ProductSet.js 6.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242
  1. Ext.QuickTips.init();
  2. Ext.define('erp.controller.pm.mould.ProductSet', {
  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','pm.mould.ProductSet','core.grid.Panel2','core.toolbar.Toolbar','core.form.MultiField',
  9. 'core.button.Save','core.button.Add','core.button.Submit','core.button.Print','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.VendReturn', 'core.button.CustReturn',
  12. 'core.trigger.TextAreaTrigger','core.trigger.DbfindTrigger','core.form.YnField'
  13. ],
  14. init:function(){
  15. var me = this;
  16. this.control({
  17. 'erpGridPanel2': {
  18. afterrender: function(grid){
  19. var status = Ext.getCmp('ps_statuscode');
  20. if(status && status.value != 'ENTERING' && status.value != 'COMMITED'){
  21. Ext.each(grid.columns, function(c){
  22. c.setEditor(null);
  23. });
  24. }
  25. },
  26. itemclick: function(selModel, record){
  27. if(record.data.psd_id != 0 && record.data.psd_id != null && record.data.psd_id != ''){
  28. var btn = Ext.getCmp('updatereturnqty');
  29. btn && btn.setDisabled(false);
  30. }
  31. this.onGridItemClick(selModel, record);
  32. }
  33. },
  34. /**
  35. * 更改返还数量
  36. */
  37. '#updatereturnqty': {
  38. click: function(btn) {
  39. var record=btn.ownerCt.ownerCt.getSelectionModel().getLastSelected();
  40. me.UpdateReturnqty(record);
  41. }
  42. },
  43. 'erpSaveButton': {
  44. click: function(btn){
  45. var form = me.getForm(btn);
  46. if(Ext.getCmp(form.codeField).value == null || Ext.getCmp(form.codeField).value == ''){
  47. me.BaseUtil.getRandomNumber();//自动添加编号
  48. }
  49. this.FormUtil.beforeSave(this);
  50. }
  51. },
  52. 'erpDeleteButton' : {
  53. click: function(btn){
  54. me.FormUtil.onDelete(Ext.getCmp('ps_id').value);
  55. }
  56. },
  57. 'erpUpdateButton': {
  58. afterrender: function(btn){
  59. var status = Ext.getCmp('ps_statuscode');
  60. if(status && status.value != 'ENTERING'){
  61. btn.hide();
  62. }
  63. },
  64. click: function(btn){
  65. this.FormUtil.onUpdate(this);
  66. }
  67. },
  68. 'erpAddButton': {
  69. click: function(){
  70. me.FormUtil.onAdd('addProductSet', '新增模具资料', 'jsps/pm/mould/productSet.jsp');
  71. }
  72. },
  73. 'erpCloseButton': {
  74. click: function(btn){
  75. me.FormUtil.beforeClose(me);
  76. }
  77. },
  78. 'erpSubmitButton': {
  79. afterrender: function(btn){
  80. var status = Ext.getCmp('ps_statuscode');
  81. if(status && status.value != 'ENTERING'){
  82. btn.hide();
  83. }
  84. },
  85. click: function(btn){
  86. me.FormUtil.onSubmit(Ext.getCmp('ps_id').value);
  87. }
  88. },
  89. 'erpResSubmitButton': {
  90. afterrender: function(btn){
  91. var status = Ext.getCmp('ps_statuscode');
  92. if(status && status.value != 'COMMITED'){
  93. btn.hide();
  94. }
  95. },
  96. click: function(btn){
  97. me.FormUtil.onResSubmit(Ext.getCmp('ps_id').value);
  98. }
  99. },
  100. 'erpAuditButton': {
  101. afterrender: function(btn){
  102. var status = Ext.getCmp('ps_statuscode');
  103. if(status && status.value != 'COMMITED'){
  104. btn.hide();
  105. }
  106. },
  107. click: function(btn){
  108. me.FormUtil.onAudit(Ext.getCmp('ps_id').value);
  109. }
  110. },
  111. 'erpResAuditButton': {
  112. afterrender: function(btn){
  113. var status = Ext.getCmp('ps_statuscode'),
  114. vendstatus = Ext.getCmp('ps_vendreturnstatus'),
  115. custstatus = Ext.getCmp('ps_custreturnstatus');
  116. if(status && status.value != 'AUDITED'){
  117. btn.hide();
  118. }
  119. if(vendstatus && vendstatus.value != '未返还'){
  120. btn.hide();
  121. }
  122. if(custstatus && custstatus.value != '未返还'){
  123. btn.hide();
  124. }
  125. },
  126. click: function(btn){
  127. me.FormUtil.onResAudit(Ext.getCmp('ps_id').value);
  128. }
  129. },
  130. 'erpPrintButton': {
  131. click: function(btn){
  132. me.FormUtil.onPrint(Ext.getCmp('ps_id').value);
  133. }
  134. }
  135. });
  136. },
  137. onGridItemClick: function(selModel, record){//grid行选择
  138. if(!selModel.ownerCt.readOnly){
  139. this.GridUtil.onGridItemClick(selModel, record);
  140. }
  141. },
  142. getForm: function(btn){
  143. return btn.ownerCt.ownerCt;
  144. },
  145. UpdateReturnqty:function(record){
  146. var win = this.window;
  147. if (!win) {
  148. win = this.window = this.getWindow(record);
  149. }
  150. win.show();
  151. },
  152. getWindow : function(record) {
  153. var me = this;
  154. return Ext.create('Ext.window.Window',{
  155. width: 330,
  156. height: 180,
  157. closeAction: 'hide',
  158. cls: 'custom-blue',
  159. title:'<h1>更改物料编号</h1>',
  160. layout: {
  161. type: 'vbox'
  162. },
  163. items:[{
  164. margin: '5 0 0 5',
  165. xtype: 'dbfindtrigger',
  166. fieldLabel: '物料编号',
  167. id:'psd_prodcode',
  168. name: 'psd_prodcode',
  169. readOnly:false,
  170. allowBlank: false,
  171. value : record.data.psd_prodcode
  172. },{
  173. margin: '5 0 0 5',
  174. xtype:'numberfield',
  175. fieldLabel:'返还数量',
  176. name:'returnqty',
  177. allowBlank:true,
  178. id:'returnqty' ,
  179. value : record.data.psd_returnqty
  180. }],
  181. buttonAlign:'center',
  182. buttons:[{
  183. xtype:'button',
  184. text:'保存',
  185. width:60,
  186. iconCls: 'x-button-icon-save',
  187. handler:function(btn){
  188. var w = btn.up('window');
  189. me.saveReturnqty(w);
  190. w.hide();
  191. }
  192. },{
  193. xtype:'button',
  194. columnWidth:0.1,
  195. text:'关闭',
  196. width:60,
  197. iconCls: 'x-button-icon-close',
  198. margin:'0 0 0 10',
  199. handler:function(btn){
  200. btn.up('window').hide();
  201. }
  202. }]
  203. });
  204. },
  205. saveReturnqty: function(w) {
  206. var returnqty = w.down('#returnqty').getValue(),
  207. prodcode = w.down('#psd_prodcode').getValue(),
  208. grid = Ext.getCmp('grid'),
  209. ps_id = Ext.getCmp('ps_id').value,
  210. record = grid.getSelectionModel().getLastSelected();
  211. if(!returnqty) {
  212. showError('请先设置返还数量.') ;
  213. return;
  214. } else {
  215. var dd = {
  216. psd_id : record.data.psd_id,
  217. psd_psid : record.data.psd_psid,
  218. returnqty : returnqty ? returnqty : 0,
  219. prodcode : prodcode
  220. };
  221. Ext.Ajax.request({
  222. url : basePath +'pm/mould/updateReturnqty.action',
  223. params : {
  224. _noc: 1,
  225. data: unescape(Ext.JSON.encode(dd))
  226. },
  227. method : 'post',
  228. callback : function(opt, s, res){
  229. var r = new Ext.decode(res.responseText);
  230. if(r.success){
  231. showMessage('提示', '更新成功!', 1000);
  232. grid.GridUtil.loadNewStore(grid, {caller: 'ProductSet', condition: 'psd_psid=' + ps_id});
  233. } else if(r.exceptionInfo){
  234. showError(r.exceptionInfo);
  235. } else{
  236. saveFailure();
  237. }
  238. }
  239. });
  240. }
  241. }
  242. });