mirror of
https://gitee.com/lab1024/smart-admin.git
synced 2025-09-21 12:56:39 +08:00
优化代码生成模块,使其适配当前版本
This commit is contained in:
parent
23c4889723
commit
66aac47a43
@ -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);
|
||||
|
@ -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);
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -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())) {
|
||||
|
@ -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 <a href="https://1024lab.net">1024创新实验室</a>
|
||||
* @Copyright <a href="https://1024lab.net">1024创新实验室</a>
|
||||
*/
|
||||
|
||||
public class ListVariableService extends CodeGenerateBaseVariableService {
|
||||
@ -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;
|
||||
}
|
||||
}
|
||||
|
@ -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 );
|
||||
|
@ -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")
|
||||
|
@ -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([
|
||||
|
@ -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);
|
||||
|
@ -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);
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -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())) {
|
||||
|
@ -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;
|
||||
}
|
||||
}
|
||||
|
@ -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 );
|
||||
|
@ -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")
|
||||
|
@ -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([
|
||||
|
Loading…
Reference in New Issue
Block a user