repairwork.js 6.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195
  1. Ext.QuickTips.init();
  2. Ext.define('erp.controller.drp.aftersale.repairwork', {
  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','drp.aftersale.repairwork','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',
  11. 'core.button.ResSubmit','core.button.TurnStorage','core.button.TurnCheck','drp.aftersale.repairworkDet','core.button.TurnRepairOrder',
  12. 'core.trigger.DbfindTrigger','core.trigger.TextAreaTrigger','core.trigger.MultiDbfindTrigger','drp.aftersale.repairworkDet'
  13. ],
  14. init:function(){
  15. var me = this;
  16. me.allowinsert = true;
  17. this.control({
  18. 'erpGridPanel2': {
  19. itemclick: this.onGridItemClick,
  20. itemdblclick: function(grid,record){
  21. var resultGrid = Ext.getCmp('repairworkDet');
  22. var gridParam = {caller: 'ProdIoutlin', condition: "pd_ordercode='"+Ext.getCmp('rw_code').value+"' and pd_orderdetno="+record.data.rwd_detno};
  23. resultGrid.loadNewStore(resultGrid,'common/singleGridPanel.action',gridParam,"");
  24. }
  25. },
  26. 'repairworkDet':{
  27. beforerender:function(grid){
  28. }
  29. },
  30. 'erpSaveButton': {
  31. click: function(btn){
  32. var form = me.getForm(btn);
  33. if(Ext.getCmp(form.codeField).value == null || Ext.getCmp(form.codeField).value == ''){
  34. me.BaseUtil.getRandomNumber();//自动添加编号
  35. }
  36. //保存之前的一些前台的逻辑判定
  37. this.beforeSave();
  38. }
  39. },
  40. 'erpDeleteButton' : {
  41. click: function(btn){
  42. me.FormUtil.onDelete(Ext.getCmp('rw_id').value);
  43. }
  44. },
  45. 'erpUpdateButton': {
  46. afterrender: function(btn){
  47. var status = Ext.getCmp('rw_statuscode');
  48. if(status && status.value != 'ENTERING' && status.value != 'COMMITED'){
  49. btn.hide();
  50. }
  51. },
  52. click: function(btn){
  53. me.FormUtil.onUpdate(me);
  54. }
  55. },
  56. 'erpAddButton': {
  57. click: function(){
  58. me.FormUtil.onAdd('addRepairwork', '新增采购收料单', 'jsps/drp/aftersale/repairwork.jsp');
  59. }
  60. },
  61. 'erpCloseButton': {
  62. click: function(btn){
  63. me.FormUtil.beforeClose(me);
  64. },
  65. afterrender:function(btn){
  66. }
  67. },
  68. 'erpSubmitButton': {
  69. afterrender: function(btn){
  70. var status = Ext.getCmp('rw_statuscode');
  71. if(status && status.value != 'ENTERING'){
  72. btn.hide();
  73. }
  74. },
  75. click: function(btn){
  76. me.FormUtil.onSubmit(Ext.getCmp('rw_id').value);
  77. }
  78. },
  79. 'erpResSubmitButton': {
  80. afterrender: function(btn){
  81. var status = Ext.getCmp('rw_statuscode');
  82. if(status && status.value != 'COMMITED'){
  83. btn.hide();
  84. }
  85. },
  86. click: function(btn){
  87. me.FormUtil.onResSubmit(Ext.getCmp('rw_id').value);
  88. }
  89. },
  90. 'erpAuditButton': {
  91. afterrender: function(btn){
  92. var status = Ext.getCmp('rw_statuscode');
  93. if(status && status.value != 'COMMITED'){
  94. btn.hide();
  95. }
  96. },
  97. click: function(btn){
  98. me.FormUtil.onAudit(Ext.getCmp('rw_id').value);
  99. }
  100. },
  101. 'erpResAuditButton': {
  102. afterrender: function(btn){
  103. var status = Ext.getCmp('rw_statuscode');
  104. if(status && status.value != 'AUDITED'){
  105. btn.hide();
  106. }
  107. },
  108. click: function(btn){
  109. me.FormUtil.onResAudit(Ext.getCmp('rw_id').value);
  110. }
  111. },
  112. 'erpTurnRepairOrderButton': {
  113. beforerender:function(btn){
  114. btn.setText("转其它应收单");
  115. },
  116. afterrender: function(btn){
  117. var statu=Ext.getCmp('rw_statuscode').value;
  118. var isTurn=Ext.getCmp('rw_isturnarbill').value;
  119. if(statu != 'AUDITED'||isTurn=='已转其它应收'){
  120. btn.hide();
  121. }
  122. },
  123. click: function(btn) {
  124. Ext.MessageBox.confirm('提示', '确认要转其它应收单吗?', del);
  125. function del(btn){
  126. if(btn == 'yes'){
  127. Ext.Ajax.request({
  128. url : basePath + 'drp/TurnARBill.action',
  129. params: {id:Ext.getCmp('rw_id').value},
  130. method : 'post',
  131. callback : function(options,success,response){
  132. var localJson = new Ext.decode(response.responseText);
  133. if(localJson.success){
  134. saveSuccess(function(){
  135. //add成功后刷新页面进入可编辑的页面
  136. showMessage('提示',localJson.log);
  137. window.location.reload();
  138. });
  139. } else if(localJson.exceptionInfo){
  140. var str = localJson.exceptionInfo;
  141. showError(str);
  142. }
  143. }
  144. });
  145. }
  146. }
  147. }
  148. }
  149. });
  150. },
  151. onGridItemClick: function(selModel, record){//grid行选择
  152. this.GridUtil.onGridItemClick(selModel, record);
  153. },
  154. getForm: function(btn){
  155. return btn.ownerCt.ownerCt;
  156. },
  157. beforeSave: function(){
  158. var mm = this.FormUtil;
  159. var form = Ext.getCmp('form');
  160. if(! mm.checkForm()){
  161. return;
  162. }
  163. if(form.keyField){
  164. if(Ext.getCmp(form.keyField).value == null || Ext.getCmp(form.keyField).value == ''){
  165. mm.getSeqId(form);
  166. }
  167. }
  168. mm.onSave([]);
  169. },
  170. beforeUpdate: function(){
  171. var mm = this.FormUtil;
  172. var form = Ext.getCmp('form');
  173. var s1 = mm.checkFormDirty(form);
  174. if(s1 == ''){
  175. showError($I18N.common.form.emptyData + '<br/>' + $I18N.common.grid.emptyDetail);
  176. return;
  177. }
  178. if(form && form.getForm().isValid()){
  179. //form里面数据
  180. var r = form.getValues(false, true);
  181. //去除ignore字段
  182. var keys = Ext.Object.getKeys(r), f;
  183. Ext.each(keys, function(k){
  184. f = form.down('#' + k);
  185. if(f && f.logic == 'ignore') {
  186. delete r[k];
  187. }
  188. });
  189. if(!mm.contains(form.updateUrl, '?caller=', true)){
  190. form.updateUrl = form.updateUrl + "?caller=" + caller;
  191. }
  192. mm.update(r, []);
  193. }}
  194. });