From a234486afe7d632b46cd65fa2cffbd07d93d4285 Mon Sep 17 00:00:00 2001
From: lixiaojun <1287241240@qq.com>
Date: 星期一, 10 二月 2025 13:49:02 +0800
Subject: [PATCH] 并联曲线bug修复及单泵性能曲线编辑功能优化

---
 WinFrmUI/HStation.WinFrmUI.Xhs.Core/HStation.WinFrmUI.Xhs.Core.csproj                                    |   28 -
 Desktop/HStation.Desktop.Xhs.Core/Properties/PublishProfiles/FolderProfile.pubxml.user                   |    2 
 Entry/HStation.Entry.Xhs.Core/HStation.Entry.Xhs.Core.csproj.user                                        |    2 
 WinFrmUI/HStation.WinFrmUI.Xhs.Core/HStation.WinFrmUI.Xhs.Core.csproj.user                               |    9 
 HStation.Xhs.Core.sln                                                                                    |  114 ---------
 WinFrmUI/HStation.WinFrmUI.Xhs.Core/03-simulation/11-pump/02-feat/SimulationSinglePumpFeatDlg.cs         |   16 +
 WinFrmUI/HStation.WinFrmUI.Xhs.Core/03-simulation/11-pump/05-edit/SimulationPumpCurveEditDlg.Designer.cs |  169 +++++++++++++++
 /dev/null                                                                                                |  120 ----------
 WinFrmUI/HStation.WinFrmUI.Xhs.Core/03-simulation/01-property/SimulationPropertyCtrl.cs                  |    2 
 BLL/PBS.BLL.WE.Core/PBS.BLL.WE.Core.csproj                                                               |    1 
 WinFrmUI/HStation.WinFrmUI.Xhs.Core/03-simulation/11-pump/05-edit/SimulationPumpCurveEditDlg.cs          |   72 ++++++
 WinFrmUI/Yw.WinFrmUI.Hydro.Core/04-viewmodel/04-link/03-pump/HydroPumpViewModel.cs                       |    6 
 WinFrmUI/HStation.WinFrmUI.Xhs.Core/03-simulation/11-pump/05-edit/SimulationPumpCurveEditDlg.resx        |    4 
 BLL/PBS.BLL.Core/PBS.BLL.Core.csproj                                                                     |    1 
 WinFrmUI/HStation.WinFrmUI.Xhs.Core/03-simulation/11-pump/02-feat/SimulationSinglePumpFeatCtrl.cs        |   71 +++++
 15 files changed, 336 insertions(+), 281 deletions(-)

diff --git a/BLL/PBS.BLL.Core/PBS.BLL.Core.csproj b/BLL/PBS.BLL.Core/PBS.BLL.Core.csproj
index 8845283..2ab5023 100644
--- a/BLL/PBS.BLL.Core/PBS.BLL.Core.csproj
+++ b/BLL/PBS.BLL.Core/PBS.BLL.Core.csproj
@@ -37,7 +37,6 @@
 	</ItemGroup>
 
 	<ItemGroup>
-	  <ProjectReference Include="..\..\Vmo\PBS.Vmo.Core\PBS.Vmo.Core.csproj" />
 	  <ProjectReference Include="..\HStation.BLL.Core\HStation.BLL.Core.csproj" />
 	</ItemGroup>
 
diff --git a/BLL/PBS.BLL.WE.Core/PBS.BLL.WE.Core.csproj b/BLL/PBS.BLL.WE.Core/PBS.BLL.WE.Core.csproj
index 12d91d4..a870a31 100644
--- a/BLL/PBS.BLL.WE.Core/PBS.BLL.WE.Core.csproj
+++ b/BLL/PBS.BLL.WE.Core/PBS.BLL.WE.Core.csproj
@@ -37,7 +37,6 @@
 	</ItemGroup>
 
 	<ItemGroup>  
-	  <ProjectReference Include="..\..\Vmo\PBS.Vmo.WE.Core\PBS.Vmo.WE.Core.csproj" />  
 	  <ProjectReference Include="..\HStation.BLL.Core\HStation.BLL.Core.csproj" />
 	</ItemGroup>
 
diff --git a/Desktop/HStation.Desktop.Xhs.Core/Properties/PublishProfiles/FolderProfile.pubxml.user b/Desktop/HStation.Desktop.Xhs.Core/Properties/PublishProfiles/FolderProfile.pubxml.user
index 20aee31..ef2b9fd 100644
--- a/Desktop/HStation.Desktop.Xhs.Core/Properties/PublishProfiles/FolderProfile.pubxml.user
+++ b/Desktop/HStation.Desktop.Xhs.Core/Properties/PublishProfiles/FolderProfile.pubxml.user
@@ -4,7 +4,7 @@
 -->
 <Project>
   <PropertyGroup>
-    <History>True|2025-02-06T06:55:56.1351264Z;True|2025-01-25T12:27:20.2443551+08:00;True|2025-01-24T09:16:09.4525881+08:00;True|2025-01-23T14:29:01.1814366+08:00;True|2025-01-23T14:28:18.0513868+08:00;True|2025-01-23T13:53:07.5061161+08:00;True|2025-01-23T12:58:32.3093753+08:00;True|2025-01-23T12:58:02.8169460+08:00;True|2025-01-23T12:57:05.6740839+08:00;True|2025-01-23T11:07:51.4564403+08:00;True|2025-01-13T11:03:21.1732352+08:00;True|2024-10-21T12:02:00.7754536+08:00;False|2024-10-21T11:51:29.4414327+08:00;False|2024-10-21T11:50:51.8640100+08:00;False|2024-10-21T11:49:14.9169777+08:00;</History>
+    <History>True|2025-02-10T05:32:35.7746635Z;True|2025-02-06T14:55:56.1351264+08:00;True|2025-01-25T12:27:20.2443551+08:00;True|2025-01-24T09:16:09.4525881+08:00;True|2025-01-23T14:29:01.1814366+08:00;True|2025-01-23T14:28:18.0513868+08:00;True|2025-01-23T13:53:07.5061161+08:00;True|2025-01-23T12:58:32.3093753+08:00;True|2025-01-23T12:58:02.8169460+08:00;True|2025-01-23T12:57:05.6740839+08:00;True|2025-01-23T11:07:51.4564403+08:00;True|2025-01-13T11:03:21.1732352+08:00;True|2024-10-21T12:02:00.7754536+08:00;False|2024-10-21T11:51:29.4414327+08:00;False|2024-10-21T11:50:51.8640100+08:00;False|2024-10-21T11:49:14.9169777+08:00;</History>
     <LastFailureDetails />
   </PropertyGroup>
 </Project>
\ No newline at end of file
diff --git a/Entry/HStation.Entry.Xhs.Core/HStation.Entry.Xhs.Core.csproj.user b/Entry/HStation.Entry.Xhs.Core/HStation.Entry.Xhs.Core.csproj.user
index 142cb01..7f10306 100644
--- a/Entry/HStation.Entry.Xhs.Core/HStation.Entry.Xhs.Core.csproj.user
+++ b/Entry/HStation.Entry.Xhs.Core/HStation.Entry.Xhs.Core.csproj.user
@@ -1,7 +1,7 @@
 锘�<?xml version="1.0" encoding="utf-8"?>
 <Project ToolsVersion="Current" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
   <PropertyGroup>
-    <NameOfLastUsedPublishProfile>D:\WorkData\HStation\XHS.V1.0\Entry\HStation.Entry.Xhs.Core\Properties\PublishProfiles\FolderProfile.pubxml</NameOfLastUsedPublishProfile>
+    <NameOfLastUsedPublishProfile>D:\WorkData\git\HStation\XHS\Entry\HStation.Entry.Xhs.Core\Properties\PublishProfiles\FolderProfile.pubxml</NameOfLastUsedPublishProfile>
     <ActiveDebugProfile>IIS Express</ActiveDebugProfile>
   </PropertyGroup>
   <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|AnyCPU'">
diff --git a/HStation.Xhs.Core.sln b/HStation.Xhs.Core.sln
index a949209..56f378c 100644
--- a/HStation.Xhs.Core.sln
+++ b/HStation.Xhs.Core.sln
@@ -151,15 +151,9 @@
 EndProject
 Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "PBS.BLL.Core", "BLL\PBS.BLL.Core\PBS.BLL.Core.csproj", "{D1372E00-6FEB-4F00-9449-A58BCE249656}"
 EndProject
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "PBS.Desktop.Core", "Desktop\PBS.Desktop.Core\PBS.Desktop.Core.csproj", "{45CE2641-C4D0-41D6-856B-D2A0D4933A15}"
-EndProject
 Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "PBS.Dto.Core", "Dto\PBS.Dto.Core\PBS.Dto.Core.csproj", "{4D58D0C1-A6AA-4998-8D3F-F166EA16E726}"
 EndProject
 Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "PBS.Service.Core", "Service\PBS.Service.Core\PBS.Service.Core.csproj", "{0481BB0C-9A3F-420B-893D-4A62D88778B9}"
-EndProject
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "PBS.Vmo.Core", "Vmo\PBS.Vmo.Core\PBS.Vmo.Core.csproj", "{854F420C-0B0D-49CE-BACE-A4C5E0C8B63D}"
-EndProject
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "PBS.WinFrmUI.Core", "WinFrmUI\PBS.WinFrmUI.Core\PBS.WinFrmUI.Core.csproj", "{DA7543AF-E172-460B-9291-676406842FF6}"
 EndProject
 Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "PBS.Dto.WE.Core", "Dto\PBS.Dto.WE.Core\PBS.Dto.WE.Core.csproj", "{3B8436E9-FE16-49AC-947C-00AC9A9AEDFD}"
 EndProject
@@ -167,15 +161,13 @@
 EndProject
 Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "PBS.Service.WE.Core", "Service\PBS.Service.WE.Core\PBS.Service.WE.Core.csproj", "{E1418FE2-9328-4513-BC3C-54B02666AB83}"
 EndProject
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "PBS.Vmo.WE.Core", "Vmo\PBS.Vmo.WE.Core\PBS.Vmo.WE.Core.csproj", "{0027C42F-43FA-498B-AA11-8473FBBD0652}"
-EndProject
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "PBS.WinFrmUI.WE.Core", "WinFrmUI\PBS.WinFrmUI.WE.Core\PBS.WinFrmUI.WE.Core.csproj", "{D247EDFB-2A15-4FAC-BE7E-3AD0CF0A42FC}"
-EndProject
 Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "HStation.ReportFile.SDK.Core", "Component\HStation.ReportFile.SDK.Core\HStation.ReportFile.SDK.Core.csproj", "{4C71B0A5-2F2A-4AE3-86BF-556E7F8EF97B}"
 EndProject
 Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Yw.DiagramFile.SDK.Core", "Component\Yw.DiagramFile.SDK.Core\Yw.DiagramFile.SDK.Core.csproj", "{21D4EA4C-3A6A-4B65-9FD8-11A34768872C}"
 EndProject
 Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "HStation.Application.PhartRelation.Core", "Application\HStation.Application.PhartRelation.Core\HStation.Application.PhartRelation.Core.csproj", "{36AD458B-32A8-4FF9-8548-8FD2CD7ADABF}"
+EndProject
+Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Yw", "Yw", "{46F06FE7-18FB-4F0E-9AB1-A9A0A3E5C81A}"
 EndProject
 Global
 	GlobalSection(SolutionConfigurationPlatforms) = preSolution
@@ -1324,24 +1316,6 @@
 		{D1372E00-6FEB-4F00-9449-A58BCE249656}.Release|x64.Build.0 = Release|Any CPU
 		{D1372E00-6FEB-4F00-9449-A58BCE249656}.Release|x86.ActiveCfg = Release|Any CPU
 		{D1372E00-6FEB-4F00-9449-A58BCE249656}.Release|x86.Build.0 = Release|Any CPU
-		{45CE2641-C4D0-41D6-856B-D2A0D4933A15}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
-		{45CE2641-C4D0-41D6-856B-D2A0D4933A15}.Debug|Any CPU.Build.0 = Debug|Any CPU
-		{45CE2641-C4D0-41D6-856B-D2A0D4933A15}.Debug|x64.ActiveCfg = Debug|Any CPU
-		{45CE2641-C4D0-41D6-856B-D2A0D4933A15}.Debug|x64.Build.0 = Debug|Any CPU
-		{45CE2641-C4D0-41D6-856B-D2A0D4933A15}.Debug|x86.ActiveCfg = Debug|Any CPU
-		{45CE2641-C4D0-41D6-856B-D2A0D4933A15}.Debug|x86.Build.0 = Debug|Any CPU
-		{45CE2641-C4D0-41D6-856B-D2A0D4933A15}.dll_test|Any CPU.ActiveCfg = Debug|Any CPU
-		{45CE2641-C4D0-41D6-856B-D2A0D4933A15}.dll_test|Any CPU.Build.0 = Debug|Any CPU
-		{45CE2641-C4D0-41D6-856B-D2A0D4933A15}.dll_test|x64.ActiveCfg = Debug|Any CPU
-		{45CE2641-C4D0-41D6-856B-D2A0D4933A15}.dll_test|x64.Build.0 = Debug|Any CPU
-		{45CE2641-C4D0-41D6-856B-D2A0D4933A15}.dll_test|x86.ActiveCfg = Debug|Any CPU
-		{45CE2641-C4D0-41D6-856B-D2A0D4933A15}.dll_test|x86.Build.0 = Debug|Any CPU
-		{45CE2641-C4D0-41D6-856B-D2A0D4933A15}.Release|Any CPU.ActiveCfg = Release|Any CPU
-		{45CE2641-C4D0-41D6-856B-D2A0D4933A15}.Release|Any CPU.Build.0 = Release|Any CPU
-		{45CE2641-C4D0-41D6-856B-D2A0D4933A15}.Release|x64.ActiveCfg = Release|Any CPU
-		{45CE2641-C4D0-41D6-856B-D2A0D4933A15}.Release|x64.Build.0 = Release|Any CPU
-		{45CE2641-C4D0-41D6-856B-D2A0D4933A15}.Release|x86.ActiveCfg = Release|Any CPU
-		{45CE2641-C4D0-41D6-856B-D2A0D4933A15}.Release|x86.Build.0 = Release|Any CPU
 		{4D58D0C1-A6AA-4998-8D3F-F166EA16E726}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
 		{4D58D0C1-A6AA-4998-8D3F-F166EA16E726}.Debug|Any CPU.Build.0 = Debug|Any CPU
 		{4D58D0C1-A6AA-4998-8D3F-F166EA16E726}.Debug|x64.ActiveCfg = Debug|Any CPU
@@ -1378,42 +1352,6 @@
 		{0481BB0C-9A3F-420B-893D-4A62D88778B9}.Release|x64.Build.0 = Release|Any CPU
 		{0481BB0C-9A3F-420B-893D-4A62D88778B9}.Release|x86.ActiveCfg = Release|Any CPU
 		{0481BB0C-9A3F-420B-893D-4A62D88778B9}.Release|x86.Build.0 = Release|Any CPU
-		{854F420C-0B0D-49CE-BACE-A4C5E0C8B63D}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
-		{854F420C-0B0D-49CE-BACE-A4C5E0C8B63D}.Debug|Any CPU.Build.0 = Debug|Any CPU
-		{854F420C-0B0D-49CE-BACE-A4C5E0C8B63D}.Debug|x64.ActiveCfg = Debug|Any CPU
-		{854F420C-0B0D-49CE-BACE-A4C5E0C8B63D}.Debug|x64.Build.0 = Debug|Any CPU
-		{854F420C-0B0D-49CE-BACE-A4C5E0C8B63D}.Debug|x86.ActiveCfg = Debug|Any CPU
-		{854F420C-0B0D-49CE-BACE-A4C5E0C8B63D}.Debug|x86.Build.0 = Debug|Any CPU
-		{854F420C-0B0D-49CE-BACE-A4C5E0C8B63D}.dll_test|Any CPU.ActiveCfg = Debug|Any CPU
-		{854F420C-0B0D-49CE-BACE-A4C5E0C8B63D}.dll_test|Any CPU.Build.0 = Debug|Any CPU
-		{854F420C-0B0D-49CE-BACE-A4C5E0C8B63D}.dll_test|x64.ActiveCfg = Debug|Any CPU
-		{854F420C-0B0D-49CE-BACE-A4C5E0C8B63D}.dll_test|x64.Build.0 = Debug|Any CPU
-		{854F420C-0B0D-49CE-BACE-A4C5E0C8B63D}.dll_test|x86.ActiveCfg = Debug|Any CPU
-		{854F420C-0B0D-49CE-BACE-A4C5E0C8B63D}.dll_test|x86.Build.0 = Debug|Any CPU
-		{854F420C-0B0D-49CE-BACE-A4C5E0C8B63D}.Release|Any CPU.ActiveCfg = Release|Any CPU
-		{854F420C-0B0D-49CE-BACE-A4C5E0C8B63D}.Release|Any CPU.Build.0 = Release|Any CPU
-		{854F420C-0B0D-49CE-BACE-A4C5E0C8B63D}.Release|x64.ActiveCfg = Release|Any CPU
-		{854F420C-0B0D-49CE-BACE-A4C5E0C8B63D}.Release|x64.Build.0 = Release|Any CPU
-		{854F420C-0B0D-49CE-BACE-A4C5E0C8B63D}.Release|x86.ActiveCfg = Release|Any CPU
-		{854F420C-0B0D-49CE-BACE-A4C5E0C8B63D}.Release|x86.Build.0 = Release|Any CPU
-		{DA7543AF-E172-460B-9291-676406842FF6}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
-		{DA7543AF-E172-460B-9291-676406842FF6}.Debug|Any CPU.Build.0 = Debug|Any CPU
-		{DA7543AF-E172-460B-9291-676406842FF6}.Debug|x64.ActiveCfg = Debug|Any CPU
-		{DA7543AF-E172-460B-9291-676406842FF6}.Debug|x64.Build.0 = Debug|Any CPU
-		{DA7543AF-E172-460B-9291-676406842FF6}.Debug|x86.ActiveCfg = Debug|Any CPU
-		{DA7543AF-E172-460B-9291-676406842FF6}.Debug|x86.Build.0 = Debug|Any CPU
-		{DA7543AF-E172-460B-9291-676406842FF6}.dll_test|Any CPU.ActiveCfg = Debug|Any CPU
-		{DA7543AF-E172-460B-9291-676406842FF6}.dll_test|Any CPU.Build.0 = Debug|Any CPU
-		{DA7543AF-E172-460B-9291-676406842FF6}.dll_test|x64.ActiveCfg = Debug|Any CPU
-		{DA7543AF-E172-460B-9291-676406842FF6}.dll_test|x64.Build.0 = Debug|Any CPU
-		{DA7543AF-E172-460B-9291-676406842FF6}.dll_test|x86.ActiveCfg = Debug|Any CPU
-		{DA7543AF-E172-460B-9291-676406842FF6}.dll_test|x86.Build.0 = Debug|Any CPU
-		{DA7543AF-E172-460B-9291-676406842FF6}.Release|Any CPU.ActiveCfg = Release|Any CPU
-		{DA7543AF-E172-460B-9291-676406842FF6}.Release|Any CPU.Build.0 = Release|Any CPU
-		{DA7543AF-E172-460B-9291-676406842FF6}.Release|x64.ActiveCfg = Release|Any CPU
-		{DA7543AF-E172-460B-9291-676406842FF6}.Release|x64.Build.0 = Release|Any CPU
-		{DA7543AF-E172-460B-9291-676406842FF6}.Release|x86.ActiveCfg = Release|Any CPU
-		{DA7543AF-E172-460B-9291-676406842FF6}.Release|x86.Build.0 = Release|Any CPU
 		{3B8436E9-FE16-49AC-947C-00AC9A9AEDFD}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
 		{3B8436E9-FE16-49AC-947C-00AC9A9AEDFD}.Debug|Any CPU.Build.0 = Debug|Any CPU
 		{3B8436E9-FE16-49AC-947C-00AC9A9AEDFD}.Debug|x64.ActiveCfg = Debug|Any CPU
@@ -1468,42 +1406,6 @@
 		{E1418FE2-9328-4513-BC3C-54B02666AB83}.Release|x64.Build.0 = Release|Any CPU
 		{E1418FE2-9328-4513-BC3C-54B02666AB83}.Release|x86.ActiveCfg = Release|Any CPU
 		{E1418FE2-9328-4513-BC3C-54B02666AB83}.Release|x86.Build.0 = Release|Any CPU
-		{0027C42F-43FA-498B-AA11-8473FBBD0652}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
-		{0027C42F-43FA-498B-AA11-8473FBBD0652}.Debug|Any CPU.Build.0 = Debug|Any CPU
-		{0027C42F-43FA-498B-AA11-8473FBBD0652}.Debug|x64.ActiveCfg = Debug|Any CPU
-		{0027C42F-43FA-498B-AA11-8473FBBD0652}.Debug|x64.Build.0 = Debug|Any CPU
-		{0027C42F-43FA-498B-AA11-8473FBBD0652}.Debug|x86.ActiveCfg = Debug|Any CPU
-		{0027C42F-43FA-498B-AA11-8473FBBD0652}.Debug|x86.Build.0 = Debug|Any CPU
-		{0027C42F-43FA-498B-AA11-8473FBBD0652}.dll_test|Any CPU.ActiveCfg = Debug|Any CPU
-		{0027C42F-43FA-498B-AA11-8473FBBD0652}.dll_test|Any CPU.Build.0 = Debug|Any CPU
-		{0027C42F-43FA-498B-AA11-8473FBBD0652}.dll_test|x64.ActiveCfg = Debug|Any CPU
-		{0027C42F-43FA-498B-AA11-8473FBBD0652}.dll_test|x64.Build.0 = Debug|Any CPU
-		{0027C42F-43FA-498B-AA11-8473FBBD0652}.dll_test|x86.ActiveCfg = Debug|Any CPU
-		{0027C42F-43FA-498B-AA11-8473FBBD0652}.dll_test|x86.Build.0 = Debug|Any CPU
-		{0027C42F-43FA-498B-AA11-8473FBBD0652}.Release|Any CPU.ActiveCfg = Release|Any CPU
-		{0027C42F-43FA-498B-AA11-8473FBBD0652}.Release|Any CPU.Build.0 = Release|Any CPU
-		{0027C42F-43FA-498B-AA11-8473FBBD0652}.Release|x64.ActiveCfg = Release|Any CPU
-		{0027C42F-43FA-498B-AA11-8473FBBD0652}.Release|x64.Build.0 = Release|Any CPU
-		{0027C42F-43FA-498B-AA11-8473FBBD0652}.Release|x86.ActiveCfg = Release|Any CPU
-		{0027C42F-43FA-498B-AA11-8473FBBD0652}.Release|x86.Build.0 = Release|Any CPU
-		{D247EDFB-2A15-4FAC-BE7E-3AD0CF0A42FC}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
-		{D247EDFB-2A15-4FAC-BE7E-3AD0CF0A42FC}.Debug|Any CPU.Build.0 = Debug|Any CPU
-		{D247EDFB-2A15-4FAC-BE7E-3AD0CF0A42FC}.Debug|x64.ActiveCfg = Debug|Any CPU
-		{D247EDFB-2A15-4FAC-BE7E-3AD0CF0A42FC}.Debug|x64.Build.0 = Debug|Any CPU
-		{D247EDFB-2A15-4FAC-BE7E-3AD0CF0A42FC}.Debug|x86.ActiveCfg = Debug|Any CPU
-		{D247EDFB-2A15-4FAC-BE7E-3AD0CF0A42FC}.Debug|x86.Build.0 = Debug|Any CPU
-		{D247EDFB-2A15-4FAC-BE7E-3AD0CF0A42FC}.dll_test|Any CPU.ActiveCfg = Debug|Any CPU
-		{D247EDFB-2A15-4FAC-BE7E-3AD0CF0A42FC}.dll_test|Any CPU.Build.0 = Debug|Any CPU
-		{D247EDFB-2A15-4FAC-BE7E-3AD0CF0A42FC}.dll_test|x64.ActiveCfg = Debug|Any CPU
-		{D247EDFB-2A15-4FAC-BE7E-3AD0CF0A42FC}.dll_test|x64.Build.0 = Debug|Any CPU
-		{D247EDFB-2A15-4FAC-BE7E-3AD0CF0A42FC}.dll_test|x86.ActiveCfg = Debug|Any CPU
-		{D247EDFB-2A15-4FAC-BE7E-3AD0CF0A42FC}.dll_test|x86.Build.0 = Debug|Any CPU
-		{D247EDFB-2A15-4FAC-BE7E-3AD0CF0A42FC}.Release|Any CPU.ActiveCfg = Release|Any CPU
-		{D247EDFB-2A15-4FAC-BE7E-3AD0CF0A42FC}.Release|Any CPU.Build.0 = Release|Any CPU
-		{D247EDFB-2A15-4FAC-BE7E-3AD0CF0A42FC}.Release|x64.ActiveCfg = Release|Any CPU
-		{D247EDFB-2A15-4FAC-BE7E-3AD0CF0A42FC}.Release|x64.Build.0 = Release|Any CPU
-		{D247EDFB-2A15-4FAC-BE7E-3AD0CF0A42FC}.Release|x86.ActiveCfg = Release|Any CPU
-		{D247EDFB-2A15-4FAC-BE7E-3AD0CF0A42FC}.Release|x86.Build.0 = Release|Any CPU
 		{4C71B0A5-2F2A-4AE3-86BF-556E7F8EF97B}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
 		{4C71B0A5-2F2A-4AE3-86BF-556E7F8EF97B}.Debug|Any CPU.Build.0 = Debug|Any CPU
 		{4C71B0A5-2F2A-4AE3-86BF-556E7F8EF97B}.Debug|x64.ActiveCfg = Debug|Any CPU
@@ -1565,8 +1467,8 @@
 	GlobalSection(NestedProjects) = preSolution
 		{9931F97D-4272-46A2-AB4C-FC009092F67E} = {4F0A7BA1-6ED6-4F4F-A3B4-B9B3A133D869}
 		{85167FCF-0116-4E10-960D-6BBE976E2137} = {CF8E0A6C-9342-430D-BD10-6E1B5DE18571}
-		{24269A77-437A-4300-B8BC-51C73320B120} = {4F0A7BA1-6ED6-4F4F-A3B4-B9B3A133D869}
-		{ADAA78E3-921C-4BB9-82F1-90E8438D26A1} = {4F0A7BA1-6ED6-4F4F-A3B4-B9B3A133D869}
+		{24269A77-437A-4300-B8BC-51C73320B120} = {46F06FE7-18FB-4F0E-9AB1-A9A0A3E5C81A}
+		{ADAA78E3-921C-4BB9-82F1-90E8438D26A1} = {46F06FE7-18FB-4F0E-9AB1-A9A0A3E5C81A}
 		{87956CDB-364B-4FD6-8E57-3E1C33D73046} = {4F0A7BA1-6ED6-4F4F-A3B4-B9B3A133D869}
 		{0446EFFD-7AD1-4C0A-A91A-A2E163DA2EAD} = {4F0A7BA1-6ED6-4F4F-A3B4-B9B3A133D869}
 		{76F63C63-046C-4AC5-8732-9A889CC183E3} = {4F0A7BA1-6ED6-4F4F-A3B4-B9B3A133D869}
@@ -1589,7 +1491,7 @@
 		{A9253100-6A3B-47E8-AACC-289C9756336B} = {929B3BD5-B817-4EAF-ADA4-3DFBD1580DA6}
 		{0AFD5926-BBB4-4DC9-92B3-5FCD15C84A42} = {CF8E0A6C-9342-430D-BD10-6E1B5DE18571}
 		{42261EEA-8BA7-4096-92B1-E809BDD72A82} = {4F0A7BA1-6ED6-4F4F-A3B4-B9B3A133D869}
-		{BBC8C860-98B1-45B1-B41D-518DCB402C17} = {4F0A7BA1-6ED6-4F4F-A3B4-B9B3A133D869}
+		{BBC8C860-98B1-45B1-B41D-518DCB402C17} = {46F06FE7-18FB-4F0E-9AB1-A9A0A3E5C81A}
 		{F6068234-6BFC-48B1-9FAB-2892C097C430} = {9F4F9ECE-9C4C-4796-91A1-69805F823EA5}
 		{D6F58BEC-660B-4EFF-9A8F-D70571F6EFB8} = {9F4F9ECE-9C4C-4796-91A1-69805F823EA5}
 		{6D1548F3-2C29-4B96-A3F5-A9D3BDD65454} = {9F4F9ECE-9C4C-4796-91A1-69805F823EA5}
@@ -1626,19 +1528,15 @@
 		{85126D9A-8201-4231-B796-2BBFF8FE17FC} = {4F0A7BA1-6ED6-4F4F-A3B4-B9B3A133D869}
 		{F0829321-2C4D-40F8-A729-47FA9428DC66} = {4F0A7BA1-6ED6-4F4F-A3B4-B9B3A133D869}
 		{D1372E00-6FEB-4F00-9449-A58BCE249656} = {4D3764D7-19DE-4C77-8F75-0EFB19D64B3F}
-		{45CE2641-C4D0-41D6-856B-D2A0D4933A15} = {E43ECCDE-FE94-4165-93CA-C14F197378FB}
 		{4D58D0C1-A6AA-4998-8D3F-F166EA16E726} = {929B3BD5-B817-4EAF-ADA4-3DFBD1580DA6}
 		{0481BB0C-9A3F-420B-893D-4A62D88778B9} = {CF8E0A6C-9342-430D-BD10-6E1B5DE18571}
-		{854F420C-0B0D-49CE-BACE-A4C5E0C8B63D} = {E956660D-6E09-417B-9A3C-27888AF69266}
-		{DA7543AF-E172-460B-9291-676406842FF6} = {4F0A7BA1-6ED6-4F4F-A3B4-B9B3A133D869}
 		{3B8436E9-FE16-49AC-947C-00AC9A9AEDFD} = {929B3BD5-B817-4EAF-ADA4-3DFBD1580DA6}
 		{57903F9E-7025-4C87-AA9D-04F19BC34575} = {4D3764D7-19DE-4C77-8F75-0EFB19D64B3F}
 		{E1418FE2-9328-4513-BC3C-54B02666AB83} = {CF8E0A6C-9342-430D-BD10-6E1B5DE18571}
-		{0027C42F-43FA-498B-AA11-8473FBBD0652} = {E956660D-6E09-417B-9A3C-27888AF69266}
-		{D247EDFB-2A15-4FAC-BE7E-3AD0CF0A42FC} = {4F0A7BA1-6ED6-4F4F-A3B4-B9B3A133D869}
 		{4C71B0A5-2F2A-4AE3-86BF-556E7F8EF97B} = {0469F9DE-F12C-4B83-A871-A77A82DCB4C8}
 		{21D4EA4C-3A6A-4B65-9FD8-11A34768872C} = {0469F9DE-F12C-4B83-A871-A77A82DCB4C8}
 		{36AD458B-32A8-4FF9-8548-8FD2CD7ADABF} = {276C57AF-5A9C-4A50-A79E-A5098D322FE9}
+		{46F06FE7-18FB-4F0E-9AB1-A9A0A3E5C81A} = {4F0A7BA1-6ED6-4F4F-A3B4-B9B3A133D869}
 	EndGlobalSection
 	GlobalSection(ExtensibilityGlobals) = postSolution
 		SolutionGuid = {E02989A8-9B6F-43E5-AACA-790328215089}
diff --git a/WinFrmUI/HStation.WinFrmUI.Xhs.Core/03-simulation/01-property/SimulationPropertyCtrl.cs b/WinFrmUI/HStation.WinFrmUI.Xhs.Core/03-simulation/01-property/SimulationPropertyCtrl.cs
index 243bc02..e7ac3bc 100644
--- a/WinFrmUI/HStation.WinFrmUI.Xhs.Core/03-simulation/01-property/SimulationPropertyCtrl.cs
+++ b/WinFrmUI/HStation.WinFrmUI.Xhs.Core/03-simulation/01-property/SimulationPropertyCtrl.cs
@@ -486,7 +486,7 @@
                             pumpViewModel.UpdateProperty();
                             this.hydroVisualPropertyCtrl1.UpdateRows();
                         };
-                        dlg.SetBindingData(pumpViewModel, this.CalcuResult?.Invoke());
+                        dlg.SetBindingData(pumpViewModel, this.CalcuResult?.Invoke(), _changeHelper, _propStatusHelper);
                         dlg.ShowDialog();
                     }
                     break;
diff --git a/WinFrmUI/HStation.WinFrmUI.Xhs.Core/03-simulation/11-pump/02-feat/SimulationSinglePumpFeatCtrl.cs b/WinFrmUI/HStation.WinFrmUI.Xhs.Core/03-simulation/11-pump/02-feat/SimulationSinglePumpFeatCtrl.cs
index 62d6005..e695bad 100644
--- a/WinFrmUI/HStation.WinFrmUI.Xhs.Core/03-simulation/11-pump/02-feat/SimulationSinglePumpFeatCtrl.cs
+++ b/WinFrmUI/HStation.WinFrmUI.Xhs.Core/03-simulation/11-pump/02-feat/SimulationSinglePumpFeatCtrl.cs
@@ -10,11 +10,12 @@
         {
             InitializeComponent();
             this.layoutControl1.SetupLayoutControl();
+            this.pumpOperationChart1.AllowEditCurve = true;
             this.pumpOperationChart1.DesignPointChangedEvent += PumpParallelChart1_DesignPointChangedEvent;
             this.pumpOperationChart1.QueryPointChangedEvent += PumpParallelChart1_QueryPointChangedEvent;
+            this.pumpOperationChart1.EditCurveEvent += PumpOperationChart1_EditCurveEvent;
             this.hydroSinglePumpListExtendGridCtrl1.StateChangedEvent += HydroSinglePumpListExtendGridCtrl1_StateChangedEvent;
         }
-
 
         /// <summary>
         /// 淇濆瓨浜嬩欢
@@ -23,9 +24,11 @@
 
         private Yw.Model.HydroModelInfo _hydroInfo = null;
         private Yw.Model.HydroPumpInfo _pumpInfo = null;
-        private HydroCalcuResult _calcuResult = null;
-        private double _head = 0;//
-
+        private HydroCalcuResult _calcuResult = null;//璁$畻缁撴灉
+        private double _head = 0;
+        private PumpOperationViewModel _vm = null;//鎵�鏈夋搷浣滃垪琛�
+        private HydroChangeHelper _changeHelper = null;//鏀瑰彉杈呭姪绫�
+        private HydroPropStatusHelper _propStatusHelper = null;//灞炴�х姸鎬佽緟鍔╃被
 
         /// <summary>
         /// 缁戝畾鏁版嵁
@@ -34,7 +37,9 @@
             (
                 Yw.Model.HydroModelInfo hydroInfo,
                 Yw.Model.HydroPumpInfo pumpInfo,
-                HydroCalcuResult calcuResult
+                HydroCalcuResult calcuResult,
+                HydroChangeHelper changeHelper,
+                HydroPropStatusHelper propStatusHelper
             )
         {
             if (hydroInfo == null)
@@ -51,8 +56,8 @@
             _head = _hydroInfo.GetHead();
             this.hydroSinglePumpListExtendGridCtrl1.SetBindingData(pumpInfo);
             var allStateList = this.hydroSinglePumpListExtendGridCtrl1.GetStateList();
-            var vm = CreateViewModel(allStateList);
-            this.pumpOperationChart1.SetBindingData(vm);
+            _vm = CreateViewModel(allStateList);
+            this.pumpOperationChart1.SetBindingData(_vm);
             if (calcuResult != null)
             {
                 var allCalcuVisualDict = calcuResult.GetVisualDict();
@@ -86,8 +91,8 @@
             {
                 return;
             }
-            var vm = CreateViewModel(allStateList);
-            this.pumpOperationChart1.SetBindingData(vm);
+            _vm = CreateViewModel(allStateList);
+            this.pumpOperationChart1.SetBindingData(_vm);
         }
 
         //淇濆瓨
@@ -198,6 +203,54 @@
             this.hydroSinglePumpQueryPointListGridCtrl1.SetBindingData(vmList);
         }
 
+        //缂栬緫鏇茬嚎
+        private void PumpOperationChart1_EditCurveEvent()
+        {
+            if (_hydroInfo == null)
+            {
+                return;
+            }
+            if (_pumpInfo == null)
+            {
+                return;
+            }
+            var curveqh = _hydroInfo.Curves?.Find(x => x.Code == _pumpInfo.CurveQH);
+            if (curveqh == null)
+            {
+                return;
+            }
+            var qh_pts = curveqh.CurveData?.Select(x => new Yw.Geometry.Point2d(x.X, x.Y)).ToList();
+            var curveqp = _hydroInfo.Curves?.Find(x => x.Code == _pumpInfo.CurveQP);
+            if (curveqp == null)
+            {
+                return;
+            }
+            var qp_pts = curveqp.CurveData?.Select(x => new Yw.Geometry.Point2d(x.X, x.Y)).ToList();
+            var curveqe = _hydroInfo.Curves?.Find(x => x.Code == _pumpInfo.CurveQE);
+            if (curveqe == null)
+            {
+                return;
+            }
+            var qe_pts = curveqe.CurveData?.Select(x => new Yw.Geometry.Point2d(x.X, x.Y)).ToList();
+
+            var dlg = new SimulationPumpCurveEditDlg();
+            dlg.SetBindingData(qh_pts, qp_pts, qe_pts);
+            dlg.ReloadDataEvent += (curveqh_rhs, curveqp_rhs, curveqe_rhs) =>
+            {
+                curveqh.CurveData = curveqh_rhs.Select(x => new Yw.Model.Hydro.CurvePoint(x.X, x.Y)).ToList();
+                _changeHelper?.Append(curveqh, eChangeType.Update);
+                curveqp.CurveData = curveqp_rhs.Select(x => new Yw.Model.Hydro.CurvePoint(x.X, x.Y)).ToList();
+                _changeHelper?.Append(curveqp, eChangeType.Update);
+                curveqe.CurveData = curveqe_rhs.Select(x => new Yw.Model.Hydro.CurvePoint(x.X, x.Y)).ToList();
+                _changeHelper?.Append(curveqe, eChangeType.Update);
+                var allStateList = this.hydroSinglePumpListExtendGridCtrl1.GetStateList();
+                _vm = CreateViewModel(allStateList);
+                this.pumpOperationChart1.SetBindingData(_vm);
+
+            };
+            dlg.ShowDialog();
+        }
+
         //璁捐鐐�
         private void btnDesign_Click(object sender, EventArgs e)
         {
diff --git a/WinFrmUI/HStation.WinFrmUI.Xhs.Core/03-simulation/11-pump/02-feat/SimulationSinglePumpFeatDlg.cs b/WinFrmUI/HStation.WinFrmUI.Xhs.Core/03-simulation/11-pump/02-feat/SimulationSinglePumpFeatDlg.cs
index 80608b7..56c1cc3 100644
--- a/WinFrmUI/HStation.WinFrmUI.Xhs.Core/03-simulation/11-pump/02-feat/SimulationSinglePumpFeatDlg.cs
+++ b/WinFrmUI/HStation.WinFrmUI.Xhs.Core/03-simulation/11-pump/02-feat/SimulationSinglePumpFeatDlg.cs
@@ -22,13 +22,19 @@
         /// <summary>
         /// 缁戝畾鏁版嵁
         /// </summary>
-        public void SetBindingData(HydroPumpViewModel pumpViewModel, HydroCalcuResult calcuResult)
+        public void SetBindingData
+            (
+                HydroPumpViewModel pumpViewModel,
+                HydroCalcuResult calcuResult,
+                HydroChangeHelper changeHelper,
+                HydroPropStatusHelper propStatusHelper
+            )
         {
             if (pumpViewModel == null)
             {
                 return;
             }
-            SetBindingData(pumpViewModel.HydroInfo, pumpViewModel.Vmo, calcuResult);
+            SetBindingData(pumpViewModel.HydroInfo, pumpViewModel.Vmo, calcuResult, changeHelper, propStatusHelper);
         }
 
         /// <summary>
@@ -38,10 +44,12 @@
             (
                 Yw.Model.HydroModelInfo hydroInfo,
                 Yw.Model.HydroPumpInfo pumpInfo,
-                HydroCalcuResult calcuResult
+                HydroCalcuResult calcuResult,
+                HydroChangeHelper changeHelper,
+                HydroPropStatusHelper propStatusHelper
             )
         {
-            this.simulationSinglePumpFeatCtrl1.SetBindingData(hydroInfo, pumpInfo, calcuResult);
+            this.simulationSinglePumpFeatCtrl1.SetBindingData(hydroInfo, pumpInfo, calcuResult, changeHelper, propStatusHelper);
         }
 
         private void SimulationPumpFeatDlg_FormClosing(object sender, FormClosingEventArgs e)
diff --git a/WinFrmUI/HStation.WinFrmUI.Xhs.Core/03-simulation/11-pump/05-edit/SimulationPumpCurveEditDlg.Designer.cs b/WinFrmUI/HStation.WinFrmUI.Xhs.Core/03-simulation/11-pump/05-edit/SimulationPumpCurveEditDlg.Designer.cs
new file mode 100644
index 0000000..682ffd9
--- /dev/null
+++ b/WinFrmUI/HStation.WinFrmUI.Xhs.Core/03-simulation/11-pump/05-edit/SimulationPumpCurveEditDlg.Designer.cs
@@ -0,0 +1,169 @@
+锘縩amespace HStation.WinFrmUI
+{
+    partial class SimulationPumpCurveEditDlg
+    {
+        /// <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()
+        {
+            ribbon = new DevExpress.XtraBars.Ribbon.RibbonControl();
+            ribbonPage1 = new DevExpress.XtraBars.Ribbon.RibbonPage();
+            ribbonPageGroup1 = new DevExpress.XtraBars.Ribbon.RibbonPageGroup();
+            layoutControl1 = new DevExpress.XtraLayout.LayoutControl();
+            generalOkAndCancelCtrl1 = new GeneralOkAndCancelCtrl();
+            pumpChartExcelEditCtrl1 = new Yw.WinFrmUI.Phart.PumpChartExcelEditCtrl();
+            Root = new DevExpress.XtraLayout.LayoutControlGroup();
+            layoutControlItem1 = new DevExpress.XtraLayout.LayoutControlItem();
+            layoutControlItem2 = new DevExpress.XtraLayout.LayoutControlItem();
+            ((ISupportInitialize)ribbon).BeginInit();
+            ((ISupportInitialize)layoutControl1).BeginInit();
+            layoutControl1.SuspendLayout();
+            ((ISupportInitialize)Root).BeginInit();
+            ((ISupportInitialize)layoutControlItem1).BeginInit();
+            ((ISupportInitialize)layoutControlItem2).BeginInit();
+            SuspendLayout();
+            // 
+            // ribbon
+            // 
+            ribbon.ExpandCollapseItem.Id = 0;
+            ribbon.Items.AddRange(new DevExpress.XtraBars.BarItem[] { ribbon.ExpandCollapseItem });
+            ribbon.Location = new Point(0, 0);
+            ribbon.MaxItemId = 2;
+            ribbon.Name = "ribbon";
+            ribbon.Pages.AddRange(new DevExpress.XtraBars.Ribbon.RibbonPage[] { ribbonPage1 });
+            ribbon.RibbonCaptionAlignment = DevExpress.XtraBars.Ribbon.RibbonCaptionAlignment.Left;
+            ribbon.ShowDisplayOptionsMenuButton = DevExpress.Utils.DefaultBoolean.False;
+            ribbon.Size = new Size(1051, 32);
+            // 
+            // ribbonPage1
+            // 
+            ribbonPage1.Groups.AddRange(new DevExpress.XtraBars.Ribbon.RibbonPageGroup[] { ribbonPageGroup1 });
+            ribbonPage1.Name = "ribbonPage1";
+            ribbonPage1.Text = "ribbonPage1";
+            // 
+            // ribbonPageGroup1
+            // 
+            ribbonPageGroup1.Name = "ribbonPageGroup1";
+            ribbonPageGroup1.Text = "ribbonPageGroup1";
+            // 
+            // layoutControl1
+            // 
+            layoutControl1.Controls.Add(generalOkAndCancelCtrl1);
+            layoutControl1.Controls.Add(pumpChartExcelEditCtrl1);
+            layoutControl1.Dock = DockStyle.Fill;
+            layoutControl1.Location = new Point(0, 32);
+            layoutControl1.Name = "layoutControl1";
+            layoutControl1.Root = Root;
+            layoutControl1.Size = new Size(1051, 603);
+            layoutControl1.TabIndex = 1;
+            layoutControl1.Text = "layoutControl1";
+            // 
+            // generalOkAndCancelCtrl1
+            // 
+            generalOkAndCancelCtrl1.ButtonCancelMaxSize = new Size(100, 26);
+            generalOkAndCancelCtrl1.ButtonCancelMinSize = new Size(100, 26);
+            generalOkAndCancelCtrl1.ButtonOkMaxSize = new Size(100, 26);
+            generalOkAndCancelCtrl1.ButtonOkMinSize = new Size(100, 26);
+            generalOkAndCancelCtrl1.Location = new Point(12, 565);
+            generalOkAndCancelCtrl1.Name = "generalOkAndCancelCtrl1";
+            generalOkAndCancelCtrl1.Size = new Size(1027, 26);
+            generalOkAndCancelCtrl1.TabIndex = 5;
+            // 
+            // pumpChartExcelEditCtrl1
+            // 
+            pumpChartExcelEditCtrl1.Appearance.BackColor = SystemColors.Control;
+            pumpChartExcelEditCtrl1.Appearance.Options.UseBackColor = true;
+            pumpChartExcelEditCtrl1.Enabled = false;
+            pumpChartExcelEditCtrl1.Location = new Point(12, 12);
+            pumpChartExcelEditCtrl1.Name = "pumpChartExcelEditCtrl1";
+            pumpChartExcelEditCtrl1.Size = new Size(1027, 549);
+            pumpChartExcelEditCtrl1.TabIndex = 4;
+            // 
+            // Root
+            // 
+            Root.EnableIndentsWithoutBorders = DevExpress.Utils.DefaultBoolean.True;
+            Root.GroupBordersVisible = false;
+            Root.Items.AddRange(new DevExpress.XtraLayout.BaseLayoutItem[] { layoutControlItem1, layoutControlItem2 });
+            Root.Name = "Root";
+            Root.Size = new Size(1051, 603);
+            Root.TextVisible = false;
+            // 
+            // layoutControlItem1
+            // 
+            layoutControlItem1.Control = pumpChartExcelEditCtrl1;
+            layoutControlItem1.Location = new Point(0, 0);
+            layoutControlItem1.Name = "layoutControlItem1";
+            layoutControlItem1.Size = new Size(1031, 553);
+            layoutControlItem1.TextSize = new Size(0, 0);
+            layoutControlItem1.TextVisible = false;
+            // 
+            // layoutControlItem2
+            // 
+            layoutControlItem2.Control = generalOkAndCancelCtrl1;
+            layoutControlItem2.Location = new Point(0, 553);
+            layoutControlItem2.MaxSize = new Size(0, 30);
+            layoutControlItem2.MinSize = new Size(205, 30);
+            layoutControlItem2.Name = "layoutControlItem2";
+            layoutControlItem2.Size = new Size(1031, 30);
+            layoutControlItem2.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom;
+            layoutControlItem2.TextSize = new Size(0, 0);
+            layoutControlItem2.TextVisible = false;
+            // 
+            // SimulationPumpCurveEditDlg
+            // 
+            AutoScaleDimensions = new SizeF(7F, 14F);
+            AutoScaleMode = AutoScaleMode.Font;
+            ClientSize = new Size(1051, 635);
+            Controls.Add(layoutControl1);
+            Controls.Add(ribbon);
+            FormBorderStyle = FormBorderStyle.SizableToolWindow;
+            Name = "SimulationPumpCurveEditDlg";
+            Ribbon = ribbon;
+            RibbonVisibility = DevExpress.XtraBars.Ribbon.RibbonVisibility.Hidden;
+            StartPosition = FormStartPosition.CenterParent;
+            Text = "缂栬緫鏇茬嚎";
+            ((ISupportInitialize)ribbon).EndInit();
+            ((ISupportInitialize)layoutControl1).EndInit();
+            layoutControl1.ResumeLayout(false);
+            ((ISupportInitialize)Root).EndInit();
+            ((ISupportInitialize)layoutControlItem1).EndInit();
+            ((ISupportInitialize)layoutControlItem2).EndInit();
+            ResumeLayout(false);
+            PerformLayout();
+        }
+
+        #endregion
+
+        private DevExpress.XtraBars.Ribbon.RibbonControl ribbon;
+        private DevExpress.XtraBars.Ribbon.RibbonPage ribbonPage1;
+        private DevExpress.XtraBars.Ribbon.RibbonPageGroup ribbonPageGroup1;
+        private DevExpress.XtraLayout.LayoutControl layoutControl1;
+        private Yw.WinFrmUI.Phart.PumpChartExcelEditCtrl pumpChartExcelEditCtrl1;
+        private DevExpress.XtraLayout.LayoutControlGroup Root;
+        private DevExpress.XtraLayout.LayoutControlItem layoutControlItem1;
+        private GeneralOkAndCancelCtrl generalOkAndCancelCtrl1;
+        private DevExpress.XtraLayout.LayoutControlItem layoutControlItem2;
+    }
+}
\ No newline at end of file
diff --git a/WinFrmUI/HStation.WinFrmUI.Xhs.Core/03-simulation/11-pump/05-edit/SimulationPumpCurveEditDlg.cs b/WinFrmUI/HStation.WinFrmUI.Xhs.Core/03-simulation/11-pump/05-edit/SimulationPumpCurveEditDlg.cs
new file mode 100644
index 0000000..a47c683
--- /dev/null
+++ b/WinFrmUI/HStation.WinFrmUI.Xhs.Core/03-simulation/11-pump/05-edit/SimulationPumpCurveEditDlg.cs
@@ -0,0 +1,72 @@
+锘縩amespace HStation.WinFrmUI
+{
+    public partial class SimulationPumpCurveEditDlg : DevExpress.XtraBars.Ribbon.RibbonForm
+    {
+        public SimulationPumpCurveEditDlg()
+        {
+            InitializeComponent();
+            this.IconOptions.Icon = Yw.WinFrmUI.GlobalParas.AppIcon;
+            this.generalOkAndCancelCtrl1.OkEvent += GeneralOkAndCancelCtrl1_OkEvent;
+        }
+
+        /// <summary>
+        /// 閲嶈浇鏁版嵁
+        /// 绗竴涓猀H
+        /// 绗簩涓猀P
+        /// 绗笁涓猀E
+        /// </summary>
+        public event Action<List<Yw.Geometry.Point2d>, List<Yw.Geometry.Point2d>, List<Yw.Geometry.Point2d>> ReloadDataEvent;
+
+        /// <summary>
+        /// 缁戝畾鏁版嵁
+        /// </summary> 
+        public void SetBindingData
+            (
+                List<Yw.Geometry.Point2d> curveqh,
+                List<Yw.Geometry.Point2d> curveqp,
+                List<Yw.Geometry.Point2d> curveqe
+            )
+        {
+            if (curveqh == null)
+            {
+                return;
+            }
+            if (curveqp == null)
+            {
+                return;
+            }
+            if (curveqe == null)
+            {
+                return;
+            }
+            var curveqh_rhs = curveqh.Select(x => new Yw.Geometry.Point2d(Math.Round(x.X, 1), Math.Round(x.Y, 2))).ToList();
+            var curveqp_rhs = curveqp.Select(x => new Yw.Geometry.Point2d(Math.Round(x.X, 1), Math.Round(x.Y, 1))).ToList();
+            var curveqe_rhs = curveqe.Select(x => new Yw.Geometry.Point2d(Math.Round(x.X, 1), Math.Round(x.Y, 1))).ToList();
+            this.pumpChartExcelEditCtrl1.SetBindingData(curveqh_rhs, curveqe_rhs, curveqp_rhs);
+        }
+
+        //纭畾
+        private void GeneralOkAndCancelCtrl1_OkEvent()
+        {
+            var bol = this.pumpChartExcelEditCtrl1.Get
+                (
+                    out var curveqh,
+                    out var curveqe,
+                    out var curveqp,
+                    out var featqh,
+                    out var featqe,
+                    out var featqp
+                );
+            if (!bol)
+            {
+                TipFormHelper.ShowError("鏇存柊澶辫触锛�");
+                return;
+            }
+            this.ReloadDataEvent?.Invoke(curveqh, curveqp, curveqe);
+            this.DialogResult = DialogResult.OK;
+            this.Close();
+        }
+
+
+    }
+}
\ No newline at end of file
diff --git a/WinFrmUI/HStation.WinFrmUI.Xhs.Core/04-pump/03-calc/SinglePumpCalcCtrl.resx b/WinFrmUI/HStation.WinFrmUI.Xhs.Core/03-simulation/11-pump/05-edit/SimulationPumpCurveEditDlg.resx
similarity index 98%
rename from WinFrmUI/HStation.WinFrmUI.Xhs.Core/04-pump/03-calc/SinglePumpCalcCtrl.resx
rename to WinFrmUI/HStation.WinFrmUI.Xhs.Core/03-simulation/11-pump/05-edit/SimulationPumpCurveEditDlg.resx
index 8b2ff64..af32865 100644
--- a/WinFrmUI/HStation.WinFrmUI.Xhs.Core/04-pump/03-calc/SinglePumpCalcCtrl.resx
+++ b/WinFrmUI/HStation.WinFrmUI.Xhs.Core/03-simulation/11-pump/05-edit/SimulationPumpCurveEditDlg.resx
@@ -1,7 +1,7 @@
 锘�<?xml version="1.0" encoding="utf-8"?>
 <root>
   <!--
-    Microsoft ResX Schema
+    Microsoft ResX Schema 
 
     Version 2.0
 
@@ -48,7 +48,7 @@
     value   : The object must be serialized with
             : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
             : and then encoded with base64 encoding.
-
+    
     mimetype: application/x-microsoft.net.object.soap.base64
     value   : The object must be serialized with
             : System.Runtime.Serialization.Formatters.Soap.SoapFormatter
diff --git a/WinFrmUI/HStation.WinFrmUI.Xhs.Core/04-pump/01-Prop/PropGroupChoiceViewModel.cs b/WinFrmUI/HStation.WinFrmUI.Xhs.Core/04-pump/01-Prop/PropGroupChoiceViewModel.cs
deleted file mode 100644
index 7f1a5a4..0000000
--- a/WinFrmUI/HStation.WinFrmUI.Xhs.Core/04-pump/01-Prop/PropGroupChoiceViewModel.cs
+++ /dev/null
@@ -1,11 +0,0 @@
-锘縩amespace HStation.WinFrmUI
-{
-    public class PropGroupChoiceViewModel
-    {
-        public long ID { get; set; }
-        public string PropGroupName { get; set; }
-        public string PropName { get; set; }
-        public string Value { get; set; }
-        public string KeyWorldType { get; set; }
-    }
-}
\ No newline at end of file
diff --git a/WinFrmUI/HStation.WinFrmUI.Xhs.Core/04-pump/01-Prop/PumpPropViewCtrl.Designer.cs b/WinFrmUI/HStation.WinFrmUI.Xhs.Core/04-pump/01-Prop/PumpPropViewCtrl.Designer.cs
deleted file mode 100644
index c1b14a5..0000000
--- a/WinFrmUI/HStation.WinFrmUI.Xhs.Core/04-pump/01-Prop/PumpPropViewCtrl.Designer.cs
+++ /dev/null
@@ -1,122 +0,0 @@
-锘縩amespace HStation.WinFrmUI
-{
-    partial class PumpPropViewCtrl
-    {
-        /// <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 Container();
-            gridControl1 = new DevExpress.XtraGrid.GridControl();
-            gridView1 = new DevExpress.XtraGrid.Views.Grid.GridView();
-            colPropGroupName = new DevExpress.XtraGrid.Columns.GridColumn();
-            colPropName = new DevExpress.XtraGrid.Columns.GridColumn();
-            colValue = new DevExpress.XtraGrid.Columns.GridColumn();
-            propGroupChoiceViewModelBindingSource = new BindingSource(components);
-            ((ISupportInitialize)gridControl1).BeginInit();
-            ((ISupportInitialize)gridView1).BeginInit();
-            ((ISupportInitialize)propGroupChoiceViewModelBindingSource).BeginInit();
-            SuspendLayout();
-            // 
-            // gridControl1
-            // 
-            gridControl1.DataSource = propGroupChoiceViewModelBindingSource;
-            gridControl1.Dock = DockStyle.Fill;
-            gridControl1.Location = new Point(0, 0);
-            gridControl1.MainView = gridView1;
-            gridControl1.Name = "gridControl1";
-            gridControl1.Size = new Size(654, 509);
-            gridControl1.TabIndex = 7;
-            gridControl1.ViewCollection.AddRange(new DevExpress.XtraGrid.Views.Base.BaseView[] { gridView1 });
-            // 
-            // gridView1
-            // 
-            gridView1.Appearance.HeaderPanel.Options.UseTextOptions = true;
-            gridView1.Appearance.HeaderPanel.TextOptions.HAlignment = DevExpress.Utils.HorzAlignment.Center;
-            gridView1.Columns.AddRange(new DevExpress.XtraGrid.Columns.GridColumn[] { colPropGroupName, colPropName, colValue });
-            gridView1.GridControl = gridControl1;
-            gridView1.Name = "gridView1";
-            gridView1.OptionsView.AllowCellMerge = true;
-            gridView1.OptionsView.ShowGroupPanel = false;
-            // 
-            // colPropGroupName
-            // 
-            colPropGroupName.AppearanceCell.Options.UseTextOptions = true;
-            colPropGroupName.AppearanceCell.TextOptions.HAlignment = DevExpress.Utils.HorzAlignment.Center;
-            colPropGroupName.Caption = "灞炴�х粍";
-            colPropGroupName.FieldName = "PropGroupName";
-            colPropGroupName.Name = "colPropGroupName";
-            colPropGroupName.Visible = true;
-            colPropGroupName.VisibleIndex = 0;
-            // 
-            // colPropName
-            // 
-            colPropName.AppearanceCell.Options.UseTextOptions = true;
-            colPropName.AppearanceCell.TextOptions.HAlignment = DevExpress.Utils.HorzAlignment.Center;
-            colPropName.Caption = "灞炴�у悕";
-            colPropName.FieldName = "PropName";
-            colPropName.Name = "colPropName";
-            colPropName.OptionsColumn.AllowEdit = false;
-            colPropName.Visible = true;
-            colPropName.VisibleIndex = 1;
-            // 
-            // colValue
-            // 
-            colValue.AppearanceCell.Options.UseTextOptions = true;
-            colValue.AppearanceCell.TextOptions.HAlignment = DevExpress.Utils.HorzAlignment.Center;
-            colValue.Caption = "灞炴�у��";
-            colValue.FieldName = "Value";
-            colValue.Name = "colValue";
-            colValue.OptionsColumn.AllowMerge = DevExpress.Utils.DefaultBoolean.False;
-            colValue.Visible = true;
-            colValue.VisibleIndex = 2;
-            // 
-            // propGroupChoiceViewModelBindingSource
-            // 
-            propGroupChoiceViewModelBindingSource.DataSource = typeof(PropGroupChoiceViewModel);
-            // 
-            // PumpPropViewCtrl
-            // 
-            AutoScaleDimensions = new SizeF(7F, 14F);
-            AutoScaleMode = AutoScaleMode.Font;
-            Controls.Add(gridControl1);
-            Name = "XtraUserControl1";
-            Size = new Size(654, 509);
-            ((ISupportInitialize)gridControl1).EndInit();
-            ((ISupportInitialize)gridView1).EndInit();
-            ((ISupportInitialize)propGroupChoiceViewModelBindingSource).EndInit();
-            ResumeLayout(false);
-        }
-
-        #endregion
-
-        private DevExpress.XtraGrid.GridControl gridControl1;
-        private DevExpress.XtraGrid.Views.Grid.GridView gridView1;
-        private DevExpress.XtraGrid.Columns.GridColumn colPropGroupName;
-        private DevExpress.XtraGrid.Columns.GridColumn colPropName;
-        private DevExpress.XtraGrid.Columns.GridColumn colValue;
-        private BindingSource propGroupChoiceViewModelBindingSource;
-    }
-}
diff --git a/WinFrmUI/HStation.WinFrmUI.Xhs.Core/04-pump/01-Prop/PumpPropViewCtrl.cs b/WinFrmUI/HStation.WinFrmUI.Xhs.Core/04-pump/01-Prop/PumpPropViewCtrl.cs
deleted file mode 100644
index 7383b4c..0000000
--- a/WinFrmUI/HStation.WinFrmUI.Xhs.Core/04-pump/01-Prop/PumpPropViewCtrl.cs
+++ /dev/null
@@ -1,82 +0,0 @@
-锘縩amespace HStation.WinFrmUI
-{
-    public partial class PumpPropViewCtrl : DevExpress.XtraEditors.XtraUserControl
-    {
-        public PumpPropViewCtrl()
-        {
-            InitializeComponent();
-            this.gridView1.SetNormalView();
-            this.gridView1.RegistCustomDrawRowIndicator();
-        }
-
-        private List<PropGroupChoiceViewModel> _allBindingList;
-
-        public static long _typeId;
-
-        public static long _pumpId;
-
-        public static Vmo.AssetsPumpMainVmo _assetsPumpMainVmo;
-
-        public static Vmo.AssetsPumpMainVmo GetPumpMainVmo()
-        {
-            return _assetsPumpMainVmo;
-        }
-
-        public static long GetPumpTypeId()
-        {
-            return _typeId;
-        }
-
-        public async void SetBindingData(string DbId)
-        {
-            if (!long.TryParse(DbId, out long pumpId))
-            {
-                return;
-            }
-            _pumpId = pumpId;
-            var pumpBll = new BLL.AssetsPumpMain();
-            var pump = await pumpBll.GetByID(pumpId);
-            _assetsPumpMainVmo = pump;
-            var series = await new BLL.AssetsPumpSeries().GetByID(pump.SeriesID);
-            _allBindingList = new List<PropGroupChoiceViewModel>();
-            var catlog = await new Yw.BLL.SysPropStruct().GetByCatalogID(series.CatalogID);
-            if (catlog == null || catlog.Count == 0)
-            {
-                this.propGroupChoiceViewModelBindingSource.ResetBindings(false);
-                return;
-            }
-            _typeId = catlog.First().TypeID;
-            _allBindingList.Add(new PropGroupChoiceViewModel() { PropGroupName = "閾墝鍙傛暟", PropName = "娴侀噺", Value = pump.RatedFlow.ToString(), KeyWorldType = "Basic" });
-            _allBindingList.Add(new PropGroupChoiceViewModel() { PropGroupName = "閾墝鍙傛暟", PropName = "鎵▼", Value = pump.RatedHead.ToString(), KeyWorldType = "Basic" });
-            _allBindingList.Add(new PropGroupChoiceViewModel() { PropGroupName = "閾墝鍙傛暟", PropName = "鍔熺巼", Value = pump.RatedPower.ToString(), KeyWorldType = "Basic" });
-            _allBindingList.Add(new PropGroupChoiceViewModel() { PropGroupName = "閾墝鍙傛暟", PropName = "杞��", Value = pump.RatedSpeed.ToString(), KeyWorldType = "Basic" });
-            foreach (var item in catlog)
-            {
-                foreach (var prop in item.PropList)
-                {
-                    _allBindingList.Add(new PropGroupChoiceViewModel() { PropGroupName = item.Name, PropName = prop.Name, ID = prop.ID, KeyWorldType = "Prop" });
-                }
-            }
-            var propbll = new BLL.AssetsPumpPropContent();
-            var partList = await pumpBll.GetPartByID(pumpId);
-            if (partList.Count <= 0)
-                return;
-            var alllist = await propbll.GetByPumpPartID(partList.First().ID);
-            foreach (var item in alllist)
-            {
-                var selectProp = _allBindingList.Find(x => x.ID == item.PropID);
-                if (selectProp != null)
-                {
-                    selectProp.Value = item.PropValue;
-                }
-            }
-            this.propGroupChoiceViewModelBindingSource.DataSource = _allBindingList;
-            this.propGroupChoiceViewModelBindingSource.ResetBindings(false);
-        }
-
-        public void RefreshData()
-        {
-            SetBindingData(_pumpId.ToString());
-        }
-    }
-}
\ No newline at end of file
diff --git a/WinFrmUI/HStation.WinFrmUI.Xhs.Core/04-pump/01-Prop/PumpPropViewCtrl.resx b/WinFrmUI/HStation.WinFrmUI.Xhs.Core/04-pump/01-Prop/PumpPropViewCtrl.resx
deleted file mode 100644
index 2547be7..0000000
--- a/WinFrmUI/HStation.WinFrmUI.Xhs.Core/04-pump/01-Prop/PumpPropViewCtrl.resx
+++ /dev/null
@@ -1,123 +0,0 @@
-锘�<?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="propGroupChoiceViewModelBindingSource.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
-    <value>17, 17</value>
-  </metadata>
-</root>
\ No newline at end of file
diff --git a/WinFrmUI/HStation.WinFrmUI.Xhs.Core/04-pump/02-analy/SinglePumpAnalyDlg.Designer.cs b/WinFrmUI/HStation.WinFrmUI.Xhs.Core/04-pump/02-analy/SinglePumpAnalyDlg.Designer.cs
deleted file mode 100644
index a13a8a9..0000000
--- a/WinFrmUI/HStation.WinFrmUI.Xhs.Core/04-pump/02-analy/SinglePumpAnalyDlg.Designer.cs
+++ /dev/null
@@ -1,154 +0,0 @@
-锘縩amespace HStation.WinFrmUI.Xhs
-{
-    partial class SinglePumpAnalyDlg
-    {
-        /// <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()
-        {
-            ComponentResourceManager resources = new ComponentResourceManager(typeof(SinglePumpAnalyDlg));
-            ribbon = new DevExpress.XtraBars.Ribbon.RibbonControl();
-            sidePanel1 = new SidePanel();
-            singlePumpAnalyInfoCtrl1 = new SinglePumpAnalyInfoCtrl();
-            pumpVariableSpeedChart1 = new Yw.WinFrmUI.Phart.PumpVariableSpeedChart();
-            ribbonPage2 = new DevExpress.XtraBars.Ribbon.RibbonPage();
-            ribbonPage1 = new DevExpress.XtraBars.Ribbon.RibbonPage();
-            ribbonPageGroup1 = new DevExpress.XtraBars.Ribbon.RibbonPageGroup();
-            barBtnSelPumpMian = new DevExpress.XtraBars.BarButtonItem();
-            ((ISupportInitialize)ribbon).BeginInit();
-            sidePanel1.SuspendLayout();
-            SuspendLayout();
-            // 
-            // ribbon
-            // 
-            ribbon.ExpandCollapseItem.Id = 0;
-            ribbon.ItemPanelStyle = DevExpress.XtraBars.Ribbon.RibbonItemPanelStyle.Classic;
-            ribbon.Items.AddRange(new DevExpress.XtraBars.BarItem[] { ribbon.ExpandCollapseItem, barBtnSelPumpMian });
-            ribbon.Location = new Point(0, 0);
-            ribbon.MaxItemId = 4;
-            ribbon.Name = "ribbon";
-            ribbon.OptionsExpandCollapseMenu.EnableExpandCollapseMenu = DevExpress.Utils.DefaultBoolean.False;
-            ribbon.OptionsExpandCollapseMenu.ShowQuickAccessToolbarItem = DevExpress.Utils.DefaultBoolean.False;
-            ribbon.OptionsExpandCollapseMenu.ShowRibbonGroup = DevExpress.Utils.DefaultBoolean.False;
-            ribbon.OptionsExpandCollapseMenu.ShowRibbonLayoutGroup = DevExpress.Utils.DefaultBoolean.False;
-            ribbon.OptionsTouch.TouchUI = DevExpress.Utils.DefaultBoolean.False;
-            ribbon.Pages.AddRange(new DevExpress.XtraBars.Ribbon.RibbonPage[] { ribbonPage1 });
-            ribbon.RibbonCaptionAlignment = DevExpress.XtraBars.Ribbon.RibbonCaptionAlignment.Left;
-            ribbon.RibbonStyle = DevExpress.XtraBars.Ribbon.RibbonControlStyle.TabletOffice;
-            ribbon.SearchItemPosition = DevExpress.XtraBars.Ribbon.SearchItemPosition.None;
-            ribbon.ShowApplicationButton = DevExpress.Utils.DefaultBoolean.False;
-            ribbon.ShowDisplayOptionsMenuButton = DevExpress.Utils.DefaultBoolean.False;
-            ribbon.ShowExpandCollapseButton = DevExpress.Utils.DefaultBoolean.False;
-            ribbon.ShowMoreCommandsButton = DevExpress.Utils.DefaultBoolean.False;
-            ribbon.ShowPageHeadersInFormCaption = DevExpress.Utils.DefaultBoolean.False;
-            ribbon.ShowPageHeadersMode = DevExpress.XtraBars.Ribbon.ShowPageHeadersMode.Hide;
-            ribbon.ShowQatLocationSelector = false;
-            ribbon.ShowToolbarCustomizeItem = false;
-            ribbon.Size = new Size(1400, 85);
-            ribbon.Toolbar.ShowCustomizeItem = false;
-            // 
-            // sidePanel1
-            // 
-            sidePanel1.Controls.Add(singlePumpAnalyInfoCtrl1);
-            sidePanel1.Dock = DockStyle.Right;
-            sidePanel1.Location = new Point(800, 85);
-            sidePanel1.Name = "sidePanel1";
-            sidePanel1.Size = new Size(600, 937);
-            sidePanel1.TabIndex = 3;
-            sidePanel1.Text = "sidePanel1";
-            // 
-            // singlePumpAnalyInfoCtrl1
-            // 
-            singlePumpAnalyInfoCtrl1.Dock = DockStyle.Fill;
-            singlePumpAnalyInfoCtrl1.Location = new Point(1, 0);
-            singlePumpAnalyInfoCtrl1.Name = "singlePumpAnalyInfoCtrl1";
-            singlePumpAnalyInfoCtrl1.Size = new Size(599, 937);
-            singlePumpAnalyInfoCtrl1.TabIndex = 0;
-            // 
-            // pumpVariableSpeedChart1
-            // 
-            pumpVariableSpeedChart1.Dock = DockStyle.Fill; 
-            pumpVariableSpeedChart1.LineNameVisible = true;
-            pumpVariableSpeedChart1.LineVisible = false;
-            pumpVariableSpeedChart1.Location = new Point(0, 85);
-            pumpVariableSpeedChart1.Name = "pumpVariableSpeedChart1";
-            pumpVariableSpeedChart1.Size = new Size(800, 937);
-            pumpVariableSpeedChart1.TabIndex = 5;
-            // 
-            // ribbonPage2
-            // 
-            ribbonPage2.Name = "ribbonPage2";
-            ribbonPage2.Text = "ribbonPage2";
-            // 
-            // ribbonPage1
-            // 
-            ribbonPage1.Groups.AddRange(new DevExpress.XtraBars.Ribbon.RibbonPageGroup[] { ribbonPageGroup1 });
-            ribbonPage1.Name = "ribbonPage1";
-            ribbonPage1.Text = "ribbonPage1";
-            // 
-            // ribbonPageGroup1
-            // 
-            ribbonPageGroup1.ItemLinks.Add(barBtnSelPumpMian);
-            ribbonPageGroup1.Name = "ribbonPageGroup1";
-            ribbonPageGroup1.Text = "ribbonPageGroup1";
-            // 
-            // barBtnSelPumpMian
-            // 
-            barBtnSelPumpMian.Caption = "閫夋嫨娉靛瀷鍙�";
-            barBtnSelPumpMian.Id = 3;
-            barBtnSelPumpMian.ImageOptions.SvgImage = (DevExpress.Utils.Svg.SvgImage)resources.GetObject("barBtnSelPumpMian.ImageOptions.SvgImage");
-            barBtnSelPumpMian.Name = "barBtnSelPumpMian";
-            barBtnSelPumpMian.ItemClick += barBtnSelPumpMian_ItemClick;
-            // 
-            // SinglePumpAnalyDlg
-            // 
-            AutoScaleDimensions = new SizeF(10F, 22F);
-            AutoScaleMode = AutoScaleMode.Font;
-            ClientSize = new Size(1400, 1022);
-            Controls.Add(pumpVariableSpeedChart1);
-            Controls.Add(sidePanel1);
-            Controls.Add(ribbon);
-            Name = "SinglePumpAnalyDlg";
-            Ribbon = ribbon;
-            StartPosition = FormStartPosition.CenterScreen;
-            Text = "娉典俊鎭�";
-            ((ISupportInitialize)ribbon).EndInit();
-            sidePanel1.ResumeLayout(false);
-            ResumeLayout(false);
-            PerformLayout();
-        }
-
-        #endregion
-
-        private DevExpress.XtraBars.Ribbon.RibbonControl ribbon;
-        private SidePanel sidePanel1;
-        private Yw.WinFrmUI.Phart.PumpVariableSpeedChart pumpVariableSpeedChart1;
-        private SinglePumpAnalyInfoCtrl singlePumpAnalyInfoCtrl1;
-        private DevExpress.XtraBars.BarButtonItem barBtnSelPumpMian;
-        private DevExpress.XtraBars.Ribbon.RibbonPage ribbonPage1;
-        private DevExpress.XtraBars.Ribbon.RibbonPageGroup ribbonPageGroup1;
-        private DevExpress.XtraBars.Ribbon.RibbonPage ribbonPage2;
-    }
-}
\ No newline at end of file
diff --git a/WinFrmUI/HStation.WinFrmUI.Xhs.Core/04-pump/02-analy/SinglePumpAnalyDlg.cs b/WinFrmUI/HStation.WinFrmUI.Xhs.Core/04-pump/02-analy/SinglePumpAnalyDlg.cs
deleted file mode 100644
index 6602b90..0000000
--- a/WinFrmUI/HStation.WinFrmUI.Xhs.Core/04-pump/02-analy/SinglePumpAnalyDlg.cs
+++ /dev/null
@@ -1,345 +0,0 @@
-锘縰sing HStation.WinFrmUI.PhartRelation;
-using SqlSugar;
-using Yw.WinFrmUI.Phart;
-
-namespace HStation.WinFrmUI.Xhs
-{
-    public partial class SinglePumpAnalyDlg : DevExpress.XtraBars.Ribbon.RibbonForm
-    {
-        public SinglePumpAnalyDlg()
-        {
-            InitializeComponent();
-            this.IconOptions.Icon = Yw.WinFrmUI.GlobalParas.AppIcon;
-            InitChart();
-        }
-
-        public event Func<PumpMatchingViewModel, bool> ReloadDataEvent;
-
-        #region Init
-
-        private void InitChart()
-        {  
-            this.singlePumpAnalyInfoCtrl1.SetEvent += (id, hz, ex_ratio, qh, qe, qp) =>
-            {
-                this.pumpVariableSpeedChart1.Set(id, hz, ex_ratio, qh, qe, qp);
-                ResetSectPointGrid();
-            };
-
-            this.singlePumpAnalyInfoCtrl1.SetInfoEvent += (id, color) =>
-            {
-                this.pumpVariableSpeedChart1.SetInfo(id, color);
-                ResetSectPointGrid();
-            };
-
-            this.singlePumpAnalyInfoCtrl1.SetDesignPointEvent += (q, h) =>
-            {
-                this.pumpVariableSpeedChart1.SetEquipPt(new Yw.Geometry.Point2d(q, h));
-                ResetSectPointGrid();
-            };
-
-
-
-            this.pumpVariableSpeedChart1.OnCalcQueryPoint += (id, pt) =>
-            {
-                this.singlePumpAnalyInfoCtrl1.SetQueryInfo(id, pt);
-            };
-
-            this.pumpVariableSpeedChart1.AddBySpeedEvent += () =>
-            {
-                AddBySpeed();
-                ResetSectPointGrid();
-            };
-
-            this.pumpVariableSpeedChart1.AddByHzEvent += () =>
-            {
-                AddByHz();
-                ResetSectPointGrid();
-            };
-
-            this.pumpVariableSpeedChart1.AddByPointEvent += () =>
-            {
-                AddByPoint();
-                ResetSectPointGrid();
-            };
-
-            this.singlePumpAnalyInfoCtrl1.SaveEvent += (vm) =>
-            {
-                if (_vm == null)
-                {
-                    return;
-                }
-                _vm.CurrentHz = vm.CurrentHz;
-                var bol = this.ReloadDataEvent?.Invoke(_vm);
-                if (bol.HasValue && bol.Value)
-                {
-                    this.Close();
-                }
-            };
-
-        }
-
-        private void ResetSectPointGrid()
-        {
-            var vm_list = this.pumpVariableSpeedChart1.GetSectPointList();
-            this.singlePumpAnalyInfoCtrl1.SetSectPointList(vm_list);
-        }
-
-        private void AddBySpeed()
-        {
-            var list = this.singlePumpAnalyInfoCtrl1.GetList();
-            if (list == null || list.Count < 1)
-            {
-                return;
-            }
-            var index = list.Count;
-            var vm_def = list.First();
-            var dlg = new SetValueDlg();
-            dlg.SetBindingData(vm_def.RatedSpeed);
-            dlg.VerifyValueChanged += (speed) =>
-            {
-                var hz = Math.Round(speed / vm_def.RatedSpeed * 50, 1);
-                if (hz > 50 || hz < 10)
-                {
-                    return false;
-                }
-                var vm = new SinglePumpAnalyViewModel(vm_def);
-                vm.Id = Guid.NewGuid().ToString();
-                vm.Name = $"{speed}rpm({hz}hz)";
-                vm.Color = GetRandomColor(index);
-                vm.CurrentHz = hz;
-                vm.CurrentSpeed = speed;
-                vm.IsDefault = false;
-                vm.Calc();
-
-                this.singlePumpAnalyInfoCtrl1.Add(vm);
-                this.pumpVariableSpeedChart1.Add(vm.ToInfo());
-
-                return true;
-            };
-            dlg.ShowDialog();
-        }
-
-        private void AddByHz()
-        {
-            var list = this.singlePumpAnalyInfoCtrl1.GetList();
-            if (list == null || list.Count < 1)
-            {
-                return;
-            }
-
-            var index = list.Count;
-            var vm_def = list.First();
-            var dlg = new SetValueDlg();
-            dlg.VerifyValueChanged += (hz) =>
-            {
-                if (hz > 50 || hz < 10)
-                {
-                    return false;
-                }
-                var speed = Math.Round(hz / 50 * vm_def.RatedSpeed);
-                var vm = new SinglePumpAnalyViewModel(vm_def);
-                vm.Id = Guid.NewGuid().ToString();
-                vm.Name = $"{speed}rpm({hz}hz)";
-                vm.Color = GetRandomColor(index);
-                vm.CurrentHz = hz;
-                vm.CurrentSpeed = speed;
-                vm.IsDefault = false;
-                vm.Calc();
-
-                this.singlePumpAnalyInfoCtrl1.Add(vm);
-                this.pumpVariableSpeedChart1.Add(vm.ToInfo());
-
-                return true;
-            };
-            dlg.ShowDialog();
-        }
-
-        private void AddByPoint()
-        {
-            var list = this.singlePumpAnalyInfoCtrl1.GetList();
-            if (list == null || list.Count < 1)
-            {
-                return;
-            }
-            var index = list.Count;
-            var vm_def = list.First();
-            var dlg = new SetPointDlg();
-            dlg.SetBindingData();
-            dlg.VerifyValueChanged += (x, y) =>
-            {
-                var pt = new Yw.Geometry.Point2d(x, y);
-                var speed = PumpCalcHelper.GetSimuValue(vm_def.Qh, pt, vm_def.RatedSpeed);
-                var hz = Math.Round(speed / vm_def.RatedSpeed * 50, 1);
-                if (hz > 50 || hz < 20)
-                {
-                    return false;
-                }
-                var vm = new SinglePumpAnalyViewModel(vm_def);
-                vm.Id = Guid.NewGuid().ToString();
-                vm.Name = $"{speed}rpm({hz}hz)";
-                vm.Color = GetRandomColor(index);
-                vm.CurrentHz = hz;
-                vm.CurrentSpeed = speed;
-                vm.IsDefault = false;
-                vm.Calc();
-
-                this.singlePumpAnalyInfoCtrl1.Add(vm);
-                this.pumpVariableSpeedChart1.Add(vm.ToInfo());
-                return true;
-            };
-            dlg.ShowDialog();
-        }
-
-        private Color GetRandomColor(int count)
-        {
-            var color_list = new List<Color>()
-            {
-                Color.Red, Color.Blue, Color.Green,Color.DodgerBlue,
-                Color.Fuchsia, Color.MidnightBlue,  Color.Maroon, Color.Aquamarine,
-                Color.Bisque,Color.BurlyWood
-            };
-
-            if (count < color_list.Count)
-            {
-                return color_list[count];
-            }
-
-            var _random = new Random();
-            int r = _random.Next(1, 256);
-            int g = _random.Next(1, 256);
-            int b = _random.Next(1, 256);
-            return Color.FromArgb(r, g, b);
-        }
-
-        #endregion
-
-        private PumpMatchingViewModel _vm = null;
-        public void SetBindindData(PumpMatchingViewModel pump_matching)
-        {
-            _vm = pump_matching;
-            SetChart(pump_matching);
-        }
-
-        //璁剧疆鍥捐〃鏁版嵁
-        private async void SetChart(PumpMatchingViewModel pump_math)
-        {
-            var db_pump_mian_id = pump_math.DbId;
-            var db_curve_id = pump_math.CurveDbId;
-            if (pump_math.MatchingDbId != null)
-            {
-                db_pump_mian_id = pump_math.MatchingDbId;
-                db_curve_id = pump_math.MatchingCurveDbId;
-            }
-            if (!long.TryParse(db_pump_mian_id, out long pump_main_id))
-            {
-                return;
-            }
-            if (!long.TryParse(db_curve_id, out long curve_id))
-            {
-                return;
-            }
-            var pump_main = await new BLL.AssetsPumpMain().GetByID(pump_main_id);
-            if (pump_main == null)
-            {
-                return;
-            }
-            var phart = await new BLL.XhsPumpMainPhartMappingExtensions().GetByID(curve_id);
-            if (phart == null)
-            {
-                return;
-            }
-            var diagram = phart.Diagram;
-            if (diagram == null)
-            {
-                return;
-            }
-            var graph_list = diagram.GraphList;
-            if (graph_list == null || !graph_list.Any())
-            {
-                return;
-            }
-
-            var graph_qh = graph_list.Find(x => x.GraphType == HStation.PhartRelation.eGraphType.PumpQH);
-            var graph_qe = graph_list.Find(x => x.GraphType == HStation.PhartRelation.eGraphType.PumpQE);
-            var graph_qp = graph_list.Find(x => x.GraphType == HStation.PhartRelation.eGraphType.PumpQP);
-            if (graph_qh == null)
-            {
-                return;
-            }
-
-            List<Yw.Geometry.Point2d> points_qh = null, points_qe = null, points_qp = null;
-            points_qh = PhartPerformCurveHelper.GetFeatPointList(graph_qh.GraphType, graph_qh.GeometryInfo, 12, null);
-            if (graph_qe != null)
-                points_qe = PhartPerformCurveHelper.GetFeatPointList(graph_qe.GraphType, graph_qe.GeometryInfo, 12, null);
-            if (graph_qp != null)
-                points_qp = PhartPerformCurveHelper.GetFeatPointList(graph_qp.GraphType, graph_qp.GeometryInfo, 12, null);
-
-            var qh = new Yw.Geometry.CubicSpline2d(points_qh);
-            var qe = new Yw.Geometry.CubicSpline2d(points_qe);
-            var qp = new Yw.Geometry.CubicSpline2d(points_qp);
-
-
-            var def_vm = new SinglePumpAnalyViewModel();
-            def_vm.Id = "def";
-            def_vm.Name = "棰濆畾鏇茬嚎";
-            def_vm.RatedSpeed = pump_main.RatedSpeed;
-            def_vm.CurrentSpeed = pump_main.RatedSpeed;
-            def_vm.CurrentHz = 50;
-            def_vm.IsDefault = true;
-            def_vm.Color = Color.Black;
-            def_vm.ExtendRatio = 100;
-            def_vm.Qh = qh;
-            def_vm.Qe = qe;
-            def_vm.Qp = qp;
-            def_vm.Calc();
-
-            var working_vm = new SinglePumpAnalyViewModel();
-            working_vm.Id = "working";
-            working_vm.Name = "璁惧畾鏇茬嚎";
-            working_vm.RatedSpeed = pump_main.RatedSpeed;
-            working_vm.CurrentSpeed = Math.Round(pump_math.CurrentHz / 50 * pump_main.RatedSpeed, 1);
-            working_vm.CurrentHz = pump_math.CurrentHz;
-            working_vm.IsDefault = false;
-            working_vm.Color = Color.Red;
-            working_vm.ExtendRatio = 100;
-            working_vm.Qh = qh;
-            working_vm.Qe = qe;
-            working_vm.Qp = qp;
-            working_vm.Calc();
-
-            var calc_flow = pump_math.CalcuQ;
-            var calc_head = pump_math.CalcuH;
-
-            var list = new List<SinglePumpAnalyViewModel>() { def_vm, working_vm };
-            var list_yw = list.Select(x => x.ToInfo()).ToList();
-
-            this.singlePumpAnalyInfoCtrl1.SetBindingData(list);
-            this.pumpVariableSpeedChart1.Add(list_yw);
-
-            if (calc_flow.HasValue && calc_head.HasValue)
-            {
-                var flow = Math.Round(calc_flow.Value, 1);
-                var head = Math.Round(calc_head.Value, 1);
-
-                this.singlePumpAnalyInfoCtrl1.SetDesignPoint(flow, head);
-                this.pumpVariableSpeedChart1.SetEquipPt(new Yw.Geometry.Point2d(flow, head));
-                ResetSectPointGrid();
-            }
-
-        }
-
-        private void barBtnSelPumpMian_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e)
-        {
-            var dlg = new PumpMatchingDlg();
-            dlg.SetBindingData(_vm);
-            dlg.ReloadDataEvent += (vm) =>
-            {
-                if (vm == null)
-                    return;
-                SetBindindData(vm);
-            };
-            dlg.ShowDialog();
-        }
-
-    }
-}
\ No newline at end of file
diff --git a/WinFrmUI/HStation.WinFrmUI.Xhs.Core/04-pump/02-analy/SinglePumpAnalyDlg.resx b/WinFrmUI/HStation.WinFrmUI.Xhs.Core/04-pump/02-analy/SinglePumpAnalyDlg.resx
deleted file mode 100644
index f7d582d..0000000
--- a/WinFrmUI/HStation.WinFrmUI.Xhs.Core/04-pump/02-analy/SinglePumpAnalyDlg.resx
+++ /dev/null
@@ -1,136 +0,0 @@
-锘�<?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="barBtnSelPumpMian.ImageOptions.SvgImage" type="DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v23.2" mimetype="application/x-microsoft.net.object.bytearray.base64">
-    <value>
-        AAEAAAD/////AQAAAAAAAAAMAgAAAFlEZXZFeHByZXNzLkRhdGEudjIzLjIsIFZlcnNpb249MjMuMi40
-        LjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjg4ZDE3NTRkNzAwZTQ5YQUBAAAAHURl
-        dkV4cHJlc3MuVXRpbHMuU3ZnLlN2Z0ltYWdlAQAAAAREYXRhBwICAAAACQMAAAAPAwAAAL8BAAAC77u/
-        PD94bWwgdmVyc2lvbj0nMS4wJyBlbmNvZGluZz0nVVRGLTgnPz4NCjxzdmcgeD0iMHB4IiB5PSIwcHgi
-        IHZpZXdCb3g9IjAgMCAzMiAzMiIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcv
-        MjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB4bWw6c3Bh
-        Y2U9InByZXNlcnZlIiBpZD0iU2VsZWN0IiBzdHlsZT0iZW5hYmxlLWJhY2tncm91bmQ6bmV3IDAgMCAz
-        MiAzMiI+DQogIDxzdHlsZSB0eXBlPSJ0ZXh0L2NzcyI+CgkuQmxhY2t7ZmlsbDojNzI3MjcyO30KPC9z
-        dHlsZT4NCiAgPHBhdGggZD0iTTE4LjIsMjBIMjZMMTAsNHYyMmw1LjMtNS4zbDIuNyw2LjdjMC4yLDAu
-        NSwwLjgsMC44LDEuMywwLjVsMC45LTAuNGMwLjUtMC4yLDAuOC0wLjgsMC41LTEuM0wxOC4yLDIweiIg
-        Y2xhc3M9IkJsYWNrIiAvPg0KPC9zdmc+Cw==
-</value>
-  </data>
-</root>
\ No newline at end of file
diff --git a/WinFrmUI/HStation.WinFrmUI.Xhs.Core/04-pump/02-analy/SinglePumpAnalyInfoCtrl.Designer.cs b/WinFrmUI/HStation.WinFrmUI.Xhs.Core/04-pump/02-analy/SinglePumpAnalyInfoCtrl.Designer.cs
deleted file mode 100644
index 317fbe1..0000000
--- a/WinFrmUI/HStation.WinFrmUI.Xhs.Core/04-pump/02-analy/SinglePumpAnalyInfoCtrl.Designer.cs
+++ /dev/null
@@ -1,647 +0,0 @@
-锘縩amespace HStation.WinFrmUI.Xhs
-{
-    partial class SinglePumpAnalyInfoCtrl
-    {
-        /// <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 Container();
-            ComponentResourceManager resources = new ComponentResourceManager(typeof(SinglePumpAnalyInfoCtrl));
-            layoutControl1 = new DevExpress.XtraLayout.LayoutControl();
-            gridControl3 = new DevExpress.XtraGrid.GridControl();
-            singlePumpAnalyViewModelBindingSource = new BindingSource(components);
-            gridView3 = new DevExpress.XtraGrid.Views.Grid.GridView();
-            colCurrentSpeed1 = new DevExpress.XtraGrid.Columns.GridColumn();
-            colCurrentHz2 = new DevExpress.XtraGrid.Columns.GridColumn();
-            colQueryQ = new DevExpress.XtraGrid.Columns.GridColumn();
-            colQueryH = new DevExpress.XtraGrid.Columns.GridColumn();
-            colQueryE = new DevExpress.XtraGrid.Columns.GridColumn();
-            colQueryP = new DevExpress.XtraGrid.Columns.GridColumn();
-            gridControl2 = new DevExpress.XtraGrid.GridControl();
-            gridView2 = new DevExpress.XtraGrid.Views.Grid.GridView();
-            colCurrentSpeed2 = new DevExpress.XtraGrid.Columns.GridColumn();
-            colCurrentHz1 = new DevExpress.XtraGrid.Columns.GridColumn();
-            colSectQ = new DevExpress.XtraGrid.Columns.GridColumn();
-            colSectH = new DevExpress.XtraGrid.Columns.GridColumn();
-            colSectE = new DevExpress.XtraGrid.Columns.GridColumn();
-            colSectP = new DevExpress.XtraGrid.Columns.GridColumn();
-            gridControl1 = new DevExpress.XtraGrid.GridControl();
-            gridView1 = new DevExpress.XtraGrid.Views.Grid.GridView();
-            colId = new DevExpress.XtraGrid.Columns.GridColumn();
-            colName = new DevExpress.XtraGrid.Columns.GridColumn();
-            colIsBp = new DevExpress.XtraGrid.Columns.GridColumn();
-            colRatedSpeed = new DevExpress.XtraGrid.Columns.GridColumn();
-            colCurrentSpeed = new DevExpress.XtraGrid.Columns.GridColumn();
-            colCurrentHz = new DevExpress.XtraGrid.Columns.GridColumn();
-            colIsDefault = new DevExpress.XtraGrid.Columns.GridColumn();
-            colColor = new DevExpress.XtraGrid.Columns.GridColumn();
-            repColor = new DevExpress.XtraEditors.Repository.RepositoryItemColorEdit();
-            colExtendRatio = new DevExpress.XtraGrid.Columns.GridColumn();
-            txtDesignQ = new TextEdit();
-            txtDesignH = new TextEdit();
-            btnSetDesignPoint = new SimpleButton();
-            btnSave = new SimpleButton();
-            Root = new DevExpress.XtraLayout.LayoutControlGroup();
-            layoutControlGroup2 = new DevExpress.XtraLayout.LayoutControlGroup();
-            layoutControlItem2 = new DevExpress.XtraLayout.LayoutControlItem();
-            layoutControlItem4 = new DevExpress.XtraLayout.LayoutControlItem();
-            layoutControlItem3 = new DevExpress.XtraLayout.LayoutControlItem();
-            layoutControlGroup3 = new DevExpress.XtraLayout.LayoutControlGroup();
-            layoutControlItem5 = new DevExpress.XtraLayout.LayoutControlItem();
-            layoutControlGroup1 = new DevExpress.XtraLayout.LayoutControlGroup();
-            layoutControlItem1 = new DevExpress.XtraLayout.LayoutControlItem();
-            layoutControlGroup4 = new DevExpress.XtraLayout.LayoutControlGroup();
-            layoutControlItem6 = new DevExpress.XtraLayout.LayoutControlItem();
-            layoutControlGroup5 = new DevExpress.XtraLayout.LayoutControlGroup();
-            layoutControlItem7 = new DevExpress.XtraLayout.LayoutControlItem();
-            ((ISupportInitialize)layoutControl1).BeginInit();
-            layoutControl1.SuspendLayout();
-            ((ISupportInitialize)gridControl3).BeginInit();
-            ((ISupportInitialize)singlePumpAnalyViewModelBindingSource).BeginInit();
-            ((ISupportInitialize)gridView3).BeginInit();
-            ((ISupportInitialize)gridControl2).BeginInit();
-            ((ISupportInitialize)gridView2).BeginInit();
-            ((ISupportInitialize)gridControl1).BeginInit();
-            ((ISupportInitialize)gridView1).BeginInit();
-            ((ISupportInitialize)repColor).BeginInit();
-            ((ISupportInitialize)txtDesignQ.Properties).BeginInit();
-            ((ISupportInitialize)txtDesignH.Properties).BeginInit();
-            ((ISupportInitialize)Root).BeginInit();
-            ((ISupportInitialize)layoutControlGroup2).BeginInit();
-            ((ISupportInitialize)layoutControlItem2).BeginInit();
-            ((ISupportInitialize)layoutControlItem4).BeginInit();
-            ((ISupportInitialize)layoutControlItem3).BeginInit();
-            ((ISupportInitialize)layoutControlGroup3).BeginInit();
-            ((ISupportInitialize)layoutControlItem5).BeginInit();
-            ((ISupportInitialize)layoutControlGroup1).BeginInit();
-            ((ISupportInitialize)layoutControlItem1).BeginInit();
-            ((ISupportInitialize)layoutControlGroup4).BeginInit();
-            ((ISupportInitialize)layoutControlItem6).BeginInit();
-            ((ISupportInitialize)layoutControlGroup5).BeginInit();
-            ((ISupportInitialize)layoutControlItem7).BeginInit();
-            SuspendLayout();
-            // 
-            // layoutControl1
-            // 
-            layoutControl1.Controls.Add(gridControl3);
-            layoutControl1.Controls.Add(gridControl2);
-            layoutControl1.Controls.Add(gridControl1);
-            layoutControl1.Controls.Add(txtDesignQ);
-            layoutControl1.Controls.Add(txtDesignH);
-            layoutControl1.Controls.Add(btnSetDesignPoint);
-            layoutControl1.Controls.Add(btnSave);
-            layoutControl1.Dock = DockStyle.Fill;
-            layoutControl1.Location = new Point(0, 0);
-            layoutControl1.Name = "layoutControl1";
-            layoutControl1.OptionsCustomizationForm.DesignTimeCustomizationFormPositionAndSize = new Rectangle(1126, 544, 975, 600);
-            layoutControl1.Root = Root;
-            layoutControl1.Size = new Size(560, 891);
-            layoutControl1.TabIndex = 0;
-            layoutControl1.Text = "layoutControl1";
-            // 
-            // gridControl3
-            // 
-            gridControl3.DataSource = singlePumpAnalyViewModelBindingSource;
-            gridControl3.Location = new Point(0, 478);
-            gridControl3.MainView = gridView3;
-            gridControl3.Name = "gridControl3";
-            gridControl3.Size = new Size(560, 190);
-            gridControl3.TabIndex = 6;
-            gridControl3.ViewCollection.AddRange(new DevExpress.XtraGrid.Views.Base.BaseView[] { gridView3 });
-            // 
-            // singlePumpAnalyViewModelBindingSource
-            // 
-            singlePumpAnalyViewModelBindingSource.DataSource = typeof(SinglePumpAnalyViewModel);
-            // 
-            // gridView3
-            // 
-            gridView3.Columns.AddRange(new DevExpress.XtraGrid.Columns.GridColumn[] { colCurrentSpeed1, colCurrentHz2, colQueryQ, colQueryH, colQueryE, colQueryP });
-            gridView3.GridControl = gridControl3;
-            gridView3.Name = "gridView3";
-            // 
-            // colCurrentSpeed1
-            // 
-            colCurrentSpeed1.FieldName = "CurrentSpeed";
-            colCurrentSpeed1.MinWidth = 30;
-            colCurrentSpeed1.Name = "colCurrentSpeed1";
-            colCurrentSpeed1.Visible = true;
-            colCurrentSpeed1.VisibleIndex = 1;
-            colCurrentSpeed1.Width = 112;
-            // 
-            // colCurrentHz2
-            // 
-            colCurrentHz2.FieldName = "CurrentHz";
-            colCurrentHz2.MinWidth = 30;
-            colCurrentHz2.Name = "colCurrentHz2";
-            colCurrentHz2.Visible = true;
-            colCurrentHz2.VisibleIndex = 0;
-            colCurrentHz2.Width = 112;
-            // 
-            // colQueryQ
-            // 
-            colQueryQ.FieldName = "QueryQ";
-            colQueryQ.MinWidth = 30;
-            colQueryQ.Name = "colQueryQ";
-            colQueryQ.Visible = true;
-            colQueryQ.VisibleIndex = 2;
-            colQueryQ.Width = 112;
-            // 
-            // colQueryH
-            // 
-            colQueryH.FieldName = "QueryH";
-            colQueryH.MinWidth = 30;
-            colQueryH.Name = "colQueryH";
-            colQueryH.Visible = true;
-            colQueryH.VisibleIndex = 3;
-            colQueryH.Width = 112;
-            // 
-            // colQueryE
-            // 
-            colQueryE.FieldName = "QueryE";
-            colQueryE.MinWidth = 30;
-            colQueryE.Name = "colQueryE";
-            colQueryE.Visible = true;
-            colQueryE.VisibleIndex = 4;
-            colQueryE.Width = 112;
-            // 
-            // colQueryP
-            // 
-            colQueryP.FieldName = "QueryP";
-            colQueryP.MinWidth = 30;
-            colQueryP.Name = "colQueryP";
-            colQueryP.Visible = true;
-            colQueryP.VisibleIndex = 5;
-            colQueryP.Width = 112;
-            // 
-            // gridControl2
-            // 
-            gridControl2.DataSource = singlePumpAnalyViewModelBindingSource;
-            gridControl2.Location = new Point(0, 701);
-            gridControl2.MainView = gridView2;
-            gridControl2.Name = "gridControl2";
-            gridControl2.Size = new Size(560, 190);
-            gridControl2.TabIndex = 5;
-            gridControl2.ViewCollection.AddRange(new DevExpress.XtraGrid.Views.Base.BaseView[] { gridView2 });
-            // 
-            // gridView2
-            // 
-            gridView2.Columns.AddRange(new DevExpress.XtraGrid.Columns.GridColumn[] { colCurrentSpeed2, colCurrentHz1, colSectQ, colSectH, colSectE, colSectP });
-            gridView2.GridControl = gridControl2;
-            gridView2.Name = "gridView2";
-            // 
-            // colCurrentSpeed2
-            // 
-            colCurrentSpeed2.FieldName = "CurrentSpeed";
-            colCurrentSpeed2.MinWidth = 30;
-            colCurrentSpeed2.Name = "colCurrentSpeed2";
-            colCurrentSpeed2.Visible = true;
-            colCurrentSpeed2.VisibleIndex = 1;
-            colCurrentSpeed2.Width = 112;
-            // 
-            // colCurrentHz1
-            // 
-            colCurrentHz1.FieldName = "CurrentHz";
-            colCurrentHz1.MinWidth = 30;
-            colCurrentHz1.Name = "colCurrentHz1";
-            colCurrentHz1.Visible = true;
-            colCurrentHz1.VisibleIndex = 0;
-            colCurrentHz1.Width = 112;
-            // 
-            // colSectQ
-            // 
-            colSectQ.FieldName = "SectQ";
-            colSectQ.MinWidth = 30;
-            colSectQ.Name = "colSectQ";
-            colSectQ.Visible = true;
-            colSectQ.VisibleIndex = 2;
-            colSectQ.Width = 112;
-            // 
-            // colSectH
-            // 
-            colSectH.FieldName = "SectH";
-            colSectH.MinWidth = 30;
-            colSectH.Name = "colSectH";
-            colSectH.Visible = true;
-            colSectH.VisibleIndex = 3;
-            colSectH.Width = 112;
-            // 
-            // colSectE
-            // 
-            colSectE.FieldName = "SectE";
-            colSectE.MinWidth = 30;
-            colSectE.Name = "colSectE";
-            colSectE.Visible = true;
-            colSectE.VisibleIndex = 4;
-            colSectE.Width = 112;
-            // 
-            // colSectP
-            // 
-            colSectP.FieldName = "SectP";
-            colSectP.MinWidth = 30;
-            colSectP.Name = "colSectP";
-            colSectP.Visible = true;
-            colSectP.VisibleIndex = 5;
-            colSectP.Width = 112;
-            // 
-            // gridControl1
-            // 
-            gridControl1.DataSource = singlePumpAnalyViewModelBindingSource;
-            gridControl1.Location = new Point(0, 124);
-            gridControl1.MainView = gridView1;
-            gridControl1.Name = "gridControl1";
-            gridControl1.RepositoryItems.AddRange(new DevExpress.XtraEditors.Repository.RepositoryItem[] { repColor });
-            gridControl1.Size = new Size(560, 321);
-            gridControl1.TabIndex = 4;
-            gridControl1.ViewCollection.AddRange(new DevExpress.XtraGrid.Views.Base.BaseView[] { gridView1 });
-            // 
-            // gridView1
-            // 
-            gridView1.Columns.AddRange(new DevExpress.XtraGrid.Columns.GridColumn[] { colId, colName, colIsBp, colRatedSpeed, colCurrentSpeed, colCurrentHz, colIsDefault, colColor, colExtendRatio });
-            gridView1.GridControl = gridControl1;
-            gridView1.Name = "gridView1";
-            gridView1.SortInfo.AddRange(new DevExpress.XtraGrid.Columns.GridColumnSortInfo[] { new DevExpress.XtraGrid.Columns.GridColumnSortInfo(colExtendRatio, DevExpress.Data.ColumnSortOrder.Ascending) });
-            gridView1.CellValueChanged += gridView1_CellValueChanged;
-            // 
-            // colId
-            // 
-            colId.FieldName = "Id";
-            colId.MinWidth = 30;
-            colId.Name = "colId";
-            colId.Width = 112;
-            // 
-            // colName
-            // 
-            colName.FieldName = "Name";
-            colName.MinWidth = 30;
-            colName.Name = "colName";
-            colName.Visible = true;
-            colName.VisibleIndex = 0;
-            colName.Width = 112;
-            // 
-            // colIsBp
-            // 
-            colIsBp.FieldName = "IsBp";
-            colIsBp.MinWidth = 30;
-            colIsBp.Name = "colIsBp";
-            colIsBp.Width = 112;
-            // 
-            // colRatedSpeed
-            // 
-            colRatedSpeed.FieldName = "RatedSpeed";
-            colRatedSpeed.MinWidth = 30;
-            colRatedSpeed.Name = "colRatedSpeed";
-            colRatedSpeed.Width = 112;
-            // 
-            // colCurrentSpeed
-            // 
-            colCurrentSpeed.FieldName = "CurrentSpeed";
-            colCurrentSpeed.MinWidth = 30;
-            colCurrentSpeed.Name = "colCurrentSpeed";
-            colCurrentSpeed.Visible = true;
-            colCurrentSpeed.VisibleIndex = 3;
-            colCurrentSpeed.Width = 112;
-            // 
-            // colCurrentHz
-            // 
-            colCurrentHz.FieldName = "CurrentHz";
-            colCurrentHz.MinWidth = 30;
-            colCurrentHz.Name = "colCurrentHz";
-            colCurrentHz.Visible = true;
-            colCurrentHz.VisibleIndex = 2;
-            colCurrentHz.Width = 112;
-            // 
-            // colIsDefault
-            // 
-            colIsDefault.FieldName = "IsDefault";
-            colIsDefault.MinWidth = 30;
-            colIsDefault.Name = "colIsDefault";
-            colIsDefault.Width = 112;
-            // 
-            // colColor
-            // 
-            colColor.ColumnEdit = repColor;
-            colColor.FieldName = "Color";
-            colColor.MinWidth = 30;
-            colColor.Name = "colColor";
-            colColor.Visible = true;
-            colColor.VisibleIndex = 1;
-            colColor.Width = 112;
-            // 
-            // repColor
-            // 
-            repColor.AutoHeight = false;
-            repColor.Buttons.AddRange(new EditorButton[] { new EditorButton(ButtonPredefines.Combo) });
-            repColor.Name = "repColor";
-            repColor.NullColor = Color.Empty;
-            // 
-            // colExtendRatio
-            // 
-            colExtendRatio.FieldName = "ExtendRatio";
-            colExtendRatio.MinWidth = 30;
-            colExtendRatio.Name = "colExtendRatio";
-            colExtendRatio.Visible = true;
-            colExtendRatio.VisibleIndex = 4;
-            colExtendRatio.Width = 112;
-            // 
-            // txtDesignQ
-            // 
-            txtDesignQ.Location = new Point(114, 45);
-            txtDesignQ.Name = "txtDesignQ";
-            txtDesignQ.Properties.MaskSettings.Set("MaskManagerType", typeof(DevExpress.Data.Mask.NumericMaskManager));
-            txtDesignQ.Size = new Size(75, 28);
-            txtDesignQ.StyleController = layoutControl1;
-            txtDesignQ.TabIndex = 0;
-            // 
-            // txtDesignH
-            // 
-            txtDesignH.Location = new Point(269, 45);
-            txtDesignH.Name = "txtDesignH";
-            txtDesignH.Properties.MaskSettings.Set("MaskManagerType", typeof(DevExpress.Data.Mask.NumericMaskManager));
-            txtDesignH.Size = new Size(75, 28);
-            txtDesignH.StyleController = layoutControl1;
-            txtDesignH.TabIndex = 3;
-            // 
-            // btnSetDesignPoint
-            // 
-            btnSetDesignPoint.Appearance.BackColor = Color.White;
-            btnSetDesignPoint.Appearance.Options.UseBackColor = true;
-            btnSetDesignPoint.Appearance.Options.UseTextOptions = true;
-            btnSetDesignPoint.Appearance.TextOptions.HAlignment = DevExpress.Utils.HorzAlignment.Center;
-            btnSetDesignPoint.ImageOptions.AllowGlyphSkinning = DevExpress.Utils.DefaultBoolean.True;
-            btnSetDesignPoint.ImageOptions.SvgImage = (DevExpress.Utils.Svg.SvgImage)resources.GetObject("btnSetDesignPoint.ImageOptions.SvgImage");
-            btnSetDesignPoint.ImageOptions.SvgImageSize = new Size(18, 18);
-            btnSetDesignPoint.Location = new Point(348, 46);
-            btnSetDesignPoint.Name = "btnSetDesignPoint";
-            btnSetDesignPoint.Size = new Size(96, 32);
-            btnSetDesignPoint.StyleController = layoutControl1;
-            btnSetDesignPoint.TabIndex = 2;
-            btnSetDesignPoint.Text = "璁剧疆";
-            btnSetDesignPoint.Click += btnSetDesignPoint_Click;
-            // 
-            // btnSave
-            // 
-            btnSave.Appearance.BackColor = DevExpress.LookAndFeel.DXSkinColors.FillColors.Question;
-            btnSave.Appearance.ForeColor = Color.White;
-            btnSave.Appearance.Options.UseBackColor = true;
-            btnSave.Appearance.Options.UseForeColor = true;
-            btnSave.ImageOptions.AllowGlyphSkinning = DevExpress.Utils.DefaultBoolean.True;
-            btnSave.ImageOptions.SvgImage = (DevExpress.Utils.Svg.SvgImage)resources.GetObject("btnSave.ImageOptions.SvgImage");
-            btnSave.ImageOptions.SvgImageSize = new Size(18, 18);
-            btnSave.Location = new Point(468, 46);
-            btnSave.Name = "btnSave";
-            btnSave.Size = new Size(80, 32);
-            btnSave.StyleController = layoutControl1;
-            btnSave.TabIndex = 7;
-            btnSave.Text = "淇濆瓨";
-            btnSave.Click += btnSave_Click;
-            // 
-            // Root
-            // 
-            Root.EnableIndentsWithoutBorders = DevExpress.Utils.DefaultBoolean.True;
-            Root.GroupBordersVisible = false;
-            Root.Items.AddRange(new DevExpress.XtraLayout.BaseLayoutItem[] { layoutControlGroup2, layoutControlGroup3, layoutControlGroup1, layoutControlGroup4, layoutControlGroup5 });
-            Root.Name = "Root";
-            Root.Padding = new DevExpress.XtraLayout.Utils.Padding(0, 0, 0, 0);
-            Root.Size = new Size(560, 891);
-            Root.TextVisible = false;
-            // 
-            // layoutControlGroup2
-            // 
-            layoutControlGroup2.GroupStyle = DevExpress.Utils.GroupStyle.Title;
-            layoutControlGroup2.Items.AddRange(new DevExpress.XtraLayout.BaseLayoutItem[] { layoutControlItem2, layoutControlItem4, layoutControlItem3 });
-            layoutControlGroup2.Location = new Point(0, 0);
-            layoutControlGroup2.Name = "layoutControlGroup2";
-            layoutControlGroup2.Size = new Size(456, 91);
-            layoutControlGroup2.Spacing = new DevExpress.XtraLayout.Utils.Padding(0, 0, 0, 0);
-            layoutControlGroup2.Text = "璁捐鐐�";
-            // 
-            // layoutControlItem2
-            // 
-            layoutControlItem2.Control = txtDesignQ;
-            layoutControlItem2.Location = new Point(0, 0);
-            layoutControlItem2.Name = "layoutControlItem2";
-            layoutControlItem2.Size = new Size(181, 38);
-            layoutControlItem2.Text = "娴侀噺(m鲁/h):";
-            layoutControlItem2.TextAlignMode = DevExpress.XtraLayout.TextAlignModeItem.AutoSize;
-            layoutControlItem2.TextSize = new Size(97, 22);
-            layoutControlItem2.TextToControlDistance = 5;
-            // 
-            // layoutControlItem4
-            // 
-            layoutControlItem4.ContentHorzAlignment = DevExpress.Utils.HorzAlignment.Center;
-            layoutControlItem4.ContentVertAlignment = DevExpress.Utils.VertAlignment.Center;
-            layoutControlItem4.Control = btnSetDesignPoint;
-            layoutControlItem4.Location = new Point(336, 0);
-            layoutControlItem4.MaxSize = new Size(100, 38);
-            layoutControlItem4.MinSize = new Size(100, 38);
-            layoutControlItem4.Name = "layoutControlItem4";
-            layoutControlItem4.Size = new Size(100, 38);
-            layoutControlItem4.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom;
-            layoutControlItem4.TextSize = new Size(0, 0);
-            layoutControlItem4.TextVisible = false;
-            // 
-            // layoutControlItem3
-            // 
-            layoutControlItem3.Control = txtDesignH;
-            layoutControlItem3.Location = new Point(181, 0);
-            layoutControlItem3.Name = "layoutControlItem3";
-            layoutControlItem3.Size = new Size(155, 38);
-            layoutControlItem3.Text = "鎵▼(m):";
-            layoutControlItem3.TextAlignMode = DevExpress.XtraLayout.TextAlignModeItem.AutoSize;
-            layoutControlItem3.TextSize = new Size(71, 22);
-            layoutControlItem3.TextToControlDistance = 5;
-            // 
-            // layoutControlGroup3
-            // 
-            layoutControlGroup3.GroupStyle = DevExpress.Utils.GroupStyle.Title;
-            layoutControlGroup3.Items.AddRange(new DevExpress.XtraLayout.BaseLayoutItem[] { layoutControlItem5 });
-            layoutControlGroup3.Location = new Point(0, 668);
-            layoutControlGroup3.Name = "layoutControlGroup3";
-            layoutControlGroup3.Padding = new DevExpress.XtraLayout.Utils.Padding(0, 0, 0, 0);
-            layoutControlGroup3.Size = new Size(560, 223);
-            layoutControlGroup3.Spacing = new DevExpress.XtraLayout.Utils.Padding(0, 0, 0, 0);
-            layoutControlGroup3.Text = "璁捐鐐�";
-            // 
-            // layoutControlItem5
-            // 
-            layoutControlItem5.Control = gridControl2;
-            layoutControlItem5.Location = new Point(0, 0);
-            layoutControlItem5.Name = "layoutControlItem5";
-            layoutControlItem5.Padding = new DevExpress.XtraLayout.Utils.Padding(0, 0, 0, 0);
-            layoutControlItem5.Size = new Size(560, 190);
-            layoutControlItem5.TextSize = new Size(0, 0);
-            layoutControlItem5.TextVisible = false;
-            // 
-            // layoutControlGroup1
-            // 
-            layoutControlGroup1.GroupStyle = DevExpress.Utils.GroupStyle.Title;
-            layoutControlGroup1.Items.AddRange(new DevExpress.XtraLayout.BaseLayoutItem[] { layoutControlItem1 });
-            layoutControlGroup1.Location = new Point(0, 91);
-            layoutControlGroup1.Name = "layoutControlGroup1";
-            layoutControlGroup1.Padding = new DevExpress.XtraLayout.Utils.Padding(0, 0, 0, 0);
-            layoutControlGroup1.Size = new Size(560, 354);
-            layoutControlGroup1.Spacing = new DevExpress.XtraLayout.Utils.Padding(0, 0, 0, 0);
-            layoutControlGroup1.Text = "鏇茬嚎鍒楄〃";
-            // 
-            // layoutControlItem1
-            // 
-            layoutControlItem1.Control = gridControl1;
-            layoutControlItem1.Location = new Point(0, 0);
-            layoutControlItem1.Name = "layoutControlItem1";
-            layoutControlItem1.Padding = new DevExpress.XtraLayout.Utils.Padding(0, 0, 0, 0);
-            layoutControlItem1.Size = new Size(560, 321);
-            layoutControlItem1.Text = "鏇茬嚎鍒楄〃";
-            layoutControlItem1.TextSize = new Size(0, 0);
-            layoutControlItem1.TextVisible = false;
-            // 
-            // layoutControlGroup4
-            // 
-            layoutControlGroup4.GroupStyle = DevExpress.Utils.GroupStyle.Title;
-            layoutControlGroup4.Items.AddRange(new DevExpress.XtraLayout.BaseLayoutItem[] { layoutControlItem6 });
-            layoutControlGroup4.Location = new Point(0, 445);
-            layoutControlGroup4.Name = "layoutControlGroup4";
-            layoutControlGroup4.Padding = new DevExpress.XtraLayout.Utils.Padding(0, 0, 0, 0);
-            layoutControlGroup4.Size = new Size(560, 223);
-            layoutControlGroup4.Spacing = new DevExpress.XtraLayout.Utils.Padding(0, 0, 0, 0);
-            layoutControlGroup4.Text = "鏌ヨ鐐�";
-            // 
-            // layoutControlItem6
-            // 
-            layoutControlItem6.Control = gridControl3;
-            layoutControlItem6.Location = new Point(0, 0);
-            layoutControlItem6.Name = "layoutControlItem6";
-            layoutControlItem6.Padding = new DevExpress.XtraLayout.Utils.Padding(0, 0, 0, 0);
-            layoutControlItem6.Size = new Size(560, 190);
-            layoutControlItem6.TextSize = new Size(0, 0);
-            layoutControlItem6.TextVisible = false;
-            // 
-            // layoutControlGroup5
-            // 
-            layoutControlGroup5.GroupStyle = DevExpress.Utils.GroupStyle.Title;
-            layoutControlGroup5.Items.AddRange(new DevExpress.XtraLayout.BaseLayoutItem[] { layoutControlItem7 });
-            layoutControlGroup5.Location = new Point(456, 0);
-            layoutControlGroup5.Name = "layoutControlGroup5";
-            layoutControlGroup5.Size = new Size(104, 91);
-            layoutControlGroup5.Spacing = new DevExpress.XtraLayout.Utils.Padding(0, 0, 0, 0);
-            layoutControlGroup5.Text = "鎿嶄綔";
-            // 
-            // layoutControlItem7
-            // 
-            layoutControlItem7.ContentHorzAlignment = DevExpress.Utils.HorzAlignment.Center;
-            layoutControlItem7.ContentVertAlignment = DevExpress.Utils.VertAlignment.Center;
-            layoutControlItem7.Control = btnSave;
-            layoutControlItem7.Location = new Point(0, 0);
-            layoutControlItem7.Name = "layoutControlItem7";
-            layoutControlItem7.Size = new Size(84, 38);
-            layoutControlItem7.TextSize = new Size(0, 0);
-            layoutControlItem7.TextVisible = false;
-            // 
-            // SinglePumpAnalyInfoCtrl
-            // 
-            AutoScaleDimensions = new SizeF(10F, 22F);
-            AutoScaleMode = AutoScaleMode.Font;
-            Controls.Add(layoutControl1);
-            Name = "SinglePumpAnalyInfoCtrl";
-            Size = new Size(560, 891);
-            ((ISupportInitialize)layoutControl1).EndInit();
-            layoutControl1.ResumeLayout(false);
-            ((ISupportInitialize)gridControl3).EndInit();
-            ((ISupportInitialize)singlePumpAnalyViewModelBindingSource).EndInit();
-            ((ISupportInitialize)gridView3).EndInit();
-            ((ISupportInitialize)gridControl2).EndInit();
-            ((ISupportInitialize)gridView2).EndInit();
-            ((ISupportInitialize)gridControl1).EndInit();
-            ((ISupportInitialize)gridView1).EndInit();
-            ((ISupportInitialize)repColor).EndInit();
-            ((ISupportInitialize)txtDesignQ.Properties).EndInit();
-            ((ISupportInitialize)txtDesignH.Properties).EndInit();
-            ((ISupportInitialize)Root).EndInit();
-            ((ISupportInitialize)layoutControlGroup2).EndInit();
-            ((ISupportInitialize)layoutControlItem2).EndInit();
-            ((ISupportInitialize)layoutControlItem4).EndInit();
-            ((ISupportInitialize)layoutControlItem3).EndInit();
-            ((ISupportInitialize)layoutControlGroup3).EndInit();
-            ((ISupportInitialize)layoutControlItem5).EndInit();
-            ((ISupportInitialize)layoutControlGroup1).EndInit();
-            ((ISupportInitialize)layoutControlItem1).EndInit();
-            ((ISupportInitialize)layoutControlGroup4).EndInit();
-            ((ISupportInitialize)layoutControlItem6).EndInit();
-            ((ISupportInitialize)layoutControlGroup5).EndInit();
-            ((ISupportInitialize)layoutControlItem7).EndInit();
-            ResumeLayout(false);
-        }
-
-        #endregion
-
-        private DevExpress.XtraLayout.LayoutControl layoutControl1;
-        private DevExpress.XtraLayout.LayoutControlGroup Root;
-        private DevExpress.XtraGrid.GridControl gridControl1;
-        private DevExpress.XtraGrid.Views.Grid.GridView gridView1;
-        private DevExpress.XtraLayout.LayoutControlItem layoutControlItem1;
-        private DevExpress.XtraEditors.Repository.RepositoryItemColorEdit repColor;
-        private DevExpress.XtraLayout.LayoutControlGroup layoutControlGroup1;
-        private DevExpress.XtraEditors.TextEdit txtDesignQ;
-        private DevExpress.XtraEditors.TextEdit txtDesignH;
-        private DevExpress.XtraLayout.LayoutControlGroup layoutControlGroup2;
-        private DevExpress.XtraLayout.LayoutControlItem layoutControlItem2;
-        private DevExpress.XtraLayout.LayoutControlItem layoutControlItem3;
-        private DevExpress.XtraEditors.SimpleButton btnSetDesignPoint;
-        private DevExpress.XtraLayout.LayoutControlItem layoutControlItem4;
-        private DevExpress.XtraLayout.LayoutControlGroup layoutControlGroup3;
-        private DevExpress.XtraGrid.GridControl gridControl2;
-        private DevExpress.XtraGrid.Views.Grid.GridView gridView2;
-        private DevExpress.XtraLayout.LayoutControlItem layoutControlItem5;
-        private BindingSource singlePumpAnalyViewModelBindingSource;
-        private DevExpress.XtraGrid.GridControl gridControl3;
-        private DevExpress.XtraGrid.Views.Grid.GridView gridView3;
-        private DevExpress.XtraLayout.LayoutControlGroup layoutControlGroup4;
-        private DevExpress.XtraLayout.LayoutControlItem layoutControlItem6;
-        private DevExpress.XtraGrid.Columns.GridColumn colId;
-        private DevExpress.XtraGrid.Columns.GridColumn colName;
-        private DevExpress.XtraGrid.Columns.GridColumn colIsBp;
-        private DevExpress.XtraGrid.Columns.GridColumn colRatedSpeed;
-        private DevExpress.XtraGrid.Columns.GridColumn colCurrentSpeed;
-        private DevExpress.XtraGrid.Columns.GridColumn colCurrentHz;
-        private DevExpress.XtraGrid.Columns.GridColumn colIsDefault;
-        private DevExpress.XtraGrid.Columns.GridColumn colColor;
-        private DevExpress.XtraGrid.Columns.GridColumn colExtendRatio;
-        private DevExpress.XtraGrid.Columns.GridColumn colCurrentSpeed1;
-        private DevExpress.XtraGrid.Columns.GridColumn colCurrentHz2;
-        private DevExpress.XtraGrid.Columns.GridColumn colQueryQ;
-        private DevExpress.XtraGrid.Columns.GridColumn colQueryH;
-        private DevExpress.XtraGrid.Columns.GridColumn colQueryE;
-        private DevExpress.XtraGrid.Columns.GridColumn colQueryP;
-        private DevExpress.XtraGrid.Columns.GridColumn colCurrentSpeed2;
-        private DevExpress.XtraGrid.Columns.GridColumn colCurrentHz1;
-        private DevExpress.XtraGrid.Columns.GridColumn colSectQ;
-        private DevExpress.XtraGrid.Columns.GridColumn colSectH;
-        private DevExpress.XtraGrid.Columns.GridColumn colSectE;
-        private DevExpress.XtraGrid.Columns.GridColumn colSectP;
-        private SimpleButton btnSave;
-        private DevExpress.XtraLayout.LayoutControlGroup layoutControlGroup5;
-        private DevExpress.XtraLayout.LayoutControlItem layoutControlItem7;
-    }
-}
diff --git a/WinFrmUI/HStation.WinFrmUI.Xhs.Core/04-pump/02-analy/SinglePumpAnalyInfoCtrl.cs b/WinFrmUI/HStation.WinFrmUI.Xhs.Core/04-pump/02-analy/SinglePumpAnalyInfoCtrl.cs
deleted file mode 100644
index bfa858c..0000000
--- a/WinFrmUI/HStation.WinFrmUI.Xhs.Core/04-pump/02-analy/SinglePumpAnalyInfoCtrl.cs
+++ /dev/null
@@ -1,205 +0,0 @@
-锘縩amespace HStation.WinFrmUI.Xhs
-{
-    public partial class SinglePumpAnalyInfoCtrl : DevExpress.XtraEditors.XtraUserControl
-    {
-        public SinglePumpAnalyInfoCtrl()
-        {
-            InitializeComponent();
-            this.gridView1.SetNormalEditView();
-            this.gridView2.SetNormalView();
-            this.gridView3.SetNormalView();
-
-            this.gridView1.ShowingEditor += GridView1_ShowingEditor;
-
-            this.repColor.ColorAlignment = DevExpress.Utils.HorzAlignment.Center;
-            this.repColor.TextEditStyle = DevExpress.XtraEditors.Controls.TextEditStyles.DisableTextEditor;
-            this.repColor.ButtonsStyle = DevExpress.XtraEditors.Controls.BorderStyles.NoBorder;
-
-            this.colName.OptionsColumn.AllowEdit = false;
-            this.colName.OptionsColumn.ReadOnly = true;
-
-
-            this.colColor.OptionsColumn.AllowEdit = false;
-            this.colColor.OptionsColumn.ReadOnly = true;
-
-
-            this.colCurrentSpeed.OptionsColumn.AllowEdit = false;
-            this.colCurrentSpeed.OptionsColumn.ReadOnly = true;
-
-        }
-
-
-
-        /// <summary>
-        /// 璁剧疆鏇茬嚎
-        /// </summary> 
-        public event Action<string, double, double, Yw.Geometry.CubicSpline2d, Yw.Geometry.CubicSpline2d, Yw.Geometry.CubicSpline2d> SetEvent;
-
-        /// <summary>
-        /// 璁剧疆鏇茬嚎淇℃伅
-        /// </summary> 
-        public event Action<string, Color> SetInfoEvent;
-
-        /// <summary>
-        /// 璁剧疆璁捐鐐�
-        /// </summary> 
-        public event Action<double, double> SetDesignPointEvent;
-
-        /// <summary>
-        /// 淇濆瓨浜嬩欢
-        /// </summary> 
-        public event Action<SinglePumpAnalyViewModel> SaveEvent;
-
-        private List<SinglePumpAnalyViewModel> _all_binding_list = null;
-
-        public void SetBindingData(List<SinglePumpAnalyViewModel> vm_list)
-        {
-            _all_binding_list = new List<SinglePumpAnalyViewModel>();
-            if (vm_list != null && vm_list.Any())
-            {
-                _all_binding_list = vm_list.Select(x => new SinglePumpAnalyViewModel(x)).ToList();
-            }
-
-            this.singlePumpAnalyViewModelBindingSource.DataSource = _all_binding_list;
-            this.singlePumpAnalyViewModelBindingSource.ResetBindings(false);
-            this.gridView1.BestFitColumns();
-            this.gridView2.BestFitColumns();
-            this.gridView3.BestFitColumns();
-        }
-
-        public void SetDesignPoint(double flow, double head)
-        {
-            this.txtDesignQ.EditValue = flow;
-            this.txtDesignH.EditValue = head;
-        }
-
-        public void Add(SinglePumpAnalyViewModel vm)
-        {
-            if (_all_binding_list == null)
-                _all_binding_list = new List<SinglePumpAnalyViewModel>();
-
-            _all_binding_list.Add(vm);
-            this.singlePumpAnalyViewModelBindingSource.DataSource = _all_binding_list;
-            this.singlePumpAnalyViewModelBindingSource.ResetBindings(false);
-            this.gridView1.BestFitColumns();
-            this.gridView2.BestFitColumns();
-            this.gridView3.BestFitColumns();
-        }
-
-        /// <summary>
-        /// 鑾峰彇鍒楄〃
-        /// </summary> 
-        public List<SinglePumpAnalyViewModel> GetList()
-        {
-            if (_all_binding_list == null || !_all_binding_list.Any())
-            {
-                return default;
-            }
-            return _all_binding_list.Select(x => new SinglePumpAnalyViewModel(x)).ToList();
-        }
-
-        //楠岃瘉
-        private void GridView1_ShowingEditor(object sender, CancelEventArgs e)
-        {
-            if (this.gridView1.FocusedColumn == this.colCurrentHz
-                || this.gridView1.FocusedColumn == this.colExtendRatio
-                || this.gridView1.FocusedColumn == this.colCurrentSpeed)
-            {
-                var vm = this.gridView1.GetFocusedRow() as SinglePumpAnalyViewModel;
-                if (vm.IsDefault)
-                {
-                    e.Cancel = true;
-                }
-            }
-        }
-
-        //鍊煎彉鎹�
-        private void gridView1_CellValueChanged(object sender, DevExpress.XtraGrid.Views.Base.CellValueChangedEventArgs e)
-        {
-            if (e.Column == this.colCurrentHz)
-            {
-
-                var vm = this.gridView1.GetRow(e.RowHandle) as SinglePumpAnalyViewModel;
-                if (vm.CurrentHz < 10 || vm.CurrentHz > 50)
-                {
-                    return;
-                }
-                vm.Calc();
-                this.singlePumpAnalyViewModelBindingSource.ResetBindings(false);
-                this.SetEvent?.Invoke(vm.Id, vm.CurrentHz, vm.ExtendRatio, vm.QhCalc, vm.QeCalc, vm.QpCalc);
-            }
-            else if (e.Column == this.colExtendRatio)
-            {
-                var vm = this.gridView1.GetRow(e.RowHandle) as SinglePumpAnalyViewModel;
-                vm.Calc();
-                this.singlePumpAnalyViewModelBindingSource.ResetBindings(false);
-                this.SetEvent?.Invoke(vm.Id, vm.CurrentHz, vm.ExtendRatio, vm.QhCalc, vm.QeCalc, vm.QpCalc);
-            }
-
-        }
-
-        /// <summary>
-        /// 璁剧疆鏌ヨ淇℃伅
-        /// </summary> 
-        public void SetQueryInfo(string id, Yw.WinFrmUI.Phart.PumpQueryPointViewModel query_pt)
-        {
-            if (query_pt == null)
-                return;
-            if (_all_binding_list == null || !_all_binding_list.Any())
-                return;
-            var vm = _all_binding_list.Find(x => x.Id == id);
-            if (vm == null)
-                return;
-            vm.QueryQ = query_pt.Q > 0 ? $"{query_pt.Q:N1}" : string.Empty;
-            vm.QueryH = query_pt.H > 0 ? $"{query_pt.H:N1}" : string.Empty;
-            vm.QueryE = query_pt.E > 0 ? $"{query_pt.E:N1}" : string.Empty;
-            vm.QueryP = query_pt.P > 0 ? $"{query_pt.P:N1}" : string.Empty;
-            this.singlePumpAnalyViewModelBindingSource.ResetBindings(false);
-        }
-
-        /// <summary>
-        /// 璁剧疆璁捐鐐逛俊鎭�
-        /// </summary> 
-        public void SetSectPointList(List<Yw.WinFrmUI.Phart.PumpSectPointViewModel> vm_list)
-        {
-            if (_all_binding_list == null || !_all_binding_list.Any())
-                return;
-            _all_binding_list.ForEach(vm =>
-            {
-                vm.SectQ = string.Empty;
-                vm.SectH = string.Empty;
-                vm.SectE = string.Empty;
-                vm.SectP = string.Empty;
-
-                var pt = vm_list?.Find(x => x.Id == vm.Id);
-                if (pt != null)
-                {
-                    vm.SectQ = pt.QueryQ;
-                    vm.SectH = pt.QueryH;
-                    vm.SectE = pt.QueryE;
-                    vm.SectP = pt.QueryP;
-                };
-            });
-            this.singlePumpAnalyViewModelBindingSource.ResetBindings(false);
-        }
-
-        //璁剧疆璁捐鐐�
-        private void btnSetDesignPoint_Click(object sender, EventArgs e)
-        {
-            if (!double.TryParse(this.txtDesignQ.Text, out double design_q))
-                return;
-            if (!double.TryParse(this.txtDesignH.Text, out double design_h))
-                return;
-
-            this.SetDesignPointEvent?.Invoke(design_q, design_h);
-        }
-
-        private void btnSave_Click(object sender, EventArgs e)
-        {
-            if (XtraMessageBox.Show("鏄惁淇濆瓨鏁版嵁锛�", "鎻愮ず淇℃伅", MessageBoxButtons.YesNo, MessageBoxIcon.Information) != DialogResult.Yes)
-                return;
-            var vm = _all_binding_list.Last();
-            this.SaveEvent?.Invoke(vm);
-        }
-    }
-}
diff --git a/WinFrmUI/HStation.WinFrmUI.Xhs.Core/04-pump/02-analy/SinglePumpAnalyInfoCtrl.resx b/WinFrmUI/HStation.WinFrmUI.Xhs.Core/04-pump/02-analy/SinglePumpAnalyInfoCtrl.resx
deleted file mode 100644
index 2085500..0000000
--- a/WinFrmUI/HStation.WinFrmUI.Xhs.Core/04-pump/02-analy/SinglePumpAnalyInfoCtrl.resx
+++ /dev/null
@@ -1,161 +0,0 @@
-锘�<?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="singlePumpAnalyViewModelBindingSource.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="btnSetDesignPoint.ImageOptions.SvgImage" type="DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v23.2" mimetype="application/x-microsoft.net.object.bytearray.base64">
-    <value>
-        AAEAAAD/////AQAAAAAAAAAMAgAAAFlEZXZFeHByZXNzLkRhdGEudjIzLjIsIFZlcnNpb249MjMuMi40
-        LjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjg4ZDE3NTRkNzAwZTQ5YQUBAAAAHURl
-        dkV4cHJlc3MuVXRpbHMuU3ZnLlN2Z0ltYWdlAQAAAAREYXRhBwICAAAACQMAAAAPAwAAAB0DAAAC77u/
-        PD94bWwgdmVyc2lvbj0nMS4wJyBlbmNvZGluZz0nVVRGLTgnPz4NCjxzdmcgeD0iMHB4IiB5PSIwcHgi
-        IHZpZXdCb3g9IjAgMCAzMiAzMiIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcv
-        MjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB4bWw6c3Bh
-        Y2U9InByZXNlcnZlIiBpZD0iTGF5ZXJfMSIgc3R5bGU9ImVuYWJsZS1iYWNrZ3JvdW5kOm5ldyAwIDAg
-        MzIgMzIiPg0KICA8c3R5bGUgdHlwZT0idGV4dC9jc3MiPgoJLkJsdWV7ZmlsbDojMTE3N0Q3O30KCS5Z
-        ZWxsb3d7ZmlsbDojRkZCMTE1O30KCS5CbGFja3tmaWxsOiM3MjcyNzI7fQoJLkdyZWVue2ZpbGw6IzAz
-        OUMyMzt9CgkuUmVke2ZpbGw6I0QxMUMxQzt9Cgkuc3Qwe29wYWNpdHk6MC43NTt9Cgkuc3Qxe29wYWNp
-        dHk6MC41O30KPC9zdHlsZT4NCiAgPGcgaWQ9IkVkaXQiPg0KICAgIDxwYXRoIGQ9Ik0yNy42LDguMmwt
-        My44LTMuOGMtMC41LTAuNS0xLjQtMC41LTEuOSwwbC0yLjUsMi41bDUuOCw1LjhsMi41LTIuNUMyOC4x
-        LDkuNiwyOC4xLDguOCwyNy42LDguMnoiIGNsYXNzPSJCbHVlIiAvPg0KICAgIDxwb2x5Z29uIHBvaW50
-        cz0iNCwyOCA5LjgsMjggNCwyMi4yICAiIGNsYXNzPSJCbHVlIiAvPg0KICAgIDxyZWN0IHg9IjUuOCIg
-        eT0iMTMuNCIgd2lkdGg9IjE3LjYiIGhlaWdodD0iOC4yIiBjbGFzcz0iQmx1ZSIgdHJhbnNmb3JtPSJt
-        YXRyaXgoMC43MDcsIC0wLjcwNzIsIDAuNzA3MiwgMC43MDcsIC04LjA3MjEsIDE1LjQwNDgpIiAvPg0K
-        ICA8L2c+DQo8L3N2Zz4L
-</value>
-  </data>
-  <data name="btnSave.ImageOptions.SvgImage" type="DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v23.2" mimetype="application/x-microsoft.net.object.bytearray.base64">
-    <value>
-        AAEAAAD/////AQAAAAAAAAAMAgAAAFlEZXZFeHByZXNzLkRhdGEudjIzLjIsIFZlcnNpb249MjMuMi40
-        LjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjg4ZDE3NTRkNzAwZTQ5YQUBAAAAHURl
-        dkV4cHJlc3MuVXRpbHMuU3ZnLlN2Z0ltYWdlAQAAAAREYXRhBwICAAAACQMAAAAPAwAAAO4BAAAC77u/
-        PD94bWwgdmVyc2lvbj0nMS4wJyBlbmNvZGluZz0nVVRGLTgnPz4NCjxzdmcgeD0iMHB4IiB5PSIwcHgi
-        IHZpZXdCb3g9IjAgMCAzMiAzMiIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcv
-        MjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB4bWw6c3Bh
-        Y2U9InByZXNlcnZlIiBpZD0iU2F2ZSIgc3R5bGU9ImVuYWJsZS1iYWNrZ3JvdW5kOm5ldyAwIDAgMzIg
-        MzIiPg0KICA8c3R5bGUgdHlwZT0idGV4dC9jc3MiPgoJLkJsYWNre2ZpbGw6IzcyNzI3Mjt9Cjwvc3R5
-        bGU+DQogIDxwYXRoIGQ9Ik0yNyw0aC0zdjEwSDhWNEg1QzQuNCw0LDQsNC40LDQsNXYyMmMwLDAuNiww
-        LjQsMSwxLDFoMjJjMC42LDAsMS0wLjQsMS0xVjVDMjgsNC40LDI3LjYsNCwyNyw0eiBNMjQsMjRIOHYt
-        NiAgaDE2VjI0eiBNMTAsNHY4aDEwVjRIMTB6IE0xNCwxMGgtMlY2aDJWMTB6IiBjbGFzcz0iQmxhY2si
-        IC8+DQo8L3N2Zz4L
-</value>
-  </data>
-</root>
\ No newline at end of file
diff --git a/WinFrmUI/HStation.WinFrmUI.Xhs.Core/04-pump/02-analy/SinglePumpAnalyViewModel.cs b/WinFrmUI/HStation.WinFrmUI.Xhs.Core/04-pump/02-analy/SinglePumpAnalyViewModel.cs
deleted file mode 100644
index d757728..0000000
--- a/WinFrmUI/HStation.WinFrmUI.Xhs.Core/04-pump/02-analy/SinglePumpAnalyViewModel.cs
+++ /dev/null
@@ -1,256 +0,0 @@
-锘縩amespace HStation.WinFrmUI.Xhs
-{
-    public class SinglePumpAnalyViewModel
-    {
-        public SinglePumpAnalyViewModel() { }
-        public SinglePumpAnalyViewModel(SinglePumpAnalyViewModel rhs)
-        {
-            this.Id = rhs.Id;
-            this.Name = rhs.Name;
-            this.IsBp = rhs.IsBp;
-            this.RatedSpeed = rhs.RatedSpeed;
-            this.CurrentSpeed = rhs.CurrentSpeed;
-            this.CurrentHz = rhs.CurrentHz;
-            this.IsDefault = rhs.IsDefault;
-            this.Color = rhs.Color;
-            this.ExtendRatio = rhs.ExtendRatio;
-            this.Qh = new Yw.Geometry.CubicSpline2d(rhs.Qh);
-            this.Qe = new Yw.Geometry.CubicSpline2d(rhs.Qe);
-            this.Qp = new Yw.Geometry.CubicSpline2d(rhs.Qp);
-            this.QhCalc = new Yw.Geometry.CubicSpline2d(rhs.QhCalc);
-            this.QeCalc = new Yw.Geometry.CubicSpline2d(rhs.QeCalc);
-            this.QpCalc = new Yw.Geometry.CubicSpline2d(rhs.QpCalc);
-
-            this.SectQ = rhs.QueryQ;
-            this.SectH = rhs.QueryH;
-            this.SectE = rhs.QueryE;
-            this.SectP = rhs.QueryP;
-
-            this.QueryQ = rhs.QueryQ;
-            this.QueryH = rhs.QueryH;
-            this.QueryE = rhs.QueryE;
-            this.QueryP = rhs.QueryP;
-        }
-
-        public SinglePumpAnalyViewModel(Yw.WinFrmUI.Phart.PumpVariableSpeedInfoViewModel rhs, Yw.WinFrmUI.Phart.PumpSectPointViewModel sect)
-        {
-            this.Id = rhs.Id;
-            this.Name = rhs.Name;
-            this.IsBp = rhs.IsBp;
-            this.RatedSpeed = rhs.RatedSpeed;
-            this.CurrentSpeed = rhs.CurrentSpeed;
-            this.CurrentHz = rhs.CurrentHz;
-            this.IsDefault = rhs.IsDefault;
-            this.Color = rhs.Color;
-            this.ExtendRatio = rhs.ExtendRatio;
-            this.Qh = new Yw.Geometry.CubicSpline2d(rhs.Qh);
-            this.Qe = new Yw.Geometry.CubicSpline2d(rhs.Qe);
-            this.Qp = new Yw.Geometry.CubicSpline2d(rhs.Qp);
-            this.QhCalc = new Yw.Geometry.CubicSpline2d(rhs.QhCalc);
-            this.QeCalc = new Yw.Geometry.CubicSpline2d(rhs.QeCalc);
-            this.QpCalc = new Yw.Geometry.CubicSpline2d(rhs.QpCalc);
-
-            this.SectQ = sect.QueryQ;
-            this.SectH = sect.QueryH;
-            this.SectE = sect.QueryE;
-            this.SectP = sect.QueryP;
-
-            this.QueryQ = rhs.QueryQ;
-            this.QueryH = rhs.QueryH;
-            this.QueryE = rhs.QueryE;
-            this.QueryP = rhs.QueryP;
-        }
-
-        public Yw.WinFrmUI.Phart.PumpVariableSpeedInfoViewModel ToInfo()
-        {
-            var info = new Yw.WinFrmUI.Phart.PumpVariableSpeedInfoViewModel();
-            info.Id = this.Id;
-            info.Name = this.Name;
-            info.IsBp = this.IsBp;
-            info.RatedSpeed = this.RatedSpeed;
-            info.CurrentSpeed = this.CurrentSpeed;
-            info.CurrentHz = this.CurrentHz;
-            info.IsDefault = this.IsDefault;
-            info.Color = this.Color;
-            info.ExtendRatio = this.ExtendRatio;
-            info.Qh = new Yw.Geometry.CubicSpline2d(this.Qh);
-            info.Qe = new Yw.Geometry.CubicSpline2d(this.Qe);
-            info.Qp = new Yw.Geometry.CubicSpline2d(this.Qp);
-            info.QhCalc = new Yw.Geometry.CubicSpline2d(this.QhCalc);
-            info.QeCalc = new Yw.Geometry.CubicSpline2d(this.QeCalc);
-            info.QpCalc = new Yw.Geometry.CubicSpline2d(this.QpCalc);
-
-            info.QueryQ = this.QueryQ;
-            info.QueryH = this.QueryH;
-            info.QueryE = this.QueryE;
-            info.QueryP = this.QueryP;
-
-            return info;
-        }
-
-        /// <summary>
-        /// 鏍囪瘑
-        /// </summary>
-        [Display(Name = "鏍囪瘑")]
-        public string Id { get; set; }
-
-        /// <summary>
-        /// 鍚嶇О
-        /// </summary>
-        [Display(Name = "鍚嶇О")]
-        public string Name { get; set; }
-
-        /// <summary>
-        /// 鏄惁鍙橀
-        /// </summary>
-        [Display(Name = "鏄惁鍙橀")]
-        public bool IsBp { get; set; }
-
-        /// <summary>
-        /// 棰濆畾杞��
-        /// </summary>
-        [Display(Name = "棰濆畾杞��")]
-        public double RatedSpeed { get; set; }
-
-        /// <summary>
-        /// 褰撳墠杞��
-        /// </summary>
-        [Display(Name = "杞��")]
-        public double CurrentSpeed { get; set; }
-
-        /// <summary>
-        /// 褰撳墠棰戠巼
-        /// </summary>
-        [Display(Name = "棰戠巼")]
-        public double CurrentHz { get; set; }
-
-        /// <summary>
-        /// 鏄惁榛樿
-        /// </summary>
-        [Display(Name = "鏄惁榛樿")]
-        public bool IsDefault { get; set; }
-
-        /// <summary>
-        /// 棰滆壊
-        /// </summary>
-        [Display(Name = "棰滆壊")]
-        public Color Color { get; set; }
-
-        /// <summary>
-        /// 寤堕暱(%)
-        /// </summary>
-        [Display(Name = "寤堕暱(%)")]
-        public double ExtendRatio { get; set; } = 100;
-
-        /// <summary>
-        /// 娴侀噺鎵▼绾�
-        /// </summary>
-        [Display(Name = "")]
-        public Yw.Geometry.CubicSpline2d Qh { get; set; }
-
-        /// <summary>
-        /// 娴侀噺鏁堢巼绾�
-        /// </summary>
-        [Display(Name = "")]
-        public Yw.Geometry.CubicSpline2d Qe { get; set; }
-
-        /// <summary>
-        /// 娴侀噺鍔熺巼绾�
-        /// </summary>
-        [Display(Name = "")]
-        public Yw.Geometry.CubicSpline2d Qp { get; set; }
-
-        /// <summary>
-        /// 娴侀噺鎵▼绾�
-        /// </summary>
-        [Display(Name = "")]
-        public Yw.Geometry.CubicSpline2d QhCalc { get; set; }
-
-        /// <summary>
-        /// 娴侀噺鏁堢巼绾�
-        /// </summary>
-        [Display(Name = "")]
-        public Yw.Geometry.CubicSpline2d QeCalc { get; set; }
-
-        /// <summary>
-        /// 娴侀噺鍔熺巼绾�
-        /// </summary>
-        [Display(Name = "")]
-        public Yw.Geometry.CubicSpline2d QpCalc { get; set; }
-
-
-        /// <summary>
-        /// 娴侀噺(m鲁/h)
-        /// </summary>
-        [Display(Name = "娴侀噺(m鲁/h)")]
-        public string SectQ { get; set; }
-
-        /// <summary>
-        /// 鎵▼(m)
-        /// </summary>
-        [Display(Name = "鎵▼(m)")]
-        public string SectH { get; set; }
-
-        /// <summary>
-        /// 鏁堢巼(%)
-        /// </summary>
-        [Display(Name = "鏁堢巼(%)")]
-        public string SectE { get; set; }
-
-        /// <summary>
-        /// 鍔熺巼(kW)
-        /// </summary>
-        [Display(Name = "鍔熺巼(kW)")]
-        public string SectP { get; set; }
-
-
-        /// <summary>
-        /// 娴侀噺(m鲁/h)
-        /// </summary>
-        [Display(Name = "娴侀噺(m鲁/h)")]
-        public string QueryQ { get; set; }
-
-        /// <summary>
-        /// 鎵▼(m)
-        /// </summary>
-        [Display(Name = "鎵▼(m)")]
-        public string QueryH { get; set; }
-
-        /// <summary>
-        /// 鏁堢巼(%)
-        /// </summary>
-        [Display(Name = "鏁堢巼(%)")]
-        public string QueryE { get; set; }
-
-        /// <summary>
-        /// 鍔熺巼(kW)
-        /// </summary>
-        [Display(Name = "鍔熺巼(kW)")]
-        public string QueryP { get; set; }
-
-
-        /// <summary>
-        /// 璁$畻
-        /// </summary>
-        public void Calc()
-        {
-            this.CurrentSpeed = Math.Round(this.CurrentHz / 50 * this.RatedSpeed);
-
-            this.QhCalc = Yw.WinFrmUI.Phart.PumpCalcHelper.CalculateSimilarQH(this.Qh, this.RatedSpeed, this.CurrentSpeed);
-            this.QeCalc = Yw.WinFrmUI.Phart.PumpCalcHelper.CalculateSimilarQE(this.Qe, this.RatedSpeed, this.CurrentSpeed);
-            this.QpCalc = Yw.WinFrmUI.Phart.PumpCalcHelper.CalculateSimilarQP(this.Qp, this.RatedSpeed, this.CurrentSpeed);
-
-            if (this.QhCalc != null)
-                this.QhCalc.MaxX = this.QhCalc.MaxX * this.ExtendRatio / 100;
-
-            if (this.QeCalc != null)
-                this.QeCalc.MaxX = this.QeCalc.MaxX * this.ExtendRatio / 100;
-
-            if (this.QpCalc != null)
-                this.QpCalc.MaxX = this.QpCalc.MaxX * this.ExtendRatio / 100;
-
-        }
-
-
-    }
-}
diff --git a/WinFrmUI/HStation.WinFrmUI.Xhs.Core/04-pump/03-calc/SinglePumpCalcCtrl.Designer.cs b/WinFrmUI/HStation.WinFrmUI.Xhs.Core/04-pump/03-calc/SinglePumpCalcCtrl.Designer.cs
deleted file mode 100644
index 8320df6..0000000
--- a/WinFrmUI/HStation.WinFrmUI.Xhs.Core/04-pump/03-calc/SinglePumpCalcCtrl.Designer.cs
+++ /dev/null
@@ -1,64 +0,0 @@
-锘縩amespace HStation.WinFrmUI.Xhs
-{
-    partial class SinglePumpCalcCtrl
-    {
-        /// <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()
-        {
-            pumpVariableSpeedChart1 = new Yw.WinFrmUI.Phart.PumpVariableSpeedChart();
-            ribbonPage2 = new DevExpress.XtraBars.Ribbon.RibbonPage();
-            SuspendLayout();
-            // 
-            // pumpVariableSpeedChart1
-            // 
-            pumpVariableSpeedChart1.Dock = DockStyle.Fill; 
-            pumpVariableSpeedChart1.LineNameVisible = true;
-            pumpVariableSpeedChart1.LineVisible = false;
-            pumpVariableSpeedChart1.Location = new Point(0, 0);
-            pumpVariableSpeedChart1.Name = "pumpVariableSpeedChart1";
-            pumpVariableSpeedChart1.Size = new Size(1400, 1022);
-            pumpVariableSpeedChart1.TabIndex = 5;
-            // 
-            // ribbonPage2
-            // 
-            ribbonPage2.Name = "ribbonPage2";
-            ribbonPage2.Text = "ribbonPage2";
-            // 
-            // SinglePumpCalcCtrl
-            // 
-            AutoScaleDimensions = new SizeF(10F, 22F);
-            AutoScaleMode = AutoScaleMode.Font;
-            Controls.Add(pumpVariableSpeedChart1);
-            Name = "SinglePumpCalcCtrl";
-            Size = new Size(1400, 1022);
-            ResumeLayout(false);
-        }
-
-        #endregion
-        private Yw.WinFrmUI.Phart.PumpVariableSpeedChart pumpVariableSpeedChart1;
-        private DevExpress.XtraBars.Ribbon.RibbonPage ribbonPage2;
-    }
-}
\ No newline at end of file
diff --git a/WinFrmUI/HStation.WinFrmUI.Xhs.Core/04-pump/03-calc/SinglePumpCalcCtrl.cs b/WinFrmUI/HStation.WinFrmUI.Xhs.Core/04-pump/03-calc/SinglePumpCalcCtrl.cs
deleted file mode 100644
index cd61f32..0000000
--- a/WinFrmUI/HStation.WinFrmUI.Xhs.Core/04-pump/03-calc/SinglePumpCalcCtrl.cs
+++ /dev/null
@@ -1,276 +0,0 @@
-锘縰sing HStation.WinFrmUI.PhartRelation;
-using SqlSugar;
-using Yw.WinFrmUI.Phart;
-
-namespace HStation.WinFrmUI.Xhs
-{
-    public partial class SinglePumpCalcCtrl : XtraUserControl
-    {
-        public SinglePumpCalcCtrl()
-        {
-            InitializeComponent(); 
-            InitChart();
-        } 
-
-        private List<SinglePumpCalcViewModel> _list = null;
-
-        #region Init
-
-        private void InitChart()
-        {
-            this.pumpVariableSpeedChart1.LineVisible = true; 
-            this.pumpVariableSpeedChart1.AddBySpeedEvent += () =>
-            {
-                AddBySpeed(); 
-            };
-
-            this.pumpVariableSpeedChart1.AddByHzEvent += () =>
-            {
-                AddByHz(); 
-            };
-
-            this.pumpVariableSpeedChart1.AddByPointEvent += () =>
-            {
-                AddByPoint(); 
-            }; 
-
-        }
- 
-
-        private void AddBySpeed()
-        { 
-            if (_list == null || _list.Count < 1)
-            {
-                return;
-            }
-            var index = _list.Count;
-            var vm_def = _list.First();
-            var dlg = new SetValueDlg();
-            dlg.SetBindingData(vm_def.RatedSpeed);
-            dlg.VerifyValueChanged += (speed) =>
-            {
-                var hz = Math.Round(speed / vm_def.RatedSpeed * 50, 1);
-                if (hz > 50 || hz < 10)
-                {
-                    return false;
-                }
-                var vm = new SinglePumpCalcViewModel(vm_def);
-                vm.Id = Guid.NewGuid().ToString();
-                vm.Name = $"{speed}rpm({hz}hz)";
-                vm.Color = GetRandomColor(index);
-                vm.CurrentHz = hz;
-                vm.CurrentSpeed = speed;
-                vm.IsDefault = false;
-                vm.Calc();
-                 
-                this.pumpVariableSpeedChart1.Add(vm.ToInfo());
-
-                return true;
-            };
-            dlg.ShowDialog();
-        }
-
-        private void AddByHz()
-        {  
-            if (_list == null || _list.Count < 1)
-            {
-                return;
-            }
-
-            var index = _list.Count;
-            var vm_def = _list.First();
-            var dlg = new SetValueDlg();
-            dlg.VerifyValueChanged += (hz) =>
-            {
-                if (hz > 50 || hz < 10)
-                {
-                    return false;
-                }
-                var speed = Math.Round(hz / 50 * vm_def.RatedSpeed);
-                var vm = new SinglePumpCalcViewModel(vm_def);
-                vm.Id = Guid.NewGuid().ToString();
-                vm.Name = $"{speed}rpm({hz}hz)";
-                vm.Color = GetRandomColor(index);
-                vm.CurrentHz = hz;
-                vm.CurrentSpeed = speed;
-                vm.IsDefault = false;
-                vm.Calc();
-                 
-                this.pumpVariableSpeedChart1.Add(vm.ToInfo());
-
-                return true;
-            };
-            dlg.ShowDialog();
-        }
-
-        private void AddByPoint()
-        { 
-            if (_list == null || _list.Count < 1)
-            {
-                return;
-            }
-            var index = _list.Count;
-            var vm_def = _list.First();
-            var dlg = new SetPointDlg();
-            dlg.SetBindingData();
-            dlg.VerifyValueChanged += (x, y) =>
-            {
-                var pt = new Yw.Geometry.Point2d(x, y);
-                var speed = PumpCalcHelper.GetSimuValue(vm_def.Qh, pt, vm_def.RatedSpeed);
-                var hz = Math.Round(speed / vm_def.RatedSpeed * 50, 1);
-                if (hz > 50 || hz < 20)
-                {
-                    return false;
-                }
-                var vm = new SinglePumpCalcViewModel(vm_def);
-                vm.Id = Guid.NewGuid().ToString();
-                vm.Name = $"{speed}rpm({hz}hz)";
-                vm.Color = GetRandomColor(index);
-                vm.CurrentHz = hz;
-                vm.CurrentSpeed = speed;
-                vm.IsDefault = false;
-                vm.Calc();
-                 
-                this.pumpVariableSpeedChart1.Add(vm.ToInfo());
-                return true;
-            };
-            dlg.ShowDialog();
-        }
-
-        private Color GetRandomColor(int count)
-        {
-            var color_list = new List<Color>()
-            {
-                Color.Red, Color.Blue, Color.Green,Color.DodgerBlue,
-                Color.Fuchsia, Color.MidnightBlue,  Color.Maroon, Color.Aquamarine,
-                Color.Bisque,Color.BurlyWood
-            };
-
-            if (count < color_list.Count)
-            {
-                return color_list[count];
-            }
-
-            var _random = new Random();
-            int r = _random.Next(1, 256);
-            int g = _random.Next(1, 256);
-            int b = _random.Next(1, 256);
-            return Color.FromArgb(r, g, b);
-        }
-
-        #endregion
-
-        private PumpMatchingViewModel _vm = null;
-        public void SetBindindData(PumpMatchingViewModel pump_matching)
-        {
-            _vm = pump_matching;
-            SetChart(pump_matching);
-        }
-
-        //璁剧疆鍥捐〃鏁版嵁
-        private async void SetChart(PumpMatchingViewModel pump_math)
-        {
-            var db_pump_mian_id = pump_math.DbId;
-            var db_curve_id = pump_math.CurveDbId;
-            if (pump_math.MatchingDbId != null)
-            {
-                db_pump_mian_id = pump_math.MatchingDbId;
-                db_curve_id = pump_math.MatchingCurveDbId;
-            }
-            if (!long.TryParse(db_pump_mian_id, out long pump_main_id))
-            {
-                return;
-            }
-            if (!long.TryParse(db_curve_id, out long curve_id))
-            {
-                return;
-            }
-            var pump_main = await new BLL.AssetsPumpMain().GetByID(pump_main_id);
-            if (pump_main == null)
-            {
-                return;
-            }
-            var phart = await new BLL.XhsPumpMainPhartMappingExtensions().GetByID(curve_id);
-            if (phart == null)
-            {
-                return;
-            }
-            var diagram = phart.Diagram;
-            if (diagram == null)
-            {
-                return;
-            }
-            var graph_list = diagram.GraphList;
-            if (graph_list == null || !graph_list.Any())
-            {
-                return;
-            }
-
-            var graph_qh = graph_list.Find(x => x.GraphType == HStation.PhartRelation.eGraphType.PumpQH);
-            var graph_qe = graph_list.Find(x => x.GraphType == HStation.PhartRelation.eGraphType.PumpQE);
-            var graph_qp = graph_list.Find(x => x.GraphType == HStation.PhartRelation.eGraphType.PumpQP);
-            if (graph_qh == null)
-            {
-                return;
-            }
-
-            List<Yw.Geometry.Point2d> points_qh = null, points_qe = null, points_qp = null;
-            points_qh = PhartPerformCurveHelper.GetFeatPointList(graph_qh.GraphType, graph_qh.GeometryInfo, 12, null);
-            if (graph_qe != null)
-                points_qe = PhartPerformCurveHelper.GetFeatPointList(graph_qe.GraphType, graph_qe.GeometryInfo, 12, null);
-            if (graph_qp != null)
-                points_qp = PhartPerformCurveHelper.GetFeatPointList(graph_qp.GraphType, graph_qp.GeometryInfo, 12, null);
-
-            var qh = new Yw.Geometry.CubicSpline2d(points_qh);
-            var qe = new Yw.Geometry.CubicSpline2d(points_qe);
-            var qp = new Yw.Geometry.CubicSpline2d(points_qp);
-
-
-            var def_vm = new SinglePumpCalcViewModel();
-            def_vm.Id = "def";
-            def_vm.Name = "棰濆畾鏇茬嚎";
-            def_vm.RatedSpeed = pump_main.RatedSpeed;
-            def_vm.CurrentSpeed = pump_main.RatedSpeed;
-            def_vm.CurrentHz = 50;
-            def_vm.IsDefault = true;
-            def_vm.Color = Color.Black;
-            def_vm.ExtendRatio = 100;
-            def_vm.Qh = qh;
-            def_vm.Qe = qe;
-            def_vm.Qp = qp;
-            def_vm.Calc();
-
-            var working_vm = new SinglePumpCalcViewModel();
-            working_vm.Id = "working";
-            working_vm.Name = "璁惧畾鏇茬嚎";
-            working_vm.RatedSpeed = pump_main.RatedSpeed;
-            working_vm.CurrentSpeed = Math.Round(pump_math.CurrentHz / 50 * pump_main.RatedSpeed, 1);
-            working_vm.CurrentHz = pump_math.CurrentHz;
-            working_vm.IsDefault = false;
-            working_vm.Color = Color.Red;
-            working_vm.ExtendRatio = 100;
-            working_vm.Qh = qh;
-            working_vm.Qe = qe;
-            working_vm.Qp = qp;
-            working_vm.Calc();
-
-            var calc_flow = pump_math.CalcuQ;
-            var calc_head = pump_math.CalcuH;
-
-            _list = new List<SinglePumpCalcViewModel>() { def_vm, working_vm };
-            var list_yw = _list.Select(x => x.ToInfo()).ToList();
-
-            this.pumpVariableSpeedChart1.Add(list_yw);
-
-            if (calc_flow.HasValue && calc_head.HasValue)
-            {
-                var flow = Math.Round(calc_flow.Value, 1);
-                var head = Math.Round(calc_head.Value, 1);
-
-                this.pumpVariableSpeedChart1.SetEquipPt(new Yw.Geometry.Point2d(flow, head));
-            }
-
-        }
- 
-    }
-}
\ No newline at end of file
diff --git a/WinFrmUI/HStation.WinFrmUI.Xhs.Core/04-pump/03-calc/SinglePumpCalcViewModel.cs b/WinFrmUI/HStation.WinFrmUI.Xhs.Core/04-pump/03-calc/SinglePumpCalcViewModel.cs
deleted file mode 100644
index 7bd3caf..0000000
--- a/WinFrmUI/HStation.WinFrmUI.Xhs.Core/04-pump/03-calc/SinglePumpCalcViewModel.cs
+++ /dev/null
@@ -1,258 +0,0 @@
-锘縩amespace HStation.WinFrmUI.Xhs
-{
-    public class SinglePumpCalcViewModel
-    {
-        public SinglePumpCalcViewModel() { }
-        public SinglePumpCalcViewModel(SinglePumpCalcViewModel rhs)
-        {
-
-            this.Id = rhs.Id;
-            this.Name = rhs.Name;
-            this.IsBp = rhs.IsBp;
-            this.RatedSpeed = rhs.RatedSpeed;
-            this.CurrentSpeed = rhs.CurrentSpeed;
-            this.CurrentHz = rhs.CurrentHz;
-            this.IsDefault = rhs.IsDefault;
-            this.Color = rhs.Color;
-            this.ExtendRatio = rhs.ExtendRatio;
-            this.Qh = new Yw.Geometry.CubicSpline2d(rhs.Qh);
-            this.Qe = new Yw.Geometry.CubicSpline2d(rhs.Qe);
-            this.Qp = new Yw.Geometry.CubicSpline2d(rhs.Qp);
-            this.QhCalc = new Yw.Geometry.CubicSpline2d(rhs.QhCalc);
-            this.QeCalc = new Yw.Geometry.CubicSpline2d(rhs.QeCalc);
-            this.QpCalc = new Yw.Geometry.CubicSpline2d(rhs.QpCalc);
-
-            this.SectQ = rhs.QueryQ;
-            this.SectH = rhs.QueryH;
-            this.SectE = rhs.QueryE;
-            this.SectP = rhs.QueryP;
-
-            this.QueryQ = rhs.QueryQ;
-            this.QueryH = rhs.QueryH;
-            this.QueryE = rhs.QueryE;
-            this.QueryP = rhs.QueryP;
-
-        }
-
-        public SinglePumpCalcViewModel(Yw.WinFrmUI.Phart.PumpVariableSpeedInfoViewModel rhs, Yw.WinFrmUI.Phart.PumpSectPointViewModel sect)
-        {
-            this.Id = rhs.Id;
-            this.Name = rhs.Name;
-            this.IsBp = rhs.IsBp;
-            this.RatedSpeed = rhs.RatedSpeed;
-            this.CurrentSpeed = rhs.CurrentSpeed;
-            this.CurrentHz = rhs.CurrentHz;
-            this.IsDefault = rhs.IsDefault;
-            this.Color = rhs.Color;
-            this.ExtendRatio = rhs.ExtendRatio;
-            this.Qh = new Yw.Geometry.CubicSpline2d(rhs.Qh);
-            this.Qe = new Yw.Geometry.CubicSpline2d(rhs.Qe);
-            this.Qp = new Yw.Geometry.CubicSpline2d(rhs.Qp);
-            this.QhCalc = new Yw.Geometry.CubicSpline2d(rhs.QhCalc);
-            this.QeCalc = new Yw.Geometry.CubicSpline2d(rhs.QeCalc);
-            this.QpCalc = new Yw.Geometry.CubicSpline2d(rhs.QpCalc);
-
-            this.SectQ = sect.QueryQ;
-            this.SectH = sect.QueryH;
-            this.SectE = sect.QueryE;
-            this.SectP = sect.QueryP;
-
-            this.QueryQ = rhs.QueryQ;
-            this.QueryH = rhs.QueryH;
-            this.QueryE = rhs.QueryE;
-            this.QueryP = rhs.QueryP;
-        }
-
-        public Yw.WinFrmUI.Phart.PumpVariableSpeedInfoViewModel ToInfo()
-        {
-            var info = new Yw.WinFrmUI.Phart.PumpVariableSpeedInfoViewModel();
-            info.Id = this.Id;
-            info.Name = this.Name;
-            info.IsBp = this.IsBp;
-            info.RatedSpeed = this.RatedSpeed;
-            info.CurrentSpeed = this.CurrentSpeed;
-            info.CurrentHz = this.CurrentHz;
-            info.IsDefault = this.IsDefault;
-            info.Color = this.Color;
-            info.ExtendRatio = this.ExtendRatio;
-            info.Qh = new Yw.Geometry.CubicSpline2d(this.Qh);
-            info.Qe = new Yw.Geometry.CubicSpline2d(this.Qe);
-            info.Qp = new Yw.Geometry.CubicSpline2d(this.Qp);
-            info.QhCalc = new Yw.Geometry.CubicSpline2d(this.QhCalc);
-            info.QeCalc = new Yw.Geometry.CubicSpline2d(this.QeCalc);
-            info.QpCalc = new Yw.Geometry.CubicSpline2d(this.QpCalc);
-
-            info.QueryQ = this.QueryQ;
-            info.QueryH = this.QueryH;
-            info.QueryE = this.QueryE;
-            info.QueryP = this.QueryP;
-
-            return info;
-        }
-
-        /// <summary>
-        /// 鏍囪瘑
-        /// </summary>
-        [Display(Name = "鏍囪瘑")]
-        public string Id { get; set; }
-
-        /// <summary>
-        /// 鍚嶇О
-        /// </summary>
-        [Display(Name = "鍚嶇О")]
-        public string Name { get; set; }
-
-        /// <summary>
-        /// 鏄惁鍙橀
-        /// </summary>
-        [Display(Name = "鏄惁鍙橀")]
-        public bool IsBp { get; set; }
-
-        /// <summary>
-        /// 棰濆畾杞��
-        /// </summary>
-        [Display(Name = "棰濆畾杞��")]
-        public double RatedSpeed { get; set; }
-
-        /// <summary>
-        /// 褰撳墠杞��
-        /// </summary>
-        [Display(Name = "杞��")]
-        public double CurrentSpeed { get; set; }
-
-        /// <summary>
-        /// 褰撳墠棰戠巼
-        /// </summary>
-        [Display(Name = "棰戠巼")]
-        public double CurrentHz { get; set; }
-
-        /// <summary>
-        /// 鏄惁榛樿
-        /// </summary>
-        [Display(Name = "鏄惁榛樿")]
-        public bool IsDefault { get; set; }
-
-        /// <summary>
-        /// 棰滆壊
-        /// </summary>
-        [Display(Name = "棰滆壊")]
-        public Color Color { get; set; }
-
-        /// <summary>
-        /// 寤堕暱(%)
-        /// </summary>
-        [Display(Name = "寤堕暱(%)")]
-        public double ExtendRatio { get; set; } = 100;
-
-        /// <summary>
-        /// 娴侀噺鎵▼绾�
-        /// </summary>
-        [Display(Name = "")]
-        public Yw.Geometry.CubicSpline2d Qh { get; set; }
-
-        /// <summary>
-        /// 娴侀噺鏁堢巼绾�
-        /// </summary>
-        [Display(Name = "")]
-        public Yw.Geometry.CubicSpline2d Qe { get; set; }
-
-        /// <summary>
-        /// 娴侀噺鍔熺巼绾�
-        /// </summary>
-        [Display(Name = "")]
-        public Yw.Geometry.CubicSpline2d Qp { get; set; }
-
-        /// <summary>
-        /// 娴侀噺鎵▼绾�
-        /// </summary>
-        [Display(Name = "")]
-        public Yw.Geometry.CubicSpline2d QhCalc { get; set; }
-
-        /// <summary>
-        /// 娴侀噺鏁堢巼绾�
-        /// </summary>
-        [Display(Name = "")]
-        public Yw.Geometry.CubicSpline2d QeCalc { get; set; }
-
-        /// <summary>
-        /// 娴侀噺鍔熺巼绾�
-        /// </summary>
-        [Display(Name = "")]
-        public Yw.Geometry.CubicSpline2d QpCalc { get; set; }
-
-
-        /// <summary>
-        /// 娴侀噺(m鲁/h)
-        /// </summary>
-        [Display(Name = "娴侀噺(m鲁/h)")]
-        public string SectQ { get; set; }
-
-        /// <summary>
-        /// 鎵▼(m)
-        /// </summary>
-        [Display(Name = "鎵▼(m)")]
-        public string SectH { get; set; }
-
-        /// <summary>
-        /// 鏁堢巼(%)
-        /// </summary>
-        [Display(Name = "鏁堢巼(%)")]
-        public string SectE { get; set; }
-
-        /// <summary>
-        /// 鍔熺巼(kW)
-        /// </summary>
-        [Display(Name = "鍔熺巼(kW)")]
-        public string SectP { get; set; }
-
-
-        /// <summary>
-        /// 娴侀噺(m鲁/h)
-        /// </summary>
-        [Display(Name = "娴侀噺(m鲁/h)")]
-        public string QueryQ { get; set; }
-
-        /// <summary>
-        /// 鎵▼(m)
-        /// </summary>
-        [Display(Name = "鎵▼(m)")]
-        public string QueryH { get; set; }
-
-        /// <summary>
-        /// 鏁堢巼(%)
-        /// </summary>
-        [Display(Name = "鏁堢巼(%)")]
-        public string QueryE { get; set; }
-
-        /// <summary>
-        /// 鍔熺巼(kW)
-        /// </summary>
-        [Display(Name = "鍔熺巼(kW)")]
-        public string QueryP { get; set; }
-
-
-        /// <summary>
-        /// 璁$畻
-        /// </summary>
-        public void Calc()
-        {
-            this.CurrentSpeed = Math.Round(this.CurrentHz / 50 * this.RatedSpeed);
-
-            this.QhCalc = Yw.WinFrmUI.Phart.PumpCalcHelper.CalculateSimilarQH(this.Qh, this.RatedSpeed, this.CurrentSpeed);
-            this.QeCalc = Yw.WinFrmUI.Phart.PumpCalcHelper.CalculateSimilarQE(this.Qe, this.RatedSpeed, this.CurrentSpeed);
-            this.QpCalc = Yw.WinFrmUI.Phart.PumpCalcHelper.CalculateSimilarQP(this.Qp, this.RatedSpeed, this.CurrentSpeed);
-
-            if (this.QhCalc != null)
-                this.QhCalc.MaxX = this.QhCalc.MaxX * this.ExtendRatio / 100;
-
-            if (this.QeCalc != null)
-                this.QeCalc.MaxX = this.QeCalc.MaxX * this.ExtendRatio / 100;
-
-            if (this.QpCalc != null)
-                this.QpCalc.MaxX = this.QpCalc.MaxX * this.ExtendRatio / 100;
-
-        }
-
-
-    }
-}
diff --git a/WinFrmUI/HStation.WinFrmUI.Xhs.Core/04-pump/PumpFullInfoCtrl.cs b/WinFrmUI/HStation.WinFrmUI.Xhs.Core/04-pump/PumpFullInfoCtrl.cs
deleted file mode 100644
index cb81747..0000000
--- a/WinFrmUI/HStation.WinFrmUI.Xhs.Core/04-pump/PumpFullInfoCtrl.cs
+++ /dev/null
@@ -1,705 +0,0 @@
-锘縰sing HStation.WinFrmUI.PhartRelation;
-using Yw.WinFrmUI.Phart;
-
-namespace HStation.WinFrmUI
-{
-    public partial class PumpFullInfoCtrl : DocumentPage
-    {
-        #region 鏋勯�犲嚱鏁板拰鍔犺浇鍑芥暟
-
-        public PumpFullInfoCtrl()
-        {
-            InitializeComponent();
-            System.Windows.Forms.Form.CheckForIllegalCrossThreadCalls = false;
-            this.navBarControlPara.GroupExpanded += new DevExpress.XtraNavBar.NavBarGroupEventHandler(this.NavBarControlPara_GroupExpanded);
-            this.navBarControlPara.GroupCollapsed += new DevExpress.XtraNavBar.NavBarGroupEventHandler(this.NavBarControlPara_GroupCollapsed);
-            this.navBarControlPara.ClientSizeChanged += new System.EventHandler(this.NavBarControlPara_ClientSizeChanged);
-        }
-
-        private PumpMatchingViewModel _pump_mathing_vm = null;
-
-        public void SetBindingData(PumpMatchingViewModel pumpMatchingViewModel)
-        {
-            _pump_mathing_vm = pumpMatchingViewModel;
-            pumpPropViewCtrl1.SetBindingData(pumpMatchingViewModel.DbId);
-
-            if (long.TryParse(_pump_mathing_vm.DbId, out long pump_mian_id))
-            {
-                InitData(pump_mian_id, null);
-            }
-
-        }
-
-        //鍒锋柊灞炴�у��
-        public void RefreshPropData()
-        {
-            this.pumpPropViewCtrl1.RefreshData();
-        }
-
-        private Yw.Geometry.CubicSpline2d _qh, _qe, _qp;
-        private Yw.Geometry.Point2d _work_pt;
-        private double _rated_speed = 50;
-
-        private async void InitData(long pump_main_id, Yw.Geometry.Point2d work_pt)
-        {
-            var pump_main = await new BLL.AssetsPumpMain().GetByID(pump_main_id);
-            if (pump_main == null)
-            {
-                return;
-            }
-
-            var phart_list = await new BLL.XhsPumpMainPhartMappingExtensions().GetByPumpMainID(pump_main_id);
-            if (phart_list == null || !phart_list.Any())
-            {
-                return;
-            }
-            var phart = phart_list.OrderBy(x => x.Importance).First();
-            var diagram = phart.Diagram;
-            if (diagram == null)
-            {
-                return;
-            }
-            var graph_list = diagram.GraphList;
-            if (graph_list == null || !graph_list.Any())
-            {
-                return;
-            }
-
-            var graph_qh = graph_list.Find(x => x.GraphType == HStation.PhartRelation.eGraphType.PumpQH);
-            var graph_qe = graph_list.Find(x => x.GraphType == HStation.PhartRelation.eGraphType.PumpQE);
-            var graph_qp = graph_list.Find(x => x.GraphType == HStation.PhartRelation.eGraphType.PumpQP);
-            if (graph_qh == null)
-            {
-                return;
-            }
-
-            List<Yw.Geometry.Point2d> points_qh = null, points_qe = null, points_qp = null;
-            points_qh = PhartPerformCurveHelper.GetFeatPointList(graph_qh.GraphType, graph_qh.GeometryInfo, 12, null);
-            if (graph_qe != null)
-                points_qe = PhartPerformCurveHelper.GetFeatPointList(graph_qe.GraphType, graph_qe.GeometryInfo, 12, null);
-            if (graph_qp != null)
-                points_qp = PhartPerformCurveHelper.GetFeatPointList(graph_qp.GraphType, graph_qp.GeometryInfo, 12, null);
-
-            var qh = new Yw.Geometry.CubicSpline2d(points_qh);
-            var qe = new Yw.Geometry.CubicSpline2d(points_qe);
-            var qp = new Yw.Geometry.CubicSpline2d(points_qp);
-
-            InitChart(qh, qe, qp, work_pt, pump_main.RatedSpeed, pump_main.RatedSpeed, 50);
-
-        }
-
-        /// <summary>
-        /// 
-        /// </summary>
-        /// <param name="qh">娴侀噺鎵▼绾�</param>
-        /// <param name="qe">娴侀噺鏁堢巼绾�</param>
-        /// <param name="qp">娴侀噺鍔熺巼绾�</param>
-        /// <param name="work_pt">宸ヤ綔鐐�</param>
-        /// <param name="rated_spped">棰濆畾杞��</param>
-        /// <param name="current_speed">褰撳墠杞��</param>
-        /// <param name="current_hz">褰撳墠棰戠巼</param>
-        public void InitChart(
-            Yw.Geometry.CubicSpline2d qh,
-            Yw.Geometry.CubicSpline2d qe,
-            Yw.Geometry.CubicSpline2d qp,
-            Yw.Geometry.Point2d work_pt,
-            double rated_spped,
-            double current_speed,
-            double current_hz)
-        {
-            _qh = qh;
-            _qe = qe;
-            _qp = qp;
-            _work_pt = work_pt;
-            _rated_speed = rated_spped;
-
-            this.pumpPerformCompareChart1.SetBindingData(_qh, _qe, _qp);
-            if (work_pt != null)
-            {
-                var calc_hz = PumpCalcHelper.GetSimuValue(qh, work_pt, _rated_speed);
-                calc_hz = Math.Round(calc_hz, 1);
-                this.pumpPerformCompareInfoCtrl1.SetDesignPoint(work_pt, calc_hz);
-            }
-
-            var vm_vs = new Yw.WinFrmUI.Phart.PumpVariableSpeedInfoViewModel();
-            vm_vs.Id = Guid.NewGuid().ToString();
-            vm_vs.Name = current_hz.ToString();
-            vm_vs.RatedSpeed = _rated_speed;
-            vm_vs.CurrentSpeed = current_speed;
-            vm_vs.CurrentHz = current_hz;
-            vm_vs.Qh = _qh;
-            vm_vs.Qe = _qe;
-            vm_vs.Qp = _qp;
-            vm_vs.Color = Color.Black;
-            vm_vs.IsDefault = true;
-            vm_vs.Calc();
-
-            this.pumpVariableSpeedInfoCtrl1.SetBindingData(vm_vs, work_pt);
-            this.pumpVariableSpeedChart1.Add(vm_vs, work_pt);
-        }
-
-        private void SetChart()
-        {
-            #region 鏇茬嚎
-
-            this.pumpPerformCompareInfoCtrl1.SetDesignPointEvent += (q, h) =>
-            {
-                _work_pt = new Yw.Geometry.Point2d(q, h);
-                var calc_speed = PumpCalcHelper.GetSimuValue(_qh, _work_pt, _rated_speed);
-                var calc_hz = calc_speed / _rated_speed * 50;
-                calc_hz = Math.Round(calc_hz, 1);
-
-                var qh_wk = PumpCalcHelper.CalculateSimilarQH(_qh, 50, calc_hz);
-                var qe_wk = PumpCalcHelper.CalculateSimilarQE(_qe, 50, calc_hz);
-                var qp_wk = PumpCalcHelper.CalculateSimilarQP(_qp, 50, calc_hz);
-                this.pumpPerformCompareChart1.SetWkData(qh_wk, qe_wk, qp_wk);
-                this.pumpPerformCompareChart1.CalcDesignPointByQ(q, h);
-
-                return calc_hz;
-            };
-
-            this.pumpPerformCompareInfoCtrl1.SetHzEvent += (hz) =>
-            {
-                var qh_wk = PumpCalcHelper.CalculateSimilarQH(_qh, 50, hz);
-                var qe_wk = PumpCalcHelper.CalculateSimilarQE(_qe, 50, hz);
-                var qp_wk = PumpCalcHelper.CalculateSimilarQP(_qp, 50, hz);
-                this.pumpPerformCompareChart1.SetWkData(qh_wk, qe_wk, qp_wk);
-                if (_work_pt != null)
-                {
-                    this.pumpPerformCompareChart1.CalcDesignPointByQ(_work_pt.X, _work_pt.Y);
-                }
-            };
-
-            this.pumpPerformCompareChart1.OnCalcQueryPoint += (gropu_pt) =>
-            {
-                var vm_list = new List<Yw.WinFrmUI.Phart.PumpPointItmeViewModel>();
-                vm_list.Add(new Yw.WinFrmUI.Phart.PumpPointItmeViewModel()
-                {
-                    Group = "鏌ヨ鐐�",
-                    Name = "娴侀噺",
-                    Value = $"{gropu_pt.Q:N1}",
-                    Unit = "m鲁/h"
-                });
-                vm_list.Add(new Yw.WinFrmUI.Phart.PumpPointItmeViewModel()
-                {
-                    Group = "鏌ヨ鐐�",
-                    Name = "鎵▼",
-                    Value = $"{gropu_pt.H:N1}",
-                    Unit = "m"
-                });
-                vm_list.Add(new Yw.WinFrmUI.Phart.PumpPointItmeViewModel()
-                {
-                    Group = "鏌ヨ鐐�",
-                    Name = "鏁堢巼",
-                    Value = $"{gropu_pt.E:N1}",
-                    Unit = "%"
-                });
-                vm_list.Add(new Yw.WinFrmUI.Phart.PumpPointItmeViewModel()
-                {
-                    Group = "鏌ヨ鐐�",
-                    Name = "鍔熺巼",
-                    Value = $"{gropu_pt.P:N1}",
-                    Unit = "kW"
-                });
-                this.pumpPerformCompareInfoCtrl1.SetBindingData(vm_list);
-            };
-
-            #endregion 鏇茬嚎
-
-            #region 鍙橀�熸洸绾�
-
-            this.pumpVariableSpeedInfoCtrl1.SetEvent += (id, hz, ex_ratio, qh, qe, qp) =>
-            {
-                this.pumpVariableSpeedChart1.Set(id, hz, ex_ratio, qh, qe, qp);
-                ResetSectPointGrid();
-            };
-            this.pumpVariableSpeedInfoCtrl1.SetInfoEvent += (id, color) =>
-            {
-                this.pumpVariableSpeedChart1.SetInfo(id, color);
-                ResetSectPointGrid();
-            };
-
-            this.pumpVariableSpeedChart1.AddBySpeedEvent += () =>
-            {
-                AddBySpeed();
-                ResetSectPointGrid();
-            };
-
-            this.pumpVariableSpeedChart1.AddByHzEvent += () =>
-            {
-                AddByHz();
-                ResetSectPointGrid();
-            };
-
-            this.pumpVariableSpeedChart1.AddByPointEvent += () =>
-            {
-                AddByPoint();
-                ResetSectPointGrid();
-            };
-
-            this.pumpVariableSpeedInfoCtrl1.SetDesignPointEvent += (q, h) =>
-            {
-                this.pumpVariableSpeedChart1.SetEquipPt(q, h);
-                ResetSectPointGrid();
-            };
-
-            this.pumpVariableSpeedChart1.OnCalcQueryPoint += (id, pt) =>
-            {
-                this.pumpVariableSpeedInfoCtrl1.SetQueryInfo(id, pt);
-            };
-
-            void ResetSectPointGrid()
-            {
-                var vm_list = this.pumpVariableSpeedChart1.GetVmList();
-                this.pumpVariableSpeedInfoCtrl1.SetSectPoint(vm_list);
-            }
-
-            void AddBySpeed()
-            {
-                var list = this.pumpVariableSpeedInfoCtrl1.GetList();
-                if (list == null || list.Count < 1)
-                {
-                    return;
-                }
-                var design_pt = this.pumpVariableSpeedInfoCtrl1.GetDesignPoint();
-                var index = list.Count;
-                var vm_def = list.First();
-                var dlg = new SetValueDlg();
-                dlg.SetBindingData(vm_def.RatedSpeed);
-                dlg.VerifyValueChanged += (speed) =>
-                {
-                    var hz = Math.Round(speed / vm_def.RatedSpeed * 50, 1);
-                    if (hz > 50 || hz < 10)
-                    {
-                        return false;
-                    }
-                    var vm = new PumpVariableSpeedInfoViewModel(vm_def);
-                    vm.Id = Guid.NewGuid().ToString();
-                    vm.Name = this.pumpVariableSpeedChart1.LineNameShowHz ? hz.ToString() : speed.ToString();
-                    vm.Color = GetRandomColor(index);
-                    vm.CurrentHz = hz;
-                    vm.CurrentSpeed = speed;
-                    vm.Calc();
-
-                    this.pumpVariableSpeedInfoCtrl1.Add(vm);
-                    this.pumpVariableSpeedChart1.Add(vm, design_pt);
-
-                    return true;
-                };
-                dlg.ShowDialog();
-            }
-
-            void AddByHz()
-            {
-                var list = this.pumpVariableSpeedInfoCtrl1.GetList();
-                if (list == null || list.Count < 1)
-                {
-                    return;
-                }
-
-                var design_pt = this.pumpVariableSpeedInfoCtrl1.GetDesignPoint();
-                var index = list.Count;
-                var vm_def = list.First();
-                var dlg = new SetValueDlg();
-                dlg.VerifyValueChanged += (hz) =>
-                {
-                    if (hz > 50 || hz < 10)
-                    {
-                        return false;
-                    }
-                    var speed = Math.Round(hz / 50 * vm_def.RatedSpeed);
-                    var vm = new PumpVariableSpeedInfoViewModel(vm_def);
-                    vm.Id = Guid.NewGuid().ToString();
-                    vm.Name = this.pumpVariableSpeedChart1.LineNameShowHz ? hz.ToString() : speed.ToString();
-                    vm.Color = GetRandomColor(index);
-                    vm.CurrentHz = hz;
-                    vm.CurrentSpeed = speed;
-                    vm.Calc();
-
-                    this.pumpVariableSpeedInfoCtrl1.Add(vm);
-                    this.pumpVariableSpeedChart1.Add(vm, design_pt);
-
-                    return true;
-                };
-                dlg.ShowDialog();
-            }
-
-            void AddByPoint()
-            {
-                var list = this.pumpVariableSpeedInfoCtrl1.GetList();
-                if (list == null || list.Count < 1)
-                {
-                    return;
-                }
-                var index = list.Count;
-                var vm_def = list.First();
-                var design_pt = this.pumpVariableSpeedInfoCtrl1.GetDesignPoint();
-                var dlg = new SetPointDlg();
-                dlg.SetBindingData();
-                dlg.VerifyValueChanged += (x, y) =>
-                {
-                    var pt = new Yw.Geometry.Point2d(x, y);
-                    var speed = PumpCalcHelper.GetSimuValue(vm_def.Qh, pt, vm_def.RatedSpeed);
-                    var hz = Math.Round(speed / vm_def.RatedSpeed * 50, 1);
-                    if (hz > 50 || hz < 20)
-                    {
-                        return false;
-                    }
-                    var vm = new PumpVariableSpeedInfoViewModel(vm_def);
-                    vm.Id = Guid.NewGuid().ToString();
-                    vm.Name = this.pumpVariableSpeedChart1.LineNameShowHz ? hz.ToString() : speed.ToString();
-                    vm.Color = GetRandomColor(index);
-                    vm.CurrentHz = hz;
-                    vm.CurrentSpeed = speed;
-                    vm.Calc();
-
-                    this.pumpVariableSpeedInfoCtrl1.Add(vm);
-                    this.pumpVariableSpeedChart1.Add(vm, design_pt);
-                    return true;
-                };
-                dlg.ShowDialog();
-            }
-
-            #endregion 鍙橀�熸洸绾�
-        }
-
-        private void OnFrmLoad(object sender, EventArgs e)
-        {
-            //
-            InitialPropPanelWidth();
-
-            this.splitContainerControl1.SplitterPositionChanged += new System.EventHandler(this.splitContainerControl1_SplitterPositionChanged);
-
-            //
-            SetCtrlStyle();
-
-            //detailInfoTreeTab2Ctrl1.Initial();
-
-            this.xtraTabCtrlMain.SelectedTabPageIndex = 0;
-            this.xtraTabCtrlMain.SelectedTabPage = this._tabPage鎬ц兘鏇茬嚎鍥�1;
-
-            CalcBarHeight();
-
-            //if (this._m3dDispCtrlType == Model.e3dDispCtrlType.BIM_EvTreeJs)
-            //{
-            //    if (this._bimWebBrowerContainter != null)
-            //    {
-            //        //this.xtraTabCtrlMain.SelectedTabPage = this._tabPage涓夌淮妯″瀷;
-            //        this._bimWebBrowerContainter.Dock = DockStyle.Fill;
-            //        this._bimWebBrowerContainter.IsActiveBrower();
-            //        this._tabPage涓夌淮妯″瀷.Controls.Add(_bimWebBrowerContainter);
-            //    }
-            //}
-            //else if (this._m3dDispCtrlType == Model.e3dDispCtrlType.CAD_3DShowShow)
-            //{
-            //}
-            //else if (this._m3dDispCtrlType == Model.e3dDispCtrlType.CAD_51JM)
-            //{
-            //}
-            SetChart();
-        }
-
-        #region Color
-
-        private List<Color> _color_array = new List<Color>()
-        {
-            Color.Red, Color.Blue, Color.Green,Color.DodgerBlue,
-            Color.Fuchsia, Color.MidnightBlue,  Color.Maroon, Color.Aquamarine,
-            Color.Bisque,Color.BurlyWood
-        };
-
-        /// <summary>
-        /// 鑾峰彇闅忔満棰滆壊
-        /// </summary>
-        /// <returns></returns>
-        private Color GetRandomColor(int count)
-        {
-            if (count < _color_array.Count)
-            {
-                return _color_array[count];
-            }
-
-            var _random = new Random();
-            int r = _random.Next(1, 256);
-            int g = _random.Next(1, 256);
-            int b = _random.Next(1, 256);
-            return Color.FromArgb(r, g, b);
-        }
-
-        #endregion Color
-
-        #region 璧伴┈鐏彁绀�
-
-        private bool _isShowRollTipText = false;
-        private Thread tRollTipText = null;
-        private DevExpress.XtraEditors.LabelControl labelControlTip;
-
-        /// <summary>
-        /// 寮�濮嬭蛋椹伅鎻愮ず
-        /// </summary>
-        protected void StartRollTipText(string info)
-        {
-            if (string.IsNullOrEmpty(info))
-                return;
-
-            if (this.labelControlTip == null)
-            {
-                this.labelControlTip = new DevExpress.XtraEditors.LabelControl();
-
-                this.labelControlTip.Appearance.BackColor = System.Drawing.Color.White;
-                this.labelControlTip.Appearance.ForeColor = System.Drawing.Color.Red;
-                this.labelControlTip.AutoSizeMode = DevExpress.XtraEditors.LabelAutoSizeMode.None;
-                this.labelControlTip.Dock = System.Windows.Forms.DockStyle.Top;
-                this.labelControlTip.Location = new System.Drawing.Point(0, 0);
-                this.labelControlTip.Name = "labelControlTip";
-                this.labelControlTip.Padding = new System.Windows.Forms.Padding(30, 0, 0, 0);
-                this.labelControlTip.Size = new System.Drawing.Size(1069, 26);
-                this.labelControlTip.TabIndex = 12;
-                this.labelControlTip.Text = "labelControlTip";
-                this.Controls.Add(this.labelControlTip);
-            }
-            else
-            {
-                labelControlTip.Visible = true;
-            }
-            this.labelControlTip.Text = string.Format("    {0}            {0}     ", info);
-            if (tRollTipText != null)
-            {
-                // tRollTipText.Abort();
-            }
-            _isShowRollTipText = true;
-            labelControlTip.Visible = true;
-            tRollTipText = new Thread(new ThreadStart(ShowRollTipText));
-            tRollTipText.Start();
-        }
-
-        /// <summary>
-        /// 寮�濮嬭蛋椹伅鎻愮ず
-        /// </summary>
-        protected void HideRollTipText()
-        {
-            if (_isShowRollTipText == false)
-                return;
-            labelControlTip.Visible = false;
-            _isShowRollTipText = false;
-            if (tRollTipText != null)
-            {
-                // tRollTipText.Abort();
-                tRollTipText = null;
-            }
-        }
-
-        private void ShowRollTipText()
-        {
-            if (labelControlTip == null)
-                return;
-
-            Action fun = () =>
-            {
-                labelControlTip.Text = labelControlTip.Text.Substring(labelControlTip.Text.Length - 1) + labelControlTip.Text.Substring(0, labelControlTip.Text.Length - 1);
-            };
-            while (true)
-            {
-                if (labelControlTip.InvokeRequired)
-                {
-                    labelControlTip.Invoke(fun);
-                }
-                Thread.Sleep(300);
-            }
-        }
-
-        #endregion 璧伴┈鐏彁绀�
-
-        public void CloseFrm()
-        {
-            if (tRollTipText != null)
-            {
-                // tRollTipText.Abort();
-                tRollTipText = null;
-            }
-        }
-
-        private void SetCtrlStyle()
-        {
-            //this.xtraTabCtrlMain.AppearancePage.HeaderActive.ForeColor = CorpSkinStyleHelper.SkinMainColor;
-            //this.xtraTabCtrlMain.AppearancePage.Header.ForeColor = Color.Gray;
-            //this.xtraTabCtrlMain.AppearancePage.HeaderActive.Options.UseForeColor = true;
-            //this.xtraTabCtrlMain.AppearancePage.Header.Options.UseForeColor = true;
-            //if (SPump.WinFrmUI.Localization.IsCN)
-            //{
-            //    this.xtraTabCtrlMain.AppearancePage.Header.Font = new System.Drawing.Font("妤蜂綋", 15.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
-            //    this.xtraTabCtrlMain.AppearancePage.Header.Options.UseFont = true;
-            //    this.xtraTabCtrlMain.AppearancePage.HeaderActive.Font = new System.Drawing.Font("榛戜綋", 15.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
-            //    //System.Drawing.Color.FromArgb(((int)(((byte)(0)))), ((int)(((byte)(0)))), ((int)(((byte)(192)))));
-            //    this.xtraTabCtrlMain.AppearancePage.HeaderActive.Options.UseFont = true;
-            //}
-
-            //this.xtraTabCtrlMain.AppearancePage.Header.Font = new System.Drawing.Font("Tahoma", 12F);
-            //this.xtraTabCtrlMain.AppearancePage.Header.ForeColor = System.Drawing.Color.Gray;
-            //this.xtraTabCtrlMain.AppearancePage.Header.Options.UseFont = true;
-            //this.xtraTabCtrlMain.AppearancePage.Header.Options.UseForeColor = true;
-            //this.xtraTabCtrlMain.AppearancePage.Header.Options.UseTextOptions = true;
-            //this.xtraTabCtrlMain.AppearancePage.Header.TextOptions.HAlignment = DevExpress.Utils.HorzAlignment.Center;
-            //this.xtraTabCtrlMain.AppearancePage.HeaderActive.Font = new System.Drawing.Font("Tahoma", 12F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
-            //this.xtraTabCtrlMain.AppearancePage.HeaderActive.ForeColor = System.Drawing.Color.Navy;
-            //this.xtraTabCtrlMain.AppearancePage.HeaderActive.Options.UseFont = true;
-            //this.xtraTabCtrlMain.AppearancePage.HeaderActive.Options.UseForeColor = true;
-            //this.xtraTabCtrlMain.AppearancePage.HeaderActive.Options.UseTextOptions = true;
-            //this.xtraTabCtrlMain.AppearancePage.HeaderActive.TextOptions.HAlignment = DevExpress.Utils.HorzAlignment.Center;
-        }
-
-        #endregion 鏋勯�犲嚱鏁板拰鍔犺浇鍑芥暟
-
-        /// <summary>
-        ///
-        /// </summary>
-        /// <param name="sender"></param>
-        /// <param name="e"></param>
-        private void xtraTabControlRight_SelectedPageChanged(object sender, DevExpress.XtraTab.TabPageChangedEventArgs e)
-        {
-            if (e.Page == this._tabPage澶氶�熷害鏇茬嚎鍙傛暟)
-            {
-                xtraTabCtrlMain.SelectedTabPage = this._tabPage澶氶�熷害鏇茬嚎;
-            }
-        }
-
-        /// <summary>
-        ///
-        /// </summary>
-        /// <param name="sender"></param>
-        /// <param name="e"></param>
-        private void xtraTabCtrlMain_SelectedPageChanged(object sender, DevExpress.XtraTab.TabPageChangedEventArgs e)
-        {
-            //
-            if (e.Page == this._tabPage涓夌淮妯″瀷)
-            {
-            }
-            if (e.Page == this._tabPage榛樿瀹夎鍥�3d)
-            {
-                //if (this.tabPageAssem3D.Tag == null)
-                //{
-                //    ShowProductDrawing3d();
-                //    this.tabPageAssem3D.Tag = "IsLoad";
-                //}
-            }
-            if (e.Page == this._tabPage澶氶�熷害鏇茬嚎)
-            {
-                this.xtraTabControlRight.SelectedTabPage = this._tabPage澶氶�熷害鏇茬嚎鍙傛暟;
-            }
-
-            if (e.Page == this._tabPage鎬ц兘鏇茬嚎鍥�1)
-            {
-                this.xtraTabControlRight.SelectedTabPage = this.tabPage鍩烘湰鍙傛暟;
-            }
-        }
-
-        #region 璁$畻灞曠ず闈㈡澘楂樺害
-
-        private void NavBarControlPara_GroupExpanded(object sender, DevExpress.XtraNavBar.NavBarGroupEventArgs e)
-        {
-            CalcBarHeight();
-        }
-
-        private void NavBarControlPara_GroupCollapsed(object sender, DevExpress.XtraNavBar.NavBarGroupEventArgs e)
-        {
-            CalcBarHeight();
-        }
-
-        private void NavBarControlPara_ClientSizeChanged(object sender, EventArgs e)
-        {
-            CalcBarHeight();
-        }
-
-        private int CalcGroupParaHeight()
-        {
-            //if (this._selectMainParasCtrl == null)
-            //{
-            //    return 4 * 35 + 20;
-            //}
-            var row_count = 4;// this._selectMainParasCtrl.GetDispRowCount();
-            if (row_count <= 4)//鍒囧壊鍨�
-                return row_count * 35 + 20;
-            else
-                return row_count * 35 + 20;
-        }
-
-        private void CalcBarHeight()
-        {
-            //if (!navBarGroupPoint.Expanded)
-            //    return;
-
-            //int GroupTitleHeight = 55;//澶撮儴楂樺害
-
-            //var height = this.Size.Height - 18;//18 : TAB 澶撮儴楂樺害
-
-            //if (navBarGroupPara.Expanded)
-            //{
-            //    var grp_height = CalcGroupParaHeight();
-            //    //if (row_count == 7)
-            //    //{
-            //    //    grp_height = 280;
-            //    //}
-            //    this.navBarGroupControlXPumpParas.Height = grp_height;
-            //    this.navBarGroupPara.Expanded = true;
-            //    this.navBarGroupPara.GroupClientHeight = grp_height;
-            //    height = height - GroupTitleHeight - grp_height - 3;
-            //}
-            //else
-            //{
-            //    height = height - GroupTitleHeight;
-            //}
-
-            //if (navBarGroupJieZhi.Expanded)
-            //{
-            //    height = height - 150;
-            //}
-            //else
-            //{
-            //    height = height - GroupTitleHeight;
-            //}
-
-            //if (height > 100)
-            //{//294, 393
-            //    height = height - GroupTitleHeight;
-            //    navBarGroupPoint.GroupClientHeight = height;
-            //}
-        }
-
-        #endregion 璁$畻灞曠ず闈㈡澘楂樺害
-
-        #region 鍙充晶闈㈡澘瀹藉害
-
-        /// <summary>
-        ///
-        /// </summary>
-        /// <param name="sender"></param>
-        /// <param name="e"></param>
-        private void splitContainerControl1_SplitterPositionChanged(object sender, EventArgs e)
-        {
-        }
-
-        /// <summary>
-        ///
-        /// </summary>
-        private void InitialPropPanelWidth()
-        {
-            ////瀹藉害
-            //if (SPump.WinFrmUI.XPump.Properties.Settings.Default.EbookPropPanelWidth > 0)
-            //{
-            //    splitContainerControl1.SplitterPosition = SPump.WinFrmUI.XPump.Properties.Settings.Default.EbookPropPanelWidth;
-            //    return;
-            //}
-
-            //////璁剧疆闈㈡澘瀹藉害//褰撳墠鏄�1150 -> 430
-            //int iActulaWidth = this.Width;
-            //if (SPump.WinFrmUI.GlobeParas.MainForm != null)
-            //{
-            //    iActulaWidth = SPump.WinFrmUI.GlobeParas.MainForm.Width;
-            //}
-
-            //splitContainerControl1.SplitterPosition = (int)(iActulaWidth * 0.35);
-        }
-
-        #endregion 鍙充晶闈㈡澘瀹藉害
-    }
-}
\ 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
deleted file mode 100644
index f50f3fe..0000000
--- a/WinFrmUI/HStation.WinFrmUI.Xhs.Core/04-pump/PumpFullInfoCtrl.designer.cs
+++ /dev/null
@@ -1,558 +0,0 @@
-锘縩amespace HStation.WinFrmUI
-{
-    partial class PumpFullInfoCtrl
-    {
-        /// <summary> 
-        /// Required designer variable.
-        /// </summary>
-        private System.ComponentModel.IContainer components = null;
-
-        /// <summary> 
-        /// Clean up any resources being used.
-        /// </summary>
-        /// <param nameLogin="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 Container();
-            ComponentResourceManager resources = new ComponentResourceManager(typeof(PumpFullInfoCtrl));
-            xtraTabCtrlMain = new DevExpress.XtraTab.XtraTabControl();
-            imageCollection1 = new DevExpress.Utils.ImageCollection(components);
-            _tabPage鎬ц兘鏇茬嚎鍥�1 = new DevExpress.XtraTab.XtraTabPage();
-            pumpPerformCompareChart1 = new Yw.WinFrmUI.Phart.PumpPerformCompareChart();
-            _tabPage浜у搧灞炴��1 = new DevExpress.XtraTab.XtraTabPage();
-            _tabPage澶氶�熷害鏇茬嚎 = new DevExpress.XtraTab.XtraTabPage();
-            pumpVariableSpeedChart1 = new Yw.WinFrmUI.Phart.PumpVariableSpeedChart();
-            _tabPage榛樿瀹炵墿鍥�2d = new DevExpress.XtraTab.XtraTabPage();
-            _tabPage绯荤粺瀹炵墿鍥�2d = new DevExpress.XtraTab.XtraTabPage();
-            _tabPage榛樿灏哄鍥�2d = new DevExpress.XtraTab.XtraTabPage();
-            _tabPage榛樿瀹夎鍥�2d = new DevExpress.XtraTab.XtraTabPage();
-            _tabPage绯荤粺瀹夎鍥�2d = new DevExpress.XtraTab.XtraTabPage();
-            _tabPage榛樿瀹夎鍥�3d = new DevExpress.XtraTab.XtraTabPage();
-            _tabPage榛樿缁撴瀯鍥�2d = new DevExpress.XtraTab.XtraTabPage();
-            _tabPage榛樿缁撴瀯鍥�3d = new DevExpress.XtraTab.XtraTabPage();
-            _tabPage鐢垫皵鍥� = new DevExpress.XtraTab.XtraTabPage();
-            _tabPage涓夌淮妯″瀷 = new DevExpress.XtraTab.XtraTabPage();
-            _tabPage瑙嗛鏂囦欢 = new DevExpress.XtraTab.XtraTabPage();
-            _tabPage绯诲垪闄勪欢 = new DevExpress.XtraTab.XtraTabPage();
-            splitContainerControl1 = new SplitContainerControl();
-            xtraTabControlRight = new DevExpress.XtraTab.XtraTabControl();
-            imageCollection2 = new DevExpress.Utils.ImageCollection(components);
-            tabPage鍩烘湰鍙傛暟 = new DevExpress.XtraTab.XtraTabPage();
-            navBarControlPara = new DevExpress.XtraNavBar.NavBarControl();
-            pumpPerformCompareInfoCtrl1 = new Yw.WinFrmUI.Phart.PumpPerformCompareInfoCtrl();
-            tabPage浜у搧灞炴��2 = new DevExpress.XtraTab.XtraTabPage();
-            layoutControl1 = new DevExpress.XtraLayout.LayoutControl();
-            pumpPropViewCtrl1 = new PumpPropViewCtrl();
-            Root = new DevExpress.XtraLayout.LayoutControlGroup();
-            layoutControlItem2 = new DevExpress.XtraLayout.LayoutControlItem();
-            _tabPage浜у搧鏉愭枡 = new DevExpress.XtraTab.XtraTabPage();
-            splitContainerControlMaterial = new SplitContainerControl();
-            _tabPage澶氶�熷害鏇茬嚎鍙傛暟 = new DevExpress.XtraTab.XtraTabPage();
-            pumpVariableSpeedInfoCtrl1 = new Yw.WinFrmUI.Phart.PumpVariableSpeedInfoCtrl();
-            navBarGroupControlContainer6 = new DevExpress.XtraNavBar.NavBarGroupControlContainer();
-            navBarGroupJieZhi = new DevExpress.XtraNavBar.NavBarGroup();
-            ((ISupportInitialize)xtraTabCtrlMain).BeginInit();
-            xtraTabCtrlMain.SuspendLayout();
-            ((ISupportInitialize)imageCollection1).BeginInit();
-            _tabPage鎬ц兘鏇茬嚎鍥�1.SuspendLayout();
-            _tabPage澶氶�熷害鏇茬嚎.SuspendLayout();
-            ((ISupportInitialize)splitContainerControl1).BeginInit();
-            ((ISupportInitialize)splitContainerControl1.Panel1).BeginInit();
-            splitContainerControl1.Panel1.SuspendLayout();
-            ((ISupportInitialize)splitContainerControl1.Panel2).BeginInit();
-            splitContainerControl1.Panel2.SuspendLayout();
-            splitContainerControl1.SuspendLayout();
-            ((ISupportInitialize)xtraTabControlRight).BeginInit();
-            xtraTabControlRight.SuspendLayout();
-            ((ISupportInitialize)imageCollection2).BeginInit();
-            tabPage鍩烘湰鍙傛暟.SuspendLayout();
-            ((ISupportInitialize)navBarControlPara).BeginInit();
-            navBarControlPara.SuspendLayout();
-            tabPage浜у搧灞炴��2.SuspendLayout();
-            ((ISupportInitialize)layoutControl1).BeginInit();
-            layoutControl1.SuspendLayout();
-            ((ISupportInitialize)Root).BeginInit();
-            ((ISupportInitialize)layoutControlItem2).BeginInit();
-            _tabPage浜у搧鏉愭枡.SuspendLayout();
-            ((ISupportInitialize)splitContainerControlMaterial).BeginInit();
-            ((ISupportInitialize)splitContainerControlMaterial.Panel1).BeginInit();
-            ((ISupportInitialize)splitContainerControlMaterial.Panel2).BeginInit();
-            splitContainerControlMaterial.SuspendLayout();
-            _tabPage澶氶�熷害鏇茬嚎鍙傛暟.SuspendLayout();
-            SuspendLayout();
-            // 
-            // xtraTabCtrlMain
-            // 
-            xtraTabCtrlMain.AppearancePage.Header.ForeColor = Color.DarkGray;
-            xtraTabCtrlMain.AppearancePage.Header.Options.UseForeColor = true;
-            xtraTabCtrlMain.AppearancePage.HeaderActive.ForeColor = Color.Blue;
-            xtraTabCtrlMain.AppearancePage.HeaderActive.Options.UseForeColor = true;
-            xtraTabCtrlMain.Dock = DockStyle.Fill;
-            xtraTabCtrlMain.HeaderButtons = DevExpress.XtraTab.TabButtons.Prev | DevExpress.XtraTab.TabButtons.Next | DevExpress.XtraTab.TabButtons.Default;
-            xtraTabCtrlMain.HeaderButtonsShowMode = DevExpress.XtraTab.TabButtonShowMode.WhenNeeded;
-            xtraTabCtrlMain.HeaderLocation = DevExpress.XtraTab.TabHeaderLocation.Left;
-            xtraTabCtrlMain.HeaderOrientation = DevExpress.XtraTab.TabOrientation.Horizontal;
-            xtraTabCtrlMain.Images = imageCollection1;
-            xtraTabCtrlMain.Location = new Point(0, 0);
-            xtraTabCtrlMain.LookAndFeel.UseDefaultLookAndFeel = false;
-            xtraTabCtrlMain.Margin = new Padding(3, 10, 3, 3);
-            xtraTabCtrlMain.Name = "xtraTabCtrlMain";
-            xtraTabCtrlMain.Padding = new Padding(0, 5, 0, 0);
-            xtraTabCtrlMain.PaintStyleName = "Skin";
-            xtraTabCtrlMain.SelectedTabPage = _tabPage鎬ц兘鏇茬嚎鍥�1;
-            xtraTabCtrlMain.Size = new Size(668, 729);
-            xtraTabCtrlMain.TabIndex = 10;
-            xtraTabCtrlMain.TabPages.AddRange(new DevExpress.XtraTab.XtraTabPage[] { _tabPage鎬ц兘鏇茬嚎鍥�1, _tabPage浜у搧灞炴��1, _tabPage澶氶�熷害鏇茬嚎, _tabPage榛樿瀹炵墿鍥�2d, _tabPage绯荤粺瀹炵墿鍥�2d, _tabPage榛樿灏哄鍥�2d, _tabPage榛樿瀹夎鍥�2d, _tabPage绯荤粺瀹夎鍥�2d, _tabPage榛樿瀹夎鍥�3d, _tabPage榛樿缁撴瀯鍥�2d, _tabPage榛樿缁撴瀯鍥�3d, _tabPage鐢垫皵鍥�, _tabPage涓夌淮妯″瀷, _tabPage瑙嗛鏂囦欢, _tabPage绯诲垪闄勪欢 });
-            xtraTabCtrlMain.SelectedPageChanged += xtraTabCtrlMain_SelectedPageChanged;
-            // 
-            // imageCollection1
-            // 
-            imageCollection1.ImageSize = new Size(35, 35);
-            imageCollection1.ImageStream = (DevExpress.Utils.ImageCollectionStreamer)resources.GetObject("imageCollection1.ImageStream");
-            imageCollection1.Images.SetKeyName(0, "涓夌淮妯″瀷_C64.png");
-            imageCollection1.Images.SetKeyName(1, "闄勪欢_C64.png");
-            imageCollection1.Images.SetKeyName(2, "缁撴瀯鍥綺C64.png");
-            imageCollection1.Images.SetKeyName(3, "瀹夎鍥綺C64.png");
-            imageCollection1.Images.SetKeyName(4, "浜у搧灏哄_C64.png");
-            imageCollection1.Images.SetKeyName(5, "瀹炵墿鍥綺C64.png");
-            imageCollection1.Images.SetKeyName(6, "涓插苟鑱旀洸绾縚C64.png");
-            imageCollection1.Images.SetKeyName(7, "澶氶�熷害鏇茬嚎_C64.png");
-            imageCollection1.Images.SetKeyName(8, "鏉愭枡_C64.png");
-            imageCollection1.Images.SetKeyName(9, "灞炴�C64.png");
-            imageCollection1.Images.SetKeyName(10, "鎬ц兘鏇茬嚎_C64.png");
-            imageCollection1.Images.SetKeyName(11, "缁撴瀯鍥�64.png");
-            imageCollection1.Images.SetKeyName(12, "瑙嗛64.png");
-            imageCollection1.Images.SetKeyName(13, "鐢垫皵鍥�64.png");
-            // 
-            // _tabPage鎬ц兘鏇茬嚎鍥�1
-            // 
-            _tabPage鎬ц兘鏇茬嚎鍥�1.Controls.Add(pumpPerformCompareChart1);
-            _tabPage鎬ц兘鏇茬嚎鍥�1.ImageOptions.ImageIndex = 10;
-            _tabPage鎬ц兘鏇茬嚎鍥�1.Margin = new Padding(0);
-            _tabPage鎬ц兘鏇茬嚎鍥�1.Name = "_tabPage鎬ц兘鏇茬嚎鍥�1";
-            _tabPage鎬ц兘鏇茬嚎鍥�1.Size = new Size(543, 727);
-            _tabPage鎬ц兘鏇茬嚎鍥�1.Text = "鎬ц兘鏇茬嚎鍥�";
-            // 
-            // pumpPerformCompareChart1
-            // 
-            pumpPerformCompareChart1.DefinePointVisible = false;
-            pumpPerformCompareChart1.Dock = DockStyle.Fill;
-            pumpPerformCompareChart1.LineVisible = false;
-            pumpPerformCompareChart1.Location = new Point(0, 0);
-            pumpPerformCompareChart1.Margin = new Padding(2, 2, 2, 2);
-            pumpPerformCompareChart1.Name = "pumpPerformCompareChart1";
-            pumpPerformCompareChart1.Size = new Size(543, 727);
-            pumpPerformCompareChart1.TabIndex = 0;
-            // 
-            // _tabPage浜у搧灞炴��1
-            // 
-            _tabPage浜у搧灞炴��1.ImageOptions.ImageIndex = 9;
-            _tabPage浜у搧灞炴��1.Name = "_tabPage浜у搧灞炴��1";
-            _tabPage浜у搧灞炴��1.PageVisible = false;
-            _tabPage浜у搧灞炴��1.Size = new Size(543, 727);
-            _tabPage浜у搧灞炴��1.Text = "浜у搧灞炴��";
-            // 
-            // _tabPage澶氶�熷害鏇茬嚎
-            // 
-            _tabPage澶氶�熷害鏇茬嚎.Controls.Add(pumpVariableSpeedChart1);
-            _tabPage澶氶�熷害鏇茬嚎.ImageOptions.ImageIndex = 7;
-            _tabPage澶氶�熷害鏇茬嚎.Name = "_tabPage澶氶�熷害鏇茬嚎";
-            _tabPage澶氶�熷害鏇茬嚎.Size = new Size(543, 727);
-            _tabPage澶氶�熷害鏇茬嚎.Text = "澶氶�熷害鏇茬嚎";
-            // 
-            // pumpVariableSpeedChart1
-            // 
-            pumpVariableSpeedChart1.Dock = DockStyle.Fill;
-            pumpVariableSpeedChart1.LineNameShowHz = false;
-            pumpVariableSpeedChart1.LineNameVisible = true;
-            pumpVariableSpeedChart1.LineVisible = false;
-            pumpVariableSpeedChart1.Location = new Point(0, 0);
-            pumpVariableSpeedChart1.Margin = new Padding(2, 2, 2, 2);
-            pumpVariableSpeedChart1.Name = "pumpVariableSpeedChart1";
-            pumpVariableSpeedChart1.Size = new Size(543, 727);
-            pumpVariableSpeedChart1.TabIndex = 0;
-            // 
-            // _tabPage榛樿瀹炵墿鍥�2d
-            // 
-            _tabPage榛樿瀹炵墿鍥�2d.ImageOptions.ImageIndex = 5;
-            _tabPage榛樿瀹炵墿鍥�2d.Name = "_tabPage榛樿瀹炵墿鍥�2d";
-            _tabPage榛樿瀹炵墿鍥�2d.Size = new Size(543, 727);
-            _tabPage榛樿瀹炵墿鍥�2d.Text = "瀹炵墿鍥�";
-            // 
-            // _tabPage绯荤粺瀹炵墿鍥�2d
-            // 
-            _tabPage绯荤粺瀹炵墿鍥�2d.ImageOptions.ImageIndex = 5;
-            _tabPage绯荤粺瀹炵墿鍥�2d.Name = "_tabPage绯荤粺瀹炵墿鍥�2d";
-            _tabPage绯荤粺瀹炵墿鍥�2d.PageVisible = false;
-            _tabPage绯荤粺瀹炵墿鍥�2d.Size = new Size(543, 727);
-            _tabPage绯荤粺瀹炵墿鍥�2d.Text = "瀹炵墿鍥�(绯荤粺)";
-            // 
-            // _tabPage榛樿灏哄鍥�2d
-            // 
-            _tabPage榛樿灏哄鍥�2d.ImageOptions.ImageIndex = 4;
-            _tabPage榛樿灏哄鍥�2d.Name = "_tabPage榛樿灏哄鍥�2d";
-            _tabPage榛樿灏哄鍥�2d.PageVisible = false;
-            _tabPage榛樿灏哄鍥�2d.Size = new Size(543, 727);
-            _tabPage榛樿灏哄鍥�2d.Text = "浜у搧灏哄鍥�";
-            // 
-            // _tabPage榛樿瀹夎鍥�2d
-            // 
-            _tabPage榛樿瀹夎鍥�2d.ImageOptions.ImageIndex = 3;
-            _tabPage榛樿瀹夎鍥�2d.Name = "_tabPage榛樿瀹夎鍥�2d";
-            _tabPage榛樿瀹夎鍥�2d.PageVisible = false;
-            _tabPage榛樿瀹夎鍥�2d.Size = new Size(543, 727);
-            _tabPage榛樿瀹夎鍥�2d.Text = "瀹夎鍥�";
-            // 
-            // _tabPage绯荤粺瀹夎鍥�2d
-            // 
-            _tabPage绯荤粺瀹夎鍥�2d.ImageOptions.ImageIndex = 3;
-            _tabPage绯荤粺瀹夎鍥�2d.Name = "_tabPage绯荤粺瀹夎鍥�2d";
-            _tabPage绯荤粺瀹夎鍥�2d.PageVisible = false;
-            _tabPage绯荤粺瀹夎鍥�2d.Size = new Size(543, 727);
-            _tabPage绯荤粺瀹夎鍥�2d.Text = "绯荤粺瀹夎鍥�";
-            // 
-            // _tabPage榛樿瀹夎鍥�3d
-            // 
-            _tabPage榛樿瀹夎鍥�3d.ImageOptions.ImageIndex = 3;
-            _tabPage榛樿瀹夎鍥�3d.Name = "_tabPage榛樿瀹夎鍥�3d";
-            _tabPage榛樿瀹夎鍥�3d.PageVisible = false;
-            _tabPage榛樿瀹夎鍥�3d.Size = new Size(543, 727);
-            _tabPage榛樿瀹夎鍥�3d.Text = "瀹夎鍥�(涓夌淮)";
-            // 
-            // _tabPage榛樿缁撴瀯鍥�2d
-            // 
-            _tabPage榛樿缁撴瀯鍥�2d.ImageOptions.ImageIndex = 2;
-            _tabPage榛樿缁撴瀯鍥�2d.Name = "_tabPage榛樿缁撴瀯鍥�2d";
-            _tabPage榛樿缁撴瀯鍥�2d.PageVisible = false;
-            _tabPage榛樿缁撴瀯鍥�2d.Size = new Size(543, 727);
-            _tabPage榛樿缁撴瀯鍥�2d.Text = "缁撴瀯鍥�";
-            // 
-            // _tabPage榛樿缁撴瀯鍥�3d
-            // 
-            _tabPage榛樿缁撴瀯鍥�3d.ImageOptions.ImageIndex = 11;
-            _tabPage榛樿缁撴瀯鍥�3d.Name = "_tabPage榛樿缁撴瀯鍥�3d";
-            _tabPage榛樿缁撴瀯鍥�3d.PageVisible = false;
-            _tabPage榛樿缁撴瀯鍥�3d.Size = new Size(543, 727);
-            _tabPage榛樿缁撴瀯鍥�3d.Text = "缁撴瀯鍥�";
-            // 
-            // _tabPage鐢垫皵鍥�
-            // 
-            _tabPage鐢垫皵鍥�.ImageOptions.ImageIndex = 13;
-            _tabPage鐢垫皵鍥�.Name = "_tabPage鐢垫皵鍥�";
-            _tabPage鐢垫皵鍥�.PageVisible = false;
-            _tabPage鐢垫皵鍥�.Size = new Size(543, 727);
-            _tabPage鐢垫皵鍥�.Text = "鐢垫皵鍥�";
-            // 
-            // _tabPage涓夌淮妯″瀷
-            // 
-            _tabPage涓夌淮妯″瀷.ImageOptions.ImageIndex = 0;
-            _tabPage涓夌淮妯″瀷.Name = "_tabPage涓夌淮妯″瀷";
-            _tabPage涓夌淮妯″瀷.PageVisible = false;
-            _tabPage涓夌淮妯″瀷.Size = new Size(543, 727);
-            _tabPage涓夌淮妯″瀷.Text = "涓夌淮妯″瀷";
-            // 
-            // _tabPage瑙嗛鏂囦欢
-            // 
-            _tabPage瑙嗛鏂囦欢.ImageOptions.ImageIndex = 12;
-            _tabPage瑙嗛鏂囦欢.Name = "_tabPage瑙嗛鏂囦欢";
-            _tabPage瑙嗛鏂囦欢.PageVisible = false;
-            _tabPage瑙嗛鏂囦欢.Size = new Size(543, 727);
-            _tabPage瑙嗛鏂囦欢.Text = "瑙嗛鏂囦欢";
-            // 
-            // _tabPage绯诲垪闄勪欢
-            // 
-            _tabPage绯诲垪闄勪欢.ImageOptions.ImageIndex = 1;
-            _tabPage绯诲垪闄勪欢.Name = "_tabPage绯诲垪闄勪欢";
-            _tabPage绯诲垪闄勪欢.Size = new Size(543, 727);
-            _tabPage绯诲垪闄勪欢.Text = "闄勪欢鏂囦欢";
-            // 
-            // splitContainerControl1
-            // 
-            splitContainerControl1.Dock = DockStyle.Fill;
-            splitContainerControl1.FixedPanel = SplitFixedPanel.Panel2;
-            splitContainerControl1.Location = new Point(0, 0);
-            splitContainerControl1.Name = "splitContainerControl1";
-            // 
-            // splitContainerControl1.Panel1
-            // 
-            splitContainerControl1.Panel1.Controls.Add(xtraTabCtrlMain);
-            splitContainerControl1.Panel1.Text = "Panel1";
-            // 
-            // splitContainerControl1.Panel2
-            // 
-            splitContainerControl1.Panel2.Controls.Add(xtraTabControlRight);
-            splitContainerControl1.Panel2.Text = "Panel2";
-            splitContainerControl1.Size = new Size(1069, 729);
-            splitContainerControl1.SplitterPosition = 391;
-            splitContainerControl1.TabIndex = 11;
-            splitContainerControl1.Text = "splitContainerControl1";
-            // 
-            // xtraTabControlRight
-            // 
-            xtraTabControlRight.AppearancePage.Header.ForeColor = Color.Gray;
-            xtraTabControlRight.AppearancePage.Header.Options.UseForeColor = true;
-            xtraTabControlRight.AppearancePage.HeaderActive.ForeColor = Color.Blue;
-            xtraTabControlRight.AppearancePage.HeaderActive.Options.UseForeColor = true;
-            xtraTabControlRight.Dock = DockStyle.Fill;
-            xtraTabControlRight.Images = imageCollection2;
-            xtraTabControlRight.Location = new Point(0, 0);
-            xtraTabControlRight.Name = "xtraTabControlRight";
-            xtraTabControlRight.SelectedTabPage = tabPage鍩烘湰鍙傛暟;
-            xtraTabControlRight.Size = new Size(391, 729);
-            xtraTabControlRight.TabIndex = 0;
-            xtraTabControlRight.TabPages.AddRange(new DevExpress.XtraTab.XtraTabPage[] { tabPage鍩烘湰鍙傛暟, tabPage浜у搧灞炴��2, _tabPage浜у搧鏉愭枡, _tabPage澶氶�熷害鏇茬嚎鍙傛暟 });
-            xtraTabControlRight.SelectedPageChanged += xtraTabControlRight_SelectedPageChanged;
-            // 
-            // imageCollection2
-            // 
-            imageCollection2.ImageSize = new Size(24, 24);
-            imageCollection2.ImageStream = (DevExpress.Utils.ImageCollectionStreamer)resources.GetObject("imageCollection2.ImageStream");
-            imageCollection2.Images.SetKeyName(0, "Setting24B.png");
-            imageCollection2.Images.SetKeyName(1, "灞炴��24B.png");
-            imageCollection2.Images.SetKeyName(2, "閲戝睘24.png");
-            imageCollection2.Images.SetKeyName(3, "鍙橀24.png");
-            imageCollection2.Images.SetKeyName(4, "灞炴��24.png");
-            // 
-            // tabPage鍩烘湰鍙傛暟
-            // 
-            tabPage鍩烘湰鍙傛暟.Controls.Add(navBarControlPara);
-            tabPage鍩烘湰鍙傛暟.ImageOptions.ImageIndex = 0;
-            tabPage鍩烘湰鍙傛暟.Name = "tabPage鍩烘湰鍙傛暟";
-            tabPage鍩烘湰鍙傛暟.Size = new Size(389, 693);
-            tabPage鍩烘湰鍙傛暟.Text = "鍩烘湰鍙傛暟";
-            // 
-            // navBarControlPara
-            // 
-            navBarControlPara.Appearance.GroupHeader.Font = new Font("Tahoma", 8.25F, FontStyle.Bold, GraphicsUnit.Point);
-            navBarControlPara.Appearance.GroupHeader.Options.UseFont = true;
-            navBarControlPara.Controls.Add(pumpPerformCompareInfoCtrl1);
-            navBarControlPara.Dock = DockStyle.Fill;
-            navBarControlPara.Location = new Point(0, 0);
-            navBarControlPara.Name = "navBarControlPara";
-            navBarControlPara.OptionsNavPane.ExpandedWidth = 389;
-            navBarControlPara.Size = new Size(389, 693);
-            navBarControlPara.SkinExplorerBarViewScrollStyle = DevExpress.XtraNavBar.SkinExplorerBarViewScrollStyle.ScrollBar;
-            navBarControlPara.StoreDefaultPaintStyleName = true;
-            navBarControlPara.TabIndex = 7;
-            navBarControlPara.Text = "navBarControl1";
-            // 
-            // pumpPerformCompareInfoCtrl1
-            // 
-            pumpPerformCompareInfoCtrl1.Dock = DockStyle.Fill;
-            pumpPerformCompareInfoCtrl1.Location = new Point(0, 0);
-            pumpPerformCompareInfoCtrl1.Margin = new Padding(2, 2, 2, 2);
-            pumpPerformCompareInfoCtrl1.Name = "pumpPerformCompareInfoCtrl1";
-            pumpPerformCompareInfoCtrl1.Size = new Size(389, 693);
-            pumpPerformCompareInfoCtrl1.TabIndex = 0;
-            // 
-            // tabPage浜у搧灞炴��2
-            // 
-            tabPage浜у搧灞炴��2.Controls.Add(layoutControl1);
-            tabPage浜у搧灞炴��2.ImageOptions.ImageIndex = 1;
-            tabPage浜у搧灞炴��2.Name = "tabPage浜у搧灞炴��2";
-            tabPage浜у搧灞炴��2.Size = new Size(389, 693);
-            tabPage浜у搧灞炴��2.Text = "浜у搧灞炴��";
-            // 
-            // layoutControl1
-            // 
-            layoutControl1.Controls.Add(pumpPropViewCtrl1);
-            layoutControl1.Dock = DockStyle.Fill;
-            layoutControl1.Location = new Point(0, 0);
-            layoutControl1.Name = "layoutControl1";
-            layoutControl1.Root = Root;
-            layoutControl1.Size = new Size(389, 693);
-            layoutControl1.TabIndex = 1;
-            layoutControl1.Text = "layoutControl1";
-            // 
-            // pumpPropViewCtrl1
-            // 
-            pumpPropViewCtrl1.Location = new Point(12, 12);
-            pumpPropViewCtrl1.Margin = new Padding(4, 5, 4, 5);
-            pumpPropViewCtrl1.Name = "pumpPropViewCtrl1";
-            pumpPropViewCtrl1.Size = new Size(365, 669);
-            pumpPropViewCtrl1.TabIndex = 5;
-            // 
-            // Root
-            // 
-            Root.EnableIndentsWithoutBorders = DevExpress.Utils.DefaultBoolean.True;
-            Root.GroupBordersVisible = false;
-            Root.Items.AddRange(new DevExpress.XtraLayout.BaseLayoutItem[] { layoutControlItem2 });
-            Root.Name = "Root";
-            Root.Size = new Size(389, 693);
-            Root.TextVisible = false;
-            // 
-            // layoutControlItem2
-            // 
-            layoutControlItem2.Control = pumpPropViewCtrl1;
-            layoutControlItem2.Location = new Point(0, 0);
-            layoutControlItem2.Name = "layoutControlItem2";
-            layoutControlItem2.Size = new Size(369, 673);
-            layoutControlItem2.TextSize = new Size(0, 0);
-            layoutControlItem2.TextVisible = false;
-            // 
-            // _tabPage浜у搧鏉愭枡
-            // 
-            _tabPage浜у搧鏉愭枡.Controls.Add(splitContainerControlMaterial);
-            _tabPage浜у搧鏉愭枡.ImageOptions.ImageIndex = 2;
-            _tabPage浜у搧鏉愭枡.Name = "_tabPage浜у搧鏉愭枡";
-            _tabPage浜у搧鏉愭枡.PageVisible = false;
-            _tabPage浜у搧鏉愭枡.Size = new Size(389, 693);
-            _tabPage浜у搧鏉愭枡.Text = "浜у搧鏉愭枡";
-            // 
-            // splitContainerControlMaterial
-            // 
-            splitContainerControlMaterial.CollapsePanel = SplitCollapsePanel.Panel2;
-            splitContainerControlMaterial.Dock = DockStyle.Fill;
-            splitContainerControlMaterial.Horizontal = false;
-            splitContainerControlMaterial.Location = new Point(0, 0);
-            splitContainerControlMaterial.Name = "splitContainerControlMaterial";
-            // 
-            // splitContainerControlMaterial.Panel1
-            // 
-            splitContainerControlMaterial.Panel1.AutoScroll = true;
-            splitContainerControlMaterial.Panel1.ShowCaption = true;
-            splitContainerControlMaterial.Panel1.Text = "Panel1";
-            // 
-            // splitContainerControlMaterial.Panel2
-            // 
-            splitContainerControlMaterial.Panel2.ShowCaption = true;
-            splitContainerControlMaterial.Panel2.Text = "Panel2";
-            splitContainerControlMaterial.ShowCaption = true;
-            splitContainerControlMaterial.Size = new Size(389, 693);
-            splitContainerControlMaterial.SplitterPosition = 500;
-            splitContainerControlMaterial.TabIndex = 0;
-            splitContainerControlMaterial.Text = "splitContainerControl2";
-            // 
-            // _tabPage澶氶�熷害鏇茬嚎鍙傛暟
-            // 
-            _tabPage澶氶�熷害鏇茬嚎鍙傛暟.Controls.Add(pumpVariableSpeedInfoCtrl1);
-            _tabPage澶氶�熷害鏇茬嚎鍙傛暟.ImageOptions.ImageIndex = 3;
-            _tabPage澶氶�熷害鏇茬嚎鍙傛暟.Name = "_tabPage澶氶�熷害鏇茬嚎鍙傛暟";
-            _tabPage澶氶�熷害鏇茬嚎鍙傛暟.Size = new Size(389, 693);
-            _tabPage澶氶�熷害鏇茬嚎鍙傛暟.Text = "鍙橀�熷弬鏁�";
-            // 
-            // pumpVariableSpeedInfoCtrl1
-            // 
-            pumpVariableSpeedInfoCtrl1.Dock = DockStyle.Fill;
-            pumpVariableSpeedInfoCtrl1.Location = new Point(0, 0);
-            pumpVariableSpeedInfoCtrl1.Margin = new Padding(2, 2, 2, 2);
-            pumpVariableSpeedInfoCtrl1.Name = "pumpVariableSpeedInfoCtrl1";
-            pumpVariableSpeedInfoCtrl1.Size = new Size(389, 693);
-            pumpVariableSpeedInfoCtrl1.TabIndex = 0;
-            // 
-            // navBarGroupControlContainer6
-            // 
-            navBarGroupControlContainer6.Name = "navBarGroupControlContainer6";
-            navBarGroupControlContainer6.Size = new Size(360, 136);
-            navBarGroupControlContainer6.TabIndex = 3;
-            // 
-            // navBarGroupJieZhi
-            // 
-            navBarGroupJieZhi.Appearance.Font = new Font("Tahoma", 14F, FontStyle.Regular, GraphicsUnit.Point);
-            navBarGroupJieZhi.Appearance.Options.UseFont = true;
-            navBarGroupJieZhi.Caption = "浠嬭川";
-            navBarGroupJieZhi.ControlContainer = navBarGroupControlContainer6;
-            navBarGroupJieZhi.GroupClientHeight = 140;
-            navBarGroupJieZhi.GroupStyle = DevExpress.XtraNavBar.NavBarGroupStyle.ControlContainer;
-            navBarGroupJieZhi.ImageOptions.LargeImage = (Image)resources.GetObject("navBarGroupJieZhi.ImageOptions.LargeImage");
-            navBarGroupJieZhi.Name = "navBarGroupJieZhi";
-            // 
-            // PumpFullInfoCtrl
-            // 
-            Appearance.BackColor = SystemColors.Control;
-            Appearance.Options.UseBackColor = true;
-            AutoScaleMode = AutoScaleMode.None;
-            Controls.Add(splitContainerControl1);
-            Name = "PumpFullInfoCtrl";
-            Size = new Size(1069, 729);
-            Load += OnFrmLoad;
-            ((ISupportInitialize)xtraTabCtrlMain).EndInit();
-            xtraTabCtrlMain.ResumeLayout(false);
-            ((ISupportInitialize)imageCollection1).EndInit();
-            _tabPage鎬ц兘鏇茬嚎鍥�1.ResumeLayout(false);
-            _tabPage澶氶�熷害鏇茬嚎.ResumeLayout(false);
-            ((ISupportInitialize)splitContainerControl1.Panel1).EndInit();
-            splitContainerControl1.Panel1.ResumeLayout(false);
-            ((ISupportInitialize)splitContainerControl1.Panel2).EndInit();
-            splitContainerControl1.Panel2.ResumeLayout(false);
-            ((ISupportInitialize)splitContainerControl1).EndInit();
-            splitContainerControl1.ResumeLayout(false);
-            ((ISupportInitialize)xtraTabControlRight).EndInit();
-            xtraTabControlRight.ResumeLayout(false);
-            ((ISupportInitialize)imageCollection2).EndInit();
-            tabPage鍩烘湰鍙傛暟.ResumeLayout(false);
-            ((ISupportInitialize)navBarControlPara).EndInit();
-            navBarControlPara.ResumeLayout(false);
-            tabPage浜у搧灞炴��2.ResumeLayout(false);
-            ((ISupportInitialize)layoutControl1).EndInit();
-            layoutControl1.ResumeLayout(false);
-            ((ISupportInitialize)Root).EndInit();
-            ((ISupportInitialize)layoutControlItem2).EndInit();
-            _tabPage浜у搧鏉愭枡.ResumeLayout(false);
-            ((ISupportInitialize)splitContainerControlMaterial.Panel1).EndInit();
-            ((ISupportInitialize)splitContainerControlMaterial.Panel2).EndInit();
-            ((ISupportInitialize)splitContainerControlMaterial).EndInit();
-            splitContainerControlMaterial.ResumeLayout(false);
-            _tabPage澶氶�熷害鏇茬嚎鍙傛暟.ResumeLayout(false);
-            ResumeLayout(false);
-        }
-
-        #endregion
-
-        private DevExpress.XtraTab.XtraTabControl xtraTabCtrlMain;
-        private DevExpress.XtraTab.XtraTabPage _tabPage鎬ц兘鏇茬嚎鍥�1;
-        private DevExpress.XtraTab.XtraTabPage _tabPage澶氶�熷害鏇茬嚎;
- 
-        private DevExpress.XtraTab.XtraTabPage _tabPage榛樿瀹炵墿鍥�2d;
-
-        private DevExpress.XtraTab.XtraTabPage _tabPage榛樿缁撴瀯鍥�2d;
-        private DevExpress.XtraTab.XtraTabPage _tabPage榛樿灏哄鍥�2d;
-        private DevExpress.XtraTab.XtraTabPage _tabPage绯诲垪闄勪欢;
-
-        protected DevExpress.XtraTab.XtraTabPage _tabPage榛樿瀹夎鍥�2d;
-        protected DevExpress.XtraTab.XtraTabPage _tabPage榛樿瀹夎鍥�3d;
-        protected DevExpress.XtraTab.XtraTabPage _tabPage涓夌淮妯″瀷;
-        private DevExpress.XtraTab.XtraTabPage _tabPage绯荤粺瀹炵墿鍥�2d;
-        private DevExpress.XtraTab.XtraTabPage _tabPage浜у搧灞炴��1;
-        private DevExpress.Utils.ImageCollection imageCollection1;
-        private DevExpress.XtraEditors.SplitContainerControl splitContainerControl1;
-        private DevExpress.XtraTab.XtraTabControl xtraTabControlRight;
-        private DevExpress.XtraTab.XtraTabPage tabPage鍩烘湰鍙傛暟;
-        private DevExpress.XtraTab.XtraTabPage tabPage浜у搧灞炴��2;
-        private DevExpress.XtraNavBar.NavBarControl navBarControlPara;
-        private DevExpress.XtraTab.XtraTabPage _tabPage绯荤粺瀹夎鍥�2d;
-        private DevExpress.XtraTab.XtraTabPage _tabPage浜у搧鏉愭枡;
-        private DevExpress.Utils.ImageCollection imageCollection2;
-   
-        private DevExpress.XtraTab.XtraTabPage _tabPage澶氶�熷害鏇茬嚎鍙傛暟;
-        private DevExpress.XtraTab.XtraTabPage _tabPage榛樿缁撴瀯鍥�3d;
-        private DevExpress.XtraTab.XtraTabPage _tabPage瑙嗛鏂囦欢;
-        private DevExpress.XtraEditors.SplitContainerControl splitContainerControlMaterial;
-        protected DevExpress.XtraTab.XtraTabPage _tabPage鐢垫皵鍥�;
-        private DevExpress.XtraNavBar.NavBarGroupControlContainer navBarGroupControlContainer6;
-        private DevExpress.XtraNavBar.NavBarGroup navBarGroupJieZhi;
-        private Yw.WinFrmUI.Phart.PumpVariableSpeedChart pumpVariableSpeedChart1;
-        private Yw.WinFrmUI.Phart.PumpVariableSpeedInfoCtrl pumpVariableSpeedInfoCtrl1;
-        private Yw.WinFrmUI.Phart.PumpPerformCompareChart pumpPerformCompareChart1;
-        private Yw.WinFrmUI.Phart.PumpPerformCompareInfoCtrl pumpPerformCompareInfoCtrl1;
-        private DevExpress.XtraLayout.LayoutControl layoutControl1;
-        private PumpPropViewCtrl pumpPropViewCtrl1;
-        private DevExpress.XtraLayout.LayoutControlGroup Root;
-        private DevExpress.XtraLayout.LayoutControlItem layoutControlItem2;
-    }
-}
diff --git a/WinFrmUI/HStation.WinFrmUI.Xhs.Core/04-pump/PumpFullInfoCtrl.resx b/WinFrmUI/HStation.WinFrmUI.Xhs.Core/04-pump/PumpFullInfoCtrl.resx
deleted file mode 100644
index 9d524aa..0000000
--- a/WinFrmUI/HStation.WinFrmUI.Xhs.Core/04-pump/PumpFullInfoCtrl.resx
+++ /dev/null
@@ -1,510 +0,0 @@
-锘�<?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="imageCollection1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
-    <value>186, 12</value>
-  </metadata>
-  <assembly alias="DevExpress.Utils.v23.2" name="DevExpress.Utils.v23.2, Culture=neutral, PublicKeyToken=b88d1754d700e49a" />
-  <data name="imageCollection1.ImageStream" type="DevExpress.Utils.ImageCollectionStreamer, DevExpress.Utils.v23.2" mimetype="application/x-microsoft.net.object.bytearray.base64">
-    <value>
-        AAEAAAD/////AQAAAAAAAAAMAgAAAFpEZXZFeHByZXNzLlV0aWxzLnYyMy4yLCBWZXJzaW9uPTIzLjIu
-        NC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI4OGQxNzU0ZDcwMGU0OWEMAwAAAFFT
-        eXN0ZW0uRHJhd2luZywgVmVyc2lvbj00LjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRv
-        a2VuPWIwM2Y1ZjdmMTFkNTBhM2EFAQAAAChEZXZFeHByZXNzLlV0aWxzLkltYWdlQ29sbGVjdGlvblN0
-        cmVhbWVyAgAAAAlJbWFnZVNpemUERGF0YQQHE1N5c3RlbS5EcmF3aW5nLlNpemUDAAAAAgIAAAAF/P//
-        /xNTeXN0ZW0uRHJhd2luZy5TaXplAgAAAAV3aWR0aAZoZWlnaHQAAAgIAwAAACMAAAAjAAAACQUAAAAP
-        BQAAAEw5AAACBgUAAIlQTkcNChoKAAAADUlIRFIAAAAjAAAAIwgGAAAAHtmzWQAAAARnQU1BAACxjwv8
-        YQUAAAAJcEhZcwAADrwAAA68AZW8ckkAAASoSURBVFhH7VddaFxFFL5pFW2b5P7ttga2WCgWfKmG4oMo
-        YrVgnxSqfVKktYhFfBGxb3YfivpQm2TdO/dmm4IVWiQRW/9A7EtFQWtpTZaG7N65d7s2mqpI/anYH7VZ
-        vzM5u+7e/UlCl4SCHwx358yZmW/OnHPmrPY/2gm9v7jGcuWwJeSw3p9bw+LFgSWCouUGJWqmCEIWLw5A
-        4kqZDKwzbQv5lCX8O7Xjx29ilQVAsrQEBLaCwKUyGdMNfkS/iO/vsNgvppCvEjErJbt5VvvRk5laDj85
-        SgS69hfWmcL/hn6DIKxR6tAyp242RGE9CB2G3jS+f+F72krLx7VkxGKlUscKd2wl9+YHczC4Fyc+j80P
-        dQ9NWkrm+AOwyFWlEAER707JtaYTPAtCX8BqFzFfmm7YZzi+N0OUrjj8gKfMDbYX9GPBScsLt7FIITE8
-        uUx3/Lu52xLWfpkAsc1oBxSJmuZvYrVa6O45EyfYiQjpg+JWnOgEnSyWnljHKtcFupoomdhAeAcP1wJE
-        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
-</value>
-  </data>
-  <metadata name="imageCollection2.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
-    <value>341, 12</value>
-  </metadata>
-  <data name="imageCollection2.ImageStream" type="DevExpress.Utils.ImageCollectionStreamer, DevExpress.Utils.v23.2" mimetype="application/x-microsoft.net.object.bytearray.base64">
-    <value>
-        AAEAAAD/////AQAAAAAAAAAMAgAAAFpEZXZFeHByZXNzLlV0aWxzLnYyMy4yLCBWZXJzaW9uPTIzLjIu
-        NC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI4OGQxNzU0ZDcwMGU0OWEMAwAAAFFT
-        eXN0ZW0uRHJhd2luZywgVmVyc2lvbj00LjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRv
-        a2VuPWIwM2Y1ZjdmMTFkNTBhM2EFAQAAAChEZXZFeHByZXNzLlV0aWxzLkltYWdlQ29sbGVjdGlvblN0
-        cmVhbWVyAgAAAAlJbWFnZVNpemUERGF0YQQHE1N5c3RlbS5EcmF3aW5nLlNpemUDAAAAAgIAAAAF/P//
-        /xNTeXN0ZW0uRHJhd2luZy5TaXplAgAAAAV3aWR0aAZoZWlnaHQAAAgIAwAAABgAAAAYAAAACQUAAAAP
-        BQAAAHYRAAACUQMAAIlQTkcNChoKAAAADUlIRFIAAAAYAAAAGAgGAAAA4Hc9+AAAAARnQU1BAACxjwv8
-        YQUAAAAJcEhZcwAADrwAAA68AZW8ckkAAAAHdElNRQflCAUIAxZcGSxIAAAAB3RFWHRBdXRob3IAqa7M
-        SAAAAAx0RVh0RGVzY3JpcHRpb24AEwkhIwAAAAp0RVh0Q29weXJpZ2h0AKwPzDoAAAAJdEVYdFNvZnR3
-        YXJlAF1w/zoAAAAHdEVYdFNvdXJjZQD1/4PrAAAACHRFWHRDb21tZW50APbMlr8AAAAGdEVYdFRpdGxl
-        AKju0icAAAJRSURBVEhL3ZbPa9NgGMfTbk0jdDUpu9mhh83b1pO2nhQR27WwXx16dN4UWzecJz2qE6S3
-        NRkiuOGGHhVW/4lRt3mzb8TiBA8e1O6igjR+nzRv9iawVcxB8fBNw/f5Ps+neZM3RLIsy5Wms82EYVoJ
-        nS2IPknJXzuP+ntoR8mXs/66Vm3cs3sNc1P0vSGdtTuAxrLok5R86ZJmmJ+hL0rh+oy/rlXfPHYAmBoK
-        cd8b+suAGRruAC7764EAcq50NDa7uorad1Lf3NqaPFo+JmYCAQ4vMgP+Nz6AztWquSRmAgG0KmvxZle6
-        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
-        4bhfNRunpcLrCnEAAAAASUVORK5CYIJkAgAAiVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34
-        AAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAOvAAADrwBlbxySQAAAAd0SU1FB+MMDwEOHT3QFbsAAAAH
-        dEVYdEF1dGhvcgCprsxIAAAADHRFWHREZXNjcmlwdGlvbgATCSEjAAAACnRFWHRDb3B5cmlnaHQArA/M
-        OgAAAAl0RVh0U29mdHdhcmUAXXD/OgAAAAd0RVh0U291cmNlAPX/g+sAAAAIdEVYdENvbW1lbnQA9syW
-        vwAAAAZ0RVh0VGl0bGUAqO7SJwAAAWRJREFUSEu1lb1OwzAUhQNESpAa0eQJuhRmKkQklkpILIl4AV6A
-        KT8DYuUVKoHDz9IlM6/AcxBXLMBIB2APtqsEkxzcqE2GT/E9OfGNfeVrLc/zToFim0CxTaDI0YPHQ4dk
-        mU3ot3VH77XBeAP5llEODD842PaDqwI7oS9OQvMCK06n8nsVphce1xL0b2dEnpAlKMcoVsG801qCKtbk
-        9Vr64FM/uRwg3zKgyNH23E223DPTCy7003AXeZoAxTaBooqtoWuzVbns2Ufvq0DxPwwvGjlJNhe1Idmc
-        xfvIJ1MOrCg9dwh9UsHOxHtReFF8HgNfL05jlCBCZpm1EjSBbwmb9GORQGzRCPlkoKiCF9f0A1fvosir
-        AEWOOGheedCGyNMEKHJ6kzepVWRfa7eKnWT2UEy4mPR3LGLyN1Zh34BmZ3jhWG65NslWb9d+cFRLUEVc
-        OAl9Zn/ezoXTFVBsEyi2R679AOvwCs9y1t4yAAAAAElFTkSuQmCCCw==
-</value>
-  </data>
-  <assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
-  <data name="navBarGroupJieZhi.ImageOptions.LargeImage" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
-    <value>
-        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
-</value>
-  </data>
-  <metadata name="$this.TrayHeight" type="System.Int32, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
-    <value>70</value>
-  </metadata>
-</root>
\ No newline at end of file
diff --git a/WinFrmUI/HStation.WinFrmUI.Xhs.Core/04-pump/PumpFullInfoViewDlg.Designer.cs b/WinFrmUI/HStation.WinFrmUI.Xhs.Core/04-pump/PumpFullInfoViewDlg.Designer.cs
deleted file mode 100644
index 7ce66f8..0000000
--- a/WinFrmUI/HStation.WinFrmUI.Xhs.Core/04-pump/PumpFullInfoViewDlg.Designer.cs
+++ /dev/null
@@ -1,778 +0,0 @@
-锘縰sing DevExpress.XtraBars;
-
-namespace HStation.WinFrmUI
-{
-    partial class PumpFullInfoViewDlg
-    {
-        /// <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()
-        {
-            components = new Container();
-            ComponentResourceManager resources = new ComponentResourceManager(typeof(PumpFullInfoViewDlg));
-            DevExpress.Utils.SuperToolTip superToolTip1 = new DevExpress.Utils.SuperToolTip();
-            DevExpress.Utils.ToolTipItem toolTipItem1 = new DevExpress.Utils.ToolTipItem();
-            DevExpress.Utils.SuperToolTip superToolTip2 = new DevExpress.Utils.SuperToolTip();
-            DevExpress.Utils.ToolTipItem toolTipItem2 = new DevExpress.Utils.ToolTipItem();
-            DevExpress.Utils.SuperToolTip superToolTip3 = new DevExpress.Utils.SuperToolTip();
-            DevExpress.Utils.ToolTipItem toolTipItem3 = new DevExpress.Utils.ToolTipItem();
-            DevExpress.Utils.SuperToolTip superToolTip4 = new DevExpress.Utils.SuperToolTip();
-            DevExpress.Utils.ToolTipItem toolTipItem4 = new DevExpress.Utils.ToolTipItem();
-            DevExpress.Utils.SuperToolTip superToolTip5 = new DevExpress.Utils.SuperToolTip();
-            DevExpress.Utils.ToolTipItem toolTipItem5 = new DevExpress.Utils.ToolTipItem();
-            PageTitle pageTitle1 = new PageTitle();
-            tileNavPaneTop = new DevExpress.XtraBars.Navigation.TileNavPane();
-            navBtnTitle = new DevExpress.XtraBars.Navigation.NavButton();
-            navBtnEdit = new DevExpress.XtraBars.Navigation.NavButton();
-            navBtn鎵嬫満椤甸潰 = new DevExpress.XtraBars.Navigation.NavButton();
-            navBtn瀵垮懡鎴愭湰璁$畻 = new DevExpress.XtraBars.Navigation.NavButton();
-            navBtn瀵煎嚭 = new DevExpress.XtraBars.Navigation.NavButton();
-            navBtnDock = new DevExpress.XtraBars.Navigation.NavButton();
-            navButton8 = new DevExpress.XtraBars.Navigation.NavButton();
-            navBtnbutton9 = new DevExpress.XtraBars.Navigation.NavButton();
-            navBtnbutton10 = new DevExpress.XtraBars.Navigation.NavButton();
-            popupMenu1 = new PopupMenu(components);
-            bbi瀵煎嚭瀹夎鍥� = new BarButtonItem();
-            bbi瀵煎嚭鎬ц兘鏇茬嚎 = new BarButtonItem();
-            bbi涓嬭浇BIM鏂囦欢 = new BarButtonItem();
-            bbi瀵煎嚭灞炴�ц〃 = new BarButtonItem();
-            barManager1 = new BarManager(components);
-            barDockControlTop = new BarDockControl();
-            barDockControlBottom = new BarDockControl();
-            barDockControlLeft = new BarDockControl();
-            barDockControlRight = new BarDockControl();
-            imageCollection1 = new DevExpress.Utils.ImageCollection(components);
-            barButtonItemExcelEdit = new BarButtonItem();
-            barButtonItemEdit = new BarButtonItem();
-            barButtonItemOnePoint = new BarButtonItem();
-            barBtnEditProp = new BarButtonItem();
-            barBtnRefreshMatching = new BarButtonItem();
-            barButtonItemPicture = new BarButtonItem();
-            repositoryItemBreadCrumbEdit1 = new DevExpress.XtraEditors.Repository.RepositoryItemBreadCrumbEdit();
-            repositoryItemPageNumberEdit1 = new DevExpress.XtraEditors.Repository.RepositoryItemPageNumberEdit();
-            repositoryItemTextEdit1 = new DevExpress.XtraEditors.Repository.RepositoryItemTextEdit();
-            tileNavPane1 = new DevExpress.XtraBars.Navigation.TileNavPane();
-            navButton1 = new DevExpress.XtraBars.Navigation.NavButton();
-            navButton2 = new DevExpress.XtraBars.Navigation.NavButton();
-            navButton3 = new DevExpress.XtraBars.Navigation.NavButton();
-            navButton4 = new DevExpress.XtraBars.Navigation.NavButton();
-            navButton5 = new DevExpress.XtraBars.Navigation.NavButton();
-            navButton6 = new DevExpress.XtraBars.Navigation.NavButton();
-            panelMain = new Panel();
-            pumpFullInfoCtrl1 = new PumpFullInfoCtrl();
-            tileNavPane3 = new DevExpress.XtraBars.Navigation.TileNavPane();
-            bsiWindowInfo = new DevExpress.XtraBars.Navigation.NavButton();
-            bsiSplit1 = new DevExpress.XtraBars.Navigation.NavButton();
-            bsiPromptInfo = new DevExpress.XtraBars.Navigation.NavButton();
-            navButton璇环 = new DevExpress.XtraBars.Navigation.NavButton();
-            bbi娣诲姞鏀惰棌 = new DevExpress.XtraBars.Navigation.NavButton();
-            bbi娣诲姞姣旇緝 = new DevExpress.XtraBars.Navigation.NavButton();
-            bbi娣诲姞涓插苟鑱� = new DevExpress.XtraBars.Navigation.NavButton();
-            barManager2 = new BarManager(components);
-            barDockControl1 = new BarDockControl();
-            barDockControl2 = new BarDockControl();
-            barDockControl3 = new BarDockControl();
-            barDockControl4 = new BarDockControl();
-            bbi澶嶅埗娉靛瀷鍙锋枃瀛� = new BarButtonItem();
-            popupMenu2 = new PopupMenu(components);
-            popupMenuEdit = new PopupMenu(components);
-            ((ISupportInitialize)tileNavPaneTop).BeginInit();
-            ((ISupportInitialize)popupMenu1).BeginInit();
-            ((ISupportInitialize)barManager1).BeginInit();
-            ((ISupportInitialize)imageCollection1).BeginInit();
-            ((ISupportInitialize)repositoryItemBreadCrumbEdit1).BeginInit();
-            ((ISupportInitialize)repositoryItemPageNumberEdit1).BeginInit();
-            ((ISupportInitialize)repositoryItemTextEdit1).BeginInit();
-            ((ISupportInitialize)tileNavPane1).BeginInit();
-            panelMain.SuspendLayout();
-            ((ISupportInitialize)tileNavPane3).BeginInit();
-            ((ISupportInitialize)barManager2).BeginInit();
-            ((ISupportInitialize)popupMenu2).BeginInit();
-            ((ISupportInitialize)popupMenuEdit).BeginInit();
-            SuspendLayout();
-            // 
-            // tileNavPaneTop
-            // 
-            tileNavPaneTop.AllowGlyphSkinning = true;
-            tileNavPaneTop.ButtonPadding = new Padding(6);
-            tileNavPaneTop.Buttons.Add(navBtnTitle);
-            tileNavPaneTop.Buttons.Add(navBtnEdit);
-            tileNavPaneTop.Buttons.Add(navBtn鎵嬫満椤甸潰);
-            tileNavPaneTop.Buttons.Add(navBtn瀵垮懡鎴愭湰璁$畻);
-            tileNavPaneTop.Buttons.Add(navBtn瀵煎嚭);
-            tileNavPaneTop.Buttons.Add(navBtnDock);
-            tileNavPaneTop.Buttons.Add(navButton8);
-            tileNavPaneTop.Buttons.Add(navBtnbutton9);
-            tileNavPaneTop.Buttons.Add(navBtnbutton10);
-            // 
-            // tileNavCategory1
-            // 
-            tileNavPaneTop.DefaultCategory.Name = "tileNavCategory1";
-            // 
-            // 
-            // 
-            tileNavPaneTop.DefaultCategory.Tile.DropDownOptions.BeakColor = Color.Empty;
-            tileNavPaneTop.Dock = DockStyle.Top;
-            tileNavPaneTop.Location = new Point(2, 2);
-            tileNavPaneTop.Name = "tileNavPaneTop";
-            tileNavPaneTop.Size = new Size(1274, 40);
-            tileNavPaneTop.TabIndex = 0;
-            tileNavPaneTop.Text = "tileNavPane1";
-            tileNavPaneTop.MouseDown += tileNavPane1_MouseDown;
-            // 
-            // navBtnTitle
-            // 
-            navBtnTitle.Alignment = DevExpress.XtraBars.Navigation.NavButtonAlignment.Left;
-            navBtnTitle.Appearance.BackColor = Color.Transparent;
-            navBtnTitle.Appearance.ForeColor = Color.White;
-            navBtnTitle.Appearance.Options.UseBackColor = true;
-            navBtnTitle.Appearance.Options.UseForeColor = true;
-            navBtnTitle.AppearanceHovered.BackColor = Color.Transparent;
-            navBtnTitle.AppearanceHovered.ForeColor = Color.White;
-            navBtnTitle.AppearanceHovered.Options.UseBackColor = true;
-            navBtnTitle.AppearanceHovered.Options.UseForeColor = true;
-            navBtnTitle.AppearanceSelected.BackColor = Color.Transparent;
-            navBtnTitle.AppearanceSelected.ForeColor = Color.White;
-            navBtnTitle.AppearanceSelected.Options.UseBackColor = true;
-            navBtnTitle.AppearanceSelected.Options.UseForeColor = true;
-            navBtnTitle.Caption = "娉典俊鎭�";
-            navBtnTitle.ImageOptions.Image = (Image)resources.GetObject("navBtnTitle.ImageOptions.Image");
-            navBtnTitle.Name = "navBtnTitle";
-            navBtnTitle.ElementClick += navBtnTitle_ElementClick;
-            // 
-            // navBtnEdit
-            // 
-            navBtnEdit.Alignment = DevExpress.XtraBars.Navigation.NavButtonAlignment.Right;
-            navBtnEdit.Caption = "缂栬緫";
-            navBtnEdit.ImageOptions.SvgImage = (DevExpress.Utils.Svg.SvgImage)resources.GetObject("navBtnEdit.ImageOptions.SvgImage");
-            navBtnEdit.Name = "navBtnEdit";
-            navBtnEdit.ElementClick += navBtnEdit_ElementClick;
-            // 
-            // navBtn鎵嬫満椤甸潰
-            // 
-            navBtn鎵嬫満椤甸潰.Alignment = DevExpress.XtraBars.Navigation.NavButtonAlignment.Right;
-            navBtn鎵嬫満椤甸潰.Caption = "鎵嬫満椤甸潰";
-            navBtn鎵嬫満椤甸潰.Name = "navBtn鎵嬫満椤甸潰";
-            navBtn鎵嬫満椤甸潰.Visible = false;
-            // 
-            // navBtn瀵垮懡鎴愭湰璁$畻
-            // 
-            navBtn瀵垮懡鎴愭湰璁$畻.Alignment = DevExpress.XtraBars.Navigation.NavButtonAlignment.Right;
-            navBtn瀵垮懡鎴愭湰璁$畻.Caption = "瀵垮懡鎴愭湰璁$畻";
-            navBtn瀵垮懡鎴愭湰璁$畻.ImageOptions.SvgImage = (DevExpress.Utils.Svg.SvgImage)resources.GetObject("navBtn瀵垮懡鎴愭湰璁$畻.ImageOptions.SvgImage");
-            navBtn瀵垮懡鎴愭湰璁$畻.Name = "navBtn瀵垮懡鎴愭湰璁$畻";
-            // 
-            // navBtn瀵煎嚭
-            // 
-            navBtn瀵煎嚭.Alignment = DevExpress.XtraBars.Navigation.NavButtonAlignment.Right;
-            navBtn瀵煎嚭.Caption = "涓嬭浇";
-            navBtn瀵煎嚭.ImageOptions.SvgImage = (DevExpress.Utils.Svg.SvgImage)resources.GetObject("navBtn瀵煎嚭.ImageOptions.SvgImage");
-            navBtn瀵煎嚭.Name = "navBtn瀵煎嚭";
-            navBtn瀵煎嚭.Visible = false;
-            navBtn瀵煎嚭.ElementClick += navBtn瀵煎嚭_ElementClick;
-            // 
-            // navBtnDock
-            // 
-            navBtnDock.Alignment = DevExpress.XtraBars.Navigation.NavButtonAlignment.Right;
-            navBtnDock.Caption = "鍋滈潬";
-            navBtnDock.ImageOptions.SvgImage = (DevExpress.Utils.Svg.SvgImage)resources.GetObject("navBtnDock.ImageOptions.SvgImage");
-            navBtnDock.Name = "navBtnDock";
-            toolTipItem1.Text = "鍋滈潬";
-            superToolTip1.Items.Add(toolTipItem1);
-            navBtnDock.SuperTip = superToolTip1;
-            navBtnDock.ElementClick += navBtnDock_ElementClick;
-            // 
-            // navButton8
-            // 
-            navButton8.Alignment = DevExpress.XtraBars.Navigation.NavButtonAlignment.Right;
-            navButton8.Caption = null;
-            navButton8.ImageOptions.SvgImage = (DevExpress.Utils.Svg.SvgImage)resources.GetObject("navButton8.ImageOptions.SvgImage");
-            navButton8.Name = "navButton8";
-            toolTipItem2.Text = "鏈�灏忓寲";
-            superToolTip2.Items.Add(toolTipItem2);
-            navButton8.SuperTip = superToolTip2;
-            navButton8.ElementClick += navBtnMin_ElementClick;
-            // 
-            // navBtnbutton9
-            // 
-            navBtnbutton9.Alignment = DevExpress.XtraBars.Navigation.NavButtonAlignment.Right;
-            navBtnbutton9.Caption = null;
-            navBtnbutton9.Name = "navBtnbutton9";
-            toolTipItem3.Text = "鍚戜笅杩樺師";
-            superToolTip3.Items.Add(toolTipItem3);
-            navBtnbutton9.SuperTip = superToolTip3;
-            navBtnbutton9.ElementClick += navBtnSize_ElementClick;
-            // 
-            // navBtnbutton10
-            // 
-            navBtnbutton10.Alignment = DevExpress.XtraBars.Navigation.NavButtonAlignment.Right;
-            navBtnbutton10.Caption = null;
-            navBtnbutton10.ImageOptions.SvgImage = (DevExpress.Utils.Svg.SvgImage)resources.GetObject("navBtnbutton10.ImageOptions.SvgImage");
-            navBtnbutton10.Name = "navBtnbutton10";
-            toolTipItem4.Text = "鍏抽棴";
-            superToolTip4.Items.Add(toolTipItem4);
-            navBtnbutton10.SuperTip = superToolTip4;
-            navBtnbutton10.ElementClick += navBtnClose_ElementClick;
-            // 
-            // popupMenu1
-            // 
-            popupMenu1.LinksPersistInfo.AddRange(new LinkPersistInfo[] { new LinkPersistInfo(bbi瀵煎嚭瀹夎鍥�), new LinkPersistInfo(bbi瀵煎嚭鎬ц兘鏇茬嚎), new LinkPersistInfo(bbi涓嬭浇BIM鏂囦欢), new LinkPersistInfo(bbi瀵煎嚭灞炴�ц〃) });
-            popupMenu1.Manager = barManager1;
-            popupMenu1.Name = "popupMenu1";
-            // 
-            // bbi瀵煎嚭瀹夎鍥�
-            // 
-            bbi瀵煎嚭瀹夎鍥�.Caption = "瀵煎嚭瀹夎鍥�";
-            bbi瀵煎嚭瀹夎鍥�.Id = 0;
-            bbi瀵煎嚭瀹夎鍥�.Name = "bbi瀵煎嚭瀹夎鍥�";
-            // 
-            // bbi瀵煎嚭鎬ц兘鏇茬嚎
-            // 
-            bbi瀵煎嚭鎬ц兘鏇茬嚎.Caption = "瀵煎嚭鎬ц兘鏇茬嚎";
-            bbi瀵煎嚭鎬ц兘鏇茬嚎.Id = 2;
-            bbi瀵煎嚭鎬ц兘鏇茬嚎.Name = "bbi瀵煎嚭鎬ц兘鏇茬嚎";
-            // 
-            // bbi涓嬭浇BIM鏂囦欢
-            // 
-            bbi涓嬭浇BIM鏂囦欢.Caption = "BIM鏂囦欢";
-            bbi涓嬭浇BIM鏂囦欢.Id = 3;
-            bbi涓嬭浇BIM鏂囦欢.Name = "bbi涓嬭浇BIM鏂囦欢";
-            // 
-            // bbi瀵煎嚭灞炴�ц〃
-            // 
-            bbi瀵煎嚭灞炴�ц〃.Caption = "瀵煎嚭灞炴�ц〃";
-            bbi瀵煎嚭灞炴�ц〃.Id = 1;
-            bbi瀵煎嚭灞炴�ц〃.Name = "bbi瀵煎嚭灞炴�ц〃";
-            // 
-            // barManager1
-            // 
-            barManager1.DockControls.Add(barDockControlTop);
-            barManager1.DockControls.Add(barDockControlBottom);
-            barManager1.DockControls.Add(barDockControlLeft);
-            barManager1.DockControls.Add(barDockControlRight);
-            barManager1.Form = this;
-            barManager1.Images = imageCollection1;
-            barManager1.Items.AddRange(new BarItem[] { bbi瀵煎嚭瀹夎鍥�, bbi瀵煎嚭灞炴�ц〃, bbi瀵煎嚭鎬ц兘鏇茬嚎, bbi涓嬭浇BIM鏂囦欢, barButtonItemExcelEdit, barButtonItemEdit, barButtonItemOnePoint, barBtnEditProp, barBtnRefreshMatching, barButtonItemPicture });
-            barManager1.MaxItemId = 24;
-            barManager1.RepositoryItems.AddRange(new DevExpress.XtraEditors.Repository.RepositoryItem[] { repositoryItemBreadCrumbEdit1, repositoryItemPageNumberEdit1, repositoryItemTextEdit1 });
-            // 
-            // barDockControlTop
-            // 
-            barDockControlTop.CausesValidation = false;
-            barDockControlTop.Dock = DockStyle.Top;
-            barDockControlTop.Location = new Point(2, 2);
-            barDockControlTop.Manager = barManager1;
-            barDockControlTop.Size = new Size(1274, 0);
-            // 
-            // barDockControlBottom
-            // 
-            barDockControlBottom.CausesValidation = false;
-            barDockControlBottom.Dock = DockStyle.Bottom;
-            barDockControlBottom.Location = new Point(2, 729);
-            barDockControlBottom.Manager = barManager1;
-            barDockControlBottom.Size = new Size(1274, 0);
-            // 
-            // barDockControlLeft
-            // 
-            barDockControlLeft.CausesValidation = false;
-            barDockControlLeft.Dock = DockStyle.Left;
-            barDockControlLeft.Location = new Point(2, 2);
-            barDockControlLeft.Manager = barManager1;
-            barDockControlLeft.Size = new Size(0, 727);
-            // 
-            // barDockControlRight
-            // 
-            barDockControlRight.CausesValidation = false;
-            barDockControlRight.Dock = DockStyle.Right;
-            barDockControlRight.Location = new Point(1276, 2);
-            barDockControlRight.Manager = barManager1;
-            barDockControlRight.Size = new Size(0, 727);
-            // 
-            // imageCollection1
-            // 
-            imageCollection1.ImageStream = (DevExpress.Utils.ImageCollectionStreamer)resources.GetObject("imageCollection1.ImageStream");
-            imageCollection1.Images.SetKeyName(0, "Collect32White.png");
-            imageCollection1.Images.SetKeyName(1, "Collect32WhiteSolid.png");
-            imageCollection1.Images.SetKeyName(2, "Compare32White.png");
-            imageCollection1.Images.SetKeyName(3, "Compare32WhiteSolid.png");
-            imageCollection1.Images.SetKeyName(4, "涓插苟鑱�32White.png");
-            imageCollection1.Images.SetKeyName(5, "涓插苟鑱�32WhiteSolid.png");
-            // 
-            // barButtonItemExcelEdit
-            // 
-            barButtonItemExcelEdit.Caption = "琛ㄦ牸缂栬緫";
-            barButtonItemExcelEdit.Id = 10;
-            barButtonItemExcelEdit.ImageOptions.SvgImage = (DevExpress.Utils.Svg.SvgImage)resources.GetObject("barButtonItemExcelEdit.ImageOptions.SvgImage");
-            barButtonItemExcelEdit.Name = "barButtonItemExcelEdit";
-            barButtonItemExcelEdit.ItemClick += BarButtonItem1_ItemClick;
-            // 
-            // barButtonItemEdit
-            // 
-            barButtonItemEdit.Caption = "鏇茬嚎缂栬緫";
-            barButtonItemEdit.Id = 13;
-            barButtonItemEdit.ImageOptions.SvgImage = (DevExpress.Utils.Svg.SvgImage)resources.GetObject("barButtonItemEdit.ImageOptions.SvgImage");
-            barButtonItemEdit.Name = "barButtonItemEdit";
-            barButtonItemEdit.ItemClick += BarButtonItemEdit_ItemClick;
-            // 
-            // barButtonItemOnePoint
-            // 
-            barButtonItemOnePoint.Caption = "鍗曠偣缂栬緫";
-            barButtonItemOnePoint.Id = 14;
-            barButtonItemOnePoint.ImageOptions.SvgImage = (DevExpress.Utils.Svg.SvgImage)resources.GetObject("barButtonItemOnePoint.ImageOptions.SvgImage");
-            barButtonItemOnePoint.Name = "barButtonItemOnePoint";
-            barButtonItemOnePoint.ItemClick += BarButtonItemOnePoint_ItemClick;
-            // 
-            // barBtnEditProp
-            // 
-            barBtnEditProp.Caption = "娉靛瀷鍙峰睘鎬х紪杈�";
-            barBtnEditProp.Id = 15;
-            barBtnEditProp.ImageOptions.SvgImage = (DevExpress.Utils.Svg.SvgImage)resources.GetObject("barBtnEditProp.ImageOptions.SvgImage");
-            barBtnEditProp.Name = "barBtnEditProp";
-            barBtnEditProp.ItemClick += BarBtnEditProp_ItemClick;
-            // 
-            // barBtnRefreshMatching
-            // 
-            barBtnRefreshMatching.Caption = "鍨嬪彿閲嶆柊鍖归厤";
-            barBtnRefreshMatching.Id = 22;
-            barBtnRefreshMatching.ImageOptions.SvgImage = (DevExpress.Utils.Svg.SvgImage)resources.GetObject("barBtnRefreshMatching.ImageOptions.SvgImage");
-            barBtnRefreshMatching.Name = "barBtnRefreshMatching";
-            barBtnRefreshMatching.ItemClick += BarBtnRefreshMatching_ItemClick;
-            // 
-            // barButtonItemPicture
-            // 
-            barButtonItemPicture.Caption = "鍥剧墖缂栬緫";
-            barButtonItemPicture.Id = 23;
-            barButtonItemPicture.ImageOptions.SvgImage = (DevExpress.Utils.Svg.SvgImage)resources.GetObject("barButtonItemPicture.ImageOptions.SvgImage");
-            barButtonItemPicture.Name = "barButtonItemPicture";
-            barButtonItemPicture.ItemClick += BarButtonItemPicture_ItemClick;
-            // 
-            // repositoryItemBreadCrumbEdit1
-            // 
-            repositoryItemBreadCrumbEdit1.AutoHeight = false;
-            repositoryItemBreadCrumbEdit1.Buttons.AddRange(new EditorButton[] { new EditorButton(ButtonPredefines.Combo) });
-            repositoryItemBreadCrumbEdit1.Name = "repositoryItemBreadCrumbEdit1";
-            // 
-            // repositoryItemPageNumberEdit1
-            // 
-            repositoryItemPageNumberEdit1.AutoHeight = false;
-            repositoryItemPageNumberEdit1.Mask.EditMask = "########;";
-            repositoryItemPageNumberEdit1.Name = "repositoryItemPageNumberEdit1";
-            // 
-            // repositoryItemTextEdit1
-            // 
-            repositoryItemTextEdit1.AutoHeight = false;
-            repositoryItemTextEdit1.Name = "repositoryItemTextEdit1";
-            // 
-            // tileNavPane1
-            // 
-            tileNavPane1.AllowGlyphSkinning = true;
-            tileNavPane1.ButtonPadding = new Padding(6);
-            // 
-            // tileNavCategory2
-            // 
-            tileNavPane1.DefaultCategory.Name = "tileNavCategory2";
-            // 
-            // 
-            // 
-            tileNavPane1.DefaultCategory.Tile.DropDownOptions.BeakColor = Color.Empty;
-            tileNavPane1.Location = new Point(0, 0);
-            tileNavPane1.Name = "tileNavPane1";
-            tileNavPane1.Size = new Size(500, 40);
-            tileNavPane1.TabIndex = 0;
-            // 
-            // navButton1
-            // 
-            navButton1.Alignment = DevExpress.XtraBars.Navigation.NavButtonAlignment.Left;
-            navButton1.Appearance.BackColor = Color.Transparent;
-            navButton1.Appearance.ForeColor = Color.White;
-            navButton1.Appearance.Options.UseBackColor = true;
-            navButton1.Appearance.Options.UseForeColor = true;
-            navButton1.AppearanceHovered.BackColor = Color.Transparent;
-            navButton1.AppearanceHovered.ForeColor = Color.White;
-            navButton1.AppearanceHovered.Options.UseBackColor = true;
-            navButton1.AppearanceHovered.Options.UseForeColor = true;
-            navButton1.AppearanceSelected.BackColor = Color.Transparent;
-            navButton1.AppearanceSelected.ForeColor = Color.White;
-            navButton1.AppearanceSelected.Options.UseBackColor = true;
-            navButton1.AppearanceSelected.Options.UseForeColor = true;
-            navButton1.Caption = "娉典俊鎭�";
-            navButton1.Name = "navButton1";
-            // 
-            // navButton2
-            // 
-            navButton2.Alignment = DevExpress.XtraBars.Navigation.NavButtonAlignment.Right;
-            navButton2.Caption = "鎵嬫満椤甸潰";
-            navButton2.Name = "navButton2";
-            // 
-            // navButton3
-            // 
-            navButton3.Alignment = DevExpress.XtraBars.Navigation.NavButtonAlignment.Right;
-            navButton3.Caption = "瀵垮懡鎴愭湰璁$畻";
-            navButton3.Name = "navButton3";
-            // 
-            // navButton4
-            // 
-            navButton4.Alignment = DevExpress.XtraBars.Navigation.NavButtonAlignment.Right;
-            navButton4.Caption = "閫夊瀷鎶ュ憡";
-            navButton4.Name = "navButton4";
-            // 
-            // navButton5
-            // 
-            navButton5.Alignment = DevExpress.XtraBars.Navigation.NavButtonAlignment.Right;
-            navButton5.Caption = "瀵煎嚭";
-            navButton5.Name = "navButton5";
-            // 
-            // navButton6
-            // 
-            navButton6.Alignment = DevExpress.XtraBars.Navigation.NavButtonAlignment.Right;
-            navButton6.Appearance.ForeColor = Color.White;
-            navButton6.Appearance.Options.UseForeColor = true;
-            navButton6.AppearanceHovered.BackColor = Color.White;
-            navButton6.AppearanceHovered.ForeColor = Color.FromArgb(0, 122, 204);
-            navButton6.AppearanceHovered.Options.UseBackColor = true;
-            navButton6.AppearanceHovered.Options.UseForeColor = true;
-            navButton6.AppearanceSelected.BackColor = Color.White;
-            navButton6.AppearanceSelected.ForeColor = Color.FromArgb(0, 122, 204);
-            navButton6.AppearanceSelected.Options.UseBackColor = true;
-            navButton6.AppearanceSelected.Options.UseForeColor = true;
-            navButton6.Caption = null;
-            navButton6.Name = "navButton6";
-            toolTipItem5.Text = "鏈�灏忓寲";
-            superToolTip5.Items.Add(toolTipItem5);
-            navButton6.SuperTip = superToolTip5;
-            // 
-            // panelMain
-            // 
-            panelMain.Controls.Add(pumpFullInfoCtrl1);
-            panelMain.Dock = DockStyle.Fill;
-            panelMain.Location = new Point(2, 42);
-            panelMain.Name = "panelMain";
-            panelMain.Size = new Size(1274, 659);
-            panelMain.TabIndex = 21;
-            // 
-            // pumpFullInfoCtrl1
-            // 
-            pumpFullInfoCtrl1.Dock = DockStyle.Fill;
-            pumpFullInfoCtrl1.Location = new Point(0, 0);
-            pumpFullInfoCtrl1.Name = "pumpFullInfoCtrl1";
-            pumpFullInfoCtrl1.PageGuid = null;
-            pageTitle1.AllowClose = true;
-            pageTitle1.Caption = "姘存车淇℃伅";
-            pageTitle1.HeaderImage = null;
-            pageTitle1.HeaderSvgImage = (DevExpress.Utils.Svg.SvgImage)resources.GetObject("pageTitle1.HeaderSvgImage");
-            pageTitle1.SvgImageSize = new Size(0, 0);
-            pumpFullInfoCtrl1.PageTitle = pageTitle1;
-            pumpFullInfoCtrl1.Size = new Size(1274, 659);
-            pumpFullInfoCtrl1.TabIndex = 0;
-            // 
-            // tileNavPane3
-            // 
-            tileNavPane3.AllowGlyphSkinning = true;
-            tileNavPane3.ButtonPadding = new Padding(6, 10, 6, 10);
-            tileNavPane3.Buttons.Add(bsiWindowInfo);
-            tileNavPane3.Buttons.Add(bsiSplit1);
-            tileNavPane3.Buttons.Add(bsiPromptInfo);
-            tileNavPane3.Buttons.Add(navButton璇环);
-            tileNavPane3.Buttons.Add(bbi娣诲姞鏀惰棌);
-            tileNavPane3.Buttons.Add(bbi娣诲姞姣旇緝);
-            tileNavPane3.Buttons.Add(bbi娣诲姞涓插苟鑱�);
-            // 
-            // tileNavCategory3
-            // 
-            tileNavPane3.DefaultCategory.Name = "tileNavCategory3";
-            // 
-            // 
-            // 
-            tileNavPane3.DefaultCategory.Tile.DropDownOptions.BeakColor = Color.Empty;
-            tileNavPane3.Dock = DockStyle.Bottom;
-            tileNavPane3.Location = new Point(2, 701);
-            tileNavPane3.Name = "tileNavPane3";
-            tileNavPane3.Size = new Size(1274, 28);
-            tileNavPane3.TabIndex = 9;
-            tileNavPane3.Text = "tileNavPane1";
-            // 
-            // bsiWindowInfo
-            // 
-            bsiWindowInfo.Alignment = DevExpress.XtraBars.Navigation.NavButtonAlignment.Left;
-            bsiWindowInfo.Appearance.BackColor = Color.Transparent;
-            bsiWindowInfo.Appearance.Font = new Font("Tahoma", 8F, FontStyle.Regular, GraphicsUnit.Point);
-            bsiWindowInfo.Appearance.ForeColor = Color.White;
-            bsiWindowInfo.Appearance.Options.UseBackColor = true;
-            bsiWindowInfo.Appearance.Options.UseFont = true;
-            bsiWindowInfo.Appearance.Options.UseForeColor = true;
-            bsiWindowInfo.AppearanceHovered.BackColor = Color.Transparent;
-            bsiWindowInfo.AppearanceHovered.Font = new Font("Tahoma", 8F, FontStyle.Regular, GraphicsUnit.Point);
-            bsiWindowInfo.AppearanceHovered.ForeColor = Color.White;
-            bsiWindowInfo.AppearanceHovered.Options.UseBackColor = true;
-            bsiWindowInfo.AppearanceHovered.Options.UseFont = true;
-            bsiWindowInfo.AppearanceHovered.Options.UseForeColor = true;
-            bsiWindowInfo.AppearanceSelected.BackColor = Color.Transparent;
-            bsiWindowInfo.AppearanceSelected.Font = new Font("Tahoma", 8F, FontStyle.Regular, GraphicsUnit.Point);
-            bsiWindowInfo.AppearanceSelected.ForeColor = Color.White;
-            bsiWindowInfo.AppearanceSelected.Options.UseBackColor = true;
-            bsiWindowInfo.AppearanceSelected.Options.UseFont = true;
-            bsiWindowInfo.AppearanceSelected.Options.UseForeColor = true;
-            bsiWindowInfo.Caption = "浜у搧淇℃伅";
-            bsiWindowInfo.Name = "bsiWindowInfo";
-            bsiWindowInfo.ElementClick += bsiWindowInfo_ElementClick;
-            // 
-            // bsiSplit1
-            // 
-            bsiSplit1.Caption = "|";
-            bsiSplit1.Name = "bsiSplit1";
-            // 
-            // bsiPromptInfo
-            // 
-            bsiPromptInfo.Alignment = DevExpress.XtraBars.Navigation.NavButtonAlignment.Left;
-            bsiPromptInfo.Appearance.Font = new Font("Tahoma", 8F, FontStyle.Regular, GraphicsUnit.Point);
-            bsiPromptInfo.Appearance.Options.UseFont = true;
-            bsiPromptInfo.AppearanceHovered.Font = new Font("Tahoma", 8F, FontStyle.Regular, GraphicsUnit.Point);
-            bsiPromptInfo.AppearanceHovered.Options.UseFont = true;
-            bsiPromptInfo.AppearanceSelected.Font = new Font("Tahoma", 8F, FontStyle.Regular, GraphicsUnit.Point);
-            bsiPromptInfo.AppearanceSelected.Options.UseFont = true;
-            bsiPromptInfo.Caption = "鎿嶄綔鎻愮ず";
-            bsiPromptInfo.Name = "bsiPromptInfo";
-            // 
-            // navButton璇环
-            // 
-            navButton璇环.Alignment = DevExpress.XtraBars.Navigation.NavButtonAlignment.Right;
-            navButton璇环.Appearance.Font = new Font("Tahoma", 8F, FontStyle.Regular, GraphicsUnit.Point);
-            navButton璇环.Appearance.Options.UseFont = true;
-            navButton璇环.AppearanceHovered.Font = new Font("Tahoma", 8F, FontStyle.Regular, GraphicsUnit.Point);
-            navButton璇环.AppearanceHovered.Options.UseFont = true;
-            navButton璇环.AppearanceSelected.Font = new Font("Tahoma", 8F, FontStyle.Regular, GraphicsUnit.Point);
-            navButton璇环.AppearanceSelected.Options.UseFont = true;
-            navButton璇环.Caption = "璇环";
-            navButton璇环.Name = "navButton璇环";
-            navButton璇环.Visible = false;
-            navButton璇环.ElementClick += navButton璇环_ElementClick;
-            // 
-            // bbi娣诲姞鏀惰棌
-            // 
-            bbi娣诲姞鏀惰棌.Alignment = DevExpress.XtraBars.Navigation.NavButtonAlignment.Right;
-            bbi娣诲姞鏀惰棌.Appearance.Font = new Font("Tahoma", 8F, FontStyle.Regular, GraphicsUnit.Point);
-            bbi娣诲姞鏀惰棌.Appearance.Options.UseFont = true;
-            bbi娣诲姞鏀惰棌.AppearanceHovered.Font = new Font("Tahoma", 8F, FontStyle.Regular, GraphicsUnit.Point);
-            bbi娣诲姞鏀惰棌.AppearanceHovered.Options.UseFont = true;
-            bbi娣诲姞鏀惰棌.AppearanceSelected.Font = new Font("Tahoma", 8F, FontStyle.Regular, GraphicsUnit.Point);
-            bbi娣诲姞鏀惰棌.AppearanceSelected.Options.UseFont = true;
-            bbi娣诲姞鏀惰棌.Caption = "娣诲姞鏀惰棌";
-            bbi娣诲姞鏀惰棌.Name = "bbi娣诲姞鏀惰棌";
-            bbi娣诲姞鏀惰棌.Padding = new Padding(5, 0, 10, 0);
-            bbi娣诲姞鏀惰棌.Visible = false;
-            // 
-            // bbi娣诲姞姣旇緝
-            // 
-            bbi娣诲姞姣旇緝.Alignment = DevExpress.XtraBars.Navigation.NavButtonAlignment.Right;
-            bbi娣诲姞姣旇緝.Appearance.Font = new Font("Tahoma", 8F, FontStyle.Regular, GraphicsUnit.Point);
-            bbi娣诲姞姣旇緝.Appearance.Options.UseFont = true;
-            bbi娣诲姞姣旇緝.AppearanceHovered.Font = new Font("Tahoma", 8F, FontStyle.Regular, GraphicsUnit.Point);
-            bbi娣诲姞姣旇緝.AppearanceHovered.Options.UseFont = true;
-            bbi娣诲姞姣旇緝.AppearanceSelected.Font = new Font("Tahoma", 8F, FontStyle.Regular, GraphicsUnit.Point);
-            bbi娣诲姞姣旇緝.AppearanceSelected.Options.UseFont = true;
-            bbi娣诲姞姣旇緝.Caption = "娣诲姞姣旇緝";
-            bbi娣诲姞姣旇緝.Name = "bbi娣诲姞姣旇緝";
-            bbi娣诲姞姣旇緝.Padding = new Padding(10, 0, 10, 0);
-            bbi娣诲姞姣旇緝.Visible = false;
-            // 
-            // bbi娣诲姞涓插苟鑱�
-            // 
-            bbi娣诲姞涓插苟鑱�.Alignment = DevExpress.XtraBars.Navigation.NavButtonAlignment.Right;
-            bbi娣诲姞涓插苟鑱�.Appearance.Font = new Font("Tahoma", 8F, FontStyle.Regular, GraphicsUnit.Point);
-            bbi娣诲姞涓插苟鑱�.Appearance.Options.UseFont = true;
-            bbi娣诲姞涓插苟鑱�.AppearanceHovered.Font = new Font("Tahoma", 8F, FontStyle.Regular, GraphicsUnit.Point);
-            bbi娣诲姞涓插苟鑱�.AppearanceHovered.Options.UseFont = true;
-            bbi娣诲姞涓插苟鑱�.AppearanceSelected.Font = new Font("Tahoma", 8F, FontStyle.Regular, GraphicsUnit.Point);
-            bbi娣诲姞涓插苟鑱�.AppearanceSelected.Options.UseFont = true;
-            bbi娣诲姞涓插苟鑱�.Caption = "娣诲姞涓插苟鑱�";
-            bbi娣诲姞涓插苟鑱�.Name = "bbi娣诲姞涓插苟鑱�";
-            bbi娣诲姞涓插苟鑱�.Padding = new Padding(10, 0, 10, 0);
-            bbi娣诲姞涓插苟鑱�.Visible = false;
-            // 
-            // barManager2
-            // 
-            barManager2.DockControls.Add(barDockControl1);
-            barManager2.DockControls.Add(barDockControl2);
-            barManager2.DockControls.Add(barDockControl3);
-            barManager2.DockControls.Add(barDockControl4);
-            barManager2.Form = this;
-            barManager2.Images = imageCollection1;
-            barManager2.Items.AddRange(new BarItem[] { bbi澶嶅埗娉靛瀷鍙锋枃瀛� });
-            barManager2.MaxItemId = 11;
-            // 
-            // barDockControl1
-            // 
-            barDockControl1.CausesValidation = false;
-            barDockControl1.Dock = DockStyle.Top;
-            barDockControl1.Location = new Point(2, 2);
-            barDockControl1.Manager = barManager2;
-            barDockControl1.Size = new Size(1274, 0);
-            // 
-            // barDockControl2
-            // 
-            barDockControl2.CausesValidation = false;
-            barDockControl2.Dock = DockStyle.Bottom;
-            barDockControl2.Location = new Point(2, 729);
-            barDockControl2.Manager = barManager2;
-            barDockControl2.Size = new Size(1274, 0);
-            // 
-            // barDockControl3
-            // 
-            barDockControl3.CausesValidation = false;
-            barDockControl3.Dock = DockStyle.Left;
-            barDockControl3.Location = new Point(2, 2);
-            barDockControl3.Manager = barManager2;
-            barDockControl3.Size = new Size(0, 727);
-            // 
-            // barDockControl4
-            // 
-            barDockControl4.CausesValidation = false;
-            barDockControl4.Dock = DockStyle.Right;
-            barDockControl4.Location = new Point(1276, 2);
-            barDockControl4.Manager = barManager2;
-            barDockControl4.Size = new Size(0, 727);
-            // 
-            // bbi澶嶅埗娉靛瀷鍙锋枃瀛�
-            // 
-            bbi澶嶅埗娉靛瀷鍙锋枃瀛�.Caption = "澶嶅埗娉靛瀷鍙锋枃瀛�";
-            bbi澶嶅埗娉靛瀷鍙锋枃瀛�.Id = 10;
-            bbi澶嶅埗娉靛瀷鍙锋枃瀛�.ImageOptions.Image = (Image)resources.GetObject("bbi澶嶅埗娉靛瀷鍙锋枃瀛�.ImageOptions.Image");
-            bbi澶嶅埗娉靛瀷鍙锋枃瀛�.ImageOptions.LargeImage = (Image)resources.GetObject("bbi澶嶅埗娉靛瀷鍙锋枃瀛�.ImageOptions.LargeImage");
-            bbi澶嶅埗娉靛瀷鍙锋枃瀛�.Name = "bbi澶嶅埗娉靛瀷鍙锋枃瀛�";
-            bbi澶嶅埗娉靛瀷鍙锋枃瀛�.ItemClick += bbi澶嶅埗娉靛瀷鍙锋枃瀛梍ItemClick;
-            // 
-            // popupMenu2
-            // 
-            popupMenu2.LinksPersistInfo.AddRange(new LinkPersistInfo[] { new LinkPersistInfo(bbi澶嶅埗娉靛瀷鍙锋枃瀛�) });
-            popupMenu2.Manager = barManager2;
-            popupMenu2.Name = "popupMenu2";
-            // 
-            // popupMenuEdit
-            // 
-            popupMenuEdit.LinksPersistInfo.AddRange(new LinkPersistInfo[] { new LinkPersistInfo(barButtonItemExcelEdit, true), new LinkPersistInfo(barButtonItemEdit), new LinkPersistInfo(barButtonItemOnePoint), new LinkPersistInfo(barButtonItemPicture), new LinkPersistInfo(barBtnEditProp, true), new LinkPersistInfo(barBtnRefreshMatching) });
-            popupMenuEdit.Manager = barManager1;
-            popupMenuEdit.Name = "popupMenuEdit";
-            // 
-            // PumpFullInfoViewDlg
-            // 
-            AutoScaleDimensions = new SizeF(7F, 14F);
-            AutoScaleMode = AutoScaleMode.Font;
-            ClientSize = new Size(1278, 731);
-            Controls.Add(panelMain);
-            Controls.Add(tileNavPane3);
-            Controls.Add(tileNavPaneTop);
-            Controls.Add(barDockControlLeft);
-            Controls.Add(barDockControlRight);
-            Controls.Add(barDockControlBottom);
-            Controls.Add(barDockControlTop);
-            Controls.Add(barDockControl3);
-            Controls.Add(barDockControl4);
-            Controls.Add(barDockControl2);
-            Controls.Add(barDockControl1);
-            FormBorderEffect = FormBorderEffect.Shadow;
-            FormBorderStyle = FormBorderStyle.None;
-            IconOptions.ShowIcon = false;
-            Name = "PumpFullInfoViewDlg";
-            Padding = new Padding(2);
-            StartPosition = FormStartPosition.CenterScreen;
-            Text = "閫夊瀷姝ラ";
-            ((ISupportInitialize)tileNavPaneTop).EndInit();
-            ((ISupportInitialize)popupMenu1).EndInit();
-            ((ISupportInitialize)barManager1).EndInit();
-            ((ISupportInitialize)imageCollection1).EndInit();
-            ((ISupportInitialize)repositoryItemBreadCrumbEdit1).EndInit();
-            ((ISupportInitialize)repositoryItemPageNumberEdit1).EndInit();
-            ((ISupportInitialize)repositoryItemTextEdit1).EndInit();
-            ((ISupportInitialize)tileNavPane1).EndInit();
-            panelMain.ResumeLayout(false);
-            ((ISupportInitialize)tileNavPane3).EndInit();
-            ((ISupportInitialize)barManager2).EndInit();
-            ((ISupportInitialize)popupMenu2).EndInit();
-            ((ISupportInitialize)popupMenuEdit).EndInit();
-            ResumeLayout(false);
-            PerformLayout();
-        }
-
-
-        #endregion
-
-        private DevExpress.XtraBars.Navigation.TileNavPane tileNavPaneTop;
-        private DevExpress.XtraBars.Navigation.NavButton navBtn瀵煎嚭;
-        private DevExpress.XtraBars.Navigation.NavButton navBtnMin;
-        private DevExpress.XtraBars.Navigation.NavButton navBtnbutton9;
-        private DevExpress.XtraBars.Navigation.NavButton navBtnbutton10;
-         private DevExpress.XtraBars.Navigation.NavButton navBtn鎵嬫満椤甸潰;
-        private DevExpress.XtraBars.Navigation.NavButton navBtn瀵垮懡鎴愭湰璁$畻;
-        private DevExpress.XtraBars.Navigation.NavButton navBtnTitle;
-        private DevExpress.XtraBars.PopupMenu popupMenu1;
-        private DevExpress.XtraBars.BarButtonItem bbi瀵煎嚭瀹夎鍥�;
-        private DevExpress.XtraBars.BarManager barManager1;
-        private DevExpress.XtraBars.BarDockControl barDockControlTop;
-        private DevExpress.XtraBars.BarDockControl barDockControlBottom;
-        private DevExpress.XtraBars.BarDockControl barDockControlLeft;
-        private DevExpress.XtraBars.BarDockControl barDockControlRight;
-        private DevExpress.XtraBars.BarButtonItem bbi瀵煎嚭灞炴�ц〃;
-        private DevExpress.XtraBars.BarButtonItem bbi瀵煎嚭鎬ц兘鏇茬嚎;
-        private DevExpress.XtraBars.BarButtonItem bbi涓嬭浇BIM鏂囦欢;
-        private DevExpress.Utils.ImageCollection imageCollection1;
-        private DevExpress.XtraBars.Navigation.TileNavPane tileNavPane1;
-        private DevExpress.XtraBars.Navigation.NavButton navButton1;
-        private DevExpress.XtraBars.Navigation.NavButton navButton2;
-        private DevExpress.XtraBars.Navigation.NavButton navButton3;
-        private DevExpress.XtraBars.Navigation.NavButton navButton4;
-        private DevExpress.XtraBars.Navigation.NavButton navButton5;
-        private DevExpress.XtraBars.Navigation.NavButton navButton6;
-        private System.Windows.Forms.Panel panelMain;
-        private DevExpress.XtraBars.Navigation.TileNavPane tileNavPane3;
-        private DevExpress.XtraBars.Navigation.NavButton bsiWindowInfo;
-        private DevExpress.XtraBars.Navigation.NavButton bsiSplit1;
-        private DevExpress.XtraBars.Navigation.NavButton bsiPromptInfo;
-        private DevExpress.XtraBars.Navigation.NavButton bbi娣诲姞鏀惰棌;
-        private DevExpress.XtraBars.Navigation.NavButton bbi娣诲姞姣旇緝;
-        private DevExpress.XtraBars.Navigation.NavButton bbi娣诲姞涓插苟鑱�;
-        private DevExpress.XtraBars.Navigation.NavButton navButton璇环;
-        private DevExpress.XtraBars.BarDockControl barDockControl1;
-        private DevExpress.XtraBars.BarDockControl barDockControl2;
-        private DevExpress.XtraBars.BarDockControl barDockControl3;
-        private DevExpress.XtraBars.BarDockControl barDockControl4;
-        private DevExpress.XtraBars.BarManager barManager2;
-        private DevExpress.XtraBars.BarButtonItem bbi澶嶅埗娉靛瀷鍙锋枃瀛�;
-        private DevExpress.XtraBars.PopupMenu popupMenu2;
-        private DevExpress.XtraBars.Navigation.NavButton navButton8;
-        private PumpFullInfoCtrl pumpFullInfoCtrl1;
-        private DevExpress.XtraBars.Navigation.NavButton navBtnDock;
-        private DevExpress.XtraBars.Navigation.NavButton navBtnEdit;
-        private DevExpress.XtraBars.BarButtonItem barButtonItemExcelEdit;
-        private DevExpress.XtraBars.PopupMenu popupMenuEdit;
-        private DevExpress.XtraBars.BarButtonItem barButtonItemEdit;
-        private DevExpress.XtraBars.BarButtonItem barButtonItemOnePoint;
-        private BarButtonItem barBtnEditProp;
-        private DevExpress.XtraEditors.Repository.RepositoryItemBreadCrumbEdit repositoryItemBreadCrumbEdit1;
-        private DevExpress.XtraEditors.Repository.RepositoryItemPageNumberEdit repositoryItemPageNumberEdit1;
-        private DevExpress.XtraEditors.Repository.RepositoryItemTextEdit repositoryItemTextEdit1;
-        private BarButtonItem barBtnRefreshMatching;
-        private BarButtonItem barButtonItemPicture;
-    }
-}
\ No newline at end of file
diff --git a/WinFrmUI/HStation.WinFrmUI.Xhs.Core/04-pump/PumpFullInfoViewDlg.cs b/WinFrmUI/HStation.WinFrmUI.Xhs.Core/04-pump/PumpFullInfoViewDlg.cs
deleted file mode 100644
index e89d24f..0000000
--- a/WinFrmUI/HStation.WinFrmUI.Xhs.Core/04-pump/PumpFullInfoViewDlg.cs
+++ /dev/null
@@ -1,504 +0,0 @@
-锘縰sing DevExpress.XtraBars;
-using HStation.WinFrmUI.PhartRelation;
-
-namespace HStation.WinFrmUI
-{
-    public partial class PumpFullInfoViewDlg : XtraForm
-    {
-        #region 鏋勯��
-
-        public PumpFullInfoViewDlg()
-        {
-            InitializeComponent();
-            this._isMaxWindowStatus = true;//鏈�澶у寲绐椾綋瑕嗙洊浠诲姟鏍�
-            this.FormClosing += new System.Windows.Forms.FormClosingEventHandler(this.OnFrmClosing);
-            this.Load += new System.EventHandler(this.OnFrmLoad);
-            this.Shown += new System.EventHandler(this.OnFrmShown);
-            this.bbi涓嬭浇BIM鏂囦欢.Visibility = BarItemVisibility.Never;
-            this.bsiPromptInfo.Caption = "";
-            this.bsiPromptInfo.Caption = "";
-        }
-
-        private Vmo.XhsPumpMainPhartMappingExtensions _xhs_phart_diagram_ex_std_dto = null;
-        private readonly BLL.XhsPumpMainPhartMappingExtensions _bll_ex = new();
-
-        private bool _isMaxWindowStatus = true;//鏈�澶у寲绐椾綋瑕嗙洊浠诲姟鏍�
-        private PumpFullInfoCtrl thePumpCtrl = null;
-
-        private void OnFrmLoad(object sender, EventArgs e)
-        {
-            //鎵嬫満椤甸潰
-            navBtn鎵嬫満椤甸潰.Visible = false;
-            LocationDialog();
-            SetNavTileControlMoveAble();
-            this.SetMaxWindowStatus();
-        }
-
-        private PumpMatchingViewModel _pumpMatchingView;
-
-        public event Action<PumpMatchingViewModel> ReloadDataEvent;
-
-        private long _PumpId;
-
-        public async void SetBindindData(PumpMatchingViewModel pumpMatchingViewModel)
-        {
-            _pumpMatchingView = pumpMatchingViewModel;
-            this.navBtnTitle.Caption = $"娉靛瀷鍙�:{pumpMatchingViewModel.ModelType}";
-            pumpFullInfoCtrl1.SetBindingData(pumpMatchingViewModel);
-            if (long.TryParse(pumpMatchingViewModel.DbId, out long pumpId))
-            {
-                _PumpId = pumpId;
-            }
-            var list = await _bll_ex.GetByPumpMainID(_PumpId);
-            if (list != null && list.Any())
-            {
-                //list= list.OrderBy(x => x.Importance).ToList();
-                /*      foreach (var item in list)
-                      {
-                          var vm = new CurrentViewModel(item);
-                          _allBindingList.Add(vm);
-                      }*/
-                _xhs_phart_diagram_ex_std_dto = list.First();
-            }
-        }
-
-        private void OnFrmShown(object sender, EventArgs e)
-        {
-        }
-
-        private void OnFrmClosing(object sender, FormClosingEventArgs e)
-        {
-        }
-
-        private void LocationDialog()
-        {
-        }
-
-        #endregion 鏋勯��
-
-        #region 鎸夐挳鏄剧ず璁剧疆
-
-        //绐椾綋灏哄:娉ㄦ剰榛樿鏄笉鏄剧ず鐨�
-        public void IsDispBtn绐椾綋灏哄(bool isDisp)
-        {
-            navBtnMin.Visible = navBtnbutton9.Visible = navBtnbutton10.Visible = isDisp;
-            //璁剧疆tileNav鍙Щ鍔�
-            if (isDisp == true)
-                SetNavTileControlMoveAble();
-        }
-
-        //璁剧疆鐣岄潰鍙Щ鍔�
-        protected void SetNavTileControlMoveAble()
-        {
-            this.tileNavPaneTop.OptionsPrimaryDropDown.CloseOnOuterClick = DevExpress.Utils.DefaultBoolean.False;
-            this.tileNavPaneTop.MouseDown += new System.Windows.Forms.MouseEventHandler(this.tileNavPane_MouseDown);
-            this.tileNavPaneTop.MouseMove += new System.Windows.Forms.MouseEventHandler(this.tileNavPane_MouseMove);
-            this.tileNavPaneTop.MouseUp += new System.Windows.Forms.MouseEventHandler(this.tileNavPane_MouseUp);
-            this.tileNavPaneTop.DoubleClick += new System.EventHandler(this.tileNavPane_DoubleClick);
-        }
-
-        #endregion 鎸夐挳鏄剧ず璁剧疆
-
-        private void navBtn瀵煎嚭_ElementClick(object sender, DevExpress.XtraBars.Navigation.NavElementEventArgs e)
-        {
-            this.popupMenu1.ShowPopup(MousePosition);
-        }
-
-        #region 鏈�澶ф渶灏忔寜閽搷浣�
-
-        private void tileNavPane1_MouseDown(object sender, MouseEventArgs e)
-        {
-            if (e.Button == System.Windows.Forms.MouseButtons.Right)
-            {
-            }
-        }
-
-        private void navBtnClose_ElementClick(object sender, DevExpress.XtraBars.Navigation.NavElementEventArgs e)
-        {
-            this.Close();
-        }
-
-        private void navBtnSize_ElementClick(object sender, DevExpress.XtraBars.Navigation.NavElementEventArgs e)
-        {
-            if (_isMaxWindowStatus)
-            {
-                this.SetNormalWindowStatus();
-            }
-            else
-            {
-                this.SetMaxWindowStatus();
-            }
-        }
-
-        private void navBtnMin_ElementClick(object sender, DevExpress.XtraBars.Navigation.NavElementEventArgs e)
-        {
-            this.WindowState = FormWindowState.Minimized;
-        }
-
-        //璁剧疆绐椾綋鏈�澶у寲,鍏ㄥ睆
-        private void SetMaxWindowStatus()
-        {
-            this.WindowState = FormWindowState.Maximized;
-            this.navBtnbutton9.Glyph = HStation.WinFrmUI.Xhs.Core.Properties.Resources.SizeNormal32;
-            (this.navBtnbutton9.SuperTip.Items[0] as DevExpress.Utils.ToolTipItem).Text = "鍚戜笅杩樺師";
-            this._isMaxWindowStatus = true;//鏈�澶у寲绐椾綋鐘舵��
-            this.Location = new Point(0, 0);
-            //Rectangle rect = System.Windows.Forms.SystemInformation.VirtualScreen;
-            //this.Size = new System.Drawing.Size(rect.Width, rect.Height - 35);
-            this.Size = new System.Drawing.Size(System.Windows.Forms.Screen.PrimaryScreen.WorkingArea.Width, System.Windows.Forms.Screen.PrimaryScreen.WorkingArea.Height);
-        }
-
-        //璁剧疆绐椾綋(灏忕獥)
-        private void SetNormalWindowStatus()
-        {
-            this.WindowState = FormWindowState.Normal;
-            this.navBtnbutton9.Glyph = HStation.WinFrmUI.Xhs.Core.Properties.Resources.Square32;
-            (this.navBtnbutton9.SuperTip.Items[0] as DevExpress.Utils.ToolTipItem).Text = "鏈�澶у寲";
-            this._isMaxWindowStatus = false;
-            var sq_width = System.Windows.Forms.Screen.PrimaryScreen.WorkingArea.Width / 8;
-            var sq_height = System.Windows.Forms.Screen.PrimaryScreen.WorkingArea.Height / 8;
-            this.Location = new Point(sq_width, sq_height);
-            this.Size = new System.Drawing.Size(sq_width * 6, sq_height * 6);
-            //this.Location = new Point(0, 0);
-            //this.Size = new System.Drawing.Size(900,600);//rect.Width/2, rect.Height/2);
-        }
-
-        #endregion 鏈�澶ф渶灏忔寜閽搷浣�
-
-        #region 榧犳爣鎿嶄綔
-
-        private static Point downPosition;   //璁板綍榧犳爣鎸変笅鏃剁殑鍧愭爣
-        private bool isMouseDown = false;                   //鍒ゆ柇榧犳爣鏄姸鎬� True:鎸変笅 False:鎶捣
-
-        private void tileNavPane_MouseDown(object sender, MouseEventArgs e)
-        {
-            if (this._isMaxWindowStatus)
-                return;
-            downPosition = new Point(e.X, e.Y);
-            isMouseDown = true;
-        }
-
-        private void tileNavPane_MouseMove(object sender, MouseEventArgs e)
-        {
-            if (isMouseDown && e.Button == System.Windows.Forms.MouseButtons.Left)
-            {
-                if (this._isMaxWindowStatus)
-                    return;   //姝ゅ杩橀渶瑕佹洿澶氱殑鑰冭檻,杩欎竴鍙ユ槸涓轰簡褰撶獥浣撴渶澶у寲鏃舵嫋鎷芥爣棰樻爮鍙互鍒囨崲鍒癗ormal鐘舵��,浣嗘槸鏁堟灉涓嶆槸寰堢悊鎯�
-                Point currentPosition = Control.MousePosition;
-                currentPosition.Offset(-downPosition.X, -downPosition.Y);
-                this.Location = currentPosition;
-            }
-        }
-
-        private void tileNavPane_MouseUp(object sender, MouseEventArgs e)
-        {
-            isMouseDown = false;
-        }
-
-        private void tileNavPane_DoubleClick(object sender, EventArgs e)
-        {
-            if (_isMaxWindowStatus)
-            {
-                this.SetNormalWindowStatus();
-            }
-            else
-            {
-                this.SetMaxWindowStatus();
-            }
-        }
-
-        #endregion 榧犳爣鎿嶄綔
-
-        #region 鍙嫋鍔ㄧ缉鏀�
-
-        private const int WM_NCHITTEST = 0x0084;
-        private const int HTLEFT = 10;    //宸﹁竟鐣�
-        private const int HTRIGHT = 11;   //鍙宠竟鐣�
-        private const int HTTOP = 12; //涓婅竟鐣�
-        private const int HTTOPLEFT = 13; //宸︿笂瑙�
-        private const int HTTOPRIGHT = 14;    //鍙充笂瑙�
-        private const int HTBOTTOM = 15;  //涓嬭竟鐣�
-        private const int HTBOTTOMLEFT = 0x10;    //宸︿笅瑙�
-        private const int HTBOTTOMRIGHT = 17; //鍙充笅瑙�
-
-        protected override void WndProc(ref System.Windows.Forms.Message m)
-        {
-            base.WndProc(ref m);
-            switch (m.Msg)
-            {
-                case WM_NCHITTEST:
-                    {
-                        Point vPoint = new Point((int)m.LParam & 0xFFFF, (int)m.LParam >> 16 & 0xFFFF);
-                        vPoint = PointToClient(vPoint);
-                        //鍒ゆ柇锛氫粎褰撳綋鍓嶇獥浣撶姸鎬佷笉鏄渶澶у寲鏃讹紝鐩稿叧榧犳爣浜嬩欢鐢熸晥
-                        if (!this._isMaxWindowStatus)
-                        {
-                            if (vPoint.X < 10)
-                            {
-                                if (vPoint.Y < 10)
-                                {
-                                    m.Result = (IntPtr)HTTOPLEFT;
-                                }
-                                else if (vPoint.Y > this.Height - 10)
-                                {
-                                    m.Result = (IntPtr)HTBOTTOMLEFT;
-                                }
-                                else
-                                {
-                                    m.Result = (IntPtr)HTLEFT;
-                                }
-                            }
-                            else if (vPoint.X > this.Width - 10)
-                            {
-                                if (vPoint.Y < 10)
-                                {
-                                    m.Result = (IntPtr)HTTOPRIGHT;
-                                }
-                                else if (vPoint.Y > this.Height - 10)
-                                {
-                                    m.Result = (IntPtr)HTBOTTOMRIGHT;
-                                }
-                                else
-                                {
-                                    m.Result = (IntPtr)HTRIGHT;
-                                }
-                            }
-                            else if (10 < vPoint.X && vPoint.X < this.Width - 10)
-                            {
-                                if (vPoint.Y < 10)
-                                {
-                                    m.Result = (IntPtr)HTTOP;
-                                }
-                                else if (vPoint.Y > this.Height - 10)
-                                {
-                                    m.Result = (IntPtr)HTBOTTOM;
-                                }
-                            }
-                        }
-                        break;
-                    }
-            }
-        }
-
-        #endregion 鍙嫋鍔ㄧ缉鏀�
-
-        #region 鍔熻兘鐐瑰嚮浜嬩欢
-
-        private void navButton璇环_ElementClick(object sender, DevExpress.XtraBars.Navigation.NavElementEventArgs e)
-        {
-        }
-
-        private void bsiWindowInfo_ElementClick(object sender, DevExpress.XtraBars.Navigation.NavElementEventArgs e)
-        {
-        }
-
-        private void navBtnTitle_ElementClick(object sender, DevExpress.XtraBars.Navigation.NavElementEventArgs e)
-        {
-            this.popupMenu2.ShowPopup(MousePosition);
-        }
-
-        private void bbi澶嶅埗娉靛瀷鍙锋枃瀛梍ItemClick(object sender, ItemClickEventArgs e)
-        {
-        }
-
-        private void ShowTipInfo(int delay_time, string info)
-        {
-            var alertControl1 = new DevExpress.XtraBars.Alerter.AlertControl();
-            alertControl1.AutoFormDelay = delay_time;//姣
-            alertControl1.AutoHeight = false;
-            alertControl1.AllowHtmlText = true;
-            alertControl1.Show(this, "tip", info);
-        }
-
-        #endregion 鍔熻兘鐐瑰嚮浜嬩欢
-
-        public static event Action<PumpFullInfoCtrl> JumpPumpFullInfoCtrl;
-
-        //鍋滈潬
-        private void navBtnDock_ElementClick(object sender, DevExpress.XtraBars.Navigation.NavElementEventArgs e)
-        {
-            this.Close();
-            JumpPumpFullInfoCtrl.Invoke(this.pumpFullInfoCtrl1);
-        }
-
-        private void navBtnEdit_ElementClick(object sender, DevExpress.XtraBars.Navigation.NavElementEventArgs e)
-        {
-            this.popupMenuEdit.ShowPopup(MousePosition);
-        }
-
-        //琛ㄦ牸缂栬緫
-        private void BarButtonItem1_ItemClick(object sender, ItemClickEventArgs e)
-        {
-            var dlg = new Yw.WinFrmUI.Phart.ImportPumpPerform2dByExcelDlg();
-            dlg.ReloadDataEvent += async (other_name, qh, qe, qp) =>
-            {
-                var bol = await Import(other_name, qh, qe, qp);
-                return bol;
-            };
-            dlg.ShowDialog();
-        }
-
-        //娉靛瀷鍙峰睘鎬х紪杈�
-        private void BarBtnEditProp_ItemClick(object sender, ItemClickEventArgs e)
-        {
-            var dlg = new EditPumpPartPropDlg();
-            dlg.SetBindingData(PumpPropViewCtrl.GetPumpMainVmo());
-            dlg.ShowDialog();
-            this.pumpFullInfoCtrl1.RefreshPropData();
-        }
-
-        //娉靛瀷鍙烽噸鏂板尮閰�
-        private void BarBtnRefreshMatching_ItemClick(object sender, ItemClickEventArgs e)
-        {
-            var dlg = new PumpSingleMatchingDlg();
-            dlg.SetBindingData(_pumpMatchingView);
-            dlg.ReloadDataEvent += (matching) =>
-            {
-                _pumpMatchingView = matching;
-                ReloadDataEvent.Invoke(_pumpMatchingView);
-                this.SetBindindData(_pumpMatchingView);
-            };
-            dlg.ShowDialog();
-        }
-
-        //鍗曠偣缂栬緫
-        private void BarButtonItemOnePoint_ItemClick(object sender, ItemClickEventArgs e)
-        {
-            var dlg = new Yw.WinFrmUI.Phart.ImportPumpPerform2dByOnePointDlg();
-            dlg.ReloadDataEvent += async (other_name, qh, qe, qp) =>
-            {
-                var bol = await Import(other_name, qh, qe, qp);
-                return bol;
-            };
-            dlg.ShowDialog();
-        }
-
-        //鏇茬嚎缂栬緫
-        private void BarButtonItemEdit_ItemClick(object sender, ItemClickEventArgs e)
-        {
-            if (_xhs_phart_diagram_ex_std_dto == null)
-            {
-                return;
-            }
-            var diagram = _xhs_phart_diagram_ex_std_dto.Diagram;
-            if (diagram == null)
-            {
-                return;
-            }
-            var graph_list = diagram.GraphList;
-            if (graph_list == null || !graph_list.Any())
-            {
-                return;
-            }
-
-            var graph_qh = graph_list.Find(x => x.GraphType == HStation.PhartRelation.eGraphType.PumpQH);
-            var graph_qe = graph_list.Find(x => x.GraphType == HStation.PhartRelation.eGraphType.PumpQE);
-            var graph_qp = graph_list.Find(x => x.GraphType == HStation.PhartRelation.eGraphType.PumpQP);
-
-            if (graph_qh == null)
-            {
-                return;
-            }
-            Yw.Pump.CurveQH qh = null;
-            Yw.Pump.CurveQE qe = null;
-            Yw.Pump.CurveQP qp = null;
-            List<Yw.Geometry.Point2d> points_qh = null, points_qe = null, points_qp = null;
-            points_qh = PhartPerformCurveHelper.GetFeatPointList(graph_qh.GraphType, graph_qh.GeometryInfo, 12, null);
-            qh = new Yw.Pump.CurveQH(Yw.Pump.eFeatType.Cubic, points_qh);
-            if (graph_qe != null)
-            {
-                points_qe = PhartPerformCurveHelper.GetFeatPointList(graph_qe.GraphType, graph_qe.GeometryInfo, 12, null);
-                qe = new Yw.Pump.CurveQE(Yw.Pump.eFeatType.Cubic, points_qe);
-            }
-            if (graph_qp != null)
-            {
-                points_qp = PhartPerformCurveHelper.GetFeatPointList(graph_qp.GraphType, graph_qp.GeometryInfo, 12, null);
-                qp = new Yw.Pump.CurveQP(Yw.Pump.eFeatType.Cubic, points_qp);
-            }
-
-            var dlg = new Yw.WinFrmUI.Phart.PumpEditChartDlg();
-            dlg.SetBindingData(qh, qe, qp);
-            dlg.ReloadDataEvent += async (new_qh, new_qe, new_qp) =>
-            {
-                var new_points_qh = new_qh.GetPointList();
-                var new_points_qe = new_qe.GetPointList();
-                var new_points_qp = new_qp.GetPointList();
-
-                graph_qh.GeometryInfo = new Yw.Pump.CurveQH(Yw.Pump.eFeatType.Cubic, new_points_qh).ToDbString();
-                graph_qe.GeometryInfo = new Yw.Pump.CurveQE(Yw.Pump.eFeatType.Cubic, new_points_qe).ToDbString();
-                graph_qp.GeometryInfo = new Yw.Pump.CurveQP(Yw.Pump.eFeatType.Cubic, new_points_qp).ToDbString();
-
-                _xhs_phart_diagram_ex_std_dto.Diagram.GraphList = new List<Vmo.PhartGraph>()
-                {
-                    graph_qh,
-                    graph_qe,
-                    graph_qp,
-                };
-                Yw.Geometry.Point2d point2D = new Yw.Geometry.Point2d();
-                var bol = await _bll_ex.Update(_xhs_phart_diagram_ex_std_dto);
-                if (bol)
-                {
-                }
-                return bol;
-            };
-            dlg.ShowDialog();
-        }
-
-        //鍥剧墖缂栬緫
-        private void BarButtonItemPicture_ItemClick(object sender, ItemClickEventArgs e)
-        {
-        }
-
-        // 瀵煎叆
-        private async Task<bool> Import(string other_name, Yw.Pump.CurveQH qh, Yw.Pump.CurveQE qe, Yw.Pump.CurveQP qp)
-        {
-            if (_PumpId < 1)
-            {
-                XtraMessageBox.Show("PumpMain is null!");
-                return false;
-            }
-
-            var input = new Vmo.XhsPumpMainPhartMappingExtensions();
-            input.PumpMainID = _PumpId;
-            input.Importance = 0;
-            input.OtherName = other_name;
-            input.Diagram = new Vmo.PhartDiagramExGraphList()
-            {
-                DiagramType = HStation.PhartRelation.eDiagramType.Feat,
-                Name = other_name,
-                GraphList = new List<Vmo.PhartGraph>()
-                {
-                    new ()
-                    {
-                        Name = other_name+"-QH",
-                        GeometryStyle=  HStation.PhartRelation.eGeometryStyle.FeatCurve,
-                        GraphType= HStation.PhartRelation.eGraphType.PumpQH,
-                        GeometryInfo=qh.ToDbString()
-                    },
-                    new ()
-                    {
-                        Name = other_name+"-QE",
-                        GeometryStyle= HStation.PhartRelation.eGeometryStyle.FeatCurve,
-                        GraphType= HStation.PhartRelation.eGraphType.PumpQE,
-                        GeometryInfo=qe.ToDbString()
-                    },
-                    new ()
-                    {
-                        Name = other_name+"-QP",
-                        GeometryStyle=  HStation.PhartRelation.eGeometryStyle.FeatCurve,
-                        GraphType= HStation.PhartRelation.eGraphType.PumpQP,
-                        GeometryInfo=qp.ToDbString()
-                    },
-                }
-            };
-
-            var mapping_id = await _bll_ex.Insert(input);
-            if (mapping_id < 1)
-            {
-                return false;
-            }
-            var xhs_phart_diagram_ex_std_dto = await _bll_ex.GetByID(mapping_id);
-            return true;
-        }
-    }
-}
\ No newline at end of file
diff --git a/WinFrmUI/HStation.WinFrmUI.Xhs.Core/04-pump/PumpFullInfoViewDlg.resx b/WinFrmUI/HStation.WinFrmUI.Xhs.Core/04-pump/PumpFullInfoViewDlg.resx
deleted file mode 100644
index de627b0..0000000
--- a/WinFrmUI/HStation.WinFrmUI.Xhs.Core/04-pump/PumpFullInfoViewDlg.resx
+++ /dev/null
@@ -1,596 +0,0 @@
-锘�<?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="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
-  <data name="navBtnTitle.ImageOptions.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
-    <value>
-        iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABGdBTUEAALGPC/xhBQAAAwdJREFUWEet
-        l79ukzEUxfMIPEKyJU2D8gZkLwMjWzOwJ8wM5RGQGBE0b0BGJojEUNSlEQMLAkIZYGsRqEK0IvyOdRw5
-        X5P0c5IjHfnavv98ff0pqSzD7u5up9lsThhHq2idjs22BzmFjz1dCulsPYFqtXqLkx3CLzh/vYrSka5s
-        bL45cDiE7+FJSUp3aPPNgbN2o9G4z6gq3Ejrtm2+HVBeNeFA4ypGHZttDw5wrQndH8/gV/Yv4VRkrn55
-        ybhv1c2As2sJ7OzsPGftiiAfKPtDL8/A2j32BnAi2cvrIU3Ap/4IT2u12u2gsAL1er2K7hgeeikfaQIK
-        DI/DBlBC7PW0z3pftDxXfuaqxnpJxARw8AqeejmUWevx3WuMsk7ONT1Bf/YikFWJvqfloQRw9gLjvzEA
-        clcMCkCyAkrXSwHWC0koKfbPo4/ScAJ/cBQ+ML7XuZOoEtIrJiAosSRxXUVeFeQUo2lsOgUrnsLlfioW
-        9zSPQRnb2I/CRllw4rsY/vY0JGAxQE7hmJ74zKiP0UhPk/EAhoqkNshTi+WAU3X2uaeLElD3/4CXVOI7
-        4y848F5XSaQ2rI2z+sAVeOdpcArDcxORP0EF/UcCPxmvWNdvhLivJNIKjNRHnt4MHMzdmx2rL/qtVusO
-        QY+Qv8FT1i8o/5F0rB4gXYv5VyCkRtG5n1VHzekmfAt1BcfFEqc27E/CYg4wGsZvuoKKYSMBOn10HsRg
-        Eax3Y8mlo2TDRg4cdHYNcrLglCGxNAEC6oXMyo88ybr/FEpAp/E0JKGAnoYE2NeHJnz5islI1r6n+Yj3
-        FwMIuhbf/74aUiRQj7leySw55no5ec9vERQcKolZJQQ59ok7xSDo6jsxl/hGkCMC6Z2/SU9ZhKqD7ol0
-        Nz75IuBcHxglcuZkDlg7tHyGPGRcmuBaUB/Eu47kpHsE6jE+0mh5r6i3dvdHJKUPn9hcYr9+E8pQDpSE
-        l7Lhnsj/0+IO1zdg4y6O1fC0HDDQL6L8z+cSqJIWy0EJYKQ/G+rubfDMrhNUKv8B0CeBjwoOv/sAAAAA
-        SUVORK5CYII=
-</value>
-  </data>
-  <assembly alias="DevExpress.Data.v23.2" name="DevExpress.Data.v23.2, Culture=neutral, PublicKeyToken=b88d1754d700e49a" />
-  <data name="navBtnEdit.ImageOptions.SvgImage" type="DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v23.2" mimetype="application/x-microsoft.net.object.bytearray.base64">
-    <value>
-        AAEAAAD/////AQAAAAAAAAAMAgAAAFlEZXZFeHByZXNzLkRhdGEudjIzLjIsIFZlcnNpb249MjMuMi40
-        LjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjg4ZDE3NTRkNzAwZTQ5YQUBAAAAHURl
-        dkV4cHJlc3MuVXRpbHMuU3ZnLlN2Z0ltYWdlAQAAAAREYXRhBwICAAAACQMAAAAPAwAAABwFAAAC77u/
-        PD94bWwgdmVyc2lvbj0nMS4wJyBlbmNvZGluZz0nVVRGLTgnPz4NCjxzdmcgeD0iMHB4IiB5PSIwcHgi
-        IHZpZXdCb3g9IjAgMCAzMiAzMiIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcv
-        MjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB4bWw6c3Bh
-        Y2U9InByZXNlcnZlIiBpZD0iTGF5ZXJfMSIgc3R5bGU9ImVuYWJsZS1iYWNrZ3JvdW5kOm5ldyAwIDAg
-        MzIgMzIiPg0KICA8c3R5bGUgdHlwZT0idGV4dC9jc3MiPgoJLlllbGxvd3tmaWxsOiNGRkIxMTU7fQoJ
-        LlJlZHtmaWxsOiNEMTFDMUM7fQoJLkJsYWNre2ZpbGw6IzcyNzI3Mjt9CgkuQmx1ZXtmaWxsOiMxMTc3
-        RDc7fQoJLldoaXRle2ZpbGw6I0ZGRkZGRjt9CgkuR3JlZW57ZmlsbDojMDM5QzIzO30KCS5zdDB7b3Bh
-        Y2l0eTowLjc1O30KCS5zdDF7b3BhY2l0eTowLjU7fQoJLnN0MntvcGFjaXR5OjAuMjU7fQoJLnN0M3tm
-        aWxsOiNGRkIxMTU7fQo8L3N0eWxlPg0KICA8ZyAvPg0KICA8ZyBpZD0iUmVuYW1lXzFfIj4NCiAgICA8
-        cGF0aCBkPSJNMi4xLDE2aDIuMmwwLjYtMi4zaDMuMkw4LjgsMTZIMTFMNy44LDZINS40TDIuMSwxNnog
-        TTYuNCw4LjdjMC4xLTAuMywwLjEtMC42LDAuMS0wLjloMC4xICAgYzAsMC4zLDAuMSwwLjYsMC4xLDAu
-        OWwxLDMuM0g1LjRMNi40LDguN3ogTTE3LjUsMTAuNmMwLjYtMC4yLDEuMS0wLjUsMS41LTAuOWMwLjQt
-        MC40LDAuNi0wLjksMC42LTEuNGMwLTAuNy0wLjMtMS4zLTAuOS0xLjcgICBDMTguMSw2LjIsMTcuMSw2
-        LDE1LjksNkgxMnY5LjlWMTZoNGMxLjIsMCwyLjItMC4yLDIuOS0wLjhDMTkuNywxNC42LDIwLDE0LDIw
-        LDEzYzAtMC42LTAuMi0xLjItMC43LTEuNiAgIEMxOC45LDExLDE4LjMsMTAuNywxNy41LDEwLjZ6IE0x
-        NC40LDcuN2gwLjljMS4xLDAsMS43LDAuNCwxLjcsMS4xYzAsMC40LTAuMSwwLjctMC40LDAuOUMxNi40
-        LDkuOSwxNiwxMCwxNS41LDEwaC0xLjFWNy43eiAgICBNMTcsMTMuOGMtMC4zLDAuMi0wLjgsMC40LTEu
-        MywwLjRoLTEuM3YtMi42aDEuM2MwLjUsMCwwLjksMC4xLDEuMywwLjNjMC4zLDAuMiwwLjUsMC42LDAu
-        NSwwLjlDMTcuNSwxMy4zLDE3LjQsMTMuNiwxNywxMy44eiIgY2xhc3M9IkJsYWNrIiAvPg0KICAgIDxw
-        YXRoIGQ9Ik0yNywxOWwtOCw4bC00LTRsOC04TDI3LDE5eiBNMjgsMThsMS43LTEuN2MwLjQtMC40LDAu
-        NC0xLDAtMS4zTDI3LDEyLjNjLTAuNC0wLjQtMS0wLjQtMS4zLDBMMjQsMTRMMjgsMTh6ICAgIE0xNCwy
-        NHY0aDRMMTQsMjR6IiBjbGFzcz0iQmx1ZSIgLz4NCiAgPC9nPg0KPC9zdmc+Cw==
-</value>
-  </data>
-  <data name="navBtn瀵垮懡鎴愭湰璁$畻.ImageOptions.SvgImage" type="DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v23.2" mimetype="application/x-microsoft.net.object.bytearray.base64">
-    <value>
-        AAEAAAD/////AQAAAAAAAAAMAgAAAFlEZXZFeHByZXNzLkRhdGEudjIzLjIsIFZlcnNpb249MjMuMi40
-        LjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjg4ZDE3NTRkNzAwZTQ5YQUBAAAAHURl
-        dkV4cHJlc3MuVXRpbHMuU3ZnLlN2Z0ltYWdlAQAAAAREYXRhBwICAAAACQMAAAAPAwAAADYGAAAC77u/
-        PD94bWwgdmVyc2lvbj0nMS4wJyBlbmNvZGluZz0nVVRGLTgnPz4NCjxzdmcgeD0iMHB4IiB5PSIwcHgi
-        IHZpZXdCb3g9IjAgMCAzMiAzMiIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcv
-        MjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB4bWw6c3Bh
-        Y2U9InByZXNlcnZlIiBpZD0iRmluYW5jaWFsIiBzdHlsZT0iZW5hYmxlLWJhY2tncm91bmQ6bmV3IDAg
-        MCAzMiAzMiI+DQogIDxzdHlsZSB0eXBlPSJ0ZXh0L2NzcyI+CgkuR3JlZW57ZmlsbDojMDM5QzIzO30K
-        PC9zdHlsZT4NCiAgPHBhdGggZD0iTTE0LDE2LjNjLTAuMi0wLjEtMC4zLTAuMS0wLjQtMC4yYy0wLjMt
-        MC4xLTAuNC0wLjItMC41LTAuNGMtMC4xLTAuMS0wLjEtMC4zLTAuMS0wLjVjMC0wLjIsMC4xLTAuNSww
-        LjItMC42ICBjMC4xLTAuMiwwLjMtMC4zLDAuNC0wLjRjMC4xLTAuMSwwLjMtMC4xLDAuNS0wLjJWMTYu
-        M3ogTTQsNWMwLDAuNiwwLjQsMSwxLDFoMjN2MjNjMCwwLjYtMC40LDEtMSwxSDRjLTEuMSwwLTItMC45
-        LTItMlY0ICBjMC0xLjEsMC45LTIsMi0yaDIzYzAuNiwwLDEsMC40LDEsMXYxSDVDNC40LDQsNCw0LjQs
-        NCw1eiBNMTQsMTguN2wwLDMuMWMtMC4zLTAuMS0wLjUtMC4yLTAuNy0wLjNjLTAuMi0wLjItMC40LTAu
-        NC0wLjYtMC42ICBjLTAuMS0wLjMtMC4yLTAuNS0wLjItMC45TDEwLDIwYzAsMC43LDAuMSwxLjMsMC40
-        LDEuOGMwLjMsMC41LDAuNiwwLjksMS4xLDEuM2MwLjUsMC4zLDEsMC42LDEuNiwwLjdjMC4zLDAuMSww
-        LjYsMC4xLDAuOCwwLjJWMjYgIGgydi0yLjFjMC40LDAsMC44LTAuMSwxLjItMC4yYzAuNi0wLjIsMS4x
-        LTAuNCwxLjUtMC44YzAuNC0wLjMsMC43LTAuNywwLjktMS4yYzAuMi0wLjUsMC4zLTAuOSwwLjMtMS41
-        YzAtMC42LTAuMS0xLjItMC40LTEuNiAgYy0wLjMtMC40LTAuNi0wLjctMS0xYy0wLjQtMC4yLTAuOC0w
-        LjQtMS4yLTAuNUMxNywxNy4xLDE2LjcsMTcsMTYuNSwxN2MtMC4yLDAtMC4zLTAuMS0wLjUtMC4xdi0y
-        LjdjMC4xLDAsMC4yLDAuMSwwLjMsMC4xICBjMC4yLDAuMSwwLjQsMC4zLDAuNSwwLjVjMC4xLDAuMiww
-        LjIsMC44LDAuMiwxLjJsMi41LDBjMC0wLjctMC4xLTEuNS0wLjQtMmMtMC4zLTAuNS0wLjYtMC44LTEu
-        MS0xLjFjLTAuNC0wLjMtMS0wLjUtMS41LTAuNiAgYy0wLjIsMC0wLjQtMC4xLTAuNi0wLjFWMTBoLTJ2
-        Mi4xYy0wLjMsMC0wLjUsMC4xLTAuOCwwLjFjLTAuNSwwLjEtMSwwLjQtMS40LDAuNmMtMC40LDAuMy0w
-        LjgsMC43LTEsMS4xYy0wLjMsMC40LTAuNCwwLjktMC40LDEuNSAgYzAsMC41LDAuMSwxLDAuMywxLjNj
-        MC4yLDAuNCwwLjUsMC43LDAuOCwwLjljMC4zLDAuMiwwLjcsMC40LDEuMSwwLjZDMTMuMSwxOC41LDEz
-        LjUsMTguNiwxNCwxOC43eiBNMTcuMiwyMS4zICBjMC4yLTAuMiwwLjItMC40LDAuMi0wLjdjMC0wLjMt
-        MC4xLTAuNi0wLjMtMC44Yy0wLjItMC4yLTAuNS0wLjQtMC44LTAuNWMtMC4xLDAtMC4yLTAuMS0wLjQt
-        MC4xVjIyYzAuMiwwLDAuNS0wLjEsMC43LTAuMiAgQzE2LjksMjEuNywxNy4xLDIxLjUsMTcuMiwyMS4z
-        eiIgY2xhc3M9IkdyZWVuIiAvPg0KPC9zdmc+Cw==
-</value>
-  </data>
-  <data name="navBtn瀵煎嚭.ImageOptions.SvgImage" type="DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v23.2" mimetype="application/x-microsoft.net.object.bytearray.base64">
-    <value>
-        AAEAAAD/////AQAAAAAAAAAMAgAAAFlEZXZFeHByZXNzLkRhdGEudjIzLjIsIFZlcnNpb249MjMuMi40
-        LjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjg4ZDE3NTRkNzAwZTQ5YQUBAAAAHURl
-        dkV4cHJlc3MuVXRpbHMuU3ZnLlN2Z0ltYWdlAQAAAAREYXRhBwICAAAACQMAAAAPAwAAAFcCAAAC77u/
-        PD94bWwgdmVyc2lvbj0nMS4wJyBlbmNvZGluZz0nVVRGLTgnPz4NCjxzdmcgeD0iMHB4IiB5PSIwcHgi
-        IHZpZXdCb3g9IjAgMCAzMiAzMiIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcv
-        MjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB4bWw6c3Bh
-        Y2U9InByZXNlcnZlIiBpZD0iTGF5ZXJfMSIgc3R5bGU9ImVuYWJsZS1iYWNrZ3JvdW5kOm5ldyAwIDAg
-        MzIgMzIiPg0KICA8c3R5bGUgdHlwZT0idGV4dC9jc3MiPgoJLlllbGxvd3tmaWxsOiNGRkIxMTU7fQoJ
-        LlJlZHtmaWxsOiNEMTFDMUM7fQoJLkJsdWV7ZmlsbDojMTE3N0Q3O30KCS5HcmVlbntmaWxsOiMwMzlD
-        MjM7fQoJLkJsYWNre2ZpbGw6IzcyNzI3Mjt9CgkuV2hpdGV7ZmlsbDojRkZGRkZGO30KCS5zdDB7b3Bh
-        Y2l0eTowLjc1O30KPC9zdHlsZT4NCiAgPGcgaWQ9Ik5leHQiPg0KICAgIDxwYXRoIGQ9Ik0xNiwyQzgu
-        MywyLDIsOC4zLDIsMTZzNi4zLDE0LDE0LDE0czE0LTYuMywxNC0xNFMyMy43LDIsMTYsMnogTTE2LDI0
-        bC04LThoNlY4aDR2OGg2TDE2LDI0eiIgY2xhc3M9IkdyZWVuIiAvPg0KICA8L2c+DQo8L3N2Zz4L
-</value>
-  </data>
-  <data name="navBtnDock.ImageOptions.SvgImage" type="DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v23.2" mimetype="application/x-microsoft.net.object.bytearray.base64">
-    <value>
-        AAEAAAD/////AQAAAAAAAAAMAgAAAFlEZXZFeHByZXNzLkRhdGEudjIzLjIsIFZlcnNpb249MjMuMi40
-        LjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjg4ZDE3NTRkNzAwZTQ5YQUBAAAAHURl
-        dkV4cHJlc3MuVXRpbHMuU3ZnLlN2Z0ltYWdlAQAAAAREYXRhBwICAAAACQMAAAAPAwAAANcDAAAC77u/
-        PD94bWwgdmVyc2lvbj0nMS4wJyBlbmNvZGluZz0nVVRGLTgnPz4NCjxzdmcgeD0iMHB4IiB5PSIwcHgi
-        IHZpZXdCb3g9IjAgMCAzMiAzMiIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcv
-        MjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB4bWw6c3Bh
-        Y2U9InByZXNlcnZlIiBpZD0iTGF5ZXJfMSIgc3R5bGU9ImVuYWJsZS1iYWNrZ3JvdW5kOm5ldyAwIDAg
-        MzIgMzIiPg0KICA8c3R5bGUgdHlwZT0idGV4dC9jc3MiPgoJLlllbGxvd3tmaWxsOiNGRkIxMTU7fQoJ
-        LlJlZHtmaWxsOiNEMTFDMUM7fQoJLkJsYWNre2ZpbGw6IzcyNzI3Mjt9CgkuQmx1ZXtmaWxsOiMxMTc3
-        RDc7fQoJLldoaXRle2ZpbGw6I0ZGRkZGRjt9CgkuR3JlZW57ZmlsbDojMDM5QzIzO30KCS5zdDB7b3Bh
-        Y2l0eTowLjc1O30KCS5zdDF7b3BhY2l0eTowLjU7fQoJLnN0MntvcGFjaXR5OjAuMjU7fQoJLnN0M3tm
-        aWxsOiNGRkIxMTU7fQo8L3N0eWxlPg0KICA8ZyAvPg0KICA8ZyBpZD0iU2hvd0xlZ2VuZEluc2lkZVZl
-        cnRpY2FsVG9wUmlnaHQiPg0KICAgIDxwYXRoIGQ9Ik0zMSwwSDFDMC41LDAsMCwwLjUsMCwxdjMwYzAs
-        MC41LDAuNSwxLDEsMWgzMGMwLjUsMCwxLTAuNSwxLTFWMUMzMiwwLjUsMzEuNSwwLDMxLDB6IE0zMCwz
-        MEgyVjJoMjhWMzB6IiBjbGFzcz0iQmxhY2siIC8+DQogICAgPGcgY2xhc3M9InN0MCI+DQogICAgICA8
-        cG9seWdvbiBwb2ludHM9IjYsMjQgNiw2IDQsNiA0LDI2IDI4LDI2IDI4LDI0ICAgIiBjbGFzcz0iQmxh
-        Y2siIC8+DQogICAgPC9nPg0KICAgIDxnIGNsYXNzPSJzdDEiPg0KICAgICAgPHBvbHlnb24gcG9pbnRz
-        PSI2LDYgNiw4IDI2LDggMjYsMjQgMjgsMjQgMjgsNiAgICIgY2xhc3M9IkJsYWNrIiAvPg0KICAgIDwv
-        Zz4NCiAgICA8cmVjdCB4PSIyMiIgeT0iNiIgd2lkdGg9IjYiIGhlaWdodD0iMTIiIGNsYXNzPSJCbHVl
-        IiAvPg0KICA8L2c+DQo8L3N2Zz4L
-</value>
-  </data>
-  <data name="navButton8.ImageOptions.SvgImage" type="DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v23.2" mimetype="application/x-microsoft.net.object.bytearray.base64">
-    <value>
-        AAEAAAD/////AQAAAAAAAAAMAgAAAFlEZXZFeHByZXNzLkRhdGEudjIzLjIsIFZlcnNpb249MjMuMi40
-        LjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjg4ZDE3NTRkNzAwZTQ5YQUBAAAAHURl
-        dkV4cHJlc3MuVXRpbHMuU3ZnLlN2Z0ltYWdlAQAAAAREYXRhBwICAAAACQMAAAAPAwAAAFICAAAC77u/
-        PD94bWwgdmVyc2lvbj0nMS4wJyBlbmNvZGluZz0nVVRGLTgnPz4NCjxzdmcgeD0iMHB4IiB5PSIwcHgi
-        IHZpZXdCb3g9IjAgMCAzMiAzMiIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcv
-        MjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB4bWw6c3Bh
-        Y2U9InByZXNlcnZlIiBpZD0iTGF5ZXJfMSIgc3R5bGU9ImVuYWJsZS1iYWNrZ3JvdW5kOm5ldyAwIDAg
-        MzIgMzIiPg0KICA8c3R5bGUgdHlwZT0idGV4dC9jc3MiPgoJLkJsdWV7ZmlsbDojMTE3N0Q3O30KCS5Z
-        ZWxsb3d7ZmlsbDojRkZCMTE1O30KCS5CbGFja3tmaWxsOiM3MjcyNzI7fQoJLkdyZWVue2ZpbGw6IzAz
-        OUMyMzt9CgkuUmVke2ZpbGw6I0QxMUMxQzt9Cgkuc3Qwe29wYWNpdHk6MC43NTt9Cgkuc3Qxe29wYWNp
-        dHk6MC41O30KPC9zdHlsZT4NCiAgPGcgaWQ9IlJlbW92ZSI+DQogICAgPHBhdGggZD0iTTI3LDE4SDVj
-        LTAuNiwwLTEtMC41LTEtMXYtMmMwLTAuNiwwLjQtMSwxLTFoMjJjMC41LDAsMSwwLjQsMSwxdjJDMjgs
-        MTcuNSwyNy41LDE4LDI3LDE4eiIgY2xhc3M9IlJlZCIgLz4NCiAgPC9nPg0KPC9zdmc+Cw==
-</value>
-  </data>
-  <data name="navBtnbutton10.ImageOptions.SvgImage" type="DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v23.2" mimetype="application/x-microsoft.net.object.bytearray.base64">
-    <value>
-        AAEAAAD/////AQAAAAAAAAAMAgAAAFlEZXZFeHByZXNzLkRhdGEudjIzLjIsIFZlcnNpb249MjMuMi40
-        LjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjg4ZDE3NTRkNzAwZTQ5YQUBAAAAHURl
-        dkV4cHJlc3MuVXRpbHMuU3ZnLlN2Z0ltYWdlAQAAAAREYXRhBwICAAAACQMAAAAPAwAAAD0DAAAC77u/
-        PD94bWwgdmVyc2lvbj0nMS4wJyBlbmNvZGluZz0nVVRGLTgnPz4NCjxzdmcgeD0iMHB4IiB5PSIwcHgi
-        IHZpZXdCb3g9IjAgMCAzMiAzMiIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcv
-        MjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB4bWw6c3Bh
-        Y2U9InByZXNlcnZlIiBpZD0iTGF5ZXJfMSIgc3R5bGU9ImVuYWJsZS1iYWNrZ3JvdW5kOm5ldyAwIDAg
-        MzIgMzIiPg0KICA8c3R5bGUgdHlwZT0idGV4dC9jc3MiPgoJLlJlZHtmaWxsOiNEMTFDMUM7fQoJLkJs
-        YWNre2ZpbGw6IzcyNzI3Mjt9CgkuQmx1ZXtmaWxsOiMxMTc3RDc7fQoJLkdyZWVue2ZpbGw6IzAzOUMy
-        Mzt9CgkuWWVsbG93e2ZpbGw6I0ZGQjExNTt9CgkuV2hpdGV7ZmlsbDojRkZGRkZGO30KCS5zdDB7b3Bh
-        Y2l0eTowLjU7fQoJLnN0MXtvcGFjaXR5OjAuNzU7fQo8L3N0eWxlPg0KICA8ZyBpZD0iRGVsZXRlIj4N
-        CiAgICA8Zz4NCiAgICAgIDxwYXRoIGQ9Ik0xOC44LDE2bDYuOS02LjljMC40LTAuNCwwLjQtMSwwLTEu
-        NGwtMS40LTEuNGMtMC40LTAuNC0xLTAuNC0xLjQsMEwxNiwxMy4yTDkuMSw2LjNjLTAuNC0wLjQtMS0w
-        LjQtMS40LDAgICAgTDYuMyw3LjdjLTAuNCwwLjQtMC40LDEsMCwxLjRsNi45LDYuOWwtNi45LDYuOWMt
-        MC40LDAuNC0wLjQsMSwwLDEuNGwxLjQsMS40YzAuNCwwLjQsMSwwLjQsMS40LDBsNi45LTYuOWw2Ljks
-        Ni45ICAgIGMwLjQsMC40LDEsMC40LDEuNCwwbDEuNC0xLjRjMC40LTAuNCwwLjQtMSwwLTEuNEwxOC44
-        LDE2eiIgY2xhc3M9IlJlZCIgLz4NCiAgICA8L2c+DQogIDwvZz4NCjwvc3ZnPgs=
-</value>
-  </data>
-  <metadata name="popupMenu1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
-    <value>148, 21</value>
-  </metadata>
-  <metadata name="barManager1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
-    <value>17, 17</value>
-  </metadata>
-  <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
-        dkV4cHJlc3MuVXRpbHMuU3ZnLlN2Z0ltYWdlAQAAAAREYXRhBwICAAAACQMAAAAPAwAAALkCAAAC77u/
-        PD94bWwgdmVyc2lvbj0nMS4wJyBlbmNvZGluZz0nVVRGLTgnPz4NCjxzdmcgeD0iMHB4IiB5PSIwcHgi
-        IHZpZXdCb3g9IjAgMCAzMiAzMiIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcv
-        MjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB4bWw6c3Bh
-        Y2U9InByZXNlcnZlIiBpZD0iQ3JlYXRlX0xpbmVfQ2hhcnRfTm9fTWFya2VycyIgc3R5bGU9ImVuYWJs
-        ZS1iYWNrZ3JvdW5kOm5ldyAwIDAgMzIgMzIiPg0KICA8c3R5bGUgdHlwZT0idGV4dC9jc3MiPgoJLkJs
-        dWV7ZmlsbDojMTE3N0Q3O30KCS5ZZWxsb3d7ZmlsbDojRkZCMTE1O30KCS5SZWR7ZmlsbDojRDExQzFD
-        O30KPC9zdHlsZT4NCiAgPHBvbHlnb24gcG9pbnRzPSIyLjgsNS44IDIuOCw1LjggMy43LDQgMTUuMyw5
-        LjcgMjguOCwyIDI5LjgsMy43IDE1LjMsMTIgMi44LDUuOCAiIGNsYXNzPSJSZWQiIC8+DQogIDxwb2x5
-        Z29uIHBvaW50cz0iMi43LDE3LjYgMi43LDE3LjYgMy45LDE2LjEgMTUuMiwyNS41IDI4LjYsMTIuMiAz
-        MCwxMy42IDE1LjQsMjguMiAyLjcsMTcuNiAiIGNsYXNzPSJZZWxsb3ciIC8+DQogIDxwb2x5Z29uIHBv
-        aW50cz0iMi43LDI4LjEgMTUuMSwxNy44IDI5LjYsMjEuOSAyOSwyMy44IDE1LjUsMjAgMy45LDI5LjYg
-        Mi43LDI4LjEgIiBjbGFzcz0iQmx1ZSIgLz4NCjwvc3ZnPgs=
-</value>
-  </data>
-  <metadata name="barManager2.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
-    <value>435, 17</value>
-  </metadata>
-  <metadata name="imageCollection1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
-    <value>280, 17</value>
-  </metadata>
-  <assembly alias="DevExpress.Utils.v23.2" name="DevExpress.Utils.v23.2, Culture=neutral, PublicKeyToken=b88d1754d700e49a" />
-  <data name="imageCollection1.ImageStream" type="DevExpress.Utils.ImageCollectionStreamer, DevExpress.Utils.v23.2" mimetype="application/x-microsoft.net.object.bytearray.base64">
-    <value>
-        AAEAAAD/////AQAAAAAAAAAMAgAAAFpEZXZFeHByZXNzLlV0aWxzLnYyMy4yLCBWZXJzaW9uPTIzLjIu
-        NC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI4OGQxNzU0ZDcwMGU0OWEMAwAAAFFT
-        eXN0ZW0uRHJhd2luZywgVmVyc2lvbj00LjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRv
-        a2VuPWIwM2Y1ZjdmMTFkNTBhM2EFAQAAAChEZXZFeHByZXNzLlV0aWxzLkltYWdlQ29sbGVjdGlvblN0
-        cmVhbWVyAgAAAAlJbWFnZVNpemUERGF0YQQHE1N5c3RlbS5EcmF3aW5nLlNpemUDAAAAAgIAAAAF/P//
-        /xNTeXN0ZW0uRHJhd2luZy5TaXplAgAAAAV3aWR0aAZoZWlnaHQAAAgIAwAAABAAAAAQAAAACQUAAAAP
-        BQAAAA8HAAACOAEAAIlQTkcNChoKAAAADUlIRFIAAAAQAAAAEAgGAAAAH/P/YQAAAARnQU1BAACxjwv8
-        YQUAAAAJcEhZcwAADrwAAA68AZW8ckkAAADaSURBVDhPtZCxDgFBEIYv8QBKryB60SpEolDqVWot7+EF
-        JGqd8BRqrURDQUe1fHP338XajRzhSzaz88/8s3OX/JU7OOcOhIGk8mCsaUDTouTyYFxxJnb/asCziUF7
-        TldpCMWlGV5R2YbVMyWgnTd8viIUPuKFLW5pUgL6h2bG05CUfsZUYktSFOpb61Pqg17RkIUkD9XmSuNY
-        k64BVoOq0jjWoWsKafangfuIDTZKQyj2OWul+Yu29kxS8IAHjSeL9HRk7EnfcY6qvR1wlvEqqQBtbDVD
-        0i9Ikge3gwGbf+KSGQAAAABJRU5ErkJgghsBAACJUE5HDQoaCgAAAA1JSERSAAAAEAAAABAIBgAAAB/z
-        /2EAAAAEZ0FNQQAAsY8L/GEFAAAACXBIWXMAAA68AAAOvAGVvHJJAAAAvUlEQVQ4T53RMQ4BQRjF8Wkk
-        EpU7qLYVhSNoRKN3hNWoXcMV9DqdK+gVEseY9XbmP5IvZGfGL5GY731vDdyQruu23vs7x3p6QKCHXBiV
-        U+lBP5kS5Wl5HjsW8TB98p79X87Kl6xGGjR6PVmoot7p80P9q7/BhPfV1L2mr7FgVkydVygnmu1iVIaa
-        RVZiRMUizNL1GyoWeYkNFYswSzc4ULHIAy3dGPf/0opxoPOayFLQKj9y/KJsrJ0ZR3HuDct4XTqQ1pch
-        AAAAAElFTkSuQmCCTwEAAIlQTkcNChoKAAAADUlIRFIAAAAQAAAAEAgGAAAAH/P/YQAAAARnQU1BAACx
-        jwv8YQUAAAAJcEhZcwAADrwAAA68AZW8ckkAAADxSURBVDhPjZItDsJAFISrOAWiGo3jABgOgCWcAE9C
-        g0UjUNwCg8CAQSNIECgMhyh8sx3oBkjZL3nZeT/zmm6bpVKW5Z64El2X0nlUFJjbEpxDt9KQyVI6Z8Hd
-        aRrxAswzYuW0GQa3MkPhM+B2DYNdQhe0dz7SIOc8DDTB0MDDuqDwJPTG7S9ot+hPiE4oIC4U85CAFlj+
-        RH08S+JE3LRgRa1wv3EBszui57SelYh4L/sE8/HnghQwnsN6QNev8AnFNaEv0ne+sGkaBgA9JqpLjAnr
-        o19WoA9u/0cGS+k8zpOIDTw5/Zd9IZOWvHC5gSx7ArE6OAd3gsOcAAAAAElFTkSuQmCCMAEAAIlQTkcN
-        ChoKAAAADUlIRFIAAAAQAAAAEAgGAAAAH/P/YQAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADrwAAA68
-        AZW8ckkAAADSSURBVDhPjZKxDcIwEEUzDzU70DAALWINJCJaJkjFFmkoaELDBEgUVDQMYfg+vVxCCI6f
-        dLJ9//+L4qTIJYTQqB6qOa183gM0ZIWUBzlHA15IeZBzNKBCSiPjiUzJaiB3xItRxQtqOK+jUeveDClk
-        WtrYHurVyKNI36hm7eFOzjHhD1gMZZ9xQMXZwfuDvGcsjgnsW0prjqABVzwO0jQK38g49gpD1Dyq4hdZ
-        cD5g3ppBaN9dYh8bO0DGC/I0ZL5AyoOMo6fn/bItCuzIGrQTFMUHa5V/ywe2moIAAAAASUVORK5CYIIV
-        AQAAiVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlz
-        AAAOvAAADrwBlbxySQAAALdJREFUOE+1krENwjAQRb0AAyClZwVKhskeYQBER8EKlCxAQ8EAGYE5DO+j
-        u5BEjp0g8aSTnf/vn2XFoU+M8Ui11MqkAeiHF7BWJn1BPFM3qlaTyR3o15yvBp1ca59qkJbzNaCS4Zjc
-        gb81S4OeJg/B26nBPpNk/b8PwLrk/A/cr0k1zQo74yGLwo4PgeVhh9z+57AgW/wrWbjGQwNY1ybNh9CJ
-        mn77Jezk6bdfgvBGQcH+bvKIEN71KfvLV7yYlgAAAABJRU5ErkJgghABAACJUE5HDQoaCgAAAA1JSERS
-        AAAAEAAAABAIBgAAAB/z/2EAAAAEZ0FNQQAAsY8L/GEFAAAACXBIWXMAAA68AAAOvAGVvHJJAAAAsklE
-        QVQ4T7WRwQ3CMBAE3QAFIOVPCzzpDApA/HjQAk9qyIMCUgJ1OOxZczaJIuMgMZJlZdZ7spXwSYzxojVo
-        bVAT5M+j0N6hCpI3Cx10RvmDKIEu6MBAlkBn0Bl0wa5FlkBnlO+J7Akv9BRlBzvA5yLV/O8DFN1reULv
-        Oy4daio78yGryo4PEevLjnqnn8uGul//ShU942kDtG9R7ah0tbKDbodeBt2ObrCja0/o0TNCeAMuqQxL
-        3kwUwQAAAABJRU5ErkJgggs=
-</value>
-  </data>
-  <data name="bbi澶嶅埗娉靛瀷鍙锋枃瀛�.ImageOptions.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
-    <value>
-        iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAACV0RVh0VGl0
-        bGUAQ29weTtCYXJzO1JpYmJvbjtTdGFuZGFyZDtDbG9uZW0O31sAAAJjSURBVDhPhZL7S1NhGMet5ebc
-        UvsP+qf6JTOiQijKdJWYrDTTaXnBS3mJJEgjwlWWGNmEzamtwtWvUQTZZRe3nbP7zs4u357n3c5MEBp8
-        OIO938/zfc+zKgB7MJvNuok5r+ve/Cfcnf9MeDExt4XxOS/GmEdbGCWGHrxz01n9foLqcQoUiyCKFQpM
-        oUSeGJ79CDprFCH6HCB0xCGDwWBadHyBoiiQoylBRC4hRTOIJVVkcwXcmfGwoFYT6GzTHtfAzHv0T38g
-        PLBNbaJvyoNeZnITt4j7T7zYkZNQ1AJskxssMGmC6r6pjf/W7hp1wxeKIpPNo3vMzQKzJtD3TLCgiGQ6
-        J0ik84J4Mo9YKidqW4ec+BWQkVLysI44WXBYExhujKyJiYmUijgJOBQtI9O9uXbH7VX88EfEgM7B1b2C
-        jkGnEFSCSQomVEEkkRW123rf4vvvMOL0e/uAgwV1mqDmar9D3JUDEk2U6BmOqQjFsghFs6L2xe7X+La9
-        Q3IVl20rLKjXBMbWnhXxoiLxrIBDOwIFQSJBtc9fX8LX7aAY0nrzDQsaNEHtha5l5PLF3ZCsIEAEJQV+
-        gq/W3PkKP30hupIq2vzbwHTOukSCgggFpIyAg356+sIZMfVMxyLGZ9eoyTKa25+uk6DyPzCdvfYSKq2K
-        A/4IBSMUJP6E0wIpruKU5Tn0ev1Rrs5hQlcRnL7yQuyaV8hvOUbrlGkTEm1AoncSJkFTm50P13NGQxPU
-        NLY8dp20PEOTxS4ONl6y40TrQomWBRwnjjU/XOdh+wkOEkaijqgv01DmSBn+biJ0uwJU/QWlHMOEoK1R
-        1QAAAABJRU5ErkJggg==
-</value>
-  </data>
-  <data name="bbi澶嶅埗娉靛瀷鍙锋枃瀛�.ImageOptions.LargeImage" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
-    <value>
-        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
-        BwdQ9F/AOGC3chKJ6AAAAABJRU5ErkJggg==
-</value>
-  </data>
-  <data name="barButtonItemExcelEdit.ImageOptions.SvgImage" type="DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v23.2" mimetype="application/x-microsoft.net.object.bytearray.base64">
-    <value>
-        AAEAAAD/////AQAAAAAAAAAMAgAAAFlEZXZFeHByZXNzLkRhdGEudjIzLjIsIFZlcnNpb249MjMuMi40
-        LjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjg4ZDE3NTRkNzAwZTQ5YQUBAAAAHURl
-        dkV4cHJlc3MuVXRpbHMuU3ZnLlN2Z0ltYWdlAQAAAAREYXRhBwICAAAACQMAAAAPAwAAAEYMAAAC77u/
-        PD94bWwgdmVyc2lvbj0nMS4wJyBlbmNvZGluZz0nVVRGLTgnPz4NCjxzdmcgeD0iMHB4IiB5PSIwcHgi
-        IHZpZXdCb3g9IjAgMCAzMiAzMiIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcv
-        MjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB4bWw6c3Bh
-        Y2U9InByZXNlcnZlIiBpZD0iTGF5ZXJfMSIgc3R5bGU9ImVuYWJsZS1iYWNrZ3JvdW5kOm5ldyAwIDAg
-        MzIgMzIiPg0KICA8c3R5bGUgdHlwZT0idGV4dC9jc3MiPgoJLkdyZWVue2ZpbGw6IzAzOUMyMzt9Cgku
-        QmxhY2t7ZmlsbDojNzI3MjcyO30KPC9zdHlsZT4NCiAgPHBhdGggZD0iTTgsNGgxOHY2aDJWM2MwLTAu
-        NS0wLjUtMS0xLTFIN0M2LjUsMiw2LDIuNSw2LDN2N2gyVjR6IiBjbGFzcz0iQmxhY2siIC8+DQogIDxw
-        YXRoIGQ9Ik0yNiwyNkg4di03LjJINlYyN2MwLDAuNSwwLjUsMSwxLDFoMjBjMC41LDAsMS0wLjUsMS0x
-        di04LjJoLTJWMjZ6IiBjbGFzcz0iQmxhY2siIC8+DQogIDxnPg0KICAgIDxnPg0KICAgICAgPHBhdGgg
-        ZD0iTTI5LDhINUM0LjQsOCw0LDguNCw0LDl2MTBjMCwwLjYsMC40LDEsMSwxaDI0YzAuNiwwLDEtMC40
-        LDEtMVY5QzMwLDguNCwyOS42LDgsMjksOHogTTExLjYsMThsLTEuMi0yLjYgICAgYzAtMC4xLTAuMS0w
-        LjMtMC4xLTAuNWgwYzAsMC4xLTAuMSwwLjMtMC4yLDAuNkw4LjgsMThINi45bDIuMy00bC0yLjEtNGgy
-        bDEsMi40YzAuMSwwLjIsMC4yLDAuNCwwLjIsMC43aDAgICAgYzAtMC4yLDAuMS0wLjQsMC4yLTAuN2wx
-        LjEtMi40aDEuOGwtMi4yLDRsMi4yLDRIMTEuNnogTTE5LjgsMThoLTQuM3YtOGgxLjZ2Ni41aDIuN1Yx
-        OHogTTI1LjgsMTYuOGMtMC4yLDAuMy0wLjQsMC41LTAuNiwwLjcgICAgcy0wLjYsMC4zLTAuOSwwLjRD
-        MjMuOSwxOCwyMy41LDE4LDIzLjEsMThjLTAuNCwwLTAuOCwwLTEuMS0wLjFjLTAuNC0wLjEtMC43LTAu
-        Mi0wLjktMC4zdi0xLjdjMC4zLDAuMywwLjYsMC41LDEsMC42ICAgIGMwLjMsMC4xLDAuNywwLjIsMSww
-        LjJjMC4yLDAsMC40LDAsMC41LTAuMWMwLjIsMCwwLjMtMC4xLDAuNC0wLjJjMC4xLTAuMSwwLjItMC4y
-        LDAuMi0wLjJjMC0wLjEsMC4xLTAuMiwwLjEtMC4zICAgIGMwLTAuMiwwLTAuMy0wLjEtMC40Yy0wLjEt
-        MC4xLTAuMi0wLjItMC4zLTAuM3MtMC4zLTAuMi0wLjUtMC4zYy0wLjItMC4xLTAuNC0wLjItMC42LTAu
-        M2MtMC42LTAuMy0xLTAuNi0xLjMtMC45ICAgIGMtMC4zLTAuNC0wLjQtMC44LTAuNC0xLjNjMC0wLjQs
-        MC4xLTAuNywwLjItMWMwLjItMC4zLDAuNC0wLjUsMC42LTAuN2MwLjMtMC4yLDAuNi0wLjMsMC45LTAu
-        NHMwLjctMC4xLDEuMS0wLjEgICAgYzAuNCwwLDAuNywwLDEsMC4xYzAuMywwLDAuNiwwLjEsMC44LDAu
-        MnYxLjZjLTAuMS0wLjEtMC4zLTAuMi0wLjQtMC4ycy0wLjMtMC4xLTAuNC0wLjJjLTAuMiwwLTAuMy0w
-        LjEtMC41LTAuMSAgICBjLTAuMSwwLTAuMywwLTAuNCwwYy0wLjIsMC0wLjQsMC0wLjUsMC4xYy0wLjIs
-        MC0wLjMsMC4xLTAuNCwwLjJjLTAuMSwwLjEtMC4yLDAuMi0wLjIsMC4yYy0wLjEsMC4xLTAuMSwwLjIt
-        MC4xLDAuMyAgICBjMCwwLjEsMCwwLjIsMC4xLDAuM2MwLjEsMC4xLDAuMiwwLjIsMC4zLDAuM2MwLjEs
-        MC4xLDAuMywwLjIsMC40LDAuM2MwLjIsMC4xLDAuNCwwLjIsMC42LDAuM2MwLjMsMC4xLDAuNSwwLjMs
-        MC44LDAuNCAgICBjMC4yLDAuMSwwLjQsMC4zLDAuNiwwLjVjMC4yLDAuMiwwLjMsMC40LDAuNCwwLjZj
-        MC4xLDAuMiwwLjEsMC41LDAuMSwwLjhDMjYsMTYuMSwyNS45LDE2LjUsMjUuOCwxNi44eiIgY2xhc3M9
-        IkdyZWVuIiAvPg0KICAgIDwvZz4NCiAgICA8Zz4NCiAgICAgIDxwYXRoIGQ9Ik0yOSw4SDVDNC40LDgs
-        NCw4LjQsNCw5djEwYzAsMC42LDAuNCwxLDEsMWgyNGMwLjYsMCwxLTAuNCwxLTFWOUMzMCw4LjQsMjku
-        Niw4LDI5LDh6IE0xMS42LDE4bC0xLjItMi42ICAgIGMwLTAuMS0wLjEtMC4zLTAuMS0wLjVoMGMwLDAu
-        MS0wLjEsMC4zLTAuMiwwLjZMOC44LDE4SDYuOWwyLjMtNGwtMi4xLTRoMmwxLDIuNGMwLjEsMC4yLDAu
-        MiwwLjQsMC4yLDAuN2gwICAgIGMwLTAuMiwwLjEtMC40LDAuMi0wLjdsMS4xLTIuNGgxLjhsLTIuMiw0
-        bDIuMiw0SDExLjZ6IE0xOS44LDE4aC00LjN2LThoMS42djYuNWgyLjdWMTh6IE0yNS44LDE2LjhjLTAu
-        MiwwLjMtMC40LDAuNS0wLjYsMC43ICAgIHMtMC42LDAuMy0wLjksMC40QzIzLjksMTgsMjMuNSwxOCwy
-        My4xLDE4Yy0wLjQsMC0wLjgsMC0xLjEtMC4xYy0wLjQtMC4xLTAuNy0wLjItMC45LTAuM3YtMS43YzAu
-        MywwLjMsMC42LDAuNSwxLDAuNiAgICBjMC4zLDAuMSwwLjcsMC4yLDEsMC4yYzAuMiwwLDAuNCwwLDAu
-        NS0wLjFjMC4yLDAsMC4zLTAuMSwwLjQtMC4yYzAuMS0wLjEsMC4yLTAuMiwwLjItMC4yYzAtMC4xLDAu
-        MS0wLjIsMC4xLTAuMyAgICBjMC0wLjIsMC0wLjMtMC4xLTAuNGMtMC4xLTAuMS0wLjItMC4yLTAuMy0w
-        LjNzLTAuMy0wLjItMC41LTAuM2MtMC4yLTAuMS0wLjQtMC4yLTAuNi0wLjNjLTAuNi0wLjMtMS0wLjYt
-        MS4zLTAuOSAgICBjLTAuMy0wLjQtMC40LTAuOC0wLjQtMS4zYzAtMC40LDAuMS0wLjcsMC4yLTFjMC4y
-        LTAuMywwLjQtMC41LDAuNi0wLjdjMC4zLTAuMiwwLjYtMC4zLDAuOS0wLjRzMC43LTAuMSwxLjEtMC4x
-        ICAgIGMwLjQsMCwwLjcsMCwxLDAuMWMwLjMsMCwwLjYsMC4xLDAuOCwwLjJ2MS42Yy0wLjEtMC4xLTAu
-        My0wLjItMC40LTAuMnMtMC4zLTAuMS0wLjQtMC4yYy0wLjIsMC0wLjMtMC4xLTAuNS0wLjEgICAgYy0w
-        LjEsMC0wLjMsMC0wLjQsMGMtMC4yLDAtMC40LDAtMC41LDAuMWMtMC4yLDAtMC4zLDAuMS0wLjQsMC4y
-        Yy0wLjEsMC4xLTAuMiwwLjItMC4yLDAuMmMtMC4xLDAuMS0wLjEsMC4yLTAuMSwwLjMgICAgYzAsMC4x
-        LDAsMC4yLDAuMSwwLjNjMC4xLDAuMSwwLjIsMC4yLDAuMywwLjNjMC4xLDAuMSwwLjMsMC4yLDAuNCww
-        LjNjMC4yLDAuMSwwLjQsMC4yLDAuNiwwLjNjMC4zLDAuMSwwLjUsMC4zLDAuOCwwLjQgICAgYzAuMiww
-        LjEsMC40LDAuMywwLjYsMC41YzAuMiwwLjIsMC4zLDAuNCwwLjQsMC42YzAuMSwwLjIsMC4xLDAuNSww
-        LjEsMC44QzI2LDE2LjEsMjUuOSwxNi41LDI1LjgsMTYuOHoiIGNsYXNzPSJHcmVlbiIgLz4NCiAgICA8
-        L2c+DQogIDwvZz4NCjwvc3ZnPgs=
-</value>
-  </data>
-  <data name="barButtonItemEdit.ImageOptions.SvgImage" type="DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v23.2" mimetype="application/x-microsoft.net.object.bytearray.base64">
-    <value>
-        AAEAAAD/////AQAAAAAAAAAMAgAAAFlEZXZFeHByZXNzLkRhdGEudjIzLjIsIFZlcnNpb249MjMuMi40
-        LjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjg4ZDE3NTRkNzAwZTQ5YQUBAAAAHURl
-        dkV4cHJlc3MuVXRpbHMuU3ZnLlN2Z0ltYWdlAQAAAAREYXRhBwICAAAACQMAAAAPAwAAANgDAAAC77u/
-        PD94bWwgdmVyc2lvbj0nMS4wJyBlbmNvZGluZz0nVVRGLTgnPz4NCjxzdmcgeD0iMHB4IiB5PSIwcHgi
-        IHZpZXdCb3g9IjAgMCAzMiAzMiIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcv
-        MjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB4bWw6c3Bh
-        Y2U9InByZXNlcnZlIiBpZD0iTGF5ZXJfMSIgc3R5bGU9ImVuYWJsZS1iYWNrZ3JvdW5kOm5ldyAwIDAg
-        MzIgMzIiPg0KICA8c3R5bGUgdHlwZT0idGV4dC9jc3MiPgoJLkJsYWNre2ZpbGw6IzczNzM3NDt9Cgku
-        WWVsbG93e2ZpbGw6I0ZDQjAxQjt9CgkuR3JlZW57ZmlsbDojMTI5QzQ5O30KCS5CbHVle2ZpbGw6IzM4
-        N0NCNzt9CgkuUmVke2ZpbGw6I0QwMjEyNzt9CgkuV2hpdGV7ZmlsbDojRkZGRkZGO30KCS5zdDB7b3Bh
-        Y2l0eTowLjU7fQoJLnN0MXtvcGFjaXR5OjAuNzU7fQoJLnN0MntvcGFjaXR5OjAuMjU7fQoJLnN0M3tk
-        aXNwbGF5Om5vbmU7ZmlsbDojNzM3Mzc0O30KPC9zdHlsZT4NCiAgPHBhdGggZD0iTTYsNHYyaDE0YzIu
-        MiwwLDQsMS44LDQsNHYwYzAsMi4yLTEuOCw0LTQsNEgxMGMtMy4zLDAtNiwyLjctNiw2djBjMCwzLjMs
-        Mi43LDYsNiw2aDE0di0ySDEwICBjLTIuMiwwLTQtMS44LTQtNHYwYzAtMi4yLDEuOC00LDQtNGgxMGMz
-        LjMsMCw2LTIuNyw2LTZ2MGMwLTMuMy0yLjctNi02LTZINnoiIGNsYXNzPSJCbGFjayIgLz4NCiAgPHBh
-        dGggZD0iTTcsMkgzQzIuNSwyLDIsMi41LDIsM3Y0YzAsMC41LDAuNSwxLDEsMWg0YzAuNSwwLDEtMC41
-        LDEtMVYzQzgsMi41LDcuNSwyLDcsMnogTTYsNkg0VjRoMlY2eiIgY2xhc3M9IkJsdWUiIC8+DQogIDxw
-        YXRoIGQ9Ik0yNywyMmgtNGMtMC41LDAtMSwwLjUtMSwxdjRjMCwwLjUsMC41LDEsMSwxaDRjMC41LDAs
-        MS0wLjUsMS0xdi00QzI4LDIyLjUsMjcuNSwyMiwyNywyMnogTTI2LDI2aC0ydi0yaDJWMjYgIHoiIGNs
-        YXNzPSJCbHVlIiAvPg0KPC9zdmc+Cw==
-</value>
-  </data>
-  <data name="barButtonItemOnePoint.ImageOptions.SvgImage" type="DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v23.2" mimetype="application/x-microsoft.net.object.bytearray.base64">
-    <value>
-        AAEAAAD/////AQAAAAAAAAAMAgAAAFlEZXZFeHByZXNzLkRhdGEudjIzLjIsIFZlcnNpb249MjMuMi40
-        LjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjg4ZDE3NTRkNzAwZTQ5YQUBAAAAHURl
-        dkV4cHJlc3MuVXRpbHMuU3ZnLlN2Z0ltYWdlAQAAAAREYXRhBwICAAAACQMAAAAPAwAAAAcFAAAC77u/
-        PD94bWwgdmVyc2lvbj0nMS4wJyBlbmNvZGluZz0nVVRGLTgnPz4NCjxzdmcgeD0iMHB4IiB5PSIwcHgi
-        IHZpZXdCb3g9IjAgMCAzMiAzMiIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcv
-        MjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB4bWw6c3Bh
-        Y2U9InByZXNlcnZlIiBpZD0iTGF5ZXJfMSIgc3R5bGU9ImVuYWJsZS1iYWNrZ3JvdW5kOm5ldyAwIDAg
-        MzIgMzIiPg0KICA8c3R5bGUgdHlwZT0idGV4dC9jc3MiPgoJLlJlZHtmaWxsOiNEMTFDMUM7fQoJLlll
-        bGxvd3tmaWxsOiNGRkIxMTU7fQoJLkJsdWV7ZmlsbDojMTE3N0Q3O30KCS5HcmVlbntmaWxsOiMwMzlD
-        MjM7fQoJLkJsYWNre2ZpbGw6IzcyNzI3Mjt9CgkuV2hpdGV7ZmlsbDojRkZGRkZGO30KCS5zdDB7b3Bh
-        Y2l0eTowLjU7fQoJLnN0MXtvcGFjaXR5OjAuNzU7fQoJLnN0MntvcGFjaXR5OjAuMzU7fQoJLnN0M3tv
-        cGFjaXR5OjAuNjU7fQo8L3N0eWxlPg0KICA8ZyBpZD0iUG9pbnQiPg0KICAgIDxwYXRoIGQ9Ik0yNSwx
-        MGMtMS43LDAtMywxLjMtMywzczEuMywzLDMsM3MzLTEuMywzLTNTMjYuNywxMCwyNSwxMHogTTI1LDE0
-        Yy0wLjYsMC0xLTAuNC0xLTFjMC0wLjYsMC40LTEsMS0xICAgczEsMC40LDEsMUMyNiwxMy42LDI1LjYs
-        MTQsMjUsMTR6IE03LDEyYy0xLjcsMC0zLDEuMy0zLDNzMS4zLDMsMywzczMtMS4zLDMtM1M4LjcsMTIs
-        NywxMnogTTcsMTZjLTAuNiwwLTEtMC40LTEtMSAgIGMwLTAuNiwwLjQtMSwxLTFzMSwwLjQsMSwxQzgs
-        MTUuNiw3LjYsMTYsNywxNnoiIGNsYXNzPSJCbHVlIiAvPg0KICAgIDxwYXRoIGQ9Ik0xNSwxNmMtMS43
-        LDAtMywxLjMtMywzczEuMywzLDMsM3MzLTEuMywzLTNTMTYuNywxNiwxNSwxNnogTTE1LDIwYy0wLjYs
-        MC0xLTAuNC0xLTFjMC0wLjYsMC40LTEsMS0xICAgczEsMC40LDEsMUMxNiwxOS42LDE1LjYsMjAsMTUs
-        MjB6IiBjbGFzcz0iUmVkIiAvPg0KICAgIDxwYXRoIGQ9Ik0xNyw0Yy0xLjcsMC0zLDEuMy0zLDNzMS4z
-        LDMsMywzczMtMS4zLDMtM1MxOC43LDQsMTcsNHogTTE3LDhjLTAuNiwwLTEtMC40LTEtMWMwLTAuNiww
-        LjQtMSwxLTEgICBzMSwwLjQsMSwxQzE4LDcuNiwxNy42LDgsMTcsOHogTTcsMjJjLTEuNywwLTMsMS4z
-        LTMsM3MxLjMsMywzLDNzMy0xLjMsMy0zUzguNywyMiw3LDIyeiBNNywyNmMtMC42LDAtMS0wLjQtMS0x
-        YzAtMC42LDAuNC0xLDEtMSAgIHMxLDAuNCwxLDFDOCwyNS42LDcuNiwyNiw3LDI2eiIgY2xhc3M9Illl
-        bGxvdyIgLz4NCiAgPC9nPg0KPC9zdmc+Cw==
-</value>
-  </data>
-  <data name="barBtnEditProp.ImageOptions.SvgImage" type="DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v23.2" mimetype="application/x-microsoft.net.object.bytearray.base64">
-    <value>
-        AAEAAAD/////AQAAAAAAAAAMAgAAAFlEZXZFeHByZXNzLkRhdGEudjIzLjIsIFZlcnNpb249MjMuMi40
-        LjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjg4ZDE3NTRkNzAwZTQ5YQUBAAAAHURl
-        dkV4cHJlc3MuVXRpbHMuU3ZnLlN2Z0ltYWdlAQAAAAREYXRhBwICAAAACQMAAAAPAwAAAM4DAAAC77u/
-        PD94bWwgdmVyc2lvbj0nMS4wJyBlbmNvZGluZz0nVVRGLTgnPz4NCjxzdmcgeD0iMHB4IiB5PSIwcHgi
-        IHZpZXdCb3g9IjAgMCAzMiAzMiIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcv
-        MjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB4bWw6c3Bh
-        Y2U9InByZXNlcnZlIiBpZD0iTGF5ZXJfMSIgc3R5bGU9ImVuYWJsZS1iYWNrZ3JvdW5kOm5ldyAwIDAg
-        MzIgMzIiPg0KICA8c3R5bGUgdHlwZT0idGV4dC9jc3MiPgoJLkdyZWVue2ZpbGw6IzAzOUMyMzt9Cgku
-        QmxhY2t7ZmlsbDojNzI3MjcyO30KCS5SZWR7ZmlsbDojRDExQzFDO30KCS5ZZWxsb3d7ZmlsbDojRkZC
-        MTE1O30KCS5CbHVle2ZpbGw6IzExNzdENzt9CgkuV2hpdGV7ZmlsbDojRkZGRkZGO30KCS5zdDB7b3Bh
-        Y2l0eTowLjU7fQoJLnN0MXtvcGFjaXR5OjAuNzU7fQo8L3N0eWxlPg0KICA8ZyBpZD0iRWRpdEV4dHJh
-        Y3RTb3VyY2UiPg0KICAgIDxwYXRoIGQ9Ik0xNiwxN2MwLDAuNS0wLjUsMS0xLDFINnY3YzAsMS41LDMu
-        MSwyLjcsNy4yLDIuOUwyNCwxNy4yVjljMC0xLjUtMy41LTIuOC04LTNWMTd6IiBjbGFzcz0iWWVsbG93
-        IiAvPg0KICAgIDxwYXRoIGQ9Ik0yOSwyM2wtOCw4bC00LTRsOC04TDI5LDIzeiBNMzAsMjJsMS43LTEu
-        N2MwLjQtMC40LDAuNC0xLDAtMS4zTDI5LDE2LjNjLTAuNC0wLjQtMS0wLjQtMS4zLDBMMjYsMThMMzAs
-        MjJ6ICAgIE0xNiwyOHY0aDRMMTYsMjh6IiBjbGFzcz0iQmx1ZSIgLz4NCiAgICA8cGF0aCBkPSJNMTIs
-        MTAuOFYxNEgyVjRoOC4ybDItMkgxQzAuNSwyLDAsMi41LDAsM3YxMmMwLDAuNSwwLjUsMSwxLDFoMTJj
-        MC41LDAsMS0wLjUsMS0xVjguOEwxMiwxMC44eiIgY2xhc3M9IkJsYWNrIiAvPg0KICAgIDxwb2x5Z29u
-        IHBvaW50cz0iNCw1IDQsOCA4LDEyIDE2LDQgMTYsMSA4LDkgICIgY2xhc3M9IkdyZWVuIiAvPg0KICA8
-        L2c+DQo8L3N2Zz4L
-</value>
-  </data>
-  <data name="barBtnRefreshMatching.ImageOptions.SvgImage" type="DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v23.2" mimetype="application/x-microsoft.net.object.bytearray.base64">
-    <value>
-        AAEAAAD/////AQAAAAAAAAAMAgAAAFlEZXZFeHByZXNzLkRhdGEudjIzLjIsIFZlcnNpb249MjMuMi40
-        LjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjg4ZDE3NTRkNzAwZTQ5YQUBAAAAHURl
-        dkV4cHJlc3MuVXRpbHMuU3ZnLlN2Z0ltYWdlAQAAAAREYXRhBwICAAAACQMAAAAPAwAAAI8DAAAC77u/
-        PD94bWwgdmVyc2lvbj0nMS4wJyBlbmNvZGluZz0nVVRGLTgnPz4NCjxzdmcgeD0iMHB4IiB5PSIwcHgi
-        IHZpZXdCb3g9IjAgMCAzMiAzMiIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcv
-        MjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB4bWw6c3Bh
-        Y2U9InByZXNlcnZlIiBpZD0iUmVmcmVzaCIgc3R5bGU9ImVuYWJsZS1iYWNrZ3JvdW5kOm5ldyAwIDAg
-        MzIgMzIiPg0KICA8c3R5bGUgdHlwZT0idGV4dC9jc3MiPgoJLkJsdWV7ZmlsbDojMTE3N0Q3O30KCS5C
-        bGFja3tmaWxsOiM3MjcyNzI7fQoJLkdyZWVue2ZpbGw6IzAzOUMyMzt9Cgkuc3Qwe29wYWNpdHk6MC41
-        O30KPC9zdHlsZT4NCiAgPGcgY2xhc3M9InN0MCI+DQogICAgPHBhdGggZD0iTTEwLDEwSDZWNmg0VjEw
-        eiBNMjQsNkgxMnY0aDEyVjZ6IE0xMCwxMkg2djEyaDRWMTJ6IiBjbGFzcz0iQmx1ZSIgLz4NCiAgPC9n
-        Pg0KICA8cGF0aCBkPSJNMzAsMTZ2NmgtMC4xaC0ySDI0bDIuNS0yLjVDMjUuNiwxOC42LDI0LjQsMTgs
-        MjMsMThjLTIuNCwwLTQuNCwxLjctNC45LDRoLTJjMC41LTMuNCwzLjQtNiw2LjktNiAgYzEuOSwwLDMu
-        NywwLjgsNC45LDIuMUwzMCwxNnogTTIzLDI4Yy0xLjQsMC0yLjYtMC42LTMuNS0xLjVMMjIsMjRoLTMu
-        OWgtMkgxNnY2bDIuMS0yLjFjMS4zLDEuMywzLDIuMSw0LjksMi4xICBjMy41LDAsNi40LTIuNiw2Ljkt
-        NmgtMkMyNy40LDI2LjMsMjUuNCwyOCwyMywyOHoiIGNsYXNzPSJHcmVlbiIgLz4NCiAgPHBhdGggZD0i
-        TTI3LDJIM0MyLjQsMiwyLDIuNCwyLDN2MjRjMCwwLjYsMC40LDEsMSwxaDExdi0ySDRWNGgyMnYxMC41
-        YzAuNywwLjMsMS40LDAuNiwyLDFWM0MyOCwyLjQsMjcuNiwyLDI3LDJ6IiBjbGFzcz0iQmxhY2siIC8+
-        DQo8L3N2Zz4L
-</value>
-  </data>
-  <data name="barButtonItemPicture.ImageOptions.SvgImage" type="DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v23.2" mimetype="application/x-microsoft.net.object.bytearray.base64">
-    <value>
-        AAEAAAD/////AQAAAAAAAAAMAgAAAFlEZXZFeHByZXNzLkRhdGEudjIzLjIsIFZlcnNpb249MjMuMi40
-        LjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjg4ZDE3NTRkNzAwZTQ5YQUBAAAAHURl
-        dkV4cHJlc3MuVXRpbHMuU3ZnLlN2Z0ltYWdlAQAAAAREYXRhBwICAAAACQMAAAAPAwAAANECAAAC77u/
-        PD94bWwgdmVyc2lvbj0nMS4wJyBlbmNvZGluZz0nVVRGLTgnPz4NCjxzdmcgeD0iMHB4IiB5PSIwcHgi
-        IHZpZXdCb3g9IjAgMCAzMiAzMiIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcv
-        MjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB4bWw6c3Bh
-        Y2U9InByZXNlcnZlIiBpZD0iUGljdHVyZSIgc3R5bGU9ImVuYWJsZS1iYWNrZ3JvdW5kOm5ldyAwIDAg
-        MzIgMzIiPg0KICA8c3R5bGUgdHlwZT0idGV4dC9jc3MiPgoJLkJsYWNre2ZpbGw6IzcyNzI3Mjt9Cgku
-        R3JlZW57ZmlsbDojMDM5QzIzO30KCS5ZZWxsb3d7ZmlsbDojRkZCMTE1O30KCS5zdDB7b3BhY2l0eTow
-        LjU7fQo8L3N0eWxlPg0KICA8cGF0aCBkPSJNMjksNEgzQzIuNSw0LDIsNC41LDIsNXYyMmMwLDAuNSww
-        LjUsMSwxLDFoMjZjMC41LDAsMS0wLjUsMS0xVjVDMzAsNC41LDI5LjUsNCwyOSw0eiBNMjgsMjZINFY2
-        aDI0VjI2eiIgY2xhc3M9IkJsYWNrIiAvPg0KICA8Y2lyY2xlIGN4PSIyMSIgY3k9IjExIiByPSIzIiBj
-        bGFzcz0iWWVsbG93IiAvPg0KICA8cG9seWdvbiBwb2ludHM9IjIwLDI0IDEwLDE0IDYsMTggNiwyNCAi
-        IGNsYXNzPSJHcmVlbiIgLz4NCiAgPGcgY2xhc3M9InN0MCI+DQogICAgPHBvbHlnb24gcG9pbnRzPSIy
-        MiwyNCAxOCwyMCAyMCwxOCAyNiwyNCAgIiBjbGFzcz0iR3JlZW4iIC8+DQogIDwvZz4NCjwvc3ZnPgs=
-</value>
-  </data>
-  <metadata name="popupMenu2.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
-    <value>566, 17</value>
-  </metadata>
-  <metadata name="popupMenuEdit.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
-    <value>700, 17</value>
-  </metadata>
-</root>
\ No newline at end of file
diff --git a/WinFrmUI/HStation.WinFrmUI.Xhs.Core/04-pump/SinglePumpInfoViewDLg.Designer.cs b/WinFrmUI/HStation.WinFrmUI.Xhs.Core/04-pump/SinglePumpInfoViewDLg.Designer.cs
deleted file mode 100644
index 7e22dd1..0000000
--- a/WinFrmUI/HStation.WinFrmUI.Xhs.Core/04-pump/SinglePumpInfoViewDLg.Designer.cs
+++ /dev/null
@@ -1,47 +0,0 @@
-锘縩amespace HStation.WinFrmUI
-{
-    partial class SinglePumpInfoViewDlg
-    {
-        /// <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()
-        {
-            SuspendLayout();
-            // 
-            // SinglePumpInfoViewDlg
-            // 
-            AutoScaleDimensions = new SizeF(10F, 22F);
-            AutoScaleMode = AutoScaleMode.Font;
-            ClientSize = new Size(1283, 908);
-            Margin = new Padding(4, 5, 4, 5);
-            Name = "SinglePumpInfoViewDlg";
-            StartPosition = FormStartPosition.CenterScreen;
-            Text = "XtraForm1";
-            ResumeLayout(false);
-        }
-
-        #endregion
-    }
-}
\ No newline at end of file
diff --git a/WinFrmUI/HStation.WinFrmUI.Xhs.Core/04-pump/SinglePumpInfoViewDLg.cs b/WinFrmUI/HStation.WinFrmUI.Xhs.Core/04-pump/SinglePumpInfoViewDLg.cs
deleted file mode 100644
index eeed8f1..0000000
--- a/WinFrmUI/HStation.WinFrmUI.Xhs.Core/04-pump/SinglePumpInfoViewDLg.cs
+++ /dev/null
@@ -1,14 +0,0 @@
-锘縩amespace HStation.WinFrmUI
-{
-    public partial class SinglePumpInfoViewDlg : DevExpress.XtraEditors.XtraForm
-    {
-        public SinglePumpInfoViewDlg()
-        {
-            InitializeComponent();
-        }
-
-        public void SetBindindData(PumpMatchingViewModel pumpMatchingViewModel)
-        {
-        }
-    }
-}
\ No newline at end of file
diff --git a/WinFrmUI/HStation.WinFrmUI.Xhs.Core/04-pump/SinglePumpInfoViewDLg.resx b/WinFrmUI/HStation.WinFrmUI.Xhs.Core/04-pump/SinglePumpInfoViewDLg.resx
deleted file mode 100644
index 8b2ff64..0000000
--- a/WinFrmUI/HStation.WinFrmUI.Xhs.Core/04-pump/SinglePumpInfoViewDLg.resx
+++ /dev/null
@@ -1,120 +0,0 @@
-锘�<?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/HStation.WinFrmUI.Xhs.Core.csproj b/WinFrmUI/HStation.WinFrmUI.Xhs.Core/HStation.WinFrmUI.Xhs.Core.csproj
index c4c7252..a67c4f8 100644
--- a/WinFrmUI/HStation.WinFrmUI.Xhs.Core/HStation.WinFrmUI.Xhs.Core.csproj
+++ b/WinFrmUI/HStation.WinFrmUI.Xhs.Core/HStation.WinFrmUI.Xhs.Core.csproj
@@ -16,8 +16,7 @@
 		<Compile Remove="03-simulation\07-matching\07-fourlink\01-fourlinksinglematching\**" />
 		<Compile Remove="03-ViewModel\**" />
 		<Compile Remove="04-HomePageMainPanel\**" />
-		<Compile Remove="04-pump\02-analy\**" />
-		<Compile Remove="04-pump\03-calc\**" />
+		<Compile Remove="map\gaode\css\**" />
 		<Compile Remove="Resources\**" />
 		<EmbeddedResource Remove="02-project\01-import\01-ModelFile\**" />
 		<EmbeddedResource Remove="03-simulation\04-scheme\01-info - 澶嶅埗\**" />
@@ -27,8 +26,7 @@
 		<EmbeddedResource Remove="03-simulation\07-matching\07-fourlink\01-fourlinksinglematching\**" />
 		<EmbeddedResource Remove="03-ViewModel\**" />
 		<EmbeddedResource Remove="04-HomePageMainPanel\**" />
-		<EmbeddedResource Remove="04-pump\02-analy\**" />
-		<EmbeddedResource Remove="04-pump\03-calc\**" />
+		<EmbeddedResource Remove="map\gaode\css\**" />
 		<EmbeddedResource Remove="Resources\**" />
 		<None Remove="02-project\01-import\01-ModelFile\**" />
 		<None Remove="03-simulation\04-scheme\01-info - 澶嶅埗\**" />
@@ -38,8 +36,7 @@
 		<None Remove="03-simulation\07-matching\07-fourlink\01-fourlinksinglematching\**" />
 		<None Remove="03-ViewModel\**" />
 		<None Remove="04-HomePageMainPanel\**" />
-		<None Remove="04-pump\02-analy\**" />
-		<None Remove="04-pump\03-calc\**" />
+		<None Remove="map\gaode\css\**" />
 		<None Remove="Resources\**" />
 		<Page Remove="02-project\01-import\01-ModelFile\**" />
 		<Page Remove="03-simulation\04-scheme\01-info - 澶嶅埗\**" />
@@ -49,8 +46,7 @@
 		<Page Remove="03-simulation\07-matching\07-fourlink\01-fourlinksinglematching\**" />
 		<Page Remove="03-ViewModel\**" />
 		<Page Remove="04-HomePageMainPanel\**" />
-		<Page Remove="04-pump\02-analy\**" />
-		<Page Remove="04-pump\03-calc\**" />
+		<Page Remove="map\gaode\css\**" />
 		<Page Remove="Resources\**" />
 	</ItemGroup>
 
@@ -90,12 +86,6 @@
 		<Compile Remove="03-simulation\07-matching\07-fourlink\XhsProjectSimulationFourlinkMatchingListCtrl.cs" />
 		<Compile Remove="03-simulation\07-matching\07-fourlink\XhsProjectSimulationFourlinkMatchingListCtrl.Designer.cs" />
 		<Compile Remove="03-simulation\07-matching\07-fourlink\XhsProjectSimulationFourlinkMatchingViewModel.cs" />
-		<Compile Remove="04-pump\PumpFullInfoCtrl.cs" />
-		<Compile Remove="04-pump\PumpFullInfoCtrl.designer.cs" />
-		<Compile Remove="04-pump\PumpFullInfoViewDlg.cs" />
-		<Compile Remove="04-pump\PumpFullInfoViewDlg.Designer.cs" />
-		<Compile Remove="04-pump\SinglePumpInfoViewDLg.cs" />
-		<Compile Remove="04-pump\SinglePumpInfoViewDLg.Designer.cs" />
 	</ItemGroup>
 
 	<ItemGroup>
@@ -113,9 +103,6 @@
 		<EmbeddedResource Remove="03-simulation\07-matching\05-elbows\XhsProjectSimulationElbowsMatchingListCtrl.resx" />
 		<EmbeddedResource Remove="03-simulation\07-matching\06-threelink\XhsProjectSimulationThreelinkMatchingListCtrl.resx" />
 		<EmbeddedResource Remove="03-simulation\07-matching\07-fourlink\XhsProjectSimulationFourlinkMatchingListCtrl.resx" />
-		<EmbeddedResource Remove="04-pump\PumpFullInfoCtrl.resx" />
-		<EmbeddedResource Remove="04-pump\PumpFullInfoViewDlg.resx" />
-		<EmbeddedResource Remove="04-pump\SinglePumpInfoViewDLg.resx" />
 	</ItemGroup>
 
 	<ItemGroup>
@@ -170,10 +157,6 @@
 		<PackageReference Include="DevExpress.Win.Design" Version="23.2.4" />
 		<PackageReference Include="Yw.SkiaSharp.Core" Version="3.0.0" />
 		<PackageReference Include="Yw.ZipFile.Core" Version="3.0.2" />
-	</ItemGroup>
-
-	<ItemGroup>
-		<Folder Include="map\gaode\css\" />
 	</ItemGroup>
 
 	<ItemGroup>
@@ -388,6 +371,9 @@
 		<Compile Update="03-simulation\01-info\XhsProjectSimulationBimfaceInfoCtrl.cs" />
 		<Compile Update="03-simulation\01-info\XhsProjectSimulationInfoPage.cs" />
 		<Compile Update="03-simulation\03-q3d\XhsProjectSimulationQ3dCtrl.cs" />
+		<Compile Update="03-simulation\11-pump\05-edit\SimulationPumpCurveEditDlg.cs">
+		  <SubType>Form</SubType>
+		</Compile>
 		<Compile Update="eMatchingDlg.cs" />
 		<Compile Update="03-simulation\06-simulation\XhsProjectSimulationCorePage.cs" />
 		<Compile Update="03-simulation\09-energy\SimulationMultiWorkingEnergyDlg.cs" />
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 4ab853d..70809e2 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
@@ -280,14 +280,5 @@
     <Compile Update="03-simulation\XhsProjectSimulationMgrPage.cs">
       <SubType>UserControl</SubType>
     </Compile>
-    <Compile Update="04-pump\01-Prop\PumpPropViewCtrl.cs">
-      <SubType>UserControl</SubType>
-    </Compile>
-    <Compile Update="04-pump\02-analy\SinglePumpAnalyInfoCtrl.cs">
-      <SubType>UserControl</SubType>
-    </Compile>
-    <Compile Update="04-pump\03-calc\SinglePumpCalcCtrl.cs">
-      <SubType>UserControl</SubType>
-    </Compile>
   </ItemGroup>
 </Project>
\ No newline at end of file
diff --git a/WinFrmUI/Yw.WinFrmUI.Hydro.Core/04-viewmodel/04-link/03-pump/HydroPumpViewModel.cs b/WinFrmUI/Yw.WinFrmUI.Hydro.Core/04-viewmodel/04-link/03-pump/HydroPumpViewModel.cs
index fee2aa7..3ead8a7 100644
--- a/WinFrmUI/Yw.WinFrmUI.Hydro.Core/04-viewmodel/04-link/03-pump/HydroPumpViewModel.cs
+++ b/WinFrmUI/Yw.WinFrmUI.Hydro.Core/04-viewmodel/04-link/03-pump/HydroPumpViewModel.cs
@@ -215,7 +215,7 @@
         [DisplayName("娴侀噺鎵▼鏇茬嚎")]
         [PropertyOrder(2012)]
         [HydroCurvePro(HydroCurve.Pump, HydroCurveType.CurveQH)]
-        [Browsable(true)]
+        [Browsable(false)]
         public string CurveQH { get; set; }
 
         /// <summary>
@@ -225,7 +225,7 @@
         [DisplayName("娴侀噺鍔熺巼鏇茬嚎")]
         [PropertyOrder(2013)]
         [HydroCurvePro(HydroCurve.Pump, HydroCurveType.CurveQP)]
-        [Browsable(true)]
+        [Browsable(false)]
         public string CurveQP { get; set; }
 
         /// <summary>
@@ -235,7 +235,7 @@
         [DisplayName("娴侀噺鏁堢巼鏇茬嚎")]
         [PropertyOrder(2014)]
         [HydroCurvePro(HydroCurve.Pump, HydroCurveType.CurveQE)]
-        [Browsable(true)]
+        [Browsable(false)]
         public string CurveQE { get; set; }
 
         /// <summary>

--
Gitblit v1.9.3