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 WMS.Frm.Base; using WMS.Model.Base; using WMS.Ctrl; using WMS.Common; using WMS.Business; using WMS.Business.Base; namespace WMS.FrmSystems { public partial class FrmSystemMenu : FormBase { #region 全局参数 /// /// 菜单对象 /// BaseMenuModel menuModel = new BaseMenuModel(); /// /// 功能集合 /// List SouerceList; /// /// 原菜单功能 /// List copyList; /// /// 菜单update数组 /// List upmenu = new List(); /// /// 功能update数组 /// List upmunufuc = new List(); /// /// 功能delete数组 /// List delmunufuc = new List(); /// /// 功能insert数组 /// List addmunufuc = new List(); /// /// 菜单是否更新标志 /// bool upmenuflag; /// /// 业务类型 0 添加窗体 1 修改窗体,功能。 /// int workflag; #endregion /// /// 窗体初始化 /// /// 窗体对象 /// 功能列表 public FrmSystemMenu(BaseMenuModel menuSelectModel, List ListMunuFuc, int flag) { InitializeComponent(); menuModel = menuSelectModel; SouerceList = ListMunuFuc; copyList = ListMunuFuc.ToList(); workflag = flag; txtEdit(); if (menuModel != null) { FuntionBinding.DataSource = SouerceList; bgsMenu.DataSource = menuModel; cbx_Tanc.Checked = menuModel.FRM_TYPE == "1"; if (menuModel.MENU_LEVEL == "1") { rbt_Lev1.Checked = true; } else { rbt_Lev2.Checked = true; } } } private void txtEdit() { if (workflag == 0) { txt_MenuID.Enabled = true; } else { txt_MenuID.Enabled = false; } } /// /// 窗体加载 /// /// /// private void FrmSystemMenu_Load(object sender, EventArgs e) { upmenuflag = false; } /// /// 添加功能按钮按下,添加grid新行 /// /// /// private void ctrlButtons3_Click(object sender, EventArgs e) { //ctrlDictonary1.CtrlDictonary_KeyDown(null, null); //gridView1.AddNewRow(); // FuntionBinding.DataSource = ListMunuFuc; //SouerceList = (grdView.DataSource as List); SouerceList.Add(new MenuFuctionModel() { MENU_ID = txt_MenuID.Text, MENU_NAME = txt_MenuName.Text }); FuntionBinding.DataSource = SouerceList; grdView.RefreshData(); //gdFution.Refresh(); } /// /// 确定按钮按下,更新启动 /// /// /// private void ctrlButtons1_Click(object sender, EventArgs e) { bgsMenu.EndEdit(); grdView.CloseEditor(); grdView.UpdateCurrentRow(); menuModel = bgsMenu.DataSource as BaseMenuModel; menuModel.FRM_TYPE = cbx_Tanc.Checked ? "1" : "0"; if (rbt_Lev1.Checked) { menuModel.MENU_LEVEL = "1"; } else if (rbt_Lev2.Checked) { menuModel.MENU_LEVEL = "2"; } if (workflag == 0) { string errtex = IBussFactory.Instance().AddMenuData(menuModel, addmunufuc); if (!string.IsNullOrEmpty(errtex)) { SystemCommon.ShowErrorMessageBox("菜单添加失败"+errtex); return; } else { SystemCommon.ShowInfoMessageBox("菜单添加成功"); } workflag = 1; txtEdit(); } else { upmenu.Add(menuModel); bool flag = IBussFactory.Instance().NewMenuDataFuc(upmenu, upmunufuc, addmunufuc, delmunufuc); if (flag) { MessageBox.Show("更新功能成功!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information); upmenu.Clear(); upmunufuc.Clear(); addmunufuc.Clear(); delmunufuc.Clear(); } else { MessageBox.Show("更新功能失败,请重试!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information); } } } /// /// 退出按钮按下,确认退出页面 /// /// /// private void ctrlButtons2_Click(object sender, EventArgs e) { if (DialogResult.Yes == MessageBox.Show("确定退出本窗口", "退出", MessageBoxButtons.YesNo, MessageBoxIcon.Asterisk)) { this.Close(); } } /// /// 删除功能按钮按下,删除当前行 /// /// /// private void ctrlButtons4_Click(object sender, EventArgs e) { if (grdView.GetRowCellValue(grdView.GetSelectedRows()[0], "FUN_ID") != null && !string.IsNullOrEmpty((grdView.GetRowCellValue(grdView.GetSelectedRows()[0], "FUN_ID").ToString()))) { if (delmunufuc.Count(r => r.FUN_ID == grdView.GetRowCellValue(grdView.GetSelectedRows()[0], "FUN_ID").ToString()) == 0) { delmunufuc.Add(SouerceList.Find(r => r.FUN_ID == grdView.GetRowCellValue(grdView.GetSelectedRows()[0], "FUN_ID").ToString())); } if (addmunufuc.Find(r => r.FUN_ID == grdView.GetRowCellValue(grdView.GetSelectedRows()[0], "FUN_ID").ToString()) != null) { addmunufuc.Remove(addmunufuc.Find(r => r.FUN_ID == grdView.GetRowCellValue(grdView.GetSelectedRows()[0], "FUN_ID").ToString())); } } grdView.DeleteRow(grdView.GetSelectedRows()[0]); } #region 菜单属性发生改变,更新标志 private void txt_MenuID_TextChanged(object sender, EventArgs e) { upmenuflag = true; } private void txt_MenuName_TextChanged(object sender, EventArgs e) { upmenuflag = true; } private void icbe_MenuImg_TextChanged(object sender, EventArgs e) { upmenuflag = true; } private void txt_FormPro_TextChanged(object sender, EventArgs e) { upmenuflag = true; } private void txt_FormClassName_TextChanged(object sender, EventArgs e) { upmenuflag = true; } private void rbt_Lev1_CheckedChanged(object sender, EventArgs e) { upmenuflag = true; } private void rbt_Lev2_CheckedChanged(object sender, EventArgs e) { upmenuflag = true; } private void cbx_Tanc_CheckedChanged(object sender, EventArgs e) { upmenuflag = true; } private void MEtxtREMARK_TextChanged(object sender, EventArgs e) { upmenuflag = true; } #endregion /// /// Grid列值变化添加增加或更新语句 /// /// /// private void gridView1_CellValueChanged(object sender, DevExpress.XtraGrid.Views.Base.CellValueChangedEventArgs e) { if (!addmunufuc.Contains((grdView.GetRow(e.RowHandle) as MenuFuctionModel)) && !copyList.Contains((grdView.GetRow(e.RowHandle) as MenuFuctionModel))) { addmunufuc.Add(grdView.GetRow(e.RowHandle) as MenuFuctionModel); } if (!upmunufuc.Contains((grdView.GetRow(e.RowHandle) as MenuFuctionModel)) && copyList.Contains((grdView.GetRow(e.RowHandle) as MenuFuctionModel))) { upmunufuc.Add(grdView.GetRow(e.RowHandle) as MenuFuctionModel); } } private void repositoryItemImageComboBox1_SelectedIndexChanged(object sender, EventArgs e) { object d = grdView.GetFocusedRowCellValue(colFUN_ID); string a = d.ToString(); SouerceList.Find(r => r.FUN_ID == a).FUN_IMAGE = ((DevExpress.XtraEditors.ImageComboBoxEdit)sender).EditValue.ToString(); } } }