@extends('layouts.app') @section('content')

Total Solicitudes

{{ $totalRequests ?? 0 }}

Sistema completo

Pendientes

{{ $pendingRequests ?? 0 }}

Requieren atención

En Proceso

{{ $inProgressRequests ?? 0 }}

En progreso activo

Finalizadas

{{ $completedRequests ?? 0 }}

{{ $totalRequests > 0 ? round(($completedRequests / $totalRequests) * 100) : 0 }}% completadas

Solicitudes Recientes

@forelse($recentRequests ?? [] as $request)

#{{ $request->id }} - {{ $request->title }}

{{ $request->requesterUser->name ?? 'N/A' }} - {{ $request->requesterUser->department->name ?? 'Sin departamento' }}

@php $statusColors = [ 'pending' => 'bg-primary/20 text-secondary border border-secondary', 'in_management' => 'bg-info/20 text-secondary border border-info', 'in_review' => 'bg-purple-100 text-secondary border border-purple-400', 'completed' => 'bg-success/20 text-secondary border border-success', 'in_internal_iteration' => 'bg-warning/20 text-secondary border border-warning', 'in_external_iteration' => 'bg-danger/20 text-secondary border border-danger', ]; $statusColor = $statusColors[$request->status->code ?? 'pending'] ?? 'bg-gray-100 text-secondary border border-gray-400'; @endphp {{ $request->status->name ?? 'Sin estado' }}
@empty
No hay solicitudes recientes
@endforelse

Próximas Entregas

@forelse($upcomingDeliveries ?? [] as $delivery)

#{{ $delivery->id }} - {{ $delivery->title }}

{{ Str::limit($delivery->description, 50) }}

@php $daysUntil = now()->diffInDays($delivery->desired_date, false); $colorClass = $daysUntil <= 3 ? 'text-danger' : ($daysUntil <= 7 ? 'text-warning' : 'text-success'); @endphp

@if($daysUntil < 0) Vencida @elseif($daysUntil == 0) Hoy @elseif($daysUntil == 1) Mañana @else En {{ $daysUntil }} días @endif

{{ $delivery->desired_date->format('d M Y') }}

@empty
No hay entregas próximas
@endforelse

Resumen por Estado

@php $percentPending = $totalRequests > 0 ? round(($pendingRequests / $totalRequests) * 100, 1) : 0; $percentInProgress = $totalRequests > 0 ? round(($inProgressRequests / $totalRequests) * 100, 1) : 0; $percentCompleted = $totalRequests > 0 ? round(($completedRequests / $totalRequests) * 100, 1) : 0; @endphp
Pendientes {{ $pendingRequests }} ({{ $percentPending }}%)
En Proceso {{ $inProgressRequests }} ({{ $percentInProgress }}%)
Finalizadas {{ $completedRequests }} ({{ $percentCompleted }}%)

Histórico de Estados por Mes

Histórico por Tipo de Solicitud

Comportamiento Semanal por Área

Detalle Mensual

@forelse($detalleMensual ?? [] as $mes) @php $eficiencia = $mes['total_solicitudes'] > 0 ? round(($mes['solicitudes_cerradas'] / $mes['total_solicitudes']) * 100, 1) : 0; $eficienciaColor = $eficiencia >= 70 ? 'bg-success/20 text-success border border-success' : ($eficiencia >= 50 ? 'bg-warning/20 text-warning border border-warning' : 'bg-danger/20 text-danger border border-danger'); @endphp @empty @endforelse
Mes Total Pendientes En Proceso Cerradas % Eficiencia
{{ $mes['mes'] }} {{ $mes['total_solicitudes'] }} {{ $mes['sin_asignar'] }} {{ $mes['solicitudes_abiertas'] }} {{ $mes['solicitudes_cerradas'] }} {{ $eficiencia }}%
No hay datos disponibles

Acciones Rápidas

@endsection