From 34697d73ce31cfe3edc760f6c4d1d3640ce263a1 Mon Sep 17 00:00:00 2001 From: lg <999544862qq.com> Date: 星期一, 16 九月 2024 20:53:05 +0800 Subject: [PATCH] 增加更新 --- DevApp/Gs.DevApp/UserControl/ToolBarMenu.cs | 279 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 276 insertions(+), 3 deletions(-) diff --git a/DevApp/Gs.DevApp/UserControl/ToolBarMenu.cs b/DevApp/Gs.DevApp/UserControl/ToolBarMenu.cs index 2bdca7d..9fc2707 100644 --- a/DevApp/Gs.DevApp/UserControl/ToolBarMenu.cs +++ b/DevApp/Gs.DevApp/UserControl/ToolBarMenu.cs @@ -1,12 +1,20 @@ -锘縰sing DevExpress.XtraEditors; +锘縰sing DevExpress.XtraBars; +using DevExpress.XtraEditors; +using Gs.DevApp.Entity; using Gs.DevApp.ToolBox; +using Newtonsoft.Json; using System; - +using System.Collections.Generic; +using System.Data; +using System.Linq; +using System.Windows.Forms; namespace Gs.DevApp.UserControl { public partial class ToolBarMenu : DevExpress.XtraEditors.XtraUserControl { + public bool isSetBtn { get; set; } + public List<string> actions { get; } /// <summary> /// 鏂板 /// </summary> @@ -32,6 +40,31 @@ /// </summary> public event EventHandler btnSaveClick; + /// <summary> + /// 鍙栨秷 + /// </summary> + public event EventHandler btnEscClick; + + /// <summary> + /// 寮�宸� + /// </summary> + public event EventHandler btnKGClick; + + /// <summary> + /// 鏉冮檺 + /// </summary> + public event EventHandler btnRoleClick; + + /// <summary> + /// 鏉冮檺 + /// </summary> + public event EventHandler btnReportClick; + + /// <summary> + /// 鏉冮檺 + /// </summary> + public event EventHandler btnQueryClick; + public ToolBarMenu() { @@ -41,6 +74,88 @@ this.btnEdit.ItemClick += BtnEdit_ItemClick; this.btnLoad.ItemClick += BtnLoad_ItemClick; this.btnSave.ItemClick += BtnSave_ItemClick; + this.btnKG.ItemClick += BtnKG_ItemClick; + this.btnEsc.ItemClick += BtnEsc_ItemClick; + this.btnRole.ItemClick += BtnRole_ItemClick; + this.btnReport.ItemClick += BtnReport_ItemClick; + this.btnQuery.ItemClick += BtnQuery_ItemClick; + List<string> lst = new List<string>(); + foreach (BarItem item in barManager1.Items) + { + if (item is BarLargeButtonItem largeButtonItem) + { + if (!string.IsNullOrEmpty(item.Caption)) + lst.Add(item.Caption); + } + } + this.actions = lst; + //鍒濆鍖栨寜閽姸鎬� + // initialization(); + } + + private void BtnQuery_ItemClick(object sender, ItemClickEventArgs e) + { + if (btnQueryClick != null) + { + btnQueryClick(this, e); + } + } + + private void BtnReport_ItemClick(object sender, ItemClickEventArgs e) + { + if (btnReportClick != null) + { + btnReportClick(this, e); + } + } + /// <summary> + /// 鍒濆鍖栨寜閽姸鎬� + /// </summary> + protected override void OnCreateControl() + { + base.OnCreateControl(); + if (this.Parent != null) + { + getNamespace(); + } + } + //private void initialization() + //{ + // List<string> lst = new List<string>(); + // //lst.Add(btnAdd.Name); + // //lst.Add(btnEdit.Name); + // //lst.Add(btnLoad.Name); + // //lst.Add(btnDel.Name); + // //lst.Add(btnRole.Name); + // //lst.Add(btnReport.Name); + // //lst.Add(btnQuery.Name); + // setBtn(lst); + //} + + private void BtnEsc_ItemClick(object sender, ItemClickEventArgs e) + { + if (MsgHelper.AskQuestion("纭畾瑕佽鍙栨秷鍚�?")) + { + List<string> lst = new List<string>(); + lst.Add(btnAdd.Name); + lst.Add(btnEdit.Name); + lst.Add(btnLoad.Name); + lst.Add(btnDel.Name); + lst.Add(btnRole.Name); + _enabledBtn(lst); + if (btnEscClick != null) + { + btnEscClick(this, e); + } + } + } + + private void BtnKG_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e) + { + if (btnKGClick != null) + { + btnKGClick(this, e); + } } private void BtnSave_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e) @@ -48,19 +163,37 @@ if (btnSaveClick != null) { btnSaveClick(this, e); + if (isSetBtn == true) + { + List<string> lst = new List<string>(); + lst.Add(btnAdd.Name); + lst.Add(btnEdit.Name); + lst.Add(btnEsc.Name); + _enabledBtn(lst); + } } } private void BtnLoad_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e) { + if (btnLoadClick != null) { + //List<string> lst = new List<string>(); + //lst.Add(btnRole.Name); + //setBtn(lst); btnLoadClick(this, e); } + } private void BtnEdit_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e) { + List<string> lst = new List<string>(); + lst.Add(btnSave.Name); + lst.Add(btnEsc.Name); + + _enabledBtn(lst); if (btnEdtClick != null) { btnEdtClick(this, e); @@ -69,17 +202,157 @@ private void BtnDel_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e) { - if (btnDelClick != null) { + if (btnDelClick != null) + { btnDelClick(this, e); } } + /// <summary> + /// + /// </summary> + /// <param name="sender"></param> + /// <param name="e"></param> private void BtnAdd_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e) { + List<string> lst = new List<string>(); + lst.Add(btnSave.Name); + lst.Add(btnEsc.Name); + _enabledBtn(lst); if (btnAddClick != null) { btnAddClick(this, e); } + + } + + private void BtnRole_ItemClick(object sender, ItemClickEventArgs e) + { + //List<string> lst = new List<string>(); + //lst.Add(btnSave.Name); + //lst.Add(btnEsc.Name); + //setBtn(lst); + if (btnRoleClick != null) + { + btnRoleClick(this, e); + } + } + private void _enabledBtn(List<string> lstBtn) + { + foreach (BarItem item in barManager1.Items) + { + if (item is BarLargeButtonItem largeButtonItem) + { + if (lstBtn.Contains(item.Name)) + largeButtonItem.Enabled = true; + else + largeButtonItem.Enabled = false; + } + } + } + + /// <summary> + /// 鏍规嵁鍛藉悕绌洪棿鍜屾潈闄愶紝璇诲彇璇ョ獥浣撲笅闈㈢殑鎸夐挳闆嗗悎 + /// </summary> + private void getNamespace() + { + string _formNamespace = ""; + Control parentControl = this; + while (parentControl.Parent != null) + { + if (parentControl.Parent is Form parentForm) + { + Type formType = parentForm.GetType(); + _formNamespace = formType.FullName; + break; + } + parentControl = parentControl.Parent; + } + var _obj = new + { + userGuid = LoginInfoModel.CurrentUser.LoginUserGuid, + orgGuid = LoginInfoModel.CurrentUser.LoginOrgGuid, + formNamespace = _formNamespace, + }; + string strReturn = ""; + try + { + strReturn = UtilityHelper.HttpPost("", "MenuAction/GetListByUserOrgSpace", JsonConvert.SerializeObject(_obj)); + ReturnModel<DataTable> dd = UtilityHelper.GetNoPageTableByJson(strReturn); + DataTable dt = dd.rtnData; + List<string> _enabledList = new List<string>(); + foreach (BarItem item in barManager1.Items) + { + ///鍏锋湁鑱斿姩鍏崇郴鐨勬寜閽�(澧炲姞)锛� + if (item.Caption == "澧炲姞") + { + bool ld1 = dt.AsEnumerable().Any(row => row.Field<string>("name") == "澧炲姞" + //|| row.Field<string>("name") == "淇敼" + ); + if (ld1 == true) + { + btnEsc.Visibility = btnSave.Visibility = btnLoad.Visibility = BarItemVisibility.Always; + btnAdd.Visibility = BarItemVisibility.Always; + _enabledList.Add(item.Name); + continue; + } + } + ///鍏锋湁鑱斿姩鍏崇郴鐨勬寜閽�(淇敼)锛� + if (item.Caption == "淇敼") + { + bool ld1 = dt.AsEnumerable().Any(row => row.Field<string>("name") == "淇敼" + ); + if (ld1 == true) + { + btnEsc.Visibility = btnSave.Visibility = btnLoad.Visibility = BarItemVisibility.Always; + btnEdit.Visibility = BarItemVisibility.Always; + _enabledList.Add(item.Name); + continue; + } + } + ///鍏锋湁鑱斿姩鍏崇郴鐨勬寜閽�(鏌ヨ)锛� + bool ld2 = dt.AsEnumerable().Any(row => row.Field<string>("name") == "鏌ヨ" + ); + if (ld2 == true) + { + if (item.Caption == "鍒锋柊") + { + item.Visibility = BarItemVisibility.Always; + //鍑嗗鍚敤 + _enabledList.Add(item.Name); + continue; + } + } + //鎸夐挳鏄惁鍦ㄦ潈闄愯〃涓� + bool exists = dt.AsEnumerable().Any(row => row.Field<string>("name") == item.Caption); + if (exists == true) + { + item.Visibility = BarItemVisibility.Always; + //鍑嗗鍚敤 + string _btnName = _FindBarLargeButtonItemByCaption(item.Caption); + if (!string.IsNullOrEmpty(_btnName)) + _enabledList.Add(_btnName); + } + } + _enabledBtn(_enabledList); + } + catch (Exception ex) + { + ToolBox.MsgHelper.Warning("鎻愮ず锛�" + ex.Message); + } + } + + + private string _FindBarLargeButtonItemByCaption(string caption) + { + foreach (BarItem item in barManager1.Items) + { + if (item is BarLargeButtonItem largeButtonItem && largeButtonItem.Caption == caption) + { + return largeButtonItem.Name; + } + } + return null; } } } -- Gitblit v1.9.3