业绩明细弹窗按金额降序排列 #534

Merged
yueyang merged 1 commits from fix/yueyang-performance-metric-amount-sort into main 2026-10-24 22:35:58 +08:00

View File

@ -2525,7 +2525,8 @@
var platformRows = Object.keys(totalsByPlatform).map(function (key) {
return totalsByPlatform[key];
}).sort(function (left, right) {
return left.platform.localeCompare(right.platform, 'zh-CN');
return Math.abs(right.amount) - Math.abs(left.amount)
|| left.platform.localeCompare(right.platform, 'zh-CN');
});
var platformBillRows = Object.keys(totalsByPlatformBillItem).map(function (key) {
return totalsByPlatformBillItem[key];
@ -2535,20 +2536,26 @@
|| left.platform.localeCompare(right.platform, 'zh-CN')
|| left.bill_item.localeCompare(right.bill_item, 'zh-CN');
});
var detailRows = rows.slice().sort(function (left, right) {
return Math.abs(Number(right.amount || 0)) - Math.abs(Number(left.amount || 0))
|| String(left.platform || '').localeCompare(String(right.platform || ''), 'zh-CN')
|| String(left.store_name || '').localeCompare(String(right.store_name || ''), 'zh-CN')
|| String(left.bill_item || '').localeCompare(String(right.bill_item || ''), 'zh-CN');
});
var filteredTotal = platformRows.reduce(function (sum, row) {
return sum + Number(row.amount || 0);
}, 0);
platformCount = platformRows.length;
summaryCount = summaryRows.length;
detailCount = rows.length;
detailCount = detailRows.length;
renderPlatformRows(platformRows);
renderSummaryRows(summaryRows);
renderDetailRows(rows);
renderDetailRows(detailRows);
currentTotalEl.textContent = wan(filteredTotal);
updateFooterCount();
platformEmptyEl.hidden = platformRows.length > 0;
summaryEmptyEl.hidden = summaryRows.length > 0;
detailEmptyEl.hidden = rows.length > 0;
detailEmptyEl.hidden = detailRows.length > 0;
if (!platformRows.length) {
var emptyText = allMetricRows.length
? '当前筛选条件下没有明细。'