提交rbac
提交设置右键错位的bug
This commit is contained in:
91
DH.RBAC/Views/MyPage.cs
Normal file
91
DH.RBAC/Views/MyPage.cs
Normal file
@ -0,0 +1,91 @@
|
||||
using AntdUI;
|
||||
using DH.RBAC.Model.Sys;
|
||||
using Sunny.UI;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
using System.Windows.Forms;
|
||||
|
||||
namespace DH.RBAC.Page
|
||||
{
|
||||
public class MyPage : UserControl
|
||||
{
|
||||
public virtual void Stop() { }
|
||||
|
||||
public List<SysPermission> ButtonPermissionList
|
||||
{
|
||||
set
|
||||
{
|
||||
List<SysPermission> list = value;
|
||||
SetPermission(list, this.Controls);
|
||||
}
|
||||
}
|
||||
|
||||
private void SetPermission(List<SysPermission> list, Control.ControlCollection controls)
|
||||
{
|
||||
foreach (Control control in controls)
|
||||
{
|
||||
if (control.HasChildren)
|
||||
{
|
||||
SetPermission(list, control.Controls);
|
||||
continue;
|
||||
}
|
||||
if (control is AntdUI.Button)
|
||||
{
|
||||
AntdUI.Button button = (AntdUI.Button)control;
|
||||
object tag = button.Tag;
|
||||
if (tag == null)
|
||||
continue;
|
||||
string strTag = tag as string;
|
||||
if (strTag == null)
|
||||
continue;
|
||||
SysPermission permission = list.Where(it => it.EnCode == strTag).FirstOrDefault();
|
||||
if (permission == null)
|
||||
continue;
|
||||
button.Visible = true;
|
||||
continue;
|
||||
}
|
||||
if (control is UISymbolButton)
|
||||
{
|
||||
UISymbolButton button = (UISymbolButton)control;
|
||||
object tag = button.Tag;
|
||||
if (tag == null)
|
||||
continue;
|
||||
string strTag = tag as string;
|
||||
if (strTag == null)
|
||||
continue;
|
||||
SysPermission permission = list.Where(it => it.EnCode == strTag).FirstOrDefault();
|
||||
if (permission == null)
|
||||
continue;
|
||||
button.Visible = true;
|
||||
continue;
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
private void InitializeComponent()
|
||||
{
|
||||
this.SuspendLayout();
|
||||
//
|
||||
// MyPage
|
||||
//
|
||||
this.Size = new System.Drawing.Size(1150, 637);
|
||||
this.Name = "MyPage";
|
||||
this.ResumeLayout(false);
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
public class PageCodeAttribute : Attribute
|
||||
{
|
||||
public string Encode { get; set; }
|
||||
public PageCodeAttribute() { }
|
||||
public PageCodeAttribute(string encode)
|
||||
{
|
||||
this.Encode = encode;
|
||||
}
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user