diff --git a/src/modules/unified-orders/pages/UnifiedOrdersView.test.ts b/src/modules/unified-orders/pages/UnifiedOrdersView.test.ts index c6c09e2b..f4317f72 100644 --- a/src/modules/unified-orders/pages/UnifiedOrdersView.test.ts +++ b/src/modules/unified-orders/pages/UnifiedOrdersView.test.ts @@ -367,12 +367,11 @@ describe('UnifiedOrdersView contract', () => { expect(source).toContain("updateMeasurementSectionMode('actual', $event)") expect(source).not.toContain("updateMeasurementSectionMode('outer', $event)") expect(source.match(/@change="selectAndSaveOuterMeasurementMode\(\$event\)"/g)).toHaveLength(2) - expect(source).toContain('@visible-change="handleOuterModeDropdownVisibleChange($event)"') + expect(source).not.toContain('@visible-change="handleOuterModeDropdownVisibleChange($event)"') expect(source.match(/:disabled="Boolean\(measurementStrategySavingId\) \|\| !can\('platform:firstleg:inbound:measure:edit'\)"/g)).toHaveLength(2) expect(source).toContain('const previousMode = measurementSectionModes.outer') expect(source).toContain('if (!saved) measurementSectionModes.outer = previousMode') - expect(source).toContain('const selectedSameMode = outerModeAtDropdownOpen.value === measurementSectionModes.outer') - expect(source).toContain('await nextTick()') + expect(source).not.toContain('handleOuterModeDropdownVisibleChange') expect(source).toContain('const saved = await updateMeasurementCalculationMode(null, mode, ruleId)') expect(source).toContain('calculatedMeasurementRow(row, measurementSectionModes.customer, true)') expect(source).toContain('calculatedMeasurementRow(source, measurementSectionModes.outer)') diff --git a/src/modules/unified-orders/pages/UnifiedOrdersView.vue b/src/modules/unified-orders/pages/UnifiedOrdersView.vue index 1c07f275..fbcb3e86 100644 --- a/src/modules/unified-orders/pages/UnifiedOrdersView.vue +++ b/src/modules/unified-orders/pages/UnifiedOrdersView.vue @@ -188,7 +188,6 @@ type MeasurementCalculationMode = 'ACTUAL' | 'ADD' | 'MULTIPLY' const measurementSectionModes = reactive>({ customer: 'ACTUAL', outer: 'ACTUAL', actual: 'ACTUAL', }) -const outerModeAtDropdownOpen = ref(null) const cargoImagePreviewUrls = new Set() const measurementDialogOpen = ref(false) const openWarehouseSuggestionOnMeasurementLoad = ref(false) @@ -463,21 +462,6 @@ async function selectAndSaveOuterMeasurementMode(mode: MeasurementCalculationMod if (!saved) measurementSectionModes.outer = previousMode } -async function handleOuterModeDropdownVisibleChange(visible: boolean) { - if (visible) { - outerModeAtDropdownOpen.value = measurementSectionModes.outer - return - } - // Element Plus may emit dropdown-close before change. Wait until the change handler has - // updated the mode/saving state, otherwise one click can submit both the old and new mode. - await nextTick() - const selectedSameMode = outerModeAtDropdownOpen.value === measurementSectionModes.outer - outerModeAtDropdownOpen.value = null - if (selectedSameMode && !measurementStrategySavingId.value) { - void selectAndSaveOuterMeasurementMode(measurementSectionModes.outer) - } -} - async function waitForSavedMeasurementVersion(tenantId: string, inboundId: string, savedVersion: number) { for (let attempt = 0; attempt < 6; attempt += 1) { try { @@ -2143,7 +2127,7 @@ onBeforeUnmount(() => {
箱规计算规则选择 - +