From a2ebd9a92a375b0b6898d532d3fee782b5fd8f49 Mon Sep 17 00:00:00 2001
From: zhangzengfei <zhangzengfei@iotlink.com>
Date: 星期四, 15 十月 2020 19:22:57 +0800
Subject: [PATCH] 修复权限设置

---
 src/pages/settings/components/BasicSetting.vue |   48 ++++++++++++++++++++++++++++++++++++++----------
 1 files changed, 38 insertions(+), 10 deletions(-)

diff --git a/src/pages/settings/components/BasicSetting.vue b/src/pages/settings/components/BasicSetting.vue
index 437cf00..3c05bf4 100644
--- a/src/pages/settings/components/BasicSetting.vue
+++ b/src/pages/settings/components/BasicSetting.vue
@@ -8,7 +8,7 @@
       type="border-card"
     >
       <!-- 鏈満淇℃伅 -->
-      <el-tab-pane label="鏈満淇℃伅" name="first">
+      <el-tab-pane label="鏈満淇℃伅" name="sysInfo" v-if="isShow('settings:sysInfo')">
         <el-menu
           :default-openeds="openeds"
           background-color="#fff"
@@ -179,7 +179,7 @@
       </el-tab-pane>
 
       <!-- 鏃堕棿閰嶇疆 -->
-      <el-tab-pane label="鏃堕棿閰嶇疆" name="second">
+      <el-tab-pane label="鏃堕棿閰嶇疆" name="timeSet" v-if="isShow('settings:timeSet')">
         <el-form label-width="100px">
           <el-form-item label="璁惧鏃堕棿">
             <!-- <el-input v-model="equipmentTime" placeholder="璇疯緭鍏�" size="small"></el-input> -->
@@ -269,7 +269,7 @@
       </el-tab-pane>
 
       <!-- 闆嗙兢绠$悊 -->
-      <el-tab-pane label="闆嗙兢绠$悊" name="third">
+      <el-tab-pane label="闆嗙兢绠$悊" name="cluster" v-if="isShow('settings:cluster')">
         <cluster-management></cluster-management>
       </el-tab-pane>
       <!-- <el-tab-pane label="澶栭儴璁块棶" name="fourth">
@@ -312,11 +312,11 @@
           </el-submenu>
         </el-menu>
       </el-tab-pane>-->
-      <el-tab-pane label="鏉冮檺绠$悊" name="user">
-        <authority-management v-if="activeName === 'user'"></authority-management>
+      <el-tab-pane label="鏉冮檺绠$悊" name="permission" v-if="isShow('settings:permission')">
+        <authority-management v-if="activeName === 'permission'"></authority-management>
       </el-tab-pane>
-      <el-tab-pane label="骞挎挱璁剧疆" name="radio">
-        <radio-set v-if="activeName === 'radio'"></radio-set>
+      <el-tab-pane label="骞挎挱璁剧疆" name="broadcast" v-if="isShow('settings:broadcast')">
+        <radio-set v-if="activeName === 'broadcast'"></radio-set>
       </el-tab-pane>
     </el-tabs>
   </div>
@@ -360,7 +360,18 @@
         }))
       })
       return options
-    }
+    },
+    isAdmin() {
+      if (
+        sessionStorage.getItem("userInfo") &&
+        sessionStorage.getItem("userInfo") !== ""
+      ) {
+        let loginName = JSON.parse(sessionStorage.getItem("userInfo")).username;
+        return loginName === "superadmin" || loginName === "basic";
+      }
+
+      return false;
+    },
   },
   directives: {
     focus: {
@@ -374,7 +385,7 @@
       loading: true,
       loadingText: "",
       gutter: 10,
-      activeName: "first",
+      activeName: "sysInfo",
       timezone: "",
       syncType: "1",
       ntpServer: "",
@@ -471,8 +482,22 @@
         countyOptions: []
       },
       webPort: 0,
-      ntpTestLoading: false
+      ntpTestLoading: false,
+      buttonAuthority: sessionStorage.getItem("buttonAuthoritys") || [],
     };
+  },
+  created() {
+    if (this.isShow("settings:sysInfo")) {
+      this.activeName = "sysInfo";
+    } else if (this.isShow("settings:timeSet")) {
+      this.activeName = "timeSet";
+    } else if (this.isShow("settings:cluster")) {
+      this.activeName = "cluster";
+    } else if (this.isShow("settings:permission")) {
+      this.activeName = "permission";
+    } else if (this.isShow("settings:broadcast")) {
+      this.activeName = "broadcast";
+    }
   },
   mounted() {
     this.$nextTick(() => {
@@ -489,6 +514,9 @@
     clearInterval(this.browserTimer);
   },
   methods: {
+    isShow(authority) {
+      return this.isAdmin || this.buttonAuthority.indexOf("," + authority + ",") > -1
+    },
     initSysinfo() {
       this.loadingText = "姝e湪鑾峰彇璁惧淇℃伅...";
       getDevInfo().then(rsp => {

--
Gitblit v1.8.0