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.membermanage { //吴辉 //权限管理 public partial class PermissionsMenusList : BasePage { Sys_Permissions_MenuBLL bll_Sys_Permissions_MenuBLL = null; Sys_Permissions_RoleBLL bll_Sys_Permissions_RoleBLL = null; public static string treeHtml = ""; //树形参数 public static string selHtml = ""; //下拉框内容 //实例化 public PermissionsMenusList() { bll_Sys_Permissions_MenuBLL = new Sys_Permissions_MenuBLL(); bll_Sys_Permissions_RoleBLL = new Sys_Permissions_RoleBLL(); } //页面加载 protected void Page_Load(object sender, EventArgs e) { if (!IsPostBack) { InitialData(); } } //提交修改 hideKeyId protected void btn_Submit_Config(object sender, EventArgs e) { Sys_Permissions_Menu m_Sys_Permissions_Menu = new Sys_Permissions_Menu(); if (this.hideKeyId.Value.ToInt32() > 0) m_Sys_Permissions_Menu = bll_Sys_Permissions_MenuBLL.SelectModelByKeyId(this.hideKeyId.Value.ToInt32()); m_Sys_Permissions_Menu.ParentId = this.selParentId.Value.ToInt32(); m_Sys_Permissions_Menu.MenuName = this.txtMenuName.Value.ToString2(); m_Sys_Permissions_Menu.MenuPath = this.txtMenuPath.Value.ToString2(); m_Sys_Permissions_Menu.OrderCode = this.txtOrderCode.Value.ToString2(); m_Sys_Permissions_Menu.IsUsed = this.selIsUsed.Value.ToBoolean2(); m_Sys_Permissions_Menu.Operator = CurrentUser.ShortName; m_Sys_Permissions_Menu.LastUpdateTime = DateTime.Now; m_Sys_Permissions_Menu.Remark = ""; //图片上传 CY.WebForm.cs.UploadCS.UpFileResult _UpFileResult2 = CY.WebForm.cs.UploadCS.Upload("fileMenuIcon", m_Sys_Permissions_Menu.MenuIcon); m_Sys_Permissions_Menu.MenuIcon = m_Sys_Permissions_Menu.MenuIcon ?? ""; if (_UpFileResult2.returnerror.Count == 0) { if (_UpFileResult2.returnfilename.Count > 0) m_Sys_Permissions_Menu.MenuIcon = _UpFileResult2.returnfilename[0].ToString2(); } else { JavaScript.MessageBox(string.Join("
", (string[])_UpFileResult2.returnerror.ToArray(typeof(string))), this); return; } if (this.hideKeyId.Value.ToInt32() > 0) { bll_Sys_Permissions_MenuBLL.UpdateModel(m_Sys_Permissions_Menu); Sys_Permissions_Menu m_Sys_Permissions_Menu_old = bll_Sys_Permissions_MenuBLL.SelectModelByKeyId(m_Sys_Permissions_Menu.ParentId); if (m_Sys_Permissions_Menu_old != null) { bll_Sys_Permissions_RoleBLL.UpdateMenuToMember(m_Sys_Permissions_Menu_old.ParentId, m_Sys_Permissions_Menu.ParentId, m_Sys_Permissions_Menu.Keyid); } } else { bll_Sys_Permissions_MenuBLL.InsertModel(m_Sys_Permissions_Menu); } if (Request["selMoneyType"] == "0") { if (!string.IsNullOrEmpty(Request["MemberType"].ToString2()) && !string.IsNullOrWhiteSpace(this.txtMenuPath.Value.ToString2())) { List m_Sys_Permissions_RoleList = bll_Sys_Permissions_RoleBLL.HasRoleByMenuId(m_Sys_Permissions_Menu.Keyid, Request["MemberType"]) as List; Sys_Permissions_Menu m_Sys_Permissions_Menu_new = bll_Sys_Permissions_MenuBLL.GetAllKeyidByMenuId(m_Sys_Permissions_Menu.Keyid); List m_Sys_Permissions_RoleMenuRelationList = new List(); if (m_Sys_Permissions_RoleList != null && m_Sys_Permissions_RoleList.Count > 0 && m_Sys_Permissions_Menu_new != null) foreach (var item in m_Sys_Permissions_RoleList) { Sys_Permissions_RoleMenuRelation m_Sys_Permissions_RoleMenuRelation = new Sys_Permissions_RoleMenuRelation(); m_Sys_Permissions_RoleMenuRelation.FuncId = ""; m_Sys_Permissions_RoleMenuRelation.RoleId = item.Keyid; m_Sys_Permissions_RoleMenuRelation.MenuIdOne = m_Sys_Permissions_Menu_new.MenuOneId; m_Sys_Permissions_RoleMenuRelation.MenuIdTwo = m_Sys_Permissions_Menu_new.MenuTwoId; m_Sys_Permissions_RoleMenuRelation.MenuIdThree = m_Sys_Permissions_Menu_new.MenuThreeId; m_Sys_Permissions_RoleMenuRelationList.Add(m_Sys_Permissions_RoleMenuRelation); } bll_Sys_Permissions_RoleBLL.AddMenuAndRole(m_Sys_Permissions_RoleMenuRelationList); } } Response.Redirect("/Pages/membermanage/PermissionsMenusList.aspx"); } //获取遍历结果 public void InitialData() { DataTable ds = bll_Sys_Permissions_MenuBLL.SelectList(); selParentId.Items.Clear(); selParentId.Items.Insert(0, new ListItem("顶级菜单", "0")); treeHtml = ""; selHtml = ""; if (ds != null && ds.Rows.Count > 0) { GetDataByLevel(ref treeHtml, selParentId, ds, 0, 1); } treeHtml = treeHtml.Trim(','); } //遍历数据 public static void GetDataByLevel(ref string treeHtmlo, System.Web.UI.HtmlControls.HtmlSelect sel, DataTable data, int parentId, int level) { DataRow[] result = data.Select(string.Format("ParentId={0}", parentId)); int i = -1; while (++i < result.Length) { treeHtmlo = treeHtmlo + "{ id: " + result[i]["Keyid"].ToString2() + ", parentId: " + result[i]["ParentId"].ToString2() + ", name: '" + result[i]["MenuName"].ToString2() + "[" + result[i]["OrderCode"].ToString2() + "]"+ "'" + (level < 2 ? ", open: true" : "") +" },"; if (level < 4) { sel.Items.Add(new ListItem(GetSplitChar(level) + result[i]["MenuName"].ToString2(), result[i]["Keyid"].ToString2())); } GetDataByLevel(ref treeHtmlo, sel, data, result[i]["Keyid"].ToInt32().Value, level + 1); } } //获取隔位符 public static string GetSplitChar(int level) { string res =""; //level.ToString2(); for (int i = 0; i < level; i++) { res += ".."; } return res; } } }