This commit is contained in:
2026-10-20 23:34:11 +08:00
parent f155976f52
commit 13e4aa56ec
321 changed files with 6756 additions and 2110 deletions
@@ -4,6 +4,7 @@ import { describe, expect, it } from 'vitest'
const settlement = readFileSync(resolve(process.cwd(), 'src/modules/finance/pages/FinanceFormalSettlementPage.vue'), 'utf8')
const density = readFileSync(resolve(process.cwd(), 'src/styles/adminDensity.css'), 'utf8')
const workbench = readFileSync(resolve(process.cwd(), 'src/styles/adminWorkbench.css'), 'utf8')
const financeDensity = readFileSync(resolve(process.cwd(), 'src/modules/finance/financeDensity.css'), 'utf8')
const financeRoutes = readFileSync(resolve(process.cwd(), 'src/modules/finance/routes.ts'), 'utf8')
const accounts = readFileSync(resolve(process.cwd(), 'src/modules/finance/pages/FinanceCustomerAccountsView.vue'), 'utf8')
@@ -24,7 +25,7 @@ describe('finance presentation governance', () => {
expect(financeRoutes).toContain("finance/receivable-statistics")
expect(financeRoutes).toContain("platform:finance:receivable-statistics:list")
expect(financeRoutes).toContain('showPageHeading: false')
expect(settlement).toContain('class="settlement-detail-page surface-panel finance-density-detail"')
expect(settlement).toContain('class="settlement-detail-page surface-panel finance-density-detail workbench-panel is-flush is-page-surface"')
expect(settlement).toContain('返回列表')
expect(settlement).not.toContain('AppDrawer')
expect(settlement).toContain('登记后剩余余额')
@@ -33,12 +34,12 @@ describe('finance presentation governance', () => {
})
it('uses one continuous desktop detail surface with shared summaries and scroll-safe tables', () => {
expect(settlement).toContain('class="settlement-detail-page surface-panel finance-density-detail"')
expect(settlement).toContain('class="settlement-detail-page surface-panel finance-density-detail workbench-panel is-flush is-page-surface"')
expect(settlement).toContain('class="settlement-detail-content"')
expect(settlement).toContain('class="settlement-detail-info density-descriptions"')
for (const title of ['基本信息', '费用明细', '修订记录']) expect(settlement).toContain('title="' + title + '"')
expect(settlement).toContain(':title="kind === \'receivable\' ? \'收款记录\' : \'付款记录\'"')
expect(settlement.match(/class="detail-table-scroll"/g)).toHaveLength(3)
expect(settlement.match(/class="detail-table-scroll workbench-table"/g)).toHaveLength(3)
expect(settlement).toContain(':deep(.detail-table-scroll .el-table) { min-width: 920px; }')
expect(settlement).not.toContain('class="detail-section surface-panel"')
expect(settlement.match(/width="min\(760px, 94vw\)"/g)).toHaveLength(2)
@@ -136,7 +137,7 @@ describe('finance presentation governance', () => {
})
it('opens statement details on a compact dedicated route instead of below the list', () => {
expect(statements).toContain('v-else-if="isDetailRoute" class="surface-panel statement-detail-page finance-density-detail"')
expect(statements).toContain('v-else-if="isDetailRoute" class="surface-panel statement-detail-page finance-density-detail workbench-panel is-flush is-page-surface"')
expect(statements).toContain('@row-click="openDetail"')
expect(statements).toContain("name: 'finance-customer-statement-detail'")
expect(financeDensity).toContain('.detail-page-layout.finance-density-detail { gap: 0; }')
@@ -153,8 +154,13 @@ describe('finance presentation governance', () => {
expect(density).toContain('.density-detail-overview')
expect(accounts).toContain(':deep(.ledger-query.query-toolbar)')
expect(accounts).toContain('padding: 0;')
expect(accounts).toContain('border: 0;')
expect(accounts).toContain('background: transparent;')
const summaryStyles = density.match(/\.density-detail-overview \{([^}]*)\}/)?.[1]
expect(summaryStyles).toContain('display: flex;')
expect(summaryStyles).toContain('flex-wrap: wrap;')
const queryStyles = workbench.match(/\.query-toolbar\.workbench-query \{([^}]*)\}/)?.[1]
expect(accounts).toContain('class="ledger-query workbench-query"')
expect(queryStyles).toContain('border-color: var(--workbench-border);')
expect(queryStyles).toContain('background: var(--workbench-surface);')
expect(accounts).not.toContain('展示应收、应付及每次变动后的未收金额。')
expect(accounts).not.toContain('到期日按账单日期加客户账期计算;每个客户独立设置,默认 30 天。')
})