| 1 |
- MWF.xApplication.Execution=MWF.xApplication.Execution||{};MWF.xDesktop.requireApp("Template","Explorer",null,false);MWF.xDesktop.requireApp("Template","MForm",null,false);MWF.xDesktop.requireApp("Execution","WorkForm",null,false);MWF.xApplication.Execution.WorkGather=new Class({Extends:MWF.xApplication.Template.Explorer.PopupForm,Implements:[Options,Events],options:{style:"default",width:"100%",height:"100%",hasTop:true,hasIcon:false,hasBottom:true,title:"",draggable:false,closeAction:true,isNew:false,isEdited:true},initialize:function(t,e,i,s){this.setOptions(s);this.explorer=t;this.app=t.app;this.lp=this.app.lp.workGather;this.actions=this.app.restActions;this.path="/x_component_Execution/$WorkGather/";this.cssPath=this.path+this.options.style+"/css.wcss";this._loadCss();this.data=i||{};this.actions=e},load:function(){if(this.options.isNew){this.create()}else if(this.options.isEdited){this.edit()}else{this.open()}},createTopNode:function(){if(!this.formTopNode){this.formTopNode=new Element("div.formTopNode",{styles:this.css.formTopNode}).inject(this.formNode);this.formTopIconNode=new Element("div",{styles:this.css.formTopIconNode}).inject(this.formTopNode);this.formTopTextNode=new Element("div",{styles:this.css.formTopTextNode,text:this.data.title}).inject(this.formTopNode);if(this.options.closeAction){this.formTopCloseActionNode=new Element("div.formTopCloseActionNode",{styles:this.css.formTopCloseActionNode}).inject(this.formTopNode);this.formTopCloseActionNode.addEvent("click",function(){this.close()}.bind(this))}this.formTopContentNode=new Element("div",{styles:this.css.formTopContentNode}).inject(this.formTopNode);this._createTopContent()}},_createTopContent:function(){},_createTableContent:function(t){this.titleDiv=new Element("div.titleDiv",{styles:this.css.titleDiv,text:this.data.title}).inject(this.formTableArea);this.inforDiv=new Element("div.inforDiv",{styles:this.css.inforDiv}).inject(this.formTableArea);this.gatherDiv=new Element("div.gatherDiv",{styles:this.css.gatherDiv}).inject(this.formTableArea);this.getDepartmentGather()},getDepartmentGather:function(){this.reportDataArr=[];this.gatherDiv.empty();this.WorkReportView=new MWF.xApplication.Execution.WorkGather.WorkReportView(this.gatherDiv,this.app,this,{templateUrl:this.path+"listItem.json"});this.WorkReportView.load()},openWorkReport:function(t,e){MWF.xDesktop.requireApp("Execution","WorkReport",function(){var i={workReportId:t,workId:e};this.workReport=new MWF.xApplication.Execution.WorkReport(this,this.actions,i,{isEdited:false,width:"90%",height:"90%",onReloadView:function(t){this.getDepartmentGather()}.bind(this)});this.workReport.load()}.bind(this))},_createBottomContent:function(){this.submitActionNode=new Element("div.submitActionNode",{styles:this.css.formActionNode,text:this.lp.bottomAction.submit}).inject(this.formBottomNode);var t=this;this.submitActionNode.addEvent("click",function(e){this.app.confirm("warn",e,this.lp.submitWarn.warnTitle,this.lp.submitWarn.warnContent,300,120,function(){t.submitGather();this.close()},function(){this.close()})}.bind(this));this.closeActionNode=new Element("div.formActionNode",{styles:this.css.formActionNode,text:this.lp.bottomAction.close}).inject(this.formBottomNode);this.closeActionNode.addEvent("click",function(t){this.close(t)}.bind(this))},submit:function(t){var e=this.gatherDiv.getElementById("admin"+t.id);var i="";if(e)i=e.get("value");var s="";var o=this.gatherDiv.getElementById("opinion"+t.id);if(o)s=o.get("value");var n={workId:t.workId,id:t.id,adminSuperviseInfo:i,opinion:s};this.actions.submitWorkReport(n,function(t){if(t.type=="success"){this.app.notice(t.userMessage,"success");this.actions.getDepartmentGather(this.data.gatherId,function(t){if(t.data.reportInfos&&t.data.reportInfos.length==0){this.fireEvent("reloadView");this.close()}else{this.getDepartmentGather()}}.bind(this),null,false)}}.bind(this),function(t,e,i){var s=i;if(t)errorMessage=t.responseText;var o=JSON.parse(errorMessage);if(o.userMessage){this.app.notice(o.userMessage,"error")}else{this.app.notice(s,"error")}}.bind(this))},submitGather:function(){this.submitStatus=true;this.submitError="";for(var t=0;t<this.reportDataArr.length;t++){this.currentReportData=this.reportDataArr[t];if(this.submitStatus){var e=this.gatherDiv.getElementById("admin"+this.currentReportData.id);var i="";if(e)i=e.get("value");var s="";var o=this.gatherDiv.getElementById("opinion"+this.currentReportData.id);if(o)s=o.get("value");var n={workId:this.currentReportData.workId,id:this.currentReportData.id,adminSuperviseInfo:i,opinion:s};this.actions.submitWorkReport(n,function(t){}.bind(this),function(t){var e=JSON.parse(t.responseText);this.submitError="《"+this.currentReportData.title+"》"+e.userMessage;this.submitStatus=false}.bind(this),false)}}if(!this.submitStatus){this.app.notice(this.submitError,"error");this.getDepartmentGather()}else{this.app.notice(this.lp.submitWarn.submitSuccess,"success");this.fireEvent("reloadView");this.close()}}});MWF.xApplication.Execution.WorkGather.WorkReportView=new Class({Extends:MWF.xApplication.Template.Explorer.ComplexView,_createDocument:function(t){return new MWF.xApplication.Execution.WorkGather.WorkReportDocument(this.viewNode,t,this.explorer,this)},_getCurrentPageData:function(t,e){this.actions.getDepartmentGather(this.explorer.data.gatherId,function(e){if(t)t(e)}.bind(this),null,false)},loadElementList:function(t){if(!this.isItemsLoaded){if(!this.isItemLoadding){this.isItemLoadding=true;this._getCurrentPageData(function(t){var e=t.count;if(e<=this.items.length){this.isItemsLoaded=true}t.data.reportInfos.each(function(t){if(!this.documents[t.id]){var e=this._createDocument(t);this.items.push(e);this.documents[t.id]=e}}.bind(this));this.isItemLoadding=false;if(this.loadItemQueue>0){this.loadItemQueue--;this.loadElementList()}}.bind(this),t)}else{this.loadItemQueue++}}},_removeDocument:function(t,e){},_create:function(t){},_openDocument:function(t){},_queryCreateViewNode:function(){},_postCreateViewNode:function(t){},_queryCreateViewHead:function(){},_postCreateViewHead:function(t){}});MWF.xApplication.Execution.WorkGather.WorkReportDocument=new Class({Extends:MWF.xApplication.Template.Explorer.ComplexDocument,_queryCreateDocumentNode:function(t){},_postCreateDocumentNode:function(t,e){if(e.reports){e.reports.each(function(t){this.view.explorer.reportDataArr.push(t);var e=new Element("tr.trNodeTitle",{styles:this.view.css.trNodeTitle}).inject(this.view.viewNode);var i=new Element("td.tdNodeTitle",{styles:this.view.css.tdNodeTitle,text:t.title,colspan:"6"}).inject(e).addEvents({click:function(){this.view.explorer.openWorkReport(t.id,t.workId)}.bind(this)});e=new Element("tr.trNode",{styles:this.view.css.trNode}).inject(this.view.viewNode);i=new Element("td.tdNodeContent",{styles:this.view.css.tdNodeContent}).inject(e);divNode=new Element("div.divNode",{styles:this.view.css.divNode,text:t.workInfo.shortProgressAction?t.workInfo.shortProgressAction:"",title:t.workInfo.shortProgressAction?t.workInfo.shortProgressAction:""}).inject(i);i=new Element("td.tdNodeContent",{styles:this.view.css.tdNodeContent}).inject(e);divNode=new Element("div.divNode",{styles:this.view.css.divNode,text:t.progressDescription,title:t.progressDescription}).inject(i);i=new Element("td.tdNodeContent",{styles:this.view.css.tdNodeContent}).inject(e);divNode=new Element("div.divNode",{styles:this.view.css.divNode,text:t.workPlan,title:t.workPlan}).inject(i);if(t.isWorkAdmin&&t.processStatus==this.view.lp.activityName.manager){i=new Element("td.tdNodeContent",{styles:this.view.css.tdNodeContent}).inject(e);var s=new Element("textarea.tetareaNode",{styles:this.view.css.textareaNode,id:"admin"+t.id}).inject(i)}else{i=new Element("td.tdNodeContent",{styles:this.view.css.tdNodeContent}).inject(e);divNode=new Element("div.divNode",{styles:this.view.css.divNode,text:t.adminSuperviseInfo,title:t.adminSuperviseInfo}).inject(i)}if(t.processStatus==this.view.lp.activityName.leader&&t.isReadLeader&&t.currentProcessorIdentity.indexOf(this.app.identity)>-1){i=new Element("td.tdNodeContent",{styles:this.view.css.tdNodeContent}).inject(e);var s=new Element("textarea.tetareaNode",{styles:this.view.css.textareaNode,id:"opinion"+t.id}).inject(i)}else{i=new Element("td.tdNodeContent",{styles:this.view.css.tdNodeContent,text:""}).inject(e)}var o=new Element("td.tdNodeAction",{styles:this.view.css.tdNodeAction}).inject(e);var n=new Element("a.actionTxt",{styles:this.view.css.actionTxt,text:this.view.lp.viewSubmit}).inject(o).addEvents({click:function(){this.view.explorer.submit(t)}.bind(this)})}.bind(this))}}});
|