From 1b1ed68312363574ba3170aa4cb777fbd1ec25da Mon Sep 17 00:00:00 2001 From: Surpriseplus <845948745@qq.com> Date: 星期二, 28 二月 2023 09:11:31 +0800 Subject: [PATCH] 运维管理菜单修改 --- src/views/maintenance/opexController.vue | 321 ++++++++++++++++ src/views/maintenance/parameterConfiguration.vue | 132 ++++-- src/components/mapol.vue | 1 src/views/maintenance/systemController.vue | 321 ++++++++++++++++ src/views/datamanage/projectManage.vue | 2 src/router/index.js | 31 + src/views/maintenance/empowerController.vue | 321 ++++++++++++++++ 7 files changed, 1,071 insertions(+), 58 deletions(-) diff --git a/src/components/mapol.vue b/src/components/mapol.vue index cdc191d..55ca4b7 100644 --- a/src/components/mapol.vue +++ b/src/components/mapol.vue @@ -93,6 +93,7 @@ }); }, methods: { + init2DMap() { var vectorLayer = new TileLayer({ source: new XYZ({ diff --git a/src/router/index.js b/src/router/index.js index add4cf0..6775d77 100644 --- a/src/router/index.js +++ b/src/router/index.js @@ -51,7 +51,9 @@ import bankController from '../views/datamanage/bankController.vue';//鏁版嵁搴撶鐞� import projectController from '../views/datamanage/projectController.vue';//椤圭洰绠$悊 - +import systemController from '@/views/maintenance/systemController.vue';//绯荤粺绠$悊 +import empowerController from '@/views/maintenance/empowerController.vue';//鎺堟潈绠$悊 +import opexController from '@/views/maintenance/opexController.vue';//杩愮淮鐩戞帶 //鍖呬簩 import WareInspection from '@/views/PackageTwo/WareInspection.vue'; //鏁版嵁璐ㄦ-鍏ュ簱璐ㄦ @@ -119,6 +121,33 @@ }, }, { + path: '/systemController', + component: systemController, + name: 'systemController', + meta: { + title: '绯荤粺绠$悊', + requireAuth: true, // 鏍囪瘑璇ヨ矾鐢辨槸鍚﹂渶瑕佺櫥褰� + }, + }, + { + path: '/empowerController', + component: empowerController, + name: 'empowerController', + meta: { + title: '鎺堟潈绠$悊', + requireAuth: true, // 鏍囪瘑璇ヨ矾鐢辨槸鍚﹂渶瑕佺櫥褰� + }, + }, + { + path: '/opexController', + component: opexController, + name: 'opexController', + meta: { + title: '杩愮淮鐩戞帶', + requireAuth: true, // 鏍囪瘑璇ヨ矾鐢辨槸鍚﹂渶瑕佺櫥褰� + }, + }, + { path: '/bankController', component: bankController, name: 'bankController', diff --git a/src/views/datamanage/projectManage.vue b/src/views/datamanage/projectManage.vue index dccfd60..e75a51e 100644 --- a/src/views/datamanage/projectManage.vue +++ b/src/views/datamanage/projectManage.vue @@ -1,5 +1,5 @@ <template> - <div class="verSionBox"> + <div class="verSionBox "> <My-bread :list="[ `${$t('dataManage.dataManage')}`, `${$t('dataManage.projectManage')}`, diff --git a/src/views/maintenance/empowerController.vue b/src/views/maintenance/empowerController.vue new file mode 100644 index 0000000..e9f4edd --- /dev/null +++ b/src/views/maintenance/empowerController.vue @@ -0,0 +1,321 @@ +<template> + <div class="contentBox"> + + <div + class="box" + ref="box" + > + <div class="left box_div"> + <el-menu + :default-active="activeIndex" + background-color="transparent" + @select="handleselect" + > + <customElMenu :menuData="menuList"></customElMenu> + </el-menu> + </div> + <div + class="resize" + title="鏀剁缉渚ц竟鏍�" + > + 鈰� + </div> + <div class="mid box_div"> + <menu-settings v-if="setMenuFlag == 'menuSettings'"></menu-settings> + <user-management v-if="setMenuFlag == 'userInfoManage'"></user-management> + <org-manage v-if="setMenuFlag == 'orgManage'"></org-manage> + <resource-manage v-if="setMenuFlag == 'resourceManage'"></resource-manage> + <role-manage v-if="setMenuFlag == 'roleManage'"></role-manage> + <authority-manage v-if="setMenuFlag == 'authorityManage'"></authority-manage> + <user-role-authorization v-if="setMenuFlag == 'userRoleAuthorization'"></user-role-authorization> + <menu-role-authorization v-if="setMenuFlag == 'menuRoleAuthorization'"></menu-role-authorization> + <role-menu-authorization v-if="setMenuFlag == 'roleMenuAuthorization'"> + </role-menu-authorization> + <role-res-authorization v-if="setMenuFlag == 'roleResAuthorization'"></role-res-authorization> + <log-log v-if="setMenuFlag == 'logLog'"> </log-log> + <operation-log v-if="setMenuFlag == 'operationLog'"></operation-log> + <eventlog-manage v-if="setMenuFlag == 'eventlogManage'"></eventlog-manage> + <tokentool v-if="setMenuFlag == 'tokentool'"></tokentool> + <blackwhite-list v-if="setMenuFlag == 'blackwhiteList'"></blackwhite-list> + <database-monitoring v-if="setMenuFlag == 'dataIfream'"></database-monitoring> + <system-monitoring v-if="setMenuFlag == 'systemMonitoring'"></system-monitoring> + <parameter-configuration v-if="setMenuFlag == 'parameterConfiguration'"></parameter-configuration> + <downlog v-if="setMenuFlag == 'downlog'"></downlog> + <template-manage v-if="setMenuFlag == 'templateManage'"></template-manage> + <data-statistics v-if="setMenuFlag == 'dataStatistics'"></data-statistics> + </div> + </div> + + </div> + +</template> + +<script> +import menuSettings from '@/views/maintenance/menuSettings.vue'; //鑿滃崟绠$悊 +import userManagement from '@/views/maintenance/userManagement.vue'; //鐢ㄦ埛绠$悊 +import orgManage from '@/views/userManage/orgManage.vue'; //鍗曚綅绠$悊 +import resourceManage from '@/views/userManage/resourceManage.vue'; //璧勬簮绠$悊 +import roleManage from '@/views/userManage/roleManage.vue'; //瑙掕壊绠$悊 +import authorityManage from '@/views/userManage/authorityManage.vue'; //鏉冮檺绠$悊 +import userRoleAuthorization from '@/views/AuthorizationManagement/userRoleAuthorization.vue'; //鐢ㄦ埛瑙掕壊鎺堟潈 +import menuRoleAuthorization from '@/views/AuthorizationManagement/menuRoleAuthorization.vue'; //鑿滃崟鏉冮檺鎺堟潈 +import roleMenuAuthorization from '@/views/AuthorizationManagement/roleMenuAuthorization.vue'; //瑙掕壊鑿滃崟鎺堟潈 +import roleResAuthorization from '@/views/AuthorizationManagement/roleResAuthorization.vue'; //瑙掕壊璧勬簮鎺堟潈 +import logLog from '@/views/maintenance/logLog.vue'; //鐧诲綍鏃ュ織 +import operationLog from '@/views/maintenance/operationLog.vue'; //鎿嶄綔鏃ュ織 +import eventlogManage from '@/views/maintenance/eventlogManage.vue'; //璧勬簮鏃ュ織 +import tokentool from '@/views/maintenance/tokentool.vue'; //浠ょ墝绠$悊 +import blackwhiteList from '@/views/maintenance/blackwhiteList.vue'; //榛戠櫧鍚嶅崟 +import databaseMonitoring from '@/views/maintenance/databaseMonitoring.vue'; //鏁版嵁搴撶洃鎺� +import systemMonitoring from '@/views/maintenance/systemMonitoring.vue'; //绯荤粺鐩戞帶 +import parameterConfiguration from '@/views/maintenance/parameterConfiguration.vue'; //绯荤粺閰嶇疆 +import downlog from '@/views/maintenance/downlog.vue'; //涓嬭浇鏃ュ織 +import templateManage from '@/views/userManage/templateManage.vue'//妯℃澘绠$悊 +import { selectMenuRecursive, queryMenuTree, getPerms, sign_insertOpLog } from '../../api/api'; +import customElMenu from '../../components/customElMenu.vue'; +import dataStatistics from '@/views/datamanage/dataStatistics.vue'; //鏁版嵁缁熻 + +export default { + components: { + menuSettings, + userManagement, + orgManage, + resourceManage, + roleManage, + authorityManage, + userRoleAuthorization, + menuRoleAuthorization, + roleMenuAuthorization, + roleResAuthorization, + logLog, + operationLog, + eventlogManage, + tokentool, + blackwhiteList, + databaseMonitoring, + systemMonitoring, + parameterConfiguration, + customElMenu, + downlog, + templateManage, + dataStatistics + }, + data() { + return { + setMenuFlag: ' ', + activeIndex: ' ', + oriData: [], //鍘熷鏍戞暟鎹� + dirData: [], //el鏍戞暟鎹� + newData: [], //鎷栧姩鍚庢暟鎹� + lang: 'zh', + + menuList: [], + editTitle: '', + showPopover: false, + showEditInfoWrapper: false, + showEdit: false, + editMenu: false, + editCatalogue: false, + editUnit: false, + itemdetail: {}, + formLabelWidth: '70px', + m1: null, + menuId: null, + }; + }, + created() { }, + mounted() { + this.getTreeData(); + //宸﹀彸鎷栧嫊 + this.dragControllerDiv(); + }, + methods: { + //宸﹀彸鎷栧嫊 + dragControllerDiv: function () { + var resize = document.getElementsByClassName('resize'); + var left = document.getElementsByClassName('left'); + var mid = document.getElementsByClassName('mid'); + var box = document.getElementsByClassName('box'); + for (let i = 0; i < resize.length; i++) { + // 榧犳爣鎸変笅浜嬩欢 + resize[i].onmousedown = function (e) { + //棰滆壊鏀瑰彉鎻愰啋 + resize[i].style.background = '#818181'; + var startX = e.clientX; + resize[i].left = resize[i].offsetLeft; + // 榧犳爣鎷栧姩浜嬩欢 + document.onmousemove = function (e) { + var endX = e.clientX; + var moveLen = resize[i].left + (endX - startX); // 锛坋ndx-startx锛�=绉诲姩鐨勮窛绂汇�俽esize[i].left+绉诲姩鐨勮窛绂�=宸﹁竟鍖哄煙鏈�鍚庣殑瀹藉害 + var maxT = box[i].clientWidth - resize[i].offsetWidth; // 瀹瑰櫒瀹藉害 - 宸﹁竟鍖哄煙鐨勫搴� = 鍙宠竟鍖哄煙鐨勫搴� + + if (moveLen < 205) moveLen = 205; // 宸﹁竟鍖哄煙鐨勬渶灏忓搴︿负32px + if (moveLen > maxT - 300) moveLen = maxT - 300; //鍙宠竟鍖哄煙鏈�灏忓搴︿负150px + + resize[i].style.left = moveLen; // 璁剧疆宸︿晶鍖哄煙鐨勫搴� + + for (let j = 0; j < left.length; j++) { + left[j].style.width = moveLen + 'px'; + mid[j].style.width = (box[i].clientWidth - moveLen - 10) + 'px'; + } + }; + // 榧犳爣鏉惧紑浜嬩欢 + document.onmouseup = function (evt) { + //棰滆壊鎭㈠ + resize[i].style.background = '#d6d6d6'; + document.onmousemove = null; + document.onmouseup = null; + resize[i].releaseCapture && resize[i].releaseCapture(); //褰撲綘涓嶅湪闇�瑕佺户缁幏寰楅紶鏍囨秷鎭氨瑕佸簲璇ヨ皟鐢≧eleaseCapture()閲婃斁鎺� + }; + resize[i].setCapture && resize[i].setCapture(); //璇ュ嚱鏁板湪灞炰簬褰撳墠绾跨▼鐨勬寚瀹氱獥鍙i噷璁剧疆榧犳爣鎹曡幏 + return false; + }; + } + }, + + async getCookies() { + var boolean = this.getTimeCookies(); + if (boolean != true) { + this.$router.push('/login'); + return; + } + if (this.$store.state.permsEntity.length == 0) { + const data = await getPerms(); + this.$store.state.permsEntity = data.result; + } + var store = this.menuList[0]; + this.m1 = store.cnName; + this.setViewController(store); + }, + getTimeCookies() { + var time1 = new Date(JSON.parse(localStorage.getItem('LFToken')).time); + var time2 = new Date(); + if (time2 > time1) { + return false; + } else { + return true; + } + }, + //鑾峰彇鏍� + async getTreeData() { + const data = await queryMenuTree(); + + let menuLists = data.result.filter((value) => { + return value.url == '/empowerController'; + }); + this.menuId = menuLists[0].id + const res = await selectMenuRecursive({ id: menuLists[0].id }); + + if (res.code == 200) { + if (res.result.length != 0) { + let menuList = res.result.filter((value) => { + return value.type == 1; + }) + .filter(value => { + return value.isShow == 1; + }); + this.menuList = this.treeData(menuList); + this.getCookies(); + const hanleselectmochaitmo = sessionStorage.getItem('hanleselectmochaitmo') + if (hanleselectmochaitmo) { + this.$nextTick(function () { + this.handleselecttwo(JSON.parse(hanleselectmochaitmo).url, JSON.parse(hanleselectmochaitmo)) + this.setViewController(JSON.parse(hanleselectmochaitmo)) + }) + } + // + } else { + alert('鏆傛棤鑿滃崟鏍忔暟鎹�'); + } + } else { + console.log('鎺ュ彛鎶ラ敊'); + } + + // this.treeList = this.treeData(data.result); + }, + async signInsertOpLog(m1, m2) { + var obj = { + m1: m1, + m2: m2, + } + const data = await sign_insertOpLog(obj); + + + }, + setViewController(res) { + if (res == null) { + return; + } + + if (res.children != null) { + + + this.setViewController(res.children[0]); + } else { + + this.$store.state.currentPerms = res.perms; + this.signInsertOpLog(this.m1, res.cnName) + this.setMenuFlag = res.url; + this.activeIndex = res.url; + } + }, + 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 == this.menuId; // 杩斿洖涓�绾ц彍鍗� + }); + } else { + alert('鏆傛棤鑿滃崟鏍忔暟鎹�'); + } + }, + + handleselect(index, indexPath, e) { + this.getTimeCookies(); + + this.signInsertOpLog(this.m1, e.$attrs.perms.cnName) + const a = JSON.stringify(e.$attrs.perms) + sessionStorage.setItem('hanleselectmochaitmo', a) + + var data = e.$attrs.perms; + this.$store.state.currentPerms = data.perms; + var index = data.url; + if (index != null) { + if (index.indexOf('http') != -1) { + this.$store.commit('getIframe', data.url); + index = 'dataIfream'; + } + } + + this.setMenuFlag = index; + + }, + handleselecttwo(index, e) { + this.getTimeCookies(); + + const a = JSON.stringify(e) + sessionStorage.setItem('hanleselectmochaitmo', a) + + var data = e; + this.$store.state.currentPerms = data.perms; + var index = data.url; + if (index != null) { + if (index.indexOf('http') != -1) { + this.$store.commit('getIframe', data.url); + index = 'dataIfream'; + } + } + this.setMenuFlag = index; + + }, + }, +}; +</script> + + \ No newline at end of file diff --git a/src/views/maintenance/opexController.vue b/src/views/maintenance/opexController.vue new file mode 100644 index 0000000..594c6b0 --- /dev/null +++ b/src/views/maintenance/opexController.vue @@ -0,0 +1,321 @@ +<template> + <div class="contentBox"> + + <div + class="box" + ref="box" + > + <div class="left box_div"> + <el-menu + :default-active="activeIndex" + background-color="transparent" + @select="handleselect" + > + <customElMenu :menuData="menuList"></customElMenu> + </el-menu> + </div> + <div + class="resize" + title="鏀剁缉渚ц竟鏍�" + > + 鈰� + </div> + <div class="mid box_div"> + <menu-settings v-if="setMenuFlag == 'menuSettings'"></menu-settings> + <user-management v-if="setMenuFlag == 'userInfoManage'"></user-management> + <org-manage v-if="setMenuFlag == 'orgManage'"></org-manage> + <resource-manage v-if="setMenuFlag == 'resourceManage'"></resource-manage> + <role-manage v-if="setMenuFlag == 'roleManage'"></role-manage> + <authority-manage v-if="setMenuFlag == 'authorityManage'"></authority-manage> + <user-role-authorization v-if="setMenuFlag == 'userRoleAuthorization'"></user-role-authorization> + <menu-role-authorization v-if="setMenuFlag == 'menuRoleAuthorization'"></menu-role-authorization> + <role-menu-authorization v-if="setMenuFlag == 'roleMenuAuthorization'"> + </role-menu-authorization> + <role-res-authorization v-if="setMenuFlag == 'roleResAuthorization'"></role-res-authorization> + <log-log v-if="setMenuFlag == 'logLog'"> </log-log> + <operation-log v-if="setMenuFlag == 'operationLog'"></operation-log> + <eventlog-manage v-if="setMenuFlag == 'eventlogManage'"></eventlog-manage> + <tokentool v-if="setMenuFlag == 'tokentool'"></tokentool> + <blackwhite-list v-if="setMenuFlag == 'blackwhiteList'"></blackwhite-list> + <database-monitoring v-if="setMenuFlag == 'dataIfream'"></database-monitoring> + <system-monitoring v-if="setMenuFlag == 'systemMonitoring'"></system-monitoring> + <parameter-configuration v-if="setMenuFlag == 'parameterConfiguration'"></parameter-configuration> + <downlog v-if="setMenuFlag == 'downlog'"></downlog> + <template-manage v-if="setMenuFlag == 'templateManage'"></template-manage> + <data-statistics v-if="setMenuFlag == 'dataStatistics'"></data-statistics> + </div> + </div> + + </div> + +</template> + +<script> +import menuSettings from '@/views/maintenance/menuSettings.vue'; //鑿滃崟绠$悊 +import userManagement from '@/views/maintenance/userManagement.vue'; //鐢ㄦ埛绠$悊 +import orgManage from '@/views/userManage/orgManage.vue'; //鍗曚綅绠$悊 +import resourceManage from '@/views/userManage/resourceManage.vue'; //璧勬簮绠$悊 +import roleManage from '@/views/userManage/roleManage.vue'; //瑙掕壊绠$悊 +import authorityManage from '@/views/userManage/authorityManage.vue'; //鏉冮檺绠$悊 +import userRoleAuthorization from '@/views/AuthorizationManagement/userRoleAuthorization.vue'; //鐢ㄦ埛瑙掕壊鎺堟潈 +import menuRoleAuthorization from '@/views/AuthorizationManagement/menuRoleAuthorization.vue'; //鑿滃崟鏉冮檺鎺堟潈 +import roleMenuAuthorization from '@/views/AuthorizationManagement/roleMenuAuthorization.vue'; //瑙掕壊鑿滃崟鎺堟潈 +import roleResAuthorization from '@/views/AuthorizationManagement/roleResAuthorization.vue'; //瑙掕壊璧勬簮鎺堟潈 +import logLog from '@/views/maintenance/logLog.vue'; //鐧诲綍鏃ュ織 +import operationLog from '@/views/maintenance/operationLog.vue'; //鎿嶄綔鏃ュ織 +import eventlogManage from '@/views/maintenance/eventlogManage.vue'; //璧勬簮鏃ュ織 +import tokentool from '@/views/maintenance/tokentool.vue'; //浠ょ墝绠$悊 +import blackwhiteList from '@/views/maintenance/blackwhiteList.vue'; //榛戠櫧鍚嶅崟 +import databaseMonitoring from '@/views/maintenance/databaseMonitoring.vue'; //鏁版嵁搴撶洃鎺� +import systemMonitoring from '@/views/maintenance/systemMonitoring.vue'; //绯荤粺鐩戞帶 +import parameterConfiguration from '@/views/maintenance/parameterConfiguration.vue'; //绯荤粺閰嶇疆 +import downlog from '@/views/maintenance/downlog.vue'; //涓嬭浇鏃ュ織 +import templateManage from '@/views/userManage/templateManage.vue'//妯℃澘绠$悊 +import { selectMenuRecursive, queryMenuTree, getPerms, sign_insertOpLog } from '../../api/api'; +import customElMenu from '../../components/customElMenu.vue'; +import dataStatistics from '@/views/datamanage/dataStatistics.vue'; //鏁版嵁缁熻 + +export default { + components: { + menuSettings, + userManagement, + orgManage, + resourceManage, + roleManage, + authorityManage, + userRoleAuthorization, + menuRoleAuthorization, + roleMenuAuthorization, + roleResAuthorization, + logLog, + operationLog, + eventlogManage, + tokentool, + blackwhiteList, + databaseMonitoring, + systemMonitoring, + parameterConfiguration, + customElMenu, + downlog, + templateManage, + dataStatistics + }, + data() { + return { + setMenuFlag: ' ', + activeIndex: ' ', + oriData: [], //鍘熷鏍戞暟鎹� + dirData: [], //el鏍戞暟鎹� + newData: [], //鎷栧姩鍚庢暟鎹� + lang: 'zh', + + menuList: [], + editTitle: '', + showPopover: false, + showEditInfoWrapper: false, + showEdit: false, + editMenu: false, + editCatalogue: false, + editUnit: false, + itemdetail: {}, + formLabelWidth: '70px', + m1: null, + menuId: null + }; + }, + created() { }, + mounted() { + this.getTreeData(); + //宸﹀彸鎷栧嫊 + this.dragControllerDiv(); + }, + methods: { + //宸﹀彸鎷栧嫊 + dragControllerDiv: function () { + var resize = document.getElementsByClassName('resize'); + var left = document.getElementsByClassName('left'); + var mid = document.getElementsByClassName('mid'); + var box = document.getElementsByClassName('box'); + for (let i = 0; i < resize.length; i++) { + // 榧犳爣鎸変笅浜嬩欢 + resize[i].onmousedown = function (e) { + //棰滆壊鏀瑰彉鎻愰啋 + resize[i].style.background = '#818181'; + var startX = e.clientX; + resize[i].left = resize[i].offsetLeft; + // 榧犳爣鎷栧姩浜嬩欢 + document.onmousemove = function (e) { + var endX = e.clientX; + var moveLen = resize[i].left + (endX - startX); // 锛坋ndx-startx锛�=绉诲姩鐨勮窛绂汇�俽esize[i].left+绉诲姩鐨勮窛绂�=宸﹁竟鍖哄煙鏈�鍚庣殑瀹藉害 + var maxT = box[i].clientWidth - resize[i].offsetWidth; // 瀹瑰櫒瀹藉害 - 宸﹁竟鍖哄煙鐨勫搴� = 鍙宠竟鍖哄煙鐨勫搴� + + if (moveLen < 205) moveLen = 205; // 宸﹁竟鍖哄煙鐨勬渶灏忓搴︿负32px + if (moveLen > maxT - 300) moveLen = maxT - 300; //鍙宠竟鍖哄煙鏈�灏忓搴︿负150px + + resize[i].style.left = moveLen; // 璁剧疆宸︿晶鍖哄煙鐨勫搴� + + for (let j = 0; j < left.length; j++) { + left[j].style.width = moveLen + 'px'; + mid[j].style.width = (box[i].clientWidth - moveLen - 10) + 'px'; + } + }; + // 榧犳爣鏉惧紑浜嬩欢 + document.onmouseup = function (evt) { + //棰滆壊鎭㈠ + resize[i].style.background = '#d6d6d6'; + document.onmousemove = null; + document.onmouseup = null; + resize[i].releaseCapture && resize[i].releaseCapture(); //褰撲綘涓嶅湪闇�瑕佺户缁幏寰楅紶鏍囨秷鎭氨瑕佸簲璇ヨ皟鐢≧eleaseCapture()閲婃斁鎺� + }; + resize[i].setCapture && resize[i].setCapture(); //璇ュ嚱鏁板湪灞炰簬褰撳墠绾跨▼鐨勬寚瀹氱獥鍙i噷璁剧疆榧犳爣鎹曡幏 + return false; + }; + } + }, + + async getCookies() { + var boolean = this.getTimeCookies(); + if (boolean != true) { + this.$router.push('/login'); + return; + } + if (this.$store.state.permsEntity.length == 0) { + const data = await getPerms(); + this.$store.state.permsEntity = data.result; + } + var store = this.menuList[0]; + this.m1 = store.cnName; + this.setViewController(store); + }, + getTimeCookies() { + var time1 = new Date(JSON.parse(localStorage.getItem('LFToken')).time); + var time2 = new Date(); + if (time2 > time1) { + return false; + } else { + return true; + } + }, + //鑾峰彇鏍� + async getTreeData() { + const data = await queryMenuTree(); + + let menuLists = data.result.filter((value) => { + return value.url == '/opexController'; + }); + this.menuId = menuLists[0].id + const res = await selectMenuRecursive({ id: menuLists[0].id }); + + if (res.code == 200) { + if (res.result.length != 0) { + let menuList = res.result.filter((value) => { + return value.type == 1; + }) + .filter(value => { + return value.isShow == 1; + }); + this.menuList = this.treeData(menuList); + this.getCookies(); + const hanleselectmochaitmo = sessionStorage.getItem('hanleselectmochaitmo') + if (hanleselectmochaitmo) { + this.$nextTick(function () { + this.handleselecttwo(JSON.parse(hanleselectmochaitmo).url, JSON.parse(hanleselectmochaitmo)) + this.setViewController(JSON.parse(hanleselectmochaitmo)) + }) + } + // + } else { + alert('鏆傛棤鑿滃崟鏍忔暟鎹�'); + } + } else { + console.log('鎺ュ彛鎶ラ敊'); + } + + // this.treeList = this.treeData(data.result); + }, + async signInsertOpLog(m1, m2) { + var obj = { + m1: m1, + m2: m2, + } + const data = await sign_insertOpLog(obj); + + + }, + setViewController(res) { + if (res == null) { + return; + } + + if (res.children != null) { + + + this.setViewController(res.children[0]); + } else { + + this.$store.state.currentPerms = res.perms; + this.signInsertOpLog(this.m1, res.cnName) + this.setMenuFlag = res.url; + this.activeIndex = res.url; + } + }, + 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 == this.menuId; // 杩斿洖涓�绾ц彍鍗� + }); + } else { + alert('鏆傛棤鑿滃崟鏍忔暟鎹�'); + } + }, + + handleselect(index, indexPath, e) { + this.getTimeCookies(); + + this.signInsertOpLog(this.m1, e.$attrs.perms.cnName) + const a = JSON.stringify(e.$attrs.perms) + sessionStorage.setItem('hanleselectmochaitmo', a) + + var data = e.$attrs.perms; + this.$store.state.currentPerms = data.perms; + var index = data.url; + if (index != null) { + if (index.indexOf('http') != -1) { + this.$store.commit('getIframe', data.url); + index = 'dataIfream'; + } + } + + this.setMenuFlag = index; + + }, + handleselecttwo(index, e) { + this.getTimeCookies(); + + const a = JSON.stringify(e) + sessionStorage.setItem('hanleselectmochaitmo', a) + + var data = e; + this.$store.state.currentPerms = data.perms; + var index = data.url; + if (index != null) { + if (index.indexOf('http') != -1) { + this.$store.commit('getIframe', data.url); + index = 'dataIfream'; + } + } + this.setMenuFlag = index; + + }, + }, +}; +</script> + + \ No newline at end of file diff --git a/src/views/maintenance/parameterConfiguration.vue b/src/views/maintenance/parameterConfiguration.vue index 06ed014..1dcfb71 100644 --- a/src/views/maintenance/parameterConfiguration.vue +++ b/src/views/maintenance/parameterConfiguration.vue @@ -1,13 +1,14 @@ <template> - <div class="parameterConfiguration_box"> - <My-bread - :list="[ + <div class="parameterConfiguration_box box_div"> + <My-bread :list="[ `${$t('operatManage.operatManage')}`, `${$t('operatManage.systemLayout')}`, - ]" - ></My-bread> + ]"></My-bread> <el-divider /> - <div class="table_box" :style="styleVar"> + <div + class="table_box" + :style="styleVar" + > <el-table ref="filterTable" :data="tableData" @@ -62,12 +63,14 @@ type="warning" plain size="small" - >{{ $t("common.edit") }}</el-button - > + >{{ $t("common.edit") }}</el-button> </template> </el-table-column> </el-table> - <div class="pagination_box" style="margin-top: 10px"> + <div + class="pagination_box" + style="margin-top: 10px" + > <el-pagination @size-change="handleSizeChange" @current-change="handleCurrentChange" @@ -83,55 +86,72 @@ <el-dialog :title="$t('operatManage.sysLayOutObj.editSysLayOut')" - top="2vh" + top="2vh" :visible.sync="EditFormdialog" :before-close="EditFromDataClose" > - <div style="height: 500px; overflow: auto"> - <el-form :model="upform" label-position="top"> - <el-form-item - :label="$t('operatManage.sysLayOutObj.name')" - :label-width="formLabelWidth" + <div style="height: 500px; overflow: auto"> + <el-form + :model="upform" + label-position="top" > - <label class="boxlabel">{{ upform.name }}</label> - </el-form-item> - <el-form-item - :label="$t('operatManage.sysLayOutObj.cvalue')" - :label-width="formLabelWidth" - > - <el-input v-model="upform.cvalue" autocomplete="off" style="width:85%"></el-input> - </el-form-item> - <el-form-item - :label="$t('operatManage.sysLayOutObj.dvalue')" - :label-width="formLabelWidth" - > - <label class="boxlabel">{{ upform.dvalue }}</label> - </el-form-item> - <el-form-item - :label="$t('operatManage.sysLayOutObj.minValue')" - :label-width="formLabelWidth" - > - <label class="boxlabel">{{ upform.minValue }}</label> - </el-form-item> - <el-form-item - :label="$t('operatManage.sysLayOutObj.maxValue')" - :label-width="formLabelWidth" - > - <label class="boxlabel">{{ upform.maxValue }}</label> - </el-form-item> - <el-form-item - :label="$t('operatManage.sysLayOutObj.descr')" - :label-width="formLabelWidth" - > - <label class="boxlabel">{{ upform.descr }}</label> - </el-form-item> - </el-form> - </div> - <div slot="footer" class="dialog-footer"> - <el-button size="small" @click="EditFromDataClose">{{ + <el-form-item + :label="$t('operatManage.sysLayOutObj.name')" + :label-width="formLabelWidth" + > + <label class="boxlabel">{{ upform.name }}</label> + </el-form-item> + <el-form-item + :label="$t('operatManage.sysLayOutObj.cvalue')" + :label-width="formLabelWidth" + > + <el-input + v-model="upform.cvalue" + autocomplete="off" + style="width:85%" + ></el-input> + </el-form-item> + <el-form-item + :label="$t('operatManage.sysLayOutObj.dvalue')" + :label-width="formLabelWidth" + > + <label class="boxlabel">{{ upform.dvalue }}</label> + </el-form-item> + <el-form-item + :label="$t('operatManage.sysLayOutObj.minValue')" + :label-width="formLabelWidth" + > + <label class="boxlabel">{{ upform.minValue }}</label> + </el-form-item> + <el-form-item + :label="$t('operatManage.sysLayOutObj.maxValue')" + :label-width="formLabelWidth" + > + <label class="boxlabel">{{ upform.maxValue }}</label> + </el-form-item> + <el-form-item + :label="$t('operatManage.sysLayOutObj.descr')" + :label-width="formLabelWidth" + > + <label class="boxlabel">{{ upform.descr }}</label> + </el-form-item> + </el-form> + </div> + <div + slot="footer" + class="dialog-footer" + > + <el-button + size="small" + @click="EditFromDataClose" + >{{ $t("common.close") }}</el-button> - <el-button @click="EditFromData" size="small" type="primary">{{ + <el-button + @click="EditFromData" + size="small" + type="primary" + >{{ $t("common.confirm") }}</el-button> </div> @@ -260,10 +280,10 @@ <style lang="less" scoped> //@import url(); 寮曞叆鍏叡css绫� .parameterConfiguration_box { - height: 98%; - width: 98%; - padding: 0.5% 1%; - + height: calc(100% - 20px); + width: calc(100% - 20px); + padding: 10px; + position: relative; .parameterConfiguration { padding-top: 10px; padding-bottom: 10px; diff --git a/src/views/maintenance/systemController.vue b/src/views/maintenance/systemController.vue new file mode 100644 index 0000000..11e80de --- /dev/null +++ b/src/views/maintenance/systemController.vue @@ -0,0 +1,321 @@ +<template> + <div class="contentBox"> + + <div + class="box" + ref="box" + > + <div class="left box_div"> + <el-menu + :default-active="activeIndex" + background-color="transparent" + @select="handleselect" + > + <customElMenu :menuData="menuList"></customElMenu> + </el-menu> + </div> + <div + class="resize" + title="鏀剁缉渚ц竟鏍�" + > + 鈰� + </div> + <div class="mid box_div"> + <menu-settings v-if="setMenuFlag == 'menuSettings'"></menu-settings> + <user-management v-if="setMenuFlag == 'userInfoManage'"></user-management> + <org-manage v-if="setMenuFlag == 'orgManage'"></org-manage> + <resource-manage v-if="setMenuFlag == 'resourceManage'"></resource-manage> + <role-manage v-if="setMenuFlag == 'roleManage'"></role-manage> + <authority-manage v-if="setMenuFlag == 'authorityManage'"></authority-manage> + <user-role-authorization v-if="setMenuFlag == 'userRoleAuthorization'"></user-role-authorization> + <menu-role-authorization v-if="setMenuFlag == 'menuRoleAuthorization'"></menu-role-authorization> + <role-menu-authorization v-if="setMenuFlag == 'roleMenuAuthorization'"> + </role-menu-authorization> + <role-res-authorization v-if="setMenuFlag == 'roleResAuthorization'"></role-res-authorization> + <log-log v-if="setMenuFlag == 'logLog'"> </log-log> + <operation-log v-if="setMenuFlag == 'operationLog'"></operation-log> + <eventlog-manage v-if="setMenuFlag == 'eventlogManage'"></eventlog-manage> + <tokentool v-if="setMenuFlag == 'tokentool'"></tokentool> + <blackwhite-list v-if="setMenuFlag == 'blackwhiteList'"></blackwhite-list> + <database-monitoring v-if="setMenuFlag == 'dataIfream'"></database-monitoring> + <system-monitoring v-if="setMenuFlag == 'systemMonitoring'"></system-monitoring> + <parameter-configuration v-if="setMenuFlag == 'parameterConfiguration'"></parameter-configuration> + <downlog v-if="setMenuFlag == 'downlog'"></downlog> + <template-manage v-if="setMenuFlag == 'templateManage'"></template-manage> + <data-statistics v-if="setMenuFlag == 'dataStatistics'"></data-statistics> + </div> + </div> + + </div> + +</template> + +<script> +import menuSettings from '@/views/maintenance/menuSettings.vue'; //鑿滃崟绠$悊 +import userManagement from '@/views/maintenance/userManagement.vue'; //鐢ㄦ埛绠$悊 +import orgManage from '@/views/userManage/orgManage.vue'; //鍗曚綅绠$悊 +import resourceManage from '@/views/userManage/resourceManage.vue'; //璧勬簮绠$悊 +import roleManage from '@/views/userManage/roleManage.vue'; //瑙掕壊绠$悊 +import authorityManage from '@/views/userManage/authorityManage.vue'; //鏉冮檺绠$悊 +import userRoleAuthorization from '@/views/AuthorizationManagement/userRoleAuthorization.vue'; //鐢ㄦ埛瑙掕壊鎺堟潈 +import menuRoleAuthorization from '@/views/AuthorizationManagement/menuRoleAuthorization.vue'; //鑿滃崟鏉冮檺鎺堟潈 +import roleMenuAuthorization from '@/views/AuthorizationManagement/roleMenuAuthorization.vue'; //瑙掕壊鑿滃崟鎺堟潈 +import roleResAuthorization from '@/views/AuthorizationManagement/roleResAuthorization.vue'; //瑙掕壊璧勬簮鎺堟潈 +import logLog from '@/views/maintenance/logLog.vue'; //鐧诲綍鏃ュ織 +import operationLog from '@/views/maintenance/operationLog.vue'; //鎿嶄綔鏃ュ織 +import eventlogManage from '@/views/maintenance/eventlogManage.vue'; //璧勬簮鏃ュ織 +import tokentool from '@/views/maintenance/tokentool.vue'; //浠ょ墝绠$悊 +import blackwhiteList from '@/views/maintenance/blackwhiteList.vue'; //榛戠櫧鍚嶅崟 +import databaseMonitoring from '@/views/maintenance/databaseMonitoring.vue'; //鏁版嵁搴撶洃鎺� +import systemMonitoring from '@/views/maintenance/systemMonitoring.vue'; //绯荤粺鐩戞帶 +import parameterConfiguration from '@/views/maintenance/parameterConfiguration.vue'; //绯荤粺閰嶇疆 +import downlog from '@/views/maintenance/downlog.vue'; //涓嬭浇鏃ュ織 +import templateManage from '@/views/userManage/templateManage.vue'//妯℃澘绠$悊 +import { selectMenuRecursive, queryMenuTree, getPerms, sign_insertOpLog } from '../../api/api'; +import customElMenu from '../../components/customElMenu.vue'; +import dataStatistics from '@/views/datamanage/dataStatistics.vue'; //鏁版嵁缁熻 + +export default { + components: { + menuSettings, + userManagement, + orgManage, + resourceManage, + roleManage, + authorityManage, + userRoleAuthorization, + menuRoleAuthorization, + roleMenuAuthorization, + roleResAuthorization, + logLog, + operationLog, + eventlogManage, + tokentool, + blackwhiteList, + databaseMonitoring, + systemMonitoring, + parameterConfiguration, + customElMenu, + downlog, + templateManage, + dataStatistics + }, + data() { + return { + setMenuFlag: ' ', + activeIndex: ' ', + oriData: [], //鍘熷鏍戞暟鎹� + dirData: [], //el鏍戞暟鎹� + newData: [], //鎷栧姩鍚庢暟鎹� + lang: 'zh', + + menuList: [], + editTitle: '', + showPopover: false, + showEditInfoWrapper: false, + showEdit: false, + editMenu: false, + editCatalogue: false, + editUnit: false, + itemdetail: {}, + formLabelWidth: '70px', + m1: null, + menuId: null, + }; + }, + created() { }, + mounted() { + this.getTreeData(); + //宸﹀彸鎷栧嫊 + this.dragControllerDiv(); + }, + methods: { + //宸﹀彸鎷栧嫊 + dragControllerDiv: function () { + var resize = document.getElementsByClassName('resize'); + var left = document.getElementsByClassName('left'); + var mid = document.getElementsByClassName('mid'); + var box = document.getElementsByClassName('box'); + for (let i = 0; i < resize.length; i++) { + // 榧犳爣鎸変笅浜嬩欢 + resize[i].onmousedown = function (e) { + //棰滆壊鏀瑰彉鎻愰啋 + resize[i].style.background = '#818181'; + var startX = e.clientX; + resize[i].left = resize[i].offsetLeft; + // 榧犳爣鎷栧姩浜嬩欢 + document.onmousemove = function (e) { + var endX = e.clientX; + var moveLen = resize[i].left + (endX - startX); // 锛坋ndx-startx锛�=绉诲姩鐨勮窛绂汇�俽esize[i].left+绉诲姩鐨勮窛绂�=宸﹁竟鍖哄煙鏈�鍚庣殑瀹藉害 + var maxT = box[i].clientWidth - resize[i].offsetWidth; // 瀹瑰櫒瀹藉害 - 宸﹁竟鍖哄煙鐨勫搴� = 鍙宠竟鍖哄煙鐨勫搴� + + if (moveLen < 205) moveLen = 205; // 宸﹁竟鍖哄煙鐨勬渶灏忓搴︿负32px + if (moveLen > maxT - 300) moveLen = maxT - 300; //鍙宠竟鍖哄煙鏈�灏忓搴︿负150px + + resize[i].style.left = moveLen; // 璁剧疆宸︿晶鍖哄煙鐨勫搴� + + for (let j = 0; j < left.length; j++) { + left[j].style.width = moveLen + 'px'; + mid[j].style.width = (box[i].clientWidth - moveLen - 10) + 'px'; + } + }; + // 榧犳爣鏉惧紑浜嬩欢 + document.onmouseup = function (evt) { + //棰滆壊鎭㈠ + resize[i].style.background = '#d6d6d6'; + document.onmousemove = null; + document.onmouseup = null; + resize[i].releaseCapture && resize[i].releaseCapture(); //褰撲綘涓嶅湪闇�瑕佺户缁幏寰楅紶鏍囨秷鎭氨瑕佸簲璇ヨ皟鐢≧eleaseCapture()閲婃斁鎺� + }; + resize[i].setCapture && resize[i].setCapture(); //璇ュ嚱鏁板湪灞炰簬褰撳墠绾跨▼鐨勬寚瀹氱獥鍙i噷璁剧疆榧犳爣鎹曡幏 + return false; + }; + } + }, + + async getCookies() { + var boolean = this.getTimeCookies(); + if (boolean != true) { + this.$router.push('/login'); + return; + } + if (this.$store.state.permsEntity.length == 0) { + const data = await getPerms(); + this.$store.state.permsEntity = data.result; + } + var store = this.menuList[0]; + this.m1 = store.cnName; + this.setViewController(store); + }, + getTimeCookies() { + var time1 = new Date(JSON.parse(localStorage.getItem('LFToken')).time); + var time2 = new Date(); + if (time2 > time1) { + return false; + } else { + return true; + } + }, + //鑾峰彇鏍� + async getTreeData() { + const data = await queryMenuTree(); + + let menuLists = data.result.filter((value) => { + return value.url == '/systemController'; + }); + this.menuId = menuLists[0].id; + const res = await selectMenuRecursive({ id: menuLists[0].id }); + + if (res.code == 200) { + if (res.result.length != 0) { + let menuList = res.result.filter((value) => { + return value.type == 1; + }) + .filter(value => { + return value.isShow == 1; + }); + this.menuList = this.treeData(menuList); + this.getCookies(); + const hanleselectmochaitmo = sessionStorage.getItem('hanleselectmochaitmo') + if (hanleselectmochaitmo) { + this.$nextTick(function () { + this.handleselecttwo(JSON.parse(hanleselectmochaitmo).url, JSON.parse(hanleselectmochaitmo)) + this.setViewController(JSON.parse(hanleselectmochaitmo)) + }) + } + // + } else { + alert('鏆傛棤鑿滃崟鏍忔暟鎹�'); + } + } else { + console.log('鎺ュ彛鎶ラ敊'); + } + + // this.treeList = this.treeData(data.result); + }, + async signInsertOpLog(m1, m2) { + var obj = { + m1: m1, + m2: m2, + } + const data = await sign_insertOpLog(obj); + + + }, + setViewController(res) { + if (res == null) { + return; + } + + if (res.children != null) { + + + this.setViewController(res.children[0]); + } else { + + this.$store.state.currentPerms = res.perms; + this.signInsertOpLog(this.m1, res.cnName) + this.setMenuFlag = res.url; + this.activeIndex = res.url; + } + }, + 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 == this.menuId; // 杩斿洖涓�绾ц彍鍗� + }); + } else { + alert('鏆傛棤鑿滃崟鏍忔暟鎹�'); + } + }, + + handleselect(index, indexPath, e) { + this.getTimeCookies(); + + this.signInsertOpLog(this.m1, e.$attrs.perms.cnName) + const a = JSON.stringify(e.$attrs.perms) + sessionStorage.setItem('hanleselectmochaitmo', a) + + var data = e.$attrs.perms; + this.$store.state.currentPerms = data.perms; + var index = data.url; + if (index != null) { + if (index.indexOf('http') != -1) { + this.$store.commit('getIframe', data.url); + index = 'dataIfream'; + } + } + + this.setMenuFlag = index; + + }, + handleselecttwo(index, e) { + this.getTimeCookies(); + + const a = JSON.stringify(e) + sessionStorage.setItem('hanleselectmochaitmo', a) + + var data = e; + this.$store.state.currentPerms = data.perms; + var index = data.url; + if (index != null) { + if (index.indexOf('http') != -1) { + this.$store.commit('getIframe', data.url); + index = 'dataIfream'; + } + } + this.setMenuFlag = index; + + }, + }, +}; +</script> + + \ No newline at end of file -- Gitblit v1.9.3