FrmUser.cs 19 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429
  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. private void SubmitMethods(string LCName)
  75. {
  76. if (LCName == "btn_QClear")
  77. {
  78. this.UC_Qq.ShowOpaqueLayer();
  79. this.UC_Qq.ClearLCItemValue();
  80. this.UC_Qq.RefreshData(1, 0);
  81. this.UC_Qq.HideOpaqueLayer();
  82. return;
  83. }
  84. else if (LCName == "btn_NewUser")
  85. {
  86. Init_frmLAddEdit();
  87. frmLAddEdit.FrmNewShowDialog();
  88. }
  89. else if (LCName == "btn_EditUser")
  90. {
  91. DataTable dt = this.UC_Qq.SCGrid_GetChkRows();
  92. if (dt == null || dt.Rows.Count == 0)
  93. {
  94. UC.MessageUtil.ShowTips("请选择编辑项!!!");
  95. return;
  96. }
  97. Init_frmLAddEdit();
  98. frmLAddEdit.FrmEditShowDialog(dt.Rows[0]);
  99. }
  100. else if (LCName == "btn_DeleteUser")
  101. {
  102. DataTable dt = this.UC_Qq.SCGrid_GetChkRows();
  103. if (dt == null || dt.Rows.Count == 0)
  104. {
  105. MessageUtil.ShowTips("请选择编辑项!!!");
  106. return;
  107. }
  108. try
  109. {
  110. var result = MessageUtil.ShowYesNoAndWarning(string.Format("确定要删除用户[{0}]吗?", dt.Rows[0][WCS_UsersEnum.User_No.ToString()].ToString()));
  111. if (result == DialogResult.Yes)
  112. {
  113. string msg = BaseWorkflow.DeleteUser(dt.Rows[0][WCS_UsersEnum.User_No.ToString()].ToString());
  114. if (string.IsNullOrWhiteSpace(msg) == false)
  115. throw new Exception(msg);
  116. else
  117. MessageUtil.ShowTips(LangConst.DeleteSuccess);
  118. }
  119. }
  120. catch (Exception ex)
  121. {
  122. MessageUtil.ShowError(ex.Message);
  123. }
  124. }
  125. else if (LCName == "btn_ModifyPwd")
  126. {
  127. DataTable dt = this.UC_Qq.SCGrid_GetChkRows();
  128. if (dt == null || dt.Rows.Count == 0)
  129. {
  130. MessageUtil.ShowTips("请选择编辑项!!!");
  131. return;
  132. }
  133. Init_frmLEditAdminPwd();
  134. frmLEditAdminPwd.ShowDialog();
  135. }
  136. this.UC_Qq.RefreshData();
  137. }
  138. private void GridDoubleClickMethods(DataRow dr)
  139. {
  140. if (dr != null)
  141. {
  142. //Init_frmLAddEdit();
  143. //frmLAddEdit.FrmViewShowDialog(dr);
  144. //frmLAddEdit = null;
  145. }
  146. }
  147. private void ClikMethod(DataRow dr)
  148. {
  149. }
  150. #endregion
  151. #region FrmLAddEdit
  152. FrmLAddEdit frmLAddEdit = null;
  153. private DataRow GetDrMethods(int StepQty)
  154. {
  155. return this.UC_Qq.SCGrid_GetSelectRow(StepQty);
  156. }
  157. private DataRow EditDataMethods(DataRow dr)
  158. {
  159. if (dr == null)
  160. {
  161. return null;
  162. }
  163. string sql = string.Format("select * from WCS_Users where User_No='{0}'", dr["USER_NO"].ToString());
  164. DataTable dt = BaseWorkflow.CommonQueryUser(sql);
  165. if (dt == null || dt.Rows.Count == 0)
  166. {
  167. return null;
  168. }
  169. return dt.Rows[0];
  170. }
  171. private bool SaveDataMethods(DataRow dr)
  172. {
  173. if (dr == null)
  174. {
  175. throw new Exception("保存数据为空!!!");
  176. }
  177. if (CheckControl("", true))
  178. {
  179. WCS_Users acluser = new WCS_Users();
  180. acluser.USER_NO = dr["USER_NO"].ToString();
  181. acluser.Use_Name = dr["Use_Name"].ToString();
  182. acluser.Use_Sex = Convert.ToInt32(dr["Use_Sex"]);
  183. var dtsex = BaseWorkflow.CommonQuery(string.Format("SELECT * FROM WCS_Mappingentry where Mep_MappingType='Sex' and Mep_MappingNo={0}", acluser.Use_Sex));
  184. acluser.Use_SexCh = dtsex.Rows[0]["Mep_MappingChName"].ToString();
  185. acluser.Use_RoleId = Convert.ToInt32(dr["Use_RoleId"]);
  186. var user_role = BaseWorkflow.CommonQuery(string.Format("SELECT * FROM WCS_Mappingentry where Mep_MappingType='RoleId' and Mep_MappingNo={0}", acluser.Use_RoleId));
  187. acluser.Use_RoleName = user_role.Rows[0]["Mep_MappingChName"].ToString();
  188. acluser.Use_IsStop = Convert.ToBoolean(dr["Use_IsStop"]);
  189. acluser.Use_Email = dr["Use_Email"].ToString();
  190. acluser.Use_Address = dr["Use_Address"].ToString();
  191. acluser.Use_ContactText = dr["Use_ContactText"].ToString();
  192. acluser.Use_AddUserNo = CurrentHelper.User.USER_NO;
  193. acluser.Use_AddDateTime = DateTime.Now;
  194. acluser.Use_EditUserNo = CurrentHelper.User.USER_NO;
  195. acluser.Use_EditDateTime = DateTime.Now;
  196. acluser.Use_Notes = dr["Use_Notes"].ToString();
  197. //添加或修改用户
  198. string result = BaseWorkflow.AddEditUser(acluser);
  199. if (string.IsNullOrWhiteSpace(result))
  200. MessageUtil.ShowTips("添加或修改用户成功!!!");
  201. else
  202. MessageUtil.ShowError(result);
  203. return true;
  204. }
  205. return false;
  206. }
  207. private void LCItemEditMethods(FrmLAddEdit frm)
  208. {
  209. frm.LCItemIsEnable(true);
  210. frm.LCItemIsEnable("User_No", false);
  211. }
  212. private void LCItemNewMethods(FrmLAddEdit frm)
  213. {
  214. frm.LCItemIsEnable(true);
  215. }
  216. private void CheckControl(string LCName)
  217. {
  218. CheckControl(LCName, false);
  219. }
  220. private bool CheckControl(string LCName, bool IsALL)
  221. {
  222. if (frmLAddEdit == null)
  223. {
  224. return false;
  225. }
  226. int ErrQty = 0;
  227. string TmpLCName = "User_No";
  228. if (IsALL || LCName == TmpLCName)
  229. {
  230. object OValue = LCItemUtil.GetValue_LCItem(frmLAddEdit.GetLCItem(TmpLCName));
  231. if (OValue == null || string.IsNullOrEmpty(OValue.ToString()))
  232. {
  233. frmLAddEdit.SetLCItemErr(TmpLCName, "登录名不能为空!!!");
  234. ErrQty++;
  235. }
  236. else
  237. {
  238. frmLAddEdit.SetLCItemErr(TmpLCName, "");
  239. }
  240. }
  241. TmpLCName = "Use_Name";
  242. if (IsALL || LCName == "Use_Name")
  243. {
  244. object OValue = LCItemUtil.GetValue_LCItem(frmLAddEdit.GetLCItem(TmpLCName));
  245. if (OValue == null || string.IsNullOrEmpty(OValue.ToString()))
  246. {
  247. frmLAddEdit.SetLCItemErr(TmpLCName, "用户名不能为空!!!");
  248. ErrQty++;
  249. }
  250. else
  251. {
  252. frmLAddEdit.SetLCItemErr(TmpLCName, "");
  253. }
  254. }
  255. TmpLCName = "Use_Sex";
  256. if (IsALL || LCName == "Use_Sex")
  257. {
  258. object OValue = LCItemUtil.GetValue_LCItem(frmLAddEdit.GetLCItem(TmpLCName));
  259. if (OValue == null || string.IsNullOrEmpty(OValue.ToString()))
  260. {
  261. frmLAddEdit.SetLCItemErr(TmpLCName, "性别不能为空!!!");
  262. ErrQty++;
  263. }
  264. else
  265. {
  266. frmLAddEdit.SetLCItemErr(TmpLCName, "");
  267. }
  268. }
  269. TmpLCName = "Use_RoleId";
  270. if (IsALL || LCName == "Use_RoleId")
  271. {
  272. object OValue = LCItemUtil.GetValue_LCItem(frmLAddEdit.GetLCItem(TmpLCName));
  273. if (OValue == null || string.IsNullOrEmpty(OValue.ToString()))
  274. {
  275. frmLAddEdit.SetLCItemErr(TmpLCName, "角色不能为空!!!");
  276. ErrQty++;
  277. }
  278. else
  279. {
  280. frmLAddEdit.SetLCItemErr(TmpLCName, "");
  281. }
  282. }
  283. return ErrQty == 0;
  284. }
  285. private void Init_frmLAddEdit()
  286. {
  287. frmLAddEdit = new FrmLAddEdit();
  288. frmLAddEdit.Size = new Size(708, 291);
  289. frmLAddEdit.Text = string.Format("用户基本信息编辑,新建用户默认密码[123456]");
  290. List<LayoutControlItem> LCIList = new List<LayoutControlItem>();
  291. LCIList.Add(LCItemUtil.Add_TextboxX("User_No", "登录名(*):", 99, null, CheckControl));
  292. LCIList.Add(LCItemUtil.Add_CheckBoxX("Use_IsStop", "是否停用", false, 80, null, null));
  293. LCIList[LCIList.Count - 1].WidthType = eLayoutSizeType.Absolute;
  294. LCIList.Add(LCItemUtil.Add_TextboxX("Use_Name", "用户名(*):", 50, null, CheckControl));
  295. LCIList.Add(LCItemUtil.Add_ComboBoxEx("Use_Sex", "性别", 50, null, CheckControl));
  296. var dtsex = BaseWorkflow.CommonQuery(string.Format("SELECT * FROM WCS_Mappingentry where Mep_MappingType='Sex'"));
  297. LCItemUtil.Refresh_LCItem(LCIList[LCIList.Count - 1], dtsex, "MEP_MAPPINGNO", "MEP_MAPPINGCHNAME");
  298. LCIList.Add(LCItemUtil.Add_ComboBoxEx("Use_RoleId", "用户角色:", 50, null, CheckControl));
  299. var use_roles = BaseWorkflow.CommonQuery(string.Format("SELECT * FROM WCS_Mappingentry where Mep_MappingType='RoleId'"));
  300. LCItemUtil.Refresh_LCItem(LCIList[LCIList.Count - 1], use_roles, "MEP_MAPPINGNO", "MEP_MAPPINGCHNAME");
  301. LCIList.Add(LCItemUtil.Add_TextboxX("Use_Email", "Email:", 50, null, null));
  302. LCIList.Add(LCItemUtil.Add_TextboxX("Use_ContactText", "联系方式:", 50, null, null));
  303. LCIList.Add(LCItemUtil.Add_TextboxX("Use_Address", "住址:", 100, null, null));
  304. LCIList.Add(LCItemUtil.Add_TextboxX("Use_Notes", "备注:", 100, null, null));
  305. frmLAddEdit.InitFrm(true, true, LCIList, GetDrMethods, LCItemNewMethods, LCItemEditMethods, EditDataMethods, SaveDataMethods);
  306. }
  307. #endregion
  308. #region frmLEditAdminPwd
  309. FrmLEdit frmLEditAdminPwd = null;
  310. private void Init_frmLEditAdminPwd()
  311. {
  312. frmLEditAdminPwd = new FrmLEdit();
  313. frmLEditAdminPwd.Size = new Size(708, 125);
  314. if (this.UC_Qq.SCGrid_GetChkRowsQty() > 1)
  315. {
  316. frmLEditAdminPwd.Text = "系统管理员批量修改用户密码!!!";
  317. }
  318. else
  319. {
  320. frmLEditAdminPwd.Text = "系统管理员修改用户密码!!!";
  321. }
  322. List<LayoutControlItem> LCIList = new List<LayoutControlItem>();
  323. LCIList.Add(LCItemUtil.Add_TextboxX("User_NewPwd", "新密码(*):", true, 100, null, CheckControl_AdminPwd));
  324. LCIList.Add(LCItemUtil.Add_TextboxX("User_TwoNewPwd", "确认新密码(*):", true, 100, null, CheckControl_AdminPwd));
  325. LCIList.Add(LCItemUtil.Add_SpacerItem("User_SpacerItem", 99, 30));
  326. LCIList.Add(LCItemUtil.Add_ButtonX("btn_AdminPwd", "修改密码", 80, 30, SubmitMethods_AdminPwd));
  327. LCIList.Add(LCItemUtil.Add_ButtonX("btn_AdminPwdClose", "取消", 80, 30, SubmitMethods_AdminPwd));
  328. frmLEditAdminPwd.InitFrm(LCIList);
  329. }
  330. private void CheckControl_AdminPwd(string LCName)
  331. {
  332. CheckControl_AdminPwd(frmLEditAdminPwd, LCName, false);
  333. }
  334. private bool CheckControl_AdminPwd(FrmLEdit TmpfrmLEditAdminPwd, string LCName, bool IsALL)
  335. {
  336. if (TmpfrmLEditAdminPwd == null)
  337. {
  338. return false;
  339. }
  340. int ErrQty = 0;
  341. string TmpNewPwd = "User_NewPwd";
  342. string TmpTwoNewPwd = "User_TwoNewPwd";
  343. if (IsALL || LCName == TmpNewPwd || LCName == TmpTwoNewPwd)
  344. {
  345. object ONewPwdValue = LCItemUtil.GetValue_LCItem(TmpfrmLEditAdminPwd.GetLCItem(TmpNewPwd));
  346. if (ONewPwdValue == null || string.IsNullOrEmpty(ONewPwdValue.ToString()))
  347. {
  348. TmpfrmLEditAdminPwd.SetLCItemErr(TmpNewPwd, "新密码不能为空!!!");
  349. ErrQty++;
  350. }
  351. else
  352. {
  353. TmpfrmLEditAdminPwd.SetLCItemErr(TmpNewPwd, "");
  354. }
  355. if (IsALL || LCName == TmpTwoNewPwd)
  356. {
  357. object OTwoNewPwdValue = LCItemUtil.GetValue_LCItem(TmpfrmLEditAdminPwd.GetLCItem(TmpTwoNewPwd));
  358. if (OTwoNewPwdValue == null || string.IsNullOrEmpty(OTwoNewPwdValue.ToString()))
  359. {
  360. TmpfrmLEditAdminPwd.SetLCItemErr(TmpTwoNewPwd, "确认新密码不能为空!!!");
  361. ErrQty++;
  362. }
  363. else
  364. {
  365. if (ONewPwdValue != null && ONewPwdValue.ToString() == OTwoNewPwdValue.ToString())
  366. {
  367. TmpfrmLEditAdminPwd.SetLCItemErr(TmpTwoNewPwd, "");
  368. }
  369. else
  370. {
  371. TmpfrmLEditAdminPwd.SetLCItemErr(TmpTwoNewPwd, "两次密码不一致!!!");
  372. ErrQty++;
  373. }
  374. }
  375. }
  376. }
  377. return ErrQty == 0;
  378. }
  379. private void SubmitMethods_AdminPwd(string LCName)
  380. {
  381. if (LCName == "btn_AdminPwd")
  382. {
  383. if (!CheckControl_AdminPwd(frmLEditAdminPwd, "", true))
  384. {
  385. return;
  386. }
  387. try
  388. {
  389. object OTwoNewPwdValue = LCItemUtil.GetValue_LCItem(frmLEditAdminPwd.GetLCItem("User_TwoNewPwd"));
  390. DataTable table = this.UC_Qq.SCGrid_GetChkRows();
  391. string user_no = table.Rows[0][WCS_UsersEnum.User_No.ToString()].ToString();
  392. string result = BaseWorkflow.AdminModifyPwd(user_no, OTwoNewPwdValue.ToString());
  393. if (string.IsNullOrWhiteSpace(result))
  394. MessageUtil.ShowTips(string.Format("用户{0}修改密码成功。", user_no));
  395. else
  396. MessageUtil.ShowError(result);
  397. }
  398. catch (Exception ex)
  399. {
  400. MessageUtil.ShowError(ex.Message);
  401. }
  402. }
  403. if (frmLEditAdminPwd != null)
  404. {
  405. frmLEditAdminPwd.Close();
  406. frmLEditAdminPwd.Dispose();
  407. frmLEditAdminPwd = null;
  408. }
  409. }
  410. #endregion
  411. }
  412. }