/// <summary> /// 权限更新 /// </summary> private void UpdatePrivilege() { //先Delete已有的重新添加 string sql = "delete from SysPrivileges where roleId = " + roleId; int rows = DBHelperSQL.ExecuteSql(sql); if (strLevelNo.Length == 0 && rows > 0) { Response.Write("success"); } else { string[] arr = strLevelNo.TrimEnd(',').Split(','); int num = 5; SysPrivileges item = null; StringBuilder sb = new StringBuilder(); if (arr.Length > 0) { for (int i = 0; i < arr.Length; i++) { item = new SysPrivileges(); item.roleId = roleId; item.departmentId = departId; if (arr[i] != "on") { item.levelNo = Convert.ToInt32(arr[i]); } item.parentLevelNo = OALevelService.GetparentLevelNoByLevelNo(item.levelNo); if (!SysPrivilegesService.Exists(item.roleId, item.departmentId, item.levelNo)) { num = SysPrivilegesService.Add(item); if (num == 0) { sb.Append("权限编号:" + item.levelNo + "添加失败,"); } } } } if (num == 0) { Response.Write(sb.ToString()); } else { Response.Write("success"); } } }
/// <summary> /// 返回菜单信息 /// </summary> /// <returns></returns> protected string GetMenu() { StringBuilder sb = new StringBuilder(); AdminUser item = Session["loginUser"] as AdminUser; DataSet ds = SysPrivilegesService.GetLevelInfo(item.roleId, 3); int menuCount = SysPrivilegesService.GetSonCount(item.roleId, 3); //总数 int nowNode = 1; if (ds.Tables[0].Rows.Count > 0) { for (int i = 0; i < ds.Tables[0].Rows.Count; i++) { OALevel levelItem = OALevelService.GetModelByLevelNo(Convert.ToInt32(ds.Tables[0].Rows[i]["levelNo"])); if (levelItem != null) { sb.Append("<div class=\"left_tab\" style=\"padding-left:30px;\">" + levelItem.levelName + "</div>"); sb.Append("<ul>"); DataSet ds2 = SysPrivilegesService.GetSonInfo(Convert.ToInt32(ViewState["role"]), 3, Convert.ToInt32(ds.Tables[0].Rows[i]["levelNo"])); if (ds2.Tables[0].Rows.Count > 0) { for (int j = 0; j < ds2.Tables[0].Rows.Count; j++) { levelItem = OALevelService.GetModelByLevelNo(Convert.ToInt32(ds2.Tables[0].Rows[j]["levelNo"])); if (levelItem != null) { sb.Append("<li id=\"m_" + nowNode + "\" onClick=\"dis_cont('" + levelItem.url + "'," + nowNode + "," + ViewState["role"] + "," + menuCount + ")\">" + levelItem.levelName + "</li>"); nowNode++; } } } sb.Append("</ul>"); } } } return(sb.ToString()); }
private void LoadLevelTree(int roleId, int departId) { DataSet ds = OALevelService.GetList("parentLevelNo = 0"); //顶级信息 DataSet ds1 = new DataSet(); //存放一级菜单信息 DataSet ds2 = new DataSet(); //存放二级菜单信息 // StringBuilder sb = new StringBuilder(); //存储第三级复选框的id信息 if (ds.Tables[0].Rows.Count > 0) { StringBuilder sb = new StringBuilder(); TreeNode tn = null; TreeNode tn1 = null; TreeNode tn2 = null; string levelNo0 = ""; string levelNo1 = ""; string levelNo2 = ""; for (int i = 0; i < ds.Tables[0].Rows.Count; i++) { tn = new TreeNode(); levelNo0 = ds.Tables[0].Rows[i]["levelNo"].ToString(); ds1 = OALevelService.GetList("parentLevelNo = '" + levelNo0 + "'"); if (SysPrivilegesService.Exists(roleId, departId, Convert.ToInt32(levelNo0))) { tn.Text = "<input type='checkbox' id='" + i + "' onclick='check(this," + ds1.Tables[0].Rows.Count + ")' value='" + ds.Tables[0].Rows[i]["levelNo"].ToString() + "' checked='checked' />" + ds.Tables[0].Rows[i]["levelName"].ToString(); } else { tn.Text = "<input type='checkbox' id='" + i + "' onclick='check(this," + ds1.Tables[0].Rows.Count + ")' value='" + ds.Tables[0].Rows[i]["levelNo"].ToString() + "' />" + ds.Tables[0].Rows[i]["levelName"].ToString(); } #region 一级菜单信息的加载 if (ds1.Tables[0].Rows.Count > 0) { for (int j = 0; j < ds1.Tables[0].Rows.Count; j++) { tn1 = new TreeNode(); levelNo1 = ds1.Tables[0].Rows[j]["levelNo"].ToString(); ds2 = OALevelService.GetList("parentLevelNo = '" + levelNo1 + "'"); if (SysPrivilegesService.Exists(roleId, departId, Convert.ToInt32(levelNo1))) { tn1.Text = "<input type='checkbox' id='" + i + "_" + j + "' onclick='check2(this," + ds2.Tables[0].Rows.Count + ")' value='" + ds1.Tables[0].Rows[j]["levelNo"].ToString() + "' checked='checked' />" + ds1.Tables[0].Rows[j]["levelName"].ToString(); } else { tn1.Text = "<input type='checkbox' id='" + i + "_" + j + "' onclick='check2(this," + ds2.Tables[0].Rows.Count + ")' value='" + ds1.Tables[0].Rows[j]["levelNo"].ToString() + "' />" + ds1.Tables[0].Rows[j]["levelName"].ToString(); } #region 二级菜单信息的加载 //this.level2Count.Value = ds2.Tables[0].Rows.Count.ToString(); //二级菜单的子类数量 if (ds2.Tables[0].Rows.Count > 0) { for (int k = 0; k < ds2.Tables[0].Rows.Count; k++) { tn2 = new TreeNode(); levelNo2 = ds2.Tables[0].Rows[k]["levelNo"].ToString(); sb.Append((i + "_" + j + "_" + k).ToString() + ","); if (SysPrivilegesService.Exists(roleId, departId, Convert.ToInt32(levelNo2))) { tn2.Text = "<input type='checkbox' id='" + i + "_" + j + "_" + k + "' onclick='check3(this)' value='" + ds2.Tables[0].Rows[k]["levelNo"].ToString() + "' checked='checked' />" + ds2.Tables[0].Rows[k]["levelName"].ToString(); } else { tn2.Text = "<input type='checkbox' id='" + i + "_" + j + "_" + k + "' onclick='check3(this)' value='" + ds2.Tables[0].Rows[k]["levelNo"].ToString() + "' />" + ds2.Tables[0].Rows[k]["levelName"].ToString(); } tn1.ChildNodes.Add(tn2); } } #endregion tn.ChildNodes.Add(tn1); //一级菜单追加到顶级菜单节点下。 } } #endregion this.tvModel.Nodes.Add(tn); //顶级菜单追加到权限树上 } tvModel.CollapseAll(); this.hidRowsCount.Value = sb.ToString().TrimEnd(','); } }