MsdInfo.js 7.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184
  1. Ext.QuickTips.init();
  2. Ext.define('erp.controller.scm.product.MsdInfo', {
  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. selectid : '',
  8. selectmf : Number(Ext.Date.format(new Date(), 'Ym')),
  9. views : [ 'scm.product.MSDProduct.MsdInfo','scm.product.MSDProduct.MsdInfoGrid', 'core.button.Save',
  10. 'core.trigger.DbfindTrigger', 'core.button.Delete', 'core.button.Close'],
  11. init : function() {
  12. var me = this;
  13. me.gridLastSelected = null;
  14. this.control({
  15. 'msdInfoGridGrid' : {
  16. itemclick : this.GridUtil.onGridItemClick
  17. },
  18. 'erpSaveButton' : {
  19. click : function(btn) {
  20. this.beforeUpdate();
  21. }
  22. },
  23. 'erpDeleteButton' : {
  24. click : function(btn) {
  25. this.deleteMsdInfo();
  26. }
  27. }
  28. });
  29. },
  30. deleteMsdInfo : function(btn) {
  31. var me = this;
  32. var grid = Ext.getCmp('grid');
  33. var id;
  34. if(grid.getSelectionModel().lastSelected){
  35. id = grid.getSelectionModel().lastSelected.data.mi_id
  36. }else{
  37. return;
  38. }
  39. Ext.MessageBox.show({
  40. title:'提示',
  41. msg: '是否删除所选行?',
  42. buttons: Ext.Msg.YESNO,
  43. icon: Ext.Msg.WARNING,
  44. fn: function(btns){
  45. if(btns == 'yes'){
  46. Ext.Ajax.request({
  47. url : basePath + 'scm/product/deleteMsdInfo.action',
  48. params : {
  49. id : id,
  50. caller:caller
  51. },
  52. method : 'post',
  53. callback : function(options, success, response) {
  54. me.getActiveTab().setLoading(false);
  55. var localJson = new Ext.decode(response.responseText);
  56. if (localJson.success) {
  57. delSuccess(function() {
  58. var grid = Ext.getCmp('grid');
  59. // add成功后刷新页面进入可编辑的页面
  60. var gridCondition = me.BaseUtil.getUrlParam('gridCondition');
  61. gridCondition = (gridCondition == null || gridCondition == "null") ? "1=1" : gridCondition;
  62. var gridParam = {caller: caller, condition: gridCondition};
  63. me.GridUtil.getGridColumnsAndStore(grid, 'common/singleGridPanel.action', gridParam, "");
  64. });
  65. } else if (localJson.exceptionInfo) {
  66. var str = localJson.exceptionInfo;
  67. if (str.trim().substr(0, 12) == 'AFTERSUCCESS') {// 特殊情况:操作成功,但是出现警告,允许刷新页面
  68. str = str.replace('AFTERSUCCESS', '');
  69. delSuccess(function() {
  70. var grid = Ext.getCmp('grid');
  71. // add成功后刷新页面进入可编辑的页面
  72. var gridCondition = me.BaseUtil.getUrlParam('gridCondition');
  73. gridCondition = (gridCondition == null || gridCondition == "null") ? "" : gridCondition;
  74. var gridParam = {caller: caller, condition: gridCondition};
  75. me.GridUtil.getGridColumnsAndStore(grid, 'common/singleGridPanel.action', gridParam, "");
  76. });
  77. showError(str);
  78. } else {
  79. showError(str);
  80. return;
  81. }
  82. } else {
  83. saveFailure();// @i18n/i18n.js
  84. }
  85. }
  86. });
  87. }
  88. }
  89. });
  90. },
  91. getForm : function(btn) {
  92. return btn.ownerCt.ownerCt;
  93. },
  94. beforeSave : function() {
  95. this.FormUtil.beforeSave(this);
  96. },
  97. beforeUpdate : function() {
  98. var grid = Ext.getCmp('grid');
  99. var me = this;
  100. var isnumber = true;
  101. Ext.each(grid.store.data.items, function(item, index) {
  102. if (!Ext.isEmpty(item.get('mi_msdlevel'))) {
  103. if (Ext.Number.from(item.data['mi_msdplanoventime'], -1) < 0)
  104. isnumber = false;
  105. return;
  106. if (Ext.Number.from(item.data['mi_msdoventemp'], -1) < 0)
  107. isnumber = false;
  108. return;
  109. if (Ext.Number.from(item.data['mi_msdlifttime'], -1) < 0)
  110. isnumber = false;
  111. return;
  112. }
  113. });
  114. if (!isnumber) {
  115. showError($I18N.common.msg.failure_isnotnumber);
  116. return;
  117. }
  118. var params = me.GridUtil.getAllGridStore(grid);
  119. params = params == null ? [] : "[" + params.toString().replace(/\\/g, "%") + "]";
  120. me.update(params);
  121. },
  122. getActiveTab : function() {
  123. var tab = null;
  124. if (Ext.getCmp("content-panel")) {
  125. tab = Ext.getCmp("content-panel").getActiveTab();
  126. }
  127. if (!tab && parent.Ext.getCmp("content-panel"))
  128. tab = parent.Ext.getCmp("content-panel").getActiveTab();
  129. if (!tab && parent.parent.Ext.getCmp("content-panel"))
  130. tab = parent.parent.Ext.getCmp("content-panel").getActiveTab();
  131. if (!tab) {
  132. var win = parent.Ext.ComponentQuery.query('window');
  133. if (win.length > 0) {
  134. tab = win[win.length - 1];
  135. }
  136. }
  137. return tab;
  138. },
  139. update : function(param) {
  140. var me = this;
  141. me.getActiveTab().setLoading(true);// loading...
  142. Ext.Ajax.request({
  143. url : basePath + 'scm/product/updateMsdInfo.action',
  144. params : {
  145. param : param,
  146. caller:caller
  147. },
  148. method : 'post',
  149. callback : function(options, success, response) {
  150. me.getActiveTab().setLoading(false);
  151. var localJson = new Ext.decode(response.responseText);
  152. if (localJson.success) {
  153. saveSuccess(function() {
  154. // add成功后刷新页面进入可编辑的页面
  155. var grid = Ext.getCmp('grid');
  156. var gridCondition = me.BaseUtil.getUrlParam('gridCondition');
  157. gridCondition = (gridCondition == null || gridCondition == "null") ? "1=1" : gridCondition;
  158. var gridParam = {caller: caller, condition: gridCondition};
  159. me.GridUtil.getGridColumnsAndStore(grid, 'common/singleGridPanel.action', gridParam, "");
  160. });
  161. } else if (localJson.exceptionInfo) {
  162. var str = localJson.exceptionInfo;
  163. if (str.trim().substr(0, 12) == 'AFTERSUCCESS') {// 特殊情况:操作成功,但是出现警告,允许刷新页面
  164. str = str.replace('AFTERSUCCESS', '');
  165. saveSuccess(function() {
  166. var grid = Ext.getCmp('grid');
  167. var gridCondition = me.BaseUtil.getUrlParam('gridCondition');
  168. gridCondition = (gridCondition == null || gridCondition == "null") ? "1=1" : gridCondition;
  169. var gridParam = {caller: caller, condition: gridCondition};
  170. me.GridUtil.getGridColumnsAndStore(grid, 'common/singleGridPanel.action', gridParam, "");
  171. });
  172. showError(str);
  173. } else {
  174. showError(str);
  175. return;
  176. }
  177. } else {
  178. saveFailure();// @i18n/i18n.js
  179. }
  180. }
  181. });
  182. }
  183. });