Merge remote-tracking branch 'origin/master'

# Conflicts:
#	src/user/order/components/OrderList.tsx
#	src/user/order/refund/index.tsx
This commit is contained in:
2026-02-24 16:28:27 +08:00
2 changed files with 27 additions and 13 deletions

View File

@@ -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
}
}
}
};