From 6a5d3430362083561551484426ede5965ac2371f Mon Sep 17 00:00:00 2001 From: puhui999 Date: Fri, 6 Jun 2025 18:45:13 +0800 Subject: [PATCH] =?UTF-8?q?perf:=20=E4=BC=98=E5=8C=96=20vue3=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/vue3/api/api.ts.vm | 83 +++++++++++++++---- .../vue3/views/components/form_sub_erp.vue.vm | 8 +- .../views/components/form_sub_normal.vue.vm | 6 +- .../vue3/views/components/list_sub_erp.vue.vm | 53 +++++++++++- .../resources/codegen/vue3/views/form.vue.vm | 4 +- .../resources/codegen/vue3/views/index.vue.vm | 52 +++++++++++- .../general/views/index.vue.vm | 6 +- .../general/views/modules/list_sub_erp.vue.vm | 4 +- .../vue3_vben5_antd/schema/views/index.vue.vm | 5 +- .../schema/views/modules/list_sub_erp.vue.vm | 4 +- 10 files changed, 184 insertions(+), 41 deletions(-) diff --git a/yudao-module-infra/src/main/resources/codegen/vue3/api/api.ts.vm b/yudao-module-infra/src/main/resources/codegen/vue3/api/api.ts.vm index c3044fb872..c9f736126c 100644 --- a/yudao-module-infra/src/main/resources/codegen/vue3/api/api.ts.vm +++ b/yudao-module-infra/src/main/resources/codegen/vue3/api/api.ts.vm @@ -1,19 +1,56 @@ import request from '@/config/axios' +import type { Dayjs } from 'dayjs'; #set ($baseURL = "/${table.moduleName}/${simpleClassName_strikeCase}") -// ${table.classComment} VO -export interface ${simpleClassName}VO { -#foreach ($column in $columns) -#if ($column.createOperation || $column.updateOperation) -#if(${column.javaType.toLowerCase()} == "long" || ${column.javaType.toLowerCase()} == "integer" || ${column.javaType.toLowerCase()} == "short" || ${column.javaType.toLowerCase()} == "double" || ${column.javaType.toLowerCase()} == "bigdecimal") - ${column.javaField}: number // ${column.columnComment} -#elseif(${column.javaType.toLowerCase()} == "date" || ${column.javaType.toLowerCase()} == "localdate" || ${column.javaType.toLowerCase()} == "localdatetime") - ${column.javaField}: Date // ${column.columnComment} -#else - ${column.javaField}: ${column.javaType.toLowerCase()} // ${column.columnComment} -#end -#end +## 特殊:主子表专属逻辑 +#foreach ($subTable in $subTables) + #set ($index = $foreach.count - 1) + #set ($subSimpleClassName = $subSimpleClassNames.get($index)) + #set ($subColumns = $subColumnsList.get($index))##当前字段数组 +/** ${subTable.classComment}信息 */ +export interface ${subSimpleClassName} { + #foreach ($column in $subColumns) + #if ($column.createOperation || $column.updateOperation) + #if(${column.javaType.toLowerCase()} == "long" || ${column.javaType.toLowerCase()} == "integer" || ${column.javaType.toLowerCase()} == "short" || ${column.javaType.toLowerCase()} == "double" || ${column.javaType.toLowerCase()} == "bigdecimal") + ${column.javaField}#if($column.updateOperation && !$column.primaryKey && !$column.nullable)?#end: number; // ${column.columnComment} + #elseif(${column.javaType.toLowerCase()} == "date" || ${column.javaType.toLowerCase()} == "localdate" || ${column.javaType.toLowerCase()} == "localdatetime") + ${column.javaField}#if($column.updateOperation && !$column.primaryKey && !$column.nullable)?#end: string | Dayjs; // ${column.columnComment} + #else + ${column.javaField}#if($column.updateOperation && !$column.primaryKey && !$column.nullable)?#end: ${column.javaType.toLowerCase()}; // ${column.columnComment} + #end + #end + #end +} + #end +/** ${table.classComment}信息 */ +export interface ${simpleClassName} { + #foreach ($column in $columns) + #if ($column.createOperation || $column.updateOperation) + #if(${column.javaType.toLowerCase()} == "long" || ${column.javaType.toLowerCase()} == "integer" || ${column.javaType.toLowerCase()} == "short" || ${column.javaType.toLowerCase()} == "double" || ${column.javaType.toLowerCase()} == "bigdecimal") + ${column.javaField}#if($column.updateOperation && !$column.primaryKey && !$column.nullable)?#end: number; // ${column.columnComment} + #elseif(${column.javaType.toLowerCase()} == "date" || ${column.javaType.toLowerCase()} == "localdate" || ${column.javaType.toLowerCase()} == "localdatetime") + ${column.javaField}#if($column.updateOperation && !$column.primaryKey && !$column.nullable)?#end: string | Dayjs; // ${column.columnComment} + #else + ${column.javaField}#if($column.updateOperation && !$column.primaryKey && !$column.nullable)?#end: ${column.javaType.toLowerCase()}; // ${column.columnComment} + #end + #end + #end + #if ( $table.templateType == 2 ) + children?: ${simpleClassName}[]; + #end + ## 特殊:主子表专属逻辑 + #if ( $table.templateType == 10 || $table.templateType == 12 ) + #foreach ($subTable in $subTables) + #set ($index = $foreach.count - 1) + #set ($subSimpleClassName = $subSimpleClassNames.get($index)) + #if ( $subTable.subJoinMany ) + ${subSimpleClassName.toLowerCase()}s?: ${subSimpleClassName}[] + #else + ${subSimpleClassName.toLowerCase()}?: ${subSimpleClassName} + #end + #end + #end } // ${table.classComment} API @@ -36,12 +73,12 @@ export const ${simpleClassName}Api = { }, // 新增${table.classComment} - create${simpleClassName}: async (data: ${simpleClassName}VO) => { + create${simpleClassName}: async (data: ${simpleClassName}) => { return await request.post({ url: `${baseURL}/create`, data }) }, // 修改${table.classComment} - update${simpleClassName}: async (data: ${simpleClassName}VO) => { + update${simpleClassName}: async (data: ${simpleClassName}) => { return await request.put({ url: `${baseURL}/update`, data }) }, @@ -50,6 +87,13 @@ export const ${simpleClassName}Api = { return await request.delete({ url: `${baseURL}/delete?id=` + id }) }, +#if ( $table.templateType != 2 && $deleteBatchEnable) + /** 批量删除${table.classComment} */ + delete${simpleClassName}List: async (ids: number[]) => { + return await request.delete({ url: `${baseURL}/delete-list?ids=${ids.join(',')}` }) + }, +#end + // 导出${table.classComment} Excel export${simpleClassName}: async (params) => { return await request.download({ url: `${baseURL}/export-excel`, params }) @@ -92,12 +136,12 @@ export const ${simpleClassName}Api = { ## 特殊:MASTER_ERP 时,支持单个的新增、修改、删除操作 #if ( $table.templateType == 11 ) // 新增${subTable.classComment} - create${subSimpleClassName}: async (data) => { + create${subSimpleClassName}: async (data: ${subSimpleClassName}) => { return await request.post({ url: `${baseURL}/${subSimpleClassName_strikeCase}/create`, data }) }, // 修改${subTable.classComment} - update${subSimpleClassName}: async (data) => { + update${subSimpleClassName}: async (data: ${subSimpleClassName}) => { return await request.put({ url: `${baseURL}/${subSimpleClassName_strikeCase}/update`, data }) }, @@ -106,6 +150,13 @@ export const ${simpleClassName}Api = { return await request.delete({ url: `${baseURL}/${subSimpleClassName_strikeCase}/delete?id=` + id }) }, + #if ($deleteBatchEnable) + /** 批量删除${subTable.classComment} */ + delete${subSimpleClassName}List: async (ids: number[]) => { + return await request.delete({ url: `${baseURL}/${subSimpleClassName_strikeCase}/delete-list?ids=${ids.join(',')}` }) + }, + #end + // 获得${subTable.classComment} get${subSimpleClassName}: async (id: number) => { return await request.get({ url: `${baseURL}/${subSimpleClassName_strikeCase}/get?id=` + id }) diff --git a/yudao-module-infra/src/main/resources/codegen/vue3/views/components/form_sub_erp.vue.vm b/yudao-module-infra/src/main/resources/codegen/vue3/views/components/form_sub_erp.vue.vm index 81cd9775eb..a8d5a35191 100644 --- a/yudao-module-infra/src/main/resources/codegen/vue3/views/components/form_sub_erp.vue.vm +++ b/yudao-module-infra/src/main/resources/codegen/vue3/views/components/form_sub_erp.vue.vm @@ -113,7 +113,7 @@