UserPermission.aspx.cs 4.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135
  1. using BizCom;
  2. using SQLData;
  3. using System;
  4. using System.Collections.Generic;
  5. using System.Data;
  6. using System.Linq;
  7. using System.Text;
  8. using System.Web;
  9. using System.Web.UI;
  10. using System.Web.UI.WebControls;
  11. using SiteCore;
  12. public partial class Sys_UserPermission : TreeBasePage, ITreePage
  13. {
  14. protected override void OnPreInit(EventArgs e)
  15. {
  16. PmTag = "permission";
  17. TreeTitle = "选择用户";
  18. ContentTitle = "配置权限";
  19. _selfCheckPermission = true;
  20. TreeSelValue = "0";
  21. }
  22. protected void Page_Load(object sender, EventArgs e)
  23. {
  24. if (!IsPostBack)
  25. {
  26. modulesDataBind();
  27. }
  28. }
  29. private void modulesDataBind()
  30. {
  31. StringBuilder sql = new StringBuilder();
  32. sql.AppendFormat("select * from x_Modular where isdel=0 and isoperate=0 order by path asc, sort asc ;");
  33. DataSet ds = DbHelper.DbConn.ExecuteDataset(sql.ToString());
  34. DataTable dt = ds.Tables[0];
  35. System.Data.DataView dv = new System.Data.DataView(dt);
  36. //selModules.Items.Add(new System.Web.UI.WebControls.ListItem("--请选择--", "0"));
  37. getModulesTree(dv, 0);
  38. //DataTable dt1 = ds.Tables[1];
  39. //foreach (DataRow dr in dt1.Rows)
  40. //{
  41. // selIndex.Items.Add(new ListItem(dr["name"].ToString(), dr["ID"].ToString()));
  42. // selView.Items.Add(new ListItem(dr["name"].ToString(), dr["ID"].ToString()));
  43. //}
  44. }
  45. private void getModulesTree(System.Data.DataView dv, object id)
  46. {
  47. dv.RowFilter = "parentid=" + id;
  48. foreach (DataRowView dr in dv)
  49. {
  50. //selModules.Items.Add(new System.Web.UI.WebControls.ListItem(getNodeName(dr["Name"], dr["Path"]), dr["ID"].ToString()));
  51. getModulesTree(dv, dr["ID"]);
  52. }
  53. }
  54. private string getNodeName(object name, object path)
  55. {
  56. if (path.ToString() == "") return name.ToString();
  57. int len = path.ToString().Split('|').Length - 2;
  58. return "".PadLeft(len, ' ') + name;
  59. }
  60. #region 左边数据
  61. System.Data.DataView dv = null;
  62. System.Data.DataView pdv = null;
  63. int si = 0;
  64. public object GetTreeData()
  65. {
  66. StringBuilder str = new StringBuilder();
  67. str.Append("[");
  68. StringBuilder sql = new StringBuilder();
  69. //if (CurrentUser.IsAdmin)
  70. // sql.AppendFormat("select id,name from ce_erporganization where parentid=0 order by sort asc ;");
  71. //else
  72. sql.AppendFormat("select * from x_user order by id asc ;");
  73. //sql.AppendFormat("select * from view_erppost order by Path asc, sort asc ;");
  74. DataSet ds = DbHelper.DbConn.ExecuteDataset(sql.ToString());
  75. if (ds != null && ds.Tables[0].Rows.Count < 1) return null;
  76. DataTable dt = ds.Tables[0];
  77. dv = new DataView(ds.Tables[0]);
  78. //pdv = new DataView(ds.Tables[1]);
  79. GetOtherTree(0, ref str);
  80. str.Append("]");
  81. return str.ToString();
  82. }
  83. private void GetOtherTree(object id, ref StringBuilder str)
  84. {
  85. //dv.RowFilter = "ParentID=" + id;
  86. //dv.Sort = "Sort asc";
  87. if (dv.Count < 1)
  88. {
  89. GetPostTree(id, ref str);
  90. return;
  91. }
  92. foreach (DataRowView drv in dv)
  93. {
  94. if (si == 0) str.Append("{");
  95. else str.Append(",{");
  96. str.AppendFormat("\"id\":\"o_{0}\",\"name\":\"{1}\",\"pid\":\"o_{2}\",\"expanded\": true", drv["ID"], drv["account"], id);
  97. str.Append("}");
  98. si++;
  99. //GetOtherTree(drv["ID"], ref str);
  100. }
  101. }
  102. private void GetPostTree(object id, ref StringBuilder str)
  103. {
  104. pdv.RowFilter = " OrgID=" + id;
  105. if (pdv.Count < 1)
  106. {
  107. return;
  108. }
  109. foreach (DataRowView drv in pdv)
  110. {
  111. str.Append(",{");
  112. str.AppendFormat("\"id\":\"p_{0}\",\"name\":\"{1}\",\"pid\":\"o_{2}\",\"orgId\":\"{3}\",\"expanded\": true", drv["ID"], drv["Name"], id, drv["OrgID"]);
  113. str.Append("}");
  114. }
  115. }
  116. #endregion
  117. }