MpsMain.js 8.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237
  1. Ext.QuickTips.init();
  2. Ext.define('erp.controller.pm.mps.MpsMain', {
  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.mps.MpsMain','core.grid.Panel2','core.toolbar.Toolbar','core.button.DeleteAllDetails','core.button.LoadingSource','core.button.GoMpsDesk',
  9. 'core.button.Add','core.button.Submit','core.button.Audit','core.button.Save','core.button.Close','core.button.Print','core.button.Update','core.button.Delete',
  10. 'core.button.Upload','core.button.ResAudit','core.button.DeleteDetail','core.button.ResSubmit','core.button.MRPLoad','core.button.OdDynamicAnalysis',
  11. 'core.trigger.TextAreaTrigger','core.trigger.DbfindTrigger','core.button.Flow','core.form.YnField','core.grid.YnColumn','core.button.Refresh','core.button.GetMaster','core.button.MRPAutoLoad'
  12. ],
  13. init:function(){
  14. var me=this;
  15. this.control({
  16. 'erpGridPanel2': {
  17. itemclick: function(selModel, record){
  18. if(!Ext.getCmp('grid').readOnly){
  19. this.onGridItemClick(selModel, record);
  20. }
  21. }
  22. },
  23. 'erpExportDetailButton':{
  24. afterrender:function(btn){
  25. var grid=Ext.getCmp('grid');
  26. btn.ownerCt.add({
  27. xtype:'tbtext',
  28. text:'总条数:'+grid.store.prefetchData.items.length
  29. });
  30. }
  31. },
  32. 'textfield[name=mm_kind]':{
  33. afterrender:function(field){
  34. if(field.value==''){
  35. field.setValue(me.BaseUtil.getUrlParam('kind'));
  36. }
  37. }
  38. },
  39. 'erpSaveButton': {
  40. click: function(btn){
  41. this.save(this);
  42. }
  43. },
  44. 'erpGoMpsDeskButton':{
  45. afterrender: function(btn){
  46. var status = Ext.getCmp("mm_statuscode");
  47. if(status && status.value != 'AUDITED'){
  48. btn.hide();
  49. }
  50. },
  51. click:function(btn){
  52. var form=Ext.getCmp('form');
  53. var MainCode=Ext.getCmp(form.codeField).value;
  54. me.FormUtil.onAdd('MpsDesk','工作台','/jsps/pm/mps/MpsDesk.jsp?code='+MainCode);
  55. }
  56. },
  57. 'dbfindtrigger': {
  58. change: function(trigger){
  59. if(trigger.name == 'team_prjid'){
  60. this.changeGrid(trigger);
  61. }
  62. }
  63. },
  64. 'button[id=deleteallbutton]':{
  65. click:function(btn){
  66. var form=me.getForm(btn);
  67. var id=Ext.getCmp('mm_id').getValue();
  68. if(!id){
  69. showError('单据不存在任何明细!');
  70. return
  71. }
  72. Ext.Ajax.request({
  73. method:'post',
  74. url:basePath+form.deleteAllDetailsUrl,
  75. params:{
  76. id:Ext.getCmp('mm_id').getValue()
  77. },
  78. callback : function(options,success,response){
  79. var localJson = new Ext.decode(response.responseText);
  80. if(localJson.success){
  81. Ext.Msg.alert('提示','清除成功!',function(btn){
  82. //update成功后刷新页面进入可编辑的页面
  83. window.location.reload();
  84. });
  85. } else if(localJson.exceptionInfo){
  86. var str = localJson.exceptionInfo;
  87. showError(str);return;
  88. }
  89. }
  90. });
  91. },
  92. afterrender:function(btn){
  93. var statuscode=Ext.getCmp('mm_statuscode').getValue();
  94. if(statuscode&&statuscode!='ENTERING'){
  95. btn.hide();
  96. }
  97. }
  98. },
  99. 'erpCloseButton': {
  100. click: function(btn){
  101. this.FormUtil.beforeClose(this);
  102. }
  103. },
  104. 'erpUpdateButton': {
  105. afterrender: function(btn){
  106. var status = Ext.getCmp("mm_statuscode");
  107. if(status && status.value != 'ENTERING'){
  108. btn.hide();
  109. }
  110. },
  111. click: function(btn){
  112. this.FormUtil.onUpdate(this);
  113. }
  114. },
  115. 'erpDeleteButton': {
  116. click: function(btn){
  117. this.FormUtil.onDelete(Ext.getCmp('mm_id').value);
  118. }
  119. },
  120. 'erpSubmitButton': {
  121. afterrender: function(btn){
  122. var status = Ext.getCmp("mm_statuscode");
  123. if(status && status.value != 'ENTERING'){
  124. btn.hide();
  125. }
  126. },
  127. click: function(btn){
  128. me.FormUtil.onSubmit(Ext.getCmp("mm_id").value);
  129. }
  130. },
  131. 'erpResSubmitButton': {
  132. afterrender: function(btn){
  133. var status = Ext.getCmp("mm_statuscode");
  134. if(status && status.value != 'COMMITED'){
  135. btn.hide();
  136. }
  137. },
  138. click: function(btn){
  139. me.FormUtil.onResSubmit(Ext.getCmp("mm_id").value);
  140. }
  141. },
  142. 'erpAuditButton': {
  143. afterrender: function(btn){
  144. var status = Ext.getCmp("mm_statuscode");
  145. if(status && status.value != 'COMMITED'){
  146. btn.hide();
  147. }
  148. },
  149. click: function(btn){
  150. me.FormUtil.onAudit(Ext.getCmp("mm_id").value);
  151. }
  152. },
  153. 'erpResAuditButton': {
  154. afterrender: function(btn){
  155. var status = Ext.getCmp("mm_statuscode");
  156. if(status && status.value != 'AUDITED'){
  157. btn.hide();
  158. }
  159. },
  160. click: function(btn){
  161. me.FormUtil.onResAudit(Ext.getCmp("mm_id").value);
  162. }
  163. },
  164. 'erpRefreshButton':{
  165. afterrender: function(btn){
  166. var status = Ext.getCmp("mm_statuscode");
  167. if(status && status.value != 'ENTERING'){
  168. btn.hide();
  169. }
  170. },
  171. click:function(btn){
  172. var grid=Ext.getCmp('grid');
  173. var condition=Ext.getCmp('mm_kind')=='MDS'?"mdd_mainid="+Ext.getCmp("mm_id").value:"md_mainid="+Ext.getCmp("mm_id").value;
  174. me.GridUtil.loadNewStore(grid,{caller:caller,condition:condition});
  175. }
  176. },
  177. 'erpMRPLoadButton':{
  178. afterrender: function(btn){
  179. var status = Ext.getCmp("mm_statuscode");
  180. if(status && status.value != 'ENTERING'){
  181. btn.hide();
  182. }
  183. }
  184. },
  185. 'erpGetMasterButton':{
  186. confirm:function(btn,data){
  187. Ext.getCmp('mm_coplist').setValue(data);
  188. }
  189. },
  190. 'erpMRPLoadAllButton':{
  191. afterrender:function(btn){
  192. var status=Ext.getCmp('mm_statuscode');
  193. if(status && status.value!='ENTERING'){
  194. btn.hide();
  195. }
  196. },
  197. click:function(btn){
  198. me.FormUtil.getActiveTab().setLoading(true);
  199. Ext.Ajax.request({//拿到form的items
  200. url : basePath +'pm/mps/autoLoad.action',
  201. params:{
  202. id:Ext.getCmp('mm_id').value
  203. },
  204. method : 'post',
  205. callback : function(options,success,response){
  206. me.FormUtil.getActiveTab().setLoading(false);
  207. var res = new Ext.decode(response.responseText);
  208. if(res.exceptionInfo != null){
  209. showError(res.exceptionInfo);return;
  210. }else if(res.success){
  211. Ext.Msg.alert('提示','装载成功!',function(){
  212. var grid=Ext.getCmp('grid');
  213. var condition=Ext.getCmp('mm_kind')=='MDS'?"mdd_mainid="+Ext.getCmp("mm_id").value:"md_mainid="+Ext.getCmp("mm_id").value;
  214. me.GridUtil.loadNewStore(grid,{caller:caller,condition:condition});
  215. });
  216. }
  217. }
  218. });
  219. }
  220. }
  221. });
  222. },
  223. onGridItemClick: function(selModel, record){//grid行选择
  224. this.GridUtil.onGridItemClick(selModel, record);
  225. },
  226. getForm: function(btn){
  227. return btn.ownerCt.ownerCt;
  228. },
  229. save: function(btn){
  230. var me = this;
  231. if(Ext.getCmp('mm_code').value == null || Ext.getCmp('mm_code').value == ''){
  232. me.BaseUtil.getRandomNumber();
  233. }
  234. me.FormUtil.beforeSave(me);
  235. }
  236. });