From b850fc840d9152909f38cabc3495876507bae807 Mon Sep 17 00:00:00 2001
From: duheng <2784771470@qq.com>
Date: 星期二, 27 八月 2024 12:01:21 +0800
Subject: [PATCH] 添加选择曲线

---
 WinFrmUI/HStation.WinFrmUI.Xhs.Core/03-scheme/02-asset-mgr/PumpMain_Wizrad/ChoicePumpMainDlg.resx                           |    0 
 WinFrmUI/HStation.WinFrmUI.Xhs.Core/03-scheme/02-asset-mgr/PumpMain_Wizrad/PumpMainChoicePage.cs                            |    0 
 WinFrmUI/HStation.WinFrmUI.Xhs.Core/03-scheme/03-hydraulic-simulation/01-PumpMainCurveChoice/PumpMainForm.Designer.cs       |  315 +++++++++++
 WinFrmUI/HStation.WinFrmUI.Xhs.Core/03-scheme/03-hydraulic-simulation/01-PumpMainCurveChoice/PumpMainChoicePage.resx        |    0 
 WinFrmUI/HStation.WinFrmUI.Xhs.Core/03-scheme/02-asset-mgr/PumpMain_Wizrad/PumpMainForm.resx                                |    0 
 WinFrmUI/HStation.WinFrmUI.Xhs.Core/03-scheme/03-hydraulic-simulation/01-PumpMainCurveChoice/PumpMainForm.resx              |    0 
 WinFrmUI/HStation.WinFrmUI.Xhs.Core/03-scheme/02-asset-mgr/PumpMain_Wizrad/00-core/PumpMainChoiceViewModel.cs               |    0 
 WinFrmUI/HStation.WinFrmUI.Assets.Core/00-PumpProductManage/PumpProductMainPanel.Designer.cs                                |   14 
 WinFrmUI/HStation.WinFrmUI.Xhs.Core/03-scheme/02-asset-mgr/PumpMain_Wizrad/PumpMainChoieViewModel.cs                        |    0 
 WinFrmUI/HStation.WinFrmUI.Assets.Core/00-PumpProductManage/PumpProductMainPanel.cs                                         |   12 
 WinFrmUI/HStation.WinFrmUI.Xhs.Core/03-scheme/03-hydraulic-simulation/01-PumpMainCurveChoice/ChoicePumpMainDlg.Designer.cs  |  208 +++++++
 WinFrmUI/HStation.WinFrmUI.Xhs.Core/03-scheme/02-asset-mgr/PumpMain_Wizrad/ValveChoicePage.resx                             |    0 
 WinFrmUI/HStation.WinFrmUI.Xhs.Core/03-scheme/02-asset-mgr/PumpMain_Wizrad/AddPumpMainDlg.Designer.cs                       |    0 
 WinFrmUI/HStation.WinFrmUI.Xhs.Core/03-scheme/02-asset-mgr/PumpMain_Wizrad/ChoicePumpMainDlg.cs                             |    0 
 WinFrmUI/HStation.WinFrmUI.Xhs.Core/03-scheme/02-asset-mgr/PumpMain_Wizrad/AddPumpMainDlg.resx                              |    0 
 WinFrmUI/HStation.WinFrmUI.Xhs.Core/03-scheme/02-asset-mgr/PumpMain_Wizrad/PumpMainChoicePage.resx                          |    0 
 WinFrmUI/HStation.WinFrmUI.Xhs.Core/03-scheme/02-asset-mgr/PumpMain_Wizrad/00-core/PumpMainChoiceManager.cs                 |    0 
 WinFrmUI/HStation.WinFrmUI.Xhs.Core/HStation.WinFrmUI.Xhs.Core.csproj                                                       |    9 
 WinFrmUI/HStation.WinFrmUI.Xhs.Core/03-scheme/02-asset-mgr/PumpMain_Wizrad/PumpMainForm.cs                                  |    0 
 WinFrmUI/HStation.WinFrmUI.Xhs.Core/03-scheme/03-hydraulic-simulation/01-PumpMainCurveChoice/PumpMainChoicePage.Designer.cs |  537 +++++++++++++++++++
 WinFrmUI/HStation.WinFrmUI.Xhs.Core/HStation.WinFrmUI.Xhs.Core.csproj.user                                                  |   10 
 WinFrmUI/HStation.WinFrmUI.Xhs.Core/03-scheme/02-asset-mgr/PumpMain_Wizrad/ValveChoicePage.Designer.cs                      |    0 
 WinFrmUI/HStation.WinFrmUI.Xhs.Core/03-scheme/03-hydraulic-simulation/01-PumpMainCurveChoice/ChoicePumpMainDlg.cs           |   34 +
 WinFrmUI/HStation.WinFrmUI.Xhs.Core/03-scheme/03-hydraulic-simulation/XhsProjectSimulationPropertyCtrl.cs                   |   37 
 WinFrmUI/HStation.WinFrmUI.Xhs.Core/03-scheme/02-asset-mgr/PumpMain_Wizrad/PumpMainChoicePage.Designer.cs                   |    0 
 WinFrmUI/HStation.WinFrmUI.Xhs.Core/03-scheme/03-hydraulic-simulation/01-PumpMainCurveChoice/ChoicePumpMainDlg.resx         |    0 
 WinFrmUI/HStation.WinFrmUI.Xhs.Core/03-scheme/03-hydraulic-simulation/01-PumpMainCurveChoice/PumpMainForm.cs                |   50 +
 WinFrmUI/HStation.WinFrmUI.Xhs.Core/03-scheme/02-asset-mgr/PumpMain_Wizrad/ChoicePumpMainDlg.Designer.cs                    |    0 
 WinFrmUI/HStation.WinFrmUI.Xhs.Core/03-scheme/03-hydraulic-simulation/01-PumpMainCurveChoice/PumpMainChoicePage.cs          |  249 +++++++++
 WinFrmUI/HStation.WinFrmUI.Xhs.Core/03-scheme/02-asset-mgr/PumpMain_Wizrad/PumpMainForm.Designer.cs                         |    0 
 WinFrmUI/HStation.WinFrmUI.Xhs.Core/03-scheme/02-asset-mgr/PumpMain_Wizrad/ValveChoicePage.cs                               |    0 
 WinFrmUI/HStation.WinFrmUI.Xhs.Core/03-scheme/03-hydraulic-simulation/01-PumpMainCurveChoice/PumpMainChoieViewModel.cs      |  114 ++++
 WinFrmUI/HStation.WinFrmUI.Xhs.Core/03-scheme/02-asset-mgr/PumpMain_Wizrad/AddPumpMainDlg.cs                                |    0 
 33 files changed, 1,567 insertions(+), 22 deletions(-)

diff --git a/WinFrmUI/HStation.WinFrmUI.Assets.Core/00-PumpProductManage/PumpProductMainPanel.Designer.cs b/WinFrmUI/HStation.WinFrmUI.Assets.Core/00-PumpProductManage/PumpProductMainPanel.Designer.cs
index 8b6f0d4..e43eb5f 100644
--- a/WinFrmUI/HStation.WinFrmUI.Assets.Core/00-PumpProductManage/PumpProductMainPanel.Designer.cs
+++ b/WinFrmUI/HStation.WinFrmUI.Assets.Core/00-PumpProductManage/PumpProductMainPanel.Designer.cs
@@ -63,6 +63,7 @@
             layoutControlItem1 = new DevExpress.XtraLayout.LayoutControlItem();
             popupPump = new DevExpress.XtraBars.PopupMenu(components);
             svgImage32 = new DevExpress.Utils.SvgImageCollection(components);
+            barButtonItem1 = new DevExpress.XtraBars.BarButtonItem();
             ((System.ComponentModel.ISupportInitialize)ribbonControl1).BeginInit();
             ((System.ComponentModel.ISupportInitialize)dockManager1).BeginInit();
             dockPanel1.SuspendLayout();
@@ -84,9 +85,9 @@
             ribbonControl1.DrawGroupsBorderMode = DevExpress.Utils.DefaultBoolean.True;
             ribbonControl1.ExpandCollapseItem.Id = 0;
             ribbonControl1.ItemPanelStyle = DevExpress.XtraBars.Ribbon.RibbonItemPanelStyle.Classic;
-            ribbonControl1.Items.AddRange(new DevExpress.XtraBars.BarItem[] { ribbonControl1.ExpandCollapseItem, BtnAdd, BtnEdit, BtnDelete, barBtnEditPumpCurve, BarBtnEidtPumpPart });
+            ribbonControl1.Items.AddRange(new DevExpress.XtraBars.BarItem[] { ribbonControl1.ExpandCollapseItem, BtnAdd, BtnEdit, BtnDelete, barBtnEditPumpCurve, BarBtnEidtPumpPart, barButtonItem1 });
             ribbonControl1.Location = new Point(0, 0);
-            ribbonControl1.MaxItemId = 22;
+            ribbonControl1.MaxItemId = 23;
             ribbonControl1.Name = "ribbonControl1";
             ribbonControl1.Pages.AddRange(new DevExpress.XtraBars.Ribbon.RibbonPage[] { ribbonPage1 });
             ribbonControl1.ShowApplicationButton = DevExpress.Utils.DefaultBoolean.False;
@@ -147,6 +148,7 @@
             ribbonPageGroup1.ItemLinks.Add(BtnEdit);
             ribbonPageGroup1.ItemLinks.Add(BtnDelete);
             ribbonPageGroup1.ItemLinks.Add(barBtnEditPumpCurve);
+            ribbonPageGroup1.ItemLinks.Add(barButtonItem1);
             ribbonPageGroup1.Name = "ribbonPageGroup1";
             ribbonPageGroup1.Text = "鍩虹鍔熻兘";
             // 
@@ -373,6 +375,13 @@
             svgImage32.ImageSize = new Size(32, 32);
             svgImage32.Add("propertiespanel", "image://svgimages/diagramicons/propertiespanel.svg");
             // 
+            // barButtonItem1
+            // 
+            barButtonItem1.Caption = "barButtonItem1";
+            barButtonItem1.Id = 22;
+            barButtonItem1.Name = "barButtonItem1";
+            barButtonItem1.ItemClick += barButtonItem1_ItemClick;
+            // 
             // PumpProductMainPanel
             // 
             Appearance.BackColor = SystemColors.Control;
@@ -435,5 +444,6 @@
         private DevExpress.Utils.SvgImageCollection svgImage32;
         private DevExpress.XtraEditors.SidePanel sidePanel1;
         private DevExpress.XtraLayout.LayoutControlItem layoutControlItem1;
+        private DevExpress.XtraBars.BarButtonItem barButtonItem1;
     }
 }
diff --git a/WinFrmUI/HStation.WinFrmUI.Assets.Core/00-PumpProductManage/PumpProductMainPanel.cs b/WinFrmUI/HStation.WinFrmUI.Assets.Core/00-PumpProductManage/PumpProductMainPanel.cs
index 79c5fe3..867feab 100644
--- a/WinFrmUI/HStation.WinFrmUI.Assets.Core/00-PumpProductManage/PumpProductMainPanel.cs
+++ b/WinFrmUI/HStation.WinFrmUI.Assets.Core/00-PumpProductManage/PumpProductMainPanel.cs
@@ -1,4 +1,6 @@
-锘縩amespace HStation.WinFrmUI.Xhs.PumpProduct
+锘縰sing HStation.WinFrmUI.PhartRelation;
+
+namespace HStation.WinFrmUI.Xhs.PumpProduct
 {
     public partial class PumpProductMainPanel : DocumentPage
     {
@@ -220,5 +222,13 @@
                 }
             }
         }
+
+        private void barButtonItem1_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e)
+        {
+            var model = this.gridView1.GetCurrentViewModel(_allBindingList);
+            var dlg = new SelXhsPumpMainPhartDlg();
+            dlg.SetBandingData(model.ID);
+            dlg.ShowDialog();
+        }
     }
 }
\ No newline at end of file
diff --git a/WinFrmUI/HStation.WinFrmUI.Xhs.Core/03-scheme/02-asset-mgr/PumpMain/00-core/PumpMainChoiceManager.cs b/WinFrmUI/HStation.WinFrmUI.Xhs.Core/03-scheme/02-asset-mgr/PumpMain_Wizrad/00-core/PumpMainChoiceManager.cs
similarity index 100%
rename from WinFrmUI/HStation.WinFrmUI.Xhs.Core/03-scheme/02-asset-mgr/PumpMain/00-core/PumpMainChoiceManager.cs
rename to WinFrmUI/HStation.WinFrmUI.Xhs.Core/03-scheme/02-asset-mgr/PumpMain_Wizrad/00-core/PumpMainChoiceManager.cs
diff --git a/WinFrmUI/HStation.WinFrmUI.Xhs.Core/03-scheme/02-asset-mgr/PumpMain/00-core/PumpMainChoiceViewModel.cs b/WinFrmUI/HStation.WinFrmUI.Xhs.Core/03-scheme/02-asset-mgr/PumpMain_Wizrad/00-core/PumpMainChoiceViewModel.cs
similarity index 100%
rename from WinFrmUI/HStation.WinFrmUI.Xhs.Core/03-scheme/02-asset-mgr/PumpMain/00-core/PumpMainChoiceViewModel.cs
rename to WinFrmUI/HStation.WinFrmUI.Xhs.Core/03-scheme/02-asset-mgr/PumpMain_Wizrad/00-core/PumpMainChoiceViewModel.cs
diff --git a/WinFrmUI/HStation.WinFrmUI.Xhs.Core/03-scheme/02-asset-mgr/PumpMain/AddPumpMainDlg.Designer.cs b/WinFrmUI/HStation.WinFrmUI.Xhs.Core/03-scheme/02-asset-mgr/PumpMain_Wizrad/AddPumpMainDlg.Designer.cs
similarity index 100%
rename from WinFrmUI/HStation.WinFrmUI.Xhs.Core/03-scheme/02-asset-mgr/PumpMain/AddPumpMainDlg.Designer.cs
rename to WinFrmUI/HStation.WinFrmUI.Xhs.Core/03-scheme/02-asset-mgr/PumpMain_Wizrad/AddPumpMainDlg.Designer.cs
diff --git a/WinFrmUI/HStation.WinFrmUI.Xhs.Core/03-scheme/02-asset-mgr/PumpMain/AddPumpMainDlg.cs b/WinFrmUI/HStation.WinFrmUI.Xhs.Core/03-scheme/02-asset-mgr/PumpMain_Wizrad/AddPumpMainDlg.cs
similarity index 100%
rename from WinFrmUI/HStation.WinFrmUI.Xhs.Core/03-scheme/02-asset-mgr/PumpMain/AddPumpMainDlg.cs
rename to WinFrmUI/HStation.WinFrmUI.Xhs.Core/03-scheme/02-asset-mgr/PumpMain_Wizrad/AddPumpMainDlg.cs
diff --git a/WinFrmUI/HStation.WinFrmUI.Xhs.Core/03-scheme/02-asset-mgr/PumpMain/AddPumpMainDlg.resx b/WinFrmUI/HStation.WinFrmUI.Xhs.Core/03-scheme/02-asset-mgr/PumpMain_Wizrad/AddPumpMainDlg.resx
similarity index 100%
rename from WinFrmUI/HStation.WinFrmUI.Xhs.Core/03-scheme/02-asset-mgr/PumpMain/AddPumpMainDlg.resx
rename to WinFrmUI/HStation.WinFrmUI.Xhs.Core/03-scheme/02-asset-mgr/PumpMain_Wizrad/AddPumpMainDlg.resx
diff --git a/WinFrmUI/HStation.WinFrmUI.Xhs.Core/03-scheme/02-asset-mgr/PumpMain/ChoicePumpMainDlg.Designer.cs b/WinFrmUI/HStation.WinFrmUI.Xhs.Core/03-scheme/02-asset-mgr/PumpMain_Wizrad/ChoicePumpMainDlg.Designer.cs
similarity index 100%
rename from WinFrmUI/HStation.WinFrmUI.Xhs.Core/03-scheme/02-asset-mgr/PumpMain/ChoicePumpMainDlg.Designer.cs
rename to WinFrmUI/HStation.WinFrmUI.Xhs.Core/03-scheme/02-asset-mgr/PumpMain_Wizrad/ChoicePumpMainDlg.Designer.cs
diff --git a/WinFrmUI/HStation.WinFrmUI.Xhs.Core/03-scheme/02-asset-mgr/PumpMain/ChoicePumpMainDlg.cs b/WinFrmUI/HStation.WinFrmUI.Xhs.Core/03-scheme/02-asset-mgr/PumpMain_Wizrad/ChoicePumpMainDlg.cs
similarity index 100%
rename from WinFrmUI/HStation.WinFrmUI.Xhs.Core/03-scheme/02-asset-mgr/PumpMain/ChoicePumpMainDlg.cs
rename to WinFrmUI/HStation.WinFrmUI.Xhs.Core/03-scheme/02-asset-mgr/PumpMain_Wizrad/ChoicePumpMainDlg.cs
diff --git a/WinFrmUI/HStation.WinFrmUI.Xhs.Core/03-scheme/02-asset-mgr/PumpMain/ChoicePumpMainDlg.resx b/WinFrmUI/HStation.WinFrmUI.Xhs.Core/03-scheme/02-asset-mgr/PumpMain_Wizrad/ChoicePumpMainDlg.resx
similarity index 100%
rename from WinFrmUI/HStation.WinFrmUI.Xhs.Core/03-scheme/02-asset-mgr/PumpMain/ChoicePumpMainDlg.resx
rename to WinFrmUI/HStation.WinFrmUI.Xhs.Core/03-scheme/02-asset-mgr/PumpMain_Wizrad/ChoicePumpMainDlg.resx
diff --git a/WinFrmUI/HStation.WinFrmUI.Xhs.Core/03-scheme/02-asset-mgr/PumpMain/PumpMainChoicePage.Designer.cs b/WinFrmUI/HStation.WinFrmUI.Xhs.Core/03-scheme/02-asset-mgr/PumpMain_Wizrad/PumpMainChoicePage.Designer.cs
similarity index 100%
rename from WinFrmUI/HStation.WinFrmUI.Xhs.Core/03-scheme/02-asset-mgr/PumpMain/PumpMainChoicePage.Designer.cs
rename to WinFrmUI/HStation.WinFrmUI.Xhs.Core/03-scheme/02-asset-mgr/PumpMain_Wizrad/PumpMainChoicePage.Designer.cs
diff --git a/WinFrmUI/HStation.WinFrmUI.Xhs.Core/03-scheme/02-asset-mgr/PumpMain/PumpMainChoicePage.cs b/WinFrmUI/HStation.WinFrmUI.Xhs.Core/03-scheme/02-asset-mgr/PumpMain_Wizrad/PumpMainChoicePage.cs
similarity index 100%
rename from WinFrmUI/HStation.WinFrmUI.Xhs.Core/03-scheme/02-asset-mgr/PumpMain/PumpMainChoicePage.cs
rename to WinFrmUI/HStation.WinFrmUI.Xhs.Core/03-scheme/02-asset-mgr/PumpMain_Wizrad/PumpMainChoicePage.cs
diff --git a/WinFrmUI/HStation.WinFrmUI.Xhs.Core/03-scheme/02-asset-mgr/PumpMain/PumpMainChoicePage.resx b/WinFrmUI/HStation.WinFrmUI.Xhs.Core/03-scheme/02-asset-mgr/PumpMain_Wizrad/PumpMainChoicePage.resx
similarity index 100%
rename from WinFrmUI/HStation.WinFrmUI.Xhs.Core/03-scheme/02-asset-mgr/PumpMain/PumpMainChoicePage.resx
rename to WinFrmUI/HStation.WinFrmUI.Xhs.Core/03-scheme/02-asset-mgr/PumpMain_Wizrad/PumpMainChoicePage.resx
diff --git a/WinFrmUI/HStation.WinFrmUI.Xhs.Core/03-scheme/02-asset-mgr/PumpMain/PumpMainChoieViewModel.cs b/WinFrmUI/HStation.WinFrmUI.Xhs.Core/03-scheme/02-asset-mgr/PumpMain_Wizrad/PumpMainChoieViewModel.cs
similarity index 100%
rename from WinFrmUI/HStation.WinFrmUI.Xhs.Core/03-scheme/02-asset-mgr/PumpMain/PumpMainChoieViewModel.cs
rename to WinFrmUI/HStation.WinFrmUI.Xhs.Core/03-scheme/02-asset-mgr/PumpMain_Wizrad/PumpMainChoieViewModel.cs
diff --git a/WinFrmUI/HStation.WinFrmUI.Xhs.Core/03-scheme/02-asset-mgr/PumpMain/PumpMainForm.Designer.cs b/WinFrmUI/HStation.WinFrmUI.Xhs.Core/03-scheme/02-asset-mgr/PumpMain_Wizrad/PumpMainForm.Designer.cs
similarity index 100%
rename from WinFrmUI/HStation.WinFrmUI.Xhs.Core/03-scheme/02-asset-mgr/PumpMain/PumpMainForm.Designer.cs
rename to WinFrmUI/HStation.WinFrmUI.Xhs.Core/03-scheme/02-asset-mgr/PumpMain_Wizrad/PumpMainForm.Designer.cs
diff --git a/WinFrmUI/HStation.WinFrmUI.Xhs.Core/03-scheme/02-asset-mgr/PumpMain/PumpMainForm.cs b/WinFrmUI/HStation.WinFrmUI.Xhs.Core/03-scheme/02-asset-mgr/PumpMain_Wizrad/PumpMainForm.cs
similarity index 100%
rename from WinFrmUI/HStation.WinFrmUI.Xhs.Core/03-scheme/02-asset-mgr/PumpMain/PumpMainForm.cs
rename to WinFrmUI/HStation.WinFrmUI.Xhs.Core/03-scheme/02-asset-mgr/PumpMain_Wizrad/PumpMainForm.cs
diff --git a/WinFrmUI/HStation.WinFrmUI.Xhs.Core/03-scheme/02-asset-mgr/PumpMain/PumpMainForm.resx b/WinFrmUI/HStation.WinFrmUI.Xhs.Core/03-scheme/02-asset-mgr/PumpMain_Wizrad/PumpMainForm.resx
similarity index 100%
rename from WinFrmUI/HStation.WinFrmUI.Xhs.Core/03-scheme/02-asset-mgr/PumpMain/PumpMainForm.resx
rename to WinFrmUI/HStation.WinFrmUI.Xhs.Core/03-scheme/02-asset-mgr/PumpMain_Wizrad/PumpMainForm.resx
diff --git a/WinFrmUI/HStation.WinFrmUI.Xhs.Core/03-scheme/02-asset-mgr/PumpMain/ValveChoicePage.Designer.cs b/WinFrmUI/HStation.WinFrmUI.Xhs.Core/03-scheme/02-asset-mgr/PumpMain_Wizrad/ValveChoicePage.Designer.cs
similarity index 100%
rename from WinFrmUI/HStation.WinFrmUI.Xhs.Core/03-scheme/02-asset-mgr/PumpMain/ValveChoicePage.Designer.cs
rename to WinFrmUI/HStation.WinFrmUI.Xhs.Core/03-scheme/02-asset-mgr/PumpMain_Wizrad/ValveChoicePage.Designer.cs
diff --git a/WinFrmUI/HStation.WinFrmUI.Xhs.Core/03-scheme/02-asset-mgr/PumpMain/ValveChoicePage.cs b/WinFrmUI/HStation.WinFrmUI.Xhs.Core/03-scheme/02-asset-mgr/PumpMain_Wizrad/ValveChoicePage.cs
similarity index 100%
rename from WinFrmUI/HStation.WinFrmUI.Xhs.Core/03-scheme/02-asset-mgr/PumpMain/ValveChoicePage.cs
rename to WinFrmUI/HStation.WinFrmUI.Xhs.Core/03-scheme/02-asset-mgr/PumpMain_Wizrad/ValveChoicePage.cs
diff --git a/WinFrmUI/HStation.WinFrmUI.Xhs.Core/03-scheme/02-asset-mgr/PumpMain/ValveChoicePage.resx b/WinFrmUI/HStation.WinFrmUI.Xhs.Core/03-scheme/02-asset-mgr/PumpMain_Wizrad/ValveChoicePage.resx
similarity index 100%
rename from WinFrmUI/HStation.WinFrmUI.Xhs.Core/03-scheme/02-asset-mgr/PumpMain/ValveChoicePage.resx
rename to WinFrmUI/HStation.WinFrmUI.Xhs.Core/03-scheme/02-asset-mgr/PumpMain_Wizrad/ValveChoicePage.resx
diff --git a/WinFrmUI/HStation.WinFrmUI.Xhs.Core/03-scheme/03-hydraulic-simulation/01-PumpMainCurveChoice/ChoicePumpMainDlg.Designer.cs b/WinFrmUI/HStation.WinFrmUI.Xhs.Core/03-scheme/03-hydraulic-simulation/01-PumpMainCurveChoice/ChoicePumpMainDlg.Designer.cs
new file mode 100644
index 0000000..21e50e0
--- /dev/null
+++ b/WinFrmUI/HStation.WinFrmUI.Xhs.Core/03-scheme/03-hydraulic-simulation/01-PumpMainCurveChoice/ChoicePumpMainDlg.Designer.cs
@@ -0,0 +1,208 @@
+锘縩amespace HStation.WinFrmUI.Xhs 
+{ 
+    partial class PumpMainCurveChoiceDlg
+    {
+        /// <summary>
+        /// Required designer variable.
+        /// </summary>
+        private System.ComponentModel.IContainer components = null;
+
+        /// <summary>
+        /// Clean up any resources being used.
+        /// </summary>
+        /// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
+        protected override void Dispose(bool disposing)
+        {
+            if (disposing && (components != null))
+            {
+                components.Dispose();
+            }
+            base.Dispose(disposing);
+        }
+
+        #region Windows Form Designer generated code
+
+        /// <summary>
+        /// Required method for Designer support - do not modify
+        /// the contents of this method with the code editor.
+        /// </summary>
+        private void InitializeComponent()
+        {
+            layoutControl1 = new DevExpress.XtraLayout.LayoutControl();
+            btnComplete = new DevExpress.XtraEditors.SimpleButton();
+            navigationFrame1 = new DevExpress.XtraBars.Navigation.NavigationFrame();
+            navigationPage1 = new DevExpress.XtraBars.Navigation.NavigationPage();
+            pumpMainCurveChoicePage1 = new PumpMainCurveChoicePage();
+            btnCancel = new DevExpress.XtraEditors.SimpleButton();
+            Root = new DevExpress.XtraLayout.LayoutControlGroup();
+            layoutControlItem2 = new DevExpress.XtraLayout.LayoutControlItem();
+            emptySpaceItem1 = new DevExpress.XtraLayout.EmptySpaceItem();
+            itemForComplete = new DevExpress.XtraLayout.LayoutControlItem();
+            itemForCancel = new DevExpress.XtraLayout.LayoutControlItem();
+            ((ISupportInitialize)layoutControl1).BeginInit();
+            layoutControl1.SuspendLayout();
+            ((ISupportInitialize)navigationFrame1).BeginInit();
+            navigationFrame1.SuspendLayout();
+            navigationPage1.SuspendLayout();
+            ((ISupportInitialize)Root).BeginInit();
+            ((ISupportInitialize)layoutControlItem2).BeginInit();
+            ((ISupportInitialize)emptySpaceItem1).BeginInit();
+            ((ISupportInitialize)itemForComplete).BeginInit();
+            ((ISupportInitialize)itemForCancel).BeginInit();
+            SuspendLayout();
+            // 
+            // layoutControl1
+            // 
+            layoutControl1.Controls.Add(btnComplete);
+            layoutControl1.Controls.Add(navigationFrame1);
+            layoutControl1.Controls.Add(btnCancel);
+            layoutControl1.Dock = DockStyle.Fill;
+            layoutControl1.Location = new Point(0, 0);
+            layoutControl1.Name = "layoutControl1";
+            layoutControl1.OptionsCustomizationForm.DesignTimeCustomizationFormPositionAndSize = new Rectangle(1222, 300, 650, 400);
+            layoutControl1.Root = Root;
+            layoutControl1.Size = new Size(1012, 553);
+            layoutControl1.TabIndex = 6;
+            layoutControl1.Text = "layoutControl1";
+            // 
+            // btnComplete
+            // 
+            btnComplete.Appearance.BackColor = DevExpress.LookAndFeel.DXSkinColors.FillColors.Primary;
+            btnComplete.Appearance.Options.UseBackColor = true;
+            btnComplete.Location = new Point(788, 519);
+            btnComplete.MaximumSize = new Size(104, 0);
+            btnComplete.MinimumSize = new Size(104, 0);
+            btnComplete.Name = "btnComplete";
+            btnComplete.Size = new Size(104, 22);
+            btnComplete.StyleController = layoutControl1;
+            btnComplete.TabIndex = 6;
+            btnComplete.Text = "纭畾";
+            btnComplete.Click += btnComplete_Click;
+            // 
+            // navigationFrame1
+            // 
+            navigationFrame1.Controls.Add(navigationPage1);
+            navigationFrame1.Location = new Point(12, 12);
+            navigationFrame1.Name = "navigationFrame1";
+            navigationFrame1.Pages.AddRange(new DevExpress.XtraBars.Navigation.NavigationPageBase[] { navigationPage1 });
+            navigationFrame1.SelectedPage = navigationPage1;
+            navigationFrame1.Size = new Size(988, 503);
+            navigationFrame1.TabIndex = 2;
+            navigationFrame1.Text = "navigationFrame1";
+            // 
+            // navigationPage1
+            // 
+            navigationPage1.Caption = "navigationPage1";
+            navigationPage1.Controls.Add(pumpMainCurveChoicePage1);
+            navigationPage1.Name = "navigationPage1";
+            navigationPage1.Size = new Size(988, 503);
+            // 
+            // pumpMainCurveChoicePage1
+            // 
+            pumpMainCurveChoicePage1.Dock = DockStyle.Fill;
+            pumpMainCurveChoicePage1.Location = new Point(0, 0);
+            pumpMainCurveChoicePage1.Name = "pumpMainCurveChoicePage1";
+            pumpMainCurveChoicePage1.Size = new Size(988, 503);
+            pumpMainCurveChoicePage1.TabIndex = 0;
+            // 
+            // btnCancel
+            // 
+            btnCancel.Appearance.BackColor = DevExpress.LookAndFeel.DXSkinColors.FillColors.Danger;
+            btnCancel.Appearance.Options.UseBackColor = true;
+            btnCancel.DialogResult = DialogResult.Cancel;
+            btnCancel.Location = new Point(896, 519);
+            btnCancel.MaximumSize = new Size(104, 0);
+            btnCancel.MinimumSize = new Size(104, 0);
+            btnCancel.Name = "btnCancel";
+            btnCancel.Size = new Size(104, 22);
+            btnCancel.StyleController = layoutControl1;
+            btnCancel.TabIndex = 3;
+            btnCancel.Text = "鍙栨秷";
+            // 
+            // Root
+            // 
+            Root.EnableIndentsWithoutBorders = DevExpress.Utils.DefaultBoolean.True;
+            Root.GroupBordersVisible = false;
+            Root.Items.AddRange(new DevExpress.XtraLayout.BaseLayoutItem[] { layoutControlItem2, emptySpaceItem1, itemForCancel, itemForComplete });
+            Root.Name = "Root";
+            Root.Size = new Size(1012, 553);
+            Root.TextVisible = false;
+            // 
+            // layoutControlItem2
+            // 
+            layoutControlItem2.Control = navigationFrame1;
+            layoutControlItem2.Location = new Point(0, 0);
+            layoutControlItem2.Name = "layoutControlItem2";
+            layoutControlItem2.Size = new Size(992, 507);
+            layoutControlItem2.TextSize = new Size(0, 0);
+            layoutControlItem2.TextVisible = false;
+            // 
+            // emptySpaceItem1
+            // 
+            emptySpaceItem1.AllowHotTrack = false;
+            emptySpaceItem1.Location = new Point(0, 507);
+            emptySpaceItem1.Name = "emptySpaceItem1";
+            emptySpaceItem1.Size = new Size(776, 26);
+            emptySpaceItem1.TextSize = new Size(0, 0);
+            // 
+            // itemForComplete
+            // 
+            itemForComplete.Control = btnComplete;
+            itemForComplete.Location = new Point(776, 507);
+            itemForComplete.MaxSize = new Size(108, 26);
+            itemForComplete.MinSize = new Size(108, 26);
+            itemForComplete.Name = "itemForComplete";
+            itemForComplete.Size = new Size(108, 26);
+            itemForComplete.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom;
+            itemForComplete.TextSize = new Size(0, 0);
+            itemForComplete.TextVisible = false;
+            // 
+            // itemForCancel
+            // 
+            itemForCancel.Control = btnCancel;
+            itemForCancel.Location = new Point(884, 507);
+            itemForCancel.MaxSize = new Size(108, 26);
+            itemForCancel.MinSize = new Size(108, 26);
+            itemForCancel.Name = "itemForCancel";
+            itemForCancel.Size = new Size(108, 26);
+            itemForCancel.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom;
+            itemForCancel.TextSize = new Size(0, 0);
+            itemForCancel.TextVisible = false;
+            // 
+            // PumpMainCurveChoiceDlg
+            // 
+            AutoScaleDimensions = new SizeF(7F, 14F);
+            AutoScaleMode = AutoScaleMode.Font;
+            ClientSize = new Size(1012, 553);
+            Controls.Add(layoutControl1);
+            Name = "PumpMainCurveChoiceDlg";
+            StartPosition = FormStartPosition.CenterScreen;
+            Text = "娉靛瀷鍙烽�夋嫨";
+            ((ISupportInitialize)layoutControl1).EndInit();
+            layoutControl1.ResumeLayout(false);
+            ((ISupportInitialize)navigationFrame1).EndInit();
+            navigationFrame1.ResumeLayout(false);
+            navigationPage1.ResumeLayout(false);
+            ((ISupportInitialize)Root).EndInit();
+            ((ISupportInitialize)layoutControlItem2).EndInit();
+            ((ISupportInitialize)emptySpaceItem1).EndInit();
+            ((ISupportInitialize)itemForComplete).EndInit();
+            ((ISupportInitialize)itemForCancel).EndInit();
+            ResumeLayout(false);
+        }
+
+        #endregion
+
+        private DevExpress.XtraLayout.LayoutControl layoutControl1;
+        private DevExpress.XtraLayout.LayoutControlGroup Root;
+        private DevExpress.XtraBars.Navigation.NavigationFrame navigationFrame1;
+        private DevExpress.XtraLayout.LayoutControlItem layoutControlItem2;
+        private DevExpress.XtraEditors.SimpleButton btnComplete;
+        private DevExpress.XtraEditors.SimpleButton btnCancel;
+        private DevExpress.XtraLayout.LayoutControlItem itemForComplete;
+        private DevExpress.XtraLayout.LayoutControlItem itemForCancel;
+        private DevExpress.XtraLayout.EmptySpaceItem emptySpaceItem1;
+        private DevExpress.XtraBars.Navigation.NavigationPage navigationPage1;
+        private PumpMainCurveChoicePage pumpMainCurveChoicePage1;
+    }
+}
\ No newline at end of file
diff --git a/WinFrmUI/HStation.WinFrmUI.Xhs.Core/03-scheme/03-hydraulic-simulation/01-PumpMainCurveChoice/ChoicePumpMainDlg.cs b/WinFrmUI/HStation.WinFrmUI.Xhs.Core/03-scheme/03-hydraulic-simulation/01-PumpMainCurveChoice/ChoicePumpMainDlg.cs
new file mode 100644
index 0000000..ff959ff
--- /dev/null
+++ b/WinFrmUI/HStation.WinFrmUI.Xhs.Core/03-scheme/03-hydraulic-simulation/01-PumpMainCurveChoice/ChoicePumpMainDlg.cs
@@ -0,0 +1,34 @@
+锘縩amespace HStation.WinFrmUI.Xhs
+{
+    public partial class PumpMainCurveChoiceDlg : DevExpress.XtraEditors.XtraForm
+    {
+        public PumpMainCurveChoiceDlg()
+        {
+            InitializeComponent();
+        }
+
+        public event Action<long, long, Vmo.XhsPumpMainPhartMappingExtensions> CurveinfoEvent;
+
+        public void SetBindingData(string Dbid, string ModelType)
+        {
+            this.pumpMainCurveChoicePage1.SetBindingData(Dbid, ModelType);
+        }
+
+        //纭畾
+        private void btnComplete_Click(object sender, EventArgs e)
+        {
+            var model = this.pumpMainCurveChoicePage1.GetCurrentCurveinfo();
+            if (model.Dbid <= 0)
+            {
+                TipFormHelper.ShowError("娉靛瀷鍙烽�夋嫨閿欒");
+                return;
+            }
+            if (model.Curveid <= 0)
+            {
+                TipFormHelper.ShowError("鏇茬嚎閫夋嫨閿欒");
+                return;
+            }
+            CurveinfoEvent.Invoke(model.Dbid, model.Curveid, model.Curveinfo);
+        }
+    }
+}
\ No newline at end of file
diff --git a/WinFrmUI/HStation.WinFrmUI.Xhs.Core/03-scheme/02-asset-mgr/PumpMain/AddPumpMainDlg.resx b/WinFrmUI/HStation.WinFrmUI.Xhs.Core/03-scheme/03-hydraulic-simulation/01-PumpMainCurveChoice/ChoicePumpMainDlg.resx
similarity index 100%
copy from WinFrmUI/HStation.WinFrmUI.Xhs.Core/03-scheme/02-asset-mgr/PumpMain/AddPumpMainDlg.resx
copy to WinFrmUI/HStation.WinFrmUI.Xhs.Core/03-scheme/03-hydraulic-simulation/01-PumpMainCurveChoice/ChoicePumpMainDlg.resx
diff --git a/WinFrmUI/HStation.WinFrmUI.Xhs.Core/03-scheme/03-hydraulic-simulation/01-PumpMainCurveChoice/PumpMainChoicePage.Designer.cs b/WinFrmUI/HStation.WinFrmUI.Xhs.Core/03-scheme/03-hydraulic-simulation/01-PumpMainCurveChoice/PumpMainChoicePage.Designer.cs
new file mode 100644
index 0000000..6f90da6
--- /dev/null
+++ b/WinFrmUI/HStation.WinFrmUI.Xhs.Core/03-scheme/03-hydraulic-simulation/01-PumpMainCurveChoice/PumpMainChoicePage.Designer.cs
@@ -0,0 +1,537 @@
+锘�
+namespace HStation.WinFrmUI.Xhs
+{
+    partial class PumpMainCurveChoicePage
+    {
+        /// <summary> 
+        /// Required designer variable.
+        /// </summary>
+        private System.ComponentModel.IContainer components = null;
+
+        /// <summary> 
+        /// Clean up any resources being used.
+        /// </summary>
+        /// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
+        protected override void Dispose(bool disposing)
+        {
+            if (disposing && (components != null))
+            {
+                components.Dispose();
+            }
+            base.Dispose(disposing);
+        }
+
+        #region Component Designer generated code
+
+        /// <summary> 
+        /// Required method for Designer support - do not modify 
+        /// the contents of this method with the code editor.
+        /// </summary>
+        private void InitializeComponent()
+        {
+            ComponentResourceManager resources = new ComponentResourceManager(typeof(PumpMainCurveChoicePage));
+            layoutControl1 = new DevExpress.XtraLayout.LayoutControl();
+            xtrPerform2dChart1 = new Yw.WinFrmUI.Phart.XtrPerform2dChart();
+            pumpMainCurveForm1 = new PumpMainCurveForm();
+            popupContainerControl1 = new DevExpress.XtraEditors.PopupContainerControl();
+            treeList1 = new DevExpress.XtraTreeList.TreeList();
+            treeListColumn1 = new DevExpress.XtraTreeList.Columns.TreeListColumn();
+            BtnAddPumpMain = new DevExpress.XtraEditors.SimpleButton();
+            TextPopupPumpChoice = new DevExpress.XtraEditors.PopupContainerEdit();
+            popupContainerControl2 = new DevExpress.XtraEditors.PopupContainerControl();
+            gridControl1 = new DevExpress.XtraGrid.GridControl();
+            gridView1 = new DevExpress.XtraGrid.Views.Grid.GridView();
+            colName = new DevExpress.XtraGrid.Columns.GridColumn();
+            colTagName = new DevExpress.XtraGrid.Columns.GridColumn();
+            colDescription = new DevExpress.XtraGrid.Columns.GridColumn();
+            colRatedFlow = new DevExpress.XtraGrid.Columns.GridColumn();
+            colRatedHead = new DevExpress.XtraGrid.Columns.GridColumn();
+            colD2 = new DevExpress.XtraGrid.Columns.GridColumn();
+            colErosion = new DevExpress.XtraGrid.Columns.GridColumn();
+            colRatedEfficiency = new DevExpress.XtraGrid.Columns.GridColumn();
+            colRatedPower = new DevExpress.XtraGrid.Columns.GridColumn();
+            colRatedSpeed = new DevExpress.XtraGrid.Columns.GridColumn();
+            Root = new DevExpress.XtraLayout.LayoutControlGroup();
+            layoutControlItem3 = new DevExpress.XtraLayout.LayoutControlItem();
+            emptySpaceItem1 = new DevExpress.XtraLayout.EmptySpaceItem();
+            simpleLabelSearch = new DevExpress.XtraLayout.SimpleLabelItem();
+            simpleLabelItemVagueSearch = new DevExpress.XtraLayout.SimpleLabelItem();
+            layoutControlItem1 = new DevExpress.XtraLayout.LayoutControlItem();
+            layoutControlItem2 = new DevExpress.XtraLayout.LayoutControlItem();
+            layoutControlGroup1 = new DevExpress.XtraLayout.LayoutControlGroup();
+            layoutControlItem6 = new DevExpress.XtraLayout.LayoutControlItem();
+            layoutControlItem4 = new DevExpress.XtraLayout.LayoutControlItem();
+            simpleLabelItem1 = new DevExpress.XtraLayout.SimpleLabelItem();
+            simpleLabelItem2 = new DevExpress.XtraLayout.SimpleLabelItem();
+            simpleLabelItem3 = new DevExpress.XtraLayout.SimpleLabelItem();
+            simpleLabelItem4 = new DevExpress.XtraLayout.SimpleLabelItem();
+            simpleLabelItem5 = new DevExpress.XtraLayout.SimpleLabelItem();
+            simpleLabelItem6 = new DevExpress.XtraLayout.SimpleLabelItem();
+            simpleLabelItem7 = new DevExpress.XtraLayout.SimpleLabelItem();
+            simpleLabelItem8 = new DevExpress.XtraLayout.SimpleLabelItem();
+            ((ISupportInitialize)layoutControl1).BeginInit();
+            layoutControl1.SuspendLayout();
+            ((ISupportInitialize)popupContainerControl1).BeginInit();
+            popupContainerControl1.SuspendLayout();
+            ((ISupportInitialize)treeList1).BeginInit();
+            ((ISupportInitialize)TextPopupPumpChoice.Properties).BeginInit();
+            ((ISupportInitialize)popupContainerControl2).BeginInit();
+            popupContainerControl2.SuspendLayout();
+            ((ISupportInitialize)gridControl1).BeginInit();
+            ((ISupportInitialize)gridView1).BeginInit();
+            ((ISupportInitialize)Root).BeginInit();
+            ((ISupportInitialize)layoutControlItem3).BeginInit();
+            ((ISupportInitialize)emptySpaceItem1).BeginInit();
+            ((ISupportInitialize)simpleLabelSearch).BeginInit();
+            ((ISupportInitialize)simpleLabelItemVagueSearch).BeginInit();
+            ((ISupportInitialize)layoutControlItem1).BeginInit();
+            ((ISupportInitialize)layoutControlItem2).BeginInit();
+            ((ISupportInitialize)layoutControlGroup1).BeginInit();
+            ((ISupportInitialize)layoutControlItem6).BeginInit();
+            ((ISupportInitialize)layoutControlItem4).BeginInit();
+            ((ISupportInitialize)simpleLabelItem1).BeginInit();
+            ((ISupportInitialize)simpleLabelItem2).BeginInit();
+            ((ISupportInitialize)simpleLabelItem3).BeginInit();
+            ((ISupportInitialize)simpleLabelItem4).BeginInit();
+            ((ISupportInitialize)simpleLabelItem5).BeginInit();
+            ((ISupportInitialize)simpleLabelItem6).BeginInit();
+            ((ISupportInitialize)simpleLabelItem7).BeginInit();
+            ((ISupportInitialize)simpleLabelItem8).BeginInit();
+            SuspendLayout();
+            // 
+            // layoutControl1
+            // 
+            layoutControl1.Controls.Add(xtrPerform2dChart1);
+            layoutControl1.Controls.Add(pumpMainCurveForm1);
+            layoutControl1.Controls.Add(popupContainerControl1);
+            layoutControl1.Controls.Add(BtnAddPumpMain);
+            layoutControl1.Controls.Add(TextPopupPumpChoice);
+            layoutControl1.Controls.Add(popupContainerControl2);
+            layoutControl1.Dock = DockStyle.Fill;
+            layoutControl1.Location = new Point(0, 0);
+            layoutControl1.Name = "layoutControl1";
+            layoutControl1.OptionsCustomizationForm.DesignTimeCustomizationFormPositionAndSize = new Rectangle(564, 0, 650, 400);
+            layoutControl1.Root = Root;
+            layoutControl1.Size = new Size(960, 535);
+            layoutControl1.TabIndex = 0;
+            layoutControl1.Text = "layoutControl1";
+            // 
+            // xtrPerform2dChart1
+            // 
+            xtrPerform2dChart1.DefinePointVisible = false;
+            xtrPerform2dChart1.LineVisible = false;
+            xtrPerform2dChart1.Location = new Point(10, 210);
+            xtrPerform2dChart1.Margin = new Padding(2, 2, 2, 2);
+            xtrPerform2dChart1.Name = "xtrPerform2dChart1";
+            xtrPerform2dChart1.Size = new Size(940, 315);
+            xtrPerform2dChart1.TabIndex = 8;
+            // 
+            // pumpMainCurveForm1
+            // 
+            pumpMainCurveForm1.Location = new Point(2, 30);
+            pumpMainCurveForm1.Name = "pumpMainCurveForm1";
+            pumpMainCurveForm1.Size = new Size(956, 147);
+            pumpMainCurveForm1.TabIndex = 7;
+            // 
+            // popupContainerControl1
+            // 
+            popupContainerControl1.Controls.Add(treeList1);
+            popupContainerControl1.Location = new Point(655, 54);
+            popupContainerControl1.Name = "popupContainerControl1";
+            popupContainerControl1.Size = new Size(200, 100);
+            popupContainerControl1.TabIndex = 5;
+            // 
+            // treeList1
+            // 
+            treeList1.Columns.AddRange(new DevExpress.XtraTreeList.Columns.TreeListColumn[] { treeListColumn1 });
+            treeList1.Dock = DockStyle.Fill;
+            treeList1.Location = new Point(0, 0);
+            treeList1.Name = "treeList1";
+            treeList1.OptionsBehavior.Editable = false;
+            treeList1.OptionsView.ShowTreeLines = DevExpress.Utils.DefaultBoolean.True;
+            treeList1.Size = new Size(200, 100);
+            treeList1.TabIndex = 0;
+            treeList1.SelectionChanged += treeList1_SelectionChanged;
+            // 
+            // treeListColumn1
+            // 
+            treeListColumn1.Caption = "鍚嶇О";
+            treeListColumn1.FieldName = "Name";
+            treeListColumn1.Name = "treeListColumn1";
+            treeListColumn1.Visible = true;
+            treeListColumn1.VisibleIndex = 0;
+            // 
+            // BtnAddPumpMain
+            // 
+            BtnAddPumpMain.Appearance.FontSizeDelta = 1;
+            BtnAddPumpMain.Appearance.Options.UseFont = true;
+            BtnAddPumpMain.ImageOptions.SvgImage = (DevExpress.Utils.Svg.SvgImage)resources.GetObject("BtnAddPumpMain.ImageOptions.SvgImage");
+            BtnAddPumpMain.ImageOptions.SvgImageSize = new Size(20, 20);
+            BtnAddPumpMain.Location = new Point(424, 2);
+            BtnAddPumpMain.Name = "BtnAddPumpMain";
+            BtnAddPumpMain.Size = new Size(88, 24);
+            BtnAddPumpMain.StyleController = layoutControl1;
+            BtnAddPumpMain.TabIndex = 3;
+            BtnAddPumpMain.Text = "鏂板鍨嬪彿";
+            // 
+            // TextPopupPumpChoice
+            // 
+            TextPopupPumpChoice.Location = new Point(78, 2);
+            TextPopupPumpChoice.Name = "TextPopupPumpChoice";
+            TextPopupPumpChoice.Properties.Buttons.AddRange(new DevExpress.XtraEditors.Controls.EditorButton[] { new DevExpress.XtraEditors.Controls.EditorButton(DevExpress.XtraEditors.Controls.ButtonPredefines.Combo) });
+            TextPopupPumpChoice.Properties.NullText = "鍦ㄦ澶勮緭鍏ユ煡璇㈡车鍨嬪彿";
+            TextPopupPumpChoice.Properties.TextEditStyle = DevExpress.XtraEditors.Controls.TextEditStyles.Standard;
+            TextPopupPumpChoice.Size = new Size(271, 20);
+            TextPopupPumpChoice.StyleController = layoutControl1;
+            TextPopupPumpChoice.TabIndex = 0;
+            // 
+            // popupContainerControl2
+            // 
+            popupContainerControl2.Controls.Add(gridControl1);
+            popupContainerControl2.Location = new Point(242, 252);
+            popupContainerControl2.Name = "popupContainerControl2";
+            popupContainerControl2.Size = new Size(692, 99);
+            popupContainerControl2.TabIndex = 6;
+            // 
+            // gridControl1
+            // 
+            gridControl1.Dock = DockStyle.Fill;
+            gridControl1.Location = new Point(0, 0);
+            gridControl1.MainView = gridView1;
+            gridControl1.Name = "gridControl1";
+            gridControl1.Size = new Size(692, 99);
+            gridControl1.TabIndex = 0;
+            gridControl1.ViewCollection.AddRange(new DevExpress.XtraGrid.Views.Base.BaseView[] { gridView1 });
+            // 
+            // gridView1
+            // 
+            gridView1.Columns.AddRange(new DevExpress.XtraGrid.Columns.GridColumn[] { colName, colTagName, colDescription, colRatedFlow, colRatedHead, colD2, colErosion, colRatedEfficiency, colRatedPower, colRatedSpeed });
+            gridView1.GridControl = gridControl1;
+            gridView1.Name = "gridView1";
+            gridView1.OptionsView.ShowGroupPanel = false;
+            // 
+            // colName
+            // 
+            colName.Caption = "鍨嬪彿";
+            colName.FieldName = "Name";
+            colName.Name = "colName";
+            colName.Visible = true;
+            colName.VisibleIndex = 0;
+            // 
+            // colTagName
+            // 
+            colTagName.Caption = "鏍囩";
+            colTagName.FieldName = "TagName";
+            colTagName.Name = "colTagName";
+            colTagName.Visible = true;
+            colTagName.VisibleIndex = 1;
+            // 
+            // colDescription
+            // 
+            colDescription.Caption = "璇存槑";
+            colDescription.FieldName = "Description";
+            colDescription.Name = "colDescription";
+            colDescription.Visible = true;
+            colDescription.VisibleIndex = 2;
+            // 
+            // colRatedFlow
+            // 
+            colRatedFlow.Caption = "棰濆畾娴侀噺(m鲁/h)";
+            colRatedFlow.FieldName = "RatedFlow";
+            colRatedFlow.Name = "colRatedFlow";
+            colRatedFlow.Visible = true;
+            colRatedFlow.VisibleIndex = 3;
+            // 
+            // colRatedHead
+            // 
+            colRatedHead.Caption = "棰濆畾鎵▼(m)";
+            colRatedHead.FieldName = "RatedHead";
+            colRatedHead.Name = "colRatedHead";
+            colRatedHead.Visible = true;
+            colRatedHead.VisibleIndex = 4;
+            // 
+            // colD2
+            // 
+            colD2.Caption = "鍙惰疆澶栧緞(mm)";
+            colD2.FieldName = "D2";
+            colD2.Name = "colD2";
+            colD2.Visible = true;
+            colD2.VisibleIndex = 5;
+            // 
+            // colErosion
+            // 
+            colErosion.Caption = "姘旇殌";
+            colErosion.FieldName = "Erosion";
+            colErosion.Name = "colErosion";
+            colErosion.Visible = true;
+            colErosion.VisibleIndex = 6;
+            // 
+            // colRatedEfficiency
+            // 
+            colRatedEfficiency.Caption = "棰濆畾鏁堢巼";
+            colRatedEfficiency.FieldName = "RatedEfficiency";
+            colRatedEfficiency.Name = "colRatedEfficiency";
+            colRatedEfficiency.Visible = true;
+            colRatedEfficiency.VisibleIndex = 7;
+            // 
+            // colRatedPower
+            // 
+            colRatedPower.Caption = "棰濆畾鍔熺巼";
+            colRatedPower.FieldName = "RatedPower";
+            colRatedPower.Name = "colRatedPower";
+            colRatedPower.Visible = true;
+            colRatedPower.VisibleIndex = 8;
+            // 
+            // colRatedSpeed
+            // 
+            colRatedSpeed.Caption = "棰濆畾杞��";
+            colRatedSpeed.FieldName = "RatedSpeed";
+            colRatedSpeed.Name = "colRatedSpeed";
+            colRatedSpeed.Visible = true;
+            colRatedSpeed.VisibleIndex = 9;
+            // 
+            // Root
+            // 
+            Root.EnableIndentsWithoutBorders = DevExpress.Utils.DefaultBoolean.True;
+            Root.GroupBordersVisible = false;
+            Root.Items.AddRange(new DevExpress.XtraLayout.BaseLayoutItem[] { layoutControlItem3, emptySpaceItem1, simpleLabelSearch, simpleLabelItemVagueSearch, layoutControlItem1, layoutControlItem2, layoutControlGroup1 });
+            Root.Name = "Root";
+            Root.Padding = new DevExpress.XtraLayout.Utils.Padding(0, 0, 0, 0);
+            Root.Size = new Size(960, 535);
+            Root.TextVisible = false;
+            // 
+            // layoutControlItem3
+            // 
+            layoutControlItem3.AllowHtmlStringInCaption = true;
+            layoutControlItem3.Control = TextPopupPumpChoice;
+            layoutControlItem3.Location = new Point(0, 0);
+            layoutControlItem3.Name = "layoutControlItem3";
+            layoutControlItem3.Size = new Size(351, 28);
+            layoutControlItem3.Text = "娉靛瀷鍙烽�夋嫨:";
+            layoutControlItem3.TextSize = new Size(64, 14);
+            // 
+            // emptySpaceItem1
+            // 
+            emptySpaceItem1.AllowHotTrack = false;
+            emptySpaceItem1.Location = new Point(514, 0);
+            emptySpaceItem1.Name = "emptySpaceItem1";
+            emptySpaceItem1.Size = new Size(446, 28);
+            emptySpaceItem1.TextSize = new Size(0, 0);
+            // 
+            // simpleLabelSearch
+            // 
+            simpleLabelSearch.AllowHotTrack = false;
+            simpleLabelSearch.ImageOptions.SvgImage = (DevExpress.Utils.Svg.SvgImage)resources.GetObject("simpleLabelSearch.ImageOptions.SvgImage");
+            simpleLabelSearch.ImageOptions.SvgImageSize = new Size(23, 23);
+            simpleLabelSearch.Location = new Point(351, 0);
+            simpleLabelSearch.Name = "simpleLabelSearch";
+            simpleLabelSearch.Size = new Size(37, 28);
+            simpleLabelSearch.Text = " ";
+            simpleLabelSearch.TextAlignMode = DevExpress.XtraLayout.TextAlignModeItem.AutoSize;
+            simpleLabelSearch.TextSize = new Size(32, 23);
+            simpleLabelSearch.Click += simpleLabelSearch_Click;
+            // 
+            // simpleLabelItemVagueSearch
+            // 
+            simpleLabelItemVagueSearch.AllowHotTrack = false;
+            simpleLabelItemVagueSearch.ImageOptions.SvgImage = (DevExpress.Utils.Svg.SvgImage)resources.GetObject("simpleLabelItemVagueSearch.ImageOptions.SvgImage");
+            simpleLabelItemVagueSearch.ImageOptions.SvgImageSize = new Size(20, 20);
+            simpleLabelItemVagueSearch.Location = new Point(388, 0);
+            simpleLabelItemVagueSearch.Name = "simpleLabelItemVagueSearch";
+            simpleLabelItemVagueSearch.Size = new Size(34, 28);
+            simpleLabelItemVagueSearch.Text = " ";
+            simpleLabelItemVagueSearch.TextAlignMode = DevExpress.XtraLayout.TextAlignModeItem.AutoSize;
+            simpleLabelItemVagueSearch.TextSize = new Size(29, 20);
+            simpleLabelItemVagueSearch.Click += simpleLabelItemVagueSearch_Click;
+            // 
+            // layoutControlItem1
+            // 
+            layoutControlItem1.Control = BtnAddPumpMain;
+            layoutControlItem1.Location = new Point(422, 0);
+            layoutControlItem1.Name = "layoutControlItem1";
+            layoutControlItem1.Size = new Size(92, 28);
+            layoutControlItem1.TextSize = new Size(0, 0);
+            layoutControlItem1.TextVisible = false;
+            // 
+            // layoutControlItem2
+            // 
+            layoutControlItem2.Control = pumpMainCurveForm1;
+            layoutControlItem2.Location = new Point(0, 28);
+            layoutControlItem2.Name = "layoutControlItem2";
+            layoutControlItem2.Size = new Size(960, 151);
+            layoutControlItem2.TextSize = new Size(0, 0);
+            layoutControlItem2.TextVisible = false;
+            // 
+            // layoutControlGroup1
+            // 
+            layoutControlGroup1.Items.AddRange(new DevExpress.XtraLayout.BaseLayoutItem[] { layoutControlItem6 });
+            layoutControlGroup1.Location = new Point(0, 179);
+            layoutControlGroup1.Name = "layoutControlGroup1";
+            layoutControlGroup1.Padding = new DevExpress.XtraLayout.Utils.Padding(7, 7, 7, 7);
+            layoutControlGroup1.Size = new Size(960, 356);
+            layoutControlGroup1.Text = "鏇茬嚎瑙嗗浘";
+            // 
+            // layoutControlItem6
+            // 
+            layoutControlItem6.Control = xtrPerform2dChart1;
+            layoutControlItem6.Location = new Point(0, 0);
+            layoutControlItem6.Name = "layoutControlItem6";
+            layoutControlItem6.Padding = new DevExpress.XtraLayout.Utils.Padding(0, 0, 0, 0);
+            layoutControlItem6.Size = new Size(940, 315);
+            layoutControlItem6.TextSize = new Size(0, 0);
+            layoutControlItem6.TextVisible = false;
+            // 
+            // layoutControlItem4
+            // 
+            layoutControlItem4.Location = new Point(0, 0);
+            layoutControlItem4.Name = "layoutControlItem4";
+            layoutControlItem4.Size = new Size(351, 28);
+            layoutControlItem4.Text = "娉靛瀷鍙烽�夋嫨:";
+            layoutControlItem4.TextSize = new Size(64, 14);
+            // 
+            // simpleLabelItem1
+            // 
+            simpleLabelItem1.AllowHotTrack = false;
+            simpleLabelItem1.Location = new Point(0, 0);
+            simpleLabelItem1.Name = "simpleLabelItem1";
+            simpleLabelItem1.Size = new Size(0, 0);
+            simpleLabelItem1.TextSize = new Size(50, 20);
+            // 
+            // simpleLabelItem2
+            // 
+            simpleLabelItem2.AllowHotTrack = false;
+            simpleLabelItem2.Location = new Point(0, 0);
+            simpleLabelItem2.Name = "simpleLabelItem2";
+            simpleLabelItem2.Size = new Size(0, 0);
+            simpleLabelItem2.TextSize = new Size(50, 20);
+            // 
+            // simpleLabelItem3
+            // 
+            simpleLabelItem3.AllowHotTrack = false;
+            simpleLabelItem3.Location = new Point(0, 0);
+            simpleLabelItem3.Name = "simpleLabelItem3";
+            simpleLabelItem3.Size = new Size(0, 0);
+            simpleLabelItem3.TextSize = new Size(50, 20);
+            // 
+            // simpleLabelItem4
+            // 
+            simpleLabelItem4.AllowHotTrack = false;
+            simpleLabelItem4.Location = new Point(0, 0);
+            simpleLabelItem4.Name = "simpleLabelItem4";
+            simpleLabelItem4.Size = new Size(0, 0);
+            simpleLabelItem4.TextSize = new Size(50, 20);
+            // 
+            // simpleLabelItem5
+            // 
+            simpleLabelItem5.AllowHotTrack = false;
+            simpleLabelItem5.Location = new Point(0, 0);
+            simpleLabelItem5.Name = "simpleLabelItem5";
+            simpleLabelItem5.Size = new Size(0, 0);
+            simpleLabelItem5.TextSize = new Size(50, 20);
+            // 
+            // simpleLabelItem6
+            // 
+            simpleLabelItem6.AllowHotTrack = false;
+            simpleLabelItem6.Location = new Point(0, 0);
+            simpleLabelItem6.Name = "simpleLabelItem6";
+            simpleLabelItem6.Size = new Size(0, 0);
+            simpleLabelItem6.TextSize = new Size(50, 20);
+            // 
+            // simpleLabelItem7
+            // 
+            simpleLabelItem7.AllowHotTrack = false;
+            simpleLabelItem7.Location = new Point(0, 0);
+            simpleLabelItem7.Name = "simpleLabelItem7";
+            simpleLabelItem7.Size = new Size(0, 0);
+            simpleLabelItem7.TextSize = new Size(50, 20);
+            // 
+            // simpleLabelItem8
+            // 
+            simpleLabelItem8.AllowHotTrack = false;
+            simpleLabelItem8.Location = new Point(0, 0);
+            simpleLabelItem8.Name = "simpleLabelItem8";
+            simpleLabelItem8.Size = new Size(0, 0);
+            simpleLabelItem8.TextSize = new Size(50, 20);
+            // 
+            // PumpMainCurveChoicePage
+            // 
+            AutoScaleDimensions = new SizeF(7F, 14F);
+            AutoScaleMode = AutoScaleMode.Font;
+            Controls.Add(layoutControl1);
+            Name = "PumpMainCurveChoicePage";
+            Size = new Size(960, 535);
+            ((ISupportInitialize)layoutControl1).EndInit();
+            layoutControl1.ResumeLayout(false);
+            ((ISupportInitialize)popupContainerControl1).EndInit();
+            popupContainerControl1.ResumeLayout(false);
+            ((ISupportInitialize)treeList1).EndInit();
+            ((ISupportInitialize)TextPopupPumpChoice.Properties).EndInit();
+            ((ISupportInitialize)popupContainerControl2).EndInit();
+            popupContainerControl2.ResumeLayout(false);
+            ((ISupportInitialize)gridControl1).EndInit();
+            ((ISupportInitialize)gridView1).EndInit();
+            ((ISupportInitialize)Root).EndInit();
+            ((ISupportInitialize)layoutControlItem3).EndInit();
+            ((ISupportInitialize)emptySpaceItem1).EndInit();
+            ((ISupportInitialize)simpleLabelSearch).EndInit();
+            ((ISupportInitialize)simpleLabelItemVagueSearch).EndInit();
+            ((ISupportInitialize)layoutControlItem1).EndInit();
+            ((ISupportInitialize)layoutControlItem2).EndInit();
+            ((ISupportInitialize)layoutControlGroup1).EndInit();
+            ((ISupportInitialize)layoutControlItem6).EndInit();
+            ((ISupportInitialize)layoutControlItem4).EndInit();
+            ((ISupportInitialize)simpleLabelItem1).EndInit();
+            ((ISupportInitialize)simpleLabelItem2).EndInit();
+            ((ISupportInitialize)simpleLabelItem3).EndInit();
+            ((ISupportInitialize)simpleLabelItem4).EndInit();
+            ((ISupportInitialize)simpleLabelItem5).EndInit();
+            ((ISupportInitialize)simpleLabelItem6).EndInit();
+            ((ISupportInitialize)simpleLabelItem7).EndInit();
+            ((ISupportInitialize)simpleLabelItem8).EndInit();
+            ResumeLayout(false);
+        }
+
+
+        #endregion
+
+        private DevExpress.XtraLayout.LayoutControl layoutControl1;
+        private DevExpress.XtraLayout.LayoutControlGroup Root;
+        private DevExpress.XtraLayout.LayoutControlItem layoutControlItem4;
+         private DevExpress.XtraEditors.PopupContainerEdit TextPopupPumpChoice;
+        private DevExpress.XtraLayout.LayoutControlItem layoutControlItem3;
+        private DevExpress.XtraLayout.SimpleLabelItem simpleLabelItem1;
+        private DevExpress.XtraLayout.SimpleLabelItem simpleLabelItem2;
+        private DevExpress.XtraLayout.SimpleLabelItem simpleLabelItem3;
+        private DevExpress.XtraLayout.SimpleLabelItem simpleLabelItem4;
+        private DevExpress.XtraLayout.SimpleLabelItem simpleLabelItem5;
+        private DevExpress.XtraLayout.SimpleLabelItem simpleLabelItem6;
+        private DevExpress.XtraLayout.SimpleLabelItem simpleLabelItem7;
+        private DevExpress.XtraLayout.SimpleLabelItem simpleLabelItem8;
+        private DevExpress.XtraEditors.SimpleButton BtnAddPumpMain;
+        private DevExpress.XtraLayout.LayoutControlItem layoutControlItem1;
+        private DevExpress.XtraLayout.EmptySpaceItem emptySpaceItem1;
+        private DevExpress.XtraLayout.SimpleLabelItem simpleLabelSearch;
+        private DevExpress.XtraLayout.SimpleLabelItem simpleLabelItemVagueSearch;
+        private DevExpress.XtraEditors.PopupContainerControl popupContainerControl1;
+        private DevExpress.XtraTreeList.TreeList treeList1;
+        private DevExpress.XtraTreeList.Columns.TreeListColumn treeListColumn1;
+        private DevExpress.XtraEditors.PopupContainerControl popupContainerControl2;
+        private DevExpress.XtraGrid.GridControl gridControl1;
+        private DevExpress.XtraGrid.Views.Grid.GridView gridView1;
+        private DevExpress.XtraGrid.Columns.GridColumn colName;
+        private DevExpress.XtraGrid.Columns.GridColumn colTagName;
+        private DevExpress.XtraGrid.Columns.GridColumn colDescription;
+        private DevExpress.XtraGrid.Columns.GridColumn colRatedFlow;
+        private DevExpress.XtraGrid.Columns.GridColumn colRatedHead;
+        private DevExpress.XtraGrid.Columns.GridColumn colD2;
+        private DevExpress.XtraGrid.Columns.GridColumn colErosion;
+        private DevExpress.XtraGrid.Columns.GridColumn colRatedEfficiency;
+        private DevExpress.XtraGrid.Columns.GridColumn colRatedPower;
+        private DevExpress.XtraGrid.Columns.GridColumn colRatedSpeed;
+        private Yw.WinFrmUI.Phart.XtrPerform2dChart xtrPerform2dChart1;
+        private PumpMainCurveForm pumpMainCurveForm1;
+        private DevExpress.XtraLayout.LayoutControlItem layoutControlItem6;
+        private DevExpress.XtraLayout.LayoutControlItem layoutControlItem2;
+        private DevExpress.XtraLayout.LayoutControlGroup layoutControlGroup1;
+    }
+}
diff --git a/WinFrmUI/HStation.WinFrmUI.Xhs.Core/03-scheme/03-hydraulic-simulation/01-PumpMainCurveChoice/PumpMainChoicePage.cs b/WinFrmUI/HStation.WinFrmUI.Xhs.Core/03-scheme/03-hydraulic-simulation/01-PumpMainCurveChoice/PumpMainChoicePage.cs
new file mode 100644
index 0000000..5ceff83
--- /dev/null
+++ b/WinFrmUI/HStation.WinFrmUI.Xhs.Core/03-scheme/03-hydraulic-simulation/01-PumpMainCurveChoice/PumpMainChoicePage.cs
@@ -0,0 +1,249 @@
+锘縰sing HStation.WinFrmUI.PhartRelation;
+
+namespace HStation.WinFrmUI.Xhs
+{
+    public partial class PumpMainCurveChoicePage : DevExpress.XtraEditors.XtraUserControl
+    {
+        public PumpMainCurveChoicePage()
+        {
+            InitializeComponent();
+        }
+
+        private List<PumpMainChoieViewModel> _allBindingList = null;
+
+        private BLL.PumpSeries _seriesBll = null;
+
+        private BLL.PumpGroup _groupBll = null;
+
+        private BLL.PumpMain _pumpBll = null;
+
+        private BLL.PumpGroupAndMainMap _groupMapBll = null;
+
+        private readonly Lazy<BLL.XhsPumpMainPhartMappingExtensions> _bll_ex = new();
+
+        private long _DbID;  //娉靛瀷鍙稩D
+        private long _Curveid;//鏇茬嚎ID
+        private Vmo.XhsPumpMainPhartMappingExtensions _Curveinfo; //鏇茬嚎璇︾粏淇℃伅
+
+        private string _SearchText;
+
+        public class CurvieText
+        {
+            public long Dbid { get; set; }
+            public long Curveid { get; set; }
+            public Vmo.XhsPumpMainPhartMappingExtensions Curveinfo { get; set; }
+        }
+
+        /// <summary>
+        /// 鍒濆鍖�
+        /// </summary>
+        public async void SetBindingData(string dbiD, string ModelType)
+        {
+            _seriesBll = new BLL.PumpSeries();
+            _groupBll = new BLL.PumpGroup();
+            _pumpBll = new BLL.PumpMain();
+            _groupMapBll = new BLL.PumpGroupAndMainMap();
+            this.pumpMainCurveForm1.SelectEventReload += PumpMainCurveForm1_SelectEventReload;
+            if (dbiD != null)
+            {
+                if (long.TryParse(dbiD, out long DbID))
+                {
+                    var model = await _pumpBll.GetByID(DbID);
+                    if (model == null)
+                        return;
+                    _DbID = DbID;
+                    pumpMainCurveForm1.SetBindingData(model);
+                }
+            }
+            if (ModelType != null)
+            {
+                _SearchText = ModelType;
+                var alllist = await TreelistShow();
+                if (alllist.Count <= 0)
+                    return;
+                var model = await _pumpBll.GetByID(alllist.First().ID);
+                if (model == null)
+                    return;
+                _DbID = model.ID;
+                pumpMainCurveForm1.SetBindingData(model);
+                TextPopupPumpChoice.ShowPopup();
+            }
+        }
+
+        //
+        private async void PumpMainCurveForm1_SelectEventReload(long ID)
+        {
+            var vmo = await _bll_ex.Value.GetByID(ID);
+            _Curveid = ID;
+            _Curveinfo = vmo;
+            InitChart(vmo);
+        }
+
+        public CurvieText GetCurrentCurveinfo()
+        {
+            var ss = new CurvieText
+            {
+                Dbid = _DbID,
+                Curveid = _Curveid,
+                Curveinfo = _Curveinfo
+            };
+            return ss;
+        }
+
+        //鍒濆鍖栧浘琛ㄦ暟鎹�
+        private void InitChart(Vmo.XhsPumpMainPhartMappingExtensions dto)
+        {
+            if (dto == null)
+            {
+                return;
+            }
+            var diagram = dto.Diagram;
+            if (diagram == null)
+            {
+                return;
+            }
+            var graph_list = diagram.GraphList;
+            if (graph_list == null || !graph_list.Any())
+            {
+                return;
+            }
+
+            var graph_qh = graph_list.Find(x => x.GraphType == HStation.PhartRelation.eGraphType.PumpQH);
+            var graph_qe = graph_list.Find(x => x.GraphType == HStation.PhartRelation.eGraphType.PumpQH);
+            var graph_qp = graph_list.Find(x => x.GraphType == HStation.PhartRelation.eGraphType.PumpQH);
+
+            if (graph_qp == null)
+            {
+                return;
+            }
+
+            List<Yw.Geometry.Point2d> points_qh = null, points_qe = null, points_qp = null;
+            points_qh = PhartPerformCurveHelper.GetFeatPointList(graph_qh.GraphType, graph_qh.GeometryInfo, 12, null);
+            if (graph_qe != null)
+                points_qe = PhartPerformCurveHelper.GetFeatPointList(graph_qe.GraphType, graph_qe.GeometryInfo, 12, null);
+            if (graph_qp != null)
+                points_qp = PhartPerformCurveHelper.GetFeatPointList(graph_qp.GraphType, graph_qp.GeometryInfo, 12, null);
+
+            var cubic_spline_qh = new Yw.Geometry.CubicSpline2d(points_qh);
+            var cubic_spline_qe = new Yw.Geometry.CubicSpline2d(points_qe);
+            var cubic_spline_qp = new Yw.Geometry.CubicSpline2d(points_qp);
+
+            var disp_paras = diagram.DispParas;
+            var is_calc_disp_paras = string.IsNullOrWhiteSpace(disp_paras);
+            this.xtrPerform2dChart1.SetBindingData(cubic_spline_qh, cubic_spline_qe, cubic_spline_qp, disp_paras, is_calc_disp_paras);
+        }
+
+        //鏍规嵁娉靛瀷鍙锋ā绯婃煡璇�(鏍戞樉绀�)
+        private async void simpleLabelSearch_Click(object sender, EventArgs e)
+        {
+            if (TextPopupPumpChoice.EditValue == null)
+                return;
+            _SearchText = Convert.ToString(TextPopupPumpChoice.EditValue);
+            TextPopupPumpChoice.Properties.PopupControl = popupContainerControl1;
+            if (_SearchText == null)
+            {
+                return;
+            }
+            await TreelistShow();
+            this.treeList1.DataSource = _allBindingList;
+            TextPopupPumpChoice.ShowPopup();
+        }
+
+        private async Task<List<PumpMainChoieViewModel>> TreelistShow()
+        {
+            _allBindingList = new List<PumpMainChoieViewModel>();
+            var allSeries = await _seriesBll.GetAll();
+            var allGroup = await _groupBll.GetAll();
+            var allPumpMain = await _pumpBll.GetAll();
+            var allGroupMap = await _groupMapBll.GetAll();
+            //娉靛瀷鍙�
+            foreach (var item in allPumpMain)
+            {
+                if (item.Name.Contains(_SearchText.Trim()))
+                {
+                    var groupMap = allGroupMap.Find(x => x.PumpMainID == item.ID);
+                    if (groupMap != null)
+                    {
+                        var group = allGroup.Find(x => x.ID == groupMap.PumpGroupID);
+                        if (group != null)
+                        {
+                            var series = allSeries.Find(x => x.ID == group.PumpSeriesID);
+                            if (series != null)
+                            {
+                                if (_allBindingList.Find(x => x.ID == series.ID) == null)
+                                {
+                                    _allBindingList.Add(new PumpMainChoieViewModel(series));
+                                }
+                                if (_allBindingList.Find(x => x.ID == group.ID) == null)
+                                {
+                                    _allBindingList.Add(new PumpMainChoieViewModel(item, group.ID));
+                                }
+                                _allBindingList.Add(new PumpMainChoieViewModel(group));
+                            }
+                        }
+                    }
+                    else
+                    {
+                        var series = allSeries.Find(x => x.ID == item.PumpSeriesID);
+                        if (series != null)
+                        {
+                            if (_allBindingList.Find(x => x.ID == series.ID) == null)
+                            {
+                                _allBindingList.Add(new PumpMainChoieViewModel(series));
+                            }
+                            _allBindingList.Add(new PumpMainChoieViewModel(item));
+                        }
+                    }
+                }
+            }
+            return _allBindingList.Where(x => x.IsPump == true).ToList();
+        }
+
+        //妯$硦鏌ヨ(琛ㄦ牸鏄剧ず)
+        private async void simpleLabelItemVagueSearch_Click(object sender, EventArgs e)
+        {
+            if (TextPopupPumpChoice.EditValue == null)
+            {
+                return;
+            }
+            _allBindingList = new List<PumpMainChoieViewModel>();
+            TextPopupPumpChoice.Properties.PopupControl = popupContainerControl2;
+            var allPumpMain = await _pumpBll.GetAll();
+            foreach (var Main in allPumpMain)
+            {
+                if (Main.Name.Contains(TextPopupPumpChoice.Text))
+                {
+                    _allBindingList.Add(new PumpMainChoieViewModel(Main));
+                }
+            }
+            this.gridControl1.DataSource = _allBindingList;
+            TextPopupPumpChoice.Size = new Size(500, 300);
+            TextPopupPumpChoice.ShowPopup();
+        }
+
+        //閫夋嫨椤瑰彉鎹�
+        private async void treeList1_SelectionChanged(object sender, EventArgs e)
+        {
+            var vm = this.treeList1.GetCurrentViewModel(_allBindingList);
+            if (vm != null)
+            {
+                if (!vm.IsPump)
+                {
+                    return;
+                }
+                var model = await _pumpBll.GetByID(vm.ID);
+                if (model == null)
+                    return;
+                _DbID = vm.ID;
+                pumpMainCurveForm1.SetBindingData(model);
+            }
+            //treeList1.CloseEditForm();
+        }
+
+        private void BtnAddPumpMain_Click(object sender, EventArgs e)
+        {
+            var dlg = new AddPumpMainDlg();
+            dlg.ShowDialog();
+        }
+    }
+}
\ No newline at end of file
diff --git a/WinFrmUI/HStation.WinFrmUI.Xhs.Core/03-scheme/02-asset-mgr/PumpMain/PumpMainChoicePage.resx b/WinFrmUI/HStation.WinFrmUI.Xhs.Core/03-scheme/03-hydraulic-simulation/01-PumpMainCurveChoice/PumpMainChoicePage.resx
similarity index 100%
copy from WinFrmUI/HStation.WinFrmUI.Xhs.Core/03-scheme/02-asset-mgr/PumpMain/PumpMainChoicePage.resx
copy to WinFrmUI/HStation.WinFrmUI.Xhs.Core/03-scheme/03-hydraulic-simulation/01-PumpMainCurveChoice/PumpMainChoicePage.resx
diff --git a/WinFrmUI/HStation.WinFrmUI.Xhs.Core/03-scheme/03-hydraulic-simulation/01-PumpMainCurveChoice/PumpMainChoieViewModel.cs b/WinFrmUI/HStation.WinFrmUI.Xhs.Core/03-scheme/03-hydraulic-simulation/01-PumpMainCurveChoice/PumpMainChoieViewModel.cs
new file mode 100644
index 0000000..f22b382
--- /dev/null
+++ b/WinFrmUI/HStation.WinFrmUI.Xhs.Core/03-scheme/03-hydraulic-simulation/01-PumpMainCurveChoice/PumpMainChoieViewModel.cs
@@ -0,0 +1,114 @@
+锘縩amespace HStation.WinFrmUI.Xhs
+{
+    public class PumpMainCurveChoieViewModel
+    {
+        public PumpMainCurveChoieViewModel(Vmo.PumpSeries rhs)
+        {
+            this.ID = rhs.ID;
+            this.Name = rhs.Name;
+            this.IsPump = false;
+        }
+
+        public PumpMainCurveChoieViewModel(Vmo.PumpGroup rhs)
+        {
+            this.ID = rhs.ID;
+            this.Name = rhs.Name;
+            this.ParentID = rhs.PumpSeriesID;
+            this.IsPump = false;
+        }
+
+        public PumpMainCurveChoieViewModel(Vmo.PumpMain rhs, long GroupID)
+        {
+            this.ID = rhs.ID;
+            this.Name = rhs.Name;
+            this.ParentID = GroupID;
+            this.IsPump = true;
+        }
+
+        public PumpMainCurveChoieViewModel(Vmo.PumpMain rhs)
+        {
+            this.ID = rhs.ID;
+            this.Name = rhs.Name;
+            this.ParentID = rhs.PumpSeriesID;
+            this.IsPump = true;
+            this.Erosion = rhs.Erosion;
+            this.RatedPower = rhs.RatedPower;
+            this.RatedFlow = rhs.RatedFlow;
+            this.RatedSpeed = rhs.RatedSpeed;
+            this.RatedEfficiency = rhs.RatedEfficiency;
+            this.D2 = rhs.D2;
+            this.Description = rhs.Description;
+            this.SortCode = rhs.SortCode;
+        }
+
+        public long ID { get; set; }
+        public long ParentID { get; set; }
+        public string Name { get; set; }
+        public bool IsPump { get; set; }
+
+        /// <summary>
+        /// 娉电郴鍒桰D
+        /// </summary>
+        public long PumpSeriesID { get; set; }
+
+        /// <summary>
+        /// 鍙傛暟
+        /// </summary>
+        public Dictionary<string, string> Paras { get; set; }
+
+        /// <summary>
+        /// 鏍囩
+        /// </summary>
+        public List<string> Flags { get; set; }
+
+        /// <summary>
+        /// 鏍囧織
+        /// </summary>
+        public string TagName { get; set; }
+
+        /// <summary>
+        /// 鎺掑簭鐮�
+        /// </summary>
+        public int SortCode { get; set; }
+
+        /// <summary>
+        /// 棰濆畾杞��
+        /// </summary>
+        public double RatedSpeed { get; set; }
+
+        /// <summary>
+        /// 棰濆畾娴侀噺
+        /// </summary>
+        public double RatedFlow { get; set; }
+
+        /// <summary>
+        /// 棰濆畾鎵▼
+        /// </summary>
+        public double RatedHead { get; set; }
+
+        /// <summary>
+        /// 棰濆畾鏁堢巼
+        /// </summary>
+        public double RatedEfficiency { get; set; }
+
+        /// <summary>
+        /// 棰濆畾鍔熺巼
+        /// </summary>
+        public double RatedPower { get; set; }
+
+        /// <summary>
+        /// 姘旇殌
+        /// </summary>
+        public double? Erosion { get; set; }
+
+        /// <summary>
+        /// 鍙惰疆澶栧緞
+        /// </summary>
+        public double? D2 { get; set; }
+
+        /// <summary>
+        /// 璇存槑
+        /// </summary>
+        public string Description { get; set; }
+    }
+}
\ No newline at end of file
diff --git a/WinFrmUI/HStation.WinFrmUI.Xhs.Core/03-scheme/03-hydraulic-simulation/01-PumpMainCurveChoice/PumpMainForm.Designer.cs b/WinFrmUI/HStation.WinFrmUI.Xhs.Core/03-scheme/03-hydraulic-simulation/01-PumpMainCurveChoice/PumpMainForm.Designer.cs
new file mode 100644
index 0000000..1b7e270
--- /dev/null
+++ b/WinFrmUI/HStation.WinFrmUI.Xhs.Core/03-scheme/03-hydraulic-simulation/01-PumpMainCurveChoice/PumpMainForm.Designer.cs
@@ -0,0 +1,315 @@
+锘縩amespace HStation.WinFrmUI.Xhs
+{
+    partial class PumpMainCurveForm
+    {
+        /// <summary> 
+        /// Required designer variable.
+        /// </summary>
+        private System.ComponentModel.IContainer components = null;
+
+        /// <summary> 
+        /// Clean up any resources being used.
+        /// </summary>
+        /// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
+        protected override void Dispose(bool disposing)
+        {
+            if (disposing && (components != null))
+            {
+                components.Dispose();
+            }
+            base.Dispose(disposing);
+        }
+
+        #region Component Designer generated code
+
+        /// <summary> 
+        /// Required method for Designer support - do not modify 
+        /// the contents of this method with the code editor.
+        /// </summary>
+        private void InitializeComponent()
+        {
+            layoutControl1 = new DevExpress.XtraLayout.LayoutControl();
+            TextEditDescription = new DevExpress.XtraEditors.TextEdit();
+            TextEditD2 = new DevExpress.XtraEditors.TextEdit();
+            TextEditErosion = new DevExpress.XtraEditors.TextEdit();
+            TextEditRatedPower = new DevExpress.XtraEditors.TextEdit();
+            TextEditRatedSpeed = new DevExpress.XtraEditors.TextEdit();
+            TextEditName = new DevExpress.XtraEditors.TextEdit();
+            TextEditRatedFlow = new DevExpress.XtraEditors.TextEdit();
+            TextEditRatedHead = new DevExpress.XtraEditors.TextEdit();
+            comboBoxPumpCurve = new DevExpress.XtraEditors.ImageComboBoxEdit();
+            Root = new DevExpress.XtraLayout.LayoutControlGroup();
+            layoutControlItem1 = new DevExpress.XtraLayout.LayoutControlItem();
+            layoutControlItem2 = new DevExpress.XtraLayout.LayoutControlItem();
+            layoutControlItem4 = new DevExpress.XtraLayout.LayoutControlItem();
+            layoutControlItem6 = new DevExpress.XtraLayout.LayoutControlItem();
+            layoutControlItem3 = new DevExpress.XtraLayout.LayoutControlItem();
+            layoutControlItem5 = new DevExpress.XtraLayout.LayoutControlItem();
+            layoutControlItem7 = new DevExpress.XtraLayout.LayoutControlItem();
+            layoutControlItem9 = new DevExpress.XtraLayout.LayoutControlItem();
+            layoutControlItem8 = new DevExpress.XtraLayout.LayoutControlItem();
+            ((ISupportInitialize)layoutControl1).BeginInit();
+            layoutControl1.SuspendLayout();
+            ((ISupportInitialize)TextEditDescription.Properties).BeginInit();
+            ((ISupportInitialize)TextEditD2.Properties).BeginInit();
+            ((ISupportInitialize)TextEditErosion.Properties).BeginInit();
+            ((ISupportInitialize)TextEditRatedPower.Properties).BeginInit();
+            ((ISupportInitialize)TextEditRatedSpeed.Properties).BeginInit();
+            ((ISupportInitialize)TextEditName.Properties).BeginInit();
+            ((ISupportInitialize)TextEditRatedFlow.Properties).BeginInit();
+            ((ISupportInitialize)TextEditRatedHead.Properties).BeginInit();
+            ((ISupportInitialize)comboBoxPumpCurve.Properties).BeginInit();
+            ((ISupportInitialize)Root).BeginInit();
+            ((ISupportInitialize)layoutControlItem1).BeginInit();
+            ((ISupportInitialize)layoutControlItem2).BeginInit();
+            ((ISupportInitialize)layoutControlItem4).BeginInit();
+            ((ISupportInitialize)layoutControlItem6).BeginInit();
+            ((ISupportInitialize)layoutControlItem3).BeginInit();
+            ((ISupportInitialize)layoutControlItem5).BeginInit();
+            ((ISupportInitialize)layoutControlItem7).BeginInit();
+            ((ISupportInitialize)layoutControlItem9).BeginInit();
+            ((ISupportInitialize)layoutControlItem8).BeginInit();
+            SuspendLayout();
+            // 
+            // layoutControl1
+            // 
+            layoutControl1.Controls.Add(TextEditDescription);
+            layoutControl1.Controls.Add(TextEditD2);
+            layoutControl1.Controls.Add(TextEditErosion);
+            layoutControl1.Controls.Add(TextEditRatedPower);
+            layoutControl1.Controls.Add(TextEditRatedSpeed);
+            layoutControl1.Controls.Add(TextEditName);
+            layoutControl1.Controls.Add(TextEditRatedFlow);
+            layoutControl1.Controls.Add(TextEditRatedHead);
+            layoutControl1.Controls.Add(comboBoxPumpCurve);
+            layoutControl1.Dock = DockStyle.Fill;
+            layoutControl1.Location = new Point(0, 0);
+            layoutControl1.Name = "layoutControl1";
+            layoutControl1.Root = Root;
+            layoutControl1.Size = new Size(689, 158);
+            layoutControl1.TabIndex = 0;
+            layoutControl1.Text = "layoutControl1";
+            // 
+            // TextEditDescription
+            // 
+            TextEditDescription.Location = new Point(114, 108);
+            TextEditDescription.Name = "TextEditDescription";
+            TextEditDescription.Size = new Size(563, 20);
+            TextEditDescription.StyleController = layoutControl1;
+            TextEditDescription.TabIndex = 9;
+            // 
+            // TextEditD2
+            // 
+            TextEditD2.Location = new Point(438, 36);
+            TextEditD2.Name = "TextEditD2";
+            TextEditD2.Size = new Size(239, 20);
+            TextEditD2.StyleController = layoutControl1;
+            TextEditD2.TabIndex = 4;
+            // 
+            // TextEditErosion
+            // 
+            TextEditErosion.Location = new Point(114, 60);
+            TextEditErosion.Name = "TextEditErosion";
+            TextEditErosion.Size = new Size(218, 20);
+            TextEditErosion.StyleController = layoutControl1;
+            TextEditErosion.TabIndex = 5;
+            // 
+            // TextEditRatedPower
+            // 
+            TextEditRatedPower.Location = new Point(438, 60);
+            TextEditRatedPower.Name = "TextEditRatedPower";
+            TextEditRatedPower.Size = new Size(239, 20);
+            TextEditRatedPower.StyleController = layoutControl1;
+            TextEditRatedPower.TabIndex = 6;
+            // 
+            // TextEditRatedSpeed
+            // 
+            TextEditRatedSpeed.Location = new Point(438, 84);
+            TextEditRatedSpeed.Name = "TextEditRatedSpeed";
+            TextEditRatedSpeed.Size = new Size(239, 20);
+            TextEditRatedSpeed.StyleController = layoutControl1;
+            TextEditRatedSpeed.TabIndex = 8;
+            // 
+            // TextEditName
+            // 
+            TextEditName.Location = new Point(114, 12);
+            TextEditName.Name = "TextEditName";
+            TextEditName.Size = new Size(218, 20);
+            TextEditName.StyleController = layoutControl1;
+            TextEditName.TabIndex = 0;
+            // 
+            // TextEditRatedFlow
+            // 
+            TextEditRatedFlow.Location = new Point(438, 12);
+            TextEditRatedFlow.Name = "TextEditRatedFlow";
+            TextEditRatedFlow.Size = new Size(239, 20);
+            TextEditRatedFlow.StyleController = layoutControl1;
+            TextEditRatedFlow.TabIndex = 2;
+            // 
+            // TextEditRatedHead
+            // 
+            TextEditRatedHead.Location = new Point(114, 36);
+            TextEditRatedHead.Name = "TextEditRatedHead";
+            TextEditRatedHead.Size = new Size(218, 20);
+            TextEditRatedHead.StyleController = layoutControl1;
+            TextEditRatedHead.TabIndex = 3;
+            // 
+            // comboBoxPumpCurve
+            // 
+            comboBoxPumpCurve.Location = new Point(114, 84);
+            comboBoxPumpCurve.Name = "comboBoxPumpCurve";
+            comboBoxPumpCurve.Properties.Buttons.AddRange(new DevExpress.XtraEditors.Controls.EditorButton[] { new DevExpress.XtraEditors.Controls.EditorButton(DevExpress.XtraEditors.Controls.ButtonPredefines.Combo) });
+            comboBoxPumpCurve.Properties.NullText = "涓嬫媺閫夋嫨鏇茬嚎";
+            comboBoxPumpCurve.Properties.TextEditStyle = DevExpress.XtraEditors.Controls.TextEditStyles.DisableTextEditor;
+            comboBoxPumpCurve.Size = new Size(218, 20);
+            comboBoxPumpCurve.StyleController = layoutControl1;
+            comboBoxPumpCurve.TabIndex = 7;
+            comboBoxPumpCurve.SelectedIndexChanged += comboBoxPumpCurve_SelectedIndexChanged;
+            // 
+            // Root
+            // 
+            Root.AppearanceItemCaption.Options.UseTextOptions = true;
+            Root.AppearanceItemCaption.TextOptions.HAlignment = DevExpress.Utils.HorzAlignment.Far;
+            Root.EnableIndentsWithoutBorders = DevExpress.Utils.DefaultBoolean.True;
+            Root.GroupBordersVisible = false;
+            Root.Items.AddRange(new DevExpress.XtraLayout.BaseLayoutItem[] { layoutControlItem1, layoutControlItem2, layoutControlItem4, layoutControlItem6, layoutControlItem3, layoutControlItem5, layoutControlItem7, layoutControlItem9, layoutControlItem8 });
+            Root.Name = "Root";
+            Root.Size = new Size(689, 158);
+            Root.TextVisible = false;
+            // 
+            // layoutControlItem1
+            // 
+            layoutControlItem1.Control = TextEditRatedHead;
+            layoutControlItem1.Location = new Point(0, 24);
+            layoutControlItem1.Name = "layoutControlItem1";
+            layoutControlItem1.Size = new Size(324, 24);
+            layoutControlItem1.Text = "棰濆畾鎵▼(m):";
+            layoutControlItem1.TextSize = new Size(90, 14);
+            // 
+            // layoutControlItem2
+            // 
+            layoutControlItem2.Control = TextEditName;
+            layoutControlItem2.Location = new Point(0, 0);
+            layoutControlItem2.Name = "layoutControlItem2";
+            layoutControlItem2.Size = new Size(324, 24);
+            layoutControlItem2.Text = "鍨嬪彿:";
+            layoutControlItem2.TextSize = new Size(90, 14);
+            // 
+            // layoutControlItem4
+            // 
+            layoutControlItem4.Control = TextEditErosion;
+            layoutControlItem4.Location = new Point(0, 48);
+            layoutControlItem4.Name = "layoutControlItem4";
+            layoutControlItem4.Size = new Size(324, 24);
+            layoutControlItem4.Text = "姘旇殌:";
+            layoutControlItem4.TextSize = new Size(90, 14);
+            // 
+            // layoutControlItem6
+            // 
+            layoutControlItem6.Control = TextEditRatedSpeed;
+            layoutControlItem6.Location = new Point(324, 72);
+            layoutControlItem6.Name = "layoutControlItem6";
+            layoutControlItem6.Size = new Size(345, 24);
+            layoutControlItem6.Text = "棰濆畾杞��:";
+            layoutControlItem6.TextSize = new Size(90, 14);
+            // 
+            // layoutControlItem3
+            // 
+            layoutControlItem3.Control = TextEditRatedFlow;
+            layoutControlItem3.Location = new Point(324, 0);
+            layoutControlItem3.Name = "layoutControlItem3";
+            layoutControlItem3.Size = new Size(345, 24);
+            layoutControlItem3.Text = "棰濆畾娴侀噺(m鲁/h):";
+            layoutControlItem3.TextSize = new Size(90, 14);
+            // 
+            // layoutControlItem5
+            // 
+            layoutControlItem5.Control = TextEditD2;
+            layoutControlItem5.Location = new Point(324, 24);
+            layoutControlItem5.Name = "layoutControlItem5";
+            layoutControlItem5.Size = new Size(345, 24);
+            layoutControlItem5.Text = "鍙惰疆澶栧緞(mm):";
+            layoutControlItem5.TextSize = new Size(90, 14);
+            // 
+            // layoutControlItem7
+            // 
+            layoutControlItem7.Control = TextEditRatedPower;
+            layoutControlItem7.Location = new Point(324, 48);
+            layoutControlItem7.Name = "layoutControlItem7";
+            layoutControlItem7.Size = new Size(345, 24);
+            layoutControlItem7.Text = "棰濆畾鍔熺巼:";
+            layoutControlItem7.TextSize = new Size(90, 14);
+            // 
+            // layoutControlItem9
+            // 
+            layoutControlItem9.Control = TextEditDescription;
+            layoutControlItem9.Location = new Point(0, 96);
+            layoutControlItem9.Name = "layoutControlItem9";
+            layoutControlItem9.Size = new Size(669, 42);
+            layoutControlItem9.Text = "璇存槑:";
+            layoutControlItem9.TextSize = new Size(90, 14);
+            // 
+            // layoutControlItem8
+            // 
+            layoutControlItem8.Control = comboBoxPumpCurve;
+            layoutControlItem8.Location = new Point(0, 72);
+            layoutControlItem8.Name = "layoutControlItem8";
+            layoutControlItem8.Size = new Size(324, 24);
+            layoutControlItem8.Text = "娉垫洸绾�:";
+            layoutControlItem8.TextSize = new Size(90, 14);
+            // 
+            // PumpMainCurveForm
+            // 
+            AutoScaleDimensions = new SizeF(7F, 14F);
+            AutoScaleMode = AutoScaleMode.Font;
+            Controls.Add(layoutControl1);
+            Name = "PumpMainCurveForm";
+            Size = new Size(689, 158);
+            ((ISupportInitialize)layoutControl1).EndInit();
+            layoutControl1.ResumeLayout(false);
+            ((ISupportInitialize)TextEditDescription.Properties).EndInit();
+            ((ISupportInitialize)TextEditD2.Properties).EndInit();
+            ((ISupportInitialize)TextEditErosion.Properties).EndInit();
+            ((ISupportInitialize)TextEditRatedPower.Properties).EndInit();
+            ((ISupportInitialize)TextEditRatedSpeed.Properties).EndInit();
+            ((ISupportInitialize)TextEditName.Properties).EndInit();
+            ((ISupportInitialize)TextEditRatedFlow.Properties).EndInit();
+            ((ISupportInitialize)TextEditRatedHead.Properties).EndInit();
+            ((ISupportInitialize)comboBoxPumpCurve.Properties).EndInit();
+            ((ISupportInitialize)Root).EndInit();
+            ((ISupportInitialize)layoutControlItem1).EndInit();
+            ((ISupportInitialize)layoutControlItem2).EndInit();
+            ((ISupportInitialize)layoutControlItem4).EndInit();
+            ((ISupportInitialize)layoutControlItem6).EndInit();
+            ((ISupportInitialize)layoutControlItem3).EndInit();
+            ((ISupportInitialize)layoutControlItem5).EndInit();
+            ((ISupportInitialize)layoutControlItem7).EndInit();
+            ((ISupportInitialize)layoutControlItem9).EndInit();
+            ((ISupportInitialize)layoutControlItem8).EndInit();
+            ResumeLayout(false);
+        }
+
+        #endregion
+
+        private DevExpress.XtraLayout.LayoutControl layoutControl1;
+        private DevExpress.XtraLayout.LayoutControlGroup Root;
+        private DevExpress.XtraEditors.TextEdit TextEditDescription;
+        private DevExpress.XtraEditors.TextEdit TextEditD2;
+        private DevExpress.XtraEditors.TextEdit TextEditErosion;
+        private DevExpress.XtraEditors.TextEdit TextEditRatedPower;
+        private DevExpress.XtraEditors.TextEdit TextEditRatedSpeed;
+        private DevExpress.XtraEditors.TextEdit TextEditName;
+        private DevExpress.XtraEditors.TextEdit TextEditRatedFlow;
+        private DevExpress.XtraEditors.TextEdit TextEditRatedHead;
+        private DevExpress.XtraLayout.LayoutControlItem layoutControlItem1;
+        private DevExpress.XtraLayout.LayoutControlItem layoutControlItem2;
+        private DevExpress.XtraLayout.LayoutControlItem layoutControlItem4;
+        private DevExpress.XtraLayout.LayoutControlItem layoutControlItem6;
+        private DevExpress.XtraLayout.LayoutControlItem layoutControlItem3;
+        private DevExpress.XtraLayout.LayoutControlItem layoutControlItem5;
+        private DevExpress.XtraLayout.LayoutControlItem layoutControlItem7;
+        private DevExpress.XtraLayout.LayoutControlItem layoutControlItem9;
+        private DevExpress.XtraLayout.LayoutControlItem layoutControlItem8;
+        private DevExpress.XtraEditors.ImageComboBoxEdit comboBoxPumpCurve;
+    }
+}
diff --git a/WinFrmUI/HStation.WinFrmUI.Xhs.Core/03-scheme/03-hydraulic-simulation/01-PumpMainCurveChoice/PumpMainForm.cs b/WinFrmUI/HStation.WinFrmUI.Xhs.Core/03-scheme/03-hydraulic-simulation/01-PumpMainCurveChoice/PumpMainForm.cs
new file mode 100644
index 0000000..0b42c49
--- /dev/null
+++ b/WinFrmUI/HStation.WinFrmUI.Xhs.Core/03-scheme/03-hydraulic-simulation/01-PumpMainCurveChoice/PumpMainForm.cs
@@ -0,0 +1,50 @@
+锘縰sing DevExpress.XtraEditors.Controls;
+
+namespace HStation.WinFrmUI.Xhs
+{
+    public partial class PumpMainCurveForm : DevExpress.XtraEditors.XtraUserControl
+    {
+        public PumpMainCurveForm()
+        {
+            InitializeComponent();
+        }
+
+        public event Action<long> SelectEventReload = null;
+
+        private readonly Lazy<BLL.XhsPumpMainPhartMappingExtensions> _bll_ex = new();
+
+        public void SetBindingData(Vmo.PumpMain pumpMain)
+        {
+            this.TextEditErosion.Text = pumpMain.Erosion.ToString();
+            this.TextEditName.Text = pumpMain.Name;
+            this.TextEditRatedFlow.Text = pumpMain.RatedFlow.ToString();
+            this.TextEditD2.Text = pumpMain.D2.ToString();
+            this.TextEditDescription.Text = pumpMain.Description;
+            this.TextEditRatedSpeed.Text = pumpMain.RatedSpeed.ToString();
+            this.TextEditRatedPower.Text = pumpMain.RatedPower.ToString();
+            CurveComoboxSetBindingData(pumpMain.ID);
+        }
+
+        private async void CurveComoboxSetBindingData(long pump_main_id)
+        {
+            comboBoxPumpCurve.Properties.Items.Clear();
+            var list = await _bll_ex.Value.GetByPumpMainID(pump_main_id);
+            if (list != null && list.Any())
+            {
+                foreach (var item in list)
+                {
+                    var image = new ImageComboBoxItem();
+                    image.Value = item.ID;
+                    image.Description = item.OtherName;
+                    comboBoxPumpCurve.Properties.Items.Add(image);
+                }
+            }
+        }
+
+        //鏇茬嚎閫夋嫨鍙樺寲
+        private void comboBoxPumpCurve_SelectedIndexChanged(object sender, EventArgs e)
+        {
+            SelectEventReload.Invoke(Convert.ToInt64(comboBoxPumpCurve.EditValue));
+        }
+    }
+}
\ No newline at end of file
diff --git a/WinFrmUI/HStation.WinFrmUI.Xhs.Core/03-scheme/02-asset-mgr/PumpMain/PumpMainForm.resx b/WinFrmUI/HStation.WinFrmUI.Xhs.Core/03-scheme/03-hydraulic-simulation/01-PumpMainCurveChoice/PumpMainForm.resx
similarity index 100%
copy from WinFrmUI/HStation.WinFrmUI.Xhs.Core/03-scheme/02-asset-mgr/PumpMain/PumpMainForm.resx
copy to WinFrmUI/HStation.WinFrmUI.Xhs.Core/03-scheme/03-hydraulic-simulation/01-PumpMainCurveChoice/PumpMainForm.resx
diff --git a/WinFrmUI/HStation.WinFrmUI.Xhs.Core/03-scheme/03-hydraulic-simulation/XhsProjectSimulationPropertyCtrl.cs b/WinFrmUI/HStation.WinFrmUI.Xhs.Core/03-scheme/03-hydraulic-simulation/XhsProjectSimulationPropertyCtrl.cs
index 6f5db10..4d73930 100644
--- a/WinFrmUI/HStation.WinFrmUI.Xhs.Core/03-scheme/03-hydraulic-simulation/XhsProjectSimulationPropertyCtrl.cs
+++ b/WinFrmUI/HStation.WinFrmUI.Xhs.Core/03-scheme/03-hydraulic-simulation/XhsProjectSimulationPropertyCtrl.cs
@@ -1,6 +1,8 @@
 锘縰sing DevExpress.Spreadsheet;
 using DevExpress.XtraEditors;
 using DevExpress.XtraTabbedMdi;
+using HStation.WinFrmUI.Xhs;
+using Org.BouncyCastle.Crypto.Generators;
 
 namespace HStation.WinFrmUI
 {
@@ -128,8 +130,8 @@
         //閫夋嫨鏇茬嚎
         private void HydroParterPropertyCtrl1_SelectCurveEvent(HydroParterPropertyViewModel propViewModel, string curveType)
         {
-            //杩欓噷 dbid modeltype 
-            //杩斿洖 dbid curveid 鏇茬嚎淇℃伅 
+            //杩欓噷 dbid modeltype
+            //杩斿洖 dbid curveid 鏇茬嚎淇℃伅
             switch (curveType)
             {
                 case Yw.WinFrmUI.HydroCurve.PumpQH:
@@ -137,30 +139,38 @@
                         var pumpPropertyViewModel = propViewModel as HydroPumpPropertyViewModel;
                         var dbId = pumpPropertyViewModel.DbId;
                         var modelType = pumpPropertyViewModel.ModelType;
-                        //var curveId =; ;
-
-                        //dbId ,curveId,curveinfo
-
+                        var dlg = new PumpMainCurveChoiceDlg();
+                        dlg.SetBindingData(dbId, modelType);
+                        dlg.CurveinfoEvent += (dbid, curveid, curveinfo) =>
+                        {
+                        };
+                        dlg.ShowDialog();
                     }
                     break;
+
                 case Yw.WinFrmUI.HydroCurve.PumpQE:
                     {
                         var pumpPropertyViewModel = propViewModel as HydroPumpPropertyViewModel;
                         var dbId = pumpPropertyViewModel.DbId;
                         var modelType = pumpPropertyViewModel.ModelType;
-                        //var curveId =; ;
-
-                        //dbId ,curveId,curveinfo
+                        var dlg = new PumpMainCurveChoiceDlg();
+                        dlg.SetBindingData(dbId, modelType);
+                        dlg.CurveinfoEvent += (dbid, curveid, curveinfo) =>
+                        {
+                        };
+                        dlg.ShowDialog();
                     }
                     break;
+
                 case Yw.WinFrmUI.HydroCurve.ValveQL:
                     {
                         //
                     }
                     break;
+
                 default: break;
             }
-            XtraMessageBox.Show($"{propViewModel.Name}-{curveType}");
+            //  XtraMessageBox.Show($"{propViewModel.Name}-{curveType}");
         }
 
         //閫夋嫨妯″紡
@@ -170,18 +180,17 @@
             {
                 case Yw.WinFrmUI.HydroPattern.Demand:
                     {
-
                     }
                     break;
+
                 case Yw.WinFrmUI.HydroPattern.Head:
                     {
-
                     }
                     break;
+
                 default: break;
             }
             XtraMessageBox.Show($"{propViewModel.Name}-{patternType}");
         }
-
     }
-}
+}
\ No newline at end of file
diff --git a/WinFrmUI/HStation.WinFrmUI.Xhs.Core/HStation.WinFrmUI.Xhs.Core.csproj b/WinFrmUI/HStation.WinFrmUI.Xhs.Core/HStation.WinFrmUI.Xhs.Core.csproj
index aceadc3..555c83b 100644
--- a/WinFrmUI/HStation.WinFrmUI.Xhs.Core/HStation.WinFrmUI.Xhs.Core.csproj
+++ b/WinFrmUI/HStation.WinFrmUI.Xhs.Core/HStation.WinFrmUI.Xhs.Core.csproj
@@ -91,6 +91,15 @@
     <Compile Update="02-project\04-dlg\EditProjectDlg.cs">
       <SubType>Form</SubType>
     </Compile>
+    <Compile Update="03-scheme\03-hydraulic-simulation\01-PumpMainCurveChoice\ChoicePumpMainDlg.cs">
+      <SubType>Form</SubType>
+    </Compile>
+    <Compile Update="03-scheme\03-hydraulic-simulation\01-PumpMainCurveChoice\PumpMainChoicePage.cs">
+      <SubType>UserControl</SubType>
+    </Compile>
+    <Compile Update="03-scheme\03-hydraulic-simulation\01-PumpMainCurveChoice\PumpMainForm.cs">
+      <SubType>UserControl</SubType>
+    </Compile>
     <Compile Update="03-scheme\03-hydraulic-simulation\XhsSchemeHydraulicSimulationPage.cs">
       <SubType>UserControl</SubType>
     </Compile>
diff --git a/WinFrmUI/HStation.WinFrmUI.Xhs.Core/HStation.WinFrmUI.Xhs.Core.csproj.user b/WinFrmUI/HStation.WinFrmUI.Xhs.Core/HStation.WinFrmUI.Xhs.Core.csproj.user
index 3b55ba5..7980dfa 100644
--- a/WinFrmUI/HStation.WinFrmUI.Xhs.Core/HStation.WinFrmUI.Xhs.Core.csproj.user
+++ b/WinFrmUI/HStation.WinFrmUI.Xhs.Core/HStation.WinFrmUI.Xhs.Core.csproj.user
@@ -58,19 +58,19 @@
     <Compile Update="03-scheme\01-basic-info\XhsSchemeBasicInfoPage.cs">
       <SubType>UserControl</SubType>
     </Compile>
-    <Compile Update="03-scheme\02-asset-mgr\PumpMain\AddPumpMainDlg.cs">
+    <Compile Update="03-scheme\02-asset-mgr\PumpMain_Wizrad\AddPumpMainDlg.cs">
       <SubType>Form</SubType>
     </Compile>
-    <Compile Update="03-scheme\02-asset-mgr\PumpMain\ChoicePumpMainDlg.cs">
+    <Compile Update="03-scheme\02-asset-mgr\PumpMain_Wizrad\ChoicePumpMainDlg.cs">
       <SubType>Form</SubType>
     </Compile>
-    <Compile Update="03-scheme\02-asset-mgr\PumpMain\PumpMainForm.cs">
+    <Compile Update="03-scheme\02-asset-mgr\PumpMain_Wizrad\PumpMainForm.cs">
       <SubType>UserControl</SubType>
     </Compile>
-    <Compile Update="03-scheme\02-asset-mgr\PumpMain\PumpMainChoicePage.cs">
+    <Compile Update="03-scheme\02-asset-mgr\PumpMain_Wizrad\PumpMainChoicePage.cs">
       <SubType>UserControl</SubType>
     </Compile>
-    <Compile Update="03-scheme\02-asset-mgr\PumpMain\ValveChoicePage.cs">
+    <Compile Update="03-scheme\02-asset-mgr\PumpMain_Wizrad\ValveChoicePage.cs">
       <SubType>UserControl</SubType>
     </Compile>
     <Compile Update="03-scheme\02-asset-mgr\XhsProjectAssetsBimfaceCtrl.cs">

--
Gitblit v1.9.3