MakeNotice.js 7.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211
  1. Ext.QuickTips.init();
  2. Ext.define('erp.controller.pm.make.MakeNotice', {
  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.make.MakeNotice','core.grid.Panel2','core.toolbar.Toolbar','core.form.MultiField',
  9. 'core.button.Save','core.button.Add','core.button.Submit','core.button.Print','core.button.Upload','core.button.ResAudit',
  10. 'core.button.Audit','core.button.Close','core.button.Delete','core.button.Update','core.button.DeleteDetail','core.button.ResSubmit',
  11. 'core.trigger.DbfindTrigger','core.trigger.TextAreaTrigger','core.form.YnField','core.button.Flow','core.button.Get'
  12. ],
  13. init:function(){
  14. var me = this;
  15. this.control({
  16. 'erpGridPanel2': {
  17. itemclick: function(selModel, record){
  18. if(!Ext.getCmp('grid').readOnly){
  19. this.onGridItemClick(selModel, record);
  20. }
  21. }
  22. },
  23. 'erpSaveButton': {
  24. click: function(btn){
  25. var form = me.getForm(btn);
  26. if(Ext.getCmp(form.codeField).value == null || Ext.getCmp(form.codeField).value == ''){
  27. me.BaseUtil.getRandomNumber();//自动添加编号
  28. }
  29. var grid = Ext.getCmp('grid');
  30. var items = grid.store.data.items;
  31. var bool = true;
  32. Ext.each(items, function(item){
  33. if(item.data[grid.necessaryField] != null){
  34. item.set('mnd_code',Ext.getCmp('mn_code').value);
  35. item.set('mnd_date',Ext.getCmp('mn_date').value);
  36. item.set('mnd_kind',Ext.getCmp('mn_kind').value);
  37. if(item.data['mnd_qty'] == null || item.data['mnd_qty'] == 0){
  38. bool = false;
  39. showError("明细第" + item.data['mnd_detno'] + "行未填写数量,或需求为0");return;
  40. }
  41. }
  42. if(item.dirty && item.data[grid.necessaryField] != null && item.data[grid.necessaryField] != ""){
  43. if(item.data['mnd_planenddate'] == null){
  44. bool = false;
  45. showError('明细表第' + item.data['mnd_detno'] + '行的计划完工日期为空');return;
  46. }else if(item.data['mnd_planbegindate'] == null){
  47. bool = false;
  48. showError('明细表第' + item.data['mnd_detno'] + '行的计划开工日期为空');return;
  49. }else if(item.data['mnd_planenddate'] < item.data['mnd_planbegindate']){
  50. bool = false;
  51. showError('明细表第' + item.data['mnd_detno'] + '行的计划完工日期小于计划开工日期');return;
  52. }
  53. }
  54. });
  55. if(bool){
  56. this.FormUtil.beforeSave(this);
  57. }
  58. }
  59. },
  60. 'erpCloseButton': {
  61. click: function(btn){
  62. this.FormUtil.beforeClose(this);
  63. }
  64. },
  65. 'erpUpdateButton': {
  66. click: function(btn){
  67. var grid = Ext.getCmp('grid');
  68. var items = grid.store.data.items;
  69. var bool = true;
  70. Ext.each(items, function(item){
  71. if(item.data[grid.necessaryField] != null){
  72. item.set('mnd_code',Ext.getCmp('mn_code').value);
  73. item.set('mnd_date',Ext.getCmp('mn_date').value);
  74. item.set('mnd_kind',Ext.getCmp('mn_kind').value);
  75. if(item.data['mnd_qty'] == null || item.data['mnd_qty'] == 0){
  76. bool = false;
  77. showError("明细第" + item.data['mnd_detno'] + "行未填写数量,或需求为0");return;
  78. }
  79. }
  80. if(item.dirty && item.data[grid.necessaryField] != null && item.data[grid.necessaryField] != ""){
  81. if(item.data['mnd_planenddate'] == null){
  82. bool = false;
  83. showError('明细表第' + item.data['mnd_detno'] + '行的计划完工日期为空');return;
  84. }else if(item.data['mnd_planbegindate'] == null){
  85. bool = false;
  86. showError('明细表第' + item.data['mnd_detno'] + '行的计划开工日期为空');return;
  87. }else if(item.data['mnd_planenddate'] < item.data['mnd_planbegindate']){
  88. bool = false;
  89. showError('明细表第' + item.data['mnd_detno'] + '行的计划完工日期小于计划开工日期');return;
  90. }
  91. }
  92. });
  93. if(bool){
  94. this.FormUtil.onUpdate(this);
  95. }
  96. }
  97. },
  98. 'erpDeleteButton': {
  99. click: function(btn){
  100. me.FormUtil.onDelete(Ext.getCmp('mn_id').value);
  101. }
  102. },
  103. 'erpAddButton': {
  104. click: function(){
  105. me.FormUtil.onAdd('addMakeNotice', '新增制造通知单维护', 'jsps/pm/make/makeNotice.jsp?whoami=MakeNotice');
  106. }
  107. },
  108. 'erpSubmitButton': {
  109. afterrender: function(btn){
  110. var status = Ext.getCmp('mn_statuscode');
  111. if(status && status.value != 'ENTERING'){
  112. btn.hide();
  113. }
  114. },
  115. click: function(btn){
  116. me.FormUtil.onSubmit(Ext.getCmp('mn_id').value);
  117. }
  118. },
  119. 'erpResSubmitButton': {
  120. afterrender: function(btn){
  121. var status = Ext.getCmp('mn_statuscode');
  122. if(status && status.value != 'COMMITED'){
  123. btn.hide();
  124. }
  125. },
  126. click: function(btn){
  127. me.FormUtil.onResSubmit(Ext.getCmp('mn_id').value);
  128. }
  129. },
  130. 'erpAuditButton': {
  131. afterrender: function(btn){
  132. var status = Ext.getCmp('mn_statuscode');
  133. if(status && status.value != 'COMMITED'){
  134. btn.hide();
  135. }
  136. },
  137. click: function(btn){
  138. me.FormUtil.onAudit(Ext.getCmp('mn_id').value);
  139. }
  140. },
  141. 'erpResAuditButton': {
  142. afterrender: function(btn){
  143. var status = Ext.getCmp('mn_statuscode');
  144. if(status && status.value != 'AUDITED'){
  145. btn.hide();
  146. }
  147. },
  148. click: function(btn){
  149. me.FormUtil.onResAudit(Ext.getCmp('mn_id').value);
  150. }
  151. },
  152. 'dbfindtrigger[name=mnd_orderdetno]': {
  153. focus: function(t){
  154. t.setHideTrigger(false);
  155. t.setReadOnly(false);
  156. var record = Ext.getCmp('grid').selModel.getLastSelected();
  157. var code = record.data['mnd_ordercode'];
  158. if(code == null || code == ''){
  159. showError("请先选择关联订单号!");
  160. t.setHideTrigger(true);
  161. t.setReadOnly(true);
  162. } else {
  163. t.dbBaseCondition = "sa_code='" + code + "'";
  164. }
  165. }
  166. },
  167. /* 'erpTurnMakeButton': {
  168. afterrender: function(btn){
  169. var status = Ext.getCmp('mn_statuscode');
  170. if(status && status.value != 'AUDITED'){
  171. btn.hide();
  172. }
  173. },
  174. click: function(btn){
  175. warnMsg("确定要转入制造单吗?", function(btn){
  176. if(btn == 'yes'){
  177. me.FormUtil.getActiveTab().setLoading(true);//loading...
  178. Ext.Ajax.request({
  179. url : basePath + 'pm/make/turnMake.action',
  180. params: {
  181. id: Ext.getCmp('mn_id').value
  182. },
  183. method : 'post',
  184. callback : function(options,success,response){
  185. me.FormUtil.getActiveTab().setLoading(false);
  186. var localJson = new Ext.decode(response.responseText);
  187. if(localJson.exceptionInfo){
  188. showError(localJson.exceptionInfo);
  189. }
  190. if(localJson.success){
  191. turnSuccess(function(){
  192. var id = localJson.id;
  193. var url = "jsps/pm/make/makeBase.jsp?formCondition=ma_id=" + id + "&gridCondition=";
  194. me.FormUtil.onAdd('Make' + id, '制造单' + id, url);
  195. });
  196. }
  197. }
  198. });
  199. }
  200. });
  201. }
  202. }*/
  203. });
  204. },
  205. onGridItemClick: function(selModel, record){//grid行选择
  206. this.GridUtil.onGridItemClick(selModel, record);
  207. },
  208. getForm: function(btn){
  209. return btn.ownerCt.ownerCt;
  210. }
  211. });