From f34b7d74e30f1c902d87e0cae6bd02a02d991492 Mon Sep 17 00:00:00 2001 From: lixiaojun <1287241240@qq.com> Date: 星期一, 23 十二月 2024 21:32:29 +0800 Subject: [PATCH] 属性控件bug修复 --- WinFrmUI/HStation.WinFrmUI.Xhs.Core/03-simulation/01-property/SimulationPropertyCtrl.cs | 227 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 224 insertions(+), 3 deletions(-) diff --git a/WinFrmUI/HStation.WinFrmUI.Xhs.Core/03-simulation/01-property/SimulationPropertyCtrl.cs b/WinFrmUI/HStation.WinFrmUI.Xhs.Core/03-simulation/01-property/SimulationPropertyCtrl.cs index 19d6ff5..5cdc0f6 100644 --- a/WinFrmUI/HStation.WinFrmUI.Xhs.Core/03-simulation/01-property/SimulationPropertyCtrl.cs +++ b/WinFrmUI/HStation.WinFrmUI.Xhs.Core/03-simulation/01-property/SimulationPropertyCtrl.cs @@ -2,6 +2,7 @@ using HStation.WinFrmUI.PhartRelation; using HStation.WinFrmUI.Xhs; using Yw.Model; +using Yw.WinFrmUI.HydroW3d; namespace HStation.WinFrmUI { @@ -63,6 +64,15 @@ #region 灞炴�ц祴鍊� /// <summary> + /// 鍏佽缂栬緫 + /// </summary> + public bool AllowEdit + { + get { return this.hydroVisualPropertyCtrl1.AllowEdit; } + set { this.hydroVisualPropertyCtrl1.AllowEdit = value; } + } + + /// <summary> /// 閫夋嫨瀵硅薄 /// </summary> public HydroVisualViewModel SelectedObject @@ -122,11 +132,14 @@ { var tankViewModel = vm as HydroTankViewModel; var input = HydroMatchingHelper.Create(tankViewModel); - var dlg = new SimulationTankSingleMatchingDlg(); + var dlg = new AssetsTankSingleMatchingDlg(); dlg.ReloadDataEvent += (output) => { HydroMatchingHelper.Apply(tankViewModel, output); this.hydroVisualPropertyCtrl1.UpdateRows(); + this.PropertyValueChangedEvent?.Invoke(vm.Vmo); + this.MarkPropertyValueChangedEvent?.Invoke(vm.Vmo); + this.GradingPropertyValueChangedEvent?.Invoke(vm.Vmo); }; dlg.SetBindingData(input); dlg.ShowDialog(); @@ -137,11 +150,14 @@ { var tankViewModel = vm as HydroTankViewModel; var input = HydroMatchingHelper.Create(tankViewModel); - var dlg = new SimulationTankSingleMatchingDlg(); + var dlg = new AssetsTankSingleMatchingDlg(); dlg.ReloadDataEvent += (output) => { HydroMatchingHelper.Apply(tankViewModel, output); this.hydroVisualPropertyCtrl1.UpdateRows(); + this.PropertyValueChangedEvent?.Invoke(vm.Vmo); + this.MarkPropertyValueChangedEvent?.Invoke(vm.Vmo); + this.GradingPropertyValueChangedEvent?.Invoke(vm.Vmo); }; dlg.SetBindingData(input); dlg.ShowDialog(); @@ -150,6 +166,19 @@ case Yw.Hydro.ParterCatalog.Blunthead: { + var bluntheadViewModel = vm as HydroBluntheadViewModel; + var input = HydroMatchingHelper.Create(bluntheadViewModel); + var dlg = new SimulationBluntheadSingleMatchingDlg(); + dlg.ReloadDataEvent += (output) => + { + HydroMatchingHelper.Apply(bluntheadViewModel, output); + this.hydroVisualPropertyCtrl1.UpdateRows(); + this.PropertyValueChangedEvent?.Invoke(vm.Vmo); + this.MarkPropertyValueChangedEvent?.Invoke(vm.Vmo); + this.GradingPropertyValueChangedEvent?.Invoke(vm.Vmo); + }; + dlg.SetBindingData(input); + dlg.ShowDialog(); } break; @@ -162,6 +191,9 @@ { HydroMatchingHelper.Apply(elbowViewModel, output); this.hydroVisualPropertyCtrl1.UpdateRows(); + this.PropertyValueChangedEvent?.Invoke(vm.Vmo); + this.MarkPropertyValueChangedEvent?.Invoke(vm.Vmo); + this.GradingPropertyValueChangedEvent?.Invoke(vm.Vmo); }; dlg.SetBindingData(input); dlg.ShowDialog(); @@ -170,36 +202,127 @@ case Yw.Hydro.ParterCatalog.Threelink: { + var threelinkViewModel = vm as HydroThreelinkViewModel; + var input = HydroMatchingHelper.Create(threelinkViewModel); + var dlg = new SimulationThreelinkSingleMatchingDlg(); + dlg.ReloadDataEvent += (output) => + { + HydroMatchingHelper.Apply(threelinkViewModel, output); + this.hydroVisualPropertyCtrl1.UpdateRows(); + this.PropertyValueChangedEvent?.Invoke(vm.Vmo); + this.MarkPropertyValueChangedEvent?.Invoke(vm.Vmo); + this.GradingPropertyValueChangedEvent?.Invoke(vm.Vmo); + }; + dlg.SetBindingData(input); + dlg.ShowDialog(); } break; case Yw.Hydro.ParterCatalog.Fourlink: { + var fourlinkViewModel = vm as HydroFourlinkViewModel; + var input = HydroMatchingHelper.Create(fourlinkViewModel); + var dlg = new SimulationFourlinkSingleMatchingDlg(); + dlg.ReloadDataEvent += (output) => + { + HydroMatchingHelper.Apply(fourlinkViewModel, output); + this.hydroVisualPropertyCtrl1.UpdateRows(); + this.PropertyValueChangedEvent?.Invoke(vm.Vmo); + this.MarkPropertyValueChangedEvent?.Invoke(vm.Vmo); + this.GradingPropertyValueChangedEvent?.Invoke(vm.Vmo); + }; + dlg.SetBindingData(input); + dlg.ShowDialog(); } break; case Yw.Hydro.ParterCatalog.Meter: { + var meterViewModel = vm as HydroMeterViewModel; + var input = HydroMatchingHelper.Create(meterViewModel); + var dlg = new AssetsMeterSingleMatchingDlg(); + dlg.ReloadDataEvent += (output) => + { + HydroMatchingHelper.Apply(meterViewModel, output); + this.hydroVisualPropertyCtrl1.UpdateRows(); + this.PropertyValueChangedEvent?.Invoke(vm.Vmo); + this.MarkPropertyValueChangedEvent?.Invoke(vm.Vmo); + this.GradingPropertyValueChangedEvent?.Invoke(vm.Vmo); + }; + dlg.SetBindingData(input); + dlg.ShowDialog(); } break; case Yw.Hydro.ParterCatalog.Flowmeter: { + var flowmeterViewModel = vm as HydroFlowmeterViewModel; + var input = HydroMatchingHelper.Create(flowmeterViewModel); + var dlg = new AssetsFlowmeterSingleMatchingDlg(); + dlg.ReloadDataEvent += (output) => + { + HydroMatchingHelper.Apply(flowmeterViewModel, output); + this.hydroVisualPropertyCtrl1.UpdateRows(); + this.PropertyValueChangedEvent?.Invoke(vm.Vmo); + this.MarkPropertyValueChangedEvent?.Invoke(vm.Vmo); + this.GradingPropertyValueChangedEvent?.Invoke(vm.Vmo); + }; + dlg.SetBindingData(input); + dlg.ShowDialog(); } break; case Yw.Hydro.ParterCatalog.Pressmeter: { + var pressmeterViewModel = vm as HydroPressmeterViewModel; + var input = HydroMatchingHelper.Create(pressmeterViewModel); + var dlg = new AssetsPressmeterSingleMatchingDlg(); + dlg.ReloadDataEvent += (output) => + { + HydroMatchingHelper.Apply(pressmeterViewModel, output); + this.hydroVisualPropertyCtrl1.UpdateRows(); + this.PropertyValueChangedEvent?.Invoke(vm.Vmo); + this.MarkPropertyValueChangedEvent?.Invoke(vm.Vmo); + this.GradingPropertyValueChangedEvent?.Invoke(vm.Vmo); + }; + dlg.SetBindingData(input); + dlg.ShowDialog(); } break; case Yw.Hydro.ParterCatalog.Nozzle: { + var nozzleViewModel = vm as HydroNozzleViewModel; + var input = HydroMatchingHelper.Create(nozzleViewModel); + var dlg = new SimulationSprinklerSingleMatchingDlg(); + dlg.ReloadDataEvent += (output) => + { + HydroMatchingHelper.Apply(nozzleViewModel, output); + this.hydroVisualPropertyCtrl1.UpdateRows(); + this.PropertyValueChangedEvent?.Invoke(vm.Vmo); + this.MarkPropertyValueChangedEvent?.Invoke(vm.Vmo); + this.GradingPropertyValueChangedEvent?.Invoke(vm.Vmo); + }; + dlg.SetBindingData(input); + dlg.ShowDialog(); } break; case Yw.Hydro.ParterCatalog.Hydrant: { + var hydrantViewModel = vm as HydroHydrantViewModel; + var input = HydroMatchingHelper.Create(hydrantViewModel); + var dlg = new SimulationHydrantSingleMatchingDlg(); + dlg.ReloadDataEvent += (output) => + { + HydroMatchingHelper.Apply(hydrantViewModel, output); + this.hydroVisualPropertyCtrl1.UpdateRows(); + this.PropertyValueChangedEvent?.Invoke(vm.Vmo); + this.MarkPropertyValueChangedEvent?.Invoke(vm.Vmo); + this.GradingPropertyValueChangedEvent?.Invoke(vm.Vmo); + }; + dlg.SetBindingData(input); + dlg.ShowDialog(); } break; @@ -212,6 +335,9 @@ { HydroMatchingHelper.Apply(pipeViewModel, output); this.hydroVisualPropertyCtrl1.UpdateRows(); + this.PropertyValueChangedEvent?.Invoke(vm.Vmo); + this.MarkPropertyValueChangedEvent?.Invoke(vm.Vmo); + this.GradingPropertyValueChangedEvent?.Invoke(vm.Vmo); }; dlg.ShowDialog(); } @@ -226,6 +352,9 @@ { HydroMatchingHelper.Apply(pumpViewModel, output); this.hydroVisualPropertyCtrl1.UpdateRows(); + this.PropertyValueChangedEvent?.Invoke(vm.Vmo); + this.MarkPropertyValueChangedEvent?.Invoke(vm.Vmo); + this.GradingPropertyValueChangedEvent?.Invoke(vm.Vmo); }; dlg.SetBindingData(input); dlg.ShowDialog(); @@ -234,16 +363,55 @@ case Yw.Hydro.ParterCatalog.Valve: { + var valveViewModel = vm as HydroValveViewModel; + var input = HydroMatchingHelper.Create(valveViewModel); + var dlg = new AssetsValveSingleMatchingDlg(); + dlg.ReloadDataEvent += (output) => + { + HydroMatchingHelper.Apply(valveViewModel, output); + this.hydroVisualPropertyCtrl1.UpdateRows(); + this.PropertyValueChangedEvent?.Invoke(vm.Vmo); + this.MarkPropertyValueChangedEvent?.Invoke(vm.Vmo); + this.GradingPropertyValueChangedEvent?.Invoke(vm.Vmo); + }; + dlg.SetBindingData(input); + dlg.ShowDialog(); } break; case Yw.Hydro.ParterCatalog.Exchanger: { + var exchangerViewModel = vm as HydroExchangerViewModel; + var input = HydroMatchingHelper.Create(exchangerViewModel); + var dlg = new AssetsExchangerSingleMatchingDlg(); + dlg.ReloadDataEvent += (output) => + { + HydroMatchingHelper.Apply(exchangerViewModel, output); + this.hydroVisualPropertyCtrl1.UpdateRows(); + this.PropertyValueChangedEvent?.Invoke(vm.Vmo); + this.MarkPropertyValueChangedEvent?.Invoke(vm.Vmo); + this.GradingPropertyValueChangedEvent?.Invoke(vm.Vmo); + }; + dlg.SetBindingData(input); + dlg.ShowDialog(); } break; case Yw.Hydro.ParterCatalog.Compressor: { + var compressorViewModel = vm as HydroCompressorViewModel; + var input = HydroMatchingHelper.Create(compressorViewModel); + var dlg = new AssetsCompressorSingleMatchingDlg(); + dlg.ReloadDataEvent += (output) => + { + HydroMatchingHelper.Apply(compressorViewModel, output); + this.hydroVisualPropertyCtrl1.UpdateRows(); + this.PropertyValueChangedEvent?.Invoke(vm.Vmo); + this.MarkPropertyValueChangedEvent?.Invoke(vm.Vmo); + this.GradingPropertyValueChangedEvent?.Invoke(vm.Vmo); + }; + dlg.SetBindingData(input); + dlg.ShowDialog(); } break; @@ -262,28 +430,81 @@ { case HydroCurve.Tank: { + var tankViewModel = vm as HydroTankViewModel; + var curveInfo = tankViewModel.HydroInfo.Curves?.Find(x => x.Code == tankViewModel.VolCurve); + if (curveInfo != null) + { + if (long.TryParse(curveInfo.DbId, out long longDbId)) + { + var dlg = new AssetsTankCurveVOLViewDlg(); + dlg.SetBindingData(longDbId); + dlg.ShowDialog(); + } + } } break; case HydroCurve.Pump: { var pumpViewModel = vm as HydroPumpViewModel; - //var dlg = new PumpChartShowDlg(); + var dlg = new SimulationSinglePumpFeatDlg(); + dlg.SaveEvent += (working) => + { + pumpViewModel.Vmo.LinkStatus = working.LinkStatus; + pumpViewModel.Vmo.SpeedRatio = working.CurrentHz / pumpViewModel.Vmo.RatedHz; + pumpViewModel.UpdateProperty(); + this.hydroVisualPropertyCtrl1.UpdateRows(); + }; + dlg.SetBindingData(pumpViewModel); + dlg.ShowDialog(); } break; case HydroCurve.Valve: { + var valveViewModel = vm as HydroValveViewModel; + var curveInfo = valveViewModel.HydroInfo.Curves?.Find(x => x.Code == valveViewModel.ValveSetting); + if (curveInfo != null) + { + if (long.TryParse(curveInfo.DbId, out long longDbId)) + { + var dlg = new AssetsValveCurveViewDlg(); + dlg.SetBindingData(longDbId); + dlg.ShowDialog(); + } + } } break; case HydroCurve.Exchanger: { + var exchangerViewModel = vm as HydroExchangerViewModel; + var curveInfo = exchangerViewModel.HydroInfo.Curves?.Find(x => x.Code == exchangerViewModel.CurveQL); + if (curveInfo != null) + { + if (long.TryParse(curveInfo.DbId, out long longDbId)) + { + var dlg = new AssetsExchangerCurveQLViewDlg(); + dlg.SetBindingData(longDbId); + dlg.ShowDialog(); + } + } } break; case HydroCurve.Compressor: { + var compressorViewModel = vm as HydroCompressorViewModel; + var curveInfo = compressorViewModel.HydroInfo.Curves?.Find(x => x.Code == compressorViewModel.CurveQL); + if (curveInfo != null) + { + if (long.TryParse(curveInfo.DbId, out long longDbId)) + { + var dlg = new AssetsCompressorCurveQLViewDlg(); + dlg.SetBindingData(longDbId); + dlg.ShowDialog(); + } + } } break; -- Gitblit v1.9.3