| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161 |
- using BizCom;
- using SQLData;
- using System;
- using System.Collections.Generic;
- using System.Data;
- using System.Linq;
- using System.Text;
- using System.Web;
- using System.Web.UI;
- using System.Web.UI.WebControls;
- using SiteCore;
- public partial class Ehr_OrgPostPermission : TreeBasePage, ITreePage
- {
- protected override void OnPreInit(EventArgs e)
- {
- PmTag = "orgpostpermission";
- TreeTitle = "选择部门/职位";
- ContentTitle = "配置权限";
- TreeSelValue = "0";
- _searchDateEnum = SearchDateEnum.Empty;
- }
- protected void Page_Load(object sender, EventArgs e)
- {
-
- if (!IsPostBack)
- {
- //modulesDataBind();
- }
- }
- private void modulesDataBind()
- {
- StringBuilder sql = new StringBuilder();
- sql.AppendFormat("select * from CE_ErpModular where isdel=0 and isoperate=0 order by path asc, sort asc ;");
- //sql.AppendFormat("select * from ce_erpindex order by sort;");
- DataSet ds = DbHelper.DbConn.ExecuteDataset(sql.ToString());
- DataTable dt = ds.Tables[0];
- System.Data.DataView dv = new System.Data.DataView(dt);
- //selModules.Items.Add(new System.Web.UI.WebControls.ListItem("--请选择--", "0"));
- getModulesTree(dv, 0);
- DataTable dt1 = ds.Tables[1];
- foreach (DataRow dr in dt1.Rows)
- {
- //selIndex.Items.Add(new ListItem(dr["name"].ToString(), dr["ID"].ToString()));
- //selView.Items.Add(new ListItem(dr["name"].ToString(), dr["ID"].ToString()));
- }
- }
- private void getModulesTree(System.Data.DataView dv, object id)
- {
- dv.RowFilter = "parentid=" + id;
- foreach (DataRowView dr in dv)
- {
- //selModules.Items.Add(new System.Web.UI.WebControls.ListItem(getNodeName(dr["Name"], dr["Path"]), dr["ID"].ToString()));
- getModulesTree(dv, dr["ID"]);
- }
- }
- private string getNodeName(object name, object path)
- {
- if (path.ToString() == "") return name.ToString();
- int len = path.ToString().Split('|').Length - 2;
- return "".PadLeft(len, ' ') + name;
- }
- #region 左边数据
- System.Data.DataView dv = null;
- System.Data.DataView pdv = null;
- int si = 0;
- public object GetTreeData()
- {
- StringBuilder str = new StringBuilder();
- StringBuilder pstr = new StringBuilder();
- str.Append("[");
- StringBuilder sql = new StringBuilder();
- //if (CurrentUser.IsAdmin)
- // sql.AppendFormat("select id,name from ce_erporganization where parentid=0 order by sort asc ;");
- //else
- int limit_orgid = 0;
- if (CurrentUser.UserPost.Post.Code == "SysAdmin")
- {
- sql.AppendFormat("select * from ce_erporganization order by parentid,sort asc ;");
- }
- else
- {
- limit_orgid = CurrentUser.UserPost.OrgID;
- sql.AppendFormat("select * from ce_erporganization where id={0} or path like '%|{0}|%' order by parentid,sort asc ;",limit_orgid);
- }
- sql.AppendFormat("select * from view_erppost order by Path asc, sort asc ;");
- DataSet ds = DbHelper.DbConn.ExecuteDataset(sql.ToString());
- if (ds != null && ds.Tables[0].Rows.Count < 1) return null;
- DataTable dt = ds.Tables[0];
- dv = new DataView(ds.Tables[0]);
- pdv = new DataView(ds.Tables[1]);
- GetOtherTree(0, limit_orgid, ref str,ref pstr);
- if (str.ToString() == "[")
- {
- }
- str.Append("]");
- return str.ToString();
- }
- private void GetOtherTree(object id,int limit_orgid, ref StringBuilder str,ref StringBuilder pstr)
- {
- if(limit_orgid>0) dv.RowFilter = "ID="+limit_orgid;//ParentID=" + id+" and
- else dv.RowFilter = "ParentID=" + id;
- dv.Sort = "Sort asc";
- bool hasP = false;
- //if (Convert.ToInt32(id) > 0)
- //{
- // GetPostTree(id, ref str, out hasP);
- // if (!hasP) return;
- //}
- //return;
-
- foreach (DataRowView drv in dv)
- {
- pstr = new StringBuilder();
- hasP = false;
- GetPostTree(drv["ID"], ref pstr, out hasP);
- if (!hasP) continue;
- if (si == 0) str.Append("{");
- else str.Append(",{");
- str.AppendFormat("\"id\":\"o_{0}\",\"name\":\"{1}\",\"pid\":\"o_{2}\",\"expanded\": true", drv["ID"], drv["Name"], id);
- str.Append("}");
- si++;
- str.Append(pstr);
- GetOtherTree(drv["ID"],0, ref str,ref pstr);
- }
- }
- private void GetPostTree(object id, ref StringBuilder str,out bool hasP)
- {
- pdv.RowFilter = "OrgID=" + id;
- if (pdv.Count < 1)
- {
- hasP = false;
- return;
- }
- foreach (DataRowView drv in pdv)
- {
- str.Append(",{");
- str.AppendFormat("\"id\":\"p_{0}\",\"name\":\"{1}\",\"pid\":\"o_{2}\",\"orgId\":\"{3}\",\"expanded\": true", drv["ID"], drv["Name"], id, drv["OrgID"]);
- str.Append("}");
- }
- hasP = true;
- }
- #endregion
- }
|