PurchaseForecast.js 5.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166
  1. Ext.QuickTips.init();
  2. Ext.define('erp.controller.scm.purchase.PurchaseForecast', {
  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.purchase.PurchaseForecast','core.grid.Panel2','core.toolbar.Toolbar',
  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',
  11. 'core.button.ResSubmit','core.button.Flow',
  12. 'core.trigger.DbfindTrigger','core.trigger.TextAreaTrigger','core.form.YnField'
  13. ],
  14. init:function(){
  15. var me = this;
  16. this.control({
  17. 'erpGridPanel2': {
  18. itemclick: this.onGridItemClick
  19. },
  20. 'erpSaveButton': {
  21. click: function(btn){
  22. var form = me.getForm(btn);
  23. var bool = true;
  24. var grid = Ext.getCmp('grid'), items = grid.store.data.items;
  25. if(Ext.getCmp(form.codeField).value == null || Ext.getCmp(form.codeField).value == ''){
  26. me.BaseUtil.getRandomNumber();//自动添加编号
  27. }
  28. Ext.each(items, function(item){
  29. if(item.dirty && item.data[grid.necessaryField] != null && item.data[grid.necessaryField] != ""){
  30. if(item.data['pfd_vendcode'] == null){
  31. bool = false;
  32. showError('明细表第' + item.data['pfd_detno'] + '行的供应商为空!');return;
  33. }
  34. if (item.data['pfd_delivery'] != null && item.data['pfd_delivery'] < new Date()) {
  35. bool = false;
  36. showError('明细表第' + item.data['pfd_detno'] + '行的交货日期小于单据当前日期');
  37. return;
  38. }
  39. }
  40. });
  41. if(bool){
  42. this.FormUtil.beforeSave(this);
  43. }
  44. }
  45. },
  46. 'field[name=pf_currency]': {
  47. beforetrigger: function(field) {
  48. var t = field.up('form').down('field[name=pf_date]'),
  49. value = t.getValue();
  50. if(value) {
  51. field.findConfig = 'cm_yearmonth=' + Ext.Date.format(value, 'Ym');
  52. }
  53. }
  54. },
  55. 'erpDeleteButton' : {
  56. click: function(btn){
  57. me.FormUtil.onDelete(Ext.getCmp('pf_id').value);
  58. }
  59. },
  60. 'erpUpdateButton': {
  61. click: function(btn){
  62. var bool = true;
  63. var grid = Ext.getCmp('grid'), items = grid.store.data.items;
  64. Ext.each(items, function(item){
  65. if(item.dirty && item.data[grid.necessaryField] != null && item.data[grid.necessaryField] != ""){
  66. if(item.data['pfd_vendcode'] == null){
  67. bool = false;
  68. showError('明细表第' + item.data['pfd_detno'] + '行的供应商为空!');return;
  69. }
  70. if (item.data['pfd_delivery'] != null && item.data['pfd_delivery'] < new Date()) {
  71. bool = false;
  72. showError('明细表第' + item.data['pfd_detno'] + '行的交货日期小于单据当前日期');
  73. return;
  74. }
  75. }
  76. });
  77. if(bool){
  78. this.FormUtil.onUpdate(this);
  79. }
  80. }
  81. },
  82. 'erpAddButton': {
  83. click: function(){
  84. me.FormUtil.onAdd('addPurchaseForecast', '新增请购预测单', 'jsps/scm/purchase/purchaseForecast.jsp');
  85. }
  86. },
  87. 'erpCloseButton': {
  88. click: function(btn){
  89. me.FormUtil.beforeClose(me);
  90. }
  91. },
  92. 'erpSubmitButton': {
  93. afterrender: function(btn){
  94. var status = Ext.getCmp('pf_statuscode');
  95. if(status && status.value != 'ENTERING'){
  96. btn.hide();
  97. }
  98. },
  99. click: function(btn){
  100. var bool = true;
  101. var grid = Ext.getCmp('grid'), items = grid.store.data.items;
  102. Ext.each(items, function(item){
  103. if(item.dirty && item.data[grid.necessaryField] != null && item.data[grid.necessaryField] != ""){
  104. if(item.data['pfd_vendcode'] == null){
  105. bool = false;
  106. showError('明细表第' + item.data['pfd_detno'] + '行的供应商为空!');return;
  107. }
  108. if (item.data['pfd_delivery'] != null && item.data['pfd_delivery'] < new Date()) {
  109. bool = false;
  110. showError('明细表第' + item.data['pfd_detno'] + '行的交货日期小于单据当前日期');
  111. return;
  112. }
  113. }
  114. });
  115. if(bool){
  116. me.FormUtil.onSubmit(Ext.getCmp('pf_id').value);
  117. }
  118. }
  119. },
  120. 'erpResSubmitButton': {
  121. afterrender: function(btn){
  122. var status = Ext.getCmp('pf_statuscode');
  123. if(status && status.value != 'COMMITED'){
  124. btn.hide();
  125. }
  126. },
  127. click: function(btn){
  128. me.FormUtil.onResSubmit(Ext.getCmp('pf_id').value);
  129. }
  130. },
  131. 'erpAuditButton': {
  132. afterrender: function(btn){
  133. var status = Ext.getCmp('pf_statuscode');
  134. if(status && status.value != 'COMMITED'){
  135. btn.hide();
  136. }
  137. },
  138. click: function(btn){
  139. me.FormUtil.onAudit(Ext.getCmp('pf_id').value);
  140. }
  141. },
  142. 'erpResAuditButton': {
  143. afterrender: function(btn){
  144. var status = Ext.getCmp('pf_statuscode');
  145. if(status && status.value != 'AUDITED'){
  146. btn.hide();
  147. }
  148. },
  149. click: function(btn){
  150. me.FormUtil.onResAudit(Ext.getCmp('pf_id').value);
  151. }
  152. },
  153. 'erpPrintButton': {
  154. click: function(btn){
  155. me.FormUtil.onPrint(Ext.getCmp('pf_id').value);
  156. }
  157. }
  158. });
  159. },
  160. onGridItemClick: function(selModel, record){//grid行选择
  161. this.GridUtil.onGridItemClick(selModel, record);
  162. },
  163. getForm: function(btn){
  164. return btn.ownerCt.ownerCt;
  165. }
  166. });