MWF.xApplication.Execution=MWF.xApplication.Execution||{};MWF.xDesktop.requireApp("Template","Explorer",null,false);MWF.xDesktop.requireApp("Template","MPopupForm",null,false);MWF.xDesktop.requireApp("Template","MForm",null,false);MWF.xDesktop.requireApp("Execution","WorkForm",null,false);MWF.xApplication.Execution.WorkGather=new Class({Extends:MPopupForm,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(explorer,actions,data,options){this.setOptions(options);this.explorer=explorer;this.app=explorer.app||explorer;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=data||{};this.actions=actions},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(data){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.gatherJson=null;this.gatherJsonLen=0;this.loadGather()},loadGather:function(){if(this.gatherDiv)this.gatherDiv.destroy();this.gatherDiv=new Element("div.gatherDiv",{styles:this.css.gatherDiv}).inject(this.formTableArea);this.tabContentDiv=new Element("div.tabContentDiv",{styles:this.css.tabContentDiv}).inject(this.gatherDiv);this.actions.getDepartmentGather(this.data.gatherId,function(json){if(json.data){this.gatherJson=json.data;this.gatherJsonLen=json.data.length}}.bind(this),null,false);if(this.gatherJsonLen>0){this.loadTabContent()}},loadTabContent:function(){for(i=0;i0){this.loadItemQueue--;this.loadElementList()}}.bind(this),count)}else{this.loadItemQueue++}}},_removeDocument:function(documentData,all){},_create:function(data){},_openDocument:function(documentData){},_queryCreateViewNode:function(){},_postCreateViewNode:function(viewNode){},_queryCreateViewHead:function(){},_postCreateViewHead:function(headNode){}});MWF.xApplication.Execution.WorkGather.WorkReportDocument=new Class({Extends:MWF.xApplication.Template.Explorer.ComplexDocument,_queryCreateDocumentNode:function(itemData){},_postCreateDocumentNode:function(itemNode,itemData){if(itemData.tabName==this.view.lp.gatherName.drafter){cols=5}else if(itemData.tabName==this.view.lp.gatherName.manager){cols=6}else if(itemData.tabName==this.view.lp.gatherName.leader){cols=7}if(itemData.reports){itemData.reports.each(function(d,ii){this.view.explorer.reportDataArr.push(d);var trNode=new Element("tr.trNodeTitle",{styles:this.view.css.trNodeTitle}).inject(this.view.viewNode);var tdNode=new Element("td.tdNodeTitle",{styles:this.view.css.tdNodeTitle,html:d.title+"    ("+d.createTime+")",colspan:cols}).inject(trNode).addEvents({click:function(){this.view.explorer.openWorkReport(d.id,d.workId)}.bind(this)});trNode=new Element("tr.trNode",{styles:this.view.css.trNode}).inject(this.view.viewNode);tdNode=new Element("td.tdNodeContent",{styles:this.view.css.tdNodeContent}).inject(trNode);divNode=new Element("div.divNode",{styles:this.view.css.divNode,text:d.workInfo.shortProgressAction?d.workInfo.shortProgressAction:"",title:d.workInfo.shortProgressAction?d.workInfo.shortProgressAction:""}).inject(tdNode);if(itemData.tabName==this.view.lp.gatherName.drafter){tdNode=new Element("td.tdNodeContent",{styles:this.view.css.tdNodeContent}).inject(trNode);var teextareaNode=new Element("textarea.tetareaNode",{styles:this.view.css.textareaNode,id:"progress"+d.id,value:d.progressDescription}).inject(tdNode);tdNode=new Element("td.tdNodeContent",{styles:this.view.css.tdNodeContent}).inject(trNode);var teextareaNode=new Element("textarea.tetareaNode",{styles:this.view.css.textareaNode,id:"plan"+d.id,value:d.workPlan}).inject(tdNode);tdNode=new Element("td.tdNodeContent",{styles:this.view.css.tdNodeContent}).inject(trNode);var tmpDiv=new Element("div.completeSelectDiv",{styles:this.css.completeSelectDiv}).inject(tdNode);var completeSelect=new Element("select.completeSelect",{styles:this.css.completeSelect,id:"completeSelect"+d.id,position:ii}).inject(tmpDiv);var completeSelectOption=new Element("option.completeSelectOption",{text:this.lp.isCompletedNoOption,value:"no"}).inject(completeSelect);completeSelectOption=new Element("option.completeSelectOption",{text:this.lp.isCompletedYesOption,value:"yes"}).inject(completeSelect);var _self=this;completeSelect.addEvents({change:function(){if(this.get("value")=="yes"){var po=this.get("position");_self.view.explorer.gatherContentDiv.getElements(".completePercentSelect[position="+po+"]").set("value","100")}}});completeSelect.set("value",d.isWorkCompleted?"yes":"no");tmpDiv=new Element("div.completeSelectDiv",{styles:this.css.completeSelectDiv}).inject(tdNode);var completePercentSelect=new Element("select.completePercentSelect",{styles:this.css.completeSelect,id:"completePercentSelect"+d.id,position:ii}).inject(tmpDiv);var completePercentSelectOption=new Element("option.completePercentSelectOption",{text:"0%",value:"0"}).inject(completePercentSelect);completePercentSelectOption=new Element("option.completePercentSelectOption",{text:"10%",value:"10"}).inject(completePercentSelect);completePercentSelectOption=new Element("option.completePercentSelectOption",{text:"20%",value:"20"}).inject(completePercentSelect);completePercentSelectOption=new Element("option.completePercentSelectOption",{text:"30%",value:"30"}).inject(completePercentSelect);completePercentSelectOption=new Element("option.completePercentSelectOption",{text:"40%",value:"40"}).inject(completePercentSelect);completePercentSelectOption=new Element("option.completePercentSelectOption",{text:"50%",value:"50"}).inject(completePercentSelect);completePercentSelectOption=new Element("option.completePercentSelectOption",{text:"60%",value:"60"}).inject(completePercentSelect);completePercentSelectOption=new Element("option.completePercentSelectOption",{text:"70%",value:"70"}).inject(completePercentSelect);completePercentSelectOption=new Element("option.completePercentSelectOption",{text:"80%",value:"80"}).inject(completePercentSelect);completePercentSelectOption=new Element("option.completePercentSelectOption",{text:"90%",value:"90"}).inject(completePercentSelect);completePercentSelectOption=new Element("option.completePercentSelectOption",{text:"100%",value:"100"}).inject(completePercentSelect);completePercentSelect.set("value",parseInt(d.progressPercent))}else if(itemData.tabName==this.view.lp.gatherName.manager){tdNode=new Element("td.tdNodeContent",{styles:this.view.css.tdNodeContent}).inject(trNode);divNode=new Element("div.divNode",{styles:this.view.css.divNode,text:d.progressDescription,title:d.progressDescription}).inject(tdNode);tdNode=new Element("td.tdNodeContent",{styles:this.view.css.tdNodeContent}).inject(trNode);divNode=new Element("div.divNode",{styles:this.view.css.divNode,text:d.workPlan,title:d.workPlan}).inject(tdNode);tdNode=new Element("td.tdNodeContent",{styles:this.view.css.tdNodeContent}).inject(trNode);var tmpDiv=new Element("div.completeSelectDiv",{styles:this.css.completeSelectDiv}).inject(tdNode);var completeSelect=new Element("select.completeSelect",{styles:this.css.completeSelect,id:"completeSelect"+d.id,position:ii}).inject(tmpDiv);var completeSelectOption=new Element("option.completeSelectOption",{text:this.lp.isCompletedNoOption,value:"no"}).inject(completeSelect);completeSelectOption=new Element("option.completeSelectOption",{text:this.lp.isCompletedYesOption,value:"yes"}).inject(completeSelect);var _self=this;completeSelect.addEvents({change:function(){if(this.get("value")=="yes"){var po=this.get("position");_self.view.explorer.gatherContentDiv.getElements(".completePercentSelect[position="+po+"]").set("value","100")}}});completeSelect.set("value",d.isWorkCompleted?"yes":"no");tmpDiv=new Element("div.completeSelectDiv",{styles:this.css.completeSelectDiv}).inject(tdNode);var completePercentSelect=new Element("select.completePercentSelect",{styles:this.css.completeSelect,id:"completePercentSelect"+d.id,position:ii}).inject(tmpDiv);var completePercentSelectOption=new Element("option.completePercentSelectOption",{text:"0%",value:"0"}).inject(completePercentSelect);completePercentSelectOption=new Element("option.completePercentSelectOption",{text:"10%",value:"10"}).inject(completePercentSelect);completePercentSelectOption=new Element("option.completePercentSelectOption",{text:"20%",value:"20"}).inject(completePercentSelect);completePercentSelectOption=new Element("option.completePercentSelectOption",{text:"30%",value:"30"}).inject(completePercentSelect);completePercentSelectOption=new Element("option.completePercentSelectOption",{text:"40%",value:"40"}).inject(completePercentSelect);completePercentSelectOption=new Element("option.completePercentSelectOption",{text:"50%",value:"50"}).inject(completePercentSelect);completePercentSelectOption=new Element("option.completePercentSelectOption",{text:"60%",value:"60"}).inject(completePercentSelect);completePercentSelectOption=new Element("option.completePercentSelectOption",{text:"70%",value:"70"}).inject(completePercentSelect);completePercentSelectOption=new Element("option.completePercentSelectOption",{text:"80%",value:"80"}).inject(completePercentSelect);completePercentSelectOption=new Element("option.completePercentSelectOption",{text:"90%",value:"90"}).inject(completePercentSelect);completePercentSelectOption=new Element("option.completePercentSelectOption",{text:"100%",value:"100"}).inject(completePercentSelect);completePercentSelect.set("value",parseInt(d.progressPercent));tdNode=new Element("td.tdNodeContent",{styles:this.view.css.tdNodeContent}).inject(trNode);var teextareaNode=new Element("textarea.tetareaNode",{styles:this.view.css.textareaNode,id:"admin"+d.id,value:d.adminSuperviseInfo}).inject(tdNode)}else if(itemData.tabName==this.view.lp.gatherName.leader){tdNode=new Element("td.tdNodeContent",{styles:this.view.css.tdNodeContent}).inject(trNode);divNode=new Element("div.divNode",{styles:this.view.css.divNode,text:d.progressDescription,title:d.progressDescription}).inject(tdNode);tdNode=new Element("td.tdNodeContent",{styles:this.view.css.tdNodeContent}).inject(trNode);divNode=new Element("div.divNode",{styles:this.view.css.divNode,text:d.workPlan,title:d.workPlan}).inject(tdNode);tdNode=new Element("td.tdNodeContent",{styles:this.view.css.tdNodeContent}).inject(trNode);divNode=new Element("div.divNode",{styles:this.view.css.divNode,text:d.isWorkCompleted?"是":"否"}).inject(tdNode);var percentComplete=new Element("div.percentComplete",{text:"完成率:"+d.progressPercent+"%"}).inject(divNode);tdNode=new Element("td.tdNodeContent",{styles:this.view.css.tdNodeContent}).inject(trNode);divNode=new Element("div.divNode",{styles:this.view.css.divNode,text:d.adminSuperviseInfo,title:d.adminSuperviseInfo}).inject(tdNode);tdNode=new Element("td.tdNodeContent",{styles:this.view.css.tdNodeContent}).inject(trNode);var teextareaNode=new Element("textarea.tetareaNode",{styles:this.view.css.textareaNode,id:"opinion"+d.id,value:this.lp.leaderDefaultOpinion}).inject(tdNode)}var tdNodeAction=new Element("td.tdNodeAction",{styles:this.view.css.tdNodeAction}).inject(trNode);var actionTxt=new Element("a.actionTxt",{styles:this.view.css.actionTxt,text:this.view.lp.viewSubmit}).inject(tdNodeAction).addEvents({click:function(e){this.view.explorer.submit(d,e)}.bind(this)})}.bind(this))}}});