From a674ec243583101f61ebb7bec5712eff404f95b2 Mon Sep 17 00:00:00 2001 From: liuyihe <2513762445@qq.com> Date: Fri, 16 Oct 2026 16:52:49 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../api/warehouseServices.ts | 8 +- .../components/RelabelDocumentsPanel.vue | 82 +++++++++++++++++++ .../views/WarehouseServiceView.vue | 45 +++++++--- .../views/warehouseTransferForm.test.mjs | 4 +- 4 files changed, 126 insertions(+), 13 deletions(-) create mode 100644 src/modules/overseas-warehouse/components/RelabelDocumentsPanel.vue diff --git a/src/modules/overseas-warehouse/api/warehouseServices.ts b/src/modules/overseas-warehouse/api/warehouseServices.ts index f050848..da9dac1 100644 --- a/src/modules/overseas-warehouse/api/warehouseServices.ts +++ b/src/modules/overseas-warehouse/api/warehouseServices.ts @@ -77,7 +77,7 @@ export function submitTransfer(transferNo: string) { return apiRequest>({ method: 'POST', url: `/merchant/v1/last-leg/warehouse-transfers/${encodeURIComponent(transferNo)}/submit` }) } /** 补充既有SKU的预报箱数,原箱数快照用于并发核对与安全重试。 */ -export function increaseTransferForecastCartons(transferNo: string, payload: { expectedPackageCount: number; transferItemId: string; expectedItemPackageCount: number; packageCount: number }) { +export function increaseTransferForecastCartons(transferNo: string, payload: { expectedPackageCount: number; packageCount: number }) { return apiRequest>({ method: 'POST', url: `/merchant/v1/last-leg/warehouse-transfers/${encodeURIComponent(transferNo)}/increase-forecast-cartons`, data: payload }) } export function listRelabels(params: Record) { @@ -151,3 +151,9 @@ export interface TransferSourceCarton { cartonMark: string; productNameZh?: stri export function getTransferSourceCartons(operatingWarehouseId: string, inboundCode: string) { return apiRequest({method:'GET',url:'/merchant/v1/last-leg/warehouse-transfers/inventory-source-cartons',params:{operatingWarehouseId,inboundCode}}) } + +/** 通过客户授权入口读取申请绑定的资料,不使用平台文件地址。 */ +export function downloadRelabelDocument(relabelNo: string, fileId: string, scope: string, itemId?: string) { + const base = '/merchant/v1/last-leg/relabel-applications/' + encodeURIComponent(relabelNo) + return apiBlobRequest({ method: 'GET', url: scope === 'SHIPPING' ? base + '/shipping-label/' + encodeURIComponent(fileId) + '/download' : base + '/files/' + encodeURIComponent(fileId) + '/download', params: scope === 'SHIPPING' ? undefined : { scope, itemId } }) +} diff --git a/src/modules/overseas-warehouse/components/RelabelDocumentsPanel.vue b/src/modules/overseas-warehouse/components/RelabelDocumentsPanel.vue new file mode 100644 index 0000000..353aad1 --- /dev/null +++ b/src/modules/overseas-warehouse/components/RelabelDocumentsPanel.vue @@ -0,0 +1,82 @@ + +