From 7b65f86343ca014b12894f09b7d62e8b5ac1f95d Mon Sep 17 00:00:00 2001 From: lixiaojun <1287241240@qq.com> Date: 星期五, 24 一月 2025 09:15:11 +0800 Subject: [PATCH] 单工况损失曲线增加上下游追踪和高亮显示 --- WinFrmUI/Yw.WinFrmUI.Hydro.Core/04-viewmodel/03-node/03-junction/00-core/HydroJunctionViewModel.cs | 79 +++++++++++++++++++++++++++------------ 1 files changed, 54 insertions(+), 25 deletions(-) diff --git a/WinFrmUI/Yw.WinFrmUI.Hydro.Core/04-viewmodel/03-node/03-junction/00-core/HydroJunctionViewModel.cs b/WinFrmUI/Yw.WinFrmUI.Hydro.Core/04-viewmodel/03-node/03-junction/00-core/HydroJunctionViewModel.cs index 2e824ce..70e7e70 100644 --- a/WinFrmUI/Yw.WinFrmUI.Hydro.Core/04-viewmodel/03-node/03-junction/00-core/HydroJunctionViewModel.cs +++ b/WinFrmUI/Yw.WinFrmUI.Hydro.Core/04-viewmodel/03-node/03-junction/00-core/HydroJunctionViewModel.cs @@ -3,7 +3,7 @@ /// <summary> /// 杩炴帴鑺傜偣 /// </summary> - public class HydroJunctionViewModel : HydroNodeViewModel + public class HydroJunctionViewModel : HydroNodeViewModel, IHydroCalcuJunctionResult { /// <summary> /// @@ -15,16 +15,10 @@ /// </summary> public HydroJunctionViewModel(Yw.Model.HydroJunctionInfo rhs, Yw.Model.HydroModelInfo hydroInfo) : base(rhs, hydroInfo) { - this.Elev = rhs.Elev; - this.UpdatePropStatus(nameof(this.Elev), rhs, nameof(rhs.Elev)); + this.Elev = Math.Round(rhs.Elev, 4); this.MinorLoss = rhs.MinorLoss; - this.UpdatePropStatus(nameof(this.MinorLoss), rhs, nameof(rhs.MinorLoss)); this.Demand = rhs.Demand; - this.UpdatePropStatus(nameof(this.Demand), rhs, nameof(rhs.Demand)); this.DemandPattern = rhs.DemandPattern; - this.UpdatePropStatus(nameof(this.DemandPattern), rhs, nameof(rhs.DemandPattern)); - - this.Vmo = rhs; } @@ -33,8 +27,8 @@ /// </summary> [Category("鏁版嵁")] [DisplayName("鏍囬珮")] - [Display(Name = "鏍囬珮(m)")] [DisplayUnit("m")] + [Display(Name = "鏍囬珮(m)")] [PropertyOrder(2001)] [Browsable(true)] public virtual double Elev { get; set; } @@ -47,7 +41,7 @@ [Display(Name = "鎹熷け绯绘暟")] [PropertyOrder(2002)] [Browsable(true)] - public virtual double? MinorLoss { get; set; } + public virtual double MinorLoss { get; set; } /// <summary> /// 闇�姘撮噺 @@ -58,7 +52,7 @@ [DisplayUnit("m鲁/h")] [PropertyOrder(2003)] [Browsable(false)] - public virtual double? Demand { get; set; } + public virtual double Demand { get; set; } /// <summary> /// 闇�姘存ā寮� @@ -66,34 +60,69 @@ [Category("鏁版嵁")] [DisplayName("闇�姘存ā寮�")] [Display(Name = "闇�姘存ā寮�")] - [IsHydroPatternPro(HydroPattern.Demand)] + [HydroPatternPro(HydroPattern.Demand)] [PropertyOrder(2004)] [Browsable(false)] public virtual string DemandPattern { get; set; } /// <summary> - /// + /// 鍘嬪姏 /// </summary> - [Browsable(false)] - public new Yw.Model.HydroJunctionInfo Vmo { get; set; } + [Category("璁$畻缁撴灉")] + [DisplayName("鍘嬪姏")] + [DisplayUnit("m")] + [Display(Name = "鍘嬪姏(m)")] + [PropertyOrder(11002)] + [HydroCalcuPro] + [ShowEditor(false)] + [Browsable(true)] + public virtual double? CalcuPr { get; set; } /// <summary> /// /// </summary> - public override void Update() + [Browsable(false)] + public new Yw.Model.HydroJunctionInfo Vmo { - base.Update(); - this.Elev = this.Vmo.Elev; - this.UpdatePropStatus(nameof(this.Elev), this.Vmo, nameof(this.Vmo.Elev)); - this.MinorLoss = this.Vmo.MinorLoss; - this.UpdatePropStatus(nameof(this.MinorLoss), this.Vmo, nameof(this.Vmo.MinorLoss)); - this.Demand = this.Vmo.Demand; - this.UpdatePropStatus(nameof(this.Demand), this.Vmo, nameof(this.Vmo.Demand)); - this.DemandPattern = this.Vmo.DemandPattern; - this.UpdatePropStatus(nameof(this.DemandPattern), this.Vmo, nameof(this.Vmo.DemandPattern)); + get { return _vmo as Yw.Model.HydroJunctionInfo; } + set { _vmo = value; } } + /// <summary> + /// + /// </summary> + public override void UpdateProperty() + { + base.UpdateProperty(); + this.Elev = Math.Round(this.Vmo.Elev, 4); + this.MinorLoss = this.Vmo.MinorLoss; + this.Demand = this.Vmo.Demand; + this.DemandPattern = this.Vmo.DemandPattern; + } + /// <summary> + /// + /// </summary> + public override void UpdateVmoProperty() + { + base.UpdateVmoProperty(); + this.Vmo.Elev = this.Elev; + this.Vmo.MinorLoss = this.MinorLoss; + this.Vmo.Demand = this.Demand; + this.Vmo.DemandPattern = this.DemandPattern; + } + + /// <summary> + /// 鏇存柊璁$畻灞炴�� + /// </summary> + public override void UpdateCalcuProperty(HydroCalcuVisualResult rhs) + { + base.UpdateCalcuProperty(rhs); + if (rhs is HydroCalcuJunctionResult calcuJunctionResult) + { + this.CalcuPr = calcuJunctionResult.CalcuPr.HasValue ? Math.Round(calcuJunctionResult.CalcuPr.Value, 2) : null; + } + } } -- Gitblit v1.9.3