Ext.QuickTips.init(); Ext.define('erp.controller.pm.bom.Check', { 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.Check','core.form.Panel','core.grid.Panel2','core.toolbar.Toolbar','core.form.MultiField','core.form.FileField', 'core.button.Add','core.button.Save','core.button.Close','core.button.DeleteDetail','pm.bom.ECRChangeGrid', 'core.button.Submit','core.button.ResSubmit','core.button.Audit','core.button.ResAudit', 'core.button.Update','core.button.Delete','core.form.YnField','core.button.TurnECN', 'core.trigger.TextAreaTrigger','core.trigger.DbfindTrigger','core.grid.YnColumn','core.button.Location','core.button.Print' ], init:function(){ var me = this; this.control({ 'erpGridPanel2': { /*afterrender: function(btn){ console.log(Ext.getCmp('grid')); Ext.getCmp('grid').readOnly = false; },*/ itemclick: function(selModel, record){ Ext.getCmp('location').setDisabled(false); this.GridUtil.onGridItemClick(selModel, record); } }, 'erpDeleteDetailButton': { afterrender: function(btn){ if(btn.ownerCt.ownerCt.xtype=='erpGridPanel2'){ btn.ownerCt.add({ xtype: 'erpLocationButton' }); } } }, 'textareafield[name=ecr_tempb]':{ beforerender:function(field){ field.labelAlign='top'; field.height=200; field.fieldStyle=field.fieldStyle+';font-weight:700;font-color:#0A0A0A;'; } }, 'textareafield[name=ecr_tempc]':{ beforerender:function(field){ field.labelAlign='top'; field.height=200; field.fieldStyle=field.fieldStyle+';font-weight:700;font-color:#0A0A0A;'; } }, '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); }/*, afterrender:function(btn){ var form=btn.ownerCt.ownerCt; var bool=false; var insertId=0; var keys=form.items.keys; Ext.Array.each(keys,function(key,index){ if(key=='ecr_tempc'){ insertId=index; bool=true; return; } }); if(bool){ var tempb=Ext.getCmp('ecr_tempb').value; var tempc=Ext.getCmp('ecr_tempc').value; form.insert(insertId+1,{ title:'变更前后', columnWidth:1, griddata:{ tempb:tempb, tempc:tempc }, xtype:'erpECRChangeGridPanel' }); } }*/ }, 'erpUpdateButton': { click: function(btn){ this.FormUtil.onUpdate(this); } }, 'erpDeleteButton': { click: function(btn){ me.FormUtil.onDelete(Ext.getCmp('ecr_id').value); } }, 'erpAddButton': { click: function(){ me.FormUtil.onAdd('addCheck', '新增ECR资料', 'jsps/pm/bom/check.jsp'); } }, 'erpSubmitButton': { afterrender: function(btn){ var status = Ext.getCmp('ecr_checkstatus2code'); if(status && status.value != 'ENTERING'){ btn.hide(); } }, click: function(btn){ me.onSubmit(Ext.getCmp('ecr_id').value); } }, 'erpResSubmitButton': { afterrender: function(btn){ var status = Ext.getCmp('ecr_checkstatus2code'); if(status && status.value != 'COMMITED'){ btn.hide(); } }, click: function(btn){ me.FormUtil.onResSubmit(Ext.getCmp('ecr_id').value); } }, 'erpPrintButton': { click:function(btn){ var reportName="EcrAudit"; var condition='{ECR.ecr_id}='+Ext.getCmp('ecr_id').value+''; var id=Ext.getCmp('ecr_id').value; me.FormUtil.onwindowsPrint(id,reportName,condition); } }, 'erpAuditButton': { afterrender: function(btn){ var status = Ext.getCmp('ecr_checkstatus2code'); if(status && status.value != 'COMMITED'){ btn.hide(); } }, click: function(btn){ me.FormUtil.onAudit(Ext.getCmp('ecr_id').value); } }, 'erpResAuditButton': { afterrender: function(btn){ var status = Ext.getCmp('ecr_checkstatus2code'); if(status && status.value != 'AUDITED'){ btn.hide(); } }, click: function(btn){ me.FormUtil.onResAudit(Ext.getCmp('ecr_id').value); } }, 'erpLocationButton': { click: function(btn){ var grid = btn.ownerCt.ownerCt; var record = grid.selModel.lastSelected; var id = record.data['ecrd_id']; if(id != null && id != '' && id != 0 && id != '0'){ me.FormUtil.onAdd('locationBOM' + id, '位置维护', 'jsps/pm/bom/ECRDetailLocation.jsp?_noc=1&formCondition=ecrd_id=' + id + "&gridCondition=edl_ecrdid=" + id); } } }, 'erpTurnECNButton': { afterrender: function(btn){ var status = Ext.getCmp('ecr_checkstatus2code'); if(status && status.value != 'AUDITED'){ btn.hide(); } }, click: function(btn){ warnMsg("确定要转入工程变更单吗?", function(btn){ if(btn == 'yes'){ me.FormUtil.getActiveTab().setLoading(true);//loading... Ext.Ajax.request({ url : basePath + 'pm/bom/turnECN.action', params: { id: Ext.getCmp('ecr_id').value }, method : 'post', callback : function(options,success,response){ me.FormUtil.getActiveTab().setLoading(false); var localJson = new Ext.decode(response.responseText); if(localJson.exceptionInfo){ showError(localJson.exceptionInfo); } if(localJson.success){ turnSuccess(function(){ var id = localJson.id; var url = "jsps/pm/bom/ECN.jsp?formCondition=ecn_idIS" + id + "&gridCondition=ed_ecnidIS"+id; me.FormUtil.onAdd('ECN' + id, '工程变更单' + id, url); }); } } }); } }); } } , 'dbfindtrigger[name=ecrd_bomid]': { focus: function(t){ t.setHideTrigger(false); t.setReadOnly(false); var record = Ext.getCmp('grid').selModel.getLastSelected(); var type = record.data['ecrd_type']; if (type=='' || type == null){ showError("请先选择操作类型 !"); t.setHideTrigger(true); t.setReadOnly(true); }else{ if(type.indexOf("BATCH")!=-1 ){//需指定BOM showError("批量操作不能指定BOM!"); t.setHideTrigger(true); t.setReadOnly(true); } } } }, 'dbfindtrigger[name=ecrd_bddetno]': { focus: function(t){ t.autoDbfind = false; //t.setHideTrigger(false); //t.setReadOnly(false); var record = Ext.getCmp('grid').selModel.getLastSelected(); var bomid = record.data['ecrd_bomid']; var type = record.data['ecrd_type']; if (type=='' || type == null){ showError("请先选择操作类型 !"); //t.setHideTrigger(true); //t.setReadOnly(true); return; }else{ if( type.indexOf("BATCH")!=-1 ){//批量处理,不需要指定BOM和序号 showError("批量处理不需要指定BOM和序号 !"); //t.setHideTrigger(true); //t.setReadOnly(true); return; }else{//非批量处理 if(bomid=='' || bomid ==null) { if( type.indexOf("BATCH")==-1 ){//非批量处理,需指定BOM 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['ecrd_type']; if (type.indexOf("SWITCH")!=-1){ record.set('ecrd_repcode',data['ecrd_soncode']); record.set('ecrd_repname',data['pr_detail']); record.set('ecrd_soncode',null); record.set('pr_detail',null); record.set('pr_spec',null); record.set('ecrd_newbaseqty',data['ecrd_oldbaseqty']); } } } /*'dbfindtrigger[name=ecrd_soncode]': { focus: function(t){ t.setHideTrigger(false); t.setReadOnly(false); var record = Ext.getCmp('grid').selModel.getLastSelected(); var type = record.data['ecrd_type']; if (type=='' || type == null){ showError("请先选择操作类型 !"); t.setHideTrigger(true); t.setReadOnly(true); return; }else{ if( type!="ADD" && type!="SWITCH" && type.indexOf("BATCH")==-1){//非批量处理,且非增加、替换物料 不能直接选择子件料号 showError("必须选择BOM和BOM序号 !"); t.setHideTrigger(true); t.setReadOnly(true); return; } } } } */ }); }, onGridItemClick: function(selModel, record){//grid行选择 this.GridUtil.onGridItemClick(selModel, record); }, getForm: function(btn){ return btn.ownerCt.ownerCt; }, onSubmit: function(id){ var me=this; var form = Ext.getCmp('form'); if(form && form.getForm().isValid()){ var s = me.FormUtil.checkFormDirty(form); var grids = Ext.ComponentQuery.query('gridpanel'); if(grids.length > 0){//check所有grid是否已修改 var param = grids[0].GridUtil.getAllGridStore(grids[0]); /* if(param == null || param == ''){ if (Ext.getCmp('ecr_newprodname').value==''|| Ext.getCmp('ecr_newspec').value==''){ showError("明细表还未添加数据,无法提交!"); return; } } */ Ext.each(grids, function(grid, index){ if(grid.GridUtil){ var msg = grid.GridUtil.checkGridDirty(grid); if(msg.length > 0){ s = s + '
' + grid.GridUtil.checkGridDirty(grid); } } }); } if(s == '' || s == '
'){ me.FormUtil.submit(id); } else { Ext.MessageBox.show({ title:'保存修改?', msg: '该单据已被修改:
' + s + '
提交前要先保存吗?', buttons: Ext.Msg.YESNOCANCEL, icon: Ext.Msg.WARNING, fn: function(btn){ if(btn == 'yes'){ me.FormUtil.onUpdate(form); } else if(btn == 'no'){ me.FormUtil.submit(id); } else { return; } } }); } } else { me.FormUtil.checkForm(); } } });