diff --git a/orion-visor-framework/orion-visor-spring-boot-starter-mybatis/src/main/java/com/orion/visor/framework/mybatis/core/generator/template/VueTemplate.java b/orion-visor-framework/orion-visor-spring-boot-starter-mybatis/src/main/java/com/orion/visor/framework/mybatis/core/generator/template/VueTemplate.java index 76cbd45f..18a8611e 100644 --- a/orion-visor-framework/orion-visor-spring-boot-starter-mybatis/src/main/java/com/orion/visor/framework/mybatis/core/generator/template/VueTemplate.java +++ b/orion-visor-framework/orion-visor-spring-boot-starter-mybatis/src/main/java/com/orion/visor/framework/mybatis/core/generator/template/VueTemplate.java @@ -17,6 +17,7 @@ public class VueTemplate extends Template { public VueTemplate(Table table, String module, String feature) { super(table); table.enableVue = true; + table.enableRowSelection = true; table.module = module; table.feature = feature; } @@ -54,12 +55,12 @@ public class VueTemplate extends Template { } /** - * 列表可多选 + * 关闭列表可多选 * * @return this */ - public VueTemplate enableRowSelection() { - table.enableRowSelection = true; + public VueTemplate disableRowSelection() { + table.enableRowSelection = false; return this; } diff --git a/orion-visor-framework/orion-visor-spring-boot-starter-mybatis/src/main/resources/templates/orion-vue-views-components-table.vue.vm b/orion-visor-framework/orion-visor-spring-boot-starter-mybatis/src/main/resources/templates/orion-vue-views-components-table.vue.vm index 6426aa76..d89b76f8 100644 --- a/orion-visor-framework/orion-visor-spring-boot-starter-mybatis/src/main/resources/templates/orion-vue-views-components-table.vue.vm +++ b/orion-visor-framework/orion-visor-spring-boot-starter-mybatis/src/main/resources/templates/orion-vue-views-components-table.vue.vm @@ -79,12 +79,16 @@ + #if($vue.enableRowSelection) + ) { + return axios.delete('/asset/host-identity/batch-delete', { + params: { idList }, + paramsSerializer: params => { + return qs.stringify(params, { arrayFormat: 'comma' }); + } + }); +} diff --git a/orion-visor-ui/src/api/asset/host-key.ts b/orion-visor-ui/src/api/asset/host-key.ts index baf2dd41..ae196076 100644 --- a/orion-visor-ui/src/api/asset/host-key.ts +++ b/orion-visor-ui/src/api/asset/host-key.ts @@ -1,6 +1,7 @@ import type { DataGrid, Pagination } from '@/types/global'; import type { TableData } from '@arco-design/web-vue/es/table/interface'; import axios from 'axios'; +import qs from 'query-string'; /** * 主机密钥创建请求 @@ -85,3 +86,15 @@ export function getHostKeyPage(request: HostKeyQueryRequest) { export function deleteHostKey(id: number) { return axios.delete('/asset/host-key/delete', { params: { id } }); } + +/** + * 批量删除主机密钥 + */ +export function batchDeleteHostKey(idList: Array) { + return axios.delete('/asset/host-key/batch-delete', { + params: { idList }, + paramsSerializer: params => { + return qs.stringify(params, { arrayFormat: 'comma' }); + } + }); +} diff --git a/orion-visor-ui/src/api/asset/host.ts b/orion-visor-ui/src/api/asset/host.ts index 736eba6a..ef60622d 100644 --- a/orion-visor-ui/src/api/asset/host.ts +++ b/orion-visor-ui/src/api/asset/host.ts @@ -1,6 +1,7 @@ import type { DataGrid, Pagination } from '@/types/global'; import type { TableData } from '@arco-design/web-vue/es/table/interface'; import axios from 'axios'; +import qs from 'query-string'; /** * 主机创建请求 @@ -102,3 +103,15 @@ export function getHostPage(request: HostQueryRequest) { export function deleteHost(id: number) { return axios.delete('/asset/host/delete', { params: { id } }); } + +/** + * 批量删除主机 + */ +export function batchDeleteHost(idList: Array) { + return axios.delete('/asset/host/batch-delete', { + params: { idList }, + paramsSerializer: params => { + return qs.stringify(params, { arrayFormat: 'comma' }); + } + }); +} diff --git a/orion-visor-ui/src/api/exec/exec-template.ts b/orion-visor-ui/src/api/exec/exec-template.ts index a2814ed9..16aea19d 100644 --- a/orion-visor-ui/src/api/exec/exec-template.ts +++ b/orion-visor-ui/src/api/exec/exec-template.ts @@ -1,6 +1,7 @@ import type { DataGrid, Pagination } from '@/types/global'; import type { TableData } from '@arco-design/web-vue/es/table/interface'; import axios from 'axios'; +import qs from 'query-string'; /** * 执行模板创建请求 @@ -88,3 +89,15 @@ export function getExecTemplatePage(request: ExecTemplateQueryRequest) { export function deleteExecTemplate(id: number) { return axios.delete('/asset/exec-template/delete', { params: { id } }); } + +/** + * 批量删除执行模板 + */ +export function batchDeleteExecTemplate(idList: Array) { + return axios.delete('/asset/exec-template/batch-delete', { + params: { idList }, + paramsSerializer: params => { + return qs.stringify(params, { arrayFormat: 'comma' }); + } + }); +} diff --git a/orion-visor-ui/src/api/job/exec-job.ts b/orion-visor-ui/src/api/job/exec-job.ts index 9c130d9a..3aef3c29 100644 --- a/orion-visor-ui/src/api/job/exec-job.ts +++ b/orion-visor-ui/src/api/job/exec-job.ts @@ -2,6 +2,7 @@ import type { DataGrid, Pagination } from '@/types/global'; import type { TableData } from '@arco-design/web-vue/es/table/interface'; import type { HostQueryResponse } from '@/api/asset/host'; import axios from 'axios'; +import qs from 'query-string'; /** * 计划任务创建请求 @@ -112,6 +113,18 @@ export function deleteExecJob(id: number) { return axios.delete('/asset/exec-job/delete', { params: { id } }); } +/** + * 批量删除计划任务 + */ +export function batchDeleteExecJob(idList: Array) { + return axios.delete('/asset/exec-job/batch-delete', { + params: { idList }, + paramsSerializer: params => { + return qs.stringify(params, { arrayFormat: 'comma' }); + } + }); +} + /** * 手动触发计划任务 */ diff --git a/orion-visor-ui/src/api/user/user.ts b/orion-visor-ui/src/api/user/user.ts index 16439a3c..819502bb 100644 --- a/orion-visor-ui/src/api/user/user.ts +++ b/orion-visor-ui/src/api/user/user.ts @@ -2,6 +2,7 @@ import type { DataGrid, Pagination } from '@/types/global'; import type { TableData } from '@arco-design/web-vue/es/table/interface'; import type { RoleQueryResponse } from '@/api/user/role'; import axios from 'axios'; +import qs from 'query-string'; /** * 用户创建请求 @@ -162,6 +163,18 @@ export function deleteUser(id: number) { return axios.delete('/infra/system-user/delete', { params: { id } }); } +/** + * 批量删除用户 + */ +export function batchDeleteUser(idList: Array) { + return axios.delete('/infra/system-user/batch-delete', { + params: { idList }, + paramsSerializer: params => { + return qs.stringify(params, { arrayFormat: 'comma' }); + } + }); +} + /** * 获取用户会话列表 */ diff --git a/orion-visor-ui/src/components/exec/template/modal/index.vue b/orion-visor-ui/src/components/exec/template/modal/index.vue index a251abb2..51a59b53 100644 --- a/orion-visor-ui/src/components/exec/template/modal/index.vue +++ b/orion-visor-ui/src/components/exec/template/modal/index.vue @@ -49,10 +49,10 @@ :columns="columns" :data="tableRenderData" :pagination="pagination" + :bordered="false" :scroll="{ x: '100%', y: '60vh' }" @page-change="(page) => fetchTableData(page, pagination.pageSize)" - @page-size-change="(size) => fetchTableData(1, size)" - :bordered="false"> + @page-size-change="(size) => fetchTableData(1, size)"> - - - - + @page-size-change="(size) => fetchTableData(1, size)"> - + @page-size-change="(size) => fetchTableData(1, size)">