基线 SVN r240
SVN-Revision: r240
This commit is contained in:
@@ -0,0 +1,283 @@
|
||||
using DevExpress.XtraGrid.Views.Grid;
|
||||
using Lskj.Business.Impl;
|
||||
using Lskj.Control;
|
||||
using Lskj.Control.Model;
|
||||
using Lskj.Core;
|
||||
using Lskj.Model;
|
||||
using Lskj.Util;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.ComponentModel;
|
||||
using System.Data;
|
||||
using System.Drawing;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Windows.Forms;
|
||||
|
||||
namespace Lskj.PubUserTomodule
|
||||
{
|
||||
public partial class FrmRightMenus : BaseForm
|
||||
{
|
||||
|
||||
/// <summary>
|
||||
/// 角色表
|
||||
/// </summary>
|
||||
/// <value>The parent value.</value>
|
||||
public DataTable RoleTable
|
||||
{
|
||||
get { return this.RoleControlEx.gridControl.DataSource as DataTable; }
|
||||
set { this.RoleControlEx.gridControl.DataSource = value; }
|
||||
}
|
||||
/// <summary>
|
||||
///人员表
|
||||
/// </summary>
|
||||
/// <value>The parent value.</value>
|
||||
public DataTable PersonnelTable
|
||||
{
|
||||
get { return this.PeopleControlEx.gridControl.DataSource as DataTable; }
|
||||
set { this.PeopleControlEx.gridControl.DataSource = value; }
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 主表sql后缀条件(不同地方的右键条件不一样)
|
||||
/// </summary>
|
||||
public ModuleType Type;
|
||||
/// <summary>
|
||||
///
|
||||
/// </summary>
|
||||
public string ModuleCode;
|
||||
|
||||
|
||||
public FrmRightMenus(ModuleType type,string moduleCode)
|
||||
{
|
||||
InitializeComponent();
|
||||
this.Type = type;
|
||||
this.ModuleCode = moduleCode;
|
||||
//绑定列数据
|
||||
InitializeColumns();
|
||||
//绑定事件
|
||||
InitializeEvent();
|
||||
//加载主表数据源
|
||||
InitializeDataSource();
|
||||
InitSpliterPosition();
|
||||
this.splitMain.SplitterPositionChanged += SplitMain_SplitterPositionChanged;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 主表数据源
|
||||
/// </summary>
|
||||
private void InitializeDataSource()
|
||||
{
|
||||
|
||||
this.RightMenusControlEx.gridControl.DataSource = PowerImpl.GetRightMenus(ModuleCode, Type);
|
||||
this.RightMenusControlEx.GridView.BestFitColumns();//设置根据内容填充列宽
|
||||
this.RightGridView_Click(RightMenusControlEx.GridView, null);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// <para>说明:初始化分割条位置</para>
|
||||
/// <para>创建人:龚宇超</para>
|
||||
/// <para>创建日期:2017-12-15</para>
|
||||
/// <para>修改人:</para>
|
||||
/// <para>修改日期:</para>
|
||||
/// <para>修改备注:</para>
|
||||
/// <para>版本:1.0</para>
|
||||
/// </summary>
|
||||
private void InitSpliterPosition()
|
||||
{
|
||||
string spliterPosition = IniHelper.Read(string.Format("FrmPermissionClassification__splitMain{0}", "FrmRightMenus"));
|
||||
|
||||
if (!string.IsNullOrEmpty(spliterPosition)) this.splitMain.SplitterPosition = Convert.ToInt32(spliterPosition);
|
||||
|
||||
}
|
||||
/// <summary>
|
||||
/// 分割条改变时
|
||||
/// </summary>
|
||||
/// <param name="sender"></param>
|
||||
/// <param name="e"></param>
|
||||
private void SplitMain_SplitterPositionChanged(object sender, EventArgs e)
|
||||
{
|
||||
IniHelper.Write(string.Format("FrmPermissionClassification__splitMain{0}", "FrmRightMenus"), this.splitMain.SplitterPosition + "");
|
||||
}
|
||||
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// 默认绑定列数据
|
||||
/// </summary>
|
||||
private void InitializeColumns()
|
||||
{
|
||||
//添加表格列
|
||||
this.RightMenusControlEx.GridView.Columns.AddVisible("menuname","菜单名称");
|
||||
this.RightMenusControlEx.GridView.Columns.AddVisible("privilegeOper","权限" );
|
||||
this.PeopleControlEx.GridView.Columns.AddVisible("员工ID", "员工ID");
|
||||
this.PeopleControlEx.GridView.Columns.AddVisible("员工工号", "员工工号");
|
||||
this.PeopleControlEx.GridView.Columns.AddVisible("员工姓名", "员工姓名");
|
||||
this.PeopleControlEx.GridView.Columns.AddVisible("所属部门", "所属部门");
|
||||
this.RoleControlEx.GridView.Columns.AddVisible("roleName", "角色");
|
||||
|
||||
this.PeopleControlEx.GridView.OptionsBehavior.Editable = false;
|
||||
this.RoleControlEx.GridView.OptionsBehavior.Editable = false;
|
||||
this.RightMenusControlEx.GridView.OptionsBehavior.Editable = false;
|
||||
}
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// 默认绑定事件
|
||||
/// </summary>
|
||||
private void InitializeEvent()
|
||||
{
|
||||
//角色,人员拖拽到人员文本框
|
||||
//角色
|
||||
GridDragMemo dragMemo = new GridDragMemo(this.RoleControlEx.GridView, this.textPersonnelList);
|
||||
dragMemo.OnDragComplete += DragMemo_OnDragComplete;
|
||||
//人员
|
||||
GridDragMemo dragMemo2 = new GridDragMemo(this.PeopleControlEx.GridView, this.textPersonnelList);
|
||||
dragMemo2.OnDragComplete += DragMemo_OnDragComplete;
|
||||
//主表单击加载下方文本框
|
||||
this.RightMenusControlEx.GridView.Click += RightGridView_Click;
|
||||
//文本框改变时刷新表中数据
|
||||
this.textPersonnelList.TextChanged += TextPersonnelList_TextChanged;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 角色或人员拖拽到文本
|
||||
/// </summary>
|
||||
/// <param name="sender"></param>
|
||||
/// <param name="e"></param>
|
||||
private void DragMemo_OnDragComplete(object sender, GridDragMemoArgs e)
|
||||
{
|
||||
try
|
||||
{
|
||||
if (e.GridViewSelectRows == null || e.GridViewSelectRows.Length == 0) return;
|
||||
string userNames = string.Empty;
|
||||
List<string> texts = textPersonnelList.Text.Split(',').ToList();
|
||||
|
||||
int index = this.xtraTabControl2.SelectedTabPageIndex;//0为角色,1为人员
|
||||
|
||||
if (index == 1)
|
||||
{
|
||||
//人员
|
||||
foreach (DataRow item in e.GridViewSelectRows)
|
||||
{
|
||||
if (!texts.Contains(item["员工姓名"] + ""))
|
||||
{
|
||||
userNames += item["员工姓名"] + ",";
|
||||
texts.Add(item["员工姓名"] + "");
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
//角色
|
||||
foreach (DataRow item in e.GridViewSelectRows)
|
||||
{
|
||||
string id = item["id"] + "";
|
||||
DataTable Roledetailed = PowerImpl.GetWorkUsers(id);
|
||||
if (Roledetailed != null && Roledetailed.Rows.Count > 0)
|
||||
{
|
||||
foreach (DataRow dr in Roledetailed.Rows)
|
||||
{
|
||||
if (!texts.Contains(dr["员工姓名"] + ""))
|
||||
{
|
||||
userNames += dr["员工姓名"] + ",";
|
||||
texts.Add(dr["员工姓名"] + "");
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
textPersonnelList.Text += userNames;
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// 选中权限分类中的行,在下方文本框中显示选中行人员
|
||||
/// </summary>
|
||||
/// <param name="sender"></param>
|
||||
/// <param name="e"></param>
|
||||
private void RightGridView_Click(object sender, EventArgs e)
|
||||
{
|
||||
GridView gridView = sender as GridView;
|
||||
DataRow rowItem = gridView.GetFocusedDataRow();
|
||||
if (rowItem != null)
|
||||
{
|
||||
textPersonnelList.Text = rowItem["privilegeOper"] + "";
|
||||
}
|
||||
else
|
||||
{
|
||||
textPersonnelList.Text = "";
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 文本框的值改变时,改变选中行的值
|
||||
/// </summary>
|
||||
/// <param name="sender"></param>
|
||||
/// <param name="e"></param>
|
||||
private void TextPersonnelList_TextChanged(object sender, EventArgs e)
|
||||
{
|
||||
try
|
||||
{
|
||||
DataRow rowItem = this.RightMenusControlEx.GridView.GetFocusedDataRow();
|
||||
if (rowItem != null)
|
||||
{
|
||||
rowItem["privilegeOper"] = textPersonnelList.Text;
|
||||
}
|
||||
else
|
||||
{
|
||||
textPersonnelList.Text = "";
|
||||
}
|
||||
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 保存
|
||||
/// </summary>
|
||||
/// <param name="sender"></param>
|
||||
/// <param name="e"></param>
|
||||
private void btnOk_Click(object sender, EventArgs e)
|
||||
{
|
||||
try
|
||||
{
|
||||
DataTable dataTable = (this.RightMenusControlEx.gridControl.DataSource as DataTable).TrimDeleteRows();
|
||||
int successCount = 0;
|
||||
int faultCount = 0;
|
||||
foreach (DataRow item in dataTable.Rows)
|
||||
{
|
||||
if (item.RowState == DataRowState.Modified)
|
||||
{
|
||||
string sql = string.Format("update P_systempopupmenu set privilegeOper='{0}' where id='{1}'", item["privilegeOper"]+"", item["id"] + "");
|
||||
int result = SqlHelper.ExecuteNonQuery(sql);
|
||||
if (result > 0)
|
||||
{
|
||||
successCount++;
|
||||
}
|
||||
else {
|
||||
faultCount++;
|
||||
MessageUtil.Show(item["menuname"] +"设置权限失败");
|
||||
}
|
||||
}
|
||||
}
|
||||
MessageUtil.Show("保存完成");
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user