From 1e387f457092df846ec04e2c6792b83244aae04e Mon Sep 17 00:00:00 2001
From: duheng <2784771470@qq.com>
Date: 星期六, 07 十二月 2024 12:09:23 +0800
Subject: [PATCH] Merge branch 'master' of http://47.103.154.90:83/r/HStation/XHS.V1.0

---
 WinFrmUI/HStation.WinFrmUI.Xhs.Core/03-simulation/05-function/SimulationFunctionCtrl.cs |   71 +++++++++++++++++++++++++----------
 1 files changed, 50 insertions(+), 21 deletions(-)

diff --git a/WinFrmUI/HStation.WinFrmUI.Xhs.Core/03-simulation/05-function/SimulationFunctionCtrl.cs b/WinFrmUI/HStation.WinFrmUI.Xhs.Core/03-simulation/05-function/SimulationFunctionCtrl.cs
index d8ead32..c4a57c5 100644
--- a/WinFrmUI/HStation.WinFrmUI.Xhs.Core/03-simulation/05-function/SimulationFunctionCtrl.cs
+++ b/WinFrmUI/HStation.WinFrmUI.Xhs.Core/03-simulation/05-function/SimulationFunctionCtrl.cs
@@ -474,6 +474,7 @@
             elementWorking.HeaderControl = ckEdit;
             elementWorking.Style = DevExpress.XtraBars.Navigation.ElementStyle.Item;
             elementWorking.Text = working.Name;
+            elementWorking.Hint = working.Description;
             elementWorking.Tag = working;
             elementWorking.Click += async (sender, e) =>
             {
@@ -485,6 +486,7 @@
 
         /// <summary>
         /// 鏇存柊鏂规宸ュ喌
+        /// 鏇存柊锛屼細瑙﹀彂鏇存柊浜嬩欢
         /// </summary>
         public void UpdateSchemeWorking(XhsSchemeVmo scheme, Yw.Vmo.HydroWorkingVmo working)
         {
@@ -504,31 +506,21 @@
             {
                 return;
             }
-            var elementScheme = this.elementSchemeList.Elements.FirstOrDefault(x => x.Tag is XhsSchemeVmo && (x.Tag as XhsSchemeVmo).ID == scheme.ID);
+            var elementScheme = this.elementSchemeList.Elements.FirstOrDefault(x => (x.Tag is XhsSchemeVmo) && (x.Tag as XhsSchemeVmo).ID == scheme.ID);
             if (elementScheme == null)
             {
                 return;
             }
-            elementScheme.Style = DevExpress.XtraBars.Navigation.ElementStyle.Group;
-            var ckEdit = new CheckEdit();
-            ckEdit.Properties.AutoWidth = true;
-            ckEdit.Properties.Caption = string.Empty;
-            ckEdit.CheckedChanged += (sender, e) =>
+            var element = elementScheme.Elements.
+                Where(x => (x.Tag is HydroWorkingVmo) && (x.Tag as HydroWorkingVmo).ID == working.ID).FirstOrDefault();
+            if (element == null)
             {
-                this.ProjectSiteSchemeWorkingCheckedEvent?.Invoke(scheme, working, ckEdit.Checked);
-            };
-            this.accordionControl1.Controls.Add(ckEdit);
-            var elementWorking = new DevExpress.XtraBars.Navigation.AccordionControlElement();
-            elementWorking.HeaderControl = ckEdit;
-            elementWorking.Style = DevExpress.XtraBars.Navigation.ElementStyle.Item;
-            elementWorking.Text = working.Name;
-            elementWorking.Tag = working;
-            elementWorking.Click += async (sender, e) =>
-            {
-                var hydroInfo = await GetSchemeHydroInfo(scheme, true);
-                this.ShowProjectSiteSchemeWorkingEvent?.Invoke(_project, _projectSite, scheme, hydroInfo, working, this.svgImg32[4]);
-            };
-            elementScheme.Elements.Add(elementWorking);
+                return;
+            }
+            element.Tag = working;
+            element.Text = working.Name;
+            element.Hint = working.Description;
+            this.ProjectSiteSchemeWorkingUpdateEvent?.Invoke(scheme, working);
         }
 
         /// <summary>
@@ -536,9 +528,46 @@
         /// </summary>
         public void RemoveSchemeWorking(XhsSchemeVmo scheme, Yw.Vmo.HydroWorkingVmo working)
         {
-
+            if (_project == null)
+            {
+                return;
+            }
+            if (_projectSite == null)
+            {
+                return;
+            }
+            if (scheme == null)
+            {
+                return;
+            }
+            if (working == null)
+            {
+                return;
+            }
+            var elementScheme = this.elementSchemeList.Elements.FirstOrDefault(x => (x.Tag is XhsSchemeVmo) && (x.Tag as XhsSchemeVmo).ID == scheme.ID);
+            if (elementScheme == null)
+            {
+                return;
+            }
+            var element = elementScheme.Elements.
+                Where(x => (x.Tag is HydroWorkingVmo) && (x.Tag as HydroWorkingVmo).ID == working.ID).FirstOrDefault();
+            if (element == null)
+            {
+                return;
+            }
+            if (element.HeaderControl != null)
+            {
+                this.accordionControl1.Controls.Remove(element.HeaderControl);
+            }
+            elementScheme.Elements.Remove(element);
+            if (elementScheme.Elements.Count < 1)
+            {
+                elementScheme.Style = DevExpress.XtraBars.Navigation.ElementStyle.Item;
+            }
+            this.ProjectSiteSchemeWorkingRemoveEvent?.Invoke(scheme, working);
         }
 
+
         #endregion
 
 

--
Gitblit v1.9.3