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