修改模板字段
This commit is contained in:
parent
df7442e5bd
commit
c85899ba9b
@ -22,7 +22,9 @@ public enum FormFieldTypeEnum {
|
|||||||
ID_SELECT("idSelect", "ID 选择"),
|
ID_SELECT("idSelect", "ID 选择"),
|
||||||
SELECT("select", "下拉选择"),
|
SELECT("select", "下拉选择"),
|
||||||
CHECKBOX("checkbox", "复选"),
|
CHECKBOX("checkbox", "复选"),
|
||||||
|
STATIC_CHECKBOX("staticCheckbox", "静态复选"),
|
||||||
RADIO("radio", "单选"),
|
RADIO("radio", "单选"),
|
||||||
|
STATIC_RADIO("staticRadio", "静态单选"),
|
||||||
SELECT_USER("selectUser", "选择人员"),
|
SELECT_USER("selectUser", "选择人员"),
|
||||||
SELECT_DEPARTMENT("selectDepartment", "选择部门"),
|
SELECT_DEPARTMENT("selectDepartment", "选择部门"),
|
||||||
FILE("file", "文件"),
|
FILE("file", "文件"),
|
||||||
|
@ -27,11 +27,12 @@ public class ChoiceBoxTableCellFactory implements Callback<TableColumn.CellDataF
|
|||||||
private ObservableList<String> normalSelect = FXCollections.observableArrayList(
|
private ObservableList<String> normalSelect = FXCollections.observableArrayList(
|
||||||
"", FormFieldTypeEnum.TEXT.getValue(), FormFieldTypeEnum.NUMBER.getValue(),
|
"", FormFieldTypeEnum.TEXT.getValue(), FormFieldTypeEnum.NUMBER.getValue(),
|
||||||
FormFieldTypeEnum.DOUBLE.getValue(), FormFieldTypeEnum.TEXTAREA.getValue(), FormFieldTypeEnum.RICH_TEXT.getValue(),
|
FormFieldTypeEnum.DOUBLE.getValue(), FormFieldTypeEnum.TEXTAREA.getValue(), FormFieldTypeEnum.RICH_TEXT.getValue(),
|
||||||
|
FormFieldTypeEnum.STATIC_RADIO.getValue(),
|
||||||
|
FormFieldTypeEnum.CHECKBOX.getValue(), FormFieldTypeEnum.STATIC_CHECKBOX.getValue(),
|
||||||
FormFieldTypeEnum.SELECT_USER.getValue(), FormFieldTypeEnum.SELECT_DEPARTMENT.getValue(),
|
FormFieldTypeEnum.SELECT_USER.getValue(), FormFieldTypeEnum.SELECT_DEPARTMENT.getValue(),
|
||||||
FormFieldTypeEnum.FILE.getValue(), FormFieldTypeEnum.IMAGE.getValue(),
|
FormFieldTypeEnum.FILE.getValue(), FormFieldTypeEnum.IMAGE.getValue(),
|
||||||
FormFieldTypeEnum.AUDIO.getValue(), FormFieldTypeEnum.VIDEO.getValue(),
|
FormFieldTypeEnum.AUDIO.getValue(), FormFieldTypeEnum.VIDEO.getValue(),
|
||||||
FormFieldTypeEnum.DATETIME.getValue(), FormFieldTypeEnum.DATE.getValue(),
|
FormFieldTypeEnum.DATETIME.getValue(), FormFieldTypeEnum.DATE.getValue()
|
||||||
FormFieldTypeEnum.CHECKBOX.getValue()
|
|
||||||
);
|
);
|
||||||
private ObservableList<String> singleSelect = FXCollections.observableArrayList(
|
private ObservableList<String> singleSelect = FXCollections.observableArrayList(
|
||||||
"",
|
"",
|
||||||
|
@ -3,6 +3,7 @@ package ink.wgink.code.factory.service;
|
|||||||
import freemarker.template.Configuration;
|
import freemarker.template.Configuration;
|
||||||
import freemarker.template.Template;
|
import freemarker.template.Template;
|
||||||
import freemarker.template.TemplateException;
|
import freemarker.template.TemplateException;
|
||||||
|
import ink.wgink.code.factory.enums.FormFieldTypeEnum;
|
||||||
import ink.wgink.code.factory.utils.DateUtil;
|
import ink.wgink.code.factory.utils.DateUtil;
|
||||||
import ink.wgink.code.factory.utils.MsgUtil;
|
import ink.wgink.code.factory.utils.MsgUtil;
|
||||||
import ink.wgink.code.factory.utils.WStringUtil;
|
import ink.wgink.code.factory.utils.WStringUtil;
|
||||||
@ -71,11 +72,13 @@ public class GenerateService {
|
|||||||
// 首字母小写驼峰表明
|
// 首字母小写驼峰表明
|
||||||
String firstLowerTableName = WStringUtil.firstToLower(tableName);
|
String firstLowerTableName = WStringUtil.firstToLower(tableName);
|
||||||
String lowerTableName = tableNameWithoutPrefix.replaceAll("\\_", "").toLowerCase();
|
String lowerTableName = tableNameWithoutPrefix.replaceAll("\\_", "").toLowerCase();
|
||||||
|
String requestMappingName = tableNameWithoutPrefix.replaceAll("\\_", "-").toLowerCase();
|
||||||
Map<String, Object> dataModel = new HashMap<>(16);
|
Map<String, Object> dataModel = new HashMap<>(16);
|
||||||
dataModel.put("context", generateVO.getContext());
|
dataModel.put("context", generateVO.getContext());
|
||||||
dataModel.put("codePackage", generateVO.getCodePackage());
|
dataModel.put("codePackage", generateVO.getCodePackage());
|
||||||
dataModel.put("tableNameWithoutPrefix", tableNameWithoutPrefix);
|
dataModel.put("tableNameWithoutPrefix", tableNameWithoutPrefix);
|
||||||
dataModel.put("lowerTableName", lowerTableName);
|
dataModel.put("lowerTableName", lowerTableName);
|
||||||
|
dataModel.put("requestMappingName", requestMappingName);
|
||||||
dataModel.put("tableName", tableName);
|
dataModel.put("tableName", tableName);
|
||||||
dataModel.put("tableFullName", tableFullName);
|
dataModel.put("tableFullName", tableFullName);
|
||||||
dataModel.put("firstUpperTableName", firstUpperTableName);
|
dataModel.put("firstUpperTableName", firstUpperTableName);
|
||||||
@ -106,13 +109,13 @@ public class GenerateService {
|
|||||||
iDaoCode("/normal/dao/i-dao.ftl", String.format("%s/dao/%s", outFolder, lowerTableName), firstUpperTableName, dataModel);
|
iDaoCode("/normal/dao/i-dao.ftl", String.format("%s/dao/%s", outFolder, lowerTableName), firstUpperTableName, dataModel);
|
||||||
}
|
}
|
||||||
if (generateVO.getHasMySQL()) {
|
if (generateVO.getHasMySQL()) {
|
||||||
mySqlMapperCode("/normal/mapper/mysql-mapper.ftl", String.format("%s/mapper/%s", outFolder, lowerTableName), tableName, dataModel);
|
mySqlMapperCode("/normal/mapper/mysql-mapper.ftl", String.format("%s/mapper/%s", outFolder, requestMappingName), tableName, dataModel);
|
||||||
}
|
}
|
||||||
if (generateVO.getHasHtml()) {
|
if (generateVO.getHasHtml()) {
|
||||||
htmlCode("/normal/page", String.format("%s/static/route/%s", outFolder, lowerTableName), tableName, dataModel);
|
htmlCode("/normal/page", String.format("%s/static/route/%s", outFolder, requestMappingName), tableName, dataModel);
|
||||||
}
|
}
|
||||||
if (generateVO.getHasThymeleaf()) {
|
if (generateVO.getHasThymeleaf()) {
|
||||||
thymeleafCode("/normal/page", String.format("%s/templates/%s", outFolder, lowerTableName), tableName, dataModel);
|
thymeleafCode("/normal/page", String.format("%s/templates/%s", outFolder, requestMappingName), tableName, dataModel);
|
||||||
}
|
}
|
||||||
if (generateVO.getHasRoute()) {
|
if (generateVO.getHasRoute()) {
|
||||||
routeCode("/normal/controller/route-controller.ftl", String.format("%s/controller/route/%s", outFolder, lowerTableName), firstUpperTableName, dataModel);
|
routeCode("/normal/controller/route-controller.ftl", String.format("%s/controller/route/%s", outFolder, lowerTableName), firstUpperTableName, dataModel);
|
||||||
@ -141,6 +144,11 @@ public class GenerateService {
|
|||||||
boolean hasModifier = false;
|
boolean hasModifier = false;
|
||||||
boolean modifierFormShow = false;
|
boolean modifierFormShow = false;
|
||||||
boolean hasIsDelete = false;
|
boolean hasIsDelete = false;
|
||||||
|
boolean hasFile = false;
|
||||||
|
boolean hasImage = false;
|
||||||
|
boolean hasVideo = false;
|
||||||
|
boolean hasAudio = false;
|
||||||
|
boolean hasRichText = false;
|
||||||
for (int i = 0; i < fields.size(); i++) {
|
for (int i = 0; i < fields.size(); i++) {
|
||||||
FieldVO field = fields.get(i);
|
FieldVO field = fields.get(i);
|
||||||
if (!hasId && StringUtils.equals(String.format("%s_id", tableNameWithoutPrefix), field.getColumnName())) {
|
if (!hasId && StringUtils.equals(String.format("%s_id", tableNameWithoutPrefix), field.getColumnName())) {
|
||||||
@ -165,6 +173,21 @@ public class GenerateService {
|
|||||||
if (!hasIsDelete && StringUtils.equals(FieldService.DEFAULT_FIELD_IS_DELETE, field.getPropertyName())) {
|
if (!hasIsDelete && StringUtils.equals(FieldService.DEFAULT_FIELD_IS_DELETE, field.getPropertyName())) {
|
||||||
hasIsDelete = true;
|
hasIsDelete = true;
|
||||||
}
|
}
|
||||||
|
if (!hasFile && StringUtils.equals(FormFieldTypeEnum.FILE.getValue(), field.getPropertyName())) {
|
||||||
|
hasFile = true;
|
||||||
|
}
|
||||||
|
if (!hasImage && StringUtils.equals(FormFieldTypeEnum.IMAGE.getValue(), field.getPropertyName())) {
|
||||||
|
hasImage = true;
|
||||||
|
}
|
||||||
|
if (!hasVideo && StringUtils.equals(FormFieldTypeEnum.VIDEO.getValue(), field.getPropertyName())) {
|
||||||
|
hasVideo = true;
|
||||||
|
}
|
||||||
|
if (!hasAudio && StringUtils.equals(FormFieldTypeEnum.AUDIO.getValue(), field.getPropertyName())) {
|
||||||
|
hasAudio = true;
|
||||||
|
}
|
||||||
|
if (!hasRichText && StringUtils.equals(FormFieldTypeEnum.RICH_TEXT.getValue(), field.getPropertyName())) {
|
||||||
|
hasRichText = true;
|
||||||
|
}
|
||||||
Map<String, Object> fieldMap = new HashMap<>(16);
|
Map<String, Object> fieldMap = new HashMap<>(16);
|
||||||
fieldMap.put("columnName", field.getColumnName());
|
fieldMap.put("columnName", field.getColumnName());
|
||||||
fieldMap.put("propertyName", field.getPropertyName());
|
fieldMap.put("propertyName", field.getPropertyName());
|
||||||
@ -194,6 +217,11 @@ public class GenerateService {
|
|||||||
dataModel.put("modifierFormShow", modifierFormShow);
|
dataModel.put("modifierFormShow", modifierFormShow);
|
||||||
dataModel.put("hasIsDelete", hasIsDelete);
|
dataModel.put("hasIsDelete", hasIsDelete);
|
||||||
dataModel.put("fieldList", fieldList);
|
dataModel.put("fieldList", fieldList);
|
||||||
|
dataModel.put("hasFile", hasFile);
|
||||||
|
dataModel.put("hasImage", hasImage);
|
||||||
|
dataModel.put("hasVideo", hasVideo);
|
||||||
|
dataModel.put("hasAudio", hasAudio);
|
||||||
|
dataModel.put("hasRichText", hasRichText);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -319,7 +347,7 @@ public class GenerateService {
|
|||||||
if (!folder.exists()) {
|
if (!folder.exists()) {
|
||||||
folder.mkdirs();
|
folder.mkdirs();
|
||||||
}
|
}
|
||||||
code(templateFtl, String.format("%s/%s-mapper.xml", outFolder, WStringUtil.lowerUpper2UnderLine(tableName).replaceAll("\\_", "-")), dataModel);
|
code(templateFtl, String.format("%s/%s-mapper.xml", outFolder, WStringUtil.lowerUpper2Separator(tableName, "-")), dataModel);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -138,15 +138,31 @@ public class WStringUtil {
|
|||||||
* @date 2018年2月28日 下午4:28:45
|
* @date 2018年2月28日 下午4:28:45
|
||||||
*/
|
*/
|
||||||
public static String lowerUpper2UnderLine(String str) {
|
public static String lowerUpper2UnderLine(String str) {
|
||||||
|
return lowerUpper2Separator(str, "-");
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* <p>
|
||||||
|
* title 驼峰名称转分隔符名称
|
||||||
|
* </p>
|
||||||
|
* <p>
|
||||||
|
* description 驼峰名称转小写名称用分隔符名称
|
||||||
|
* </p>
|
||||||
|
*
|
||||||
|
* @param str
|
||||||
|
* @param separator
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
public static String lowerUpper2Separator(String str, String separator) {
|
||||||
Matcher matcher = LOWER_UPPER_PATTERN.matcher(str);
|
Matcher matcher = LOWER_UPPER_PATTERN.matcher(str);
|
||||||
while (matcher.find()) {
|
while (matcher.find()) {
|
||||||
String group = matcher.group();
|
String group = matcher.group();
|
||||||
String lower = "_" + group.toLowerCase();
|
String lower = separator + group.toLowerCase();
|
||||||
str = str.replaceFirst(group, lower);
|
str = str.replaceFirst(group, lower);
|
||||||
matcher = LOWER_UPPER_PATTERN.matcher(str);
|
matcher = LOWER_UPPER_PATTERN.matcher(str);
|
||||||
}
|
}
|
||||||
if (str.startsWith("_")) {
|
if (str.startsWith(separator)) {
|
||||||
str = str.substring(1, str.length());
|
str = str.substring(1);
|
||||||
}
|
}
|
||||||
return str;
|
return str;
|
||||||
}
|
}
|
||||||
@ -167,7 +183,23 @@ public class WStringUtil {
|
|||||||
* @date 2018年2月28日 下午4:49:13
|
* @date 2018年2月28日 下午4:49:13
|
||||||
*/
|
*/
|
||||||
public static String underLine2LowerUpper(String str) {
|
public static String underLine2LowerUpper(String str) {
|
||||||
String[] strs = str.split("_");
|
return separator2LowerUpper(str, "_");
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* <p>
|
||||||
|
* title 分割符转驼峰式
|
||||||
|
* </p>
|
||||||
|
* <p>
|
||||||
|
* description 分割符转驼峰式
|
||||||
|
* </p>
|
||||||
|
*
|
||||||
|
* @param str 字符串
|
||||||
|
* @param separator 分隔符
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
public static String separator2LowerUpper(String str, String separator) {
|
||||||
|
String[] strs = str.split(separator);
|
||||||
StringBuilder sb = new StringBuilder();
|
StringBuilder sb = new StringBuilder();
|
||||||
for (int i = 0; i < strs.length; i++) {
|
for (int i = 0; i < strs.length; i++) {
|
||||||
String letter = strs[i].toLowerCase();
|
String letter = strs[i].toLowerCase();
|
||||||
@ -208,7 +240,29 @@ public class WStringUtil {
|
|||||||
String result = underLine2LowerUpper(str);
|
String result = underLine2LowerUpper(str);
|
||||||
if (firstLower) {
|
if (firstLower) {
|
||||||
int first = result.charAt(0) + 32;
|
int first = result.charAt(0) + 32;
|
||||||
result = ((char) first) + result.substring(1, result.length());
|
result = ((char) first) + result.substring(1);
|
||||||
|
}
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* <p>
|
||||||
|
* title 分隔符转驼峰式
|
||||||
|
* </p>
|
||||||
|
* <p>
|
||||||
|
* description 分隔符转驼峰式
|
||||||
|
* </p>
|
||||||
|
*
|
||||||
|
* @param str 字符串
|
||||||
|
* @param separator 分隔符
|
||||||
|
* @param firstLower 首字母小写
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
public static String separator2LowerUpper(String str, String separator, boolean firstLower) {
|
||||||
|
String result = separator2LowerUpper(str, separator);
|
||||||
|
if (firstLower) {
|
||||||
|
int first = result.charAt(0) + 32;
|
||||||
|
result = ((char) first) + result.substring(1);
|
||||||
}
|
}
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
@ -28,7 +28,7 @@ import java.util.Map;
|
|||||||
**/
|
**/
|
||||||
@Api(tags = ISystemConstant.API_TAGS_SYSTEM_PREFIX + "${tableExplain}接口")
|
@Api(tags = ISystemConstant.API_TAGS_SYSTEM_PREFIX + "${tableExplain}接口")
|
||||||
@RestController
|
@RestController
|
||||||
@RequestMapping(ISystemConstant.API_PREFIX + "/${lowerTableName}")
|
@RequestMapping(ISystemConstant.API_PREFIX + "/${requestMappingName}")
|
||||||
public class ${firstUpperTableName}Controller extends DefaultBaseController {
|
public class ${firstUpperTableName}Controller extends DefaultBaseController {
|
||||||
|
|
||||||
@Autowired
|
@Autowired
|
||||||
|
@ -28,7 +28,7 @@ import java.util.Map;
|
|||||||
**/
|
**/
|
||||||
@Api(tags = ISystemConstant.API_TAGS_APP_PREFIX + "${tableExplain}接口")
|
@Api(tags = ISystemConstant.API_TAGS_APP_PREFIX + "${tableExplain}接口")
|
||||||
@RestController
|
@RestController
|
||||||
@RequestMapping(ISystemConstant.APP_PREFIX + "/${lowerTableName}")
|
@RequestMapping(ISystemConstant.APP_PREFIX + "/${requestMappingName}")
|
||||||
public class ${firstUpperTableName}AppController extends DefaultBaseController {
|
public class ${firstUpperTableName}AppController extends DefaultBaseController {
|
||||||
|
|
||||||
@Autowired
|
@Autowired
|
||||||
@ -103,7 +103,7 @@ public class ${firstUpperTableName}AppController extends DefaultBaseController {
|
|||||||
@ApiImplicitParam(name = "endTime", value = "结束时间", paramType = "query", dataType = "String")
|
@ApiImplicitParam(name = "endTime", value = "结束时间", paramType = "query", dataType = "String")
|
||||||
})
|
})
|
||||||
@ApiResponses({@ApiResponse(code = 400, message = "请求失败", response = ErrorResult.class)})
|
@ApiResponses({@ApiResponse(code = 400, message = "请求失败", response = ErrorResult.class)})
|
||||||
@GetMapping("listpage${lowerTableName}")
|
@GetMapping("listpage")
|
||||||
public SuccessResultList<List<${firstUpperTableName}DTO>> listPage(@RequestHeader("token") String token, ListPage page) {
|
public SuccessResultList<List<${firstUpperTableName}DTO>> listPage(@RequestHeader("token") String token, ListPage page) {
|
||||||
Map<String, Object> params = requestParams();
|
Map<String, Object> params = requestParams();
|
||||||
page.setParams(params);
|
page.setParams(params);
|
||||||
|
@ -28,7 +28,7 @@ import java.util.Map;
|
|||||||
**/
|
**/
|
||||||
@Api(tags = ISystemConstant.API_TAGS_RESOURCE_PREFIX + "${tableExplain}接口")
|
@Api(tags = ISystemConstant.API_TAGS_RESOURCE_PREFIX + "${tableExplain}接口")
|
||||||
@RestController
|
@RestController
|
||||||
@RequestMapping(ISystemConstant.RESOURCE_PREFIX + "/${lowerTableName}")
|
@RequestMapping(ISystemConstant.RESOURCE_PREFIX + "/${requestMappingName}")
|
||||||
public class ${firstUpperTableName}ResourceController extends DefaultBaseController {
|
public class ${firstUpperTableName}ResourceController extends DefaultBaseController {
|
||||||
|
|
||||||
@Autowired
|
@Autowired
|
||||||
|
@ -21,22 +21,22 @@ import java.util.Map;
|
|||||||
**/
|
**/
|
||||||
@Api(tags = ISystemConstant.ROUTE_TAGS_PREFIX + "${tableExplain}路由")
|
@Api(tags = ISystemConstant.ROUTE_TAGS_PREFIX + "${tableExplain}路由")
|
||||||
@RestController
|
@RestController
|
||||||
@RequestMapping(ISystemConstant.ROUTE_PREFIX + "/${lowerTableName}")
|
@RequestMapping(ISystemConstant.ROUTE_PREFIX + "/${requestMappingName}")
|
||||||
public class ${firstUpperTableName}RouteController extends DefaultBaseController {
|
public class ${firstUpperTableName}RouteController extends DefaultBaseController {
|
||||||
|
|
||||||
@GetMapping("save")
|
@GetMapping("save")
|
||||||
public ModelAndView save() {
|
public ModelAndView save() {
|
||||||
return new ModelAndView("${lowerTableName}/save");
|
return new ModelAndView("${requestMappingName}/save");
|
||||||
}
|
}
|
||||||
|
|
||||||
@GetMapping("update")
|
@GetMapping("update")
|
||||||
public ModelAndView update() {
|
public ModelAndView update() {
|
||||||
return new ModelAndView("${lowerTableName}/update");
|
return new ModelAndView("${requestMappingName}/update");
|
||||||
}
|
}
|
||||||
|
|
||||||
@GetMapping("list")
|
@GetMapping("list")
|
||||||
public ModelAndView list() {
|
public ModelAndView list() {
|
||||||
return new ModelAndView("${lowerTableName}/list");
|
return new ModelAndView("${requestMappingName}/list");
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
@ -50,7 +50,7 @@
|
|||||||
is_delete = 1
|
is_delete = 1
|
||||||
WHERE
|
WHERE
|
||||||
<#if hasId>
|
<#if hasId>
|
||||||
${underlineTableName}_id IN
|
${idColumn} IN
|
||||||
<foreach collection="${firstLowerTableName}Ids" index="index" open="(" separator="," close=")">
|
<foreach collection="${firstLowerTableName}Ids" index="index" open="(" separator="," close=")">
|
||||||
${r"#{"}${firstLowerTableName}${r"Ids[${index}]}"}
|
${r"#{"}${firstLowerTableName}${r"Ids[${index}]}"}
|
||||||
</foreach>
|
</foreach>
|
||||||
|
@ -28,13 +28,14 @@
|
|||||||
<div class="layui-card-body">
|
<div class="layui-card-body">
|
||||||
<div class="test-table-reload-btn" style="margin-bottom: 10px;">
|
<div class="test-table-reload-btn" style="margin-bottom: 10px;">
|
||||||
<div class="layui-inline">
|
<div class="layui-inline">
|
||||||
<input type="text" id="keywords" class="layui-input search-item" placeholder="输入关键字">
|
<input type="text" id="keywords" class="layui-input search-item search-item-width-100" placeholder="输入关键字">
|
||||||
|
</div>
|
||||||
|
新增时间
|
||||||
|
<div class="layui-inline">
|
||||||
|
<input type="text" id="startTime" class="layui-input search-item search-item-width-100" placeholder="开始时间" readonly>
|
||||||
</div>
|
</div>
|
||||||
<div class="layui-inline">
|
<div class="layui-inline">
|
||||||
<input type="text" id="startTime" class="layui-input search-item" placeholder="开始时间" readonly>
|
<input type="text" id="endTime" class="layui-input search-item search-item-width-100" placeholder="结束时间" readonly>
|
||||||
</div>
|
|
||||||
<div class="layui-inline">
|
|
||||||
<input type="text" id="endTime" class="layui-input search-item" placeholder="结束时间" readonly>
|
|
||||||
</div>
|
</div>
|
||||||
<button type="button" id="search" class="layui-btn layui-btn-sm">
|
<button type="button" id="search" class="layui-btn layui-btn-sm">
|
||||||
<i class="fa fa-lg fa-search"></i> 搜索
|
<i class="fa fa-lg fa-search"></i> 搜索
|
||||||
@ -75,7 +76,7 @@
|
|||||||
var laydate = layui.laydate;
|
var laydate = layui.laydate;
|
||||||
var common = layui.common;
|
var common = layui.common;
|
||||||
var resizeTimeout = null;
|
var resizeTimeout = null;
|
||||||
var tableUrl = 'api/${lowerTableName}/listpage';
|
var tableUrl = 'api/${requestMappingName}/listpage';
|
||||||
|
|
||||||
// 初始化表格
|
// 初始化表格
|
||||||
function initTable() {
|
function initTable() {
|
||||||
@ -141,7 +142,6 @@
|
|||||||
// 重载表格
|
// 重载表格
|
||||||
function reloadTable(currentPage) {
|
function reloadTable(currentPage) {
|
||||||
table.reload('dataTable', {
|
table.reload('dataTable', {
|
||||||
url: top.restAjax.path(tableUrl, []),
|
|
||||||
where: {
|
where: {
|
||||||
keywords: $('#keywords').val(),
|
keywords: $('#keywords').val(),
|
||||||
startTime: $('#startTime').val(),
|
startTime: $('#startTime').val(),
|
||||||
@ -150,7 +150,6 @@
|
|||||||
page: {
|
page: {
|
||||||
curr: currentPage
|
curr: currentPage
|
||||||
},
|
},
|
||||||
height: $win.height() - 90,
|
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
// 初始化日期
|
// 初始化日期
|
||||||
@ -174,7 +173,7 @@
|
|||||||
yes: function (index) {
|
yes: function (index) {
|
||||||
top.dialog.close(index);
|
top.dialog.close(index);
|
||||||
var layIndex;
|
var layIndex;
|
||||||
top.restAjax.delete(top.restAjax.path('api/${lowerTableName}/remove/{ids}', [ids]), {}, null, function (code, data) {
|
top.restAjax.delete(top.restAjax.path('api/${requestMappingName}/remove/{ids}', [ids]), {}, null, function (code, data) {
|
||||||
top.dialog.msg(top.dataMessage.deleteSuccess, {time: 1000});
|
top.dialog.msg(top.dataMessage.deleteSuccess, {time: 1000});
|
||||||
reloadTable();
|
reloadTable();
|
||||||
}, function (code, data) {
|
}, function (code, data) {
|
||||||
@ -213,7 +212,7 @@
|
|||||||
area: ['100%', '100%'],
|
area: ['100%', '100%'],
|
||||||
shadeClose: true,
|
shadeClose: true,
|
||||||
anim: 2,
|
anim: 2,
|
||||||
content: top.restAjax.path('route/${lowerTableName}/save<#if html>.html</#if>', []),
|
content: top.restAjax.path('route/${requestMappingName}/save<#if html>.html</#if>', []),
|
||||||
end: function() {
|
end: function() {
|
||||||
reloadTable();
|
reloadTable();
|
||||||
}
|
}
|
||||||
@ -231,7 +230,7 @@
|
|||||||
area: ['100%', '100%'],
|
area: ['100%', '100%'],
|
||||||
shadeClose: true,
|
shadeClose: true,
|
||||||
anim: 2,
|
anim: 2,
|
||||||
content: top.restAjax.path('route/${lowerTableName}/update<#if html>.html</#if>?${firstLowerTableName}Id={${firstLowerTableName}Id}', [checkDatas[0].${firstLowerTableName}Id]),
|
content: top.restAjax.path('route/${requestMappingName}/update<#if html>.html</#if>?${firstLowerTableName}Id={${firstLowerTableName}Id}', [checkDatas[0].${firstLowerTableName}Id]),
|
||||||
end: function() {
|
end: function() {
|
||||||
reloadTable();
|
reloadTable();
|
||||||
}
|
}
|
||||||
|
@ -19,7 +19,9 @@
|
|||||||
<link rel="stylesheet" href="assets/fonts/font-awesome/css/font-awesome.css"/>
|
<link rel="stylesheet" href="assets/fonts/font-awesome/css/font-awesome.css"/>
|
||||||
<link rel="stylesheet" href="assets/layuiadmin/layui/css/layui.css" media="all">
|
<link rel="stylesheet" href="assets/layuiadmin/layui/css/layui.css" media="all">
|
||||||
<link rel="stylesheet" href="assets/layuiadmin/style/admin.css" media="all">
|
<link rel="stylesheet" href="assets/layuiadmin/style/admin.css" media="all">
|
||||||
|
<#if hasImage>
|
||||||
<link rel="stylesheet" type="text/css" href="assets/js/vendor/viewer/viewer.min.css">
|
<link rel="stylesheet" type="text/css" href="assets/js/vendor/viewer/viewer.min.css">
|
||||||
|
</#if>
|
||||||
</head>
|
</head>
|
||||||
<body>
|
<body>
|
||||||
<div class="layui-fluid layui-anim layui-anim-fadein">
|
<div class="layui-fluid layui-anim layui-anim-fadein">
|
||||||
@ -81,6 +83,13 @@
|
|||||||
{{# } }}
|
{{# } }}
|
||||||
</select>
|
</select>
|
||||||
</script>
|
</script>
|
||||||
|
</div>
|
||||||
|
<#elseif field.formFieldValue == "staticCheckbox">
|
||||||
|
<div class="layui-form-item" pane>
|
||||||
|
<label class="layui-form-label">${field.columnComment}</label>
|
||||||
|
<div class="layui-input-block layui-form" lay-filter="${field.propertyName}CheckboxTemplateBox">
|
||||||
|
<input type="checkbox" name="${field.propertyName}" value="">
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<#elseif field.formFieldValue == "checkbox">
|
<#elseif field.formFieldValue == "checkbox">
|
||||||
<div class="layui-form-item" pane>
|
<div class="layui-form-item" pane>
|
||||||
@ -91,6 +100,13 @@
|
|||||||
<input type="checkbox" name="${field.propertyName}[{{item.selectId}}]" value="{{item.selectId}}" title="{{item.selectName}}">
|
<input type="checkbox" name="${field.propertyName}[{{item.selectId}}]" value="{{item.selectId}}" title="{{item.selectName}}">
|
||||||
{{# } }}
|
{{# } }}
|
||||||
</script>
|
</script>
|
||||||
|
</div>
|
||||||
|
<#elseif field.formFieldValue == "staticRadio">
|
||||||
|
<div class="layui-form-item" pane>
|
||||||
|
<label class="layui-form-label">${field.columnComment}</label>
|
||||||
|
<div class="layui-input-block layui-form">
|
||||||
|
<input type="radio" name="${field.propertyName}" value="">
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<#elseif field.formFieldValue == "radio">
|
<#elseif field.formFieldValue == "radio">
|
||||||
<div class="layui-form-item" pane>
|
<div class="layui-form-item" pane>
|
||||||
@ -281,9 +297,15 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
<#if hasRichText>
|
||||||
<script src="assets/js/vendor/wangEditor/wangEditor.min.js"></script>
|
<script src="assets/js/vendor/wangEditor/wangEditor.min.js"></script>
|
||||||
|
</#if>
|
||||||
|
<#if hasVideo>
|
||||||
<script src="assets/js/vendor/ckplayer/ckplayer/ckplayer.js"></script>
|
<script src="assets/js/vendor/ckplayer/ckplayer/ckplayer.js"></script>
|
||||||
|
</#if>
|
||||||
|
<#if hasImage>
|
||||||
<script src="assets/js/vendor/viewer/viewer.min.js"></script>
|
<script src="assets/js/vendor/viewer/viewer.min.js"></script>
|
||||||
|
</#if>
|
||||||
<script src="assets/layuiadmin/layui/layui.js"></script>
|
<script src="assets/layuiadmin/layui/layui.js"></script>
|
||||||
<script>
|
<script>
|
||||||
layui.config({
|
layui.config({
|
||||||
@ -295,14 +317,19 @@
|
|||||||
var form = layui.form;
|
var form = layui.form;
|
||||||
var laytpl = layui.laytpl;
|
var laytpl = layui.laytpl;
|
||||||
var laydate = layui.laydate;
|
var laydate = layui.laydate;
|
||||||
|
<#if hasRichText>
|
||||||
var wangEditor = window.wangEditor;
|
var wangEditor = window.wangEditor;
|
||||||
var wangEditorObj = {};
|
var wangEditorObj = {};
|
||||||
|
</#if>
|
||||||
|
<#if hasImage>
|
||||||
var viewerObj = {};
|
var viewerObj = {};
|
||||||
|
</#if>
|
||||||
|
|
||||||
function closeBox() {
|
function closeBox() {
|
||||||
parent.layer.close(parent.layer.getFrameIndex(window.name));
|
parent.layer.close(parent.layer.getFrameIndex(window.name));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
<#if hasFile || hasImage>
|
||||||
function refreshDownloadTemplet(fileName, file) {
|
function refreshDownloadTemplet(fileName, file) {
|
||||||
var dataRander = {};
|
var dataRander = {};
|
||||||
dataRander[fileName] = file;
|
dataRander[fileName] = file;
|
||||||
@ -337,7 +364,9 @@
|
|||||||
top.dialog.msg(data.msg);
|
top.dialog.msg(data.msg);
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
</#if>
|
||||||
|
|
||||||
|
<#if hasVideo>
|
||||||
// 初始化视频
|
// 初始化视频
|
||||||
function initVideo(fileName, data) {
|
function initVideo(fileName, data) {
|
||||||
for(var i = 0, item; item = data[i++];) {
|
for(var i = 0, item; item = data[i++];) {
|
||||||
@ -352,6 +381,7 @@
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
</#if>
|
||||||
|
|
||||||
<#list fieldList! as field>
|
<#list fieldList! as field>
|
||||||
<#if field.formShow>
|
<#if field.formShow>
|
||||||
@ -710,7 +740,7 @@
|
|||||||
</#if>
|
</#if>
|
||||||
</#if>
|
</#if>
|
||||||
</#list>
|
</#list>
|
||||||
top.restAjax.post(top.restAjax.path('api/${lowerTableName}/save', []), formData.field, null, function(code, data) {
|
top.restAjax.post(top.restAjax.path('api/${requestMappingName}/save', []), formData.field, null, function(code, data) {
|
||||||
var layerIndex = top.dialog.msg(top.dataMessage.commitSuccess, {
|
var layerIndex = top.dialog.msg(top.dataMessage.commitSuccess, {
|
||||||
time: 0,
|
time: 0,
|
||||||
btn: [top.dataMessage.button.yes, top.dataMessage.button.no],
|
btn: [top.dataMessage.button.yes, top.dataMessage.button.no],
|
||||||
|
@ -19,7 +19,9 @@
|
|||||||
<link rel="stylesheet" href="assets/fonts/font-awesome/css/font-awesome.css"/>
|
<link rel="stylesheet" href="assets/fonts/font-awesome/css/font-awesome.css"/>
|
||||||
<link rel="stylesheet" href="assets/layuiadmin/layui/css/layui.css" media="all">
|
<link rel="stylesheet" href="assets/layuiadmin/layui/css/layui.css" media="all">
|
||||||
<link rel="stylesheet" href="assets/layuiadmin/style/admin.css" media="all">
|
<link rel="stylesheet" href="assets/layuiadmin/style/admin.css" media="all">
|
||||||
|
<#if hasImage>
|
||||||
<link rel="stylesheet" type="text/css" href="assets/js/vendor/viewer/viewer.min.css">
|
<link rel="stylesheet" type="text/css" href="assets/js/vendor/viewer/viewer.min.css">
|
||||||
|
</#if>
|
||||||
</head>
|
</head>
|
||||||
<body>
|
<body>
|
||||||
<div class="layui-fluid layui-anim layui-anim-fadein">
|
<div class="layui-fluid layui-anim layui-anim-fadein">
|
||||||
@ -68,6 +70,13 @@
|
|||||||
<div class="layui-input-block">
|
<div class="layui-input-block">
|
||||||
<div id="${field.propertyName}"></div>
|
<div id="${field.propertyName}"></div>
|
||||||
</div>
|
</div>
|
||||||
|
</div>
|
||||||
|
<#elseif field.formFieldValue == "staticSelect">
|
||||||
|
<div class="layui-form-item" pane>
|
||||||
|
<label class="layui-form-label">${field.columnComment}</label>
|
||||||
|
<div class="layui-input-block layui-form" lay-filter="${field.propertyName}CheckboxTemplateBox">
|
||||||
|
<input type="checkbox" name="${field.propertyName}" value="">
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<#elseif field.formFieldValue == "select">
|
<#elseif field.formFieldValue == "select">
|
||||||
<div class="layui-form-item">
|
<div class="layui-form-item">
|
||||||
@ -91,6 +100,13 @@
|
|||||||
<input type="checkbox" name="${field.propertyName}[{{item.selectId}}]" value="{{item.selectId}}" title="{{item.selectName}}">
|
<input type="checkbox" name="${field.propertyName}[{{item.selectId}}]" value="{{item.selectId}}" title="{{item.selectName}}">
|
||||||
{{# } }}
|
{{# } }}
|
||||||
</script>
|
</script>
|
||||||
|
</div>
|
||||||
|
<#elseif field.formFieldValue == "staticRadio">
|
||||||
|
<div class="layui-form-item" pane>
|
||||||
|
<label class="layui-form-label">${field.columnComment}</label>
|
||||||
|
<div class="layui-input-block layui-form">
|
||||||
|
<input type="radio" name="${field.propertyName}" value="">
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<#elseif field.formFieldValue == "radio">
|
<#elseif field.formFieldValue == "radio">
|
||||||
<div class="layui-form-item" pane>
|
<div class="layui-form-item" pane>
|
||||||
@ -281,9 +297,15 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
<#if hasRichText>
|
||||||
<script src="assets/js/vendor/wangEditor/wangEditor.min.js"></script>
|
<script src="assets/js/vendor/wangEditor/wangEditor.min.js"></script>
|
||||||
|
</#if>
|
||||||
|
<#if hasVideo>
|
||||||
<script src="assets/js/vendor/ckplayer/ckplayer/ckplayer.js"></script>
|
<script src="assets/js/vendor/ckplayer/ckplayer/ckplayer.js"></script>
|
||||||
|
</#if>
|
||||||
|
<#if hasImage>
|
||||||
<script src="assets/js/vendor/viewer/viewer.min.js"></script>
|
<script src="assets/js/vendor/viewer/viewer.min.js"></script>
|
||||||
|
</#if>
|
||||||
<script src="assets/layuiadmin/layui/layui.js"></script>
|
<script src="assets/layuiadmin/layui/layui.js"></script>
|
||||||
<script>
|
<script>
|
||||||
layui.config({
|
layui.config({
|
||||||
@ -297,14 +319,19 @@
|
|||||||
var laydate = layui.laydate;
|
var laydate = layui.laydate;
|
||||||
var ${firstLowerTableName}Id = top.restAjax.params(window.location.href).${firstLowerTableName}Id;
|
var ${firstLowerTableName}Id = top.restAjax.params(window.location.href).${firstLowerTableName}Id;
|
||||||
|
|
||||||
|
<#if hasRichText>
|
||||||
var wangEditor = window.wangEditor;
|
var wangEditor = window.wangEditor;
|
||||||
var wangEditorObj = {};
|
var wangEditorObj = {};
|
||||||
|
</#if>
|
||||||
|
<#if hasImage>
|
||||||
var viewerObj = {};
|
var viewerObj = {};
|
||||||
|
</#if>
|
||||||
|
|
||||||
function closeBox() {
|
function closeBox() {
|
||||||
parent.layer.close(parent.layer.getFrameIndex(window.name));
|
parent.layer.close(parent.layer.getFrameIndex(window.name));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
<#if hasFile || hasImage>
|
||||||
function refreshDownloadTemplet(fileName, file) {
|
function refreshDownloadTemplet(fileName, file) {
|
||||||
var dataRander = {};
|
var dataRander = {};
|
||||||
dataRander[fileName] = file;
|
dataRander[fileName] = file;
|
||||||
@ -339,7 +366,9 @@
|
|||||||
top.dialog.msg(data.msg);
|
top.dialog.msg(data.msg);
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
</#if>
|
||||||
|
|
||||||
|
<#if hasVideo>
|
||||||
// 初始化视频
|
// 初始化视频
|
||||||
function initVideo(fileName, data) {
|
function initVideo(fileName, data) {
|
||||||
for(var i = 0, item; item = data[i++];) {
|
for(var i = 0, item; item = data[i++];) {
|
||||||
@ -354,6 +383,7 @@
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
</#if>
|
||||||
|
|
||||||
<#list fieldList! as field>
|
<#list fieldList! as field>
|
||||||
<#if field.formShow>
|
<#if field.formShow>
|
||||||
@ -689,7 +719,7 @@
|
|||||||
// 初始化内容
|
// 初始化内容
|
||||||
function initData() {
|
function initData() {
|
||||||
var loadLayerIndex;
|
var loadLayerIndex;
|
||||||
top.restAjax.get(top.restAjax.path('api/${lowerTableName}/get/{${firstLowerTableName}Id}', [${firstLowerTableName}Id]), {}, null, function(code, data) {
|
top.restAjax.get(top.restAjax.path('api/${requestMappingName}/get/{${firstLowerTableName}Id}', [${firstLowerTableName}Id]), {}, null, function(code, data) {
|
||||||
var dataFormData = {};
|
var dataFormData = {};
|
||||||
for(var i in data) {
|
for(var i in data) {
|
||||||
dataFormData[i] = data[i] +'';
|
dataFormData[i] = data[i] +'';
|
||||||
@ -741,7 +771,7 @@
|
|||||||
</#if>
|
</#if>
|
||||||
</#if>
|
</#if>
|
||||||
</#list>
|
</#list>
|
||||||
top.restAjax.put(top.restAjax.path('api/${lowerTableName}/update/{${firstLowerTableName}Id}', [${firstLowerTableName}Id]), formData.field, null, function(code, data) {
|
top.restAjax.put(top.restAjax.path('api/${requestMappingName}/update/{${firstLowerTableName}Id}', [${firstLowerTableName}Id]), formData.field, null, function(code, data) {
|
||||||
var layerIndex = top.dialog.msg(top.dataMessage.updateSuccess, {
|
var layerIndex = top.dialog.msg(top.dataMessage.updateSuccess, {
|
||||||
time: 0,
|
time: 0,
|
||||||
btn: [top.dataMessage.button.yes, top.dataMessage.button.no],
|
btn: [top.dataMessage.button.yes, top.dataMessage.button.no],
|
||||||
|
Loading…
Reference in New Issue
Block a user