ApsMain.js 7.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233
  1. Ext.QuickTips.init();
  2. Ext.define('erp.controller.pm.make.ApsMain', {
  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.make.ApsMain','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',
  11. 'core.trigger.TextAreaTrigger','core.trigger.DbfindTrigger','core.button.Flow','core.button.Refresh'
  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. 'textfield[name=mm_kind]':{
  24. afterrender:function(field){
  25. if(field.value==''){
  26. field.setValue(me.BaseUtil.getUrlParam('kind'));
  27. }
  28. }
  29. },
  30. 'erpSaveButton': {
  31. click: function(btn){
  32. this.save(this);
  33. }
  34. },
  35. 'erpGoMpsDeskButton':{
  36. afterrender: function(btn){
  37. var status = Ext.getCmp("am_statuscode");
  38. if(status && status.value != 'AUDITED'){
  39. btn.hide();
  40. }
  41. },
  42. click:function(btn){
  43. var form=Ext.getCmp('form');
  44. var MainCode=Ext.getCmp(form.codeField).value;
  45. me.FormUtil.onAdd('MpsDesk','工作台','/jsps/pm/make/ApsDesk.jsp?code='+MainCode);
  46. }
  47. },
  48. 'erpLoadingSourceButton':{
  49. afterrender: function(btn){
  50. var status = Ext.getCmp("am_statuscode");
  51. if(status && status.value != 'ENTERING'){
  52. btn.hide();
  53. }
  54. },
  55. click:function(btn){
  56. var form=Ext.getCmp('form');
  57. var keyField=form.keyField;
  58. var keyValue=Ext.getCmp(keyField).value;
  59. var win = new Ext.window.Window({
  60. id : 'win',
  61. height: "100%",
  62. width: "95%",
  63. maximizable : true,
  64. title:'销售排程装载',
  65. buttonAlign : 'center',
  66. layout : 'anchor',
  67. draggable:false,
  68. items: [{
  69. tag : 'iframe',
  70. frame : true,
  71. anchor : '100% 100%',
  72. layout : 'fit',
  73. html : '<iframe id="iframe_' + caller + '" src="' + basePath + 'jsps/pm/mps/loadSaleDetailDet.jsp?type=APS&keyValue='+keyValue
  74. +'" height="100%" width="100%" frameborder="0" scrolling="no"></iframe>'
  75. }],
  76. buttons : [{
  77. text : $I18N.common.button.erpCloseButton,
  78. iconCls: 'x-button-icon-close',
  79. cls: 'x-btn-gray',
  80. handler : function(){
  81. Ext.getCmp('win').close();
  82. }
  83. }]
  84. });
  85. win.show();
  86. }
  87. },
  88. 'dbfindtrigger': {
  89. change: function(trigger){
  90. if(trigger.name == 'team_prjid'){
  91. this.changeGrid(trigger);
  92. }
  93. }
  94. },
  95. 'button[id=deleteallbutton]':{
  96. click:function(btn){
  97. var form=me.getForm(btn);
  98. var id=Ext.getCmp('am_id').getValue();
  99. if(!id){
  100. showError('单据不存在任何明细!');
  101. return
  102. }
  103. Ext.Ajax.request({
  104. method:'post',
  105. url:basePath+form.deleteAllDetailsUrl,
  106. params:{
  107. id:Ext.getCmp('am_id').getValue()
  108. },
  109. callback : function(options,success,response){
  110. var localJson = new Ext.decode(response.responseText);
  111. if(localJson.success){
  112. Ext.Msg.alert('提示','清除成功!',function(btn){
  113. //update成功后刷新页面进入可编辑的页面
  114. window.location.reload();
  115. });
  116. } else if(localJson.exceptionInfo){
  117. var str = localJson.exceptionInfo;
  118. showError(str);return;
  119. }
  120. }
  121. });
  122. },
  123. afterrender:function(btn){
  124. var statuscode=Ext.getCmp('am_statuscode').getValue();
  125. if(statuscode&&statuscode!='ENTERING'){
  126. btn.hide();
  127. }
  128. }
  129. },
  130. 'erpCloseButton': {
  131. click: function(btn){
  132. this.FormUtil.beforeClose(this);
  133. }
  134. },
  135. 'erpUpdateButton': {
  136. afterrender: function(btn){
  137. var status = Ext.getCmp("am_statuscode");
  138. if(status && status.value != 'ENTERING'){
  139. btn.hide();
  140. }
  141. },
  142. click: function(btn){
  143. this.FormUtil.onUpdate(this);
  144. }
  145. },
  146. 'erpDeleteButton': {
  147. click: function(btn){
  148. this.FormUtil.onDelete(Ext.getCmp('am_id').value);
  149. }
  150. },
  151. 'erpSubmitButton': {
  152. afterrender: function(btn){
  153. var status = Ext.getCmp("am_statuscode");
  154. if(status && status.value != 'ENTERING'){
  155. btn.hide();
  156. }
  157. },
  158. click: function(btn){
  159. me.FormUtil.onSubmit(Ext.getCmp("am_id").value);
  160. }
  161. },
  162. 'erpResSubmitButton': {
  163. afterrender: function(btn){
  164. var status = Ext.getCmp("am_statuscode");
  165. if(status && status.value != 'COMMITED'){
  166. btn.hide();
  167. }
  168. },
  169. click: function(btn){
  170. me.FormUtil.onResSubmit(Ext.getCmp("am_id").value);
  171. }
  172. },
  173. 'erpAuditButton': {
  174. afterrender: function(btn){
  175. var status = Ext.getCmp("am_statuscode");
  176. if(status && status.value != 'COMMITED'){
  177. btn.hide();
  178. }
  179. },
  180. click: function(btn){
  181. me.FormUtil.onAudit(Ext.getCmp("am_id").value);
  182. }
  183. },
  184. 'erpResAuditButton': {
  185. afterrender: function(btn){
  186. var status = Ext.getCmp("am_statuscode");
  187. if(status && status.value != 'AUDITED'){
  188. btn.hide();
  189. }
  190. },
  191. click: function(btn){
  192. me.FormUtil.onResAudit(Ext.getCmp("am_id").value);
  193. }
  194. },
  195. 'erpRefreshButton':{
  196. afterrender: function(btn){
  197. var status = Ext.getCmp("am_statuscode");
  198. if(status && status.value != 'ENTERING'){
  199. btn.hide();
  200. }
  201. },
  202. click:function(btn){
  203. var grid=Ext.getCmp('grid');
  204. var value=Ext.getCmp('am_id').value;
  205. var gridCondition=grid.mainField+'='+value;
  206. gridParam = {caller: 'ApsMain', condition: gridCondition};
  207. me.GridUtil.getGridColumnsAndStore(grid, 'common/singleGridPanel.action', gridParam, "");
  208. }
  209. },
  210. 'erpAddButton': {
  211. click: function(){
  212. }
  213. },
  214. });
  215. },
  216. onGridItemClick: function(selModel, record){//grid行选择
  217. this.GridUtil.onGridItemClick(selModel, record);
  218. },
  219. getForm: function(btn){
  220. return btn.ownerCt.ownerCt;
  221. },
  222. save: function(btn){
  223. var me = this;
  224. if(Ext.getCmp('am_code').value == null || Ext.getCmp('am_code').value == ''){
  225. me.BaseUtil.getRandomNumber();
  226. }
  227. me.FormUtil.beforeSave(me);
  228. }
  229. });