From c4fd6b89b6e270efaf48964731f44e70f06734c0 Mon Sep 17 00:00:00 2001 From: YunaiV Date: Sat, 29 Mar 2025 21:18:48 +0800 Subject: [PATCH] =?UTF-8?q?feat=EF=BC=9A=E8=A7=92=E8=89=B2=20role=20?= =?UTF-8?q?=E7=9A=84=E5=AE=9E=E7=8E=B0=2050%=EF=BC=88crud=20+=20export=20?= =?UTF-8?q?=E5=8A=9F=E8=83=BD=EF=BC=89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- apps/web-antd/src/api/system/role/index.ts | 54 ++++++ apps/web-antd/src/api/system/user/index.ts | 3 +- apps/web-antd/src/views/system/dept/index.vue | 6 +- apps/web-antd/src/views/system/post/data.ts | 2 +- apps/web-antd/src/views/system/post/index.vue | 10 +- apps/web-antd/src/views/system/role/data.ts | 163 ++++++++++++++++++ apps/web-antd/src/views/system/role/index.vue | 126 ++++++++++++++ .../src/views/system/role/modules/form.vue | 86 +++++++++ 8 files changed, 440 insertions(+), 10 deletions(-) create mode 100644 apps/web-antd/src/api/system/role/index.ts create mode 100644 apps/web-antd/src/views/system/role/data.ts create mode 100644 apps/web-antd/src/views/system/role/index.vue create mode 100644 apps/web-antd/src/views/system/role/modules/form.vue diff --git a/apps/web-antd/src/api/system/role/index.ts b/apps/web-antd/src/api/system/role/index.ts new file mode 100644 index 000000000..f470eeaa7 --- /dev/null +++ b/apps/web-antd/src/api/system/role/index.ts @@ -0,0 +1,54 @@ +import { requestClient } from '#/api/request'; +import type { PageParam } from '@vben/request'; + +export namespace SystemRoleApi { + /** 角色信息 */ + export interface SystemRole { + id?: number; + name: string; + code: string; + sort: number; + status: number; + type: number; + dataScope: number; + dataScopeDeptIds: number[]; + createTime?: Date; + } +} + +/** 查询角色列表 */ +export function getRolePage(params: PageParam) { + return requestClient.get('/system/role/page', { params }); +} + +/** 查询角色(精简)列表 */ +export function getSimpleRoleList(): Promise { + return requestClient.get('/system/role/simple-list'); +} + +/** 查询角色详情 */ +export function getRole(id: number) { + return requestClient.get(`/system/role/get?id=${id}`); +} + +/** 新增角色 */ +export function createRole(data: SystemRoleApi.SystemRole) { + return requestClient.post('/system/role/create', data); +} + +/** 修改角色 */ +export function updateRole(data: SystemRoleApi.SystemRole) { + return requestClient.put('/system/role/update', data); +} + +/** 删除角色 */ +export function deleteRole(id: number) { + return requestClient.delete(`/system/role/delete?id=${id}`); +} + +/** 导出角色 */ +export function exportRole(params: any) { + return requestClient.download('/system/role/export-excel', { + params, + }); +} diff --git a/apps/web-antd/src/api/system/user/index.ts b/apps/web-antd/src/api/system/user/index.ts index be4b19b9e..e69610626 100644 --- a/apps/web-antd/src/api/system/user/index.ts +++ b/apps/web-antd/src/api/system/user/index.ts @@ -1,4 +1,5 @@ import { requestClient } from '#/api/request'; +import type { PageParam } from '@vben/request'; export namespace SystemUserApi { /** 用户信息 */ @@ -20,7 +21,7 @@ export namespace SystemUserApi { } /** 查询用户管理列表 */ -export function getUserPage(params: any) { +export function getUserPage(params: PageParam) { return requestClient.get('/system/user/page', { params }); } diff --git a/apps/web-antd/src/views/system/dept/index.vue b/apps/web-antd/src/views/system/dept/index.vue index dd8933b7e..b5c89005f 100644 --- a/apps/web-antd/src/views/system/dept/index.vue +++ b/apps/web-antd/src/views/system/dept/index.vue @@ -50,7 +50,7 @@ async function onDelete(row: SystemDeptApi.SystemDept) { content: $t('ui.actionMessage.deleteSuccess', [row.name]), key: 'action_process_msg', }); - refreshGrid(); + onRefresh(); } catch (error) { hideLoading(); } @@ -109,7 +109,7 @@ const [Grid, gridApi] = useVbenVxeGrid({ }); /** 刷新表格 */ -function refreshGrid() { +function onRefresh() { gridApi.query(); } @@ -122,7 +122,7 @@ function toggleExpand() {