mg
2022-10-28 38caeb98d38808aa76a5e04d18b28387018de9a5
src/views/systemSetting/baseSetting/role/updateUser/index.vue
@@ -4,8 +4,15 @@
            <div class="mainContent">
                <div class="my-tree">
                    <div class="my-tree__wrap">
                        <el-tree ref="tree" :data="roleList" :props="defaultProps" show-checkbox @check="handleCheck"
                            :default-checked-keys="checkedIds" default-expand-all node-key="id">
            <el-tree
              ref="tree"
              :data="roleList"
              :props="defaultProps"
              show-checkbox
              :default-checked-keys="checkedIds"
              default-expand-all
              node-key="id"
            >
                        </el-tree>
                    </div>
                    <!-- <div class="my-tree__bottom"></div> -->
@@ -24,20 +31,20 @@
    data() {
        return {
            role: {
                name: '',
                sort: '',
                description: '',
        name: "",
        sort: "",
        description: "",
            },
            roleList: [],
            defaultProps: {
                children: 'children',
                label: 'title'
        children: "children",
        label: "title",
            },
            treeLabel: '',
      treeLabel: "",
            treeId: 23,
            checkedIds: [],
            resCheckedIds: [],
        }
    };
    },
    created() {
        const that = this;
@@ -48,67 +55,70 @@
        // 获取系统菜单
        getMenuList() {
            this.$axios({
                method: 'get',
                url: 'sccg/menu/treeList',
            })
                .then(res => {
        method: "get",
        url: "sccg/menu/treeList",
      }).then((res) => {
                    this.roleList = res.data;
                })
      });
        },
        // 树形控件复选框点击事件
        handleCheck(data, checked) {
            console.log(checked.checkedKeys);
            this.checkedIds = checked.checkedKeys;
            console.log(this.checkedIds);
    //   console.log(checked.checkedKeys);
    //   this.checkedIds = checked.checkedKeys;
    //   console.log(this.checkedIds);
        },
        // 保存role
        saveRole() {
            this.resCheckedIds = [];
      let nodes = this.$refs.tree.getCheckedNodes(false, true);
            const { userInfo } = this;
            this.resCheckedIds = this.checkedIds;
      this.checkedIds = nodes.map((n) => n.id);
            this.$axios({
                method: 'post',
                url: 'sccg/role/allocMenu?roleId=' + userInfo.id + '&menuIds=' + this.checkedIds,
            })
                .then(res => {
        method: "post",
        url:
          "sccg/role/allocMenu?roleId=" +
          userInfo.id +
          "&menuIds=" +
          this.checkedIds,
      }).then((res) => {
                    if (res.code === 200) {
                        this.$message({
                            type: 'success',
                            message: '修改角色权限成功',
                        })
            type: "success",
            message: "修改角色权限成功",
          });
                        this.getRoleMenus(userInfo.id);
                        this.$emit('changeDialog', { flag: false });
                        this.getUserList();
          this.$emit("changeDialog", { flag: false });
        //   this.getUserList();
                    } else {
                        this.$message({
                            type: 'warning',
                            message: res.message
                        })
            type: "warning",
            message: res.message,
          });
                    }
                })
      });
            // this.$emit('changeDialog',{dialogUpdate:false});
        },
        // 消除role
        resetRole() {
            this.resCheckedIds = [];
            this.$emit('changeDialog', { dialogUpdate: false });
      this.$emit("changeDialog", { dialogUpdate: false });
        },
        // 获取角色菜单
        getRoleMenus(roleId) {
            this.$axios({
                method: 'get',
                url: `sccg/role/listMenu/${roleId}`
            })
                .then(res => {
        method: "get",
        url: `sccg/role/listMenu/${roleId}`,
      }).then((res) => {
                    this.checkedIds = [];
                    res.data.forEach(item => {
        res.data.forEach((item) => {
                        this.checkedIds.push(item.id);
                    })
                })
        }
        });
      });
    },
    props: ['userInfo', 'updateFlag', 'getUserList', 'changeDialog']
}
  },
  props: ["userInfo", "updateFlag", "getUserList", "changeDialog"],
};
</script>
<style lang="scss" scoped>
.updateUser {