var mArr = [];//这里是保存显示模块的数组
var _menus = [@Html.Raw(ViewBag.Menu as string)]; //从服务端传来的菜单json
//遍历json
for (var i =0; i < _menus.length; i ++){
var s = Ext.define('MyDesktop.Menu' + i, {
extend: 'MyDesktop.BogusModule',
init : function() {
this.launcher = {
text: _menus[i].menuname,
iconCls: 'bogus',
handler: function() {
return false;
},
menu: {
items: []
}
};
if(_menus[i].menus != null){
for (var j = 0; j < _menus[i].menus.length; j++) {
this.launcher.menu.items.push({
text: _menus[i].menus[j].menuname,
iconCls:'bogus',
url: _menus[i].menus[j].url,
handler : function(src){
var desktop = this.app.getDesktop();
var win = desktop.getWindow('bogus'+src.windowId);
if(!win){
win = desktop.createWindow({
id: 'bogus'+src.windowId,
title:src.text,
width:850,
height:500,
html : '<iframe style="position:relative;background-color:transparent;" allowtransparency="true" width="100%" height="100%" frameborder="0" src="' + src.url + '"></iframe>',
iconCls: 'bogus',
animCollapse:false,
constrainHeader:true
});
}
win.show();
return win;
},
scope: this,
windowId: i + j
});
}
};
}
});
myArr.push(new s);
};
自己的实例:
var mArr= [];
Ext.Ajax.request({
url :"/gwater/common/cSysMenuAction!getUserRoleMenuByPID.action",
method : 'POST',
success:function(response){
var obj = eval('(' + response.responseText + ')');
for(var i=0;i<obj.length;i++){
var modulename=obj[i].module.toUpperCase();
// alert(modulename);
var moduleClassStr="new MyDesktop."+modulename+"()";
var moduleClass=eval('('+moduleClassStr+')');
mArr.push(moduleClass);
}
//alert(obj.length);
/* for(var i=0;i<obj.length;i++){
// alert(obj[i].id+obj[i].name+obj[i].href);
var s = Ext.define('MyDesktop.Menu' + i, {
extend: 'Ext.ux.desktop.Module',
id:obj[i].id,
init : function(){
//alert(obj[i].module);
this.launcher = {
text: obj[i].name,
iconCls:obj[i].module,
url:obj[i].href,
handler : function(win_data){
var desktop = this.app.getDesktop();
var win = desktop.getWindow(win_data.id);
if (!win) {
win = desktop.createWindow({
id: win_data.id,
title: win_data.text,
width: 600,
height: 400,
hideMode: 'offsets',
html: '<iframe style="position:relative;background-color:transparent;" allowtransparency="true" width="100%" height="100%" frameborder="0" src="/gwater/' + win_data.url + '"></iframe>',
iconCls: win_data.iconCls,
animCollapse: false,
constrainHeader: true
});
}
win.show();
return win;
},
scope: this
}
},
createWindow : function(){
alert(this.id);
var desktop = this.app.getDesktop();
var win = desktop.getWindow(this.id);
if(!win){
win = desktop.createWindow({
id: this.id,
title:this.id,
width:600,
height:400,
iconCls: this.id,
animCollapse:false,
border: false,
hideMode: 'offsets',
layout: 'fit'
// html:'<iframe style="position:relative;background-color:transparent;" allowtransparency="true" width="100%" height="100%" frameborder="0" src="/gwater/' +this.id + '"></iframe>'
});
}
win.show();
return win;
}
});
mArr.push(new s);
// alert(mArr.length);
}*/
return [new MyDesktop.QG_GHSB()];
}
});
alert("wait...");
return mArr;