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

View File

@@ -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) {