Ext.QuickTips.init(); Ext.define('erp.controller.pm.bom.BOMBatchExpand', { extend: 'Ext.app.Controller', FormUtil: Ext.create('erp.util.FormUtil'), GridUtil: Ext.create('erp.util.GridUtil'), BaseUtil: Ext.create('erp.util.BaseUtil'), views:[ 'pm.bom.BOMBatchExpand','core.form.Panel','core.grid.Panel2','core.toolbar.Toolbar','core.button.Scan','core.button.Export', 'core.button.Save','core.button.Add','core.button.Submit','core.button.Print','core.button.Upload','core.button.ResAudit', 'core.button.Audit','core.button.Close','core.button.Delete','core.button.Update','core.button.DeleteDetail','core.button.ResSubmit', 'core.trigger.DbfindTrigger','core.trigger.TextAreaTrigger','core.button.ExportArrayBom','core.button.CleanDetail','core.button.BOMExpand' ], init:function(){ var me = this; this.control({ 'erpGridPanel2': { itemclick: this.onGridItemClick }, 'erpUpdateButton': { click: function(btn){ this.FormUtil.onUpdate(this); } }, 'erpCloseButton': { click: function(btn){ me.FormUtil.beforeClose(me); } }, //bom展开 'erpBOMExpandButton' : { click: function(btn){ me.beforeBomExpand(); } }, //清除明细 'erpCleanDetailButton' : { click: function(btn){ me.cleanDetail(); } }, //导出矩阵bom 'erpExportArrayBomButton' : { click: function(btn){ window.location.href=basePath+"excel/exportBatchBOMAsExcel.action?caller="+caller+"&_noc=1"; } }, 'erpExportButton' : { afterrender:function(btn){ btn.handler=function(){ var con="bs_topmothercode in (select bb_prodcode from BOMBatch where bb_emid="+em_uu+") "; me.BaseUtil.createExcel('BOMStruct!Struct!Query', 'detailgrid', con); }; } } }); }, cleanDetail: function(){ var grid=Ext.getCmp('grid'); grid.setLoading(true); Ext.Ajax.request({ url :basePath+ 'pm/bom/cleanBOMBathExpand.action', params: { id:Ext.getCmp('em_id').value }, method : 'post', callback : function(options,success,response){ grid.setLoading(false); var localJson = new Ext.decode(response.responseText); if(localJson.success){ showMessage('提示', '操作成功!', 1000); //update成功后刷新页面进入可编辑的页面 window.location.reload(); } else if(localJson.exceptionInfo){ showError(str);return; } } }); }, beforeBomExpand: function(){ //form里面数据 var me = this; var grids = Ext.ComponentQuery.query('gridpanel'); var params = []; if(grids.length > 0){ var param = grids[0].GridUtil.getGridStore(); if(grids[0].necessaryField && grids[0].necessaryField.length > 0 && (param == null || param == '')){ warnMsg('明细表还未添加数据,是否继续?', function(btn){ if(btn == 'yes'){ params = unescape("[" + param.toString() + "]"); } else { return; } }); } else { params = unescape("[" + param.toString() + "]"); } } var gridStore = unescape(params.toString()); me.FormUtil.setLoading(true);//loading... Ext.Ajax.request({ url : basePath+'pm/bom/bomExpand.action', params: { id:Ext.getCmp('em_id').value, gridStore:gridStore }, method : 'post', callback : function(options,success,response){ me.FormUtil.setLoading(false); var localJson = new Ext.decode(response.responseText); if(localJson.success){ showMessage('提示', '操作成功!', 1000); } else if(localJson.exceptionInfo){ var str = localJson.exceptionInfo; showError(str);return; } } }); }, onGridItemClick: function(selModel, record){//grid行选择 this.GridUtil.onGridItemClick(selModel, record); }, getForm: function(btn){ return btn.ownerCt.ownerCt; } });