improve: 菜单字段整理

This commit is contained in:
From-wh 2023-02-24 16:02:47 +08:00
parent 2397e95a58
commit 3051afc927
2 changed files with 7 additions and 48 deletions

View File

@ -65,8 +65,8 @@
</div>
</div>
<div class="menu-collapsed" v-show="collapsed" :list="menuList">
<template v-for="item in menuList">
<div class="menu-collapsed" v-show="collapsed">
<template v-for="item in menusName">
<collapsed-menu
v-if="item.children && item.children.length > 0"
@on-click="collHandleSelect"
@ -111,12 +111,6 @@ export default {
siderTrigger,
},
props: {
menuList: {
type: Array,
default() {
return [];
},
},
collapsed: {
type: Boolean,
},
@ -150,7 +144,7 @@ export default {
};
},
computed: {
...mapState('menus', ['openMenus']),
...mapState('menus', ['menusName']),
...mapState('menu', ['activePath', 'openNames', 'header', 'headerName', 'sider', 'oneMenuName']),
...mapGetters('menu', ['filterSider']),
@ -165,12 +159,8 @@ export default {
this.$refs.childMenu.updateActiveName();
});
},
oneMenuName() {
this.$nextTick(() => {});
},
activePath() {
this.$nextTick(() => {
console.log();
this.$refs.childMenu.updateOpened();
this.$refs.childMenu.updateActiveName();
});
@ -188,13 +178,10 @@ export default {
mounted() {},
methods: {
handleCollpasedChange(state) {
console.log(state);
// this.collapsed = state;
this.$emit('on-coll-change', state);
// setCookies('collapsed', state);
},
handleSelect(name, type) {
this.menuList.map((e) => {
this.menusName.map((e) => {
if (e.path === name) {
this.turnToPage(this.getChilden(e));
}
@ -210,14 +197,6 @@ export default {
handleChildSelect(name) {
this.turnToPage(name);
},
jump(data) {
if (data[0].children) {
this.jump(data[0].children);
} else {
this.turnToPage(data[0].path);
}
},
collHandleSelect(name) {
this.turnToPage(name);
},
@ -238,10 +217,7 @@ export default {
query,
});
},
openNameData(n) {
// this.openedNames = n
// this.$store.commit('menus/getopenMenus', n)
},
openNameData(n) {},
openChildNameData(e) {},
},
};
@ -382,8 +358,8 @@ export default {
padding-left: 23px !important;
}
.ivu-menu-item {
padding-left: 35px !important;
}
padding-left: 35px !important;
}
}
}
.ivu-menu-vertical .ivu-menu-submenu-title {

View File

@ -37,7 +37,6 @@
:active-name="$route.path"
:collapsed="collapsed"
@on-select="turnToPage"
:menu-list="menuList"
>
<!-- 需要放在菜单上面的内容,如Logo,写在side-menu标签内部,如下 -->
</side-menu>
@ -145,20 +144,6 @@ export default {
];
return list;
},
menuList() {
let menus = this.$store.state.menus.menusName;
let newArray = [];
menus.forEach((now, index) => {
newArray[index] = now;
if (newArray[index].children && now.children) {
newArray[index].children = now.children.filter((item) => {
return !item.auth;
});
}
});
return newArray;
// return this.$store.state.menus.menusName
},
local() {
return this.$store.state.app.local;
},
@ -237,8 +222,6 @@ export default {
watch: {
$route(newRoute) {
this.headMenuNoShow = this.$route.meta.fullScreen;
let openNames = getMenuopen(newRoute, this.menuList);
this.$store.commit('menus/setopenMenus', openNames);
const { name, query, params, meta } = newRoute;
this.addTag({
route: { name, query, params, meta },