From 78c2da9e0bc2d7e4e22d2088cde1f25437342deb Mon Sep 17 00:00:00 2001 From: From-wh Date: Fri, 24 Feb 2023 10:16:07 +0800 Subject: [PATCH] =?UTF-8?q?improve:=20=E6=96=B9=E6=B3=95/=E5=B1=82?= =?UTF-8?q?=E7=BA=A7?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../main/components/side-menu/side-menu.vue | 28 ++++++++----------- template/admin/src/main.js | 4 --- 2 files changed, 12 insertions(+), 20 deletions(-) diff --git a/template/admin/src/components/main/components/side-menu/side-menu.vue b/template/admin/src/components/main/components/side-menu/side-menu.vue index 13c6c5bfe..78b6f21ee 100644 --- a/template/admin/src/components/main/components/side-menu/side-menu.vue +++ b/template/admin/src/components/main/components/side-menu/side-menu.vue @@ -194,28 +194,26 @@ export default { // setCookies('collapsed', state); }, handleSelect(name, type) { - console.log(name, 'name'); this.menuList.map((e) => { if (e.path === name) { - if (e.children && e.children.length) { - this.jump(e.children); - this.catName = e.title; - } else { - // if (!type) { - // this.$emit('on-select', name); - // } - } + this.turnToPage(this.getChilden(e)); } }); }, + // 递归处理顶部菜单问题 + getChilden(data) { + if (data.children) { + return this.getChilden(data.children[0]); + } + return data.path; + }, handleChildSelect(name) { this.turnToPage(name); }, jump(data) { - if (data[0].children && data[0].children.length) { + if (data[0].children) { this.jump(data[0].children); } else { - console.log(data[0].path, 'data[0].path'); this.turnToPage(data[0].path); } }, @@ -244,9 +242,7 @@ export default { // this.openedNames = n // this.$store.commit('menus/getopenMenus', n) }, - openChildNameData(e) { - console.log(e); - }, + openChildNameData(e) {}, }, }; @@ -332,7 +328,7 @@ export default { } } .parent-menu { - z-index: 99; + z-index: 8; padding: 0 8px; box-shadow: 2px 0px 4px 0px rgba(0, 0, 0, 0.06); height: calc(~'100vh - 50px'); @@ -356,7 +352,7 @@ export default { } } .child-menu { - z-index: 88; + z-index: 8; .ivu-menu-vertical .ivu-menu-item { padding: 13px 10px; display: flex; diff --git a/template/admin/src/main.js b/template/admin/src/main.js index c6da0e682..02addce92 100644 --- a/template/admin/src/main.js +++ b/template/admin/src/main.js @@ -197,22 +197,18 @@ new Vue({ $route(to, from) { const path = to.path; let menus = this.$store.state.menus.menusName; - console.log(menus, 'menus'); const menuSider = menus; - this.$store.commit('menu/setActivePath', path); const openNames = getSiderSubmenu(to, menuSider); this.$store.commit('menu/setOpenNames', openNames); // 设置顶栏菜单 后台添加一个接口,设置顶部菜单 const headerSider = getHeaderSider(menuSider); - console.log(headerSider, 'headerSider'); this.$store.commit('menu/setHeader', headerSider); // 指定当前侧边栏隶属顶部菜单名称。如果你没有使用顶部菜单,则设置为默认的(一般为 home)名称即可 const headerName = getHeaderName(to, menuSider); this.$store.commit('menu/setHeaderName', headerName); // 获取侧边栏菜单 const filterMenuSider = getMenuSider(menuSider, headerName); - console.log(filterMenuSider, 'filterMenuSider'); // 指定当前显示的侧边菜单 this.$store.commit('menu/setOpenMenuName', filterMenuSider[0].title); this.$store.commit('menu/setSider', filterMenuSider[0]?.children || []);