extjs之動態刷新活動的tab頁

Ext.define('Business.view.businessRequest.BrUnitRuleTabPanel',{
extend:'Ext.tab.Panel',
border:false,
id:'brUnitRuleTabPanel',
iconCls:'application_side_list',
alias : 'widget.brUnitRuleTabPanel',
initComponent: function() {
var unitRuleTabPanel = this;
Ext.apply(this, {
layout : 'border',
defaults : {
collapsible : false,
split : true,
bodyStyle : 'padding:0px'
},
items: [
       {

           title: '關聯交易/步驟',

             id:'gljybzGrid',
        xtype:'brUnitFunctionSteprulePanel'

       },
       {

           title: '規則影響分析',

             id:'gzyxfxGrid',
        xtype:'brUnitRuleEffectPanel'

       },
       {

           title: '影響范圍(關聯)',

             id:'yxfwglGrid',
        xtype:'brUnitRuleEffectscopePanel'

       }
   ]
});

/**
* 業務規則更改時調用的方法
* @param id
*/
this.refreshTabDate = function(id){
//把規則模塊的id賦給unitRuleTabPanel的屬性
unitRuleTabPanel.selectBrUnitRuleId = id;
//獲得活動中的Tab頁
var activeTabPanel = unitRuleTabPanel.getActiveTab();
//刷新數據
activeTabPanel.selectBrUnitRuleId = id;
//如果在活動中的tab頁中有refreshDate方法
if(activeTabPanel.refreshDate){
//執行refreshDate()方法,方法一般寫刷刷新的store
activeTabPanel.refreshDate();
}
};
/**
* tab改變,刷新tab中數據
*/
unitRuleTabPanel.on('tabchange',function(tabPanel,newCard,oldCard,eOpts){
var activeTabPanel = tabPanel.getActiveTab();
//比對選中的tab的ruleId是否是先前的ruleId,如果不是就刷新
if(unitRuleTabPanel.selectBrUnitRuleId != activeTabPanel.selectBrUnitRuleId){
//把當前的ruleId賦給活動Tab的ruleId
activeTabPanel.selectBrUnitRuleId = unitRuleTabPanel.selectBrUnitRuleId;
if(activeTabPanel.refreshDate){
activeTabPanel.refreshDate();
}
}
});
this.callParent(arguments);
}
});

需要在關聯交易/步驟、 '規則影響分析、影響范圍模塊中添加refreshDate();方法刷新模塊中的store;
各個模塊中的stroe需要在beforeLoad之前加ruleId傳到後臺執行查詢  www.aiwalls.com
    listeners : {
    beforeload : {
    fn : function(store, options) {
    var brUnitRuleId = Ext.getCmp('brUnitRuleTabPanel').selectBrUnitRuleId;
    Ext.apply(store.proxy.extraParams, {
    'pageNum' : this.pageNum,
    'pageSize': this.pageSize,
    'effectName':this.condition,
    'ruleId':brUnitRuleId
    });
    }
    }
    }

作者:woshiyjk

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。