From 3cd4f4f7b31af5a589805270c2f690396a1e42d3 Mon Sep 17 00:00:00 2001 From: ouyangxq <775153912@qq.com> Date: Fri, 4 Sep 2026 11:35:24 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../components/SmartLoadingDialog.test.ts | 6 +++ .../components/SmartLoadingDialog.vue | 32 ++-------------- .../pages/GlobalSmartLoadingView.vue | 5 ++- .../InboundMeasurementDialog.test.ts | 8 ++++ .../measurement/InboundMeasurementDialog.vue | 6 ++- src/shared/components/AppDialog.test.ts | 16 ++++++++ src/shared/components/AppDialog.vue | 37 ++++++++++++++++++- 7 files changed, 76 insertions(+), 34 deletions(-) diff --git a/src/modules/container-loading/components/SmartLoadingDialog.test.ts b/src/modules/container-loading/components/SmartLoadingDialog.test.ts index 26cc574e..8ad28fed 100644 --- a/src/modules/container-loading/components/SmartLoadingDialog.test.ts +++ b/src/modules/container-loading/components/SmartLoadingDialog.test.ts @@ -38,7 +38,13 @@ describe('SmartLoadingDialog', () => { it('keeps the outer dialog fixed so only workbench data panes scroll', () => { const source = readFileSync(resolve(process.cwd(), 'src/modules/container-loading/components/SmartLoadingDialog.vue'), 'utf8') + expect(source).toContain('fullscreenable') + expect(source).toContain('default-fullscreen') + expect(source).not.toContain('Maximize2') + expect(source).not.toContain('const fullscreen') + expect(source).toContain('.smart-loading-dialog.app-dialog.el-dialog:not(.is-fullscreen)') expect(source).toContain('height: 94vh; max-height: 94vh;') + expect(source).not.toContain('.smart-loading-dialog.app-dialog.el-dialog) { width: min(1600px, 98vw)') expect(source).toContain('flex: 1; padding: 0; overflow: hidden;') expect(source).toContain('min-height: 0; flex: 1; overflow: hidden;') }) diff --git a/src/modules/container-loading/components/SmartLoadingDialog.vue b/src/modules/container-loading/components/SmartLoadingDialog.vue index 33b5b4f2..fc4b3eba 100644 --- a/src/modules/container-loading/components/SmartLoadingDialog.vue +++ b/src/modules/container-loading/components/SmartLoadingDialog.vue @@ -1,15 +1,8 @@ @@ -18,38 +11,21 @@ watch(open, (value) => { class="smart-loading-dialog" title="智能装柜" width="min(1600px, 98vw)" - :fullscreen="fullscreen" + fullscreenable + default-fullscreen cancel-text="关闭" :show-confirm="false" destroy-on-close > - - - - 智能装柜 - - - - - - - - - diff --git a/src/modules/container-loading/pages/GlobalSmartLoadingView.vue b/src/modules/container-loading/pages/GlobalSmartLoadingView.vue index 22edc45b..62278091 100644 --- a/src/modules/container-loading/pages/GlobalSmartLoadingView.vue +++ b/src/modules/container-loading/pages/GlobalSmartLoadingView.vue @@ -588,6 +588,7 @@ async function mutate( fallback: string, recovery: { preserveDrafts?: Record; preserveAssign?: boolean; pickingConflict?: boolean } = {}, ) { + if (mutating.value) return mutating.value = true mutationError.value = null try { @@ -680,7 +681,7 @@ onMounted(() => { void load(); void loadCustomers() }) size="small" type="text" plain - :disabled="candidateBlocked(row as SmartLoadingCandidateRow)" + :disabled="mutating || candidateBlocked(row as SmartLoadingCandidateRow)" @click="openAssign(row)" >{{ row.coLoadGroupId ? '整组分配' : '加入' }} @@ -756,7 +757,7 @@ onMounted(() => { void load(); void loadCustomers() }) 重量{{ formatNumber(totalWeight, 1) }} / {{ formatNumber(weightLimit, 1) }} kg - 删除 + 删除 diff --git a/src/modules/inbounds/measurement/InboundMeasurementDialog.test.ts b/src/modules/inbounds/measurement/InboundMeasurementDialog.test.ts index fcb50478..9c066939 100644 --- a/src/modules/inbounds/measurement/InboundMeasurementDialog.test.ts +++ b/src/modules/inbounds/measurement/InboundMeasurementDialog.test.ts @@ -9,6 +9,8 @@ const orderListSource = readFileSync(resolve(process.cwd(), 'src/modules/unified describe('InboundMeasurementDialog', () => { it('owns the complete measurement workspace behind one centered dialog', () => { + expect(source).toContain("import AppDialog from '@/shared/components/AppDialog.vue'") + expect(source).toContain(' { expect(source).toContain('measurementPanelRef.value?.updateActualWeights(actualGrossWeightKg, actualNetWeightKg)') }) + it('offers the shared fullscreen control without forcing fullscreen on open', () => { + expect(source).toContain('fullscreenable') + expect(source).not.toContain('default-fullscreen') + expect(source).not.toContain(' { expect(source).toContain("`测量 · ${props.inboundCode?.trim() || '入仓码待补充'}`") expect(source).not.toContain('props.inboundCode?.trim() || props.inboundId') diff --git a/src/modules/inbounds/measurement/InboundMeasurementDialog.vue b/src/modules/inbounds/measurement/InboundMeasurementDialog.vue index d4986eca..f5c859c2 100644 --- a/src/modules/inbounds/measurement/InboundMeasurementDialog.vue +++ b/src/modules/inbounds/measurement/InboundMeasurementDialog.vue @@ -1,6 +1,7 @@ - 提交审核 - +