| 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.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(t){if(t.data){this.gatherJson=t.data;this.gatherJsonLen=t.data.length}}.bind(this),null,false);if(this.gatherJsonLen>0){this.loadTabContent()}},loadTabContent:function(){for(i=0;i<this.gatherJson.length;i++){this.tabContentLi=new Element("li.tabContentLi",{styles:this.css.tabContentLi,tabIndex:i,text:this.gatherJson[i].activityName+"("+this.gatherJson[i].count+")",tabName:this.gatherJson[i].activityName}).inject(this.tabContentDiv)}var t=this;this.tabContentDiv.getElements("li").addEvents({click:function(){t.loadGatherContent(this)}});if(this.curTabIndex){}else{this.curTabName="";this.curTabIndex=0}this.tabContentDiv.getElements("li")[this.curTabIndex].click()},loadGatherContent:function(t){this.curTabName=t.get("tabName");this.curTabIndex=t.get("tabIndex");this.tabContentDiv.getElements("li").setStyles({"background-color":"",color:""});t.setStyles({"background-color":"#3d77c1",color:"#ffffff"});if(this.gatherContentDiv)this.gatherContentDiv.destroy();this.gatherContentDiv=new Element("div.gatherContentDiv",{styles:this.css.gatherContentDiv}).inject(this.gatherDiv);var e=t.get("tabIndex");var i=t.get("tabName");if(t.get("tabName")==this.lp.gatherName.drafter){templateUrl=this.path+"listItem_drafter.json"}else if(t.get("tabName")==this.lp.gatherName.manager){templateUrl=this.path+"listItem_manager.json"}else if(t.get("tabName")==this.lp.gatherName.leader){templateUrl=this.path+"listItem_leader.json"}this.reportDataArr=[];this.WorkReportView=new MWF.xApplication.Execution.WorkGather.WorkReportView(this.gatherContentDiv,this.app,this,{templateUrl:templateUrl,tab:e,tabName:i});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.actions.getDepartmentGather(this.data.gatherId,function(t){if(t.data&&t.data.length==0){this.fireEvent("reloadView");this.close()}}.bind(this),null,false);this.loadGather()}.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("progress"+t.id);var i="";if(e)i=e.get("value");var s=this.gatherDiv.getElementById("plan"+t.id);var o="";if(s)o=s.get("value");var n=this.gatherDiv.getElementById("admin"+t.id);var a="";if(n)a=n.get("value");var r="";var h=this.gatherDiv.getElementById("opinion"+t.id);if(h)r=h.get("value");if(e&&i==""){this.app.notice(this.lp.viewProgressDescription+this.lp.notEmpty,"error");return false}if(s&&o==""){this.app.notice(this.lp.viewWorkPlan+this.lp.notEmpty,"error");return false}var d={workId:t.workId,id:t.id,progressDescription:i,workPlan:o,adminSuperviseInfo:a,opinion:r};this.actions.submitWorkReport(d,function(t){if(t.type=="success"){this.app.notice(this.lp.prompt.submitWorkReport,"success");this.actions.getDepartmentGather(this.data.gatherId,function(t){if(t.data&&t.data.length==0){this.fireEvent("reloadView");this.close()}else{if(this.gatherJson[this.curTabIndex].count==1){this.curTabIndex=0;this.curTabName=""}this.loadGather()}}.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.message){this.app.notice(o.message,"error")}else{this.app.notice(s,"error")}}.bind(this))},submitGather:function(){this.submitStatus=true;this.submitError="";if(this.reportDataArr){for(var t=0;t<this.reportDataArr.length;t++){this.currentReportData=this.reportDataArr[t];if(this.submitStatus){var e=this.gatherDiv.getElementById("progress"+this.currentReportData.id);var i="";if(e)i=e.get("value");var s=this.gatherDiv.getElementById("plan"+this.currentReportData.id);var o="";if(s)o=s.get("value");var n=this.gatherDiv.getElementById("admin"+this.currentReportData.id);var a="";if(n)a=n.get("value");var r="";var h=this.gatherDiv.getElementById("opinion"+this.currentReportData.id);if(h)r=h.get("value");var d={workId:this.currentReportData.workId,id:this.currentReportData.id,progressDescription:i,workPlan:o,adminSuperviseInfo:a,opinion:r};this.actions.submitWorkReport(d,function(t){}.bind(this),function(t){var e=JSON.parse(t.responseText);this.submitError="《"+this.currentReportData.title+"》"+e.message;this.submitStatus=false}.bind(this),false)}}}if(!this.submitStatus){this.app.notice(this.submitError,"error");this.loadGather()}else{this.app.notice(this.lp.submitWarn.submitSuccess,"success");if(this.gatherJsonLen==1||this.gatherJsonLen==0){this.fireEvent("reloadView");this.close()}else{this.curTabIndex=0;this.curTabName="";this.loadGather()}}}});MWF.xApplication.Execution.WorkGather.WorkReportView=new Class({Extends:MWF.xApplication.Template.Explorer.ComplexView,_createDocument:function(t){t.tabName=this.options.tabName;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(e.data){if(this.options.tab){var i=parseInt(this.options.tab);e=e.data[i].reportCollect}else{e=e.data[0].reportCollect}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.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.tabName==this.view.lp.gatherName.drafter){cols=4}else if(e.tabName==this.view.lp.gatherName.manager){cols=5}else if(e.tabName==this.view.lp.gatherName.leader){cols=6}if(e.reports){e.reports.each(function(t){this.view.explorer.reportDataArr.push(t);var i=new Element("tr.trNodeTitle",{styles:this.view.css.trNodeTitle}).inject(this.view.viewNode);var s=new Element("td.tdNodeTitle",{styles:this.view.css.tdNodeTitle,html:t.title+" ("+t.createTime+")",colspan:cols}).inject(i).addEvents({click:function(){this.view.explorer.openWorkReport(t.id,t.workId)}.bind(this)});i=new Element("tr.trNode",{styles:this.view.css.trNode}).inject(this.view.viewNode);s=new Element("td.tdNodeContent",{styles:this.view.css.tdNodeContent}).inject(i);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(s);if(e.tabName==this.view.lp.gatherName.drafter){s=new Element("td.tdNodeContent",{styles:this.view.css.tdNodeContent}).inject(i);var o=new Element("textarea.tetareaNode",{styles:this.view.css.textareaNode,id:"progress"+t.id,value:t.progressDescription}).inject(s);s=new Element("td.tdNodeContent",{styles:this.view.css.tdNodeContent}).inject(i);var o=new Element("textarea.tetareaNode",{styles:this.view.css.textareaNode,id:"plan"+t.id,value:t.workPlan}).inject(s)}else if(e.tabName==this.view.lp.gatherName.manager){s=new Element("td.tdNodeContent",{styles:this.view.css.tdNodeContent}).inject(i);divNode=new Element("div.divNode",{styles:this.view.css.divNode,text:t.progressDescription,title:t.progressDescription}).inject(s);s=new Element("td.tdNodeContent",{styles:this.view.css.tdNodeContent}).inject(i);divNode=new Element("div.divNode",{styles:this.view.css.divNode,text:t.workPlan,title:t.workPlan}).inject(s);s=new Element("td.tdNodeContent",{styles:this.view.css.tdNodeContent}).inject(i);var o=new Element("textarea.tetareaNode",{styles:this.view.css.textareaNode,id:"admin"+t.id,value:t.adminSuperviseInfo}).inject(s)}else if(e.tabName==this.view.lp.gatherName.leader){s=new Element("td.tdNodeContent",{styles:this.view.css.tdNodeContent}).inject(i);divNode=new Element("div.divNode",{styles:this.view.css.divNode,text:t.progressDescription,title:t.progressDescription}).inject(s);s=new Element("td.tdNodeContent",{styles:this.view.css.tdNodeContent}).inject(i);divNode=new Element("div.divNode",{styles:this.view.css.divNode,text:t.workPlan,title:t.workPlan}).inject(s);s=new Element("td.tdNodeContent",{styles:this.view.css.tdNodeContent}).inject(i);divNode=new Element("div.divNode",{styles:this.view.css.divNode,text:t.adminSuperviseInfo,title:t.adminSuperviseInfo}).inject(s);s=new Element("td.tdNodeContent",{styles:this.view.css.tdNodeContent}).inject(i);var o=new Element("textarea.tetareaNode",{styles:this.view.css.textareaNode,id:"opinion"+t.id}).inject(s)}var n=new Element("td.tdNodeAction",{styles:this.view.css.tdNodeAction}).inject(i);var a=new Element("a.actionTxt",{styles:this.view.css.actionTxt,text:this.view.lp.viewSubmit}).inject(n).addEvents({click:function(){this.view.explorer.submit(t)}.bind(this)})}.bind(this))}}});
|