From aadb902d2233790fe291dd855ac90b0f6facbfa6 Mon Sep 17 00:00:00 2001 From: wanggeng <450292408@qq.com> Date: Wed, 11 May 2022 18:25:44 +0800 Subject: [PATCH] =?UTF-8?q?OA=E8=A1=A8=E5=8D=95=E6=89=93=E5=8D=B0=EF=BC=8C?= =?UTF-8?q?=E8=BE=93=E5=85=A5=E6=A1=86=E5=9B=9E=E5=A1=AB?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../route/oa/OaFormReportRouteController.java | 10 +++ .../enums/oa/field/FieldBackFillEnum.java | 31 +++++++ .../oa/nodemanage/config/NodeFormFieldVO.java | 18 ++-- .../service/oa/IOaFormReportRouteService.java | 14 +++ .../oa/impl/OaFormReportRouteServiceImpl.java | 88 ++++++++++++++++++- .../mybatis/mapper/oa/node-field-mapper.xml | 7 +- .../properties/oa-node-manage-popup.html | 3 +- .../report/IFormReportRouteService.java | 24 +++++ .../impl/FormReportRouteServiceImpl.java | 9 +- .../resources/static/form/js/oa-form-util.js | 53 ++++++++++- .../main/resources/templates/form/list.html | 7 +- .../templates/ftl/page/web/oa/form-print.ftl | 39 ++++---- .../templates/ftl/page/web/oa/form-update.ftl | 3 + 13 files changed, 269 insertions(+), 37 deletions(-) create mode 100644 module-activiti/src/main/java/ink/wgink/module/activiti/enums/oa/field/FieldBackFillEnum.java diff --git a/module-activiti/src/main/java/ink/wgink/module/activiti/controller/route/oa/OaFormReportRouteController.java b/module-activiti/src/main/java/ink/wgink/module/activiti/controller/route/oa/OaFormReportRouteController.java index 2088f76d..724ce53c 100644 --- a/module-activiti/src/main/java/ink/wgink/module/activiti/controller/route/oa/OaFormReportRouteController.java +++ b/module-activiti/src/main/java/ink/wgink/module/activiti/controller/route/oa/OaFormReportRouteController.java @@ -59,4 +59,14 @@ public class OaFormReportRouteController extends DefaultBaseController { oaFormReportRouteService.show(formCode, formVersion, httpSession, httpServletRequest, httpServletResponse); } + @GetMapping("print/code/{formCode}/version/{formVersion}/uid/{uid}") + public void print(@PathVariable("formCode") String formCode, + @PathVariable("formVersion") Integer formVersion, + @PathVariable("uid") String uid, + HttpSession httpSession, + HttpServletRequest httpServletRequest, + HttpServletResponse httpServletResponse) { + oaFormReportRouteService.print(formCode, formVersion, uid, httpSession, httpServletRequest, httpServletResponse); + } + } diff --git a/module-activiti/src/main/java/ink/wgink/module/activiti/enums/oa/field/FieldBackFillEnum.java b/module-activiti/src/main/java/ink/wgink/module/activiti/enums/oa/field/FieldBackFillEnum.java new file mode 100644 index 00000000..7ffa0dea --- /dev/null +++ b/module-activiti/src/main/java/ink/wgink/module/activiti/enums/oa/field/FieldBackFillEnum.java @@ -0,0 +1,31 @@ +package ink.wgink.module.activiti.enums.oa.field; + +/** + * @ClassName: FieldBackFillEnum + * @Description: 字段回填 + * @Author: wanggeng + * @Date: 2022/5/11 17:38 + * @Version: 1.0 + */ +public enum FieldBackFillEnum { + + NO_BACK_FILL("noBackFill", "不回填"), + CURRENT_USER_NAME("currentUserName", "当前用户昵称"), + CURRENT_USER_DEPARTMENT("currentUserDepartment", "当前用户部门"); + + private String value; + private String text; + + FieldBackFillEnum(String value, String text) { + this.value = value; + this.text = text; + } + + public String getValue() { + return value == null ? "" : value.trim(); + } + + public String getText() { + return text == null ? "" : text.trim(); + } +} diff --git a/module-activiti/src/main/java/ink/wgink/module/activiti/pojo/vos/oa/nodemanage/config/NodeFormFieldVO.java b/module-activiti/src/main/java/ink/wgink/module/activiti/pojo/vos/oa/nodemanage/config/NodeFormFieldVO.java index 847bebda..aa735812 100644 --- a/module-activiti/src/main/java/ink/wgink/module/activiti/pojo/vos/oa/nodemanage/config/NodeFormFieldVO.java +++ b/module-activiti/src/main/java/ink/wgink/module/activiti/pojo/vos/oa/nodemanage/config/NodeFormFieldVO.java @@ -27,10 +27,10 @@ public class NodeFormFieldVO { private Boolean isEditable; @ApiModelProperty(name = "isVisible", value = "是否可见") private Boolean isVisible; - @ApiModelProperty(name = "editHistory", value = "编辑历史") + @ApiModelProperty(name = "editHistory", value = "签批类型(编辑历史)") private String editHistory; - @ApiModelProperty(name = "autoFillBack", value = "自动填充") - private String autoFillBack; + @ApiModelProperty(name = "autoBackFill", value = "自动回填") + private String autoBackFill; public String getFieldId() { return fieldId == null ? "" : fieldId.trim(); @@ -96,12 +96,12 @@ public class NodeFormFieldVO { this.editHistory = editHistory; } - public String getAutoFillBack() { - return autoFillBack == null ? "" : autoFillBack.trim(); + public String getAutoBackFill() { + return autoBackFill == null ? "" : autoBackFill.trim(); } - public void setAutoFillBack(String autoFillBack) { - this.autoFillBack = autoFillBack; + public void setAutoBackFill(String autoBackFill) { + this.autoBackFill = autoBackFill; } @Override @@ -123,8 +123,8 @@ public class NodeFormFieldVO { .append(isVisible); sb.append(",\"editHistory\":\"") .append(editHistory).append('\"'); - sb.append(",\"autoFillBack\":\"") - .append(autoFillBack).append('\"'); + sb.append(",\"autoBackFill\":\"") + .append(autoBackFill).append('\"'); sb.append('}'); return sb.toString(); } diff --git a/module-activiti/src/main/java/ink/wgink/module/activiti/service/oa/IOaFormReportRouteService.java b/module-activiti/src/main/java/ink/wgink/module/activiti/service/oa/IOaFormReportRouteService.java index ab54fdf5..e512f10f 100644 --- a/module-activiti/src/main/java/ink/wgink/module/activiti/service/oa/IOaFormReportRouteService.java +++ b/module-activiti/src/main/java/ink/wgink/module/activiti/service/oa/IOaFormReportRouteService.java @@ -49,17 +49,31 @@ public interface IOaFormReportRouteService { */ void show(String formCode, Integer formVersion, HttpSession httpSession, HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse); + /** + * 打印 + * + * @param formCode + * @param formVersion + * @param uid + * @param httpSession + * @param httpServletRequest + * @param httpServletResponse + */ + void print(String formCode, Integer formVersion, String uid, HttpSession httpSession, HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse); + /** * 查询页面 * * @param formCode * @param formVersion + * @param ccId * @param httpSession * @param httpServletRequest * @param httpServletResponse */ void updateRead(String formCode, Integer formVersion, String ccId, HttpSession httpSession, HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse); + /** * APP新增页面 * diff --git a/module-activiti/src/main/java/ink/wgink/module/activiti/service/oa/impl/OaFormReportRouteServiceImpl.java b/module-activiti/src/main/java/ink/wgink/module/activiti/service/oa/impl/OaFormReportRouteServiceImpl.java index 5cefceab..0338f451 100644 --- a/module-activiti/src/main/java/ink/wgink/module/activiti/service/oa/impl/OaFormReportRouteServiceImpl.java +++ b/module-activiti/src/main/java/ink/wgink/module/activiti/service/oa/impl/OaFormReportRouteServiceImpl.java @@ -5,6 +5,8 @@ import com.alibaba.fastjson.JSONObject; import ink.wgink.common.base.DefaultBaseService; import ink.wgink.exceptions.SearchException; import ink.wgink.interfaces.user.IUserBaseService; +import ink.wgink.module.activiti.enums.oa.TaskCommentTypeEnum; +import ink.wgink.module.activiti.pojo.bos.oa.TaskCommentBO; import ink.wgink.module.activiti.pojo.dtos.oa.NodeButtonDTO; import ink.wgink.module.activiti.pojo.dtos.oa.NodeFieldDTO; import ink.wgink.module.activiti.pojo.pos.oa.OaNodeAssigneePO; @@ -12,8 +14,12 @@ import ink.wgink.module.activiti.pojo.vos.oa.page.*; import ink.wgink.module.activiti.service.activiti.IActivitiModelService; import ink.wgink.module.activiti.service.oa.*; import ink.wgink.module.form.enums.design.FormTypeEnum; +import ink.wgink.module.form.pojo.pos.design.FormPO; +import ink.wgink.module.form.service.design.IFormDesignService; import ink.wgink.module.form.service.design.IFormFieldService; +import ink.wgink.module.form.service.design.IFormService; import ink.wgink.module.form.service.report.IFormReportRouteService; +import ink.wgink.module.form.service.report.IFormReportService; import ink.wgink.pojo.bos.UserInfoBO; import ink.wgink.pojo.dtos.user.UserDTO; import org.activiti.bpmn.model.FlowNode; @@ -22,8 +28,10 @@ import org.activiti.bpmn.model.UserTask; import org.activiti.engine.HistoryService; import org.activiti.engine.RepositoryService; import org.activiti.engine.TaskService; +import org.activiti.engine.history.HistoricProcessInstance; import org.activiti.engine.history.HistoricTaskInstance; import org.activiti.engine.repository.ProcessDefinition; +import org.activiti.engine.task.Comment; import org.activiti.engine.task.Task; import org.apache.commons.lang3.StringUtils; import org.springframework.beans.BeanUtils; @@ -34,6 +42,7 @@ import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpSession; import java.util.ArrayList; +import java.util.HashMap; import java.util.List; import java.util.Map; import java.util.stream.Collectors; @@ -70,6 +79,10 @@ public class OaFormReportRouteServiceImpl extends DefaultBaseService implements private INodeButtonService nodeButtonService; @Autowired private IOaCcService oaCcService; + @Autowired + private IFormService formService; + @Autowired + private IFormReportService formReportService; @Override public void save(String processDefinitionId, String formCode, Integer formVersion, HttpSession httpSession, HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse) { @@ -144,6 +157,77 @@ public class OaFormReportRouteServiceImpl extends DefaultBaseService implements formReportRouteService.show(formCode, formVersion, httpSession, httpServletRequest, httpServletResponse, model); } + @Override + public void print(String formCode, Integer formVersion, String uid, HttpSession httpSession, HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse) { + FormPO formPO = formService.getPOByCodeAndVersion(formCode, formVersion); + if (formPO == null) { + return; + } + // 处理附件、文件、视频、音频、签批等功能 + Map reportForm = formReportService.get(formCode, formVersion, uid); + HistoricProcessInstance historicProcessInstance = historyService.createHistoricProcessInstanceQuery().includeProcessVariables().processInstanceId(reportForm.get(IFormDesignService.PROCESS_INSTANCE_ID).toString()).singleResult(); + if (historicProcessInstance == null) { + throw new SearchException("流程实例不存在"); + } + // 设置签字 + setSign(reportForm, historicProcessInstance); + // 设置会签 + setJointlySign(reportForm); + formReportRouteService.setModal(formPO, reportForm); + formReportRouteService.showPage(reportForm, formCode, formPO.getPrintPageCode(), httpSession, httpServletRequest, httpServletResponse); + } + + /** + * 设置签批 + * + * @param reportForm + * @param historicProcessInstance + */ + private void setSign(Map reportForm, HistoricProcessInstance historicProcessInstance) { + Map processVariables = historicProcessInstance.getProcessVariables(); + for (Map.Entry reportFormEntry : reportForm.entrySet()) { + Object signObject = processVariables.get(reportFormEntry.getKey() + IOaFormReportService.EDIT_SIGN_KEY_SUFFIX); + if (signObject != null) { + reportFormEntry.setValue(signObject); + } + } + } + + /** + * 设置会签 + * + * @param reportForm + */ + private void setJointlySign(Map reportForm) { + List processInstanceComments = taskService.getProcessInstanceComments(reportForm.get(IFormDesignService.PROCESS_INSTANCE_ID).toString()); + Map jointlySignMap = new HashMap<>(16); + // 先处理会签字段 + for (Comment comment : processInstanceComments) { + // 会签字段 + if (!StringUtils.equals(TaskCommentTypeEnum.JOINTLY_SIGN.getValue(), comment.getType())) { + continue; + } + TaskCommentBO taskCommentBO = JSONObject.parseObject(comment.getFullMessage(), TaskCommentBO.class); + String jointlySignedValue = jointlySignMap.get(taskCommentBO.getFieldName()); + if (jointlySignedValue == null) { + jointlySignedValue = ""; + } + if (!jointlySignedValue.isEmpty()) { + jointlySignedValue += "\n"; + } + jointlySignedValue += "签批人:" + taskCommentBO.getUserName() + "。签批内容:" + taskCommentBO.getContent() + "。签批时间:" + taskCommentBO.getTime(); + jointlySignMap.put(taskCommentBO.getFieldName(), jointlySignedValue); + } + // 替换会签的内容 + for (Map.Entry reportFormEntry : reportForm.entrySet()) { + String jointlySignValue = jointlySignMap.get(reportFormEntry.getKey()); + if (StringUtils.isBlank(jointlySignValue)) { + continue; + } + reportFormEntry.setValue(jointlySignValue); + } + } + @Override public void updateRead(String formCode, Integer formVersion, String ccId, HttpSession httpSession, HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse) { oaCcService.updateRead(ccId, 1); @@ -187,7 +271,7 @@ public class OaFormReportRouteServiceImpl extends DefaultBaseService implements fieldVO.setIsEditable(nodeFieldDTO.getIsEditable()); fieldVO.setIsVisible(nodeFieldDTO.getIsVisible()); fieldVO.setEditHistory(nodeFieldDTO.getEditHistory()); - nodeFieldDTO.getAutoBackFill(); + fieldVO.setAutoBackFill(nodeFieldDTO.getAutoBackFill()); return fieldVO; }).collect(Collectors.toList()); model.put("fields", JSONObject.toJSONString(fieldVOs)); @@ -216,9 +300,11 @@ public class OaFormReportRouteServiceImpl extends DefaultBaseService implements if (StringUtils.isBlank(currentTaskId)) { formButtonVO.setBtnGoBack(0); formButtonVO.setBtnForcedEnd(0); + formButtonVO.setBtnPrint(0); } else { formButtonVO.setBtnGoBack(nodeButtonDTO.getBtnGoBack()); formButtonVO.setBtnForcedEnd(nodeButtonDTO.getBtnForcedEnd()); + formButtonVO.setBtnPrint(nodeButtonDTO.getBtnPrint()); } if (formButtonVO.getBtnGoBack() == 1) { LOG.debug("存在回退按钮,查询历史节点"); diff --git a/module-activiti/src/main/resources/mybatis/mapper/oa/node-field-mapper.xml b/module-activiti/src/main/resources/mybatis/mapper/oa/node-field-mapper.xml index 5e088b5a..f16137ce 100644 --- a/module-activiti/src/main/resources/mybatis/mapper/oa/node-field-mapper.xml +++ b/module-activiti/src/main/resources/mybatis/mapper/oa/node-field-mapper.xml @@ -30,8 +30,8 @@ `field_explain` varchar(255) DEFAULT NULL COMMENT '字段描述', `is_visible` int(1) DEFAULT '1' COMMENT '是否可见', `is_editable` int(1) DEFAULT '1' COMMENT '是否可编辑', - `editHistory` varchar(255) DEFAULT NULL COMMENT '编辑历史', - `auto_back_fill` varchar(255) DEFAULT NULL COMMENT '自动回填', + `editHistory` varchar(255) DEFAULT 'noRecord' COMMENT '编辑历史', + `auto_back_fill` varchar(255) DEFAULT 'noBackFill' COMMENT '自动回填', PRIMARY KEY (`id`), UNIQUE KEY `node_field_id` (`node_field_id`), KEY `deployment_id` (`deployment_id`), @@ -106,6 +106,9 @@ edit_history = #{editHistory}, + + + auto_back_fill = #{autoBackFill}, node_field_id = #{nodeFieldId} WHERE diff --git a/module-activiti/src/main/resources/static/editor-app/configuration/properties/oa-node-manage-popup.html b/module-activiti/src/main/resources/static/editor-app/configuration/properties/oa-node-manage-popup.html index 39be267e..f1a79a62 100644 --- a/module-activiti/src/main/resources/static/editor-app/configuration/properties/oa-node-manage-popup.html +++ b/module-activiti/src/main/resources/static/editor-app/configuration/properties/oa-node-manage-popup.html @@ -350,7 +350,8 @@ diff --git a/module-form/src/main/java/ink/wgink/module/form/service/report/IFormReportRouteService.java b/module-form/src/main/java/ink/wgink/module/form/service/report/IFormReportRouteService.java index 73fc8910..70635c56 100644 --- a/module-form/src/main/java/ink/wgink/module/form/service/report/IFormReportRouteService.java +++ b/module-form/src/main/java/ink/wgink/module/form/service/report/IFormReportRouteService.java @@ -1,5 +1,7 @@ package ink.wgink.module.form.service.report; +import ink.wgink.module.form.pojo.pos.design.FormPO; + import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpSession; @@ -27,6 +29,7 @@ public interface IFormReportRouteService { /** * 新增页面 + * * @param formCode * @param formVersion * @param httpSession @@ -151,4 +154,25 @@ public interface IFormReportRouteService { * @param model */ void appShow(String formCode, Integer formVersion, HttpSession httpSession, HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse, Map model); + + /** + * 展示页面 + * + * @param modal + * @param formCode + * @param pageCode + * @param httpSession + * @param httpServletRequest + * @param httpServletResponse + */ + void showPage(Map modal, String formCode, String pageCode, HttpSession httpSession, HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse); + + /** + * 设置model + * + * @param formPO + * @param modal + */ + void setModal(FormPO formPO, Map modal); + } diff --git a/module-form/src/main/java/ink/wgink/module/form/service/report/impl/FormReportRouteServiceImpl.java b/module-form/src/main/java/ink/wgink/module/form/service/report/impl/FormReportRouteServiceImpl.java index 9c31c937..52a9736a 100644 --- a/module-form/src/main/java/ink/wgink/module/form/service/report/impl/FormReportRouteServiceImpl.java +++ b/module-form/src/main/java/ink/wgink/module/form/service/report/impl/FormReportRouteServiceImpl.java @@ -9,6 +9,7 @@ import ink.wgink.exceptions.base.SystemException; import ink.wgink.interfaces.consts.ISystemConstant; import ink.wgink.module.form.enums.design.FormStatusEnum; import ink.wgink.module.form.pojo.pos.design.FormPO; +import ink.wgink.module.form.service.design.IFormFieldService; import ink.wgink.module.form.service.design.IFormService; import ink.wgink.module.form.service.report.IFormReportRouteService; import org.apache.commons.lang3.StringUtils; @@ -36,6 +37,8 @@ public class FormReportRouteServiceImpl extends DefaultBaseService implements IF @Autowired private IFormService formService; + @Autowired + private IFormFieldService formFieldService; private Configuration configuration = new Configuration(Configuration.getVersion()); @PostConstruct @@ -181,7 +184,8 @@ public class FormReportRouteServiceImpl extends DefaultBaseService implements IF * @param httpServletRequest * @param httpServletResponse */ - private void showPage(Map modal, String formCode, String pageCode, HttpSession httpSession, HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse) { + @Override + public void showPage(Map modal, String formCode, String pageCode, HttpSession httpSession, HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse) { httpServletResponse.setContentType("text/html; charset=" + ISystemConstant.CHARSET_UTF8); try { Template template = getTemplate(formCode, pageCode); @@ -202,7 +206,8 @@ public class FormReportRouteServiceImpl extends DefaultBaseService implements IF * @param modal * @return */ - private void setModal(FormPO formPO, Map modal) { + @Override + public void setModal(FormPO formPO, Map modal) { modal.put("contextPath", httpServletRequest.getContextPath() + "/"); modal.put("formName", formPO.getFormName()); modal.put("formCode", formPO.getFormCode()); diff --git a/module-form/src/main/resources/static/form/js/oa-form-util.js b/module-form/src/main/resources/static/form/js/oa-form-util.js index b06fdb14..f5aa54d6 100644 --- a/module-form/src/main/resources/static/form/js/oa-form-util.js +++ b/module-form/src/main/resources/static/form/js/oa-form-util.js @@ -3,6 +3,7 @@ function OaFormUtil(layui) { var win = $(window); var layer = layui.layer; var upload = layui.upload; + var form = layui.form; var restAjax = layui.restajax; var processImageEnlargeScale = 0; @@ -277,7 +278,41 @@ function OaFormUtil(layui) { } /** - * @description 禁止字段操作 + * 初始化回填字段 + * @param fields + * @param currentUser + */ + this.backFillFields = function(fields, currentUser) { + var obj = {}; + for (var i = 0, item; item = fields[i++];) { + if(item.autoBackFill === 'currentUserName') { + obj[item.fieldName] = currentUser.userName; + continue; + } + if(item.autoBackFill === 'currentUserDepartment') { + if(currentUser.departments.length == 1) { + obj[item.fieldName] = currentUser.departments[0].departmentName; + continue; + } + if(currentUser.departments.length > 1) { + obj[item.fieldName] = currentUser.departments[0].departmentName; + var options = ''; + for(var j = 0, jItem; jItem = currentUser.departments[j++];) { + options += '' + } + var parent = $('#'+ item.fieldName +'Block'); + parent.empty(); + parent.append(''); + continue; + } + } + } + form.val('dataForm', obj); + form.render(null, 'dataForm'); + } + + /** + * @description 禁止字段操作,禁止操作的字段不参与提交 * @param fields {Array} [{fieldName:'', isEditable: 0|1}] */ this.disableFields = function (fields) { @@ -326,6 +361,9 @@ function OaFormUtil(layui) { var isApp = opt.isApp; var processInstanceId = opt.processInstanceId; var taskId = opt.taskId; + var formCode = opt.formCode; + var formVersion = opt.formVersion; + var uid = opt.uid; var onPreview = typeof (opt.onPreview) === 'function' ? opt.onPreview : null; function initButton() { @@ -412,6 +450,7 @@ function OaFormUtil(layui) { }); } + // 附件 $(document.body).on('click', '#showAttachmentBtn', function () { var attachments = $('#attachments').val(); var attachmentArray = attachments.split(','); @@ -468,6 +507,7 @@ function OaFormUtil(layui) { }); }); + // 附件删除 $(document.body).on('click', '.delete-attachment-btn', function () { var id = this.dataset.id; var name = this.dataset.name; @@ -483,6 +523,7 @@ function OaFormUtil(layui) { $(this).parent().parent().parent().remove(); }); + // 附件预览 $(document.body).on('click', '.operation .preview-btn', function () { var id = this.dataset.id; var name = this.dataset.name; @@ -497,7 +538,15 @@ function OaFormUtil(layui) { } }); - // 回退 + // 打印 + $(document.body).on('click', '#printBtn', function() { + if(!formCode || !formVersion || !uid) { + return; + } + window.open(restAjax.path('route/oa-form-report/print/code/{formCode}/version/{formVersion}/uid/{uid}', [formCode, formVersion, uid]), '_blank'); + }); + + // 回退页面 $(document.body).on('click', '#goBackBtn', function () { if (!taskId) { return; diff --git a/module-form/src/main/resources/templates/form/list.html b/module-form/src/main/resources/templates/form/list.html index a5d38d67..1f9aaac2 100644 --- a/module-form/src/main/resources/templates/form/list.html +++ b/module-form/src/main/resources/templates/form/list.html @@ -127,8 +127,11 @@ } }, - {field:'printPageCode', width:100, title: '打印代码', align:'center', + {field:'printPageCode', width:100, title: 'OA打印', align:'center', templet: function(item) { + if(item.formType === 'default') { + return '-'; + } return '
' + '' + '
'; @@ -295,7 +298,7 @@ }) } else if(event === 'printPageCodeEvent') { top.dialog.open({ - title: '打印页面模板', + title: '打印页面模板【需要打印的内容添加到 startprint 与 endprint 之间,两个注释不能删除,变量用 ${XXX}占位(视频、音频、文件、附件只打印文件名称)】', url: top.restAjax.path('route/form/get-print-page-code?formId={formId}&formCode={formCode}&formVersion={formVersion}', [data.formId, data.formCode, data.formVersion]), width: '99%', height: '99%', diff --git a/module-form/src/main/resources/templates/ftl/page/web/oa/form-print.ftl b/module-form/src/main/resources/templates/ftl/page/web/oa/form-print.ftl index 12b0e595..f398983e 100644 --- a/module-form/src/main/resources/templates/ftl/page/web/oa/form-print.ftl +++ b/module-form/src/main/resources/templates/ftl/page/web/oa/form-print.ftl @@ -4,29 +4,32 @@ ${r'${formName}'} - - - - - - - - + + -
+
+ + + +
- \ No newline at end of file diff --git a/module-form/src/main/resources/templates/ftl/page/web/oa/form-update.ftl b/module-form/src/main/resources/templates/ftl/page/web/oa/form-update.ftl index f701b33c..f829f831 100644 --- a/module-form/src/main/resources/templates/ftl/page/web/oa/form-update.ftl +++ b/module-form/src/main/resources/templates/ftl/page/web/oa/form-update.ftl @@ -85,6 +85,9 @@ isApp:false, processInstanceId: $('#processInstanceId').val(), taskId: $('#taskId').val(), + formCode: $('#formCode').val(), + formVersion: $('#formVersion').val(), + uid: uid, onPreview: function(obj) { // 这里写预览的逻辑,没有不写此方法 // console.log(obj);