TestTeamplate.js 4.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158
  1. Ext.QuickTips.init();
  2. Ext.define('erp.controller.plm.test.TestTeamplate', {
  3. extend: 'Ext.app.Controller',
  4. FormUtil: Ext.create('erp.util.FormUtil'),
  5. GridUtil: Ext.create('erp.util.GridUtil'),
  6. BaseUtil: Ext.create('erp.util.BaseUtil'),
  7. views:[
  8. 'plm.test.TestTeamplate','core.form.Panel','core.grid.Panel2','core.form.YnField',
  9. 'core.button.Add','core.button.Save','core.button.Close','core.button.Delete','core.button.Update','core.form.FileField',
  10. 'core.trigger.DbfindTrigger','core.toolbar.Toolbar'
  11. ],
  12. init:function(){
  13. var me = this;
  14. this.control({
  15. 'dbfindtrigger[name=mt_module]': {
  16. afterrender: function(f){
  17. f.onTriggerClick = function(){
  18. me.getLogicTree();
  19. };
  20. f.autoDbfind = false;
  21. }
  22. },
  23. 'erpSaveButton': {
  24. click: function(btn){
  25. var codeField=Ext.getCmp(form.codeField);
  26. if(codeField.value == null || codeField.value == ''){
  27. me.BaseUtil.getRandomNumber();
  28. }
  29. }
  30. },
  31. 'erpUpdateButton': {
  32. click: function(btn){
  33. this.FormUtil.onUpdate(this);
  34. }
  35. },
  36. 'erpDeleteButton': {
  37. click: function(btn){
  38. this.FormUtil.onDelete(Ext.getCmp('mt_id').value);
  39. }
  40. },
  41. 'erpAddButton': {
  42. click: function(){
  43. me.FormUtil.onAdd('addPrjMainTestTemplate', '测试项维护', 'jsps/plm/test/TestTeamplate.jsp');
  44. }
  45. },
  46. 'erpCloseButton': {
  47. click: function(btn){
  48. this.FormUtil.beforeClose(me);
  49. }
  50. },
  51. 'erpGridPanel2': {
  52. itemclick: function(selModel, record){
  53. this.GridUtil.onGridItemClick(selModel, record);
  54. }
  55. },
  56. 'treepanel': {
  57. itemmousedown: function(selModel, record){
  58. var tree = selModel.ownerCt;
  59. me.loadTree(tree, record);
  60. }
  61. }
  62. });
  63. },
  64. getForm: function(btn){
  65. return btn.ownerCt.ownerCt;
  66. },
  67. getLogicTree: function(){
  68. var w = Ext.create('Ext.Window',{
  69. title: '查找模板',
  70. height: "100%",
  71. width: "80%",
  72. maximizable : true,
  73. buttonAlign : 'center',
  74. layout : 'anchor',
  75. items: [{
  76. anchor: '100% 100%',
  77. xtype: 'treepanel',
  78. rootVisible: false,
  79. useArrows: true,
  80. store: Ext.create('Ext.data.TreeStore', {
  81. root : {
  82. text: 'root',
  83. id: 'root',
  84. expanded: true
  85. }
  86. })
  87. }],
  88. buttons : [{
  89. text : '关 闭',
  90. iconCls: 'x-button-icon-close',
  91. cls: 'x-btn-gray',
  92. handler : function(btn){
  93. btn.ownerCt.ownerCt.close();
  94. }
  95. },{
  96. text: '确定',
  97. iconCls: 'x-button-icon-confirm',
  98. cls: 'x-btn-gray',
  99. handler: function(btn){
  100. var t = btn.ownerCt.ownerCt.down('treepanel');
  101. if(!Ext.isEmpty(t.title)) {
  102. Ext.getCmp('mt_module').setValue(t.title);
  103. }
  104. btn.ownerCt.ownerCt.close();
  105. }
  106. }]
  107. });
  108. w.show();
  109. this.loadTree(w.down('treepanel'), null);
  110. },
  111. loadTree: function(tree, record){
  112. var pid = 0;
  113. if(record) {
  114. if (record.get('leaf')) {
  115. return;
  116. } else {
  117. if(record.isExpanded() && record.childNodes.length > 0){
  118. record.collapse(true, true);//收拢
  119. return;
  120. } else {
  121. if(record.childNodes.length != 0){
  122. record.expand(false, true);//展开
  123. return;
  124. }
  125. }
  126. }
  127. pid = record.get('id');
  128. }
  129. tree.setLoading(true);
  130. Ext.Ajax.request({
  131. url : basePath + 'common/lazyTree.action',
  132. params: {
  133. parentId: pid,
  134. condition: 'sn_logic=1'
  135. },
  136. callback : function(options,success,response){
  137. tree.setLoading(false);
  138. var res = new Ext.decode(response.responseText);
  139. if(res.tree){
  140. if(record) {
  141. record.appendChild(res.tree);
  142. record.expand(false,true);//展开
  143. tree.setTitle(record.getPath('text', '/').replace('root', '').replace('//', '/'));
  144. } else {
  145. tree.store.setRootNode({
  146. text: 'root',
  147. id: 'root',
  148. expanded: true,
  149. children: res.tree
  150. });
  151. }
  152. } else if(res.exceptionInfo){
  153. showError(res.exceptionInfo);
  154. }
  155. }
  156. });
  157. }
  158. });