From c215c89ecda16e4d32593f3e942fe871898071e9 Mon Sep 17 00:00:00 2001
From: surprise <15810472099@163.com>
Date: 星期一, 05 二月 2024 17:51:53 +0800
Subject: [PATCH] 代码提交

---
 src/components/navMenu.vue |  185 ++++++++++++++++++++++++++++++++++++---------
 1 files changed, 146 insertions(+), 39 deletions(-)

diff --git a/src/components/navMenu.vue b/src/components/navMenu.vue
index 1c83a75..57b86e2 100644
--- a/src/components/navMenu.vue
+++ b/src/components/navMenu.vue
@@ -1,5 +1,8 @@
 <template>
-  <div class="NavBox">
+  <div
+    class="NavBox"
+    @click.stop
+  >
     <div class="topBox">
       <div class="topTitle"></div>
       <div class="topMenu">
@@ -9,7 +12,7 @@
             @click="setMenuMove(index, item)"
             v-for="(item, index) in listMenu"
           >
-            <div>
+            <div style="display: flex;align-items: center">
               <div class="ImgMenu">
                 <div
                   class="menuImage"
@@ -39,6 +42,17 @@
         </div>
       </div>
       <div class="topUser">
+        <div class="userLanguage">
+          <div
+            class="userImage theme"
+            @click="themeChange"
+          ></div>
+          <div
+            class="userImage user2"
+            @click="switchLang"
+          ></div>
+
+        </div>
         <div class="userName">
           <div class="userImage user1"></div>
           <div class="userText">
@@ -49,21 +63,7 @@
               class="elLink"
             >{{ $t('common.logout') }}</el-link>
           </div>
-
         </div>
-        <div
-          @click="switchLang"
-          class="userLanguage"
-        >
-          <div class="userImage user2"></div>
-          <div class="TextLanguage">
-            <el-link
-              :underline="false"
-              class="elLink"
-            >{{$t("common.language")}}</el-link>
-          </div>
-        </div>
-
       </div>
     </div>
 
@@ -71,13 +71,14 @@
 </template>
 
 <script>
-import { logout, selectMenuRecursive } from '@/api/api';
+import { logout, selectMenuRecursive, sign_insertOpLog } from '@/api/api';
 import { removeToken, getToken } from '@/utils/auth';
 import customElMenu from '../components/customElMenu.vue';
 import { queryMenuTree, getPerms } from '../api/api';
 import colorChange from '../views/maintenance/colorChange.vue';
 import { containsCoordinate } from 'ol/extent';
 import Vue from 'vue';
+import $ from 'jquery'
 export default {
   name: 'navMenu',
   //import寮曞叆鐨勭粍浠堕渶瑕佹敞鍏ュ埌瀵硅薄涓墠鑳戒娇鐢�
@@ -87,6 +88,7 @@
   },
   data() {
     return {
+
       themeColor: true,
       oriData: [], //鍘熷鏍戞暟鎹�
       dirData: [], //el鏍戞暟鎹�
@@ -109,15 +111,70 @@
       changeSelectdiv: false,
       listMenu: [],
       showFlag: null,
-      language: true
+      language: true,
+      nowPage: [
+        {
+          name: '/Archive',
+          index: 3
+        },
+        {
+          name: '/dataApplication',
+          index: 3
+        },
+        {
+          name: '/ExportMap',
+          index: 3
+        },
+        {
+          name: '/Synthesis',
+          index: 3
+        },
+        {
+          name: '/dataController',
+          index: 4
+        },
+        {
+          name: '/mochaitmo',
+          index: 5
+        }
+      ]
     };
   },
   created() { },
   mounted() {
+    this.$store.state.themeflag = false;
+    $("#app").removeClass("Black_theme");
     this.getMenuTree();
+    if (sessionStorage.getItem('changeliSelect')) {
+      this.$set(this, 'changeliSelect', sessionStorage.getItem('changeliSelect'))
+      // this.changeliSelect = sessionStorage.getItem('changeliSelect')
+    }
+    document.body.addEventListener('click', () => {
+      this.showFlag = null;
+    }, false);
+    // this.$bus.$on('closeMenuSecond', res => {
+    //   this.showFlag = null;
+    // })
+    window.addEventListener('message', (e) => {
+
+      this.showFlag = null;
+    })
   },
   computed: {},
   methods: {
+    closeSecondMenu() {
+      this.showFlag = null
+    },
+    themeChange() {
+      this.$store.state.themeflag = !this.$store.state.themeflag;
+      if (this.$store.state.themeflag == true) {
+        $("#app").addClass("Black_theme");
+
+      } else {
+        $("#app").removeClass("Black_theme");
+      }
+
+    },
     async getCookies() {
       var boolean = this.getTimeCookies();
       if (boolean != true) {
@@ -128,16 +185,19 @@
         const data = await getPerms();
         this.$store.state.permsEntity = data.result;
       }
- 
+
       this.$store.state.uname = JSON.parse(
         localStorage.getItem('LFToken')
       ).uname;
-        this.$store.state.unid = JSON.parse(
+      this.$store.state.unid = JSON.parse(
         localStorage.getItem('LFToken')
       ).userid;
       this.$router.push('/');
     },
     getTimeCookies() {
+      if (!localStorage.getItem('LFToken')) {
+        return false
+      }
       var time1 = new Date(JSON.parse(localStorage.getItem('LFToken')).time);
       var time2 = new Date();
       if (time2 > time1) {
@@ -146,29 +206,46 @@
         return true;
       }
     },
+
     //涓婚鍒囨崲
     setThemeColors() { },
-
+    async signInsertOpLog(m1, m2) {
+      var obj = {
+        m1: m1,
+        m2: m2,
+      }
+      const data = await sign_insertOpLog(obj);
+    },
     //榧犳爣绉诲叆鑿滃崟浜嬩欢
     setMenuMove(index, item) {
 
-      if (item.perms != null) {
+      if (item.perms != null && item.perms != "") {
         this.$router.push(item.url);
         if (this.showFlag != null) {
 
           this.changeliSelect = '%%';
           this.showFlag = null;
         }
+        if (item.url == "Thematic") {
+          this.signInsertOpLog("缁煎悎灞曠ず", item.cnName)
+        }
+
+        this.changeSelectStyle = index;
+        sessionStorage.setItem('changeSelectStyle', index)
       } else {
         if (this.showFlag != index) {
           this.showFlag = index;
-
         } else {
           this.showFlag = null;
         }
       }
+      //
+      if (index === 4 || index === 5 || index === 6) {
+        sessionStorage.removeItem('changeliSelect')
+        this.$set(this, 'changeliSelect', null)
+      }
 
-      this.changeSelectStyle = index;
+
     },
     closeAllChildren() {
       var val = this.listMenu
@@ -190,17 +267,29 @@
       }
     },
     setLiClick(res, index) {
+      this.changeSelectStyle = index;
+      sessionStorage.setItem('changeSelectStyle', index)
+      sessionStorage.removeItem('hanleselectmochaitmo')
+      sessionStorage.removeItem('hanleselectindex')
+
+      // this.signInsertOpLog(this.listMenu[index].cnName, res.cnName)
       setTimeout(() => {
         this.changeliSelect = res.cnName;
-        if (res.url.indexOf('http') != -1) {
-          if (location.href.indexOf('/WareInspection') == -1) {
-            this.$store.reporturl = res.url;
-            this.$router.push('/WareInspection');
-          } else {
-            this.$bus.$emit('changeNaveUrl', res.url);
-          }
+        sessionStorage.setItem('changeliSelect', res.cnName)
+        if (res.url.indexOf('{fmeHost}') != -1) {
+          this.$store.reporturl = res.url;
+          sessionStorage.setItem('iframehttpurl', this.$store.reporturl)
+          this.$router.push('/QualityInspection');
+          // if (location.href.indexOf('/WareInspection') == -1) {
+          //   this.$store.reporturl = res.url;
+          //   this.$router.push('/WareInspection');
+          // } else {
+          //   this.$bus.$emit('changeNaveUrl', res.url);
+          // }
         } else {
           this.$store.reporturl = null;
+          sessionStorage.setItem('iframehttpurl', null)
+          // sessionStorage.setItem('changeliSelect', null)
           this.$router.push(res.url);
           this.$store.commit('currentPerms', res.perms);
         }
@@ -236,17 +325,35 @@
       for (var i in res) {
         res[i].checkClass = res[i].css + '1';
         res[i].show = false; //鎺у埗鏄鹃殣
-        if (res[i].perms == null) {
+
+        if (res[i].perms == null || res[i].perms == "") {
           const result = await selectMenuRecursive({ id: res[i].id });
 
           if (result.code == 200) {
+
             res[i].children = result.result.filter((value) => {
-              return value.pid == res[i].id;
-            });
+              return value.isShow == 1;
+            })
+              .filter((value) => {
+                return value.pid == res[i].id;
+              });
 
           }
           this.listMenu.push(res[i]);
-          this.changeSelectStyle = this.listMenu.length - 1;
+          // this.changeSelectStyle = this.listMenu.length - 1;
+          // this.changeSelectStyle = 0
+          // const nowPage = this.nowPage
+          // if (sessionStorage.getItem('routerName')) {
+          //   for (let index = 0; index < nowPage.length; index++) {
+          //     if (this.$route.path === nowPage[index].name) {
+          //       this.$set(this, 'changeSelectStyle', nowPage[index].index)
+          //     }
+          //   }
+          // } else {
+          //   this.changeSelectStyle = this.listMenu.length - 1;
+          // }
+
+          this.changeSelectStyle = sessionStorage.getItem('changeSelectStyle')
           // var strartMneu = res[i].children[0];
           // this.$store.commit('currentPerms', strartMneu.perms);
           // this.changeliSelect = strartMneu.cnName;
@@ -307,6 +414,7 @@
         //璇█鎹㈡垚zh
         this.lang = 'zh';
         this.language = true;
+        this.$store.state.language = true;
         //鑿滃崟鎹负zh
         this.$store.commit('changeLang', 'zh');
         //i18鎹㈡垚zh
@@ -316,6 +424,7 @@
       else {
         this.lang = 'en';
         this.language = false;
+        this.$store.state.language = false;
         this.$i18n.locale = this.lang;
         this.$store.commit('changeLang', 'en'); //浼犻�掔偣鍑荤殑鑺傜偣
       }
@@ -330,8 +439,8 @@
         };
         Window.ws = null;
       }
-
-      if (index.indexOf('http') != -1) {
+debugger
+      if (index.indexOf('{fmeHost}') != -1) {
         this.$router.push('/databaseMonitoring');
         this.$store.commit('getIframe', index);
       } else if (isNaN(Number(index))) {
@@ -356,6 +465,4 @@
   },
 };
 </script>
-<style lang="less" scoped>
 
-</style>

--
Gitblit v1.9.3