diff --git a/src/pages/orders/order-detail/OrderDetailPage.tsx b/src/pages/orders/order-detail/OrderDetailPage.tsx index 149c47d..97f0603 100644 --- a/src/pages/orders/order-detail/OrderDetailPage.tsx +++ b/src/pages/orders/order-detail/OrderDetailPage.tsx @@ -94,8 +94,8 @@ const OrderDetailPage = () => { const { mutate: updateStatus, isPending: isUpdating } = useUpdateOrderStatus(); const { data: shippingMethods = [] } = useShippingMethods(); const order = data?.order; - - const shippingMethod = order?.shipping_method_id + + const shippingMethod = order?.shipping_method_id ? shippingMethods.find(method => method.id === order.shipping_method_id) : null; const handleStatusUpdate = () => { @@ -182,8 +182,8 @@ const OrderDetailPage = () => {
{order.user.avatar ? ( - {`${order.user.first_name} @@ -308,249 +308,249 @@ const OrderDetailPage = () => {
- {/* اطلاعات سفارش */} -
-
-
-
-
- -
- اطلاعات سفارش + {/* اطلاعات سفارش */} +
+
+
+
+
+
- - {getStatusText(order?.status || 'pending')} - + اطلاعات سفارش
+ + {getStatusText(order?.status || 'pending')} +
-
-
-
-

شماره سفارش

-

#{order?.order_number || 'نامشخص'}

-
-
-

تاریخ ثبت

-

{order?.created_at ? formatDate(order.created_at) : 'نامشخص'}

-
-
-

شناسه فاکتور

-

{order?.invoice_id || 'نامشخص'}

-
-
-

شناسه کاربر

-

{order?.user_id || 'نامشخص'}

-
-
-

تاریخ آخرین بروزرسانی

-

{order?.updated_at ? formatDate(order.updated_at) : 'نامشخص'}

-
- {/* روش حمل و نقل در داده‌های فعلی وجود ندارد */} - {order?.tracking_number && ( -
-

کد رهگیری

-

{order.tracking_number}

-
- )} - {order?.estimated_delivery && ( -
-

تاریخ تحویل تخمینی

-

{formatDate(order.estimated_delivery)}

-
- )} - {order?.shipping_method_id !== undefined && order?.shipping_method_id !== null && ( -
-

متد ارسال

-

- {shippingMethod - ? shippingMethod.name - : shippingMethods.length === 0 - ? `شناسه: ${order.shipping_method_id} (در حال بارگذاری...)` - : `شناسه: ${order.shipping_method_id}` - } -

-
- )} - {order?.selected_delivery_slot && ( -
-

زمان تحویل انتخاب شده

-

- {typeof order.selected_delivery_slot === 'object' - ? `${order.selected_delivery_slot.date || ''} ${order.selected_delivery_slot.from_hour || ''}:${order.selected_delivery_slot.to_hour || ''}` - : String(order.selected_delivery_slot) - } -

-
- )} +
+
+
+
+

شماره سفارش

+

#{order?.order_number || 'نامشخص'}

- {order?.notes && ( -
-

یادداشت

-

- {order.notes} +

+

تاریخ ثبت

+

{order?.created_at ? formatDate(order.created_at) : 'نامشخص'}

+
+
+

شناسه فاکتور

+

{order?.invoice_id || 'نامشخص'}

+
+
+

شناسه کاربر

+

{order?.user_id || 'نامشخص'}

+
+
+

تاریخ آخرین بروزرسانی

+

{order?.updated_at ? formatDate(order.updated_at) : 'نامشخص'}

+
+ {/* روش حمل و نقل در داده‌های فعلی وجود ندارد */} + {order?.tracking_number && ( +
+

کد رهگیری

+

{order.tracking_number}

+
+ )} + {order?.estimated_delivery && ( +
+

تاریخ تحویل تخمینی

+

{formatDate(order.estimated_delivery)}

+
+ )} + {order?.shipping_method_id !== undefined && order?.shipping_method_id !== null && ( +
+

متد ارسال

+

+ {shippingMethod + ? shippingMethod.name + : shippingMethods.length === 0 + ? `شناسه: ${order.shipping_method_id} (در حال بارگذاری...)` + : `شناسه: ${order.shipping_method_id}` + } +

+
+ )} + {order?.selected_delivery_slot && ( +
+

زمان تحویل انتخاب شده

+

+ {typeof order.selected_delivery_slot === 'object' + ? `${order.selected_delivery_slot.date || ''} ${order.selected_delivery_slot.from_hour || ''}:${order.selected_delivery_slot.to_hour || ''}` + : String(order.selected_delivery_slot) + }

)}
-
- - {/* آیتم‌های سفارش */} -
-
-
-
- -
- محصولات سفارش + {order?.notes && ( +
+

یادداشت

+

+ {order.notes} +

+ )} +
+
+ + {/* آیتم‌های سفارش */} +
+
+
+
+ +
+ محصولات سفارش
-
- {order?.items && order.items.length > 0 ? ( -
- {order.items.map((item) => { - const baseWeight = (item.weight ?? 0) as number; - const weightGr = Math.round(baseWeight * 1000); - const formatFa = (n: number) => new Intl.NumberFormat('fa-IR').format(n); - const imageUrl = item.image_url || item.product_image; - return ( -
-
-
-
- {imageUrl && ( -
- {item.product_name { - const target = e.target as HTMLImageElement; - target.style.display = 'none'; - }} - /> -
- )} +
+
+ {order?.items && order.items.length > 0 ? ( +
+ {order.items.map((item) => { + const baseWeight = (item.weight ?? 0) as number; + const weightGr = Math.round(baseWeight * 1000); + const formatFa = (n: number) => new Intl.NumberFormat('fa-IR').format(n); + const imageUrl = item.image_url || item.product_image; + return ( +
+
+
+
+ {imageUrl && ( +
+ {item.product_name { + const target = e.target as HTMLImageElement; + target.style.display = 'none'; + }} + /> +
+ )}
{item.product_name || `محصول شناسه: ${item.product_id}`}
{item.product_variant_name || `واریانت شناسه: ${item.product_variant_id}`} -
-
-
جمع
-
{formatCurrency(item.total_price || 0)}
-
-
-
-
تعداد
-
{formatFa(item.quantity || 0)}
-
-
-
وزن (گرم)
-
{formatFa(weightGr)}
-
-
-
-
قیمت واحد
-
{formatCurrency(item.unit_price || 0)}
-
+
+
جمع
+
{formatCurrency(item.total_price || 0)}
+
+
+
+
+
تعداد
+
{formatFa(item.quantity || 0)}
+
+
+
وزن (گرم)
+
{formatFa(weightGr)}
+
+
+
+
قیمت واحد
+
{formatCurrency(item.unit_price || 0)}
- ); - })} -
- ) : ( -

- محصولی در این سفارش یافت نشد -

- )} +
+ ); + })} +
+ ) : ( +

+ محصولی در این سفارش یافت نشد +

+ )} +
+
+ + {/* اطلاعات پرداخت */} +
+
+
+
+ +
+ پرداخت
- - {/* اطلاعات پرداخت */} -
-
-
-
- -
- پرداخت -
+
+
+ جمع اقلام + {formatCurrency(order?.net_total || 0)}
-
+
+ مالیات + {formatCurrency(order?.vat_total || 0)} +
+ {order?.base_gold_price !== undefined && (
- جمع اقلام - {formatCurrency(order?.net_total || 0)} + قیمت پایه طلا + {formatCurrency(order.base_gold_price)}
-
- مالیات - {formatCurrency(order?.vat_total || 0)} -
- {order?.base_gold_price !== undefined && ( -
- قیمت پایه طلا - {formatCurrency(order.base_gold_price)} -
- )} -
- هزینه ارسال - {formatCurrency(order?.shipping_total || 0)} -
- {(order?.discount_total || 0) > 0 && ( -
- تخفیف کل - -{formatCurrency(order?.discount_total || 0)} -
- )} -
-
- مجموع نهایی - {formatCurrency(order?.final_total || 0)} + )} +
+ هزینه ارسال + {formatCurrency(order?.shipping_total || 0)} +
+ {(order?.discount_total || 0) > 0 && ( +
+ تخفیف کل + -{formatCurrency(order?.discount_total || 0)}
+ )} +
+
+ مجموع نهایی + {formatCurrency(order?.final_total || 0)} +
-
-
+
+
+
+ وضعیت پرداخت + + {order?.payment_status === 'paid' ? 'پرداخت شده' : 'در انتظار پرداخت'} + +
+ {Array.isArray((data as any)?.payments) && (data as any)?.payments.length > 0 && (
- وضعیت پرداخت - - {order?.payment_status === 'paid' ? 'پرداخت شده' : 'در انتظار پرداخت'} - + روش پرداخت + {formatPaymentType((data as any).payments[0].payment_type)}
- {Array.isArray((data as any)?.payments) && (data as any)?.payments.length > 0 && ( -
- روش پرداخت - {formatPaymentType((data as any).payments[0].payment_type)} -
- )} - {order?.invoice_id && ( -
- شماره فاکتور - {order.invoice_id} -
- )} - {Array.isArray((data as any)?.payments) && (data as any)?.payments[0]?.transaction_id && ( -
- شناسه تراکنش - {(data as any).payments[0].transaction_id} -
- )} - {Array.isArray((data as any)?.payments) && (data as any)?.payments[0]?.image_urls?.length > 0 && ( -
- رسید پرداخت - - رسید پرداخت - -
- )} + )} + {order?.invoice_id && ( +
+ شماره فاکتور + {order.invoice_id} +
+ )} + {Array.isArray((data as any)?.payments) && (data as any)?.payments[0]?.transaction_id && ( +
+ شناسه تراکنش + {(data as any).payments[0].transaction_id} +
+ )} + {Array.isArray((data as any)?.payments) && (data as any)?.payments[0]?.image_urls?.length > 0 && ( +
+ رسید پرداخت + + رسید پرداخت + +
+ )}