Commit f4639599 authored by 赵啸非's avatar 赵啸非

添加feign接口自动生成

parent 9d7603a0
...@@ -220,6 +220,7 @@ export default { ...@@ -220,6 +220,7 @@ export default {
"genType", "genType",
"isGenExport", "isGenExport",
"isShowControl", "isShowControl",
"detailShow",
"genFeign", "genFeign",
], // 需要把number转化为string的表单字段name数组 ], // 需要把number转化为string的表单字段name数组
}; };
......
...@@ -117,6 +117,28 @@ ...@@ -117,6 +117,28 @@
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="12">
<el-form-item prop="detailShow">
<span slot="label"
>详细页面生成方式
<el-tooltip
content="生成vue详细页面"
placement="top"
>
<i class="el-icon-question"></i>
</el-tooltip>
</span>
<el-select v-model="info.detailShow">
<el-option label="独立页面" value="0" />
<el-option label="弹出窗口" value="1" />
<el-option label="抽屉" value="2" />
</el-select>
</el-form-item>
</el-col>
<el-col :span="12"> <el-col :span="12">
<el-form-item prop="packageName"> <el-form-item prop="packageName">
<span slot="label"> <span slot="label">
......
...@@ -555,7 +555,7 @@ export default { ...@@ -555,7 +555,7 @@ export default {
open: false, open: false,
title: "代码预览", title: "代码预览",
data: {}, data: {},
activeName: "entity.java", activeName: "vo.java",
}, },
docForm: {}, docForm: {},
appId: null, appId: null,
......
package com.mortals.xhx.base.system.gentable.model; package com.mortals.xhx.base.system.gentable.model;
/** /**
* * 代码生成业务实体对象
* Description:Gentable *
* date: 2021-9-29 9:35:30 * @author zxfei
*/ * @date 2022-07-04
public class GentableEntity extends GentableEntityExt{ */
public class GentableEntity extends GentableEntityExt {
private static final long serialVersionUID = 1L; private static final long serialVersionUID = 1L;
/** /**
...@@ -72,6 +75,10 @@ public class GentableEntity extends GentableEntityExt{ ...@@ -72,6 +75,10 @@ public class GentableEntity extends GentableEntityExt{
* 生成feign接口,消费应用工程名称如(workflow-platform) * 生成feign接口,消费应用工程名称如(workflow-platform)
*/ */
private String feignAppName; private String feignAppName;
/**
* vue生成详细页面方式(0,独立页面,1.弹出窗,2.抽屉)
*/
private Integer detailShow;
/** /**
* 是否生成对外api结构(0,否,1.是) * 是否生成对外api结构(0,否,1.是)
*/ */
...@@ -328,6 +335,20 @@ public class GentableEntity extends GentableEntityExt{ ...@@ -328,6 +335,20 @@ public class GentableEntity extends GentableEntityExt{
public void setFeignAppName(String feignAppName){ public void setFeignAppName(String feignAppName){
this.feignAppName = feignAppName; this.feignAppName = feignAppName;
} }
/**
* 获取 vue生成详细页面方式(0,独立页面,1.弹出窗,2.抽屉)
* @return Integer
*/
public Integer getDetailShow(){
return detailShow;
}
/**
* 设置 vue生成详细页面方式(0,独立页面,1.弹出窗,2.抽屉)
* @param detailShow
*/
public void setDetailShow(Integer detailShow){
this.detailShow = detailShow;
}
/** /**
* 获取 是否生成对外api结构(0,否,1.是) * 获取 是否生成对外api结构(0,否,1.是)
* @return Integer * @return Integer
...@@ -464,6 +485,7 @@ public class GentableEntity extends GentableEntityExt{ ...@@ -464,6 +485,7 @@ public class GentableEntity extends GentableEntityExt{
sb.append(",dividedTableType:").append(getDividedTableType()); sb.append(",dividedTableType:").append(getDividedTableType());
sb.append(",genFeign:").append(getGenFeign()); sb.append(",genFeign:").append(getGenFeign());
sb.append(",feignAppName:").append(getFeignAppName()); sb.append(",feignAppName:").append(getFeignAppName());
sb.append(",detailShow:").append(getDetailShow());
sb.append(",genApi:").append(getGenApi()); sb.append(",genApi:").append(getGenApi());
sb.append(",isGenExport:").append(getIsGenExport()); sb.append(",isGenExport:").append(getIsGenExport());
sb.append(",isShowControl:").append(getIsShowControl()); sb.append(",isShowControl:").append(getIsShowControl());
...@@ -475,28 +497,53 @@ public class GentableEntity extends GentableEntityExt{ ...@@ -475,28 +497,53 @@ public class GentableEntity extends GentableEntityExt{
} }
public void initAttrValue(){ public void initAttrValue(){
this.tableName = ""; this.tableName = "";
this.tableComment = ""; this.tableComment = "";
this.subTableName = null; this.subTableName = null;
this.subTableFkName = null; this.subTableFkName = null;
this.className = ""; this.className = "";
this.tplCategory = "crud"; this.tplCategory = "crud";
this.packageName = null; this.packageName = null;
this.moduleName = null; this.moduleName = null;
this.businessName = null; this.businessName = null;
this.functionName = null; this.functionName = null;
this.functionAuthor = null; this.functionAuthor = null;
this.cacheServiceType = null; this.cacheServiceType = null;
this.genType = 0; this.genType = 0;
this.dividedTableType = 0; this.dividedTableType = 0;
this.genFeign = 0; this.genFeign = 0;
this.feignAppName = ""; this.feignAppName = "";
this.detailShow = 1;
this.genApi = null; this.genApi = null;
this.isGenExport = null; this.isGenExport = null;
this.isShowControl = 2;
this.isShowControl = null;
this.genPath = "/"; this.genPath = "/";
this.options = null; this.options = null;
this.remark = null; this.remark = null;
this.appId = null; this.appId = null;
} }
} }
\ No newline at end of file
package com.mortals.xhx.base.system.gentable.model; package com.mortals.xhx.base.system.gentable.model;
import java.util.List; import java.util.List;
import java.util.Date;
/** /**
* * 代码生成业务查询对象
* Description:Gentable *
* date: 2021-9-28 10:10:15 * @author zxfei
*/ * @date 2022-07-04
public class GentableQuery extends GentableEntity{ */
public class GentableQuery extends GentableEntity {
/** 开始 ID,主键,自增长 */ /** 开始 ID,主键,自增长 */
private Long idStart; private Long idStart;
...@@ -105,6 +104,18 @@ public class GentableQuery extends GentableEntity{ ...@@ -105,6 +104,18 @@ public class GentableQuery extends GentableEntity{
/** 生成feign接口,消费应用工程名称如(workflow-platform) */ /** 生成feign接口,消费应用工程名称如(workflow-platform) */
private List<String> feignAppNameList; private List<String> feignAppNameList;
/** 开始 vue生成详细页面方式(0,独立页面,1.弹出窗,2.抽屉) */
private Integer detailShowStart;
/** 结束 vue生成详细页面方式(0,独立页面,1.弹出窗,2.抽屉) */
private Integer detailShowEnd;
/** 增加 vue生成详细页面方式(0,独立页面,1.弹出窗,2.抽屉) */
private Integer detailShowIncrement;
/** vue生成详细页面方式(0,独立页面,1.弹出窗,2.抽屉)列表 */
private List <Integer> detailShowList;
/** 开始 是否生成对外api结构(0,否,1.是) */ /** 开始 是否生成对外api结构(0,否,1.是) */
private Integer genApiStart; private Integer genApiStart;
...@@ -688,6 +699,70 @@ public class GentableQuery extends GentableEntity{ ...@@ -688,6 +699,70 @@ public class GentableQuery extends GentableEntity{
public void setFeignAppNameList(List<String> feignAppNameList){ public void setFeignAppNameList(List<String> feignAppNameList){
this.feignAppNameList = feignAppNameList; this.feignAppNameList = feignAppNameList;
} }
/**
* 获取 开始 vue生成详细页面方式(0,独立页面,1.弹出窗,2.抽屉)
* @return detailShowStart
*/
public Integer getDetailShowStart(){
return this.detailShowStart;
}
/**
* 设置 开始 vue生成详细页面方式(0,独立页面,1.弹出窗,2.抽屉)
* @param detailShowStart
*/
public void setDetailShowStart(Integer detailShowStart){
this.detailShowStart = detailShowStart;
}
/**
* 获取 结束 vue生成详细页面方式(0,独立页面,1.弹出窗,2.抽屉)
* @return $detailShowEnd
*/
public Integer getDetailShowEnd(){
return this.detailShowEnd;
}
/**
* 设置 结束 vue生成详细页面方式(0,独立页面,1.弹出窗,2.抽屉)
* @param detailShowEnd
*/
public void setDetailShowEnd(Integer detailShowEnd){
this.detailShowEnd = detailShowEnd;
}
/**
* 获取 增加 vue生成详细页面方式(0,独立页面,1.弹出窗,2.抽屉)
* @return detailShowIncrement
*/
public Integer getDetailShowIncrement(){
return this.detailShowIncrement;
}
/**
* 设置 增加 vue生成详细页面方式(0,独立页面,1.弹出窗,2.抽屉)
* @param detailShowIncrement
*/
public void setDetailShowIncrement(Integer detailShowIncrement){
this.detailShowIncrement = detailShowIncrement;
}
/**
* 获取 vue生成详细页面方式(0,独立页面,1.弹出窗,2.抽屉)
* @return detailShowList
*/
public List<Integer> getDetailShowList(){
return this.detailShowList;
}
/**
* 设置 vue生成详细页面方式(0,独立页面,1.弹出窗,2.抽屉)
* @param detailShowList
*/
public void setDetailShowList(List<Integer> detailShowList){
this.detailShowList = detailShowList;
}
/** /**
* 获取 开始 是否生成对外api结构(0,否,1.是) * 获取 开始 是否生成对外api结构(0,否,1.是)
* @return genApiStart * @return genApiStart
...@@ -1536,6 +1611,51 @@ public class GentableQuery extends GentableEntity{ ...@@ -1536,6 +1611,51 @@ public class GentableQuery extends GentableEntity{
return this; return this;
} }
/**
* 设置 vue生成详细页面方式(0,独立页面,1.弹出窗,2.抽屉)
* @param detailShow
*/
public GentableQuery detailShow(Integer detailShow){
setDetailShow(detailShow);
return this;
}
/**
* 设置 开始 vue生成详细页面方式(0,独立页面,1.弹出窗,2.抽屉)
* @param detailShowStart
*/
public GentableQuery detailShowStart(Integer detailShowStart){
this.detailShowStart = detailShowStart;
return this;
}
/**
* 设置 结束 vue生成详细页面方式(0,独立页面,1.弹出窗,2.抽屉)
* @param detailShowEnd
*/
public GentableQuery detailShowEnd(Integer detailShowEnd){
this.detailShowEnd = detailShowEnd;
return this;
}
/**
* 设置 增加 vue生成详细页面方式(0,独立页面,1.弹出窗,2.抽屉)
* @param detailShowIncrement
*/
public GentableQuery detailShowIncrement(Integer detailShowIncrement){
this.detailShowIncrement = detailShowIncrement;
return this;
}
/**
* 设置 vue生成详细页面方式(0,独立页面,1.弹出窗,2.抽屉)
* @param detailShowList
*/
public GentableQuery detailShowList(List<Integer> detailShowList){
this.detailShowList = detailShowList;
return this;
}
/** /**
* 设置 是否生成对外api结构(0,否,1.是) * 设置 是否生成对外api结构(0,否,1.是)
* @param genApi * @param genApi
...@@ -1844,4 +1964,5 @@ public class GentableQuery extends GentableEntity{ ...@@ -1844,4 +1964,5 @@ public class GentableQuery extends GentableEntity{
public void setAndConditionList(List<GentableQuery> andConditionList){ public void setAndConditionList(List<GentableQuery> andConditionList){
this.andConditionList = andConditionList; this.andConditionList = andConditionList;
} }
} }
\ No newline at end of file
...@@ -12,7 +12,6 @@ import com.mortals.framework.exception.AppException; ...@@ -12,7 +12,6 @@ import com.mortals.framework.exception.AppException;
import com.mortals.framework.model.Context; import com.mortals.framework.model.Context;
import com.mortals.framework.model.ParamDto; import com.mortals.framework.model.ParamDto;
import com.mortals.framework.service.impl.AbstractCRUDServiceImpl; import com.mortals.framework.service.impl.AbstractCRUDServiceImpl;
import com.mortals.framework.util.DateUtils;
import com.mortals.framework.util.EntityUtil; import com.mortals.framework.util.EntityUtil;
import com.mortals.xhx.base.system.gentable.dao.GentableDao; import com.mortals.xhx.base.system.gentable.dao.GentableDao;
import com.mortals.xhx.base.system.gentable.model.*; import com.mortals.xhx.base.system.gentable.model.*;
...@@ -96,6 +95,7 @@ public class GentableServiceImpl extends AbstractCRUDServiceImpl<GentableDao, Ge ...@@ -96,6 +95,7 @@ public class GentableServiceImpl extends AbstractCRUDServiceImpl<GentableDao, Ge
table.setIsGenExport(0); table.setIsGenExport(0);
table.setGenFeign(0); table.setGenFeign(0);
table.setIsShowControl(2); table.setIsShowControl(2);
table.setDetailShow(1);
table.setGenPath("/"); table.setGenPath("/");
table.setTplCategory("crud"); table.setTplCategory("crud");
table.setAppId(appId); table.setAppId(appId);
...@@ -171,6 +171,9 @@ public class GentableServiceImpl extends AbstractCRUDServiceImpl<GentableDao, Ge ...@@ -171,6 +171,9 @@ public class GentableServiceImpl extends AbstractCRUDServiceImpl<GentableDao, Ge
if (temp.contains("webForm.java.ftl")) { if (temp.contains("webForm.java.ftl")) {
continue; continue;
} }
// if (temp.contains("entity.java.ftl")||temp.contains("entityQuery.java.ftl")) {
// continue;
// }
} }
if (gentableEntity.getIsShowControl() == 0) { if (gentableEntity.getIsShowControl() == 0) {
if (temp.contains("webBody.java.ftl")) { if (temp.contains("webBody.java.ftl")) {
...@@ -178,7 +181,21 @@ public class GentableServiceImpl extends AbstractCRUDServiceImpl<GentableDao, Ge ...@@ -178,7 +181,21 @@ public class GentableServiceImpl extends AbstractCRUDServiceImpl<GentableDao, Ge
} }
} }
if (temp.equals("menu.sql.ftl")||temp.equals("db.sql.ftl")||temp.equals("api.md.ftl")) { if (gentableEntity.getDetailShow() == 0) {
if (temp.contains("VueDialogShow.vue.ftl") || temp.contains("VueDrawerShow.vue.ftl")) {
continue;
}
} else if (gentableEntity.getDetailShow() == 1) {
if (temp.contains("webVueShow.vue.ftl") || temp.contains("VueDrawerShow.vue.ftl")) {
continue;
}
} else if (gentableEntity.getDetailShow() == 2) {
if (temp.contains("webVueShow.vue.ftl") || temp.contains("VueDialogShow.vue.ftl")) {
continue;
}
}
if (temp.equals("menu.sql.ftl") || temp.equals("db.sql.ftl") || temp.equals("api.md.ftl")) {
try { try {
List<GentableEntity> tableList = new ArrayList<>(); List<GentableEntity> tableList = new ArrayList<>();
tableList.add(gentableEntity); tableList.add(gentableEntity);
...@@ -353,6 +370,7 @@ public class GentableServiceImpl extends AbstractCRUDServiceImpl<GentableDao, Ge ...@@ -353,6 +370,7 @@ public class GentableServiceImpl extends AbstractCRUDServiceImpl<GentableDao, Ge
table.setGenFeign(0); table.setGenFeign(0);
table.setIsGenExport(0); table.setIsGenExport(0);
table.setIsShowControl(2); table.setIsShowControl(2);
table.setDetailShow(1);
table.setGenPath("/"); table.setGenPath("/");
table.setTplCategory("crud"); table.setTplCategory("crud");
table.setCacheServiceType(CacheServiceTypeEnum.NORMAL_SERVICE.getValue()); table.setCacheServiceType(CacheServiceTypeEnum.NORMAL_SERVICE.getValue());
...@@ -485,6 +503,11 @@ public class GentableServiceImpl extends AbstractCRUDServiceImpl<GentableDao, Ge ...@@ -485,6 +503,11 @@ public class GentableServiceImpl extends AbstractCRUDServiceImpl<GentableDao, Ge
if (temp.contains("web.java.ftl") || temp.contains("webForm.java.ftl")) { if (temp.contains("web.java.ftl") || temp.contains("webForm.java.ftl")) {
continue; continue;
} }
// if (temp.contains("entity.java.ftl")||temp.contains("entityQuery.java.ftl")) {
// continue;
// }
} else { } else {
if (temp.contains("webBody.java.ftl")) { if (temp.contains("webBody.java.ftl")) {
continue; continue;
...@@ -497,6 +520,20 @@ public class GentableServiceImpl extends AbstractCRUDServiceImpl<GentableDao, Ge ...@@ -497,6 +520,20 @@ public class GentableServiceImpl extends AbstractCRUDServiceImpl<GentableDao, Ge
} }
} }
if (gentableEntity.getDetailShow() == 0) {
if (temp.contains("VueDialogShow.vue.ftl") || temp.contains("VueDrawerShow.vue.ftl")) {
continue;
}
} else if (gentableEntity.getDetailShow() == 1) {
if (temp.contains("webVueShow.vue.ftl") || temp.contains("VueDrawerShow.vue.ftl")) {
continue;
}
} else if (gentableEntity.getDetailShow() == 2) {
if (temp.contains("webVueShow.vue.ftl") || temp.contains("VueDialogShow.vue.ftl")) {
continue;
}
}
if (temp.equals("menu.sql.ftl")) { if (temp.equals("menu.sql.ftl")) {
continue; continue;
} }
......
...@@ -65,9 +65,7 @@ public class GentableController extends BaseCRUDJsonMappingController<GentableSe ...@@ -65,9 +65,7 @@ public class GentableController extends BaseCRUDJsonMappingController<GentableSe
@Override @Override
protected void doListBefore(HttpServletRequest request, HttpServletResponse response, GentableForm form, Map<String, Object> model, Context context) throws AppException { protected void doListBefore(HttpServletRequest request, HttpServletResponse response, GentableForm form, Map<String, Object> model, Context context) throws AppException {
form.getQuery().setOrderField("tableName"); form.getQuery().setOrderField("tableName");
super.doListBefore(request, response, form, model, context); super.doListBefore(request, response, form, model, context);
} }
...@@ -85,15 +83,12 @@ public class GentableController extends BaseCRUDJsonMappingController<GentableSe ...@@ -85,15 +83,12 @@ public class GentableController extends BaseCRUDJsonMappingController<GentableSe
int code = VALUE_RESULT_SUCCESS; int code = VALUE_RESULT_SUCCESS;
try { try {
List<GentableEntity> list = this.service.selectDbTableList(form.getQuery()); List<GentableEntity> list = this.service.selectDbTableList(form.getQuery());
model.put("result", list); model.put("result", list);
recordSysLog(request, busiDesc + " 【成功】"); recordSysLog(request, busiDesc + " 【成功】");
} catch (Exception e) { } catch (Exception e) {
code = VALUE_RESULT_FAILURE; code = VALUE_RESULT_FAILURE;
this.doException(request, busiDesc, model, e); this.doException(request, busiDesc, model, e);
} }
ret.put(KEY_RESULT_CODE, code); ret.put(KEY_RESULT_CODE, code);
ret.put(KEY_RESULT_QUERY, form.getQuery()); ret.put(KEY_RESULT_QUERY, form.getQuery());
ret.put(KEY_RESULT_DATA, model); ret.put(KEY_RESULT_DATA, model);
......
...@@ -90,6 +90,7 @@ public class FreeMarkerUtils { ...@@ -90,6 +90,7 @@ public class FreeMarkerUtils {
templates.add("enum.java.ftl"); templates.add("enum.java.ftl");
templates.add("entity.java.ftl"); templates.add("entity.java.ftl");
templates.add("entityQuery.java.ftl"); templates.add("entityQuery.java.ftl");
// templates.add("entityAndQuery.java.ftl");
templates.add("dao.java.ftl"); templates.add("dao.java.ftl");
templates.add("daoImpl.java.ftl"); templates.add("daoImpl.java.ftl");
templates.add("web.java.ftl"); templates.add("web.java.ftl");
...@@ -101,13 +102,14 @@ public class FreeMarkerUtils { ...@@ -101,13 +102,14 @@ public class FreeMarkerUtils {
templates.add("db.sql.ftl"); templates.add("db.sql.ftl");
templates.add("menu.sql.ftl"); templates.add("menu.sql.ftl");
templates.add("api.md.ftl"); templates.add("api.md.ftl");
templates.add("httpclient.test.ftl");
if (GenConstants.TPL_CRUD.equals(tplCategory)) { if (GenConstants.TPL_CRUD.equals(tplCategory)) {
templates.add("service.java.ftl"); templates.add("service.java.ftl");
templates.add("serviceImpl.java.ftl"); templates.add("serviceImpl.java.ftl");
templates.add("webVueList.vue.ftl"); templates.add("webVueList.vue.ftl");
templates.add("VueDialogShow.vue.ftl"); templates.add("VueDialogShow.vue.ftl");
// templates.add("webVueShow.vue.ftl"); templates.add("VueDrawerShow.vue.ftl");
templates.add("webVueShow.vue.ftl");
} else if (GenConstants.TPL_TREE.equals(tplCategory)) { } else if (GenConstants.TPL_TREE.equals(tplCategory)) {
templates.add("entity-tree.java.ftl"); templates.add("entity-tree.java.ftl");
templates.add("service-tree.java.ftl"); templates.add("service-tree.java.ftl");
...@@ -118,10 +120,12 @@ public class FreeMarkerUtils { ...@@ -118,10 +120,12 @@ public class FreeMarkerUtils {
templates.add("service.java.ftl"); templates.add("service.java.ftl");
templates.add("serviceImpl.java.ftl"); templates.add("serviceImpl.java.ftl");
templates.add("webVueList.vue.ftl"); templates.add("webVueList.vue.ftl");
//templates.add("webVueShow.vue.ftl"); templates.add("webVueShow.vue.ftl");
templates.add("VueDrawerShow.vue.ftl");
templates.add("VueDialogShow.vue.ftl"); templates.add("VueDialogShow.vue.ftl");
} }
//templates.add("webVueView.vue.ftl"); templates.add("webVueView.vue.ftl");
templates.add("httpclient.test.ftl");
return templates; return templates;
} }
...@@ -415,7 +419,13 @@ public class FreeMarkerUtils { ...@@ -415,7 +419,13 @@ public class FreeMarkerUtils {
fileName = StringUtils.format("{}/{}/model/vo/{}Vo.java", javaPath, businessName, className); fileName = StringUtils.format("{}/{}/model/vo/{}Vo.java", javaPath, businessName, className);
} else if (template.contains("entityQuery.java.ftl")) { } else if (template.contains("entityQuery.java.ftl")) {
fileName = StringUtils.format("{}/{}/model/{}Query.java", javaPath, businessName, className); fileName = StringUtils.format("{}/{}/model/{}Query.java", javaPath, businessName, className);
} else if (template.contains("dao.java.ftl")) { }
// else if (template.contains("entityAndQuery.java.ftl")) {
// fileName = StringUtils.format("{}/{}/model/{}Entity.java", javaPath, businessName, className);
// }
else if (template.contains("dao.java.ftl")) {
fileName = StringUtils.format("{}/{}/dao/{}Dao.java", javaPath, businessName, className); fileName = StringUtils.format("{}/{}/dao/{}Dao.java", javaPath, businessName, className);
} else if (template.contains("daoImpl.java.ftl")) { } else if (template.contains("daoImpl.java.ftl")) {
fileName = StringUtils.format("{}/{}/dao/ibatis/{}DaoImpl.java", javaPath, businessName, className); fileName = StringUtils.format("{}/{}/dao/ibatis/{}DaoImpl.java", javaPath, businessName, className);
...@@ -441,7 +451,7 @@ public class FreeMarkerUtils { ...@@ -441,7 +451,7 @@ public class FreeMarkerUtils {
fileName = StringUtils.format("{}/views/{}/list.vue", vuePath, businessNameExt); fileName = StringUtils.format("{}/views/{}/list.vue", vuePath, businessNameExt);
} }
/* else if (template.contains("webVueShow.vue.ftl")) { else if (template.contains("webVueShow.vue.ftl")) {
String businessNameExt = getBusinessNameExt(genTable.getTableName()); String businessNameExt = getBusinessNameExt(genTable.getTableName());
businessNameExt = StringUtils.replace(businessNameExt, ".", "/"); businessNameExt = StringUtils.replace(businessNameExt, ".", "/");
fileName = StringUtils.format("{}/views/{}/show.vue", vuePath, businessNameExt); fileName = StringUtils.format("{}/views/{}/show.vue", vuePath, businessNameExt);
...@@ -450,7 +460,7 @@ public class FreeMarkerUtils { ...@@ -450,7 +460,7 @@ public class FreeMarkerUtils {
String businessNameExt = getBusinessNameExt(genTable.getTableName()); String businessNameExt = getBusinessNameExt(genTable.getTableName());
businessNameExt = StringUtils.replace(businessNameExt, ".", "/"); businessNameExt = StringUtils.replace(businessNameExt, ".", "/");
fileName = StringUtils.format("{}/views/{}/view.vue", vuePath, businessNameExt); fileName = StringUtils.format("{}/views/{}/view.vue", vuePath, businessNameExt);
}*/ }
else if (template.contains("webVueTreeList.vue.ftl")) { else if (template.contains("webVueTreeList.vue.ftl")) {
String businessNameExt = getBusinessNameExt(genTable.getTableName()); String businessNameExt = getBusinessNameExt(genTable.getTableName());
businessNameExt = StringUtils.replace(businessNameExt, ".", "/"); businessNameExt = StringUtils.replace(businessNameExt, ".", "/");
...@@ -463,7 +473,12 @@ public class FreeMarkerUtils { ...@@ -463,7 +473,12 @@ public class FreeMarkerUtils {
String businessNameExt = getBusinessNameExt(genTable.getTableName()); String businessNameExt = getBusinessNameExt(genTable.getTableName());
businessNameExt = StringUtils.replace(businessNameExt, ".", "/"); businessNameExt = StringUtils.replace(businessNameExt, ".", "/");
fileName = StringUtils.format("{}/views/{}/dialogshow.vue", vuePath, businessNameExt); fileName = StringUtils.format("{}/views/{}/dialogshow.vue", vuePath, businessNameExt);
} else if (template.contains("db.doc.ftl")) { } else if (template.contains("VueDrawerShow.vue.ftl")) {
String businessNameExt = getBusinessNameExt(genTable.getTableName());
businessNameExt = StringUtils.replace(businessNameExt, ".", "/");
fileName = StringUtils.format("{}/views/{}/drawershow.vue", vuePath, businessNameExt);
}
else if (template.contains("db.doc.ftl")) {
fileName = StringUtils.format("doc/alldoc.docx"); fileName = StringUtils.format("doc/alldoc.docx");
} else if (template.contains("api.doc.ftl")) { } else if (template.contains("api.doc.ftl")) {
fileName = StringUtils.format("doc/api.md"); fileName = StringUtils.format("doc/api.md");
......
...@@ -22,6 +22,7 @@ ...@@ -22,6 +22,7 @@
<result property="dividedTableType" column="dividedTableType" /> <result property="dividedTableType" column="dividedTableType" />
<result property="genFeign" column="genFeign" /> <result property="genFeign" column="genFeign" />
<result property="feignAppName" column="feignAppName" /> <result property="feignAppName" column="feignAppName" />
<result property="detailShow" column="detailShow" />
<result property="genApi" column="genApi" /> <result property="genApi" column="genApi" />
<result property="isGenExport" column="isGenExport" /> <result property="isGenExport" column="isGenExport" />
<result property="isShowControl" column="isShowControl" /> <result property="isShowControl" column="isShowControl" />
...@@ -41,106 +42,109 @@ ...@@ -41,106 +42,109 @@
<sql id="_columns"> <sql id="_columns">
<trim suffixOverrides="," suffix=""> <trim suffixOverrides="," suffix="">
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('id') or colPickMode == 1 and data.containsKey('id')))"> <if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('id') or colPickMode == 1 and data.containsKey('id')))">
a.id as id, a.id,
</if> </if>
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('tableName') or colPickMode == 1 and data.containsKey('tableName')))"> <if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('tableName') or colPickMode == 1 and data.containsKey('tableName')))">
a.tableName as tableName, a.tableName,
</if> </if>
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('tableComment') or colPickMode == 1 and data.containsKey('tableComment')))"> <if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('tableComment') or colPickMode == 1 and data.containsKey('tableComment')))">
a.tableComment as tableComment, a.tableComment,
</if> </if>
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('subTableName') or colPickMode == 1 and data.containsKey('subTableName')))"> <if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('subTableName') or colPickMode == 1 and data.containsKey('subTableName')))">
a.subTableName as subTableName, a.subTableName,
</if> </if>
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('subTableFkName') or colPickMode == 1 and data.containsKey('subTableFkName')))"> <if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('subTableFkName') or colPickMode == 1 and data.containsKey('subTableFkName')))">
a.subTableFkName as subTableFkName, a.subTableFkName,
</if> </if>
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('className') or colPickMode == 1 and data.containsKey('className')))"> <if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('className') or colPickMode == 1 and data.containsKey('className')))">
a.className as className, a.className,
</if> </if>
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('tplCategory') or colPickMode == 1 and data.containsKey('tplCategory')))"> <if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('tplCategory') or colPickMode == 1 and data.containsKey('tplCategory')))">
a.tplCategory as tplCategory, a.tplCategory,
</if> </if>
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('packageName') or colPickMode == 1 and data.containsKey('packageName')))"> <if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('packageName') or colPickMode == 1 and data.containsKey('packageName')))">
a.packageName as packageName, a.packageName,
</if> </if>
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('moduleName') or colPickMode == 1 and data.containsKey('moduleName')))"> <if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('moduleName') or colPickMode == 1 and data.containsKey('moduleName')))">
a.moduleName as moduleName, a.moduleName,
</if> </if>
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('businessName') or colPickMode == 1 and data.containsKey('businessName')))"> <if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('businessName') or colPickMode == 1 and data.containsKey('businessName')))">
a.businessName as businessName, a.businessName,
</if> </if>
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('functionName') or colPickMode == 1 and data.containsKey('functionName')))"> <if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('functionName') or colPickMode == 1 and data.containsKey('functionName')))">
a.functionName as functionName, a.functionName,
</if> </if>
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('functionAuthor') or colPickMode == 1 and data.containsKey('functionAuthor')))"> <if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('functionAuthor') or colPickMode == 1 and data.containsKey('functionAuthor')))">
a.functionAuthor as functionAuthor, a.functionAuthor,
</if> </if>
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('cacheServiceType') or colPickMode == 1 and data.containsKey('cacheServiceType')))"> <if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('cacheServiceType') or colPickMode == 1 and data.containsKey('cacheServiceType')))">
a.cacheServiceType as cacheServiceType, a.cacheServiceType,
</if> </if>
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('genType') or colPickMode == 1 and data.containsKey('genType')))"> <if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('genType') or colPickMode == 1 and data.containsKey('genType')))">
a.genType as genType, a.genType,
</if> </if>
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('dividedTableType') or colPickMode == 1 and data.containsKey('dividedTableType')))"> <if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('dividedTableType') or colPickMode == 1 and data.containsKey('dividedTableType')))">
a.dividedTableType as dividedTableType, a.dividedTableType,
</if> </if>
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('genFeign') or colPickMode == 1 and data.containsKey('genFeign')))"> <if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('genFeign') or colPickMode == 1 and data.containsKey('genFeign')))">
a.genFeign as genFeign, a.genFeign,
</if> </if>
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('feignAppName') or colPickMode == 1 and data.containsKey('feignAppName')))"> <if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('feignAppName') or colPickMode == 1 and data.containsKey('feignAppName')))">
a.feignAppName as feignAppName, a.feignAppName,
</if>
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('detailShow') or colPickMode == 1 and data.containsKey('detailShow')))">
a.detailShow,
</if> </if>
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('genApi') or colPickMode == 1 and data.containsKey('genApi')))"> <if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('genApi') or colPickMode == 1 and data.containsKey('genApi')))">
a.genApi as genApi, a.genApi,
</if> </if>
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('isGenExport') or colPickMode == 1 and data.containsKey('isGenExport')))"> <if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('isGenExport') or colPickMode == 1 and data.containsKey('isGenExport')))">
a.isGenExport as isGenExport, a.isGenExport,
</if> </if>
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('isShowControl') or colPickMode == 1 and data.containsKey('isShowControl')))"> <if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('isShowControl') or colPickMode == 1 and data.containsKey('isShowControl')))">
a.isShowControl as isShowControl, a.isShowControl,
</if> </if>
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('genPath') or colPickMode == 1 and data.containsKey('genPath')))"> <if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('genPath') or colPickMode == 1 and data.containsKey('genPath')))">
a.genPath as genPath, a.genPath,
</if> </if>
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('options') or colPickMode == 1 and data.containsKey('options')))"> <if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('options') or colPickMode == 1 and data.containsKey('options')))">
a.options as options, a.options,
</if> </if>
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('remark') or colPickMode == 1 and data.containsKey('remark')))"> <if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('remark') or colPickMode == 1 and data.containsKey('remark')))">
a.remark as remark, a.remark,
</if> </if>
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('appId') or colPickMode == 1 and data.containsKey('appId')))"> <if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('appId') or colPickMode == 1 and data.containsKey('appId')))">
a.appId as appId, a.appId,
</if> </if>
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('updateTime') or colPickMode == 1 and data.containsKey('updateTime')))"> <if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('updateTime') or colPickMode == 1 and data.containsKey('updateTime')))">
a.updateTime as updateTime, a.updateTime,
</if> </if>
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('updateUser') or colPickMode == 1 and data.containsKey('updateUser')))"> <if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('updateUser') or colPickMode == 1 and data.containsKey('updateUser')))">
a.updateUser as updateUser, a.updateUser,
</if> </if>
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('createTime') or colPickMode == 1 and data.containsKey('createTime')))"> <if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('createTime') or colPickMode == 1 and data.containsKey('createTime')))">
a.createTime as createTime, a.createTime,
</if> </if>
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('createUser') or colPickMode == 1 and data.containsKey('createUser')))"> <if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('createUser') or colPickMode == 1 and data.containsKey('createUser')))">
a.createUser as createUser, a.createUser,
</if> </if>
</trim> </trim>
</sql> </sql>
<!-- 新增 区分主键自增加还是业务插入 --> <!-- 新增 区分主键自增加还是业务插入 -->
<insert id="insert" parameterType="GentableEntity" useGeneratedKeys="true" keyProperty="id"> <insert id="insert" parameterType="GentableEntity" useGeneratedKeys="true" keyProperty="id">
insert into mortals_xhx_gentable insert into mortals_xhx_gentable
(tableName,tableComment,subTableName,subTableFkName,className,tplCategory,packageName,moduleName,businessName,functionName,functionAuthor,cacheServiceType,genType,dividedTableType,genFeign,feignAppName,genApi,isGenExport,isShowControl,genPath,options,remark,appId,updateTime,updateUser,createTime,createUser) (tableName,tableComment,subTableName,subTableFkName,className,tplCategory,packageName,moduleName,businessName,functionName,functionAuthor,cacheServiceType,genType,dividedTableType,genFeign,feignAppName,detailShow,genApi,isGenExport,isShowControl,genPath,options,remark,appId,updateTime,updateUser,createTime,createUser)
VALUES VALUES
(#{tableName},#{tableComment},#{subTableName},#{subTableFkName},#{className},#{tplCategory},#{packageName},#{moduleName},#{businessName},#{functionName},#{functionAuthor},#{cacheServiceType},#{genType},#{dividedTableType},#{genFeign},#{feignAppName},#{genApi},#{isGenExport},#{isShowControl},#{genPath},#{options},#{remark},#{appId},#{updateTime},#{updateUser},#{createTime},#{createUser}) (#{tableName},#{tableComment},#{subTableName},#{subTableFkName},#{className},#{tplCategory},#{packageName},#{moduleName},#{businessName},#{functionName},#{functionAuthor},#{cacheServiceType},#{genType},#{dividedTableType},#{genFeign},#{feignAppName},#{detailShow},#{genApi},#{isGenExport},#{isShowControl},#{genPath},#{options},#{remark},#{appId},#{updateTime},#{updateUser},#{createTime},#{createUser})
</insert> </insert>
<!-- 批量新增 --> <!-- 批量新增 -->
<insert id="insertBatch" parameterType="paramDto"> <insert id="insertBatch" parameterType="paramDto">
insert into mortals_xhx_gentable insert into mortals_xhx_gentable
(tableName,tableComment,subTableName,subTableFkName,className,tplCategory,packageName,moduleName,businessName,functionName,functionAuthor,cacheServiceType,genType,dividedTableType,genFeign,feignAppName,genApi,isGenExport,isShowControl,genPath,options,remark,appId,updateTime,updateUser,createTime,createUser) (tableName,tableComment,subTableName,subTableFkName,className,tplCategory,packageName,moduleName,businessName,functionName,functionAuthor,cacheServiceType,genType,dividedTableType,genFeign,feignAppName,detailShow,genApi,isGenExport,isShowControl,genPath,options,remark,appId,updateTime,updateUser,createTime,createUser)
VALUES VALUES
<foreach collection="data.dataList" item="item" index="index" separator="," > <foreach collection="data.dataList" item="item" index="index" separator="," >
(#{item.tableName},#{item.tableComment},#{item.subTableName},#{item.subTableFkName},#{item.className},#{item.tplCategory},#{item.packageName},#{item.moduleName},#{item.businessName},#{item.functionName},#{item.functionAuthor},#{item.cacheServiceType},#{item.genType},#{item.dividedTableType},#{item.genFeign},#{item.feignAppName},#{item.genApi},#{item.isGenExport},#{item.isShowControl},#{item.genPath},#{item.options},#{item.remark},#{item.appId},#{item.updateTime},#{item.updateUser},#{item.createTime},#{item.createUser}) (#{item.tableName},#{item.tableComment},#{item.subTableName},#{item.subTableFkName},#{item.className},#{item.tplCategory},#{item.packageName},#{item.moduleName},#{item.businessName},#{item.functionName},#{item.functionAuthor},#{item.cacheServiceType},#{item.genType},#{item.dividedTableType},#{item.genFeign},#{item.feignAppName},#{item.detailShow},#{item.genApi},#{item.isGenExport},#{item.isShowControl},#{item.genPath},#{item.options},#{item.remark},#{item.appId},#{item.updateTime},#{item.updateUser},#{item.createTime},#{item.createUser})
</foreach> </foreach>
</insert> </insert>
...@@ -210,6 +214,12 @@ ...@@ -210,6 +214,12 @@
<if test="(colPickMode==0 and data.containsKey('feignAppName')) or (colPickMode==1 and !data.containsKey('feignAppName'))"> <if test="(colPickMode==0 and data.containsKey('feignAppName')) or (colPickMode==1 and !data.containsKey('feignAppName'))">
a.feignAppName=#{data.feignAppName}, a.feignAppName=#{data.feignAppName},
</if> </if>
<if test="(colPickMode==0 and data.containsKey('detailShow')) or (colPickMode==1 and !data.containsKey('detailShow'))">
a.detailShow=#{data.detailShow},
</if>
<if test="(colPickMode==0 and data.containsKey('detailShowIncrement')) or (colPickMode==1 and !data.containsKey('detailShowIncrement'))">
a.detailShow=ifnull(a.detailShow,0) + #{data.detailShowIncrement},
</if>
<if test="(colPickMode==0 and data.containsKey('genApi')) or (colPickMode==1 and !data.containsKey('genApi'))"> <if test="(colPickMode==0 and data.containsKey('genApi')) or (colPickMode==1 and !data.containsKey('genApi'))">
a.genApi=#{data.genApi}, a.genApi=#{data.genApi},
</if> </if>
...@@ -399,6 +409,18 @@ ...@@ -399,6 +409,18 @@
</if> </if>
</foreach> </foreach>
</trim> </trim>
<trim prefix="detailShow=(case" suffix="ELSE detailShow end),">
<foreach collection="data.dataList" item="item" index="index" separator="" >
<choose>
<when test="(colPickMode==0 and item.containsKey('detailShow')) or (colPickMode==1 and !item.containsKey('detailShow'))">
when a.id=#{item.id} then #{item.detailShow}
</when>
<when test="(colPickMode==0 and item.containsKey('detailShowIncrement')) or (colPickMode==1 and !item.containsKey('detailShowIncrement'))">
when a.id=#{item.id} then ifnull(a.detailShow,0) + #{item.detailShowIncrement}
</when>
</choose>
</foreach>
</trim>
<trim prefix="genApi=(case" suffix="ELSE genApi end),"> <trim prefix="genApi=(case" suffix="ELSE genApi end),">
<foreach collection="data.dataList" item="item" index="index" separator="" > <foreach collection="data.dataList" item="item" index="index" separator="" >
<choose> <choose>
...@@ -542,6 +564,8 @@ ...@@ -542,6 +564,8 @@
<include refid="_orderCols_"/> <include refid="_orderCols_"/>
</select> </select>
<!-- 获取 --> <!-- 获取 -->
<select id="getListCount" parameterType="paramDto" resultType="int"> <select id="getListCount" parameterType="paramDto" resultType="int">
select count(1) select count(1)
...@@ -880,6 +904,27 @@ ...@@ -880,6 +904,27 @@
#{item} #{item}
</foreach> </foreach>
</if> </if>
<if test="conditionParamRef.containsKey('detailShow')">
<if test="conditionParamRef.detailShow != null ">
${_conditionType_} a.detailShow = #{${_conditionParam_}.detailShow}
</if>
<if test="conditionParamRef.detailShow == null">
${_conditionType_} a.detailShow is null
</if>
</if>
<if test="conditionParamRef.containsKey('detailShowList')">
${_conditionType_} a.detailShow in
<foreach collection="conditionParamRef.detailShowList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="conditionParamRef.containsKey('detailShowStart') and conditionParamRef.detailShowStart != null">
${_conditionType_} a.detailShow <![CDATA[ >= ]]> #{${_conditionParam_}.detailShowStart}
</if>
<if test="conditionParamRef.containsKey('detailShowEnd') and conditionParamRef.detailShowEnd != null">
${_conditionType_} a.detailShow <![CDATA[ <= ]]> #{${_conditionParam_}.detailShowEnd}
</if>
<if test="conditionParamRef.containsKey('genApi')"> <if test="conditionParamRef.containsKey('genApi')">
<if test="conditionParamRef.genApi != null "> <if test="conditionParamRef.genApi != null ">
${_conditionType_} a.genApi = #{${_conditionParam_}.genApi} ${_conditionType_} a.genApi = #{${_conditionParam_}.genApi}
...@@ -1167,6 +1212,11 @@ ...@@ -1167,6 +1212,11 @@
<if test='orderCol.feignAppName != null and "DESC".equalsIgnoreCase(orderCol.feignAppName)'>DESC</if> <if test='orderCol.feignAppName != null and "DESC".equalsIgnoreCase(orderCol.feignAppName)'>DESC</if>
, ,
</if> </if>
<if test="orderCol.containsKey('detailShow')">
a.detailShow
<if test='orderCol.detailShow != null and "DESC".equalsIgnoreCase(orderCol.detailShow)'>DESC</if>
,
</if>
<if test="orderCol.containsKey('genApi')"> <if test="orderCol.containsKey('genApi')">
a.genApi a.genApi
<if test='orderCol.genApi != null and "DESC".equalsIgnoreCase(orderCol.genApi)'>DESC</if> <if test='orderCol.genApi != null and "DESC".equalsIgnoreCase(orderCol.genApi)'>DESC</if>
......
...@@ -360,8 +360,12 @@ dict|object|字典对象 ...@@ -360,8 +360,12 @@ dict|object|字典对象
:---|:---|:---|:------- :---|:---|:---|:-------
<#list table.columns as column> <#list table.columns as column>
<#if !column.isSuperColumn(column.javaField)> <#if !column.isSuperColumn(column.javaField)>
<#if column.isRequired == 1>
${column.javaField}|${column.javaType}|是|${column.columnComment} ${column.javaField}|${column.javaType}|是|${column.columnComment}
</#if> </#if>
<#else>
${column.javaField}|${column.javaType}|否|${column.columnComment}
</#if>
</#list> </#list>
**请求样例:** **请求样例:**
......
package ${packageName}.model;
<#if table.tplCategory=="crud" >
<#--判断主键类型,设置继承实体类 -->
<#if pkColumn??&&pkColumn.javaType=="String" >
<#assign Entity = "BaseEntityStr">
<#elseif pkColumn??&&pkColumn.javaType=="Integer">
<#assign Entity = "BaseEntityInt">
<#elseif pkColumn??&&pkColumn.javaType=="Long">
<#assign Entity = "BaseEntityLong">
<#else>
<#assign Entity = "BaseEntityLong">
</#if>
<#elseif table.tplCategory=="sub" ||table.tplCategory=="subone">
<#--判断主键类型,设置继承实体类 -->
<#if pkColumn??&&pkColumn.javaType=="String" >
<#assign Entity = "BaseEntityStr">
<#elseif pkColumn??&&pkColumn.javaType=="Integer">
<#assign Entity = "BaseEntityInt">
<#elseif pkColumn??&&pkColumn.javaType=="Long">
<#assign Entity = "BaseEntityLong">
<#else>
<#assign Entity = "BaseEntityLong">
</#if>
<#else>
<#assign Entity = "BaseEntityLong">
</#if>
<#list importList as import>
import ${import};
</#list>
<#list columns as column>
<#if column.isSerialize==1>
import com.fasterxml.jackson.annotation.JsonProperty;
<#break>
</#if>
</#list>
import java.util.List;
import java.util.ArrayList;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.mortals.framework.annotation.Excel;
import com.mortals.framework.model.${Entity};
import ${packageName}.model.vo.${ClassName}Vo;
<#if table.tplCategory=="sub" ||table.tplCategory=="subone">
import ${subPackageName}.model.${subClassName}Entity;
</#if>
/**
* ${functionName}实体对象
*
* @author ${author}
* @date ${datetime}
*/
public class ${ClassName}Entity extends ${ClassName}Vo {
private static final long serialVersionUID = 1L;
<#list columns as column>
<#if !column.isSuperColumn(column.javaField)>
/** ${column.columnComment} */
<#if column.isExport==1>
<#assign comment=column.subComment(column.columnComment) />
<#assign parentheseIndex =column.columnComment?index_of("(")>
<#if parentheseIndex != -1>
@Excel(name = "${comment}", readConverterExp = "${column.readConverterExp()}")
<#elseif column.javaType == "Date">
@Excel(name = "${comment}", width = 30, dateFormat = "yyyy-MM-dd")
<#else>
@Excel(name = "${comment}")
</#if>
</#if>
<#if column.isSerialize==1>
@JsonProperty(access = JsonProperty.Access.WRITE_ONLY)
</#if>
private ${column.javaType} ${column.javaField};
</#if>
</#list>
<#if table.subTable?? && table.tplCategory=="sub" >
/** ${table.subTable.functionName}信息 */
private List<${subClassName}Entity> ${subclassName}List=new ArrayList<>();;
</#if>
<#if table.subTable?? && table.tplCategory=="subone" >
/** ${table.subTable.functionName}信息 */
private ${subClassName}Entity ${subclassName}Entity=new ${subClassName}Entity();
</#if>
<#list columns as column>
<#if column.javaType == "Long"||column.javaType == "Integer"||column.javaType == "BigDecimal">
/** 开始 ${column.columnComment} */
private ${column.javaType} ${column.javaField}Start;
/** 结束 ${column.columnComment} */
private ${column.javaType} ${column.javaField}End;
/** 增加 ${column.columnComment} */
private ${column.javaType} ${column.javaField}Increment;
/** ${column.columnComment}列表 */
private List <${column.javaType}> ${column.javaField}List;
</#if>
<#if column.javaType == "String">
/** ${column.columnComment} */
private List<${column.javaType}> ${column.javaField}List;
</#if>
<#if column.javaType == "Date">
/** 开始 ${column.columnComment} */
private String ${column.javaField}Start;
/** 结束 ${column.columnComment} */
private String ${column.javaField}End;
</#if>
</#list>
/** OR条件集合,列表项之间是OR,项内容之间是AND,如:(list[0].1 and list[0].2) or (list[1].3 and list[1].4) */
private List<${ClassName}Entity> orConditionList;
/** AND条件集合,列表项之间是AND,项内容之间是OR,如:(list[0].1 or list[0].2) and (list[1].3 or list[1].4) */
private List<${ClassName}Entity> andConditionList;
public ${ClassName}Entity(){}
<#--get set属性 -->
<#list columns as column>
<#if !column.isSuperColumn(column.javaField)>
<#if column.javaField[0..1]?matches("[A-Z]")>
<#assign AttrName = column.javaField>
<#else>
<#assign AttrName = column.javaField?cap_first>
</#if>
/**
* 获取 ${column.columnComment}
* @return ${column.javaType}
*/
public ${column.javaType} get${AttrName}(){
return ${column.javaField};
}
/**
* 设置 ${column.columnComment}
* @param ${column.javaField}
*/
public void set${AttrName}(${column.javaType} ${column.javaField}){
this.${column.javaField} = ${column.javaField};
}
</#if>
</#list>
<#if subTable?? && table.tplCategory=="sub">
public List<${subClassName}Entity> get${subClassName}List(){
return ${subclassName}List;
}
public void set${subClassName}List(List<${subClassName}Entity> ${subclassName}List){
this.${subclassName}List = ${subclassName}List;
}
</#if>
<#if subTable?? && table.tplCategory=="subone">
public ${subClassName}Entity get${subClassName}Entity(){
return ${subclassName}Entity;
}
public void set${subClassName}Entity(${subClassName}Entity ${subclassName}Entity){
this.${subclassName}Entity = ${subclassName}Entity;
}
</#if>
<#list columns as column>
<#if column.javaType == "Long"||column.javaType == "Integer"||column.javaType == "BigDecimal">
/**
* 获取 开始 ${column.columnComment}
* @return ${column.javaField}Start
*/
public ${column.javaType} get${column.javaField?cap_first}Start(){
return this.${column.javaField}Start;
}
/**
* 设置 开始 ${column.columnComment}
* @param ${column.javaField}Start
*/
public void set${column.javaField?cap_first}Start(${column.javaType} ${column.javaField}Start){
this.${column.javaField}Start = ${column.javaField}Start;
}
/**
* 获取 结束 ${column.columnComment}
* @return $${column.javaField}End
*/
public ${column.javaType} get${column.javaField?cap_first}End(){
return this.${column.javaField}End;
}
/**
* 设置 结束 ${column.columnComment}
* @param ${column.javaField}End
*/
public void set${column.javaField?cap_first}End(${column.javaType} ${column.javaField}End){
this.${column.javaField}End = ${column.javaField}End;
}
/**
* 获取 增加 ${column.columnComment}
* @return ${column.javaField}Increment
*/
public ${column.javaType} get${column.javaField?cap_first}Increment(){
return this.${column.javaField}Increment;
}
/**
* 设置 增加 ${column.columnComment}
* @param ${column.javaField}Increment
*/
public void set${column.javaField?cap_first}Increment(${column.javaType} ${column.javaField}Increment){
this.${column.javaField}Increment = ${column.javaField}Increment;
}
/**
* 获取 ${column.columnComment}
* @return ${column.javaField}List
*/
public List<${column.javaType}> get${column.javaField?cap_first}List(){
return this.${column.javaField}List;
}
/**
* 设置 ${column.columnComment}
* @param ${column.javaField}List
*/
public void set${column.javaField?cap_first}List(List<${column.javaType}> ${column.javaField}List){
this.${column.javaField}List = ${column.javaField}List;
}
</#if>
<#if column.javaType == "String">
/**
* 获取 ${column.columnComment}
* @return ${column.javaField}List
*/
public List<${column.javaType}> get${column.javaField?cap_first}List(){
return this.${column.javaField}List;
}
/**
* 设置 ${column.columnComment}
* @param ${column.javaField}List
*/
public void set${column.javaField?cap_first}List(List<${column.javaType}> ${column.javaField}List){
this.${column.javaField}List = ${column.javaField}List;
}
</#if>
<#if column.javaType == "Date">
/**
* 获取 开始 ${column.columnComment}
* @return ${column.javaField}Start
*/
public String get${column.javaField?cap_first}Start(){
return this.${column.javaField}Start;
}
/**
* 设置 开始 ${column.columnComment}
* @param ${column.javaField}Start
*/
public void set${column.javaField?cap_first}Start(String ${column.javaField}Start){
this.${column.javaField}Start = ${column.javaField}Start;
}
/**
* 获取 结束 ${column.columnComment}
* @return ${column.javaField}End
*/
public String get${column.javaField?cap_first}End(){
return this.${column.javaField}End;
}
/**
* 设置 结束 ${column.columnComment}
* @param ${column.javaField}End
*/
public void set${column.javaField?cap_first}End(String ${column.javaField}End){
this.${column.javaField}End = ${column.javaField}End;
}
</#if>
</#list>
<#list columns as column>
<#if column.javaType == "Long"||column.javaType == "Integer"||column.javaType == "BigDecimal">
/**
* 设置 ${column.columnComment}
* @param ${column.javaField}
*/
public ${ClassName}Entity ${column.javaField}(${column.javaType} ${column.javaField}){
set${column.javaField?cap_first}(${column.javaField});
return this;
}
/**
* 设置 开始 ${column.columnComment}
* @param ${column.javaField}Start
*/
public ${ClassName}Entity ${column.javaField}Start(${column.javaType} ${column.javaField}Start){
this.${column.javaField}Start = ${column.javaField}Start;
return this;
}
/**
* 设置 结束 ${column.columnComment}
* @param ${column.javaField}End
*/
public ${ClassName}Entity ${column.javaField}End(${column.javaType} ${column.javaField}End){
this.${column.javaField}End = ${column.javaField}End;
return this;
}
/**
* 设置 增加 ${column.columnComment}
* @param ${column.javaField}Increment
*/
public ${ClassName}Entity ${column.javaField}Increment(${column.javaType} ${column.javaField}Increment){
this.${column.javaField}Increment = ${column.javaField}Increment;
return this;
}
/**
* 设置 ${column.columnComment}
* @param ${column.javaField}List
*/
public ${ClassName}Entity ${column.javaField}List(List<${column.javaType}> ${column.javaField}List){
this.${column.javaField}List = ${column.javaField}List;
return this;
}
</#if>
<#if column.javaType == "String">
/**
* 设置 ${column.columnComment}
* @param ${column.javaField}
*/
public ${ClassName}Entity ${column.javaField}(${column.javaType} ${column.javaField}){
set${column.javaField?cap_first}(${column.javaField});
return this;
}
/**
* 设置 ${column.columnComment}
* @param ${column.javaField}List
*/
public ${ClassName}Entity ${column.javaField}List(List<${column.javaType}> ${column.javaField}List){
this.${column.javaField}List = ${column.javaField}List;
return this;
}
</#if>
<#if column.javaType == "java.util.Date">
/**
* 设置 开始 ${column.columnComment}
* @param ${column.javaField}Start
*/
public ${ClassName}Entity ${column.javaField}Start(String ${column.javaField}Start){
this.${column.javaField}Start = ${column.javaField}Start;
return this;
}
/**
* 设置 结束 ${column.columnComment}
* @param ${column.javaField}End
*/
public ${ClassName}Entity ${column.javaField}End(String ${column.javaField}End){
this.${column.javaField}End = ${column.javaField}End;
return this;
}
</#if>
</#list>
/**
* 获取 OR条件集合,列表项之间是OR,项内容之间是AND,如:(list[0].1 and list[0].2) or (list[1].3 and list[1].4)
* @return orConditionList
*/
public List<${ClassName}Entity> getOrConditionList(){
return this.orConditionList;
}
/**
* 设置 OR条件集合,列表项之间是OR,项内容之间是AND,如:(list[0].1 and list[0].2) or (list[1].3 and list[1].4)
* @param orConditionList
*/
public ${ClassName}Entity setOrConditionList(List<${ClassName}Entity> orConditionList){
this.orConditionList = orConditionList;
return this;
}
/**
* 获取 AND条件集合,列表项之间是AND,项内容之间是OR,如:(list[0].1 or list[0].2) and (list[1].3 or list[1].4)
* @return andConditionList
*/
public List<${ClassName}Entity> getAndConditionList(){
return this.andConditionList;
}
/**
* 设置 AND条件集合,列表项之间是AND,项内容之间是OR,如:(list[0].1 or list[0].2) and (list[1].3 or list[1].4)
* @param andConditionList
*/
public ${ClassName}Entity setAndConditionList(List<${ClassName}Entity> andConditionList){
this.andConditionList = andConditionList;
return this;
}
@Override
public int hashCode() {
return this.getId().hashCode();
}
@Override
public boolean equals(Object obj) {
if (obj == null) return false;
if (obj instanceof ${ClassName}Entity) {
${ClassName}Entity tmp = (${ClassName}Entity) obj;
if (this.getId() == tmp.getId()) {
return true;
}
}
return false;
}
public String toString(){
StringBuilder sb = new StringBuilder("");
<#list columns as column>
<#if !column.isSuperColumn(column.javaField)>
sb.append(",${column.javaField}:").append(get${column.javaField?cap_first}());
</#if>
</#list>
return sb.toString();
}
public void initAttrValue(){
<#list columns as column>
<#if !column.isSuperColumn(column.javaField)>
<#if column.javaType=="Long" && column.defaultValue??&& column.defaultValue!="">
<#assign Default>${column.defaultValue}L</#assign>
<#elseif column.javaType=="Integer" && column.defaultValue?? && column.defaultValue!="">
<#assign Default>${column.defaultValue}</#assign>
<#elseif column.javaType=="String" && column.defaultValue??>
<#assign Default>"${column.defaultValue}"</#assign>
<#elseif column.javaType=="BigDecimal" && column.defaultValue??&& column.defaultValue!="">
<#assign Default>BigDecimal.valueOf(${column.defaultValue})</#assign>
<#elseif column.javaType=="Date" >
<#assign Default>null</#assign>
<#else>
<#assign Default>null</#assign>
</#if>
this.${column.javaField} = ${Default};
</#if>
</#list>
}
}
\ No newline at end of file
...@@ -167,8 +167,8 @@ public class ${ClassName}Query extends ${ClassName}Entity { ...@@ -167,8 +167,8 @@ public class ${ClassName}Query extends ${ClassName}Entity {
} }
</#if> </#if>
</#list> </#list>
<#list columns as column> <#list columns as column>
<#if column.javaType == "Long"||column.javaType == "Integer"||column.javaType == "BigDecimal"> <#if column.javaType == "Long"||column.javaType == "Integer"||column.javaType == "BigDecimal">
/** /**
* 设置 ${column.columnComment} * 设置 ${column.columnComment}
......
...@@ -10,7 +10,6 @@ import javax.servlet.http.HttpServletRequest; ...@@ -10,7 +10,6 @@ import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpServletResponse;
import com.mortals.framework.web.BaseCRUDJsonBodyMappingController; import com.mortals.framework.web.BaseCRUDJsonBodyMappingController;
import ${packageName}.model.${ClassName}Entity; import ${packageName}.model.${ClassName}Entity;
import ${packageName}.model.${ClassName}Query;
import ${packageName}.service.${ClassName}Service; import ${packageName}.service.${ClassName}Service;
<#if table.tplCategory=="tree"> <#if table.tplCategory=="tree">
import ${packageName}.model.${ClassName}TreeSelect; import ${packageName}.model.${ClassName}TreeSelect;
......
...@@ -246,7 +246,7 @@ ...@@ -246,7 +246,7 @@
edit(row) { edit(row) {
this.reset() this.reset()
this.query = { ${pkColumn.javaField}: row.${pkColumn.javaField} }; this.query = { ${pkColumn.javaField}: row.${pkColumn.javaField} };
this.urls.currUrl =this.pageInfo.editUrl;; this.urls.currUrl ="${RequestMapping}/edit";
this.getData(); this.getData();
this.pageInfo.type="edit" this.pageInfo.type="edit"
this.title = "修改${functionName}"; this.title = "修改${functionName}";
...@@ -254,8 +254,7 @@ ...@@ -254,8 +254,7 @@
/** 新增 */ /** 新增 */
add(row) { add(row) {
this.reset() this.reset()
this.query = { ${pkColumn.javaField}: row.${pkColumn.javaField} }; this.urls.currUrl = "${RequestMapping}/add";
this.urls.currUrl = this.pageInfo.addUrl;
this.getData(); this.getData();
this.pageInfo.type="add" this.pageInfo.type="add"
this.title = "新增${functionName}"; this.title = "新增${functionName}";
...@@ -264,7 +263,7 @@ ...@@ -264,7 +263,7 @@
view(row) { view(row) {
this.reset() this.reset()
this.query = { ${pkColumn.javaField}: row.${pkColumn.javaField} }; this.query = { ${pkColumn.javaField}: row.${pkColumn.javaField} };
this.urls.currUrl =this.pageInfo.viewUrl;; this.urls.currUrl ="${RequestMapping}/view";
this.getData(); this.getData();
this.pageInfo.type="view" this.pageInfo.type="view"
this.title = "${functionName}详细"; this.title = "${functionName}详细";
......
<template>
<!-- 弹出框表单 -->
<el-drawer
:title="title"
:visible.sync="open"
:direction="direction"
size="50%">
<el-form ref="form" :model="form" :rules="rules" label-width="120px">
<el-row>
<#list columns as column>
<#if column.isPrimaryKey != 1 && !column.isSuperColumn(column.javaField)&& column.isEdit==1>
<#assign javaField=column.javaField />
<#assign comment=column.subComment(column.columnComment) />
<#if column.htmlType == 1 && !column.columnType?contains("tinyint")>
<Field label="${comment}" prop="${column.javaField}" v-model="form.${column.javaField}" placeholder="请输入${comment}"/>
<#elseif column.htmlType == 2>
<Field label="${comment}" prop="${column.javaField}" v-model="form.${column.javaField}" type="textarea" placeholder="请输入${comment}"/>
<#elseif column.htmlType == 3 ||column.columnType?contains("tinyint")>
<Field label="${comment}" prop="${column.javaField}" v-model="form.${column.javaField}" type="select" :enumData="dict.${column.javaField}" placeholder="请选择${comment}"/>
<#elseif column.htmlType == 4>
<Field label="${comment}" prop="${column.javaField}" v-model="form.${column.javaField}" type="checkbox" :enumData="dict.${column.javaField}" />
<#elseif column.htmlType == 5>
<Field label="${comment}" prop="${column.javaField}" v-model="form.${column.javaField}" type="radio" :enumData="dict.${column.javaField}" />
<#elseif column.htmlType == 6>
<Field label="${comment}" prop="${column.javaField}" v-model="form.${column.javaField}" type="date" />
<#elseif column.htmlType == 7>
<Field label="${comment}"><imageUpload v-model="form.${column.javaField}" prePath="/file/preview"/></Field>
<#elseif column.htmlType == 8>
<Field label="${comment}"><fileUpload v-model="form.${column.javaField}" prePath="/file/uploadfile"/></Field>
<#elseif column.htmlType == 9>
<Field label="${comment}"><editor v-model="form.${column.javaField}" :min-height="256"/></Field>
<#else >
<Field label="${comment}" prop="${column.javaField}" v-model="form.${column.javaField}" placeholder="请输入${comment}"/>
</#if>
</#if>
</#list>
</el-row>
<#if table.tplCategory=="sub">
<el-divider content-position="center">${subTable.functionName}信息</el-divider>
<br/>
<el-row :gutter="10" class="mb8">
<el-col :span="1.5">
<el-button type="primary" icon="el-icon-plus" size="mini" @click="handleAdd${subClassName}">添加</el-button>
</el-col>
<el-col :span="1.5">
<el-button type="danger" icon="el-icon-delete" size="mini" @click="handleDelete${subClassName}">删除</el-button>
</el-col>
</el-row>
<el-table :data="${subclassName}List" :row-class-name="row${subClassName}Index" @selection-change="handle${subClassName}SelectionChange" ref="${subclassName}">
<el-table-column type="selection" width="50" align="center" />
<el-table-column label="序号" align="center" prop="index" width="50"/>
<#list subTable.columns as column >
<#assign javaField=column.javaField />
<#assign comment=column.subComment(column.columnComment) />
<#if column.isPrimaryKey==1 || javaField == subTableFkclassName>
<#elseif "" != javaField>
<el-table-column label="${comment}" prop="${javaField}">
<template slot-scope="scope">
<el-input v-model="scope.row.${javaField}" placeholder="请输入${comment}" />
</template>
</el-table-column>
</#if>
</#list>
</el-table>
</#if>
<#if table.tplCategory=="subone">
<el-divider content-position="center">${subTable.functionName}信息</el-divider>
<br/>
<el-row>
<#list subTable.columns as column >
<#if column.isPrimaryKey != 1 && !column.isSuperColumn(column.javaField)&& column.isEdit==1>
<#assign javaField=column.javaField />
<#assign comment=column.subComment(column.columnComment) />
<#if column.htmlType == 1 && !column.columnType?contains("tinyint")>
<Field label="${comment}" prop="${column.javaField}" v-model="form.${subclassName}Entity.${column.javaField}" placeholder="请输入${comment}"/>
<#elseif column.htmlType == 2>
<Field label="${comment}" prop="${column.javaField}" v-model="form.${subclassName}Entity.${column.javaField}" type="textarea" placeholder="请输入${comment}"/>
<#elseif column.htmlType == 3 ||column.columnType?contains("tinyint")>
<Field label="${comment}" prop="${column.javaField}" v-model="form.${subclassName}Entity.${column.javaField}" type="select" :enumData="dict.${column.javaField}" placeholder="请选择${comment}"/>
<#elseif column.htmlType == 4>
<Field label="${comment}" prop="${column.javaField}" v-model="form.${subclassName}Entity.${column.javaField}" type="checkbox" :enumData="dict.${column.javaField}" />
<#elseif column.htmlType == 5>
<Field label="${comment}" prop="${column.javaField}" v-model="form.${subclassName}Entity.${column.javaField}" type="radio" :enumData="dict.${column.javaField}" />
<#elseif column.htmlType == 6>
<Field label="${comment}" prop="${column.javaField}" v-model="form.${subclassName}Entity.${column.javaField}" type="date" />
<#elseif column.htmlType == 7>
<Field label="${comment}"><imageUpload v-model="form.${subclassName}Entity.${column.javaField}" prePath="/file/preview"/></Field>
<#elseif column.htmlType == 8>
<Field label="${comment}"><fileUpload v-model="form.${subclassName}Entity.${column.javaField}" prePath="/file/uploadfile"/></Field>
<#elseif column.htmlType == 9>
<Field label="${comment}"><editor v-model="form.${subclassName}Entity.${column.javaField}" :min-height="256"/></Field>
<#else >
<Field label="${comment}" prop="${column.javaField}" v-model="form.${subclassName}Entity.${column.javaField}" placeholder="请输入${comment}"/>
</#if>
</#if>
</#list>
</el-row>
</#if>
<form-buttons @submit='submitForm' noCancelBtn />
</el-form>
</el-drawer>
</template>
<script>
import form from "@/assets/mixins/formdialog";
export default {
name: "${ClassName}Detail",
mixins: [form],
components: {
},
created() {
this.changePath("${RequestMapping}")
},
data() {
return {
<#if table.tplCategory=="sub">
// 子表选中数据
checked${subClassName}: [],
// ${subTable.functionName}表格数据
${subclassName}List: [],
</#if>
// 遮罩层
loading: true,
// 弹出层标题
title: "${functionName}",
// 是否显示弹出层
open: false,
direction:"rtl",
toString:[
<#list columns as column>
<#if column.columnType?contains("tinyint")>
"${column.javaField}",
</#if>
</#list>
],
toDate:[
<#list columns as column>
<#if column.javaType == "Date" && !column.isSuperColumn(column.javaField) >
"${column.javaField}",
</#if>
</#list>
],
// 表单校验
rules: {
<#list columns as column>
<#assign comment=column.subComment(column.columnComment) />
<#if column.javaType == "String" && column.isRequired==1>
${column.javaField}: [
{<#if column.isRequired==1>required: true,message: "请输入${comment}",</#if> trigger: "blur" },
<#assign max=column.subBetween(column.columnType) />
{max: ${max},message: "最多只能录入${max}个字符",trigger: "blur",},
],
</#if>
<#if column.javaType == "Integer" && column.isRequired==1>
${column.javaField}: [
{<#if column.isRequired==1>required: true,message: "请输入${comment}",</#if> trigger: "blur" },
],
</#if>
<#if column.javaType == "BigDecimal" && column.isRequired==1>
${column.javaField}: [
{<#if column.isRequired==1>required: true,message: "请输入${comment}",</#if>trigger: "blur" },
],
</#if>
<#if column.javaType == "Date" &&column.htmlType ==6 && column.isRequired==1>
${column.javaField}: [
{<#if column.isRequired==1>required: true,message: "请选择${comment}"</#if> },
],
</#if>
</#list>
}
};
},
methods: {
<#if table.tplCategory=="sub">
/** ${subTable.functionName}序号 */
row${subClassName}Index({ row, rowIndex }) {
row.index = rowIndex + 1;
},
/** ${subTable.functionName}添加按钮操作 */
handleAdd${subClassName}() {
let obj = {};
<#list subTable.columns as column>
<#if column.isPrimaryKey==1 || column.javaField == subTableFkclassName>
<#elseif "" != javaField>
obj.${column.javaField} = "";
</#if>
</#list>
this.${subclassName}List.push(obj);
},
/** ${subTable.functionName}删除按钮操作 */
handleDelete${subClassName}() {
if (this.checked${subClassName}.length == 0) {
this.$alert("请先选择要删除的${subTable.functionName}数据", "提示", { confirmButtonText: "确定", });
} else {
this.${subclassName}List.splice(this.checked${subClassName}[0].index - 1, 1);
}
},
/** 单选框选中数据 */
handle${subClassName}SelectionChange(selection) {
if (selection.length > 1) {
this.$refs.${subclassName}.clearSelection();
this.$refs.${subclassName}.toggleRowSelection(selection.pop());
} else {
this.checked${subClassName} = selection;
}
},
// 渲染前置处理
beforeRender(data) {
if(data.entity.${subclassName}List) {
this.${subclassName}List = data.entity.${subclassName}List;
}
return data
},
<#elseif table.tplCategory=="subone" >
</#if>
/** 编辑 */
edit(row) {
this.reset()
this.query = { ${pkColumn.javaField}: row.${pkColumn.javaField} };
this.urls.currUrl ="${RequestMapping}/edit";
this.getData();
this.pageInfo.type="edit"
this.title = "修改${functionName}";
},
/** 新增 */
add(row) {
this.reset()
this.urls.currUrl = "${RequestMapping}/add";
this.getData();
this.pageInfo.type="add"
this.title = "新增${functionName}";
},
/** 查看*/
view(row) {
this.reset()
this.query = { ${pkColumn.javaField}: row.${pkColumn.javaField} };
this.urls.currUrl ="${RequestMapping}/view";
this.getData();
this.pageInfo.type="view"
this.title = "${functionName}详细";
},
/**取消按钮 */
cancel() {
this.open = false;
},
/**获取数据后弹框 */
afterRender(data) {
this.open = true;
},
afterSubmit(data) {
this.open = false;
this.$emit("ok");
},
// 表单重置
reset() {
this.form = {
<#list columns as column>
<#if !column.isSuperColumn(column.javaField)>
<#if column.javaType=="Long" && column.defaultValue??&& column.defaultValue!="">
<#assign Default>${column.defaultValue}</#assign>
<#elseif column.javaType=="Integer" && column.defaultValue??&& column.defaultValue!="">
<#assign Default>${column.defaultValue}</#assign>
<#elseif column.javaType=="String" && column.defaultValue??>
<#assign Default>"${column.defaultValue}"</#assign>
<#elseif column.javaType=="BigDecimal" && column.defaultValue??&& column.defaultValue!="">
<#assign Default>BigDecimal.valueOf(${column.defaultValue})</#assign>
<#else>
<#assign Default>null</#assign>
</#if>
${column.javaField} : ${Default},
</#if>
</#list>
};
this.resetForm("form");
},
resetForm(refName) {
if (this.$refs[refName]) {
this.$refs[refName].resetFields();
}
},
},
};
</script>
...@@ -63,17 +63,38 @@ ...@@ -63,17 +63,38 @@
</div> </div>
</el-dialog> </el-dialog>
</#if> </#if>
<#if table.detailShow==1 >
<dialog-show ref="dialogform" @ok="getData" />
<#elseif table.detailShow==2>
<drawer-show ref="drawerform" @ok="getData" />
<#else>
<dialog-show ref="dialogform" @ok="getData" /> <dialog-show ref="dialogform" @ok="getData" />
</#if>
</div> </div>
</template> </template>
<script> <script>
/** 表单弹出框模式需引入 */ /** 表单弹出框模式需引入 */
<#if table.detailShow==1 >
import dialogShow from "./dialogshow"; import dialogShow from "./dialogshow";
<#elseif table.detailShow==2>
import drawerShow from "./drawershow";
<#else >
import dialogShow from "./dialogshow";
</#if>
import table from "@/assets/mixins/table"; import table from "@/assets/mixins/table";
export default { export default {
name: "${ClassName}", name: "${ClassName}List",
components: {dialogShow }, components: {
<#if table.detailShow==1 >
dialogShow
<#elseif table.detailShow==2>
drawerShow
<#else >
dialogShow
</#if>},
mixins: [table], mixins: [table],
created() { created() {
}, },
...@@ -114,9 +135,10 @@ ...@@ -114,9 +135,10 @@
doExport() { doExport() {
this.isExport = true; this.isExport = true;
this.$download("/${RequestMapping}/exportExcel", { this.$download("/${RequestMapping}/exportExcel", {
"idList": this.selection,
<#list columns as column> <#list columns as column>
<#if column.isQuery == 1 > <#if column.isQuery == 1 >
'query.${column.javaField}': this.$route.query['query.${column.javaField}']<#sep>, '${column.javaField}': this.$route.query['${column.javaField}']<#sep>,
</#if> </#if>
</#list> </#list>
}, { type: "excel" }).then(() => this.isExport = false).catch(error => { }, { type: "excel" }).then(() => this.isExport = false).catch(error => {
...@@ -144,7 +166,7 @@ ...@@ -144,7 +166,7 @@
); );
}, },
</#if> </#if>
<#if table.detailShow==1 >
/** 重写新增方法 */ /** 重写新增方法 */
toAdd(row) { toAdd(row) {
this.$refs.dialogform.add(row); this.$refs.dialogform.add(row);
...@@ -152,12 +174,38 @@ ...@@ -152,12 +174,38 @@
/** 重写编辑方法 */ /** 重写编辑方法 */
toEdit(row) { toEdit(row) {
this.$refs.dialogform.edit(row); this.$refs.dialogform.edit(row);
}, },
/** 重写查看方法 */ /** 重写查看方法 */
// toView(row) { toView(row) {
// this.$refs.dialogform.view(row); this.$refs.dialogform.view(row);
// }, },
<#elseif table.detailShow==2>
/** 重写新增方法 */
toAdd(row) {
this.$refs.drawerform.add(row);
},
/** 重写编辑方法 */
toEdit(row) {
this.$refs.drawerform.edit(row);
},
/** 重写查看方法 */
toView(row) {
this.$refs.drawerform.view(row);
},
<#else>
/** 重写新增方法 */
toAdd(row) {
this.$refs.dialogform.add(row);
},
/** 重写编辑方法 */
toEdit(row) {
this.$refs.dialogform.edit(row);
},
/** 重写查看方法 */
toView(row) {
this.$refs.dialogform.view(row);
},
</#if>
}, },
data() { data() {
...@@ -227,12 +275,13 @@ ...@@ -227,12 +275,13 @@
], ],
columns: [ columns: [
{type: "selection", width: 60}, {type: "selection", width: 60},
{type: "index",label: "序号",width: 50},
<#list columns as column> <#list columns as column>
<#assign comment=column.subComment(column.columnComment) /> <#assign comment=column.subComment(column.columnComment) />
<#if column.columnName != pkColumn.columnName && !column.isSuperColumn(column.javaField)&& column.isList==1> <#if column.columnName != pkColumn.columnName && column.isList==1>
<#if column.javaType == "Long"> <#if column.javaType == "Long">
{label: "${comment}", prop: "${column.javaField}", formatter: this.formatterString}, {label: "${comment}", prop: "${column.javaField}", formatter: this.formatter},
</#if> </#if>
<#if column.javaType == "String"> <#if column.javaType == "String">
{label: "${comment}", prop: "${column.javaField}"}, {label: "${comment}", prop: "${column.javaField}"},
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment