From be65218617cab71a90a9a05cf488fbb6e206b5c5 Mon Sep 17 00:00:00 2001
From: duheng <2286773002@qq.com>
Date: 星期一, 31 三月 2025 15:47:00 +0800
Subject: [PATCH] 下拉选项增加逻辑分组

---
 WinFrmUI/PBS.WinFrmUI.WE/WaterWE/EditWaterWEDlg.cs |   34 +++++++++++++++++++++++++++++++++-
 1 files changed, 33 insertions(+), 1 deletions(-)

diff --git a/WinFrmUI/PBS.WinFrmUI.WE/WaterWE/EditWaterWEDlg.cs b/WinFrmUI/PBS.WinFrmUI.WE/WaterWE/EditWaterWEDlg.cs
index e9be257..155354c 100644
--- a/WinFrmUI/PBS.WinFrmUI.WE/WaterWE/EditWaterWEDlg.cs
+++ b/WinFrmUI/PBS.WinFrmUI.WE/WaterWE/EditWaterWEDlg.cs
@@ -1,4 +1,5 @@
 锘縰sing DevExpress.XtraEditors;
+using DevExpress.XtraTreeList;
 using Yw.WinFrmUI;
 
 namespace PBS.WinFrmUI.WE
@@ -63,7 +64,25 @@
         {
             _allBindingList = new List<ItemViewModel>();
             _allUtensilList = await new PBS.BLL.WE.Utensil().GetAll();
-            this.repositoryItemTreeListLookUpEdit1.DataSource = _allUtensilList;
+            var modelList = new List<UtensilSelectViewModel>();
+
+            if (_allUtensilList != null && _allUtensilList.Count > 0)
+            {
+                foreach (var utensil in _allUtensilList)
+                {
+                    modelList.Add(new UtensilSelectViewModel(utensil));
+                }
+                var groupIdList = _allUtensilList.GroupBy(x => x.GroupID).Select(y => y.Key).ToList();
+                if (groupIdList != null && groupIdList.Count > 0)
+                {
+                    var allGroup = await new PBS.BLL.WE.UtensilGroup().GetByIds(groupIdList);
+                    foreach (var group in allGroup)
+                    {
+                        modelList.Add(new UtensilSelectViewModel(group));
+                    }
+                }
+            }
+            this.repositoryItemTreeListLookUpEdit1.DataSource = modelList;
             if (item == null)
             {
                 _CatalogueMappingVmo = new PBS.Vmo.WE.CatalogueMappingVmo();
@@ -173,5 +192,18 @@
                 }
             }
         }
+
+        private void treeListLookUpEdit1TreeList_BeforeFocusNode(object sender, BeforeFocusNodeEventArgs e)
+        {
+            TreeList treeList = sender as TreeList;
+            if (treeList != null)
+            {
+                // 妫�鏌ュ綋鍓嶇劍鐐硅妭鐐规槸鍚︿负鐖惰妭鐐�
+                if (e.Node.HasChildren)
+                {
+                    e.CanFocus = false;
+                }
+            }
+        }
     }
 }
\ No newline at end of file

--
Gitblit v1.9.3