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