From cb02f725d7d76a334631a5c3e994addde4ced5c6 Mon Sep 17 00:00:00 2001 From: duheng <2286773002@qq.com> Date: 星期四, 20 三月 2025 16:10:40 +0800 Subject: [PATCH] 增加电费信息 修改ibox逻辑 --- Desktop/PBS.Desktop/MainForm.cs | 329 ++++++++++++++++++++++++++++++++++++++++++++++++------ 1 files changed, 289 insertions(+), 40 deletions(-) diff --git a/Desktop/PBS.Desktop/MainForm.cs b/Desktop/PBS.Desktop/MainForm.cs index a435961..28e912f 100644 --- a/Desktop/PBS.Desktop/MainForm.cs +++ b/Desktop/PBS.Desktop/MainForm.cs @@ -11,13 +11,12 @@ 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; namespace PBS.Desktop { @@ -161,6 +160,7 @@ { pguid = this.tabbedView1.ActiveDocument.Tag as PageGuid; } + SelectModular(tag, pguid); } @@ -185,8 +185,13 @@ //if (!IsExistPage(guid, true)) //{ //} - - SelectModular("BasicData"); + var pageGuid = new PageGuid() + { + Modular = "Home", + MoudingType = eMoudingType.Tab, + Function = "MapInfo", + }; + SelectModular("Home", pageGuid); } //界面正在退出时确认 @@ -538,27 +543,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); @@ -568,6 +552,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; @@ -598,6 +590,10 @@ dev_ele.Style = DevExpress.XtraBars.Navigation.ElementStyle.Item; dev_ele.Click += delegate { ele.Click?.Invoke(); }; dev_ele.Enabled = ele.Enable; + ele.EnableChangedEvent += (bol) => + { + dev_ele.Enabled = bol; + }; if (ele.Elements != null && ele.Elements.Count > 0) { dev_ele.Style = DevExpress.XtraBars.Navigation.ElementStyle.Group; @@ -626,6 +622,10 @@ ctrl_ele.OwnerElement.Expanded = true; this.accordionControlFunction.Refresh(); } + //if (!IsExistPage(pguid, true)) + //{ + // ele.Click.Invoke(); + //} return true; } else @@ -642,6 +642,8 @@ return false; } + + private bool _ibox_status = false; //获取 private List<AccordionElement> GetAccordionElementList(string modular) @@ -1432,6 +1434,12 @@ { 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() @@ -1555,47 +1563,287 @@ case "SmartHardware": { + // 创建一个列表来存储所有需要操作的 AccordionElement 对象 + List<AccordionElement> allAccordionElements = new List<AccordionElement>(); AccordionElement accordionElement_Facility = new(); accordionElement_Facility = Get("选择设施", new PageGuid() { - Modular = "DataAnalysis", + Modular = "SmartHardware", MoudingType = eMoudingType.Tab, Function = "FlowPressAnalysis", }, svgImgItem32[4], new Size(18, 18), (caption, guid, svg, size) => { - var dlg = new PBS.WinFrmUI.Box.ChoiceFacility(); - dlg.VisibleChanged += () => + var dlg = new PBS.WinFrmUI.Box.ChoiceFacilityDlg(); + dlg.SetDataSource(); + dlg.VisibleChanged += (bol) => { - //accordionElement_Facility.Enable; + accordionElement_Facility.Enable = bol; + foreach (var item in allAccordionElements) + { + foreach (var ele in item.Elements) + { + ele.Enable = true; + _ibox_status = true; + } + } }; dlg.ShowDialog(); }); - accordionElement_Facility.Enable = false; - /* analysis1.EnableChangedEvent += (bol) => - { - };*/ - var analysis2 = Get("末端压力分析", new PageGuid() + AccordionElement accordionElement_IboxInfo = new(); + accordionElement_IboxInfo = Get("硬件详情", new PageGuid() { - Modular = "DataAnalysis", + Modular = "SmartHardware", MoudingType = eMoudingType.Tab, - Function = "EndPressAnalysis", + Function = "IBoxInfo", }, svgImgItem32[4], new Size(18, 18), (caption, guid, svg, size) => { if (!IsExistPage(guid, true)) { - var page = new EndPressAnalysis(); + 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], + SvgImageSize = new Size(24, 24), + AllowGlyphSkinning = true, + Elements = new List<AccordionElement>() + { + Get("实时监测", new PageGuid() + { + Modular = "SmartHardware", + MoudingType = eMoudingType.Tab, + Function = "MonitorMgr", + }, svgImgItem32[2], 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() + { + Modular = "SmartHardware", + MoudingType = eMoudingType.Tab, + Function = "AnalysisMgr", + }, svgImgItem32[2], new Size(18, 18), (caption, guid, svg, size) => + { + if (!IsExistPage(guid, true)) + { + var page = new AnalysisMgr(); + page.PageGuid = guid; + page.PageTitle.Caption = caption; + page.PageTitle.HeaderSvgImage = svg; + page.PageTitle.SvgImageSize = size; + CreatePage(page, guid); + } + }) + } + }; + allAccordionElements.Add(accordionElement_Monitor); + var accordionElement_DataManagement = new AccordionElement() + { + Id = "management", + Caption = "数据管理", + SvgImage = svgImgGroup32[0], + SvgImageSize = new Size(24, 24), + AllowGlyphSkinning = true, + Elements = new List<AccordionElement>() + { + Get("协议配置", new PageGuid() + { + Modular = "SmartHardware", + MoudingType = eMoudingType.Tab, + Function = "ProtocolMgr", + }, svgImgItem32[2], 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 = "MonitorConfigurationMgr", + }, svgImgItem32[2], 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 = "DataFilterMgr", + }, svgImgItem32[2], 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() + { + Modular = "SmartHardware", + MoudingType = eMoudingType.Tab, + Function = "ParameterMgr", + }, svgImgItem32[2], 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() + { + Modular = "SmartHardware", + MoudingType = eMoudingType.Tab, + Function = "IntelligentControlData", + }, svgImgItem32[2], new Size(18, 18), (caption, guid, svg, size) => + { + if (!IsExistPage(guid, true)) + { + } + }),Get("数据下发", new PageGuid() + { + Modular = "SmartHardware", + MoudingType = eMoudingType.Tab, + Function = "DataDeliveryMgr", + }, svgImgItem32[2], new Size(18, 18), (caption, guid, svg, size) => + { + 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() + { + Modular = "SmartHardware", + MoudingType = eMoudingType.Tab, + Function = "ServiceUpgradeMgr", + }, svgImgItem32[2], new Size(18, 18), (caption, guid, svg, size) => + { + if (!IsExistPage(guid, true)) + { + } + })*/ + Get("基础信息", new PageGuid() + { + Modular = "SmartHardware", + MoudingType = eMoudingType.Tab, + Function = "BasicInfoMgr", + }, svgImgItem32[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) => + { + 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); + if (!_ibox_status) + { + foreach (var item in allAccordionElements) + { + foreach (var ele in item.Elements) + { + ele.Enable = false; + } + } + } list.Add(accordionElement_Facility); - list.Add(analysis2); + 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: @@ -1605,7 +1853,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) @@ -1622,6 +1870,7 @@ ele.SvgImage = svg_img; ele.SvgImageSize = size; ele.AllowGlyphSkinning = glyph_skinning; + ele.IsNormallyOpen = is_normally_open; return ele; } -- Gitblit v1.9.3