From ef5f0ac9ab83f89dbca90627c0b57c4af8b163d7 Mon Sep 17 00:00:00 2001
From: duheng <2784771470@qq.com>
Date: 星期一, 10 二月 2025 17:24:08 +0800
Subject: [PATCH] 权限修改

---
 WinFrmUI/HStation.WinFrmUI.Assets.Core/01-pump/PumpProductMainPage.cs |  242 ++++++++++++++++++++++++++++++++++++++++++++++--
 1 files changed, 232 insertions(+), 10 deletions(-)

diff --git a/WinFrmUI/HStation.WinFrmUI.Assets.Core/01-pump/PumpProductMainPage.cs b/WinFrmUI/HStation.WinFrmUI.Assets.Core/01-pump/PumpProductMainPage.cs
index b972f88..b3d2c98 100644
--- a/WinFrmUI/HStation.WinFrmUI.Assets.Core/01-pump/PumpProductMainPage.cs
+++ b/WinFrmUI/HStation.WinFrmUI.Assets.Core/01-pump/PumpProductMainPage.cs
@@ -1,4 +1,6 @@
-锘縰sing HStation.WinFrmUI.Assets;
+锘縰sing DevExpress.Utils.DragDrop;
+using HStation.WinFrmUI.Assets;
+using Yw;
 
 namespace HStation.WinFrmUI.Xhs.PumpProduct
 {
@@ -17,7 +19,7 @@
             this.dockManager1.Style = DevExpress.XtraBars.Docking2010.Views.DockingViewStyle.Light;
         }
 
-        private readonly List<AssetsPumpMainViewModel> _allBindingList = new();
+        private List<AssetsPumpMainViewModel> _allBindingList = new();
 
         private BLL.AssetsPumpMain _bll = null;
 
@@ -48,9 +50,12 @@
             {
                 var alllist = await _bll.GetByPumpSeriesID(obj);
                 _allBindingList.Clear();
-                foreach (var item in alllist)
+                if (alllist != null)
                 {
-                    _allBindingList.Add(new AssetsPumpMainViewModel(item));
+                    foreach (var item in alllist)
+                    {
+                        _allBindingList.Add(new AssetsPumpMainViewModel(item));
+                    }
                 }
             }
             else
@@ -74,7 +79,7 @@
         {
             var dlg = new AddPumpProductMainDlg();
             //绯诲垪ID
-            var id = this.AssetsPumpSeriesTreeListCtrl1.GetCurrentID();
+            var id = this.AssetsPumpSeriesTreeListCtrl1.GetCurrentSeriesID();
             if (id <= 0)
             {
                 return;
@@ -238,12 +243,229 @@
             }
         }
 
-        private void barButtonItem1_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e)
+        //鎵归噺瀵煎叆
+        private void BtnImportEx_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e)
         {
-            //var model = this.gridView1.GetCurrentViewModel(_allBindingList);
-            //var dlg = new SelXhsPumpMainPhartDlg();
-            //dlg.SetBandingData(model.UserID);
-            //dlg.ShowDialog();
+            //鏍戣仛鐒D
+            var seriesId = this.AssetsPumpSeriesTreeListCtrl1.GetFocusID(out bool isGroup);
+            if (seriesId <= 0)
+            {
+                return;
+            }
+            var dlg = new ImportPumpExcel();
+            dlg.SetBindingData(seriesId);
+            dlg.ReloadDataEvent += () =>
+            {
+                AssetsPumpSeriesTreeListCtrl1_FocusedChangedEvent(seriesId, isGroup);
+            };
+            dlg.ShowDialog();
+        }
+
+        private void barCkDrag_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e)
+        {
+            SetDragEnable(this.barCkDrag.Checked);
+        }
+
+        //璁剧疆鎷栨嫿鍙敤鎬�
+        private void SetDragEnable(bool allowArag)
+        {
+            var be = this.behaviorManager1.GetBehavior<DevExpress.Utils.DragDrop.DragDropBehavior>(this.gridView1);
+            be.Properties.AllowDrag = allowArag;
+        }
+
+        //鎷栨嫿
+        private async void dragDropEvents1_DragDrop(object sender, DevExpress.Utils.DragDrop.DragDropEventArgs e)
+        {
+            var indexs = e.Data as int[];
+            if (indexs == null || indexs.Length < 1)
+            {
+                e.Handled = true;
+                return;
+            }
+            var sourceIndex = indexs[0];
+            var sourceObj = this.gridView1.GetRow(sourceIndex) as AssetsPumpMainViewModel;
+            if (sourceObj == null)
+            {
+                e.Handled = true;
+                return;
+            }
+
+            var destIndex = this.gridView1.GetRowHandleByCP(e.Location);
+            if (destIndex < 0)
+            {
+                e.Handled = true;
+                return;
+            }
+
+            var destObj = this.gridView1.GetRow(destIndex) as AssetsPumpMainViewModel;
+            if (destObj == null)
+            {
+                e.Handled = true;
+                return;
+            }
+
+            var sorters = new List<Yw.Vmo.Sorter>();
+
+            if (e.InsertType == InsertType.Before)
+            {
+                sorters.Add(new Yw.Vmo.Sorter() { ID = sourceObj.ID, SortCode = destObj.SortCode });
+                _allBindingList.ForEach(x =>
+                {
+                    if (x.SortCode >= destObj.SortCode)
+                    {
+                        if (x != sourceObj)
+                        {
+                            sorters.Add(new Yw.Vmo.Sorter() { ID = x.ID, SortCode = x.SortCode + 1 });
+                        }
+                    }
+                });
+            }
+            else if (e.InsertType == InsertType.After)
+            {
+                sorters.Add(new Yw.Vmo.Sorter() { ID = sourceObj.ID, SortCode = destObj.SortCode + 1 });
+                _allBindingList.ForEach(x =>
+                {
+                    if (x.SortCode > destObj.SortCode)
+                    {
+                        if (x != sourceObj)
+                        {
+                            sorters.Add(new Yw.Vmo.Sorter() { ID = x.ID, SortCode = x.SortCode + 1 });
+                        }
+                    }
+                });
+            }
+            else
+            {
+                e.Handled = true;
+                return;
+            }
+
+            var bll = BLLFactory<HStation.BLL.AssetsPumpMain>.Instance;
+            var bol = await bll.UpdateSorter(sorters);
+            if (!bol)
+            {
+                e.Handled = true;
+                return;
+            }
+
+            _allBindingList.ForEach(x =>
+            {
+                var sorter = sorters.Find(t => t.ID == x.ID);
+                if (sorter != null)
+                {
+                    x.SortCode = sorter.SortCode;
+                }
+            });
+        }
+
+        //涓婄Щ
+        private void barBtnUp_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e)
+        {
+            Up();
+        }
+
+        //涓嬬Щ
+        private void barBtnDown_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e)
+        {
+            Down();
+        }
+
+        //涓婄Щ
+        private async void Up()
+        {
+            var vm = this.gridView1.GetCurrentViewModel(_allBindingList);
+            if (vm == null)
+            {
+                return;
+            }
+            var rowHandle = this.gridView1.FocusedRowHandle;
+            if (rowHandle == 0)
+            {
+                TipFormHelper.ShowWarn("涓婄Щ澶辫触锛�");
+                return;
+            }
+            var current = this.gridView1.GetRow(rowHandle) as AssetsPumpMainViewModel;
+            if (current == null)
+            {
+                return;
+            }
+            var prevHandle = rowHandle - 1;
+            var prev = this.gridView1.GetRow(prevHandle) as AssetsPumpMainViewModel;
+            if (prev == null)
+            {
+                return;
+            }
+            var sorters = new List<Yw.Vmo.Sorter>();
+            sorters.Add(new Yw.Vmo.Sorter() { ID = current.ID, SortCode = prev.SortCode });
+            sorters.Add(new Yw.Vmo.Sorter() { ID = prev.ID, SortCode = current.SortCode });
+            var bol = await BLLFactory<HStation.BLL.AssetsPumpMain>.Instance.UpdateSorter(sorters);
+            if (!bol)
+            {
+                TipFormHelper.ShowError("涓婄Щ澶辫触锛�");
+                return;
+            }
+            var sortCode = current.SortCode;
+            current.SortCode = prev.SortCode;
+            prev.SortCode = sortCode;
+            _allBindingList = _allBindingList.OrderBy(x => x.SortCode).ToList();
+            this.currentViewModelBindingSource.DataSource = _allBindingList;
+            this.currentViewModelBindingSource.ResetBindings(false);
+            this.gridView1.FocusedRowHandle = prevHandle;
+        }
+
+        //涓嬬Щ
+        private async void Down()
+        {
+            var vm = this.gridView1.GetCurrentViewModel(_allBindingList);
+            if (vm == null)
+            {
+                return;
+            }
+            var rowHandle = this.gridView1.FocusedRowHandle;
+            if (rowHandle == _allBindingList.Count - 1)
+            {
+                TipFormHelper.ShowWarn("涓嬬Щ澶辫触锛�");
+                return;
+            }
+            var current = this.gridView1.GetRow(rowHandle) as AssetsPumpMainViewModel;
+            if (current == null)
+            {
+                return;
+            }
+            var nextHandle = rowHandle + 1;
+            var next = this.gridView1.GetRow(nextHandle) as AssetsPumpMainViewModel;
+            if (next == null)
+            {
+                return;
+            }
+            var sorters = new List<Yw.Vmo.Sorter>();
+            sorters.Add(new Yw.Vmo.Sorter() { ID = current.ID, SortCode = next.SortCode });
+            sorters.Add(new Yw.Vmo.Sorter() { ID = next.ID, SortCode = current.SortCode });
+            var bol = await BLLFactory<HStation.BLL.AssetsPumpMain>.Instance.UpdateSorter(sorters);
+            if (!bol)
+            {
+                TipFormHelper.ShowError("涓嬬Щ澶辫触锛�");
+                return;
+            }
+            var sortCode = current.SortCode;
+            current.SortCode = next.SortCode;
+            next.SortCode = sortCode;
+            _allBindingList = _allBindingList.OrderBy(x => x.SortCode).ToList();
+            this.currentViewModelBindingSource.DataSource = _allBindingList;
+            this.currentViewModelBindingSource.ResetBindings(false);
+            this.gridView1.FocusedRowHandle = nextHandle;
+        }
+
+        private void barBtnSearch_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e)
+        {
+            this.gridView1.OptionsFind.AlwaysVisible = !this.gridView1.OptionsFind.AlwaysVisible;
+        }
+
+        //鍒锋柊
+        private void barBtnRefresh_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e)
+        {
+            var seriesId = this.AssetsPumpSeriesTreeListCtrl1.GetFocusID(out bool isGroup);
+            AssetsPumpSeriesTreeListCtrl1_FocusedChangedEvent(seriesId, isGroup);
         }
     }
 }
\ No newline at end of file

--
Gitblit v1.9.3