菜单权限修改

master
leo 3 years ago
parent a910c52c5a
commit 59cf0b64e7

@ -127,7 +127,8 @@ namespace FactorySystemApi.Controllers
object roleId = null;
if (selectData != null) selectData.TryGetValue("FRoleId", out roleId);
bool wantAll = selectData != null && selectData.ContainsKey("FRoleSet");
apiResult.Data = UserBll.GetMenuList(user.FID, roleId == null ? "" : roleId.ToString(), wantAll);
//apiResult.Data = UserBll.GetMenuList(user.FID, roleId == null ? "" : roleId.ToString(), wantAll);
apiResult.Data = UserBll.GetMenuList(user.FID, wantAll);
}, apiResult, Request);
}

@ -86,6 +86,60 @@ namespace FactorySystemBll
}
}
/// <summary>
/// 获取菜单权限
/// </summary>
public object GetMenuList(int userId, bool returnAll = false)
{
SqlSugarClient db = AppSettingsHelper.GetSqlSugar();
int delete = (int)Constant.DeleteCode.;
List<FPower> powers = db.Queryable<FPower>().Where(s => userId.ToString().Equals(s.FUserID)).ToList();
List<string> roles = new List<string>();
if (powers != null && powers.Count > 0)
{
powers.ForEach(power =>
{
roles.Add(power.FRole);
});
}
List<TFunction> menuList = db.Queryable<TFunction>().Where(s => s.FDeleted != delete).OrderBy(s => s.FOrder).ToList();
List<int> hasIds = db.Queryable<TRole, TRole_Right>((a, b) => new JoinQueryInfos(JoinType.Left, a.FID == b.FRoleID))
.Where((a, b) => a.FDeleted != delete && b.FType == (int)Constant.RoleType. && roles.Contains(a.FID.ToString()))
.Select((a, b) => b.FFunctionID).GroupBy("b.FFunctionID").ToList();
if (returnAll)
{
return menuList.Select(s => new
{
s.FID,
s.FIcon,
s.FParentID,
s.FName,
s.FLevel,
s.FLocation,
s.FOrder,
s.FRemark,
FIsChose = hasIds.IndexOf(s.FID) != -1
}).ToList();
}
else
{
return menuList.Where(s => hasIds.IndexOf(s.FID) != -1).Select(s => new
{
s.FID,
s.FIcon,
s.FParentID,
s.FName,
s.FLevel,
s.FLocation,
s.FOrder,
s.FRemark,
}).ToList();
}
}
/// <summary>
/// 获取其他权限
/// </summary>

Loading…
Cancel
Save