From 08881d6b6412822d5035f63a0775ca1f213c8668 Mon Sep 17 00:00:00 2001
From: WXL (wul) <wl_5969728@163.com>
Date: 星期一, 20 十月 2025 10:17:22 +0800
Subject: [PATCH] 测试完成
---
src/components/TopNav/index.vue | 63 +++++++++++++++++++------------
1 files changed, 39 insertions(+), 24 deletions(-)
diff --git a/src/components/TopNav/index.vue b/src/components/TopNav/index.vue
index 5f0edbe..aec393d 100644
--- a/src/components/TopNav/index.vue
+++ b/src/components/TopNav/index.vue
@@ -1,3 +1,4 @@
+<!-- 椤堕儴瀵艰埅灏佽 -->
<template>
<el-menu
:default-active="activeMenu"
@@ -5,14 +6,22 @@
@select="handleSelect"
>
<template v-for="(item, index) in topMenus">
- <el-menu-item :style="{'--theme': theme}" :index="item.path" :key="index" v-if="index < visibleNumber"
+ <el-menu-item
+ :style="{ '--theme': theme }"
+ :index="item.path"
+ :key="index"
+ v-if="index < visibleNumber"
><svg-icon :icon-class="item.meta.icon" />
{{ item.meta.title }}</el-menu-item
>
</template>
<!-- 椤堕儴鑿滃崟瓒呭嚭鏁伴噺鎶樺彔 -->
- <el-submenu :style="{'--theme': theme}" index="more" v-if="topMenus.length > visibleNumber">
+ <el-submenu
+ :style="{ '--theme': theme }"
+ index="more"
+ v-if="topMenus.length > visibleNumber"
+ >
<template slot="title">鏇村鑿滃崟</template>
<template v-for="(item, index) in topMenus">
<el-menu-item
@@ -31,7 +40,7 @@
import { constantRoutes } from "@/router";
// 闅愯棌渚ц竟鏍忚矾鐢�
-const hideList = ['/index', '/user/profile'];
+const hideList = ["/index", "/user/profile"];
export default {
data() {
@@ -39,7 +48,7 @@
// 椤堕儴鏍忓垵濮嬫暟
visibleNumber: 5,
// 褰撳墠婵�娲昏彍鍗曠殑 index
- currentIndex: undefined
+ currentIndex: undefined,
};
},
computed: {
@@ -53,9 +62,9 @@
if (menu.hidden !== true) {
// 鍏煎椤堕儴鏍忎竴绾ц彍鍗曞唴閮ㄨ烦杞�
if (menu.path === "/") {
- topMenus.push(menu.children[0]);
+ topMenus.push(menu.children[0]);
} else {
- topMenus.push(menu);
+ topMenus.push(menu);
}
}
});
@@ -71,11 +80,12 @@
this.routers.map((router) => {
for (var item in router.children) {
if (router.children[item].parentPath === undefined) {
- if(router.path === "/") {
+ if (router.path === "/") {
router.children[item].path = "/" + router.children[item].path;
} else {
- if(!this.ishttp(router.children[item].path)) {
- router.children[item].path = router.path + "/" + router.children[item].path;
+ if (!this.ishttp(router.children[item].path)) {
+ router.children[item].path =
+ router.path + "/" + router.children[item].path;
}
}
router.children[item].parentPath = router.path;
@@ -89,25 +99,29 @@
activeMenu() {
const path = this.$route.path;
let activePath = path;
- if (path !== undefined && path.lastIndexOf("/") > 0 && hideList.indexOf(path) === -1) {
+ if (
+ path !== undefined &&
+ path.lastIndexOf("/") > 0 &&
+ hideList.indexOf(path) === -1
+ ) {
const tmpPath = path.substring(1, path.length);
activePath = "/" + tmpPath.substring(0, tmpPath.indexOf("/"));
if (!this.$route.meta.link) {
- this.$store.dispatch('app/toggleSideBarHide', false);
+ this.$store.dispatch("app/toggleSideBarHide", false);
}
- } else if(!this.$route.children) {
+ } else if (!this.$route.children) {
activePath = path;
- this.$store.dispatch('app/toggleSideBarHide', true);
+ this.$store.dispatch("app/toggleSideBarHide", true);
}
this.activeRoutes(activePath);
return activePath;
},
},
beforeMount() {
- window.addEventListener('resize', this.setVisibleNumber)
+ window.addEventListener("resize", this.setVisibleNumber);
},
beforeDestroy() {
- window.removeEventListener('resize', this.setVisibleNumber)
+ window.removeEventListener("resize", this.setVisibleNumber);
},
mounted() {
this.setVisibleNumber();
@@ -121,18 +135,18 @@
// 鑿滃崟閫夋嫨浜嬩欢
handleSelect(key, keyPath) {
this.currentIndex = key;
- const route = this.routers.find(item => item.path === key);
+ const route = this.routers.find((item) => item.path === key);
if (this.ishttp(key)) {
// http(s):// 璺緞鏂扮獥鍙f墦寮�
window.open(key, "_blank");
} else if (!route || !route.children) {
// 娌℃湁瀛愯矾鐢辫矾寰勫唴閮ㄦ墦寮�
this.$router.push({ path: key });
- this.$store.dispatch('app/toggleSideBarHide', true);
+ this.$store.dispatch("app/toggleSideBarHide", true);
} else {
// 鏄剧ず宸︿晶鑱斿姩鑿滃崟
this.activeRoutes(key);
- this.$store.dispatch('app/toggleSideBarHide', false);
+ this.$store.dispatch("app/toggleSideBarHide", false);
}
},
// 褰撳墠婵�娲荤殑璺敱
@@ -145,15 +159,15 @@
}
});
}
- if(routes.length > 0) {
+ if (routes.length > 0) {
this.$store.commit("SET_SIDEBAR_ROUTERS", routes);
} else {
- this.$store.dispatch('app/toggleSideBarHide', true);
+ this.$store.dispatch("app/toggleSideBarHide", true);
}
},
ishttp(url) {
- return url.indexOf('http://') !== -1 || url.indexOf('https://') !== -1
- }
+ return url.indexOf("http://") !== -1 || url.indexOf("https://") !== -1;
+ },
},
};
</script>
@@ -168,8 +182,9 @@
margin: 0 10px !important;
}
-.topmenu-container.el-menu--horizontal > .el-menu-item.is-active, .el-menu--horizontal > .el-submenu.is-active .el-submenu__title {
- border-bottom: 2px solid #{'var(--theme)'} !important;
+.topmenu-container.el-menu--horizontal > .el-menu-item.is-active,
+.el-menu--horizontal > .el-submenu.is-active .el-submenu__title {
+ border-bottom: 2px solid #{"var(--theme)"} !important;
color: #303133;
}
--
Gitblit v1.9.3