From 26f45822a2a84af81e20ca543da98d3b822c5afd Mon Sep 17 00:00:00 2001
From: duheng <2784771470@qq.com>
Date: 星期一, 17 二月 2025 21:25:59 +0800
Subject: [PATCH] Merge branch 'master' of http://47.103.154.90:83/r/HStation/XHS.V1.0

---
 Desktop/HStation.Desktop.Xhs.Core/MainForm.cs | 1143 ++++++++++++++++++++++++++++----------------------------
 1 files changed, 564 insertions(+), 579 deletions(-)

diff --git a/Desktop/HStation.Desktop.Xhs.Core/MainForm.cs b/Desktop/HStation.Desktop.Xhs.Core/MainForm.cs
index dd09cc5..73f6ed2 100644
--- a/Desktop/HStation.Desktop.Xhs.Core/MainForm.cs
+++ b/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,72 +147,80 @@
             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);
             }
         }
@@ -209,348 +240,10 @@
             {
                 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[18],
-                    //        SvgImageSize=new Size(24,24)
-                    //    },
-                    //    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);
-                    //            }
-                    //        }
-                    //    },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="Blunthead",
-                    //            };
-                    //            if(!IsExistPage(guid,true))
-                    //            {
-                    //                var page=new BluntheadManageMainPage();
-                    //                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="Tank",
-                    //            };
-                    //            if(!IsExistPage(guid,true))
-                    //            {
-                    //                var page=new TankManageMainPage();
-                    //                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="Meter",
-                    //            };
-                    //            if(!IsExistPage(guid,true))
-                    //            {
-                    //                var page=new MeterManageMainPage();
-                    //                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="Flowmeter",
-                    //            };
-                    //            if(!IsExistPage(guid,true))
-                    //            {
-                    //                var page=new FlowmeterManageMainPage();
-                    //                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="Hydrant",
-                    //            };
-                    //            if(!IsExistPage(guid,true))
-                    //            {
-                    //                var page=new HydrantManageMainPage();
-                    //                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="Pressmeter",
-                    //            };
-                    //            if(!IsExistPage(guid,true))
-                    //            {
-                    //                var page=new PressmeterManageMainPage();
-                    //                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="Translation",
-                    //            };
-                    //            if(!IsExistPage(guid,true))
-                    //            {
-                    //                var page=new TranslationManageMainPage();
-                    //                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="Cooling",
-                    //            };
-                    //            if(!IsExistPage(guid,true))
-                    //            {
-                    //                var page=new AssetsCoolingMgrPage();
-                    //                CreatePage(page,guid);
-                    //            }
-                    //        }
-                    //    },
-                    //};
+                    if (e.Element.Tag == null)
+                        return;
                     var peekItemList = CreateAssetsPeekList();
-
+                    SetMenuAuth(e.Element.Tag.ToString(), peekItemList);
                     _assetsMgrCtrl = peekItemList.CreatePeekCtrl(ClickTilePeekItem);
                 }
                 this.flyoutPanel1.Size = _assetsMgrCtrl.Size;
@@ -572,98 +265,11 @@
             {
                 if (_SystemConfigCtrl == null)
                 {
-                    var peakItemList = new List<Yw.WinFrmUI.TilePeekItem>()
-                    {
-                              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);
-                                }
-                            }
-                        },     new TilePeekItem(){
-                            Caption="标签管理",
-                            SvgImage=svgImg32Model[1],
-                            SvgImageSize=new Size(24,24),
-                            Click=()=>{
-                                this.flyoutPanel1.HideBeakForm();
-                                var guid=new PageGuid(){
-                                    Modular="Flag",
-                                    MoudingType=eMoudingType.Tab,
-                                    Function="FlagMgr",
-                                };
-                                if(!IsExistPage(guid,true))
-                                {
-                                    var page=new HStation.WinFrmUI.Basic.SysFlagManageMainPanel();
-                                    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();
@@ -686,81 +292,11 @@
             {
                 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);
-                                }
-                            }
-                        },   new TilePeekItem(){
-                            Caption="测试导出",
-                            SvgImage=svgImg32Model[2],
-                            SvgImageSize=new Size(24,24),
-                            Click=()=>{
-                                this.flyoutPanel1.HideBeakForm();
-                                var guid=new PageGuid(){
-                                    Modular="test",
-                                    MoudingType=eMoudingType.Tab,
-                                    Function="test",
-                                };
-                                if(!IsExistPage(guid,true))
-                                {
-                                    var page=new test();
-                                    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();
@@ -768,6 +304,187 @@
                 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列表
@@ -1062,7 +779,7 @@
                         };
                         if (!IsExistPage(guid, true))
                         {
-                            var page = new BluntheadManageMainPage();
+                            var page = new AssetsBluntheadMgrPage();
                             CreatePage(page, guid);
                         }
                     }
@@ -1079,7 +796,7 @@
                         };
                         if (!IsExistPage(guid, true))
                         {
-                            var page = new ElbowManageMainPage();
+                            var page = new AssetsElbowMgrPage();
                             CreatePage(page, guid);
                         }
                     }
@@ -1096,7 +813,7 @@
                         };
                         if (!IsExistPage(guid, true))
                         {
-                            var page = new ThreeLinkManageMainPage();
+                            var page = new AssetsThreelinkMgrPage();
                             CreatePage(page, guid);
                         }
                     }
@@ -1113,7 +830,7 @@
                         };
                         if (!IsExistPage(guid, true))
                         {
-                            var page = new FourLinkManageMainPage();
+                            var page = new AssetsFourlinkMgrPage();
                             CreatePage(page, guid);
                         }
                     }
@@ -1130,7 +847,7 @@
                         };
                         if (!IsExistPage(guid, true))
                         {
-                            var page = new SprinklerManageMainPage();
+                            var page = new AssetsSprinklerMgrPage();
                             CreatePage(page, guid);
                         }
                     }
@@ -1147,7 +864,7 @@
                         };
                         if (!IsExistPage(guid, true))
                         {
-                            var page = new HydrantManageMainPage();
+                            var page = new AssetsHydrantMgrPage();
                             CreatePage(page, guid);
                         }
                     }
@@ -1232,7 +949,7 @@
                         };
                         if (!IsExistPage(guid, true))
                         {
-                            var page = new PipeManageMainPage();
+                            var page = new AssetsPipeMgrPage();
                             CreatePage(page, guid);
                         }
                     }
@@ -1249,7 +966,7 @@
                         };
                         if (!IsExistPage(guid, true))
                         {
-                            var page = new TranslationManageMainPage();
+                            var page = new AssetsTranslationMgrPage();
                             CreatePage(page, guid);
                         }
                     }
@@ -1323,7 +1040,255 @@
                     }
                     break;
 
-                default: 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 水力
             }
         }
 
@@ -1334,6 +1299,7 @@
         //界面记载事件
         private void MainForm_Load(object sender, EventArgs e)
         {
+            VerifyAuth();
         }
 
         //界面显示事件
@@ -1348,7 +1314,6 @@
             if (!IsExistPage(guid, true))
             {
                 var page = new HomeXhsProjectPage();
-                //var page = new HomeXhsProjectPage();
                 CreatePage(page, guid);
             }
         }
@@ -1597,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:
@@ -1650,9 +1624,20 @@
                 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)
         {

--
Gitblit v1.9.3