Ext.QuickTips.init(); Ext.define('erp.controller.scm.product.ProductSNRule', { extend: 'Ext.app.Controller', FormUtil: Ext.create('erp.util.FormUtil'), BaseUtil: Ext.create('erp.util.BaseUtil'), GridUtil: Ext.create('erp.util.GridUtil'), views:[ 'scm.product.ProductSNRule','core.form.Panel','core.button.Add','core.button.Save','core.button.Close', 'core.button.Update','core.button.Delete','core.form.YnField','core.grid.YnColumn','core.button.Flow', 'core.trigger.TextAreaTrigger','core.trigger.DbfindTrigger','core.form.MultiField','core.grid.Panel2' ], init:function(){ var me = this; this.control({ 'erpFormPanel': { afterload: function(form) { var items = form.items.items; Ext.each(items, function(item) { item.setReadOnly(true); }); } }, '#grid': { itemclick: function(selModel, record){ var grid = selModel.ownerCt; var store = grid.store; if(grid && store.data.length < 2){ var index = store.indexOf(record); if(index == store.indexOf(store.first())){ store.loadData([{}], true); } } } }, '#pr_code': { afterrender: function(field){ me.loadData(field.value); } }, 'erpCloseButton': { click: function(btn){ this.FormUtil.beforeClose(this); } }, 'erpUpdateButton': { click: function(btn){ this.FormUtil.onUpdate(this); } } }); }, loadData: function(value) { var me = this; me.FormUtil.getFieldsValues("productsnrule", 'psr_id, psr_type, psr_prefix, psr_length, psr_inman, psr_indate', "psr_prodcode='" +value+"'", [], function(data){ var datas = Ext.JSON.decode(data), _datas = []; var grid = Ext.getCmp('grid'); if(datas.length > 0) { var keys = Ext.Object.getKeys(datas[0]); Ext.Array.each(datas, function(d){ var obj = {}; Ext.Array.each(keys, function(key){ obj[key.toLowerCase()] = d[key]; }); _datas.push(obj); }); } _datas.length > 0 && grid.store.loadData(_datas); grid.store.each(function(){ this.dirty = false; }); }); } });