From 65a168daedae1abbd34c2c10df96ab4372648e53 Mon Sep 17 00:00:00 2001 From: ISFP_T <68358856@qq.com> Date: Fri, 28 Nov 2025 11:52:37 +0800 Subject: [PATCH] =?UTF-8?q?fix:=E4=BF=AE=E5=A4=8D=E8=AE=A2=E5=8D=95?= =?UTF-8?q?=E8=AF=A6=E6=83=85=E9=A1=B5=E5=BF=AB=E9=80=92=E5=BD=92=E8=BF=98?= =?UTF-8?q?=E6=8C=89=E9=92=AE=E5=B1=95=E7=A4=BAbug?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pages/order/detail.vue | 62 ++++++++++++++++++++++++++++++++++-------- 1 file changed, 50 insertions(+), 12 deletions(-) diff --git a/pages/order/detail.vue b/pages/order/detail.vue index da670a5..8809860 100644 --- a/pages/order/detail.vue +++ b/pages/order/detail.vue @@ -75,13 +75,20 @@ {{ $t('user.customerService') }} - - {{ formatCountdown(countdownRemaining) }}{{ $t('order.canExpressReturn') }} - - - {{ $t('order.pauseBilling') }} - - + + + + {{ $t('order.quickReturn') }} @@ -150,7 +157,8 @@ isWithdrawn: false, positionName: '', returnPosition: '', - expressReturnStart: null + expressReturnStart: null, + isSupportExpressReturn: 'yes' }, timer: null, statusCheckTimer: null, @@ -216,7 +224,7 @@ }, onShow() { this.isPageActive = true - if (this.orderInfo.orderStatus === 'in_used') { + if (this.orderInfo.orderStatus === 'in_used' && this.orderInfo.isSupportExpressReturn !== 'no') { this.startExpressCountdown() } }, @@ -325,8 +333,10 @@ // 快速归还 quickReturn() { - // 刷新订单状态,检查是否已归还 - this.checkReturnStatus() + // 跳转到搜索页面查询周围设备 + uni.navigateTo({ + url: '/pages/search/index' + }) }, // 再次租借 @@ -438,6 +448,14 @@ // 启动快递归还倒计时 startExpressCountdown() { + // 如果不支持快递归还,直接返回 + if (this.orderInfo.isSupportExpressReturn === 'no') { + console.log('订单不支持快递归还,不启动倒计时') + this.showExpressAction = false + this.countdownRemaining = 0 + return + } + this.clearExpressCountdown() this.recomputeExpressCountdownFromStartTime() if (this.showExpressAction) return @@ -450,6 +468,13 @@ this.clearExpressCountdown() return } + // 再次检查是否支持快递归还 + if (this.orderInfo.isSupportExpressReturn === 'no') { + this.clearExpressCountdown() + this.showExpressAction = false + this.countdownRemaining = 0 + return + } this.recomputeExpressCountdownFromStartTime() if (this.showExpressAction) { this.clearExpressCountdown() @@ -500,6 +525,13 @@ // 重新计算倒计时 recomputeExpressCountdownFromStartTime() { + // 如果不支持快递归还,直接返回 + if (this.orderInfo.isSupportExpressReturn === 'no') { + this.showExpressAction = false + this.countdownRemaining = 0 + return + } + if (this.orderInfo.orderStatus !== 'in_used') { this.showExpressAction = false this.countdownRemaining = 0 @@ -578,7 +610,10 @@ if (this.orderInfo.orderStatus === 'in_used') { this.startTimer() this.startStatusCheckTimer() - this.startExpressCountdown() + // 只有支持快递归还时才启动倒计时 + if (this.orderInfo.isSupportExpressReturn !== 'no') { + this.startExpressCountdown() + } uni.setStorageSync('activeOrderId', this.orderInfo.orderId) @@ -640,6 +675,9 @@ // 保存快递归还开始时间(小时为单位) this.orderInfo.expressReturnStart = orderData.expressReturnStart || null + // 保存是否支持快递归还 + this.orderInfo.isSupportExpressReturn = orderData.isSupportExpressReturn || 'yes' + // 如果有有效的 expressReturnStart,立即更新倒计时阈值(小时转秒) if (this.orderInfo.expressReturnStart && typeof this.orderInfo.expressReturnStart === 'number' && this.orderInfo.expressReturnStart > 0) { this.expressThresholdSeconds = this.orderInfo.expressReturnStart * 3600