2025-01-15 20:19:34 +08:00
|
|
|
|
<template>
|
|
|
|
|
|
<a-layout class="layout" :class="[device]">
|
2025-02-28 15:22:12 +08:00
|
|
|
|
<!-- <template v-if="layoutMode === 'sidemenu'">
|
2025-01-15 20:19:34 +08:00
|
|
|
|
<side-menu
|
|
|
|
|
|
mode="inline"
|
|
|
|
|
|
:menus="menus"
|
|
|
|
|
|
@menuSelect="myMenuSelect"
|
|
|
|
|
|
:theme="navTheme"
|
|
|
|
|
|
:collapsed="collapsed"
|
|
|
|
|
|
:collapsible="true"
|
|
|
|
|
|
></side-menu>
|
2025-02-28 15:22:12 +08:00
|
|
|
|
</template> -->
|
2025-01-15 20:19:34 +08:00
|
|
|
|
|
|
|
|
|
|
<a-layout
|
|
|
|
|
|
:class="[layoutMode, `content-width-${contentWidth}`]"
|
|
|
|
|
|
:style="{ paddingLeft: fixSiderbar && isDesktop() ? `${sidebarOpened ? 200 : 80}px` : '0' }"
|
|
|
|
|
|
>
|
|
|
|
|
|
<!-- layout header -->
|
|
|
|
|
|
<global-header
|
|
|
|
|
|
:mode="layoutMode"
|
|
|
|
|
|
:menus="menus"
|
|
|
|
|
|
:theme="navTheme"
|
|
|
|
|
|
:collapsed="collapsed"
|
|
|
|
|
|
:device="device"
|
|
|
|
|
|
@toggle="toggle"
|
|
|
|
|
|
/>
|
|
|
|
|
|
|
|
|
|
|
|
<!-- layout content -->
|
|
|
|
|
|
<a-layout-content :style="{ height: '100%', paddingTop: fixedHeader ? '59px' : '0' }">
|
|
|
|
|
|
<slot></slot>
|
|
|
|
|
|
</a-layout-content>
|
|
|
|
|
|
|
|
|
|
|
|
<!-- layout footer -->
|
|
|
|
|
|
<a-layout-footer style="padding: 0px">
|
|
|
|
|
|
<global-footer />
|
|
|
|
|
|
</a-layout-footer>
|
|
|
|
|
|
</a-layout>
|
|
|
|
|
|
|
|
|
|
|
|
<!-- update-start---- author:os_chengtgen -- date:20190830 -- for:issues/463 -编译主题颜色已生效,但还一直转圈,显示主题 正在编译 ---- -->
|
|
|
|
|
|
<!--<setting-drawer></setting-drawer>-->
|
|
|
|
|
|
<!-- update-end---- author:os_chengtgen -- date:20190830 -- for:issues/463 -编译主题颜色已生效,但还一直转圈,显示主题 正在编译 ---- -->
|
|
|
|
|
|
</a-layout>
|
|
|
|
|
|
</template>
|
|
|
|
|
|
|
|
|
|
|
|
<script>
|
|
|
|
|
|
import SideMenu from '@/components/menu/SideMenu'
|
|
|
|
|
|
import GlobalHeader from '@/components/page/GlobalHeader'
|
|
|
|
|
|
import GlobalFooter from '@/components/page/GlobalFooter'
|
|
|
|
|
|
// update-start---- author:os_chengtgen -- date:20190830 -- for:issues/463 -编译主题颜色已生效,但还一直转圈,显示主题 正在编译 ------
|
|
|
|
|
|
// import SettingDrawer from '@/components/setting/SettingDrawer'
|
|
|
|
|
|
// 注释这个因为在个人设置模块已经加载了SettingDrawer页面
|
|
|
|
|
|
// update-end ---- author:os_chengtgen -- date:20190830 -- for:issues/463 -编译主题颜色已生效,但还一直转圈,显示主题 正在编译 ------
|
|
|
|
|
|
|
|
|
|
|
|
import { triggerWindowResizeEvent } from '@/utils/util'
|
|
|
|
|
|
import { mapState, mapActions } from 'vuex'
|
|
|
|
|
|
import { mixin, mixinDevice } from '@/utils/mixin.js'
|
|
|
|
|
|
|
|
|
|
|
|
export default {
|
|
|
|
|
|
name: 'GlobalLayout',
|
|
|
|
|
|
components: {
|
|
|
|
|
|
SideMenu,
|
|
|
|
|
|
GlobalHeader,
|
|
|
|
|
|
GlobalFooter,
|
|
|
|
|
|
// update-start---- author:os_chengtgen -- date:20190830 -- for:issues/463 -编译主题颜色已生效,但还一直转圈,显示主题 正在编译 ------
|
|
|
|
|
|
// // SettingDrawer
|
|
|
|
|
|
// 注释这个因为在个人设置模块已经加载了SettingDrawer页面
|
|
|
|
|
|
// update-end ---- author:os_chengtgen -- date:20190830 -- for:issues/463 -编译主题颜色已生效,但还一直转圈,显示主题 正在编译 ------
|
|
|
|
|
|
},
|
|
|
|
|
|
mixins: [mixin, mixinDevice],
|
|
|
|
|
|
data() {
|
|
|
|
|
|
return {
|
|
|
|
|
|
collapsed: false,
|
|
|
|
|
|
activeMenu: {},
|
|
|
|
|
|
menus: [],
|
|
|
|
|
|
}
|
|
|
|
|
|
},
|
|
|
|
|
|
computed: {
|
|
|
|
|
|
...mapState({
|
|
|
|
|
|
// 主路由
|
|
|
|
|
|
mainRouters: (state) => state.permission.addRouters,
|
|
|
|
|
|
// 后台菜单
|
|
|
|
|
|
permissionMenuList: (state) => state.user.permissionList,
|
|
|
|
|
|
}),
|
|
|
|
|
|
},
|
|
|
|
|
|
watch: {
|
|
|
|
|
|
sidebarOpened(val) {
|
|
|
|
|
|
this.collapsed = !val
|
|
|
|
|
|
},
|
|
|
|
|
|
},
|
|
|
|
|
|
created() {
|
|
|
|
|
|
//--update-begin----author:scott---date:20190320------for:根据后台菜单配置,判断是否路由菜单字段,动态选择是否生成路由(为了支持参数URL菜单)------
|
|
|
|
|
|
//this.menus = this.mainRouters.find((item) => item.path === '/').children;
|
|
|
|
|
|
this.menus = this.permissionMenuList
|
2025-01-16 18:49:40 +08:00
|
|
|
|
console.log(this.permissionMenuList)
|
2025-01-15 20:19:34 +08:00
|
|
|
|
// 根据后台配置菜单,重新排序加载路由信息
|
|
|
|
|
|
//console.log('----加载菜单逻辑----')
|
|
|
|
|
|
//console.log(this.mainRouters)
|
|
|
|
|
|
//console.log(this.permissionMenuList)
|
|
|
|
|
|
//console.log('----navTheme------'+this.navTheme)
|
|
|
|
|
|
//--update-end----author:scott---date:20190320------for:根据后台菜单配置,判断是否路由菜单字段,动态选择是否生成路由(为了支持参数URL菜单)------
|
|
|
|
|
|
},
|
|
|
|
|
|
methods: {
|
|
|
|
|
|
...mapActions(['setSidebar']),
|
|
|
|
|
|
toggle() {
|
|
|
|
|
|
this.collapsed = !this.collapsed
|
|
|
|
|
|
this.setSidebar(!this.collapsed)
|
|
|
|
|
|
triggerWindowResizeEvent()
|
|
|
|
|
|
},
|
|
|
|
|
|
menuSelect() {
|
|
|
|
|
|
if (!this.isDesktop()) {
|
|
|
|
|
|
this.collapsed = false
|
|
|
|
|
|
}
|
|
|
|
|
|
},
|
|
|
|
|
|
//update-begin-author:taoyan date:20190430 for:动态路由title显示配置的菜单title而不是其对应路由的title
|
|
|
|
|
|
myMenuSelect(value) {
|
|
|
|
|
|
//此处触发动态路由被点击事件
|
|
|
|
|
|
this.findMenuBykey(this.menus, value.key)
|
|
|
|
|
|
this.$emit('dynamicRouterShow', value.key, this.activeMenu.meta.title)
|
|
|
|
|
|
// update-begin-author:sunjianlei date:20191223 for: 修复刷新后菜单Tab名字显示异常
|
|
|
|
|
|
let storeKey = 'route:title:' + this.activeMenu.path
|
|
|
|
|
|
this.$ls.set(storeKey, this.activeMenu.meta.title)
|
|
|
|
|
|
// update-end-author:sunjianlei date:20191223 for: 修复刷新后菜单Tab名字显示异常
|
|
|
|
|
|
},
|
|
|
|
|
|
findMenuBykey(menus, key) {
|
|
|
|
|
|
for (let i of menus) {
|
|
|
|
|
|
if (i.path == key) {
|
|
|
|
|
|
this.activeMenu = { ...i }
|
|
|
|
|
|
} else if (i.children && i.children.length > 0) {
|
|
|
|
|
|
this.findMenuBykey(i.children, key)
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
},
|
|
|
|
|
|
//update-end-author:taoyan date:20190430 for:动态路由title显示配置的菜单title而不是其对应路由的title
|
|
|
|
|
|
},
|
|
|
|
|
|
}
|
|
|
|
|
|
</script>
|
|
|
|
|
|
</style>
|
|
|
|
|
|
<style lang="less">
|
|
|
|
|
|
@import '../../assets/less/Suless.less';
|
|
|
|
|
|
body {
|
|
|
|
|
|
// 打开滚动条固定显示
|
|
|
|
|
|
overflow-y: hidden;
|
|
|
|
|
|
|
|
|
|
|
|
&.colorWeak {
|
|
|
|
|
|
filter: invert(80%);
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
</style>
|