From 1f04b00b0aa5f35bdcf74e25dec388e3172d7f65 Mon Sep 17 00:00:00 2001 From: From-wh Date: Fri, 21 Apr 2023 17:53:54 +0800 Subject: [PATCH] =?UTF-8?q?improve:=20=E4=BB=A3=E7=A0=81=E7=94=9F=E6=88=90?= =?UTF-8?q?=E5=8F=8A=E8=8F=9C=E5=8D=95=E5=88=B7=E6=96=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- template/admin/src/layout/component/aside.vue | 9 + .../src/layout/component/columnsAside.vue | 16 +- .../src/layout/navBars/breadcrumb/index.vue | 9 +- .../src/layout/navBars/breadcrumb/setings.vue | 4 + template/admin/src/main.js | 54 +--- .../admin/src/pages/account/login/index.vue | 2 + .../systemMenus/components/menusFrom.vue | 2 +- .../src/pages/setting/systemMenus/index.vue | 242 +++++++++--------- .../pages/system/backendRouting/debugging.vue | 34 +-- .../src/pages/system/backendRouting/index.vue | 35 ++- .../pages/system/backendRouting/request.js | 53 +--- .../src/pages/system/codeGeneration/index.vue | 3 + template/admin/src/store/module/menus.js | 4 + template/admin/src/store/module/routesList.js | 32 +-- 14 files changed, 235 insertions(+), 264 deletions(-) diff --git a/template/admin/src/layout/component/aside.vue b/template/admin/src/layout/component/aside.vue index 60092cfcf..c2d0cc66f 100644 --- a/template/admin/src/layout/component/aside.vue +++ b/template/admin/src/layout/component/aside.vue @@ -94,6 +94,15 @@ export default { this.$refs.layoutAsideRef.update(); }, 300); }); + if (this.$store.state.themeConfig.themeConfig.layout !== 'columns') { + this.bus.$on('routesListChange', () => { + console.log('变了大哥'); + this.setFilterRoutes(); + }); + } + }, + beforeDestroy() { + this.bus.$off('routesListChange'); }, methods: { // 设置/过滤路由(非静态路由/是否显示在菜单中) diff --git a/template/admin/src/layout/component/columnsAside.vue b/template/admin/src/layout/component/columnsAside.vue index 15832b0de..ef61f0f1c 100644 --- a/template/admin/src/layout/component/columnsAside.vue +++ b/template/admin/src/layout/component/columnsAside.vue @@ -29,7 +29,7 @@ $t(v.title) && $t(v.title).length >= 4 ? $t(v.title).substr(0, setColumnsAsidelayout === 'columns-vertical' ? 4 : 3) : $t(v.title) - }} + }}1 @@ -63,13 +63,27 @@ export default { }, // 设置分栏布局风格 setColumnsAsidelayout() { + console.log('111'); return this.$store.state.themeConfig.themeConfig.columnsAsideLayout; }, Layout() { return this.$store.state.themeConfig.themeConfig.Layout; }, + routesList() { + console.log('大哥'); + + this.$store.state.routesList.routesList; + }, + }, + beforeDestroy() { + console.log('zoule'); + this.bus.$off('routesListChange'); }, mounted() { + this.bus.$on('routesListChange', () => { + console.log('变了大哥'); + this.setFilterRoutes(); + }); this.setFilterRoutes(); }, methods: { diff --git a/template/admin/src/layout/navBars/breadcrumb/index.vue b/template/admin/src/layout/navBars/breadcrumb/index.vue index 61f064b27..fedf42bf4 100644 --- a/template/admin/src/layout/navBars/breadcrumb/index.vue +++ b/template/admin/src/layout/navBars/breadcrumb/index.vue @@ -34,6 +34,13 @@ export default { }, mounted() { this.setFilterRoutes(); + this.bus.$on('routesListChange', () => { + console.log('变了大哥'); + this.setFilterRoutes(); + }); + }, + beforeDestroy() { + this.bus.$off('routesListChange'); }, methods: { // 设置路由的过滤 @@ -72,6 +79,6 @@ export default { padding-right: 15px; overflow: hidden; background: var(--prev-bg-topBar); -// border-bottom: 1px solid var(--prev-border-color-lighter); + // border-bottom: 1px solid var(--prev-border-color-lighter); } diff --git a/template/admin/src/layout/navBars/breadcrumb/setings.vue b/template/admin/src/layout/navBars/breadcrumb/setings.vue index e50ebbf89..c30bcfabf 100644 --- a/template/admin/src/layout/navBars/breadcrumb/setings.vue +++ b/template/admin/src/layout/navBars/breadcrumb/setings.vue @@ -365,12 +365,16 @@ export default { themeSelect['--prev-MenuActiveColor'] = '#fff'; if (val == 'theme-1') { themeSelect['--prev-bg-menu-hover-ba-color'] = '#1890ff'; + themeSelect['--prev-bg-menuBar'] = '#282c34'; } else if (val == 'theme-3') { themeSelect['--prev-bg-menu-hover-ba-color'] = '#41b584'; + themeSelect['--prev-bg-menuBar'] = '#282c34'; } else if (val == 'theme-5') { themeSelect['--prev-bg-menu-hover-ba-color'] = '#6954f0'; + themeSelect['--prev-bg-menuBar'] = '#282c34'; } else if (val == 'theme-7') { themeSelect['--prev-bg-menu-hover-ba-color'] = '#f34d37'; + themeSelect['--prev-bg-menuBar'] = '#282c34'; } } else if (this.getThemeConfig.layout === 'columns') { themeSelect['--prev-bg-topBar'] = '#fff'; diff --git a/template/admin/src/main.js b/template/admin/src/main.js index 4470abf62..4b926af22 100644 --- a/template/admin/src/main.js +++ b/template/admin/src/main.js @@ -195,55 +195,15 @@ new Vue({ watch: { // 监听路由 控制侧边栏显示 标记当前顶栏菜单(如需要) $route(to, from) { - console.log(to, 'newRoute'); const onRoutes = to.meta.activeMenu ? to.meta.activeMenu : ''; this.$store.commit('menu/setActivePath', onRoutes); - - // const path = to.path; - // let menus = this.$store.state.menus.menusName; - // const menuSider = menus; - // const headerName = getHeaderName(to, menuSider); - // if (headerName !== null) { - // this.$store.commit('menu/setActivePath', path); - // let openNameList = getMenuopen(to, menuSider); - // this.$store.commit('menus/setopenMenus', openNameList); - // const openNames = getSiderSubmenu(to, menuSider); - // this.$store.commit('menu/setOpenNames', openNames); - // // 设置顶栏菜单 后台添加一个接口,设置顶部菜单 - // const headerSider = getHeaderSider(menuSider); - // this.$store.commit('menu/setHeader', headerSider); - // // 指定当前侧边栏隶属顶部菜单名称。如果你没有使用顶部菜单,则设置为默认的(一般为 home)名称即可 - // this.$store.commit('menu/setHeaderName', headerName); - // // 获取侧边栏菜单 - // const filterMenuSider = getMenuSider(menuSider, headerName); - // // 指定当前显示的侧边菜单 - // this.$store.commit('menu/setOpenMenuName', filterMenuSider[0].title); - // this.$store.commit('menu/setSider', filterMenuSider[0]?.children || []); - // } else { - // //子路由给默认 如果你没有使用顶部菜单,则设置为默认的(一般为 home)名称即可 - // if (to.name == 'home_index') { - // this.$store.commit('menu/setHeaderName', settings.routePre + '/home/'); - // this.$store.commit('menu/setSider', []); - // } - // // 指定当前显示的侧边菜单 - // } - // if (to.meta.kefu) { - // document.getElementsByTagName('body')[0].className = 'kf_mobile'; - // } else { - // document.getElementsByTagName('body')[0].className = ''; - // } - // // var storage = window.localStorage; - // // let menus = JSON.parse(storage.getItem('menuList')); - // // this.getMenus().then(menus => { - // // 处理手动清除db 跳转403问题 - // if (!menus.length) { - // if (path !== '/admin/login') { - // this.$router.replace('/admin/login'); - // } - // return; - // } - // // 在 404 时,是没有 headerName 的 - // // }); + if (to.name == 'crud_crud') { + this.$store.state.menus.oneLvRoutes.map((e) => { + if (e.path === to.path) { + to.meta.title = e.title; + } + }); + } }, }, }); diff --git a/template/admin/src/pages/account/login/index.vue b/template/admin/src/pages/account/login/index.vue index 2caad821c..985ad03ca 100644 --- a/template/admin/src/pages/account/login/index.vue +++ b/template/admin/src/pages/account/login/index.vue @@ -214,6 +214,8 @@ export default { let arr = formatFlatteningRoutes(this.$router.options.routes); this.formatTwoStageRoutes(arr); this.$store.commit('menus/setOneLvMenus', arr); + let routes = formatFlatteningRoutes(data.menus); + this.$store.commit('menus/setOneLvRoute', routes); // 记录用户信息 this.$store.commit('userInfo/name', data.user_info.account); diff --git a/template/admin/src/pages/setting/systemMenus/components/menusFrom.vue b/template/admin/src/pages/setting/systemMenus/components/menusFrom.vue index ed40a621a..dbdeacd7c 100644 --- a/template/admin/src/pages/setting/systemMenus/components/menusFrom.vue +++ b/template/admin/src/pages/setting/systemMenus/components/menusFrom.vue @@ -407,7 +407,7 @@ export default { this.modals = false; this.$emit('changeMenu'); this.getAddFrom(); - this.$store.dispatch('admin/menus/getMenusNavList'); + // this.$store.dispatch('menus/getMenusNavList'); }) .catch((res) => { this.valids = false; diff --git a/template/admin/src/pages/setting/systemMenus/index.vue b/template/admin/src/pages/setting/systemMenus/index.vue index 5c5634edb..c31cd2f84 100644 --- a/template/admin/src/pages/setting/systemMenus/index.vue +++ b/template/admin/src/pages/setting/systemMenus/index.vue @@ -2,11 +2,11 @@
@@ -19,30 +19,29 @@ - + + >添加规则 +
@@ -56,12 +55,12 @@