duheng
2025-01-22 d6111ca1fa9f70afc50c8213f81c9d78c14a6527
阀门单独匹配修改
已修改5个文件
已添加6个文件
677 ■■■■■ 文件已修改
WinFrmUI/HStation.WinFrmUI.PhartRelation.Core/HStation.WinFrmUI.PhartRelation.Core.csproj 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WinFrmUI/HStation.WinFrmUI.PhartRelation.Core/relation/03-grid/01-valve/ValvePhartDiagramRelationGridViewCtrl.Designer.cs 146 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WinFrmUI/HStation.WinFrmUI.PhartRelation.Core/relation/03-grid/01-valve/ValvePhartDiagramRelationGridViewCtrl.cs 84 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WinFrmUI/HStation.WinFrmUI.PhartRelation.Core/relation/03-grid/01-valve/ValvePhartDiagramRelationGridViewCtrl.resx 152 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WinFrmUI/HStation.WinFrmUI.PhartRelation.Core/relation/03-grid/PhartDiagramRelationGridViewCtrl.cs 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
WinFrmUI/HStation.WinFrmUI.PhartRelation.Core/relation/04-view/ValvePhartDiagramRelationCurveViewDlg.Designer.cs 59 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WinFrmUI/HStation.WinFrmUI.PhartRelation.Core/relation/04-view/ValvePhartDiagramRelationCurveViewDlg.cs 31 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WinFrmUI/HStation.WinFrmUI.PhartRelation.Core/relation/04-view/ValvePhartDiagramRelationCurveViewDlg.resx 120 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WinFrmUI/HStation.WinFrmUI.Xhs.Core/03-simulation/07-matching/03-valve/AssetsValveSingleMatchingCtrl.Designer.cs 28 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WinFrmUI/HStation.WinFrmUI.Xhs.Core/03-simulation/07-matching/03-valve/AssetsValveSingleMatchingCtrl.cs 44 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WinFrmUI/HStation.WinFrmUI.Xhs.Core/03-simulation/07-matching/03-valve/AssetsValveSingleMatchingDlg.cs 5 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
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>
WinFrmUI/HStation.WinFrmUI.PhartRelation.Core/relation/03-grid/01-valve/ValvePhartDiagramRelationGridViewCtrl.Designer.cs
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,146 @@
namespace 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;
    }
}
WinFrmUI/HStation.WinFrmUI.PhartRelation.Core/relation/03-grid/01-valve/ValvePhartDiagramRelationGridViewCtrl.cs
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,84 @@
using 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);
            }
        }
    }
}
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>
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;//所有绑定列表
WinFrmUI/HStation.WinFrmUI.PhartRelation.Core/relation/04-view/ValvePhartDiagramRelationCurveViewDlg.Designer.cs
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,59 @@
namespace 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;
    }
}
WinFrmUI/HStation.WinFrmUI.PhartRelation.Core/relation/04-view/ValvePhartDiagramRelationCurveViewDlg.cs
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,31 @@
using 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);
        }
    }
}
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>
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;
    }
}
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));
                    }
                }
            }*/
            }
        }
    }
}
WinFrmUI/HStation.WinFrmUI.Xhs.Core/03-simulation/07-matching/03-valve/AssetsValveSingleMatchingDlg.cs
@@ -1,4 +1,6 @@
namespace HStation.WinFrmUI
using 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;