refactor: 代码生成代码优化

This commit is contained in:
puhui999
2025-04-15 18:19:29 +08:00
parent f27774c1fc
commit 3cc9adc5b3
7 changed files with 60 additions and 89 deletions

View File

@@ -1,15 +1,13 @@
<script lang="ts" setup>
import type { VxeTableGridOptions } from '#/adapter/vxe-table';
import type { InfraCodegenApi } from '#/api/infra/codegen';
import type { InfraDataSourceConfigApi } from '#/api/infra/data-source-config';
import { useVbenModal } from '@vben/common-ui';
import { message } from 'ant-design-vue';
import { useVbenVxeGrid } from '#/adapter/vxe-table';
import { createCodegenList, getSchemaTableList } from '#/api/infra/codegen';
import { getDataSourceConfigList } from '#/api/infra/data-source-config';
import { reactive, ref, unref } from 'vue';
import { reactive } from 'vue';
import { $t } from '@vben/locales';
@@ -20,16 +18,15 @@ const emit = defineEmits<{
(e: 'success'): void;
}>();
const dataSourceConfigList = ref<InfraDataSourceConfigApi.InfraDataSourceConfig[]>([]);
const formData = reactive<InfraCodegenApi.CodegenCreateListReqVO>({
dataSourceConfigId: undefined,
dataSourceConfigId: 0,
tableNames: [], // 已选择的表列表
});
/** 表格实例 */
const [Grid, gridApi] = useVbenVxeGrid({
const [Grid] = useVbenVxeGrid({
formOptions: {
schema: useImportTableFormSchema([]),
schema: useImportTableFormSchema(),
},
gridOptions: {
// TODO @puhui999这个要不也挪出去保持统一
@@ -43,13 +40,8 @@ const [Grid, gridApi] = useVbenVxeGrid({
proxyConfig: {
ajax: {
query: async ({ page }, formValues) => {
// TODO @puhui999貌似可以直接使用 formValues.dataSourceConfigId。肯定可以读到值。
if (formValues.dataSourceConfigId === undefined) {
if (unref(dataSourceConfigList).length > 0) {
formValues.dataSourceConfigId = unref(dataSourceConfigList)[0]?.id;
} else {
return [];
}
return [];
}
formData.dataSourceConfigId = formValues.dataSourceConfigId;
return await getSchemaTableList({
@@ -119,23 +111,6 @@ const [Modal, modalApi] = useVbenModal({
}
},
});
/** 获取数据源配置列表 */
async function initDataSourceConfig() {
try {
dataSourceConfigList.value = await getDataSourceConfigList();
gridApi.setState({
formOptions: {
schema: useImportTableFormSchema(dataSourceConfigList.value),
},
});
} catch (error) {
console.error('获取数据源配置失败', error);
}
}
/** 初始化 */
initDataSourceConfig();
</script>
<template>