@extends('layouts.app') @section('title', __('lang_v1.incoming_orders')) @section('content')

@lang('lang_v1.incoming_orders') @lang('lang_v1.incoming_orders_desc')

@lang('report.filters')

@lang('lang_v1.all') @lang('lang_v1.incoming_orders')

{{-- Fulfilment stage is a SEPARATE axis from the invoicing status above: an order can be picked and shipped while still uninvoiced. --}} @forelse($orders as $o) @php $st = $so_statuses[$o->status] ?? ['label' => $o->status, 'class' => 'bg-gray']; @endphp @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 @empty @endforelse
@lang('lang_v1.sales_order') @lang('business.store') @lang('messages.date') @lang('sale.total') @lang('lang_v1.fulfil_status')@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 }}@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')
{{ $orders->links() }}
@endsection