diff --git a/src/modules/container-loading/pages/ContainerDetailView.vue b/src/modules/container-loading/pages/ContainerDetailView.vue index 61ed3153..5057d142 100644 --- a/src/modules/container-loading/pages/ContainerDetailView.vue +++ b/src/modules/container-loading/pages/ContainerDetailView.vue @@ -120,6 +120,8 @@ const feeCustomers = computed(() => { return [...customers].map(([accountId, customerName]) => ({ accountId, customerName })) }) const feeBusinessReferences = computed(() => (loadingDetail.value?.items || []).map((item) => ({ + accountId: item.accountId, + customerName: item.customerName, orderId: item.orderId, orderNo: item.orderNo, inboundId: item.inboundId, diff --git a/src/modules/finance/AGENTS.md b/src/modules/finance/AGENTS.md index 19bd8b4d..a4fddf3b 100644 --- a/src/modules/finance/AGENTS.md +++ b/src/modules/finance/AGENTS.md @@ -15,7 +15,7 @@ ## 费用付款与凭证快速入口 -- 入库费用的应付/直接已付表单在 `../unified-orders/components/InboundFeeDetailManager.vue`,柜次费用在 `../loading-lists/components/ContainerFeesPanel.vue`;对应 API 分别为 `../unified-orders/api/inboundFeeDetails.ts`、`../loading-lists/api/containerFees.ts`。 +- 入库费用的应付/直接已付表单在 `../unified-orders/components/InboundFeeDetailManager.vue`,柜次费用在 `../loading-lists/components/ContainerFeesPanel.vue`;柜级公共费用在同一面板按真实客户与订单分摊,入仓码按事实选填;对应 API 分别为 `../unified-orders/api/inboundFeeDetails.ts`、`../loading-lists/api/containerFees.ts`。 - `DIRECT_PAID` 必须提交已付时间、付款方式,以及付款流水号或至少一个付款凭证;凭证由费用 API 调用 `/platform/finance/v1/vouchers` 上传为 `FINANCE_VOUCHER`,并绑定当前客户。 - 后端事实入口为 Firstleg `FeePaymentSnapshotValidator`、入库/柜次费用服务,文件元数据归 File;Finance 只消费已发布的费用来源快照,不在前端或 Finance 中重建付款事实。 diff --git a/src/modules/finance/pages/FinanceCustomerArapView.test.ts b/src/modules/finance/pages/FinanceCustomerArapView.test.ts index 76485ea3..3365853b 100644 --- a/src/modules/finance/pages/FinanceCustomerArapView.test.ts +++ b/src/modules/finance/pages/FinanceCustomerArapView.test.ts @@ -246,9 +246,10 @@ describe('FinanceCustomerArapView G2 operations', () => { expect(page).toContain('详情') expect(page).toContain("@click=\"openMutation(row, 'SUBMIT')\"") expect(page).toContain("@click=\"openMutation(row, 'ADJUST')\"") - expect(page).toContain('!isFirstlegSource(row)') - expect(page).toContain('!isFirstlegSource(detail)') + expect(page).toContain('!isUpstreamSource(row)') + expect(page).toContain('!isUpstreamSource(detail)') expect(page).toContain("['INBOUND_FEE', 'CONTAINER_FEE'].includes(type)") + expect(page).toContain("=== 'LASTLEG'") expect(page).not.toMatch(/