@extends('layouts.app-layout') @php use App\Enums\AccionEstadoEnum; use App\Enums\PlanAccionEstadoEnum; $estadoEnum = $plan->estado instanceof PlanAccionEstadoEnum ? $plan->estado : PlanAccionEstadoEnum::tryFrom($plan->estado); $estadoClass = $estadoEnum?->badgeClass() ?? 'bg-secondary-subtle text-secondary'; @endphp @section('title', 'Plan de acción - ' . config('app.name')) @section('navbar_suffix', 'Plan de acción') @section('content') @php $puedeGestionarPlan = $puedeGestionarPlan ?? (bool) auth()->user()?->funcionario; $accionesPlan = $plan->acciones; $planEliminado = method_exists($plan, 'trashed') && $plan->trashed(); $accionesPendientes = $accionesPlan ->filter(fn($a) => ($a->estado?->value ?? $a->estado) === 'pendiente') ->count(); $accionesEnProceso = $accionesPlan ->filter(fn($a) => ($a->estado?->value ?? $a->estado) === 'en_proceso') ->count(); $accionesFinalizadas = $accionesPlan ->filter(fn($a) => ($a->estado?->value ?? $a->estado) === 'finalizada') ->count(); $fechaCreacion = optional($plan->fecha_creacion)->format('d/m/Y H:i') ?? $plan->created_at?->format('d/m/Y H:i'); @endphp

Plan de acción

{{ $plan->titulo }}

@if ($planEliminado)
Plan eliminado (solo lectura)
@endif
@if ($puedeGestionarPlan && !$planEliminado) @elseif($puedeGestionarPlan)
@csrf @method('PATCH')
@endif
@if (session('success'))
{{ session('success') }}
@endif

Estado

{{ $estadoEnum?->label() ?? '—' }}

Unidad

{{ $plan->unidadAtencion->nombre_comercial ?? '—' }}

Creado

{{ $fechaCreacion ?? '—' }}

Vencimiento

{{ $plan->fecha_vencimiento?->format('d/m/Y H:i') ?? 'Sin vencimiento' }}

Acciones

{{ $accionesPlan->count() }}

Pendientes

{{ $accionesPendientes }}

En proceso

{{ $accionesEnProceso }}

Finalizadas

{{ $accionesFinalizadas }}

@if ($plan->descripcion)

Descripción

{{ $plan->descripcion }}

@endif

Acciones del plan

Acciones vinculadas y responsables asignados.

@if ($puedeGestionarPlan && !$planEliminado) @endif
@forelse($accionesPlan as $accion) @php $estadoAccionEnum = $accion->estado instanceof AccionEstadoEnum ? $accion->estado : AccionEstadoEnum::tryFrom((string) $accion->estado); $accionClass = match ($estadoAccionEnum) { AccionEstadoEnum::PENDIENTE => 'bg-warning-subtle text-warning-emphasis', AccionEstadoEnum::EN_PROCESO => 'bg-primary-subtle text-primary', AccionEstadoEnum::FINALIZADA => 'bg-success-subtle text-success', default => 'bg-secondary-subtle text-secondary', }; $estadoAccionLabel = $estadoAccionEnum?->label() ?? ucfirst((string) $accion->estado); @endphp

{{ $accion->detalle_accion }}

{{ $estadoAccionLabel }} @if ($accion->fecha_vencimiento) Vencimiento: {{ \Illuminate\Support\Carbon::parse($accion->fecha_vencimiento)->format('d/m/Y') }} @endif
@if ($accion->descripcion)

{{ $accion->descripcion }}

@endif
Responsables: @forelse($accion->responsables as $responsable) {{ $responsable->user->nombre ?? '' }} {{ $responsable->user->apellido ?? '' }} @empty Sin responsables @endforelse
@if ($puedeGestionarPlan) @endif @if ($puedeGestionarPlan && !$planEliminado) @endif
@if ($puedeGestionarPlan && !$planEliminado) @endif @empty
Este plan aún no tiene acciones asociadas.
@endforelse
{{-- Modal de confirmación de eliminación --}} @if ($puedeGestionarPlan) @endif @endsection @push('scripts') @endpush