Ext.QuickTips.init(); Ext.define('erp.controller.drp.distribution.CustServiceRecord', { extend: 'Ext.app.Controller', FormUtil: Ext.create('erp.util.FormUtil'), BaseUtil: Ext.create('erp.util.BaseUtil'), GridUtil: Ext.create('erp.util.GridUtil'), views:[ 'drp.distribution.CustServiceRecord','core.form.Panel','core.grid.Panel2','core.toolbar.Toolbar', 'core.button.Add','core.button.Save','core.button.Close','core.button.DeleteDetail','core.button.Submit', 'core.button.Update','core.button.Delete','core.form.YnField','core.button.ResSubmit','core.button.Audit', 'core.trigger.TextAreaTrigger','core.trigger.DbfindTrigger','core.button.ResAudit','core.button.UpdateFP','core.button.UpdateYC' ], init:function(){ var me = this; this.control({ 'erpGridPanel2': { itemclick: this.onGridItemClick }, 'erpSaveButton': { click: function(btn){ var form = me.getForm(btn),codeField = Ext.getCmp(form.codeField); if(codeField.value == null || codeField.value == ''){ me.BaseUtil.getRandomNumber(caller);//自动添加编号 } var grid=Ext.getCmp('grid'); me.save(form,grid,form.saveUrl); } }, 'erpCloseButton': { click: function(btn){ this.FormUtil.beforeClose(this); } }, 'erpUpdateButton': { click: function(btn){ var form = me.getForm(btn); var grid=Ext.getCmp('grid'); me.update(form,grid,form.updateUrl); } }, 'erpUpdateFPButton': { click: function(btn){ var form = me.getForm(btn); var grid=Ext.getCmp('grid'); me.updatefp(form,grid,form.updateFPUrl); } }, 'erpUpdateYCButton': { click: function(btn){ var form = me.getForm(btn); var grid=Ext.getCmp('grid'); me.updateyc(form,grid,form.updateFPUrl); } }, 'erpDeleteButton': { click: function(btn){ me.FormUtil.onDelete(Ext.getCmp('cs_id').value); } }, 'erpSubmitButton': { afterrender: function(btn){ var status = Ext.getCmp('cs_statuscode'); if(status && status.value != 'ENTERING'){ btn.hide(); } }, click: function(btn){ me.FormUtil.onSubmit(Ext.getCmp('cs_id').value); } }, 'erpResSubmitButton': { afterrender: function(btn){ var status = Ext.getCmp('cs_statuscode'); if(status && status.value != 'COMMITED'){ btn.hide(); } }, click: function(btn){ me.FormUtil.onResSubmit(Ext.getCmp('cs_id').value); } }, 'erpAuditButton': { afterrender: function(btn){ var status = Ext.getCmp('cs_statuscode'); if(status && status.value != 'COMMITED'){ btn.hide(); } }, click: function(btn){ me.FormUtil.onAudit(Ext.getCmp('cs_id').value); } }, 'erpResAuditButton': { afterrender: function(btn){ var status = Ext.getCmp('cs_statuscode'); if(status && status.value != 'AUDITED'){ btn.hide(); } }, click: function(btn){ me.FormUtil.onResAudit(Ext.getCmp('cs_id').value); } }, 'erpAddButton': { click: function(){ me.FormUtil.onAdd('addCustServiceRecord', '新增客户返修记录', 'jsps/drp/distribution/custServiceRecord.jsp'); } } }); }, onGridItemClick: function(selModel, record){//grid行选择 this.GridUtil.onGridItemClick(selModel, record); var status = Ext.getCmp('cs_statuscode'); if(status && status.value != 'AUDITED'){ var grid=Ext.getCmp('grid'); grid.readOnly=false; } }, getForm: function(btn){ return btn.ownerCt.ownerCt; }, save:function(form,grid,url){ var me=this; if(form.getForm().isValid()){ Ext.each(form.items.items, function(item){ if(item.xtype == 'numberfield'){ if(item.value == null || item.value == ''){ item.setValue(0); } } }); } if(form.keyField){ if(Ext.getCmp(form.keyField).value == null || Ext.getCmp(form.keyField).value == ''){ me.FormUtil.getSeqId(form); } } var r=form.getValues(); r.cs_id=Ext.getCmp('cs_id').value; r=unescape(Ext.JSON.encode(r).replace(/\\/g,"%")); var param = new Array(); if(grid){ param =me.getGridStore(grid); } /*param = param == null ? [] : "[" + param.toString().replace(/\\/g,"%") + "]";*/ Ext.Ajax.request({ url : basePath + url, params : {formStore:r,gridStore:param}, method : 'post', callback : function(options,success,response){ var localJson = new Ext.decode(response.responseText); if(localJson.success){ saveSuccess(function(){ //add成功后刷新页面进入可编辑的页面 //window.location.reload(); var value = Ext.getCmp('cs_id').value; var formCondition = form.keyField + "IS" + value ; var gridCondition = ''; var grid = Ext.getCmp('grid'); if(grid && grid.mainField){ gridCondition = grid.mainField + "IS" + value; } if(me.FormUtil.contains(window.location.href, '?', true)){ window.location.href = window.location.href + '&formCondition=' + formCondition + '&gridCondition=' + gridCondition; } else { window.location.href = window.location.href + '?formCondition=' + formCondition + '&gridCondition=' + gridCondition; } }); } else if(localJson.exceptionInfo){ var str = localJson.exceptionInfo; if(str.trim().substr(0, 12) == 'AFTERSUCCESS'){//特殊情况:操作成功,但是出现警告,允许刷新页面 str = str.replace('AFTERSUCCESS', ''); saveSuccess(function(){ //window.location.reload(); var value = Ext.getCmp('cs_id').value; var formCondition = form.keyField + "IS" + value ; var gridCondition = ''; var grid = Ext.getCmp('grid'); if(grid && grid.mainField){ gridCondition = grid.mainField + "IS" + value; } if(me.FormUtil.contains(window.location.href, '?', true)){ window.location.href = window.location.href + '&formCondition=' + formCondition + '&gridCondition=' + gridCondition; } else { window.location.href = window.location.href + '?formCondition=' + formCondition + '&gridCondition=' + gridCondition; } }); showError(str); } else { showError(str); return; } } else{ saveFailure();//@i18n/i18n.js } } }); }, getGridStore: function(grid){ if(grid == null){ grid = Ext.getCmp('grid'); } var me = this, jsonGridData = new Array(); var form = Ext.getCmp('form'); if(grid!=null){ var s = grid.getStore().data.items;//获取store里面的数据 var dd; for(var i=0;i