username@email.com
2025-05-14 99ddfbcecf0fa2881eb3a91028257eef87dab6de
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using CY.BLL;
using CY.Model;
using CY.Infrastructure.Common;
using System.Data;
 
namespace CY.WebForm.Pages.membermanage
{
    //吴辉
    //会员权限
    public partial class MemberRole : BasePage
    {
        Sys_Permissions_UserCaseBLL bll_Sys_Permissions_UserCaseBLL = null;
        Sys_Permissions_MenuBLL bll_Sys_Permissions_MenuBLL = null;
        Sys_Permissions_RoleBLL bll_Sys_Permissions_RoleBLL = null;
        public static string treeHtml = "";  //树形参数
        public static string selHtml = "";    //下拉框内容
        public static string MemberRoleString = "";
        //实例化
        public MemberRole()
        {
            bll_Sys_Permissions_UserCaseBLL = new Sys_Permissions_UserCaseBLL();
            bll_Sys_Permissions_MenuBLL = new Sys_Permissions_MenuBLL();
            bll_Sys_Permissions_RoleBLL = new Sys_Permissions_RoleBLL();
        }
 
        //页面加载
        protected void Page_Load(object sender, EventArgs e)
        {
            if (!IsPostBack)
            {
                InitialData();
            }
            if (Request["delete"] != null && Request["delete"].ToInt32() > 0)
            {
                Sys_Permissions_Role model = bll_Sys_Permissions_RoleBLL.SelectModel(Request["delete"].ToInt32());
                if (model != null && model.Keyid > 0)
                {
                    if (bll_Sys_Permissions_RoleBLL.DeleteModel(model))
                        JavaScript.MessageBox("删除成功", this);
                    else
                        JavaScript.MessageBox("删除失败", this);
                    InitialData();
                }
            }
        }
 
        //提交修改 hideKeyId
        protected void btn_Submit_Config(object sender, EventArgs e)
        {
            try
            {
                Sys_Permissions_UserRoleRelation m_Sys_Permissions_UserRoleRelation = bll_Sys_Permissions_RoleBLL.SelectSys_Permissions_UserRoleRelation(Request["MemberId"].ToGuid2());
                string Roles = Request["hideRoles"].ToString2();
                string[] RolesArry = Roles.Split(',');
                Dictionary<string, string> MenusJionRole = new Dictionary<string, string>();
                foreach (var itemRole in RolesArry)
                {
                    string MenuAll = itemRole;
                    string[] MenuAllArry = MenuAll.Split('+');
                    if (MenuAllArry.Length > 1)
                    {
                        string value_Role = MenuAllArry[1] == "0" ? "" : MenuAllArry[1];
                        if (MenusJionRole.Keys.Contains(MenuAllArry[0]))
                            MenusJionRole[MenuAllArry[0]] = MenusJionRole[MenuAllArry[0]] + "," + value_Role;
                        else
                            MenusJionRole.Add(MenuAllArry[0], value_Role);
                    }
                }
                bool result = bll_Sys_Permissions_RoleBLL.EditMenusRole(m_Sys_Permissions_UserRoleRelation == null ? 0 : m_Sys_Permissions_UserRoleRelation.RoleId, MenusJionRole, Request["MemberId"].ToGuid2());
                if (result)
                {
                    InitialData();
                    JavaScript.MessageBox("保存成功", this);
                }
                else
                    JavaScript.MessageBox("操作失败", this);
            }
            catch (Exception ex)
            {
                PAGEHandleException(ex);
                JavaScript.MessageBox("操作失败", this);
            }
        }
 
        //获取遍历结果
        public void InitialData()
        {
            DataTable ds = bll_Sys_Permissions_MenuBLL.SelectAllUsedList();
            treeHtml = "";
            selHtml = "";
            int? MenuOneId = 0;
            if (ds != null && ds.Rows.Count > 0)
            {
                GetDataByLevel(ref treeHtml, ref selHtml, ref MenuOneId, ds, 0, 1);
            }
            treeHtml = treeHtml.Trim(',');
            MemberRoleString = GetMenusByMemberRole();
        }
 
        //遍历菜单以及用例数据
        public void GetDataByLevel(ref string treeHtmlo, ref string selHtmlo, ref int? MenuOneId, DataTable data, int parentId, int level)
        {
 
            DataRow[] result = data.Select(string.Format("ParentId={0}", parentId));
            int i = -1;
            int j = -1;
            while (++i < result.Length)
            {
                if (result[i]["MenuName"].ToString2() == "管理员菜单")
                {
                    return;
                }
                if (level == 2)
                {
                    MenuOneId = result[i]["Keyid"].ToInt32();
                }
 
                treeHtmlo = treeHtmlo + "{GetMenuRoleId:'0', id: " + result[i]["Keyid"].ToString2() + ", parentId: " + result[i]["ParentId"].ToString2() + ", name: '" + result[i]["MenuName"].ToString2() + "[" + result[i]["Keyid"].ToString2() + "]" + "'" + (level < 3 ? ", open: true" : "") + " },";
                if (level == 4)
                {
                    treeHtmlo = treeHtmlo + "{GetMenuRoleId:'" + MenuOneId + "-" + result[i]["ParentId"].ToString2() + "-" + result[i]["Keyid"].ToString2() + "+0', id: " + result[i]["ParentId"].ToString2() + "00" + result[i]["Keyid"].ToString2() + ", parentId: " + result[i]["Keyid"].ToString2() + ", name: '查看页面' },";
 
 
                    DataTable ds = bll_Sys_Permissions_UserCaseBLL.SelectList(result[i]["Keyid"].ToInt32());
                    DataRow[] resultUserCase = ds.Select(string.Format("MenuId={0}", result[i]["Keyid"].ToInt32()));
                    while (++j < resultUserCase.Length)
                    {
                        treeHtmlo = treeHtmlo + "{GetMenuRoleId:'" + MenuOneId + "-" + result[i]["ParentId"].ToString2() + "-" + result[i]["Keyid"].ToString2() + "+" + resultUserCase[j]["Keyid"].ToString2() + "', id: 333" + resultUserCase[j]["Keyid"].ToString2() + ", parentId: " + resultUserCase[j]["MenuId"].ToString2() + ", name: '" + resultUserCase[j]["UserCaseName"].ToString2() + "'},";
                    }
                    j = -1;
                }
                GetDataByLevel(ref treeHtmlo, ref selHtmlo, ref MenuOneId, data, result[i]["Keyid"].ToInt32().Value, level + 1);
            }
        }
 
        /// <summary>
        /// 获取会员权限
        /// </summary>
        /// <param name="value_keyid"></param>
        /// <returns></returns>
        public string GetMenusByMemberRole()
        {
            Sys_Permissions_UserRoleRelation m_Sys_Permissions_UserRoleRelation = bll_Sys_Permissions_RoleBLL.SelectSys_Permissions_UserRoleRelation(Request["MemberId"].ToGuid2());
            if (m_Sys_Permissions_UserRoleRelation != null)
            {
                List<Sys_Permissions_RoleMenuRelation> m_Sys_Permissions_RoleMenuRelationList = bll_Sys_Permissions_RoleBLL.SelectListByRoleId(m_Sys_Permissions_UserRoleRelation.RoleId) as List<Sys_Permissions_RoleMenuRelation>;
                if (m_Sys_Permissions_RoleMenuRelationList != null && m_Sys_Permissions_RoleMenuRelationList.Count > 0)
                {
                    List<string> Menus = new List<string>();
                    foreach (var m_Sys_Permissions_Menu in m_Sys_Permissions_RoleMenuRelationList)
                    {
                        Menus.Add(m_Sys_Permissions_Menu.MenuIdOne + "-" + m_Sys_Permissions_Menu.MenuIdTwo + "-" + m_Sys_Permissions_Menu.MenuIdThree + "+" + "0");
                        string[] fucns = m_Sys_Permissions_Menu.FuncId.Split(',');
                        foreach (var item in fucns)
                        {
                            Menus.Add(m_Sys_Permissions_Menu.MenuIdOne + "-" + m_Sys_Permissions_Menu.MenuIdTwo + "-" + m_Sys_Permissions_Menu.MenuIdThree + "+" + item);
                        }
                    }
                    return JsonHelper.GetJsonStringByObject(Menus);
                }
                else
                    return "";
            }
            else
                return "";
        }
    }
}