From b6a00e2fddcf2343b981c30be670aa00b87699dc Mon Sep 17 00:00:00 2001 From: ningshuxia <ningshuxia0927@outlook.com> Date: 星期五, 28 三月 2025 14:07:50 +0800 Subject: [PATCH] 模拟计算 --- Desktop/PBS.Desktop/MainForm.cs | 269 ++++++++++++++++++++++++++++++++++++++++++----------- 1 files changed, 214 insertions(+), 55 deletions(-) diff --git a/Desktop/PBS.Desktop/MainForm.cs b/Desktop/PBS.Desktop/MainForm.cs index f966940..1a5f0b5 100644 --- a/Desktop/PBS.Desktop/MainForm.cs +++ b/Desktop/PBS.Desktop/MainForm.cs @@ -10,15 +10,12 @@ using HStation.WinFrmUI.Assets; using HStation.WinFrmUI.Basic; using HStation.WinFrmUI.Dict; -using IBox.WinFrmUI; -using NPOI.SS.Formula.Functions; using PBS.WinFrmUI; +using PBS.WinFrmUI.Box; using PBS.WinFrmUI.DataAnalysis; using PBS.WinFrmUI.Hydro; using Yw.WinFrmUI; using Yw.WinFrmUI.Page; -using PBS.Vmo; -using PBS.WinFrmUI.Box; namespace PBS.Desktop { @@ -162,6 +159,7 @@ { pguid = this.tabbedView1.ActiveDocument.Tag as PageGuid; } + SelectModular(tag, pguid); } @@ -186,8 +184,13 @@ //if (!IsExistPage(guid, true)) //{ //} - - SelectModular("BasicData"); + var pageGuid = new PageGuid() + { + Modular = "Home", + MoudingType = eMoudingType.Tab, + Function = "MapInfo", + }; + SelectModular("Home", pageGuid); } //界面正在退出时确认 @@ -539,27 +542,6 @@ } } - /* //智能硬件 - if (modular == "SmartHardware") - { - var guid = new PageGuid() - { - Modular = "SmartHardware", - MoudingType = eMoudingType.Tab, - Function = "IBox", - }; - if (!IsExistPage(guid, true)) - { - var ibox = IBoxDataHelper.GetData(); - var page = new IBoxForm(ibox); - page.PageGuid = guid; - page.PageTitle.Caption = "智能硬件"; - page.PageTitle.HeaderSvgImage = svgImgItem32[4]; - page.PageTitle.SvgImageSize = new Size(18, 18); - CreatePage(page, guid); - } - }*/ - //初始功能列表 this.accordionControlFunction.Elements.Clear(); var list = GetAccordionElementList(modular); @@ -569,6 +551,14 @@ { var accEle = GetAccordionControlElement(element); this.accordionControlFunction.Elements.Add(accEle); + } + + foreach (var element in list) + { + if (element.IsNormallyOpen && !IsExistPage(element.PageGuid, false)) + { + element.Click.Invoke(); + } } } _sel_modular = modular; @@ -647,6 +637,8 @@ return false; } + + private bool _ibox_status = false; //获取 private List<AccordionElement> GetAccordionElementList(string modular) @@ -1289,6 +1281,23 @@ CreatePage(page,guid); } }), + Get("电费配置",new PageGuid() + { + Modular = "BasicData", + MoudingType = eMoudingType.Tab, + Function = "ElecPriceMgr", + }, svgImgItem32[12], new Size(18, 18), (caption,guid,svg,size) => + { + if (!IsExistPage(guid, true)) + { + var page=new ElecPriceMgr(); + page.PageGuid = guid; + page.PageTitle.Caption = caption; + page.PageTitle.HeaderSvgImage = svg; + page.PageTitle.SvgImageSize = size; + CreatePage(page,guid); + } + }), } }; @@ -1432,33 +1441,51 @@ { Modular = "ModelManage", MoudingType = eMoudingType.Tab, - Function = " ", + Function = "ModelTemplate", }, svgImgItem32[4], new Size(18, 18), (caption, guid, svg, size) => { if (!IsExistPage(guid, true)) { + var page = new ModelTemplatePage(); + page.PageGuid = guid; + page.PageTitle.Caption = caption; + page.PageTitle.HeaderSvgImage = svg; + page.PageTitle.SvgImageSize = size; + CreatePage(page, guid); } }); var rapidModeling = Get("快速建模", new PageGuid() { Modular = "ModelManage", MoudingType = eMoudingType.Tab, - Function = " ", + Function = "QuickModeling", }, svgImgItem32[4], new Size(18, 18), (caption, guid, svg, size) => { if (!IsExistPage(guid, true)) { + var page = new QuickModelingPage(); + page.PageGuid = guid; + page.PageTitle.Caption = caption; + page.PageTitle.HeaderSvgImage = svg; + page.PageTitle.SvgImageSize = size; + CreatePage(page, guid); } }); var modelEdit = Get("模型编辑", new PageGuid() { Modular = "ModelManage", MoudingType = eMoudingType.Tab, - Function = " ", + Function = "ModelEdit", }, svgImgItem32[4], new Size(18, 18), (caption, guid, svg, size) => { if (!IsExistPage(guid, true)) { + var page = new ModelEditPage(); + page.PageGuid = guid; + page.PageTitle.Caption = caption; + page.PageTitle.HeaderSvgImage = svg; + page.PageTitle.SvgImageSize = size; + CreatePage(page, guid); } }); list.Add(hydraulicScenario); @@ -1487,6 +1514,23 @@ CreatePage(page, guid); } }); + //var simulationDrill = Get("模拟调度", new PageGuid() + //{ + // Modular = "WaterSupplyAnalysis", + // MoudingType = eMoudingType.Tab, + // Function = "SimulationSchedule", + //}, svgImgItem32[4], new Size(18, 18), (caption, guid, svg, size) => + //{ + // if (!IsExistPage(guid, true)) + // { + // var page = new SimulationSchedulePage(); + // page.PageGuid = guid; + // page.PageTitle.Caption = caption; + // page.PageTitle.HeaderSvgImage = svg; + // page.PageTitle.SvgImageSize = size; + // CreatePage(page, guid); + // } + //}); var forecastWater = Get("水量预测", new PageGuid() { Modular = "WaterSupplyAnalysis", @@ -1517,6 +1561,23 @@ case "DataAnalysis": { + var analysis = Get("能耗分析", new PageGuid() + { + Modular = "DataAnalysis", + MoudingType = eMoudingType.Tab, + Function = "EnergyAnalysis", + }, svgImgItem32[4], new Size(18, 18), (caption, guid, svg, size) => + { + if (!IsExistPage(guid, true)) + { + var page = new EnergyAnalysis(); + page.PageGuid = guid; + page.PageTitle.Caption = caption; + page.PageTitle.HeaderSvgImage = svg; + page.PageTitle.SvgImageSize = size; + CreatePage(page, guid); + } + }); var analysis1 = Get("流量压力比对分析", new PageGuid() { Modular = "DataAnalysis", @@ -1552,7 +1613,7 @@ CreatePage(page, guid); } }); - + list.Add(analysis); list.Add(analysis1); list.Add(analysis2); } @@ -1568,9 +1629,10 @@ Modular = "SmartHardware", MoudingType = eMoudingType.Tab, Function = "FlowPressAnalysis", - }, svgImgItem32[4], new Size(18, 18), (caption, guid, svg, size) => + }, svgImageIBox[7], new Size(18, 18), (caption, guid, svg, size) => { var dlg = new PBS.WinFrmUI.Box.ChoiceFacilityDlg(); + dlg.SetDataSource(); dlg.VisibleChanged += (bol) => { accordionElement_Facility.Enable = bol; @@ -1579,17 +1641,36 @@ foreach (var ele in item.Elements) { ele.Enable = true; + _ibox_status = true; } } }; dlg.ShowDialog(); }); + AccordionElement accordionElement_IboxInfo = new(); + accordionElement_IboxInfo = Get("硬件详情", new PageGuid() + { + Modular = "SmartHardware", + MoudingType = eMoudingType.Tab, + Function = "IBoxInfo", + }, svgImageIBox[10], new Size(18, 18), (caption, guid, svg, size) => + { + if (!IsExistPage(guid, true)) + { + var page = new IBoxInfoMgr(); + page.PageGuid = guid; + page.PageTitle.Caption = caption; + page.PageTitle.HeaderSvgImage = svg; + page.PageTitle.SvgImageSize = size; + CreatePage(page, guid); + } + }, true); var accordionElement_Monitor = new AccordionElement() { Id = "monitor", - Caption = "检测分析", - SvgImage = svgImgGroup32[0], + Caption = "监测分析", + SvgImage = svgImageIBox[4], SvgImageSize = new Size(24, 24), AllowGlyphSkinning = true, Elements = new List<AccordionElement>() @@ -1599,10 +1680,16 @@ Modular = "SmartHardware", MoudingType = eMoudingType.Tab, Function = "MonitorMgr", - }, svgImgItem32[2], new Size(18, 18), (caption, guid, svg, size) => + }, svgImageIBox[3], new Size(18, 18), (caption, guid, svg, size) => { if (!IsExistPage(guid, true)) { + var page = new MonitorMgr(); + page.PageGuid = guid; + page.PageTitle.Caption = caption; + page.PageTitle.HeaderSvgImage = svg; + page.PageTitle.SvgImageSize = size; + CreatePage(page, guid); } }), Get("能耗分析", new PageGuid() @@ -1610,7 +1697,7 @@ Modular = "SmartHardware", MoudingType = eMoudingType.Tab, Function = "AnalysisMgr", - }, svgImgItem32[2], new Size(18, 18), (caption, guid, svg, size) => + }, svgImageIBox[1], new Size(18, 18), (caption, guid, svg, size) => { if (!IsExistPage(guid, true)) { @@ -1629,7 +1716,7 @@ { Id = "management", Caption = "数据管理", - SvgImage = svgImgGroup32[0], + SvgImage = svgImageIBox[9], SvgImageSize = new Size(24, 24), AllowGlyphSkinning = true, Elements = new List<AccordionElement>() @@ -1639,32 +1726,50 @@ Modular = "SmartHardware", MoudingType = eMoudingType.Tab, Function = "ProtocolMgr", - }, svgImgItem32[2], new Size(18, 18), (caption, guid, svg, size) => + }, svgImageIBox[11], new Size(18, 18), (caption, guid, svg, size) => { if (!IsExistPage(guid, true)) { + var page = new ProtocolMgr(); + page.PageGuid = guid; + page.PageTitle.Caption = caption; + page.PageTitle.HeaderSvgImage = svg; + page.PageTitle.SvgImageSize = size; + CreatePage(page, guid); } }), Get("监测配置", new PageGuid() { Modular = "SmartHardware", MoudingType = eMoudingType.Tab, - Function = "MonitorMgr", - }, svgImgItem32[2], new Size(18, 18), (caption, guid, svg, size) => + Function = "MonitorConfigurationMgr", + }, svgImageIBox[5], new Size(18, 18), (caption, guid, svg, size) => { if (!IsExistPage(guid, true)) { + var page = new MonitorConfigurationMgr(); + page.PageGuid = guid; + page.PageTitle.Caption = caption; + page.PageTitle.HeaderSvgImage = svg; + page.PageTitle.SvgImageSize = size; + CreatePage(page, guid); } }), Get("数据处理", new PageGuid() { Modular = "SmartHardware", MoudingType = eMoudingType.Tab, - Function = "DataProcessingMgr", - }, svgImgItem32[2], new Size(18, 18), (caption, guid, svg, size) => + Function = "DataFilterMgr", + },svgImageIBox[8], new Size(18, 18), (caption, guid, svg, size) => { if (!IsExistPage(guid, true)) { + var page = new DataFilter(); + page.PageGuid = guid; + page.PageTitle.Caption = caption; + page.PageTitle.HeaderSvgImage = svg; + page.PageTitle.SvgImageSize = size; + CreatePage(page, guid); } }), Get("参数配置", new PageGuid() @@ -1672,12 +1777,18 @@ Modular = "SmartHardware", MoudingType = eMoudingType.Tab, Function = "ParameterMgr", - }, svgImgItem32[2], new Size(18, 18), (caption, guid, svg, size) => + }, svgImageIBox[0], new Size(18, 18), (caption, guid, svg, size) => { if (!IsExistPage(guid, true)) { + var page = new ParameterMgr(); + page.PageGuid = guid; + page.PageTitle.Caption = caption; + page.PageTitle.HeaderSvgImage = svg; + page.PageTitle.SvgImageSize = size; + CreatePage(page, guid); } - }),Get("智控数据", new PageGuid() + }),/*Get("智控数据", new PageGuid() { Modular = "SmartHardware", MoudingType = eMoudingType.Tab, @@ -1696,6 +1807,12 @@ { if (!IsExistPage(guid, true)) { + var page = new DataDeliveryMgr(); + page.PageGuid = guid; + page.PageTitle.Caption = caption; + page.PageTitle.HeaderSvgImage = svg; + page.PageTitle.SvgImageSize = size; + CreatePage(page, guid); } }),Get("服务升级", new PageGuid() { @@ -1707,42 +1824,83 @@ if (!IsExistPage(guid, true)) { } - }),Get("基础信息", new PageGuid() + })*/ + Get("基础信息", new PageGuid() { Modular = "SmartHardware", MoudingType = eMoudingType.Tab, Function = "BasicInfoMgr", - }, svgImgItem32[2], new Size(18, 18), (caption, guid, svg, size) => + }, svgImageIBox[2], new Size(18, 18), (caption, guid, svg, size) => { if (!IsExistPage(guid, true)) { + var page = new BasicInfoMgr(); + page.PageGuid = guid; + page.PageTitle.Caption = caption; + page.PageTitle.HeaderSvgImage = svg; + page.PageTitle.SvgImageSize = size; + CreatePage(page, guid); } }),Get("日志管理", new PageGuid() { Modular = "SmartHardware", MoudingType = eMoudingType.Tab, Function = "LogManagentMgr", - }, svgImgItem32[2], new Size(18, 18), (caption, guid, svg, size) => + }, svgImageIBox[6], new Size(18, 18), (caption, guid, svg, size) => { if (!IsExistPage(guid, true)) { + var page = new LogManagentMgr(); + page.PageGuid = guid; + page.PageTitle.Caption = caption; + page.PageTitle.HeaderSvgImage = svg; + page.PageTitle.SvgImageSize = size; + CreatePage(page, guid); } }), } }; allAccordionElements.Add(accordionElement_DataManagement); - /* foreach (var item in allAccordionElements) - { - foreach (var ele in item.Elements) - { - ele.Enable = false; - } - }*/ + if (!_ibox_status) + { + foreach (var item in allAccordionElements) + { + foreach (var ele in item.Elements) + { + ele.Enable = false; + } + } + } list.Add(accordionElement_Facility); + list.Add(accordionElement_IboxInfo); list.Add(accordionElement_Monitor); list.Add(accordionElement_DataManagement); } + break; + + case "Home": + { + AccordionElement accordionElement_Home = new(); + accordionElement_Home = Get("地图信息", new PageGuid() + { + Modular = "Home", + MoudingType = eMoudingType.Tab, + Function = "MapInfo", + }, svgImgItem32[4], new Size(18, 18), (caption, guid, svg, size) => + { + if (!IsExistPage(guid, true)) + { + var page = new HomePbsProjectPage(); + page.PageGuid = guid; + page.PageTitle.Caption = caption; + page.PageTitle.HeaderSvgImage = svg; + page.PageTitle.SvgImageSize = size; + CreatePage(page, guid); + } + }, true); + list.Add(accordionElement_Home); + } break; default: @@ -1752,7 +1910,7 @@ return list; } - private AccordionElement Get(string caption, PageGuid guid, SvgImage svg_img, Size size, Action<string, PageGuid, SvgImage, Size> action, bool glyph_skinning = true) + private AccordionElement Get(string caption, PageGuid guid, SvgImage svg_img, Size size, Action<string, PageGuid, SvgImage, Size> action, bool is_normally_open = false, bool glyph_skinning = true) { var ele = new AccordionElement(); if (guid == null) @@ -1769,6 +1927,7 @@ ele.SvgImage = svg_img; ele.SvgImageSize = size; ele.AllowGlyphSkinning = glyph_skinning; + ele.IsNormallyOpen = is_normally_open; return ele; } -- Gitblit v1.9.3