mirror of
https://gitee.com/myxzgzs/boyue-ui-admin-vue3
synced 2025-08-08 16:32:43 +08:00
feat: system 新增批量删除
This commit is contained in:
parent
cd78171106
commit
3a7fe42e8e
@ -1,7 +1,7 @@
|
|||||||
import request from '@/config/axios'
|
import request from '@/config/axios'
|
||||||
|
|
||||||
export interface DeptVO {
|
export interface DeptVO {
|
||||||
id?: number
|
id: number
|
||||||
name: string
|
name: string
|
||||||
parentId: number
|
parentId: number
|
||||||
status: number
|
status: number
|
||||||
@ -13,31 +13,41 @@ export interface DeptVO {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// 查询部门(精简)列表
|
// 查询部门(精简)列表
|
||||||
export const getSimpleDeptList = async (): Promise<DeptVO[]> => {
|
export const getSimpleDeptList = (): Promise<DeptVO[]> => {
|
||||||
return await request.get({ url: '/system/dept/simple-list' })
|
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) => {
|
export const getDeptPage = async (params: PageParam) => {
|
||||||
return await request.get({ url: '/system/dept/list', params })
|
return await request.get({ url: '/system/dept/list', params })
|
||||||
}
|
}
|
||||||
|
|
||||||
// 查询部门详情
|
// 查询部门详情
|
||||||
export const getDept = async (id: number) => {
|
export const getDept = (id: number) => {
|
||||||
return await request.get({ url: '/system/dept/get?id=' + id })
|
return request.get({ url: '/system/dept/get?id=' + id })
|
||||||
}
|
}
|
||||||
|
|
||||||
// 新增部门
|
// 新增部门
|
||||||
export const createDept = async (data: DeptVO) => {
|
export const createDept = (data: DeptVO) => {
|
||||||
return await request.post({ url: '/system/dept/create', data: data })
|
return request.post({ url: '/system/dept/create', data })
|
||||||
}
|
}
|
||||||
|
|
||||||
// 修改部门
|
// 修改部门
|
||||||
export const updateDept = async (params: DeptVO) => {
|
export const updateDept = (data: DeptVO) => {
|
||||||
return await request.put({ url: '/system/dept/update', data: params })
|
return request.put({ url: '/system/dept/update', data })
|
||||||
}
|
}
|
||||||
|
|
||||||
// 删除部门
|
// 删除部门
|
||||||
export const deleteDept = async (id: number) => {
|
export const deleteDept = async (id: number) => {
|
||||||
return await request.delete({ url: '/system/dept/delete?id=' + id })
|
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(',') } })
|
||||||
|
}
|
||||||
|
@ -1,8 +1,8 @@
|
|||||||
import request from '@/config/axios'
|
import request from '@/config/axios'
|
||||||
|
|
||||||
export type DictDataVO = {
|
export interface DictDataVO {
|
||||||
id: number | undefined
|
id: number
|
||||||
sort: number | undefined
|
sort: number
|
||||||
label: string
|
label: string
|
||||||
value: string
|
value: string
|
||||||
dictType: string
|
dictType: string
|
||||||
@ -28,6 +28,11 @@ export const getDictData = (id: number) => {
|
|||||||
return request.get({ url: '/system/dict-data/get?id=' + id })
|
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) => {
|
export const createDictData = (data: DictDataVO) => {
|
||||||
return request.post({ url: '/system/dict-data/create', data })
|
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 })
|
return request.delete({ url: '/system/dict-data/delete?id=' + id })
|
||||||
}
|
}
|
||||||
|
|
||||||
// 导出字典类型数据
|
// 批量删除字典数据
|
||||||
export const exportDictData = (params) => {
|
export const deleteDictDataList = (ids: number[]) => {
|
||||||
return request.download({ url: '/system/dict-data/export', params })
|
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-excel', params })
|
||||||
}
|
}
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
import request from '@/config/axios'
|
import request from '@/config/axios'
|
||||||
|
|
||||||
export type DictTypeVO = {
|
export interface DictTypeVO {
|
||||||
id: number | undefined
|
id: number
|
||||||
name: string
|
name: string
|
||||||
type: string
|
type: string
|
||||||
status: number
|
status: number
|
||||||
@ -10,8 +10,8 @@ export type DictTypeVO = {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// 查询字典(精简)列表
|
// 查询字典(精简)列表
|
||||||
export const getSimpleDictTypeList = () => {
|
export const getSimpleDictTypeList = (): Promise<DictTypeVO[]> => {
|
||||||
return request.get({ url: '/system/dict-type/list-all-simple' })
|
return request.get({ url: '/system/dict-type/simple-list' })
|
||||||
}
|
}
|
||||||
|
|
||||||
// 查询字典列表
|
// 查询字典列表
|
||||||
@ -38,7 +38,16 @@ export const updateDictType = (data: DictTypeVO) => {
|
|||||||
export const deleteDictType = (id: number) => {
|
export const deleteDictType = (id: number) => {
|
||||||
return request.delete({ url: '/system/dict-type/delete?id=' + id })
|
return request.delete({ url: '/system/dict-type/delete?id=' + id })
|
||||||
}
|
}
|
||||||
// 导出字典类型
|
|
||||||
export const exportDictType = (params) => {
|
// 批量删除字典类型
|
||||||
return request.download({ url: '/system/dict-type/export', params })
|
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-excel',
|
||||||
|
params
|
||||||
|
})
|
||||||
}
|
}
|
||||||
|
@ -36,6 +36,11 @@ export const deleteMailAccount = async (id: number) => {
|
|||||||
return await request.delete({ url: '/system/mail-account/delete?id=' + id })
|
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 () => {
|
export const getSimpleMailAccountList = async () => {
|
||||||
return request.get({ url: '/system/mail-account/simple-list' })
|
return request.get({ url: '/system/mail-account/simple-list' })
|
||||||
|
@ -44,6 +44,11 @@ export const deleteMailTemplate = async (id: number) => {
|
|||||||
return await request.delete({ url: '/system/mail-template/delete?id=' + id })
|
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) => {
|
export const sendMail = (data: MailSendReqVO) => {
|
||||||
return request.post({ url: '/system/mail-template/send-mail', data })
|
return request.post({ url: '/system/mail-template/send-mail', data })
|
||||||
|
@ -36,6 +36,11 @@ export const deleteNotice = (id: number) => {
|
|||||||
return request.delete({ url: '/system/notice/delete?id=' + id })
|
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) => {
|
export const pushNotice = (id: number) => {
|
||||||
return request.post({ url: '/system/notice/push?id=' + id })
|
return request.post({ url: '/system/notice/push?id=' + id })
|
||||||
|
@ -43,6 +43,11 @@ export const deleteNotifyTemplate = async (id: number) => {
|
|||||||
return await request.delete({ url: '/system/notify-template/delete?id=' + id })
|
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) => {
|
export const sendNotify = (data: NotifySendReqVO) => {
|
||||||
return request.post({ url: '/system/notify-template/send-notify', data })
|
return request.post({ url: '/system/notify-template/send-notify', data })
|
||||||
|
@ -45,3 +45,8 @@ export const updateOAuth2Client = (data: OAuth2ClientVO) => {
|
|||||||
export const deleteOAuth2Client = (id: number) => {
|
export const deleteOAuth2Client = (id: number) => {
|
||||||
return request.delete({ url: '/system/oauth2-client/delete?id=' + id })
|
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(',') } })
|
||||||
|
}
|
||||||
|
@ -40,7 +40,12 @@ export const deletePost = async (id: number) => {
|
|||||||
return await request.delete({ url: '/system/post/delete?id=' + id })
|
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) => {
|
export const exportPost = async (params) => {
|
||||||
return await request.download({ url: '/system/post/export', params })
|
return await request.download({ url: '/system/post/export-excel', params })
|
||||||
}
|
}
|
||||||
|
@ -52,6 +52,11 @@ export const deleteRole = async (id: number) => {
|
|||||||
return await request.delete({ url: '/system/role/delete?id=' + id })
|
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) => {
|
export const exportRole = (params) => {
|
||||||
return request.download({
|
return request.download({
|
||||||
|
@ -41,3 +41,8 @@ export const updateSmsChannel = (data: SmsChannelVO) => {
|
|||||||
export const deleteSmsChannel = (id: number) => {
|
export const deleteSmsChannel = (id: number) => {
|
||||||
return request.delete({ url: '/system/sms-channel/delete?id=' + id })
|
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(',') } })
|
||||||
|
}
|
||||||
|
@ -46,6 +46,11 @@ export const deleteSmsTemplate = (id: number) => {
|
|||||||
return request.delete({ url: '/system/sms-template/delete?id=' + id })
|
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) => {
|
export const exportSmsTemplate = (params) => {
|
||||||
return request.download({
|
return request.download({
|
||||||
|
@ -61,6 +61,11 @@ export const deleteTenant = (id: number) => {
|
|||||||
return request.delete({ url: '/system/tenant/delete?id=' + id })
|
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) => {
|
export const exportTenant = (params: TenantExportReqVO) => {
|
||||||
return request.download({ url: '/system/tenant/export-excel', params })
|
return request.download({ url: '/system/tenant/export-excel', params })
|
||||||
|
@ -36,6 +36,12 @@ export const updateTenantPackage = (data: TenantPackageVO) => {
|
|||||||
export const deleteTenantPackage = (id: number) => {
|
export const deleteTenantPackage = (id: number) => {
|
||||||
return request.delete({ url: '/system/tenant-package/delete?id=' + id })
|
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 = () => {
|
export const getTenantPackageList = () => {
|
||||||
return request.get({ url: '/system/tenant-package/simple-list' })
|
return request.get({ url: '/system/tenant-package/simple-list' })
|
||||||
|
@ -42,6 +42,11 @@ export const deleteUser = (id: number) => {
|
|||||||
return request.delete({ url: '/system/user/delete?id=' + id })
|
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) => {
|
export const exportUser = (params: any) => {
|
||||||
return request.download({ url: '/system/user/export', params })
|
return request.download({ url: '/system/user/export', params })
|
||||||
|
@ -46,6 +46,15 @@
|
|||||||
<el-button type="danger" plain @click="toggleExpandAll">
|
<el-button type="danger" plain @click="toggleExpandAll">
|
||||||
<Icon icon="ep:sort" class="mr-5px" /> 展开/折叠
|
<Icon icon="ep:sort" class="mr-5px" /> 展开/折叠
|
||||||
</el-button>
|
</el-button>
|
||||||
|
<el-button
|
||||||
|
type="danger"
|
||||||
|
plain
|
||||||
|
:disabled="checkedIds.length === 0"
|
||||||
|
@click="handleDeleteBatch"
|
||||||
|
v-hasPermi="['system:dept:delete']"
|
||||||
|
>
|
||||||
|
<Icon icon="ep:delete" class="mr-5px" /> 批量删除
|
||||||
|
</el-button>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-form>
|
</el-form>
|
||||||
</ContentWrap>
|
</ContentWrap>
|
||||||
@ -58,7 +67,9 @@
|
|||||||
row-key="id"
|
row-key="id"
|
||||||
:default-expand-all="isExpandAll"
|
:default-expand-all="isExpandAll"
|
||||||
v-if="refreshTable"
|
v-if="refreshTable"
|
||||||
|
@selection-change="handleRowCheckboxChange"
|
||||||
>
|
>
|
||||||
|
<el-table-column type="selection" width="55" />
|
||||||
<el-table-column prop="name" label="部门名称" />
|
<el-table-column prop="name" label="部门名称" />
|
||||||
<el-table-column prop="leader" label="负责人">
|
<el-table-column prop="leader" label="负责人">
|
||||||
<template #default="scope">
|
<template #default="scope">
|
||||||
@ -181,6 +192,24 @@ const handleDelete = async (id: number) => {
|
|||||||
} catch {}
|
} catch {}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/** 批量删除按钮操作 */
|
||||||
|
const checkedIds = ref<number[]>([])
|
||||||
|
const handleRowCheckboxChange = (rows: DeptApi.DeptVO[]) => {
|
||||||
|
checkedIds.value = rows.map((row) => row.id)
|
||||||
|
}
|
||||||
|
|
||||||
|
const handleDeleteBatch = async () => {
|
||||||
|
try {
|
||||||
|
// 删除的二次确认
|
||||||
|
await message.delConfirm()
|
||||||
|
// 发起批量删除
|
||||||
|
await DeptApi.deleteDeptList(checkedIds.value)
|
||||||
|
message.success(t('common.delSuccess'))
|
||||||
|
// 刷新列表
|
||||||
|
await getList()
|
||||||
|
} catch {}
|
||||||
|
}
|
||||||
|
|
||||||
/** 初始化 **/
|
/** 初始化 **/
|
||||||
onMounted(async () => {
|
onMounted(async () => {
|
||||||
await getList()
|
await getList()
|
||||||
|
@ -56,13 +56,23 @@
|
|||||||
>
|
>
|
||||||
<Icon icon="ep:download" class="mr-5px" /> 导出
|
<Icon icon="ep:download" class="mr-5px" /> 导出
|
||||||
</el-button>
|
</el-button>
|
||||||
|
<el-button
|
||||||
|
type="danger"
|
||||||
|
plain
|
||||||
|
:disabled="checkedIds.length === 0"
|
||||||
|
@click="handleDeleteBatch"
|
||||||
|
v-hasPermi="['system:dict:delete']"
|
||||||
|
>
|
||||||
|
<Icon icon="ep:delete" class="mr-5px" /> 批量删除
|
||||||
|
</el-button>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-form>
|
</el-form>
|
||||||
</ContentWrap>
|
</ContentWrap>
|
||||||
|
|
||||||
<!-- 列表 -->
|
<!-- 列表 -->
|
||||||
<ContentWrap>
|
<ContentWrap>
|
||||||
<el-table v-loading="loading" :data="list">
|
<el-table v-loading="loading" :data="list" @selection-change="handleRowCheckboxChange">
|
||||||
|
<el-table-column type="selection" width="55" />
|
||||||
<el-table-column label="字典编码" align="center" prop="id" />
|
<el-table-column label="字典编码" align="center" prop="id" />
|
||||||
<el-table-column label="字典标签" align="center" prop="label" />
|
<el-table-column label="字典标签" align="center" prop="label" />
|
||||||
<el-table-column label="字典键值" align="center" prop="value" />
|
<el-table-column label="字典键值" align="center" prop="value" />
|
||||||
@ -186,6 +196,24 @@ const handleDelete = async (id: number) => {
|
|||||||
} catch {}
|
} catch {}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/** 批量删除按钮操作 */
|
||||||
|
const checkedIds = ref<number[]>([])
|
||||||
|
const handleRowCheckboxChange = (rows: DictDataApi.DictDataVO[]) => {
|
||||||
|
checkedIds.value = rows.map((row) => row.id)
|
||||||
|
}
|
||||||
|
|
||||||
|
const handleDeleteBatch = async () => {
|
||||||
|
try {
|
||||||
|
// 删除的二次确认
|
||||||
|
await message.delConfirm()
|
||||||
|
// 发起批量删除
|
||||||
|
await DictDataApi.deleteDictDataList(checkedIds.value)
|
||||||
|
message.success(t('common.delSuccess'))
|
||||||
|
// 刷新列表
|
||||||
|
await getList()
|
||||||
|
} catch {}
|
||||||
|
}
|
||||||
|
|
||||||
/** 导出按钮操作 */
|
/** 导出按钮操作 */
|
||||||
const handleExport = async () => {
|
const handleExport = async () => {
|
||||||
try {
|
try {
|
||||||
|
@ -80,13 +80,24 @@
|
|||||||
<Icon class="mr-5px" icon="ep:download" />
|
<Icon class="mr-5px" icon="ep:download" />
|
||||||
导出
|
导出
|
||||||
</el-button>
|
</el-button>
|
||||||
|
<el-button
|
||||||
|
v-hasPermi="['system:dict:delete']"
|
||||||
|
:disabled="checkedIds.length === 0"
|
||||||
|
plain
|
||||||
|
type="danger"
|
||||||
|
@click="handleDeleteBatch"
|
||||||
|
>
|
||||||
|
<Icon class="mr-5px" icon="ep:delete" />
|
||||||
|
批量删除
|
||||||
|
</el-button>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-form>
|
</el-form>
|
||||||
</ContentWrap>
|
</ContentWrap>
|
||||||
|
|
||||||
<!-- 列表 -->
|
<!-- 列表 -->
|
||||||
<ContentWrap>
|
<ContentWrap>
|
||||||
<el-table v-loading="loading" :data="list">
|
<el-table v-loading="loading" :data="list" @selection-change="handleRowCheckboxChange">
|
||||||
|
<el-table-column type="selection" width="55" />
|
||||||
<el-table-column align="center" label="字典编号" prop="id" />
|
<el-table-column align="center" label="字典编号" prop="id" />
|
||||||
<el-table-column align="center" label="字典名称" prop="name" show-overflow-tooltip />
|
<el-table-column align="center" label="字典名称" prop="name" show-overflow-tooltip />
|
||||||
<el-table-column align="center" label="字典类型" prop="type" width="300" />
|
<el-table-column align="center" label="字典类型" prop="type" width="300" />
|
||||||
@ -209,6 +220,24 @@ const handleDelete = async (id: number) => {
|
|||||||
} catch {}
|
} catch {}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/** 批量删除按钮操作 */
|
||||||
|
const checkedIds = ref<number[]>([])
|
||||||
|
const handleRowCheckboxChange = (rows: DictTypeApi.DictTypeVO[]) => {
|
||||||
|
checkedIds.value = rows.map((row) => row.id)
|
||||||
|
}
|
||||||
|
|
||||||
|
const handleDeleteBatch = async () => {
|
||||||
|
try {
|
||||||
|
// 删除的二次确认
|
||||||
|
await message.delConfirm()
|
||||||
|
// 发起批量删除
|
||||||
|
await DictTypeApi.deleteDictTypeList(checkedIds.value)
|
||||||
|
message.success(t('common.delSuccess'))
|
||||||
|
// 刷新列表
|
||||||
|
await getList()
|
||||||
|
} catch {}
|
||||||
|
}
|
||||||
|
|
||||||
/** 导出按钮操作 */
|
/** 导出按钮操作 */
|
||||||
const handleExport = async () => {
|
const handleExport = async () => {
|
||||||
try {
|
try {
|
||||||
|
@ -14,6 +14,15 @@
|
|||||||
>
|
>
|
||||||
<Icon icon="ep:plus" class="mr-5px" /> 新增
|
<Icon icon="ep:plus" class="mr-5px" /> 新增
|
||||||
</el-button>
|
</el-button>
|
||||||
|
<el-button
|
||||||
|
type="danger"
|
||||||
|
plain
|
||||||
|
@click="handleDeleteBatch"
|
||||||
|
:disabled="!isSelected"
|
||||||
|
v-hasPermi="['system:mail-account:delete']"
|
||||||
|
>
|
||||||
|
<Icon icon="ep:delete" class="mr-5px" /> 批量删除
|
||||||
|
</el-button>
|
||||||
</template>
|
</template>
|
||||||
</Search>
|
</Search>
|
||||||
</ContentWrap>
|
</ContentWrap>
|
||||||
@ -29,6 +38,7 @@
|
|||||||
}"
|
}"
|
||||||
v-model:pageSize="tableObject.pageSize"
|
v-model:pageSize="tableObject.pageSize"
|
||||||
v-model:currentPage="tableObject.currentPage"
|
v-model:currentPage="tableObject.currentPage"
|
||||||
|
:selection="true"
|
||||||
>
|
>
|
||||||
<template #action="{ row }">
|
<template #action="{ row }">
|
||||||
<el-button
|
<el-button
|
||||||
@ -99,6 +109,19 @@ const handleDelete = (id: number) => {
|
|||||||
tableMethods.delList(id, false)
|
tableMethods.delList(id, false)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/** 是否有选中行 */
|
||||||
|
const isSelected = computed(() => {
|
||||||
|
return tableObject.selections && tableObject.selections.length > 0
|
||||||
|
})
|
||||||
|
|
||||||
|
/** 批量删除按钮操作 */
|
||||||
|
const handleDeleteBatch = async () => {
|
||||||
|
const ids = tableObject.selections.map(item => item.id)
|
||||||
|
if (ids.length === 0) return
|
||||||
|
await MailAccountApi.deleteMailAccountList(ids)
|
||||||
|
tableMethods.getList()
|
||||||
|
}
|
||||||
|
|
||||||
/** 初始化 **/
|
/** 初始化 **/
|
||||||
onMounted(() => {
|
onMounted(() => {
|
||||||
getList()
|
getList()
|
||||||
|
@ -14,6 +14,15 @@
|
|||||||
>
|
>
|
||||||
<Icon icon="ep:plus" class="mr-5px" /> 新增
|
<Icon icon="ep:plus" class="mr-5px" /> 新增
|
||||||
</el-button>
|
</el-button>
|
||||||
|
<el-button
|
||||||
|
type="danger"
|
||||||
|
plain
|
||||||
|
@click="handleDeleteBatch"
|
||||||
|
:disabled="!isSelected"
|
||||||
|
v-hasPermi="['system:mail-template:delete']"
|
||||||
|
>
|
||||||
|
<Icon icon="ep:delete" class="mr-5px" /> 批量删除
|
||||||
|
</el-button>
|
||||||
</template>
|
</template>
|
||||||
</Search>
|
</Search>
|
||||||
</ContentWrap>
|
</ContentWrap>
|
||||||
@ -29,6 +38,7 @@
|
|||||||
}"
|
}"
|
||||||
v-model:pageSize="tableObject.pageSize"
|
v-model:pageSize="tableObject.pageSize"
|
||||||
v-model:currentPage="tableObject.currentPage"
|
v-model:currentPage="tableObject.currentPage"
|
||||||
|
:selection="true"
|
||||||
>
|
>
|
||||||
<template #action="{ row }">
|
<template #action="{ row }">
|
||||||
<el-button
|
<el-button
|
||||||
@ -94,6 +104,19 @@ const handleDelete = (id: number) => {
|
|||||||
tableMethods.delList(id, false)
|
tableMethods.delList(id, false)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/** 是否有选中行 */
|
||||||
|
const isSelected = computed(() => {
|
||||||
|
return tableObject.selections && tableObject.selections.length > 0
|
||||||
|
})
|
||||||
|
|
||||||
|
/** 批量删除按钮操作 */
|
||||||
|
const handleDeleteBatch = async () => {
|
||||||
|
const ids = tableObject.selections.map(item => item.id)
|
||||||
|
if (ids.length === 0) return
|
||||||
|
await MailTemplateApi.deleteMailTemplateList(ids)
|
||||||
|
tableMethods.getList()
|
||||||
|
}
|
||||||
|
|
||||||
/** 发送测试操作 */
|
/** 发送测试操作 */
|
||||||
const sendFormRef = ref()
|
const sendFormRef = ref()
|
||||||
const openSendForm = (id: number) => {
|
const openSendForm = (id: number) => {
|
||||||
|
@ -43,13 +43,23 @@
|
|||||||
>
|
>
|
||||||
<Icon icon="ep:plus" class="mr-5px" /> 新增
|
<Icon icon="ep:plus" class="mr-5px" /> 新增
|
||||||
</el-button>
|
</el-button>
|
||||||
|
<el-button
|
||||||
|
type="danger"
|
||||||
|
plain
|
||||||
|
:disabled="checkedIds.length === 0"
|
||||||
|
@click="handleDeleteBatch"
|
||||||
|
v-hasPermi="['system:notice:delete']"
|
||||||
|
>
|
||||||
|
<Icon icon="ep:delete" class="mr-5px" /> 批量删除
|
||||||
|
</el-button>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-form>
|
</el-form>
|
||||||
</ContentWrap>
|
</ContentWrap>
|
||||||
|
|
||||||
<!-- 列表 -->
|
<!-- 列表 -->
|
||||||
<ContentWrap>
|
<ContentWrap>
|
||||||
<el-table v-loading="loading" :data="list">
|
<el-table v-loading="loading" :data="list" @selection-change="handleRowCheckboxChange">
|
||||||
|
<el-table-column type="selection" width="55" />
|
||||||
<el-table-column label="公告编号" align="center" prop="id" />
|
<el-table-column label="公告编号" align="center" prop="id" />
|
||||||
<el-table-column label="公告标题" align="center" prop="title" />
|
<el-table-column label="公告标题" align="center" prop="title" />
|
||||||
<el-table-column label="公告类型" align="center" prop="type">
|
<el-table-column label="公告类型" align="center" prop="type">
|
||||||
@ -171,6 +181,24 @@ const handleDelete = async (id: number) => {
|
|||||||
} catch {}
|
} catch {}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/** 批量删除按钮操作 */
|
||||||
|
const checkedIds = ref<number[]>([])
|
||||||
|
const handleRowCheckboxChange = (rows: NoticeApi.NoticeVO[]) => {
|
||||||
|
checkedIds.value = rows.map((row) => row.id)
|
||||||
|
}
|
||||||
|
|
||||||
|
const handleDeleteBatch = async () => {
|
||||||
|
try {
|
||||||
|
// 删除的二次确认
|
||||||
|
await message.delConfirm()
|
||||||
|
// 发起批量删除
|
||||||
|
await NoticeApi.deleteNoticeList(checkedIds.value)
|
||||||
|
message.success(t('common.delSuccess'))
|
||||||
|
// 刷新列表
|
||||||
|
await getList()
|
||||||
|
} catch {}
|
||||||
|
}
|
||||||
|
|
||||||
/** 推送按钮操作 */
|
/** 推送按钮操作 */
|
||||||
const handlePush = async (id: number) => {
|
const handlePush = async (id: number) => {
|
||||||
try {
|
try {
|
||||||
|
@ -65,13 +65,23 @@
|
|||||||
>
|
>
|
||||||
<Icon icon="ep:plus" class="mr-5px" />新增
|
<Icon icon="ep:plus" class="mr-5px" />新增
|
||||||
</el-button>
|
</el-button>
|
||||||
|
<el-button
|
||||||
|
type="danger"
|
||||||
|
plain
|
||||||
|
:disabled="checkedIds.length === 0"
|
||||||
|
@click="handleDeleteBatch"
|
||||||
|
v-hasPermi="['system:notify-template:delete']"
|
||||||
|
>
|
||||||
|
<Icon icon="ep:delete" class="mr-5px" />批量删除
|
||||||
|
</el-button>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-form>
|
</el-form>
|
||||||
</ContentWrap>
|
</ContentWrap>
|
||||||
|
|
||||||
<!-- 列表 -->
|
<!-- 列表 -->
|
||||||
<ContentWrap>
|
<ContentWrap>
|
||||||
<el-table v-loading="loading" :data="list">
|
<el-table v-loading="loading" :data="list" @selection-change="handleRowCheckboxChange">
|
||||||
|
<el-table-column type="selection" width="55" />
|
||||||
<el-table-column
|
<el-table-column
|
||||||
label="模板编码"
|
label="模板编码"
|
||||||
align="center"
|
align="center"
|
||||||
@ -165,6 +175,7 @@ import NotifyTemplateSendForm from './NotifyTemplateSendForm.vue'
|
|||||||
defineOptions({ name: 'NotifySmsTemplate' })
|
defineOptions({ name: 'NotifySmsTemplate' })
|
||||||
|
|
||||||
const message = useMessage() // 消息弹窗
|
const message = useMessage() // 消息弹窗
|
||||||
|
const { t } = useI18n() // 国际化
|
||||||
|
|
||||||
const loading = ref(false) // 列表的加载中
|
const loading = ref(false) // 列表的加载中
|
||||||
const total = ref(0) // 列表的总页数
|
const total = ref(0) // 列表的总页数
|
||||||
@ -216,7 +227,25 @@ const handleDelete = async (id: number) => {
|
|||||||
await message.delConfirm()
|
await message.delConfirm()
|
||||||
// 发起删除
|
// 发起删除
|
||||||
await NotifyTemplateApi.deleteNotifyTemplate(id)
|
await NotifyTemplateApi.deleteNotifyTemplate(id)
|
||||||
message.success('删除成功')
|
message.success(t('common.delSuccess'))
|
||||||
|
// 刷新列表
|
||||||
|
await getList()
|
||||||
|
} catch {}
|
||||||
|
}
|
||||||
|
|
||||||
|
/** 批量删除按钮操作 */
|
||||||
|
const checkedIds = ref<number[]>([])
|
||||||
|
const handleRowCheckboxChange = (rows: NotifyTemplateApi.NotifyTemplateVO[]) => {
|
||||||
|
checkedIds.value = rows.map((row) => row.id!)
|
||||||
|
}
|
||||||
|
|
||||||
|
const handleDeleteBatch = async () => {
|
||||||
|
try {
|
||||||
|
// 删除的二次确认
|
||||||
|
await message.delConfirm()
|
||||||
|
// 发起批量删除
|
||||||
|
await NotifyTemplateApi.deleteNotifyTemplateList(checkedIds.value)
|
||||||
|
message.success(t('common.delSuccess'))
|
||||||
// 刷新列表
|
// 刷新列表
|
||||||
await getList()
|
await getList()
|
||||||
} catch {}
|
} catch {}
|
||||||
|
@ -40,13 +40,23 @@
|
|||||||
>
|
>
|
||||||
<Icon icon="ep:plus" class="mr-5px" /> 新增
|
<Icon icon="ep:plus" class="mr-5px" /> 新增
|
||||||
</el-button>
|
</el-button>
|
||||||
|
<el-button
|
||||||
|
plain
|
||||||
|
type="danger"
|
||||||
|
:disabled="checkedIds.length === 0"
|
||||||
|
@click="handleDeleteBatch"
|
||||||
|
v-hasPermi="['system:oauth2-client:delete']"
|
||||||
|
>
|
||||||
|
<Icon icon="ep:delete" class="mr-5px" /> 批量删除
|
||||||
|
</el-button>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-form>
|
</el-form>
|
||||||
</ContentWrap>
|
</ContentWrap>
|
||||||
|
|
||||||
<!-- 列表 -->
|
<!-- 列表 -->
|
||||||
<ContentWrap>
|
<ContentWrap>
|
||||||
<el-table v-loading="loading" :data="list">
|
<el-table v-loading="loading" :data="list" @selection-change="handleRowCheckboxChange">
|
||||||
|
<el-table-column type="selection" width="55" />
|
||||||
<el-table-column label="客户端编号" align="center" prop="clientId" />
|
<el-table-column label="客户端编号" align="center" prop="clientId" />
|
||||||
<el-table-column label="客户端密钥" align="center" prop="secret" />
|
<el-table-column label="客户端密钥" align="center" prop="secret" />
|
||||||
<el-table-column label="应用名" align="center" prop="name" />
|
<el-table-column label="应用名" align="center" prop="name" />
|
||||||
@ -184,6 +194,24 @@ const handleDelete = async (id: number) => {
|
|||||||
} catch {}
|
} catch {}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/** 批量删除按钮操作 */
|
||||||
|
const checkedIds = ref<number[]>([])
|
||||||
|
const handleRowCheckboxChange = (rows: ClientApi.OAuth2ClientVO[]) => {
|
||||||
|
checkedIds.value = rows.map((row) => row.id)
|
||||||
|
}
|
||||||
|
|
||||||
|
const handleDeleteBatch = async () => {
|
||||||
|
try {
|
||||||
|
// 删除的二次确认
|
||||||
|
await message.delConfirm()
|
||||||
|
// 发起批量删除
|
||||||
|
await ClientApi.deleteOAuth2ClientList(checkedIds.value)
|
||||||
|
message.success(t('common.delSuccess'))
|
||||||
|
// 刷新列表
|
||||||
|
await getList()
|
||||||
|
} catch {}
|
||||||
|
}
|
||||||
|
|
||||||
/** 初始化 **/
|
/** 初始化 **/
|
||||||
onMounted(() => {
|
onMounted(() => {
|
||||||
getList()
|
getList()
|
||||||
|
@ -56,13 +56,23 @@
|
|||||||
>
|
>
|
||||||
<Icon icon="ep:download" class="mr-5px" /> 导出
|
<Icon icon="ep:download" class="mr-5px" /> 导出
|
||||||
</el-button>
|
</el-button>
|
||||||
|
<el-button
|
||||||
|
type="danger"
|
||||||
|
plain
|
||||||
|
:disabled="checkedIds.length === 0"
|
||||||
|
@click="handleDeleteBatch"
|
||||||
|
v-hasPermi="['system:post:delete']"
|
||||||
|
>
|
||||||
|
<Icon icon="ep:delete" class="mr-5px" /> 批量删除
|
||||||
|
</el-button>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-form>
|
</el-form>
|
||||||
</ContentWrap>
|
</ContentWrap>
|
||||||
|
|
||||||
<!-- 列表 -->
|
<!-- 列表 -->
|
||||||
<ContentWrap>
|
<ContentWrap>
|
||||||
<el-table v-loading="loading" :data="list">
|
<el-table v-loading="loading" :data="list" @selection-change="handleRowCheckboxChange">
|
||||||
|
<el-table-column type="selection" width="55" />
|
||||||
<el-table-column label="岗位编号" align="center" prop="id" />
|
<el-table-column label="岗位编号" align="center" prop="id" />
|
||||||
<el-table-column label="岗位名称" align="center" prop="name" />
|
<el-table-column label="岗位名称" align="center" prop="name" />
|
||||||
<el-table-column label="岗位编码" align="center" prop="code" />
|
<el-table-column label="岗位编码" align="center" prop="code" />
|
||||||
@ -181,6 +191,24 @@ const handleDelete = async (id: number) => {
|
|||||||
} catch {}
|
} catch {}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/** 批量删除按钮操作 */
|
||||||
|
const checkedIds = ref<number[]>([])
|
||||||
|
const handleRowCheckboxChange = (rows: PostApi.PostVO[]) => {
|
||||||
|
checkedIds.value = rows.map((row) => row.id)
|
||||||
|
}
|
||||||
|
|
||||||
|
const handleDeleteBatch = async () => {
|
||||||
|
try {
|
||||||
|
// 删除的二次确认
|
||||||
|
await message.delConfirm()
|
||||||
|
// 发起批量删除
|
||||||
|
await PostApi.deletePostList(checkedIds.value)
|
||||||
|
message.success(t('common.delSuccess'))
|
||||||
|
// 刷新列表
|
||||||
|
await getList()
|
||||||
|
} catch {}
|
||||||
|
}
|
||||||
|
|
||||||
/** 导出按钮操作 */
|
/** 导出按钮操作 */
|
||||||
const handleExport = async () => {
|
const handleExport = async () => {
|
||||||
try {
|
try {
|
||||||
|
@ -78,13 +78,24 @@
|
|||||||
<Icon class="mr-5px" icon="ep:download" />
|
<Icon class="mr-5px" icon="ep:download" />
|
||||||
导出
|
导出
|
||||||
</el-button>
|
</el-button>
|
||||||
|
<el-button
|
||||||
|
v-hasPermi="['system:role:delete']"
|
||||||
|
:disabled="checkedIds.length === 0"
|
||||||
|
plain
|
||||||
|
type="danger"
|
||||||
|
@click="handleDeleteBatch"
|
||||||
|
>
|
||||||
|
<Icon class="mr-5px" icon="ep:delete" />
|
||||||
|
批量删除
|
||||||
|
</el-button>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-form>
|
</el-form>
|
||||||
</ContentWrap>
|
</ContentWrap>
|
||||||
|
|
||||||
<!-- 列表 -->
|
<!-- 列表 -->
|
||||||
<ContentWrap>
|
<ContentWrap>
|
||||||
<el-table v-loading="loading" :data="list">
|
<el-table v-loading="loading" :data="list" @selection-change="handleRowCheckboxChange">
|
||||||
|
<el-table-column type="selection" width="55" />
|
||||||
<el-table-column align="center" label="角色编号" prop="id" />
|
<el-table-column align="center" label="角色编号" prop="id" />
|
||||||
<el-table-column align="center" label="角色名称" prop="name" />
|
<el-table-column align="center" label="角色名称" prop="name" />
|
||||||
<el-table-column label="角色类型" align="center" prop="type">
|
<el-table-column label="角色类型" align="center" prop="type">
|
||||||
@ -247,6 +258,24 @@ const handleDelete = async (id: number) => {
|
|||||||
} catch {}
|
} catch {}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/** 批量删除按钮操作 */
|
||||||
|
const checkedIds = ref<number[]>([])
|
||||||
|
const handleRowCheckboxChange = (rows: RoleApi.RoleVO[]) => {
|
||||||
|
checkedIds.value = rows.map((row) => row.id)
|
||||||
|
}
|
||||||
|
|
||||||
|
const handleDeleteBatch = async () => {
|
||||||
|
try {
|
||||||
|
// 删除的二次确认
|
||||||
|
await message.delConfirm()
|
||||||
|
// 发起批量删除
|
||||||
|
await RoleApi.deleteRoleList(checkedIds.value)
|
||||||
|
message.success(t('common.delSuccess'))
|
||||||
|
// 刷新列表
|
||||||
|
await getList()
|
||||||
|
} catch {}
|
||||||
|
}
|
||||||
|
|
||||||
/** 导出按钮操作 */
|
/** 导出按钮操作 */
|
||||||
const handleExport = async () => {
|
const handleExport = async () => {
|
||||||
try {
|
try {
|
||||||
@ -255,14 +284,14 @@ const handleExport = async () => {
|
|||||||
// 发起导出
|
// 发起导出
|
||||||
exportLoading.value = true
|
exportLoading.value = true
|
||||||
const data = await RoleApi.exportRole(queryParams)
|
const data = await RoleApi.exportRole(queryParams)
|
||||||
download.excel(data, '角色列表.xls')
|
download.excel(data, '角色数据.xls')
|
||||||
} catch {
|
} catch {
|
||||||
} finally {
|
} finally {
|
||||||
exportLoading.value = false
|
exportLoading.value = false
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/** 初始化 **/
|
/** 初始化 */
|
||||||
onMounted(() => {
|
onMounted(() => {
|
||||||
getList()
|
getList()
|
||||||
})
|
})
|
||||||
|
@ -55,13 +55,23 @@
|
|||||||
>
|
>
|
||||||
<Icon icon="ep:plus" class="mr-5px" /> 新增</el-button
|
<Icon icon="ep:plus" class="mr-5px" /> 新增</el-button
|
||||||
>
|
>
|
||||||
|
<el-button
|
||||||
|
type="danger"
|
||||||
|
plain
|
||||||
|
:disabled="checkedIds.length === 0"
|
||||||
|
@click="handleDeleteBatch"
|
||||||
|
v-hasPermi="['system:sms-channel:delete']"
|
||||||
|
>
|
||||||
|
<Icon icon="ep:delete" class="mr-5px" /> 批量删除</el-button
|
||||||
|
>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-form>
|
</el-form>
|
||||||
</ContentWrap>
|
</ContentWrap>
|
||||||
|
|
||||||
<!-- 列表 -->
|
<!-- 列表 -->
|
||||||
<ContentWrap>
|
<ContentWrap>
|
||||||
<el-table v-loading="loading" :data="list">
|
<el-table v-loading="loading" :data="list" @selection-change="handleRowCheckboxChange">
|
||||||
|
<el-table-column type="selection" width="55" />
|
||||||
<el-table-column label="编号" align="center" prop="id" />
|
<el-table-column label="编号" align="center" prop="id" />
|
||||||
<el-table-column label="短信签名" align="center" prop="signature" />
|
<el-table-column label="短信签名" align="center" prop="signature" />
|
||||||
<el-table-column label="渠道编码" align="center" prop="code">
|
<el-table-column label="渠道编码" align="center" prop="code">
|
||||||
@ -202,6 +212,24 @@ const handleDelete = async (id: number) => {
|
|||||||
} catch {}
|
} catch {}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/** 批量删除按钮操作 */
|
||||||
|
const checkedIds = ref<number[]>([])
|
||||||
|
const handleRowCheckboxChange = (rows: SmsChannelApi.SmsChannelVO[]) => {
|
||||||
|
checkedIds.value = rows.map((row) => row.id)
|
||||||
|
}
|
||||||
|
|
||||||
|
const handleDeleteBatch = async () => {
|
||||||
|
try {
|
||||||
|
// 删除的二次确认
|
||||||
|
await message.delConfirm()
|
||||||
|
// 发起批量删除
|
||||||
|
await SmsChannelApi.deleteSmsChannelList(checkedIds.value)
|
||||||
|
message.success(t('common.delSuccess'))
|
||||||
|
// 刷新列表
|
||||||
|
await getList()
|
||||||
|
} catch {}
|
||||||
|
}
|
||||||
|
|
||||||
/** 初始化 **/
|
/** 初始化 **/
|
||||||
onMounted(() => {
|
onMounted(() => {
|
||||||
getList()
|
getList()
|
||||||
|
@ -98,6 +98,15 @@
|
|||||||
>
|
>
|
||||||
<Icon icon="ep:plus" class="mr-5px" />新增
|
<Icon icon="ep:plus" class="mr-5px" />新增
|
||||||
</el-button>
|
</el-button>
|
||||||
|
<el-button
|
||||||
|
type="danger"
|
||||||
|
plain
|
||||||
|
:disabled="checkedIds.length === 0"
|
||||||
|
@click="handleDeleteBatch"
|
||||||
|
v-hasPermi="['system:sms-template:delete']"
|
||||||
|
>
|
||||||
|
<Icon icon="ep:delete" class="mr-5px" />批量删除
|
||||||
|
</el-button>
|
||||||
<el-button
|
<el-button
|
||||||
type="success"
|
type="success"
|
||||||
plain
|
plain
|
||||||
@ -113,7 +122,8 @@
|
|||||||
|
|
||||||
<!-- 列表 -->
|
<!-- 列表 -->
|
||||||
<ContentWrap>
|
<ContentWrap>
|
||||||
<el-table v-loading="loading" :data="list">
|
<el-table v-loading="loading" :data="list" @selection-change="handleRowCheckboxChange">
|
||||||
|
<el-table-column type="selection" width="55" />
|
||||||
<el-table-column
|
<el-table-column
|
||||||
label="模板编码"
|
label="模板编码"
|
||||||
align="center"
|
align="center"
|
||||||
@ -292,6 +302,24 @@ const handleDelete = async (id: number) => {
|
|||||||
} catch {}
|
} catch {}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/** 批量删除按钮操作 */
|
||||||
|
const checkedIds = ref<number[]>([])
|
||||||
|
const handleRowCheckboxChange = (rows: SmsTemplateApi.SmsTemplateVO[]) => {
|
||||||
|
checkedIds.value = rows.map((row) => row.id!)
|
||||||
|
}
|
||||||
|
|
||||||
|
const handleDeleteBatch = async () => {
|
||||||
|
try {
|
||||||
|
// 删除的二次确认
|
||||||
|
await message.delConfirm()
|
||||||
|
// 发起批量删除
|
||||||
|
await SmsTemplateApi.deleteSmsTemplateList(checkedIds.value)
|
||||||
|
message.success(t('common.delSuccess'))
|
||||||
|
// 刷新列表
|
||||||
|
await getList()
|
||||||
|
} catch {}
|
||||||
|
}
|
||||||
|
|
||||||
/** 导出按钮操作 */
|
/** 导出按钮操作 */
|
||||||
const handleExport = async () => {
|
const handleExport = async () => {
|
||||||
try {
|
try {
|
||||||
|
@ -92,13 +92,24 @@
|
|||||||
<Icon icon="ep:download" class="mr-5px" />
|
<Icon icon="ep:download" class="mr-5px" />
|
||||||
导出
|
导出
|
||||||
</el-button>
|
</el-button>
|
||||||
|
<el-button
|
||||||
|
type="danger"
|
||||||
|
plain
|
||||||
|
:disabled="checkedIds.length === 0"
|
||||||
|
@click="handleDeleteBatch"
|
||||||
|
v-hasPermi="['system:tenant:delete']"
|
||||||
|
>
|
||||||
|
<Icon icon="ep:delete" class="mr-5px" />
|
||||||
|
批量删除
|
||||||
|
</el-button>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-form>
|
</el-form>
|
||||||
</ContentWrap>
|
</ContentWrap>
|
||||||
|
|
||||||
<!-- 列表 -->
|
<!-- 列表 -->
|
||||||
<ContentWrap>
|
<ContentWrap>
|
||||||
<el-table v-loading="loading" :data="list">
|
<el-table v-loading="loading" :data="list" @selection-change="handleRowCheckboxChange">
|
||||||
|
<el-table-column type="selection" width="55" />
|
||||||
<el-table-column label="租户编号" align="center" prop="id" />
|
<el-table-column label="租户编号" align="center" prop="id" />
|
||||||
<el-table-column label="租户名" align="center" prop="name" />
|
<el-table-column label="租户名" align="center" prop="name" />
|
||||||
<el-table-column label="租户套餐" align="center" prop="packageId">
|
<el-table-column label="租户套餐" align="center" prop="packageId">
|
||||||
@ -243,6 +254,24 @@ const handleDelete = async (id: number) => {
|
|||||||
} catch {}
|
} catch {}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/** 批量删除按钮操作 */
|
||||||
|
const checkedIds = ref<number[]>([])
|
||||||
|
const handleRowCheckboxChange = (rows: TenantApi.TenantVO[]) => {
|
||||||
|
checkedIds.value = rows.map((row) => row.id)
|
||||||
|
}
|
||||||
|
|
||||||
|
const handleDeleteBatch = async () => {
|
||||||
|
try {
|
||||||
|
// 删除的二次确认
|
||||||
|
await message.delConfirm()
|
||||||
|
// 发起批量删除
|
||||||
|
await TenantApi.deleteTenantList(checkedIds.value)
|
||||||
|
message.success(t('common.delSuccess'))
|
||||||
|
// 刷新列表
|
||||||
|
await getList()
|
||||||
|
} catch {}
|
||||||
|
}
|
||||||
|
|
||||||
/** 导出按钮操作 */
|
/** 导出按钮操作 */
|
||||||
const handleExport = async () => {
|
const handleExport = async () => {
|
||||||
try {
|
try {
|
||||||
@ -261,6 +290,7 @@ const handleExport = async () => {
|
|||||||
/** 初始化 **/
|
/** 初始化 **/
|
||||||
onMounted(async () => {
|
onMounted(async () => {
|
||||||
await getList()
|
await getList()
|
||||||
|
// 获取租户套餐列表
|
||||||
packageList.value = await TenantPackageApi.getTenantPackageList()
|
packageList.value = await TenantPackageApi.getTenantPackageList()
|
||||||
})
|
})
|
||||||
</script>
|
</script>
|
||||||
|
@ -51,13 +51,24 @@
|
|||||||
<Icon icon="ep:plus" class="mr-5px" />
|
<Icon icon="ep:plus" class="mr-5px" />
|
||||||
新增
|
新增
|
||||||
</el-button>
|
</el-button>
|
||||||
|
<el-button
|
||||||
|
type="danger"
|
||||||
|
plain
|
||||||
|
:disabled="checkedIds.length === 0"
|
||||||
|
@click="handleDeleteBatch"
|
||||||
|
v-hasPermi="['system:tenant-package:delete']"
|
||||||
|
>
|
||||||
|
<Icon icon="ep:delete" class="mr-5px" />
|
||||||
|
批量删除
|
||||||
|
</el-button>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-form>
|
</el-form>
|
||||||
</ContentWrap>
|
</ContentWrap>
|
||||||
|
|
||||||
<!-- 列表 -->
|
<!-- 列表 -->
|
||||||
<ContentWrap>
|
<ContentWrap>
|
||||||
<el-table v-loading="loading" :data="list">
|
<el-table v-loading="loading" :data="list" @selection-change="handleRowCheckboxChange">
|
||||||
|
<el-table-column type="selection" width="55" />
|
||||||
<el-table-column label="套餐编号" align="center" prop="id" width="120" />
|
<el-table-column label="套餐编号" align="center" prop="id" width="120" />
|
||||||
<el-table-column label="套餐名" align="center" prop="name" />
|
<el-table-column label="套餐名" align="center" prop="name" />
|
||||||
<el-table-column label="状态" align="center" prop="status" width="100">
|
<el-table-column label="状态" align="center" prop="status" width="100">
|
||||||
@ -173,6 +184,24 @@ const handleDelete = async (id: number) => {
|
|||||||
} catch {}
|
} catch {}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/** 批量删除按钮操作 */
|
||||||
|
const checkedIds = ref<number[]>([])
|
||||||
|
const handleRowCheckboxChange = (rows: TenantPackageApi.TenantPackageVO[]) => {
|
||||||
|
checkedIds.value = rows.map((row) => row.id)
|
||||||
|
}
|
||||||
|
|
||||||
|
const handleDeleteBatch = async () => {
|
||||||
|
try {
|
||||||
|
// 删除的二次确认
|
||||||
|
await message.delConfirm()
|
||||||
|
// 发起批量删除
|
||||||
|
await TenantPackageApi.deleteTenantPackageList(checkedIds.value)
|
||||||
|
message.success(t('common.delSuccess'))
|
||||||
|
// 刷新列表
|
||||||
|
await getList()
|
||||||
|
} catch {}
|
||||||
|
}
|
||||||
|
|
||||||
/** 初始化 **/
|
/** 初始化 **/
|
||||||
onMounted(() => {
|
onMounted(() => {
|
||||||
getList()
|
getList()
|
||||||
|
@ -91,11 +91,21 @@
|
|||||||
>
|
>
|
||||||
<Icon icon="ep:download" />导出
|
<Icon icon="ep:download" />导出
|
||||||
</el-button>
|
</el-button>
|
||||||
|
<el-button
|
||||||
|
type="danger"
|
||||||
|
plain
|
||||||
|
:disabled="checkedIds.length === 0"
|
||||||
|
@click="handleDeleteBatch"
|
||||||
|
v-hasPermi="['system:user:delete']"
|
||||||
|
>
|
||||||
|
<Icon icon="ep:delete" />批量删除
|
||||||
|
</el-button>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-form>
|
</el-form>
|
||||||
</ContentWrap>
|
</ContentWrap>
|
||||||
<ContentWrap>
|
<ContentWrap>
|
||||||
<el-table v-loading="loading" :data="list">
|
<el-table v-loading="loading" :data="list" @selection-change="handleRowCheckboxChange">
|
||||||
|
<el-table-column type="selection" width="55" />
|
||||||
<el-table-column label="用户编号" align="center" key="id" prop="id" />
|
<el-table-column label="用户编号" align="center" key="id" prop="id" />
|
||||||
<el-table-column
|
<el-table-column
|
||||||
label="用户名称"
|
label="用户名称"
|
||||||
@ -335,6 +345,24 @@ const handleDelete = async (id: number) => {
|
|||||||
} catch {}
|
} catch {}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/** 批量删除按钮操作 */
|
||||||
|
const checkedIds = ref<number[]>([])
|
||||||
|
const handleRowCheckboxChange = (rows: UserApi.UserVO[]) => {
|
||||||
|
checkedIds.value = rows.map((row) => row.id)
|
||||||
|
}
|
||||||
|
|
||||||
|
const handleDeleteBatch = async () => {
|
||||||
|
try {
|
||||||
|
// 删除的二次确认
|
||||||
|
await message.delConfirm()
|
||||||
|
// 发起批量删除
|
||||||
|
await UserApi.deleteUserList(checkedIds.value)
|
||||||
|
message.success(t('common.delSuccess'))
|
||||||
|
// 刷新列表
|
||||||
|
await getList()
|
||||||
|
} catch {}
|
||||||
|
}
|
||||||
|
|
||||||
/** 重置密码 */
|
/** 重置密码 */
|
||||||
const handleResetPwd = async (row: UserApi.UserVO) => {
|
const handleResetPwd = async (row: UserApi.UserVO) => {
|
||||||
try {
|
try {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user