From 2fc84d249cbdc21696bbd5a9765439643c4bd331 Mon Sep 17 00:00:00 2001 From: ouyangxq <775153912@qq.com> Date: Fri, 4 Sep 2026 14:43:34 +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 --- .../InboundMeasurementDialog.test.ts | 1 + .../measurement/InboundMeasurementDialog.vue | 2 +- src/shared/components/AppDialog.test.ts | 15 +++++++++- src/shared/components/AppDialog.vue | 28 ++++++++++++++----- 4 files changed, 37 insertions(+), 9 deletions(-) diff --git a/src/modules/inbounds/measurement/InboundMeasurementDialog.test.ts b/src/modules/inbounds/measurement/InboundMeasurementDialog.test.ts index 9c066939..328d8d00 100644 --- a/src/modules/inbounds/measurement/InboundMeasurementDialog.test.ts +++ b/src/modules/inbounds/measurement/InboundMeasurementDialog.test.ts @@ -14,6 +14,7 @@ describe('InboundMeasurementDialog', () => { expect(source).toContain('class="inbound-measurement-workspace-dialog"') expect(source).toContain('width="min(1240px, calc(100vw - 32px))"') expect(source).toContain('height: 92vh') + expect(source).toContain('padding: 10px 20px') expect(source).toContain(' .inbound-measurement-workspace-dialog.el-dialog { display: flex; max-width: calc(100vw - 32px); height: 92vh; max-height: 92vh; margin-bottom: 0; flex-direction: column; overflow: hidden; } -.inbound-measurement-workspace-dialog .el-dialog__header { flex: 0 0 auto; margin: 0; padding: 18px 24px; border-bottom: 1px solid var(--cc-border); } +.inbound-measurement-workspace-dialog .el-dialog__header { flex: 0 0 auto; margin: 0; padding: 10px 20px; border-bottom: 1px solid var(--cc-border); } .inbound-measurement-workspace-dialog .el-dialog__body { min-height: 0; flex: 1 1 auto; overflow-y: auto; padding: 20px 24px; } .inbound-measurement-workspace-dialog .el-dialog__footer { flex: 0 0 auto; padding: 14px 24px; border-top: 1px solid var(--cc-border); } .inbound-measurement-workspace-dialog .measurement-panel { border: 0; border-radius: 0; box-shadow: none; } diff --git a/src/shared/components/AppDialog.test.ts b/src/shared/components/AppDialog.test.ts index a1b6be1c..b0ca1803 100644 --- a/src/shared/components/AppDialog.test.ts +++ b/src/shared/components/AppDialog.test.ts @@ -8,12 +8,13 @@ import AppDialog from './AppDialog.vue' const ElDialogStub = defineComponent({ props: { modelValue: Boolean, + title: String, showClose: Boolean, closeOnClickModal: Boolean, closeOnPressEscape: Boolean, fullscreen: Boolean, }, - template: '
', + template: '

{{ title }}

', }) const ElButtonStub = defineComponent({ @@ -73,6 +74,9 @@ describe('AppDialog', () => { const wrapper = mountDialog({ fullscreenable: true, defaultFullscreen: true }) expect(wrapper.getComponent(ElDialogStub).props('fullscreen')).toBe(true) + expect(wrapper.get('[data-testid="native-title"]').text()).toBe('编辑资料') + expect(wrapper.find('.app-dialog__header').exists()).toBe(false) + expect(wrapper.find('.app-dialog__native-fullscreen-control').exists()).toBe(true) expect(wrapper.find('button[aria-label="退出全屏"]').exists()).toBe(true) await wrapper.get('button[aria-label="退出全屏"]').trigger('click') @@ -88,4 +92,13 @@ describe('AppDialog', () => { expect(source).toContain(':global(.app-dialog .el-dialog__body) { min-height: 0; overflow-y: auto;') expect(source).toContain('max-height: calc(100svh - 20px)') }) + + it('keeps the native title bar when fullscreen is enabled without a custom header', () => { + const source = readFileSync(resolve(process.cwd(), 'src/shared/components/AppDialog.vue'), 'utf8') + + expect(source).toContain('