From d2dabd9187f2dc5a9f6ac3a90cf0577db1d883b8 Mon Sep 17 00:00:00 2001 From: lixiaojun <1287241240@qq.com> Date: 星期六, 23 十一月 2024 10:13:23 +0800 Subject: [PATCH] 工况协调 --- WinFrmUI/HStation.WinFrmUI.Xhs.Core/03-simulation/00-core/06-mark/SimulationMarkHelper.cs | 42 +- WinFrmUI/HStation.WinFrmUI.Xhs.Core/03-simulation/00-core/01-flow-effect/SimulationFlowEffectHelper.cs | 34 + WinFrmUI/HStation.WinFrmUI.Xhs.Core/03-simulation/00-core/03-calcu/01-result/SimulationCalcuResultHelper.cs | 50 +- WinFrmUI/HStation.WinFrmUI.Xhs.Core/03-simulation/00-core/03-calcu/02-label/SimulationCalcuResultLabelHelper.cs | 2 WinFrmUI/Yw.WinFrmUI.Hydro.Core/10-working/05-tree/HydroWorkingTreeCtrl.cs | 23 + WinFrmUI/HStation.WinFrmUI.Xhs.Core/03-simulation/00-core/07-grading/SimulationGradingHelper.cs | 4 WinFrmUI/HStation.WinFrmUI.Xhs.Core/03-simulation/06-simulation/XhsProjectSimulationCorePage.cs | 690 ++++++++++++++++++++-------------------- WinFrmUI/HStation.WinFrmUI.Xhs.Core/03-simulation/01-property/XhsProjectSimulationPropertyCtrl.cs | 45 - WinFrmUI/HStation.WinFrmUI.Xhs.Core/03-simulation/00-core/02-visual/03-vm/SimulationVisualVmListHelper.cs | 95 +--- 9 files changed, 488 insertions(+), 497 deletions(-) diff --git a/WinFrmUI/HStation.WinFrmUI.Xhs.Core/03-simulation/00-core/01-flow-effect/SimulationFlowEffectHelper.cs b/WinFrmUI/HStation.WinFrmUI.Xhs.Core/03-simulation/00-core/01-flow-effect/SimulationFlowEffectHelper.cs index adc013c..5f933e4 100644 --- a/WinFrmUI/HStation.WinFrmUI.Xhs.Core/03-simulation/00-core/01-flow-effect/SimulationFlowEffectHelper.cs +++ b/WinFrmUI/HStation.WinFrmUI.Xhs.Core/03-simulation/00-core/01-flow-effect/SimulationFlowEffectHelper.cs @@ -139,24 +139,40 @@ } /// <summary> - /// 鏇存柊 + /// 璁剧疆 /// </summary> - public void Update(HydroVisualInfo visual) + public void Set(HydroVisualInfo visual) { if (visual == null) { return; } - var item = this.Items?.Find(x => x.Id == visual.Code); - if (item == null) + var oldItem = this.Items?.Find(x => x.Id == visual.Code); + if (oldItem != null) { - return; + if (this.Items != null) + { + this.Items.Remove(oldItem); + } + this.Items?.Remove(oldItem); } - this.Items.Remove(item); var allCalcuResultVisualDict = _calcuResult?.GetVisualDict(); - item = CreateItem(visual, allCalcuResultVisualDict); - this.Items.Add(item); - _views?.ForEach(async x => await x.UpdateFlowEffect(item)); + var newItem = CreateItem(visual, allCalcuResultVisualDict); + if (newItem != null) + { + if (this.Items != null) + { + this.Items.Add(newItem); + } + } + if (this.Visible) + { + if (newItem != null) + { + _views?.ForEach(async x => await x.UpdateFlowEffect(newItem)); + } + } + } diff --git a/WinFrmUI/HStation.WinFrmUI.Xhs.Core/03-simulation/00-core/02-visual/03-vm/SimulationVisualVmListHelper.cs b/WinFrmUI/HStation.WinFrmUI.Xhs.Core/03-simulation/00-core/02-visual/03-vm/SimulationVisualVmListHelper.cs index 15ccf2e..9843933 100644 --- a/WinFrmUI/HStation.WinFrmUI.Xhs.Core/03-simulation/00-core/02-visual/03-vm/SimulationVisualVmListHelper.cs +++ b/WinFrmUI/HStation.WinFrmUI.Xhs.Core/03-simulation/00-core/02-visual/03-vm/SimulationVisualVmListHelper.cs @@ -1,4 +1,5 @@ 锘縰sing DevExpress.Mvvm.Native; +using Yw.EPAnet; using Yw.Model; namespace HStation.WinFrmUI @@ -11,51 +12,39 @@ /// <summary> /// /// </summary> - public SimulationVisualVmListHelper(SimulationVisualListHelper helper) + public SimulationVisualVmListHelper(SimulationVisualListHelper visualListHelper, SimulationCalcuResultHelper calcuResultHelper) { - _helper = helper; + _visualListHelper = visualListHelper; + _calcuResultHelper = calcuResultHelper; } - private SimulationVisualListHelper _helper = null;//杈呭姪绫� - private HydroModelInfo _hydroInfo = null;//姘村姏淇℃伅 + private SimulationVisualListHelper _visualListHelper = null;//鍙鍒楄〃杈呭姪绫� + private SimulationCalcuResultHelper _calcuResultHelper = null;//璁$畻缁撴灉杈呭姪绫� private Dictionary<string, HydroVisualViewModel> _dict;//瀛楀吀 - - /// <summary> - /// 鍒濆鍖栨暟鎹� - /// </summary> - public void InitialData(HydroModelInfo hydroInfo, HydroCalcuResult calcuResult = null) - { - _hydroInfo = hydroInfo; - if (_hydroInfo == null) - { - return; - } - var allVisualDict = _helper.GetVisualDict(); - if (allVisualDict != null && allVisualDict.Count > 0) - { - var allCalcuResultVisualDict = calcuResult?.GetVisualDict(); - _dict = new Dictionary<string, HydroVisualViewModel>(); - foreach (var visualKeyValue in allVisualDict) - { - var vm = HydroVisualViewModelBuilder.CreateVisualViewModel(visualKeyValue.Value, _hydroInfo); - var calcuVisualResult = allCalcuResultVisualDict?.GetValue(visualKeyValue.Key); - if (calcuVisualResult != null) - { - vm.UpdateCalcuProperty(calcuVisualResult); - } - _dict.Add(visualKeyValue.Key, vm); - } - } - } /// <summary> /// 鑾峰彇鍙瑙嗗浘瀛楀吀 /// </summary> public Dictionary<string, HydroVisualViewModel> GetVisualDict() { - if (_hydroInfo == null) + if (_dict == null) { - return default; + _dict = new Dictionary<string, HydroVisualViewModel>(); + var allVisualDict = _visualListHelper.GetVisualDict(); + if (allVisualDict != null && allVisualDict.Count > 0) + { + var allCalcuResultVisualDict = _calcuResultHelper.GetVisualDict(); + foreach (var visualKeyValue in allVisualDict) + { + var vm = HydroVisualViewModelBuilder.CreateVisualViewModel(visualKeyValue.Value, _visualListHelper.HydroInfo); + var calcuVisualResult = allCalcuResultVisualDict?.GetValue(visualKeyValue.Key); + if (calcuVisualResult != null) + { + vm.UpdateCalcuProperty(calcuVisualResult); + } + _dict.Add(visualKeyValue.Key, vm); + } + } } return _dict; } @@ -65,11 +54,8 @@ /// </summary> public List<HydroVisualViewModel> GetVisualList() { - if (_hydroInfo == null) - { - return default; - } - return _dict?.Values.ToList(); + var dict = GetVisualDict(); + return dict.Values.ToList(); } /// <summary> @@ -77,13 +63,10 @@ /// </summary> public HydroVisualViewModel GetVisual(string code) { - if (_dict == null || _dict.Count < 1) + var dict = GetVisualDict(); + if (dict.ContainsKey(code)) { - return default; - } - if (_dict.ContainsKey(code)) - { - return _dict[code]; + return dict[code]; } return default; } @@ -118,15 +101,8 @@ /// </summary> public void UpdateProperty() { - if (_hydroInfo == null) - { - return; - } - if (_dict == null || _dict.Count < 1) - { - return; - } - _dict.ForEach(x => x.Value.UpdateProperty()); + var dict = GetVisualDict(); + dict.ForEach(x => x.Value.UpdateProperty()); } /// <summary> @@ -169,16 +145,9 @@ /// </summary> public void UpdateCalcuProperty(HydroCalcuResult calcuResult) { - if (_hydroInfo == null) - { - return; - } - if (_dict == null || _dict.Count < 1) - { - return; - } + var dict = GetVisualDict(); var allCalcuResultVisualDict = calcuResult?.GetVisualDict(); - foreach (var visualKeyValue in _dict) + foreach (var visualKeyValue in dict) { var calcuVisualResult = allCalcuResultVisualDict?.GetValue(visualKeyValue.Key); visualKeyValue.Value.UpdateCalcuProperty(calcuVisualResult); diff --git a/WinFrmUI/HStation.WinFrmUI.Xhs.Core/03-simulation/00-core/03-calcu/01-result/SimulationCalcuResultHelper.cs b/WinFrmUI/HStation.WinFrmUI.Xhs.Core/03-simulation/00-core/03-calcu/01-result/SimulationCalcuResultHelper.cs index 52d3293..727b387 100644 --- a/WinFrmUI/HStation.WinFrmUI.Xhs.Core/03-simulation/00-core/03-calcu/01-result/SimulationCalcuResultHelper.cs +++ b/WinFrmUI/HStation.WinFrmUI.Xhs.Core/03-simulation/00-core/03-calcu/01-result/SimulationCalcuResultHelper.cs @@ -10,70 +10,70 @@ /// </summary> public SimulationCalcuResultHelper() { } + private HydroCalcuResult _calcuResult = null;//璁$畻缁撴灉 + private Dictionary<string, HydroCalcuVisualResult> _dict;//璁$畻缁撴灉鍙瀛楀吀 + /// <summary> /// 璁$畻缁撴灉 /// </summary> public HydroCalcuResult CalcuResult { get { return _calcuResult; } - set - { - _dict = value?.GetVisualDict(); - _calcuResult = value; - } } - private HydroCalcuResult _calcuResult = null; - - private Dictionary<string, HydroCalcuVisualResult> _dict;//鍙瀛楀吀 /// <summary> - /// 鑾峰彇鍙缁撴灉瀛楀吀 + /// 鍒濆鍖栨暟鎹� /// </summary> - public Dictionary<string, HydroCalcuVisualResult> GetVisualResultDict() + public void InitialData(HydroCalcuResult calcuResult) + { + _calcuResult = calcuResult; + _dict = _calcuResult.GetVisualDict(); + } + + /// <summary> + /// 鑾峰彇鍙瀛楀吀 + /// </summary> + public Dictionary<string, HydroCalcuVisualResult> GetVisualDict() { return _dict; } /// <summary> - /// 鑾峰彇鍙缁撴灉鍒楄〃 + /// 鑾峰彇鍙鍒楄〃 /// </summary> - public List<HydroCalcuVisualResult> GetVisualResultList() + public List<HydroCalcuVisualResult> GetVisualList() { - if (CalcuResult == null) - { - return default; - } return _dict?.Values.ToList(); } /// <summary> - /// 鑾峰彇鍙缁撴灉 + /// 鑾峰彇鍙 /// </summary> - public HydroCalcuVisualResult GetVisualResult(string code) + public HydroCalcuVisualResult GetVisual(string code) { return _dict?.GetValue(code); } /// <summary> - /// 鑾峰彇鍙缁撴灉鍒楄〃 + /// 鑾峰彇鍙鍒楄〃 /// </summary> - public List<HydroCalcuVisualResult> GetVisualResultList(List<string> codes) + public List<HydroCalcuVisualResult> GetVisualList(List<string> codes) { - return codes?.Select(x => GetVisualResult(x)).Where(x => x != null).ToList(); + return codes?.Select(x => GetVisual(x)).Where(x => x != null).ToList(); } /// <summary> - /// 鑾峰彇鑺傜偣缁撴灉鍒楄〃 + /// 鑾峰彇鑺傜偣鍒楄〃 /// </summary> - public List<HydroCalcuNodeResult> GetNodeResultList() + public List<HydroCalcuNodeResult> GetNodeList() { return CalcuResult?.NodeList?.ToList(); } /// <summary> - /// 鑾峰彇绠℃缁撴灉鍒楄〃 + /// 鑾峰彇绠℃鍒楄〃 /// </summary> - public List<HydroCalcuLinkResult> GetLinkResultList() + public List<HydroCalcuLinkResult> GetLinkList() { return CalcuResult?.LinkList?.ToList(); } diff --git a/WinFrmUI/HStation.WinFrmUI.Xhs.Core/03-simulation/00-core/03-calcu/02-label/SimulationCalcuResultLabelHelper.cs b/WinFrmUI/HStation.WinFrmUI.Xhs.Core/03-simulation/00-core/03-calcu/02-label/SimulationCalcuResultLabelHelper.cs index f8d17fa..3124855 100644 --- a/WinFrmUI/HStation.WinFrmUI.Xhs.Core/03-simulation/00-core/03-calcu/02-label/SimulationCalcuResultLabelHelper.cs +++ b/WinFrmUI/HStation.WinFrmUI.Xhs.Core/03-simulation/00-core/03-calcu/02-label/SimulationCalcuResultLabelHelper.cs @@ -61,7 +61,7 @@ { return default; } - var allCalcuResultVisualDict = _calcuResultHelper.GetVisualResultDict(); + var allCalcuResultVisualDict = _calcuResultHelper.GetVisualDict(); var allCalcuLabels = new List<LogicCalcuCustomLabel>(); hydroInfo.Pumps?.ForEach(x => { diff --git a/WinFrmUI/HStation.WinFrmUI.Xhs.Core/03-simulation/00-core/06-mark/SimulationMarkHelper.cs b/WinFrmUI/HStation.WinFrmUI.Xhs.Core/03-simulation/00-core/06-mark/SimulationMarkHelper.cs index 5d60ccd..8a1270d 100644 --- a/WinFrmUI/HStation.WinFrmUI.Xhs.Core/03-simulation/00-core/06-mark/SimulationMarkHelper.cs +++ b/WinFrmUI/HStation.WinFrmUI.Xhs.Core/03-simulation/00-core/06-mark/SimulationMarkHelper.cs @@ -98,9 +98,25 @@ } /// <summary> - /// 鏇存柊 + /// 璁剧疆 /// </summary> - public void Update(HydroVisualInfo visual) + public void Set() + { + if (this.Visible) + { + var leadLabels = this.Results?.Select(x => new LogicMarkLeadLabel(x.Code, x.Text, null)).ToList(); + _views?.ForEach(x => x.SetLogicMarkLeadLabels(leadLabels)); + } + else + { + _views?.ForEach(x => x.ClearLogicMarkLeadLabels()); + } + } + + /// <summary> + /// 璁剧疆 + /// </summary> + public void Set(HydroVisualInfo visual) { if (visual == null) { @@ -121,31 +137,15 @@ } /// <summary> - /// 鏇存柊 + /// 璁剧疆 /// </summary> - public void Update(List<HydroVisualInfo> visuals) + public void Set(List<HydroVisualInfo> visuals) { if (visuals == null || visuals.Count < 1) { return; } - visuals.ForEach(x => Update(x)); - } - - /// <summary> - /// 璁剧疆 - /// </summary> - public void Set() - { - if (this.Visible) - { - var leadLabels = this.Results?.Select(x => new LogicMarkLeadLabel(x.Code, x.Text, null)).ToList(); - _views?.ForEach(x => x.SetLogicMarkLeadLabels(leadLabels)); - } - else - { - _views?.ForEach(x => x.ClearLogicMarkLeadLabels()); - } + visuals.ForEach(x => Set(x)); } diff --git a/WinFrmUI/HStation.WinFrmUI.Xhs.Core/03-simulation/00-core/07-grading/SimulationGradingHelper.cs b/WinFrmUI/HStation.WinFrmUI.Xhs.Core/03-simulation/00-core/07-grading/SimulationGradingHelper.cs index 6a507f0..b81494e 100644 --- a/WinFrmUI/HStation.WinFrmUI.Xhs.Core/03-simulation/00-core/07-grading/SimulationGradingHelper.cs +++ b/WinFrmUI/HStation.WinFrmUI.Xhs.Core/03-simulation/00-core/07-grading/SimulationGradingHelper.cs @@ -117,7 +117,7 @@ private async Task<List<HydroGradingResultViewModel>> GetResultList() { var allGradingList = await GetGradingList(); - _allResultList = HydroGradingHelper.GetResultList(_visualListHelper.HydroInfo, allGradingList, this.Applies, _calcuResultHelper.GetVisualResultDict()); + _allResultList = HydroGradingHelper.GetResultList(_visualListHelper.HydroInfo, allGradingList, this.Applies, _calcuResultHelper.GetVisualDict()); if (_allResultList == null) { _allResultList = new List<HydroGradingResultViewModel>(); @@ -162,7 +162,7 @@ _allResultList.Remove(oldResult); } var allGradingList = await GetGradingList(); - var newResult = HydroGradingHelper.GetResult(visual, allGradingList, this.Applies, _calcuResultHelper.GetVisualResultDict()); + var newResult = HydroGradingHelper.GetResult(visual, allGradingList, this.Applies, _calcuResultHelper.GetVisualDict()); if (newResult != null) { if (_allResultList != null) 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 38a4fb0..6705ce7 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 @@ -1,5 +1,6 @@ 锘縰sing HStation.WinFrmUI.PhartRelation; using HStation.WinFrmUI.Xhs; +using Yw.Model; namespace HStation.WinFrmUI { @@ -28,34 +29,34 @@ /// <summary> /// 鏋勪欢鏌ョ湅浜嬩欢 /// </summary> - public event Action<HydroVisualViewModel> HydroViewEvent; + public event Action<HydroVisualInfo> HydroViewEvent; /// <summary> /// 寮鸿皟杩炴帴缁勪欢浜嬩欢 /// 绗竴涓弬鏁颁负缁勪欢 /// 绗簩涓弬鏁颁负杩炴帴鑺傜偣Code /// </summary> - public event Action<HydroLinkViewModel, string> BlinkLinkNodeEvent; + public event Action<HydroLinkInfo, string> BlinkLinkNodeEvent; /// <summary> /// 灞炴�у�兼敼鍙樹簨浠� /// </summary> - public event Action<HydroVisualViewModel> PropertyValueChangedEvent; + public event Action<HydroVisualInfo> PropertyValueChangedEvent; /// <summary> /// 鏍囨敞灞炴�у�兼敼鍙樹簨浠� /// </summary> - public event Action<HydroVisualViewModel> MarkPropertyValueChangedEvent; + public event Action<HydroVisualInfo> MarkPropertyValueChangedEvent; /// <summary> /// 鍒嗙骇灞炴�у�兼敼鍙樹簨浠� /// </summary> - public event Action<HydroVisualViewModel> GradingPropertyValueChangedEvent; + public event Action<HydroVisualInfo> GradingPropertyValueChangedEvent; /// <summary> /// 姘存祦鍔ㄧ敾灞炴�у�兼敼鍙樹簨浠� /// </summary> - public event Action<HydroVisualViewModel> FlowEffectPropertyValueChangedEvent; + public event Action<HydroVisualInfo> FlowEffectPropertyValueChangedEvent; #endregion @@ -284,11 +285,7 @@ //鏋勪欢鏌ョ湅浜嬩欢 private void HydroVisualPropertyCtrl1_HydroViewEvent(HydroVisualViewModel vm) { - if (vm == null) - { - return; - } - this.HydroViewEvent?.Invoke(vm); + this.HydroViewEvent?.Invoke(vm?.Vmo); } //寮鸿皟杩炴帴鑺傜偣 @@ -302,47 +299,31 @@ { return; } - this.BlinkLinkNodeEvent?.Invoke(vm, linkNodeCode); + this.BlinkLinkNodeEvent?.Invoke(vm?.Vmo, linkNodeCode); } //灞炴�у彂鐢熸敼鍙� private void HydroVisualPropertyCtrl1_PropertyValueChangedEvent(HydroVisualViewModel vm) { - if (vm == null) - { - return; - } - this.PropertyValueChangedEvent?.Invoke(vm); + this.PropertyValueChangedEvent?.Invoke(vm?.Vmo); } //鏍囨敞灞炴�у彂鐢熸敼鍙� private void HydroVisualPropertyCtrl1_MarkPropertyValueChangedEvent(HydroVisualViewModel vm) { - if (vm == null) - { - return; - } - this.MarkPropertyValueChangedEvent?.Invoke(vm); + this.MarkPropertyValueChangedEvent?.Invoke(vm?.Vmo); } //鍒嗙骇灞炴�у彂鐢熸敼鍙� private void HydroPVisualPropertyCtrl1_GradingPropertyValueChangedEvent(HydroVisualViewModel vm) { - if (vm == null) - { - return; - } - this.GradingPropertyValueChangedEvent?.Invoke(vm); + this.GradingPropertyValueChangedEvent?.Invoke(vm?.Vmo); } //姘存祦鍔ㄧ敾灞炴�у彂鐢熸敼鍙� private void HydroVisualPropertyCtrl1_FlowEffectPropertyValueChangedEvent(HydroVisualViewModel vm) { - if (vm == null) - { - return; - } - this.FlowEffectPropertyValueChangedEvent?.Invoke(vm); + this.FlowEffectPropertyValueChangedEvent?.Invoke(vm?.Vmo); } #endregion diff --git a/WinFrmUI/HStation.WinFrmUI.Xhs.Core/03-simulation/06-simulation/XhsProjectSimulationCorePage.cs b/WinFrmUI/HStation.WinFrmUI.Xhs.Core/03-simulation/06-simulation/XhsProjectSimulationCorePage.cs index bea98c7..51ca1cc 100644 --- a/WinFrmUI/HStation.WinFrmUI.Xhs.Core/03-simulation/06-simulation/XhsProjectSimulationCorePage.cs +++ b/WinFrmUI/HStation.WinFrmUI.Xhs.Core/03-simulation/06-simulation/XhsProjectSimulationCorePage.cs @@ -1,31 +1,10 @@ -锘縢lobal using Yw.EPAnet; -using DevExpress.CodeParser; -using DevExpress.Diagram.Core.Native; +锘縰sing DevExpress.Diagram.Core.Native; using DevExpress.Mvvm.Native; -using DevExpress.Office.Utils; -using DevExpress.PivotGrid.QueryMode.TuplesTree; -using DevExpress.Utils.Extensions; -using DevExpress.Xpo.Helpers; -using DevExpress.XtraBars.Ribbon; -using DevExpress.XtraPrinting.Native; -using DevExpress.XtraRichEdit.Layout; -using DevExpress.XtraSpreadsheet.Commands; using HStation.WinFrmUI.PhartRelation; -using Microsoft.Web.WebView2.Core; -using NetTaste; using NPOI.SS.Formula.Functions; -using System.Collections.Generic; using System.Diagnostics; -using System.Windows.Media; -using System.Windows.Media.Media3D; -using Yw.DAL.Basic; -using Yw.Hydro; using Yw.Model; -using Yw.Pump; using Yw.Vmo; -using Yw.WinFrmUI.Bimface; -using Yw.WinFrmUI.Hydro; -using static DevExpress.Map.OpenGL.OpenGLCheckingHelper; namespace HStation.WinFrmUI { @@ -91,9 +70,14 @@ ShowPropertyCtrl(); } - private void InitialUI() + //鍒濆鍖朥I + private async void InitialUI() { - InitialWorkingList(); + var workingTupleHelper = GetWorkingTupleHelper(); + var allWorkingList = await workingTupleHelper.GetWorkingList(); + InitialUIWorkingList(allWorkingList); + var working = allWorkingList?.LastOrDefault(); + SetUIWorking(working); } @@ -105,6 +89,10 @@ //鑾峰彇 bimface 鎺т欢 private async Task<XhsProjectSimulationBimfaceCtrl> GetBimfaceCtrl() { + if (_hydroInfo == null) + { + return default; + } if (_bimfaceCtrl == null) { _bimfaceCtrl = new XhsProjectSimulationBimfaceCtrl(); @@ -118,14 +106,11 @@ } InitialUI(); }; - _bimfaceCtrl.HydroMouseLeftClickEvent += (obj) => + _bimfaceCtrl.HydroMouseLeftClickEvent += (code) => {//榧犳爣宸﹂敭鐐瑰嚮浜嬩欢 - if (_hydroInfo == null) - { - return; - } - //_selectedVisual = obj; - //ShowSelectedProperty(); + var visualListHelper = GetVisualListHelper(); + var visual = visualListHelper.GetVisual(code); + SelectVisual(visual, eVisualSource.Bimface); }; } return _bimfaceCtrl; @@ -139,11 +124,6 @@ this.tabPageBimface.Controls.Add(bimfaceCtrl); } - private void SelectBimfaceParter() - { - - } - #endregion #region Q3d鎺т欢 @@ -154,20 +134,20 @@ //鑾峰彇 Q3d 鎺т欢 private XhsProjectSimulationQ3dCtrl GetQ3dCtrl() { + if (_hydroInfo == null) + { + return default; + } if (_q3dCtrl == null) { _q3dCtrl = new XhsProjectSimulationQ3dCtrl(); _q3dCtrl.Dock = DockStyle.Fill; _q3dCtrl.InitialData(() => _hydroInfo); - _q3dCtrl.SelectedPartersChangedEvent += (obj) => + _q3dCtrl.SelectedPartersChangedEvent += (codes) => { - if (_hydroInfo == null) - { - return; - } - var allParterList = _hydroInfo.GetAllVisuals(); - _visual = allParterList?.Find(x => x.Code == obj?.FirstOrDefault()); - //ShowSelectedProperty(); + var visualListHelper = GetVisualListHelper(); + var visuals = visualListHelper.GetVisualList(codes); + SelectVisual(visuals?.LastOrDefault(), eVisualSource.Q3d); }; } return _q3dCtrl; @@ -179,6 +159,259 @@ var q3dCtrl = GetQ3dCtrl(); this.tabPageQ3d.Controls.Clear(); this.tabPageQ3d.Controls.Add(q3dCtrl); + } + + #endregion + + #region 灞炴�ф帶浠� + + //灞炴�ф帶浠� + private XhsProjectSimulationPropertyCtrl _propertyCtrl = null; + + //鑾峰彇灞炴�ф帶浠� + private XhsProjectSimulationPropertyCtrl GetPropertyCtrl() + { + if (_hydroInfo == null) + { + return default; + } + if (_propertyCtrl == null) + { + _propertyCtrl = new XhsProjectSimulationPropertyCtrl(); + _propertyCtrl.Dock = DockStyle.Fill; + _propertyCtrl.HydroViewEvent += (visual) => + { + SelectVisual(visual, eVisualSource.Property); + }; + _propertyCtrl.BlinkLinkNodeEvent += async (link, linkNodeCode) => + { //寮鸿皟杩炴帴鑺傜偣 + if (link == null) + { + return; + } + var visualListHelper = GetVisualListHelper(); + var linkNode = visualListHelper.GetVisual(linkNodeCode); + if (linkNode == null) + { + return; + } + var blinkCodes = new List<string>(); + if (linkNode.GetType() == typeof(HydroJunctionInfo)) + { + var allLinkList = visualListHelper.GetLinkList(); + if (allLinkList == null || allLinkList.Count < 1) + { + return; + } + var linkList = allLinkList.Where(x => (x.StartCode == linkNodeCode || x.EndCode == linkNodeCode) && x.Code != linkNodeCode).ToList(); + if (linkList == null || linkList.Count < 1) + { + return; + } + blinkCodes.AddRange(linkList.Select(x => x.Code)); + } + else + { + blinkCodes.Add(linkNodeCode); + } + + await _bimfaceCtrl?.ClearBlinkComponents(); + await _bimfaceCtrl?.SetBlinkComponents(blinkCodes); + await Task.Delay(5000); + await _bimfaceCtrl?.ClearBlinkComponents(); + }; + _propertyCtrl.PropertyValueChangedEvent += async (visual) => + { + if (visual == null) + { + return; + } + UpdateVisualListCtrl(); + var gradingHelper = await GetGradingHelper(); + gradingHelper.Set(); + }; + _propertyCtrl.MarkPropertyValueChangedEvent += async (visual) => + { + //鏍囨敞灞炴�у彂鐢熸敼鍙� + //鍒ゆ柇褰撳墠鏄惁鏈夋爣娉ㄥ睍绀猴紝鑻ユ湁鍒欐洿鏂版爣娉紝鏈�濂芥槸鏇存柊鍗曚釜鏍囨敞 + var markHelper = await GetMarkHelper(); + markHelper.Set(visual); + }; + _propertyCtrl.GradingPropertyValueChangedEvent += async (visual) => + { + //鍒嗙骇灞炴�у彂鐢熸敼鍙� + //鍒ゆ柇褰撳墠鏄惁鏈夊垎绾у睍绀猴紝鑻ユ湁鍒欐洿鏂板垎绾э紝鏈�濂芥槸鏇存柊鍗曚釜鍒嗙骇 + var gradingHelper = await GetGradingHelper(); + gradingHelper.Set(visual); + }; + _propertyCtrl.FlowEffectPropertyValueChangedEvent += async (visual) => + { + //娴佸悜灞炴�у彂鐢熸敼鍙� + //鍒ゆ柇娴佸悜鏄惁鍔犺浇锛屽鏋滃姞杞藉垯鏇存柊娴佸悜锛屾渶濂芥槸鏇存柊鍗曚釜娴佸悜 + var flowEffectHelper = await GetFlowEffectHelper(); + flowEffectHelper.Set(visual); + }; + + } + return _propertyCtrl; + } + + //灞炴�ф帶浠舵槸鍚﹀彲瑙� + private bool IsPropertyCtrlVisible + { + get + { + if (this.docPnlRight.Visibility == DevExpress.XtraBars.Docking.DockVisibility.Visible) + { + if (this.controlContainerRight.Controls.Count > 0) + { + if (this.controlContainerRight.Controls[0] is XhsProjectSimulationPropertyCtrl) + { + return true; + } + } + } + return false; + } + } + + //鏄剧ず灞炴�ф帶浠� + private void ShowPropertyCtrl() + { + if (IsPropertyCtrlVisible) + { + return; + } + var propertyCtrl = GetPropertyCtrl(); + this.controlContainerRight.Controls.Clear(); + this.controlContainerRight.Controls.Add(propertyCtrl); + this.docPnlRight.Visibility = DevExpress.XtraBars.Docking.DockVisibility.Visible; + this.docPnlRight.Text = "灞炴��"; + this.docPnlRight.Width = 300; + } + + //璁剧疆灞炴�ф帶浠� + private async void SetPropertyCtrl(HydroVisualInfo visual) + { + ShowPropertyCtrl(); + var visualVmListHelper = await GetVisualVmListHelper(); + var vm = visualVmListHelper.GetVisual(visual); + _propertyCtrl.SelectedObject = vm; + } + + //鏇存柊灞炴�ф帶浠� + private void UpdatePropertyCtrl() + { + _propertyCtrl?.UpdateRows(); + } + + //娓呯悊灞炴�ф帶浠� + private void ClearPropertyCtrl() + { + if (_propertyCtrl != null) + { + _propertyCtrl.SelectedObject = null; + } + } + + #endregion + + #region 閫夋嫨鏋勪欢 + + //鍙鏉ユ簮 + protected enum eVisualSource + { + None, + Bimface, + Q3d, + Property, + List, + Search, + Monitor, + Check, + Calcu, + Warning, + } + + //閫夋嫨鏋勪欢 + private Yw.Model.HydroVisualInfo _visual = null; + + //閫夋嫨鏋勪欢 + private void SelectVisual(HydroVisualInfo visual, eVisualSource source) + { + _visual = visual; + switch (source) + { + case eVisualSource.None: + { + _bimfaceCtrl?.ZoomAndSelectComponent(visual?.Code); + this.barBtnSetMonitor.Enabled = visual != null; + SetPropertyCtrl(visual); + } + break; + case eVisualSource.Bimface: + { + this.barBtnSetMonitor.Enabled = visual != null; + SetPropertyCtrl(visual); + } + break; + case eVisualSource.Q3d: + { + _bimfaceCtrl?.ZoomAndSelectComponent(visual?.Code); + this.barBtnSetMonitor.Enabled = visual != null; + SetPropertyCtrl(visual); + } + break; + case eVisualSource.Property: + { + _bimfaceCtrl?.ZoomAndSelectComponent(visual?.Code); + this.barBtnSetMonitor.Enabled = visual != null; + } + break; + case eVisualSource.List: + { + _bimfaceCtrl?.ZoomAndSelectComponent(visual?.Code); + this.barBtnSetMonitor.Enabled = visual != null; + SetPropertyCtrl(visual); + } + break; + case eVisualSource.Search: + { + _bimfaceCtrl?.ZoomAndSelectComponent(visual?.Code); + this.barBtnSetMonitor.Enabled = visual != null; + SetPropertyCtrl(visual); + } + break; + case eVisualSource.Monitor: + { + _bimfaceCtrl?.ZoomAndSelectComponent(visual?.Code); + this.barBtnSetMonitor.Enabled = visual != null; + SetPropertyCtrl(visual); + } + break; + case eVisualSource.Check: + { + _bimfaceCtrl?.ZoomAndSelectComponent(visual?.Code); + this.barBtnSetMonitor.Enabled = visual != null; + SetPropertyCtrl(visual); + } + break; + case eVisualSource.Calcu: + { + _bimfaceCtrl?.ZoomAndSelectComponent(visual?.Code); + this.barBtnSetMonitor.Enabled = visual != null; + SetPropertyCtrl(visual); + } + break; + case eVisualSource.Warning: + { + _bimfaceCtrl?.ZoomAndSelectComponent(visual?.Code); + this.barBtnSetMonitor.Enabled = visual != null; + SetPropertyCtrl(visual); + } + break; + default: break; + } } #endregion @@ -218,10 +451,8 @@ if (_visualVmListHelper == null) { var visualListHelper = GetVisualListHelper(); - _visualVmListHelper = new SimulationVisualVmListHelper(visualListHelper); - var workingTupleHelper = GetWorkingTupleHelper(); - var calcuResult = await workingTupleHelper.GetCalcuResult(_working); - _visualVmListHelper.InitialData(_hydroInfo, calcuResult); + var calcuResultHelper = await GetCalcuResultHelper(); + _visualVmListHelper = new SimulationVisualVmListHelper(visualListHelper, calcuResultHelper); } return _visualVmListHelper; } @@ -367,238 +598,6 @@ } #endregion - - #endregion - - #region 閫夋嫨鏋勪欢 - - //鍙鏉ユ簮 - protected enum eVisualSource - { - None, - Bimface, - Q3d, - Check, - Property, - Calcu, - Monitor, - Warning, - Search, - } - - //閫夋嫨鏋勪欢 - private Yw.Model.HydroVisualInfo _visual = null; - - //閫夋嫨鏋勪欢 - private void SelectVisual(HydroVisualInfo visual, eVisualSource source) - { - if (visual == null) - { - switch (source) - { - case eVisualSource.None: - { - _bimfaceCtrl?.ZoomAndSelectComponent(null); - this.barBtnSetMonitor.Enabled = false; - ClearPropertyCtrl(); - } - break; - case eVisualSource.Bimface: - { - this.barBtnSetMonitor.Enabled = false; - ClearPropertyCtrl(); - } - break; - case eVisualSource.Check: - { - _bimfaceCtrl?.ZoomAndSelectComponent(null); - this.barBtnSetMonitor.Enabled = false; - ClearPropertyCtrl(); - } - break; - case eVisualSource.Property: - { - _bimfaceCtrl?.ZoomAndSelectComponent(null); - this.barBtnSetMonitor.Enabled = false; - } - break; - case eVisualSource.Calcu: - { - _bimfaceCtrl?.ZoomAndSelectComponent(null); - this.barBtnSetMonitor.Enabled = false; - ClearPropertyCtrl(); - } - break; - default: break; - } - _visual = null; - return; - } - if (_visual == null) - { - - _visual = visual; - return; - } - if (_visual.Code == visual.Code) - { - UpdatePropertyCtrl(); - return; - } - _visual = visual; - _bimfaceCtrl?.ZoomAndSelectComponent(visual.Code); - this.barBtnSetMonitor.Enabled = true; - SetPropertyCtrl(visual); - } - - #endregion - - #region 灞炴�ф帶浠� - - //灞炴�ф帶浠� - private XhsProjectSimulationPropertyCtrl _propertyCtrl = null; - - //鑾峰彇灞炴�ф帶浠� - private XhsProjectSimulationPropertyCtrl GetPropertyCtrl() - { - if (_hydroInfo == null) - { - return default; - } - if (_propertyCtrl == null) - { - _propertyCtrl = new XhsProjectSimulationPropertyCtrl(); - _propertyCtrl.Dock = DockStyle.Fill; - _propertyCtrl.HydroViewEvent += (visual) => - { - if (visual == null) - { - return; - } - _bimfaceCtrl?.ZoomToComponent(visual.Code); - }; - _propertyCtrl.BlinkLinkNodeEvent += async (link, linkNodeCode) => - { //寮鸿皟杩炴帴鑺傜偣 - if (link == null) - { - return; - } - var visualListHelper = GetVisualListHelper(); - var linkNode = visualListHelper.GetVisual(linkNodeCode); - if (linkNode == null) - { - return; - } - var blinkCodes = new List<string>(); - if (linkNode.GetType() == typeof(HydroJunctionInfo)) - { - var allLinkList = visualListHelper.GetLinkList(); - if (allLinkList == null || allLinkList.Count < 1) - { - return; - } - var linkList = allLinkList.Where(x => (x.StartCode == linkNodeCode || x.EndCode == linkNodeCode) && x.Code != linkNodeCode).ToList(); - if (linkList == null || linkList.Count < 1) - { - return; - } - blinkCodes.AddRange(linkList.Select(x => x.Code)); - } - else - { - blinkCodes.Add(linkNodeCode); - } - - await _bimfaceCtrl?.ClearBlinkComponents(); - await _bimfaceCtrl?.SetBlinkComponents(blinkCodes); - await Task.Delay(5000); - await _bimfaceCtrl?.ClearBlinkComponents(); - }; - _propertyCtrl.PropertyValueChangedEvent += (visual) => - { - if (visual == null) - { - return; - } - UpdateVisualListCtrl(); - //ApplyGradingResultList(visual); - }; - _propertyCtrl.MarkPropertyValueChangedEvent += (visual) => - { - //鏍囨敞灞炴�у彂鐢熸敼鍙� - //鍒ゆ柇褰撳墠鏄惁鏈夋爣娉ㄥ睍绀猴紝鑻ユ湁鍒欐洿鏂版爣娉紝鏈�濂芥槸鏇存柊鍗曚釜鏍囨敞 - }; - _propertyCtrl.GradingPropertyValueChangedEvent += (parter) => - { - //鍒嗙骇灞炴�у彂鐢熸敼鍙� - //鍒ゆ柇褰撳墠鏄惁鏈夊垎绾у睍绀猴紝鑻ユ湁鍒欐洿鏂板垎绾э紝鏈�濂芥槸鏇存柊鍗曚釜鍒嗙骇 - }; - _propertyCtrl.FlowEffectPropertyValueChangedEvent += (visual) => - { - //娴佸悜灞炴�у彂鐢熸敼鍙� - //鍒ゆ柇娴佸悜鏄惁鍔犺浇锛屽鏋滃姞杞藉垯鏇存柊娴佸悜锛屾渶濂芥槸鏇存柊鍗曚釜娴佸悜 - }; - - } - return _propertyCtrl; - } - - //灞炴�ф帶浠舵槸鍚﹀彲瑙� - private bool IsPropertyCtrlVisible - { - get - { - if (this.docPnlRight.Visibility == DevExpress.XtraBars.Docking.DockVisibility.Visible) - { - if (this.controlContainerRight.Controls.Count > 0) - { - if (this.controlContainerRight.Controls[0] is XhsProjectSimulationPropertyCtrl) - { - return true; - } - } - } - return false; - } - } - - //鏄剧ず灞炴�ф帶浠� - private void ShowPropertyCtrl() - { - if (IsPropertyCtrlVisible) - { - return; - } - var propertyCtrl = GetPropertyCtrl(); - this.controlContainerRight.Controls.Clear(); - this.controlContainerRight.Controls.Add(propertyCtrl); - this.docPnlRight.Visibility = DevExpress.XtraBars.Docking.DockVisibility.Visible; - this.docPnlRight.Text = "灞炴��"; - this.docPnlRight.Width = 300; - } - - //璁剧疆灞炴�ф帶浠� - private void SetPropertyCtrl(HydroVisualInfo visual) - { - ShowPropertyCtrl(); - // var vm = GetVisualViewModel(visual); - // _propertyCtrl.SelectedObject = vm; - } - - //鏇存柊灞炴�ф帶浠� - private void UpdatePropertyCtrl() - { - _propertyCtrl?.UpdateRows(); - } - - //娓呯悊灞炴�ф帶浠� - private void ClearPropertyCtrl() - { - if (_propertyCtrl != null) - { - _propertyCtrl.SelectedObject = null; - } - } #endregion @@ -1731,7 +1730,8 @@ if (_calcuResultHelper == null) { _calcuResultHelper = new SimulationCalcuResultHelper(); - _calcuResultHelper.CalcuResult = await GetCalcuResult(); + var calcuResult = await GetCalcuResult(); + _calcuResultHelper.InitialData(calcuResult); } return _calcuResultHelper; } @@ -2120,55 +2120,41 @@ TipFormHelper.ShowError("鍒涘缓宸ュ喌澶辫触锛岃绠楀彇娑堬紒"); return; } - allWorkingList.Add(vmo); _hydroInfo.UpdateWorkingInfo(working.WorkingInfo); + //鏍¢獙 var checkResult = _hydroInfo.Check(); if (!checkResult.Succeed) { - workingTupleHelper.AppendTuple(vmo, checkResult, null); - AppendWorking(vmo); ShowCheckCtrl(checkResult); - TipFormHelper.ShowWarn("鏍¢獙澶辫触锛岃妫�鏌ュ悗閲嶈瘯"); - return; - } - - WaitFormHelper.ShowWaitForm(this, "姝e湪璁$畻鍒嗘瀽涓紝璇风◢鍊�..."); - - - //await Task.Delay(5000); - var calcuResult = _hydroInfo.Calcu(Yw.EPAnet.CalcuMode.MinorLoss); - - - WaitFormHelper.HideWaitForm(); - if (calcuResult.Succeed) - { - workingTupleHelper.AppendTuple(vmo, checkResult, calcuResult); - AppendWorking(vmo); - var visualVmListHelper = await GetVisualVmListHelper(); - visualVmListHelper.UpdateProperty(); - visualVmListHelper.UpdateCalcuProperty(calcuResult); - UpdateVisualListCtrl(); - UpdatePropertyCtrl(); - var calcuResultHelper = await GetCalcuResultHelper(); - calcuResultHelper.CalcuResult = calcuResult; - var calcuResultLabelHelper = await GetCalcuResultLabelHelper(); - calcuResultLabelHelper.Set(); - TipFormHelper.ShowSucceed("璁$畻鎴愬姛锛�"); - var codes = _hydroInfo.Pumps.Select(x => x.Code).ToList(); - await _bimfaceCtrl?.ZoomAndSelectComponents(codes); + workingTupleHelper.AppendTuple(vmo, checkResult, null); + SetUIWorking(vmo); + TipFormHelper.ShowError("鏍¢獙澶辫触锛岃妫�鏌ュ悗閲嶈瘯"); } else { - ShowCalcuFailedCtrl(calcuResult); - TipFormHelper.ShowError("璁$畻澶辫触锛�"); + WaitFormHelper.ShowWaitForm(this, "姝e湪璁$畻鍒嗘瀽涓紝璇风◢鍊�..."); + //await Task.Delay(3000); + var calcuResult = _hydroInfo.Calcu(Yw.EPAnet.CalcuMode.MinorLoss); + WaitFormHelper.HideWaitForm(); + workingTupleHelper.AppendTuple(vmo, checkResult, calcuResult); + if (calcuResult.Succeed) + { + if (calcuResult.WainingList != null && calcuResult.WainingList.Count > 0) + { + ShowCalcuWarningCtrl(calcuResult); + } + TipFormHelper.ShowSucceed("璁$畻鎴愬姛锛�"); + } + else + { + ShowCalcuFailedCtrl(calcuResult); + TipFormHelper.ShowError("璁$畻澶辫触锛�"); + } } - var gradingHelper = await GetGradingHelper(); - gradingHelper.InitialData(); - gradingHelper.Set(); - UpdateVisualListCtrl(); - UpdatePropertyCtrl(); + AppendUIWorking(vmo); + SetUIWorking(vmo); }; dlg.ShowDialog(); @@ -2203,44 +2189,54 @@ return await workingTupleHelper.GetCalcuResult(_working); } - //鍒濆鍖栧伐鍐靛垪琛� - private async void InitialWorkingList() + //鍒濆鍖朥I宸ュ喌鍒楄〃 + private void InitialUIWorkingList(List<HydroWorkingVmo> allWorkingList) { - var workingTupleList = GetWorkingTupleHelper(); - var allWorkingList = await workingTupleList.GetWorkingList(); this.repositoryItemImageComboBox1.Items.BeginUpdate(); this.repositoryItemImageComboBox1.Items.Clear(); if (allWorkingList != null && allWorkingList.Count > 0) { allWorkingList.ForEach(x => this.repositoryItemImageComboBox1.Items.Add(x.Name, x, -1)); - this.barEditCurrentWorking.EditValue = allWorkingList.Last(); } this.repositoryItemImageComboBox1.Items.EndUpdate(); } - //澧炲姞褰撳墠宸ュ喌 - private void AppendWorking(HydroWorkingVmo working) + //澧炲姞UI宸ュ喌 + private void AppendUIWorking(HydroWorkingVmo working) { this.repositoryItemImageComboBox1.Items.BeginUpdate(); this.repositoryItemImageComboBox1.Items.Add(working.Name, working, -1); this.repositoryItemImageComboBox1.Items.EndUpdate(); - this.barEditCurrentWorking.EditValue = working; } - //璁剧疆褰撳墠宸ュ喌 - private async void SetCurrentWorking(HydroWorkingVmo working) + //璁剧疆UI宸ュ喌 + private void SetUIWorking(HydroWorkingVmo working) { - _working = working; this.barEditCurrentWorking.EditValue = working; - var workingTupleHelper = GetWorkingTupleHelper(); - } //褰撳墠宸ュ喌鍙戠敓鏀瑰彉 - private void barEditCurrentWorking_EditValueChanged(object sender, EventArgs e) + private async void barEditCurrentWorking_EditValueChanged(object sender, EventArgs e) { - var working = this.barEditCurrentWorking.EditValue as HydroWorkingVmo; - SetCurrentWorking(working); + _working = this.barEditCurrentWorking.EditValue as HydroWorkingVmo; + var calcuResult = await GetCalcuResult(); + + //璁$畻缁撴灉杈呭姪绫� + var calcuResultHelper = await GetCalcuResultHelper(); + calcuResultHelper.InitialData(calcuResult); + + //宸ュ喌鎺т欢 + UpdateWorkingCtrl(); + SelectWorkingCtrl(_working); + + //鍙瑙嗗浘鍒楄〃 + var visualVmListHelper = await GetVisualVmListHelper(); + visualVmListHelper.UpdateCalcuProperty(calcuResult); + + //璁$畻鏍囩 + var calcuResultLabelHelper = await GetCalcuResultLabelHelper(); + calcuResultLabelHelper.Set(); + } #endregion @@ -2251,19 +2247,15 @@ private HydroWorkingTreeCtrl _workingCtrl = null; //鑾峰彇宸ュ喌鎺т欢 - private async Task<HydroWorkingTreeCtrl> GetWorkingCtrl() + private HydroWorkingTreeCtrl GetWorkingCtrl() { if (_workingCtrl == null) { _workingCtrl = new HydroWorkingTreeCtrl(); _workingCtrl.Dock = DockStyle.Fill; - _workingCtrl.FocusedChangedEvent += (vmo) => - { - - }; _workingCtrl.HydroClickEvent += (working) => { - SetCurrentWorking(working); + SetUIWorking(working); }; } return _workingCtrl; @@ -2291,7 +2283,7 @@ //鏄剧ず宸ュ喌鎺т欢 private async void ShowWorkingCtrl() { - var workingCtrl = await GetWorkingCtrl(); + var workingCtrl = GetWorkingCtrl(); if (!IsWorkingCtrlVisible) { this.controlContainerRight.Controls.Clear(); @@ -2314,8 +2306,18 @@ } var workingTupleHelper = GetWorkingTupleHelper(); var allWorkingList = await workingTupleHelper.GetWorkingList(); - var workingCtrl = await GetWorkingCtrl(); + var workingCtrl = GetWorkingCtrl(); workingCtrl.SetBindingData(allWorkingList); + } + + //閫夋嫨宸ュ喌鎺т欢 + private void SelectWorkingCtrl(HydroWorkingVmo working) + { + if (IsWorkingCtrlVisible) + { + var workingCtrl = GetWorkingCtrl(); + workingCtrl.Select(working); + } } //宸ュ喌鍒楄〃鐐瑰嚮 @@ -2436,7 +2438,7 @@ vm.CurveQE = qePtList; vm.CurveQP = qpPtList; - var calcuResultVisualDict = calcuResultHelper.GetVisualResultDict(); + var calcuResultVisualDict = calcuResultHelper.GetVisualDict(); if (calcuResultVisualDict != null && calcuResultVisualDict.Count > 0) { //var calcuResult = allCalcuResultList.Find(x => x.Code == pump.Code) as HydroCalcuLinkResult; diff --git a/WinFrmUI/Yw.WinFrmUI.Hydro.Core/10-working/05-tree/HydroWorkingTreeCtrl.cs b/WinFrmUI/Yw.WinFrmUI.Hydro.Core/10-working/05-tree/HydroWorkingTreeCtrl.cs index 8e26196..3a3f01b 100644 --- a/WinFrmUI/Yw.WinFrmUI.Hydro.Core/10-working/05-tree/HydroWorkingTreeCtrl.cs +++ b/WinFrmUI/Yw.WinFrmUI.Hydro.Core/10-working/05-tree/HydroWorkingTreeCtrl.cs @@ -46,6 +46,29 @@ } /// <summary> + /// 閫夋嫨 + /// </summary> + public void Select(HydroWorkingVmo working) + { + var allNodeList = this.treeList1.GetNodeList(); + foreach (var node in allNodeList) + { + var vm = this.treeList1.GetDataRecordByNode(node) as HydroWorkingTreeViewModel; + if (vm != null) + { + if (vm.Vmo.ID == working.ID) + { + if (this.treeList1.FocusedNode != node) + { + this.treeList1.FocusedNode = node; + } + return; + } + } + } + } + + /// <summary> /// 鍏ㄩ儴灞曞紑 /// </summary> public void ExpandAll() -- Gitblit v1.9.3