优化下单流程

This commit is contained in:
2025-07-30 15:40:51 +08:00
parent b626e615c6
commit 80ca721826
3 changed files with 249 additions and 26 deletions

View File

@@ -36,11 +36,16 @@ const tabs = [
},
{
index: 3,
key: '待收货',
title: '待收货'
},
{
index: 4,
key: '已收货',
title: '已收货'
},
{
index: 4,
index: 5,
key: '已完成',
title: '已完成'
}
@@ -65,34 +70,49 @@ function OrderList(props: OrderListProps) {
// 获取订单状态文本
const getOrderStatusText = (order: ShopOrder) => {
console.log(order,'order')
if (!order.payStatus) return '待付款';
if (order.payStatus && order.deliveryStatus === 10) return '待发货';
if (order.deliveryStatus === 20) return '待收货';
if (order.deliveryStatus === 30) return '已收货';
if (order.orderStatus === 1) return '已完成';
// 优先检查订单状态
if (order.orderStatus === 2) return '已取消';
if (order.orderStatus === 4) return '退款申请中';
if (order.orderStatus === 5) return '退款被拒绝';
if (order.orderStatus === 6) return '退款成功';
if (order.orderStatus === 7) return '客户端申请退款';
// 检查支付状态 (payStatus为boolean类型false/0表示未付款true/1表示已付款)
if (!order.payStatus || order.payStatus === false) return '待付款';
// 已付款后检查发货状态
if (order.deliveryStatus === 10) return '待发货';
if (order.deliveryStatus === 20) return '待收货';
if (order.deliveryStatus === 30) return '已收货';
// 最后检查订单完成状态
if (order.orderStatus === 1) return '已完成';
if (order.orderStatus === 0) return '未使用';
return '未知状态';
};
const getOrderStatusParams = (index: string | number) => {
let params: { payStatus?: number; deliveryStatus?: number; orderStatus?: number; userId?: number } = {};
let params: { payStatus?: boolean | number; deliveryStatus?: number; orderStatus?: number; userId?: number } = {};
// 添加用户ID过滤
params.userId = Taro.getStorageSync('UserId');
switch (index) {
case '1': // 待付款
params.payStatus = 0;
params.payStatus = false; // 或者 0取决于后端接口期望的类型
break;
case '2': // 待发货
params.payStatus = 1;
params.payStatus = true; // 或者 1
params.deliveryStatus = 10;
break;
case '3': // 收货
case '3': // 收货
params.deliveryStatus = 20;
break;
case '4': // 已收货
params.deliveryStatus = 30;
break;
case '4': // 已完成
case '5': // 已完成
params.orderStatus = 1;
break;
case '0': // 全部
@@ -278,18 +298,22 @@ function OrderList(props: OrderListProps) {
{/* 操作按钮 */}
<Space className={'btn flex justify-end'}>
{item.payStatus && (
{/* 待付款状态:显示取消订单和立即支付 */}
{(!item.payStatus || item.payStatus === false) && item.orderStatus !== 2 && (
<Space>
<Button size={'small'} onClick={(e) => {e.stopPropagation(); cancelOrder(item)}}></Button>
<Button size={'small'} type="primary" onClick={(e) => {e.stopPropagation(); console.log('立即支付')}}></Button>
</Space>
)}
{/* 待收货状态:显示确认收货 */}
{item.deliveryStatus === 20 && (
<Button size={'small'} type="primary" onClick={(e) => {e.stopPropagation(); confirmReceive(item)}}></Button>
)}
{/* 已完成状态:显示申请退款 */}
{item.orderStatus === 1 && (
<Button size={'small'} onClick={(e) => {e.stopPropagation(); console.log('申请退款')}}>退</Button>
)}
{/* 退款相关状态的按钮可以在这里添加 */}
</Space>
</Space>
</Cell>