Browse Source

perf: vben5 代码生成

puhui999 6 months ago
parent
commit
74712db1a8

+ 7 - 17
yudao-module-infra/yudao-module-infra-biz/src/main/resources/codegen/vue3_vben5_antd/general/views/index.vue.vm

@@ -1,6 +1,6 @@
 <script lang="ts" setup>
 import type { ${simpleClassName}Api } from '#/api/${table.moduleName}/${simpleClassName_strikeCase}';
-import type { VxeTableInstance } from 'vxe-table';
+import type { VxeTableInstance } from '#/adapter/vxe-table';
 
 import { Page, useVbenModal } from '@vben/common-ui';
 import { cloneDeep, formatDateTime } from '@vben/utils';
@@ -9,9 +9,10 @@ import { DictTag } from '#/components/dict-tag';
 import { DICT_TYPE, getDictOptions, getRangePickerDefaultProps } from '#/utils';
 import ${simpleClassName}Form from './modules/form.vue';
 import { Download, Plus, RefreshCw, Search } from '@vben/icons';
-import { ContentWrap } from "#/components/content-wrap";
-import { VxeColumn, VxeTable } from 'vxe-table';
+import { ContentWrap } from '#/components/content-wrap';
+import { VxeColumn, VxeTable } from '#/adapter/vxe-table';
 import { TableToolbar } from '#/components/table-toolbar';
+import { useTableToolbar } from '#/hooks';
 
 ## 特殊:主子表专属逻辑
 #if ( $table.templateType == 11 || $table.templateType == 12 )
@@ -167,11 +168,6 @@ try {
 }
 }
 
-/** 隐藏搜索栏 */
-const hiddenSearchBar = ref(false);
-const tableToolbarRef = ref<InstanceType<typeof TableToolbar>>();
-const tableRef = ref<VxeTableInstance>();
-
 #if (${table.templateType} == 2)
 /** 切换树形展开/收缩状态 */
 const isExpanded = ref(true);
@@ -182,15 +178,9 @@ function toggleExpand() {
 #end
 
 /** 初始化 */
-onMounted(async () => {
-  await getList();
-  await nextTick();
-  // 挂载 toolbar 工具栏
-  const table = tableRef.value;
-  const tableToolbar = tableToolbarRef.value;
-  if (table && tableToolbar) {
-    await table.connect(tableToolbar.getToolbarRef()!);
-  }
+const { hiddenSearchBar, tableToolbarRef, tableRef } = useTableToolbar();
+onMounted(() => {
+  getList();
 });
 </script>
 

+ 2 - 2
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 @@
   import { DICT_TYPE, getDictOptions } from '#/utils';
 
 #if ($subTable.subJoinMany) ## 一对多
-import type { VxeTableInstance } from 'vxe-table';
+import type { VxeTableInstance } from '#/adapter/vxe-table';
 import { Plus } from "@vben/icons";
-import { VxeColumn, VxeTable } from 'vxe-table';
+import { VxeColumn, VxeTable } from '#/adapter/vxe-table';
 import { get${subSimpleClassName}ListBy${SubJoinColumnName} } from '#/api/${table.moduleName}/${simpleClassName_strikeCase}';
 #else
 import type { Rule } from 'ant-design-vue/es/form';

+ 7 - 17
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 @@
 #set ($SubJoinColumnName = $subJoinColumn.javaField.substring(0,1).toUpperCase() + ${subJoinColumn.javaField.substring(1)})##首字母大写
 <script lang="ts" setup>
   import type { ${simpleClassName}Api } from '#/api/${table.moduleName}/${simpleClassName_strikeCase}';
-  import type { VxeTableInstance } from 'vxe-table';
+  import type { VxeTableInstance } from '#/adapter/vxe-table';
 
   import { DictTag } from '#/components/dict-tag';
   import { DICT_TYPE, getDictOptions } from '#/utils';
-  import { VxeColumn, VxeTable } from 'vxe-table';
+  import { VxeColumn, VxeTable } from '#/adapter/vxe-table';
   import { reactive,ref, h, nextTick,watch,onMounted } from 'vue';
   import { cloneDeep, formatDateTime } from '@vben/utils';
-  import { ContentWrap } from "#/components/content-wrap";
+  import { ContentWrap } from '#/components/content-wrap';
 
 #if ($table.templateType == 11) ## erp
     import { useVbenModal } from '@vben/common-ui';
@@ -26,6 +26,7 @@
     import { Plus } from '@vben/icons';
     import { $t } from '#/locales';
     import { TableToolbar } from '#/components/table-toolbar';
+    import { useTableToolbar } from '#/hooks';
 #end
 
 #if ($table.templateType == 11) ## erp
@@ -165,21 +166,10 @@ const resetQuery = () => {
   );
 
 #if ($table.templateType == 11) ## erp
-/** 隐藏搜索栏 */
-const hiddenSearchBar = ref(false);
-const tableToolbarRef = ref<InstanceType<typeof TableToolbar>>();
-const tableRef = ref<VxeTableInstance>();
-
 /** 初始化 */
-onMounted(async () => {
-  await getList();
-  await nextTick();
-  // 挂载 toolbar 工具栏
-  const table = tableRef.value;
-  const tableToolbar = tableToolbarRef.value;
-  if (table && tableToolbar) {
-    await table.connect(tableToolbar.getToolbarRef()!);
-  }
+const { hiddenSearchBar, tableToolbarRef, tableRef } = useTableToolbar();
+onMounted(() => {
+  getList();
 });
 #end
 </script>