From b0f4a252c747fadfda2d2d95b7be3e33f08f3ba7 Mon Sep 17 00:00:00 2001 From: puhui999 Date: Sat, 3 May 2025 15:06:09 +0800 Subject: [PATCH] =?UTF-8?q?=E3=80=90=E5=8A=9F=E8=83=BD=E5=AE=8C=E5=96=84?= =?UTF-8?q?=E3=80=91INFRA=EF=BC=9A=E4=BB=A3=E7=A0=81=E7=94=9F=E6=88=90=20v?= =?UTF-8?q?ben5=20antd=20=E6=A0=91=E8=A1=A8=E6=A8=A1=E7=89=88?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../vue3_vben5_antd/general/views/form.vue.vm | 26 +++++--- .../general/views/index.vue.vm | 63 +++++++++++++++++-- 2 files changed, 76 insertions(+), 13 deletions(-) diff --git a/yudao-module-infra/yudao-module-infra-biz/src/main/resources/codegen/vue3_vben5_antd/general/views/form.vue.vm b/yudao-module-infra/yudao-module-infra-biz/src/main/resources/codegen/vue3_vben5_antd/general/views/form.vue.vm index b013156fcf..e4d5b506ca 100644 --- a/yudao-module-infra/yudao-module-infra-biz/src/main/resources/codegen/vue3_vben5_antd/general/views/form.vue.vm +++ b/yudao-module-infra/yudao-module-infra-biz/src/main/resources/codegen/vue3_vben5_antd/general/views/form.vue.vm @@ -5,11 +5,11 @@ import type { Rule } from 'ant-design-vue/es/form'; import { useVbenModal } from '@vben/common-ui'; import { Tinymce as RichTextarea } from '#/components/tinymce'; import { ImageUpload, FileUpload } from "#/components/upload"; -import { message, Tabs, Form, Input, Textarea, Select, RadioGroup, Radio, CheckboxGroup, Checkbox, DatePicker } from 'ant-design-vue'; +import { message, Tabs, Form, Input, Textarea, Select, RadioGroup, Radio, CheckboxGroup, Checkbox, DatePicker, TreeSelect } from 'ant-design-vue'; import { DICT_TYPE, getDictOptions } from '#/utils/dict'; #if($table.templateType == 2)## 树表需要导入这些 import { get${simpleClassName}List } from '#/api/${table.moduleName}/${simpleClassName_strikeCase}'; -import { handleTree } from '#/utils/tree'; +import { handleTree } from '@vben/utils' #end ## 特殊:主子表专属逻辑 #if ( $table.templateType == 10 || $table.templateType == 12 ) @@ -90,10 +90,12 @@ const resetForm = () => { /** 获得${table.classComment}树 */ const get${simpleClassName}Tree = async () => { ${classNameVar}Tree.value = [] - const data = await get${simpleClassName}List() - const root: Tree = { id: 0, name: '顶级${table.classComment}', children: [] } - root.children = handleTree(data, 'id', '${treeParentColumn.javaField}') - ${classNameVar}Tree.value.push(root) + const data = await get${simpleClassName}List({}); + data.unshift({ + id: 0, + name: '顶级${table.classComment}', + }); + ${classNameVar}Tree.value = handleTree(data); } #end @@ -205,9 +207,17 @@ const [Modal, modalApi] = useVbenModal({ v-model:value="formData.${javaField}" :treeData="${classNameVar}Tree" #if ($treeNameColumn.javaField == "name") - :fieldNames="defaultProps" + :fieldNames="{ + label: 'name', + value: 'id', + children: 'children', + }" #else - :fieldNames="{...defaultProps, label: '$treeNameColumn.javaField'}" + :fieldNames="{ + label: '$treeNameColumn.javaField', + value: 'id', + children: 'children', + }" #end checkable treeDefaultExpandAll diff --git a/yudao-module-infra/yudao-module-infra-biz/src/main/resources/codegen/vue3_vben5_antd/general/views/index.vue.vm b/yudao-module-infra/yudao-module-infra-biz/src/main/resources/codegen/vue3_vben5_antd/general/views/index.vue.vm index a14c6ba2ff..334589e638 100644 --- a/yudao-module-infra/yudao-module-infra-biz/src/main/resources/codegen/vue3_vben5_antd/general/views/index.vue.vm +++ b/yudao-module-infra/yudao-module-infra-biz/src/main/resources/codegen/vue3_vben5_antd/general/views/index.vue.vm @@ -26,7 +26,7 @@ import { getRangePickerDefaultProps } from '#/utils/date'; import { ref, h, reactive,onMounted,nextTick } from 'vue'; import { $t } from '#/locales'; #if (${table.templateType} == 2)## 树表接口 -import { handleTree } from '@/utils/tree' +import { handleTree,isEmpty } from '@vben/utils' import { get${simpleClassName}List, delete${simpleClassName}, export${simpleClassName} } from '#/api/${table.moduleName}/${simpleClassName_strikeCase}'; #else## 标准表接口 import { get${simpleClassName}Page, delete${simpleClassName}, export${simpleClassName} } from '#/api/${table.moduleName}/${simpleClassName_strikeCase}'; @@ -42,7 +42,12 @@ const select${simpleClassName} = ref<${simpleClassName}Api.${simpleClassName}>() #end const loading = ref(true) // 列表的加载中 +#if ( $table.templateType == 2 ) +const list = ref([]) // 树列表的数据 +#else const list = ref<${simpleClassName}Api.${simpleClassName}[]>([]) // 列表的数据 +#end + ## 特殊:树表专属逻辑(树不需要分页接口) #if ( $table.templateType != 2 ) const total = ref(0) // 列表的总页数 @@ -83,8 +88,7 @@ const getList = async () => { #end ## 特殊:树表专属逻辑(树不需要分页接口) #if ( $table.templateType == 2 ) - const data = await get${simpleClassName}List(params) - list.value = handleTree(data, 'id', '${treeParentColumn.javaField}') + list.value = await get${simpleClassName}List(params); #else const data = await get${simpleClassName}Page(params) list.value = data.list @@ -97,7 +101,9 @@ const getList = async () => { /** 搜索按钮操作 */ const handleQuery = () => { +#if ( $table.templateType != 2 ) queryParams.pageNo = 1 +#end getList() } @@ -163,6 +169,16 @@ try { const hiddenSearchBar = ref(false); const tableToolbarRef = ref>(); const tableRef = ref(); + +#if (${table.templateType} == 2) +/** 切换树形展开/收缩状态 */ +const isExpanded = ref(true); +function toggleExpand() { + isExpanded.value = !isExpanded.value; + tableRef.value?.setAllTreeExpand(isExpanded.value); +} +#end + /** 初始化 */ onMounted(async () => { await getList(); @@ -270,6 +286,11 @@ onMounted(async () => { ref="tableToolbarRef" v-model:hidden-search="hiddenSearchBar" > + #if (${table.templateType} == 2) + + #end - + ## 特殊:主子表专属逻辑 #if ( $table.templateType == 12 && $subTables && $subTables.size() > 0 ) @@ -330,6 +365,8 @@ onMounted(async () => { + #elseif ($table.templateType == 2 && $javaField == $treeNameColumn.javaField) + #else #end @@ -337,6 +374,16 @@ onMounted(async () => { #end +#if ( $table.templateType != 2 )
{ @change="getList" />
+#end #if ($table.templateType == 11) ## erp情况