From 69f942b58a5924e34e6c2bfdadefdcb8e6313edb Mon Sep 17 00:00:00 2001
From: duheng <2784771470@qq.com>
Date: 星期二, 15 十月 2024 14:34:45 +0800
Subject: [PATCH] 增加对泵属性的增加修改快捷方式

---
 WinFrmUI/HStation.WinFrmUI.Xhs.Core/04-pump/01-Prop/AddPumpPropDlg.Designer.cs         |  264 ++++++++++++++++++++++
 WinFrmUI/HStation.WinFrmUI.Basic/02-SysPropManage/SysPropGroupTreeListCtrl.cs          |    2 
 WinFrmUI/HStation.WinFrmUI.Xhs.Core/04-pump/01-Prop/PumpBarItem.resx                   |    0 
 WinFrmUI/HStation.WinFrmUI.Basic/02-SysPropManage/SysPropGroupTreeListCtrl.designer.cs |    2 
 WinFrmUI/HStation.WinFrmUI.Xhs.Core/HStation.WinFrmUI.Xhs.Core.csproj.user             |    7 
 WinFrmUI/HStation.WinFrmUI.Xhs.Core/04-pump/01-Prop/AddPumpPropDlg.cs                  |   52 ++++
 WinFrmUI/HStation.WinFrmUI.Basic/02-SysPropManage/SysTypeTreeListLookUpEdit.cs         |   12 
 WinFrmUI/HStation.WinFrmUI.Xhs.Core/04-pump/01-Prop/PropGroupChoiceViewModel.cs        |    0 
 WinFrmUI/HStation.WinFrmUI.Xhs.Core/04-pump/01-Prop/PumpBarItem.Designer.cs            |   96 ++++---
 WinFrmUI/HStation.WinFrmUI.Xhs.Core/04-pump/01-Prop/PumpBarItem.cs                     |   16 +
 WinFrmUI/HStation.WinFrmUI.Xhs.Core/04-pump/01-Prop/PumpPropViewCtrl.cs                |   14 +
 WinFrmUI/HStation.WinFrmUI.Xhs.Core/04-pump/PumpFullInfoCtrl.designer.cs               |   34 ++
 /dev/null                                                                              |   10 
 WinFrmUI/HStation.WinFrmUI.Xhs.Core/04-pump/01-Prop/PumpPropViewCtrl.resx              |    0 
 WinFrmUI/HStation.WinFrmUI.Xhs.Core/04-pump/01-Prop/AddPumpPropDlg.resx                |  174 ++++++++++++++
 WinFrmUI/HStation.WinFrmUI.Basic/02-SysPropManage/SysPropManageMainPanel.Designer.cs   |    2 
 WinFrmUI/HStation.WinFrmUI.Xhs.Core/04-pump/01-Prop/PumpPropViewCtrl.Designer.cs       |    0 
 WinFrmUI/HStation.WinFrmUI.Xhs.Core/04-pump/PumpFullInfoCtrl.cs                        |    2 
 18 files changed, 624 insertions(+), 63 deletions(-)

diff --git a/WinFrmUI/HStation.WinFrmUI.Basic/02-SysPropManage/SysPropGroupTreeListCtrl.cs b/WinFrmUI/HStation.WinFrmUI.Basic/02-SysPropManage/SysPropGroupTreeListCtrl.cs
index ba977bd..d5ee632 100644
--- a/WinFrmUI/HStation.WinFrmUI.Basic/02-SysPropManage/SysPropGroupTreeListCtrl.cs
+++ b/WinFrmUI/HStation.WinFrmUI.Basic/02-SysPropManage/SysPropGroupTreeListCtrl.cs
@@ -48,7 +48,7 @@
         /// <summary>
         /// 缁戝畾鏁版嵁
         /// </summary>
-        public async void SetBindingData()
+        public void SetBindingData()
         {
             this.typeTreeListLookUpEdit1.SetBindingData();
         }
diff --git a/WinFrmUI/HStation.WinFrmUI.Basic/02-SysPropManage/SysPropGroupTreeListCtrl.designer.cs b/WinFrmUI/HStation.WinFrmUI.Basic/02-SysPropManage/SysPropGroupTreeListCtrl.designer.cs
index 56f440d..2ff44c3 100644
--- a/WinFrmUI/HStation.WinFrmUI.Basic/02-SysPropManage/SysPropGroupTreeListCtrl.designer.cs
+++ b/WinFrmUI/HStation.WinFrmUI.Basic/02-SysPropManage/SysPropGroupTreeListCtrl.designer.cs
@@ -615,7 +615,7 @@
         private DevExpress.XtraTreeList.Columns.TreeListColumn colPadding;
         private DevExpress.XtraTreeList.Columns.TreeListColumn colImeMode;
         private DevExpress.XtraTreeList.Columns.TreeListColumn colName;
-        private SysTypeTreeListLookUpEdit typeTreeListLookUpEdit1;
+        public SysTypeTreeListLookUpEdit typeTreeListLookUpEdit1;
         private DevExpress.XtraLayout.LayoutControlItem layoutControlItem2;
         private BindingSource propGroupTreeListViewModelBindingSource;
         private DevExpress.XtraBars.StandaloneBarDockControl standaloneBarDockControl1;
diff --git a/WinFrmUI/HStation.WinFrmUI.Basic/02-SysPropManage/SysPropManageMainPanel.Designer.cs b/WinFrmUI/HStation.WinFrmUI.Basic/02-SysPropManage/SysPropManageMainPanel.Designer.cs
index f08490f..4caacc7 100644
--- a/WinFrmUI/HStation.WinFrmUI.Basic/02-SysPropManage/SysPropManageMainPanel.Designer.cs
+++ b/WinFrmUI/HStation.WinFrmUI.Basic/02-SysPropManage/SysPropManageMainPanel.Designer.cs
@@ -352,7 +352,7 @@
         private DevExpress.XtraGrid.Columns.GridColumn colFormat;
         private DevExpress.XtraGrid.Columns.GridColumn colIsNull;
         private DevExpress.XtraGrid.Columns.GridColumn colUnitName;
-        private SysPropGroupTreeListCtrl propGroupTreeListCtrl1;
+        public SysPropGroupTreeListCtrl propGroupTreeListCtrl1;
         private DevExpress.XtraGrid.Columns.GridColumn ColPropEdit;
         private DevExpress.XtraEditors.Repository.RepositoryItemButtonEdit repositoryItemButtonEdit1;
         private DevExpress.Utils.SvgImageCollection svgImage32;
diff --git a/WinFrmUI/HStation.WinFrmUI.Basic/02-SysPropManage/SysTypeTreeListLookUpEdit.cs b/WinFrmUI/HStation.WinFrmUI.Basic/02-SysPropManage/SysTypeTreeListLookUpEdit.cs
index f48fa57..5dc6bfd 100644
--- a/WinFrmUI/HStation.WinFrmUI.Basic/02-SysPropManage/SysTypeTreeListLookUpEdit.cs
+++ b/WinFrmUI/HStation.WinFrmUI.Basic/02-SysPropManage/SysTypeTreeListLookUpEdit.cs
@@ -72,13 +72,13 @@
         /// <summary>
         /// 缁戝畾鏁版嵁
         /// </summary>
-        public async void SetBindingData()
+        public async void SetBindingData(long catalogid = 0)
         {
             _bll = new Yw.BLL.SysTypeStd();
-            _allBindingList = new BindingList<CurrentViewModel>();
             var alllist = await _bll.GetExtendLogicalTreeList();
             if (alllist == null)
                 return;
+            _allBindingList = new BindingList<CurrentViewModel>();
             foreach (var item in alllist)
             {
                 _allBindingList.Add(new CurrentViewModel(item));
@@ -99,6 +99,14 @@
                 this.treeListLookUpEdit1.EditValue = vm.ID;
                 SelectedChanged(vm);
             }
+            if (catalogid != 0)
+            {
+                treeListLookUpEdit1.EditValue = catalogid;
+                if (SelectedChangedEvent != null)
+                {
+                    SelectedChangedEvent.Invoke(catalogid);
+                }
+            }
         }
 
         //閫夋嫨瀵硅薄鍙樻崲
diff --git a/WinFrmUI/HStation.WinFrmUI.Xhs.Core/04-pump/01-Prop/AddPumpPropDlg.Designer.cs b/WinFrmUI/HStation.WinFrmUI.Xhs.Core/04-pump/01-Prop/AddPumpPropDlg.Designer.cs
new file mode 100644
index 0000000..45d26f4
--- /dev/null
+++ b/WinFrmUI/HStation.WinFrmUI.Xhs.Core/04-pump/01-Prop/AddPumpPropDlg.Designer.cs
@@ -0,0 +1,264 @@
+锘縩amespace HStation.WinFrmUI
+{
+    partial class AddPumpPropDlg
+    {
+        /// <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()
+        {
+            PageTitle pageTitle1 = new PageTitle();
+            ComponentResourceManager resources = new ComponentResourceManager(typeof(AddPumpPropDlg));
+            PageTitle pageTitle2 = new PageTitle();
+            layoutControl1 = new DevExpress.XtraLayout.LayoutControl();
+            navigationFrame1 = new DevExpress.XtraBars.Navigation.NavigationFrame();
+            navigationPage1 = new DevExpress.XtraBars.Navigation.NavigationPage();
+            sysPropManageMainPanel1 = new Basic.SysPropManageMainPanel();
+            navigationPage2 = new DevExpress.XtraBars.Navigation.NavigationPage();
+            sysCatalogManageMainPanel1 = new Basic.SysCatalogManageMainPanel();
+            simpleBtnNext = new SimpleButton();
+            simpleBtnBack = new SimpleButton();
+            simpleBtnOK = new SimpleButton();
+            Root = new DevExpress.XtraLayout.LayoutControlGroup();
+            layoutControlItem1 = new DevExpress.XtraLayout.LayoutControlItem();
+            layoutControlOk = new DevExpress.XtraLayout.LayoutControlItem();
+            emptySpaceItem1 = new DevExpress.XtraLayout.EmptySpaceItem();
+            layoutControlNext = new DevExpress.XtraLayout.LayoutControlItem();
+            layoutControlBack = new DevExpress.XtraLayout.LayoutControlItem();
+            ((ISupportInitialize)layoutControl1).BeginInit();
+            layoutControl1.SuspendLayout();
+            ((ISupportInitialize)navigationFrame1).BeginInit();
+            navigationFrame1.SuspendLayout();
+            navigationPage1.SuspendLayout();
+            navigationPage2.SuspendLayout();
+            ((ISupportInitialize)Root).BeginInit();
+            ((ISupportInitialize)layoutControlItem1).BeginInit();
+            ((ISupportInitialize)layoutControlOk).BeginInit();
+            ((ISupportInitialize)emptySpaceItem1).BeginInit();
+            ((ISupportInitialize)layoutControlNext).BeginInit();
+            ((ISupportInitialize)layoutControlBack).BeginInit();
+            SuspendLayout();
+            // 
+            // layoutControl1
+            // 
+            layoutControl1.Controls.Add(navigationFrame1);
+            layoutControl1.Controls.Add(simpleBtnNext);
+            layoutControl1.Controls.Add(simpleBtnBack);
+            layoutControl1.Controls.Add(simpleBtnOK);
+            layoutControl1.Dock = DockStyle.Fill;
+            layoutControl1.Location = new Point(0, 0);
+            layoutControl1.Name = "layoutControl1";
+            layoutControl1.Root = Root;
+            layoutControl1.Size = new Size(1087, 536);
+            layoutControl1.TabIndex = 0;
+            layoutControl1.Text = "layoutControl1";
+            // 
+            // navigationFrame1
+            // 
+            navigationFrame1.Controls.Add(navigationPage1);
+            navigationFrame1.Controls.Add(navigationPage2);
+            navigationFrame1.Location = new Point(2, 2);
+            navigationFrame1.Name = "navigationFrame1";
+            navigationFrame1.Pages.AddRange(new DevExpress.XtraBars.Navigation.NavigationPageBase[] { navigationPage1, navigationPage2 });
+            navigationFrame1.SelectedPage = navigationPage1;
+            navigationFrame1.Size = new Size(1083, 506);
+            navigationFrame1.TabIndex = 0;
+            navigationFrame1.Text = "navigationFrame1";
+            // 
+            // navigationPage1
+            // 
+            navigationPage1.Caption = "navigationPage1";
+            navigationPage1.Controls.Add(sysPropManageMainPanel1);
+            navigationPage1.Name = "navigationPage1";
+            navigationPage1.Size = new Size(1083, 506);
+            // 
+            // sysPropManageMainPanel1
+            // 
+            sysPropManageMainPanel1.Appearance.BackColor = SystemColors.Control;
+            sysPropManageMainPanel1.Appearance.Options.UseBackColor = true;
+            sysPropManageMainPanel1.Dock = DockStyle.Fill;
+            sysPropManageMainPanel1.Location = new Point(0, 0);
+            sysPropManageMainPanel1.Name = "sysPropManageMainPanel1";
+            sysPropManageMainPanel1.PageGuid = null;
+            pageTitle1.AllowClose = true;
+            pageTitle1.Caption = "灞炴�х鐞�";
+            pageTitle1.HeaderImage = null;
+            pageTitle1.HeaderSvgImage = (DevExpress.Utils.Svg.SvgImage)resources.GetObject("pageTitle1.HeaderSvgImage");
+            pageTitle1.SvgImageSize = new Size(24, 24);
+            sysPropManageMainPanel1.PageTitle = pageTitle1;
+            sysPropManageMainPanel1.Size = new Size(1083, 506);
+            sysPropManageMainPanel1.TabIndex = 0;
+            // 
+            // navigationPage2
+            // 
+            navigationPage2.Caption = "navigationPage2";
+            navigationPage2.Controls.Add(sysCatalogManageMainPanel1);
+            navigationPage2.Name = "navigationPage2";
+            navigationPage2.Size = new Size(1083, 506);
+            // 
+            // sysCatalogManageMainPanel1
+            // 
+            sysCatalogManageMainPanel1.Appearance.BackColor = SystemColors.Control;
+            sysCatalogManageMainPanel1.Appearance.Options.UseBackColor = true;
+            sysCatalogManageMainPanel1.Dock = DockStyle.Fill;
+            sysCatalogManageMainPanel1.Location = new Point(0, 0);
+            sysCatalogManageMainPanel1.Name = "sysCatalogManageMainPanel1";
+            sysCatalogManageMainPanel1.PageGuid = null;
+            pageTitle2.AllowClose = true;
+            pageTitle2.Caption = "鍒嗙被绠$悊";
+            pageTitle2.HeaderImage = null;
+            pageTitle2.HeaderSvgImage = (DevExpress.Utils.Svg.SvgImage)resources.GetObject("pageTitle2.HeaderSvgImage");
+            pageTitle2.SvgImageSize = new Size(24, 24);
+            sysCatalogManageMainPanel1.PageTitle = pageTitle2;
+            sysCatalogManageMainPanel1.Size = new Size(1083, 506);
+            sysCatalogManageMainPanel1.TabIndex = 0;
+            // 
+            // simpleBtnNext
+            // 
+            simpleBtnNext.Location = new Point(908, 512);
+            simpleBtnNext.Name = "simpleBtnNext";
+            simpleBtnNext.Size = new Size(86, 22);
+            simpleBtnNext.StyleController = layoutControl1;
+            simpleBtnNext.TabIndex = 3;
+            simpleBtnNext.Text = "涓嬩竴姝�>";
+            simpleBtnNext.Click += simpleBtnNext_Click;
+            // 
+            // simpleBtnBack
+            // 
+            simpleBtnBack.Location = new Point(817, 512);
+            simpleBtnBack.Name = "simpleBtnBack";
+            simpleBtnBack.Size = new Size(87, 22);
+            simpleBtnBack.StyleController = layoutControl1;
+            simpleBtnBack.TabIndex = 2;
+            simpleBtnBack.Text = "<涓婁竴姝�";
+            simpleBtnBack.Click += simpleBtnBack_Click;
+            // 
+            // simpleBtnOK
+            // 
+            simpleBtnOK.Location = new Point(998, 512);
+            simpleBtnOK.Name = "simpleBtnOK";
+            simpleBtnOK.Size = new Size(87, 22);
+            simpleBtnOK.StyleController = layoutControl1;
+            simpleBtnOK.TabIndex = 4;
+            simpleBtnOK.Text = "瀹屾垚";
+            simpleBtnOK.Click += simpleBtnOK_Click;
+            // 
+            // Root
+            // 
+            Root.EnableIndentsWithoutBorders = DevExpress.Utils.DefaultBoolean.True;
+            Root.GroupBordersVisible = false;
+            Root.Items.AddRange(new DevExpress.XtraLayout.BaseLayoutItem[] { layoutControlItem1, layoutControlOk, emptySpaceItem1, layoutControlNext, layoutControlBack });
+            Root.Name = "Root";
+            Root.Padding = new DevExpress.XtraLayout.Utils.Padding(0, 0, 0, 0);
+            Root.Size = new Size(1087, 536);
+            Root.TextVisible = false;
+            // 
+            // layoutControlItem1
+            // 
+            layoutControlItem1.Control = navigationFrame1;
+            layoutControlItem1.Location = new Point(0, 0);
+            layoutControlItem1.Name = "layoutControlItem1";
+            layoutControlItem1.Size = new Size(1087, 510);
+            layoutControlItem1.TextSize = new Size(0, 0);
+            layoutControlItem1.TextVisible = false;
+            // 
+            // layoutControlOk
+            // 
+            layoutControlOk.Control = simpleBtnOK;
+            layoutControlOk.Location = new Point(996, 510);
+            layoutControlOk.Name = "layoutControlOk";
+            layoutControlOk.Size = new Size(91, 26);
+            layoutControlOk.TextSize = new Size(0, 0);
+            layoutControlOk.TextVisible = false;
+            // 
+            // emptySpaceItem1
+            // 
+            emptySpaceItem1.AllowHotTrack = false;
+            emptySpaceItem1.Location = new Point(0, 510);
+            emptySpaceItem1.Name = "emptySpaceItem1";
+            emptySpaceItem1.Size = new Size(815, 26);
+            emptySpaceItem1.TextSize = new Size(0, 0);
+            // 
+            // layoutControlNext
+            // 
+            layoutControlNext.Control = simpleBtnNext;
+            layoutControlNext.Location = new Point(906, 510);
+            layoutControlNext.Name = "layoutControlNext";
+            layoutControlNext.Size = new Size(90, 26);
+            layoutControlNext.TextSize = new Size(0, 0);
+            layoutControlNext.TextVisible = false;
+            // 
+            // layoutControlBack
+            // 
+            layoutControlBack.Control = simpleBtnBack;
+            layoutControlBack.Location = new Point(815, 510);
+            layoutControlBack.Name = "layoutControlBack";
+            layoutControlBack.Size = new Size(91, 26);
+            layoutControlBack.TextSize = new Size(0, 0);
+            layoutControlBack.TextVisible = false;
+            // 
+            // AddPumpPropDlg
+            // 
+            AutoScaleDimensions = new SizeF(7F, 14F);
+            AutoScaleMode = AutoScaleMode.Font;
+            ClientSize = new Size(1087, 536);
+            Controls.Add(layoutControl1);
+            Name = "AddPumpPropDlg";
+            StartPosition = FormStartPosition.CenterScreen;
+            Text = "澧炲姞灞炴��";
+            WindowState = FormWindowState.Maximized;
+            ((ISupportInitialize)layoutControl1).EndInit();
+            layoutControl1.ResumeLayout(false);
+            ((ISupportInitialize)navigationFrame1).EndInit();
+            navigationFrame1.ResumeLayout(false);
+            navigationPage1.ResumeLayout(false);
+            navigationPage2.ResumeLayout(false);
+            ((ISupportInitialize)Root).EndInit();
+            ((ISupportInitialize)layoutControlItem1).EndInit();
+            ((ISupportInitialize)layoutControlOk).EndInit();
+            ((ISupportInitialize)emptySpaceItem1).EndInit();
+            ((ISupportInitialize)layoutControlNext).EndInit();
+            ((ISupportInitialize)layoutControlBack).EndInit();
+            ResumeLayout(false);
+        }
+
+        #endregion
+
+        private DevExpress.XtraLayout.LayoutControl layoutControl1;
+        private DevExpress.XtraBars.Navigation.NavigationFrame navigationFrame1;
+        private DevExpress.XtraBars.Navigation.NavigationPage navigationPage1;
+        private DevExpress.XtraBars.Navigation.NavigationPage navigationPage2;
+        private SimpleButton simpleBtnNext;
+        private SimpleButton simpleBtnBack;
+        private SimpleButton simpleBtnOK;
+        private DevExpress.XtraLayout.LayoutControlGroup Root;
+        private DevExpress.XtraLayout.LayoutControlItem layoutControlItem1;
+        private DevExpress.XtraLayout.LayoutControlItem layoutControlOk;
+        private DevExpress.XtraLayout.EmptySpaceItem emptySpaceItem1;
+        private DevExpress.XtraLayout.LayoutControlItem layoutControlNext;
+        private DevExpress.XtraLayout.LayoutControlItem layoutControlBack;
+        private Basic.SysPropManageMainPanel sysPropManageMainPanel1;
+        private Basic.SysCatalogManageMainPanel sysCatalogManageMainPanel1;
+    }
+}
\ No newline at end of file
diff --git a/WinFrmUI/HStation.WinFrmUI.Xhs.Core/04-pump/01-Prop/AddPumpPropDlg.cs b/WinFrmUI/HStation.WinFrmUI.Xhs.Core/04-pump/01-Prop/AddPumpPropDlg.cs
new file mode 100644
index 0000000..37b18b5
--- /dev/null
+++ b/WinFrmUI/HStation.WinFrmUI.Xhs.Core/04-pump/01-Prop/AddPumpPropDlg.cs
@@ -0,0 +1,52 @@
+锘縰sing HStation.WinFrmUI.Basic;
+
+namespace HStation.WinFrmUI
+{
+    public partial class AddPumpPropDlg : DevExpress.XtraEditors.XtraForm
+    {
+        public AddPumpPropDlg()
+        {
+            InitializeComponent();
+            this.Load += AddPumpPropDlg_Load;
+        }
+
+        public static event Action ReloadRefreshData;
+
+        private void AddPumpPropDlg_Load(object sender, EventArgs e)
+        {
+            sysPropManageMainPanel1.InitialDataSource();
+            sysPropManageMainPanel1.propGroupTreeListCtrl1.typeTreeListLookUpEdit1.SetBindingData(PumpPropViewCtrl._typeId);
+            sysCatalogManageMainPanel1.InitialDataSource();
+            layoutControlOk.Visibility = DevExpress.XtraLayout.Utils.LayoutVisibility.Never;
+            layoutControlBack.Visibility = DevExpress.XtraLayout.Utils.LayoutVisibility.Never;
+        }
+
+        //涓嬩竴姝�
+        private void simpleBtnNext_Click(object sender, EventArgs e)
+        {
+            if (this.navigationFrame1.SelectedPage == navigationPage1)
+            {
+                this.navigationFrame1.SelectedPage = navigationPage2;
+                layoutControlNext.Visibility = DevExpress.XtraLayout.Utils.LayoutVisibility.Never;
+                layoutControlBack.Visibility = DevExpress.XtraLayout.Utils.LayoutVisibility.Always;
+                layoutControlOk.Visibility = DevExpress.XtraLayout.Utils.LayoutVisibility.Always;
+            }
+        }
+
+        //涓婁竴姝�
+        private void simpleBtnBack_Click(object sender, EventArgs e)
+        {
+            if (this.navigationFrame1.SelectedPage == navigationPage2)
+            {
+                this.navigationFrame1.SelectedPage = navigationPage1;
+                layoutControlBack.Visibility = DevExpress.XtraLayout.Utils.LayoutVisibility.Never;
+            }
+        }
+
+        //瀹屾垚
+        private void simpleBtnOK_Click(object sender, EventArgs e)
+        {
+            ReloadRefreshData.Invoke();
+        }
+    }
+}
\ No newline at end of file
diff --git a/WinFrmUI/HStation.WinFrmUI.Xhs.Core/04-pump/01-Prop/AddPumpPropDlg.resx b/WinFrmUI/HStation.WinFrmUI.Xhs.Core/04-pump/01-Prop/AddPumpPropDlg.resx
new file mode 100644
index 0000000..1b8dfb2
--- /dev/null
+++ b/WinFrmUI/HStation.WinFrmUI.Xhs.Core/04-pump/01-Prop/AddPumpPropDlg.resx
@@ -0,0 +1,174 @@
+锘�<?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>
+  <assembly alias="DevExpress.Data.v23.2" name="DevExpress.Data.v23.2, Culture=neutral, PublicKeyToken=b88d1754d700e49a" />
+  <data name="pageTitle1.HeaderSvgImage" type="DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v23.2" mimetype="application/x-microsoft.net.object.bytearray.base64">
+    <value>
+        AAEAAAD/////AQAAAAAAAAAMAgAAAFlEZXZFeHByZXNzLkRhdGEudjIzLjIsIFZlcnNpb249MjMuMi40
+        LjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjg4ZDE3NTRkNzAwZTQ5YQUBAAAAHURl
+        dkV4cHJlc3MuVXRpbHMuU3ZnLlN2Z0ltYWdlAQAAAAREYXRhBwICAAAACQMAAAAPAwAAAOYDAAAC77u/
+        PD94bWwgdmVyc2lvbj0nMS4wJyBlbmNvZGluZz0nVVRGLTgnPz4NCjxzdmcgeD0iMHB4IiB5PSIwcHgi
+        IHZpZXdCb3g9IjAgMCAzMiAzMiIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcv
+        MjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB4bWw6c3Bh
+        Y2U9InByZXNlcnZlIiBpZD0iRG9jdW1lbnRfUHJvcGVydGllcyIgc3R5bGU9ImVuYWJsZS1iYWNrZ3Jv
+        dW5kOm5ldyAwIDAgMzIgMzIiPg0KICA8c3R5bGUgdHlwZT0idGV4dC9jc3MiPgoJLkJsYWNre2ZpbGw6
+        IzcyNzI3Mjt9CgkuQmx1ZXtmaWxsOiMxMTc3RDc7fQo8L3N0eWxlPg0KICA8cGF0aCBkPSJNMzAsMjV2
+        LTJsLTIuMi0wLjRjLTAuMi0wLjYtMC40LTEuMy0wLjctMS44bDEuMy0xLjhsLTEuNC0xLjRsLTEuOCwx
+        LjNjLTAuNS0wLjMtMS4yLTAuNi0xLjgtMC43TDIzLDE2aC0yICBsLTAuNCwyLjJjLTAuNiwwLjItMS4z
+        LDAuNC0xLjgsMC43bC0xLjgtMS4zbC0xLjQsMS40bDEuMywxLjhjLTAuMywwLjUtMC42LDEuMi0wLjcs
+        MS44TDE0LDIzdjJsMi4yLDAuNGMwLjIsMC42LDAuNCwxLjMsMC43LDEuOCAgbC0xLjMsMS44bDEuNCwx
+        LjRsMS44LTEuM2MwLjUsMC4zLDEuMiwwLjYsMS44LDAuN0wyMSwzMmgybDAuNC0yLjJjMC42LTAuMiwx
+        LjMtMC40LDEuOC0wLjdsMS44LDEuM2wxLjQtMS40bC0xLjMtMS44ICBjMC4zLTAuNSwwLjYtMS4yLDAu
+        Ny0xLjhMMzAsMjV6IE0yMiwyNmMtMS4xLDAtMi0wLjktMi0yczAuOS0yLDItMnMyLDAuOSwyLDJTMjMu
+        MSwyNiwyMiwyNnoiIGNsYXNzPSJCbHVlIiAvPg0KICA8cGF0aCBkPSJNMTQuMywyNkg2VjRoNmg2djVj
+        MCwwLjYsMC40LDEsMSwxaDV2NS45bDAsMC40YzAuNywwLjIsMS40LDAuNSwyLDAuOFY5bC03LTdINUM0
+        LjQsMiw0LDIuNCw0LDN2MjQgIGMwLDAuNiwwLjQsMSwxLDFoMTAuMUMxNC43LDI3LjQsMTQuNCwyNi43
+        LDE0LjMsMjZ6IiBjbGFzcz0iQmxhY2siIC8+DQo8L3N2Zz4L
+</value>
+  </data>
+  <data name="pageTitle2.HeaderSvgImage" type="DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v23.2" mimetype="application/x-microsoft.net.object.bytearray.base64">
+    <value>
+        AAEAAAD/////AQAAAAAAAAAMAgAAAFlEZXZFeHByZXNzLkRhdGEudjIzLjIsIFZlcnNpb249MjMuMi40
+        LjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjg4ZDE3NTRkNzAwZTQ5YQUBAAAAHURl
+        dkV4cHJlc3MuVXRpbHMuU3ZnLlN2Z0ltYWdlAQAAAAREYXRhBwICAAAACQMAAAAPAwAAAAoFAAAC77u/
+        PD94bWwgdmVyc2lvbj0nMS4wJyBlbmNvZGluZz0nVVRGLTgnPz4NCjxzdmcgeD0iMHB4IiB5PSIwcHgi
+        IHZpZXdCb3g9IjAgMCAzMiAzMiIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcv
+        MjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB4bWw6c3Bh
+        Y2U9InByZXNlcnZlIiBpZD0iTGF5ZXJfMSIgc3R5bGU9ImVuYWJsZS1iYWNrZ3JvdW5kOm5ldyAwIDAg
+        MzIgMzIiPg0KICA8c3R5bGUgdHlwZT0idGV4dC9jc3MiPgoJLkJsdWV7ZmlsbDojMTE3N0Q3O30KCS5Z
+        ZWxsb3d7ZmlsbDojRkZCMTE1O30KCS5SZWR7ZmlsbDojRDExQzFDO30KCS5HcmVlbntmaWxsOiMwMzlD
+        MjM7fQoJLkJsYWNre2ZpbGw6IzcyNzI3Mjt9CgkuV2hpdGV7ZmlsbDojRkZGRkZGO30KCS5zdDB7b3Bh
+        Y2l0eTowLjU7fQoJLnN0MXtvcGFjaXR5OjAuNzU7fQoJLnN0MntkaXNwbGF5Om5vbmU7fQoJLnN0M3tk
+        aXNwbGF5OmlubGluZTtmaWxsOiNGRkIxMTU7fQoJLnN0NHtkaXNwbGF5OmlubGluZTt9Cgkuc3Q1e2Rp
+        c3BsYXk6aW5saW5lO29wYWNpdHk6MC43NTt9Cgkuc3Q2e2Rpc3BsYXk6aW5saW5lO29wYWNpdHk6MC41
+        O30KCS5zdDd7ZGlzcGxheTppbmxpbmU7ZmlsbDojMDM5QzIzO30KCS5zdDh7ZGlzcGxheTppbmxpbmU7
+        ZmlsbDojRDExQzFDO30KCS5zdDl7ZGlzcGxheTppbmxpbmU7ZmlsbDojMTE3N0Q3O30KCS5zdDEwe2Rp
+        c3BsYXk6aW5saW5lO2ZpbGw6I0ZGRkZGRjt9Cjwvc3R5bGU+DQogIDxnIGlkPSJDYXRlZ29yeSI+DQog
+        ICAgPHBhdGggZD0iTTE5LDEyaC04Yy0wLjYsMC0xLTAuNC0xLTFWNWMwLTAuNiwwLjQtMSwxLTFoOGMw
+        LjUsMCwxLDAuNCwxLDF2NkMyMCwxMS42LDE5LjUsMTIsMTksMTJ6IiBjbGFzcz0iQmx1ZSIgLz4NCiAg
+        ICA8cGF0aCBkPSJNMTEsMjZIM2MtMC41LDAtMS0wLjUtMS0xdi02YzAtMC41LDAuNS0xLDEtMWg4YzAu
+        NiwwLDEsMC41LDEsMXY2QzEyLDI1LjUsMTEuNiwyNiwxMSwyNnoiIGNsYXNzPSJCbHVlIiAvPg0KICAg
+        IDxwYXRoIGQ9Ik0yNywyNmgtOGMtMC41LDAtMS0wLjUtMS0xdi02YzAtMC41LDAuNS0xLDEtMWg4YzAu
+        NSwwLDEsMC41LDEsMXY2QzI4LDI1LjUsMjcuNSwyNiwyNywyNnoiIGNsYXNzPSJCbHVlIiAvPg0KICAg
+        IDxnIGNsYXNzPSJzdDEiPg0KICAgICAgPHBhdGggZD0iTTE2LDE0di0yaC0ydjJIN2MtMC42LDAtMSww
+        LjQtMSwxdjNoMnYtMmgxNHYyaDJ2LTNjMC0wLjYtMC40LTEtMS0xSDE2eiIgY2xhc3M9IkJsYWNrIiAv
+        Pg0KICAgIDwvZz4NCiAgPC9nPg0KPC9zdmc+Cw==
+</value>
+  </data>
+</root>
\ No newline at end of file
diff --git a/WinFrmUI/HStation.WinFrmUI.Xhs.Core/04-pump/PropGroupChoiceViewModel.cs b/WinFrmUI/HStation.WinFrmUI.Xhs.Core/04-pump/01-Prop/PropGroupChoiceViewModel.cs
similarity index 100%
rename from WinFrmUI/HStation.WinFrmUI.Xhs.Core/04-pump/PropGroupChoiceViewModel.cs
rename to WinFrmUI/HStation.WinFrmUI.Xhs.Core/04-pump/01-Prop/PropGroupChoiceViewModel.cs
diff --git a/WinFrmUI/HStation.WinFrmUI.Xhs.Core/04-pump/XtraUserControl1.Designer.cs b/WinFrmUI/HStation.WinFrmUI.Xhs.Core/04-pump/01-Prop/PumpBarItem.Designer.cs
similarity index 71%
rename from WinFrmUI/HStation.WinFrmUI.Xhs.Core/04-pump/XtraUserControl1.Designer.cs
rename to WinFrmUI/HStation.WinFrmUI.Xhs.Core/04-pump/01-Prop/PumpBarItem.Designer.cs
index 82efa35..28fbf95 100644
--- a/WinFrmUI/HStation.WinFrmUI.Xhs.Core/04-pump/XtraUserControl1.Designer.cs
+++ b/WinFrmUI/HStation.WinFrmUI.Xhs.Core/04-pump/01-Prop/PumpBarItem.Designer.cs
@@ -1,6 +1,6 @@
 锘縩amespace HStation.WinFrmUI
 {
-    partial class XtraUserControl1
+    partial class PumpBarItem
     {
         /// <summary> 
         /// Required designer variable.
@@ -30,11 +30,13 @@
         {
             components = new Container();
             barManager1 = new DevExpress.XtraBars.BarManager(components);
+            bar2 = new DevExpress.XtraBars.Bar();
+            barBtnAdd = new DevExpress.XtraBars.BarButtonItem();
+            barButtonItem2 = new DevExpress.XtraBars.BarButtonItem();
             barDockControlTop = new DevExpress.XtraBars.BarDockControl();
             barDockControlBottom = new DevExpress.XtraBars.BarDockControl();
             barDockControlLeft = new DevExpress.XtraBars.BarDockControl();
             barDockControlRight = new DevExpress.XtraBars.BarDockControl();
-            bar2 = new DevExpress.XtraBars.Bar();
             ((ISupportInitialize)barManager1).BeginInit();
             SuspendLayout();
             // 
@@ -46,39 +48,9 @@
             barManager1.DockControls.Add(barDockControlLeft);
             barManager1.DockControls.Add(barDockControlRight);
             barManager1.Form = this;
+            barManager1.Items.AddRange(new DevExpress.XtraBars.BarItem[] { barBtnAdd, barButtonItem2 });
             barManager1.MainMenu = bar2;
-            // 
-            // barDockControlTop
-            // 
-            barDockControlTop.CausesValidation = false;
-            barDockControlTop.Dock = DockStyle.Top;
-            barDockControlTop.Location = new Point(0, 0);
-            barDockControlTop.Manager = barManager1;
-            barDockControlTop.Size = new Size(357, 20);
-            // 
-            // barDockControlBottom
-            // 
-            barDockControlBottom.CausesValidation = false;
-            barDockControlBottom.Dock = DockStyle.Bottom;
-            barDockControlBottom.Location = new Point(0, 109);
-            barDockControlBottom.Manager = barManager1;
-            barDockControlBottom.Size = new Size(357, 0);
-            // 
-            // barDockControlLeft
-            // 
-            barDockControlLeft.CausesValidation = false;
-            barDockControlLeft.Dock = DockStyle.Left;
-            barDockControlLeft.Location = new Point(0, 20);
-            barDockControlLeft.Manager = barManager1;
-            barDockControlLeft.Size = new Size(0, 89);
-            // 
-            // barDockControlRight
-            // 
-            barDockControlRight.CausesValidation = false;
-            barDockControlRight.Dock = DockStyle.Right;
-            barDockControlRight.Location = new Point(357, 20);
-            barDockControlRight.Manager = barManager1;
-            barDockControlRight.Size = new Size(0, 89);
+            barManager1.MaxItemId = 2;
             // 
             // bar2
             // 
@@ -87,11 +59,57 @@
             bar2.DockCol = 0;
             bar2.DockRow = 0;
             bar2.DockStyle = DevExpress.XtraBars.BarDockStyle.Top;
+            bar2.LinksPersistInfo.AddRange(new DevExpress.XtraBars.LinkPersistInfo[] { new DevExpress.XtraBars.LinkPersistInfo(barBtnAdd), new DevExpress.XtraBars.LinkPersistInfo(barButtonItem2) });
             bar2.OptionsBar.MultiLine = true;
             bar2.OptionsBar.UseWholeRow = true;
             bar2.Text = "Main menu";
             // 
-            // XtraUserControl1
+            // barBtnAdd
+            // 
+            barBtnAdd.Caption = "娣诲姞";
+            barBtnAdd.Id = 0;
+            barBtnAdd.Name = "barBtnAdd";
+            barBtnAdd.ItemClick += barBtnAdd_ItemClick;
+            // 
+            // barButtonItem2
+            // 
+            barButtonItem2.Caption = "缂栬緫";
+            barButtonItem2.Id = 1;
+            barButtonItem2.Name = "barButtonItem2";
+            // 
+            // barDockControlTop
+            // 
+            barDockControlTop.CausesValidation = false;
+            barDockControlTop.Dock = DockStyle.Top;
+            barDockControlTop.Location = new Point(0, 0);
+            barDockControlTop.Manager = barManager1;
+            barDockControlTop.Size = new Size(467, 21);
+            // 
+            // barDockControlBottom
+            // 
+            barDockControlBottom.CausesValidation = false;
+            barDockControlBottom.Dock = DockStyle.Bottom;
+            barDockControlBottom.Location = new Point(0, 171);
+            barDockControlBottom.Manager = barManager1;
+            barDockControlBottom.Size = new Size(467, 0);
+            // 
+            // barDockControlLeft
+            // 
+            barDockControlLeft.CausesValidation = false;
+            barDockControlLeft.Dock = DockStyle.Left;
+            barDockControlLeft.Location = new Point(0, 21);
+            barDockControlLeft.Manager = barManager1;
+            barDockControlLeft.Size = new Size(0, 150);
+            // 
+            // barDockControlRight
+            // 
+            barDockControlRight.CausesValidation = false;
+            barDockControlRight.Dock = DockStyle.Right;
+            barDockControlRight.Location = new Point(467, 21);
+            barDockControlRight.Manager = barManager1;
+            barDockControlRight.Size = new Size(0, 150);
+            // 
+            // PumpBarItem
             // 
             AutoScaleDimensions = new SizeF(7F, 14F);
             AutoScaleMode = AutoScaleMode.Font;
@@ -99,9 +117,9 @@
             Controls.Add(barDockControlRight);
             Controls.Add(barDockControlBottom);
             Controls.Add(barDockControlTop);
-            Name = "XtraUserControl1";
-            Size = new Size(357, 109);
-            ((ISupportInitialize)barManager1).EndInit();
+            Name = "PumpBarItem";
+            Size = new Size(467, 171);
+             ((ISupportInitialize)barManager1).EndInit();
             ResumeLayout(false);
             PerformLayout();
         }
@@ -114,5 +132,7 @@
         private DevExpress.XtraBars.BarDockControl barDockControlBottom;
         private DevExpress.XtraBars.BarDockControl barDockControlLeft;
         private DevExpress.XtraBars.BarDockControl barDockControlRight;
+        private DevExpress.XtraBars.BarButtonItem barBtnAdd;
+        private DevExpress.XtraBars.BarButtonItem barButtonItem2;
     }
 }
diff --git a/WinFrmUI/HStation.WinFrmUI.Xhs.Core/04-pump/01-Prop/PumpBarItem.cs b/WinFrmUI/HStation.WinFrmUI.Xhs.Core/04-pump/01-Prop/PumpBarItem.cs
new file mode 100644
index 0000000..526c33f
--- /dev/null
+++ b/WinFrmUI/HStation.WinFrmUI.Xhs.Core/04-pump/01-Prop/PumpBarItem.cs
@@ -0,0 +1,16 @@
+锘縩amespace HStation.WinFrmUI
+{
+    public partial class PumpBarItem : DevExpress.XtraEditors.XtraUserControl
+    {
+        public PumpBarItem()
+        {
+            InitializeComponent();
+        }
+
+        private void barBtnAdd_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e)
+        {
+            var dlg = new AddPumpPropDlg();
+            dlg.ShowDialog();
+        }
+    }
+}
\ No newline at end of file
diff --git a/WinFrmUI/HStation.WinFrmUI.Xhs.Core/04-pump/XtraUserControl1.resx b/WinFrmUI/HStation.WinFrmUI.Xhs.Core/04-pump/01-Prop/PumpBarItem.resx
similarity index 100%
rename from WinFrmUI/HStation.WinFrmUI.Xhs.Core/04-pump/XtraUserControl1.resx
rename to WinFrmUI/HStation.WinFrmUI.Xhs.Core/04-pump/01-Prop/PumpBarItem.resx
diff --git a/WinFrmUI/HStation.WinFrmUI.Xhs.Core/04-pump/PumpPropViewCtrl.Designer.cs b/WinFrmUI/HStation.WinFrmUI.Xhs.Core/04-pump/01-Prop/PumpPropViewCtrl.Designer.cs
similarity index 100%
rename from WinFrmUI/HStation.WinFrmUI.Xhs.Core/04-pump/PumpPropViewCtrl.Designer.cs
rename to WinFrmUI/HStation.WinFrmUI.Xhs.Core/04-pump/01-Prop/PumpPropViewCtrl.Designer.cs
diff --git a/WinFrmUI/HStation.WinFrmUI.Xhs.Core/04-pump/PumpPropViewCtrl.cs b/WinFrmUI/HStation.WinFrmUI.Xhs.Core/04-pump/01-Prop/PumpPropViewCtrl.cs
similarity index 84%
rename from WinFrmUI/HStation.WinFrmUI.Xhs.Core/04-pump/PumpPropViewCtrl.cs
rename to WinFrmUI/HStation.WinFrmUI.Xhs.Core/04-pump/01-Prop/PumpPropViewCtrl.cs
index 1ce90e3..f4e75f4 100644
--- a/WinFrmUI/HStation.WinFrmUI.Xhs.Core/04-pump/PumpPropViewCtrl.cs
+++ b/WinFrmUI/HStation.WinFrmUI.Xhs.Core/04-pump/01-Prop/PumpPropViewCtrl.cs
@@ -7,9 +7,14 @@
             InitializeComponent();
             this.gridView1.SetNormalView();
             this.gridView1.RegistCustomDrawRowIndicator();
+            AddPumpPropDlg.ReloadRefreshData += RefreshData;
         }
 
         private List<PropGroupChoiceViewModel> _allBindingList;
+
+        public static long _typeId;
+
+        public long _pumpId;
 
         public async void SetBindingData(string DbId)
         {
@@ -17,16 +22,18 @@
             {
                 return;
             }
+            _pumpId = pumpId;
             var pumpBll = new BLL.AssetsPumpMain();
             var pump = await pumpBll.GetByID(pumpId);
             var series = await new BLL.AssetsPumpSeries().GetByID(pump.PumpSeriesID);
             _allBindingList = new List<PropGroupChoiceViewModel>();
             var catlog = await new Yw.BLL.SysPropStruct().GetByCatalogID(series.CatalogID);
-            if (catlog == null)
+            if (catlog == null || catlog.Count == 0)
             {
                 this.propGroupChoiceViewModelBindingSource.ResetBindings(false);
                 return;
             }
+            _typeId = catlog.First().TypeID;
             foreach (var item in catlog)
             {
                 foreach (var prop in item.PropList)
@@ -46,5 +53,10 @@
             this.propGroupChoiceViewModelBindingSource.DataSource = _allBindingList;
             this.propGroupChoiceViewModelBindingSource.ResetBindings(false);
         }
+
+        private void RefreshData()
+        {
+            SetBindingData(_pumpId.ToString());
+        }
     }
 }
\ No newline at end of file
diff --git a/WinFrmUI/HStation.WinFrmUI.Xhs.Core/04-pump/PumpPropViewCtrl.resx b/WinFrmUI/HStation.WinFrmUI.Xhs.Core/04-pump/01-Prop/PumpPropViewCtrl.resx
similarity index 100%
rename from WinFrmUI/HStation.WinFrmUI.Xhs.Core/04-pump/PumpPropViewCtrl.resx
rename to WinFrmUI/HStation.WinFrmUI.Xhs.Core/04-pump/01-Prop/PumpPropViewCtrl.resx
diff --git a/WinFrmUI/HStation.WinFrmUI.Xhs.Core/04-pump/PumpFullInfoCtrl.cs b/WinFrmUI/HStation.WinFrmUI.Xhs.Core/04-pump/PumpFullInfoCtrl.cs
index 6d4431b..81a2cc3 100644
--- a/WinFrmUI/HStation.WinFrmUI.Xhs.Core/04-pump/PumpFullInfoCtrl.cs
+++ b/WinFrmUI/HStation.WinFrmUI.Xhs.Core/04-pump/PumpFullInfoCtrl.cs
@@ -24,7 +24,6 @@
         {
             _pump_mathing_vm = pumpMatchingViewModel;
             pumpPropViewCtrl1.SetBindingData(pumpMatchingViewModel.DbId);
-
             if (long.TryParse(_pump_mathing_vm.DbId, out long pump_mian_id))
             {
                 Init(pump_mian_id);
@@ -834,7 +833,6 @@
 
         private void xtraTabControlRight_Click(object sender, EventArgs e)
         {
-
         }
     }
 }
\ No newline at end of file
diff --git a/WinFrmUI/HStation.WinFrmUI.Xhs.Core/04-pump/PumpFullInfoCtrl.designer.cs b/WinFrmUI/HStation.WinFrmUI.Xhs.Core/04-pump/PumpFullInfoCtrl.designer.cs
index c6b0a75..435c72b 100644
--- a/WinFrmUI/HStation.WinFrmUI.Xhs.Core/04-pump/PumpFullInfoCtrl.designer.cs
+++ b/WinFrmUI/HStation.WinFrmUI.Xhs.Core/04-pump/PumpFullInfoCtrl.designer.cs
@@ -59,9 +59,11 @@
             pumpPerformInfoCtrl1 = new Yw.WinFrmUI.Phart.PumpPerformInfoCtrl();
             tabPage浜у搧灞炴��2 = new DevExpress.XtraTab.XtraTabPage();
             layoutControl1 = new DevExpress.XtraLayout.LayoutControl();
+            xtraUserControl11 = new PumpBarItem();
             pumpPropViewCtrl1 = new PumpPropViewCtrl();
             Root = new DevExpress.XtraLayout.LayoutControlGroup();
             layoutControlItem2 = new DevExpress.XtraLayout.LayoutControlItem();
+            layoutControlItem1 = new DevExpress.XtraLayout.LayoutControlItem();
             _tabPage浜у搧鏉愭枡 = new DevExpress.XtraTab.XtraTabPage();
             splitContainerControlMaterial = new SplitContainerControl();
             _tabPage澶氶�熷害鏇茬嚎鍙傛暟 = new DevExpress.XtraTab.XtraTabPage();
@@ -94,6 +96,7 @@
             layoutControl1.SuspendLayout();
             ((ISupportInitialize)Root).BeginInit();
             ((ISupportInitialize)layoutControlItem2).BeginInit();
+            ((ISupportInitialize)layoutControlItem1).BeginInit();
             _tabPage浜у搧鏉愭枡.SuspendLayout();
             ((ISupportInitialize)splitContainerControlMaterial).BeginInit();
             ((ISupportInitialize)splitContainerControlMaterial.Panel1).BeginInit();
@@ -399,6 +402,7 @@
             // 
             // layoutControl1
             // 
+            layoutControl1.Controls.Add(xtraUserControl11);
             layoutControl1.Controls.Add(pumpPropViewCtrl1);
             layoutControl1.Dock = DockStyle.Fill;
             layoutControl1.Location = new Point(0, 0);
@@ -408,31 +412,48 @@
             layoutControl1.TabIndex = 2;
             layoutControl1.Text = "layoutControl1";
             // 
+            // xtraUserControl11
+            // 
+            xtraUserControl11.Location = new Point(7, 7);
+            xtraUserControl11.Name = "xtraUserControl11";
+            xtraUserControl11.Size = new Size(375, 18);
+            xtraUserControl11.TabIndex = 6;
+            // 
             // pumpPropViewCtrl1
             // 
-            pumpPropViewCtrl1.Location = new Point(12, 12);
+            pumpPropViewCtrl1.Location = new Point(7, 29);
             pumpPropViewCtrl1.Margin = new Padding(4, 5, 4, 5);
             pumpPropViewCtrl1.Name = "pumpPropViewCtrl1";
-            pumpPropViewCtrl1.Size = new Size(365, 669);
+            pumpPropViewCtrl1.Size = new Size(375, 657);
             pumpPropViewCtrl1.TabIndex = 5;
             // 
             // Root
             // 
             Root.EnableIndentsWithoutBorders = DevExpress.Utils.DefaultBoolean.True;
             Root.GroupBordersVisible = false;
-            Root.Items.AddRange(new DevExpress.XtraLayout.BaseLayoutItem[] { layoutControlItem2 });
+            Root.Items.AddRange(new DevExpress.XtraLayout.BaseLayoutItem[] { layoutControlItem2, layoutControlItem1 });
             Root.Name = "Root";
+            Root.Padding = new DevExpress.XtraLayout.Utils.Padding(5, 5, 5, 5);
             Root.Size = new Size(389, 693);
             Root.TextVisible = false;
             // 
             // layoutControlItem2
             // 
             layoutControlItem2.Control = pumpPropViewCtrl1;
-            layoutControlItem2.Location = new Point(0, 0);
+            layoutControlItem2.Location = new Point(0, 22);
             layoutControlItem2.Name = "layoutControlItem2";
-            layoutControlItem2.Size = new Size(369, 673);
+            layoutControlItem2.Size = new Size(379, 661);
             layoutControlItem2.TextSize = new Size(0, 0);
             layoutControlItem2.TextVisible = false;
+            // 
+            // layoutControlItem1
+            // 
+            layoutControlItem1.Control = xtraUserControl11;
+            layoutControlItem1.Location = new Point(0, 0);
+            layoutControlItem1.Name = "layoutControlItem1";
+            layoutControlItem1.Size = new Size(379, 22);
+            layoutControlItem1.TextSize = new Size(0, 0);
+            layoutControlItem1.TextVisible = false;
             // 
             // _tabPage浜у搧鏉愭枡
             // 
@@ -554,6 +575,7 @@
             layoutControl1.ResumeLayout(false);
             ((ISupportInitialize)Root).EndInit();
             ((ISupportInitialize)layoutControlItem2).EndInit();
+            ((ISupportInitialize)layoutControlItem1).EndInit();
             _tabPage浜у搧鏉愭枡.ResumeLayout(false);
             ((ISupportInitialize)splitContainerControlMaterial.Panel1).EndInit();
             ((ISupportInitialize)splitContainerControlMaterial.Panel2).EndInit();
@@ -612,5 +634,7 @@
         private PumpPropViewCtrl pumpPropViewCtrl1;
         private DevExpress.XtraLayout.LayoutControlGroup Root;
         private DevExpress.XtraLayout.LayoutControlItem layoutControlItem2;
+        private PumpBarItem xtraUserControl11;
+        private DevExpress.XtraLayout.LayoutControlItem layoutControlItem1;
     }
 }
diff --git a/WinFrmUI/HStation.WinFrmUI.Xhs.Core/04-pump/XtraUserControl1.cs b/WinFrmUI/HStation.WinFrmUI.Xhs.Core/04-pump/XtraUserControl1.cs
deleted file mode 100644
index 7f28b3c..0000000
--- a/WinFrmUI/HStation.WinFrmUI.Xhs.Core/04-pump/XtraUserControl1.cs
+++ /dev/null
@@ -1,10 +0,0 @@
-锘縩amespace HStation.WinFrmUI
-{
-    public partial class XtraUserControl1 : DevExpress.XtraEditors.XtraUserControl
-    {
-        public XtraUserControl1()
-        {
-            InitializeComponent();
-        }
-    }
-}
\ No newline at end of file
diff --git a/WinFrmUI/HStation.WinFrmUI.Xhs.Core/HStation.WinFrmUI.Xhs.Core.csproj.user b/WinFrmUI/HStation.WinFrmUI.Xhs.Core/HStation.WinFrmUI.Xhs.Core.csproj.user
index 57f8e32..0a07ea4 100644
--- a/WinFrmUI/HStation.WinFrmUI.Xhs.Core/HStation.WinFrmUI.Xhs.Core.csproj.user
+++ b/WinFrmUI/HStation.WinFrmUI.Xhs.Core/HStation.WinFrmUI.Xhs.Core.csproj.user
@@ -94,16 +94,19 @@
     <Compile Update="03-simulation\XhsProjectSimulationMgrPage.cs">
       <SubType>UserControl</SubType>
     </Compile>
+    <Compile Update="04-pump\01-Prop\AddPumpPropDlg.cs">
+      <SubType>Form</SubType>
+    </Compile>
     <Compile Update="04-pump\PumpFullInfoCtrl.cs">
       <SubType>UserControl</SubType>
     </Compile>
     <Compile Update="04-pump\PumpFullInfoViewDlg.cs">
       <SubType>Form</SubType>
     </Compile>
-    <Compile Update="04-pump\PumpPropViewCtrl.cs">
+    <Compile Update="04-pump\01-Prop\PumpPropViewCtrl.cs">
       <SubType>UserControl</SubType>
     </Compile>
-    <Compile Update="04-pump\XtraUserControl1.cs">
+    <Compile Update="04-pump\01-Prop\PumpBarItem.cs">
       <SubType>UserControl</SubType>
     </Compile>
   </ItemGroup>

--
Gitblit v1.9.3