【新增】新增左上角折叠菜单功能
This commit is contained in:
parent
a4cfc69126
commit
1521fcc529
@ -21,7 +21,7 @@
|
|||||||
</a-menu-item>
|
</a-menu-item>
|
||||||
</a-menu>
|
</a-menu>
|
||||||
</div>
|
</div>
|
||||||
<div v-else>
|
<div v-else class="panel-item hidden-sm-and-down">
|
||||||
<a-popover v-if="menu.length > 1" placement="bottomLeft">
|
<a-popover v-if="menu.length > 1" placement="bottomLeft">
|
||||||
<template #content>
|
<template #content>
|
||||||
<a-row :gutter="[0, 5]" class="module-row">
|
<a-row :gutter="[0, 5]" class="module-row">
|
||||||
@ -35,9 +35,7 @@
|
|||||||
</div>
|
</div>
|
||||||
</a-row>
|
</a-row>
|
||||||
</template>
|
</template>
|
||||||
<div class="module-comp">
|
<appstore-outlined />
|
||||||
<appstore-outlined />
|
|
||||||
</div>
|
|
||||||
</a-popover>
|
</a-popover>
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
@ -123,18 +121,6 @@
|
|||||||
color: white;
|
color: white;
|
||||||
font-size: 8px;
|
font-size: 8px;
|
||||||
}
|
}
|
||||||
.module-comp {
|
|
||||||
display: flex;
|
|
||||||
padding: 0 15px;
|
|
||||||
height: 49px;
|
|
||||||
text-align: center;
|
|
||||||
justify-content: center;
|
|
||||||
align-items: center;
|
|
||||||
cursor: pointer;
|
|
||||||
}
|
|
||||||
.module-comp:hover {
|
|
||||||
background: var(--header-color-split);
|
|
||||||
}
|
|
||||||
.ant-menu-horizontal > .ant-menu-item::after,
|
.ant-menu-horizontal > .ant-menu-item::after,
|
||||||
.ant-menu-horizontal > .ant-menu-submenu::after {
|
.ant-menu-horizontal > .ant-menu-submenu::after {
|
||||||
content: none;
|
content: none;
|
||||||
|
@ -204,18 +204,6 @@
|
|||||||
align-items: center;
|
align-items: center;
|
||||||
height: 100%;
|
height: 100%;
|
||||||
}
|
}
|
||||||
.user-bar .panel-item {
|
|
||||||
padding: 0 10px;
|
|
||||||
cursor: pointer;
|
|
||||||
height: 100%;
|
|
||||||
display: flex;
|
|
||||||
align-items: center;
|
|
||||||
}
|
|
||||||
.user-bar .panel-item i {
|
|
||||||
}
|
|
||||||
.user-bar .panel-item:hover {
|
|
||||||
background: var(--header-color-split);
|
|
||||||
}
|
|
||||||
.user-bar .user-avatar {
|
.user-bar .user-avatar {
|
||||||
height: 49px;
|
height: 49px;
|
||||||
display: flex;
|
display: flex;
|
||||||
|
@ -28,17 +28,21 @@
|
|||||||
@select="onSelect"
|
@select="onSelect"
|
||||||
@openChange="onOpenChange"
|
@openChange="onOpenChange"
|
||||||
>
|
>
|
||||||
<NavMenu :nav-menus="menu"></NavMenu>
|
<NavMenu :nav-menus="menu" />
|
||||||
</a-menu>
|
</a-menu>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</a-layout-sider>
|
</a-layout-sider>
|
||||||
<!-- 手机端情况下的左侧菜单 -->
|
<!-- 手机端情况下的左侧菜单 -->
|
||||||
<Side-m v-if="ismobile"></Side-m>
|
<Side-m v-if="ismobile" />
|
||||||
<!-- 右侧布局 -->
|
<!-- 右侧布局 -->
|
||||||
<a-layout>
|
<a-layout>
|
||||||
<div id="snowyHeader" class="snowy-header">
|
<div id="snowyHeader" class="snowy-header">
|
||||||
<div class="snowy-header-left" style="padding-left: 0px">
|
<div class="snowy-header-left" style="padding-left: 0px">
|
||||||
|
<div v-if="!ismobile" class="panel-item hidden-sm-and-down" @click="menuIsCollapseClick">
|
||||||
|
<MenuUnfoldOutlined v-if="menuIsCollapse" />
|
||||||
|
<MenuFoldOutlined v-else />
|
||||||
|
</div>
|
||||||
<moduleMenu @switchModule="switchModule" />
|
<moduleMenu @switchModule="switchModule" />
|
||||||
<Topbar v-if="!ismobile && breadcrumbOpen" />
|
<Topbar v-if="!ismobile && breadcrumbOpen" />
|
||||||
</div>
|
</div>
|
||||||
@ -47,7 +51,7 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<!-- 多标签 -->
|
<!-- 多标签 -->
|
||||||
<Tags v-if="!ismobile && layoutTagsOpen"></Tags>
|
<Tags v-if="!ismobile && layoutTagsOpen" />
|
||||||
<a-layout-content class="main-content-wrapper">
|
<a-layout-content class="main-content-wrapper">
|
||||||
<div id="adminui-main" class="adminui-main">
|
<div id="adminui-main" class="adminui-main">
|
||||||
<router-view v-slot="{ Component }">
|
<router-view v-slot="{ Component }">
|
||||||
@ -55,7 +59,7 @@
|
|||||||
<component :is="Component" :key="$route.name" v-if="routeShow" />
|
<component :is="Component" :key="$route.name" v-if="routeShow" />
|
||||||
</keep-alive>
|
</keep-alive>
|
||||||
</router-view>
|
</router-view>
|
||||||
<iframe-view></iframe-view>
|
<iframe-view />
|
||||||
<div class="main-bottom-wrapper">
|
<div class="main-bottom-wrapper">
|
||||||
<a style="color: #a0a0a0" :href="sysBaseConfig.SNOWY_SYS_COPYRIGHT_URL" target="_blank">{{
|
<a style="color: #a0a0a0" :href="sysBaseConfig.SNOWY_SYS_COPYRIGHT_URL" target="_blank">{{
|
||||||
sysBaseConfig.SNOWY_SYS_COPYRIGHT
|
sysBaseConfig.SNOWY_SYS_COPYRIGHT
|
||||||
@ -132,14 +136,18 @@
|
|||||||
:theme="secondMenuSideTheme"
|
:theme="secondMenuSideTheme"
|
||||||
@select="onSelect"
|
@select="onSelect"
|
||||||
>
|
>
|
||||||
<NavMenu :nav-menus="nextMenu"></NavMenu>
|
<NavMenu :nav-menus="nextMenu" />
|
||||||
</a-menu>
|
</a-menu>
|
||||||
</a-layout-sider>
|
</a-layout-sider>
|
||||||
<!-- 手机端情况下的左侧菜单 -->
|
<!-- 手机端情况下的左侧菜单 -->
|
||||||
<Side-m v-if="ismobile"></Side-m>
|
<Side-m v-if="ismobile" />
|
||||||
<a-layout>
|
<a-layout>
|
||||||
<div id="snowyHeader" class="snowy-header">
|
<div id="snowyHeader" class="snowy-header">
|
||||||
<div class="snowy-header-left" style="padding-left: 0px">
|
<div class="snowy-header-left" style="padding-left: 0px">
|
||||||
|
<div v-if="!ismobile" class="panel-item hidden-sm-and-down" @click="menuIsCollapseClick">
|
||||||
|
<MenuUnfoldOutlined v-if="menuIsCollapse" />
|
||||||
|
<MenuFoldOutlined v-else />
|
||||||
|
</div>
|
||||||
<moduleMenu @switchModule="switchModule" />
|
<moduleMenu @switchModule="switchModule" />
|
||||||
<Topbar v-if="!ismobile && breadcrumbOpen" />
|
<Topbar v-if="!ismobile && breadcrumbOpen" />
|
||||||
</div>
|
</div>
|
||||||
@ -156,7 +164,7 @@
|
|||||||
<component :is="Component" v-if="routeShow" :key="$route.name" />
|
<component :is="Component" v-if="routeShow" :key="$route.name" />
|
||||||
</keep-alive>
|
</keep-alive>
|
||||||
</router-view>
|
</router-view>
|
||||||
<iframe-view></iframe-view>
|
<iframe-view />
|
||||||
<div class="main-bottom-wrapper">
|
<div class="main-bottom-wrapper">
|
||||||
<a style="color: #a0a0a0" :href="sysBaseConfig.SNOWY_SYS_COPYRIGHT_URL" target="_blank">{{
|
<a style="color: #a0a0a0" :href="sysBaseConfig.SNOWY_SYS_COPYRIGHT_URL" target="_blank">{{
|
||||||
sysBaseConfig.SNOWY_SYS_COPYRIGHT
|
sysBaseConfig.SNOWY_SYS_COPYRIGHT
|
||||||
@ -184,7 +192,7 @@
|
|||||||
import moduleMenu from './components/moduleMenu.vue'
|
import moduleMenu from './components/moduleMenu.vue'
|
||||||
import { ThemeModeEnum } from '@/utils/enum'
|
import { ThemeModeEnum } from '@/utils/enum'
|
||||||
import { globalStore, keepAliveStore } from '@/store'
|
import { globalStore, keepAliveStore } from '@/store'
|
||||||
import { mapState, mapActions } from 'pinia'
|
import { mapState, mapStores, mapActions } from 'pinia'
|
||||||
import tool from '@/utils/tool'
|
import tool from '@/utils/tool'
|
||||||
|
|
||||||
export default defineComponent({
|
export default defineComponent({
|
||||||
@ -213,6 +221,7 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
computed: {
|
computed: {
|
||||||
|
...mapStores(globalStore),
|
||||||
...mapState(globalStore, [
|
...mapState(globalStore, [
|
||||||
'theme',
|
'theme',
|
||||||
'ismobile',
|
'ismobile',
|
||||||
@ -454,6 +463,9 @@
|
|||||||
})
|
})
|
||||||
return newMap
|
return newMap
|
||||||
},
|
},
|
||||||
|
menuIsCollapseClick() {
|
||||||
|
this.globalStore.toggleConfig('menuIsCollapse')
|
||||||
|
},
|
||||||
// 退出最大化
|
// 退出最大化
|
||||||
exitMaximize() {
|
exitMaximize() {
|
||||||
document.getElementById('app').classList.remove('main-maximize')
|
document.getElementById('app').classList.remove('main-maximize')
|
||||||
|
@ -236,6 +236,17 @@ a, button, input, textarea {
|
|||||||
align-items: center;
|
align-items: center;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.panel-item {
|
||||||
|
padding: 0 10px;
|
||||||
|
cursor: pointer;
|
||||||
|
height: 100%;
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
}
|
||||||
|
.panel-item:hover {
|
||||||
|
background: var(--header-color-split);
|
||||||
|
}
|
||||||
|
|
||||||
/* 多标签 */
|
/* 多标签 */
|
||||||
.snowy-tags {
|
.snowy-tags {
|
||||||
height: 40px;
|
height: 40px;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user