@lang('report.filters')
@lang('lang_v1.all') @lang('lang_v1.incoming_orders')
| @lang('lang_v1.sales_order') | @lang('business.store') | @lang('messages.date') | @lang('sale.total') | @lang('lang_v1.fulfil_status') | {{-- Fulfilment stage is a SEPARATE axis from the invoicing status above: an order can be picked and shipped while still uninvoiced. --}}@lang('lang_v1.stage') | |
|---|---|---|---|---|---|---|
| {{ $o->invoice_no }} | {{ optional($o->contact)->name ?: optional($o->contact)->supplier_business_name }} | {{ \Carbon\Carbon::parse($o->transaction_date)->format('d-m-Y') }} | @format_currency($o->final_total) | {{ $st['label'] ?? $o->status }} | @php $stage = app(\App\Utils\SalesOrderFulfilmentUtil::class)->currentStage($o); $stage_class = [ 'received' => 'bg-gray', 'approved' => 'bg-blue', 'picked' => 'bg-yellow', 'shipped' => 'bg-purple', 'delivered' => 'bg-green', 'cancelled' => 'bg-red', ][$stage] ?? 'bg-gray'; @endphp@lang('lang_v1.so_stage_' . $stage) | {{-- The order must be walked through the stages in sequence; each button appears only at its stage. --}} @if($stage === 'received') @lang('lang_v1.approve_order') @elseif($stage === 'approved') @lang('lang_v1.pick_list') @lang('messages.edit') @elseif($stage === 'picked') @lang('lang_v1.pick_list') @elseif($stage === 'cancelled') @lang('restaurant.cancelled') @elseif(in_array($o->status, ['ordered', 'partial'])) @lang('lang_v1.bill_and_ship') @else @lang('lang_v1.completed') @endif |
| @lang('lang_v1.no_records_found') | ||||||