{{-- Control de operaciones de exportación (expo/pedidos). Gemela de importaciones.ordenes-compra. Layout nuevo con el kit ui-ctc: indicadores por status, búsqueda con filtros y etiquetas, y la lista con cabecera fija, paginada, con los semáforos de cut off y el detalle de cada DO (reserva de contenedores, SAE y unidades de carga). --}} @php // Color de cada status (el mismo que antes tenía cada uno), para la barra del indicador y la etiqueta. $hexColor = ['orange' => '#f97316', 'green' => '#22c55e', 'blue' => '#3b82f6', 'yellow' => '#eab308', 'cyan' => '#06b6d4', 'purple' => '#a855f7', 'gray' => '#94a3b8']; $coloresEtapa = [ 'ORDEN ABIERTA SIN BOOKING' => $hexColor['orange'], 'BOOKING CONFIRMADO' => $hexColor['green'], 'CUT OFF DOCUMENTAL CUMPLIDO' => $hexColor['blue'], 'INGRESO A PUERTO' => $hexColor['yellow'], 'CUT OFF FISICO' => $hexColor['cyan'], 'RADICADO ANTE PUERTO Y NAVIERA' => $hexColor['cyan'], 'ZARPADO' => $hexColor['purple'], 'DEX' => $hexColor['gray'], ]; // Semáforo de cut off (App\Http\Clases\ValidarCutoff): verde ≥ 3 días, amarillo 1–3, rojo ≤ 1. $luz = ['green' => 'exito', 'yellow' => 'aviso', 'red' => 'peligro']; $formatoFecha = fn ($f) => $f ? implode('/', array_reverse(explode('-', $f))) : ''; $chips = []; if ($search) { $chips['search'] = ['Búsqueda', $search]; } if ($codigoProceso) { $chips['codigoProceso'] = ['Proceso', $procesos[$codigoProceso] ?? $codigoProceso]; } if ($codigoSucursal) { $chips['codigoSucursal'] = ['Sucursal', $sucursales[$codigoSucursal] ?? $codigoSucursal]; } if ($status) { $chips['status'] = ['Status', $status]; } if ($txtImportador) { $chips['txtImportador'] = ['Importador', $txtImportador]; } if (($fechaAperturaInicial && $fechaAperturaInicial != $aperturaDesde) || ($fechaAperturaFinal && $fechaAperturaFinal != date('Y-m-d'))) { $chips['fechas'] = ['Apertura', $formatoFecha($fechaAperturaInicial) . ' – ' . $formatoFecha($fechaAperturaFinal)]; } $vacio = '—'; $columnas = 18; @endphp
Histórico Descargar Generando… {{-- Indicadores por status: clic filtra la lista (otro clic quita el filtro) --}} @if (count($dashboard))
@foreach ($dashboard as $db) @endforeach
@endif @foreach ($procesos as $valor => $nombre)@endforeach @foreach ($sucursales as $valor => $nombre)@endforeach @foreach ($lstStatus as $valor => $nombre)@endforeach
@if (count($chips)) @foreach ($chips as $campo => [$etiqueta, $valor]) @endforeach @endif

Operaciones en curso {{ number_format($totalPedidos, 0, ',', '.') }}

3 días o más 1 a 3 días 1 día o menos Consultando…
@forelse ($pedidos as $ped) @php $do = (string) $ped->NUMERO_DO; $doJs = \Illuminate\Support\Js::from($do)->toHtml(); @endphp @foreach ([['CUT_OFF_DOCUMENTAL', 'colorLuzDoc', 'textoDoc', 'diferenciaDoc'], ['CUT_OFF_FISICO', 'colorLuz', 'texto', 'diferencia']] as [$campo, $color, $texto, $diferencia]) @endforeach @empty @endforelse
Detalle Acciones # DO Booking Pedido Cliente Suc. oper. Pto salida Ingreso mercancía Fecha zarpe Firma DEX Proceso Importador Modalidad Status
@if ($dinamicos) @endif
{{ $do }} @if ($ped->BOOKING){{ $ped->BOOKING }}@else{!! $vacio !!}@endif {{ $ped->NUMERO_PEDIDO }} {{ $ped->CLIENTE }} {!! $ped->ARRIBO_MOTONAVE ? e($ped->ARRIBO_MOTONAVE) : $vacio !!} @if ($ped->SUCURSAL){{ $ped->SUCURSAL }}@else{!! $vacio !!}@endif {{ $ped->SUCURSAL_OP }} @if ($ped->$campo) {{ $ped->$campo }}

{{ $ped->$texto }} {{ $ped->$diferencia }}

@else {!! $vacio !!} @endif
{!! $ped->INGRESO_MERCANCIA ? e($ped->INGRESO_MERCANCIA) : $vacio !!} {!! $ped->FECHA_ZARPE ? e($ped->FECHA_ZARPE) : $vacio !!} {!! $ped->FIRMA_DEX ? e($ped->FIRMA_DEX) : $vacio !!} {{ $ped->PROCESO }} {{ $ped->IMPORTADOR }} {{ $ped->MODALIDAD }} @if ($ped->ETAPA){{ $ped->ETAPA }}@endif
@include('livewire.exportaciones.partials.detalle-pedido', ['ped' => $ped])

No hay operaciones con estos filtros.

@if ($pedidos->hasPages())
{{ $pedidos->links('vendor.pagination.ctc-livewire') }}
@endif