From aeb1e20c0637127ff47be2d2a9eb8e1e8d20e4b0 Mon Sep 17 00:00:00 2001 From: XingQue Date: Mon, 27 Jul 2026 02:12:48 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E5=AE=A2=E6=9C=8D=E8=AE=A2=E5=8D=95?= =?UTF-8?q?=E5=88=97=E8=A1=A8/=E8=AF=A6=E6=83=85=E5=B1=95=E7=A4=BA?= =?UTF-8?q?=E8=87=AA=E5=8A=A8=E7=BB=93=E7=AE=97=E5=80=92=E8=AE=A1=E6=97=B6?= =?UTF-8?q?=EF=BC=8C=E9=85=8D=E7=BD=AE=E9=A1=B5=E6=96=87=E6=A1=88=E6=94=B9?= =?UTF-8?q?=E4=B8=BA=E7=BB=93=E7=AE=97=E7=8E=87?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 平台单与商家单新增「待自动结算」筛选与自动结算列;详情状态旁展示预计时间。 Co-authored-by: Cursor --- src/views/order/Detail.vue | 33 ++++++++++++++++++++++++++ src/views/order/MerchantOrder.vue | 36 ++++++++++++++++++++++++++++- src/views/order/OrderDealConfig.vue | 10 ++++---- src/views/order/PlatformOrder.vue | 36 ++++++++++++++++++++++++++++- 4 files changed, 108 insertions(+), 7 deletions(-) diff --git a/src/views/order/Detail.vue b/src/views/order/Detail.vue index 8e277fb..7f3171c 100644 --- a/src/views/order/Detail.vue +++ b/src/views/order/Detail.vue @@ -103,6 +103,10 @@ {{ getStatusText(orderData.zhuangtai) }} + + {{ autoSettleText }} + ({{ orderData.auto_expire_at }}) + {{ orderData.fadanpingtai === 1 ? '平台发单' : orderData.fadanpingtai === 2 ? '商家发单' : '未知' }} @@ -403,6 +407,26 @@ const getFullImageUrl = (url) => { const formatPrice = (val) => parseFloat(val || 0).toFixed(2) +const formatRemainText = (sec) => { + const s = Math.max(0, Number(sec) || 0) + const h = Math.floor(s / 3600) + const m = Math.floor((s % 3600) / 60) + if (h >= 24) return `${Math.floor(h / 24)}天${h % 24}小时` + if (h > 0) return `${h}小时${m}分` + if (m > 0) return `${m}分钟` + return s > 0 ? `${s}秒` : '即将结算' +} + +const autoSettleText = computed(() => { + const d = orderData.value + if (!d || !d.auto_settle_eligible) return '' + const remain = d.auto_settle_remain_seconds + if (remain == null || remain === '') { + return d.auto_expire_at ? `预计 ${d.auto_expire_at} 自动结算` : '' + } + return Number(remain) <= 0 ? '即将自动结算' : `预计自动结算 ${formatRemainText(remain)}` +}) + const statusMap = { 1: '下单中', 7: '指定中', 2: '进行中', 8: '结算中', 3: '已完成', 4: '退款审核', 5: '已退款', 6: '退款失败' @@ -775,6 +799,15 @@ onMounted(() => { border-radius: 12px; overflow: hidden; } +.auto-settle-tip { + color: #c62828; + font-weight: 600; +} +.auto-settle-at { + color: #8d6e63; + margin-left: 6px; + font-size: 13px; +} .card-header { font-weight: 700; color: #1a2634; diff --git a/src/views/order/MerchantOrder.vue b/src/views/order/MerchantOrder.vue index e765708..b23c3d0 100644 --- a/src/views/order/MerchantOrder.vue +++ b/src/views/order/MerchantOrder.vue @@ -114,6 +114,14 @@ + + + + + +