using ComponentFactory.Krypton.Toolkit; using NXWMS.Client.Model.AppModels.Condition.SysSettings; using NXWMS.Client.Model.CoreModels; using NXWMS.Client.String.Enums; using NXWMS.Commons; using NXWMS.Services; 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; namespace NXWMS.Forms.SysSettings.ChildFrm { public partial class FrmMenuEdit : KryptonForm { private int id; private EnumOperation _operation; public FrmMenuEdit() { InitializeComponent(); } public int Id { get => id; set => id = value; } public EnumOperation Operation { get => _operation; set => _operation = value; } private void btnSave_Click(object sender, EventArgs e) { if (string.IsNullOrWhiteSpace(txtMenuCode.Text)) { KryptonMessageBox.Show($"请输入菜单编码。", "提示信息", MessageBoxButtons.OK, MessageBoxIcon.Information); return; } if (string.IsNullOrWhiteSpace(txtMenuName.Text)) { KryptonMessageBox.Show($"请输入菜单名称。", "提示信息", MessageBoxButtons.OK, MessageBoxIcon.Information); return; } if (KryptonMessageBox.Show("是否保存?", "提示信息", MessageBoxButtons.OKCancel) == DialogResult.Cancel) { return; } switch (Operation) { case EnumOperation.Add: var addResult = SysSettingsServices.menuService.Add(new MenuCondition { OperationUserId = AppConfig.UserLoginResult.UserInfo.UserId, IsUsed = chkUse.Checked, MenuCode = txtMenuCode.Text, MenuName = txtMenuName.Text, Describe = richDescibe.Text, MenuURL = txtMenuLink.Text, IconPath = txtMenuIconPath.Text, MenuPID = string.IsNullOrWhiteSpace(cmbMenuLayer.Text) ? -1 : cmbMenuLayer.SelectedValue.GetObjectToInt(), }); if (addResult.Status == OperateStatus.Success) { KryptonMessageBox.Show($"操作成功!", "提示信息", MessageBoxButtons.OK, MessageBoxIcon.Information); this.DialogResult = DialogResult.OK; } else { KryptonMessageBox.Show($"操作失败!\r\n{addResult.Message}", "提示信息", MessageBoxButtons.OK, MessageBoxIcon.Information); } break; case EnumOperation.Edit: var editResult = SysSettingsServices.menuService.Edit(new MenuCondition { OperationUserId = AppConfig.UserLoginResult.UserInfo.UserId, IsUsed = chkUse.Checked, MenuCode = txtMenuCode.Text, MenuName = txtMenuName.Text, MenuURL = txtMenuLink.Text, IconPath = txtMenuIconPath.Text, MenuId = id, Describe = richDescibe.Text, MenuPID = string.IsNullOrWhiteSpace(cmbMenuLayer.Text) ? -1 : cmbMenuLayer.SelectedValue.GetObjectToInt(), }); if (editResult.Status == OperateStatus.Success) { KryptonMessageBox.Show($"操作成功!", "提示信息", MessageBoxButtons.OK, MessageBoxIcon.Information); this.DialogResult = DialogResult.OK; } else { KryptonMessageBox.Show($"操作失败!\r\n{editResult.Message}", "提示信息", MessageBoxButtons.OK, MessageBoxIcon.Information); } break; } } public void InitControl() { CheckForIllegalCrossThreadCalls = false; var result = SysSettingsServices.menuService.GetLevelList(null); if (result.Status == OperateStatus.Success) { var fieldValueList = ((from x in result.Data.Where(m => m.MainMenuId != null) select new FieldValue { Id = x.MainMenuId.Value.ToString(), Name = x.MainMenuName } ).Union( from x in result.Data.Where(m => m.MenuCode != null) select new FieldValue { Id = x.MenuId.Value.ToString(), Name = x.MenuName })).ToList(); cmbMenuLayer.DataSource = fieldValueList.Where((x, i) => fieldValueList.FindIndex(z => z.Id == x.Id) == i).ToList(); cmbMenuLayer.DisplayMember = "Name"; cmbMenuLayer.ValueMember = "Id"; cmbMenuLayer.SelectedIndex = -1; // _selectLayerMenu = null; } //暂时用代码限制长度,不用表配置之类做了.. txtMenuCode.SetControlBase(50); txtMenuName.SetControlBase(100); } private void FrmMenuEdit_Shown(object sender, EventArgs e) { } private void btnExit_Click(object sender, EventArgs e) { this.Close(); } } }