From 04f9d03e29ce75b4aa0d108a1c2987fe2aaf61f6 Mon Sep 17 00:00:00 2001
From: tx <123456>
Date: 星期二, 15 四月 2025 12:44:41 +0800
Subject: [PATCH] 添加Open

---
 WinFrmUI/DPumpHydr.WinFrmUI.Volute/MainViewPage_StepInfo.cs |  443 +++++++++++++++++++-----------------------------------
 1 files changed, 156 insertions(+), 287 deletions(-)

diff --git a/WinFrmUI/DPumpHydr.WinFrmUI.Volute/MainViewPage_StepInfo.cs b/WinFrmUI/DPumpHydr.WinFrmUI.Volute/MainViewPage_StepInfo.cs
index c6754d9..c034a94 100644
--- a/WinFrmUI/DPumpHydr.WinFrmUI.Volute/MainViewPage_StepInfo.cs
+++ b/WinFrmUI/DPumpHydr.WinFrmUI.Volute/MainViewPage_StepInfo.cs
@@ -11,24 +11,6 @@
     {
         //姝ラ鎺т欢
         StepTreeDockPanel _stepTreeDockPanel = null;
-        /// <summary>
-        /// 鍒濆鍖栨楠ゅ垪琛�
-        /// </summary>
-        private void InitialStepNodes()
-        {
-            if (_ctrlHdrBaseInfo == null)
-            {
-                _ctrlHdrBaseInfo = new ctrlHdrBaseInfo();
-                _ctrlHdrBaseInfo.Name = "ctrlHdrBaseInfo";
-                _ctrlHdrBaseInfo.Dock = DockStyle.Right;
-                _ctrlHdrBaseInfo.InitialParas();
-            }
-
-            this.DockStepParaCtrl(_ctrlHdrBaseInfo);
-
-            //
-            this._stepTreeDockPanel.InitialStepNodes();
-        }
 
 
         /// <summary>
@@ -37,116 +19,17 @@
         /// <returns></returns>
         private bool GoNextStepCore()
         {
-            var currentStepID = this._stepTreeDockPanel.CurrentStepID;
-            if (SaveStepParas(currentStepID) == false)
-            {
-                return false;
-            }
+            var current_step_id = this._stepTreeDockPanel.CurrentStepID;
 
             //
             var next_step_id = this._stepTreeDockPanel.NextStepID;
-            if (currentStepID == this._stepTreeDockPanel.Step_ID_Section18_Full)
+            if (current_step_id == this._stepTreeDockPanel.Step_ID_Section18_Full)
             {
-                next_step_id = this._stepTreeDockPanel.Step_ID_Outflow_Type;
-            }
-            if (next_step_id > 0)
-            {
-                this.SetParasCtrl(next_step_id, DPumpHydr.ViewModel.eWizardStepDiretion.鍓嶈繘);
-
-                //
-                this._stepTreeDockPanel.SetFocusedNode(next_step_id);
+                next_step_id = this._stepTreeDockPanel.Step_ID_Outflow_Paras;
             }
 
-            return true;
-        }
 
-        /// <summary>
-        /// 
-        /// </summary>
-        /// <param name="step_id"></param>
-        /// <returns></returns>
-        protected bool SaveStepParas(long step_id)
-        {
-            #region 鑾峰彇褰撳墠椤甸潰鍙傛暟
-            //绗竴姝� 
-            if (step_id == this._stepTreeDockPanel.Step_ID_Hdr_Base_Info)
-            {
-                ViewModel.HdrBaseInfo hdrBaseInfo = null;
-                ViewModel.GeomBaseInfo geomBaseInfo = null;
-                string error_info = _ctrlHdrBaseInfo.GetBindingData(ref hdrBaseInfo, ref geomBaseInfo);
-                if (error_info != null)
-                {
-                    MessageBox.Show(error_info);
-                    return false;
-                }
-                if (geomBaseInfo == null || hdrBaseInfo == null)
-                    return false;
-                _ctrlHdrBaseInfo.SaveHistoryParas(hdrBaseInfo, geomBaseInfo);
-
-                _hdrBaseInfo = hdrBaseInfo;
-                _hdrBaseInfo.CalcNs();
-
-                _geomBaseInfo = geomBaseInfo;
-
-                if (_sectionBundleInfo != null)
-                {//鏃舵椂淇濇寔鍚屾
-                    _sectionBundleInfo.BaseWidth = _geomBaseInfo.B3;
-                    _sectionBundleInfo.BaseCircleRadius = _geomBaseInfo.D3 / 2;
-                }
-
-
-                return true;
-            }
-            //绗簩姝�  
-            if (step_id == this._stepTreeDockPanel.Step_ID_Section18_Full)
-            {
-                string error_info;
-                var sectionBaseInfo = _ctrlSectionBundleInfo.GetBindingData(out error_info);
-                if (sectionBaseInfo == null)
-                {
-                    MessageBox.Show(error_info);
-                    return false;
-                }
-                _sectionBundleInfo = sectionBaseInfo;
-                //_sectionBundleInfo.ResetAllParas(_hdrBaseInfo, _geomBaseInfo);
-                //ViewModel.SectionShapePara _sectionShapePara = null;
-                //if (_sectionShapePara == null)
-                //{
-                //    _sectionShapePara = new ViewModel.SectionShapePara();
-                //}
-                //_sectionShapePara.Initialparameters(_currentSectIndex, _sectionBaseInfo);
-
-                return true;
-            }
-            //1-8鏂潰杩涜涓嬩竴姝ョ偣鍑�
-            if (step_id == this._stepTreeDockPanel.Step_ID_Section18_Grp)
-            {
-                //string error_info;
-                //var sectionShapeInfo18 = _ctrlSectionShapeInfo18.GetBindingData(out error_info);
-                //if (sectionShapeInfo18 == null)
-                //{
-                //    MessageBox.Show(error_info);
-                //    return false;
-                //}
-                //if (!sectionShapeInfo18.Verify(out error_info))
-                //{
-                //    MessageBox.Show(error_info);
-                //    return false;
-                //}
-                //_sectionShapePara = sectionShapeInfo18;
-                //_sectionShapePara.CalcHeightByArea(_sectionBaseInfo.ShapeType);
-                //_sectionBaseInfo.EditSingleShape(_sectionShapePara, _currentSectIndex);
-                //if (_currentSectIndex != 9)
-                //{
-                //    _currentSectIndex--;
-                //}
-                //_sectionShapePara.Initialparameters(_currentSectIndex, _sectionBaseInfo);
-
-                return true;
-            }
-
-            #endregion
-
+            ChangeStep(current_step_id, next_step_id);
 
             return true;
         }
@@ -157,22 +40,10 @@
         /// <returns></returns>
         private bool GoPrevStepCore()
         {
-            var currentStepID = this._stepTreeDockPanel.CurrentStepID;
-            ParasInfoBaseCtrl paras_ctrl = GetParasCtrl(currentStepID);
-            if (paras_ctrl != null && paras_ctrl.IsChangesParas())
-            {
-                DialogResult result = MessageBox.Show("宸茬粡淇敼杩囩殑鏁版嵁闇�瑕佷繚瀛樺悧锛�", "鎻愮ず", MessageBoxButtons.OKCancel, MessageBoxIcon.Question);
-                if (result == DialogResult.OK)
-                {
-                    if (SaveStepParas(currentStepID) == false)
-                    {
-                        return false;
-                    }
-                }
-            }
+            var current_step_id = this._stepTreeDockPanel.CurrentStepID;
 
             var prev_step_id = this._stepTreeDockPanel.PrevStepID;
-            if (currentStepID == this._stepTreeDockPanel.Step_ID_Outflow_Type)
+            if (current_step_id == this._stepTreeDockPanel.Step_ID_Outflow_Paras)
             {
                 prev_step_id = this._stepTreeDockPanel.Step_ID_Section18_Full;
             }
@@ -181,75 +52,173 @@
                 return false;
 
 
-            this.SetParasCtrl(prev_step_id, DPumpHydr.ViewModel.eWizardStepDiretion.鍚庨��);
-
-            //
-            this._stepTreeDockPanel.SetFocusedNode(prev_step_id);
-
+            this.ChangeStep(current_step_id, prev_step_id);
 
             return true;
         }
 
         /// <summary>
-        /// 鐢熸垚鎺т欢鐨勫弬鏁版帶浠�
+        /// 鍒囨崲姝ラ
         /// </summary>
-        /// <param name="step_id"></param>
-        private void SetParasCtrl(long step_id, DPumpHydr.ViewModel.eWizardStepDiretion step_direction)
+        /// <param name="current_step_id"></param>
+        /// <param name="next_step_id"></param>
+        private bool ChangeStep(long current_step_id, long next_step_id)
         {
+            RbtnChk鎴潰18.Visible = false;
+            if (current_step_id == this._stepTreeDockPanel.Step_ID_Hdr_Base_Info)
+            {
+                if (!SaveParaStep1())
+                    return false;
+                //ParasInfoBaseCtrl paras_ctrl = GetParasCtrl(current_step_id);
+                //if (paras_ctrl != null && paras_ctrl.IsChangesParas())
+                //{
+                //    DialogResult result = MessageBox.Show("宸茬粡淇敼杩囩殑鏁版嵁闇�瑕佷繚瀛樺悧锛�", "鎻愮ず", MessageBoxButtons.OKCancel, MessageBoxIcon.Question);
+                //    if (result == DialogResult.OK)
+                //    {
+                //        if (SaveStepParas(current_step_id) == false)
+                //        {
+                //            return false;
+                //        }
+                //    }
+                //}
+            }
+            else if (current_step_id == this._stepTreeDockPanel.Step_ID_Section18_Full)
+            {
+                if (!SaveParaStep2())
+                    return false;
+            }
+            else if (current_step_id == this._stepTreeDockPanel.Step_ID_Outflow_Paras)
+            {
+          
+                if (!SaveParaStep3())
+                    return false;
+            }
+            else if (current_step_id == this._stepTreeDockPanel.Step_ID_Thickness)
+            {
+                if (!SaveParaStep4())
+                    return false;
+                if (next_step_id < current_step_id && next_step_id != 0)
+                {//鍒犻櫎鍔犲帤浣�
+                    this._occDesign3dCtrl.RemoveThicknessBody( );
+
+                    this._occDesign3dCtrl.Invalidate(true);
+                }
+            }
+
+
+            this.BuildParasCtrl(current_step_id, next_step_id);
+
+            //
+            if(next_step_id > 0)
+            this._stepTreeDockPanel.SetFocusedNode(next_step_id);
+
+
+            if (next_step_id != this._stepTreeDockPanel.Step_ID_Thickness)
+                RbtnChk鏍囨敞.Visible = false;
+
             Rbtn鏁版嵁瀵煎嚭STP.Visible = false;
             Rbtn鏁版嵁瀵煎嚭IGS.Visible = false;
 
 
-
-            #region  绗�1姝�
-            if (step_id == this._stepTreeDockPanel.Step_ID_Hdr_Base_Info)
+            if (next_step_id == this._stepTreeDockPanel.Step_ID_Hdr_Base_Info)
             {
-                if (_ctrlHdrBaseInfo == null)
-                {
-                    _ctrlHdrBaseInfo = new ctrlHdrBaseInfo();
-                    _ctrlHdrBaseInfo.Name = "ctrlHdrBaseInfo";
-                }
-
-                DockStepParaCtrl(_ctrlHdrBaseInfo);
                 this._sectAreaDockPanel.Visible = false;
+
+                this.RBtn鍚庨��.Enabled = false;
+                this.Rbtn鍓嶈繘.Enabled = true;
+
+
+                this.Rbtn涓婁竴姝�.Enabled = false;
+                this.Rbtn涓嬩竴姝�.Enabled = true;
+                this.Rbtn瀹屾垚.Enabled = false;
+
+                this._occDesign2dCtrl.HideAll();
+                this._occDesign3dCtrl.HideAll();
+            }
+            else if (next_step_id == this._stepTreeDockPanel.Step_ID_Outflow_Paras)
+            {
+                RbtnChk鎴潰18.Visible = true;
+                RbtnChk鏍囨敞.Visible = true;
+
+                this.RBtn鍚庨��.Enabled = true;
+                this.Rbtn鍓嶈繘.Enabled = true;
+                 
+                this.Rbtn涓婁竴姝�.Enabled = true;
+                this.Rbtn涓嬩竴姝�.Enabled = true;
+                this.Rbtn瀹屾垚.Enabled = false;
+            }
+            
+            else if (next_step_id == this._stepTreeDockPanel.Step_ID_Thickness)
+            {
+                RbtnChk鏍囨敞.Visible = true;
+                this.RBtn鍚庨��.Enabled = true;
+                this.Rbtn鍓嶈繘.Enabled = false;
+
+
+                this.Rbtn涓婁竴姝�.Enabled = true;
+                this.Rbtn涓嬩竴姝�.Enabled = false;
+                this.Rbtn瀹屾垚.Enabled = true;
+
+                this.Rbtn鏁版嵁瀵煎嚭STP.Visible = true;
+                this.Rbtn鏁版嵁瀵煎嚭IGS.Visible = true;
+            }
+            else if (current_step_id == this._stepTreeDockPanel.Step_ID_Thickness && next_step_id == 0)
+            {
+                this.RBtn鍚庨��.Enabled = true;
+                this.Rbtn鍓嶈繘.Enabled = false;
+
+
+                this.Rbtn涓婁竴姝�.Enabled = true;
+                this.Rbtn涓嬩竴姝�.Enabled = false;
+                this.Rbtn瀹屾垚.Enabled = true;
+
+                this.Rbtn鏁版嵁瀵煎嚭STP.Visible = true;
+                this.Rbtn鏁版嵁瀵煎嚭IGS.Visible = true;
+            } else
+            {
+                this.RBtn鍚庨��.Enabled = true;
+                this.Rbtn鍓嶈繘.Enabled = true;
+
+
+                this.Rbtn涓婁竴姝�.Enabled = true;
+                this.Rbtn涓嬩竴姝�.Enabled = true;
+                this.Rbtn瀹屾垚.Enabled = false;
+            }
+
+
+
+            return true;
+        }
+
+
+
+        /// <summary>
+        /// 璁剧疆鍙傛暟鎺т欢
+        /// </summary>
+        /// <param name="next_step_id"></param>
+        private void BuildParasCtrl(long current_step_id, long next_step_id)
+        {
+            #region 绗�1姝�
+            if (next_step_id == this._stepTreeDockPanel.Step_ID_Hdr_Base_Info)
+            {
+                EnterStep1(current_step_id);
+
                 return;
             }
             #endregion
 
-            #region  绗�2姝� 鏂潰鎬昏
-            if (step_id == this._stepTreeDockPanel.Step_ID_Section18_Full)
+            #region  绗�2姝� 
+            if (next_step_id == this._stepTreeDockPanel.Step_ID_Section18_Full)
             {
-                if (_hdrBaseInfo == null || _geomBaseInfo == null)
-                    return;
+                EnterStep2(current_step_id);
 
-                if (_ctrlSectionBundleInfo == null)
-                {
-                    _ctrlSectionBundleInfo = new ctrlSectionBundleInfo();
-                    _ctrlSectionBundleInfo.Name = "ctrlSectionBaseInfo";
-                    _ctrlSectionBundleInfo.OnRefreshShape += RefreshSectShapeWhole18;
-                }
-
-
-                _ctrlSectionBundleInfo.ShowPage(_hdrBaseInfo, _geomBaseInfo, step_direction);
-
-                DockStepParaCtrl(_ctrlSectionBundleInfo);
-
-                this._occDesign2dCtrl.SetAllSectionCurveVisible(true);
-                this._occDesign3dCtrl.SetAllSectionCurveVisible(true);
-
-                this._occDesign3dCtrl.SetWaterBodyVisible(false);
-                this._occDesign3dCtrl.SetThicknessBodyVisible(false);
-
-
-                this._sectAreaDockPanel.RefreshControl();
-                this._sectAreaDockPanel.Visible = true;
                 return;
             }
             #endregion
 
             #region  绗�3姝� 1-8鏂潰
-            if (step_id > this._stepTreeDockPanel.Step_ID_Section18_Grp &&
-                step_id <= this._stepTreeDockPanel.Step_ID_Section18_Grp + 8)
+            if (next_step_id > this._stepTreeDockPanel.Step_ID_Section18_Grp &&
+                next_step_id <= this._stepTreeDockPanel.Step_ID_Section18_Grp + 8)
             {
                 if (_sectionBundleInfo == null)
                     return;
@@ -260,7 +229,7 @@
                     _ctrlSectionShapeInfo18.OnRefreshShape += RefreshSectShapeSingle18;
                 }
                 DockStepParaCtrl(_ctrlSectionShapeInfo18);
-                var sect_index = 9 + this._stepTreeDockPanel.Step_ID_Section18_Grp - step_id;
+                var sect_index = 9 + this._stepTreeDockPanel.Step_ID_Section18_Grp - next_step_id;
                 var shape_info = _sectionBundleInfo.ToSectionShapePara((int)sect_index);
                 RefreshSectShapeSingle18(shape_info);
                 _ctrlSectionShapeInfo18.SetBindingData(shape_info);
@@ -275,126 +244,26 @@
 
             #endregion
 
-            #region  鍑烘按闈㈢被鍨嬮�夋嫨
-            if (step_id == this._stepTreeDockPanel.Step_ID_Outflow_Type)
-            {
-                if (_sectionBundleInfo == null)
-                    return;
-                if (_ctrlSetOutflowType == null)
-                {
-                    _ctrlSetOutflowType = new ctrlSetOutflowType();
-                    _ctrlSetOutflowType.Name = "ctrlSetOutflowType";
-                }
-                _ctrlSetOutflowType.ShowPage(step_direction);
-
-                this._sectAreaDockPanel.Visible = true;
-                this._sectAreaDockPanel.RefreshControl();
-                DockStepParaCtrl(_ctrlSetOutflowType);
-
-
-                return;
-            }
-            #endregion
-
             #region  鍑烘按闈㈠弬鏁�
-            if (step_id == this._stepTreeDockPanel.Step_ID_Outflow_Paras)
+            if (next_step_id == this._stepTreeDockPanel.Step_ID_Outflow_Paras)
             {
-                if (_sectionBundleInfo == null)
-                    return;
-
-                this._occDesign2dCtrl.SetAllSectionCurveVisible(false);
-                this._occDesign3dCtrl.SetAllSectionCurveVisible(false);
-
-
-                _outflowType = _ctrlSetOutflowType.GetBindingData();
-                if (_ctrlSetOutflowParas == null)
-                {
-                    _ctrlSetOutflowParas = new ctrlSetOutflowParas();
-                    _ctrlSetOutflowParas.Name = "ctrlSetOutflowStyle";
-                    _ctrlSetOutflowParas.OnRefreshShape2D += RefreshWaterBody2D;
-                    _ctrlSetOutflowParas.OnRefreshShape3D += RefreshWaterBody3D;
-                    _ctrlSetOutflowParas.OnMoveSectPosi += (sect_index, posi) =>
-                    {
-                        if (sect_index == 9)
-                        {
-                            _sect9Posi = posi; 
-                            var SectArea9 = this._occDesign3dCtrl.GetSectArea9(_sect9Posi); 
-                            this._sectAreaDockPanel.SetArea9(SectArea9);
-                        }
-                        if (sect_index == 10)
-                        {
-                            _sect10Posi = posi;
-                            var SectArea10 = this._occDesign3dCtrl.GetSectArea10(_sect10Posi);
-                            this._sectAreaDockPanel.SetArea10(SectArea10);
-                        }
-                    };
-                    _ctrlSetOutflowParas.InitialParas(_outflowType, _hdrBaseInfo, _geomBaseInfo, _sectionBundleInfo);
-                    _ctrlSetOutflowParas.SetSect9Posi(_sect9Posi);
-                    _ctrlSetOutflowParas.SetSect10Posi(_sect10Posi);
-                }
-
-                _ctrlSetOutflowParas.SetOutflowStyle(_outflowType);
-
-
-                _ctrlSetOutflowParas.ShowPage(step_direction);
-
-
-                this._sectAreaDockPanel.RefreshControl();
-                this._sectAreaDockPanel.Visible = true;
-                DockStepParaCtrl(_ctrlSetOutflowParas);
-                string error = "";
-                _outflowParas = _ctrlSetOutflowParas.GetBindingData(out error);
-
-
-                this._occDesign3dCtrl.setWaterBodyOpacity(
-             DPumpHydr.WinFrmUI.Volute.GlobalParas.WaterBodyColor.R,
-             DPumpHydr.WinFrmUI.Volute.GlobalParas.WaterBodyColor.G,
-             DPumpHydr.WinFrmUI.Volute.GlobalParas.WaterBodyColor.B, 256);
-                this._occDesign3dCtrl.SetThicknessBodyVisible(false );
+                EnterStep3(current_step_id);
 
                 return;
             }
             #endregion
 
-            #region  鍔犲帤
-            if (step_id == this._stepTreeDockPanel.Step_ID_jiahout)
+            #region 鍔犲帤
+            if (next_step_id == this._stepTreeDockPanel.Step_ID_Thickness)
             {
                 if (_sectionBundleInfo == null)
                     return;
-                Rbtn鏁版嵁瀵煎嚭STP.Visible = true;
-                Rbtn鏁版嵁瀵煎嚭IGS.Visible = true;
 
-                this._occDesign2dCtrl.SetAllSectionCurveVisible(false);
-                this._occDesign3dCtrl.SetAllSectionCurveVisible(false);
+                EnterStep4(current_step_id);
 
-                if (_ctrlThicknessParas == null)
-                {
-                    _ctrlThicknessParas = new ctrlThicknessParas();
-                    _ctrlThicknessParas.Name = "ctrlThicknessParas";
-                    _ctrlThicknessParas.OnRefreshShape += (houdu) =>
-                    {
-                        this._bodyThickness = houdu;
-                        this._occDesign3dCtrl.BuildThicknessBody(houdu);
-                    };
-                    this._bodyThickness = _ctrlThicknessParas.InitialParas(_hdrBaseInfo, _geomBaseInfo, _outflowParas);
-                    this._occDesign3dCtrl.BuildThicknessBody(_bodyThickness);
-                }
-
-
-
-                _ctrlThicknessParas.ShowPage();
-
-                this._occDesign3dCtrl.setWaterBodyOpacity(
-                    DPumpHydr.WinFrmUI.Volute.GlobalParas.WaterBodyColor.R,
-                    DPumpHydr.WinFrmUI.Volute.GlobalParas.WaterBodyColor.G, 
-                    DPumpHydr.WinFrmUI.Volute.GlobalParas.WaterBodyColor.B, 60);
-                this._occDesign3dCtrl.SetThicknessBodyVisible(true);
-
-                DockStepParaCtrl(_ctrlThicknessParas);
                 return;
             }
-            #endregion
-
+            #endregion 
         }
 
 

--
Gitblit v1.9.3