Skip to content
Toggle navigation
P
Projects
G
Groups
S
Snippets
Help
phsl
/
admin
This project
Loading...
Sign in
Toggle navigation
Go to a project
Project
Repository
Issues
0
Merge Requests
0
Pipelines
Wiki
Snippets
Members
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Unverified
Commit
130a8391
authored
Jun 16, 2025
by
芋道源码
Committed by
Gitee
Jun 16, 2025
Browse files
Options
Browse Files
Download
Plain Diff
!783 feat: system、infra 新增批量删除
Merge pull request !783 from puhui999/master
parents
35197474
bf371885
Show whitespace changes
Inline
Side-by-side
Showing
42 changed files
with
748 additions
and
42 deletions
+748
-42
src/api/infra/codegen/index.ts
+5
-0
src/api/infra/config/index.ts
+5
-0
src/api/infra/dataSourceConfig/index.ts
+5
-0
src/api/infra/file/index.ts
+5
-0
src/api/infra/fileConfig/index.ts
+5
-0
src/api/infra/job/index.ts
+5
-0
src/api/system/dept/index.ts
+19
-9
src/api/system/dict/dict.data.ts
+15
-5
src/api/system/dict/dict.type.ts
+15
-6
src/api/system/mail/account/index.ts
+5
-0
src/api/system/mail/template/index.ts
+5
-0
src/api/system/notice/index.ts
+5
-0
src/api/system/notify/template/index.ts
+5
-0
src/api/system/oauth2/client.ts
+5
-0
src/api/system/post/index.ts
+6
-1
src/api/system/role/index.ts
+5
-0
src/api/system/sms/smsChannel/index.ts
+5
-0
src/api/system/sms/smsTemplate/index.ts
+5
-0
src/api/system/tenant/index.ts
+5
-0
src/api/system/tenantPackage/index.ts
+6
-0
src/api/system/user/index.ts
+5
-0
src/views/infra/codegen/index.vue
+29
-1
src/views/infra/config/index.vue
+29
-1
src/views/infra/dataSourceConfig/index.vue
+30
-1
src/views/infra/file/index.vue
+29
-1
src/views/infra/fileConfig/index.vue
+29
-1
src/views/infra/job/index.vue
+29
-1
src/views/system/dept/index.vue
+29
-0
src/views/system/dict/data/index.vue
+29
-1
src/views/system/dict/index.vue
+30
-1
src/views/system/mail/account/index.vue
+23
-0
src/views/system/mail/template/index.vue
+23
-0
src/views/system/notice/index.vue
+29
-1
src/views/system/notify/template/index.vue
+31
-2
src/views/system/oauth2/client/index.vue
+29
-1
src/views/system/post/index.vue
+29
-1
src/views/system/role/index.vue
+32
-3
src/views/system/sms/channel/index.vue
+29
-1
src/views/system/sms/template/index.vue
+29
-1
src/views/system/tenant/index.vue
+31
-1
src/views/system/tenantPackage/index.vue
+30
-1
src/views/system/user/index.vue
+29
-1
No files found.
src/api/infra/codegen/index.ts
View file @
130a8391
...
@@ -105,3 +105,8 @@ export const createCodegenList = (data) => {
...
@@ -105,3 +105,8 @@ export const createCodegenList = (data) => {
export
const
deleteCodegenTable
=
(
id
:
number
)
=>
{
export
const
deleteCodegenTable
=
(
id
:
number
)
=>
{
return
request
.
delete
({
url
:
'/infra/codegen/delete?tableId='
+
id
})
return
request
.
delete
({
url
:
'/infra/codegen/delete?tableId='
+
id
})
}
}
// 批量删除代码生成表定义
export
const
deleteCodegenTableList
=
(
ids
:
number
[])
=>
{
return
request
.
delete
({
url
:
'/infra/codegen/delete-list'
,
params
:
{
tableIds
:
ids
.
join
(
','
)
}
})
}
src/api/infra/config/index.ts
View file @
130a8391
...
@@ -42,6 +42,11 @@ export const deleteConfig = (id: number) => {
...
@@ -42,6 +42,11 @@ export const deleteConfig = (id: number) => {
return
request
.
delete
({
url
:
'/infra/config/delete?id='
+
id
})
return
request
.
delete
({
url
:
'/infra/config/delete?id='
+
id
})
}
}
// 批量删除参数
export
const
deleteConfigList
=
(
ids
:
number
[])
=>
{
return
request
.
delete
({
url
:
'/infra/config/delete-list'
,
params
:
{
ids
:
ids
.
join
(
','
)
}
})
}
// 导出参数
// 导出参数
export
const
exportConfig
=
(
params
)
=>
{
export
const
exportConfig
=
(
params
)
=>
{
return
request
.
download
({
url
:
'/infra/config/export'
,
params
})
return
request
.
download
({
url
:
'/infra/config/export'
,
params
})
...
...
src/api/infra/dataSourceConfig/index.ts
View file @
130a8391
...
@@ -24,6 +24,11 @@ export const deleteDataSourceConfig = (id: number) => {
...
@@ -24,6 +24,11 @@ export const deleteDataSourceConfig = (id: number) => {
return
request
.
delete
({
url
:
'/infra/data-source-config/delete?id='
+
id
})
return
request
.
delete
({
url
:
'/infra/data-source-config/delete?id='
+
id
})
}
}
// 批量删除数据源配置
export
const
deleteDataSourceConfigList
=
(
ids
:
number
[])
=>
{
return
request
.
delete
({
url
:
'/infra/data-source-config/delete-list'
,
params
:
{
ids
:
ids
.
join
(
','
)
}
})
}
// 查询数据源配置详情
// 查询数据源配置详情
export
const
getDataSourceConfig
=
(
id
:
number
)
=>
{
export
const
getDataSourceConfig
=
(
id
:
number
)
=>
{
return
request
.
get
({
url
:
'/infra/data-source-config/get?id='
+
id
})
return
request
.
get
({
url
:
'/infra/data-source-config/get?id='
+
id
})
...
...
src/api/infra/file/index.ts
View file @
130a8391
...
@@ -22,6 +22,11 @@ export const deleteFile = (id: number) => {
...
@@ -22,6 +22,11 @@ export const deleteFile = (id: number) => {
return
request
.
delete
({
url
:
'/infra/file/delete?id='
+
id
})
return
request
.
delete
({
url
:
'/infra/file/delete?id='
+
id
})
}
}
// 批量删除文件
export
const
deleteFileList
=
(
ids
:
number
[])
=>
{
return
request
.
delete
({
url
:
'/infra/file/delete-list'
,
params
:
{
ids
:
ids
.
join
(
','
)
}
})
}
// 获取文件预签名地址
// 获取文件预签名地址
export
const
getFilePresignedUrl
=
(
name
:
string
,
directory
?:
string
)
=>
{
export
const
getFilePresignedUrl
=
(
name
:
string
,
directory
?:
string
)
=>
{
return
request
.
get
<
FilePresignedUrlRespVO
>
({
return
request
.
get
<
FilePresignedUrlRespVO
>
({
...
...
src/api/infra/fileConfig/index.ts
View file @
130a8391
...
@@ -56,6 +56,11 @@ export const deleteFileConfig = (id: number) => {
...
@@ -56,6 +56,11 @@ export const deleteFileConfig = (id: number) => {
return
request
.
delete
({
url
:
'/infra/file-config/delete?id='
+
id
})
return
request
.
delete
({
url
:
'/infra/file-config/delete?id='
+
id
})
}
}
// 批量删除文件配置
export
const
deleteFileConfigList
=
(
ids
:
number
[])
=>
{
return
request
.
delete
({
url
:
'/infra/file-config/delete-list'
,
params
:
{
ids
:
ids
.
join
(
','
)
}
})
}
// 测试文件配置
// 测试文件配置
export
const
testFileConfig
=
(
id
:
number
)
=>
{
export
const
testFileConfig
=
(
id
:
number
)
=>
{
return
request
.
get
({
url
:
'/infra/file-config/test?id='
+
id
})
return
request
.
get
({
url
:
'/infra/file-config/test?id='
+
id
})
...
...
src/api/infra/job/index.ts
View file @
130a8391
...
@@ -38,6 +38,11 @@ export const deleteJob = (id: number) => {
...
@@ -38,6 +38,11 @@ export const deleteJob = (id: number) => {
return
request
.
delete
({
url
:
'/infra/job/delete?id='
+
id
})
return
request
.
delete
({
url
:
'/infra/job/delete?id='
+
id
})
}
}
// 批量删除定时任务调度
export
const
deleteJobList
=
(
ids
:
number
[])
=>
{
return
request
.
delete
({
url
:
'/infra/job/delete-list'
,
params
:
{
ids
:
ids
.
join
(
','
)
}
})
}
// 导出定时任务调度
// 导出定时任务调度
export
const
exportJob
=
(
params
)
=>
{
export
const
exportJob
=
(
params
)
=>
{
return
request
.
download
({
url
:
'/infra/job/export-excel'
,
params
})
return
request
.
download
({
url
:
'/infra/job/export-excel'
,
params
})
...
...
src/api/system/dept/index.ts
View file @
130a8391
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 {
...
@@ -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
(
','
)
}
})
}
src/api/system/dict/dict.data.ts
View file @
130a8391
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) => {
...
@@ -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) => {
...
@@ -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
deleteDictDataList
=
(
ids
:
number
[])
=>
{
return
request
.
delete
({
url
:
'/system/dict-data/delete-list'
,
params
:
{
ids
:
ids
.
join
(
','
)
}
})
}
// 导出字典数据
export
const
exportDictData
=
(
params
)
=>
{
export
const
exportDictData
=
(
params
)
=>
{
return
request
.
download
({
url
:
'/system/dict-data/export'
,
params
})
return
request
.
download
({
url
:
'/system/dict-data/export
-excel
'
,
params
})
}
}
src/api/system/dict/dict.type.ts
View file @
130a8391
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 = {
...
@@ -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) => {
...
@@ -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
deleteDictTypeList
=
(
ids
:
number
[])
=>
{
return
request
.
delete
({
url
:
'/system/dict-type/delete-list'
,
params
:
{
ids
:
ids
.
join
(
','
)
}
})
}
// 导出字典
export
const
exportDictType
=
(
params
)
=>
{
export
const
exportDictType
=
(
params
)
=>
{
return
request
.
download
({
url
:
'/system/dict-type/export'
,
params
})
return
request
.
download
({
url
:
'/system/dict-type/export-excel'
,
params
})
}
}
src/api/system/mail/account/index.ts
View file @
130a8391
...
@@ -36,6 +36,11 @@ export const deleteMailAccount = async (id: number) => {
...
@@ -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'
})
...
...
src/api/system/mail/template/index.ts
View file @
130a8391
...
@@ -44,6 +44,11 @@ export const deleteMailTemplate = async (id: number) => {
...
@@ -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
})
...
...
src/api/system/notice/index.ts
View file @
130a8391
...
@@ -36,6 +36,11 @@ export const deleteNotice = (id: number) => {
...
@@ -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
})
...
...
src/api/system/notify/template/index.ts
View file @
130a8391
...
@@ -43,6 +43,11 @@ export const deleteNotifyTemplate = async (id: number) => {
...
@@ -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
})
...
...
src/api/system/oauth2/client.ts
View file @
130a8391
...
@@ -45,3 +45,8 @@ export const updateOAuth2Client = (data: OAuth2ClientVO) => {
...
@@ -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
(
','
)
}
})
}
src/api/system/post/index.ts
View file @
130a8391
...
@@ -40,7 +40,12 @@ export const deletePost = async (id: number) => {
...
@@ -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
})
}
}
src/api/system/role/index.ts
View file @
130a8391
...
@@ -52,6 +52,11 @@ export const deleteRole = async (id: number) => {
...
@@ -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
({
...
...
src/api/system/sms/smsChannel/index.ts
View file @
130a8391
...
@@ -41,3 +41,8 @@ export const updateSmsChannel = (data: SmsChannelVO) => {
...
@@ -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
(
','
)
}
})
}
src/api/system/sms/smsTemplate/index.ts
View file @
130a8391
...
@@ -46,6 +46,11 @@ export const deleteSmsTemplate = (id: number) => {
...
@@ -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
({
...
...
src/api/system/tenant/index.ts
View file @
130a8391
...
@@ -61,6 +61,11 @@ export const deleteTenant = (id: number) => {
...
@@ -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
})
...
...
src/api/system/tenantPackage/index.ts
View file @
130a8391
...
@@ -36,6 +36,12 @@ export const updateTenantPackage = (data: TenantPackageVO) => {
...
@@ -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'
})
...
...
src/api/system/user/index.ts
View file @
130a8391
...
@@ -42,6 +42,11 @@ export const deleteUser = (id: number) => {
...
@@ -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
})
...
...
src/views/infra/codegen/index.vue
View file @
130a8391
...
@@ -55,13 +55,23 @@
...
@@ -55,13 +55,23 @@
<Icon
class=
"mr-5px"
icon=
"ep:zoom-in"
/>
<Icon
class=
"mr-5px"
icon=
"ep:zoom-in"
/>
导入
导入
</el-button>
</el-button>
<el-button
v-hasPermi=
"['infra:codegen:delete']"
type=
"danger"
:disabled=
"checkedIds.length === 0"
@
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=
"数据源"
>
<el-table-column
align=
"center"
label=
"数据源"
>
<template
#
default=
"scope"
>
<template
#
default=
"scope"
>
{{
{{
...
@@ -232,6 +242,24 @@ const handleDelete = async (id: number) => {
...
@@ -232,6 +242,24 @@ const handleDelete = async (id: number) => {
}
catch
{}
}
catch
{}
}
}
/** 批量删除操作 */
const
checkedIds
=
ref
<
number
[]
>
([])
const
handleRowCheckboxChange
=
(
rows
:
CodegenApi
.
CodegenTableVO
[])
=>
{
checkedIds
.
value
=
rows
.
map
((
row
)
=>
row
.
id
)
}
const
handleDeleteBatch
=
async
()
=>
{
try
{
// 删除的二次确认
await
message
.
delConfirm
()
// 发起批量删除
await
CodegenApi
.
deleteCodegenTableList
(
checkedIds
.
value
)
message
.
success
(
t
(
'common.delSuccess'
))
// 刷新列表
await
getList
()
}
catch
{}
}
/** 同步操作 */
/** 同步操作 */
const
handleSyncDB
=
async
(
row
:
CodegenApi
.
CodegenTableVO
)
=>
{
const
handleSyncDB
=
async
(
row
:
CodegenApi
.
CodegenTableVO
)
=>
{
// 基于 DB 同步
// 基于 DB 同步
...
...
src/views/infra/config/index.vue
View file @
130a8391
...
@@ -66,6 +66,15 @@
...
@@ -66,6 +66,15 @@
<Icon
icon=
"ep:plus"
class=
"mr-5px"
/>
新增
<Icon
icon=
"ep:plus"
class=
"mr-5px"
/>
新增
</el-button>
</el-button>
<el-button
<el-button
type=
"danger"
plain
:disabled=
"checkedIds.length === 0"
@
click=
"handleDeleteBatch"
v-hasPermi=
"['infra:config:delete']"
>
<Icon
icon=
"ep:delete"
class=
"mr-5px"
/>
批量删除
</el-button>
<el-button
type=
"success"
type=
"success"
plain
plain
@
click=
"handleExport"
@
click=
"handleExport"
...
@@ -80,7 +89,8 @@
...
@@ -80,7 +89,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
label=
"参数主键"
align=
"center"
prop=
"id"
/>
<el-table-column
label=
"参数主键"
align=
"center"
prop=
"id"
/>
<el-table-column
label=
"参数分类"
align=
"center"
prop=
"category"
/>
<el-table-column
label=
"参数分类"
align=
"center"
prop=
"category"
/>
<el-table-column
label=
"参数名称"
align=
"center"
prop=
"name"
:show-overflow-tooltip=
"true"
/>
<el-table-column
label=
"参数名称"
align=
"center"
prop=
"name"
:show-overflow-tooltip=
"true"
/>
...
@@ -206,6 +216,24 @@ const handleDelete = async (id: number) => {
...
@@ -206,6 +216,24 @@ const handleDelete = async (id: number) => {
}
catch
{}
}
catch
{}
}
}
/** 批量删除按钮操作 */
const
checkedIds
=
ref
<
number
[]
>
([])
const
handleRowCheckboxChange
=
(
rows
:
ConfigApi
.
ConfigVO
[])
=>
{
checkedIds
.
value
=
rows
.
map
((
row
)
=>
row
.
id
!
).
filter
(
Boolean
)
}
const
handleDeleteBatch
=
async
()
=>
{
try
{
// 删除的二次确认
await
message
.
delConfirm
()
// 发起批量删除
await
ConfigApi
.
deleteConfigList
(
checkedIds
.
value
)
message
.
success
(
t
(
'common.delSuccess'
))
// 刷新列表
await
getList
()
}
catch
{}
}
/** 导出按钮操作 */
/** 导出按钮操作 */
const
handleExport
=
async
()
=>
{
const
handleExport
=
async
()
=>
{
try
{
try
{
...
...
src/views/infra/dataSourceConfig/index.vue
View file @
130a8391
...
@@ -11,13 +11,23 @@
...
@@ -11,13 +11,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=
"['infra:data-source-config: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=
"url"
:show-overflow-tooltip=
"true"
/>
<el-table-column
label=
"数据源连接"
align=
"center"
prop=
"url"
:show-overflow-tooltip=
"true"
/>
...
@@ -99,6 +109,25 @@ const handleDelete = async (id: number) => {
...
@@ -99,6 +109,25 @@ const handleDelete = async (id: number) => {
}
catch
{}
}
catch
{}
}
}
/** 批量删除按钮操作 */
const
checkedIds
=
ref
<
number
[]
>
([])
const
handleRowCheckboxChange
=
(
rows
:
DataSourceConfigApi
.
DataSourceConfigVO
[])
=>
{
// 过滤掉id为0的主数据源
checkedIds
.
value
=
rows
.
map
((
row
)
=>
row
.
id
!
).
filter
((
id
)
=>
id
!==
0
&&
Boolean
(
id
))
}
const
handleDeleteBatch
=
async
()
=>
{
try
{
// 删除的二次确认
await
message
.
delConfirm
()
// 发起批量删除
await
DataSourceConfigApi
.
deleteDataSourceConfigList
(
checkedIds
.
value
)
message
.
success
(
t
(
'common.delSuccess'
))
// 刷新列表
await
getList
()
}
catch
{}
}
/** 初始化 **/
/** 初始化 **/
onMounted
(()
=>
{
onMounted
(()
=>
{
getList
()
getList
()
...
...
src/views/infra/file/index.vue
View file @
130a8391
...
@@ -44,13 +44,23 @@
...
@@ -44,13 +44,23 @@
<el-button
type=
"primary"
plain
@
click=
"openForm"
>
<el-button
type=
"primary"
plain
@
click=
"openForm"
>
<Icon
icon=
"ep:upload"
class=
"mr-5px"
/>
上传文件
<Icon
icon=
"ep:upload"
class=
"mr-5px"
/>
上传文件
</el-button>
</el-button>
<el-button
type=
"danger"
plain
:disabled=
"checkedIds.length === 0"
@
click=
"handleDeleteBatch"
v-hasPermi=
"['infra:file: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=
"name"
:show-overflow-tooltip=
"true"
/>
<el-table-column
label=
"文件名"
align=
"center"
prop=
"name"
:show-overflow-tooltip=
"true"
/>
<el-table-column
label=
"文件路径"
align=
"center"
prop=
"path"
:show-overflow-tooltip=
"true"
/>
<el-table-column
label=
"文件路径"
align=
"center"
prop=
"path"
:show-overflow-tooltip=
"true"
/>
<el-table-column
label=
"URL"
align=
"center"
prop=
"url"
:show-overflow-tooltip=
"true"
/>
<el-table-column
label=
"URL"
align=
"center"
prop=
"url"
:show-overflow-tooltip=
"true"
/>
...
@@ -195,6 +205,24 @@ const handleDelete = async (id: number) => {
...
@@ -195,6 +205,24 @@ const handleDelete = async (id: number) => {
}
catch
{}
}
catch
{}
}
}
/** 批量删除按钮操作 */
const
checkedIds
=
ref
<
number
[]
>
([])
const
handleRowCheckboxChange
=
(
rows
)
=>
{
checkedIds
.
value
=
rows
.
map
((
row
)
=>
row
.
id
)
}
const
handleDeleteBatch
=
async
()
=>
{
try
{
// 删除的二次确认
await
message
.
delConfirm
()
// 发起批量删除
await
FileApi
.
deleteFileList
(
checkedIds
.
value
)
message
.
success
(
t
(
'common.delSuccess'
))
// 刷新列表
await
getList
()
}
catch
{}
}
/** 初始化 **/
/** 初始化 **/
onMounted
(()
=>
{
onMounted
(()
=>
{
getList
()
getList
()
...
...
src/views/infra/fileConfig/index.vue
View file @
130a8391
...
@@ -56,13 +56,23 @@
...
@@ -56,13 +56,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=
"['infra:file-config: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=
"storage"
>
<el-table-column
label=
"存储器"
align=
"center"
prop=
"storage"
>
...
@@ -192,6 +202,24 @@ const handleDelete = async (id: number) => {
...
@@ -192,6 +202,24 @@ const handleDelete = async (id: number) => {
}
catch
{}
}
catch
{}
}
}
/** 批量删除按钮操作 */
const
checkedIds
=
ref
<
number
[]
>
([])
const
handleRowCheckboxChange
=
(
rows
)
=>
{
checkedIds
.
value
=
rows
.
map
((
row
)
=>
row
.
id
)
}
const
handleDeleteBatch
=
async
()
=>
{
try
{
// 删除的二次确认
await
message
.
delConfirm
()
// 发起批量删除
await
FileConfigApi
.
deleteFileConfigList
(
checkedIds
.
value
)
message
.
success
(
t
(
'common.delSuccess'
))
// 刷新列表
await
getList
()
}
catch
{}
}
/** 主配置按钮操作 */
/** 主配置按钮操作 */
const
handleMaster
=
async
(
id
)
=>
{
const
handleMaster
=
async
(
id
)
=>
{
try
{
try
{
...
...
src/views/infra/job/index.vue
View file @
130a8391
...
@@ -57,6 +57,15 @@
...
@@ -57,6 +57,15 @@
<Icon
icon=
"ep:plus"
class=
"mr-5px"
/>
新增
<Icon
icon=
"ep:plus"
class=
"mr-5px"
/>
新增
</el-button>
</el-button>
<el-button
<el-button
type=
"danger"
plain
:disabled=
"checkedIds.length === 0"
@
click=
"handleDeleteBatch"
v-hasPermi=
"['infra:job:delete']"
>
<Icon
icon=
"ep:delete"
class=
"mr-5px"
/>
批量删除
</el-button>
<el-button
type=
"success"
type=
"success"
plain
plain
@
click=
"handleExport"
@
click=
"handleExport"
...
@@ -74,7 +83,8 @@
...
@@ -74,7 +83,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
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=
"status"
>
<el-table-column
label=
"任务状态"
align=
"center"
prop=
"status"
>
...
@@ -251,6 +261,24 @@ const handleDelete = async (id: number) => {
...
@@ -251,6 +261,24 @@ const handleDelete = async (id: number) => {
}
catch
{}
}
catch
{}
}
}
/** 批量删除按钮操作 */
const
checkedIds
=
ref
<
number
[]
>
([])
const
handleRowCheckboxChange
=
(
rows
:
JobApi
.
JobVO
[])
=>
{
checkedIds
.
value
=
rows
.
map
((
row
)
=>
row
.
id
)
}
const
handleDeleteBatch
=
async
()
=>
{
try
{
// 删除的二次确认
await
message
.
delConfirm
()
// 发起批量删除
await
JobApi
.
deleteJobList
(
checkedIds
.
value
)
message
.
success
(
t
(
'common.delSuccess'
))
// 刷新列表
await
getList
()
}
catch
{}
}
/** '更多'操作按钮 */
/** '更多'操作按钮 */
const
handleCommand
=
(
command
,
row
)
=>
{
const
handleCommand
=
(
command
,
row
)
=>
{
switch
(
command
)
{
switch
(
command
)
{
...
...
src/views/system/dept/index.vue
View file @
130a8391
...
@@ -46,6 +46,15 @@
...
@@ -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 @@
...
@@ -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) => {
...
@@ -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
()
...
...
src/views/system/dict/data/index.vue
View file @
130a8391
...
@@ -56,13 +56,23 @@
...
@@ -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) => {
...
@@ -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
{
...
...
src/views/system/dict/index.vue
View file @
130a8391
...
@@ -80,13 +80,24 @@
...
@@ -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) => {
...
@@ -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
{
...
...
src/views/system/mail/account/index.vue
View file @
130a8391
...
@@ -14,6 +14,15 @@
...
@@ -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 @@
...
@@ -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) => {
...
@@ -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
()
...
...
src/views/system/mail/template/index.vue
View file @
130a8391
...
@@ -14,6 +14,15 @@
...
@@ -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 @@
...
@@ -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) => {
...
@@ -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
)
=>
{
...
...
src/views/system/notice/index.vue
View file @
130a8391
...
@@ -43,13 +43,23 @@
...
@@ -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) => {
...
@@ -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
{
...
...
src/views/system/notify/template/index.vue
View file @
130a8391
...
@@ -65,13 +65,23 @@
...
@@ -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'
...
@@ -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) => {
...
@@ -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
{}
...
...
src/views/system/oauth2/client/index.vue
View file @
130a8391
...
@@ -40,13 +40,23 @@
...
@@ -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) => {
...
@@ -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
()
...
...
src/views/system/post/index.vue
View file @
130a8391
...
@@ -56,13 +56,23 @@
...
@@ -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) => {
...
@@ -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
{
...
...
src/views/system/role/index.vue
View file @
130a8391
...
@@ -78,13 +78,24 @@
...
@@ -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) => {
...
@@ -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 () => {
...
@@ -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
()
})
})
...
...
src/views/system/sms/channel/index.vue
View file @
130a8391
...
@@ -55,13 +55,23 @@
...
@@ -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) => {
...
@@ -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
()
...
...
src/views/system/sms/template/index.vue
View file @
130a8391
...
@@ -99,6 +99,15 @@
...
@@ -99,6 +99,15 @@
<Icon
icon=
"ep:plus"
class=
"mr-5px"
/>
新增
<Icon
icon=
"ep:plus"
class=
"mr-5px"
/>
新增
</el-button>
</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
type=
"success"
type=
"success"
plain
plain
@
click=
"handleExport"
@
click=
"handleExport"
...
@@ -113,7 +122,8 @@
...
@@ -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) => {
...
@@ -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
{
...
...
src/views/system/tenant/index.vue
View file @
130a8391
...
@@ -92,13 +92,24 @@
...
@@ -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) => {
...
@@ -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 () => {
...
@@ -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
>
src/views/system/tenantPackage/index.vue
View file @
130a8391
...
@@ -51,13 +51,24 @@
...
@@ -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) => {
...
@@ -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
()
...
...
src/views/system/user/index.vue
View file @
130a8391
...
@@ -91,11 +91,21 @@
...
@@ -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=
"用户名称"
...
@@ -340,6 +350,24 @@ const handleDelete = async (id: number) => {
...
@@ -340,6 +350,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
{
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment