userPermission.js
4.92 KB
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
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
import request from '@/utils/request'
/**********************用户管理开始 *********************/
// 用户列表
export function getUserData(data) {
return request({
url: '/api/User/GetUserByPage',
method: 'post',
data
})
}
// 用户删除
export function deleteUser(data) {
return request({
url: '/api/User/DeleteUser',
method: 'post',
data
})
}
// 用户新增
export function addUser(data) {
return request({
url: '/api/User/AddUser',
method: 'post',
data
})
}
// 用户编辑
export function editUser(data) {
return request({
url: '/api/User/EditUser',
method: 'post',
data
})
}
// 用户编辑 获取用户对应的角色数据
export function getUserWithRoles(data) {
return request({
url: '/api/User/GetUserWithRoles',
method: 'post',
data
})
}
/**********************用户管理结束 *********************/
/**********************角色管理开始 *********************/
// 获取角色信息列表
export function getUserRole() {
return request({
url: '/api/User/GetRole',
method: 'post',
})
}
// 所有的权限信息
export function getAllPermission() {
return request({
url: '/api/User/GetAllPermission',
method: 'get',
})
}
// 获取当前用户下的所有权限
export function getPermissions() {
return request({
url: '/api/User/GetPermissions',
method: 'get',
})
}
// 获取角色对应的权限
export function getPermissionByRoleId(id) {
return request({
url: '/api/User/GetPermissionByRoleId?id=' + id,
method: 'get',
})
}
// 新增角色,以及角色绑定权限
export function addRoleAndPermissions(data) {
return request({
url: '/api/User/AddRoleAndPermissions',
method: 'post',
data
})
}
// 编辑角色,以及角色绑定权限
export function editRoleAndPermissions(data) {
return request({
url: '/api/User/EditRoleAndPermissions',
method: 'post',
data
})
}
// 删除角色信息
export function deleteRoleByIds(data) {
return request({
url: '/api/User/DeleteRoleByIds',
method: 'post',
data: data
})
}
const mapPermissionType = function (type) {
const typeMap = {
1: 'folder', //目录
5: 'menu', //菜单
10: 'module',//模块
15: 'btn' //按钮
}
return typeMap[type] || 'default'
}
// 用户选项数据转换给组件格式数据
export function transformToTreeData(originalData) {
// 创建映射表
const nodeMap = new Map();
// 第一次遍历:创建所有节点并存入映射表
originalData.forEach(item => {
nodeMap.set(item.id, {
id: item.id,
label: item.permissionName,
parentId: item.parentId,
orderNum: item.orderNum,
permissionCode: item.permissionCode,
permissionType: item.permissionType,
perms: item.perms,
icon: item.icon,
children: [], // 使用 el-tree 默认的 children 字段
// 添加类型标识字段(保持与图片中的层级对应)
nodeType: mapPermissionType(item.permissionType),
label: `${item.permissionCode} - ${item.permissionName}`,
});
});
// 第二次遍历:构建树结构
const tree = [];
nodeMap.forEach(node => {
if (node.parentId === null) {
tree.push(node);
} else {
const parent = nodeMap.get(node.parentId);
if (parent) {
parent.children.push(node);
// 根据 orderNum 排序子节点
parent.children.sort((a, b) => a.orderNum - b.orderNum);
}
}
});
// 对根节点排序
tree.sort((a, b) => a.orderNum - b.orderNum);
return tree;
}
/**********************角色管理结束 *********************/
// 权限信息删除 data =[1]
export function deletePermissionByIds(data) {
return request({
url: '/api/User/DeletePermissionByIds',
method: 'post',
data: data
})
}
// 权限信息保存
export function savePermission(data) {
return request({
url: '/api/User/SavePermission ',
method: 'post',
data: data
})
}
const typeMap = {
1: '目录',
5: '菜单',
10: '模块',
15: '按钮'
}
const getPermissionType = function (type) {
return typeMap[type] || 'default'
}
const getIcon = function (type) {
const typeMap = {
'1': 'pack://application:,,,/HHECS.WinClient;component/Resource/Content/Icon/目录.png',
'5': 'pack://application:,,,/HHECS.WinClient;component/Resource/Content/Icon/菜单.png',
'10': 'pack://application:,,,/HHECS.WinClient;component/Resource/Content/Icon/模块.png',
'15': 'pack://application:,,,/HHECS.WinClient;component/Resource/Content/Icon/按钮.png'
}
return typeMap[type] || 'pack://application:,,,/HHECS.WinClient;component/Resource/Content/Icon/目录.png'
}
export { getPermissionType, getIcon, typeMap }
export function ajaxSuccessBefore(res, callBack, thisInfo, isAlert = true) {
if (res.code !== 'Success') return;
if (isAlert && thisInfo != null) thisInfo.$message.success("业务数据操作成功!");
if (callBack != null) callBack(res);
}