diff --git a/frontend/scripts/verify-ui-contract.mjs b/frontend/scripts/verify-ui-contract.mjs index 33b5713f..0a19f1a0 100644 --- a/frontend/scripts/verify-ui-contract.mjs +++ b/frontend/scripts/verify-ui-contract.mjs @@ -20,7 +20,10 @@ const requiredUnifiedTokens = [ "--unified-shell-bg", "--unified-shell-radius", ".unified-action-bar", - ".unified-section" + ".unified-section", + ".ctms-page-shell", + ".ctms-page-header-row", + ".ctms-page-content-grid" ]; const missing = [ diff --git a/frontend/src/components/Layout.vue b/frontend/src/components/Layout.vue index 7fb743d1..377466b7 100644 --- a/frontend/src/components/Layout.vue +++ b/frontend/src/components/Layout.vue @@ -195,7 +195,9 @@
- +
+ +
@@ -704,6 +706,10 @@ const onCommand = (cmd: string) => { background: #f7f8fb; } +.ctms-route-shell { + min-height: 100%; +} + /* 过渡动画 */ .fade-transform-enter-active, .fade-transform-leave-active { diff --git a/frontend/src/styles/unified-page.css b/frontend/src/styles/unified-page.css index f985b8c2..507f9373 100644 --- a/frontend/src/styles/unified-page.css +++ b/frontend/src/styles/unified-page.css @@ -9,6 +9,22 @@ --unified-muted-color: #6f84a8; } +.ctms-page-shell { + padding: 16px 20px 20px; +} + +.ctms-page-header-row { + display: flex; + justify-content: space-between; + align-items: center; + gap: 12px; +} + +.ctms-page-content-grid { + display: grid; + gap: 12px; +} + .unified-shell { background: var(--unified-shell-bg); border: 0;