Files
admin-govern/src/utils/layout.ts

42 lines
1.2 KiB
TypeScript
Raw Normal View History

2023-12-21 16:42:39 +08:00
import type { CSSProperties } from 'vue'
import { useNavTabs } from '@/stores/navTabs'
import { useConfig } from '@/stores/config'
/**
* main高度
* @param extra main高度额外减去的px数,
* @returns CSSProperties
*/
2024-01-15 16:14:14 +08:00
export function mainHeight(extra = 0,divided =1): CSSProperties {
2023-12-21 16:42:39 +08:00
let height = extra
const adminLayoutMainExtraHeight: anyObj = {
2023-12-26 14:15:05 +08:00
Default: 60,
2024-01-19 14:08:07 +08:00
Classic: 105,
2023-12-21 16:42:39 +08:00
Streamline: 60
}
const config = useConfig()
const navTabs = useNavTabs()
if (!navTabs.state.tabFullScreen) {
height += adminLayoutMainExtraHeight[config.layout.layoutMode]
}
return {
2024-01-15 16:14:14 +08:00
height: 'calc((100vh - ' + height.toString() + 'px) / '+ divided+')'
2023-12-21 16:42:39 +08:00
}
}
/**
*
* @returns
*/
export function setNavTabsWidth() {
const navTabs = document.querySelector('.nav-tabs') as HTMLElement
if (!navTabs) {
return
}
const navBar = document.querySelector('.nav-bar') as HTMLElement
const navMenus = document.querySelector('.nav-menus') as HTMLElement
const minWidth = navBar.offsetWidth - (navMenus.offsetWidth + 20)
2024-01-05 11:35:13 +08:00
// navTabs.style.width = minWidth.toString() + 'px'
2023-12-21 16:42:39 +08:00
}