using System.Collections.Generic;
|
using System.Linq;
|
using System.Text;
|
using System.Web.Routing;
|
using BLL;
|
using Model;
|
namespace Lib
|
{
|
public class MasterPage : MainPage
|
{
|
|
protected override void Initialize(RequestContext requestContext)
|
{
|
base.Initialize(requestContext);
|
|
ViewBag.SoftName = "自动化仓储管理系统";
|
//SetMenu();
|
SetMenuNew();
|
|
SetNav();
|
}
|
|
|
/// <summary>
|
/// 根据登录用的角色加载菜单信息
|
/// </summary>
|
private void SetMenu()
|
{
|
StringBuilder sb = new StringBuilder();
|
|
if (IsLogin())
|
{
|
List<ResMenu> list = new List<ResMenu>();
|
|
IDALGerUserMenu provider = new DALGetUserMenu();
|
list = provider.GetList(this.LoginUserCode).ToList();
|
UserMenu = list;
|
|
UserGetBtn btns = new UserGetBtn();
|
btns.UserCode = this.LoginUserCode;
|
|
List<GetBtn> getBtns = new List<GetBtn>();
|
|
if (list.Count > 0)
|
{
|
foreach (ResMenu parent in list.Where(a => string.IsNullOrEmpty(a.ParentName)))
|
{
|
StringBuilder sbChild = new StringBuilder();
|
sbChild.AppendFormat("<ul class=\"sub\">");
|
bool flag = false;
|
bool exists = false;
|
|
foreach (ResMenu child in list.Where(a => a.ParentName == parent.ResName))
|
{
|
|
flag = child.Url.Substring(0, child.Url.LastIndexOf('/')).ToLower() == this.Path.Substring(0, this.Path.LastIndexOf('/')).ToLower()
|
// || (!child.Children.IsNullOrEmpty() && child.Children.Exists(c => c.Url.ToLower() == this.Path.ToLower()))
|
;
|
GetBtn getBtn = new GetBtn();
|
|
List<ResMenu> res = list.Where(a => a.ParentName == child.ResName).ToList<ResMenu>();
|
|
|
if (res.Where(a => (a.ResName.IndexOf("新增") >= 0)).ToList<ResMenu>().Count == 0) getBtn.Add = "dis"; else getBtn.Add = "";
|
if (res.Where(a => (a.ResName.IndexOf("编辑") >= 0)).ToList<ResMenu>().Count == 0) getBtn.Edit = "dis"; else getBtn.Edit = "";
|
if (res.Where(a => (a.ResName.IndexOf("删除") >= 0)).ToList<ResMenu>().Count == 0) getBtn.Del = "dis"; else getBtn.Del = "";
|
if (res.Where(a => (a.ResName.IndexOf("下单") >= 0)).ToList<ResMenu>().Count == 0) getBtn.Send = "dis"; else getBtn.Send = "";
|
if (res.Where(a => (a.ResName.IndexOf("关单") >= 0)).ToList<ResMenu>().Count == 0) getBtn.Close = "dis"; else getBtn.Close = "";
|
if (res.Where(a => (a.ResName.IndexOf("审核") >= 0)).ToList<ResMenu>().Count == 0) getBtn.Audit = "dis"; else getBtn.Audit = "";
|
if (res.Where(a => (a.ResName.IndexOf("刷新") >= 0)).ToList<ResMenu>().Count == 0) getBtn.Refresh = "dis"; else getBtn.Refresh = "";
|
if (res.Where(a => (a.ResName.IndexOf("导入") >= 0)).ToList<ResMenu>().Count == 0) getBtn.Input = "dis"; else getBtn.Input = "";
|
if (res.Where(a => (a.ResName.IndexOf("导出") >= 0)).ToList<ResMenu>().Count == 0) getBtn.Output = "dis"; else getBtn.Output = "";
|
if (res.Where(a => (a.ResName.IndexOf("打印") >= 0)).ToList<ResMenu>().Count == 0) getBtn.Print = "dis"; else getBtn.Print = "";
|
if (res.Where(a => (a.ResName.IndexOf("分配权限") >= 0)).ToList<ResMenu>().Count == 0) getBtn.Permission = "dis"; else getBtn.Permission = "";
|
if (res.Where(a => (a.ResName.IndexOf("合格") >= 0)).ToList<ResMenu>().Count == 0) getBtn.SignYes = "dis"; else getBtn.SignYes = "";
|
if (res.Where(a => (a.ResName.IndexOf("不合格") >= 0)).ToList<ResMenu>().Count == 0) getBtn.SignNo = "dis"; else getBtn.SignNo = "";
|
if (res.Where(a => (a.ResName.IndexOf("合格") >= 0)).ToList<ResMenu>().Count == 0) getBtn.SignYes = "dis"; else getBtn.SignYes = "";
|
if (res.Where(a => (a.ResName.IndexOf("启用") >= 0)).ToList<ResMenu>().Count == 0) getBtn.Start = "dis"; else getBtn.Start = "";
|
if (res.Where(a => (a.ResName.IndexOf("停用") >= 0)).ToList<ResMenu>().Count == 0) getBtn.Stop = "dis"; else getBtn.Stop = "";
|
if (res.Where(a => (a.ResName.IndexOf("属性") >= 0)).ToList<ResMenu>().Count == 0) getBtn.Property = "dis"; else getBtn.Property = "";
|
if (res.Where(a => (a.ResName.IndexOf("锁定") >= 0)).ToList<ResMenu>().Count == 0) getBtn.ALock = "dis"; else getBtn.ALock = "";
|
if (res.Where(a => (a.ResName.IndexOf("解锁") >= 0)).ToList<ResMenu>().Count == 0) getBtn.ULock = "dis"; else getBtn.ULock = "";
|
if (res.Where(a => (a.ResName.IndexOf("封存") >= 0)).ToList<ResMenu>().Count == 0) getBtn.ALock = "dis"; else getBtn.ALock = "";
|
if (res.Where(a => (a.ResName.IndexOf("解封") >= 0)).ToList<ResMenu>().Count == 0) getBtn.ULock = "dis"; else getBtn.ULock = "";
|
if (res.Where(a => (a.ResName.IndexOf("完成") >= 0)).ToList<ResMenu>().Count == 0) getBtn.Complete = "dis"; else getBtn.Complete = "";
|
if (res.Where(a => (a.ResName.IndexOf("取消") >= 0)).ToList<ResMenu>().Count == 0) getBtn.Cancel = "dis"; else getBtn.Cancel = "";
|
if (res.Where(a => (a.ResName.IndexOf("回传") >= 0)).ToList<ResMenu>().Count == 0) getBtn.BackHaul = "dis"; else getBtn.BackHaul = "";
|
if (res.Where(a => (a.ResName.IndexOf("回库") >= 0)).ToList<ResMenu>().Count == 0) getBtn.to = "dis"; else getBtn.to = "";
|
|
getBtn.PrantName = child.ResName;
|
getBtns.Add(getBtn);
|
|
if (flag)
|
{
|
exists = true;
|
}
|
sbChild.AppendFormat("<li {0}><a href=\"{1}\">{2}</a></li>", flag ? "class=\"active\"" : "", string.IsNullOrEmpty(child.Url) ? "javascript:void(0)" : child.Url, child.ResName);
|
}
|
sbChild.AppendFormat("</ul>");
|
|
sb.AppendFormat("<li class=\"has-sub {0}\">", exists ? "active" : "");
|
sb.AppendFormat("<a href=\"javascript:void(0);\">");
|
sb.AppendFormat("<i class=\"{0}\"></i>", parent.CssName == null ? "icon-bookmark-empty" : parent.CssName);
|
sb.AppendFormat("<span class=\"title\">{0}</span>", parent.ResName);
|
sb.AppendFormat("<span class=\"arrow {0}\"></span>", exists ? "open" : "");
|
sb.AppendFormat("</a>");
|
sb.Append(sbChild.ToString());
|
sb.AppendFormat("</li>");
|
}
|
}
|
|
btns.Btns = getBtns;
|
|
UserBtn = btns;
|
}
|
ViewBag.MenuItems = sb.ToString();
|
}
|
|
|
private void SetMenuNew()
|
{
|
StringBuilder sb = new StringBuilder();
|
|
if (IsLogin())
|
{
|
List<ResMenu> list = new List<ResMenu>();
|
|
IDALGerUserMenu provider = new DALGetUserMenu();
|
list = provider.GetList(this.LoginUserCode).ToList();
|
UserMenu = list;
|
|
UserGetBtn btns = new UserGetBtn();
|
btns.UserCode = this.LoginUserCode;
|
List<GetBtn> getBtns = new List<GetBtn>();
|
|
if (list.Count > 0)
|
{
|
foreach (ResMenu parent in list.Where(a => string.IsNullOrEmpty(a.ParentName)))
|
{
|
int i = 1;
|
sb.AppendFormat("<dl >");
|
sb.AppendFormat("<dt id = '{0}' class='{1}' onclick=\"ShowMenuList('{2}')\"> {3} </dt> ", "dt_" + parent.ResNum, "head1", parent.ResNum, parent.ResName);
|
sb.AppendFormat("<ul class='box_n' id='{0}' style='display: none;' >", parent.ResNum);
|
|
bool flag = false;
|
bool exists = false;
|
foreach (ResMenu child in list.Where(a => a.ParentName == parent.ResName))
|
{
|
flag = child.Url.Substring(0, child.Url.LastIndexOf('/')).ToLower() == this.Path.Substring(0, this.Path.LastIndexOf('/')).ToLower();
|
|
GetBtn getBtn = new GetBtn();
|
List<ResMenu> res = list.Where(a => a.ParentName == child.ResName).ToList<ResMenu>();
|
if (res.Where(a => (a.ResName.IndexOf("新增") >= 0)).ToList<ResMenu>().Count == 0) getBtn.Add = "dis"; else getBtn.Add = "";
|
if (res.Where(a => (a.ResName.IndexOf("编辑") >= 0)).ToList<ResMenu>().Count == 0) getBtn.Edit = "dis"; else getBtn.Edit = "";
|
if (res.Where(a => (a.ResName.IndexOf("批量修改") >= 0)).ToList<ResMenu>().Count == 0) getBtn.Edits = "dis"; else getBtn.Edits = "";
|
if (res.Where(a => (a.ResName.IndexOf("删除") >= 0)).ToList<ResMenu>().Count == 0) getBtn.Del = "dis"; else getBtn.Del = "";
|
if (res.Where(a => (a.ResName.IndexOf("结批") >= 0)).ToList<ResMenu>().Count == 0) getBtn.jiePi = "dis"; else getBtn.jiePi = "";
|
if (res.Where(a => (a.ResName.IndexOf("执行") >= 0)).ToList<ResMenu>().Count == 0) getBtn.run = "dis"; else getBtn.run = "";
|
if (res.Where(a => (a.ResName.IndexOf("出库") >= 0)).ToList<ResMenu>().Count == 0) getBtn.Out = "dis"; else getBtn.Out = "";
|
if (res.Where(a => (a.ResName.IndexOf("组盘") >= 0)).ToList<ResMenu>().Count == 0) getBtn.Send = "dis"; else getBtn.Send = "";
|
//if (res.Where(a => (a.ResName.IndexOf("下单") >= 0)).ToList<ResMenu>().Count == 0) getBtn.Send = "dis"; else getBtn.Send = "";
|
if (res.Where(a => (a.ResName.IndexOf("关单") >= 0)).ToList<ResMenu>().Count == 0) getBtn.Close = "dis"; else getBtn.Close = "";
|
if (res.Where(a => (a.ResName.IndexOf("审核") >= 0)).ToList<ResMenu>().Count == 0) getBtn.Audit = "dis"; else getBtn.Audit = "";
|
if (res.Where(a => (a.ResName.IndexOf("刷新") >= 0)).ToList<ResMenu>().Count == 0) getBtn.Refresh = "dis"; else getBtn.Refresh = "";
|
if (res.Where(a => (a.ResName.IndexOf("导入") >= 0)).ToList<ResMenu>().Count == 0) getBtn.Input = "dis"; else getBtn.Input = "";
|
if (res.Where(a => (a.ResName.IndexOf("导出") >= 0)).ToList<ResMenu>().Count == 0) getBtn.Output = "dis"; else getBtn.Output = "";
|
if (res.Where(a => (a.ResName.IndexOf("打印") >= 0)).ToList<ResMenu>().Count == 0) getBtn.Print = "dis"; else getBtn.Print = "";
|
if (res.Where(a => (a.ResName.IndexOf("分配权限") >= 0)).ToList<ResMenu>().Count == 0) getBtn.Permission = "dis"; else getBtn.Permission = "";
|
if (res.Where(a => (a.ResName.IndexOf("重置") >= 0)).ToList<ResMenu>().Count == 0) getBtn.Reset = "dis"; else getBtn.Reset = "";
|
if (res.Where(a => (a.ResName.IndexOf("盘点出库") >= 0)).ToList<ResMenu>().Count == 0) getBtn.Stocktaking = "dis"; else getBtn.Stocktaking = "";
|
if (res.Where(a => (a.ResName.IndexOf("自动出库") >= 0)).ToList<ResMenu>().Count == 0) getBtn.Autotaking = "dis"; else getBtn.Autotaking = "";
|
if (res.Where(a => (a.ResName.IndexOf("生成任务") >= 0)).ToList<ResMenu>().Count == 0) getBtn.Buildtask = "dis"; else getBtn.Buildtask = "";
|
if (res.Where(a => (a.ResName.IndexOf("调整库存") >= 0)).ToList<ResMenu>().Count == 0) getBtn.Setstock = "dis"; else getBtn.Setstock = "";
|
if (res.Where(a => (a.ResName.IndexOf("合格") >= 0)).ToList<ResMenu>().Count == 0) getBtn.SignYes = "dis"; else getBtn.SignYes = "";
|
if (res.Where(a => (a.ResName.IndexOf("不合格") >= 0)).ToList<ResMenu>().Count == 0) getBtn.SignNo = "dis"; else getBtn.SignNo = "";
|
if (res.Where(a => (a.ResName.IndexOf("合格") >= 0)).ToList<ResMenu>().Count == 0) getBtn.SignYes = "dis"; else getBtn.SignYes = "";
|
if (res.Where(a => (a.ResName.IndexOf("启用") >= 0)).ToList<ResMenu>().Count == 0) getBtn.Start = "dis"; else getBtn.Start = "";
|
if (res.Where(a => (a.ResName.IndexOf("停用") >= 0)).ToList<ResMenu>().Count == 0) getBtn.Stop = "dis"; else getBtn.Stop = "";
|
if (res.Where(a => (a.ResName.IndexOf("属性") >= 0)).ToList<ResMenu>().Count == 0) getBtn.Property = "dis"; else getBtn.Property = "";
|
if (res.Where(a => (a.ResName.IndexOf("锁定") >= 0)).ToList<ResMenu>().Count == 0) getBtn.ALock = "dis"; else getBtn.ALock = "";
|
if (res.Where(a => (a.ResName.IndexOf("解锁") >= 0)).ToList<ResMenu>().Count == 0) getBtn.ULock = "dis"; else getBtn.ULock = "";
|
if (res.Where(a => (a.ResName.IndexOf("封存") >= 0)).ToList<ResMenu>().Count == 0) getBtn.ALock = "dis"; else getBtn.ALock = "";
|
if (res.Where(a => (a.ResName.IndexOf("解封") >= 0)).ToList<ResMenu>().Count == 0) getBtn.ULock = "dis"; else getBtn.ULock = "";
|
if (res.Where(a => (a.ResName.IndexOf("处理") >= 0)).ToList<ResMenu>().Count == 0) getBtn.Dispose = "dis"; else getBtn.Dispose = "";
|
if (res.Where(a => (a.ResName.IndexOf("完成") >= 0)).ToList<ResMenu>().Count == 0) getBtn.Complete = "dis"; else getBtn.Complete = "";
|
if (res.Where(a => (a.ResName.IndexOf("取消") >= 0)).ToList<ResMenu>().Count == 0) getBtn.Cancel = "dis"; else getBtn.Cancel = "";
|
if (res.Where(a => (a.ResName.IndexOf("回传") >= 0)).ToList<ResMenu>().Count == 0) getBtn.BackHaul = "dis"; else getBtn.BackHaul = "";
|
if (res.Where(a => (a.ResName.IndexOf("详情") >= 0)).ToList<ResMenu>().Count == 0) getBtn.xiangqing = "dis"; else getBtn.xiangqing = "";
|
|
getBtn.PrantName = child.ResName;
|
getBtns.Add(getBtn);
|
if (flag)
|
{
|
exists = true;
|
}
|
|
sb.AppendFormat("<li><a href = '#' onclick=\"goNewPage({0})\";>{1}</a></li>", "'" + child.Url + "','" + child.ResName + "'", child.ResName);
|
}
|
|
sb.AppendFormat("</ul>");
|
sb.AppendFormat("</dl>");
|
|
i++;
|
}
|
}
|
|
btns.Btns = getBtns;
|
UserBtn = btns;
|
}
|
ViewBag.MenuItems = sb.ToString();
|
|
}
|
|
/// <summary>
|
/// 设置导航信息
|
/// </summary>
|
private void SetNav()
|
{
|
StringBuilder sb = new StringBuilder();
|
sb.Append("<ul class=\"breadcrumb\">");
|
sb.Append("<li>");
|
sb.Append("<i class=\"icon-home\"></i>");
|
sb.Append("<a href=\"/Home/Index\">首页</a>");
|
sb.Append("<i class=\"icon-angle-right\"></i>");
|
sb.Append("</li>");
|
if (IsLogin())
|
{
|
List<ResMenu> list = new List<ResMenu>();
|
if (UserMenu == null)
|
{
|
IDALGerUserMenu provider = new DALGetUserMenu();
|
list = provider.GetList(this.LoginUserCode).ToList();
|
UserMenu = list;
|
}
|
else
|
list = UserMenu;
|
|
if (list.Count > 0)
|
{
|
ResMenu item = list.SingleOrDefault(a => (a.Url != null && a.Url.ToLower() == this.Path.ToLower()));
|
List<ResMenu> listResult = new List<ResMenu>();
|
if (item != null)
|
{
|
ViewBag.ResMenuName = item.ResName;
|
List<GetBtn> getBtns = UserBtn.Btns.Where(a => a.PrantName == item.ResName).ToList<GetBtn>();
|
ViewBag.Btns = getBtns.Count > 0 ? getBtns[0] : null;
|
//ViewBag.Btns.Add;
|
}
|
while (item != null)
|
{
|
|
listResult.Insert(0, item);
|
|
if (string.IsNullOrEmpty(item.ParentName))
|
{
|
break;
|
}
|
else
|
{
|
if (list.Exists(a => a.ResNum == item.ParentName))
|
{
|
item = list.First(a => a.ResNum == item.ParentName);
|
}
|
else
|
{
|
break;
|
}
|
}
|
}
|
for (int i = 0; i < listResult.Count; i++)
|
{
|
if (i != listResult.Count - 1)
|
{
|
sb.Append("<li>");
|
sb.AppendFormat("<a href=\"{0}\">{1}</a>", string.IsNullOrEmpty(listResult[i].Url) ? "javascript:void(0)" : listResult[i].Url, listResult[i].ResName);
|
sb.Append("<i class=\"icon-angle-right\"></i>");
|
sb.Append("</li>");
|
}
|
else
|
{
|
sb.Append("<li>");
|
sb.AppendFormat("<a href=\"javascript:void(0)\">{0}</a>", listResult[i].ResName);
|
sb.Append("</li>");
|
}
|
}
|
}
|
}
|
sb.Append("</ul>");
|
ViewBag.NavMenu = sb.ToString();
|
}
|
|
}
|
}
|