Source.js 6.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203
  1. Ext.QuickTips.init();
  2. Ext.define('erp.controller.pm.source.Source', {
  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. 'core.form.Panel','pm.source.Source','pm.source.SourceGrid','core.button.Load',
  9. 'pm.source.SourceForm','core.button.LoadingSource','common.datalist.Toolbar','core.form.ConDateField',
  10. 'core.button.Add','core.button.Submit','core.button.Audit','core.button.Save','core.button.Close','core.button.Print',
  11. 'core.button.Upload','core.button.Update','core.button.Delete','core.button.ResAudit','core.button.DeleteDetail',
  12. 'core.trigger.TextAreaTrigger','core.trigger.DbfindTrigger','core.form.YnField'
  13. ],
  14. init:function(){
  15. var me=this;
  16. this.control({
  17. 'erpSaveButton': {
  18. click: function(btn){
  19. this.save(this);
  20. }
  21. },
  22. /*'gridscroller':{
  23. beforerender:function(scroller){
  24. console.log(scroller.dock);
  25. if(scroller.dock=="bottom"){
  26. scroller.padding=" 0 0 0 100";
  27. scroller.height=10;
  28. }
  29. }
  30. },*/
  31. 'button[id=querybutton]':{
  32. click:function(btn){
  33. var rang=Ext.getCmp('condate').value;
  34. if(rang&&rang!=null){
  35. if(caller.indexOf('ForeCast')>0){
  36. condition = " ( sd_startdate "+rang+") AND ";
  37. }else condition = "( sd_delivery "+rang+" ) AND ";
  38. }
  39. var grid=Ext.getCmp('grid');
  40. grid.getCount(caller,condition);
  41. }
  42. },
  43. 'combo[id=type]':{
  44. select:function(combo,records,eOpts){
  45. var value=combo.value;
  46. var grid=Ext.getCmp('grid');
  47. var checked=Ext.getCmp('detail').checked;
  48. if(checked){
  49. caller=value.substring(0,value.length-1)+'D';
  50. }else {
  51. caller=value;
  52. }
  53. var rang=Ext.getCmp('condate').value;
  54. if(rang&&rang!=null){
  55. if(caller.indexOf('ForeCast')>0){
  56. condition = " ( sd_startdate "+rang+") AND ";
  57. }else condition = "( sd_delivery "+rang+" ) AND ";
  58. }
  59. grid.getCount(caller,condition);
  60. }
  61. },
  62. 'checkbox':{
  63. change:function(checkbox){
  64. var grid=Ext.getCmp('grid');
  65. var type=Ext.getCmp('type').getValue();
  66. if(checkbox.checked){
  67. if(type=='MRPSSaleM'){
  68. caller='MRPSSaleD';
  69. }else {
  70. caller='MRPSForeCastD';
  71. }
  72. } else{
  73. caller=type;
  74. }
  75. var rang=Ext.getCmp('condate').value;
  76. if(rang&&rang!=null){
  77. if(caller.indexOf('ForeCast')>0){
  78. condition = " ( sd_startdate "+rang+") AND ";
  79. }else condition = "( sd_delivery "+rang+" ) AND ";
  80. }
  81. grid.getCount(caller,condition);
  82. }
  83. },
  84. 'dbfindtrigger': {
  85. change: function(trigger){
  86. if(trigger.name == 'team_prjid'){
  87. this.changeGrid(trigger);
  88. }
  89. }
  90. },
  91. /*
  92. 'datefield[name=condate_to]':{
  93. afterrender:function(field){
  94. field.setValue(null);
  95. }
  96. },
  97. 'datefield[name=condate_from]':{
  98. afterrender:function(field){
  99. field.setValue(null);
  100. }
  101. },
  102. */
  103. 'button[id=load]':{
  104. click:function(btn){
  105. var grid = Ext.getCmp('grid');
  106. var form = Ext.getCmp('sourceform');
  107. var records = grid.getMultiSelected();
  108. var detailcaller='';
  109. if(caller=='MRPSSaleM'){
  110. detailcaller='MRPSSaleD';
  111. }else if(caller=='MRPSForeCastM'){
  112. detailcaller='MRPSForeCastD';
  113. }
  114. var keyField="";
  115. if(caller=='MRPSSaleM') keyField='sa_id';
  116. else if(caller=='MRPSSaleD') keyField='sd_id';
  117. else if(caller=='MRPSForeCastM')keyField='sf_id';
  118. else if(caller=='MRPSForeCastD') keyField='sd_id';
  119. if(records.length > 0){
  120. var Store = new Array();
  121. var gridStore=new Array();
  122. var dd;
  123. Ext.each(records, function(record, index){
  124. dd=new Object();
  125. dd[keyField]=record.data[keyField];
  126. Store[index]=Ext.JSON.encode(dd);
  127. });
  128. var main = parent.Ext.getCmp("content-panel");
  129. var panel= parent.Ext.getCmp(getUrlParam("panelId"));
  130. var grid=panel.currentGrid;
  131. var items=grid.getStore().data.items;
  132. var count=0;
  133. if(items.length>0){
  134. Ext.each(items, function(item, index){
  135. if(item.data.md_prodcode!=''){
  136. gridStore[index] = Ext.JSON.encode(item.data);
  137. count++;
  138. }
  139. });
  140. }
  141. main.getActiveTab().setLoading(true);
  142. Ext.Ajax.request({
  143. url : basePath + 'pm/source/LoadSource.action',
  144. params: {
  145. keyValue:keyValue,
  146. mainCode:mainCode,
  147. caller: caller,
  148. detailcaller:detailcaller,
  149. Store:unescape(Store.toString().replace(/\\/g,"%")),
  150. gridStore:unescape(gridStore.toString().replace(/\\/g,"%")),
  151. kind:kind,
  152. },
  153. method : 'post',
  154. callback : function(options,success,response){
  155. main.getActiveTab().setLoading(false);
  156. var localJson = new Ext.decode(response.responseText);
  157. if(localJson.exceptionInfo){
  158. showError(localJson.exceptionInfo);
  159. return "";
  160. }
  161. if(localJson.success){
  162. Ext.Msg.alert("提示", "处理成功!", function(){
  163. main.getActiveTab().close();
  164. main.setActiveTab(panel);
  165. });
  166. }
  167. }
  168. });
  169. }else {
  170. showError('你未选择任何载入数据!');return
  171. }
  172. }
  173. },
  174. 'erpCloseButton': {
  175. click: function(btn){
  176. this.FormUtil.beforeClose(this);
  177. }
  178. },
  179. 'erpUpdateButton': {
  180. click: function(btn){
  181. }
  182. },
  183. 'erpDeleteButton': {
  184. click: function(btn){
  185. this.FormUtil.onDelete(Ext.getCmp('team_id').value);
  186. }
  187. },
  188. 'erpAddButton': {
  189. click: function(){
  190. me.FormUtil.onAdd('addMpsMain', '计划', 'jsps/plm/team/team.jsp');
  191. }
  192. },
  193. });
  194. },
  195. onGridItemClick: function(selModel, record){//grid行选择
  196. this.GridUtil.onGridItemClick(selModel, record);
  197. },
  198. getForm: function(btn){
  199. return btn.ownerCt.ownerCt;
  200. }
  201. });