From 44c67892cddc9b7f7091e446fc2030f0b22a82b3 Mon Sep 17 00:00:00 2001
From: lixiaojun <1287241240@qq.com>
Date: 星期五, 20 十二月 2024 22:46:40 +0800
Subject: [PATCH] 构件列表优化

---
 WinFrmUI/Yw.WinFrmUI.Hydro.Core/04-viewmodel/04-link/00-core/HydroLinkViewModel.cs |  113 ++++++++++++++++++++++++++++++++++++++++++--------------
 1 files changed, 84 insertions(+), 29 deletions(-)

diff --git a/WinFrmUI/Yw.WinFrmUI.Hydro.Core/04-viewmodel/04-link/00-core/HydroLinkViewModel.cs b/WinFrmUI/Yw.WinFrmUI.Hydro.Core/04-viewmodel/04-link/00-core/HydroLinkViewModel.cs
index a6c0c53..7cccec7 100644
--- a/WinFrmUI/Yw.WinFrmUI.Hydro.Core/04-viewmodel/04-link/00-core/HydroLinkViewModel.cs
+++ b/WinFrmUI/Yw.WinFrmUI.Hydro.Core/04-viewmodel/04-link/00-core/HydroLinkViewModel.cs
@@ -21,17 +21,26 @@
             this.UpdatePropStatus(nameof(this.EndCode), rhs, nameof(rhs.EndCode));
             this.LinkStatus = HydroLinkStatusHelper.GetStatusName(rhs.LinkStatus);
             this.UpdatePropStatus(nameof(this.LinkStatus), rhs, nameof(rhs.LinkStatus));
-
-            this.Vmo = rhs;
         }
+
+        /// <summary>
+        /// Y娴佸悜
+        /// </summary>
+        [Category("鎷撴墤缁撴瀯")]
+        [DisplayName("Y娴佸悜")]
+        [HydroFlowDirectionPro]
+        [PropertyOrder(102)]
+        [TypeConverter(typeof(HydroFlowDirectionConverter))]
+        [Browsable(false)]
+        public override string FlowDirectionY { get; set; }
 
         /// <summary>
         /// 涓婃父鑺傜偣
         /// </summary>
-        [Category("鍩虹淇℃伅")]
+        [Category("鎷撴墤缁撴瀯")]
         [DisplayName("涓婃父鑺傜偣")]
         [PropertyOrder(1001)]
-        [IsHydroLinkCode]
+        [HydroLinkPro]
         [ReadOnly(true)]
         [Browsable(true)]
         public string StartCode { get; set; }
@@ -39,10 +48,10 @@
         /// <summary>
         /// 涓嬫父鑺傜偣
         /// </summary>
-        [Category("鍩虹淇℃伅")]
+        [Category("鎷撴墤缁撴瀯")]
         [DisplayName("涓嬫父鑺傜偣")]
         [PropertyOrder(1002)]
-        [IsHydroLinkCode]
+        [HydroLinkPro]
         [ReadOnly(true)]
         [Browsable(true)]
         public string EndCode { get; set; }
@@ -53,7 +62,7 @@
         [Category("鏁版嵁")]
         [DisplayName("绠℃鐘舵��")]
         [PropertyOrder(1003)]
-        [Browsable(true)]
+        [Browsable(false)]
         public virtual string LinkStatus { get; set; }
 
         /// <summary>
@@ -61,43 +70,75 @@
         /// </summary>
         [Category("璁$畻缁撴灉")]
         [DisplayName("娴侀噺")]
-        [PropertyOrder(10001)]
-        [Browsable(true)]
         [DisplayUnit("m鲁/h")]
-        [IsHydroCalcuPro(true)]
+        [Display(Name = "娴侀噺(m鲁/h)")]
+        [PropertyOrder(10001)]
+        [HydroCalcuPro]
         [ShowEditor(false)]
+        [Browsable(false)]
         public virtual double? CalcuFlow { get; set; }
-
-        /// <summary>
-        /// 娴侀��
-        /// </summary>
-        [Category("璁$畻缁撴灉")]
-        [DisplayName("娴侀��")]
-        [PropertyOrder(10002)]
-        [Browsable(true)]
-        [DisplayUnit("m/s")]
-        [IsHydroCalcuPro(true)]
-        [ShowEditor(false)]
-        public virtual double? CalcuVelocity { get; set; }
 
         /// <summary>
         /// 姘村ご鎹熷け
         /// </summary>
         [Category("璁$畻缁撴灉")]
         [DisplayName("姘村ご鎹熷け")]
-        [PropertyOrder(10003)]
-        [Browsable(true)]
         [DisplayUnit("m")]
-        [IsHydroCalcuPro(true)]
+        [Display(Name = "姘村ご鎹熷け(m)")]
+        [PropertyOrder(10002)]
+        [HydroCalcuPro]
         [ShowEditor(false)]
+        [Browsable(false)]
         public virtual double? CalcuHeadLoss { get; set; }
 
+        /// <summary>
+        /// 娴侀��
+        /// </summary>
+        [Category("璁$畻缁撴灉")]
+        [DisplayName("娴侀��")]
+        [DisplayUnit("m/s")]
+        [Display(Name = "娴侀��(m/s)")]
+        [PropertyOrder(19007)]
+        [HydroCalcuPro]
+        [ShowEditor(false)]
+        [Browsable(false)]
+        public virtual double? CalcuVelocity { get; set; }
 
         /// <summary>
-        /// Vmo
+        /// 灞�閮ㄦ崯澶�
+        /// </summary>
+        [Category("璁$畻缁撴灉")]
+        [DisplayName("灞�閮ㄦ崯澶�")]
+        [DisplayUnit("m")]
+        [Display(Name = "灞�閮ㄦ崯澶�(m)")]
+        [PropertyOrder(19008)]
+        [HydroCalcuPro]
+        [ShowEditor(false)]
+        [Browsable(false)]
+        public virtual double? CalcuMinorLoss { get; set; }
+
+        /// <summary>
+        /// 娌跨▼鎹熷け
+        /// </summary>
+        [Category("璁$畻缁撴灉")]
+        [DisplayName("娌跨▼鎹熷け")]
+        [DisplayUnit("m")]
+        [Display(Name = "娌跨▼鎹熷け(m)")]
+        [PropertyOrder(19009)]
+        [HydroCalcuPro]
+        [ShowEditor(false)]
+        [Browsable(false)]
+        public virtual double? CalcuFrictionLoss { get; set; }
+
+        /// <summary>
+        /// 
         /// </summary>
         [Browsable(false)]
-        public new Yw.Model.HydroLinkInfo Vmo { get; set; }
+        public new Yw.Model.HydroLinkInfo Vmo
+        {
+            get { return _vmo as Yw.Model.HydroLinkInfo; }
+            set { _vmo = value; }
+        }
 
         /// <summary>
         /// 
@@ -113,12 +154,24 @@
             this.UpdatePropStatus(nameof(this.LinkStatus), this.Vmo, nameof(this.Vmo.LinkStatus));
         }
 
+        /// <summary>
+        /// 
+        /// </summary>
+        public override void UpdateVmoProperty()
+        {
+            base.UpdateVmoProperty();
+            this.Vmo.StartCode = this.StartCode;
+            this.Vmo.UpdatePropStatus(nameof(this.Vmo.StartCode), this, nameof(this.StartCode));
+            this.Vmo.EndCode = this.EndCode;
+            this.Vmo.UpdatePropStatus(nameof(this.Vmo.EndCode), this, nameof(this.EndCode));
+            this.Vmo.LinkStatus = HydroLinkStatusHelper.GetStatusCode(this.LinkStatus);
+            this.Vmo.UpdatePropStatus(nameof(this.Vmo.LinkStatus), this, nameof(this.LinkStatus));
+        }
 
         /// <summary>
         /// 鏇存柊璁$畻灞炴��
         /// </summary>
-        /// <param name="rhs"></param>
-        public override void UpdateCalcuProperty(HydroCalcuResult rhs)
+        public override void UpdateCalcuProperty(HydroCalcuVisualResult rhs)
         {
             base.UpdateCalcuProperty(rhs);
             if (rhs is HydroCalcuLinkResult calcuLinkProperty)
@@ -126,6 +179,8 @@
                 this.CalcuFlow = calcuLinkProperty.CalcuFlow.HasValue ? Math.Round(calcuLinkProperty.CalcuFlow.Value, 1) : null;
                 this.CalcuVelocity = calcuLinkProperty.CalcuVelocity.HasValue ? Math.Round(calcuLinkProperty.CalcuVelocity.Value, 2) : null;
                 this.CalcuHeadLoss = calcuLinkProperty.CalcuHeadLoss.HasValue ? Math.Round(calcuLinkProperty.CalcuHeadLoss.Value, 2) : null;
+                this.CalcuMinorLoss = calcuLinkProperty.CalcuMinorLoss.HasValue ? Math.Round(calcuLinkProperty.CalcuMinorLoss.Value, 4) : null;
+                this.CalcuFrictionLoss = calcuLinkProperty.CalcuFrictionLoss.HasValue ? Math.Round(calcuLinkProperty.CalcuFrictionLoss.Value, 4) : null;
             }
         }
 

--
Gitblit v1.9.3