JprocessClassify.js 6.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172
  1. Ext.QuickTips.init();
  2. Ext.define('erp.controller.common.JprocessClassify', {
  3. extend: 'Ext.app.Controller',
  4. views:[
  5. 'common.JProcessDeploy.JprocessClassify','core.grid.Panel2','core.grid.Panel2','core.grid.YnColumn','core.button.DeleteDetail'
  6. ],
  7. GridUtil: Ext.create('erp.util.GridUtil'),
  8. init:function(){
  9. var me = this;
  10. this.control({
  11. 'erpExportDetailButton':{
  12. afterrender:function(btn){
  13. btn.ownerCt.add({
  14. xtype:'combo',
  15. fieldLabel:'移动到',
  16. disabled:true,
  17. labelSeparator :'',
  18. labelAlign:'right',
  19. style:'margin-left:10px;margin-top:10px',
  20. fieldStyle:"background:#FFFAFA;color:#515151; height:20px",
  21. labelStyle:'font-size:14px',
  22. id:'moveto',
  23. queryMode :'local',
  24. displayField:'display',
  25. valueField :'value',
  26. listeners:{
  27. select :function(combo){
  28. var grid=Ext.getCmp('grid');
  29. var params=grid.getMultiSelected();
  30. params.id=combo.value;
  31. var main = parent.Ext.getCmp("content-panel");
  32. main.getActiveTab().setLoading(true);//loading...
  33. Ext.Ajax.request({
  34. url : basePath + 'common/removeToOtherClassify.action',
  35. params: params,
  36. method : 'post',
  37. callback : function(options,success,response){
  38. main.getActiveTab().setLoading(false);
  39. var localJson = new Ext.decode(response.responseText);
  40. if(localJson.exceptionInfo){
  41. showError(localJson.exceptionInfo);
  42. return "";
  43. }
  44. if(localJson.success){
  45. if(localJson.log){
  46. showMessage("提示", localJson.log);
  47. }
  48. Ext.getCmp('moveto').reset();
  49. Ext.getCmp('moveto').setDisabled(true);
  50. Ext.Msg.alert("提示", "移动成功!", function(){
  51. grid.multiselected = new Array();
  52. me.GridUtil.loadNewStore(grid,{caller:caller,condition:'1=1'});
  53. });
  54. }
  55. }
  56. });
  57. }
  58. },
  59. onTriggerClick:function(){
  60. var me = this;
  61. var data=new Array();
  62. var o=null;
  63. Ext.Ajax.request({
  64. url : basePath + 'common/getAllJProClassify.action',
  65. async: false,
  66. method : 'post',
  67. callback : function(options,success,response){
  68. var res = new Ext.decode(response.responseText);
  69. if(res.exceptionInfo){
  70. showError(res.exceptionInfo);return;
  71. }else {
  72. Ext.Array.each(res.data, function(tr) {
  73. if(tr){
  74. o=new Object();
  75. o.display=tr[1];
  76. o.value=tr[0];
  77. data.push(o);
  78. }
  79. });
  80. }
  81. }
  82. });
  83. console.log(data);
  84. this.getStore().loadData(data);
  85. Ext.create('Ext.data.Store', {
  86. fields: ['display', 'value'],
  87. data :data
  88. });
  89. if (!me.readOnly && !me.disabled) {
  90. if (me.isExpanded) {
  91. me.collapse();
  92. } else {
  93. me.expand();
  94. }
  95. me.inputEl.focus();
  96. }
  97. }
  98. });
  99. }
  100. }
  101. });
  102. },
  103. loadNode: function(selModel, record){
  104. var me = this;
  105. if (!record.get('leaf')) {
  106. if(record.isExpanded() && record.childNodes.length > 0){//是根节点,且已展开
  107. record.collapse(true,true);//收拢
  108. me.flag = true;
  109. } else {//未展开
  110. //看是否加载了其children
  111. if(record.childNodes.length == 0){
  112. //从后台加载
  113. var activeTab = me.getActiveTab();
  114. activeTab.setLoading(true);
  115. Ext.Ajax.request({//拿到tree数据
  116. url : basePath + 'common/getLazyJProcessDeploy.action',
  117. params: {
  118. parentId: record.data['id']
  119. },
  120. callback : function(options,success,response){
  121. activeTab.setLoading(false);
  122. var res = new Ext.decode(response.responseText);
  123. if(res.tree){
  124. var tree = res.tree;
  125. Ext.each(tree, function(t){
  126. t.jd_selfId = t.id;
  127. t.jd_parentId = t.parentId;
  128. t.jd_classifiedName = t.text;
  129. // t.sn_isleaf = t.leaf;
  130. t.jd_caller = t.creator;
  131. t.jd_formUrl = t.url;
  132. t.jd_processDefinitionId = t.qtitle;
  133. t.jd_enabled = t.using;
  134. t.jd_processDefinitionName = t.version;
  135. t.dirty = false;
  136. });
  137. record.appendChild(res.tree);
  138. record.expand(false,true);//展开
  139. Ext.each(record.childNodes, function(){
  140. this.dirty = false;
  141. });
  142. } else if(res.exceptionInfo){
  143. showError(res.exceptionInfo);
  144. }
  145. }
  146. });
  147. } else {
  148. record.expand(false,true);//展开
  149. }
  150. }
  151. }
  152. },
  153. getActiveTab: function(){
  154. var tab = null;
  155. if(Ext.getCmp("content-panel")){
  156. tab = Ext.getCmp("content-panel").getActiveTab();
  157. }
  158. if(!tab){
  159. var win = parent.Ext.ComponentQuery.query('window');
  160. if(win.length > 0){
  161. tab = win[win.length-1];
  162. }
  163. }
  164. if(!tab && parent.Ext.getCmp("content-panel"))
  165. tab = parent.Ext.getCmp("content-panel").getActiveTab();
  166. if(!tab && parent.parent.Ext.getCmp("content-panel"))
  167. tab = parent.parent.Ext.getCmp("content-panel").getActiveTab();
  168. return tab;
  169. }
  170. });