| 1 |
- MWF.xDesktop.requireApp("Report","Attachment",null,false);MWF.xDesktop.requireApp("Template","MSelector",null,false);MWF.xDesktop.requireApp("Template","Explorer",null,false);MWF.xDesktop.requireApp("Template","MPopupForm",null,false);MWF.xApplication.Report.StrategyExplorer=new Class({Extends:MWF.widget.Common,Implements:[Options,Events],options:{style:"default",id:"",type:"app"},initialize:function(t,e,i){this.setOptions(i);this.app=t;this.path="/x_component_Report/$StrategyExplorer/";this.cssPath="/x_component_Report/$StrategyExplorer/"+this.options.style+"/css.wcss";this._loadCss();this.lp=this.app.lp;this.actions=e},reload:function(){this.node.empty();this.loadLayout()},destroy:function(){if(this.options.type=="app"){this.app.removeEvent("resize",this.resetNodeSizeFun)}this.node.empty();delete this},load:function(t){if(this.reportContainer)this.node=$(this.reportContainer);this.loadLayout(t);if(this.options.type=="app"){this.resetNodeSizeFun=this.resetNodeSize.bind(this);this.app.addEvent("resize",this.resetNodeSizeFun)}},loadLayout:function(e){this.createNode();this.actions.getReport(this.options.id,function(t){this.data=t.data;if(e)e(this.data);this.userName=(layout.desktop.session.user||layout.user).distinguishedName;this.isEdited=false;this.getStatus(function(){this.app.setTitle(this.getTitle());this.loadContentNode();if(this.options.type=="app"){this.resetNodeSize()}}.bind(this))}.bind(this))},getTitle:function(){var t=this.data.year+"年"+parseInt(this.data.month)+"月工作总结";var e=new Date(this.data.year,this.data.month,1).increment("month",1);var i=e.getFullYear()+"年"+e.getMonth()+"月工作计划";return this.data.targetUnit.split("@")[0]+t+"和"+i},isToReadLeader:function(s){MWF.Actions.get("x_organization_assemble_express").getUnitWithIdentityAndLevelValue({identity:this.data.targetIdentity,level:"1"},function(t){var e=t.data.unit;if(e){MWF.Actions.get("x_organization_assemble_express").getDutyValue({name:"董事长",unit:e},function(t){var e=false;var i=t.data.identityList||[];(layout.desktop.session.user||layout.user).identityList.each(function(t){if(i.contains(t.distinguishedName)){e=true}});if(s)s(e)}.bind(this))}else{if(s)s(false)}}.bind(this))},isToRead:function(){var e=false;(this.workApp.readList||[]).each(function(t){if(this.userName==t.person){e=true;this.readData=t}}.bind(this));return e},getStatus:function(t){this.isEdited=this.workApp.control.allowProcessing||this.workApp.control.allowSave;this.activityName=this.workApp.activity?this.workApp.activity.name:"";this.activityAlias=this.workApp.activity?this.workApp.activity.alias:"";if(this.data.reportStatus=="月度汇报员分派填写人"||this.data.activityName=="拟稿"||this.activityName=="月度汇报员分派填写人"||this.activityAlias=="deployment"){this.status="deployment";if(t)t()}else if(this.activityName=="汇报人"||this.activityAlias=="write"){this.status="write";if(t)t()}else if(this.activityName=="月度汇报员汇总"||this.activityAlias=="confirm"){this.status="confirm";if(t)t()}else if(this.activityName=="战略负责人审核"||this.activityAlias=="audit"){this.status="audit";if(t)t()}else if(this.activityName=="公司领导阅"){this.status="summary";if(t)t()}else{this.status="summary";if(t)t()}},createNode:function(){this.container=new Element("div.container",{styles:this.css.container}).inject(this.node);this.contentContainer=new Element("div.contentContainerNode",{styles:this.css[this.options.type=="app"?"contentContainer":"contentContainer_flow"]}).inject(this.container)},createTopNode:function(){var t=this.topNode=new Element("div.topNode",{styles:this.css.topNode}).inject(this.contentContainer);if(this.isPrinted)t.setStyle("width","auto");var e=new Element("div.topTitleMiddleNode",{styles:this.css.topTitleMiddleNode}).inject(t);var i=new Element("div.topItemTitleNode",{styles:this.css.topItemTitleNode,text:this.lp.title}).inject(e);i.addEvent("click",function(){var t="Report";if(this.app.desktop.apps[t]){this.app.desktop.apps[t].setCurrent()}else{this.app.desktop.openApplication(null,"Report",{})}}.bind(this));var s=new Element("div.topItemSepNode",{styles:this.css.topItemSepNode,text:">"}).inject(e);var i=new Element("div.topItemTitleNode",{styles:this.css.topItemTitleLastNode,text:this.data.title}).inject(e)},loadContentNode:function(){this.middleNode=new Element("div.middleNode",{styles:this.css.middleNode}).inject(this.contentContainer);if(this.isPrinted)this.middleNode.setStyle("width","auto");this.inforNode=new Element("div",{styles:this.css.inforNode}).inject(this.middleNode);this.mainContentNode=new Element("div.mainContentNode",{styles:this.css.mainContentNode}).inject(this.middleNode);this.loadInforContent();if(this.options.type=="print"){MWF.xDesktop.requireApp("Report","StrategyExplorerPrint",null,false);this.print=new MWF.xApplication.Report.StrategyExplorer.Print(this.mainContentNode,this,this.data,{isEdited:false,isKeyworkEdited:false,status:this.status});this.print.load()}else if(this.status=="deployment"){MWF.xDesktop.requireApp("Report","StrategyExplorerDeploy",null,false);this.deployment=new MWF.xApplication.Report.StrategyExplorer.Deployment(this.mainContentNode,this,this.data,{isEdited:this.isEdited,isKeyworkEdited:false});this.deployment.load()}else if(this.status=="summary"){var e=function(t,e){MWF.xDesktop.requireApp("Report","StrategyExplorerSummary",null,false);this.summary=new MWF.xApplication.Report.StrategyExplorer.Summary(this.mainContentNode,this,this.data,{isToRead:t,isToReadLeader:e,isEdited:this.isEdited,status:this.status});this.summary.load()}.bind(this);if(this.isToRead()){this.isToReadLeader(function(t){e(true,t)})}else{e(false,false)}}else{MWF.xDesktop.requireApp("Report","StrategyExplorerWrite",null,false);this.write=new MWF.xApplication.Report.StrategyExplorer.Write(this.mainContentNode,this,this.data,{isEdited:this.isEdited,status:this.status});this.write.load()}},verifyProcess:function(t){if(t=="confirm"||t=="audit"){return this.write.verifyProcess(t)}return true},loadInforContent:function(){if(this.status=="summary"||this.options.type=="print"){var t="<table width='96%' bordr='0' cellpadding='7' cellspacing='0' styles='formTable' >"+" <td styles='formTableTitleP10' lable='unitManager' style='width:90px;'></td>"+" <td styles='formTableValueP10' item='unitManager' style='width:100px;'></td>"+" <td styles='formTableTitleP10' lable='activityName2' style='width:50px;'></td>"+" <td styles='formTableValueP10' item='activityName2' style='width:100px;'></td>"+"</tr>";t+="</table>";this.inforNode.set("html",t);MWF.xDesktop.requireApp("Template","MForm",function(){var t=new MForm(this.inforNode,this.data,{usesNewVersion:true,isEdited:false,style:"report",hasColon:true,itemTemplate:{createDateString:{text:this.lp.reportDate,type:"innertext"},unitManager:{text:"部主管",type:"org",orgType:"person",defaultValue:this.data.unitManager},activityName2:{text:this.lp.activityName,type:"innertext",defaultValue:this.data.reportStatus||this.data.activityName}}},this);t.load()}.bind(this),true)}else{var t="<table width='96%' bordr='0' cellpadding='7' cellspacing='0' styles='formTable' >"+" <td styles='formTableTitleP10' lable='targetPerson' style='width:90px;'></td>"+" <td styles='formTableValueP10' item='targetPerson' style='width:100px;'></td>"+" <td styles='formTableTitleP10' lable='activityName2' style='width:50px;'></td>"+" <td styles='formTableValueP10' item='activityName2' style='width:100px;'></td>"+"</tr>";if(this.status!="deployment"||this.options.type=="print"){t+="<tr>"+" <td styles='formTableTitleP10' lable='currentPersonName' style='width:70px;'></td>"+" <td styles='formTableValueP10' item='currentPersonName' colspan='3'></td>"+"</tr>"}t+="</table>";this.inforNode.set("html",t);MWF.xDesktop.requireApp("Template","MForm",function(){var t=new MForm(this.inforNode,this.data,{usesNewVersion:true,isEdited:false,style:"report",hasColon:true,itemTemplate:{createDateString:{text:this.lp.reportDate,type:"innertext"},targetPerson:{text:"月度汇报员",type:"org",orgType:"person"},currentPersonName:{text:"汇报人",type:"org",orgType:"person",defaultValue:this.data.workreportPersonList},reportObjType:{text:this.lp.reportObjType,type:"select",selectValue:["","PERSON","UNIT"],selectText:["","个人汇报","组织汇报"]},activityName2:{text:this.lp.activityName,type:"innertext",defaultValue:this.data.reportStatus||this.data.activityName}}},this);t.load()}.bind(this),true)}},resetNodeSize:function(){var t=this.topNode?this.topNode.getSize():{x:0,y:0};var e=this.node.getSize();var i=this.contentContainer.getStyle("padding-top").toFloat();var s=this.contentContainer.getStyle("padding-bottom").toFloat();var o=e.y-i-s;this.contentContainer.setStyle("height",""+o+"px")},perview:function(){var t=this.getPerviewUrl();var e=new MWF.xApplication.Report.StrategyExplorer.Previewer(this,{url:t},{},{app:this.app});e.open()},getPerviewUrl:function(){var t=this.workApp.appForm.businessData;var e=t.work?t.work.application:t.workCompleted.application;var i=this.workApp.appForm;var s=i.json.id;if(i.json.printForm)s=i.json.printForm;if(t.workCompleted){var e=t.workCompleted.application;return window.location.protocol+"//"+window.location.host+"/x_component_Report/$Common/printWork.html?workCompletedId="+t.workCompleted.id+"&app="+e+"&form="+s+"&debugger"}else{var e=t.work.application;return window.location.protocol+"//"+window.location.host+"/x_component_Report/$Common/printWork.html?workid="+t.work.id+"&app="+e+"&form="+s+"&debugger"}}});MWF.xApplication.Report.StrategyExplorer.Previewer=new Class({Extends:MPopupForm,Implements:[Options,Events],options:{style:"report",width:"95%",height:"95%",minWidth:300,minHeight:220,hasTop:true,hasTopIcon:false,hasTopContent:false,hasIcon:false,hasScroll:false,hasBottom:true,hasMask:true,closeByClickMask:true,title:"预览",draggable:false,resizeable:false,maxAction:true,closeAction:true,relativeToApp:true,sizeRelateTo:"app"},_createTableContent:function(){this.formTableContainer.setStyles({width:"99%",height:"99%"});this.formTableArea.setStyle("text-align","center");this.iframe=new Element("iframe",{src:this.data.url,frameborder:0,height:"100%",width:"100%",scrolling:"auto",seamless:"seamless"}).inject(this.formTableArea)},_setNodesSize:function(t,e,i,s){this.iframe.set("width",t-100);this.iframe.set("height",s-5)},_createBottomContent:function(){if(this.isNew||this.isEdited){this.okActionNode=new Element("button.inputOkButton",{styles:this.css.inputOkButton,text:this.lp.save}).inject(this.formBottomNode);this.okActionNode.addEvent("click",function(t){this.save(t)}.bind(this))}this.cancelActionNode=new Element("button.inputCancelButton",{styles:this.isEdited||this.isNew?this.css.inputCancelButton:this.css.inputCancelButton_long,text:this.lp.close}).inject(this.formBottomNode);this.cancelActionNode.addEvent("click",function(t){this.close(t)}.bind(this))}});
|