StatForm.min.js 9.3 KB

1
  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.StatForm=new Class({Extends:MWF.xApplication.Template.Explorer.PopupForm,Implements:[Options,Events],options:{style:"default",width:"90%",height:"90%",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.statForm;this.actions=this.app.restActions;this.path="/x_component_Execution/$StatForm/";this.cssPath=this.path+this.options.style+"/css.wcss";this._loadCss();this.options.title=this.lp.title;this.data=i||{};this.actions=e},load:function(){this.centerWorkId=this.options.centerWorkId;this.centerWorkData={};this.getCenterWork(this.centerWorkId);if(this.options.isNew){this.create()}else if(this.options.isEdited){this.edit()}else{this.open()}},getCenterWork:function(t){this.actions.getMainTask(t,function(t){this.centerWorkData=t.data}.bind(this),function(t,e,i){this.showErrorMsg(t,e,i)}.bind(this),false)},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.centerWorkData.title?this.centerWorkData.title:this.options.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(){if(this.centerWorkData.title){var t="<span style='font-size:14px;'>"+this.lp.topTitle.drafter+":</span>"+" <span style='font-size:14px;'>"+this.centerWorkData.creatorName+"</span>"+" <span style='font-size:14px;margin-left:10px;'>"+this.lp.topTitle.department+":</span>"+" <span style='font-size:14px;'>"+this.centerWorkData.creatorOrganizationName+"</span>"+" <span style='font-size:14px;margin-left:10px;'>"+this.lp.topTitle.createTime+":</span>"+" <span style='font-size:14px;'>"+this.centerWorkData.createTime+"</span>";this.formTopContentNode.set("html",t)}},_createTableContent:function(t){this.createWeeklyList()},createWeeklyList:function(){this.weeklyContentDiv=new Element("div.weeklyContentDiv",{styles:this.css.weeklyContentDiv}).inject(this.formTableArea);var t=new Element("div.weeklyTitleDiv",{styles:this.css.weeklyTitleDiv,text:this.lp.weeklyTitle}).inject(this.weeklyContentDiv);this.weeklyListDiv=new Element("div.weeklyListDiv",{styles:this.css.weeklyListDiv}).inject(this.weeklyContentDiv);this.loadWeeklyList()},loadWeeklyList:function(){var t={centerId:this.centerWorkData.id,order:"DESC"};this.actions.getStatDateList(t,function(t){if(t.type=="success"){this.weeklyData=t.data}}.bind(this),function(t,e,i){this.showErrorMsg(t,e,i)}.bind(this),false);if(!this.weeklyData||this.weeklyData.length==0){var e=new Element("li.weeklyListLi",{styles:this.css.weeklyListLi,text:"未生成汇报统计"}).inject(this.weeklyListDiv);return false}this.weeklyData.each(function(t,e){var i=new Element("li.weeklyListLi",{styles:this.css.weeklyListLi,text:t.datetime,title:t.reportCycle}).inject(this.weeklyListDiv);i.addEvents({click:function(){this.weeklyListDiv.getElements("li").setStyles({"background-color":"",color:""});i.setStyles({"background-color":"#3c76c1",color:"#ffffff"});this.displayDateStat(t);this.currentWeeklyLi=i;this.currentWeeklyData=t}.bind(this),mouseover:function(){i.setStyles({border:"1px solid #3c76c1"})}.bind(this),mouseout:function(){i.setStyles({border:""})}.bind(this)});if(e==0){this.currentWeeklyLi=i}}.bind(this));if(this.currentWeeklyLi)this.currentWeeklyLi.click()},createStatView:function(t){if(this.statViewDiv)this.statViewDiv.destroy();this.statViewDiv=new Element("div.statViewDiv",{styles:this.css.statViewDiv}).inject(this.formTableArea);var e=new Element("div.statViewTitleDiv",{styles:this.css.statViewTitleDiv,text:this.lp.statViewTitle}).inject(this.statViewDiv);this.statViewListDiv=new Element("div.statViewListDiv",{styles:this.css.statViewListDiv}).inject(this.statViewDiv);this.loadStatView(t)},displayDateStat:function(t,e){if(this.statViewListDiv)this.statViewListDiv.empty();if(t){var i={statisticTimeFlag:t.datetime,centerId:this.centerWorkData.id};if(this.statViewListDiv)this.statViewListDiv.set("text","loading...");this.actions.getStatDate(i,function(t){if(t.type=="success"){this.dateStatData=t.data;this.displayDateStatTable()}}.bind(this),function(t,e,i){this.showErrorMsg(t,e,i)}.bind(this),true)}},displayDateStatTable:function(){if(this.dateStatData){if(this.statViewListDiv)this.statViewListDiv.destroy();this.statViewListDiv=new Element("div.statViewListDiv",{styles:this.css.statViewListDiv}).inject(this.formTableArea);this.statTable=new Element("table.statTable",{styles:this.css.statTable}).inject(this.statViewListDiv);this.statHeadTr=new Element("tr.statHeadTr",{styles:this.css.statHeadTr}).inject(this.statTable);for(var t in this.lp.statTable){var e=new Element("td.statHeadTd",{styles:this.css.statHeadTd,text:this.lp.statTable[t]}).inject(this.statHeadTr)}this.dateStatData.each(function(t,e){if(t.contents&&t.contents.length>0){t.contents.each(function(t,e){var i=new Element("tr.baseTr").inject(this.statTable);for(var s in this.lp.statTable){var n="";if(s=="opinions"){if(t[s]){t[s].each(function(t){n=n+t.processorName+":\n"+t.opinion+"\n"})}}else{if(t[s])n=t[s]}var o=new Element("td.dateStatBaseTd",{styles:this.css.dateStatBaseTd,html:n.length>50?n.substring(0,50)+"...":n,title:n}).inject(i);if(s=="serialNumber"){o.setStyles({width:"35px","text-align":"center"})}if(s=="responsibilityOrganizationName"){o.setStyles({width:"87px"})}if(s=="workDetail"){}}}.bind(this))}}.bind(this))}},loadStatView:function(t){this.statTable=new Element("table.statTable",{styles:this.css.statTable}).inject(this.statViewListDiv);this.statHeadTr=new Element("tr.statHeadTr",{styles:this.css.statHeadTr}).inject(this.statTable);for(var e in this.lp.statTable){var i=new Element("td.statHeadTd",{styles:this.css.statHeadTd,text:this.lp.statTable[e]}).inject(this.statHeadTr)}if(!parentWorkId)parentWorkId="(0)";this.actions.getStatByWorkId(id,parentWorkId,function(t){t.data.each(function(t,e){var i=new Element("tr.statBodyTr",{styles:this.css.statBodyTr}).inject(this.statTable);var s=new Element("td.statBodyTd",{styles:this.css.statBodyTd,text:e+1,id:t.workId}).inject(i);s.setStyles({width:"35px","text-align":"center"});for(var n in this.lp.statTable){if(n!="order"){var o="";if(n=="opinions"){if(t[n]){t[n].each(function(t){o=o+t.processorName+":<br>"+t.opinion+"<br>"})}}else{o=t[n]}s=new Element("td.statBodyTd",{styles:this.css.statBodyTd,html:o.length>50?o.substring(0,50)+"...":o,title:o}).inject(i);if(n=="organizationName"){s.setStyles({width:"87px"})}if(n=="workDetail"){s.addEvents({click:function(){this.loadSubStat(id,t.workId,i)}.bind(this)})}}}}.bind(this))}.bind(this),function(t,e,i){this.showErrorMsg(t,e,i)}.bind(this),false)},loadSubStat:function(t,e,i){var s=i.getElementById(e).get("text");this.actions.getStatByWorkId(t,e,function(e){this.subStatData=e.data;e.data.each(function(e,n){if(document.getElementById(e.workId)){return false}var o=new Element("tr.statBodyTr",{styles:this.css.statBodyTr}).inject(i,"after");var a=new Element("td.statBodyTd",{styles:this.css.statBodyTd,text:s+"."+(this.subStatData.length-n),id:e.workId}).inject(o);for(var r in this.lp.statTable){if(r!="order"){var l="";if(r=="opinions"){if(e[r]){e[r].each(function(t){l=l+t.processorName+":<br>"+t.opinion+"<br>"})}}else{l=e[r]}a=new Element("td.statBodyTd",{styles:this.css.statBodyTd,html:l.length>50?l.substring(1,50)+"...":l,title:l}).inject(o);if(r=="workDetail"){a.addEvents({click:function(){this.loadSubStat(t,e.workId)}.bind(this)})}}}}.bind(this))}.bind(this),function(t,e,i){this.showErrorMsg(t,e,i)}.bind(this),false)},_createBottomContent:function(){if(this.formBottomNode)this.formBottomNode.empty();this.closeActionNode=new Element("div.closeActionNode",{styles:this.css.formActionNode,text:this.lp.actions.close}).inject(this.formBottomNode);this.closeActionNode.addEvents({click:function(){this.close()}.bind(this)});this.exportActionNode=new Element("div.exportActionNode",{styles:this.css.formActionNode,text:this.lp.actions.export}).inject(this.formBottomNode);this.exportActionNode.addEvents({click:function(){var t={};t.centerId=this.centerWorkId;t.statisticTimeFlag=this.currentWeeklyData.datetime;t.reportCycle=this.currentWeeklyData.reportCycle;this.actions.exportByCenterWork(t,function(t){if(t.data&&t.data.id){var e=this.actions.action.address;var i=e+"/servlet/export/statisticreportcontent/"+t.data.id+"/stream";window.open(i)}}.bind(this),function(t,e,i){this.showErrorMsg(t,e,i)}.bind(this),false)}.bind(this)})},showErrorMsg:function(t,e,i){var s=i;if(t)errorMessage=t.responseText;var n=JSON.parse(errorMessage);if(n.message){this.app.notice(n.message,"error")}else{this.app.notice(s,"error")}}});