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 {listOrderGoods} from "@/api/system/orderGoods"; import {OrderGoods} from "@/api/system/orderGoods/model"; import {getShopGoods} from "@/api/shop/shopGoods"; import dayjs from "dayjs"; import './index.scss' interface OrderGoodsDetail extends OrderGoods { goodsName?: string; goodsImage?: string; } const OrderDetail = () => { const [order, setOrder] = useState(null); const [orderGoodsList, setOrderGoodsList] = useState([]); const router = Taro.getCurrentInstance().router; const orderId = router?.params?.orderId; const getOrderStatusText = (orderStatus?: number, payStatus?: number) => { if (payStatus === 0) return '待付款'; switch (orderStatus) { case 0: return '未使用'; case 1: return '已完成'; case 2: return '已取消'; case 3: return '取消中'; case 4: return '退款申请中'; case 5: return '退款被拒绝'; case 6: return '退款成功'; case 7: return '客户端申请退款'; default: 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 listOrderGoods({ orderId: Number(orderId) }); if (goodsRes && goodsRes.length > 0) { const goodsDetailsPromises = goodsRes.map(async (item) => { console.log(item,'item.>>>') const shopGoods = await getShopGoods(Number(item.goodsId)); return { ...item, goodsName: shopGoods?.name, goodsImage: shopGoods?.image, }; }); const detailedGoodsList = await Promise.all(goodsDetailsPromises); setOrderGoodsList(detailedGoodsList); } }).catch(error => { console.error("Failed to fetch order detail:", error); }); } }, [orderId]); if (!order) { return
加载中...
; } return (
{orderGoodsList.map((item, index) => (
{item.goodsName}
数量:{item.totalNum}
¥{item.payPrice}
))}
{order.payStatus === 0 && } {order.payStatus === 0 && } {order.orderStatus === 1 && } {order.deliveryStatus === 20 && }
); }; export default OrderDetail;