Ext.QuickTips.init(); Ext.define('erp.controller.pm.bom.ECN', { extend: 'Ext.app.Controller', FormUtil: Ext.create('erp.util.FormUtil'), BaseUtil: Ext.create('erp.util.BaseUtil'), GridUtil: Ext.create('erp.util.GridUtil'), views:[ 'pm.bom.ECN','core.form.Panel','core.grid.Panel2','core.toolbar.Toolbar','core.form.FileField', 'core.button.Add','core.button.Save','core.button.Close','core.button.DeleteDetail', 'core.button.Submit','core.button.ResSubmit','core.button.Audit','core.button.ResAudit', 'core.button.Update','core.button.Print','core.button.Delete','core.form.YnField','core.button.ECNCheck', 'core.trigger.TextAreaTrigger','core.trigger.DbfindTrigger','core.grid.YnColumn','core.button.Location' ], init:function(){ var me = this; this.control({ 'erpGridPanel2': { itemclick: function(selModel, record){ Ext.getCmp('location').setDisabled(false); Ext.getCmp('closedetail').setDisabled(false); Ext.getCmp('opendetail').setDisabled(false); if(!Ext.getCmp('grid').readOnly){ this.onGridItemClick(selModel, record); } } }, 'erpDeleteDetailButton': { afterrender: function(btn){ btn.ownerCt.add({ xtype: 'erpLocationButton' }); btn.ownerCt.add({ xtype:'button', text:'关闭明细行', width:120, iconCls: 'x-button-icon-check', cls: 'x-btn-gray', id:'closedetail', style: { marginLeft: '10px' }, disabled:true, handler:function(){ var grid=Ext.getCmp('grid'); var record=grid.getSelectionModel().getLastSelected(); grid.setLoading(true); Ext.Ajax.request({//拿到grid的columns url : basePath + "/pm/bom/closeECNDetail.action", params:{ id:record.data.ed_id }, method : 'post', callback : function(options,success,response){ grid.setLoading(false); var res = new Ext.decode(response.responseText); if(res.exceptionInfo){ showError(res.exceptionInfo);return; }else if(res.success){ Ext.Msg.alert('提示','明细行关闭成功!'); var condition='ed_ecnid='+Ext.getCmp('ecn_id').value; me.GridUtil.loadNewStore(grid,{caller:caller,condition:condition}); } } }); } }); btn.ownerCt.add({ xtype:'button', text:'打开明细行', width:120, iconCls: 'x-button-icon-check', cls: 'x-btn-gray', id:'opendetail', style: { marginLeft: '10px' }, disabled:true, handler:function(){ var grid=Ext.getCmp('grid'); var record=grid.getSelectionModel().getLastSelected(); grid.setLoading(true); Ext.Ajax.request({//拿到grid的columns url : basePath + "/pm/bom/openECNDetail.action", params:{ id:record.data.ed_id }, method : 'post', callback : function(options,success,response){ grid.setLoading(false); var res = new Ext.decode(response.responseText); if(res.exceptionInfo){ showError(res.exceptionInfo);return; }else if(res.success){ Ext.Msg.alert('提示','明细行打开成功!'); var condition='ed_ecnid='+Ext.getCmp('ecn_id').value; me.GridUtil.loadNewStore(grid,{caller:caller,condition:condition}); } } }); } }); } }, 'erpSaveButton': { click: function(btn){ var form = me.getForm(btn); if(Ext.getCmp(form.codeField).value == null || Ext.getCmp(form.codeField).value == ''){ me.BaseUtil.getRandomNumber();//自动添加编号 } this.FormUtil.beforeSave(this); } }, 'erpCloseButton': { click: function(btn){ this.FormUtil.beforeClose(this); } }, 'erpUpdateButton': { click: function(btn){ this.FormUtil.onUpdate(this); } }, 'erpDeleteButton': { click: function(btn){ me.FormUtil.onDelete(Ext.getCmp('ecn_id').value); } }, 'erpAddButton': { click: function(){ me.FormUtil.onAdd('addECN', '新增ECN资料', 'jsps/pm/bom/ECN.jsp'); } }, 'erpSubmitButton': { afterrender: function(btn){ var status = Ext.getCmp('ecn_checkstatuscode'); if(status && status.value != 'ENTERING'){ btn.hide(); } }, click: function(btn){ me.FormUtil.onSubmit(Ext.getCmp('ecn_id').value); } }, 'erpResSubmitButton': { afterrender: function(btn){ var status = Ext.getCmp('ecn_checkstatuscode'); if(status && status.value != 'COMMITED'){ btn.hide(); } }, click: function(btn){ me.FormUtil.onResSubmit(Ext.getCmp('ecn_id').value); } }, 'erpAuditButton': { afterrender: function(btn){ var status = Ext.getCmp('ecn_checkstatuscode'); if(status && status.value != 'COMMITED'){ btn.hide(); } }, click: function(btn){ me.FormUtil.onAudit(Ext.getCmp('ecn_id').value); } }, 'erpResAuditButton': { afterrender: function(btn){ var status = Ext.getCmp('ecn_checkstatuscode'); if(status && status.value != 'AUDITED'){ btn.hide(); } }, click: function(btn){ me.FormUtil.onResAudit(Ext.getCmp('ecn_id').value); } }, 'erpPrintButton': { click:function(btn){ var reportName="EcnChange"; var condition='{Ecn.ecn_id}='+Ext.getCmp('ecn_id').value+''; var id=Ext.getCmp('ecn_id').value; me.FormUtil.onwindowsPrint(id,reportName,condition); } }, 'erpLocationButton': { click: function(btn){ var grid = btn.ownerCt.ownerCt; var record = grid.selModel.lastSelected; var id = record.data['ed_id']; if(id != null && id != '' && id != 0 && id != '0'){ me.FormUtil.onAdd('locationBOM' + id, '位置维护', 'jsps/pm/bom/ECNDetailLocation.jsp?_noc=1&formCondition=ed_id=' + id + "&gridCondition=edl_edid=" + id); } } }, 'dbfindtrigger[name=ed_bddetno]': { focus: function(t){ t.autoDbfind = false; //t.setHideTrigger(false); //t.setReadOnly(false); var record = Ext.getCmp('grid').selModel.getLastSelected(); var bomid = record.data['ed_boid']; var type = record.data['ed_type']; if (type=='' || type == null){ showError("请先选择操作类型 !"); //t.setHideTrigger(true); //t.setReadOnly(true); return; }else{ if(bomid=='' || bomid ==null) { showError("请先选择BOM编号 !"); //t.setHideTrigger(true); //t.setReadOnly(true); return; } if(type=="ADD" ){//需指定BOM 序号 showError("增加物料不需要选择BOM序号!"); //t.setHideTrigger(true); //t.setReadOnly(true); return; } } t.dbBaseCondition = "bd_bomid='" + bomid + "'"; }, aftertrigger:function(t){ var record = Ext.getCmp('grid').selModel.getLastSelected(); var data=record.data; var type = record.data['ed_type']; if (type.indexOf("SWITCH")!=-1){ record.set('ed_repcode',data['ed_soncode']); record.set('ed_soncode',null); record.set('ed_sonname',null); record.set('ed_sonspec',null); record.set('ed_repname',data['ed_sonname']); record.set('ed_repspec',data['ed_sonspec']); record.set('ed_newbaseqty',data['ed_oldbaseqty']); //替换的变更,默认新单位用量等于旧单位用量 } } } }); }, onGridItemClick: function(selModel, record){//grid行选择 this.GridUtil.onGridItemClick(selModel, record); }, getForm: function(btn){ return btn.ownerCt.ownerCt; } });