From 410facfa35a29a14f2dc5a5d74629a8291148aff Mon Sep 17 00:00:00 2001 From: 王旭 <1377869194@qq.com> Date: 星期三, 12 十月 2022 11:03:26 +0800 Subject: [PATCH] Merge branch 'master' of ssh://192.168.20.39:29418/LFWEB --- src/components/navMenu.vue | 278 ++++++++++++++++++++----------------------------------- 1 files changed, 101 insertions(+), 177 deletions(-) diff --git a/src/components/navMenu.vue b/src/components/navMenu.vue index f54eb4b..830cf14 100644 --- a/src/components/navMenu.vue +++ b/src/components/navMenu.vue @@ -7,144 +7,13 @@ <div class="menu"> <el-menu active-text-color="#ffd04b" - background-color="#3B4D6E" class="el-menu-vertical-demo" - default-active="2" + :default-active="activeIndex" + background-color="#586884" text-color="#fff" - router - @open="handleOpen" - @close="handleClose" @select="handleselect" > - <el-submenu index="3" class="faSub"> - <template slot="title"> - <span>{{ $t('synthesis.synthesis') }}</span> - </template> - <el-menu-item index="Synthesis">{{ - $t('synthesis.synthesis') - }}</el-menu-item> - <el-menu-item index="Thematic">{{ - $t('synthesis.themaic') - }}</el-menu-item> - <el-menu-item index="Archive">{{ - $t('synthesis.archive') - }}</el-menu-item> - </el-submenu> - <el-submenu index="1" class="faSub"> - <template slot="title"> - <span>{{ $t('dataManage.dataManage') }}</span> - </template> - <el-menu-item index="catalogueManage">{{ - $t('dataManage.catalogueManage') - }}</el-menu-item> - <el-menu-item index="dataUpdata">{{ - $t('dataManage.dataUpdata') - }}</el-menu-item> - <el-menu-item index="metadataManage">{{ - $t('dataManage.metadataManage') - }}</el-menu-item> - <el-menu-item index="dataLoading">{{ - $t('dataManage.dataLoading') - }}</el-menu-item> - <el-menu-item index="SpatialData">{{ - $t('dataManage.SpatialData') - }}</el-menu-item> - <el-menu-item index="versionManage">{{ - $t('dataManage.versionManage') - }}</el-menu-item> - <el-menu-item index="dictionaryManage">{{ - $t('dataManage.dictionaryManage') - }}</el-menu-item> - <el-menu-item index="styleManage">{{ - $t('dataManage.styleManage') - }}</el-menu-item> - </el-submenu> - <el-submenu index="2" class="faSub"> - <template slot="title"> - <span>{{ $t('operatManage.operatManage') }}</span> - </template> - <el-submenu index="2-2"> - <template slot="title">{{ - $t('operatManage.systemLayout') - }}</template> - <el-menu-item index="menuSettings">{{ - $t('operatManage.menuSettings') - }}</el-menu-item> - <el-menu-item index="parameterConfiguration">{{ - $t('operatManage.parameterConfiguration') - }}</el-menu-item> - <el-menu-item index="rests">{{ - $t('operatManage.rests') - }}</el-menu-item> - </el-submenu> - <el-menu-item index="authorityManagement">{{ - $t('operatManage.authorityManagement') - }}</el-menu-item> - <el-menu-item index="safetyManagement">{{ - $t('operatManage.safetyManagement') - }}</el-menu-item> - <el-submenu index="2-5"> - <template slot="title">{{ - $t('operatManage.operationMonitoring') - }}</template> - <el-menu-item index="eventlogManage">{{ - $t('operatManage.ResourceLog') - }}</el-menu-item> - <el-menu-item index="logLog">{{ - $t('operatManage.logLog') - }}</el-menu-item> - <el-menu-item index="operationLog">{{ - $t('operatManage.operationLog') - }}</el-menu-item> - <el-menu-item index="databaseMonitoring">{{ - $t('operatManage.databaseMonitoring') - }}</el-menu-item> - <el-menu-item index="systemMonitoring">{{ - $t('operatManage.systemMonitoring') - }}</el-menu-item> - <el-menu-item index="blackwhiteList" - >{{ $t('operatManage.blackwhiteList') }} - </el-menu-item> - <el-menu-item index="tokentool">{{ - $t('operatManage.tokentool') - }}</el-menu-item> - </el-submenu> - </el-submenu> - - <el-submenu index="4" class="faSub"> - <template slot="title"> - <span>{{ $t('userManage.userManage') }}</span> - </template> - <el-menu-item index="userInfoManage">{{ - $t('userManage.userInfoManage') - }}</el-menu-item> - <el-menu-item index="orgManage">{{ - $t('userManage.orgManage') - }}</el-menu-item> - <el-menu-item index="userAuditing">{{ - $t('userManage.userAuditing') - }}</el-menu-item> - <el-menu-item index="roleManage">{{ - $t('userManage.roleManage') - }}</el-menu-item> - <el-menu-item index="groupManage">{{ - $t('userManage.groupManage') - }}</el-menu-item> - <el-menu-item index="authorityManage">{{ - $t('userManage.authorityManage') - }}</el-menu-item> - <el-menu-item index="resourceManage">{{ - $t('userManage.resManage') - }}</el-menu-item> - </el-submenu> - <!-- <el-submenu index="5" class="faSub"> - <template slot="title">鏁版嵁浜ゆ崲</template> - <el-menu-item index="5-1">鏁版嵁鍒嗗彂</el-menu-item> - </el-submenu> --> - <!-- <el-submenu index="6" class="faSub"> - <template slot="title">鏈嶅姟绠$悊</template> - <el-menu-item index="6-1">鏁版嵁鏈嶅姟娉ㄥ唽寮�鍚�</el-menu-item> - </el-submenu> --> + <customElMenu :menuData="menuList"></customElMenu> </el-menu> </div> </div> @@ -165,75 +34,130 @@ </template> <script> -import { logout } from '@/api/api'; -import { removeToken, getToken } from '@/utils/auth'; +import { logout } from "@/api/api"; +import { removeToken, getToken } from "@/utils/auth"; +import customElMenu from "../components/customElMenu.vue"; +import { queryMenuTree, updateMenuTree, queryMaxId } from "../api/api"; + export default { - name: 'navMenu', + name: "navMenu", //import寮曞叆鐨勭粍浠堕渶瑕佹敞鍏ュ埌瀵硅薄涓墠鑳戒娇鐢� + components: { + customElMenu, + }, data() { return { - lang: 'en', + oriData: [], //鍘熷鏍戞暟鎹� + dirData: [], //el鏍戞暟鎹� + newData: [], //鎷栧姩鍚庢暟鎹� + lang: "zh", + activeIndex: "/", + menuList: [], + editTitle: "", + showPopover: false, + showEditInfoWrapper: false, + showEdit: false, + editMenu: false, + editCatalogue: false, + editUnit: false, + itemdetail: {}, + formLabelWidth: "70px", }; }, + mounted() { + this.getMenuTree(); + }, + computed: {}, methods: { + getMenuTree() { + //鑾峰彇鐩綍鏍戞渶澶D锛屾柊寤鸿妭鐐逛娇鐢� + // queryMaxId().then((res) => { + // this.id = res.data; + // }); + // 鑾峰彇鐩綍鏍戞暟鎹� + queryMenuTree().then((res) => { + if (res.code == 200) { + if (res.result.length != 0) { + this.menuList = this.treeData(res.result); + } else { + alert("鏆傛棤鑿滃崟鏍忔暟鎹�"); + } + } else { + console.log("鎺ュ彛鎶ラ敊"); + } + }); + }, + treeData(source) { + let cloneData = JSON.parse(JSON.stringify(source)); // 瀵规簮鏁版嵁娣卞害鍏嬮殕 + // console.log(cloneData); + if (cloneData.length != 0) { + return cloneData.filter((father) => { + // 寰幆鎵�鏈夐」 + let branchArr = cloneData.filter((child) => father.id == child.pid); // 瀵规瘮ID锛屽垎鍒笂涓嬬骇鑿滃崟锛屽苟杩斿洖鏁版嵁 + 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("鏆傛棤鑿滃崟鏍忔暟鎹�"); + } + }, 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: "宸插彇娑�", }); }); }, - handleOpen(key, keyPath) { - if ( - keyPath[1] != 'dataLoading' && - keyPath[1] != '2-2' && - keyPath[1] != '2-5' - ) - this.$router.push(keyPath[1]); - }, - handleClose(key, keyPath) { - if ( - keyPath[1] != 'dataLoading' && - keyPath[1] != '2-5' && - keyPath[1] != '2-2' - ) - this.$router.push(keyPath[1]); - }, - handleselect(index) { - if (index != null) { - this.$emit('shwoMapView', false); - } - }, - showChange() { - this.$emit('shwoMapView', true); - }, switchLang() { - if (this.lang == 'en') { + //褰撳墠en + if (this.lang == "en") { + //璇█鎹㈡垚zh + this.lang = "zh"; + //鑿滃崟鎹负zh + this.$store.commit("changeLang", "zh"); + //i18鎹㈡垚zh this.$i18n.locale = this.lang; - this.lang = 'zh'; - } else { - this.$i18n.locale = this.lang; - this.lang = 'en'; } + //褰撳墠zh + else { + this.lang = "en"; + this.$i18n.locale = this.lang; + this.$store.commit("changeLang", "en"); //浼犻�掔偣鍑荤殑鑺傜偣 + } + }, + handleselect(index, indexPath) { + if (index.indexOf("http") != -1) { + this.$router.push("/databaseMonitoring"); + this.$store.commit("getIframe", index); + } else if (isNaN(Number(index))) { + this.$router.push(index); + } + }, + }, + watch: { + $route() { + this.activeIndex = this.$route.path; }, }, }; -- Gitblit v1.9.3