@extends('admin.layouts.app') @section('panel') @php $adminStatuses = [ 'pending' => 'Pending', 'processing' => 'Processing', 'shipped' => 'Shipped', 'completed' => 'Completed', 'cancelled' => 'Cancelled', ]; $normalizeStatus = function ($status) { if ($status === 'payment_pending') { return 'pending'; } if ($status === 'payment_failed') { return 'cancelled'; } return in_array($status, ['pending','processing','shipped','completed','cancelled'], true) ? $status : 'pending'; }; $hiddenMiniValues = [ '', 'none', 'null', 'n/a', 'na', '-', '--', '0', 'false', 'no', 'not_settled', 'not settled', 'not-settled', ]; $cleanMiniValue = function ($value) use ($hiddenMiniValues) { $value = strtolower(trim((string)($value ?? ''))); return in_array($value, $hiddenMiniValues, true) ? null : $value; }; $settlementLabels = [ 'recovered' => [ 'text' => 'Recovered', 'class' => 'settled', ], 'refunded' => [ 'text' => 'Refunded', 'class' => 'settled', ], 'waived' => [ 'text' => 'Waived', 'class' => 'settled', ], 'pending_due' => [ 'text' => 'Pending Due', 'class' => 'warn', ], 'refund_required' => [ 'text' => 'Refund Required', 'class' => 'danger', ], ]; $extractTrackingUrl = function ($order) { $url = $order->courier_tracking_url ?: $order->public_tracking_url; $courierResponse = $order->courier_response ?? []; $steadfastResponse = $order->steadfast_response ?? []; if (is_string($courierResponse)) { $courierResponse = json_decode($courierResponse, true) ?: []; } if (is_string($steadfastResponse)) { $steadfastResponse = json_decode($steadfastResponse, true) ?: []; } if (!is_array($courierResponse)) { $courierResponse = []; } if (!is_array($steadfastResponse)) { $steadfastResponse = []; } if (!$url) { $url = data_get($courierResponse, 'tracking_link') ?: data_get($courierResponse, 'tracking_url') ?: data_get($courierResponse, 'public_tracking_url') ?: data_get($courierResponse, 'consignment.tracking_link') ?: data_get($courierResponse, 'consignment.tracking_url') ?: data_get($courierResponse, 'consignment.public_tracking_url') ?: data_get($courierResponse, 'data.tracking_link') ?: data_get($courierResponse, 'data.tracking_url') ?: data_get($courierResponse, 'data.public_tracking_url') ?: data_get($courierResponse, 'data.consignment.tracking_link') ?: data_get($courierResponse, 'data.consignment.tracking_url') ?: data_get($steadfastResponse, 'tracking_link') ?: data_get($steadfastResponse, 'tracking_url') ?: data_get($steadfastResponse, 'public_tracking_url') ?: data_get($steadfastResponse, 'consignment.tracking_link') ?: data_get($steadfastResponse, 'consignment.tracking_url') ?: data_get($steadfastResponse, 'consignment.public_tracking_url') ?: data_get($steadfastResponse, 'last_status_response.tracking_link') ?: data_get($steadfastResponse, 'last_status_response.tracking_url') ?: data_get($steadfastResponse, 'last_status_response.public_tracking_url'); } $url = trim((string)($url ?? '')); if ($url && !\Illuminate\Support\Str::startsWith($url, ['http://', 'https://'])) { if (\Illuminate\Support\Str::startsWith($url, '/')) { $url = 'https://steadfast.com.bd' . $url; } elseif (($order->courier_driver ?: (!empty($order->steadfast_tracking_code) ? 'steadfast' : null)) === 'steadfast') { $url = 'https://steadfast.com.bd/tl/' . $url; } } return $url; }; @endphp
অর্ডার লিস্ট
মোট: {{ $orders->total() ?? 0 }} টি
@forelse($orders as $order) @php $safeStatus = $normalizeStatus($order->status); $statusClass = 'st-' . $safeStatus; $statusText = $adminStatuses[$safeStatus] ?? ucwords(str_replace('_',' ', $safeStatus)); $firstItem = $order->items->first(); $productImage = $firstItem && $firstItem->product_image ? $firstItem->product_image : asset('images/default-product.png'); $productName = $firstItem->product_name ?? 'প্রোডাক্ট পাওয়া যায়নি'; $productCode = $firstItem->product_code ?? null; $extraItems = max(0, $order->items->count() - 1); $activeTrackingUrl = $extractTrackingUrl($order); $returnMiniClass = null; $returnMiniText = null; $courierReturnStatus = $cleanMiniValue($order->courier_return_status ?? null); $settlementStatus = $cleanMiniValue($order->delivery_charge_settlement_status ?? null); if ($courierReturnStatus === 'customer_fault') { $returnMiniClass = 'customer'; $returnMiniText = 'Customer Fault'; } elseif ($courierReturnStatus === 'admin_fault') { $returnMiniClass = 'admin'; $returnMiniText = 'Admin Fault'; } elseif ($settlementStatus && isset($settlementLabels[$settlementStatus])) { $returnMiniClass = $settlementLabels[$settlementStatus]['class']; $returnMiniText = $settlementLabels[$settlementStatus]['text']; } @endphp @empty @endforelse
অর্ডার প্রোডাক্ট কাস্টমার টাকা স্ট্যাটাস অ্যাকশন
{{ $order->order_no }}
{{ $order->created_at ? $order->created_at->format('d M Y h:i A') : '-' }}
{{ $productName }}
{{ $productName }}
@if($productCode)
{{ $productCode }}
@endif @if($extraItems > 0) +{{ $extraItems }} আরো @endif
{{ $order->customer_name }}
{{ $order->phone }}
{{ $order->buyer_type == 'reseller' ? 'Reseller' : 'Customer' }}
মোট ৳{{ number_format($order->total_amount,0) }}
অগ্রিম ৳{{ number_format($order->advance_amount,0) }}
COD ৳{{ number_format($order->cod_amount,0) }}
{{ ucfirst($order->advance_payment_status ?? 'unpaid') }}
{{ $statusText }} @if($activeTrackingUrl) Track @endif @if($returnMiniText) {{ $returnMiniText }} @endif
কোনো অর্ডার পাওয়া যায়নি
অর্ডার লোড হচ্ছে...
আর কোনো অর্ডার নেই
@endsection @push('script') @endpush