fix(order): 统一线下付款已发货未付款状态显示
- 用户端订单卡的已发货待收款状态调整,线下付款且未付款状态显示红色标识 - 用户端订单详情新增该状态的红色展示和提示信息 - 门店端订单列表状态文案和颜色同步更新,保持与用户端一致 - 门店端订单操作按钮逻辑调整,未付款已发货订单显示“确认完成”按钮 - 解决线下付款先发货后付款订单的状态显示和按钮操作不一致问题
This commit is contained in:
@@ -111,3 +111,20 @@
|
||||
- `src/components/common/OrderCard/index.tsx`:`getCardStatus` 把 `deliveryStatus===20/30` 判断提前到 `!payStatus` 之前
|
||||
- `src/pages/order/detail.tsx`:`getOrderDisplayStatus` 和 `getOrderPhase` 两个函数都做同样调整,物流状态优先于付款状态
|
||||
- **影响范围**:仅影响"未付款但已发货"的异常场景,正常流程不受影响
|
||||
|
||||
### 状态描述对齐:已发货待收款(payType=9 + deliveryStatus=20 + 未付款)
|
||||
- **需求**:线下付款(payType=9)已发货但未确认收款的订单,用户端应与门店端一致显示"已发货待收款"(红色),而非"待收货"(蓝色)
|
||||
- **修改文件**:
|
||||
- `src/components/common/OrderCard/index.tsx`:`getCardStatus` 在 `deliveryStatus===20` 之前加 `!payStatus && payType===9 && deliveryStatus===20` → "已发货待收款"(红色)
|
||||
- `src/pages/order/detail.tsx`:`getOrderDisplayStatus` 在物流状态判断前加 `isOffline && !payStatus && (deliveryStatus===20||30)` → "已发货待收款"(红色,subtitle: 商品已发货,请尽快转账付款)
|
||||
- `src/pages/store/orders/index.tsx`:`getStatusText` 恢复 `payType===9 && deliveryStatus===20` → "已发货待收款";`getStatusColor` 对应红色
|
||||
- **最终统一**:三端状态文案完全对齐
|
||||
| 场景 | 用户端列表 | 用户端详情 | 门店端 |
|
||||
|------|-----------|-----------|--------|
|
||||
| 线下付款+已发货+未付款 | 已发货待收款(红) | 已发货待收款(红) | 已发货待收款(红) |
|
||||
| 其他已发货 | 待收货(蓝) | 待收货(蓝) | 待收货(蓝) |
|
||||
|
||||
### 门店端:未付款已发货也显示"确认完成"按钮
|
||||
- **问题**:线下付款先发货后结款的订单(未付款+已发货),门店端只有"确认收款"按钮,缺少"确认完成"按钮来上传送达照片
|
||||
- **修改**:`getOrderActions` 中"确认完成"按钮的条件从 `order.payStatus`(已付款)改为 `order.deliveryStatus >= 20`(已发货)
|
||||
- **效果**:线下付款+未付款+已发货的订单,同时显示"确认收款"和"确认完成"两个按钮
|
||||
|
||||
Reference in New Issue
Block a user