月球大数据地理空间分析展示平台-【中台】
WX
2023-08-15 ec86ce630c3bf6ef4abe5f52ecde21eeda03c5e7
src/views/AuthorizationManagement/roleResAuthorization.vue
@@ -46,6 +46,7 @@
          <el-table-column
            align="center"
            width="55"
            row-key="id"
          >
            <template slot-scope="scope">
              <el-radio
@@ -124,11 +125,12 @@
        </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>
@@ -204,14 +206,12 @@
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引入的组件需要注入到对象中才能使用
@@ -266,7 +266,8 @@
      roleid: null,
      addmultipleSelection: [],
      layerData: [],
      layeroption: []
      layeroption: [],
      Layertree: []
    };
  },
@@ -297,7 +298,7 @@
        .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) {
@@ -309,7 +310,9 @@
      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 {
@@ -324,7 +327,7 @@
    },
    //用户删除
    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) {
@@ -341,7 +344,7 @@
      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 {
@@ -422,27 +425,22 @@
    },
    //获取资源列表
    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;
        // 由此循环多次后,就能形成相应的树形数据结构
@@ -512,26 +510,25 @@
    },
    // 用户表请求
    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() {