167 lines
3.2 KiB
TypeScript
167 lines
3.2 KiB
TypeScript
import request from '/@/utils/request';
|
||
|
||
export const list = (params?: Object) => {
|
||
return request({
|
||
url: '/admin/role/list',
|
||
method: 'get',
|
||
params,
|
||
});
|
||
};
|
||
|
||
export const pageList = (params?: Object) => {
|
||
return request({
|
||
url: '/admin/role/page',
|
||
method: 'get',
|
||
params,
|
||
});
|
||
};
|
||
|
||
export const deptRoleList = () => {
|
||
return request({
|
||
url: '/admin/role/list',
|
||
method: 'get',
|
||
});
|
||
};
|
||
|
||
export const getObj = (id: string) => {
|
||
return request({
|
||
url: '/admin/role/details/' + id,
|
||
method: 'get',
|
||
});
|
||
};
|
||
|
||
export const getObjDetails = (obj: object) => {
|
||
return request({
|
||
url: '/admin/role/details',
|
||
method: 'get',
|
||
params: obj,
|
||
});
|
||
};
|
||
|
||
export const addObj = (obj: Object) => {
|
||
return request({
|
||
url: '/admin/role',
|
||
method: 'post',
|
||
data: obj,
|
||
});
|
||
};
|
||
|
||
export const putObj = (obj: Object) => {
|
||
return request({
|
||
url: '/admin/role',
|
||
method: 'put',
|
||
data: obj,
|
||
});
|
||
};
|
||
|
||
export const delObj = (ids: Object) => {
|
||
return request({
|
||
url: '/admin/role',
|
||
method: 'delete',
|
||
data: ids,
|
||
});
|
||
};
|
||
/**
|
||
* 批量设置角色分组
|
||
* @param roleIds 角色ID列表
|
||
* @param roleGroup 分组名称(空表示未分组)
|
||
*/
|
||
export const batchUpdateRoleGroup = (roleIds: string[], roleGroup: string) => {
|
||
return request({
|
||
url: '/admin/role/batchGroup',
|
||
method: 'put',
|
||
data: { roleIds, roleGroup: roleGroup || '' },
|
||
});
|
||
};
|
||
|
||
/**
|
||
* 批量指定角色关联用户
|
||
* @param roleId 角色ID
|
||
* @param userIds 用户ID列表
|
||
*/
|
||
export const assignUsersToRole = (roleId: string, userIds: string[]) => {
|
||
return request({
|
||
url: '/admin/role/assignUsers',
|
||
method: 'post',
|
||
data: { roleId, userIds },
|
||
});
|
||
};
|
||
|
||
/**
|
||
* 根据角色ID查询该角色下绑定的用户列表(含部门、姓名、工号)
|
||
* @param roleId 角色ID
|
||
*/
|
||
export const getUsersByRoleId = (roleId: string) => {
|
||
return request({
|
||
url: '/admin/role/users/' + roleId,
|
||
method: 'get',
|
||
});
|
||
};
|
||
|
||
/**
|
||
* 解除指定用户与该角色的关联
|
||
* @param roleId 角色ID
|
||
* @param userId 用户ID
|
||
*/
|
||
export const unassignUserFromRole = (roleId: string, userId: string) => {
|
||
return request({
|
||
url: `/admin/role/users/${roleId}/${userId}`,
|
||
method: 'delete',
|
||
});
|
||
};
|
||
|
||
export const permissionUpd = (roleId: string, menuIds: string) => {
|
||
return request({
|
||
url: '/admin/role/menu',
|
||
method: 'put',
|
||
data: {
|
||
roleId: roleId,
|
||
menuIds: menuIds,
|
||
},
|
||
});
|
||
};
|
||
|
||
export const fetchRoleTree = (roleId: string) => {
|
||
return request({
|
||
url: '/admin/menu/tree/' + roleId,
|
||
method: 'get',
|
||
});
|
||
};
|
||
|
||
export function validateRoleCode(rule: any, value: any, callback: any, isEdit: boolean) {
|
||
if (isEdit) {
|
||
return callback();
|
||
}
|
||
|
||
getObjDetails({ roleCode: value }).then((response) => {
|
||
const result = response.data;
|
||
if (result !== null) {
|
||
callback(new Error('角色标识已经存在'));
|
||
} else {
|
||
callback();
|
||
}
|
||
});
|
||
}
|
||
|
||
export function validateRoleName(rule: any, value: any, callback: any, isEdit: boolean) {
|
||
if (isEdit) {
|
||
return callback();
|
||
}
|
||
|
||
getObjDetails({ roleName: value }).then((response) => {
|
||
const result = response.data;
|
||
if (result !== null) {
|
||
callback(new Error('角色名称已经存在'));
|
||
} else {
|
||
callback();
|
||
}
|
||
});
|
||
}
|
||
|
||
|
||
export const listAllRole = () => {
|
||
return request({
|
||
url: '/admin/role/listAllRole',
|
||
method: 'get',
|
||
});
|
||
}; |