From 62ae55ae397b7997b147a7b946f7ad5f1c78a45d Mon Sep 17 00:00:00 2001
From: Surpriseplus <845948745@qq.com>
Date: 星期三, 26 十月 2022 19:34:33 +0800
Subject: [PATCH] 综合展示,系统管理,授权管理,专题图,资料馆添加权限配置

---
 src/views/Synthesis/index.vue |  115 +++++++++++++++++++++++++++++++++++++++++++++++----------
 1 files changed, 94 insertions(+), 21 deletions(-)

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>
 

--
Gitblit v1.9.3