From ae17b9c4d86c562205bc7f2609686a1194ab2b5c Mon Sep 17 00:00:00 2001 From: van Date: Thu, 21 May 2026 16:27:41 +0800 Subject: [PATCH] 1 --- src/views/system/jdorder/orderList.vue | 114 +++++++++++++++++++++++-- 1 file changed, 107 insertions(+), 7 deletions(-) diff --git a/src/views/system/jdorder/orderList.vue b/src/views/system/jdorder/orderList.vue index ac4e341..5880ec2 100644 --- a/src/views/system/jdorder/orderList.vue +++ b/src/views/system/jdorder/orderList.vue @@ -211,8 +211,16 @@
-
统计:{{ profitSummaryLabel }}
-
后返合计 {{ toYuan(profitSummaryRebateTotal) }} · 利润合计 {{ profitSummaryProfitTotal === '' ? '—' : toYuan(profitSummaryProfitTotal) }}(不含已退款)
+
+
统计:{{ profitSummaryLabel }}
+
后返合计 {{ toYuan(profitSummaryRebateTotal) }} · 利润合计 {{ profitSummaryProfitTotal === '' ? '—' : toYuan(profitSummaryProfitTotal) }}(不含已退款)
+
+
+ {{ orderStatusStatTotal }} + 退款 {{ orderStatusStatRefunded }} + 已发货 {{ orderStatusStatShipped }} + 待发货 {{ orderStatusStatPending }} +
- 统计范围:{{ profitSummaryLabel }} - 后返合计:{{ toYuan(profitSummaryRebateTotal) }}(不含已退款) - 利润合计:{{ profitSummaryProfitTotal === '' ? '—' : toYuan(profitSummaryProfitTotal) }}(不含已退款) +
+ 统计范围:{{ profitSummaryLabel }} + 后返合计:{{ toYuan(profitSummaryRebateTotal) }}(不含已退款) + 利润合计:{{ profitSummaryProfitTotal === '' ? '—' : toYuan(profitSummaryProfitTotal) }}(不含已退款) +
+
+ {{ orderStatusStatTotal }} + 退款 {{ orderStatusStatRefunded }} + 已发货 {{ orderStatusStatShipped }} + 待发货 {{ orderStatusStatPending }} +
0 ? this.selectedRows : this.list) || [] + }, + orderStatusStatTotal() { + return this.orderStatusStatRows.length + }, + orderStatusStatRefunded() { + return this.orderStatusStatRows.filter(r => r.isRefunded === 1).length + }, + orderStatusStatShipped() { + return this.orderStatusStatRows.filter(r => r.isRefunded !== 1 && this.isOrderShipped(r)).length + }, + orderStatusStatPending() { + return this.orderStatusStatRows.filter(r => r.isRefunded !== 1 && this.isOrderPendingShip(r)).length + }, profitSummaryRows() { - const base = this.selectedRows && this.selectedRows.length > 0 ? this.selectedRows : this.list - return (base || []).filter(r => r.isRefunded !== 1) + return this.orderStatusStatRows.filter(r => r.isRefunded !== 1) }, profitSummaryLabel() { if (this.selectedRows && this.selectedRows.length > 0) { @@ -1583,6 +1614,20 @@ export default { this.showDesktopExpandedFilters = true } }, + /** 已发货:联盟 express_status≠10;无联盟数据时有物流链接视为已发货 */ + isOrderShipped(row) { + if (!row || row.isRefunded === 1) return false + if (row.expressStatus != null) return row.expressStatus !== 10 + const link = row.logisticsLink == null ? '' : String(row.logisticsLink).trim() + return link.length > 0 + }, + /** 待发货:联盟 express_status=10;无联盟数据且无物流链接 */ + isOrderPendingShip(row) { + if (!row || row.isRefunded === 1) return false + if (row.expressStatus != null) return row.expressStatus === 10 + const link = row.logisticsLink == null ? '' : String(row.logisticsLink).trim() + return link.length === 0 + }, /** 凡系分销标识:历史 F 与 F-中文(如 F-王杰)等同 */ isFanDistributionMark(mark) { if (mark == null || mark === '') return false @@ -4642,6 +4687,61 @@ export default { font-size: 13px; color: var(--jd-muted, #6b7280); box-shadow: 0 1px 3px rgba(15, 23, 42, 0.06); + display: flex; + flex-wrap: wrap; + align-items: center; + justify-content: space-between; + gap: 10px 16px; +} +.profit-summary-bar__left { + display: flex; + flex-wrap: wrap; + align-items: center; + gap: 4px 0; + min-width: 0; + flex: 1; +} +.profit-summary-bar__main { + min-width: 0; + flex: 1; +} +.profit-summary-bar__status { + display: flex; + flex-wrap: wrap; + align-items: center; + justify-content: flex-end; + gap: 8px 14px; + flex-shrink: 0; + margin-left: auto; +} +.order-status-stat { + font-size: 13px; + color: var(--jd-muted, #6b7280); + white-space: nowrap; +} +.order-status-stat b { + color: var(--jd-text, #111827); + font-weight: 600; + margin-left: 2px; +} +.order-status-stat--refund b { + color: #e6a23c; +} +.order-status-stat--shipped b { + color: #67c23a; +} +.order-status-stat--pending b { + color: #909399; +} +.mobile-profit-summary.profit-summary-bar { + flex-direction: column; + align-items: stretch; +} +.mobile-profit-summary .profit-summary-bar__status { + justify-content: flex-start; + margin-left: 0; + padding-top: 8px; + border-top: 1px dashed var(--jd-border, #e5e7eb); } .profit-summary-bar b { color: var(--jd-text, #111827);