feat(order): 拆分“确认完成”为“送达”和“确认完成”按钮

- 新增送达操作,已发货且无送达照片时显示,可上传送达凭证
- 确认完成操作仅限已付款订单,标记为已完成,不需上传凭证
- 取消deliveryStatus=30表示已送达的用法,避免混淆“部分发货”状态
- 统一按钮显示逻辑,支持线下付款场景下同时显示确认收款/送达按钮
- 调整订单状态文案,新增“已送达待收款”与“待确认完成”状态描述
- 优化订单列表及详情中付款和物流状态的判断,去除对deliveryStatus=30的依赖
- 确认证据上传界面调整,确认完成操作不再显示上传凭证区域
This commit is contained in:
2026-07-17 16:27:09 +08:00
parent 184763a15c
commit 69862bfc0c
4 changed files with 57 additions and 45 deletions

View File

@@ -124,7 +124,16 @@
| 线下付款+已发货+未付款 | 已发货待收款(红) | 已发货待收款(红) | 已发货待收款(红) |
| 其他已发货 | 待收货(蓝) | 待收货(蓝) | 待收货(蓝) |
### 门店端:未付款已发货也显示"确认完成"按钮
- **问题**:线下付款先发货后结款的订单(未付款+已发货),门店端只有"确认收款"按钮,缺少"确认完成"按钮来上传送达照片
- **修改**`getOrderActions` 中"确认完成"按钮的条件从 `order.payStatus`(已付款)改为 `order.deliveryStatus >= 20`(已发货)
- **效果**:线下付款+未付款+已发货的订单,同时显示"确认收款"和"确认完成"两个按钮
### 门店端:拆分"确认完成"为"送达"和"确认完成"两个操作
- **新增操作类型** `deliver`送达deliveryStatus=20已发货且无 sendEndImg 时显示,上传送达照片后按钮自动隐藏(用 sendEndImg 判断,不改变 deliveryStatus
- **修改** `complete`(确认完成):仅已付款才可操作,只标记 orderStatus=1已完成不需要上传凭证
- ⚠️ `deliveryStatus=30` 是"部分发货"含义,不能用来表示"已送达",所有相关判断已清除
- **按钮显示逻辑**
| 场景 | 送达 | 确认完成 | 确认收款 |
|------|:---:|:---:|:---:|
| 线下付款+未付款+已发货(无送达照片) | ✅ | ❌ | ✅ |
| 线下付款+未付款+已发货(有送达照片) | ❌ | ❌ | ✅ |
| 已付款+已发货(无送达照片) | ✅ | ✅ | ❌ |
| 已付款+已发货(有送达照片) | ❌ | ✅ | ❌ |
- **deliveryStatus 含义**10=待发货, 20=已发货, 30=已送达/已收货
- **状态文案**deliveryStatus=30 + 未付款 → "已送达待收款"deliveryStatus=30 + 已付款 → "待确认完成"