BOMBatchExpand.js 3.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128
  1. Ext.QuickTips.init();
  2. Ext.define('erp.controller.pm.bom.BOMBatchExpand', {
  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. 'pm.bom.BOMBatchExpand','core.form.Panel','core.grid.Panel2','core.toolbar.Toolbar','core.button.Scan','core.button.Export',
  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','core.button.ResSubmit',
  11. 'core.trigger.DbfindTrigger','core.trigger.TextAreaTrigger','core.button.ExportArrayBom','core.button.CleanDetail','core.button.BOMExpand'
  12. ],
  13. init:function(){
  14. var me = this;
  15. this.control({
  16. 'erpGridPanel2': {
  17. itemclick: this.onGridItemClick
  18. },
  19. 'erpUpdateButton': {
  20. click: function(btn){
  21. this.FormUtil.onUpdate(this);
  22. }
  23. },
  24. 'erpCloseButton': {
  25. click: function(btn){
  26. me.FormUtil.beforeClose(me);
  27. }
  28. },
  29. //bom展开
  30. 'erpBOMExpandButton' : {
  31. click: function(btn){
  32. me.beforeBomExpand();
  33. }
  34. },
  35. //清除明细
  36. 'erpCleanDetailButton' : {
  37. click: function(btn){
  38. me.cleanDetail();
  39. }
  40. },
  41. //导出矩阵bom
  42. 'erpExportArrayBomButton' : {
  43. click: function(btn){
  44. window.location.href=basePath+"excel/exportBatchBOMAsExcel.action?caller="+caller+"&_noc=1";
  45. }
  46. },
  47. 'erpExportButton' : {
  48. afterrender:function(btn){
  49. btn.handler=function(){
  50. var con="bs_topmothercode in (select bb_prodcode from BOMBatch where bb_emid="+em_uu+") ";
  51. me.BaseUtil.createExcel('BOMStruct!Struct!Query', 'detailgrid', con);
  52. };
  53. }
  54. }
  55. });
  56. },
  57. cleanDetail: function(){
  58. var grid=Ext.getCmp('grid');
  59. grid.setLoading(true);
  60. Ext.Ajax.request({
  61. url :basePath+ 'pm/bom/cleanBOMBathExpand.action',
  62. params: {
  63. id:Ext.getCmp('em_id').value
  64. },
  65. method : 'post',
  66. callback : function(options,success,response){
  67. grid.setLoading(false);
  68. var localJson = new Ext.decode(response.responseText);
  69. if(localJson.success){
  70. showMessage('提示', '操作成功!', 1000);
  71. //update成功后刷新页面进入可编辑的页面
  72. window.location.reload();
  73. } else if(localJson.exceptionInfo){
  74. showError(str);return;
  75. }
  76. }
  77. });
  78. },
  79. beforeBomExpand: function(){
  80. //form里面数据
  81. var me = this;
  82. var grids = Ext.ComponentQuery.query('gridpanel');
  83. var params = [];
  84. if(grids.length > 0){
  85. var param = grids[0].GridUtil.getGridStore();
  86. if(grids[0].necessaryField && grids[0].necessaryField.length > 0 && (param == null || param == '')){
  87. warnMsg('明细表还未添加数据,是否继续?', function(btn){
  88. if(btn == 'yes'){
  89. params = unescape("[" + param.toString() + "]");
  90. } else {
  91. return;
  92. }
  93. });
  94. } else {
  95. params = unescape("[" + param.toString() + "]");
  96. }
  97. }
  98. var gridStore = unescape(params.toString());
  99. me.FormUtil.setLoading(true);//loading...
  100. Ext.Ajax.request({
  101. url : basePath+'pm/bom/bomExpand.action',
  102. params: {
  103. id:Ext.getCmp('em_id').value,
  104. gridStore:gridStore
  105. },
  106. method : 'post',
  107. callback : function(options,success,response){
  108. me.FormUtil.setLoading(false);
  109. var localJson = new Ext.decode(response.responseText);
  110. if(localJson.success){
  111. showMessage('提示', '操作成功!', 1000);
  112. } else if(localJson.exceptionInfo){
  113. var str = localJson.exceptionInfo;
  114. showError(str);return;
  115. }
  116. }
  117. });
  118. },
  119. onGridItemClick: function(selModel, record){//grid行选择
  120. this.GridUtil.onGridItemClick(selModel, record);
  121. },
  122. getForm: function(btn){
  123. return btn.ownerCt.ownerCt;
  124. }
  125. });