import {useEffect, useState} from "react"; import {Cell, CellGroup, Image, Space, Button} from '@nutui/nutui-react-taro' import Taro from '@tarojs/taro' import {ShopOrder} from "@/api/shop/shopOrder/model"; import {getShopOrder} from "@/api/shop/shopOrder"; import {listShopOrderGoods} from "@/api/shop/shopOrderGoods"; import {ShopOrderGoods} from "@/api/shop/shopOrderGoods/model"; import dayjs from "dayjs"; import './index.scss' const OrderDetail = () => { const [order, setOrder] = useState(null); const [orderGoodsList, setOrderGoodsList] = useState([]); const router = Taro.getCurrentInstance().router; const orderId = router?.params?.orderId; const getOrderStatusText = (order: ShopOrder) => { // 优先检查订单状态 if (order.orderStatus === 2) return '已取消'; if (order.orderStatus === 3) return '取消中'; if (order.orderStatus === 4) return '退款申请中'; if (order.orderStatus === 5) return '退款被拒绝'; if (order.orderStatus === 6) return '退款成功'; if (order.orderStatus === 7) return '客户端申请退款'; // 检查支付状态 (payStatus为boolean类型) if (!order.payStatus) return '待付款'; // 已付款后检查发货状态 if (order.deliveryStatus === 10) return '待发货'; if (order.deliveryStatus === 20) return '待收货'; if (order.deliveryStatus === 30) return '已收货'; // 最后检查订单完成状态 if (order.orderStatus === 1) return '已完成'; if (order.orderStatus === 0) return '未使用'; return '未知状态'; }; const getPayTypeText = (payType?: number) => { switch (payType) { case 0: return '余额支付'; case 1: return '微信支付'; case 102: return '微信Native'; case 2: return '会员卡支付'; case 3: return '支付宝'; case 4: return '现金'; case 5: return 'POS机'; default: return '未知支付方式'; } }; useEffect(() => { if (orderId) { console.log('shop-goods',orderId) getShopOrder(Number(orderId)).then(async (res) => { setOrder(res); // 获取订单商品列表 const goodsRes = await listShopOrderGoods({ orderId: Number(orderId) }); if (goodsRes && goodsRes.length > 0) { setOrderGoodsList(goodsRes); } }).catch(error => { console.error("Failed to fetch order detail:", error); }); } }, [orderId]); if (!order) { return
加载中...
; } return (
{orderGoodsList.map((item, index) => (
{item.goodsName}
{item.spec &&
规格:{item.spec}
}
数量:{item.totalNum}
¥{item.price}
))}
{!order.payStatus && } {!order.payStatus && } {order.orderStatus === 1 && } {order.deliveryStatus === 20 && }
); }; export default OrderDetail;