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 Taro from '@tarojs/taro'
|
||||||
import {View} from '@tarojs/components'
|
import {View} from '@tarojs/components'
|
||||||
import {ShopOrder} from "@/api/shop/shopOrder/model";
|
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 {listShopOrderGoods} from "@/api/shop/shopOrderGoods";
|
||||||
import {ShopOrderGoods} from "@/api/shop/shopOrderGoods/model";
|
import {ShopOrderGoods} from "@/api/shop/shopOrderGoods/model";
|
||||||
import dayjs from "dayjs";
|
import dayjs from "dayjs";
|
||||||
@@ -58,25 +58,39 @@ const OrderDetail = () => {
|
|||||||
const handleApplyRefund = async () => {
|
const handleApplyRefund = async () => {
|
||||||
if (order) {
|
if (order) {
|
||||||
try {
|
try {
|
||||||
// 更新订单状态为"退款申请中"
|
const confirm = await Taro.showModal({
|
||||||
await updateShopOrder({
|
title: '申请退款',
|
||||||
|
content: '确认要申请退款吗?',
|
||||||
|
confirmText: '确认',
|
||||||
|
cancelText: '取消'
|
||||||
|
})
|
||||||
|
if (!confirm?.confirm) return
|
||||||
|
|
||||||
|
Taro.showLoading({ title: '提交中...' })
|
||||||
|
|
||||||
|
// 退款相关操作使用退款接口:PUT /api/shop/shop-order/refund
|
||||||
|
await refundShopOrder({
|
||||||
orderId: order.orderId,
|
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.showToast({ title: '退款申请已提交', icon: 'success' })
|
||||||
Taro.navigateTo({
|
|
||||||
url: `/user/order/refund/index?orderId=${order.orderId}&orderNo=${order.orderNo}`
|
|
||||||
});
|
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
console.error('更新订单状态失败:', error);
|
console.error('申请退款失败:', error);
|
||||||
Taro.showToast({
|
Taro.showToast({
|
||||||
title: '操作失败,请重试',
|
title: '操作失败,请重试',
|
||||||
icon: 'none'
|
icon: 'none'
|
||||||
});
|
});
|
||||||
|
} finally {
|
||||||
|
try {
|
||||||
|
Taro.hideLoading()
|
||||||
|
} catch (_e) {
|
||||||
|
// ignore
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -277,7 +277,7 @@ const RefundPage: React.FC = () => {
|
|||||||
|
|
||||||
// 调用API提交退款申请
|
// 调用API提交退款申请
|
||||||
const result = await applyAfterSale(params)
|
const result = await applyAfterSale(params)
|
||||||
|
|
||||||
if (result.success) {
|
if (result.success) {
|
||||||
// 更新订单状态为"客户端申请退款"
|
// 更新订单状态为"客户端申请退款"
|
||||||
if (orderId) {
|
if (orderId) {
|
||||||
|
|||||||
Reference in New Issue
Block a user