From 66aac47a43e4d66572515f642653a201552c44a7 Mon Sep 17 00:00:00 2001 From: zhoumingfa Date: Tue, 1 Apr 2025 17:44:29 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BC=98=E5=8C=96=E4=BB=A3=E7=A0=81=E7=94=9F?= =?UTF-8?q?=E6=88=90=E6=A8=A1=E5=9D=97=EF=BC=8C=E4=BD=BF=E5=85=B6=E9=80=82?= =?UTF-8?q?=E9=85=8D=E5=BD=93=E5=89=8D=E7=89=88=E6=9C=AC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/CodeGeneratorTemplateService.java | 3 +- .../CodeGenerateBaseVariableService.java | 7 ++- .../variable/front/FormVariableService.java | 1 + .../variable/front/ListVariableService.java | 53 +++++++++++++------ .../java/sql/Menu.sql.vm | 8 +-- .../code-generator-template/js/form.vue.vm | 8 +-- .../code-generator-template/js/list.vue.vm | 18 ++----- .../service/CodeGeneratorTemplateService.java | 2 +- .../CodeGenerateBaseVariableService.java | 7 ++- .../variable/front/FormVariableService.java | 1 + .../variable/front/ListVariableService.java | 51 ++++++++++++------ .../java/sql/Menu.sql.vm | 8 +-- .../code-generator-template/js/form.vue.vm | 8 +-- .../code-generator-template/js/list.vue.vm | 18 ++----- 14 files changed, 105 insertions(+), 88 deletions(-) diff --git a/smart-admin-api-java17-springboot3/sa-base/src/main/java/net/lab1024/sa/base/module/support/codegenerator/service/CodeGeneratorTemplateService.java b/smart-admin-api-java17-springboot3/sa-base/src/main/java/net/lab1024/sa/base/module/support/codegenerator/service/CodeGeneratorTemplateService.java index 22cd5e09..daab3382 100644 --- a/smart-admin-api-java17-springboot3/sa-base/src/main/java/net/lab1024/sa/base/module/support/codegenerator/service/CodeGeneratorTemplateService.java +++ b/smart-admin-api-java17-springboot3/sa-base/src/main/java/net/lab1024/sa/base/module/support/codegenerator/service/CodeGeneratorTemplateService.java @@ -33,7 +33,6 @@ import org.springframework.stereotype.Service; import java.io.File; import java.io.OutputStream; import java.io.StringWriter; -import java.nio.charset.Charset; import java.nio.charset.StandardCharsets; import java.util.*; import java.util.stream.Collectors; @@ -159,7 +158,7 @@ public class CodeGeneratorTemplateService { CodeDelete deleteInfo = JSON.parseObject(codeGeneratorConfigEntity.getDeleteInfo(), CodeDelete.class); List queryFields = JSONArray.parseArray(codeGeneratorConfigEntity.getQueryFields(), CodeQueryField.class); List tableFields = JSONArray.parseArray(codeGeneratorConfigEntity.getTableFields(), CodeTableField.class); - tableFields.stream().forEach(e -> e.setWidth(e.getWidth() == null ? 0 : e.getWidth())); + tableFields.forEach(e -> e.setWidth(e.getWidth() == null ? 0 : e.getWidth())); CodeGeneratorConfigForm form = CodeGeneratorConfigForm.builder().basic(basic).fields(fields).insertAndUpdate(insertAndUpdate).deleteInfo(deleteInfo).queryFields(queryFields).tableFields(tableFields).deleteInfo(deleteInfo).build(); form.setTableName(tableName); diff --git a/smart-admin-api-java17-springboot3/sa-base/src/main/java/net/lab1024/sa/base/module/support/codegenerator/service/variable/CodeGenerateBaseVariableService.java b/smart-admin-api-java17-springboot3/sa-base/src/main/java/net/lab1024/sa/base/module/support/codegenerator/service/variable/CodeGenerateBaseVariableService.java index 72e42105..b2e026e1 100644 --- a/smart-admin-api-java17-springboot3/sa-base/src/main/java/net/lab1024/sa/base/module/support/codegenerator/service/variable/CodeGenerateBaseVariableService.java +++ b/smart-admin-api-java17-springboot3/sa-base/src/main/java/net/lab1024/sa/base/module/support/codegenerator/service/variable/CodeGenerateBaseVariableService.java @@ -1,6 +1,7 @@ package net.lab1024.sa.base.module.support.codegenerator.service.variable; import com.google.common.base.CaseFormat; +import net.lab1024.sa.base.common.util.SmartStringUtil; import net.lab1024.sa.base.module.support.codegenerator.constant.CodeFrontComponentEnum; import net.lab1024.sa.base.module.support.codegenerator.domain.form.CodeGeneratorConfigForm; import net.lab1024.sa.base.module.support.codegenerator.domain.model.CodeField; @@ -63,8 +64,7 @@ public abstract class CodeGenerateBaseVariableService { return null; } - return fields.stream().filter(e -> columnName.equals(e.getColumnName())) - .findFirst().get(); + return fields.stream().filter(e -> SmartStringUtil.equals(columnName, e.getColumnName())).findFirst().orElse(null); } @@ -113,8 +113,7 @@ public abstract class CodeGenerateBaseVariableService { return null; } - Optional first = fields.stream().filter(e -> columnName.equals(e.getColumnName())).findFirst(); - return first.orElse(null); + return fields.stream().filter(e -> columnName.equals(e.getColumnName())).findFirst().orElse(null); } /** diff --git a/smart-admin-api-java17-springboot3/sa-base/src/main/java/net/lab1024/sa/base/module/support/codegenerator/service/variable/front/FormVariableService.java b/smart-admin-api-java17-springboot3/sa-base/src/main/java/net/lab1024/sa/base/module/support/codegenerator/service/variable/front/FormVariableService.java index bdd4363f..85b2354f 100644 --- a/smart-admin-api-java17-springboot3/sa-base/src/main/java/net/lab1024/sa/base/module/support/codegenerator/service/variable/front/FormVariableService.java +++ b/smart-admin-api-java17-springboot3/sa-base/src/main/java/net/lab1024/sa/base/module/support/codegenerator/service/variable/front/FormVariableService.java @@ -67,6 +67,7 @@ public class FormVariableService extends CodeGenerateBaseVariableService { if (CodeFrontComponentEnum.DICT_SELECT.equalsValue(field.getFrontComponent())) { frontImportSet.add("import DictSelect from '/@/components/support/dict-select/index.vue';"); + frontImportSet.add("import { DICT_CODE_ENUM } from '/@/constants/support/dict-const.js';"); } if (CodeFrontComponentEnum.FILE_UPLOAD.equalsValue(field.getFrontComponent())) { diff --git a/smart-admin-api-java17-springboot3/sa-base/src/main/java/net/lab1024/sa/base/module/support/codegenerator/service/variable/front/ListVariableService.java b/smart-admin-api-java17-springboot3/sa-base/src/main/java/net/lab1024/sa/base/module/support/codegenerator/service/variable/front/ListVariableService.java index 9f79ea68..68ba1b6a 100644 --- a/smart-admin-api-java17-springboot3/sa-base/src/main/java/net/lab1024/sa/base/module/support/codegenerator/service/variable/front/ListVariableService.java +++ b/smart-admin-api-java17-springboot3/sa-base/src/main/java/net/lab1024/sa/base/module/support/codegenerator/service/variable/front/ListVariableService.java @@ -9,16 +9,18 @@ import net.lab1024.sa.base.module.support.codegenerator.domain.form.CodeGenerato import net.lab1024.sa.base.module.support.codegenerator.domain.model.CodeField; import net.lab1024.sa.base.module.support.codegenerator.domain.model.CodeInsertAndUpdateField; import net.lab1024.sa.base.module.support.codegenerator.domain.model.CodeQueryField; +import net.lab1024.sa.base.module.support.codegenerator.domain.model.CodeTableField; import net.lab1024.sa.base.module.support.codegenerator.service.variable.CodeGenerateBaseVariableService; import java.util.*; +import java.util.stream.Collectors; /** * @Author 1024创新实验室-主任:卓大 * @Date 2022/9/29 17:20:41 * @Wechat zhuoda1024 * @Email lab1024@163.com - * @Copyright 1024创新实验室 + * @Copyright 1024创新实验室 */ public class ListVariableService extends CodeGenerateBaseVariableService { @@ -32,48 +34,64 @@ public class ListVariableService extends CodeGenerateBaseVariableService { public Map getInjectVariablesMap(CodeGeneratorConfigForm form) { Map variablesMap = new HashMap<>(); - List> queryVariable = new ArrayList<>(); - List queryFields = form.getQueryFields(); + HashSet frontImportSet = new HashSet<>(); frontImportSet.add("import " + CaseFormat.LOWER_CAMEL.to(CaseFormat.UPPER_CAMEL, form.getBasic().getModuleName()) + "Form from './" + CaseFormat.UPPER_CAMEL.to(CaseFormat.LOWER_HYPHEN, form.getBasic().getModuleName()) + "-form.vue';"); + // 查询参数 + List> queryVariable = new ArrayList<>(); + List queryFields = form.getQueryFields(); + for (CodeQueryField queryField : queryFields) { Map objectMap = BeanUtil.beanToMap(queryField); CodeField codeField = getCodeFieldByColumnName(queryField.getColumnNameList().get(0), form); - objectMap.put("frontEnumName", codeField.getEnumName()); - objectMap.put("dict", codeField.getDict()); - if(CodeQueryFieldQueryTypeEnum.ENUM.equalsValue(queryField.getQueryTypeEnum())){ + if (CodeQueryFieldQueryTypeEnum.ENUM.equalsValue(queryField.getQueryTypeEnum())) { + objectMap.put("frontEnumName", codeField.getEnumName()); frontImportSet.add("import SmartEnumSelect from '/@/components/framework/smart-enum-select/index.vue';"); } - if(CodeQueryFieldQueryTypeEnum.DICT.equalsValue(queryField.getQueryTypeEnum())){ + if (CodeQueryFieldQueryTypeEnum.DICT.equalsValue(queryField.getQueryTypeEnum())) { + objectMap.put("dict", codeField.getDict()); frontImportSet.add("import DictSelect from '/@/components/support/dict-select/index.vue';"); } - if(CodeQueryFieldQueryTypeEnum.DATE_RANGE.equalsValue(queryField.getQueryTypeEnum())){ + if (CodeQueryFieldQueryTypeEnum.DATE_RANGE.equalsValue(queryField.getQueryTypeEnum())) { frontImportSet.add("import { defaultTimeRanges } from '/@/lib/default-time-ranges';"); } queryVariable.add(objectMap); } + // 表格列表 List> listVariable = new ArrayList<>(); - for (CodeInsertAndUpdateField field : form.getInsertAndUpdate().getFieldList()) { - Map objectMap = BeanUtil.beanToMap(field); - CodeField codeField = getCodeFieldByColumnName(field.getColumnName(), form); + // 过滤掉不显示的字段 + List tableFields = form.getTableFields().stream().filter(CodeTableField::getShowFlag).collect(Collectors.toList()); + + for (CodeTableField tableField : tableFields) { + Map objectMap = BeanUtil.beanToMap(tableField); + objectMap.put("fieldName", tableField.getFieldName()); + + CodeField codeField = getCodeFieldByColumnName(tableField.getColumnName(), form); if (codeField == null) { continue; } - objectMap.put("fieldName", codeField.getFieldName()); - objectMap.put("dict", codeField.getDict()); - if(SmartStringUtil.isNotBlank(codeField.getDict())) { - frontImportSet.add("import DictPreview from '/@/components/dict-preview/index.vue';"); - frontImportSet.add("import { useDict } from '/@/utils/dict';"); + // 是否存在字典 + if (SmartStringUtil.isNotBlank(codeField.getDict())) { + objectMap.put("dict", codeField.getDict()); + frontImportSet.add("import { DICT_CODE_ENUM } from '/@/constants/support/dict-const.js';"); + frontImportSet.add("import DictLabel from '/@/components/support/dict-label/index.vue';"); } - if (CodeFrontComponentEnum.FILE_UPLOAD.equalsValue(field.getFrontComponent())) { + CodeInsertAndUpdateField codeInsertAndUpdateField = form.getInsertAndUpdate().getFieldList().stream().filter(e -> SmartStringUtil.equals(tableField.getColumnName(), e.getColumnName())).findFirst().orElse(null); + if (codeInsertAndUpdateField == null) { + continue; + } + + // 是否存在上传组件 + if (CodeFrontComponentEnum.FILE_UPLOAD.equalsValue(codeInsertAndUpdateField.getFrontComponent())) { + objectMap.put("frontComponent", codeInsertAndUpdateField.getFrontComponent()); frontImportSet.add("import FilePreview from '/@/components/support/file-preview/index.vue';"); } @@ -83,6 +101,7 @@ public class ListVariableService extends CodeGenerateBaseVariableService { variablesMap.put("queryFields", queryVariable); variablesMap.put("listFields", listVariable); variablesMap.put("frontImportList", new ArrayList<>(frontImportSet)); + return variablesMap; } } diff --git a/smart-admin-api-java17-springboot3/sa-base/src/main/resources/code-generator-template/java/sql/Menu.sql.vm b/smart-admin-api-java17-springboot3/sa-base/src/main/resources/code-generator-template/java/sql/Menu.sql.vm index 90525f78..9ca5cc42 100644 --- a/smart-admin-api-java17-springboot3/sa-base/src/main/resources/code-generator-template/java/sql/Menu.sql.vm +++ b/smart-admin-api-java17-springboot3/sa-base/src/main/resources/code-generator-template/java/sql/Menu.sql.vm @@ -10,13 +10,13 @@ SET @parent_id = NULL; SELECT t_menu.menu_id INTO @parent_id FROM t_menu WHERE t_menu.menu_name = '${basic.description}'; INSERT INTO t_menu ( menu_name, menu_type, parent_id, frame_flag, cache_flag, visible_flag, disabled_flag, api_perms, perms_type, context_menu_id, create_user_id ) -VALUES ( '查询', 3, @parent_id, false, true, true, false, '${name.lowerCamel}:query', 1, @parent_id, 1 ); +VALUES ( '查询', 3, @parent_id, false, false, true, false, '${name.lowerCamel}:query', 1, @parent_id, 1 ); INSERT INTO t_menu ( menu_name, menu_type, parent_id, frame_flag, cache_flag, visible_flag, disabled_flag, api_perms, perms_type, context_menu_id, create_user_id ) -VALUES ( '添加', 3, @parent_id, false, true, true, false, '${name.lowerCamel}:add', 1, @parent_id, 1 ); +VALUES ( '添加', 3, @parent_id, false, false, true, false, '${name.lowerCamel}:add', 1, @parent_id, 1 ); INSERT INTO t_menu ( menu_name, menu_type, parent_id, frame_flag, cache_flag, visible_flag, disabled_flag, api_perms, perms_type, context_menu_id, create_user_id ) -VALUES ( '更新', 3, @parent_id, false, true, true, false, '${name.lowerCamel}:update', 1, @parent_id, 1 ); +VALUES ( '更新', 3, @parent_id, false, false, true, false, '${name.lowerCamel}:update', 1, @parent_id, 1 ); INSERT INTO t_menu ( menu_name, menu_type, parent_id, frame_flag, cache_flag, visible_flag, disabled_flag, api_perms, perms_type, context_menu_id, create_user_id ) -VALUES ( '删除', 3, @parent_id, false, true, true, false, '${name.lowerCamel}:delete', 1, @parent_id, 1 ); +VALUES ( '删除', 3, @parent_id, false, false, true, false, '${name.lowerCamel}:delete', 1, @parent_id, 1 ); diff --git a/smart-admin-api-java17-springboot3/sa-base/src/main/resources/code-generator-template/js/form.vue.vm b/smart-admin-api-java17-springboot3/sa-base/src/main/resources/code-generator-template/js/form.vue.vm index 336d14d7..6291a44b 100644 --- a/smart-admin-api-java17-springboot3/sa-base/src/main/resources/code-generator-template/js/form.vue.vm +++ b/smart-admin-api-java17-springboot3/sa-base/src/main/resources/code-generator-template/js/form.vue.vm @@ -43,12 +43,12 @@ #end #if($field.frontComponent == "SmartEnumSelect") - + #end #if($field.frontComponent == "DictSelect") - + #end #if($field.frontComponent == "Date") @@ -101,12 +101,12 @@ #end #if($field.frontComponent == "SmartEnumSelect") - + #end #if($field.frontComponent == "DictSelect") - + #end #if($field.frontComponent == "Date") diff --git a/smart-admin-api-java17-springboot3/sa-base/src/main/resources/code-generator-template/js/list.vue.vm b/smart-admin-api-java17-springboot3/sa-base/src/main/resources/code-generator-template/js/list.vue.vm index 51995abd..00e21281 100644 --- a/smart-admin-api-java17-springboot3/sa-base/src/main/resources/code-generator-template/js/list.vue.vm +++ b/smart-admin-api-java17-springboot3/sa-base/src/main/resources/code-generator-template/js/list.vue.vm @@ -22,12 +22,12 @@ #end #if($field.queryTypeEnum == "Dict") - + #end #if($field.queryTypeEnum == "Enum") - + #end #if($field.queryTypeEnum == "Date") @@ -104,17 +104,14 @@ #foreach ($field in $listFields) #if($field.frontComponent == "FileUpload") #end #end - #foreach ($field in $listFields) #if($field.dict) #end #end @@ -165,13 +162,6 @@ $!{import} #end -#foreach ($field in $listFields) - #if($field.dict) - const dictList = useDict(#foreach($field in $fields)#if($field.dict)'$!{field.dict}'#if($foreach.hasNext), #end#end#end); - #break - #end -#end - // ---------------------------- 表格列 ---------------------------- const columns = ref([ diff --git a/smart-admin-api-java8-springboot2/sa-base/src/main/java/net/lab1024/sa/base/module/support/codegenerator/service/CodeGeneratorTemplateService.java b/smart-admin-api-java8-springboot2/sa-base/src/main/java/net/lab1024/sa/base/module/support/codegenerator/service/CodeGeneratorTemplateService.java index 5a86305c..eb2673f0 100644 --- a/smart-admin-api-java8-springboot2/sa-base/src/main/java/net/lab1024/sa/base/module/support/codegenerator/service/CodeGeneratorTemplateService.java +++ b/smart-admin-api-java8-springboot2/sa-base/src/main/java/net/lab1024/sa/base/module/support/codegenerator/service/CodeGeneratorTemplateService.java @@ -158,7 +158,7 @@ public class CodeGeneratorTemplateService { CodeDelete deleteInfo = JSON.parseObject(codeGeneratorConfigEntity.getDeleteInfo(), CodeDelete.class); List queryFields = JSONArray.parseArray(codeGeneratorConfigEntity.getQueryFields(), CodeQueryField.class); List tableFields = JSONArray.parseArray(codeGeneratorConfigEntity.getTableFields(), CodeTableField.class); - tableFields.stream().forEach(e -> e.setWidth(e.getWidth() == null ? 0 : e.getWidth())); + tableFields.forEach(e -> e.setWidth(e.getWidth() == null ? 0 : e.getWidth())); CodeGeneratorConfigForm form = CodeGeneratorConfigForm.builder().basic(basic).fields(fields).insertAndUpdate(insertAndUpdate).deleteInfo(deleteInfo).queryFields(queryFields).tableFields(tableFields).deleteInfo(deleteInfo).build(); form.setTableName(tableName); diff --git a/smart-admin-api-java8-springboot2/sa-base/src/main/java/net/lab1024/sa/base/module/support/codegenerator/service/variable/CodeGenerateBaseVariableService.java b/smart-admin-api-java8-springboot2/sa-base/src/main/java/net/lab1024/sa/base/module/support/codegenerator/service/variable/CodeGenerateBaseVariableService.java index 72e42105..b2e026e1 100644 --- a/smart-admin-api-java8-springboot2/sa-base/src/main/java/net/lab1024/sa/base/module/support/codegenerator/service/variable/CodeGenerateBaseVariableService.java +++ b/smart-admin-api-java8-springboot2/sa-base/src/main/java/net/lab1024/sa/base/module/support/codegenerator/service/variable/CodeGenerateBaseVariableService.java @@ -1,6 +1,7 @@ package net.lab1024.sa.base.module.support.codegenerator.service.variable; import com.google.common.base.CaseFormat; +import net.lab1024.sa.base.common.util.SmartStringUtil; import net.lab1024.sa.base.module.support.codegenerator.constant.CodeFrontComponentEnum; import net.lab1024.sa.base.module.support.codegenerator.domain.form.CodeGeneratorConfigForm; import net.lab1024.sa.base.module.support.codegenerator.domain.model.CodeField; @@ -63,8 +64,7 @@ public abstract class CodeGenerateBaseVariableService { return null; } - return fields.stream().filter(e -> columnName.equals(e.getColumnName())) - .findFirst().get(); + return fields.stream().filter(e -> SmartStringUtil.equals(columnName, e.getColumnName())).findFirst().orElse(null); } @@ -113,8 +113,7 @@ public abstract class CodeGenerateBaseVariableService { return null; } - Optional first = fields.stream().filter(e -> columnName.equals(e.getColumnName())).findFirst(); - return first.orElse(null); + return fields.stream().filter(e -> columnName.equals(e.getColumnName())).findFirst().orElse(null); } /** diff --git a/smart-admin-api-java8-springboot2/sa-base/src/main/java/net/lab1024/sa/base/module/support/codegenerator/service/variable/front/FormVariableService.java b/smart-admin-api-java8-springboot2/sa-base/src/main/java/net/lab1024/sa/base/module/support/codegenerator/service/variable/front/FormVariableService.java index bdd4363f..85b2354f 100644 --- a/smart-admin-api-java8-springboot2/sa-base/src/main/java/net/lab1024/sa/base/module/support/codegenerator/service/variable/front/FormVariableService.java +++ b/smart-admin-api-java8-springboot2/sa-base/src/main/java/net/lab1024/sa/base/module/support/codegenerator/service/variable/front/FormVariableService.java @@ -67,6 +67,7 @@ public class FormVariableService extends CodeGenerateBaseVariableService { if (CodeFrontComponentEnum.DICT_SELECT.equalsValue(field.getFrontComponent())) { frontImportSet.add("import DictSelect from '/@/components/support/dict-select/index.vue';"); + frontImportSet.add("import { DICT_CODE_ENUM } from '/@/constants/support/dict-const.js';"); } if (CodeFrontComponentEnum.FILE_UPLOAD.equalsValue(field.getFrontComponent())) { diff --git a/smart-admin-api-java8-springboot2/sa-base/src/main/java/net/lab1024/sa/base/module/support/codegenerator/service/variable/front/ListVariableService.java b/smart-admin-api-java8-springboot2/sa-base/src/main/java/net/lab1024/sa/base/module/support/codegenerator/service/variable/front/ListVariableService.java index 9f79ea68..6170e8dd 100644 --- a/smart-admin-api-java8-springboot2/sa-base/src/main/java/net/lab1024/sa/base/module/support/codegenerator/service/variable/front/ListVariableService.java +++ b/smart-admin-api-java8-springboot2/sa-base/src/main/java/net/lab1024/sa/base/module/support/codegenerator/service/variable/front/ListVariableService.java @@ -9,9 +9,11 @@ import net.lab1024.sa.base.module.support.codegenerator.domain.form.CodeGenerato import net.lab1024.sa.base.module.support.codegenerator.domain.model.CodeField; import net.lab1024.sa.base.module.support.codegenerator.domain.model.CodeInsertAndUpdateField; import net.lab1024.sa.base.module.support.codegenerator.domain.model.CodeQueryField; +import net.lab1024.sa.base.module.support.codegenerator.domain.model.CodeTableField; import net.lab1024.sa.base.module.support.codegenerator.service.variable.CodeGenerateBaseVariableService; import java.util.*; +import java.util.stream.Collectors; /** * @Author 1024创新实验室-主任:卓大 @@ -32,48 +34,64 @@ public class ListVariableService extends CodeGenerateBaseVariableService { public Map getInjectVariablesMap(CodeGeneratorConfigForm form) { Map variablesMap = new HashMap<>(); - List> queryVariable = new ArrayList<>(); - List queryFields = form.getQueryFields(); + HashSet frontImportSet = new HashSet<>(); frontImportSet.add("import " + CaseFormat.LOWER_CAMEL.to(CaseFormat.UPPER_CAMEL, form.getBasic().getModuleName()) + "Form from './" + CaseFormat.UPPER_CAMEL.to(CaseFormat.LOWER_HYPHEN, form.getBasic().getModuleName()) + "-form.vue';"); + // 查询参数 + List> queryVariable = new ArrayList<>(); + List queryFields = form.getQueryFields(); + for (CodeQueryField queryField : queryFields) { Map objectMap = BeanUtil.beanToMap(queryField); CodeField codeField = getCodeFieldByColumnName(queryField.getColumnNameList().get(0), form); - objectMap.put("frontEnumName", codeField.getEnumName()); - objectMap.put("dict", codeField.getDict()); - if(CodeQueryFieldQueryTypeEnum.ENUM.equalsValue(queryField.getQueryTypeEnum())){ + if (CodeQueryFieldQueryTypeEnum.ENUM.equalsValue(queryField.getQueryTypeEnum())) { + objectMap.put("frontEnumName", codeField.getEnumName()); frontImportSet.add("import SmartEnumSelect from '/@/components/framework/smart-enum-select/index.vue';"); } - if(CodeQueryFieldQueryTypeEnum.DICT.equalsValue(queryField.getQueryTypeEnum())){ + if (CodeQueryFieldQueryTypeEnum.DICT.equalsValue(queryField.getQueryTypeEnum())) { + objectMap.put("dict", codeField.getDict()); frontImportSet.add("import DictSelect from '/@/components/support/dict-select/index.vue';"); } - if(CodeQueryFieldQueryTypeEnum.DATE_RANGE.equalsValue(queryField.getQueryTypeEnum())){ + if (CodeQueryFieldQueryTypeEnum.DATE_RANGE.equalsValue(queryField.getQueryTypeEnum())) { frontImportSet.add("import { defaultTimeRanges } from '/@/lib/default-time-ranges';"); } queryVariable.add(objectMap); } + // 表格列表 List> listVariable = new ArrayList<>(); - for (CodeInsertAndUpdateField field : form.getInsertAndUpdate().getFieldList()) { - Map objectMap = BeanUtil.beanToMap(field); - CodeField codeField = getCodeFieldByColumnName(field.getColumnName(), form); + // 过滤掉不显示的字段 + List tableFields = form.getTableFields().stream().filter(CodeTableField::getShowFlag).collect(Collectors.toList()); + + for (CodeTableField tableField : tableFields) { + Map objectMap = BeanUtil.beanToMap(tableField); + objectMap.put("fieldName", tableField.getFieldName()); + + CodeField codeField = getCodeFieldByColumnName(tableField.getColumnName(), form); if (codeField == null) { continue; } - objectMap.put("fieldName", codeField.getFieldName()); - objectMap.put("dict", codeField.getDict()); - if(SmartStringUtil.isNotBlank(codeField.getDict())) { - frontImportSet.add("import DictPreview from '/@/components/dict-preview/index.vue';"); - frontImportSet.add("import { useDict } from '/@/utils/dict';"); + // 是否存在字典 + if (SmartStringUtil.isNotBlank(codeField.getDict())) { + objectMap.put("dict", codeField.getDict()); + frontImportSet.add("import { DICT_CODE_ENUM } from '/@/constants/support/dict-const.js';"); + frontImportSet.add("import DictLabel from '/@/components/support/dict-label/index.vue';"); } - if (CodeFrontComponentEnum.FILE_UPLOAD.equalsValue(field.getFrontComponent())) { + CodeInsertAndUpdateField codeInsertAndUpdateField = form.getInsertAndUpdate().getFieldList().stream().filter(e -> SmartStringUtil.equals(tableField.getColumnName(), e.getColumnName())).findFirst().orElse(null); + if (codeInsertAndUpdateField == null) { + continue; + } + + // 是否存在上传组件 + if (CodeFrontComponentEnum.FILE_UPLOAD.equalsValue(codeInsertAndUpdateField.getFrontComponent())) { + objectMap.put("frontComponent", codeInsertAndUpdateField.getFrontComponent()); frontImportSet.add("import FilePreview from '/@/components/support/file-preview/index.vue';"); } @@ -83,6 +101,7 @@ public class ListVariableService extends CodeGenerateBaseVariableService { variablesMap.put("queryFields", queryVariable); variablesMap.put("listFields", listVariable); variablesMap.put("frontImportList", new ArrayList<>(frontImportSet)); + return variablesMap; } } diff --git a/smart-admin-api-java8-springboot2/sa-base/src/main/resources/code-generator-template/java/sql/Menu.sql.vm b/smart-admin-api-java8-springboot2/sa-base/src/main/resources/code-generator-template/java/sql/Menu.sql.vm index 90525f78..9ca5cc42 100644 --- a/smart-admin-api-java8-springboot2/sa-base/src/main/resources/code-generator-template/java/sql/Menu.sql.vm +++ b/smart-admin-api-java8-springboot2/sa-base/src/main/resources/code-generator-template/java/sql/Menu.sql.vm @@ -10,13 +10,13 @@ SET @parent_id = NULL; SELECT t_menu.menu_id INTO @parent_id FROM t_menu WHERE t_menu.menu_name = '${basic.description}'; INSERT INTO t_menu ( menu_name, menu_type, parent_id, frame_flag, cache_flag, visible_flag, disabled_flag, api_perms, perms_type, context_menu_id, create_user_id ) -VALUES ( '查询', 3, @parent_id, false, true, true, false, '${name.lowerCamel}:query', 1, @parent_id, 1 ); +VALUES ( '查询', 3, @parent_id, false, false, true, false, '${name.lowerCamel}:query', 1, @parent_id, 1 ); INSERT INTO t_menu ( menu_name, menu_type, parent_id, frame_flag, cache_flag, visible_flag, disabled_flag, api_perms, perms_type, context_menu_id, create_user_id ) -VALUES ( '添加', 3, @parent_id, false, true, true, false, '${name.lowerCamel}:add', 1, @parent_id, 1 ); +VALUES ( '添加', 3, @parent_id, false, false, true, false, '${name.lowerCamel}:add', 1, @parent_id, 1 ); INSERT INTO t_menu ( menu_name, menu_type, parent_id, frame_flag, cache_flag, visible_flag, disabled_flag, api_perms, perms_type, context_menu_id, create_user_id ) -VALUES ( '更新', 3, @parent_id, false, true, true, false, '${name.lowerCamel}:update', 1, @parent_id, 1 ); +VALUES ( '更新', 3, @parent_id, false, false, true, false, '${name.lowerCamel}:update', 1, @parent_id, 1 ); INSERT INTO t_menu ( menu_name, menu_type, parent_id, frame_flag, cache_flag, visible_flag, disabled_flag, api_perms, perms_type, context_menu_id, create_user_id ) -VALUES ( '删除', 3, @parent_id, false, true, true, false, '${name.lowerCamel}:delete', 1, @parent_id, 1 ); +VALUES ( '删除', 3, @parent_id, false, false, true, false, '${name.lowerCamel}:delete', 1, @parent_id, 1 ); diff --git a/smart-admin-api-java8-springboot2/sa-base/src/main/resources/code-generator-template/js/form.vue.vm b/smart-admin-api-java8-springboot2/sa-base/src/main/resources/code-generator-template/js/form.vue.vm index 336d14d7..6291a44b 100644 --- a/smart-admin-api-java8-springboot2/sa-base/src/main/resources/code-generator-template/js/form.vue.vm +++ b/smart-admin-api-java8-springboot2/sa-base/src/main/resources/code-generator-template/js/form.vue.vm @@ -43,12 +43,12 @@ #end #if($field.frontComponent == "SmartEnumSelect") - + #end #if($field.frontComponent == "DictSelect") - + #end #if($field.frontComponent == "Date") @@ -101,12 +101,12 @@ #end #if($field.frontComponent == "SmartEnumSelect") - + #end #if($field.frontComponent == "DictSelect") - + #end #if($field.frontComponent == "Date") diff --git a/smart-admin-api-java8-springboot2/sa-base/src/main/resources/code-generator-template/js/list.vue.vm b/smart-admin-api-java8-springboot2/sa-base/src/main/resources/code-generator-template/js/list.vue.vm index 5aeaf4e5..e336227b 100644 --- a/smart-admin-api-java8-springboot2/sa-base/src/main/resources/code-generator-template/js/list.vue.vm +++ b/smart-admin-api-java8-springboot2/sa-base/src/main/resources/code-generator-template/js/list.vue.vm @@ -22,12 +22,12 @@ #end #if($field.queryTypeEnum == "Dict") - + #end #if($field.queryTypeEnum == "Enum") - + #end #if($field.queryTypeEnum == "Date") @@ -104,17 +104,14 @@ #foreach ($field in $listFields) #if($field.frontComponent == "FileUpload") #end #end - #foreach ($field in $listFields) #if($field.dict) #end #end @@ -165,13 +162,6 @@ $!{import} #end -#foreach ($field in $listFields) - #if($field.dict) - const dictList = useDict(#foreach($field in $fields)#if($field.dict)'$!{field.dict}'#if($foreach.hasNext), #end#end#end); - #break - #end -#end - // ---------------------------- 表格列 ---------------------------- const columns = ref([