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_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);
|
|
}
|
|
}
|
|
} |