@extends('admin.master') @section('content') @php $statusColors = [ 'incomplete' => ['#eef2ff', '#5b5be7'], 'new_order' => ['#eff6ff', '#2563eb'], 'confirmed' => ['#ecfdf5', '#059669'], 'ready_to_delivery' => ['#ecfeff', '#0891b2'], 'in_courier' => ['#f3e8ff', '#7c3aed'], 'cancelled' => ['#fff1f2', '#dc2626'], 'hold' => ['#eff6ff', '#2563eb'], 'ship_later' => ['#ecfdf5', '#0f9f6e'], 'paid' => ['#f7fee7', '#65a30d'], 'return' => ['#fffbeb', '#d97706'], 'lost' => ['#f1f5f9', '#475569'], 'fake' => ['#fff1f2', '#be123c'], 'deleted' => ['#f1f5f9', '#475569'], ]; $statusCases = \App\Enums\OrderStatus::cases(); $tabLabels = [ 'incomplete' => 'Incomplete', 'new_order' => 'New Orders', 'confirmed' => 'Confirmed', 'ready_to_delivery' => 'Ready To Delivery', 'in_courier' => 'In-Courier', 'cancelled' => 'Cancelled', 'hold' => 'Hold', 'ship_later' => 'Ship Later', 'paid' => 'Paid', 'return' => 'Return', 'lost' => 'Lost', 'fake' => 'Fake', 'deleted' => 'Delete', ]; $mainStatusCases = collect($statusCases) ->reject(fn ($case) => $case->value === 'incomplete') ->values(); $selectedDateLabel = 'LifeTime'; if (request('date_from') && request('date_to')) { $selectedDateLabel = request('date_from').' - '.request('date_to'); } elseif (request('date_from')) { $selectedDateLabel = 'From '.request('date_from'); } elseif (request('date_to')) { $selectedDateLabel = 'Until '.request('date_to'); } $currentPage = $orders->currentPage(); $lastPage = max(1, $orders->lastPage()); @endphp
Selected Date: {{ $selectedDateLabel }} Dates Are Shown In Asia/Dhaka
0 selected
@foreach($orders as $order) @php $statusValue = $order->status instanceof \BackedEnum ? $order->status->value : (string) ($order->status ?? 'new_order'); $sourceValue = $order->source instanceof \BackedEnum ? $order->source->value : (string) ($order->source ?? 'website'); $landingSource = $sourceValue === 'landing_page' || filled($order->landing_page_id ?? null) || data_get($order->metadata, 'source') === 'landing_page' || filled(data_get($order->metadata, 'landing_page_id')); $sourceLabel = $landingSource ? 'Landing' : ucfirst(str_replace('_', ' ', $sourceValue)); $color = $statusColors[$statusValue] ?? ['#f1f5f9', '#475569']; $rate = (float) ($order->success_rate ?? 0); $rateColor = $rate >= 80 ? '#16c76f' : ($rate >= 40 ? '#f59e0b' : '#ef4444'); $shipment = $order->latestCourierShipment; $canSendCourier = method_exists($order, 'canSendToCourier') && $order->canSendToCourier(); $phoneDigits = preg_replace('/\D+/', '', (string) $order->customer_phone); $whatsappPhone = ''; if ($phoneDigits !== '') { if (str_starts_with($phoneDigits, '880')) { $whatsappPhone = $phoneDigits; } elseif (str_starts_with($phoneDigits, '0')) { $whatsappPhone = '88'.$phoneDigits; } else { $whatsappPhone = '880'.$phoneDigits; } } @endphp @endforeach @if($orders->isEmpty()) @endif
Order Customer Product Amount Status Courier Notes Employee Actions
{{ $order->order_number ?: 'ORDER-'.$order->id }}
{{ $order->placed_at?->format('d M y · h:i A') ?? $order->created_at?->format('d M y · h:i A') ?? 'Not placed' }}
{{ $sourceLabel }}
♙ {{ $order->customer_name ?: 'Unknown Customer' }}
{{ $order->customer_phone ?: 'No phone' }} {{ number_format($rate, 0) }}% @if($whatsappPhone !== '') @endif
@if(filled($order->customer_phone)) ☎ Default Call @endif
⌖ {{ $order->address ?: 'Address unavailable' }}
@foreach($order->items->take(3) as $item) @php $itemImage = $item->image; if ($itemImage && !str_starts_with($itemImage, 'http://') && !str_starts_with($itemImage, 'https://') && !str_starts_with($itemImage, '//')) { if (str_starts_with($itemImage, 'storage/')) { $itemImage = asset($itemImage); } else { $itemImage = ltrim($itemImage, '/'); if (str_starts_with($itemImage, 'public/')) { $itemImage = substr($itemImage, 7); } $itemImage = \Illuminate\Support\Facades\Storage::disk('public')->url($itemImage); } } $itemImage = $itemImage ?: asset('images/product-placeholder.png'); @endphp {{ $item->product_name ?: 'Product' }} @endforeach @if((int) $order->items_count > 3) +{{ (int) $order->items_count - 3 }} @endif @if((int) $order->items_count === 0) No product @endif
Tk {{ number_format((float) $order->total_amount, 2) }}
Paid {{ number_format((float) $order->paid_amount, 2) }}
Due {{ number_format((float) $order->due_amount, 2) }}
{{ strtoupper($order->payment_method === 'cash_on_delivery' ? 'COD' : str_replace('_', ' ', (string) ($order->payment_method ?: 'N/A'))) }}
@if($shipment)
#{{ $shipment->consignment_id ?: $shipment->tracking_code ?: $shipment->id }}
@endif @if(!$shipment && $canSendCourier) @endif @if(!$shipment && !$canSendCourier) @endif
{{ $order->office_note ?: ($order->notes->first()?->note ?? '') }}
{{ strtoupper(substr($order->assignee?->name ?? 'U', 0, 1)) }} {{ $order->assignee?->name ?? 'Unassigned' }} @if($statusValue === 'deleted') @endif @if($statusValue !== 'deleted')
@endif
No orders found.
ROWS {{ $orders->firstItem() ?? 0 }} – {{ $orders->lastItem() ?? 0 }} of {{ $orders->total() }} @if ($lastPage <= 7) @for ($page = 1; $page <= $lastPage; $page++) {{ $page }} @endfor @else 1 @if ($currentPage > 3) @endif @for ($page = max(2, $currentPage - 1); $page <= min($lastPage - 1, $currentPage + 1); $page++) {{ $page }} @endfor @if ($currentPage < $lastPage - 2) @endif {{ $lastPage }} @endif

Product Information

Order Status Note

Notes

Order Logs

Updated By Status Change Total Order Price Previous Payable New Payable Time Message

Create Order

▧ Customer & Payment Information

Customer Information

Customer Address Information

Payment Methods & Others

▧ Product Information & Pricing

Products Information

Total Pricing Calculation

SubtotalTk 0
Delivery Cost
Extra Charge
Additional Discount
TotalTk 0
Due PriceTk 0

Available Products

Courier Details

Loading...

Send Order to Courier

@endsection