lixiaojun
2024-10-21 bc8d900f5ca26216dae0e1be243ab6237790873b
WinFrmUI/HStation.WinFrmUI.Xhs.Core/03-simulation/06-simulation/XhsProjectSimulationCorePage.cs
@@ -219,6 +219,54 @@
                _propertyCtrl = new XhsProjectSimulationPropertyCtrl();
                _propertyCtrl.Dock = DockStyle.Fill;
                _propertyCtrl.InitialData(() => _hydroInfo);
                _propertyCtrl.BlinkLinkParterEvent += async (code, linkCode) =>
                { //强调连接组件
                    if (string.IsNullOrEmpty(code))
                    {
                        return;
                    }
                    if (string.IsNullOrEmpty(linkCode))
                    {
                        return;
                    }
                    if (_hydroInfo == null)
                    {
                        return;
                    }
                    var allVisualList = _hydroInfo.GetAllVisuals();
                    if (allVisualList == null || allVisualList.Count < 1)
                    {
                        return;
                    }
                    var linkParter = allVisualList.Find(x => x.Code == linkCode);
                    if (linkParter == null)
                    {
                        return;
                    }
                    var blinkCodes = new List<string>();
                    if (linkParter.GetType() == typeof(Yw.Model.HydroJunctionInfo))
                    {
                        var allLinkList = _hydroInfo.GetAllLinks();
                        if (allLinkList == null || allLinkList.Count < 1)
                        {
                            return;
                        }
                        var linkList = allLinkList.Where(x => (x.StartCode == linkParter.Code || x.EndCode == linkParter.Code) && x.Code != code).ToList();
                        if (linkList == null || linkList.Count < 1)
                        {
                            return;
                        }
                        blinkCodes.AddRange(linkList.Select(x => x.Code));
                    }
                    else
                    {
                        blinkCodes.Add(linkCode);
                    }
                    await _bimfaceCtrl?.SetBlinkComponents(blinkCodes);
                    await Task.Delay(5000);
                    await _bimfaceCtrl?.ClearBlinkComponents();
                };
            }
            return _propertyCtrl;
        }
@@ -247,6 +295,11 @@
            {
                return;
            }
            if (this.docPnlRight.Visibility == DevExpress.XtraBars.Docking.DockVisibility.Hidden)
            {
                ShowPropertyCtrl();
            }
            if (_parter == null)
            {
                _propertyCtrl?.SelectParter(null);
@@ -289,6 +342,7 @@
                    }
                }
            }
        }
        #endregion
@@ -412,11 +466,8 @@
        #region 一键显隐
        //显隐编码列表
        private List<string> _fastShowHideCodeList = null;
        //触发一键显隐
        private async void barBtnShowHide_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e)
        //一键显隐
        private async Task FastShowHidden()
        {
            if (_hydroInfo == null)
            {
@@ -426,19 +477,28 @@
            {
                return;
            }
            if (_fastShowHideCodeList == null)
            if (_fastShowHiddenCodeList == null)
            {
                _fastShowHideCodeList = _hydroInfo.Decorators.Select(x => x.Code).ToList();
                await _bimfaceCtrl?.HideComponents(_fastShowHideCodeList);
                _fastShowHiddenCodeList = _hydroInfo.Decorators.Select(x => x.Code).ToList();
                await _bimfaceCtrl?.HideComponents(_fastShowHiddenCodeList);
            }
            else
            {
                await _bimfaceCtrl?.ShowComponents(_fastShowHideCodeList);
                _fastShowHideCodeList = null;
                await _bimfaceCtrl?.ShowComponents(_fastShowHiddenCodeList);
                _fastShowHiddenCodeList = null;
            }
        }
        #endregion 一键显隐
        //显隐编码列表
        private List<string> _fastShowHiddenCodeList = null;
        //触发一键显隐
        private async void barBtnFastShowHidden_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e)
        {
            await FastShowHidden();
        }
        #endregion
        #region 水力校验
@@ -956,8 +1016,6 @@
        }
        #endregion
        #region 颜色分级