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 | 113 +++++++++++++++++++++++++++++++++++--------------------- 1 files changed, 70 insertions(+), 43 deletions(-) diff --git a/Desktop/PBS.Desktop/MainForm.cs b/Desktop/PBS.Desktop/MainForm.cs index 181c25b..28e912f 100644 --- a/Desktop/PBS.Desktop/MainForm.cs +++ b/Desktop/PBS.Desktop/MainForm.cs @@ -11,16 +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; -using PBS.WinFrmUI.Box; -using MathNet.Numerics.LinearAlgebra.Factorization; -using static System.Windows.Forms.VisualStyles.VisualStyleElement.Window; namespace PBS.Desktop { @@ -164,6 +160,7 @@ { pguid = this.tabbedView1.ActiveDocument.Tag as PageGuid; } + SelectModular(tag, pguid); } @@ -174,16 +171,6 @@ //界面记载事件 private void MainForm_Load(object sender, EventArgs e) { - var homeGuid = new PageGuid(); - var HomePage = new HomeXhsProjectPage(); - HomePage.PageGuid = homeGuid; - HomePage.PageTitle.Caption = "首页"; - // HomePage.PageTitle.HeaderSvgImage = svg; - // HomePage.PageTitle.SvgImageSize = size; - if (!IsExistPage(homeGuid, true)) - { - CreatePage(HomePage, homeGuid); - } } //界面显示事件 @@ -198,8 +185,13 @@ //if (!IsExistPage(guid, true)) //{ //} - - SelectModular("Home"); + var pageGuid = new PageGuid() + { + Modular = "Home", + MoudingType = eMoudingType.Tab, + Function = "MapInfo", + }; + SelectModular("Home", pageGuid); } //界面正在退出时确认 @@ -554,13 +546,20 @@ //初始功能列表 this.accordionControlFunction.Elements.Clear(); var list = GetAccordionElementList(modular); - this.accordionControlFunction.Elements.Clear(); if (list != null && list.Count > 0) { foreach (var element in list) { 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; @@ -623,6 +622,10 @@ ctrl_ele.OwnerElement.Expanded = true; this.accordionControlFunction.Refresh(); } + //if (!IsExistPage(pguid, true)) + //{ + // ele.Click.Invoke(); + //} return true; } else @@ -639,6 +642,8 @@ return false; } + + private bool _ibox_status = false; //获取 private List<AccordionElement> GetAccordionElementList(string modular) @@ -1558,17 +1563,6 @@ case "SmartHardware": { - var guid = new PageGuid(); - guid.Modular = "SmartHardware"; - if (!IsExistPage(guid, true)) - { - var page = new IBoxHomeMgr(); - page.PageGuid = guid; - page.PageTitle.Caption = "硬件详情"; - // page.PageTitle.HeaderSvgImage = svg; - // page.PageTitle.SvgImageSize = size; - CreatePage(page, guid); - } // 创建一个列表来存储所有需要操作的 AccordionElement 对象 List<AccordionElement> allAccordionElements = new List<AccordionElement>(); AccordionElement accordionElement_Facility = new(); @@ -1589,11 +1583,30 @@ 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", + }, svgImgItem32[4], 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() { @@ -1693,7 +1706,7 @@ { if (!IsExistPage(guid, true)) { - var page = new IBoxFormDataFilter(); + var page = new DataFilter(); page.PageGuid = guid; page.PageTitle.Caption = caption; page.PageTitle.HeaderSvgImage = svg; @@ -1791,14 +1804,18 @@ } }; allAccordionElements.Add(accordionElement_DataManagement); - foreach (var item in allAccordionElements) + if (!_ibox_status) { - foreach (var ele in item.Elements) + foreach (var item in allAccordionElements) { - ele.Enable = false; + 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); } @@ -1807,16 +1824,25 @@ case "Home": { - var homeGuid = new PageGuid(); - var HomePage = new HomeXhsProjectPage(); - HomePage.PageGuid = homeGuid; - HomePage.PageTitle.Caption = "首页"; - // HomePage.PageTitle.HeaderSvgImage = svg; - // HomePage.PageTitle.SvgImageSize = size; - if (!IsExistPage(homeGuid, true)) + AccordionElement accordionElement_Home = new(); + accordionElement_Home = Get("地图信息", new PageGuid() { - CreatePage(HomePage, homeGuid); - } + 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; @@ -1827,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) @@ -1844,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