You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
390 lines
13 KiB
390 lines
13 KiB
using System;
|
|
using System.Collections.Generic;
|
|
using System.ComponentModel;
|
|
using System.Data;
|
|
using System.Drawing;
|
|
using System.Text;
|
|
using System.Windows.Forms;
|
|
using DBFactory;
|
|
namespace wcfControlMonitorClient
|
|
{
|
|
/// <summary>
|
|
/// Creator:Richard.liu
|
|
/// 用户和权限管理
|
|
/// </summary>
|
|
public partial class FrmUsers : Form
|
|
{
|
|
bool _ifupdate=false ;
|
|
DBOperator dbo= CStaticClass.dbo;
|
|
|
|
string CommomSql = "select f_userid as 用户ID,f_username as 用户名称,f_purview as 权限 from t_base_users";
|
|
private static FrmUsers _formInstance;
|
|
public static FrmUsers FormInstance
|
|
{
|
|
get
|
|
{
|
|
if (_formInstance == null)
|
|
{
|
|
_formInstance = new FrmUsers();
|
|
}
|
|
return _formInstance;
|
|
}
|
|
set { _formInstance = value; }
|
|
}
|
|
public FrmUsers()
|
|
{
|
|
InitializeComponent();
|
|
|
|
foreach (ToolStripMenuItem tsmi in CStaticClass.client.menuStrip1.Items)
|
|
{
|
|
if (tsmi.Name == "MMmasterAdmin") continue;
|
|
this.treeView1.Nodes.Add(tsmi.Name, tsmi.Text);
|
|
|
|
|
|
foreach (ToolStripItem tsi in tsmi.DropDown.Items)
|
|
{
|
|
if (tsi.Name.IndexOf("MI") >= 0)
|
|
{
|
|
this.treeView1.Nodes[tsmi.Name].Nodes.Add(tsi.Name, tsi.Text);
|
|
//this.checkedListBox1.Items.Add(" "+tsi.Name + ":" + tsi.Text);
|
|
}
|
|
}
|
|
}
|
|
|
|
_formInstance = this;
|
|
}
|
|
|
|
|
|
|
|
|
|
private void button2_Click(object sender, EventArgs e)
|
|
{
|
|
DataView dv = dbo.ExceSQL(CommomSql).Tables[0].DefaultView;
|
|
this.dataGridView1.DataSource = dv;
|
|
}
|
|
|
|
private void btQuery_Click(object sender, EventArgs e)
|
|
{
|
|
try
|
|
{
|
|
string df, sql;
|
|
if ((this.tbContent.Text.Trim() == "") || (this.cbField.Text.Trim() == "")) return;
|
|
if (this.cbField.Text == "用户ID")
|
|
{
|
|
df = "F_UserID";
|
|
}
|
|
else if (this.cbField.Text == "姓名")
|
|
{
|
|
df = "f_username";
|
|
}
|
|
else//
|
|
{
|
|
return ;
|
|
}
|
|
sql = CommomSql + " where " + df + "= '" + this.tbContent.Text + "'";
|
|
DataSet ds = dbo.ExceSQL(sql);
|
|
this.dataGridView1.DataSource = ds.Tables[0].DefaultView;
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
throw ex;
|
|
}
|
|
}
|
|
|
|
private void btNull_Click(object sender, EventArgs e)
|
|
{
|
|
for (int i = 0; i < this.treeView1.Nodes.Count; i++)
|
|
{
|
|
this.treeView1.Nodes[i].Checked=false ;
|
|
for (int ii = 0; ii < this.treeView1.Nodes[i].Nodes.Count; ii++)
|
|
{
|
|
this.treeView1.Nodes[i].Nodes[ii].Checked = false;
|
|
|
|
}
|
|
}
|
|
|
|
}
|
|
|
|
private void btSave_Click(object sender, EventArgs e)
|
|
{
|
|
string ts = string.Empty;
|
|
if (this.checkBox1.Checked == true)
|
|
{
|
|
ts = "增加";
|
|
}
|
|
else
|
|
{
|
|
ts = "修改";
|
|
}
|
|
if (MessageBox.Show("您确认要"+ts+"用户信息吗?", "操作提示:", MessageBoxButtons.OKCancel, MessageBoxIcon.Question) != DialogResult.OK)
|
|
{
|
|
return;
|
|
}
|
|
|
|
|
|
if (this.tbUserID.Text.Trim().Length == 0)
|
|
{
|
|
MessageBox.Show("用户ID不允许输入空值!", "误操作提示:", MessageBoxButtons.OK, MessageBoxIcon.Warning);
|
|
this.tbUserID.Focus();
|
|
return;
|
|
}
|
|
if (this.tbUserName.Text.Trim()=="")
|
|
{
|
|
MessageBox.Show("用户姓名不允许输入空值!", "误操作提示:", MessageBoxButtons.OK, MessageBoxIcon.Warning);
|
|
this.tbUserName.Focus();
|
|
return;
|
|
}
|
|
if (this.tbPassword.Text.Trim().Length == 0)
|
|
{
|
|
MessageBox.Show("用户密码不允许输入空值!", "误操作提示:", MessageBoxButtons.OK, MessageBoxIcon.Warning);
|
|
this.tbPassword.Focus();
|
|
return;
|
|
}
|
|
|
|
|
|
string pur=string.Empty ;
|
|
for (int i = 0; i < this.treeView1.Nodes.Count;i++ )
|
|
{
|
|
int scount = 0;
|
|
for (int ii = 0; ii < this.treeView1.Nodes[i].Nodes.Count; ii++)
|
|
{
|
|
if (this.treeView1.Nodes[i].Nodes[ii].Checked == true)
|
|
{
|
|
pur += ";" + treeView1.Nodes[i].Nodes[ii].Name;
|
|
this.treeView1.Nodes[i].Checked = true;
|
|
}
|
|
else
|
|
{
|
|
scount++;
|
|
}
|
|
}
|
|
if ((this.treeView1.Nodes[i].Nodes.Count != scount) || ((scount == 0) && (this.treeView1.Nodes[i].Nodes.Count==0)))
|
|
{
|
|
if (this.treeView1.Nodes[i].Checked == true)
|
|
{
|
|
pur += ";" + treeView1.Nodes[i].Name;
|
|
}
|
|
}
|
|
}
|
|
pur = pur.Substring(1);
|
|
string sql = "";
|
|
|
|
try
|
|
{
|
|
if (_ifupdate == true)
|
|
{
|
|
sql = "UPDATE t_base_users SET f_username = '" + this.tbUserName.Text.Trim() + "',f_purview='" + pur + "',f_password='" + tbPassword.Text.Trim() + "' where f_userid= '" + this.tbUserID.Text + "'";
|
|
dbo.ExceSQL(sql);
|
|
MessageBox.Show("用户信息修改成功!", "操作提示:", MessageBoxButtons.OK, MessageBoxIcon.Information);
|
|
|
|
}
|
|
else
|
|
{
|
|
DataView dc = dbo.ExceSQL("select f_userid from t_base_users where f_userid= '" + this.tbUserID.Text + "'").Tables[0].DefaultView;
|
|
if (dc.Count > 0)
|
|
{
|
|
MessageBox.Show("用户信息已经存在!", "操作提示:", MessageBoxButtons.OK, MessageBoxIcon.Error);
|
|
return;
|
|
}
|
|
sql = "insert into t_base_users(f_userid,f_username,f_purview,f_password) values('" + this.tbUserID.Text.Trim() + "','" + this.tbUserName.Text.Trim() + "','" + pur + "','" + tbPassword.Text.Trim() + "')";
|
|
dbo.ExceSQL(sql);
|
|
MessageBox.Show("用户信息增加成功!", "操作提示:", MessageBoxButtons.OK, MessageBoxIcon.Information);
|
|
|
|
}
|
|
sql = CommomSql + " where f_userid= '" + this.tbUserID.Text + "'";
|
|
DataSet ds = dbo.ExceSQL(sql);
|
|
this.dataGridView1.DataSource = ds.Tables[0].DefaultView;
|
|
_ifupdate = false;
|
|
// CommonClassLib.CCarryConvert.WriteDarkCasket("Login", "UserID:" + CStaticClass.UserID + "的操作日志", "点击【保存】按钮", "系统用户管理", "UserID:" + tbUserID.Text );
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
throw ex;
|
|
}
|
|
}
|
|
|
|
private void tsmEdit_Click(object sender, EventArgs e)
|
|
{
|
|
if (dataGridView1.RowCount <= 0)
|
|
{
|
|
return;
|
|
}
|
|
|
|
this.tabControl1.SelectTab("tabPage1");
|
|
|
|
this.tbUserID.Text = this.dataGridView1.CurrentRow.Cells[0].Value.ToString() + "";
|
|
DataView dv = dbo.ExceSQL("select f_username as UserName,f_purview as Purview,f_password as password from t_base_users where f_userid='" + this.tbUserID.Text + "'").Tables[0].DefaultView;
|
|
if (dv.Count > 0)
|
|
{
|
|
this.tbUserName.Text = dv[0]["UserName"].ToString() + "";
|
|
this.tbPassword.Text = dv[0]["password"].ToString() + "";
|
|
char[] cc = new char[1] { ':' };
|
|
|
|
for (int i = 0; i < this.treeView1.Nodes.Count; i++)
|
|
{
|
|
|
|
if (dv[0]["Purview"].ToString().IndexOf(this.treeView1.Nodes[i].Name) >= 0)
|
|
{
|
|
|
|
this.treeView1.Nodes[i].Checked = true;
|
|
}
|
|
else
|
|
{
|
|
this.treeView1.Nodes[i].Checked = false;
|
|
}
|
|
for (int ii = 0; ii < this.treeView1.Nodes[i].Nodes.Count; ii++)
|
|
{
|
|
|
|
if (dv[0]["Purview"].ToString().IndexOf(this.treeView1.Nodes[i].Nodes[ii].Name) >= 0)
|
|
{
|
|
|
|
this.treeView1.Nodes[i].Nodes[ii].Checked = true;
|
|
}
|
|
else
|
|
{
|
|
this.treeView1.Nodes[i].Nodes[ii].Checked = false;
|
|
}
|
|
|
|
}
|
|
}
|
|
_ifupdate =true ;
|
|
this.checkBox1.Checked = false;
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
private void ToolStripMenuItem_Click(object sender, EventArgs e)
|
|
{
|
|
if (MessageBox.Show("您确认要删除用户信息吗?", "操作提示:", MessageBoxButtons.OKCancel, MessageBoxIcon.Question) != DialogResult.OK)
|
|
{
|
|
return;
|
|
}
|
|
dbo.ExceSQL("delete from t_base_users where f_userid='" + this.dataGridView1.CurrentRow.Cells[0].Value.ToString() + "'");
|
|
button2_Click(sender, e);
|
|
//CommonClassLib.CCarryConvert.WriteDarkCasket("Login", "UserID:" + CStaticClass.UserID + "的操作日志", "点击【删除】菜单", "系统用户管理的右键菜单", "UserID:" + tbUserID.Text);
|
|
}
|
|
|
|
private void FrmUsers_Load(object sender, EventArgs e)
|
|
{
|
|
|
|
|
|
}
|
|
|
|
private void btAll_Click(object sender, EventArgs e)
|
|
{
|
|
for (int i = 0; i < this.treeView1.Nodes.Count; i++)
|
|
{
|
|
this.treeView1.Nodes[i].Checked = true;
|
|
for (int ii = 0; ii < this.treeView1.Nodes[i].Nodes.Count; ii++)
|
|
{
|
|
this.treeView1.Nodes[i].Nodes[ii].Checked = true;
|
|
|
|
}
|
|
}
|
|
}
|
|
|
|
private void checkBox1_CheckedChanged(object sender, EventArgs e)
|
|
{
|
|
if (this.checkBox1.Checked == true)
|
|
{
|
|
_ifupdate = false;
|
|
}
|
|
else
|
|
{
|
|
_ifupdate = true;
|
|
}
|
|
}
|
|
|
|
private void cbField_SelectedIndexChanged(object sender, EventArgs e)
|
|
{
|
|
try
|
|
{
|
|
string df, sql;
|
|
if (this.cbField.Text == "用户ID")
|
|
{
|
|
df = "F_UserID";
|
|
}
|
|
else if (this.cbField.Text == "姓名")
|
|
{
|
|
df = "f_username";
|
|
}
|
|
else//
|
|
{
|
|
return;
|
|
}
|
|
sql = " select distinct " + df + " from t_base_users";
|
|
DataView dv = dbo.ExceSQL(sql).Tables[0].DefaultView;
|
|
tbContent.DataSource = null;
|
|
tbContent.DisplayMember = df;
|
|
tbContent.ValueMember = df;
|
|
tbContent.DataSource = dv;
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
throw ex;
|
|
}
|
|
}
|
|
|
|
private void dataGridView1_CellMouseDown(object sender, DataGridViewCellMouseEventArgs e)
|
|
{
|
|
if ((e.RowIndex >= 0) && (e.Button == MouseButtons.Right))
|
|
{
|
|
dataGridView1.ClearSelection();
|
|
dataGridView1.Rows[e.RowIndex].Selected = true;
|
|
dataGridView1.CurrentCell = dataGridView1.Rows[e.RowIndex].Cells[e.ColumnIndex];
|
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
//private void treeView1_AfterCheck(object sender, TreeViewEventArgs e)
|
|
//{
|
|
// try
|
|
// {
|
|
// if (e.Node.Parent == null)
|
|
// {
|
|
// TreeNode tnc = e.Node;
|
|
// if (tnc.Checked == false)
|
|
// {
|
|
// for (int i = 0; i < tnc.Nodes.Count; i++)
|
|
// {
|
|
// tnc.Nodes[i].Checked = false;
|
|
// }
|
|
// }
|
|
// return;
|
|
// }
|
|
// TreeNode tn = e.Node.Parent;
|
|
// if (tn.Nodes.Count > 0)
|
|
// {
|
|
// int icount = 0;
|
|
// for (int i = 0; i < tn.Nodes.Count; i++)
|
|
// {
|
|
// if (tn.Nodes[i].Checked == true)
|
|
// {
|
|
// tn.Checked = true;
|
|
// }
|
|
// else
|
|
// {
|
|
// icount++;
|
|
// }
|
|
// }
|
|
// //if (tn.Nodes.Count == icount)
|
|
// //{
|
|
// // tn.Checked = false;
|
|
// //}
|
|
// }
|
|
// }
|
|
// catch (Exception ex)
|
|
// {
|
|
// throw ex;
|
|
// }
|
|
//}
|
|
|
|
|
|
|
|
|
|
}
|
|
}
|