From 3e2847814ac617d894cf40123dd690652e137a42 Mon Sep 17 00:00:00 2001 From: ouyangxq <775153912@qq.com> Date: Mon, 28 Sep 2026 09:49:53 +0800 Subject: [PATCH] feat(client): show customs receipt history --- src/modules/first-leg/api/customs.ts | 8 ++++++++ .../first-leg/components/CustomsDocumentsDialog.vue | 5 +++++ 2 files changed, 13 insertions(+) diff --git a/src/modules/first-leg/api/customs.ts b/src/modules/first-leg/api/customs.ts index 59070f2..3c7d976 100644 --- a/src/modules/first-leg/api/customs.ts +++ b/src/modules/first-leg/api/customs.ts @@ -14,6 +14,13 @@ export interface MerchantCustomsFile { uploadedAt: string } +export interface MerchantCustomsReceiptVersion { + version: number + file: MerchantCustomsFile + operatorName: string | null + createdAt: string +} + export interface MerchantCustomsInbound { inboundId: string orderId: string @@ -36,6 +43,7 @@ export interface MerchantCustomsDocument { receiptStatus: 'PENDING' | 'CONFIRMED' | 'REJECTED' | null receiptRejectReason: string | null finalDocument: MerchantCustomsFile | null + receiptHistory?: MerchantCustomsReceiptVersion[] } export interface MerchantCustomsContainer { diff --git a/src/modules/first-leg/components/CustomsDocumentsDialog.vue b/src/modules/first-leg/components/CustomsDocumentsDialog.vue index 89ff1df..9ab6534 100644 --- a/src/modules/first-leg/components/CustomsDocumentsDialog.vue +++ b/src/modules/first-leg/components/CustomsDocumentsDialog.vue @@ -246,6 +246,10 @@ function formatDateTime(value: string | null | undefined) { return Number.isNaN(date.getTime()) ? value : date.toLocaleString('zh-CN', { hour12: false }) } +function receiptHistoryLabel(document: MerchantCustomsDocument) { + return (document.receiptHistory || []).map((item) => `V${item.version}`).join('、') || '—' +} + function formatSize(bytes: number) { if (bytes < 1024) return `${bytes} B` if (bytes < 1024 * 1024) return `${(bytes / 1024).toFixed(1)} KB` @@ -340,6 +344,7 @@ function clearanceResultStatusLabel(value: MerchantClearanceResult) {