lu
2025-03-13 82ede5820e6cbdebf101d6335ef528d5ff33d29f
个人权限
已添加5个文件
已修改9个文件
529 ■■■■■ 文件已修改
DevApp/Gs.DevApp/DevFrm/User/Role.cs 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
DevApp/Gs.DevApp/DevFrm/User/RoleSelectAction.cs 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
DevApp/Gs.DevApp/DevFrm/User/User.Designer.cs 84 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
DevApp/Gs.DevApp/DevFrm/User/User.cs 45 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
DevApp/Gs.DevApp/DevFrm/User/User.resx 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
DevApp/Gs.DevApp/DevFrm/User/UserSelectRole.cs 11 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
DevApp/Gs.DevApp/DevFrm/User/ViewRole.Designer.cs 92 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
DevApp/Gs.DevApp/DevFrm/User/ViewRole.cs 102 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
DevApp/Gs.DevApp/DevFrm/User/ViewRole.resx 120 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
DevApp/Gs.DevApp/Gs.DevApp.csproj 11 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
DevApp/Gs.DevApp/Properties/Resources.Designer.cs 20 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
DevApp/Gs.DevApp/Properties/Resources.resx 36 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
DevApp/Gs.DevApp/Resources/bodetails_16x16.png 补丁 | 查看 | 原始文档 | blame | 历史
DevApp/Gs.DevApp/Resources/show_16x162.png 补丁 | 查看 | 原始文档 | blame | 历史
DevApp/Gs.DevApp/DevFrm/User/Role.cs
@@ -341,8 +341,8 @@
            {
                var rowhandle = gridView1.FocusedRowHandle;
                var dr = gridView1.GetDataRow(rowhandle);
                var userGuid = dr["guid"].ToString();
                var frm = new RoleSelectAction(userGuid);
                var roleGuid = dr["guid"].ToString();
                var frm = new RoleSelectAction(roleGuid);
                frm.ShowDialog();
            }
        }
DevApp/Gs.DevApp/DevFrm/User/RoleSelectAction.cs
@@ -130,6 +130,8 @@
                    JsonConvert.SerializeObject(_obj));
                var _rtn = UtilityHelper.ReturnToDynamic(strJson);
                MsgHelper.Warning("提示:" + _rtn.rtnData.outMsg);
                if (_rtn.rtnCode > 0)
                    this.Close();
            }
            catch (Exception ex)
            {
DevApp/Gs.DevApp/DevFrm/User/User.Designer.cs
@@ -37,11 +37,21 @@
            DevExpress.Utils.SerializableAppearanceObject serializableAppearanceObject3 = new DevExpress.Utils.SerializableAppearanceObject();
            DevExpress.Utils.SerializableAppearanceObject serializableAppearanceObject4 = new DevExpress.Utils.SerializableAppearanceObject();
            DevExpress.XtraEditors.Controls.EditorButtonImageOptions editorButtonImageOptions2 = new DevExpress.XtraEditors.Controls.EditorButtonImageOptions();
            System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(User));
            DevExpress.Utils.SerializableAppearanceObject serializableAppearanceObject5 = new DevExpress.Utils.SerializableAppearanceObject();
            DevExpress.Utils.SerializableAppearanceObject serializableAppearanceObject6 = new DevExpress.Utils.SerializableAppearanceObject();
            DevExpress.Utils.SerializableAppearanceObject serializableAppearanceObject7 = new DevExpress.Utils.SerializableAppearanceObject();
            DevExpress.Utils.SerializableAppearanceObject serializableAppearanceObject8 = new DevExpress.Utils.SerializableAppearanceObject();
            DevExpress.XtraEditors.Controls.EditorButtonImageOptions editorButtonImageOptions3 = new DevExpress.XtraEditors.Controls.EditorButtonImageOptions();
            DevExpress.Utils.SerializableAppearanceObject serializableAppearanceObject9 = new DevExpress.Utils.SerializableAppearanceObject();
            DevExpress.Utils.SerializableAppearanceObject serializableAppearanceObject10 = new DevExpress.Utils.SerializableAppearanceObject();
            DevExpress.Utils.SerializableAppearanceObject serializableAppearanceObject11 = new DevExpress.Utils.SerializableAppearanceObject();
            DevExpress.Utils.SerializableAppearanceObject serializableAppearanceObject12 = new DevExpress.Utils.SerializableAppearanceObject();
            DevExpress.XtraEditors.Controls.EditorButtonImageOptions editorButtonImageOptions4 = new DevExpress.XtraEditors.Controls.EditorButtonImageOptions();
            System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(User));
            DevExpress.Utils.SerializableAppearanceObject serializableAppearanceObject13 = new DevExpress.Utils.SerializableAppearanceObject();
            DevExpress.Utils.SerializableAppearanceObject serializableAppearanceObject14 = new DevExpress.Utils.SerializableAppearanceObject();
            DevExpress.Utils.SerializableAppearanceObject serializableAppearanceObject15 = new DevExpress.Utils.SerializableAppearanceObject();
            DevExpress.Utils.SerializableAppearanceObject serializableAppearanceObject16 = new DevExpress.Utils.SerializableAppearanceObject();
            this.isLocked = new DevExpress.XtraGrid.Columns.GridColumn();
            this.toolBarMenu1 = new Gs.DevApp.UserControl.UcToolBarMenu();
            this.gcMain = new DevExpress.XtraGrid.GridControl();
@@ -56,6 +66,10 @@
            this.gridColumn3 = new DevExpress.XtraGrid.Columns.GridColumn();
            this.colRole = new DevExpress.XtraGrid.Columns.GridColumn();
            this.repositoryItemButtonEdit1 = new DevExpress.XtraEditors.Repository.RepositoryItemButtonEdit();
            this.gridColumn4 = new DevExpress.XtraGrid.Columns.GridColumn();
            this.repositoryItemButtonEdit3 = new DevExpress.XtraEditors.Repository.RepositoryItemButtonEdit();
            this.gridColumn5 = new DevExpress.XtraGrid.Columns.GridColumn();
            this.repositoryItemButtonEdit4 = new DevExpress.XtraEditors.Repository.RepositoryItemButtonEdit();
            this.gridColumn1 = new DevExpress.XtraGrid.Columns.GridColumn();
            this.repositoryItemButtonEdit2 = new DevExpress.XtraEditors.Repository.RepositoryItemButtonEdit();
            this.xtraTabControl1 = new DevExpress.XtraTab.XtraTabControl();
@@ -89,6 +103,8 @@
            ((System.ComponentModel.ISupportInitialize)(this.gcMain)).BeginInit();
            ((System.ComponentModel.ISupportInitialize)(this.gridView1)).BeginInit();
            ((System.ComponentModel.ISupportInitialize)(this.repositoryItemButtonEdit1)).BeginInit();
            ((System.ComponentModel.ISupportInitialize)(this.repositoryItemButtonEdit3)).BeginInit();
            ((System.ComponentModel.ISupportInitialize)(this.repositoryItemButtonEdit4)).BeginInit();
            ((System.ComponentModel.ISupportInitialize)(this.repositoryItemButtonEdit2)).BeginInit();
            ((System.ComponentModel.ISupportInitialize)(this.xtraTabControl1)).BeginInit();
            this.xtraTabControl1.SuspendLayout();
@@ -145,7 +161,9 @@
            this.gcMain.Name = "gcMain";
            this.gcMain.RepositoryItems.AddRange(new DevExpress.XtraEditors.Repository.RepositoryItem[] {
            this.repositoryItemButtonEdit1,
            this.repositoryItemButtonEdit2});
            this.repositoryItemButtonEdit2,
            this.repositoryItemButtonEdit3,
            this.repositoryItemButtonEdit4});
            this.gcMain.Size = new System.Drawing.Size(1002, 531);
            this.gcMain.TabIndex = 1;
            this.gcMain.ViewCollection.AddRange(new DevExpress.XtraGrid.Views.Base.BaseView[] {
@@ -169,6 +187,8 @@
            this.loginCounter,
            this.gridColumn3,
            this.colRole,
            this.gridColumn4,
            this.gridColumn5,
            this.gridColumn1});
            gridFormatRule1.Column = this.isLocked;
            gridFormatRule1.Name = "Format0";
@@ -291,7 +311,7 @@
            // 
            // colRole
            // 
            this.colRole.Caption = "角色设置";
            this.colRole.Caption = "分配角色";
            this.colRole.ColumnEdit = this.repositoryItemButtonEdit1;
            this.colRole.MinWidth = 25;
            this.colRole.Name = "colRole";
@@ -311,10 +331,52 @@
            serializableAppearanceObject1.Font = new System.Drawing.Font("Tahoma", 10F);
            serializableAppearanceObject1.Options.UseFont = true;
            this.repositoryItemButtonEdit1.Buttons.AddRange(new DevExpress.XtraEditors.Controls.EditorButton[] {
            new DevExpress.XtraEditors.Controls.EditorButton(DevExpress.XtraEditors.Controls.ButtonPredefines.Glyph, "设置角色", -1, true, true, false, editorButtonImageOptions1, new DevExpress.Utils.KeyShortcut(System.Windows.Forms.Keys.None), serializableAppearanceObject1, serializableAppearanceObject2, serializableAppearanceObject3, serializableAppearanceObject4, "", null, null, DevExpress.Utils.ToolTipAnchor.Default)});
            new DevExpress.XtraEditors.Controls.EditorButton(DevExpress.XtraEditors.Controls.ButtonPredefines.Glyph, "角色权限", -1, true, true, false, editorButtonImageOptions1, new DevExpress.Utils.KeyShortcut(System.Windows.Forms.Keys.None), serializableAppearanceObject1, serializableAppearanceObject2, serializableAppearanceObject3, serializableAppearanceObject4, "", null, null, DevExpress.Utils.ToolTipAnchor.Default)});
            this.repositoryItemButtonEdit1.Name = "repositoryItemButtonEdit1";
            this.repositoryItemButtonEdit1.TextEditStyle = DevExpress.XtraEditors.Controls.TextEditStyles.HideTextEditor;
            this.repositoryItemButtonEdit1.ButtonClick += new DevExpress.XtraEditors.Controls.ButtonPressedEventHandler(this.repositoryItemButtonEdit1_ButtonClick);
            //
            // gridColumn4
            //
            this.gridColumn4.Caption = "个人权限";
            this.gridColumn4.ColumnEdit = this.repositoryItemButtonEdit3;
            this.gridColumn4.MinWidth = 25;
            this.gridColumn4.Name = "gridColumn4";
            this.gridColumn4.Visible = true;
            this.gridColumn4.VisibleIndex = 10;
            this.gridColumn4.Width = 94;
            //
            // repositoryItemButtonEdit3
            //
            this.repositoryItemButtonEdit3.AutoHeight = false;
            editorButtonImageOptions2.Image = global::Gs.DevApp.Properties.Resources.bodetails_16x16;
            editorButtonImageOptions2.ImageToTextAlignment = DevExpress.XtraEditors.ImageAlignToText.LeftCenter;
            this.repositoryItemButtonEdit3.Buttons.AddRange(new DevExpress.XtraEditors.Controls.EditorButton[] {
            new DevExpress.XtraEditors.Controls.EditorButton(DevExpress.XtraEditors.Controls.ButtonPredefines.Glyph, "个人权限", -1, true, true, false, editorButtonImageOptions2, new DevExpress.Utils.KeyShortcut(System.Windows.Forms.Keys.None), serializableAppearanceObject5, serializableAppearanceObject6, serializableAppearanceObject7, serializableAppearanceObject8, "", null, null, DevExpress.Utils.ToolTipAnchor.Default)});
            this.repositoryItemButtonEdit3.Name = "repositoryItemButtonEdit3";
            this.repositoryItemButtonEdit3.TextEditStyle = DevExpress.XtraEditors.Controls.TextEditStyles.HideTextEditor;
            this.repositoryItemButtonEdit3.ButtonClick += new DevExpress.XtraEditors.Controls.ButtonPressedEventHandler(this.repositoryItemButtonEdit3_ButtonClick);
            //
            // gridColumn5
            //
            this.gridColumn5.Caption = "权限集合";
            this.gridColumn5.ColumnEdit = this.repositoryItemButtonEdit4;
            this.gridColumn5.MinWidth = 25;
            this.gridColumn5.Name = "gridColumn5";
            this.gridColumn5.Visible = true;
            this.gridColumn5.VisibleIndex = 11;
            this.gridColumn5.Width = 94;
            //
            // repositoryItemButtonEdit4
            //
            this.repositoryItemButtonEdit4.AutoHeight = false;
            editorButtonImageOptions3.Image = global::Gs.DevApp.Properties.Resources.show_16x162;
            editorButtonImageOptions3.ImageToTextAlignment = DevExpress.XtraEditors.ImageAlignToText.LeftCenter;
            this.repositoryItemButtonEdit4.Buttons.AddRange(new DevExpress.XtraEditors.Controls.EditorButton[] {
            new DevExpress.XtraEditors.Controls.EditorButton(DevExpress.XtraEditors.Controls.ButtonPredefines.Glyph, "查看", -1, true, true, false, editorButtonImageOptions3, new DevExpress.Utils.KeyShortcut(System.Windows.Forms.Keys.None), serializableAppearanceObject9, serializableAppearanceObject10, serializableAppearanceObject11, serializableAppearanceObject12, "", null, null, DevExpress.Utils.ToolTipAnchor.Default)});
            this.repositoryItemButtonEdit4.Name = "repositoryItemButtonEdit4";
            this.repositoryItemButtonEdit4.TextEditStyle = DevExpress.XtraEditors.Controls.TextEditStyles.HideTextEditor;
            this.repositoryItemButtonEdit4.ButtonClick += new DevExpress.XtraEditors.Controls.ButtonPressedEventHandler(this.repositoryItemButtonEdit4_ButtonClick);
            // 
            // gridColumn1
            // 
@@ -326,16 +388,16 @@
            this.gridColumn1.OptionsFilter.AllowFilter = false;
            this.gridColumn1.ShowButtonMode = DevExpress.XtraGrid.Views.Base.ShowButtonModeEnum.ShowAlways;
            this.gridColumn1.Visible = true;
            this.gridColumn1.VisibleIndex = 10;
            this.gridColumn1.VisibleIndex = 12;
            this.gridColumn1.Width = 94;
            // 
            // repositoryItemButtonEdit2
            // 
            this.repositoryItemButtonEdit2.AutoHeight = false;
            editorButtonImageOptions2.Image = ((System.Drawing.Image)(resources.GetObject("editorButtonImageOptions2.Image")));
            editorButtonImageOptions2.ImageToTextAlignment = DevExpress.XtraEditors.ImageAlignToText.LeftCenter;
            editorButtonImageOptions4.Image = ((System.Drawing.Image)(resources.GetObject("editorButtonImageOptions4.Image")));
            editorButtonImageOptions4.ImageToTextAlignment = DevExpress.XtraEditors.ImageAlignToText.LeftCenter;
            this.repositoryItemButtonEdit2.Buttons.AddRange(new DevExpress.XtraEditors.Controls.EditorButton[] {
            new DevExpress.XtraEditors.Controls.EditorButton(DevExpress.XtraEditors.Controls.ButtonPredefines.Glyph, "重置密码", -1, true, true, false, editorButtonImageOptions2, new DevExpress.Utils.KeyShortcut(System.Windows.Forms.Keys.None), serializableAppearanceObject5, serializableAppearanceObject6, serializableAppearanceObject7, serializableAppearanceObject8, "", null, null, DevExpress.Utils.ToolTipAnchor.Default)});
            new DevExpress.XtraEditors.Controls.EditorButton(DevExpress.XtraEditors.Controls.ButtonPredefines.Glyph, "重置密码", -1, true, true, false, editorButtonImageOptions4, new DevExpress.Utils.KeyShortcut(System.Windows.Forms.Keys.None), serializableAppearanceObject13, serializableAppearanceObject14, serializableAppearanceObject15, serializableAppearanceObject16, "", null, null, DevExpress.Utils.ToolTipAnchor.Default)});
            this.repositoryItemButtonEdit2.Name = "repositoryItemButtonEdit2";
            this.repositoryItemButtonEdit2.TextEditStyle = DevExpress.XtraEditors.Controls.TextEditStyles.HideTextEditor;
            this.repositoryItemButtonEdit2.ButtonClick += new DevExpress.XtraEditors.Controls.ButtonPressedEventHandler(this.repositoryItemButtonEdit2_ButtonClick);
@@ -662,6 +724,8 @@
            ((System.ComponentModel.ISupportInitialize)(this.gcMain)).EndInit();
            ((System.ComponentModel.ISupportInitialize)(this.gridView1)).EndInit();
            ((System.ComponentModel.ISupportInitialize)(this.repositoryItemButtonEdit1)).EndInit();
            ((System.ComponentModel.ISupportInitialize)(this.repositoryItemButtonEdit3)).EndInit();
            ((System.ComponentModel.ISupportInitialize)(this.repositoryItemButtonEdit4)).EndInit();
            ((System.ComponentModel.ISupportInitialize)(this.repositoryItemButtonEdit2)).EndInit();
            ((System.ComponentModel.ISupportInitialize)(this.xtraTabControl1)).EndInit();
            this.xtraTabControl1.ResumeLayout(false);
@@ -727,5 +791,9 @@
        private UserControl.UcLookStaff txt_staffId;
        private DevExpress.XtraGrid.Columns.GridColumn gridColumn3;
        private DevExpress.XtraEditors.CheckEdit txt_isStatus;
        private DevExpress.XtraGrid.Columns.GridColumn gridColumn4;
        private DevExpress.XtraEditors.Repository.RepositoryItemButtonEdit repositoryItemButtonEdit3;
        private DevExpress.XtraGrid.Columns.GridColumn gridColumn5;
        private DevExpress.XtraEditors.Repository.RepositoryItemButtonEdit repositoryItemButtonEdit4;
    }
}
DevApp/Gs.DevApp/DevFrm/User/User.cs
@@ -338,7 +338,11 @@
                MsgHelper.Warning("提示:" + ex.Message);
            }
        }
        /// <summary>
        /// è§’色
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void repositoryItemButtonEdit1_ButtonClick(object sender,
            ButtonPressedEventArgs e)
        {
@@ -351,7 +355,11 @@
                frm.ShowDialog();
            }
        }
        /// <summary>
        /// å¯†ç 
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void repositoryItemButtonEdit2_ButtonClick(object sender,
            ButtonPressedEventArgs e)
        {
@@ -364,5 +372,38 @@
                frm.ShowDialog();
            }
        }
        /// <summary>
        /// ä¸ªäººæƒé™
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void repositoryItemButtonEdit3_ButtonClick(object sender, ButtonPressedEventArgs e)
        {
            if (e.Button.Index == 0)
            {
                var rowhandle = gridView1.FocusedRowHandle;
                var dr = gridView1.GetDataRow(rowhandle);
                var userGuid = dr["guid"].ToString();
                var frm = new RoleSelectAction(userGuid);
                frm.ShowDialog();
            }
        }
        /// <summary>
        /// æƒé™é›†åˆ
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void repositoryItemButtonEdit4_ButtonClick(object sender, ButtonPressedEventArgs e)
        {
            if (e.Button.Index == 0)
            {
                var rowhandle = gridView1.FocusedRowHandle;
                var dr = gridView1.GetDataRow(rowhandle);
                var userGuid = dr["guid"].ToString();
                var frm = new ViewRole(userGuid);
                frm.ShowDialog();
            }
        }
    }
}
DevApp/Gs.DevApp/DevFrm/User/User.resx
@@ -118,7 +118,7 @@
    <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
  </resheader>
  <assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
  <data name="editorButtonImageOptions2.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
  <data name="editorButtonImageOptions4.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
    <value>
        iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAACp0RVh0VGl0
        bGUAQ29udGFjdDtDYXJkO0luZm87RGV0YWlsO1BlcnNvbjtFZGl04bGTWAAAAtlJREFUOE+Nk1lIVFEA
DevApp/Gs.DevApp/DevFrm/User/UserSelectRole.cs
@@ -93,6 +93,10 @@
        }
        /// <summary>
        /// æŸ¥çœ‹ç”¨æˆ·çš„æƒé™é›†åˆ
        /// </summary>
        /// <param name="userGuid"></param>
        private void GetTree(string userGuid)
        {
            trv.Nodes.Clear();
@@ -113,8 +117,13 @@
                var dd = UtilityHelper.ReturnToTablePage(strReturn);
                var dt = dd.rtnData.list;
                var drGrp = dt.Select("upGuid='' or upGuid is null");
                // ä½¿ç”¨DefaultView.Sort对筛选后的结果进行排序
                DataTable sortedTable = drGrp.CopyToDataTable();
                sortedTable.DefaultView.Sort = "idx ASC";
                DataTable result = sortedTable.DefaultView.ToTable();
                var _gou = "✔ ";
                foreach (var _dy in drGrp)
                foreach (DataRow _dy in result.Rows)
                {
                    var node = new TreeNode(); //定义结点
                    node.Text = (_dy["isCk"].ToString() == "1" ? _gou : "") +
DevApp/Gs.DevApp/DevFrm/User/ViewRole.Designer.cs
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,92 @@
namespace Gs.DevApp.DevFrm.User
{
    partial class ViewRole
    {
        /// <summary>
        /// Required designer variable.
        /// </summary>
        private System.ComponentModel.IContainer components = null;
        /// <summary>
        /// Clean up any resources being used.
        /// </summary>
        /// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
        protected override void Dispose(bool disposing)
        {
            if (disposing && (components != null))
            {
                components.Dispose();
            }
            base.Dispose(disposing);
        }
        #region Windows Form Designer generated code
        /// <summary>
        /// Required method for Designer support - do not modify
        /// the contents of this method with the code editor.
        /// </summary>
        private void InitializeComponent()
        {
            this.xtraTabControl1 = new DevExpress.XtraTab.XtraTabControl();
            this.xtraTabPage2 = new DevExpress.XtraTab.XtraTabPage();
            this.trv = new System.Windows.Forms.TreeView();
            ((System.ComponentModel.ISupportInitialize)(this.xtraTabControl1)).BeginInit();
            this.xtraTabControl1.SuspendLayout();
            this.xtraTabPage2.SuspendLayout();
            this.SuspendLayout();
            //
            // xtraTabControl1
            //
            this.xtraTabControl1.Dock = System.Windows.Forms.DockStyle.Fill;
            this.xtraTabControl1.Location = new System.Drawing.Point(0, 0);
            this.xtraTabControl1.Name = "xtraTabControl1";
            this.xtraTabControl1.Padding = new System.Windows.Forms.Padding(10);
            this.xtraTabControl1.SelectedTabPage = this.xtraTabPage2;
            this.xtraTabControl1.Size = new System.Drawing.Size(342, 458);
            this.xtraTabControl1.TabIndex = 2;
            this.xtraTabControl1.TabPages.AddRange(new DevExpress.XtraTab.XtraTabPage[] {
            this.xtraTabPage2});
            //
            // xtraTabPage2
            //
            this.xtraTabPage2.Controls.Add(this.trv);
            this.xtraTabPage2.Name = "xtraTabPage2";
            this.xtraTabPage2.Size = new System.Drawing.Size(340, 426);
            this.xtraTabPage2.Text = "查看该用户的权限集合";
            //
            // trv
            //
            this.trv.Dock = System.Windows.Forms.DockStyle.Fill;
            this.trv.Font = new System.Drawing.Font("Tahoma", 10F);
            this.trv.Location = new System.Drawing.Point(0, 0);
            this.trv.Name = "trv";
            this.trv.Size = new System.Drawing.Size(340, 426);
            this.trv.TabIndex = 3;
            //
            // ViewRole
            //
            this.AutoScaleDimensions = new System.Drawing.SizeF(8F, 18F);
            this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
            this.ClientSize = new System.Drawing.Size(342, 458);
            this.Controls.Add(this.xtraTabControl1);
            this.IconOptions.Image = global::Gs.DevApp.Properties.Resources.logo_png_black;
            this.MaximizeBox = false;
            this.MinimizeBox = false;
            this.Name = "ViewRole";
            this.StartPosition = System.Windows.Forms.FormStartPosition.CenterParent;
            this.Text = "权限集合";
            this.TopMost = true;
            ((System.ComponentModel.ISupportInitialize)(this.xtraTabControl1)).EndInit();
            this.xtraTabControl1.ResumeLayout(false);
            this.xtraTabPage2.ResumeLayout(false);
            this.ResumeLayout(false);
        }
        #endregion
        private DevExpress.XtraTab.XtraTabControl xtraTabControl1;
        private DevExpress.XtraTab.XtraTabPage xtraTabPage2;
        private System.Windows.Forms.TreeView trv;
    }
}
DevApp/Gs.DevApp/DevFrm/User/ViewRole.cs
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,102 @@
using DevExpress.XtraEditors;
using Gs.DevApp.Properties;
using Gs.DevApp.ToolBox;
using Newtonsoft.Json;
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace Gs.DevApp.DevFrm.User
{
    public partial class ViewRole : DevExpress.XtraEditors.XtraForm
    {
        private readonly string _userGuid;
        public ViewRole(string userGuid)
        {
            InitializeComponent();
            _userGuid = userGuid;
            GetTree(_userGuid);
        }
        /// <summary>
        /// æŸ¥çœ‹ç”¨æˆ·çš„æƒé™é›†åˆ
        /// </summary>
        /// <param name="userGuid"></param>
        private void GetTree(string userGuid)
        {
            trv.Nodes.Clear();
            var imageList = new ImageList();
            imageList.Images.Add("icon0", Resources.addfooter_32x32);
            imageList.Images.Add("icon1", Resources.listmultilevel_16x16);
            imageList.Images.Add("icon2", Resources.addcalculatedfield_16x16);
            //   trv.ImageList = imageList;
            var _obj = new
            {
                userGuid
            };
            var strReturn = "";
            try
            {
                strReturn = UtilityHelper.HttpPost("", "Role/GetUserMenuAction",
                    JsonConvert.SerializeObject(_obj));
                var dd = UtilityHelper.ReturnToTablePage(strReturn);
                var dt = dd.rtnData.list;
                var drGrp = dt.Select("upGuid='' or upGuid is null");
                // ä½¿ç”¨DefaultView.Sort对筛选后的结果进行排序
                DataTable sortedTable = drGrp.CopyToDataTable();
                sortedTable.DefaultView.Sort = "idx ASC";
                DataTable result = sortedTable.DefaultView.ToTable();
                var _gou = "✔ ";
                foreach (DataRow _dy in result.Rows)
                {
                    var node = new TreeNode(); //定义结点
                    node.Text = (_dy["isCk"].ToString() == "1" ? _gou : "") +
                                _dy["name"]; //为结点赋值
                    node.Name = _dy["guid"].ToString();
                    node.ImageIndex = 0;
                    node.Checked = _dy["isCk"].ToString() == "1" ? true : false;
                    var drItem = dt.Select("upGuid='" + _dy["guid"] + "'");
                    foreach (var _dy2 in drItem)
                    {
                        var node22 = new TreeNode(); //定义结点
                        node22.Text =
                            (_dy2["isCk"].ToString() == "1" ? _gou : "") +
                            _dy2["name"]; //为结点赋值
                        node22.Name = _dy2["guid"].ToString();
                        node22.ImageIndex = 1;
                        node22.Checked = _dy2["isCk"].ToString() == "1" ? true : false;
                        var drItem33 = dt.Select("upGuid='" + _dy2["guid"] + "'");
                        foreach (var _dy3 in drItem33)
                        {
                            var node33 = new TreeNode(); //定义结点
                            node33.Text =
                                (_dy3["isCk"].ToString() == "1" ? _gou : "") +
                                _dy3["name"]; //为结点赋值
                            node33.Name = _dy3["guid"].ToString();
                            node33.ImageIndex = 2;
                            node33.Checked = _dy3["isCk"].ToString() == "1" ? true : false;
                            node22.Nodes.Add(node33);
                        }
                        node22.Collapse();
                        node.Nodes.Add(node22);
                    }
                    node.Expand();
                    trv.Nodes.Add(node);
                }
            }
            catch (Exception ex)
            {
                MsgHelper.Warning("提示:" + ex.Message);
            }
        }
    }
}
DevApp/Gs.DevApp/DevFrm/User/ViewRole.resx
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,120 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
  <!--
    Microsoft ResX Schema
    Version 2.0
    The primary goals of this format is to allow a simple XML format
    that is mostly human readable. The generation and parsing of the
    various data types are done through the TypeConverter classes
    associated with the data types.
    Example:
    ... ado.net/XML headers & schema ...
    <resheader name="resmimetype">text/microsoft-resx</resheader>
    <resheader name="version">2.0</resheader>
    <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
    <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
    <data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
    <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
    <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
        <value>[base64 mime encoded serialized .NET Framework object]</value>
    </data>
    <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
        <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
        <comment>This is a comment</comment>
    </data>
    There are any number of "resheader" rows that contain simple
    name/value pairs.
    Each data row contains a name, and value. The row also contains a
    type or mimetype. Type corresponds to a .NET class that support
    text/value conversion through the TypeConverter architecture.
    Classes that don't support this are serialized and stored with the
    mimetype set.
    The mimetype is used for serialized objects, and tells the
    ResXResourceReader how to depersist the object. This is currently not
    extensible. For a given mimetype the value must be set accordingly:
    Note - application/x-microsoft.net.object.binary.base64 is the format
    that the ResXResourceWriter will generate, however the reader can
    read any of the formats listed below.
    mimetype: application/x-microsoft.net.object.binary.base64
    value   : The object must be serialized with
            : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
            : and then encoded with base64 encoding.
    mimetype: application/x-microsoft.net.object.soap.base64
    value   : The object must be serialized with
            : System.Runtime.Serialization.Formatters.Soap.SoapFormatter
            : and then encoded with base64 encoding.
    mimetype: application/x-microsoft.net.object.bytearray.base64
    value   : The object must be serialized into a byte array
            : using a System.ComponentModel.TypeConverter
            : and then encoded with base64 encoding.
    -->
  <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
    <xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
    <xsd:element name="root" msdata:IsDataSet="true">
      <xsd:complexType>
        <xsd:choice maxOccurs="unbounded">
          <xsd:element name="metadata">
            <xsd:complexType>
              <xsd:sequence>
                <xsd:element name="value" type="xsd:string" minOccurs="0" />
              </xsd:sequence>
              <xsd:attribute name="name" use="required" type="xsd:string" />
              <xsd:attribute name="type" type="xsd:string" />
              <xsd:attribute name="mimetype" type="xsd:string" />
              <xsd:attribute ref="xml:space" />
            </xsd:complexType>
          </xsd:element>
          <xsd:element name="assembly">
            <xsd:complexType>
              <xsd:attribute name="alias" type="xsd:string" />
              <xsd:attribute name="name" type="xsd:string" />
            </xsd:complexType>
          </xsd:element>
          <xsd:element name="data">
            <xsd:complexType>
              <xsd:sequence>
                <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
                <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
              </xsd:sequence>
              <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
              <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
              <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
              <xsd:attribute ref="xml:space" />
            </xsd:complexType>
          </xsd:element>
          <xsd:element name="resheader">
            <xsd:complexType>
              <xsd:sequence>
                <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
              </xsd:sequence>
              <xsd:attribute name="name" type="xsd:string" use="required" />
            </xsd:complexType>
          </xsd:element>
        </xsd:choice>
      </xsd:complexType>
    </xsd:element>
  </xsd:schema>
  <resheader name="resmimetype">
    <value>text/microsoft-resx</value>
  </resheader>
  <resheader name="version">
    <value>2.0</value>
  </resheader>
  <resheader name="reader">
    <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
  </resheader>
  <resheader name="writer">
    <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
  </resheader>
</root>
DevApp/Gs.DevApp/Gs.DevApp.csproj
@@ -412,6 +412,12 @@
    <Compile Include="DevFrm\Sales\Frm_SalesReturnNoticeDj.Designer.cs">
      <DependentUpon>Frm_SalesReturnNoticeDj.cs</DependentUpon>
    </Compile>
    <Compile Include="DevFrm\User\ViewRole.cs">
      <SubType>Form</SubType>
    </Compile>
    <Compile Include="DevFrm\User\ViewRole.Designer.cs">
      <DependentUpon>ViewRole.cs</DependentUpon>
    </Compile>
    <Compile Include="DevFrm\Warehouse\Frm_MesShouTui.cs">
      <SubType>Form</SubType>
    </Compile>
@@ -1135,6 +1141,9 @@
    <EmbeddedResource Include="DevFrm\Sales\Frm_SalesReturnNotice.resx">
      <DependentUpon>Frm_SalesReturnNotice.cs</DependentUpon>
    </EmbeddedResource>
    <EmbeddedResource Include="DevFrm\User\ViewRole.resx">
      <DependentUpon>ViewRole.cs</DependentUpon>
    </EmbeddedResource>
    <EmbeddedResource Include="DevFrm\Warehouse\Frm_MesShouTui.resx">
      <DependentUpon>Frm_MesShouTui.cs</DependentUpon>
    </EmbeddedResource>
@@ -1619,6 +1628,8 @@
    <None Include="Resources\edit_16x16.png" />
    <None Include="Resources\meeting_32x321.png" />
    <None Include="Resources\meeting_16x16.png" />
    <None Include="Resources\bodetails_16x16.png" />
    <None Include="Resources\show_16x162.png" />
    <Content Include="Resources\user_16x16.png" />
  </ItemGroup>
  <ItemGroup />
DevApp/Gs.DevApp/Properties/Resources.Designer.cs
@@ -233,6 +233,16 @@
        /// <summary>
        ///   æŸ¥æ‰¾ System.Drawing.Bitmap ç±»åž‹çš„æœ¬åœ°åŒ–资源。
        /// </summary>
        internal static System.Drawing.Bitmap bodetails_16x16 {
            get {
                object obj = ResourceManager.GetObject("bodetails_16x16", resourceCulture);
                return ((System.Drawing.Bitmap)(obj));
            }
        }
        /// <summary>
        ///   æŸ¥æ‰¾ System.Drawing.Bitmap ç±»åž‹çš„æœ¬åœ°åŒ–资源。
        /// </summary>
        internal static System.Drawing.Bitmap boposition2_16x16 {
            get {
                object obj = ResourceManager.GetObject("boposition2_16x16", resourceCulture);
@@ -1653,6 +1663,16 @@
        /// <summary>
        ///   æŸ¥æ‰¾ System.Drawing.Bitmap ç±»åž‹çš„æœ¬åœ°åŒ–资源。
        /// </summary>
        internal static System.Drawing.Bitmap show_16x162 {
            get {
                object obj = ResourceManager.GetObject("show_16x162", resourceCulture);
                return ((System.Drawing.Bitmap)(obj));
            }
        }
        /// <summary>
        ///   æŸ¥æ‰¾ System.Drawing.Bitmap ç±»åž‹çš„æœ¬åœ°åŒ–资源。
        /// </summary>
        internal static System.Drawing.Bitmap show_32x32 {
            get {
                object obj = ResourceManager.GetObject("show_32x32", resourceCulture);
DevApp/Gs.DevApp/Properties/Resources.resx
@@ -149,6 +149,9 @@
  <data name="lookup&amp;reference_16x162" type="System.Resources.ResXFileRef, System.Windows.Forms">
    <value>..\Resources\lookup&amp;reference_16x162.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
  </data>
  <data name="meeting_16x16" type="System.Resources.ResXFileRef, System.Windows.Forms">
    <value>..\Resources\meeting_16x16.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
  </data>
  <data name="sortbyinvoice_16x16" type="System.Resources.ResXFileRef, System.Windows.Forms">
    <value>..\Resources\sortbyinvoice_16x16.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
  </data>
@@ -200,9 +203,6 @@
    <value>..\Resources\3dcolumn_16x16.png;System.Drawing.Bitmap,
            System.Drawing, Version=4.0.0.0, Culture=neutral,
            PublicKeyToken=b03f5f7f11d50a3a</value>
  </data>
  <data name="alignverticalleft" type="System.Resources.ResXFileRef, System.Windows.Forms">
    <value>..\Resources\alignverticalleft.svg;DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v22.2, Version=22.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a</value>
  </data>
  <data name="download_16x16" type="System.Resources.ResXFileRef, System.Windows.Forms">
    <value>..\Resources\download_16x16.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
@@ -537,6 +537,9 @@
  <data name="clearformatting_16x16" type="System.Resources.ResXFileRef, System.Windows.Forms">
    <value>..\Resources\clearformatting_16x16.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
  </data>
  <data name="deletetablecells_16x16" type="System.Resources.ResXFileRef, System.Windows.Forms">
    <value>..\Resources\deletetablecells_16x16.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
  </data>
  <data name="close_16x16" type="System.Resources.ResXFileRef, System.Windows.Forms">
    <value>..\Resources\close_16x16.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
  </data>
@@ -621,8 +624,10 @@
  <data name="printlayoutview_16x161" type="System.Resources.ResXFileRef, System.Windows.Forms">
    <value>..\Resources\printlayoutview_16x161.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
  </data>
  <data name="deletetablecells_16x16" type="System.Resources.ResXFileRef, System.Windows.Forms">
    <value>..\Resources\deletetablecells_16x16.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
  <data name="task_16x16" type="System.Resources.ResXFileRef, System.Windows.Forms">
    <value>..\Resources\task_16x16.png;System.Drawing.Bitmap,
            System.Drawing, Version=4.0.0.0, Culture=neutral,
            PublicKeyToken=b03f5f7f11d50a3a</value>
  </data>
  <data name="showworktimeonly_32x32" type="System.Resources.ResXFileRef, System.Windows.Forms">
    <value>..\Resources\showworktimeonly_32x32.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
@@ -630,10 +635,8 @@
  <data name="wordwrap_32x32" type="System.Resources.ResXFileRef, System.Windows.Forms">
    <value>..\Resources\wordwrap_32x32.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
  </data>
  <data name="task_16x16" type="System.Resources.ResXFileRef, System.Windows.Forms">
    <value>..\Resources\task_16x16.png;System.Drawing.Bitmap,
            System.Drawing, Version=4.0.0.0, Culture=neutral,
            PublicKeyToken=b03f5f7f11d50a3a</value>
  <data name="bodetails_16x16" type="System.Resources.ResXFileRef, System.Windows.Forms">
    <value>..\Resources\bodetails_16x16.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
  </data>
  <data name="trackingchanges_next_16x16" type="System.Resources.ResXFileRef, System.Windows.Forms">
    <value>..\Resources\trackingchanges_next_16x16.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
@@ -785,6 +788,11 @@
    <value>..\Resources\login_bg6.png;System.Drawing.Bitmap, System.Drawing,
            Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
  </data>
  <data name="encryptdocument_32x321" type="System.Resources.ResXFileRef, System.Windows.Forms">
    <value>..\Resources\encryptdocument_32x321.png;System.Drawing.Bitmap,
            System.Drawing, Version=4.0.0.0, Culture=neutral,
            PublicKeyToken=b03f5f7f11d50a3a</value>
  </data>
  <data name="checkbox2_32x321" type="System.Resources.ResXFileRef, System.Windows.Forms">
    <value>..\Resources\checkbox2_32x321.png;System.Drawing.Bitmap,
            System.Drawing, Version=4.0.0.0, Culture=neutral,
@@ -900,17 +908,15 @@
  <data name="boposition2_32x32" type="System.Resources.ResXFileRef, System.Windows.Forms">
    <value>..\Resources\boposition2_32x32.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
  </data>
  <data name="encryptdocument_32x321" type="System.Resources.ResXFileRef, System.Windows.Forms">
    <value>..\Resources\encryptdocument_32x321.png;System.Drawing.Bitmap,
            System.Drawing, Version=4.0.0.0, Culture=neutral,
            PublicKeyToken=b03f5f7f11d50a3a</value>
  <data name="alignverticalleft" type="System.Resources.ResXFileRef, System.Windows.Forms">
    <value>..\Resources\alignverticalleft.svg;DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v22.2, Version=22.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a</value>
  </data>
  <data name="renamedatasource_32x32" type="System.Resources.ResXFileRef, System.Windows.Forms">
    <value>..\Resources\renamedatasource_32x32.png;System.Drawing.Bitmap,
            System.Drawing, Version=4.0.0.0, Culture=neutral,
            PublicKeyToken=b03f5f7f11d50a3a</value>
  </data>
  <data name="meeting_16x16" type="System.Resources.ResXFileRef, System.Windows.Forms">
    <value>..\Resources\meeting_16x16.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
  <data name="show_16x162" type="System.Resources.ResXFileRef, System.Windows.Forms">
    <value>..\Resources\show_16x162.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
  </data>
</root>
DevApp/Gs.DevApp/Resources/bodetails_16x16.png
DevApp/Gs.DevApp/Resources/show_16x162.png