This commit is contained in:
gaofei 2021-09-29 21:27:57 +08:00
parent a19f1b28cd
commit cb7884ea5d
2 changed files with 83 additions and 15 deletions

View File

@ -160,6 +160,16 @@ namespace BLL
return (from x in Funs.DB.Wbs_WbsSet where x.SuperWbsSetId == superWbsSetId && x.IsApprove == true orderby x.WbsSetCode select x).ToList();
}
/// <summary>
/// 根据单位Id获取集合
/// </summary>
/// <param name="unitProjectId">上级Id</param>
/// <returns></returns>
public static List<Model.Wbs_WbsSet> GetApproveWbsSetsByUnitProjectId(string unitProjectId)
{
return (from x in Funs.DB.Wbs_WbsSet where x.UnitProjectId == unitProjectId && x.IsApprove == true orderby x.WbsSetCode select x).ToList();
}
/// <summary>
/// 根据上级Id获取是否存在同级别的其他已勾选项
/// </summary>
@ -383,5 +393,19 @@ namespace BLL
select x.WbsSetId).ToList();
return list;
}
/// <summary>
/// 根据分部Id获取分部Id
/// </summary>
/// <param name="unitProjectId">专业Id</param>
/// <returns></returns>
public static List<Model.Wbs_WbsSet> GetWbsSetsByUnitProjectId(string unitProjectId)
{
Model.SGGLDB db = Funs.DB;
var list = (from x in db.Wbs_WbsSet
where x.UnitProjectId == unitProjectId && x.SuperWbsSetId == null
select x).ToList();
return list;
}
}
}

View File

@ -181,7 +181,8 @@ namespace FineUIPro.Web.JDGL.WBS
newNode.NodeID = unitProject.UnitProjectId;
newNode.CommandName = "unitProject";
newNode.EnableExpandEvent = true;
newNode.EnableCheckBox = false;
newNode.EnableCheckBox = true;
newNode.EnableCheckEvent = true;
if (unitProject.IsSelected == true && unitProject.IsApprove == null)
{
unitProject.IsApprove = true;
@ -338,6 +339,17 @@ namespace FineUIPro.Web.JDGL.WBS
childWbsSet.IsSelected = e.Checked;
childWbsSet.IsApprove = e.Checked;
BLL.WbsSetService.UpdateWbsSet(childWbsSet);
foreach (var node2 in node.Nodes)
{
node2.Checked = e.Checked;
Model.Wbs_WbsSet childWbsSet2 = BLL.WbsSetService.GetWbsSetByWbsSetId(node2.NodeID);
if (childWbsSet2 != null)
{
childWbsSet2.IsSelected = e.Checked;
childWbsSet2.IsApprove = e.Checked;
BLL.WbsSetService.UpdateWbsSet(childWbsSet2);
}
}
}
}
bool b = true; //是否对父级节点执行选中状态的更新操作
@ -389,26 +401,58 @@ namespace FineUIPro.Web.JDGL.WBS
}
}
}
}
if (b)
{
Model.Wbs_UnitProject unitProject = BLL.UnitProjectService.GetUnitProjectByUnitProjectId(wbsSet.UnitProjectId);
if (unitProject != null)
TreeNode unitProjectNode = null;
if (e.Node.ParentNode.CommandName == "unitProject")
{
unitProject.IsSelected = e.Checked;
unitProject.IsApprove = e.Checked;
BLL.UnitProjectService.UpdateUnitProject(unitProject);
unitProjectNode = e.Node.ParentNode;
}
Model.WBS_CnProfession cnProfession = BLL.CnProfessionService.GetCnProfessionByCnProfessionId(wbsSet.CnProfessionId);
if (cnProfession != null)
else if (e.Node.ParentNode.ParentNode.CommandName == "unitProject")
{
cnProfession.IsSelected = e.Checked;
cnProfession.IsApprove = e.Checked;
BLL.CnProfessionService.UpdateCnProfession(cnProfession);
unitProjectNode = e.Node.ParentNode.ParentNode;
}
else if (e.Node.ParentNode.ParentNode.ParentNode.CommandName == "unitProject")
{
unitProjectNode = e.Node.ParentNode.ParentNode.ParentNode;
}
//选择否时,对单位工程节点选中状态的判断
List<Model.Wbs_WbsSet> approveWbsSets = BLL.WbsSetService.GetApproveWbsSetsByUnitProjectId(wbsSet.UnitProjectId);
if (e.Checked == true || (e.Checked == false && approveWbsSets.Count == 0))
{
unitProjectNode.Checked = e.Checked;
Model.Wbs_UnitProject unitProject = BLL.UnitProjectService.GetUnitProjectByUnitProjectId(wbsSet.UnitProjectId);
if (unitProject != null)
{
unitProject.IsSelected = e.Checked;
unitProject.IsApprove = e.Checked;
BLL.UnitProjectService.UpdateUnitProject(unitProject);
}
Model.WBS_CnProfession cnProfession = BLL.CnProfessionService.GetCnProfessionByCnProfessionId(wbsSet.CnProfessionId);
if (cnProfession != null)
{
cnProfession.IsSelected = e.Checked;
cnProfession.IsApprove = e.Checked;
BLL.CnProfessionService.UpdateCnProfession(cnProfession);
}
}
}
}
else
{
Model.Wbs_UnitProject unitProject = BLL.UnitProjectService.GetUnitProjectByUnitProjectId(e.NodeID);
if (unitProject != null)
{
unitProject.IsSelected = e.Checked;
unitProject.IsApprove = e.Checked;
BLL.UnitProjectService.UpdateUnitProject(unitProject);
}
Model.WBS_CnProfession cnProfession = BLL.CnProfessionService.GetCnProfessionByCnProfessionId(unitProject.CnProfessionId);
if (cnProfession != null)
{
cnProfession.IsSelected = e.Checked;
cnProfession.IsApprove = e.Checked;
BLL.CnProfessionService.UpdateCnProfession(cnProfession);
}
}
//if (e.Checked)
//{
// CheckAllParentNodes(e.Node);