From 3a7fe42e8e7147b0c87d342db084b65d00285a8c Mon Sep 17 00:00:00 2001 From: puhui999 Date: Sun, 15 Jun 2025 18:17:28 +0800 Subject: [PATCH 1/2] =?UTF-8?q?feat:=20system=20=E6=96=B0=E5=A2=9E?= =?UTF-8?q?=E6=89=B9=E9=87=8F=E5=88=A0=E9=99=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/api/system/dept/index.ts | 28 +++++++++++------ src/api/system/dict/dict.data.ts | 20 +++++++++---- src/api/system/dict/dict.type.ts | 21 +++++++++---- src/api/system/mail/account/index.ts | 5 ++++ src/api/system/mail/template/index.ts | 5 ++++ src/api/system/notice/index.ts | 5 ++++ src/api/system/notify/template/index.ts | 5 ++++ src/api/system/oauth2/client.ts | 5 ++++ src/api/system/post/index.ts | 7 ++++- src/api/system/role/index.ts | 5 ++++ src/api/system/sms/smsChannel/index.ts | 5 ++++ src/api/system/sms/smsTemplate/index.ts | 5 ++++ src/api/system/tenant/index.ts | 5 ++++ src/api/system/tenantPackage/index.ts | 6 ++++ src/api/system/user/index.ts | 5 ++++ src/views/system/dept/index.vue | 29 ++++++++++++++++++ src/views/system/dict/data/index.vue | 30 ++++++++++++++++++- src/views/system/dict/index.vue | 31 ++++++++++++++++++- src/views/system/mail/account/index.vue | 23 ++++++++++++++ src/views/system/mail/template/index.vue | 23 ++++++++++++++ src/views/system/notice/index.vue | 30 ++++++++++++++++++- src/views/system/notify/template/index.vue | 33 ++++++++++++++++++-- src/views/system/oauth2/client/index.vue | 30 ++++++++++++++++++- src/views/system/post/index.vue | 30 ++++++++++++++++++- src/views/system/role/index.vue | 35 ++++++++++++++++++++-- src/views/system/sms/channel/index.vue | 30 ++++++++++++++++++- src/views/system/sms/template/index.vue | 30 ++++++++++++++++++- src/views/system/tenant/index.vue | 32 +++++++++++++++++++- src/views/system/tenantPackage/index.vue | 31 ++++++++++++++++++- src/views/system/user/index.vue | 30 ++++++++++++++++++- 30 files changed, 543 insertions(+), 36 deletions(-) diff --git a/src/api/system/dept/index.ts b/src/api/system/dept/index.ts index 04d5c8807..c0959f409 100644 --- a/src/api/system/dept/index.ts +++ b/src/api/system/dept/index.ts @@ -1,7 +1,7 @@ import request from '@/config/axios' export interface DeptVO { - id?: number + id: number name: string parentId: number status: number @@ -13,31 +13,41 @@ export interface DeptVO { } // 查询部门(精简)列表 -export const getSimpleDeptList = async (): Promise => { - return await request.get({ url: '/system/dept/simple-list' }) +export const getSimpleDeptList = (): Promise => { + return request.get({ url: '/system/dept/simple-list' }) } // 查询部门列表 +export const getDeptList = (params: any) => { + return request.get({ url: '/system/dept/list', params }) +} + +// 查询部门分页 export const getDeptPage = async (params: PageParam) => { return await request.get({ url: '/system/dept/list', params }) } // 查询部门详情 -export const getDept = async (id: number) => { - return await request.get({ url: '/system/dept/get?id=' + id }) +export const getDept = (id: number) => { + return request.get({ url: '/system/dept/get?id=' + id }) } // 新增部门 -export const createDept = async (data: DeptVO) => { - return await request.post({ url: '/system/dept/create', data: data }) +export const createDept = (data: DeptVO) => { + return request.post({ url: '/system/dept/create', data }) } // 修改部门 -export const updateDept = async (params: DeptVO) => { - return await request.put({ url: '/system/dept/update', data: params }) +export const updateDept = (data: DeptVO) => { + return request.put({ url: '/system/dept/update', data }) } // 删除部门 export const deleteDept = async (id: number) => { return await request.delete({ url: '/system/dept/delete?id=' + id }) } + +// 批量删除部门 +export const deleteDeptList = async (ids: number[]) => { + return await request.delete({ url: '/system/dept/delete-list', params: { ids: ids.join(',') } }) +} diff --git a/src/api/system/dict/dict.data.ts b/src/api/system/dict/dict.data.ts index f42864810..b10db84e3 100644 --- a/src/api/system/dict/dict.data.ts +++ b/src/api/system/dict/dict.data.ts @@ -1,8 +1,8 @@ import request from '@/config/axios' -export type DictDataVO = { - id: number | undefined - sort: number | undefined +export interface DictDataVO { + id: number + sort: number label: string value: string dictType: string @@ -28,6 +28,11 @@ export const getDictData = (id: number) => { return request.get({ url: '/system/dict-data/get?id=' + id }) } +// 根据字典类型查询字典数据 +export const getDictDataByType = (dictType: string) => { + return request.get({ url: '/system/dict-data/type?type=' + dictType }) +} + // 新增字典数据 export const createDictData = (data: DictDataVO) => { return request.post({ url: '/system/dict-data/create', data }) @@ -43,7 +48,12 @@ export const deleteDictData = (id: number) => { return request.delete({ url: '/system/dict-data/delete?id=' + id }) } -// 导出字典类型数据 +// 批量删除字典数据 +export const deleteDictDataList = (ids: number[]) => { + return request.delete({ url: '/system/dict-data/delete-list', params: { ids: ids.join(',') } }) +} + +// 导出字典数据 export const exportDictData = (params) => { - return request.download({ url: '/system/dict-data/export', params }) + return request.download({ url: '/system/dict-data/export-excel', params }) } diff --git a/src/api/system/dict/dict.type.ts b/src/api/system/dict/dict.type.ts index eaa5fb6d7..af6ad5eae 100644 --- a/src/api/system/dict/dict.type.ts +++ b/src/api/system/dict/dict.type.ts @@ -1,7 +1,7 @@ import request from '@/config/axios' -export type DictTypeVO = { - id: number | undefined +export interface DictTypeVO { + id: number name: string type: string status: number @@ -10,8 +10,8 @@ export type DictTypeVO = { } // 查询字典(精简)列表 -export const getSimpleDictTypeList = () => { - return request.get({ url: '/system/dict-type/list-all-simple' }) +export const getSimpleDictTypeList = (): Promise => { + return request.get({ url: '/system/dict-type/simple-list' }) } // 查询字典列表 @@ -38,7 +38,16 @@ export const updateDictType = (data: DictTypeVO) => { export const deleteDictType = (id: number) => { return request.delete({ url: '/system/dict-type/delete?id=' + id }) } -// 导出字典类型 + +// 批量删除字典类型 +export const deleteDictTypeList = (ids: number[]) => { + return request.delete({ url: '/system/dict-type/delete-list', params: { ids: ids.join(',') } }) +} + +// 导出字典 export const exportDictType = (params) => { - return request.download({ url: '/system/dict-type/export', params }) + return request.download({ + url: '/system/dict-type/export-excel', + params + }) } diff --git a/src/api/system/mail/account/index.ts b/src/api/system/mail/account/index.ts index 15e039176..97b574a82 100644 --- a/src/api/system/mail/account/index.ts +++ b/src/api/system/mail/account/index.ts @@ -36,6 +36,11 @@ export const deleteMailAccount = async (id: number) => { return await request.delete({ url: '/system/mail-account/delete?id=' + id }) } +// 批量删除邮箱账号 +export const deleteMailAccountList = async (ids: number[]) => { + return await request.delete({ url: '/system/mail-account/delete-list', params: { ids: ids.join(',') } }) +} + // 获得邮箱账号精简列表 export const getSimpleMailAccountList = async () => { return request.get({ url: '/system/mail-account/simple-list' }) diff --git a/src/api/system/mail/template/index.ts b/src/api/system/mail/template/index.ts index fb7ce5ea7..c6dae688a 100644 --- a/src/api/system/mail/template/index.ts +++ b/src/api/system/mail/template/index.ts @@ -44,6 +44,11 @@ export const deleteMailTemplate = async (id: number) => { return await request.delete({ url: '/system/mail-template/delete?id=' + id }) } +// 批量删除邮件模版 +export const deleteMailTemplateList = async (ids: number[]) => { + return await request.delete({ url: '/system/mail-template/delete-list', params: { ids: ids.join(',') } }) +} + // 发送邮件 export const sendMail = (data: MailSendReqVO) => { return request.post({ url: '/system/mail-template/send-mail', data }) diff --git a/src/api/system/notice/index.ts b/src/api/system/notice/index.ts index f64346976..c486639cc 100644 --- a/src/api/system/notice/index.ts +++ b/src/api/system/notice/index.ts @@ -36,6 +36,11 @@ export const deleteNotice = (id: number) => { return request.delete({ url: '/system/notice/delete?id=' + id }) } +// 批量删除公告 +export const deleteNoticeList = (ids: number[]) => { + return request.delete({ url: '/system/notice/delete-list', params: { ids: ids.join(',') } }) +} + // 推送公告 export const pushNotice = (id: number) => { return request.post({ url: '/system/notice/push?id=' + id }) diff --git a/src/api/system/notify/template/index.ts b/src/api/system/notify/template/index.ts index 44355dff9..c6bc54872 100644 --- a/src/api/system/notify/template/index.ts +++ b/src/api/system/notify/template/index.ts @@ -43,6 +43,11 @@ export const deleteNotifyTemplate = async (id: number) => { return await request.delete({ url: '/system/notify-template/delete?id=' + id }) } +// 批量删除站内信模板 +export const deleteNotifyTemplateList = async (ids: number[]) => { + return await request.delete({ url: '/system/notify-template/delete-list', params: { ids: ids.join(',') } }) +} + // 发送站内信 export const sendNotify = (data: NotifySendReqVO) => { return request.post({ url: '/system/notify-template/send-notify', data }) diff --git a/src/api/system/oauth2/client.ts b/src/api/system/oauth2/client.ts index 6f71acad6..348aed583 100644 --- a/src/api/system/oauth2/client.ts +++ b/src/api/system/oauth2/client.ts @@ -45,3 +45,8 @@ export const updateOAuth2Client = (data: OAuth2ClientVO) => { export const deleteOAuth2Client = (id: number) => { return request.delete({ url: '/system/oauth2-client/delete?id=' + id }) } + +// 批量删除 OAuth2 客户端 +export const deleteOAuth2ClientList = (ids: number[]) => { + return request.delete({ url: '/system/oauth2-client/delete-list', params: { ids: ids.join(',') } }) +} diff --git a/src/api/system/post/index.ts b/src/api/system/post/index.ts index 0e6f2ca17..297f893d1 100644 --- a/src/api/system/post/index.ts +++ b/src/api/system/post/index.ts @@ -40,7 +40,12 @@ export const deletePost = async (id: number) => { return await request.delete({ url: '/system/post/delete?id=' + id }) } +// 批量删除岗位 +export const deletePostList = async (ids: number[]) => { + return await request.delete({ url: '/system/post/delete-list', params: { ids: ids.join(',') } }) +} + // 导出岗位 export const exportPost = async (params) => { - return await request.download({ url: '/system/post/export', params }) + return await request.download({ url: '/system/post/export-excel', params }) } diff --git a/src/api/system/role/index.ts b/src/api/system/role/index.ts index 3325ddec2..aaba4eab6 100644 --- a/src/api/system/role/index.ts +++ b/src/api/system/role/index.ts @@ -52,6 +52,11 @@ export const deleteRole = async (id: number) => { return await request.delete({ url: '/system/role/delete?id=' + id }) } +// 批量删除角色 +export const deleteRoleList = async (ids: number[]) => { + return await request.delete({ url: '/system/role/delete-list', params: { ids: ids.join(',') } }) +} + // 导出角色 export const exportRole = (params) => { return request.download({ diff --git a/src/api/system/sms/smsChannel/index.ts b/src/api/system/sms/smsChannel/index.ts index bcdaa7f9e..bdfadcdf3 100644 --- a/src/api/system/sms/smsChannel/index.ts +++ b/src/api/system/sms/smsChannel/index.ts @@ -41,3 +41,8 @@ export const updateSmsChannel = (data: SmsChannelVO) => { export const deleteSmsChannel = (id: number) => { return request.delete({ url: '/system/sms-channel/delete?id=' + id }) } + +// 批量删除短信渠道 +export const deleteSmsChannelList = (ids: number[]) => { + return request.delete({ url: '/system/sms-channel/delete-list', params: { ids: ids.join(',') } }) +} diff --git a/src/api/system/sms/smsTemplate/index.ts b/src/api/system/sms/smsTemplate/index.ts index 868ddd474..2171ff646 100644 --- a/src/api/system/sms/smsTemplate/index.ts +++ b/src/api/system/sms/smsTemplate/index.ts @@ -46,6 +46,11 @@ export const deleteSmsTemplate = (id: number) => { return request.delete({ url: '/system/sms-template/delete?id=' + id }) } +// 批量删除短信模板 +export const deleteSmsTemplateList = (ids: number[]) => { + return request.delete({ url: '/system/sms-template/delete-list', params: { ids: ids.join(',') } }) +} + // 导出短信模板 export const exportSmsTemplate = (params) => { return request.download({ diff --git a/src/api/system/tenant/index.ts b/src/api/system/tenant/index.ts index 12c32528a..c51ec7ee0 100644 --- a/src/api/system/tenant/index.ts +++ b/src/api/system/tenant/index.ts @@ -61,6 +61,11 @@ export const deleteTenant = (id: number) => { return request.delete({ url: '/system/tenant/delete?id=' + id }) } +// 批量删除租户 +export const deleteTenantList = (ids: number[]) => { + return request.delete({ url: '/system/tenant/delete-list', params: { ids: ids.join(',') } }) +} + // 导出租户 export const exportTenant = (params: TenantExportReqVO) => { return request.download({ url: '/system/tenant/export-excel', params }) diff --git a/src/api/system/tenantPackage/index.ts b/src/api/system/tenantPackage/index.ts index e01375a5e..49d9d4086 100644 --- a/src/api/system/tenantPackage/index.ts +++ b/src/api/system/tenantPackage/index.ts @@ -36,6 +36,12 @@ export const updateTenantPackage = (data: TenantPackageVO) => { export const deleteTenantPackage = (id: number) => { return request.delete({ url: '/system/tenant-package/delete?id=' + id }) } + +// 批量删除租户套餐 +export const deleteTenantPackageList = (ids: number[]) => { + return request.delete({ url: '/system/tenant-package/delete-list', params: { ids: ids.join(',') } }) +} + // 获取租户套餐精简信息列表 export const getTenantPackageList = () => { return request.get({ url: '/system/tenant-package/simple-list' }) diff --git a/src/api/system/user/index.ts b/src/api/system/user/index.ts index 715d4c7ec..2a7e726f0 100644 --- a/src/api/system/user/index.ts +++ b/src/api/system/user/index.ts @@ -42,6 +42,11 @@ export const deleteUser = (id: number) => { return request.delete({ url: '/system/user/delete?id=' + id }) } +// 批量删除用户 +export const deleteUserList = (ids: number[]) => { + return request.delete({ url: '/system/user/delete-list', params: { ids: ids.join(',') } }) +} + // 导出用户 export const exportUser = (params: any) => { return request.download({ url: '/system/user/export', params }) diff --git a/src/views/system/dept/index.vue b/src/views/system/dept/index.vue index 5e47846b0..c09fb85e4 100644 --- a/src/views/system/dept/index.vue +++ b/src/views/system/dept/index.vue @@ -46,6 +46,15 @@ 展开/折叠 + + 批量删除 + @@ -58,7 +67,9 @@ row-key="id" :default-expand-all="isExpandAll" v-if="refreshTable" + @selection-change="handleRowCheckboxChange" > + @@ -29,6 +38,7 @@ }" v-model:pageSize="tableObject.pageSize" v-model:currentPage="tableObject.currentPage" + :selection="true" > @@ -29,6 +38,7 @@ }" v-model:pageSize="tableObject.pageSize" v-model:currentPage="tableObject.currentPage" + :selection="true" >