QUABatch.js 6.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172
  1. Ext.QuickTips.init();
  2. Ext.define('erp.controller.scm.reserve.QUABatch', {
  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','scm.reserve.QUABatch','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.PrintDelivery'
  12. ],
  13. init:function(){
  14. var me = this;
  15. this.control({
  16. 'erpGridPanel2': {
  17. itemclick: this.onGridItemClick
  18. },
  19. 'erpSaveButton': {
  20. click: function(btn){
  21. var form = me.getForm(btn);
  22. if(Ext.getCmp(form.codeField).value == null || Ext.getCmp(form.codeField).value == ''){
  23. me.BaseUtil.getRandomNumber();//自动添加编号
  24. }
  25. var grid = Ext.getCmp('grid'), items = grid.store.data.items;
  26. var bool = true;
  27. Ext.each(items, function(item){
  28. if(!Ext.isEmpty(item.data['qbd_prodcode'])){
  29. if(!Ext.isEmpty(item.data['qbd_newvalidtime']) && Ext.Date.format(item.data['qbd_newvalidtime'],'Y-m-d') < Ext.Date.format(new Date(),'Y-m-d')){
  30. bool = false;
  31. showError('明细表第' + item.data['qbd_detno'] + '行的新有效日期小于当前日期');return;
  32. }
  33. if(!Ext.isEmpty(item.data['qbd_validtime']) && Ext.Date.format(item.data['qbd_newvalidtime'],'Y-m-d') < Ext.Date.format(item.data['qbd_validtime'],'Y-m-d')){
  34. bool = false;
  35. showError('明细表第' + item.data['qbd_detno'] + '行的新有效日期小于原有效日期');return;
  36. }
  37. }
  38. });
  39. if(bool)
  40. this.FormUtil.beforeSave(this);
  41. }
  42. },
  43. 'erpDeleteButton' : {
  44. afterrender: function(btn){
  45. var status = Ext.getCmp('qba_statuscode');
  46. if(status && status.value != 'ENTERING'){
  47. btn.hide();
  48. }
  49. },
  50. click: function(btn){
  51. me.FormUtil.onDelete(Ext.getCmp('qba_id').value);
  52. }
  53. },
  54. 'erpUpdateButton': {
  55. afterrender: function(btn){
  56. var status = Ext.getCmp('qba_statuscode');
  57. if(status && status.value != 'ENTERING'){
  58. btn.hide();
  59. }
  60. },
  61. click: function(btn){
  62. var grid = Ext.getCmp('grid'), items = grid.store.data.items;
  63. var bool = true;
  64. Ext.each(items, function(item){
  65. if(!Ext.isEmpty(item.data['qbd_prodcode'])){
  66. if(!Ext.isEmpty(item.data['qbd_newvalidtime']) && Ext.Date.format(item.data['qbd_newvalidtime'],'Y-m-d') < Ext.Date.format(new Date(),'Y-m-d')){
  67. bool = false;
  68. showError('明细表第' + item.data['qbd_detno'] + '行的新有效日期小于当前日期');return;
  69. }
  70. if(!Ext.isEmpty(item.data['qbd_validtime']) && Ext.Date.format(item.data['qbd_newvalidtime'],'Y-m-d') < Ext.Date.format(item.data['qbd_validtime'],'Y-m-d')){
  71. bool = false;
  72. showError('明细表第' + item.data['qbd_detno'] + '行的新有效日期小于原有效日期');return;
  73. }
  74. }
  75. });
  76. if(bool)
  77. this.FormUtil.onUpdate(this);
  78. }
  79. },
  80. 'erpAddButton': {
  81. click: function(){
  82. me.FormUtil.onAdd('addQUABatch', '新增库存检验单', 'jsps/scm/reserve/quaBatch.jsp');
  83. }
  84. },
  85. 'erpCloseButton': {
  86. click: function(btn){
  87. me.FormUtil.beforeClose(me);
  88. }
  89. },
  90. 'erpSubmitButton': {
  91. afterrender: function(btn){
  92. var status = Ext.getCmp('qba_statuscode');
  93. if(status && status.value != 'ENTERING'){
  94. btn.hide();
  95. }
  96. },
  97. click: function(btn){
  98. var grid = Ext.getCmp('grid'), items = grid.store.data.items;
  99. var bool = true;
  100. Ext.each(items, function(item){
  101. if(!Ext.isEmpty(item.data['qbd_prodcode'])){
  102. if(!Ext.isEmpty(item.data['qbd_newvalidtime']) && Ext.Date.format(item.data['qbd_newvalidtime'],'Y-m-d') < Ext.Date.format(new Date(),'Y-m-d')){
  103. bool = false;
  104. showError('明细表第' + item.data['qbd_detno'] + '行的新有效日期小于当前日期');return;
  105. }
  106. if(!Ext.isEmpty(item.data['qbd_validtime']) && Ext.Date.format(item.data['qbd_newvalidtime'],'Y-m-d') < Ext.Date.format(item.data['qbd_validtime'],'Y-m-d')){
  107. bool = false;
  108. showError('明细表第' + item.data['qbd_detno'] + '行的新有效日期小于原有效日期');return;
  109. }
  110. }
  111. });
  112. if(bool)
  113. me.FormUtil.onSubmit(Ext.getCmp('qba_id').value);
  114. }
  115. },
  116. 'erpResSubmitButton': {
  117. afterrender: function(btn){
  118. var status = Ext.getCmp('qba_statuscode');
  119. if(status && status.value != 'COMMITED'){
  120. btn.hide();
  121. }
  122. },
  123. click: function(btn){
  124. me.FormUtil.onResSubmit(Ext.getCmp('qba_id').value);
  125. }
  126. },
  127. 'erpAuditButton': {
  128. afterrender: function(btn){
  129. var status = Ext.getCmp('qba_statuscode');
  130. if(status && status.value != 'COMMITED'){
  131. btn.hide();
  132. }
  133. },
  134. click: function(btn){
  135. var grid = Ext.getCmp('grid'), items = grid.store.data.items;
  136. var bool = true;
  137. Ext.each(items, function(item){
  138. if(!Ext.isEmpty(item.data['qbd_prodcode'])){
  139. if(!Ext.isEmpty(item.data['qbd_newvalidtime']) && Ext.Date.format(item.data['qbd_newvalidtime'],'Y-m-d') < Ext.Date.format(new Date(),'Y-m-d')){
  140. bool = false;
  141. showError('明细表第' + item.data['qbd_detno'] + '行的新有效日期小于当前日期');return;
  142. }
  143. if(!Ext.isEmpty(item.data['qbd_validtime']) && Ext.Date.format(item.data['qbd_newvalidtime'],'Y-m-d') < Ext.Date.format(item.data['qbd_validtime'],'Y-m-d')){
  144. bool = false;
  145. showError('明细表第' + item.data['qbd_detno'] + '行的新有效日期小于原有效日期');return;
  146. }
  147. }
  148. });
  149. if(bool)
  150. me.FormUtil.onAudit(Ext.getCmp('qba_id').value);
  151. }
  152. },
  153. 'erpResAuditButton': {
  154. afterrender: function(btn){
  155. var status = Ext.getCmp('qba_statuscode');
  156. if(status && status.value != 'AUDITED'){
  157. btn.hide();
  158. }
  159. },
  160. click: function(btn){
  161. me.FormUtil.onResAudit(Ext.getCmp('qba_id').value);
  162. }
  163. }
  164. });
  165. },
  166. onGridItemClick: function(selModel, record){//grid行选择
  167. this.GridUtil.onGridItemClick(selModel, record);
  168. },
  169. getForm: function(btn){
  170. return btn.ownerCt.ownerCt;
  171. }
  172. });