@extends('layouts.app') @section('content') @php $user = auth()->user(); // ✅ Hanya Developer / Finishing yang boleh klik "Selesai" $canFinish = false; if ($user) { $canFinish = (method_exists($user, 'isDeveloper') && $user->isDeveloper()) || (method_exists($user, 'hasRole') && $user->hasRole('Finishing')) || (method_exists($user, 'isFinishing') && $user->isFinishing()); } @endphp @if(session('success'))
{{ session('success') }}
@endif @if(session('error'))
{{ session('error') }}
@endif
{{-- Main Info --}}

{{ $order->invoice_number }}

{{ $order->getProductionStatusLabel() }}
{{-- Order Items - Detailed --}}

Detail Item ({{ $order->items->count() }} item)

@foreach($order->items as $item)

File

{{ $item->file_name }}

{{ $item->getProductionStatusLabel() }}

Produk

{{ $item->product_name }}

Bahan

{{ $item->material_name ?? '-' }}

Ukuran

{{ $item->size_description }}

Sisi

@if(($item->sisi ?? 1) == 2) 2 SISI @else

1 sisi

@endif

Qty

{{ $item->qty }} pcs

@if($item->finishing_note)

CATATAN FINISHING

{{ $item->finishing_note }}

@endif {{-- Per-item action buttons --}}
@if($item->canStartItemProduction()) @endif @if($item->canMoveItemToFinishing()) @endif {{-- ✅ COMPLETE (PER ITEM) - hanya Finishing/Developer --}} @if($item->canMarkItemComplete()) @if($canFinish) @else @endif @endif @if($item->canRevertItemToPending()) @endif @if($item->canRevertItemToProsesCetak()) @endif @if($item->isSelesai()) Selesai {{ $item->item_finished_at?->format('H:i') }} @endif
@endforeach

Data Pelanggan

Nama
{{ $order->customer_name }}
@if($order->customer_phone)
Telepon
{{ $order->customer_phone }}
@endif

Info Order

Tanggal Order
{{ $order->created_at->format('d M Y H:i') }}
Designer
{{ $order->designer->name ?? '-' }}
Tanggal Bayar
{{ $order->paid_at?->format('d M Y H:i') ?? '-' }}
{{-- Sidebar --}}
{{-- Info akses --}} @if(!$canFinish)
Akses “Selesai” dibatasi
Untuk menjaga validasi finishing, tombol Selesai hanya dapat diproses oleh Tim Finishing (atau Developer).
@endif {{-- Item Progress Summary --}} @php $summary = $order->getItemStatusSummary(); @endphp @if($summary['total'] > 0)

Progress Item

@if($summary['selesai'] > 0)
@endif @if($summary['finishing'] > 0)
@endif @if($summary['proses_cetak'] > 0)
@endif

{{ $summary['selesai'] }}/{{ $summary['total'] }} selesai

Antrian {{ $summary['pending'] }}
Proses Cetak {{ $summary['proses_cetak'] }}
Finishing {{ $summary['finishing'] }}
Selesai {{ $summary['selesai'] }}
@endif {{-- Production Actions (Order-level) --}}

Update Status Order

@if($order->canStartProduction()) @endif @if($order->canMoveToFinishing()) @endif {{-- ✅ COMPLETE (ORDER) - hanya Finishing/Developer --}} @if($order->canMarkComplete()) @if($canFinish) @else @endif @endif {{-- Revert Actions --}} @if($order->canRevertToPending())

Kembalikan Status:

@endif @if($order->canRevertToProsesCetak())

Kembalikan Status:

@endif @if($order->isSelesai())

Order Selesai

{{ $order->finished_at?->format('d M Y H:i') }}

@endif Kembali ke Daftar
{{-- Timeline --}}

Riwayat

Order Dibuat

{{ $order->created_at->format('d M Y H:i') }}

@if($order->isPaid())

Pembayaran

{{ $order->paid_at?->format('d M Y H:i') }}

@endif @if($order->spk_printed)

SPK Dicetak

{{ $order->spk_printed_at?->format('d M Y H:i') }}

@endif @if($order->started_at)

Produksi Dimulai

{{ $order->started_at->format('d M Y H:i') }}

oleh {{ $order->operator->name ?? '-' }}

@endif @if($order->isFinishing() || $order->isSelesai())

Finishing

@endif @if($order->finished_at)

Selesai

{{ $order->finished_at->format('d M Y H:i') }}

@endif
{{-- Confirmation Modal --}} {{-- Deny Modal --}}
@endsection @push('scripts') @endpush