RenewApply.js 7.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193
  1. Ext.QuickTips.init();
  2. Ext.define('erp.controller.scm.sale.RenewApply', {
  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.sale.RenewApply','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',
  10. 'core.button.Audit','core.button.Close','core.button.Delete','core.button.Update','core.button.ResAudit',
  11. 'core.button.DeleteDetail','core.button.ResSubmit',
  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. 'field[name=ra_currency]': {
  21. beforetrigger: function(field) {
  22. var t = field.up('form').down('field[name=ra_date]'),
  23. value = t.getValue();
  24. if(value) {
  25. field.findConfig = 'cm_yearmonth=' + Ext.Date.format(value, 'Ym');
  26. }
  27. }
  28. },
  29. 'erpSaveButton': {
  30. click: function(btn){
  31. var form = me.getForm(btn);
  32. var grid = Ext.getCmp('grid'), items = grid.store.data.items,
  33. bool = true;
  34. Ext.Array.each(items, function(item){
  35. if(!Ext.isEmpty(item.data['rad_prodcode'])){
  36. if(!Ext.isEmpty(item.data['rad_newreturndate'])){
  37. if (Ext.Date.format(item.data['rad_newreturndate'], 'Y-m-d') < Ext.Date.format(new Date(), 'Y-m-d')) {
  38. bool = false;
  39. showError('明细表第' + item.data['rad_detno'] + '行的新归还日期小于系统当前日期');
  40. return;
  41. }
  42. if (!Ext.isEmpty(item.data['rad_returndate']) && Ext.Date.format(item.data['rad_newreturndate'], 'Y-m-d') < Ext.Date.format(item.data['rad_returndate'], 'Y-m-d')) {
  43. bool = false;
  44. showError('明细表第' + item.data['rad_detno'] + '行的新归还日期小于原归还日期');
  45. return;
  46. }
  47. }
  48. }
  49. });
  50. if(bool){
  51. if(Ext.getCmp(form.codeField).value == null || Ext.getCmp(form.codeField).value == ''){
  52. me.BaseUtil.getRandomNumber();//自动添加编号
  53. }
  54. this.FormUtil.beforeSave(this);
  55. }
  56. }
  57. },
  58. 'erpDeleteButton' : {
  59. click: function(btn){
  60. me.FormUtil.onDelete(Ext.getCmp('ra_id').value);
  61. }
  62. },
  63. 'erpUpdateButton': {
  64. click: function(btn){
  65. var grid = Ext.getCmp('grid'), items = grid.store.data.items,
  66. bool = true;
  67. Ext.Array.each(items, function(item){
  68. if(!Ext.isEmpty(item.data['rad_prodcode'])){
  69. if(!Ext.isEmpty(item.data['rad_newreturndate'])){
  70. if (Ext.Date.format(item.data['rad_newreturndate'], 'Y-m-d') < Ext.Date.format(new Date(), 'Y-m-d')) {
  71. bool = false;
  72. showError('明细表第' + item.data['rad_detno'] + '行的新归还日期小于系统当前日期');
  73. return;
  74. }
  75. if (!Ext.isEmpty(item.data['rad_returndate']) && Ext.Date.format(item.data['rad_newreturndate'], 'Y-m-d') < Ext.Date.format(item.data['rad_returndate'], 'Y-m-d')) {
  76. bool = false;
  77. showError('明细表第' + item.data['rad_detno'] + '行的新归还日期小于原归还日期');
  78. return;
  79. }
  80. }
  81. }
  82. });
  83. if(bool){
  84. this.FormUtil.onUpdate(this);
  85. }
  86. }
  87. },
  88. 'erpAddButton': {
  89. click: function(){
  90. me.FormUtil.onAdd('addRenewApply', '新增续借申请单', 'jsps/scm/sale/renewApply.jsp');
  91. }
  92. },
  93. 'erpCloseButton': {
  94. click: function(btn){
  95. me.FormUtil.beforeClose(me);
  96. }
  97. },
  98. 'erpSubmitButton': {
  99. afterrender: function(btn){
  100. var status = Ext.getCmp('ra_statuscode');
  101. if(status && status.value != 'ENTERING'){
  102. btn.hide();
  103. }
  104. },
  105. click: function(btn){
  106. var grid = Ext.getCmp('grid'), items = grid.store.data.items,
  107. bool = true;
  108. Ext.Array.each(items, function(item){
  109. if(!Ext.isEmpty(item.data['rad_prodcode'])){
  110. if(!Ext.isEmpty(item.data['rad_newreturndate'])){
  111. if (Ext.Date.format(item.data['rad_newreturndate'], 'Y-m-d') < Ext.Date.format(new Date(), 'Y-m-d')) {
  112. bool = false;
  113. showError('明细表第' + item.data['rad_detno'] + '行的新归还日期小于系统当前日期');
  114. return;
  115. }
  116. if (!Ext.isEmpty(item.data['rad_returndate']) && Ext.Date.format(item.data['rad_newreturndate'], 'Y-m-d') < Ext.Date.format(item.data['rad_returndate'], 'Y-m-d')) {
  117. bool = false;
  118. showError('明细表第' + item.data['rad_detno'] + '行的新归还日期小于原归还日期');
  119. return;
  120. }
  121. }
  122. }
  123. });
  124. if(bool){
  125. me.FormUtil.onSubmit(Ext.getCmp('ra_id').value);
  126. }
  127. }
  128. },
  129. 'erpResSubmitButton': {
  130. afterrender: function(btn){
  131. var status = Ext.getCmp('ra_statuscode');
  132. if(status && status.value != 'COMMITED'){
  133. btn.hide();
  134. }
  135. },
  136. click: function(btn){
  137. me.FormUtil.onResSubmit(Ext.getCmp('ra_id').value);
  138. }
  139. },
  140. 'erpAuditButton': {
  141. afterrender: function(btn){
  142. var status = Ext.getCmp('ra_statuscode');
  143. if(status && status.value != 'COMMITED'){
  144. btn.hide();
  145. }
  146. },
  147. click: function(btn){
  148. var grid = Ext.getCmp('grid'), items = grid.store.data.items,
  149. bool = true;
  150. Ext.Array.each(items, function(item){
  151. if(!Ext.isEmpty(item.data['rad_prodcode'])){
  152. if (Ext.Date.format(item.data['rad_newreturndate'], 'Y-m-d') < Ext.Date.format(new Date(), 'Y-m-d')) {
  153. bool = false;
  154. showError('明细表第' + item.data['rad_detno'] + '行的新归还日期小于系统当前日期');
  155. return;
  156. }
  157. if (!Ext.isEmpty(item.data['rad_returndate']) && Ext.Date.format(item.data['rad_newreturndate'], 'Y-m-d') < Ext.Date.format(item.data['rad_returndate'], 'Y-m-d')) {
  158. bool = false;
  159. showError('明细表第' + item.data['rad_detno'] + '行的新归还日期小于原归还日期');
  160. return;
  161. }
  162. }
  163. });
  164. if(bool){
  165. me.FormUtil.onAudit(Ext.getCmp('ra_id').value);
  166. }
  167. }
  168. },
  169. 'erpResAuditButton': {
  170. afterrender: function(btn){
  171. var status = Ext.getCmp('ra_statuscode');
  172. if(status && status.value != 'AUDITED'){
  173. btn.hide();
  174. }
  175. },
  176. click: function(btn){
  177. me.FormUtil.onResAudit(Ext.getCmp('ra_id').value);
  178. }
  179. },
  180. 'erpPrintButton': {
  181. click: function(btn){
  182. me.FormUtil.onPrint(Ext.getCmp('ra_id').value);
  183. }
  184. }
  185. });
  186. },
  187. onGridItemClick: function(selModel, record){//grid行选择
  188. this.GridUtil.onGridItemClick(selModel, record);
  189. },
  190. getForm: function(btn){
  191. return btn.ownerCt.ownerCt;
  192. }
  193. });