From 7b8ae93d47186c442ff890a1a83d108f115924c7 Mon Sep 17 00:00:00 2001 From: ningshuxia <ningshuxia0927@outlook.com> Date: 星期一, 24 三月 2025 17:25:14 +0800 Subject: [PATCH] 快速建模,模型编辑 差不多 --- WinFrmUI/PBS.WinFrmUI.Hydro/02-quick-modeling/01-core/QuickModelingPage.cs | 498 ++++++++----------------------------------------------- 1 files changed, 75 insertions(+), 423 deletions(-) diff --git a/WinFrmUI/PBS.WinFrmUI.Hydro/02-quick-modeling/01-core/QuickModelingPage.cs b/WinFrmUI/PBS.WinFrmUI.Hydro/02-quick-modeling/01-core/QuickModelingPage.cs index e890deb..5cde71f 100644 --- a/WinFrmUI/PBS.WinFrmUI.Hydro/02-quick-modeling/01-core/QuickModelingPage.cs +++ b/WinFrmUI/PBS.WinFrmUI.Hydro/02-quick-modeling/01-core/QuickModelingPage.cs @@ -1,4 +1,5 @@ 锘縰sing DevExpress.XtraLayout.Utils; +using DevExpress.XtraRichEdit.Import.Html; using Mapster; namespace PBS.WinFrmUI.Hydro @@ -8,44 +9,44 @@ public QuickModelingPage() { InitializeComponent(); - this.layoutControl1.SetupLayoutControl(); - //this.ClosePageEvent += CreateXhsSchemeDlg_FormClosing; + this.layoutControl1.SetupLayoutControl(); } - /// <summary> - /// 閲嶈浇鏁版嵁 - /// </summary> - //public event Action<XhsSchemeVmo> ReloadDataEvent; - + + private QuickModelingViewModel _vm = null;//瑙嗗浘 private QuickModelingManager _wizard = null;//绠$悊鍣� private List<IWizardPageAsync<QuickModelingViewModel>> _allPageList = null;//鎵�鏈夐〉闈㈠垪琛� private List<IWizardPageAsync<QuickModelingViewModel>> _bindingPageList = null;//缁戝畾椤甸潰鍒楄〃 + /// <summary> - /// 缁戝畾鏁版嵁 + /// 鍒濆鍖栨暟鎹簮 /// </summary> - public void SetBindingData - ( - - ) + public override async void InitialDataSource() { - if (project == null) - { - return; - } - if (projectSite == null) - { - return; - } - if (hydroInfo == null) - { - return; - } - var hydroInfoRhs = hydroInfo.Adapt<Yw.Model.HydroModelInfo>(); - _vm = new QuickModelingViewModel(project, projectSite, hydroInfoRhs, allSchemeList); + base.InitialDataSource(); + _vm = new QuickModelingViewModel(); + _vm.Place = new(); + _vm.Facility = new(); + + + _vm.Place.Name = "鍢夊畾鍦烘墍"; + _vm.Facility.Name = "鍢夊畾璁炬柦"; + _vm.Facility.WaterSupply = eWaterSupply.Low; + _vm.Facility.SupplyMode = eSupplyMode.Municipal; + _vm.Facility.Floor = 7; + _vm.Facility.FloorHeight = 3; + _vm.Facility.Households = 40; + _vm.Facility.MaxWaterDemand = 44; + _vm.Facility.ConstantPressure = 22.5; + _vm.Facility.TerminalPressure = 15; + _vm.Facility.MaxHeight = 40; + + _vm.AssetsPackageList = await BLLFactory<HStation.BLL.AssetsPackageMain>.Instance.GetAll(); InitialManager(); } + //鍒濆鍖栫鐞嗗櫒 private void InitialManager() @@ -77,276 +78,42 @@ this.navigationFrame.Pages.Clear(); - //鍩虹淇℃伅 - var pageInfo = _allPageList.Find(x => x is CreateXhsSchemeInfoPage) as CreateXhsSchemeInfoPage; - if (pageInfo == null) + + var pagePlace = _allPageList.Find(x => x is QuickModelingPlaceWizardPage) as QuickModelingPlaceWizardPage; + if (pagePlace == null) { - pageInfo = new CreateXhsSchemeInfoPage(); - pageInfo.Dock = DockStyle.Fill; - _allPageList.Add(pageInfo); + pagePlace = new QuickModelingPlaceWizardPage(); + pagePlace.Dock = DockStyle.Fill; + _allPageList.Add(pagePlace); } - _bindingPageList.Add(pageInfo); - this.navigationFrame.AddPage(pageInfo); + _bindingPageList.Add(pagePlace); + this.navigationFrame.AddPage(pagePlace); - if (_vm.Scheme != null && _vm.Scheme.ChangeTypes != null && _vm.Scheme.ChangeTypes.Count > 0) + + var pageFacility = _allPageList.Find(x => x is QuickModelingFacilityWizardPage) as QuickModelingFacilityWizardPage; + if (pageFacility == null ) { - //姘存睜 - if (_vm.Scheme.ChangeTypes.Contains(Yw.Hydro.ParterCatalog.Tank)) - { - var pageTank = _allPageList.Find(x => x is CreateXhsSchemeTankChangePage) as CreateXhsSchemeTankChangePage; - if (pageTank == null) - { - pageTank = new CreateXhsSchemeTankChangePage(); - pageTank.Dock = DockStyle.Fill; - _allPageList.Add(pageTank); - } - _bindingPageList.Add(pageTank); - this.navigationFrame.AddPage(pageTank); - } - //姘寸 - if (_vm.Scheme.ChangeTypes.Contains(Yw.Hydro.ParterCatalog.Waterbox)) - { - var pageWaterbox = _allPageList.Find(x => x is CreateXhsSchemeWaterboxChangePage) as CreateXhsSchemeWaterboxChangePage; - if (pageWaterbox == null) - { - pageWaterbox = new CreateXhsSchemeWaterboxChangePage(); - pageWaterbox.Dock = DockStyle.Fill; - _allPageList.Add(pageWaterbox); - } - _bindingPageList.Add(pageWaterbox); - this.navigationFrame.AddPage(pageWaterbox); - } - //闂峰ご - if (_vm.Scheme.ChangeTypes.Contains(Yw.Hydro.ParterCatalog.Blunthead)) - { - var pageBlunthead = _allPageList.Find(x => x is CreateXhsSchemeBluntheadChangePage) as CreateXhsSchemeBluntheadChangePage; - if (pageBlunthead == null) - { - pageBlunthead = new CreateXhsSchemeBluntheadChangePage(); - pageBlunthead.Dock = DockStyle.Fill; - _allPageList.Add(pageBlunthead); - } - _bindingPageList.Add(pageBlunthead); - this.navigationFrame.AddPage(pageBlunthead); - } - //寮ご - if (_vm.Scheme.ChangeTypes.Contains(Yw.Hydro.ParterCatalog.Elbow)) - { - var pageElbow = _allPageList.Find(x => x is CreateXhsSchemeElbowChangePage) as CreateXhsSchemeElbowChangePage; - if (pageElbow == null) - { - pageElbow = new CreateXhsSchemeElbowChangePage(); - pageElbow.Dock = DockStyle.Fill; - _allPageList.Add(pageElbow); - } - _bindingPageList.Add(pageElbow); - this.navigationFrame.AddPage(pageElbow); - } - //涓夐�� - if (_vm.Scheme.ChangeTypes.Contains(Yw.Hydro.ParterCatalog.Threelink)) - { - var pageThreelink = _allPageList.Find(x => x is CreateXhsSchemeThreelinkChangePage) as CreateXhsSchemeThreelinkChangePage; - if (pageThreelink == null) - { - pageThreelink = new CreateXhsSchemeThreelinkChangePage(); - pageThreelink.Dock = DockStyle.Fill; - _allPageList.Add(pageThreelink); - } - _bindingPageList.Add(pageThreelink); - this.navigationFrame.AddPage(pageThreelink); - } - //鍥涢�� - if (_vm.Scheme.ChangeTypes.Contains(Yw.Hydro.ParterCatalog.Fourlink)) - { - var pageFourlink = _allPageList.Find(x => x is CreateXhsSchemeFourlinkChangePage) as CreateXhsSchemeFourlinkChangePage; - if (pageFourlink == null) - { - pageFourlink = new CreateXhsSchemeFourlinkChangePage(); - pageFourlink.Dock = DockStyle.Fill; - _allPageList.Add(pageFourlink); - } - _bindingPageList.Add(pageFourlink); - this.navigationFrame.AddPage(pageFourlink); - } - //姘磋〃 - if (_vm.Scheme.ChangeTypes.Contains(Yw.Hydro.ParterCatalog.Meter)) - { - var pageMeter = _allPageList.Find(x => x is CreateXhsSchemeMeterChangePage) as CreateXhsSchemeMeterChangePage; - if (pageMeter == null) - { - pageMeter = new CreateXhsSchemeMeterChangePage(); - pageMeter.Dock = DockStyle.Fill; - _allPageList.Add(pageMeter); - } - _bindingPageList.Add(pageMeter); - this.navigationFrame.AddPage(pageMeter); - } - //娴侀噺璁� - if (_vm.Scheme.ChangeTypes.Contains(Yw.Hydro.ParterCatalog.Flowmeter)) - { - var pageFlowmeter = _allPageList.Find(x => x is CreateXhsSchemeFlowmeterChangePage) as CreateXhsSchemeFlowmeterChangePage; - if (pageFlowmeter == null) - { - pageFlowmeter = new CreateXhsSchemeFlowmeterChangePage(); - pageFlowmeter.Dock = DockStyle.Fill; - _allPageList.Add(pageFlowmeter); - } - _bindingPageList.Add(pageFlowmeter); - this.navigationFrame.AddPage(pageFlowmeter); - } - //鍘嬪姏琛� - if (_vm.Scheme.ChangeTypes.Contains(Yw.Hydro.ParterCatalog.Pressmeter)) - { - var pagePressmeter = _allPageList.Find(x => x is CreateXhsSchemePressmeterChangePage) as CreateXhsSchemePressmeterChangePage; - if (pagePressmeter == null) - { - pagePressmeter = new CreateXhsSchemePressmeterChangePage(); - pagePressmeter.Dock = DockStyle.Fill; - _allPageList.Add(pagePressmeter); - } - _bindingPageList.Add(pagePressmeter); - this.navigationFrame.AddPage(pagePressmeter); - } - //娑堢伀鏍� - if (_vm.Scheme.ChangeTypes.Contains(Yw.Hydro.ParterCatalog.Hydrant)) - { - var pageHydrant = _allPageList.Find(x => x is CreateXhsSchemeHydrantChangePage) as CreateXhsSchemeHydrantChangePage; - if (pageHydrant == null) - { - pageHydrant = new CreateXhsSchemeHydrantChangePage(); - pageHydrant.Dock = DockStyle.Fill; - _allPageList.Add(pageHydrant); - } - _bindingPageList.Add(pageHydrant); - this.navigationFrame.AddPage(pageHydrant); - } - //鍠峰槾 - if (_vm.Scheme.ChangeTypes.Contains(Yw.Hydro.ParterCatalog.Nozzle)) - { - var pageNozzle = _allPageList.Find(x => x is CreateXhsSchemeNozzleChangePage) as CreateXhsSchemeNozzleChangePage; - if (pageNozzle == null) - { - pageNozzle = new CreateXhsSchemeNozzleChangePage(); - pageNozzle.Dock = DockStyle.Fill; - _allPageList.Add(pageNozzle); - } - _bindingPageList.Add(pageNozzle); - this.navigationFrame.AddPage(pageNozzle); - } - //鍐峰嵈濉� - if (_vm.Scheme.ChangeTypes.Contains(Yw.Hydro.ParterCatalog.Cooling)) - { - var pageCooling = _allPageList.Find(x => x is CreateXhsSchemeCoolingChangePage) as CreateXhsSchemeCoolingChangePage; - if (pageCooling == null) - { - pageCooling = new CreateXhsSchemeCoolingChangePage(); - pageCooling.Dock = DockStyle.Fill; - _allPageList.Add(pageCooling); - } - _bindingPageList.Add(pageCooling); - this.navigationFrame.AddPage(pageCooling); - } - //绠¢亾 - if (_vm.Scheme.ChangeTypes.Contains(Yw.Hydro.ParterCatalog.Pipe)) - { - var pagePipe = _allPageList.Find(x => x is CreateXhsSchemePipeChangePage) as CreateXhsSchemePipeChangePage; - if (pagePipe == null) - { - pagePipe = new CreateXhsSchemePipeChangePage(); - pagePipe.Dock = DockStyle.Fill; - _allPageList.Add(pagePipe); - } - _bindingPageList.Add(pagePipe); - this.navigationFrame.AddPage(pagePipe); - } - //杩囨浮浠� - if (_vm.Scheme.ChangeTypes.Contains(Yw.Hydro.ParterCatalog.Translation)) - { - var pageTranslation = _allPageList.Find(x => x is CreateXhsSchemeTranslationChangePage) as CreateXhsSchemeTranslationChangePage; - if (pageTranslation == null) - { - pageTranslation = new CreateXhsSchemeTranslationChangePage(); - pageTranslation.Dock = DockStyle.Fill; - _allPageList.Add(pageTranslation); - } - _bindingPageList.Add(pageTranslation); - this.navigationFrame.AddPage(pageTranslation); - } - //姘存车 - if (_vm.Scheme.ChangeTypes.Contains(Yw.Hydro.ParterCatalog.Pump)) - { - var pagePump = _allPageList.Find(x => x is CreateXhsSchemePumpChangePage) as CreateXhsSchemePumpChangePage; - if (pagePump == null) - { - pagePump = new CreateXhsSchemePumpChangePage(); - pagePump.Dock = DockStyle.Fill; - _allPageList.Add(pagePump); - } - _bindingPageList.Add(pagePump); - this.navigationFrame.AddPage(pagePump); - } - //闃�闂� - if (_vm.Scheme.ChangeTypes.Contains(Yw.Hydro.ParterCatalog.Valve)) - { - var pageValve = _allPageList.Find(x => x is CreateXhsSchemeValveChangePage) as CreateXhsSchemeValveChangePage; - if (pageValve == null) - { - pageValve = new CreateXhsSchemeValveChangePage(); - pageValve.Dock = DockStyle.Fill; - _allPageList.Add(pageValve); - } - _bindingPageList.Add(pageValve); - this.navigationFrame.AddPage(pageValve); - } - //鎹㈢儹鍣� - if (_vm.Scheme.ChangeTypes.Contains(Yw.Hydro.ParterCatalog.Exchanger)) - { - var pageExchanger = _allPageList.Find(x => x is CreateXhsSchemeExchangerChangePage) as CreateXhsSchemeExchangerChangePage; - if (pageExchanger == null) - { - pageExchanger = new CreateXhsSchemeExchangerChangePage(); - pageExchanger.Dock = DockStyle.Fill; - _allPageList.Add(pageExchanger); - } - _bindingPageList.Add(pageExchanger); - this.navigationFrame.AddPage(pageExchanger); - } - //鍘嬬缉鏈� - if (_vm.Scheme.ChangeTypes.Contains(Yw.Hydro.ParterCatalog.Compressor)) - { - var pageCompressor = _allPageList.Find(x => x is CreateXhsSchemeCompressorChangePage) as CreateXhsSchemeCompressorChangePage; - if (pageCompressor == null) - { - pageCompressor = new CreateXhsSchemeCompressorChangePage(); - pageCompressor.Dock = DockStyle.Fill; - _allPageList.Add(pageCompressor); - } - _bindingPageList.Add(pageCompressor); - this.navigationFrame.AddPage(pageCompressor); - } + pageFacility = new QuickModelingFacilityWizardPage(); + pageFacility.Dock = DockStyle.Fill; + _allPageList.Add(pageFacility); } - //鐢熸垚 - var pageGenerate = _allPageList.Find(x => x is CreateXhsSchemeGeneralWizardPage) as CreateXhsSchemeGeneralWizardPage; - if (pageGenerate == null) - { - pageGenerate = new CreateXhsSchemeGeneralWizardPage(); - pageGenerate.Dock = DockStyle.Fill; - _allPageList.Add(pageGenerate); - } - _bindingPageList.Add(pageGenerate); - this.navigationFrame.AddPage(pageGenerate); + _bindingPageList.Add(pageFacility); + this.navigationFrame.AddPage(pageFacility); - //鍙樻洿璁板綍 - var pageComplete = _allPageList.Find(x => x is CreateXhsSchemeChangeRecordPage) as CreateXhsSchemeChangeRecordPage; - if (pageComplete == null) + + var pageModelEdit = _allPageList.Find(x => x is QuickModelingModelDrawWizardPage) as QuickModelingModelDrawWizardPage; + if (pageModelEdit == null) { - pageComplete = new CreateXhsSchemeChangeRecordPage(); - pageComplete.Dock = DockStyle.Fill; - _allPageList.Add(pageComplete); + pageModelEdit = new QuickModelingModelDrawWizardPage(); + pageModelEdit.Dock = DockStyle.Fill; + _allPageList.Add(pageModelEdit); } - _bindingPageList.Add(pageComplete); - this.navigationFrame.AddPage(pageComplete); + + _bindingPageList.Add(pageModelEdit); + this.navigationFrame.AddPage(pageModelEdit); + + } //鍒濆鍖栨楠� @@ -357,111 +124,18 @@ { foreach (var page in _bindingPageList) { - if (page is CreateXhsSchemeInfoPage) + if (page is QuickModelingPlaceWizardPage) { - AddStepItem("鏂规淇℃伅"); + AddStepItem("鍦烘墍"); } - else if (page is CreateXhsSchemeTankChangePage) + else if (page is QuickModelingFacilityWizardPage) + { + AddStepItem("璁炬柦"); + } + else if (page is QuickModelingModelDrawWizardPage) { - var caption = HydroParterCatalogHelper.GetName(Yw.Hydro.ParterCatalog.Tank); - AddStepItem(caption); + AddStepItem("妯″瀷"); } - else if (page is CreateXhsSchemeWaterboxChangePage) - { - var caption = HydroParterCatalogHelper.GetName(Yw.Hydro.ParterCatalog.Waterbox); - AddStepItem(caption); - } - else if (page is CreateXhsSchemeBluntheadChangePage) - { - var caption = HydroParterCatalogHelper.GetName(Yw.Hydro.ParterCatalog.Blunthead); - AddStepItem(caption); - } - else if (page is CreateXhsSchemeElbowChangePage) - { - var caption = HydroParterCatalogHelper.GetName(Yw.Hydro.ParterCatalog.Elbow); - AddStepItem(caption); - } - else if (page is CreateXhsSchemeThreelinkChangePage) - { - var caption = HydroParterCatalogHelper.GetName(Yw.Hydro.ParterCatalog.Threelink); - AddStepItem(caption); - } - else if (page is CreateXhsSchemeFourlinkChangePage) - { - var caption = HydroParterCatalogHelper.GetName(Yw.Hydro.ParterCatalog.Fourlink); - AddStepItem(caption); - } - else if (page is CreateXhsSchemeMeterChangePage) - { - var caption = HydroParterCatalogHelper.GetName(Yw.Hydro.ParterCatalog.Meter); - AddStepItem(caption); - } - else if (page is CreateXhsSchemeFlowmeterChangePage) - { - var caption = HydroParterCatalogHelper.GetName(Yw.Hydro.ParterCatalog.Flowmeter); - AddStepItem(caption); - } - else if (page is CreateXhsSchemePressmeterChangePage) - { - var caption = HydroParterCatalogHelper.GetName(Yw.Hydro.ParterCatalog.Pressmeter); - AddStepItem(caption); - } - else if (page is CreateXhsSchemeHydrantChangePage) - { - var caption = HydroParterCatalogHelper.GetName(Yw.Hydro.ParterCatalog.Hydrant); - AddStepItem(caption); - } - else if (page is CreateXhsSchemeNozzleChangePage) - { - var caption = HydroParterCatalogHelper.GetName(Yw.Hydro.ParterCatalog.Nozzle); - AddStepItem(caption); - } - else if (page is CreateXhsSchemeCoolingChangePage) - { - var caption = HydroParterCatalogHelper.GetName(Yw.Hydro.ParterCatalog.Cooling); - AddStepItem(caption); - } - else if (page is CreateXhsSchemePipeChangePage) - { - var caption = HydroParterCatalogHelper.GetName(Yw.Hydro.ParterCatalog.Pipe); - AddStepItem(caption); - } - else if (page is CreateXhsSchemeTranslationChangePage) - { - var caption = HydroParterCatalogHelper.GetName(Yw.Hydro.ParterCatalog.Translation); - AddStepItem(caption); - } - else if (page is CreateXhsSchemePumpChangePage) - { - var caption = HydroParterCatalogHelper.GetName(Yw.Hydro.ParterCatalog.Pump); - AddStepItem(caption); - } - else if (page is CreateXhsSchemeValveChangePage) - { - var caption = HydroParterCatalogHelper.GetName(Yw.Hydro.ParterCatalog.Valve); - AddStepItem(caption); - } - else if (page is CreateXhsSchemeExchangerChangePage) - { - var caption = HydroParterCatalogHelper.GetName(Yw.Hydro.ParterCatalog.Exchanger); - AddStepItem(caption); - } - else if (page is CreateXhsSchemeCompressorChangePage) - { - var caption = HydroParterCatalogHelper.GetName(Yw.Hydro.ParterCatalog.Compressor); - AddStepItem(caption); - } - else if (page is CreateXhsSchemeGeneralWizardPage) - { - var caption = "鍒涘缓"; - AddStepItem(caption); - } - else if (page is CreateXhsSchemeChangeRecordPage) - { - var caption = "鍙樻洿璁板綍"; - AddStepItem(caption); - } - } } @@ -476,7 +150,7 @@ this.itemForComplete.Visibility = page.AllowComplete ? LayoutVisibility.Always : LayoutVisibility.Never; this.navigationFrame.SelectedPageIndex = index; this.stepProgressBar1.SelectedItemIndex = index; - this.itemForTitle.Visibility = index > 0 ? LayoutVisibility.Always : LayoutVisibility.Never; + //this.itemForTitle.Visibility = index > 0 ? LayoutVisibility.Always : LayoutVisibility.Never; } //閫夋嫨椤甸潰鐘舵�佹敼鍙� @@ -486,7 +160,7 @@ this.itemForNext.Visibility = page.AllowNext ? LayoutVisibility.Always : LayoutVisibility.Never; this.itemForCancel.Visibility = page.AllowCancel ? LayoutVisibility.Always : LayoutVisibility.Never; this.itemForComplete.Visibility = page.AllowComplete ? LayoutVisibility.Always : LayoutVisibility.Never; - this.itemForTitle.Visibility = index > 0 ? LayoutVisibility.Always : LayoutVisibility.Never; + //this.itemForTitle.Visibility = index > 0 ? LayoutVisibility.Always : LayoutVisibility.Never; } //涓婁竴姝� @@ -503,14 +177,6 @@ { if (_wizard != null) { - if (_wizard.SelectedIndex == 0) - { - var page = _wizard.SelectedPage; - if (await page.CanNext()) - { - InitialManager(); - } - } await _wizard.Next(); } } @@ -535,38 +201,24 @@ { if (await _wizard.Complete()) { - this.ReloadDataEvent?.Invoke(_vm.Scheme); + //this.ReloadDataEvent?.Invoke(_vm.Scheme); //this.DialogResult = DialogResult.OK; - this.Close(); + TipFormHelper.ShowInfo("蹇�熷缓妯℃垚鍔�,椤甸潰鑷姩鍏抽棴!"); + this.ClosePage(this.PageGuid); } } } + - //姝e湪鍏抽棴 - private async void CreateXhsSchemeDlg_FormClosing(object sender, FormClosingEventArgs e) + /// <summary> + /// 鏄惁鍙互鍏抽棴 + /// </summary> + public override bool CanClose() { - if (_wizard != null) - { - //if (this.DialogResult == DialogResult.OK) - //{ - // /* if (!_wizard.Complete()) - // { - // e.Cancel = true; - // }*/ - //} - //else if (this.DialogResult == DialogResult.Cancel) - //{ - // if (!await _wizard.Cancel()) - // { - // e.Cancel = true; - // } - //} - //else - //{ - // e.Cancel = true; - //} - } + + return true; } + //娣诲姞姝ラ椤� private void AddStepItem(string caption) -- Gitblit v1.9.3