FrmMenuEdit.cs 5.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143
  1. using ComponentFactory.Krypton.Toolkit;
  2. using NXWMS.Client.Model.AppModels.Condition.SysSettings;
  3. using NXWMS.Client.Model.CoreModels;
  4. using NXWMS.Client.String.Enums;
  5. using NXWMS.Commons;
  6. using NXWMS.Services;
  7. using System;
  8. using System.Collections.Generic;
  9. using System.ComponentModel;
  10. using System.Data;
  11. using System.Drawing;
  12. using System.Linq;
  13. using System.Text;
  14. using System.Windows.Forms;
  15. namespace NXWMS.Forms.SysSettings.ChildFrm
  16. {
  17. public partial class FrmMenuEdit : KryptonForm
  18. {
  19. private int id;
  20. private EnumOperation _operation;
  21. public FrmMenuEdit()
  22. {
  23. InitializeComponent();
  24. }
  25. public int Id { get => id; set => id = value; }
  26. public EnumOperation Operation { get => _operation; set => _operation = value; }
  27. private void btnSave_Click(object sender, EventArgs e)
  28. {
  29. if (string.IsNullOrWhiteSpace(txtMenuCode.Text))
  30. {
  31. KryptonMessageBox.Show($"请输入菜单编码。", "提示信息", MessageBoxButtons.OK, MessageBoxIcon.Information);
  32. return;
  33. }
  34. if (string.IsNullOrWhiteSpace(txtMenuName.Text))
  35. {
  36. KryptonMessageBox.Show($"请输入菜单名称。", "提示信息", MessageBoxButtons.OK, MessageBoxIcon.Information);
  37. return;
  38. }
  39. if (KryptonMessageBox.Show("是否保存?", "提示信息", MessageBoxButtons.OKCancel) == DialogResult.Cancel)
  40. {
  41. return;
  42. }
  43. switch (Operation)
  44. {
  45. case EnumOperation.Add:
  46. var addResult = SysSettingsServices.menuService.Add(new MenuCondition
  47. {
  48. OperationUserId = AppConfig.UserLoginResult.UserInfo.UserId,
  49. IsUsed = chkUse.Checked,
  50. MenuCode = txtMenuCode.Text,
  51. MenuName = txtMenuName.Text,
  52. Describe = richDescibe.Text,
  53. MenuURL = txtMenuLink.Text,
  54. IconPath = txtMenuIconPath.Text,
  55. MenuPID = string.IsNullOrWhiteSpace(cmbMenuLayer.Text) ? -1 : cmbMenuLayer.SelectedValue.GetObjectToInt(),
  56. });
  57. if (addResult.Status == OperateStatus.Success)
  58. {
  59. KryptonMessageBox.Show($"操作成功!", "提示信息", MessageBoxButtons.OK, MessageBoxIcon.Information);
  60. this.DialogResult = DialogResult.OK;
  61. }
  62. else
  63. {
  64. KryptonMessageBox.Show($"操作失败!\r\n{addResult.Message}", "提示信息", MessageBoxButtons.OK, MessageBoxIcon.Information);
  65. }
  66. break;
  67. case EnumOperation.Edit:
  68. var editResult = SysSettingsServices.menuService.Edit(new MenuCondition
  69. {
  70. OperationUserId = AppConfig.UserLoginResult.UserInfo.UserId,
  71. IsUsed = chkUse.Checked,
  72. MenuCode = txtMenuCode.Text,
  73. MenuName = txtMenuName.Text,
  74. MenuURL = txtMenuLink.Text,
  75. IconPath = txtMenuIconPath.Text,
  76. MenuId = id,
  77. Describe = richDescibe.Text,
  78. MenuPID = string.IsNullOrWhiteSpace(cmbMenuLayer.Text) ? -1 : cmbMenuLayer.SelectedValue.GetObjectToInt(),
  79. });
  80. if (editResult.Status == OperateStatus.Success)
  81. {
  82. KryptonMessageBox.Show($"操作成功!", "提示信息", MessageBoxButtons.OK, MessageBoxIcon.Information);
  83. this.DialogResult = DialogResult.OK;
  84. }
  85. else
  86. {
  87. KryptonMessageBox.Show($"操作失败!\r\n{editResult.Message}", "提示信息", MessageBoxButtons.OK, MessageBoxIcon.Information);
  88. }
  89. break;
  90. }
  91. }
  92. public void InitControl()
  93. {
  94. CheckForIllegalCrossThreadCalls = false;
  95. var result = SysSettingsServices.menuService.GetLevelList(null);
  96. if (result.Status == OperateStatus.Success)
  97. {
  98. var fieldValueList =
  99. ((from x in result.Data.Where(m => m.MainMenuId != null)
  100. select new FieldValue
  101. {
  102. Id = x.MainMenuId.Value.ToString(),
  103. Name = x.MainMenuName
  104. }
  105. ).Union(
  106. from x in result.Data.Where(m => m.MenuCode != null)
  107. select new FieldValue
  108. {
  109. Id = x.MenuId.Value.ToString(),
  110. Name = x.MenuName
  111. })).ToList();
  112. cmbMenuLayer.DataSource = fieldValueList.Where((x, i) => fieldValueList.FindIndex(z => z.Id == x.Id) == i).ToList();
  113. cmbMenuLayer.DisplayMember = "Name";
  114. cmbMenuLayer.ValueMember = "Id";
  115. cmbMenuLayer.SelectedIndex = -1;
  116. // _selectLayerMenu = null;
  117. }
  118. //暂时用代码限制长度,不用表配置之类做了..
  119. txtMenuCode.SetControlBase(50);
  120. txtMenuName.SetControlBase(100);
  121. }
  122. private void FrmMenuEdit_Shown(object sender, EventArgs e)
  123. {
  124. }
  125. private void btnExit_Click(object sender, EventArgs e)
  126. {
  127. this.Close();
  128. }
  129. }
  130. }