Main.js 11 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286
  1. MWF.xApplication.Strategy = MWF.xApplication.Strategy || {};
  2. MWF.require("MWF.widget.Identity", null,false);
  3. //MWF.xDesktop.requireApp("Strategy", "Actions.RestActions", null, false);
  4. MWF.xDesktop.requireApp("Template", "Explorer", null, false);
  5. MWF.xDesktop.requireApp("Template", "MDomItem", null, false);
  6. MWF.xApplication.Strategy.options.multitask = true;
  7. MWF.xApplication.Strategy.Main = new Class({
  8. Extends: MWF.xApplication.Common.Main,
  9. Implements: [Options, Events],
  10. options: {
  11. "style": "default",
  12. "name": "Strategy",
  13. "icon": "icon.png",
  14. "width": "1200",
  15. "height": "700",
  16. "isResize": true,
  17. "isMax": true,
  18. "title": MWF.xApplication.Strategy.LP.title
  19. },
  20. onQueryLoad: function(){
  21. this.lp = MWF.xApplication.Strategy.LP;
  22. this.app = this;
  23. },
  24. loadApplication: function(){
  25. this.user = layout.desktop.session.user.name;
  26. this.distinguishedName = layout.desktop.session.user.distinguishedName;
  27. this.userGender = layout.desktop.session.user.genderType;
  28. //this.actions = new MWF.xApplication.Strategy.Actions.RestActions();
  29. this.actions = MWF.Actions.get("x_strategydeploy_assemble_control");
  30. this.initProfile(this.createContainer());
  31. this.addEvent("resize", function(){
  32. this.resizeContent();
  33. }.bind(this));
  34. },
  35. recordStatus: function(){
  36. var status = {
  37. currentNavi : this.currentNavi
  38. };
  39. return status;
  40. },
  41. resizeContent : function(){
  42. var size = this.container.getSize();
  43. this.middleContent.setStyles({"height":(size.y-this.naviTab.getHeight())+"px"});
  44. //var y = size.y-300;
  45. //var x = size.x-450;
  46. //if(this.todoListContent){this.todoListContent.setStyles({"height":y+"px"});this.todoListContentY = y}
  47. //if(this.workListContent){this.workListContent.setStyles({"height":y+"px"});this.todoListContentY = y}
  48. //if(this.workConditionContentDiv)this.workConditionContentDiv.setStyles({"height":y+"px"});
  49. //if(this.leftContent)this.leftContent.setStyles({"width":x+"px"});
  50. },
  51. createShade: function(o,txtInfo){
  52. var defaultObj = this.content;
  53. var obj = o || defaultObj;
  54. var txt = txtInfo || "loading...";
  55. if(this.shadeDiv){
  56. $(this.shadeDiv).destroy();
  57. }
  58. if(this["shadeTxtDiv"]) this["shadeTxtDiv"].destroy();
  59. this.shadeDiv = new Element("div.shadeDiv").inject(obj);
  60. this.inforDiv = new Element("div.inforDiv",{
  61. styles:{"height":"16px","display":"inline-block","position":"absolute","background-color":"#000000","border-radius":"3px","padding":"5px 10px"}
  62. }).inject(this.shadeDiv);
  63. this.loadImg = new Element("img.loadImg",{
  64. styles:{"width":"16px","height":"16px","float":"left"},
  65. src:this.path+"default/icon/loading.gif"
  66. }).inject(this.inforDiv);
  67. this.shadeTxtSpan = new Element("span.shadeTxtSpan").inject(this.inforDiv);
  68. this.shadeTxtSpan.set("text",txt);
  69. this.shadeDiv.setStyles({
  70. "width":"100%","height":"100%","position":"absolute","opacity":"0.6","background-color":"#cccccc","z-index":"999"
  71. });
  72. this.shadeTxtSpan.setStyles({"color":"#ffffff","font-size":"12px","display":"inline-block","line-height":"16px","padding-left":"5px"});
  73. var x = obj.getSize().x;
  74. var y = obj.getSize().y;
  75. this.shadeDiv.setStyles({
  76. "left":(obj.getLeft()-defaultObj.getLeft())+"px",
  77. "top":(obj.getTop()-defaultObj.getTop())+"px",
  78. "width":x+"px",
  79. "height":y+"px"
  80. });
  81. if(obj.getStyle("position")=="absolute"){
  82. this.shadeDiv.setStyles({
  83. "left":"0px",
  84. "top":"0px"
  85. });
  86. }
  87. this.inforDiv.setStyles({
  88. "left":(x/2)+"px",
  89. "top":(y/2)+"px"
  90. });
  91. },
  92. destroyShade : function(){
  93. if(this.shadeDiv) $(this.shadeDiv).destroy();
  94. //if(this.shadeDiv) this.shadeDiv.destroy()
  95. },
  96. showErrorMessage:function(xhr,text,error){
  97. var errorText = error;
  98. var errorMessage;
  99. if (xhr) errorMessage = xhr.responseText;
  100. if(errorMessage!=""){
  101. var e = JSON.parse(errorMessage);
  102. if(e.message){
  103. this.notice( e.message,"error");
  104. }else{
  105. this.notice( errorText,"error");
  106. }
  107. }else{
  108. this.notice(errorText,"error");
  109. }
  110. },
  111. initProfile:function(callback){
  112. // get some profile data
  113. //...
  114. if(callback)callback();
  115. },
  116. createContainer: function(){
  117. //var _self = this;
  118. if( !this.container ){
  119. this.content.setStyle("overflow", "hidden");
  120. this.container = new Element("div.container", {
  121. "styles": this.css.container
  122. }).inject(this.content);
  123. }
  124. //navi
  125. this.naviTab = new Element("div.naviTab",{"styles":this.css.naviTab}).inject(this.container);
  126. //公司工作重点
  127. this.keyWorkTab = new Element("div.keyWorkTab",{"styles":this.css.keyWorkTab}).inject(this.naviTab);
  128. this.keyWorkTabImg = new Element("div.keyWorkTabImg",{
  129. "styles":this.css.keyWorkTabImg
  130. }).inject(this.keyWorkTab);
  131. this.keyWorkTabLabel = new Element("div.keyWorkTabLabel",{
  132. "styles":this.css.keyWorkTabLabel,
  133. "text":this.lp.keyWork.name
  134. }).inject(this.keyWorkTab);
  135. this.keyWorkTab.addEvents({
  136. "click":function(){
  137. this.openTab("keyWork")
  138. }.bind(this),
  139. "mouseover":function(){
  140. if(this.currentNavi != "keyWork"){
  141. this.keyWorkTabImg.setStyles({"background-image":"url('../x_component_Strategy/$Main/default/icon/icon_zdgj_click.png')"});
  142. this.keyWorkTabLabel.setStyles({"color":"#3C76B7"})
  143. }
  144. }.bind(this),
  145. "mouseout":function(){
  146. if(this.currentNavi != "keyWork"){
  147. this.keyWorkTabImg.setStyles({"background-image":"url('../x_component_Strategy/$Main/default/icon/icon_zdgj.png')"});
  148. this.keyWorkTabLabel.setStyles({"color":"#333333"})
  149. }
  150. }.bind(this)
  151. });
  152. //举措
  153. this.measureTab = new Element("div.measureTab",{"styles":this.css.measureTab}).inject(this.naviTab);
  154. this.measureTabImg = new Element("div.measureTabImg",{
  155. "styles":this.css.measureTabImg
  156. }).inject(this.measureTab);
  157. this.measureTabLabel = new Element("div.measureTabLabel",{
  158. "styles":this.css.measureTabLabel,
  159. "text":this.lp.measure.name
  160. }).inject(this.measureTab);
  161. this.measureTab.addEvents({
  162. "click":function(){
  163. this.openTab("measure")
  164. }.bind(this),
  165. "mouseover":function(){
  166. if(this.currentNavi != "measures"){
  167. this.measureTabImg.setStyles({"background-image":"url('../x_component_Strategy/$Main/default/icon/icon_zljc_click.png')"});
  168. this.measureTabLabel.setStyles({"color":"#3C76B7"})
  169. }
  170. }.bind(this),
  171. "mouseout":function(){
  172. if(this.currentNavi != "measure"){
  173. this.measureTabImg.setStyles({"background-image":"url('../x_component_Strategy/$Main/default/icon/icon_zljc.png')"});
  174. this.measureTabLabel.setStyles({"color":"#333333"})
  175. }
  176. }.bind(this)
  177. });
  178. //五项
  179. //this.priorityTab = new Element("div.priorityTab",{"styles":this.css.priorityTab}).inject(this.naviTab);
  180. //this.priorityTabImg = new Element("div.priorityTabImg",{
  181. // "styles":this.css.priorityTabImg
  182. //}).inject(this.priorityTab);
  183. //this.priorityTabLabel = new Element("div.priorityTabLabel",{
  184. // "styles":this.css.priorityTabLabel,
  185. // "text":this.lp.priority.name
  186. //}).inject(this.priorityTab);
  187. //this.priorityTab.addEvents({
  188. // "click":function(){
  189. // this.openTab("priority")
  190. // }.bind(this),
  191. // "mouseover":function(){
  192. // if(this.currentNavi != "priority"){
  193. // this.priorityTabImg.setStyles({"background-image":"url('../x_component_Strategy/$Main/default/icon/icon_5x_click.png')"});
  194. // this.priorityTabLabel.setStyles({"color":"#3C76B7"})
  195. // }
  196. // }.bind(this),
  197. // "mouseout":function(){
  198. // if(this.currentNavi != "priority"){
  199. // this.priorityTabImg.setStyles({"background-image":"url('../x_component_Strategy/$Main/default/icon/icon_5x.png')"});
  200. // this.priorityTabLabel.setStyles({"color":"#333333"})
  201. // }
  202. // }.bind(this)
  203. //});
  204. //content
  205. this.middleContent = new Element("div.middleContent",{"styles":this.css.middleContent}).inject(this.container);
  206. this.openTab(this.status ? this.status.currentNavi:null);
  207. this.resizeContent();
  208. },
  209. openTab:function(str){
  210. var tab = str || "keyWork";
  211. this.changeNaviSelected(tab);
  212. this.currentNavi = tab;
  213. if(tab == "keyWork"){
  214. this.middleContent.empty();
  215. MWF.xDesktop.requireApp("Strategy", "KeyWorkList", function(){
  216. this.keyWorkList = new MWF.xApplication.Strategy.KeyWorkList(this.middleContent,this,this.actions);
  217. this.keyWorkList.load();
  218. }.bind(this))
  219. }else if(tab == "measure"){
  220. this.middleContent.empty();
  221. MWF.xDesktop.requireApp("Strategy", "MeasureList", function(){
  222. this.measureList = new MWF.xApplication.Strategy.MeasureList(this.middleContent,this,this.actions);
  223. this.measureList.load();
  224. }.bind(this))
  225. }else if(tab == "priority"){
  226. this.middleContent.empty();
  227. MWF.xDesktop.requireApp("Strategy", "PriorityList", function(){
  228. this.priorityList = new MWF.xApplication.Strategy.PriorityList(this.middleContent,this,this.actions);
  229. this.priorityList.load();
  230. }.bind(this))
  231. }
  232. },
  233. changeNaviSelected:function(str){
  234. if(str == "keyWork"){
  235. this.keyWorkTab.setStyles({"border-bottom":"2px solid #4990E2"});
  236. this.measureTab.setStyles({"border-bottom":"0px"});
  237. //this.priorityTab.setStyles({"border-bottom":"0px"});
  238. this.keyWorkTabImg.setStyles({"background-image":"url('../x_component_Strategy/$Main/default/icon/icon_zdgj_click.png')"});
  239. this.keyWorkTabLabel.setStyles({"color":"#3C76B7"});
  240. this.measureTabImg.setStyles({"background-image":"url('../x_component_Strategy/$Main/default/icon/icon_zljc.png')"});
  241. this.measureTabLabel.setStyles({"color":"#333333"});
  242. //this.priorityTabImg.setStyles({"background-image":"url('../x_component_Strategy/$Main/default/icon/icon_5x.png')"});
  243. //this.priorityTabLabel.setStyles({"color":"#333333"})
  244. }else if(str == "measure"){
  245. this.keyWorkTab.setStyles({"border-bottom":"0px"});
  246. this.measureTab.setStyles({"border-bottom":"2px solid #4990E2"});
  247. //this.priorityTab.setStyles({"border-bottom":"0px"});
  248. this.keyWorkTabImg.setStyles({"background-image":"url('../x_component_Strategy/$Main/default/icon/icon_zdgj.png')"});
  249. this.keyWorkTabLabel.setStyles({"color":"#333333"});
  250. this.measureTabImg.setStyles({"background-image":"url('../x_component_Strategy/$Main/default/icon/icon_zljc_click.png')"});
  251. this.measureTabLabel.setStyles({"color":"#3C76B7"});
  252. //this.priorityTabImg.setStyles({"background-image":"url('../x_component_Strategy/$Main/default/icon/icon_5x.png')"});
  253. //this.priorityTabLabel.setStyles({"color":"#333333"});
  254. }else if(str == "priority"){
  255. this.keyWorkTab.setStyles({"border-bottom":"0px"});
  256. this.measureTab.setStyles({"border-bottom":"0px"});
  257. //this.priorityTab.setStyles({"border-bottom":"2px solid #4990E2"});
  258. this.keyWorkTabImg.setStyles({"background-image":"url('../x_component_Strategy/$Main/default/icon/icon_zdgj.png')"});
  259. this.keyWorkTabLabel.setStyles({"color":"#333333"});
  260. this.measureTabImg.setStyles({"background-image":"url('../x_component_Strategy/$Main/default/icon/icon_zljc.png')"});
  261. this.measureTabLabel.setStyles({"color":"#333333"});
  262. //this.priorityTabImg.setStyles({"background-image":"url('../x_component_Strategy/$Main/default/icon/icon_5x_click.png')"});
  263. //this.priorityTabLabel.setStyles({"color":"#3C76B7"});
  264. }
  265. }
  266. });