From b76c39fa8da3a80a9e4e8942b19476cdf20c492d Mon Sep 17 00:00:00 2001 From: puhui999 Date: Fri, 6 Jun 2025 23:07:48 +0800 Subject: [PATCH] =?UTF-8?q?perf:=20=E4=BC=98=E5=8C=96=20vue2=20=E4=BB=A3?= =?UTF-8?q?=E7=A0=81=E7=94=9F=E6=88=90=E6=A8=A1=E6=9D=BF=EF=BC=8C=E5=A2=9E?= =?UTF-8?q?=E5=8A=A0=E6=89=B9=E9=87=8F=E5=88=A0=E9=99=A4=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../main/resources/codegen/vue/api/api.js.vm | 19 ++++++ .../vue/views/components/list_sub_erp.vue.vm | 56 +++++++++++++++-- .../resources/codegen/vue/views/index.vue.vm | 63 ++++++++++++++++--- 3 files changed, 123 insertions(+), 15 deletions(-) diff --git a/yudao-module-infra/src/main/resources/codegen/vue/api/api.js.vm b/yudao-module-infra/src/main/resources/codegen/vue/api/api.js.vm index 835c0192eb..0d9b66f88e 100644 --- a/yudao-module-infra/src/main/resources/codegen/vue/api/api.js.vm +++ b/yudao-module-infra/src/main/resources/codegen/vue/api/api.js.vm @@ -27,6 +27,16 @@ export function delete${simpleClassName}(id) { }) } +#if ( $table.templateType != 2 && $deleteBatchEnable) +/** 批量删除${table.classComment} */ +export function delete${simpleClassName}List(ids) { + return request({ + url: `${baseURL}/delete-list?ids=${ids.join(',')}`, + method: 'delete' + }) +} +#end + // 获得${table.classComment} export function get${simpleClassName}(id) { return request({ @@ -130,6 +140,15 @@ export function export${simpleClassName}Excel(params) { method: 'delete' }) } + #if ($deleteBatchEnable) + /** 批量删除${subTable.classComment} */ + export function delete${subSimpleClassName}List(ids) { + return request({ + url: `${baseURL}/${subSimpleClassName_strikeCase}/delete-list?ids=${ids.join(',')}`, + method: 'delete' + }) + } + #end // 获得${subTable.classComment} export function get${subSimpleClassName}(id) { return request({ diff --git a/yudao-module-infra/src/main/resources/codegen/vue/views/components/list_sub_erp.vue.vm b/yudao-module-infra/src/main/resources/codegen/vue/views/components/list_sub_erp.vue.vm index 589736b6ea..e1305586cc 100644 --- a/yudao-module-infra/src/main/resources/codegen/vue/views/components/list_sub_erp.vue.vm +++ b/yudao-module-infra/src/main/resources/codegen/vue/views/components/list_sub_erp.vue.vm @@ -13,10 +13,36 @@ 新增 + #if ($deleteBatchEnable) + + + 批量删除 + + + #end #end ## 列表 - + + #if ($table.templateType == 11 && $deleteBatchEnable) + + #end #foreach($column in $subColumns) #if ($column.listOperationResult) #set ($dictType=$column.dictType) @@ -82,6 +108,9 @@ // 列表的数据 list: [], #if ($table.templateType == 11) + #if ($deleteBatchEnable) + checkedIds: [], + #end // 列表的总页数 total: 0, // 查询参数 @@ -135,12 +164,27 @@ this.loading = false; } }, - /** 搜索按钮操作 */ - handleQuery() { - this.queryParams.pageNo = 1; - this.getList(); - }, + #if ($table.templateType == 11 && $deleteBatchEnable) + /** 批量删除${table.classComment} */ + async handleDeleteBatch() { + await this.#[[$modal]]#.confirm('是否确认删除?') + try { + await ${simpleClassName}Api.delete${subSimpleClassName}List(this.checkedIds); + await this.getList(); + this.#[[$modal]]#.msgSuccess("删除成功"); + } catch {} + }, + handleRowCheckboxChange(records) { + this.checkedIds = records.map((item) => item.id); + }, + #end + #if ($table.templateType == 11) + /** 搜索按钮操作 */ + handleQuery() { + this.queryParams.pageNo = 1; + this.getList(); + }, /** 添加/修改操作 */ openForm(id) { if (!this.${subJoinColumn.javaField}) { diff --git a/yudao-module-infra/src/main/resources/codegen/vue/views/index.vue.vm b/yudao-module-infra/src/main/resources/codegen/vue/views/index.vue.vm index 9c1e124dc1..30014a8ff4 100644 --- a/yudao-module-infra/src/main/resources/codegen/vue/views/index.vue.vm +++ b/yudao-module-infra/src/main/resources/codegen/vue/views/index.vue.vm @@ -53,26 +53,45 @@ 导出 - ## 特殊:树表专属逻辑 - #if ( $table.templateType == 2 ) - - - 展开/折叠 - - - #end + ## 特殊:树表专属逻辑 + #if ( $table.templateType == 2 ) + + + 展开/折叠 + + + #end + #if ($table.templateType != 2 && $deleteBatchEnable) + + + 批量删除 + + + #end ## 特殊:主子表专属逻辑 #if ( $table.templateType == 11 && $subTables && $subTables.size() > 0 ) ## 特殊:树表专属逻辑 #elseif ( $table.templateType == 2 ) @@ -87,7 +106,18 @@ :tree-props="{children: 'children', hasChildren: 'hasChildren'}" > #else - + + #end + #if ($table.templateType != 2 && $deleteBatchEnable) + #end ## 特殊:主子表专属逻辑 #if ( $table.templateType == 12 && $subTables && $subTables.size() > 0 ) @@ -229,6 +259,7 @@ export default { refreshTable: true, // 选中行 currentRow: {}, + checkedIds: [], // 查询参数 queryParams: { ## 特殊:树表专属逻辑(树不需要分页接口) @@ -301,6 +332,20 @@ export default { this.#[[$modal]]#.msgSuccess("删除成功"); } catch {} }, + #if ($table.templateType != 2 && $deleteBatchEnable) + /** 批量删除${table.classComment} */ + async handleDeleteBatch() { + await this.#[[$modal]]#.confirm('是否确认删除?') + try { + await ${simpleClassName}Api.delete${simpleClassName}List(this.checkedIds); + await this.getList(); + this.#[[$modal]]#.msgSuccess("删除成功"); + } catch {} + }, + handleRowCheckboxChange(records) { + this.checkedIds = records.map((item) => item.id); + }, + #end /** 导出按钮操作 */ async handleExport() { await this.#[[$modal]]#.confirm('是否确认导出所有${table.classComment}数据项?');