Ext.QuickTips.init(); Ext.define('erp.controller.plm.test.TestTeamplate', { extend: 'Ext.app.Controller', FormUtil: Ext.create('erp.util.FormUtil'), GridUtil: Ext.create('erp.util.GridUtil'), BaseUtil: Ext.create('erp.util.BaseUtil'), views:[ 'plm.test.TestTeamplate','core.form.Panel','core.grid.Panel2','core.form.YnField', 'core.button.Add','core.button.Save','core.button.Close','core.button.Delete','core.button.Update','core.form.FileField', 'core.trigger.DbfindTrigger','core.toolbar.Toolbar' ], init:function(){ var me = this; this.control({ 'dbfindtrigger[name=mt_module]': { afterrender: function(f){ f.onTriggerClick = function(){ me.getLogicTree(); }; f.autoDbfind = false; } }, 'erpSaveButton': { click: function(btn){ var codeField=Ext.getCmp(form.codeField); if(codeField.value == null || codeField.value == ''){ me.BaseUtil.getRandomNumber(); } } }, 'erpUpdateButton': { click: function(btn){ this.FormUtil.onUpdate(this); } }, 'erpDeleteButton': { click: function(btn){ this.FormUtil.onDelete(Ext.getCmp('mt_id').value); } }, 'erpAddButton': { click: function(){ me.FormUtil.onAdd('addPrjMainTestTemplate', '测试项维护', 'jsps/plm/test/TestTeamplate.jsp'); } }, 'erpCloseButton': { click: function(btn){ this.FormUtil.beforeClose(me); } }, 'erpGridPanel2': { itemclick: function(selModel, record){ this.GridUtil.onGridItemClick(selModel, record); } }, 'treepanel': { itemmousedown: function(selModel, record){ var tree = selModel.ownerCt; me.loadTree(tree, record); } } }); }, getForm: function(btn){ return btn.ownerCt.ownerCt; }, getLogicTree: function(){ var w = Ext.create('Ext.Window',{ title: '查找模板', height: "100%", width: "80%", maximizable : true, buttonAlign : 'center', layout : 'anchor', items: [{ anchor: '100% 100%', xtype: 'treepanel', rootVisible: false, useArrows: true, store: Ext.create('Ext.data.TreeStore', { root : { text: 'root', id: 'root', expanded: true } }) }], buttons : [{ text : '关 闭', iconCls: 'x-button-icon-close', cls: 'x-btn-gray', handler : function(btn){ btn.ownerCt.ownerCt.close(); } },{ text: '确定', iconCls: 'x-button-icon-confirm', cls: 'x-btn-gray', handler: function(btn){ var t = btn.ownerCt.ownerCt.down('treepanel'); if(!Ext.isEmpty(t.title)) { Ext.getCmp('mt_module').setValue(t.title); } btn.ownerCt.ownerCt.close(); } }] }); w.show(); this.loadTree(w.down('treepanel'), null); }, loadTree: function(tree, record){ var pid = 0; if(record) { if (record.get('leaf')) { return; } else { if(record.isExpanded() && record.childNodes.length > 0){ record.collapse(true, true);//收拢 return; } else { if(record.childNodes.length != 0){ record.expand(false, true);//展开 return; } } } pid = record.get('id'); } tree.setLoading(true); Ext.Ajax.request({ url : basePath + 'common/lazyTree.action', params: { parentId: pid, condition: 'sn_logic=1' }, callback : function(options,success,response){ tree.setLoading(false); var res = new Ext.decode(response.responseText); if(res.tree){ if(record) { record.appendChild(res.tree); record.expand(false,true);//展开 tree.setTitle(record.getPath('text', '/').replace('root', '').replace('//', '/')); } else { tree.store.setRootNode({ text: 'root', id: 'root', expanded: true, children: res.tree }); } } else if(res.exceptionInfo){ showError(res.exceptionInfo); } } }); } });