修复采购审核竞态并整理管理页面展示

This commit is contained in:
2026-10-30 15:42:37 +08:00
parent 8cc8b4fb94
commit 4abd6ffd5d
23 changed files with 791 additions and 75 deletions
@@ -1321,8 +1321,8 @@ async function loadMeasurementDetails() {
? savedModes[0]!
: configuredMode === 'MULTIPLY' && activeMeasurementChargeRule.value
? 'MULTIPLY' : configuredMode === 'ADD' ? 'ADD' : 'ACTUAL'
measurementSectionModes.customer = configuredMode === 'MULTIPLY' && activeMeasurementChargeRule.value
? 'MULTIPLY' : configuredMode === 'ADD' ? 'ADD' : 'ACTUAL'
// 客户下单数据默认展示原始申报尺寸,不能跟随外箱计费默认规则调整。
measurementSectionModes.customer = 'ACTUAL'
measurementSectionModes.actual = 'ACTUAL'
measurementLoadedKey.value = key
} catch (error) {
@@ -2494,7 +2494,7 @@ function orderDialogTitle(action: string, inboundCode?: string | null) {
<td><div class="density-table-editor density-table-editor--outlined"><el-input-number id="fee-confirm-unit-price" v-model="feeConfirmUnitPrice" :min="0" :precision="4" :controls="false" :disabled="feeConfirmReferenceLoading || confirmFeeSending" placeholder="请输入对客单价" /><span>{{ feeConfirmPriceUnit }}</span></div></td>
</tr>
<tr v-if="feeConfirmReference">
<th scope="row">参考计费量</th><td>{{ formatNumber(Number(feeConfirmReference.chargeableQuantity), feeConfirmReference.roundingScale) }} {{ feeConfirmReference.chargeUnit }}</td>
<th scope="row">参考计费量</th><td>{{ formatNumber(Number(feeConfirmReference.chargeableQuantity), feeConfirmReference.chargeUnit === 'KG' ? 2 : feeConfirmReference.roundingScale) }} {{ feeConfirmReference.chargeUnit }}</td>
<th scope="row">按当前单价预计合计</th><td><strong>{{ feeConfirmEstimatedTotal == null ? '—' : feeConfirmMoney(feeConfirmEstimatedTotal, feeConfirmReference.currency) }}</strong></td>
</tr>
<tr v-if="feeConfirmPriceChanged">
@@ -2707,7 +2707,7 @@ function orderDialogTitle(action: string, inboundCode?: string | null) {
<p>{{ detail.summary.measurement?.completedAt ? `测量完成于 ${formatDate(detail.summary.measurement.completedAt)}` : '尚未完成测量' }}</p>
<div class="measurement-title-actions">
<el-button
v-if="can('firstleg:inbound:confirm-send-fee') && automaticFee?.feeStatus !== 'SENT' && !['LOADED', 'DELIVERED'].includes(detail.summary.mainStatus)"
v-if="can('firstleg:inbound:confirm-send-fee') && !measurementDetail?.customerFeeConfirmed && !['LOADED', 'DELIVERED'].includes(detail.summary.mainStatus)"
type="primary"
:loading="confirmFeeSending"
title="确认并发送费用"
@@ -2803,13 +2803,13 @@ function orderDialogTitle(action: string, inboundCode?: string | null) {
<el-table-column label="托盘类型" width="160">
<template #default="{ row: weightResult }">{{ weightResult.palletType || '未记录类型' }}</template>
</el-table-column>
<el-table-column label="服务端确认毛重(kg)" min-width="180" align="right">
<el-table-column label="服务端确认毛重(kg)" min-width="180" align="left">
<template #default="{ row: weightResult }">{{ formatNumber(weightResult.grossWeightKg) }}</template>
</el-table-column>
<el-table-column label="托盘皮重(kg)" min-width="140" align="right">
<el-table-column label="托盘皮重(kg)" min-width="140" align="left">
<template #default="{ row: weightResult }">{{ formatNumber(weightResult.palletTareWeightKg) }}</template>
</el-table-column>
<el-table-column label="货物重量(kg)" min-width="140" align="right">
<el-table-column label="货物重量(kg)" min-width="140" align="left">
<template #default="{ row: weightResult }">{{ formatNumber(weightResult.netWeightKg) }}</template>
</el-table-column>
</el-table>