diff --git a/src/shop/orderDetail/index.tsx b/src/shop/orderDetail/index.tsx index 5fd937c..96e2128 100644 --- a/src/shop/orderDetail/index.tsx +++ b/src/shop/orderDetail/index.tsx @@ -3,7 +3,7 @@ import {Cell, CellGroup, Image, Space, Button, Dialog} from '@nutui/nutui-react- import Taro from '@tarojs/taro' import {View} from '@tarojs/components' import {ShopOrder} from "@/api/shop/shopOrder/model"; -import {getShopOrder, updateShopOrder} from "@/api/shop/shopOrder"; +import {getShopOrder, updateShopOrder, refundShopOrder} from "@/api/shop/shopOrder"; import {listShopOrderGoods} from "@/api/shop/shopOrderGoods"; import {ShopOrderGoods} from "@/api/shop/shopOrderGoods/model"; import dayjs from "dayjs"; @@ -58,25 +58,39 @@ const OrderDetail = () => { const handleApplyRefund = async () => { if (order) { try { - // 更新订单状态为"退款申请中" - await updateShopOrder({ + const confirm = await Taro.showModal({ + title: '申请退款', + content: '确认要申请退款吗?', + confirmText: '确认', + cancelText: '取消' + }) + if (!confirm?.confirm) return + + Taro.showLoading({ title: '提交中...' }) + + // 退款相关操作使用退款接口:PUT /api/shop/shop-order/refund + await refundShopOrder({ orderId: order.orderId, - orderStatus: 4 // 退款申请中 - }); + refundMoney: order.payPrice || order.totalPrice, + orderStatus: 7 + }) - // 更新本地状态 - setOrder(prev => prev ? {...prev, orderStatus: 4} : null); + // 乐观更新本地状态 + setOrder(prev => prev ? { ...prev, orderStatus: 7 } : null) - // 跳转到退款申请页面 - Taro.navigateTo({ - url: `/user/order/refund/index?orderId=${order.orderId}&orderNo=${order.orderNo}` - }); + Taro.showToast({ title: '退款申请已提交', icon: 'success' }) } catch (error) { - console.error('更新订单状态失败:', error); + console.error('申请退款失败:', error); Taro.showToast({ title: '操作失败,请重试', icon: 'none' }); + } finally { + try { + Taro.hideLoading() + } catch (_e) { + // ignore + } } } }; diff --git a/src/user/order/refund/index.tsx b/src/user/order/refund/index.tsx index 67403e7..221b817 100644 --- a/src/user/order/refund/index.tsx +++ b/src/user/order/refund/index.tsx @@ -277,7 +277,7 @@ const RefundPage: React.FC = () => { // 调用API提交退款申请 const result = await applyAfterSale(params) - + if (result.success) { // 更新订单状态为"客户端申请退款" if (orderId) {