190 lines
		
	
	
		
			6.3 KiB
		
	
	
	
		
			C#
		
	
	
	
		
		
			
		
	
	
			190 lines
		
	
	
		
			6.3 KiB
		
	
	
	
		
			C#
		
	
	
	
|  | using BLL; | |||
|  | using Org.BouncyCastle.Asn1.Cms; | |||
|  | using System; | |||
|  | using System.Collections.Generic; | |||
|  | using System.Data; | |||
|  | using System.Data.SqlClient; | |||
|  | using System.Linq; | |||
|  | 
 | |||
|  | namespace FineUIPro.Web.Controls | |||
|  | { | |||
|  |     public partial class UnitProjectTControl : System.Web.UI.UserControl | |||
|  |     { | |||
|  | 
 | |||
|  |         #region 定义页面项 | |||
|  |         public string ProjectId | |||
|  |         { | |||
|  |             get | |||
|  |             { | |||
|  |                 return (string)ViewState["ProjectId"]; | |||
|  |             } | |||
|  |             set | |||
|  |             { | |||
|  |                 ViewState["ProjectId"] = value; | |||
|  |             } | |||
|  |         } | |||
|  | 
 | |||
|  |         /// <summary> | |||
|  |         /// 菜单ID | |||
|  |         /// </summary> | |||
|  |         public string UnitId | |||
|  |         { | |||
|  |             get | |||
|  |             { | |||
|  |                 return (string)ViewState["UnitId"]; | |||
|  |             } | |||
|  |             set | |||
|  |             { | |||
|  |                 ViewState["UnitId"] = value; | |||
|  |             } | |||
|  |         } | |||
|  |         #endregion | |||
|  | 
 | |||
|  |         #region 加载页面 | |||
|  |         /// <summary> | |||
|  |         /// 加载页面 | |||
|  |         /// </summary> | |||
|  |         /// <param name="sender"></param> | |||
|  |         /// <param name="e"></param> | |||
|  |         protected void Page_Load(object sender, EventArgs e) | |||
|  |         { | |||
|  |             if (!IsPostBack) | |||
|  |             { | |||
|  |                 this.UnitId = this.UnitId ?? BLL.Const.UnitId_CWCEC; | |||
|  |                 this.ProjectId=this.ProjectId; | |||
|  |                 ////加载树 | |||
|  |                 SetSubUnitProjectTree(this.tvProject); | |||
|  |             } | |||
|  |         } | |||
|  |         #endregion | |||
|  | 
 | |||
|  |         /// <summary> | |||
|  |         ///  | |||
|  |         /// </summary> | |||
|  |         /// <param name="sender"></param> | |||
|  |         /// <param name="e"></param> | |||
|  |         protected void tvProject_NodeCommand(object sender, TreeCommandEventArgs e) | |||
|  |         { | |||
|  |             this.UnitId = string.Empty; | |||
|  |             this.ProjectId = string.Empty; | |||
|  |             if (this.tvProject != null && !string.IsNullOrEmpty(this.tvProject.SelectedNodeID)) | |||
|  |             { | |||
|  |                 if (this.tvProject.SelectedNode.ParentNode == null) | |||
|  |                 { | |||
|  |                     this.UnitId = this.tvProject.SelectedNodeID; | |||
|  |                 } | |||
|  |                 else | |||
|  |                 { | |||
|  |                     this.UnitId=this.tvProject.SelectedNode.ParentNode.NodeID; | |||
|  |                     this.ProjectId = this.tvProject.SelectedNodeID; | |||
|  |                 } | |||
|  |                 if (this.change != null) | |||
|  |                 { | |||
|  |                     this.change(this, e); | |||
|  |                 } | |||
|  | 
 | |||
|  |             } | |||
|  |         } | |||
|  | 
 | |||
|  |         public delegate void userEvent(object sender, EventArgs arg); | |||
|  | 
 | |||
|  |         public event userEvent change; | |||
|  | 
 | |||
|  | 
 | |||
|  |         #region 绑定分公司 单位-项目树 | |||
|  |         /// <summary> | |||
|  |         ///  绑定分公司 单位-项目树 | |||
|  |         /// </summary> | |||
|  |         /// <param name="tvProject"></param>                                                                                                     | |||
|  |         /// <param name="CurrUser"></param> | |||
|  |         public void SetSubUnitProjectTree(FineUIPro.Tree tvProject) | |||
|  |         { | |||
|  |             tvProject.Nodes.Clear(); | |||
|  |             if (BLL.Const.UnitId_CWCEC == this.UnitId) | |||
|  |             { | |||
|  |                 var getSubUnit = from x in Funs.DB.Base_Unit | |||
|  |                                  where x.UnitId == this.UnitId || x.IsBranch == true | |||
|  |                                  orderby x.IsBranch, x.UnitCode | |||
|  |                                  select x; | |||
|  |                 foreach (var item in getSubUnit) | |||
|  |                 { | |||
|  |                     bool isHideUPTCode = false; | |||
|  |                     var sysSet17 = (from x in Funs.DB.Sys_Set where x.SetName == "是否隐藏公司项目树单位编码" select x).ToList().FirstOrDefault(); | |||
|  |                     if (sysSet17 != null && sysSet17.IsAuto == true) | |||
|  |                     { | |||
|  |                         isHideUPTCode = true; | |||
|  |                     } | |||
|  |                     FineUIPro.TreeNode crootNode = new FineUIPro.TreeNode | |||
|  |                     { | |||
|  | 
 | |||
|  |                        // Text =item.UnitCode+":"+ item.UnitName, | |||
|  |                         NodeID = item.UnitId, | |||
|  |                         EnableClickEvent = true | |||
|  |                     }; | |||
|  |                     if (isHideUPTCode) | |||
|  |                     { | |||
|  |                         crootNode.Text = item.UnitName; | |||
|  |                     } | |||
|  |                     else | |||
|  |                     { | |||
|  |                         crootNode.Text = item.UnitCode + ":" + item.UnitName; | |||
|  |                     } | |||
|  |                     tvProject.Nodes.Add(crootNode); | |||
|  | 
 | |||
|  |                     var getSProjects = ProjectService.GetProjectWorkList(item.UnitId); | |||
|  |                     foreach (var sitem in getSProjects) | |||
|  |                     { | |||
|  |                         FineUIPro.TreeNode scrootNode = new FineUIPro.TreeNode | |||
|  |                         { | |||
|  |                             Text = sitem.ProjectName, | |||
|  |                             NodeID = sitem.ProjectId, | |||
|  |                             EnableClickEvent = true | |||
|  |                         }; | |||
|  |                         if (sitem.ProjectId == this.ProjectId) | |||
|  |                         { | |||
|  |                             scrootNode.Checked = true; | |||
|  |                         } | |||
|  |                         crootNode.Nodes.Add(scrootNode); | |||
|  |                     } | |||
|  |                 } | |||
|  |             } | |||
|  |             else | |||
|  |             { | |||
|  |                 var getSubUnit = Funs.DB.Base_Unit.FirstOrDefault(x => x.UnitId == this.UnitId); | |||
|  |                 if (getSubUnit != null) | |||
|  |                 { | |||
|  |                     FineUIPro.TreeNode crootNode = new FineUIPro.TreeNode | |||
|  |                     { | |||
|  |                         Text = getSubUnit.UnitName, | |||
|  |                         NodeID = getSubUnit.UnitId, | |||
|  |                         EnableClickEvent = true | |||
|  |                     }; | |||
|  |                     tvProject.Nodes.Add(crootNode); | |||
|  | 
 | |||
|  |                     var getSProjects = ProjectService.GetProjectWorkList(getSubUnit.UnitId); | |||
|  |                     foreach (var sitem in getSProjects) | |||
|  |                     { | |||
|  |                         FineUIPro.TreeNode scrootNode = new FineUIPro.TreeNode | |||
|  |                         { | |||
|  |                             Text = sitem.ProjectName, | |||
|  |                             NodeID = sitem.ProjectId, | |||
|  |                             EnableClickEvent = true | |||
|  |                         }; | |||
|  |                         if (sitem.ProjectId == this.ProjectId) | |||
|  |                         { | |||
|  |                             scrootNode.Checked = true; | |||
|  |                         } | |||
|  |                         crootNode.Nodes.Add(scrootNode); | |||
|  |                     } | |||
|  |                 } | |||
|  |             } | |||
|  |         } | |||
|  |         #endregion | |||
|  | 
 | |||
|  |         protected void ckState_SelectedIndexChanged(object sender, EventArgs e) | |||
|  |         { | |||
|  |             ////加载树 | |||
|  |             SetSubUnitProjectTree(this.tvProject); | |||
|  |         } | |||
|  |     } | |||
|  | } |