KnowledgeModule.js 6.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183
  1. Ext.QuickTips.init();
  2. Ext.define('erp.controller.oa.knowledge.KnowledgeModule', {
  3. extend: 'Ext.app.Controller',
  4. requires: ['erp.util.FormUtil', 'erp.util.GridUtil', 'erp.util.BaseUtil', 'erp.util.RenderUtil'],
  5. views:[
  6. 'oa.knowledge.KnowledgeModule','oa.knowledge.KnowledgeGrid','core.button.Save'
  7. ],
  8. init:function(){
  9. this.control({
  10. 'button[id=add]':{
  11. click:function(btn){
  12. var win = new Ext.window.Window({
  13. id : 'win',
  14. height: '300',
  15. width: '450',
  16. maximizable : true,
  17. buttonAlign : 'center',
  18. layout : 'anchor',
  19. items: [{
  20. tag : 'iframe',
  21. frame : true,
  22. anchor : '100% 100%',
  23. layout : 'fit',
  24. html : '<iframe id="iframe_' + caller + '" src="' + basePath + 'jsps/oa/knowledge/KnowledgeForm.jsp?whoami=KnowledgeModule'
  25. +'" height="100%" width="100%" frameborder="0" scrolling="no"></iframe>'
  26. }],
  27. });
  28. win.show();
  29. }
  30. },
  31. 'button[id=sort]':{
  32. click:function(){
  33. var win = new Ext.window.Window({
  34. id : 'wingrid',
  35. height: '300',
  36. width: '450',
  37. maximizable : true,
  38. buttonAlign : 'center',
  39. layout : 'anchor',
  40. items: [{
  41. tag : 'iframe',
  42. frame : true,
  43. anchor : '100% 100%',
  44. layout : 'fit',
  45. html : '<iframe id="iframe_' + caller + '" src="' + basePath + 'jsps/common/editorColumn.jsp?caller=KnowledgeModule!Sort&condition=1=1'
  46. +'" height="100%" width="100%" frameborder="0" scrolling="no"></iframe>'
  47. }],
  48. buttons : [{
  49. text : $I18N.common.button.erpConfirmButton,
  50. iconCls: 'x-button-icon-confirm',
  51. cls: 'x-btn-gray',
  52. handler : function(){
  53. var grid = Ext.getCmp('wingrid').items.items[0].body.dom.getElementsByTagName('iframe')[0].contentWindow.Ext.getCmp("editorColumnGridPanel");
  54. var data = grid.getEffectData();
  55. if(data != null){
  56. grid.setLoading(true);
  57. Ext.Ajax.request({
  58. url : basePath + 'oa/knowledge/VastSaveModuleDetno.action',
  59. params: {
  60. caller: caller,
  61. data: Ext.encode(data)
  62. },
  63. method : 'post',
  64. callback : function(options,success,response){
  65. grid.setLoading(false);
  66. var localJson = new Ext.decode(response.responseText);
  67. if(localJson.exceptionInfo){
  68. showError(localJson.exceptionInfo);
  69. return "";
  70. }
  71. if(localJson.success){
  72. if(localJson.log){
  73. showMessage("提示", localJson.log);
  74. }
  75. Ext.Msg.alert("提示", "处理成功!", function(){
  76. win.close();
  77. var detailgrid= Ext.getCmp('wingrid');
  78. gridParam = {caller: 'SaleForecast', condition: condition};
  79. me.GridUtil.getGridColumnsAndStore(detailgrid, 'common/singleGridPanel.action', gridParam, "")
  80. });
  81. }
  82. }
  83. });
  84. }
  85. }
  86. }, {
  87. text : $I18N.common.button.erpCloseButton,
  88. iconCls: 'x-button-icon-close',
  89. cls: 'x-btn-gray',
  90. handler : function(){
  91. Ext.getCmp('wingrid').close();
  92. }
  93. }]
  94. });
  95. win.show();
  96. }
  97. },
  98. 'button[id=delete]':{
  99. click:function(btn){
  100. var grid = Ext.getCmp('knowledgeGridPanel');
  101. var items = grid.selModel.getSelection();
  102. Ext.each(items, function(item, index){
  103. if(this.data[grid.keyField] != null && this.data[grid.keyField] != ''
  104. && this.data[grid.keyField] != '0' && this.data[grid.keyField] != 0){
  105. grid.multiselected.push(item);
  106. }
  107. });
  108. var records = Ext.Array.unique(grid.multiselected);
  109. if(records.length > 0){
  110. var params = new Object();
  111. params.caller = caller;
  112. var data = new Array();
  113. var bool = false;
  114. Ext.each(records, function(record, index){
  115. if((grid.keyField && this.data[grid.keyField] != null && this.data[grid.keyField] != ''
  116. && this.data[grid.keyField] != '0' && this.data[grid.keyField] != 0) ){
  117. bool = true;
  118. var o = new Object();
  119. if(grid.keyField){
  120. o[grid.keyField] = record.data[grid.keyField];
  121. } else {
  122. params.id[index] = record.data[form.fo_detailMainKeyField];
  123. }
  124. if(grid.toField){
  125. Ext.each(grid.toField, function(f, index){
  126. var v = Ext.getCmp(f).value;
  127. if(v != null && v.toString().trim() != '' && v.toString().trim() != 'null'){
  128. o[f] = v;
  129. }
  130. });
  131. }
  132. if(grid.necessaryFields){
  133. Ext.each(grid.necessaryFields, function(f, index){
  134. var v = record.data[f];
  135. if(Ext.isDate(v)){
  136. v = Ext.Date.toString(v);
  137. }
  138. o[f] = v;
  139. });
  140. }
  141. data.push(o);
  142. }
  143. });
  144. if(bool){
  145. params.data = Ext.encode(data);
  146. var main = parent.Ext.getCmp("content-panel");
  147. main.getActiveTab().setLoading(true);//loading...
  148. Ext.Ajax.request({
  149. url : basePath +'oa/knowledge/VastDeleteKnowledgeModule.action',
  150. params: params,
  151. method : 'post',
  152. callback : function(options,success,response){
  153. main.getActiveTab().setLoading(false);
  154. var localJson = new Ext.decode(response.responseText);
  155. if(localJson.exceptionInfo){
  156. showError(localJson.exceptionInfo);
  157. return "";
  158. }
  159. if(localJson.success){
  160. if(localJson.log){
  161. showMessage("提示", localJson.log);
  162. }
  163. Ext.Msg.alert("提示", "删除成功!", function(){
  164. grid.multiselected = new Array();
  165. var gridParam = {caller: caller, condition: condition};
  166. grid.GridUtil.getGridColumnsAndStore(grid, 'common/singleGridPanel.action', gridParam, "");
  167. });
  168. }
  169. }
  170. });
  171. } else {
  172. showError("没有需要处理的数据!");
  173. }
  174. }
  175. }
  176. }
  177. });
  178. }
  179. });