using Gs.DevApp.Properties;
|
using Gs.DevApp.ToolBox;
|
using Newtonsoft.Json;
|
using System;
|
using System.Text;
|
using System.Windows.Forms;
|
|
namespace Gs.DevApp.DevFrm.User
|
{
|
public partial class RoleSelectAction : DevExpress.XtraEditors.XtraForm
|
{
|
private StringBuilder _actionLst = new StringBuilder();
|
private readonly string _rightGuid;
|
public RoleSelectAction(string rightGuid)
|
{
|
InitializeComponent();
|
trv.AfterCheck += Trv_AfterCheck;
|
_rightGuid = rightGuid;
|
getTree(_rightGuid);
|
}
|
|
private void getTree(string roleGuid)
|
{
|
trv.Nodes.Clear();
|
var imageList = new ImageList();
|
imageList.Images.Add("icon0", Resources.publicfix_32x32);
|
imageList.Images.Add("icon1", Resources.addfooter_32x32);
|
imageList.Images.Add("icon2", Resources.listmultilevel_16x16);
|
imageList.Images.Add("icon3", Resources.addcalculatedfield_16x16);
|
trv.ImageList = imageList;
|
var _obj = new
|
{
|
roleGuid //主建
|
};
|
try
|
{
|
var strReturn = UtilityHelper.HttpPost("", "Role/GetListByRole",
|
JsonConvert.SerializeObject(_obj));
|
var dd = UtilityHelper.ReturnToTablePage(strReturn);
|
var dt = dd.rtnData.list;
|
var drGrp = dt.Select("upGuid='' or upGuid is null");
|
foreach (var _dy in drGrp)
|
{
|
var node = new TreeNode(); //定义结点
|
node.Text = _dy["name"].ToString(); //为结点赋值
|
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["name"].ToString(); //为结点赋值
|
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["name"].ToString(); //为结点赋值
|
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);
|
}
|
}
|
|
private void btnCancel_Click(object sender, EventArgs e)
|
{
|
Close();
|
}
|
private void Trv_AfterCheck(object sender, TreeViewEventArgs e)
|
{
|
try
|
{
|
trv.AfterCheck -= Trv_AfterCheck;
|
UtilityHelper.TreeViewCheck(e);
|
trv.AfterCheck += Trv_AfterCheck;
|
}
|
catch (Exception ex)
|
{
|
MsgHelper.ShowError(ex.Message);
|
}
|
}
|
|
// 遍历TreeView中的所有节点
|
private void TraverseTreeViewNodes(TreeNodeCollection nodes)
|
{
|
foreach (TreeNode node in nodes)
|
{
|
if (node.Checked)
|
_actionLst.Append(node.Name + "~");
|
// 递归遍历子节点
|
if (node.Nodes.Count > 0) TraverseTreeViewNodes(node.Nodes);
|
}
|
}
|
private void btnSave_Click(object sender, EventArgs e)
|
{
|
string rowGuid = _rightGuid;
|
if (string.IsNullOrEmpty(rowGuid))
|
{
|
MsgHelper.Warning("请先选择你要操作的行!");
|
return;
|
}
|
if (!MsgHelper.AskQuestion("确定设置权限吗?"))
|
return;
|
_actionLst = new StringBuilder();
|
TraverseTreeViewNodes(trv.Nodes);
|
var _obj = new
|
{
|
roleGuid = rowGuid,
|
actionLst = _actionLst.ToString()
|
};
|
try
|
{
|
var strJson = UtilityHelper.HttpPost("",
|
"Role/SetRoleMenuAction",
|
JsonConvert.SerializeObject(_obj));
|
var _rtn = UtilityHelper.ReturnToDynamic(strJson);
|
MsgHelper.Warning("提示:" + _rtn.rtnData.outMsg);
|
if (_rtn.rtnCode > 0)
|
this.Close();
|
}
|
catch (Exception ex)
|
{
|
MsgHelper.Warning("提示:" + ex.Message);
|
}
|
}
|
}
|
}
|