ZHJA_HJGL/HJGL_ZH/FineUIPro.Web/default.aspx.cs

441 lines
14 KiB
C#

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 = "";
/// <summary>
/// 菜单模块
/// </summary>
public string MenuModule
{
get
{
return (string)ViewState["MenuModule"];
}
set
{
ViewState["MenuModule"] = value;
}
}
/// <summary>
/// 系统菜单路径
/// </summary>
public string Url
{
get
{
return (string)ViewState["Url"];
}
set
{
ViewState["Url"] = value;
}
}
#region Page_Init
/// <summary>
/// 加载
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
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;
}
/// <summary>
/// 加载树
/// </summary>
/// <param name="nodes"></param>
/// <param name="menuId"></param>
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;
}
/// <summary>
/// 得到菜单方法
/// </summary>
/// <param name="parentId"></param>
/// <returns></returns>
private List<Model.Sys_Menu> GetNewMenu(string parentId)
{
List<Model.Sys_Menu> menu = new List<Model.Sys_Menu>();
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
/// <summary>
/// 用户ID
/// </summary>
/// <param name="userId"></param>
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();
}
}
/// <summary>
/// 根据不同系统加载首页导航界面
/// </summary>
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"));
}
}
}