Ext.define('erp.view.common.main.TabPanel',{ extend: 'Ext.tab.Panel', alias: 'widget.erpTabPanel', id: 'content-panel', region: 'center', defaults: { autoScroll:true, cls: 'my-panel' }, activeTab: 0, border: false, animScroll:true, //使用动画滚动效果 layoutOnTabChange : true, //随着布局变化 resizeTabs:true, // turn on tab resizing enableTabScroll : true, //tab标签超宽时自动出现滚动效果 deferredRender : false, items: [{ xtype: 'panel', id: 'HomePage', title: $I18N.common.main.homePageTitle, bodyPadding: '0 0 2 0', iconCls : 'x-tree-icon-tab-main', closable: false, firstGrid:null, html : '' }] , plain: true, plugins:[Ext.create('Ext.ux.TabCloseMenu', { closeTabText: $I18N.common.main.closeTabText, closeOthersTabsText: $I18N.common.main.closeOtherText, closeAllTabsText: $I18N.common.main.closeAllText, closeRightsTabsText: $I18N.common.main.closeRightsTabsText, /* extraItemsTail: ['-', { text: $I18N.common.main.closeable, checked: true, hideOnClick: true, handler: function (item) { console.log(item); currentItem.tab.setClosable(item.checked); } }],*/ listeners: { aftermenu: function () { currentItem = null; }, /*beforemenu: function (menu, item) { var menuitem = menu.child('*[text=' + $I18N.common.main.closeable + ']'); currentItem = item; menuitem.setChecked(item.closable); }*/ } }), new Ext.ux.TabScrollerMenu({ pageSize: 10, maxText : 15 }) ], initComponent : function(){ this.callParent(arguments); }, listeners: { beforerender:function(){ if(hascheckInitpwd=='null'){ Ext.Ajax.request({ url : basePath + 'common/getFieldsData.action', params: { caller: 'Employee', fields: 'em_password', condition: 'em_id='+em_id }, method : 'post', callback : function(opt, s, res){ var r = new Ext.decode(res.responseText); if(r.exceptionInfo){ showError(r.exceptionInfo);return; } else if(r.success && r.data){ var password=r.data.em_password; if(password&&password=='111111'){ Ext.create('erp.view.core.window.InitPwdWindow',{initPwd:password}); } } } }); } }, add: function(t, p) { t.lastActiveTab = t.activeTab; p.on('activate', function(){ if(p.body) { var iframe = p.getEl().down('iframe').dom; var win = iframe.contentWindow; if(win == null || win.Ext === undefined) { return; } if(contains(iframe.src, 'common/datalist.jsp', false)) {//列表 var grid = win.Ext.getCmp("grid"); if(grid){ grid.lastSelected = grid.selModel.getSelection();//记录当前选中的record grid.getColumnsAndStore(); } } /*else if(contains(iframe.src, 'common/editDatalist.jsp', false)) {//列表 var grid = win.Ext.getCmp("grid"); if(grid){ grid.lastSelected = grid.selModel.getSelection();//记录当前选中的record grid.getColumnsAndStore(); } } else if(contains(iframe.src, 'common/batchDeal.jsp', false)) {//批量处理 var form = win.Ext.getCmp("dealform"); if(form){ form.onQuery(true); } } else if(contains(iframe.src, 'common/query.jsp', false)) {//查询 var form = win.Ext.getCmp("queryform"); if(form){ form.onQuery(); } } else if(contains(iframe.src, 'common/jprocessDeal.jsp', false)) {//流程界面 var iframe = win.Ext.get('iframe_maindetail'); if(iframe){ } }*/ else { var form = win.Ext.getCmp("form"); if(form) { var uu = form.uulistener, //active时刷新Header的uu连接 tp = t.ownerCt.down('erpHeader'); if(uu && uu.length > 0) { tp.refreshUU(p, form, uu); } } /**刷新首页信息*/ var desktabpanel =win.Ext.getCmp("desktabpanel"); if(desktabpanel){ var grid = desktabpanel.activeTab; grid.lastSelected = grid.selModel.getSelection(); grid.getColumnsAndStore(); } } } }); }, beforeremove: function(t, p) { if(p.body) { var iframe = p.getEl().down('iframe').dom; var win = iframe.contentWindow; if(win == null || win.Ext === undefined) { return; } var form = win.Ext.getCmp("form"); if(form) { var uu = form.uulistener, //remove前清除Header的uu连接 tp = t.ownerCt.down('erpHeader'); if(uu && uu.length > 0) { tp.removeUU(p); } } } if (t.lastActiveTab && t.lastActiveTab.id != p.id) { Ext.defer(function(){ t.setActiveTab(t.lastActiveTab); }, 100); } } } });