From 260409c071ffa1268e8f6aeef73544c8d1288625 Mon Sep 17 00:00:00 2001 From: liuyihe <2513762445@qq.com> Date: Tue, 13 Oct 2026 17:14:56 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BC=98=E5=8C=96=E6=A0=B7=E5=BC=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../overseas-warehouse/api/lastMileOrders.ts | 2 +- .../pages/LastMileOrderDetailView.vue | 15 +++++++++++++-- 2 files changed, 14 insertions(+), 3 deletions(-) diff --git a/src/modules/overseas-warehouse/api/lastMileOrders.ts b/src/modules/overseas-warehouse/api/lastMileOrders.ts index 8bdad927..096574a6 100644 --- a/src/modules/overseas-warehouse/api/lastMileOrders.ts +++ b/src/modules/overseas-warehouse/api/lastMileOrders.ts @@ -358,7 +358,7 @@ export interface LastMileOrderDetailDto { returnReceipt?: { order: { returnNo: string; status?: string; receivedQuantity: number; expectedQuantity: number } items?: Array<{ skuCode: string; productNameZh?: string; expectedQuantity: number; receivedQuantity: number }> - receipts: Array<{ receiptNo: string; unitType: string; unitCode?: string; palletCode?: string; receivedQuantity: number; boxCount: number; signedAt: string }> + receipts: Array<{ receiptNo: string; unitType: string; unitCode?: string; palletCode?: string; receivedQuantity: number; boxCount: number; signedAt: string; length?: number | null; width?: number | null; height?: number | null; weight?: number | null }> cartons?: Array<{ receiptNo: string; palletCode?: string; cartonMark: string; countStatus: string; countedAt?: string; items: Array<{ skuCode: string; productNameZh?: string; quantity: number }>; length?: number | null; width?: number | null; height?: number | null; weight?: number | null }> } | null order: LastMileOrderDto diff --git a/src/modules/overseas-warehouse/pages/LastMileOrderDetailView.vue b/src/modules/overseas-warehouse/pages/LastMileOrderDetailView.vue index 64bb2bd1..0633d7bb 100644 --- a/src/modules/overseas-warehouse/pages/LastMileOrderDetailView.vue +++ b/src/modules/overseas-warehouse/pages/LastMileOrderDetailView.vue @@ -58,6 +58,15 @@ function isSingleLineBusinessField(field: DetailField) { return field.label === const referenceValue = computed(() => lastMileOrderReference(detail.value?.order.orderNo, '订单编码待补充')) const isReturnOrder = computed(() => detail.value?.order.orderType === 'RETURN_RELABEL') const returnReceiptUnitLabel = computed(() => detail.value?.returnReceipt?.receipts.some(receipt => receipt.unitType === 'PARCEL') ? '包裹' : '箱') +const signedReturnCartons = computed(() => (detail.value?.returnReceipt?.cartons || []).map(box => { + const parcel = detail.value?.returnReceipt?.receipts.find(receipt => receipt.receiptNo === box.receiptNo && receipt.unitType === 'PARCEL') + return { ...box, length: box.length ?? parcel?.length, width: box.width ?? parcel?.width, height: box.height ?? parcel?.height, weight: box.weight ?? parcel?.weight } +})) +function returnCartonVolume(box: { length?: number | null; width?: number | null; height?: number | null }) { + if (box.length == null || box.width == null || box.height == null) return '—' + const volume = box.length * box.width * box.height / 1_000_000 + return Number.isFinite(volume) && volume >= 0 ? volume.toFixed(6).replace(/\.?0+$/, '') : '—' +} const showReturnForecast = computed(() => isReturnOrder.value && (detail.value?.returnReceipt?.order.status ? detail.value.returnReceipt.order.status !== 'COMPLETED' : ['PENDING_REVIEW', 'PENDING_RECEIPT', 'PARTIALLY_RECEIVED', 'REJECTED', 'CANCELLED'].includes(detail.value?.order.currentStatus || ''))) @@ -252,8 +261,8 @@ onMounted(load)
签收单 {{ box.receiptNo }} · 托盘 {{ box.palletCode }} · 确认时间 {{ formatOverseasDateTime(box.countedAt) }}
测量:{{ box.length ?? '—' }} × {{ box.width ?? '—' }} × {{ box.height ?? '—' }} cm · 重量 {{ box.weight ?? '—' }} kg