liyaobang 9f7c6206ca 提交rbac
提交设置右键错位的bug
2025-04-08 15:15:02 +08:00

188 lines
5.8 KiB
C#

using DH.RBAC.Common;
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;
using DH.RBAC.Logic.Sys;
using DH.RBAC.Model.Sys;
using DH.RBAC.Utility.Other;
using AntdUI;
namespace DH.RBAC.Page.Sys.Organize
{
[PageCode("sys-organize")]
public partial class OrganizePage : MyPage
{
private SysOrganizeLogic organizeLogic;
Window window;
public OrganizePage(Window _window)
{
window= _window;
InitializeComponent();
organizeLogic = new SysOrganizeLogic();
dataGridView.AutoGenerateColumns = false;
Load += OrganizePage_Initialize;
btnQuery.Click += btnQuery_Click;
btnAdd.Click += btnAdd_Click;
btnDelete.Click += btnDelete_Click;
btnUpdate.Click += btnModify_Click;
}
/// <summary>
/// 界面初始化
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void OrganizePage_Initialize(object sender, EventArgs e)
{
btnQuery_Click(null, null);
}
/// <summary>
/// 查询按钮
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
public void btnQuery_Click(object sender, EventArgs e)
{
//调用服务器获得数据
int totalCount = 0;
List<SysOrganize> list = organizeLogic.GetList(pagination.ActivePage, pagination.PageSize, txtKeywords.Text, ref totalCount);
pagination.TotalCount = totalCount;
dataGridView.DataSource = list;
}
/// <summary>
/// 关键字Enter键处理
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void txtKeywords_KeyDown(object sender, KeyEventArgs e)
{
if (e.KeyCode == Keys.Enter)
btnQuery_Click(sender, null);
}
/// <summary>
/// 新增组织机构
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void btnAdd_Click(object sender, EventArgs e)
{
AddOrganizeForm form = new AddOrganizeForm();
form.ParentPage = this;
form.Id = string.Empty;
FormHelper.ShowSubForm(form);
}
/// <summary>
/// 修改组织机构
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
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["OrganizeId"].Value.ToString();
AddOrganizeForm form = new AddOrganizeForm();
form.ParentPage = this;
form.Id = id;
FormHelper.ShowSubForm(form);
}
/// <summary>
/// 删除组织机构
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
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["OrganizeId"].Value.ToString();
var result = AntdUI.Modal.open(window, "删除警告!", "您是否确定要删除该机构?", TType.Warn);
if (result == DialogResult.OK)
{
try
{
int row = 0;
int count = organizeLogic.GetChildCount(id);
if (count > 0)
{
AntdUI.Message.warn(window, $"操作失败,请先删除该项的{count}个子级机构。", autoClose: 3);
return;
}
row = organizeLogic.Delete(id);
if (row == 0)
{
AntdUI.Message.warn(window, "对不起,操作失败", autoClose: 3);
return;
}
//重新查询
btnQuery_Click(null, null);
}
catch
{
AntdUI.Message.warn(window, "网络或服务器异常,请稍后再试", autoClose: 3);
}
}
}
/// <summary>
/// 页码发生改变
/// </summary>
/// <param name="sender"></param>
/// <param name="pagingSource"></param>
/// <param name="pageIndex"></param>
/// <param name="count"></param>
private void pagination_PageChanged(object sender, object pagingSource, int pageIndex, int count)
{
btnQuery_Click(null, null);
}
}
}