1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297 |
- <%@ page pageEncoding="UTF-8"%>
- <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
- <%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %>
- <%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %>
- <%@taglib prefix="f" uri="http://www.jee-soft.cn/functions" %>
- <c:set var="ctx" value="${pageContext.request.contextPath}"/>
- <%@include file="/commons/include/html_doctype.html"%>
- <%@page import="com.hotent.core.api.util.PropertyUtil"%>
- <html>
- <head>
- <title>流程任务-[${task.name}]执行</title>
- <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no">
- <%@include file="/commons/include/customForm.jsp" %>
- <%@include file="/commons/include/ueditor.jsp" %>
- <link rel="stylesheet" type="text/css" href="${ctx}/styles/default/css/hotent/task.css"></link>
- <script type="text/javascript" src="${ctx}/js/hotent/platform/bpm/TaskAddSignWindow.js"></script>
- <script type="text/javascript" src="${ctx}/js/hotent/platform/bpm/TaskBackWindow.js"></script>
- <script type="text/javascript" src="${ctx}/js/hotent/platform/bpm/TaskImageUserDialog.js"></script>
- <script type="text/javascript" src="${ctx}/js/hotent/platform/tabOperator.js"></script>
- <script type="text/javascript" src="${ctx}/js/hotent/platform/bpm/BpmTaskExeAssignDialog.js"></script>
- <script type="text/javascript" src="${ctx}/js/hotent/platform/bpm/publicSign.js"></script>
- <!-- 表单写手引用的JS -->
- <!--[if lt IE 9]>
- <script type="text/javascript" src="${ctx}/write/libs/flashcanvas.js"></script>
- <![endif]-->
- <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
- <meta name="viewport" content="initial-scale=1.0, target-densitydpi=device-dpi" /><!-- this is for mobile (Android) Chrome -->
- <meta name="viewport" content="initial-scale=1.0, width=device-height"><!-- mobile Safari, FireFox, Opera Mobile -->
- <script type="text/javascript" src="${ctx}/write/libs/flashcanvas.min.js"></script>
- <script type="text/javascript" src="${ctx}/write/libs/jquery.params.js"></script>
- <script type="text/javascript" src="${ctx}/write/libs/jSignature.min.js"></script>
- <script type="text/javascript" src="${ctx}/write/libs/jSignature.min.noconflict.js"></script>
- <script type="text/javascript" src="${ctx}/write/libs/modernizr.js"></script>
- <!-- 表单签章引用的JS -->
- <!--金格签章依赖-->
- <link rel="stylesheet" href="${ctx}/js/kinggrid/dialog/artDialog/ui-dialog.css">
- <link rel="stylesheet" href="${ctx}/js/kinggrid/core/kinggrid.plus.css">
- <link rel="stylesheet" href="${ctx}/js/kinggrid/css/search.css">
- <script type="text/javascript" src="${ctx}/js/kinggrid/core/kinggrid.min.js"></script>
- <script type="text/javascript" src="${ctx}/js/kinggrid/core/kinggrid.plus.min.js"></script>
- <script type="text/javascript" src="${ctx}/js/kinggrid/dialog/artDialog/dialog-min.js"></script>
- <script type="text/javascript" src="${ctx}/js/kinggrid/signature.min.js"></script><!-- html签章核心JS -->
- <script type="text/javascript" src="${ctx}/js/kinggrid/signature.pc.min.js"></script><!-- PC端附加功能 -->
- <script type="text/javascript" src="${ctx}/js/kinggrid/password.min.js"></script>
- <script type="text/javascript" src="${ctx}/js/kinggrid/signature_pad.min.js"></script>
- <script type="text/javascript" src="${ctx}/js/kinggrid/jquery.timer.dev.js"></script>
- <script type="text/javascript" src="${ctx}/js/kinggrid/jquery.qrcode.min.js"></script>
- <script type="text/javascript" src="${ctx}/js/kinggrid/qrcode.min.js"></script>
- <script type="text/javascript" src="${ctx}/js/kinggrid/jsQR.js"></script>
- <style>
- #k1 input{
- padding: 5px 8px;
- margin: 0px 10px;
- border: 0px;
- display: inline-block;
- }
- </style>
- <script type="text/javascript">
- $(function(){
- var defIdArray=new Array();
- defIdArray.push("10000010130057");//将需要显示手写功能的流程ID放入数组
- //判断是否应该显示手写板和工具条
- for(var i=0;i<defIdArray.length;i++){
- if(defIdArray[i]=="${bpmDefinition.defId}"){
- $("#kuang").show();
- }
- }
- if(!IsPC()){
- $("#dianziqianzhang").hide();
- $("#rwspNav").hide();
- $("#onlineTextEdit").hide();
- }
- function IsPC() {
- var userAgentInfo = navigator.userAgent;
- var Agents = ["Android", "iPhone",
- "SymbianOS", "Windows Phone",
- "iPad", "iPod"];
- var flag = true;
- for (var v = 0; v < Agents.length; v++) {
- if (userAgentInfo.indexOf(Agents[v]) > 0) {
- flag = false;
- break;
- }
- }
- return flag;
- }
- console.log("runid");
- console.log("${processRun.runId}");
- console.log("${task.id}");
- });
- function qddks(){
- var h = document.body.clientHeight;
- $('.datagrid-mask').css({display:"block",width:"100%",height:h}).appendTo("body");
- }
- function qddjs(){
- $('.datagrid-mask').remove();
- }
- var taskId="${task.id}";
- var isExtForm=${isExtForm};
- var isEmptyForm=${isEmptyForm};
- var isSignTask=${isSignTask};
- var isHidePath=${isHidePath};
- var isManage=${isManage};
- var isNeedSubmitConfirm=${bpmDefinition.submitConfirm==1};
- var isHandChoolse=${isHandChoolse};
- var bpmGangedSets=[];
- var form;
- var signsequence = 0;
- //操作类型
- //1.完成任务
- //2.保存数据
- var operatorType=1;
- loadFormSignData();
- //补签
- function showAddSignWindow(){
- TaskAddSignWindow({taskId:taskId,callback:function(sign){
- //loadTaskSign();
- }});
- }
- //加载会签数据。
- function loadTaskSign(){
- $(".taskOpinion").load('${ctx}/platform/bpm/task/toSign.ht?taskId=${task.id}');
- }
- //显示流程图
- function showTaskUserDlg(){
- TaskImageUserDialog({actInstId:${processRun.actInstId}});
- }
- //显示沟通意见。
- function showTaskCommunication(conf){
- var obj = {data:CustomForm.getData()};
- isTaskEnd(function(){
- if(!conf) conf={};
- //输入子页面
- var url=__ctx + "/platform/bpm/task/toStartCommunicate.ht?taskId=${task.id}";
- /*KILLDIALOG*/
- DialogUtil.open({
- height:350,
- width: 500,
- title : '沟通意见',
- url: url,
- isResize: true,
- //自定义参数
- obj: obj
- });
- })
- }
- //显示流转意见
- function showTaskTransTo(conf) {
- var obj = {data:CustomForm.getData()};
- isTaskEnd(function(){
- if(!conf) conf={};
- //输入子页面
- var url=__ctx + "/platform/bpm/task/toTransTo.ht?taskId=${task.id}&curUserId=${curUserId}";
- url=url.getNewUrl();
- DialogUtil.open({
- height:500,
- width: 550,
- title : '显示流转意见',
- url: url,
- isResize: true,
- //自定义参数
- obj: obj,
- sucCall:function(rtn){
- if(rtn=="ok"){
- handJumpOrClose();
- }
- }
- });
- })
- }
- function isTaskEnd(callBack){
- var url="${ctx}/platform/bpm/task/isTaskExsit.ht";
- var params={taskId:"${task.id}"};
- $.post(url,params,function(responseText){
- var obj=new com.hotent.form.ResultMessage(responseText);
- if(obj.isSuccess()){
- callBack.apply(this);
- }
- else{
- $.ligerDialog.warn("这个任务已经完成或被终止了!",'提示');
- }
- });
- }
- function handFormJson(json){}
- function submitForm(action,button){
- var ignoreRequired=false;
- if(button=="#btnSave" || button=="#btnReject" || button=="#btnRejectToStart"){
- ignoreRequired=true;
- }
- if($(button).hasClass("disabled"))return;
- if(isEmptyForm){
- qddjs();
- $.ligerDialog.error("还没有设置表单!",'提示信息');
- return;
- }
- var frmWorkFlow=$('#frmWorkFlow');
- frmWorkFlow.attr("action",action);
- if(isExtForm){
- var rtn = true;
- if(button!="a.save"){
- rtn=form.valid()
- }
- if(!rtn) return;
- $(button).addClass("disabled");
- frmWorkFlow.ajaxForm({success:showResponse }); //terry add
- if(frmWorkFlow.handleFieldName){//url表单清除命名
- frmWorkFlow.handleFieldName();
- }
- if(frmWorkFlow.setData){
- frmWorkFlow.setData();
- }
- frmWorkFlow.submit();
- }else{
- var rtn=CustomForm.validate({ignoreRequired:ignoreRequired});
- if(!rtn){
- qddjs();
- $.ligerDialog.warn("表单验证不成功,请检查表单是否正确填写!","提示信息");
- return;
- }
- if(button!="#btnSave" || button=="#btnReject" || button=="#btnRejectToStart" ){
- //子表必填检查(兼容新旧版本)
- rtn = SubtablePermission.subRequired();
- if(!rtn){
- qddjs();
- $.ligerDialog.warn("请填写子表表单数据!","提示信息");
- return;
- }
- }
- var data=CustomForm.getData();
- //WebSign控件提交。 有控件时才提交 xcx
- if(WebSignPlugin.hasWebSignField){
- WebSignPlugin.submit();
- }
- $(button).addClass("disabled");
- var uaName=navigator.userAgent.toLowerCase();
- if(uaName.indexOf("firefox")>=0||uaName.indexOf("chrome")>=0){ //异步处理
- //Office控件提交。 有可以提交的文档
- if(OfficePlugin.submitNum>0){
- OfficePlugin.submit(); //火狐和谷歌 的文档提交包括了 业务提交代码部分(完成 OfficePlugin.submit()后面的回调 函数 有 业务提交代码),所以 后面就不用加上业务提交代码
- }else{ //没有可提交的文档时 直接做 业务提交代码
- data=CustomForm.getData();
- //设置表单数据
- $("#formData").val(data);
- FormSubmitUtil.submitFormAjax(frmWorkFlow,showResponse,handFormJson);
- }
- }else{ //同步处理
- //Office控件提交。 有可以提交的文档
- if(OfficePlugin.submitNum>0){
- OfficePlugin.submit();
- //当提交问题 等于 提交数量的变量 时 表示所有文档 都提交了 然后做 业务相关的提交
- if(OfficePlugin.submitNum == OfficePlugin.submitNewNum){
- //获取自定义表单的数据
- data=CustomForm.getData();
- //设置表单数据
- $("#formData").val(data);
- FormSubmitUtil.submitFormAjax(frmWorkFlow,showResponse,handFormJson);
- OfficePlugin.submitNewNum = 0; //重置 提交数量的变量
- }else{
- $.ligerDialog.warn("提交失败,OFFICE控件没能正常使用,请重新安装 !!!","提示");
- }
- }else{
- //获取自定义表单的数据
- data=CustomForm.getData();
- //设置表单数据
- $("#formData").val(data);
- FormSubmitUtil.submitFormAjax(frmWorkFlow,showResponse,handFormJson);
- qddjs();
- }
- }
- }
- }
- function saveData(){
- var operatorObj=getByOperatorType();
- var button="#" +operatorObj.btnId;
- var rtn=beforeClick(operatorType);
- if( rtn==false){
- return;
- }
- if(isExtForm){//提交第三方表单时检查该表单的参数
- var frm=$('#frmWorkFlow');
- if(!frm.valid()) return ;
- if(frm.setData)frm.setData();
- }
- var action="${ctx}/platform/bpm/task/saveData.ht";
- SavaPublicSignData();
- submitForm(action,button);
- }
- // 在完成任务之前,加上判断是否需要弹出意见对话框
- function completeTaskBefore(){
- // 加上判断是否需要弹出意见对话框
- var isPopup = '${bpmNodeSet.isPopup}';
- var isRequired = '${bpmNodeSet.isRequired}';
- if(isPopup == 1){
- //var rtn=form.valid();
- //if(!rtn) return;
- opintionDialog();
- } else {
- completeTask();
- }
- }
- //完成当前任务。
- function completeTask(){
- if($("input[name='nextPathId']").length>0){
- var b=false;//是否需要判断同步条件
- var destTask=$("input[name='destTask']:checked");
- if(destTask.length==0){
- b=true;
- }else{
- var nextPathId=destTask.parents("tr").find("[name=nextPathId]");
- if(nextPathId.length>0){
- b=true;
- }
- }
- if(b){
- var v=$("input[name='nextPathId']:checked").val();
- if(!v){
- $.ligerDialog.error("在同步条件后的执行路径中,您至少需要选择一条路径!",'提示信息');
- return;
- }
- }
- }
- if(!checkNodeUser()){//检查节点选择
- return;
- }
- var operatorObj=getByOperatorType();
- var button="#" +operatorObj.btnId;
- var action="${ctx}/platform/bpm/task/complete.ht";
- //执行前置脚本
- var rtn=beforeClick(operatorType);
- if( rtn==false){
- return;
- }
- //确认执行任务。
- if(isNeedSubmitConfirm){
- $.ligerDialog.confirm("您确定执行此操作吗?","提示",function(rtn){
- if(rtn){
- fjhb(action,button);
- }
- });
- }
- else{
- qddks();
- fjhb(action,button);
- }
- }
- //对附件进行前置处理
- function fjhb(action,button){
- var fileidarr = [];
- var txt = document.getElementsByName("attach");
- if(txt.length>0){
- //有附件的处理方法
- for(var i=0;i<txt.length;i++){
- if(txt[i].getAttribute("file").indexOf(".pdf")>0){
- fileidarr.push(txt[i].getAttribute("fileid"));
- }else{
- qddjs();
- $.ligerDialog.warn("文件格式错误,只能合并PDF文件!", '提示');
- return false;
- }
- }
- var data=CustomForm.getData();
- data=JSON.parse(data);
- $.post("${ctx}/platform/system/sysFile/mergeTaskPdfFiles.ht",{fileId:fileidarr,runId:"${processRun.runId}"},function(data){
- var JsonStr=JSON.parse("["+data+"]");
- var divObj = $("div[class='attachement']");
- var textareaObj=$("textarea[controltype='attachment']");
- var html=AttachMent.getHtml(JsonStr,"w");
- divObj.empty();
- divObj.append(html);
- textareaObj.empty();
- textareaObj.val(JSON.stringify(JsonStr));
- //合并后更新附件ID
- for(var i=0;i<JsonStr.length;i++) {
- var obj = JsonStr[i];
- var id = obj.id;
- console.log(id);
- $("input[name='wj']").val(id);
- }
- if(typeof CustomForm != "undefined"){
- CustomForm.validate();
- }
- if(JsonStr[0].success){
- submitForm(action,button);
- }
- });
- }
- }
- //判断每条执行被选择的路径是否已选择用户,主要是在可选节点和用户时用到
- function checkNodeUser(){
- var flag = true;//是否全部都满足
- $("input[name='lastDestTaskId']").each(function(){
- if($("[value='"+$(this).val()+"'][name='destTask']").is(":checked")){//只检验被选中的项
- if($("input[name='"+$(this).val()+"_userId']:checked").length<=0){
- flag=false;
- }
- }
- });
- if(!flag){
- $.ligerDialog.warn("每条执行路径至少要选择一个用户",'提示信息');
- }
- return flag;
- }
- function getByOperatorType(){
- var obj={};
- switch(operatorType){
- //同意
- case 1:
- LoadSignData();
- obj.btnId="btnAgree";
- obj.msg="执行任务成功!";
- break;
- //反对
- case 2:
- obj.btnId="btnNotAgree";
- obj.msg="执行任务成功!";
- break;
- //弃权
- case 3:
- obj.btnId="btnAbandon";
- obj.msg="执行任务成功!";
- break;
- //驳回
- case 4:
- obj.btnId="btnReject";
- obj.msg="驳回任务成功!";
- break;
- //驳回到发起人
- case 5:
- obj.btnId="btnRejectToStart";
- obj.msg="驳回到发起人成功!";
- break;
- //保存表单
- case 8:
- obj.btnId="btnSave";
- obj.msg="保存表单数据成功!";
- break;
- }
- return obj;
- }
- function getErrorByOperatorType(){
- var rtn="";
- switch(operatorType){
- //同意
- case 1:
- //反对
- case 2:
- //弃权
- case 3:
- rtn="执行任务失败!";
- break;
- //驳回
- //驳回
- case 4:
- rtn="驳回任务失败!";
- break;
- //驳回到发起人
- case 5:
- rtn="驳回到发起人失败!";
- break;
- //保存表单
- case 8:
- rtn="保存表单数据失败!";
- break;
- }
- return rtn;
- }
- function showResponse(responseText){
- var operatorObj=getByOperatorType();
- $("#" +operatorObj.btnId).removeClass("disabled");
- var obj=new com.hotent.form.ResultMessage(responseText);
- if(obj.isSuccess()){
- $.ligerDialog.success(operatorObj.msg,'提示信息',function(){
- var rtn=afterClick(operatorType);
- if( rtn==false){
- return;
- }
- handJumpOrClose();
- });
- }else{
- var title=getErrorByOperatorType();
- $.ligerDialog.err('出错信息',title,obj.getMessage());
- }
- }
- //弹出回退窗口 TODO 去除
- function showBackWindow(){
- new TaskBackWindow({taskId:taskId}).show();
- }
- $(function(){
- initForm();
- //显示路径
- if(isHandChoolse){
- <c:choose>
- <c:when test="${fn:indexOf(bpmNodeSet.jumpType,'3')!=-1}">
- chooseJumpType(3);
- </c:when>
- <c:otherwise>
- chooseJumpType(2);
- </c:otherwise>
- </c:choose>
- }else{
- chooseJumpType(1);
- }
- resizeIframe();
- //初始化联动设置
- <c:if test="${!empty bpmGangedSets}">
- bpmGangedSets = ${bpmGangedSets};
- FormUtil.InitGangedSet(bpmGangedSets);
- </c:if>
- });
- //获取是否允许直接结束。
- function getIsDirectComplete(){
- var isDirectComlete = false;
- if($("#chkDirectComplete").length>0){
- if($("#chkDirectComplete").attr("checked")=="checked"){
- isDirectComlete = true;
- }
- }
- return isDirectComlete;
- }
- //提交第三方表单时检查该表单的参数
- function setExtFormData(){
- if(isExtForm){
- var frm=$('#frmWorkFlow');
- if(!frm.valid()) return ;
- if(frm.setData)frm.setData();
- }
- }
- function initBtnEvent(){
- //0,弃权,1,同意,2反对。
- var objVoteAgree=$("#voteAgree");
- var objBack=$("#back");
- //同意
- if($("#btnAgree").length>0){
- $("#btnAgree").click(function(){
- var voteContent = $('#voteContent'),
- content = voteContent.val();
- setExtFormData();
- var isDirectComlete = getIsDirectComplete();
- operatorType=1;
- //同意:5,一票通过。
- var tmp =isDirectComlete?"5":"1";
- objVoteAgree.val(tmp);
- objBack.val("0");
- // 提前校验表单
- var beforeScript=beforeClick(getByOperatorType());
- if(beforeScript==false) return;
- var rtn=CustomForm.validate({ignoreRequired:false});
- if(!rtn){
- $.ligerDialog.warn("表单验证不成功,请检查表单是否正确填写!","提示信息");
- return;
- }
- completeTaskBefore();
- });
- }
- //反对
- if($("#btnNotAgree").length>0){
- $("#btnNotAgree").click(function(){
- setExtFormData();
- var isDirectComlete = getIsDirectComplete();
- operatorType=2;
- ////直接一票通过
- var tmp =isDirectComlete?'6':'2';
- objVoteAgree.val(tmp);
- objBack.val("0");
- completeTaskBefore();
- });
- }
- //弃权
- if($("#btnAbandon").length>0){
- $("#btnAbandon").click(function(){
- setExtFormData();
- operatorType=3;
- objVoteAgree.val(0);
- objBack.val("");
- completeTaskBefore();
- })
- }
- //驳回
- if($("#btnReject").length>0){
- $("#btnReject").click(function(){
- setExtFormData();
- operatorType=4;
- objVoteAgree.val(3);
- objBack.val(1);
- completeTaskBefore();
- })
- }
- //驳回到发起人
- if($("#btnRejectToStart").length>0){
- $("#btnRejectToStart").click(function(){
- var voteContent = $('#voteContent'),
- content = voteContent.val();
- setExtFormData();
- operatorType=5;
- //驳回到发起人
- objVoteAgree.val(3);
- objBack.val(2);
- completeTaskBefore();
- })
- }
- //保存表单
- if($("#btnSave").length>0){
- $("#btnSave").click(function(){
- setExtFormData();
- operatorType=8;
- saveData();
- })
- }
- //终止流程
- $("#btnEnd").click(function(){
- isTaskEnd(endTask);
- });
- }
- // 弹出意见对话框
- function opintionDialog(){
- var isRequired = '${bpmNodeSet.isRequired}';
- var actDefId = $("#actDefId").val();
- var url= __ctx + '/platform/bpm/task/opDialog.ht?isRequired=' +isRequired+'&actDefId='+actDefId;
- var voteContent = $("#voteContent").val();
- DialogUtil.open({
- height:350,
- width: 500,
- title : '填写意见',
- url: url,
- isResize: true,
- //自定义参数
- voteContent:voteContent,
- sucCall:function(rtn){
- // 填写到系统的意见
- $("#voteContent").val(rtn);
- // 完成当前任务
- //alert(rtn);alert($("#voteContent").val());return;
- completeTask();
- //signData();
- }
- });
- }
- function signData(){
- //processRun.globalFlowNo 为单ID
- var signdata =AztSignSealFrom.AztWebSignSealkeyPublic.ESASaveSignData();
- if(signdata!=null&&signdata!=''){
- $.ajax({
- type:"post",
- url:__ctx + "/platform/sign/sign/save.ht",
- dataType:"json",
- data:{taskid:"${processRun.globalFlowNo}",userid:"${curUserId}",signdata:signdata,signtype:'1',signsequence:signsequence+1},
- success:function(data){
- if(data.result){
- $.ligerDialog.success(data.message,"消息提示",function(){
- saveData();
- signsequence++;
- });
- }
- else{
- //$.ligerDialog.warn(data.message,"消息提示");
- }
- }
- });
- }
- }
- //终止流程。
- function endTask(){
- var url=__ctx + "/platform/bpm/task/toStartEnd.ht";
- url=url.getNewUrl();
- DialogUtil.open({
- height:250,
- width: 400,
- title : '终止流程',
- url: url,
- isResize: true,
- //自定义参数
- sucCall:function(rtn){
- var url="${ctx}/platform/bpm/task/endProcess.ht?taskId=${task.id}";
- var params={taskId:taskId,memo:rtn};
- $.post(url,params,function(responseText){
- var obj=new com.hotent.form.ResultMessage(responseText);
- if(!obj.isSuccess()){
- $.ligerDialog.err("提示信息","终止任务失败!",obj.getMessage());
- return;
- }
- $.ligerDialog.success(obj.getMessage(),"提示信息",function(){
- handJumpOrClose();
- });
- });
- }
- });
- }
- function handJumpOrClose(){
- //如果按钮类型为保存则不关闭窗口。
- if(operatorType==8) return;
- if(window.opener){
- try{
- window.opener.location.href=window.opener.location.href.getNewUrl();
- }
- catch(e){}
- }
- window.close();
- }
- function initForm(){
- //初始化按钮事件。
- initBtnEvent();
- if(isEmptyForm) return;
- if(isExtForm){
- form=$('#frmWorkFlow').form({excludes:"[type=append]"});
- var formUrl=$('#divExternalForm').attr("formUrl");
- $('#divExternalForm').load(formUrl, function() {
- hasLoadComplete=true;
- //动态执行第三方表单指定执行的js
- try{
- afterOnload();
- }catch(e){}
- initSubForm();
- OfficePlugin.init();
- });
- }else{
- $(".taskopinion").each(function(){
- $(this).removeClass("taskopinion");
- var actInstId=$(this).attr("instanceId");
- $(this).load("${ctx}/platform/bpm/taskOpinion/listform.ht?actInstId="+actInstId);
- });
- }
- }
- function initSubForm(){
- $('#frmWorkFlow').ajaxForm({success:showResponse });
- }
- function showRoleDlg(){
- RoleDialog({callback:function(roleId,roleName){$('#forkUserUids').val(roleId);}});
- }
- function chooseJumpType(val){
- //如果是沟通不需要显示跳转信息,而且它没有executionId 会报错
- if(${task.description==15}) return;
- if(isHidePath&&isManage==0) return;
- var obj=$('#jumpDiv');
- var url="";
- if(val==1){
- url="${ctx}/platform/bpm/task/tranTaskUserMap.ht?taskId=${task.id}&selectPath=0";
- }
- //选择路径跳转
- else if(val==2){
- url="${ctx}/platform/bpm/task/tranTaskUserMap.ht?taskId=${task.id}";
- }
- //自由跳转
- else if(val==3){
- url="${ctx}/platform/bpm/task/freeJump.ht?taskId=${task.id}";
- }
- url=url.getNewUrl();
- if(val==3){ //自由跳转
- $.ajaxSetup({async:false}); //同步 获得结果后 再去查询相关的人员
- obj.html(obj.attr("tipInfo")).show().load(url);
- $.ajaxSetup({async:true}); //异步
- //自由跳转 时 从下拉节点的默认的值 中查出相关的人员
- var destTask=$('#destTask'); //默认的选中的对象
- changeDestTask(destTask); //查出相关的人员 并改显示出来
- }else{
- obj.html(obj.attr("tipInfo")).show().load(url);
- }
- };
- //为目标节点选择执行的人员列表
- function selExeUsers(obj,nodeId,scope){
- var span=$(obj).siblings("span");
- var aryChk=$(":checkbox",span);
- var selectExecutors =[];
- aryChk.each(function(){
- var val=$(this).val();
- var k=val.split("^");
- var userObj={};
- userObj.type=k[0];
- userObj.id=k[1];
- userObj.name=k[2];
- selectExecutors.push(userObj);
- });
- if(!scope){
- scope={};
- scope.type='system',
- scope.value='all';
- scope=JSON2.stringify(scope);
- }else{
- scope=scope.replaceAll("#@","\"");
- }
- FlowUserDialog({selectUsers:selectExecutors,scope:scope,callback:function(types,objIds,objNames){
- if(objIds==null) return;
- var aryTmp=[];
- for(var i=0;i<objIds.length;i++){
- var check="<input type='checkbox' include='1' name='" + nodeId + "_userId' checked='checked' value='"+types[i] +"^"+ objIds[i]+"^"+objNames[i] +"'/> "+objNames[i];
- aryTmp.push(check);
- }
- span.html(aryTmp.join(''));
- }});
- }
- function selectExeUsers(obj,scope){
- var destTask=$("#destTask");
- if(destTask){
- $("#lastDestTaskId").val(destTask.val());
- }
- selExeUsers(obj,destTask.val(),scope);
- }
- //显示审批历史
- function showTaskOpinions(){
- var url="${ctx}/platform/bpm/taskOpinion/list.ht?runId=${processRun.runId}&isOpenDialog=1";
- url=url.getNewUrl();
- DialogUtil.open({
- url:url,
- title:'审批历史',
- height:'600',
- width:'900'
- });
- }
- //更改
- function changeDestTask(sel){
- var nodeId=sel.value;
- if(typeof nodeId == 'undefined'){ //对象不是用原始JS的,而是通过Jquery获取的对象
- nodeId = sel.val();
- }
- if(typeof nodeId == 'undefined' || nodeId==null || nodeId==""){
- $('#jumpUserDiv').html("");
- $('#lastDestTaskId').val("");
- return;
- }
- $('#lastDestTaskId').val(nodeId);
- var url="${ctx}/platform/bpm/task/getTaskUsers.ht?taskId=${task.id}&nodeId="+nodeId;
- $.getJSON(url, function(dataJson){
- var data=eval(dataJson);
- var aryHtml=[];
- for(var i=0;i<data.length;i++){
- var span="<input type='checkbox' include='1' name='" + nodeId + "_userId' checked='checked' value='"+data[i].type+"^"+data[i].executeId+"^"+data[i].executor+"'/> "+data[i].executor;
- aryHtml.push(span);
- }
- $('#jumpUserDiv').html(aryHtml.join(''));
- });
- }
- function isTaskEnd(callBack){
- var url="${ctx}/platform/bpm/task/isTaskExsit.ht";
- var params={taskId:"${task.id}"};
- $.post(url,params,function(responseText){
- var obj=new com.hotent.form.ResultMessage(responseText);
- if(obj.isSuccess()){
- callBack.apply(this);
- }
- else{
- $.ligerDialog.warn("当前任务已经完成或被终止","提示信息");
- }
- });
- }
- function isTaskEnd2(callBack){
- var url="${ctx}/platform/bpm/task/isTaskExsit.ht";
- var params={taskId:"${task.id}"};
- $.post(url,params,function(responseText){
- var obj=new com.hotent.form.ResultMessage(responseText);
- if(obj.isSuccess()){
- callBack.apply(this);
- }
- else{
- $.ligerDialog.warn("当前任务已经完成或被终止","提示信息");
- }
- });
- }
- //转交待办
- function changeAssignee(){
- if(${isCanAssignee}){
- isTaskEnd(function(){
- BpmTaskExeAssignDialog({taskId:taskId,userId:'${userId}',callback:function(rtn){
- if(rtn){
- handJumpOrClose();
- }
- }
- });
- });
- }
- else{
- $.ligerDialog.warn("当前任务不能转办!","提示信息");
- }
- };
- function resizeIframe(){
- if($("#frameDetail").length==0) return;
- $("#frameDetail").load(function() {
- $(this).height($(this).contents().height()+20);
- }) ;
- }
- // 选择常用语
- function addComment(){
- var objContent=document.getElementById("voteContent");
- var selItem = $('#selTaskAppItem').val();
- jQuery.insertText(objContent,selItem);
- }
- function openForm(formUrl){
- var winArgs="dialogWidth=500px;dialogHeight=400px;help=0;status=0;scroll=0;center=1";
- var url=formUrl.getNewUrl();
- window.open(url,"",winArgs);
- }
- function reference(){
- var defId=${bpmDefinition.defId};
- var url="${ctx}/platform/bpm/processRun/getRefList.ht?defId=" +defId;
- var params="height=400,width=700,status=no,toolbar=no,menubar=no,location=no,resizable=1,scrollbars=1";
- window.open(url);
- }
- function openHelpDoc(fileId){
- var h=screen.availHeight-35;
- var w=screen.availWidth-5;
- var vars="top=0,left=0,height="+h+",width="+w+",status=no,toolbar=no,menubar=no,location=no,resizable=1,scrollbars=1";
- var showUrl = __ctx+"/platform/form/office/get.ht?fileId=" + fileId;
- window.open(showUrl,"myWindow",vars);
- }
- //增加Web签章
- function addWebSigns(){
- //AddSecSignFromServiceX(); //WebSignPlugin JS类
- keySignpublicSeal(++signsequence);
- }
- //增加手写签章
- function addHangSigns(){
- AddSecHandSignNoPromptX(); //WebSignPlugin JS类
- }
- // 删除实例
- function delInstance(){
- $.ligerDialog.confirm("确定要删除吗?","提示", function(rtn) {
- if(rtn){
- $.ajax({
- type : "post",
- url : __ctx + "/platform/bpm/processRun/delAjax.ht?runId=${processRun.runId}",
- async : false,
- success : function(result) {
- if(result.result == 1){
- $.ligerDialog.success(result.message,"提示信息",function(){
- handJumpOrClose();
- });
- }else{
- $.ligerDialog.warn(result.message,"提示信息");
- }
- }
- });
- }
- });
- }
- // 自定义打印
- function customPrint(printAlias){
- var url="${ctx}/platform/bpm/processRun/printForm.ht?runId=${processRun.runId}&printAlias="+printAlias;
- jQuery.openFullWindow(url);
- }
- function loadFormSignData(){
- $.ajax({
- type:"post",
- url:"${ctx}/platform/sign/sign/get.ht",
- dataType:"json",
- data:{proRunId:"${processRun.globalFlowNo}"},
- success:function(data){
- if(data.result){
- // $.ligerDialog.success(data.message,"消息提示",function(){
- //saveData();
- var obj = JSON.parse(data.message);
- for(var i=0;i<obj.length;i++){
- //alert(obj[i].signdata);
- LoadSignData(obj[i].signdata,obj[i].signsequence);
- signsequence++;
- }
- //});
- }
- else{
- //$.ligerDialog.warn(data.message,"消息提示");
- }
- }
- });
- }
- //在线拟文方法 limeng 20190517 ADD
- function onlineText(){
- OnlineText.CreateNew('${processRun.runId}'); //在线编辑 JS类
- }
- //正文审核
- function onlineTextEdit(){
- $.ajax({
- type:"post",
- url:"${ctx}/platform/system/sysFile/getContentFileByRunId.ht",
- dataType:"json",
- data:{runId:${processRun.runId}},
- success:function(data){
- jsondata=$.parseJSON(data.message);
- OnlineText.onlineTextEdit(jsondata.fileId,'${processRun.runId}'); //在线编辑 JS类
- }
- });
- }
- //正文编辑
- function onlineTextOverride(){
- $.ajax({
- type:"post",
- url:"${ctx}/platform/system/sysFile/getContentFileByRunId.ht",
- dataType:"json",
- data:{runId:${processRun.runId}},
- success:function(data){
- jsondata=$.parseJSON(data.message);
- OnlineText.onlineTextOverride(jsondata.fileId,'${processRun.runId}');
- }
- });
- }
- //模板套红
- function onlineTextTemplateTaoHong(){
- $.ajax({
- type:"post",
- url:"${ctx}/platform/system/sysFile/getContentFileByRunId.ht",
- dataType:"json",
- data:{runId:${processRun.runId}},
- success:function(data){
- jsondata=$.parseJSON(data.message);
- OnlineText.onlineTextTemplateTaoHong(jsondata.fileId,'${processRun.runId}');
- }
- });
- }
- function openOnlineTextHistory(){
-
- var url=__ctx+"/platform/bpm/task/toStarDialog.ht?runId=${processRun.runId}";
- dialog=DialogUtil.open({
- height:750,
- width: 1000,
- title : '历史附件',
- url: url,
- isResize: false
- });
- }
- </script>
- <!--WEB签章JS-->
- <script>
- //打开签章dialog
- var dialog;
- function openSignatureDialog(){
- var url=__ctx+"/platform/bpm/task/formView.ht?runId=${processRun.runId}&userId=${curUserId}&instanceId=${processRun.actInstId}&taskId=${task.id}&action=sign";
- dialog=DialogUtil.open({
- height:750,
- width: 1000,
- title : '查看签章',
- url: url,
- isResize: false
- });
- }
- function closeSignatureDialog(){
- dialog.close();
- }
- </script>
- </head>
- <body>
- <form id="frmWorkFlow" name=AztSignSealFrom method="post" >
- <OBJECT style="Z-INDEX: 1; POSITION: absolute; WIDTH: 1px; HEIGHT: 1px"
- id=AztWebSignSealkeyPublic
- classid=clsid:07121F49-A0DC-4EBD-A2A2-A0A71DC6FDB9></OBJECT>
- <OBJECT style="Z-INDEX: 1; POSITION: absolute; WIDTH: 1px; HEIGHT: 1px"
- id=AztWebSignSealkeyPrivate
- classid=clsid:07121F49-A0DC-4EBD-A2A2-A0A71DC6FDB9></OBJECT>
- <OBJECT style="Z-INDEX: 1; POSITION: absolute; WIDTH: 1px; HEIGHT: 1px"
- id=AztWebSignBarCode
- classid=clsid:07121F49-A0DC-4EBD-A2A2-A0A71DC6FDB9></OBJECT>
- <div id="signLoadCreate">
- <OBJECT style="Z-INDEX: 1; POSITION: absolute; WIDTH: 1px; HEIGHT: 1px" id=AztWebSignLoad1 classid=clsid:07121F49-A0DC-4EBD-A2A2-A0A71DC6FDB9></OBJECT>
- <OBJECT style="Z-INDEX: 1; POSITION: absolute; WIDTH: 1px; HEIGHT: 1px" id=AztWebSignLoad2 classid=clsid:07121F49-A0DC-4EBD-A2A2-A0A71DC6FDB9></OBJECT>
- <OBJECT style="Z-INDEX: 1; POSITION: absolute; WIDTH: 1px; HEIGHT: 1px" id=AztWebSignLoad3 classid=clsid:07121F49-A0DC-4EBD-A2A2-A0A71DC6FDB9></OBJECT>
- <OBJECT style="Z-INDEX: 1; POSITION: absolute; WIDTH: 1px; HEIGHT: 1px" id=AztWebSignLoad4 classid=clsid:07121F49-A0DC-4EBD-A2A2-A0A71DC6FDB9></OBJECT>
- <OBJECT style="Z-INDEX: 1; POSITION: absolute; WIDTH: 1px; HEIGHT: 1px" id=AztWebSignLoad5 classid=clsid:07121F49-A0DC-4EBD-A2A2-A0A71DC6FDB9></OBJECT>
- <OBJECT style="Z-INDEX: 1; POSITION: absolute; WIDTH: 1px; HEIGHT: 1px" id=AztWebSignLoad6 classid=clsid:07121F49-A0DC-4EBD-A2A2-A0A71DC6FDB9></OBJECT>
- <OBJECT style="Z-INDEX: 1; POSITION: absolute; WIDTH: 1px; HEIGHT: 1px" id=AztWebSignLoad7 classid=clsid:07121F49-A0DC-4EBD-A2A2-A0A71DC6FDB9></OBJECT>
- <OBJECT style="Z-INDEX: 1; POSITION: absolute; WIDTH: 1px; HEIGHT: 1px" id=AztWebSignLoad8 classid=clsid:07121F49-A0DC-4EBD-A2A2-A0A71DC6FDB9></OBJECT>
- </div>
- <div class="panel">
- <div class="panel-top">
- <!-- 悬浮工具栏实现的对象topNavWrapper 和 topNav 名称ID可以更改,但要和css的对象一致-->
- <div id="topNavWrapper">
- <ul id="topNav">
- <iframe style="position:absolute; visibility:inherit; top:0px; left:0px; width:100%; height:70px; z-index:-1; border-width:0px;"></iframe>
- <div id ="rwspNav" class="l-layout-header noprint" >
- 任务审批处理--<b>${task.name}</b>--<i>[${bpmDefinition.subject}-V${bpmDefinition.versionNo}]</i>
- </div>
- <c:choose>
- <c:when test="${(empty task.executionId) && task.description=='15' }">
- <jsp:include page="incTaskNotify.jsp"></jsp:include>
- </c:when>
- <c:when test="${(empty task.executionId) && (task.description=='38' || task.description=='39') }">
- <jsp:include page="incTaskTransTo.jsp"></jsp:include>
- </c:when>
- <c:otherwise>
- <jsp:include page="incToolBarNode.jsp"></jsp:include>
- </c:otherwise>
- </c:choose>
- </ul>
- </div>
- </div>
- <div class="panel-body">
- <c:choose>
- <c:when test="${bpmNodeSet.isHidePath==0||isManage==1}">
- <style>
- @media screen and (max-width: 900px) {
- #jumpDiv .table-grid{
- width:100%!important;
- }
- #jumpDiv .table-grid div{
- width:35%!important;
- }
- }
- </style>
- <div id="jumpDiv" class="noprint" style="display:none;" tipInfo="正在加载表单请稍候...">
- </div>
- </c:when>
- </c:choose>
- <!--审批意见-->
- <c:choose>
- <c:when test="${bpmNodeSet.isHideOption ==0 && bpmNodeSet.isPopup==0 && task.description!='15' && task.description!='38' && task.description!='39'}">
- <div class="noprint">
- <jsp:include page="incTaskOpinion.jsp"></jsp:include>
- </div>
- </c:when>
- <c:when test="${ bpmNodeSet.isPopup == 1 && task.description!='15' && task.description!='38' && task.description!='39'}">
- <div class="hidden"><textarea class="hidden" include="1" id="voteContent" name="voteContent" >${taskOpinion.opinion}</textarea></div>
- </c:when>
- </c:choose>
- <div class="printForm panel-detail" style="padding-bottom:75px;">
- <c:choose>
- <c:when test="${isEmptyForm==true}">
- <div class="noForm">没有设置流程表单。</div>
- </c:when>
- <c:otherwise>
- <c:if test="${hasGlobalFlowNo }">
- <div align="right" style="width:100%; margin:0px auto; height:30px;line-height:30px;">工单号:${processRun.globalFlowNo}</div>
- </c:if>
- <c:choose>
- <c:when test="${isExtForm}">
- <c:choose>
- <c:when test="${!empty detailUrl}">
- <iframe id="frameDetail" src="${detailUrl}" scrolling="no" frameborder="no" width="100%" height="100%"></iframe>
- </c:when>
- <c:otherwise>
- <div class="printForm" id="divExternalForm" formUrl="${form}"></div>
- </c:otherwise>
- </c:choose>
- </c:when>
- <c:otherwise>
- <div id="custformDiv" class="printForm" type="custform" style="width:98%;">
- ${form} <!-- 这个 form 是表单 -->
- </div>
- <input type="hidden" include="1" name="formData" id="formData" />
- </c:otherwise>
- </c:choose>
- </c:otherwise>
- </c:choose>
- </div>
- <input type="hidden" id="taskId" include="1" name="taskId" value="${task.id}"/>
- <%--驳回和撤销投票为再次提交 --%>
- <c:choose>
- <c:when test="${processRun.status eq 5 or processRun.status eq 6}">
- <input type="hidden" include="1" id="voteAgree" name="voteAgree" value="34"/>
- </c:when>
- <c:otherwise>
- <input type="hidden" include="1" id="voteAgree" name="voteAgree" value="1"/>
- </c:otherwise>
- </c:choose>
- <input type="hidden" include="1" id="back" name="back" value=""/>
- <input type="hidden" include="1" id="actDefId" name="actDefId" value="${bpmDefinition.actDefId}"/>
- <input type="hidden" include="1" name="defId" value="${bpmDefinition.defId}"/>
- <input type="hidden" include="1" id="isManage" name="isManage" value="${isManage}"/>
- <input type="hidden" include="1" id="businessKey" name="businessKey" value="${processRun.businessKey}"/>
- <input type="hidden" include="1" id="startNode" name="startNode" value="${toBackNodeId}"/>
- <input type="hidden" include="1" name="curUserId" value="${curUserId}"/>
- <input type="hidden" include="1" name="curUserName" value="${curUserName}"/>
- <input type="hidden" include="1" id="currentNode" name="currentNode" value="${task.taskDefinitionKey}"/>
- <input type="hidden" include="1" name="formKey" value="${formKey}"/>
- </div>
- </div>
- </form>
- <div class="datagrid-mask" style="position:fixed;z-index:110;top:0px;left:0px;display:none;background-color:rgba(0,0,0,0.2);"><img src="${ctx}/styles/blue/images/qdd.gif" style="left:50%;margin-left:-160px;display:block;position:absolute;top:50%;margin-top:-152px;"></div>
- </body>
- </html>
|