From eccc597eb5b29ce1a9982ebf31f0e1272d3db14f Mon Sep 17 00:00:00 2001
From: Shuxia Ning <NingShuxia0927@outlook.com>
Date: 星期三, 09 十月 2024 11:33:45 +0800
Subject: [PATCH] 阀门管理

---
 WinFrmUI/Yw.WinFrmUI.Phart.Core/01-perform/02-valve-chart/02-chart-edit/ValvePerform2dEditChart.resx                     |    4 
 WinFrmUI/HStation.WinFrmUI.Assets.Core/03-valve/ValveManageMainPanel.resx                                                |   33 ++
 WinFrmUI/Yw.WinFrmUI.Phart.Core/01-perform/02-valve-chart/02-chart-edit/ValvePerform2dEditCtrl.cs                        |   17 -
 BLL/HStation.BLL.PhartRelation.Core/03-localclient/02-valve-main/XhsValveMainPhartMappingExtensions.cs                   |  113 ++++----
 WinFrmUI/Yw.WinFrmUI.Phart.Core/01-perform/02-valve-chart/05-import/01-excel/ImportValvePerform2dByExcelCtrl.cs          |   32 -
 WinFrmUI/HStation.WinFrmUI.PhartRelation.Core/02-valve-main/XhsValveMainPhartPanel.cs                                    |   65 +--
 WinFrmUI/HStation.WinFrmUI.PhartRelation.Core/02-valve-main/XhsValveMainPhartPanel.Designer.cs                           |   58 +---
 WinFrmUI/Yw.WinFrmUI.Phart.Core/01-perform/02-valve-chart/01-chart/ValvePerform2dChart.cs                                |   26 -
 WinFrmUI/Yw.WinFrmUI.Phart.Core/01-perform/02-valve-chart/02-chart-edit/ValvePerform2dEditChart.Designer.cs              |  115 +-------
 WinFrmUI/Yw.WinFrmUI.Phart.Core/01-perform/02-valve-chart/05-import/01-excel/ImportValvePerform2dByExcelCtrl.designer.cs |  153 ++++------
 WinFrmUI/HStation.WinFrmUI.Assets.Core/03-valve/ValveManageMainPanel.cs                                                  |   36 ++
 WinFrmUI/Yw.WinFrmUI.Phart.Core/01-perform/02-valve-chart/01-chart/ValvePerform2dChart.resx                              |   20 -
 WinFrmUI/Yw.WinFrmUI.Phart.Core/01-perform/99-models/01-coordinate/ValvePerformCoordinate_Disp.cs                        |   12 
 WinFrmUI/HStation.WinFrmUI.Assets.Core/03-valve/ValveManageMainPanel.Designer.cs                                         |   69 +++-
 WinFrmUI/HStation.WinFrmUI.PhartRelation.Core/01-pump-main/XhsPumpMainPhartPanel.Designer.cs                             |   42 --
 Service/HStation.Service.PhartRelation.Core/05-service/00-core/PerformCurveHelper.cs                                     |   13 
 WinFrmUI/Yw.WinFrmUI.Phart.Core/01-perform/02-valve-chart/01-chart/ValvePerform2dChart.Designer.cs                       |   17 -
 WinFrmUI/Yw.WinFrmUI.Phart.Core/01-perform/02-valve-chart/05-import/01-excel/ImportValvePerform2dByExcelCtrl.resx        |    2 
 18 files changed, 338 insertions(+), 489 deletions(-)

diff --git a/BLL/HStation.BLL.PhartRelation.Core/03-localclient/02-valve-main/XhsValveMainPhartMappingExtensions.cs b/BLL/HStation.BLL.PhartRelation.Core/03-localclient/02-valve-main/XhsValveMainPhartMappingExtensions.cs
index 377d055..0c71553 100644
--- a/BLL/HStation.BLL.PhartRelation.Core/03-localclient/02-valve-main/XhsValveMainPhartMappingExtensions.cs
+++ b/BLL/HStation.BLL.PhartRelation.Core/03-localclient/02-valve-main/XhsValveMainPhartMappingExtensions.cs
@@ -123,68 +123,67 @@
         {
             return await Task.Factory.StartNew(() =>
             {
-                //var mapping = _service.GetByID(input.ID);
-                //if (mapping == null)
-                //{
-                //    throw YOops.Oh(eResultCode.Alert, InternalErrorCodes.D001, $"ID:{input.ID} 鏁版嵁涓嶅瓨鍦�");
-                //}
-                //var equipment = new Service.ValveMainVmo().GetByID(input.ValveMainID);
-                //if (equipment == null)
-                //{
-                //    throw YOops.Oh(eResultCode.Alert, InternalErrorCodes.D001, $"ValveMainID:{input.ValveMainID} 鏁版嵁涓嶅瓨鍦�");
-                //}
-                //var diagram = new Yw.Service.PhartDiagram().GetByID(input.DiagramID);
-                //if (diagram == null)
-                //{
-                //    throw YOops.Oh(eResultCode.Alert, InternalErrorCodes.D001, $"DiagramID:{input.DiagramID} 鏁版嵁涓嶅瓨鍦�");
-                //}
+                var mapping = _service.GetByID(input.ID);
+                if (mapping == null)
+                {
+                    throw YOops.Oh(eResultCode.Alert, InternalErrorCodes.D001, $"ID:{input.ID} 鏁版嵁涓嶅瓨鍦�");
+                }
+                var equipment = new Service.ValveMain().GetByID(input.ValveMainID);
+                if (equipment == null)
+                {
+                    throw YOops.Oh(eResultCode.Alert, InternalErrorCodes.D001, $"ValveMainID:{input.ValveMainID} 鏁版嵁涓嶅瓨鍦�");
+                }
+                var diagram = new Yw.Service.PhartDiagram().GetByID(input.DiagramID);
+                if (diagram == null)
+                {
+                    throw YOops.Oh(eResultCode.Alert, InternalErrorCodes.D001, $"DiagramID:{input.DiagramID} 鏁版嵁涓嶅瓨鍦�");
+                }
 
-                //if (input.Diagram != null)
-                //{
-                //    if (input.Diagram.ID != input.DiagramID)
-                //    {
-                //        throw YOops.Oh(eResultCode.Alert, InternalErrorCodes.V001, $"鍥捐〃鏁版嵁涓嶅尮閰�");
-                //    }
-                //    if (input.Diagram.GraphList != null && input.Diagram.GraphList.Count > 0)
-                //    {
-                //        if (input.Diagram.GraphList.Exists(x => x.DiagramID != input.DiagramID))
-                //        {
-                //            throw YOops.Oh(eResultCode.Alert, InternalErrorCodes.V001, $"鍥惧舰鏁版嵁涓嶅尮閰�");
-                //        }
-                //    }
-                //}
+                if (input.Diagram != null)
+                {
+                    if (input.Diagram.ID != input.DiagramID)
+                    {
+                        throw YOops.Oh(eResultCode.Alert, InternalErrorCodes.V001, $"鍥捐〃鏁版嵁涓嶅尮閰�");
+                    }
+                    if (input.Diagram.GraphList != null && input.Diagram.GraphList.Count > 0)
+                    {
+                        if (input.Diagram.GraphList.Exists(x => x.DiagramID != input.DiagramID))
+                        {
+                            throw YOops.Oh(eResultCode.Alert, InternalErrorCodes.V001, $"鍥惧舰鏁版嵁涓嶅尮閰�");
+                        }
+                    }
+                }
 
-                //var mapping_rhs = new Model.XhsValveMainPhartMapping(mapping);
-                //input.Adapt(mapping_rhs);
+                var mapping_rhs = new Model.XhsValveMainPhartMapping(mapping);
+                input.Adapt(mapping_rhs);
 
-                //Yw.Model.PhartDiagram diagram_rhs = null;
-                //List<Yw.Model.PhartGraph> graph_rhs_list = null;
-                //if (input.Diagram != null)
-                //{
-                //    diagram_rhs = new Yw.Model.PhartDiagram(diagram);
-                //    input.Diagram.Adapt(diagram_rhs);
-                //    if (input.Diagram.GraphList != null && input.Diagram.GraphList.Count > 0)
-                //    {
-                //        var service_graph = new Yw.Service.PhartGraph();
-                //        graph_rhs_list = new List<Yw.Model.PhartGraph>();
-                //        foreach (var graph in input.Diagram.GraphList)
-                //        {
-                //            var graph_model = service_graph.GetByID(graph.ID);
-                //            if (graph_model == null)
-                //            {
-                //                throw YOops.Oh(eResultCode.Alert, InternalErrorCodes.D001, $"GraphID:{graph.ID} 鏁版嵁涓嶅瓨鍦�");
-                //            }
-                //            var graph_rhs = new Yw.Model.PhartGraph(graph_model);
-                //            graph.Adapt(graph_rhs);
-                //            graph_rhs_list.Add(graph_rhs);
-                //        }
-                //    }
-                //}
+                Yw.Model.PhartDiagram diagram_rhs = null;
+                List<Yw.Model.PhartGraph> graph_rhs_list = null;
+                if (input.Diagram != null)
+                {
+                    diagram_rhs = new Yw.Model.PhartDiagram(diagram);
+                    input.Diagram.Adapt(diagram_rhs);
+                    if (input.Diagram.GraphList != null && input.Diagram.GraphList.Count > 0)
+                    {
+                        var service_graph = new Yw.Service.PhartGraph();
+                        graph_rhs_list = new List<Yw.Model.PhartGraph>();
+                        foreach (var graph in input.Diagram.GraphList)
+                        {
+                            var graph_model = service_graph.GetByID(graph.ID);
+                            if (graph_model == null)
+                            {
+                                throw YOops.Oh(eResultCode.Alert, InternalErrorCodes.D001, $"GraphID:{graph.ID} 鏁版嵁涓嶅瓨鍦�");
+                            }
+                            var graph_rhs = new Yw.Model.PhartGraph(graph_model);
+                            graph.Adapt(graph_rhs);
+                            graph_rhs_list.Add(graph_rhs);
+                        }
+                    }
+                }
 
-                //var bol = _service.UpdateEx(mapping_rhs, diagram_rhs, graph_rhs_list);
-                //return bol;
+                var bol = _service.UpdateEx(mapping_rhs, diagram_rhs, graph_rhs_list);
+                return bol;
 
-                return false;
             });
              
         }
diff --git a/Service/HStation.Service.PhartRelation.Core/05-service/00-core/PerformCurveHelper.cs b/Service/HStation.Service.PhartRelation.Core/05-service/00-core/PerformCurveHelper.cs
index 82467cc..2543e0f 100644
--- a/Service/HStation.Service.PhartRelation.Core/05-service/00-core/PerformCurveHelper.cs
+++ b/Service/HStation.Service.PhartRelation.Core/05-service/00-core/PerformCurveHelper.cs
@@ -4,7 +4,7 @@
     /// 鐗规�ф洸绾胯緟鍔╃被
     /// </summary>
     public class PerformCurveHelper
-    { 
+    {
         /// <summary>
         /// 鑾峰彇鎬ц兘鐐瑰垪琛�
         /// </summary>
@@ -43,7 +43,16 @@
                             pts = curveQE.FeatCurve.GetPointList(pointNumber, minSpace);
                         }
                     }
-                    break;  
+                    break;
+                case eGraphType.ValveQL:
+                    {
+                        var cubic_spline_ql = new Yw.Geometry.CubicSpline2d(geometryInfo);
+                        if (cubic_spline_ql != null)
+                        {
+                            pts = cubic_spline_ql.GetPointList(pointNumber, minSpace);
+                        }
+                    }
+                    break;
                 default: break;
             }
             return pts;
diff --git a/WinFrmUI/HStation.WinFrmUI.Assets.Core/03-valve/ValveManageMainPanel.Designer.cs b/WinFrmUI/HStation.WinFrmUI.Assets.Core/03-valve/ValveManageMainPanel.Designer.cs
index 4afb24e..8e61752 100644
--- a/WinFrmUI/HStation.WinFrmUI.Assets.Core/03-valve/ValveManageMainPanel.Designer.cs
+++ b/WinFrmUI/HStation.WinFrmUI.Assets.Core/03-valve/ValveManageMainPanel.Designer.cs
@@ -53,6 +53,7 @@
             dockPanel1 = new DevExpress.XtraBars.Docking.DockPanel();
             dockPanel1_Container = new DevExpress.XtraBars.Docking.ControlContainer();
             valveTypeTreeListCtrl1 = new ValveTypeTreeListCtrl();
+            barBtnValveLine = new DevExpress.XtraBars.BarButtonItem();
             ((System.ComponentModel.ISupportInitialize)ribbonControl1).BeginInit();
             ((System.ComponentModel.ISupportInitialize)svgImageCollection1).BeginInit();
             sidePanel1.SuspendLayout();
@@ -67,12 +68,15 @@
             // ribbonControl1
             // 
             ribbonControl1.DrawGroupsBorderMode = DevExpress.Utils.DefaultBoolean.True;
+            ribbonControl1.EmptyAreaImageOptions.ImagePadding = new Padding(43, 47, 43, 47);
             ribbonControl1.ExpandCollapseItem.Id = 0;
             ribbonControl1.ItemPanelStyle = DevExpress.XtraBars.Ribbon.RibbonItemPanelStyle.Classic;
-            ribbonControl1.Items.AddRange(new DevExpress.XtraBars.BarItem[] { ribbonControl1.ExpandCollapseItem, BtnAdd, BtnEdit, BtnDelete, BarBtnEidtPumpPart });
+            ribbonControl1.Items.AddRange(new DevExpress.XtraBars.BarItem[] { ribbonControl1.ExpandCollapseItem, BtnAdd, BtnEdit, BtnDelete, BarBtnEidtPumpPart, barBtnValveLine });
             ribbonControl1.Location = new Point(0, 0);
-            ribbonControl1.MaxItemId = 22;
+            ribbonControl1.Margin = new Padding(4, 5, 4, 5);
+            ribbonControl1.MaxItemId = 23;
             ribbonControl1.Name = "ribbonControl1";
+            ribbonControl1.OptionsMenuMinWidth = 471;
             ribbonControl1.Pages.AddRange(new DevExpress.XtraBars.Ribbon.RibbonPage[] { ribbonPage1 });
             ribbonControl1.RibbonStyle = DevExpress.XtraBars.Ribbon.RibbonControlStyle.Office2010;
             ribbonControl1.ShowApplicationButton = DevExpress.Utils.DefaultBoolean.False;
@@ -80,7 +84,7 @@
             ribbonControl1.ShowPageHeadersInFormCaption = DevExpress.Utils.DefaultBoolean.False;
             ribbonControl1.ShowPageHeadersMode = DevExpress.XtraBars.Ribbon.ShowPageHeadersMode.Hide;
             ribbonControl1.ShowToolbarCustomizeItem = false;
-            ribbonControl1.Size = new Size(690, 101);
+            ribbonControl1.Size = new Size(985, 148);
             ribbonControl1.Toolbar.ShowCustomizeItem = false;
             ribbonControl1.ToolbarLocation = DevExpress.XtraBars.Ribbon.RibbonQuickAccessToolbarLocation.Hidden;
             // 
@@ -125,6 +129,7 @@
             ribbonPageGroup1.ItemLinks.Add(BtnAdd);
             ribbonPageGroup1.ItemLinks.Add(BtnEdit);
             ribbonPageGroup1.ItemLinks.Add(BtnDelete);
+            ribbonPageGroup1.ItemLinks.Add(barBtnValveLine);
             ribbonPageGroup1.Name = "ribbonPageGroup1";
             ribbonPageGroup1.Text = "鍩虹鍔熻兘";
             // 
@@ -138,10 +143,10 @@
             sidePanel1.Controls.Add(gridControl1);
             sidePanel1.Controls.Add(ribbonControl1);
             sidePanel1.Dock = DockStyle.Fill;
-            sidePanel1.Location = new Point(200, 0);
+            sidePanel1.Location = new Point(286, 0);
             sidePanel1.Margin = new Padding(0);
             sidePanel1.Name = "sidePanel1";
-            sidePanel1.Size = new Size(690, 520);
+            sidePanel1.Size = new Size(985, 817);
             sidePanel1.TabIndex = 2;
             sidePanel1.Text = "sidePanel1";
             // 
@@ -149,11 +154,13 @@
             // 
             gridControl1.DataSource = valveMainViewModelBindingSource;
             gridControl1.Dock = DockStyle.Fill;
-            gridControl1.Location = new Point(0, 101);
+            gridControl1.EmbeddedNavigator.Margin = new Padding(4, 5, 4, 5);
+            gridControl1.Location = new Point(0, 148);
             gridControl1.MainView = gridView1;
+            gridControl1.Margin = new Padding(4, 5, 4, 5);
             gridControl1.MenuManager = ribbonControl1;
             gridControl1.Name = "gridControl1";
-            gridControl1.Size = new Size(690, 419);
+            gridControl1.Size = new Size(985, 669);
             gridControl1.TabIndex = 1;
             gridControl1.ViewCollection.AddRange(new DevExpress.XtraGrid.Views.Base.BaseView[] { gridView1 });
             // 
@@ -167,8 +174,10 @@
             gridView1.Appearance.HeaderPanel.TextOptions.HAlignment = DevExpress.Utils.HorzAlignment.Center;
             gridView1.BorderStyle = DevExpress.XtraEditors.Controls.BorderStyles.NoBorder;
             gridView1.Columns.AddRange(new DevExpress.XtraGrid.Columns.GridColumn[] { colName, colCaliber, colMaterial, colCoefficient, colDescription, colCreateName, colCreateTime });
+            gridView1.DetailHeight = 550;
             gridView1.GridControl = gridControl1;
             gridView1.Name = "gridView1";
+            gridView1.OptionsEditForm.PopupEditFormWidth = 1143;
             gridView1.OptionsView.ShowGroupPanel = false;
             // 
             // colName
@@ -176,70 +185,77 @@
             colName.AppearanceCell.Options.UseTextOptions = true;
             colName.AppearanceCell.TextOptions.HAlignment = DevExpress.Utils.HorzAlignment.Center;
             colName.FieldName = "Name";
+            colName.MinWidth = 29;
             colName.Name = "colName";
             colName.Visible = true;
             colName.VisibleIndex = 0;
-            colName.Width = 130;
+            colName.Width = 186;
             // 
             // colCaliber
             // 
             colCaliber.AppearanceCell.Options.UseTextOptions = true;
             colCaliber.AppearanceCell.TextOptions.HAlignment = DevExpress.Utils.HorzAlignment.Center;
             colCaliber.FieldName = "Caliber";
+            colCaliber.MinWidth = 29;
             colCaliber.Name = "colCaliber";
             colCaliber.Visible = true;
             colCaliber.VisibleIndex = 3;
-            colCaliber.Width = 130;
+            colCaliber.Width = 186;
             // 
             // colMaterial
             // 
             colMaterial.AppearanceCell.Options.UseTextOptions = true;
             colMaterial.AppearanceCell.TextOptions.HAlignment = DevExpress.Utils.HorzAlignment.Center;
             colMaterial.FieldName = "Material";
+            colMaterial.MinWidth = 29;
             colMaterial.Name = "colMaterial";
             colMaterial.Visible = true;
             colMaterial.VisibleIndex = 4;
-            colMaterial.Width = 130;
+            colMaterial.Width = 186;
             // 
             // colCoefficient
             // 
             colCoefficient.AppearanceCell.Options.UseTextOptions = true;
             colCoefficient.AppearanceCell.TextOptions.HAlignment = DevExpress.Utils.HorzAlignment.Center;
             colCoefficient.FieldName = "Coefficient";
+            colCoefficient.MinWidth = 29;
             colCoefficient.Name = "colCoefficient";
             colCoefficient.Visible = true;
             colCoefficient.VisibleIndex = 5;
-            colCoefficient.Width = 130;
+            colCoefficient.Width = 186;
             // 
             // colDescription
             // 
             colDescription.AppearanceCell.Options.UseTextOptions = true;
             colDescription.AppearanceCell.TextOptions.HAlignment = DevExpress.Utils.HorzAlignment.Center;
             colDescription.FieldName = "Description";
+            colDescription.MinWidth = 29;
             colDescription.Name = "colDescription";
             colDescription.Visible = true;
             colDescription.VisibleIndex = 6;
-            colDescription.Width = 198;
+            colDescription.Width = 283;
             // 
             // colCreateName
             // 
             colCreateName.AppearanceCell.Options.UseTextOptions = true;
             colCreateName.AppearanceCell.TextOptions.HAlignment = DevExpress.Utils.HorzAlignment.Center;
             colCreateName.FieldName = "CreateName";
+            colCreateName.MinWidth = 29;
             colCreateName.Name = "colCreateName";
             colCreateName.Visible = true;
             colCreateName.VisibleIndex = 1;
-            colCreateName.Width = 130;
+            colCreateName.Width = 186;
             // 
             // colCreateTime
             // 
             colCreateTime.AppearanceCell.Options.UseTextOptions = true;
             colCreateTime.AppearanceCell.TextOptions.HAlignment = DevExpress.Utils.HorzAlignment.Center;
             colCreateTime.FieldName = "CreateTime";
+            colCreateTime.MinWidth = 29;
             colCreateTime.Name = "colCreateTime";
             colCreateTime.Visible = true;
             colCreateTime.VisibleIndex = 2;
-            colCreateTime.Width = 130;
+            colCreateTime.Width = 186;
             // 
             // dockManager1
             // 
@@ -255,17 +271,19 @@
             dockPanel1.Dock = DevExpress.XtraBars.Docking.DockingStyle.Left;
             dockPanel1.ID = new Guid("47edc533-9291-45bc-9b49-4f9f530da5d3");
             dockPanel1.Location = new Point(0, 0);
+            dockPanel1.Margin = new Padding(4, 5, 4, 5);
             dockPanel1.Name = "dockPanel1";
             dockPanel1.OriginalSize = new Size(200, 200);
-            dockPanel1.Size = new Size(200, 520);
+            dockPanel1.Size = new Size(286, 817);
             dockPanel1.Text = "闃�闂ㄧ被鍨�";
             // 
             // dockPanel1_Container
             // 
             dockPanel1_Container.Controls.Add(valveTypeTreeListCtrl1);
-            dockPanel1_Container.Location = new Point(3, 26);
+            dockPanel1_Container.Location = new Point(4, 38);
+            dockPanel1_Container.Margin = new Padding(4, 5, 4, 5);
             dockPanel1_Container.Name = "dockPanel1_Container";
-            dockPanel1_Container.Size = new Size(193, 491);
+            dockPanel1_Container.Size = new Size(275, 775);
             dockPanel1_Container.TabIndex = 0;
             // 
             // valveTypeTreeListCtrl1
@@ -274,20 +292,30 @@
             valveTypeTreeListCtrl1.Appearance.Options.UseBackColor = true;
             valveTypeTreeListCtrl1.Dock = DockStyle.Fill;
             valveTypeTreeListCtrl1.Location = new Point(0, 0);
+            valveTypeTreeListCtrl1.Margin = new Padding(6, 8, 6, 8);
             valveTypeTreeListCtrl1.Name = "valveTypeTreeListCtrl1";
-            valveTypeTreeListCtrl1.Size = new Size(193, 491);
+            valveTypeTreeListCtrl1.Size = new Size(275, 775);
             valveTypeTreeListCtrl1.TabIndex = 0;
+            // 
+            // barBtnValveLine
+            // 
+            barBtnValveLine.Caption = "闃�闂ㄦ洸绾�";
+            barBtnValveLine.Id = 22;
+            barBtnValveLine.ImageOptions.SvgImage = (DevExpress.Utils.Svg.SvgImage)resources.GetObject("barBtnValveLine.ImageOptions.SvgImage");
+            barBtnValveLine.Name = "barBtnValveLine";
+            barBtnValveLine.ItemClick += barBtnValveLine_ItemClick;
             // 
             // ValveManageMainPanel
             // 
             Appearance.BackColor = SystemColors.Control;
             Appearance.Options.UseBackColor = true;
-            AutoScaleDimensions = new SizeF(7F, 14F);
+            AutoScaleDimensions = new SizeF(10F, 22F);
             AutoScaleMode = AutoScaleMode.Font;
             Controls.Add(sidePanel1);
             Controls.Add(dockPanel1);
+            Margin = new Padding(6, 8, 6, 8);
             Name = "ValveManageMainPanel";
-            Size = new Size(890, 520);
+            Size = new Size(1271, 817);
             ((System.ComponentModel.ISupportInitialize)ribbonControl1).EndInit();
             ((System.ComponentModel.ISupportInitialize)svgImageCollection1).EndInit();
             sidePanel1.ResumeLayout(false);
@@ -326,5 +354,6 @@
         private DevExpress.XtraGrid.Columns.GridColumn colName;
         private DevExpress.XtraGrid.Columns.GridColumn colCreateName;
         private DevExpress.XtraGrid.Columns.GridColumn colCreateTime;
+        private DevExpress.XtraBars.BarButtonItem barBtnValveLine;
     }
 }
diff --git a/WinFrmUI/HStation.WinFrmUI.Assets.Core/03-valve/ValveManageMainPanel.cs b/WinFrmUI/HStation.WinFrmUI.Assets.Core/03-valve/ValveManageMainPanel.cs
index 487b195..fa6f0cf 100644
--- a/WinFrmUI/HStation.WinFrmUI.Assets.Core/03-valve/ValveManageMainPanel.cs
+++ b/WinFrmUI/HStation.WinFrmUI.Assets.Core/03-valve/ValveManageMainPanel.cs
@@ -112,5 +112,41 @@
                 return;
             }
         }
+
+
+        private async void barBtnValveLine_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e)
+        {
+            var currentVm = this.gridView1.GetCurrentViewModel(_allBindingList);
+            if (currentVm == null)
+            {
+                MessageBoxHelper.ShowWarning("璇烽�夋嫨鏁版嵁琛岋紒");
+                return;
+            } 
+
+            var guid = new PageGuid()
+            {
+                Function = "闃�闂ㄥ瀷鍙锋洸绾�",
+                TagName = currentVm.ID.ToString(),
+                Modular = ""
+            };
+            if (!IsExistPage(guid, true))
+            {
+                var model = await _bll.GetByID(currentVm.ID);
+                if (model == null)
+                {
+                    MessageBoxHelper.ShowWarning($"{currentVm.Name}:ValveMainDto is null锛�");
+                    return;
+                }
+                var page = new HStation.WinFrmUI.PhartRelation.XhsValveMainPhartPanel();
+                page.InitialDataSource(currentVm.ID);
+                page.PageTitle.Caption = guid.Function;
+                page.PageGuid = guid;
+                CreatePage(page, guid);
+            } 
+
+        }
+
+
+
     }
 }
\ No newline at end of file
diff --git a/WinFrmUI/HStation.WinFrmUI.Assets.Core/03-valve/ValveManageMainPanel.resx b/WinFrmUI/HStation.WinFrmUI.Assets.Core/03-valve/ValveManageMainPanel.resx
index feeea17..8a198dd 100644
--- a/WinFrmUI/HStation.WinFrmUI.Assets.Core/03-valve/ValveManageMainPanel.resx
+++ b/WinFrmUI/HStation.WinFrmUI.Assets.Core/03-valve/ValveManageMainPanel.resx
@@ -1,7 +1,7 @@
 锘�<?xml version="1.0" encoding="utf-8"?>
 <root>
   <!--
-    Microsoft ResX Schema 
+    Microsoft ResX Schema
 
     Version 2.0
 
@@ -48,7 +48,7 @@
     value   : The object must be serialized with
             : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
             : and then encoded with base64 encoding.
-    
+
     mimetype: application/x-microsoft.net.object.soap.base64
     value   : The object must be serialized with
             : System.Runtime.Serialization.Formatters.Soap.SoapFormatter
@@ -189,6 +189,35 @@
         L2c+DQo8L3N2Zz4L
 </value>
   </data>
+  <data name="barBtnValveLine.ImageOptions.SvgImage" type="DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v23.2" mimetype="application/x-microsoft.net.object.bytearray.base64">
+    <value>
+        AAEAAAD/////AQAAAAAAAAAMAgAAAFlEZXZFeHByZXNzLkRhdGEudjIzLjIsIFZlcnNpb249MjMuMi40
+        LjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjg4ZDE3NTRkNzAwZTQ5YQUBAAAAHURl
+        dkV4cHJlc3MuVXRpbHMuU3ZnLlN2Z0ltYWdlAQAAAAREYXRhBwICAAAACQMAAAAPAwAAABwFAAAC77u/
+        PD94bWwgdmVyc2lvbj0nMS4wJyBlbmNvZGluZz0nVVRGLTgnPz4NCjxzdmcgeD0iMHB4IiB5PSIwcHgi
+        IHZpZXdCb3g9IjAgMCAzMiAzMiIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcv
+        MjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB4bWw6c3Bh
+        Y2U9InByZXNlcnZlIiBpZD0iTGF5ZXJfMSIgc3R5bGU9ImVuYWJsZS1iYWNrZ3JvdW5kOm5ldyAwIDAg
+        MzIgMzIiPg0KICA8c3R5bGUgdHlwZT0idGV4dC9jc3MiPgoJLkJsYWNre2ZpbGw6IzcyNzI3Mjt9Cgku
+        Qmx1ZXtmaWxsOiMxMTc3RDc7fQoJLkdyZWVue2ZpbGw6IzAzOUMyMzt9CgkuWWVsbG93e2ZpbGw6I0ZG
+        QjExNTt9CgkuUmVke2ZpbGw6I0QxMUMxQzt9CgkuV2hpdGV7ZmlsbDojRkZGRkZGO30KCS5zdDB7b3Bh
+        Y2l0eTowLjU7fQoJLnN0MXtvcGFjaXR5OjAuNzU7fQoJLnN0MntkaXNwbGF5Om5vbmU7fQoJLnN0M3tk
+        aXNwbGF5OmlubGluZTtmaWxsOiMxMTc3RDc7fQoJLnN0NHtkaXNwbGF5OmlubGluZTtmaWxsOiM3Mjcy
+        NzI7fQo8L3N0eWxlPg0KICA8ZyBpZD0iU3BhcmtsaW5lTGluZSI+DQogICAgPHBhdGggZD0iTTI3LDhj
+        LTEuNywwLTMsMS4zLTMsM2MwLDAuNSwwLjEsMC45LDAuMywxLjNsLTYsNkMxNy45LDE4LjEsMTcuNSwx
+        OCwxNywxOHMtMC45LDAuMS0xLjMsMC4zbC0yLTIgICBjMC4yLTAuNCwwLjMtMC44LDAuMy0xLjNjMC0x
+        LjctMS4zLTMtMy0zcy0zLDEuMy0zLDNjMCwwLjUsMC4xLDAuOSwwLjMsMS4zbC0yLDJDNS45LDE4LjEs
+        NS41LDE4LDUsMThjLTEuNywwLTMsMS4zLTMsM3MxLjMsMywzLDMgICBzMy0xLjMsMy0zYzAtMC41LTAu
+        MS0wLjktMC4zLTEuM2wyLTJjMC40LDAuMiwwLjgsMC4zLDEuMywwLjNzMC45LTAuMSwxLjMtMC4zbDIs
+        MkMxNC4xLDIwLjEsMTQsMjAuNSwxNCwyMWMwLDEuNywxLjMsMywzLDMgICBzMy0xLjMsMy0zYzAtMC41
+        LTAuMS0wLjktMC4zLTEuM2w2LTZjMC40LDAuMiwwLjgsMC4zLDEuMywwLjNjMS43LDAsMy0xLjMsMy0z
+        UzI4LjcsOCwyNyw4eiBNNSwyMmMtMC42LDAtMS0wLjQtMS0xczAuNC0xLDEtMSAgIHMxLDAuNCwxLDFT
+        NS42LDIyLDUsMjJ6IE0xMSwxNmMtMC42LDAtMS0wLjQtMS0xczAuNC0xLDEtMXMxLDAuNCwxLDFTMTEu
+        NiwxNiwxMSwxNnogTTE3LDIyYy0wLjYsMC0xLTAuNC0xLTFzMC40LTEsMS0xczEsMC40LDEsMSAgIFMx
+        Ny42LDIyLDE3LDIyeiBNMjcsMTJjLTAuNiwwLTEtMC40LTEtMXMwLjQtMSwxLTFzMSwwLjQsMSwxUzI3
+        LjYsMTIsMjcsMTJ6IiBjbGFzcz0iQmx1ZSIgLz4NCiAgPC9nPg0KPC9zdmc+Cw==
+</value>
+  </data>
   <metadata name="svgImageCollection1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
     <value>17, 17</value>
   </metadata>
diff --git a/WinFrmUI/HStation.WinFrmUI.PhartRelation.Core/01-pump-main/XhsPumpMainPhartPanel.Designer.cs b/WinFrmUI/HStation.WinFrmUI.PhartRelation.Core/01-pump-main/XhsPumpMainPhartPanel.Designer.cs
index 575d90e..c44189c 100644
--- a/WinFrmUI/HStation.WinFrmUI.PhartRelation.Core/01-pump-main/XhsPumpMainPhartPanel.Designer.cs
+++ b/WinFrmUI/HStation.WinFrmUI.PhartRelation.Core/01-pump-main/XhsPumpMainPhartPanel.Designer.cs
@@ -36,9 +36,7 @@
             sidePanel1 = new SidePanel();
             tabPane1 = new DevExpress.XtraBars.Navigation.TabPane();
             tabNavigationPage1 = new DevExpress.XtraBars.Navigation.TabNavigationPage();
-            simpleButton2 = new SimpleButton();
             tabNavigationPage2 = new DevExpress.XtraBars.Navigation.TabNavigationPage();
-            simpleButton3 = new SimpleButton();
             ribbonControl1 = new DevExpress.XtraBars.Ribbon.RibbonControl();
             BtnAdd = new DevExpress.XtraBars.BarButtonItem();
             BtnEdit = new DevExpress.XtraBars.BarButtonItem();
@@ -66,8 +64,6 @@
             sidePanel1.SuspendLayout();
             ((System.ComponentModel.ISupportInitialize)tabPane1).BeginInit();
             tabPane1.SuspendLayout();
-            tabNavigationPage1.SuspendLayout();
-            tabNavigationPage2.SuspendLayout();
             ((System.ComponentModel.ISupportInitialize)ribbonControl1).BeginInit();
             ((System.ComponentModel.ISupportInitialize)dockManager1).BeginInit();
             dockPanel1.SuspendLayout();
@@ -79,10 +75,10 @@
             xtrPerform2dChart1.DefinePointVisible = false;
             xtrPerform2dChart1.Dock = DockStyle.Fill;
             xtrPerform2dChart1.LineVisible = false;
-            xtrPerform2dChart1.Location = new Point(336, 148);
+            xtrPerform2dChart1.Location = new Point(235, 148);
             xtrPerform2dChart1.Margin = new Padding(1, 2, 1, 2);
             xtrPerform2dChart1.Name = "xtrPerform2dChart1";
-            xtrPerform2dChart1.Size = new Size(453, 657);
+            xtrPerform2dChart1.Size = new Size(554, 657);
             xtrPerform2dChart1.TabIndex = 1;
             // 
             // sidePanel2
@@ -91,7 +87,7 @@
             sidePanel2.Dock = DockStyle.Fill;
             sidePanel2.Location = new Point(0, 0);
             sidePanel2.Name = "sidePanel2";
-            sidePanel2.Size = new Size(335, 623);
+            sidePanel2.Size = new Size(234, 623);
             sidePanel2.TabIndex = 4;
             sidePanel2.Text = "sidePanel2";
             // 
@@ -103,7 +99,7 @@
             xhsPumpMainPhartListCtrl1.Location = new Point(0, 0);
             xhsPumpMainPhartListCtrl1.Margin = new Padding(6, 8, 6, 8);
             xhsPumpMainPhartListCtrl1.Name = "xhsPumpMainPhartListCtrl1";
-            xhsPumpMainPhartListCtrl1.Size = new Size(335, 623);
+            xhsPumpMainPhartListCtrl1.Size = new Size(234, 623);
             xhsPumpMainPhartListCtrl1.TabIndex = 0;
             // 
             // sidePanel1
@@ -133,34 +129,14 @@
             // tabNavigationPage1
             // 
             tabNavigationPage1.Caption = "杩愯鍙傛暟";
-            tabNavigationPage1.Controls.Add(simpleButton2);
             tabNavigationPage1.Name = "tabNavigationPage1";
             tabNavigationPage1.Size = new Size(270, 606);
-            // 
-            // simpleButton2
-            // 
-            simpleButton2.Dock = DockStyle.Fill;
-            simpleButton2.Location = new Point(0, 0);
-            simpleButton2.Name = "simpleButton2";
-            simpleButton2.Size = new Size(270, 606);
-            simpleButton2.TabIndex = 0;
-            simpleButton2.Text = "寰呰ˉ鍏�";
             // 
             // tabNavigationPage2
             // 
             tabNavigationPage2.Caption = "灞炴��";
-            tabNavigationPage2.Controls.Add(simpleButton3);
             tabNavigationPage2.Name = "tabNavigationPage2";
-            tabNavigationPage2.Size = new Size(270, 607);
-            // 
-            // simpleButton3
-            // 
-            simpleButton3.Dock = DockStyle.Fill;
-            simpleButton3.Location = new Point(0, 0);
-            simpleButton3.Name = "simpleButton3";
-            simpleButton3.Size = new Size(270, 607);
-            simpleButton3.TabIndex = 0;
-            simpleButton3.Text = "寰呰ˉ鍏�";
+            tabNavigationPage2.Size = new Size(270, 606);
             // 
             // ribbonControl1
             // 
@@ -334,7 +310,7 @@
             dockPanel1.Location = new Point(0, 148);
             dockPanel1.Name = "dockPanel1";
             dockPanel1.OriginalSize = new Size(235, 200);
-            dockPanel1.Size = new Size(336, 657);
+            dockPanel1.Size = new Size(235, 657);
             dockPanel1.Text = "鏇茬嚎鍒楄〃";
             // 
             // dockPanel1_Container
@@ -342,7 +318,7 @@
             dockPanel1_Container.Controls.Add(sidePanel2);
             dockPanel1_Container.Location = new Point(0, 34);
             dockPanel1_Container.Name = "dockPanel1_Container";
-            dockPanel1_Container.Size = new Size(335, 623);
+            dockPanel1_Container.Size = new Size(234, 623);
             dockPanel1_Container.TabIndex = 0;
             // 
             // XhsPumpMainPhartPanel
@@ -362,8 +338,6 @@
             sidePanel1.ResumeLayout(false);
             ((System.ComponentModel.ISupportInitialize)tabPane1).EndInit();
             tabPane1.ResumeLayout(false);
-            tabNavigationPage1.ResumeLayout(false);
-            tabNavigationPage2.ResumeLayout(false);
             ((System.ComponentModel.ISupportInitialize)ribbonControl1).EndInit();
             ((System.ComponentModel.ISupportInitialize)dockManager1).EndInit();
             dockPanel1.ResumeLayout(false);
@@ -378,8 +352,6 @@
         private DevExpress.XtraBars.Navigation.TabPane tabPane1;
         private DevExpress.XtraBars.Navigation.TabNavigationPage tabNavigationPage1;
         private DevExpress.XtraBars.Navigation.TabNavigationPage tabNavigationPage2;
-        private DevExpress.XtraEditors.SimpleButton simpleButton2;
-        private DevExpress.XtraEditors.SimpleButton simpleButton3;
         private DevExpress.XtraEditors.SidePanel sidePanel2;
         private XhsPumpMainPhartListCtrl xhsPumpMainPhartListCtrl1;
         private DevExpress.XtraBars.Ribbon.RibbonControl ribbonControl1;
diff --git a/WinFrmUI/HStation.WinFrmUI.PhartRelation.Core/02-valve-main/XhsValveMainPhartPanel.Designer.cs b/WinFrmUI/HStation.WinFrmUI.PhartRelation.Core/02-valve-main/XhsValveMainPhartPanel.Designer.cs
index 8510b3d..e061b13 100644
--- a/WinFrmUI/HStation.WinFrmUI.PhartRelation.Core/02-valve-main/XhsValveMainPhartPanel.Designer.cs
+++ b/WinFrmUI/HStation.WinFrmUI.PhartRelation.Core/02-valve-main/XhsValveMainPhartPanel.Designer.cs
@@ -30,14 +30,13 @@
         {
             components = new System.ComponentModel.Container();
             System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(XhsValveMainPhartPanel));
-            xtrPerform2dChart1 = new Yw.WinFrmUI.Phart.PumpPerform2dChart();
+            xtrPerform2dChart1 = new Yw.WinFrmUI.Phart.ValvePerform2dChart();
             sidePanel2 = new SidePanel();
+            xhsValveMainPhartListCtrl1 = new XhsValveMainPhartListCtrl();
             sidePanel1 = new SidePanel();
             tabPane1 = new DevExpress.XtraBars.Navigation.TabPane();
             tabNavigationPage1 = new DevExpress.XtraBars.Navigation.TabNavigationPage();
-            simpleButton2 = new SimpleButton();
             tabNavigationPage2 = new DevExpress.XtraBars.Navigation.TabNavigationPage();
-            simpleButton3 = new SimpleButton();
             ribbonControl1 = new DevExpress.XtraBars.Ribbon.RibbonControl();
             BtnAdd = new DevExpress.XtraBars.BarButtonItem();
             barBtnImportByExcel = new DevExpress.XtraBars.BarButtonItem();
@@ -51,13 +50,10 @@
             dockManager1 = new DevExpress.XtraBars.Docking.DockManager(components);
             dockPanel1 = new DevExpress.XtraBars.Docking.DockPanel();
             dockPanel1_Container = new DevExpress.XtraBars.Docking.ControlContainer();
-            xhsValveMainPhartListCtrl1 = new XhsValveMainPhartListCtrl();
             sidePanel2.SuspendLayout();
             sidePanel1.SuspendLayout();
             ((System.ComponentModel.ISupportInitialize)tabPane1).BeginInit();
             tabPane1.SuspendLayout();
-            tabNavigationPage1.SuspendLayout();
-            tabNavigationPage2.SuspendLayout();
             ((System.ComponentModel.ISupportInitialize)ribbonControl1).BeginInit();
             ((System.ComponentModel.ISupportInitialize)dockManager1).BeginInit();
             dockPanel1.SuspendLayout();
@@ -84,6 +80,17 @@
             sidePanel2.Size = new Size(234, 623);
             sidePanel2.TabIndex = 4;
             sidePanel2.Text = "sidePanel2";
+            // 
+            // xhsValveMainPhartListCtrl1
+            // 
+            xhsValveMainPhartListCtrl1.Appearance.BackColor = SystemColors.Control;
+            xhsValveMainPhartListCtrl1.Appearance.Options.UseBackColor = true;
+            xhsValveMainPhartListCtrl1.Dock = DockStyle.Fill;
+            xhsValveMainPhartListCtrl1.Location = new Point(0, 0);
+            xhsValveMainPhartListCtrl1.Margin = new Padding(4, 5, 4, 5);
+            xhsValveMainPhartListCtrl1.Name = "xhsValveMainPhartListCtrl1";
+            xhsValveMainPhartListCtrl1.Size = new Size(234, 623);
+            xhsValveMainPhartListCtrl1.TabIndex = 0;
             // 
             // sidePanel1
             // 
@@ -112,34 +119,14 @@
             // tabNavigationPage1
             // 
             tabNavigationPage1.Caption = "杩愯鍙傛暟";
-            tabNavigationPage1.Controls.Add(simpleButton2);
             tabNavigationPage1.Name = "tabNavigationPage1";
             tabNavigationPage1.Size = new Size(270, 606);
-            // 
-            // simpleButton2
-            // 
-            simpleButton2.Dock = DockStyle.Fill;
-            simpleButton2.Location = new Point(0, 0);
-            simpleButton2.Name = "simpleButton2";
-            simpleButton2.Size = new Size(270, 606);
-            simpleButton2.TabIndex = 0;
-            simpleButton2.Text = "寰呰ˉ鍏�";
             // 
             // tabNavigationPage2
             // 
             tabNavigationPage2.Caption = "灞炴��";
-            tabNavigationPage2.Controls.Add(simpleButton3);
             tabNavigationPage2.Name = "tabNavigationPage2";
-            tabNavigationPage2.Size = new Size(270, 607);
-            // 
-            // simpleButton3
-            // 
-            simpleButton3.Dock = DockStyle.Fill;
-            simpleButton3.Location = new Point(0, 0);
-            simpleButton3.Name = "simpleButton3";
-            simpleButton3.Size = new Size(270, 607);
-            simpleButton3.TabIndex = 0;
-            simpleButton3.Text = "寰呰ˉ鍏�";
+            tabNavigationPage2.Size = new Size(270, 606);
             // 
             // ribbonControl1
             // 
@@ -255,17 +242,6 @@
             dockPanel1_Container.Size = new Size(234, 623);
             dockPanel1_Container.TabIndex = 0;
             // 
-            // xhsValveMainPhartListCtrl1
-            // 
-            xhsValveMainPhartListCtrl1.Appearance.BackColor = SystemColors.Control;
-            xhsValveMainPhartListCtrl1.Appearance.Options.UseBackColor = true;
-            xhsValveMainPhartListCtrl1.Dock = DockStyle.Fill;
-            xhsValveMainPhartListCtrl1.Location = new Point(0, 0);
-            xhsValveMainPhartListCtrl1.Margin = new Padding(4, 5, 4, 5);
-            xhsValveMainPhartListCtrl1.Name = "xhsValveMainPhartListCtrl1";
-            xhsValveMainPhartListCtrl1.Size = new Size(234, 623);
-            xhsValveMainPhartListCtrl1.TabIndex = 0;
-            // 
             // XhsValveMainPhartPanel
             // 
             Appearance.BackColor = SystemColors.Control;
@@ -283,8 +259,6 @@
             sidePanel1.ResumeLayout(false);
             ((System.ComponentModel.ISupportInitialize)tabPane1).EndInit();
             tabPane1.ResumeLayout(false);
-            tabNavigationPage1.ResumeLayout(false);
-            tabNavigationPage2.ResumeLayout(false);
             ((System.ComponentModel.ISupportInitialize)ribbonControl1).EndInit();
             ((System.ComponentModel.ISupportInitialize)dockManager1).EndInit();
             dockPanel1.ResumeLayout(false);
@@ -294,13 +268,11 @@
         }
 
         #endregion
-        private Yw.WinFrmUI.Phart.PumpPerform2dChart xtrPerform2dChart1;
+        private Yw.WinFrmUI.Phart.ValvePerform2dChart xtrPerform2dChart1;
         private DevExpress.XtraEditors.SidePanel sidePanel1;
         private DevExpress.XtraBars.Navigation.TabPane tabPane1;
         private DevExpress.XtraBars.Navigation.TabNavigationPage tabNavigationPage1;
         private DevExpress.XtraBars.Navigation.TabNavigationPage tabNavigationPage2;
-        private DevExpress.XtraEditors.SimpleButton simpleButton2;
-        private DevExpress.XtraEditors.SimpleButton simpleButton3;
         private DevExpress.XtraEditors.SidePanel sidePanel2; 
         private DevExpress.XtraBars.Ribbon.RibbonControl ribbonControl1;
         private DevExpress.XtraBars.BarButtonItem BtnAdd;
diff --git a/WinFrmUI/HStation.WinFrmUI.PhartRelation.Core/02-valve-main/XhsValveMainPhartPanel.cs b/WinFrmUI/HStation.WinFrmUI.PhartRelation.Core/02-valve-main/XhsValveMainPhartPanel.cs
index 314a2e2..f335ae0 100644
--- a/WinFrmUI/HStation.WinFrmUI.PhartRelation.Core/02-valve-main/XhsValveMainPhartPanel.cs
+++ b/WinFrmUI/HStation.WinFrmUI.PhartRelation.Core/02-valve-main/XhsValveMainPhartPanel.cs
@@ -56,29 +56,21 @@
                 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.PumpQE);
-            var graph_qp = graph_list.Find(x => x.GraphType == HStation.PhartRelation.eGraphType.PumpQP);
-
-            if (graph_qh == null)
+            var graph_ql = graph_list.Find(x => x.GraphType == HStation.PhartRelation.eGraphType.ValveQL);
+            if (graph_ql == 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);
+            List<Yw.Geometry.Point2d> points_ql = null;
+            points_ql = PhartPerformCurveHelper.GetFeatPointList(graph_ql.GraphType, graph_ql.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 cubic_spline_ql = new Yw.Geometry.CubicSpline2d(points_ql);
 
             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);
+            this.xtrPerform2dChart1.SetBindingData(cubic_spline_ql, disp_paras, is_calc_disp_paras);
         }
 
         //娓呯┖鍥捐〃鏁版嵁
@@ -181,34 +173,25 @@
             List<Yw.Geometry.Point2d> points_ql = null;
             points_ql = PhartPerformCurveHelper.GetFeatPointList(graph_ql.GraphType, graph_ql.GeometryInfo, 12, null);
             ql = new Yw.Geometry.CubicSpline2d(  points_ql);
-        
 
-            //var dlg = new Yw.WinFrmUI.Phart.XtrPerform2dEditDlg();
-            //dlg.SetBindingData(ql, qe, qp);
-            //dlg.ReloadDataEvent += async (new_qh, new_qe, new_qp) =>
-            //{
-            //    var new_points_qh = new_qh.GetPointList();
-            //    var new_points_qe = new_qe.GetPointList();
-            //    var new_points_qp = new_qp.GetPointList();
 
-            //    graph_ql.GeometryInfo = new Yw.Pump.CurveQH(Yw.Pump.eFeatType.Cubic, new_points_qh).ToDbString();
-            //    graph_qe.GeometryInfo = new Yw.Pump.CurveQE(Yw.Pump.eFeatType.Cubic, new_points_qe).ToDbString();
-            //    graph_qp.GeometryInfo = new Yw.Pump.CurveQP(Yw.Pump.eFeatType.Cubic, new_points_qp).ToDbString();
-
-            //    _xhs_phart_diagram_ex_std_dto.Diagram.GraphList = new List<Vmo.PhartGraph>()
-            //    {
-            //        graph_ql,
-            //        graph_qe,
-            //        graph_qp,
-            //    };
-            //    var bol = await _bll_ex.Update(_xhs_phart_diagram_ex_std_dto);
-            //    if (bol)
-            //    {
-            //        InitChart(_xhs_phart_diagram_ex_std_dto);
-            //    }
-            //    return bol;
-            //};
-            //dlg.ShowDialog();
+            var dlg = new Yw.WinFrmUI.Phart.ValvePerform2dEditDlg();
+            dlg.SetBindingData(ql);
+            dlg.ReloadDataEvent += async (new_ql) =>
+            {   
+                graph_ql.GeometryInfo = new_ql.ToDbString();  
+                _xhs_phart_diagram_ex_std_dto.Diagram.GraphList = new List<Vmo.PhartGraph>()
+                {
+                    graph_ql
+                };
+                var bol = await _bll_ex.Update(_xhs_phart_diagram_ex_std_dto);
+                if (bol)
+                {
+                    InitChart(_xhs_phart_diagram_ex_std_dto);
+                }
+                return bol;
+            };
+            dlg.ShowDialog();
         }
 
         //鍒悕
diff --git a/WinFrmUI/Yw.WinFrmUI.Phart.Core/01-perform/02-valve-chart/01-chart/ValvePerform2dChart.Designer.cs b/WinFrmUI/Yw.WinFrmUI.Phart.Core/01-perform/02-valve-chart/01-chart/ValvePerform2dChart.Designer.cs
index f239f04..c7ce09d 100644
--- a/WinFrmUI/Yw.WinFrmUI.Phart.Core/01-perform/02-valve-chart/01-chart/ValvePerform2dChart.Designer.cs
+++ b/WinFrmUI/Yw.WinFrmUI.Phart.Core/01-perform/02-valve-chart/01-chart/ValvePerform2dChart.Designer.cs
@@ -45,7 +45,6 @@
             barBtnSetChartAxis = new DevExpress.XtraBars.BarButtonItem();
             barCekLineVisible = new DevExpress.XtraBars.BarCheckItem();
             barCekDefinePointVisible = new DevExpress.XtraBars.BarCheckItem();
-            barCekSetSplitPanel = new DevExpress.XtraBars.BarCheckItem();
             barCekSetAxisNameVisible = new DevExpress.XtraBars.BarCheckItem();
             barCekLegendVisible = new DevExpress.XtraBars.BarCheckItem();
             barCekChartDisplay = new DevExpress.XtraBars.BarCheckItem();
@@ -148,7 +147,7 @@
             // 
             // popMenuChart
             // 
-            popMenuChart.LinksPersistInfo.AddRange(new DevExpress.XtraBars.LinkPersistInfo[] { new DevExpress.XtraBars.LinkPersistInfo(barBtnSetChartAxis), new DevExpress.XtraBars.LinkPersistInfo(barCekLineVisible, true), new DevExpress.XtraBars.LinkPersistInfo(barCekDefinePointVisible), new DevExpress.XtraBars.LinkPersistInfo(barCekSetSplitPanel), new DevExpress.XtraBars.LinkPersistInfo(barCekSetAxisNameVisible), new DevExpress.XtraBars.LinkPersistInfo(barCekLegendVisible), new DevExpress.XtraBars.LinkPersistInfo(barCekChartDisplay), new DevExpress.XtraBars.LinkPersistInfo(barBtnSetChartEquation, true), new DevExpress.XtraBars.LinkPersistInfo(barBtnExportXls), new DevExpress.XtraBars.LinkPersistInfo(barBtnExportImage) });
+            popMenuChart.LinksPersistInfo.AddRange(new DevExpress.XtraBars.LinkPersistInfo[] { new DevExpress.XtraBars.LinkPersistInfo(barBtnSetChartAxis), new DevExpress.XtraBars.LinkPersistInfo(barCekLineVisible, true), new DevExpress.XtraBars.LinkPersistInfo(barCekDefinePointVisible), new DevExpress.XtraBars.LinkPersistInfo(barCekSetAxisNameVisible), new DevExpress.XtraBars.LinkPersistInfo(barCekLegendVisible), new DevExpress.XtraBars.LinkPersistInfo(barCekChartDisplay), new DevExpress.XtraBars.LinkPersistInfo(barBtnSetChartEquation, true), new DevExpress.XtraBars.LinkPersistInfo(barBtnExportXls), new DevExpress.XtraBars.LinkPersistInfo(barBtnExportImage) });
             popMenuChart.Manager = barManager1;
             popMenuChart.Name = "popMenuChart";
             // 
@@ -177,14 +176,6 @@
             barCekDefinePointVisible.ImageOptions.SvgImage = (DevExpress.Utils.Svg.SvgImage)resources.GetObject("barCekDefinePointVisible.ImageOptions.SvgImage");
             barCekDefinePointVisible.Name = "barCekDefinePointVisible";
             barCekDefinePointVisible.CheckedChanged += barCekDefinePointVisible_CheckedChanged;
-            // 
-            // barCekSetSplitPanel
-            // 
-            barCekSetSplitPanel.Caption = "鍒嗗壊鏉�";
-            barCekSetSplitPanel.Id = 16;
-            barCekSetSplitPanel.ImageOptions.SvgImage = (DevExpress.Utils.Svg.SvgImage)resources.GetObject("barCekSetSplitPanel.ImageOptions.SvgImage");
-            barCekSetSplitPanel.Name = "barCekSetSplitPanel";
-            barCekSetSplitPanel.CheckedChanged += barCekSetSplitPanel_CheckedChanged;
             // 
             // barCekSetAxisNameVisible
             // 
@@ -243,7 +234,7 @@
             barManager1.DockControls.Add(barDockControlLeft);
             barManager1.DockControls.Add(barDockControlRight);
             barManager1.Form = this;
-            barManager1.Items.AddRange(new DevExpress.XtraBars.BarItem[] { barBtnSetChartAxis, barBtnSetChartEquation, barCekChartDisplay, barBtnExportXls, barBtnExportImage, barCekDefinePointVisible, barCekLineVisible, barCekLegendVisible, barBtnPositioningMaxQ, barBtnSetAxisQValue, barBtnSetAxisLValue, barCekSetAxisNameVisible, barCekSetSplitPanel });
+            barManager1.Items.AddRange(new DevExpress.XtraBars.BarItem[] { barBtnSetChartAxis, barBtnSetChartEquation, barCekChartDisplay, barBtnExportXls, barBtnExportImage, barCekDefinePointVisible, barCekLineVisible, barCekLegendVisible, barBtnPositioningMaxQ, barBtnSetAxisQValue, barBtnSetAxisLValue, barCekSetAxisNameVisible });
             barManager1.MaxItemId = 17;
             // 
             // barDockControlTop
@@ -352,12 +343,10 @@
         private DevExpress.XtraBars.BarCheckItem barCekDefinePointVisible;
         private DevExpress.XtraBars.BarCheckItem barCekLineVisible;
         private DevExpress.XtraBars.BarCheckItem barCekLegendVisible;
-        private DevExpress.XtraBars.BarButtonItem barBtnPositioningMaxQ;
-        private DevExpress.XtraBars.BarButtonItem barBtnPositioningMaxE;
+        private DevExpress.XtraBars.BarButtonItem barBtnPositioningMaxQ; 
         private DevExpress.XtraBars.PopupMenu popMenuLine;
         private DevExpress.XtraBars.BarButtonItem barBtnSetAxisQValue;
         private DevExpress.XtraBars.BarButtonItem barBtnSetAxisLValue;
         private DevExpress.XtraBars.BarCheckItem barCekSetAxisNameVisible;
-        private DevExpress.XtraBars.BarCheckItem barCekSetSplitPanel;
     }
 }
diff --git a/WinFrmUI/Yw.WinFrmUI.Phart.Core/01-perform/02-valve-chart/01-chart/ValvePerform2dChart.cs b/WinFrmUI/Yw.WinFrmUI.Phart.Core/01-perform/02-valve-chart/01-chart/ValvePerform2dChart.cs
index 0d42d27..7869981 100644
--- a/WinFrmUI/Yw.WinFrmUI.Phart.Core/01-perform/02-valve-chart/01-chart/ValvePerform2dChart.cs
+++ b/WinFrmUI/Yw.WinFrmUI.Phart.Core/01-perform/02-valve-chart/01-chart/ValvePerform2dChart.cs
@@ -214,23 +214,14 @@
         /// </summary>
         /// <param name="calc_coordinate">璁$畻鍧愭爣</param>
         public void UpdateChart(bool calc_coordinate = false)
-        {
-            if (_pt_ql_list == null || !_pt_ql_list.Any())
-            {
-                this.barBtnPositioningMaxE.Visibility = DevExpress.XtraBars.BarItemVisibility.Never;
-            }
-            else
-            {
-                this.barBtnPositioningMaxE.Visibility = DevExpress.XtraBars.BarItemVisibility.Always;
-            }
-
+        { 
             if (calc_coordinate || _coordinate_paras == null)
             {
                 //涓嶅己杩绠�,灏辩敤涓婃鏇存柊鐨勫潗鏍囩郴
                 CalcCoordinate();
             }
 
-            CalcChartAxis(this.barCekSetSplitPanel.Checked);
+            CalcChartAxis();
 
             CalcSeries();
 
@@ -270,7 +261,7 @@
         /// <summary>
         /// 璁$畻鍥捐〃杞�
         /// </summary>
-        public void CalcChartAxis(bool splitPanel)
+        public void CalcChartAxis()
         {
             if (_coordinate_paras == null)
             {
@@ -307,7 +298,7 @@
                 _work_pt_txt_annot.Visible = _lineVisible;
             }
 
-            //鎵▼
+            //姘存崯
             if (_pt_ql_list != null)
             {
                 //璁$畻鍒诲害
@@ -326,7 +317,8 @@
             }
 
             _axis_x_q.SetAxisRange(_coordinate_paras.CoordMinQ, _coordinate_paras.CoordMinQ + _coordinate_paras.GridNumberX * _coordinate_paras.CoordSpaceQ);
-            _axis_y_ql.SetAxisRange(_coordinate_paras.CoordMinL, _coordinate_paras.CoordMinL + _coordinate_paras.GridNumberY * _coordinate_paras.CoordSpaceL);
+            //_axis_y_ql.SetAxisRange(_coordinate_paras.CoordMinL, _coordinate_paras.CoordMinL + _coordinate_paras.GridNumberY * _coordinate_paras.CoordSpaceL);
+            _axis_y_ql.SetAxisRange(_coordinate_paras.DispMinL(), _coordinate_paras.DispMaxL());
         }
 
         /// <summary>
@@ -441,7 +433,7 @@
         }
 
         /// <summary>
-        /// 鏍规嵁鎵▼璁$畻宸ヤ綔鐐�
+        /// 鏍规嵁姘存崯璁$畻宸ヤ綔鐐�
         /// </summary>
         /// <param name="workH"></param> 
         public void CalcWorkPointByH(double workH)
@@ -739,7 +731,7 @@
 
         private void barCekSetSplitPanel_CheckedChanged(object sender, DevExpress.XtraBars.ItemClickEventArgs e)
         {
-            CalcChartAxis(this.barCekSetSplitPanel.Checked);
+            CalcChartAxis();
         }
 
         private void barCekChartDisplay_CheckedChanged(object sender, DevExpress.XtraBars.ItemClickEventArgs e)
@@ -834,7 +826,7 @@
             dlg.OnChangedCoord += (rhs) =>
             {
                 _coordinate_paras = rhs;
-                CalcChartAxis(this.barCekSetSplitPanel.Checked);
+                CalcChartAxis();
                 this.OnCurveCoordinateChanged?.Invoke(_coordinate_paras);
             };
             dlg.ShowDialog();
diff --git a/WinFrmUI/Yw.WinFrmUI.Phart.Core/01-perform/02-valve-chart/01-chart/ValvePerform2dChart.resx b/WinFrmUI/Yw.WinFrmUI.Phart.Core/01-perform/02-valve-chart/01-chart/ValvePerform2dChart.resx
index a322c4d..b9531e6 100644
--- a/WinFrmUI/Yw.WinFrmUI.Phart.Core/01-perform/02-valve-chart/01-chart/ValvePerform2dChart.resx
+++ b/WinFrmUI/Yw.WinFrmUI.Phart.Core/01-perform/02-valve-chart/01-chart/ValvePerform2dChart.resx
@@ -204,26 +204,6 @@
         Cw==
 </value>
   </data>
-  <data name="barCekSetSplitPanel.ImageOptions.SvgImage" type="DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v23.2" mimetype="application/x-microsoft.net.object.bytearray.base64">
-    <value>
-        AAEAAAD/////AQAAAAAAAAAMAgAAAFlEZXZFeHByZXNzLkRhdGEudjIzLjIsIFZlcnNpb249MjMuMi40
-        LjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjg4ZDE3NTRkNzAwZTQ5YQUBAAAAHURl
-        dkV4cHJlc3MuVXRpbHMuU3ZnLlN2Z0ltYWdlAQAAAAREYXRhBwICAAAACQMAAAAPAwAAAN4CAAAC77u/
-        PD94bWwgdmVyc2lvbj0nMS4wJyBlbmNvZGluZz0nVVRGLTgnPz4NCjxzdmcgeD0iMHB4IiB5PSIwcHgi
-        IHZpZXdCb3g9IjAgMCAzMiAzMiIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcv
-        MjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB4bWw6c3Bh
-        Y2U9InByZXNlcnZlIiBpZD0iTGF5ZXJfMSIgc3R5bGU9ImVuYWJsZS1iYWNrZ3JvdW5kOm5ldyAwIDAg
-        MzIgMzIiPg0KICA8c3R5bGUgdHlwZT0idGV4dC9jc3MiPgoJLkJsYWNre2ZpbGw6IzczNzM3NDt9Cgku
-        WWVsbG93e2ZpbGw6I0ZDQjAxQjt9CgkuR3JlZW57ZmlsbDojMTI5QzQ5O30KCS5CbHVle2ZpbGw6IzM4
-        N0NCNzt9CgkuUmVke2ZpbGw6I0QwMjEyNzt9CgkuV2hpdGV7ZmlsbDojRkZGRkZGO30KCS5zdDB7b3Bh
-        Y2l0eTowLjU7fQoJLnN0MXtvcGFjaXR5OjAuNzU7fQoJLnN0MntvcGFjaXR5OjAuMjU7fQoJLnN0M3tk
-        aXNwbGF5Om5vbmU7ZmlsbDojNzM3Mzc0O30KPC9zdHlsZT4NCiAgPHBhdGggZD0iTTEwLDhoMmgxNmgy
-        VjNjMC0wLjUtMC41LTEtMS0xSDNDMi41LDIsMiwyLjUsMiwzdjVoMkgxMHoiIGNsYXNzPSJCbHVlIiAv
-        Pg0KICA8cGF0aCBkPSJNMywzMGgyNmMwLjUsMCwxLTAuNSwxLTFWOGgtMnYxMkgxMlY4aC0ydjIwSDRW
-        OEgydjIxQzIsMjkuNSwyLjUsMzAsMywzMHogTTEyLDIyaDE2djZIMTJWMjJ6IiBjbGFzcz0iQmxhY2si
-        IC8+DQo8L3N2Zz4L
-</value>
-  </data>
   <data name="barCekSetAxisNameVisible.ImageOptions.SvgImage" type="DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v23.2" mimetype="application/x-microsoft.net.object.bytearray.base64">
     <value>
         AAEAAAD/////AQAAAAAAAAAMAgAAAFlEZXZFeHByZXNzLkRhdGEudjIzLjIsIFZlcnNpb249MjMuMi40
diff --git a/WinFrmUI/Yw.WinFrmUI.Phart.Core/01-perform/02-valve-chart/02-chart-edit/ValvePerform2dEditChart.Designer.cs b/WinFrmUI/Yw.WinFrmUI.Phart.Core/01-perform/02-valve-chart/02-chart-edit/ValvePerform2dEditChart.Designer.cs
index 5147a66..ada0880 100644
--- a/WinFrmUI/Yw.WinFrmUI.Phart.Core/01-perform/02-valve-chart/02-chart-edit/ValvePerform2dEditChart.Designer.cs
+++ b/WinFrmUI/Yw.WinFrmUI.Phart.Core/01-perform/02-valve-chart/02-chart-edit/ValvePerform2dEditChart.Designer.cs
@@ -33,20 +33,10 @@
             DevExpress.XtraCharts.PaneAnchorPoint paneAnchorPoint1 = new DevExpress.XtraCharts.PaneAnchorPoint();
             DevExpress.XtraCharts.FreePosition freePosition1 = new DevExpress.XtraCharts.FreePosition();
             DevExpress.XtraCharts.XYDiagram xyDiagram1 = new DevExpress.XtraCharts.XYDiagram();
-            DevExpress.XtraCharts.SecondaryAxisY secondaryAxisy1 = new DevExpress.XtraCharts.SecondaryAxisY();
-            DevExpress.XtraCharts.SecondaryAxisY secondaryAxisy2 = new DevExpress.XtraCharts.SecondaryAxisY();
             DevExpress.XtraCharts.Series series1 = new DevExpress.XtraCharts.Series();
             DevExpress.XtraCharts.SplineSeriesView splineSeriesView1 = new DevExpress.XtraCharts.SplineSeriesView();
             DevExpress.XtraCharts.Series series2 = new DevExpress.XtraCharts.Series();
-            DevExpress.XtraCharts.SplineSeriesView splineSeriesView2 = new DevExpress.XtraCharts.SplineSeriesView();
-            DevExpress.XtraCharts.Series series3 = new DevExpress.XtraCharts.Series();
-            DevExpress.XtraCharts.SplineSeriesView splineSeriesView3 = new DevExpress.XtraCharts.SplineSeriesView();
-            DevExpress.XtraCharts.Series series4 = new DevExpress.XtraCharts.Series();
             DevExpress.XtraCharts.PointSeriesView pointSeriesView1 = new DevExpress.XtraCharts.PointSeriesView();
-            DevExpress.XtraCharts.Series series5 = new DevExpress.XtraCharts.Series();
-            DevExpress.XtraCharts.PointSeriesView pointSeriesView2 = new DevExpress.XtraCharts.PointSeriesView();
-            DevExpress.XtraCharts.Series series6 = new DevExpress.XtraCharts.Series();
-            DevExpress.XtraCharts.PointSeriesView pointSeriesView3 = new DevExpress.XtraCharts.PointSeriesView();
             System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(ValvePerform2dEditChart));
             chartControl1 = new DevExpress.XtraCharts.ChartControl();
             popMenuChart = new DevExpress.XtraBars.PopupMenu(components);
@@ -63,20 +53,10 @@
             ((System.ComponentModel.ISupportInitialize)chartControl1).BeginInit();
             ((System.ComponentModel.ISupportInitialize)textAnnotation1).BeginInit();
             ((System.ComponentModel.ISupportInitialize)xyDiagram1).BeginInit();
-            ((System.ComponentModel.ISupportInitialize)secondaryAxisy1).BeginInit();
-            ((System.ComponentModel.ISupportInitialize)secondaryAxisy2).BeginInit();
             ((System.ComponentModel.ISupportInitialize)series1).BeginInit();
             ((System.ComponentModel.ISupportInitialize)splineSeriesView1).BeginInit();
             ((System.ComponentModel.ISupportInitialize)series2).BeginInit();
-            ((System.ComponentModel.ISupportInitialize)splineSeriesView2).BeginInit();
-            ((System.ComponentModel.ISupportInitialize)series3).BeginInit();
-            ((System.ComponentModel.ISupportInitialize)splineSeriesView3).BeginInit();
-            ((System.ComponentModel.ISupportInitialize)series4).BeginInit();
             ((System.ComponentModel.ISupportInitialize)pointSeriesView1).BeginInit();
-            ((System.ComponentModel.ISupportInitialize)series5).BeginInit();
-            ((System.ComponentModel.ISupportInitialize)pointSeriesView2).BeginInit();
-            ((System.ComponentModel.ISupportInitialize)series6).BeginInit();
-            ((System.ComponentModel.ISupportInitialize)pointSeriesView3).BeginInit();
             ((System.ComponentModel.ISupportInitialize)popMenuChart).BeginInit();
             ((System.ComponentModel.ISupportInitialize)barManager1).BeginInit();
             SuspendLayout();
@@ -111,27 +91,6 @@
             xyDiagram1.DefaultPane.BorderVisible = false;
             xyDiagram1.DefaultPane.Title.Text = "淇敼妯″紡:榧犳爣/閿洏鈽� ";
             xyDiagram1.DefaultPane.Title.Visibility = DevExpress.Utils.DefaultBoolean.True;
-            secondaryAxisy1.AxisID = 0;
-            secondaryAxisy1.Color = Color.Green;
-            secondaryAxisy1.Label.Border.Visibility = DevExpress.Utils.DefaultBoolean.False;
-            secondaryAxisy1.Label.TextColor = Color.Green;
-            secondaryAxisy1.Name = "AxisYQE";
-            secondaryAxisy1.Title.Text = "鏁堢巼/%";
-            secondaryAxisy1.Title.TextColor = Color.Green;
-            secondaryAxisy1.Title.Visibility = DevExpress.Utils.DefaultBoolean.Default;
-            secondaryAxisy1.VisibleInPanesSerializable = "-1";
-            secondaryAxisy2.AxisID = 1;
-            secondaryAxisy2.Label.Border.Visibility = DevExpress.Utils.DefaultBoolean.False;
-            secondaryAxisy2.Label.TextColor = Color.Crimson;
-            secondaryAxisy2.Name = "AxisYQP";
-            secondaryAxisy2.NumericScaleOptions.AutoGrid = false;
-            secondaryAxisy2.NumericScaleOptions.GridSpacing = 2D;
-            secondaryAxisy2.Title.Alignment = StringAlignment.Near;
-            secondaryAxisy2.Title.Text = "鍔熺巼/kW";
-            secondaryAxisy2.Title.TextColor = Color.Crimson;
-            secondaryAxisy2.Title.Visibility = DevExpress.Utils.DefaultBoolean.Default;
-            secondaryAxisy2.VisibleInPanesSerializable = "-1";
-            xyDiagram1.SecondaryAxesY.AddRange(new DevExpress.XtraCharts.SecondaryAxisY[] { secondaryAxisy1, secondaryAxisy2 });
             chartControl1.Diagram = xyDiagram1;
             chartControl1.Dock = DockStyle.Fill;
             chartControl1.Legend.AlignmentHorizontal = DevExpress.XtraCharts.LegendAlignmentHorizontal.Right;
@@ -141,46 +100,21 @@
             chartControl1.Legend.MarkerMode = DevExpress.XtraCharts.LegendMarkerMode.CheckBoxAndMarker;
             chartControl1.Legend.Visibility = DevExpress.Utils.DefaultBoolean.True;
             chartControl1.Location = new Point(0, 0);
-            chartControl1.Margin = new Padding(2);
             chartControl1.Name = "chartControl1";
-            series1.Name = "SeriesCurveQH";
+            series1.Name = "SeriesCurveQL";
             series1.SeriesID = 0;
             splineSeriesView1.Color = Color.DodgerBlue;
             series1.View = splineSeriesView1;
-            series2.Name = "SeriesCurveQE";
-            series2.SeriesID = 1;
-            splineSeriesView2.AxisYName = "AxisYQE";
-            splineSeriesView2.Color = Color.Green;
-            series2.View = splineSeriesView2;
-            series3.Name = "SeriesCurveQP";
-            series3.SeriesID = 2;
-            splineSeriesView3.AxisYName = "AxisYQP";
-            splineSeriesView3.Color = Color.Crimson;
-            series3.View = splineSeriesView3;
-            series4.Name = "SeriesPointQH";
-            series4.SeriesID = 3;
+            series2.Name = "SeriesPointQL";
+            series2.SeriesID = 3;
             pointSeriesView1.Color = Color.DodgerBlue;
-            series4.View = pointSeriesView1;
-            series5.Name = "SeriesPointQE";
-            series5.SeriesID = 4;
-            pointSeriesView2.AxisYName = "AxisYQE";
-            pointSeriesView2.Color = Color.Green;
-            series5.View = pointSeriesView2;
-            series6.Name = "SeriesPointQP";
-            series6.SeriesID = 5;
-            pointSeriesView3.AxisYName = "AxisYQP";
-            pointSeriesView3.Color = Color.Crimson;
-            series6.View = pointSeriesView3;
+            series2.View = pointSeriesView1;
             chartControl1.SeriesSerializable = new DevExpress.XtraCharts.Series[]
     {
     series1,
-    series2,
-    series3,
-    series4,
-    series5,
-    series6
+    series2
     };
-            chartControl1.Size = new Size(716, 545);
+            chartControl1.Size = new Size(1023, 856);
             chartControl1.TabIndex = 0;
             // 
             // popMenuChart
@@ -247,17 +181,15 @@
             barDockControlTop.Dock = DockStyle.Top;
             barDockControlTop.Location = new Point(0, 0);
             barDockControlTop.Manager = barManager1;
-            barDockControlTop.Margin = new Padding(2);
-            barDockControlTop.Size = new Size(716, 0);
+            barDockControlTop.Size = new Size(1023, 0);
             // 
             // barDockControlBottom
             // 
             barDockControlBottom.CausesValidation = false;
             barDockControlBottom.Dock = DockStyle.Bottom;
-            barDockControlBottom.Location = new Point(0, 545);
+            barDockControlBottom.Location = new Point(0, 856);
             barDockControlBottom.Manager = barManager1;
-            barDockControlBottom.Margin = new Padding(2);
-            barDockControlBottom.Size = new Size(716, 0);
+            barDockControlBottom.Size = new Size(1023, 0);
             // 
             // barDockControlLeft
             // 
@@ -265,46 +197,33 @@
             barDockControlLeft.Dock = DockStyle.Left;
             barDockControlLeft.Location = new Point(0, 0);
             barDockControlLeft.Manager = barManager1;
-            barDockControlLeft.Margin = new Padding(2);
-            barDockControlLeft.Size = new Size(0, 545);
+            barDockControlLeft.Size = new Size(0, 856);
             // 
             // barDockControlRight
             // 
             barDockControlRight.CausesValidation = false;
             barDockControlRight.Dock = DockStyle.Right;
-            barDockControlRight.Location = new Point(716, 0);
+            barDockControlRight.Location = new Point(1023, 0);
             barDockControlRight.Manager = barManager1;
-            barDockControlRight.Margin = new Padding(2);
-            barDockControlRight.Size = new Size(0, 545);
+            barDockControlRight.Size = new Size(0, 856);
             // 
-            // XtrPerform2dEditChart
+            // ValvePerform2dEditChart
             // 
-            AutoScaleDimensions = new SizeF(7F, 14F);
+            AutoScaleDimensions = new SizeF(10F, 22F);
             AutoScaleMode = AutoScaleMode.Font;
             Controls.Add(chartControl1);
             Controls.Add(barDockControlLeft);
             Controls.Add(barDockControlRight);
             Controls.Add(barDockControlBottom);
             Controls.Add(barDockControlTop);
-            Margin = new Padding(2);
-            Name = "XtrPerform2dEditChart";
-            Size = new Size(716, 545);
+            Name = "ValvePerform2dEditChart";
+            Size = new Size(1023, 856);
             ((System.ComponentModel.ISupportInitialize)textAnnotation1).EndInit();
-            ((System.ComponentModel.ISupportInitialize)secondaryAxisy1).EndInit();
-            ((System.ComponentModel.ISupportInitialize)secondaryAxisy2).EndInit();
             ((System.ComponentModel.ISupportInitialize)xyDiagram1).EndInit();
             ((System.ComponentModel.ISupportInitialize)splineSeriesView1).EndInit();
             ((System.ComponentModel.ISupportInitialize)series1).EndInit();
-            ((System.ComponentModel.ISupportInitialize)splineSeriesView2).EndInit();
-            ((System.ComponentModel.ISupportInitialize)series2).EndInit();
-            ((System.ComponentModel.ISupportInitialize)splineSeriesView3).EndInit();
-            ((System.ComponentModel.ISupportInitialize)series3).EndInit();
             ((System.ComponentModel.ISupportInitialize)pointSeriesView1).EndInit();
-            ((System.ComponentModel.ISupportInitialize)series4).EndInit();
-            ((System.ComponentModel.ISupportInitialize)pointSeriesView2).EndInit();
-            ((System.ComponentModel.ISupportInitialize)series5).EndInit();
-            ((System.ComponentModel.ISupportInitialize)pointSeriesView3).EndInit();
-            ((System.ComponentModel.ISupportInitialize)series6).EndInit();
+            ((System.ComponentModel.ISupportInitialize)series2).EndInit();
             ((System.ComponentModel.ISupportInitialize)chartControl1).EndInit();
             ((System.ComponentModel.ISupportInitialize)popMenuChart).EndInit();
             ((System.ComponentModel.ISupportInitialize)barManager1).EndInit();
diff --git a/WinFrmUI/Yw.WinFrmUI.Phart.Core/01-perform/02-valve-chart/02-chart-edit/ValvePerform2dEditChart.resx b/WinFrmUI/Yw.WinFrmUI.Phart.Core/01-perform/02-valve-chart/02-chart-edit/ValvePerform2dEditChart.resx
index f16ff79..1713cde 100644
--- a/WinFrmUI/Yw.WinFrmUI.Phart.Core/01-perform/02-valve-chart/02-chart-edit/ValvePerform2dEditChart.resx
+++ b/WinFrmUI/Yw.WinFrmUI.Phart.Core/01-perform/02-valve-chart/02-chart-edit/ValvePerform2dEditChart.resx
@@ -1,7 +1,7 @@
 锘�<?xml version="1.0" encoding="utf-8"?>
 <root>
   <!--
-    Microsoft ResX Schema 
+    Microsoft ResX Schema
 
     Version 2.0
 
@@ -48,7 +48,7 @@
     value   : The object must be serialized with
             : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
             : and then encoded with base64 encoding.
-    
+
     mimetype: application/x-microsoft.net.object.soap.base64
     value   : The object must be serialized with
             : System.Runtime.Serialization.Formatters.Soap.SoapFormatter
diff --git a/WinFrmUI/Yw.WinFrmUI.Phart.Core/01-perform/02-valve-chart/02-chart-edit/ValvePerform2dEditCtrl.cs b/WinFrmUI/Yw.WinFrmUI.Phart.Core/01-perform/02-valve-chart/02-chart-edit/ValvePerform2dEditCtrl.cs
index 0b64197..ca81b3b 100644
--- a/WinFrmUI/Yw.WinFrmUI.Phart.Core/01-perform/02-valve-chart/02-chart-edit/ValvePerform2dEditCtrl.cs
+++ b/WinFrmUI/Yw.WinFrmUI.Phart.Core/01-perform/02-valve-chart/02-chart-edit/ValvePerform2dEditCtrl.cs
@@ -149,8 +149,7 @@
                 var y = curvePoint.Y;
                 points.Add(new Yw.Geometry.Point2d(x, y));
             }
-        
-
+            _pt_ql_list=points; 
             this.curveExpressEditChart.UpdateCurve(points);
         }
 
@@ -176,19 +175,7 @@
         private void ReloadCalcu()
         {
             if (_fitCurvePoints == null)
-                return;
-            bool isFromZero = false;
-            if (_pt_ql_list.Last().X > 20)
-            {
-                if (_pt_ql_list.First().X < 1)
-                    isFromZero = true;
-            }
-            else
-            {
-                if (_pt_ql_list.First().X < 0.3)
-                    isFromZero = true;
-            }
-            
+                return;  
             ReloadCurvePoints();  
         }
 
diff --git a/WinFrmUI/Yw.WinFrmUI.Phart.Core/01-perform/02-valve-chart/05-import/01-excel/ImportValvePerform2dByExcelCtrl.cs b/WinFrmUI/Yw.WinFrmUI.Phart.Core/01-perform/02-valve-chart/05-import/01-excel/ImportValvePerform2dByExcelCtrl.cs
index 9babbbd..1b8dd28 100644
--- a/WinFrmUI/Yw.WinFrmUI.Phart.Core/01-perform/02-valve-chart/05-import/01-excel/ImportValvePerform2dByExcelCtrl.cs
+++ b/WinFrmUI/Yw.WinFrmUI.Phart.Core/01-perform/02-valve-chart/05-import/01-excel/ImportValvePerform2dByExcelCtrl.cs
@@ -76,14 +76,10 @@
         private List<CurrentViewModel> _allBindList;
 
         private Yw.Geometry.CubicSpline2d
-            _cubic_spline_ql = null,
-            _cubic_spline_qe = null,
-            _cubic_spline_qp = null;
+            _cubic_spline_ql = null;
 
         private List<Yw.Geometry.Point2d>
-            _pt_ql_list = null,
-            _pt_qe_list = null,
-            _pt_qp_list = null;
+            _pt_ql_list = null;
 
         //閫夋嫨Excel鏂囦欢
         private void btnExcelFilePath_ButtonClick(object sender, DevExpress.XtraEditors.Controls.ButtonPressedEventArgs e)
@@ -106,8 +102,8 @@
                 return;
             }
             int line = 0;
-            try
-            {
+            //try
+            //{
                 //鍒濆鍖栨枃浠�
                 HSSFWorkbook theBook = null;
                 using (FileStream file = new FileStream(fileName, FileMode.Open, FileAccess.Read))
@@ -210,12 +206,12 @@
                 }
                 this.bindingSource1.ResetBindings(false);
                 loadChart();
-            }
-            catch (Exception err)
-            {
-                XtraMessageBox.Show(string.Format("璇诲彇Excel鍑洪敊!閿欒鍘熷洜锛歿0},琛屽彿: {1}", err.Message, line), "鎻愮ず淇℃伅",
-                    System.Windows.Forms.MessageBoxButtons.OK, System.Windows.Forms.MessageBoxIcon.Information);
-            }
+            //}
+            //catch (Exception err)
+            //{
+            //    XtraMessageBox.Show(string.Format("璇诲彇Excel鍑洪敊!閿欒鍘熷洜锛歿0},琛屽彿: {1}", err.Message, line), "鎻愮ず淇℃伅",
+            //        System.Windows.Forms.MessageBoxButtons.OK, System.Windows.Forms.MessageBoxIcon.Information);
+            //}
         }
 
         //鍔犺浇鏇茬嚎
@@ -227,9 +223,7 @@
                 return false;
             }
 
-            _pt_ql_list = new List<Yw.Geometry.Point2d>();
-            _pt_qe_list = new List<Yw.Geometry.Point2d>();
-            _pt_qp_list = new List<Yw.Geometry.Point2d>();
+            _pt_ql_list = new List<Yw.Geometry.Point2d>(); 
             for (int i = 0; i < _allBindList.Count; i++)
             {
                 var model = _allBindList[i];
@@ -237,9 +231,7 @@
                     _pt_ql_list.Add(new Yw.Geometry.Point2d() { X = model.Q, Y = model.L });
             }
 
-            _cubic_spline_ql = new Yw.Geometry.CubicSpline2d(_pt_ql_list);
-            _cubic_spline_qe = new Yw.Geometry.CubicSpline2d(_pt_qe_list);
-            _cubic_spline_qp = new Yw.Geometry.CubicSpline2d(_pt_qp_list);
+            _cubic_spline_ql = new Yw.Geometry.CubicSpline2d(_pt_ql_list); 
             this.xtrPerform2dChart1.SetBindingData(_cubic_spline_ql, string.Empty, true);
             return true;
         }
diff --git a/WinFrmUI/Yw.WinFrmUI.Phart.Core/01-perform/02-valve-chart/05-import/01-excel/ImportValvePerform2dByExcelCtrl.designer.cs b/WinFrmUI/Yw.WinFrmUI.Phart.Core/01-perform/02-valve-chart/05-import/01-excel/ImportValvePerform2dByExcelCtrl.designer.cs
index 7305d8b..6dda539 100644
--- a/WinFrmUI/Yw.WinFrmUI.Phart.Core/01-perform/02-valve-chart/05-import/01-excel/ImportValvePerform2dByExcelCtrl.designer.cs
+++ b/WinFrmUI/Yw.WinFrmUI.Phart.Core/01-perform/02-valve-chart/05-import/01-excel/ImportValvePerform2dByExcelCtrl.designer.cs
@@ -29,22 +29,19 @@
         private void InitializeComponent()
         {
             components = new System.ComponentModel.Container();
-            DevExpress.XtraEditors.Controls.EditorButtonImageOptions editorButtonImageOptions1 = new DevExpress.XtraEditors.Controls.EditorButtonImageOptions();
+            DevExpress.XtraEditors.Controls.EditorButtonImageOptions editorButtonImageOptions2 = new DevExpress.XtraEditors.Controls.EditorButtonImageOptions();
             System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(ImportValvePerform2dByExcelCtrl));
-            DevExpress.Utils.SerializableAppearanceObject serializableAppearanceObject1 = new DevExpress.Utils.SerializableAppearanceObject();
-            DevExpress.Utils.SerializableAppearanceObject serializableAppearanceObject2 = new DevExpress.Utils.SerializableAppearanceObject();
-            DevExpress.Utils.SerializableAppearanceObject serializableAppearanceObject3 = new DevExpress.Utils.SerializableAppearanceObject();
-            DevExpress.Utils.SerializableAppearanceObject serializableAppearanceObject4 = new DevExpress.Utils.SerializableAppearanceObject();
+            DevExpress.Utils.SerializableAppearanceObject serializableAppearanceObject5 = new DevExpress.Utils.SerializableAppearanceObject();
+            DevExpress.Utils.SerializableAppearanceObject serializableAppearanceObject6 = new DevExpress.Utils.SerializableAppearanceObject();
+            DevExpress.Utils.SerializableAppearanceObject serializableAppearanceObject7 = new DevExpress.Utils.SerializableAppearanceObject();
+            DevExpress.Utils.SerializableAppearanceObject serializableAppearanceObject8 = new DevExpress.Utils.SerializableAppearanceObject();
             layoutControl1 = new DevExpress.XtraLayout.LayoutControl();
             gridControl1 = new DevExpress.XtraGrid.GridControl();
-            bindingSource1 = new System.Windows.Forms.BindingSource(components);
+            bindingSource1 = new BindingSource(components);
             gridView1 = new DevExpress.XtraGrid.Views.Grid.GridView();
             colID = new DevExpress.XtraGrid.Columns.GridColumn();
             colQ = new DevExpress.XtraGrid.Columns.GridColumn();
-            colH = new DevExpress.XtraGrid.Columns.GridColumn();
-            colE = new DevExpress.XtraGrid.Columns.GridColumn();
-            colP = new DevExpress.XtraGrid.Columns.GridColumn();
-            colNPSH = new DevExpress.XtraGrid.Columns.GridColumn();
+            colL = new DevExpress.XtraGrid.Columns.GridColumn();
             btnExcelFilePath = new DevExpress.XtraEditors.ButtonEdit();
             txtCurveCode = new DevExpress.XtraEditors.TextEdit();
             Root = new DevExpress.XtraLayout.LayoutControlGroup();
@@ -76,28 +73,28 @@
             layoutControl1.Controls.Add(gridControl1);
             layoutControl1.Controls.Add(btnExcelFilePath);
             layoutControl1.Controls.Add(txtCurveCode);
-            layoutControl1.Dock = System.Windows.Forms.DockStyle.Fill;
-            layoutControl1.Location = new System.Drawing.Point(0, 0);
+            layoutControl1.Dock = DockStyle.Fill;
+            layoutControl1.Location = new Point(0, 0);
             layoutControl1.Name = "layoutControl1";
-            layoutControl1.OptionsCustomizationForm.DesignTimeCustomizationFormPositionAndSize = new System.Drawing.Rectangle(784, 368, 986, 935);
+            layoutControl1.OptionsCustomizationForm.DesignTimeCustomizationFormPositionAndSize = new Rectangle(784, 368, 986, 935);
             layoutControl1.Root = Root;
-            layoutControl1.Size = new System.Drawing.Size(425, 660);
+            layoutControl1.Size = new Size(425, 660);
             layoutControl1.TabIndex = 0;
             layoutControl1.Text = "layoutControl1";
             // 
             // gridControl1
             // 
             gridControl1.DataSource = bindingSource1;
-            gridControl1.Location = new System.Drawing.Point(0, 153);
+            gridControl1.Location = new Point(0, 153);
             gridControl1.MainView = gridView1;
             gridControl1.Name = "gridControl1";
-            gridControl1.Size = new System.Drawing.Size(425, 507);
+            gridControl1.Size = new Size(425, 507);
             gridControl1.TabIndex = 9;
             gridControl1.ViewCollection.AddRange(new DevExpress.XtraGrid.Views.Base.BaseView[] { gridView1 });
             // 
             // gridView1
             // 
-            gridView1.Columns.AddRange(new DevExpress.XtraGrid.Columns.GridColumn[] { colID, colQ, colH, colE, colP, colNPSH });
+            gridView1.Columns.AddRange(new DevExpress.XtraGrid.Columns.GridColumn[] { colID, colQ, colL });
             gridView1.GridControl = gridControl1;
             gridView1.Name = "gridView1";
             gridView1.OptionsView.ShowDetailButtons = false;
@@ -120,64 +117,35 @@
             colQ.Visible = true;
             colQ.VisibleIndex = 0;
             // 
-            // colH
+            // colL
             // 
-            colH.AppearanceCell.Options.UseTextOptions = true;
-            colH.AppearanceCell.TextOptions.HAlignment = DevExpress.Utils.HorzAlignment.Center;
-            colH.AppearanceHeader.Options.UseTextOptions = true;
-            colH.AppearanceHeader.TextOptions.HAlignment = DevExpress.Utils.HorzAlignment.Center;
-            colH.Caption = "鎵▼";
-            colH.FieldName = "H";
-            colH.Name = "colH";
-            colH.Visible = true;
-            colH.VisibleIndex = 1;
-            // 
-            // colE
-            // 
-            colE.AppearanceCell.Options.UseTextOptions = true;
-            colE.AppearanceCell.TextOptions.HAlignment = DevExpress.Utils.HorzAlignment.Center;
-            colE.AppearanceHeader.Options.UseTextOptions = true;
-            colE.AppearanceHeader.TextOptions.HAlignment = DevExpress.Utils.HorzAlignment.Center;
-            colE.Caption = "鏁堢巼";
-            colE.FieldName = "E";
-            colE.Name = "colE";
-            colE.Visible = true;
-            colE.VisibleIndex = 2;
-            // 
-            // colP
-            // 
-            colP.AppearanceCell.Options.UseTextOptions = true;
-            colP.AppearanceCell.TextOptions.HAlignment = DevExpress.Utils.HorzAlignment.Center;
-            colP.AppearanceHeader.Options.UseTextOptions = true;
-            colP.AppearanceHeader.TextOptions.HAlignment = DevExpress.Utils.HorzAlignment.Center;
-            colP.Caption = "鍔熺巼";
-            colP.FieldName = "P";
-            colP.Name = "colP";
-            colP.Visible = true;
-            colP.VisibleIndex = 3;
-            // 
-            // colNPSH
-            // 
-            colNPSH.FieldName = "NPSH";
-            colNPSH.Name = "colNPSH";
+            colL.AppearanceCell.Options.UseTextOptions = true;
+            colL.AppearanceCell.TextOptions.HAlignment = DevExpress.Utils.HorzAlignment.Center;
+            colL.AppearanceHeader.Options.UseTextOptions = true;
+            colL.AppearanceHeader.TextOptions.HAlignment = DevExpress.Utils.HorzAlignment.Center;
+            colL.Caption = "姘存崯";
+            colL.FieldName = "L";
+            colL.Name = "colL";
+            colL.Visible = true;
+            colL.VisibleIndex = 1;
             // 
             // btnExcelFilePath
             // 
-            btnExcelFilePath.Location = new System.Drawing.Point(70, 45);
+            btnExcelFilePath.Location = new Point(70, 45);
             btnExcelFilePath.Name = "btnExcelFilePath";
-            editorButtonImageOptions1.SvgImage = (DevExpress.Utils.Svg.SvgImage)resources.GetObject("editorButtonImageOptions1.SvgImage");
-            editorButtonImageOptions1.SvgImageSize = new System.Drawing.Size(14, 14);
-            btnExcelFilePath.Properties.Buttons.AddRange(new DevExpress.XtraEditors.Controls.EditorButton[] { new DevExpress.XtraEditors.Controls.EditorButton(DevExpress.XtraEditors.Controls.ButtonPredefines.Glyph, "", -1, true, true, false, editorButtonImageOptions1, new DevExpress.Utils.KeyShortcut(System.Windows.Forms.Keys.None), serializableAppearanceObject1, serializableAppearanceObject2, serializableAppearanceObject3, serializableAppearanceObject4, "", null, null, DevExpress.Utils.ToolTipAnchor.Default) });
-            btnExcelFilePath.Size = new System.Drawing.Size(343, 31);
+            editorButtonImageOptions2.SvgImage = (DevExpress.Utils.Svg.SvgImage)resources.GetObject("editorButtonImageOptions2.SvgImage");
+            editorButtonImageOptions2.SvgImageSize = new Size(14, 14);
+            btnExcelFilePath.Properties.Buttons.AddRange(new DevExpress.XtraEditors.Controls.EditorButton[] { new DevExpress.XtraEditors.Controls.EditorButton(DevExpress.XtraEditors.Controls.ButtonPredefines.Glyph, "", -1, true, true, false, editorButtonImageOptions2, new DevExpress.Utils.KeyShortcut(Keys.None), serializableAppearanceObject5, serializableAppearanceObject6, serializableAppearanceObject7, serializableAppearanceObject8, "", null, null, DevExpress.Utils.ToolTipAnchor.Default) });
+            btnExcelFilePath.Size = new Size(343, 31);
             btnExcelFilePath.StyleController = layoutControl1;
             btnExcelFilePath.TabIndex = 18;
             btnExcelFilePath.ButtonClick += btnExcelFilePath_ButtonClick;
             // 
             // txtCurveCode
             // 
-            txtCurveCode.Location = new System.Drawing.Point(70, 80);
+            txtCurveCode.Location = new Point(70, 80);
             txtCurveCode.Name = "txtCurveCode";
-            txtCurveCode.Size = new System.Drawing.Size(343, 28);
+            txtCurveCode.Size = new Size(343, 28);
             txtCurveCode.StyleController = layoutControl1;
             txtCurveCode.TabIndex = 19;
             // 
@@ -188,87 +156,87 @@
             Root.Items.AddRange(new DevExpress.XtraLayout.BaseLayoutItem[] { layoutControlGroup1, layoutControlGroup2 });
             Root.Name = "Root";
             Root.Padding = new DevExpress.XtraLayout.Utils.Padding(0, 0, 0, 0);
-            Root.Size = new System.Drawing.Size(425, 660);
+            Root.Size = new Size(425, 660);
             Root.TextVisible = false;
             // 
             // layoutControlGroup1
             // 
             layoutControlGroup1.GroupStyle = DevExpress.Utils.GroupStyle.Title;
             layoutControlGroup1.Items.AddRange(new DevExpress.XtraLayout.BaseLayoutItem[] { layoutControlItem6, layoutControlItem7 });
-            layoutControlGroup1.Location = new System.Drawing.Point(0, 0);
+            layoutControlGroup1.Location = new Point(0, 0);
             layoutControlGroup1.Name = "layoutControlGroup1";
-            layoutControlGroup1.Size = new System.Drawing.Size(425, 120);
+            layoutControlGroup1.Size = new Size(425, 120);
             layoutControlGroup1.Spacing = new DevExpress.XtraLayout.Utils.Padding(0, 0, 0, 0);
             layoutControlGroup1.Text = "鏇茬嚎淇℃伅";
             // 
             // layoutControlItem6
             // 
             layoutControlItem6.Control = btnExcelFilePath;
-            layoutControlItem6.Location = new System.Drawing.Point(0, 0);
+            layoutControlItem6.Location = new Point(0, 0);
             layoutControlItem6.Name = "layoutControlItem6";
-            layoutControlItem6.Size = new System.Drawing.Size(405, 35);
+            layoutControlItem6.Size = new Size(405, 35);
             layoutControlItem6.Text = "Excel:";
-            layoutControlItem6.TextSize = new System.Drawing.Size(46, 22);
+            layoutControlItem6.TextSize = new Size(46, 22);
             // 
             // layoutControlItem7
             // 
             layoutControlItem7.Control = txtCurveCode;
-            layoutControlItem7.Location = new System.Drawing.Point(0, 35);
+            layoutControlItem7.Location = new Point(0, 35);
             layoutControlItem7.Name = "layoutControlItem7";
-            layoutControlItem7.Size = new System.Drawing.Size(405, 32);
+            layoutControlItem7.Size = new Size(405, 32);
             layoutControlItem7.Text = "鍚嶇О:";
-            layoutControlItem7.TextSize = new System.Drawing.Size(46, 22);
+            layoutControlItem7.TextSize = new Size(46, 22);
             // 
             // layoutControlGroup2
             // 
             layoutControlGroup2.GroupStyle = DevExpress.Utils.GroupStyle.Title;
             layoutControlGroup2.Items.AddRange(new DevExpress.XtraLayout.BaseLayoutItem[] { layoutControlItem3 });
-            layoutControlGroup2.Location = new System.Drawing.Point(0, 120);
+            layoutControlGroup2.Location = new Point(0, 120);
             layoutControlGroup2.Name = "layoutControlGroup2";
             layoutControlGroup2.Padding = new DevExpress.XtraLayout.Utils.Padding(0, 0, 0, 0);
-            layoutControlGroup2.Size = new System.Drawing.Size(425, 540);
+            layoutControlGroup2.Size = new Size(425, 540);
             layoutControlGroup2.Spacing = new DevExpress.XtraLayout.Utils.Padding(0, 0, 0, 0);
             layoutControlGroup2.Text = "鏇茬嚎瀹氫箟鐐�";
             // 
             // layoutControlItem3
             // 
             layoutControlItem3.Control = gridControl1;
-            layoutControlItem3.Location = new System.Drawing.Point(0, 0);
+            layoutControlItem3.Location = new Point(0, 0);
             layoutControlItem3.Name = "layoutControlItem3";
             layoutControlItem3.Padding = new DevExpress.XtraLayout.Utils.Padding(0, 0, 0, 0);
-            layoutControlItem3.Size = new System.Drawing.Size(425, 507);
-            layoutControlItem3.TextSize = new System.Drawing.Size(0, 0);
+            layoutControlItem3.Size = new Size(425, 507);
+            layoutControlItem3.TextSize = new Size(0, 0);
             layoutControlItem3.TextVisible = false;
             // 
             // sidePanel1
             // 
             sidePanel1.Controls.Add(layoutControl1);
-            sidePanel1.Dock = System.Windows.Forms.DockStyle.Left;
-            sidePanel1.Location = new System.Drawing.Point(0, 0);
+            sidePanel1.Dock = DockStyle.Left;
+            sidePanel1.Location = new Point(0, 0);
             sidePanel1.Name = "sidePanel1";
-            sidePanel1.Size = new System.Drawing.Size(426, 660);
+            sidePanel1.Size = new Size(426, 660);
             sidePanel1.TabIndex = 2;
             sidePanel1.Text = "sidePanel1";
             // 
-            // cubicSpline2dChart1
+            // xtrPerform2dChart1
             // 
             xtrPerform2dChart1.DefinePointVisible = false;
-            xtrPerform2dChart1.Dock = System.Windows.Forms.DockStyle.Fill;
+            xtrPerform2dChart1.Dock = DockStyle.Fill;
             xtrPerform2dChart1.LineVisible = false;
-            xtrPerform2dChart1.Location = new System.Drawing.Point(426, 0);
-            xtrPerform2dChart1.Name = "cubicSpline2dChart1";
-            xtrPerform2dChart1.Size = new System.Drawing.Size(574, 660);
+            xtrPerform2dChart1.Location = new Point(426, 0);
+            xtrPerform2dChart1.Name = "xtrPerform2dChart1";
+            xtrPerform2dChart1.Size = new Size(574, 660);
             xtrPerform2dChart1.TabIndex = 3;
             // 
-            // ImportCurveByExcelCtrl
+            // ImportValvePerform2dByExcelCtrl
             // 
-            Appearance.BackColor = System.Drawing.SystemColors.Control;
+            Appearance.BackColor = SystemColors.Control;
             Appearance.Options.UseBackColor = true;
-            AutoScaleMode = System.Windows.Forms.AutoScaleMode.None;
+            AutoScaleMode = AutoScaleMode.None;
             Controls.Add(xtrPerform2dChart1);
             Controls.Add(sidePanel1);
-            Name = "ImportCurveByExcelCtrl";
-            Size = new System.Drawing.Size(1000, 660);
+            Name = "ImportValvePerform2dByExcelCtrl";
+            Size = new Size(1000, 660);
             ((System.ComponentModel.ISupportInitialize)layoutControl1).EndInit();
             layoutControl1.ResumeLayout(false);
             ((System.ComponentModel.ISupportInitialize)gridControl1).EndInit();
@@ -294,10 +262,7 @@
         private DevExpress.XtraGrid.Views.Grid.GridView gridView1;
         private DevExpress.XtraGrid.Columns.GridColumn colID;
         private DevExpress.XtraGrid.Columns.GridColumn colQ;
-        private DevExpress.XtraGrid.Columns.GridColumn colH;
-        private DevExpress.XtraGrid.Columns.GridColumn colE;
-        private DevExpress.XtraGrid.Columns.GridColumn colP;
-        private DevExpress.XtraGrid.Columns.GridColumn colNPSH;
+        private DevExpress.XtraGrid.Columns.GridColumn colL;
         private DevExpress.XtraLayout.LayoutControlItem layoutControlItem3;
         private DevExpress.XtraEditors.ButtonEdit btnExcelFilePath;
         private DevExpress.XtraLayout.LayoutControlItem layoutControlItem6;
diff --git a/WinFrmUI/Yw.WinFrmUI.Phart.Core/01-perform/02-valve-chart/05-import/01-excel/ImportValvePerform2dByExcelCtrl.resx b/WinFrmUI/Yw.WinFrmUI.Phart.Core/01-perform/02-valve-chart/05-import/01-excel/ImportValvePerform2dByExcelCtrl.resx
index ac44545..a87352e 100644
--- a/WinFrmUI/Yw.WinFrmUI.Phart.Core/01-perform/02-valve-chart/05-import/01-excel/ImportValvePerform2dByExcelCtrl.resx
+++ b/WinFrmUI/Yw.WinFrmUI.Phart.Core/01-perform/02-valve-chart/05-import/01-excel/ImportValvePerform2dByExcelCtrl.resx
@@ -121,7 +121,7 @@
     <value>17, 17</value>
   </metadata>
   <assembly alias="DevExpress.Data.v23.2" name="DevExpress.Data.v23.2, Culture=neutral, PublicKeyToken=b88d1754d700e49a" />
-  <data name="editorButtonImageOptions1.SvgImage" type="DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v23.2" mimetype="application/x-microsoft.net.object.bytearray.base64">
+  <data name="editorButtonImageOptions2.SvgImage" type="DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v23.2" mimetype="application/x-microsoft.net.object.bytearray.base64">
     <value>
         AAEAAAD/////AQAAAAAAAAAMAgAAAFlEZXZFeHByZXNzLkRhdGEudjIzLjIsIFZlcnNpb249MjMuMi40
         LjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjg4ZDE3NTRkNzAwZTQ5YQUBAAAAHURl
diff --git a/WinFrmUI/Yw.WinFrmUI.Phart.Core/01-perform/99-models/01-coordinate/ValvePerformCoordinate_Disp.cs b/WinFrmUI/Yw.WinFrmUI.Phart.Core/01-perform/99-models/01-coordinate/ValvePerformCoordinate_Disp.cs
index 4582135..e283794 100644
--- a/WinFrmUI/Yw.WinFrmUI.Phart.Core/01-perform/99-models/01-coordinate/ValvePerformCoordinate_Disp.cs
+++ b/WinFrmUI/Yw.WinFrmUI.Phart.Core/01-perform/99-models/01-coordinate/ValvePerformCoordinate_Disp.cs
@@ -52,9 +52,7 @@
         /// <summary>
         /// 璁$畻鍧愭爣
         /// </summary>
-        /// <param name="QL">娴侀噺姘存崯绾�</param>
-        /// <param name="QE">娴侀噺鏁堢巼绾�</param>
-        /// <param name="QP">娴侀噺鍔熺巼绾�</param>
+        /// <param name="QL">娴侀噺姘存崯绾�</param> 
         /// <returns></returns>
         public static ValvePerformCoordinate CalcCoordinate(List<Yw.Geometry.Point2d> QL)
         {
@@ -63,7 +61,7 @@
             double maxQ = 0.0;
             double minQ = 1000.0;
             double maxL = 0.0;
-            double minL = 1000.0; 
+            double minL = 1000.0;
 
 
             minQ = QL.Min(x => x.X);
@@ -86,9 +84,7 @@
         /// <summary>
         /// 璁$畻鏈�澶ф渶灏忓��
         /// </summary>
-        /// <param name="QL">娴侀噺姘存崯绾�</param>
-        /// <param name="QE">娴侀噺鏁堢巼绾�</param>
-        /// <param name="QP">娴侀噺鍔熺巼绾�</param>
+        /// <param name="QL">娴侀噺姘存崯绾�</param> 
         /// <param name="maxQ">鏈�澶ф祦閲�</param>
         /// <param name="minQ">鏈�灏忔祦閲�</param>
         /// <param name="maxL">鏈�澶ф按鎹�</param>
@@ -134,7 +130,7 @@
             var validGridNumL = 6;
             var coordinate_paras = new ValvePerformCoordinate();
             coordinate_paras.GridNumberX = 10;
-            coordinate_paras.GridNumberY = 18;
+            coordinate_paras.GridNumberY = 10;
             CalcCoordinateQ(minQ, maxQ, ref coordinate_paras, coordinate_paras.GridNumberX);
             CalcCoordinateL(minL, maxL, validGridNumL, ref coordinate_paras, out double disMinL, out double disMaxL);
               

--
Gitblit v1.9.3