From c9585ab171fb973d16792d7a290994bf8279da63 Mon Sep 17 00:00:00 2001 From: lixiaojun <1287241240@qq.com> Date: 星期六, 09 十一月 2024 09:56:41 +0800 Subject: [PATCH] 属性视图调整 --- WinFrmUI/HStation.WinFrmUI.Xhs.Core/03-simulation/01-property/XhsProjectSimulationPropertyCtrl.cs | 201 +++++++++++++++++++++++++++++++++++++------------ 1 files changed, 151 insertions(+), 50 deletions(-) diff --git a/WinFrmUI/HStation.WinFrmUI.Xhs.Core/03-simulation/01-property/XhsProjectSimulationPropertyCtrl.cs b/WinFrmUI/HStation.WinFrmUI.Xhs.Core/03-simulation/01-property/XhsProjectSimulationPropertyCtrl.cs index 609ca6d..b01974b 100644 --- a/WinFrmUI/HStation.WinFrmUI.Xhs.Core/03-simulation/01-property/XhsProjectSimulationPropertyCtrl.cs +++ b/WinFrmUI/HStation.WinFrmUI.Xhs.Core/03-simulation/01-property/XhsProjectSimulationPropertyCtrl.cs @@ -11,14 +11,21 @@ public XhsProjectSimulationPropertyCtrl() { InitializeComponent(); + this.hydroVisualPropertyCtrl1.MatchingDbEvent += HydroParterPropertyCtrl1_MatchingDbEvent; + this.hydroVisualPropertyCtrl1.SetCurveEvent += HydroParterPropertyCtrl1_SetCurveEvent; + this.hydroVisualPropertyCtrl1.SetPatternEvent += HydroParterPropertyCtrl1_SetPatternEvent; + this.hydroVisualPropertyCtrl1.BlinkLinkParterEvent += HydroParterPropertyCtrl1_BlinkLinkParterEvent; + this.hydroVisualPropertyCtrl1.HydroViewEvent += HydroParterPropertyCtrl1_ViewParterEvent; - this.hydroParterPropertyCtrl1.PropertyValueChangedEvent += HydroParterPropertyCtrl1_PropertyValueChangedEvent; - this.hydroParterPropertyCtrl1.PropertyValueChangingEvent += HydroParterPropertyCtrl1_PropertyValueChangingEvent; - this.hydroParterPropertyCtrl1.MatchingDbEvent += HydroParterPropertyCtrl1_MatchingDbEvent; - this.hydroParterPropertyCtrl1.SetCurveEvent += HydroParterPropertyCtrl1_SetCurveEvent; - this.hydroParterPropertyCtrl1.SetPatternEvent += HydroParterPropertyCtrl1_SetPatternEvent; - this.hydroParterPropertyCtrl1.BlinkLinkParterEvent += HydroParterPropertyCtrl1_BlinkLinkParterEvent; + this.hydroVisualPropertyCtrl1.PropertyValueChangedEvent += HydroParterPropertyCtrl1_PropertyValueChangedEvent; + this.hydroVisualPropertyCtrl1.MarkPropertyValueChangedEvent += HydroParterPropertyCtrl1_MarkPropertyValueChangedEvent; + this.hydroVisualPropertyCtrl1.GradingPropertyValueChangedEvent += HydroParterPropertyCtrl1_GradingPropertyValueChangedEvent; + this.hydroVisualPropertyCtrl1.FlowDirectionPropertyValueChangedEvent += HydroParterPropertyCtrl1_FlowDirectionPropertyValueChangedEvent; } + + + + /// <summary> @@ -27,6 +34,31 @@ /// 绗簩涓弬鏁颁负杩炴帴缁勪欢Code /// </summary> public event Action<string, string> BlinkLinkParterEvent; + + /// <summary> + /// 灞炴�у�兼敼鍙樹簨浠� + /// </summary> + public event Action<Yw.Model.HydroVisualInfo> PropertyValueChangedEvent; + + /// <summary> + /// 鏍囨敞灞炴�у�兼敼鍙樹簨浠� + /// </summary> + public event Action<Yw.Model.HydroVisualInfo> MarkPropertyValueChangedEvent; + + /// <summary> + /// 鍒嗙骇灞炴�у�兼敼鍙樹簨浠� + /// </summary> + public event Action<Yw.Model.HydroVisualInfo> GradingPropertyValueChangedEvent; + + /// <summary> + /// 娴佸悜灞炴�у�兼敼鍙樹簨浠� + /// </summary> + public event Action<Yw.Model.HydroVisualInfo> FlowDirectionPropertyValueChangedEvent; + + /// <summary> + /// 鏌ョ湅鏋勪欢浜嬩欢 + /// </summary> + public event Action<Yw.Model.HydroVisualInfo> ViewParterEvent; //姘村姏淇℃伅鏂规硶 private Func<Yw.Model.HydroModelInfo> _hydroInfoFunc = null; @@ -39,68 +71,77 @@ { _hydroInfoFunc = hydroInfoFunc; _allHydroCalcuResultListFunc = allHydroCalcuResultListFunc; - this.hydroParterPropertyCtrl1.InitialData(hydroInfoFunc); } - /// <summary> - /// 閫夋嫨缁勪欢 - /// </summary> - public void SelectParter(long id) + //鑾峰彇姘村姏淇℃伅 + private Yw.Model.HydroModelInfo GetHydroInfo() { var hydroInfo = _hydroInfoFunc?.Invoke(); if (hydroInfo == null) { - this.hydroParterPropertyCtrl1.SelectedObject = null; - return; + this.hydroVisualPropertyCtrl1.SelectedObject = null; + return default; } - var allParterList = hydroInfo.GetAllParters(); - var parter = allParterList.Find(x => x.ID == id); - var vm = Yw.WinFrmUI.HydroParterPropertyViewModelBuilder.CreateViewModel(parter, allParterList); - this.hydroParterPropertyCtrl1.SelectedObject = vm; + return hydroInfo; + } + + + public HydroVisualViewModel SelectedObject + { + get { return this.hydroVisualPropertyCtrl1.SelectedObject; } + set { this.hydroVisualPropertyCtrl1.SelectedObject = value; } } /// <summary> - /// 閫夋嫨缁勪欢 + /// 鏇存柊琛岋紝鏍峰紡涓嶅彉 /// </summary> - public void SelectParter(string code) + public void UpdateRows() { - var hydroInfo = _hydroInfoFunc?.Invoke(); - if (hydroInfo == null) + this.hydroVisualPropertyCtrl1?.UpdateRows(); + } + + /// <summary> + /// 閲嶆柊杞藉叆鏁版嵁 + /// </summary> + public void UpdateData() + { + this.hydroVisualPropertyCtrl1?.UpdateData(); + } + + /// <summary> + /// 鏇存柊灞炴�� + /// </summary> + public void UpdateProperty() + { + var vm = this.hydroVisualPropertyCtrl1.SelectedObject; + if (vm == null) { - this.hydroParterPropertyCtrl1.SelectedObject = null; return; } - var allParterList = hydroInfo.GetAllParters(); - var parter = allParterList.Find(x => x.Code == code); - var vm = Yw.WinFrmUI.HydroParterPropertyViewModelBuilder.CreateViewModel(parter, allParterList); - this.hydroParterPropertyCtrl1.SelectedObject = vm; - } - - /// <summary> - /// 閫夋嫨缁勪欢 - /// </summary> - public void SelectParter(Yw.Model.HydroParterInfo parter, List<Yw.Model.HydroParterInfo> allParterList) - { - var vm = Yw.WinFrmUI.HydroParterPropertyViewModelBuilder.CreateViewModel(parter, allParterList); - this.hydroParterPropertyCtrl1.SelectedObject = vm; + vm.UpdateProperty(); + this.hydroVisualPropertyCtrl1.UpdateRows(); } /// <summary> /// 鏇存柊璁$畻灞炴�� /// </summary> - public void UpdateCalcuProperty(Yw.WinFrmUI.IHydroCalcuResult rhs) + public void UpdateCalcuProperty(Yw.WinFrmUI.HydroCalcuResult calcuResult) { - var vm = this.hydroParterPropertyCtrl1.SelectedObject; + if (calcuResult == null) + { + return; + } + var vm = this.hydroVisualPropertyCtrl1.SelectedObject; if (vm == null) { return; } - vm.UpdateCalcuProperty(rhs); - this.hydroParterPropertyCtrl1.UpdateRows(); + vm.UpdateCalcuProperty(calcuResult); + this.hydroVisualPropertyCtrl1.UpdateRows(); } //閫夋嫨鏇茬嚎 - private bool HydroParterPropertyCtrl1_SetCurveEvent(HydroParterPropertyViewModel propViewModel, string curveType) + private bool HydroParterPropertyCtrl1_SetCurveEvent(HydroParterViewModel propViewModel, string curveType) { var hydroInfo = _hydroInfoFunc?.Invoke(); if (hydroInfo == null) @@ -124,7 +165,8 @@ var bol = AssetsMatchingParasHelper.Apply(hydroInfo, output); if (bol) { - propViewModel.UpdateProperty(pumpInfo, hydroInfo.GetAllParters()); + propViewModel.UpdateProperty(); + this.hydroVisualPropertyCtrl1.UpdateRows(); } return bol; }; @@ -157,7 +199,7 @@ } //閫夋嫨妯″紡 - private bool HydroParterPropertyCtrl1_SetPatternEvent(HydroParterPropertyViewModel propViewModel, string patternType) + private bool HydroParterPropertyCtrl1_SetPatternEvent(HydroParterViewModel propViewModel, string patternType) { switch (patternType) { @@ -177,19 +219,58 @@ } //灞炴�у彂鐢熸敼鍙� - private bool HydroParterPropertyCtrl1_PropertyValueChangedEvent(HydroParterPropertyViewModel obj) + private void HydroParterPropertyCtrl1_PropertyValueChangedEvent(HydroVisualViewModel vm) { - return false; + if (vm == null) + { + return; + } + this.PropertyValueChangedEvent?.Invoke(vm.Vmo); } + //鏍囨敞灞炴�у彂鐢熸敼鍙� + private void HydroParterPropertyCtrl1_MarkPropertyValueChangedEvent(HydroVisualViewModel vm) + { + if (vm == null) + { + return; + } + this.MarkPropertyValueChangedEvent?.Invoke(vm.Vmo); + } + + //鍒嗙骇灞炴�у彂鐢熸敼鍙� + private void HydroParterPropertyCtrl1_GradingPropertyValueChangedEvent(HydroVisualViewModel vm) + { + if (vm == null) + { + return; + } + this.GradingPropertyValueChangedEvent?.Invoke(vm.Vmo); + } + + //娴佸悜灞炴�у彂鐢熸敼鍙� + private void HydroParterPropertyCtrl1_FlowDirectionPropertyValueChangedEvent(HydroVisualViewModel vm) + { + if (vm == null) + { + return; + } + this.FlowDirectionPropertyValueChangedEvent?.Invoke(vm.Vmo); + } + + + + + + //灞炴�ф鍦ㄥ彂鐢熸敼鍙� - private bool HydroParterPropertyCtrl1_PropertyValueChangingEvent(HydroParterPropertyViewModel arg) + private bool HydroParterPropertyCtrl1_PropertyValueChangingEvent(HydroParterViewModel arg) { return false; } //鍖归厤Db - private bool HydroParterPropertyCtrl1_MatchingDbEvent(HydroParterPropertyViewModel propertyViewModel) + private bool HydroParterPropertyCtrl1_MatchingDbEvent(HydroParterViewModel propertyViewModel) { var bol = false; if (propertyViewModel == null) @@ -201,7 +282,7 @@ { return bol; } - var catalog = Yw.WinFrmUI.HydroParterCatalogHelper.GetCatalogCode(propertyViewModel.Catalog); + var catalog = Yw.WinFrmUI.HydroParterCatalogHelper.GetCode(propertyViewModel.Catalog); switch (catalog) { case Yw.Hydro.ParterCatalog.Pump://姘存车 @@ -220,7 +301,7 @@ bol = AssetsMatchingParasHelper.Apply(hydroInfo, output); if (bol) { - propertyViewModel.UpdateProperty(pumpInfo, hydroInfo.GetAllParters()); + propertyViewModel.UpdateProperty(); } }; dlg.ShowDialog(); @@ -238,7 +319,12 @@ dlg.SetBindingData(input); dlg.ReloadDataEvent += (rhs) => { - bol = AssetsMatchingParasHelper.Apply(hydroInfo, rhs); + var bol = AssetsMatchingParasHelper.Apply(hydroInfo, rhs); + if (bol) + { + propertyViewModel.UpdateProperty(); + this.hydroVisualPropertyCtrl1.UpdateRows(); + } }; dlg.ShowDialog(); } @@ -259,7 +345,12 @@ dlg.SetBindingData(input); dlg.ReloadDataEvent += (output) => { - bol = AssetsMatchingParasHelper.Apply(hydroInfo, output); + var bol = AssetsMatchingParasHelper.Apply(hydroInfo, output); + if (bol) + { + propertyViewModel.UpdateProperty(); + this.hydroVisualPropertyCtrl1.UpdateRows(); + } }; dlg.ShowDialog(); } @@ -291,6 +382,16 @@ this.BlinkLinkParterEvent?.Invoke(code, linkCode); } + //鏌ョ湅鏋勪欢 + private void HydroParterPropertyCtrl1_ViewParterEvent(HydroVisualViewModel vm) + { + if (vm == null) + { + return; + } + this.ViewParterEvent?.Invoke(vm.Vmo); + } + } } \ No newline at end of file -- Gitblit v1.9.3