diff --git a/continew-admin-plugins/continew-admin-generator/src/main/java/top/continew/admin/generator/model/entity/FieldConfigDO.java b/continew-admin-plugins/continew-admin-generator/src/main/java/top/continew/admin/generator/model/entity/FieldConfigDO.java index 8729c05c..fdc30bc7 100644 --- a/continew-admin-plugins/continew-admin-generator/src/main/java/top/continew/admin/generator/model/entity/FieldConfigDO.java +++ b/continew-admin-plugins/continew-admin-generator/src/main/java/top/continew/admin/generator/model/entity/FieldConfigDO.java @@ -141,6 +141,12 @@ public class FieldConfigDO implements Serializable { @Schema(description = "查询方式", example = "1") private QueryTypeEnum queryType; + /** + * 字典编码 + */ + @Schema(description = "字典编码", example = "notice_type") + private String dictCode; + /** * 创建时间 */ diff --git a/continew-admin-plugins/continew-admin-generator/src/main/java/top/continew/admin/generator/service/impl/GeneratorServiceImpl.java b/continew-admin-plugins/continew-admin-generator/src/main/java/top/continew/admin/generator/service/impl/GeneratorServiceImpl.java index eaeb1a66..59fc703b 100644 --- a/continew-admin-plugins/continew-admin-generator/src/main/java/top/continew/admin/generator/service/impl/GeneratorServiceImpl.java +++ b/continew-admin-plugins/continew-admin-generator/src/main/java/top/continew/admin/generator/service/impl/GeneratorServiceImpl.java @@ -366,27 +366,35 @@ public class GeneratorServiceImpl implements GeneratorService { .toList(); genConfigMap.put("fieldConfigs", fieldConfigList); // 统计部分特殊字段特征 - genConfigMap.put("hasLocalDateTime", false); - genConfigMap.put("hasBigDecimal", false); + genConfigMap.put("hasLocalDateTimeField", false); + genConfigMap.put("hasBigDecimalField", false); genConfigMap.put("hasRequiredField", false); - genConfigMap.put("hasListQueryField", false); + genConfigMap.put("hasListField", false); + Set dictCodeSet = new HashSet<>(); for (FieldConfigDO fieldConfig : fieldConfigList) { String fieldType = fieldConfig.getFieldType(); if ("LocalDateTime".equals(fieldType)) { - genConfigMap.put("hasLocalDateTime", true); + genConfigMap.put("hasLocalDateTimeField", true); } if ("BigDecimal".equals(fieldType)) { - genConfigMap.put("hasBigDecimal", true); + genConfigMap.put("hasBigDecimalField", true); } + // 必填项 if (Boolean.TRUE.equals(fieldConfig.getIsRequired())) { genConfigMap.put("hasRequiredField", true); } + // 字典码 + if (StrUtil.isNotBlank(fieldConfig.getDictCode())) { + genConfigMap.put("hasDictField", true); + dictCodeSet.add(fieldConfig.getDictCode()); + } QueryTypeEnum queryType = fieldConfig.getQueryType(); if (null != queryType && StrUtil.equalsAny(queryType.name(), QueryTypeEnum.IN.name(), QueryTypeEnum.NOT_IN .name(), QueryTypeEnum.BETWEEN.name())) { - genConfigMap.put("hasListQueryField", true); + genConfigMap.put("hasListField", true); } } + genConfigMap.put("dictCodes", dictCodeSet); String subPackageName = templateConfig.getPackageName(); genConfigMap.put("subPackageName", subPackageName); } diff --git a/continew-admin-plugins/continew-admin-generator/src/main/resources/templates/backend/DetailResp.ftl b/continew-admin-plugins/continew-admin-generator/src/main/resources/templates/backend/DetailResp.ftl index 1bcf7cce..0cbd6d24 100644 --- a/continew-admin-plugins/continew-admin-generator/src/main/resources/templates/backend/DetailResp.ftl +++ b/continew-admin-plugins/continew-admin-generator/src/main/resources/templates/backend/DetailResp.ftl @@ -1,10 +1,10 @@ package ${packageName}.${subPackageName}; import java.io.Serial; -<#if hasLocalDateTime> +<#if hasLocalDateTimeField> import java.time.LocalDateTime; -<#if hasBigDecimal> +<#if hasBigDecimalField> import java.math.BigDecimal; diff --git a/continew-admin-plugins/continew-admin-generator/src/main/resources/templates/backend/Entity.ftl b/continew-admin-plugins/continew-admin-generator/src/main/resources/templates/backend/Entity.ftl index dabca8a4..930db4ff 100644 --- a/continew-admin-plugins/continew-admin-generator/src/main/resources/templates/backend/Entity.ftl +++ b/continew-admin-plugins/continew-admin-generator/src/main/resources/templates/backend/Entity.ftl @@ -1,10 +1,10 @@ package ${packageName}.${subPackageName}; import java.io.Serial; -<#if hasLocalDateTime> +<#if hasLocalDateTimeField> import java.time.LocalDateTime; -<#if hasBigDecimal> +<#if hasBigDecimalField> import java.math.BigDecimal; diff --git a/continew-admin-plugins/continew-admin-generator/src/main/resources/templates/backend/Query.ftl b/continew-admin-plugins/continew-admin-generator/src/main/resources/templates/backend/Query.ftl index 42a941d9..697cbf3b 100644 --- a/continew-admin-plugins/continew-admin-generator/src/main/resources/templates/backend/Query.ftl +++ b/continew-admin-plugins/continew-admin-generator/src/main/resources/templates/backend/Query.ftl @@ -2,13 +2,13 @@ package ${packageName}.${subPackageName}; import java.io.Serial; import java.io.Serializable; -<#if hasLocalDateTime> +<#if hasLocalDateTimeField> import java.time.LocalDateTime; -<#if hasBigDecimal> +<#if hasBigDecimalField> import java.math.BigDecimal; -<#if hasListQueryField> +<#if hasListField> import java.util.List; diff --git a/continew-admin-plugins/continew-admin-generator/src/main/resources/templates/backend/Req.ftl b/continew-admin-plugins/continew-admin-generator/src/main/resources/templates/backend/Req.ftl index e57d1c58..524df495 100644 --- a/continew-admin-plugins/continew-admin-generator/src/main/resources/templates/backend/Req.ftl +++ b/continew-admin-plugins/continew-admin-generator/src/main/resources/templates/backend/Req.ftl @@ -1,10 +1,10 @@ package ${packageName}.${subPackageName}; import java.io.Serial; -<#if hasLocalDateTime> +<#if hasLocalDateTimeField> import java.time.LocalDateTime; -<#if hasBigDecimal> +<#if hasBigDecimalField> import java.math.BigDecimal; diff --git a/continew-admin-plugins/continew-admin-generator/src/main/resources/templates/backend/Resp.ftl b/continew-admin-plugins/continew-admin-generator/src/main/resources/templates/backend/Resp.ftl index fad6c26c..61ec3fa4 100644 --- a/continew-admin-plugins/continew-admin-generator/src/main/resources/templates/backend/Resp.ftl +++ b/continew-admin-plugins/continew-admin-generator/src/main/resources/templates/backend/Resp.ftl @@ -1,10 +1,10 @@ package ${packageName}.${subPackageName}; import java.io.Serial; -<#if hasLocalDateTime> +<#if hasLocalDateTimeField> import java.time.LocalDateTime; -<#if hasBigDecimal> +<#if hasBigDecimalField> import java.math.BigDecimal; diff --git a/continew-admin-plugins/continew-admin-generator/src/main/resources/templates/frontend/AddModal.ftl b/continew-admin-plugins/continew-admin-generator/src/main/resources/templates/frontend/AddModal.ftl index 5cc3c911..a74ab452 100644 --- a/continew-admin-plugins/continew-admin-generator/src/main/resources/templates/frontend/AddModal.ftl +++ b/continew-admin-plugins/continew-admin-generator/src/main/resources/templates/frontend/AddModal.ftl @@ -29,15 +29,9 @@ const isUpdate = computed(() => !!dataId.value) const title = computed(() => (isUpdate.value ? '修改${businessName}' : '新增${businessName}')) const formRef = ref>() -<#list fieldConfigs as fieldConfig> -<#if fieldConfig.showInForm> -<#-- SELECT/RADIO/CHECK_BOX/TREE_SELECT控件从服务器端获取数据 --> -<#if fieldConfig.formType = 'SELECT' || fieldConfig.formType = 'RADIO' - || fieldConfig.formType = 'CHECK_BOX' || fieldConfig.formType = 'TREE_SELECT'> -const { ${fieldConfig.columnName}_enum } = useDict('${fieldConfig.columnName}_enum') +<#if hasDictField> +const { <#list dictCodes as dictCode>${dictCode}<#if dictCode_has_next>, } = useDict(<#list dictCodes as dictCode>'${dictCode}'<#if dictCode_has_next>,) - - const options: Options = { form: {}, @@ -67,16 +61,15 @@ const columns: Columns = reactive([ type: 'switch', <#elseif fieldConfig.formType = 'CHECK_BOX'> type: 'check-group', - options: ${fieldConfig.columnName}_enum, <#elseif fieldConfig.formType = 'TREE_SELECT'> type: 'tree-select', - data: '${fieldConfig.columnName}_enum', <#elseif fieldConfig.formType = 'SELECT'> type: 'select', - options: ${fieldConfig.columnName}_enum, <#elseif fieldConfig.formType = 'RADIO'> - type: 'radio-group', - options: ${fieldConfig.columnName}_enum, + type: 'radio-group' + + <#if fieldConfig.dictCode?? && fieldConfig.dictCode != ''> + options: ${fieldConfig.dictCode}, <#if fieldConfig.isRequired> rules: [{ required: true, message: '请输入${fieldConfig.comment}' }] diff --git a/continew-admin-plugins/continew-admin-generator/src/main/resources/templates/frontend/index.ftl b/continew-admin-plugins/continew-admin-generator/src/main/resources/templates/frontend/index.ftl index 0874d069..f99c3b43 100644 --- a/continew-admin-plugins/continew-admin-generator/src/main/resources/templates/frontend/index.ftl +++ b/continew-admin-plugins/continew-admin-generator/src/main/resources/templates/frontend/index.ftl @@ -12,62 +12,51 @@ :disabled-column-keys="['name']" @refresh="search" > + <#-- 查询字段配置 --> + <#-- 列字段配置 --> + <#list fieldConfigs as fieldConfig> + <#if fieldConfig.showInList> + <#if fieldConfig.dictCode?? && fieldConfig.dictCode != ""> + + + +