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

@@ -72,12 +72,12 @@ const getOrderDisplayStatus = (order: ShopOrder): { title: string; bgColor: stri
}
// 线下付款已发货但未确认收款:显示"已发货待收款"(红色),与门店端一致
if (isOffline && !payStatus && (deliveryStatus === 20 || deliveryStatus === 30)) {
if (isOffline && !payStatus && deliveryStatus === 20) {
return { bgColor: '#ee0a24', title: '已发货待收款', subtitle: '商品已发货,请尽快转账付款' }
}
// 物流状态优先于付款状态(已发货/已收货的订单,即使未付款也显示物流状态)
if (deliveryStatus === 20 || deliveryStatus === 30) {
// 物流状态优先于付款状态
if (deliveryStatus === 20) {
return { bgColor: '#4b9cf5', title: '待收货', subtitle: '商品运输中,请注意查收' }
}
@@ -118,8 +118,8 @@ const getOrderPhase = (order: ShopOrder): OrderPhase => {
return orderStatus === OrderStatus.Cancelled || orderStatus === OrderStatus.RefundSuccess ? 'cancelled' : 'refund'
}
// 物流状态优先于付款状态(已发货/已收货的订单,即使未付款也进入 shipped 阶段)
if (deliveryStatus === 20 || deliveryStatus === 30) return 'shipped'
// 物流状态优先于付款状态(已发货的订单,即使未付款也进入 shipped 阶段)
if (deliveryStatus === 20) return 'shipped'
// 线下付款且未确认收款:等待商家确认,不显示"立即支付"按钮
if (isOffline && !payStatus) return 'offline_pending'