263 lines
		
	
	
		
			8.6 KiB
		
	
	
	
		
			C#
		
	
	
	
			
		
		
	
	
			263 lines
		
	
	
		
			8.6 KiB
		
	
	
	
		
			C#
		
	
	
	
namespace FineUIPro.Web.common.SysManage
 | 
						||
{
 | 
						||
    using System;
 | 
						||
    using System.Collections.Generic;
 | 
						||
    using System.Data;
 | 
						||
    using System.Data.SqlClient;
 | 
						||
    using System.Linq;
 | 
						||
    using BLL;
 | 
						||
 | 
						||
    public partial class RoleList : PageBase
 | 
						||
    {
 | 
						||
        /// <summary>
 | 
						||
        /// 加载页面
 | 
						||
        /// </summary>
 | 
						||
        /// <param name="sender"></param>
 | 
						||
        /// <param name="e"></param>
 | 
						||
        protected void Page_Load(object sender, EventArgs e)
 | 
						||
        {
 | 
						||
            if (!IsPostBack)
 | 
						||
            {
 | 
						||
                ddlPageSize.SelectedValue = Grid1.PageSize.ToString();
 | 
						||
                // 绑定表格
 | 
						||
                BindGrid();
 | 
						||
            }
 | 
						||
        }
 | 
						||
 | 
						||
        #region 绑定数据/查询
 | 
						||
        /// <summary>
 | 
						||
        /// 绑定数据
 | 
						||
        /// </summary>
 | 
						||
        private void BindGrid()
 | 
						||
        {
 | 
						||
            string strSql = @"SELECT RoleId,RoleName,IsAuditFlow,Remark,RoleType FROM dbo.Sys_Role ORDER BY SortIndex";
 | 
						||
 | 
						||
            DataTable dt = SQLHelper.GetDataTableRunText(strSql, null);
 | 
						||
            // 2.获取当前分页数据
 | 
						||
            //var table = this.GetPagedDataTable(Grid1, tb1);
 | 
						||
            Grid1.RecordCount = dt.Rows.Count;
 | 
						||
            var table = this.GetPagedDataTable(Grid1, dt);
 | 
						||
            Grid1.DataSource = table;
 | 
						||
            Grid1.DataBind();
 | 
						||
        }
 | 
						||
 | 
						||
        /// <summary>
 | 
						||
        /// 查询
 | 
						||
        /// </summary>
 | 
						||
        /// <param name="sender"></param>
 | 
						||
        /// <param name="e"></param>
 | 
						||
        protected void btnQuery_Click(object sender, EventArgs e)
 | 
						||
        {
 | 
						||
            this.BindGrid();
 | 
						||
        }
 | 
						||
        #endregion
 | 
						||
 | 
						||
        #region 增加按钮事件
 | 
						||
        /// <summary>
 | 
						||
        /// 增加按钮事件
 | 
						||
        /// </summary>
 | 
						||
        /// <param name="sender"></param>
 | 
						||
        /// <param name="e"></param>
 | 
						||
        protected void btnNew_Click(object sender, EventArgs e)
 | 
						||
        {
 | 
						||
            if (CommonService.GetAllButtonPowerList(this.CurrUser.LoginProjectId, this.CurrUser.UserId, Const.RoleMenuId, Const.BtnAdd))
 | 
						||
            {
 | 
						||
                PageContext.RegisterStartupScript(Window1.GetShowReference(String.Format("RoleListEdit.aspx", "新增 - ")));
 | 
						||
            }
 | 
						||
            else
 | 
						||
            {
 | 
						||
                Alert.ShowInTop("您没有这个权限,请与管理员联系!", MessageBoxIcon.Warning);
 | 
						||
                return;
 | 
						||
            }
 | 
						||
        }
 | 
						||
        #endregion
 | 
						||
 | 
						||
        #region  编辑/查看/删除数据
 | 
						||
 | 
						||
        /// <summary>
 | 
						||
        /// 编辑
 | 
						||
        /// </summary>
 | 
						||
        private void EditData()
 | 
						||
        {
 | 
						||
            if (GetButtonPower(BLL.Const.BtnModify))
 | 
						||
            {
 | 
						||
                if (Grid1.SelectedRowIndexArray.Length == 0)
 | 
						||
                {
 | 
						||
                    Alert.ShowInParent("请至少选择一条记录!");
 | 
						||
                    return;
 | 
						||
                }
 | 
						||
                string Id = Grid1.SelectedRowID;
 | 
						||
                PageContext.RegisterStartupScript(Window1.GetShowReference(String.Format("RoleListEdit.aspx?roleId={0}", Id, "编辑 - ")));
 | 
						||
            }
 | 
						||
            else
 | 
						||
            {
 | 
						||
                ShowNotify("您没有这个权限,请与管理员联系!", MessageBoxIcon.Warning);
 | 
						||
            }
 | 
						||
        }
 | 
						||
 | 
						||
        /// <summary>
 | 
						||
        /// Grid行双击事件
 | 
						||
        /// </summary>
 | 
						||
        /// <param name="sender"></param>
 | 
						||
        /// <param name="e"></param>
 | 
						||
        protected void Grid1_RowDoubleClick(object sender, GridRowClickEventArgs e)
 | 
						||
        {
 | 
						||
            EditData();
 | 
						||
        }
 | 
						||
 | 
						||
        /// <summary>
 | 
						||
        /// 右键编辑事件
 | 
						||
        /// </summary>
 | 
						||
        /// <param name="sender"></param>
 | 
						||
        /// <param name="e"></param>
 | 
						||
        protected void btnMenuEdit_Click(object sender, EventArgs e)
 | 
						||
        {
 | 
						||
            this.EditData();
 | 
						||
        }
 | 
						||
 | 
						||
        protected void btnMenuView_Click(object sender, EventArgs e)
 | 
						||
        {
 | 
						||
            if (GetButtonPower(BLL.Const.BtnSee))
 | 
						||
            {
 | 
						||
                PageContext.RegisterStartupScript(Window1.GetShowReference(String.Format("RoleListView.aspx?userId={0}", Grid1.SelectedRowID, "查看 - ")));
 | 
						||
            }
 | 
						||
            else
 | 
						||
            {
 | 
						||
                Alert.ShowInTop(Resources.Lan.NoPrivilegePrompt, MessageBoxIcon.Warning);
 | 
						||
                return;
 | 
						||
            }
 | 
						||
        }
 | 
						||
 | 
						||
        /// <summary>
 | 
						||
        /// 批量删除数据
 | 
						||
        /// </summary>
 | 
						||
        /// <param name="sender"></param>
 | 
						||
        /// <param name="e"></param>
 | 
						||
        protected void btnMenuDelete_Click(object sender, EventArgs e)
 | 
						||
        {
 | 
						||
            if (GetButtonPower(BLL.Const.BtnDelete))
 | 
						||
            {
 | 
						||
                if (Grid1.SelectedRowIndexArray.Length > 0)
 | 
						||
                {
 | 
						||
                    string strShowNotify = string.Empty;
 | 
						||
                    foreach (int rowIndex in Grid1.SelectedRowIndexArray)
 | 
						||
                    {
 | 
						||
                        string rowID = Grid1.DataKeys[rowIndex][0].ToString();
 | 
						||
                        var role = BLL.Sys_RoleService.GetRole(rowID);
 | 
						||
                        string content = judgementDelete(rowID);
 | 
						||
                        if (role != null)
 | 
						||
                        {
 | 
						||
                            if (role.RoleType == "0")
 | 
						||
                            {
 | 
						||
                                ShowNotify("内置项,不允许删除!", MessageBoxIcon.Warning);
 | 
						||
                                return;
 | 
						||
                            }
 | 
						||
                            else
 | 
						||
                            {
 | 
						||
                                if (string.IsNullOrEmpty(content))
 | 
						||
                                {
 | 
						||
                                    BLL.Sys_RoleService.DeleteRole(rowID);
 | 
						||
                                    BLL.Sys_LogService.AddLog(Const.System_1, this.CurrUser.LoginProjectId, this.CurrUser.UserId, Const.RoleMenuId, Const.BtnDelete, rowID);
 | 
						||
                                }
 | 
						||
                                else
 | 
						||
                                {
 | 
						||
                                    strShowNotify += Resources.Lan.Role + ":" + role.RoleName + content;
 | 
						||
                                }
 | 
						||
                            }
 | 
						||
                        }
 | 
						||
                    }
 | 
						||
 | 
						||
                    BindGrid();
 | 
						||
                    if (!string.IsNullOrEmpty(strShowNotify))
 | 
						||
                    {
 | 
						||
                        Alert.ShowInTop(strShowNotify, MessageBoxIcon.Warning);
 | 
						||
                    }
 | 
						||
                    else
 | 
						||
                    {
 | 
						||
                        ShowNotify(Resources.Lan.DeletedSuccessfully, MessageBoxIcon.Success);
 | 
						||
                    }
 | 
						||
                }
 | 
						||
            }
 | 
						||
            else
 | 
						||
            {
 | 
						||
                Alert.ShowInTop(Resources.Lan.NoPrivilegePrompt, MessageBoxIcon.Warning);
 | 
						||
                return;
 | 
						||
            }
 | 
						||
        }
 | 
						||
        #endregion
 | 
						||
 | 
						||
        #region 分页/排序
 | 
						||
        /// <summary>
 | 
						||
        /// 分页
 | 
						||
        /// </summary>
 | 
						||
        /// <param name="sender"></param>
 | 
						||
        /// <param name="e"></param>
 | 
						||
        protected void Grid1_PageIndexChange(object sender, GridPageEventArgs e)
 | 
						||
        {
 | 
						||
            Grid1.PageIndex = e.NewPageIndex;
 | 
						||
            BindGrid();
 | 
						||
        }
 | 
						||
 | 
						||
        /// <summary>
 | 
						||
        /// 分页显示条数下拉框
 | 
						||
        /// </summary>
 | 
						||
        /// <param name="sender"></param>
 | 
						||
        /// <param name="e"></param>
 | 
						||
        protected void ddlPageSize_SelectedIndexChanged(object sender, EventArgs e)
 | 
						||
        {
 | 
						||
            Grid1.PageSize = Convert.ToInt32(ddlPageSize.SelectedValue);
 | 
						||
            BindGrid();
 | 
						||
        }
 | 
						||
 | 
						||
        /// <summary>
 | 
						||
        /// 排序
 | 
						||
        /// </summary>
 | 
						||
        /// <param name="sender"></param>
 | 
						||
        /// <param name="e"></param>
 | 
						||
        protected void Grid1_Sort(object sender, FineUIPro.GridSortEventArgs e)
 | 
						||
        {
 | 
						||
            Grid1.SortDirection = e.SortDirection;
 | 
						||
            Grid1.SortField = e.SortField;
 | 
						||
            BindGrid();
 | 
						||
        }
 | 
						||
        #endregion
 | 
						||
 | 
						||
 | 
						||
        /// <summary>
 | 
						||
        /// 关闭窗口
 | 
						||
        /// </summary>
 | 
						||
        /// <param name="sender"></param>
 | 
						||
        /// <param name="e"></param>
 | 
						||
        protected void Window1_Close(object sender, EventArgs e)
 | 
						||
        {
 | 
						||
            BindGrid();
 | 
						||
        }
 | 
						||
 | 
						||
 | 
						||
        /// <summary>
 | 
						||
        /// 获取按钮权限
 | 
						||
        /// </summary>
 | 
						||
        /// <param name="button"></param>
 | 
						||
        /// <returns></returns>
 | 
						||
        private bool GetButtonPower(string button)
 | 
						||
        {
 | 
						||
            return BLL.CommonService.GetAllButtonPowerList(this.CurrUser.LoginProjectId, this.CurrUser.UserId, BLL.Const.RoleMenuId, button);
 | 
						||
        }
 | 
						||
 | 
						||
        #region 判断是否可删除
 | 
						||
        /// <summary>
 | 
						||
        /// 判断是否可以删除
 | 
						||
        /// </summary>
 | 
						||
        /// <returns></returns>
 | 
						||
        private string judgementDelete(string id)
 | 
						||
        {
 | 
						||
            string content = string.Empty;
 | 
						||
            if (Funs.DB.Sys_User.FirstOrDefault(x => x.RoleIds.Contains(id)) != null)
 | 
						||
            {
 | 
						||
                content = "该角色已在【用户信息】中使用,不能删除!";
 | 
						||
            }
 | 
						||
            return content;
 | 
						||
        }
 | 
						||
        #endregion
 | 
						||
    }
 | 
						||
} |