You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
91 lines
3.2 KiB
91 lines
3.2 KiB
2 weeks ago
|
using System;
|
||
|
using System.Collections.Generic;
|
||
|
using System.Linq;
|
||
|
using System.Text;
|
||
|
using System.Windows.Forms;
|
||
|
using System.Data;
|
||
|
using Stone.Common;
|
||
|
using Stone.Entity;
|
||
|
using Stone.User;
|
||
|
|
||
|
namespace Stone.WinBiz.SystemData
|
||
|
{
|
||
|
public class F_Menu
|
||
|
{
|
||
|
public static void Init(TreeView leftTree)
|
||
|
{
|
||
|
TreeNode nodeMain = new TreeNode("功能菜单");
|
||
|
nodeMain.Tag = "";
|
||
|
|
||
|
DataSet dsMenu = GetData();
|
||
|
DataTable dtAuthority = GetAuthority();
|
||
|
DataRow[] drOnes = dsMenu.Tables[0].Select("[Levels]=1", "[Sort] asc");
|
||
|
foreach (DataRow drOne in drOnes)
|
||
|
{
|
||
|
string oneCode = drOne["Code"].ToString();
|
||
|
if (dtAuthority.Select("[MenuCode]='" + oneCode + "'").Length == 0) continue;
|
||
|
|
||
|
TreeNode nodeOne = new TreeNode(drOne["Name"].ToString(), 0, 1);
|
||
|
if (Convert.ToInt32(drOne["IsChild"]) == 1) nodeOne = new TreeNode(drOne["Name"].ToString(), 2, 3);
|
||
|
nodeOne.Tag = drOne["Code"].ToString();
|
||
|
|
||
|
//if (!UserInfo.UserVerify(drOne["Name"].ToString())) continue;
|
||
|
|
||
|
DataRow[] drTows = dsMenu.Tables[0].Select("[Levels]=2 and [Code] like '" + oneCode + "%'", "[Sort] asc");
|
||
|
foreach (DataRow drTow in drTows)
|
||
|
{
|
||
|
string towCode = drTow["Code"].ToString();
|
||
|
if (dtAuthority.Select("[MenuCode]='" + towCode + "'").Length == 0) continue;
|
||
|
|
||
|
//if (UserInfo.UserVerify(drTow["Name"].ToString()))
|
||
|
{
|
||
|
|
||
|
TreeNode nodeTow = new TreeNode(drTow["Name"].ToString(), 0, 1);
|
||
|
if (Convert.ToInt32(drTow["IsChild"]) == 1) nodeTow = new TreeNode(drTow["Name"].ToString(), 2, 3);
|
||
|
nodeTow.Tag = drTow["Code"].ToString();
|
||
|
|
||
|
DataRow[] drThrees = dsMenu.Tables[0].Select("[Levels]=3 and [Code] like '" + towCode + "%'", "[Sort] asc");
|
||
|
foreach (DataRow drThree in drThrees)
|
||
|
{
|
||
|
string treeCode = drTow["Code"].ToString();
|
||
|
if (dtAuthority.Select("[MenuCode]='" + treeCode + "'").Length == 0) continue;
|
||
|
|
||
|
TreeNode nodeThree = new TreeNode(drThree["Name"].ToString(), 0, 1);
|
||
|
if (Convert.ToInt32(drThree["IsChild"]) == 1) nodeThree = new TreeNode(drThree["Name"].ToString(), 2, 3);
|
||
|
nodeThree.Tag = drThree["Code"].ToString();
|
||
|
|
||
|
nodeTow.Nodes.Add(nodeThree);
|
||
|
}
|
||
|
|
||
|
|
||
|
nodeOne.Nodes.Add(nodeTow);
|
||
|
}
|
||
|
}
|
||
|
|
||
|
nodeMain.Nodes.Add(nodeOne);
|
||
|
}
|
||
|
|
||
|
|
||
|
leftTree.Nodes.Add(nodeMain);
|
||
|
|
||
|
}
|
||
|
|
||
|
private static DataSet GetData()
|
||
|
{
|
||
|
Entity_t_Sys_Menu t_Menu = new Entity_t_Sys_Menu();
|
||
|
return t_Menu.GetData("[IsShow]=1");
|
||
|
|
||
|
}
|
||
|
|
||
|
private static DataTable GetAuthority()
|
||
|
{
|
||
|
|
||
|
Entity_t_Sys_Menu_Authority t_Sys_Menu_Authority = new Entity_t_Sys_Menu_Authority();
|
||
|
|
||
|
|
||
|
return t_Sys_Menu_Authority.GetData("[UserID]=" + UserInfo.UserID).Tables[0];
|
||
|
|
||
|
}
|
||
|
}
|
||
|
}
|