From 108ad5c7b5c807af3b17f01531c4159847ae663d Mon Sep 17 00:00:00 2001 From: ouyangxq <775153912@qq.com> Date: Wed, 9 Sep 2026 18:20:05 +0800 Subject: [PATCH] feat: show FBA internal code on pallet labels --- AGENTS.md | 2 +- src/modules/loading-lists/api/platformLoadingLists.test.ts | 2 +- src/modules/loading-lists/api/platformLoadingLists.ts | 2 ++ .../loading-lists/components/PalletLabelPrintDialog.vue | 4 ++-- 4 files changed, 6 insertions(+), 4 deletions(-) diff --git a/AGENTS.md b/AGENTS.md index 673c74ef..8fa0908d 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -67,7 +67,7 @@ 全量验收按业务从 `../../docs/订单与客户/`、`入库测量与计费/`、`国内货柜履约/`、`财务管理/` 选择最小契约;海外仓业务开发先读 `../../docs/海外仓业务/README.md`。进度、排期或验收状态问题再读取进度表和报告。 -散货托盘码打印:`modules/loading-lists/components/PalletLabelPrintDialog.vue`、`modules/loading-lists/api/platformLoadingLists.ts`,由货柜详情与装柜清单详情进入;先调用 `/pallet-labels/prepare` 获取服务端按 FBA 仓分组的冻结清单,再通过 `/pallet-labels/print` 下载 PDF。支持全部打印或按仓指定张数补打,一件代发托盘不在该清单,前端不生成或重新编号托盘码。 +散货托盘码打印:`modules/loading-lists/components/PalletLabelPrintDialog.vue`、`modules/loading-lists/api/platformLoadingLists.ts`,由货柜详情与装柜清单详情进入;先调用 `/pallet-labels/prepare` 获取服务端按 FBA 仓分组的冻结清单,再通过 `/pallet-labels/print` 下载 PDF。托盘码使用“真实柜号-FBA 地址内部编号-三位序号”,页面同时展示 FBA 仓码和内部编号;支持全部打印或按仓指定张数补打,一件代发托盘不在该清单,前端不生成或重新编号托盘码。 ## 海外模块内部快速索引(海外仓全流程) diff --git a/src/modules/loading-lists/api/platformLoadingLists.test.ts b/src/modules/loading-lists/api/platformLoadingLists.test.ts index 791cd082..f6322c6b 100644 --- a/src/modules/loading-lists/api/platformLoadingLists.test.ts +++ b/src/modules/loading-lists/api/platformLoadingLists.test.ts @@ -162,7 +162,7 @@ describe('platform loading lists API', () => { it('prepares and prints pallet labels by FBA warehouse', async () => { const post = vi.spyOn(http, 'post') - .mockResolvedValueOnce({ code: '200', message: 'ok', data: { planId: 10, planNo: 'LP-1', containerNo: 'MSCU6639870', totalCount: 2, groups: [{ destinationWarehouseCode: 'ONT8', destinationWarehouseName: 'ONT8', totalCount: 2, labels: [{ labelId: 1, itemId: 2, accountId: 3, inboundId: 4, inboundCode: 'RK-1', containerNo: 'MSCU6639870', destinationWarehouseCode: 'ONT8', destinationWarehouseName: 'ONT8', palletIndex: 1, palletCode: 'MSCU6639870-ONT8-001' }] }] } }) + .mockResolvedValueOnce({ code: '200', message: 'ok', data: { planId: 10, planNo: 'LP-1', containerNo: 'MSCU6639870', totalCount: 2, groups: [{ destinationWarehouseCode: 'ONT8', destinationWarehouseInternalCode: '154', destinationWarehouseName: 'ONT8', totalCount: 2, labels: [{ labelId: 1, itemId: 2, accountId: 3, inboundId: 4, inboundCode: 'RK-1', containerNo: 'MSCU6639870', destinationWarehouseCode: 'ONT8', destinationWarehouseInternalCode: '154', destinationWarehouseName: 'ONT8', palletIndex: 1, palletCode: 'MSCU6639870-154-001' }] }] } }) .mockResolvedValueOnce(new Blob(['pdf'], { type: 'application/pdf' })) const manifest = await preparePalletLabels('10', '20') diff --git a/src/modules/loading-lists/api/platformLoadingLists.ts b/src/modules/loading-lists/api/platformLoadingLists.ts index 3a8e3e7f..08ac079c 100644 --- a/src/modules/loading-lists/api/platformLoadingLists.ts +++ b/src/modules/loading-lists/api/platformLoadingLists.ts @@ -264,6 +264,7 @@ export interface PalletLabel { inboundCode: string containerNo: string destinationWarehouseCode: string + destinationWarehouseInternalCode: string destinationWarehouseName: string | null palletIndex: number palletCode: string @@ -271,6 +272,7 @@ export interface PalletLabel { export interface PalletLabelGroup { destinationWarehouseCode: string + destinationWarehouseInternalCode: string destinationWarehouseName: string | null totalCount: number labels: PalletLabel[] diff --git a/src/modules/loading-lists/components/PalletLabelPrintDialog.vue b/src/modules/loading-lists/components/PalletLabelPrintDialog.vue index 4b2fdfef..9ec548b9 100644 --- a/src/modules/loading-lists/components/PalletLabelPrintDialog.vue +++ b/src/modules/loading-lists/components/PalletLabelPrintDialog.vue @@ -52,8 +52,8 @@ async function print() {