@extends('layouts.app') @section('title', 'Dashboard Gerencial') @section('contenido') {{-- ═══════════════════════════════════════════════════════════ --}} {{-- ENCABEZADO --}} {{-- ═══════════════════════════════════════════════════════════ --}}

Dashboard Gerencial

Actualizado al {{ now()->locale('es')->isoFormat('dddd D [de] MMMM [de] YYYY, h:mm a') }}

{{-- ═══════════════════════════════════════════════════════════ --}} {{-- BARRA DE FILTROS --}} {{-- ═══════════════════════════════════════════════════════════ --}}
{{-- Fila 1: Períodos rápidos --}}
Período: @foreach(['todo'=>'Todo','mes'=>'Este mes','trimestre'=>'Trimestre','anio'=>'Este año'] as $val => $label) {{ $label }} @endforeach {{-- Badge filtros activos --}} @if(count($filtrosActivos ?? []) > 0) ⚡ {{ count($filtrosActivos) }} filtro(s) activo(s) ✕ Limpiar filtros @endif
{{-- Fila 2: Filtros selectores --}}
{{-- Entidad --}}
{{-- Tipo proceso --}}
{{-- Asesor --}}
{{-- Estado --}}
{{-- Fecha desde --}}
{{-- Fecha hasta --}}
{{-- Preservar período si está activo --}} @if(($filtroPeriodo ?? 'todo') !== 'todo') @endif
{{-- ═══════════════════════════════════════════════════════════ --}} {{-- SECCIÓN 1 — TARJETAS DE MÉTRICAS RÁPIDAS --}} {{-- ═══════════════════════════════════════════════════════════ --}}
{{-- Activos --}}

Procesos activos

{{ $totalActivos }}

{{-- Recuperados --}}

Recuperados

{{ $totalRecuperados }}

Tasa: {{ $tasaRecuperacion }}%

{{-- Escalados este mes --}}

Escalados jur. este mes

{{ $escaladosEsteMes }}

{{-- Acuerdos activos --}}

Acuerdos activos

{{ $acuerdosActivos }}

{{-- Gestiones hoy --}}

Gestiones hoy

{{ $gestionesHoy }}

{{-- Sin gestión 7 días --}}

Sin gestión >7 días

{{ $sinGestion7dias }}

⚠ Requieren atención

{{-- Acuerdos incumplidos --}}

Acuerdos incumplidos

{{ $acuerdosIncumplidos }}

Este mes

{{-- Nuevos este mes --}}

Nuevos este mes

{{ $procesosNuevosMes }}

{{-- Tasa recuperación grande --}}

Tasa recuperación

{{ $tasaRecuperacion }}%

{{-- ═══════════════════════════════════════════════════════════ --}} {{-- SECCIÓN 2 — GRÁFICAS PRINCIPALES --}} {{-- ═══════════════════════════════════════════════════════════ --}}
{{-- Donut: Procesos por entidad --}}

Procesos por entidad

{{-- Barras: Etapas Prejurídico --}}

Etapas — Gestión Prejurídica

{{-- Barras: Etapas Jurídico --}}

Etapas — Proceso Jurídico

{{-- ═══════════════════════════════════════════════════════════ --}} {{-- SECCIÓN 3 — GRÁFICAS OPERATIVAS --}} {{-- ═══════════════════════════════════════════════════════════ --}}
{{-- Línea: Evolución mensual --}}

Evolución mensual — últimos 6 meses

{{-- Donut: Acuerdos de pago --}}

Acuerdos de pago por estado

{{-- Barras horizontales: Actividad por asesor --}}

Actividad por asesor — últimos 30 días

{{-- Donut: Canales de contacto --}}

Canales de contacto — últimos 30 días

{{-- ═══════════════════════════════════════════════════════════ --}} {{-- SECCIÓN 4 — EMBUDO + TABLA --}} {{-- ═══════════════════════════════════════════════════════════ --}}
{{-- Embudo Prejurídico → Jurídico --}}

Embudo de procesos

📋 Total prejurídicos:{{ $totalPrejudicial }}
⚖️ Total jurídicos:{{ $totalJuridico }}
✅ Recuperados prej.:{{ $recuperadosPrej }}
✅ Recuperados jur.:{{ $recuperadosJur }}
{{-- Tabla: Top 10 sin gestión reciente --}}

⚠️ Top 10 procesos sin gestión reciente

@forelse($topSinGestion as $p) @empty @endforelse
Radicado Entidad Tipo Última gestión Días sin gestión
{{ $p->radicado }} {{ $p->entidad }} @if($p->tipo === 'juridico') Jurídico @else Prejurídico @endif {{ $p->ultima_gestion }} @php $dias = $p->dias_sin_gestion; @endphp {{ $dias >= 999 ? '—' : $dias . ' días' }}
Todos los procesos tienen gestiones recientes ✅
{{-- ═══════════════════════════════════════════════════════════ --}} {{-- SCRIPTS — Chart.js --}} {{-- ═══════════════════════════════════════════════════════════ --}} {{-- scripts inline --}}
{{-- ═══════════════════════════════════════════════════════════ --}} {{-- SECCIÓN 5 — ALERTAS Y SEMÁFOROS --}} {{-- ═══════════════════════════════════════════════════════════ --}} {{-- Título sección --}}

🚦 Alertas y Semáforos

Monitoreo en tiempo real del estado de los procesos

{{-- Resumen de semáforos --}}
🔴

{{ $resumenAlertas['rojo'] }}

Fuera de tiempo

🟡

{{ $resumenAlertas['amarillo'] }}

Próximo a vencer

🟢

{{ $resumenAlertas['verde'] }}

En tiempos

{{-- Tabla 1: Procesos sin gestión --}}

📵 Semáforo — Procesos sin gestión

@forelse($alertasSinGestion as $a) @empty @endforelse
Estado Radicado Entidad Tipo Días sin gestión
@if($a->semaforo === 'rojo') 🔴 @elseif($a->semaforo === 'amarillo') 🟡 @else 🟢 @endif {{ $a->radicado }} {{ $a->entidad }} @if($a->tipo === 'JURIDICO') Jurídico @else Prejurídico @endif {{ $a->dias_sin_gestion >= 999 ? 'Sin gestiones' : $a->dias_sin_gestion . ' días' }}
✅ Todos los procesos tienen gestiones recientes
{{-- Tabla 2: Cuotas de acuerdos --}}

💰 Semáforo — Cuotas de acuerdos de pago

@forelse($alertasAcuerdos as $a) @empty @endforelse
Estado Radicado Entidad Cuota # Monto Vencimiento Días
@if($a->semaforo === 'rojo') 🔴 @elseif($a->semaforo === 'amarillo') 🟡 @else 🟢 @endif {{ $a->radicado }} {{ $a->entidad }} {{ $a->numero_cuota }} ${{ number_format($a->monto_cuota, 0, ',', '.') }} {{ \Carbon\Carbon::parse($a->fecha_vencimiento)->format('d/m/Y') }} @if($a->semaforo === 'rojo') @if($a->estado_cuota === 'VENCIDA') VENCIDA @else {{ abs($a->dias_para_vencer) }} días atrás @endif @else {{ $a->dias_para_vencer }} días @endif
✅ No hay cuotas pendientes o vencidas
{{-- Tabla 3: Procesos estancados --}}

⏸️ Semáforo — Procesos estancados en la misma etapa

@forelse($alertasEstancados as $a) @empty @endforelse
Estado Radicado Entidad Etapa actual Días en esta etapa
@if($a->semaforo === 'rojo') 🔴 @elseif($a->semaforo === 'amarillo') 🟡 @else 🟢 @endif {{ $a->radicado }} {{ $a->entidad }} {{ str_replace('_', ' ', $a->etapa ?? 'Sin etapa') }} {{ $a->dias_en_etapa }} días
✅ Todos los procesos están avanzando normalmente
@endsection