From af5eeb8797d88e142410a9e82e84291355e7c336 Mon Sep 17 00:00:00 2001
From: duheng <2286773002@qq.com>
Date: 星期三, 02 四月 2025 17:01:57 +0800
Subject: [PATCH] --成套设备曲线增加 --用水当量逻辑改变

---
 WinFrmUI/PBS.WinFrmUI.WE/WaterWE/ItemViewModel.cs                                                |   17 
 WinFrmUI/PBS.WinFrmUI/04-package-curve/packageCurveViewModel.cs                                  |   76 +
 WinFrmUI/PBS.WinFrmUI.Hydro/06-schedule-simulation/SimulationSchedulePage.cs                     |  215 +-
 WinFrmUI/PBS.WinFrmUI.WE/PBS.WinFrmUI.WE.csproj.user                                             |    3 
 BLL/PBS.BLL.WE/02-httpclient/01-utensil/UtensilMapping.cs                                        |    5 
 WinFrmUI/PBS.WinFrmUI.WE/PBS.WinFrmUI.WE.csproj                                                  |    2 
 WinFrmUI/PBS.WinFrmUI.WE/WaterWE/EditWaterWEDlg.designer.cs                                      |  509 ++-----
 WinFrmUI/HStation.WinFrmUI.Assets.Core/12-package/02-main/EditAssetsPackageMainDlg.cs            |    4 
 WinFrmUI/PBS.WinFrmUI.WE/WaterWE/EditWaterWEDlg.resx                                             |   28 
 WinFrmUI/HStation.WinFrmUI.Assets.Core/12-package/02-main/AddAssetsPackageMainDlg.cs             |    2 
 WinFrmUI/HStation.WinFrmUI.Assets.Core/12-package/PackageManageMainPage.cs                       |    2 
 WinFrmUI/PBS.WinFrmUI.WE/WaterWE/WaterEquivalentMgr.resx                                         |   62 
 WinFrmUI/PBS.WinFrmUI.WE/WaterWE/AddWaterWEDlg.designer.cs                                       |  374 +++++
 WinFrmUI/PBS.WinFrmUI.Hydro/06-schedule-simulation/SimulationSchedulePage.resx                   |   76 
 WinFrmUI/PBS.WinFrmUI.WE/WaterWE/AddWaterWEDlg.resx                                              |  148 ++
 WinFrmUI/PBS.WinFrmUI/PBS.WinFrmUI.csproj                                                        |    1 
 WinFrmUI/PBS.WinFrmUI.WE/WaterUtensil/AddWaterUtensilDlg.cs                                      |    4 
 WinFrmUI/PBS.WinFrmUI.Hydro/06-schedule-simulation/SimulationSchedulePage.designer.cs            | 1682 +++++++++++++------------
 BLL/PBS.BLL/04-bll/04-elec-price/ElecPrice.cs                                                    |   45 
 WinFrmUI/PBS.WinFrmUI.WE/WaterWE/WaterEquivalentMgr.designer.cs                                  |   68 
 BLL/HStation.BLL.Assets.Core/04-bll/13-Package/03-PackagePumpMapping/AssetsPackagePumpMapping.cs |    2 
 WinFrmUI/PBS.WinFrmUI.WE/WaterWE/AddWaterWEDlg.cs                                                |  197 +++
 WinFrmUI/PBS.WinFrmUI.WE/WaterWE/EditWaterWEDlg.cs                                               |  183 --
 WinFrmUI/PBS.WinFrmUI.WE/WaterUtensil/WaterUtensilMgr.cs                                         |    1 
 WinFrmUI/PBS.WinFrmUI/02-facility/00-core/FacilitiesCtrl.Designer.cs                             |    4 
 WinFrmUI/PBS.WinFrmUI/02-facility/FacilityMgrPage.cs                                             |   12 
 BLL/PBS.BLL.WE/01-interface/01-utensil/IUtensilMapping.cs                                        |    1 
 WinFrmUI/PBS.WinFrmUI.WE/WaterWE/WaterEquivalentMgr.cs                                           |   90 
 28 files changed, 2,209 insertions(+), 1,604 deletions(-)

diff --git a/BLL/HStation.BLL.Assets.Core/04-bll/13-Package/03-PackagePumpMapping/AssetsPackagePumpMapping.cs b/BLL/HStation.BLL.Assets.Core/04-bll/13-Package/03-PackagePumpMapping/AssetsPackagePumpMapping.cs
index cb49daf..06615f7 100644
--- a/BLL/HStation.BLL.Assets.Core/04-bll/13-Package/03-PackagePumpMapping/AssetsPackagePumpMapping.cs
+++ b/BLL/HStation.BLL.Assets.Core/04-bll/13-Package/03-PackagePumpMapping/AssetsPackagePumpMapping.cs
@@ -29,7 +29,7 @@
             return Vmo;
         }
 
-        public async Task<List<Vmo.AssetsPackagePumpMappingVmo>> GetByKitID(long ID)
+        public async Task<List<Vmo.AssetsPackagePumpMappingVmo>> GetByPackageID(long ID)
         {
             var DtoList = await _cal.GetByPackageID(ID);
             var VmoList = Dto2Vmos(DtoList);
diff --git a/BLL/PBS.BLL.WE/01-interface/01-utensil/IUtensilMapping.cs b/BLL/PBS.BLL.WE/01-interface/01-utensil/IUtensilMapping.cs
index 22df742..123dbe4 100644
--- a/BLL/PBS.BLL.WE/01-interface/01-utensil/IUtensilMapping.cs
+++ b/BLL/PBS.BLL.WE/01-interface/01-utensil/IUtensilMapping.cs
@@ -12,6 +12,7 @@
         /// </summary>
         public Task<List<UtensilMappingDto>> GetByItemID(long ItemID);
 
+
         /// <summary>
         /// 閫氳繃  ItemID 鍒犻櫎鎵�鏈�
         /// </summary>
diff --git a/BLL/PBS.BLL.WE/02-httpclient/01-utensil/UtensilMapping.cs b/BLL/PBS.BLL.WE/02-httpclient/01-utensil/UtensilMapping.cs
index 2766c5c..da283cb 100644
--- a/BLL/PBS.BLL.WE/02-httpclient/01-utensil/UtensilMapping.cs
+++ b/BLL/PBS.BLL.WE/02-httpclient/01-utensil/UtensilMapping.cs
@@ -21,5 +21,10 @@
         {
             throw new NotImplementedException();
         }
+
+        public Task<List<UtensilMappingDto>> GetByUtensilIds(List<long> Ids)
+        {
+            throw new NotImplementedException();
+        }
     }
 }
\ No newline at end of file
diff --git a/BLL/PBS.BLL/04-bll/04-elec-price/ElecPrice.cs b/BLL/PBS.BLL/04-bll/04-elec-price/ElecPrice.cs
index efa2411..eb3267c 100644
--- a/BLL/PBS.BLL/04-bll/04-elec-price/ElecPrice.cs
+++ b/BLL/PBS.BLL/04-bll/04-elec-price/ElecPrice.cs
@@ -100,5 +100,50 @@
         }
 
         #endregion Delete
+
+        public async Task<double> CalcuShysElectricityFees(DateTime time, double el)
+        {
+            var allList = await GetAll();
+            var month = time.Month;
+            var hour = time.Hour;
+            var monthSettings = allList.First().Settings.MonthList.Find(x => month >= x.StartMonth && month <= x.EndMonth);
+            var hourList = monthSettings.HourList;
+           
+                var item = hourList.Find(x => hour >= x.StartHour && hour < x.EndHour);
+
+                return el * item.Price;
+             
+        }
+
+        public async Task<int> PeakValleyFlatValid(DateTime time)
+        {
+            var allList = await GetAll();
+            var month = time.Month;
+            var hour = time.Hour;
+            var monthSettings = allList.First().Settings.MonthList.Find(x => month >= x.StartMonth && month <= x.EndMonth);
+            var hourList = monthSettings.HourList;
+            if (hour == 23)
+            {
+                var item = hourList.Find(x => x.EndHour == 23);
+                if (item.Name == "宄版椂娈�")
+                    return 1;
+                if (item.Name == "璋锋椂娈�")
+                    return 2;
+                if (item.Name == "骞虫椂娈�")
+                    return 3;
+            }
+            else
+            {
+                var item = hourList.Find(x => hour >= x.StartHour && hour < x.EndHour);
+                if (item.Name == "宄版椂娈�")
+                    return 1;
+                if (item.Name == "璋锋椂娈�")
+                    return 2;
+                if (item.Name == "骞虫椂娈�")
+                    return 3;
+            }
+
+            return 0;
+        }
     }
 }
\ No newline at end of file
diff --git a/WinFrmUI/HStation.WinFrmUI.Assets.Core/12-package/02-main/AddAssetsPackageMainDlg.cs b/WinFrmUI/HStation.WinFrmUI.Assets.Core/12-package/02-main/AddAssetsPackageMainDlg.cs
index af3baf5..afda9ba 100644
--- a/WinFrmUI/HStation.WinFrmUI.Assets.Core/12-package/02-main/AddAssetsPackageMainDlg.cs
+++ b/WinFrmUI/HStation.WinFrmUI.Assets.Core/12-package/02-main/AddAssetsPackageMainDlg.cs
@@ -64,7 +64,7 @@
             if (_allBindingList != null)
             {
                 int.TryParse(textEditUseCount.Text, out int UseCount);
-                if (UseCount < _allBindingList.Count)
+                if (UseCount > _allBindingList.Count)
                 {
                     TipFormHelper.ShowError("浣跨敤鏁伴噺澶т簬娉垫暟閲�");
                     return false;
diff --git a/WinFrmUI/HStation.WinFrmUI.Assets.Core/12-package/02-main/EditAssetsPackageMainDlg.cs b/WinFrmUI/HStation.WinFrmUI.Assets.Core/12-package/02-main/EditAssetsPackageMainDlg.cs
index e2e5ba9..21c15ee 100644
--- a/WinFrmUI/HStation.WinFrmUI.Assets.Core/12-package/02-main/EditAssetsPackageMainDlg.cs
+++ b/WinFrmUI/HStation.WinFrmUI.Assets.Core/12-package/02-main/EditAssetsPackageMainDlg.cs
@@ -21,7 +21,7 @@
             _EquipmentVmo = KitMainVmo;
             var pumpAllList = await new BLL.AssetsPumpMain().GetAll();
             this.repositoryItemTreeListLookUpEdit1.DataSource = pumpAllList;
-            var pumpList = await new BLL.AssetsPackagePumpMapping().GetByKitID(_EquipmentVmo.ID);
+            var pumpList = await new BLL.AssetsPackagePumpMapping().GetByPackageID(_EquipmentVmo.ID);
             _allBindingList = new List<PumpAccountViewModel>();
             if (pumpList != null)
             {
@@ -80,7 +80,7 @@
             if (_allBindingList != null)
             {
                 int.TryParse(textEditUseCount.Text, out int UseCount);
-                if (UseCount < _allBindingList.Count)
+                if (UseCount > _allBindingList.Count)
                 {
                     TipFormHelper.ShowError("浣跨敤鏁伴噺澶т簬娉垫暟閲�");
                     return false;
diff --git a/WinFrmUI/HStation.WinFrmUI.Assets.Core/12-package/PackageManageMainPage.cs b/WinFrmUI/HStation.WinFrmUI.Assets.Core/12-package/PackageManageMainPage.cs
index 654755b..4937c9c 100644
--- a/WinFrmUI/HStation.WinFrmUI.Assets.Core/12-package/PackageManageMainPage.cs
+++ b/WinFrmUI/HStation.WinFrmUI.Assets.Core/12-package/PackageManageMainPage.cs
@@ -198,7 +198,7 @@
             var currentVm = this.gridView1.GetCurrentViewModel(_allBindingList);
             if (currentVm != null)
             {
-                var allList = await new BLL.AssetsPackagePumpMapping().GetByKitID(currentVm.ID);
+                var allList = await new BLL.AssetsPackagePumpMapping().GetByPackageID(currentVm.ID);
                 if (allList != null)
                 {
                     foreach (var item in allList)
diff --git a/WinFrmUI/PBS.WinFrmUI.Hydro/06-schedule-simulation/SimulationSchedulePage.cs b/WinFrmUI/PBS.WinFrmUI.Hydro/06-schedule-simulation/SimulationSchedulePage.cs
index bee9ddf..0fee180 100644
--- a/WinFrmUI/PBS.WinFrmUI.Hydro/06-schedule-simulation/SimulationSchedulePage.cs
+++ b/WinFrmUI/PBS.WinFrmUI.Hydro/06-schedule-simulation/SimulationSchedulePage.cs
@@ -22,9 +22,8 @@
             this.chartControl.MouseDown += this.chartControl_MouseDown;
             this.chartControl.AnimationStartMode = ChartAnimationMode.OnLoad;
             this.gridView1.SetNormalView();
-            this.gridView1.OptionsView.ShowIndicator = false; 
-            this.PageTitle.Caption = "妯℃嫙璁$畻"; 
-  
+            this.gridView1.OptionsView.ShowIndicator = false;
+            this.PageTitle.Caption = "妯℃嫙璁$畻";
         }
 
         #region Class
@@ -101,7 +100,7 @@
             /// 璁$畻鐢ㄦ埛鍘嬪姏(璁$畻鍘嬪姏-鐩爣鍘嬪姏+鏈鍘嬪姏)
             /// </summary>
             public double CalcHead { get; set; }
-             
+
             /// <summary>
             /// 鍙樺帇鎬昏兘鑰�
             /// </summary>
@@ -111,7 +110,6 @@
             /// 鎭掑帇鎬昏兘鑰�
             /// </summary>
             public double TotalEnergyCP { get; set; }
-
 
             /// <summary>
             /// 鍙樺帇鎬昏兘鑰�
@@ -139,6 +137,7 @@
             public double EnergyEfficiencyRatio { get; set; }
 
             public string ControlType { get; set; }
+
             /// <summary>
             /// 娉靛垪琛�
             /// </summary>
@@ -165,7 +164,7 @@
             //public long ID { get; set; }
 
             /// <summary>
-            /// 
+            ///
             /// </summary>
             public long DbID { get; set; }
 
@@ -209,10 +208,10 @@
             /// </summary>
             public Yw.Pump.CurveQP CurveQP { get; set; }
 
-            public bool IsCalc { get; set; } 
+            public bool IsCalc { get; set; }
         }
 
-        #endregion
+        #endregion Class
 
         #region Chart Variable
 
@@ -230,20 +229,19 @@
         private Series _seriesUsageQ, _seriesRangeAreaQ,
                         _seriesRangeArea, _seriesAvgP, _seriesCalcP, _seriesRealP,
                         _seriesPower, _seriesE;
-        #endregion
-         
-        private List<List<string>> _pumpCombine = null;//娉佃皟搴︾粍鍚�
 
+        #endregion Chart Variable
+
+        private List<List<string>> _pumpCombine = null;//娉佃皟搴︾粍鍚�
         private Dictionary<long, SimuPumpViewModel> _simuPumps_dict = null;//璋冨害娉靛垪琛�
-        private Vmo.FacilityVmo _facility = null;//璁炬柦 
-        private List<CalcValueViewModel> _calcValues = null;//璁$畻鍊� 
+        private Vmo.FacilityVmo _facility = null;//璁炬柦
+        private List<CalcValueViewModel> _calcValues = null;//璁$畻鍊�
         private double _maxWaterDemand, _constantPressure;//绯荤粺鏈�澶ф祦閲�/鎭掑帇鍊�
 
         private List<Yw.Geometry.Point2d> _curveWaterUsageTrend = null;
         private Yw.Ahart.CubicCurve _curveUpperPressure = null;
         private Yw.Ahart.CubicCurve _curveLowerPressure = null;
         private Yw.Ahart.CubicCurve _curveAveragePressure = null;
-
 
         private int _totalTime = 1440;//
         private int _timeStep = 30;//鏁版嵁姝ラ暱
@@ -277,7 +275,7 @@
             var assetsPackageMain = await BLLFactory<HStation.BLL.AssetsPackageMain>.Instance.GetByID(obj.PackageID);
             if (assetsPackageMain != null)
             {
-                var mappingList = await BLLFactory<HStation.BLL.AssetsPackagePumpMapping>.Instance.GetByKitID(assetsPackageMain.ID);
+                var mappingList = await BLLFactory<HStation.BLL.AssetsPackagePumpMapping>.Instance.GetByPackageID(assetsPackageMain.ID);
                 if (mappingList != null && mappingList.Any())
                 {
                     var pumpMainIds = mappingList.Select(x => x.PumpMainID).ToList();
@@ -294,18 +292,18 @@
                     }
                 }
             }
-           
+
             foreach (var item in list)
-            {   
-               var pump = item.Pump;
+            {
+                var pump = item.Pump;
                 var simuPumpVm = new SimuPumpViewModel();
                 simuPumpVm.ID = pump.ID;
-                simuPumpVm.Name = pump.Name; 
+                simuPumpVm.Name = pump.Name;
                 simuPumpVm.Qr = pump.RatedFlow;
                 simuPumpVm.Hr = pump.RatedHead;
                 simuPumpVm.Nr = pump.RatedSpeed;
                 simuPumpVm.Pr = pump.RatedPower;
-                simuPumpVm.Er = pump.RatedEfficiency??0;
+                simuPumpVm.Er = pump.RatedEfficiency ?? 0;
                 //simuPumpVm.Ic = pump.Ic;
                 //simuPumpVm.Oc = pump.Oc;
                 //simuPumpVm.IOd = pump.IOd;
@@ -313,18 +311,16 @@
                 //simuPumpVm.Oe = pump.Oe;
                 simuPumpVm.IsBp = true;
                 simuPumpVm.IsSxp = false;
-                simuPumpVm.CurveQH = item.CurveQH; 
+                simuPumpVm.CurveQH = item.CurveQH;
                 simuPumpVm.CurveQP = item.CurveQP;
-                _simuPumps_dict[pump.ID]=simuPumpVm;
+                _simuPumps_dict[pump.ID] = simuPumpVm;
             }
-
 
             if (!_simuPumps_dict.Any())
                 return;
             InitialPumpRunSeries(_simuPumps_dict);
             var pumps = _simuPumps_dict.Values.Select(x => x.Name + x.ID).ToList();
-            _pumpCombine = new List<List<string>>() { pumps }; 
-           
+            _pumpCombine = new List<List<string>>() { pumps };
         }
 
         /// <summary>
@@ -332,7 +328,7 @@
         /// </summary>
         private void InitialChart()
         {
-            this.multiCurveExpressChart1.QPVisble = false; 
+            this.multiCurveExpressChart1.QPVisble = false;
             this.multiCurveExpressChart1.QEVisible = false;
             this.chartControl.CrosshairOptions.ShowOnlyInFocusedPane = false;
             _xyDiagram = this.chartControl.Diagram as XYDiagram;
@@ -348,7 +344,6 @@
             _axisX = _xyDiagram.AxisX;
             _axisX.DateTimeScaleOptions.MeasureUnit = DateTimeMeasureUnit.Minute;
             _axisX.DateTimeScaleOptions.ScaleMode = ScaleMode.Manual;
-
 
             _axisYP = _xyDiagram.AxisY;
             _axisYQ = _xyDiagram.SecondaryAxesY.GetAxisByName("AxisYQ");
@@ -367,7 +362,6 @@
             _seriesAvgP = this.chartControl.GetSeriesByName("SeriesAvgP");
             _seriesAvgP.CrosshairLabelPattern = "璁$畻娉靛悗鍘嬪姏:{V:N2}";
 
-
             _seriesCalcP = this.chartControl.GetSeriesByName("SeriesCalcP");
             _seriesCalcP.CrosshairLabelPattern = "璁$畻鐢ㄦ埛鍘嬪姏:{V:N2}";
             _seriesRealP = this.chartControl.GetSeriesByName("SeriesRealP");
@@ -379,15 +373,13 @@
             _seriesE.CrosshairLabelPattern = "鏁堢巼:{V:N1}";
             _seriesE.Visible = false;
 
-
             _seriesRangeAreaQ = this.chartControl.GetSeriesByName("SeriesRangeAreaQ");
             _seriesRangeAreaQ.CrosshairLabelPattern = "鐢ㄦ按瓒嬪娍 涓婇檺:{V2:N1} 涓嬮檺:{V1:N1}";
-
         }
 
         /// <summary>
         /// 鍒濆鍖栨车杩愯绯诲垪
-        /// </summary> 
+        /// </summary>
         private void InitialPumpRunSeries(Dictionary<long, SimuPumpViewModel> pumps)
         {
             if (pumps == null || pumps.Count < 1)
@@ -435,7 +427,7 @@
                 series.Visible = true;
 
                 this.chartControl.Series.Add(series);
-            }銆�
+            }
 
             _axisYRun.CustomLabels.Clear();
             _axisYRun.CustomLabels.AddRange(axisLabels.ToArray());
@@ -443,16 +435,15 @@
 
             _axisYRun.Visibility = DefaultBoolean.True;
             this.chartControl.EndInit();
-
         }
 
-        #endregion
+        #endregion Initial
 
         #region SetChart
 
         /// <summary>
         /// 璁剧疆鍥捐〃缂╂斁鍜屽钩绉�
-        /// </summary> 
+        /// </summary>
         private void SetChartScrollingAndZooming(bool bol)
         {
             this.chartControl.BeginInit();
@@ -463,7 +454,7 @@
             this.chartControl.EndInit();
         }
 
-        #endregion
+        #endregion SetChart
 
         #region SetView
 
@@ -474,7 +465,7 @@
         {
             this.txtTotalEnergyCP.EditValue = null;
             this.txtTotalEnergyVP.EditValue = null;
-            this.txtEnergyEfficient.EditValue = null; 
+            this.txtEnergyEfficient.EditValue = null;
             this.txtEnergyEfficiencyRatio.EditValue = null;
 
             this.multiCurveExpressChart1.Clear();
@@ -507,10 +498,9 @@
             this.chartControl.EndInit();
         }
 
-
         /// <summary>
         /// 璁剧疆鍥捐〃淇℃伅
-        /// </summary> 
+        /// </summary>
         public void SetCurveChart(double workQ, double workH, double workP, double workE, List<PumpViewModel> currentPumps)
         {
             this.multiCurveExpressChart1.Clear();
@@ -519,9 +509,7 @@
             var calc_pump_list = currentPumps.ToList();//.Where(x => !x.IsCalc).ToList();
             if (calc_pump_list.Count == 2)
             {
-
                 var pump = currentPumps[0];
-
 
                 var pump2 = currentPumps[1];
                 var vm = new PumpRunViewViewModel();
@@ -557,14 +545,11 @@
                 this.multiCurveExpressChart1.SetBindingData(vm);
                 return;
             }
-            銆�
         }
-        銆�
-
 
         /// <summary>
         /// 璁剧疆闈㈡澘淇℃伅
-        /// </summary> 
+        /// </summary>
         private void SetPanelInfo(CalcValueViewModel calcValue)
         {
             this.gridControl1.DataSource = calcValue.Pumps;
@@ -572,21 +557,28 @@
             this.gridView1.BestFitColumns();
 
             this.txtTime.EditValue = calcValue.Time.ToString("T");
-            this.txtPower.EditValue = Math.Round(calcValue.TotalPower, 3)+ " kW路h";
-            this.txtPumpP.EditValue = Math.Round(calcValue.TotalHead, 2)+" m"; 
+            this.txtPower.EditValue = Math.Round(calcValue.TotalPower, 3) + " kW路h";
+            this.txtPumpP.EditValue = Math.Round(calcValue.TotalHead, 2) + " m";
             this.txtTerminalP.EditValue = Math.Round(calcValue.CalcHead, 2) + " m";
         }
-
+        double CVEL = 0;
+        double VTEl = 0;
         private void SetEnergyInfo(CalcValueViewModel calcValue)
         {
             this.txtTotalEnergyVP.EditValue = calcValue.TotalEnergyVP + " kW路h";
             this.txtTotalEnergyCP.EditValue = calcValue.TotalEnergyCP + " kW路h";
-            this.txtEnergyEfficient.EditValue = calcValue.EnergyEfficient + " kW路h"; 
+            this.txtEnergyEfficient.EditValue = calcValue.EnergyEfficient + " kW路h";
             this.txtEnergyEfficiencyRatio.EditValue = calcValue.EnergyEfficiencyRatio + " %";
+            this.txtTotalEnergyCVEl.EditValue = calcValue.TotalElectricityBillCP + "鍏�";
+            this.txtTotalEnergyVTEl.EditValue = calcValue.TotalElectricityBillVP + "鍏�";
+            CVEL += calcValue.TotalElectricityBillCP;
+            VTEl += calcValue.TotalElectricityBillVP;
+            this.txtTotalEnergyCVEl.EditValue =Math.Round( CVEL,2) + "鍏�";
+            this.txtTotalEnergyVTEl.EditValue = Math.Round( VTEl,2) + "鍏�";
 
         }
 
-        #endregion
+        #endregion SetView
 
         #region SetCalcStatus
 
@@ -614,8 +606,6 @@
             this.barBtnOver.Enabled = true;
         }
 
- 
-
         /// <summary>
         /// 璁剧疆鍋滄鐘舵��
         /// </summary>
@@ -631,7 +621,7 @@
             this.txtConstantP.ReadOnly = false;
         }
 
-        #endregion
+        #endregion SetCalcStatus
 
         #region Event
 
@@ -639,13 +629,14 @@
         private void barBtnWaterImport_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e)
         {
             #region Load
+
             var dlg = new OpenFileDialog();
             dlg.Filter = "Excel鏂囦欢(*.xls;*.xlsx;*.csv)|*.xls;*.xlsx;*.csv|鎵�鏈夋枃浠秥*.*";
             dlg.ValidateNames = true;
             dlg.CheckPathExists = true;
             dlg.CheckFileExists = true;
             if (dlg.ShowDialog() != DialogResult.OK)
-                return; 
+                return;
             var filePath = dlg.FileName;
             var extension = Path.GetExtension(filePath);
 
@@ -676,15 +667,16 @@
                         }
                     }
                     break;
+
                 default:
                     {
                         TipFormHelper.ShowError("鏆備笉鏀寔璇ユ牸寮�");
                         XtraMessageBox.Show("!");
                         return;
-                    } 
+                    }
             }
-    
-            #endregion
+
+            #endregion Load
 
             ClearCalcData();
             if (timeValues_csv.Count < 1)
@@ -697,6 +689,7 @@
             var last_day_tvs = days_tvs.Last().ToList();
 
             #region Build
+
             var list = new List<Yw.Geometry.Point2d>();
             var maxValues = new Dictionary<DateTime, double>();
             var minValues = new Dictionary<DateTime, double>();
@@ -721,7 +714,7 @@
             var fitHelper = new CurveFitHelper(list);
             _curveWaterUsageTrend = fitHelper.GetConfidenceCurve(100)[2];
 
-            #endregion
+            #endregion Build
 
             var timeValuesUsageQ = _curveWaterUsageTrend.Select(p => new TimeValue(DateTime.FromOADate(p.X), p.Y)).ToList();
             var timeRangeQValues = new List<TimeRangeValue>();
@@ -759,11 +752,11 @@
         private void txtConstantP_EditValueChanged(object sender, EventArgs e)
         {
             if (!double.TryParse(this.txtConstantP.Text, out double constantP))
-                return; 
-            if (!double.TryParse(this.txtEndP.Text, out double endP) )
+                return;
+            if (!double.TryParse(this.txtEndP.Text, out double endP))
                 return;
             _constantPressure = constantP;
-            _lineP.AxisValue = constantP; 
+            _lineP.AxisValue = constantP;
         }
 
         private int _takeIndex = 0;
@@ -783,10 +776,12 @@
             _lineP.AxisValue = _constantPressure;
             SetCalcIngStatus();
             ClearCalcData();
-             
+
             WaitFormHelper.ShowWaitForm("璁$畻涓�");
-            _lineTime.AxisValue = DateTime.MinValue; 
-            _calcValues = SimuCalc(_simuPumps_dict, _constantPressure, endP, _totalTime, _timeStep); 
+            _lineTime.AxisValue = DateTime.MinValue;
+            CVEL = 0;
+            VTEl = 0;
+            _calcValues = SimuCalc(_simuPumps_dict, _constantPressure, endP, _totalTime, _timeStep);
             WaitFormHelper.HideWaitForm();
             _calcValues = _calcValues?.Where(x => x.CalcSuccess).ToList();
             if (_calcValues == null || !_calcValues.Any())
@@ -798,7 +793,7 @@
             var firstCalcValue = _calcValues[0];
             for (int i = 1; i < _simuPumps_dict.Count + 1; i++)
             {
-                var pump = _simuPumps_dict.ElementAt(i-1).Value;
+                var pump = _simuPumps_dict.ElementAt(i - 1).Value;
                 var series = this.chartControl.GetSeriesByName(pump.ID.ToString());
                 if (series == null)
                     continue;
@@ -851,14 +846,14 @@
                     _seriesE.Points.Add(new SeriesPoint(time, eff));
                     for (int i = 1; i < _simuPumps_dict.Count + 1; i++)
                     {
-                        var pump = _simuPumps_dict.ElementAt(i-1).Value;
+                        var pump = _simuPumps_dict.ElementAt(i - 1).Value;
                         var series = this.chartControl.GetSeriesByName(pump.ID.ToString());
                         if (series == null)
                             continue;
-                        var run = calcValue.Pumps.Exists(x => x.DbID == pump.ID&&!x.IsCalc);
+                        var run = calcValue.Pumps.Exists(x => x.DbID == pump.ID && !x.IsCalc);
                         if (!run && lastCalcValue != null && lastCalcValue.Pumps != null)
                         {
-                            run = lastCalcValue.Pumps.Exists(x => x.DbID == pump.ID&& !x.IsCalc);
+                            run = lastCalcValue.Pumps.Exists(x => x.DbID == pump.ID && !x.IsCalc);
                         }
                         var seriesPoint = new SeriesPoint(time, i);
                         seriesPoint.IsEmpty = !run;
@@ -875,9 +870,7 @@
                 }
                 else
                 {
-
                 }
-
 
                 _takeIndex++;
             };
@@ -887,7 +880,6 @@
         //鏆傚仠璁$畻
         private void barBtnPause_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e)
         {
-
             _timer?.Stop();
             SetCalcPauseStatus();
         }
@@ -927,7 +919,7 @@
                 var cv = _calcValues?.Find(x => x.Time == dt);
                 if (cv == null)
                 {
-                    var bol = InterValueBuild( dt, out double targetFlow, out double targetHead);
+                    var bol = InterValueBuild(dt, out double targetFlow, out double targetHead);
                     if (!bol)
                         return;
                     var pumps = _simuPumps_dict.Values.ToList();
@@ -941,13 +933,13 @@
             }
         }
 
-        #endregion
+        #endregion Event
 
-        #region Simu 
+        #region Simu
 
         /// <summary>
         /// 绾挎�ф彃鍊�
-        /// </summary> 
+        /// </summary>
         private bool InterValueBuild(DateTime dt, out double usageQ, out double avgP)
         {
             usageQ = avgP = 0;
@@ -974,7 +966,7 @@
 
         /// <summary>
         /// 璋冨害(鎵�鏈夋椂闂�)
-        /// </summary> 
+        /// </summary>
         private List<CalcValueViewModel> SimuCalc
             (Dictionary<long, SimuPumpViewModel> simuPumps,
             double constantP,
@@ -982,12 +974,12 @@
             int totalTime,
             int timeStep)
         {
-
             if (simuPumps == null || !simuPumps.Any())
                 return default;
 
-
             var startTime = _baseTime;
+            startTime = startTime.AddMonths(DateTime.Now.Month - startTime.Month);
+
             var timeScale = totalTime / timeStep;
             var calcValues = new List<CalcValueViewModel>();
             var complexRequestPras = new Dispatch.Model.RequestParasComplex()
@@ -1000,14 +992,14 @@
             var calcHelper = new Calculator_OptAna_General();
             var combinIndex = 0;
 
-            double cp_total_power_kw_sum = 0; 
+            double cp_total_power_kw_sum = 0;
             double vp_total_power_kw_sum = 0;
             double total_power_diff = 0;
             for (int i = 0; i < timeScale; i++)
             {
                 var intervalMinute = i * timeStep;
                 var currentTime = startTime.AddMinutes(intervalMinute);
-                if (!InterValueBuild( currentTime, out double targetFlow, out double targetHead))
+                if (!InterValueBuild(currentTime, out double targetFlow, out double targetHead))
                     continue;
 
                 complexRequestPras.OutletPipePara = new List<Dispatch.Model.OutletPipePara>();
@@ -1017,13 +1009,12 @@
                     TargetPress = targetHead
                 });
 
-          
                 var combin = _pumpCombine[combinIndex];
                 var combinRunStatus = new Dispatch.Model.MachineRunPara();
                 combinRunStatus.MachineRunFilter = new List<MachineRunFilter>();
                 for (int j = 0; j < simuPumps.Count; j++)
                 {
-                    var pump = simuPumps.ElementAt(j).Value; 
+                    var pump = simuPumps.ElementAt(j).Value;
                     var machineRunFilter = new Dispatch.Model.MachineRunFilter()
                     {
                         MachineID = pump.ID,
@@ -1031,7 +1022,7 @@
                         Percentage = 1,
                         IsFrequency = true
                     };
-                    combinRunStatus.MachineRunFilter.Add(machineRunFilter); 
+                    combinRunStatus.MachineRunFilter.Add(machineRunFilter);
                 }
 
                 var calcValue = new CalcValueViewModel();
@@ -1062,40 +1053,34 @@
                     {
                         calcValue.Pumps = GetPumpViewModelList(targetFlow, item, out double clac_power);
                         cp_total_power += clac_power;
-                    } 
+                    }
                 }
-
-                 
-
-                // 
                 var vp_total_power_kw = calcValue.TotalPower * timeStep / 60;
                 var cp_total_power_kw = cp_total_power * timeStep / 60;
-                 
-                total_power_diff += cp_total_power_kw - vp_total_power_kw;//鑺傝兘鍊�
 
+                total_power_diff += cp_total_power_kw - vp_total_power_kw;//鑺傝兘鍊�
 
                 vp_total_power_kw_sum += vp_total_power_kw;//璋冨害鍔熺巼
                 cp_total_power_kw_sum += cp_total_power_kw;//璋冨害鍔熺巼
 
-
-                calcValue.TotalEnergyCP = Math.Round(cp_total_power_kw_sum, 2);//鎬昏兘鑰� 
-                calcValue.TotalEnergyVP = Math.Round(vp_total_power_kw_sum, 2);//鎬昏兘鑰� 
+                calcValue.TotalEnergyCP = Math.Round(cp_total_power_kw_sum, 2);//鎬昏兘鑰�
+                calcValue.TotalEnergyVP = Math.Round(vp_total_power_kw_sum, 2);//鎬昏兘鑰�
+                calcValue.TotalElectricityBillVP = Math.Round(Task.Run(async () => await new BLL.ElecPrice().CalcuShysElectricityFees(currentTime, vp_total_power_kw * ( timeStep/60.0))).Result,2);
+                calcValue.TotalElectricityBillCP = Math.Round(Task.Run(async () => await new BLL.ElecPrice().CalcuShysElectricityFees(currentTime, cp_total_power_kw * (timeStep / 60.0))).Result,2);
 
                 //calcValue.TotalElectricityBillVP = Math.Round(vp_total_power_kw_sum * 0.6, 2);//鐢佃垂
                 //calcValue.TotalElectricityBillCP = Math.Round(vp_total_power_kw_sum * 0.6, 2);//鐢佃垂
 
                 calcValue.EnergyEfficient = Math.Round(total_power_diff, 2);//鑺傝兘鍊�
-                calcValue.EnergyEfficiencyRatio = Math.Round(total_power_diff / cp_total_power_kw_sum * 100, 2);//鑺傝兘姣斾緥 
+                calcValue.EnergyEfficiencyRatio = Math.Round(total_power_diff / cp_total_power_kw_sum * 100, 2);//鑺傝兘姣斾緥
             }
 
-             
             return calcValues;
         }
 
-
         /// <summary>
         /// 璋冨害(鍗曟椂鍒�)
-        /// </summary> 
+        /// </summary>
         private CalcValueViewModel SimuCalc(DateTime dateTime, List<SimuPumpViewModel> simuPumps, double targetFlow, double targetHead, double constantP)
         {
             if (simuPumps == null || !simuPumps.Any())
@@ -1142,7 +1127,7 @@
 
             double.TryParse(this.txtEndP.Text, out double endP);
             //璁$畻
-            var schemes = calcHelper.CalcSchemes(simuPumps, complexRequestPras,   combinRunStatus, out string errorInfo);
+            var schemes = calcHelper.CalcSchemes(simuPumps, complexRequestPras, combinRunStatus, out string errorInfo);
             if (schemes == null || !schemes.Any())
             {
                 return default;
@@ -1180,14 +1165,10 @@
             return calcValue;
         }
 
-
         private List<PumpViewModel> GetPumpViewModelList(double targetFlow, AnaSchemeItem item, out double clac_power)
         {
-             
-
-
             clac_power = 0;
-            var calc_pump = new PumpViewModel(); 
+            var calc_pump = new PumpViewModel();
             calc_pump.DbID = item.PumpID;
             calc_pump.Name = item.MachineName + "-鍙樺帇";
             calc_pump.HZ = item.Frequence;
@@ -1195,9 +1176,8 @@
             calc_pump.Eff = item.WorkPointE;
             calc_pump.Head = item.WorkPointH;
             calc_pump.Flow = item.WorkPointQ;
-            calc_pump.CurveQH = new Yw.Pump. CurveQH(Yw.Ahart.eFeatType.Cubic,item.CurveInfoQH);
-            calc_pump.CurveQP = new Yw.Pump.CurveQP(Yw.Ahart.eFeatType.Cubic, item.CurveInfoQP) ;
-
+            calc_pump.CurveQH = new Yw.Pump.CurveQH(Yw.Ahart.eFeatType.Cubic, item.CurveInfoQH);
+            calc_pump.CurveQP = new Yw.Pump.CurveQP(Yw.Ahart.eFeatType.Cubic, item.CurveInfoQP);
 
             var pump = _simuPumps_dict[item.PumpID];
             var pt = new Yw.Geometry.Point2d(targetFlow, _constantPressure);
@@ -1209,14 +1189,13 @@
             var wrk_speed = sect_pt.Y.CalculateSimuByH(pump.Nr, pt.Y);
             var wrk_fre = Math.Round(wrk_speed / pump.Nr * 50, 1);
 
-
-            var wrk_curve_qh = new Yw.Pump.CurveQH(Yw.Ahart.eFeatType.Cubic,  pump.CurveQH.GetPointListByN(pump.Nr, wrk_speed));
+            var wrk_curve_qh = new Yw.Pump.CurveQH(Yw.Ahart.eFeatType.Cubic, pump.CurveQH.GetPointListByN(pump.Nr, wrk_speed));
             var wrk_curve_qp = new Yw.Pump.CurveQP(Yw.Ahart.eFeatType.Cubic, pump.CurveQP.GetPointListByN(pump.Nr, wrk_speed));
             var wrk_power = wrk_curve_qp.FeatCurve.GetPointY(targetFlow);
             var wrk_eff = Yw.Pump.CalculationHelper.CalcuE(targetFlow, _constantPressure, wrk_power);
 
             var calc_pump2 = new PumpViewModel();
-            calc_pump2.DbID = item.PumpID; 
+            calc_pump2.DbID = item.PumpID;
             calc_pump2.Name = item.MachineName + "-鎭掑帇";
             calc_pump2.HZ = wrk_fre;
             calc_pump2.Power = Math.Round(wrk_power, 3);
@@ -1231,10 +1210,9 @@
             return new List<PumpViewModel>() { calc_pump2, calc_pump };
         }
 
-        #endregion
+        #endregion Simu
 
         #region Color
-
 
         private List<Color> ColorArray = new List<Color>()
           { Color.Red,
@@ -1242,11 +1220,10 @@
             Color.Fuchsia,Color.MidnightBlue,Color.Maroon,
             Color.Aquamarine, Color.Bisque ,Color.BurlyWood };
 
-
         /// <summary>
         /// 鐢熸垚闅忔満娣辫壊
-        /// </summary> 
-        Color GetRandomColor()
+        /// </summary>
+        private Color GetRandomColor()
         {
             var r_first = new Random((int)DateTime.Now.Ticks);
             System.Threading.Thread.Sleep(r_first.Next(50));
@@ -1258,7 +1235,7 @@
             return Color.FromArgb(red, green, blue);
         }
 
-        #endregion
+        #endregion Color
 
         #region Dispose
 
@@ -1270,7 +1247,6 @@
         {
             if (disposing)
             {
-
                 if (this.components != null)
                     this.components.Dispose();
                 if (_timer != null)
@@ -1281,10 +1257,7 @@
             }
             base.Dispose(disposing);
         }
-        #endregion
 
-
+        #endregion Dispose
     }
-}
-
-
+}
\ No newline at end of file
diff --git a/WinFrmUI/PBS.WinFrmUI.Hydro/06-schedule-simulation/SimulationSchedulePage.designer.cs b/WinFrmUI/PBS.WinFrmUI.Hydro/06-schedule-simulation/SimulationSchedulePage.designer.cs
index a847b8e..74c7da0 100644
--- a/WinFrmUI/PBS.WinFrmUI.Hydro/06-schedule-simulation/SimulationSchedulePage.designer.cs
+++ b/WinFrmUI/PBS.WinFrmUI.Hydro/06-schedule-simulation/SimulationSchedulePage.designer.cs
@@ -35,969 +35,1025 @@
         /// </summary>
         private void InitializeComponent()
         {
-            this.components = new System.ComponentModel.Container();
-            System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(SimulationSchedulePage));
-            DevExpress.XtraCharts.XYDiagram xyDiagram1 = new DevExpress.XtraCharts.XYDiagram();
-            DevExpress.XtraCharts.ConstantLine constantLine1 = new DevExpress.XtraCharts.ConstantLine();
-            DevExpress.XtraCharts.ConstantLine constantLine2 = new DevExpress.XtraCharts.ConstantLine();
-            DevExpress.XtraCharts.LayoutDefinition layoutDefinition1 = new DevExpress.XtraCharts.LayoutDefinition();
-            DevExpress.XtraCharts.LayoutDefinition layoutDefinition2 = new DevExpress.XtraCharts.LayoutDefinition();
-            DevExpress.XtraCharts.XYDiagramPane xyDiagramPane1 = new DevExpress.XtraCharts.XYDiagramPane();
-            DevExpress.XtraCharts.XYDiagramPane xyDiagramPane2 = new DevExpress.XtraCharts.XYDiagramPane();
-            DevExpress.XtraCharts.XYDiagramPane xyDiagramPane3 = new DevExpress.XtraCharts.XYDiagramPane();
-            DevExpress.XtraCharts.SecondaryAxisY secondaryAxisY1 = new DevExpress.XtraCharts.SecondaryAxisY();
-            DevExpress.XtraCharts.SecondaryAxisY secondaryAxisY2 = new DevExpress.XtraCharts.SecondaryAxisY();
-            DevExpress.XtraCharts.SecondaryAxisY secondaryAxisY3 = new DevExpress.XtraCharts.SecondaryAxisY();
-            DevExpress.XtraCharts.SecondaryAxisY secondaryAxisY4 = new DevExpress.XtraCharts.SecondaryAxisY();
-            DevExpress.XtraCharts.Series series1 = new DevExpress.XtraCharts.Series();
-            DevExpress.XtraCharts.LineSeriesView lineSeriesView1 = new DevExpress.XtraCharts.LineSeriesView();
-            DevExpress.XtraCharts.Series series2 = new DevExpress.XtraCharts.Series();
-            DevExpress.XtraCharts.RangeAreaSeriesView rangeAreaSeriesView1 = new DevExpress.XtraCharts.RangeAreaSeriesView();
-            DevExpress.XtraCharts.Series series3 = new DevExpress.XtraCharts.Series();
-            DevExpress.XtraCharts.RangeAreaSeriesView rangeAreaSeriesView2 = new DevExpress.XtraCharts.RangeAreaSeriesView();
-            DevExpress.XtraCharts.Series series4 = new DevExpress.XtraCharts.Series();
-            DevExpress.XtraCharts.LineSeriesView lineSeriesView2 = new DevExpress.XtraCharts.LineSeriesView();
-            DevExpress.XtraCharts.Series series5 = new DevExpress.XtraCharts.Series();
-            DevExpress.XtraCharts.LineSeriesView lineSeriesView3 = new DevExpress.XtraCharts.LineSeriesView();
-            DevExpress.XtraCharts.Series series6 = new DevExpress.XtraCharts.Series();
-            DevExpress.XtraCharts.LineSeriesView lineSeriesView4 = new DevExpress.XtraCharts.LineSeriesView();
-            DevExpress.XtraCharts.Series series7 = new DevExpress.XtraCharts.Series();
-            DevExpress.XtraCharts.LineSeriesView lineSeriesView5 = new DevExpress.XtraCharts.LineSeriesView();
-            DevExpress.XtraCharts.Series series8 = new DevExpress.XtraCharts.Series();
-            DevExpress.XtraCharts.LineSeriesView lineSeriesView6 = new DevExpress.XtraCharts.LineSeriesView();
-            DevExpress.XtraCharts.Series series9 = new DevExpress.XtraCharts.Series();
-            DevExpress.XtraCharts.PointSeriesView pointSeriesView1 = new DevExpress.XtraCharts.PointSeriesView();
-            this.dockManager1 = new DevExpress.XtraBars.Docking.DockManager(this.components);
-            this.sidePanelInfo = new DevExpress.XtraEditors.SidePanel();
-            this.layoutControl1 = new DevExpress.XtraLayout.LayoutControl();
-            this.txtEndP = new DevExpress.XtraEditors.TextEdit();
-            this.multiCurveExpressChart1 = new Yw.WinFrmUI.Phart.PumpRunViewChart();
-            this.gridControl1 = new DevExpress.XtraGrid.GridControl();
-            this.gridView1 = new DevExpress.XtraGrid.Views.Grid.GridView();
-            this.colID = new DevExpress.XtraGrid.Columns.GridColumn();
-            this.colHZ = new DevExpress.XtraGrid.Columns.GridColumn();
-            this.colEff = new DevExpress.XtraGrid.Columns.GridColumn();
-            this.colPower = new DevExpress.XtraGrid.Columns.GridColumn();
-            this.colFlow = new DevExpress.XtraGrid.Columns.GridColumn();
-            this.colHead = new DevExpress.XtraGrid.Columns.GridColumn();
-            this.txtTotalEnergyVP = new DevExpress.XtraEditors.TextEdit();
-            this.txtEnergyEfficient = new DevExpress.XtraEditors.TextEdit();
-            this.txtEnergyEfficiencyRatio = new DevExpress.XtraEditors.TextEdit();
-            this.txtPower = new DevExpress.XtraEditors.TextEdit();
-            this.txtPumpP = new DevExpress.XtraEditors.TextEdit();
-            this.txtTerminalP = new DevExpress.XtraEditors.TextEdit();
-            this.txtConstantP = new DevExpress.XtraEditors.TextEdit();
-            this.txtTime = new DevExpress.XtraEditors.TextEdit();
-            this.txtTotalEnergyCP = new DevExpress.XtraEditors.TextEdit();
-            this.ribbonControl1 = new DevExpress.XtraBars.Ribbon.RibbonControl();
-            this.barBtnWaterImport = new DevExpress.XtraBars.BarButtonItem();
-            this.barBtnCalc = new DevExpress.XtraBars.BarButtonItem();
-            this.barBtnPause = new DevExpress.XtraBars.BarButtonItem();
-            this.barBtnContinue = new DevExpress.XtraBars.BarButtonItem();
-            this.barBtnOver = new DevExpress.XtraBars.BarButtonItem();
-            this.ribbonPage = new DevExpress.XtraBars.Ribbon.RibbonPage();
-            this.PageGroup = new DevExpress.XtraBars.Ribbon.RibbonPageGroup();
-            this.Root = new DevExpress.XtraLayout.LayoutControlGroup();
-            this.layoutControlGroup1 = new DevExpress.XtraLayout.LayoutControlGroup();
-            this.layoutControlItem2 = new DevExpress.XtraLayout.LayoutControlItem();
-            this.layoutControlItem3 = new DevExpress.XtraLayout.LayoutControlItem();
-            this.layoutControlItem1 = new DevExpress.XtraLayout.LayoutControlItem();
-            this.layoutControlItem12 = new DevExpress.XtraLayout.LayoutControlItem();
-            this.layoutControlGroup2 = new DevExpress.XtraLayout.LayoutControlGroup();
-            this.layoutControlItem9 = new DevExpress.XtraLayout.LayoutControlItem();
-            this.layoutControlItem6 = new DevExpress.XtraLayout.LayoutControlItem();
-            this.layoutControlItem4 = new DevExpress.XtraLayout.LayoutControlItem();
-            this.layoutControlItem7 = new DevExpress.XtraLayout.LayoutControlItem();
-            this.layoutControlGroup3 = new DevExpress.XtraLayout.LayoutControlGroup();
-            this.layoutControlItem10 = new DevExpress.XtraLayout.LayoutControlItem();
-            this.layoutControlItem11 = new DevExpress.XtraLayout.LayoutControlItem();
-            this.layoutControlGroup5 = new DevExpress.XtraLayout.LayoutControlGroup();
-            this.layoutControlItem5 = new DevExpress.XtraLayout.LayoutControlItem();
-            this.layoutControlGroup4 = new DevExpress.XtraLayout.LayoutControlGroup();
-            this.layoutControlItem13 = new DevExpress.XtraLayout.LayoutControlItem();
-            this.chartControl = new DevExpress.XtraCharts.ChartControl();
-            this.sidePanelChart = new DevExpress.XtraEditors.SidePanel();
-            ((System.ComponentModel.ISupportInitialize)(this.dockManager1)).BeginInit();
-            this.sidePanelInfo.SuspendLayout();
-            ((System.ComponentModel.ISupportInitialize)(this.layoutControl1)).BeginInit();
-            this.layoutControl1.SuspendLayout();
-            ((System.ComponentModel.ISupportInitialize)(this.txtEndP.Properties)).BeginInit();
-            ((System.ComponentModel.ISupportInitialize)(this.gridControl1)).BeginInit();
-            ((System.ComponentModel.ISupportInitialize)(this.gridView1)).BeginInit();
-            ((System.ComponentModel.ISupportInitialize)(this.txtTotalEnergyVP.Properties)).BeginInit();
-            ((System.ComponentModel.ISupportInitialize)(this.txtEnergyEfficient.Properties)).BeginInit();
-            ((System.ComponentModel.ISupportInitialize)(this.txtEnergyEfficiencyRatio.Properties)).BeginInit();
-            ((System.ComponentModel.ISupportInitialize)(this.txtPower.Properties)).BeginInit();
-            ((System.ComponentModel.ISupportInitialize)(this.txtPumpP.Properties)).BeginInit();
-            ((System.ComponentModel.ISupportInitialize)(this.txtTerminalP.Properties)).BeginInit();
-            ((System.ComponentModel.ISupportInitialize)(this.txtConstantP.Properties)).BeginInit();
-            ((System.ComponentModel.ISupportInitialize)(this.txtTime.Properties)).BeginInit();
-            ((System.ComponentModel.ISupportInitialize)(this.txtTotalEnergyCP.Properties)).BeginInit();
-            ((System.ComponentModel.ISupportInitialize)(this.ribbonControl1)).BeginInit();
-            ((System.ComponentModel.ISupportInitialize)(this.Root)).BeginInit();
-            ((System.ComponentModel.ISupportInitialize)(this.layoutControlGroup1)).BeginInit();
-            ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem2)).BeginInit();
-            ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem3)).BeginInit();
-            ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem1)).BeginInit();
-            ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem12)).BeginInit();
-            ((System.ComponentModel.ISupportInitialize)(this.layoutControlGroup2)).BeginInit();
-            ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem9)).BeginInit();
-            ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem6)).BeginInit();
-            ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem4)).BeginInit();
-            ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem7)).BeginInit();
-            ((System.ComponentModel.ISupportInitialize)(this.layoutControlGroup3)).BeginInit();
-            ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem10)).BeginInit();
-            ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem11)).BeginInit();
-            ((System.ComponentModel.ISupportInitialize)(this.layoutControlGroup5)).BeginInit();
-            ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem5)).BeginInit();
-            ((System.ComponentModel.ISupportInitialize)(this.layoutControlGroup4)).BeginInit();
-            ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem13)).BeginInit();
-            ((System.ComponentModel.ISupportInitialize)(this.chartControl)).BeginInit();
-            ((System.ComponentModel.ISupportInitialize)(xyDiagram1)).BeginInit();
-            ((System.ComponentModel.ISupportInitialize)(xyDiagramPane1)).BeginInit();
-            ((System.ComponentModel.ISupportInitialize)(xyDiagramPane2)).BeginInit();
-            ((System.ComponentModel.ISupportInitialize)(xyDiagramPane3)).BeginInit();
-            ((System.ComponentModel.ISupportInitialize)(secondaryAxisY1)).BeginInit();
-            ((System.ComponentModel.ISupportInitialize)(secondaryAxisY2)).BeginInit();
-            ((System.ComponentModel.ISupportInitialize)(secondaryAxisY3)).BeginInit();
-            ((System.ComponentModel.ISupportInitialize)(secondaryAxisY4)).BeginInit();
-            ((System.ComponentModel.ISupportInitialize)(series1)).BeginInit();
-            ((System.ComponentModel.ISupportInitialize)(lineSeriesView1)).BeginInit();
-            ((System.ComponentModel.ISupportInitialize)(series2)).BeginInit();
-            ((System.ComponentModel.ISupportInitialize)(rangeAreaSeriesView1)).BeginInit();
-            ((System.ComponentModel.ISupportInitialize)(series3)).BeginInit();
-            ((System.ComponentModel.ISupportInitialize)(rangeAreaSeriesView2)).BeginInit();
-            ((System.ComponentModel.ISupportInitialize)(series4)).BeginInit();
-            ((System.ComponentModel.ISupportInitialize)(lineSeriesView2)).BeginInit();
-            ((System.ComponentModel.ISupportInitialize)(series5)).BeginInit();
-            ((System.ComponentModel.ISupportInitialize)(lineSeriesView3)).BeginInit();
-            ((System.ComponentModel.ISupportInitialize)(series6)).BeginInit();
-            ((System.ComponentModel.ISupportInitialize)(lineSeriesView4)).BeginInit();
-            ((System.ComponentModel.ISupportInitialize)(series7)).BeginInit();
-            ((System.ComponentModel.ISupportInitialize)(lineSeriesView5)).BeginInit();
-            ((System.ComponentModel.ISupportInitialize)(series8)).BeginInit();
-            ((System.ComponentModel.ISupportInitialize)(lineSeriesView6)).BeginInit();
-            ((System.ComponentModel.ISupportInitialize)(series9)).BeginInit();
-            ((System.ComponentModel.ISupportInitialize)(pointSeriesView1)).BeginInit();
-            this.sidePanelChart.SuspendLayout();
-            this.SuspendLayout();
+            components = new Container();
+            ComponentResourceManager resources = new ComponentResourceManager(typeof(SimulationSchedulePage));
+            DevExpress.XtraCharts.XYDiagram xyDiagram2 = new DevExpress.XtraCharts.XYDiagram();
+            DevExpress.XtraCharts.ConstantLine constantLine3 = new DevExpress.XtraCharts.ConstantLine();
+            DevExpress.XtraCharts.ConstantLine constantLine4 = new DevExpress.XtraCharts.ConstantLine();
+            DevExpress.XtraCharts.LayoutDefinition layoutDefinition3 = new DevExpress.XtraCharts.LayoutDefinition();
+            DevExpress.XtraCharts.LayoutDefinition layoutDefinition4 = new DevExpress.XtraCharts.LayoutDefinition();
+            DevExpress.XtraCharts.XYDiagramPane xyDiagramPane4 = new DevExpress.XtraCharts.XYDiagramPane();
+            DevExpress.XtraCharts.XYDiagramPane xyDiagramPane5 = new DevExpress.XtraCharts.XYDiagramPane();
+            DevExpress.XtraCharts.XYDiagramPane xyDiagramPane6 = new DevExpress.XtraCharts.XYDiagramPane();
+            DevExpress.XtraCharts.SecondaryAxisY secondaryAxisy5 = new DevExpress.XtraCharts.SecondaryAxisY();
+            DevExpress.XtraCharts.SecondaryAxisY secondaryAxisy6 = new DevExpress.XtraCharts.SecondaryAxisY();
+            DevExpress.XtraCharts.SecondaryAxisY secondaryAxisy7 = new DevExpress.XtraCharts.SecondaryAxisY();
+            DevExpress.XtraCharts.SecondaryAxisY secondaryAxisy8 = new DevExpress.XtraCharts.SecondaryAxisY();
+            DevExpress.XtraCharts.Series series10 = new DevExpress.XtraCharts.Series();
+            DevExpress.XtraCharts.LineSeriesView lineSeriesView7 = new DevExpress.XtraCharts.LineSeriesView();
+            DevExpress.XtraCharts.Series series11 = new DevExpress.XtraCharts.Series();
+            DevExpress.XtraCharts.RangeAreaSeriesView rangeAreaSeriesView3 = new DevExpress.XtraCharts.RangeAreaSeriesView();
+            DevExpress.XtraCharts.Series series12 = new DevExpress.XtraCharts.Series();
+            DevExpress.XtraCharts.RangeAreaSeriesView rangeAreaSeriesView4 = new DevExpress.XtraCharts.RangeAreaSeriesView();
+            DevExpress.XtraCharts.Series series13 = new DevExpress.XtraCharts.Series();
+            DevExpress.XtraCharts.LineSeriesView lineSeriesView8 = new DevExpress.XtraCharts.LineSeriesView();
+            DevExpress.XtraCharts.Series series14 = new DevExpress.XtraCharts.Series();
+            DevExpress.XtraCharts.LineSeriesView lineSeriesView9 = new DevExpress.XtraCharts.LineSeriesView();
+            DevExpress.XtraCharts.Series series15 = new DevExpress.XtraCharts.Series();
+            DevExpress.XtraCharts.LineSeriesView lineSeriesView10 = new DevExpress.XtraCharts.LineSeriesView();
+            DevExpress.XtraCharts.Series series16 = new DevExpress.XtraCharts.Series();
+            DevExpress.XtraCharts.LineSeriesView lineSeriesView11 = new DevExpress.XtraCharts.LineSeriesView();
+            DevExpress.XtraCharts.Series series17 = new DevExpress.XtraCharts.Series();
+            DevExpress.XtraCharts.LineSeriesView lineSeriesView12 = new DevExpress.XtraCharts.LineSeriesView();
+            DevExpress.XtraCharts.Series series18 = new DevExpress.XtraCharts.Series();
+            DevExpress.XtraCharts.PointSeriesView pointSeriesView2 = new DevExpress.XtraCharts.PointSeriesView();
+            dockManager1 = new DevExpress.XtraBars.Docking.DockManager(components);
+            sidePanelInfo = new SidePanel();
+            layoutControl1 = new DevExpress.XtraLayout.LayoutControl();
+            txtEndP = new TextEdit();
+            multiCurveExpressChart1 = new Yw.WinFrmUI.Phart.PumpRunViewChart();
+            gridControl1 = new DevExpress.XtraGrid.GridControl();
+            gridView1 = new GridView();
+            colID = new DevExpress.XtraGrid.Columns.GridColumn();
+            colHZ = new DevExpress.XtraGrid.Columns.GridColumn();
+            colEff = new DevExpress.XtraGrid.Columns.GridColumn();
+            colPower = new DevExpress.XtraGrid.Columns.GridColumn();
+            colFlow = new DevExpress.XtraGrid.Columns.GridColumn();
+            colHead = new DevExpress.XtraGrid.Columns.GridColumn();
+            txtTotalEnergyVP = new TextEdit();
+            txtEnergyEfficient = new TextEdit();
+            txtEnergyEfficiencyRatio = new TextEdit();
+            txtPower = new TextEdit();
+            txtPumpP = new TextEdit();
+            txtTerminalP = new TextEdit();
+            txtConstantP = new TextEdit();
+            txtTime = new TextEdit();
+            txtTotalEnergyCP = new TextEdit();
+            ribbonControl1 = new DevExpress.XtraBars.Ribbon.RibbonControl();
+            barBtnWaterImport = new DevExpress.XtraBars.BarButtonItem();
+            barBtnCalc = new DevExpress.XtraBars.BarButtonItem();
+            barBtnPause = new DevExpress.XtraBars.BarButtonItem();
+            barBtnContinue = new DevExpress.XtraBars.BarButtonItem();
+            barBtnOver = new DevExpress.XtraBars.BarButtonItem();
+            ribbonPage = new DevExpress.XtraBars.Ribbon.RibbonPage();
+            PageGroup = new DevExpress.XtraBars.Ribbon.RibbonPageGroup();
+            Root = new DevExpress.XtraLayout.LayoutControlGroup();
+            layoutControlGroup1 = new DevExpress.XtraLayout.LayoutControlGroup();
+            layoutControlItem2 = new DevExpress.XtraLayout.LayoutControlItem();
+            layoutControlItem3 = new DevExpress.XtraLayout.LayoutControlItem();
+            layoutControlItem1 = new DevExpress.XtraLayout.LayoutControlItem();
+            layoutControlItem12 = new DevExpress.XtraLayout.LayoutControlItem();
+            layoutControlGroup2 = new DevExpress.XtraLayout.LayoutControlGroup();
+            layoutControlItem9 = new DevExpress.XtraLayout.LayoutControlItem();
+            layoutControlItem6 = new DevExpress.XtraLayout.LayoutControlItem();
+            layoutControlItem4 = new DevExpress.XtraLayout.LayoutControlItem();
+            layoutControlItem7 = new DevExpress.XtraLayout.LayoutControlItem();
+            layoutControlGroup3 = new DevExpress.XtraLayout.LayoutControlGroup();
+            layoutControlItem10 = new DevExpress.XtraLayout.LayoutControlItem();
+            layoutControlItem11 = new DevExpress.XtraLayout.LayoutControlItem();
+            layoutControlGroup5 = new DevExpress.XtraLayout.LayoutControlGroup();
+            layoutControlItem5 = new DevExpress.XtraLayout.LayoutControlItem();
+            layoutControlGroup4 = new DevExpress.XtraLayout.LayoutControlGroup();
+            layoutControlItem13 = new DevExpress.XtraLayout.LayoutControlItem();
+            chartControl = new DevExpress.XtraCharts.ChartControl();
+            sidePanelChart = new SidePanel();
+            txtTotalEnergyCVEl = new TextEdit();
+            layoutControlItem8 = new DevExpress.XtraLayout.LayoutControlItem();
+            txtTotalEnergyVTEl = new TextEdit();
+            layoutControlItem14 = new DevExpress.XtraLayout.LayoutControlItem();
+            ((ISupportInitialize)dockManager1).BeginInit();
+            sidePanelInfo.SuspendLayout();
+            ((ISupportInitialize)layoutControl1).BeginInit();
+            layoutControl1.SuspendLayout();
+            ((ISupportInitialize)txtEndP.Properties).BeginInit();
+            ((ISupportInitialize)gridControl1).BeginInit();
+            ((ISupportInitialize)gridView1).BeginInit();
+            ((ISupportInitialize)txtTotalEnergyVP.Properties).BeginInit();
+            ((ISupportInitialize)txtEnergyEfficient.Properties).BeginInit();
+            ((ISupportInitialize)txtEnergyEfficiencyRatio.Properties).BeginInit();
+            ((ISupportInitialize)txtPower.Properties).BeginInit();
+            ((ISupportInitialize)txtPumpP.Properties).BeginInit();
+            ((ISupportInitialize)txtTerminalP.Properties).BeginInit();
+            ((ISupportInitialize)txtConstantP.Properties).BeginInit();
+            ((ISupportInitialize)txtTime.Properties).BeginInit();
+            ((ISupportInitialize)txtTotalEnergyCP.Properties).BeginInit();
+            ((ISupportInitialize)ribbonControl1).BeginInit();
+            ((ISupportInitialize)Root).BeginInit();
+            ((ISupportInitialize)layoutControlGroup1).BeginInit();
+            ((ISupportInitialize)layoutControlItem2).BeginInit();
+            ((ISupportInitialize)layoutControlItem3).BeginInit();
+            ((ISupportInitialize)layoutControlItem1).BeginInit();
+            ((ISupportInitialize)layoutControlItem12).BeginInit();
+            ((ISupportInitialize)layoutControlGroup2).BeginInit();
+            ((ISupportInitialize)layoutControlItem9).BeginInit();
+            ((ISupportInitialize)layoutControlItem6).BeginInit();
+            ((ISupportInitialize)layoutControlItem4).BeginInit();
+            ((ISupportInitialize)layoutControlItem7).BeginInit();
+            ((ISupportInitialize)layoutControlGroup3).BeginInit();
+            ((ISupportInitialize)layoutControlItem10).BeginInit();
+            ((ISupportInitialize)layoutControlItem11).BeginInit();
+            ((ISupportInitialize)layoutControlGroup5).BeginInit();
+            ((ISupportInitialize)layoutControlItem5).BeginInit();
+            ((ISupportInitialize)layoutControlGroup4).BeginInit();
+            ((ISupportInitialize)layoutControlItem13).BeginInit();
+            ((ISupportInitialize)chartControl).BeginInit();
+            ((ISupportInitialize)xyDiagram2).BeginInit();
+            ((ISupportInitialize)constantLine3).BeginInit();
+            ((ISupportInitialize)constantLine4).BeginInit();
+            ((ISupportInitialize)xyDiagramPane4).BeginInit();
+            ((ISupportInitialize)xyDiagramPane5).BeginInit();
+            ((ISupportInitialize)xyDiagramPane6).BeginInit();
+            ((ISupportInitialize)secondaryAxisy5).BeginInit();
+            ((ISupportInitialize)secondaryAxisy6).BeginInit();
+            ((ISupportInitialize)secondaryAxisy7).BeginInit();
+            ((ISupportInitialize)secondaryAxisy8).BeginInit();
+            ((ISupportInitialize)series10).BeginInit();
+            ((ISupportInitialize)lineSeriesView7).BeginInit();
+            ((ISupportInitialize)series11).BeginInit();
+            ((ISupportInitialize)rangeAreaSeriesView3).BeginInit();
+            ((ISupportInitialize)series12).BeginInit();
+            ((ISupportInitialize)rangeAreaSeriesView4).BeginInit();
+            ((ISupportInitialize)series13).BeginInit();
+            ((ISupportInitialize)lineSeriesView8).BeginInit();
+            ((ISupportInitialize)series14).BeginInit();
+            ((ISupportInitialize)lineSeriesView9).BeginInit();
+            ((ISupportInitialize)series15).BeginInit();
+            ((ISupportInitialize)lineSeriesView10).BeginInit();
+            ((ISupportInitialize)series16).BeginInit();
+            ((ISupportInitialize)lineSeriesView11).BeginInit();
+            ((ISupportInitialize)series17).BeginInit();
+            ((ISupportInitialize)lineSeriesView12).BeginInit();
+            ((ISupportInitialize)series18).BeginInit();
+            ((ISupportInitialize)pointSeriesView2).BeginInit();
+            sidePanelChart.SuspendLayout();
+            ((ISupportInitialize)txtTotalEnergyCVEl.Properties).BeginInit();
+            ((ISupportInitialize)layoutControlItem8).BeginInit();
+            ((ISupportInitialize)txtTotalEnergyVTEl.Properties).BeginInit();
+            ((ISupportInitialize)layoutControlItem14).BeginInit();
+            SuspendLayout();
             // 
             // dockManager1
             // 
-            this.dockManager1.Form = this;
-            this.dockManager1.Style = DevExpress.XtraBars.Docking2010.Views.DockingViewStyle.Light;
-            this.dockManager1.TopZIndexControls.AddRange(new string[] {
-            "DevExpress.XtraBars.BarDockControl",
-            "DevExpress.XtraBars.StandaloneBarDockControl",
-            "System.Windows.Forms.MenuStrip",
-            "System.Windows.Forms.StatusStrip",
-            "System.Windows.Forms.StatusBar",
-            "DevExpress.XtraBars.Ribbon.RibbonStatusBar",
-            "DevExpress.XtraBars.Ribbon.RibbonControl",
-            "DevExpress.XtraBars.Navigation.OfficeNavigationBar",
-            "DevExpress.XtraBars.Navigation.TileNavPane",
-            "DevExpress.XtraBars.TabFormControl",
-            "DevExpress.XtraBars.FluentDesignSystem.FluentDesignFormControl",
-            "DevExpress.XtraBars.ToolbarForm.ToolbarFormControl"});
+            dockManager1.Form = this;
+            dockManager1.Style = DevExpress.XtraBars.Docking2010.Views.DockingViewStyle.Light;
+            dockManager1.TopZIndexControls.AddRange(new string[] { "DevExpress.XtraBars.BarDockControl", "DevExpress.XtraBars.StandaloneBarDockControl", "System.Windows.Forms.MenuStrip", "System.Windows.Forms.StatusStrip", "System.Windows.Forms.StatusBar", "DevExpress.XtraBars.Ribbon.RibbonStatusBar", "DevExpress.XtraBars.Ribbon.RibbonControl", "DevExpress.XtraBars.Navigation.OfficeNavigationBar", "DevExpress.XtraBars.Navigation.TileNavPane", "DevExpress.XtraBars.TabFormControl", "DevExpress.XtraBars.FluentDesignSystem.FluentDesignFormControl", "DevExpress.XtraBars.ToolbarForm.ToolbarFormControl" });
             // 
             // sidePanelInfo
             // 
-            this.sidePanelInfo.Controls.Add(this.layoutControl1);
-            this.sidePanelInfo.Dock = System.Windows.Forms.DockStyle.Right;
-            this.sidePanelInfo.Location = new System.Drawing.Point(424, 52);
-            this.sidePanelInfo.Name = "sidePanelInfo";
-            this.sidePanelInfo.Size = new System.Drawing.Size(394, 629);
-            this.sidePanelInfo.TabIndex = 0;
-            this.sidePanelInfo.Text = "sidePanel1";
+            sidePanelInfo.Controls.Add(layoutControl1);
+            sidePanelInfo.Dock = DockStyle.Right;
+            sidePanelInfo.Location = new Point(485, 64);
+            sidePanelInfo.Margin = new Padding(3, 4, 3, 4);
+            sidePanelInfo.Name = "sidePanelInfo";
+            sidePanelInfo.Size = new Size(450, 812);
+            sidePanelInfo.TabIndex = 0;
+            sidePanelInfo.Text = "sidePanel1";
             // 
             // layoutControl1
             // 
-            this.layoutControl1.Controls.Add(this.txtEndP);
-            this.layoutControl1.Controls.Add(this.multiCurveExpressChart1);
-            this.layoutControl1.Controls.Add(this.gridControl1);
-            this.layoutControl1.Controls.Add(this.txtTotalEnergyVP);
-            this.layoutControl1.Controls.Add(this.txtEnergyEfficient);
-            this.layoutControl1.Controls.Add(this.txtEnergyEfficiencyRatio);
-            this.layoutControl1.Controls.Add(this.txtPower);
-            this.layoutControl1.Controls.Add(this.txtPumpP);
-            this.layoutControl1.Controls.Add(this.txtTerminalP);
-            this.layoutControl1.Controls.Add(this.txtConstantP);
-            this.layoutControl1.Controls.Add(this.txtTime);
-            this.layoutControl1.Controls.Add(this.txtTotalEnergyCP);
-            this.layoutControl1.Dock = System.Windows.Forms.DockStyle.Fill;
-            this.layoutControl1.Location = new System.Drawing.Point(1, 0);
-            this.layoutControl1.Name = "layoutControl1";
-            this.layoutControl1.OptionsCustomizationForm.DesignTimeCustomizationFormPositionAndSize = new System.Drawing.Rectangle(646, 739, 650, 400);
-            this.layoutControl1.Root = this.Root;
-            this.layoutControl1.Size = new System.Drawing.Size(393, 629);
-            this.layoutControl1.TabIndex = 0;
-            this.layoutControl1.Text = "layoutControl1";
+            layoutControl1.Controls.Add(txtTotalEnergyVTEl);
+            layoutControl1.Controls.Add(txtTotalEnergyCVEl);
+            layoutControl1.Controls.Add(txtEndP);
+            layoutControl1.Controls.Add(multiCurveExpressChart1);
+            layoutControl1.Controls.Add(gridControl1);
+            layoutControl1.Controls.Add(txtTotalEnergyVP);
+            layoutControl1.Controls.Add(txtEnergyEfficient);
+            layoutControl1.Controls.Add(txtEnergyEfficiencyRatio);
+            layoutControl1.Controls.Add(txtPower);
+            layoutControl1.Controls.Add(txtPumpP);
+            layoutControl1.Controls.Add(txtTerminalP);
+            layoutControl1.Controls.Add(txtConstantP);
+            layoutControl1.Controls.Add(txtTime);
+            layoutControl1.Controls.Add(txtTotalEnergyCP);
+            layoutControl1.Dock = DockStyle.Fill;
+            layoutControl1.Location = new Point(1, 0);
+            layoutControl1.Margin = new Padding(3, 4, 3, 4);
+            layoutControl1.Name = "layoutControl1";
+            layoutControl1.OptionsCustomizationForm.DesignTimeCustomizationFormPositionAndSize = new Rectangle(646, 739, 650, 400);
+            layoutControl1.Root = Root;
+            layoutControl1.Size = new Size(449, 812);
+            layoutControl1.TabIndex = 0;
+            layoutControl1.Text = "layoutControl1";
             // 
             // txtEndP
             // 
-            this.txtEndP.EditValue = "10";
-            this.txtEndP.Location = new System.Drawing.Point(293, 26);
-            this.txtEndP.Name = "txtEndP";
-            this.txtEndP.Size = new System.Drawing.Size(96, 20);
-            this.txtEndP.StyleController = this.layoutControl1;
-            this.txtEndP.TabIndex = 14;
+            txtEndP.EditValue = "10";
+            txtEndP.Location = new Point(342, 33);
+            txtEndP.Margin = new Padding(3, 4, 3, 4);
+            txtEndP.Name = "txtEndP";
+            txtEndP.Size = new Size(103, 24);
+            txtEndP.StyleController = layoutControl1;
+            txtEndP.TabIndex = 14;
             // 
             // multiCurveExpressChart1
-            //   
-            this.multiCurveExpressChart1.Location = new System.Drawing.Point(0, 344);
-            this.multiCurveExpressChart1.Margin = new System.Windows.Forms.Padding(1);
-            this.multiCurveExpressChart1.Name = "multiCurveExpressChart1";
-            this.multiCurveExpressChart1.Size = new System.Drawing.Size(393, 285);
-            this.multiCurveExpressChart1.TabIndex = 17;
+            // 
+            multiCurveExpressChart1.Location = new Point(0, 459);
+            multiCurveExpressChart1.Margin = new Padding(1);
+            multiCurveExpressChart1.Name = "multiCurveExpressChart1";
+            multiCurveExpressChart1.QEFeatType = Yw.Ahart.eFeatType.Cubic;
+            multiCurveExpressChart1.QEVisible = true;
+            multiCurveExpressChart1.QHFeatType = Yw.Ahart.eFeatType.Cubic;
+            multiCurveExpressChart1.QPFeatType = Yw.Ahart.eFeatType.Cubic;
+            multiCurveExpressChart1.QPVisble = true;
+            multiCurveExpressChart1.RunPointVisible = true;
+            multiCurveExpressChart1.Size = new Size(449, 353);
+            multiCurveExpressChart1.TabIndex = 17;
             // 
             // gridControl1
             // 
-            this.gridControl1.Location = new System.Drawing.Point(0, 220);
-            this.gridControl1.MainView = this.gridView1;
-            this.gridControl1.Name = "gridControl1";
-            this.gridControl1.Size = new System.Drawing.Size(393, 102);
-            this.gridControl1.TabIndex = 16;
-            this.gridControl1.ViewCollection.AddRange(new DevExpress.XtraGrid.Views.Base.BaseView[] {
-            this.gridView1});
+            gridControl1.EmbeddedNavigator.Margin = new Padding(3, 5, 3, 5);
+            gridControl1.Location = new Point(0, 306);
+            gridControl1.MainView = gridView1;
+            gridControl1.Margin = new Padding(3, 4, 3, 4);
+            gridControl1.Name = "gridControl1";
+            gridControl1.Size = new Size(449, 126);
+            gridControl1.TabIndex = 16;
+            gridControl1.ViewCollection.AddRange(new DevExpress.XtraGrid.Views.Base.BaseView[] { gridView1 });
             // 
             // gridView1
             // 
-            this.gridView1.BorderStyle = DevExpress.XtraEditors.Controls.BorderStyles.NoBorder;
-            this.gridView1.Columns.AddRange(new DevExpress.XtraGrid.Columns.GridColumn[] {
-            this.colID,
-            this.colHZ,
-            this.colEff,
-            this.colPower,
-            this.colFlow,
-            this.colHead});
-            this.gridView1.GridControl = this.gridControl1;
-            this.gridView1.Name = "gridView1";
-            this.gridView1.OptionsView.ShowGroupPanel = false;
+            gridView1.BorderStyle = BorderStyles.NoBorder;
+            gridView1.Columns.AddRange(new DevExpress.XtraGrid.Columns.GridColumn[] { colID, colHZ, colEff, colPower, colFlow, colHead });
+            gridView1.DetailHeight = 450;
+            gridView1.GridControl = gridControl1;
+            gridView1.Name = "gridView1";
+            gridView1.OptionsEditForm.PopupEditFormWidth = 914;
+            gridView1.OptionsView.ShowGroupPanel = false;
             // 
             // colID
             // 
-            this.colID.Caption = "娉�";
-            this.colID.FieldName = "Name";
-            this.colID.Name = "colID";
-            this.colID.Visible = true;
-            this.colID.VisibleIndex = 0;
+            colID.Caption = "娉�";
+            colID.FieldName = "Name";
+            colID.MinWidth = 23;
+            colID.Name = "colID";
+            colID.Visible = true;
+            colID.VisibleIndex = 0;
+            colID.Width = 86;
             // 
             // colHZ
             // 
-            this.colHZ.Caption = "棰戠巼(hz)";
-            this.colHZ.FieldName = "HZ";
-            this.colHZ.Name = "colHZ";
-            this.colHZ.Visible = true;
-            this.colHZ.VisibleIndex = 1;
+            colHZ.Caption = "棰戠巼(hz)";
+            colHZ.FieldName = "HZ";
+            colHZ.MinWidth = 23;
+            colHZ.Name = "colHZ";
+            colHZ.Visible = true;
+            colHZ.VisibleIndex = 1;
+            colHZ.Width = 86;
             // 
             // colEff
             // 
-            this.colEff.Caption = "鏁堢巼(%)";
-            this.colEff.FieldName = "Eff";
-            this.colEff.Name = "colEff";
-            this.colEff.Visible = true;
-            this.colEff.VisibleIndex = 5;
+            colEff.Caption = "鏁堢巼(%)";
+            colEff.FieldName = "Eff";
+            colEff.MinWidth = 23;
+            colEff.Name = "colEff";
+            colEff.Visible = true;
+            colEff.VisibleIndex = 5;
+            colEff.Width = 86;
             // 
             // colPower
             // 
-            this.colPower.Caption = "鍔熺巼(kW)";
-            this.colPower.FieldName = "Power";
-            this.colPower.Name = "colPower";
-            this.colPower.Visible = true;
-            this.colPower.VisibleIndex = 4;
+            colPower.Caption = "鍔熺巼(kW)";
+            colPower.FieldName = "Power";
+            colPower.MinWidth = 23;
+            colPower.Name = "colPower";
+            colPower.Visible = true;
+            colPower.VisibleIndex = 4;
+            colPower.Width = 86;
             // 
             // colFlow
             // 
-            this.colFlow.Caption = "娴侀噺(m鲁/h)";
-            this.colFlow.FieldName = "Flow";
-            this.colFlow.Name = "colFlow";
-            this.colFlow.Visible = true;
-            this.colFlow.VisibleIndex = 2;
+            colFlow.Caption = "娴侀噺(m鲁/h)";
+            colFlow.FieldName = "Flow";
+            colFlow.MinWidth = 23;
+            colFlow.Name = "colFlow";
+            colFlow.Visible = true;
+            colFlow.VisibleIndex = 2;
+            colFlow.Width = 86;
             // 
             // colHead
             // 
-            this.colHead.Caption = "鎵▼(m)";
-            this.colHead.FieldName = "Head";
-            this.colHead.MinWidth = 21;
-            this.colHead.Name = "colHead";
-            this.colHead.Visible = true;
-            this.colHead.VisibleIndex = 3;
-            this.colHead.Width = 78;
+            colHead.Caption = "鎵▼(m)";
+            colHead.FieldName = "Head";
+            colHead.MinWidth = 24;
+            colHead.Name = "colHead";
+            colHead.Visible = true;
+            colHead.VisibleIndex = 3;
+            colHead.Width = 89;
             // 
             // txtTotalEnergyVP
             // 
-            this.txtTotalEnergyVP.EditValue = "";
-            this.txtTotalEnergyVP.Location = new System.Drawing.Point(293, 76);
-            this.txtTotalEnergyVP.Name = "txtTotalEnergyVP";
-            this.txtTotalEnergyVP.Properties.ReadOnly = true;
-            this.txtTotalEnergyVP.Size = new System.Drawing.Size(96, 20);
-            this.txtTotalEnergyVP.StyleController = this.layoutControl1;
-            this.txtTotalEnergyVP.TabIndex = 4;
+            txtTotalEnergyVP.EditValue = "";
+            txtTotalEnergyVP.Location = new Point(342, 96);
+            txtTotalEnergyVP.Margin = new Padding(3, 4, 3, 4);
+            txtTotalEnergyVP.Name = "txtTotalEnergyVP";
+            txtTotalEnergyVP.Properties.ReadOnly = true;
+            txtTotalEnergyVP.Size = new Size(103, 24);
+            txtTotalEnergyVP.StyleController = layoutControl1;
+            txtTotalEnergyVP.TabIndex = 4;
             // 
             // txtEnergyEfficient
             // 
-            this.txtEnergyEfficient.EditValue = "";
-            this.txtEnergyEfficient.Location = new System.Drawing.Point(99, 100);
-            this.txtEnergyEfficient.Name = "txtEnergyEfficient";
-            this.txtEnergyEfficient.Properties.ReadOnly = true;
-            this.txtEnergyEfficient.Size = new System.Drawing.Size(95, 20);
-            this.txtEnergyEfficient.StyleController = this.layoutControl1;
-            this.txtEnergyEfficient.TabIndex = 5;
+            txtEnergyEfficient.EditValue = "";
+            txtEnergyEfficient.Location = new Point(120, 126);
+            txtEnergyEfficient.Margin = new Padding(3, 4, 3, 4);
+            txtEnergyEfficient.Name = "txtEnergyEfficient";
+            txtEnergyEfficient.Properties.ReadOnly = true;
+            txtEnergyEfficient.Size = new Size(102, 24);
+            txtEnergyEfficient.StyleController = layoutControl1;
+            txtEnergyEfficient.TabIndex = 5;
             // 
             // txtEnergyEfficiencyRatio
             // 
-            this.txtEnergyEfficiencyRatio.EditValue = "";
-            this.txtEnergyEfficiencyRatio.Location = new System.Drawing.Point(293, 100);
-            this.txtEnergyEfficiencyRatio.Name = "txtEnergyEfficiencyRatio";
-            this.txtEnergyEfficiencyRatio.Properties.ReadOnly = true;
-            this.txtEnergyEfficiencyRatio.Size = new System.Drawing.Size(96, 20);
-            this.txtEnergyEfficiencyRatio.StyleController = this.layoutControl1;
-            this.txtEnergyEfficiencyRatio.TabIndex = 6;
+            txtEnergyEfficiencyRatio.EditValue = "";
+            txtEnergyEfficiencyRatio.Location = new Point(342, 126);
+            txtEnergyEfficiencyRatio.Margin = new Padding(3, 4, 3, 4);
+            txtEnergyEfficiencyRatio.Name = "txtEnergyEfficiencyRatio";
+            txtEnergyEfficiencyRatio.Properties.ReadOnly = true;
+            txtEnergyEfficiencyRatio.Size = new Size(103, 24);
+            txtEnergyEfficiencyRatio.StyleController = layoutControl1;
+            txtEnergyEfficiencyRatio.TabIndex = 6;
             // 
             // txtPower
             // 
-            this.txtPower.Location = new System.Drawing.Point(293, 150);
-            this.txtPower.Name = "txtPower";
-            this.txtPower.Properties.ReadOnly = true;
-            this.txtPower.Size = new System.Drawing.Size(96, 20);
-            this.txtPower.StyleController = this.layoutControl1;
-            this.txtPower.TabIndex = 7;
+            txtPower.Location = new Point(342, 219);
+            txtPower.Margin = new Padding(3, 4, 3, 4);
+            txtPower.Name = "txtPower";
+            txtPower.Properties.ReadOnly = true;
+            txtPower.Size = new Size(103, 24);
+            txtPower.StyleController = layoutControl1;
+            txtPower.TabIndex = 7;
             // 
             // txtPumpP
             // 
-            this.txtPumpP.Location = new System.Drawing.Point(99, 174);
-            this.txtPumpP.Name = "txtPumpP";
-            this.txtPumpP.Properties.ReadOnly = true;
-            this.txtPumpP.Size = new System.Drawing.Size(95, 20);
-            this.txtPumpP.StyleController = this.layoutControl1;
-            this.txtPumpP.TabIndex = 9;
+            txtPumpP.Location = new Point(120, 249);
+            txtPumpP.Margin = new Padding(3, 4, 3, 4);
+            txtPumpP.Name = "txtPumpP";
+            txtPumpP.Properties.ReadOnly = true;
+            txtPumpP.Size = new Size(102, 24);
+            txtPumpP.StyleController = layoutControl1;
+            txtPumpP.TabIndex = 9;
             // 
             // txtTerminalP
             // 
-            this.txtTerminalP.Location = new System.Drawing.Point(293, 174);
-            this.txtTerminalP.Name = "txtTerminalP";
-            this.txtTerminalP.Properties.ReadOnly = true;
-            this.txtTerminalP.Size = new System.Drawing.Size(96, 20);
-            this.txtTerminalP.StyleController = this.layoutControl1;
-            this.txtTerminalP.TabIndex = 10;
+            txtTerminalP.Location = new Point(342, 249);
+            txtTerminalP.Margin = new Padding(3, 4, 3, 4);
+            txtTerminalP.Name = "txtTerminalP";
+            txtTerminalP.Properties.ReadOnly = true;
+            txtTerminalP.Size = new Size(103, 24);
+            txtTerminalP.StyleController = layoutControl1;
+            txtTerminalP.TabIndex = 10;
             // 
             // txtConstantP
             // 
-            this.txtConstantP.EditValue = "60";
-            this.txtConstantP.Location = new System.Drawing.Point(99, 26);
-            this.txtConstantP.Name = "txtConstantP";
-            this.txtConstantP.Properties.MaskSettings.Set("MaskManagerType", typeof(DevExpress.Data.Mask.NumericMaskManager));
-            this.txtConstantP.Size = new System.Drawing.Size(95, 20);
-            this.txtConstantP.StyleController = this.layoutControl1;
-            this.txtConstantP.TabIndex = 13;
-            this.txtConstantP.EditValueChanged += new System.EventHandler(this.txtConstantP_EditValueChanged);
+            txtConstantP.EditValue = "60";
+            txtConstantP.Location = new Point(120, 33);
+            txtConstantP.Margin = new Padding(3, 4, 3, 4);
+            txtConstantP.Name = "txtConstantP";
+            txtConstantP.Properties.MaskSettings.Set("MaskManagerType", typeof(DevExpress.Data.Mask.NumericMaskManager));
+            txtConstantP.Size = new Size(102, 24);
+            txtConstantP.StyleController = layoutControl1;
+            txtConstantP.TabIndex = 13;
+            txtConstantP.EditValueChanged += txtConstantP_EditValueChanged;
             // 
             // txtTime
             // 
-            this.txtTime.Location = new System.Drawing.Point(99, 150);
-            this.txtTime.Name = "txtTime";
-            this.txtTime.Properties.DisplayFormat.FormatString = "d";
-            this.txtTime.Properties.DisplayFormat.FormatType = DevExpress.Utils.FormatType.DateTime;
-            this.txtTime.Properties.EditFormat.FormatString = "d";
-            this.txtTime.Properties.EditFormat.FormatType = DevExpress.Utils.FormatType.DateTime;
-            this.txtTime.Properties.ReadOnly = true;
-            this.txtTime.Size = new System.Drawing.Size(95, 20);
-            this.txtTime.StyleController = this.layoutControl1;
-            this.txtTime.TabIndex = 12;
+            txtTime.Location = new Point(120, 219);
+            txtTime.Margin = new Padding(3, 4, 3, 4);
+            txtTime.Name = "txtTime";
+            txtTime.Properties.DisplayFormat.FormatString = "d";
+            txtTime.Properties.DisplayFormat.FormatType = FormatType.DateTime;
+            txtTime.Properties.EditFormat.FormatString = "d";
+            txtTime.Properties.EditFormat.FormatType = FormatType.DateTime;
+            txtTime.Properties.ReadOnly = true;
+            txtTime.Size = new Size(102, 24);
+            txtTime.StyleController = layoutControl1;
+            txtTime.TabIndex = 12;
             // 
             // txtTotalEnergyCP
             // 
-            this.txtTotalEnergyCP.Location = new System.Drawing.Point(99, 76);
-            this.txtTotalEnergyCP.Margin = new System.Windows.Forms.Padding(2);
-            this.txtTotalEnergyCP.MenuManager = this.ribbonControl1;
-            this.txtTotalEnergyCP.Name = "txtTotalEnergyCP";
-            this.txtTotalEnergyCP.Properties.ReadOnly = true;
-            this.txtTotalEnergyCP.Size = new System.Drawing.Size(95, 20);
-            this.txtTotalEnergyCP.StyleController = this.layoutControl1;
-            this.txtTotalEnergyCP.TabIndex = 19;
+            txtTotalEnergyCP.Location = new Point(120, 96);
+            txtTotalEnergyCP.Margin = new Padding(2, 3, 2, 3);
+            txtTotalEnergyCP.MenuManager = ribbonControl1;
+            txtTotalEnergyCP.Name = "txtTotalEnergyCP";
+            txtTotalEnergyCP.Properties.ReadOnly = true;
+            txtTotalEnergyCP.Size = new Size(102, 24);
+            txtTotalEnergyCP.StyleController = layoutControl1;
+            txtTotalEnergyCP.TabIndex = 19;
             // 
             // ribbonControl1
             // 
-            this.ribbonControl1.DrawGroupsBorderMode = DevExpress.Utils.DefaultBoolean.False;
-            this.ribbonControl1.ExpandCollapseItem.Id = 0;
-            this.ribbonControl1.ItemPanelStyle = DevExpress.XtraBars.Ribbon.RibbonItemPanelStyle.Classic;
-            this.ribbonControl1.Items.AddRange(new DevExpress.XtraBars.BarItem[] {
-            this.ribbonControl1.ExpandCollapseItem,
-            this.ribbonControl1.SearchEditItem,
-            this.barBtnWaterImport,
-            this.barBtnCalc,
-            this.barBtnPause,
-            this.barBtnContinue,
-            this.barBtnOver});
-            this.ribbonControl1.Location = new System.Drawing.Point(0, 0);
-            this.ribbonControl1.MaxItemId = 20;
-            this.ribbonControl1.Name = "ribbonControl1";
-            this.ribbonControl1.Pages.AddRange(new DevExpress.XtraBars.Ribbon.RibbonPage[] {
-            this.ribbonPage});
-            this.ribbonControl1.RibbonStyle = DevExpress.XtraBars.Ribbon.RibbonControlStyle.TabletOffice;
-            this.ribbonControl1.ShowApplicationButton = DevExpress.Utils.DefaultBoolean.False;
-            this.ribbonControl1.ShowExpandCollapseButton = DevExpress.Utils.DefaultBoolean.False;
-            this.ribbonControl1.ShowPageHeadersMode = DevExpress.XtraBars.Ribbon.ShowPageHeadersMode.Hide;
-            this.ribbonControl1.Size = new System.Drawing.Size(818, 52);
-            this.ribbonControl1.ToolbarLocation = DevExpress.XtraBars.Ribbon.RibbonQuickAccessToolbarLocation.Hidden;
+            ribbonControl1.DrawGroupsBorderMode = DefaultBoolean.False;
+            ribbonControl1.EmptyAreaImageOptions.ImagePadding = new Padding(34, 39, 34, 39);
+            ribbonControl1.ExpandCollapseItem.Id = 0;
+            ribbonControl1.ItemPanelStyle = DevExpress.XtraBars.Ribbon.RibbonItemPanelStyle.Classic;
+            ribbonControl1.Items.AddRange(new DevExpress.XtraBars.BarItem[] { ribbonControl1.ExpandCollapseItem, barBtnWaterImport, barBtnCalc, barBtnPause, barBtnContinue, barBtnOver });
+            ribbonControl1.Location = new Point(0, 0);
+            ribbonControl1.Margin = new Padding(3, 4, 3, 4);
+            ribbonControl1.MaxItemId = 20;
+            ribbonControl1.Name = "ribbonControl1";
+            ribbonControl1.OptionsMenuMinWidth = 377;
+            ribbonControl1.Pages.AddRange(new DevExpress.XtraBars.Ribbon.RibbonPage[] { ribbonPage });
+            ribbonControl1.RibbonStyle = DevExpress.XtraBars.Ribbon.RibbonControlStyle.TabletOffice;
+            ribbonControl1.ShowApplicationButton = DefaultBoolean.False;
+            ribbonControl1.ShowExpandCollapseButton = DefaultBoolean.False;
+            ribbonControl1.ShowPageHeadersMode = DevExpress.XtraBars.Ribbon.ShowPageHeadersMode.Hide;
+            ribbonControl1.Size = new Size(935, 64);
+            ribbonControl1.ToolbarLocation = DevExpress.XtraBars.Ribbon.RibbonQuickAccessToolbarLocation.Hidden;
             // 
             // barBtnWaterImport
             // 
-            this.barBtnWaterImport.Caption = "姘撮噺瀵煎叆";
-            this.barBtnWaterImport.Id = 13;
-            this.barBtnWaterImport.ImageOptions.SvgImage = ((DevExpress.Utils.Svg.SvgImage)(resources.GetObject("barBtnWaterImport.ImageOptions.SvgImage")));
-            this.barBtnWaterImport.Name = "barBtnWaterImport";
-            this.barBtnWaterImport.ItemClick += new DevExpress.XtraBars.ItemClickEventHandler(this.barBtnWaterImport_ItemClick);
+            barBtnWaterImport.Caption = "姘撮噺瀵煎叆";
+            barBtnWaterImport.Id = 13;
+            barBtnWaterImport.ImageOptions.SvgImage = (DevExpress.Utils.Svg.SvgImage)resources.GetObject("barBtnWaterImport.ImageOptions.SvgImage");
+            barBtnWaterImport.Name = "barBtnWaterImport";
+            barBtnWaterImport.ItemClick += barBtnWaterImport_ItemClick;
             // 
             // barBtnCalc
             // 
-            this.barBtnCalc.Caption = "璁$畻";
-            this.barBtnCalc.Id = 14;
-            this.barBtnCalc.ImageOptions.SvgImage = ((DevExpress.Utils.Svg.SvgImage)(resources.GetObject("barBtnCalc.ImageOptions.SvgImage")));
-            this.barBtnCalc.Name = "barBtnCalc";
-            this.barBtnCalc.ItemClick += new DevExpress.XtraBars.ItemClickEventHandler(this.barBtnCalc_ItemClick);
+            barBtnCalc.Caption = "璁$畻";
+            barBtnCalc.Id = 14;
+            barBtnCalc.ImageOptions.SvgImage = (DevExpress.Utils.Svg.SvgImage)resources.GetObject("barBtnCalc.ImageOptions.SvgImage");
+            barBtnCalc.Name = "barBtnCalc";
+            barBtnCalc.ItemClick += barBtnCalc_ItemClick;
             // 
             // barBtnPause
             // 
-            this.barBtnPause.Caption = "鏆傚仠";
-            this.barBtnPause.Enabled = false;
-            this.barBtnPause.Id = 15;
-            this.barBtnPause.ImageOptions.SvgImage = ((DevExpress.Utils.Svg.SvgImage)(resources.GetObject("barBtnPause.ImageOptions.SvgImage")));
-            this.barBtnPause.Name = "barBtnPause";
-            this.barBtnPause.ItemClick += new DevExpress.XtraBars.ItemClickEventHandler(this.barBtnPause_ItemClick);
+            barBtnPause.Caption = "鏆傚仠";
+            barBtnPause.Enabled = false;
+            barBtnPause.Id = 15;
+            barBtnPause.ImageOptions.SvgImage = (DevExpress.Utils.Svg.SvgImage)resources.GetObject("barBtnPause.ImageOptions.SvgImage");
+            barBtnPause.Name = "barBtnPause";
+            barBtnPause.ItemClick += barBtnPause_ItemClick;
             // 
             // barBtnContinue
             // 
-            this.barBtnContinue.Caption = "缁х画";
-            this.barBtnContinue.Enabled = false;
-            this.barBtnContinue.Id = 18;
-            this.barBtnContinue.ImageOptions.SvgImage = ((DevExpress.Utils.Svg.SvgImage)(resources.GetObject("barBtnContinue.ImageOptions.SvgImage")));
-            this.barBtnContinue.Name = "barBtnContinue";
-            this.barBtnContinue.ItemClick += new DevExpress.XtraBars.ItemClickEventHandler(this.barBtnContinue_ItemClick);
+            barBtnContinue.Caption = "缁х画";
+            barBtnContinue.Enabled = false;
+            barBtnContinue.Id = 18;
+            barBtnContinue.ImageOptions.SvgImage = (DevExpress.Utils.Svg.SvgImage)resources.GetObject("barBtnContinue.ImageOptions.SvgImage");
+            barBtnContinue.Name = "barBtnContinue";
+            barBtnContinue.ItemClick += barBtnContinue_ItemClick;
             // 
             // barBtnOver
             // 
-            this.barBtnOver.Caption = "缁撴潫";
-            this.barBtnOver.Enabled = false;
-            this.barBtnOver.Id = 19;
-            this.barBtnOver.ImageOptions.SvgImage = ((DevExpress.Utils.Svg.SvgImage)(resources.GetObject("barBtnOver.ImageOptions.SvgImage")));
-            this.barBtnOver.Name = "barBtnOver";
-            this.barBtnOver.ItemClick += new DevExpress.XtraBars.ItemClickEventHandler(this.barBtnOver_ItemClick);
+            barBtnOver.Caption = "缁撴潫";
+            barBtnOver.Enabled = false;
+            barBtnOver.Id = 19;
+            barBtnOver.ImageOptions.SvgImage = (DevExpress.Utils.Svg.SvgImage)resources.GetObject("barBtnOver.ImageOptions.SvgImage");
+            barBtnOver.Name = "barBtnOver";
+            barBtnOver.ItemClick += barBtnOver_ItemClick;
             // 
             // ribbonPage
             // 
-            this.ribbonPage.Groups.AddRange(new DevExpress.XtraBars.Ribbon.RibbonPageGroup[] {
-            this.PageGroup});
-            this.ribbonPage.Name = "ribbonPage";
-            this.ribbonPage.Text = "Page";
+            ribbonPage.Groups.AddRange(new DevExpress.XtraBars.Ribbon.RibbonPageGroup[] { PageGroup });
+            ribbonPage.Name = "ribbonPage";
+            ribbonPage.Text = "Page";
             // 
             // PageGroup
             // 
-            this.PageGroup.ItemLinks.Add(this.barBtnWaterImport);
-            this.PageGroup.ItemLinks.Add(this.barBtnCalc);
-            this.PageGroup.ItemLinks.Add(this.barBtnPause);
-            this.PageGroup.ItemLinks.Add(this.barBtnContinue);
-            this.PageGroup.ItemLinks.Add(this.barBtnOver);
-            this.PageGroup.Name = "PageGroup";
-            this.PageGroup.Text = "PageGroup";
+            PageGroup.ItemLinks.Add(barBtnWaterImport);
+            PageGroup.ItemLinks.Add(barBtnCalc);
+            PageGroup.ItemLinks.Add(barBtnPause);
+            PageGroup.ItemLinks.Add(barBtnContinue);
+            PageGroup.ItemLinks.Add(barBtnOver);
+            PageGroup.Name = "PageGroup";
+            PageGroup.Text = "PageGroup";
             // 
             // Root
             // 
-            this.Root.EnableIndentsWithoutBorders = DevExpress.Utils.DefaultBoolean.True;
-            this.Root.GroupBordersVisible = false;
-            this.Root.Items.AddRange(new DevExpress.XtraLayout.BaseLayoutItem[] {
-            this.layoutControlGroup1,
-            this.layoutControlGroup2,
-            this.layoutControlGroup3,
-            this.layoutControlGroup5,
-            this.layoutControlGroup4});
-            this.Root.Name = "Root";
-            this.Root.Padding = new DevExpress.XtraLayout.Utils.Padding(0, 0, 0, 0);
-            this.Root.Size = new System.Drawing.Size(393, 629);
-            this.Root.TextVisible = false;
+            Root.EnableIndentsWithoutBorders = DefaultBoolean.True;
+            Root.GroupBordersVisible = false;
+            Root.Items.AddRange(new DevExpress.XtraLayout.BaseLayoutItem[] { layoutControlGroup1, layoutControlGroup2, layoutControlGroup3, layoutControlGroup5, layoutControlGroup4 });
+            Root.Name = "Root";
+            Root.Padding = new DevExpress.XtraLayout.Utils.Padding(0, 0, 0, 0);
+            Root.Size = new Size(449, 812);
+            Root.TextVisible = false;
             // 
             // layoutControlGroup1
             // 
-            this.layoutControlGroup1.AppearanceGroup.FontSizeDelta = 2;
-            this.layoutControlGroup1.AppearanceGroup.Options.UseFont = true;
-            this.layoutControlGroup1.AppearanceGroup.Options.UseTextOptions = true;
-            this.layoutControlGroup1.AppearanceGroup.TextOptions.HAlignment = DevExpress.Utils.HorzAlignment.Center;
-            this.layoutControlGroup1.ExpandButtonVisible = true;
-            this.layoutControlGroup1.GroupStyle = DevExpress.Utils.GroupStyle.Title;
-            this.layoutControlGroup1.Items.AddRange(new DevExpress.XtraLayout.BaseLayoutItem[] {
-            this.layoutControlItem2,
-            this.layoutControlItem3,
-            this.layoutControlItem1,
-            this.layoutControlItem12});
-            this.layoutControlGroup1.Location = new System.Drawing.Point(0, 50);
-            this.layoutControlGroup1.Name = "layoutControlGroup1";
-            this.layoutControlGroup1.Padding = new DevExpress.XtraLayout.Utils.Padding(2, 2, 2, 2);
-            this.layoutControlGroup1.Size = new System.Drawing.Size(393, 74);
-            this.layoutControlGroup1.Spacing = new DevExpress.XtraLayout.Utils.Padding(0, 0, 0, 0);
-            this.layoutControlGroup1.Text = "鑳芥晥鏁版嵁(kW路h)";
+            layoutControlGroup1.AppearanceGroup.FontSizeDelta = 2;
+            layoutControlGroup1.AppearanceGroup.Options.UseFont = true;
+            layoutControlGroup1.AppearanceGroup.Options.UseTextOptions = true;
+            layoutControlGroup1.AppearanceGroup.TextOptions.HAlignment = HorzAlignment.Center;
+            layoutControlGroup1.ExpandButtonVisible = true;
+            layoutControlGroup1.GroupStyle = GroupStyle.Title;
+            layoutControlGroup1.Items.AddRange(new DevExpress.XtraLayout.BaseLayoutItem[] { layoutControlItem2, layoutControlItem3, layoutControlItem1, layoutControlItem12, layoutControlItem8, layoutControlItem14 });
+            layoutControlGroup1.Location = new Point(0, 63);
+            layoutControlGroup1.Name = "layoutControlGroup1";
+            layoutControlGroup1.Padding = new DevExpress.XtraLayout.Utils.Padding(2, 2, 3, 3);
+            layoutControlGroup1.Size = new Size(449, 123);
+            layoutControlGroup1.Spacing = new DevExpress.XtraLayout.Utils.Padding(0, 0, 0, 0);
+            layoutControlGroup1.Text = "鑳芥晥鏁版嵁(kW路h)";
             // 
             // layoutControlItem2
             // 
-            this.layoutControlItem2.AppearanceItemCaption.FontSizeDelta = 2;
-            this.layoutControlItem2.AppearanceItemCaption.Options.UseFont = true;
-            this.layoutControlItem2.AppearanceItemCaption.Options.UseTextOptions = true;
-            this.layoutControlItem2.AppearanceItemCaption.TextOptions.HAlignment = DevExpress.Utils.HorzAlignment.Far;
-            this.layoutControlItem2.Control = this.txtEnergyEfficient;
-            this.layoutControlItem2.Location = new System.Drawing.Point(0, 24);
-            this.layoutControlItem2.Name = "layoutControlItem2";
-            this.layoutControlItem2.Size = new System.Drawing.Size(194, 24);
-            this.layoutControlItem2.Text = "鑺傜數閲�:";
-            this.layoutControlItem2.TextSize = new System.Drawing.Size(83, 18);
+            layoutControlItem2.AppearanceItemCaption.FontSizeDelta = 2;
+            layoutControlItem2.AppearanceItemCaption.Options.UseFont = true;
+            layoutControlItem2.AppearanceItemCaption.Options.UseTextOptions = true;
+            layoutControlItem2.AppearanceItemCaption.TextOptions.HAlignment = HorzAlignment.Far;
+            layoutControlItem2.Control = txtEnergyEfficient;
+            layoutControlItem2.Location = new Point(0, 30);
+            layoutControlItem2.Name = "layoutControlItem2";
+            layoutControlItem2.Size = new Size(222, 30);
+            layoutControlItem2.Text = "鑺傜數閲�:";
+            layoutControlItem2.TextSize = new Size(102, 23);
             // 
             // layoutControlItem3
             // 
-            this.layoutControlItem3.AppearanceItemCaption.FontSizeDelta = 2;
-            this.layoutControlItem3.AppearanceItemCaption.Options.UseFont = true;
-            this.layoutControlItem3.AppearanceItemCaption.Options.UseTextOptions = true;
-            this.layoutControlItem3.AppearanceItemCaption.TextOptions.HAlignment = DevExpress.Utils.HorzAlignment.Far;
-            this.layoutControlItem3.Control = this.txtEnergyEfficiencyRatio;
-            this.layoutControlItem3.Location = new System.Drawing.Point(194, 24);
-            this.layoutControlItem3.Name = "layoutControlItem3";
-            this.layoutControlItem3.Size = new System.Drawing.Size(195, 24);
-            this.layoutControlItem3.Text = "鑺傝兘姣�:";
-            this.layoutControlItem3.TextSize = new System.Drawing.Size(83, 18);
+            layoutControlItem3.AppearanceItemCaption.FontSizeDelta = 2;
+            layoutControlItem3.AppearanceItemCaption.Options.UseFont = true;
+            layoutControlItem3.AppearanceItemCaption.Options.UseTextOptions = true;
+            layoutControlItem3.AppearanceItemCaption.TextOptions.HAlignment = HorzAlignment.Far;
+            layoutControlItem3.Control = txtEnergyEfficiencyRatio;
+            layoutControlItem3.Location = new Point(222, 30);
+            layoutControlItem3.Name = "layoutControlItem3";
+            layoutControlItem3.Size = new Size(223, 30);
+            layoutControlItem3.Text = "鑺傝兘姣�:";
+            layoutControlItem3.TextSize = new Size(102, 23);
             // 
             // layoutControlItem1
             // 
-            this.layoutControlItem1.AppearanceItemCaption.FontSizeDelta = 2;
-            this.layoutControlItem1.AppearanceItemCaption.Options.UseFont = true;
-            this.layoutControlItem1.AppearanceItemCaption.Options.UseTextOptions = true;
-            this.layoutControlItem1.AppearanceItemCaption.TextOptions.HAlignment = DevExpress.Utils.HorzAlignment.Far;
-            this.layoutControlItem1.Control = this.txtTotalEnergyVP;
-            this.layoutControlItem1.Location = new System.Drawing.Point(194, 0);
-            this.layoutControlItem1.Name = "layoutControlItem1";
-            this.layoutControlItem1.Size = new System.Drawing.Size(195, 24);
-            this.layoutControlItem1.Text = "鍙樺帇鎬昏兘鑰�:";
-            this.layoutControlItem1.TextSize = new System.Drawing.Size(83, 18);
+            layoutControlItem1.AppearanceItemCaption.FontSizeDelta = 2;
+            layoutControlItem1.AppearanceItemCaption.Options.UseFont = true;
+            layoutControlItem1.AppearanceItemCaption.Options.UseTextOptions = true;
+            layoutControlItem1.AppearanceItemCaption.TextOptions.HAlignment = HorzAlignment.Far;
+            layoutControlItem1.Control = txtTotalEnergyVP;
+            layoutControlItem1.Location = new Point(222, 0);
+            layoutControlItem1.Name = "layoutControlItem1";
+            layoutControlItem1.Size = new Size(223, 30);
+            layoutControlItem1.Text = "鍙樺帇鎬昏兘鑰�:";
+            layoutControlItem1.TextSize = new Size(102, 23);
             // 
             // layoutControlItem12
             // 
-            this.layoutControlItem12.AppearanceItemCaption.FontSizeDelta = 2;
-            this.layoutControlItem12.AppearanceItemCaption.Options.UseFont = true;
-            this.layoutControlItem12.AppearanceItemCaption.Options.UseTextOptions = true;
-            this.layoutControlItem12.AppearanceItemCaption.TextOptions.HAlignment = DevExpress.Utils.HorzAlignment.Far;
-            this.layoutControlItem12.Control = this.txtTotalEnergyCP;
-            this.layoutControlItem12.Location = new System.Drawing.Point(0, 0);
-            this.layoutControlItem12.Name = "layoutControlItem12";
-            this.layoutControlItem12.OptionsTableLayoutItem.ColumnIndex = 1;
-            this.layoutControlItem12.Size = new System.Drawing.Size(194, 24);
-            this.layoutControlItem12.Text = "鎭掑帇鎬昏兘鑰�:";
-            this.layoutControlItem12.TextSize = new System.Drawing.Size(83, 18);
+            layoutControlItem12.AppearanceItemCaption.FontSizeDelta = 2;
+            layoutControlItem12.AppearanceItemCaption.Options.UseFont = true;
+            layoutControlItem12.AppearanceItemCaption.Options.UseTextOptions = true;
+            layoutControlItem12.AppearanceItemCaption.TextOptions.HAlignment = HorzAlignment.Far;
+            layoutControlItem12.Control = txtTotalEnergyCP;
+            layoutControlItem12.Location = new Point(0, 0);
+            layoutControlItem12.Name = "layoutControlItem12";
+            layoutControlItem12.OptionsTableLayoutItem.ColumnIndex = 1;
+            layoutControlItem12.Size = new Size(222, 30);
+            layoutControlItem12.Text = "鎭掑帇鎬昏兘鑰�:";
+            layoutControlItem12.TextSize = new Size(102, 23);
             // 
             // layoutControlGroup2
             // 
-            this.layoutControlGroup2.AppearanceGroup.FontSizeDelta = 2;
-            this.layoutControlGroup2.AppearanceGroup.Options.UseFont = true;
-            this.layoutControlGroup2.AppearanceGroup.Options.UseTextOptions = true;
-            this.layoutControlGroup2.AppearanceGroup.TextOptions.HAlignment = DevExpress.Utils.HorzAlignment.Center;
-            this.layoutControlGroup2.CustomizationFormText = "鐬椂鏁版嵁";
-            this.layoutControlGroup2.ExpandButtonVisible = true;
-            this.layoutControlGroup2.GroupStyle = DevExpress.Utils.GroupStyle.Title;
-            this.layoutControlGroup2.Items.AddRange(new DevExpress.XtraLayout.BaseLayoutItem[] {
-            this.layoutControlItem9,
-            this.layoutControlItem6,
-            this.layoutControlItem4,
-            this.layoutControlItem7});
-            this.layoutControlGroup2.Location = new System.Drawing.Point(0, 124);
-            this.layoutControlGroup2.Name = "layoutControlGroup2";
-            this.layoutControlGroup2.Padding = new DevExpress.XtraLayout.Utils.Padding(2, 2, 2, 2);
-            this.layoutControlGroup2.Size = new System.Drawing.Size(393, 74);
-            this.layoutControlGroup2.Spacing = new DevExpress.XtraLayout.Utils.Padding(0, 0, 0, 0);
-            this.layoutControlGroup2.Text = "鐬椂鏁版嵁";
+            layoutControlGroup2.AppearanceGroup.FontSizeDelta = 2;
+            layoutControlGroup2.AppearanceGroup.Options.UseFont = true;
+            layoutControlGroup2.AppearanceGroup.Options.UseTextOptions = true;
+            layoutControlGroup2.AppearanceGroup.TextOptions.HAlignment = HorzAlignment.Center;
+            layoutControlGroup2.CustomizationFormText = "鐬椂鏁版嵁";
+            layoutControlGroup2.ExpandButtonVisible = true;
+            layoutControlGroup2.GroupStyle = GroupStyle.Title;
+            layoutControlGroup2.Items.AddRange(new DevExpress.XtraLayout.BaseLayoutItem[] { layoutControlItem9, layoutControlItem6, layoutControlItem4, layoutControlItem7 });
+            layoutControlGroup2.Location = new Point(0, 186);
+            layoutControlGroup2.Name = "layoutControlGroup2";
+            layoutControlGroup2.Padding = new DevExpress.XtraLayout.Utils.Padding(2, 2, 3, 3);
+            layoutControlGroup2.Size = new Size(449, 93);
+            layoutControlGroup2.Spacing = new DevExpress.XtraLayout.Utils.Padding(0, 0, 0, 0);
+            layoutControlGroup2.Text = "鐬椂鏁版嵁";
             // 
             // layoutControlItem9
             // 
-            this.layoutControlItem9.AppearanceItemCaption.FontSizeDelta = 1;
-            this.layoutControlItem9.AppearanceItemCaption.Options.UseFont = true;
-            this.layoutControlItem9.AppearanceItemCaption.Options.UseTextOptions = true;
-            this.layoutControlItem9.AppearanceItemCaption.TextOptions.HAlignment = DevExpress.Utils.HorzAlignment.Far;
-            this.layoutControlItem9.Control = this.txtTime;
-            this.layoutControlItem9.CustomizationFormText = "鏃堕棿:";
-            this.layoutControlItem9.Location = new System.Drawing.Point(0, 0);
-            this.layoutControlItem9.Name = "layoutControlItem9";
-            this.layoutControlItem9.Size = new System.Drawing.Size(194, 24);
-            this.layoutControlItem9.Text = "鏃堕棿:";
-            this.layoutControlItem9.TextSize = new System.Drawing.Size(83, 17);
+            layoutControlItem9.AppearanceItemCaption.FontSizeDelta = 1;
+            layoutControlItem9.AppearanceItemCaption.Options.UseFont = true;
+            layoutControlItem9.AppearanceItemCaption.Options.UseTextOptions = true;
+            layoutControlItem9.AppearanceItemCaption.TextOptions.HAlignment = HorzAlignment.Far;
+            layoutControlItem9.Control = txtTime;
+            layoutControlItem9.CustomizationFormText = "鏃堕棿:";
+            layoutControlItem9.Location = new Point(0, 0);
+            layoutControlItem9.Name = "layoutControlItem9";
+            layoutControlItem9.Size = new Size(222, 30);
+            layoutControlItem9.Text = "鏃堕棿:";
+            layoutControlItem9.TextSize = new Size(102, 21);
             // 
             // layoutControlItem6
             // 
-            this.layoutControlItem6.AppearanceItemCaption.FontSizeDelta = 1;
-            this.layoutControlItem6.AppearanceItemCaption.Options.UseFont = true;
-            this.layoutControlItem6.AppearanceItemCaption.Options.UseTextOptions = true;
-            this.layoutControlItem6.AppearanceItemCaption.TextOptions.HAlignment = DevExpress.Utils.HorzAlignment.Far;
-            this.layoutControlItem6.Control = this.txtPumpP;
-            this.layoutControlItem6.Location = new System.Drawing.Point(0, 24);
-            this.layoutControlItem6.Name = "layoutControlItem6";
-            this.layoutControlItem6.Size = new System.Drawing.Size(194, 24);
-            this.layoutControlItem6.Text = "娉靛悗鍘嬪姏:";
-            this.layoutControlItem6.TextSize = new System.Drawing.Size(83, 17);
+            layoutControlItem6.AppearanceItemCaption.FontSizeDelta = 1;
+            layoutControlItem6.AppearanceItemCaption.Options.UseFont = true;
+            layoutControlItem6.AppearanceItemCaption.Options.UseTextOptions = true;
+            layoutControlItem6.AppearanceItemCaption.TextOptions.HAlignment = HorzAlignment.Far;
+            layoutControlItem6.Control = txtPumpP;
+            layoutControlItem6.Location = new Point(0, 30);
+            layoutControlItem6.Name = "layoutControlItem6";
+            layoutControlItem6.Size = new Size(222, 30);
+            layoutControlItem6.Text = "娉靛悗鍘嬪姏:";
+            layoutControlItem6.TextSize = new Size(102, 21);
             // 
             // layoutControlItem4
             // 
-            this.layoutControlItem4.AppearanceItemCaption.FontSizeDelta = 1;
-            this.layoutControlItem4.AppearanceItemCaption.Options.UseFont = true;
-            this.layoutControlItem4.AppearanceItemCaption.Options.UseTextOptions = true;
-            this.layoutControlItem4.AppearanceItemCaption.TextOptions.HAlignment = DevExpress.Utils.HorzAlignment.Far;
-            this.layoutControlItem4.Control = this.txtPower;
-            this.layoutControlItem4.CustomizationFormText = "鍔熺巼:";
-            this.layoutControlItem4.Location = new System.Drawing.Point(194, 0);
-            this.layoutControlItem4.Name = "layoutControlItem4";
-            this.layoutControlItem4.Size = new System.Drawing.Size(195, 24);
-            this.layoutControlItem4.Text = "鍔熺巼:";
-            this.layoutControlItem4.TextSize = new System.Drawing.Size(83, 17);
+            layoutControlItem4.AppearanceItemCaption.FontSizeDelta = 1;
+            layoutControlItem4.AppearanceItemCaption.Options.UseFont = true;
+            layoutControlItem4.AppearanceItemCaption.Options.UseTextOptions = true;
+            layoutControlItem4.AppearanceItemCaption.TextOptions.HAlignment = HorzAlignment.Far;
+            layoutControlItem4.Control = txtPower;
+            layoutControlItem4.CustomizationFormText = "鍔熺巼:";
+            layoutControlItem4.Location = new Point(222, 0);
+            layoutControlItem4.Name = "layoutControlItem4";
+            layoutControlItem4.Size = new Size(223, 30);
+            layoutControlItem4.Text = "鍔熺巼:";
+            layoutControlItem4.TextSize = new Size(102, 21);
             // 
             // layoutControlItem7
             // 
-            this.layoutControlItem7.AppearanceItemCaption.FontSizeDelta = 1;
-            this.layoutControlItem7.AppearanceItemCaption.Options.UseFont = true;
-            this.layoutControlItem7.AppearanceItemCaption.Options.UseTextOptions = true;
-            this.layoutControlItem7.AppearanceItemCaption.TextOptions.HAlignment = DevExpress.Utils.HorzAlignment.Far;
-            this.layoutControlItem7.Control = this.txtTerminalP;
-            this.layoutControlItem7.Location = new System.Drawing.Point(194, 24);
-            this.layoutControlItem7.Name = "layoutControlItem7";
-            this.layoutControlItem7.Size = new System.Drawing.Size(195, 24);
-            this.layoutControlItem7.Text = "鐢ㄦ埛鍘嬪姏:";
-            this.layoutControlItem7.TextSize = new System.Drawing.Size(83, 17);
+            layoutControlItem7.AppearanceItemCaption.FontSizeDelta = 1;
+            layoutControlItem7.AppearanceItemCaption.Options.UseFont = true;
+            layoutControlItem7.AppearanceItemCaption.Options.UseTextOptions = true;
+            layoutControlItem7.AppearanceItemCaption.TextOptions.HAlignment = HorzAlignment.Far;
+            layoutControlItem7.Control = txtTerminalP;
+            layoutControlItem7.Location = new Point(222, 30);
+            layoutControlItem7.Name = "layoutControlItem7";
+            layoutControlItem7.Size = new Size(223, 30);
+            layoutControlItem7.Text = "鐢ㄦ埛鍘嬪姏:";
+            layoutControlItem7.TextSize = new Size(102, 21);
             // 
             // layoutControlGroup3
             // 
-            this.layoutControlGroup3.AppearanceGroup.FontSizeDelta = 2;
-            this.layoutControlGroup3.AppearanceGroup.Options.UseFont = true;
-            this.layoutControlGroup3.AppearanceGroup.Options.UseTextOptions = true;
-            this.layoutControlGroup3.AppearanceGroup.TextOptions.HAlignment = DevExpress.Utils.HorzAlignment.Center;
-            this.layoutControlGroup3.ExpandButtonVisible = true;
-            this.layoutControlGroup3.GroupStyle = DevExpress.Utils.GroupStyle.Title;
-            this.layoutControlGroup3.Items.AddRange(new DevExpress.XtraLayout.BaseLayoutItem[] {
-            this.layoutControlItem10,
-            this.layoutControlItem11});
-            this.layoutControlGroup3.Location = new System.Drawing.Point(0, 0);
-            this.layoutControlGroup3.Name = "layoutControlGroup3";
-            this.layoutControlGroup3.Padding = new DevExpress.XtraLayout.Utils.Padding(2, 2, 2, 2);
-            this.layoutControlGroup3.Size = new System.Drawing.Size(393, 50);
-            this.layoutControlGroup3.Spacing = new DevExpress.XtraLayout.Utils.Padding(0, 0, 0, 0);
-            this.layoutControlGroup3.Text = "鍩虹鏁版嵁";
+            layoutControlGroup3.AppearanceGroup.FontSizeDelta = 2;
+            layoutControlGroup3.AppearanceGroup.Options.UseFont = true;
+            layoutControlGroup3.AppearanceGroup.Options.UseTextOptions = true;
+            layoutControlGroup3.AppearanceGroup.TextOptions.HAlignment = HorzAlignment.Center;
+            layoutControlGroup3.ExpandButtonVisible = true;
+            layoutControlGroup3.GroupStyle = GroupStyle.Title;
+            layoutControlGroup3.Items.AddRange(new DevExpress.XtraLayout.BaseLayoutItem[] { layoutControlItem10, layoutControlItem11 });
+            layoutControlGroup3.Location = new Point(0, 0);
+            layoutControlGroup3.Name = "layoutControlGroup3";
+            layoutControlGroup3.Padding = new DevExpress.XtraLayout.Utils.Padding(2, 2, 3, 3);
+            layoutControlGroup3.Size = new Size(449, 63);
+            layoutControlGroup3.Spacing = new DevExpress.XtraLayout.Utils.Padding(0, 0, 0, 0);
+            layoutControlGroup3.Text = "鍩虹鏁版嵁";
             // 
             // layoutControlItem10
             // 
-            this.layoutControlItem10.AppearanceItemCaption.FontSizeDelta = 1;
-            this.layoutControlItem10.AppearanceItemCaption.Options.UseFont = true;
-            this.layoutControlItem10.AppearanceItemCaption.Options.UseTextOptions = true;
-            this.layoutControlItem10.AppearanceItemCaption.TextOptions.HAlignment = DevExpress.Utils.HorzAlignment.Far;
-            this.layoutControlItem10.Control = this.txtConstantP;
-            this.layoutControlItem10.Location = new System.Drawing.Point(0, 0);
-            this.layoutControlItem10.Name = "layoutControlItem10";
-            this.layoutControlItem10.Size = new System.Drawing.Size(194, 24);
-            this.layoutControlItem10.Text = "鎭掑畾鍘嬪姏(m):";
-            this.layoutControlItem10.TextSize = new System.Drawing.Size(83, 17);
+            layoutControlItem10.AppearanceItemCaption.FontSizeDelta = 1;
+            layoutControlItem10.AppearanceItemCaption.Options.UseFont = true;
+            layoutControlItem10.AppearanceItemCaption.Options.UseTextOptions = true;
+            layoutControlItem10.AppearanceItemCaption.TextOptions.HAlignment = HorzAlignment.Far;
+            layoutControlItem10.Control = txtConstantP;
+            layoutControlItem10.Location = new Point(0, 0);
+            layoutControlItem10.Name = "layoutControlItem10";
+            layoutControlItem10.Size = new Size(222, 30);
+            layoutControlItem10.Text = "鎭掑畾鍘嬪姏(m):";
+            layoutControlItem10.TextSize = new Size(102, 21);
             // 
             // layoutControlItem11
             // 
-            this.layoutControlItem11.AppearanceItemCaption.FontSizeDelta = 1;
-            this.layoutControlItem11.AppearanceItemCaption.Options.UseFont = true;
-            this.layoutControlItem11.AppearanceItemCaption.Options.UseTextOptions = true;
-            this.layoutControlItem11.AppearanceItemCaption.TextOptions.HAlignment = DevExpress.Utils.HorzAlignment.Far;
-            this.layoutControlItem11.Control = this.txtEndP;
-            this.layoutControlItem11.Location = new System.Drawing.Point(194, 0);
-            this.layoutControlItem11.Name = "layoutControlItem11";
-            this.layoutControlItem11.Size = new System.Drawing.Size(195, 24);
-            this.layoutControlItem11.Text = "鏈鍘嬪姏(m):";
-            this.layoutControlItem11.TextSize = new System.Drawing.Size(83, 17);
+            layoutControlItem11.AppearanceItemCaption.FontSizeDelta = 1;
+            layoutControlItem11.AppearanceItemCaption.Options.UseFont = true;
+            layoutControlItem11.AppearanceItemCaption.Options.UseTextOptions = true;
+            layoutControlItem11.AppearanceItemCaption.TextOptions.HAlignment = HorzAlignment.Far;
+            layoutControlItem11.Control = txtEndP;
+            layoutControlItem11.Location = new Point(222, 0);
+            layoutControlItem11.Name = "layoutControlItem11";
+            layoutControlItem11.Size = new Size(223, 30);
+            layoutControlItem11.Text = "鏈鍘嬪姏(m):";
+            layoutControlItem11.TextSize = new Size(102, 21);
             // 
             // layoutControlGroup5
             // 
-            this.layoutControlGroup5.AppearanceGroup.FontSizeDelta = 2;
-            this.layoutControlGroup5.AppearanceGroup.Options.UseFont = true;
-            this.layoutControlGroup5.AppearanceGroup.Options.UseTextOptions = true;
-            this.layoutControlGroup5.AppearanceGroup.TextOptions.HAlignment = DevExpress.Utils.HorzAlignment.Center;
-            this.layoutControlGroup5.ExpandButtonVisible = true;
-            this.layoutControlGroup5.GroupStyle = DevExpress.Utils.GroupStyle.Title;
-            this.layoutControlGroup5.Items.AddRange(new DevExpress.XtraLayout.BaseLayoutItem[] {
-            this.layoutControlItem5});
-            this.layoutControlGroup5.Location = new System.Drawing.Point(0, 322);
-            this.layoutControlGroup5.Name = "layoutControlGroup5";
-            this.layoutControlGroup5.Padding = new DevExpress.XtraLayout.Utils.Padding(0, 0, 0, 0);
-            this.layoutControlGroup5.Size = new System.Drawing.Size(393, 307);
-            this.layoutControlGroup5.Spacing = new DevExpress.XtraLayout.Utils.Padding(0, 0, 0, 0);
-            this.layoutControlGroup5.Text = "鐗规�ф洸绾�";
+            layoutControlGroup5.AppearanceGroup.FontSizeDelta = 2;
+            layoutControlGroup5.AppearanceGroup.Options.UseFont = true;
+            layoutControlGroup5.AppearanceGroup.Options.UseTextOptions = true;
+            layoutControlGroup5.AppearanceGroup.TextOptions.HAlignment = HorzAlignment.Center;
+            layoutControlGroup5.ExpandButtonVisible = true;
+            layoutControlGroup5.GroupStyle = GroupStyle.Title;
+            layoutControlGroup5.Items.AddRange(new DevExpress.XtraLayout.BaseLayoutItem[] { layoutControlItem5 });
+            layoutControlGroup5.Location = new Point(0, 432);
+            layoutControlGroup5.Name = "layoutControlGroup5";
+            layoutControlGroup5.Padding = new DevExpress.XtraLayout.Utils.Padding(0, 0, 0, 0);
+            layoutControlGroup5.Size = new Size(449, 380);
+            layoutControlGroup5.Spacing = new DevExpress.XtraLayout.Utils.Padding(0, 0, 0, 0);
+            layoutControlGroup5.Text = "鐗规�ф洸绾�";
             // 
             // layoutControlItem5
             // 
-            this.layoutControlItem5.Control = this.multiCurveExpressChart1;
-            this.layoutControlItem5.Location = new System.Drawing.Point(0, 0);
-            this.layoutControlItem5.Name = "layoutControlItem5";
-            this.layoutControlItem5.Padding = new DevExpress.XtraLayout.Utils.Padding(0, 0, 0, 0);
-            this.layoutControlItem5.Size = new System.Drawing.Size(393, 285);
-            this.layoutControlItem5.TextSize = new System.Drawing.Size(0, 0);
-            this.layoutControlItem5.TextVisible = false;
+            layoutControlItem5.Control = multiCurveExpressChart1;
+            layoutControlItem5.Location = new Point(0, 0);
+            layoutControlItem5.Name = "layoutControlItem5";
+            layoutControlItem5.Padding = new DevExpress.XtraLayout.Utils.Padding(0, 0, 0, 0);
+            layoutControlItem5.Size = new Size(449, 353);
+            layoutControlItem5.TextSize = new Size(0, 0);
+            layoutControlItem5.TextVisible = false;
             // 
             // layoutControlGroup4
             // 
-            this.layoutControlGroup4.AppearanceGroup.FontSizeDelta = 2;
-            this.layoutControlGroup4.AppearanceGroup.Options.UseFont = true;
-            this.layoutControlGroup4.AppearanceGroup.Options.UseTextOptions = true;
-            this.layoutControlGroup4.AppearanceGroup.TextOptions.HAlignment = DevExpress.Utils.HorzAlignment.Center;
-            this.layoutControlGroup4.ExpandButtonVisible = true;
-            this.layoutControlGroup4.GroupStyle = DevExpress.Utils.GroupStyle.Title;
-            this.layoutControlGroup4.Items.AddRange(new DevExpress.XtraLayout.BaseLayoutItem[] {
-            this.layoutControlItem13});
-            this.layoutControlGroup4.Location = new System.Drawing.Point(0, 198);
-            this.layoutControlGroup4.Name = "layoutControlGroup4";
-            this.layoutControlGroup4.Padding = new DevExpress.XtraLayout.Utils.Padding(0, 0, 0, 0);
-            this.layoutControlGroup4.Size = new System.Drawing.Size(393, 124);
-            this.layoutControlGroup4.Spacing = new DevExpress.XtraLayout.Utils.Padding(0, 0, 0, 0);
-            this.layoutControlGroup4.Text = "寮�娉垫暟鎹�";
+            layoutControlGroup4.AppearanceGroup.FontSizeDelta = 2;
+            layoutControlGroup4.AppearanceGroup.Options.UseFont = true;
+            layoutControlGroup4.AppearanceGroup.Options.UseTextOptions = true;
+            layoutControlGroup4.AppearanceGroup.TextOptions.HAlignment = HorzAlignment.Center;
+            layoutControlGroup4.ExpandButtonVisible = true;
+            layoutControlGroup4.GroupStyle = GroupStyle.Title;
+            layoutControlGroup4.Items.AddRange(new DevExpress.XtraLayout.BaseLayoutItem[] { layoutControlItem13 });
+            layoutControlGroup4.Location = new Point(0, 279);
+            layoutControlGroup4.Name = "layoutControlGroup4";
+            layoutControlGroup4.Padding = new DevExpress.XtraLayout.Utils.Padding(0, 0, 0, 0);
+            layoutControlGroup4.Size = new Size(449, 153);
+            layoutControlGroup4.Spacing = new DevExpress.XtraLayout.Utils.Padding(0, 0, 0, 0);
+            layoutControlGroup4.Text = "寮�娉垫暟鎹�";
             // 
             // layoutControlItem13
             // 
-            this.layoutControlItem13.Control = this.gridControl1;
-            this.layoutControlItem13.Location = new System.Drawing.Point(0, 0);
-            this.layoutControlItem13.Name = "layoutControlItem13";
-            this.layoutControlItem13.Padding = new DevExpress.XtraLayout.Utils.Padding(0, 0, 0, 0);
-            this.layoutControlItem13.Size = new System.Drawing.Size(393, 102);
-            this.layoutControlItem13.TextSize = new System.Drawing.Size(0, 0);
-            this.layoutControlItem13.TextVisible = false;
+            layoutControlItem13.Control = gridControl1;
+            layoutControlItem13.Location = new Point(0, 0);
+            layoutControlItem13.Name = "layoutControlItem13";
+            layoutControlItem13.Padding = new DevExpress.XtraLayout.Utils.Padding(0, 0, 0, 0);
+            layoutControlItem13.Size = new Size(449, 126);
+            layoutControlItem13.TextSize = new Size(0, 0);
+            layoutControlItem13.TextVisible = false;
             // 
             // chartControl
             // 
-            this.chartControl.BorderOptions.Visibility = DevExpress.Utils.DefaultBoolean.False;
-            this.chartControl.CrosshairEnabled = DevExpress.Utils.DefaultBoolean.False;
-            this.chartControl.CrosshairOptions.ShowOnlyInFocusedPane = false;
-            constantLine1.AxisValueSerializable = "1";
-            constantLine1.Name = "ConstantLineTime";
-            constantLine1.ShowInLegend = false;
-            constantLine1.Title.Text = "鏃堕棿";
-            xyDiagram1.AxisX.ConstantLines.AddRange(new DevExpress.XtraCharts.ConstantLine[] {
-            constantLine1});
-            xyDiagram1.AxisX.Visibility = DevExpress.Utils.DefaultBoolean.True;
-            xyDiagram1.AxisX.VisibleInPanesSerializable = "2";
-            constantLine2.AxisValueSerializable = "1";
-            constantLine2.Color = System.Drawing.Color.IndianRed;
-            constantLine2.LineStyle.DashStyle = DevExpress.XtraCharts.DashStyle.Dash;
-            constantLine2.LineStyle.Thickness = 2;
-            constantLine2.Name = "ConstantLineP";
-            constantLine2.ShowInLegend = false;
-            constantLine2.Title.DXFont = new DevExpress.Drawing.DXFont("Tahoma", 10F);
-            constantLine2.Title.Text = "鎭掑帇鍊�";
-            constantLine2.Title.TextColor = System.Drawing.Color.IndianRed;
-            constantLine2.Visible = false;
-            xyDiagram1.AxisY.ConstantLines.AddRange(new DevExpress.XtraCharts.ConstantLine[] {
-            constantLine2});
-            xyDiagram1.AxisY.GridLines.Visible = false;
-            xyDiagram1.AxisY.Title.Text = "鍘嬪姏(m)";
-            xyDiagram1.AxisY.Title.Visibility = DevExpress.Utils.DefaultBoolean.True;
-            xyDiagram1.AxisY.VisibleInPanesSerializable = "0";
-            xyDiagram1.PaneLayout.ColumnDefinitions.AddRange(new DevExpress.XtraCharts.LayoutDefinition[] {
-            layoutDefinition1,
-            layoutDefinition2});
-            xyDiagramPane1.Name = "PaneP";
-            xyDiagramPane1.PaneID = 0;
-            xyDiagramPane2.Name = "PanePE";
-            xyDiagramPane2.PaneID = 1;
-            xyDiagramPane3.Name = "PaneRun";
-            xyDiagramPane3.PaneID = 2;
-            xyDiagram1.Panes.AddRange(new DevExpress.XtraCharts.XYDiagramPane[] {
-            xyDiagramPane1,
-            xyDiagramPane2,
-            xyDiagramPane3});
-            xyDiagram1.RuntimePaneCollapse = false;
-            xyDiagram1.RuntimePaneResize = true;
-            secondaryAxisY1.Alignment = DevExpress.XtraCharts.AxisAlignment.Near;
-            secondaryAxisY1.AxisID = 0;
-            secondaryAxisY1.Name = "AxisYQ";
-            secondaryAxisY1.Title.Text = "娴侀噺(m鲁/h)";
-            secondaryAxisY1.Title.Visibility = DevExpress.Utils.DefaultBoolean.True;
-            secondaryAxisY1.VisibleInPanesSerializable = "-1";
-            secondaryAxisY2.Alignment = DevExpress.XtraCharts.AxisAlignment.Near;
-            secondaryAxisY2.AxisID = 1;
-            secondaryAxisY2.Name = "AxisYPower";
-            secondaryAxisY2.Title.Text = "鍔熺巼(kw)";
-            secondaryAxisY2.Title.Visibility = DevExpress.Utils.DefaultBoolean.True;
-            secondaryAxisY2.VisibleInPanesSerializable = "1";
-            secondaryAxisY3.AxisID = 2;
-            secondaryAxisY3.Name = "AxisYE";
-            secondaryAxisY3.Title.Text = "鏁堢巼(%)";
-            secondaryAxisY3.Title.Visibility = DevExpress.Utils.DefaultBoolean.True;
-            secondaryAxisY3.Visibility = DevExpress.Utils.DefaultBoolean.False;
-            secondaryAxisY3.VisibleInPanesSerializable = "-1";
-            secondaryAxisY4.Alignment = DevExpress.XtraCharts.AxisAlignment.Near;
-            secondaryAxisY4.AxisID = 3;
-            secondaryAxisY4.Name = "AxisYRun";
-            secondaryAxisY4.Title.Text = "杩愯鐘舵��";
-            secondaryAxisY4.Title.Visibility = DevExpress.Utils.DefaultBoolean.True;
-            secondaryAxisY4.Visibility = DevExpress.Utils.DefaultBoolean.False;
-            secondaryAxisY4.VisibleInPanesSerializable = "2";
-            xyDiagram1.SecondaryAxesY.AddRange(new DevExpress.XtraCharts.SecondaryAxisY[] {
-            secondaryAxisY1,
-            secondaryAxisY2,
-            secondaryAxisY3,
-            secondaryAxisY4});
-            this.chartControl.Diagram = xyDiagram1;
-            this.chartControl.Dock = System.Windows.Forms.DockStyle.Fill;
-            this.chartControl.Legend.AlignmentHorizontal = DevExpress.XtraCharts.LegendAlignmentHorizontal.Right;
-            this.chartControl.Legend.AlignmentVertical = DevExpress.XtraCharts.LegendAlignmentVertical.TopOutside;
-            this.chartControl.Legend.Border.Visibility = DevExpress.Utils.DefaultBoolean.False;
-            this.chartControl.Legend.Direction = DevExpress.XtraCharts.LegendDirection.LeftToRight;
-            this.chartControl.Legend.Visibility = DevExpress.Utils.DefaultBoolean.True;
-            this.chartControl.Location = new System.Drawing.Point(0, 0);
-            this.chartControl.Name = "chartControl";
-            series1.LegendTextPattern = "鐢ㄦ按瓒嬪娍";
-            series1.Name = "SeriesUsageQ";
-            lineSeriesView1.AxisYName = "AxisYQ";
-            lineSeriesView1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(0)))), ((int)(((byte)(112)))), ((int)(((byte)(192)))));
-            series1.View = lineSeriesView1;
-            series2.CrosshairEnabled = DevExpress.Utils.DefaultBoolean.False;
-            series2.LegendTextPattern = "鐢ㄦ按瓒嬪娍鑼冨洿";
-            series2.Name = "SeriesRangeAreaQ";
-            rangeAreaSeriesView1.AxisYName = "AxisYQ";
-            rangeAreaSeriesView1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(219)))), ((int)(((byte)(229)))), ((int)(((byte)(241)))));
-            rangeAreaSeriesView1.EmptyPointOptions.FillStyle.FillMode = DevExpress.XtraCharts.FillMode.Solid;
-            rangeAreaSeriesView1.RangeControlOptions.ViewType = DevExpress.XtraCharts.RangeControlViewType.Area;
-            series2.View = rangeAreaSeriesView1;
-            series3.LegendTextPattern = "娉靛悗鍘嬪姏鑼冨洿";
-            series3.Name = "SeriesRangeArea";
-            rangeAreaSeriesView2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(242)))), ((int)(((byte)(220)))), ((int)(((byte)(219)))));
-            rangeAreaSeriesView2.EmptyPointOptions.FillStyle.FillMode = DevExpress.XtraCharts.FillMode.Solid;
-            rangeAreaSeriesView2.PaneName = "PaneP";
-            series3.View = rangeAreaSeriesView2;
-            series4.LegendTextPattern = "娉靛悗骞冲潎鍘嬪姏";
-            series4.Name = "SeriesAvgP";
-            lineSeriesView2.PaneName = "PaneP";
-            series4.View = lineSeriesView2;
-            series5.LegendTextPattern = "璁$畻鐢ㄦ埛鍘嬪姏";
-            series5.Name = "SeriesCalcP";
-            lineSeriesView3.PaneName = "PaneP";
-            series5.View = lineSeriesView3;
-            series5.Visible = false;
-            series6.LegendTextPattern = "鐪熷疄鐢ㄦ埛鍘嬪姏";
-            series6.Name = "SeriesRealP";
-            lineSeriesView4.Color = System.Drawing.Color.FromArgb(((int)(((byte)(178)))), ((int)(((byte)(162)))), ((int)(((byte)(199)))));
-            lineSeriesView4.PaneName = "PaneP";
-            series6.View = lineSeriesView4;
-            series6.Visible = false;
-            series7.LegendTextPattern = "鍔熺巼";
-            series7.Name = "SeriesPower";
-            lineSeriesView5.AxisYName = "AxisYPower";
-            lineSeriesView5.Color = System.Drawing.Color.FromArgb(((int)(((byte)(192)))), ((int)(((byte)(0)))), ((int)(((byte)(0)))));
-            lineSeriesView5.PaneName = "PanePE";
-            series7.View = lineSeriesView5;
-            series8.LegendTextPattern = "鏁堢巼";
-            series8.Name = "SeriesE";
-            lineSeriesView6.AxisYName = "AxisYE";
-            lineSeriesView6.Color = System.Drawing.Color.FromArgb(((int)(((byte)(0)))), ((int)(((byte)(176)))), ((int)(((byte)(80)))));
-            lineSeriesView6.PaneName = "PanePE";
-            series8.View = lineSeriesView6;
-            series8.Visible = false;
-            series9.Name = "SeriesDefault";
-            series9.ShowInLegend = false;
-            pointSeriesView1.AxisYName = "AxisYRun";
-            pointSeriesView1.PaneName = "PaneRun";
-            pointSeriesView1.PointMarkerOptions.Kind = DevExpress.XtraCharts.MarkerKind.Square;
-            series9.View = pointSeriesView1;
-            this.chartControl.SeriesSerializable = new DevExpress.XtraCharts.Series[] {
-        series1,
-        series2,
-        series3,
-        series4,
-        series5,
-        series6,
-        series7,
-        series8,
-        series9};
-            this.chartControl.Size = new System.Drawing.Size(424, 629);
-            this.chartControl.TabIndex = 1;
+            chartControl.BorderOptions.Visibility = DefaultBoolean.False;
+            chartControl.CrosshairEnabled = DefaultBoolean.False;
+            chartControl.CrosshairOptions.ShowOnlyInFocusedPane = false;
+            constantLine3.AxisValueSerializable = "1";
+            constantLine3.ConstantLineID = 0;
+            constantLine3.Name = "ConstantLineTime";
+            constantLine3.ShowInLegend = false;
+            constantLine3.Title.Text = "鏃堕棿";
+            xyDiagram2.AxisX.ConstantLines.AddRange(new DevExpress.XtraCharts.ConstantLine[] { constantLine3 });
+            xyDiagram2.AxisX.Visibility = DefaultBoolean.True;
+            xyDiagram2.AxisX.VisibleInPanesSerializable = "2";
+            constantLine4.AxisValueSerializable = "1";
+            constantLine4.Color = Color.IndianRed;
+            constantLine4.ConstantLineID = 0;
+            constantLine4.LineStyle.DashStyle = DevExpress.XtraCharts.DashStyle.Dash;
+            constantLine4.LineStyle.Thickness = 2;
+            constantLine4.Name = "ConstantLineP";
+            constantLine4.ShowInLegend = false;
+            constantLine4.Title.DXFont = new DevExpress.Drawing.DXFont("Tahoma", 10F);
+            constantLine4.Title.Text = "鎭掑帇鍊�";
+            constantLine4.Title.TextColor = Color.IndianRed;
+            constantLine4.Visible = false;
+            xyDiagram2.AxisY.ConstantLines.AddRange(new DevExpress.XtraCharts.ConstantLine[] { constantLine4 });
+            xyDiagram2.AxisY.GridLines.Visible = false;
+            xyDiagram2.AxisY.Title.Text = "鍘嬪姏(m)";
+            xyDiagram2.AxisY.Title.Visibility = DefaultBoolean.True;
+            xyDiagram2.AxisY.VisibleInPanesSerializable = "0";
+            xyDiagram2.PaneLayout.ColumnDefinitions.AddRange(new DevExpress.XtraCharts.LayoutDefinition[] { layoutDefinition3, layoutDefinition4 });
+            xyDiagramPane4.Name = "PaneP";
+            xyDiagramPane4.PaneID = 0;
+            xyDiagramPane5.Name = "PanePE";
+            xyDiagramPane5.PaneID = 1;
+            xyDiagramPane6.Name = "PaneRun";
+            xyDiagramPane6.PaneID = 2;
+            xyDiagram2.Panes.AddRange(new DevExpress.XtraCharts.XYDiagramPane[] { xyDiagramPane4, xyDiagramPane5, xyDiagramPane6 });
+            xyDiagram2.RuntimePaneCollapse = false;
+            xyDiagram2.RuntimePaneResize = true;
+            secondaryAxisy5.Alignment = DevExpress.XtraCharts.AxisAlignment.Near;
+            secondaryAxisy5.AxisID = 0;
+            secondaryAxisy5.Name = "AxisYQ";
+            secondaryAxisy5.Title.Text = "娴侀噺(m鲁/h)";
+            secondaryAxisy5.Title.Visibility = DefaultBoolean.True;
+            secondaryAxisy5.VisibleInPanesSerializable = "-1";
+            secondaryAxisy6.Alignment = DevExpress.XtraCharts.AxisAlignment.Near;
+            secondaryAxisy6.AxisID = 1;
+            secondaryAxisy6.Name = "AxisYPower";
+            secondaryAxisy6.Title.Text = "鍔熺巼(kw)";
+            secondaryAxisy6.Title.Visibility = DefaultBoolean.True;
+            secondaryAxisy6.VisibleInPanesSerializable = "1";
+            secondaryAxisy7.AxisID = 2;
+            secondaryAxisy7.Name = "AxisYE";
+            secondaryAxisy7.Title.Text = "鏁堢巼(%)";
+            secondaryAxisy7.Title.Visibility = DefaultBoolean.True;
+            secondaryAxisy7.Visibility = DefaultBoolean.False;
+            secondaryAxisy7.VisibleInPanesSerializable = "-1";
+            secondaryAxisy8.Alignment = DevExpress.XtraCharts.AxisAlignment.Near;
+            secondaryAxisy8.AxisID = 3;
+            secondaryAxisy8.Name = "AxisYRun";
+            secondaryAxisy8.Title.Text = "杩愯鐘舵��";
+            secondaryAxisy8.Title.Visibility = DefaultBoolean.True;
+            secondaryAxisy8.Visibility = DefaultBoolean.False;
+            secondaryAxisy8.VisibleInPanesSerializable = "2";
+            xyDiagram2.SecondaryAxesY.AddRange(new DevExpress.XtraCharts.SecondaryAxisY[] { secondaryAxisy5, secondaryAxisy6, secondaryAxisy7, secondaryAxisy8 });
+            chartControl.Diagram = xyDiagram2;
+            chartControl.Dock = DockStyle.Fill;
+            chartControl.Legend.AlignmentHorizontal = DevExpress.XtraCharts.LegendAlignmentHorizontal.Right;
+            chartControl.Legend.AlignmentVertical = DevExpress.XtraCharts.LegendAlignmentVertical.TopOutside;
+            chartControl.Legend.Border.Visibility = DefaultBoolean.False;
+            chartControl.Legend.Direction = DevExpress.XtraCharts.LegendDirection.LeftToRight;
+            chartControl.Legend.LegendID = -1;
+            chartControl.Legend.Visibility = DefaultBoolean.True;
+            chartControl.Location = new Point(0, 0);
+            chartControl.Margin = new Padding(3, 4, 3, 4);
+            chartControl.Name = "chartControl";
+            series10.LegendTextPattern = "鐢ㄦ按瓒嬪娍";
+            series10.Name = "SeriesUsageQ";
+            series10.SeriesID = 0;
+            lineSeriesView7.AxisYName = "AxisYQ";
+            lineSeriesView7.Color = Color.FromArgb(0, 112, 192);
+            series10.View = lineSeriesView7;
+            series11.CrosshairEnabled = DefaultBoolean.False;
+            series11.LegendTextPattern = "鐢ㄦ按瓒嬪娍鑼冨洿";
+            series11.Name = "SeriesRangeAreaQ";
+            series11.SeriesID = 1;
+            rangeAreaSeriesView3.AxisYName = "AxisYQ";
+            rangeAreaSeriesView3.Color = Color.FromArgb(219, 229, 241);
+            rangeAreaSeriesView3.EmptyPointOptions.FillStyle.FillMode = DevExpress.XtraCharts.FillMode.Solid;
+            rangeAreaSeriesView3.RangeControlOptions.ViewType = DevExpress.XtraCharts.RangeControlViewType.Area;
+            series11.View = rangeAreaSeriesView3;
+            series12.LegendTextPattern = "娉靛悗鍘嬪姏鑼冨洿";
+            series12.Name = "SeriesRangeArea";
+            series12.SeriesID = 2;
+            rangeAreaSeriesView4.Color = Color.FromArgb(242, 220, 219);
+            rangeAreaSeriesView4.EmptyPointOptions.FillStyle.FillMode = DevExpress.XtraCharts.FillMode.Solid;
+            rangeAreaSeriesView4.PaneName = "PaneP";
+            series12.View = rangeAreaSeriesView4;
+            series13.LegendTextPattern = "娉靛悗骞冲潎鍘嬪姏";
+            series13.Name = "SeriesAvgP";
+            series13.SeriesID = 3;
+            lineSeriesView8.PaneName = "PaneP";
+            series13.View = lineSeriesView8;
+            series14.LegendTextPattern = "璁$畻鐢ㄦ埛鍘嬪姏";
+            series14.Name = "SeriesCalcP";
+            series14.SeriesID = 4;
+            lineSeriesView9.PaneName = "PaneP";
+            series14.View = lineSeriesView9;
+            series14.Visible = false;
+            series15.LegendTextPattern = "鐪熷疄鐢ㄦ埛鍘嬪姏";
+            series15.Name = "SeriesRealP";
+            series15.SeriesID = 5;
+            lineSeriesView10.Color = Color.FromArgb(178, 162, 199);
+            lineSeriesView10.PaneName = "PaneP";
+            series15.View = lineSeriesView10;
+            series15.Visible = false;
+            series16.LegendTextPattern = "鍔熺巼";
+            series16.Name = "SeriesPower";
+            series16.SeriesID = 6;
+            lineSeriesView11.AxisYName = "AxisYPower";
+            lineSeriesView11.Color = Color.FromArgb(192, 0, 0);
+            lineSeriesView11.PaneName = "PanePE";
+            series16.View = lineSeriesView11;
+            series17.LegendTextPattern = "鏁堢巼";
+            series17.Name = "SeriesE";
+            series17.SeriesID = 7;
+            lineSeriesView12.AxisYName = "AxisYE";
+            lineSeriesView12.Color = Color.FromArgb(0, 176, 80);
+            lineSeriesView12.PaneName = "PanePE";
+            series17.View = lineSeriesView12;
+            series17.Visible = false;
+            series18.Name = "SeriesDefault";
+            series18.SeriesID = 8;
+            series18.ShowInLegend = false;
+            pointSeriesView2.AxisYName = "AxisYRun";
+            pointSeriesView2.PaneName = "PaneRun";
+            pointSeriesView2.PointMarkerOptions.Kind = DevExpress.XtraCharts.MarkerKind.Square;
+            series18.View = pointSeriesView2;
+            chartControl.SeriesSerializable = new DevExpress.XtraCharts.Series[]
+    {
+    series10,
+    series11,
+    series12,
+    series13,
+    series14,
+    series15,
+    series16,
+    series17,
+    series18
+    };
+            chartControl.Size = new Size(485, 812);
+            chartControl.TabIndex = 1;
             // 
             // sidePanelChart
             // 
-            this.sidePanelChart.Controls.Add(this.chartControl);
-            this.sidePanelChart.Dock = System.Windows.Forms.DockStyle.Fill;
-            this.sidePanelChart.Location = new System.Drawing.Point(0, 52);
-            this.sidePanelChart.Name = "sidePanelChart";
-            this.sidePanelChart.Size = new System.Drawing.Size(424, 629);
-            this.sidePanelChart.TabIndex = 6;
-            this.sidePanelChart.Text = "sidePanel3";
+            sidePanelChart.Controls.Add(chartControl);
+            sidePanelChart.Dock = DockStyle.Fill;
+            sidePanelChart.Location = new Point(0, 64);
+            sidePanelChart.Margin = new Padding(3, 4, 3, 4);
+            sidePanelChart.Name = "sidePanelChart";
+            sidePanelChart.Size = new Size(485, 812);
+            sidePanelChart.TabIndex = 6;
+            sidePanelChart.Text = "sidePanel3";
+            // 
+            // txtTotalEnergyCVEl
+            // 
+            txtTotalEnergyCVEl.EditValue = "";
+            txtTotalEnergyCVEl.Location = new Point(120, 156);
+            txtTotalEnergyCVEl.Margin = new Padding(3, 4, 3, 4);
+            txtTotalEnergyCVEl.Name = "txtTotalEnergyCVEl";
+            txtTotalEnergyCVEl.Properties.ReadOnly = true;
+            txtTotalEnergyCVEl.Size = new Size(102, 24);
+            txtTotalEnergyCVEl.StyleController = layoutControl1;
+            txtTotalEnergyCVEl.TabIndex = 8;
+            // 
+            // layoutControlItem8
+            // 
+            layoutControlItem8.AppearanceItemCaption.FontSizeDelta = 2;
+            layoutControlItem8.AppearanceItemCaption.Options.UseFont = true;
+            layoutControlItem8.Control = txtTotalEnergyCVEl;
+            layoutControlItem8.Location = new Point(0, 60);
+            layoutControlItem8.Name = "layoutControlItem8";
+            layoutControlItem8.Size = new Size(222, 30);
+            layoutControlItem8.Text = "鎭掑帇鎬荤數璐�:";
+            layoutControlItem8.TextSize = new Size(102, 23);
+            // 
+            // txtTotalEnergyVTEl
+            // 
+            txtTotalEnergyVTEl.EditValue = "";
+            txtTotalEnergyVTEl.Location = new Point(342, 156);
+            txtTotalEnergyVTEl.Margin = new Padding(3, 4, 3, 4);
+            txtTotalEnergyVTEl.Name = "txtTotalEnergyVTEl";
+            txtTotalEnergyVTEl.Properties.ReadOnly = true;
+            txtTotalEnergyVTEl.Size = new Size(103, 24);
+            txtTotalEnergyVTEl.StyleController = layoutControl1;
+            txtTotalEnergyVTEl.TabIndex = 8;
+            // 
+            // layoutControlItem14
+            // 
+            layoutControlItem14.AppearanceItemCaption.FontSizeDelta = 2;
+            layoutControlItem14.AppearanceItemCaption.Options.UseFont = true;
+            layoutControlItem14.Control = txtTotalEnergyVTEl;
+            layoutControlItem14.Location = new Point(222, 60);
+            layoutControlItem14.Name = "layoutControlItem14";
+            layoutControlItem14.Size = new Size(223, 30);
+            layoutControlItem14.Text = "鍙樺帇鎬荤數璐�:";
+            layoutControlItem14.TextSize = new Size(102, 23);
             // 
             // SimulationSchedulePage
             // 
-            this.Appearance.BackColor = System.Drawing.SystemColors.Control;
-            this.Appearance.Options.UseBackColor = true;
-            this.AutoScaleDimensions = new System.Drawing.SizeF(7F, 14F);
-            this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
-            this.Controls.Add(this.sidePanelChart);
-            this.Controls.Add(this.sidePanelInfo);
-            this.Controls.Add(this.ribbonControl1);
-            this.Name = "SimulationSchedulePage";
-            this.Size = new System.Drawing.Size(818, 681);
-            ((System.ComponentModel.ISupportInitialize)(this.dockManager1)).EndInit();
-            this.sidePanelInfo.ResumeLayout(false);
-            ((System.ComponentModel.ISupportInitialize)(this.layoutControl1)).EndInit();
-            this.layoutControl1.ResumeLayout(false);
-            ((System.ComponentModel.ISupportInitialize)(this.txtEndP.Properties)).EndInit();
-            ((System.ComponentModel.ISupportInitialize)(this.gridControl1)).EndInit();
-            ((System.ComponentModel.ISupportInitialize)(this.gridView1)).EndInit();
-            ((System.ComponentModel.ISupportInitialize)(this.txtTotalEnergyVP.Properties)).EndInit();
-            ((System.ComponentModel.ISupportInitialize)(this.txtEnergyEfficient.Properties)).EndInit();
-            ((System.ComponentModel.ISupportInitialize)(this.txtEnergyEfficiencyRatio.Properties)).EndInit();
-            ((System.ComponentModel.ISupportInitialize)(this.txtPower.Properties)).EndInit();
-            ((System.ComponentModel.ISupportInitialize)(this.txtPumpP.Properties)).EndInit();
-            ((System.ComponentModel.ISupportInitialize)(this.txtTerminalP.Properties)).EndInit();
-            ((System.ComponentModel.ISupportInitialize)(this.txtConstantP.Properties)).EndInit();
-            ((System.ComponentModel.ISupportInitialize)(this.txtTime.Properties)).EndInit();
-            ((System.ComponentModel.ISupportInitialize)(this.txtTotalEnergyCP.Properties)).EndInit();
-            ((System.ComponentModel.ISupportInitialize)(this.ribbonControl1)).EndInit();
-            ((System.ComponentModel.ISupportInitialize)(this.Root)).EndInit();
-            ((System.ComponentModel.ISupportInitialize)(this.layoutControlGroup1)).EndInit();
-            ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem2)).EndInit();
-            ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem3)).EndInit();
-            ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem1)).EndInit();
-            ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem12)).EndInit();
-            ((System.ComponentModel.ISupportInitialize)(this.layoutControlGroup2)).EndInit();
-            ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem9)).EndInit();
-            ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem6)).EndInit();
-            ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem4)).EndInit();
-            ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem7)).EndInit();
-            ((System.ComponentModel.ISupportInitialize)(this.layoutControlGroup3)).EndInit();
-            ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem10)).EndInit();
-            ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem11)).EndInit();
-            ((System.ComponentModel.ISupportInitialize)(this.layoutControlGroup5)).EndInit();
-            ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem5)).EndInit();
-            ((System.ComponentModel.ISupportInitialize)(this.layoutControlGroup4)).EndInit();
-            ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem13)).EndInit();
-            ((System.ComponentModel.ISupportInitialize)(xyDiagramPane1)).EndInit();
-            ((System.ComponentModel.ISupportInitialize)(xyDiagramPane2)).EndInit();
-            ((System.ComponentModel.ISupportInitialize)(xyDiagramPane3)).EndInit();
-            ((System.ComponentModel.ISupportInitialize)(secondaryAxisY1)).EndInit();
-            ((System.ComponentModel.ISupportInitialize)(secondaryAxisY2)).EndInit();
-            ((System.ComponentModel.ISupportInitialize)(secondaryAxisY3)).EndInit();
-            ((System.ComponentModel.ISupportInitialize)(secondaryAxisY4)).EndInit();
-            ((System.ComponentModel.ISupportInitialize)(xyDiagram1)).EndInit();
-            ((System.ComponentModel.ISupportInitialize)(lineSeriesView1)).EndInit();
-            ((System.ComponentModel.ISupportInitialize)(series1)).EndInit();
-            ((System.ComponentModel.ISupportInitialize)(rangeAreaSeriesView1)).EndInit();
-            ((System.ComponentModel.ISupportInitialize)(series2)).EndInit();
-            ((System.ComponentModel.ISupportInitialize)(rangeAreaSeriesView2)).EndInit();
-            ((System.ComponentModel.ISupportInitialize)(series3)).EndInit();
-            ((System.ComponentModel.ISupportInitialize)(lineSeriesView2)).EndInit();
-            ((System.ComponentModel.ISupportInitialize)(series4)).EndInit();
-            ((System.ComponentModel.ISupportInitialize)(lineSeriesView3)).EndInit();
-            ((System.ComponentModel.ISupportInitialize)(series5)).EndInit();
-            ((System.ComponentModel.ISupportInitialize)(lineSeriesView4)).EndInit();
-            ((System.ComponentModel.ISupportInitialize)(series6)).EndInit();
-            ((System.ComponentModel.ISupportInitialize)(lineSeriesView5)).EndInit();
-            ((System.ComponentModel.ISupportInitialize)(series7)).EndInit();
-            ((System.ComponentModel.ISupportInitialize)(lineSeriesView6)).EndInit();
-            ((System.ComponentModel.ISupportInitialize)(series8)).EndInit();
-            ((System.ComponentModel.ISupportInitialize)(pointSeriesView1)).EndInit();
-            ((System.ComponentModel.ISupportInitialize)(series9)).EndInit();
-            ((System.ComponentModel.ISupportInitialize)(this.chartControl)).EndInit();
-            this.sidePanelChart.ResumeLayout(false);
-            this.ResumeLayout(false);
-            this.PerformLayout();
-
+            Appearance.BackColor = SystemColors.Control;
+            Appearance.Options.UseBackColor = true;
+            AutoScaleDimensions = new SizeF(8F, 18F);
+            AutoScaleMode = AutoScaleMode.Font;
+            Controls.Add(sidePanelChart);
+            Controls.Add(sidePanelInfo);
+            Controls.Add(ribbonControl1);
+            Margin = new Padding(3, 5, 3, 5);
+            Name = "SimulationSchedulePage";
+            Size = new Size(935, 876);
+            ((ISupportInitialize)dockManager1).EndInit();
+            sidePanelInfo.ResumeLayout(false);
+            ((ISupportInitialize)layoutControl1).EndInit();
+            layoutControl1.ResumeLayout(false);
+            ((ISupportInitialize)txtEndP.Properties).EndInit();
+            ((ISupportInitialize)gridControl1).EndInit();
+            ((ISupportInitialize)gridView1).EndInit();
+            ((ISupportInitialize)txtTotalEnergyVP.Properties).EndInit();
+            ((ISupportInitialize)txtEnergyEfficient.Properties).EndInit();
+            ((ISupportInitialize)txtEnergyEfficiencyRatio.Properties).EndInit();
+            ((ISupportInitialize)txtPower.Properties).EndInit();
+            ((ISupportInitialize)txtPumpP.Properties).EndInit();
+            ((ISupportInitialize)txtTerminalP.Properties).EndInit();
+            ((ISupportInitialize)txtConstantP.Properties).EndInit();
+            ((ISupportInitialize)txtTime.Properties).EndInit();
+            ((ISupportInitialize)txtTotalEnergyCP.Properties).EndInit();
+            ((ISupportInitialize)ribbonControl1).EndInit();
+            ((ISupportInitialize)Root).EndInit();
+            ((ISupportInitialize)layoutControlGroup1).EndInit();
+            ((ISupportInitialize)layoutControlItem2).EndInit();
+            ((ISupportInitialize)layoutControlItem3).EndInit();
+            ((ISupportInitialize)layoutControlItem1).EndInit();
+            ((ISupportInitialize)layoutControlItem12).EndInit();
+            ((ISupportInitialize)layoutControlGroup2).EndInit();
+            ((ISupportInitialize)layoutControlItem9).EndInit();
+            ((ISupportInitialize)layoutControlItem6).EndInit();
+            ((ISupportInitialize)layoutControlItem4).EndInit();
+            ((ISupportInitialize)layoutControlItem7).EndInit();
+            ((ISupportInitialize)layoutControlGroup3).EndInit();
+            ((ISupportInitialize)layoutControlItem10).EndInit();
+            ((ISupportInitialize)layoutControlItem11).EndInit();
+            ((ISupportInitialize)layoutControlGroup5).EndInit();
+            ((ISupportInitialize)layoutControlItem5).EndInit();
+            ((ISupportInitialize)layoutControlGroup4).EndInit();
+            ((ISupportInitialize)layoutControlItem13).EndInit();
+            ((ISupportInitialize)constantLine3).EndInit();
+            ((ISupportInitialize)constantLine4).EndInit();
+            ((ISupportInitialize)xyDiagramPane4).EndInit();
+            ((ISupportInitialize)xyDiagramPane5).EndInit();
+            ((ISupportInitialize)xyDiagramPane6).EndInit();
+            ((ISupportInitialize)secondaryAxisy5).EndInit();
+            ((ISupportInitialize)secondaryAxisy6).EndInit();
+            ((ISupportInitialize)secondaryAxisy7).EndInit();
+            ((ISupportInitialize)secondaryAxisy8).EndInit();
+            ((ISupportInitialize)xyDiagram2).EndInit();
+            ((ISupportInitialize)lineSeriesView7).EndInit();
+            ((ISupportInitialize)series10).EndInit();
+            ((ISupportInitialize)rangeAreaSeriesView3).EndInit();
+            ((ISupportInitialize)series11).EndInit();
+            ((ISupportInitialize)rangeAreaSeriesView4).EndInit();
+            ((ISupportInitialize)series12).EndInit();
+            ((ISupportInitialize)lineSeriesView8).EndInit();
+            ((ISupportInitialize)series13).EndInit();
+            ((ISupportInitialize)lineSeriesView9).EndInit();
+            ((ISupportInitialize)series14).EndInit();
+            ((ISupportInitialize)lineSeriesView10).EndInit();
+            ((ISupportInitialize)series15).EndInit();
+            ((ISupportInitialize)lineSeriesView11).EndInit();
+            ((ISupportInitialize)series16).EndInit();
+            ((ISupportInitialize)lineSeriesView12).EndInit();
+            ((ISupportInitialize)series17).EndInit();
+            ((ISupportInitialize)pointSeriesView2).EndInit();
+            ((ISupportInitialize)series18).EndInit();
+            ((ISupportInitialize)chartControl).EndInit();
+            sidePanelChart.ResumeLayout(false);
+            ((ISupportInitialize)txtTotalEnergyCVEl.Properties).EndInit();
+            ((ISupportInitialize)layoutControlItem8).EndInit();
+            ((ISupportInitialize)txtTotalEnergyVTEl.Properties).EndInit();
+            ((ISupportInitialize)layoutControlItem14).EndInit();
+            ResumeLayout(false);
+            PerformLayout();
         }
 
         #endregion
@@ -1051,5 +1107,9 @@
         private DevExpress.XtraGrid.Columns.GridColumn colHead;
         private DevExpress.XtraLayout.LayoutControlItem layoutControlItem1;
         private DevExpress.XtraLayout.LayoutControlItem layoutControlItem12;
+        private TextEdit txtTotalEnergyVTEl;
+        private TextEdit txtTotalEnergyCVEl;
+        private DevExpress.XtraLayout.LayoutControlItem layoutControlItem8;
+        private DevExpress.XtraLayout.LayoutControlItem layoutControlItem14;
     }
 }
diff --git a/WinFrmUI/PBS.WinFrmUI.Hydro/06-schedule-simulation/SimulationSchedulePage.resx b/WinFrmUI/PBS.WinFrmUI.Hydro/06-schedule-simulation/SimulationSchedulePage.resx
index 928f6e5..2a5b5aa 100644
--- a/WinFrmUI/PBS.WinFrmUI.Hydro/06-schedule-simulation/SimulationSchedulePage.resx
+++ b/WinFrmUI/PBS.WinFrmUI.Hydro/06-schedule-simulation/SimulationSchedulePage.resx
@@ -1,17 +1,17 @@
 锘�<?xml version="1.0" encoding="utf-8"?>
 <root>
-  <!-- 
-    Microsoft ResX Schema 
-    
+  <!--
+    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 
+
+    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>
@@ -26,36 +26,36 @@
         <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 
+
+    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 
+
+    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 
+
+    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 
+
+    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 
+    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 
+    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 
+    value   : The object must be serialized into a byte array
             : using a System.ComponentModel.TypeConverter
             : and then encoded with base64 encoding.
     -->
@@ -123,10 +123,10 @@
   <metadata name="$this.TrayHeight" type="System.Int32, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
     <value>75</value>
   </metadata>
-  <assembly alias="DevExpress.Data.v22.2" name="DevExpress.Data.v22.2, Version=22.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" />
-  <data name="barBtnWaterImport.ImageOptions.SvgImage" type="DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v22.2" mimetype="application/x-microsoft.net.object.bytearray.base64">
+  <assembly alias="DevExpress.Data.v23.2" name="DevExpress.Data.v23.2, Culture=neutral, PublicKeyToken=b88d1754d700e49a" />
+  <data name="barBtnWaterImport.ImageOptions.SvgImage" type="DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v23.2" mimetype="application/x-microsoft.net.object.bytearray.base64">
     <value>
-        AAEAAAD/////AQAAAAAAAAAMAgAAAFlEZXZFeHByZXNzLkRhdGEudjIyLjIsIFZlcnNpb249MjIuMi40
+        AAEAAAD/////AQAAAAAAAAAMAgAAAFlEZXZFeHByZXNzLkRhdGEudjIzLjIsIFZlcnNpb249MjMuMi40
         LjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjg4ZDE3NTRkNzAwZTQ5YQUBAAAAHURl
         dkV4cHJlc3MuVXRpbHMuU3ZnLlN2Z0ltYWdlAQAAAAREYXRhBwICAAAACQMAAAAPAwAAAOACAAAC77u/
         PD94bWwgdmVyc2lvbj0nMS4wJyBlbmNvZGluZz0nVVRGLTgnPz4NCjxzdmcgeD0iMHB4IiB5PSIwcHgi
@@ -144,9 +144,9 @@
         IDwvZz4NCjwvc3ZnPgs=
 </value>
   </data>
-  <data name="barBtnCalc.ImageOptions.SvgImage" type="DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v22.2" mimetype="application/x-microsoft.net.object.bytearray.base64">
+  <data name="barBtnCalc.ImageOptions.SvgImage" type="DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v23.2" mimetype="application/x-microsoft.net.object.bytearray.base64">
     <value>
-        AAEAAAD/////AQAAAAAAAAAMAgAAAFlEZXZFeHByZXNzLkRhdGEudjIyLjIsIFZlcnNpb249MjIuMi40
+        AAEAAAD/////AQAAAAAAAAAMAgAAAFlEZXZFeHByZXNzLkRhdGEudjIzLjIsIFZlcnNpb249MjMuMi40
         LjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjg4ZDE3NTRkNzAwZTQ5YQUBAAAAHURl
         dkV4cHJlc3MuVXRpbHMuU3ZnLlN2Z0ltYWdlAQAAAAREYXRhBwICAAAACQMAAAAPAwAAALMDAAAC77u/
         PD94bWwgdmVyc2lvbj0nMS4wJyBlbmNvZGluZz0nVVRGLTgnPz4NCjxzdmcgeD0iMHB4IiB5PSIwcHgi
@@ -167,9 +167,9 @@
         LTJoMTBWMjJ6IiBjbGFzcz0iWWVsbG93IiAvPg0KICA8L2c+DQo8L3N2Zz4L
 </value>
   </data>
-  <data name="barBtnPause.ImageOptions.SvgImage" type="DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v22.2" mimetype="application/x-microsoft.net.object.bytearray.base64">
+  <data name="barBtnPause.ImageOptions.SvgImage" type="DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v23.2" mimetype="application/x-microsoft.net.object.bytearray.base64">
     <value>
-        AAEAAAD/////AQAAAAAAAAAMAgAAAFlEZXZFeHByZXNzLkRhdGEudjIyLjIsIFZlcnNpb249MjIuMi40
+        AAEAAAD/////AQAAAAAAAAAMAgAAAFlEZXZFeHByZXNzLkRhdGEudjIzLjIsIFZlcnNpb249MjMuMi40
         LjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjg4ZDE3NTRkNzAwZTQ5YQUBAAAAHURl
         dkV4cHJlc3MuVXRpbHMuU3ZnLlN2Z0ltYWdlAQAAAAREYXRhBwICAAAACQMAAAAPAwAAALIBAAAC77u/
         PD94bWwgdmVyc2lvbj0nMS4wJyBlbmNvZGluZz0nVVRGLTgnPz4NCjxzdmcgeD0iMHB4IiB5PSIwcHgi
@@ -182,9 +182,9 @@
         IC8+DQo8L3N2Zz4L
 </value>
   </data>
-  <data name="barBtnContinue.ImageOptions.SvgImage" type="DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v22.2" mimetype="application/x-microsoft.net.object.bytearray.base64">
+  <data name="barBtnContinue.ImageOptions.SvgImage" type="DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v23.2" mimetype="application/x-microsoft.net.object.bytearray.base64">
     <value>
-        AAEAAAD/////AQAAAAAAAAAMAgAAAFlEZXZFeHByZXNzLkRhdGEudjIyLjIsIFZlcnNpb249MjIuMi40
+        AAEAAAD/////AQAAAAAAAAAMAgAAAFlEZXZFeHByZXNzLkRhdGEudjIzLjIsIFZlcnNpb249MjMuMi40
         LjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjg4ZDE3NTRkNzAwZTQ5YQUBAAAAHURl
         dkV4cHJlc3MuVXRpbHMuU3ZnLlN2Z0ltYWdlAQAAAAREYXRhBwICAAAACQMAAAAPAwAAALoBAAAC77u/
         PD94bWwgdmVyc2lvbj0nMS4wJyBlbmNvZGluZz0nVVRGLTgnPz4NCjxzdmcgeD0iMHB4IiB5PSIwcHgi
@@ -197,9 +197,9 @@
         cz0iQmx1ZSIgLz4NCjwvc3ZnPgs=
 </value>
   </data>
-  <data name="barBtnOver.ImageOptions.SvgImage" type="DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v22.2" mimetype="application/x-microsoft.net.object.bytearray.base64">
+  <data name="barBtnOver.ImageOptions.SvgImage" type="DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v23.2" mimetype="application/x-microsoft.net.object.bytearray.base64">
     <value>
-        AAEAAAD/////AQAAAAAAAAAMAgAAAFlEZXZFeHByZXNzLkRhdGEudjIyLjIsIFZlcnNpb249MjIuMi40
+        AAEAAAD/////AQAAAAAAAAAMAgAAAFlEZXZFeHByZXNzLkRhdGEudjIzLjIsIFZlcnNpb249MjMuMi40
         LjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjg4ZDE3NTRkNzAwZTQ5YQUBAAAAHURl
         dkV4cHJlc3MuVXRpbHMuU3ZnLlN2Z0ltYWdlAQAAAAREYXRhBwICAAAACQMAAAAPAwAAANcCAAAC77u/
         PD94bWwgdmVyc2lvbj0nMS4wJyBlbmNvZGluZz0nVVRGLTgnPz4NCjxzdmcgeD0iMHB4IiB5PSIwcHgi
diff --git a/WinFrmUI/PBS.WinFrmUI.WE/PBS.WinFrmUI.WE.csproj b/WinFrmUI/PBS.WinFrmUI.WE/PBS.WinFrmUI.WE.csproj
index 5f2bc1d..858a420 100644
--- a/WinFrmUI/PBS.WinFrmUI.WE/PBS.WinFrmUI.WE.csproj
+++ b/WinFrmUI/PBS.WinFrmUI.WE/PBS.WinFrmUI.WE.csproj
@@ -51,7 +51,7 @@
     <Compile Update="WaterWE\01-catalogue\CatalogueCtrl.cs">
       <SubType>UserControl</SubType>
     </Compile>
-    <Compile Update="WaterWE\EditWaterWEDlg.cs">
+    <Compile Update="WaterWE\AddWaterWEDlg.cs">
       <SubType>Form</SubType>
     </Compile>
   </ItemGroup>
diff --git a/WinFrmUI/PBS.WinFrmUI.WE/PBS.WinFrmUI.WE.csproj.user b/WinFrmUI/PBS.WinFrmUI.WE/PBS.WinFrmUI.WE.csproj.user
index 29bd186..247a4ff 100644
--- a/WinFrmUI/PBS.WinFrmUI.WE/PBS.WinFrmUI.WE.csproj.user
+++ b/WinFrmUI/PBS.WinFrmUI.WE/PBS.WinFrmUI.WE.csproj.user
@@ -14,5 +14,8 @@
     <Compile Update="WaterWE\WaterEquivalentMgr.cs">
       <SubType>UserControl</SubType>
     </Compile>
+    <Compile Update="WaterWE\EditWaterWEDlg.cs">
+      <SubType>Form</SubType>
+    </Compile>
   </ItemGroup>
 </Project>
\ No newline at end of file
diff --git a/WinFrmUI/PBS.WinFrmUI.WE/WaterUtensil/AddWaterUtensilDlg.cs b/WinFrmUI/PBS.WinFrmUI.WE/WaterUtensil/AddWaterUtensilDlg.cs
index e608df1..e2af87b 100644
--- a/WinFrmUI/PBS.WinFrmUI.WE/WaterUtensil/AddWaterUtensilDlg.cs
+++ b/WinFrmUI/PBS.WinFrmUI.WE/WaterUtensil/AddWaterUtensilDlg.cs
@@ -7,8 +7,8 @@
         public AddWaterUtensilDlg()
         {
             InitializeComponent();
-            //   this.IconOptions.Icon = WinFrmUI.Properties.Resources.App;
-            //   this.dataLayoutControl1.SetupLayoutControl();
+            //this.IconOptions.Icon = WinFrmUI.Properties.Resources.App;
+            //this.dataLayoutControl1.SetupLayoutControl();
         }
 
         /// <summary>
diff --git a/WinFrmUI/PBS.WinFrmUI.WE/WaterUtensil/WaterUtensilMgr.cs b/WinFrmUI/PBS.WinFrmUI.WE/WaterUtensil/WaterUtensilMgr.cs
index 937e64a..4fb34de 100644
--- a/WinFrmUI/PBS.WinFrmUI.WE/WaterUtensil/WaterUtensilMgr.cs
+++ b/WinFrmUI/PBS.WinFrmUI.WE/WaterUtensil/WaterUtensilMgr.cs
@@ -182,6 +182,5 @@
         }
 
         #endregion 浜嬩欢
-
     }
 }
\ No newline at end of file
diff --git a/WinFrmUI/PBS.WinFrmUI.WE/WaterWE/AddWaterWEDlg.cs b/WinFrmUI/PBS.WinFrmUI.WE/WaterWE/AddWaterWEDlg.cs
new file mode 100644
index 0000000..4328cc3
--- /dev/null
+++ b/WinFrmUI/PBS.WinFrmUI.WE/WaterWE/AddWaterWEDlg.cs
@@ -0,0 +1,197 @@
+锘縰sing DevExpress.XtraEditors;
+using DevExpress.XtraTreeList;
+using Yw.WinFrmUI;
+
+namespace PBS.WinFrmUI.WE
+{
+    public partial class AddWaterWEDlg : DevExpress.XtraEditors.XtraForm
+    {
+        public AddWaterWEDlg()
+        {
+            InitializeComponent();
+            //this.IconOptions.Icon = WinFrmUI.Properties.Resources.App;
+            //  this.dataLayoutControl1.SetupLayoutControl();
+        }
+
+        /// <summary>
+        /// 鍥炶皟浜嬩欢
+        /// </summary>
+        public event Func<PBS.Vmo.WE.ItemVmo, PBS.Vmo.WE.CatalogueMappingVmo, List<PBS.Vmo.WE.UtensilMappingVmo>, Task<bool>> ReloadDataEvent;
+
+        private List<ItemViewModel> _allBindingList;
+
+        private PBS.Vmo.WE.ItemVmo _model = null;
+
+        private List<PBS.Vmo.WE.UtensilVmo> _allUtensilList = null;
+
+        private PBS.Vmo.WE.CatalogueMappingVmo _CatalogueMappingVmo;
+
+        //璇︾粏淇℃伅鏂规硶
+        public async void SetInfoDisplay(ItemViewModel itemView)
+        {
+            _allBindingList = new List<ItemViewModel>();
+            _allUtensilList = await new PBS.BLL.WE.Utensil().GetAll();
+            this.repositoryItemTreeListLookUpEdit1.DataSource = _allUtensilList;
+            var allUtensilList = await new PBS.BLL.WE.UtensilMapping().GetByItemID(itemView.ID);
+            if (allUtensilList != null)
+            {
+                foreach (var utensil in allUtensilList)
+                {
+                    var model = new ItemViewModel();
+                    model.UtensilID = utensil.UtensilID;
+                    model.UtensilCount = utensil.UtensilCount;
+                    model.RatedFlow = utensil.RatedFlow;
+                    model.MinRatedFlow = utensil.MinRatedFlow;
+                    _allBindingList.Add(model);
+                }
+            }
+
+            this.itemViewModelBindingSource.DataSource = _allBindingList;
+            this.Text = "璇︾粏淇℃伅";
+            this.ColDelete.Visible = false;
+            this.gridView1.SetNormalView();
+            this.layoutControlItem2.Visibility = DevExpress.XtraLayout.Utils.LayoutVisibility.Never;
+            this.emptySpaceItem1.Visibility = DevExpress.XtraLayout.Utils.LayoutVisibility.Never;
+            this.layoutControlItem1.Visibility = DevExpress.XtraLayout.Utils.LayoutVisibility.Never;
+        }
+
+        /// <summary>
+        /// 缁戝畾
+        /// </summary>
+        public async void SetBindingData(PBS.Vmo.WE.ItemVmo item, long CatalogueID)
+        {
+            _allBindingList = new List<ItemViewModel>();
+            _allUtensilList = await new PBS.BLL.WE.Utensil().GetAll();
+            var modelList = new List<UtensilSelectViewModel>();
+            if (_allUtensilList != null && _allUtensilList.Count > 0)
+            {
+                foreach (var utensil in _allUtensilList)
+                {
+                    modelList.Add(new UtensilSelectViewModel(utensil));
+                }
+                var groupIdList = _allUtensilList.GroupBy(x => x.GroupID).Select(y => y.Key).ToList();
+                if (groupIdList != null && groupIdList.Count > 0)
+                {
+                    var allGroup = await new PBS.BLL.WE.UtensilGroup().GetByIds(groupIdList);
+                    foreach (var group in allGroup)
+                    {
+                        modelList.Add(new UtensilSelectViewModel(group));
+                    }
+                }
+            }
+            this.repositoryItemTreeListLookUpEdit1.DataSource = modelList;
+            if (item == null)
+            {
+                _CatalogueMappingVmo = new PBS.Vmo.WE.CatalogueMappingVmo();
+                _CatalogueMappingVmo.CatalogueID = CatalogueID;
+                _CatalogueMappingVmo.CreateTime = DateTime.Now;
+            }
+            else
+            {
+                //涓虹紪杈戝仛鍑嗗
+                _model = item;
+                /*   var allUtensilList = await new PBS.BLL.WE.UtensilMapping().GetByItemID(item.ID);
+                   if (allUtensilList != null)
+                   {
+                       foreach (var utensil in allUtensilList)
+                       {
+                           var model = new ItemViewModel();
+
+                           model.UtensilID = utensil.UtensilID;
+                           model.UtensilCount = utensil.UtensilCount;
+                           model.RatedFlow = utensil.RatedFlow;
+                           model.MinRatedFlow = utensil.MinRatedFlow;
+                           _allBindingList.Add(model);
+                       }
+                   }*/
+            }
+            this.itemViewModelBindingSource.DataSource = _allBindingList;
+        }
+
+        //楠岃瘉
+        private bool Valid()
+        {
+            this.dxErrorProvider1.ClearErrors();
+            return true;
+        }
+
+        //纭畾
+        private async void btnOk_Click(object sender, EventArgs e)
+        {
+            if (!Valid())
+                return;
+            if (_allBindingList == null || _allBindingList.Count < 1)
+            {
+                TipFormHelper.ShowError("璇疯緭鍏ョ敤姘村櫒鍏锋暟鎹紒");
+                return;
+            }
+            if (_model == null)
+            {
+                _model = new PBS.Vmo.WE.ItemVmo();
+            }
+
+            var mappingList = new List<PBS.Vmo.WE.UtensilMappingVmo>();
+            foreach (var item in _allBindingList)
+            {
+                var model = new PBS.Vmo.WE.UtensilMappingVmo();
+                model.UtensilID = item.UtensilID;
+                model.UtensilCount = item.UtensilCount;
+                model.RatedFlow = item.RatedFlow;
+                model.MinRatedFlow = item.MinRatedFlow;
+                mappingList.Add(model);
+            }
+            if (this.ReloadDataEvent == null)
+                return;
+            if (!await this.ReloadDataEvent(_model, _CatalogueMappingVmo, mappingList))
+            {
+                MessageBoxHelper.ShowError("澧炲姞澶辫触锛�");
+                return;
+            }
+            MessageBoxHelper.ShowSuccess("澧炲姞鎴愬姛锛�");
+            this.DialogResult = System.Windows.Forms.DialogResult.OK;
+            this.Close();
+        }
+
+        //鍒犻櫎
+        private void gridView1_RowCellClick(object sender, DevExpress.XtraGrid.Views.Grid.RowCellClickEventArgs e)
+        {
+            if (_allBindingList == null || _allBindingList.Count < 1)
+                return;
+            var row = this.gridView1.GetCurrentViewModel(_allBindingList);
+            if (row == null)
+                return;
+            if (e.Column == this.ColDelete)
+                _allBindingList.Remove(row);
+            this.itemViewModelBindingSource.ResetBindings(false);
+        }
+
+        private void repositoryItemTreeListLookUpEdit1_EditValueChanged(object sender, EventArgs e)
+        {   // 鑾峰彇褰撳墠閫変腑椤圭殑鍊�
+            TreeListLookUpEdit edit = sender as TreeListLookUpEdit;
+            if (edit != null && edit.EditValue != null)
+            {
+                // 鑾峰彇閫変腑椤圭殑 ID
+                long selectedID = Convert.ToInt64(edit.EditValue);
+                var select = _allUtensilList.Find(x => x.ID == selectedID);
+                if (select != null)
+                {
+                    gridView1.SetFocusedRowCellValue("RatedFlow", select.RatedFlow);
+                    gridView1.SetFocusedRowCellValue("MinRatedFlow", select.MinRatedFlow);
+                }
+            }
+        }
+
+        private void treeListLookUpEdit1TreeList_BeforeFocusNode(object sender, BeforeFocusNodeEventArgs e)
+        {
+            TreeList treeList = sender as TreeList;
+            if (treeList != null)
+            {
+                // 妫�鏌ュ綋鍓嶇劍鐐硅妭鐐规槸鍚︿负鐖惰妭鐐�
+                if (e.Node.HasChildren)
+                {
+                    e.CanFocus = false;
+                }
+            }
+        }
+    }
+}
\ No newline at end of file
diff --git a/WinFrmUI/PBS.WinFrmUI.WE/WaterWE/AddWaterWEDlg.designer.cs b/WinFrmUI/PBS.WinFrmUI.WE/WaterWE/AddWaterWEDlg.designer.cs
new file mode 100644
index 0000000..96d3abb
--- /dev/null
+++ b/WinFrmUI/PBS.WinFrmUI.WE/WaterWE/AddWaterWEDlg.designer.cs
@@ -0,0 +1,374 @@
+锘縰sing DevExpress.Utils;
+using DevExpress.XtraEditors;
+using System.ComponentModel;
+using System.Drawing;
+using System.Windows.Forms;
+
+namespace PBS.WinFrmUI.WE
+{
+    partial class AddWaterWEDlg
+    {
+        /// <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();
+            DevExpress.XtraEditors.Controls.EditorButtonImageOptions editorButtonImageOptions1 = new DevExpress.XtraEditors.Controls.EditorButtonImageOptions();
+            ComponentResourceManager resources = new ComponentResourceManager(typeof(AddWaterWEDlg));
+            SerializableAppearanceObject serializableAppearanceObject1 = new SerializableAppearanceObject();
+            SerializableAppearanceObject serializableAppearanceObject2 = new SerializableAppearanceObject();
+            SerializableAppearanceObject serializableAppearanceObject3 = new SerializableAppearanceObject();
+            SerializableAppearanceObject serializableAppearanceObject4 = new SerializableAppearanceObject();
+            dataLayoutControl1 = new DevExpress.XtraDataLayout.DataLayoutControl();
+            gridControl1 = new DevExpress.XtraGrid.GridControl();
+            itemViewModelBindingSource = new BindingSource(components);
+            gridView1 = new DevExpress.XtraGrid.Views.Grid.GridView();
+            gridColumn2 = new DevExpress.XtraGrid.Columns.GridColumn();
+            gridColumn1 = new DevExpress.XtraGrid.Columns.GridColumn();
+            colPumpID = new DevExpress.XtraGrid.Columns.GridColumn();
+            repositoryItemTreeListLookUpEdit1 = new DevExpress.XtraEditors.Repository.RepositoryItemTreeListLookUpEdit();
+            treeList1 = new DevExpress.XtraTreeList.TreeList();
+            treeListColumn1 = new DevExpress.XtraTreeList.Columns.TreeListColumn();
+            colUserCount = new DevExpress.XtraGrid.Columns.GridColumn();
+            ColDelete = new DevExpress.XtraGrid.Columns.GridColumn();
+            repositoryItemButtonEdit1 = new DevExpress.XtraEditors.Repository.RepositoryItemButtonEdit();
+            btnOk = new SimpleButton();
+            btnCancel = new SimpleButton();
+            Root = new DevExpress.XtraLayout.LayoutControlGroup();
+            layoutControlGroup1 = new DevExpress.XtraLayout.LayoutControlGroup();
+            layoutControlItem1 = new DevExpress.XtraLayout.LayoutControlItem();
+            layoutControlItem2 = new DevExpress.XtraLayout.LayoutControlItem();
+            emptySpaceItem1 = new DevExpress.XtraLayout.EmptySpaceItem();
+            layoutControlItem3 = new DevExpress.XtraLayout.LayoutControlItem();
+            dxErrorProvider1 = new DevExpress.XtraEditors.DXErrorProvider.DXErrorProvider(components);
+            ((ISupportInitialize)dataLayoutControl1).BeginInit();
+            dataLayoutControl1.SuspendLayout();
+            ((ISupportInitialize)gridControl1).BeginInit();
+            ((ISupportInitialize)itemViewModelBindingSource).BeginInit();
+            ((ISupportInitialize)gridView1).BeginInit();
+            ((ISupportInitialize)repositoryItemTreeListLookUpEdit1).BeginInit();
+            ((ISupportInitialize)treeList1).BeginInit();
+            ((ISupportInitialize)repositoryItemButtonEdit1).BeginInit();
+            ((ISupportInitialize)Root).BeginInit();
+            ((ISupportInitialize)layoutControlGroup1).BeginInit();
+            ((ISupportInitialize)layoutControlItem1).BeginInit();
+            ((ISupportInitialize)layoutControlItem2).BeginInit();
+            ((ISupportInitialize)emptySpaceItem1).BeginInit();
+            ((ISupportInitialize)layoutControlItem3).BeginInit();
+            ((ISupportInitialize)dxErrorProvider1).BeginInit();
+            SuspendLayout();
+            // 
+            // dataLayoutControl1
+            // 
+            dataLayoutControl1.Controls.Add(gridControl1);
+            dataLayoutControl1.Controls.Add(btnOk);
+            dataLayoutControl1.Controls.Add(btnCancel);
+            dataLayoutControl1.Dock = DockStyle.Fill;
+            dataLayoutControl1.Location = new Point(0, 0);
+            dataLayoutControl1.Margin = new Padding(3, 4, 3, 4);
+            dataLayoutControl1.Name = "dataLayoutControl1";
+            dataLayoutControl1.OptionsCustomizationForm.DesignTimeCustomizationFormPositionAndSize = new Rectangle(900, 230, 650, 400);
+            dataLayoutControl1.Root = Root;
+            dataLayoutControl1.Size = new Size(768, 504);
+            dataLayoutControl1.TabIndex = 0;
+            dataLayoutControl1.Text = "dataLayoutControl1";
+            // 
+            // gridControl1
+            // 
+            gridControl1.DataSource = itemViewModelBindingSource;
+            gridControl1.EmbeddedNavigator.Margin = new Padding(3, 5, 3, 5);
+            gridControl1.Location = new Point(12, 12);
+            gridControl1.MainView = gridView1;
+            gridControl1.Margin = new Padding(3, 4, 3, 4);
+            gridControl1.Name = "gridControl1";
+            gridControl1.RepositoryItems.AddRange(new DevExpress.XtraEditors.Repository.RepositoryItem[] { repositoryItemTreeListLookUpEdit1, repositoryItemButtonEdit1 });
+            gridControl1.Size = new Size(744, 449);
+            gridControl1.TabIndex = 6;
+            gridControl1.ViewCollection.AddRange(new DevExpress.XtraGrid.Views.Base.BaseView[] { gridView1 });
+            // 
+            // itemViewModelBindingSource
+            // 
+            itemViewModelBindingSource.DataSource = typeof(ItemViewModel);
+            // 
+            // gridView1
+            // 
+            gridView1.Appearance.HeaderPanel.Options.UseTextOptions = true;
+            gridView1.Appearance.HeaderPanel.TextOptions.HAlignment = HorzAlignment.Center;
+            gridView1.Columns.AddRange(new DevExpress.XtraGrid.Columns.GridColumn[] { gridColumn2, gridColumn1, colPumpID, colUserCount, ColDelete });
+            gridView1.DetailHeight = 450;
+            gridView1.FocusRectStyle = DevExpress.XtraGrid.Views.Grid.DrawFocusRectStyle.RowFocus;
+            gridView1.GridControl = gridControl1;
+            gridView1.Name = "gridView1";
+            gridView1.OptionsBehavior.AllowAddRows = DefaultBoolean.True;
+            gridView1.OptionsCustomization.AllowFilter = false;
+            gridView1.OptionsCustomization.AllowQuickHideColumns = false;
+            gridView1.OptionsCustomization.AllowSort = false;
+            gridView1.OptionsEditForm.PopupEditFormWidth = 914;
+            gridView1.OptionsMenu.EnableColumnMenu = false;
+            gridView1.OptionsMenu.EnableFooterMenu = false;
+            gridView1.OptionsView.NewItemRowPosition = DevExpress.XtraGrid.Views.Grid.NewItemRowPosition.Bottom;
+            gridView1.OptionsView.ShowGroupPanel = false;
+            gridView1.RowCellClick += gridView1_RowCellClick;
+            // 
+            // gridColumn2
+            // 
+            gridColumn2.Caption = "鏈�灏忛瀹氭祦閲�";
+            gridColumn2.FieldName = "MinRatedFlow";
+            gridColumn2.MinWidth = 23;
+            gridColumn2.Name = "gridColumn2";
+            gridColumn2.Visible = true;
+            gridColumn2.VisibleIndex = 2;
+            gridColumn2.Width = 187;
+            // 
+            // gridColumn1
+            // 
+            gridColumn1.Caption = "棰濆畾娴侀噺";
+            gridColumn1.FieldName = "RatedFlow";
+            gridColumn1.MinWidth = 23;
+            gridColumn1.Name = "gridColumn1";
+            gridColumn1.Visible = true;
+            gridColumn1.VisibleIndex = 1;
+            gridColumn1.Width = 159;
+            // 
+            // colPumpID
+            // 
+            colPumpID.AppearanceCell.Options.UseTextOptions = true;
+            colPumpID.AppearanceCell.TextOptions.HAlignment = HorzAlignment.Center;
+            colPumpID.Caption = "鍣ㄥ叿鍚嶇О";
+            colPumpID.ColumnEdit = repositoryItemTreeListLookUpEdit1;
+            colPumpID.FieldName = "UtensilID";
+            colPumpID.MinWidth = 23;
+            colPumpID.Name = "colPumpID";
+            colPumpID.Visible = true;
+            colPumpID.VisibleIndex = 0;
+            colPumpID.Width = 349;
+            // 
+            // repositoryItemTreeListLookUpEdit1
+            // 
+            repositoryItemTreeListLookUpEdit1.AutoHeight = false;
+            repositoryItemTreeListLookUpEdit1.Buttons.AddRange(new DevExpress.XtraEditors.Controls.EditorButton[] { new DevExpress.XtraEditors.Controls.EditorButton(DevExpress.XtraEditors.Controls.ButtonPredefines.Combo) });
+            repositoryItemTreeListLookUpEdit1.DisplayMember = "Name";
+            repositoryItemTreeListLookUpEdit1.KeyMember = "ID";
+            repositoryItemTreeListLookUpEdit1.Name = "repositoryItemTreeListLookUpEdit1";
+            repositoryItemTreeListLookUpEdit1.NullText = "";
+            repositoryItemTreeListLookUpEdit1.TreeList = treeList1;
+            repositoryItemTreeListLookUpEdit1.ValueMember = "ID";
+            repositoryItemTreeListLookUpEdit1.EditValueChanged += repositoryItemTreeListLookUpEdit1_EditValueChanged;
+            // 
+            // treeList1
+            // 
+            treeList1.Columns.AddRange(new DevExpress.XtraTreeList.Columns.TreeListColumn[] { treeListColumn1 });
+            treeList1.Location = new Point(-111, -28);
+            treeList1.MinWidth = 23;
+            treeList1.Name = "treeList1";
+            treeList1.OptionsView.ShowIndentAsRowStyle = true;
+            treeList1.Size = new Size(400, 200);
+            treeList1.TabIndex = 0;
+            treeList1.TreeLevelWidth = 21;
+            treeList1.BeforeFocusNode += treeListLookUpEdit1TreeList_BeforeFocusNode;
+            // 
+            // treeListColumn1
+            // 
+            treeListColumn1.Caption = "鐢ㄦ按鍣ㄥ叿";
+            treeListColumn1.FieldName = "Name";
+            treeListColumn1.MinWidth = 23;
+            treeListColumn1.Name = "treeListColumn1";
+            treeListColumn1.Visible = true;
+            treeListColumn1.VisibleIndex = 0;
+            treeListColumn1.Width = 86;
+            // 
+            // colUserCount
+            // 
+            colUserCount.AppearanceCell.Options.UseTextOptions = true;
+            colUserCount.AppearanceCell.TextOptions.HAlignment = HorzAlignment.Center;
+            colUserCount.Caption = "鍣ㄥ叿鏁伴噺";
+            colUserCount.FieldName = "UtensilCount";
+            colUserCount.MinWidth = 23;
+            colUserCount.Name = "colUserCount";
+            colUserCount.Visible = true;
+            colUserCount.VisibleIndex = 3;
+            colUserCount.Width = 141;
+            // 
+            // ColDelete
+            // 
+            ColDelete.AppearanceCell.Options.UseTextOptions = true;
+            ColDelete.AppearanceCell.TextOptions.HAlignment = HorzAlignment.Center;
+            ColDelete.Caption = "鍒犻櫎";
+            ColDelete.ColumnEdit = repositoryItemButtonEdit1;
+            ColDelete.MinWidth = 23;
+            ColDelete.Name = "ColDelete";
+            ColDelete.OptionsColumn.AllowEdit = false;
+            ColDelete.Visible = true;
+            ColDelete.VisibleIndex = 4;
+            ColDelete.Width = 144;
+            // 
+            // repositoryItemButtonEdit1
+            // 
+            repositoryItemButtonEdit1.AutoHeight = false;
+            editorButtonImageOptions1.SvgImage = (DevExpress.Utils.Svg.SvgImage)resources.GetObject("editorButtonImageOptions1.SvgImage");
+            editorButtonImageOptions1.SvgImageSize = new Size(25, 25);
+            repositoryItemButtonEdit1.Buttons.AddRange(new DevExpress.XtraEditors.Controls.EditorButton[] { new DevExpress.XtraEditors.Controls.EditorButton(DevExpress.XtraEditors.Controls.ButtonPredefines.Glyph, "", -1, true, true, false, editorButtonImageOptions1, new KeyShortcut(Keys.None), serializableAppearanceObject1, serializableAppearanceObject2, serializableAppearanceObject3, serializableAppearanceObject4, "", null, null, ToolTipAnchor.Default) });
+            repositoryItemButtonEdit1.Name = "repositoryItemButtonEdit1";
+            repositoryItemButtonEdit1.TextEditStyle = DevExpress.XtraEditors.Controls.TextEditStyles.HideTextEditor;
+            // 
+            // btnOk
+            // 
+            btnOk.Appearance.BackColor = DevExpress.LookAndFeel.DXSkinColors.FillColors.Primary;
+            btnOk.Appearance.Options.UseBackColor = true;
+            btnOk.Location = new Point(552, 465);
+            btnOk.Margin = new Padding(3, 4, 3, 4);
+            btnOk.Name = "btnOk";
+            btnOk.Size = new Size(106, 27);
+            btnOk.StyleController = dataLayoutControl1;
+            btnOk.TabIndex = 7;
+            btnOk.Text = "纭畾";
+            btnOk.Click += btnOk_Click;
+            // 
+            // btnCancel
+            // 
+            btnCancel.Appearance.BackColor = DevExpress.LookAndFeel.DXSkinColors.FillColors.Warning;
+            btnCancel.Appearance.Options.UseBackColor = true;
+            btnCancel.DialogResult = DialogResult.Cancel;
+            btnCancel.Location = new Point(662, 465);
+            btnCancel.Margin = new Padding(3, 4, 3, 4);
+            btnCancel.Name = "btnCancel";
+            btnCancel.Size = new Size(94, 27);
+            btnCancel.StyleController = dataLayoutControl1;
+            btnCancel.TabIndex = 8;
+            btnCancel.Text = "鍙栨秷";
+            // 
+            // Root
+            // 
+            Root.AppearanceItemCaption.Options.UseTextOptions = true;
+            Root.AppearanceItemCaption.TextOptions.HAlignment = HorzAlignment.Far;
+            Root.EnableIndentsWithoutBorders = DefaultBoolean.True;
+            Root.GroupBordersVisible = false;
+            Root.Items.AddRange(new DevExpress.XtraLayout.BaseLayoutItem[] { layoutControlGroup1 });
+            Root.Name = "Root";
+            Root.Size = new Size(768, 504);
+            Root.TextVisible = false;
+            // 
+            // layoutControlGroup1
+            // 
+            layoutControlGroup1.AllowDrawBackground = false;
+            layoutControlGroup1.GroupBordersVisible = false;
+            layoutControlGroup1.Items.AddRange(new DevExpress.XtraLayout.BaseLayoutItem[] { layoutControlItem1, layoutControlItem2, emptySpaceItem1, layoutControlItem3 });
+            layoutControlGroup1.Location = new Point(0, 0);
+            layoutControlGroup1.Name = "autoGeneratedGroup0";
+            layoutControlGroup1.Size = new Size(748, 484);
+            // 
+            // layoutControlItem1
+            // 
+            layoutControlItem1.Control = btnCancel;
+            layoutControlItem1.Location = new Point(650, 453);
+            layoutControlItem1.Name = "layoutControlItem1";
+            layoutControlItem1.Size = new Size(98, 31);
+            layoutControlItem1.TextSize = new Size(0, 0);
+            layoutControlItem1.TextVisible = false;
+            // 
+            // layoutControlItem2
+            // 
+            layoutControlItem2.Control = btnOk;
+            layoutControlItem2.Location = new Point(540, 453);
+            layoutControlItem2.Name = "layoutControlItem2";
+            layoutControlItem2.Size = new Size(110, 31);
+            layoutControlItem2.TextSize = new Size(0, 0);
+            layoutControlItem2.TextVisible = false;
+            // 
+            // emptySpaceItem1
+            // 
+            emptySpaceItem1.AllowHotTrack = false;
+            emptySpaceItem1.Location = new Point(0, 453);
+            emptySpaceItem1.Name = "emptySpaceItem1";
+            emptySpaceItem1.Size = new Size(540, 31);
+            emptySpaceItem1.TextSize = new Size(0, 0);
+            // 
+            // layoutControlItem3
+            // 
+            layoutControlItem3.Control = gridControl1;
+            layoutControlItem3.Location = new Point(0, 0);
+            layoutControlItem3.Name = "layoutControlItem3";
+            layoutControlItem3.Size = new Size(748, 453);
+            layoutControlItem3.TextSize = new Size(0, 0);
+            layoutControlItem3.TextVisible = false;
+            // 
+            // dxErrorProvider1
+            // 
+            dxErrorProvider1.ContainerControl = this;
+            // 
+            // AddWaterWEDlg
+            // 
+            AutoScaleDimensions = new SizeF(8F, 18F);
+            AutoScaleMode = AutoScaleMode.Font;
+            ClientSize = new Size(768, 504);
+            Controls.Add(dataLayoutControl1);
+            Margin = new Padding(3, 4, 3, 4);
+            Name = "AddWaterWEDlg";
+            StartPosition = FormStartPosition.CenterParent;
+            Text = "鏂板";
+            ((ISupportInitialize)dataLayoutControl1).EndInit();
+            dataLayoutControl1.ResumeLayout(false);
+            ((ISupportInitialize)gridControl1).EndInit();
+            ((ISupportInitialize)itemViewModelBindingSource).EndInit();
+            ((ISupportInitialize)gridView1).EndInit();
+            ((ISupportInitialize)repositoryItemTreeListLookUpEdit1).EndInit();
+            ((ISupportInitialize)treeList1).EndInit();
+            ((ISupportInitialize)repositoryItemButtonEdit1).EndInit();
+            ((ISupportInitialize)Root).EndInit();
+            ((ISupportInitialize)layoutControlGroup1).EndInit();
+            ((ISupportInitialize)layoutControlItem1).EndInit();
+            ((ISupportInitialize)layoutControlItem2).EndInit();
+            ((ISupportInitialize)emptySpaceItem1).EndInit();
+            ((ISupportInitialize)layoutControlItem3).EndInit();
+            ((ISupportInitialize)dxErrorProvider1).EndInit();
+            ResumeLayout(false);
+        }
+
+        #endregion
+
+        private DevExpress.XtraDataLayout.DataLayoutControl dataLayoutControl1;
+        private DevExpress.XtraEditors.SimpleButton btnOk;
+        private DevExpress.XtraEditors.SimpleButton btnCancel;
+        private DevExpress.XtraLayout.LayoutControlGroup Root;
+        private DevExpress.XtraLayout.LayoutControlGroup layoutControlGroup1;
+        private DevExpress.XtraLayout.LayoutControlItem layoutControlItem1;
+        private DevExpress.XtraLayout.LayoutControlItem layoutControlItem2;
+        private DevExpress.XtraLayout.EmptySpaceItem emptySpaceItem1;
+        private DevExpress.XtraEditors.DXErrorProvider.DXErrorProvider dxErrorProvider1;
+        private DevExpress.XtraGrid.GridControl gridControl1;
+        private DevExpress.XtraGrid.Views.Grid.GridView gridView1;
+        private DevExpress.XtraGrid.Columns.GridColumn gridColumn2;
+        private DevExpress.XtraGrid.Columns.GridColumn gridColumn1;
+        private DevExpress.XtraGrid.Columns.GridColumn colPumpID;
+        private DevExpress.XtraEditors.Repository.RepositoryItemTreeListLookUpEdit repositoryItemTreeListLookUpEdit1;
+        private DevExpress.XtraTreeList.TreeList treeList1;
+        private DevExpress.XtraTreeList.Columns.TreeListColumn treeListColumn1;
+        private DevExpress.XtraGrid.Columns.GridColumn colUserCount;
+        private DevExpress.XtraGrid.Columns.GridColumn ColDelete;
+        private DevExpress.XtraEditors.Repository.RepositoryItemButtonEdit repositoryItemButtonEdit1;
+        private DevExpress.XtraLayout.LayoutControlItem layoutControlItem3;
+        private BindingSource itemViewModelBindingSource;
+    }
+}
\ No newline at end of file
diff --git a/WinFrmUI/PBS.WinFrmUI.WE/WaterWE/AddWaterWEDlg.resx b/WinFrmUI/PBS.WinFrmUI.WE/WaterWE/AddWaterWEDlg.resx
new file mode 100644
index 0000000..8c0eaef
--- /dev/null
+++ b/WinFrmUI/PBS.WinFrmUI.WE/WaterWE/AddWaterWEDlg.resx
@@ -0,0 +1,148 @@
+锘�<?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="itemViewModelBindingSource.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
+    <value>172, 17</value>
+  </metadata>
+  <assembly alias="DevExpress.Data.v23.2" name="DevExpress.Data.v23.2, Culture=neutral, PublicKeyToken=b88d1754d700e49a" />
+  <data name="editorButtonImageOptions1.SvgImage" type="DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v23.2" mimetype="application/x-microsoft.net.object.bytearray.base64">
+    <value>
+        AAEAAAD/////AQAAAAAAAAAMAgAAAFlEZXZFeHByZXNzLkRhdGEudjIzLjIsIFZlcnNpb249MjMuMi40
+        LjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjg4ZDE3NTRkNzAwZTQ5YQUBAAAAHURl
+        dkV4cHJlc3MuVXRpbHMuU3ZnLlN2Z0ltYWdlAQAAAAREYXRhBwICAAAACQMAAAAPAwAAAD0DAAAC77u/
+        PD94bWwgdmVyc2lvbj0nMS4wJyBlbmNvZGluZz0nVVRGLTgnPz4NCjxzdmcgeD0iMHB4IiB5PSIwcHgi
+        IHZpZXdCb3g9IjAgMCAzMiAzMiIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcv
+        MjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB4bWw6c3Bh
+        Y2U9InByZXNlcnZlIiBpZD0iTGF5ZXJfMSIgc3R5bGU9ImVuYWJsZS1iYWNrZ3JvdW5kOm5ldyAwIDAg
+        MzIgMzIiPg0KICA8c3R5bGUgdHlwZT0idGV4dC9jc3MiPgoJLlJlZHtmaWxsOiNEMTFDMUM7fQoJLkJs
+        YWNre2ZpbGw6IzcyNzI3Mjt9CgkuQmx1ZXtmaWxsOiMxMTc3RDc7fQoJLkdyZWVue2ZpbGw6IzAzOUMy
+        Mzt9CgkuWWVsbG93e2ZpbGw6I0ZGQjExNTt9CgkuV2hpdGV7ZmlsbDojRkZGRkZGO30KCS5zdDB7b3Bh
+        Y2l0eTowLjU7fQoJLnN0MXtvcGFjaXR5OjAuNzU7fQo8L3N0eWxlPg0KICA8ZyBpZD0iRGVsZXRlIj4N
+        CiAgICA8Zz4NCiAgICAgIDxwYXRoIGQ9Ik0xOC44LDE2bDYuOS02LjljMC40LTAuNCwwLjQtMSwwLTEu
+        NGwtMS40LTEuNGMtMC40LTAuNC0xLTAuNC0xLjQsMEwxNiwxMy4yTDkuMSw2LjNjLTAuNC0wLjQtMS0w
+        LjQtMS40LDAgICAgTDYuMyw3LjdjLTAuNCwwLjQtMC40LDEsMCwxLjRsNi45LDYuOWwtNi45LDYuOWMt
+        MC40LDAuNC0wLjQsMSwwLDEuNGwxLjQsMS40YzAuNCwwLjQsMSwwLjQsMS40LDBsNi45LTYuOWw2Ljks
+        Ni45ICAgIGMwLjQsMC40LDEsMC40LDEuNCwwbDEuNC0xLjRjMC40LTAuNCwwLjQtMSwwLTEuNEwxOC44
+        LDE2eiIgY2xhc3M9IlJlZCIgLz4NCiAgICA8L2c+DQogIDwvZz4NCjwvc3ZnPgs=
+</value>
+  </data>
+  <metadata name="dxErrorProvider1.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/PBS.WinFrmUI.WE/WaterWE/EditWaterWEDlg.cs b/WinFrmUI/PBS.WinFrmUI.WE/WaterWE/EditWaterWEDlg.cs
index 155354c..c4361d5 100644
--- a/WinFrmUI/PBS.WinFrmUI.WE/WaterWE/EditWaterWEDlg.cs
+++ b/WinFrmUI/PBS.WinFrmUI.WE/WaterWE/EditWaterWEDlg.cs
@@ -1,5 +1,5 @@
-锘縰sing DevExpress.XtraEditors;
-using DevExpress.XtraTreeList;
+锘縰sing DevExpress.XtraTreeList;
+using PBS.Vmo.WE;
 using Yw.WinFrmUI;
 
 namespace PBS.WinFrmUI.WE
@@ -9,63 +9,20 @@
         public EditWaterWEDlg()
         {
             InitializeComponent();
-            //this.IconOptions.Icon = WinFrmUI.Properties.Resources.App;
-            //  this.dataLayoutControl1.SetupLayoutControl();
+            this.generalOkAndCancelCtrl1.OkEvent += GeneralOkAndCancelCtrl1_OkEvent; ;
         }
-
-        /// <summary>
-        /// 鍥炶皟浜嬩欢
-        /// </summary>
-        public event Func<PBS.Vmo.WE.ItemVmo, PBS.Vmo.WE.CatalogueMappingVmo, List<PBS.Vmo.WE.UtensilMappingVmo>, Task<bool>> ReloadDataEvent;
-
-        private List<ItemViewModel> _allBindingList;
-
-        private PBS.Vmo.WE.ItemVmo _model = null;
 
         private List<PBS.Vmo.WE.UtensilVmo> _allUtensilList = null;
 
-        private PBS.Vmo.WE.CatalogueMappingVmo _CatalogueMappingVmo;
+        public event Func<UtensilMappingVmo, Task<bool>> ReloadDataEvent;
 
-        //璇︾粏淇℃伅鏂规硶
-        public async void SetInfoDisplay(ItemViewModel itemView)
+        private UtensilMappingVmo _vmo;
+
+        public async void SetBindingData(UtensilMappingVmo mapping)
         {
-            _allBindingList = new List<ItemViewModel>();
-            _allUtensilList = await new PBS.BLL.WE.Utensil().GetAll();
-            this.repositoryItemTreeListLookUpEdit1.DataSource = _allUtensilList;
-            var allUtensilList = await new PBS.BLL.WE.UtensilMapping().GetByItemID(itemView.ID);
-            if (allUtensilList != null)
-            {
-                foreach (var utensil in allUtensilList)
-                {
-                    var model = new ItemViewModel();
-                    model.UtensilID = utensil.UtensilID;
-                    model.UtensilCount = utensil.UtensilCount;
-                    model.RatedFlow = utensil.RatedFlow;
-                    model.MinRatedFlow = utensil.MinRatedFlow;
-                    _allBindingList.Add(model);
-                }
-            }
-
-            this.itemViewModelBindingSource.DataSource = _allBindingList;
-            this.textEditName.EditValue = itemView.Name;
-            this.Text = "璇︾粏淇℃伅";
-            this.ColDelete.Visible = false;
-            this.textEditName.Properties.ReadOnly = true;
-            this.gridView1.SetNormalView();
-            this.layoutControlItem2.Visibility = DevExpress.XtraLayout.Utils.LayoutVisibility.Never;
-            this.emptySpaceItem1.Visibility = DevExpress.XtraLayout.Utils.LayoutVisibility.Never;
-            this.layoutControlItem1.Visibility = DevExpress.XtraLayout.Utils.LayoutVisibility.Never;
-        }
-
-        /// <summary>
-        /// 缁戝畾
-        /// </summary>
-        public async void SetBindingData(PBS.Vmo.WE.ItemVmo item, long CatalogueID)
-        {
-            _allBindingList = new List<ItemViewModel>();
-            _allUtensilList = await new PBS.BLL.WE.Utensil().GetAll();
+            _vmo = mapping;
             var modelList = new List<UtensilSelectViewModel>();
-
+            _allUtensilList = await new PBS.BLL.WE.Utensil().GetAll();
             if (_allUtensilList != null && _allUtensilList.Count > 0)
             {
                 foreach (var utensil in _allUtensilList)
@@ -82,115 +39,47 @@
                     }
                 }
             }
-            this.repositoryItemTreeListLookUpEdit1.DataSource = modelList;
-            if (item == null)
-            {
-                _CatalogueMappingVmo = new PBS.Vmo.WE.CatalogueMappingVmo();
-                _CatalogueMappingVmo.CatalogueID = CatalogueID;
-            }
-            else
-            {
-                //涓虹紪杈戝仛鍑嗗
-                _model = item;
-                var allUtensilList = await new PBS.BLL.WE.UtensilMapping().GetByItemID(item.ID);
-                if (allUtensilList != null)
-                {
-                    foreach (var utensil in allUtensilList)
-                    {
-                        var model = new ItemViewModel();
-
-                        model.UtensilID = utensil.UtensilID;
-                        model.UtensilCount = utensil.UtensilCount;
-                        model.RatedFlow = utensil.RatedFlow;
-                        model.MinRatedFlow = utensil.MinRatedFlow;
-                        _allBindingList.Add(model);
-                    }
-                }
-                this.textEditName.Text = item.Name;
-            }
-            this.itemViewModelBindingSource.DataSource = _allBindingList;
+            this.treeListLookUpEdit1TreeList.DataSource = modelList;
+            this.textEditName.EditValue = mapping.UtensilID;
+            this.textEditCount.EditValue = mapping.UtensilCount;
+            this.textEditFlow.EditValue = mapping.RatedFlow;
+            this.textEditMinFlow.EditValue = mapping.MinRatedFlow;
+            this.memoEditDescription.EditValue = mapping.Description;
         }
 
-        //楠岃瘉
-        private bool Valid()
-        {
-            this.dxErrorProvider1.ClearErrors();
-            if (string.IsNullOrEmpty(this.textEditName.Text.Trim()))
+        /*    private bool Valid()
             {
-                this.dxErrorProvider1.SetError(this.textEditName, "蹇呭~椤�");
-                return false;
-            }
-            return true;
-        }
+            }*/
 
         //纭畾
-        private async void btnOk_Click(object sender, EventArgs e)
+        private async void GeneralOkAndCancelCtrl1_OkEvent()
         {
-            if (!Valid())
-                return;
-            if (_allBindingList == null || _allBindingList.Count < 1)
+            if (this.textEditName.EditValue != null)
             {
-                TipFormHelper.ShowError("璇疯緭鍏ョ敤姘村櫒鍏锋暟鎹紒");
-                return;
+                _vmo.UtensilID = (long)this.textEditName.EditValue;
             }
-            if (_model == null)
+            if (this.textEditCount.EditValue != null)
             {
-                _model = new PBS.Vmo.WE.ItemVmo();
-                _model.Name = this.textEditName.Text.Trim();
+                _vmo.UtensilCount = Convert.ToInt32( this.textEditCount.EditValue);
+            }
+            if (this.textEditFlow.EditValue != null)
+            {
+                _vmo.RatedFlow = Convert.ToDouble(this.textEditFlow.EditValue);
+            }
+            if (this.textEditMinFlow.EditValue != null)
+            {
+                _vmo.MinRatedFlow = Convert.ToDouble(this.textEditMinFlow.EditValue);
+            }
+            _vmo.Description = this.memoEditDescription.Text;
+            if (await this.ReloadDataEvent.Invoke(_vmo))
+            {
+                TipFormHelper.ShowSucceed("缂栬緫鎴愬姛锛�");
             }
             else
             {
-                _model.Name = this.textEditName.Text.Trim();
+                TipFormHelper.ShowError("缂栬緫澶辫触锛�");
             }
-            var mappingList = new List<PBS.Vmo.WE.UtensilMappingVmo>();
-            foreach (var item in _allBindingList)
-            {
-                var model = new PBS.Vmo.WE.UtensilMappingVmo();
-                model.UtensilID = item.UtensilID;
-                model.UtensilCount = item.UtensilCount;
-                model.RatedFlow = item.RatedFlow;
-                model.MinRatedFlow = item.MinRatedFlow;
-                mappingList.Add(model);
-            }
-            if (this.ReloadDataEvent == null)
-                return;
-            if (!await this.ReloadDataEvent(_model, _CatalogueMappingVmo, mappingList))
-            {
-                MessageBoxHelper.ShowError("璁剧疆澶辫触锛�");
-                return;
-            }
-            MessageBoxHelper.ShowSuccess("璁剧疆鎴愬姛锛�");
-            this.DialogResult = System.Windows.Forms.DialogResult.OK;
             this.Close();
-        }
-
-        //鍒犻櫎
-        private void gridView1_RowCellClick(object sender, DevExpress.XtraGrid.Views.Grid.RowCellClickEventArgs e)
-        {
-            if (_allBindingList == null || _allBindingList.Count < 1)
-                return;
-            var row = this.gridView1.GetCurrentViewModel(_allBindingList);
-            if (row == null)
-                return;
-            if (e.Column == this.ColDelete)
-                _allBindingList.Remove(row);
-            this.itemViewModelBindingSource.ResetBindings(false);
-        }
-
-        private void repositoryItemTreeListLookUpEdit1_EditValueChanged(object sender, EventArgs e)
-        {   // 鑾峰彇褰撳墠閫変腑椤圭殑鍊�
-            TreeListLookUpEdit edit = sender as TreeListLookUpEdit;
-            if (edit != null && edit.EditValue != null)
-            {
-                // 鑾峰彇閫変腑椤圭殑 ID
-                long selectedID = Convert.ToInt64(edit.EditValue);
-                var select = _allUtensilList.Find(x => x.ID == selectedID);
-                if (select != null)
-                {
-                    gridView1.SetFocusedRowCellValue("RatedFlow", select.RatedFlow);
-                    gridView1.SetFocusedRowCellValue("MinRatedFlow", select.MinRatedFlow);
-                }
-            }
         }
 
         private void treeListLookUpEdit1TreeList_BeforeFocusNode(object sender, BeforeFocusNodeEventArgs e)
diff --git a/WinFrmUI/PBS.WinFrmUI.WE/WaterWE/EditWaterWEDlg.designer.cs b/WinFrmUI/PBS.WinFrmUI.WE/WaterWE/EditWaterWEDlg.designer.cs
index bd1e8e8..ce33594 100644
--- a/WinFrmUI/PBS.WinFrmUI.WE/WaterWE/EditWaterWEDlg.designer.cs
+++ b/WinFrmUI/PBS.WinFrmUI.WE/WaterWE/EditWaterWEDlg.designer.cs
@@ -1,10 +1,4 @@
-锘縰sing DevExpress.Utils;
-using DevExpress.XtraEditors;
-using System.ComponentModel;
-using System.Drawing;
-using System.Windows.Forms;
-
-namespace PBS.WinFrmUI.WE
+锘縩amespace PBS.WinFrmUI.WE
 {
     partial class EditWaterWEDlg
     {
@@ -34,370 +28,239 @@
         /// </summary>
         private void InitializeComponent()
         {
-            components = new Container();
-            DevExpress.XtraEditors.Controls.EditorButtonImageOptions editorButtonImageOptions1 = new DevExpress.XtraEditors.Controls.EditorButtonImageOptions();
-            ComponentResourceManager resources = new ComponentResourceManager(typeof(EditWaterWEDlg));
-            SerializableAppearanceObject serializableAppearanceObject1 = new SerializableAppearanceObject();
-            SerializableAppearanceObject serializableAppearanceObject2 = new SerializableAppearanceObject();
-            SerializableAppearanceObject serializableAppearanceObject3 = new SerializableAppearanceObject();
-            SerializableAppearanceObject serializableAppearanceObject4 = new SerializableAppearanceObject();
-            dataLayoutControl1 = new DevExpress.XtraDataLayout.DataLayoutControl();
-            gridControl1 = new DevExpress.XtraGrid.GridControl();
-            itemViewModelBindingSource = new BindingSource(components);
-            gridView1 = new DevExpress.XtraGrid.Views.Grid.GridView();
-            gridColumn2 = new DevExpress.XtraGrid.Columns.GridColumn();
-            gridColumn1 = new DevExpress.XtraGrid.Columns.GridColumn();
-            colPumpID = new DevExpress.XtraGrid.Columns.GridColumn();
-            repositoryItemTreeListLookUpEdit1 = new DevExpress.XtraEditors.Repository.RepositoryItemTreeListLookUpEdit();
-            treeList1 = new DevExpress.XtraTreeList.TreeList();
-            treeListColumn1 = new DevExpress.XtraTreeList.Columns.TreeListColumn();
-            colUserCount = new DevExpress.XtraGrid.Columns.GridColumn();
-            ColDelete = new DevExpress.XtraGrid.Columns.GridColumn();
-            repositoryItemButtonEdit1 = new DevExpress.XtraEditors.Repository.RepositoryItemButtonEdit();
-            btnOk = new SimpleButton();
-            btnCancel = new SimpleButton();
-            textEditName = new TextEdit();
+            layoutControl1 = new DevExpress.XtraLayout.LayoutControl();
+            generalOkAndCancelCtrl1 = new Yw.WinFrmUI.GeneralOkAndCancelCtrl();
+            textEditName = new DevExpress.XtraEditors.TreeListLookUpEdit();
+            treeListLookUpEdit1TreeList = new DevExpress.XtraTreeList.TreeList();
+            鍚嶇О = new DevExpress.XtraTreeList.Columns.TreeListColumn();
+            textEditCount = new DevExpress.XtraEditors.TextEdit();
+            textEditFlow = new DevExpress.XtraEditors.TextEdit();
+            textEditMinFlow = new DevExpress.XtraEditors.TextEdit();
+            memoEditDescription = new DevExpress.XtraEditors.MemoEdit();
             Root = new DevExpress.XtraLayout.LayoutControlGroup();
-            layoutControlGroup1 = new DevExpress.XtraLayout.LayoutControlGroup();
             layoutControlItem1 = new DevExpress.XtraLayout.LayoutControlItem();
             layoutControlItem2 = new DevExpress.XtraLayout.LayoutControlItem();
-            emptySpaceItem1 = new DevExpress.XtraLayout.EmptySpaceItem();
-            layoutControlItem4 = new DevExpress.XtraLayout.LayoutControlItem();
             layoutControlItem3 = new DevExpress.XtraLayout.LayoutControlItem();
-            dxErrorProvider1 = new DevExpress.XtraEditors.DXErrorProvider.DXErrorProvider(components);
-             ((ISupportInitialize)dataLayoutControl1).BeginInit();
-            dataLayoutControl1.SuspendLayout();
-            ((ISupportInitialize)gridControl1).BeginInit();
-            ((ISupportInitialize)itemViewModelBindingSource).BeginInit();
-            ((ISupportInitialize)gridView1).BeginInit();
-            ((ISupportInitialize)repositoryItemTreeListLookUpEdit1).BeginInit();
-            ((ISupportInitialize)treeList1).BeginInit();
-            ((ISupportInitialize)repositoryItemButtonEdit1).BeginInit();
-            ((ISupportInitialize)textEditName.Properties).BeginInit();
-            ((ISupportInitialize)Root).BeginInit();
-            ((ISupportInitialize)layoutControlGroup1).BeginInit();
-            ((ISupportInitialize)layoutControlItem1).BeginInit();
-            ((ISupportInitialize)layoutControlItem2).BeginInit();
-            ((ISupportInitialize)emptySpaceItem1).BeginInit();
-            ((ISupportInitialize)layoutControlItem4).BeginInit();
-            ((ISupportInitialize)layoutControlItem3).BeginInit();
-            ((ISupportInitialize)dxErrorProvider1).BeginInit();
-             SuspendLayout();
+            layoutControlItem4 = new DevExpress.XtraLayout.LayoutControlItem();
+            layoutControlItem5 = new DevExpress.XtraLayout.LayoutControlItem();
+            layoutControlItem6 = new DevExpress.XtraLayout.LayoutControlItem();
+            ((System.ComponentModel.ISupportInitialize)layoutControl1).BeginInit();
+            layoutControl1.SuspendLayout();
+            ((System.ComponentModel.ISupportInitialize)textEditName.Properties).BeginInit();
+            ((System.ComponentModel.ISupportInitialize)treeListLookUpEdit1TreeList).BeginInit();
+            ((System.ComponentModel.ISupportInitialize)textEditCount.Properties).BeginInit();
+            ((System.ComponentModel.ISupportInitialize)textEditFlow.Properties).BeginInit();
+            ((System.ComponentModel.ISupportInitialize)textEditMinFlow.Properties).BeginInit();
+            ((System.ComponentModel.ISupportInitialize)memoEditDescription.Properties).BeginInit();
+            ((System.ComponentModel.ISupportInitialize)Root).BeginInit();
+            ((System.ComponentModel.ISupportInitialize)layoutControlItem1).BeginInit();
+            ((System.ComponentModel.ISupportInitialize)layoutControlItem2).BeginInit();
+            ((System.ComponentModel.ISupportInitialize)layoutControlItem3).BeginInit();
+            ((System.ComponentModel.ISupportInitialize)layoutControlItem4).BeginInit();
+            ((System.ComponentModel.ISupportInitialize)layoutControlItem5).BeginInit();
+            ((System.ComponentModel.ISupportInitialize)layoutControlItem6).BeginInit();
+            SuspendLayout();
             // 
-            // dataLayoutControl1
+            // layoutControl1
             // 
-            dataLayoutControl1.Controls.Add(gridControl1);
-            dataLayoutControl1.Controls.Add(btnOk);
-            dataLayoutControl1.Controls.Add(btnCancel);
-            dataLayoutControl1.Controls.Add(textEditName);
-            dataLayoutControl1.Dock = DockStyle.Fill;
-            dataLayoutControl1.Location = new Point(0, 0);
-            dataLayoutControl1.Margin = new Padding(3, 4, 3, 4);
-            dataLayoutControl1.Name = "dataLayoutControl1";
-            dataLayoutControl1.OptionsCustomizationForm.DesignTimeCustomizationFormPositionAndSize = new Rectangle(900, 230, 650, 400);
-            dataLayoutControl1.Root = Root;
-            dataLayoutControl1.Size = new Size(768, 504);
-            dataLayoutControl1.TabIndex = 0;
-            dataLayoutControl1.Text = "dataLayoutControl1";
+            layoutControl1.Controls.Add(generalOkAndCancelCtrl1);
+            layoutControl1.Controls.Add(textEditName);
+            layoutControl1.Controls.Add(textEditCount);
+            layoutControl1.Controls.Add(textEditFlow);
+            layoutControl1.Controls.Add(textEditMinFlow);
+            layoutControl1.Controls.Add(memoEditDescription);
+            layoutControl1.Dock = DockStyle.Fill;
+            layoutControl1.Location = new Point(0, 0);
+            layoutControl1.Name = "layoutControl1";
+            layoutControl1.Root = Root;
+            layoutControl1.Size = new Size(545, 291);
+            layoutControl1.TabIndex = 0;
+            layoutControl1.Text = "layoutControl1";
             // 
-            // gridControl1
+            // generalOkAndCancelCtrl1
             // 
-            gridControl1.DataSource = itemViewModelBindingSource;
-            gridControl1.EmbeddedNavigator.Margin = new Padding(3, 5, 3, 5);
-            gridControl1.Location = new Point(12, 40);
-            gridControl1.MainView = gridView1;
-            gridControl1.Margin = new Padding(3, 4, 3, 4);
-            gridControl1.Name = "gridControl1";
-            gridControl1.RepositoryItems.AddRange(new DevExpress.XtraEditors.Repository.RepositoryItem[] { repositoryItemTreeListLookUpEdit1, repositoryItemButtonEdit1 });
-            gridControl1.Size = new Size(744, 421);
-            gridControl1.TabIndex = 6;
-            gridControl1.ViewCollection.AddRange(new DevExpress.XtraGrid.Views.Base.BaseView[] { gridView1 });
-            // 
-            // itemViewModelBindingSource
-            // 
-            itemViewModelBindingSource.DataSource = typeof(ItemViewModel);
-            // 
-            // gridView1
-            // 
-            gridView1.Appearance.HeaderPanel.Options.UseTextOptions = true;
-            gridView1.Appearance.HeaderPanel.TextOptions.HAlignment = HorzAlignment.Center;
-            gridView1.Columns.AddRange(new DevExpress.XtraGrid.Columns.GridColumn[] { gridColumn2, gridColumn1, colPumpID, colUserCount, ColDelete });
-            gridView1.DetailHeight = 450;
-            gridView1.FocusRectStyle = DevExpress.XtraGrid.Views.Grid.DrawFocusRectStyle.RowFocus;
-            gridView1.GridControl = gridControl1;
-            gridView1.Name = "gridView1";
-            gridView1.OptionsBehavior.AllowAddRows = DefaultBoolean.True;
-            gridView1.OptionsCustomization.AllowFilter = false;
-            gridView1.OptionsCustomization.AllowQuickHideColumns = false;
-            gridView1.OptionsCustomization.AllowSort = false;
-            gridView1.OptionsEditForm.PopupEditFormWidth = 914;
-            gridView1.OptionsMenu.EnableColumnMenu = false;
-            gridView1.OptionsMenu.EnableFooterMenu = false;
-            gridView1.OptionsView.NewItemRowPosition = DevExpress.XtraGrid.Views.Grid.NewItemRowPosition.Bottom;
-            gridView1.OptionsView.ShowGroupPanel = false;
-            gridView1.RowCellClick += gridView1_RowCellClick;
-            // 
-            // gridColumn2
-            // 
-            gridColumn2.Caption = "鏈�灏忛瀹氭祦閲�";
-            gridColumn2.FieldName = "MinRatedFlow";
-            gridColumn2.MinWidth = 23;
-            gridColumn2.Name = "gridColumn2";
-            gridColumn2.Visible = true;
-            gridColumn2.VisibleIndex = 2;
-            gridColumn2.Width = 187;
-            // 
-            // gridColumn1
-            // 
-            gridColumn1.Caption = "棰濆畾娴侀噺";
-            gridColumn1.FieldName = "RatedFlow";
-            gridColumn1.MinWidth = 23;
-            gridColumn1.Name = "gridColumn1";
-            gridColumn1.Visible = true;
-            gridColumn1.VisibleIndex = 1;
-            gridColumn1.Width = 159;
-            // 
-            // colPumpID
-            // 
-            colPumpID.AppearanceCell.Options.UseTextOptions = true;
-            colPumpID.AppearanceCell.TextOptions.HAlignment = HorzAlignment.Center;
-            colPumpID.Caption = "鍣ㄥ叿鍚嶇О";
-            colPumpID.ColumnEdit = repositoryItemTreeListLookUpEdit1;
-            colPumpID.FieldName = "UtensilID";
-            colPumpID.MinWidth = 23;
-            colPumpID.Name = "colPumpID";
-            colPumpID.Visible = true;
-            colPumpID.VisibleIndex = 0;
-            colPumpID.Width = 349;
-            // 
-            // repositoryItemTreeListLookUpEdit1
-            // 
-            repositoryItemTreeListLookUpEdit1.AutoHeight = false;
-            repositoryItemTreeListLookUpEdit1.Buttons.AddRange(new DevExpress.XtraEditors.Controls.EditorButton[] { new DevExpress.XtraEditors.Controls.EditorButton(DevExpress.XtraEditors.Controls.ButtonPredefines.Combo) });
-            repositoryItemTreeListLookUpEdit1.DisplayMember = "Name";
-            repositoryItemTreeListLookUpEdit1.KeyMember = "ID";
-            repositoryItemTreeListLookUpEdit1.Name = "repositoryItemTreeListLookUpEdit1";
-            repositoryItemTreeListLookUpEdit1.NullText = "";
-            repositoryItemTreeListLookUpEdit1.TreeList = treeList1;
-            repositoryItemTreeListLookUpEdit1.ValueMember = "ID";
-            repositoryItemTreeListLookUpEdit1.EditValueChanged += repositoryItemTreeListLookUpEdit1_EditValueChanged;
-            // 
-            // treeList1
-            // 
-            treeList1.Columns.AddRange(new DevExpress.XtraTreeList.Columns.TreeListColumn[] { treeListColumn1 });
-            treeList1.Location = new Point(-111, -28);
-            treeList1.MinWidth = 23;
-            treeList1.Name = "treeList1";
-            treeList1.OptionsView.ShowIndentAsRowStyle = true;
-            treeList1.Size = new Size(400, 200);
-            treeList1.TabIndex = 0;
-            treeList1.TreeLevelWidth = 21;
-            treeList1.BeforeFocusNode += treeListLookUpEdit1TreeList_BeforeFocusNode;
-            // 
-            // treeListColumn1
-            // 
-            treeListColumn1.Caption = "鐢ㄦ按鍣ㄥ叿";
-            treeListColumn1.FieldName = "Name";
-            treeListColumn1.MinWidth = 23;
-            treeListColumn1.Name = "treeListColumn1";
-            treeListColumn1.Visible = true;
-            treeListColumn1.VisibleIndex = 0;
-            treeListColumn1.Width = 86;
-            // 
-            // colUserCount
-            // 
-            colUserCount.AppearanceCell.Options.UseTextOptions = true;
-            colUserCount.AppearanceCell.TextOptions.HAlignment = HorzAlignment.Center;
-            colUserCount.Caption = "鍣ㄥ叿鏁伴噺";
-            colUserCount.FieldName = "UtensilCount";
-            colUserCount.MinWidth = 23;
-            colUserCount.Name = "colUserCount";
-            colUserCount.Visible = true;
-            colUserCount.VisibleIndex = 3;
-            colUserCount.Width = 141;
-            // 
-            // ColDelete
-            // 
-            ColDelete.AppearanceCell.Options.UseTextOptions = true;
-            ColDelete.AppearanceCell.TextOptions.HAlignment = HorzAlignment.Center;
-            ColDelete.Caption = "鍒犻櫎";
-            ColDelete.ColumnEdit = repositoryItemButtonEdit1;
-            ColDelete.MinWidth = 23;
-            ColDelete.Name = "ColDelete";
-            ColDelete.OptionsColumn.AllowEdit = false;
-            ColDelete.Visible = true;
-            ColDelete.VisibleIndex = 4;
-            ColDelete.Width = 144;
-            // 
-            // repositoryItemButtonEdit1
-            // 
-            repositoryItemButtonEdit1.AutoHeight = false;
-            editorButtonImageOptions1.SvgImage = (DevExpress.Utils.Svg.SvgImage)resources.GetObject("editorButtonImageOptions1.SvgImage");
-            editorButtonImageOptions1.SvgImageSize = new Size(25, 25);
-            repositoryItemButtonEdit1.Buttons.AddRange(new DevExpress.XtraEditors.Controls.EditorButton[] { new DevExpress.XtraEditors.Controls.EditorButton(DevExpress.XtraEditors.Controls.ButtonPredefines.Glyph, "", -1, true, true, false, editorButtonImageOptions1, new KeyShortcut(Keys.None), serializableAppearanceObject1, serializableAppearanceObject2, serializableAppearanceObject3, serializableAppearanceObject4, "", null, null, ToolTipAnchor.Default) });
-            repositoryItemButtonEdit1.Name = "repositoryItemButtonEdit1";
-            repositoryItemButtonEdit1.TextEditStyle = DevExpress.XtraEditors.Controls.TextEditStyles.HideTextEditor;
-            // 
-            // btnOk
-            // 
-            btnOk.Appearance.BackColor = DevExpress.LookAndFeel.DXSkinColors.FillColors.Primary;
-            btnOk.Appearance.Options.UseBackColor = true;
-            btnOk.Location = new Point(552, 465);
-            btnOk.Margin = new Padding(3, 4, 3, 4);
-            btnOk.Name = "btnOk";
-            btnOk.Size = new Size(106, 27);
-            btnOk.StyleController = dataLayoutControl1;
-            btnOk.TabIndex = 7;
-            btnOk.Text = "纭畾";
-            btnOk.Click += btnOk_Click;
-            // 
-            // btnCancel
-            // 
-            btnCancel.Appearance.BackColor = DevExpress.LookAndFeel.DXSkinColors.FillColors.Warning;
-            btnCancel.Appearance.Options.UseBackColor = true;
-            btnCancel.DialogResult = DialogResult.Cancel;
-            btnCancel.Location = new Point(662, 465);
-            btnCancel.Margin = new Padding(3, 4, 3, 4);
-            btnCancel.Name = "btnCancel";
-            btnCancel.Size = new Size(94, 27);
-            btnCancel.StyleController = dataLayoutControl1;
-            btnCancel.TabIndex = 8;
-            btnCancel.Text = "鍙栨秷";
+            generalOkAndCancelCtrl1.ButtonCancelMaxSize = new Size(131, 42);
+            generalOkAndCancelCtrl1.ButtonCancelMinSize = new Size(114, 33);
+            generalOkAndCancelCtrl1.ButtonOkMaxSize = new Size(131, 42);
+            generalOkAndCancelCtrl1.ButtonOkMinSize = new Size(114, 33);
+            generalOkAndCancelCtrl1.Location = new Point(12, 241);
+            generalOkAndCancelCtrl1.Margin = new Padding(3, 5, 3, 5);
+            generalOkAndCancelCtrl1.Name = "generalOkAndCancelCtrl1";
+            generalOkAndCancelCtrl1.Size = new Size(521, 38);
+            generalOkAndCancelCtrl1.TabIndex = 1;
             // 
             // textEditName
             // 
-            textEditName.Location = new Point(97, 12);
-            textEditName.Margin = new Padding(3, 4, 3, 4);
+            textEditName.Location = new Point(119, 12);
             textEditName.Name = "textEditName";
-            textEditName.Size = new Size(659, 24);
-            textEditName.StyleController = dataLayoutControl1;
-            textEditName.TabIndex = 10;
+            textEditName.Properties.Buttons.AddRange(new DevExpress.XtraEditors.Controls.EditorButton[] { new DevExpress.XtraEditors.Controls.EditorButton(DevExpress.XtraEditors.Controls.ButtonPredefines.Combo) });
+            textEditName.Properties.DisplayMember = "Name";
+            textEditName.Properties.NullText = "";
+            textEditName.Properties.TreeList = treeListLookUpEdit1TreeList;
+            textEditName.Properties.ValueMember = "ID";
+            textEditName.Size = new Size(414, 24);
+            textEditName.StyleController = layoutControl1;
+            textEditName.TabIndex = 4;
+            // 
+            // treeListLookUpEdit1TreeList
+            // 
+            treeListLookUpEdit1TreeList.Columns.AddRange(new DevExpress.XtraTreeList.Columns.TreeListColumn[] { 鍚嶇О });
+            treeListLookUpEdit1TreeList.Location = new Point(0, 0);
+            treeListLookUpEdit1TreeList.Name = "treeListLookUpEdit1TreeList";
+            treeListLookUpEdit1TreeList.OptionsView.ShowIndentAsRowStyle = true;
+            treeListLookUpEdit1TreeList.Size = new Size(400, 200);
+            treeListLookUpEdit1TreeList.TabIndex = 0;
+            treeListLookUpEdit1TreeList.BeforeFocusNode += treeListLookUpEdit1TreeList_BeforeFocusNode;
+            // 
+            // 鍚嶇О
+            // 
+            鍚嶇О.Caption = "鍚嶇О";
+            鍚嶇О.FieldName = "Name";
+            鍚嶇О.Name = "鍚嶇О";
+            鍚嶇О.Visible = true;
+            鍚嶇О.VisibleIndex = 0;
+            // 
+            // textEditCount
+            // 
+            textEditCount.Location = new Point(119, 40);
+            textEditCount.Name = "textEditCount";
+            textEditCount.Size = new Size(414, 24);
+            textEditCount.StyleController = layoutControl1;
+            textEditCount.TabIndex = 5;
+            // 
+            // textEditFlow
+            // 
+            textEditFlow.Location = new Point(119, 68);
+            textEditFlow.Name = "textEditFlow";
+            textEditFlow.Size = new Size(414, 24);
+            textEditFlow.StyleController = layoutControl1;
+            textEditFlow.TabIndex = 6;
+            // 
+            // textEditMinFlow
+            // 
+            textEditMinFlow.Location = new Point(119, 96);
+            textEditMinFlow.Name = "textEditMinFlow";
+            textEditMinFlow.Size = new Size(414, 24);
+            textEditMinFlow.StyleController = layoutControl1;
+            textEditMinFlow.TabIndex = 7;
+            // 
+            // memoEditDescription
+            // 
+            memoEditDescription.Location = new Point(119, 124);
+            memoEditDescription.Name = "memoEditDescription";
+            memoEditDescription.Size = new Size(414, 113);
+            memoEditDescription.StyleController = layoutControl1;
+            memoEditDescription.TabIndex = 8;
             // 
             // Root
             // 
             Root.AppearanceItemCaption.Options.UseTextOptions = true;
-            Root.AppearanceItemCaption.TextOptions.HAlignment = HorzAlignment.Far;
-            Root.EnableIndentsWithoutBorders = DefaultBoolean.True;
+            Root.AppearanceItemCaption.TextOptions.HAlignment = DevExpress.Utils.HorzAlignment.Far;
+            Root.EnableIndentsWithoutBorders = DevExpress.Utils.DefaultBoolean.True;
             Root.GroupBordersVisible = false;
-            Root.Items.AddRange(new DevExpress.XtraLayout.BaseLayoutItem[] { layoutControlGroup1 });
+            Root.Items.AddRange(new DevExpress.XtraLayout.BaseLayoutItem[] { layoutControlItem1, layoutControlItem2, layoutControlItem3, layoutControlItem4, layoutControlItem5, layoutControlItem6 });
             Root.Name = "Root";
-            Root.Size = new Size(768, 504);
+            Root.Size = new Size(545, 291);
             Root.TextVisible = false;
-            // 
-            // layoutControlGroup1
-            // 
-            layoutControlGroup1.AllowDrawBackground = false;
-            layoutControlGroup1.GroupBordersVisible = false;
-            layoutControlGroup1.Items.AddRange(new DevExpress.XtraLayout.BaseLayoutItem[] { layoutControlItem1, layoutControlItem2, emptySpaceItem1, layoutControlItem4, layoutControlItem3 });
-            layoutControlGroup1.Location = new Point(0, 0);
-            layoutControlGroup1.Name = "autoGeneratedGroup0";
-            layoutControlGroup1.Size = new Size(748, 484);
             // 
             // layoutControlItem1
             // 
-            layoutControlItem1.Control = btnCancel;
-            layoutControlItem1.Location = new Point(650, 453);
+            layoutControlItem1.Control = textEditName;
+            layoutControlItem1.Location = new Point(0, 0);
             layoutControlItem1.Name = "layoutControlItem1";
-            layoutControlItem1.Size = new Size(98, 31);
-            layoutControlItem1.TextSize = new Size(0, 0);
-            layoutControlItem1.TextVisible = false;
+            layoutControlItem1.Size = new Size(525, 28);
+            layoutControlItem1.Text = "鍣ㄥ叿鍚嶇О:";
+            layoutControlItem1.TextSize = new Size(95, 18);
             // 
             // layoutControlItem2
             // 
-            layoutControlItem2.Control = btnOk;
-            layoutControlItem2.Location = new Point(540, 453);
+            layoutControlItem2.Control = textEditCount;
+            layoutControlItem2.Location = new Point(0, 28);
             layoutControlItem2.Name = "layoutControlItem2";
-            layoutControlItem2.Size = new Size(110, 31);
-            layoutControlItem2.TextSize = new Size(0, 0);
-            layoutControlItem2.TextVisible = false;
-            // 
-            // emptySpaceItem1
-            // 
-            emptySpaceItem1.AllowHotTrack = false;
-            emptySpaceItem1.Location = new Point(0, 453);
-            emptySpaceItem1.Name = "emptySpaceItem1";
-            emptySpaceItem1.Size = new Size(540, 31);
-            emptySpaceItem1.TextSize = new Size(0, 0);
-            // 
-            // layoutControlItem4
-            // 
-            layoutControlItem4.AllowHtmlStringInCaption = true;
-            layoutControlItem4.Control = textEditName;
-            layoutControlItem4.Location = new Point(0, 0);
-            layoutControlItem4.Name = "layoutControlItem4";
-            layoutControlItem4.Size = new Size(748, 28);
-            layoutControlItem4.Text = "<color=red>*</color>鍣ㄥ叿鍚嶇О:";
-            layoutControlItem4.TextSize = new Size(73, 18);
+            layoutControlItem2.Size = new Size(525, 28);
+            layoutControlItem2.Text = "鍣ㄥ叿鏁伴噺:";
+            layoutControlItem2.TextSize = new Size(95, 18);
             // 
             // layoutControlItem3
             // 
-            layoutControlItem3.Control = gridControl1;
-            layoutControlItem3.Location = new Point(0, 28);
+            layoutControlItem3.Control = textEditFlow;
+            layoutControlItem3.Location = new Point(0, 56);
             layoutControlItem3.Name = "layoutControlItem3";
-            layoutControlItem3.Size = new Size(748, 425);
-            layoutControlItem3.TextSize = new Size(0, 0);
-            layoutControlItem3.TextVisible = false;
+            layoutControlItem3.Size = new Size(525, 28);
+            layoutControlItem3.Text = "棰濆畾娴侀噺:";
+            layoutControlItem3.TextSize = new Size(95, 18);
             // 
-            // dxErrorProvider1
+            // layoutControlItem4
             // 
-            dxErrorProvider1.ContainerControl = this;
+            layoutControlItem4.Control = textEditMinFlow;
+            layoutControlItem4.Location = new Point(0, 84);
+            layoutControlItem4.Name = "layoutControlItem4";
+            layoutControlItem4.Size = new Size(525, 28);
+            layoutControlItem4.Text = "鏈�灏忛瀹氭祦閲�:";
+            layoutControlItem4.TextSize = new Size(95, 18);
             // 
+            // layoutControlItem5
+            // 
+            layoutControlItem5.Control = memoEditDescription;
+            layoutControlItem5.Location = new Point(0, 112);
+            layoutControlItem5.Name = "layoutControlItem5";
+            layoutControlItem5.Size = new Size(525, 117);
+            layoutControlItem5.Text = "璇存槑锛�";
+            layoutControlItem5.TextSize = new Size(95, 18);
+            // 
+            // layoutControlItem6
+            // 
+            layoutControlItem6.Control = generalOkAndCancelCtrl1;
+            layoutControlItem6.Location = new Point(0, 229);
+            layoutControlItem6.Name = "layoutControlItem6";
+            layoutControlItem6.Size = new Size(525, 42);
+            layoutControlItem6.TextSize = new Size(0, 0);
+            layoutControlItem6.TextVisible = false;
             // 
             // EditWaterWEDlg
             // 
             AutoScaleDimensions = new SizeF(8F, 18F);
             AutoScaleMode = AutoScaleMode.Font;
-            ClientSize = new Size(768, 504);
-            Controls.Add(dataLayoutControl1);
-            Margin = new Padding(3, 4, 3, 4);
+            ClientSize = new Size(545, 291);
+            Controls.Add(layoutControl1);
             Name = "EditWaterWEDlg";
-            StartPosition = FormStartPosition.CenterParent;
-            Text = "璁剧疆";
-            ((ISupportInitialize)dataLayoutControl1).EndInit();
-            dataLayoutControl1.ResumeLayout(false);
-            ((ISupportInitialize)gridControl1).EndInit();
-            ((ISupportInitialize)itemViewModelBindingSource).EndInit();
-            ((ISupportInitialize)gridView1).EndInit();
-            ((ISupportInitialize)repositoryItemTreeListLookUpEdit1).EndInit();
-            ((ISupportInitialize)treeList1).EndInit();
-            ((ISupportInitialize)repositoryItemButtonEdit1).EndInit();
-            ((ISupportInitialize)textEditName.Properties).EndInit();
-            ((ISupportInitialize)Root).EndInit();
-            ((ISupportInitialize)layoutControlGroup1).EndInit();
-            ((ISupportInitialize)layoutControlItem1).EndInit();
-            ((ISupportInitialize)layoutControlItem2).EndInit();
-            ((ISupportInitialize)emptySpaceItem1).EndInit();
-            ((ISupportInitialize)layoutControlItem4).EndInit();
-            ((ISupportInitialize)layoutControlItem3).EndInit();
-            ((ISupportInitialize)dxErrorProvider1).EndInit();
+            StartPosition = FormStartPosition.CenterScreen;
+            Text = "缂栬緫";
+            ((System.ComponentModel.ISupportInitialize)layoutControl1).EndInit();
+            layoutControl1.ResumeLayout(false);
+            ((System.ComponentModel.ISupportInitialize)textEditName.Properties).EndInit();
+            ((System.ComponentModel.ISupportInitialize)treeListLookUpEdit1TreeList).EndInit();
+            ((System.ComponentModel.ISupportInitialize)textEditCount.Properties).EndInit();
+            ((System.ComponentModel.ISupportInitialize)textEditFlow.Properties).EndInit();
+            ((System.ComponentModel.ISupportInitialize)textEditMinFlow.Properties).EndInit();
+            ((System.ComponentModel.ISupportInitialize)memoEditDescription.Properties).EndInit();
+            ((System.ComponentModel.ISupportInitialize)Root).EndInit();
+            ((System.ComponentModel.ISupportInitialize)layoutControlItem1).EndInit();
+            ((System.ComponentModel.ISupportInitialize)layoutControlItem2).EndInit();
+            ((System.ComponentModel.ISupportInitialize)layoutControlItem3).EndInit();
+            ((System.ComponentModel.ISupportInitialize)layoutControlItem4).EndInit();
+            ((System.ComponentModel.ISupportInitialize)layoutControlItem5).EndInit();
+            ((System.ComponentModel.ISupportInitialize)layoutControlItem6).EndInit();
             ResumeLayout(false);
         }
 
         #endregion
 
-        private DevExpress.XtraDataLayout.DataLayoutControl dataLayoutControl1;
-        private DevExpress.XtraEditors.SimpleButton btnOk;
-        private DevExpress.XtraEditors.SimpleButton btnCancel;
+        private DevExpress.XtraLayout.LayoutControl layoutControl1;
+        private DevExpress.XtraEditors.TreeListLookUpEdit textEditName;
+        private DevExpress.XtraTreeList.TreeList treeListLookUpEdit1TreeList;
+        private DevExpress.XtraEditors.TextEdit textEditCount;
+        private DevExpress.XtraEditors.TextEdit textEditFlow;
+        private DevExpress.XtraEditors.TextEdit textEditMinFlow;
+        private DevExpress.XtraEditors.MemoEdit memoEditDescription;
         private DevExpress.XtraLayout.LayoutControlGroup Root;
-        private DevExpress.XtraLayout.LayoutControlGroup layoutControlGroup1;
         private DevExpress.XtraLayout.LayoutControlItem layoutControlItem1;
         private DevExpress.XtraLayout.LayoutControlItem layoutControlItem2;
-        private DevExpress.XtraLayout.EmptySpaceItem emptySpaceItem1;
-        private DevExpress.XtraEditors.DXErrorProvider.DXErrorProvider dxErrorProvider1;
-        private DevExpress.XtraLayout.LayoutControlItem layoutControlItem4;
-        private DevExpress.XtraGrid.GridControl gridControl1;
-        private DevExpress.XtraGrid.Views.Grid.GridView gridView1;
-        private DevExpress.XtraGrid.Columns.GridColumn gridColumn2;
-        private DevExpress.XtraGrid.Columns.GridColumn gridColumn1;
-        private DevExpress.XtraGrid.Columns.GridColumn colPumpID;
-        private DevExpress.XtraEditors.Repository.RepositoryItemTreeListLookUpEdit repositoryItemTreeListLookUpEdit1;
-        private DevExpress.XtraTreeList.TreeList treeList1;
-        private DevExpress.XtraTreeList.Columns.TreeListColumn treeListColumn1;
-        private DevExpress.XtraGrid.Columns.GridColumn colUserCount;
-        private DevExpress.XtraGrid.Columns.GridColumn ColDelete;
-        private DevExpress.XtraEditors.Repository.RepositoryItemButtonEdit repositoryItemButtonEdit1;
         private DevExpress.XtraLayout.LayoutControlItem layoutControlItem3;
-        private TextEdit textEditName;
-        private BindingSource itemViewModelBindingSource;
+        private DevExpress.XtraLayout.LayoutControlItem layoutControlItem4;
+        private DevExpress.XtraLayout.LayoutControlItem layoutControlItem5;
+        private Yw.WinFrmUI.GeneralOkAndCancelCtrl generalOkAndCancelCtrl1;
+        private DevExpress.XtraLayout.LayoutControlItem layoutControlItem6;
+        private DevExpress.XtraTreeList.Columns.TreeListColumn 鍚嶇О;
     }
 }
\ No newline at end of file
diff --git a/WinFrmUI/PBS.WinFrmUI.WE/WaterWE/EditWaterWEDlg.resx b/WinFrmUI/PBS.WinFrmUI.WE/WaterWE/EditWaterWEDlg.resx
index 8c0eaef..8b2ff64 100644
--- a/WinFrmUI/PBS.WinFrmUI.WE/WaterWE/EditWaterWEDlg.resx
+++ b/WinFrmUI/PBS.WinFrmUI.WE/WaterWE/EditWaterWEDlg.resx
@@ -117,32 +117,4 @@
   <resheader name="writer">
     <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
   </resheader>
-  <metadata name="itemViewModelBindingSource.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
-    <value>172, 17</value>
-  </metadata>
-  <assembly alias="DevExpress.Data.v23.2" name="DevExpress.Data.v23.2, Culture=neutral, PublicKeyToken=b88d1754d700e49a" />
-  <data name="editorButtonImageOptions1.SvgImage" type="DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v23.2" mimetype="application/x-microsoft.net.object.bytearray.base64">
-    <value>
-        AAEAAAD/////AQAAAAAAAAAMAgAAAFlEZXZFeHByZXNzLkRhdGEudjIzLjIsIFZlcnNpb249MjMuMi40
-        LjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjg4ZDE3NTRkNzAwZTQ5YQUBAAAAHURl
-        dkV4cHJlc3MuVXRpbHMuU3ZnLlN2Z0ltYWdlAQAAAAREYXRhBwICAAAACQMAAAAPAwAAAD0DAAAC77u/
-        PD94bWwgdmVyc2lvbj0nMS4wJyBlbmNvZGluZz0nVVRGLTgnPz4NCjxzdmcgeD0iMHB4IiB5PSIwcHgi
-        IHZpZXdCb3g9IjAgMCAzMiAzMiIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcv
-        MjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB4bWw6c3Bh
-        Y2U9InByZXNlcnZlIiBpZD0iTGF5ZXJfMSIgc3R5bGU9ImVuYWJsZS1iYWNrZ3JvdW5kOm5ldyAwIDAg
-        MzIgMzIiPg0KICA8c3R5bGUgdHlwZT0idGV4dC9jc3MiPgoJLlJlZHtmaWxsOiNEMTFDMUM7fQoJLkJs
-        YWNre2ZpbGw6IzcyNzI3Mjt9CgkuQmx1ZXtmaWxsOiMxMTc3RDc7fQoJLkdyZWVue2ZpbGw6IzAzOUMy
-        Mzt9CgkuWWVsbG93e2ZpbGw6I0ZGQjExNTt9CgkuV2hpdGV7ZmlsbDojRkZGRkZGO30KCS5zdDB7b3Bh
-        Y2l0eTowLjU7fQoJLnN0MXtvcGFjaXR5OjAuNzU7fQo8L3N0eWxlPg0KICA8ZyBpZD0iRGVsZXRlIj4N
-        CiAgICA8Zz4NCiAgICAgIDxwYXRoIGQ9Ik0xOC44LDE2bDYuOS02LjljMC40LTAuNCwwLjQtMSwwLTEu
-        NGwtMS40LTEuNGMtMC40LTAuNC0xLTAuNC0xLjQsMEwxNiwxMy4yTDkuMSw2LjNjLTAuNC0wLjQtMS0w
-        LjQtMS40LDAgICAgTDYuMyw3LjdjLTAuNCwwLjQtMC40LDEsMCwxLjRsNi45LDYuOWwtNi45LDYuOWMt
-        MC40LDAuNC0wLjQsMSwwLDEuNGwxLjQsMS40YzAuNCwwLjQsMSwwLjQsMS40LDBsNi45LTYuOWw2Ljks
-        Ni45ICAgIGMwLjQsMC40LDEsMC40LDEuNCwwbDEuNC0xLjRjMC40LTAuNCwwLjQtMSwwLTEuNEwxOC44
-        LDE2eiIgY2xhc3M9IlJlZCIgLz4NCiAgICA8L2c+DQogIDwvZz4NCjwvc3ZnPgs=
-</value>
-  </data>
-  <metadata name="dxErrorProvider1.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/PBS.WinFrmUI.WE/WaterWE/ItemViewModel.cs b/WinFrmUI/PBS.WinFrmUI.WE/WaterWE/ItemViewModel.cs
index f54869b..b6c7dad 100644
--- a/WinFrmUI/PBS.WinFrmUI.WE/WaterWE/ItemViewModel.cs
+++ b/WinFrmUI/PBS.WinFrmUI.WE/WaterWE/ItemViewModel.cs
@@ -17,7 +17,8 @@
             this.RatedFlow = mapping.RatedFlow;
             this.MinRatedFlow = mapping.MinRatedFlow;
             this.UtensilCount = mapping.UtensilCount;
-            this.Description = rhs.Description;
+            this.Description = mapping.Description;
+            this.utensilMappingVmo = mapping;
         }
 
         public void Reset(PBS.Vmo.WE.ItemVmo rhs, PBS.Vmo.WE.UtensilMappingVmo mapping, string utensilName)
@@ -30,6 +31,18 @@
             this.MinRatedFlow = mapping.MinRatedFlow;
             this.UtensilCount = mapping.UtensilCount;
             this.Description = rhs.Description;
+            this.utensilMappingVmo = mapping;
+        }
+
+        public void Reset(PBS.Vmo.WE.UtensilMappingVmo mapping,string utensilName)
+        {
+            this.UtensilName = utensilName;
+            this.UtensilID = mapping.UtensilID;
+            this.RatedFlow = mapping.RatedFlow;
+            this.MinRatedFlow = mapping.MinRatedFlow;
+            this.UtensilCount = mapping.UtensilCount;
+            this.Description = mapping.Description;
+            this.utensilMappingVmo = mapping;
         }
 
         [DisplayName("ID")]
@@ -84,5 +97,7 @@
         [DisplayName("璇存槑")]
         [Browsable(true)]
         public string Description { get; set; }
+
+        public PBS.Vmo.WE.UtensilMappingVmo utensilMappingVmo { get; set; }
     }
 }
\ No newline at end of file
diff --git a/WinFrmUI/PBS.WinFrmUI.WE/WaterWE/WaterEquivalentMgr.cs b/WinFrmUI/PBS.WinFrmUI.WE/WaterWE/WaterEquivalentMgr.cs
index f0be575..d33d253 100644
--- a/WinFrmUI/PBS.WinFrmUI.WE/WaterWE/WaterEquivalentMgr.cs
+++ b/WinFrmUI/PBS.WinFrmUI.WE/WaterWE/WaterEquivalentMgr.cs
@@ -82,7 +82,7 @@
 
         #endregion 浜嬩欢
 
-        //璁剧疆
+        //鏂板
         private async void barBtnEdit_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e)
         {
             if (!this.catalogueCtrl1.IsLeafNode())
@@ -96,18 +96,17 @@
                 MessageBoxHelper.ShowWarning("璇烽�夋嫨鏁版嵁琛�!");
                 return;
             }
-            var dlg = new EditWaterWEDlg();
+            var dlg = new AddWaterWEDlg();
             var model = await new PBS.BLL.WE.CatalogueMapping().GetByCatalogueID(catalogueID);
             PBS.Vmo.WE.ItemVmo itemVmo = null;
-            if (model != null)
+            if (model != null && model.Count >= 1)
             {
-                //itemVmo = await new PBS.BLL.WE.Item().GetByID(model);
+                itemVmo = await new PBS.BLL.WE.Item().GetByID(model.First().ItemID);
             }
             dlg.SetBindingData(itemVmo, catalogueID);
             dlg.ReloadDataEvent += async (item, catalogue, mappingList) =>
             {
-                //鐜板湪榛樿鍙兘澧炲姞锛屼笉鑳界紪杈�
-                if (itemVmo == null)
+                if (item == null)
                 {
                     var id = await _bll.Insert(item);
                     if (id > 0)
@@ -137,32 +136,54 @@
                 }
                 else
                 {
-                    var bol = await _bll.Update(item);
-                    if (bol)
+                    mappingList.ForEach(x => x.ItemID = item.ID);
+                    var mappingBol = await new PBS.BLL.WE.UtensilMapping().Inserts(mappingList);
+                    if (mappingBol)
                     {
-                        var del = await new PBS.BLL.WE.UtensilMapping().DeleteAllByItemID(item.ID);
-                        if (del)
+                        var utensilList = await new PBS.BLL.WE.UtensilMapping().GetByItemID(item.ID);
+                        // _allBindingList.Clear();
+                        foreach (var mapping in utensilList)
                         {
-                            mappingList.ForEach(x => x.ItemID = item.ID);
-                            var mappingBol = await new PBS.BLL.WE.UtensilMapping().Inserts(mappingList);
-                            if (mappingBol)
+                            var existingItem = _allBindingList.Find(x => x.utensilMappingVmo.ID == mapping.ID);
+                            if (existingItem == null)
                             {
-                                _allBindingList.Clear();
-                                foreach (var mapping in mappingList)
-                                {
-                                    var utensil = await new PBS.BLL.WE.Utensil().GetByID(mapping.UtensilID);
-                                    _allBindingList.Add(new ItemViewModel(item, mapping, utensil.Name));
-                                }
-                                this.itemViewModelBindingSource.ResetBindings(false);
-                                return true;
+                                var utensil = await new PBS.BLL.WE.Utensil().GetByID(mapping.UtensilID);
+                                _allBindingList.Add(new ItemViewModel(item, mapping, utensil.Name));
                             }
-                            return false;
                         }
+                        this.itemViewModelBindingSource.ResetBindings(false);
+                        return true;
                     }
                     return false;
                 }
             };
 
+            dlg.ShowDialog();
+        }
+
+        //缂栬緫
+        private void BtnEdit_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e)
+        {
+            var vm = this.gridView1.GetCurrentViewModel(_allBindingList);
+            if (vm == null)
+            {
+                TipFormHelper.ShowWarn("璇烽�夋嫨鏁版嵁琛�!");
+                return;
+            }
+            var dlg = new EditWaterWEDlg();
+            dlg.SetBindingData(vm.utensilMappingVmo);
+            dlg.ReloadDataEvent += async (vmo) =>
+            {
+                var bol = await new BLL.WE.UtensilMapping().Update(vmo);
+                if (bol)
+                {
+                    var utensil = await new PBS.BLL.WE.Utensil().GetByID(vmo.UtensilID);
+                    vm.Reset(vmo, utensil.Name);
+                    return true;
+                };
+
+                return false;
+            };
             dlg.ShowDialog();
         }
 
@@ -172,33 +193,20 @@
             var vm = this.gridView1.GetCurrentViewModel(_allBindingList);
             if (vm == null)
             {
-                MessageBoxHelper.ShowWarning("璇烽�夋嫨鏁版嵁琛�!");
+                TipFormHelper.ShowWarn("璇烽�夋嫨鏁版嵁琛�!");
                 return;
             }
             if (MessageBoxHelper.IsClickOk($"纭鍒犻櫎鏁版嵁琛�?"))
                 return;
-            if (await _bll.DeleteByID(vm.ID))
+            if (await new BLL.WE.UtensilMapping().DeleteByID(vm.utensilMappingVmo.ID))
             {
-                MessageBoxHelper.ShowSuccess("鍒犻櫎鎴愬姛!");
+                TipFormHelper.ShowSucceed("鍒犻櫎鎴愬姛!");
 
-                // 鍏堣褰曡鍒犻櫎鐨勫厓绱�
-                var itemsToRemove = new List<ItemViewModel>();
-                foreach (var item in _allBindingList)
-                {
-                    if (item.Name == vm.Name)
-                    {
-                        itemsToRemove.Add(item);
-                    }
-                }
+                _allBindingList.Remove(vm);
 
-                // 缁熶竴鍒犻櫎璁板綍鐨勫厓绱�
-                foreach (var item in itemsToRemove)
-                {
-                    _allBindingList.Remove(item);
-                }
                 this.itemViewModelBindingSource.ResetBindings(false);
             }
-            else MessageBoxHelper.ShowError($"鍒犻櫎澶辫触!");
+            else TipFormHelper.ShowSucceed($"鍒犻櫎澶辫触!");
         }
 
         //璇︾粏淇℃伅
@@ -211,7 +219,7 @@
                 return;
             }
 
-            var dlg = new EditWaterWEDlg();
+            var dlg = new AddWaterWEDlg();
             dlg.SetInfoDisplay(vm);
             dlg.ShowDialog();
         }
diff --git a/WinFrmUI/PBS.WinFrmUI.WE/WaterWE/WaterEquivalentMgr.designer.cs b/WinFrmUI/PBS.WinFrmUI.WE/WaterWE/WaterEquivalentMgr.designer.cs
index 0c27e7f..b2752cc 100644
--- a/WinFrmUI/PBS.WinFrmUI.WE/WaterWE/WaterEquivalentMgr.designer.cs
+++ b/WinFrmUI/PBS.WinFrmUI.WE/WaterWE/WaterEquivalentMgr.designer.cs
@@ -46,17 +46,16 @@
             ribbonControl1 = new DevExpress.XtraBars.Ribbon.RibbonControl();
             barBtnRefresh = new DevExpress.XtraBars.BarButtonItem();
             barCekSearch = new DevExpress.XtraBars.BarCheckItem();
-            barBtnSetting = new DevExpress.XtraBars.BarButtonItem();
+            BtnAdd = new DevExpress.XtraBars.BarButtonItem();
             BtnDelete = new DevExpress.XtraBars.BarButtonItem();
             BtnInfo = new DevExpress.XtraBars.BarButtonItem();
+            BtnEdit = new DevExpress.XtraBars.BarButtonItem();
             ribbonPage = new DevExpress.XtraBars.Ribbon.RibbonPage();
             ribbonPageGroup1 = new DevExpress.XtraBars.Ribbon.RibbonPageGroup();
             dockManager1 = new DevExpress.XtraBars.Docking.DockManager(components);
             dockPanel1 = new DevExpress.XtraBars.Docking.DockPanel();
             dockPanel1_Container = new DevExpress.XtraBars.Docking.ControlContainer();
             catalogueCtrl1 = new CatalogueCtrl();
-            barBtnEdit = new DevExpress.XtraBars.BarButtonItem();
-            barBtnAdd = new DevExpress.XtraBars.BarButtonItem();
             barBtnSave = new DevExpress.XtraBars.BarButtonItem();
             ((ISupportInitialize)gridControl1).BeginInit();
             ((ISupportInitialize)itemViewModelBindingSource).BeginInit();
@@ -101,8 +100,6 @@
             colName.FieldName = "Name";
             colName.MinWidth = 23;
             colName.Name = "colName";
-            colName.Visible = true;
-            colName.VisibleIndex = 0;
             colName.Width = 86;
             // 
             // colUtensilName
@@ -111,7 +108,7 @@
             colUtensilName.MinWidth = 23;
             colUtensilName.Name = "colUtensilName";
             colUtensilName.Visible = true;
-            colUtensilName.VisibleIndex = 1;
+            colUtensilName.VisibleIndex = 0;
             colUtensilName.Width = 86;
             // 
             // colUtensilCount
@@ -120,7 +117,7 @@
             colUtensilCount.MinWidth = 23;
             colUtensilCount.Name = "colUtensilCount";
             colUtensilCount.Visible = true;
-            colUtensilCount.VisibleIndex = 2;
+            colUtensilCount.VisibleIndex = 1;
             colUtensilCount.Width = 86;
             // 
             // colRatedFlow
@@ -129,7 +126,7 @@
             colRatedFlow.MinWidth = 23;
             colRatedFlow.Name = "colRatedFlow";
             colRatedFlow.Visible = true;
-            colRatedFlow.VisibleIndex = 3;
+            colRatedFlow.VisibleIndex = 2;
             colRatedFlow.Width = 86;
             // 
             // colMinRatedFlow
@@ -138,7 +135,7 @@
             colMinRatedFlow.MinWidth = 23;
             colMinRatedFlow.Name = "colMinRatedFlow";
             colMinRatedFlow.Visible = true;
-            colMinRatedFlow.VisibleIndex = 4;
+            colMinRatedFlow.VisibleIndex = 3;
             colMinRatedFlow.Width = 86;
             // 
             // colDescription
@@ -147,7 +144,7 @@
             colDescription.MinWidth = 23;
             colDescription.Name = "colDescription";
             colDescription.Visible = true;
-            colDescription.VisibleIndex = 5;
+            colDescription.VisibleIndex = 4;
             colDescription.Width = 86;
             // 
             // ribbonControl1
@@ -156,10 +153,10 @@
             ribbonControl1.EmptyAreaImageOptions.ImagePadding = new Padding(34, 39, 34, 39);
             ribbonControl1.ExpandCollapseItem.Id = 0;
             ribbonControl1.ItemPanelStyle = DevExpress.XtraBars.Ribbon.RibbonItemPanelStyle.Classic;
-            ribbonControl1.Items.AddRange(new DevExpress.XtraBars.BarItem[] { ribbonControl1.ExpandCollapseItem, barBtnRefresh, barCekSearch, barBtnSetting, BtnDelete, BtnInfo });
+            ribbonControl1.Items.AddRange(new DevExpress.XtraBars.BarItem[] { ribbonControl1.ExpandCollapseItem, barBtnRefresh, barCekSearch, BtnAdd, BtnDelete, BtnInfo, BtnEdit });
             ribbonControl1.Location = new Point(0, 0);
             ribbonControl1.Margin = new Padding(3, 4, 3, 4);
-            ribbonControl1.MaxItemId = 33;
+            ribbonControl1.MaxItemId = 34;
             ribbonControl1.Name = "ribbonControl1";
             ribbonControl1.OptionsMenuMinWidth = 377;
             ribbonControl1.Pages.AddRange(new DevExpress.XtraBars.Ribbon.RibbonPage[] { ribbonPage });
@@ -185,13 +182,13 @@
             barCekSearch.Name = "barCekSearch";
             barCekSearch.CheckedChanged += barCekSearch_CheckedChanged;
             // 
-            // barBtnSetting
+            // BtnAdd
             // 
-            barBtnSetting.Caption = "璁剧疆";
-            barBtnSetting.Id = 29;
-            barBtnSetting.ImageOptions.SvgImage = (DevExpress.Utils.Svg.SvgImage)resources.GetObject("barBtnSetting.ImageOptions.SvgImage");
-            barBtnSetting.Name = "barBtnSetting";
-            barBtnSetting.ItemClick += barBtnEdit_ItemClick;
+            BtnAdd.Caption = "娣诲姞";
+            BtnAdd.Id = 29;
+            BtnAdd.ImageOptions.SvgImage = (DevExpress.Utils.Svg.SvgImage)resources.GetObject("BtnAdd.ImageOptions.SvgImage");
+            BtnAdd.Name = "BtnAdd";
+            BtnAdd.ItemClick += barBtnEdit_ItemClick;
             // 
             // BtnDelete
             // 
@@ -210,6 +207,14 @@
             BtnInfo.Visibility = DevExpress.XtraBars.BarItemVisibility.Never;
             BtnInfo.ItemClick += BtnInfo_ItemClick;
             // 
+            // BtnEdit
+            // 
+            BtnEdit.Caption = "缂栬緫";
+            BtnEdit.Id = 33;
+            BtnEdit.ImageOptions.SvgImage = (DevExpress.Utils.Svg.SvgImage)resources.GetObject("BtnEdit.ImageOptions.SvgImage");
+            BtnEdit.Name = "BtnEdit";
+            BtnEdit.ItemClick += BtnEdit_ItemClick;
+            // 
             // ribbonPage
             // 
             ribbonPage.Groups.AddRange(new DevExpress.XtraBars.Ribbon.RibbonPageGroup[] { ribbonPageGroup1 });
@@ -218,10 +223,11 @@
             // 
             // ribbonPageGroup1
             // 
-            ribbonPageGroup1.ItemLinks.Add(barBtnSetting);
+            ribbonPageGroup1.ItemLinks.Add(BtnAdd);
+            ribbonPageGroup1.ItemLinks.Add(BtnEdit);
+            ribbonPageGroup1.ItemLinks.Add(BtnDelete);
             ribbonPageGroup1.ItemLinks.Add(barCekSearch);
             ribbonPageGroup1.ItemLinks.Add(barBtnRefresh);
-            ribbonPageGroup1.ItemLinks.Add(BtnDelete);
             ribbonPageGroup1.ItemLinks.Add(BtnInfo);
             ribbonPageGroup1.Name = "ribbonPageGroup1";
             ribbonPageGroup1.Text = "鍩虹";
@@ -265,21 +271,6 @@
             catalogueCtrl1.Name = "catalogueCtrl1";
             catalogueCtrl1.Size = new Size(199, 720);
             catalogueCtrl1.TabIndex = 0;
-            // 
-            // barBtnEdit
-            // 
-            barBtnEdit.Caption = "淇敼";
-            barBtnEdit.Id = 27;
-            barBtnEdit.ImageOptions.SvgImage = (DevExpress.Utils.Svg.SvgImage)resources.GetObject("barBtnEdit.ImageOptions.SvgImage");
-            barBtnEdit.Name = "barBtnEdit";
-            barBtnEdit.ItemClick += barBtnEdit_ItemClick;
-            // 
-            // barBtnAdd
-            // 
-            barBtnAdd.Caption = "娣诲姞";
-            barBtnAdd.Id = 26;
-            barBtnAdd.ImageOptions.SvgImage = (DevExpress.Utils.Svg.SvgImage)resources.GetObject("barBtnAdd.ImageOptions.SvgImage");
-            barBtnAdd.Name = "barBtnAdd";
             // 
             // barBtnSave
             // 
@@ -331,11 +322,10 @@
         private DevExpress.XtraGrid.Columns.GridColumn colRatedFlow;
         private DevExpress.XtraGrid.Columns.GridColumn colMinRatedFlow;
         private DevExpress.XtraGrid.Columns.GridColumn colDescription;
-        private DevExpress.XtraBars.BarButtonItem barBtnSetting;
-        private DevExpress.XtraBars.BarButtonItem barBtnEdit;
-        private DevExpress.XtraBars.BarButtonItem barBtnAdd;
-        private DevExpress.XtraBars.BarButtonItem barBtnSave;
+        private DevExpress.XtraBars.BarButtonItem BtnAdd;
+          private DevExpress.XtraBars.BarButtonItem barBtnSave;
         private DevExpress.XtraBars.BarButtonItem BtnDelete;
         private DevExpress.XtraBars.BarButtonItem BtnInfo;
+        private DevExpress.XtraBars.BarButtonItem BtnEdit;
     }
 }
diff --git a/WinFrmUI/PBS.WinFrmUI.WE/WaterWE/WaterEquivalentMgr.resx b/WinFrmUI/PBS.WinFrmUI.WE/WaterWE/WaterEquivalentMgr.resx
index c48d1db..233d1c3 100644
--- a/WinFrmUI/PBS.WinFrmUI.WE/WaterWE/WaterEquivalentMgr.resx
+++ b/WinFrmUI/PBS.WinFrmUI.WE/WaterWE/WaterEquivalentMgr.resx
@@ -168,30 +168,23 @@
         QmxhY2siIC8+DQogIDwvZz4NCjwvc3ZnPgs=
 </value>
   </data>
-  <data name="barBtnSetting.ImageOptions.SvgImage" type="DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v23.2" mimetype="application/x-microsoft.net.object.bytearray.base64">
+  <data name="BtnAdd.ImageOptions.SvgImage" type="DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v23.2" mimetype="application/x-microsoft.net.object.bytearray.base64">
     <value>
         AAEAAAD/////AQAAAAAAAAAMAgAAAFlEZXZFeHByZXNzLkRhdGEudjIzLjIsIFZlcnNpb249MjMuMi40
         LjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjg4ZDE3NTRkNzAwZTQ5YQUBAAAAHURl
-        dkV4cHJlc3MuVXRpbHMuU3ZnLlN2Z0ltYWdlAQAAAAREYXRhBwICAAAACQMAAAAPAwAAAFkEAAAC77u/
+        dkV4cHJlc3MuVXRpbHMuU3ZnLlN2Z0ltYWdlAQAAAAREYXRhBwICAAAACQMAAAAPAwAAAKcCAAAC77u/
         PD94bWwgdmVyc2lvbj0nMS4wJyBlbmNvZGluZz0nVVRGLTgnPz4NCjxzdmcgeD0iMHB4IiB5PSIwcHgi
         IHZpZXdCb3g9IjAgMCAzMiAzMiIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcv
         MjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB4bWw6c3Bh
-        Y2U9InByZXNlcnZlIiBpZD0iUGl2b3RfVGFibGVfT3B0aW9ucyIgc3R5bGU9ImVuYWJsZS1iYWNrZ3Jv
-        dW5kOm5ldyAwIDAgMzIgMzIiPg0KICA8c3R5bGUgdHlwZT0idGV4dC9jc3MiPgoJLkJsdWV7ZmlsbDoj
-        MTE3N0Q3O30KCS5CbGFja3tmaWxsOiM3MjcyNzI7fQoJLnN0MHtvcGFjaXR5OjAuNTt9Cjwvc3R5bGU+
-        DQogIDxnIGNsYXNzPSJzdDAiPg0KICAgIDxwYXRoIGQ9Ik0xMCwxMEg2VjZoNFYxMHogTTI0LDZIMTJ2
-        NGgxMlY2eiBNMTAsMTJINnYxMmg0VjEyeiIgY2xhc3M9IkJsdWUiIC8+DQogIDwvZz4NCiAgPHBhdGgg
-        ZD0iTTE2LDI2SDRWNGgyMnYxMmMwLjcsMC4yLDEuNCwwLjUsMiwwLjhWM2MwLTAuNi0wLjQtMS0xLTFI
-        M0MyLjQsMiwyLDIuNCwyLDN2MjRjMCwwLjYsMC40LDEsMSwxaDEzLjggIEMxNi41LDI3LjQsMTYuMiwy
-        Ni43LDE2LDI2eiIgY2xhc3M9IkJsYWNrIiAvPg0KICA8cGF0aCBkPSJNMzIsMjV2LTJsLTIuMi0wLjRj
-        LTAuMi0wLjYtMC40LTEuMy0wLjgtMS44bDEuMy0xLjhsLTEuNC0xLjRsLTEuOCwxLjNjLTAuNS0wLjMt
-        MS4yLTAuNi0xLjgtMC43TDI1LDE2aC0yICBsLTAuNCwyLjJjLTAuNiwwLjItMS4zLDAuNC0xLjgsMC43
-        bC0xLjgtMS4zbC0xLjQsMS40bDEuMywxLjhjLTAuMywwLjUtMC42LDEuMi0wLjgsMS44TDE2LDIzdjJs
-        Mi4yLDAuNGMwLjIsMC42LDAuNCwxLjMsMC44LDEuOCAgbC0xLjMsMS44bDEuNCwxLjRsMS44LTEuM2Mw
-        LjUsMC4zLDEuMiwwLjYsMS44LDAuN0wyMywzMmgybDAuNC0yLjJjMC42LTAuMiwxLjMtMC40LDEuOC0w
-        LjdsMS44LDEuM2wxLjQtMS40bC0xLjMtMS44ICBjMC4zLTAuNSwwLjYtMS4yLDAuOC0xLjhMMzIsMjV6
-        IE0yNCwyNmMtMS4xLDAtMi0wLjktMi0yczAuOS0yLDItMmMxLjEsMCwyLDAuOSwyLDJTMjUuMSwyNiwy
-        NCwyNnoiIGNsYXNzPSJCbHVlIiAvPg0KPC9zdmc+Cw==
+        Y2U9InByZXNlcnZlIiBpZD0iTGF5ZXJfMSIgc3R5bGU9ImVuYWJsZS1iYWNrZ3JvdW5kOm5ldyAwIDAg
+        MzIgMzIiPg0KICA8c3R5bGUgdHlwZT0idGV4dC9jc3MiPgoJLkJsdWV7ZmlsbDojMTE3N0Q3O30KCS5Z
+        ZWxsb3d7ZmlsbDojRkZCMTE1O30KCS5CbGFja3tmaWxsOiM3MjcyNzI7fQoJLkdyZWVue2ZpbGw6IzAz
+        OUMyMzt9CgkuUmVke2ZpbGw6I0QxMUMxQzt9Cgkuc3Qwe29wYWNpdHk6MC43NTt9Cgkuc3Qxe29wYWNp
+        dHk6MC41O30KPC9zdHlsZT4NCiAgPGcgaWQ9IkFkZCI+DQogICAgPHBhdGggZD0iTTI3LDE0aC05VjVj
+        MC0wLjUtMC41LTEtMS0xaC0yYy0wLjUsMC0xLDAuNS0xLDF2OUg1Yy0wLjUsMC0xLDAuNS0xLDF2MmMw
+        LDAuNSwwLjUsMSwxLDFoOXY5ICAgYzAsMC41LDAuNSwxLDEsMWgyYzAuNSwwLDEtMC41LDEtMXYtOWg5
+        YzAuNSwwLDEtMC41LDEtMXYtMkMyOCwxNC41LDI3LjUsMTQsMjcsMTR6IiBjbGFzcz0iR3JlZW4iIC8+
+        DQogIDwvZz4NCjwvc3ZnPgs=
 </value>
   </data>
   <data name="BtnDelete.ImageOptions.SvgImage" type="DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v23.2" mimetype="application/x-microsoft.net.object.bytearray.base64">
@@ -238,13 +231,7 @@
         PC9nPg0KPC9zdmc+Cw==
 </value>
   </data>
-  <metadata name="dockManager1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
-    <value>17, 17</value>
-  </metadata>
-  <metadata name="$this.TrayHeight" type="System.Int32, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
-    <value>75</value>
-  </metadata>
-  <data name="barBtnEdit.ImageOptions.SvgImage" type="DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v23.2" mimetype="application/x-microsoft.net.object.bytearray.base64">
+  <data name="BtnEdit.ImageOptions.SvgImage" type="DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v23.2" mimetype="application/x-microsoft.net.object.bytearray.base64">
     <value>
         AAEAAAD/////AQAAAAAAAAAMAgAAAFlEZXZFeHByZXNzLkRhdGEudjIzLjIsIFZlcnNpb249MjMuMi40
         LjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjg4ZDE3NTRkNzAwZTQ5YQUBAAAAHURl
@@ -273,25 +260,12 @@
         NHY0aDRMMTQsMjR6IiBjbGFzcz0iQmx1ZSIgLz4NCiAgPC9nPg0KPC9zdmc+Cw==
 </value>
   </data>
-  <data name="barBtnAdd.ImageOptions.SvgImage" type="DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v23.2" mimetype="application/x-microsoft.net.object.bytearray.base64">
-    <value>
-        AAEAAAD/////AQAAAAAAAAAMAgAAAFlEZXZFeHByZXNzLkRhdGEudjIzLjIsIFZlcnNpb249MjMuMi40
-        LjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjg4ZDE3NTRkNzAwZTQ5YQUBAAAAHURl
-        dkV4cHJlc3MuVXRpbHMuU3ZnLlN2Z0ltYWdlAQAAAAREYXRhBwICAAAACQMAAAAPAwAAAKcCAAAC77u/
-        PD94bWwgdmVyc2lvbj0nMS4wJyBlbmNvZGluZz0nVVRGLTgnPz4NCjxzdmcgeD0iMHB4IiB5PSIwcHgi
-        IHZpZXdCb3g9IjAgMCAzMiAzMiIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcv
-        MjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB4bWw6c3Bh
-        Y2U9InByZXNlcnZlIiBpZD0iTGF5ZXJfMSIgc3R5bGU9ImVuYWJsZS1iYWNrZ3JvdW5kOm5ldyAwIDAg
-        MzIgMzIiPg0KICA8c3R5bGUgdHlwZT0idGV4dC9jc3MiPgoJLkJsdWV7ZmlsbDojMTE3N0Q3O30KCS5Z
-        ZWxsb3d7ZmlsbDojRkZCMTE1O30KCS5CbGFja3tmaWxsOiM3MjcyNzI7fQoJLkdyZWVue2ZpbGw6IzAz
-        OUMyMzt9CgkuUmVke2ZpbGw6I0QxMUMxQzt9Cgkuc3Qwe29wYWNpdHk6MC43NTt9Cgkuc3Qxe29wYWNp
-        dHk6MC41O30KPC9zdHlsZT4NCiAgPGcgaWQ9IkFkZCI+DQogICAgPHBhdGggZD0iTTI3LDE0aC05VjVj
-        MC0wLjUtMC41LTEtMS0xaC0yYy0wLjUsMC0xLDAuNS0xLDF2OUg1Yy0wLjUsMC0xLDAuNS0xLDF2MmMw
-        LDAuNSwwLjUsMSwxLDFoOXY5ICAgYzAsMC41LDAuNSwxLDEsMWgyYzAuNSwwLDEtMC41LDEtMXYtOWg5
-        YzAuNSwwLDEtMC41LDEtMXYtMkMyOCwxNC41LDI3LjUsMTQsMjcsMTR6IiBjbGFzcz0iR3JlZW4iIC8+
-        DQogIDwvZz4NCjwvc3ZnPgs=
-</value>
-  </data>
+  <metadata name="dockManager1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
+    <value>17, 17</value>
+  </metadata>
+  <metadata name="$this.TrayHeight" type="System.Int32, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+    <value>75</value>
+  </metadata>
   <data name="barBtnSave.ImageOptions.SvgImage" type="DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v23.2" mimetype="application/x-microsoft.net.object.bytearray.base64">
     <value>
         AAEAAAD/////AQAAAAAAAAAMAgAAAFlEZXZFeHByZXNzLkRhdGEudjIzLjIsIFZlcnNpb249MjMuMi40
diff --git a/WinFrmUI/PBS.WinFrmUI/02-facility/00-core/FacilitiesCtrl.Designer.cs b/WinFrmUI/PBS.WinFrmUI/02-facility/00-core/FacilitiesCtrl.Designer.cs
index dd78133..fa9a01e 100644
--- a/WinFrmUI/PBS.WinFrmUI/02-facility/00-core/FacilitiesCtrl.Designer.cs
+++ b/WinFrmUI/PBS.WinFrmUI/02-facility/00-core/FacilitiesCtrl.Designer.cs
@@ -418,7 +418,7 @@
             layoutControlItem6.Location = new Point(0, 200);
             layoutControlItem6.Name = "layoutControlItem6";
             layoutControlItem6.Size = new Size(419, 40);
-            layoutControlItem6.Text = "<color=red>*</color>鎭掑畾鍘嬪姏:";
+            layoutControlItem6.Text = "<color=red>*</color>鎭掑畾鍘嬪姏(m):";
             layoutControlItem6.TextSize = new Size(134, 18);
             // 
             // layoutControlItem5
@@ -486,7 +486,7 @@
             layoutControlItem10.Location = new Point(419, 240);
             layoutControlItem10.Name = "layoutControlItem10";
             layoutControlItem10.Size = new Size(419, 40);
-            layoutControlItem10.Text = "鏈�楂樻ゼ灞傛爣楂�:";
+            layoutControlItem10.Text = "鏈�楂樻ゼ灞傛爣楂�(m):";
             layoutControlItem10.TextSize = new Size(134, 18);
             // 
             // layoutControlItem11
diff --git a/WinFrmUI/PBS.WinFrmUI/02-facility/FacilityMgrPage.cs b/WinFrmUI/PBS.WinFrmUI/02-facility/FacilityMgrPage.cs
index c7fdec9..95dd550 100644
--- a/WinFrmUI/PBS.WinFrmUI/02-facility/FacilityMgrPage.cs
+++ b/WinFrmUI/PBS.WinFrmUI/02-facility/FacilityMgrPage.cs
@@ -53,6 +53,10 @@
                var id = await _facilityBll.Insert(vmo);
                if (id > 0)
                {
+                   if (vmo.PackageID > 0)
+                   {
+                       packageCurveViewModel.SaveCurveFile(id, vmo.PackageID);
+                   }
                    vmo.ID = id;
                    _allBindingList.Add(new FacilityViewModel(vmo));
                    this.facilityViewModelBindingSource.ResetBindings(false);
@@ -78,6 +82,10 @@
                 var bol = await _facilityBll.Update(vmo);
                 if (bol)
                 {
+                    if (vmo.PackageID > 0)
+                    {
+                        packageCurveViewModel.SaveCurveFile(vmo.ID, vmo.PackageID);
+                    }
                     vm.Resert(vmo);
                     this.facilityViewModelBindingSource.ResetBindings(false);
                     return true;
@@ -107,6 +115,10 @@
                 return;
             }
             _allBindingList.Remove(vm);
+            if (vm.PackageID > 0)
+            {
+                packageCurveViewModel.DeleteCurveFile(vm.ID);
+            }
             this.facilityViewModelBindingSource.ResetBindings(false);
             TipFormHelper.ShowSucceed("鍒犻櫎鎴愬姛锛�");
         }
diff --git a/WinFrmUI/PBS.WinFrmUI/04-package-curve/packageCurveViewModel.cs b/WinFrmUI/PBS.WinFrmUI/04-package-curve/packageCurveViewModel.cs
new file mode 100644
index 0000000..246997b
--- /dev/null
+++ b/WinFrmUI/PBS.WinFrmUI/04-package-curve/packageCurveViewModel.cs
@@ -0,0 +1,76 @@
+锘縰sing DevExpress.XtraCharts;
+using System;
+using System.Collections.Generic;
+using System.IO;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+using Yw;
+using Yw.Vmo;
+
+namespace PBS.WinFrmUI
+{
+    public class packageCurveViewModel
+    {
+        public long PcakageID { get; set; }
+
+        public string PackageName { get; set; }
+
+        public List<PumpInfo> PumpInfos { get; set; }
+
+        public static async void SaveCurveFile(long facilityId, long packageId)
+        {
+            if (packageId < 0)
+                return;
+            var model = new packageCurveViewModel();
+            model.PcakageID = packageId;
+            model.PumpInfos = new List<PumpInfo>();
+            var pumpList = await new HStation.BLL.AssetsPackagePumpMapping().GetByPackageID(packageId);
+            foreach (var item in pumpList)
+            {
+                var allList = await BLLFactory<HStation.BLL.PhartDiagramRelation>.Instance
+       .GetByObjectTypeAndObjectID(HStation.Assets.DataType.PumpMain, item.PumpMainID);
+                var maxImportance = allList.OrderByDescending(x => x.Importance).FirstOrDefault();
+                var vmo = await BLLFactory<Yw.BLL.PhartDiagramExtensions>.Instance.GetByID(maxImportance.DiagramID);
+                model.PumpInfos.Add(new PumpInfo
+                {
+                    PumpID = item.ID,
+                    PumpName = item.PumpOtherName,
+                    phartDiagramExGraphListVmo = vmo
+                });
+            }
+            var json = Yw.JsonHelper.Object2Json(model);
+            string rootDirectory = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "Package_Curve");
+            if (!Directory.Exists(rootDirectory))
+            {
+                Directory.CreateDirectory(rootDirectory);
+            }
+            string filePath = Path.Combine(rootDirectory, $"{facilityId}.json");
+            if (!Directory.Exists(filePath))
+            {
+                File.Delete(filePath);
+            }
+            File.WriteAllText(filePath, json);
+        }
+
+        public static void DeleteCurveFile(long facilityId)
+        {
+            string rootDirectory = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "Package_Curve");
+
+            string filePath = Path.Combine(rootDirectory, $"{facilityId}.json");
+            if (!Directory.Exists(filePath))
+            {
+                File.Delete(filePath);
+            }
+        }
+    }
+
+    public class PumpInfo
+    {
+        public long PumpID { get; set; }
+
+        public string PumpName { get; set; }
+
+        public Yw.Vmo.PhartDiagramExGraphListVmo phartDiagramExGraphListVmo { get; set; }
+    }
+}
\ No newline at end of file
diff --git a/WinFrmUI/PBS.WinFrmUI/PBS.WinFrmUI.csproj b/WinFrmUI/PBS.WinFrmUI/PBS.WinFrmUI.csproj
index e1ed170..773f1f0 100644
--- a/WinFrmUI/PBS.WinFrmUI/PBS.WinFrmUI.csproj
+++ b/WinFrmUI/PBS.WinFrmUI/PBS.WinFrmUI.csproj
@@ -80,6 +80,7 @@
     <ProjectReference Include="..\..\BLL\HStation.BLL.Assets.Core\HStation.BLL.Assets.Core.csproj" />
     <ProjectReference Include="..\..\BLL\PBS.BLL\PBS.BLL.csproj" />
     <ProjectReference Include="..\..\BLL\Yw.BLL.Division.Core\Yw.BLL.Division.Core.csproj" />
+    <ProjectReference Include="..\HStation.WinFrmUI.Assets.Core\HStation.WinFrmUI.Assets.Core.csproj" />
     <ProjectReference Include="..\HStation.WinFrmUI.Basic.Core\HStation.WinFrmUI.Basic.Core.csproj" />
     <ProjectReference Include="..\HStation.WinFrmUI.Core\HStation.WinFrmUI.Core.csproj" />
     <ProjectReference Include="..\PBS.WinFrmUI.WE\PBS.WinFrmUI.WE.csproj" />

--
Gitblit v1.9.3