From 178ab3cfddb6039d83527a8f3ef36ea0202db7a3 Mon Sep 17 00:00:00 2001 From: yueyang <2495544247@qq.com> Date: Sat, 24 Oct 2026 22:25:09 +0800 Subject: [PATCH] =?UTF-8?q?=E5=B9=B3=E5=8F=B0=E6=B1=87=E6=80=BB=E6=94=B9?= =?UTF-8?q?=E4=B8=BA=E4=BB=85=E5=B1=95=E7=A4=BA=E5=B9=B3=E5=8F=B0=E9=87=91?= =?UTF-8?q?=E9=A2=9D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../pages/partials/directory-table.blade.php | 42 +++++++++++++------ 1 file changed, 30 insertions(+), 12 deletions(-) diff --git a/resources/views/business/pages/partials/directory-table.blade.php b/resources/views/business/pages/partials/directory-table.blade.php index df47cd9b..c230e46c 100644 --- a/resources/views/business/pages/partials/directory-table.blade.php +++ b/resources/views/business/pages/partials/directory-table.blade.php @@ -1563,7 +1563,6 @@ 平台 - 账单名称 总金额(万元) @@ -1614,7 +1613,7 @@
- 共 0 条平台账单汇总 + 共 0 条平台汇总
@@ -2378,13 +2377,13 @@ platformEmptyEl.hidden = false; summaryEmptyEl.hidden = false; detailEmptyEl.hidden = true; - platformEmptyEl.textContent = '正在按平台汇总账单名称…'; + platformEmptyEl.textContent = '正在按平台汇总金额…'; summaryEmptyEl.textContent = '正在汇总账单名称…'; detailEmptyEl.textContent = '正在汇总平台店铺明细…'; title.textContent = label + ' · 明细汇总'; subtitle.textContent = '按平台、店铺和账单名称汇总'; currentTotalEl.textContent = '…'; - countEl.textContent = '正在读取平台账单汇总'; + countEl.textContent = '正在读取平台汇总'; dialog.setAttribute('aria-busy', 'true'); } @@ -2436,7 +2435,18 @@ } function renderPlatformRows(rows) { - renderPlatformBillRows(platformRowsEl, rows); + platformRowsEl.replaceChildren(); + rows.forEach(function (row) { + var tr = document.createElement('tr'); + var platform = document.createElement('td'); + platform.textContent = row.platform || '—'; + tr.appendChild(platform); + var amount = document.createElement('td'); + amount.className = 'is-number'; + amount.textContent = wan(row.amount); + tr.appendChild(amount); + platformRowsEl.appendChild(tr); + }); } function renderSummaryRows(rows) { @@ -2462,7 +2472,7 @@ function updateFooterCount() { if (activeTab === 'platform') { - countEl.textContent = '共 ' + platformCount.toLocaleString('zh-CN') + ' 条平台账单汇总'; + countEl.textContent = '共 ' + platformCount.toLocaleString('zh-CN') + ' 条平台汇总'; } else if (activeTab === 'summary') { countEl.textContent = '共 ' + summaryCount.toLocaleString('zh-CN') + ' 条账单名称汇总'; } else { @@ -2490,10 +2500,18 @@ && (!store || row.store_name === store) && (!billItem || row.bill_item === billItem); }); + var totalsByPlatform = {}; var totalsByPlatformBillItem = {}; rows.forEach(function (row) { var platform = row.platform || '—'; var name = row.bill_item || '未命名账单项目'; + if (!totalsByPlatform[platform]) { + totalsByPlatform[platform] = { + platform: platform, + amount: 0 + }; + } + totalsByPlatform[platform].amount += Number(row.amount || 0); var key = JSON.stringify([platform, name]); if (!totalsByPlatformBillItem[key]) { totalsByPlatformBillItem[key] = { @@ -2504,20 +2522,20 @@ } totalsByPlatformBillItem[key].amount += Number(row.amount || 0); }); + var platformRows = Object.keys(totalsByPlatform).map(function (key) { + return totalsByPlatform[key]; + }).sort(function (left, right) { + return left.platform.localeCompare(right.platform, 'zh-CN'); + }); var platformBillRows = Object.keys(totalsByPlatformBillItem).map(function (key) { return totalsByPlatformBillItem[key]; }); - var platformRows = platformBillRows.slice().sort(function (left, right) { - return left.platform.localeCompare(right.platform, 'zh-CN') - || Math.abs(right.amount) - Math.abs(left.amount) - || left.bill_item.localeCompare(right.bill_item, 'zh-CN'); - }); var summaryRows = platformBillRows.slice().sort(function (left, right) { return Math.abs(right.amount) - Math.abs(left.amount) || left.platform.localeCompare(right.platform, 'zh-CN') || left.bill_item.localeCompare(right.bill_item, 'zh-CN'); }); - var filteredTotal = summaryRows.reduce(function (sum, row) { + var filteredTotal = platformRows.reduce(function (sum, row) { return sum + Number(row.amount || 0); }, 0); platformCount = platformRows.length; -- 2.47.2