parent
12d91964c2
commit
c45896bdf7
@ -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 '';
|
||||
|
||||
@ -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);
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user