From a8ed3d24ba97b9ee93de0f15fb15b46a9850b2fc Mon Sep 17 00:00:00 2001
From: lg <999544862qq.com>
Date: 星期二, 17 九月 2024 16:58:39 +0800
Subject: [PATCH] 基础资料

---
 DevApp/Gs.DevApp/UserControl/ToolBarMenu.cs |  118 ++++++++++++++++++++++++++++++++++++++++++++---------------
 1 files changed, 88 insertions(+), 30 deletions(-)

diff --git a/DevApp/Gs.DevApp/UserControl/ToolBarMenu.cs b/DevApp/Gs.DevApp/UserControl/ToolBarMenu.cs
index de3d36b..9fc2707 100644
--- a/DevApp/Gs.DevApp/UserControl/ToolBarMenu.cs
+++ b/DevApp/Gs.DevApp/UserControl/ToolBarMenu.cs
@@ -14,7 +14,7 @@
     public partial class ToolBarMenu : DevExpress.XtraEditors.XtraUserControl
     {
         public bool isSetBtn { get; set; }
-        public List<string> actions { get; set; }
+        public List<string> actions { get; }
         /// <summary>
         /// 鏂板
         /// </summary>
@@ -79,16 +79,18 @@
             this.btnRole.ItemClick += BtnRole_ItemClick;
             this.btnReport.ItemClick += BtnReport_ItemClick;
             this.btnQuery.ItemClick += BtnQuery_ItemClick;
-            initialization();
             List<string> lst = new List<string>();
             foreach (BarItem item in barManager1.Items)
             {
                 if (item is BarLargeButtonItem largeButtonItem)
                 {
-                    lst.Add(item.Caption);
+                    if (!string.IsNullOrEmpty(item.Caption))
+                        lst.Add(item.Caption);
                 }
             }
             this.actions = lst;
+            //鍒濆鍖栨寜閽姸鎬�
+            // initialization();
         }
 
         private void BtnQuery_ItemClick(object sender, ItemClickEventArgs e)
@@ -106,7 +108,9 @@
                 btnReportClick(this, e);
             }
         }
-
+        /// <summary>
+        /// 鍒濆鍖栨寜閽姸鎬�
+        /// </summary>
         protected override void OnCreateControl()
         {
             base.OnCreateControl();
@@ -115,19 +119,18 @@
                 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 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)
         {
@@ -139,7 +142,7 @@
                 lst.Add(btnLoad.Name);
                 lst.Add(btnDel.Name);
                 lst.Add(btnRole.Name);
-                setBtn(lst);
+                _enabledBtn(lst);
                 if (btnEscClick != null)
                 {
                     btnEscClick(this, e);
@@ -166,7 +169,7 @@
                     lst.Add(btnAdd.Name);
                     lst.Add(btnEdit.Name);
                     lst.Add(btnEsc.Name);
-                    setBtn(lst);
+                    _enabledBtn(lst);
                 }
             }
         }
@@ -190,7 +193,7 @@
             lst.Add(btnSave.Name);
             lst.Add(btnEsc.Name);
 
-            setBtn(lst);
+            _enabledBtn(lst);
             if (btnEdtClick != null)
             {
                 btnEdtClick(this, e);
@@ -215,7 +218,7 @@
             List<string> lst = new List<string>();
             lst.Add(btnSave.Name);
             lst.Add(btnEsc.Name);
-            setBtn(lst);
+            _enabledBtn(lst);
             if (btnAddClick != null)
             {
                 btnAddClick(this, e);
@@ -234,7 +237,7 @@
                 btnRoleClick(this, e);
             }
         }
-        private void setBtn(List<string> lstBtn)
+        private void _enabledBtn(List<string> lstBtn)
         {
             foreach (BarItem item in barManager1.Items)
             {
@@ -249,7 +252,7 @@
         }
 
         /// <summary>
-        /// 鏍规嵁鍛藉悕绌洪棿锛岃鍙栬绐椾綋涓嬮潰鐨勬寜閽泦鍚�
+        /// 鏍规嵁鍛藉悕绌洪棿鍜屾潈闄愶紝璇诲彇璇ョ獥浣撲笅闈㈢殑鎸夐挳闆嗗悎
         /// </summary>
         private void getNamespace()
         {
@@ -277,24 +280,79 @@
                 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 == "鍙栨秷" || item.Caption == "鍒锋柊" || item.Caption == "淇濆瓨")
+                    ///鍏锋湁鑱斿姩鍏崇郴鐨勬寜閽�(澧炲姞)锛�
+                    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;
-                        continue;
+                        //鍑嗗鍚敤
+                        string _btnName = _FindBarLargeButtonItemByCaption(item.Caption);
+                        if (!string.IsNullOrEmpty(_btnName))
+                            _enabledList.Add(_btnName);
                     }
-                    bool exists = dt.AsEnumerable().Any(row => row.Field<string>("name") == item.Caption);
-                    if (exists == false)
-                        item.Visibility = BarItemVisibility.Never;
-                    else
-                        item.Visibility = BarItemVisibility.Always;
                 }
+                _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