From cb70c6845bcfb8c9c2d3af27295ae316221cc544 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9C=89=E6=9D=A5=E6=8A=80=E6=9C=AF?= <1490493387@qq.com> Date: Mon, 20 Dec 2021 00:14:03 +0800 Subject: [PATCH] =?UTF-8?q?feat(role):=20=E8=A7=92=E8=89=B2=E6=A8=A1?= =?UTF-8?q?=E5=9D=97=E7=9A=84=E5=A2=9E=E5=88=A0=E6=94=B9=E6=9F=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/api/system/menu.ts | 2 +- src/api/system/role.ts | 60 +++- src/components/Pagination/index.vue | 142 +++++---- src/views/system/client/index.vue | 13 +- src/views/system/dict/components/DictItem.vue | 4 +- src/views/system/menu/components/Menu.vue | 8 +- src/views/system/menu/index.vue | 4 +- src/views/system/role/components/Menu.vue | 92 ++++++ src/views/system/role/components/Perm.vue | 187 ++++++++++++ src/views/system/role/components/Role.vue | 270 ++++++++++++++++++ src/views/system/role/index.vue | 101 +++++++ 11 files changed, 790 insertions(+), 93 deletions(-) create mode 100644 src/views/system/role/components/Menu.vue create mode 100644 src/views/system/role/components/Perm.vue create mode 100644 src/views/system/role/components/Role.vue create mode 100644 src/views/system/role/index.vue diff --git a/src/api/system/menu.ts b/src/api/system/menu.ts index b47013b3..2a2dfb47 100644 --- a/src/api/system/menu.ts +++ b/src/api/system/menu.ts @@ -38,7 +38,7 @@ export function listSelectMenus() { */ export function listTreeSelectMenus() { return request({ - url: '/youlai-admin/api/v1/menus/tree-select', + url: '/youlai-admin/api/v1/menus/tree_select', method: 'get' }) } diff --git a/src/api/system/role.ts b/src/api/system/role.ts index cd197c21..1fcff589 100644 --- a/src/api/system/role.ts +++ b/src/api/system/role.ts @@ -31,7 +31,7 @@ export function listRoles(queryParams: object) { * * @param id */ -export function getPermDetail(id: number) { +export function getRoleDetail(id: number) { return request({ url: '/youlai-admin/api/v1/roles/' + id, method: 'get' @@ -43,7 +43,7 @@ export function getPermDetail(id: number) { * * @param data */ -export function addPerm(data: object) { +export function addRole(data: object) { return request({ url: '/youlai-admin/api/v1/roles', method: 'post', @@ -57,7 +57,7 @@ export function addPerm(data: object) { * @param id * @param data */ -export function updatePerm(id: number, data: object) { +export function updateRole(id: number, data: object) { return request({ url: '/youlai-admin/api/v1/roles/' + id, method: 'put', @@ -77,3 +77,57 @@ export function deleteRoles(ids: string) { }) } + +/** + * 获取角色的菜单列表 + * + * @param roleId + */ +export function listRoleMenuIds(roleId: number) { + return request({ + url: '/youlai-admin/api/v1/roles/' + roleId + '/menu_ids', + method: 'get', + }) +} + +/** + * 修改角色的菜单 + * + * @param roleId + * @param menuIds + */ +export function updateRoleMenu(roleId: number, menuIds: Array) { + return request({ + url: '/youlai-admin/api/v1/roles/' + roleId + '/menus', + method: 'put', + data: {menuIds: menuIds} + }) +} + + +/** + * 获取角色的权限列表 + * + * @param roleId + */ +export function listRolePerms(roleId: number) { + return request({ + url: '/youlai-admin/api/v1/roles/' + roleId + '/permissions', + method: 'get', + }) +} + +/** + * 保存角色权限 + * + * @param menuId 菜单ID,归类权限 + * @param roleId + * @param permIds + */ +export function saveRolePerms(menuId: number, roleId: number, permIds: Array) { + return request({ + url: '/youlai-admin/api/v1/roles/' + roleId + '/permissions', + method: 'put', + data: {menuId: menuId, permIds: permIds} + }) +} \ No newline at end of file diff --git a/src/components/Pagination/index.vue b/src/components/Pagination/index.vue index de745cd2..c800db27 100644 --- a/src/components/Pagination/index.vue +++ b/src/components/Pagination/index.vue @@ -7,92 +7,86 @@ :layout="layout" :page-sizes="pageSizes" :total="total" - v-bind="$attrs" @size-change="handleSizeChange" @current-change="handleCurrentChange" /> - diff --git a/src/views/system/role/components/Perm.vue b/src/views/system/role/components/Perm.vue new file mode 100644 index 00000000..54154e49 --- /dev/null +++ b/src/views/system/role/components/Perm.vue @@ -0,0 +1,187 @@ + + + + + diff --git a/src/views/system/role/components/Role.vue b/src/views/system/role/components/Role.vue new file mode 100644 index 00000000..22145337 --- /dev/null +++ b/src/views/system/role/components/Role.vue @@ -0,0 +1,270 @@ + + + diff --git a/src/views/system/role/index.vue b/src/views/system/role/index.vue new file mode 100644 index 00000000..2e425430 --- /dev/null +++ b/src/views/system/role/index.vue @@ -0,0 +1,101 @@ + + + + +