From 9ce29c536ba2a636416c618761985e2b9a711ee6 Mon Sep 17 00:00:00 2001
From: lxl <lixuliang_hd@126.com>
Date: 星期四, 27 十月 2022 14:17:45 +0800
Subject: [PATCH] user

---
 src/views/Synthesis/coverage.vue                            |   13 
 src/views/Archive/index.vue                                 |  114 +++--
 src/views/Synthesis/inquire.vue                             |   55 ++
 src/views/Synthesis/wander.vue                              |   19 
 src/views/AuthorizationManagement/userRoleAuthorization.vue |   27 +
 src/views/Synthesis/orientation.vue                         |   14 
 src/views/Synthesis/measurement.vue                         |   14 
 src/views/AuthorizationManagement/roleResAuthorization.vue  |   27 +
 src/views/AuthorizationManagement/roleMenuAuthorization.vue |   27 +
 src/views/userManage/authorityManage.vue                    |   32 +
 src/views/Synthesis/analyse.vue                             |   14 
 src/views/Synthesis/viewport.vue                            |   14 
 src/views/Synthesis/plotting.vue                            |   57 ++
 src/assets/lang/zh.js                                       |    1 
 src/views/AuthorizationManagement/menuRoleAuthorization.vue |   27 +
 src/views/Synthesis/index.vue                               |  115 ++++-
 src/views/userManage/orgManage.vue                          |  155 ++++---
 src/views/Thematic/index.vue                                |  133 +++---
 src/assets/lang/en.js                                       |    1 
 src/views/maintenance/menuSettings.vue                      |  145 ++++--
 src/components/navMenu.vue                                  |   74 +-
 src/views/userManage/resourceManage.vue                     |   39 +
 src/views/userManage/roleManage.vue                         |   30 +
 23 files changed, 840 insertions(+), 307 deletions(-)

diff --git a/src/assets/lang/en.js b/src/assets/lang/en.js
index ecd1e52..b446fea 100644
--- a/src/assets/lang/en.js
+++ b/src/assets/lang/en.js
@@ -19,6 +19,7 @@
     close: 'Close',
     see: 'See',
     index: 'index',
+    download: 'download',
   },
   dataManage: {
     dataManage: 'Data Manage',
diff --git a/src/assets/lang/zh.js b/src/assets/lang/zh.js
index 9251d9d..1cb3596 100644
--- a/src/assets/lang/zh.js
+++ b/src/assets/lang/zh.js
@@ -19,6 +19,7 @@
     close: '鍏抽棴',
     see: '鏌ョ湅',
     index: '搴忓彿',
+    download: '涓嬭浇',
   },
   dataManage: {
     dataManage: '鏁版嵁绠$悊',
diff --git a/src/components/navMenu.vue b/src/components/navMenu.vue
index 3bbe467..7de28f7 100644
--- a/src/components/navMenu.vue
+++ b/src/components/navMenu.vue
@@ -34,13 +34,13 @@
 </template>
 
 <script>
-import { logout } from "@/api/api";
-import { removeToken, getToken } from "@/utils/auth";
-import customElMenu from "../components/customElMenu.vue";
-import { queryMenuTree, getPerms } from "../api/api";
+import { logout } from '@/api/api';
+import { removeToken, getToken } from '@/utils/auth';
+import customElMenu from '../components/customElMenu.vue';
+import { queryMenuTree, getPerms } from '../api/api';
 
 export default {
-  name: "navMenu",
+  name: 'navMenu',
   //import寮曞叆鐨勭粍浠堕渶瑕佹敞鍏ュ埌瀵硅薄涓墠鑳戒娇鐢�
   components: {
     customElMenu,
@@ -50,10 +50,10 @@
       oriData: [], //鍘熷鏍戞暟鎹�
       dirData: [], //el鏍戞暟鎹�
       newData: [], //鎷栧姩鍚庢暟鎹�
-      lang: "zh",
-      activeIndex: "/",
+      lang: 'zh',
+      activeIndex: '/',
       menuList: [],
-      editTitle: "",
+      editTitle: '',
       showPopover: false,
       showEditInfoWrapper: false,
       showEdit: false,
@@ -61,12 +61,12 @@
       editCatalogue: false,
       editUnit: false,
       itemdetail: {},
-      formLabelWidth: "70px",
+      formLabelWidth: '70px',
     };
   },
   mounted() {
-    this.getMenuTree();
     this.getUserPerms();
+    this.getMenuTree();
   },
   computed: {
     // 鎴戜滑浣跨敤璁$畻灞炴�ф潵鑾峰彇鍒板綋鍓嶇偣鍑荤殑鑿滃崟鐨勮矾鐢辫矾寰勶紝鐒跺悗璁剧疆default-active涓殑鍊�
@@ -97,10 +97,10 @@
             });
             this.menuList = this.treeData(menuLists);
           } else {
-            alert("鏆傛棤鑿滃崟鏍忔暟鎹�");
+            alert('鏆傛棤鑿滃崟鏍忔暟鎹�');
           }
         } else {
-          console.log("鎺ュ彛鎶ラ敊");
+          console.log('鎺ュ彛鎶ラ敊');
         }
       });
     },
@@ -111,93 +111,93 @@
         return cloneData.filter((father) => {
           // 寰幆鎵�鏈夐」
           let branchArr = cloneData.filter((child) => father.id == child.pid); // 瀵规瘮ID锛屽垎鍒笂涓嬬骇鑿滃崟锛屽苟杩斿洖鏁版嵁
-          branchArr.length > 0 ? (father.children = branchArr) : ""; // 缁欑埗绾ф坊鍔犱竴涓猚hildren灞炴�э紝骞惰祴鍊�
+          branchArr.length > 0 ? (father.children = branchArr) : ''; // 缁欑埗绾ф坊鍔犱竴涓猚hildren灞炴�э紝骞惰祴鍊�
           // 灞炰簬鍚屼竴瀵硅薄闂锛屼緥濡傦細浠� a=b銆乧=1 锛岀劧鍚庡啀浠� b.c=c 锛� 閭d箞 a.c=b.c=c=1 锛涘悓鐞嗭紝鍚庣画浠� c.d=2 ,閭d箞 a.c.d 涔熸槸=2锛�
           // 鐢辨寰幆澶氭鍚庯紝灏辫兘褰㈡垚鐩稿簲鐨勬爲褰㈡暟鎹粨鏋�
           return father.pid == 1; // 杩斿洖涓�绾ц彍鍗�
         });
       } else {
-        alert("鏆傛棤鑿滃崟鏍忔暟鎹�");
+        alert('鏆傛棤鑿滃崟鏍忔暟鎹�');
       }
     },
     logOut() {
-      this.$confirm("纭鏄惁閫�鍑虹櫥褰�?", "鎻愮ず", {
-        confirmButtonText: "纭畾",
-        cancelButtonText: "鍙栨秷",
-        type: "warning",
+      this.$confirm('纭鏄惁閫�鍑虹櫥褰�?', '鎻愮ず', {
+        confirmButtonText: '纭畾',
+        cancelButtonText: '鍙栨秷',
+        type: 'warning',
       })
         .then(async () => {
           const data = await logout({ token: getToken() });
           console.log(data);
           if (data.code != 200) {
-            return this.$message.error("閫�鍑虹櫥褰曞け璐�");
+            return this.$message.error('閫�鍑虹櫥褰曞け璐�');
           }
           removeToken();
-          this.$router.push("/login");
+          this.$router.push('/login');
           this.$message({
-            message: "閫�鍑虹櫥褰曟垚鍔�",
-            type: "success",
+            message: '閫�鍑虹櫥褰曟垚鍔�',
+            type: 'success',
           });
         })
         .catch(() => {
           this.$message({
-            type: "info",
-            message: "宸插彇娑�",
+            type: 'info',
+            message: '宸插彇娑�',
           });
         });
     },
     switchLang() {
       //褰撳墠en
-      if (this.lang == "en") {
+      if (this.lang == 'en') {
         //璇█鎹㈡垚zh
-        this.lang = "zh";
+        this.lang = 'zh';
         //鑿滃崟鎹负zh
-        this.$store.commit("changeLang", "zh");
+        this.$store.commit('changeLang', 'zh');
         //i18鎹㈡垚zh
         this.$i18n.locale = this.lang;
       }
       //褰撳墠zh
       else {
-        this.lang = "en";
+        this.lang = 'en';
         this.$i18n.locale = this.lang;
-        this.$store.commit("changeLang", "en"); //浼犻�掔偣鍑荤殑鑺傜偣
+        this.$store.commit('changeLang', 'en'); //浼犻�掔偣鍑荤殑鑺傜偣
       }
     },
     handleselect(index, indexPath, e) {
       // console.log(e.$attrs.perms);
-      this.$store.commit("currentPerms", e.$attrs.perms.perms);
+      this.$store.commit('currentPerms', e.$attrs.perms.perms);
       if (Window.ws != null) {
         Window.ws.close();
         Window.ws.onclose = () => {
-          console.log("鏈嶅姟鍣ㄥ叧闂�");
+          console.log('鏈嶅姟鍣ㄥ叧闂�');
         };
         Window.ws = null;
       }
 
-      if (index.indexOf("http") != -1) {
-        this.$router.push("/databaseMonitoring");
-        this.$store.commit("getIframe", index);
+      if (index.indexOf('http') != -1) {
+        this.$router.push('/databaseMonitoring');
+        this.$store.commit('getIframe', index);
       } else if (isNaN(Number(index))) {
         this.$router.push(index);
       }
     },
     getUserPerms() {
       getPerms().then((res) => {
-        if (res.code == 200) this.$store.commit("getPermsEntity", res.result);
+        if (res.code == 200) this.$store.commit('getPermsEntity', res.result);
       });
     },
   },
   watch: {
     $route() {
       let str = this.$route.path;
-      if (str[0] == "/") {
+      if (str[0] == '/') {
         this.activeIndex = str.slice(1);
       }
     },
   },
   created() {
     let str = this.$route.path;
-    if (str[0] == "/") {
+    if (str[0] == '/') {
       this.activeIndex = str.slice(1);
     }
   },
diff --git a/src/views/Archive/index.vue b/src/views/Archive/index.vue
index 0a74ec6..8a4a421 100644
--- a/src/views/Archive/index.vue
+++ b/src/views/Archive/index.vue
@@ -2,7 +2,7 @@
   <div class="archive">
     <div class="left_active">
       <el-card class="arch_card">
-        <div class="title_active">{{ $t("archive.name") }}</div>
+        <div class="title_active">{{ $t('archive.name') }}</div>
         <el-divider />
         <el-tree
           :data="tree"
@@ -18,18 +18,19 @@
           <el-col :span="6"></el-col>
           <el-col :span="4"
             ><div style="text-align: right; margin-top: 6px">
-              {{ $t("archive.keyword") }}:
+              {{ $t('archive.keyword') }}:
             </div>
           </el-col>
           <el-col :span="4">
             <el-input :placeholder="$t('common.pleaseInput')"
           /></el-col>
           <el-col :span="4"
-            ><el-button type="primary">{{
-              $t("common.iquery")
-            }}</el-button></el-col
-          >
-          <el-col :span="6"></el-col>
+            ><el-button type="primary">{{ $t('common.iquery') }}</el-button>
+            <el-button v-if="archStatus.download" type="primary">{{
+              $t('common.download')
+            }}</el-button>
+          </el-col>
+          <el-col :span="6"> </el-col>
         </el-row>
         <el-divider />
         <el-card shadow="never" class="middle_card">
@@ -88,87 +89,108 @@
     return {
       tree: [
         {
-          label: "鏂囩尞",
+          label: '鏂囩尞',
           children: [
             {
-              label: "绠¢亾鏍囧噯鏂囩尞",
-              url: "",
+              label: '绠¢亾鏍囧噯鏂囩尞',
+              url: '',
             },
             {
-              label: "宸ヤ笟绠¢亾宸ョ▼鏂藉伐鍙婇獙鏀惰鑼�",
-              url: "",
+              label: '宸ヤ笟绠¢亾宸ョ▼鏂藉伐鍙婇獙鏀惰鑼�',
+              url: '',
             },
             {
-              label: "缁煎悎绠$嚎璁捐鏍囧噯",
-              url: "",
+              label: '缁煎悎绠$嚎璁捐鏍囧噯',
+              url: '',
             },
           ],
         },
         {
-          label: "鍥剧焊", //label瀵瑰簲鐖剁骇鏍囩
+          label: '鍥剧焊', //label瀵瑰簲鐖剁骇鏍囩
           children: [
             {
-              label: "XXX绠$嚎璁捐鍥剧焊",
-              url: " ",
+              label: 'XXX绠$嚎璁捐鍥剧焊',
+              url: ' ',
             },
             {
-              label: "XXXXXX绠$嚎璁捐鍥�",
-              url: " ",
+              label: 'XXXXXX绠$嚎璁捐鍥�',
+              url: ' ',
             },
             {
-              label: "XXXXX绠$嚎璁捐鍥�",
-              url: " ",
+              label: 'XXXXX绠$嚎璁捐鍥�',
+              url: ' ',
             },
           ],
         },
         {
-          label: "鏁版嵁", //label瀵瑰簲鐖剁骇鏍囩
+          label: '鏁版嵁', //label瀵瑰簲鐖剁骇鏍囩
           children: [
             {
-              label: "绠¢亾",
-              url: " ",
+              label: '绠¢亾',
+              url: ' ',
             },
             {
-              label: "闃�闂�",
-              url: " ",
+              label: '闃�闂�',
+              url: ' ',
             },
             {
-              label: "娑堣垂璁惧",
-              url: " ",
+              label: '娑堣垂璁惧',
+              url: ' ',
             },
           ],
         },
       ],
       defaultProps: {
-        children: "children", //"children"鍐呯殑姣忎釜瀵硅薄瑙f瀽涓轰竴涓瓙椤�;
-        label: "label", //鎵�鏈�"label"鎵�鍦ㄧ殑瀵硅薄瑙f瀽涓轰竴涓埗椤�
+        chilren: 'children', //"children"鍐呯殑姣忎釜瀵硅薄瑙f瀽涓轰竴涓瓙椤�;
+        label: 'label', //鎵�鏈�"label"鎵�鍦ㄧ殑瀵硅薄瑙f瀽涓轰竴涓埗椤�
       },
       tableData: [
         {
-          timer: "2016-05-01",
-          name: "Tom",
-          count: "3",
-          type: "涓氬姟鍥惧眰",
-          state: "x",
+          timer: '2016-05-01',
+          name: 'Tom',
+          count: '3',
+          type: '涓氬姟鍥惧眰',
+          state: 'x',
         },
         {
-          timer: "2016-05-02",
-          name: "Tom",
-          count: "2",
-          type: "涓氬姟鍥惧眰",
-          state: "x",
+          timer: '2016-05-02',
+          name: 'Tom',
+          count: '2',
+          type: '涓氬姟鍥惧眰',
+          state: 'x',
         },
         {
-          timer: "2016-05-03",
-          name: "Tom",
-          count: "1",
-          type: "涓氬姟鍥惧眰",
-          state: "x",
+          timer: '2016-05-03',
+          name: 'Tom',
+          count: '1',
+          type: '涓氬姟鍥惧眰',
+          state: 'x',
         },
       ],
+      archStatus: {
+        download: false,
+      },
     };
   },
-  methods: {},
+  methods: {
+    showArchMenu(res) {
+      switch (res.tag) {
+        case '/download':
+          this.archStatus.download = true;
+          break;
+      }
+    },
+  },
+  created() {
+    var val = this.$store.state.currentPerms;
+    var permsEntity = this.$store.state.permsEntity;
+    for (var i = 0; i < permsEntity.length; i++) {
+      if (permsEntity[i].perms == val) {
+        // this.showMenuChange(permsEntity[i], permsEntity);
+        this.showArchMenu(permsEntity[i]);
+      }
+    }
+  },
 };
 </script>
 
diff --git a/src/views/AuthorizationManagement/menuRoleAuthorization.vue b/src/views/AuthorizationManagement/menuRoleAuthorization.vue
index 8666d5e..92bfac7 100644
--- a/src/views/AuthorizationManagement/menuRoleAuthorization.vue
+++ b/src/views/AuthorizationManagement/menuRoleAuthorization.vue
@@ -50,6 +50,7 @@
         >
         <div class="btn" style="margin-left: auto">
           <el-button
+            v-if="menuStatus.insert"
             type="primary"
             icon="el-icon-circle-plus-outline"
             size="small"
@@ -58,6 +59,7 @@
             >{{ $t('operatManage.UserRoleAuthorizationObj.Added') }}</el-button
           >
           <el-button
+            v-if="menuStatus.delete"
             type="danger"
             icon="el-icon-delete"
             size="small"
@@ -167,6 +169,11 @@
 
   data() {
     return {
+      menuStatus: {
+        delete: false,
+        insert: false,
+        update: false,
+      },
       addcount: 0,
       gridData: [],
       addlistData: {
@@ -345,8 +352,28 @@
       this.tableData = data.result;
       this.usercount = data.count;
     },
+    showPermsMenu(res) {
+      switch (res.tag) {
+        case '/delete':
+          this.menuStatus.delete = true;
+          break;
+        case '/insert':
+          this.menuStatus.insert = true;
+          break;
+        case '/update':
+          this.menuStatus.update = true;
+          break;
+      }
+    },
   },
   created() {
+    var val = this.$store.state.currentPerms;
+    var permsEntity = this.$store.state.permsEntity;
+    for (var i = 0; i < permsEntity.length; i++) {
+      if (permsEntity[i].perms == val) {
+        this.showPermsMenu(permsEntity[i]);
+      }
+    }
     this.getMenuTree();
   },
 };
diff --git a/src/views/AuthorizationManagement/roleMenuAuthorization.vue b/src/views/AuthorizationManagement/roleMenuAuthorization.vue
index 98a466e..f5237ec 100644
--- a/src/views/AuthorizationManagement/roleMenuAuthorization.vue
+++ b/src/views/AuthorizationManagement/roleMenuAuthorization.vue
@@ -156,6 +156,7 @@
         >
         <div class="btn" style="margin-left: auto">
           <el-button
+            v-if="menuStatus.insert"
             type="primary"
             icon="el-icon-circle-plus-outline"
             size="small"
@@ -164,6 +165,7 @@
             >{{ $t('operatManage.UserRoleAuthorizationObj.Added') }}</el-button
           >
           <el-button
+            v-if="menuStatus.delete"
             type="danger"
             icon="el-icon-delete"
             size="small"
@@ -311,6 +313,11 @@
       gridData: [],
       addmultipleSelection: [],
       usermultipleSelection: [],
+      menuStatus: {
+        delete: false,
+        insert: false,
+        update: false,
+      },
     };
   },
   methods: {
@@ -490,8 +497,28 @@
         })
         .catch(() => {});
     },
+    showPermsMenu(res) {
+      switch (res.tag) {
+        case '/delete':
+          this.menuStatus.delete = true;
+          break;
+        case '/insert':
+          this.menuStatus.insert = true;
+          break;
+        case '/update':
+          this.menuStatus.update = true;
+          break;
+      }
+    },
   },
   created() {
+    var val = this.$store.state.currentPerms;
+    var permsEntity = this.$store.state.permsEntity;
+    for (var i = 0; i < permsEntity.length; i++) {
+      if (permsEntity[i].perms == val) {
+        this.showPermsMenu(permsEntity[i]);
+      }
+    }
     this.getDepTree();
     this.getMenuTree();
   },
diff --git a/src/views/AuthorizationManagement/roleResAuthorization.vue b/src/views/AuthorizationManagement/roleResAuthorization.vue
index 560d915..dc5b345 100644
--- a/src/views/AuthorizationManagement/roleResAuthorization.vue
+++ b/src/views/AuthorizationManagement/roleResAuthorization.vue
@@ -109,6 +109,7 @@
         >
         <div class="btn" style="margin-left: auto">
           <el-button
+            v-if="menuStatus.insert"
             type="primary"
             icon="el-icon-circle-plus-outline"
             size="small"
@@ -117,6 +118,7 @@
             >{{ $t('operatManage.UserRoleAuthorizationObj.Added') }}</el-button
           >
           <el-button
+            v-if="menuStatus.delete"
             type="danger"
             icon="el-icon-delete"
             size="small"
@@ -237,6 +239,11 @@
 
   data() {
     return {
+      menuStatus: {
+        delete: false,
+        insert: false,
+        update: false,
+      },
       addcount: 0,
       gridData: [],
       addlistData: {
@@ -440,8 +447,28 @@
         this.usercount = 0;
       }
     },
+    showPermsMenu(res) {
+      switch (res.tag) {
+        case '/delete':
+          this.menuStatus.delete = true;
+          break;
+        case '/insert':
+          this.menuStatus.insert = true;
+          break;
+        case '/update':
+          this.menuStatus.update = true;
+          break;
+      }
+    },
   },
   created() {
+    var val = this.$store.state.currentPerms;
+    var permsEntity = this.$store.state.permsEntity;
+    for (var i = 0; i < permsEntity.length; i++) {
+      if (permsEntity[i].perms == val) {
+        this.showPermsMenu(permsEntity[i]);
+      }
+    }
     this.getMenuTree();
   },
 };
diff --git a/src/views/AuthorizationManagement/userRoleAuthorization.vue b/src/views/AuthorizationManagement/userRoleAuthorization.vue
index 0da61a6..98f6e8f 100644
--- a/src/views/AuthorizationManagement/userRoleAuthorization.vue
+++ b/src/views/AuthorizationManagement/userRoleAuthorization.vue
@@ -110,6 +110,7 @@
         >
         <div class="btn" style="margin-left: auto">
           <el-button
+            v-if="menuStatus.insert"
             type="primary"
             icon="el-icon-circle-plus-outline"
             size="small"
@@ -118,6 +119,7 @@
             >{{ $t('operatManage.UserRoleAuthorizationObj.Added') }}</el-button
           >
           <el-button
+            v-if="menuStatus.delete"
             type="danger"
             icon="el-icon-delete"
             size="small"
@@ -264,6 +266,11 @@
       debid: null,
       roleid: null,
       addmultipleSelection: [],
+      menuStatus: {
+        delete: false,
+        insert: false,
+        update: false,
+      },
     };
   },
   methods: {
@@ -425,8 +432,28 @@
       this.tableData = data.result;
       this.count = data.count;
     },
+    showPermsMenu(res) {
+      switch (res.tag) {
+        case '/delete':
+          this.menuStatus.delete = true;
+          break;
+        case '/insert':
+          this.menuStatus.insert = true;
+          break;
+        case '/update':
+          this.menuStatus.update = true;
+          break;
+      }
+    },
   },
   created() {
+    var val = this.$store.state.currentPerms;
+    var permsEntity = this.$store.state.permsEntity;
+    for (var i = 0; i < permsEntity.length; i++) {
+      if (permsEntity[i].perms == val) {
+        this.showPermsMenu(permsEntity[i]);
+      }
+    }
     this.getMenuTree();
   },
 };
diff --git a/src/views/Synthesis/analyse.vue b/src/views/Synthesis/analyse.vue
index e0750d1..30f5519 100644
--- a/src/views/Synthesis/analyse.vue
+++ b/src/views/Synthesis/analyse.vue
@@ -305,6 +305,20 @@
         (value) => {}
       );
     },
+    showViewMenu(res) {
+      if (res.cnName != '鍒嗘瀽') return;
+      console.log('鍒嗘瀽', res.tag);
+    },
+  },
+  created() {
+    var cover_Id = this.$store.state.syntiesis.menu;
+    var cover_perms = this.$store.state.permsEntity;
+
+    for (var i = 0; i < cover_perms.length; i++) {
+      if (cover_perms[i].pid == cover_Id) {
+        this.showViewMenu(cover_perms[i]);
+      }
+    }
   },
   mounted() {
     this.measureData = new Map();
diff --git a/src/views/Synthesis/coverage.vue b/src/views/Synthesis/coverage.vue
index 9aad70f..f5ffdf7 100644
--- a/src/views/Synthesis/coverage.vue
+++ b/src/views/Synthesis/coverage.vue
@@ -43,8 +43,21 @@
       ],
     };
   },
+  created() {
+    var cover_Id = this.$store.state.syntiesis.menu;
+    var cover_perms = this.$store.state.permsEntity;
 
+    for (var i = 0; i < cover_perms.length; i++) {
+      if (cover_perms[i].pid == cover_Id) {
+        this.showCoverMenu(cover_perms[i]);
+      }
+    }
+  },
   methods: {
+    showCoverMenu(res) {
+      if (res.cnName != '鍥惧眰') return;
+      console.log('鍥惧眰', res.tag);
+    },
     checkCourvage(res) {
       switch (res.id) {
         case '1': //鍥惧眰绠$悊
diff --git a/src/views/Synthesis/index.vue b/src/views/Synthesis/index.vue
index a83d4e0..c588525 100644
--- a/src/views/Synthesis/index.vue
+++ b/src/views/Synthesis/index.vue
@@ -1,28 +1,28 @@
 <template>
   <div class="synthesis">
     <el-tabs type="border-card">
-      <el-tab-pane :label='$t("synthesis.coverage")'>
+      <el-tab-pane v-if="menuStatus.menu1" :label="$t('synthesis.coverage')">
         <coverage />
       </el-tab-pane>
-      <el-tab-pane :label='$t("synthesis.viewport")'>
+      <el-tab-pane v-if="menuStatus.menu2" :label="$t('synthesis.viewport')">
         <viewport />
       </el-tab-pane>
-      <el-tab-pane :label='$t("synthesis.wander")'>
+      <el-tab-pane v-if="menuStatus.menu3" :label="$t('synthesis.wander')">
         <wander />
       </el-tab-pane>
-      <el-tab-pane :label='$t("synthesis.analyse")'>
+      <el-tab-pane v-if="menuStatus.menu4" :label="$t('synthesis.analyse')">
         <analyse />
       </el-tab-pane>
-      <el-tab-pane :label='$t("synthesis.iqyery")'>
+      <el-tab-pane v-if="menuStatus.menu5" :label="$t('synthesis.iqyery')">
         <iqyery />
       </el-tab-pane>
-      <el-tab-pane :label='$t("synthesis.orientation")'>
+      <el-tab-pane v-if="menuStatus.menu6" :label="$t('synthesis.orientation')">
         <orientation />
       </el-tab-pane>
-      <el-tab-pane :label='$t("synthesis.measurement")'>
+      <el-tab-pane v-if="menuStatus.menu7" :label="$t('synthesis.measurement')">
         <measurement />
       </el-tab-pane>
-      <el-tab-pane :label='$t("synthesis.plotting")'>
+      <el-tab-pane v-if="menuStatus.menu8" :label="$t('synthesis.plotting')">
         <plotting />
       </el-tab-pane>
     </el-tabs>
@@ -33,15 +33,16 @@
 </template>
 
 <script>
-import coverage from "./coverage.vue"; //鍥惧眰
-import viewport from "./viewport.vue"; //瑙嗗浘
-import wander from "./wander.vue"; //婕父
-import analyse from "./analyse.vue"; //鍒嗘瀽
-import iqyery from "./inquire.vue"; //鏌ヨ
-import orientation from "./orientation.vue"; //瀹氫綅
-import measurement from "./measurement.vue"; //娴嬮噺
-import plotting from "./plotting.vue"; //鏍囩粯
-import MapDiv from "../../components/MapDiv";
+import coverage from './coverage.vue'; //鍥惧眰
+import viewport from './viewport.vue'; //瑙嗗浘
+import wander from './wander.vue'; //婕父
+import analyse from './analyse.vue'; //鍒嗘瀽
+import iqyery from './inquire.vue'; //鏌ヨ
+import orientation from './orientation.vue'; //瀹氫綅
+import measurement from './measurement.vue'; //娴嬮噺
+import plotting from './plotting.vue'; //鏍囩粯
+import MapDiv from '../../components/MapDiv';
+import { getPerms } from '../../api/api';
 export default {
   components: {
     coverage,
@@ -58,27 +59,99 @@
     return {
       iframeSrc: null,
       messageName: null,
+      permsId: null,
+      menuStatus: {
+        menu1: false,
+        menu2: false,
+        menu3: false,
+        menu4: false,
+        menu5: false,
+        menu6: false,
+        menu7: false,
+        menu8: false,
+      },
     };
   },
   watch: {},
   methods: {
     tepostmessage(res) {
       const msg = {
-        message: "changeTool",
+        message: 'changeTool',
         data: res,
       };
       document
-        .getElementById("sunIframe")
+        .getElementById('sunIframe')
         .contentWindow.postMessage(msg, this.iframeSrc);
+    },
+    showMenuChange(res, result) {
+      var permsId = res.id;
+      this.$store.state.syntiesis.menu = res.id;
+      for (var i = 0; i < result.length; i++) {
+        if (result[i].pid == permsId) {
+          this.showMenuStatus(result[i]);
+        }
+      }
+    },
+    showMenuStatus(res) {
+      switch (res.cnName) {
+        case '鍥惧眰':
+          this.menuStatus.menu1 = true;
+          break;
+        case '瑙嗗浘':
+          this.menuStatus.menu2 = true;
+          break;
+        case '婕父':
+          this.menuStatus.menu3 = true;
+          break;
+        case '鍒嗘瀽':
+          this.menuStatus.menu4 = true;
+          break;
+        case '鏌ヨ':
+          this.menuStatus.menu5 = true;
+          break;
+        case '瀹氫綅':
+          this.menuStatus.menu6 = true;
+          break;
+        case '娴嬮噺':
+          this.menuStatus.menu7 = true;
+          break;
+        case '鏍囩粯':
+          this.menuStatus.menu8 = true;
+          break;
+      }
+    },
+    getPermsMenu() {
+      let val;
+      if (this.$store.state.currentPerms) {
+        val = this.$store.state.currentPerms;
+      } else {
+        val = '/comprehensive';
+      }
+      var permsEntity = this.$store.state.permsEntity;
+      if (permsEntity.length == 0) {
+        getPerms().then((res) => {
+          if (res.code == 200) permsEntity = res.result;
+          this.$store.state.permsEntity = permsEntity;
+        });
+      }
+
+      for (var i = 0; i < permsEntity.length; i++) {
+        if (permsEntity[i].perms == val) {
+          this.showMenuChange(permsEntity[i], permsEntity);
+        }
+      }
     },
   },
   mounted() {
     //this.messageName = this.$store.state.teNmme;
-    this.$bus.$on("changetool", (e) => {
+
+    this.$bus.$on('changetool', (e) => {
       this.tepostmessage(e);
     });
   },
-  created() {},
+  created() {
+    this.getPermsMenu();
+  },
 };
 </script>
 
diff --git a/src/views/Synthesis/inquire.vue b/src/views/Synthesis/inquire.vue
index 75600cf..fbf04fb 100644
--- a/src/views/Synthesis/inquire.vue
+++ b/src/views/Synthesis/inquire.vue
@@ -22,6 +22,18 @@
         </div>
         <div class="div_li">{{ $t(item.name) }}</div>
       </li>
+      <li v-if="analyStatus.upload" style="margin-left: 20px">
+        <div class="divli">
+          <div class="backimge5"><i class="el-icon-upload2"></i></div>
+        </div>
+        <div class="div_li">涓婁紶</div>
+      </li>
+      <li v-if="analyStatus.download" style="margin-left: 20px">
+        <div class="divli">
+          <div class="backimge5"><i class="el-icon-download"></i></div>
+        </div>
+        <div class="div_li">涓嬭浇</div>
+      </li>
     </ul>
   </div>
 </template>
@@ -71,9 +83,35 @@
         },
       ],
       rel_name: null,
+      analyStatus: {
+        upload: false,
+        download: false,
+      },
     };
   },
+  created() {
+    var cover_Id = this.$store.state.syntiesis.menu;
+    var cover_perms = this.$store.state.permsEntity;
+
+    for (var i = 0; i < cover_perms.length; i++) {
+      if (cover_perms[i].pid == cover_Id) {
+        this.showViewMenu(cover_perms[i]);
+      }
+    }
+  },
   methods: {
+    showViewMenu(res) {
+      if (res.cnName != '鏌ヨ') return;
+      console.log('鏌ヨ', res.tag);
+      switch (res.tag) {
+        case '/upload':
+          this.analyStatus.upload = true;
+          break;
+        case '/download':
+          this.analyStatus.download = true;
+          break;
+      }
+    },
     changeIquery(res) {
       if (res.id == '7') {
         this.getQueryFile();
@@ -169,6 +207,12 @@
 .e7 {
   background: url('../../assets/img/synthesis/鍥惧眰 24.png') no-repeat center;
 }
+
+.divli {
+  width: 100%;
+  height: 50%;
+  position: relative;
+}
 .backimge5 {
   width: 30px;
   height: 30px;
@@ -177,9 +221,12 @@
   background-size: 100% 100%;
   margin: 0% 30%;
 }
-.divli {
-  width: 100%;
-  height: 50%;
-  position: relative;
+.backimgex {
+  width: 30px;
+  height: 30px;
+  margin-left: 25px;
+  position: absolute;
+  background-size: 100% 100%;
+  margin: 0% 30%;
 }
 </style>
diff --git a/src/views/Synthesis/measurement.vue b/src/views/Synthesis/measurement.vue
index 5853343..1f51786 100644
--- a/src/views/Synthesis/measurement.vue
+++ b/src/views/Synthesis/measurement.vue
@@ -69,7 +69,21 @@
       ],
     };
   },
+  created() {
+    var cover_Id = this.$store.state.syntiesis.menu;
+    var cover_perms = this.$store.state.permsEntity;
+
+    for (var i = 0; i < cover_perms.length; i++) {
+      if (cover_perms[i].pid == cover_Id) {
+        this.showViewMenu(cover_perms[i]);
+      }
+    }
+  },
   methods: {
+    showViewMenu(res) {
+      if (res.cnName != '娴嬮噺') return;
+      console.log('娴嬮噺', res.tag);
+    },
     clearMeasure(id) {
       if (id) {
         let data = this.measureData.get(id);
diff --git a/src/views/Synthesis/orientation.vue b/src/views/Synthesis/orientation.vue
index 9a83dc7..3a564a4 100644
--- a/src/views/Synthesis/orientation.vue
+++ b/src/views/Synthesis/orientation.vue
@@ -33,7 +33,21 @@
       ],
     };
   },
+  created() {
+    var cover_Id = this.$store.state.syntiesis.menu;
+    var cover_perms = this.$store.state.permsEntity;
+
+    for (var i = 0; i < cover_perms.length; i++) {
+      if (cover_perms[i].pid == cover_Id) {
+        this.showViewMenu(cover_perms[i]);
+      }
+    }
+  },
   methods: {
+    showViewMenu(res) {
+      if (res.cnName != '瀹氫綅') return;
+      console.log('瀹氫綅', res.tag);
+    },
     changeOrietnt(res) {
       var val = {
         name: 'Coord',
diff --git a/src/views/Synthesis/plotting.vue b/src/views/Synthesis/plotting.vue
index 37fd224..dd33b88 100644
--- a/src/views/Synthesis/plotting.vue
+++ b/src/views/Synthesis/plotting.vue
@@ -11,6 +11,30 @@
         </div>
         <div class="div_li">{{ $t(item.name) }}</div>
       </li>
+      <li v-if="plotStatus.delete" style="margin-left: 20px">
+        <div class="divli">
+          <div class="backimge8"><i class="el-icon-delete"></i></div>
+        </div>
+        <div class="div_li">鍒犻櫎</div>
+      </li>
+      <li v-if="plotStatus.upload" style="margin-left: 20px">
+        <div class="divli">
+          <div class="backimge8"><i class="el-icon-upload2"></i></div>
+        </div>
+        <div class="div_li">涓婁紶</div>
+      </li>
+      <li v-if="plotStatus.upload" style="margin-left: 20px">
+        <div class="divli">
+          <div class="backimge8"><i class="el-icon-plus"></i></div>
+        </div>
+        <div class="div_li">鏂板</div>
+      </li>
+      <li v-if="plotStatus.upload" style="margin-left: 20px">
+        <div class="divli">
+          <div class="backimge8"><i class="el-icon-edit"></i></div>
+        </div>
+        <div class="div_li">淇敼</div>
+      </li>
     </ul>
     <terrainDig ref="terrainDig" />
     <modelPress ref="modelPress" />
@@ -25,6 +49,12 @@
   components: { terrainDig, modelPress },
   data() {
     return {
+      plotStatus: {
+        delete: false,
+        upload: false,
+        insert: false,
+        update: false,
+      },
       itemsOne: [
         {
           id: '1',
@@ -69,7 +99,34 @@
       ],
     };
   },
+  created() {
+    var cover_Id = this.$store.state.syntiesis.menu;
+    var cover_perms = this.$store.state.permsEntity;
+
+    for (var i = 0; i < cover_perms.length; i++) {
+      if (cover_perms[i].pid == cover_Id) {
+        this.showViewMenu(cover_perms[i]);
+      }
+    }
+  },
   methods: {
+    showViewMenu(res) {
+      if (res.cnName != '鏍囩粯') return;
+      switch (res.tag) {
+        case '/delete':
+          this.plotStatus.delete = true;
+          break;
+        case '/upload':
+          this.plotStatus.upload = true;
+          break;
+        case '/insert':
+          this.plotStatus.insert = true;
+          break;
+        case '/update':
+          this.plotStatus.update = true;
+          break;
+      }
+    },
     changePlot(res) {
       switch (res.id) {
         case '1':
diff --git a/src/views/Synthesis/viewport.vue b/src/views/Synthesis/viewport.vue
index a48fbf1..e74fa52 100644
--- a/src/views/Synthesis/viewport.vue
+++ b/src/views/Synthesis/viewport.vue
@@ -65,7 +65,21 @@
       ],
     };
   },
+  created() {
+    var cover_Id = this.$store.state.syntiesis.menu;
+    var cover_perms = this.$store.state.permsEntity;
+
+    for (var i = 0; i < cover_perms.length; i++) {
+      if (cover_perms[i].pid == cover_Id) {
+        this.showViewMenu(cover_perms[i]);
+      }
+    }
+  },
   methods: {
+    showViewMenu(res) {
+      if (res.cnName != '瑙嗗浘') return;
+      console.log('瑙嗗浘', res.tag);
+    },
     changeview(res) {
       switch (res.id) {
         case '1':
diff --git a/src/views/Synthesis/wander.vue b/src/views/Synthesis/wander.vue
index 7e35ab1..dbbfab7 100644
--- a/src/views/Synthesis/wander.vue
+++ b/src/views/Synthesis/wander.vue
@@ -48,13 +48,22 @@
       ],
     };
   },
+  created() {
+    var cover_Id = this.$store.state.syntiesis.menu;
+    var cover_perms = this.$store.state.permsEntity;
+
+    for (var i = 0; i < cover_perms.length; i++) {
+      if (cover_perms[i].pid == cover_Id) {
+        this.showViewMenu(cover_perms[i]);
+      }
+    }
+  },
   methods: {
+    showViewMenu(res) {
+      if (res.cnName != '婕父') return;
+      console.log('婕父', res.tag);
+    },
     changeWander(res) {
-      // var res_val = {
-      //   url: "",
-      //   name: res.name,
-      // };
-      // this.$bus.$emit("changetool", res_val);
       switch (res.id) {
         case '1':
           window.sgworld.Analysis.setPointFly();
diff --git a/src/views/Thematic/index.vue b/src/views/Thematic/index.vue
index e0973ed..3a2e5cb 100644
--- a/src/views/Thematic/index.vue
+++ b/src/views/Thematic/index.vue
@@ -3,7 +3,7 @@
     <el-card style="height: 100%">
       <el-row :gutter="20">
         <el-col :span="6">
-          <div class="th_title">{{ $t("themaic.name") }}</div>
+          <div class="th_title">{{ $t('themaic.name') }}</div>
         </el-col>
         <el-col :span="4" :offset="14">
           <el-input
@@ -19,7 +19,7 @@
       <el-row>
         <el-col :span="5">
           <label style="margin-right: 10px"
-            >{{ $t("themaic.maptltle") }}:</label
+            >{{ $t('themaic.maptltle') }}:</label
           >
           <el-select
             v-model="selvalue"
@@ -38,7 +38,7 @@
         <el-col :span="3">
           <div style="margin-top: 5px">
             <label style="margin-right: 10px"
-              >{{ $t("themaic.sortbytime") }}:</label
+              >{{ $t('themaic.sortbytime') }}:</label
             >
 
             <i
@@ -57,7 +57,7 @@
         <el-col :span="3">
           <div style="margin-top: 5px">
             <label style="margin-right: 10px"
-              >{{ $t("themaic.sortbyviews") }}:</label
+              >{{ $t('themaic.sortbyviews') }}:</label
             >
 
             <i
@@ -76,9 +76,9 @@
         <el-col :span="10"> </el-col>
         <el-col :span="3">
           <div style="margin-top: 5px">
-            {{ $t("themaic.find") }}
+            {{ $t('themaic.find') }}
             <label style="magin: 0% 15px">{{ listcount }}</label>
-            {{ $t("themaic.record") }}
+            {{ $t('themaic.record') }}
           </div>
         </el-col>
       </el-row>
@@ -148,7 +148,7 @@
 </template>
 
 <script>
-import mapView from "@/components/mapviewTwo";
+import mapView from '@/components/mapviewTwo';
 export default {
   components: {
     mapView,
@@ -156,89 +156,98 @@
   data() {
     return {
       dialogVisible: false,
-      input3: "",
+      input3: '',
       listcount: 7,
       checkindex: 1,
       timeindex: 1,
       pagesize: 10,
-      selvalue: "鍏ㄩ儴",
+      selvalue: '鍏ㄩ儴',
 
       middleList: [
         {
-          index: "1",
-          name: "绠¢亾鍩虹鏁版嵁涓撻鍥�",
-          time: "2022-07-10",
-          count: "28",
-          url: require("../../assets/img/themic/a1.jpg"),
-          pop: "/LFWeb/content/right/xxtj/xxtj1.html",
+          index: '1',
+          name: '绠¢亾鍩虹鏁版嵁涓撻鍥�',
+          time: '2022-07-10',
+          count: '28',
+          url: require('../../assets/img/themic/a1.jpg'),
+          pop: '/LFWeb/content/right/xxtj/xxtj1.html',
         },
         {
-          index: "2",
-          name: "鐢ㄦ埛浣跨敤鎯呭喌涓撻鍥�",
-          time: "2022-07-22",
-          count: "6",
-          url: require("../../assets/img/themic/a2.jpg"),
-          pop: "/LFWeb/content/right/xxtj/xxtj2.html",
+          index: '2',
+          name: '鐢ㄦ埛浣跨敤鎯呭喌涓撻鍥�',
+          time: '2022-07-22',
+          count: '6',
+          url: require('../../assets/img/themic/a2.jpg'),
+          pop: '/LFWeb/content/right/xxtj/xxtj2.html',
         },
         {
-          index: "3",
-          name: "椤圭洰鍩烘湰鎯呭喌涓撻鍥�",
-          time: "2022-06-25",
-          count: "23",
-          url: require("../../assets/img/themic/a3.jpg"),
-          pop: "/LFWeb/content/right/xxtj/xxtj3.html",
+          index: '3',
+          name: '椤圭洰鍩烘湰鎯呭喌涓撻鍥�',
+          time: '2022-06-25',
+          count: '23',
+          url: require('../../assets/img/themic/a3.jpg'),
+          pop: '/LFWeb/content/right/xxtj/xxtj3.html',
         },
         {
-          index: "4",
-          name: "椤圭洰杩涘害绠$悊涓撻鍥�",
-          time: "2022-07-17",
-          count: "15",
-          url: require("../../assets/img/themic/a4.jpg"),
-          pop: "/LFWeb/content/right/xxtj/xxtj4.html",
+          index: '4',
+          name: '椤圭洰杩涘害绠$悊涓撻鍥�',
+          time: '2022-07-17',
+          count: '15',
+          url: require('../../assets/img/themic/a4.jpg'),
+          pop: '/LFWeb/content/right/xxtj/xxtj4.html',
         },
         {
-          index: "5",
-          name: "鍏ㄧ悆椤圭洰鍒嗗竷涓撻鍥�",
-          time: "2022-07-20",
-          count: "7",
-          url: require("../../assets/img/themic/a5.jpg"),
-          pop: "/LFWeb/content/right/xxtj/xxtj5.html",
+          index: '5',
+          name: '鍏ㄧ悆椤圭洰鍒嗗竷涓撻鍥�',
+          time: '2022-07-20',
+          count: '7',
+          url: require('../../assets/img/themic/a5.jpg'),
+          pop: '/LFWeb/content/right/xxtj/xxtj5.html',
         },
         {
-          index: "6",
-          name: "鍏ㄥ浗绠$綉鍒嗗竷涓撻鍥�",
-          time: "2022-07-26",
-          count: "5",
-          url: require("../../assets/img/themic/a6.jpg"),
-          pop: "/LFWeb/content/right/xxtj/xxtj5.html",
-        }, {
-          index: "7",
-          name: "鍏ㄥ浗椤圭洰瓒宠抗涓撻鍥�",
-          time: "2022-06-30",
-          count: "10",
-          url: require("../../assets/img/themic/a7.jpg"),
-          pop: "/LFWeb/content/right/xxtj/xxtj5.html",
+          index: '6',
+          name: '鍏ㄥ浗绠$綉鍒嗗竷涓撻鍥�',
+          time: '2022-07-26',
+          count: '5',
+          url: require('../../assets/img/themic/a6.jpg'),
+          pop: '/LFWeb/content/right/xxtj/xxtj5.html',
+        },
+        {
+          index: '7',
+          name: '鍏ㄥ浗椤圭洰瓒宠抗涓撻鍥�',
+          time: '2022-06-30',
+          count: '10',
+          url: require('../../assets/img/themic/a7.jpg'),
+          pop: '/LFWeb/content/right/xxtj/xxtj5.html',
         },
       ],
       options: [
         {
-          value: "鍏ㄩ儴",
-          label: "鍏ㄩ儴",
+          value: '鍏ㄩ儴',
+          label: '鍏ㄩ儴',
         },
       ],
-      typeIndex: "",
+      typeIndex: '',
     };
   },
-  mounted() {
-
+  mounted() {},
+  created() {
+    var val = this.$store.state.currentPerms;
+    var permsEntity = this.$store.state.permsEntity;
+    for (var i = 0; i < permsEntity.length; i++) {
+      if (permsEntity[i].perms == val) {
+        // this.showMenuChange(permsEntity[i], permsEntity);
+        console.log('涓撻鍥�', permsEntity[i]);
+      }
+    }
   },
   methods: {
     close() {
-      this.$confirm("纭鍏抽棴锛�")
+      this.$confirm('纭鍏抽棴锛�')
         .then((_) => {
           this.dialogVisible = false;
         })
-        .catch((_) => { });
+        .catch((_) => {});
     },
     handleSizeChange(val) {
       console.log(`姣忛〉 ${val} 鏉);
@@ -247,11 +256,11 @@
       console.log(`褰撳墠椤�: ${val}`);
     },
     handleClose(done) {
-      this.$confirm("纭鍏抽棴锛�")
+      this.$confirm('纭鍏抽棴锛�')
         .then((_) => {
           done();
         })
-        .catch((_) => { });
+        .catch((_) => {});
     },
     changeChecked(res) {
       if (this.checkindex != res) {
@@ -266,8 +275,6 @@
     showThematic(res) {
       this.typeIndex = res.index;
       this.dialogVisible = true;
-
-
 
       // var url = "http://localhost/" + res.pop;
       // window.open(
diff --git a/src/views/maintenance/menuSettings.vue b/src/views/maintenance/menuSettings.vue
index ff86f67..f34517f 100644
--- a/src/views/maintenance/menuSettings.vue
+++ b/src/views/maintenance/menuSettings.vue
@@ -23,6 +23,7 @@
             <span>{{ node.label }}</span>
             <span class="btnBox">
               <el-button
+                v-if="menuStatus.insert"
                 type="text"
                 size="mini"
                 @click="() => append(node, data)"
@@ -30,6 +31,7 @@
                 <i class="el-icon-circle-plus"></i>
               </el-button>
               <el-button
+                v-if="menuStatus.delete"
                 type="text"
                 size="mini"
                 @click="() => remove(node, data)"
@@ -99,7 +101,7 @@
           <el-form-item label="澶囨敞" :label-width="formLabelWidth">
             <el-input v-model="itemdetail.bak" autocomplete="off"></el-input>
           </el-form-item>
-          <div class="btnBox">
+          <div class="btnBox" v-if="menuStatus.update">
             <el-button type="primary" @click="updMenu('itemdetail')"
               >淇濆瓨</el-button
             >
@@ -179,7 +181,7 @@
 </template>
 
 <script>
-import MyBread from "../../components/MyBread.vue";
+import MyBread from '../../components/MyBread.vue';
 import {
   queryMenuTree,
   updateMenuTree,
@@ -187,7 +189,7 @@
   queryMaxId,
   insertMenu,
   deleteMenu,
-} from "../../api/api";
+} from '../../api/api';
 export default {
   //import寮曞叆鐨勭粍浠堕渶瑕佹敞鍏ュ埌瀵硅薄涓墠鑳戒娇鐢�
   components: {
@@ -195,9 +197,14 @@
   },
   data() {
     return {
+      menuStatus: {
+        delete: false,
+        insert: false,
+        update: false,
+      },
       defaultProps: {
-        children: "children",
-        label: "cnName",
+        children: 'children',
+        label: 'cnName',
       },
       fullscreenLoading: false,
       oriData: [], //鍘熷鏍戞暟鎹�
@@ -205,53 +212,53 @@
       old_dirDat: [], //el鏍戞暟鎹�(鎷栧姩鍓�)
       newData: [], //鎷栧姩鍚庡師濮嬫暟鎹�
       itemdetail: {
-        cnName: "",
-        enName: "",
+        cnName: '',
+        enName: '',
         icon: null,
         isShow: null,
         perms: null,
-        url: "",
+        url: '',
         type: null,
-        bak: "",
+        bak: '',
       },
-      backUpData: "",
-      formLabelWidth: "130px",
-      delChildID: "",
+      backUpData: '',
+      formLabelWidth: '130px',
+      delChildID: '',
       delChildIDs: [],
       dialogFormVisible: false,
       ruleForm: {
         level: null,
         orderNum: null,
         pid: null,
-        enName: "",
-        cnName: "",
-        icon: "",
+        enName: '',
+        cnName: '',
+        icon: '',
         isShow: null,
-        url: "",
+        url: '',
         perms: null,
         type: null,
-        bak: "",
+        bak: '',
       },
       rules: {
         enName: [
-          { required: true, message: "璇疯緭鍏ヨ嫳鏂囧悕绉�", trigger: "blur" },
+          { required: true, message: '璇疯緭鍏ヨ嫳鏂囧悕绉�', trigger: 'blur' },
         ],
         cnName: [
-          { required: true, message: "璇疯緭鍏ヤ腑鏂囧悕绉�", trigger: "blur" },
+          { required: true, message: '璇疯緭鍏ヤ腑鏂囧悕绉�', trigger: 'blur' },
         ],
 
         isShow: [
           {
             required: true,
-            message: "璇烽�夋嫨鏄惁鏄剧ず",
-            trigger: "change",
+            message: '璇烽�夋嫨鏄惁鏄剧ず',
+            trigger: 'change',
           },
         ],
         type: [
           {
             required: true,
-            message: "璇烽�夋嫨鑺傜偣绫诲瀷",
-            trigger: "change",
+            message: '璇烽�夋嫨鑺傜偣绫诲瀷',
+            trigger: 'change',
           },
         ],
       },
@@ -260,25 +267,25 @@
       options1: [
         {
           value: 0,
-          label: "闅愯棌",
+          label: '闅愯棌',
         },
         {
           value: 1,
-          label: "鏄剧ず",
+          label: '鏄剧ず',
         },
       ],
       options2: [
         {
           value: 0,
-          label: "鏍圭洰褰�",
+          label: '鏍圭洰褰�',
         },
         {
           value: 1,
-          label: "鑿滃崟",
+          label: '鑿滃崟',
         },
         {
           value: 2,
-          label: "鎸夐挳",
+          label: '鎸夐挳',
         },
       ],
     };
@@ -295,7 +302,7 @@
           this.oriData = res.result;
           this.newData = res.result;
         } else {
-          console.log("鎺ュ彛鎶ラ敊");
+          console.log('鎺ュ彛鎶ラ敊');
         }
       });
     },
@@ -304,7 +311,7 @@
       return cloneData.filter((father) => {
         // 寰幆鎵�鏈夐」
         let branchArr = cloneData.filter((child) => father.id == child.pid); // 瀵规瘮ID锛屽垎鍒笂涓嬬骇鑿滃崟锛屽苟杩斿洖鏁版嵁
-        branchArr.length > 0 ? (father.children = branchArr) : ""; // 缁欑埗绾ф坊鍔犱竴涓猚hildren灞炴�э紝骞惰祴鍊�
+        branchArr.length > 0 ? (father.children = branchArr) : ''; // 缁欑埗绾ф坊鍔犱竴涓猚hildren灞炴�э紝骞惰祴鍊�
         return father.pid == 0; // 杩斿洖涓�绾ц彍鍗�
       });
     },
@@ -332,8 +339,8 @@
                   this.fullscreenLoading = false;
                   if (res.code == 200) {
                     this.$message({
-                      message: "娣诲姞鎴愬姛",
-                      type: "success",
+                      message: '娣诲姞鎴愬姛',
+                      type: 'success',
                     });
                     this.getMenuTree();
                     this.itemdetail = {};
@@ -345,7 +352,7 @@
               })
               .catch((res) => {
                 this.itemdetail = {};
-                this.$message.error("娣诲姞澶辫触");
+                this.$message.error('娣诲姞澶辫触');
                 this.fullscreenLoading = false;
                 console.log(res);
               });
@@ -357,10 +364,10 @@
       });
     },
     remove(node, data) {
-      this.$confirm("姝ゆ搷浣滃皢鍒犻櫎璇ヨ妭鐐�, 鏄惁缁х画?", "鎻愮ず", {
-        confirmButtonText: "纭畾",
-        cancelButtonText: "鍙栨秷",
-        type: "warning",
+      this.$confirm('姝ゆ搷浣滃皢鍒犻櫎璇ヨ妭鐐�, 鏄惁缁х画?', '鎻愮ず', {
+        confirmButtonText: '纭畾',
+        cancelButtonText: '鍙栨秷',
+        type: 'warning',
       })
         .then(() => {
           //鍏勫紵閲嶆柊鎺掑簭
@@ -381,25 +388,25 @@
             .then((res) => {
               if (res[0].code == 200 && res[1].code == 200) {
                 this.$message({
-                  type: "success",
-                  message: "鍒犻櫎鎴愬姛!",
+                  type: 'success',
+                  message: '鍒犻櫎鎴愬姛!',
                 });
                 this.getMenuTree();
                 this.itemdetail = {};
               } else if (res[0].code == 200) {
                 this.getMenuTree();
-                this.$message.error("鍒犻櫎鎴愬姛锛屼綅缃皟鏁村け璐�");
+                this.$message.error('鍒犻櫎鎴愬姛锛屼綅缃皟鏁村け璐�');
               } else if (res[1].code == 200) {
                 this.getMenuTree();
-                this.$message.error("鍒犻櫎澶辫触,浣嶇疆璋冩暣鎴愬姛");
+                this.$message.error('鍒犻櫎澶辫触,浣嶇疆璋冩暣鎴愬姛');
               } else {
-                this.$message.error("鍒犻櫎澶辫触");
+                this.$message.error('鍒犻櫎澶辫触');
               }
             })
             .catch(() => {
               this.$message({
-                type: "error",
-                message: "鍒犻櫎澶辫触",
+                type: 'error',
+                message: '鍒犻櫎澶辫触',
               });
             });
 
@@ -407,7 +414,7 @@
           this.delChildIDs = [];
         })
         .catch(() => {
-          this.$message("宸插彇娑堝垹闄�");
+          this.$message('宸插彇娑堝垹闄�');
         });
     },
     traverseArr(obj) {
@@ -435,21 +442,21 @@
       this.old_dirDat = JSON.parse(JSON.stringify(this.menuList)); //灏嗗浠界殑dir閲嶆柊璧嬪��
     },
     handleDrop(draggingNode, dropNode, dropType, ev) {
-      this.$confirm("姝ゆ搷浣滃皢淇濆瓨鐩綍鏇存敼, 鏄惁缁х画?", "鎻愮ず", {
-        confirmButtonText: "纭畾",
-        cancelButtonText: "鍙栨秷",
-        type: "warning",
+      this.$confirm('姝ゆ搷浣滃皢淇濆瓨鐩綍鏇存敼, 鏄惁缁х画?', '鎻愮ず', {
+        confirmButtonText: '纭畾',
+        cancelButtonText: '鍙栨秷',
+        type: 'warning',
       })
         .then(() => {
           //鐖惰妭鐐�
-          let data = dropType != "inner" ? dropNode.parent.data : dropNode.data;
+          let data = dropType != 'inner' ? dropNode.parent.data : dropNode.data;
           // 鐖惰妭鐐逛腑鍏ㄩ儴瀛愯妭鐐�
           let nodeData =
-            dropNode.level == 1 && dropType != "inner" ? data : data.children;
+            dropNode.level == 1 && dropType != 'inner' ? data : data.children;
           //鍙樻洿鑺傜偣
           // console.log(nodeData);
           nodeData.forEach((item, i) => {
-            if (dropType != "inner") {
+            if (dropType != 'inner') {
               if (draggingNode.data.pid === dropNode.data.pid) {
                 item.pid = item.pid;
               } else {
@@ -474,8 +481,8 @@
         })
         .catch(() => {
           this.$message({
-            type: "info",
-            message: "宸插彇娑堟洿鏀�",
+            type: 'info',
+            message: '宸插彇娑堟洿鏀�',
           });
           this.menuList = this.old_dirDat; //灏嗗浠界殑dir閲嶆柊璧嬪��
         });
@@ -492,11 +499,11 @@
             this.getMenuTree();
             return;
           } else {
-            alert("璋冩暣澶辫触锛岃閲嶈瘯锛�");
+            alert('璋冩暣澶辫触锛岃閲嶈瘯锛�');
           }
         })
         .catch(() => {
-          alert("淇敼澶辫触锛岃閲嶈瘯锛�");
+          alert('淇敼澶辫触锛岃閲嶈瘯锛�');
         });
     },
     handleNodeClick(data) {
@@ -522,7 +529,7 @@
                 }, 500);
               })
               .catch((res) => {
-                alert("淇敼澶辫触锛岃閲嶈瘯锛�");
+                alert('淇敼澶辫触锛岃閲嶈瘯锛�');
                 this.fullscreenLoading = false;
               });
           } else {
@@ -533,14 +540,36 @@
     },
     reset(formName) {
       this.$refs[formName].resetFields();
-      if (this.backUpData != "") {
+      if (this.backUpData != '') {
         this.itemdetail = JSON.parse(this.backUpData);
+      }
+    },
+    showPermsMenu(res) {
+      switch (res.tag) {
+        case '/delete':
+          this.menuStatus.delete = true;
+          break;
+        case '/insert':
+          this.menuStatus.insert = true;
+          break;
+        case '/update':
+          this.menuStatus.update = true;
+          break;
       }
     },
   },
   mounted() {
     this.getMenuTree();
   },
+  created() {
+    var val = this.$store.state.currentPerms;
+    var permsEntity = this.$store.state.permsEntity;
+    for (var i = 0; i < permsEntity.length; i++) {
+      if (permsEntity[i].perms == val) {
+        this.showPermsMenu(permsEntity[i]);
+      }
+    }
+  },
 };
 </script>
 <style lang="less" scoped>
diff --git a/src/views/userManage/authorityManage.vue b/src/views/userManage/authorityManage.vue
index 2d30d6c..26b5073 100644
--- a/src/views/userManage/authorityManage.vue
+++ b/src/views/userManage/authorityManage.vue
@@ -22,13 +22,13 @@
             type="info"
             >{{ $t('common.empty') }}</el-button
           >
-          <el-button
+          <el-button v-if="menuStatus.insert"
             @click="InsertFormdialog = true"
             icon="el-icon-edit"
             type="success"
             >{{ $t('common.append') }}</el-button
           >
-          <el-button
+          <el-button v-if="menuStatus.delete"
             @click="DelFromData"
             icon="el-icon-delete"
             type="danger"
@@ -108,7 +108,7 @@
               size="small"
               >{{ $t('common.see') }}</el-button
             >
-            <el-button
+            <el-button v-if="menuStatus.update"
               @click="handleEdit(scope.$index, scope.row)"
               type="warning"
               size="small"
@@ -282,6 +282,11 @@
   components: { MyBread },
   data() {
     return {
+       menuStatus: {
+        delete: false,
+        insert: false,
+        update: false,
+      },
       formLabelWidth: '100px',
       ruleForm: {},
       isTransfer: false,
@@ -308,9 +313,30 @@
     label: 'label',
   },
   created() {
+    var val = this.$store.state.currentPerms;
+     var permsEntity = this.$store.state.permsEntity;
+      for (var i = 0; i < permsEntity.length; i++) {
+        if (permsEntity[i].perms == val) {
+          this.showPermsMenu(permsEntity[i]);
+
+        }
+      }
     this.getRoleTabelData();
   },
   methods: {
+     showPermsMenu(res) {
+      switch (res.tag) {
+        case '/delete':
+          this.menuStatus.delete = true;
+          break;
+        case '/insert':
+          this.menuStatus.insert = true;
+          break;
+        case '/update':
+          this.menuStatus.update = true;
+          break;
+      }
+    },
    async DelFromData(){
       var std = [];
       for (var i in this.multipleSelection) {
diff --git a/src/views/userManage/orgManage.vue b/src/views/userManage/orgManage.vue
index cb25cb4..ff052ca 100644
--- a/src/views/userManage/orgManage.vue
+++ b/src/views/userManage/orgManage.vue
@@ -23,6 +23,7 @@
             <span>{{ node.label }}</span>
             <span class="btnBox">
               <el-button
+                v-if="menuStatus.insert"
                 type="text"
                 size="mini"
                 @click="() => append(node, data)"
@@ -30,6 +31,7 @@
                 <i class="el-icon-circle-plus"></i>
               </el-button>
               <el-button
+                v-if="menuStatus.delete"
                 type="text"
                 size="mini"
                 @click="() => remove(node, data)"
@@ -86,7 +88,7 @@
           <el-form-item label="澶囨敞" :label-width="formLabelWidth">
             <el-input v-model="itemdetail.bak" autocomplete="off"></el-input>
           </el-form-item>
-          <div class="btnBox">
+          <div class="btnBox" v-if="menuStatus.update">
             <el-button type="primary" @click="updDep('itemdetail')"
               >淇濆瓨</el-button
             >
@@ -152,7 +154,7 @@
 </template>
 
 <script>
-import MyBread from "../../components/MyBread.vue";
+import MyBread from '../../components/MyBread.vue';
 import {
   queryDepTree,
   updateDepTree,
@@ -160,7 +162,7 @@
   queryMaxId,
   insertDep,
   deleteDep,
-} from "../../api/api";
+} from '../../api/api';
 export default {
   //import寮曞叆鐨勭粍浠堕渶瑕佹敞鍏ュ埌瀵硅薄涓墠鑳戒娇鐢�
   components: {
@@ -168,16 +170,21 @@
   },
   data() {
     let validName = (rule, value, callback) => {
-      if (value === "" || value === null || value === undefined) {
-        return callback(new Error("鍚嶇О涓嶈兘涓虹┖"));
+      if (value === '' || value === null || value === undefined) {
+        return callback(new Error('鍚嶇О涓嶈兘涓虹┖'));
       } else {
         callback();
       }
     };
     return {
+      menuStatus: {
+        delete: false,
+        insert: false,
+        update: false,
+      },
       defaultProps: {
-        children: "children",
-        label: "name",
+        children: 'children',
+        label: 'name',
       },
       fullscreenLoading: false,
       oriData: [], //鍘熷鏍戞暟鎹�
@@ -185,41 +192,41 @@
       old_depData: [], //el鏍戞暟鎹�(鎷栧姩鍓�)
       newData: [], //鎷栧姩鍚庡師濮嬫暟鎹�
       itemdetail: {
-        addr: "",
-        bak: "",
-        code: "",
-        contact: "",
-        email: "",
-        fax: "",
-        name: "",
-        post: "",
-        sname: "",
-        uncode: "",
-        website: "",
+        addr: '',
+        bak: '',
+        code: '',
+        contact: '',
+        email: '',
+        fax: '',
+        name: '',
+        post: '',
+        sname: '',
+        uncode: '',
+        website: '',
       },
-      backUpData: "",
-      formLabelWidth: "130px",
-      delChildID: "",
+      backUpData: '',
+      formLabelWidth: '130px',
+      delChildID: '',
       delChildIDs: [],
       dialogFormVisible: false,
       ruleForm: {
         level: null,
         orderNum: null,
         pid: null,
-        addr: "",
-        bak: "",
-        code: "",
-        contact: "",
-        email: "",
-        fax: "",
-        name: "",
-        post: "",
-        sname: "",
-        uncode: "",
-        website: "",
+        addr: '',
+        bak: '',
+        code: '',
+        contact: '',
+        email: '',
+        fax: '',
+        name: '',
+        post: '',
+        sname: '',
+        uncode: '',
+        website: '',
       },
       rules: {
-        name: [{ required: true, validator: validName, trigger: "blur" }],
+        name: [{ required: true, validator: validName, trigger: 'blur' }],
       },
     };
   },
@@ -237,7 +244,7 @@
         } else {
           this.$notify.error({
             title: res.code,
-            message: "鏃犳硶鑾峰彇鍗曚綅鍒楄〃",
+            message: '鏃犳硶鑾峰彇鍗曚綅鍒楄〃',
           });
         }
       });
@@ -247,7 +254,7 @@
       return cloneData.filter((father) => {
         // 寰幆鎵�鏈夐」
         let branchArr = cloneData.filter((child) => father.id == child.pid); // 瀵规瘮ID锛屽垎鍒笂涓嬬骇鑿滃崟锛屽苟杩斿洖鏁版嵁
-        branchArr.length > 0 ? (father.children = branchArr) : ""; // 缁欑埗绾ф坊鍔犱竴涓猚hildren灞炴�э紝骞惰祴鍊�
+        branchArr.length > 0 ? (father.children = branchArr) : ''; // 缁欑埗绾ф坊鍔犱竴涓猚hildren灞炴�э紝骞惰祴鍊�
         return father.pid == 0; // 杩斿洖涓�绾ц彍鍗�
       });
     },
@@ -277,8 +284,8 @@
                 this.fullscreenLoading = false;
                 if (res.code == 200) {
                   this.$message({
-                    message: "娣诲姞鎴愬姛",
-                    type: "success",
+                    message: '娣诲姞鎴愬姛',
+                    type: 'success',
                   });
                   this.getMenuTree();
                   this.itemdetail = {};
@@ -290,7 +297,7 @@
             })
             .catch((res) => {
               this.itemdetail = {};
-              this.$message.error("娣诲姞澶辫触");
+              this.$message.error('娣诲姞澶辫触');
               this.fullscreenLoading = false;
               console.log(res);
             });
@@ -301,10 +308,10 @@
       });
     },
     remove(node, data) {
-      this.$confirm("姝ゆ搷浣滃皢鍒犻櫎璇ヨ妭鐐�, 鏄惁缁х画?", "鎻愮ず", {
-        confirmButtonText: "纭畾",
-        cancelButtonText: "鍙栨秷",
-        type: "warning",
+      this.$confirm('姝ゆ搷浣滃皢鍒犻櫎璇ヨ妭鐐�, 鏄惁缁х画?', '鎻愮ず', {
+        confirmButtonText: '纭畾',
+        cancelButtonText: '鍙栨秷',
+        type: 'warning',
       })
         .then(() => {
           //鍏勫紵閲嶆柊鎺掑簭
@@ -326,24 +333,24 @@
               console.log(res);
               if (res[0].code == 200 && res[1].code == 200) {
                 this.$message({
-                  type: "success",
-                  message: "鍒犻櫎鎴愬姛!",
+                  type: 'success',
+                  message: '鍒犻櫎鎴愬姛!',
                 });
                 this.getMenuTree();
                 this.itemdetail = {};
               } else if (res[0].code == 200) {
                 this.getMenuTree();
-                this.$message.error("鍒犻櫎鎴愬姛锛屼綅缃皟鏁村け璐�");
+                this.$message.error('鍒犻櫎鎴愬姛锛屼綅缃皟鏁村け璐�');
               } else if (res[1].code == 200) {
                 this.getMenuTree();
-                this.$message.error("鍒犻櫎澶辫触,浣嶇疆璋冩暣鎴愬姛");
+                this.$message.error('鍒犻櫎澶辫触,浣嶇疆璋冩暣鎴愬姛');
               } else {
                 this.getMenuTree();
-                this.$message.error("鍒犻櫎澶辫触");
+                this.$message.error('鍒犻櫎澶辫触');
               }
             })
             .catch(() => {
-              this.$message.error("鍒犻櫎澶辫触");
+              this.$message.error('鍒犻櫎澶辫触');
               this.itemdetail = {};
             });
 
@@ -351,7 +358,7 @@
           this.delChildIDs = [];
         })
         .catch(() => {
-          this.$message("宸插彇娑堝垹闄�");
+          this.$message('宸插彇娑堝垹闄�');
         });
       // this.dialogMessage="鏄惁鍒犻櫎"
       // this.dialogFlag = 1;
@@ -393,21 +400,21 @@
       this.old_depData = JSON.parse(JSON.stringify(this.depList)); //灏嗗浠界殑dir閲嶆柊璧嬪��
     },
     handleDrop(draggingNode, dropNode, dropType, ev) {
-      this.$confirm("姝ゆ搷浣滃皢淇濆瓨鐩綍鏇存敼, 鏄惁缁х画?", "鎻愮ず", {
-        confirmButtonText: "纭畾",
-        cancelButtonText: "鍙栨秷",
-        type: "warning",
+      this.$confirm('姝ゆ搷浣滃皢淇濆瓨鐩綍鏇存敼, 鏄惁缁х画?', '鎻愮ず', {
+        confirmButtonText: '纭畾',
+        cancelButtonText: '鍙栨秷',
+        type: 'warning',
       })
         .then(() => {
           //鐖惰妭鐐�
-          let data = dropType != "inner" ? dropNode.parent.data : dropNode.data;
+          let data = dropType != 'inner' ? dropNode.parent.data : dropNode.data;
           // 鐖惰妭鐐逛腑鍏ㄩ儴瀛愯妭鐐�
           let nodeData =
-            dropNode.level == 1 && dropType != "inner" ? data : data.children;
+            dropNode.level == 1 && dropType != 'inner' ? data : data.children;
           //鍙樻洿鑺傜偣
           // console.log(nodeData);
           nodeData.forEach((item, i) => {
-            if (dropType != "inner") {
+            if (dropType != 'inner') {
               if (draggingNode.data.pid === dropNode.data.pid) {
                 item.pid = item.pid;
               } else {
@@ -432,8 +439,8 @@
         })
         .catch(() => {
           this.$message({
-            type: "info",
-            message: "宸插彇娑堟洿鏀�",
+            type: 'info',
+            message: '宸插彇娑堟洿鏀�',
           });
           this.depList = this.old_depData; //灏嗗浠界殑dir閲嶆柊璧嬪��
         });
@@ -445,11 +452,11 @@
             this.getMenuTree();
             return;
           } else {
-            alert("璋冩暣澶辫触锛岃閲嶈瘯锛�");
+            alert('璋冩暣澶辫触锛岃閲嶈瘯锛�');
           }
         })
         .catch(() => {
-          alert("淇敼澶辫触锛岃閲嶈瘯锛�");
+          alert('淇敼澶辫触锛岃閲嶈瘯锛�');
         });
     },
     handleNodeClick(data) {
@@ -467,14 +474,14 @@
                 setTimeout(() => {
                   this.fullscreenLoading = false;
                   if (res.code == 200) {
-                    this.getMenuTree()
+                    this.getMenuTree();
                     this.itemdetail = {};
                     this.dialogFormVisible = false;
                   }
                 }, 500);
               })
               .catch((res) => {
-                alert("淇敼澶辫触锛岃閲嶈瘯锛�");
+                alert('淇敼澶辫触锛岃閲嶈瘯锛�');
                 this.fullscreenLoading = false;
               });
           } else {
@@ -485,14 +492,36 @@
     },
     reset() {
       this.$refs[formName].resetFields();
-      if (this.backUpData != "") {
+      if (this.backUpData != '') {
         this.itemdetail = JSON.parse(this.backUpData);
+      }
+    },
+    showPermsMenu(res) {
+      switch (res.tag) {
+        case '/delete':
+          this.menuStatus.delete = true;
+          break;
+        case '/insert':
+          this.menuStatus.insert = true;
+          break;
+        case '/update':
+          this.menuStatus.update = true;
+          break;
       }
     },
   },
   mounted() {
     this.getDepTree();
   },
+  created() {
+    var val = this.$store.state.currentPerms;
+    var permsEntity = this.$store.state.permsEntity;
+    for (var i = 0; i < permsEntity.length; i++) {
+      if (permsEntity[i].perms == val) {
+        this.showPermsMenu(permsEntity[i]);
+      }
+    }
+  },
 };
 </script>
 <style lang="less" scoped>
diff --git a/src/views/userManage/resourceManage.vue b/src/views/userManage/resourceManage.vue
index be5f867..5ec2010 100644
--- a/src/views/userManage/resourceManage.vue
+++ b/src/views/userManage/resourceManage.vue
@@ -23,14 +23,14 @@
                         size="small"
             >{{ $t('common.empty') }}</el-button
           >
-          <el-button
+          <el-button v-if="menuStatus.insert"
             @click="InsertFormdialog = true"
             icon="el-icon-edit"
             type="success"
                         size="small"
             >{{ $t('common.append') }}</el-button
           >
-          <el-button
+          <el-button  v-if="menuStatus.delete"
             @click="DelFromData"
             icon="el-icon-delete"
             type="danger"
@@ -142,7 +142,7 @@
               size="small"
               >{{ $t('common.see') }}</el-button
             >
-            <el-button
+            <el-button v-if="menuStatus.update"
               @click="handleEdit(scope.$index, scope.row)"
               type="warning"
               size="small"
@@ -438,7 +438,7 @@
             style="margin-left: 10px"
             ><i class="el-icon-plus"></i
           ></el-link>
-           <el-link
+           <el-link v-if="menuStatus.upload"
            :title="$t('common.upload')"
             :underline="false"
             @click="setUploadFile(1)"
@@ -507,6 +507,12 @@
   components: { MyBread, styleDirTree, styleDepTree },
   data() {
     return {
+        menuStatus: {
+        delete: false,
+        insert: false,
+        update: false,
+        upload:false,
+      },
       formLabelWidth: '130px',
       ruleForm: {},
       isTransfer: false,
@@ -541,9 +547,32 @@
     label: 'label',
   },
   created() {
-    this.getRoleTabelData();
+    var val = this.$store.state.currentPerms;
+    var permsEntity = this.$store.state.permsEntity;
+    for (var i = 0; i < permsEntity.length; i++) {
+      if (permsEntity[i].perms == val) {
+        this.showPermsMenu(permsEntity[i]);
+      }
+    }
+     this.getRoleTabelData();
   },
   methods: {
+     showPermsMenu(res) {
+      switch (res.tag) {
+        case '/delete':
+          this.menuStatus.delete = true;
+          break;
+        case '/insert':
+          this.menuStatus.insert = true;
+          break;
+        case '/update':
+          this.menuStatus.update = true;
+          break;
+            case '/upload':
+          this.menuStatus.upload = true;
+          break;
+      }
+    },
     getIsertFile() {
       $('#imageFile').click();
     },
diff --git a/src/views/userManage/roleManage.vue b/src/views/userManage/roleManage.vue
index 98cd33a..a7e8ec6 100644
--- a/src/views/userManage/roleManage.vue
+++ b/src/views/userManage/roleManage.vue
@@ -27,7 +27,7 @@
         </el-form-item>
         <br />
         <el-form-item>
-          <el-button @click="InsertFormdialog = true"
+          <el-button @click="InsertFormdialog = true" v-if="menuStatus.insert"
             ><i class="el-icon-circle-plus-outline"></i> &nbsp;{{
               $t('userManage.RM.add')
             }}</el-button
@@ -48,7 +48,7 @@
           >
         </el-form-item>
         <el-form-item>
-          <el-button @click="handleDelete()"
+          <el-button @click="handleDelete()" v-if="menuStatus.delete"
             ><i class="el-icon-delete"></i>&nbsp;{{
               $t('common.delete')
             }}</el-button
@@ -134,6 +134,7 @@
         >
           <template slot-scope="scope">
             <el-button
+              v-if="menuStatus.update"
               type="warning"
               @click="handleEdit(scope.$index, scope.row)"
               size="small"
@@ -395,6 +396,11 @@
         pageIndex: 1,
         pageSize: 10,
       },
+      menuStatus: {
+        delete: false,
+        insert: false,
+        update: false,
+      },
     };
   },
   methods: {
@@ -589,8 +595,28 @@
       this.roleForm = {};
       this.getRoleTabelData();
     },
+    showPermsMenu(res) {
+      switch (res.tag) {
+        case '/delete':
+          this.menuStatus.delete = true;
+          break;
+        case '/insert':
+          this.menuStatus.insert = true;
+          break;
+        case '/update':
+          this.menuStatus.update = true;
+          break;
+      }
+    },
   },
   created() {
+    var val = this.$store.state.currentPerms;
+    var permsEntity = this.$store.state.permsEntity;
+    for (var i = 0; i < permsEntity.length; i++) {
+      if (permsEntity[i].perms == val) {
+        this.showPermsMenu(permsEntity[i]);
+      }
+    }
     this.getRoleTabelData();
     this.getSelectDepTab();
   },

--
Gitblit v1.9.3