lixiaojun
2024-11-08 571fb22bfd7ca4b0ca49328be3a3e91c0e3fed0d
WinFrmUI/HStation.WinFrmUI.Xhs.Core/03-simulation/06-simulation/XhsProjectSimulationCorePage.cs
@@ -226,6 +226,15 @@
                    await Task.Delay(5000);
                    await _bimfaceCtrl?.ClearBlinkComponents();
                };
                _propertyCtrl.ViewParterEvent += (parter) =>
                {
                    if (parter == null)
                    {
                        return;
                    }
                    _bimfaceCtrl?.ZoomToComponent(parter.Code);
                };
                _propertyCtrl.PropertyValueChangedEvent += (parter) =>
                {
                    if (parter == null)
@@ -235,14 +244,22 @@
                    UpdateParterListProperty(parter);
                    AutoApplyGrading();
                };
                _propertyCtrl.ViewParterEvent += (parter) =>
                _propertyCtrl.MarkPropertyValueChangedEvent += (parter) =>
                {
                    if (parter == null)
                    {
                        return;
                    }
                    _bimfaceCtrl?.ZoomToComponent(parter.Code);
                    //标注属性发生改变
                    //判断当前是否有标注展示,若有则更新标注,最好是更新单个标注
                };
                _propertyCtrl.GradingPropertyValueChangedEvent += (parter) =>
                {
                    //分级属性发生改变
                    //判断当前是否有分级展示,若有则更新分级,最好是更新单个分级
                };
                _propertyCtrl.FlowDirectionPropertyValueChangedEvent += (parter) =>
                {
                    //流向属性发生改变
                    //判断流向是否加载,如果加载则更新流向,最好是更新单个流向
                };
            }
            return _propertyCtrl;
        }
@@ -303,7 +320,7 @@
            {
                return;
            }
            _propertyCtrl?.UpdateProperty();
            _propertyCtrl?.UpdateProperty();
        }
        //更新选择组件计算属性
@@ -1253,7 +1270,7 @@
                WaitFormHelper.ShowWaitForm(this, "正在计算分析中,请稍候...");
                //await Task.Delay(5000);
                var netWork = Yw.Hydro.ParseHelper.ToNetwork(_hydroInfo);
@@ -1563,17 +1580,31 @@
        #region 构件查询
        //查询组件
        private XhsProjectSimulationSearchCtrl _searchCtrl = null;
        private HydroParterSearchListCtrl _searchCtrl = null;
        //获取查询组件
        private XhsProjectSimulationSearchCtrl GetSearchCtrl()
        private HydroParterSearchListCtrl GetSearchCtrl()
        {
            if (_searchCtrl == null)
            {
                _searchCtrl = new XhsProjectSimulationSearchCtrl();
                _searchCtrl = new HydroParterSearchListCtrl();
                _searchCtrl.Dock = DockStyle.Fill;
                _searchCtrl.InitialData(() => _hydroInfo);
                _searchCtrl.ApplySearchEvent += async (list) =>
                _searchCtrl.HydroClickEvent += async (parter) =>
                {
                    if (_hydroInfo == null)
                    {
                        return;
                    }
                    if (parter == null)
                    {
                        return;
                    }
                    _selectedParter = parter;
                    await _bimfaceCtrl?.ZoomAndSelectComponent(parter.Code);
                    ShowProperty();
                };
                _searchCtrl.HydroSearchEvent += async (list) =>
                {
                    if (_hydroInfo == null)
                    {
@@ -1582,9 +1613,7 @@
                    var elementIds = new List<string>();
                    if (list != null && list.Count > 0)
                    {
                        var first = list.First();
                        var allParterList = _hydroInfo.GetAllParters();
                        _selectedParter = allParterList?.Find(x => x.Code == first.Code);
                        _selectedParter = list.First();
                        list.ForEach(x => elementIds.Add(x.Code));
                    }
                    else
@@ -1599,13 +1628,14 @@
        }
        //显示查询控件
        private void ShowSearchCtrl()
        private void ShowSearchCtrl(string content)
        {
            if (_hydroInfo == null)
            {
                return;
            }
            var searchCtrl = GetSearchCtrl();
            searchCtrl.SetBindingData(content);
            this.controlContainerBottom.Controls.Clear();
            this.controlContainerBottom.Controls.Add(searchCtrl);
            this.docPnlBottom.Visibility = DevExpress.XtraBars.Docking.DockVisibility.Visible;
@@ -1613,10 +1643,36 @@
            this.docPnlBottom.Height = 350;
        }
        //显示查询窗体
        private void ShowSearchDlg()
        {
            if (this.docPnlBottom.Visibility == DevExpress.XtraBars.Docking.DockVisibility.Visible)
            {
                if (this.controlContainerBottom.Controls.Count > 0)
                {
                    if (this.controlContainerBottom.Controls[0] is HydroParterSearchListCtrl)
                    {
                        return;
                    }
                }
            }
            var dlg = new InputHydroParterSearchListDlg();
            dlg.SearchEvent += (content) =>
            {
                if (string.IsNullOrEmpty(content))
                {
                    return;
                }
                ShowSearchCtrl(content);
            };
            dlg.SetBindingData();
            dlg.ShowDialog();
        }
        //查询
        private void barBtnSearch_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e)
        {
            ShowSearchCtrl();
            ShowSearchDlg();
        }
        #endregion