diff --git a/src/modules/first-leg/api/customs.ts b/src/modules/first-leg/api/customs.ts index 3c7d976..6b2d957 100644 --- a/src/modules/first-leg/api/customs.ts +++ b/src/modules/first-leg/api/customs.ts @@ -21,6 +21,17 @@ export interface MerchantCustomsReceiptVersion { createdAt: string } +export type MerchantCustomsConfirmationAction = 'CONFIRM' | 'REJECT' + +export interface MerchantCustomsConfirmationHistory { + id: string + receiptVersion: number + action: MerchantCustomsConfirmationAction + reason: string | null + operatorName: string + createdAt: string +} + export interface MerchantCustomsInbound { inboundId: string orderId: string @@ -44,6 +55,7 @@ export interface MerchantCustomsDocument { receiptRejectReason: string | null finalDocument: MerchantCustomsFile | null receiptHistory?: MerchantCustomsReceiptVersion[] + confirmationHistory: MerchantCustomsConfirmationHistory[] } export interface MerchantCustomsContainer { diff --git a/src/modules/first-leg/components/CustomsDocumentsDialog.vue b/src/modules/first-leg/components/CustomsDocumentsDialog.vue index 9ab6534..606f4e7 100644 --- a/src/modules/first-leg/components/CustomsDocumentsDialog.vue +++ b/src/modules/first-leg/components/CustomsDocumentsDialog.vue @@ -249,6 +249,9 @@ function formatDateTime(value: string | null | undefined) { function receiptHistoryLabel(document: MerchantCustomsDocument) { return (document.receiptHistory || []).map((item) => `V${item.version}`).join('、') || '—' } +function confirmationActionLabel(action: MerchantCustomsDocument['confirmationHistory'][number]['action']) { + return action === 'CONFIRM' ? '确认' : '打回' +} function formatSize(bytes: number) { if (bytes < 1024) return `${bytes} B` @@ -345,6 +348,7 @@ function clearanceResultStatusLabel(value: MerchantClearanceResult) { {{ item.source.fileName }} 版本 V{{ item.source.version }} · {{ formatSize(item.source.sizeBytes) }} · {{ formatDateTime(item.source.uploadedAt) }} 报关行回执历史:{{ receiptHistoryLabel(item) }} + {{ confirmationActionLabel(history.action) }} · {{ formatDateTime(history.createdAt) }} · {{ history.operatorName || '—' }} · {{ history.reason }} 关联入仓码:{{ item.inboundCodes.join('、') || '—' }}