From 8486fdaaf94faddbf7e475c660726f9a71b72a4b Mon Sep 17 00:00:00 2001
From: lixiaojun <1287241240@qq.com>
Date: 星期一, 02 十二月 2024 21:14:07 +0800
Subject: [PATCH] 修复phart问题

---
 WinFrmUI/Yw.WinFrmUI.Hydro.Core/19-pump/05-state/HydroPumpListStateEditCtrl.cs |   65 +++++++++++++++++++++++++++++++-
 1 files changed, 62 insertions(+), 3 deletions(-)

diff --git a/WinFrmUI/Yw.WinFrmUI.Hydro.Core/19-pump/05-state/HydroPumpListStateEditCtrl.cs b/WinFrmUI/Yw.WinFrmUI.Hydro.Core/19-pump/05-state/HydroPumpListStateEditCtrl.cs
index 94f8932..942eba7 100644
--- a/WinFrmUI/Yw.WinFrmUI.Hydro.Core/19-pump/05-state/HydroPumpListStateEditCtrl.cs
+++ b/WinFrmUI/Yw.WinFrmUI.Hydro.Core/19-pump/05-state/HydroPumpListStateEditCtrl.cs
@@ -19,6 +19,11 @@
             InitializeComponent();
         }
 
+        /// <summary>
+        /// 閫夋嫨鏀瑰彉浜嬩欢
+        /// </summary>
+        public event Action<HydroPumpListItemStateViewModel> SelectedChangedEvent;
+
         private BindingList<HydroPumpListItemStateViewModel> _allBindingList = null;
 
         /// <summary>
@@ -26,15 +31,15 @@
         /// </summary>
         public void SetBindingData(Yw.Model.HydroModelInfo hydroInfo)
         {
-            SetBindingData(hydroInfo?.Pumps);
+            SetBindingData(hydroInfo?.Pumps, hydroInfo);
         }
 
         /// <summary>
         /// 缁戝畾鏁版嵁
         /// </summary>
-        public void SetBindingData(List<Yw.Model.HydroPumpInfo> allPumpList)
+        public void SetBindingData(List<Yw.Model.HydroPumpInfo> allPumpList, Yw.Model.HydroModelInfo hydroInfo)
         {
-            var list = allPumpList?.Select(x => new HydroPumpListItemStateViewModel(x)).ToList();
+            var list = allPumpList?.Select(x => new HydroPumpListItemStateViewModel(x, hydroInfo)).ToList();
             SetBindingData(list);
         }
 
@@ -49,6 +54,60 @@
             this.hydroPumpListItemStateViewModelBindingSource.ResetBindings(false);
         }
 
+        /// <summary>
+        /// 鑾峰彇宸ュ喌鍒楄〃
+        /// </summary>
+        public List<HydroWorkingPumpViewModel> GetWorkingList()
+        {
+            return _allBindingList?.Select(x => new HydroWorkingPumpViewModel()
+            {
+                Code = x.Code,
+                LinkStatus = x.RunStatus ? Yw.Hydro.PumpStatus.Open : Yw.Hydro.PumpStatus.Closed,
+                CurrentHz = x.CurrentHz
+            }).ToList();
+        }
+
+        //
+        private void imageListBoxControl1_ContextButtonClick(object sender, DevExpress.Utils.ContextItemClickEventArgs e)
+        {
+            var vm = e.DataItem as HydroPumpListItemStateViewModel;
+            if (vm == null)
+            {
+                return;
+            }
+            var working = new HydroWorkingPumpViewModel()
+            {
+                Code = vm.Code,
+                LinkStatus = vm.RunStatus ? Yw.Hydro.PumpStatus.Open : Yw.Hydro.PumpStatus.Closed,
+                CurrentHz = vm.CurrentHz
+            };
+            var dlg = new SetHydroPumpWorkingDlg();
+            dlg.ReloadDataEvent += (rhs) =>
+            {
+                vm.RunStatus = rhs.LinkStatus == Yw.Hydro.PumpStatus.Open;
+                vm.CurrentHz = rhs.CurrentHz;
+                this.hydroPumpListItemStateViewModelBindingSource.ResetBindings(false);
+            };
+            dlg.SetBindingData(working);
+            dlg.ShowDialog();
+        }
+
+        //閫夋嫨鏀瑰彉
+        private void imageListBoxControl1_SelectedValueChanged(object sender, EventArgs e)
+        {
+            if (_allBindingList == null || _allBindingList.Count < 1)
+            {
+                return;
+            }
+            var item = this.imageListBoxControl1.SelectedItem;
+            var vm = item as HydroPumpListItemStateViewModel;
+            if (vm == null)
+            {
+                return;
+            }
+            this.SelectedChangedEvent?.Invoke(vm);
+        }
+
 
     }
 }

--
Gitblit v1.9.3