lixiaojun
2024-12-02 dbcef6befb123066754141adef6dc3ef6653b6ce
WinFrmUI/HStation.WinFrmUI.Xhs.Core/03-simulation/05-function/XhsProjectSimulationFunctionCtrl.cs
@@ -32,11 +32,11 @@
        /// <summary>
        /// 显示项目站方案事件
        /// </summary>
        public event Action<XhsProjectVmo, XhsProjectSiteVmo, XhsSchemeVmo, SvgImage> ShowProjectSiteSchemeEvent;
        public event Action<XhsProjectVmo, XhsProjectSiteVmo, XhsSchemeVmo, Yw.Model.HydroModelInfo, Dictionary<HydroWorkingVmo, bool>, SvgImage> ShowProjectSiteSchemeEvent;
        /// <summary>
        /// 显示项目站方案工况事件
        /// </summary>
        public event Action<XhsProjectVmo, XhsProjectSiteVmo, XhsSchemeVmo, Yw.Model.HydroModelInfo, HydroWorkingVmo> ShowProjectSiteSchemeWorkingEvent;
        public event Action<XhsProjectVmo, XhsProjectSiteVmo, XhsSchemeVmo, Yw.Model.HydroModelInfo, HydroWorkingVmo, SvgImage> ShowProjectSiteSchemeWorkingEvent;
        /// <summary>
        /// 项目站方案工况选择工况事件
        /// </summary>
@@ -47,7 +47,7 @@
        /// <summary>
        /// 创建项目站方案事件
        /// </summary>
        public event Action<XhsProjectVmo, XhsProjectSiteVmo, SvgImage> CreateProjectSiteSchemeEvent;
        public event Action<XhsProjectVmo, XhsProjectSiteVmo, Yw.Model.HydroModelInfo, SvgImage> CreateProjectSiteSchemeEvent;
        /// <summary>
        /// 比对项目工况事件
@@ -311,7 +311,7 @@
            elementScheme.Style = DevExpress.XtraBars.Navigation.ElementStyle.Item;
            elementScheme.ImageOptions.ImageIndex = 3;
            elementScheme.Tag = scheme;
            elementScheme.Click += (sender, e) =>
            elementScheme.Click += async (sender, e) =>
            {
                if (_project == null)
                {
@@ -321,7 +321,20 @@
                {
                    return;
                }
                this.ShowProjectSiteSchemeEvent?.Invoke(_project, _projectSite, scheme, this.svgImg32[3]);
                var hydroInfo = await GetSchemeHydroInfo(scheme);
                if (hydroInfo == null)
                {
                    return;
                }
                Dictionary<HydroWorkingVmo, bool> dict = null;
                if (_allSchemeWorkingCheckedListDict != null)
                {
                    if (_allSchemeWorkingCheckedListDict.ContainsKey(scheme))
                    {
                        dict = _allSchemeWorkingCheckedListDict[scheme];
                    }
                }
                this.ShowProjectSiteSchemeEvent?.Invoke(_project, _projectSite, scheme, hydroInfo, dict, this.svgImg32[3]);
            };
            this.elementSchemeList.Elements.Add(elementScheme);
        }
@@ -366,17 +379,10 @@
            elementWorking.Style = DevExpress.XtraBars.Navigation.ElementStyle.Item;
            elementWorking.Text = working.Name;
            elementWorking.Tag = working;
            elementWorking.Click += (sender, e) =>
            elementWorking.Click += async (sender, e) =>
            {
                if (_project == null)
                {
                    return;
                }
                if (_projectSite == null)
                {
                    return;
                }
                var hydroInfo = await GetSchemeHydroInfo(scheme, true);
                this.ShowProjectSiteSchemeWorkingEvent?.Invoke(_project, _projectSite, scheme, hydroInfo, working, this.svgImg32[4]);
            };
            elementScheme.Elements.Add(elementWorking);
        }
@@ -426,7 +432,7 @@
        }
        //创建项目站方案
        private void btnCreateProjectSiteScheme_Click(object sender, EventArgs e)
        private async void btnCreateProjectSiteScheme_Click(object sender, EventArgs e)
        {
            if (_project == null)
            {
@@ -436,7 +442,12 @@
            {
                return;
            }
            this.CreateProjectSiteSchemeEvent?.Invoke(_project, _projectSite, this.svgImg32[3]);
            var hydroInfo = await GetHydroInfo(true);
            if (hydroInfo == null)
            {
                return;
            }
            this.CreateProjectSiteSchemeEvent?.Invoke(_project, _projectSite, hydroInfo, this.svgImg32[3]);
        }
        //工况对比