Commit 74712db1a8083a8f195e10cf0626347064dabe5e
1 parent
38c76806
perf: vben5 代码生成
Showing
3 changed files
with
16 additions
and
36 deletions
yudao-module-infra/yudao-module-infra-biz/src/main/resources/codegen/vue3_vben5_antd/general/views/index.vue.vm
| 1 | <script lang="ts" setup> | 1 | <script lang="ts" setup> |
| 2 | import type { ${simpleClassName}Api } from '#/api/${table.moduleName}/${simpleClassName_strikeCase}'; | 2 | import type { ${simpleClassName}Api } from '#/api/${table.moduleName}/${simpleClassName_strikeCase}'; |
| 3 | -import type { VxeTableInstance } from 'vxe-table'; | 3 | +import type { VxeTableInstance } from '#/adapter/vxe-table'; |
| 4 | 4 | ||
| 5 | import { Page, useVbenModal } from '@vben/common-ui'; | 5 | import { Page, useVbenModal } from '@vben/common-ui'; |
| 6 | import { cloneDeep, formatDateTime } from '@vben/utils'; | 6 | import { cloneDeep, formatDateTime } from '@vben/utils'; |
| @@ -9,9 +9,10 @@ import { DictTag } from '#/components/dict-tag'; | @@ -9,9 +9,10 @@ import { DictTag } from '#/components/dict-tag'; | ||
| 9 | import { DICT_TYPE, getDictOptions, getRangePickerDefaultProps } from '#/utils'; | 9 | import { DICT_TYPE, getDictOptions, getRangePickerDefaultProps } from '#/utils'; |
| 10 | import ${simpleClassName}Form from './modules/form.vue'; | 10 | import ${simpleClassName}Form from './modules/form.vue'; |
| 11 | import { Download, Plus, RefreshCw, Search } from '@vben/icons'; | 11 | import { Download, Plus, RefreshCw, Search } from '@vben/icons'; |
| 12 | -import { ContentWrap } from "#/components/content-wrap"; | ||
| 13 | -import { VxeColumn, VxeTable } from 'vxe-table'; | 12 | +import { ContentWrap } from '#/components/content-wrap'; |
| 13 | +import { VxeColumn, VxeTable } from '#/adapter/vxe-table'; | ||
| 14 | import { TableToolbar } from '#/components/table-toolbar'; | 14 | import { TableToolbar } from '#/components/table-toolbar'; |
| 15 | +import { useTableToolbar } from '#/hooks'; | ||
| 15 | 16 | ||
| 16 | ## 特殊:主子表专属逻辑 | 17 | ## 特殊:主子表专属逻辑 |
| 17 | #if ( $table.templateType == 11 || $table.templateType == 12 ) | 18 | #if ( $table.templateType == 11 || $table.templateType == 12 ) |
| @@ -167,11 +168,6 @@ try { | @@ -167,11 +168,6 @@ try { | ||
| 167 | } | 168 | } |
| 168 | } | 169 | } |
| 169 | 170 | ||
| 170 | -/** 隐藏搜索栏 */ | ||
| 171 | -const hiddenSearchBar = ref(false); | ||
| 172 | -const tableToolbarRef = ref<InstanceType<typeof TableToolbar>>(); | ||
| 173 | -const tableRef = ref<VxeTableInstance>(); | ||
| 174 | - | ||
| 175 | #if (${table.templateType} == 2) | 171 | #if (${table.templateType} == 2) |
| 176 | /** 切换树形展开/收缩状态 */ | 172 | /** 切换树形展开/收缩状态 */ |
| 177 | const isExpanded = ref(true); | 173 | const isExpanded = ref(true); |
| @@ -182,15 +178,9 @@ function toggleExpand() { | @@ -182,15 +178,9 @@ function toggleExpand() { | ||
| 182 | #end | 178 | #end |
| 183 | 179 | ||
| 184 | /** 初始化 */ | 180 | /** 初始化 */ |
| 185 | -onMounted(async () => { | ||
| 186 | - await getList(); | ||
| 187 | - await nextTick(); | ||
| 188 | - // 挂载 toolbar 工具栏 | ||
| 189 | - const table = tableRef.value; | ||
| 190 | - const tableToolbar = tableToolbarRef.value; | ||
| 191 | - if (table && tableToolbar) { | ||
| 192 | - await table.connect(tableToolbar.getToolbarRef()!); | ||
| 193 | - } | 181 | +const { hiddenSearchBar, tableToolbarRef, tableRef } = useTableToolbar(); |
| 182 | +onMounted(() => { | ||
| 183 | + getList(); | ||
| 194 | }); | 184 | }); |
| 195 | </script> | 185 | </script> |
| 196 | 186 |
yudao-module-infra/yudao-module-infra-biz/src/main/resources/codegen/vue3_vben5_antd/general/views/modules/form_sub_normal.vue.vm
| @@ -13,9 +13,9 @@ | @@ -13,9 +13,9 @@ | ||
| 13 | import { DICT_TYPE, getDictOptions } from '#/utils'; | 13 | import { DICT_TYPE, getDictOptions } from '#/utils'; |
| 14 | 14 | ||
| 15 | #if ($subTable.subJoinMany) ## 一对多 | 15 | #if ($subTable.subJoinMany) ## 一对多 |
| 16 | -import type { VxeTableInstance } from 'vxe-table'; | 16 | +import type { VxeTableInstance } from '#/adapter/vxe-table'; |
| 17 | import { Plus } from "@vben/icons"; | 17 | import { Plus } from "@vben/icons"; |
| 18 | -import { VxeColumn, VxeTable } from 'vxe-table'; | 18 | +import { VxeColumn, VxeTable } from '#/adapter/vxe-table'; |
| 19 | import { get${subSimpleClassName}ListBy${SubJoinColumnName} } from '#/api/${table.moduleName}/${simpleClassName_strikeCase}'; | 19 | import { get${subSimpleClassName}ListBy${SubJoinColumnName} } from '#/api/${table.moduleName}/${simpleClassName_strikeCase}'; |
| 20 | #else | 20 | #else |
| 21 | import type { Rule } from 'ant-design-vue/es/form'; | 21 | import type { Rule } from 'ant-design-vue/es/form'; |
yudao-module-infra/yudao-module-infra-biz/src/main/resources/codegen/vue3_vben5_antd/general/views/modules/list_sub_erp.vue.vm
| @@ -7,14 +7,14 @@ | @@ -7,14 +7,14 @@ | ||
| 7 | #set ($SubJoinColumnName = $subJoinColumn.javaField.substring(0,1).toUpperCase() + ${subJoinColumn.javaField.substring(1)})##首字母大写 | 7 | #set ($SubJoinColumnName = $subJoinColumn.javaField.substring(0,1).toUpperCase() + ${subJoinColumn.javaField.substring(1)})##首字母大写 |
| 8 | <script lang="ts" setup> | 8 | <script lang="ts" setup> |
| 9 | import type { ${simpleClassName}Api } from '#/api/${table.moduleName}/${simpleClassName_strikeCase}'; | 9 | import type { ${simpleClassName}Api } from '#/api/${table.moduleName}/${simpleClassName_strikeCase}'; |
| 10 | - import type { VxeTableInstance } from 'vxe-table'; | 10 | + import type { VxeTableInstance } from '#/adapter/vxe-table'; |
| 11 | 11 | ||
| 12 | import { DictTag } from '#/components/dict-tag'; | 12 | import { DictTag } from '#/components/dict-tag'; |
| 13 | import { DICT_TYPE, getDictOptions } from '#/utils'; | 13 | import { DICT_TYPE, getDictOptions } from '#/utils'; |
| 14 | - import { VxeColumn, VxeTable } from 'vxe-table'; | 14 | + import { VxeColumn, VxeTable } from '#/adapter/vxe-table'; |
| 15 | import { reactive,ref, h, nextTick,watch,onMounted } from 'vue'; | 15 | import { reactive,ref, h, nextTick,watch,onMounted } from 'vue'; |
| 16 | import { cloneDeep, formatDateTime } from '@vben/utils'; | 16 | import { cloneDeep, formatDateTime } from '@vben/utils'; |
| 17 | - import { ContentWrap } from "#/components/content-wrap"; | 17 | + import { ContentWrap } from '#/components/content-wrap'; |
| 18 | 18 | ||
| 19 | #if ($table.templateType == 11) ## erp | 19 | #if ($table.templateType == 11) ## erp |
| 20 | import { useVbenModal } from '@vben/common-ui'; | 20 | import { useVbenModal } from '@vben/common-ui'; |
| @@ -26,6 +26,7 @@ | @@ -26,6 +26,7 @@ | ||
| 26 | import { Plus } from '@vben/icons'; | 26 | import { Plus } from '@vben/icons'; |
| 27 | import { $t } from '#/locales'; | 27 | import { $t } from '#/locales'; |
| 28 | import { TableToolbar } from '#/components/table-toolbar'; | 28 | import { TableToolbar } from '#/components/table-toolbar'; |
| 29 | + import { useTableToolbar } from '#/hooks'; | ||
| 29 | #end | 30 | #end |
| 30 | 31 | ||
| 31 | #if ($table.templateType == 11) ## erp | 32 | #if ($table.templateType == 11) ## erp |
| @@ -165,21 +166,10 @@ const resetQuery = () => { | @@ -165,21 +166,10 @@ const resetQuery = () => { | ||
| 165 | ); | 166 | ); |
| 166 | 167 | ||
| 167 | #if ($table.templateType == 11) ## erp | 168 | #if ($table.templateType == 11) ## erp |
| 168 | -/** 隐藏搜索栏 */ | ||
| 169 | -const hiddenSearchBar = ref(false); | ||
| 170 | -const tableToolbarRef = ref<InstanceType<typeof TableToolbar>>(); | ||
| 171 | -const tableRef = ref<VxeTableInstance>(); | ||
| 172 | - | ||
| 173 | /** 初始化 */ | 169 | /** 初始化 */ |
| 174 | -onMounted(async () => { | ||
| 175 | - await getList(); | ||
| 176 | - await nextTick(); | ||
| 177 | - // 挂载 toolbar 工具栏 | ||
| 178 | - const table = tableRef.value; | ||
| 179 | - const tableToolbar = tableToolbarRef.value; | ||
| 180 | - if (table && tableToolbar) { | ||
| 181 | - await table.connect(tableToolbar.getToolbarRef()!); | ||
| 182 | - } | 170 | +const { hiddenSearchBar, tableToolbarRef, tableRef } = useTableToolbar(); |
| 171 | +onMounted(() => { | ||
| 172 | + getList(); | ||
| 183 | }); | 173 | }); |
| 184 | #end | 174 | #end |
| 185 | </script> | 175 | </script> |