From 6c88a90d2330a27c0052a22538f6ebd6200faae7 Mon Sep 17 00:00:00 2001 From: duheng <2784771470@qq.com> Date: 星期三, 21 八月 2024 18:02:15 +0800 Subject: [PATCH] 完善主界面 --- WinFrmUI/HStation.WinFrmUI.Xhs.Core/02-project/03-mgr/XhsProjectMgrPage.cs | 221 +++++++++++++++++++++++++++++++++++++++++++++++++++--- 1 files changed, 207 insertions(+), 14 deletions(-) diff --git a/WinFrmUI/HStation.WinFrmUI.Xhs.Core/02-project/03-mgr/XhsProjectMgrPage.cs b/WinFrmUI/HStation.WinFrmUI.Xhs.Core/02-project/03-mgr/XhsProjectMgrPage.cs index 29e0e0b..7099e1d 100644 --- a/WinFrmUI/HStation.WinFrmUI.Xhs.Core/02-project/03-mgr/XhsProjectMgrPage.cs +++ b/WinFrmUI/HStation.WinFrmUI.Xhs.Core/02-project/03-mgr/XhsProjectMgrPage.cs @@ -1,5 +1,8 @@ -锘縰sing DevExpress.Utils; -using NetTaste; +锘縰sing DevExpress.CodeParser; +using DevExpress.Utils; +using DevExpress.XtraTreeList; +using HStation.WinFrmUI.Xhs; +using System.Data; namespace HStation.WinFrmUI { @@ -10,9 +13,13 @@ InitializeComponent(); this.treeList1.InitialMultiColSettings(); this.PageTitle.Caption = "椤圭洰绠$悊"; + this.PageTitle.HeaderSvgImage = this.svgImg32[0]; + this.PageTitle.SvgImageSize = new Size(24, 24); } private List<XhsProjectMgrViewModel> _allProjectList = null; + + private BLL.XhsProjectExtensions _bll = null; /// <summary> /// 鍒濆鍖栨暟鎹簮 @@ -20,40 +27,69 @@ public override async void InitialDataSource() { base.InitialDataSource(); + this.SetBindingData(); + } - var allProjectList = await new BLL.XhsProject().GetAll(); + private async void SetBindingData() + { + _bll = new BLL.XhsProjectExtensions(); + var allProjectList = await _bll.GetAll(); _allProjectList = new List<XhsProjectMgrViewModel>(); if (allProjectList != null && allProjectList.Count > 0) { foreach (var project in allProjectList) { - var vm = new XhsProjectMgrViewModel(project); - _allProjectList.Add(vm); + if (await IsHaveBimFace(project.ID)) + { + var vm = new XhsProjectMgrViewModel(project, true); + _allProjectList.Add(vm); + } + else + { + var vm = new XhsProjectMgrViewModel(project, false); + _allProjectList.Add(vm); + } } } this.xhsProjectMgrViewModelBindingSource.DataSource = _allProjectList; } - //鍙戝竷 - private void barBtnPublish_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e) + //鏌ユ壘椤圭洰鏄惁瀛樺湪妯″瀷 + private async Task<bool> IsHaveBimFace(long ProjectID) { - + var projectSite = await new BLL.XhsProjectSiteStd().GetDefaultByProjectID(ProjectID); + if (projectSite == null) + { + return false; + } + var relation = await new Yw.BLL.BimfaceFileRelationStd() + .GetDefaultByObjectTypeAndObjectIDOfPurpose(HStation.Xhs.DataType.XhsProjectSite, projectSite.ID, Yw.Bimface.Purpose.Simulation); + if (relation == null) + { + return false; + } + var bimfaceFile = await new Yw.BLL.BimfaceFileStd().GetByID(relation.BimfaceFileID); + if (bimfaceFile == null) + { + return false; + } + return true; } //鏌ョ湅bimface妯″瀷 private async void barBtnViewBimface_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e) { - var vm = this.treeList1.GetCurrentViewModel(_allProjectList); + var vm = GetCurrentViewModel(); if (vm == null) { return; } var guid = new PageGuid() { - Modular = "Bimface", + Modular = Yw.WinFrmUI.PageModular.Bimface, MoudingType = Yw.WinFrmUI.Page.eMoudingType.Tab, - Function = "BimfaceView", - TagName = vm.ID.ToString() + Function = Yw.WinFrmUI.PageFunction.ViewBimface3d, + TagName = $"{vm.ID}" }; if (!IsExistPage(guid, true)) @@ -93,7 +129,164 @@ //鍒锋柊 private void barBtnRefresh_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e) { - this.RefreshData(); + this.SetBindingData(); + } + + #region 褰撳墠 + + //鑾峰彇褰撳墠 + private XhsProjectMgrViewModel GetCurrentViewModel() + { + if (_allProjectList == null) + { + Yw.WinFrmUI.MessageBoxHelper.ShowError("鏁版嵁鍒濆鍖栭敊璇紒"); + return null; + } + if (_allProjectList == null) + { + Yw.WinFrmUI.MessageBoxHelper.ShowInfo("鏃犳暟鎹�"); + return null; + } + var vm = this.treeList1.GetCurrentViewModel(_allProjectList); + if (vm == null) + { + Yw.WinFrmUI.MessageBoxHelper.ShowInfo("璇烽�夋嫨鏁版嵁琛�!"); + return null; + } + return vm; + } + + #endregion 褰撳墠 + + #region 鍩虹鎿嶄綔 + + //娣诲姞 + private void barBtnAdd_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e) + { + var dlg = new AddProjectDlg(); + dlg.ReloadDataEvent += async (rhs, mapinfo) => + { + var bll = new BLL.XhsProjectExtensions(); + var id = await bll.Insert(rhs); + if (id > 0) + { + rhs.ID = id; + var vmo = await _bll.GetByID(id); + _allProjectList.Add(new XhsProjectMgrViewModel(vmo, false)); + this.xhsProjectMgrViewModelBindingSource.ResetBindings(false); + if (mapinfo != null) + { + mapinfo.ObjectID = id; + mapinfo.ObjectName = rhs.Name; + var mapinfoid = await new Yw.BLL.MapInfo().Insert(mapinfo); + if (mapinfoid < 0) + { + TipFormHelper.ShowError("鍦板浘淇℃伅娣诲姞閿欒"); + } + } + return true; + } + return false; + }; + dlg.ShowDialog(); + } + + //缂栬緫 + private void barBtnEdit_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e) + { + var currentVm = this.GetCurrentViewModel(); + var dlg = new EditProjectDlg(); + dlg.SetBindingData(currentVm.ID); + dlg.ReloadDataEvent += async (rhs, mapinfo) => + { + if (await _bll.Update(rhs)) + { + currentVm.Reset(rhs); + this.xhsProjectMgrViewModelBindingSource.ResetBindings(false); + if (mapinfo != null) + { + // mapinfo.ObjectID = id; + mapinfo.ObjectName = rhs.Name; + var bol = await new Yw.BLL.MapInfo().Update(mapinfo); + if (!bol) + { + TipFormHelper.ShowError("鍦板浘淇℃伅缂栬緫閿欒"); + } + } + return true; + } + return false; + }; + dlg.ShowDialog(); + } + + //鍒犻櫎 + private async void barBtnDelete_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e) + { + var currentVm = GetCurrentViewModel(); + if (currentVm == null) + { + MessageBoxHelper.ShowWarning("璇烽�夋嫨鏁版嵁琛岋紒"); + return; + } + if (MessageBoxHelper.IsClickOk($"纭鍒犻櫎鏁版嵁琛�?", "鎻愮ず")) + return; + var groupresult = await _bll.DeleteByID(currentVm.ID); + if (groupresult) + { + _allProjectList.Remove(currentVm); + this.xhsProjectMgrViewModelBindingSource.ResetBindings(false); + TipFormHelper.ShowSucceed("鍒犻櫎鎴愬姛!"); + } + else + { + TipFormHelper.ShowSucceed("鍒犻櫎澶辫触!"); + return; + } + } + + //璇︾粏淇℃伅 + private void barBtnInfo_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e) + { + } + + #endregion 鍩虹鎿嶄綔 + + private void treeList1_CustomDrawRow(object sender, DevExpress.XtraTreeList.CustomDrawRowEventArgs e) + { + var a = repositoryItemButtonEdit1.ReadOnly = true; + } + + private async void treeList1_RowCellClick(object sender, RowCellClickEventArgs e) + { + if (_allProjectList == null || _allProjectList.Count < 1) + return; + var vm = GetCurrentViewModel(); + if (vm == null) + { + return; + } + if (e.Column != this.ColViewBimface) + return; + if (!vm.IsHaveBimface) + { + TipFormHelper.ShowWarn("璇峰厛涓婁紶鏂囦欢鍐嶈繘琛屾搷浣�!"); + return; + } + var guid = new PageGuid() + { + Modular = Yw.WinFrmUI.PageModular.Bimface, + MoudingType = Yw.WinFrmUI.Page.eMoudingType.Tab, + Function = Yw.WinFrmUI.PageFunction.ViewBimface3d, + TagName = $"{vm.ID}" + }; + + if (!IsExistPage(guid, true)) + { + var page = new ViewXhsProjectBimfacePage(); + await page.SetBindingData(vm.ID); + CreatePage(page, guid); + } } } -} +} \ No newline at end of file -- Gitblit v1.9.3