From 82ede5820e6cbdebf101d6335ef528d5ff33d29f Mon Sep 17 00:00:00 2001
From: lu <99954486@qq.com>
Date: 星期四, 13 三月 2025 15:16:39 +0800
Subject: [PATCH] 个人权限

---
 DevApp/Gs.DevApp/Properties/Resources.Designer.cs |   20 ++
 DevApp/Gs.DevApp/DevFrm/User/RoleSelectAction.cs  |    2 
 DevApp/Gs.DevApp/DevFrm/User/ViewRole.cs          |  102 +++++++++++
 DevApp/Gs.DevApp/DevFrm/User/UserSelectRole.cs    |   11 +
 DevApp/Gs.DevApp/Resources/show_16x162.png        |    0 
 DevApp/Gs.DevApp/Gs.DevApp.csproj                 |   11 +
 DevApp/Gs.DevApp/Resources/bodetails_16x16.png    |    0 
 DevApp/Gs.DevApp/DevFrm/User/User.Designer.cs     |   84 ++++++++
 DevApp/Gs.DevApp/DevFrm/User/ViewRole.Designer.cs |   92 ++++++++++
 DevApp/Gs.DevApp/DevFrm/User/User.cs              |   45 ++++
 DevApp/Gs.DevApp/DevFrm/User/ViewRole.resx        |  120 +++++++++++++
 DevApp/Gs.DevApp/Properties/Resources.resx        |   36 ++-
 DevApp/Gs.DevApp/DevFrm/User/Role.cs              |    4 
 DevApp/Gs.DevApp/DevFrm/User/User.resx            |    2 
 14 files changed, 500 insertions(+), 29 deletions(-)

diff --git a/DevApp/Gs.DevApp/DevFrm/User/Role.cs b/DevApp/Gs.DevApp/DevFrm/User/Role.cs
index 425698c..b9c85da 100644
--- a/DevApp/Gs.DevApp/DevFrm/User/Role.cs
+++ b/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();
             }
         }
diff --git a/DevApp/Gs.DevApp/DevFrm/User/RoleSelectAction.cs b/DevApp/Gs.DevApp/DevFrm/User/RoleSelectAction.cs
index 1b5f359..9d5750d 100644
--- a/DevApp/Gs.DevApp/DevFrm/User/RoleSelectAction.cs
+++ b/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)
             {
diff --git a/DevApp/Gs.DevApp/DevFrm/User/User.Designer.cs b/DevApp/Gs.DevApp/DevFrm/User/User.Designer.cs
index 0762d5e..388ce7a 100644
--- a/DevApp/Gs.DevApp/DevFrm/User/User.Designer.cs
+++ b/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;
     }
 }
\ No newline at end of file
diff --git a/DevApp/Gs.DevApp/DevFrm/User/User.cs b/DevApp/Gs.DevApp/DevFrm/User/User.cs
index 3fcc6a4..a761da1 100644
--- a/DevApp/Gs.DevApp/DevFrm/User/User.cs
+++ b/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();
+            }
+        }
     }
 }
\ No newline at end of file
diff --git a/DevApp/Gs.DevApp/DevFrm/User/User.resx b/DevApp/Gs.DevApp/DevFrm/User/User.resx
index 7678899..9238ca5 100644
--- a/DevApp/Gs.DevApp/DevFrm/User/User.resx
+++ b/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
diff --git a/DevApp/Gs.DevApp/DevFrm/User/UserSelectRole.cs b/DevApp/Gs.DevApp/DevFrm/User/UserSelectRole.cs
index 5601642..274fce8 100644
--- a/DevApp/Gs.DevApp/DevFrm/User/UserSelectRole.cs
+++ b/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 : "") +
diff --git a/DevApp/Gs.DevApp/DevFrm/User/ViewRole.Designer.cs b/DevApp/Gs.DevApp/DevFrm/User/ViewRole.Designer.cs
new file mode 100644
index 0000000..45a857a
--- /dev/null
+++ b/DevApp/Gs.DevApp/DevFrm/User/ViewRole.Designer.cs
@@ -0,0 +1,92 @@
+锘縩amespace 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;
+    }
+}
\ No newline at end of file
diff --git a/DevApp/Gs.DevApp/DevFrm/User/ViewRole.cs b/DevApp/Gs.DevApp/DevFrm/User/ViewRole.cs
new file mode 100644
index 0000000..b702139
--- /dev/null
+++ b/DevApp/Gs.DevApp/DevFrm/User/ViewRole.cs
@@ -0,0 +1,102 @@
+锘縰sing 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);
+            }
+        }
+    }
+}
\ No newline at end of file
diff --git a/DevApp/Gs.DevApp/DevFrm/User/ViewRole.resx b/DevApp/Gs.DevApp/DevFrm/User/ViewRole.resx
new file mode 100644
index 0000000..1af7de1
--- /dev/null
+++ b/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>
\ No newline at end of file
diff --git a/DevApp/Gs.DevApp/Gs.DevApp.csproj b/DevApp/Gs.DevApp/Gs.DevApp.csproj
index 1bbd542..1b8fe90 100644
--- a/DevApp/Gs.DevApp/Gs.DevApp.csproj
+++ b/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 />
diff --git a/DevApp/Gs.DevApp/Properties/Resources.Designer.cs b/DevApp/Gs.DevApp/Properties/Resources.Designer.cs
index 282477f..ffbb5b9 100644
--- a/DevApp/Gs.DevApp/Properties/Resources.Designer.cs
+++ b/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);
diff --git a/DevApp/Gs.DevApp/Properties/Resources.resx b/DevApp/Gs.DevApp/Properties/Resources.resx
index 0d08763..f7ce16b 100644
--- a/DevApp/Gs.DevApp/Properties/Resources.resx
+++ b/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>
\ No newline at end of file
diff --git a/DevApp/Gs.DevApp/Resources/bodetails_16x16.png b/DevApp/Gs.DevApp/Resources/bodetails_16x16.png
new file mode 100644
index 0000000..3a748f1
--- /dev/null
+++ b/DevApp/Gs.DevApp/Resources/bodetails_16x16.png
Binary files differ
diff --git a/DevApp/Gs.DevApp/Resources/show_16x162.png b/DevApp/Gs.DevApp/Resources/show_16x162.png
new file mode 100644
index 0000000..0c1ab27
--- /dev/null
+++ b/DevApp/Gs.DevApp/Resources/show_16x162.png
Binary files differ

--
Gitblit v1.9.3