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 d35a7af37f..8f7420a810 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 @@ -393,6 +393,55 @@ export function use${subSimpleClassName}FormSchema(): VbenFormSchema[] { ]; } +/** 列表的搜索表单 */ +export function use${subSimpleClassName}GridFormSchema(): VbenFormSchema[] { + return [ + #foreach($column in $subColumns) + #if ($column.listOperation) + #set ($dictType = $column.dictType) + #set ($javaType = $column.javaType) + #set ($javaField = $column.javaField) + #set ($comment = $column.columnComment) + #if ($javaType == "Integer" || $javaType == "Long" || $javaType == "Byte" || $javaType == "Short") + #set ($dictMethod = "number") + #elseif ($javaType == "String") + #set ($dictMethod = "string") + #elseif ($javaType == "Boolean") + #set ($dictMethod = "boolean") + #end + { + fieldName: '${javaField}', + label: '${comment}', + #if ($column.htmlType == "input" || $column.htmlType == "textarea" || $column.htmlType == "editor") + component: 'Input', + componentProps: { + allowClear: true, + placeholder: '请输入${comment}', + }, + #elseif ($column.htmlType == "select" || $column.htmlType == "radio") + component: 'Select', + componentProps: { + allowClear: true, + #if ("" != $dictType)## 设置了 dictType 数据字典的情况 + options: getDictOptions(DICT_TYPE.$dictType.toUpperCase(), '$dictMethod'), + #else## 未设置 dictType 数据字典的情况 + options: [], + #end + placeholder: '请选择${comment}', + }, + #elseif($column.htmlType == "datetime") + component: 'RangePicker', + componentProps: { + ...getRangePickerDefaultProps(), + allowClear: true, + }, + #end + }, + #end + #end + ]; +} + /** 列表的字段 */ export function use${subSimpleClassName}GridColumns( onActionClick?: OnActionClickFn<${simpleClassName}Api.${subSimpleClassName}>, @@ -436,11 +485,11 @@ export function use${subSimpleClassName}GridColumns( options: [ { code: 'edit', - show: hasAccessByCodes(['${subTable.moduleName}:${subSimpleClassName_strikeCase}:update']), + show: hasAccessByCodes(['${table.moduleName}:${simpleClassName_strikeCase}:update']), }, { code: 'delete', - show: hasAccessByCodes(['${subTable.moduleName}:${subSimpleClassName_strikeCase}:delete']), + show: hasAccessByCodes(['${table.moduleName}:${simpleClassName_strikeCase}:delete']), }, ], }, 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 19bd1c9140..bf27df8052 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 @@ -28,9 +28,12 @@ import { downloadByData } from '#/utils/download'; import { useGridColumns, useGridFormSchema } from './data'; -#if ($table.templateType == 12) ## 内嵌情况 +#if ($table.templateType == 12 || $table.templateType == 11) ## 内嵌和erp情况 /** 子表的列表 */ const subTabsName = ref('$subClassNameVars.get(0)') +#if ($table.templateType == 11) +const select${simpleClassName} = ref<${simpleClassName}Api.${simpleClassName}>(); +#end #end const [FormModal, formModalApi] = useVbenModal({ @@ -127,7 +130,11 @@ const [Grid, gridApi] = useVbenVxeGrid({ }, gridOptions: { columns: useGridColumns(onActionClick), +#if (${table.templateType} == 11) + height: '600px', +#else height: 'auto', +#end #if (${table.templateType} == 2)## 树表设置 treeConfig: { parentField: '${treeParentColumn.javaField}', @@ -164,12 +171,22 @@ const [Grid, gridApi] = useVbenVxeGrid({ rowConfig: { keyField: 'id', isHover: true, +#if (${table.templateType} == 11) + isCurrent: true, +#end }, toolbarConfig: { refresh: { code: 'query' }, search: true, }, } as VxeTableGridOptions<${simpleClassName}Api.${simpleClassName}>, +#if (${table.templateType} == 11) + gridEvents:{ + cellClick: ({ row }: { row: ${simpleClassName}Api.${simpleClassName}}) => { + select${simpleClassName}.value = row; + }, + } +#end }); @@ -177,6 +194,9 @@ const [Grid, gridApi] = useVbenVxeGrid({ +#if ($table.templateType == 11) ## erp情况 +
+#end #if ($table.templateType == 12) ## 内嵌情况 + +#if ($table.templateType == 11) ## erp情况 + + + #foreach ($subTable in $subTables) + #set ($index = $foreach.count - 1) + #set ($subClassNameVar = $subClassNameVars.get($index)) + #set ($subSimpleClassName = $subSimpleClassNames.get($index)) + #set ($subJoinColumn_strikeCase = $subJoinColumn_strikeCases.get($index)) + + <${subSimpleClassName}List :${subJoinColumn_strikeCase}="select${simpleClassName}?.id" /> + + #end + +
+#end
diff --git a/yudao-module-infra/yudao-module-infra-biz/src/main/resources/codegen/vue3_vben5_antd/schema/views/modules/form_sub_erp.vue.vm b/yudao-module-infra/yudao-module-infra-biz/src/main/resources/codegen/vue3_vben5_antd/schema/views/modules/form_sub_erp.vue.vm index 8cfb015f78..1b2c3f8200 100644 --- a/yudao-module-infra/yudao-module-infra-biz/src/main/resources/codegen/vue3_vben5_antd/schema/views/modules/form_sub_erp.vue.vm +++ b/yudao-module-infra/yudao-module-infra-biz/src/main/resources/codegen/vue3_vben5_antd/schema/views/modules/form_sub_erp.vue.vm @@ -2,192 +2,85 @@ #set ($subColumns = $subColumnsList.get($subIndex))##当前字段数组 #set ($subJoinColumn = $subJoinColumns.get($subIndex))##当前 join 字段 #set ($subSimpleClassName = $subSimpleClassNames.get($subIndex)) -#set ($subClassNameVar = $subClassNameVars.get($subIndex)) -#set ($SubJoinColumnName = $subJoinColumn.javaField.substring(0,1).toUpperCase() + ${subJoinColumn.javaField.substring(1)})##首字母大写