20230824新增项目级wbs用户控件
This commit is contained in:
parent
5e775e6635
commit
d7992bdc2a
|
|
@ -0,0 +1,24 @@
|
|||
<%@ Control Language="C#" AutoEventWireup="true" CodeBehind="ProjectWBSControl.ascx.cs" Inherits="FineUIPro.Web.Controls.ProjectWBSControl" %>
|
||||
<f:Panel ID="Panel2" runat="server" BodyPadding="0px" ShowBorder="false"
|
||||
ShowHeader="false" Layout="VBox" BoxConfigAlign="Stretch">
|
||||
<Toolbars>
|
||||
<f:Toolbar ID="Toolbar1" Position="Top" runat="server">
|
||||
<Items>
|
||||
<f:RadioButtonList runat="server" ID="ckState" Width="350px" AutoColumnWidth="true"
|
||||
AutoPostBack="true" OnSelectedIndexChanged="ckState_SelectedIndexChanged">
|
||||
<f:RadioItem Text="全部" Value="-1" Selected="true"/>
|
||||
<f:RadioItem Text="0级" Value="0" />
|
||||
<f:RadioItem Text="1级" Value="1" />
|
||||
<f:RadioItem Text="2级" Value="2" />
|
||||
<f:RadioItem Text="3级" Value="3" />
|
||||
</f:RadioButtonList>
|
||||
</Items>
|
||||
</f:Toolbar>
|
||||
</Toolbars>
|
||||
<Items>
|
||||
<f:Tree ID="trWBS" EnableCollapse="true" ShowHeader="false" Title="WBS"
|
||||
OnNodeCommand="trWBS_NodeCommand" OnNodeExpand="trWBS_NodeExpand" AutoLeafIdentification="true"
|
||||
runat="server" ShowBorder="false" EnableTextSelection="True">
|
||||
</f:Tree>
|
||||
</Items>
|
||||
</f:Panel>
|
||||
|
|
@ -0,0 +1,212 @@
|
|||
using BLL;
|
||||
using System;
|
||||
using System.Data;
|
||||
using System.Linq;
|
||||
|
||||
namespace FineUIPro.Web.Controls
|
||||
{
|
||||
public partial class ProjectWBSControl : System.Web.UI.UserControl
|
||||
{
|
||||
#region 自定义项
|
||||
/// <summary>
|
||||
/// 主键
|
||||
/// </summary>
|
||||
public string WorkPackageId
|
||||
{
|
||||
get
|
||||
{
|
||||
return (string)ViewState["WorkPackageId"];
|
||||
}
|
||||
set
|
||||
{
|
||||
ViewState["WorkPackageId"] = value;
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 项目ID
|
||||
/// </summary>
|
||||
public string ProjectId
|
||||
{
|
||||
get
|
||||
{
|
||||
return (string)ViewState["ProjectId"];
|
||||
}
|
||||
set
|
||||
{
|
||||
ViewState["ProjectId"] = value;
|
||||
}
|
||||
}
|
||||
#endregion
|
||||
|
||||
#region 加载页面
|
||||
/// <summary>
|
||||
/// 加载页面
|
||||
/// </summary>
|
||||
/// <param name="sender"></param>
|
||||
/// <param name="e"></param>
|
||||
protected void Page_Load(object sender, EventArgs e)
|
||||
{
|
||||
if (!IsPostBack)
|
||||
{
|
||||
////加载树
|
||||
SetSubUnitProjectTree(this.trWBS);
|
||||
}
|
||||
}
|
||||
#endregion
|
||||
|
||||
/// <summary>
|
||||
///
|
||||
/// </summary>
|
||||
/// <param name="sender"></param>
|
||||
/// <param name="e"></param>
|
||||
protected void trWBS_NodeCommand(object sender, TreeCommandEventArgs e)
|
||||
{
|
||||
if (this.trWBS != null && !string.IsNullOrEmpty(this.trWBS.SelectedNodeID))
|
||||
{
|
||||
this.WorkPackageId = this.trWBS.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="trWBS"></param>
|
||||
/// <param name="CurrUser"></param>
|
||||
public void SetSubUnitProjectTree(FineUIPro.Tree trWBS)
|
||||
{
|
||||
this.trWBS.Nodes.Clear();
|
||||
this.trWBS.ShowBorder = false;
|
||||
this.trWBS.ShowHeader = false;
|
||||
this.trWBS.EnableIcons = true;
|
||||
this.trWBS.AutoScroll = true;
|
||||
this.trWBS.EnableSingleClickExpand = true;
|
||||
|
||||
TreeNode rootNode1 = new TreeNode();
|
||||
rootNode1.Text = "建筑工程";
|
||||
rootNode1.NodeID = "1";
|
||||
rootNode1.CommandName = "ProjectType";
|
||||
rootNode1.EnableExpandEvent = true;
|
||||
rootNode1.EnableClickEvent = true;
|
||||
this.trWBS.Nodes.Add(rootNode1);
|
||||
TreeNode emptyNode = new TreeNode();
|
||||
emptyNode.Text = "";
|
||||
emptyNode.NodeID = "";
|
||||
rootNode1.Nodes.Add(emptyNode);
|
||||
//this.GetNodes(rootNode1.Nodes, rootNode1.NodeID);
|
||||
|
||||
TreeNode rootNode2 = new TreeNode();
|
||||
rootNode2.Text = "安装工程";
|
||||
rootNode2.NodeID = "2";
|
||||
rootNode2.CommandName = "ProjectType";
|
||||
rootNode2.EnableExpandEvent = true;
|
||||
rootNode2.EnableClickEvent = true;
|
||||
this.trWBS.Nodes.Add(rootNode2);
|
||||
rootNode2.Nodes.Add(emptyNode);
|
||||
}
|
||||
#endregion
|
||||
|
||||
#region 展开树
|
||||
/// <summary>
|
||||
/// 展开树
|
||||
/// </summary>
|
||||
/// <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") //展开工程类型
|
||||
{
|
||||
var trUnitWork = from x in Funs.DB.WBS_UnitWork
|
||||
where x.ProjectId == this.ProjectId && x.SuperUnitWork == null && x.ProjectType == e.Node.NodeID
|
||||
select x;
|
||||
trUnitWork = trUnitWork.OrderBy(x => x.UnitWorkCode);
|
||||
if (trUnitWork.Count() > 0)
|
||||
{
|
||||
foreach (var trUnitWorkItem in trUnitWork)
|
||||
{
|
||||
TreeNode newNode = new TreeNode();
|
||||
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();
|
||||
temp.Text = "temp";
|
||||
temp.NodeID = "temp";
|
||||
newNode.Nodes.Add(temp);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
else if (e.Node.CommandName == "UnitWork") //展开单位工程节点
|
||||
{
|
||||
var workPackages = from x in Funs.DB.WBS_WorkPackage where x.UnitWorkId == e.NodeID && x.SuperWorkPack == null && x.IsApprove == true orderby x.WorkPackageCode select x;
|
||||
foreach (var workPackage in workPackages)
|
||||
{
|
||||
TreeNode newNode = new TreeNode();
|
||||
newNode.Text = workPackage.PackageContent;
|
||||
newNode.NodeID = workPackage.WorkPackageId;
|
||||
newNode.CommandName = "WorkPackage";
|
||||
newNode.EnableExpandEvent = true;
|
||||
newNode.EnableClickEvent = true;
|
||||
e.Node.Nodes.Add(newNode);
|
||||
var childWorkPackages = from x in Funs.DB.WBS_WorkPackage where x.SuperWorkPackageId == workPackage.WorkPackageId && x.IsApprove == true select x;
|
||||
if (childWorkPackages.Count() > 0)
|
||||
{
|
||||
TreeNode emptyNode = new TreeNode();
|
||||
emptyNode.Text = "";
|
||||
emptyNode.NodeID = "";
|
||||
newNode.Nodes.Add(emptyNode);
|
||||
}
|
||||
}
|
||||
}
|
||||
else if (e.Node.CommandName == "WorkPackage") //展开工作包节点
|
||||
{
|
||||
var workPackages = from x in Funs.DB.WBS_WorkPackage where x.SuperWorkPackageId == e.Node.NodeID && x.IsApprove == true orderby x.WorkPackageCode select x;
|
||||
if (workPackages.Count() > 0) //存在子单位工程
|
||||
{
|
||||
foreach (var workPackage in workPackages)
|
||||
{
|
||||
TreeNode newNode = new TreeNode();
|
||||
newNode.Text = workPackage.PackageContent;
|
||||
newNode.NodeID = workPackage.WorkPackageId;
|
||||
newNode.CommandName = "WorkPackage";
|
||||
newNode.EnableExpandEvent = true;
|
||||
newNode.EnableClickEvent = true;
|
||||
e.Node.Nodes.Add(newNode);
|
||||
var childWorkPackages = from x in Funs.DB.WBS_WorkPackage where x.SuperWorkPackageId == workPackage.WorkPackageId && x.IsApprove == true select x;
|
||||
if (childWorkPackages.Count() > 0)
|
||||
{
|
||||
TreeNode emptyNode = new TreeNode();
|
||||
emptyNode.Text = "";
|
||||
emptyNode.NodeID = "";
|
||||
newNode.Nodes.Add(emptyNode);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
#endregion
|
||||
|
||||
protected void ckState_SelectedIndexChanged(object sender, EventArgs e)
|
||||
{
|
||||
////加载树
|
||||
SetSubUnitProjectTree(this.trWBS);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,53 @@
|
|||
//------------------------------------------------------------------------------
|
||||
// <自动生成>
|
||||
// 此代码由工具生成。
|
||||
//
|
||||
// 对此文件的更改可能导致不正确的行为,如果
|
||||
// 重新生成代码,则所做更改将丢失。
|
||||
// </自动生成>
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
namespace FineUIPro.Web.Controls
|
||||
{
|
||||
|
||||
|
||||
public partial class ProjectWBSControl
|
||||
{
|
||||
|
||||
/// <summary>
|
||||
/// Panel2 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.Panel Panel2;
|
||||
|
||||
/// <summary>
|
||||
/// Toolbar1 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.Toolbar Toolbar1;
|
||||
|
||||
/// <summary>
|
||||
/// ckState 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.RadioButtonList ckState;
|
||||
|
||||
/// <summary>
|
||||
/// trWBS 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.Tree trWBS;
|
||||
}
|
||||
}
|
||||
|
|
@ -1,6 +1,6 @@
|
|||
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="ProjectWBSDW.aspx.cs" Inherits="FineUIPro.Web.DigData.ProjectWBSDW" %>
|
||||
|
||||
<%@ Register Src="~/Controls/WBSControl.ascx" TagName="WBSControl" TagPrefix="uc1" %>
|
||||
<%@ Register Src="~/Controls/ProjectWBSControl.ascx" TagName="ProjectWBSControl" TagPrefix="uc1" %>
|
||||
<!DOCTYPE html>
|
||||
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||
<head runat="server">
|
||||
|
|
@ -19,7 +19,7 @@
|
|||
<Items>
|
||||
<f:ContentPanel ID="ContentPanel1" runat="server" ShowHeader="false" EnableCollapse="true" AutoScroll="true"
|
||||
BodyPadding="0px">
|
||||
<uc1:WBSControl ID="ucTree" runat="server" Onchange="changeTree" />
|
||||
<uc1:ProjectWBSControl ID="ucTree" runat="server" Onchange="changeTree" />
|
||||
</f:ContentPanel>
|
||||
</Items>
|
||||
</f:Panel>
|
||||
|
|
|
|||
|
|
@ -10,15 +10,15 @@ namespace FineUIPro.Web.DigData
|
|||
/// <summary>
|
||||
/// 主键
|
||||
/// </summary>
|
||||
public string WorkPackageCode
|
||||
public string WorkPackageId
|
||||
{
|
||||
get
|
||||
{
|
||||
return (string)ViewState["WorkPackageCode"];
|
||||
return (string)ViewState["WorkPackageId"];
|
||||
}
|
||||
set
|
||||
{
|
||||
ViewState["WorkPackageCode"] = value;
|
||||
ViewState["WorkPackageId"] = value;
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -46,15 +46,16 @@ namespace FineUIPro.Web.DigData
|
|||
{
|
||||
if (!IsPostBack)
|
||||
{
|
||||
this.ProjectId = this.CurrUser.LoginProjectId;
|
||||
////权限按钮方法
|
||||
this.ucTree.WorkPackageCode = this.WorkPackageCode;
|
||||
// this.ucTree.WorkPackageCode = this.WorkPackageCode;
|
||||
this.ucTree.ProjectId = this.ProjectId;
|
||||
}
|
||||
}
|
||||
|
||||
protected void changeTree(object sender, EventArgs e)
|
||||
{
|
||||
this.WorkPackageCode = this.ucTree.WorkPackageCode;
|
||||
|
||||
this.WorkPackageId = this.ucTree.WorkPackageId;
|
||||
initControlItem();
|
||||
}
|
||||
|
||||
|
|
@ -96,7 +97,7 @@ namespace FineUIPro.Web.DigData
|
|||
/// </summary>
|
||||
protected void initControlItem()
|
||||
{
|
||||
var getControlItem = from x in Funs.DB.WBS_ControlItemInit where x.WorkPackageCode == this.WorkPackageCode select x;
|
||||
var getControlItem = from x in Funs.DB.WBS_ControlItemAndCycle where x.WorkPackageId == this.WorkPackageId select x;
|
||||
cblControlItem.DataValueField = "ControlItemCode";
|
||||
cblControlItem.DataTextField = "ControlItemContent";
|
||||
cblControlItem.DataSource = getControlItem;
|
||||
|
|
|
|||
|
|
@ -66,7 +66,7 @@ namespace FineUIPro.Web.DigData
|
|||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.Web.Controls.WBSControl ucTree;
|
||||
protected global::FineUIPro.Web.Controls.ProjectWBSControl ucTree;
|
||||
|
||||
/// <summary>
|
||||
/// panelCenterRegion 控件。
|
||||
|
|
|
|||
|
|
@ -350,6 +350,7 @@
|
|||
<Content Include="Controls\QRCodePrint.aspx" />
|
||||
<Content Include="Controls\SeeQRImage.aspx" />
|
||||
<Content Include="Controls\ShowQRImage.aspx" />
|
||||
<Content Include="Controls\ProjectWBSControl.ascx" />
|
||||
<Content Include="Controls\WBSControl.ascx" />
|
||||
<Content Include="Controls\_3DLook.ascx" />
|
||||
<Content Include="CQMS\BaseInfo\ProjectSysSet.aspx" />
|
||||
|
|
@ -6383,6 +6384,13 @@
|
|||
<Compile Include="Controls\ShowQRImage.aspx.designer.cs">
|
||||
<DependentUpon>ShowQRImage.aspx</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="Controls\ProjectWBSControl.ascx.cs">
|
||||
<DependentUpon>ProjectWBSControl.ascx</DependentUpon>
|
||||
<SubType>ASPXCodeBehind</SubType>
|
||||
</Compile>
|
||||
<Compile Include="Controls\ProjectWBSControl.ascx.designer.cs">
|
||||
<DependentUpon>ProjectWBSControl.ascx</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="Controls\WBSControl.ascx.cs">
|
||||
<DependentUpon>WBSControl.ascx</DependentUpon>
|
||||
<SubType>ASPXCodeBehind</SubType>
|
||||
|
|
|
|||
Loading…
Reference in New Issue