20230831 WBS

This commit is contained in:
2023-08-31 16:37:09 +08:00
parent d9f8be1463
commit ba6774dbae
44 changed files with 1349 additions and 235 deletions
@@ -2,6 +2,7 @@
using System;
using System.Data;
using System.Linq;
using System.Text;
namespace FineUIPro.Web.DigData
{
@@ -30,17 +31,25 @@ namespace FineUIPro.Web.DigData
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{ ////加载树
{
string level = Request.Params["level"];
if (!string.IsNullOrEmpty(level))
{
this.ckLevel.SelectedValue = level;
this.ckLevel.Readonly = true;
}
////加载树
SetSubUnitProjectTree(this.trWBS);
}
}
#region -
#region WBS
/// <summary>
/// 绑定分公司 单位-项目树
/// 绑定WBS
/// </summary>
/// <param name="trWBS"></param>
/// <param name="CurrUser"></param>
/// <param name="trWBS"></param>
public void SetSubUnitProjectTree(FineUIPro.Tree trWBS)
{
this.trWBS.Nodes.Clear();
@@ -81,8 +90,7 @@ namespace FineUIPro.Web.DigData
/// <param name="sender"></param>
/// <param name="e"></param>
protected void trWBS_NodeExpand(object sender, TreeNodeEventArgs e)
{
{
e.Node.Nodes.Clear();
if (e.Node.CommandName == "ProjectType") //展开工程类型
{
@@ -98,9 +106,11 @@ namespace FineUIPro.Web.DigData
newNode.Text = trUnitWorkItem.UnitWorkCode + "-" + trUnitWorkItem.UnitWorkName;
newNode.NodeID = trUnitWorkItem.UnitWorkId;
newNode.CommandName = "UnitWork";
newNode.EnableExpandEvent = true;
newNode.EnableClickEvent = true;
e.Node.Nodes.Add(newNode);
if (BLL.WorkPackageService.GetWorkPackages1ByUnitWorkId(trUnitWorkItem.UnitWorkId.ToString()) != null)
{
TreeNode temp = new TreeNode();
@@ -119,6 +129,7 @@ namespace FineUIPro.Web.DigData
TreeNode newNode = new TreeNode();
newNode.Text = workPackage.PackageContent;
newNode.NodeID = workPackage.WorkPackageId;
newNode.ToolTip = "[" + workPackage.InitWorkPackageCode + "]";
newNode.CommandName = "WorkPackage";
newNode.EnableExpandEvent = true;
newNode.EnableClickEvent = true;
@@ -144,6 +155,7 @@ namespace FineUIPro.Web.DigData
newNode.Text = workPackage.PackageContent;
newNode.NodeID = workPackage.WorkPackageId;
newNode.CommandName = "WorkPackage";
newNode.ToolTip="["+ workPackage.InitWorkPackageCode+"]";
newNode.EnableExpandEvent = true;
newNode.EnableClickEvent = true;
e.Node.Nodes.Add(newNode);
@@ -161,7 +173,7 @@ namespace FineUIPro.Web.DigData
}
#endregion
protected void ckState_SelectedIndexChanged(object sender, EventArgs e)
protected void ckLevel_SelectedIndexChanged(object sender, EventArgs e)
{
////加载树
SetSubUnitProjectTree(this.trWBS);
@@ -169,7 +181,66 @@ namespace FineUIPro.Web.DigData
protected void btnSure_Click(object sender, EventArgs e)
{
if (this.trWBS.SelectedNode != null)
{
///Type1|0a1e39d1-693d-4b5f-a2f5-870dda8b9ff2|c0f20302-88e6-4415-9a86-06be5730c420[67]|c76e251e-d690-4d0e-959b-3b618701f6ff[6701]&建筑工程|083-全场管廊|框架/管廊|地基与基础
///返回 树 父节点ID+[初始WBS主键]+"|" +节点ID+[初始WBS主键]+"&"+树父节点名称+"|"+ 节点名称
string selectValues = getSelectIds(this.trWBS.SelectedNode, this.trWBS.SelectedNodeID+this.trWBS.SelectedNode.ToolTip) + "&" + getSelectNames(this.trWBS.SelectedNode, this.trWBS.SelectedNode.Text);
if (!string.IsNullOrEmpty(selectValues))
{
PageContext.RegisterStartupScript(ActiveWindow.GetWriteBackValueReference(selectValues) + ActiveWindow.GetHidePostBackReference());
}
}
else
{
Alert.ShowInParent("请选择节点!", MessageBoxIcon.Warning);
}
}
/// <summary>
/// id
/// </summary>
/// <param name="node"></param>
/// <param name="id"></param>
/// <returns></returns>
private string getSelectIds(TreeNode node,string id)
{
if (node.ParentNode != null)
{
if (node.ParentNode.NodeID == "1" || node.ParentNode.NodeID == "2")
{
id = "Type" + node.ParentNode.NodeID + "|" + id;
}
else
{
id = getSelectIds(node.ParentNode, node.ParentNode.NodeID + node.ParentNode.ToolTip + "|" + id);
}
}
return id;
}
/// <summary>
/// 名称
/// </summary>
/// <param name="node"></param>
/// <param name="name"></param>
/// <returns></returns>
private string getSelectNames(TreeNode node, string name)
{
if (node.ParentNode != null)
{
if (node.ParentNode.NodeID == "1" || node.ParentNode.NodeID == "2")
{
name = node.ParentNode.Text + "|" + name;
}
else
{
name = getSelectNames(node.ParentNode, node.ParentNode.Text + "|" + name);
}
}
return name;
}
}
}