username@email.com
2025-05-12 ae6e40362a745caef9ead36f81f38313fb8c2c66
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
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.personnel
{
    //吴辉
    //角色管理
    public partial class FirmRoleList : BasePage
    {
        Sys_Permissions_UserCaseBLL bll_Sys_Permissions_UserCaseBLL = null;
        Sys_Permissions_MenuBLL bll_Sys_Permissions_MenuBLL = null;
        OA_FirmRoleBLL bll_OA_FirmRoleBLL = null;
        Sys_Permissions_RoleBLL bll_Sys_Permissions_RoleBLL = null;
 
        public static string treeHtml = "";  //树形参数
        public static string selHtml = "";    //下拉框内容
        //实例化
        public FirmRoleList()
        {
            bll_Sys_Permissions_UserCaseBLL = new Sys_Permissions_UserCaseBLL();
            bll_Sys_Permissions_MenuBLL = new Sys_Permissions_MenuBLL();
            bll_OA_FirmRoleBLL = new OA_FirmRoleBLL();
            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)
            {
                OA_FirmRole model = bll_OA_FirmRoleBLL.SelectModel(Request["delete"].ToInt32());
                if (model != null && model.Keyid > 0)
                {
                    if (bll_OA_FirmRoleBLL.DeleteModel(model))
                        Response.Redirect("/Pages/personnel/FirmRoleList.aspx");
                    else
                        JavaScript.MessageBox("删除失败", this);
                    InitialData();
                }
            }
        }
 
        //获取遍历结果
        public void InitialData()
        {
          var youxiao =  this.selSPS_Department.Value.ToInt32();
            var oA_FirmRoles = bll_OA_FirmRoleBLL.SelectList(CurrentUser.MemberId);
            if (youxiao>0)
            {
                if (youxiao == 1)
                {
                    oA_FirmRoles = oA_FirmRoles.Where(x => x.IsUsed == true);
                }
                else if (youxiao == 2)
                {
                    oA_FirmRoles = oA_FirmRoles.Where(x => x.IsUsed == false);
                }
            }
 
            treeHtml = "{GetMenuRoleId:'0', id: 99999, parentId: 900009, name: '最高权限', open: true },";
 
            this.RepClientList.DataSource = oA_FirmRoles;// bll_OA_FirmRoleBLL.SelectList(CurrentUser.MemberId);
            this.RepClientList.DataBind();
 
            Sys_Permissions_UserRoleRelation m_Sys_Permissions_UserRoleRelation = bll_Sys_Permissions_RoleBLL.SelectSys_Permissions_UserRoleRelation(CurrentUser.MemberId);
            if (m_Sys_Permissions_UserRoleRelation != null)
            {
                List<Sys_Permissions_Menu> m_MenuOneList = bll_Sys_Permissions_RoleBLL.MenusOneList(m_Sys_Permissions_UserRoleRelation.RoleId);
                foreach (var m_MenuOne in m_MenuOneList)
                {
                    treeHtml = treeHtml + "{GetMenuRoleId:'0', id: " + m_MenuOne.Keyid + ", parentId: 99999, name: '" + m_MenuOne.MenuName + "' },";
 
                    List<Sys_Permissions_Menu> m_MenuTwoList = bll_Sys_Permissions_RoleBLL.MenusTwoList(m_MenuOne.Keyid, m_Sys_Permissions_UserRoleRelation.RoleId);
                    foreach (var m_MenuTwo in m_MenuTwoList)
                    {
                        treeHtml = treeHtml + "{GetMenuRoleId:'0', id: " + m_MenuTwo.Keyid + ", parentId: " + m_MenuTwo.ParentId + ", name: '" + m_MenuTwo.MenuName + "' , open: true },";
 
                        List<Sys_Permissions_Menu> m_MenuThreeList = bll_Sys_Permissions_RoleBLL.MenusThreeList(m_MenuTwo.Keyid, m_Sys_Permissions_UserRoleRelation.RoleId);
                        foreach (var m_MenuThree in m_MenuThreeList)
                        {
                            treeHtml = treeHtml + "{GetMenuRoleId:'0', id: " + m_MenuThree.Keyid + ", parentId: " + m_MenuThree.ParentId + ", name: '" + m_MenuThree.MenuName + "' },";
 
                            Sys_Permissions_RoleMenuRelation m_Sys_Permissions_RoleMenuRelation = bll_Sys_Permissions_RoleBLL.SelectModelByRoleIdAndMenuId(m_Sys_Permissions_UserRoleRelation.RoleId, m_MenuOne.Keyid, m_MenuTwo.Keyid, m_MenuThree.Keyid);
                            treeHtml = treeHtml + "{GetMenuRoleId:'" + m_MenuOne.Keyid + "-" + m_MenuTwo.Keyid + "-" + m_MenuThree.Keyid + "+0', id: " + (m_MenuTwo.Keyid + "050" + m_MenuThree.Keyid) + ", parentId: " + m_MenuThree.Keyid + ", name: '主页面' },";
                            if (m_Sys_Permissions_RoleMenuRelation != null && m_Sys_Permissions_RoleMenuRelation.RoleId > 0)
                            {
                                string[] MenuIds = m_Sys_Permissions_RoleMenuRelation.FuncId.Trim(',').Split(',');
                                foreach (var FuncId in MenuIds)
                                {
                                    Sys_Permissions_UserCase m_Sys_Permissions_UserCase = bll_Sys_Permissions_UserCaseBLL.SelectModelByKeyId(FuncId.ToInt32());
                                    if (m_Sys_Permissions_UserCase != null && m_Sys_Permissions_UserCase.Keyid > 0)
                                    {
                                        treeHtml = treeHtml + "{GetMenuRoleId:'" + m_MenuOne.Keyid + "-" + m_MenuTwo.Keyid + "-" + m_MenuThree.Keyid + "+" + m_Sys_Permissions_UserCase.Keyid + "', id: 333"+ m_Sys_Permissions_UserCase.Keyid + ", parentId: " + m_MenuThree.Keyid + ", name: '" + m_Sys_Permissions_UserCase.UserCaseName + "' },";
                                    }
                                }
                            }
                        }
                    }
                }
            }
            treeHtml = treeHtml.Trim(',');
        }
 
        //查询事件
        protected void btn_Search_Click(object src, EventArgs e)
        {
            InitialData();
        }
 
        //保存角色权限
        protected void btn_SaveRole_Click(object sender, EventArgs e)
        {
            try
            {
                int? Keyid = Request["hideKeyid"].ToInt32();
                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_OA_FirmRoleBLL.EditMenusRole(Keyid, CurrentUser.MemberId, MenusJionRole);
                if (result)
                {
                    InitialData();
                    JavaScript.MessageBox("保存成功", this);
                }
                else
                    JavaScript.MessageBox("操作失败", this);
            }
            catch (Exception ex)
            {
                PAGEHandleException(ex);
                JavaScript.MessageBox("操作失败", this);
            }
        }
    }
}