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/views/datamanage/metadataManage.vue |   22 ++++++++++++++++++++--
 src/store/index.js                      |    6 +++++-
 src/components/customElMenu.vue         |    1 +
 src/components/navMenu.vue              |   21 +++++++++++++++------
 4 files changed, 41 insertions(+), 9 deletions(-)

diff --git a/src/components/customElMenu.vue b/src/components/customElMenu.vue
index 0b78d2f..687218d 100644
--- a/src/components/customElMenu.vue
+++ b/src/components/customElMenu.vue
@@ -14,6 +14,7 @@
       <el-menu-item
         v-else
         :key="item.id"
+        :perms="item"
         :index="item.url == null ? item.id.toString() : item.url + ''"
       >
         <span slot="title">{{
diff --git a/src/components/navMenu.vue b/src/components/navMenu.vue
index e502d4d..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="" />
@@ -163,7 +163,9 @@
         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 = () => {
@@ -181,7 +183,7 @@
     },
     getUserPerms() {
       getPerms().then((res) => {
-        this.$commit("getPermsEntity", res.result);
+        if (res.code == 200) this.$store.commit("getPermsEntity", res.result);
       });
     },
   },
@@ -203,8 +205,14 @@
 </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;
@@ -214,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;
diff --git a/src/store/index.js b/src/store/index.js
index c5603c5..c12a22d 100644
--- a/src/store/index.js
+++ b/src/store/index.js
@@ -28,12 +28,16 @@
     ws: null,
     //鏉冮檺鍚堥泦
     permsEntity: [],
+    currentPerms: "",
   },
   mutations: {
     //鑾峰彇鏉冮檺鍚堥泦
-    getPermsEntity() {
+    getPermsEntity(state, msg) {
       state.permsEntity = msg
     },
+    currentPerms(state, msg) {
+      state.currentPerms = msg
+    },
     // 鑾峰彇瀹屾暣闈㈠寘灞戣矾寰�
     changeCata(state, msg) {
       state.catalogueName = msg;
diff --git a/src/views/datamanage/metadataManage.vue b/src/views/datamanage/metadataManage.vue
index 717c031..e916a6b 100644
--- a/src/views/datamanage/metadataManage.vue
+++ b/src/views/datamanage/metadataManage.vue
@@ -22,13 +22,14 @@
             size="small"
             >閲嶇疆</el-button
           >
-          <!-- <el-button
+          <el-button
+            v-if="btnStatus.download"
             @click="downFormData"
             icon="el-icon-download"
             type="success"
             size="small"
             >涓嬭浇</el-button
-          > -->
+          >
           <!-- <el-button
             @click="downFormData"
             icon="el-icon-download"
@@ -37,6 +38,7 @@
             >涓嬭浇</el-button
           > -->
           <el-button
+            v-if="btnStatus.delete"
             @click="DelFormData"
             icon="el-icon-delete"
             type="danger"
@@ -316,12 +318,28 @@
       pageSize: 10,
       pageNum: 1,
       searchName: "",
+      btnStatus: {
+        select: false,
+        delete: false,
+        upload: false,
+        download: false,
+        insert: false,
+        update: false,
+      },
     };
   },
   created() {
     this.getMetaData(10, 1, "");
+    this.showPermsBtn();
   },
   methods: {
+    showPermsBtn() {
+      let currentPerms = this.$store.state.currentPerms;
+      let permsEntity = this.$store.state.permsEntity;
+      permsEntity
+        .filter((item) => item.perms == currentPerms)
+        .map((item) => (this.btnStatus[item.tag.substr(1)] = true));
+    },
     ShowWindowFly(res) {
       console.log(res);
       if (res == "") return;

--
Gitblit v1.9.3