增加PC端与APP页面编辑

This commit is contained in:
wanggeng 2022-03-14 15:27:59 +08:00
parent ec41769eda
commit 6c22b06250
28 changed files with 2572 additions and 382 deletions

View File

@ -5,6 +5,7 @@ import ink.wgink.exceptions.ParamsException;
import ink.wgink.interfaces.consts.ISystemConstant; import ink.wgink.interfaces.consts.ISystemConstant;
import ink.wgink.module.form.enums.design.FormStatusEnum; import ink.wgink.module.form.enums.design.FormStatusEnum;
import ink.wgink.module.form.pojo.dtos.design.FormDTO; import ink.wgink.module.form.pojo.dtos.design.FormDTO;
import ink.wgink.module.form.pojo.vos.design.FormVO;
import ink.wgink.module.form.service.design.IFormService; import ink.wgink.module.form.service.design.IFormService;
import ink.wgink.pojo.ListPage; import ink.wgink.pojo.ListPage;
import ink.wgink.pojo.result.ErrorResult; import ink.wgink.pojo.result.ErrorResult;
@ -61,6 +62,84 @@ public class FormController extends DefaultBaseController {
return new SuccessResult(); return new SuccessResult();
} }
@ApiOperation(value = "修改新增页面代码", notes = "修改新增页面代码接口")
@ApiImplicitParams({
@ApiImplicitParam(name = "formId", value = "表单ID", paramType = "path")
})
@PutMapping("update-save-page-code/{formId}")
public SuccessResult updateSavePageCode(@PathVariable("formId") String formId, @RequestBody FormVO formVO) {
if (StringUtils.isBlank(formVO.getSavePageCode())) {
throw new ParamsException("代码不能为空");
}
formService.updateSavePageCode(formId, formVO.getSavePageCode());
return new SuccessResult();
}
@ApiOperation(value = "修改修改页面代码", notes = "修改修改页面代码接口")
@ApiImplicitParams({
@ApiImplicitParam(name = "formId", value = "表单ID", paramType = "path")
})
@PutMapping("update-update-page-code/{formId}")
public SuccessResult updateUpdatePageCode(@PathVariable("formId") String formId, @RequestBody FormVO formVO) {
if (StringUtils.isBlank(formVO.getUpdatePageCode())) {
throw new ParamsException("代码不能为空");
}
formService.updateUpdatePageCode(formId, formVO.getUpdatePageCode());
return new SuccessResult();
}
@ApiOperation(value = "修改详情页面代码", notes = "修改详情页面代码接口")
@ApiImplicitParams({
@ApiImplicitParam(name = "formId", value = "表单ID", paramType = "path")
})
@PutMapping("update-show-page-code/{formId}")
public SuccessResult updateShowPageCode(@PathVariable("formId") String formId, @RequestBody FormVO formVO) {
if (StringUtils.isBlank(formVO.getShowPageCode())) {
throw new ParamsException("代码不能为空");
}
formService.updateShowPageCode(formId, formVO.getShowPageCode());
return new SuccessResult();
}
@ApiOperation(value = "修改App新增页面代码", notes = "修改App新增页面代码接口")
@ApiImplicitParams({
@ApiImplicitParam(name = "formId", value = "表单ID", paramType = "path")
})
@PutMapping("update-app-save-page-code/{formId}")
public SuccessResult updateAppSavePageCode(@PathVariable("formId") String formId, @RequestBody FormVO formVO) {
if (StringUtils.isBlank(formVO.getAppSavePageCode())) {
throw new ParamsException("代码不能为空");
}
formService.updateAppSavePageCode(formId, formVO.getAppSavePageCode());
return new SuccessResult();
}
@ApiOperation(value = "修改App修改页面代码", notes = "修改App修改页面代码接口")
@ApiImplicitParams({
@ApiImplicitParam(name = "formId", value = "表单ID", paramType = "path")
})
@PutMapping("update-app-update-page-code/{formId}")
public SuccessResult updateAppUpdatePageCode(@PathVariable("formId") String formId, @RequestBody FormVO formVO) {
if (StringUtils.isBlank(formVO.getAppUpdatePageCode())) {
throw new ParamsException("代码不能为空");
}
formService.updateAppUpdatePageCode(formId, formVO.getAppUpdatePageCode());
return new SuccessResult();
}
@ApiOperation(value = "修改App详情页面代码", notes = "修改App详情页面代码接口")
@ApiImplicitParams({
@ApiImplicitParam(name = "formId", value = "表单ID", paramType = "path")
})
@PutMapping("update-app-show-page-code/{formId}")
public SuccessResult updateAppShowPageCode(@PathVariable("formId") String formId, @RequestBody FormVO formVO) {
if (StringUtils.isBlank(formVO.getAppShowPageCode())) {
throw new ParamsException("代码不能为空");
}
formService.updateAppShowPageCode(formId, formVO.getAppShowPageCode());
return new SuccessResult();
}
@ApiOperation(value = "表单列表", notes = "表单列表接口") @ApiOperation(value = "表单列表", notes = "表单列表接口")
@ApiResponses({@ApiResponse(code = 400, message = "请求失败", response = ErrorResult.class)}) @ApiResponses({@ApiResponse(code = 400, message = "请求失败", response = ErrorResult.class)})
@GetMapping("list") @GetMapping("list")
@ -79,14 +158,82 @@ public class FormController extends DefaultBaseController {
return formService.get(formId); return formService.get(formId);
} }
@ApiOperation(value = "查看code", notes = "查看code接口") @ApiOperation(value = "新增页面代码", notes = "新增页面代码接口")
@ApiImplicitParams({ @ApiImplicitParams({
@ApiImplicitParam(name = "formId", value = "表单ID", paramType = "path") @ApiImplicitParam(name = "formCode", value = "表单编码", paramType = "path"),
@ApiImplicitParam(name = "formVersion", value = "表单版本", paramType = "path")
}) })
@ApiResponses({@ApiResponse(code = 400, message = "请求失败", response = ErrorResult.class)}) @ApiResponses({@ApiResponse(code = 400, message = "请求失败", response = ErrorResult.class)})
@GetMapping("get-form-page-code/{formId}") @GetMapping("get-save-page-code/code/{formCode}/version/{formVersion}")
public FormDTO getFormPageCode(@PathVariable("formId") String formId) { public FormDTO getSavePageCode(@PathVariable("formCode") String formCode, @PathVariable("formVersion") Integer formVersion) {
return formService.getFormPageCode(formId); FormDTO formDTO = new FormDTO();
formDTO.setSavePageCode(formService.getSavePageCodeByCodeAndVersion(formCode, formVersion));
return formDTO;
}
@ApiOperation(value = "修改页面代码", notes = "修改页面代码接口")
@ApiImplicitParams({
@ApiImplicitParam(name = "formCode", value = "表单编码", paramType = "path"),
@ApiImplicitParam(name = "formVersion", value = "表单版本", paramType = "path")
})
@ApiResponses({@ApiResponse(code = 400, message = "请求失败", response = ErrorResult.class)})
@GetMapping("get-update-page-code/code/{formCode}/version/{formVersion}")
public FormDTO getUpdatePageCode(@PathVariable("formCode") String formCode, @PathVariable("formVersion") Integer formVersion) {
FormDTO formDTO = new FormDTO();
formDTO.setUpdatePageCode(formService.getUpdatePageCodeByCodeAndVersion(formCode, formVersion));
return formDTO;
}
@ApiOperation(value = "详情页面代码", notes = "详情页面代码接口")
@ApiImplicitParams({
@ApiImplicitParam(name = "formCode", value = "表单编码", paramType = "path"),
@ApiImplicitParam(name = "formVersion", value = "表单版本", paramType = "path")
})
@ApiResponses({@ApiResponse(code = 400, message = "请求失败", response = ErrorResult.class)})
@GetMapping("get-show-page-code/code/{formCode}/version/{formVersion}")
public FormDTO getShowPageCode(@PathVariable("formCode") String formCode, @PathVariable("formVersion") Integer formVersion) {
FormDTO formDTO = new FormDTO();
formDTO.setShowPageCode(formService.getShowPageCodeByCodeAndVersion(formCode, formVersion));
return formDTO;
}
@ApiOperation(value = "APP新增页面代码", notes = "APP新增页面代码接口")
@ApiImplicitParams({
@ApiImplicitParam(name = "formCode", value = "表单编码", paramType = "path"),
@ApiImplicitParam(name = "formVersion", value = "表单版本", paramType = "path")
})
@ApiResponses({@ApiResponse(code = 400, message = "请求失败", response = ErrorResult.class)})
@GetMapping("get-app-save-page-code/code/{formCode}/version/{formVersion}")
public FormDTO getAppSavePageCode(@PathVariable("formCode") String formCode, @PathVariable("formVersion") Integer formVersion) {
FormDTO formDTO = new FormDTO();
formDTO.setAppSavePageCode(formService.getAppSavePageCodeByCodeAndVersion(formCode, formVersion));
return formDTO;
}
@ApiOperation(value = "修改页面代码", notes = "修改页面代码接口")
@ApiImplicitParams({
@ApiImplicitParam(name = "formCode", value = "表单编码", paramType = "path"),
@ApiImplicitParam(name = "formVersion", value = "表单版本", paramType = "path")
})
@ApiResponses({@ApiResponse(code = 400, message = "请求失败", response = ErrorResult.class)})
@GetMapping("get-app-update-page-code/code/{formCode}/version/{formVersion}")
public FormDTO getAppUpdatePageCode(@PathVariable("formCode") String formCode, @PathVariable("formVersion") Integer formVersion) {
FormDTO formDTO = new FormDTO();
formDTO.setAppUpdatePageCode(formService.getAppUpdatePageCodeByCodeAndVersion(formCode, formVersion));
return formDTO;
}
@ApiOperation(value = "详情页面代码", notes = "详情页面代码接口")
@ApiImplicitParams({
@ApiImplicitParam(name = "formCode", value = "表单编码", paramType = "path"),
@ApiImplicitParam(name = "formVersion", value = "表单版本", paramType = "path")
})
@ApiResponses({@ApiResponse(code = 400, message = "请求失败", response = ErrorResult.class)})
@GetMapping("get-app-show-page-code/code/{formCode}/version/{formVersion}")
public FormDTO getAppShowPageCode(@PathVariable("formCode") String formCode, @PathVariable("formVersion") Integer formVersion) {
FormDTO formDTO = new FormDTO();
formDTO.setAppShowPageCode(formService.getAppShowPageCodeByCodeAndVersion(formCode, formVersion));
return formDTO;
} }
@ApiOperation(value = "查看data", notes = "查看data接口") @ApiOperation(value = "查看data", notes = "查看data接口")

View File

@ -24,9 +24,39 @@ public class FormRouteController {
return mv; return mv;
} }
@GetMapping("get-form-page-code") @GetMapping("get-save-page-code")
public ModelAndView getFormPageCode() { public ModelAndView getSavePageCode() {
ModelAndView mv = new ModelAndView("form/get-form-page-code"); ModelAndView mv = new ModelAndView("form/get-save-page-code");
return mv;
}
@GetMapping("get-update-page-code")
public ModelAndView getUpdatePageCode() {
ModelAndView mv = new ModelAndView("form/get-update-page-code");
return mv;
}
@GetMapping("get-show-page-code")
public ModelAndView getShowPageCode() {
ModelAndView mv = new ModelAndView("form/get-show-page-code");
return mv;
}
@GetMapping("get-app-save-page-code")
public ModelAndView getAppSavePageCode() {
ModelAndView mv = new ModelAndView("form/get-app-save-page-code");
return mv;
}
@GetMapping("get-app-update-page-code")
public ModelAndView getAppUpdatePageCode() {
ModelAndView mv = new ModelAndView("form/get-app-update-page-code");
return mv;
}
@GetMapping("get-app-show-page-code")
public ModelAndView getAppShowPageCode() {
ModelAndView mv = new ModelAndView("form/get-app-show-page-code");
return mv; return mv;
} }

View File

@ -1,7 +1,7 @@
package ink.wgink.module.form.controller.route.report; package ink.wgink.module.form.controller.route.report;
import ink.wgink.interfaces.consts.ISystemConstant; import ink.wgink.interfaces.consts.ISystemConstant;
import ink.wgink.module.form.service.report.IFormReportService; import ink.wgink.module.form.service.report.IFormReportRouteService;
import io.swagger.annotations.Api; import io.swagger.annotations.Api;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller; import org.springframework.stereotype.Controller;
@ -26,7 +26,7 @@ import javax.servlet.http.HttpSession;
public class FormReportRouteController { public class FormReportRouteController {
@Autowired @Autowired
private IFormReportService formReportService; private IFormReportRouteService formReportService;
@GetMapping("save/code/{formCode}/version/{formVersion}") @GetMapping("save/code/{formCode}/version/{formVersion}")
public void get(@PathVariable("formCode") String formCode, public void get(@PathVariable("formCode") String formCode,
@ -34,7 +34,25 @@ public class FormReportRouteController {
HttpSession httpSession, HttpSession httpSession,
HttpServletRequest httpServletRequest, HttpServletRequest httpServletRequest,
HttpServletResponse httpServletResponse) { HttpServletResponse httpServletResponse) {
formReportService.get(formCode, formVersion, httpSession, httpServletRequest, httpServletResponse); formReportService.save(formCode, formVersion, httpSession, httpServletRequest, httpServletResponse);
}
@GetMapping("update/code/{formCode}/version/{formVersion}")
public void update(@PathVariable("formCode") String formCode,
@PathVariable("formVersion") Integer formVersion,
HttpSession httpSession,
HttpServletRequest httpServletRequest,
HttpServletResponse httpServletResponse) {
formReportService.update(formCode, formVersion, httpSession, httpServletRequest, httpServletResponse);
}
@GetMapping("show/code/{formCode}/version/{formVersion}")
public void show(@PathVariable("formCode") String formCode,
@PathVariable("formVersion") Integer formVersion,
HttpSession httpSession,
HttpServletRequest httpServletRequest,
HttpServletResponse httpServletResponse) {
formReportService.show(formCode, formVersion, httpSession, httpServletRequest, httpServletResponse);
} }
} }

View File

@ -25,8 +25,6 @@ public interface IFormDao extends IInitBaseTable {
void update(Map<String, Object> params) throws UpdateException; void update(Map<String, Object> params) throws UpdateException;
void updateStatus(Map<String, Object> params) throws UpdateException;
FormDTO get(Map<String, Object> params) throws SearchException; FormDTO get(Map<String, Object> params) throws SearchException;
FormPO getPO(Map<String, Object> params) throws SearchException; FormPO getPO(Map<String, Object> params) throws SearchException;
@ -37,4 +35,15 @@ public interface IFormDao extends IInitBaseTable {
List<FormDTO> listPO(Map<String, Object> params) throws SearchException; List<FormDTO> listPO(Map<String, Object> params) throws SearchException;
String getSavePageCodeByCodeAndVersion(Map<String, Object> params) throws SearchException;
String getUpdatePageCodeByCodeAndVersion(Map<String, Object> params) throws SearchException;
String getShowPageCodeByCodeAndVersion(Map<String, Object> params) throws SearchException;
String getAppSavePageCodeByCodeAndVersion(Map<String, Object> params) throws SearchException;
String getAppUpdatePageCodeByCodeAndVersion(Map<String, Object> params) throws SearchException;
String getAppShowPageCodeByCodeAndVersion(Map<String, Object> params) throws SearchException;
} }

View File

@ -13,7 +13,12 @@ public class FormPO implements Serializable {
private String formType; private String formType;
private String formStatus; private String formStatus;
private String formSourceData; private String formSourceData;
private String formPageCode; private String savePageCode;
private String updatePageCode;
private String showPageCode;
private String appSavePageCode;
private String appUpdatePageCode;
private String appShowPageCode;
private String formTableName; private String formTableName;
private Integer formVersion; private Integer formVersion;
private String creator; private String creator;
@ -86,12 +91,52 @@ public class FormPO implements Serializable {
this.formSourceData = formSourceData; this.formSourceData = formSourceData;
} }
public String getFormPageCode() { public String getSavePageCode() {
return formPageCode; return savePageCode == null ? "" : savePageCode.trim();
} }
public void setFormPageCode(String formPageCode) { public void setSavePageCode(String savePageCode) {
this.formPageCode = formPageCode; this.savePageCode = savePageCode;
}
public String getUpdatePageCode() {
return updatePageCode == null ? "" : updatePageCode.trim();
}
public void setUpdatePageCode(String updatePageCode) {
this.updatePageCode = updatePageCode;
}
public String getShowPageCode() {
return showPageCode == null ? "" : showPageCode.trim();
}
public void setShowPageCode(String showPageCode) {
this.showPageCode = showPageCode;
}
public String getAppSavePageCode() {
return appSavePageCode == null ? "" : appSavePageCode.trim();
}
public void setAppSavePageCode(String appSavePageCode) {
this.appSavePageCode = appSavePageCode;
}
public String getAppUpdatePageCode() {
return appUpdatePageCode == null ? "" : appUpdatePageCode.trim();
}
public void setAppUpdatePageCode(String appUpdatePageCode) {
this.appUpdatePageCode = appUpdatePageCode;
}
public String getAppShowPageCode() {
return appShowPageCode == null ? "" : appShowPageCode.trim();
}
public void setAppShowPageCode(String appShowPageCode) {
this.appShowPageCode = appShowPageCode;
} }
public String getFormTableName() { public String getFormTableName() {

View File

@ -15,7 +15,12 @@ public class FormDesignVO {
private String formSummary; private String formSummary;
private Integer formVersion; private Integer formVersion;
private JSONArray data; private JSONArray data;
private String code; private String savePageCode;
private String updatePageCode;
private String showPageCode;
private String appSavePageCode;
private String appUpdatePageCode;
private String appShowPageCode;
public String getFormCode() { public String getFormCode() {
return formCode == null ? "" : formCode.trim(); return formCode == null ? "" : formCode.trim();
@ -57,11 +62,51 @@ public class FormDesignVO {
this.data = data; this.data = data;
} }
public String getCode() { public String getSavePageCode() {
return code; return savePageCode == null ? "" : savePageCode.trim();
} }
public void setCode(String code) { public void setSavePageCode(String savePageCode) {
this.code = code; this.savePageCode = savePageCode;
}
public String getUpdatePageCode() {
return updatePageCode == null ? "" : updatePageCode.trim();
}
public void setUpdatePageCode(String updatePageCode) {
this.updatePageCode = updatePageCode;
}
public String getShowPageCode() {
return showPageCode == null ? "" : showPageCode.trim();
}
public void setShowPageCode(String showPageCode) {
this.showPageCode = showPageCode;
}
public String getAppSavePageCode() {
return appSavePageCode == null ? "" : appSavePageCode.trim();
}
public void setAppSavePageCode(String appSavePageCode) {
this.appSavePageCode = appSavePageCode;
}
public String getAppUpdatePageCode() {
return appUpdatePageCode == null ? "" : appUpdatePageCode.trim();
}
public void setAppUpdatePageCode(String appUpdatePageCode) {
this.appUpdatePageCode = appUpdatePageCode;
}
public String getAppShowPageCode() {
return appShowPageCode == null ? "" : appShowPageCode.trim();
}
public void setAppShowPageCode(String appShowPageCode) {
this.appShowPageCode = appShowPageCode;
} }
} }

View File

@ -18,12 +18,22 @@ public class FormVO {
private String formStatus; private String formStatus;
@ApiModelProperty(name = "formSourceData", value = "表单源代码") @ApiModelProperty(name = "formSourceData", value = "表单源代码")
private String formSourceData; private String formSourceData;
@ApiModelProperty(name = "formPageCode", value = "表单页面代码")
private String formPageCode;
@ApiModelProperty(name = "formTableName", value = "表单表名") @ApiModelProperty(name = "formTableName", value = "表单表名")
private String formTableName; private String formTableName;
@ApiModelProperty(name = "formVersion", value = "表单版本") @ApiModelProperty(name = "formVersion", value = "表单版本")
private Integer formVersion; private Integer formVersion;
@ApiModelProperty(name = "savePageCode", value = "新增页面代码")
private String savePageCode;
@ApiModelProperty(name = "updatePageCode", value = "修改页面代码")
private String updatePageCode;
@ApiModelProperty(name = "showPageCode", value = "展示页面代码")
private String showPageCode;
@ApiModelProperty(name = "appSavePageCode", value = "APP新增页面代码")
private String appSavePageCode;
@ApiModelProperty(name = "appUpdatePageCode", value = "APP修改页面代码")
private String appUpdatePageCode;
@ApiModelProperty(name = "appShowPageCode", value = "APP展示页面代码")
private String appShowPageCode;
public String getFormCode() { public String getFormCode() {
return formCode; return formCode;
@ -73,14 +83,6 @@ public class FormVO {
this.formSourceData = formSourceData; this.formSourceData = formSourceData;
} }
public String getFormPageCode() {
return formPageCode;
}
public void setFormPageCode(String formPageCode) {
this.formPageCode = formPageCode;
}
public String getFormTableName() { public String getFormTableName() {
return formTableName; return formTableName;
} }
@ -96,4 +98,52 @@ public class FormVO {
public void setFormVersion(Integer formVersion) { public void setFormVersion(Integer formVersion) {
this.formVersion = formVersion; this.formVersion = formVersion;
} }
public String getSavePageCode() {
return savePageCode == null ? "" : savePageCode.trim();
}
public void setSavePageCode(String savePageCode) {
this.savePageCode = savePageCode;
}
public String getUpdatePageCode() {
return updatePageCode == null ? "" : updatePageCode.trim();
}
public void setUpdatePageCode(String updatePageCode) {
this.updatePageCode = updatePageCode;
}
public String getShowPageCode() {
return showPageCode == null ? "" : showPageCode.trim();
}
public void setShowPageCode(String showPageCode) {
this.showPageCode = showPageCode;
}
public String getAppSavePageCode() {
return appSavePageCode == null ? "" : appSavePageCode.trim();
}
public void setAppSavePageCode(String appSavePageCode) {
this.appSavePageCode = appSavePageCode;
}
public String getAppUpdatePageCode() {
return appUpdatePageCode == null ? "" : appUpdatePageCode.trim();
}
public void setAppUpdatePageCode(String appUpdatePageCode) {
this.appUpdatePageCode = appUpdatePageCode;
}
public String getAppShowPageCode() {
return appShowPageCode == null ? "" : appShowPageCode.trim();
}
public void setAppShowPageCode(String appShowPageCode) {
this.appShowPageCode = appShowPageCode;
}
} }

View File

@ -65,6 +65,48 @@ public interface IFormService {
*/ */
void updateStatus(String formId, String formStatus); void updateStatus(String formId, String formStatus);
/**
* 修改新增页面代码
* @param formId
* @param savePageCode
*/
void updateSavePageCode(String formId, String savePageCode);
/**
* 修改修改页面代码
* @param formId
* @param updatePageCode
*/
void updateUpdatePageCode(String formId, String updatePageCode);
/**
* 修改查看页面代码
* @param formId
* @param showPageCode
*/
void updateShowPageCode(String formId, String showPageCode);
/**
* 修改App新增页面代码
* @param formId
* @param appSavePageCode
*/
void updateAppSavePageCode(String formId, String appSavePageCode);
/**
* 修改App修改页面代码
* @param formId
* @param appUpdatePageCode
*/
void updateAppUpdatePageCode(String formId, String appUpdatePageCode);
/**
* 修改App详情页面代码
* @param formId
* @param appShowPageCode
*/
void updateAppShowPageCode(String formId, String appShowPageCode);
/** /**
* 详情 * 详情
* *
@ -115,12 +157,58 @@ public interface IFormService {
FormPO getPOByCodeAndVersion(String formCode, Integer formVersion); FormPO getPOByCodeAndVersion(String formCode, Integer formVersion);
/** /**
* 查看代码 * 新增页面代码
* *
* @param formId * @param formCode
* @param formVersion
* @return * @return
*/ */
FormDTO getFormPageCode(String formId); String getSavePageCodeByCodeAndVersion(String formCode, Integer formVersion);
/**
* 修改页面代码
*
* @param formCode
* @param formVersion
* @return
*/
String getUpdatePageCodeByCodeAndVersion(String formCode, Integer formVersion);
/**
* 详情页面代码
*
* @param formCode
* @param formVersion
* @return
*/
String getShowPageCodeByCodeAndVersion(String formCode, Integer formVersion);
/**
* APP新增页面代码
*
* @param formCode
* @param formVersion
* @return
*/
String getAppSavePageCodeByCodeAndVersion(String formCode, Integer formVersion);
/**
* APP修改页面代码
*
* @param formCode
* @param formVersion
* @return
*/
String getAppUpdatePageCodeByCodeAndVersion(String formCode, Integer formVersion);
/**
* APP详情页面代码
*
* @param formCode
* @param formVersion
* @return
*/
String getAppShowPageCodeByCodeAndVersion(String formCode, Integer formVersion);
/** /**
* 查看data * 查看data
@ -161,4 +249,5 @@ public interface IFormService {
*/ */
SuccessResultList<List<FormDTO>> listPage(ListPage page); SuccessResultList<List<FormDTO>> listPage(ListPage page);
} }

View File

@ -6,8 +6,6 @@ import com.alibaba.fastjson.JSONObject;
import ink.wgink.common.base.DefaultBaseService; import ink.wgink.common.base.DefaultBaseService;
import ink.wgink.exceptions.ParamsException; import ink.wgink.exceptions.ParamsException;
import ink.wgink.exceptions.PropertiesException; import ink.wgink.exceptions.PropertiesException;
import ink.wgink.exceptions.base.SystemException;
import ink.wgink.interfaces.consts.ISystemConstant;
import ink.wgink.module.form.consts.IFormDesignConst; import ink.wgink.module.form.consts.IFormDesignConst;
import ink.wgink.module.form.enums.design.FormFieldTypeEnum; import ink.wgink.module.form.enums.design.FormFieldTypeEnum;
import ink.wgink.module.form.enums.design.FormStatusEnum; import ink.wgink.module.form.enums.design.FormStatusEnum;
@ -24,7 +22,6 @@ import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import java.io.*;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.List; import java.util.List;
@ -78,7 +75,12 @@ public class FormDesignServiceImpl extends DefaultBaseService implements IFormDe
formVO.setFormStatus(FormStatusEnum.ACTIVE.getValue()); formVO.setFormStatus(FormStatusEnum.ACTIVE.getValue());
formVO.setFormVersion(version); formVO.setFormVersion(version);
formVO.setFormSourceData(JSON.toJSONString(formDesignVO.getData())); formVO.setFormSourceData(JSON.toJSONString(formDesignVO.getData()));
formVO.setFormPageCode(formDesignVO.getCode()); formVO.setSavePageCode(formDesignVO.getSavePageCode());
formVO.setUpdatePageCode(formDesignVO.getUpdatePageCode());
formVO.setShowPageCode(formDesignVO.getShowPageCode());
formVO.setAppSavePageCode(formDesignVO.getAppSavePageCode());
formVO.setAppUpdatePageCode(formDesignVO.getAppUpdatePageCode());
formVO.setAppShowPageCode(formDesignVO.getAppShowPageCode());
String formId = formService.saveReturnId(formVO); String formId = formService.saveReturnId(formVO);
LOG.debug("保存表单字段"); LOG.debug("保存表单字段");
@ -88,27 +90,8 @@ public class FormDesignServiceImpl extends DefaultBaseService implements IFormDe
}); });
LOG.debug("建表"); LOG.debug("建表");
String createTableSQL = getCreateTableSQL(tableName, formFields); String createTableSQL = getCreateTableSQL(tableName, formDesignVO.getFormName(), formFields);
formService.createDynamicForm(createTableSQL); formService.createDynamicForm(createTableSQL);
LOG.debug("创建静态页面");
File formFolder = new File(formProperties.getTemplatePath());
if (!formFolder.exists()) {
formFolder.mkdirs();
}
try (
FileOutputStream fileOutputStream = new FileOutputStream(formProperties.getTemplatePath() + formCode + ".ftl");
OutputStreamWriter outputStreamWriter = new OutputStreamWriter(fileOutputStream, ISystemConstant.CHARSET_UTF8);
BufferedWriter bufferedWriter = new BufferedWriter(outputStreamWriter)
) {
bufferedWriter.write(formDesignVO.getCode());
bufferedWriter.flush();
} catch (IOException e) {
LOG.error(e.getMessage(), e);
throw new SystemException("创建模板文件异常");
}
} }
/** /**
@ -118,7 +101,7 @@ public class FormDesignServiceImpl extends DefaultBaseService implements IFormDe
* @param formFieldVOs * @param formFieldVOs
* @return * @return
*/ */
private String getCreateTableSQL(String tableName, List<FormFieldVO> formFieldVOs) { private String getCreateTableSQL(String tableName, String formName, List<FormFieldVO> formFieldVOs) {
StringBuffer createTableSB = new StringBuffer("CREATE TABLE `").append(tableName).append("`("); StringBuffer createTableSB = new StringBuffer("CREATE TABLE `").append(tableName).append("`(");
createTableSB.append("`id` bigint(20) unsigned NOT NULL AUTO_INCREMENT,"); createTableSB.append("`id` bigint(20) unsigned NOT NULL AUTO_INCREMENT,");
createTableSB.append("`uid` char(36) NOT NULL,"); createTableSB.append("`uid` char(36) NOT NULL,");
@ -131,7 +114,7 @@ public class FormDesignServiceImpl extends DefaultBaseService implements IFormDe
createTableSB.append("`gmt_modified` datetime DEFAULT NULL,"); createTableSB.append("`gmt_modified` datetime DEFAULT NULL,");
createTableSB.append("`is_delete` int(2) DEFAULT '0',"); createTableSB.append("`is_delete` int(2) DEFAULT '0',");
createTableSB.append("PRIMARY KEY (`id`)"); createTableSB.append("PRIMARY KEY (`id`)");
createTableSB.append(") ENGINE=InnoDB DEFAULT CHARSET=utf8;"); createTableSB.append(") ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='").append(formName).append("';");
return createTableSB.toString(); return createTableSB.toString();
} }

View File

@ -77,7 +77,61 @@ public class FormServiceImpl extends DefaultBaseService implements IFormService
params.put("formId", formId); params.put("formId", formId);
params.put("formStatus", formStatus); params.put("formStatus", formStatus);
setUpdateInfo(params); setUpdateInfo(params);
formDao.updateStatus(params); formDao.update(params);
}
@Override
public void updateSavePageCode(String formId, String savePageCode) {
Map<String, Object> params = getHashMap(4);
params.put("formId", formId);
params.put("savePageCode", savePageCode);
setUpdateInfo(params);
formDao.update(params);
}
@Override
public void updateUpdatePageCode(String formId, String updatePageCode) {
Map<String, Object> params = getHashMap(4);
params.put("formId", formId);
params.put("updatePageCode", updatePageCode);
setUpdateInfo(params);
formDao.update(params);
}
@Override
public void updateShowPageCode(String formId, String showPageCode) {
Map<String, Object> params = getHashMap(4);
params.put("formId", formId);
params.put("showPageCode", showPageCode);
setUpdateInfo(params);
formDao.update(params);
}
@Override
public void updateAppSavePageCode(String formId, String appSavePageCode) {
Map<String, Object> params = getHashMap(4);
params.put("formId", formId);
params.put("appSavePageCode", appSavePageCode);
setUpdateInfo(params);
formDao.update(params);
}
@Override
public void updateAppUpdatePageCode(String formId, String appUpdatePageCode) {
Map<String, Object> params = getHashMap(4);
params.put("formId", formId);
params.put("appUpdatePageCode", appUpdatePageCode);
setUpdateInfo(params);
formDao.update(params);
}
@Override
public void updateAppShowPageCode(String formId, String appShowPageCode) {
Map<String, Object> params = getHashMap(4);
params.put("formId", formId);
params.put("appShowPageCode", appShowPageCode);
setUpdateInfo(params);
formDao.update(params);
} }
@Override @Override
@ -122,11 +176,51 @@ public class FormServiceImpl extends DefaultBaseService implements IFormService
} }
@Override @Override
public FormDTO getFormPageCode(String formId) { public String getSavePageCodeByCodeAndVersion(String formCode, Integer formVersion) {
FormPO formPO = getPO(formId); Map<String, Object> params = getHashMap(4);
FormDTO formDTO = new FormDTO(); params.put("formCode", formCode);
formDTO.setFormPageCode(formPO.getFormPageCode()); params.put("formVersion", formVersion);
return formDTO; return formDao.getSavePageCodeByCodeAndVersion(params);
}
@Override
public String getUpdatePageCodeByCodeAndVersion(String formCode, Integer formVersion) {
Map<String, Object> params = getHashMap(4);
params.put("formCode", formCode);
params.put("formVersion", formVersion);
return formDao.getUpdatePageCodeByCodeAndVersion(params);
}
@Override
public String getShowPageCodeByCodeAndVersion(String formCode, Integer formVersion) {
Map<String, Object> params = getHashMap(4);
params.put("formCode", formCode);
params.put("formVersion", formVersion);
return formDao.getShowPageCodeByCodeAndVersion(params);
}
@Override
public String getAppSavePageCodeByCodeAndVersion(String formCode, Integer formVersion) {
Map<String, Object> params = getHashMap(4);
params.put("formCode", formCode);
params.put("formVersion", formVersion);
return formDao.getAppSavePageCodeByCodeAndVersion(params);
}
@Override
public String getAppUpdatePageCodeByCodeAndVersion(String formCode, Integer formVersion) {
Map<String, Object> params = getHashMap(4);
params.put("formCode", formCode);
params.put("formVersion", formVersion);
return formDao.getAppUpdatePageCodeByCodeAndVersion(params);
}
@Override
public String getAppShowPageCodeByCodeAndVersion(String formCode, Integer formVersion) {
Map<String, Object> params = getHashMap(4);
params.put("formCode", formCode);
params.put("formVersion", formVersion);
return formDao.getAppShowPageCodeByCodeAndVersion(params);
} }
@Override @Override

View File

@ -0,0 +1,49 @@
package ink.wgink.module.form.service.report;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
/**
* @ClassName: IFormReportService
* @Description: 表单上报
* @Author: wanggeng
* @Date: 2022/3/10 7:33 PM
* @Version: 1.0
*/
public interface IFormReportRouteService {
/**
* 新增页面
*
* @param formCode
* @param formVersion
* @param httpSession
* @param httpServletRequest
* @param httpServletResponse
*/
void save(String formCode, Integer formVersion, HttpSession httpSession, HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse);
/**
* 修改页面
*
* @param formCode
* @param formVersion
* @param httpSession
* @param httpServletRequest
* @param httpServletResponse
*/
void update(String formCode, Integer formVersion, HttpSession httpSession, HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse);
/**
* 详情页面
*
* @param formCode
* @param formVersion
* @param httpSession
* @param httpServletRequest
* @param httpServletResponse
*/
void show(String formCode, Integer formVersion, HttpSession httpSession, HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse);
}

View File

@ -1,26 +0,0 @@
package ink.wgink.module.form.service.report;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
/**
* @ClassName: IFormReportService
* @Description: 表单上报
* @Author: wanggeng
* @Date: 2022/3/10 7:33 PM
* @Version: 1.0
*/
public interface IFormReportService {
/**
* 打开页面
*
* @param formCode
* @param formVersion
* @param httpSession
* @param httpServletRequest
* @param httpServletResponse
*/
void get(String formCode, Integer formVersion, HttpSession httpSession, HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse);
}

View File

@ -10,7 +10,7 @@ import ink.wgink.interfaces.consts.ISystemConstant;
import ink.wgink.module.form.enums.design.FormStatusEnum; import ink.wgink.module.form.enums.design.FormStatusEnum;
import ink.wgink.module.form.pojo.pos.design.FormPO; import ink.wgink.module.form.pojo.pos.design.FormPO;
import ink.wgink.module.form.service.design.IFormService; import ink.wgink.module.form.service.design.IFormService;
import ink.wgink.module.form.service.report.IFormReportService; import ink.wgink.module.form.service.report.IFormReportRouteService;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.HttpStatus; import org.springframework.http.HttpStatus;
@ -32,7 +32,7 @@ import java.util.Map;
* @Version: 1.0 * @Version: 1.0
*/ */
@Service @Service
public class FormReportServiceImpl extends DefaultBaseService implements IFormReportService { public class FormReportRouteServiceImpl extends DefaultBaseService implements IFormReportRouteService {
@Autowired @Autowired
private FreeMarkerConfigurer freeMarkerConfigurer; private FreeMarkerConfigurer freeMarkerConfigurer;
@ -40,7 +40,7 @@ public class FormReportServiceImpl extends DefaultBaseService implements IFormRe
private IFormService formService; private IFormService formService;
@Override @Override
public void get(String formCode, Integer formVersion, HttpSession httpSession, HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse) { public void save(String formCode, Integer formVersion, HttpSession httpSession, HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse) {
FormPO formPO = formService.getPOByCodeAndVersion(formCode, formVersion); FormPO formPO = formService.getPOByCodeAndVersion(formCode, formVersion);
if (formPO == null) { if (formPO == null) {
httpServletResponse.setStatus(HttpStatus.NOT_FOUND.value()); httpServletResponse.setStatus(HttpStatus.NOT_FOUND.value());
@ -53,9 +53,11 @@ public class FormReportServiceImpl extends DefaultBaseService implements IFormRe
} }
httpServletResponse.setContentType("text/html; charset=" + ISystemConstant.CHARSET_UTF8); httpServletResponse.setContentType("text/html; charset=" + ISystemConstant.CHARSET_UTF8);
try { try {
Template template = getTemplate(formCode, formPO.getFormPageCode()); Template template = getTemplate(formCode, formPO.getSavePageCode());
PrintWriter out = httpServletResponse.getWriter(); PrintWriter out = httpServletResponse.getWriter();
Map<String, Object> modal = getHashMap(2); Map<String, Object> modal = getHashMap(2);
modal.put("contextPath", httpServletRequest.getContextPath() + "/");
modal.put("formName", formPO.getFormName());
template.process(modal, out); template.process(modal, out);
} catch (IOException e) { } catch (IOException e) {
httpServletResponse.setStatus(HttpStatus.NOT_FOUND.value()); httpServletResponse.setStatus(HttpStatus.NOT_FOUND.value());
@ -65,6 +67,16 @@ public class FormReportServiceImpl extends DefaultBaseService implements IFormRe
} }
} }
@Override
public void update(String formCode, Integer formVersion, HttpSession httpSession, HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse) {
}
@Override
public void show(String formCode, Integer formVersion, HttpSession httpSession, HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse) {
}
/** /**
* 获取配置 * 获取配置
* *

View File

@ -11,7 +11,12 @@
<result column="form_type" property="formType"/> <result column="form_type" property="formType"/>
<result column="form_status" property="formStatus"/> <result column="form_status" property="formStatus"/>
<result column="form_source_data" property="formSourceData"/> <result column="form_source_data" property="formSourceData"/>
<result column="form_page_code" property="formPageCode"/> <result column="save_page_code" property="savePageCode"/>
<result column="update_page_code" property="updatePageCode"/>
<result column="show_page_code" property="showPageCode"/>
<result column="app_save_page_code" property="appSavePageCode"/>
<result column="app_update_page_code" property="appUpdatePageCode"/>
<result column="app_show_page_code" property="appShowPageCode"/>
<result column="form_table_name" property="formTableName"/> <result column="form_table_name" property="formTableName"/>
<result column="form_version" property="formVersion"/> <result column="form_version" property="formVersion"/>
<result column="creator" property="creator"/> <result column="creator" property="creator"/>
@ -29,7 +34,12 @@
<result column="form_type" property="formType"/> <result column="form_type" property="formType"/>
<result column="form_status" property="formStatus"/> <result column="form_status" property="formStatus"/>
<result column="form_source_data" property="formSourceData"/> <result column="form_source_data" property="formSourceData"/>
<result column="form_page_code" property="formPageCode"/> <result column="save_page_code" property="savePageCode"/>
<result column="update_page_code" property="updatePageCode"/>
<result column="show_page_code" property="showPageCode"/>
<result column="app_save_page_code" property="appSavePageCode"/>
<result column="app_update_page_code" property="appUpdatePageCode"/>
<result column="app_show_page_code" property="appShowPageCode"/>
<result column="form_table_name" property="formTableName"/> <result column="form_table_name" property="formTableName"/>
<result column="form_version" property="formVersion"/> <result column="form_version" property="formVersion"/>
<result column="gmt_create" property="gmtCreate"/> <result column="gmt_create" property="gmtCreate"/>
@ -46,7 +56,12 @@
`form_type` varchar(20) DEFAULT NULL COMMENT '表单类型default、oa', `form_type` varchar(20) DEFAULT NULL COMMENT '表单类型default、oa',
`form_status` varchar(20) DEFAULT NULL COMMENT '表单状态unactive、active', `form_status` varchar(20) DEFAULT NULL COMMENT '表单状态unactive、active',
`form_source_data` longtext COMMENT '表单页面源数据', `form_source_data` longtext COMMENT '表单页面源数据',
`form_page_code` longtext COMMENT '表单页面代码', `save_page_code` longtext COMMENT '新增页面代码',
`update_page_code` longtext COMMENT '更新页面代码',
`show_page_code` longtext COMMENT '展示页面代码',
`app_save_page_code` longtext COMMENT 'APP新增页面代码',
`app_update_page_code` longtext COMMENT 'APP更新页面代码',
`app_show_page_code` longtext COMMENT 'APP展示页面代码',
`form_table_name` varchar(255) DEFAULT NULL COMMENT '表单表名', `form_table_name` varchar(255) DEFAULT NULL COMMENT '表单表名',
`form_version` int(11) DEFAULT NULL COMMENT '表单版本', `form_version` int(11) DEFAULT NULL COMMENT '表单版本',
`creator` char(36) DEFAULT NULL COMMENT '创建人', `creator` char(36) DEFAULT NULL COMMENT '创建人',
@ -73,7 +88,12 @@
form_type, form_type,
form_status, form_status,
form_source_data, form_source_data,
form_page_code, save_page_code,
update_page_code,
show_page_code,
app_save_page_code,
app_update_page_code,
app_show_page_code,
form_table_name, form_table_name,
form_version, form_version,
creator, creator,
@ -89,7 +109,12 @@
#{formType}, #{formType},
#{formStatus}, #{formStatus},
#{formSourceData}, #{formSourceData},
#{formPageCode}, #{savePageCode},
#{updatePageCode},
#{showPageCode},
#{appSavePageCode},
#{appUpdatePageCode},
#{appShowPageCode},
#{formTableName}, #{formTableName},
#{formVersion}, #{formVersion},
#{creator}, #{creator},
@ -131,45 +156,48 @@
UPDATE UPDATE
form_form form_form
SET SET
<if test="formCode != null and formCode != ''"> <if test="formCode != null and formCode != ''">
form_code = #{formCode}, form_code = #{formCode},
</if> </if>
<if test="formName != null and formName != ''"> <if test="formName != null and formName != ''">
form_name = #{formName}, form_name = #{formName},
</if> </if>
<if test="formSummary != null and formSummary != ''"> <if test="formSummary != null and formSummary != ''">
form_summary = #{formSummary}, form_summary = #{formSummary},
</if> </if>
<if test="formType != null and formType != ''"> <if test="formType != null and formType != ''">
form_type = #{formType}, form_type = #{formType},
</if> </if>
<if test="formStatus != null and formStatus != ''"> <if test="formStatus != null and formStatus != ''">
form_status = #{formStatus},
</if>
<if test="formSourceData != null and formSourceData != ''">
form_source_data = #{formSourceData},
</if>
<if test="formPageCode != null and formPageCode != ''">
form_page_code = #{formPageCode},
</if>
<if test="formTableName != null and formTableName != ''">
form_table_name = #{formTableName},
</if>
<if test="formVersion != null">
form_version = #{formVersion},
</if>
modifier = #{modifier},
gmt_modified = #{gmtModified}
WHERE
form_id = #{formId}
</update>
<!-- 修改表单状态 -->
<update id="updateStatus" parameterType="map">
UPDATE
form_form
SET
form_status = #{formStatus}, form_status = #{formStatus},
</if>
<if test="formSourceData != null and formSourceData != ''">
form_source_data = #{formSourceData},
</if>
<if test="savePageCode != null and savePageCode != ''">
save_page_code = #{savePageCode},
</if>
<if test="updatePageCode != null and updatePageCode != ''">
update_page_code = #{updatePageCode},
</if>
<if test="showPageCode != null and showPageCode != ''">
show_page_code = #{showPageCode},
</if>
<if test="appSavePageCode != null and appSavePageCode != ''">
app_save_page_code = #{appSavePageCode},
</if>
<if test="appUpdatePageCode != null and appUpdatePageCode != ''">
app_update_page_code = #{appUpdatePageCode},
</if>
<if test="appShowPageCode != null and appShowPageCode != ''">
app_show_page_code = #{appShowPageCode},
</if>
<if test="formTableName != null and formTableName != ''">
form_table_name = #{formTableName},
</if>
<if test="formVersion != null">
form_version = #{formVersion},
</if>
modifier = #{modifier}, modifier = #{modifier},
gmt_modified = #{gmtModified} gmt_modified = #{gmtModified}
WHERE WHERE
@ -186,7 +214,6 @@
form_type, form_type,
form_status, form_status,
form_source_data, form_source_data,
form_page_code,
form_table_name, form_table_name,
form_version form_version
FROM FROM
@ -213,7 +240,12 @@
form_type, form_type,
form_status, form_status,
form_source_data, form_source_data,
form_page_code, save_page_code,
update_page_code,
show_page_code,
app_save_page_code,
app_update_page_code,
app_show_page_code,
form_table_name, form_table_name,
form_version form_version
FROM FROM
@ -287,4 +319,88 @@
is_delete = 0 is_delete = 0
</select> </select>
<!-- 代码 -->
<select id="getSavePageCodeByCodeAndVersion" parameterType="map" resultType="java.lang.String">
SELECT
save_page_code
FROM
form_form
WHERE
is_delete = 0
AND
form_code = #{formCode}
AND
form_version = #{formVersion}
</select>
<!-- 代码 -->
<select id="getUpdatePageCodeByCodeAndVersion" parameterType="map" resultType="java.lang.String">
SELECT
update_page_code
FROM
form_form
WHERE
is_delete = 0
AND
form_code = #{formCode}
AND
form_version = #{formVersion}
</select>
<!-- 代码 -->
<select id="getShowPageCodeByCodeAndVersion" parameterType="map" resultType="java.lang.String">
SELECT
show_page_code
FROM
form_form
WHERE
is_delete = 0
AND
form_code = #{formCode}
AND
form_version = #{formVersion}
</select>
<!-- 代码 -->
<select id="getAppSavePageCodeByCodeAndVersion" parameterType="map" resultType="java.lang.String">
SELECT
app_save_page_code
FROM
form_form
WHERE
is_delete = 0
AND
form_code = #{formCode}
AND
form_version = #{formVersion}
</select>
<!-- 代码 -->
<select id="getAppUpdatePageCodeByCodeAndVersion" parameterType="map" resultType="java.lang.String">
SELECT
app_update_page_code
FROM
form_form
WHERE
is_delete = 0
AND
form_code = #{formCode}
AND
form_version = #{formVersion}
</select>
<!-- 代码 -->
<select id="getAppShowPageCodeByCodeAndVersion" parameterType="map" resultType="java.lang.String">
SELECT
app_show_page_code
FROM
form_form
WHERE
is_delete = 0
AND
form_code = #{formCode}
AND
form_version = #{formVersion}
</select>
</mapper> </mapper>

View File

@ -362,7 +362,7 @@ function style_html(html_source, indent_size, indent_character, max_char) {
multi_parser = new Parser(); //wrapping functions Parser multi_parser = new Parser(); //wrapping functions Parser
multi_parser.printer(html_source, indent_character, indent_size); //initialize starting values multi_parser.printer(html_source, indent_character, indent_size, max_char); //initialize starting values

View File

@ -33,6 +33,9 @@ layui.define(['jquery', 'upload', 'dialog', 'restajax', 'formUtils'], function(e
_html += '</div>'; _html += '</div>';
return _html; return _html;
}, },
update: function(json) {
$('#'+ json.id +' .layui-form-label').text(json.label);
},
/* 获取对象 */ /* 获取对象 */
jsonData: function (id, index, columncount) { jsonData: function (id, index, columncount) {
//分配一个新的ID //分配一个新的ID

View File

@ -19,7 +19,7 @@ layui.define(['jquery', 'upload', 'dialog', 'restajax', 'formUtils'], function(e
selected = false; selected = false;
} }
var _html = '<div id="{0}" class="layui-form-item layui-form-text {2}" data-id="{0}" data-tag="{1}" data-index="{3}">'.format(json.id, json.tag, selected ? 'active' : '', json.index); var _html = '<div id="{0}" class="layui-form-item layui-form-text {2}" data-id="{0}" data-tag="{1}" data-index="{3}">'.format(json.id, json.tag, selected ? 'active' : '', json.index);
_html += ' <label class="layui-form-label layui-form-label-up">{0} *</label>'.format(json.label); _html += ' <label class="layui-form-label layui-form-label-up">{0}</label>'.format(json.label);
_html += ' <div class="layui-input-block layui-input-block-down">'; _html += ' <div class="layui-input-block layui-input-block-down">';
_html += ' <input type="hidden" id="{0}File" name="{0}">'.format(json.id);; _html += ' <input type="hidden" id="{0}File" name="{0}">'.format(json.id);;
_html += ' <div class="layui-btn-container" id="{0}FileBox"></div>'.format(json.id); _html += ' <div class="layui-btn-container" id="{0}FileBox"></div>'.format(json.id);
@ -50,6 +50,9 @@ layui.define(['jquery', 'upload', 'dialog', 'restajax', 'formUtils'], function(e
_html += '</div>'; _html += '</div>';
return _html; return _html;
}, },
update: function (json) {
$('#'+ json.id +' .layui-form-label').text(json.label);
},
/* 获取对象 */ /* 获取对象 */
jsonData: function (id, index, columncount) { jsonData: function (id, index, columncount) {
//分配一个新的ID //分配一个新的ID
@ -81,7 +84,7 @@ layui.define(['jquery', 'upload', 'dialog', 'restajax', 'formUtils'], function(e
function initUpload() { function initUpload() {
upload.render({ upload.render({
elem: '#' + item.id +'FileUpload', elem: '#' + item.id +'FileUpload',
url: restAjax.path('app/file/upload-image-release/{userId}', ['123']), url: restAjax.path(item.uploadUrl, []),
field: 'image', field: 'image',
done: function(res) { done: function(res) {
var dataset = this.item[0].dataset; var dataset = this.item[0].dataset;

View File

@ -1,98 +1,99 @@
layui.define([], function (exports) { layui.define([], function (exports) {
var lang = { var lang = {
id: "唯一标识", id: '唯一标识',
label: "标题", label: '标题',
index: "序号", index: '序号',
tag: "表单类型", tag: '表单类型',
tagIcon: '图标', tagIcon: '图标',
width: '宽度', width: '宽度',
height: "高度", height: '高度',
span: '网格宽度', span: '网格宽度',
placeholder: "placeholder", placeholder: 'placeholder',
defaultValue: "默认值", defaultValue: '默认值',
dateDefaultValue: '默认时间', dateDefaultValue: '默认时间',
labelWidth: "文本宽度", labelWidth: '文本宽度',
clearable: "是否清楚", clearable: '是否清楚',
prepend: "前缀", prepend: '前缀',
append: "追加", append: '追加',
prefixIcon: '前缀图标', prefixIcon: '前缀图标',
suffixIcon: '后缀图标', suffixIcon: '后缀图标',
maxlength: "最大长度", maxlength: '最大长度',
showWordLimit: "是否限制字符", showWordLimit: '是否限制字符',
readonly: "只读", readonly: '只读',
disabled: "禁用", disabled: '禁用',
required: "必填", required: '必填',
columns: "列数", columns: '列数',
options: "选项", options: '选项',
switchValue: "默认值", switchValue: '默认值',
maxValue: "最大值", maxValue: '最大值',
minValue: "最小值", minValue: '最小值',
dataMaxValue: "最大日期", dataMaxValue: '最大日期',
dataMinValue: "最小日期", dataMinValue: '最小日期',
stepValue: "步长", stepValue: '步长',
datetype: "日期类型", datetype: '日期类型',
dateformat: "日期格式", dateformat: '日期格式',
half: "显示半星", half: '显示半星',
theme: "皮肤", theme: '皮肤',
rateLength: "星星个数", rateLength: '星星个数',
interval: "间隔毫秒", interval: '间隔毫秒',
startIndex: "开始位置", startIndex: '开始位置',
full: "是否全屏", full: '是否全屏',
arrow: "鼠标样式", arrow: '鼠标样式',
contents: "内容", contents: '内容',
document: '帮助文档', document: '帮助文档',
input: "输入框", input: '输入框',
select: "下拉", select: '下拉',
checkbox: "多选组", checkbox: '多选组',
radio: "单选组", radio: '单选组',
date: "日期", date: '日期',
editor: "iceEditor编辑器", editor: 'iceEditor编辑器',
slider: "滑块", slider: '滑块',
image: "图片", image: '图片',
grid: "一行多列", grid: '一行多列',
colorpicker: "颜色选择器", colorpicker: '颜色选择器',
textarea: "多行文本", textarea: '多行文本',
rate: "评分控件", rate: '评分控件',
switch: "开关", switch: '开关',
password: "密码框", password: '密码框',
carousel: "轮播", carousel: '轮播',
text: "显示文本", text: '显示文本',
uploadUrl: "上传路径", uploadUrl: '上传路径',
expression: "验证", expression: '验证',
file: "文件", file: '文件',
autoplay: "自动切换", autoplay: '自动切换',
anim: "切换方式", anim: '切换方式',
arrow: "切换箭头", arrow: '切换箭头',
tab: "tab选项卡", tab: 'tab选项卡',
tabHeaders: "tab标题", tabHeaders: 'tab标题',
isInput: "显示输入框", isInput: '显示输入框',
dateRange: "日期范围", dateRange: '日期范围',
dateRangeDefaultValue: "默认范围", dateRangeDefaultValue: '默认范围',
menu: "头部菜单", menu: '头部菜单',
numberInput: "数字输入框", numberInput: '数字输入框',
iconPicker: "图标选择器", iconPicker: '图标选择器',
iconPickerSearch: "是否搜索", iconPickerSearch: '是否搜索',
iconPickerPage: "是否分页", iconPickerPage: '是否分页',
iconPickerLimit: "显示数量", iconPickerLimit: '显示数量',
iconPickerCellWidth: "图标宽度", iconPickerCellWidth: '图标宽度',
cron: "Cron表达式", cron: 'Cron表达式',
cronUrl: "运行路径", cronUrl: '运行路径',
labelGeneration: "标签组件", labelGeneration: '标签组件',
isEnter: "是否回车", isEnter: '是否回车',
buttonIcon: "按钮图标", buttonIcon: '按钮图标',
buttonType: "按钮类型", buttonType: '按钮类型',
isLabel: "显示标签", isLabel: '显示标签',
buttonSize: "组件尺寸", buttonSize: '组件尺寸',
bottom: "按钮组件", bottom: '按钮组件',
buttonVlaue: "按钮文字", buttonVlaue: '按钮文字',
laySign: "签名组件", laySign: '签名组件',
uploadImage: "上传图片", uploadImage: '上传图片',
uploadFile: "上传文件", uploadFile: '上传文件',
count: '总数'
}; };
var expressions = [ var expressions = [
{ {
text: '默认', text: '默认',
value: "" value: ''
}, { }, {
text: '数字', text: '数字',
value: 'number' value: 'number'
@ -164,7 +165,7 @@ layui.define([], function (exports) {
value: 'layui-btn-primary' value: 'layui-btn-primary'
}, { }, {
text: '默认', text: '默认',
value: "" value: ''
}, { }, {
text: '百搭', text: '百搭',
value: 'layui-btn-normal' value: 'layui-btn-normal'
@ -182,7 +183,7 @@ layui.define([], function (exports) {
value: 'layui-btn-lg' value: 'layui-btn-lg'
}, { }, {
text: '默认', text: '默认',
value: "" value: ''
}, { }, {
text: '小型', text: '小型',
value: 'layui-btn-sm' value: 'layui-btn-sm'
@ -191,7 +192,7 @@ layui.define([], function (exports) {
value: 'layui-btn-xs' value: 'layui-btn-xs'
} }
]; ];
var dateformats = ["yyyy年MM月", "yyyy-MM-dd", "dd/MM/yyyy", "yyyyMMdd", "yyyy-MM-dd HH:mm:ss", "yyyy年MM月dd日 HH时mm分ss秒"] var dateformats = ['yyyy年MM月', 'yyyy-MM-dd', 'dd/MM/yyyy', 'yyyyMMdd', 'yyyy-MM-dd HH:mm:ss', 'yyyy年MM月dd日 HH时mm分ss秒']
var iceEditMenus = [ var iceEditMenus = [
{ {
value: 'backColor', value: 'backColor',

View File

@ -348,13 +348,18 @@ layui.define(['layer'], function (exports) {
label: "上传图片", label: "上传图片",
tag: "uploadImage", tag: "uploadImage",
tagIcon: 'image', tagIcon: 'image',
placeholder: "请输入",
defaultValue: null,
labelWidth: null,
disabled: false,
required: true,
document: '', document: '',
uploadUrl: '', uploadUrl: '${imageUploadPath}',
count: 9
},
uploadFile: {
id: '-1',
index: '-1',
label: "上传文件",
tag: "uploadFile",
tagIcon: 'file',
document: '',
uploadUrl: '${fileUploadPath}',
count: 9 count: 9
}, },
colorpicker: { colorpicker: {
@ -373,20 +378,6 @@ layui.define(['layer'], function (exports) {
disabled: false, disabled: false,
document: '', document: '',
}, },
uploadFile: {
id: '-1',
index: '-1',
label: "上传文件",
tag: "uploadFile",
tagIcon: 'file',
placeholder: "请输入",
defaultValue: null,
labelWidth: null,
disabled: false,
required: true,
document: '',
uploadUrl: '',
},
textarea: { textarea: {
id: '-1', id: '-1',
index: '-1', index: '-1',

View File

@ -12,6 +12,11 @@ layui.define(['form', 'laytpl', 'restajax', 'dialog', 'consts'], function (expor
var lang = consts.lang; var lang = consts.lang;
/**
* 刷新属性
* @param json
* @returns {string}
*/
var renderCommonProperty = function (json) { var renderCommonProperty = function (json) {
var _html = ''; var _html = '';
for (var key in json) { for (var key in json) {
@ -116,6 +121,13 @@ layui.define(['form', 'laytpl', 'restajax', 'dialog', 'consts'], function (expor
_html += ' <input type="number" id="{0}" name="{0}" value="{1}" required lay-verify="required" placeholder="请输入{2}" autocomplete="off" class="layui-input">'.format(key, json[key] == undefined ? '' : json[key], lang[key]); _html += ' <input type="number" id="{0}" name="{0}" value="{1}" required lay-verify="required" placeholder="请输入{2}" autocomplete="off" class="layui-input">'.format(key, json[key] == undefined ? '' : json[key], lang[key]);
_html += ' </div>'; _html += ' </div>';
_html += '</div>'; _html += '</div>';
} else if (key === 'count') {
_html += '<div class="layui-form-item" >';
_html += ' <label class="layui-form-label">{0}</label>'.format(lang[key]);
_html += ' <div class="layui-input-block">';
_html += ' <input type="number" id="{0}" name="{0}" value="{1}" required lay-verify="required" placeholder="请输入{2}" autocomplete="off" class="layui-input">'.format(key, json[key] == undefined ? '' : json[key], lang[key]);
_html += ' </div>';
_html += '</div>';
} else if (key === 'width' || key === 'labelWidth') { } else if (key === 'width' || key === 'labelWidth') {
_html += '<div class="layui-form-item" >'; _html += '<div class="layui-form-item" >';
_html += ' <label class="layui-form-label">{0}</label>'.format(lang[key]); _html += ' <label class="layui-form-label">{0}</label>'.format(lang[key]);

View File

@ -0,0 +1,144 @@
<!doctype html>
<html xmlns:th="http://www.thymeleaf.org">
<head>
<base th:href="${#request.getContextPath() + '/'}">
<meta charset="utf-8">
<meta name="renderer" content="webkit">
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
<meta name="viewport"
content="width=device-width, initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0, user-scalable=0">
<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/style/admin.css" media="all">
<link rel="stylesheet" href="assets/js/vendor/codemirror/codemirror.css">
<link rel="stylesheet" href="assets/js/vendor/codemirror/theme/dracula.css">
</head>
<body>
<div class="layui-anim layui-anim-fadein">
<div class="layui-card">
<div class="layui-card-body" style="padding: 15px;">
<form class="layui-form layui-form-pane" lay-filter="dataForm">
<div class="layui-row">
<div class="layui-col-md12 layui-col-xs12">
<textarea id="appSavePageCode" name="appSavePageCode" style="display: none"></textarea>
</div>
</div>
<div class="layui-form-item layui-layout-admin">
<div class="layui-input-block">
<div class="layui-footer" style="left: 0;">
<button type="button" class="layui-btn" lay-submit lay-filter="submitForm">提交编辑</button>
<button type="button" class="layui-btn layui-btn-primary close">返回上级</button>
</div>
</div>
</div>
</form>
</div>
</div>
</div>
<script src="assets/js/vendor/codemirror/codemirror.js"></script>
<script src="assets/js/vendor/codemirror/mode/css/css.js"></script>
<script src="assets/js/vendor/codemirror/mode/javascript/javascript.js"></script>
<script src="assets/js/vendor/codemirror/mode/htmlmixed/htmlmixed.js"></script>
<script src="assets/layuiadmin/layui/layui.js"></script>
<script>
layui.config({
base: 'assets/layuiadmin/' //静态资源所在路径
}).extend({
index: 'lib/index' //主入口模块
}).use(['index', 'form', 'laydate'], function () {
var $ = layui.$;
var win = $(window)
var form = layui.form;
var laytpl = layui.laytpl;
var params = top.restAjax.params(window.location.href);
var formId = params.formId;
var formCode = params.formCode;
var formVersion = params.formVersion;
var codeMirrorConfig = {
lineNumbers: true,
theme: 'dracula',
matchBrackets: true,
indentUnit: 4,
tabSize: 4,
extraKeys: {
'Shift-Tab': function (cm) {
if (cm.somethingSelected()) {
cm.indentSelection('subtract');
} else {
cm.indentLine(cm.getCursor().line, "subtract");
}
return;
},
}
};
function closeBox() {
parent.layer.close(parent.layer.getFrameIndex(window.name));
}
function initFormHtml(value) {
var editor = CodeMirror.fromTextArea(document.getElementById('appSavePageCode'), codeMirrorConfig);
editor.setValue(value);
editor.setSize('100%', win.height() - 90);
editor.on('change', function (self, changeValue) {
$('#appSavePageCode').val(self.getValue());
})
}
// 初始化
function initData() {
var loadLayerIndex;
top.restAjax.get(top.restAjax.path('api/form/get-app-save-page-code/code/{formCode}/version/{formVersion}', [formCode, formVersion]), {}, null, function (code, data) {
form.val('dataForm', {
appSavePageCode: data.appSavePageCode,
});
form.render(null, 'dataForm');
initFormHtml(data.appSavePageCode);
}, function (code, data) {
top.dialog.msg(data.msg);
}, function () {
loadLayerIndex = top.dialog.msg(top.dataMessage.loading, {icon: 16, time: 0, shade: 0.3});
}, function () {
top.dialog.close(loadLayerIndex);
});
}
initData();
// 提交表单
form.on('submit(submitForm)', function (formData) {
top.dialog.confirm(top.dataMessage.commit, function (index) {
top.dialog.close(index);
var loadLayerIndex;
top.restAjax.put(top.restAjax.path('api/form/update-app-save-page-code/{formId}', [formId]), formData.field, null, function (code, data) {
var layerIndex = top.dialog.msg(top.dataMessage.commitSuccess, {
time: 0,
btn: [top.dataMessage.button.yes, top.dataMessage.button.no],
shade: 0.3,
yes: function (index) {
top.dialog.close(index);
window.location.reload();
},
btn2: function () {
closeBox();
}
});
}, function (code, data) {
top.dialog.msg(data.msg);
}, function () {
loadLayerIndex = top.dialog.msg(top.dataMessage.committing, {icon: 16, time: 0, shade: 0.3});
}, function () {
top.dialog.close(loadLayerIndex);
});
});
return false;
});
$('.close').on('click', function () {
closeBox();
});
});
</script>
</body>
</html>

View File

@ -0,0 +1,142 @@
<!doctype html>
<html xmlns:th="http://www.thymeleaf.org">
<head>
<base th:href="${#request.getContextPath() + '/'}">
<meta charset="utf-8">
<meta name="renderer" content="webkit">
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
<meta name="viewport" content="width=device-width, initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0, user-scalable=0">
<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/style/admin.css" media="all">
<link rel="stylesheet" href="assets/js/vendor/codemirror/codemirror.css">
<link rel="stylesheet" href="assets/js/vendor/codemirror/theme/dracula.css">
</head>
<body>
<div class="layui-anim layui-anim-fadein">
<div class="layui-card">
<div class="layui-card-body" style="padding: 15px;">
<form class="layui-form layui-form-pane" lay-filter="dataForm">
<div class="layui-row">
<div class="layui-col-md12 layui-col-xs12">
<textarea id="appShowPageCode" name="appShowPageCode" style="display: none"></textarea>
</div>
</div>
<div class="layui-form-item layui-layout-admin">
<div class="layui-input-block">
<div class="layui-footer" style="left: 0;">
<button type="button" class="layui-btn" lay-submit lay-filter="submitForm">提交编辑</button>
<button type="button" class="layui-btn layui-btn-primary close">返回上级</button>
</div>
</div>
</div>
</form>
</div>
</div>
</div>
<script src="assets/js/vendor/codemirror/codemirror.js"></script>
<script src="assets/js/vendor/codemirror/mode/css/css.js"></script>
<script src="assets/js/vendor/codemirror/mode/javascript/javascript.js"></script>
<script src="assets/js/vendor/codemirror/mode/htmlmixed/htmlmixed.js"></script>
<script src="assets/layuiadmin/layui/layui.js"></script>
<script>
layui.config({
base: 'assets/layuiadmin/' //静态资源所在路径
}).extend({
index: 'lib/index' //主入口模块
}).use(['index', 'form', 'laydate'], function(){
var $ = layui.$;
var win = $(window)
var form = layui.form;
var laytpl = layui.laytpl;
var params = top.restAjax.params(window.location.href);
var formId = params.formId;
var formCode = params.formCode;
var formVersion = params.formVersion;
var codeMirrorConfig = {
lineNumbers: true,
theme: 'dracula',
matchBrackets: true,
indentUnit : 4,
tabSize : 4,
extraKeys: {
'Shift-Tab': function (cm) {
if (cm.somethingSelected()) {
cm.indentSelection('subtract');
} else {
cm.indentLine(cm.getCursor().line, "subtract");
}
return;
},
}
};
function closeBox() {
parent.layer.close(parent.layer.getFrameIndex(window.name));
}
function initFormHtml(value) {
var editor = CodeMirror.fromTextArea(document.getElementById('appShowPageCode'), codeMirrorConfig);
editor.setValue(value);
editor.setSize('100%', win.height() - 90);
editor.on('change', function(self, changeValue) {
$('#appShowPageCode').val(self.getValue());
})
}
// 初始化
function initData() {
var loadLayerIndex;
top.restAjax.get(top.restAjax.path('api/form/get-app-show-page-code/code/{formCode}/version/{formVersion}', [formCode, formVersion]), {}, null, function(code, data) {
form.val('dataForm', {
appShowPageCode: data.appShowPageCode,
});
form.render(null, 'dataForm');
initFormHtml(data.appShowPageCode);
}, function(code, data) {
top.dialog.msg(data.msg);
}, function() {
loadLayerIndex = top.dialog.msg(top.dataMessage.loading, {icon: 16, time: 0, shade: 0.3});
}, function() {
top.dialog.close(loadLayerIndex);
});
}
initData();
// 提交表单
form.on('submit(submitForm)', function(formData) {
top.dialog.confirm(top.dataMessage.commit, function(index) {
top.dialog.close(index);
var loadLayerIndex;
top.restAjax.put(top.restAjax.path('api/form/update-app-show-page-code/{formId}', [formId]), formData.field, null, function(code, data) {
var layerIndex = top.dialog.msg(top.dataMessage.commitSuccess, {
time: 0,
btn: [top.dataMessage.button.yes, top.dataMessage.button.no],
shade: 0.3,
yes: function(index) {
top.dialog.close(index);
window.location.reload();
},
btn2: function() {
closeBox();
}
});
}, function(code, data) {
top.dialog.msg(data.msg);
}, function() {
loadLayerIndex = top.dialog.msg(top.dataMessage.committing, {icon: 16, time: 0, shade: 0.3});
}, function() {
top.dialog.close(loadLayerIndex);
});
});
return false;
});
$('.close').on('click', function() {
closeBox();
});
});
</script>
</body>
</html>

View File

@ -0,0 +1,142 @@
<!doctype html>
<html xmlns:th="http://www.thymeleaf.org">
<head>
<base th:href="${#request.getContextPath() + '/'}">
<meta charset="utf-8">
<meta name="renderer" content="webkit">
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
<meta name="viewport" content="width=device-width, initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0, user-scalable=0">
<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/style/admin.css" media="all">
<link rel="stylesheet" href="assets/js/vendor/codemirror/codemirror.css">
<link rel="stylesheet" href="assets/js/vendor/codemirror/theme/dracula.css">
</head>
<body>
<div class="layui-anim layui-anim-fadein">
<div class="layui-card">
<div class="layui-card-body" style="padding: 15px;">
<form class="layui-form layui-form-pane" lay-filter="dataForm">
<div class="layui-row">
<div class="layui-col-md12 layui-col-xs12">
<textarea id="appUpdatePageCode" name="appUpdatePageCode" style="display: none"></textarea>
</div>
</div>
<div class="layui-form-item layui-layout-admin">
<div class="layui-input-block">
<div class="layui-footer" style="left: 0;">
<button type="button" class="layui-btn" lay-submit lay-filter="submitForm">提交编辑</button>
<button type="button" class="layui-btn layui-btn-primary close">返回上级</button>
</div>
</div>
</div>
</form>
</div>
</div>
</div>
<script src="assets/js/vendor/codemirror/codemirror.js"></script>
<script src="assets/js/vendor/codemirror/mode/css/css.js"></script>
<script src="assets/js/vendor/codemirror/mode/javascript/javascript.js"></script>
<script src="assets/js/vendor/codemirror/mode/htmlmixed/htmlmixed.js"></script>
<script src="assets/layuiadmin/layui/layui.js"></script>
<script>
layui.config({
base: 'assets/layuiadmin/' //静态资源所在路径
}).extend({
index: 'lib/index' //主入口模块
}).use(['index', 'form', 'laydate'], function(){
var $ = layui.$;
var win = $(window)
var form = layui.form;
var laytpl = layui.laytpl;
var params = top.restAjax.params(window.location.href);
var formId = params.formId;
var formCode = params.formCode;
var formVersion = params.formVersion;
var codeMirrorConfig = {
lineNumbers: true,
theme: 'dracula',
matchBrackets: true,
indentUnit : 4,
tabSize : 4,
extraKeys: {
'Shift-Tab': function (cm) {
if (cm.somethingSelected()) {
cm.indentSelection('subtract');
} else {
cm.indentLine(cm.getCursor().line, "subtract");
}
return;
},
}
};
function closeBox() {
parent.layer.close(parent.layer.getFrameIndex(window.name));
}
function initFormHtml(value) {
var editor = CodeMirror.fromTextArea(document.getElementById('appUpdatePageCode'), codeMirrorConfig);
editor.setValue(value);
editor.setSize('100%', win.height() - 90);
editor.on('change', function(self, changeValue) {
$('#appUpdatePageCode').val(self.getValue());
})
}
// 初始化
function initData() {
var loadLayerIndex;
top.restAjax.get(top.restAjax.path('api/form/get-app-update-page-code/code/{formCode}/version/{formVersion}', [formCode, formVersion]), {}, null, function(code, data) {
form.val('dataForm', {
appUpdatePageCode: data.appUpdatePageCode,
});
form.render(null, 'dataForm');
initFormHtml(data.appUpdatePageCode);
}, function(code, data) {
top.dialog.msg(data.msg);
}, function() {
loadLayerIndex = top.dialog.msg(top.dataMessage.loading, {icon: 16, time: 0, shade: 0.3});
}, function() {
top.dialog.close(loadLayerIndex);
});
}
initData();
// 提交表单
form.on('submit(submitForm)', function(formData) {
top.dialog.confirm(top.dataMessage.commit, function(index) {
top.dialog.close(index);
var loadLayerIndex;
top.restAjax.put(top.restAjax.path('api/form/update-app-update-page-code/{formId}', [formId]), formData.field, null, function(code, data) {
var layerIndex = top.dialog.msg(top.dataMessage.commitSuccess, {
time: 0,
btn: [top.dataMessage.button.yes, top.dataMessage.button.no],
shade: 0.3,
yes: function(index) {
top.dialog.close(index);
window.location.reload();
},
btn2: function() {
closeBox();
}
});
}, function(code, data) {
top.dialog.msg(data.msg);
}, function() {
loadLayerIndex = top.dialog.msg(top.dataMessage.committing, {icon: 16, time: 0, shade: 0.3});
}, function() {
top.dialog.close(loadLayerIndex);
});
});
return false;
});
$('.close').on('click', function() {
closeBox();
});
});
</script>
</body>
</html>

View File

@ -19,7 +19,7 @@
<form class="layui-form layui-form-pane" lay-filter="dataForm"> <form class="layui-form layui-form-pane" lay-filter="dataForm">
<div class="layui-row"> <div class="layui-row">
<div class="layui-col-md12 layui-col-xs12"> <div class="layui-col-md12 layui-col-xs12">
<textarea id="formPageCode" name="formPageCode" style="display: none"></textarea> <textarea id="savePageCode" name="savePageCode" style="display: none"></textarea>
</div> </div>
</div> </div>
<div class="layui-form-item layui-layout-admin"> <div class="layui-form-item layui-layout-admin">
@ -27,7 +27,6 @@
<div class="layui-footer" style="left: 0;"> <div class="layui-footer" style="left: 0;">
<button type="button" class="layui-btn" lay-submit lay-filter="submitForm">提交编辑</button> <button type="button" class="layui-btn" lay-submit lay-filter="submitForm">提交编辑</button>
<button type="button" class="layui-btn layui-btn-primary close">返回上级</button> <button type="button" class="layui-btn layui-btn-primary close">返回上级</button>
<button type="button" class="layui-btn layui-btn-normal" id="previewPageBtn">预览页面</button>
</div> </div>
</div> </div>
</div> </div>
@ -50,7 +49,10 @@
var win = $(window) var win = $(window)
var form = layui.form; var form = layui.form;
var laytpl = layui.laytpl; var laytpl = layui.laytpl;
var formId = top.restAjax.params(window.location.href).formId; var params = top.restAjax.params(window.location.href);
var formId = params.formId;
var formCode = params.formCode;
var formVersion = params.formVersion;
var codeMirrorConfig = { var codeMirrorConfig = {
lineNumbers: true, lineNumbers: true,
theme: 'dracula', theme: 'dracula',
@ -74,24 +76,24 @@
} }
function initFormHtml(value) { function initFormHtml(value) {
var editor = CodeMirror.fromTextArea(document.getElementById('formPageCode'), codeMirrorConfig); var editor = CodeMirror.fromTextArea(document.getElementById('savePageCode'), codeMirrorConfig);
editor.setValue(value); editor.setValue(value);
editor.setSize('100%', win.height() - 90); editor.setSize('100%', win.height() - 90);
editor.on('change', function(self, changeValue) { editor.on('change', function(self, changeValue) {
$('#formPageCode').val(self.getValue()); $('#savePageCode').val(self.getValue());
}) })
} }
// 初始化 // 初始化
function initData() { function initData() {
var loadLayerIndex; var loadLayerIndex;
top.restAjax.get(top.restAjax.path('api/form/get-form-page-code/{formId}', [formId]), {}, null, function(code, data) { top.restAjax.get(top.restAjax.path('api/form/get-save-page-code/code/{formCode}/version/{formVersion}', [formCode, formVersion]), {}, null, function(code, data) {
form.val('dataForm', { form.val('dataForm', {
formPageCode: data.formPageCode, savePageCode: data.savePageCode,
}); });
form.render(null, 'dataForm'); form.render(null, 'dataForm');
initFormHtml(data.formPageCode); initFormHtml(data.savePageCode);
}, function(code, data) { }, function(code, data) {
top.dialog.msg(data.msg); top.dialog.msg(data.msg);
}, function() { }, function() {
@ -107,7 +109,7 @@
top.dialog.confirm(top.dataMessage.commit, function(index) { top.dialog.confirm(top.dataMessage.commit, function(index) {
top.dialog.close(index); top.dialog.close(index);
var loadLayerIndex; var loadLayerIndex;
top.restAjax.put(top.restAjax.path('api/login-form/update/{loginFormId}', [loginFormId]), formData.field, null, function(code, data) { top.restAjax.put(top.restAjax.path('api/form/update-save-page-code/{formId}', [formId]), 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],

View File

@ -0,0 +1,142 @@
<!doctype html>
<html xmlns:th="http://www.thymeleaf.org">
<head>
<base th:href="${#request.getContextPath() + '/'}">
<meta charset="utf-8">
<meta name="renderer" content="webkit">
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
<meta name="viewport" content="width=device-width, initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0, user-scalable=0">
<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/style/admin.css" media="all">
<link rel="stylesheet" href="assets/js/vendor/codemirror/codemirror.css">
<link rel="stylesheet" href="assets/js/vendor/codemirror/theme/dracula.css">
</head>
<body>
<div class="layui-anim layui-anim-fadein">
<div class="layui-card">
<div class="layui-card-body" style="padding: 15px;">
<form class="layui-form layui-form-pane" lay-filter="dataForm">
<div class="layui-row">
<div class="layui-col-md12 layui-col-xs12">
<textarea id="showPageCode" name="showPageCode" style="display: none"></textarea>
</div>
</div>
<div class="layui-form-item layui-layout-admin">
<div class="layui-input-block">
<div class="layui-footer" style="left: 0;">
<button type="button" class="layui-btn" lay-submit lay-filter="submitForm">提交编辑</button>
<button type="button" class="layui-btn layui-btn-primary close">返回上级</button>
</div>
</div>
</div>
</form>
</div>
</div>
</div>
<script src="assets/js/vendor/codemirror/codemirror.js"></script>
<script src="assets/js/vendor/codemirror/mode/css/css.js"></script>
<script src="assets/js/vendor/codemirror/mode/javascript/javascript.js"></script>
<script src="assets/js/vendor/codemirror/mode/htmlmixed/htmlmixed.js"></script>
<script src="assets/layuiadmin/layui/layui.js"></script>
<script>
layui.config({
base: 'assets/layuiadmin/' //静态资源所在路径
}).extend({
index: 'lib/index' //主入口模块
}).use(['index', 'form', 'laydate'], function(){
var $ = layui.$;
var win = $(window)
var form = layui.form;
var laytpl = layui.laytpl;
var params = top.restAjax.params(window.location.href);
var formId = params.formId;
var formCode = params.formCode;
var formVersion = params.formVersion;
var codeMirrorConfig = {
lineNumbers: true,
theme: 'dracula',
matchBrackets: true,
indentUnit : 4,
tabSize : 4,
extraKeys: {
'Shift-Tab': function (cm) {
if (cm.somethingSelected()) {
cm.indentSelection('subtract');
} else {
cm.indentLine(cm.getCursor().line, "subtract");
}
return;
},
}
};
function closeBox() {
parent.layer.close(parent.layer.getFrameIndex(window.name));
}
function initFormHtml(value) {
var editor = CodeMirror.fromTextArea(document.getElementById('showPageCode'), codeMirrorConfig);
editor.setValue(value);
editor.setSize('100%', win.height() - 90);
editor.on('change', function(self, changeValue) {
$('#showPageCode').val(self.getValue());
})
}
// 初始化
function initData() {
var loadLayerIndex;
top.restAjax.get(top.restAjax.path('api/form/get-show-page-code/code/{formCode}/version/{formVersion}', [formCode, formVersion]), {}, null, function(code, data) {
form.val('dataForm', {
showPageCode: data.showPageCode,
});
form.render(null, 'dataForm');
initFormHtml(data.showPageCode);
}, function(code, data) {
top.dialog.msg(data.msg);
}, function() {
loadLayerIndex = top.dialog.msg(top.dataMessage.loading, {icon: 16, time: 0, shade: 0.3});
}, function() {
top.dialog.close(loadLayerIndex);
});
}
initData();
// 提交表单
form.on('submit(submitForm)', function(formData) {
top.dialog.confirm(top.dataMessage.commit, function(index) {
top.dialog.close(index);
var loadLayerIndex;
top.restAjax.put(top.restAjax.path('api/form/update-show-page-code/{formId}', [formId]), formData.field, null, function(code, data) {
var layerIndex = top.dialog.msg(top.dataMessage.commitSuccess, {
time: 0,
btn: [top.dataMessage.button.yes, top.dataMessage.button.no],
shade: 0.3,
yes: function(index) {
top.dialog.close(index);
window.location.reload();
},
btn2: function() {
closeBox();
}
});
}, function(code, data) {
top.dialog.msg(data.msg);
}, function() {
loadLayerIndex = top.dialog.msg(top.dataMessage.committing, {icon: 16, time: 0, shade: 0.3});
}, function() {
top.dialog.close(loadLayerIndex);
});
});
return false;
});
$('.close').on('click', function() {
closeBox();
});
});
</script>
</body>
</html>

View File

@ -0,0 +1,142 @@
<!doctype html>
<html xmlns:th="http://www.thymeleaf.org">
<head>
<base th:href="${#request.getContextPath() + '/'}">
<meta charset="utf-8">
<meta name="renderer" content="webkit">
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
<meta name="viewport" content="width=device-width, initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0, user-scalable=0">
<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/style/admin.css" media="all">
<link rel="stylesheet" href="assets/js/vendor/codemirror/codemirror.css">
<link rel="stylesheet" href="assets/js/vendor/codemirror/theme/dracula.css">
</head>
<body>
<div class="layui-anim layui-anim-fadein">
<div class="layui-card">
<div class="layui-card-body" style="padding: 15px;">
<form class="layui-form layui-form-pane" lay-filter="dataForm">
<div class="layui-row">
<div class="layui-col-md12 layui-col-xs12">
<textarea id="updatePageCode" name="updatePageCode" style="display: none"></textarea>
</div>
</div>
<div class="layui-form-item layui-layout-admin">
<div class="layui-input-block">
<div class="layui-footer" style="left: 0;">
<button type="button" class="layui-btn" lay-submit lay-filter="submitForm">提交编辑</button>
<button type="button" class="layui-btn layui-btn-primary close">返回上级</button>
</div>
</div>
</div>
</form>
</div>
</div>
</div>
<script src="assets/js/vendor/codemirror/codemirror.js"></script>
<script src="assets/js/vendor/codemirror/mode/css/css.js"></script>
<script src="assets/js/vendor/codemirror/mode/javascript/javascript.js"></script>
<script src="assets/js/vendor/codemirror/mode/htmlmixed/htmlmixed.js"></script>
<script src="assets/layuiadmin/layui/layui.js"></script>
<script>
layui.config({
base: 'assets/layuiadmin/' //静态资源所在路径
}).extend({
index: 'lib/index' //主入口模块
}).use(['index', 'form', 'laydate'], function(){
var $ = layui.$;
var win = $(window)
var form = layui.form;
var laytpl = layui.laytpl;
var params = top.restAjax.params(window.location.href);
var formId = params.formId;
var formCode = params.formCode;
var formVersion = params.formVersion;
var codeMirrorConfig = {
lineNumbers: true,
theme: 'dracula',
matchBrackets: true,
indentUnit : 4,
tabSize : 4,
extraKeys: {
'Shift-Tab': function (cm) {
if (cm.somethingSelected()) {
cm.indentSelection('subtract');
} else {
cm.indentLine(cm.getCursor().line, "subtract");
}
return;
},
}
};
function closeBox() {
parent.layer.close(parent.layer.getFrameIndex(window.name));
}
function initFormHtml(value) {
var editor = CodeMirror.fromTextArea(document.getElementById('updatePageCode'), codeMirrorConfig);
editor.setValue(value);
editor.setSize('100%', win.height() - 90);
editor.on('change', function(self, changeValue) {
$('#updatePageCode').val(self.getValue());
})
}
// 初始化
function initData() {
var loadLayerIndex;
top.restAjax.get(top.restAjax.path('api/form/get-update-page-code/code/{formCode}/version/{formVersion}', [formCode, formVersion]), {}, null, function(code, data) {
form.val('dataForm', {
updatePageCode: data.updatePageCode,
});
form.render(null, 'dataForm');
initFormHtml(data.updatePageCode);
}, function(code, data) {
top.dialog.msg(data.msg);
}, function() {
loadLayerIndex = top.dialog.msg(top.dataMessage.loading, {icon: 16, time: 0, shade: 0.3});
}, function() {
top.dialog.close(loadLayerIndex);
});
}
initData();
// 提交表单
form.on('submit(submitForm)', function(formData) {
top.dialog.confirm(top.dataMessage.commit, function(index) {
top.dialog.close(index);
var loadLayerIndex;
top.restAjax.put(top.restAjax.path('api/form/update-update-page-code/{formId}', [formId]), formData.field, null, function(code, data) {
var layerIndex = top.dialog.msg(top.dataMessage.commitSuccess, {
time: 0,
btn: [top.dataMessage.button.yes, top.dataMessage.button.no],
shade: 0.3,
yes: function(index) {
top.dialog.close(index);
window.location.reload();
},
btn2: function() {
closeBox();
}
});
}, function(code, data) {
top.dialog.msg(data.msg);
}, function() {
loadLayerIndex = top.dialog.msg(top.dataMessage.committing, {icon: 16, time: 0, shade: 0.3});
}, function() {
top.dialog.close(loadLayerIndex);
});
});
return false;
});
$('.close').on('click', function() {
closeBox();
});
});
</script>
</body>
</html>

View File

@ -110,9 +110,22 @@
} }
}, },
{field:'formTableName', width:200, title: '表名', align:'center', }, {field:'formTableName', width:200, title: '表名', align:'center', },
{field:'formPageCode', width:100, title: '代码', align:'center', {field:'pcPageCode', width:220, title: 'PC端代码', align:'center',
templet: function(item) { templet: function(item) {
return '<button class="layui-btn layui-btn-xs" lay-event="showCodeEvent">查看代码</button>'; return '<div class="layui-btn-group">' +
'<button class="layui-btn layui-btn-xs" lay-event="savePageCodeEvent">新增页面</button>' +
'<button class="layui-btn layui-btn-xs layui-btn-normal" lay-event="updatePageCodeEvent">修改页面</button>' +
'<button class="layui-btn layui-btn-xs layui-btn-primary" lay-event="showPageCodeEvent">详情页面</button>' +
'</div>';
}
},
{field:'appPageCode', width:220, title: 'APP端代码', align:'center',
templet: function(item) {
return '<div class="layui-btn-group">' +
'<button class="layui-btn layui-btn-xs" lay-event="appSavePageCodeEvent">新增页面</button>' +
'<button class="layui-btn layui-btn-xs layui-btn-normal" lay-event="appUpdatePageCodeEvent">修改页面</button>' +
'<button class="layui-btn layui-btn-xs layui-btn-primary" lay-event="appShowPageCodeEvent">详情页面</button>' +
'</div>';
} }
}, },
{field:'formSourceData', width:100, title: '原数据', align:'center', {field:'formSourceData', width:100, title: '原数据', align:'center',
@ -120,10 +133,10 @@
return '<button class="layui-btn layui-btn-xs" lay-event="showDataEvent">查看数据</button>'; return '<button class="layui-btn layui-btn-xs" lay-event="showDataEvent">查看数据</button>';
} }
}, },
{field:'opition', width:80, title: '操作', fixed:'right', align:'center', {field:'opition', width:120, title: '操作', fixed:'right', align:'center',
templet: function(item) { templet: function(item) {
return '<div class="layui-btn-group">' + return '<div class="layui-btn-group">' +
'<button type="button" class="layui-btn layui-btn-xs" lay-event="showFormEvent">预览</button>'+ '<button type="button" class="layui-btn layui-btn-xs" lay-event="showFormEvent">预览(PC新增)</button>'+
'</div>'; '</div>';
} }
} }
@ -146,7 +159,6 @@
where: { where: {
keywords: $('#keywords').val(), keywords: $('#keywords').val(),
}, },
height: $win.height() - 60,
}); });
} }
// 初始化日期 // 初始化日期
@ -235,10 +247,55 @@
table.on('tool(dataTable)', function(obj) { table.on('tool(dataTable)', function(obj) {
var event = obj.event; var event = obj.event;
var data = obj.data; var data = obj.data;
if(event === 'showCodeEvent') { if(event === 'savePageCodeEvent') {
top.dialog.open({ top.dialog.open({
title: '模板代码', title: '新增页面模板',
url: top.restAjax.path('route/form/get-form-page-code?formId={formId}', [data.formId]), url: top.restAjax.path('route/form/get-save-page-code?formId={formId}&formCode={formCode}&formVersion={formVersion}', [data.formId, data.formCode, data.formVersion]),
width: '80%',
height: '80%',
onClose: function () {
}
})
} else if(event === 'updatePageCodeEvent') {
top.dialog.open({
title: '修改页面模板',
url: top.restAjax.path('route/form/get-update-page-code?formId={formId}&formCode={formCode}&formVersion={formVersion}', [data.formId, data.formCode, data.formVersion]),
width: '80%',
height: '80%',
onClose: function () {
}
})
} else if(event === 'showPageCodeEvent') {
top.dialog.open({
title: '详情页面模板',
url: top.restAjax.path('route/form/get-show-page-code?formId={formId}&formCode={formCode}&formVersion={formVersion}', [data.formId, data.formCode, data.formVersion]),
width: '80%',
height: '80%',
onClose: function () {
}
})
} else if(event === 'appSavePageCodeEvent') {
top.dialog.open({
title: 'APP新增页面模板',
url: top.restAjax.path('route/form/get-app-save-page-code?formId={formId}&formCode={formCode}&formVersion={formVersion}', [data.formId, data.formCode, data.formVersion]),
width: '80%',
height: '80%',
onClose: function () {
}
})
} else if(event === 'appUpdatePageCodeEvent') {
top.dialog.open({
title: 'APP修改页面模板',
url: top.restAjax.path('route/form/get-app-update-page-code?formId={formId}&formCode={formCode}&formVersion={formVersion}', [data.formId, data.formCode, data.formVersion]),
width: '80%',
height: '80%',
onClose: function () {
}
})
} else if(event === 'appShowPageCodeEvent') {
top.dialog.open({
title: 'APP详情页面模板',
url: top.restAjax.path('route/form/get-app-show-page-code?formId={formId}&formCode={formCode}&formVersion={formVersion}', [data.formId, data.formCode, data.formVersion]),
width: '80%', width: '80%',
height: '80%', height: '80%',
onClose: function () { onClose: function () {