EXT富客户端后台管理系统 初步代码 -- vb2005xu自己动手系列


<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<Meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title><%$sitename%></title>

<%*加载的Extjs 资源文件 -- 开始*%>
<link rel="stylesheet" type="text/css" href="<%$extjs_res%>" />
<script type="text/javascript" src="<%$extjs_adapter%>"></script>
<script type="text/javascript" src="<%$extjs_laction%>"></script>
<%*加载的Extjs 资源文件 -- 结束*%>

<%*执行块的JS区域 -- 开始*%>
<script type="text/javascript">
//具体开发 -- BJExtreme类
BJExtreme= function(){} ;

BJExtreme.prototype.getAuthor = function(){
	return '许消寒' ;
}
BJExtreme.prototype.getVersion = function(){
	return '2008年08月13日 17:00' ;
}
BJExtreme.prototype.getController = function(){
	return 'index.PHP' ;
}
BJExtreme.prototype.buildLinkStr = function(ctl,act){
	if (ctl == undefined)
		return BJExtreme.prototype.getController() ;
	if (act == undefined)
		act = null ;
	return BJExtreme.prototype.getController() + '?ctl=' + ctl + '&act=' + act ;
}

BJExtreme.prototype.showWindow = function(title1,width1,height1,html1){
	
	if (this.win == undefined){
		
		this.win = new Ext.Window({
			title: title1,width: width1,height: height1,html: html1	
		});	
	}
	else {
		this.win.close();
		this.win = new Ext.Window({
			title: title1,html: html1	
		});	
	}
	this.win.show();
}

/*对出现的UI组件单独封装*/

BJExtreme.prototype.ui = function(){} ;
BJExtreme.prototype.ui.mainTopic = {	
	title: 'Beijing Extreme 后台管理',region: 'north',html: '<embed src="<%$prj_dir%>/swf/top_title.swf" quality="high" type="application/x-shockwave-flash" width="450" height="50"></embed>'
}; 

/*左侧菜单项操作 -- 开始*/

//定义初始话状态时的菜单条对象
BJExtreme.prototype.ui.menuBar = {
	xtype: 'treepanel',title: '菜单',region: 'west',width: 200,collapsible: true,loader: null,root: null,rootVisible: true,listeners: null
};

//旅游相关
BJExtreme.prototype.ui.menuBar.Traveling = {
	text: '旅游',leaf: false,// 这个设为false 则显示文件夹图标,true 则显示单项图标
    children: null
};
BJExtreme.prototype.ui.menuBar.Traveling.children = [
    {text: '北京',leaf: true,ctl: 'Peking',act: ''},{text: '西藏',ctl: 'Tibet',{text: '泰国',leaf: true},{text: '香格里拉',ctl:'Shangrila',act: ''}
];

//藏医相关
BJExtreme.prototype.ui.menuBar.Mibetdoctor = {
	text: '藏医',children: null
};
BJExtreme.prototype.ui.menuBar.Mibetdoctor.children = [
    {text: '藏医历史',{text: '藏医理论',{text: '诊断',{text: '病症',{text: '治疗',leaf: true}
];

//潜水
BJExtreme.prototype.ui.menuBar.Diving = {
	text: '潜水',children: null
};
//登山
BJExtreme.prototype.ui.menuBar.Mountain = {
	text: '登山',children: null
};
//攀岩
BJExtreme.prototype.ui.menuBar.Rockclimbe = {
	text: '攀岩',children: null
};
//徒步
BJExtreme.prototype.ui.menuBar.Onfoot = {
	text: '徒步',children: null
};
//摩托车
BJExtreme.prototype.ui.menuBar.Motorcycle = {
	text: '摩托车',children: null
};

//项目中集成的模块
BJExtreme.prototype.ui.menuBar.ModuleInProject = {
	text: '项目中集成的模块',children: null 
};

BJExtreme.prototype.ui.menuBar.ModuleInProject.children = [
    {
    	text: '互动提示条',ctl: 'Extjsstudy',act: 'linkTips',//这个运行的优先级高于下面的那个通用的监听控制器
    	listeners:{click: function (n){window.open(BJExtreme.prototype.buildLinkStr(n.attributes.ctl,n.attributes.act));return false ;}} 
    }
];

//初始化 菜单项元素 信息 -- 这个必须在 -- 当前菜单是使用异步树组件生成的,以后可以添加其他不同的实现
BJExtreme.prototype.ui.menuBar.loader = new Ext.tree.TreeLoader();
BJExtreme.prototype.ui.menuBar.root = new Ext.tree.AsyncTreeNode({
	expanded: true,children: [
		BJExtreme.prototype.ui.menuBar.Traveling,BJExtreme.prototype.ui.menuBar.Mibetdoctor,BJExtreme.prototype.ui.menuBar.Diving,BJExtreme.prototype.ui.menuBar.Mountain,BJExtreme.prototype.ui.menuBar.Rockclimbe,BJExtreme.prototype.ui.menuBar.Onfoot,BJExtreme.prototype.ui.menuBar.Motorcycle,BJExtreme.prototype.ui.menuBar.ModuleInProject
	]
});

//定义一个简单的响应事件
BJExtreme.prototype.ui.menuBar.listeners = {
	click: function (n) //n.attributes 可以获得AsyncTreeNode的children中的对象
	{
		if (n.attributes.leaf == true) //叶选项
		{
			//n.attributes.text n.attributes.leaf
			var ctlStr = BJExtreme.prototype.buildLinkStr(n.attributes.ctl,n.attributes.act);   					
			myextreme.showWindow('当前控制器',400,300,ctlStr) ;   					
		}
		else //包含子菜单
		{
			//not to do
		}
	}
};


//菜单选项结束


//主内容面板
BJExtreme.prototype.ui.contentPane = {
	id: "main_content",xtype: "tabpanel",region: 'center',items: [{title: '主内容面板'}]
};
//状态条
BJExtreme.prototype.ui.statusBar = {
	xtype: "tabpanel",region: 'south',items: [{title: '状态条'}]
};

BJExtreme.prototype.buildMainPane = function(BJExtremeObj){
	//Ext.Viewport 用来将对象渲染到页面中的body块中,会自动改变,每个页面仅限一个
	this.mainPane = new Ext.Viewport({
		enableTabScroll: true,layout: 'border',//设为fit则不能显示复合面板
		items: [
			BJExtremeObj.ui.mainTopic,BJExtremeObj.ui.menuBar,BJExtremeObj.ui.contentPane,BJExtremeObj.ui.statusBar
		]
	}) ;
	
}


var myextreme = new BJExtreme() ; 

Ext.onReady(
	function(){
		//Ext.MessageBox.alert('BJExtreme Version',myextreme.getVersion());		
		//Ext.MessageBox.alert('BJExtreme Version',myextreme.buildLinkStr('t','b'));	
		myextreme.buildMainPane(myextreme) ;
	}
);
</script>
<%*执行块的JS区域 -- 结束*%>

</head>
<body>
<!-- //页面中子导航菜单 -->





</body>
</html>


相关文章

Format[$] ( expr [ , fmt ] ) format 返回变体型 format$ 强...
VB6或者ASP 格式化时间为 MM/dd/yyyy 格式,竟然没有好的办...
在项目中添加如下代码:新建窗口来显示异常信息。 Namespace...
转了这一篇文章,原来一直想用C#做k3的插件开发,vb没有C#用...
Sub 分列() ‘以空格为分隔符,连续空格只算1个。对所选...
  窗体代码 1 Private Sub Text1_OLEDragDrop(Data As Dat...