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 | 406 ++++++++++++++++++++++----------------------------------- 1 files changed, 156 insertions(+), 250 deletions(-) diff --git a/src/components/navMenu.vue b/src/components/navMenu.vue index 0132bc6..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" @@ -24,7 +27,7 @@ </div> </div> <div - class="secondMenuDiv" + class="secondMenuDiv subpage_Div" v-show="index == showFlag ? true :false" > <div @@ -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,12 +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( + 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) { @@ -142,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 @@ -186,18 +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 (this.$store.reporturl == null) { - 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); } @@ -221,10 +313,10 @@ that.setMenuTree(menuLists); } else { - this.$message({ - message: '鏆傛棤鑿滃崟鏍忔暟鎹�', - type: 'warning' - }); + this.$message({ + message: '鏆傛棤鑿滃崟鏍忔暟鎹�', + type: 'warning' + }); } } }, @@ -233,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; @@ -266,10 +376,10 @@ return father.pid == 1; // 杩斿洖涓�绾ц彍鍗� }); } else { - this.$message({ - message: '鏆傛棤鑿滃崟鏍忔暟鎹�', - type: 'warning' - }); + this.$message({ + message: '鏆傛棤鑿滃崟鏍忔暟鎹�', + type: 'warning' + }); } }, logOut() { @@ -304,6 +414,7 @@ //璇█鎹㈡垚zh this.lang = 'zh'; this.language = true; + this.$store.state.language = true; //鑿滃崟鎹负zh this.$store.commit('changeLang', 'zh'); //i18鎹㈡垚zh @@ -313,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'); //浼犻�掔偣鍑荤殑鑺傜偣 } @@ -327,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))) { @@ -353,210 +465,4 @@ }, }; </script> -<style lang="less" scoped> -//@import url(); 寮曞叆鍏叡css绫� -.NavBox { - width: 100%; - height: 100%; - background-image: linear-gradient(rgb(34, 33, 33), rgb(27, 31, 78)); - .topBox { - width: 100%; - height: 100%; - display: flex; - justify-content: space-around; - align-items: center; - .topTitle { - width: 435px; - height: 70px; - background: url("../assets/img/LOGO.png") no-repeat center; - } - .topMenu { - width: auto; - flex: 1; - height: 100px; - .menuContent { - width: 100%; - height: 100%; - display: flex; - .contentDiv { - margin-left: 1%; - } - } - .ImgMenu { - width: 100%; - height: auto; - display: flex; - justify-content: center; - } - .menuImage { - width: 70px; - height: 70px; - } - .menulabel { - font-size: 14px; - font-family: Source Han Sans CN; - font-weight: 500; - color: #ffffff; - text-align: center; - width: 120px; - } - .changeStyle { - color: #fec801; - } - .m1 { - background: url("../assets/img/menu/menu11.png") no-repeat; - background-size: 100% 100%; - } - .m2 { - background: url("../assets/img/menu/menu21.png") no-repeat; - background-size: 100% 100%; - } - .m3 { - background: url("../assets/img/menu/menu31.png") no-repeat; - background-size: 100% 100%; - } - .m4 { - background: url("../assets/img/menu/menu41.png") no-repeat; - background-size: 100% 100%; - } - .m5 { - background: url("../assets/img/menu/menu51.png") no-repeat; - background-size: 100% 100%; - } - .m6 { - background: url("../assets/img/menu/menu61.png") no-repeat; - background-size: 100% 100%; - } - .m7 { - background: url("../assets/img/menu/qwyzt.png") no-repeat; - background-size: 100% 100%; - } - .m11 { - background: url("../assets/img/menu/menu12.png") no-repeat; - background-size: 100% 100%; - } - .m21 { - background: url("../assets/img/menu/menu22.png") no-repeat; - background-size: 100% 100%; - } - .m31 { - background: url("../assets/img/menu/menu32.png") no-repeat; - background-size: 100% 100%; - } - .m41 { - background: url("../assets/img/menu/menu42.png") no-repeat; - background-size: 100% 100%; - } - .m51 { - background: url("../assets/img/menu/menu52.png") no-repeat; - background-size: 100% 100%; - } - .m61 { - background: url("../assets/img/menu/menu62.png") no-repeat; - background-size: 100% 100%; - } - .m71 { - background: url("../assets/img/menu/qwyzt-h.png") no-repeat; - background-size: 100% 100%; - } - } - - .topUser { - height: 70px; - - .userName { - margin: 0px 10px; - - display: flex; - justify-content: space-between; - height: 30px; - } - .userLanguage { - margin: 0px 10px; - margin-top: 10px; - - display: flex; - - height: 30px; - } - .userImage { - width: 30px; - height: 30px; - float: left; - margin-right: 10px; - } - .user1 { - background: url("../assets/img/user.png") no-repeat; - background-size: 100% 100%; - } - .user2 { - background: url("../assets/img/EN.png") no-repeat; - background-size: 100% 100%; - } - .userText { - font-size: 15px; - - line-height: 30px; - font-family: Microsoft YaHei; - font-weight: 400; - color: #ffffff; - text-shadow: 0px 1px 2px rgba(0, 0, 0, 0.35); - } - .TextLanguage { - font-size: 15px; - - line-height: 30px; - font-family: Microsoft YaHei; - font-weight: 400; - color: #ffffff; - text-shadow: 0px 1px 2px rgba(0, 0, 0, 0.35); - } - } - .elLink { - margin-left: 5px; - font-size: 15px; - margin-bottom: 4px; - } - } - - .secondMenuDiv { - position: absolute; - z-index: 1024; - margin-top: 10px; - border: 1px solid white; - border-radius: 5px; - div { - line-height: 30px; - background: #303030; - padding: 10px; - font-size: 18px; - font-family: Microsoft YaHei; - font-weight: 400; - color: #ffffff; - line-height: 49px; - min-width: 120px; - } - .changeLiStyle { - color: #fec801; - background: linear-gradient(180deg, #002992, #080472); - } - } - - /deep/.el-link.el-link--default:hover { - color: #409eff !important; - } - /deep/ .el-link.el-link--default { - color: white !important; - } - /deep/ ul.el-menu-vertical-demo.el-menu { - // 娣诲姞鑳屾櫙棰滆壊 - background-image: rgba(255, 255, 255, 0.1) !important; - } - - /deep/ li.el-menu-item.is-active { - // 娣诲姞鏍峰紡锛屽彧閽堝瀵艰埅鏍忛鑿滃崟 - background-color: transparent; - } -} -</style> -- Gitblit v1.9.3