From f23d33d0cf77a73d449cd7c38effda9e50c8fda4 Mon Sep 17 00:00:00 2001
From: lu <99954486@qq.com>
Date: 星期四, 06 三月 2025 08:13:37 +0800
Subject: [PATCH] 版面

---
 DevApp/Gs.DevApp/DevFrm/User/UserSelectRole.cs |  160 +++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 160 insertions(+), 0 deletions(-)

diff --git a/DevApp/Gs.DevApp/DevFrm/User/UserSelectRole.cs b/DevApp/Gs.DevApp/DevFrm/User/UserSelectRole.cs
new file mode 100644
index 0000000..5601642
--- /dev/null
+++ b/DevApp/Gs.DevApp/DevFrm/User/UserSelectRole.cs
@@ -0,0 +1,160 @@
+锘縰sing System;
+using System.Data;
+using System.Text;
+using System.Windows.Forms;
+using DevExpress.XtraEditors;
+using Gs.DevApp.Properties;
+using Gs.DevApp.ToolBox;
+using Newtonsoft.Json;
+
+namespace Gs.DevApp.DevFrm.User
+{
+    public partial class UserSelectRole : XtraForm
+    {
+        private readonly string _userGuid;
+
+        public UserSelectRole(string userGuid)
+        {
+            InitializeComponent();
+            _userGuid = userGuid;
+            GetCheckList();
+            btnSave.Click += BtnSave_Click;
+            GetTree(_userGuid);
+        }
+
+        private void BtnSave_Click(object sender, EventArgs e)
+        {
+            if (string.IsNullOrEmpty(_userGuid))
+            {
+                MsgHelper.Warning("璇峰厛閫夋嫨浣犺鎿嶄綔鐨勭敤鎴凤紒");
+                return;
+            }
+
+            if (!MsgHelper.AskQuestion("浣犻�夋嫨浜嗐��" + ckList.CheckedItems.Count +
+                                       "銆戜釜瑙掕壊锛岀‘瀹氳缃潈闄愬悧锛�"))
+                return;
+            var roleLst = new StringBuilder();
+            foreach (DataRowView box in ckList.CheckedItems)
+            {
+                if (roleLst.Length > 0)
+                    roleLst.Append(",");
+                roleLst.Append(box.Row["guid"]);
+            }
+
+            var _obj = new
+            {
+                userGuid = _userGuid,
+                roleLst = roleLst.ToString()
+            };
+            var strJson = "";
+            try
+            {
+                strJson = UtilityHelper.HttpPost("", "Role/SetUserRole",
+                    JsonConvert.SerializeObject(_obj));
+                var _rtn = UtilityHelper.ReturnToDynamic(strJson);
+                MsgHelper.Warning("鎻愮ず锛�" + _rtn.rtnData.outMsg);
+                Close();
+            }
+            catch (Exception ex)
+            {
+                MsgHelper.Warning("鎻愮ず锛�" + ex.Message);
+            }
+        }
+
+        private void GetCheckList()
+        {
+            var _obj = new
+            {
+                userGuid = _userGuid
+            };
+            var strReturn = "";
+            try
+            {
+                strReturn = UtilityHelper.HttpPost("", "Role/GetUserRole",
+                    JsonConvert.SerializeObject(_obj));
+                var dd = UtilityHelper.ReturnToList(strReturn);
+                var dt = dd.rtnData;
+                ckList.DataSource = dt;
+                ckList.ValueMember = "guid";
+                ckList.DisplayMember = "roleName";
+                foreach (DataRow row in dt.Rows)
+                {
+                    // 鍋囪Condition鏄喅瀹氭槸鍚﹂�変腑鐨勫瓧娈�
+                    var isChecked = (bool)row["isCk"]; // 杞崲涓哄疄闄呯殑绫诲瀷
+                    var index = ckList.FindString(row["roleName"].ToString());
+                    if (index != ListBox.NoMatches)
+                        ckList.SetItemChecked(index, isChecked);
+                }
+            }
+            catch (Exception ex)
+            {
+                MsgHelper.Warning("鎻愮ず锛�" + ex.Message);
+            }
+        }
+
+
+        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");
+                var _gou = "鉁� ";
+                foreach (var _dy in drGrp)
+                {
+                    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.Expand();
+                        node.Nodes.Add(node22);
+                    }
+                    node.Expand();
+                    trv.Nodes.Add(node);
+                }
+            }
+            catch (Exception ex)
+            {
+                MsgHelper.Warning("鎻愮ず锛�" + ex.Message);
+            }
+        }
+    }
+}
\ No newline at end of file

--
Gitblit v1.9.3