lixiaojun
2024-09-27 97c4b1bc4ca88c5487f8ae38a0da32c93b66c4ce
WinFrmUI/HStation.WinFrmUI.Xhs.Core/04-simulation/XhsProjectSimulationMgrPage.cs
@@ -27,6 +27,15 @@
        private Yw.Model.HydroModelInfo _hydroInfo = null;//水力信息
        /// <summary>
        /// 绑定数据
        /// </summary>
        public async Task SetBindingData(long projectId)
        {
            _project = await BLLFactory<HStation.BLL.XhsProject>.Instance.GetByID(projectId);
            await SetBindingData(_project);
        }
        /// <summary>
        /// 设置数据
        /// </summary>
        public async Task SetBindingData(XhsProjectVmo project)
@@ -42,32 +51,6 @@
        }
        /// <summary>
        /// 绑定数据
        /// </summary>
        public async Task SetBindingData(long projectId)
        {
            _project = await BLLFactory<HStation.BLL.XhsProject>.Instance.GetByID(projectId);
            await SetBindingData(_project);
            //this.xhsSchemeMgrListCtrl1.SetBindingData(projectId);
            //_project = await new BLL.XhsProjectStd().GetByID(projectId);
            //this.PageTitle.Caption =
            //var projectSite = await new BLL.XhsProjectSiteStd().GetDefaultByProjectID(_project.ID);
            //if (projectSite == null)
            //{
            //    return;
            //}
            //var relation = await new Yw.BLL.HydroModelRelation()
            //    .GetDefaultByObjectTypeAndObjectIDOfPurpose(HStation.Xhs.DataType.XhsProjectSite, projectSite.ID, Yw.Bimface.Purpose.Simulation);
            //if (relation == null)
            //{
            //    return;
            //}
            //_hydroInfo = await new Yw.BLL.HydroModelInfo().GetByID(relation.ModelID);
        }
        /// <summary>
        /// 初始化数据源
        /// </summary>
        public override void InitialDataSource()
@@ -76,10 +59,16 @@
        }
        //项目站选择改变事件
        private void XhsProjectSimulationSchemeMgrCtrl1_ProjectSiteSelectedChangedEvent(XhsProjectSiteVmo obj)
        private async void XhsProjectSimulationSchemeMgrCtrl1_ProjectSiteSelectedChangedEvent(XhsProjectSiteVmo obj)
        {
            _projectSite = obj;
            if (_projectSite != null)
            {
                var hydroRelation = await BLLFactory<Yw.BLL.HydroModelRelation>.Instance
                   .GetDefaultByObjectTypeAndObjectIDOfPurpose(HStation.Xhs.DataType.XhsProjectSite, _projectSite.ID, HStation.Xhs.Purpose.Simulation);
                _hydroInfo = await BLLFactory<Yw.BLL.HydroModelInfo>.Instance.GetByID(hydroRelation.ModelID);
                this.xhsProjectSimulationFunctionMgrCtrl1.SetBindingData();
            }
        }
        //显示项目信息事件
@@ -94,11 +83,7 @@
            if (!IsExistPage(guid, true))
            {
                var page = new XhsProjectSimulationInfoPage();
                await page.SetBindingData(_project, _projectSite);
                // page.SetBindingData(_project.ID);
                //page.PageTitle.Caption = e.Element.Text;
                //page.PageTitle.HeaderSvgImage = e.Element.ImageOptions.SvgImage;
                //page.PageTitle.SvgImageSize = svg_image_size;
                await page.SetBindingData(_project, _projectSite, _hydroInfo);
                CreatePage(page, guid);
            }
@@ -116,11 +101,7 @@
            if (!IsExistPage(guid, true))
            {
                var page = new XhsProjectSimulationCorePage();
                await page.SetBindingData(_project, _projectSite);
                //page.SetBindingData(_project.ID);
                //page.PageTitle.Caption = e.Element.Text;
                //page.PageTitle.HeaderSvgImage = e.Element.ImageOptions.SvgImage;
                //page.PageTitle.SvgImageSize = svg_image_size;
                await page.SetBindingData(_project, _projectSite, _hydroInfo);
                CreatePage(page, guid);
            }
        }
@@ -145,108 +126,6 @@
        private void XhsProjectSimulationFunctionMgrCtrl1_CompareXhsProjectSchemeEvent(DevExpress.Utils.Svg.SvgImage obj)
        {
        }
        //功能点击
        private async void accordionControl1_ElementClick(object sender, DevExpress.XtraBars.Navigation.ElementClickEventArgs e)
        {
            var tag = e.Element.Tag;
            if (tag is not string code)
                return;
            var svg_image_size = new Size(24, 24);
            switch (code)
            {
                case "basic_info":
                    {
                        var guid = new PageGuid()
                        {
                            Modular = this.PageGuid.Modular,
                            MoudingType = eMoudingType.Tab,
                            Function = "basic_info",
                        };
                        if (!IsExistPage(guid, true))
                        {
                            var page = new XhsSchemeBasicInfoPage();
                            page.SetBindingData(_project.ID);
                            page.PageTitle.Caption = e.Element.Text;
                            page.PageTitle.HeaderSvgImage = e.Element.ImageOptions.SvgImage;
                            page.PageTitle.SvgImageSize = svg_image_size;
                            CreatePage(page, guid);
                        }
                    }
                    break;
                case "asset_mgr":
                    {
                        var guid = new PageGuid()
                        {
                            Modular = this.PageGuid.Modular,
                            MoudingType = eMoudingType.Tab,
                            Function = "asset_mgr",
                        };
                        if (!IsExistPage(guid, true))
                        {
                            var page = new XhsSchemeAssetMgrPage();
                            await page.SetBindingData(_project.ID);
                            page.PageTitle.Caption = e.Element.Text;
                            page.PageTitle.HeaderSvgImage = e.Element.ImageOptions.SvgImage;
                            page.PageTitle.SvgImageSize = svg_image_size;
                            CreatePage(page, guid);
                        }
                    }
                    break;
                case "hydraulic_simulation":
                    {
                        var guid = new PageGuid()
                        {
                            Modular = this.PageGuid.Modular,
                            MoudingType = eMoudingType.Tab,
                            Function = "hydraulic_simulation",
                        };
                        if (!IsExistPage(guid, true))
                        {
                            var page = new XhsSchemeHydraulicSimulationPage();
                            await page.SetBindingData(_project.ID);
                            page.PageTitle.Caption = e.Element.Text;
                            page.PageTitle.HeaderSvgImage = e.Element.ImageOptions.SvgImage;
                            page.PageTitle.SvgImageSize = svg_image_size;
                            CreatePage(page, guid);
                        }
                    }
                    break;
                case "create_scheme":
                    {
                        var dlg = new CreateSchemeDlg();
                        dlg.ShowDialog();
                    }
                    break;
                case "scheme_comparison":
                    {
                        var guid = new PageGuid()
                        {
                            Modular = this.PageGuid.Modular,
                            MoudingType = eMoudingType.Tab,
                            Function = "scheme_comparison",
                        };
                        if (!IsExistPage(guid, true))
                        {
                            var page = new XhsSchemeComparisonPage();
                            page.PageTitle.Caption = e.Element.Text;
                            page.PageTitle.HeaderSvgImage = e.Element.ImageOptions.SvgImage;
                            page.PageTitle.SvgImageSize = svg_image_size;
                            CreatePage(page, guid);
                        }
                    }
                    break;
                default:
                    break;
            }
        }
        #region TabbedView 相关事件处理程序