xiangpei
2025-04-18 7feee0463330ee014b0ac1a6f8e31118bb699f12
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
import {getRoleById, getPermissionByRole} from "@/api/role";
import {getMenuTree} from "@/api/menu";
 
export default {
    namespaced: true,
    state: {
        // 角色权限id
        id: null,
        roleId: null,
        // 菜单数据
        treeData: [],
        // 已经有的权限
        rolePermissions: {},
        // 分配的权限
        assignPermission: [],
        tableData: [],
        dialogFormVisible: false,
        dialogTreeVisible: false,
        dialogTitle: "",
        pageSize: 10,
        currentPage: 1,
        total: 0,
        roleForm: {
            id: null,
            roleName: "",
            roleKey: "",
            orderNum: "",
            status: "",
            remark: ""
        },
        multipleSelection: [],
    },
    getters: {},
    mutations: {
        openDialogForm(state, value) {
            state.dialogFormVisible = value.dialogFormVisible;
            state.dialogTitle = value.dialogTitle;
        },
        EditRole(state, value) {
            state.dialogFormVisible = value.dialogFormVisible;
            state.dialogTitle = value.dialogTitle;
            Object.keys(state.roleForm).forEach((key) => {
                state.roleForm[key] = value.roleForm[key]
            })
        },
        OpenRoleTreeDialog(state, params) {
            state.roleId = params.roleId;
            state.dialogTreeVisible = params.dialogTreeVisible,
            state.treeData = params.treeData;
            state.rolePermissions = params.rolePermissions;
            state.assignPermission = params.rolePermissions.menuIds;
        }
    },
    actions: {
        editRole(state, id) {
            getRoleById(id).then((res) => {
                var params = {
                    dialogFormVisible: true,
                    dialogTitle: "修改角色",
                    roleForm: res.data.data
                }
                state.commit("EditRole", params);
            })
        },
        openTreeDialog(state, params) {
            getMenuTree(null).then((res) => {
                getPermissionByRole(params).then((res1) => {
                    // var allMenu = res.data.data;
                    // var hasMenu = res1.data.data
                    // console.log(hasMenu)
                    // allMenu.forEach((menu) => {
                    //     if (hasMenu.includes(menu.id)) {
                    //         menu["has"] = true
                    //     } else {
                    //         menu["has"] = false
                    //     }
                    // })
                    // console.log(allMenu);
                    var data = {
                        treeData: res.data.data,
                        roleId: params,
                        dialogTreeVisible: true,
                        rolePermissions: res1.data.data,
                    }
                    state.commit("OpenRoleTreeDialog", data);
                });
            });
 
 
        }
    },
}