111 lines
6.9 KiB
PHP
111 lines
6.9 KiB
PHP
<?php
|
|
$pageTitle = 'پیگیری آنلاین سفارش';
|
|
require __DIR__ . '/../layout/header.php';
|
|
require __DIR__ . '/../layout/navbar.php';
|
|
?>
|
|
|
|
<div class="max-w-4xl mx-auto px-4 sm:px-6 py-12">
|
|
<div class="text-center max-w-xl mx-auto mb-8">
|
|
<div class="w-14 h-14 rounded-2xl bg-amber-50 text-amber-600 flex items-center justify-center text-2xl mx-auto mb-3 shadow-sm">
|
|
<i class="fas fa-magnifying-glass-location"></i>
|
|
</div>
|
|
<h1 class="text-2xl sm:text-3xl font-extrabold text-stone-900">پیگیری وضعیت سفارش</h1>
|
|
<p class="text-xs sm:text-sm text-stone-500 mt-1">کد رهگیری دریافت شده پس از ثبت سفارش را در کادر زیر وارد نمایید.</p>
|
|
</div>
|
|
|
|
<!-- Search Box -->
|
|
<div class="bg-white rounded-2xl border border-stone-200 p-6 sm:p-8 shadow-sm mb-8">
|
|
<form action="/track" method="POST" class="flex flex-col sm:flex-row gap-3">
|
|
<input type="text" name="order_code" value="<?= htmlspecialchars($_POST['order_code'] ?? ($_GET['code'] ?? '')) ?>" required placeholder="مثال: BLD-A1B2C3" class="flex-1 bg-stone-50 border border-stone-300 rounded-xl px-4 py-3 text-sm font-mono tracking-wider focus:ring-2 focus:ring-amber-500 focus:outline-none uppercase">
|
|
<button type="submit" class="py-3 px-8 rounded-xl bg-amber-500 hover:bg-amber-600 text-stone-950 font-extrabold text-sm transition shadow-sm">
|
|
استعلام وضعیت
|
|
</button>
|
|
</form>
|
|
</div>
|
|
|
|
<?php if ($searched): ?>
|
|
<?php if ($order): ?>
|
|
<div class="bg-white rounded-3xl border border-stone-200 p-6 sm:p-8 shadow-sm space-y-6">
|
|
<!-- Status Timeline -->
|
|
<?php
|
|
$statusMap = [
|
|
'pending' => ['label' => 'در انتظار بررسی و تایید مالی', 'step' => 1, 'color' => 'amber'],
|
|
'confirmed' => ['label' => 'سفارش تایید شد', 'step' => 2, 'color' => 'sky'],
|
|
'packing' => ['label' => 'در حال بستهبندی و آمادهسازی در مزرعه', 'step' => 3, 'color' => 'indigo'],
|
|
'shipped' => ['label' => 'تحویل باربری / ارسال شد', 'step' => 4, 'color' => 'emerald'],
|
|
'delivered' => ['label' => 'تحویل داده شده', 'step' => 5, 'color' => 'emerald'],
|
|
'cancelled' => ['label' => 'سفارش لغو شد', 'step' => 0, 'color' => 'rose']
|
|
];
|
|
$currentStatus = $statusMap[$order['status']] ?? ['label' => $order['status'], 'step' => 1, 'color' => 'amber'];
|
|
?>
|
|
|
|
<div class="flex flex-col sm:flex-row sm:items-center justify-between pb-4 border-b gap-2">
|
|
<div>
|
|
<span class="text-xs text-stone-400">شماره سفارش:</span>
|
|
<span class="text-lg font-black text-stone-900 block"><?= htmlspecialchars($order['order_code']) ?></span>
|
|
</div>
|
|
<div class="text-left">
|
|
<span class="text-xs text-stone-400 block">وضعیت فعلی:</span>
|
|
<span class="inline-block mt-0.5 px-3 py-1 rounded-full text-xs font-extrabold bg-<?= $currentStatus['color'] ?>-100 text-<?= $currentStatus['color'] ?>-800">
|
|
<?= $currentStatus['label'] ?>
|
|
</span>
|
|
</div>
|
|
</div>
|
|
|
|
<!-- Order Details Grid -->
|
|
<div class="grid grid-cols-1 sm:grid-cols-2 md:grid-cols-3 gap-4 text-xs bg-stone-50 p-4 rounded-2xl border border-stone-100">
|
|
<div>
|
|
<span class="text-stone-400 block">نام تحویلگیرنده:</span>
|
|
<span class="font-bold text-stone-800 mt-0.5 block"><?= htmlspecialchars($order['customer_name']) ?></span>
|
|
</div>
|
|
<div>
|
|
<span class="text-stone-400 block">شماره تماس:</span>
|
|
<span class="font-bold text-stone-800 mt-0.5 block"><?= htmlspecialchars($order['customer_phone']) ?></span>
|
|
</div>
|
|
<div>
|
|
<span class="text-stone-400 block">تاریخ ثبت:</span>
|
|
<span class="font-bold text-stone-800 mt-0.5 block"><?= \Bildirchin\Helpers::getJalaliDate($order['created_at']) ?></span>
|
|
</div>
|
|
<div>
|
|
<span class="text-stone-400 block">روش ارسال:</span>
|
|
<span class="font-bold text-stone-800 mt-0.5 block"><?= htmlspecialchars($order['shipping_method']) ?></span>
|
|
</div>
|
|
<div>
|
|
<span class="text-stone-400 block">نحوه تسویه:</span>
|
|
<span class="font-bold text-stone-800 mt-0.5 block"><?= htmlspecialchars($order['payment_method']) ?></span>
|
|
</div>
|
|
<div>
|
|
<span class="text-stone-400 block">مبلغ کل فاکتور:</span>
|
|
<span class="font-black text-amber-900 mt-0.5 block text-sm"><?= \Bildirchin\Helpers::formatPrice($order['final_amount']) ?></span>
|
|
</div>
|
|
</div>
|
|
|
|
<!-- Order Items -->
|
|
<div>
|
|
<h4 class="font-bold text-xs text-stone-700 mb-2">اقلام سفارش داده شده:</h4>
|
|
<div class="border border-stone-200 rounded-xl overflow-hidden divide-y text-xs">
|
|
<?php foreach ($order['items'] as $item): ?>
|
|
<div class="p-3 flex justify-between items-center">
|
|
<div>
|
|
<span class="font-bold text-stone-800"><?= htmlspecialchars($item['product_name']) ?></span>
|
|
<span class="text-stone-400 mr-2">(تعداد: <?= \Bildirchin\Helpers::toPersianDigits($item['quantity']) ?>)</span>
|
|
</div>
|
|
<span class="font-bold text-stone-900"><?= \Bildirchin\Helpers::formatPrice($item['total_price']) ?></span>
|
|
</div>
|
|
<?php endforeach; ?>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<?php else: ?>
|
|
<div class="bg-rose-50 border border-rose-200 text-rose-800 p-6 rounded-2xl text-center text-sm">
|
|
<i class="fas fa-circle-xmark text-2xl text-rose-500 mb-2 block"></i>
|
|
سفارشی با این کد رهگیری در سامانه مزرعه ثبت نشده است. لطفاً از صحت کد وارد شده اطمینان حاصل فرمایید.
|
|
</div>
|
|
<?php endif; ?>
|
|
<?php endif; ?>
|
|
</div>
|
|
|
|
<?php
|
|
require __DIR__ . '/../layout/footer.php';
|
|
?>
|