using System; using System.Collections.Generic; using System.Linq; using System.Web; using BLL; namespace FineUIPro.Web { public partial class _default : PageBase { #region Page_Init private string _menuType = "menu"; private bool _compactMode = false; private string _searchText = ""; /// /// 菜单模块 /// public string MenuModule { get { return (string)ViewState["MenuModule"]; } set { ViewState["MenuModule"] = value; } } /// /// 系统菜单路径 /// public string Url { get { return (string)ViewState["Url"]; } set { ViewState["Url"] = value; } } #region Page_Init /// /// 加载 /// /// /// protected void Page_Init(object sender, EventArgs e) { this.defaultTitle.Text = Funs.SystemName; string themeStr = Request.QueryString["theme"]; string menuStr = Request.QueryString["menu"]; if (!String.IsNullOrEmpty(themeStr) || !String.IsNullOrEmpty(menuStr)) { if (!String.IsNullOrEmpty(themeStr)) { if (themeStr == "bootstrap1") { themeStr = "bootstrap_pure"; } HttpCookie cookie = new HttpCookie("Theme_Pro", themeStr); cookie.Expires = DateTime.Now.AddYears(1); Response.Cookies.Add(cookie); } if (!String.IsNullOrEmpty(menuStr)) { HttpCookie cookie = new HttpCookie("MenuStyle_Pro", menuStr); cookie.Expires = DateTime.Now.AddYears(1); Response.Cookies.Add(cookie); } PageContext.Redirect("~/default.aspx"); return; } //////////////////////////////////////////////////////////////// // 从Cookie中读取 - 左侧菜单类型 HttpCookie menuCookie = Request.Cookies["MenuStyle_Pro"]; if (menuCookie != null) { _menuType = menuCookie.Value; } // 从Cookie中读取 - 是否启用紧凑模式 HttpCookie menuCompactMode = Request.Cookies["EnableCompactMode_Pro"]; if (menuCompactMode != null) { _compactMode = Convert.ToBoolean(menuCompactMode.Value); } // 从Cookie中读取 - 搜索文本 HttpCookie searchText = Request.Cookies["SearchText_Pro"]; if (searchText != null) { _searchText = HttpUtility.UrlDecode(searchText.Value); } // 综合平台显示 this.MenuModule = BLL.Const.System_1; if (Request.Params["menuModule"] != null) { this.MenuModule = Request.Params["menuModule"].ToString(); } ////得到系统名称表 var systemValue = Funs.DB.Sys_System.FirstOrDefault(x => x.SystemId == MenuModule); this.lbTitle.Text = systemValue.SystemName; this.CurrUser.LoginProjectId = Request.Params["projectId"]; this.CurrUser.LoginSystemId = this.MenuModule; if (!string.IsNullOrEmpty(this.CurrUser.LoginProjectId)) { var projectName = BLL.Base_ProjectService.GetProjectName(this.CurrUser.LoginProjectId); if (!string.IsNullOrEmpty(projectName)) { this.lbTitle.Text = projectName; } } if (_menuType == "accordion") { InitAccordionMenu(); } else { InitTreeMenu(); } leftPanel.Title = "系统菜单"; } #endregion #region InitAccordionMenu private Accordion InitAccordionMenu() { Accordion accordionMenu = new Accordion(); accordionMenu.ID = "accordionMenu"; accordionMenu.EnableFill = false; accordionMenu.ShowBorder = false; accordionMenu.ShowHeader = false; leftPanel.Items.Add(accordionMenu); var dt = GetNewMenu("0"); foreach (var dr in dt) { AccordionPane accordionPane = new AccordionPane(); accordionPane.Title = dr.MenuName; accordionPane.Layout = Layout.Fit; accordionPane.ShowBorder = false; accordionPane.BodyPadding = "2px 0 0 0"; accordionMenu.Items.Add(accordionPane); Tree innerTree = new Tree(); innerTree.ShowBorder = false; innerTree.ShowHeader = false; innerTree.EnableIcons = true; innerTree.AutoScroll = true; innerTree.EnableSingleClickExpand = true; accordionPane.Items.Add(innerTree); BoundTree(innerTree.Nodes, dr.MenuId); } return accordionMenu; } /// /// 加载树 /// /// /// private void BoundTree(TreeNodeCollection nodes, string menuId) { var dt = GetNewMenu(menuId); if (menuId == "0") { if (dt.Count() > 0) { TreeNode tn = null; foreach (var dr in dt) { tn = new TreeNode(); tn.Text = dr.MenuName; tn.NodeID = dr.MenuId; if (dr.SuperMenu != "0") { tn.NavigateUrl = dr.Url; } nodes.Add(tn); BoundTree(tn.Nodes, dr.MenuId); } } } else { if (dt.Count() > 0) { TreeNode tn = null; foreach (var dr in dt) { tn = new TreeNode(); tn.Text = dr.MenuName; tn.NodeID = dr.MenuId; if (dr.SuperMenu != "0" && !string.IsNullOrEmpty(dr.Url)) { if (dr.Url.Contains("default.aspx")) { //tn.NavigateUrl=ResolveUrl("~/"+dr.Url); } else { tn.NavigateUrl = dr.Url; } } nodes.Add(tn); BoundTree(tn.Nodes, dr.MenuId); } } } } #endregion #region InitTreeMenu private Tree InitTreeMenu() { Tree treeMenu = new Tree(); treeMenu.ID = "treeMenu"; treeMenu.ShowBorder = false; treeMenu.ShowHeader = false; treeMenu.EnableIcons = true; treeMenu.AutoScroll = true; treeMenu.EnableSingleClickExpand = true; leftPanel.Items.Add(treeMenu); var dt = GetNewMenu("0"); BoundTree(treeMenu.Nodes, "0"); return treeMenu; } /// /// 得到菜单方法 /// /// /// private List GetNewMenu(string parentId) { List menu = new List(); var menuList = BLL.CommonService.GetMenuByRoleRower(this.CurrUser.UserId, this.MenuModule); if (menuList.Count() > 0) { menu = menuList.Where(x => x.SuperMenu == parentId).ToList(); } return menu; } #endregion #region 获取用户系统权限 /// /// 用户ID /// /// private void GetUserLoginSystem(string userId) { var user = BLL.Sys_UserService.GetUsersByUserId(userId); this.btnGDAZ.Visible = false; this.btnYLRQ.Visible = false; if (user != null && user.AllowLoginSystem!=null) { string[] systems = user.AllowLoginSystem.Split('|'); foreach (string sys in systems) { if (sys == BLL.Const.System_2) { btnGDAZ.Visible = true; } if (sys == BLL.Const.System_4) { btnYLRQ.Visible = true; } } } } #endregion #endregion #region Page_Load protected void Page_Load(object sender, EventArgs e) { if (!IsPostBack) { //InitSearchBox(); InitMenuStyleButton(); //InitLangMenuButton(); cbxEnableCompactMode.Checked = _compactMode; InitOnlineUserCount(); this.GetUserLoginSystem(this.CurrUser.UserId); this.InitMainPage(); } } /// /// 根据不同系统加载首页导航界面 /// private void InitMainPage() { if (MenuModule != BLL.Const.System_1) { if (MenuModule == BLL.Const.System_2) { Tab1.IFrameUrl = "~/common/mainGdazServer.aspx"; } else if (MenuModule == BLL.Const.System_3) { Tab1.IFrameUrl = "~/common/mainGdaz.aspx"; } else if (MenuModule == BLL.Const.System_4) { Tab1.IFrameUrl = "~/common/mainYlrqServer.aspx"; } else if (MenuModule == BLL.Const.System_5) { Tab1.IFrameUrl = "~/common/mainYlrq.aspx"; } else if (MenuModule == BLL.Const.System_6) { Tab1.IFrameUrl = "~/common/MainWelder.aspx"; } else if (MenuModule == BLL.Const.System_7) { Tab1.IFrameUrl = "~/common/MainWeldMat.aspx"; } else { Tab1.IFrameUrl = "~/common/main.aspx?moduleFlag=" + this.MenuModule; } } } //private void InitSearchBox() //{ // if (!String.IsNullOrEmpty(_searchText)) // { // ttbxSearch.Text = _searchText; // ttbxSearch.ShowTrigger1 = true; // } //} private void InitMenuStyleButton() { string menuStyleID = "MenuStyleTree"; HttpCookie menuStyleCookie = Request.Cookies["MenuStyle_Pro"]; if (menuStyleCookie != null) { switch (menuStyleCookie.Value) { case "menu": menuStyleID = "MenuStyleTree"; break; case "accordion": menuStyleID = "MenuStyleAccordion"; break; } } SetSelectedMenuID(MenuStyle, menuStyleID); } private void SetSelectedMenuID(MenuButton menuButton, string selectedMenuID) { foreach (MenuItem item in menuButton.Menu.Items) { MenuCheckBox checkBox = (item as MenuCheckBox); if (checkBox != null && checkBox.ID == selectedMenuID) { checkBox.Checked = true; } else { checkBox.Checked = false; } } } #endregion private void InitOnlineUserCount() { //litOnlineUserCount.Text = Application["OnlineUserCount"].ToString(); liUser.Text = this.CurrUser.UserName; } protected void btnGDAZ_Click(object sender, EventArgs e) { Response.Redirect(ResolveUrl("~/default.aspx?menuModule=2")); } protected void btnYLRQ_Click(object sender, EventArgs e) { Response.Redirect(ResolveUrl("~/default.aspx?menuModule=4")); } protected void btnWelder_Click(object sender, EventArgs e) { Response.Redirect(ResolveUrl("~/default.aspx?menuModule=6")); } protected void btnWeldMat_Click(object sender, EventArgs e) { Response.Redirect(ResolveUrl("~/default.aspx?menuModule=7")); } } }