fix: render header in all layouts (sidebar layout has tools-only header)
左右布局顶栏仅不含导航菜单,折叠/面包屑/全屏/暗黑/设置/用户等工具照常; 固定顶栏对所有布局生效(移除左右禁用)。 Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
parent
6ef0b1121c
commit
86af3c10e1
@ -36,7 +36,7 @@
|
||||
</el-menu>
|
||||
</div>
|
||||
|
||||
<ty-breadcrumb v-if="showBreadcrumb && layout !== 'top'" :items="breadcrumbs" class="ty-header__breadcrumb" />
|
||||
<ty-breadcrumb v-if="showBreadcrumb" :items="breadcrumbs" class="ty-header__breadcrumb" />
|
||||
|
||||
<div class="ty-header__right">
|
||||
<button v-if="showFullscreen" class="ty-header__action" type="button" title="全屏" @click="emit('toggle-fullscreen')">
|
||||
|
||||
@ -20,7 +20,7 @@
|
||||
</div>
|
||||
<div class="ty-setting-panel__row">
|
||||
<span>固定顶栏</span>
|
||||
<el-switch v-model="local.headerFixed" :disabled="local.layout === 'sidebar'" @change="emitUpdate" />
|
||||
<el-switch v-model="local.headerFixed" @change="emitUpdate" />
|
||||
</div>
|
||||
<div class="ty-setting-panel__row">
|
||||
<span>固定底部</span>
|
||||
|
||||
@ -1,7 +1,6 @@
|
||||
<template>
|
||||
<div class="app-shell" :style="cssVars">
|
||||
<ty-header
|
||||
v-if="app.hasHeader"
|
||||
:title="title"
|
||||
:has-sidebar="app.hasSidebar"
|
||||
:collapsed="app.sidebarCollapsed"
|
||||
@ -112,11 +111,11 @@ const breadcrumbs = computed<BreadcrumbItem[]>(() => {
|
||||
return [{ title: top.name }]
|
||||
})
|
||||
|
||||
/** 侧边栏 sticky 定位(有固定顶栏时往下让出顶栏高度)。 */
|
||||
/** 侧边栏 sticky 定位(顶栏固定时往下让出顶栏高度)。 */
|
||||
const cssVars = computed(() => ({
|
||||
'--ty-header-height': `${HEADER_HEIGHT}px`,
|
||||
'--ty-sidebar-top': app.hasHeader && app.headerFixed ? `${HEADER_HEIGHT}px` : '0px',
|
||||
'--ty-sidebar-height': app.hasHeader && app.headerFixed ? `calc(100vh - ${HEADER_HEIGHT}px)` : '100vh',
|
||||
'--ty-sidebar-top': app.headerFixed ? `${HEADER_HEIGHT}px` : '0px',
|
||||
'--ty-sidebar-height': app.headerFixed ? `calc(100vh - ${HEADER_HEIGHT}px)` : '100vh',
|
||||
}))
|
||||
|
||||
/** 布局设置快照(传给设置面板)。 */
|
||||
|
||||
@ -22,9 +22,6 @@ export const useAppStore = defineStore(
|
||||
const showFullscreen = ref(defaultLayout.showFullscreen)
|
||||
const menuAccordion = ref(defaultLayout.menuAccordion)
|
||||
|
||||
/** 是否有顶栏:horizontal / top 有,sidebar(左右)无。 */
|
||||
const hasHeader = computed(() => layout.value !== 'sidebar')
|
||||
|
||||
/** 是否渲染侧边栏:horizontal / sidebar 有,top 无。 */
|
||||
const hasSidebar = computed(() => layout.value !== 'top')
|
||||
|
||||
@ -44,7 +41,6 @@ export const useAppStore = defineStore(
|
||||
showTabs,
|
||||
showFullscreen,
|
||||
menuAccordion,
|
||||
hasHeader,
|
||||
hasSidebar,
|
||||
hasMixbar,
|
||||
}
|
||||
|
||||
File diff suppressed because one or more lines are too long
Loading…
x
Reference in New Issue
Block a user