注意:是左边mutiselectorItem 点击时得到 当前选择的id ,跟新右边那个ActivePanel,
如果是单击TabPanel变化面板 , 请在TabPanel 的Active 事件 做处理
Ext.define("Module",{
extend:"CommonM",
sid:0, 选择后的id
currentSysId:0, //当前的id
init:function(){
var me=this;
DirectService.getSysId(function(value,panel){ //得到当前的id DirectService.getSysId(这个是后台的类.方法明)
me.sid=value; //初始化当前的id
me.currentSysId=value;
var leftPanel = Ext.widget({
xtype:"panel", region:"west", width:200, border:0,
layout:'fit',
items:[me.createSystemList()]
});
var rightPanel = Ext.widget({
xtype:"tabpanel", region:"center", layout:'fit',
border:0,
items:[me.createSystemTab(),me.createUserTab(),me.createGroupTab()]
});
me.rightPanel=rightPanel;
containerPanel.add([leftPanel,rightPanel]);
});
var containerPanel= Ext.widget({
xtype:"panel", width:1024, height:650, layout:'border'
});
return containerPanel;
},
createSystemTab:function(){
var me=this;
var systemTab=Ext.widget({
title:"系统", xtype:"panel", itemId:'tab0', layout:'fit',
listeners:{
activate:function(tab){ //定义activate 事件
me.systemActive(tab);
} }
});
me.systemTab=systemTab;
return systemTab;
},
createUserTab:function(){
var me=this;
var userTab = Ext.widget({
title:"用户", xtype:"panel", layout:'fit',
itemId:'tab1',
listeners:{
activate:function(tab){ //定义activate 事件
me.panelActive(tab,'UserPane');
} } });
me.userTab=userTab;
return userTab;
},
createGroupTab:function(){
var me=this;
var groupTab = Ext.widget({
title:"用户组",
xtype:"panel", itemId:'tab2', layout:'fit',
listeners:{
activate:function(tab){ //定义activate 事件
me.panelActive(tab,'GroupPane');
} }
});
me.groupTab=groupTab;
return groupTab;
},
getSystemListStore:function(){
var me=this;
var store2=Ext.create('Ext.data.Store',{
autoLoad:true,
fields:['id','name','code'],
proxy:{
type:'direct',
directFn:' ',//调用后台方法
reader:{
type:'json',
root:'records'
}
}
});
store2.on('load',function(){
me.systemFormList.getForm().findField("systemMultiSelectId").setValue(me.systemId);
var value=me.systemFormList.getForm().findField("systemMultiSelectId").getValue();
me.systemListChange(null,value);
});
me.store2=store2;
return store2;
},
createSystemList:function(){
var me=this;
var systemFormList=Ext.widget({
xtype:"form", layout:'fit', border:false,
items:[{
xtype:'multiselect', border:false,
name:'systemMultiSelectId', itemId:'systemMultiSelectId',
anchor:'100%',
store:me.getSystemListStore(),
valueField:'id', displayField:'name',
ddReorder:true,
value:[me.systemId], //初始化选择默认值(默认是登陆的本系统id)
listeners:{
change:function(obj,event){ //mulselect 的change 事件
me.systemListChange(obj,event);
} } }]
});
me.systemFormList=systemFormList;
return systemFormList;
},
showAddSystemWindow:function(){
var me=this;
var systemFormWindow=Ext.widget({
xtype:"window",
title:'新增系统', modal:true, closeAction:'hide',
listeners:{
beforeshow:function(tab){ // 在添加系统按钮的时候把
var panel = new setting.pum.system.AddSystemPane();
panel.on('addSystem',function(sysId){
me.systemId=sysId;
me.store2.reload();
});
panel.setSysStore(me.store2);
this.removeAll();
this.add(panel.init());
}
}
});
return systemFormWindow;
},
systemListChange:function(obj,event){
var me=this;
var panes={
tab1:'setting.pum.UserPane',
tab2:'setting.pum.GroupPane' };
var tabItem=new Ext.util.MixedCollection(); //存放 key , value (value 是对象)
tabItem.add('tab1',me.userTab);
tabItem.add('tab2',me.groupTab);
if(event[0]==null||event[0]=="")
{ return; }
me.sId=event[0]; //注意这个是存放当前选择的id,是为了显示view界面使用的
if(me.rightPanel.getActiveTab().itemId=="tab0")//是特殊的,传参不一样(他是一个view界面,其他都是grid页面)
{
me.systemActive(me.systemTab);
}
else{
var tab=tabItem.get(me.rightPanel.getActiveTab().itemId);
me.panelActive(tab,panes[me.rightPanel.getActiveTab().itemId]);
}
},
systemActive:function(tab){
var me=this;
var sysPanel = new setting.pum.system.ViewerSystemPane();
if(me.store2.findRecord("id",me.systemId)){
sysPanel.setSystemDate(me.store2.findRecord("id",me.systemId).data);
sysPanel.setSystemStore(me.store2);
}
sysPanel.doInit();
tab.removeAll();
tab.add(sysPanel.getContainer());
},
panelActive:function(tab,pane){ //公共方法
var me=this;
var panel= Ext.create(pane);
panel.setSystemId(me.systemId);
panel.doInit();
tab.removeAll();
tab.add(panel.getContainer());
},
afterInit:function(){
//alert("afterInit");
}
});