/// <summary>
    /// 判断用户对页面是否有权限
    /// </summary>
    /// <param name="pathfile">文件路径</param>
    /// <param name="userName">用户名</param>
    /// <returns></returns>
    public static bool IsAllowVisitPage(string pathfile, string userName)
    {
        if (!IsOpenPagePermissions())//如果页面权限开关为关闭(0),直接返回有权限
        {
            return(true);
        }
        pathfile = pathfile.ToLower();
        if (pathfile == "")
        {
            return(true);
        }
        if (_listAllowPagePath.Contains(pathfile))
        {
            return(true);
        }
        DataTable  dtUserMenu   = null;
        TSysMenuVo objSysMenuVo = new TSysMenuVo();

        objSysMenuVo.IS_DEL    = "0";
        objSysMenuVo.IS_USE    = "1";
        objSysMenuVo.MENU_TYPE = "Menu";
        dtUserMenu             = new TSysMenuLogic().GetMenuByUserName(objSysMenuVo, userName);
        for (int i = 0; i < dtUserMenu.Rows.Count; i++)
        {
            if (pathfile == (dtUserMenu.Rows[i][TSysMenuVo.MENU_URL_FIELD].ToString()).ToLower())
            {
                return(true);
            }
        }
        return(false);
    }
    /// <summary>
    /// 获取属性类别信息
    /// </summary>
    /// <returns></returns>
    private string getMenu(string strlocalUserID)
    {
        string json = "[]";

        string strDataJson = new TSysMenuLogic().GetMenuByUserIDForLogin(strlocalUserID);

        if (strDataJson.Length > 0)
        {
            json = "[" + strDataJson + "]";
        }

        return(json);
    }
    /// <summary>
    /// 根据父ID 获取子孙 无限极
    /// </summary>
    /// <param name="ParentId">父ID</param>
    public void GetMenuChild(string ParentId, string strMenuType)
    {
        DataTable  dtUserMenu = new DataTable();
        TSysMenuVo menuvo     = new TSysMenuVo();

        menuvo.IS_DEL    = "0";
        menuvo.IS_USE    = "1";
        menuvo.MENU_TYPE = strMenuType;
        DataTable dtMenu = new TSysMenuLogic().SelectByTable(menuvo);

        menuvo.PARENT_ID = ParentId;
        if (new PageBase().LogInfo.UserInfo.ID == "000000001")
        {
            dtUserMenu = new TSysMenuLogic().SelectByTable(menuvo);
        }
        else
        {
            menuvo.IS_HIDE = "0";
            //dtUserMenu = new TSysMenuLogic().GetMenuByUserName(menuvo, LogInfo.UserInfo.USER_NAME);
            dtUserMenu = new TSysMenuLogic().GetMenuByUserID(menuvo, new PageBase().LogInfo.UserInfo.ID);
        }

        DataView dv = new DataView(dtUserMenu);

        dv.Sort = " PARENT_ID,ORDER_ID ASC";
        //排序结果 重载dtUserMenu
        dtUserMenu = dv.ToTable();
        for (int i = 0; i < dtUserMenu.Rows.Count; i++)
        {
            //nodes = "{ id:" + Convert.ToInt32(dtUserMenu.Rows[i]["ID"]) + ", pId:" + Convert.ToInt32(dtUserMenu.Rows[i]["PARENT_ID"]) + ", name:'" + dtUserMenu.Rows[i]["MENU_TEXT"] + "',icon:'../../Images/Menu/" + dtUserMenu.Rows[i]["MENU_IMGURL"] + "',IS_SHORTCUT:" + dtUserMenu.Rows[i]["IS_SHORTCUT"] + "";
            //有图标,貌似和加载速度关系不大
            nodes = "{ id:'" + dtUserMenu.Rows[i]["ID"] + "', pId:'" + dtUserMenu.Rows[i]["PARENT_ID"] + "', name:'" + dtUserMenu.Rows[i]["MENU_TEXT"] + "',icon:'../../Images/Menu/" + dtUserMenu.Rows[i]["MENU_IMGURL"] + "',IS_SHORTCUT:" + dtUserMenu.Rows[i]["IS_SHORTCUT"] + "";

            if (dtUserMenu.Rows[i]["PARENT_ID"].ToString() == "0" && i == 0)
            {
                nodes += ", open:true";
            }
            if (!String.IsNullOrEmpty(dtUserMenu.Rows[i]["MENU_URL"].ToString()))
            {
                nodes += ", url:'" + dtUserMenu.Rows[i]["MENU_URL"] + "'";
            }
            nodes += "}";
            treenodes.Add(nodes);
            //循环方法,取当前行的ID值作为父ID 查找儿子,依次循环 达到无限
            GetMenuChild(dtUserMenu.Rows[i]["ID"].ToString(), strMenuType);
        }
        //根节点
        string rootNode = "{id:'0',pId:'-1',name:'系统菜单管理',icon:'../../Images/Menu/home.gif',open:true},\r\n";

        varNodes = "[" + rootNode + String.Join(",\r\n", treenodes.ToArray()) + "]";
    }
Пример #4
0
    /// <summary>
    /// 根据父ID 获取子孙 无限极
    /// </summary>
    /// <param name="ParentId">父ID</param>
    private void GetMenuChild(string ParentId)
    {
        DataTable  dtUserMenu = new DataTable();
        TSysMenuVo menuvo     = new TSysMenuVo();

        menuvo.IS_DEL      = "0";
        menuvo.IS_USE      = "1";
        menuvo.IS_SHORTCUT = "0";
        menuvo.MENU_TYPE   = "Menu";
        menuvo.PARENT_ID   = ParentId;
        if (LogInfo.UserInfo.ID == "000000001")
        {
            dtUserMenu = new TSysMenuLogic().SelectByTable(menuvo);
        }
        else
        {
            menuvo.IS_HIDE = "0";
            //dtUserMenu = new TSysMenuLogic().GetMenuByUserName(menuvo, LogInfo.UserInfo.USER_NAME);
            dtUserMenu = new TSysMenuLogic().GetMenuByUserID(menuvo, LogInfo.UserInfo.ID);
        }

        DataView dv = new DataView(dtUserMenu);

        dv.Sort = " PARENT_ID,ORDER_ID ASC";
        //排序结果 重载dtUserMenu
        dtUserMenu = dv.ToTable();
        for (int i = 0; i < dtUserMenu.Rows.Count; i++)
        {
            nodes = "{ id:" + Convert.ToInt32(dtUserMenu.Rows[i]["ID"]) + ", pId:" + Convert.ToInt32(dtUserMenu.Rows[i]["PARENT_ID"]) + ", name:'" + dtUserMenu.Rows[i]["MENU_TEXT"] + "'";
            if (!String.IsNullOrEmpty(dtUserMenu.Rows[i]["MENU_URL"].ToString()))
            {
                nodes += ", menuurl:'../" + dtUserMenu.Rows[i]["MENU_URL"] + "'";
                //指定在什么地方打开链接 默认 _ablak(新窗口)、  _selft(当前窗口)
                //nodes += ", target:'mainFrm'";
            }
            if (i == 0)
            {
                nodes += ", open:true";
            }
            nodes += "}";
            treenodes.Add(nodes);
            //循环方法,取当前行的ID值作为父ID 查找儿子,依次循环 达到无限
            GetMenuChild(dtUserMenu.Rows[i]["ID"].ToString());
        }
    }
    public static string getMenuInfo()
    {
        string     strUserID  = new PageBase().LogInfo.UserInfo.ID;
        DataTable  dtUserMenu = null;
        TSysMenuVo menuvo     = new TSysMenuVo();

        menuvo.IS_DEL      = "0";
        menuvo.IS_USE      = "1";
        menuvo.IS_SHORTCUT = "0";
        menuvo.MENU_TYPE   = "Menu";
        if (strUserID == "000000001")
        {
            dtUserMenu = new TSysMenuLogic().SelectByTable(menuvo);
        }
        else
        {
            menuvo.IS_HIDE = "0";
            dtUserMenu     = new TSysMenuLogic().GetMenuByUserID(menuvo, strUserID);
        }
        return(DataTableToJson(dtUserMenu));;
    }
Пример #6
0
    /// <summary>
    /// 绑定菜单树,获取json数据
    /// </summary>
    private void BindMenuTree()
    {
        TSysMenuVo objMenuVo = new TSysMenuVo();

        objMenuVo.IS_DEL     = "0";
        objMenuVo.IS_HIDE    = "0";
        objMenuVo.IS_USE     = "1";
        objMenuVo.SORT_FIELD = TSysMenuVo.ORDER_ID_FIELD;
        objMenuVo.SORT_TYPE  = ConstValues.SortType.ASC;
        DataTable dt = new TSysMenuLogic().SelectByTable(objMenuVo, 0, 0);

        if (dt.Rows.Count < 1)
        {
            return;
        }

        string MenuIconPath = "../../Images/Menu/";

        MenuData.Append("[");
        for (int i = 0; i < dt.Rows.Count; i++)
        {
            DataRow dr = dt.Rows[i];

            MenuData.Append("{");
            MenuData.Append("id:\"" + dr[TSysMenuVo.ID_FIELD].ToString() + "\",");
            MenuData.Append("pId:\"" + dr[TSysMenuVo.PARENT_ID_FIELD].ToString() + "\",");
            MenuData.Append("name:\"" + dr[TSysMenuVo.MENU_TEXT_FIELD].ToString() + "\",");
            MenuData.Append("icon:\"" + MenuIconPath + dr[TSysMenuVo.MENU_IMGURL_FIELD].ToString() + "\",");
            MenuData.Append("open:false");
            MenuData.Append("}");

            if (i != dt.Rows.Count - 1)
            {
                MenuData.Append(",");
            }
        }
        MenuData.Append("]");
    }
Пример #7
0
    /// <summary>
    /// 加载左侧菜单Div项,节点JSON数据, 加载tree数据方法  By Castle (胡方扬) 2012-10-24
    /// </summary>
    private void LoadDivModle()
    {
        if (LogInfo.UserInfo.USER_NAME == "" && LogInfo.UserInfo.ID != "000000001")
        {
            return;
        }
        DataTable  dtUserMenu = null;
        TSysMenuVo menuvo     = new TSysMenuVo();

        menuvo.IS_DEL      = "0";
        menuvo.IS_USE      = "1";
        menuvo.IS_SHORTCUT = "0";
        menuvo.MENU_TYPE   = "Menu";
        if (LogInfo.UserInfo.ID == "000000001")
        {
            dtUserMenu = new TSysMenuLogic().SelectByTable(menuvo);
        }
        else
        {
            menuvo.IS_HIDE = "0";
            //dtUserMenu = new TSysMenuLogic().GetMenuByUserName(menuvo, LogInfo.UserInfo.USER_NAME);
            dtUserMenu = new TSysMenuLogic().GetMenuByUserID(menuvo, LogInfo.UserInfo.ID);
        }

        DataTable dt = new DataTable();

        dt = dtUserMenu.Copy();
        dt.Clear();

        DataRow[] drlist = dtUserMenu.Select(" PARENT_ID='0'", "ORDER_ID ASC");

        foreach (DataRow dr in drlist)
        {
            for (int i = 0; i < dtUserMenu.Rows.Count; i++)
            {
                if (dtUserMenu.Rows[i]["PARENT_ID"].ToString() == dr["ID"].ToString())
                {
                    //dt.Rows.Add(dtUserMenu.Rows[i].ItemArray);
                    dt.Rows.Add(dr.ItemArray);
                }
            }
        }

        DataView dv = new DataView(dt);

        dt = dv.ToTable(true);

        int dtCount = dt.Rows.Count;

        if (dtCount > 0)
        {
            //LoadDiv="<div class=\"leftInner\" id=\"mainLeft\"><ul>";
            LoadDiv = "<div class=\"leftInner\" id=\"mainLeft\"><ul>\r\n";
            for (int i = 0; i < dtCount; i++)
            {
                string openclass = "", Strstyle = "";
                if (i == 0)
                {
                    openclass = "class=\"open\"";
                    Strstyle  = "style=\"display: block;\"";
                }
                LoadDiv += "<li " + openclass + "> \r\n <p><b>" + dt.Rows[i]["MENU_TEXT"] + "</b></p> \r\n";
                LoadDiv += "   <div class=\"leftCo\" " + Strstyle + "> \r\n";
                LoadDiv += "   <ul id=\"tree" + Convert.ToInt32(dt.Rows[i]["ID"]) + "\" class=\"ztree\"></ul> \r\n";
                LoadDiv += "   </div></li> \r\n";

                TreeLoad += "$.fn.zTree.init($(\"#tree" + Convert.ToInt32(dt.Rows[i]["ID"]) + "\"), setting, zNodes" + Convert.ToInt32(dt.Rows[i]["ID"]) + "); \r\n";

                GetMenuChild(dt.Rows[i]["ID"].ToString());

                NodesData = string.Join(",\r\n", treenodes.ToArray());

                LoadNodesData += " var zNodes" + Convert.ToInt32(dt.Rows[i]["ID"]) + "=[" + NodesData + "];\r\n";

                treenodes.Clear();
            }

            LoadDiv += "</ul></div> \r\n";
            LoadDiv += "<div class=\"arrow\" id=\"mainMiddle\"><span></span></div> \r\n";
        }
    }