Ext.QuickTips.init(); Ext.define('erp.controller.fa.fix.ChangeMethod', { extend: 'Ext.app.Controller', FormUtil: Ext.create('erp.util.FormUtil'), GridUtil: Ext.create('erp.util.GridUtil'), BaseUtil: Ext.create('erp.util.BaseUtil'), views:[ 'core.grid.Panel4','core.toolbar.Toolbar3','core.button.Save','core.button.Delete' ], init:function(){ var me = this; me.gridLastSelected = null; this.control({ 'erpGridPanel4': { itemclick: this.onGridItemClick }, 'erpSaveButton': { click: function(btn){ this.beforeUpdate(); } },'erpDeleteButton': { click: function(btn){ this.GridUtil.deleteDetailForEditGrid(btn); } } }); }, onGridItemClick: function(selModel, record){//grid行选择 this.gridLastSelected = record; var grid = Ext.getCmp('grid'); if(record.data[grid.necessaryField] == null || record.data[grid.necessaryField] == ''){ this.gridLastSelected.findable = true;//空数据可以在输入完code,并移开光标后,自动调出该条数据 } else { this.gridLastSelected.findable = false; } this.GridUtil.onGridItemClickForEditGrid(selModel, record); }, beforeUpdate: function(){ var mm = this; var s2 = ''; var grids = Ext.ComponentQuery.query('gridpanel'); if(grids.length > 0){//check所有grid是否已修改 Ext.each(grids, function(grid, index){ var msg = grid.GridUtil.checkGridDirty(grid); if(msg.length > 0){ s2 = s2 + '
' + grid.GridUtil.checkGridDirty(grid); } }); } var params = []; if(grids.length > 0){ var param = grids[0].GridUtil.getGridStore(); if(grids[0].necessaryField.length > 0 && (param == null || param == '')){ warnMsg('明细表还未添加数据,是否继续?', function(btn){ if(btn == 'yes'){ params = unescape("[" + param.toString().replace(/\\/g,"%") + "]"); } else { return; } }); } else { params = unescape("[" + param.toString().replace(/\\/g,"%") + "]"); } } mm.update(params); }, update:function(){ var params = new Object(); params.param = unescape(arguments[0].toString().replace(/\\/g,"%")); for(var i=2; i