| | |
| | | <el-table-column |
| | | align="center" |
| | | width="55" |
| | | row-key="id" |
| | | > |
| | | <template slot-scope="scope"> |
| | | <el-radio |
| | |
| | | </div> |
| | | <el-divider class="divider" /> |
| | | <el-tree |
| | | ref="tree" |
| | | :props="defaultLayerrops" |
| | | node-key="resid" |
| | | :data="layerData" |
| | | :data="Layertree" |
| | | show-checkbox |
| | | node-key="layerid" |
| | | ref="layerFrom" |
| | | :props="defaultLayerrops" |
| | | accordion |
| | | :default-expanded-keys="[1]" |
| | | > |
| | | </el-tree> |
| | |
| | | import { |
| | | queryDepTree, |
| | | select_Role_ByPageAndCount, |
| | | roleReselectByPageAndCount, |
| | | roleResDeletes, |
| | | resSelectCountForRole, |
| | | |
| | | roleResInserts, |
| | | res_selectAll, |
| | | roleRes_selectResByRole, |
| | | roleRes_inserts, |
| | | roleRes_deletes |
| | | |
| | | roleLayer_selectResByRole, |
| | | roleLayer_inserts, |
| | | roleLayer_deletes |
| | | } from '../../api/api'; |
| | | export default { |
| | | //import引入的组件需要注入到对象中才能使用 |
| | |
| | | roleid: null, |
| | | addmultipleSelection: [], |
| | | layerData: [], |
| | | layeroption: [] |
| | | layeroption: [], |
| | | Layertree: [] |
| | | |
| | | }; |
| | | }, |
| | |
| | | .catch(() => { }); |
| | | }, |
| | | async adduser() { |
| | | var val = this.$refs.tree.getCheckedNodes(false, true); // 利用这个方法就可以获取到子节点+父节点) |
| | | var val = this.$refs.layerFrom.getCheckedNodes(false, true); // 利用这个方法就可以获取到子节点+父节点) |
| | | |
| | | var std = []; |
| | | for (var i in val) { |
| | |
| | | if (std.length == 0) { |
| | | return |
| | | } |
| | | const data = await roleRes_inserts(std) |
| | | |
| | | const data = await roleLayer_inserts(std); |
| | | |
| | | if (data.code != 200) { |
| | | this.$message.error('授权失败'); |
| | | } else { |
| | |
| | | }, |
| | | //用户删除 |
| | | async deletesUser() { |
| | | var val = this.$refs.tree.getCheckedNodes(false, true); // 利用这个方法就可以获取到子节点+父节点) |
| | | var val = this.$refs.layerFrom.getCheckedNodes(false, true); // 利用这个方法就可以获取到子节点+父节点) |
| | | var std = []; |
| | | for (var i in val) { |
| | | if (val[i].id > 0) { |
| | |
| | | if (arr.length == 0) { |
| | | return |
| | | } |
| | | const data = await roleRes_deletes({ ids: arr.toString() }); |
| | | const data = await roleLayer_deletes({ ids: arr.toString() }); |
| | | if (data.code != 200) { |
| | | this.$message.error('授权失败'); |
| | | } else { |
| | |
| | | }, |
| | | //获取资源列表 |
| | | async getlayerTree() { |
| | | this.layerData = [] |
| | | const data = await res_selectAll(); |
| | | if (data.code != 200) { |
| | | return this.$message.error("图层列表查询失败"); |
| | | } |
| | | var val = this.setTreeData(data.result); |
| | | val.sort(function (a, b) { |
| | | return a.sort - b.sort |
| | | }) |
| | | this.layerData = val |
| | | // this.layerData = [] |
| | | // const data = await res_selectAll(); |
| | | // if (data.code != 200) { |
| | | // return this.$message.error("图层列表查询失败"); |
| | | // } |
| | | // var val = this.setTreeData(data.result); |
| | | // val.sort(function (a, b) { |
| | | // return a.sort - b.sort |
| | | // }) |
| | | // this.layerData = val |
| | | }, |
| | | setTreeData(source) { |
| | | let cloneData = JSON.parse(JSON.stringify(source)); // 对源数据深度克隆 |
| | | return cloneData.filter((father) => { |
| | | // 循环所有项 |
| | | let branchArr = cloneData.filter((child) => father.resid == child.pid); |
| | | if (branchArr.length > 0) { |
| | | branchArr.sort(function (a, b) { |
| | | return a.sort - b.sort |
| | | }) |
| | | } |
| | | let branchArr = cloneData.filter((child) => father.layerid == 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; |
| | | // 由此循环多次后,就能形成相应的树形数据结构 |
| | |
| | | }, |
| | | // 用户表请求 |
| | | async getuserList() { |
| | | this.layerData = []; |
| | | this.Layertree = []; |
| | | this.layeroption = []; |
| | | |
| | | const data = await roleRes_selectResByRole({ roleid: this.userlistData.roleid }); |
| | | const data = await roleLayer_selectResByRole({ roleid: this.userlistData.roleid }); |
| | | if (data.code !== 200) { |
| | | return this.$message.error('根据ID查询资源失败'); |
| | | } |
| | | var std = []; |
| | | this.layeroption = data.result; |
| | | for (var i in data.result) { |
| | | if (data.result[i].id > 0 && data.result[i].type != 1) { |
| | | std.push(data.result[i].resid) |
| | | if (data.result[i].id > 0 && data.result[i].isLayer != 0) { |
| | | std.push(data.result[i].layerid) |
| | | } |
| | | } |
| | | var val = this.setTreeData(data.result); |
| | | val.sort(function (a, b) { |
| | | return a.sort - b.sort |
| | | }) |
| | | this.layerData = val |
| | | this.$refs.tree.setCheckedKeys(std); |
| | | |
| | | |
| | | this.Layertree = val |
| | | this.$refs.layerFrom.setCheckedKeys(std); |
| | | }, |
| | | // 角色表请求 |
| | | async getRole() { |