duheng
2025-02-17 26f45822a2a84af81e20ca543da98d3b822c5afd
Desktop/HStation.Desktop.Xhs.Core/MainForm.cs
@@ -1,12 +1,13 @@
using DevExpress.XtraBars.Docking;
using DevExpress.XtraBars.Docking2010.Views;
using DevExpress.XtraBars.Docking2010.Views.WindowsUI;
using DevExpress.XtraBars.Navigation;
using DevExpress.XtraBars.Ribbon;
using DevExpress.XtraEditors;
using HStation.WinFrmUI;
using HStation.WinFrmUI.Assets;
using HStation.WinFrmUI.Auth.Core._02_User;
using HStation.WinFrmUI.Basic;
using HStation.WinFrmUI.Dict;
using HStation.WinFrmUI.Xhs.PumpProduct;
using System.IO;
using Yw.WinFrmUI;
@@ -19,6 +20,26 @@
        public MainForm()
        {
            InitializeComponent();
            this.IconOptions.Icon = Yw.WinFrmUI.GlobalParas.AppIcon;
        }
        //验证权限
        private void VerifyAuth()
        {
            this.tileNavPane.BeginUpdate();
            var list = AuthHelper.PageAuthHaveTreeList;
            foreach (NavButton item in this.tileNavPane.Buttons)
            {
                if (item.Tag != null && !string.IsNullOrEmpty(item.Tag.ToString()))
                {
                    var pageAuthItem = list?.Find(x => x.Permission == item.Tag.ToString());
                    if (pageAuthItem != null)
                    {
                        item.Visible = pageAuthItem.Have;
                    }
                }
            }
            this.tileNavPane.EndUpdate();
        }
        #region TileNavPane 相关处理
@@ -117,6 +138,8 @@
            }
        }
        private List<TilePeekItem> _modelItem;
        //模型管理
        private void nbModelMgr_ElementClick(object sender, NavElementEventArgs e)
        {
@@ -124,316 +147,114 @@
            var hitInfo = this.tileNavPane.CalcHitInfo(pt);
            if (hitInfo.ButtonInfo != null)
            {
                if (_bimfaceMgrBeakCtrl == null)
                {
                    var peakItemList = new List<Yw.WinFrmUI.TilePeekItem>()
                    {
                        new TilePeekItem()
                        {
                            Caption="水力场景",
                            SvgImage=svgImg32Model[0],
                            SvgImageSize=new Size(24,24),
                            Click=()=>{
                                this.flyoutPanel1.HideBeakForm();
                                var guid=new PageGuid(){
                                    Modular="Hydro",
                                    MoudingType=eMoudingType.Tab,
                                    Function="SceneMgr",
                                };
                                if(!IsExistPage(guid,true))
                /*                if (_bimfaceMgrBeakCtrl == null)
                                {
                                    var page=new Yw.WinFrmUI.HydroSceneMgrPage();
                                    CreatePage(page,guid);
                                    var peakItemList = new List<Yw.WinFrmUI.TilePeekItem>()
                                    {
                                        new TilePeekItem()
                                        {
                                            Caption="水力场景",
                                            SvgImage=svgImg32Model[0],
                                            SvgImageSize=new Size(24,24),
                                            Click=()=>{
                                                this.flyoutPanel1.HideBeakForm();
                                                var guid=new PageGuid(){
                                                    Modular="Hydro",
                                                    MoudingType=eMoudingType.Tab,
                                                    Function="SceneMgr",
                                                };
                                                if(!IsExistPage(guid,true))
                                                {
                                                    var page=new Yw.WinFrmUI.HydroSceneMgrPage();
                                                    CreatePage(page,guid);
                                                }
                                            }
                                        },
                                        new TilePeekItem(){
                                            Caption="水力模型",
                                            SvgImage=svgImg32Model[1],
                                            SvgImageSize=new Size(24,24),
                                            Click=()=>{
                                                this.flyoutPanel1.HideBeakForm();
                                                var guid=new PageGuid(){
                                                    Modular="Hydro",
                                                    MoudingType=eMoudingType.Tab,
                                                    Function="ModelMgr",
                                                };
                                                if(!IsExistPage(guid,true))
                                                {
                                                    var page=new HStation.WinFrmUI.HydroModelMgrPage();
                                                    CreatePage(page,guid);
                                                }
                                            }
                                        },
                                        new TilePeekItem(){
                                            Caption="三维模型",
                                            SvgImage=svgImg32Model[2],
                                            SvgImageSize=new Size(24,24),
                                            Click=()=>{
                                                this.flyoutPanel1.HideBeakForm();
                                                var guid=new PageGuid(){
                                                    Modular="Bimface",
                                                    MoudingType=eMoudingType.Tab,
                                                    Function="FileMgr",
                                                };
                                                if(!IsExistPage(guid,true))
                                                {
                                                    var page=new Yw.WinFrmUI.BimfaceFileMgrPage();
                                                    CreatePage(page,guid);
                                                }
                                            }
                                        },
                                    };
                                    _bimfaceMgrBeakCtrl = peakItemList.CreatePeekCtrl();
                                }
                            }
                        },
                        new TilePeekItem(){
                            Caption="水力模型",
                            SvgImage=svgImg32Model[1],
                            SvgImageSize=new Size(24,24),
                            Click=()=>{
                                this.flyoutPanel1.HideBeakForm();
                                var guid=new PageGuid(){
                                    Modular="Hydro",
                                    MoudingType=eMoudingType.Tab,
                                    Function="ModelMgr",
                                };
                                if(!IsExistPage(guid,true))
                                {
                                    var page=new HStation.WinFrmUI.HydroModelMgrPage();
                                    CreatePage(page,guid);
                                }
                            }
                        },
                        new TilePeekItem(){
                            Caption="三维模型",
                            SvgImage=svgImg32Model[2],
                            SvgImageSize=new Size(24,24),
                            Click=()=>{
                                this.flyoutPanel1.HideBeakForm();
                                var guid=new PageGuid(){
                                    Modular="Bimface",
                                    MoudingType=eMoudingType.Tab,
                                    Function="FileMgr",
                                };
                                if(!IsExistPage(guid,true))
                                {
                                    var page=new Yw.WinFrmUI.BimfaceFileMgrPage();
                                    CreatePage(page,guid);
                                }
                            }
                        },
                    };
                    _bimfaceMgrBeakCtrl = peakItemList.CreatePeekCtrl();
                }
                */
                _modelItem = CreateHydroPeekList();
                if (e.Element.Tag == null)
                    return;
                SetMenuAuth(e.Element.Tag.ToString(), _modelItem);
                _bimfaceMgrBeakCtrl = _modelItem.CreatePeekCtrl(ClickTilePeekItem);
                this.flyoutPanel1.Size = _bimfaceMgrBeakCtrl.Size;
                this.flyoutPanelControl1.Controls.Clear();
                this.flyoutPanelControl1.Controls.Add(_bimfaceMgrBeakCtrl);
                var rectangle = this.RectangleToScreen(hitInfo.ButtonInfo.Bounds);
                this.flyoutPanel1.ShowBeakForm(rectangle);
            }
        }
        private Control _bimfaceMgrBeakCtrl = null;//bimface管理弹出界面
        private Control _SystemProductManageCtrl = null;//产品管理弹出界面
        private Control _SystemConfigCtrl = null;//系统配置弹出界面
        private Control _AuthConfigCtrl = null;//权限配置弹出界面
        //产品管理
        private void nbProductManage_ElementClick(object sender, NavElementEventArgs e)
        private void nbAssetsMgr_ElementClick(object sender, NavElementEventArgs e)
        {
            var pt = this.tileNavPane.PointToClient(MousePosition);
            var hitInfo = this.tileNavPane.CalcHitInfo(pt);
            if (hitInfo.ButtonInfo != null)
            {
                if (_SystemProductManageCtrl == null)
                if (_assetsMgrCtrl == null)
                {
                    var peakItemList = new List<Yw.WinFrmUI.TilePeekItem>()
                    {
                        new TilePeekItem(){
                            Caption="水泵管理",
                            SvgImage=svgImg32Model[18],
                            SvgImageSize=new Size(24,24),
                            Click=()=>{
                                this.flyoutPanel1.HideBeakForm();
                                var guid=new PageGuid(){
                                    Modular="Asstes",
                                    MoudingType=eMoudingType.Tab,
                                    Function="pumpMgr",
                                };
                                if(!IsExistPage(guid,true))
                                {
                                    var page=new PumpProductMainPage();
                                    CreatePage(page,guid);
                                }
                            }
                        },
                        new TilePeekItem(){
                            Caption="阀门管理",
                            SvgImage=svgImg32Model[17],
                            SvgImageSize=new Size(24,24),
                            Click=()=>{
                                this.flyoutPanel1.HideBeakForm();
                                var guid=new PageGuid(){
                                    Modular="Asstes",
                                    MoudingType=eMoudingType.Tab,
                                    Function="ValveMgr",
                                };
                                if(!IsExistPage(guid,true))
                                {
                                    var page=new ValveManageMainPage();
                                    CreatePage(page,guid);
                                }
                            }
                        },
                          /*new TilePeekItem(){
                            Caption="管道附件",
                            SvgImage=svgImg32Model[8],
                            SvgImageSize=new Size(24,24),
                            Click=()=>{
                                this.flyoutPanel1.HideBeakForm();
                                var guid=new PageGuid(){
                                    Modular="Asstes",
                                    MoudingType=eMoudingType.Tab,
                                    Function="AdaptingMgr",
                                };
                                if(!IsExistPage(guid,true))
                                {
                                    var page=new AdaptingManageMainPanel();
                                    CreatePage(page,guid);
                                }
                            }
                        }, */ new TilePeekItem(){
                            Caption="弯头管理",
                            SvgImage=svgImg32Model[15],
                            SvgImageSize=new Size(24,24),
                            Click=()=>{
                                this.flyoutPanel1.HideBeakForm();
                                var guid=new PageGuid(){
                                    Modular="Asstes",
                                    MoudingType=eMoudingType.Tab,
                                    Function="Elbow",
                                };
                                if(!IsExistPage(guid,true))
                                {
                                    var page=new ElbowManageMainPage();
                                    CreatePage(page,guid);
                                }
                            }
                        },
                           new TilePeekItem(){
                            Caption="三通管理",
                            SvgImage=svgImg32Model[10],
                            SvgImageSize=new Size(24,24),
                            Click=()=>{
                                this.flyoutPanel1.HideBeakForm();
                                var guid=new PageGuid(){
                                    Modular="Asstes",
                                    MoudingType=eMoudingType.Tab,
                                    Function="ThreeLink",
                                };
                                if(!IsExistPage(guid,true))
                                {
                                    var page=new ThreeLinkManageMainPage();
                                    CreatePage(page,guid);
                                }
                            }
                        },
                            new TilePeekItem(){
                            Caption="喷头管理",
                            SvgImage=svgImg32Model[19],
                            SvgImageSize=new Size(24,24),
                            Click=()=>{
                                this.flyoutPanel1.HideBeakForm();
                                var guid=new PageGuid(){
                                    Modular="Asstes",
                                    MoudingType=eMoudingType.Tab,
                                    Function="Sprinkler",
                                };
                                if(!IsExistPage(guid,true))
                                {
                                    var page=new SprinklerManageMainPage();
                                    CreatePage(page,guid);
                                }
                            }
                        },
                             new TilePeekItem(){
                            Caption="四通管理",
                            SvgImage=svgImg32Model[14],
                            SvgImageSize=new Size(24,24),
                            Click=()=>{
                                this.flyoutPanel1.HideBeakForm();
                                var guid=new PageGuid(){
                                    Modular="Asstes",
                                    MoudingType=eMoudingType.Tab,
                                    Function="FourLink",
                                };
                                if(!IsExistPage(guid,true))
                                {
                                    var page=new FourLinkManageMainPage();
                                    CreatePage(page,guid);
                                }
                            }
                        },
                        new TilePeekItem(){
                            Caption="厂商管理",
                            SvgImage=svgImg32Model[16],
                            SvgImageSize=new Size(24,24),
                            Click=()=>{
                                this.flyoutPanel1.HideBeakForm();
                                var guid=new PageGuid(){
                                    Modular="Asstes",
                                    MoudingType=eMoudingType.Tab,
                                    Function="AssetsManufacturerMainPanel",
                                };
                                if(!IsExistPage(guid,true))
                                {
                                    var page=new AssetsManufacturerMainPage();
                                    CreatePage(page,guid);
                                }
                            }
                        },
                                new TilePeekItem(){
                            Caption="管道管理",
                            SvgImage=svgImg32Model[11],
                            SvgImageSize=new Size(24,24),
                            Click=()=>{
                                this.flyoutPanel1.HideBeakForm();
                                var guid=new PageGuid(){
                                    Modular="Asstes",
                                    MoudingType=eMoudingType.Tab,
                                    Function="PipeLineMgr",
                                };
                                if(!IsExistPage(guid,true))
                                {
                                    var page=new PipeManageMainPage();
                                    CreatePage(page,guid);
                                }
                            }
                        },  new TilePeekItem(){
                            Caption="换热器管理",
                            SvgImage=svgImg32Model[13],
                            SvgImageSize=new Size(24,24),
                            Click=()=>{
                                this.flyoutPanel1.HideBeakForm();
                                var guid=new PageGuid(){
                                    Modular="Asstes",
                                    MoudingType=eMoudingType.Tab,
                                    Function="ExchangerMgr",
                                };
                                if(!IsExistPage(guid,true))
                                {
                                    var page=new ExchangerManageMainPage();
                                    CreatePage(page,guid);
                                }
                            }
                        },new TilePeekItem(){
                            Caption="空压机管理",
                            SvgImage=svgImg32Model[12],
                            SvgImageSize=new Size(24,24),
                            Click=()=>{
                                this.flyoutPanel1.HideBeakForm();
                                var guid=new PageGuid(){
                                    Modular="Asstes",
                                    MoudingType=eMoudingType.Tab,
                                    Function="CompressorMgr",
                                };
                                if(!IsExistPage(guid,true))
                                {
                                    var page=new CompressorManageMainPage();
                                    CreatePage(page,guid);
                                }
                            }
                        },new TilePeekItem(){
                            Caption="成套设备",
                            SvgImage=svgImg32Model[10],
                            SvgImageSize=new Size(24,24),
                            Click=()=>{
                                this.flyoutPanel1.HideBeakForm();
                                var guid=new PageGuid(){
                                    Modular="Asstes",
                                    MoudingType=eMoudingType.Tab,
                                    Function="Equipment",
                                };
                                if(!IsExistPage(guid,true))
                                {
                                    var page=new PackageManageMainPage();
                                    CreatePage(page,guid);
                                }
                            }
                        },
                    };
                    _SystemProductManageCtrl = peakItemList.CreatePeekCtrl();
                    if (e.Element.Tag == null)
                        return;
                    var peekItemList = CreateAssetsPeekList();
                    SetMenuAuth(e.Element.Tag.ToString(), peekItemList);
                    _assetsMgrCtrl = peekItemList.CreatePeekCtrl(ClickTilePeekItem);
                }
                this.flyoutPanel1.Size = _SystemProductManageCtrl.Size;
                this.flyoutPanel1.Size = _assetsMgrCtrl.Size;
                this.flyoutPanelControl1.Controls.Clear();
                this.flyoutPanelControl1.Controls.Add(_SystemProductManageCtrl);
                this.flyoutPanelControl1.Controls.Add(_assetsMgrCtrl);
                var rectangle = this.RectangleToScreen(hitInfo.ButtonInfo.Bounds);
                this.flyoutPanel1.ShowBeakForm(rectangle);
            }
        }
        private TileControl _assetsMgrCtrl = null;//资产管理控件
        //系统配置
        private void nbSystemConfig_ElementClick(object sender, NavElementEventArgs e)
@@ -444,135 +265,11 @@
            {
                if (_SystemConfigCtrl == null)
                {
                    var peakItemList = new List<Yw.WinFrmUI.TilePeekItem>()
                    {
                    /*    new TilePeekItem(){
                            Caption="角色管理",
                            SvgImage=svgImg32Model[3],
                            SvgImageSize=new Size(24,24),
                            Click=()=>{
                                this.flyoutPanel1.HideBeakForm();
                                var guid=new PageGuid(){
                                    Modular="Auth",
                                    MoudingType=eMoudingType.Tab,
                                    Function="UserManageMgr",
                                };
                                if(!IsExistPage(guid,true))
                                {
                                    var page=new UserMgrMainPanel();
                                    CreatePage(page,guid);
                                }
                            }
                        },
                        new TilePeekItem(){
                            Caption="用户管理",
                            SvgImage=svgImg32Model[7],
                            SvgImageSize=new Size(24,24),
                            Click=()=>{
                                this.flyoutPanel1.HideBeakForm();
                                var guid=new PageGuid(){
                                    Modular="Auth",
                                    MoudingType=eMoudingType.Tab,
                                    Function="ValveMgr",
                                };
                                if(!IsExistPage(guid,true))
                                {
                                    var page=new ValveManageMainPage();
                                    CreatePage(page,guid);
                                }
                            }
                        },
                        new TilePeekItem(){
                            Caption="菜单管理",
                            SvgImage=svgImg32Model[2],
                            SvgImageSize=new Size(24,24),
                            Click=()=>{
                                this.flyoutPanel1.HideBeakForm();
                                var guid=new PageGuid(){
                                    Modular="Auth",
                                    MoudingType=eMoudingType.Tab,
                                    Function="TypeMgr",
                                };
                                if(!IsExistPage(guid,true))
                                {
                                    var page=new SysTypeManageMainPanel();
                                    CreatePage(page,guid);
                                }
                            }
                        },*/
                             new TilePeekItem(){
                            Caption="类型管理",
                            SvgImage=svgImg32Model[4],
                            SvgImageSize=new Size(24,24),
                            Click=()=>{
                                this.flyoutPanel1.HideBeakForm();
                                var guid=new PageGuid(){
                                    Modular="Basic",
                                    MoudingType=eMoudingType.Tab,
                                    Function="TypeMgr",
                                };
                                if(!IsExistPage(guid,true))
                                {
                                    var page=new SysTypeManageMainPanel();
                                    CreatePage(page,guid);
                                }
                            }
                        },
                          new TilePeekItem(){
                            Caption="分类管理",
                            SvgImage=svgImg32Model[5],
                            SvgImageSize=new Size(24,24),
                            Click=()=>{
                                this.flyoutPanel1.HideBeakForm();
                                var guid=new PageGuid(){
                                    Modular="Basic",
                                    MoudingType=eMoudingType.Tab,
                                    Function="CataLogMgr",
                                };
                                if(!IsExistPage(guid,true))
                                {
                                    var page=new SysCatalogManageMainPanel();
                                    CreatePage(page,guid);
                                }
                            }
                         },      new TilePeekItem(){
                            Caption="属性管理",
                            SvgImage=svgImg32Model[6],
                            SvgImageSize=new Size(24,24),
                            Click=()=>{
                                this.flyoutPanel1.HideBeakForm();
                                var guid=new PageGuid(){
                                    Modular="Basic",
                                    MoudingType=eMoudingType.Tab,
                                    Function="PropMgr",
                                };
                                if(!IsExistPage(guid,true))
                                {
                                    var page=new SysPropManageMainPanel();
                                    CreatePage(page,guid);
                                }
                            }
                         },
                        new TilePeekItem(){
                            Caption="字典类型",
                            SvgImage=svgImg32Model[1],
                            SvgImageSize=new Size(24,24),
                            Click=()=>{
                                this.flyoutPanel1.HideBeakForm();
                                var guid=new PageGuid(){
                                    Modular="Dict",
                                    MoudingType=eMoudingType.Tab,
                                    Function="DictMgr",
                                };
                                if(!IsExistPage(guid,true))
                                {
                                    var page=new HStation.WinFrmUI.Dict.DictManageMainPanel();
                                    CreatePage(page,guid);
                                }
                            }
                        },
                     };
                    _SystemConfigCtrl = peakItemList.CreatePeekCtrl();
                    if (e.Element.Tag == null)
                        return;
                    var peekItemList = CreateBasicPeekList();
                    SetMenuAuth(e.Element.Tag.ToString(), peekItemList);
                    _SystemConfigCtrl = peekItemList.CreatePeekCtrl(ClickTilePeekItem);
                }
                this.flyoutPanel1.Size = _SystemConfigCtrl.Size;
                this.flyoutPanelControl1.Controls.Clear();
@@ -595,70 +292,1003 @@
            {
                if (_AuthConfigCtrl == null)
                {
                    var peakItemList = new List<Yw.WinFrmUI.TilePeekItem>()
                    {
                        new TilePeekItem(){
                            Caption="角色管理",
                            SvgImage=svgImg32Model[3],
                            SvgImageSize=new Size(24,24),
                            Click=()=>{
                                this.flyoutPanel1.HideBeakForm();
                                var guid=new PageGuid(){
                                    Modular="Auth",
                                    MoudingType=eMoudingType.Tab,
                                    Function="UserManageMgr",
                                };
                                if(!IsExistPage(guid,true))
                                {
                                    var page=new UserMgrMainPanel();
                                    CreatePage(page,guid);
                                }
                            }
                        },
                        new TilePeekItem(){
                            Caption="用户管理",
                            SvgImage=svgImg32Model[7],
                            SvgImageSize=new Size(24,24),
                            Click=()=>{
                                this.flyoutPanel1.HideBeakForm();
                                var guid=new PageGuid(){
                                    Modular="Auth",
                                    MoudingType=eMoudingType.Tab,
                                    Function="ValveMgr",
                                };
                                if(!IsExistPage(guid,true))
                                {
                                    var page=new ValveManageMainPage();
                                    CreatePage(page,guid);
                                }
                            }
                        },
                        new TilePeekItem(){
                            Caption="菜单管理",
                            SvgImage=svgImg32Model[2],
                            SvgImageSize=new Size(24,24),
                            Click=()=>{
                                this.flyoutPanel1.HideBeakForm();
                                var guid=new PageGuid(){
                                    Modular="Auth",
                                    MoudingType=eMoudingType.Tab,
                                    Function="TypeMgr",
                                };
                                if(!IsExistPage(guid,true))
                                {
                                    var page=new SysTypeManageMainPanel();
                                    CreatePage(page,guid);
                                }
                            }
                        },
                        };
                    _AuthConfigCtrl = peakItemList.CreatePeekCtrl();
                    var peekItemList = CreateAuthPeekList();
                    if (e.Element.Tag == null)
                        return;
                    SetMenuAuth(e.Element.Tag.ToString(), peekItemList);
                    _AuthConfigCtrl = peekItemList.CreatePeekCtrl(ClickTilePeekItem);
                }
                this.flyoutPanel1.Size = _AuthConfigCtrl.Size;
                this.flyoutPanelControl1.Controls.Clear();
                this.flyoutPanelControl1.Controls.Add(_AuthConfigCtrl);
                var rectangle = this.RectangleToScreen(hitInfo.ButtonInfo.Bounds);
                this.flyoutPanel1.ShowBeakForm(rectangle);
            }
        }
        private void SetMenuAuth(string tag_str, List<TilePeekItem> tilePeekItem)
        {
            if (string.IsNullOrEmpty(tag_str))
                return;
            var pageAuth = AuthHelper.GetRootPageAuth(tag_str);
            if (pageAuth == null)
                return;
            var page_child_list = pageAuth.Children?.Where(x => x.Type == 2).ToList();
            if (page_child_list != null && page_child_list.Count > 0)
            {
                foreach (var menu in page_child_list)
                {
                    SetTilePeekItemVisibility(tilePeekItem, menu);
                }
            }
        }
        private void SetTilePeekItemVisibility(List<TilePeekItem> tilePeekItems, Yw.Dto.MenuAuthorityHaveTreeDto menu)
        {
            foreach (var item in tilePeekItems)
            {
                if (menu.Permission == item.Tag.ToString())
                {
                    item.Visibility = menu.Have;
                }
                if (item.Children != null && item.Children.Count > 0)
                {
                    SetTilePeekItemVisibility(item.Children, menu);
                }
            }
        }
        //创建水力Peek列表
        private List<TilePeekItem> CreateHydroPeekList()
        {
            var list = new List<TilePeekItem>();
            //水力场景
            var peekScene = new TilePeekItem();
            peekScene.Id = HydroFunctionHelper.SceneMgr;
            peekScene.Caption = "水力场景";
            peekScene.SvgImage = svgImg32Model[0];
            peekScene.SvgImageSize = new Size(24, 24);
            peekScene.Tag = HydroFunctionHelper.SceneMgr;
            list.Add(peekScene);
            //三维模型
            var peekBimface = new TilePeekItem();
            peekBimface.Id = HydroFunctionHelper.BimfaceMgr;
            peekBimface.Caption = "三维模型";
            peekBimface.SvgImage = svgImg32Model[2];
            peekBimface.SvgImageSize = new Size(24, 24);
            peekBimface.Tag = HydroFunctionHelper.BimfaceMgr;
            list.Add(peekBimface);
            //水力模型
            var peekModel = new TilePeekItem();
            peekModel.Id = HydroFunctionHelper.ModelMgr;
            peekModel.Caption = "水力模型";
            peekModel.SvgImage = svgImg32Model[1];
            peekModel.SvgImageSize = new Size(24, 24);
            peekModel.Tag = HydroFunctionHelper.ModelMgr;
            list.Add(peekModel);
            return list;
        }
        //创建系统配置Peek列表
        private List<TilePeekItem> CreateBasicPeekList()
        {
            var list = new List<TilePeekItem>();
            //类型
            var peekType = new TilePeekItem();
            peekType.Id = BasicFunctionHelper.TypeMgr;
            peekType.Caption = "类型管理";
            peekType.SvgImage = svgImg32Model[4];
            peekType.SvgImageSize = new Size(24, 24);
            peekType.Tag = BasicFunctionHelper.TypeMgr;
            list.Add(peekType);
            //分类
            var peekCatalog = new TilePeekItem();
            peekCatalog.Id = BasicFunctionHelper.CatalogMgr;
            peekCatalog.Caption = "分类管理";
            peekCatalog.SvgImage = svgImg32Model[5];
            peekCatalog.SvgImageSize = new Size(24, 24);
            peekCatalog.Tag = BasicFunctionHelper.CatalogMgr;
            list.Add(peekCatalog);
            //属性
            var peekProp = new TilePeekItem();
            peekProp.Id = BasicFunctionHelper.PropMgr;
            peekProp.Caption = "属性管理";
            peekProp.SvgImage = svgImg32Model[6];
            peekProp.SvgImageSize = new Size(24, 24);
            peekProp.Tag = BasicFunctionHelper.PropMgr;
            list.Add(peekProp);
            //标签
            var peekFlag = new TilePeekItem();
            peekFlag.Id = BasicFunctionHelper.FlagMgr;
            peekFlag.Caption = "标签管理";
            peekFlag.SvgImage = svgImg32Model[20];
            peekFlag.SvgImageSize = new Size(24, 24);
            peekFlag.Tag = BasicFunctionHelper.FlagMgr;
            list.Add(peekFlag);
            //字典
            var peekDict = new TilePeekItem();
            peekDict.Id = BasicFunctionHelper.DictMgr;
            peekDict.Caption = "字典管理";
            peekDict.SvgImage = svgImg32Model[25];
            peekDict.SvgImageSize = new Size(24, 24);
            peekDict.Tag = BasicFunctionHelper.DictMgr;
            list.Add(peekDict);
            return list;
        }
        //创建权限Peek列表
        private List<TilePeekItem> CreateAuthPeekList()
        {
            var list = new List<TilePeekItem>();
            //角色
            var peekRole = new TilePeekItem();
            peekRole.Id = AuthFunctionHelper.RoleMgr;
            peekRole.Caption = "角色管理";
            peekRole.SvgImage = svgImg32Model[21];
            peekRole.SvgImageSize = new Size(24, 24);
            peekRole.Tag = AuthFunctionHelper.RoleMgr;
            list.Add(peekRole);
            //用户
            var peekUser = new TilePeekItem();
            peekUser.Id = AuthFunctionHelper.UserMgr;
            peekUser.Caption = "用户管理";
            peekUser.SvgImage = svgImg32Model[22];
            peekUser.SvgImageSize = new Size(24, 24);
            peekUser.Tag = AuthFunctionHelper.UserMgr;
            list.Add(peekUser);
            //菜单
            var peekMenu = new TilePeekItem();
            peekMenu.Id = AuthFunctionHelper.MenuMgr;
            peekMenu.Caption = "菜单管理";
            peekMenu.SvgImage = svgImg32Model[23];
            peekMenu.SvgImageSize = new Size(24, 24);
            peekMenu.Tag = AuthFunctionHelper.MenuMgr;
            list.Add(peekMenu);
            //角色用户
            var peekUserRole = new TilePeekItem();
            peekUserRole.Id = AuthFunctionHelper.RoleProjectMenu;
            peekUserRole.Caption = "角色用户";
            peekUserRole.SvgImage = svgImg32Model[24];
            peekUserRole.SvgImageSize = new Size(24, 24);
            peekUserRole.Tag = AuthFunctionHelper.RoleProjectMenu;
            list.Add(peekUserRole);
            //登录日志
            var peekUserLoginLog = new TilePeekItem();
            peekUserLoginLog.Id = AuthFunctionHelper.UserLoginLog;
            peekUserLoginLog.Caption = "登录日志";
            peekUserLoginLog.SvgImage = svgImg32Model[26];
            peekUserLoginLog.SvgImageSize = new Size(24, 24);
            peekUserLoginLog.Tag = AuthFunctionHelper.UserLoginLog;
            list.Add(peekUserLoginLog);
            //个人中心
            var peekUserInfo = new TilePeekItem();
            peekUserInfo.Id = AuthFunctionHelper.UserInfo;
            peekUserInfo.Caption = "个人中心";
            peekUserInfo.SvgImage = svgImg32Model[27];
            peekUserInfo.SvgImageSize = new Size(24, 24);
            peekUserInfo.Tag = AuthFunctionHelper.UserInfo;
            list.Add(peekUserInfo);
            return list;
        }
        //创建资产Peek列表
        private List<TilePeekItem> CreateAssetsPeekList()
        {
            var list = new List<TilePeekItem>();
            //水池
            var peekTank = new TilePeekItem();
            peekTank.Id = AssetsFunctionHelper.TankMgr;
            peekTank.Caption = "水池";
            peekTank.SvgImage = AssetsMainSvgImageHelper.Tank;
            peekTank.SvgImageSize = new Size(24, 24);
            peekTank.Tag = AssetsFunctionHelper.TankMgr;
            list.Add(peekTank);
            //连接件
            var peekCoupling = new TilePeekItem();
            peekCoupling.Id = AssetsFunctionHelper.CouplingMgr;
            peekCoupling.Caption = "连接件";
            peekCoupling.SvgImage = AssetsMainSvgImageHelper.Coupling;
            peekCoupling.SvgImageSize = new Size(24, 24);
            peekCoupling.Tag = AssetsFunctionHelper.CouplingMgr;
            peekCoupling.Children = new List<TilePeekItem>();
            list.Add(peekCoupling);
            //闷头
            var peekBlunthead = new TilePeekItem();
            peekBlunthead.Id = AssetsFunctionHelper.BluntheadMgr;
            peekBlunthead.Caption = "闷头";
            peekBlunthead.SvgImage = AssetsMainSvgImageHelper.Blunthead;
            peekBlunthead.SvgImageSize = new Size(24, 24);
            peekBlunthead.Tag = AssetsFunctionHelper.BluntheadMgr;
            peekCoupling.Children.Add(peekBlunthead);
            //弯头
            var peekElbow = new TilePeekItem();
            peekElbow.Id = AssetsFunctionHelper.ElbowMgr;
            peekElbow.Caption = "弯头";
            peekElbow.SvgImage = AssetsMainSvgImageHelper.Elbow;
            peekElbow.SvgImageSize = new Size(24, 24);
            peekElbow.Tag = AssetsFunctionHelper.ElbowMgr;
            peekCoupling.Children.Add(peekElbow);
            //三通
            var peekThreelink = new TilePeekItem();
            peekThreelink.Id = AssetsFunctionHelper.ThreelinkMgr;
            peekThreelink.Caption = "三通";
            peekThreelink.SvgImage = AssetsMainSvgImageHelper.Threelink;
            peekThreelink.SvgImageSize = new Size(24, 24);
            peekThreelink.Tag = AssetsFunctionHelper.ThreelinkMgr;
            peekCoupling.Children.Add(peekThreelink);
            //四通
            var peekFourlink = new TilePeekItem();
            peekFourlink.Id = AssetsFunctionHelper.FourlinkMgr;
            peekFourlink.Caption = "四通";
            peekFourlink.SvgImage = AssetsMainSvgImageHelper.Fourlink;
            peekFourlink.SvgImageSize = new Size(24, 24);
            peekFourlink.Tag = AssetsFunctionHelper.FourlinkMgr;
            peekCoupling.Children.Add(peekFourlink);
            //扩散器
            var peekEmitter = new TilePeekItem();
            peekEmitter.Id = AssetsFunctionHelper.EmitterMgr;
            peekEmitter.Caption = "扩散器";
            peekEmitter.SvgImage = AssetsMainSvgImageHelper.Emitter;
            peekEmitter.SvgImageSize = new Size(24, 24);
            peekEmitter.Tag = AssetsFunctionHelper.EmitterMgr;
            peekEmitter.Children = new List<TilePeekItem>();
            list.Add(peekEmitter);
            //喷头
            var peekNozzle = new TilePeekItem();
            peekNozzle.Id = AssetsFunctionHelper.NozzleMgr;
            peekNozzle.Caption = "喷头";
            peekNozzle.SvgImage = AssetsMainSvgImageHelper.Nozzle;
            peekNozzle.SvgImageSize = new Size(24, 24);
            peekNozzle.Tag = AssetsFunctionHelper.NozzleMgr;
            peekEmitter.Children.Add(peekNozzle);
            //消火栓
            var peekHydrant = new TilePeekItem();
            peekHydrant.Id = AssetsFunctionHelper.HydrantMgr;
            peekHydrant.Caption = "消火栓";
            peekHydrant.SvgImage = AssetsMainSvgImageHelper.Hydrant;
            peekHydrant.SvgImageSize = new Size(24, 24);
            peekHydrant.Tag = AssetsFunctionHelper.HydrantMgr;
            peekEmitter.Children.Add(peekHydrant);
            //冷却塔
            var peekCooling = new TilePeekItem();
            peekCooling.Id = AssetsFunctionHelper.CoolingMgr;
            peekCooling.Caption = "冷却塔";
            peekCooling.SvgImage = AssetsMainSvgImageHelper.Cooling;
            peekCooling.SvgImageSize = new Size(24, 24);
            peekCooling.Tag = AssetsFunctionHelper.CoolingMgr;
            peekEmitter.Children.Add(peekCooling);
            //水表
            var peekMeter = new TilePeekItem();
            peekMeter.Id = AssetsFunctionHelper.MeterMgr;
            peekMeter.Caption = "水表";
            peekMeter.SvgImage = AssetsMainSvgImageHelper.Meter;
            peekMeter.SvgImageSize = new Size(24, 24);
            peekMeter.Tag = AssetsFunctionHelper.MeterMgr;
            list.Add(peekMeter);
            //仪表
            var peekInstrument = new TilePeekItem();
            peekInstrument.Id = AssetsFunctionHelper.InstrumentMgr;
            peekInstrument.Caption = "仪表";
            peekInstrument.SvgImage = AssetsMainSvgImageHelper.Instrument;
            peekInstrument.SvgImageSize = new Size(24, 24);
            peekInstrument.Tag = AssetsFunctionHelper.InstrumentMgr;
            peekInstrument.Children = new List<TilePeekItem>();
            list.Add(peekInstrument);
            //流量计
            var peekFlowmeter = new TilePeekItem();
            peekFlowmeter.Id = AssetsFunctionHelper.FlowmeterMgr;
            peekFlowmeter.Caption = "流量计";
            peekFlowmeter.SvgImage = AssetsMainSvgImageHelper.Flowmeter;
            peekFlowmeter.SvgImageSize = new Size(24, 24);
            peekFlowmeter.Tag = AssetsFunctionHelper.FlowmeterMgr;
            peekInstrument.Children.Add(peekFlowmeter);
            //压力表
            var peekPressmeter = new TilePeekItem();
            peekPressmeter.Id = AssetsFunctionHelper.PressmeterMgr;
            peekPressmeter.Caption = "压力表";
            peekPressmeter.SvgImage = AssetsMainSvgImageHelper.Pressmeter;
            peekPressmeter.SvgImageSize = new Size(24, 24);
            peekPressmeter.Tag = AssetsFunctionHelper.PressmeterMgr;
            peekInstrument.Children.Add(peekPressmeter);
            //管道
            var peekPipe = new TilePeekItem();
            peekPipe.Id = AssetsFunctionHelper.PipeMgr;
            peekPipe.Caption = "管道";
            peekPipe.SvgImage = AssetsMainSvgImageHelper.Pipe;
            peekPipe.SvgImageSize = new Size(24, 24);
            peekPipe.Tag = AssetsFunctionHelper.PipeMgr;
            list.Add(peekPipe);
            //过渡件
            var peekTranslation = new TilePeekItem();
            peekTranslation.Id = AssetsFunctionHelper.TranslationMgr;
            peekTranslation.Caption = "过渡件";
            peekTranslation.SvgImage = AssetsMainSvgImageHelper.Translation;
            peekTranslation.SvgImageSize = new Size(24, 24);
            peekTranslation.Tag = AssetsFunctionHelper.TranslationMgr;
            list.Add(peekTranslation);
            //水泵
            var peekPump = new TilePeekItem();
            peekPump.Id = AssetsFunctionHelper.PumpMgr;
            peekPump.Caption = "水泵";
            peekPump.SvgImage = AssetsMainSvgImageHelper.Pump;
            peekPump.SvgImageSize = new Size(24, 24);
            peekPump.Tag = AssetsFunctionHelper.PumpMgr;
            list.Add(peekPump);
            //阀门
            var peekValve = new TilePeekItem();
            peekValve.Id = AssetsFunctionHelper.ValveMgr;
            peekValve.Caption = "阀门";
            peekValve.SvgImage = AssetsMainSvgImageHelper.Valve;
            peekValve.SvgImageSize = new Size(24, 24);
            peekValve.Tag = AssetsFunctionHelper.ValveMgr;
            list.Add(peekValve);
            //阻件
            var peekResistance = new TilePeekItem();
            peekResistance.Id = AssetsFunctionHelper.ResistanceMgr;
            peekResistance.Caption = "阻件";
            peekResistance.SvgImage = AssetsMainSvgImageHelper.Resistance;
            peekResistance.SvgImageSize = new Size(24, 24);
            peekResistance.Tag = AssetsFunctionHelper.ResistanceMgr;
            peekResistance.Children = new List<TilePeekItem>();
            list.Add(peekResistance);
            //换热器
            var peekExchanger = new TilePeekItem();
            peekExchanger.Id = AssetsFunctionHelper.ExchangerMgr;
            peekExchanger.Caption = "换热器";
            peekExchanger.SvgImage = AssetsMainSvgImageHelper.Exchanger;
            peekExchanger.SvgImageSize = new Size(24, 24);
            peekExchanger.Tag = AssetsFunctionHelper.ExchangerMgr;
            peekResistance.Children.Add(peekExchanger);
            //压缩机
            var peekCompressor = new TilePeekItem();
            peekCompressor.Id = AssetsFunctionHelper.CompressorMgr;
            peekCompressor.Caption = "压缩机";
            peekCompressor.SvgImage = AssetsMainSvgImageHelper.Compressor;
            peekCompressor.SvgImageSize = new Size(24, 24);
            peekCompressor.Tag = AssetsFunctionHelper.CompressorMgr;
            peekResistance.Children.Add(peekCompressor);
            return list;
        }
        //点击Peek
        private void ClickTilePeekItem(TilePeekItem item)
        {
            if (item == null)
            {
                return;
            }
            var tagStr = item.Tag?.ToString();
            switch (tagStr)
            {
                case AssetsFunctionHelper.CouplingMgr:
                    {
                        var pt = _assetsMgrCtrl.PointToClient(MousePosition);
                        var hitInfo = _assetsMgrCtrl.CalcHitInfo(pt);
                        var control = item.Children.CreatePeekCtrl(ClickTilePeekItem);
                        this.flyoutPanel2.Size = control.Size;
                        this.flyoutPanelControl2.Controls.Clear();
                        this.flyoutPanelControl2.Controls.Add(control);
                        var rectangle = _assetsMgrCtrl.RectangleToScreen(hitInfo.ItemInfo.Bounds);
                        this.flyoutPanel2.ShowBeakForm(rectangle);
                    }
                    break;
                case AssetsFunctionHelper.EmitterMgr:
                    {
                        var pt = _assetsMgrCtrl.PointToClient(MousePosition);
                        var hitInfo = _assetsMgrCtrl.CalcHitInfo(pt);
                        var control = item.Children.CreatePeekCtrl(ClickTilePeekItem);
                        this.flyoutPanel2.Size = control.Size;
                        this.flyoutPanelControl2.Controls.Clear();
                        this.flyoutPanelControl2.Controls.Add(control);
                        var rectangle = _assetsMgrCtrl.RectangleToScreen(hitInfo.ItemInfo.Bounds);
                        this.flyoutPanel2.ShowBeakForm(rectangle);
                    }
                    break;
                case AssetsFunctionHelper.InstrumentMgr:
                    {
                        var pt = _assetsMgrCtrl.PointToClient(MousePosition);
                        var hitInfo = _assetsMgrCtrl.CalcHitInfo(pt);
                        var control = item.Children.CreatePeekCtrl(ClickTilePeekItem);
                        this.flyoutPanel2.Size = control.Size;
                        this.flyoutPanelControl2.Controls.Clear();
                        this.flyoutPanelControl2.Controls.Add(control);
                        var rectangle = _assetsMgrCtrl.RectangleToScreen(hitInfo.ItemInfo.Bounds);
                        this.flyoutPanel2.ShowBeakForm(rectangle);
                    }
                    break;
                case AssetsFunctionHelper.ResistanceMgr:
                    {
                        var pt = _assetsMgrCtrl.PointToClient(MousePosition);
                        var hitInfo = _assetsMgrCtrl.CalcHitInfo(pt);
                        var control = item.Children.CreatePeekCtrl(ClickTilePeekItem);
                        this.flyoutPanel2.Size = control.Size;
                        this.flyoutPanelControl2.Controls.Clear();
                        this.flyoutPanelControl2.Controls.Add(control);
                        var rectangle = _assetsMgrCtrl.RectangleToScreen(hitInfo.ItemInfo.Bounds);
                        this.flyoutPanel2.ShowBeakForm(rectangle);
                    }
                    break;
                case AssetsFunctionHelper.TankMgr:
                    {
                        this.flyoutPanel1.HideBeakForm();
                        var guid = new PageGuid()
                        {
                            Modular = AssetsFunctionHelper.Modular,
                            MoudingType = eMoudingType.Tab,
                            Function = AssetsFunctionHelper.TankMgr
                        };
                        if (!IsExistPage(guid, true))
                        {
                            var page = new AssetsTankMgrPage();
                            CreatePage(page, guid);
                        }
                    }
                    break;
                case AssetsFunctionHelper.BluntheadMgr:
                    {
                        this.flyoutPanel2.HideBeakForm();
                        var guid = new PageGuid()
                        {
                            Modular = AssetsFunctionHelper.Modular,
                            MoudingType = eMoudingType.Tab,
                            Function = AssetsFunctionHelper.BluntheadMgr
                        };
                        if (!IsExistPage(guid, true))
                        {
                            var page = new AssetsBluntheadMgrPage();
                            CreatePage(page, guid);
                        }
                    }
                    break;
                case AssetsFunctionHelper.ElbowMgr:
                    {
                        this.flyoutPanel2.HideBeakForm();
                        var guid = new PageGuid()
                        {
                            Modular = AssetsFunctionHelper.Modular,
                            MoudingType = eMoudingType.Tab,
                            Function = AssetsFunctionHelper.ElbowMgr
                        };
                        if (!IsExistPage(guid, true))
                        {
                            var page = new AssetsElbowMgrPage();
                            CreatePage(page, guid);
                        }
                    }
                    break;
                case AssetsFunctionHelper.ThreelinkMgr:
                    {
                        this.flyoutPanel2.HideBeakForm();
                        var guid = new PageGuid()
                        {
                            Modular = AssetsFunctionHelper.Modular,
                            MoudingType = eMoudingType.Tab,
                            Function = AssetsFunctionHelper.ThreelinkMgr
                        };
                        if (!IsExistPage(guid, true))
                        {
                            var page = new AssetsThreelinkMgrPage();
                            CreatePage(page, guid);
                        }
                    }
                    break;
                case AssetsFunctionHelper.FourlinkMgr:
                    {
                        this.flyoutPanel2.HideBeakForm();
                        var guid = new PageGuid()
                        {
                            Modular = AssetsFunctionHelper.Modular,
                            MoudingType = eMoudingType.Tab,
                            Function = AssetsFunctionHelper.FourlinkMgr
                        };
                        if (!IsExistPage(guid, true))
                        {
                            var page = new AssetsFourlinkMgrPage();
                            CreatePage(page, guid);
                        }
                    }
                    break;
                case AssetsFunctionHelper.NozzleMgr:
                    {
                        this.flyoutPanel2.HideBeakForm();
                        var guid = new PageGuid()
                        {
                            Modular = AssetsFunctionHelper.Modular,
                            MoudingType = eMoudingType.Tab,
                            Function = AssetsFunctionHelper.NozzleMgr
                        };
                        if (!IsExistPage(guid, true))
                        {
                            var page = new AssetsSprinklerMgrPage();
                            CreatePage(page, guid);
                        }
                    }
                    break;
                case AssetsFunctionHelper.HydrantMgr:
                    {
                        this.flyoutPanel2.HideBeakForm();
                        var guid = new PageGuid()
                        {
                            Modular = AssetsFunctionHelper.Modular,
                            MoudingType = eMoudingType.Tab,
                            Function = AssetsFunctionHelper.HydrantMgr
                        };
                        if (!IsExistPage(guid, true))
                        {
                            var page = new AssetsHydrantMgrPage();
                            CreatePage(page, guid);
                        }
                    }
                    break;
                case AssetsFunctionHelper.CoolingMgr:
                    {
                        this.flyoutPanel2.HideBeakForm();
                        var guid = new PageGuid()
                        {
                            Modular = AssetsFunctionHelper.Modular,
                            MoudingType = eMoudingType.Tab,
                            Function = AssetsFunctionHelper.CoolingMgr
                        };
                        if (!IsExistPage(guid, true))
                        {
                            var page = new AssetsCoolingMgrPage();
                            CreatePage(page, guid);
                        }
                    }
                    break;
                case AssetsFunctionHelper.MeterMgr:
                    {
                        this.flyoutPanel1.HideBeakForm();
                        var guid = new PageGuid()
                        {
                            Modular = AssetsFunctionHelper.Modular,
                            MoudingType = eMoudingType.Tab,
                            Function = AssetsFunctionHelper.MeterMgr
                        };
                        if (!IsExistPage(guid, true))
                        {
                            var page = new AssetsMeterMgrPage();
                            CreatePage(page, guid);
                        }
                    }
                    break;
                case AssetsFunctionHelper.FlowmeterMgr:
                    {
                        this.flyoutPanel2.HideBeakForm();
                        var guid = new PageGuid()
                        {
                            Modular = AssetsFunctionHelper.Modular,
                            MoudingType = eMoudingType.Tab,
                            Function = AssetsFunctionHelper.FlowmeterMgr
                        };
                        if (!IsExistPage(guid, true))
                        {
                            var page = new AssetsFlowmeterMgrPage();
                            CreatePage(page, guid);
                        }
                    }
                    break;
                case AssetsFunctionHelper.PressmeterMgr:
                    {
                        this.flyoutPanel2.HideBeakForm();
                        var guid = new PageGuid()
                        {
                            Modular = AssetsFunctionHelper.Modular,
                            MoudingType = eMoudingType.Tab,
                            Function = AssetsFunctionHelper.PressmeterMgr
                        };
                        if (!IsExistPage(guid, true))
                        {
                            var page = new AssetsPressmeterMgrPage();
                            CreatePage(page, guid);
                        }
                    }
                    break;
                case AssetsFunctionHelper.PipeMgr:
                    {
                        this.flyoutPanel1.HideBeakForm();
                        var guid = new PageGuid()
                        {
                            Modular = AssetsFunctionHelper.Modular,
                            MoudingType = eMoudingType.Tab,
                            Function = AssetsFunctionHelper.PipeMgr
                        };
                        if (!IsExistPage(guid, true))
                        {
                            var page = new AssetsPipeMgrPage();
                            CreatePage(page, guid);
                        }
                    }
                    break;
                case AssetsFunctionHelper.TranslationMgr:
                    {
                        this.flyoutPanel1.HideBeakForm();
                        var guid = new PageGuid()
                        {
                            Modular = AssetsFunctionHelper.Modular,
                            MoudingType = eMoudingType.Tab,
                            Function = AssetsFunctionHelper.TranslationMgr
                        };
                        if (!IsExistPage(guid, true))
                        {
                            var page = new AssetsTranslationMgrPage();
                            CreatePage(page, guid);
                        }
                    }
                    break;
                case AssetsFunctionHelper.PumpMgr:
                    {
                        this.flyoutPanel1.HideBeakForm();
                        var guid = new PageGuid()
                        {
                            Modular = AssetsFunctionHelper.Modular,
                            MoudingType = eMoudingType.Tab,
                            Function = AssetsFunctionHelper.PumpMgr
                        };
                        if (!IsExistPage(guid, true))
                        {
                            var page = new PumpProductMainPage();
                            CreatePage(page, guid);
                        }
                    }
                    break;
                case AssetsFunctionHelper.ValveMgr:
                    {
                        this.flyoutPanel1.HideBeakForm();
                        var guid = new PageGuid()
                        {
                            Modular = AssetsFunctionHelper.Modular,
                            MoudingType = eMoudingType.Tab,
                            Function = AssetsFunctionHelper.ValveMgr
                        };
                        if (!IsExistPage(guid, true))
                        {
                            var page = new AssetsValveMgrPage();
                            CreatePage(page, guid);
                        }
                    }
                    break;
                case AssetsFunctionHelper.ExchangerMgr:
                    {
                        this.flyoutPanel2.HideBeakForm();
                        var guid = new PageGuid()
                        {
                            Modular = AssetsFunctionHelper.Modular,
                            MoudingType = eMoudingType.Tab,
                            Function = AssetsFunctionHelper.ExchangerMgr
                        };
                        if (!IsExistPage(guid, true))
                        {
                            var page = new AssetsExchangerMgrPage();
                            CreatePage(page, guid);
                        }
                    }
                    break;
                case AssetsFunctionHelper.CompressorMgr:
                    {
                        this.flyoutPanel2.HideBeakForm();
                        var guid = new PageGuid()
                        {
                            Modular = AssetsFunctionHelper.Modular,
                            MoudingType = eMoudingType.Tab,
                            Function = AssetsFunctionHelper.CompressorMgr
                        };
                        if (!IsExistPage(guid, true))
                        {
                            var page = new AssetsCompressorMgrPage();
                            CreatePage(page, guid);
                        }
                    }
                    break;
                #region 权限
                case AuthFunctionHelper.RoleMgr:
                    {
                        this.flyoutPanel2.HideBeakForm();
                        var guid = new PageGuid()
                        {
                            Modular = AuthFunctionHelper.Modular,
                            MoudingType = eMoudingType.Tab,
                            Function = AuthFunctionHelper.RoleMgr
                        };
                        if (!IsExistPage(guid, true))
                        {
                            var page = new RoleMgrPage();
                            CreatePage(page, guid);
                        }
                    }
                    break;
                case AuthFunctionHelper.UserMgr:
                    {
                        this.flyoutPanel2.HideBeakForm();
                        var guid = new PageGuid()
                        {
                            Modular = AuthFunctionHelper.Modular,
                            MoudingType = eMoudingType.Tab,
                            Function = AuthFunctionHelper.UserMgr
                        };
                        if (!IsExistPage(guid, true))
                        {
                            var page = new UserMgrPage();
                            CreatePage(page, guid);
                        }
                    }
                    break;
                case AuthFunctionHelper.MenuMgr:
                    {
                        this.flyoutPanel2.HideBeakForm();
                        var guid = new PageGuid()
                        {
                            Modular = AuthFunctionHelper.Modular,
                            MoudingType = eMoudingType.Tab,
                            Function = AuthFunctionHelper.MenuMgr
                        };
                        if (!IsExistPage(guid, true))
                        {
                            var page = new MenuMgrPage();
                            CreatePage(page, guid);
                        }
                    }
                    break;
                case AuthFunctionHelper.RoleProjectMenu:
                    {
                        this.flyoutPanel2.HideBeakForm();
                        var guid = new PageGuid()
                        {
                            Modular = AuthFunctionHelper.Modular,
                            MoudingType = eMoudingType.Tab,
                            Function = AuthFunctionHelper.RoleProjectMenu
                        };
                        if (!IsExistPage(guid, true))
                        {
                            var page = new RoleProjectMenuPage();
                            CreatePage(page, guid);
                        }
                    }
                    break;
                case AuthFunctionHelper.UserInfo:
                    {
                        this.flyoutPanel2.HideBeakForm();
                        var guid = new PageGuid()
                        {
                            Modular = AuthFunctionHelper.Modular,
                            MoudingType = eMoudingType.Tab,
                            Function = AuthFunctionHelper.UserInfo
                        };
                        if (!IsExistPage(guid, true))
                        {
                            var dlg = new PersonalCenterDlg();
                            dlg.Show();
                        }
                    }
                    break;
                case AuthFunctionHelper.UserLoginLog:
                    {
                        this.flyoutPanel2.HideBeakForm();
                        var guid = new PageGuid()
                        {
                            Modular = AuthFunctionHelper.Modular,
                            MoudingType = eMoudingType.Tab,
                            Function = AuthFunctionHelper.UserLoginLog
                        };
                        if (!IsExistPage(guid, true))
                        {
                            var page = new UserLoginLogPage();
                            CreatePage(page, guid);
                        }
                    }
                    break;
                #endregion 权限
                #region 基础模块
                case BasicFunctionHelper.TypeMgr:
                    {
                        this.flyoutPanel2.HideBeakForm();
                        var guid = new PageGuid()
                        {
                            Modular = BasicFunctionHelper.Modular,
                            MoudingType = eMoudingType.Tab,
                            Function = BasicFunctionHelper.TypeMgr
                        };
                        if (!IsExistPage(guid, true))
                        {
                            var page = new SysTypeManageMainPanel();
                            CreatePage(page, guid);
                        }
                    }
                    break;
                case BasicFunctionHelper.CatalogMgr:
                    {
                        this.flyoutPanel2.HideBeakForm();
                        var guid = new PageGuid()
                        {
                            Modular = BasicFunctionHelper.Modular,
                            MoudingType = eMoudingType.Tab,
                            Function = BasicFunctionHelper.CatalogMgr
                        };
                        if (!IsExistPage(guid, true))
                        {
                            var page = new SysCatalogManageMainPanel();
                            CreatePage(page, guid);
                        }
                    }
                    break;
                case BasicFunctionHelper.PropMgr:
                    {
                        this.flyoutPanel2.HideBeakForm();
                        var guid = new PageGuid()
                        {
                            Modular = BasicFunctionHelper.Modular,
                            MoudingType = eMoudingType.Tab,
                            Function = BasicFunctionHelper.PropMgr
                        };
                        if (!IsExistPage(guid, true))
                        {
                            var page = new SysPropManageMainPanel();
                            CreatePage(page, guid);
                        }
                    }
                    break;
                case BasicFunctionHelper.FlagMgr:
                    {
                        this.flyoutPanel2.HideBeakForm();
                        var guid = new PageGuid()
                        {
                            Modular = BasicFunctionHelper.Modular,
                            MoudingType = eMoudingType.Tab,
                            Function = BasicFunctionHelper.FlagMgr
                        };
                        if (!IsExistPage(guid, true))
                        {
                            var page = new SysFlagManageMainPanel();
                            CreatePage(page, guid);
                        }
                    }
                    break;
                case BasicFunctionHelper.DictMgr:
                    {
                        this.flyoutPanel2.HideBeakForm();
                        var guid = new PageGuid()
                        {
                            Modular = BasicFunctionHelper.Modular,
                            MoudingType = eMoudingType.Tab,
                            Function = BasicFunctionHelper.DictMgr
                        };
                        if (!IsExistPage(guid, true))
                        {
                            var page = new DictManageMainPanel();
                            CreatePage(page, guid);
                        }
                    }
                    break;
                #endregion 基础模块
                #region 水力
                case HydroFunctionHelper.SceneMgr:
                    {
                        this.flyoutPanel2.HideBeakForm();
                        var guid = new PageGuid()
                        {
                            Modular = HydroFunctionHelper.Modular,
                            MoudingType = eMoudingType.Tab,
                            Function = HydroFunctionHelper.SceneMgr
                        };
                        if (!IsExistPage(guid, true))
                        {
                            var page = new Yw.WinFrmUI.HydroSceneMgrPage();
                            CreatePage(page, guid);
                        }
                    }
                    break;
                case HydroFunctionHelper.ModelMgr:
                    {
                        this.flyoutPanel2.HideBeakForm();
                        var guid = new PageGuid()
                        {
                            Modular = HydroFunctionHelper.Modular,
                            MoudingType = eMoudingType.Tab,
                            Function = HydroFunctionHelper.ModelMgr
                        };
                        if (!IsExistPage(guid, true))
                        {
                            var page = new HStation.WinFrmUI.HydroModelMgrPage();
                            CreatePage(page, guid);
                        }
                    }
                    break;
                case HydroFunctionHelper.BimfaceMgr:
                    {
                        this.flyoutPanel2.HideBeakForm();
                        var guid = new PageGuid()
                        {
                            Modular = HydroFunctionHelper.Modular,
                            MoudingType = eMoudingType.Tab,
                            Function = HydroFunctionHelper.BimfaceMgr
                        };
                        if (!IsExistPage(guid, true))
                        {
                            var page = new Yw.WinFrmUI.BimfaceFileMgrPage();
                            CreatePage(page, guid);
                        }
                    }
                    break;
                    #endregion 水力
            }
        }
@@ -669,6 +1299,7 @@
        //界面记载事件
        private void MainForm_Load(object sender, EventArgs e)
        {
            VerifyAuth();
        }
        //界面显示事件
@@ -683,7 +1314,6 @@
            if (!IsExistPage(guid, true))
            {
                var page = new HomeXhsProjectPage();
                //var page = new HomeXhsProjectPage();
                CreatePage(page, guid);
            }
        }
@@ -932,6 +1562,15 @@
            page.UpdatePageTitleEvent += UpdatePageTitle;
            page.ClosePageEvent += ClosePage;
            page.RegistEvents();
            var menuAtuhority = AuthHelper.GetFunctionPageAuth(pguid.Function);
            if (menuAtuhority != null)
            {
                page.AuthTree = new PageAuthHaveTree
                {
                    Permission = menuAtuhority.Permission,
                    Have = menuAtuhority.Have
                };
            }
            switch (pguid.MoudingType)
            {
                case eMoudingType.Dock:
@@ -985,8 +1624,19 @@
                default: break;
            }
            page.InitialDataSource();
            page.VerifyAuth();
            return true;
        }
        /*     public PageAuthHaveTree GetPageAuthHave(string tag)
             {
                 foreach (var item in AuthHelper.PageAuthHaveTreeList)
                 {
                     if (item.Permission == tag)
                     {
                     }
                 }
             }*/
        //关闭Page
        private void ClosePage(PageGuid pguid)
@@ -1034,11 +1684,11 @@
        {
            //foreach (NavButton item in this.tileNavPane.Buttons)
            //{
            //    if (item.Tag == null)
            //    if (item.TagName == null)
            //        continue;
            //    if (item.Tag is int)
            //    if (item.TagName is int)
            //    {
            //        if (((int)item.Tag) == (int)modular)
            //        if (((int)item.TagName) == (int)modular)
            //        {
            //            item.Appearance.BackColor = Color.FromArgb(255, 128, 0);
            //        }