This commit is contained in:
Lizandro Guarnizo
2026-02-04 16:35:34 -05:00
parent cb7bc1229b
commit f37b2fe8d0
9 changed files with 598 additions and 105 deletions
@@ -0,0 +1,175 @@
<x-filament-panels::page>
@php
$data = $this->getFlujoData();
$op = $this->record;
@endphp
<div class="space-y-6">
{{-- Información de la Orden --}}
<div class="bg-white dark:bg-gray-800 rounded-lg shadow p-6">
<h2 class="text-xl font-bold mb-4">{{ $op->numero_orden }} - {{ $op->prenda_modelo }}</h2>
<div class="grid grid-cols-2 md:grid-cols-4 gap-4">
<div>
<p class="text-sm text-gray-500 dark:text-gray-400">Total OP</p>
<p class="text-2xl font-bold">{{ $op->cantidad_total }}</p>
</div>
<div>
<p class="text-sm text-gray-500 dark:text-gray-400">Recibidas Confección</p>
<p class="text-2xl font-bold text-blue-600">{{ $data['confeccion_recibida'] }}</p>
</div>
<div>
<p class="text-sm text-gray-500 dark:text-gray-400">Disponible para Tintorería</p>
<p class="text-2xl font-bold text-green-600">{{ $data['disponible_tintoreria'] }}</p>
</div>
<div>
<p class="text-sm text-gray-500 dark:text-gray-400">Estado</p>
@if($data['verificacion']['completo'])
<p class="text-2xl font-bold text-green-600"> Completo</p>
@else
<p class="text-2xl font-bold text-yellow-600">En Proceso</p>
@endif
</div>
</div>
</div>
{{-- Proceso de Ojales --}}
<div class="bg-white dark:bg-gray-800 rounded-lg shadow p-6">
<div class="flex items-center justify-between mb-4">
<h3 class="text-lg font-bold">🔘 Proceso de Ojales</h3>
<div class="flex gap-4 text-sm">
<span class="text-green-600 font-semibold">Terminados: {{ $data['ojales']['terminados'] }}</span>
<span class="text-yellow-600 font-semibold">Pendientes: {{ $data['ojales']['pendientes'] }}</span>
<span class="text-gray-600 font-semibold">Total: {{ $data['ojales']['total'] }}</span>
</div>
</div>
@if($data['ojales']['registros']->count() > 0)
<div class="overflow-x-auto">
<table class="w-full text-sm">
<thead class="bg-gray-50 dark:bg-gray-700">
<tr>
<th class="px-4 py-2 text-left">Cantidad</th>
<th class="px-4 py-2 text-left">Proveedor</th>
<th class="px-4 py-2 text-left">Operario</th>
<th class="px-4 py-2 text-left">Fecha</th>
<th class="px-4 py-2 text-center">Estado</th>
</tr>
</thead>
<tbody class="divide-y divide-gray-200 dark:divide-gray-700">
@foreach($data['ojales']['registros'] as $ojal)
<tr>
<td class="px-4 py-2 font-semibold">{{ $ojal['cantidad'] }}</td>
<td class="px-4 py-2">{{ $ojal['proveedor'] }}</td>
<td class="px-4 py-2">{{ $ojal['operario'] }}</td>
<td class="px-4 py-2">{{ $ojal['fecha'] }}</td>
<td class="px-4 py-2 text-center">
@if($ojal['terminado'])
<span class="inline-flex items-center px-2 py-1 text-xs font-medium text-green-700 bg-green-100 rounded-full">
Terminado
</span>
@else
<span class="inline-flex items-center px-2 py-1 text-xs font-medium text-yellow-700 bg-yellow-100 rounded-full">
En Proceso
</span>
@endif
</td>
</tr>
@endforeach
</tbody>
</table>
</div>
@else
<p class="text-gray-500 text-center py-4">No hay registros de ojales</p>
@endif
</div>
{{-- Proceso de Prensillas --}}
<div class="bg-white dark:bg-gray-800 rounded-lg shadow p-6">
<div class="flex items-center justify-between mb-4">
<h3 class="text-lg font-bold">✂️ Proceso de Prensillas</h3>
<div class="flex gap-4 text-sm">
<span class="text-green-600 font-semibold">Terminadas: {{ $data['prensillas']['terminadas'] }}</span>
<span class="text-yellow-600 font-semibold">Pendientes: {{ $data['prensillas']['pendientes'] }}</span>
<span class="text-gray-600 font-semibold">Total: {{ $data['prensillas']['total'] }}</span>
</div>
</div>
@if($data['prensillas']['registros']->count() > 0)
<div class="overflow-x-auto">
<table class="w-full text-sm">
<thead class="bg-gray-50 dark:bg-gray-700">
<tr>
<th class="px-4 py-2 text-left">Cantidad</th>
<th class="px-4 py-2 text-left">Proveedor</th>
<th class="px-4 py-2 text-left">Operario</th>
<th class="px-4 py-2 text-left">Fecha</th>
<th class="px-4 py-2 text-center">Estado</th>
</tr>
</thead>
<tbody class="divide-y divide-gray-200 dark:divide-gray-700">
@foreach($data['prensillas']['registros'] as $prensilla)
<tr>
<td class="px-4 py-2 font-semibold">{{ $prensilla['cantidad'] }}</td>
<td class="px-4 py-2">{{ $prensilla['proveedor'] }}</td>
<td class="px-4 py-2">{{ $prensilla['operario'] }}</td>
<td class="px-4 py-2">{{ $prensilla['fecha'] }}</td>
<td class="px-4 py-2 text-center">
@if($prensilla['terminado'])
<span class="inline-flex items-center px-2 py-1 text-xs font-medium text-green-700 bg-green-100 rounded-full">
Terminado
</span>
@else
<span class="inline-flex items-center px-2 py-1 text-xs font-medium text-yellow-700 bg-yellow-100 rounded-full">
En Proceso
</span>
@endif
</td>
</tr>
@endforeach
</tbody>
</table>
</div>
@else
<p class="text-gray-500 text-center py-4">No hay registros de prensillas</p>
@endif
</div>
{{-- Resumen de Verificación --}}
<div class="bg-blue-50 dark:bg-blue-900/20 rounded-lg p-6">
<h3 class="text-lg font-bold mb-4">📊 Estado del Flujo</h3>
<div class="grid grid-cols-1 md:grid-cols-2 gap-4">
<div>
<p class="text-sm text-gray-600 dark:text-gray-400 mb-2">Flujo Secuencial:</p>
<div class="flex items-center gap-2 text-sm">
<span class="px-3 py-1 bg-blue-100 text-blue-800 rounded font-medium">Confección</span>
<span></span>
<span class="px-3 py-1 {{ $data['ojales']['terminados'] > 0 ? 'bg-green-100 text-green-800' : 'bg-gray-100 text-gray-800' }} rounded font-medium">
Ojales {{ $data['ojales']['terminados'] > 0 ? '✓' : '' }}
</span>
<span></span>
<span class="px-3 py-1 {{ $data['prensillas']['terminadas'] > 0 ? 'bg-green-100 text-green-800' : 'bg-gray-100 text-gray-800' }} rounded font-medium">
Prensillas {{ $data['prensillas']['terminadas'] > 0 ? '✓' : '' }}
</span>
<span></span>
<span class="px-3 py-1 {{ $data['disponible_tintoreria'] > 0 ? 'bg-green-100 text-green-800' : 'bg-gray-100 text-gray-800' }} rounded font-medium">
Tintorería {{ $data['disponible_tintoreria'] > 0 ? '✓' : '' }}
</span>
</div>
</div>
<div>
<p class="text-sm text-gray-600 dark:text-gray-400 mb-2">Mensajes:</p>
@if($data['verificacion']['faltante_ojales'] > 0)
<p class="text-sm text-yellow-600">⚠️ Faltan {{ $data['verificacion']['faltante_ojales'] }} prendas por terminar en Ojales</p>
@endif
@if($data['verificacion']['faltante_prensillas'] > 0)
<p class="text-sm text-yellow-600">⚠️ Faltan {{ $data['verificacion']['faltante_prensillas'] }} prendas por terminar en Prensillas</p>
@endif
@if($data['verificacion']['completo'])
<p class="text-sm text-green-600"> Ambos procesos completados. {{ $data['disponible_tintoreria'] }} prendas listas para Tintorería</p>
@endif
</div>
</div>
</div>
</div>
</x-filament-panels::page>