分享

左边是mutiselectorItem,右边是tabpanel

 yan的图书41 2014-04-24
注意:是左边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");
 }
});

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多