Ext.QuickTips.init(); Ext.define('erp.controller.ma.DataList', { extend: 'Ext.app.Controller', FormUtil: Ext.create('erp.util.FormUtil'), GridUtil: Ext.create('erp.util.GridUtil'), BaseUtil: Ext.create('erp.util.BaseUtil'), views:[ 'ma.DataList','core.form.Panel','ma.MyDataList', 'core.button.Add','core.button.Save','core.button.Close','core.button.Sync', 'core.button.Upload','core.button.Update','core.button.Delete','core.button.DeleteDetail', 'core.trigger.TextAreaTrigger','core.trigger.DbfindTrigger','core.toolbar.Toolbar', 'core.grid.YnColumn' ], init:function(){ var me = this; this.control({ 'erpSyncButton': { afterrender: function(btn){ btn.autoClearCache = true; } }, 'erpSaveButton': { click: function(btn){ this.FormUtil.beforeSave(me); } }, 'erpUpdateButton': { click: function(btn){ me.save(); } }, 'erpAddButton': { click: function(){ me.FormUtil.onAdd('addDataList', '新增DataList配置', 'jsps/ma/dataList.jsp'); } }, 'erpCloseButton': { click: function(btn){ this.FormUtil.beforeClose(me); } }, 'mydatalist': { itemclick: function(selModel, record){ this.GridUtil.onGridItemClick(selModel, record); } }, 'erpFormPanel textfield[name=dl_caller]': { change: function(field){//主表dl_caller值变更时,对应从表字段也变更 var grid = Ext.getCmp('grid'); Ext.Array.each(grid.store.data.items, function(item){ item.set('dld_caller',field.value); }); } }, 'erpFormPanel textfield[name=dl_tablename]': { change: function(field){//主表dl_tablename值变更时,对应从表字段也变更 var grid = Ext.getCmp('grid'); Ext.Array.each(grid.store.data.items, function(item){ item.set('dld_table',field.value); }); } }, '#erpSetComboButton': { click: function(btn) { var grid = btn.ownerCt.ownerCt, record = grid.selModel.lastSelected; if(record && record.get('dld_fieldtype') == 'C') { warnMsg('确定重置下拉框数据?', function(b){ if(b == 'ok' || b == 'yes') { Ext.Ajax.request({ url: basePath + 'ma/resetCombo.action', params: { caller: whoami, field: record.get('dld_field') }, callback: function(opt, s, r) { if(s) { var rs = Ext.decode(r.responseText); if(rs.error) { alert(rs.error); } else { alert('设置成功!'); } } } }); } }); } } } }); }, getForm: function(btn){ return btn.ownerCt.ownerCt; }, save: function(){ var detail = Ext.getCmp('grid'),records = detail.store.data.items; field = Ext.getCmp('dl_tablename'),val = field.value.split(' ')[0]; Ext.Array.each(records, function(item){ if(item.data['dld_field'] != null && item.data['dld_field'] != '' && Ext.isEmpty('dld_table')){ item.set('dld_table', val); } }); var me = this; if(! me.FormUtil.checkForm()){ return; } var de = detail.getChange(); me.FormUtil.update(Ext.getCmp('form').getValues(), Ext.encode(de.added), Ext.encode(de.updated), Ext.encode(de.deleted)); } });