FrmUser.cs 19 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437
  1. using DevComponents.DotNetBar.Layout;
  2. using DevComponents.DotNetBar.SuperGrid;
  3. using System;
  4. using System.Collections.Generic;
  5. using System.ComponentModel;
  6. using System.Data;
  7. using System.Drawing;
  8. using System.Linq;
  9. using System.Text;
  10. using System.Windows.Forms;
  11. using WCS_Client.UC;
  12. using WCS_Client.Utility;
  13. namespace WCS_Client.Frm
  14. {
  15. public partial class FrmUser : Form
  16. {
  17. public FrmUser()
  18. {
  19. InitializeComponent();
  20. InitFrm();
  21. }
  22. DataTable _dt;
  23. #region 分页查询
  24. private void InitFrm()
  25. {
  26. List<GridColumn> GCList = new List<GridColumn>()
  27. {
  28. SuperGridUtil.Get_GridColumn("USER_NO", "登录名", 100),
  29. SuperGridUtil.Get_GridColumn("Use_Name", "用户名", 100),
  30. SuperGridUtil.Get_GridColumn("Use_RoleId", "用户角色id", 20,false),
  31. SuperGridUtil.Get_GridColumn("Use_RoleName", "用户角色", 100),
  32. SuperGridUtil.Get_GridColumn("Use_Sex", "性别", 20,false),
  33. SuperGridUtil.Get_GridColumn("Use_SexCh", "性别", 60),
  34. SuperGridUtil.Get_CheckBoxX_GridColumn("Use_IsStop", "是否停用", 80),
  35. SuperGridUtil.Get_GridColumn("Use_ContactText", "联系方式", 100),
  36. SuperGridUtil.Get_GridColumn("Use_Email", "邮箱", 100),
  37. SuperGridUtil.Get_GridColumn("Use_Address", "地址", 100),
  38. //SuperGridUtil.Get_GridColumn("Use_AddUserNo", "创建用户", 100),
  39. //SuperGridUtil.Get_GridColumn("Use_AddDateTime", "创建时间", 100),
  40. SuperGridUtil.Get_GridColumn("Use_EditUserNo", "编辑用户", 100),
  41. SuperGridUtil.Get_GridColumn("Use_EditDateTime", "编辑时间", 120),
  42. SuperGridUtil.Get_GridColumn("Use_LoginTime", "登录时间", 120),
  43. SuperGridUtil.Get_GridColumn("Use_Notes", "备注", 120),
  44. };
  45. List<LayoutControlItem> LCIList = new List<LayoutControlItem>();
  46. //LCIList.Add(LCItemUtil.Add_TextboxX("User_No", "登录名:", 49, SubmitMethods, null));
  47. //LCIList[LCIList.Count - 1].Tag = new LCWhereInfo() { QWhereText = "User_No like '%{0}%'" };
  48. //LCIList.Add(LCItemUtil.Add_TextboxX("Use_Name", "显示名:", 49, SubmitMethods, null));
  49. //LCIList[LCIList.Count - 1].Tag = new LCWhereInfo() { QWhereText = "Use_Name like '%{0}%'" };
  50. //LCIList.Add(LCItemUtil.Add_CheckBoxX("Use_IsStop", "是否停用", true, 100, SubmitMethods, null));
  51. //LCIList[LCIList.Count - 1].WidthType = eLayoutSizeType.Absolute;
  52. //LCIList[LCIList.Count - 1].Tag = new LCWhereInfo() { QWhereText = "User_IsStop={0}" };
  53. LCIList.Add(LCItemUtil.Add_ButtonX("btn_QDB", "刷新", 80, 30, SubmitMethods));
  54. //LCIList.Add(LCItemUtil.Add_ButtonX("btn_QClear", "重置", 80, 30, SubmitMethods));
  55. LCIList.Add(LCItemUtil.Add_ButtonX("btn_NewUser", "新建用户", 80, 30, SubmitMethods));
  56. LCIList.Add(LCItemUtil.Add_ButtonX("btn_EditUser", "修改用户", 80, 30, SubmitMethods));
  57. LCIList.Add(LCItemUtil.Add_ButtonX("btn_ModifyPwd", "修改密码", 80, 30, SubmitMethods));
  58. LCIList.Add(LCItemUtil.Add_ButtonX("btn_DeleteUser", "删除用户", 80, 30, SubmitMethods));
  59. this.UC_Qq.Init_QueryPage(30, true, true, "", GCList, LCIList, QueryPageDataMethods, null, GridDoubleClickMethods, null, ClikMethod, 1);
  60. CommonShow.ShowProcessing("正在处理中,请稍候...", this, (obj) =>
  61. {
  62. UC_Qq.RefreshData(1, 0);
  63. }, null);
  64. }
  65. //获取数据集
  66. private PageData QueryPageDataMethods(int PageIndex, int PageSize)
  67. {
  68. string _SQLText = "SELECT * FROM WCS_Users";
  69. string _Orderby = " User_No asc";
  70. PageData pd =BaseWorkflow.QueryPageData2(_SQLText, _Orderby, UC_Qq.GetQueryWhere(), PageIndex, PageSize);
  71. _dt = pd.Dt;
  72. return pd;
  73. }
  74. /// <summary>
  75. /// 按钮绑定事件
  76. /// </summary>
  77. /// <param name="LCName"></param>
  78. private void SubmitMethods(string LCName)
  79. {
  80. if (LCName == "btn_QClear")
  81. {
  82. this.UC_Qq.ShowOpaqueLayer();
  83. this.UC_Qq.ClearLCItemValue();
  84. this.UC_Qq.RefreshData(1, 0);
  85. this.UC_Qq.HideOpaqueLayer();
  86. return;
  87. }
  88. else if (LCName == "btn_NewUser")
  89. {
  90. Init_frmLAddEdit();
  91. frmLAddEdit.FrmNewShowDialog();
  92. }
  93. else if (LCName == "btn_EditUser")
  94. {
  95. DataTable dt = this.UC_Qq.SCGrid_GetChkRows();
  96. if (dt == null || dt.Rows.Count == 0)
  97. {
  98. UC.MessageUtil.ShowTips("请选择编辑项!!!");
  99. return;
  100. }
  101. Init_frmLAddEdit();
  102. frmLAddEdit.FrmEditShowDialog(dt.Rows[0]);
  103. }
  104. else if (LCName == "btn_DeleteUser")
  105. {
  106. DataTable dt = this.UC_Qq.SCGrid_GetChkRows();
  107. if (dt == null || dt.Rows.Count == 0)
  108. {
  109. MessageUtil.ShowTips("请选择编辑项!!!");
  110. return;
  111. }
  112. try
  113. {
  114. var result = MessageUtil.ShowYesNoAndWarning(string.Format("确定要删除用户[{0}]吗?", dt.Rows[0][WCS_UsersEnum.User_No.ToString()].ToString()));
  115. if (result == DialogResult.Yes)
  116. {
  117. string msg = BaseWorkflow.DeleteUser(dt.Rows[0][WCS_UsersEnum.User_No.ToString()].ToString());
  118. if (string.IsNullOrWhiteSpace(msg) == false)
  119. throw new Exception(msg);
  120. else
  121. MessageUtil.ShowTips(LangConst.DeleteSuccess);
  122. }
  123. }
  124. catch (Exception ex)
  125. {
  126. MessageUtil.ShowError(ex.Message);
  127. }
  128. }
  129. else if (LCName == "btn_ModifyPwd")
  130. {
  131. DataTable dt = this.UC_Qq.SCGrid_GetChkRows();
  132. if (dt == null || dt.Rows.Count == 0)
  133. {
  134. MessageUtil.ShowTips("请选择编辑项!!!");
  135. return;
  136. }
  137. Init_frmLEditAdminPwd();
  138. frmLEditAdminPwd.ShowDialog();
  139. }
  140. this.UC_Qq.RefreshData();
  141. }
  142. private void GridDoubleClickMethods(DataRow dr)
  143. {
  144. if (dr != null)
  145. {
  146. //Init_frmLAddEdit();
  147. //frmLAddEdit.FrmViewShowDialog(dr);
  148. //frmLAddEdit = null;
  149. }
  150. }
  151. private void ClikMethod(DataRow dr)
  152. {
  153. }
  154. #endregion
  155. #region FrmLAddEdit
  156. FrmLAddEdit frmLAddEdit = null;
  157. private DataRow GetDrMethods(int StepQty)
  158. {
  159. return this.UC_Qq.SCGrid_GetSelectRow(StepQty);
  160. }
  161. private DataRow EditDataMethods(DataRow dr)
  162. {
  163. if (dr == null)
  164. {
  165. return null;
  166. }
  167. string sql = string.Format("select * from WCS_Users where User_No='{0}'", dr["USER_NO"].ToString());
  168. DataTable dt = BaseWorkflow.CommonQueryUser(sql);
  169. if (dt == null || dt.Rows.Count == 0)
  170. {
  171. return null;
  172. }
  173. return dt.Rows[0];
  174. }
  175. private bool SaveDataMethods(DataRow dr)
  176. {
  177. if (dr == null)
  178. {
  179. throw new Exception("保存数据为空!!!");
  180. }
  181. if (CheckControl("", true))
  182. {
  183. WCS_Users acluser = new WCS_Users();
  184. acluser.USER_NO = dr["USER_NO"].ToString();
  185. acluser.Use_Name = dr["Use_Name"].ToString();
  186. acluser.Use_Sex = Convert.ToInt32(dr["Use_Sex"]);
  187. var dtsex = BaseWorkflow.CommonQuery(string.Format("SELECT * FROM WCS_Mappingentry where Mep_MappingType='Sex' and Mep_MappingNo={0}", acluser.Use_Sex));
  188. acluser.Use_SexCh = dtsex.Rows[0]["Mep_MappingChName"].ToString();
  189. acluser.Use_RoleId = Convert.ToInt32(dr["Use_RoleId"]);
  190. var user_role = BaseWorkflow.CommonQuery(string.Format("SELECT * FROM WCS_Mappingentry where Mep_MappingType='RoleId' and Mep_MappingNo={0}", acluser.Use_RoleId));
  191. acluser.Use_RoleName = user_role.Rows[0]["Mep_MappingChName"].ToString();
  192. acluser.Use_IsStop = Convert.ToBoolean(dr["Use_IsStop"]);
  193. acluser.Use_Email = dr["Use_Email"].ToString();
  194. acluser.Use_Address = dr["Use_Address"].ToString();
  195. acluser.Use_ContactText = dr["Use_ContactText"].ToString();
  196. acluser.Use_AddUserNo = CurrentHelper.User.USER_NO;
  197. acluser.Use_AddDateTime = DateTime.Now;
  198. acluser.Use_EditUserNo = CurrentHelper.User.USER_NO;
  199. acluser.Use_EditDateTime = DateTime.Now;
  200. acluser.Use_Notes = dr["Use_Notes"].ToString();
  201. //添加或修改用户
  202. string result = BaseWorkflow.AddEditUser(acluser);
  203. if (string.IsNullOrWhiteSpace(result))
  204. MessageUtil.ShowTips("添加或修改用户成功!!!");
  205. else
  206. MessageUtil.ShowError(result);
  207. return true;
  208. }
  209. return false;
  210. }
  211. private void LCItemEditMethods(FrmLAddEdit frm)
  212. {
  213. frm.LCItemIsEnable(true);
  214. frm.LCItemIsEnable("User_No", false);
  215. }
  216. private void LCItemNewMethods(FrmLAddEdit frm)
  217. {
  218. frm.LCItemIsEnable(true);
  219. }
  220. private void CheckControl(string LCName)
  221. {
  222. CheckControl(LCName, false);
  223. }
  224. private bool CheckControl(string LCName, bool IsALL)
  225. {
  226. if (frmLAddEdit == null)
  227. {
  228. return false;
  229. }
  230. int ErrQty = 0;
  231. string TmpLCName = "User_No";
  232. if (IsALL || LCName == TmpLCName)
  233. {
  234. object OValue = LCItemUtil.GetValue_LCItem(frmLAddEdit.GetLCItem(TmpLCName));
  235. if (OValue == null || string.IsNullOrEmpty(OValue.ToString()))
  236. {
  237. frmLAddEdit.SetLCItemErr(TmpLCName, "登录名不能为空!!!");
  238. ErrQty++;
  239. }
  240. else
  241. {
  242. frmLAddEdit.SetLCItemErr(TmpLCName, "");
  243. }
  244. }
  245. TmpLCName = "Use_Name";
  246. if (IsALL || LCName == "Use_Name")
  247. {
  248. object OValue = LCItemUtil.GetValue_LCItem(frmLAddEdit.GetLCItem(TmpLCName));
  249. if (OValue == null || string.IsNullOrEmpty(OValue.ToString()))
  250. {
  251. frmLAddEdit.SetLCItemErr(TmpLCName, "用户名不能为空!!!");
  252. ErrQty++;
  253. }
  254. else
  255. {
  256. frmLAddEdit.SetLCItemErr(TmpLCName, "");
  257. }
  258. }
  259. TmpLCName = "Use_Sex";
  260. if (IsALL || LCName == "Use_Sex")
  261. {
  262. object OValue = LCItemUtil.GetValue_LCItem(frmLAddEdit.GetLCItem(TmpLCName));
  263. if (OValue == null || string.IsNullOrEmpty(OValue.ToString()))
  264. {
  265. frmLAddEdit.SetLCItemErr(TmpLCName, "性别不能为空!!!");
  266. ErrQty++;
  267. }
  268. else
  269. {
  270. frmLAddEdit.SetLCItemErr(TmpLCName, "");
  271. }
  272. }
  273. TmpLCName = "Use_RoleId";
  274. if (IsALL || LCName == "Use_RoleId")
  275. {
  276. object OValue = LCItemUtil.GetValue_LCItem(frmLAddEdit.GetLCItem(TmpLCName));
  277. if (OValue == null || string.IsNullOrEmpty(OValue.ToString()))
  278. {
  279. frmLAddEdit.SetLCItemErr(TmpLCName, "角色不能为空!!!");
  280. ErrQty++;
  281. }
  282. else
  283. {
  284. frmLAddEdit.SetLCItemErr(TmpLCName, "");
  285. }
  286. }
  287. return ErrQty == 0;
  288. }
  289. /// <summary>
  290. /// 添加用户
  291. /// </summary>
  292. private void Init_frmLAddEdit()
  293. {
  294. frmLAddEdit = new FrmLAddEdit();
  295. frmLAddEdit.Size = new Size(708, 291);
  296. frmLAddEdit.Text = string.Format("用户基本信息编辑,新建用户默认密码[123456]");
  297. List<LayoutControlItem> LCIList = new List<LayoutControlItem>();
  298. LCIList.Add(LCItemUtil.Add_TextboxX("User_No", "登录名(*):", 99, null, CheckControl));
  299. LCIList.Add(LCItemUtil.Add_CheckBoxX("Use_IsStop", "是否停用", false, 80, null, null));
  300. LCIList[LCIList.Count - 1].WidthType = eLayoutSizeType.Absolute;
  301. LCIList.Add(LCItemUtil.Add_TextboxX("Use_Name", "用户名(*):", 50, null, CheckControl));
  302. LCIList.Add(LCItemUtil.Add_ComboBoxEx("Use_Sex", "性别", 50, null, CheckControl));
  303. var dtsex = BaseWorkflow.CommonQuery(string.Format("SELECT * FROM WCS_Mappingentry where Mep_MappingType='Sex'"));
  304. LCItemUtil.Refresh_LCItem(LCIList[LCIList.Count - 1], dtsex, "MEP_MAPPINGNO", "MEP_MAPPINGCHNAME");
  305. LCIList.Add(LCItemUtil.Add_ComboBoxEx("Use_RoleId", "用户角色:", 50, null, CheckControl));
  306. var use_roles = BaseWorkflow.CommonQuery(string.Format("SELECT * FROM WCS_Mappingentry where Mep_MappingType='RoleId'"));
  307. LCItemUtil.Refresh_LCItem(LCIList[LCIList.Count - 1], use_roles, "MEP_MAPPINGNO", "MEP_MAPPINGCHNAME");
  308. LCIList.Add(LCItemUtil.Add_TextboxX("Use_Email", "Email:", 50, null, null));
  309. LCIList.Add(LCItemUtil.Add_TextboxX("Use_ContactText", "联系方式:", 50, null, null));
  310. LCIList.Add(LCItemUtil.Add_TextboxX("Use_Address", "住址:", 100, null, null));
  311. LCIList.Add(LCItemUtil.Add_TextboxX("Use_Notes", "备注:", 100, null, null));
  312. frmLAddEdit.InitFrm(true, true, LCIList, GetDrMethods, LCItemNewMethods, LCItemEditMethods, EditDataMethods, SaveDataMethods);
  313. }
  314. #endregion
  315. #region frmLEditAdminPwd
  316. FrmLEdit frmLEditAdminPwd = null;
  317. private void Init_frmLEditAdminPwd()
  318. {
  319. frmLEditAdminPwd = new FrmLEdit();
  320. frmLEditAdminPwd.Size = new Size(708, 125);
  321. if (this.UC_Qq.SCGrid_GetChkRowsQty() > 1)
  322. {
  323. frmLEditAdminPwd.Text = "系统管理员批量修改用户密码!!!";
  324. }
  325. else
  326. {
  327. frmLEditAdminPwd.Text = "系统管理员修改用户密码!!!";
  328. }
  329. List<LayoutControlItem> LCIList = new List<LayoutControlItem>();
  330. LCIList.Add(LCItemUtil.Add_TextboxX("User_NewPwd", "新密码(*):", true, 100, null, CheckControl_AdminPwd));
  331. LCIList.Add(LCItemUtil.Add_TextboxX("User_TwoNewPwd", "确认新密码(*):", true, 100, null, CheckControl_AdminPwd));
  332. LCIList.Add(LCItemUtil.Add_SpacerItem("User_SpacerItem", 99, 30));
  333. LCIList.Add(LCItemUtil.Add_ButtonX("btn_AdminPwd", "修改密码", 80, 30, SubmitMethods_AdminPwd));
  334. LCIList.Add(LCItemUtil.Add_ButtonX("btn_AdminPwdClose", "取消", 80, 30, SubmitMethods_AdminPwd));
  335. frmLEditAdminPwd.InitFrm(LCIList);
  336. }
  337. private void CheckControl_AdminPwd(string LCName)
  338. {
  339. CheckControl_AdminPwd(frmLEditAdminPwd, LCName, false);
  340. }
  341. private bool CheckControl_AdminPwd(FrmLEdit TmpfrmLEditAdminPwd, string LCName, bool IsALL)
  342. {
  343. if (TmpfrmLEditAdminPwd == null)
  344. {
  345. return false;
  346. }
  347. int ErrQty = 0;
  348. string TmpNewPwd = "User_NewPwd";
  349. string TmpTwoNewPwd = "User_TwoNewPwd";
  350. if (IsALL || LCName == TmpNewPwd || LCName == TmpTwoNewPwd)
  351. {
  352. object ONewPwdValue = LCItemUtil.GetValue_LCItem(TmpfrmLEditAdminPwd.GetLCItem(TmpNewPwd));
  353. if (ONewPwdValue == null || string.IsNullOrEmpty(ONewPwdValue.ToString()))
  354. {
  355. TmpfrmLEditAdminPwd.SetLCItemErr(TmpNewPwd, "新密码不能为空!!!");
  356. ErrQty++;
  357. }
  358. else
  359. {
  360. TmpfrmLEditAdminPwd.SetLCItemErr(TmpNewPwd, "");
  361. }
  362. if (IsALL || LCName == TmpTwoNewPwd)
  363. {
  364. object OTwoNewPwdValue = LCItemUtil.GetValue_LCItem(TmpfrmLEditAdminPwd.GetLCItem(TmpTwoNewPwd));
  365. if (OTwoNewPwdValue == null || string.IsNullOrEmpty(OTwoNewPwdValue.ToString()))
  366. {
  367. TmpfrmLEditAdminPwd.SetLCItemErr(TmpTwoNewPwd, "确认新密码不能为空!!!");
  368. ErrQty++;
  369. }
  370. else
  371. {
  372. if (ONewPwdValue != null && ONewPwdValue.ToString() == OTwoNewPwdValue.ToString())
  373. {
  374. TmpfrmLEditAdminPwd.SetLCItemErr(TmpTwoNewPwd, "");
  375. }
  376. else
  377. {
  378. TmpfrmLEditAdminPwd.SetLCItemErr(TmpTwoNewPwd, "两次密码不一致!!!");
  379. ErrQty++;
  380. }
  381. }
  382. }
  383. }
  384. return ErrQty == 0;
  385. }
  386. private void SubmitMethods_AdminPwd(string LCName)
  387. {
  388. if (LCName == "btn_AdminPwd")
  389. {
  390. if (!CheckControl_AdminPwd(frmLEditAdminPwd, "", true))
  391. {
  392. return;
  393. }
  394. try
  395. {
  396. object OTwoNewPwdValue = LCItemUtil.GetValue_LCItem(frmLEditAdminPwd.GetLCItem("User_TwoNewPwd"));
  397. DataTable table = this.UC_Qq.SCGrid_GetChkRows();
  398. string user_no = table.Rows[0][WCS_UsersEnum.User_No.ToString()].ToString();
  399. string result = BaseWorkflow.AdminModifyPwd(user_no, OTwoNewPwdValue.ToString());
  400. if (string.IsNullOrWhiteSpace(result))
  401. MessageUtil.ShowTips(string.Format("用户{0}修改密码成功。", user_no));
  402. else
  403. MessageUtil.ShowError(result);
  404. }
  405. catch (Exception ex)
  406. {
  407. MessageUtil.ShowError(ex.Message);
  408. }
  409. }
  410. if (frmLEditAdminPwd != null)
  411. {
  412. frmLEditAdminPwd.Close();
  413. frmLEditAdminPwd.Dispose();
  414. frmLEditAdminPwd = null;
  415. }
  416. }
  417. #endregion
  418. }
  419. }