forked from gxwebsoft/mp-10550
Merge remote-tracking branch 'origin/master'
# Conflicts: # src/user/order/components/OrderList.tsx # src/user/order/refund/index.tsx
This commit is contained in:
@@ -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
|
||||
}
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
@@ -277,7 +277,7 @@ const RefundPage: React.FC = () => {
|
||||
|
||||
// 调用API提交退款申请
|
||||
const result = await applyAfterSale(params)
|
||||
|
||||
|
||||
if (result.success) {
|
||||
// 更新订单状态为"客户端申请退款"
|
||||
if (orderId) {
|
||||
|
||||
Reference in New Issue
Block a user