diff --git a/vue-admin-wonderful-next/src/router/index.ts b/vue-admin-wonderful-next/src/router/index.ts index dbd9391..6dfe614 100644 --- a/vue-admin-wonderful-next/src/router/index.ts +++ b/vue-admin-wonderful-next/src/router/index.ts @@ -1,5 +1,5 @@ import { createRouter, createWebHashHistory, RouteRecordRaw } from "vue-router" -import { store } from "/@/store/index.ts"; +import { store } from "/@/store/index.ts" // 定义动态路由 export const dynamicRoutes = [ @@ -280,7 +280,8 @@ export const dynamicRoutes = [ { path: '/fun', name: 'funIndex', - component: () => import('/@/views/fun/index.vue'), + component: () => import('/@/views/layout/routerView/parent.vue'), + redirect: '/fun/tagsView', meta: { title: '功能', isLink: '', @@ -288,7 +289,22 @@ export const dynamicRoutes = [ isKeepAlive: true, isAffix: false, icon: 'iconfont icon-crew_feature' - } + }, + children: [ + { + path: '/fun/tagsView', + name: 'funTagsView', + component: () => import('/@/views/fun/tagsView/index.vue'), + meta: { + title: 'tagsView 操作', + isLink: '', + isHide: false, + isKeepAlive: true, + isAffix: false, + icon: 'el-icon-thumb' + } + } + ] }, { path: '/pages', diff --git a/vue-admin-wonderful-next/src/theme/app.scss b/vue-admin-wonderful-next/src/theme/app.scss index 0dfc972..97f90e2 100644 --- a/vue-admin-wonderful-next/src/theme/app.scss +++ b/vue-admin-wonderful-next/src/theme/app.scss @@ -51,7 +51,6 @@ body, width: 100%; } .layout-el-aside-br-color { - border-top: 1px solid rgb(238, 238, 238); border-right: 1px solid rgb(238, 238, 238); } .layout-aside-width-default { @@ -78,6 +77,9 @@ body, display: flex; overflow: hidden; } + .layout-hide { + display: none; + } } /* element plus 全局样式 diff --git a/vue-admin-wonderful-next/src/theme/element.scss b/vue-admin-wonderful-next/src/theme/element.scss index 4d1c342..a96442f 100644 --- a/vue-admin-wonderful-next/src/theme/element.scss +++ b/vue-admin-wonderful-next/src/theme/element.scss @@ -692,6 +692,10 @@ /* NavMenu 导航菜单 ------------------------------- */ +// 去掉默认 focus 时,背景的高亮 +.el-menu-item:focus { + background: transparent !important; +} // 默认样式修改 .el-menu { border-right: none !important; @@ -706,6 +710,7 @@ // horizontal 水平方向时 .el-menu--horizontal > .el-menu-item.is-active, .el-menu--horizontal > .el-submenu.is-active .el-submenu__title { + border-bottom: 3px solid !important; border-bottom-color: set-color(primary); color: set-color(primary); } @@ -786,6 +791,10 @@ width: 24px; text-align: center; } +// element plus 本身字体图标 +.el-submenu [class^='el-icon-'] { + font-size: 14px !important; +} /* Tabs 标签页 ------------------------------- */ diff --git a/vue-admin-wonderful-next/src/views/fun/index.vue b/vue-admin-wonderful-next/src/views/fun/index.vue deleted file mode 100644 index 09406f2..0000000 --- a/vue-admin-wonderful-next/src/views/fun/index.vue +++ /dev/null @@ -1,21 +0,0 @@ - - - \ No newline at end of file diff --git a/vue-admin-wonderful-next/src/views/fun/tagsView/index.vue b/vue-admin-wonderful-next/src/views/fun/tagsView/index.vue new file mode 100644 index 0000000..fe8acae --- /dev/null +++ b/vue-admin-wonderful-next/src/views/fun/tagsView/index.vue @@ -0,0 +1,110 @@ + + + + + \ No newline at end of file diff --git a/vue-admin-wonderful-next/src/views/layout/component/aside.vue b/vue-admin-wonderful-next/src/views/layout/component/aside.vue index 21691e6..4184b2f 100644 --- a/vue-admin-wonderful-next/src/views/layout/component/aside.vue +++ b/vue-admin-wonderful-next/src/views/layout/component/aside.vue @@ -2,7 +2,7 @@ - + @@ -16,6 +16,7 @@ import { getCurrentInstance, ref, onBeforeMount, + onUnmounted, } from "vue"; import { useStore } from "/@/store/index.ts"; import { dynamicRoutes } from "/@/router/index.ts"; @@ -32,6 +33,7 @@ export default { }); // 设置/过滤路由(非静态路由/是否显示在菜单中) const setFilterRoutes = () => { + if (store.state.themeConfig.layout === "columns") return false; store.dispatch("setRoutes", dynamicRoutes[0].children); state.menuList = filterRoutesFun(store.state.routes); }; @@ -86,9 +88,26 @@ export default { proxy.$refs.layoutAsideScrollbarRef.update(); } }); - // 初始化 + // 页面加载前 onBeforeMount(() => { setFilterRoutes(); + proxy.mittBus.on("setSendColumnsChildren", (res) => { + state.menuList = res.children; + }); + proxy.mittBus.on("setSendClassicChildren", (res) => { + let { layout, isClassicSplitMenu } = store.state.themeConfig; + if (layout === "classic" && isClassicSplitMenu) + state.menuList = res.children; + }); + proxy.mittBus.on("getBreadcrumbIndexSetFilterRoutes", () => { + setFilterRoutes(); + }); + }); + // 页面卸载时 + onUnmounted(() => { + proxy.mittBus.off("setSendColumnsChildren"); + proxy.mittBus.off("setSendClassicChildren"); + proxy.mittBus.off("getBreadcrumbIndexSetFilterRoutes"); }); return { setCollapseWidth, diff --git a/vue-admin-wonderful-next/src/views/layout/component/columnsAside.vue b/vue-admin-wonderful-next/src/views/layout/component/columnsAside.vue index 0bc6b2d..9ee2a12 100644 --- a/vue-admin-wonderful-next/src/views/layout/component/columnsAside.vue +++ b/vue-admin-wonderful-next/src/views/layout/component/columnsAside.vue @@ -2,20 +2,21 @@