using DevComponents.DotNetBar.Layout; using DevComponents.DotNetBar.SuperGrid; 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; using WCS_Client.UC; using WCS_Client.Utility; namespace WCS_Client.Frm { public partial class FrmUser : Form { public FrmUser() { InitializeComponent(); InitFrm(); } DataTable _dt; #region 分页查询 private void InitFrm() { List GCList = new List() { SuperGridUtil.Get_GridColumn("USER_NO", "登录名", 100), SuperGridUtil.Get_GridColumn("Use_Name", "用户名", 100), SuperGridUtil.Get_GridColumn("Use_RoleId", "用户角色id", 20,false), SuperGridUtil.Get_GridColumn("Use_RoleName", "用户角色", 100), SuperGridUtil.Get_GridColumn("Use_Sex", "性别", 20,false), SuperGridUtil.Get_GridColumn("Use_SexCh", "性别", 60), SuperGridUtil.Get_CheckBoxX_GridColumn("Use_IsStop", "是否停用", 80), SuperGridUtil.Get_GridColumn("Use_ContactText", "联系方式", 100), SuperGridUtil.Get_GridColumn("Use_Email", "邮箱", 100), SuperGridUtil.Get_GridColumn("Use_Address", "地址", 100), //SuperGridUtil.Get_GridColumn("Use_AddUserNo", "创建用户", 100), //SuperGridUtil.Get_GridColumn("Use_AddDateTime", "创建时间", 100), SuperGridUtil.Get_GridColumn("Use_EditUserNo", "编辑用户", 100), SuperGridUtil.Get_GridColumn("Use_EditDateTime", "编辑时间", 120), SuperGridUtil.Get_GridColumn("Use_LoginTime", "登录时间", 120), SuperGridUtil.Get_GridColumn("Use_Notes", "备注", 120), }; List LCIList = new List(); //LCIList.Add(LCItemUtil.Add_TextboxX("User_No", "登录名:", 49, SubmitMethods, null)); //LCIList[LCIList.Count - 1].Tag = new LCWhereInfo() { QWhereText = "User_No like '%{0}%'" }; //LCIList.Add(LCItemUtil.Add_TextboxX("Use_Name", "显示名:", 49, SubmitMethods, null)); //LCIList[LCIList.Count - 1].Tag = new LCWhereInfo() { QWhereText = "Use_Name like '%{0}%'" }; //LCIList.Add(LCItemUtil.Add_CheckBoxX("Use_IsStop", "是否停用", true, 100, SubmitMethods, null)); //LCIList[LCIList.Count - 1].WidthType = eLayoutSizeType.Absolute; //LCIList[LCIList.Count - 1].Tag = new LCWhereInfo() { QWhereText = "User_IsStop={0}" }; LCIList.Add(LCItemUtil.Add_ButtonX("btn_QDB", "刷新", 80, 30, SubmitMethods)); //LCIList.Add(LCItemUtil.Add_ButtonX("btn_QClear", "重置", 80, 30, SubmitMethods)); LCIList.Add(LCItemUtil.Add_ButtonX("btn_NewUser", "新建用户", 80, 30, SubmitMethods)); LCIList.Add(LCItemUtil.Add_ButtonX("btn_EditUser", "修改用户", 80, 30, SubmitMethods)); LCIList.Add(LCItemUtil.Add_ButtonX("btn_ModifyPwd", "修改密码", 80, 30, SubmitMethods)); LCIList.Add(LCItemUtil.Add_ButtonX("btn_DeleteUser", "删除用户", 80, 30, SubmitMethods)); this.UC_Qq.Init_QueryPage(30, true, true, "", GCList, LCIList, QueryPageDataMethods, null, GridDoubleClickMethods, null, ClikMethod, 1); CommonShow.ShowProcessing("正在处理中,请稍候...", this, (obj) => { UC_Qq.RefreshData(1, 0); }, null); } //获取数据集 private PageData QueryPageDataMethods(int PageIndex, int PageSize) { string _SQLText = "SELECT * FROM WCS_Users"; string _Orderby = " User_No asc"; PageData pd =BaseWorkflow.QueryPageData2(_SQLText, _Orderby, UC_Qq.GetQueryWhere(), PageIndex, PageSize); _dt = pd.Dt; return pd; } /// /// 按钮绑定事件 /// /// private void SubmitMethods(string LCName) { if (LCName == "btn_QClear") { this.UC_Qq.ShowOpaqueLayer(); this.UC_Qq.ClearLCItemValue(); this.UC_Qq.RefreshData(1, 0); this.UC_Qq.HideOpaqueLayer(); return; } else if (LCName == "btn_NewUser") { Init_frmLAddEdit(); frmLAddEdit.FrmNewShowDialog(); } else if (LCName == "btn_EditUser") { DataTable dt = this.UC_Qq.SCGrid_GetChkRows(); if (dt == null || dt.Rows.Count == 0) { UC.MessageUtil.ShowTips("请选择编辑项!!!"); return; } Init_frmLAddEdit(); frmLAddEdit.FrmEditShowDialog(dt.Rows[0]); } else if (LCName == "btn_DeleteUser") { DataTable dt = this.UC_Qq.SCGrid_GetChkRows(); if (dt == null || dt.Rows.Count == 0) { MessageUtil.ShowTips("请选择编辑项!!!"); return; } try { var result = MessageUtil.ShowYesNoAndWarning(string.Format("确定要删除用户[{0}]吗?", dt.Rows[0][WCS_UsersEnum.User_No.ToString()].ToString())); if (result == DialogResult.Yes) { string msg = BaseWorkflow.DeleteUser(dt.Rows[0][WCS_UsersEnum.User_No.ToString()].ToString()); if (string.IsNullOrWhiteSpace(msg) == false) throw new Exception(msg); else MessageUtil.ShowTips(LangConst.DeleteSuccess); } } catch (Exception ex) { MessageUtil.ShowError(ex.Message); } } else if (LCName == "btn_ModifyPwd") { DataTable dt = this.UC_Qq.SCGrid_GetChkRows(); if (dt == null || dt.Rows.Count == 0) { MessageUtil.ShowTips("请选择编辑项!!!"); return; } Init_frmLEditAdminPwd(); frmLEditAdminPwd.ShowDialog(); } this.UC_Qq.RefreshData(); } private void GridDoubleClickMethods(DataRow dr) { if (dr != null) { //Init_frmLAddEdit(); //frmLAddEdit.FrmViewShowDialog(dr); //frmLAddEdit = null; } } private void ClikMethod(DataRow dr) { } #endregion #region FrmLAddEdit FrmLAddEdit frmLAddEdit = null; private DataRow GetDrMethods(int StepQty) { return this.UC_Qq.SCGrid_GetSelectRow(StepQty); } private DataRow EditDataMethods(DataRow dr) { if (dr == null) { return null; } string sql = string.Format("select * from WCS_Users where User_No='{0}'", dr["USER_NO"].ToString()); DataTable dt = BaseWorkflow.CommonQueryUser(sql); if (dt == null || dt.Rows.Count == 0) { return null; } return dt.Rows[0]; } private bool SaveDataMethods(DataRow dr) { if (dr == null) { throw new Exception("保存数据为空!!!"); } if (CheckControl("", true)) { WCS_Users acluser = new WCS_Users(); acluser.USER_NO = dr["USER_NO"].ToString(); acluser.Use_Name = dr["Use_Name"].ToString(); acluser.Use_Sex = Convert.ToInt32(dr["Use_Sex"]); var dtsex = BaseWorkflow.CommonQuery(string.Format("SELECT * FROM WCS_Mappingentry where Mep_MappingType='Sex' and Mep_MappingNo={0}", acluser.Use_Sex)); acluser.Use_SexCh = dtsex.Rows[0]["Mep_MappingChName"].ToString(); acluser.Use_RoleId = Convert.ToInt32(dr["Use_RoleId"]); var user_role = BaseWorkflow.CommonQuery(string.Format("SELECT * FROM WCS_Mappingentry where Mep_MappingType='RoleId' and Mep_MappingNo={0}", acluser.Use_RoleId)); acluser.Use_RoleName = user_role.Rows[0]["Mep_MappingChName"].ToString(); acluser.Use_IsStop = Convert.ToBoolean(dr["Use_IsStop"]); acluser.Use_Email = dr["Use_Email"].ToString(); acluser.Use_Address = dr["Use_Address"].ToString(); acluser.Use_ContactText = dr["Use_ContactText"].ToString(); acluser.Use_AddUserNo = CurrentHelper.User.USER_NO; acluser.Use_AddDateTime = DateTime.Now; acluser.Use_EditUserNo = CurrentHelper.User.USER_NO; acluser.Use_EditDateTime = DateTime.Now; acluser.Use_Notes = dr["Use_Notes"].ToString(); //添加或修改用户 string result = BaseWorkflow.AddEditUser(acluser); if (string.IsNullOrWhiteSpace(result)) MessageUtil.ShowTips("添加或修改用户成功!!!"); else MessageUtil.ShowError(result); return true; } return false; } private void LCItemEditMethods(FrmLAddEdit frm) { frm.LCItemIsEnable(true); frm.LCItemIsEnable("User_No", false); } private void LCItemNewMethods(FrmLAddEdit frm) { frm.LCItemIsEnable(true); } private void CheckControl(string LCName) { CheckControl(LCName, false); } private bool CheckControl(string LCName, bool IsALL) { if (frmLAddEdit == null) { return false; } int ErrQty = 0; string TmpLCName = "User_No"; if (IsALL || LCName == TmpLCName) { object OValue = LCItemUtil.GetValue_LCItem(frmLAddEdit.GetLCItem(TmpLCName)); if (OValue == null || string.IsNullOrEmpty(OValue.ToString())) { frmLAddEdit.SetLCItemErr(TmpLCName, "登录名不能为空!!!"); ErrQty++; } else { frmLAddEdit.SetLCItemErr(TmpLCName, ""); } } TmpLCName = "Use_Name"; if (IsALL || LCName == "Use_Name") { object OValue = LCItemUtil.GetValue_LCItem(frmLAddEdit.GetLCItem(TmpLCName)); if (OValue == null || string.IsNullOrEmpty(OValue.ToString())) { frmLAddEdit.SetLCItemErr(TmpLCName, "用户名不能为空!!!"); ErrQty++; } else { frmLAddEdit.SetLCItemErr(TmpLCName, ""); } } TmpLCName = "Use_Sex"; if (IsALL || LCName == "Use_Sex") { object OValue = LCItemUtil.GetValue_LCItem(frmLAddEdit.GetLCItem(TmpLCName)); if (OValue == null || string.IsNullOrEmpty(OValue.ToString())) { frmLAddEdit.SetLCItemErr(TmpLCName, "性别不能为空!!!"); ErrQty++; } else { frmLAddEdit.SetLCItemErr(TmpLCName, ""); } } TmpLCName = "Use_RoleId"; if (IsALL || LCName == "Use_RoleId") { object OValue = LCItemUtil.GetValue_LCItem(frmLAddEdit.GetLCItem(TmpLCName)); if (OValue == null || string.IsNullOrEmpty(OValue.ToString())) { frmLAddEdit.SetLCItemErr(TmpLCName, "角色不能为空!!!"); ErrQty++; } else { frmLAddEdit.SetLCItemErr(TmpLCName, ""); } } return ErrQty == 0; } /// /// 添加用户 /// private void Init_frmLAddEdit() { frmLAddEdit = new FrmLAddEdit(); frmLAddEdit.Size = new Size(708, 291); frmLAddEdit.Text = string.Format("用户基本信息编辑,新建用户默认密码[123456]"); List LCIList = new List(); LCIList.Add(LCItemUtil.Add_TextboxX("User_No", "登录名(*):", 99, null, CheckControl)); LCIList.Add(LCItemUtil.Add_CheckBoxX("Use_IsStop", "是否停用", false, 80, null, null)); LCIList[LCIList.Count - 1].WidthType = eLayoutSizeType.Absolute; LCIList.Add(LCItemUtil.Add_TextboxX("Use_Name", "用户名(*):", 50, null, CheckControl)); LCIList.Add(LCItemUtil.Add_ComboBoxEx("Use_Sex", "性别", 50, null, CheckControl)); var dtsex = BaseWorkflow.CommonQuery(string.Format("SELECT * FROM WCS_Mappingentry where Mep_MappingType='Sex'")); LCItemUtil.Refresh_LCItem(LCIList[LCIList.Count - 1], dtsex, "MEP_MAPPINGNO", "MEP_MAPPINGCHNAME"); LCIList.Add(LCItemUtil.Add_ComboBoxEx("Use_RoleId", "用户角色:", 50, null, CheckControl)); var use_roles = BaseWorkflow.CommonQuery(string.Format("SELECT * FROM WCS_Mappingentry where Mep_MappingType='RoleId'")); LCItemUtil.Refresh_LCItem(LCIList[LCIList.Count - 1], use_roles, "MEP_MAPPINGNO", "MEP_MAPPINGCHNAME"); LCIList.Add(LCItemUtil.Add_TextboxX("Use_Email", "Email:", 50, null, null)); LCIList.Add(LCItemUtil.Add_TextboxX("Use_ContactText", "联系方式:", 50, null, null)); LCIList.Add(LCItemUtil.Add_TextboxX("Use_Address", "住址:", 100, null, null)); LCIList.Add(LCItemUtil.Add_TextboxX("Use_Notes", "备注:", 100, null, null)); frmLAddEdit.InitFrm(true, true, LCIList, GetDrMethods, LCItemNewMethods, LCItemEditMethods, EditDataMethods, SaveDataMethods); } #endregion #region frmLEditAdminPwd FrmLEdit frmLEditAdminPwd = null; private void Init_frmLEditAdminPwd() { frmLEditAdminPwd = new FrmLEdit(); frmLEditAdminPwd.Size = new Size(708, 125); if (this.UC_Qq.SCGrid_GetChkRowsQty() > 1) { frmLEditAdminPwd.Text = "系统管理员批量修改用户密码!!!"; } else { frmLEditAdminPwd.Text = "系统管理员修改用户密码!!!"; } List LCIList = new List(); LCIList.Add(LCItemUtil.Add_TextboxX("User_NewPwd", "新密码(*):", true, 100, null, CheckControl_AdminPwd)); LCIList.Add(LCItemUtil.Add_TextboxX("User_TwoNewPwd", "确认新密码(*):", true, 100, null, CheckControl_AdminPwd)); LCIList.Add(LCItemUtil.Add_SpacerItem("User_SpacerItem", 99, 30)); LCIList.Add(LCItemUtil.Add_ButtonX("btn_AdminPwd", "修改密码", 80, 30, SubmitMethods_AdminPwd)); LCIList.Add(LCItemUtil.Add_ButtonX("btn_AdminPwdClose", "取消", 80, 30, SubmitMethods_AdminPwd)); frmLEditAdminPwd.InitFrm(LCIList); } private void CheckControl_AdminPwd(string LCName) { CheckControl_AdminPwd(frmLEditAdminPwd, LCName, false); } private bool CheckControl_AdminPwd(FrmLEdit TmpfrmLEditAdminPwd, string LCName, bool IsALL) { if (TmpfrmLEditAdminPwd == null) { return false; } int ErrQty = 0; string TmpNewPwd = "User_NewPwd"; string TmpTwoNewPwd = "User_TwoNewPwd"; if (IsALL || LCName == TmpNewPwd || LCName == TmpTwoNewPwd) { object ONewPwdValue = LCItemUtil.GetValue_LCItem(TmpfrmLEditAdminPwd.GetLCItem(TmpNewPwd)); if (ONewPwdValue == null || string.IsNullOrEmpty(ONewPwdValue.ToString())) { TmpfrmLEditAdminPwd.SetLCItemErr(TmpNewPwd, "新密码不能为空!!!"); ErrQty++; } else { TmpfrmLEditAdminPwd.SetLCItemErr(TmpNewPwd, ""); } if (IsALL || LCName == TmpTwoNewPwd) { object OTwoNewPwdValue = LCItemUtil.GetValue_LCItem(TmpfrmLEditAdminPwd.GetLCItem(TmpTwoNewPwd)); if (OTwoNewPwdValue == null || string.IsNullOrEmpty(OTwoNewPwdValue.ToString())) { TmpfrmLEditAdminPwd.SetLCItemErr(TmpTwoNewPwd, "确认新密码不能为空!!!"); ErrQty++; } else { if (ONewPwdValue != null && ONewPwdValue.ToString() == OTwoNewPwdValue.ToString()) { TmpfrmLEditAdminPwd.SetLCItemErr(TmpTwoNewPwd, ""); } else { TmpfrmLEditAdminPwd.SetLCItemErr(TmpTwoNewPwd, "两次密码不一致!!!"); ErrQty++; } } } } return ErrQty == 0; } private void SubmitMethods_AdminPwd(string LCName) { if (LCName == "btn_AdminPwd") { if (!CheckControl_AdminPwd(frmLEditAdminPwd, "", true)) { return; } try { object OTwoNewPwdValue = LCItemUtil.GetValue_LCItem(frmLEditAdminPwd.GetLCItem("User_TwoNewPwd")); DataTable table = this.UC_Qq.SCGrid_GetChkRows(); string user_no = table.Rows[0][WCS_UsersEnum.User_No.ToString()].ToString(); string result = BaseWorkflow.AdminModifyPwd(user_no, OTwoNewPwdValue.ToString()); if (string.IsNullOrWhiteSpace(result)) MessageUtil.ShowTips(string.Format("用户{0}修改密码成功。", user_no)); else MessageUtil.ShowError(result); } catch (Exception ex) { MessageUtil.ShowError(ex.Message); } } if (frmLEditAdminPwd != null) { frmLEditAdminPwd.Close(); frmLEditAdminPwd.Dispose(); frmLEditAdminPwd = null; } } #endregion } }