| 1 |
- MWF.xApplication.Report=MWF.xApplication.Report||{};MWF.xDesktop.requireApp("Template","MDomItem",null,false);MWF.xDesktop.requireApp("Template","Explorer",null,false);MWF.xDesktop.requireApp("Template","MSelector",null,false);MWF.require("MWF.widget.Identity",null,false);MWF.xApplication.Report.MindView=new Class({Extends:MWF.widget.Common,Implements:[Options,Events],options:{style:"default"},initialize:function(t,e,i,s){this.setOptions(s);this.app=e;this.lp=e.lp.keyWorkList;this.path="/x_component_Report/$MindView/";this.loadCss();this.actions=i;this.node=$(t)},loadCss:function(){this.cssPath=this.path+this.options.style+"/css.wcss";this._loadCss()},load:function(){this.createMiddleContent()},reload:function(t){this.currentYear=t;this.createMiddleContent()},createMiddleContent:function(){this.node.empty();this.middleContent=new Element("div.middleContent",{styles:this.css.middleContent}).inject(this.node);this.viewNode=new Element("div.viewNode").inject(this.node);this.createNavi()},createNavi:function(){this.naviContent=new Element("div.naviContent",{styles:this.css.naviContent}).inject(this.middleContent);this.naviRightContent=new Element("div.naviRightContent",{styles:this.css.naviRightContent}).inject(this.middleContent);this.keyWorkNavi=new Element("div.naviNode",{styles:this.css.naviNode,text:"按公司工作重点"}).inject(this.naviContent).addEvent("click",function(){this.departmentNavi.setStyles(this.css.naviNode);this.keyWorkNavi.setStyles(this.css.naviNode_current);this.toKeyWorkView()}.bind(this));this.departmentNavi=new Element("div.naviNode",{styles:this.css.naviNode,text:"按责任部门"}).inject(this.naviContent).addEvent("click",function(){this.departmentNavi.setStyles(this.css.naviNode_current);this.keyWorkNavi.setStyles(this.css.naviNode);this.toDepartmentView()}.bind(this));this.keyWorkNavi.click()},toDepartmentView:function(){if(this.view)this.view.destroy();this.view=new MWF.xApplication.Report.MindView.DepartmentView(this.naviRightContent,this.viewNode,this);this.view.load()},toKeyWorkView:function(){if(this.view)this.view.destroy();this.view=new MWF.xApplication.Report.MindView.KeyWorkView(this.naviRightContent,this.viewNode,this);this.view.load()},destroy:function(){if(this.view){this.view.destroy()}this.node.empty()}});MWF.xApplication.Report.MindView.DepartmentView=new Class({initialize:function(t,e,i){this.explorer=i;this.app=i.app;this.lp=i.lp;this.css=i.css;this.actions=i.actions;this.actionNode=t;this.viewNode=e},load:function(){this.resizeContentFun=this.resizeContent.bind(this);this.createYearContent(this.resizeContentFun);this.app.addEvent("resize",this.resizeContentFun)},createYearContent:function(e){this.yearContentList=new Element("div.yearContentList",{styles:this.css.yearContentList}).inject(this.actionNode);this.app.strategyActions.listYearHasMeasure(function(t){if(t.type=="success"){if(t.data&&t.data.valueList){this.yearList=t.data.valueList;this.yearList.each(function(t,e){if(e<3){new Element("div.year",{styles:this.css.year,value:t,name:t,text:t}).inject(this.yearContentList).addEvents({click:function(){this.changeYearSelected(t);this.openList(t)}.bind(this)})}}.bind(this));if(this.yearList.length>3){new Element("div.yearMore",{styles:this.css.year,id:"yearMore"}).inject(this.yearContentList).setStyles({width:"30px"}).set({text:"..."}).addEvents({click:function(){this.expandYears()}.bind(this)})}if(this.currentYear){if(this.yearContentList.getElements("div[name='"+this.currentYear+"']").length>0){this.yearContentList.getElements("div[name='"+this.currentYear+"']")[0].click()}}else{if(this.yearContentList.getElements("div").length>0){this.yearContentList.getElements("div")[0].click()}}if(e)e()}}}.bind(this))},expandYears:function(){this.yearContentList.getElementById("yearMore").destroy();this.yearList.each(function(t,e){if(e>2){new Element("div.year",{styles:this.css.year,value:t,name:t,text:t}).inject(this.yearContentList).addEvents({click:function(){this.changeYearSelected(t);this.openList(t)}.bind(this)})}}.bind(this));this.expend();this.yearContentList.addEvents({mouseenter:function(){this.expend()}.bind(this),mouseleave:function(){this.collapse()}.bind(this)})},expend:function(){this.actionNode.setStyles({position:"relative"});this.yearContentList.setStyles({"padding-bottom":"15px",height:this.yearContentList.getScrollSize().y+"px",position:"absolute",top:"0px",left:"0px","box-shadow":"0 0 8px 0 rgba(0,0,0,0.25)",overflow:"visible"})},collapse:function(){this.actionNode.setStyles({position:"static"});this.yearContentList.setStyles({"padding-bottom":"0px",height:"60px",position:"static","box-shadow":"none",overflow:"hidden"})},openList:function(t){this.currentYear=t;this.createViewContent();this.resizeContent()},changeYearSelected:function(e){this.yearContentList.getElements("div").each(function(t){if(t.get("text")==e){t.setStyles({"background-color":"#4990E2",color:"#FFFFFF"})}else{t.setStyles({"background-color":"",color:"#666666"})}}.bind(this))},createViewContent:function(t){var i=this;if(this.view)this.view.destroy();if(this.viewContent)this.viewContent.destroy();this.viewContent=new Element("div.viewContent",{styles:this.css.viewContent}).inject(this.viewNode);this.viewContentList=new Element("div.departmentContentList",{styles:this.css.departmentContentList}).inject(this.viewContent);this.app.strategyActions.listMeasureDepartmentByYear(this.currentYear,function(t){if(t.data&&t.data.valueList){t.data.valueList.each(function(t){var e=new Element("div",{text:t.split("@")[0],styles:this.css.departmentNode}).inject(this.viewContentList);e.addEvents({mouseover:function(){this.node.setStyles(i.css.departmentNode_over)}.bind({node:e}),mouseout:function(){this.node.setStyles(i.css.departmentNode)}.bind({node:e}),click:function(){i.openMind(this.department)}.bind({department:t})})}.bind(this))}}.bind(this));this.resizeContent()},openMind:function(t){var e="ReportMinder"+t;if(this.app.desktop.apps[e]){this.app.desktop.apps[e].setCurrent()}else{this.app.desktop.openApplication(null,"ReportMinder",{mindType:"department",department:t,year:this.currentYear,appId:e})}},resizeContent:function(){var t=this.explorer.node.getSize();if(this.yearContentList.getElements("div").length>0){this.yearContentList.setStyles({width:t.x-260+"px"});if(!this.app.inContainer){this.viewContent.setStyles({height:t.y-this.actionNode.getHeight()-50+"px"});this.viewContentList.setStyles({height:this.viewContent.getHeight()-20+"px",width:this.viewContent.getWidth-40+"px"})}}},destroy:function(){this.app.removeEvent("resize",this.resizeContentFun);this.actionNode.empty();this.viewNode.empty()}});MWF.xApplication.Report.MindView.KeyWorkView=new Class({initialize:function(t,e,i){this.explorer=i;this.app=i.app;this.lp=i.lp;this.css=i.css;this.actions=i.actions;this.actionNode=t;this.viewNode=e},load:function(){this.resizeContentFun=this.resizeContent.bind(this);this.createYearContent(this.resizeContentFun);this.app.addEvent("resize",this.resizeContentFun)},createYearContent:function(e){this.yearContentList=new Element("div.yearContentList",{styles:this.css.yearContentList}).inject(this.actionNode);this.app.strategyActions.getKeyWorkListYear(function(t){if(t.type=="success"){if(t.data&&t.data.valueList){this.yearList=t.data.valueList;this.yearList.each(function(t,e){if(e<3){new Element("div.year",{styles:this.css.year,value:t,name:t,text:t}).inject(this.yearContentList).addEvents({click:function(){this.changeYearSelected(t);this.openList(t)}.bind(this)})}}.bind(this));if(this.yearList.length>3){new Element("div.yearMore",{styles:this.css.year,id:"yearMore"}).inject(this.yearContentList).setStyles({width:"30px"}).set({text:"..."}).addEvents({click:function(){this.expandYears()}.bind(this)})}if(this.currentYear){if(this.yearContentList.getElements("div[name='"+this.currentYear+"']").length>0){this.yearContentList.getElements("div[name='"+this.currentYear+"']")[0].click()}}else{if(this.yearContentList.getElements("div").length>0){this.yearContentList.getElements("div")[0].click()}}if(e)e()}}}.bind(this))},expandYears:function(){this.yearContentList.getElementById("yearMore").destroy();this.yearList.each(function(t,e){if(e>2){new Element("div.year",{styles:this.css.year,value:t,name:t,text:t}).inject(this.yearContentList).addEvents({click:function(){this.changeYearSelected(t);this.openList(t)}.bind(this)})}}.bind(this));this.expend();this.yearContentList.addEvents({mouseenter:function(){this.expend()}.bind(this),mouseleave:function(){this.collapse()}.bind(this)})},expend:function(){this.actionNode.setStyles({position:"relative"});this.yearContentList.setStyles({"padding-bottom":"15px",height:this.yearContentList.getScrollSize().y+"px",position:"absolute",top:"0px",left:"0px","box-shadow":"0 0 8px 0 rgba(0,0,0,0.25)",overflow:"visible"})},collapse:function(){this.actionNode.setStyles({position:"static"});this.yearContentList.setStyles({"padding-bottom":"0px",height:"60px",position:"static","box-shadow":"none",overflow:"hidden"})},openList:function(t){this.currentYear=t;this.createSearch();this.createViewContent();this.resizeContent()},changeYearSelected:function(e){this.yearContentList.getElements("div").each(function(t){if(t.get("text")==e){t.setStyles({"background-color":"#4990E2",color:"#FFFFFF"})}else{t.setStyles({"background-color":"",color:"#666666"})}}.bind(this))},createSearch:function(){if(this.searchContent)this.searchContent.destroy();this.searchContent=new Element("div.searchContent",{styles:this.css.searchContent}).inject(this.actionNode);this.searchBar=new Element("div.searchBar",{styles:this.css.searchBar}).inject(this.searchContent);this.searchIn=new Element("input.searchIn",{styles:this.css.searchIn,placeholder:this.lp.defaultSearchIn}).inject(this.searchBar).addEvents({keydown:function(t){if(this.searchIn.get("value")!=""&&t.event.keyCode=="13"){this.searchReset.setStyles({display:""});this.createViewContent({strategydeploytitle:this.searchIn.get("value")})}}.bind(this)});this.searchImg=new Element("div.searchImg",{styles:this.css.searchImg}).inject(this.searchBar);this.searchImg.addEvents({click:function(){if(this.searchIn.get("value")!=""){this.searchReset.setStyles({display:""});this.createViewContent({strategydeploytitle:this.searchIn.get("value")})}}.bind(this)});this.searchReset=new Element("div.searchReset",{styles:this.css.searchReset}).inject(this.searchBar).addEvents({click:function(){this.searchIn.set("value","");this.searchReset.setStyles({display:"none"});this.createViewContent()}.bind(this)});this.searchDeptBar=new Element("div.searchDeptBar",{styles:this.css.searchDeptBar}).inject(this.searchContent);this.searchDeptList=new Element("div.searchDeptList",{styles:this.css.searchDeptList}).inject(this.searchDeptBar);var t=new MWF.xApplication.Report.MindView.DepartmentSelect(this.searchDeptList,{currentYear:this.currentYear,onSelectItem:function(t,e){this.createViewContent(e.value?{deptlist:[e.value]}:{})}.bind(this)},this.app);t.load()},createViewContent:function(t){if(this.view)this.view.destroy();if(this.viewContent)this.viewContent.destroy();this.viewContent=new Element("div.viewContent",{styles:this.css.viewContent}).inject(this.viewNode);this.viewContentList=new Element("div.viewContentList",{styles:this.css.viewContentList}).inject(this.viewContent);this.filter={strategydeployyear:this.currentYear,ordersymbol:"ASC"};for(var e in t){if(t[e]!=this.app.lp.defaultSelect){this.filter[e]=t[e]}}var i=this.explorer.path+"KeyWork.json";this.view=new MWF.xApplication.Report.MindView.View(this.viewContentList,this.app,{lp:this.lp.view,css:this.css,actions:this.actions},{templateUrl:i,filterData:this.filter,year:this.currentYear});this.view.load();this.resizeContent()},resizeContent:function(){var t=this.explorer.node.getSize();if(this.yearContentList.getElements("div").length>0){var e=this.searchContent.getSize();this.yearContentList.setStyles({width:t.x-570-260+"px"});if(!this.app.inContainer){this.viewContent.setStyles({height:t.y-this.actionNode.getHeight()-50+"px"});this.viewContentList.setStyles({height:this.viewContent.getHeight()-20+"px",width:this.viewContent.getWidth-40+"px"})}}},destroy:function(){if(this.view){this.view.destroy()}this.app.removeEvent("resize",this.resizeContentFun);this.actionNode.empty();this.viewNode.empty()}});MWF.xApplication.Report.MindView.View=new Class({Extends:MWF.xApplication.Template.Explorer.ComplexView,Implements:[Options,Events],options:{scrollEnable:true,scrollType:"window"},_createDocument:function(t){return new MWF.xApplication.Report.MindView.Document(this.viewNode,t,this.explorer,this)},_getCurrentPageData:function(e,t){if(!t)t=100;var i=this.items.length?this.items[this.items.length-1].data.id:"(0)";var s=this.options.filterData||{};this.app.strategyActions.getKeyWorkListNext(i,t,s,function(t){if(e)e(t)}.bind(this))},_removeDocument:function(t){},_create:function(){},_openDocument:function(t){var e="ReportMinder"+t.id;if(this.app.desktop.apps[e]){this.app.desktop.apps[e].setCurrent()}else{this.app.desktop.openApplication(null,"ReportMinder",{id:t.id,year:this.options.year,appId:e})}},_queryCreateViewNode:function(){},_postCreateViewNode:function(){},_queryCreateViewHead:function(){},_postCreateViewHead:function(t){},destroyScroll:function(){if(this.scrollContainerFun){var t=this.app.scrollNode?this.app.scrollNode:this.container;t.removeEvent("scroll",this.scrollContainerFun);this.scrollContainerFun=null}},setScroll:function(){var s=this.app.scrollNode?this.app.scrollNode:this.container;s.setStyle("overflow","auto");this.scrollContainerFun=function(){if(!this.options.pagingEnable){var t=s.getScrollSize();var e=s.getSize();var i=t.y-e.y;if(s.scrollTop+150>i){if(!this.isItemsLoaded)this.loadElementList()}}}.bind(this);s.addEvent("scroll",this.scrollContainerFun)}});MWF.xApplication.Report.MindView.Document=new Class({Extends:MWF.xApplication.Template.Explorer.ComplexDocument,_postCreateDocumentNode:function(t,e){}});MWF.xApplication.Report.MindView.DepartmentSelect=new Class({Extends:MSelector,options:{style:"default",width:"230px",height:"30px",defaultOptionLp:"请选择部门列表",textField:"text",valueField:"value",currentYear:""},_selectItem:function(t,e){},_loadData:function(i){this.app.strategyActions.getKeyWorkDepartmentByYear(this.options.currentYear,function(t){if(t.type=="success"&&t.data.valueList){var e=[];t.data.valueList.each(function(t){e.push({text:t.split("@")[0],value:t})});if(i)i(e)}}.bind(this))}});
|