From c4049242a1cc73da8210f381db72d1a807bd08d4 Mon Sep 17 00:00:00 2001 From: lixiaojun <1287241240@qq.com> Date: 星期五, 13 十二月 2024 16:33:32 +0800 Subject: [PATCH] 冷却塔管理 --- WinFrmUI/HStation.WinFrmUI.Assets.Core/22-cooling/01-series/AssetsCoolingSeriesMgrTreeCtrl.cs | 277 ++++++++++++++++++++++++++++++++++++++++--------------- 1 files changed, 202 insertions(+), 75 deletions(-) diff --git a/WinFrmUI/HStation.WinFrmUI.Assets.Core/22-cooling/01-series/AssetsCoolingSeriesMgrTreeCtrl.cs b/WinFrmUI/HStation.WinFrmUI.Assets.Core/22-cooling/01-series/AssetsCoolingSeriesMgrTreeCtrl.cs index 46f4ea6..cc4025b 100644 --- a/WinFrmUI/HStation.WinFrmUI.Assets.Core/22-cooling/01-series/AssetsCoolingSeriesMgrTreeCtrl.cs +++ b/WinFrmUI/HStation.WinFrmUI.Assets.Core/22-cooling/01-series/AssetsCoolingSeriesMgrTreeCtrl.cs @@ -1,6 +1,10 @@ 锘縰sing DevExpress.Utils; using DevExpress.Utils.Design; +using DevExpress.XtraEditors; +using DevExpress.XtraTreeList; +using HStation.Vmo; using System.ComponentModel; +using Yw; namespace HStation.WinFrmUI { @@ -14,99 +18,41 @@ InitializeComponent(); this.treeList1.InitialDefaultSettings(); this.layoutControl1.SetupLayoutControl(); + this.barBtnAdd.ItemClick += BarBtnAdd_ItemClick; + this.barBtnEdit.ItemClick += BarBtnEdit_ItemClick; + this.barBtnDelete.ItemClick += BarBtnDelete_ItemClick; + this.barBtnInfo.ItemClick += BarBtnInfo_ItemClick; } + /// <summary> /// 鑱氱劍鏀瑰彉浜嬩欢 /// </summary> - public event Action<SimpleTreeViewModel> FocusedChangedEvent; + public event Action<AssetsCoolingSeriesVmo> FocusedChangedEvent; /// <summary> /// 鎵�鏈夌粦瀹氬垪琛� /// </summary> - private List<SimpleTreeViewModel> _allBindingList = null; + private List<AssetsCoolingSeriesMgrViewModel> _allBindingList = null; /// <summary> - /// 缁戝畾鏁版嵁 + /// 鍒濆鍖栨暟鎹� /// </summary> - public void SetBindingData(List<SimpleTreeViewModel> allList) + public async void InitialData() { - _allBindingList = new List<SimpleTreeViewModel>(); + var overlay = this.ShowOverlay(); + var allList = await BLLFactory<HStation.BLL.AssetsCoolingSeries>.Instance.GetAll(); + _allBindingList = new List<AssetsCoolingSeriesMgrViewModel>(); allList?.ForEach(x => { - _allBindingList.Add(x); + var vm = new AssetsCoolingSeriesMgrViewModel(x); + _allBindingList.Add(vm); }); this.treeList1.DataSource = _allBindingList; this.treeList1.ForceInitialize(); - } - - /// <summary> - /// 鍏ㄩ儴灞曞紑 - /// </summary> - public void ExpandAll() - { this.treeList1.ExpandAll(); + overlay.Close(); } - - /// <summary> - /// 鍏ㄩ儴鎶樺彔 - /// </summary> - public void CollapseAll() - { - this.treeList1.CollapseAll(); - } - - /// <summary> - /// 鏄剧ず鏍戠嚎 - /// </summary> - public bool ShowTreeLines - { - get { return this.barCkTreeLine.Checked; } - set { this.barCkTreeLine.Checked = value; } - } - - /// <summary> - /// 鏄剧ず鎼滅储妗� - /// </summary> - public void ShowSearchControl() - { - this.layoutControlItem1.Visibility = DevExpress.XtraLayout.Utils.LayoutVisibility.Always; - } - - /// <summary> - /// 鍏抽棴鎼滅储妗� - /// </summary> - public void CloseSearchControl() - { - this.layoutControlItem1.Visibility = DevExpress.XtraLayout.Utils.LayoutVisibility.Never; - } - - /// <summary> - /// 閫夋嫨鍥剧墖鍒楄〃 - /// </summary> - [DefaultValue(null)] - [TypeConverter(typeof(ImageCollectionImagesConverter))] - public object SelectImageList - { - get - { - return this.treeList1.SelectImageList; - } - set - { - this.treeList1.SelectImageList = value; - } - } - - /// <summary> - /// 宸ュ叿鏉″彲瑙佹�� - /// </summary> - public bool ToolBarVisible - { - get { return this.bar1.Visible; } - set { this.bar1.Visible = value; } - } - //鍏ㄩ儴灞曞紑 private void barBtnExpandAll_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e) @@ -138,10 +84,191 @@ //鑱氱劍鑺傜偣鏀瑰彉 private void treeList1_FocusedNodeChanged(object sender, DevExpress.XtraTreeList.FocusedNodeChangedEventArgs e) { - var vm = this.treeList1.GetDataRecordByNode(e.Node) as SimpleTreeViewModel; - this.FocusedChangedEvent?.Invoke(vm); + var vm = this.treeList1.GetDataRecordByNode(e.Node) as AssetsCoolingSeriesMgrViewModel; + this.FocusedChangedEvent?.Invoke(vm.Vmo); } + //鎷栨嫿鎺掑簭 + private void barCkDrag_CheckedChanged(object sender, DevExpress.XtraBars.ItemClickEventArgs e) + { + + } + + //鍒锋柊 + private void barBtnRefresh_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e) + { + InitialData(); + } + + //鍙抽敭鑿滃崟 + private void treeList1_MouseClick(object sender, MouseEventArgs e) + { + if (e.Button != MouseButtons.Right) + { + return; + } + _calcHitInfo = this.treeList1.CalcHitInfo(e.Location); + this.popupMenu1.ShowPopup(MousePosition); + } + private TreeListHitInfo _calcHitInfo = null; + + //鍙抽敭鑿滃崟寮瑰嚭鍓嶉獙璇� + private void popupMenu1_BeforePopup(object sender, CancelEventArgs e) + { + if (_calcHitInfo == null) + { + return; + } + if (_calcHitInfo.InRow) + { + this.barBtnAdd.Visibility = DevExpress.XtraBars.BarItemVisibility.Always; + this.barBtnEdit.Visibility = DevExpress.XtraBars.BarItemVisibility.Always; + this.barBtnDelete.Visibility = DevExpress.XtraBars.BarItemVisibility.Always; + this.barBtnInfo.Visibility = DevExpress.XtraBars.BarItemVisibility.Always; + } + else + { + this.barBtnAdd.Visibility = DevExpress.XtraBars.BarItemVisibility.Always; + this.barBtnEdit.Visibility = DevExpress.XtraBars.BarItemVisibility.Never; + this.barBtnDelete.Visibility = DevExpress.XtraBars.BarItemVisibility.Never; + this.barBtnInfo.Visibility = DevExpress.XtraBars.BarItemVisibility.Never; + } + } + + //鑾峰彇褰撳墠 + private AssetsCoolingSeriesMgrViewModel GetCurrentViewModel() + { + if (_allBindingList == null) + { + TipFormHelper.ShowError("鏁版嵁鍒濆鍖栭敊璇紒"); + return null; + } + if (_allBindingList.Count < 1) + { + TipFormHelper.ShowInfo("鏃犳暟鎹紒"); + return null; + } + var vm = this.treeList1.GetCurrentViewModel(_allBindingList); + if (vm == null) + { + TipFormHelper.ShowWarn("璇烽�夋嫨鏁版嵁琛岋紒"); + return null; + } + return vm; + } + + //娣诲姞 + private void Add() + { + if (_allBindingList == null) + { + TipFormHelper.ShowError("鏁版嵁鍒濆鍖栧け璐ワ紒"); + return; + } + if (_calcHitInfo == null) + { + return; + } + long parentId = 0; + if (_calcHitInfo.InRow) + { + var vm = this.treeList1.GetCurrentViewModel(_allBindingList); + if (vm != null) + { + parentId = vm.ID; + } + } + var dlg = new AddAssetsCoolingSeriesDlg(); + dlg.ReloadDataEvent += (rhs) => + { + var vm = new AssetsCoolingSeriesMgrViewModel(rhs); + _allBindingList.Add(vm); + this.treeList1.RefreshDataSource(); + TipFormHelper.ShowSucceed("娣诲姞鎴愬姛锛�"); + }; + dlg.SetBindingData(parentId); + dlg.ShowDialog(); + } + + //缂栬緫 + private void Edit() + { + var vm = GetCurrentViewModel(); + if (vm == null) + { + return; + } + var dlg = new EditAssetsCoolingSeriesDlg(); + dlg.ReloadDataEvent += (rhs) => + { + vm.Reset(rhs); + this.treeList1.RefreshNode(this.treeList1.FocusedNode); + TipFormHelper.ShowSucceed("鏇存柊鎴愬姛"); + }; + dlg.SetBindingData(vm.Vmo); + dlg.ShowDialog(); + } + + //鍒犻櫎 + private async void Delete() + { + var vm = GetCurrentViewModel(); + if (vm == null) + { + return; + } + var result = XtraMessageBox.Show("璇烽棶纭鍒犻櫎褰撳墠鏁版嵁鍚楋紵", "璇㈤棶", MessageBoxButtons.YesNo) == DialogResult.Yes; + if (!result) + { + return; + } + var bol = await BLLFactory<HStation.BLL.AssetsCoolingSeries>.Instance.DeleteByID(vm.ID); + if (!bol) + { + TipFormHelper.ShowError("鍒犻櫎澶辫触锛�"); + return; + } + _allBindingList.Remove(vm); + this.treeList1.RefreshDataSource(); + TipFormHelper.ShowSucceed("鍒犻櫎鎴愬姛锛�"); + } + + //鏌ョ湅 + private void View() + { + var vm = GetCurrentViewModel(); + if (vm == null) + { + return; + } + var dlg = new ViewAssetsCoolingSeriesDlg(); + dlg.SetBindingData(vm.Vmo); + dlg.ShowDialog(); + } + + //娣诲姞 + private void BarBtnAdd_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e) + { + Add(); + } + + //缂栬緫 + private void BarBtnEdit_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e) + { + Edit(); + } + + //璇︾粏淇℃伅 + private void BarBtnInfo_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e) + { + View(); + } + + //鍒犻櫎 + private void BarBtnDelete_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e) + { + Delete(); + } } -- Gitblit v1.9.3