lixiaojun
2025-02-19 294b81166f21e12247e784d6bf404f5f34b2ee19
Desktop/HStation.Desktop.Xhs.Core/MainForm.cs
@@ -20,6 +20,7 @@
        public MainForm()
        {
            InitializeComponent();
            this.IconOptions.Icon = Yw.WinFrmUI.GlobalParas.AppIcon;
        }
        //验证权限
@@ -213,7 +214,7 @@
                _modelItem = CreateHydroPeekList();
                if (e.Element.Tag == null)
                    return;
                SetMenuAuth(e.Element.Tag.ToString());
                SetMenuAuth(e.Element.Tag.ToString(), _modelItem);
                _bimfaceMgrBeakCtrl = _modelItem.CreatePeekCtrl(ClickTilePeekItem);
                this.flyoutPanel1.Size = _bimfaceMgrBeakCtrl.Size;
                this.flyoutPanelControl1.Controls.Clear();
@@ -239,7 +240,10 @@
            {
                if (_assetsMgrCtrl == null)
                {
                    if (e.Element.Tag == null)
                        return;
                    var peekItemList = CreateAssetsPeekList();
                    SetMenuAuth(e.Element.Tag.ToString(), peekItemList);
                    _assetsMgrCtrl = peekItemList.CreatePeekCtrl(ClickTilePeekItem);
                }
                this.flyoutPanel1.Size = _assetsMgrCtrl.Size;
@@ -261,16 +265,16 @@
            {
                if (_SystemConfigCtrl == null)
                {
                    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();
                this.flyoutPanelControl1.Controls.Add(_SystemConfigCtrl);
                var rectangle = this.RectangleToScreen(hitInfo.ButtonInfo.Bounds);
                /* if (e.Element.Tag == null)
                     return;
                 SetMenuAuth(e.Element.Tag.ToString());*/
                this.flyoutPanel1.ShowBeakForm(rectangle);
            }
        }
@@ -288,101 +292,10 @@
            {
                if (_AuthConfigCtrl == null)
                {
                    /*        var peakItemList = new List<Yw.WinFrmUI.TilePeekItem>()
                            {
                                new TilePeekItem(){
                                    Caption="角色管理",
                                    SvgImage=svgImg32Model[21],
                                    SvgImageSize=new Size(24,24),
                                    Click=()=>{
                                        this.flyoutPanel1.HideBeakForm();
                                        var guid=new PageGuid(){
                                            Modular="Auth",
                                            MoudingType=eMoudingType.Tab,
                                            Function="RoleManageMgr",
                                        };
                                        if(!IsExistPage(guid,true))
                                        {
                                            var page=new RoleMgrPage();
                                            CreatePage(page,guid);
                                        }
                                    }
                                },
                                new TilePeekItem(){
                                    Caption="用户管理",
                                    SvgImage=svgImg32Model[22],
                                    SvgImageSize=new Size(24,24),
                                    Click=()=>{
                                        this.flyoutPanel1.HideBeakForm();
                                        var guid=new PageGuid(){
                                            Modular="Auth",
                                            MoudingType=eMoudingType.Tab,
                                            Function="UserMgr",
                                        };
                                        if(!IsExistPage(guid,true))
                                        {
                                            var page=new UserMgrPage();
                                            CreatePage(page,guid);
                                        }
                                    }
                                },
                                new TilePeekItem(){
                                    Caption="菜单管理",
                                    SvgImage=svgImg32Model[23],
                                    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 MenuMgrPage();
                                            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);
                                        }
                                    }
                                },*//*
                                 new TilePeekItem(){
                                    Caption="角色菜单",
                                    SvgImage=svgImg32Model[24],
                                    SvgImageSize=new Size(24,24),
                                    Click=()=>{
                                        this.flyoutPanel1.HideBeakForm();
                                        var guid=new PageGuid(){
                                            Modular="Auth",
                                            MoudingType=eMoudingType.Tab,
                                            Function="RoleMenu",
                                        };
                                        if(!IsExistPage(guid,true))
                                        {
                                            var page=new RoleProjectMenuPage();
                                            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;
@@ -393,7 +306,7 @@
            }
        }
        private void SetMenuAuth(string tag_str)
        private void SetMenuAuth(string tag_str, List<TilePeekItem> tilePeekItem)
        {
            if (string.IsNullOrEmpty(tag_str))
                return;
@@ -402,17 +315,27 @@
                return;
            var page_child_list = pageAuth.Children?.Where(x => x.Type == 2).ToList();
            if (page_child_list != null || page_child_list.Count > 1)
            if (page_child_list != null && page_child_list.Count > 0)
            {
                foreach (var menu in page_child_list)
                {
                    foreach (var item in _modelItem)
                    {
                        if (menu.Permission == item.Tag.ToString())
                        {
                            item.Visibility = menu.Have;
                        }
                    }
                    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);
                }
            }
        }
@@ -543,6 +466,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;
        }
@@ -941,7 +882,6 @@
                        if (!IsExistPage(guid, true))
                        {
                            var page = new AssetsCoolingMgrPage();
                            //   page.AuthTree=
                            CreatePage(page, guid);
                        }
                    }
@@ -1165,6 +1105,40 @@
                        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);
                        }
                    }
@@ -1588,7 +1562,15 @@
            page.UpdatePageTitleEvent += UpdatePageTitle;
            page.ClosePageEvent += ClosePage;
            page.RegistEvents();
            //   page.AuthTree = AuthHelper.GetRootPageAuth(tag);
            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: