using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.UI; using System.Web.UI.WebControls; using CY.BLL; using CY.Model; using CY.Infrastructure.Common; using System.Data; namespace CY.WebForm.Pages.personnel { //吴辉 //角色管理 public partial class FirmRoleList : BasePage { Sys_Permissions_UserCaseBLL bll_Sys_Permissions_UserCaseBLL = null; Sys_Permissions_MenuBLL bll_Sys_Permissions_MenuBLL = null; OA_FirmRoleBLL bll_OA_FirmRoleBLL = null; Sys_Permissions_RoleBLL bll_Sys_Permissions_RoleBLL = null; public static string treeHtml = ""; //树形参数 public static string selHtml = ""; //下拉框内容 //实例化 public FirmRoleList() { bll_Sys_Permissions_UserCaseBLL = new Sys_Permissions_UserCaseBLL(); bll_Sys_Permissions_MenuBLL = new Sys_Permissions_MenuBLL(); bll_OA_FirmRoleBLL = new OA_FirmRoleBLL(); bll_Sys_Permissions_RoleBLL = new Sys_Permissions_RoleBLL(); } //页面加载 protected void Page_Load(object sender, EventArgs e) { if (!IsPostBack) { InitialData(); } if (Request["delete"] != null && Request["delete"].ToInt32() > 0) { OA_FirmRole model = bll_OA_FirmRoleBLL.SelectModel(Request["delete"].ToInt32()); if (model != null && model.Keyid > 0) { if (bll_OA_FirmRoleBLL.DeleteModel(model)) Response.Redirect("/Pages/personnel/FirmRoleList.aspx"); else JavaScript.MessageBox("删除失败", this); InitialData(); } } } //获取遍历结果 public void InitialData() { var youxiao = this.selSPS_Department.Value.ToInt32(); var oA_FirmRoles = bll_OA_FirmRoleBLL.SelectList(CurrentUser.MemberId); if (youxiao>0) { if (youxiao == 1) { oA_FirmRoles = oA_FirmRoles.Where(x => x.IsUsed == true); } else if (youxiao == 2) { oA_FirmRoles = oA_FirmRoles.Where(x => x.IsUsed == false); } } treeHtml = "{GetMenuRoleId:'0', id: 99999, parentId: 900009, name: '最高权限', open: true },"; this.RepClientList.DataSource = oA_FirmRoles;// bll_OA_FirmRoleBLL.SelectList(CurrentUser.MemberId); this.RepClientList.DataBind(); Sys_Permissions_UserRoleRelation m_Sys_Permissions_UserRoleRelation = bll_Sys_Permissions_RoleBLL.SelectSys_Permissions_UserRoleRelation(CurrentUser.MemberId); if (m_Sys_Permissions_UserRoleRelation != null) { List m_MenuOneList = bll_Sys_Permissions_RoleBLL.MenusOneList(m_Sys_Permissions_UserRoleRelation.RoleId); foreach (var m_MenuOne in m_MenuOneList) { treeHtml = treeHtml + "{GetMenuRoleId:'0', id: " + m_MenuOne.Keyid + ", parentId: 99999, name: '" + m_MenuOne.MenuName + "' },"; List m_MenuTwoList = bll_Sys_Permissions_RoleBLL.MenusTwoList(m_MenuOne.Keyid, m_Sys_Permissions_UserRoleRelation.RoleId); foreach (var m_MenuTwo in m_MenuTwoList) { treeHtml = treeHtml + "{GetMenuRoleId:'0', id: " + m_MenuTwo.Keyid + ", parentId: " + m_MenuTwo.ParentId + ", name: '" + m_MenuTwo.MenuName + "' , open: true },"; List m_MenuThreeList = bll_Sys_Permissions_RoleBLL.MenusThreeList(m_MenuTwo.Keyid, m_Sys_Permissions_UserRoleRelation.RoleId); foreach (var m_MenuThree in m_MenuThreeList) { treeHtml = treeHtml + "{GetMenuRoleId:'0', id: " + m_MenuThree.Keyid + ", parentId: " + m_MenuThree.ParentId + ", name: '" + m_MenuThree.MenuName + "' },"; Sys_Permissions_RoleMenuRelation m_Sys_Permissions_RoleMenuRelation = bll_Sys_Permissions_RoleBLL.SelectModelByRoleIdAndMenuId(m_Sys_Permissions_UserRoleRelation.RoleId, m_MenuOne.Keyid, m_MenuTwo.Keyid, m_MenuThree.Keyid); treeHtml = treeHtml + "{GetMenuRoleId:'" + m_MenuOne.Keyid + "-" + m_MenuTwo.Keyid + "-" + m_MenuThree.Keyid + "+0', id: " + (m_MenuTwo.Keyid + "050" + m_MenuThree.Keyid) + ", parentId: " + m_MenuThree.Keyid + ", name: '主页面' },"; if (m_Sys_Permissions_RoleMenuRelation != null && m_Sys_Permissions_RoleMenuRelation.RoleId > 0) { string[] MenuIds = m_Sys_Permissions_RoleMenuRelation.FuncId.Trim(',').Split(','); foreach (var FuncId in MenuIds) { Sys_Permissions_UserCase m_Sys_Permissions_UserCase = bll_Sys_Permissions_UserCaseBLL.SelectModelByKeyId(FuncId.ToInt32()); if (m_Sys_Permissions_UserCase != null && m_Sys_Permissions_UserCase.Keyid > 0) { treeHtml = treeHtml + "{GetMenuRoleId:'" + m_MenuOne.Keyid + "-" + m_MenuTwo.Keyid + "-" + m_MenuThree.Keyid + "+" + m_Sys_Permissions_UserCase.Keyid + "', id: 333"+ m_Sys_Permissions_UserCase.Keyid + ", parentId: " + m_MenuThree.Keyid + ", name: '" + m_Sys_Permissions_UserCase.UserCaseName + "' },"; } } } } } } } treeHtml = treeHtml.Trim(','); } //查询事件 protected void btn_Search_Click(object src, EventArgs e) { InitialData(); } //保存角色权限 protected void btn_SaveRole_Click(object sender, EventArgs e) { try { int? Keyid = Request["hideKeyid"].ToInt32(); string Roles = Request["hideRoles"].ToString2(); string[] RolesArry = Roles.Split(','); Dictionary MenusJionRole = new Dictionary(); foreach (var itemRole in RolesArry) { string MenuAll = itemRole; string[] MenuAllArry = MenuAll.Split('+'); if (MenuAllArry.Length > 1) { string value_Role = MenuAllArry[1] == "0" ? "" : MenuAllArry[1]; if (MenusJionRole.Keys.Contains(MenuAllArry[0])) MenusJionRole[MenuAllArry[0]] = MenusJionRole[MenuAllArry[0]] + "," + value_Role; else MenusJionRole.Add(MenuAllArry[0], value_Role); } } bool result = bll_OA_FirmRoleBLL.EditMenusRole(Keyid, CurrentUser.MemberId, MenusJionRole); if (result) { InitialData(); JavaScript.MessageBox("保存成功", this); } else JavaScript.MessageBox("操作失败", this); } catch (Exception ex) { PAGEHandleException(ex); JavaScript.MessageBox("操作失败", this); } } } }