(function($){ $.rxWorkFlow=function(settings,callback){ var _this=this; _this.opts={ btnHolder:null, titleHolder:null, wfListHolder:null, arrBtns:[], wfCode:"", wfID:0, mID:0, aID:0, nID:0, withdrawAid:0, lID:0, snID:0, appendCols:[], onValid:function(code){return true;}, success:function(data){ if(data.code=="07"){ pageObj.workFlowObj.refreshGrid();} else{ if(data.error=="0"){ $.lnkMsgBox.success(data.msg,function(){ window.location.replace(window.location.href);});} else{ $.lnkMsgBox.error(data.msg);}}}, fail:function(data){$.lnkMsgBox.warn(data.msg);}}; $.extend(_this.opts,settings); _this.btnsArr=[]; _this.wfListGrid=null; _this.ActionInfo={}; _this.ActionCommand={ "01":"Approve", "011":"Across", "02":"Approve", "08":"Approve", "05":"Approve", "10":"Approve", "07":"Confirm"}; var wfProtype={ _wfPath:'../../RxAPI/csp/RxAPI.dll?page=WFAPI', rowGroup:{}, remarkRowIndex:null, _command:{ getWF:"GetWfInfo", getBtns:"GetActionBtn", getWfTitle:"GetWfTitle", refreshGrid:"QueryWfAuditList", onAudit:"ApproveJSON", onAccross:"AcrossJSON", onConfirm:"ConfirmJSON"}, error:{ isBusy:"流程系统忙,请稍后再试。", noInfo:"流程系统出现异常,暂时无法获取到单据信息。", remarkOverflow:"流程审核说明不能超过50个汉字。", invalidAuditSeq:"无效的流程审核参数。", parseError:"流程系统返回信息异常,请稍后再试。"}, dump:function(err){ $.lnkMsgBox.warn(this.error[err]);}, ajaxAction:function(url,callback){ $.getJSON(url,callback);}, lnkBtn:function(holder,id,text,enable,func){ var _btnDiv=$("
"); holder.append(_btnDiv); var _btn=_btnDiv.lnkButton({ name:id, text:text, width:70, disabled:(enable=="0"?true:false), click:func||function(){}}); return _btn;}, parseURL:function(cmd,options,params){ var opts={wfCode:0,wfID:0,mID:0,aID:0,nID:0,lID:0,snID:0}; $.extend(opts,options); var urlPram={ pcmd:this._command[cmd], wfid:opts.wfID, wfcode:opts.wfCode, mid:opts.mID, aid:opts.aID, nid:opts.nID, lid:opts.lID, snid:opts.snID}; if(typeof wf_api!=='undefined'){ this._wfPath=wf_api;} var url=this._wfPath+"&"+decodeURIComponent($.param(urlPram)); if(typeof params!=="undefined"){ if(typeof params=="string"){ url+="&"+decodeURIComponent($.trim(params));} else{ url+="&"+decodeURIComponent($.param(params))}} url+="&sessionKey="+sessionkey; url+="&format=json&jsoncallback=?"; return url;}, initGrid:function(options){ var g=this,opts={wfListHolder:'body',data:{Rows:[]}}; $.extend(opts,options); if(typeof opts.wfListHolder=='string'){ opts.wfListHolder=$(opts.wfListHolder);} var stepName=null; var stepRowIndex=null; var gridColumns=[{display:"序号",name:'rowIdx',width:35},{display:"步骤",name:'wfnd_stepName',width:80,render:function(rowdata,rowindex){ var _rowId=this.getRowId(rowindex); var _cellId=this.getCellId(rowindex,"c1"); if(stepName!=rowdata.wfnd_stepName){ stepName=rowdata.wfnd_stepName; stepRowIndex="R"+rowindex; g.rowGroup[stepRowIndex]={rowSpan:{cellId:_cellId,span:1},hideRows:[],hideCells:[],groupIndex:{}}; return stepName;} else{ g.rowGroup[stepRowIndex].hideRows.push(_rowId); g.rowGroup[stepRowIndex].hideCells.push(_cellId); g.rowGroup[stepRowIndex].groupIndex["R"+rowindex]=true; g.rowGroup[stepRowIndex].rowSpan.span++; return "";}}},{display:"角色:部门/岗位",name:'wfnd_name',align:'left',lineWrap:true,width:310},{display:"属性",name:'audit_type',width:60,render:function(rowdata,rowindex){ if(rowdata.audit_type=="--"){ return rowdata.audit_type;} else{ return ""+rowdata.audit_type+"";}}},{display:"操作人",name:'wfnd_emp_name',width:70,render:function(rowdata,rowindex){ if(rowdata.wfnd_emp_name=="--"){ return rowdata.wfnd_emp_name;} else{ return ""+rowdata.wfnd_emp_name+"";}}},{display:"意见",name:'audit_state',width:60},{display:"审核说明/步骤职责",name:'role_comment',align:'left',render:function(rowdata,rowindex){ if(rowdata.audit_state=="待审"&&rowdata.wfnd_emp_id==rowdata.user_id){ g.remarkRowIndex="R"+rowindex; return "";} else{ if(rowdata.audit_remark==""){ return "
"+rowdata.role_comment+"
";} else{ return "
"+rowdata.audit_remark+"
";}}}},{display:"操作日期",name:'audit_time',width:90}]; $.merge(gridColumns,opts.appendCols); var wfGrid=opts.wfListHolder.lnkGridView({ columns:gridColumns, enabledSselect:false, height:165}); g.refreshGrid(wfGrid,opts); return wfGrid;}, reConstructGrid:function(gridObj){ var g=this; var _expanding=false; for(var rowIndex in g.rowGroup){ var _groupItem=g.rowGroup[rowIndex]; var _rowSpan=_groupItem.rowSpan; var _cellDiv=$(document.getElementById(_rowSpan.cellId)).find("div"); if(_cellDiv){ _cellDiv.append("("+_rowSpan.span+")"); if(_rowSpan.span>1){ if(g.remarkRowIndex&&_groupItem.groupIndex[g.remarkRowIndex]){ var treeImg=$("
"); _cellDiv.prepend(treeImg);} else{ var treeImg=$("
"); treeImg.attr("rowIndex",rowIndex) treeImg.click(function(){ if($(this).hasClass("tree-open")){ $(this).removeClass("tree-open"); g.shrinkRow(this,gridObj);} else{ $(this).addClass("tree-open"); g.expandingRow(this,gridObj);}}); _cellDiv.prepend(treeImg);} if(g.remarkRowIndex){ $("#auditDesc").focus(function(){ if($.trim($(this).val())==$(this).attr("role")){ $(this).val(""); this.style.color='black';} this.rows=4;}).blur(function(){ if($.trim($(this).val())==""){ $(this).val($(this).attr("role")); this.style.color='#999';} this.rows=1;});}}} for(var i=0,l=_groupItem.hideCells.length;i100){ remarkCtrl.select(); wfProtype.dump("remarkOverflow");} else{ if($.isFunction(_this.opts.onValid)){ _isPass=(_this.opts.onValid(code)==true);}} return _isPass;}; _this.refreshGrid=function(){ wfProtype.refreshGrid(_this.wfListGrid,_this.opts);}; _this.submitWork=function(code,pcmd,paras){ var isSysCallBack=_this.ActionInfo[code].enable!=1; var isNonBlock=true; var colName=[],colLength=[],colVal=[]; $.each(_this.opts.appendCols,function(index,col){ if(col["fieldLength"]&&col["bindCtrl"]&col["bindCtrl"]!=""){ colName.push(col["name"]); colLength.push(col["fieldLength"]); var _colVal=$.trim($("#"+col["bindCtrl"]).val()); colVal.push(_colVal);}}); var _url=wfProtype._wfPath+"&pcmd="+pcmd+paras; _url+="&colName="+encodeURIComponent(colName.join("|||")); _url+="&colLength="+encodeURIComponent(colLength.join("|||")); _url+="&colVal="+encodeURIComponent(colVal.join("|||")); _url+="&sessionKey="+sessionkey; _url+="&format=json&jsoncallback=?"; wfProtype.ajaxAction(_url,function(jsnResult){ _this.opts.success(jsnResult);});}; _this.clickFunc=function(code){ var actionCmd=code; var isNonSysCmd=_this.ActionInfo[actionCmd].enable==1; var remarkCtrl=$("#auditDesc"); var remarkValue=""; var roleComment=""; if(remarkCtrl.length>0){ remarkValue=$.trim(remarkCtrl.val()); roleComment=remarkCtrl.attr("role"); if(remarkValue==roleComment){ remarkCtrl.val("");} if(isNonSysCmd&&remarkValue!=roleComment&&remarkValue.length>100){ $.lnkMsgBox.warn("审核说明不能超过100个字!",function(){ remarkCtrl.focus();}); return false;}} if(isNonSysCmd&&$.isFunction(_this.opts.onValid)){ if(!_this.opts.onValid(code)){ return false;}} var param="&wfid="+_this.opts.wfID; param+="&mid="+_this.opts.mID; param+="&aid="+(code=='05'||code=='10'?_this.opts.withdrawAid:_this.opts.aID); param+="&nid="+_this.opts.nID; param+="&action_code="+code; param+="&aut_desc="+encodeURIComponent(remarkValue); switch(code){ case "01": if(remarkCtrl.length>0){ if(remarkCtrl.attr("seq")&&remarkCtrl.attr("seq")==2&&(remarkValue==roleComment||remarkValue.length==0)){ $.lnkMsgBox.warn("请填写审核说明!",function(){ remarkCtrl.focus();});} if(remarkCtrl.attr("seq")&&remarkCtrl.attr("seq")==1){ $.lnkMsgBox.confirm("您要求联名的反馈意见还未全部回复
是否通过确认?",function(yes){ if(yes){ if(_this.opts.lID=="1"){ param+="&lid="+_this.opts.lID+"&snid="+t_this.opts.snID; actionCmd+="1";} _this.submitWork(code,_this.ActionCommand[actionCmd],param);}});} else{ if(_this.opts.lID=="1"){ param+="&lid="+_this.opts.lID+"&snid="+t_this.opts.snID; actionCmd+="1";} _this.submitWork(code,_this.ActionCommand[actionCmd],param);}} else{ if(_this.opts.lID=="1"){ param+="&lid="+_this.opts.lID+"&snid="+t_this.opts.snID; actionCmd+="1";} _this.submitWork(code,_this.ActionCommand[actionCmd],param);} break; case "02": _this.submitWork(code,_this.ActionCommand[actionCmd],param); break; case "04": case "06": case "12": case "13": case "09": wfProtype.openWfDialog(code,_this.opts); break; case "05": case "10": _this.submitWork(code,_this.ActionCommand[actionCmd],param); break; case "07": param+="&lid="+_this.opts.lID; _this.submitWork(code,_this.ActionCommand[actionCmd],param); break; case "08": _this.submitWork(code,_this.ActionCommand[actionCmd],param); break; case "11": break; default: break;}}, _this._initAfter=function(){ if(_this.opts.lID=="4"||_this.opts.lID=="6"||_this.opts.lID=="9"||_this.opts.lID=="11"||_this.opts.lID=="13"){ _this.clickFunc("07");} else if(this.opts.lID==null||this.opts.lID=="0"||this.opts.lID=="1"){ _url=wfProtype.parseURL("getBtns",_this.opts); wfProtype.ajaxAction(_url,function(jsnResult){ if(jsnResult){ _this.opts.withdrawAid=jsnResult.aid; var btnRows=jsnResult.Rows; if(btnRows.length>0){ var btnObj=[]; for(var i=0,len=btnRows.length;i]";} _this.opts.titleHolder.html(_wfTitle);}}); _this.wfListGrid=wfProtype.initGrid(_this.opts);}}; _this._init=function(){ if(_this.opts.arrBtns.length>0){ _this.addBtns(_this.opts.arrBtns);}; if(parseInt(_this.opts.mID)>0){ var _url=wfProtype.parseURL("getWF",_this.opts); wfProtype.ajaxAction(_url,function(jsnResult){ if(jsnResult){ _this.opts.wfID=jsnResult.info.ID; _this.opts.showGrid=jsnResult.info.CT>0; _this.ActionInfo=jsnResult.actions; if($.isFunction(callback)){ callback(0,_this.opts.showGrid);}; _this._initAfter();}});} else{ if($.isFunction(callback)){ callback(0,false);}}}; _this._init(); return _this;}; rxWorkFlow=function(settings,callback){ return new $.rxWorkFlow(settings,callback);};})(jQuery); function fnOpenWfWin(obj,type){ var url=""; if(type==1){ url="../../WFsys/csp/WFSys.dll?page=EWF03AE&pcmd=init&edit=-1&seq="+$(obj).attr("seq")+"&wfm_id="+$(obj).attr("wfm_id")+"&TH=600&TW=900";} else if(type==2){ url="../../PM03Sys/csp/PM03Sys.dll?page=ETM05AB&pcmd=init&emp_id="+$(obj).attr("wfnd_emp_id")+"&TW=840&TH=330";}} function getWFNode(){ var nodes=[{display:'审核流程',colSpan:4},{display:'申请',newline:true,name:'n1',width:80, render:function(rowdata,rowindex,value){ if(rowdata.s1==1){ return "
"+rowdata.n1+"
";} else if(rowdata.s1==2){ return "
"+rowdata.n1+"
";} else if(rowdata.s1==0){ return "
"+rowdata.n1+"
";} else{ return rowdata.n1;}}},{display:'审核',name:'n2',width:80, render:function(rowdata,rowindex,value){ if(rowdata.s2==1){ return "
"+rowdata.n2+"
";} else if(rowdata.s2==2){ return "
"+rowdata.n2+"
";} else if(rowdata.s2==0){ return "
"+rowdata.n2+"
";} else{ return rowdata.n2;}}},{display:'复核',name:'n3',width:80, render:function(rowdata,rowindex,value){ if(rowdata.s3==1){ return "
"+rowdata.n3+"
";} else if(rowdata.s3==2){ return "
"+rowdata.n3+"
";} else if(rowdata.s3==0){ return "
"+rowdata.n3+"
";} else{ return rowdata.n3;}}},{display:'批准',name:'n4',width:80, render:function(rowdata,rowindex,value){ if(rowdata.s4==1){ return "
"+rowdata.n4+"
";} else if(rowdata.s4==2){ return "
"+rowdata.n4+"
";} else if(rowdata.s4==0){ return "
"+rowdata.n4+"
";} else{ return rowdata.n4;}}}]; return nodes;} function rxWFEmpInfo(obj,emp_id){ if(emp_id=="")return; if(obj.title==""){ var _wfPath="../../rxDeskTop/csp/rxDeskTop.dll?page=WFAPI"; if(typeof wf_api!=='undefined'){ _wfPath=wf_api;} var url=_wfPath+"&pcmd=GetEmpDetail&emp_id="+emp_id+"&format=json&jsoncallback=?"; $.getJSON(url,function(jsnObj){ if(jsnObj){obj.title=jsnObj.empInfo;}});}}