This commit is contained in:
2026-11-04 10:39:15 +08:00
parent 01d0a81603
commit 84dd9dcbb4
9 changed files with 34 additions and 12 deletions
@@ -131,7 +131,7 @@ const paginatedRows = computed(() => {
const start = (page.value - 1) * pageSize.value
return filteredRows.value.slice(start, start + pageSize.value)
})
const totals = computed(() => filteredRows.value.reduce((result, row) => ({
const totals = computed(() => filteredRows.value.filter(row => row.status !== 'VOIDED').reduce((result, row) => ({
amount: result.amount + totalAmount(row),
paid: result.paid + paidAmount(row),
outstanding: result.outstanding + row.outstandingAmount,
@@ -72,6 +72,15 @@ enableAutoUnmount(afterEach)
afterAll(() => vi.unstubAllGlobals())
describe('Finance G3/G4 views', () => {
it('excludes voided settlements from totals while retaining them in the list', async () => {
vi.mocked(listFinancePayableSettlements).mockResolvedValue([
payable,
{ ...payable, id: '702', settlementNo: 'AP-VOIDED', status: 'VOIDED', payableAmount: 50, outstandingAmount: 50 },
])
const wrapper = await mountWithAccess(FinanceFormalSettlementPage, ['platform:finance:settlement-ap:list'], { kind: 'payable' })
expect(wrapper.findAll('.workbench-metric-value strong').map(item => item.text())).toEqual(['¥200.00', '¥0.00', '¥200.00'])
expect(wrapper.text()).toContain('AP-VOIDED')
})
beforeEach(() => {
vi.stubGlobal('ResizeObserver', ResizeObserverStub)
vi.stubGlobal('localStorage', memoryStorage())