根据传递过来的参数生成单选和多选菜单,并在单击菜单子项和离开多选菜单项后提交请求
Ext.onReady(function(){
// 图表报表工具条
var repImgToolBar;
// 报表详情工具条
var repDetailToolBar;
// 创建单选菜单
function createChaMenu() {
// 对象的显示值
// analyObjSeleValue是一个数组里面放的是每个菜单的title值,如 =[北京,上海,西安]
var arr = analyObjSeleValue.split(",");
// 对象的key
// objKey是一个数组里面放的是每个菜单的name值,如 =[beijing,shanghai,xian],与上面的对应
var objKey = Ext.get("hide_ayobj_btn").dom.innerHTML.split(",");
var menuArray = [];
var curMenu;
for ( var i = 0; i < arr.length; i++) {
curMenu = {
text : arr[i],
name : i,
handler : function(text) {
alert(text.text + " , " + objKey[text.name]);
// 判断是否为局向
if (analyObjValue == "landir") {
var opc = objKey[text.name].split("-")[0];
var dpc = objKey[text.name].split("-")[1];
var p1_sdrwhere = Ext.get('p1_where');
p1_sdrwhere.dom.value = " dpc = 11500 ";
}
var p1_sdrwhere = Ext.get('p1_where');
p1_sdrwhere.dom.value = " dpc = 11500 ";
// 提交表单
var sdrFormImg = Ext.get('sdrFormImg');
sdrFormImg.dom.submit();
}
};
menuArray.push(curMenu);
}
return menuArray;
}
// 创建多选菜单
function createTarMenu(rownum) {
var menuArray = [];
var curMenu;
// 默认加载第一个分析指标(grid第一行)
// changeAndKPIName = ["3#attemptcount,alerting...bability,sdcchdropcount",
// "7#xldhl,tchdropcount,zp...rduration,pjzysc,pjthsc"]
var targetArray = changeAndKPIName[rownum].split("#")[1].split(",");
// 默认不勾选,传递过来的指标设置为勾选
for ( var m = 0; m < ay_all_target[0].length; m++) {
var isCheck = false;
for(var n = 0; n < targetArray.length; n++){
// 有被选择的指标加上勾选状态
if(targetArray[n] == ay_all_target[0][m].data.name){
isCheck = true;
}
}
curMenu = {
checked : isCheck,
text : ay_all_target[0][m].data.title,
name : ay_all_target[0][m].data.name
};
menuArray.push(curMenu);
}
return menuArray;
}
/**
* 为避免重复菜单,每次切换tabPanel时删除工具条和菜单
*/
function removeMenu() {
if (Ext.fly("objchange")) {
Ext.fly("objchange").remove();
}
if (Ext.fly("targetsele")) {
Ext.fly("targetsele").remove();
}
if (Ext.fly("repImgMenu")) {
Ext.fly("repImgMenu").remove();
}
}
// 动态生成菜单
// tabVal 是当前的tabPanel对象,tabIndex是生成tabPanel时设定的参数
// 在点击每个tabPanel时,调用此方法
function dynamicCreateMenu(tabVal) {
var objChangeMenu = [];
objChangeMenu = createChaMenu();
// first Menu
var firstMenu = new Ext.menu.Menu( {
id : 'objchange',
items : objChangeMenu
});
var rowIndex = tabVal.tabIndex;
var targetSeleMenu = [];
targetSeleMenu = createTarMenu(rowIndex);
// second Menu
var secondMenu = new Ext.menu.Menu( {
id : 'targetsele',
items : targetSeleMenu,
listeners : {
/**
* 选中时只保存选中状态,不隐藏
*
* @param {Object}
* bi baseItem
* @param {Object}
* e check EventObject
* @return {TypeName}
*/
'itemclick' : function(bi, e) {
if (bi.checked) {
bi.setChecked(false);
} else {
bi.setChecked(true);
}
return false;
},
/**
* 让菜单隐藏之提交表单
*
* @param {Object}
* em 当前menu
*/
'beforehide' : function(em) {
Ext.each(em.items.items, function(ite) {
// 给相应的form里面的域赋值
// 如果没有选择,隐藏表单中设为0
if (!ite.checked) {
Ext.get("p1_" + ite.name).dom.value = 0;
}
});
// 提交图表对比表单
var sdrFormImg = Ext.get('sdrFormImg');
sdrFormImg.dom.submit();
}
}
});
repImgToolBar = new Ext.Toolbar( {
id : 'repImgMenu',
renderTo : 'rightRepImgMenu',
style : 'align: right',
width : 150,
items : [ {
text : 'First',
menu : firstMenu
}, "-", {
text : 'Second',
menu : secondMenu
} ]
});
}
});