SGGL_SGY/SGGL/FineUIPro.Web/Controls/UnitProjectTControl.ascx.cs

190 lines
6.3 KiB
C#
Raw Normal View History

2025-02-19 15:58:42 +08:00
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_TCC;
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_TCC == 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);
}
}
}