| | |
| | | <div class="left_tree"> |
| | | <el-card class="el-card-define"> |
| | | <div class="card_tree"> |
| | | <el-tree |
| | | :data="treeList" |
| | | :props="defaultProps" |
| | | node-key="id" |
| | | @node-click="handleNodeClick" |
| | | :default-expanded-keys="[23]" |
| | | :default-checked-keys="[24]" |
| | | ></el-tree> |
| | | <el-menu |
| | | active-text-color="#ffd04b" |
| | | class="el-menu-vertical-demo" |
| | | :default-active="activeIndex" |
| | | background-color="transparent" |
| | | text-color="#fff" |
| | | @select="handleselect" |
| | | > |
| | | <customElMenu :menuData="menuList"></customElMenu> |
| | | </el-menu> |
| | | </div> |
| | | </el-card> |
| | | </div> |
| | | <div class="right_page"> |
| | | <el-card class="el-card-define"> |
| | | <div> |
| | | <menu-settings v-if="setMenuFlag == '1'"></menu-settings> |
| | | <user-management v-if="setMenuFlag == '2'"></user-management> |
| | | <org-manage v-if="setMenuFlag == '3'"></org-manage> |
| | | <resource-manage v-if="setMenuFlag == '4'"></resource-manage> |
| | | <role-manage v-if="setMenuFlag == '5'"></role-manage> |
| | | <authority-manage v-if="setMenuFlag == '6'"></authority-manage> |
| | | <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 == '7'" |
| | | v-if="setMenuFlag == 'userRoleAuthorization'" |
| | | ></user-role-authorization> |
| | | <menu-role-authorization |
| | | v-if="setMenuFlag == '8'" |
| | | v-if="setMenuFlag == 'menuRoleAuthorization'" |
| | | ></menu-role-authorization> |
| | | <role-menu-authorization v-if="setMenuFlag == '9'"> |
| | | <role-menu-authorization |
| | | v-if="setMenuFlag == 'roleMenuAuthorization'" |
| | | > |
| | | </role-menu-authorization> |
| | | <role-res-authorization |
| | | v-if="setMenuFlag == '10'" |
| | | v-if="setMenuFlag == 'roleResAuthorization'" |
| | | ></role-res-authorization> |
| | | <log-log v-if="setMenuFlag == '11'"> </log-log> |
| | | <operation-log v-if="setMenuFlag == '12'"></operation-log> |
| | | <eventlog-manage v-if="setMenuFlag == '13'"></eventlog-manage> |
| | | <tokentool v-if="setMenuFlag == '14'"></tokentool> |
| | | <blackwhite-list v-if="setMenuFlag == '15'"></blackwhite-list> |
| | | <database-monitoring v-if="setMenuFlag == '16'"></database-monitoring> |
| | | <system-monitoring v-if="setMenuFlag == '17'"></system-monitoring> |
| | | <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 == '18'" |
| | | v-if="setMenuFlag == 'parameterConfiguration'" |
| | | ></parameter-configuration> |
| | | </div> |
| | | </el-card> |
| | |
| | | import systemMonitoring from '@/views/maintenance/systemMonitoring.vue'; //系统监控 |
| | | import parameterConfiguration from '@/views/maintenance/parameterConfiguration.vue'; //系统配置 |
| | | import { selectMenuRecursive } from '../../api/api'; |
| | | |
| | | import customElMenu from '../../components/customElMenu.vue'; |
| | | export default { |
| | | components: { |
| | | menuSettings, |
| | |
| | | databaseMonitoring, |
| | | systemMonitoring, |
| | | parameterConfiguration, |
| | | customElMenu, |
| | | }, |
| | | data() { |
| | | return { |
| | | setMenuFlag: '1', |
| | | treeList: [], |
| | | defaultProps: { |
| | | children: 'children', |
| | | label: 'cnName', |
| | | }, |
| | | setMenuFlag: 'menuSettings', |
| | | oriData: [], //原始树数据 |
| | | dirData: [], //el树数据 |
| | | newData: [], //拖动后数据 |
| | | lang: 'zh', |
| | | activeIndex: 'menuSettings', |
| | | menuList: [], |
| | | editTitle: '', |
| | | showPopover: false, |
| | | showEditInfoWrapper: false, |
| | | showEdit: false, |
| | | editMenu: false, |
| | | editCatalogue: false, |
| | | editUnit: false, |
| | | itemdetail: {}, |
| | | formLabelWidth: '70px', |
| | | }; |
| | | }, |
| | | |
| | | mounted() { |
| | | this.getTreeData(); |
| | | }, |
| | | methods: { |
| | | //获取树 |
| | | async getTreeData() { |
| | | const data = await selectMenuRecursive({ name: '运维管理' }); |
| | | this.treeList = this.treeData(data.result); |
| | | const res = await selectMenuRecursive({ name: '运维管理' }); |
| | | |
| | | if (res.code == 200) { |
| | | if (res.result.length != 0) { |
| | | let menuList = res.result.filter((value) => { |
| | | return value.type == 1; |
| | | }); |
| | | this.menuList = this.treeData(menuList); |
| | | } else { |
| | | alert('暂无菜单栏数据'); |
| | | } |
| | | } else { |
| | | console.log('接口报错'); |
| | | } |
| | | |
| | | // this.treeList = this.treeData(data.result); |
| | | }, |
| | | treeData(source) { |
| | | let cloneData = JSON.parse(JSON.stringify(source)); // 对源数据深度克隆 |
| | | return cloneData.filter((father) => { |
| | | // 循环所有项 |
| | | let branchArr = cloneData.filter((child) => father.id == child.pid); // 对比ID,分别上下级菜单,并返回数据 |
| | | branchArr.length > 1 ? (father.children = branchArr) : ''; // 给父级添加一个children属性,并赋值 |
| | | return father.pid == 1; // 返回一级菜单 |
| | | }); |
| | | // 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) : ''; // 给父级添加一个children属性,并赋值 |
| | | // 属于同一对象问题,例如:令 a=b、c=1 ,然后再令 b.c=c , 那么 a.c=b.c=c=1 ;同理,后续令 c.d=2 ,那么 a.c.d 也是=2; |
| | | // 由此循环多次后,就能形成相应的树形数据结构 |
| | | return father.pid == 1; // 返回一级菜单 |
| | | }); |
| | | } else { |
| | | alert('暂无菜单栏数据'); |
| | | } |
| | | }, |
| | | |
| | | handleselect(index, indexPath, e) { |
| | | 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; |
| | | }, |
| | | //树点击 |
| | | handleNodeClick(data) { |
| | |
| | | background-color: transparent; |
| | | } |
| | | .card_tree { |
| | | /deep/ .el-tree .el-icon-caret-right:before { |
| | | color: white; /** 这里是要修改图标的颜色 **/ |
| | | } |
| | | /deep/ .el-tree { |
| | | color: white; /** 这里是要修改图标的颜色 **/ |
| | | background: transparent; |
| | | } |
| | | /deep/.el-tree-node__content { |
| | | &:hover { |
| | | background-color: rgba(255, 255, 255, 0.3) !important; |
| | | } |
| | | } |
| | | /deep/.el-tree-node.is-current > .el-tree-node__content { |
| | | background-color: rgba(255, 255, 255, 0.3) !important; |
| | | color: #409eff; |
| | | } |
| | | height: 730px; |
| | | overflow-y: auto; |
| | | } |
| | | .el-card__body, |
| | | .el-main { |
| | |
| | | position: relative; |
| | | float: right; |
| | | } |
| | | /deep/.el-menu { |
| | | border: transparent !important; |
| | | } |
| | | /deep/.el-submenu__title:hover { |
| | | background: rgba(255, 255, 255, 0.3) !important; |
| | | } |
| | | /deep/ .el-submenu .el-menu-item:hover { |
| | | background: rgba(255, 255, 255, 0.3) !important; |
| | | } |
| | | } |
| | | </style> |