diff --git a/src/views/hard/hard-after-sale/order-refund.vue b/src/views/hard/hard-after-sale/order-refund.vue
index 60d784f..97c3839 100644
--- a/src/views/hard/hard-after-sale/order-refund.vue
+++ b/src/views/hard/hard-after-sale/order-refund.vue
@@ -8,7 +8,8 @@
订单售后详情
-
+ 已完成
+
@@ -839,6 +840,8 @@ const HARD_DOOR_FREE_PAY_TYPE = "9"
const DOOR_ORDER_PENDING_SETTLE_STATUS = "1"
/** 消费机支付订单类型编码,后端允许该类型没有购物车明细。 */
const SIMPLE_PAYMENT_ORDER_TYPE = "9"
+/** 线下购买订单类型编码,终端支付完成即履约完成,没有后续核销或配送流程。 */
+const OFFLINE_ORDER_TYPE = "1"
/** 商城订单类型编码,使用发货、收货履约状态。 */
const MARKETPLACE_ORDER_TYPE = "7"
/** 外卖订单类型编码,使用接单、配送履约状态。 */
@@ -1230,6 +1233,10 @@ const { getDataList, tableStyle } = useTable(state)
const orderTypeCode = computed(() => String(globalData.detail.orderType || ""))
/** 当前订单状态协议编码。 */
const orderStatusCode = computed(() => String(globalData.detail.orderStatus || ""))
+/** 线下订单支付即完成:该类型没有核销流程,状态停在已支付(5/6)即代表订单已完成。 */
+const isOfflinePaidCompleted = computed(
+ () => orderTypeCode.value === OFFLINE_ORDER_TYPE && ["5", "6"].includes(orderStatusCode.value),
+)
/** 是否为商城订单。 */
const isMarketplaceOrder = computed(() => orderTypeCode.value === MARKETPLACE_ORDER_TYPE)
/** 是否为外卖订单。 */
@@ -1749,13 +1756,15 @@ const lifecycleStages = computed(() => {
}
if (type !== SIMPLE_PAYMENT_ORDER_TYPE) {
+ // 线下订单支付即完成,完成时间回退到支付时间。
+ const offlineCompleted = isOfflinePaidCompleted.value
stages.push(
createLifecycleStage(
"completed",
"订单完成",
- detail.verificationTime || detail.deliveredTime,
- Boolean(detail.verificationTime || detail.deliveredTime) || status === "20",
- ["5", "6"].includes(status),
+ detail.verificationTime || detail.deliveredTime || (offlineCompleted ? detail.payTime : undefined),
+ Boolean(detail.verificationTime || detail.deliveredTime) || status === "20" || offlineCompleted,
+ !offlineCompleted && ["5", "6"].includes(status),
"等待履约完成",
),
)