PurchaseChange.js 8.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238
  1. Ext.QuickTips.init();
  2. Ext.define('erp.controller.plm.scm.PurchaseChange', {
  3. extend: 'Ext.app.Controller',
  4. requires: ['erp.util.FormUtil', 'erp.util.GridUtil', 'erp.util.BaseUtil'],
  5. /* FormUtil: Ext.create('erp.util.FormUtil'),
  6. GridUtil: Ext.create('erp.util.GridUtil'),
  7. BaseUtil: Ext.create('erp.util.BaseUtil'),*/
  8. views:[
  9. 'core.form.Panel','plm.scm.PurchaseChange','core.grid.Panel2','core.toolbar.Toolbar',
  10. 'core.button.Save','core.button.Add','core.button.Submit','core.button.Print',
  11. 'core.button.ResAudit','core.button.Audit','core.button.Close','core.button.Delete','core.button.Update',
  12. 'core.button.DeleteDetail','core.button.ResSubmit',
  13. 'core.trigger.DbfindTrigger','core.trigger.TextAreaTrigger','core.form.YnField'
  14. ],
  15. init:function(){
  16. var me = this;
  17. this.FormUtil = Ext.create('erp.util.FormUtil');
  18. this.GridUtil = Ext.create('erp.util.GridUtil');
  19. this.BaseUtil = Ext.create('erp.util.BaseUtil');
  20. this.control({
  21. 'erpGridPanel2': {
  22. itemclick: this.onGridItemClick
  23. },
  24. 'erpSaveButton': {
  25. click: function(btn){
  26. var form = me.getForm(btn);
  27. if(Ext.getCmp(form.codeField).value == null || Ext.getCmp(form.codeField).value == ''){
  28. me.BaseUtil.getRandomNumber();//自动添加编号
  29. }
  30. this.FormUtil.beforeSave(this);
  31. }
  32. },
  33. 'field[name=pc_newcurrency]': {
  34. beforetrigger: function(field) {
  35. var t = field.up('form').down('field[name=pc_indate]'),
  36. value = t.getValue();
  37. if(value) {
  38. field.findConfig = 'cm_yearmonth=' + Ext.Date.format(value, 'Ym');
  39. }
  40. }
  41. },
  42. 'erpDeleteButton' : {
  43. click: function(btn){
  44. me.FormUtil.onDelete(Ext.getCmp('pc_id').value);
  45. }
  46. },
  47. 'erpUpdateButton': {
  48. click: function(btn){
  49. this.FormUtil.onUpdate(this);
  50. }
  51. },
  52. 'erpAddButton': {
  53. click: function(){
  54. me.FormUtil.onAdd('addPurchaseChange', '新增研发采购变更单', 'jsps/plm/scm/purchaseChange.jsp');
  55. }
  56. },
  57. 'erpCloseButton': {
  58. click: function(btn){
  59. me.FormUtil.beforeClose(me);
  60. }
  61. },
  62. 'erpSubmitButton': {
  63. afterrender: function(btn){
  64. var status = Ext.getCmp('pc_statuscode');
  65. if(status && status.value != 'ENTERING'){
  66. btn.hide();
  67. }
  68. },
  69. click: function(btn){
  70. me.FormUtil.onSubmit(Ext.getCmp('pc_id').value);
  71. }
  72. },
  73. 'erpResSubmitButton': {
  74. afterrender: function(btn){
  75. var status = Ext.getCmp('pc_statuscode');
  76. if(status && status.value != 'COMMITED'){
  77. btn.hide();
  78. }
  79. },
  80. click: function(btn){
  81. me.FormUtil.onResSubmit(Ext.getCmp('pc_id').value);
  82. }
  83. },
  84. 'erpAuditButton': {
  85. afterrender: function(btn){
  86. var status = Ext.getCmp('pc_statuscode');
  87. if(status && status.value != 'COMMITED'){
  88. btn.hide();
  89. }
  90. },
  91. click: function(btn){
  92. me.FormUtil.onAudit(Ext.getCmp('pc_id').value);
  93. }
  94. },
  95. 'erpResAuditButton': {
  96. afterrender: function(btn){
  97. var status = Ext.getCmp('pc_statuscode');
  98. if(status && status.value != 'AUDITED'){
  99. btn.hide();
  100. }
  101. },
  102. click: function(btn){
  103. me.FormUtil.onResAudit(Ext.getCmp('pc_id').value);
  104. }
  105. },
  106. 'erpPrintButton': {
  107. click: function(btn){
  108. me.FormUtil.onPrint(Ext.getCmp('pc_id').value);
  109. }
  110. },
  111. 'erp2PurcButton': {
  112. afterrender: function(btn){
  113. var status = Ext.getCmp('pc_statuscode');
  114. if(status && status.value != 'AUDITED'){
  115. btn.hide();
  116. }
  117. },
  118. click: function(btn){
  119. warnMsg("确定要转入采购单吗?", function(btn){
  120. if(btn == 'yes'){
  121. me.FormUtil.getActiveTab().setLoading(true);//loading...
  122. Ext.Ajax.request({
  123. url : basePath + 'scm/purchase/purcchangeToPurchase.action',
  124. params: {
  125. id: Ext.getCmp('pc_id').value
  126. },
  127. method : 'post',
  128. callback : function(options,success,response){
  129. me.FormUtil.getActiveTab().setLoading(false);
  130. var localJson = new Ext.decode(response.responseText);
  131. console.log(localJson);
  132. if(localJson.exceptionInfo){
  133. showError(localJson.exceptionInfo);
  134. }
  135. if(localJson.success){
  136. turnSuccess(function(){
  137. var id = localJson.id;
  138. var url = "jsps/scm/purchase/purchase.jsp?formCondition=pu_id=" + id + "&gridCondition=pd_puid=" + id;
  139. me.FormUtil.onAdd('Purchase' + id, '采购单' + id, url);
  140. });
  141. }
  142. }
  143. });
  144. }
  145. });
  146. }
  147. },
  148. 'textfield[name=pc_purccode]': {
  149. change: function(field){
  150. // if(field != null && field != ''){
  151. // me.getOldStore("pd_code='" + field.value + "'");
  152. // }
  153. if(field != null && field != ''){
  154. Ext.getCmp('pc_delivery').setFieldStyle('background:#9BCD9B');
  155. Ext.getCmp('pc_newdelivery').setValue(Ext.getCmp('pc_newdelivery').value || Ext.getCmp('pc_delivery').value);
  156. Ext.getCmp('pc_paymentsid').setFieldStyle('background:#9BCD9B');
  157. Ext.getCmp('pc_newpaymentsid').setValue(Ext.getCmp('pc_newpaymentsid').value || Ext.getCmp('pc_paymentsid').value);
  158. Ext.getCmp('pc_vendid').setFieldStyle('background:#9BCD9B');
  159. Ext.getCmp('pc_newvendid').setValue(Ext.getCmp('pc_newvendid').value || Ext.getCmp('pc_vendid').value);
  160. Ext.getCmp('pc_vendcode').setFieldStyle('background:#9BCD9B');
  161. Ext.getCmp('pc_newvendcode').setValue(Ext.getCmp('pc_newvendcode').value || Ext.getCmp('pc_vendcode').value);
  162. Ext.getCmp('pc_currency').setFieldStyle('background:#9BCD9B');
  163. Ext.getCmp('pc_newcurrency').setValue(Ext.getCmp('pc_newcurrency').value || Ext.getCmp('pc_currency').value);
  164. Ext.getCmp('pc_rate').setFieldStyle('background:#9BCD9B');
  165. Ext.getCmp('pc_newrate').setValue(Ext.getCmp('pc_newrate').value || Ext.getCmp('pc_rate').value);
  166. }
  167. },
  168. blur: function(f){
  169. }
  170. },
  171. 'dbfindtrigger[name=pcd_pddetno]': {
  172. afterrender: function(t){
  173. t.gridKey = "pc_purccode";
  174. t.mappinggirdKey = "pu_code";
  175. t.gridErrorMessage = "请先选择采购单!";
  176. },
  177. aftertrigger: function(t){
  178. if(t.value != null && t.value != ''){
  179. if(t.owner) {
  180. var record = t.owner.selModel.lastSelected;
  181. record.set('pcd_newqty', record.data.pcd_oldqty);
  182. record.set('pcd_newprodid', record.data.pcd_prodid);
  183. record.set('pcd_newprodcode', record.data.pcd_prodcode);
  184. record.set('pcd_newbeipin', record.data.pcd_oldbeipin);
  185. record.set('pcd_newprice', record.data.pcd_oldprice);
  186. record.set('pcd_newdelivery', record.data.pcd_olddelivery);
  187. record.set('pcd_newtaxrate', record.data.pcd_taxrate);
  188. }
  189. }
  190. }
  191. }
  192. });
  193. },
  194. onGridItemClick: function(selModel, record){//grid行选择
  195. this.GridUtil.onGridItemClick(selModel, record);
  196. },
  197. getForm: function(btn){
  198. return btn.ownerCt.ownerCt;
  199. },
  200. getOldStore: function(condition){
  201. var me = this;
  202. var grid = Ext.getCmp('grid');
  203. me.BaseUtil.getActiveTab().setLoading(true);//loading...
  204. Ext.Ajax.request({//拿到grid的columns
  205. url : basePath + "common/singleGridPanel.action",
  206. params: {
  207. caller: "Purchase",
  208. condition: condition
  209. },
  210. method : 'post',
  211. callback : function(options,success,response){
  212. me.BaseUtil.getActiveTab().setLoading(false);
  213. var res = new Ext.decode(response.responseText);
  214. if(res.exceptionInfo){
  215. showError(res.exceptionInfo);return;
  216. }
  217. var data = [];
  218. if(!res.data || res.data.length == 2){
  219. return;
  220. } else {
  221. data = Ext.decode(res.data.replace(/,}/g, '}').replace(/,]/g, ']'));
  222. }
  223. Ext.Array.each(grid.store.data.items, function(item, index){
  224. if(index < data.length){
  225. item.set('pcd_oldqty', data[index].pd_qty);
  226. item.set('pcd_prodid', data[index].pd_prodid);
  227. item.set('pcd_prodcode', data[index].pd_prodcode);
  228. item.set('pcd_oldbeipin', data[index].pd_beipin);
  229. item.set('pcd_oldprice', data[index].pd_price);
  230. item.set('pcd_olddelivery', data[index].pd_delivery);
  231. item.set('pcd_taxrate', data[index].pd_rate);
  232. }
  233. });
  234. }
  235. });
  236. }
  237. });