2023-12-21 16:42:39 +08:00
|
|
|
<template>
|
2024-01-05 14:02:22 +08:00
|
|
|
<div class='nav-bar'>
|
|
|
|
|
<div v-if='config.layout.shrink && config.layout.menuCollapse' class='unfold'>
|
|
|
|
|
<Icon @click='onMenuCollapse' name='fa fa-indent' :color="config.getColorVal('menuActiveColor')"
|
|
|
|
|
size='18' />
|
2023-12-21 16:42:39 +08:00
|
|
|
</div>
|
2024-01-05 14:02:22 +08:00
|
|
|
<span class='nav-bar-title'>电能质量数据监测云平台</span>
|
2023-12-21 16:42:39 +08:00
|
|
|
<NavMenus />
|
|
|
|
|
</div>
|
|
|
|
|
</template>
|
|
|
|
|
|
2024-01-05 14:02:22 +08:00
|
|
|
<script setup lang='ts'>
|
2023-12-21 16:42:39 +08:00
|
|
|
import { useConfig } from '@/stores/config'
|
|
|
|
|
import NavTabs from '@/layouts/admin/components/navBar/tabs.vue'
|
|
|
|
|
import NavMenus from '../navMenus.vue'
|
|
|
|
|
import { showShade } from '@/utils/pageShade'
|
|
|
|
|
|
|
|
|
|
const config = useConfig()
|
|
|
|
|
|
|
|
|
|
const onMenuCollapse = () => {
|
|
|
|
|
showShade('ba-aside-menu-shade', () => {
|
|
|
|
|
config.setLayout('menuCollapse', true)
|
|
|
|
|
})
|
|
|
|
|
config.setLayout('menuCollapse', false)
|
|
|
|
|
}
|
|
|
|
|
</script>
|
|
|
|
|
|
2024-01-05 14:02:22 +08:00
|
|
|
<style scoped lang='scss'>
|
2023-12-21 16:42:39 +08:00
|
|
|
.nav-bar {
|
|
|
|
|
display: flex;
|
2024-01-05 11:35:13 +08:00
|
|
|
align-items: center;
|
|
|
|
|
height: 60px;
|
2023-12-21 16:42:39 +08:00
|
|
|
width: 100%;
|
|
|
|
|
background-color: v-bind('config.getColorVal("headerBarBackground")');
|
2024-01-05 14:02:22 +08:00
|
|
|
|
|
|
|
|
.nav-bar-title {
|
|
|
|
|
color: v-bind('config.getColorVal("headerBarTabColor")');
|
|
|
|
|
font-size: 24px;
|
|
|
|
|
margin-left: 10px;
|
|
|
|
|
font-weight: 700
|
|
|
|
|
}
|
|
|
|
|
|
2023-12-21 16:42:39 +08:00
|
|
|
:deep(.nav-tabs) {
|
|
|
|
|
display: flex;
|
|
|
|
|
height: 100%;
|
|
|
|
|
position: relative;
|
2024-01-05 14:02:22 +08:00
|
|
|
|
2023-12-21 16:42:39 +08:00
|
|
|
.ba-nav-tab {
|
|
|
|
|
display: flex;
|
|
|
|
|
align-items: center;
|
|
|
|
|
justify-content: center;
|
|
|
|
|
padding: 0 20px;
|
|
|
|
|
cursor: pointer;
|
|
|
|
|
z-index: 1;
|
|
|
|
|
height: 100%;
|
|
|
|
|
user-select: none;
|
|
|
|
|
color: v-bind('config.getColorVal("headerBarTabColor")');
|
|
|
|
|
transition: all 0.2s;
|
|
|
|
|
-webkit-transition: all 0.2s;
|
2024-01-05 14:02:22 +08:00
|
|
|
|
2023-12-21 16:42:39 +08:00
|
|
|
.close-icon {
|
|
|
|
|
padding: 2px;
|
|
|
|
|
margin: 2px 0 0 4px;
|
2024-01-03 13:20:19 +08:00
|
|
|
color: v-bind('config.getColorVal("headerBarTabColor")') !important;
|
2023-12-21 16:42:39 +08:00
|
|
|
}
|
2024-01-05 14:02:22 +08:00
|
|
|
|
2023-12-21 16:42:39 +08:00
|
|
|
&.active {
|
|
|
|
|
color: v-bind('config.getColorVal("headerBarTabActiveColor")');
|
2024-01-05 14:02:22 +08:00
|
|
|
|
2024-01-03 13:20:19 +08:00
|
|
|
.close-icon {
|
2024-01-03 14:04:56 +08:00
|
|
|
color: v-bind('config.getColorVal("headerBarTabActiveColor")') !important;;
|
2024-01-03 13:20:19 +08:00
|
|
|
}
|
2023-12-21 16:42:39 +08:00
|
|
|
}
|
2024-01-05 14:02:22 +08:00
|
|
|
|
2023-12-21 16:42:39 +08:00
|
|
|
&:hover {
|
2023-12-27 15:06:57 +08:00
|
|
|
color: v-bind('config.getColorVal("headerBarTabActiveColor")');
|
2023-12-21 16:42:39 +08:00
|
|
|
background-color: v-bind('config.getColorVal("headerBarHoverBackground")');
|
2024-01-05 14:02:22 +08:00
|
|
|
|
2024-01-03 13:20:19 +08:00
|
|
|
.close-icon {
|
2024-01-03 14:04:56 +08:00
|
|
|
color: v-bind('config.getColorVal("headerBarTabActiveColor")') !important;;
|
2024-01-03 13:20:19 +08:00
|
|
|
}
|
2023-12-21 16:42:39 +08:00
|
|
|
}
|
|
|
|
|
}
|
2024-01-05 14:02:22 +08:00
|
|
|
|
2023-12-21 16:42:39 +08:00
|
|
|
.nav-tabs-active-box {
|
|
|
|
|
position: absolute;
|
|
|
|
|
height: 50px;
|
|
|
|
|
background-color: v-bind('config.getColorVal("headerBarTabActiveBackground")');
|
|
|
|
|
transition: all 0.2s;
|
|
|
|
|
-webkit-transition: all 0.2s;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
2024-01-05 14:02:22 +08:00
|
|
|
|
2023-12-21 16:42:39 +08:00
|
|
|
.unfold {
|
|
|
|
|
align-self: center;
|
|
|
|
|
padding-left: var(--ba-main-space);
|
|
|
|
|
}
|
|
|
|
|
</style>
|