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/04-link/05-resistance/00-core/HydroResistanceViewModel.cs |  115 ++++++++++++++++++++++++++++++++++-----------------------
 1 files changed, 69 insertions(+), 46 deletions(-)

diff --git a/WinFrmUI/Yw.WinFrmUI.Hydro.Core/04-viewmodel/04-link/05-resistance/00-core/HydroResistanceViewModel.cs b/WinFrmUI/Yw.WinFrmUI.Hydro.Core/04-viewmodel/04-link/05-resistance/00-core/HydroResistanceViewModel.cs
index e0f31eb..efbc466 100644
--- a/WinFrmUI/Yw.WinFrmUI.Hydro.Core/04-viewmodel/04-link/05-resistance/00-core/HydroResistanceViewModel.cs
+++ b/WinFrmUI/Yw.WinFrmUI.Hydro.Core/04-viewmodel/04-link/05-resistance/00-core/HydroResistanceViewModel.cs
@@ -15,7 +15,7 @@
         /// </summary>
         public HydroResistanceViewModel(Yw.Model.HydroResistanceInfo rhs, Yw.Model.HydroModelInfo hydroInfo) : base(rhs, hydroInfo)
         {
-            this.LinkStatus = HydroResistanceStatusHelper.GetStatusName(rhs.LinkStatus);
+            this.Elev = rhs.Elev;
             this.Material = rhs.Material;
             this.Diameter = rhs.Diameter;
             this.MinorLoss = rhs.MinorLoss;
@@ -23,22 +23,78 @@
         }
 
         /// <summary>
-        /// 妯″紡
+        /// 杩愯妯″紡
         /// </summary>
         [Category("鏁版嵁")]
-        [DisplayName("妯″紡")]
-        [Display(Name = "妯″紡")]
-        [PropertyOrder(103)]
+        [DisplayName("杩愯妯″紡")]
+        [Description("灞�闃绘ā寮忥細浣跨敤灞�闃荤郴鏁拌繘琛屾按鍔涜绠楋紱鎹熷け妯″紡锛氫娇鐢ㄦ按澶存崯澶辨洸绾胯繘琛屾按鍔涜绠�")]
+        [PropertyOrder(2001)]
         [Browsable(true)]
-        [TypeConverter(typeof(HydroResistanceStatusConverter))]
-        public override string LinkStatus { get; set; }
+        public eResistanceMode ResistanceMode
+        {
+            get
+            {
+                var mode = eResistanceMode.Closed;
+                switch (this.Vmo.LinkStatus)
+                {
+                    case Yw.Hydro.ResistanceStatus.Closed:
+                        {
+                            mode = eResistanceMode.Closed;
+                        }
+                        break;
+                    case Yw.Hydro.ResistanceStatus.Open:
+                        {
+                            mode = eResistanceMode.MinorLoss;
+                        }
+                        break;
+                    case Yw.Hydro.ResistanceStatus.None:
+                        {
+                            mode = eResistanceMode.CurveQL;
+                        }
+                        break;
+                    default: break;
+                }
+                return mode;
+            }
+            set
+            {
+                switch (value)
+                {
+                    case eResistanceMode.Closed:
+                        {
+                            this.Vmo.LinkStatus = Yw.Hydro.ResistanceStatus.Closed;
+                        }
+                        break;
+                    case eResistanceMode.MinorLoss:
+                        {
+                            this.Vmo.LinkStatus = Yw.Hydro.ResistanceStatus.Open;
+                        }
+                        break;
+                    case eResistanceMode.CurveQL:
+                        {
+                            this.Vmo.LinkStatus = Yw.Hydro.ResistanceStatus.None;
+                        }
+                        break;
+                    default: break;
+                }
+            }
+        }
 
         /// <summary>
         /// 鏉愭枡
         /// </summary>
         [Category("鏁版嵁")]
         [DisplayName("鏉愭枡")]
-        [PropertyOrder(1001)]
+        [PropertyOrder(2002)]
+        [Browsable(true)]
+        public double Elev { get; set; }
+
+        /// <summary>
+        /// 鏉愭枡
+        /// </summary>
+        [Category("鏁版嵁")]
+        [DisplayName("鏉愭枡")]
+        [PropertyOrder(2003)]
         [Browsable(true)]
         public string Material { get; set; }
 
@@ -48,7 +104,7 @@
         [Category("鏁版嵁")]
         [DisplayName("鐩村緞")]
         [DisplayUnit("mm")]
-        [PropertyOrder(1002)]
+        [PropertyOrder(2004)]
         [Browsable(true)]
         public double Diameter { get; set; }
 
@@ -57,7 +113,7 @@
         /// </summary>
         [Category("鏁版嵁")]
         [DisplayName("灞�闃荤郴鏁�")]
-        [PropertyOrder(1003)]
+        [PropertyOrder(2005)]
         [Browsable(true)]
         public double MinorLoss { get; set; }
 
@@ -66,43 +122,10 @@
         /// </summary>
         [Category("鏁版嵁")]
         [DisplayName("姘村ご鎹熷け鏇茬嚎")]
-        [HydroCurvePro(HydroCurve.Resistance, HydroCurveType.CurveQL)]
-        [PropertyOrder(1004)]
-        [Browsable(false)]
-        public virtual string Curve
-        {
-            get
-            {
-                if (string.IsNullOrEmpty(this.CurveQL))
-                {
-                    return "鏈厤缃�";
-                }
-                return "宸查厤缃�";
-            }
-        }
-
-        /// <summary>
-        /// 姘村ご鎹熷け鏇茬嚎
-        /// </summary>
-        [Category("鏁版嵁")]
-        [DisplayName("姘村ご鎹熷け鏇茬嚎")]
-        [PropertyOrder(1005)]
+        [PropertyOrder(2006)]
         [HydroCurvePro(HydroCurve.Resistance, HydroCurveType.CurveQL)]
         [Browsable(true)]
         public virtual string CurveQL { get; set; }
-
-        /// <summary>
-        /// 娌跨▼鎹熷け
-        /// </summary>
-        [Category("璁$畻缁撴灉")]
-        [DisplayName("娌跨▼鎹熷け")]
-        [Display(Name = "娌跨▼鎹熷け(m)")]
-        [PropertyOrder(19009)]
-        [DisplayUnit("m")]
-        [HydroCalcuPro]
-        [ShowEditor(false)]
-        [Browsable(false)]
-        public override double? CalcuFrictionLoss { get; set; }
 
         /// <summary>
         /// 娴侀噺
@@ -172,7 +195,7 @@
         public override void UpdateProperty()
         {
             base.UpdateProperty();
-            this.LinkStatus = HydroResistanceStatusHelper.GetStatusName(this.Vmo.LinkStatus);
+            this.Elev = this.Vmo.Elev;
             this.Material = this.Vmo.Material;
             this.Diameter = this.Vmo.Diameter;
             this.MinorLoss = this.Vmo.MinorLoss;
@@ -185,7 +208,7 @@
         public override void UpdateVmoProperty()
         {
             base.UpdateVmoProperty();
-            this.Vmo.LinkStatus = HydroResistanceStatusHelper.GetStatusCode(this.LinkStatus);
+            this.Vmo.Elev = this.Elev;
             this.Vmo.Material = this.Material;
             this.Vmo.Diameter = this.Diameter;
             this.Vmo.MinorLoss = this.MinorLoss;

--
Gitblit v1.9.3