@extends('layouts.dashboard') @section('content')
@if(session('success'))
✅ {{ session('success') }}
@endif @if(session('error'))
⚠️ {{ session('error') }}
@endif @if($errors->any())
⚠️
@foreach($errors->all() as $error)
{{ $error }}
@endforeach
@endif @php $statusClass = match($order->status) { 'draft' => 'badge-neutral', 'quoted' => 'badge-secondary', 'confirmed' => 'badge-info', 'delivered' => 'badge-success', 'cancelled' => 'badge-error', default => 'badge-ghost', }; @endphp
← Back to Orders

{{ $order->order_number }}

{{ ucfirst($order->status) }}

Created {{ $order->created_at?->format('d M Y, h:i A') }}

@if(in_array($order->status, ['draft', 'quoted'], true))
@csrf
@endif @if($order->status === 'confirmed')
@csrf
@endif

🛍 Order Items

@foreach($order->items as $item) @endforeach @if((float) $order->discount_total > 0) @endif
Product SKU / Barcode Price Qty Total Stock
{{ $item->name_snapshot }}
{{ $item->sku_snapshot }}
{{ $item->barcode_snapshot ?: 'No barcode' }}
{{ strtoupper(str_replace('_', ' ', $item->fulfillment_source ?: 'van')) }} {{ strtoupper($item->fulfillment_status ?: 'ready') }}
AED {{ number_format((float) $item->unit_price, 2) }} {{ number_format((float) $item->qty, 2) }} AED {{ number_format((float) $item->line_total, 2) }} @if($item->stock_movement_id) Deducted @elseif(in_array($order->status, ['draft', 'quoted'], true)) Pending @else Not deducted @endif
Subtotal AED {{ number_format((float) $order->subtotal, 2) }}
{{ $order->invoice_type === 'cash' ? 'Cash Discount' : 'Discount' }} − AED {{ number_format((float) $order->discount_total, 2) }}
Grand Total AED {{ number_format((float) $order->grand_total, 2) }}
@if($order->stockMovements->isNotEmpty())

🚚 Van Stock Movements

Append-only record of deductions and reversals.

@foreach($order->stockMovements as $movement) @endforeach
Type Product Before Change After Date
{{ ucfirst($movement->movement_type) }} {{ $movement->orderItem?->sku_snapshot ?: 'Product #'.$movement->product_id }} {{ number_format((float) $movement->qty_before, 2) }} {{ (float) $movement->qty_change > 0 ? '+' : '' }} {{ number_format((float) $movement->qty_change, 2) }} {{ number_format((float) $movement->qty_after, 2) }} {{ $movement->created_at?->format('d M Y, h:i A') }}
@endif

👤 Customer

Customer / Shop
{{ $order->customer_name_snapshot ?: 'Unnamed customer' }}
Phone
{{ $order->customer_phone_snapshot ?: 'Not provided' }}
@if($order->customer)
Customer Record
{{ $order->customer->customer_code }}
@endif

📋 Order Information

Salesman
{{ $order->salesman?->name ?: 'Unknown' }}
Catalog
{{ $order->catalog?->title ?: 'Catalog #'.$order->catalog_id }}
Stock Deducted
{{ $order->stock_deducted_at?->format('d M Y, h:i A') ?: 'No' }}
@if($order->confirmed_at)
Confirmed
{{ $order->confirmed_at->format('d M Y, h:i A') }}
@endif @if($order->delivered_at)
Delivered
{{ $order->delivered_at->format('d M Y, h:i A') }}
@endif @if($order->cancelled_at)
Cancelled
{{ $order->cancelled_at->format('d M Y, h:i A') }}
@endif
@if($order->notes)

📝 Notes

{{ $order->notes }}
@endif @if(!in_array($order->status, ['cancelled', 'delivered'], true))

Cancel Order

Cancelling a confirmed order returns its deducted quantities to the van.

@csrf
@endif
@endsection