优化代码生成模块,使其适配当前版本

This commit is contained in:
zhoumingfa 2025-04-01 17:44:29 +08:00
parent 23c4889723
commit 66aac47a43
14 changed files with 105 additions and 88 deletions

View File

@ -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<CodeQueryField> queryFields = JSONArray.parseArray(codeGeneratorConfigEntity.getQueryFields(), CodeQueryField.class);
List<CodeTableField> 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);

View File

@ -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<CodeField> 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);
}
/**

View File

@ -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())) {

View File

@ -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<String, Object> getInjectVariablesMap(CodeGeneratorConfigForm form) {
Map<String, Object> variablesMap = new HashMap<>();
List<Map<String, Object>> queryVariable = new ArrayList<>();
List<CodeQueryField> queryFields = form.getQueryFields();
HashSet<String> 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<Map<String, Object>> queryVariable = new ArrayList<>();
List<CodeQueryField> queryFields = form.getQueryFields();
for (CodeQueryField queryField : queryFields) {
Map<String, Object> 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<Map<String, Object>> listVariable = new ArrayList<>();
for (CodeInsertAndUpdateField field : form.getInsertAndUpdate().getFieldList()) {
Map<String, Object> objectMap = BeanUtil.beanToMap(field);
CodeField codeField = getCodeFieldByColumnName(field.getColumnName(), form);
// 过滤掉不显示的字段
List<CodeTableField> tableFields = form.getTableFields().stream().filter(CodeTableField::getShowFlag).collect(Collectors.toList());
for (CodeTableField tableField : tableFields) {
Map<String, Object> 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;
}
}

View File

@ -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 );

View File

@ -43,12 +43,12 @@
#end
#if($field.frontComponent == "SmartEnumSelect")
<a-form-item label="$codeGeneratorTool.removeEnumDesc($!{field.label})" name="${field.fieldName}">
<SmartEnumSelect width="100%" v-model:value="form.${field.fieldName}" enumName="$!{field.upperUnderscoreEnum}" placeholder="$codeGeneratorTool.removeEnumDesc($!{field.label})"/>
<SmartEnumSelect width="100%" v-model:value="form.${field.fieldName}" enum-name="$!{field.upperUnderscoreEnum}" placeholder="$codeGeneratorTool.removeEnumDesc($!{field.label})"/>
</a-form-item>
#end
#if($field.frontComponent == "DictSelect")
<a-form-item label="$codeGeneratorTool.removeEnumDesc($!{field.label})" name="${field.fieldName}">
<DictSelect width="100%" v-model:value="form.${field.fieldName}" dictCode="$!{field.dict}" placeholder="$!{field.label}"/>
<DictSelect width="100%" v-model:value="form.${field.fieldName}" dict-code="DICT_CODE_ENUM.$!{field.dict} || '$!{field.dict}'" placeholder="$!{field.label}"/>
</a-form-item>
#end
#if($field.frontComponent == "Date")
@ -101,12 +101,12 @@
#end
#if($field.frontComponent == "SmartEnumSelect")
<a-form-item label="$codeGeneratorTool.removeEnumDesc($!{field.label})" name="${field.fieldName}">
<SmartEnumSelect width="100%" v-model:value="form.${field.fieldName}" enumName="$!{field.upperUnderscoreEnum}" placeholder="$codeGeneratorTool.removeEnumDesc($!{field.label})"/>
<SmartEnumSelect width="100%" v-model:value="form.${field.fieldName}" enum-name="$!{field.upperUnderscoreEnum}" placeholder="$codeGeneratorTool.removeEnumDesc($!{field.label})"/>
</a-form-item>
#end
#if($field.frontComponent == "DictSelect")
<a-form-item label="$codeGeneratorTool.removeEnumDesc($!{field.label})" name="${field.fieldName}">
<DictSelect width="100%" v-model:value="form.${field.fieldName}" dictCode="$!{field.dict}" placeholder="$!{field.label}"/>
<DictSelect width="100%" v-model:value="form.${field.fieldName}" dict-code="DICT_CODE_ENUM.$!{field.dict} || '$!{field.dict}'" placeholder="$!{field.label}"/>
</a-form-item>
#end
#if($field.frontComponent == "Date")

View File

@ -22,12 +22,12 @@
#end
#if($field.queryTypeEnum == "Dict")
<a-form-item label="${field.label}" class="smart-query-form-item">
<DictSelect dictCode="$!{field.dict}" placeholder="${field.label}" v-model:value="queryForm.${field.fieldName}" width="${field.width}" />
<DictSelect dict-code="DICT_CODE_ENUM.$!{field.dict} || '$!{field.dict}'" placeholder="${field.label}" v-model:value="queryForm.${field.fieldName}" width="${field.width}" />
</a-form-item>
#end
#if($field.queryTypeEnum == "Enum")
<a-form-item label="$codeGeneratorTool.removeEnumDesc(${field.label})" class="smart-query-form-item">
<SmartEnumSelect width="${field.width}" v-model:value="queryForm.${field.fieldName}" enumName="$!{field.frontEnumName}" placeholder="$codeGeneratorTool.removeEnumDesc(${field.label})"/>
<SmartEnumSelect width="${field.width}" v-model:value="queryForm.${field.fieldName}" enum-name="$!{field.frontEnumName}" placeholder="$codeGeneratorTool.removeEnumDesc(${field.label})"/>
</a-form-item>
#end
#if($field.queryTypeEnum == "Date")
@ -104,17 +104,14 @@
#foreach ($field in $listFields)
#if($field.frontComponent == "FileUpload")
<template v-if="column.dataIndex === '$field.fieldName'">
<FilePreview :fileList="text" type="picture" />
<FilePreview :file-list="text" type="picture" />
</template>
#end
#end
<!-- 方便直接复制粘贴修改 tag 的颜色 orange green purple success processing error default warning -->
#foreach ($field in $listFields)
#if($field.dict)
<template v-if="column.dataIndex === '$!{field.fieldName}'">
<a-tag color="cyan">
<DictPreview :options="dictList['$!{field.dict}']" :value="text" />
</a-tag>
<DictLabel :dict-code="DICT_CODE_ENUM.$!{field.dict} || '$!{field.dict}'" :data-value="text" />
</template>
#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([

View File

@ -158,7 +158,7 @@ public class CodeGeneratorTemplateService {
CodeDelete deleteInfo = JSON.parseObject(codeGeneratorConfigEntity.getDeleteInfo(), CodeDelete.class);
List<CodeQueryField> queryFields = JSONArray.parseArray(codeGeneratorConfigEntity.getQueryFields(), CodeQueryField.class);
List<CodeTableField> 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);

View File

@ -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<CodeField> 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);
}
/**

View File

@ -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())) {

View File

@ -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<String, Object> getInjectVariablesMap(CodeGeneratorConfigForm form) {
Map<String, Object> variablesMap = new HashMap<>();
List<Map<String, Object>> queryVariable = new ArrayList<>();
List<CodeQueryField> queryFields = form.getQueryFields();
HashSet<String> 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<Map<String, Object>> queryVariable = new ArrayList<>();
List<CodeQueryField> queryFields = form.getQueryFields();
for (CodeQueryField queryField : queryFields) {
Map<String, Object> 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<Map<String, Object>> listVariable = new ArrayList<>();
for (CodeInsertAndUpdateField field : form.getInsertAndUpdate().getFieldList()) {
Map<String, Object> objectMap = BeanUtil.beanToMap(field);
CodeField codeField = getCodeFieldByColumnName(field.getColumnName(), form);
// 过滤掉不显示的字段
List<CodeTableField> tableFields = form.getTableFields().stream().filter(CodeTableField::getShowFlag).collect(Collectors.toList());
for (CodeTableField tableField : tableFields) {
Map<String, Object> 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;
}
}

View File

@ -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 );

View File

@ -43,12 +43,12 @@
#end
#if($field.frontComponent == "SmartEnumSelect")
<a-form-item label="$codeGeneratorTool.removeEnumDesc($!{field.label})" name="${field.fieldName}">
<SmartEnumSelect width="100%" v-model:value="form.${field.fieldName}" enumName="$!{field.upperUnderscoreEnum}" placeholder="$codeGeneratorTool.removeEnumDesc($!{field.label})"/>
<SmartEnumSelect width="100%" v-model:value="form.${field.fieldName}" enum-name="$!{field.upperUnderscoreEnum}" placeholder="$codeGeneratorTool.removeEnumDesc($!{field.label})"/>
</a-form-item>
#end
#if($field.frontComponent == "DictSelect")
<a-form-item label="$codeGeneratorTool.removeEnumDesc($!{field.label})" name="${field.fieldName}">
<DictSelect width="100%" v-model:value="form.${field.fieldName}" dictCode="$!{field.dict}" placeholder="$!{field.label}"/>
<DictSelect width="100%" v-model:value="form.${field.fieldName}" dict-code="DICT_CODE_ENUM.$!{field.dict} || '$!{field.dict}'" placeholder="$!{field.label}"/>
</a-form-item>
#end
#if($field.frontComponent == "Date")
@ -101,12 +101,12 @@
#end
#if($field.frontComponent == "SmartEnumSelect")
<a-form-item label="$codeGeneratorTool.removeEnumDesc($!{field.label})" name="${field.fieldName}">
<SmartEnumSelect width="100%" v-model:value="form.${field.fieldName}" enumName="$!{field.upperUnderscoreEnum}" placeholder="$codeGeneratorTool.removeEnumDesc($!{field.label})"/>
<SmartEnumSelect width="100%" v-model:value="form.${field.fieldName}" enum-name="$!{field.upperUnderscoreEnum}" placeholder="$codeGeneratorTool.removeEnumDesc($!{field.label})"/>
</a-form-item>
#end
#if($field.frontComponent == "DictSelect")
<a-form-item label="$codeGeneratorTool.removeEnumDesc($!{field.label})" name="${field.fieldName}">
<DictSelect width="100%" v-model:value="form.${field.fieldName}" dictCode="$!{field.dict}" placeholder="$!{field.label}"/>
<DictSelect width="100%" v-model:value="form.${field.fieldName}" dict-code="DICT_CODE_ENUM.$!{field.dict} || '$!{field.dict}'" placeholder="$!{field.label}"/>
</a-form-item>
#end
#if($field.frontComponent == "Date")

View File

@ -22,12 +22,12 @@
#end
#if($field.queryTypeEnum == "Dict")
<a-form-item label="${field.label}" class="smart-query-form-item">
<DictSelect dictCode="$!{field.dict}" placeholder="${field.label}" v-model:value="queryForm.${field.fieldName}" width="${field.width}" />
<DictSelect dict-code="DICT_CODE_ENUM.$!{field.dict} || '$!{field.dict}'" placeholder="${field.label}" v-model:value="queryForm.${field.fieldName}" width="${field.width}" />
</a-form-item>
#end
#if($field.queryTypeEnum == "Enum")
<a-form-item label="$codeGeneratorTool.removeEnumDesc(${field.label})" class="smart-query-form-item">
<SmartEnumSelect width="${field.width}" v-model:value="queryForm.${field.fieldName}" enumName="$!{field.frontEnumName}" placeholder="$codeGeneratorTool.removeEnumDesc(${field.label})"/>
<SmartEnumSelect width="${field.width}" v-model:value="queryForm.${field.fieldName}" enum-name="$!{field.frontEnumName}" placeholder="$codeGeneratorTool.removeEnumDesc(${field.label})"/>
</a-form-item>
#end
#if($field.queryTypeEnum == "Date")
@ -104,17 +104,14 @@
#foreach ($field in $listFields)
#if($field.frontComponent == "FileUpload")
<template v-if="column.dataIndex === '$field.fieldName'">
<FilePreview :fileList="text" type="picture" />
<FilePreview :file-list="text" type="picture" />
</template>
#end
#end
<!-- 方便直接复制粘贴修改 tag 的颜色 orange green purple success processing error default warning -->
#foreach ($field in $listFields)
#if($field.dict)
<template v-if="column.dataIndex === '$!{field.fieldName}'">
<a-tag color="cyan">
<DictPreview :options="dictList['$!{field.dict}']" :value="text" />
</a-tag>
<DictLabel :dict-code="DICT_CODE_ENUM.$!{field.dict} || '$!{field.dict}'" :data-value="text" />
</template>
#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([