{{-- Header --}}
{{-- Left Column: Info & Stats --}}
{{-- Current Production --}}

Producción Actual

@if($assignment)
Partida: {{ $assignment->partida_id }}
Operario: {{ $assignment->operario ?? 'No asignado' }}
Inicio: {{ \Carbon\Carbon::parse($assignment->fecha_inicio)->format('d M Y') }}
{{-- Beam Info --}}
Plegador {{ $beam->id ?? '' }} @php $beamRem = $beam?->available_meters ?? 0; $beamOrig = $beam?->longitud_m ?? 0; $pct = $beamOrig > 0 ? round((($beamOrig - $beamRem) / $beamOrig) * 100) : 0; @endphp {{ number_format($beamRem,0) }} m restantes
{{ $pct }}% Consumido
@else
Sin asignación activa.
@endif
{{-- KPIs --}}
🚀 92% Eficiencia
📉 4% Merma
{{-- Right Column: Charts & History --}}
{{-- Production Chart --}}

Curva de Producción

Mañana Tarde Noche
{{-- Stacked CSS Chart --}} @foreach($chartData['labels'] as $index => $label) @php $m = $chartData['shifts']['M'][$index] ?? 0; $t = $chartData['shifts']['T'][$index] ?? 0; $n = $chartData['shifts']['N'][$index] ?? 0; $total = $m + $t + $n; $mPct = ($m / $chartData['max_total']) * 100; $tPct = ($t / $chartData['max_total']) * 100; $nPct = ($n / $chartData['max_total']) * 100; $totalHeight = $mPct + $tPct + $nPct; @endphp
Total: {{ number_format($total, 0) }}m
M: {{ $m }} | T: {{ $t }} | N: {{ $n }}
{{ $label }}
@endforeach
{{-- Recent Rolls --}}

Rollos Producidos (Historial)

Ver todos
@forelse($loom->claves as $clave) {{-- Mocking QA status --}} @php $qaStatus = ['aprove' => 'bg-green-100 text-green-700', 'reject' => 'bg-red-100 text-red-700', 'pending' => 'bg-gray-100 text-gray-600'][array_rand(['aprove'=>1, 'reject'=>1, 'pending'=>1])]; $finalStatus = ['aprove' => 'bg-green-100 text-green-700', 'reject' => 'bg-red-100 text-red-700', 'pending' => 'bg-gray-100 text-gray-600'][array_rand(['aprove'=>1, 'reject'=>1, 'pending'=>1])]; @endphp @empty @endforelse
Clave Fecha Metros QC Greige QC Final
✂️ {{ $clave->clave_id }} {{ \Carbon\Carbon::parse($clave->fecha)->format('d M Y') }} {{ number_format($clave->mts_telar, 0) }}m {{ str_contains($qaStatus, 'green') ? '✓ Aprobado' : (str_contains($qaStatus, 'red') ? '✗ Rechazo' : 'Pendiente') }} {{ str_contains($finalStatus, 'green') ? '✓ Aprobado' : (str_contains($finalStatus, 'red') ? '✗ Rechazo' : 'Pendiente') }}
No hay cortes registrados recientemente.
{{-- Recent Incidents --}}

Fallas y Tiempos Muertos

@forelse($loom->incidents as $inc)
{{ $inc->tipo }} {{ $inc->descripcion }}
{{ \Carbon\Carbon::parse($inc->fecha_inicio)->format('d M Y H:i') }}
{{ number_format($inc->delay_horas_real ?? $inc->delay_horas, 1) }}h
Perdidas
@empty
No hay fallas registradas recientemente.
@endforelse