diff --git a/src/modules/unified-orders/pages/UnifiedOrdersView.vue b/src/modules/unified-orders/pages/UnifiedOrdersView.vue index f4fae895..b93bafc3 100644 --- a/src/modules/unified-orders/pages/UnifiedOrdersView.vue +++ b/src/modules/unified-orders/pages/UnifiedOrdersView.vue @@ -61,6 +61,7 @@ import { calculateInboundFee, confirmInboundFee, createFeeActionIdempotencyKey, + getLatestInboundFee, getInboundMeasurement, saveInboundMeasurementDraft, InboundFeePanel, @@ -1453,6 +1454,20 @@ async function executeConfirmAndSendFee() { try { const tenantId = String(summary.tenantId) const inboundId = String(summary.inboundId) + try { + const snapshot = await getLatestInboundFee(tenantId, inboundId) + if (snapshot.customerConfirmationStatus === 'CONFIRMED' || snapshot.customerConfirmedAt) { + ElMessage.warning('客户已确认该费用,费用已锁定,不允许再修改或重新发送') + feeConfirmOpen.value = false + return + } + } catch (error) { + const details = getApiErrorDetails(error, '费用状态查询失败,请刷新后重试') + if (details.code !== 'A0404') { + ElMessage.error(details.message) + return + } + } let snapshot = await calculateInboundFee(tenantId, inboundId, { selectedWeightKg, selectedVolumeCbm,