@extends('layouts.app') @section('page_title', 'Orders') @section('page_subtitle', 'Search, import, and manage every order') @section('page_actions') Create Order @endsection @push('head') @endpush @section('content') {{-- ── Filter card ─────────────────────────────────── --}}
{{-- Search --}} {{-- Project Name (replaces Project ID) --}} {{-- Printing Status --}} {{-- Shipment Status --}} {{-- Action Buttons --}}
Reset
{{-- Active filter pills --}} @if(request('search') || request('project_name') || request('printing_status') || request('shipment_status'))
@if(request('search')) Search: {{ request('search') }} @endif @if(request('project_name')) Project: {{ request('project_name') }} @endif @if(request('printing_status')) Printing: {{ str_replace('_',' ',request('printing_status')) }} @endif @if(request('shipment_status')) Shipment: {{ request('shipment_status') === 'not_booked' ? 'Pending' : str_replace('_',' ',request('shipment_status')) }} @endif
@endif
{{-- Export Report Modal --}}

Export Orders Report

Select filters below to export order details in CSV format.

@csrf
{{-- Bulk Import CSV Modal --}}

Bulk Import CSV

Select a project and upload a CSV file with the required order columns (order_number, customer_name, length, width, height, weight).

@csrf
Sample CSV
{{-- ── Order List ───────────────────────────────────── --}}

Order List

{{ $orders->total() }} records found

{{-- Bulk action form wraps the table --}}
@csrf
@forelse ($orders as $order) @php $pkgCls = match($order->shipment_status) { 'packed' => 'badge-success', 'shipped' => 'badge-info', 'ready_for_packing' => 'badge-warning', 'not_booked' => 'badge-warning', 'booked' => 'badge-info', 'manifested' => 'badge-success', 'in_transit' => 'badge-info', 'delivered' => 'badge-success', 'RTO' => 'badge-danger', 'cancelled' => 'badge-danger', default => 'badge-warning', }; @endphp @empty @endforelse
Order Customer Address Printing Status Shipping Status Dimensions & Weight Total
{{ $order->order_number }}
{{ optional($order->project)->name ?? '—' }}
{{ $order->customer_name }}
{{ $order->customer_phone ?: 'No phone' }}
{{ $order->extracted_city }}
{{ $order->extracted_pincode }}
@if($order->printing_status === 'printed') Printed @elseif($order->printing_status === 'generated') Generated @else Not Printed @endif @if ($order->shipment_status === 'cancelled')
CANCELLED
@elseif ($order->awb_number && $order->latest_shipment_log) @php $statusColor = match($order->shipment_status) { 'packed', 'manifested', 'delivered' => '#10B981', 'shipped', 'booked', 'in_transit' => '#3B82F6', 'ready_for_packing', 'not_booked' => '#F59E0B', 'RTO', 'cancelled' => '#EF4444', default => '#6B7280' }; @endphp
{{ str_replace('_', ' ', $order->shipment_status) }}
{{ $order->latest_shipment_log->courier_name }}
{{ $order->awb_number }}
@else
@endif
@php $isBooked = !empty($order->awb_number) && $order->shipment_status !== 'cancelled'; @endphp
{{-- Weight on top row --}}
{{-- L, W, H on bottom row --}}
₹{{ number_format((float) $order->amount, 2) }}
No orders found. Try adjusting your filters.
{{-- Hidden standalone delete form (outside bulk-form to avoid nesting) --}} {{-- Hidden standalone cancel booking form --}} {{-- Hidden standalone manifest form --}} {{-- Hidden label-sheet form (opens in new tab) --}} {{-- Hidden form for inline status update --}} {{-- Hidden form for inline shipment status update --}}
{{ $orders->links() }}
{{-- ── Bulk action sticky bar ───────────────────────── --}} {{-- ── Create Shipment Modal (Full Screen Page) ───────────────── --}}
{{-- Modal Header --}}
Create Shipment
{{-- Modal Body --}}
{{-- Loading --}}
Loading order details...
{{-- Section 1: Items --}} {{-- Section 2: Package Details --}} {{-- Section 3: Rate Comparison --}}
{{-- Modal Footer --}}

Shipment Booked Successfully

#—

AWB number generated and tracking record created.

AWB / Tracking Number
Courier Partner
Recipient & Package Breakdown
Customer:
Phone:
Delivery Address:
Weight:
Dimensions:
Shipping Charge:
Track Shipment
@endsection @push('scripts') @endpush