diff --git a/src/views/codegen/components/BasicConfigStep.vue b/src/views/codegen/components/BasicConfigStep.vue index a5c2a7e9..3cfd101c 100644 --- a/src/views/codegen/components/BasicConfigStep.vue +++ b/src/views/codegen/components/BasicConfigStep.vue @@ -109,13 +109,13 @@ - - - 普通 - - 封装(CRUD) + 封装 CRUD(推荐) + + + + 普通(兼容) diff --git a/src/views/codegen/components/FieldConfigStep.vue b/src/views/codegen/components/FieldConfigStep.vue index 29a311c7..31c9dbc6 100644 --- a/src/views/codegen/components/FieldConfigStep.vue +++ b/src/views/codegen/components/FieldConfigStep.vue @@ -131,6 +131,7 @@ :key="key" :label="item.label" :value="item.value" + :disabled="isQueryTypeDisabled(row, key)" /> @@ -212,9 +213,20 @@ const props = defineProps<{ aiChanges?: Record; }>(); +type FieldConfig = NonNullable[number]; + const formTypeOptions: Record = FormTypeEnum; const queryTypeOptions: Record = QueryTypeEnum; +/** + * 判断查询方式是否适用于字段类型 + */ +function isQueryTypeDisabled(row: FieldConfig, key: string): boolean { + if (key === "IN") return row.fieldType === "byte[]"; + if (key === "BETWEEN") return row.fieldType === "Boolean" || row.fieldType === "byte[]"; + return false; +} + const listRef = ref(); const sortFlag = ref(null); diff --git a/src/views/codegen/components/GeneratorDrawer.vue b/src/views/codegen/components/GeneratorDrawer.vue index 00def4d8..8214ab13 100644 --- a/src/views/codegen/components/GeneratorDrawer.vue +++ b/src/views/codegen/components/GeneratorDrawer.vue @@ -387,7 +387,7 @@ async function handleAiFill() { snapshotConfig(genConfigFormData.value); const filled = await GeneratorAPI.aiFillConfig(currentTableName.value); // 接口按表结构重建配置,页面类型等非字段项可能为空,沿用当前选择再补默认 - filled.pageType = filled.pageType || genConfigFormData.value.pageType || "classic"; + filled.pageType = filled.pageType || genConfigFormData.value.pageType || "crud"; const diff = resolveDiff(filled); genConfigFormData.value = applyDefaults(filled); if (diff.changeCount === 0) { @@ -484,7 +484,7 @@ async function handleNext() { } if (currentStep.value === STEP.PREVIEW) { - const pageType = genConfigFormData.value.pageType || "classic"; + const pageType = genConfigFormData.value.pageType || "crud"; await GeneratorAPI.download(currentTableName.value, pageType as "classic" | "crud", "ts"); } } diff --git a/src/views/codegen/components/PreviewStep.vue b/src/views/codegen/components/PreviewStep.vue index b7626dfd..71da9aeb 100644 --- a/src/views/codegen/components/PreviewStep.vue +++ b/src/views/codegen/components/PreviewStep.vue @@ -228,7 +228,7 @@ const fileCount = computed(() => { * 下载生成的代码 */ function handleDownload() { - const pageType = props.genConfigFormData.pageType || "classic"; + const pageType = props.genConfigFormData.pageType || "crud"; return GeneratorAPI.download(props.tableName, pageType as "classic" | "crud", "ts"); } diff --git a/src/views/codegen/composables/useCodePreview.ts b/src/views/codegen/composables/useCodePreview.ts index 644a9278..42b43cc2 100644 --- a/src/views/codegen/composables/useCodePreview.ts +++ b/src/views/codegen/composables/useCodePreview.ts @@ -37,7 +37,7 @@ export function useCodePreview(genConfigFormData: Ref) { */ async function handlePreview(tableName: string) { treeData.value = []; - const pageType = genConfigFormData.value.pageType || "classic"; + const pageType = genConfigFormData.value.pageType || "crud"; const data = await GeneratorAPI.getPreviewData(tableName, pageType as "classic" | "crud", "ts"); const previewList = data || []; diff --git a/src/views/codegen/composables/useGenConfig.ts b/src/views/codegen/composables/useGenConfig.ts index c60e8d1d..dc7ccb7a 100644 --- a/src/views/codegen/composables/useGenConfig.ts +++ b/src/views/codegen/composables/useGenConfig.ts @@ -11,7 +11,7 @@ import type { OptionItem } from "@/api/common"; export function useGenConfig() { const genConfigFormData = ref({ fieldConfigs: [], - pageType: "classic", + pageType: "crud", }); const genConfigFormRules = { @@ -63,11 +63,11 @@ export function useGenConfig() { ); /** - * 未保存过的表页面类型为空,统一补成普通表单 + * 未保存过的表页面类型为空,统一补成 CrudPage 页面 */ function applyDefaults(config: GenConfigForm): GenConfigForm { if (!config.pageType) { - config.pageType = "classic"; + config.pageType = "crud"; } return config; }