From e3196bc81327e82748c7683c5cad9849b4b228b6 Mon Sep 17 00:00:00 2001
From: lxl <lixuliang_hd@126.com>
Date: 星期三, 26 十月 2022 14:36:58 +0800
Subject: [PATCH] 菜单

---
 src/components/navMenu.vue |   66 ++++++++++++++++++++++++++++----
 1 files changed, 57 insertions(+), 9 deletions(-)

diff --git a/src/components/navMenu.vue b/src/components/navMenu.vue
index 830cf14..3bbe467 100644
--- a/src/components/navMenu.vue
+++ b/src/components/navMenu.vue
@@ -1,5 +1,5 @@
 <template>
-  <div>
+  <div class="leftMenu">
     <div class="leftTopWrapper">
       <div class="logo">
         <img src="../assets/img/www.terra-it.cn.png" alt="" />
@@ -37,7 +37,7 @@
 import { logout } from "@/api/api";
 import { removeToken, getToken } from "@/utils/auth";
 import customElMenu from "../components/customElMenu.vue";
-import { queryMenuTree, updateMenuTree, queryMaxId } from "../api/api";
+import { queryMenuTree, getPerms } from "../api/api";
 
 export default {
   name: "navMenu",
@@ -66,8 +66,22 @@
   },
   mounted() {
     this.getMenuTree();
+    this.getUserPerms();
   },
-  computed: {},
+  computed: {
+    // 鎴戜滑浣跨敤璁$畻灞炴�ф潵鑾峰彇鍒板綋鍓嶇偣鍑荤殑鑿滃崟鐨勮矾鐢辫矾寰勶紝鐒跺悗璁剧疆default-active涓殑鍊�
+    // 浣垮緱鑿滃崟鍦ㄨ浇鍏ユ椂灏辫兘瀵瑰簲楂樹寒
+    // activeIndex() {
+    //   const route = this.$route;
+    //   const { meta, path } = route;
+    //   // if set path, the sidebar will highlight the path you set
+    //   // 鍙互鍦ㄨ矾鐢遍厤缃枃浠朵腑璁剧疆鑷畾涔夌殑璺敱璺緞鍒癿eta.activeMenu灞炴�т腑锛屾潵鎺у埗鑿滃崟鑷畾涔夐珮浜樉绀�
+    //   if (meta.activeMenu) {
+    //     return meta.activeMenu;
+    //   }
+    //   return path;
+    // },
+  },
   methods: {
     getMenuTree() {
       //鑾峰彇鐩綍鏍戞渶澶D锛屾柊寤鸿妭鐐逛娇鐢�
@@ -78,7 +92,10 @@
       queryMenuTree().then((res) => {
         if (res.code == 200) {
           if (res.result.length != 0) {
-            this.menuList = this.treeData(res.result);
+            let menuLists = res.result.filter((value) => {
+              return value.type == 1;
+            });
+            this.menuList = this.treeData(menuLists);
           } else {
             alert("鏆傛棤鑿滃崟鏍忔暟鎹�");
           }
@@ -146,7 +163,17 @@
         this.$store.commit("changeLang", "en"); //浼犻�掔偣鍑荤殑鑺傜偣
       }
     },
-    handleselect(index, indexPath) {
+    handleselect(index, indexPath, e) {
+      // console.log(e.$attrs.perms);
+      this.$store.commit("currentPerms", e.$attrs.perms.perms);
+      if (Window.ws != null) {
+        Window.ws.close();
+        Window.ws.onclose = () => {
+          console.log("鏈嶅姟鍣ㄥ叧闂�");
+        };
+        Window.ws = null;
+      }
+
       if (index.indexOf("http") != -1) {
         this.$router.push("/databaseMonitoring");
         this.$store.commit("getIframe", index);
@@ -154,18 +181,38 @@
         this.$router.push(index);
       }
     },
+    getUserPerms() {
+      getPerms().then((res) => {
+        if (res.code == 200) this.$store.commit("getPermsEntity", res.result);
+      });
+    },
   },
   watch: {
     $route() {
-      this.activeIndex = this.$route.path;
+      let str = this.$route.path;
+      if (str[0] == "/") {
+        this.activeIndex = str.slice(1);
+      }
     },
+  },
+  created() {
+    let str = this.$route.path;
+    if (str[0] == "/") {
+      this.activeIndex = str.slice(1);
+    }
   },
 };
 </script>
 <style lang="less" scoped>
 //@import url(); 寮曞叆鍏叡css绫�
+.leftMenu {
+  // width: 300px;
+  height: 99%;
+  // background-color: #bfa;
+}
 .leftTopWrapper {
   width: 100%;
+  height: 100%;
   .logo {
     // background-color: rgb(139, 0, 0);
     width: 249px;
@@ -175,12 +222,13 @@
     }
   }
   .menu {
-    height: 740px;
+    height: 90%;
     margin-top: 22px;
     overflow: auto;
-
+    // background-color: rgb(120, 121, 120);
     .el-menu {
-      width: 234px;
+      height: 100%;
+      width: 280px;
       border-right: none;
       /deep/ .el-submenu {
         margin-bottom: 10px;

--
Gitblit v1.9.3