using DevExpress.Utils.Svg; using HStation.WinFrmUI.Xhs.PumpProduct; using Yw.WinFrmUI.Page; namespace HStation.WinFrmUI { public partial class HomeXhsProjectPage : DocumentPage { public HomeXhsProjectPage() { InitializeComponent(); this.PageTitle.Caption = "首页"; this.PageTitle.HeaderSvgImage = this.svgImg32[0]; this.PageTitle.SvgImageSize = new Size(24, 24); this.PageTitle.AllowClose = false; this.repPicEdit.SizeMode = DevExpress.XtraEditors.Controls.PictureSizeMode.Zoom; } //页面类 private class CurrentViewModel { public string Name { get; set; } public int Count { get; set; } public SvgImage Image { get; set; } } private Lazy _bllProjectStd = new(() => new BLL.XhsProjectStd()); private List _allProjectList = null; private Lazy _bllPump = new(() => new BLL.PumpMain()); /// /// 初始化数据源 /// public override async void InitialDataSource() { _allProjectList = await _bllProjectStd.Value.GetAll(); var allPump = await _bllPump.Value.GetAll(); var vm = new CurrentViewModel() { Name = "项目数量", Count = _allProjectList?.Count ?? 0, Image = ImageLib.Project }; var vm2 = new CurrentViewModel() { Name = "水泵型号数量", Count = allPump?.Count ?? 0, Image = ImageLib.PumpMain }; var vm3 = new CurrentViewModel() { Name = "阀门型号数量", Count = 0, Image = ImageLib.Valve }; var list = new List() { vm, vm2, vm3 }; this.gridControl1.DataSource = list; this.gridControl1.RefreshDataSource(); this.mapViewProjectListContainer1.LoadCompletedEvent += MapViewProjectListContainer1_LoadCompletedEvent; await this.mapViewProjectListContainer1.InitialContainer(); } /// /// 刷新数据 /// public override async void RefreshData() { base.RefreshData(); _allProjectList = await _bllProjectStd.Value.GetAll(); await this.mapViewProjectListContainer1.SetProjectList(_allProjectList); this.homeXhsProjectTreeListCtrl1.SetBindingData(_allProjectList); } //地图加载完成 private async void MapViewProjectListContainer1_LoadCompletedEvent() { await this.mapViewProjectListContainer1.SetProjectList(_allProjectList); this.homeXhsProjectTreeListCtrl1.SetBindingData(_allProjectList); } //选择项目事件 private async void homeXhsProjectTreeListCtrl1_SelectProjectEvent(XhsProjectStdDto obj) { await this.mapViewProjectListContainer1.SelectProject(obj.ID); var vm = new HomeXhsProjectPropertyViewModel(obj); this.homeXhsProjectPropertyCtrl1.SelectedObject = vm; } //导入完成事件 private void homeXhsProjectTreeListCtrl1_ImportProjectCompletedEvent(ImportXhsProjectViewModel obj) { RefreshData(); } //跳转事件 private async void homeXhsProjectPropertyCtrl1_JumpDirectEvent(XhsProjectStdDto obj) { var guid = new PageGuid() { Modular = Yw.WinFrmUI.PageModular.Bimface, MoudingType = Yw.WinFrmUI.Page.eMoudingType.Tab, Function = Yw.WinFrmUI.PageFunction.ViewBimface3d, TagName = $"{obj.ID}" }; if (!IsExistPage(guid, true)) { var page = new XhsSchemeMultiMgrPage(); await page.SetBindingData(obj.ID); //var page = new XhsProjectSimulationMgrPage(); CreatePage(page, guid); } } //刷新数据事件 private void homeXhsProjectTreeListCtrl1_RefreshDataEvent() { RefreshData(); } //单击数量总览跳转 private void layoutView1_FieldValueClick(object sender, DevExpress.XtraGrid.Views.Layout.Events.FieldValueClickEventArgs e) { if (e.Column.Caption != "名称") return; switch (e.FieldValue) { case "项目数量": var guid = new PageGuid() { Modular = "Xhs", MoudingType = eMoudingType.Tab, Function = "ProjectMgr", }; if (!IsExistPage(guid, true)) { var page = new XhsProjectMgrPage(); CreatePage(page, guid); } break; case "水泵型号数量": var pumpGuid = new PageGuid() { Modular = "Xhs", MoudingType = eMoudingType.Tab, Function = "PumpMgr", }; if (!IsExistPage(pumpGuid, true)) { var page = new PumpProductMainPanel(); CreatePage(page, pumpGuid); } break; case "阀门型号数量": break; } } } }