From d6111ca1fa9f70afc50c8213f81c9d78c14a6527 Mon Sep 17 00:00:00 2001
From: duheng <2784771470@qq.com>
Date: 星期三, 22 一月 2025 14:37:21 +0800
Subject: [PATCH] 阀门单独匹配修改

---
 WinFrmUI/HStation.WinFrmUI.PhartRelation.Core/relation/03-grid/01-valve/ValvePhartDiagramRelationGridViewCtrl.resx        |  152 ++++++++++++
 WinFrmUI/HStation.WinFrmUI.Xhs.Core/03-simulation/07-matching/03-valve/AssetsValveSingleMatchingCtrl.cs                   |   44 ++-
 WinFrmUI/HStation.WinFrmUI.Xhs.Core/03-simulation/07-matching/03-valve/AssetsValveSingleMatchingDlg.cs                    |    5 
 WinFrmUI/HStation.WinFrmUI.PhartRelation.Core/relation/03-grid/01-valve/ValvePhartDiagramRelationGridViewCtrl.Designer.cs |  146 ++++++++++++
 WinFrmUI/HStation.WinFrmUI.PhartRelation.Core/relation/03-grid/PhartDiagramRelationGridViewCtrl.cs                        |    2 
 WinFrmUI/HStation.WinFrmUI.PhartRelation.Core/relation/04-view/ValvePhartDiagramRelationCurveViewDlg.cs                   |   31 ++
 WinFrmUI/HStation.WinFrmUI.Xhs.Core/03-simulation/07-matching/03-valve/AssetsValveSingleMatchingCtrl.Designer.cs          |   28 +-
 WinFrmUI/HStation.WinFrmUI.PhartRelation.Core/relation/03-grid/01-valve/ValvePhartDiagramRelationGridViewCtrl.cs          |   84 +++++++
 WinFrmUI/HStation.WinFrmUI.PhartRelation.Core/HStation.WinFrmUI.PhartRelation.Core.csproj                                 |    6 
 WinFrmUI/HStation.WinFrmUI.PhartRelation.Core/relation/04-view/ValvePhartDiagramRelationCurveViewDlg.Designer.cs          |   59 ++++
 WinFrmUI/HStation.WinFrmUI.PhartRelation.Core/relation/04-view/ValvePhartDiagramRelationCurveViewDlg.resx                 |  120 ++++++++++
 11 files changed, 641 insertions(+), 36 deletions(-)

diff --git a/WinFrmUI/HStation.WinFrmUI.PhartRelation.Core/HStation.WinFrmUI.PhartRelation.Core.csproj b/WinFrmUI/HStation.WinFrmUI.PhartRelation.Core/HStation.WinFrmUI.PhartRelation.Core.csproj
index dae5498..0c52c9a 100644
--- a/WinFrmUI/HStation.WinFrmUI.PhartRelation.Core/HStation.WinFrmUI.PhartRelation.Core.csproj
+++ b/WinFrmUI/HStation.WinFrmUI.PhartRelation.Core/HStation.WinFrmUI.PhartRelation.Core.csproj
@@ -118,6 +118,12 @@
     <Compile Update="relation\01-list\PhartDiagramRelationListCtrl.cs">
       <SubType>UserControl</SubType>
     </Compile>
+    <Compile Update="relation\03-grid\01-valve\ValvePhartDiagramRelationGridViewCtrl.cs">
+      <SubType>UserControl</SubType>
+    </Compile>
+    <Compile Update="relation\04-view\ValvePhartDiagramRelationCurveViewDlg.cs">
+      <SubType>Form</SubType>
+    </Compile>
     <Compile Update="SinglePumpAnalyDlg.cs">
       <SubType>Form</SubType>
     </Compile>
diff --git a/WinFrmUI/HStation.WinFrmUI.PhartRelation.Core/relation/03-grid/01-valve/ValvePhartDiagramRelationGridViewCtrl.Designer.cs b/WinFrmUI/HStation.WinFrmUI.PhartRelation.Core/relation/03-grid/01-valve/ValvePhartDiagramRelationGridViewCtrl.Designer.cs
new file mode 100644
index 0000000..898536a
--- /dev/null
+++ b/WinFrmUI/HStation.WinFrmUI.PhartRelation.Core/relation/03-grid/01-valve/ValvePhartDiagramRelationGridViewCtrl.Designer.cs
@@ -0,0 +1,146 @@
+锘縩amespace HStation.WinFrmUI
+{
+    partial class ValvePhartDiagramRelationGridViewCtrl
+    {
+        /// <summary> 
+        /// Required designer variable.
+        /// </summary>
+        private System.ComponentModel.IContainer components = null;
+
+        /// <summary> 
+        /// Clean up any resources being used.
+        /// </summary>
+        /// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
+        protected override void Dispose(bool disposing)
+        {
+            if (disposing && (components != null))
+            {
+                components.Dispose();
+            }
+            base.Dispose(disposing);
+        }
+
+        #region Component Designer generated code
+
+        /// <summary> 
+        /// Required method for Designer support - do not modify 
+        /// the contents of this method with the code editor.
+        /// </summary>
+        private void InitializeComponent()
+        {
+            components = new System.ComponentModel.Container();
+            DevExpress.XtraEditors.Controls.EditorButtonImageOptions editorButtonImageOptions1 = new DevExpress.XtraEditors.Controls.EditorButtonImageOptions();
+            System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(ValvePhartDiagramRelationGridViewCtrl));
+            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();
+            gridControl1 = new DevExpress.XtraGrid.GridControl();
+            phartDiagramRelationGridItemViewModelBindingSource = new BindingSource(components);
+            gridView1 = new DevExpress.XtraGrid.Views.Grid.GridView();
+            colName = new DevExpress.XtraGrid.Columns.GridColumn();
+            colImportance = new DevExpress.XtraGrid.Columns.GridColumn();
+            colDescription = new DevExpress.XtraGrid.Columns.GridColumn();
+            colCurve = new DevExpress.XtraGrid.Columns.GridColumn();
+            repositoryItemButtonEdit1 = new DevExpress.XtraEditors.Repository.RepositoryItemButtonEdit();
+            ((System.ComponentModel.ISupportInitialize)gridControl1).BeginInit();
+            ((System.ComponentModel.ISupportInitialize)phartDiagramRelationGridItemViewModelBindingSource).BeginInit();
+            ((System.ComponentModel.ISupportInitialize)gridView1).BeginInit();
+            ((System.ComponentModel.ISupportInitialize)repositoryItemButtonEdit1).BeginInit();
+            SuspendLayout();
+            // 
+            // gridControl1
+            // 
+            gridControl1.DataSource = phartDiagramRelationGridItemViewModelBindingSource;
+            gridControl1.Dock = DockStyle.Fill;
+            gridControl1.Location = new Point(0, 0);
+            gridControl1.MainView = gridView1;
+            gridControl1.Name = "gridControl1";
+            gridControl1.RepositoryItems.AddRange(new DevExpress.XtraEditors.Repository.RepositoryItem[] { repositoryItemButtonEdit1 });
+            gridControl1.Size = new Size(764, 444);
+            gridControl1.TabIndex = 0;
+            gridControl1.ViewCollection.AddRange(new DevExpress.XtraGrid.Views.Base.BaseView[] { gridView1 });
+            // 
+            // phartDiagramRelationGridItemViewModelBindingSource
+            // 
+            phartDiagramRelationGridItemViewModelBindingSource.DataSource = typeof(PhartDiagramRelationGridItemViewModel);
+            // 
+            // gridView1
+            // 
+            gridView1.Columns.AddRange(new DevExpress.XtraGrid.Columns.GridColumn[] { colName, colImportance, colDescription, colCurve });
+            gridView1.GridControl = gridControl1;
+            gridView1.Name = "gridView1";
+            gridView1.RowCellClick += gridView1_RowCellClick;
+            gridView1.FocusedRowChanged += gridView1_FocusedRowChanged;
+            // 
+            // colName
+            // 
+            colName.FieldName = "Name";
+            colName.Name = "colName";
+            colName.Visible = true;
+            colName.VisibleIndex = 0;
+            // 
+            // colImportance
+            // 
+            colImportance.FieldName = "Importance";
+            colImportance.MaxWidth = 100;
+            colImportance.MinWidth = 100;
+            colImportance.Name = "colImportance";
+            colImportance.Visible = true;
+            colImportance.VisibleIndex = 1;
+            colImportance.Width = 100;
+            // 
+            // colDescription
+            // 
+            colDescription.FieldName = "Description";
+            colDescription.Name = "colDescription";
+            colDescription.Visible = true;
+            colDescription.VisibleIndex = 2;
+            // 
+            // colCurve
+            // 
+            colCurve.Caption = "鏇茬嚎";
+            colCurve.ColumnEdit = repositoryItemButtonEdit1;
+            colCurve.MaxWidth = 60;
+            colCurve.MinWidth = 60;
+            colCurve.Name = "colCurve";
+            colCurve.Visible = true;
+            colCurve.VisibleIndex = 3;
+            colCurve.Width = 60;
+            // 
+            // repositoryItemButtonEdit1
+            // 
+            repositoryItemButtonEdit1.AutoHeight = false;
+            editorButtonImageOptions1.AllowGlyphSkinning = DevExpress.Utils.DefaultBoolean.True;
+            editorButtonImageOptions1.SvgImage = (DevExpress.Utils.Svg.SvgImage)resources.GetObject("editorButtonImageOptions1.SvgImage");
+            editorButtonImageOptions1.SvgImageSize = new Size(20, 20);
+            repositoryItemButtonEdit1.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(Keys.None), serializableAppearanceObject1, serializableAppearanceObject2, serializableAppearanceObject3, serializableAppearanceObject4, "", null, null, DevExpress.Utils.ToolTipAnchor.Default) });
+            repositoryItemButtonEdit1.Name = "repositoryItemButtonEdit1";
+            repositoryItemButtonEdit1.TextEditStyle = DevExpress.XtraEditors.Controls.TextEditStyles.HideTextEditor;
+            // 
+            // ValvePhartDiagramRelationGridViewCtrl
+            // 
+            AutoScaleDimensions = new SizeF(7F, 14F);
+            AutoScaleMode = AutoScaleMode.Font;
+            Controls.Add(gridControl1);
+            Name = "ValvePhartDiagramRelationGridViewCtrl";
+            Size = new Size(764, 444);
+            ((System.ComponentModel.ISupportInitialize)gridControl1).EndInit();
+            ((System.ComponentModel.ISupportInitialize)phartDiagramRelationGridItemViewModelBindingSource).EndInit();
+            ((System.ComponentModel.ISupportInitialize)gridView1).EndInit();
+            ((System.ComponentModel.ISupportInitialize)repositoryItemButtonEdit1).EndInit();
+            ResumeLayout(false);
+        }
+
+        #endregion
+
+        private DevExpress.XtraGrid.GridControl gridControl1;
+        private DevExpress.XtraGrid.Views.Grid.GridView gridView1;
+        private BindingSource phartDiagramRelationGridItemViewModelBindingSource;
+        private DevExpress.XtraGrid.Columns.GridColumn colName;
+        private DevExpress.XtraGrid.Columns.GridColumn colImportance;
+        private DevExpress.XtraGrid.Columns.GridColumn colDescription;
+        private DevExpress.XtraGrid.Columns.GridColumn colCurve;
+        private DevExpress.XtraEditors.Repository.RepositoryItemButtonEdit repositoryItemButtonEdit1;
+    }
+}
diff --git a/WinFrmUI/HStation.WinFrmUI.PhartRelation.Core/relation/03-grid/01-valve/ValvePhartDiagramRelationGridViewCtrl.cs b/WinFrmUI/HStation.WinFrmUI.PhartRelation.Core/relation/03-grid/01-valve/ValvePhartDiagramRelationGridViewCtrl.cs
new file mode 100644
index 0000000..6fa0a88
--- /dev/null
+++ b/WinFrmUI/HStation.WinFrmUI.PhartRelation.Core/relation/03-grid/01-valve/ValvePhartDiagramRelationGridViewCtrl.cs
@@ -0,0 +1,84 @@
+锘縰sing HStation.Vmo;
+using System.Data;
+using Yw;
+
+namespace HStation.WinFrmUI
+{
+    public partial class ValvePhartDiagramRelationGridViewCtrl : DevExpress.XtraEditors.XtraUserControl
+    {
+        public ValvePhartDiagramRelationGridViewCtrl()
+        {
+            InitializeComponent();
+            this.gridView1.SetNormalView();
+            this.gridView1.RegistCustomDrawCell();
+        }
+
+        private List<PhartDiagramRelationGridItemViewModel> _allBindingList = null;//鎵�鏈夌粦瀹氬垪琛�
+
+        private string _objectType;
+
+        public Action<PhartDiagramRelationExtensionsVmo> SelectDataEvent;
+
+        /// <summary>
+        /// 缁戝畾鏁版嵁
+        /// </summary>
+        public async void SetBindingData(string objectType, long objectId, long? curveId)
+        {
+            _objectType = objectType;
+            var allList = await BLLFactory<HStation.BLL.PhartDiagramRelation>.Instance.GetByObjectTypeAndObjectID(objectType, objectId);
+            SetBindingData(allList, curveId);
+            gridView1_FocusedRowChanged(null, null);
+        }
+
+        /// <summary>
+        /// 缁戝畾鏁版嵁
+        /// </summary>
+        public void SetBindingData(List<PhartDiagramRelationVmo> allList, long? curveId)
+        {
+            _allBindingList = new List<PhartDiagramRelationGridItemViewModel>();
+            allList?.OrderBy(x => x.SortCode).ToList().ForEach(x => _allBindingList.Add(new PhartDiagramRelationGridItemViewModel(x)));
+            this.phartDiagramRelationGridItemViewModelBindingSource.DataSource = _allBindingList;
+            this.phartDiagramRelationGridItemViewModelBindingSource.ResetBindings(false);
+            if (curveId != null)
+            {
+                for (int i = 0; i < _allBindingList.Count; i++)
+                {
+                    if (_allBindingList[i].ID == curveId)
+                    {
+                        gridView1.FocusedRowHandle = i;
+                    }
+                }
+            }
+        }
+
+        //琛岀偣鍑讳簨浠�
+        private void gridView1_RowCellClick(object sender, DevExpress.XtraGrid.Views.Grid.RowCellClickEventArgs e)
+        {
+            if (e.Column == this.colCurve)
+            {
+                var row = this.gridView1.GetRow(e.RowHandle) as PhartDiagramRelationGridItemViewModel;
+                if (row == null)
+                {
+                    return;
+                }
+                var dlg = new ValvePhartDiagramRelationCurveViewDlg();
+                dlg.SetBindingData(row.Vmo);
+                dlg.ShowDialog();
+            }
+        }
+
+        //琛屽彉鍖栦簨浠�
+        private async void gridView1_FocusedRowChanged(object sender, DevExpress.XtraGrid.Views.Base.FocusedRowChangedEventArgs e)
+        {
+            var vm = this.gridView1.GetCurrentViewModel(_allBindingList);
+            if (vm == null)
+                return;
+            var list = await new BLL.PhartDiagramRelation().GetExByObjectTypeAndObjectID(_objectType, vm.Vmo.ObjectID);
+            var targetItem = list.FirstOrDefault(x => x.ID == vm.ID);
+            if (targetItem != null)
+            {
+                SelectDataEvent.Invoke(targetItem);
+            }
+        }
+    }
+}
\ No newline at end of file
diff --git a/WinFrmUI/HStation.WinFrmUI.PhartRelation.Core/relation/03-grid/01-valve/ValvePhartDiagramRelationGridViewCtrl.resx b/WinFrmUI/HStation.WinFrmUI.PhartRelation.Core/relation/03-grid/01-valve/ValvePhartDiagramRelationGridViewCtrl.resx
new file mode 100644
index 0000000..1e0504d
--- /dev/null
+++ b/WinFrmUI/HStation.WinFrmUI.PhartRelation.Core/relation/03-grid/01-valve/ValvePhartDiagramRelationGridViewCtrl.resx
@@ -0,0 +1,152 @@
+锘�<?xml version="1.0" encoding="utf-8"?>
+<root>
+  <!--
+    Microsoft ResX Schema 
+
+    Version 2.0
+
+    The primary goals of this format is to allow a simple XML format
+    that is mostly human readable. The generation and parsing of the
+    various data types are done through the TypeConverter classes
+    associated with the data types.
+
+    Example:
+
+    ... ado.net/XML headers & schema ...
+    <resheader name="resmimetype">text/microsoft-resx</resheader>
+    <resheader name="version">2.0</resheader>
+    <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
+    <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
+    <data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
+    <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
+    <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
+        <value>[base64 mime encoded serialized .NET Framework object]</value>
+    </data>
+    <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
+        <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
+        <comment>This is a comment</comment>
+    </data>
+
+    There are any number of "resheader" rows that contain simple
+    name/value pairs.
+
+    Each data row contains a name, and value. The row also contains a
+    type or mimetype. Type corresponds to a .NET class that support
+    text/value conversion through the TypeConverter architecture.
+    Classes that don't support this are serialized and stored with the
+    mimetype set.
+
+    The mimetype is used for serialized objects, and tells the
+    ResXResourceReader how to depersist the object. This is currently not
+    extensible. For a given mimetype the value must be set accordingly:
+
+    Note - application/x-microsoft.net.object.binary.base64 is the format
+    that the ResXResourceWriter will generate, however the reader can
+    read any of the formats listed below.
+
+    mimetype: application/x-microsoft.net.object.binary.base64
+    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
+            : and then encoded with base64 encoding.
+
+    mimetype: application/x-microsoft.net.object.bytearray.base64
+    value   : The object must be serialized into a byte array
+            : using a System.ComponentModel.TypeConverter
+            : and then encoded with base64 encoding.
+    -->
+  <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
+    <xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
+    <xsd:element name="root" msdata:IsDataSet="true">
+      <xsd:complexType>
+        <xsd:choice maxOccurs="unbounded">
+          <xsd:element name="metadata">
+            <xsd:complexType>
+              <xsd:sequence>
+                <xsd:element name="value" type="xsd:string" minOccurs="0" />
+              </xsd:sequence>
+              <xsd:attribute name="name" use="required" type="xsd:string" />
+              <xsd:attribute name="type" type="xsd:string" />
+              <xsd:attribute name="mimetype" type="xsd:string" />
+              <xsd:attribute ref="xml:space" />
+            </xsd:complexType>
+          </xsd:element>
+          <xsd:element name="assembly">
+            <xsd:complexType>
+              <xsd:attribute name="alias" type="xsd:string" />
+              <xsd:attribute name="name" type="xsd:string" />
+            </xsd:complexType>
+          </xsd:element>
+          <xsd:element name="data">
+            <xsd:complexType>
+              <xsd:sequence>
+                <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+                <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
+              </xsd:sequence>
+              <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
+              <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
+              <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
+              <xsd:attribute ref="xml:space" />
+            </xsd:complexType>
+          </xsd:element>
+          <xsd:element name="resheader">
+            <xsd:complexType>
+              <xsd:sequence>
+                <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+              </xsd:sequence>
+              <xsd:attribute name="name" type="xsd:string" use="required" />
+            </xsd:complexType>
+          </xsd:element>
+        </xsd:choice>
+      </xsd:complexType>
+    </xsd:element>
+  </xsd:schema>
+  <resheader name="resmimetype">
+    <value>text/microsoft-resx</value>
+  </resheader>
+  <resheader name="version">
+    <value>2.0</value>
+  </resheader>
+  <resheader name="reader">
+    <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </resheader>
+  <resheader name="writer">
+    <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </resheader>
+  <metadata name="phartDiagramRelationGridItemViewModelBindingSource.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
+    <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">
+    <value>
+        AAEAAAD/////AQAAAAAAAAAMAgAAAFlEZXZFeHByZXNzLkRhdGEudjIzLjIsIFZlcnNpb249MjMuMi40
+        LjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjg4ZDE3NTRkNzAwZTQ5YQUBAAAAHURl
+        dkV4cHJlc3MuVXRpbHMuU3ZnLlN2Z0ltYWdlAQAAAAREYXRhBwICAAAACQMAAAAPAwAAAMAEAAAC77u/
+        PD94bWwgdmVyc2lvbj0nMS4wJyBlbmNvZGluZz0nVVRGLTgnPz4NCjxzdmcgeD0iMHB4IiB5PSIwcHgi
+        IHZpZXdCb3g9IjAgMCAzMiAzMiIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcv
+        MjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB4bWw6c3Bh
+        Y2U9InByZXNlcnZlIiBpZD0iTGF5ZXJfMSIgc3R5bGU9ImVuYWJsZS1iYWNrZ3JvdW5kOm5ldyAwIDAg
+        MzIgMzIiPg0KICA8c3R5bGUgdHlwZT0idGV4dC9jc3MiPgoJLlJlZHtmaWxsOiNEMTFDMUM7fQoJLlll
+        bGxvd3tmaWxsOiNGRkIxMTU7fQoJLkJsdWV7ZmlsbDojMTE3N0Q3O30KCS5HcmVlbntmaWxsOiMwMzlD
+        MjM7fQoJLkJsYWNre2ZpbGw6IzcyNzI3Mjt9CgkuV2hpdGV7ZmlsbDojRkZGRkZGO30KCS5zdDB7b3Bh
+        Y2l0eTowLjU7fQoJLnN0MXtvcGFjaXR5OjAuNzU7fQoJLnN0MntvcGFjaXR5OjAuMzU7fQoJLnN0M3tv
+        cGFjaXR5OjAuNjU7fQo8L3N0eWxlPg0KICA8ZyBpZD0iU3BsaW5lIj4NCiAgICA8cGF0aCBkPSJNMjks
+        MTZjLTEuNywwLTMsMS4zLTMsM2MwLDAuNywwLjMsMS40LDAuNywxLjljLTEuMiwzLjItMyw1LjEtNC43
+        LDUuMWMtMi41LDAtNS4yLTQuMS01LjgtMTAuMiAgIGMxLjEtMC41LDEuOC0xLjUsMS44LTIuOGMwLTEu
+        NC0xLTIuNy0yLjQtMi45QzE0LjcsNi41LDEyLjEsNCw5LDRzLTUuNywyLjUtNi42LDYuMUMxLDEwLjMs
+        MCwxMS42LDAsMTNjMCwxLjcsMS4zLDMsMywzczMtMS4zLDMtMyAgIGMwLTEuMi0wLjctMi4xLTEuNi0y
+        LjZDNS4yLDcuOCw3LDYsOSw2czMuOCwxLjgsNC42LDQuNGMtMSwwLjUtMS42LDEuNS0xLjYsMi42YzAs
+        MS40LDAuOSwyLjUsMi4yLDIuOUMxNC45LDIyLjgsMTguMSwyOCwyMiwyOCAgIGMyLjYsMCw1LTIuNCw2
+        LjQtNi4xYzAuMiwwLDAuNCwwLjEsMC42LDAuMWMxLjcsMCwzLTEuMywzLTNTMzAuNywxNiwyOSwxNnog
+        TTMsMTRjLTAuNiwwLTEtMC40LTEtMWMwLTAuNiwwLjQtMSwxLTFzMSwwLjQsMSwxICAgQzQsMTMuNiwz
+        LjYsMTQsMywxNHogTTE1LDEyYzAuNiwwLDEsMC40LDEsMWMwLDAuNi0wLjQsMS0xLDFzLTEtMC40LTEt
+        MUMxNCwxMi40LDE0LjQsMTIsMTUsMTJ6IE0yOSwyMGMtMC42LDAtMS0wLjQtMS0xICAgYzAtMC42LDAu
+        NC0xLDEtMXMxLDAuNCwxLDFDMzAsMTkuNiwyOS42LDIwLDI5LDIweiIgY2xhc3M9IkJsdWUiIC8+DQog
+        IDwvZz4NCjwvc3ZnPgs=
+</value>
+  </data>
+</root>
\ No newline at end of file
diff --git a/WinFrmUI/HStation.WinFrmUI.PhartRelation.Core/relation/03-grid/PhartDiagramRelationGridViewCtrl.cs b/WinFrmUI/HStation.WinFrmUI.PhartRelation.Core/relation/03-grid/PhartDiagramRelationGridViewCtrl.cs
index f86d236..9e9e980 100644
--- a/WinFrmUI/HStation.WinFrmUI.PhartRelation.Core/relation/03-grid/PhartDiagramRelationGridViewCtrl.cs
+++ b/WinFrmUI/HStation.WinFrmUI.PhartRelation.Core/relation/03-grid/PhartDiagramRelationGridViewCtrl.cs
@@ -10,7 +10,7 @@
         {
             InitializeComponent();
             this.gridView1.SetNormalView();
-            this.gridView1.RegistCustomDrawCell(Color.BurlyWood, Color.White);
+            this.gridView1.RegistCustomDrawCell();
         }
 
         private List<PhartDiagramRelationGridItemViewModel> _allBindingList = null;//鎵�鏈夌粦瀹氬垪琛�
diff --git a/WinFrmUI/HStation.WinFrmUI.PhartRelation.Core/relation/04-view/ValvePhartDiagramRelationCurveViewDlg.Designer.cs b/WinFrmUI/HStation.WinFrmUI.PhartRelation.Core/relation/04-view/ValvePhartDiagramRelationCurveViewDlg.Designer.cs
new file mode 100644
index 0000000..d257290
--- /dev/null
+++ b/WinFrmUI/HStation.WinFrmUI.PhartRelation.Core/relation/04-view/ValvePhartDiagramRelationCurveViewDlg.Designer.cs
@@ -0,0 +1,59 @@
+锘縩amespace HStation.WinFrmUI
+{
+    partial class ValvePhartDiagramRelationCurveViewDlg
+    {
+        /// <summary>
+        /// Required designer variable.
+        /// </summary>
+        private System.ComponentModel.IContainer components = null;
+
+        /// <summary>
+        /// Clean up any resources being used.
+        /// </summary>
+        /// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
+        protected override void Dispose(bool disposing)
+        {
+            if (disposing && (components != null))
+            {
+                components.Dispose();
+            }
+            base.Dispose(disposing);
+        }
+
+        #region Windows Form Designer generated code
+
+        /// <summary>
+        /// Required method for Designer support - do not modify
+        /// the contents of this method with the code editor.
+        /// </summary>
+        private void InitializeComponent()
+        {
+            valveChartViewCtrl1 = new ValveChartViewCtrl();
+            SuspendLayout();
+            // 
+            // valveChartViewCtrl1
+            // 
+            valveChartViewCtrl1.Dock = DockStyle.Fill;
+            valveChartViewCtrl1.Location = new Point(0, 0);
+            valveChartViewCtrl1.Margin = new Padding(2, 2, 2, 2);
+            valveChartViewCtrl1.Name = "valveChartViewCtrl1";
+            valveChartViewCtrl1.Size = new Size(962, 561);
+            valveChartViewCtrl1.TabIndex = 0;
+            // 
+            // ValvePhartDiagramRelationCurveViewDlg
+            // 
+            AutoScaleDimensions = new SizeF(7F, 14F);
+            AutoScaleMode = AutoScaleMode.Font;
+            ClientSize = new Size(962, 561);
+            Controls.Add(valveChartViewCtrl1);
+            Name = "ValvePhartDiagramRelationCurveViewDlg";
+            StartPosition = FormStartPosition.CenterParent;
+            Text = "鏇茬嚎";
+            ResumeLayout(false);
+        }
+
+        #endregion
+
+        private ValveChartViewCtrl valveChartViewCtrl1;
+    }
+}
\ No newline at end of file
diff --git a/WinFrmUI/HStation.WinFrmUI.PhartRelation.Core/relation/04-view/ValvePhartDiagramRelationCurveViewDlg.cs b/WinFrmUI/HStation.WinFrmUI.PhartRelation.Core/relation/04-view/ValvePhartDiagramRelationCurveViewDlg.cs
new file mode 100644
index 0000000..a6f2071
--- /dev/null
+++ b/WinFrmUI/HStation.WinFrmUI.PhartRelation.Core/relation/04-view/ValvePhartDiagramRelationCurveViewDlg.cs
@@ -0,0 +1,31 @@
+锘縰sing HStation.Vmo;
+using Yw;
+
+namespace HStation.WinFrmUI
+{
+    public partial class ValvePhartDiagramRelationCurveViewDlg : DevExpress.XtraEditors.XtraForm
+    {
+        public ValvePhartDiagramRelationCurveViewDlg()
+        {
+            InitializeComponent();
+            this.IconOptions.Icon = Yw.WinFrmUI.GlobalParas.AppIcon;
+        }
+
+        /// <summary>
+        /// 缁戝畾鏁版嵁
+        /// </summary>
+        public async void SetBindingData(PhartDiagramRelationVmo relation)
+        {
+            var vmo = await BLLFactory<Yw.BLL.PhartDiagramExtensions>.Instance.GetByID(relation.DiagramID);
+            SetBindingData(vmo);
+        }
+
+        /// <summary>
+        /// 缁戝畾鏁版嵁
+        /// </summary>
+        public void SetBindingData(Yw.Vmo.PhartDiagramExGraphListVmo vmo)
+        {
+            this.valveChartViewCtrl1.SetBindingData(vmo);
+        }
+    }
+}
\ No newline at end of file
diff --git a/WinFrmUI/HStation.WinFrmUI.PhartRelation.Core/relation/04-view/ValvePhartDiagramRelationCurveViewDlg.resx b/WinFrmUI/HStation.WinFrmUI.PhartRelation.Core/relation/04-view/ValvePhartDiagramRelationCurveViewDlg.resx
new file mode 100644
index 0000000..8b2ff64
--- /dev/null
+++ b/WinFrmUI/HStation.WinFrmUI.PhartRelation.Core/relation/04-view/ValvePhartDiagramRelationCurveViewDlg.resx
@@ -0,0 +1,120 @@
+锘�<?xml version="1.0" encoding="utf-8"?>
+<root>
+  <!--
+    Microsoft ResX Schema
+
+    Version 2.0
+
+    The primary goals of this format is to allow a simple XML format
+    that is mostly human readable. The generation and parsing of the
+    various data types are done through the TypeConverter classes
+    associated with the data types.
+
+    Example:
+
+    ... ado.net/XML headers & schema ...
+    <resheader name="resmimetype">text/microsoft-resx</resheader>
+    <resheader name="version">2.0</resheader>
+    <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
+    <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
+    <data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
+    <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
+    <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
+        <value>[base64 mime encoded serialized .NET Framework object]</value>
+    </data>
+    <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
+        <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
+        <comment>This is a comment</comment>
+    </data>
+
+    There are any number of "resheader" rows that contain simple
+    name/value pairs.
+
+    Each data row contains a name, and value. The row also contains a
+    type or mimetype. Type corresponds to a .NET class that support
+    text/value conversion through the TypeConverter architecture.
+    Classes that don't support this are serialized and stored with the
+    mimetype set.
+
+    The mimetype is used for serialized objects, and tells the
+    ResXResourceReader how to depersist the object. This is currently not
+    extensible. For a given mimetype the value must be set accordingly:
+
+    Note - application/x-microsoft.net.object.binary.base64 is the format
+    that the ResXResourceWriter will generate, however the reader can
+    read any of the formats listed below.
+
+    mimetype: application/x-microsoft.net.object.binary.base64
+    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
+            : and then encoded with base64 encoding.
+
+    mimetype: application/x-microsoft.net.object.bytearray.base64
+    value   : The object must be serialized into a byte array
+            : using a System.ComponentModel.TypeConverter
+            : and then encoded with base64 encoding.
+    -->
+  <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
+    <xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
+    <xsd:element name="root" msdata:IsDataSet="true">
+      <xsd:complexType>
+        <xsd:choice maxOccurs="unbounded">
+          <xsd:element name="metadata">
+            <xsd:complexType>
+              <xsd:sequence>
+                <xsd:element name="value" type="xsd:string" minOccurs="0" />
+              </xsd:sequence>
+              <xsd:attribute name="name" use="required" type="xsd:string" />
+              <xsd:attribute name="type" type="xsd:string" />
+              <xsd:attribute name="mimetype" type="xsd:string" />
+              <xsd:attribute ref="xml:space" />
+            </xsd:complexType>
+          </xsd:element>
+          <xsd:element name="assembly">
+            <xsd:complexType>
+              <xsd:attribute name="alias" type="xsd:string" />
+              <xsd:attribute name="name" type="xsd:string" />
+            </xsd:complexType>
+          </xsd:element>
+          <xsd:element name="data">
+            <xsd:complexType>
+              <xsd:sequence>
+                <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+                <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
+              </xsd:sequence>
+              <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
+              <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
+              <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
+              <xsd:attribute ref="xml:space" />
+            </xsd:complexType>
+          </xsd:element>
+          <xsd:element name="resheader">
+            <xsd:complexType>
+              <xsd:sequence>
+                <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+              </xsd:sequence>
+              <xsd:attribute name="name" type="xsd:string" use="required" />
+            </xsd:complexType>
+          </xsd:element>
+        </xsd:choice>
+      </xsd:complexType>
+    </xsd:element>
+  </xsd:schema>
+  <resheader name="resmimetype">
+    <value>text/microsoft-resx</value>
+  </resheader>
+  <resheader name="version">
+    <value>2.0</value>
+  </resheader>
+  <resheader name="reader">
+    <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </resheader>
+  <resheader name="writer">
+    <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </resheader>
+</root>
\ No newline at end of file
diff --git a/WinFrmUI/HStation.WinFrmUI.Xhs.Core/03-simulation/07-matching/03-valve/AssetsValveSingleMatchingCtrl.Designer.cs b/WinFrmUI/HStation.WinFrmUI.Xhs.Core/03-simulation/07-matching/03-valve/AssetsValveSingleMatchingCtrl.Designer.cs
index 31e2118..0aa8ee4 100644
--- a/WinFrmUI/HStation.WinFrmUI.Xhs.Core/03-simulation/07-matching/03-valve/AssetsValveSingleMatchingCtrl.Designer.cs
+++ b/WinFrmUI/HStation.WinFrmUI.Xhs.Core/03-simulation/07-matching/03-valve/AssetsValveSingleMatchingCtrl.Designer.cs
@@ -30,7 +30,6 @@
         {
             components = new Container();
             layoutControl1 = new DevExpress.XtraLayout.LayoutControl();
-            phartDiagramRelationGridViewCtrl1 = new PhartDiagramRelationGridViewCtrl();
             generalSearchCtrl1 = new GeneralSearchCtrl();
             txtDiameterMax = new TextEdit();
             txtDiameterMin = new TextEdit();
@@ -57,6 +56,7 @@
             layoutControlItem5 = new DevExpress.XtraLayout.LayoutControlItem();
             simpleLabelItem1 = new DevExpress.XtraLayout.SimpleLabelItem();
             layoutControlGroup2 = new DevExpress.XtraLayout.LayoutControlGroup();
+            valvePhartDiagramRelationGridViewCtrl1 = new ValvePhartDiagramRelationGridViewCtrl();
             layoutControlItem7 = new DevExpress.XtraLayout.LayoutControlItem();
             ((ISupportInitialize)layoutControl1).BeginInit();
             layoutControl1.SuspendLayout();
@@ -82,7 +82,7 @@
             // 
             // layoutControl1
             // 
-            layoutControl1.Controls.Add(phartDiagramRelationGridViewCtrl1);
+            layoutControl1.Controls.Add(valvePhartDiagramRelationGridViewCtrl1);
             layoutControl1.Controls.Add(generalSearchCtrl1);
             layoutControl1.Controls.Add(txtDiameterMax);
             layoutControl1.Controls.Add(txtDiameterMin);
@@ -97,13 +97,6 @@
             layoutControl1.Size = new Size(1028, 569);
             layoutControl1.TabIndex = 0;
             layoutControl1.Text = "layoutControl1";
-            // 
-            // phartDiagramRelationGridViewCtrl1
-            // 
-            phartDiagramRelationGridViewCtrl1.Location = new Point(0, 389);
-            phartDiagramRelationGridViewCtrl1.Name = "phartDiagramRelationGridViewCtrl1";
-            phartDiagramRelationGridViewCtrl1.Size = new Size(1028, 180);
-            phartDiagramRelationGridViewCtrl1.TabIndex = 10;
             // 
             // generalSearchCtrl1
             // 
@@ -372,16 +365,19 @@
             layoutControlGroup2.Spacing = new DevExpress.XtraLayout.Utils.Padding(0, 0, 0, 0);
             layoutControlGroup2.Text = "鏇茬嚎鍒楄〃";
             // 
+            // valvePhartDiagramRelationGridViewCtrl1
+            // 
+            valvePhartDiagramRelationGridViewCtrl1.Location = new Point(2, 391);
+            valvePhartDiagramRelationGridViewCtrl1.Name = "valvePhartDiagramRelationGridViewCtrl1";
+            valvePhartDiagramRelationGridViewCtrl1.Size = new Size(1024, 176);
+            valvePhartDiagramRelationGridViewCtrl1.TabIndex = 10;
+            // 
             // layoutControlItem7
             // 
-            layoutControlItem7.Control = phartDiagramRelationGridViewCtrl1;
+            layoutControlItem7.Control = valvePhartDiagramRelationGridViewCtrl1;
             layoutControlItem7.Location = new Point(0, 0);
-            layoutControlItem7.MaxSize = new Size(0, 180);
-            layoutControlItem7.MinSize = new Size(5, 180);
             layoutControlItem7.Name = "layoutControlItem7";
-            layoutControlItem7.Padding = new DevExpress.XtraLayout.Utils.Padding(0, 0, 0, 0);
             layoutControlItem7.Size = new Size(1028, 180);
-            layoutControlItem7.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom;
             layoutControlItem7.TextSize = new Size(0, 0);
             layoutControlItem7.TextVisible = false;
             // 
@@ -442,9 +438,9 @@
         private DevExpress.XtraGrid.Columns.GridColumn colDescription;
         private DevExpress.XtraGrid.Columns.GridColumn colDiameter;
         private DevExpress.XtraGrid.Columns.GridColumn colMinorLoss;
-        private PhartDiagramRelationGridViewCtrl phartDiagramRelationGridViewCtrl1;
         private DevExpress.XtraLayout.LayoutControlGroup layoutControlGroup2;
-        private DevExpress.XtraLayout.LayoutControlItem layoutControlItem7;
         private BindingSource assetsValveSingleMatchingViewModelBindingSource;
+        private ValvePhartDiagramRelationGridViewCtrl valvePhartDiagramRelationGridViewCtrl1;
+        private DevExpress.XtraLayout.LayoutControlItem layoutControlItem7;
     }
 }
diff --git a/WinFrmUI/HStation.WinFrmUI.Xhs.Core/03-simulation/07-matching/03-valve/AssetsValveSingleMatchingCtrl.cs b/WinFrmUI/HStation.WinFrmUI.Xhs.Core/03-simulation/07-matching/03-valve/AssetsValveSingleMatchingCtrl.cs
index 4ad704c..fd705de 100644
--- a/WinFrmUI/HStation.WinFrmUI.Xhs.Core/03-simulation/07-matching/03-valve/AssetsValveSingleMatchingCtrl.cs
+++ b/WinFrmUI/HStation.WinFrmUI.Xhs.Core/03-simulation/07-matching/03-valve/AssetsValveSingleMatchingCtrl.cs
@@ -12,7 +12,7 @@
             this.gridView1.RegistCustomDrawCell();
             this.generalSearchCtrl1.SearchEvent += Search;
             this.generalSearchCtrl1.ClearEvent += Clear;
-            this.phartDiagramRelationGridViewCtrl1.SelectDataEvent += SelectData;
+            this.valvePhartDiagramRelationGridViewCtrl1.SelectDataEvent += SelectData;
         }
 
         public List<AssetsValveSingleMatchingViewModel> _allList = null;//鎵�鏈夊垪琛�
@@ -33,7 +33,7 @@
             public AssetsValveMainVmo Vmo { get; set; }
             public string MatchingCurveDbId { get; set; }
 
-            public List<HydroCurvePointViewModel> MatchingCurveQL { get; set; }
+            public List<HydroFactorCurveViewModel> MatchingCurvesQL { get; set; }
             public List<HydroCurvePointViewModel> MatchingCurveOL { get; set; }
         }
 
@@ -137,33 +137,41 @@
             }
             _row = row;
             _viewModel.Vmo = row.Vmo;
-            this.phartDiagramRelationGridViewCtrl1.SetBindingData(HStation.Assets.DataType.ValveMain, row.Vmo.ID, _curveDbId);
+            this.valvePhartDiagramRelationGridViewCtrl1.SetBindingData(HStation.Assets.DataType.ValveMain, row.Vmo.ID, _curveDbId);
         }
 
         //鏇茬嚎鏁版嵁鍏宠仈鍙樺寲
         private void SelectData(PhartDiagramRelationExtensionsVmo def)
         {
-            /*if (def != null)
+            if (def != null)
             {
                 _viewModel.MatchingCurveDbId = def.ID.ToString();
-                var curve = def.Diagram.GraphList[0].GetFeatPointList();
-                if (_row.ValveType == HStation.Assets.eValveType.GPV)
+                _viewModel.MatchingCurveOL = new List<HydroCurvePointViewModel>();
+                _viewModel.MatchingCurvesQL = new List<HydroFactorCurveViewModel>();
+                for (int i = 0; i < def.Diagram.GraphList.Count; i++)
                 {
-                    _viewModel.MatchingCurveQL = new List<HydroCurvePointViewModel>();
-                    foreach (var item in curve)
+                    var curve = def.Diagram.GraphList[i].GetFeatPointList();
+                    if (def.Diagram.GraphList[i].GraphType == 11)
                     {
-                        _viewModel.MatchingCurveQL.Add(new HydroCurvePointViewModel(item.X, item.Y));
+                        var opening = Yw.WinFrmUI.PhartGraphHelper.GetGraphParas<Yw.WinFrmUI.Phart.QLGraphParasViewModel>((Yw.Ahart.eCurveType)def.Diagram.GraphList[i].GraphType, def.Diagram.GraphList[i].GraphParas);
+                        var model = new HydroFactorCurveViewModel();
+                        model.CurveFactor = opening.Opening;
+                        model.CurveData = new List<HydroCurvePointViewModel>();
+                        foreach (var item in curve)
+                        {
+                            model.CurveData.Add(new HydroCurvePointViewModel(item.X, item.Y));
+                        }
+                        _viewModel.MatchingCurvesQL.Add(model);
+                    }
+                    else if (def.Diagram.GraphList[i].GraphType == 12)
+                    {
+                        foreach (var item in curve)
+                        {
+                            _viewModel.MatchingCurveOL.Add(new HydroCurvePointViewModel(item.X, item.Y));
+                        }
                     }
                 }
-                else if (_row.ValveType == HStation.Assets.eValveType.TCV)
-                {
-                    _viewModel.MatchingCurveOL = new List<HydroCurvePointViewModel>();
-                    foreach (var item in curve)
-                    {
-                        _viewModel.MatchingCurveOL.Add(new HydroCurvePointViewModel(item.X, item.Y));
-                    }
-                }
-            }*/
+            }
         }
     }
 }
\ No newline at end of file
diff --git a/WinFrmUI/HStation.WinFrmUI.Xhs.Core/03-simulation/07-matching/03-valve/AssetsValveSingleMatchingDlg.cs b/WinFrmUI/HStation.WinFrmUI.Xhs.Core/03-simulation/07-matching/03-valve/AssetsValveSingleMatchingDlg.cs
index 8a4bdff..14f3fb5 100644
--- a/WinFrmUI/HStation.WinFrmUI.Xhs.Core/03-simulation/07-matching/03-valve/AssetsValveSingleMatchingDlg.cs
+++ b/WinFrmUI/HStation.WinFrmUI.Xhs.Core/03-simulation/07-matching/03-valve/AssetsValveSingleMatchingDlg.cs
@@ -1,4 +1,6 @@
-锘縩amespace HStation.WinFrmUI
+锘縰sing Yw.Dto;
+
+namespace HStation.WinFrmUI
 {
     public partial class AssetsValveSingleMatchingDlg : DevExpress.XtraEditors.XtraForm
     {
@@ -43,6 +45,7 @@
             _input.MatchingDiameter = vm.Vmo.Caliber;
             _input.MatchingMinorLoss = vm.Vmo.MinorLoss;
             _input.MatchingCurveOL = vm.MatchingCurveOL;
+            _input.MatchingCurvesQL = vm.MatchingCurvesQL;
             _input.MatchingCurveDbId = vm.MatchingCurveDbId;
             this.ReloadDataEvent?.Invoke(_input);
             this.DialogResult = DialogResult.OK;

--
Gitblit v1.9.3