Commit 3afa0d2c by guanzhenshan

增加菜单权限控制

parent 0765965b
...@@ -44,5 +44,7 @@ namespace Bailun.DC.Models.Menu ...@@ -44,5 +44,7 @@ namespace Bailun.DC.Models.Menu
/// </summary> /// </summary>
public int delstatus { get; set; } public int delstatus { get; set; }
public List<dc_menu> childrens { get; set; }
} }
} }
using System;
using System.Collections.Generic;
using System.Text;
using Dapper;
using MySql.Data.MySqlClient;
using Bailun.DC.Models.Menu;
using System.Linq;
namespace Bailun.DC.Services
{
/// <summary>
/// 采购管理服务
/// </summary>
public class MenuServices
{
public List<Models.Menu.dc_menu> ListMenu(string username)
{
var list = new List<dc_menu>();
var obj = new List<dc_menu>();
var sql = $@"select t1.* from dc_menu t1
join dc_menu_permission t2 on t1.id = t2.menuid and t2.delstatus = 0 and t2.username = '{username}'
where t1.delstatus = 0
union all
select* from dc_menu where 1 = (select isall from dc_menu_permission where username = '{username}' and isall = 1 and delstatus = 0)";
using (var cn = new MySqlConnection(Common.GlobalConfig.ConnectionString))
{
if (cn.State == System.Data.ConnectionState.Closed)
{
cn.Open();
}
obj = cn.Query<dc_menu>(sql, null, null, true, 2 * 60).ToList();
}
foreach (var item in obj.Where(a=>a.parentid==0))
{
GetChildrens(item, obj);
list.Add(item);
}
return list;
}
/// <summary>
/// 检测用户是否有权限访问菜单
/// </summary>
/// <param name="menuname">菜单名称</param>
/// <param name="username">用户名</param>
/// <returns></returns>
public bool CheckPermission(string menuname, string username)
{
var sql = $@"select count(id) from (select t1.* from dc_menu t1
join dc_menu_permission t2 on t1.id=t2.menuid and t2.delstatus=0 and t2.username='{username}'
where t1.delstatus=0 and t1.name='{menuname}'
union all
select * from dc_menu where 1 = (select isall from dc_menu_permission where username='{username}' and isall=1 and delstatus=0)) tb";
using (var cn = new MySqlConnection(Common.GlobalConfig.ConnectionString))
{
if (cn.State == System.Data.ConnectionState.Closed)
{
cn.Open();
}
var result = cn.QueryFirstOrDefault<int>(sql, null, null, 2 * 60);
return result > 0;
}
}
#region Private
private void GetChildrens(dc_menu m, List<dc_menu> list)
{
m.childrens = new List<dc_menu>();
var childrens = list.Where(a => a.parentid == m.id);
if (childrens.Count() > 0)
{
foreach(var item in childrens)
{
GetChildrens(item, list);
m.childrens.Add(item);
}
}
}
#endregion
}
}
...@@ -51,6 +51,9 @@ namespace Bailun.DC.Web.Controllers ...@@ -51,6 +51,9 @@ namespace Bailun.DC.Web.Controllers
HttpContext.Response.Cookies.Append("companyid", companyid+""); HttpContext.Response.Cookies.Append("companyid", companyid+"");
var listMenu = new Services.MenuServices().ListMenu(username);
ViewBag.menus = listMenu;
return View(); return View();
} }
......
...@@ -65,336 +65,51 @@ ...@@ -65,336 +65,51 @@
@if (ViewBag.allcompany == 1 || ViewBag.companyid == 1) @if (ViewBag.allcompany == 1 || ViewBag.companyid == 1)
{ {
if (ViewBag.menus.Count > 0)
<li> {
<a href="#"> foreach (var item in ViewBag.menus)
<i class="fa fa-pie-chart"></i> {
<span class="nav-label">库存</span>
<span class="fa arrow"></span>
</a>
<ul class="nav nav-second-level">
<li>
<a href="#">
<i class="fa fa-refresh"></i>
<span class="nav-label">库存周转报表</span>
<span class="fa arrow"></span>
</a>
<ul class="nav nav-third-level">
<li>
<a class="J_menuItem" href="@Url.Content("~/Reports/Inventory/DataWareHouse")" data-index="0" style="padding-left:74px;">
<span class="nav-label">数据仓</span>
</a>
</li>
<li>
<a class="J_menuItem" href="@Url.Content("~/Reports/Inventory/WarehouseSaleReport")" data-index="0" style="padding-left:74px;">
<span class="nav-label">数据仓销量分析</span>
</a>
</li>
<li>
<a class="J_menuItem" href="@Url.Content("~/Reports/Warehouse/LogicWarehouse")" data-index="0" style="padding-left:74px;">逻辑仓库</a>
</li>
<li>
<a class="J_menuItem" href="@Url.Content("~/Reports/Sku/ListSku")" data-index="0" style="padding-left:74px;">Sku</a>
</li>
</ul>
</li>
<li> <li>
<a href="#"> <a href="#">
<i class="fa fa-refresh"></i> <i class="@item.icon"></i>
<span class="nav-label">库存财务报表</span> <span class="nav-label">@item.name</span>
<span class="fa arrow"></span> <span class="fa arrow"></span>
</a> </a>
<ul class="nav nav-third-level"> <ul class="nav nav-second-level">
<li> @if (item.childrens.Count > 0)
<a class="J_menuItem" href="@Url.Content("~/Reports/Inventory/SkuInventory")" data-index="0" style="padding-left:74px;"> {
<span class="nav-label">Sku库存分析报表</span> foreach (var f_level in item.childrens)
</a> {
</li> <li>
@if (f_level.childrens.Count > 0)
{
<a href="#">
<i class="@f_level.icon"></i>
<span class="nav-label">@f_level.name</span>
<span class="fa arrow"></span>
</a>
<ul class="nav nav-third-level">
@foreach (var s_level in f_level.childrens) {
<li>
<a class="J_menuItem" href="@Url.Content("~"+s_level.path)" data-index="0" style="padding-left:74px;">
<span class="nav-label">@s_level.name</span>
</a>
</li>
}
</ul>
}
else {
<a class="J_menuItem" href="@Url.Content("~"+f_level.path)" data-index="0" style="padding-left:74px;">
<span class="nav-label">@f_level.name</span>
</a>
}
</li>
}
}
</ul> </ul>
</li> </li>
<li> }
<a class="J_menuItem" href="@Url.Content("~/Reports/Warehouse/WarehouseRedundancy")" data-index="0">仓库库存分析报表</a> }
</li>
<li>
<a class="J_menuItem" href="@Url.Content("~/Reports/Sku/ListInventoryAging")" data-index="0">库龄列表</a>
</li>
</ul>
</li>
<li>
<a href="#">
<i class="fa fa-list"></i>
<span class="nav-label">订单</span>
<span class="fa arrow"></span>
</a>
<ul class="nav nav-second-level">
<li>
<a class="J_menuItem" href="@Url.Content("~/Reports/Purchase/ListPurchase")" data-index="0">
<span>采购单</span>
</a>
</li>
<li>
<a class="J_menuItem" href="@Url.Content("~/Reports/Allot/ListAllot")" data-index="0">
<span>调拨单</span>
</a>
</li>
<li>
<a class="J_menuItem" href="@Url.Content("~/Reports/Orders/SkuOrderList")" data-index="0">
<span>非fba销售订单</span>
</a>
</li>
<li>
<a class="J_menuItem" href="@Url.Content("~/Reports/Orders/FBASkuOrderList")" data-index="0">
<span>fba销售订单</span>
</a>
</li>
<li>
<a class="J_menuItem" href="@Url.Content("~/Reports/Orders/OrderSaleCount")" data-index="0">
<span>订单汇总</span>
</a>
</li>
@*<li>
<a class="J_menuItem" href="@Url.Content("~/Reports/Orders/OrderRefundDetails")" data-index="0">
<span>退款单明细</span>
</a>
</li>*@
<li>
<a class="J_menuItem" href="@Url.Content("~/Reports/Orders/DepositReceived")" data-index="0">
<span>预收款明细</span>
</a>
</li>
</ul>
</li>
<li>
<a href="#">
<i class="fa fa-bar-chart"></i>
<span class="nav-label">统计</span>
<span class="fa arrow"></span>
</a>
<ul class="nav nav-second-level">
<li>
<a href="javascript:;">
<i class="fa fa-money"></i>
<span class="nav-label">亚马逊</span>
<span class="fa arrow"></span>
</a>
<ul class="nav nav-third-level">
<li>
<a class="J_menuItem" href="@Url.Content("~/Reports/Orders/AmazonSaleStatistics")" data-index="0" style="padding-left:74px;">
<span>非FBA销售统计</span>
</a>
</li>
<li>
<a class="J_menuItem" href="@Url.Content("~/Reports/Orders/StatisticsByWebsite?platform=Amazon")" data-index="0" style="padding-left:74px;">
<span>非FBA站点销售统计</span>
</a>
</li>
<li>
<a class="J_menuItem" href="@Url.Content("~/Reports/Orders/FBASaleStatistics")" data-index="0" style="padding-left:74px;">
<span>FBA销售统计</span>
</a>
</li>
<li>
<a class="J_menuItem" href="@Url.Content("~/Reports/Orders/StatisticsByWebsite?platform=FBA")" data-index="0" style="padding-left:74px;">
<span>FBA站点销售统计</span>
</a>
</li>
<li>
<a class="J_menuItem" href="@Url.Content("~/Reports/Orders/ListOrder?platform=Amazon")" data-index="0" style="padding-left:74px;">
<span>订单流水</span>
</a>
</li>
<li>
<a class="J_menuItem" href="@Url.Content("~/Reports/Orders/FinanceFee?platform=Amazon")" data-index="0" style="padding-left:74px;">
<span>财务费用</span>
</a>
</li>
<li>
<a class="J_menuItem" href="@Url.Content("~/Reports/Orders/FBAAbnormalOrder")" data-index="0" style="padding-left:74px;">
<span>FBA异常订单</span>
</a>
</li>
<li>
<a class="J_menuItem" href="@Url.Content("~/Reports/Orders/PlatformFeeAbnormal?platform=Amazon")" data-index="0" style="padding-left:74px;">
<span>平台费异常订单</span>
</a>
</li>
<li>
<a class="J_menuItem" href="@Url.Content("~/Reports/Orders/ListPlatformCost?p=Amazon")" data-index="0" style="padding-left:74px;">
<span>自发货平台费用流水</span>
</a>
</li>
<li>
<a class="J_menuItem" href="@Url.Content("~/Reports/Orders/ListPlatformCost?p=FBA")" data-index="0" style="padding-left:74px;">
<span>FBA平台费用流水</span>
</a>
</li>
<li>
<a class="J_menuItem" href="@Url.Content("~/Reports/Orders/ListReturn?platform=Amazon")" data-index="0" style="padding-left:74px;">
<span>亚马逊退款流水</span>
</a>
</li>
<li>
<a class="J_menuItem" href="@Url.Content("~/Reports/Orders/ListReturn?platform=FBA")" data-index="0" style="padding-left:74px;">
<span>FBA退款流水</span>
</a>
</li>
<li>
<a class="J_menuItem" href="@Url.Content("~/Reports/Orders/AmazonAD")" data-index="0" style="padding-left:74px">
<span>Amazon广告费</span>
</a>
</li>
</ul>
</li>
<li>
<a href="javascript:;">
<i class="fa fa-money"></i>
<span class="nav-label">Ebay</span>
<span class="fa arrow"></span>
</a>
<ul class="nav nav-third-level">
<li>
<a class="J_menuItem" href="@Url.Content("~/Reports/Orders/EbaySaleStatistics")" data-index="0" style="padding-left:74px;">
<span>Ebay销售统计</span>
</a>
</li>
<li>
<a class="J_menuItem" href="@Url.Content("~/Reports/Orders/StatisticsByWebsite?platform=Ebay")" data-index="0" style="padding-left:74px;">
<span>Ebay站点销售统计</span>
</a>
</li>
<li>
<a class="J_menuItem" href="@Url.Content("~/Reports/Orders/ListOrder?platform=Ebay")" data-index="0" style="padding-left:74px;">
<span>已发货订单流水</span>
</a>
</li>
<li>
<a class="J_menuItem" href="@Url.Content("~/Reports/Orders/ListEbayOrder")" data-index="0" style="padding-left:74px;">
<span>所有订单流水</span>
</a>
</li>
<li>
<a class="J_menuItem" href="@Url.Content("~/Reports/Orders/ListPlatformCost?p=Ebay")" data-index="0" style="padding-left:74px;">
<span>Ebay平台费用流水</span>
</a>
</li>
<li>
<a class="J_menuItem" href="@Url.Content("~/Reports/Orders/EbayPutAwayFee")" data-index="0" style="padding-left:74px">
<span>上架费列表</span>
</a>
</li>
<li>
<a class="J_menuItem" href="@Url.Content("~/Reports/Orders/EbayADFee")" data-index="0" style="padding-left:74px">
<span>Ebay广告费</span>
</a>
</li>
<li>
<a class="J_menuItem" href="@Url.Content("~/Reports/Orders/ExchangeLossFee")" data-index="0" style="padding-left:74px">
<span>汇损费列表</span>
</a>
</li>
<li>
<a class="J_menuItem" href="@Url.Content("~/Reports/Orders/ListReturn?platform=Ebay")" data-index="0" style="padding-left:74px;">
<span>EBay退款流水</span>
</a>
</li>
<li>
<a class="J_menuItem" href="@Url.Content("~/Reports/Orders/ListPaypal")" data-index="0" style="padding-left:74px;">
<span>EBay Paypal流水</span>
</a>
</li>
</ul>
</li>
<li>
<a href="javascript:;">
<i class="fa fa-money"></i>
<span class="nav-label">AliExpress</span>
<span class="fa arrow"></span>
</a>
<ul class="nav nav-third-level">
<li>
<a class="J_menuItem" href="@Url.Content("~/Reports/Orders/AliexpressAD")" data-index="0" style="padding-left:74px">
<span>AliExpress广告费</span>
</a>
</li>
</ul>
</li>
<li>
<a class="J_menuItem" href="@Url.Content("~/Reports/Orders/PlatformProfitCount")" data-index="0">
<i class="fa fa-money"></i>
<span>平台利润统计</span>
</a>
</li>
<li>
<a class="J_menuItem" href="@Url.Content("~/Reports/WareHouse/ListWarehouseProfit")" data-index="0">
<i class="fa fa-money"></i>
<span>仓库利润统计</span>
</a>
</li>
<li>
<a class="J_menuItem" href="@Url.Content("~/Reports/WareHouse/ListSkuProfit")" data-index="0">
<i class="fa fa-money"></i>
<span>SKU利润统计</span>
</a>
</li>
<li>
<a class="J_menuItem" href="@Url.Content("~/Reports/Orders/ListReturn")" data-index="0">
<i class="fa fa-money"></i>
<span>平台退款流水</span>
</a>
</li>
</ul>
</li>
<li>
<a href="#">
<i class="fa fa-usd"></i>
<span class="nav-label">财务报表</span>
<span class="fa arrow"></span>
</a>
<ul class="nav nav-second-level">
<li>
<a class="J_menuItem" href="@Url.Content("~/Reports/Finance/Index2")" data-index="0">资产负债表</a>
</li>
<li>
<a class="J_menuItem" href="@Url.Content("~/Reports/Finance/ListAccoutBalanceCount")" data-index="0">平台余额</a>
</li>
<li>
<a class="J_menuItem" href="@Url.Content("~/Reports/Finance/DailySalesCount")" data-index="0">每日销售额</a>
</li>
<li>
<a class="J_menuItem" href="@Url.Content("~/Reports/Finance/AdministrativeCost")" data-index="0">管理成本报表</a>
</li>
<li>
<a class="J_menuItem" href="@Url.Content("~/Reports/Warehouse/DailyPurchaseSalesCount")" data-index="0">每日销进差异汇总</a>
</li>
<li>
<a class="J_menuItem" href="@Url.Content("~/Reports/Finance/HappenAmountCount")" data-index="0">每日发生额汇总</a>
</li>
<li>
<a class="J_menuItem" href="@Url.Content("~/Reports/Finance/ListEbayIncome")" data-index="0">Paypal收入流水</a>
</li>
<li>
<a class="J_menuItem" href="@Url.Content("~/Reports/Finance/ListPaypalIncomeAnalyze")" data-index="0">Paypal分录信息</a>
</li>
</ul>
</li>
<li>
<a href="#">
<i class="fa fa-usd"></i>
<span class="nav-label">数据分析</span>
<span class="fa arrow"></span>
</a>
<ul class="nav nav-second-level">
<li>
<a class="J_menuItem" href="@Url.Content("~/Logistics/Home/EbayUkReport")" data-index="0">EbayUK平邮比例</a>
</li>
<li>
<a class="J_menuItem" href="@Url.Content("~/Reports/Sku/ListSkuDiffWeigh")" data-index="0">Sku发货重量差异</a>
</li>
</ul>
</li>
} }
else else
{ {
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment