ExtJS框架菜单设备

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Default.aspx.cs" Inherits="Erp.Web.Admin.Default1" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head id="Head1" runat="server">
    <title>XXXX后台管理系统</title>
    <link rel="Stylesheet" type="text/css" href="ExtJS/resources/css/ext-all.css" />
    <link rel="Stylesheet" type="text/css" href="ExtJS/resources/css/xtheme-green.css" />

    <script type="text/javascript" src="ExtJS/adapter/ext/ext-base.js"></script>

    <script type="text/javascript" src="ExtJS/ext-all.js"></script>

    <script type="text/javascript" src="js/theme.js"></script>

    <script type="text/javascript" src="js/bottom.js"></script>

    <script type="text/javascript" src="js/rightKeyTabPanel.js"></script>

    <script type="text/javascript" src="js/centerGrid.js"></script>

    <style type="text/css">
        html, body
        {
            font: normal 12px verdana;
            margin: 0;
            padding: 0;
            border: 0 none;
            overflow: hidden;
            height: 100%;
        }
        .x-panel-body p
        {
            margin: 5px;
        }
        .x-column-layout-ct .x-panel
        {
            margin-bottom: 5px;
        }
        .x-column-layout-ct .x-panel-dd-spacer
        {
            margin-bottom: 5px;
        }
        .settings
        {
            background-image: url(icons/fam/folder_wrench.png) !important;
        }
        .nav
        {
            background-image: url(icons/fam/folder_go.png) !important;
        }
        .panel_icon
        {
            background-image: url(images/first.gif);
        }
        .win_icon
        {
            background-image: url(images/05503711.gif);
        }
        .template
        {
            background-image: url(images/myBBImg.PNG);
        }
        .body_title
        {
            width: 100%;
            height: 100%;
            text-align: center;
            font-size: 22px;
            background-color: #d9e4f4;
        }
        .btn_logoff
        {
            height: 25px;
            padding-top: 2px;
            padding-left: 10px;
            padding-right: 10px;
        }
    </style>
</head>
<body>
    <form id="form1" runat="server">
    <img id="headImg" src="images/header22.gif" alt="欢迎进入" />
    <div>

        <script type="text/javascript">
            function BuildTree() {
                //上面
                var toolbar = new Ext.Toolbar
                    ({
                        border: false, x: 0, y: 0, id: "toolbars",
                        items:
                         [
                            {
                                xtype: "tbbutton", text: "主菜单", id: "btnEnter", icon: 'images/first.gif', cls: 'x-btn-text-icon',
                                listeners: { "click": function() { loadPanelWest("reload"); } }
                            }
                         ]
                    });
                var panel_toolbar = new Ext.Panel
                    ({
                        border: false, x: 0, y: 0,
                        items: [toolbar]
                    });
                var panel_north = new Ext.Panel
                    ({
                        id: "panel_north", region: "north", contentEl: "headImg",
                        height: 60, frame: false, border: false,
                        html: "<div class='body_title'>XXXX后台管理系统<div style='float:right;padding-right:20px;padding-top:5px'><input type='button' class='btn_logoff' value='注销' class='x-button' οnclick='onLogoff();' /></div></div>",
                        items: [panel_toolbar]
                    });
                //中间
                var tabpanel = new Ext.TabPanel
                    ({
                        activeTab: 0, autoWidth: true, border: false, frame: false, id: "TabPanelID", enableTabScroll: true,
                        items:
                        [
                            {
                                xtype: "panel", layout: 'fit', title: "首页", border: false, frame: false, iconCls: 'panel_icon',
                                html: "<iframe scrolling='no' width='100%' height='100%'  frameborder='0' src='Pages/MyProfile/MyProfile.aspx'></iframe>"
                            }
                        ]
                    });
                var panel_center = new Ext.Panel
                    ({
                        id: 'panleCenter', frame: false, border: false,
                        region: 'center',
                        split: true,
                        items: [tabpanel],
                        layout: 'fit'

                    });
                //左面
                var panel_west = new Ext.Panel
                    ({
                        id: 'panWestMenu',
                        region: 'west',
                        split: true,
                        width: 200,
                        collapsible: true,
                        margins: '0 0 0 0',
                        layout: 'accordion',
                        layoutConfig: { animate: true }
                    });
                var viewport = new Ext.Viewport
                    ({
                        id: 'vpMain',
                        layout: 'border',
                        items:
                        [
                            panel_north,
                            panel_center,
                            panel_west,
                            Ext.getCmp("BottomPanelID")
                        ]
                    });



                //加载左面的数据
                var loadPanelWest = function(init) {
                    Ext.Ajax.request
                     ({
                         url: 'Pages/TreeJson.ashx?Param=0',
                         success: function(response, options) {
                             try {
                                 var panWestMenu = Ext.getCmp("panWestMenu");
                                 if (panWestMenu) {
                                     var children = panWestMenu.findByType('panel');
                                     if (children) {
                                         for (var i = 0, len = children.length; i < len; i++) {
                                             panWestMenu.remove(children[i], true);
                                         }
                                     }
                                 }

                                 var toolBars = Ext.getCmp("toolbars");
                                 var menusArray = Ext.util.JSON.decode(response.responseText);

                                 for (var j = 0; j < menusArray.length; j++) {
                                     var mp = CreateMenuPanel(menusArray[j].TypeTitle, menusArray[j].TypeID);
                                     panWestMenu.add(mp);
                                     if (init == "load") {
                                         var tempBtn = CreteButton(menusArray[j].TypeTitle, menusArray[j].TypeID);
                                         toolBars.addItem(tempBtn);
                                     }
                                 }
                                 panWestMenu.doLayout();
                                 if (init == "load") {
                                     toolBars.addFill();

                                     toolBars.addSeparator();
                                     toolBars.addText("更换皮肤 ");
                                     toolBars.addItem(new makeCookie().cbThemes);
                                     panel_north.doLayout();
                                 }
                             }
                             catch (e) {

                             }
                         }
                     });
                };


                loadPanelWest("load");
                //创建单个treePanel
                var CreateMenuPanel = function(title, TypeID) {
                    return new Ext.Panel
                    ({
                        title: title,
                        layout: 'fit',
                        border: false,
                        frame: true,
                        items:
                          [{
                              xtype: 'treepanel',
                              singleExpand: true,
                              animate: true,
                              autoScroll: true,
                              containerScroll: true,
                              border: false,
                              width: 200, height: 370, enableDD: false, dropConfig: { appendOnly: true },
                              loader: new Ext.tree.TreeLoader({ dataUrl: "Pages/TreeJson.ashx?Param=1&TypeID=" + TypeID }),
                              root: new Ext.tree.AsyncTreeNode
                              ({
                                  id: TypeID,
                                  text: title,
                                  draggable: false,
                                  expanded: true

                              }),
                              rootVisible: false,
                              listeners: { "click": function(node, e) {
                                  if (typeof node.attributes.TypeID == "undefined") {
                                      //Ext.Msg.alert("提示消息", "不可以对根节点执行右键操作!");
                                      return;
                                  }
                                  var _TypeID = node.attributes.TypeID;
                                  var _TypeTitle = node.attributes.TypeTitle;
                                  var _TypeEName = node.attributes.TypeEName;
                                  var tabs = Ext.getCmp("TabPanelID");
                                  var title = _TypeTitle;
                                  var _linkUrl = node.attributes.LinkUrl;
                                  for (var i = 0; i < tabs.items.length; i++) {
                                      if (tabs.items.items[i].title == title) {
                                          // Ext.Msg.alert("消息","该菜单项[ " + node.attributes.text + " ]已经存在Tab里面!");
                                          tabs.activate(tabs.items.items[i]);
                                          return;
                                      }
                                  }
                                  //var pnl = new BuildGridView(_TypeID, title).gridView;
                                  var pnl = new Ext.Panel({
                                      title: title,
                                      border: false,
                                      closable: true,
                                      html: '<iframe id="' + _TypeID + '" scrolling="auto" frameborder="0" width="100%" height="100%" src="' + _linkUrl + '"></iframe>'
                                  });
                                  tabs.add(pnl);
                                  tabs.activate(pnl);
                              }

                              }
}]
                    });
                };


                //创建单个按钮
                var CreteButton = function(MenuTitle, MenuID) {
                    return new Ext.Toolbar.Button
                        ({
                            id: "MenuID" + MenuID, text: MenuTitle, icon: 'images/plugin.gif', cls: 'x-btn-text-icon',
                            tooltip: MenuID,
                            listeners:
                              {
                                  "click": function(o, e) {

                                      var panWestMenu = Ext.getCmp('panWestMenu');

                                      var toolbars = Ext.getCmp('toolbars');
                                      var panel_north = Ext.getCmp('panel_north');
                                      if (toolbars && toolbars.items.length > 0) {
                                          for (var i = 0; i < toolbars.items.length; i++) {
                                              if (toolbars.items.items[i].id == o.id) {
                                                  toolbars.items.items[i].pressed = true;
                                              }
                                              else {
                                                  toolbars.items.items[i].pressed = false;
                                              }
                                          }
                                      }
                                      if (panWestMenu) {
                                          var children = panWestMenu.findByType('panel');
                                          if (children) {
                                              for (var i = 0, len = children.length; i < len; i++) {
                                                  panWestMenu.remove(children[i], true);
                                              }
                                          }
                                          var mp = CreateMenuPanel(o.text, o.tooltip);
                                          panWestMenu.add(mp);
                                          panWestMenu.doLayout();
                                      }
                                  }
                              }
                        });
                };

            }
        </script>

        <script type="text/javascript">
            function ready() {
                makeCookie();
                BuildBottomPanel();
                BuildTree();
                RightKeyTabPanel();
            }
            Ext.onReady(ready);

            function onLogoff() {
                if (confirm("确认要注销吗?")) {
                    window.location.href = "Login.aspx";
                }
            }
        </script>

    </div>
    </form>
</body>
</html>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值