diff --git a/yudao-module-infra/yudao-module-infra-biz/src/main/java/cn/iocoder/yudao/module/infra/service/codegen/inner/CodegenEngine.java b/yudao-module-infra/yudao-module-infra-biz/src/main/java/cn/iocoder/yudao/module/infra/service/codegen/inner/CodegenEngine.java index 76f17674ab..0ec4f98260 100644 --- a/yudao-module-infra/yudao-module-infra-biz/src/main/java/cn/iocoder/yudao/module/infra/service/codegen/inner/CodegenEngine.java +++ b/yudao-module-infra/yudao-module-infra-biz/src/main/java/cn/iocoder/yudao/module/infra/service/codegen/inner/CodegenEngine.java @@ -154,15 +154,15 @@ public class CodegenEngine { .put(CodegenFrontTypeEnum.VUE3_VBEN5_ANTD_SCHEMA.getType(), vue3Vben5AntdSchemaTemplatePath("api/api.ts"), vue3FilePath("api/${table.moduleName}/${table.businessName}/index.ts")) .put(CodegenFrontTypeEnum.VUE3_VBEN5_ANTD_SCHEMA.getType(), vue3Vben5AntdSchemaTemplatePath("views/modules/form_sub_normal.vue"), // 特殊:主子表专属逻辑 - vue3FilePath("views/${table.moduleName}/${table.businessName}/modules/${subSimpleClassName}Form.vue")) + vue3FilePath("views/${table.moduleName}/${table.businessName}/modules/${subSimpleClassName_strikeCase}-form.vue")) .put(CodegenFrontTypeEnum.VUE3_VBEN5_ANTD_SCHEMA.getType(), vue3Vben5AntdSchemaTemplatePath("views/modules/form_sub_inner.vue"), // 特殊:主子表专属逻辑 - vue3FilePath("views/${table.moduleName}/${table.businessName}/modules/${subSimpleClassName}Form.vue")) + vue3FilePath("views/${table.moduleName}/${table.businessName}/modules/${subSimpleClassName_strikeCase}-form.vue")) .put(CodegenFrontTypeEnum.VUE3_VBEN5_ANTD_SCHEMA.getType(), vue3Vben5AntdSchemaTemplatePath("views/modules/form_sub_erp.vue"), // 特殊:主子表专属逻辑 - vue3FilePath("views/${table.moduleName}/${table.businessName}/modules/${subSimpleClassName}Form.vue")) + vue3FilePath("views/${table.moduleName}/${table.businessName}/modules/${subSimpleClassName_strikeCase}-form.vue")) .put(CodegenFrontTypeEnum.VUE3_VBEN5_ANTD_SCHEMA.getType(), vue3Vben5AntdSchemaTemplatePath("views/modules/list_sub_inner.vue"), // 特殊:主子表专属逻辑 - vue3FilePath("views/${table.moduleName}/${table.businessName}/modules/${subSimpleClassName}List.vue")) + vue3FilePath("views/${table.moduleName}/${table.businessName}/modules/${subSimpleClassName_strikeCase}-list.vue")) .put(CodegenFrontTypeEnum.VUE3_VBEN5_ANTD_SCHEMA.getType(), vue3Vben5AntdSchemaTemplatePath("views/modules/list_sub_erp.vue"), // 特殊:主子表专属逻辑 - vue3FilePath("views/${table.moduleName}/${table.businessName}/modules/${subSimpleClassName}List.vue")) + vue3FilePath("views/${table.moduleName}/${table.businessName}/modules/${subSimpleClassName_strikeCase}-list.vue")) .build(); @Resource @@ -451,6 +451,8 @@ public class CodegenEngine { filePath = StrUtil.replace(filePath, "${subTable.className}", subTable.getClassName()); filePath = StrUtil.replace(filePath, "${subSimpleClassName}", ((List) bindingMap.get("subSimpleClassNames")).get(subIndex)); + filePath = StrUtil.replace(filePath, "${subSimpleClassName_strikeCase}", + ((List) bindingMap.get("subSimpleClassName_strikeCases")).get(subIndex)); } return filePath; } diff --git a/yudao-module-infra/yudao-module-infra-biz/src/main/resources/codegen/vue3_vben5_antd/schema/api/api.ts.vm b/yudao-module-infra/yudao-module-infra-biz/src/main/resources/codegen/vue3_vben5_antd/schema/api/api.ts.vm index 37d1c5f96a..18dd72bd13 100644 --- a/yudao-module-infra/yudao-module-infra-biz/src/main/resources/codegen/vue3_vben5_antd/schema/api/api.ts.vm +++ b/yudao-module-infra/yudao-module-infra-biz/src/main/resources/codegen/vue3_vben5_antd/schema/api/api.ts.vm @@ -23,6 +23,7 @@ export namespace ${simpleClassName}Api { #end #end } + #end /** ${table.classComment}信息 */ export interface ${simpleClassName} { @@ -104,6 +105,7 @@ export function export${simpleClassName}(params: any) { #set ($subClassNameVar = $subClassNameVars.get($index)) // ==================== 子表($subTable.classComment) ==================== + ## 情况一:MASTER_ERP 时,需要分查询页子表 #if ( $table.templateType == 11 ) /** 获得${subTable.classComment}分页 */ diff --git a/yudao-module-infra/yudao-module-infra-biz/src/main/resources/codegen/vue3_vben5_antd/schema/views/data.ts.vm b/yudao-module-infra/yudao-module-infra-biz/src/main/resources/codegen/vue3_vben5_antd/schema/views/data.ts.vm index 3ab28d2a1c..d35a7af37f 100644 --- a/yudao-module-infra/yudao-module-infra-biz/src/main/resources/codegen/vue3_vben5_antd/schema/views/data.ts.vm +++ b/yudao-module-infra/yudao-module-infra-biz/src/main/resources/codegen/vue3_vben5_antd/schema/views/data.ts.vm @@ -88,7 +88,7 @@ export function useFormSchema(): VbenFormSchema[] { maxCount: 1, }, #elseif($column.htmlType == "editor")## 文本编辑器 - component: 'Editor', + component: 'RichTextarea', #elseif($column.htmlType == "select")## 下拉框 component: 'Select', componentProps: { @@ -279,6 +279,7 @@ export function useGridColumns( #set ($subJoinColumn = $subJoinColumns.get($index))##当前 join 字段 #set ($subSimpleClassName_strikeCase = $subSimpleClassName_strikeCases.get($index)) // ==================== 子表($subTable.classComment) ==================== + #if ($table.templateType == 11) ## erp 情况 /** 新增/修改的表单 */ export function use${subSimpleClassName}FormSchema(): VbenFormSchema[] { @@ -331,7 +332,7 @@ export function use${subSimpleClassName}FormSchema(): VbenFormSchema[] { maxCount: 1, }, #elseif($column.htmlType == "editor")## 文本编辑器 - component: 'Editor', + component: 'RichTextarea', #elseif($column.htmlType == "select")## 下拉框 component: 'Select', componentProps: { @@ -391,6 +392,7 @@ export function use${subSimpleClassName}FormSchema(): VbenFormSchema[] { #end ]; } + /** 列表的字段 */ export function use${subSimpleClassName}GridColumns( onActionClick?: OnActionClickFn<${simpleClassName}Api.${subSimpleClassName}>, @@ -445,6 +447,7 @@ export function use${subSimpleClassName}GridColumns( }, ]; } + #else #if ($subTable.subJoinMany) ## 一对多 /** 新增/修改列表的字段 */ @@ -510,6 +513,7 @@ export function use${subSimpleClassName}GridColumns( }, ]; } + #else /** 新增/修改的表单 */ export function use${subSimpleClassName}FormSchema(): VbenFormSchema[] { @@ -562,7 +566,7 @@ export function use${subSimpleClassName}GridColumns( maxCount: 1, }, #elseif($column.htmlType == "editor")## 文本编辑器 - component: 'Editor', + component: 'RichTextarea', #elseif($column.htmlType == "select")## 下拉框 component: 'Select', componentProps: { @@ -622,6 +626,7 @@ export function use${subSimpleClassName}GridColumns( #end ]; } + #end #if ($table.templateType == 12) ## 内嵌情况 /** 列表的字段 */ @@ -649,6 +654,7 @@ export function use${subSimpleClassName}GridColumns( #end ]; } + #end #end #end \ No newline at end of file diff --git a/yudao-module-infra/yudao-module-infra-biz/src/main/resources/codegen/vue3_vben5_antd/schema/views/form.vue.vm b/yudao-module-infra/yudao-module-infra-biz/src/main/resources/codegen/vue3_vben5_antd/schema/views/form.vue.vm index bdb7dd7d21..46e1ecc0a6 100644 --- a/yudao-module-infra/yudao-module-infra-biz/src/main/resources/codegen/vue3_vben5_antd/schema/views/form.vue.vm +++ b/yudao-module-infra/yudao-module-infra-biz/src/main/resources/codegen/vue3_vben5_antd/schema/views/form.vue.vm @@ -6,7 +6,9 @@ import { message, Tabs, Checkbox, Input, Textarea, Select,RadioGroup,CheckboxGro ## 特殊:主子表专属逻辑 #if ( $table.templateType == 10 || $table.templateType == 12 ) #foreach ($subSimpleClassName in $subSimpleClassNames) - import ${subSimpleClassName}Form from './${subSimpleClassName}Form.vue' + #set ($index = $foreach.count - 1) + #set ($subSimpleClassName_strikeCase = $subSimpleClassName_strikeCases.get($index)) + import ${subSimpleClassName}Form from './${subSimpleClassName_strikeCase}-form.vue' #end #end @@ -125,9 +127,7 @@ const [Modal, modalApi] = useVbenModal({ if (!data) { return; } - if (data.id) { - // 编辑 modalApi.lock(); try { data = await get${simpleClassName}(data.id); diff --git a/yudao-module-infra/yudao-module-infra-biz/src/main/resources/codegen/vue3_vben5_antd/schema/views/index.vue.vm b/yudao-module-infra/yudao-module-infra-biz/src/main/resources/codegen/vue3_vben5_antd/schema/views/index.vue.vm index 41c4692702..19bd1c9140 100644 --- a/yudao-module-infra/yudao-module-infra-biz/src/main/resources/codegen/vue3_vben5_antd/schema/views/index.vue.vm +++ b/yudao-module-infra/yudao-module-infra-biz/src/main/resources/codegen/vue3_vben5_antd/schema/views/index.vue.vm @@ -10,7 +10,9 @@ import Form from './modules/form.vue'; ## 特殊:主子表专属逻辑 #if ( $table.templateType == 11 || $table.templateType == 12 ) #foreach ($subSimpleClassName in $subSimpleClassNames) - import ${subSimpleClassName}List from './modules/${subSimpleClassName}List.vue' + #set ($index = $foreach.count - 1) + #set ($subSimpleClassName_strikeCase = $subSimpleClassName_strikeCases.get($index)) + import ${subSimpleClassName}List from './modules/${subSimpleClassName_strikeCase}-list.vue' #end #end @@ -54,12 +56,6 @@ function onRefresh() { #end } -/** 导出表格 */ -async function onExport() { - const data = await export${simpleClassName}(await gridApi.formApi.getValues()); - downloadByData(data, '${table.classComment}.xls'); -} - /** 创建${table.classComment} */ function onCreate() { formModalApi.setData({}).open(); @@ -96,6 +92,12 @@ async function onDelete(row: ${simpleClassName}Api.${simpleClassName}) { } } +/** 导出表格 */ +async function onExport() { + const data = await export${simpleClassName}(await gridApi.formApi.getValues()); + downloadByData(data, '${table.classComment}.xls'); +} + /** 表格操作按钮的回调函数 */ function onActionClick({ code, @@ -108,14 +110,14 @@ function onActionClick({ break; } #end - case 'delete': { - onDelete(row); - break; - } case 'edit': { onEdit(row); break; } + case 'delete': { + onDelete(row); + break; + } } } @@ -179,7 +181,7 @@ const [Grid, gridApi] = useVbenVxeGrid({ #if ($table.templateType == 12) ## 内嵌情况