/*options流程附加信息显示标示 pid_流程实例id pdid_流程定义id*/ function graphTrace(pid_,pdid_,taskid_) { //alert(pdid_); var _defaults = { srcEle: this, pid: pid_,//$(this).attr('pid'), pdid: pdid_,// $(this).attr('pdid') taskid: taskid_// $(this).attr('pdid') }; var opts = $.extend(true, _defaults); // 获取图片资源,如果流程实例id不为空,根据实例id调用资源显示;若为空则调用流程定义资源显示 if(opts.pid!=""){ var imageUrl = ext.contextPath + "/activiti/workflow/resource/process-instance.do?pid=" + opts.pid + "&type=image"; $.post(ext.contextPath + '/activiti/workflow/processDefinition/trace.do?pdid=' + opts.pdid, function(result) { // 生成图片 $.getJSON(ext.contextPath + '/activiti/workflow/process/trace.do?pid=' + opts.pid+'&taskId='+opts.taskid, function(infos) { var positionHtml = ""; var toppx=60; var leftpx=8; //console.info("trace返回结果",infos) // 生成图片 var varsArray = new Array(); $.each(infos, function(i, v) { //console.info("第"+i+"个节点",v) var $positionDiv = $('
', { 'class': 'activity-attr' }).css({ position: 'absolute', left: (v.x + leftpx-1), top: (v.y + toppx-1), width: (v.width - 2), height: (v.height - 2), backgroundColor: 'black', opacity: 0 }); // alert("节点边框"); // 节点边框 var $border = $('
', { 'class': 'activity-attr-border' }).css({ position: 'absolute', left: (v.x+leftpx), top: (v.y+toppx), width: (v.width ), height: (v.height ), }); if (v.currentActiviti) { console.log("当前节点",v) $border.addClass('ui-corner-all-12').css({ border: '3px solid red' }); } // alert($positionDiv.prop('outerHTML')); positionHtml += $positionDiv.prop('outerHTML') + $border.prop('outerHTML'); varsArray[varsArray.length] = v.vars; }); $('#traceDiv').html(result); if ($('#workflowTraceDialog').length == 0) { $('
', { id: 'workflowTraceDialog', title: '查看流程', html: "
" + "
" + positionHtml + "
" + "
" }).appendTo('#trace_body'); } else { $('#workflowTraceDialog img').attr('src', imageUrl); $('#workflowTraceDialog #processImageBorder').html(positionHtml); } // 设置每个节点的data $('#workflowTraceDialog .activity-attr').each(function(i, v) { $(this).data('vars', varsArray[i]); }); // 打开对话框 openModal('traceModal'); }); /* $('#workflowTraceDialog').dialog({ modal: true, resizable: true, dragable: false, open: function() { $('#workflowTraceDialog').dialog('option', 'title', '查看流程()'); $('#workflowTraceDialog').css('padding', '0.2em'); $('#workflowTraceDialog .ui-accordion-content').css('padding', '0.2em').height($('#workflowTraceDialog').height() - 75); // 此处用于显示每个节点的信息,如果不需要可以删除 $('.activity-attr').qtip({ content: function() { var vars = $(this).data('vars'); var tipContent = ""; $.each(vars, function(varKey, varValue) { if (varValue) { tipContent += ""; } }); tipContent += "
" + varKey + "" + varValue + "
"; return tipContent; }, position: { at: 'bottom left', adjust: { x: 3 } } }); // end qtip }, close: function() { $('#workflowTraceDialog').remove(); }, width: document.documentElement.clientWidth * 0.95, height: document.documentElement.clientHeight * 0.95 });*/ }); }else{ //调用流程定义资源显示 var imageUrl = ext.contextPath + "/activiti/workflow/resource/read.do?processDefinitionId=" + opts.pdid + "&resourceType=image"; var positionHtml = ""; var toppx=60; var leftpx=8; $.post(ext.contextPath + '/activiti/workflow/processDefinition/trace.do?pdid=' + opts.pdid, function(result) { // 生成图片 $('#traceDiv').html(result); if ($('#workflowTraceDialog').length == 0) { $('
', { id: 'workflowTraceDialog', title: '查看流程', html: "
" + "
" }).appendTo('#trace_body'); } else { $('#workflowTraceDialog img').attr('src', imageUrl); } openModal('traceModal'); }); } } /** * @fn(routeNum) 回调函数,routeNum为选择的路径编号 * @taskId 当前任务实例id * @passFlag true表示通过,false表示不通过 */ var processExecute=function(fn,taskId,passFlag){ $.post(ext.contextPath + "/activiti/workflow/getRoutesForSelect.do", {taskId:taskId,passFlag:passFlag}, function(data) { var actRouteNum=0;//除退回后的有效路径数 $.each(data,function(index,item){ //routeNum为0表示退回 if(item.routeNum>0){ actRouteNum++; } }); if( actRouteNum>1){ console.info(actRouteNum) var buttons={ cancel: { text: "取消", value: null, visible: true, className: "btn btn-default btn-sm", closeModal: true, } }; var text =""; var btn_style=""; if(passFlag){ text="系统检测到当前任务存在多个分支走向,请选择您要提交至下一步节点"; btn_style="btn-info"; }else{ text="系统检测到当前任务存在多个驳回分支,请选择您要驳回至下一步节点"; btn_style="btn-danger"; } $.each(data,function(index,item){ //routeNum为0表示退回 if(item.routeNum>0){ buttons["item"+index]={}; buttons["item"+index].text=item.name; buttons["item"+index].value=item.routeNum; buttons["item"+index].className="btn "+btn_style+" btn-sm"; buttons["item"+index].closeModal=true; } }); console.info(buttons) swal({ text: text, buttons: buttons }) .then(function(value) { fn(value); }); }else{ fn(-1); } },'json'); } /** * 审核界面--流程选择节点, */ var processSelectNode = function(taskId){ //初始化路线选择 let routeNumSelect2 = $("#routeNum").select2({ placeholder:'请选择',//默认文字提示 language: "zh-CN", minimumResultsForSearch: -1,//禁用搜索框 }); //驳回意见初始化隐藏 // $("#reject").hide(); //初始化审核意见,通过(true)或驳回(false) var selectResult = $("#passstatus").select2({ placeholder:'请选择',//默认文字提示 minimumResultsForSearch: -1,//禁用搜索框 }); selectResult.on('change',function(){ var passFlag= $(this).val(); //驳回时显示驳回原因,通过时隐藏 // if(passFlag == 'false'){ // $("#reject").show(); // }else{ // $("#reject").hide(); // } //选择下一节点,先选择审核结果,再选择节点 $.post(ext.contextPath + "/activiti/workflow/getRoutesForSelect2.do", {taskId:taskId,passFlag:passFlag}, function(data) { $("#routeNum").empty(); var selelct = $("#routeNum").select2({ data: data, placeholder:'请先选择审核结果',//默认文字提示 allowClear: false,//允许清空 escapeMarkup: function (markup) { return markup; }, // 自定义格式化防止xss注入 language: "zh-CN", minimumInputLength: 0, minimumResultsForSearch: -1,//禁用搜索框 formatResult: function formatRepo(repo){return repo.text;}, // 函数用来渲染结果 formatSelection: function formatRepoSelection(repo){return repo.text;} // 函数用于呈现当前的选择 }); selelct.val(data[0].id).trigger("change"); //流程结束,不用选择人员 if(data[0].text == "结束流程"){ $("#selectUsers").hide(); } selelct.on('change',function(){ var routeName = $("#routeNum").find("option:selected").text(); if(routeName == "结束流程"){ $("#selectUsers").hide(); }else{ $("#selectUsers").show(); } }) },'json'); }) selectResult.val('').trigger("change"); //初始化审批人 var selectResultUser = $("#routeNum").select2({ placeholder:'请选择',//默认文字提示 minimumResultsForSearch: -1,//禁用搜索框 }); selectResultUser.on('change',function(){ var data1 = $("#routeNum").select2("data"); var targetusers=""; var targetUsersName=""; var resourceId= data1[0].resourceId; var modelKEY = data1[0].modelKEY; //选择下一节点,先选择审核结果,再选择节点,得到下一节点审批人 $.post(ext.contextPath + "/activiti/workflow/getTargetUsers4Node.do", {resourceId:resourceId,modelKEY:modelKEY}, function(data) { $("#targetusers").empty(); $("#targetUsersName").empty(); if(data !=null && data.length>0){ for(var i=0;i0){ targetusers = targetusers.substring(0, targetusers.length-1); } if(targetUsersName.length>0){ targetUsersName = targetUsersName.substring(0, targetUsersName.length-1); } //填写默认审批人 //$("#targetusers").val(targetusers); //$("#targetUsersName").val(targetUsersName); } },'json'); //得到下一节点审批职位 var targetjobs=""; $.post(ext.contextPath + "/activiti/workflow/getTargetJobs4Node.do", {resourceId:resourceId,modelKEY:modelKEY}, function(data) { $("#targetjobs").empty(); if(data !=null && data.length>0){ for(var i=0;i0){ targetjobs = targetjobs.substring(0, targetjobs.length-1); } //console.info("targetjobs:"+targetjobs); //填写默认审批人 //$("#targetusers").val(targetusers); //$("#targetUsersName").val(targetUsersName); } $("#targetjobs").val(targetjobs); },'json'); }) selectResult.val('').trigger("change"); } /** * 处理界面--流程选择节点, */ var processSelectNodeForHandle = function(taskId){ //驳回意见初始化隐藏 // $("#reject").hide(); //初始化审核意见,通过(true)或驳回(false) var selectResult = $("#passstatus").select2({ placeholder:'请选择',//默认文字提示 minimumResultsForSearch: -1,//禁用搜索框 }); selectResult.on('change',function(){ var passFlag= $(this).val(); //驳回时显示驳回原因,通过时隐藏 // if(passFlag == 'false'){ // $("#reject").show(); // }else{ // $("#reject").hide(); // } //选择下一节点,先选择审核结果,再选择节点 $.post(ext.contextPath + "/activiti/workflow/getRoutesForSelect2.do", {taskId:taskId,passFlag:passFlag}, function(data) { $("#routeNum").empty(); var selelct = $("#routeNum").select2({ data: data, placeholder:'请先选择审核结果',//默认文字提示 allowClear: false,//允许清空 escapeMarkup: function (markup) { return markup; }, // 自定义格式化防止xss注入 language: "zh-CN", minimumInputLength: 0, minimumResultsForSearch: -1,//禁用搜索框 formatResult: function formatRepo(repo){return repo.text;}, // 函数用来渲染结果 formatSelection: function formatRepoSelection(repo){return repo.text;} // 函数用于呈现当前的选择 }); selelct.val(data[0].id).trigger("change"); //流程结束,不用选择人员 if(data[0].text == "结束流程"){ $("#selectUsers").hide(); } selelct.on('change',function(){ var routeName = $("#routeNum").find("option:selected").text(); if(routeName == "结束流程"){ $("#selectUsers").hide(); }else{ $("#selectUsers").show(); } }) },'json'); }) selectResult.val('').trigger("change"); $.post(ext.contextPath + "/activiti/workflow/getRoutesForSelect2.do", {taskId:taskId,passFlag:true}, function(data) { var selelct = $("#routeNum").select2({ data: data, placeholder:'请先选择审核结果',//默认文字提示 allowClear: false,//允许清空 escapeMarkup: function (markup) { return markup; }, // 自定义格式化防止xss注入 language: "zh-CN", minimumInputLength: 0, minimumResultsForSearch: -1,//禁用搜索框 formatResult: function formatRepo(repo){return repo.text;}, // 函数用来渲染结果 formatSelection: function formatRepoSelection(repo){return repo.text;} // 函数用于呈现当前的选择 }); selelct.val(data[0].id).trigger("change"); //流程结束,不用选择人员 if(data[0].text == "结束流程"){ $("#selectUsers").hide(); } selelct.on('change',function(){ var routeName = $("#routeNum").find("option:selected").text(); if(routeName == "结束流程"){ $("#selectUsers").hide(); }else{ $("#selectUsers").show(); } }) },'json'); //初始化审批人 var selectResultUser = $("#routeNum").select2({ placeholder:'请选择',//默认文字提示 minimumResultsForSearch: -1,//禁用搜索框 }); selectResultUser.on('change',function(){ var data1 = $("#routeNum").select2("data"); var targetusers=""; var targetUsersName=""; var resourceId= data1[0].resourceId; var modelKEY = data1[0].modelKEY; //选择下一节点,先选择审核结果,再选择节点,得到下一节点审批人 $.post(ext.contextPath + "/activiti/workflow/getTargetUsers4Node.do", {resourceId:resourceId,modelKEY:modelKEY}, function(data) { $("#targetusers").empty(); $("#targetUsersName").empty(); if(data !=null && data.length>0){ for(var i=0;i0){ targetusers = targetusers.substring(0, targetusers.length-1); } if(targetUsersName.length>0){ targetUsersName = targetUsersName.substring(0, targetUsersName.length-1); } //填写默认审批人 //$("#targetusers").val(targetusers); //$("#targetUsersName").val(targetUsersName); } },'json'); //得到下一节点审批职位 var targetjobs=""; $.post(ext.contextPath + "/activiti/workflow/getTargetJobs4Node.do", {resourceId:resourceId,modelKEY:modelKEY}, function(data) { $("#targetjobs").empty(); if(data !=null && data.length>0){ for(var i=0;i0){ targetjobs = targetjobs.substring(0, targetjobs.length-1); } //填写默认审批人 //$("#targetusers").val(targetusers); //$("#targetUsersName").val(targetUsersName); } $("#targetjobs").val(targetjobs); },'json'); }) }