fix: 月度期末余额汇总改为万元展示 (#1033)

月度余额及环比金额统一按万元展示。
This commit is contained in:
qiuxiang 2026-11-10 13:30:24 +08:00
parent 12d91964c2
commit c45896bdf7
2 changed files with 15 additions and 10 deletions

View File

@ -132,7 +132,7 @@
<h3 id="monthly-closing-title">月度期末余额汇总</h3>
<span class="monthly-closing-badge">新增</span>
</div>
<p>2026 年 7-10 月各平台期末余额 · 金额单位:元</p>
<p>2026 年 7-10 月各平台期末余额 · 金额单位:万元</p>
</div>
<span v-if="!monthlyClosingLoading && !monthlyClosingError" class="monthly-closing-count">
{{ monthlyClosing.summary.available_platform_count }} / {{ monthlyClosing.summary.platform_count }} 个平台
@ -167,10 +167,10 @@
>
<th scope="row">{{ row.name }}</th>
<td v-for="month in monthlyClosing.months" :key="month.key" class="is-number">
{{ monthlyBalance(row, month.key) }}
{{ monthlyBalanceWan(row, month.key) }}
</td>
<td class="is-number monthly-closing-compare">
<span :class="changeClass(row.change.amount)">{{ signedMoney(row.change.amount) }}</span>
<span :class="changeClass(row.change.amount)">{{ signedMoneyWan(row.change.amount) }}</span>
<small v-if="row.change.rate !== null" :class="changeClass(row.change.amount)">
{{ signedPercent(row.change.rate) }}
</small>
@ -180,7 +180,7 @@
</table>
</div>
<footer class="monthly-closing-foot">
<span>环比口径:2026年10月期末余额 − 2026年9月期末余额,百分比以上月余额为基数。</span>
<span>环比口径:2026年10月期末余额 − 2026年9月期末余额,金额单位为万元,百分比以上月余额为基数。</span>
<span v-if="!monthlyClosingLoading && !monthlyClosingError">8 个平台沿用各自账单页的期末余额口径。</span>
</footer>
</section>
@ -756,24 +756,24 @@ export default {
return amount === '—' ? '' : `原值:${amount}`;
},
monthlyBalance(row, month) {
monthlyBalanceWan(row, month) {
const value = row && row.balances ? row.balances[month] : null;
if (value === null || value === undefined || !Number.isFinite(Number(value))) return '—';
return Number(value).toLocaleString('zh-CN', {
return `¥${(Number(value) / 10000).toLocaleString('zh-CN', {
minimumFractionDigits: 2,
maximumFractionDigits: 2,
});
})}万`;
},
signedMoney(value) {
signedMoneyWan(value) {
if (value === null || value === undefined || !Number.isFinite(Number(value))) return '—';
const amount = Number(value);
const sign = amount > 0 ? '+' : '';
return `${sign}${amount.toLocaleString('zh-CN', {
return `${sign}¥${(amount / 10000).toLocaleString('zh-CN', {
minimumFractionDigits: 2,
maximumFractionDigits: 2,
})}`;
})}万`;
},
signedPercent(value) {
if (value === null || value === undefined || !Number.isFinite(Number(value))) return '';

View File

@ -70,6 +70,11 @@ class StoreReceivingBalanceOverviewTest extends TestCase
$this->assertStringContainsString('平台账户', $source);
$this->assertStringContainsString('monthly-closing-table', $source);
$this->assertStringContainsString('2026 年 7-10 月各平台期末余额', $source);
$this->assertStringContainsString('金额单位:万元', $source);
$this->assertStringContainsString('monthlyBalanceWan', $source);
$this->assertStringContainsString('signedMoneyWan', $source);
$this->assertStringContainsString('Number(value) / 10000', $source);
$this->assertStringContainsString('amount / 10000', $source);
$this->assertStringContainsString('环比口径:2026年10月期末余额 − 2026年9月期末余额', $source);
$this->assertStringContainsString('monthlyClosingRows', $source);
$this->assertStringContainsString('fetchMonthlyClosing', $source);