using AntdUI; using DH.RBAC.Common; using DH.RBAC.Logic.Sys; using DH.RBAC.Model.Sys; using DH.RBAC.Page; using DH.RBAC.Utility.Other; using Sunny.UI; using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows.Forms; namespace DH.RBAC.Page.Sys.User { [PageCode("sys-user")] public partial class UserPage : MyPage { Window window; private SysUserLogic userLogic; private SysUserRoleRelationLogic userRoleRelationLogic; private SysUserLogOnLogic userLogOnLogic; public UserPage(Window _window) { window = _window; InitializeComponent(); userLogic = new SysUserLogic(); userRoleRelationLogic = new SysUserRoleRelationLogic(); userLogOnLogic = new SysUserLogOnLogic(); dataGridView.AutoGenerateColumns = false; Load += UserPage_Initialize; btnAdd.Click += btnAdd_Click; btnUpdate.Click += btnModify_Click; btnDelete.Click += btnDelete_Click; btnPwd.Click += uiSymbolButton1_Click; btnQuery.Click += btnQuery_Click; } /// /// 画面初始化 /// /// /// private void UserPage_Initialize(object sender, EventArgs e) { btnQuery_Click(sender, e); } /// /// 查询按钮事件处理 /// /// /// public void btnQuery_Click(object sender, EventArgs e) { int totalCount = 0; List list = userLogic.GetList(pagination.ActivePage, pagination.PageSize, txtKeywords.Text, ref totalCount); pagination.TotalCount = totalCount; dataGridView.DataSource = list; } /// /// 关键字Enter键处理 /// /// /// private void txtKeywords_KeyDown(object sender, KeyEventArgs e) { if (e.KeyCode == Keys.Enter) btnQuery_Click(sender, null); } /// /// 新增用户按钮事件处理 /// /// /// private void btnAdd_Click(object sender, EventArgs e) { AddUserForm form = new AddUserForm(); form.ParentPage = this; form.Id = string.Empty; FormHelper.ShowSubForm(form); } /// /// 修改用户按钮事件处理 /// /// /// private void btnModify_Click(object sender, EventArgs e) { if (dataGridView.SelectedRows.Count == 0) { AntdUI.Message.warn(window, "请选择一行数据进行修改!", autoClose: 3); return; } int index = dataGridView.SelectedIndex; if (index < 0) { AntdUI.Message.warn(window, "请选择一行数据进行修改!", autoClose: 3); return; } string id = dataGridView.Rows[index].Cells["UserId"].Value.ToString(); AddUserForm form = new AddUserForm(); form.ParentPage = this; form.Id = id; FormHelper.ShowSubForm(form); } /// /// 删除用户按钮事件处理 /// /// /// private void btnDelete_Click(object sender, EventArgs e) { if (dataGridView.SelectedRows.Count == 0) { AntdUI.Message.warn(window, "请选择一行数据进行删除!", autoClose: 3); return; } int index = dataGridView.SelectedIndex; if (index < 0) { AntdUI.Message.warn(window, "请选择一行数据进行删除!", autoClose: 3); return; } string id = dataGridView.Rows[index].Cells["UserId"].Value.ToString(); var result = AntdUI.Modal.open(window, "删除警告!", "您是否确定要删除该用户?", TType.Warn); if (result == DialogResult.OK) { try { //多用户删除。 List userIdList = id.SplitToList(); //过滤系统管理员 if (userLogic.ContainsUser("admin", userIdList.ToArray())) { AntdUI.Message.warn(window, "系统管理员用户不能删除!", autoClose: 3); return; } if (userIdList.Contains(GlobalConfig.CurrentUser.Id)) { AntdUI.Message.warn(window, "不能删除自己!", autoClose: 3); return; } //多用户删除。 int row = userLogic.Delete(userIdList); userRoleRelationLogic.Delete(userIdList); userLogOnLogic.Delete(userIdList); if (row == 0) { AntdUI.Message.warn(window, "对不起,操作失败!", autoClose: 3); return; } //重新查询 btnQuery_Click(null, null); } catch { AntdUI.Message.warn(window, "网络或服务器异常,请稍后再试!", autoClose: 3); } } } /// /// 页码发生改变 /// /// /// /// /// private void pagination_PageChanged(object sender, object pagingSource, int pageIndex, int count) { btnQuery_Click(null, null); } private void uiSymbolButton1_Click(object sender, EventArgs e) { if (dataGridView.SelectedRows.Count == 0) { AntdUI.Message.warn(window, "请选择一行数据进行重置密码!", autoClose: 3); return; } int index = dataGridView.SelectedIndex; if (index < 0) { AntdUI.Message.warn(window, "请选择一行数据进行重置密码!", autoClose: 3); return; } string id = dataGridView.Rows[index].Cells["UserId"].Value.ToString(); string[] userIdList = new string[] { id }; if (userLogic.ContainsUser("admin", new string[] { id })) { AntdUI.Message.warn(window, "不能重置系统管理员密码!", autoClose: 3); return; } if (userIdList.Contains(GlobalConfig.CurrentUser.Id)) { AntdUI.Message.warn(window, "不能重置自己密码,请从账号管理中修改密码!", autoClose: 3); return; } //重置密码 SysUserLogOn sysUserLogOn = userLogOnLogic.GetByAccount(id); sysUserLogOn.Password = "123456".MD5Encrypt().DESEncrypt(sysUserLogOn.SecretKey).MD5Encrypt(); int row = userLogOnLogic.UpdatePassword(sysUserLogOn); if (row > 0) { AntdUI.Message.success(window, "该用户密码已重置为123456!", autoClose: 3); return; } else { AntdUI.Message.warn(window, "重置失败!", autoClose: 3); } } } }