refactor: 重构代码生成器模版和生成规则

v1.4.1
Parker 4 years ago
parent bc07495f86
commit 608341ae2e

@ -52,16 +52,6 @@ public enum JavaCodeBuilder {
public Map<String,String> createEntity(GenBuilderModel builderModelTmp, String dataStr){
GenBuilderModel builderModel =
WrapperUtil.transformInstance(builderModelTmp, GenBuilderModel.class, true);
List<GenTableColumnModel> columnList = builderModel.getModel().getColumnList();
// 处理数据
for (GenTableColumnModel columnModel : columnList) {
// 数据库字段名转驼峰
columnModel.setFieldName(
HumpUtil.underlineToHump(
columnModel.getFieldName()
)
);
}
String codeStr = EnjoyUtil.render("/backend/entity/TemplateEntity.html",
this.createKv(builderModel)
@ -83,7 +73,7 @@ public enum JavaCodeBuilder {
Map<String,String> entityMap = new HashMap<>();
entityMap.put(ZipUtils.FILE_PATH, path.toString());
entityMap.put(ZipUtils.FILE_NAME,
builderModel.getModel().getTableName()+".java");
builderModel.getModel().getTableHumpName()+".java");
entityMap.put(ZipUtils.FILE_DATA, codeStr);
return entityMap;
}
@ -117,7 +107,7 @@ public enum JavaCodeBuilder {
Map<String,String> entityMap = new HashMap<>();
entityMap.put(ZipUtils.FILE_PATH, path.toString());
entityMap.put(ZipUtils.FILE_NAME,
builderModel.getModel().getTableName()+"Mapper.java");
builderModel.getModel().getTableHumpName()+"Mapper.java");
entityMap.put(ZipUtils.FILE_DATA, codeStr);
return entityMap;
}
@ -153,7 +143,7 @@ public enum JavaCodeBuilder {
Map<String,String> entityMap = new HashMap<>();
entityMap.put(ZipUtils.FILE_PATH, path.toString());
entityMap.put(ZipUtils.FILE_NAME,
builderModel.getModel().getTableName()+"Mapper.xml");
builderModel.getModel().getTableHumpName()+"Mapper.xml");
entityMap.put(ZipUtils.FILE_DATA, codeStr);
return entityMap;
}
@ -187,7 +177,7 @@ public enum JavaCodeBuilder {
Map<String,String> entityMap = new HashMap<>();
entityMap.put(ZipUtils.FILE_PATH, path.toString());
entityMap.put(ZipUtils.FILE_NAME,
"I"+builderModel.getModel().getTableName()+"Service.java");
"I"+builderModel.getModel().getTableHumpName()+"Service.java");
entityMap.put(ZipUtils.FILE_DATA, codeStr);
return entityMap;
}
@ -224,7 +214,7 @@ public enum JavaCodeBuilder {
Map<String,String> entityMap = new HashMap<>();
entityMap.put(ZipUtils.FILE_PATH, path.toString());
entityMap.put(ZipUtils.FILE_NAME,
builderModel.getModel().getTableName()+"ServiceImpl.java");
builderModel.getModel().getTableHumpName()+"ServiceImpl.java");
entityMap.put(ZipUtils.FILE_DATA, codeStr);
return entityMap;
}
@ -258,7 +248,7 @@ public enum JavaCodeBuilder {
Map<String,String> entityMap = new HashMap<>();
entityMap.put(ZipUtils.FILE_PATH, path.toString());
entityMap.put(ZipUtils.FILE_NAME,
builderModel.getModel().getTableName()+"RestController.java");
builderModel.getModel().getTableHumpName()+"RestController.java");
entityMap.put(ZipUtils.FILE_DATA, codeStr);
return entityMap;
}
@ -273,44 +263,6 @@ public enum JavaCodeBuilder {
public Map<String,String> createModel(GenBuilderModel builderModelTmp, String dataStr){
GenBuilderModel builderModel =
WrapperUtil.transformInstance(builderModelTmp, GenBuilderModel.class, true);
// 处理数据
List<GenTableColumnModel> columnList = builderModel.getModel().getColumnList();
for (GenTableColumnModel columnModel : columnList) {
// 数据库字段名转驼峰
columnModel.setFieldName(
HumpUtil.underlineToHump(
columnModel.getFieldName()
)
);
// 处理验证器
String validateType = columnModel.getValidateType();
if(StringUtils.isNotBlank(validateType)){
String[] validateTypes = validateType.split(",");
StringBuilder stb = new StringBuilder();
boolean izNotNull = false;
// 如果非空 则开启非空验证
if(DictType.NO_YES_YES.getValue().equals(columnModel.getIzNotNull())){
izNotNull = true;
stb.append("ValiArgsType.").append(ValiArgsType.IS_NOT_NULL);
}
for (int i = 0; i < validateTypes.length; i++) {
String type = validateTypes[i];
if(izNotNull){
stb.append(", ");
izNotNull = false;
}
if(!ValiArgsType.IS_NOT_NULL.equals(ValiArgsType.valueOf(type))){
stb.append("ValiArgsType.").append(type);
}
if(i < validateTypes.length -1 ){
stb.append(", ");
}
}
columnModel.setValidateType(stb.toString());
}
}
String codeStr = EnjoyUtil.render("/backend/model/TemplateModel.html",
this.createKv(builderModel)
@ -332,7 +284,7 @@ public enum JavaCodeBuilder {
Map<String,String> entityMap = new HashMap<>();
entityMap.put(ZipUtils.FILE_PATH, path.toString());
entityMap.put(ZipUtils.FILE_NAME,
builderModel.getModel().getTableName()+"Model.java");
builderModel.getModel().getTableHumpName()+"Model.java");
entityMap.put(ZipUtils.FILE_DATA, codeStr);
return entityMap;
}
@ -367,7 +319,7 @@ public enum JavaCodeBuilder {
Map<String,String> entityMap = new HashMap<>();
entityMap.put(ZipUtils.FILE_PATH, path.toString());
entityMap.put(ZipUtils.FILE_NAME,
builderModel.getModel().getTableName()+"RestApi.java");
builderModel.getModel().getTableHumpName()+"RestApi.java");
entityMap.put(ZipUtils.FILE_DATA, codeStr);
return entityMap;
}

@ -60,43 +60,9 @@ public enum VueCodeBuilder {
public Map<String,String> createIndex(GenBuilderModel builderModelTmp, String dataStr){
GenBuilderModel builderModel =
WrapperUtil.transformInstance(builderModelTmp, GenBuilderModel.class, true);
List<GenTableColumnModel> columnList = builderModel.getModel().getColumnList();
// 处理数据
for (GenTableColumnModel columnModel : columnList) {
// 数据库字段名转驼峰
columnModel.setFieldName(
HumpUtil.underlineToHump(
columnModel.getFieldName()
)
);
}
List<GenTableColumnModel> queryList = new ArrayList<>(2);
// 简单检索
List<GenTableColumnModel> briefQueryList = new ArrayList<>(2);
// 更多检索
List<GenTableColumnModel> moreQueryList = new ArrayList<>();
for (GenTableColumnModel genTableColumnModel : columnList) {
if (StringUtils.isNotBlank(genTableColumnModel.getQueryType()) &&
genTableColumnModel.getIzShowList().equals(DictType.NO_YES_YES.getValue())
) {
queryList.add(genTableColumnModel);
}
}
// 筛选数据
for (int i = 0; i < queryList.size(); i++) {
if(i < 2){
briefQueryList.add(queryList.get(i));
}else{
moreQueryList.add(queryList.get(i));
}
}
String codeStr = EnjoyUtil.render("/foreend/index/TemplateIndex.html",
this.createKv(builderModel)
.set("briefQueryList", briefQueryList)
.set("moreQueryList", moreQueryList)
);
StringBuilder path = new StringBuilder();
@ -129,79 +95,9 @@ public enum VueCodeBuilder {
public Map<String,String> createEdit(GenBuilderModel builderModelTmp, String dataStr){
GenBuilderModel builderModel =
WrapperUtil.transformInstance(builderModelTmp, GenBuilderModel.class, true);
List<GenTableColumnModel> columnList = builderModel.getModel().getColumnList();
List<List<GenTableColumnModel>> formList = new ArrayList<>();
Map<String,List<String>> valiDict = new HashMap<>();
Set<String> validateTypesSet = new HashSet<>();
// 处理验证数据
for (GenTableColumnModel columnModel : columnList) {
// 数据库字段名转驼峰
columnModel.setFieldName(
HumpUtil.underlineToHump(
columnModel.getFieldName()
)
);
// 处理验证器
String validateType = columnModel.getValidateType();
if(StringUtils.isNotBlank(validateType)){
String[] validateTypes = validateType.split(",");
Set<String> validateTypeSet = new HashSet<>(Arrays.asList(validateTypes));
// 如果非空 则开启非空验证
if(DictType.NO_YES_YES.getValue().equals(columnModel.getIzNotNull())){
validateTypeSet.add(ValiArgsType.IS_NOT_NULL.toString());
}
List<String> validateTypeList = new ArrayList<>(validateTypes.length);
for (String validate : validateTypeSet) {
validateTypeList.add(
HumpUtil.underlineToHump(
VALIDATE_PREFIX + validate.toLowerCase()
)
);
}
validateTypesSet.addAll(validateTypeList);
valiDict.put(columnModel.getFieldName(), validateTypeList);
}
}
// 处理数据
if(columnList.size() == 1){
if(DictType.NO_YES_YES.getValue().equals(columnList.get(0).getIzShowForm()) &&
StringUtils.isNotBlank(columnList.get(0).getShowType())
){
List<GenTableColumnModel> formTmpList = new ArrayList<>();
formTmpList.add(columnList.get(0));
formList.add(formTmpList);
}
}else{
for (int i = 0; i < columnList.size(); i+=2) {
List<GenTableColumnModel> formTmpList = new ArrayList<>();
if(DictType.NO_YES_YES.getValue().equals(columnList.get(i).getIzShowForm()) &&
StringUtils.isNotBlank(columnList.get(i).getShowType())
){
formTmpList.add(columnList.get(i));
if(i+1 < columnList.size()){
formTmpList.add(columnList.get(i+1));
}
formList.add(formTmpList);
}
}
}
StringBuilder validateTypeStb = new StringBuilder();
for (String validateType : validateTypesSet) {
validateTypeStb.append(validateType);
validateTypeStb.append(", ");
}
String codeStr = EnjoyUtil.render("/foreend/components/TemplateEdit.html",
this.createKv(builderModel)
.set("formList", formList)
.set("valiDict", valiDict)
.set("validateTypes", validateTypeStb.toString())
);
this.createKv(builderModel));
StringBuilder path = new StringBuilder();
path.append(CodeBuilder.BASE_PATH).append(dataStr).append(CodeBuilder.FOREEND_PATH)
@ -220,7 +116,7 @@ public enum VueCodeBuilder {
}
Map<String,String> entityMap = new HashMap<>();
entityMap.put(ZipUtils.FILE_PATH, path.toString());
entityMap.put(ZipUtils.FILE_NAME, builderModel.getModel().getTableName()+"ManagementEdit.vue");
entityMap.put(ZipUtils.FILE_NAME, builderModel.getModel().getTableHumpName()+"ManagementEdit.vue");
entityMap.put(ZipUtils.FILE_DATA, codeStr);
return entityMap;
}
@ -235,16 +131,6 @@ public enum VueCodeBuilder {
public Map<String,String> createImport(GenBuilderModel builderModelTmp, String dataStr){
GenBuilderModel builderModel =
WrapperUtil.transformInstance(builderModelTmp, GenBuilderModel.class, true);
List<GenTableColumnModel> columnList = builderModel.getModel().getColumnList();
// 处理数据
for (GenTableColumnModel columnModel : columnList) {
// 数据库字段名转驼峰
columnModel.setFieldName(
HumpUtil.underlineToHump(
columnModel.getFieldName()
)
);
}
String codeStr = EnjoyUtil.render("/foreend/components/TemplateImport.html",
this.createKv(builderModel)
@ -267,7 +153,7 @@ public enum VueCodeBuilder {
}
Map<String,String> entityMap = new HashMap<>();
entityMap.put(ZipUtils.FILE_PATH, path.toString());
entityMap.put(ZipUtils.FILE_NAME, builderModel.getModel().getTableName()+"ManagementImport.vue");
entityMap.put(ZipUtils.FILE_NAME, builderModel.getModel().getTableHumpName()+"ManagementImport.vue");
entityMap.put(ZipUtils.FILE_DATA, codeStr);
return entityMap;
}
@ -281,17 +167,6 @@ public enum VueCodeBuilder {
public Map<String,String> createApi(GenBuilderModel builderModelTmp, String dataStr){
GenBuilderModel builderModel =
WrapperUtil.transformInstance(builderModelTmp, GenBuilderModel.class, true);
List<GenTableColumnModel> columnList = builderModel.getModel().getColumnList();
// 处理数据
for (GenTableColumnModel columnModel : columnList) {
// 数据库字段名转驼峰
columnModel.setFieldName(
HumpUtil.underlineToHump(
columnModel.getFieldName()
)
);
}
String codeStr = EnjoyUtil.render("/foreend/api/TemplateApi.html",
this.createKv(builderModel)
@ -311,7 +186,7 @@ public enum VueCodeBuilder {
}
Map<String,String> entityMap = new HashMap<>();
entityMap.put(ZipUtils.FILE_PATH, path.toString());
entityMap.put(ZipUtils.FILE_NAME, builderModel.getModel().getTableName()+"Management.js");
entityMap.put(ZipUtils.FILE_NAME, builderModel.getModel().getTableHumpName()+"Management.js");
entityMap.put(ZipUtils.FILE_DATA, codeStr);
return entityMap;
}

@ -17,6 +17,9 @@ package org.opsli.core.generator.utils;
import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.collection.ListUtil;
import cn.hutool.core.convert.Convert;
import com.google.common.collect.Lists;
import com.google.common.collect.Sets;
import org.apache.commons.lang3.StringUtils;
import org.opsli.common.enums.DictType;
import org.opsli.common.enums.ValiArgsType;
@ -25,7 +28,9 @@ import org.opsli.modulars.generator.column.wrapper.GenTableColumnModel;
import org.opsli.modulars.generator.logs.wrapper.GenBuilderModel;
import org.opsli.modulars.generator.table.wrapper.GenTableAndColumnModel;
import java.util.ArrayList;
import java.util.List;
import java.util.Set;
/***
*
@ -37,7 +42,15 @@ public final class GeneratorHandleUtil {
/** 后端 验证前缀 */
private static final String BACKEND_VALIDATE_TYPE_PREFIX = "ValiArgsType.";
/** 验证方法前缀 */
private static final String VALIDATE_PREFIX = "validate_";
/**
*
* @param builderModel
* @param excludeFields
* @return GenBuilderModel
*/
public static GenBuilderModel handleData(GenBuilderModel builderModel, List<String> excludeFields){
if(builderModel == null){
return null;
@ -66,6 +79,8 @@ public final class GeneratorHandleUtil {
List<String> finalExcludeFields = excludeFields;
columnList.removeIf(tmp -> finalExcludeFields.contains(tmp.getFieldName()));
List<GenTableColumnModel> queryList = Lists.newArrayList();
for (GenTableColumnModel columnModel : columnList) {
// 1. 数据库字段名转驼峰
columnModel.setFieldHumpName(
@ -74,35 +89,89 @@ public final class GeneratorHandleUtil {
)
);
// 验证集合
Set<String> validateTypeSet = Sets.newHashSet(columnModel.getValidateType());
// 如果非空 则开启非空验证
if(DictType.NO_YES_YES.getValue().equals(columnModel.getIzNotNull())){
validateTypeSet.add(ValiArgsType.IS_NOT_NULL.toString());
}
List<String> validateTypeList = Convert.toList(String.class, validateTypeSet);
validateTypeList.removeIf(StringUtils::isBlank);
// 2. 后端字段验证
// 处理验证器
String validateType = columnModel.getValidateType();
if(StringUtils.isNotBlank(validateType)){
String[] validateTypes = validateType.split(",");
StringBuilder stb = new StringBuilder();
boolean izNotNull = false;
// 如果非空 则开启非空验证
if(DictType.NO_YES_YES.getValue().equals(columnModel.getIzNotNull())){
izNotNull = true;
stb.append(BACKEND_VALIDATE_TYPE_PREFIX).append(ValiArgsType.IS_NOT_NULL);
}
if(!CollUtil.isEmpty(validateTypeList)){
StringBuilder backendStb = new StringBuilder();
StringBuilder frontendStb = new StringBuilder();
for (int i = 0; i < validateTypes.length; i++) {
String type = validateTypes[i];
if(izNotNull){
stb.append(", ");
izNotNull = false;
}
if(!ValiArgsType.IS_NOT_NULL.equals(ValiArgsType.valueOf(type))){
stb.append(BACKEND_VALIDATE_TYPE_PREFIX).append(type);
}
if(i < validateTypes.length -1 ){
stb.append(", ");
columnModel.setFrontendValidateTypeList(Lists.newArrayList());
List<String> backendList = Lists.newArrayListWithCapacity(validateTypeList.size());
List<String> frontendList = Lists.newArrayListWithCapacity(validateTypeList.size());
for (int i = 0; i < validateTypeList.size(); i++) {
String validate = validateTypeList.get(i);
backendStb.append(BACKEND_VALIDATE_TYPE_PREFIX).append(validate);
frontendStb.append(
HumpUtil.underlineToHump(
VALIDATE_PREFIX + validate.toLowerCase()));
backendList.add(validate);
frontendList.add(
HumpUtil.underlineToHump(
VALIDATE_PREFIX + validate.toLowerCase()));
if(i < validateTypeList.size() - 1 ){
backendStb.append(", ");
frontendStb.append(", ");
}
}
columnModel.setBackendValidateType(stb.toString());
columnModel.setBackendValidateType(backendStb.toString());
columnModel.setFrontendValidateType(frontendStb.toString());
model.setFrontendValidateType(frontendStb.toString());
columnModel.setBackendValidateTypeList(backendList);
columnModel.setFrontendValidateTypeList(frontendList);
}
// 3. 处理 Form 表单字段
if(DictType.NO_YES_YES.getValue().equals(columnModel.getIzShowForm())){
if(CollUtil.isEmpty(model.getFormList())){
model.setFormList(Lists.newArrayList());
}
model.getFormList().add(columnModel);
}
// 4. 处理 Index 页面字段 - QueryList
if (StringUtils.isNotBlank(columnModel.getQueryType()) &&
DictType.NO_YES_YES.getValue().equals(columnModel.getIzShowList())
) {
queryList.add(columnModel);
}
}
// 5. 处理 Index 页面字段 - briefQueryList - moreQueryList
if(!CollUtil.isEmpty(queryList)){
if(CollUtil.isEmpty(model.getBriefQueryList())){
model.setBriefQueryList(Lists.newArrayList());
}
if(CollUtil.isEmpty(model.getMoreQueryList())){
model.setMoreQueryList(Lists.newArrayList());
}
for (int i = 0; i < queryList.size(); i++) {
if(i < 2){
model.getBriefQueryList().add(
queryList.get(i));
}else{
model.getMoreQueryList().add(
queryList.get(i));
}
}
}
}
return builderModel;

@ -144,14 +144,24 @@ public class GenTableColumnModel extends ApiWrapper {
@ExcelIgnore
private String fieldHumpName;
/** 后台验证集合 */
/** 后端验证 */
@JsonIgnore
@ExcelIgnore
private String backendValidateType;
/** 前台验证集合 */
/** 后端验证集合 */
@JsonIgnore
@ExcelIgnore
private List<String> frontendValidateType;
private List<String> backendValidateTypeList;
/** 前端验证集合 */
@JsonIgnore
@ExcelIgnore
private String frontendValidateType;
/** 前端验证集合 */
@JsonIgnore
@ExcelIgnore
private List<String> frontendValidateTypeList;
}

@ -26,6 +26,7 @@ import org.opsli.common.annotation.validation.ValidationArgsLenMax;
import org.opsli.common.enums.ValiArgsType;
import org.opsli.modulars.generator.column.wrapper.GenTableColumnModel;
import java.util.ArrayList;
import java.util.List;
/**
@ -96,4 +97,24 @@ public class GenTableAndColumnModel extends ApiWrapper {
@ExcelIgnore
private String tableHumpName;
/** 前端Form集合 */
@JsonIgnore
@ExcelIgnore
private List<GenTableColumnModel> formList;
/** 简单检索集合 */
@JsonIgnore
@ExcelIgnore
private List<GenTableColumnModel> briefQueryList;
/** 更多检索集合 */
@JsonIgnore
@ExcelIgnore
private List<GenTableColumnModel> moreQueryList;
/** 前端验证集合 */
@JsonIgnore
@ExcelIgnore
private String frontendValidateType;
}

@ -29,9 +29,9 @@ import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
#if(data.subModuleName != null && data.subModuleName != "")
import #(apiPath).wrapper.#(data.moduleName+"."+data.subModuleName).#(data.model.tableName)Model;
import #(apiPath).wrapper.#(data.moduleName+"."+data.subModuleName).#(data.model.tableHumpName)Model;
#else
import #(apiPath).wrapper.#(data.moduleName).#(data.model.tableName)Model;
import #(apiPath).wrapper.#(data.moduleName).#(data.model.tableHumpName)Model;
#end
@ -46,7 +46,7 @@ import #(apiPath).wrapper.#(data.moduleName).#(data.model.tableName)Model;
* @author #(data.authorName)
* @date #(currTime)
*/
public interface #(data.model.tableName)RestApi {
public interface #(data.model.tableHumpName)RestApi {
/** 标题 */
String TITLE = "#(data.codeTitle)";
@ -59,7 +59,7 @@ public interface #(data.model.tableName)RestApi {
* @return ResultVo
*/
@GetMapping("/get")
ResultVo<#(data.model.tableName)Model> get(#(data.model.tableName)Model model);
ResultVo<#(data.model.tableHumpName)Model> get(#(data.model.tableHumpName)Model model);
/**
* #(data.codeTitle)
@ -81,7 +81,7 @@ public interface #(data.model.tableName)RestApi {
* @return ResultVo
*/
@PostMapping("/insert")
ResultVo<?> insert(@RequestBody #(data.model.tableName)Model model);
ResultVo<?> insert(@RequestBody #(data.model.tableHumpName)Model model);
/**
* #(data.codeTitle)
@ -89,7 +89,7 @@ public interface #(data.model.tableName)RestApi {
* @return ResultVo
*/
@PostMapping("/update")
ResultVo<?> update(@RequestBody #(data.model.tableName)Model model);
ResultVo<?> update(@RequestBody #(data.model.tableHumpName)Model model);
/**
* #(data.codeTitle)

@ -35,17 +35,17 @@ import org.opsli.core.base.entity.BaseEntity;
*/
@Data
@EqualsAndHashCode(callSuper = false)
public class #(data.model.tableName) extends BaseEntity {
public class #(data.model.tableHumpName) extends BaseEntity {
#for(column : data.model.columnList)
###
#if(column.fieldName != "deleted" && column.fieldName != "tenantId")
#if(column.fieldHumpName != "deleted" && column.fieldHumpName != "tenantId")
/** #(column.fieldComments) */
#if(!column.izNotNull)
@TableField(updateStrategy = FieldStrategy.IGNORED)
#end
private #(column.javaType) #(column.fieldName);
private #(column.javaType) #(column.fieldHumpName);
#end
#end
@ -54,11 +54,11 @@ public class #(data.model.tableName) extends BaseEntity {
###
#for(column : data.model.columnList)
#if(column.fieldName == "deleted")
#if(column.fieldHumpName == "deleted")
/** 逻辑删除字段 */
@TableLogic
private Integer deleted;
#else if(column.fieldName == "tenantId")
#else if(column.fieldHumpName == "tenantId")
/** 多租户字段 */
private String tenantId;
#end

@ -23,9 +23,9 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
#if(data.subModuleName != null && data.subModuleName != "")
import #(data.packageName+"."+data.moduleName+"."+data.subModuleName).entity.#(data.model.tableName);
import #(data.packageName+"."+data.moduleName+"."+data.subModuleName).entity.#(data.model.tableHumpName);
#else
import #(data.packageName+"."+data.moduleName).entity.#(data.model.tableName);
import #(data.packageName+"."+data.moduleName).entity.#(data.model.tableHumpName);
#end
/**
@ -35,6 +35,6 @@ import #(data.packageName+"."+data.moduleName).entity.#(data.model.tableName);
* @date #(currTime)
*/
@Mapper
public interface #(data.model.tableName)Mapper extends BaseMapper<#(data.model.tableName)> {
public interface #(data.model.tableHumpName)Mapper extends BaseMapper<#(data.model.tableHumpName)> {
}

@ -1,9 +1,9 @@
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
#if(data.subModuleName != null && data.subModuleName != "")
<mapper namespace="#(data.packageName+'.'+data.moduleName+'.'+data.subModuleName).mapper.#(data.model.tableName)Mapper">
<mapper namespace="#(data.packageName+'.'+data.moduleName+'.'+data.subModuleName).mapper.#(data.model.tableHumpName)Mapper">
#else
<mapper namespace="#(data.packageName+'.'+data.moduleName).mapper.#(data.model.tableName)Mapper">
<mapper namespace="#(data.packageName+'.'+data.moduleName).mapper.#(data.model.tableHumpName)Mapper">
#end

@ -40,11 +40,11 @@ import org.springframework.format.annotation.DateTimeFormat;
*/
@Data
@EqualsAndHashCode(callSuper = false)
public class #(data.model.tableName)Model extends ApiWrapper {
public class #(data.model.tableHumpName)Model extends ApiWrapper {
#for(column : data.model.columnList)
###
#if(column.fieldName != "deleted" && column.fieldName != "tenantId")
#if(column.fieldHumpName != "deleted" && column.fieldHumpName != "tenantId")
/** #(column.fieldComments) */
@ApiModelProperty(value = "#(column.fieldComments)")
@ExcelProperty(value = "#(column.fieldComments)", order = #(column.sort))
@ -53,8 +53,8 @@ public class #(data.model.tableName)Model extends ApiWrapper {
#else
@ExcelInfo
#end
#if(column.validateType != null && column.validateType != "")
@ValidationArgs({#(column.validateType)})
#if(column.backendValidateType != null && column.backendValidateType != "")
@ValidationArgs({#(column.backendValidateType)})
#end
#if(column.fieldLength != null && column.fieldLength > 0)
#if(column.fieldPrecision != null && column.fieldPrecision > 0)
@ -73,7 +73,7 @@ public class #(data.model.tableName)Model extends ApiWrapper {
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
#end
#end
private #(column.javaType) #(column.fieldName);
private #(column.javaType) #(column.fieldHumpName);
#end
#end

@ -23,11 +23,11 @@ import org.opsli.core.base.service.interfaces.CrudServiceInterface;
#if(data.subModuleName != null && data.subModuleName != "")
import #(data.packageName+"."+data.moduleName+"."+data.subModuleName).entity.#(data.model.tableName);
import #(apiPath).wrapper.#(data.moduleName+"."+data.subModuleName).#(data.model.tableName)Model;
import #(data.packageName+"."+data.moduleName+"."+data.subModuleName).entity.#(data.model.tableHumpName);
import #(apiPath).wrapper.#(data.moduleName+"."+data.subModuleName).#(data.model.tableHumpName)Model;
#else
import #(data.packageName+"."+data.moduleName).entity.#(data.model.tableName);
import #(apiPath).wrapper.#(data.moduleName).#(data.model.tableName)Model;
import #(data.packageName+"."+data.moduleName).entity.#(data.model.tableHumpName);
import #(apiPath).wrapper.#(data.moduleName).#(data.model.tableHumpName)Model;
#end
/**
@ -36,6 +36,6 @@ import #(apiPath).wrapper.#(data.moduleName).#(data.model.tableName)Model;
* @author #(data.authorName)
* @date #(currTime)
*/
public interface I#(data.model.tableName)Service extends CrudServiceInterface<#(data.model.tableName), #(data.model.tableName)Model> {
public interface I#(data.model.tableHumpName)Service extends CrudServiceInterface<#(data.model.tableHumpName), #(data.model.tableHumpName)Model> {
}

@ -26,15 +26,15 @@ import org.springframework.transaction.annotation.Transactional;
import org.opsli.core.base.service.impl.CrudServiceImpl;
#if(data.subModuleName != null && data.subModuleName != "")
import #(data.packageName+"."+data.moduleName+"."+data.subModuleName).entity.#(data.model.tableName);
import #(apiPath).wrapper.#(data.moduleName+"."+data.subModuleName).#(data.model.tableName)Model;
import #(data.packageName+"."+data.moduleName+"."+data.subModuleName).service.I#(data.model.tableName)Service;
import #(data.packageName+"."+data.moduleName+"."+data.subModuleName).mapper.#(data.model.tableName)Mapper;
import #(data.packageName+"."+data.moduleName+"."+data.subModuleName).entity.#(data.model.tableHumpName);
import #(apiPath).wrapper.#(data.moduleName+"."+data.subModuleName).#(data.model.tableHumpName)Model;
import #(data.packageName+"."+data.moduleName+"."+data.subModuleName).service.I#(data.model.tableHumpName)Service;
import #(data.packageName+"."+data.moduleName+"."+data.subModuleName).mapper.#(data.model.tableHumpName)Mapper;
#else
import #(data.packageName+"."+data.moduleName).entity.#(data.model.tableName);
import #(apiPath).wrapper.#(data.moduleName).#(data.model.tableName)Model;
import #(data.packageName+"."+data.moduleName).service.I#(data.model.tableName)Service;
import #(data.packageName+"."+data.moduleName).mapper.#(data.model.tableName)Mapper;
import #(data.packageName+"."+data.moduleName).entity.#(data.model.tableHumpName);
import #(apiPath).wrapper.#(data.moduleName).#(data.model.tableHumpName)Model;
import #(data.packageName+"."+data.moduleName).service.I#(data.model.tableHumpName)Service;
import #(data.packageName+"."+data.moduleName).mapper.#(data.model.tableHumpName)Mapper;
#end
@ -45,10 +45,10 @@ import #(data.packageName+"."+data.moduleName).mapper.#(data.model.tableName)Map
* @date #(currTime)
*/
@Service
public class #(data.model.tableName)ServiceImpl extends CrudServiceImpl<#(data.model.tableName)Mapper, #(data.model.tableName), #(data.model.tableName)Model>
implements I#(data.model.tableName)Service {
public class #(data.model.tableHumpName)ServiceImpl extends CrudServiceImpl<#(data.model.tableHumpName)Mapper, #(data.model.tableHumpName), #(data.model.tableHumpName)Model>
implements I#(data.model.tableHumpName)Service {
@Autowired(required = false)
private #(data.model.tableName)Mapper mapper;
private #(data.model.tableHumpName)Mapper mapper;
}

@ -40,15 +40,15 @@ import javax.servlet.http.HttpServletResponse;
import java.lang.reflect.Method;
#if(data.subModuleName != null && data.subModuleName != "")
import #(data.packageName+"."+data.moduleName+"."+data.subModuleName).entity.#(data.model.tableName);
import #(apiPath).wrapper.#(data.moduleName+"."+data.subModuleName).#(data.model.tableName)Model;
import #(data.packageName+"."+data.moduleName+"."+data.subModuleName).service.I#(data.model.tableName)Service;
import #(apiPath).web.#(data.moduleName+"."+data.subModuleName).#(data.model.tableName)RestApi;
import #(data.packageName+"."+data.moduleName+"."+data.subModuleName).entity.#(data.model.tableHumpName);
import #(apiPath).wrapper.#(data.moduleName+"."+data.subModuleName).#(data.model.tableHumpName)Model;
import #(data.packageName+"."+data.moduleName+"."+data.subModuleName).service.I#(data.model.tableHumpName)Service;
import #(apiPath).web.#(data.moduleName+"."+data.subModuleName).#(data.model.tableHumpName)RestApi;
#else
import #(data.packageName+"."+data.moduleName).entity.#(data.model.tableName);
import #(apiPath).wrapper.#(data.moduleName).#(data.model.tableName)Model;
import #(data.packageName+"."+data.moduleName).service.I#(data.model.tableName)Service;
import #(apiPath).web.#(data.moduleName).#(data.model.tableName)RestApi;
import #(data.packageName+"."+data.moduleName).entity.#(data.model.tableHumpName);
import #(apiPath).wrapper.#(data.moduleName).#(data.model.tableHumpName)Model;
import #(data.packageName+"."+data.moduleName).service.I#(data.model.tableHumpName)Service;
import #(apiPath).web.#(data.moduleName).#(data.model.tableHumpName)RestApi;
#end
/**
@ -57,15 +57,15 @@ import #(apiPath).web.#(data.moduleName).#(data.model.tableName)RestApi;
* @author #(data.authorName)
* @date #(currTime)
*/
@Api(tags = #(data.model.tableName)RestApi.TITLE)
@Api(tags = #(data.model.tableHumpName)RestApi.TITLE)
@Slf4j
#if(data.subModuleName != null && data.subModuleName != "")
@ApiRestController("/#(data.moduleName)/#(data.subModuleName)")
#else
@ApiRestController("/#(data.moduleName)")
#end
public class #(data.model.tableName)RestController extends BaseRestController<#(data.model.tableName), #(data.model.tableName)Model, I#(data.model.tableName)Service>
implements #(data.model.tableName)RestApi {
public class #(data.model.tableHumpName)RestController extends BaseRestController<#(data.model.tableHumpName), #(data.model.tableHumpName)Model, I#(data.model.tableHumpName)Service>
implements #(data.model.tableHumpName)RestApi {
/**
@ -80,7 +80,7 @@ public class #(data.model.tableName)RestController extends BaseRestController<#(
@RequiresPermissions("#(data.moduleName.toLowerCase())_select")
#end
@Override
public ResultVo<#(data.model.tableName)Model> get(#(data.model.tableName)Model model) {
public ResultVo<#(data.model.tableHumpName)Model> get(#(data.model.tableHumpName)Model model) {
// 如果系统内部调用 则直接查数据库
if(model != null && model.getIzApi() != null && model.getIzApi()){
model = IService.get(model);
@ -104,8 +104,8 @@ public class #(data.model.tableName)RestController extends BaseRestController<#(
@Override
public ResultVo<?> findPage(Integer pageNo, Integer pageSize, HttpServletRequest request) {
QueryBuilder<#(data.model.tableName)> queryBuilder = new WebQueryBuilder<>(entityClazz, request.getParameterMap());
Page<#(data.model.tableName), #(data.model.tableName)Model> page = new Page<>(pageNo, pageSize);
QueryBuilder<#(data.model.tableHumpName)> queryBuilder = new WebQueryBuilder<>(entityClazz, request.getParameterMap());
Page<#(data.model.tableHumpName), #(data.model.tableHumpName)Model> page = new Page<>(pageNo, pageSize);
page.setQueryWrapper(queryBuilder.build());
page = IService.findPage(page);
@ -125,7 +125,7 @@ public class #(data.model.tableName)RestController extends BaseRestController<#(
#end
@EnableLog
@Override
public ResultVo<?> insert(#(data.model.tableName)Model model) {
public ResultVo<?> insert(#(data.model.tableHumpName)Model model) {
// 调用新增方法
IService.insert(model);
return ResultVo.success("新增#(data.codeTitleBrief)成功");
@ -144,7 +144,7 @@ public class #(data.model.tableName)RestController extends BaseRestController<#(
#end
@EnableLog
@Override
public ResultVo<?> update(#(data.model.tableName)Model model) {
public ResultVo<?> update(#(data.model.tableHumpName)Model model) {
// 调用修改方法
IService.update(model);
return ResultVo.success("修改#(data.codeTitleBrief)成功");
@ -214,8 +214,8 @@ public class #(data.model.tableName)RestController extends BaseRestController<#(
public void exportExcel(HttpServletRequest request, HttpServletResponse response) {
// 当前方法
Method method = ReflectUtil.getMethodByName(this.getClass(), "exportExcel");
QueryBuilder<#(data.model.tableName)> queryBuilder = new WebQueryBuilder<>(entityClazz, request.getParameterMap());
super.excelExport(#(data.model.tableName)RestApi.SUB_TITLE, queryBuilder.build(), response, method);
QueryBuilder<#(data.model.tableHumpName)> queryBuilder = new WebQueryBuilder<>(entityClazz, request.getParameterMap());
super.excelExport(#(data.model.tableHumpName)RestApi.SUB_TITLE, queryBuilder.build(), response, method);
}
/**
@ -251,7 +251,7 @@ public class #(data.model.tableName)RestController extends BaseRestController<#(
public void importTemplate(HttpServletResponse response) {
// 当前方法
Method method = ReflectUtil.getMethodByName(this.getClass(), "importTemplate");
super.importTemplate(#(data.model.tableName)RestApi.SUB_TITLE, response, method);
super.importTemplate(#(data.model.tableHumpName)RestApi.SUB_TITLE, response, method);
}
}

@ -7,57 +7,55 @@
@close="close"
>
<el-form ref="form" :model="form" :rules="rules" label-width="105px">
#for(columnList : formList)
#if(columnList != null && columnList.size() > 0)
<el-row>
#for(column : columnList)
#for(column : data.model.formList)
<el-row :gutter="10" >
###
#if(column.showType == "0")
<el-col :span="12">
<el-form-item label="#(column.fieldComments)" prop="#(column.fieldName)">
<el-input v-model="form.#(column.fieldName)" autocomplete="off"></el-input>
<el-col :xs="24" :sm="24" :md="24" :lg="12" :xl="12">
<el-form-item label="#(column.fieldComments)" prop="#(column.fieldHumpName)">
<el-input v-model="form.#(column.fieldHumpName)" autocomplete="off"></el-input>
</el-form-item>
</el-col>
###
#else if(column.showType == "1")
<el-col :span="12">
<el-form-item label="#(column.fieldComments)" prop="#(column.fieldName)">
<el-input type="textarea" v-model="form.#(column.fieldName)" autocomplete="off"></el-input>
</el-form-item>
<el-col :xs="24" :sm="24" :md="24" :lg="12" :xl="12">
<el-form-item label="#(column.fieldComments)" prop="#(column.fieldHumpName)">
<el-input type="textarea" v-model="form.#(column.fieldHumpName)" autocomplete="off"></el-input>
</el-form-item>
</el-col>
###
#else if(column.showType == "2")
<el-col :span="12">
<el-form-item label="#(column.fieldComments)" prop="#(column.fieldName)">
<el-select v-model="form.#(column.fieldName)" clearable
placeholder="请选择" style="width: 100%">
<el-option
v-for="item in dict.#(column.dictTypeCode)"
:key="item.dictValue"
:label="item.dictName"
:value="item.dictValue"
></el-option>
</el-select>
</el-form-item>
<el-col :xs="24" :sm="24" :md="24" :lg="12" :xl="12">
<el-form-item label="#(column.fieldComments)" prop="#(column.fieldHumpName)">
<el-select v-model="form.#(column.fieldHumpName)" clearable
placeholder="请选择" style="width: 100%">
<el-option
v-for="item in dict.#(column.dictTypeCode)"
:key="item.dictValue"
:label="item.dictName"
:value="item.dictValue"
></el-option>
</el-select>
</el-form-item>
</el-col>
###
#else if(column.showType == "3")
<el-col :span="12">
<el-form-item label="#(column.fieldComments)" prop="#(column.fieldName)">
<el-date-picker
v-model="form.#(column.fieldName)"
type="datetime"
placeholder="选择#(column.fieldComments)"
style="width: 100%"
></el-date-picker>
</el-form-item>
<el-col :xs="24" :sm="24" :md="24" :lg="12" :xl="12">
<el-form-item label="#(column.fieldComments)" prop="#(column.fieldHumpName)">
<el-date-picker
v-model="form.#(column.fieldHumpName)"
type="datetime"
placeholder="选择#(column.fieldComments)"
style="width: 100%"
></el-date-picker>
</el-form-item>
</el-col>
###
#else if(column.showType == "4")
<el-col :span="12">
<el-form-item label="#(column.fieldComments)" prop="#(column.fieldName)">
<el-col :xs="24" :sm="24" :md="24" :lg="12" :xl="12">
<el-form-item label="#(column.fieldComments)" prop="#(column.fieldHumpName)">
<el-date-picker
v-model="form.#(column.fieldName)"
v-model="form.#(column.fieldHumpName)"
type="date"
placeholder="选择#(column.fieldComments)"
style="width: 100%"
@ -66,10 +64,8 @@
</el-col>
#end
#end
</el-row>
#end
#end
</el-form>
<div slot="footer" class="dialog-footer">
@ -81,16 +77,16 @@
<script>
#if(data.subModuleName != null && data.subModuleName != "")
import { doInsert, doUpdate } from "@/api/#(data.moduleName)/#(data.subModuleName)/#(data.model.tableName)Management";
import { doInsert, doUpdate } from "@/api/#(data.moduleName)/#(data.subModuleName)/#(data.model.tableHumpName)Management";
#else
import { doInsert, doUpdate } from "@/api/#(data.moduleName)/#(data.model.tableName)Management";
import { doInsert, doUpdate } from "@/api/#(data.moduleName)/#(data.model.tableHumpName)Management";
#end
import { formateDate } from "@/utils/format";
import { isNull } from "@/utils/validate";
import { #(validateTypes) } from "@/utils/validateRlue";
import { #(data.model.frontendValidateType) } from "@/utils/validateRlue";
export default {
name: "#(data.model.tableName)ManagementEdit",
name: "#(data.model.tableHumpName)ManagementEdit",
data() {
return {
@ -100,16 +96,16 @@
},
dict: {},
rules: {
#for(columnList : formList)
#for(columnList : data.model.formList)
#for(column : columnList)
#if(valiDict[column.fieldName] != null && valiDict[column.fieldName].size() > 0)
#(column.fieldName): [
#for(validate : valiDict[column.fieldName])
#if(column.frontendValidateTypeList.size() > 0)
#(column.fieldHumpName): [
#for(validate : column.frontendValidateTypeList)
#if(validate == "isNotNull")
{ required: true, trigger: "blur", message: "#(column.fieldComments)非空" },
#end
#end
#for(validate : valiDict[column.fieldName])
#for(validate : column.frontendValidateTypeList)
#if(validate != "isNotNull")
{ required: false, trigger: "blur", validator: #(validate) },
#end

@ -34,15 +34,15 @@
<script>
#if(data.subModuleName != null && data.subModuleName != "")
import { doDownloadTemplate, doImportExcel } from "@/api/#(data.moduleName)/#(data.subModuleName)/#(data.model.tableName)Management";
import { doDownloadTemplate, doImportExcel } from "@/api/#(data.moduleName)/#(data.subModuleName)/#(data.model.tableHumpName)Management";
#else
import { doDownloadTemplate, doImportExcel } from "@/api/#(data.moduleName)/#(data.model.tableName)Management";
import { doDownloadTemplate, doImportExcel } from "@/api/#(data.moduleName)/#(data.model.tableHumpName)Management";
#end
import {isNull} from "@/utils/validate";
import {random} from "@/utils";
export default {
name: "#(data.model.tableName)ManagementImport",
name: "#(data.model.tableHumpName)ManagementImport",
data() {
return {
title: "导入Excel",

@ -7,12 +7,12 @@
<vab-query-form>
<vab-query-form-left-panel :span="24">
<el-form :inline="true" :model="queryForm" @submit.native.prevent>
#for(column : moreQueryList)
#for(column : data.model.moreQueryList)
###
#if(column.showType == "2")
<el-form-item>
<el-select v-model="queryForm.#(column.fieldName+'_'+column.queryType)" placeholder="请选择#(column.fieldComments)" clearable style="width: 100%">
<el-select v-model="queryForm.#(column.fieldHumpName+'_'+column.queryType)" placeholder="请选择#(column.fieldComments)" clearable style="width: 100%">
<el-option
v-for="item in dict.#(column.dictTypeCode)"
:key="item.dictValue"
@ -25,7 +25,7 @@
###
<el-form-item>
<el-date-picker
v-model="#(column.fieldName)DatePicker"
v-model="#(column.fieldHumpName)DatePicker"
type="datetimerange"
:picker-options="pickerOptions"
range-separator="至"
@ -38,7 +38,7 @@
###
<el-form-item>
<el-date-picker
v-model="#(column.fieldName)DatePicker"
v-model="#(column.fieldHumpName)DatePicker"
type="daterange"
align="right"
range-separator="至"
@ -50,7 +50,7 @@
#if(column.queryType == "EQ" || column.queryType == "LIKE")
<el-form-item>
<el-input
v-model.trim="queryForm.#(column.fieldName)_#(column.queryType)"
v-model.trim="queryForm.#(column.fieldHumpName)_#(column.queryType)"
placeholder="请输入#(column.fieldComments)"
clearable
/>
@ -59,14 +59,14 @@
<el-col :span="12" >
<el-form-item style="text-align: center">
<el-input
v-model.trim="queryForm.#(column.fieldName)_BEGIN"
v-model.trim="queryForm.#(column.fieldHumpName)_BEGIN"
placeholder="#(column.fieldComments)开始"
clearable
style="float: left;width: calc(50% - 6px)"
/>
<div style="float:left;width: 12px">-</div>
<el-input
v-model.trim="queryForm.#(column.fieldName)_END"
v-model.trim="queryForm.#(column.fieldHumpName)_END"
placeholder="#(column.fieldComments)结束"
clearable
style="float: right;width: calc(50% - 6px)"
@ -138,12 +138,12 @@
<vab-query-form-right-panel :span="14">
<el-form :inline="true" :model="queryForm" @submit.native.prevent>
### 2
#for(column : briefQueryList)
#for(column : data.model.briefQueryList)
###
#if(column.showType == "2")
<el-form-item>
<el-select v-model="queryForm.#(column.fieldName+'_'+column.queryType)" placeholder="请选择#(column.fieldComments)" clearable style="width: 100%">
<el-select v-model="queryForm.#(column.fieldHumpName+'_'+column.queryType)" placeholder="请选择#(column.fieldComments)" clearable style="width: 100%">
<el-option
v-for="item in dict.#(column.dictTypeCode)"
:key="item.dictValue"
@ -156,7 +156,7 @@
###
<el-form-item>
<el-date-picker
v-model="#(column.fieldName)DatePicker"
v-model="#(column.fieldHumpName)DatePicker"
type="datetimerange"
:picker-options="pickerOptions"
range-separator="至"
@ -169,7 +169,7 @@
###
<el-form-item>
<el-date-picker
v-model="#(column.fieldName)DatePicker"
v-model="#(column.fieldHumpName)DatePicker"
type="daterange"
align="right"
range-separator="至"
@ -181,7 +181,7 @@
#if(column.queryType == "EQ" || column.queryType == "LIKE")
<el-form-item>
<el-input
v-model.trim="queryForm.#(column.fieldName)_#(column.queryType)"
v-model.trim="queryForm.#(column.fieldHumpName)_#(column.queryType)"
placeholder="请输入#(column.fieldComments)"
clearable
/>
@ -190,14 +190,14 @@
<el-col :span="12" >
<el-form-item style="text-align: center">
<el-input
v-model.trim="queryForm.#(column.fieldName)_BEGIN"
v-model.trim="queryForm.#(column.fieldHumpName)_BEGIN"
placeholder="#(column.fieldComments)开始"
clearable
style="float: left;width: calc(50% - 6px)"
/>
<div style="float:left;width: 12px">-</div>
<el-input
v-model.trim="queryForm.#(column.fieldName)_END"
v-model.trim="queryForm.#(column.fieldHumpName)_END"
placeholder="#(column.fieldComments)结束"
clearable
style="float: right;width: calc(50% - 6px)"
@ -213,7 +213,7 @@
</el-button>
#if(moreQueryList.size() > 0)
#if(data.model.moreQueryList.size() > 0)
<el-button icon="el-icon-search" @click="moreQuery">
</el-button>
@ -243,13 +243,13 @@
#if(column.showType == "2" && column.izShowList == "1")
<el-table-column
show-overflow-tooltip
prop="#(column.fieldName)"
prop="#(column.fieldHumpName)"
label="#(column.fieldComments)"
>
<template slot-scope="scope">
<span>
{{ $getDictNameByValue('#(column.dictTypeCode)', scope.row.#(column.fieldName)) }}
{{ $getDictNameByValue('#(column.dictTypeCode)', scope.row.#(column.fieldHumpName)) }}
</span>
</template>
@ -259,7 +259,7 @@
#if(column.izShowList == "1")
<el-table-column
show-overflow-tooltip
prop="#(column.fieldName)"
prop="#(column.fieldHumpName)"
label="#(column.fieldComments)"
></el-table-column>
@ -318,19 +318,19 @@
<script>
#if(data.subModuleName != null && data.subModuleName != "")
import { getList, doDelete, doDeleteAll, doExportExcel } from "@/api/#(data.moduleName)/#(data.subModuleName)/#(data.model.tableName)Management";
import { getList, doDelete, doDeleteAll, doExportExcel } from "@/api/#(data.moduleName)/#(data.subModuleName)/#(data.model.tableHumpName)Management";
#else
import { getList, doDelete, doDeleteAll, doExportExcel } from "@/api/#(data.moduleName)/#(data.model.tableName)Management";
import { getList, doDelete, doDeleteAll, doExportExcel } from "@/api/#(data.moduleName)/#(data.model.tableHumpName)Management";
#end
import Edit from "./components/#(data.model.tableName)ManagementEdit";
import Import from "./components/#(data.model.tableName)ManagementImport";
import Edit from "./components/#(data.model.tableHumpName)ManagementEdit";
import Import from "./components/#(data.model.tableHumpName)ManagementImport";
import { vueButtonClickBan } from "@/utils";
import { isNotNull } from "@/utils/valiargs";
import { formateDate } from "@/utils/format";
export default {
name: "#(data.model.tableName)Management",
name: "#(data.model.tableHumpName)Management",
components: { Edit, Import },
data() {
return {
@ -345,54 +345,54 @@
pageNo: 1,
pageSize: 10,
### 2
#for(column : briefQueryList)
#for(column : data.model.briefQueryList)
###
#if(column.showType == "2")
#(column.fieldName)_EQ: "",
#(column.fieldHumpName)_EQ: "",
#else if(column.showType == "3" || column.showType == "4")
###
#(column.fieldName)_BEGIN: "",
#(column.fieldName)_END: "",
#(column.fieldHumpName)_BEGIN: "",
#(column.fieldHumpName)_END: "",
#else
#if(column.queryType == "EQ" || column.queryType == "LIKE")
#(column.fieldName)_#(column.queryType): "",
#(column.fieldHumpName)_#(column.queryType): "",
#else if(column.queryType == "RANGE")
#(column.fieldName)_BEGIN: "",
#(column.fieldName)_END: "",
#(column.fieldHumpName)_BEGIN: "",
#(column.fieldHumpName)_END: "",
#end
#end
#end
###
#for(column : moreQueryList)
#for(column : data.model.moreQueryList)
###
#if(column.showType == "2")
#(column.fieldName)_EQ: "",
#(column.fieldHumpName)_EQ: "",
#else if(column.showType == "3" || column.showType == "4")
###
#(column.fieldName)_BEGIN: "",
#(column.fieldName)_END: "",
#(column.fieldHumpName)_BEGIN: "",
#(column.fieldHumpName)_END: "",
#else
#if(column.queryType == "EQ" || column.queryType == "LIKE")
#(column.fieldName)_#(column.queryType): "",
#(column.fieldHumpName)_#(column.queryType): "",
#else if(column.queryType == "RANGE")
#(column.fieldName)_BEGIN: "",
#(column.fieldName)_END: "",
#(column.fieldHumpName)_BEGIN: "",
#(column.fieldHumpName)_END: "",
#end
#end
#end
},
### 2
#for(column : briefQueryList)
#for(column : data.model.briefQueryList)
###
#if(column.showType == "3" || column.showType == "4")
#(column.fieldName)DatePicker: [],
#(column.fieldHumpName)DatePicker: [],
#end
#end
###
#for(column : moreQueryList)
#for(column : data.model.moreQueryList)
###
#if(column.showType == "3" || column.showType == "4")
#(column.fieldName)DatePicker: [],
#(column.fieldHumpName)DatePicker: [],
#end
#end
dict:{},
@ -495,31 +495,31 @@
},
queryData() {
### 2
#for(column : briefQueryList)
#for(column : data.model.briefQueryList)
###
#if(column.showType == "3" || column.showType == "4")
if(isNotNull(this.#(column.fieldName)DatePicker) && this.#(column.fieldName)DatePicker.length === 2){
this.queryForm.#(column.fieldName)_BEGIN =
this.#(column.fieldName)DatePicker.length === 0 ? "" : formateDate(this.#(column.fieldName)DatePicker[0], 'yyyy-MM-dd hh:mm:ss');
this.queryForm.#(column.fieldName)_END =
this.#(column.fieldName)DatePicker.length === 0 ? "" : formateDate(this.#(column.fieldName)DatePicker[1], 'yyyy-MM-dd hh:mm:ss');
if(isNotNull(this.#(column.fieldHumpName)DatePicker) && this.#(column.fieldHumpName)DatePicker.length === 2){
this.queryForm.#(column.fieldHumpName)_BEGIN =
this.#(column.fieldHumpName)DatePicker.length === 0 ? "" : formateDate(this.#(column.fieldHumpName)DatePicker[0], 'yyyy-MM-dd hh:mm:ss');
this.queryForm.#(column.fieldHumpName)_END =
this.#(column.fieldHumpName)DatePicker.length === 0 ? "" : formateDate(this.#(column.fieldHumpName)DatePicker[1], 'yyyy-MM-dd hh:mm:ss');
}else{
this.queryForm.#(column.fieldName)_BEGIN = "";
this.queryForm.#(column.fieldName)_END = "";
this.queryForm.#(column.fieldHumpName)_BEGIN = "";
this.queryForm.#(column.fieldHumpName)_END = "";
} #end
#end
###
#for(column : moreQueryList)
#for(column : data.model.moreQueryList)
###
#if(column.showType == "3" || column.showType == "4")
if(isNotNull(this.#(column.fieldName)DatePicker) && this.#(column.fieldName)DatePicker.length === 2){
this.queryForm.#(column.fieldName)_BEGIN =
this.#(column.fieldName)DatePicker.length === 0 ? "" : formateDate(this.#(column.fieldName)DatePicker[0], 'yyyy-MM-dd hh:mm:ss');
this.queryForm.#(column.fieldName)_END =
this.#(column.fieldName)DatePicker.length === 0 ? "" : formateDate(this.#(column.fieldName)DatePicker[1], 'yyyy-MM-dd hh:mm:ss');
if(isNotNull(this.#(column.fieldHumpName)DatePicker) && this.#(column.fieldHumpName)DatePicker.length === 2){
this.queryForm.#(column.fieldHumpName)_BEGIN =
this.#(column.fieldHumpName)DatePicker.length === 0 ? "" : formateDate(this.#(column.fieldHumpName)DatePicker[0], 'yyyy-MM-dd hh:mm:ss');
this.queryForm.#(column.fieldHumpName)_END =
this.#(column.fieldHumpName)DatePicker.length === 0 ? "" : formateDate(this.#(column.fieldHumpName)DatePicker[1], 'yyyy-MM-dd hh:mm:ss');
}else{
this.queryForm.#(column.fieldName)_BEGIN = "";
this.queryForm.#(column.fieldName)_END = "";
this.queryForm.#(column.fieldHumpName)_BEGIN = "";
this.queryForm.#(column.fieldHumpName)_END = "";
}
#end
#end

@ -1,7 +1,7 @@
> Copyright 2020 OPSLI https://www.opsli.com
#[[## OPSLI ]]#
> #(data.codeTitle)[#(data.model.tableName)] , #(currTime)
> #(data.codeTitle)[#(data.model.tableHumpName)] , #(currTime)
> : #(data.authorName)
@ -38,8 +38,6 @@ api 包里的代码为 api接口层拷贝至对应目录即可
`#(data.moduleName.toLowerCase())`
`#(data.subModuleName.toLowerCase())`
`#(data.moduleName.toLowerCase())` ()
`#(data.subModuleName.toLowerCase())`
@ -49,6 +47,7 @@ api 包里的代码为 api接口层拷贝至对应目录即可
: `views/modules/#(data.moduleName.toLowerCase())/index`
#end
`select`
`insert`
`update`

Loading…
Cancel
Save