优化细节
This commit is contained in:
@@ -35,25 +35,30 @@ export const activeRouteId = ref<string>('home_index')
|
||||
/** 打开的标签页列表 */
|
||||
export const tabs = ref<TabItem[]>([])
|
||||
|
||||
/** 是否折叠主侧边栏 */
|
||||
/** 是否折叠主侧边栏 (CRMEB: 70px) */
|
||||
export const isMainAsideCollapsed = ref<boolean>(false)
|
||||
|
||||
/** 是否显示二级侧边栏状态控制 */
|
||||
export const showSubSider = ref<boolean>(true)
|
||||
|
||||
/** 屏幕宽度 */
|
||||
export const windowWidth = ref<number>(1024)
|
||||
|
||||
/** 是否为移动端布局 (width < 768) */
|
||||
export const isMobile = computed<boolean>(() => windowWidth.value < 768)
|
||||
/** 布局模式:desktop | tablet | mobile */
|
||||
export const layoutMode = computed<string>(() => {
|
||||
if (windowWidth.value < 768) return 'mobile'
|
||||
if (windowWidth.value < 1200) return 'tablet'
|
||||
return 'desktop'
|
||||
})
|
||||
|
||||
/** 移动端菜单是否展开 */
|
||||
/** 是否为移动端简易判断 */
|
||||
export const isMobile = computed<boolean>(() => layoutMode.value === 'mobile')
|
||||
|
||||
/** 移动端开关 */
|
||||
export const isMobileMenuOpen = ref<boolean>(false)
|
||||
|
||||
/** 是否显示二级侧边栏 */
|
||||
export const showSubSider = computed<boolean>(() => {
|
||||
if (isMobile.value) return false // 移动端不显式二级侧边栏在主体区域
|
||||
const topMenus = getTopMenus()
|
||||
const activeMenu = topMenus.find(m => m.id === activeTopMenuId.value)
|
||||
return activeMenu ? activeMenu.groups.length > 0 : false
|
||||
})
|
||||
/** 遮罩层开关 (用于 tablet 的 subSider overlay 和 mobile 的 aside overlay) */
|
||||
export const isOverlayVisible = ref<boolean>(false)
|
||||
|
||||
// ============================================
|
||||
// Actions
|
||||
@@ -175,6 +180,13 @@ export function toggleMainAsideCollapse(): void {
|
||||
isMainAsideCollapsed.value = !isMainAsideCollapsed.value
|
||||
}
|
||||
|
||||
/**
|
||||
* 切换二级侧边栏显示状态 (Desktop 模式)
|
||||
*/
|
||||
export function toggleSubSider(): void {
|
||||
showSubSider.value = !showSubSider.value
|
||||
}
|
||||
|
||||
/**
|
||||
* 初始化导航状态
|
||||
* 在 AdminLayout 组件 onMounted 时调用
|
||||
|
||||
Reference in New Issue
Block a user