TaskTemplate.js 2.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081
  1. Ext.QuickTips.init();
  2. Ext.define('erp.controller.plm.task.TaskTemplate', {
  3. extend: 'Ext.app.Controller',
  4. views:[
  5. 'plm.task.TaskTemplate','core.grid.TaskTreeGrid','core.grid.WbsColumn'
  6. ],
  7. init:function(){
  8. var me = this;
  9. this.control({
  10. 'erpTaskTreeGrid': {
  11. itemmousedown: function(selModel, record){
  12. var treegrid = Ext.getCmp('treegrid');
  13. treegrid.selModel.select(record);
  14. me.loadNode(selModel, record);
  15. },
  16. itemdbclick: function(selModel, record){
  17. var treegrid = Ext.getCmp('treegrid');
  18. treegrid.selModel.select(record);
  19. me.loadNode(selModel, record);
  20. }
  21. }
  22. });
  23. },
  24. loadNode: function(selModel, record){
  25. var me = this;
  26. if (!record.get('leaf')) {
  27. if(record.isExpanded() && record.childNodes.length > 0){
  28. record.collapse(true,true);
  29. me.flag = true;
  30. } else {
  31. if(record.childNodes.length == 0){
  32. var activeTab = me.getActiveTab();
  33. var condition=(formCondition=="")?"":formCondition.replace('pt_id','tt_ptid');
  34. activeTab.setLoading(true);
  35. Ext.Ajax.request({
  36. url : basePath + 'common/TaskTree.action',
  37. params: {
  38. parentId: record.data['tt_id'],
  39. condition:condition
  40. },
  41. callback : function(options,success,response){
  42. activeTab.setLoading(false);
  43. var res = new Ext.decode(response.responseText);
  44. if(res.tree){
  45. var tree=res.tree;
  46. if(tree[0]){
  47. record.appendChild(tree);
  48. record.expand(false,true);
  49. Ext.each(record.childNodes, function(){
  50. this.dirty = false;
  51. });
  52. }
  53. } else if(res.exceptionInfo){
  54. showError(res.exceptionInfo);
  55. }
  56. }
  57. });
  58. } else {
  59. record.expand(false,true);
  60. }
  61. }
  62. }
  63. },
  64. getActiveTab: function(){
  65. var tab = null;
  66. if(Ext.getCmp("content-panel")){
  67. tab = Ext.getCmp("content-panel").getActiveTab();
  68. }
  69. if(!tab){
  70. var win = parent.Ext.ComponentQuery.query('window');
  71. if(win.length > 0){
  72. tab = win[win.length-1];
  73. }
  74. }
  75. if(!tab && parent.Ext.getCmp("content-panel"))
  76. tab = parent.Ext.getCmp("content-panel").getActiveTab();
  77. if(!tab && parent.parent.Ext.getCmp("content-panel"))
  78. tab = parent.parent.Ext.getCmp("content-panel").getActiveTab();
  79. return tab;
  80. }
  81. });