duheng
2025-03-28 e411302bca8857e102443a5250c82b9580ef07a3
WinFrmUI/PBS.WinFrmUI/02-facility/FacilityMgrPage.cs
@@ -1,5 +1,7 @@
using DevExpress.Utils.DragDrop;
using DevExpress.XtraEditors;
using HStation.WinFrmUI;
using Yw;
using Yw.WinFrmUI;
namespace PBS.WinFrmUI
@@ -10,6 +12,7 @@
        {
            InitializeComponent();
            this.gridView1.SetNormalView(30);
            behaviorManager1.Detach<DragDropBehavior>(gridView1);
        }
        private List<FacilityViewModel> _allBindingList;
@@ -34,24 +37,27 @@
            }
            this.facilityViewModelBindingSource.DataSource = _allBindingList;
            this.facilityViewModelBindingSource.ResetBindings(false);
            var allFacility = await new PBS.BLL.Place().GetAll();
            repositoryItemTreeListLookUpEdit1.DataSource = allFacility;
        }
        //新增
        private void BtnAdd_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e)
        {
            var dlg = new AddFacilityDlg();
            dlg.SetBindingData();
            dlg.ReloadDataEvent += async (vmo) =>
            {
                var id = await _facilityBll.Insert(vmo);
                if (id > 0)
                {
                    vmo.ID = id;
                    _allBindingList.Add(new FacilityViewModel(vmo));
                    this.facilityViewModelBindingSource.ResetBindings(false);
                    return true;
                }
                return false;
            };
           {
               var id = await _facilityBll.Insert(vmo);
               if (id > 0)
               {
                   vmo.ID = id;
                   _allBindingList.Add(new FacilityViewModel(vmo));
                   this.facilityViewModelBindingSource.ResetBindings(false);
                   return true;
               }
               return false;
           };
            dlg.ShowDialog();
        }
@@ -117,14 +123,14 @@
        private void barCkDrag_CheckedChanged(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;
            if (barCkDrag.Checked)
            {
                behaviorManager1.Attach<DragDropBehavior>(this.gridView1);
            }
            else
            {
                behaviorManager1.Detach<DragDropBehavior>(gridView1);
            }
        }
        private async void dragDropEvents1_DragDrop(object sender, DevExpress.Utils.DragDrop.DragDropEventArgs e)
@@ -229,13 +235,13 @@
                TipFormHelper.ShowWarn("上移失败!");
                return;
            }
            var current = this.gridView1.GetRow(rowHandle) as PlaceViewModel;
            var current = this.gridView1.GetRow(rowHandle) as FacilityViewModel;
            if (current == null)
            {
                return;
            }
            var prevHandle = rowHandle - 1;
            var prev = this.gridView1.GetRow(prevHandle) as PlaceViewModel;
            var prev = this.gridView1.GetRow(prevHandle) as FacilityViewModel;
            if (prev == null)
            {
                return;
@@ -277,13 +283,13 @@
                TipFormHelper.ShowWarn("下移失败!");
                return;
            }
            var current = this.gridView1.GetRow(rowHandle) as PlaceViewModel;
            var current = this.gridView1.GetRow(rowHandle) as FacilityViewModel;
            if (current == null)
            {
                return;
            }
            var nextHandle = rowHandle + 1;
            var next = this.gridView1.GetRow(nextHandle) as PlaceViewModel;
            var next = this.gridView1.GetRow(nextHandle) as FacilityViewModel;
            if (next == null)
            {
                return;
@@ -305,5 +311,28 @@
            this.facilityViewModelBindingSource.ResetBindings(false);
            this.gridView1.FocusedRowHandle = nextHandle;
        }
        private void barBtnUpdateUseStatus_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e)
        {
            var vm = this.gridView1.GetCurrentViewModel(_allBindingList);
            if (vm == null)
            {
                return;
            }
            var dlg = new SetUseStatusDlg();
            dlg.SetBindingData((Yw.Model.eUseStatus)vm.UseStatus);
            dlg.ReloadDataEvent += async (status) =>
            {
                var bol = await new PBS.BLL.Facility().UpdateUseStatus(vm.ID, status);
                if (bol)
                {
                    vm.UseStatus = (Yw.Vmo.eUseStatus)(int)status;
                    this.gridView1.RefreshRow(this.gridView1.FocusedRowHandle);
                    return true;
                }
                return false;
            };
            dlg.ShowDialog();
        }
    }
}