From 8193e9801cec249d57bcba26203cee6f716f8b97 Mon Sep 17 00:00:00 2001 From: YunaiV Date: Fri, 5 Sep 2025 19:11:22 +0800 Subject: [PATCH] =?UTF-8?q?reactor=EF=BC=9A=E3=80=90infra=20=E5=9F=BA?= =?UTF-8?q?=E7=A1=80=E8=AE=BE=E6=96=BD=E3=80=91=E4=BC=98=E5=8C=96=20vben5?= =?UTF-8?q?=20+=20antd=20=E7=9A=84=20schema=20=E6=A8=A1=E7=89=88?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../vue3_vben5_antd/schema/api/api.ts.vm | 168 +----------------- .../vue3_vben5_antd/schema/views/data.ts.vm | 18 +- .../vue3_vben5_antd/schema/views/form.vue.vm | 69 +++---- .../vue3_vben5_antd/schema/views/index.vue.vm | 111 ++++++------ .../schema/views/modules/form_sub_erp.vue.vm | 9 +- .../views/modules/form_sub_normal.vue.vm | 17 +- .../schema/views/modules/list_sub_erp.vue.vm | 11 +- .../vue3_vben5_ele/schema/views/data.ts.vm | 2 +- .../vue3_vben5_ele/schema/views/index.vue.vm | 2 +- 9 files changed, 121 insertions(+), 286 deletions(-) diff --git a/yudao-module-infra/src/main/resources/codegen/vue3_vben5_antd/schema/api/api.ts.vm b/yudao-module-infra/src/main/resources/codegen/vue3_vben5_antd/schema/api/api.ts.vm index 682e5923ae..5419e52592 100644 --- a/yudao-module-infra/src/main/resources/codegen/vue3_vben5_antd/schema/api/api.ts.vm +++ b/yudao-module-infra/src/main/resources/codegen/vue3_vben5_antd/schema/api/api.ts.vm @@ -1,167 +1 @@ -import type { PageParam, PageResult } from '@vben/request'; -import type { Dayjs } from 'dayjs'; - -import { requestClient } from '#/api/request'; -#set ($baseURL = "/${table.moduleName}/${simpleClassName_strikeCase}") - -export namespace ${simpleClassName}Api { -## 特殊:主子表专属逻辑 -#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 - } -} - -#if ( $table.templateType != 2 ) -/** 查询${table.classComment}分页 */ -export function get${simpleClassName}Page(params: PageParam) { - return requestClient.get>('${baseURL}/page', { params }); -} -#else -/** 查询${table.classComment}列表 */ -export function get${simpleClassName}List(params: any) { - return requestClient.get<${simpleClassName}Api.${simpleClassName}[]>('${baseURL}/list', { params }); -} -#end - -/** 查询${table.classComment}详情 */ -export function get${simpleClassName}(id: number) { - return requestClient.get<${simpleClassName}Api.${simpleClassName}>(`${baseURL}/get?id=${id}`); -} - -/** 新增${table.classComment} */ -export function create${simpleClassName}(data: ${simpleClassName}Api.${simpleClassName}) { - return requestClient.post('${baseURL}/create', data); -} - -/** 修改${table.classComment} */ -export function update${simpleClassName}(data: ${simpleClassName}Api.${simpleClassName}) { - return requestClient.put('${baseURL}/update', data); -} - -/** 删除${table.classComment} */ -export function delete${simpleClassName}(id: number) { - return requestClient.delete(`${baseURL}/delete?id=${id}`); -} - -#if ( $table.templateType != 2 && $deleteBatchEnable) -/** 批量删除${table.classComment} */ -export function delete${simpleClassName}List(ids: number[]) { - return requestClient.delete(`${baseURL}/delete-list?ids=${ids.join(',')}`) -} -#end - -/** 导出${table.classComment} */ -export function export${simpleClassName}(params: any) { - return requestClient.download('${baseURL}/export-excel', { params }); -} - -## 特殊:主子表专属逻辑 -#foreach ($subTable in $subTables) -#set ($index = $foreach.count - 1) -#set ($subSimpleClassName = $subSimpleClassNames.get($index)) -#set ($subPrimaryColumn = $subPrimaryColumns.get($index))##当前 primary 字段 -#set ($subJoinColumn = $subJoinColumns.get($index))##当前 join 字段 -#set ($SubJoinColumnName = $subJoinColumn.javaField.substring(0,1).toUpperCase() + ${subJoinColumn.javaField.substring(1)})##首字母大写 -#set ($subSimpleClassName_strikeCase = $subSimpleClassName_strikeCases.get($index)) -#set ($subJoinColumn_strikeCase = $subJoinColumn_strikeCases.get($index)) -#set ($subClassNameVar = $subClassNameVars.get($index)) - -// ==================== 子表($subTable.classComment) ==================== - -## 情况一:MASTER_ERP 时,需要分查询页子表 -#if ( $table.templateType == 11 ) -/** 获得${subTable.classComment}分页 */ -export function get${subSimpleClassName}Page(params: PageParam) { - return requestClient.get>(`${baseURL}/${subSimpleClassName_strikeCase}/page`, { params }); -} -## 情况二:非 MASTER_ERP 时,需要列表查询子表 -#else - #if ( $subTable.subJoinMany ) -/** 获得${subTable.classComment}列表 */ -export function get${subSimpleClassName}ListBy${SubJoinColumnName}(${subJoinColumn.javaField}: number) { - return requestClient.get<${simpleClassName}Api.${subSimpleClassName}[]>(`${baseURL}/${subSimpleClassName_strikeCase}/list-by-${subJoinColumn_strikeCase}?${subJoinColumn.javaField}=${${subJoinColumn.javaField}}`); -} - #else -/** 获得${subTable.classComment} */ -export function get${subSimpleClassName}By${SubJoinColumnName}(${subJoinColumn.javaField}: number) { - return requestClient.get<${simpleClassName}Api.${subSimpleClassName}>(`${baseURL}/${subSimpleClassName_strikeCase}/get-by-${subJoinColumn_strikeCase}?${subJoinColumn.javaField}=${${subJoinColumn.javaField}}`); -} - #end -#end -## 特殊:MASTER_ERP 时,支持单个的新增、修改、删除操作 -#if ( $table.templateType == 11 ) -/** 新增${subTable.classComment} */ -export function create${subSimpleClassName}(data: ${simpleClassName}Api.${subSimpleClassName}) { - return requestClient.post(`${baseURL}/${subSimpleClassName_strikeCase}/create`, data); -} - -/** 修改${subTable.classComment} */ -export function update${subSimpleClassName}(data: ${simpleClassName}Api.${subSimpleClassName}) { - return requestClient.put(`${baseURL}/${subSimpleClassName_strikeCase}/update`, data); -} - -/** 删除${subTable.classComment} */ -export function delete${subSimpleClassName}(id: number) { - return requestClient.delete(`${baseURL}/${subSimpleClassName_strikeCase}/delete?id=${id}`); -} - -#if ($deleteBatchEnable) -/** 批量删除${subTable.classComment} */ -export function delete${subSimpleClassName}List(ids: number[]) { - return requestClient.delete(`${baseURL}/${subSimpleClassName_strikeCase}/delete-list?ids=${ids.join(',')}`) -} -#end - -/** 获得${subTable.classComment} */ -export function get${subSimpleClassName}(id: number) { - return requestClient.get<${simpleClassName}Api.${subSimpleClassName}>(`${baseURL}/${subSimpleClassName_strikeCase}/get?id=${id}`); -} -#end -#end - +#parse("codegen/vue3_vben5_ele/schema/api/api.ts.vm") \ No newline at end of file diff --git a/yudao-module-infra/src/main/resources/codegen/vue3_vben5_antd/schema/views/data.ts.vm b/yudao-module-infra/src/main/resources/codegen/vue3_vben5_antd/schema/views/data.ts.vm index 6b3fd2b379..29f2fe2f57 100644 --- a/yudao-module-infra/src/main/resources/codegen/vue3_vben5_antd/schema/views/data.ts.vm +++ b/yudao-module-infra/src/main/resources/codegen/vue3_vben5_antd/schema/views/data.ts.vm @@ -1,13 +1,9 @@ +#set ($apiName = "${table.moduleName.substring(0,1).toUpperCase()}${table.moduleName.substring(1)}${simpleClassName}Api") import type { VbenFormSchema } from '#/adapter/form'; import type { VxeTableGridOptions } from '#/adapter/vxe-table'; -import type { ${simpleClassName}Api } from '#/api/${table.moduleName}/${table.businessName}'; +import type { ${apiName} } from '#/api/${table.moduleName}/${table.businessName}'; -import { z } from '#/adapter/form'; -import { - DICT_TYPE, - getDictOptions, - getRangePickerDefaultProps, -} from '#/utils'; +import { DICT_TYPE, getDictOptions, getRangePickerDefaultProps } from '#/utils'; #if(${table.templateType} == 2)## 树表需要导入这些 import { get${simpleClassName}List } from '#/api/${table.moduleName}/${table.businessName}'; import { handleTree } from '@vben/utils'; @@ -186,7 +182,7 @@ export function useGridFormSchema(): VbenFormSchema[] { } /** 列表的字段 */ -export function useGridColumns(): VxeTableGridOptions<${simpleClassName}Api.${simpleClassName}>['columns'] { +export function useGridColumns(): VxeTableGridOptions<${apiName}.${simpleClassName}>['columns'] { return [ #if ($table.templateType != 2 && $deleteBatchEnable) { type: 'checkbox', width: 40 }, @@ -389,7 +385,7 @@ export function use${subSimpleClassName}GridFormSchema(): VbenFormSchema[] { } /** 列表的字段 */ -export function use${subSimpleClassName}GridColumns(): VxeTableGridOptions<${simpleClassName}Api.${subSimpleClassName}>['columns'] { +export function use${subSimpleClassName}GridColumns(): VxeTableGridOptions<${apiName}.${subSimpleClassName}>['columns'] { return [ #if ($table.templateType != 2 && $deleteBatchEnable) { type: 'checkbox', width: 40 }, @@ -426,7 +422,7 @@ export function use${subSimpleClassName}GridColumns(): VxeTableGridOptions<${sim #else #if ($subTable.subJoinMany) ## 一对多 /** 新增/修改列表的字段 */ - export function use${subSimpleClassName}GridEditColumns(): VxeTableGridOptions<${simpleClassName}Api.${subSimpleClassName}>['columns'] { + export function use${subSimpleClassName}GridEditColumns(): VxeTableGridOptions<${apiName}.${subSimpleClassName}>['columns'] { return [ #foreach($column in $subColumns) #if ($column.createOperation || $column.updateOperation) @@ -602,4 +598,4 @@ export function use${subSimpleClassName}GridColumns(): VxeTableGridOptions<${sim } #end #end -#end +#end \ No newline at end of file diff --git a/yudao-module-infra/src/main/resources/codegen/vue3_vben5_antd/schema/views/form.vue.vm b/yudao-module-infra/src/main/resources/codegen/vue3_vben5_antd/schema/views/form.vue.vm index 1c1b7d7f9c..2f215bdde2 100644 --- a/yudao-module-infra/src/main/resources/codegen/vue3_vben5_antd/schema/views/form.vue.vm +++ b/yudao-module-infra/src/main/resources/codegen/vue3_vben5_antd/schema/views/form.vue.vm @@ -1,8 +1,18 @@ +#set ($apiName = "${table.moduleName.substring(0,1).toUpperCase()}${table.moduleName.substring(1)}${simpleClassName}Api") @@ -135,8 +136,8 @@ const [Modal, modalApi] = useVbenModal({ diff --git a/yudao-module-infra/src/main/resources/codegen/vue3_vben5_antd/schema/views/index.vue.vm b/yudao-module-infra/src/main/resources/codegen/vue3_vben5_antd/schema/views/index.vue.vm index 1e13de2e97..f67cf08512 100644 --- a/yudao-module-infra/src/main/resources/codegen/vue3_vben5_antd/schema/views/index.vue.vm +++ b/yudao-module-infra/src/main/resources/codegen/vue3_vben5_antd/schema/views/index.vue.vm @@ -1,46 +1,57 @@ +#set ($apiName = "${table.moduleName.substring(0,1).toUpperCase()}${table.moduleName.substring(1)}${simpleClassName}Api") @@ -255,8 +257,8 @@ const [Grid, gridApi] = useVbenVxeGrid({ type: 'primary', danger: true, icon: ACTION_ICON.DELETE, - disabled: isEmpty(checkedIds), auth: ['${table.moduleName}:${simpleClassName_strikeCase}:delete'], + disabled: isEmpty(checkedIds), onClick: handleDeleteBatch, }, #end @@ -297,7 +299,6 @@ const [Grid, gridApi] = useVbenVxeGrid({ /> - #if ($table.templateType == 11) ## erp情况 @@ -314,4 +315,4 @@ const [Grid, gridApi] = useVbenVxeGrid({ #end - + \ No newline at end of file diff --git a/yudao-module-infra/src/main/resources/codegen/vue3_vben5_antd/schema/views/modules/form_sub_erp.vue.vm b/yudao-module-infra/src/main/resources/codegen/vue3_vben5_antd/schema/views/modules/form_sub_erp.vue.vm index c71e0b46e0..74d97422c8 100644 --- a/yudao-module-infra/src/main/resources/codegen/vue3_vben5_antd/schema/views/modules/form_sub_erp.vue.vm +++ b/yudao-module-infra/src/main/resources/codegen/vue3_vben5_antd/schema/views/modules/form_sub_erp.vue.vm @@ -2,8 +2,9 @@ #set ($subColumns = $subColumnsList.get($subIndex))##当前字段数组 #set ($subJoinColumn = $subJoinColumns.get($subIndex))##当前 join 字段 #set ($subSimpleClassName = $subSimpleClassNames.get($subIndex)) +#set ($apiName = "${table.moduleName.substring(0,1).toUpperCase()}${table.moduleName.substring(1)}${simpleClassName}Api")