duheng
2024-12-04 b32c0a21755ac3e86df0242d993398773cb627f2
修改资产界面
已修改59个文件
2351 ■■■■ 文件已修改
Dto/HStation.Dto.Assets.Core/15-Tank/02-AssetsTankMain/AddAssetsTankMainInput.cs 28 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Dto/HStation.Dto.Assets.Core/15-Tank/02-AssetsTankMain/AssetsTankMainDto.cs 35 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Dto/HStation.Dto.Assets.Core/15-Tank/02-AssetsTankMain/UpdateAssetsTankMainInput.cs 28 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Dto/HStation.Dto.Assets.Core/16-Meter/02-AssetsMeterMain/AddAssetsMeterMainInput.cs 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Dto/HStation.Dto.Assets.Core/16-Meter/02-AssetsMeterMain/AssetsMeterMainDto.cs 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Dto/HStation.Dto.Assets.Core/16-Meter/02-AssetsMeterMain/UpdateAssetsMeterMainInput.cs 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Dto/HStation.Dto.Assets.Core/17-Flowmeter/02-AssetsFlowmeterMain/AddAssetsFlowmeterMainInput.cs 51 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Dto/HStation.Dto.Assets.Core/17-Flowmeter/02-AssetsFlowmeterMain/AssetsFlowmeterMainDto.cs 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Dto/HStation.Dto.Assets.Core/17-Flowmeter/02-AssetsFlowmeterMain/UpdateAssetsFlowmeterMainInput.cs 103 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Dto/HStation.Dto.Assets.Core/19-Pressmeter/02-AssetsPressmeterMain/AddAssetsPressmeterMainInput.cs 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Dto/HStation.Dto.Assets.Core/19-Pressmeter/02-AssetsPressmeterMain/AssetsPressmeterMainDto.cs 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Dto/HStation.Dto.Assets.Core/19-Pressmeter/02-AssetsPressmeterMain/UpdateAssetsPressmeterMainInput.cs 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Dto/HStation.Dto.Assets.Core/20-Translation/02-AssetsTranslationMain/AddAssetsTranslationMainInput.cs 26 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Dto/HStation.Dto.Assets.Core/20-Translation/02-AssetsTranslationMain/AssetsTranslationMainDto.cs 32 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Dto/HStation.Dto.Assets.Core/20-Translation/02-AssetsTranslationMain/UpdateAssetsTranslationMainInput.cs 26 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Service/HStation.Service.Assets.Core/01-entity/15-Tank/AssetsTankMain.cs 121 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Service/HStation.Service.Assets.Core/01-entity/16-Meter/AssetsMeterMain.cs 13 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Service/HStation.Service.Assets.Core/01-entity/17-Flowmeter/AssetsFlowmeterMain.cs 96 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Service/HStation.Service.Assets.Core/01-entity/19-Pressmeter/AssetsPressmeterMain.cs 96 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Service/HStation.Service.Assets.Core/01-entity/20-Translation/AssetsTranslationMain.cs 123 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Service/HStation.Service.Assets.Core/02-model/15-Tank/AssetsTankMain.cs 42 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Service/HStation.Service.Assets.Core/02-model/16-Meter/AssetsMeterMain.cs 14 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Service/HStation.Service.Assets.Core/02-model/17-Flowmeter/AssetsFlowmeterMain.cs 14 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Service/HStation.Service.Assets.Core/02-model/19-Pressmeter/AssetsPressmeterMain.cs 14 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Service/HStation.Service.Assets.Core/02-model/20-Translation/AssetsTranslationMain.cs 38 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Vmo/HStation.Vmo.Assets.Core/15-Tank/AssetsTankMainVmo.cs 35 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Vmo/HStation.Vmo.Assets.Core/16-Meter/AssetsMeterMainVmo.cs 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Vmo/HStation.Vmo.Assets.Core/17-Flowmeter/AssetsFlowmeterMainVmo.cs 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Vmo/HStation.Vmo.Assets.Core/19-Pressmeter/AssetsPressmeterMainVmo.cs 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Vmo/HStation.Vmo.Assets.Core/20-Translation/AssetsTranslationMainVmo.cs 32 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WinFrmUI/HStation.WinFrmUI.Assets.Core/14-tank/02-main/AddAssetsSprinklerMainDlg.cs 10 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WinFrmUI/HStation.WinFrmUI.Assets.Core/14-tank/02-main/EditAssetsBluntheadMainDlg.cs 28 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WinFrmUI/HStation.WinFrmUI.Assets.Core/14-tank/BluntheadViewModel.cs 66 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WinFrmUI/HStation.WinFrmUI.Assets.Core/15-meter/02-main/AddAssetsSprinklerMainDlg.Designer.cs 80 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WinFrmUI/HStation.WinFrmUI.Assets.Core/15-meter/02-main/AddAssetsSprinklerMainDlg.cs 84 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WinFrmUI/HStation.WinFrmUI.Assets.Core/15-meter/02-main/AddAssetsSprinklerMainDlg.resx 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WinFrmUI/HStation.WinFrmUI.Assets.Core/15-meter/02-main/EditAssetsBluntheadMainDlg.Designer.cs 80 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WinFrmUI/HStation.WinFrmUI.Assets.Core/15-meter/02-main/EditAssetsBluntheadMainDlg.cs 99 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WinFrmUI/HStation.WinFrmUI.Assets.Core/15-meter/BluntheadViewModel.cs 46 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WinFrmUI/HStation.WinFrmUI.Assets.Core/16-flowmeter/02-main/AddAssetsSprinklerMainDlg.cs 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WinFrmUI/HStation.WinFrmUI.Assets.Core/16-flowmeter/02-main/EditAssetsBluntheadMainDlg.Designer.cs 80 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WinFrmUI/HStation.WinFrmUI.Assets.Core/16-flowmeter/02-main/EditAssetsBluntheadMainDlg.cs 99 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WinFrmUI/HStation.WinFrmUI.Assets.Core/16-flowmeter/BluntheadViewModel.cs 46 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WinFrmUI/HStation.WinFrmUI.Assets.Core/18-pressmeter/02-main/AddAssetsSprinklerMainDlg.cs 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WinFrmUI/HStation.WinFrmUI.Assets.Core/18-pressmeter/02-main/EditAssetsBluntheadMainDlg.Designer.cs 80 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WinFrmUI/HStation.WinFrmUI.Assets.Core/18-pressmeter/02-main/EditAssetsBluntheadMainDlg.cs 99 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WinFrmUI/HStation.WinFrmUI.Assets.Core/18-pressmeter/BluntheadViewModel.cs 50 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WinFrmUI/HStation.WinFrmUI.Assets.Core/19-translation/02-main/AddAssetsSprinklerMainDlg.Designer.cs 38 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WinFrmUI/HStation.WinFrmUI.Assets.Core/19-translation/02-main/AddAssetsSprinklerMainDlg.cs 37 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WinFrmUI/HStation.WinFrmUI.Assets.Core/19-translation/02-main/AddAssetsSprinklerMainDlg.resx 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WinFrmUI/HStation.WinFrmUI.Assets.Core/19-translation/02-main/EditAssetsBluntheadMainDlg.Designer.cs 38 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WinFrmUI/HStation.WinFrmUI.Assets.Core/19-translation/02-main/EditAssetsBluntheadMainDlg.cs 43 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WinFrmUI/HStation.WinFrmUI.Assets.Core/19-translation/BluntheadViewModel.cs 23 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WinFrmUI/HStation.WinFrmUI.Xhs.Core/03-simulation/06-simulation/01-matching/09-Tank/TankSingleMatchingForm.Designer.cs 77 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WinFrmUI/HStation.WinFrmUI.Xhs.Core/03-simulation/06-simulation/01-matching/09-Tank/TankSingleMatchingViewModel.cs 39 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WinFrmUI/HStation.WinFrmUI.Xhs.Core/03-simulation/06-simulation/01-matching/10-Meter/MeterSingleMatchingViewModel.cs 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WinFrmUI/HStation.WinFrmUI.Xhs.Core/03-simulation/06-simulation/01-matching/11-Flowmeter/FlowmeterSingleMatchingViewModel.cs 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WinFrmUI/HStation.WinFrmUI.Xhs.Core/03-simulation/06-simulation/01-matching/13-Pressmeter/PressmeterSingleMatchingViewModel.cs 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WinFrmUI/HStation.WinFrmUI.Xhs.Core/03-simulation/06-simulation/01-matching/15-Translation/TranslationSingleMatchingViewModel.cs 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Dto/HStation.Dto.Assets.Core/15-Tank/02-AssetsTankMain/AddAssetsTankMainInput.cs
@@ -20,19 +20,29 @@
        public long SeriesID { get; set; }
        /// <summary>
        /// 口径
        ///</summary>
        public double? Caliber { get; set; }
        /// 最低水位
        /// </summary>
        public double MinLevel { get; set; }
        /// <summary>
        /// 材料
        ///</summary>
        public string Material { get; set; }
        /// 最高水位
        /// </summary>
        public double MaxLevel { get; set; }
        /// <summary>
        /// 局阻系数
        ///</summary>
        public double MinorLoss { get; set; }
        /// 公称直径
        /// </summary>
        public double DN { get; set; }
        /// <summary>
        /// 最小容积
        /// </summary>
        public double MinVol { get; set; }
        /// <summary>
        /// 是否允许溢流
        /// </summary>
        public bool OverFlow { get; set; }
        /// <summary>
        /// 识别关键字
Dto/HStation.Dto.Assets.Core/15-Tank/02-AssetsTankMain/AssetsTankMainDto.cs
@@ -19,9 +19,10 @@
            this.ID = rhs.ID;
            this.Name = rhs.Name;
            this.SeriesID = rhs.SeriesID;
            this.Caliber = rhs.Caliber;
            this.Material = rhs.Material;
            this.MinorLoss = rhs.MinorLoss;
            this.MinLevel = rhs.MinLevel;
            this.MaxLevel = rhs.MaxLevel;
            this.DN = rhs.DN;
            this.OverFlow = rhs.OverFlow;
            this.KeyWord = rhs.KeyWord;
            this.Paras = rhs.Paras == null ? null : new(rhs.Paras);
            this.Flags = rhs.Flags?.ToList();
@@ -46,19 +47,29 @@
        public long SeriesID { get; set; }
        /// <summary>
        /// 口径
        ///</summary>
        public double? Caliber { get; set; }
        /// 最低水位
        /// </summary>
        public double MinLevel { get; set; }
        /// <summary>
        /// 材料
        ///</summary>
        public string Material { get; set; }
        /// 最高水位
        /// </summary>
        public double MaxLevel { get; set; }
        /// <summary>
        /// 局阻系数
        ///</summary>
        public double MinorLoss { get; set; }
        /// 公称直径
        /// </summary>
        public double DN { get; set; }
        /// <summary>
        /// 最小容积
        /// </summary>
        public double MinVol { get; set; }
        /// <summary>
        /// 是否允许溢流
        /// </summary>
        public bool OverFlow { get; set; }
        /// <summary>
        /// 识别关键字
Dto/HStation.Dto.Assets.Core/15-Tank/02-AssetsTankMain/UpdateAssetsTankMainInput.cs
@@ -26,19 +26,29 @@
        public long SeriesID { get; set; }
        /// <summary>
        /// 口径
        ///</summary>
        public double? Caliber { get; set; }
        /// 最低水位
        /// </summary>
        public double MinLevel { get; set; }
        /// <summary>
        /// 材料
        ///</summary>
        public string Material { get; set; }
        /// 最高水位
        /// </summary>
        public double MaxLevel { get; set; }
        /// <summary>
        /// 局阻系数
        ///</summary>
        public double MinorLoss { get; set; }
        /// 公称直径
        /// </summary>
        public double DN { get; set; }
        /// <summary>
        /// 最小容积
        /// </summary>
        public double MinVol { get; set; }
        /// <summary>
        /// 是否允许溢流
        /// </summary>
        public bool OverFlow { get; set; }
        /// <summary>
        /// 识别关键字
Dto/HStation.Dto.Assets.Core/16-Meter/02-AssetsMeterMain/AddAssetsMeterMainInput.cs
@@ -20,16 +20,6 @@
        public long SeriesID { get; set; }
        /// <summary>
        /// 口径
        ///</summary>
        public double? Caliber { get; set; }
        /// <summary>
        /// 材料
        ///</summary>
        public string Material { get; set; }
        /// <summary>
        /// 局阻系数
        ///</summary>
        public double MinorLoss { get; set; }
Dto/HStation.Dto.Assets.Core/16-Meter/02-AssetsMeterMain/AssetsMeterMainDto.cs
@@ -19,8 +19,6 @@
            this.ID = rhs.ID;
            this.Name = rhs.Name;
            this.SeriesID = rhs.SeriesID;
            this.Caliber = rhs.Caliber;
            this.Material = rhs.Material;
            this.MinorLoss = rhs.MinorLoss;
            this.KeyWord = rhs.KeyWord;
            this.Paras = rhs.Paras == null ? null : new(rhs.Paras);
@@ -44,16 +42,6 @@
        /// 系列ID
        ///</summary>
        public long SeriesID { get; set; }
        /// <summary>
        /// 口径
        ///</summary>
        public double? Caliber { get; set; }
        /// <summary>
        /// 材料
        ///</summary>
        public string Material { get; set; }
        /// <summary>
        /// 局阻系数
Dto/HStation.Dto.Assets.Core/16-Meter/02-AssetsMeterMain/UpdateAssetsMeterMainInput.cs
@@ -26,16 +26,6 @@
        public long SeriesID { get; set; }
        /// <summary>
        /// 口径
        ///</summary>
        public double? Caliber { get; set; }
        /// <summary>
        /// 材料
        ///</summary>
        public string Material { get; set; }
        /// <summary>
        /// 局阻系数
        ///</summary>
        public double MinorLoss { get; set; }
Dto/HStation.Dto.Assets.Core/17-Flowmeter/02-AssetsFlowmeterMain/AddAssetsFlowmeterMainInput.cs
@@ -4,62 +4,49 @@
{
    /// <summary>
    /// 流量计
    ///</summary>
    ///</summary>
    public class AddAssetsFlowmeterMainInput
    {
    {
        /// <summary>
        /// 名称
        ///</summary>
        ///</summary>
        [Required]
        public string Name { get; set; }
        /// <summary>
        /// 系列ID
        ///</summary>
        [Required, Range(1, long.MaxValue, ErrorMessage ="SeriesID 必须大于0")]
        ///</summary>
        [Required, Range(1, long.MaxValue, ErrorMessage = "SeriesID 必须大于0")]
        public long SeriesID { get; set; }
        /// <summary>
        /// 口径
        ///</summary>
        public double? Caliber { get; set; }
        /// <summary>
        /// 材料
        ///</summary>
        public string Material { get; set; }
        /// <summary>
        /// 局阻系数
        ///</summary>
        ///</summary>
        public double MinorLoss { get; set; }
        /// <summary>
        /// 识别关键字
        ///</summary>
        ///</summary>
        public string KeyWord { get; set; }
        /// <summary>
        /// 参数
        ///</summary>
        ///</summary>
        public Dictionary<string, string> Paras { get; set; }
        /// <summary>
        /// 标签
        ///</summary>
        ///</summary>
        public List<string> Flags { get; set; }
        /// <summary>
        /// 标志
        ///</summary>
        ///</summary>
        public string TagName { get; set; }
        /// <summary>
        /// 说明
        ///</summary>
        ///</summary>
        public string Description { get; set; }
    }
}
}
Dto/HStation.Dto.Assets.Core/17-Flowmeter/02-AssetsFlowmeterMain/AssetsFlowmeterMainDto.cs
@@ -19,8 +19,6 @@
            this.ID = rhs.ID;
            this.Name = rhs.Name;
            this.SeriesID = rhs.SeriesID;
            this.Caliber = rhs.Caliber;
            this.Material = rhs.Material;
            this.MinorLoss = rhs.MinorLoss;
            this.KeyWord = rhs.KeyWord;
            this.Paras = rhs.Paras == null ? null : new(rhs.Paras);
@@ -44,16 +42,6 @@
        /// 系列ID
        ///</summary>
        public long SeriesID { get; set; }
        /// <summary>
        /// 口径
        ///</summary>
        public double? Caliber { get; set; }
        /// <summary>
        /// 材料
        ///</summary>
        public string Material { get; set; }
        /// <summary>
        /// 局阻系数
Dto/HStation.Dto.Assets.Core/17-Flowmeter/02-AssetsFlowmeterMain/UpdateAssetsFlowmeterMainInput.cs
@@ -4,68 +4,55 @@
{
    /// <summary>
    /// 流量计
    ///</summary>
    ///</summary>
    public class UpdateAssetsFlowmeterMainInput
    {
    {
        /// <summary>
        /// ID
        ///</summary>
        [Required, Range(1, long.MaxValue, ErrorMessage ="ID 必须大于0")]
        /// ID
        ///</summary>
        [Required, Range(1, long.MaxValue, ErrorMessage = "ID 必须大于0")]
        public long ID { get; set; }
        /// <summary>
        /// 名称
        ///</summary>
        /// 名称
        ///</summary>
        [Required]
        public string Name { get; set; }
        /// <summary>
        /// 系列ID
        ///</summary>
        [Required, Range(1, long.MaxValue, ErrorMessage ="SeriesID 必须大于0")]
        public long SeriesID { get; set; }
        /// <summary>
        /// 口径
        ///</summary>
        public double? Caliber { get; set; }
        /// <summary>
        /// 材料
        ///</summary>
        public string Material { get; set; }
        /// <summary>
        /// 局阻系数
        ///</summary>
        public double MinorLoss { get; set; }
        /// <summary>
        /// 识别关键字
        ///</summary>
        public string KeyWord { get; set; }
        /// <summary>
        /// 参数
        ///</summary>
        public Dictionary<string, string> Paras { get; set; }
        /// <summary>
        /// 标签
        ///</summary>
        public List<string> Flags { get; set; }
        /// <summary>
        /// 标志
        ///</summary>
        public string TagName { get; set; }
        /// <summary>
        /// 说明
        ///</summary>
        public string Description { get; set; }
    }
}
        /// <summary>
        /// 系列ID
        ///</summary>
        [Required, Range(1, long.MaxValue, ErrorMessage = "SeriesID 必须大于0")]
        public long SeriesID { get; set; }
        /// <summary>
        /// 局阻系数
        ///</summary>
        public double MinorLoss { get; set; }
        /// <summary>
        /// 识别关键字
        ///</summary>
        public string KeyWord { get; set; }
        /// <summary>
        /// 参数
        ///</summary>
        public Dictionary<string, string> Paras { get; set; }
        /// <summary>
        /// 标签
        ///</summary>
        public List<string> Flags { get; set; }
        /// <summary>
        /// 标志
        ///</summary>
        public string TagName { get; set; }
        /// <summary>
        /// 说明
        ///</summary>
        public string Description { get; set; }
    }
}
Dto/HStation.Dto.Assets.Core/19-Pressmeter/02-AssetsPressmeterMain/AddAssetsPressmeterMainInput.cs
@@ -20,16 +20,6 @@
        public long SeriesID { get; set; }
        /// <summary>
        /// 口径
        ///</summary>
        public double? Caliber { get; set; }
        /// <summary>
        /// 材料
        ///</summary>
        public string Material { get; set; }
        /// <summary>
        /// 局阻系数
        ///</summary>
        public double MinorLoss { get; set; }
Dto/HStation.Dto.Assets.Core/19-Pressmeter/02-AssetsPressmeterMain/AssetsPressmeterMainDto.cs
@@ -19,8 +19,6 @@
            this.ID = rhs.ID;
            this.Name = rhs.Name;
            this.SeriesID = rhs.SeriesID;
            this.Caliber = rhs.Caliber;
            this.Material = rhs.Material;
            this.MinorLoss = rhs.MinorLoss;
            this.KeyWord = rhs.KeyWord;
            this.Paras = rhs.Paras == null ? null : new(rhs.Paras);
@@ -44,16 +42,6 @@
        /// 系列ID
        ///</summary>
        public long SeriesID { get; set; }
        /// <summary>
        /// 口径
        ///</summary>
        public double? Caliber { get; set; }
        /// <summary>
        /// 材料
        ///</summary>
        public string Material { get; set; }
        /// <summary>
        /// 局阻系数
Dto/HStation.Dto.Assets.Core/19-Pressmeter/02-AssetsPressmeterMain/UpdateAssetsPressmeterMainInput.cs
@@ -26,16 +26,6 @@
        public long SeriesID { get; set; }
        /// <summary>
        /// 口径
        ///</summary>
        public double? Caliber { get; set; }
        /// <summary>
        /// 材料
        ///</summary>
        public string Material { get; set; }
        /// <summary>
        /// 局阻系数
        ///</summary>
        public double MinorLoss { get; set; }
Dto/HStation.Dto.Assets.Core/20-Translation/02-AssetsTranslationMain/AddAssetsTranslationMainInput.cs
@@ -20,9 +20,29 @@
        public long SeriesID { get; set; }
        /// <summary>
        /// 口径
        ///</summary>
        public double? Caliber { get; set; }
        /// 直径
        /// </summary>
        public double Diameter { get; set; }
        /// <summary>
        /// 上游直径
        /// </summary>
        public double StartDiameter { get; set; }
        /// <summary>
        /// 下游直径
        /// </summary>
        public double EndDiameter { get; set; }
        /// <summary>
        /// 粗糙系数
        /// </summary>
        public double Roughness { get; set; }
        /// <summary>
        /// 算法类型
        /// </summary>
        public HStation.Assets.eAlgorithmType eAlgorithmType { get; set; }
        /// <summary>
        /// 材料
Dto/HStation.Dto.Assets.Core/20-Translation/02-AssetsTranslationMain/AssetsTranslationMainDto.cs
@@ -19,7 +19,11 @@
            this.ID = rhs.ID;
            this.Name = rhs.Name;
            this.SeriesID = rhs.SeriesID;
            this.Caliber = rhs.Caliber;
            this.Diameter = rhs.Diameter;
            this.StartDiameter = rhs.StartDiameter;
            this.EndDiameter = rhs.EndDiameter;
            this.Roughness = rhs.Roughness;
            this.eAlgorithmType = rhs.eAlgorithmType;
            this.Material = rhs.Material;
            this.MinorLoss = rhs.MinorLoss;
            this.KeyWord = rhs.KeyWord;
@@ -46,9 +50,29 @@
        public long SeriesID { get; set; }
        /// <summary>
        /// 口径
        ///</summary>
        public double? Caliber { get; set; }
        /// 直径
        /// </summary>
        public double Diameter { get; set; }
        /// <summary>
        /// 上游直径
        /// </summary>
        public double StartDiameter { get; set; }
        /// <summary>
        /// 下游直径
        /// </summary>
        public double EndDiameter { get; set; }
        /// <summary>
        /// 粗糙系数
        /// </summary>
        public double Roughness { get; set; }
        /// <summary>
        /// 算法类型
        /// </summary>
        public HStation.Assets.eAlgorithmType eAlgorithmType { get; set; }
        /// <summary>
        /// 材料
Dto/HStation.Dto.Assets.Core/20-Translation/02-AssetsTranslationMain/UpdateAssetsTranslationMainInput.cs
@@ -26,9 +26,29 @@
        public long SeriesID { get; set; }
        /// <summary>
        /// 口径
        ///</summary>
        public double? Caliber { get; set; }
        /// 直径
        /// </summary>
        public double Diameter { get; set; }
        /// <summary>
        /// 上游直径
        /// </summary>
        public double StartDiameter { get; set; }
        /// <summary>
        /// 下游直径
        /// </summary>
        public double EndDiameter { get; set; }
        /// <summary>
        /// 粗糙系数
        /// </summary>
        public double Roughness { get; set; }
        /// <summary>
        /// 算法类型
        /// </summary>
        public HStation.Assets.eAlgorithmType eAlgorithmType { get; set; }
        /// <summary>
        /// 材料
Service/HStation.Service.Assets.Core/01-entity/15-Tank/AssetsTankMain.cs
@@ -6,111 +6,116 @@
    /// 水池
    ///</summary>
    [SysType("assets-tank-main")]
    [SugarTable("assets_tank_main")]
    public class AssetsTankMain : BaseEntity , IParas, IFlags, ITagName, ISorter, System.ICloneable
    [SugarTable("assets_tank_main")]
    public class AssetsTankMain : BaseEntity, IParas, IFlags, ITagName, ISorter, System.ICloneable
    {
         /// <summary>
         ///
         /// </summary>
         public AssetsTankMain() { }
        /// <summary>
        ///
        /// </summary>
        public AssetsTankMain()
        { }
         /// <summary>
         ///
         /// </summary>
         public AssetsTankMain(AssetsTankMain rhs) : base(rhs)
         {
        /// <summary>
        ///
        /// </summary>
        public AssetsTankMain(AssetsTankMain rhs) : base(rhs)
        {
            this.Name = rhs.Name;
            this.SeriesID = rhs.SeriesID;
            this.Caliber = rhs.Caliber;
            this.Material = rhs.Material;
            this.MinorLoss = rhs.MinorLoss;
            this.MinLevel = rhs.MinLevel;
            this.MaxLevel = rhs.MaxLevel;
            this.DN = rhs.DN;
            this.OverFlow = rhs.OverFlow;
            this.KeyWord = rhs.KeyWord;
            this.Paras = rhs.Paras;
            this.Flags = rhs.Flags;
            this.TagName = rhs.TagName;
            this.SortCode = rhs.SortCode;
            this.Description = rhs.Description;
         }
        }
        /// <summary>
        /// 名称
        /// 名称
        ///</summary>
        [SugarColumn(Length = 50, IsNullable = true)]
        [SugarColumn(Length = 50, IsNullable = true)]
        public string Name { get; set; }
        /// <summary>
        /// 系列ID
        /// 系列ID
        ///</summary>
        public long SeriesID { get; set; }
        /// <summary>
        /// 口径
        ///</summary>
        public double? Caliber { get; set; }
        /// 最低水位
        /// </summary>
        public double MinLevel { get; set; }
        /// <summary>
        /// 材料
        ///</summary>
        [SugarColumn(Length = 255, IsNullable = true)]
        public string Material { get; set; }
        /// 最高水位
        /// </summary>
        public double MaxLevel { get; set; }
        /// <summary>
        /// 局阻系数
        ///</summary>
        public double MinorLoss { get; set; }
        /// 公称直径
        /// </summary>
        public double DN { get; set; }
        /// <summary>
        /// 识别关键字
        /// 最小容积
        /// </summary>
        public double MinVol { get; set; }
        /// <summary>
        /// 是否允许溢流
        /// </summary>
        public bool OverFlow { get; set; }
        /// <summary>
        /// 识别关键字
        ///</summary>
        [SugarColumn(Length = 255, IsNullable = true)]
        [SugarColumn(Length = 255, IsNullable = true)]
        public string KeyWord { get; set; }
        /// <summary>
        /// 参数
        /// 参数
        ///</summary>
        [SugarColumn(ColumnDataType = StaticConfig.CodeFirst_BigString, IsNullable = true)]
        [SugarColumn(ColumnDataType = StaticConfig.CodeFirst_BigString, IsNullable = true)]
        public string Paras { get; set; }
        /// <summary>
        /// 标签
        /// 标签
        ///</summary>
        [SugarColumn(ColumnDataType = StaticConfig.CodeFirst_BigString, IsNullable = true)]
        [SugarColumn(ColumnDataType = StaticConfig.CodeFirst_BigString, IsNullable = true)]
        public string Flags { get; set; }
        /// <summary>
        /// 标志
        /// 标志
        ///</summary>
        [SugarColumn(Length = 500, IsNullable = true)]
        [SugarColumn(Length = 500, IsNullable = true)]
        public string TagName { get; set; }
        /// <summary>
        /// 排序码
        /// 排序码
        ///</summary>
        public int SortCode { get; set; }
        /// <summary>
        /// 说明
        /// 说明
        ///</summary>
        [SugarColumn(ColumnDataType = StaticConfig.CodeFirst_BigString, IsNullable = true)]
        [SugarColumn(ColumnDataType = StaticConfig.CodeFirst_BigString, IsNullable = true)]
        public string Description { get; set; }
        /// <summary>
        ///
        /// </summary>
        public AssetsTankMain Clone()
        {
            return (AssetsTankMain)this.MemberwiseClone();
            return (AssetsTankMain)this.MemberwiseClone();
        }
        object ICloneable.Clone()
        {
            return this.MemberwiseClone();
            return this.MemberwiseClone();
        }
    }
}
}
Service/HStation.Service.Assets.Core/01-entity/16-Meter/AssetsMeterMain.cs
@@ -22,8 +22,6 @@
        {
            this.Name = rhs.Name;
            this.SeriesID = rhs.SeriesID;
            this.Caliber = rhs.Caliber;
            this.Material = rhs.Material;
            this.MinorLoss = rhs.MinorLoss;
            this.KeyWord = rhs.KeyWord;
            this.Paras = rhs.Paras;
@@ -43,17 +41,6 @@
        /// 系列ID
        ///</summary>
        public long SeriesID { get; set; }
        /// <summary>
        /// 口径
        ///</summary>
        public double? Caliber { get; set; }
        /// <summary>
        /// 材料
        ///</summary>
        [SugarColumn(Length = 255, IsNullable = true)]
        public string Material { get; set; }
        /// <summary>
        /// 局阻系数
Service/HStation.Service.Assets.Core/01-entity/17-Flowmeter/AssetsFlowmeterMain.cs
@@ -6,23 +6,22 @@
    /// 流量计
    ///</summary>
    [SysType("assets-flowmeter-main")]
    [SugarTable("assets_flowmeter_main")]
    public class AssetsFlowmeterMain : BaseEntity , IParas, IFlags, ITagName, ISorter, System.ICloneable
    [SugarTable("assets_flowmeter_main")]
    public class AssetsFlowmeterMain : BaseEntity, IParas, IFlags, ITagName, ISorter, System.ICloneable
    {
         /// <summary>
         ///
         /// </summary>
         public AssetsFlowmeterMain() { }
        /// <summary>
        ///
        /// </summary>
        public AssetsFlowmeterMain()
        { }
         /// <summary>
         ///
         /// </summary>
         public AssetsFlowmeterMain(AssetsFlowmeterMain rhs) : base(rhs)
         {
        /// <summary>
        ///
        /// </summary>
        public AssetsFlowmeterMain(AssetsFlowmeterMain rhs) : base(rhs)
        {
            this.Name = rhs.Name;
            this.SeriesID = rhs.SeriesID;
            this.Caliber = rhs.Caliber;
            this.Material = rhs.Material;
            this.MinorLoss = rhs.MinorLoss;
            this.KeyWord = rhs.KeyWord;
            this.Paras = rhs.Paras;
@@ -30,87 +29,70 @@
            this.TagName = rhs.TagName;
            this.SortCode = rhs.SortCode;
            this.Description = rhs.Description;
         }
        }
        /// <summary>
        /// 名称
        /// 名称
        ///</summary>
        [SugarColumn(Length = 50, IsNullable = true)]
        [SugarColumn(Length = 50, IsNullable = true)]
        public string Name { get; set; }
        /// <summary>
        /// 系列ID
        /// 系列ID
        ///</summary>
        public long SeriesID { get; set; }
        /// <summary>
        /// 口径
        ///</summary>
        public double? Caliber { get; set; }
        /// <summary>
        /// 材料
        ///</summary>
        [SugarColumn(Length = 255, IsNullable = true)]
        public string Material { get; set; }
        /// <summary>
        /// 局阻系数
        /// 局阻系数
        ///</summary>
        public double MinorLoss { get; set; }
        /// <summary>
        /// 识别关键字
        /// 识别关键字
        ///</summary>
        [SugarColumn(Length = 255, IsNullable = true)]
        [SugarColumn(Length = 255, IsNullable = true)]
        public string KeyWord { get; set; }
        /// <summary>
        /// 参数
        /// 参数
        ///</summary>
        [SugarColumn(ColumnDataType = StaticConfig.CodeFirst_BigString, IsNullable = true)]
        [SugarColumn(ColumnDataType = StaticConfig.CodeFirst_BigString, IsNullable = true)]
        public string Paras { get; set; }
        /// <summary>
        /// 标签
        /// 标签
        ///</summary>
        [SugarColumn(ColumnDataType = StaticConfig.CodeFirst_BigString, IsNullable = true)]
        [SugarColumn(ColumnDataType = StaticConfig.CodeFirst_BigString, IsNullable = true)]
        public string Flags { get; set; }
        /// <summary>
        /// 标志
        /// 标志
        ///</summary>
        [SugarColumn(Length = 500, IsNullable = true)]
        [SugarColumn(Length = 500, IsNullable = true)]
        public string TagName { get; set; }
        /// <summary>
        /// 排序码
        /// 排序码
        ///</summary>
        public int SortCode { get; set; }
        /// <summary>
        /// 说明
        /// 说明
        ///</summary>
        [SugarColumn(ColumnDataType = StaticConfig.CodeFirst_BigString, IsNullable = true)]
        [SugarColumn(ColumnDataType = StaticConfig.CodeFirst_BigString, IsNullable = true)]
        public string Description { get; set; }
        /// <summary>
        ///
        /// </summary>
        public AssetsFlowmeterMain Clone()
        {
            return (AssetsFlowmeterMain)this.MemberwiseClone();
            return (AssetsFlowmeterMain)this.MemberwiseClone();
        }
        object ICloneable.Clone()
        {
            return this.MemberwiseClone();
            return this.MemberwiseClone();
        }
    }
}
}
Service/HStation.Service.Assets.Core/01-entity/19-Pressmeter/AssetsPressmeterMain.cs
@@ -6,23 +6,22 @@
    /// 压力表
    ///</summary>
    [SysType("assets-pressmeter-main")]
    [SugarTable("assets_pressmeter_main")]
    public class AssetsPressmeterMain : BaseEntity , IParas, IFlags, ITagName, ISorter, System.ICloneable
    [SugarTable("assets_pressmeter_main")]
    public class AssetsPressmeterMain : BaseEntity, IParas, IFlags, ITagName, ISorter, System.ICloneable
    {
         /// <summary>
         ///
         /// </summary>
         public AssetsPressmeterMain() { }
        /// <summary>
        ///
        /// </summary>
        public AssetsPressmeterMain()
        { }
         /// <summary>
         ///
         /// </summary>
         public AssetsPressmeterMain(AssetsPressmeterMain rhs) : base(rhs)
         {
        /// <summary>
        ///
        /// </summary>
        public AssetsPressmeterMain(AssetsPressmeterMain rhs) : base(rhs)
        {
            this.Name = rhs.Name;
            this.SeriesID = rhs.SeriesID;
            this.Caliber = rhs.Caliber;
            this.Material = rhs.Material;
            this.MinorLoss = rhs.MinorLoss;
            this.KeyWord = rhs.KeyWord;
            this.Paras = rhs.Paras;
@@ -30,87 +29,70 @@
            this.TagName = rhs.TagName;
            this.SortCode = rhs.SortCode;
            this.Description = rhs.Description;
         }
        }
        /// <summary>
        /// 名称
        /// 名称
        ///</summary>
        [SugarColumn(Length = 50, IsNullable = true)]
        [SugarColumn(Length = 50, IsNullable = true)]
        public string Name { get; set; }
        /// <summary>
        /// 系列ID
        /// 系列ID
        ///</summary>
        public long SeriesID { get; set; }
        /// <summary>
        /// 口径
        ///</summary>
        public double? Caliber { get; set; }
        /// <summary>
        /// 材料
        ///</summary>
        [SugarColumn(Length = 255, IsNullable = true)]
        public string Material { get; set; }
        /// <summary>
        /// 局阻系数
        /// 局阻系数
        ///</summary>
        public double MinorLoss { get; set; }
        /// <summary>
        /// 识别关键字
        /// 识别关键字
        ///</summary>
        [SugarColumn(Length = 255, IsNullable = true)]
        [SugarColumn(Length = 255, IsNullable = true)]
        public string KeyWord { get; set; }
        /// <summary>
        /// 参数
        /// 参数
        ///</summary>
        [SugarColumn(ColumnDataType = StaticConfig.CodeFirst_BigString, IsNullable = true)]
        [SugarColumn(ColumnDataType = StaticConfig.CodeFirst_BigString, IsNullable = true)]
        public string Paras { get; set; }
        /// <summary>
        /// 标签
        /// 标签
        ///</summary>
        [SugarColumn(ColumnDataType = StaticConfig.CodeFirst_BigString, IsNullable = true)]
        [SugarColumn(ColumnDataType = StaticConfig.CodeFirst_BigString, IsNullable = true)]
        public string Flags { get; set; }
        /// <summary>
        /// 标志
        /// 标志
        ///</summary>
        [SugarColumn(Length = 500, IsNullable = true)]
        [SugarColumn(Length = 500, IsNullable = true)]
        public string TagName { get; set; }
        /// <summary>
        /// 排序码
        /// 排序码
        ///</summary>
        public int SortCode { get; set; }
        /// <summary>
        /// 说明
        /// 说明
        ///</summary>
        [SugarColumn(ColumnDataType = StaticConfig.CodeFirst_BigString, IsNullable = true)]
        [SugarColumn(ColumnDataType = StaticConfig.CodeFirst_BigString, IsNullable = true)]
        public string Description { get; set; }
        /// <summary>
        ///
        /// </summary>
        public AssetsPressmeterMain Clone()
        {
            return (AssetsPressmeterMain)this.MemberwiseClone();
            return (AssetsPressmeterMain)this.MemberwiseClone();
        }
        object ICloneable.Clone()
        {
            return this.MemberwiseClone();
            return this.MemberwiseClone();
        }
    }
}
}
Service/HStation.Service.Assets.Core/01-entity/20-Translation/AssetsTranslationMain.cs
@@ -6,22 +6,27 @@
    /// 过渡件
    ///</summary>
    [SysType("assets-translation-main")]
    [SugarTable("assets_translation_main")]
    public class AssetsTranslationMain : BaseEntity , IParas, IFlags, ITagName, ISorter, System.ICloneable
    [SugarTable("assets_translation_main")]
    public class AssetsTranslationMain : BaseEntity, IParas, IFlags, ITagName, ISorter, System.ICloneable
    {
         /// <summary>
         ///
         /// </summary>
         public AssetsTranslationMain() { }
        /// <summary>
        ///
        /// </summary>
        public AssetsTranslationMain()
        { }
         /// <summary>
         ///
         /// </summary>
         public AssetsTranslationMain(AssetsTranslationMain rhs) : base(rhs)
         {
        /// <summary>
        ///
        /// </summary>
        public AssetsTranslationMain(AssetsTranslationMain rhs) : base(rhs)
        {
            this.Name = rhs.Name;
            this.SeriesID = rhs.SeriesID;
            this.Caliber = rhs.Caliber;
            this.Diameter = rhs.Diameter;
            this.StartDiameter = rhs.StartDiameter;
            this.EndDiameter = rhs.EndDiameter;
            this.Roughness = rhs.Roughness;
            this.eAlgorithmType = rhs.eAlgorithmType;
            this.Material = rhs.Material;
            this.MinorLoss = rhs.MinorLoss;
            this.KeyWord = rhs.KeyWord;
@@ -30,87 +35,101 @@
            this.TagName = rhs.TagName;
            this.SortCode = rhs.SortCode;
            this.Description = rhs.Description;
         }
        }
        /// <summary>
        /// 名称
        /// 名称
        ///</summary>
        [SugarColumn(Length = 50, IsNullable = true)]
        [SugarColumn(Length = 50, IsNullable = true)]
        public string Name { get; set; }
        /// <summary>
        /// 系列ID
        /// 系列ID
        ///</summary>
        public long SeriesID { get; set; }
        /// <summary>
        /// 口径
        ///</summary>
        public double? Caliber { get; set; }
        /// 直径
        /// </summary>
        public double Diameter { get; set; }
        /// <summary>
        /// 材料
        /// 上游直径
        /// </summary>
        public double StartDiameter { get; set; }
        /// <summary>
        /// 下游直径
        /// </summary>
        public double EndDiameter { get; set; }
        /// <summary>
        /// 粗糙系数
        /// </summary>
        public double Roughness { get; set; }
        /// <summary>
        /// 算法类型
        /// </summary>
        public int eAlgorithmType { get; set; }
        /// <summary>
        /// 材料
        ///</summary>
        [SugarColumn(Length = 255, IsNullable = true)]
        [SugarColumn(Length = 255, IsNullable = true)]
        public string Material { get; set; }
        /// <summary>
        /// 局阻系数
        /// 局阻系数
        ///</summary>
        public double MinorLoss { get; set; }
        /// <summary>
        /// 识别关键字
        /// 识别关键字
        ///</summary>
        [SugarColumn(Length = 255, IsNullable = true)]
        [SugarColumn(Length = 255, IsNullable = true)]
        public string KeyWord { get; set; }
        /// <summary>
        /// 参数
        /// 参数
        ///</summary>
        [SugarColumn(ColumnDataType = StaticConfig.CodeFirst_BigString, IsNullable = true)]
        [SugarColumn(ColumnDataType = StaticConfig.CodeFirst_BigString, IsNullable = true)]
        public string Paras { get; set; }
        /// <summary>
        /// 标签
        /// 标签
        ///</summary>
        [SugarColumn(ColumnDataType = StaticConfig.CodeFirst_BigString, IsNullable = true)]
        [SugarColumn(ColumnDataType = StaticConfig.CodeFirst_BigString, IsNullable = true)]
        public string Flags { get; set; }
        /// <summary>
        /// 标志
        /// 标志
        ///</summary>
        [SugarColumn(Length = 500, IsNullable = true)]
        [SugarColumn(Length = 500, IsNullable = true)]
        public string TagName { get; set; }
        /// <summary>
        /// 排序码
        /// 排序码
        ///</summary>
        public int SortCode { get; set; }
        /// <summary>
        /// 说明
        /// 说明
        ///</summary>
        [SugarColumn(ColumnDataType = StaticConfig.CodeFirst_BigString, IsNullable = true)]
        [SugarColumn(ColumnDataType = StaticConfig.CodeFirst_BigString, IsNullable = true)]
        public string Description { get; set; }
        /// <summary>
        ///
        /// </summary>
        public AssetsTranslationMain Clone()
        {
            return (AssetsTranslationMain)this.MemberwiseClone();
            return (AssetsTranslationMain)this.MemberwiseClone();
        }
        object ICloneable.Clone()
        {
            return this.MemberwiseClone();
            return this.MemberwiseClone();
        }
    }
}
}
Service/HStation.Service.Assets.Core/02-model/15-Tank/AssetsTankMain.cs
@@ -21,9 +21,10 @@
        {
            this.Name = rhs.Name;
            this.SeriesID = rhs.SeriesID;
            this.Caliber = rhs.Caliber;
            this.Material = rhs.Material;
            this.MinorLoss = rhs.MinorLoss;
            this.MinLevel = rhs.MinLevel;
            this.MaxLevel = rhs.MaxLevel;
            this.DN = rhs.DN;
            this.OverFlow = rhs.OverFlow;
            this.KeyWord = rhs.KeyWord;
            this.Paras = rhs.Paras == null ? null : new(rhs.Paras);
            this.Flags = rhs.Flags?.ToList();
@@ -40,9 +41,10 @@
            this.ID = rhs.ID;
            this.Name = rhs.Name;
            this.SeriesID = rhs.SeriesID;
            this.Caliber = rhs.Caliber;
            this.Material = rhs.Material;
            this.MinorLoss = rhs.MinorLoss;
            this.MinLevel = rhs.MinLevel;
            this.MaxLevel = rhs.MaxLevel;
            this.DN = rhs.DN;
            this.OverFlow = rhs.OverFlow;
            this.KeyWord = rhs.KeyWord;
            this.Paras = rhs.Paras == null ? null : new(rhs.Paras);
            this.Flags = rhs.Flags?.ToList();
@@ -62,19 +64,29 @@
        public long SeriesID { get; set; }
        /// <summary>
        /// 口径
        ///</summary>
        public double? Caliber { get; set; }
        /// 最低水位
        /// </summary>
        public double MinLevel { get; set; }
        /// <summary>
        /// 材料
        ///</summary>
        public string Material { get; set; }
        /// 最高水位
        /// </summary>
        public double MaxLevel { get; set; }
        /// <summary>
        /// 局阻系数
        ///</summary>
        public double MinorLoss { get; set; }
        /// 公称直径
        /// </summary>
        public double DN { get; set; }
        /// <summary>
        /// 最小容积
        /// </summary>
        public double MinVol { get; set; }
        /// <summary>
        /// 是否允许溢流
        /// </summary>
        public bool OverFlow { get; set; }
        /// <summary>
        /// 识别关键字
Service/HStation.Service.Assets.Core/02-model/16-Meter/AssetsMeterMain.cs
@@ -21,8 +21,6 @@
        {
            this.Name = rhs.Name;
            this.SeriesID = rhs.SeriesID;
            this.Caliber = rhs.Caliber;
            this.Material = rhs.Material;
            this.MinorLoss = rhs.MinorLoss;
            this.KeyWord = rhs.KeyWord;
            this.Paras = rhs.Paras == null ? null : new(rhs.Paras);
@@ -40,8 +38,6 @@
            this.ID = rhs.ID;
            this.Name = rhs.Name;
            this.SeriesID = rhs.SeriesID;
            this.Caliber = rhs.Caliber;
            this.Material = rhs.Material;
            this.MinorLoss = rhs.MinorLoss;
            this.KeyWord = rhs.KeyWord;
            this.Paras = rhs.Paras == null ? null : new(rhs.Paras);
@@ -60,16 +56,6 @@
        /// 系列ID
        ///</summary>
        public long SeriesID { get; set; }
        /// <summary>
        /// 口径
        ///</summary>
        public double? Caliber { get; set; }
        /// <summary>
        /// 材料
        ///</summary>
        public string Material { get; set; }
        /// <summary>
        /// 局阻系数
Service/HStation.Service.Assets.Core/02-model/17-Flowmeter/AssetsFlowmeterMain.cs
@@ -21,8 +21,6 @@
        {
            this.Name = rhs.Name;
            this.SeriesID = rhs.SeriesID;
            this.Caliber = rhs.Caliber;
            this.Material = rhs.Material;
            this.MinorLoss = rhs.MinorLoss;
            this.KeyWord = rhs.KeyWord;
            this.Paras = rhs.Paras == null ? null : new(rhs.Paras);
@@ -40,8 +38,6 @@
            this.ID = rhs.ID;
            this.Name = rhs.Name;
            this.SeriesID = rhs.SeriesID;
            this.Caliber = rhs.Caliber;
            this.Material = rhs.Material;
            this.MinorLoss = rhs.MinorLoss;
            this.KeyWord = rhs.KeyWord;
            this.Paras = rhs.Paras == null ? null : new(rhs.Paras);
@@ -60,16 +56,6 @@
        /// 系列ID
        ///</summary>
        public long SeriesID { get; set; }
        /// <summary>
        /// 口径
        ///</summary>
        public double? Caliber { get; set; }
        /// <summary>
        /// 材料
        ///</summary>
        public string Material { get; set; }
        /// <summary>
        /// 局阻系数
Service/HStation.Service.Assets.Core/02-model/19-Pressmeter/AssetsPressmeterMain.cs
@@ -21,8 +21,6 @@
        {
            this.Name = rhs.Name;
            this.SeriesID = rhs.SeriesID;
            this.Caliber = rhs.Caliber;
            this.Material = rhs.Material;
            this.MinorLoss = rhs.MinorLoss;
            this.KeyWord = rhs.KeyWord;
            this.Paras = rhs.Paras == null ? null : new(rhs.Paras);
@@ -40,8 +38,6 @@
            this.ID = rhs.ID;
            this.Name = rhs.Name;
            this.SeriesID = rhs.SeriesID;
            this.Caliber = rhs.Caliber;
            this.Material = rhs.Material;
            this.MinorLoss = rhs.MinorLoss;
            this.KeyWord = rhs.KeyWord;
            this.Paras = rhs.Paras == null ? null : new(rhs.Paras);
@@ -60,16 +56,6 @@
        /// 系列ID
        ///</summary>
        public long SeriesID { get; set; }
        /// <summary>
        /// 口径
        ///</summary>
        public double? Caliber { get; set; }
        /// <summary>
        /// 材料
        ///</summary>
        public string Material { get; set; }
        /// <summary>
        /// 局阻系数
Service/HStation.Service.Assets.Core/02-model/20-Translation/AssetsTranslationMain.cs
@@ -21,7 +21,11 @@
        {
            this.Name = rhs.Name;
            this.SeriesID = rhs.SeriesID;
            this.Caliber = rhs.Caliber;
            this.Diameter = rhs.Diameter;
            this.StartDiameter = rhs.StartDiameter;
            this.EndDiameter = rhs.EndDiameter;
            this.Roughness = rhs.Roughness;
            this.eAlgorithmType = rhs.eAlgorithmType;
            this.Material = rhs.Material;
            this.MinorLoss = rhs.MinorLoss;
            this.KeyWord = rhs.KeyWord;
@@ -40,7 +44,11 @@
            this.ID = rhs.ID;
            this.Name = rhs.Name;
            this.SeriesID = rhs.SeriesID;
            this.Caliber = rhs.Caliber;
            this.Diameter = rhs.Diameter;
            this.StartDiameter = rhs.StartDiameter;
            this.EndDiameter = rhs.EndDiameter;
            this.Roughness = rhs.Roughness;
            this.eAlgorithmType = rhs.eAlgorithmType;
            this.Material = rhs.Material;
            this.MinorLoss = rhs.MinorLoss;
            this.KeyWord = rhs.KeyWord;
@@ -62,9 +70,29 @@
        public long SeriesID { get; set; }
        /// <summary>
        /// 口径
        ///</summary>
        public double? Caliber { get; set; }
        /// 直径
        /// </summary>
        public double Diameter { get; set; }
        /// <summary>
        /// 上游直径
        /// </summary>
        public double StartDiameter { get; set; }
        /// <summary>
        /// 下游直径
        /// </summary>
        public double EndDiameter { get; set; }
        /// <summary>
        /// 粗糙系数
        /// </summary>
        public double Roughness { get; set; }
        /// <summary>
        /// 算法类型
        /// </summary>
        public HStation.Assets.eAlgorithmType eAlgorithmType { get; set; }
        /// <summary>
        /// 材料
Vmo/HStation.Vmo.Assets.Core/15-Tank/AssetsTankMainVmo.cs
@@ -19,9 +19,10 @@
            this.ID = rhs.ID;
            this.Name = rhs.Name;
            this.SeriesID = rhs.SeriesID;
            this.Caliber = rhs.Caliber;
            this.Material = rhs.Material;
            this.MinorLoss = rhs.MinorLoss;
            this.MinLevel = rhs.MinLevel;
            this.MaxLevel = rhs.MaxLevel;
            this.DN = rhs.DN;
            this.OverFlow = rhs.OverFlow;
            this.KeyWord = rhs.KeyWord;
            this.Paras = rhs.Paras == null ? null : new(rhs.Paras);
            this.Flags = rhs.Flags?.ToList();
@@ -46,19 +47,29 @@
        public long SeriesID { get; set; }
        /// <summary>
        /// 口径
        ///</summary>
        public double? Caliber { get; set; }
        /// 最低水位
        /// </summary>
        public double MinLevel { get; set; }
        /// <summary>
        /// 材料
        ///</summary>
        public string Material { get; set; }
        /// 最高水位
        /// </summary>
        public double MaxLevel { get; set; }
        /// <summary>
        /// 局阻系数
        ///</summary>
        public double MinorLoss { get; set; }
        /// 公称直径
        /// </summary>
        public double DN { get; set; }
        /// <summary>
        /// 最小容积
        /// </summary>
        public double MinVol { get; set; }
        /// <summary>
        /// 是否允许溢流
        /// </summary>
        public bool OverFlow { get; set; }
        /// <summary>
        /// 识别关键字
Vmo/HStation.Vmo.Assets.Core/16-Meter/AssetsMeterMainVmo.cs
@@ -19,8 +19,6 @@
            this.ID = rhs.ID;
            this.Name = rhs.Name;
            this.SeriesID = rhs.SeriesID;
            this.Caliber = rhs.Caliber;
            this.Material = rhs.Material;
            this.MinorLoss = rhs.MinorLoss;
            this.KeyWord = rhs.KeyWord;
            this.Paras = rhs.Paras == null ? null : new(rhs.Paras);
@@ -44,16 +42,6 @@
        /// 系列ID
        ///</summary>
        public long SeriesID { get; set; }
        /// <summary>
        /// 口径
        ///</summary>
        public double? Caliber { get; set; }
        /// <summary>
        /// 材料
        ///</summary>
        public string Material { get; set; }
        /// <summary>
        /// 局阻系数
Vmo/HStation.Vmo.Assets.Core/17-Flowmeter/AssetsFlowmeterMainVmo.cs
@@ -19,8 +19,6 @@
            this.ID = rhs.ID;
            this.Name = rhs.Name;
            this.SeriesID = rhs.SeriesID;
            this.Caliber = rhs.Caliber;
            this.Material = rhs.Material;
            this.MinorLoss = rhs.MinorLoss;
            this.KeyWord = rhs.KeyWord;
            this.Paras = rhs.Paras == null ? null : new(rhs.Paras);
@@ -44,16 +42,6 @@
        /// 系列ID
        ///</summary>
        public long SeriesID { get; set; }
        /// <summary>
        /// 口径
        ///</summary>
        public double? Caliber { get; set; }
        /// <summary>
        /// 材料
        ///</summary>
        public string Material { get; set; }
        /// <summary>
        /// 局阻系数
Vmo/HStation.Vmo.Assets.Core/19-Pressmeter/AssetsPressmeterMainVmo.cs
@@ -19,8 +19,6 @@
            this.ID = rhs.ID;
            this.Name = rhs.Name;
            this.SeriesID = rhs.SeriesID;
            this.Caliber = rhs.Caliber;
            this.Material = rhs.Material;
            this.MinorLoss = rhs.MinorLoss;
            this.KeyWord = rhs.KeyWord;
            this.Paras = rhs.Paras == null ? null : new(rhs.Paras);
@@ -44,16 +42,6 @@
        /// 系列ID
        ///</summary>
        public long SeriesID { get; set; }
        /// <summary>
        /// 口径
        ///</summary>
        public double? Caliber { get; set; }
        /// <summary>
        /// 材料
        ///</summary>
        public string Material { get; set; }
        /// <summary>
        /// 局阻系数
Vmo/HStation.Vmo.Assets.Core/20-Translation/AssetsTranslationMainVmo.cs
@@ -19,7 +19,11 @@
            this.ID = rhs.ID;
            this.Name = rhs.Name;
            this.SeriesID = rhs.SeriesID;
            this.Caliber = rhs.Caliber;
            this.Diameter = rhs.Diameter;
            this.StartDiameter = rhs.StartDiameter;
            this.EndDiameter = rhs.EndDiameter;
            this.Roughness = rhs.Roughness;
            this.eAlgorithmType = rhs.eAlgorithmType;
            this.Material = rhs.Material;
            this.MinorLoss = rhs.MinorLoss;
            this.KeyWord = rhs.KeyWord;
@@ -46,9 +50,29 @@
        public long SeriesID { get; set; }
        /// <summary>
        /// 口径
        ///</summary>
        public double? Caliber { get; set; }
        /// 直径
        /// </summary>
        public double Diameter { get; set; }
        /// <summary>
        /// 上游直径
        /// </summary>
        public double StartDiameter { get; set; }
        /// <summary>
        /// 下游直径
        /// </summary>
        public double EndDiameter { get; set; }
        /// <summary>
        /// 粗糙系数
        /// </summary>
        public double Roughness { get; set; }
        /// <summary>
        /// 算法类型
        /// </summary>
        public HStation.Assets.eAlgorithmType eAlgorithmType { get; set; }
        /// <summary>
        /// 材料
WinFrmUI/HStation.WinFrmUI.Assets.Core/14-tank/02-main/AddAssetsSprinklerMainDlg.cs
@@ -133,15 +133,7 @@
            _TankVmo.Description = DescriptionTextEdit.Text.Trim();
            _TankVmo.Name = TextEditName.Text.Trim();
            _TankVmo.KeyWord = this.TextEditKeyWord.Text.Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries).ToList();
            _TankVmo.Material = TextEditMaterial.Text.Trim();
            if (double.TryParse(TextEditCaliber.Text, out double caliber))
            {
                _TankVmo.Caliber = caliber;
            }
            if (double.TryParse(TextEditMinorLoss.Text, out double minorLoss))
            {
                _TankVmo.MinorLoss = minorLoss;
            }
            _TankVmo.Flags = this.selectFlagsPopupCtrl1.SelectedFlags;
            if (await this.ReloadDataEvent.Invoke(_TankVmo))
            {
WinFrmUI/HStation.WinFrmUI.Assets.Core/14-tank/02-main/EditAssetsBluntheadMainDlg.cs
@@ -42,24 +42,8 @@
                    TextEditMaterial.Properties.Items.Add(imageItem);
                }
            }
            if (_TankVmo.Caliber == null)
            {
                TextEditCaliber.EditValue = "默认";
            }
            else
            {
                TextEditCaliber.EditValue = _TankVmo.Caliber.ToString();
            }
            if (_TankVmo.Material == null)
            {
                TextEditMaterial.EditValue = "默认";
            }
            else
            {
                TextEditMaterial.EditValue = _TankVmo.Material.ToString();
            }
            this.TextEditName.Text = _TankVmo.Name;
            this.TextEditMinorLoss.Text = _TankVmo.MinorLoss.ToString();
            this.DescriptionTextEdit.Text = _TankVmo.Description;
            this.TextEditKeyWord.Text = string.Join(",", _TankVmo.KeyWord);
            this.selectFlagsPopupCtrl1.SetBindingData<AssetsFlags>(_TankVmo.Flags);
@@ -143,18 +127,10 @@
        {
            if (!(Valid()))
                return;
            _TankVmo.Material = TextEditMaterial.Text.Trim();
            _TankVmo.Description = DescriptionTextEdit.Text.Trim();
            _TankVmo.Name = TextEditName.Text.Trim();
            _TankVmo.KeyWord = TextEditKeyWord.Text.Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries).ToList();
            if (double.TryParse(TextEditCaliber.Text, out double caliber))
            {
                _TankVmo.Caliber = caliber;
            }
            if (double.TryParse(TextEditMinorLoss.Text, out double MinorLoss))
            {
                _TankVmo.MinorLoss = MinorLoss;
            }
            _TankVmo.Flags = this.selectFlagsPopupCtrl1.SelectedFlags;
            if (await this.ReloadDataEvent.Invoke(_TankVmo))
            {
WinFrmUI/HStation.WinFrmUI.Assets.Core/14-tank/BluntheadViewModel.cs
@@ -12,52 +12,18 @@
        {
            this.ID = rhs.ID;
            this.Description = rhs.Description;
            if (rhs.Caliber == null)
            {
                this.Caliber = "默认";
            }
            else
            {
                this.Caliber = rhs.Caliber.ToString();
            }
            if (rhs.Material == null)
            {
                this.Material = "默认";
            }
            else
            {
                this.Material = rhs.Material.ToString();
            }
            this.Name = rhs.Name;
            this.SortCode = rhs.SortCode;
            this.KeyWord = string.Join(",", rhs.KeyWord);
            this.MinorLoss = rhs.MinorLoss;
        }
        public void Reset(Vmo.AssetsTankMainVmo rhs)
        {
            this.ID = rhs.ID;
            if (rhs.Caliber == null)
            {
                this.Caliber = "默认";
            }
            else
            {
                this.Caliber = rhs.Caliber.ToString();
            }
            if (rhs.Material == null)
            {
                this.Material = "默认";
            }
            else
            {
                this.Material = rhs.Material.ToString();
            }
            this.Description = rhs.Description;
            this.Name = rhs.Name;
            this.KeyWord = string.Join(",", rhs.KeyWord);
            this.SortCode = rhs.SortCode;
            this.MinorLoss = rhs.MinorLoss;
        }
        /// <summary>
@@ -73,25 +39,39 @@
        public string Name { get; set; }
        /// <summary>
        /// 口径
        /// 最低水位
        /// </summary>
        [DisplayName("口径(mm)")]
        [DisplayName("最低水位")]
        [Browsable(true)]
        public string Caliber { get; set; }
        public double MinLevel { get; set; }
        /// <summary>
        /// 材料
        /// 最高水位
        /// </summary>
        [DisplayName("材料")]
        [DisplayName("最高水位")]
        [Browsable(true)]
        public string Material { get; set; }
        public double MaxLevel { get; set; }
        /// <summary>
        /// 系数
        /// 公称直径
        /// </summary>
        [DisplayName("系数")]
        [DisplayName("公称直径")]
        [Browsable(true)]
        public double MinorLoss { get; set; }
        public double DN { get; set; }
        /// <summary>
        /// 最小容积
        /// </summary>
        [DisplayName("最小容积")]
        [Browsable(true)]
        public double MinVol { get; set; }
        /// <summary>
        /// 是否允许溢流
        /// </summary>
        [DisplayName("是否允许溢流")]
        [Browsable(true)]
        public bool OverFlow { get; set; }
        /// <summary>
        /// 识别关键字
WinFrmUI/HStation.WinFrmUI.Assets.Core/15-meter/02-main/AddAssetsSprinklerMainDlg.Designer.cs
@@ -43,8 +43,6 @@
            simpleButton1 = new DevExpress.XtraEditors.SimpleButton();
            TextEditName = new DevExpress.XtraEditors.TextEdit();
            DescriptionTextEdit = new DevExpress.XtraEditors.MemoEdit();
            TextEditCaliber = new DevExpress.XtraEditors.ImageComboBoxEdit();
            TextEditMaterial = new DevExpress.XtraEditors.ImageComboBoxEdit();
            TextEditKeyWord = new DevExpress.XtraEditors.TextEdit();
            TextEditMinorLoss = new DevExpress.XtraEditors.PopupContainerEdit();
            Root = new DevExpress.XtraLayout.LayoutControlGroup();
@@ -52,10 +50,8 @@
            emptySpaceItem1 = new DevExpress.XtraLayout.EmptySpaceItem();
            layoutControlItem8 = new DevExpress.XtraLayout.LayoutControlItem();
            layoutControlItem1 = new DevExpress.XtraLayout.LayoutControlItem();
            layoutControlItem12 = new DevExpress.XtraLayout.LayoutControlItem();
            layoutControlGroup5 = new DevExpress.XtraLayout.LayoutControlGroup();
            layoutControlItem5 = new DevExpress.XtraLayout.LayoutControlItem();
            layoutControlItem9 = new DevExpress.XtraLayout.LayoutControlItem();
            layoutControlItem2 = new DevExpress.XtraLayout.LayoutControlItem();
            layoutControlItem7 = new DevExpress.XtraLayout.LayoutControlItem();
            layoutControlItem3 = new DevExpress.XtraLayout.LayoutControlItem();
@@ -77,8 +73,6 @@
            ((System.ComponentModel.ISupportInitialize)MeterCoefficientViewModelBindingSource).BeginInit();
            ((System.ComponentModel.ISupportInitialize)TextEditName.Properties).BeginInit();
            ((System.ComponentModel.ISupportInitialize)DescriptionTextEdit.Properties).BeginInit();
            ((System.ComponentModel.ISupportInitialize)TextEditCaliber.Properties).BeginInit();
            ((System.ComponentModel.ISupportInitialize)TextEditMaterial.Properties).BeginInit();
            ((System.ComponentModel.ISupportInitialize)TextEditKeyWord.Properties).BeginInit();
            ((System.ComponentModel.ISupportInitialize)TextEditMinorLoss.Properties).BeginInit();
            ((System.ComponentModel.ISupportInitialize)Root).BeginInit();
@@ -86,10 +80,8 @@
            ((System.ComponentModel.ISupportInitialize)emptySpaceItem1).BeginInit();
            ((System.ComponentModel.ISupportInitialize)layoutControlItem8).BeginInit();
            ((System.ComponentModel.ISupportInitialize)layoutControlItem1).BeginInit();
            ((System.ComponentModel.ISupportInitialize)layoutControlItem12).BeginInit();
            ((System.ComponentModel.ISupportInitialize)layoutControlGroup5).BeginInit();
            ((System.ComponentModel.ISupportInitialize)layoutControlItem5).BeginInit();
            ((System.ComponentModel.ISupportInitialize)layoutControlItem9).BeginInit();
            ((System.ComponentModel.ISupportInitialize)layoutControlItem2).BeginInit();
            ((System.ComponentModel.ISupportInitialize)layoutControlItem7).BeginInit();
            ((System.ComponentModel.ISupportInitialize)layoutControlItem3).BeginInit();
@@ -112,8 +104,6 @@
            layoutControl1.Controls.Add(simpleButton1);
            layoutControl1.Controls.Add(TextEditName);
            layoutControl1.Controls.Add(DescriptionTextEdit);
            layoutControl1.Controls.Add(TextEditCaliber);
            layoutControl1.Controls.Add(TextEditMaterial);
            layoutControl1.Controls.Add(TextEditKeyWord);
            layoutControl1.Controls.Add(TextEditMinorLoss);
            layoutControl1.Dock = DockStyle.Fill;
@@ -127,9 +117,9 @@
            // 
            // selectFlagsPopupCtrl1
            // 
            selectFlagsPopupCtrl1.Location = new Point(72, 80);
            selectFlagsPopupCtrl1.Location = new Point(72, 56);
            selectFlagsPopupCtrl1.Name = "selectFlagsPopupCtrl1";
            selectFlagsPopupCtrl1.Size = new Size(597, 19);
            selectFlagsPopupCtrl1.Size = new Size(597, 20);
            selectFlagsPopupCtrl1.TabIndex = 6;
            // 
            // popupContainerControl1
@@ -229,31 +219,11 @@
            // 
            // DescriptionTextEdit
            // 
            DescriptionTextEdit.Location = new Point(20, 136);
            DescriptionTextEdit.Location = new Point(20, 113);
            DescriptionTextEdit.Name = "DescriptionTextEdit";
            DescriptionTextEdit.Size = new Size(637, 306);
            DescriptionTextEdit.Size = new Size(637, 329);
            DescriptionTextEdit.StyleController = layoutControl1;
            DescriptionTextEdit.TabIndex = 7;
            //
            // TextEditCaliber
            //
            TextEditCaliber.Location = new Point(72, 32);
            TextEditCaliber.Name = "TextEditCaliber";
            TextEditCaliber.Properties.Buttons.AddRange(new DevExpress.XtraEditors.Controls.EditorButton[] { new DevExpress.XtraEditors.Controls.EditorButton(DevExpress.XtraEditors.Controls.ButtonPredefines.Combo) });
            TextEditCaliber.Size = new Size(264, 20);
            TextEditCaliber.StyleController = layoutControl1;
            TextEditCaliber.TabIndex = 3;
            TextEditCaliber.SelectedIndexChanged += TextEditCaliber_SelectedIndexChanged;
            //
            // TextEditMaterial
            //
            TextEditMaterial.Location = new Point(404, 32);
            TextEditMaterial.Name = "TextEditMaterial";
            TextEditMaterial.Properties.Buttons.AddRange(new DevExpress.XtraEditors.Controls.EditorButton[] { new DevExpress.XtraEditors.Controls.EditorButton(DevExpress.XtraEditors.Controls.ButtonPredefines.Combo) });
            TextEditMaterial.Size = new Size(265, 20);
            TextEditMaterial.StyleController = layoutControl1;
            TextEditMaterial.TabIndex = 4;
            TextEditMaterial.SelectedIndexChanged += TextEditMaterial_SelectedIndexChanged;
            // 
            // TextEditKeyWord
            // 
@@ -265,7 +235,7 @@
            // 
            // TextEditMinorLoss
            // 
            TextEditMinorLoss.Location = new Point(72, 56);
            TextEditMinorLoss.Location = new Point(72, 32);
            TextEditMinorLoss.Name = "TextEditMinorLoss";
            TextEditMinorLoss.Properties.Buttons.AddRange(new DevExpress.XtraEditors.Controls.EditorButton[] { new DevExpress.XtraEditors.Controls.EditorButton(DevExpress.XtraEditors.Controls.ButtonPredefines.Combo) });
            TextEditMinorLoss.Properties.PopupControl = popupContainerControl1;
@@ -280,7 +250,7 @@
            Root.AppearanceItemCaption.TextOptions.HAlignment = DevExpress.Utils.HorzAlignment.Far;
            Root.EnableIndentsWithoutBorders = DevExpress.Utils.DefaultBoolean.True;
            Root.GroupBordersVisible = false;
            Root.Items.AddRange(new DevExpress.XtraLayout.BaseLayoutItem[] { layoutControlItem4, emptySpaceItem1, layoutControlItem8, layoutControlItem1, layoutControlItem12, layoutControlGroup5, layoutControlItem9, layoutControlItem2, layoutControlItem7, layoutControlItem3 });
            Root.Items.AddRange(new DevExpress.XtraLayout.BaseLayoutItem[] { layoutControlItem4, emptySpaceItem1, layoutControlItem8, layoutControlItem1, layoutControlGroup5, layoutControlItem2, layoutControlItem7, layoutControlItem3 });
            Root.Name = "Root";
            Root.Padding = new DevExpress.XtraLayout.Utils.Padding(6, 6, 6, 6);
            Root.Size = new Size(677, 488);
@@ -322,23 +292,14 @@
            layoutControlItem1.Text = "<color=red>*</color>型号:";
            layoutControlItem1.TextSize = new Size(52, 14);
            // 
            // layoutControlItem12
            //
            layoutControlItem12.Control = TextEditMaterial;
            layoutControlItem12.Location = new Point(332, 24);
            layoutControlItem12.Name = "layoutControlItem12";
            layoutControlItem12.Size = new Size(333, 24);
            layoutControlItem12.Text = "材料:";
            layoutControlItem12.TextSize = new Size(52, 14);
            //
            // layoutControlGroup5
            // 
            layoutControlGroup5.AppearanceGroup.FontSizeDelta = 1;
            layoutControlGroup5.AppearanceGroup.Options.UseFont = true;
            layoutControlGroup5.Items.AddRange(new DevExpress.XtraLayout.BaseLayoutItem[] { layoutControlItem5 });
            layoutControlGroup5.Location = new Point(0, 95);
            layoutControlGroup5.Location = new Point(0, 72);
            layoutControlGroup5.Name = "layoutControlGroup5";
            layoutControlGroup5.Size = new Size(665, 355);
            layoutControlGroup5.Size = new Size(665, 378);
            layoutControlGroup5.Text = "说明";
            // 
            // layoutControlItem5
@@ -346,21 +307,12 @@
            layoutControlItem5.Control = DescriptionTextEdit;
            layoutControlItem5.Location = new Point(0, 0);
            layoutControlItem5.Name = "layoutControlItem5";
            layoutControlItem5.Size = new Size(641, 310);
            layoutControlItem5.Size = new Size(641, 333);
            layoutControlItem5.Text = "说明:";
            layoutControlItem5.TextAlignMode = DevExpress.XtraLayout.TextAlignModeItem.CustomSize;
            layoutControlItem5.TextSize = new Size(0, 0);
            layoutControlItem5.TextToControlDistance = 0;
            layoutControlItem5.TextVisible = false;
            //
            // layoutControlItem9
            //
            layoutControlItem9.Control = TextEditCaliber;
            layoutControlItem9.Location = new Point(0, 24);
            layoutControlItem9.Name = "layoutControlItem9";
            layoutControlItem9.Size = new Size(332, 24);
            layoutControlItem9.Text = "口径:";
            layoutControlItem9.TextSize = new Size(52, 14);
            // 
            // layoutControlItem2
            // 
@@ -374,7 +326,7 @@
            // layoutControlItem7
            // 
            layoutControlItem7.Control = TextEditMinorLoss;
            layoutControlItem7.Location = new Point(0, 48);
            layoutControlItem7.Location = new Point(0, 24);
            layoutControlItem7.Name = "layoutControlItem7";
            layoutControlItem7.Size = new Size(665, 24);
            layoutControlItem7.Text = "局阻系数:";
@@ -383,9 +335,9 @@
            // layoutControlItem3
            // 
            layoutControlItem3.Control = selectFlagsPopupCtrl1;
            layoutControlItem3.Location = new Point(0, 72);
            layoutControlItem3.Location = new Point(0, 48);
            layoutControlItem3.Name = "layoutControlItem3";
            layoutControlItem3.Size = new Size(665, 23);
            layoutControlItem3.Size = new Size(665, 24);
            layoutControlItem3.Text = "标签列表:";
            layoutControlItem3.TextSize = new Size(52, 14);
            // 
@@ -476,8 +428,6 @@
            ((System.ComponentModel.ISupportInitialize)MeterCoefficientViewModelBindingSource).EndInit();
            ((System.ComponentModel.ISupportInitialize)TextEditName.Properties).EndInit();
            ((System.ComponentModel.ISupportInitialize)DescriptionTextEdit.Properties).EndInit();
            ((System.ComponentModel.ISupportInitialize)TextEditCaliber.Properties).EndInit();
            ((System.ComponentModel.ISupportInitialize)TextEditMaterial.Properties).EndInit();
            ((System.ComponentModel.ISupportInitialize)TextEditKeyWord.Properties).EndInit();
            ((System.ComponentModel.ISupportInitialize)TextEditMinorLoss.Properties).EndInit();
            ((System.ComponentModel.ISupportInitialize)Root).EndInit();
@@ -485,10 +435,8 @@
            ((System.ComponentModel.ISupportInitialize)emptySpaceItem1).EndInit();
            ((System.ComponentModel.ISupportInitialize)layoutControlItem8).EndInit();
            ((System.ComponentModel.ISupportInitialize)layoutControlItem1).EndInit();
            ((System.ComponentModel.ISupportInitialize)layoutControlItem12).EndInit();
            ((System.ComponentModel.ISupportInitialize)layoutControlGroup5).EndInit();
            ((System.ComponentModel.ISupportInitialize)layoutControlItem5).EndInit();
            ((System.ComponentModel.ISupportInitialize)layoutControlItem9).EndInit();
            ((System.ComponentModel.ISupportInitialize)layoutControlItem2).EndInit();
            ((System.ComponentModel.ISupportInitialize)layoutControlItem7).EndInit();
            ((System.ComponentModel.ISupportInitialize)layoutControlItem3).EndInit();
@@ -516,8 +464,6 @@
        private DevExpress.XtraEditors.SimpleButton simpleButton1;
        private DevExpress.XtraLayout.EmptySpaceItem emptySpaceItem1;
        private DevExpress.XtraLayout.LayoutControlItem layoutControlItem8;
        private DevExpress.XtraLayout.LayoutControlItem layoutControlItem9;
        private DevExpress.XtraLayout.LayoutControlItem layoutControlItem12;
        private DevExpress.XtraLayout.LayoutControlItem layoutControlItem5;
        private DevExpress.XtraEditors.SimpleButton btnCancel;
        private DevExpress.XtraEditors.TextEdit MotorFrequencyTextEdit;
@@ -532,8 +478,6 @@
        private DevExpress.XtraLayout.LayoutControlGroup layoutControlGroup3;
        private DevExpress.XtraLayout.LayoutControlGroup layoutControlGroup4;
        private DevExpress.XtraLayout.LayoutControlItem layoutControlItem27;
        private DevExpress.XtraEditors.ImageComboBoxEdit TextEditCaliber;
        private DevExpress.XtraEditors.ImageComboBoxEdit TextEditMaterial;
        private DevExpress.XtraLayout.LayoutControlGroup layoutControlGroup5;
        private DevExpress.Utils.ToolTipController toolTipController1;
        private DevExpress.XtraEditors.TextEdit TextEditKeyWord;
WinFrmUI/HStation.WinFrmUI.Assets.Core/15-meter/02-main/AddAssetsSprinklerMainDlg.cs
@@ -23,26 +23,6 @@
            this.MeterCoefficientViewModelBindingSource.DataSource = _AssetsMeterCoefficient;
            _MeterVmo = new Vmo.AssetsMeterMainVmo();
            _MeterVmo.SeriesID = SeriesID;
            var allCaliber = await new Yw.BLL.SysDictData().GetByTypeCode("1");
            if (allCaliber != null)
            {
                foreach (var item in allCaliber)
                {
                    var imageItem = new ImageComboBoxItem(item.Name, item.ID);
                    TextEditCaliber.Properties.Items.Add(imageItem);
                }
            }
            var allMaterial = await new Yw.BLL.SysDictData().GetByTypeCode("3");
            if (allMaterial != null)
            {
                foreach (var item in allMaterial)
                {
                    var imageItem = new ImageComboBoxItem(item.Name, item.ID);
                    TextEditMaterial.Properties.Items.Add(imageItem);
                }
            }
            TextEditCaliber.SelectedIndex = 0;
            TextEditMaterial.SelectedIndex = 0;
            this.selectFlagsPopupCtrl1.SetBindingData<AssetsFlags>();
        }
@@ -66,65 +46,6 @@
            return true;
        }
        //材料选择变化事件
        private void TextEditMaterial_SelectedIndexChanged(object sender, EventArgs e)
        {
            if (_AssetsMeterCoefficient == null)
                return;
            var select = GetCoefficientByMaterial(TextEditMaterial.Text);
            if (select == null)
            {
                this.TextEditCoefficient.Text = string.Empty;
                return;
            }
            this.TextEditCoefficient.Text = select.MinorLoss.ToString();
        }
        //口径选择变化事件
        private void TextEditCaliber_SelectedIndexChanged(object sender, EventArgs e)
        {
            if (_AssetsMeterCoefficient == null)
                return;
            if (double.TryParse(TextEditCaliber.Text, out double caliber))
            {
                foreach (var item in _AssetsMeterCoefficient)
                {
                    if (item.Caliber.HasValue)
                    {
                        if (Math.Abs(Convert.ToDouble(item.Caliber) - caliber) < 10)
                        {
                            this.TextEditCoefficient.Text = item.MinorLoss.ToString();
                            return;
                        }
                    }
                }
            }
        }
        //找到最相近的材料
        private AssetsMeterCoefficientVmo GetCoefficientByMaterial(string name)
        {
            AssetsMeterCoefficientVmo select = null;
            int maxMatchedChars = 0;
            foreach (var item in _AssetsMeterCoefficient)
            {
                int matchedChars = GetIntersect(item.Material, name);
                if (matchedChars > maxMatchedChars)
                {
                    maxMatchedChars = matchedChars;
                    select = item;
                    return select;
                }
            }
            return select;
        }
        private int GetIntersect(string str1, string str2)
        {
            if (str1 == null || str2 == null) return 0;
            return string.Join("", str1.Intersect(str2)).Count();
        }
        //完成
        private async void BtnOk_ClickAsync(object sender, EventArgs e)
        {
@@ -133,11 +54,6 @@
            _MeterVmo.Description = DescriptionTextEdit.Text.Trim();
            _MeterVmo.Name = TextEditName.Text.Trim();
            _MeterVmo.KeyWord = this.TextEditKeyWord.Text.Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries).ToList();
            _MeterVmo.Material = TextEditMaterial.Text.Trim();
            if (double.TryParse(TextEditCaliber.Text, out double caliber))
            {
                _MeterVmo.Caliber = caliber;
            }
            if (double.TryParse(TextEditMinorLoss.Text, out double minorLoss))
            {
                _MeterVmo.MinorLoss = minorLoss;
WinFrmUI/HStation.WinFrmUI.Assets.Core/15-meter/02-main/AddAssetsSprinklerMainDlg.resx
@@ -117,13 +117,13 @@
  <resheader name="writer">
    <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
  </resheader>
  <metadata name="BluntheadCoefficientViewModelBindingSource.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
  <metadata name="MeterCoefficientViewModelBindingSource.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
    <value>17, 17</value>
  </metadata>
  <metadata name="dxErrorProvider1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
    <value>340, 17</value>
    <value>317, 17</value>
  </metadata>
  <metadata name="toolTipController1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
    <value>495, 17</value>
    <value>472, 17</value>
  </metadata>
</root>
WinFrmUI/HStation.WinFrmUI.Assets.Core/15-meter/02-main/EditAssetsBluntheadMainDlg.Designer.cs
@@ -43,8 +43,6 @@
            simpleButton1 = new DevExpress.XtraEditors.SimpleButton();
            TextEditName = new DevExpress.XtraEditors.TextEdit();
            DescriptionTextEdit = new DevExpress.XtraEditors.MemoEdit();
            TextEditCaliber = new DevExpress.XtraEditors.ImageComboBoxEdit();
            TextEditMaterial = new DevExpress.XtraEditors.ImageComboBoxEdit();
            TextEditKeyWord = new DevExpress.XtraEditors.TextEdit();
            TextEditMinorLoss = new DevExpress.XtraEditors.PopupContainerEdit();
            Root = new DevExpress.XtraLayout.LayoutControlGroup();
@@ -52,10 +50,8 @@
            emptySpaceItem1 = new DevExpress.XtraLayout.EmptySpaceItem();
            layoutControlItem8 = new DevExpress.XtraLayout.LayoutControlItem();
            layoutControlItem1 = new DevExpress.XtraLayout.LayoutControlItem();
            layoutControlItem9 = new DevExpress.XtraLayout.LayoutControlItem();
            layoutControlGroup5 = new DevExpress.XtraLayout.LayoutControlGroup();
            layoutControlItem5 = new DevExpress.XtraLayout.LayoutControlItem();
            layoutControlItem12 = new DevExpress.XtraLayout.LayoutControlItem();
            layoutControlItem7 = new DevExpress.XtraLayout.LayoutControlItem();
            layoutControlItem11 = new DevExpress.XtraLayout.LayoutControlItem();
            layoutControlItem6 = new DevExpress.XtraLayout.LayoutControlItem();
@@ -79,8 +75,6 @@
            ((System.ComponentModel.ISupportInitialize)MeterCoefficientViewModelBindingSource).BeginInit();
            ((System.ComponentModel.ISupportInitialize)TextEditName.Properties).BeginInit();
            ((System.ComponentModel.ISupportInitialize)DescriptionTextEdit.Properties).BeginInit();
            ((System.ComponentModel.ISupportInitialize)TextEditCaliber.Properties).BeginInit();
            ((System.ComponentModel.ISupportInitialize)TextEditMaterial.Properties).BeginInit();
            ((System.ComponentModel.ISupportInitialize)TextEditKeyWord.Properties).BeginInit();
            ((System.ComponentModel.ISupportInitialize)TextEditMinorLoss.Properties).BeginInit();
            ((System.ComponentModel.ISupportInitialize)Root).BeginInit();
@@ -88,10 +82,8 @@
            ((System.ComponentModel.ISupportInitialize)emptySpaceItem1).BeginInit();
            ((System.ComponentModel.ISupportInitialize)layoutControlItem8).BeginInit();
            ((System.ComponentModel.ISupportInitialize)layoutControlItem1).BeginInit();
            ((System.ComponentModel.ISupportInitialize)layoutControlItem9).BeginInit();
            ((System.ComponentModel.ISupportInitialize)layoutControlGroup5).BeginInit();
            ((System.ComponentModel.ISupportInitialize)layoutControlItem5).BeginInit();
            ((System.ComponentModel.ISupportInitialize)layoutControlItem12).BeginInit();
            ((System.ComponentModel.ISupportInitialize)layoutControlItem7).BeginInit();
            ((System.ComponentModel.ISupportInitialize)layoutControlItem11).BeginInit();
            ((System.ComponentModel.ISupportInitialize)layoutControlItem6).BeginInit();
@@ -116,8 +108,6 @@
            layoutControl1.Controls.Add(simpleButton1);
            layoutControl1.Controls.Add(TextEditName);
            layoutControl1.Controls.Add(DescriptionTextEdit);
            layoutControl1.Controls.Add(TextEditCaliber);
            layoutControl1.Controls.Add(TextEditMaterial);
            layoutControl1.Controls.Add(TextEditKeyWord);
            layoutControl1.Controls.Add(TextEditMinorLoss);
            layoutControl1.Dock = DockStyle.Fill;
@@ -131,9 +121,9 @@
            // 
            // selectFlagsPopupCtrl1
            // 
            selectFlagsPopupCtrl1.Location = new Point(72, 80);
            selectFlagsPopupCtrl1.Location = new Point(72, 56);
            selectFlagsPopupCtrl1.Name = "selectFlagsPopupCtrl1";
            selectFlagsPopupCtrl1.Size = new Size(601, 20);
            selectFlagsPopupCtrl1.Size = new Size(601, 21);
            selectFlagsPopupCtrl1.TabIndex = 7;
            // 
            // popupContainerControl1
@@ -233,31 +223,11 @@
            // 
            // DescriptionTextEdit
            // 
            DescriptionTextEdit.Location = new Point(20, 137);
            DescriptionTextEdit.Location = new Point(20, 114);
            DescriptionTextEdit.Name = "DescriptionTextEdit";
            DescriptionTextEdit.Size = new Size(641, 299);
            DescriptionTextEdit.Size = new Size(641, 322);
            DescriptionTextEdit.StyleController = layoutControl1;
            DescriptionTextEdit.TabIndex = 6;
            //
            // TextEditCaliber
            //
            TextEditCaliber.Location = new Point(72, 32);
            TextEditCaliber.Name = "TextEditCaliber";
            TextEditCaliber.Properties.Buttons.AddRange(new DevExpress.XtraEditors.Controls.EditorButton[] { new DevExpress.XtraEditors.Controls.EditorButton(DevExpress.XtraEditors.Controls.ButtonPredefines.Combo) });
            TextEditCaliber.Size = new Size(266, 20);
            TextEditCaliber.StyleController = layoutControl1;
            TextEditCaliber.TabIndex = 3;
            TextEditCaliber.SelectedIndexChanged += TextEditCaliber_SelectedIndexChanged;
            //
            // TextEditMaterial
            //
            TextEditMaterial.Location = new Point(406, 32);
            TextEditMaterial.Name = "TextEditMaterial";
            TextEditMaterial.Properties.Buttons.AddRange(new DevExpress.XtraEditors.Controls.EditorButton[] { new DevExpress.XtraEditors.Controls.EditorButton(DevExpress.XtraEditors.Controls.ButtonPredefines.Combo) });
            TextEditMaterial.Size = new Size(267, 20);
            TextEditMaterial.StyleController = layoutControl1;
            TextEditMaterial.TabIndex = 4;
            TextEditMaterial.SelectedIndexChanged += TextEditMaterial_SelectedIndexChanged;
            // 
            // TextEditKeyWord
            // 
@@ -269,7 +239,7 @@
            // 
            // TextEditMinorLoss
            // 
            TextEditMinorLoss.Location = new Point(72, 56);
            TextEditMinorLoss.Location = new Point(72, 32);
            TextEditMinorLoss.Name = "TextEditMinorLoss";
            TextEditMinorLoss.Properties.Buttons.AddRange(new DevExpress.XtraEditors.Controls.EditorButton[] { new DevExpress.XtraEditors.Controls.EditorButton(DevExpress.XtraEditors.Controls.ButtonPredefines.Combo) });
            TextEditMinorLoss.Properties.PopupControl = popupContainerControl1;
@@ -284,7 +254,7 @@
            Root.AppearanceItemCaption.TextOptions.HAlignment = DevExpress.Utils.HorzAlignment.Far;
            Root.EnableIndentsWithoutBorders = DevExpress.Utils.DefaultBoolean.True;
            Root.GroupBordersVisible = false;
            Root.Items.AddRange(new DevExpress.XtraLayout.BaseLayoutItem[] { layoutControlItem4, emptySpaceItem1, layoutControlItem8, layoutControlItem1, layoutControlItem9, layoutControlGroup5, layoutControlItem12, layoutControlItem7, layoutControlItem11, layoutControlItem6 });
            Root.Items.AddRange(new DevExpress.XtraLayout.BaseLayoutItem[] { layoutControlItem4, emptySpaceItem1, layoutControlItem8, layoutControlItem1, layoutControlGroup5, layoutControlItem7, layoutControlItem11, layoutControlItem6 });
            Root.Name = "Root";
            Root.Padding = new DevExpress.XtraLayout.Utils.Padding(6, 6, 6, 6);
            Root.Size = new Size(681, 482);
@@ -326,21 +296,12 @@
            layoutControlItem1.Text = "<color=red>*</color>型号:";
            layoutControlItem1.TextSize = new Size(52, 14);
            // 
            // layoutControlItem9
            //
            layoutControlItem9.Control = TextEditCaliber;
            layoutControlItem9.Location = new Point(0, 24);
            layoutControlItem9.Name = "layoutControlItem9";
            layoutControlItem9.Size = new Size(334, 24);
            layoutControlItem9.Text = "口径:";
            layoutControlItem9.TextSize = new Size(52, 14);
            //
            // layoutControlGroup5
            // 
            layoutControlGroup5.Items.AddRange(new DevExpress.XtraLayout.BaseLayoutItem[] { layoutControlItem5 });
            layoutControlGroup5.Location = new Point(0, 96);
            layoutControlGroup5.Location = new Point(0, 73);
            layoutControlGroup5.Name = "layoutControlGroup5";
            layoutControlGroup5.Size = new Size(669, 348);
            layoutControlGroup5.Size = new Size(669, 371);
            layoutControlGroup5.Text = "说明";
            // 
            // layoutControlItem5
@@ -348,21 +309,12 @@
            layoutControlItem5.Control = DescriptionTextEdit;
            layoutControlItem5.Location = new Point(0, 0);
            layoutControlItem5.Name = "layoutControlItem5";
            layoutControlItem5.Size = new Size(645, 303);
            layoutControlItem5.Size = new Size(645, 326);
            layoutControlItem5.Text = "说明:";
            layoutControlItem5.TextAlignMode = DevExpress.XtraLayout.TextAlignModeItem.CustomSize;
            layoutControlItem5.TextSize = new Size(0, 0);
            layoutControlItem5.TextToControlDistance = 0;
            layoutControlItem5.TextVisible = false;
            //
            // layoutControlItem12
            //
            layoutControlItem12.Control = TextEditMaterial;
            layoutControlItem12.Location = new Point(334, 24);
            layoutControlItem12.Name = "layoutControlItem12";
            layoutControlItem12.Size = new Size(335, 24);
            layoutControlItem12.Text = "材料:";
            layoutControlItem12.TextSize = new Size(52, 14);
            // 
            // layoutControlItem7
            // 
@@ -376,7 +328,7 @@
            // layoutControlItem11
            // 
            layoutControlItem11.Control = TextEditMinorLoss;
            layoutControlItem11.Location = new Point(0, 48);
            layoutControlItem11.Location = new Point(0, 24);
            layoutControlItem11.Name = "layoutControlItem11";
            layoutControlItem11.Size = new Size(669, 24);
            layoutControlItem11.Text = "局阻系数:";
@@ -385,9 +337,9 @@
            // layoutControlItem6
            // 
            layoutControlItem6.Control = selectFlagsPopupCtrl1;
            layoutControlItem6.Location = new Point(0, 72);
            layoutControlItem6.Location = new Point(0, 48);
            layoutControlItem6.Name = "layoutControlItem6";
            layoutControlItem6.Size = new Size(669, 24);
            layoutControlItem6.Size = new Size(669, 25);
            layoutControlItem6.Text = "标签列表:";
            layoutControlItem6.TextSize = new Size(52, 14);
            // 
@@ -494,8 +446,6 @@
            ((System.ComponentModel.ISupportInitialize)MeterCoefficientViewModelBindingSource).EndInit();
            ((System.ComponentModel.ISupportInitialize)TextEditName.Properties).EndInit();
            ((System.ComponentModel.ISupportInitialize)DescriptionTextEdit.Properties).EndInit();
            ((System.ComponentModel.ISupportInitialize)TextEditCaliber.Properties).EndInit();
            ((System.ComponentModel.ISupportInitialize)TextEditMaterial.Properties).EndInit();
            ((System.ComponentModel.ISupportInitialize)TextEditKeyWord.Properties).EndInit();
            ((System.ComponentModel.ISupportInitialize)TextEditMinorLoss.Properties).EndInit();
            ((System.ComponentModel.ISupportInitialize)Root).EndInit();
@@ -503,10 +453,8 @@
            ((System.ComponentModel.ISupportInitialize)emptySpaceItem1).EndInit();
            ((System.ComponentModel.ISupportInitialize)layoutControlItem8).EndInit();
            ((System.ComponentModel.ISupportInitialize)layoutControlItem1).EndInit();
            ((System.ComponentModel.ISupportInitialize)layoutControlItem9).EndInit();
            ((System.ComponentModel.ISupportInitialize)layoutControlGroup5).EndInit();
            ((System.ComponentModel.ISupportInitialize)layoutControlItem5).EndInit();
            ((System.ComponentModel.ISupportInitialize)layoutControlItem12).EndInit();
            ((System.ComponentModel.ISupportInitialize)layoutControlItem7).EndInit();
            ((System.ComponentModel.ISupportInitialize)layoutControlItem11).EndInit();
            ((System.ComponentModel.ISupportInitialize)layoutControlItem6).EndInit();
@@ -536,8 +484,6 @@
        private DevExpress.XtraEditors.SimpleButton simpleButton1;
        private DevExpress.XtraLayout.EmptySpaceItem emptySpaceItem1;
        private DevExpress.XtraLayout.LayoutControlItem layoutControlItem8;
        private DevExpress.XtraLayout.LayoutControlItem layoutControlItem9;
        private DevExpress.XtraLayout.LayoutControlItem layoutControlItem12;
        private DevExpress.XtraLayout.LayoutControlItem layoutControlItem5;
        private DevExpress.XtraEditors.SimpleButton btnCancel;
        private DevExpress.XtraEditors.TextEdit MotorFrequencyTextEdit;
@@ -552,8 +498,6 @@
        private DevExpress.XtraLayout.LayoutControlGroup layoutControlGroup3;
        private DevExpress.XtraLayout.LayoutControlGroup layoutControlGroup4;
        private DevExpress.XtraLayout.LayoutControlItem layoutControlItem27;
        private DevExpress.XtraEditors.ImageComboBoxEdit TextEditCaliber;
        private DevExpress.XtraEditors.ImageComboBoxEdit TextEditMaterial;
        private DevExpress.XtraLayout.LayoutControlGroup layoutControlGroup5;
        private DevExpress.Utils.ToolTipController toolTipController1;
        private DevExpress.XtraEditors.TextEdit TextEditKeyWord;
WinFrmUI/HStation.WinFrmUI.Assets.Core/15-meter/02-main/EditAssetsBluntheadMainDlg.cs
@@ -24,40 +24,7 @@
            this.MeterCoefficientViewModelBindingSource.DataSource = _AssetsMeterCoefficient;
            _MeterVmo = MeterVmo;
            var allCaliber = await new Yw.BLL.SysDictData().GetByTypeCode("1");
            if (allCaliber != null)
            {
                foreach (var item in allCaliber)
                {
                    var imageItem = new ImageComboBoxItem(item.Name, item.Name);
                    TextEditCaliber.Properties.Items.Add(imageItem);
                }
            }
            var allMaterial = await new Yw.BLL.SysDictData().GetByTypeCode("3");
            if (allMaterial != null)
            {
                foreach (var item in allMaterial)
                {
                    var imageItem = new ImageComboBoxItem(item.Name, item.Name);
                    TextEditMaterial.Properties.Items.Add(imageItem);
                }
            }
            if (_MeterVmo.Caliber == null)
            {
                TextEditCaliber.EditValue = "默认";
            }
            else
            {
                TextEditCaliber.EditValue = _MeterVmo.Caliber.ToString();
            }
            if (_MeterVmo.Material == null)
            {
                TextEditMaterial.EditValue = "默认";
            }
            else
            {
                TextEditMaterial.EditValue = _MeterVmo.Material.ToString();
            }
            this.TextEditName.Text = _MeterVmo.Name;
            this.TextEditMinorLoss.Text = _MeterVmo.MinorLoss.ToString();
            this.DescriptionTextEdit.Text = _MeterVmo.Description;
@@ -79,78 +46,14 @@
            return true;
        }
        //材料选择变化事件
        private void TextEditMaterial_SelectedIndexChanged(object sender, EventArgs e)
        {
            if (_AssetsMeterCoefficient == null)
                return;
            var select = GetCoefficientByMaterial(TextEditMaterial.Text);
            if (select == null)
            {
                this.TextEditMinorLoss.Text = string.Empty;
                return;
            }
            this.TextEditMinorLoss.Text = select.MinorLoss.ToString();
        }
        //口径选择变化事件
        private void TextEditCaliber_SelectedIndexChanged(object sender, EventArgs e)
        {
            if (_AssetsMeterCoefficient == null)
                return;
            if (double.TryParse(TextEditCaliber.Text, out double caliber))
            {
                foreach (var item in _AssetsMeterCoefficient)
                {
                    if (item.Caliber.HasValue)
                    {
                        if (Math.Abs(Convert.ToDouble(item.Caliber) - caliber) < 10)
                        {
                            this.TextEditMinorLoss.Text = item.MinorLoss.ToString();
                            return;
                        }
                    }
                }
            }
        }
        //找到最相近的材料
        private AssetsMeterCoefficientVmo GetCoefficientByMaterial(string name)
        {
            AssetsMeterCoefficientVmo select = null;
            int maxMatchedChars = 0;
            foreach (var item in _AssetsMeterCoefficient)
            {
                int matchedChars = GetIntersect(item.Material, name);
                if (matchedChars > maxMatchedChars)
                {
                    maxMatchedChars = matchedChars;
                    select = item;
                    return select;
                }
            }
            return select;
        }
        private int GetIntersect(string str1, string str2)
        {
            if (str1 == null || str2 == null) return 0;
            return string.Join("", str1.Intersect(str2)).Count();
        }
        //完成
        private async void BtnOk_ClickAsync(object sender, EventArgs e)
        {
            if (!(Valid()))
                return;
            _MeterVmo.Material = TextEditMaterial.Text.Trim();
            _MeterVmo.Description = DescriptionTextEdit.Text.Trim();
            _MeterVmo.Name = TextEditName.Text.Trim();
            _MeterVmo.KeyWord = TextEditKeyWord.Text.Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries).ToList();
            if (double.TryParse(TextEditCaliber.Text, out double caliber))
            {
                _MeterVmo.Caliber = caliber;
            }
            if (double.TryParse(TextEditMinorLoss.Text, out double MinorLoss))
            {
                _MeterVmo.MinorLoss = MinorLoss;
WinFrmUI/HStation.WinFrmUI.Assets.Core/15-meter/BluntheadViewModel.cs
@@ -12,22 +12,6 @@
        {
            this.ID = rhs.ID;
            this.Description = rhs.Description;
            if (rhs.Caliber == null)
            {
                this.Caliber = "默认";
            }
            else
            {
                this.Caliber = rhs.Caliber.ToString();
            }
            if (rhs.Material == null)
            {
                this.Material = "默认";
            }
            else
            {
                this.Material = rhs.Material.ToString();
            }
            this.Name = rhs.Name;
            this.SortCode = rhs.SortCode;
            this.KeyWord = string.Join(",", rhs.KeyWord);
@@ -37,22 +21,6 @@
        public void Reset(Vmo.AssetsMeterMainVmo rhs)
        {
            this.ID = rhs.ID;
            if (rhs.Caliber == null)
            {
                this.Caliber = "默认";
            }
            else
            {
                this.Caliber = rhs.Caliber.ToString();
            }
            if (rhs.Material == null)
            {
                this.Material = "默认";
            }
            else
            {
                this.Material = rhs.Material.ToString();
            }
            this.Description = rhs.Description;
            this.Name = rhs.Name;
            this.KeyWord = string.Join(",", rhs.KeyWord);
@@ -71,20 +39,6 @@
        [DisplayName("名称")]
        [Browsable(true)]
        public string Name { get; set; }
        /// <summary>
        /// 口径
        /// </summary>
        [DisplayName("口径(mm)")]
        [Browsable(true)]
        public string Caliber { get; set; }
        /// <summary>
        /// 材料
        /// </summary>
        [DisplayName("材料")]
        [Browsable(true)]
        public string Material { get; set; }
        /// <summary>
        /// 系数
WinFrmUI/HStation.WinFrmUI.Assets.Core/16-flowmeter/02-main/AddAssetsSprinklerMainDlg.cs
@@ -133,11 +133,6 @@
            _FlowmeterVmo.Description = DescriptionTextEdit.Text.Trim();
            _FlowmeterVmo.Name = TextEditName.Text.Trim();
            _FlowmeterVmo.KeyWord = this.TextEditKeyWord.Text.Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries).ToList();
            _FlowmeterVmo.Material = TextEditMaterial.Text.Trim();
            if (double.TryParse(TextEditCaliber.Text, out double caliber))
            {
                _FlowmeterVmo.Caliber = caliber;
            }
            if (double.TryParse(TextEditMinorLoss.Text, out double minorLoss))
            {
                _FlowmeterVmo.MinorLoss = minorLoss;
WinFrmUI/HStation.WinFrmUI.Assets.Core/16-flowmeter/02-main/EditAssetsBluntheadMainDlg.Designer.cs
@@ -43,8 +43,6 @@
            simpleButton1 = new DevExpress.XtraEditors.SimpleButton();
            TextEditName = new DevExpress.XtraEditors.TextEdit();
            DescriptionTextEdit = new DevExpress.XtraEditors.MemoEdit();
            TextEditCaliber = new DevExpress.XtraEditors.ImageComboBoxEdit();
            TextEditMaterial = new DevExpress.XtraEditors.ImageComboBoxEdit();
            TextEditKeyWord = new DevExpress.XtraEditors.TextEdit();
            TextEditMinorLoss = new DevExpress.XtraEditors.PopupContainerEdit();
            Root = new DevExpress.XtraLayout.LayoutControlGroup();
@@ -52,10 +50,8 @@
            emptySpaceItem1 = new DevExpress.XtraLayout.EmptySpaceItem();
            layoutControlItem8 = new DevExpress.XtraLayout.LayoutControlItem();
            layoutControlItem1 = new DevExpress.XtraLayout.LayoutControlItem();
            layoutControlItem9 = new DevExpress.XtraLayout.LayoutControlItem();
            layoutControlGroup5 = new DevExpress.XtraLayout.LayoutControlGroup();
            layoutControlItem5 = new DevExpress.XtraLayout.LayoutControlItem();
            layoutControlItem12 = new DevExpress.XtraLayout.LayoutControlItem();
            layoutControlItem7 = new DevExpress.XtraLayout.LayoutControlItem();
            layoutControlItem11 = new DevExpress.XtraLayout.LayoutControlItem();
            layoutControlItem6 = new DevExpress.XtraLayout.LayoutControlItem();
@@ -79,8 +75,6 @@
            ((System.ComponentModel.ISupportInitialize)FlowmeterCoefficientViewModelBindingSource).BeginInit();
            ((System.ComponentModel.ISupportInitialize)TextEditName.Properties).BeginInit();
            ((System.ComponentModel.ISupportInitialize)DescriptionTextEdit.Properties).BeginInit();
            ((System.ComponentModel.ISupportInitialize)TextEditCaliber.Properties).BeginInit();
            ((System.ComponentModel.ISupportInitialize)TextEditMaterial.Properties).BeginInit();
            ((System.ComponentModel.ISupportInitialize)TextEditKeyWord.Properties).BeginInit();
            ((System.ComponentModel.ISupportInitialize)TextEditMinorLoss.Properties).BeginInit();
            ((System.ComponentModel.ISupportInitialize)Root).BeginInit();
@@ -88,10 +82,8 @@
            ((System.ComponentModel.ISupportInitialize)emptySpaceItem1).BeginInit();
            ((System.ComponentModel.ISupportInitialize)layoutControlItem8).BeginInit();
            ((System.ComponentModel.ISupportInitialize)layoutControlItem1).BeginInit();
            ((System.ComponentModel.ISupportInitialize)layoutControlItem9).BeginInit();
            ((System.ComponentModel.ISupportInitialize)layoutControlGroup5).BeginInit();
            ((System.ComponentModel.ISupportInitialize)layoutControlItem5).BeginInit();
            ((System.ComponentModel.ISupportInitialize)layoutControlItem12).BeginInit();
            ((System.ComponentModel.ISupportInitialize)layoutControlItem7).BeginInit();
            ((System.ComponentModel.ISupportInitialize)layoutControlItem11).BeginInit();
            ((System.ComponentModel.ISupportInitialize)layoutControlItem6).BeginInit();
@@ -116,8 +108,6 @@
            layoutControl1.Controls.Add(simpleButton1);
            layoutControl1.Controls.Add(TextEditName);
            layoutControl1.Controls.Add(DescriptionTextEdit);
            layoutControl1.Controls.Add(TextEditCaliber);
            layoutControl1.Controls.Add(TextEditMaterial);
            layoutControl1.Controls.Add(TextEditKeyWord);
            layoutControl1.Controls.Add(TextEditMinorLoss);
            layoutControl1.Dock = DockStyle.Fill;
@@ -131,9 +121,9 @@
            // 
            // selectFlagsPopupCtrl1
            // 
            selectFlagsPopupCtrl1.Location = new Point(72, 80);
            selectFlagsPopupCtrl1.Location = new Point(72, 56);
            selectFlagsPopupCtrl1.Name = "selectFlagsPopupCtrl1";
            selectFlagsPopupCtrl1.Size = new Size(601, 20);
            selectFlagsPopupCtrl1.Size = new Size(601, 21);
            selectFlagsPopupCtrl1.TabIndex = 7;
            // 
            // popupContainerControl1
@@ -233,31 +223,11 @@
            // 
            // DescriptionTextEdit
            // 
            DescriptionTextEdit.Location = new Point(20, 137);
            DescriptionTextEdit.Location = new Point(20, 114);
            DescriptionTextEdit.Name = "DescriptionTextEdit";
            DescriptionTextEdit.Size = new Size(641, 299);
            DescriptionTextEdit.Size = new Size(641, 322);
            DescriptionTextEdit.StyleController = layoutControl1;
            DescriptionTextEdit.TabIndex = 6;
            //
            // TextEditCaliber
            //
            TextEditCaliber.Location = new Point(72, 32);
            TextEditCaliber.Name = "TextEditCaliber";
            TextEditCaliber.Properties.Buttons.AddRange(new DevExpress.XtraEditors.Controls.EditorButton[] { new DevExpress.XtraEditors.Controls.EditorButton(DevExpress.XtraEditors.Controls.ButtonPredefines.Combo) });
            TextEditCaliber.Size = new Size(266, 20);
            TextEditCaliber.StyleController = layoutControl1;
            TextEditCaliber.TabIndex = 3;
            TextEditCaliber.SelectedIndexChanged += TextEditCaliber_SelectedIndexChanged;
            //
            // TextEditMaterial
            //
            TextEditMaterial.Location = new Point(406, 32);
            TextEditMaterial.Name = "TextEditMaterial";
            TextEditMaterial.Properties.Buttons.AddRange(new DevExpress.XtraEditors.Controls.EditorButton[] { new DevExpress.XtraEditors.Controls.EditorButton(DevExpress.XtraEditors.Controls.ButtonPredefines.Combo) });
            TextEditMaterial.Size = new Size(267, 20);
            TextEditMaterial.StyleController = layoutControl1;
            TextEditMaterial.TabIndex = 4;
            TextEditMaterial.SelectedIndexChanged += TextEditMaterial_SelectedIndexChanged;
            // 
            // TextEditKeyWord
            // 
@@ -269,7 +239,7 @@
            // 
            // TextEditMinorLoss
            // 
            TextEditMinorLoss.Location = new Point(72, 56);
            TextEditMinorLoss.Location = new Point(72, 32);
            TextEditMinorLoss.Name = "TextEditMinorLoss";
            TextEditMinorLoss.Properties.Buttons.AddRange(new DevExpress.XtraEditors.Controls.EditorButton[] { new DevExpress.XtraEditors.Controls.EditorButton(DevExpress.XtraEditors.Controls.ButtonPredefines.Combo) });
            TextEditMinorLoss.Properties.PopupControl = popupContainerControl1;
@@ -284,7 +254,7 @@
            Root.AppearanceItemCaption.TextOptions.HAlignment = DevExpress.Utils.HorzAlignment.Far;
            Root.EnableIndentsWithoutBorders = DevExpress.Utils.DefaultBoolean.True;
            Root.GroupBordersVisible = false;
            Root.Items.AddRange(new DevExpress.XtraLayout.BaseLayoutItem[] { layoutControlItem4, emptySpaceItem1, layoutControlItem8, layoutControlItem1, layoutControlItem9, layoutControlGroup5, layoutControlItem12, layoutControlItem7, layoutControlItem11, layoutControlItem6 });
            Root.Items.AddRange(new DevExpress.XtraLayout.BaseLayoutItem[] { layoutControlItem4, emptySpaceItem1, layoutControlItem8, layoutControlItem1, layoutControlGroup5, layoutControlItem7, layoutControlItem11, layoutControlItem6 });
            Root.Name = "Root";
            Root.Padding = new DevExpress.XtraLayout.Utils.Padding(6, 6, 6, 6);
            Root.Size = new Size(681, 482);
@@ -326,21 +296,12 @@
            layoutControlItem1.Text = "<color=red>*</color>型号:";
            layoutControlItem1.TextSize = new Size(52, 14);
            // 
            // layoutControlItem9
            //
            layoutControlItem9.Control = TextEditCaliber;
            layoutControlItem9.Location = new Point(0, 24);
            layoutControlItem9.Name = "layoutControlItem9";
            layoutControlItem9.Size = new Size(334, 24);
            layoutControlItem9.Text = "口径:";
            layoutControlItem9.TextSize = new Size(52, 14);
            //
            // layoutControlGroup5
            // 
            layoutControlGroup5.Items.AddRange(new DevExpress.XtraLayout.BaseLayoutItem[] { layoutControlItem5 });
            layoutControlGroup5.Location = new Point(0, 96);
            layoutControlGroup5.Location = new Point(0, 73);
            layoutControlGroup5.Name = "layoutControlGroup5";
            layoutControlGroup5.Size = new Size(669, 348);
            layoutControlGroup5.Size = new Size(669, 371);
            layoutControlGroup5.Text = "说明";
            // 
            // layoutControlItem5
@@ -348,21 +309,12 @@
            layoutControlItem5.Control = DescriptionTextEdit;
            layoutControlItem5.Location = new Point(0, 0);
            layoutControlItem5.Name = "layoutControlItem5";
            layoutControlItem5.Size = new Size(645, 303);
            layoutControlItem5.Size = new Size(645, 326);
            layoutControlItem5.Text = "说明:";
            layoutControlItem5.TextAlignMode = DevExpress.XtraLayout.TextAlignModeItem.CustomSize;
            layoutControlItem5.TextSize = new Size(0, 0);
            layoutControlItem5.TextToControlDistance = 0;
            layoutControlItem5.TextVisible = false;
            //
            // layoutControlItem12
            //
            layoutControlItem12.Control = TextEditMaterial;
            layoutControlItem12.Location = new Point(334, 24);
            layoutControlItem12.Name = "layoutControlItem12";
            layoutControlItem12.Size = new Size(335, 24);
            layoutControlItem12.Text = "材料:";
            layoutControlItem12.TextSize = new Size(52, 14);
            // 
            // layoutControlItem7
            // 
@@ -376,7 +328,7 @@
            // layoutControlItem11
            // 
            layoutControlItem11.Control = TextEditMinorLoss;
            layoutControlItem11.Location = new Point(0, 48);
            layoutControlItem11.Location = new Point(0, 24);
            layoutControlItem11.Name = "layoutControlItem11";
            layoutControlItem11.Size = new Size(669, 24);
            layoutControlItem11.Text = "局阻系数:";
@@ -385,9 +337,9 @@
            // layoutControlItem6
            // 
            layoutControlItem6.Control = selectFlagsPopupCtrl1;
            layoutControlItem6.Location = new Point(0, 72);
            layoutControlItem6.Location = new Point(0, 48);
            layoutControlItem6.Name = "layoutControlItem6";
            layoutControlItem6.Size = new Size(669, 24);
            layoutControlItem6.Size = new Size(669, 25);
            layoutControlItem6.Text = "标签列表:";
            layoutControlItem6.TextSize = new Size(52, 14);
            // 
@@ -494,8 +446,6 @@
            ((System.ComponentModel.ISupportInitialize)FlowmeterCoefficientViewModelBindingSource).EndInit();
            ((System.ComponentModel.ISupportInitialize)TextEditName.Properties).EndInit();
            ((System.ComponentModel.ISupportInitialize)DescriptionTextEdit.Properties).EndInit();
            ((System.ComponentModel.ISupportInitialize)TextEditCaliber.Properties).EndInit();
            ((System.ComponentModel.ISupportInitialize)TextEditMaterial.Properties).EndInit();
            ((System.ComponentModel.ISupportInitialize)TextEditKeyWord.Properties).EndInit();
            ((System.ComponentModel.ISupportInitialize)TextEditMinorLoss.Properties).EndInit();
            ((System.ComponentModel.ISupportInitialize)Root).EndInit();
@@ -503,10 +453,8 @@
            ((System.ComponentModel.ISupportInitialize)emptySpaceItem1).EndInit();
            ((System.ComponentModel.ISupportInitialize)layoutControlItem8).EndInit();
            ((System.ComponentModel.ISupportInitialize)layoutControlItem1).EndInit();
            ((System.ComponentModel.ISupportInitialize)layoutControlItem9).EndInit();
            ((System.ComponentModel.ISupportInitialize)layoutControlGroup5).EndInit();
            ((System.ComponentModel.ISupportInitialize)layoutControlItem5).EndInit();
            ((System.ComponentModel.ISupportInitialize)layoutControlItem12).EndInit();
            ((System.ComponentModel.ISupportInitialize)layoutControlItem7).EndInit();
            ((System.ComponentModel.ISupportInitialize)layoutControlItem11).EndInit();
            ((System.ComponentModel.ISupportInitialize)layoutControlItem6).EndInit();
@@ -536,8 +484,6 @@
        private DevExpress.XtraEditors.SimpleButton simpleButton1;
        private DevExpress.XtraLayout.EmptySpaceItem emptySpaceItem1;
        private DevExpress.XtraLayout.LayoutControlItem layoutControlItem8;
        private DevExpress.XtraLayout.LayoutControlItem layoutControlItem9;
        private DevExpress.XtraLayout.LayoutControlItem layoutControlItem12;
        private DevExpress.XtraLayout.LayoutControlItem layoutControlItem5;
        private DevExpress.XtraEditors.SimpleButton btnCancel;
        private DevExpress.XtraEditors.TextEdit MotorFrequencyTextEdit;
@@ -552,8 +498,6 @@
        private DevExpress.XtraLayout.LayoutControlGroup layoutControlGroup3;
        private DevExpress.XtraLayout.LayoutControlGroup layoutControlGroup4;
        private DevExpress.XtraLayout.LayoutControlItem layoutControlItem27;
        private DevExpress.XtraEditors.ImageComboBoxEdit TextEditCaliber;
        private DevExpress.XtraEditors.ImageComboBoxEdit TextEditMaterial;
        private DevExpress.XtraLayout.LayoutControlGroup layoutControlGroup5;
        private DevExpress.Utils.ToolTipController toolTipController1;
        private DevExpress.XtraEditors.TextEdit TextEditKeyWord;
WinFrmUI/HStation.WinFrmUI.Assets.Core/16-flowmeter/02-main/EditAssetsBluntheadMainDlg.cs
@@ -22,42 +22,7 @@
            var bll = new BLL.AssetsFlowmeterCoefficient();
            _AssetsFlowmeterCoefficient = await bll.GetAll();
            this.FlowmeterCoefficientViewModelBindingSource.DataSource = _AssetsFlowmeterCoefficient;
            _FlowmeterVmo = FlowmeterVmo;
            var allCaliber = await new Yw.BLL.SysDictData().GetByTypeCode("1");
            if (allCaliber != null)
            {
                foreach (var item in allCaliber)
                {
                    var imageItem = new ImageComboBoxItem(item.Name, item.Name);
                    TextEditCaliber.Properties.Items.Add(imageItem);
                }
            }
            var allMaterial = await new Yw.BLL.SysDictData().GetByTypeCode("3");
            if (allMaterial != null)
            {
                foreach (var item in allMaterial)
                {
                    var imageItem = new ImageComboBoxItem(item.Name, item.Name);
                    TextEditMaterial.Properties.Items.Add(imageItem);
                }
            }
            if (_FlowmeterVmo.Caliber == null)
            {
                TextEditCaliber.EditValue = "默认";
            }
            else
            {
                TextEditCaliber.EditValue = _FlowmeterVmo.Caliber.ToString();
            }
            if (_FlowmeterVmo.Material == null)
            {
                TextEditMaterial.EditValue = "默认";
            }
            else
            {
                TextEditMaterial.EditValue = _FlowmeterVmo.Material.ToString();
            }
            this.TextEditName.Text = _FlowmeterVmo.Name;
            this.TextEditMinorLoss.Text = _FlowmeterVmo.MinorLoss.ToString();
            this.DescriptionTextEdit.Text = _FlowmeterVmo.Description;
@@ -79,78 +44,14 @@
            return true;
        }
        //材料选择变化事件
        private void TextEditMaterial_SelectedIndexChanged(object sender, EventArgs e)
        {
            if (_AssetsFlowmeterCoefficient == null)
                return;
            var select = GetCoefficientByMaterial(TextEditMaterial.Text);
            if (select == null)
            {
                this.TextEditMinorLoss.Text = string.Empty;
                return;
            }
            this.TextEditMinorLoss.Text = select.MinorLoss.ToString();
        }
        //口径选择变化事件
        private void TextEditCaliber_SelectedIndexChanged(object sender, EventArgs e)
        {
            if (_AssetsFlowmeterCoefficient == null)
                return;
            if (double.TryParse(TextEditCaliber.Text, out double caliber))
            {
                foreach (var item in _AssetsFlowmeterCoefficient)
                {
                    if (item.Caliber.HasValue)
                    {
                        if (Math.Abs(Convert.ToDouble(item.Caliber) - caliber) < 10)
                        {
                            this.TextEditMinorLoss.Text = item.MinorLoss.ToString();
                            return;
                        }
                    }
                }
            }
        }
        //找到最相近的材料
        private AssetsFlowmeterCoefficientVmo GetCoefficientByMaterial(string name)
        {
            AssetsFlowmeterCoefficientVmo select = null;
            int maxMatchedChars = 0;
            foreach (var item in _AssetsFlowmeterCoefficient)
            {
                int matchedChars = GetIntersect(item.Material, name);
                if (matchedChars > maxMatchedChars)
                {
                    maxMatchedChars = matchedChars;
                    select = item;
                    return select;
                }
            }
            return select;
        }
        private int GetIntersect(string str1, string str2)
        {
            if (str1 == null || str2 == null) return 0;
            return string.Join("", str1.Intersect(str2)).Count();
        }
        //完成
        private async void BtnOk_ClickAsync(object sender, EventArgs e)
        {
            if (!(Valid()))
                return;
            _FlowmeterVmo.Material = TextEditMaterial.Text.Trim();
            _FlowmeterVmo.Description = DescriptionTextEdit.Text.Trim();
            _FlowmeterVmo.Name = TextEditName.Text.Trim();
            _FlowmeterVmo.KeyWord = TextEditKeyWord.Text.Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries).ToList();
            if (double.TryParse(TextEditCaliber.Text, out double caliber))
            {
                _FlowmeterVmo.Caliber = caliber;
            }
            if (double.TryParse(TextEditMinorLoss.Text, out double MinorLoss))
            {
                _FlowmeterVmo.MinorLoss = MinorLoss;
WinFrmUI/HStation.WinFrmUI.Assets.Core/16-flowmeter/BluntheadViewModel.cs
@@ -12,22 +12,6 @@
        {
            this.ID = rhs.ID;
            this.Description = rhs.Description;
            if (rhs.Caliber == null)
            {
                this.Caliber = "默认";
            }
            else
            {
                this.Caliber = rhs.Caliber.ToString();
            }
            if (rhs.Material == null)
            {
                this.Material = "默认";
            }
            else
            {
                this.Material = rhs.Material.ToString();
            }
            this.Name = rhs.Name;
            this.SortCode = rhs.SortCode;
            this.KeyWord = string.Join(",", rhs.KeyWord);
@@ -37,22 +21,6 @@
        public void Reset(Vmo.AssetsFlowmeterMainVmo rhs)
        {
            this.ID = rhs.ID;
            if (rhs.Caliber == null)
            {
                this.Caliber = "默认";
            }
            else
            {
                this.Caliber = rhs.Caliber.ToString();
            }
            if (rhs.Material == null)
            {
                this.Material = "默认";
            }
            else
            {
                this.Material = rhs.Material.ToString();
            }
            this.Description = rhs.Description;
            this.Name = rhs.Name;
            this.KeyWord = string.Join(",", rhs.KeyWord);
@@ -71,20 +39,6 @@
        [DisplayName("名称")]
        [Browsable(true)]
        public string Name { get; set; }
        /// <summary>
        /// 口径
        /// </summary>
        [DisplayName("口径(mm)")]
        [Browsable(true)]
        public string Caliber { get; set; }
        /// <summary>
        /// 材料
        /// </summary>
        [DisplayName("材料")]
        [Browsable(true)]
        public string Material { get; set; }
        /// <summary>
        /// 系数
WinFrmUI/HStation.WinFrmUI.Assets.Core/18-pressmeter/02-main/AddAssetsSprinklerMainDlg.cs
@@ -133,11 +133,7 @@
            _PressmeterVmo.Description = DescriptionTextEdit.Text.Trim();
            _PressmeterVmo.Name = TextEditName.Text.Trim();
            _PressmeterVmo.KeyWord = this.TextEditKeyWord.Text.Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries).ToList();
            _PressmeterVmo.Material = TextEditMaterial.Text.Trim();
            if (double.TryParse(TextEditCaliber.Text, out double caliber))
            {
                _PressmeterVmo.Caliber = caliber;
            }
            if (double.TryParse(TextEditMinorLoss.Text, out double minorLoss))
            {
                _PressmeterVmo.MinorLoss = minorLoss;
WinFrmUI/HStation.WinFrmUI.Assets.Core/18-pressmeter/02-main/EditAssetsBluntheadMainDlg.Designer.cs
@@ -43,8 +43,6 @@
            simpleButton1 = new DevExpress.XtraEditors.SimpleButton();
            TextEditName = new DevExpress.XtraEditors.TextEdit();
            DescriptionTextEdit = new DevExpress.XtraEditors.MemoEdit();
            TextEditCaliber = new DevExpress.XtraEditors.ImageComboBoxEdit();
            TextEditMaterial = new DevExpress.XtraEditors.ImageComboBoxEdit();
            TextEditKeyWord = new DevExpress.XtraEditors.TextEdit();
            TextEditMinorLoss = new DevExpress.XtraEditors.PopupContainerEdit();
            Root = new DevExpress.XtraLayout.LayoutControlGroup();
@@ -52,10 +50,8 @@
            emptySpaceItem1 = new DevExpress.XtraLayout.EmptySpaceItem();
            layoutControlItem8 = new DevExpress.XtraLayout.LayoutControlItem();
            layoutControlItem1 = new DevExpress.XtraLayout.LayoutControlItem();
            layoutControlItem9 = new DevExpress.XtraLayout.LayoutControlItem();
            layoutControlGroup5 = new DevExpress.XtraLayout.LayoutControlGroup();
            layoutControlItem5 = new DevExpress.XtraLayout.LayoutControlItem();
            layoutControlItem12 = new DevExpress.XtraLayout.LayoutControlItem();
            layoutControlItem7 = new DevExpress.XtraLayout.LayoutControlItem();
            layoutControlItem11 = new DevExpress.XtraLayout.LayoutControlItem();
            layoutControlItem6 = new DevExpress.XtraLayout.LayoutControlItem();
@@ -79,8 +75,6 @@
            ((System.ComponentModel.ISupportInitialize)PressmeterCoefficientViewModelBindingSource).BeginInit();
            ((System.ComponentModel.ISupportInitialize)TextEditName.Properties).BeginInit();
            ((System.ComponentModel.ISupportInitialize)DescriptionTextEdit.Properties).BeginInit();
            ((System.ComponentModel.ISupportInitialize)TextEditCaliber.Properties).BeginInit();
            ((System.ComponentModel.ISupportInitialize)TextEditMaterial.Properties).BeginInit();
            ((System.ComponentModel.ISupportInitialize)TextEditKeyWord.Properties).BeginInit();
            ((System.ComponentModel.ISupportInitialize)TextEditMinorLoss.Properties).BeginInit();
            ((System.ComponentModel.ISupportInitialize)Root).BeginInit();
@@ -88,10 +82,8 @@
            ((System.ComponentModel.ISupportInitialize)emptySpaceItem1).BeginInit();
            ((System.ComponentModel.ISupportInitialize)layoutControlItem8).BeginInit();
            ((System.ComponentModel.ISupportInitialize)layoutControlItem1).BeginInit();
            ((System.ComponentModel.ISupportInitialize)layoutControlItem9).BeginInit();
            ((System.ComponentModel.ISupportInitialize)layoutControlGroup5).BeginInit();
            ((System.ComponentModel.ISupportInitialize)layoutControlItem5).BeginInit();
            ((System.ComponentModel.ISupportInitialize)layoutControlItem12).BeginInit();
            ((System.ComponentModel.ISupportInitialize)layoutControlItem7).BeginInit();
            ((System.ComponentModel.ISupportInitialize)layoutControlItem11).BeginInit();
            ((System.ComponentModel.ISupportInitialize)layoutControlItem6).BeginInit();
@@ -116,8 +108,6 @@
            layoutControl1.Controls.Add(simpleButton1);
            layoutControl1.Controls.Add(TextEditName);
            layoutControl1.Controls.Add(DescriptionTextEdit);
            layoutControl1.Controls.Add(TextEditCaliber);
            layoutControl1.Controls.Add(TextEditMaterial);
            layoutControl1.Controls.Add(TextEditKeyWord);
            layoutControl1.Controls.Add(TextEditMinorLoss);
            layoutControl1.Dock = DockStyle.Fill;
@@ -131,9 +121,9 @@
            // 
            // selectFlagsPopupCtrl1
            // 
            selectFlagsPopupCtrl1.Location = new Point(72, 80);
            selectFlagsPopupCtrl1.Location = new Point(72, 56);
            selectFlagsPopupCtrl1.Name = "selectFlagsPopupCtrl1";
            selectFlagsPopupCtrl1.Size = new Size(601, 20);
            selectFlagsPopupCtrl1.Size = new Size(601, 21);
            selectFlagsPopupCtrl1.TabIndex = 7;
            // 
            // popupContainerControl1
@@ -233,31 +223,11 @@
            // 
            // DescriptionTextEdit
            // 
            DescriptionTextEdit.Location = new Point(20, 137);
            DescriptionTextEdit.Location = new Point(20, 114);
            DescriptionTextEdit.Name = "DescriptionTextEdit";
            DescriptionTextEdit.Size = new Size(641, 299);
            DescriptionTextEdit.Size = new Size(641, 322);
            DescriptionTextEdit.StyleController = layoutControl1;
            DescriptionTextEdit.TabIndex = 6;
            //
            // TextEditCaliber
            //
            TextEditCaliber.Location = new Point(72, 32);
            TextEditCaliber.Name = "TextEditCaliber";
            TextEditCaliber.Properties.Buttons.AddRange(new DevExpress.XtraEditors.Controls.EditorButton[] { new DevExpress.XtraEditors.Controls.EditorButton(DevExpress.XtraEditors.Controls.ButtonPredefines.Combo) });
            TextEditCaliber.Size = new Size(266, 20);
            TextEditCaliber.StyleController = layoutControl1;
            TextEditCaliber.TabIndex = 3;
            TextEditCaliber.SelectedIndexChanged += TextEditCaliber_SelectedIndexChanged;
            //
            // TextEditMaterial
            //
            TextEditMaterial.Location = new Point(406, 32);
            TextEditMaterial.Name = "TextEditMaterial";
            TextEditMaterial.Properties.Buttons.AddRange(new DevExpress.XtraEditors.Controls.EditorButton[] { new DevExpress.XtraEditors.Controls.EditorButton(DevExpress.XtraEditors.Controls.ButtonPredefines.Combo) });
            TextEditMaterial.Size = new Size(267, 20);
            TextEditMaterial.StyleController = layoutControl1;
            TextEditMaterial.TabIndex = 4;
            TextEditMaterial.SelectedIndexChanged += TextEditMaterial_SelectedIndexChanged;
            // 
            // TextEditKeyWord
            // 
@@ -269,7 +239,7 @@
            // 
            // TextEditMinorLoss
            // 
            TextEditMinorLoss.Location = new Point(72, 56);
            TextEditMinorLoss.Location = new Point(72, 32);
            TextEditMinorLoss.Name = "TextEditMinorLoss";
            TextEditMinorLoss.Properties.Buttons.AddRange(new DevExpress.XtraEditors.Controls.EditorButton[] { new DevExpress.XtraEditors.Controls.EditorButton(DevExpress.XtraEditors.Controls.ButtonPredefines.Combo) });
            TextEditMinorLoss.Properties.PopupControl = popupContainerControl1;
@@ -284,7 +254,7 @@
            Root.AppearanceItemCaption.TextOptions.HAlignment = DevExpress.Utils.HorzAlignment.Far;
            Root.EnableIndentsWithoutBorders = DevExpress.Utils.DefaultBoolean.True;
            Root.GroupBordersVisible = false;
            Root.Items.AddRange(new DevExpress.XtraLayout.BaseLayoutItem[] { layoutControlItem4, emptySpaceItem1, layoutControlItem8, layoutControlItem1, layoutControlItem9, layoutControlGroup5, layoutControlItem12, layoutControlItem7, layoutControlItem11, layoutControlItem6 });
            Root.Items.AddRange(new DevExpress.XtraLayout.BaseLayoutItem[] { layoutControlItem4, emptySpaceItem1, layoutControlItem8, layoutControlItem1, layoutControlGroup5, layoutControlItem7, layoutControlItem11, layoutControlItem6 });
            Root.Name = "Root";
            Root.Padding = new DevExpress.XtraLayout.Utils.Padding(6, 6, 6, 6);
            Root.Size = new Size(681, 482);
@@ -326,21 +296,12 @@
            layoutControlItem1.Text = "<color=red>*</color>型号:";
            layoutControlItem1.TextSize = new Size(52, 14);
            // 
            // layoutControlItem9
            //
            layoutControlItem9.Control = TextEditCaliber;
            layoutControlItem9.Location = new Point(0, 24);
            layoutControlItem9.Name = "layoutControlItem9";
            layoutControlItem9.Size = new Size(334, 24);
            layoutControlItem9.Text = "口径:";
            layoutControlItem9.TextSize = new Size(52, 14);
            //
            // layoutControlGroup5
            // 
            layoutControlGroup5.Items.AddRange(new DevExpress.XtraLayout.BaseLayoutItem[] { layoutControlItem5 });
            layoutControlGroup5.Location = new Point(0, 96);
            layoutControlGroup5.Location = new Point(0, 73);
            layoutControlGroup5.Name = "layoutControlGroup5";
            layoutControlGroup5.Size = new Size(669, 348);
            layoutControlGroup5.Size = new Size(669, 371);
            layoutControlGroup5.Text = "说明";
            // 
            // layoutControlItem5
@@ -348,21 +309,12 @@
            layoutControlItem5.Control = DescriptionTextEdit;
            layoutControlItem5.Location = new Point(0, 0);
            layoutControlItem5.Name = "layoutControlItem5";
            layoutControlItem5.Size = new Size(645, 303);
            layoutControlItem5.Size = new Size(645, 326);
            layoutControlItem5.Text = "说明:";
            layoutControlItem5.TextAlignMode = DevExpress.XtraLayout.TextAlignModeItem.CustomSize;
            layoutControlItem5.TextSize = new Size(0, 0);
            layoutControlItem5.TextToControlDistance = 0;
            layoutControlItem5.TextVisible = false;
            //
            // layoutControlItem12
            //
            layoutControlItem12.Control = TextEditMaterial;
            layoutControlItem12.Location = new Point(334, 24);
            layoutControlItem12.Name = "layoutControlItem12";
            layoutControlItem12.Size = new Size(335, 24);
            layoutControlItem12.Text = "材料:";
            layoutControlItem12.TextSize = new Size(52, 14);
            // 
            // layoutControlItem7
            // 
@@ -376,7 +328,7 @@
            // layoutControlItem11
            // 
            layoutControlItem11.Control = TextEditMinorLoss;
            layoutControlItem11.Location = new Point(0, 48);
            layoutControlItem11.Location = new Point(0, 24);
            layoutControlItem11.Name = "layoutControlItem11";
            layoutControlItem11.Size = new Size(669, 24);
            layoutControlItem11.Text = "局阻系数:";
@@ -385,9 +337,9 @@
            // layoutControlItem6
            // 
            layoutControlItem6.Control = selectFlagsPopupCtrl1;
            layoutControlItem6.Location = new Point(0, 72);
            layoutControlItem6.Location = new Point(0, 48);
            layoutControlItem6.Name = "layoutControlItem6";
            layoutControlItem6.Size = new Size(669, 24);
            layoutControlItem6.Size = new Size(669, 25);
            layoutControlItem6.Text = "标签列表:";
            layoutControlItem6.TextSize = new Size(52, 14);
            // 
@@ -494,8 +446,6 @@
            ((System.ComponentModel.ISupportInitialize)PressmeterCoefficientViewModelBindingSource).EndInit();
            ((System.ComponentModel.ISupportInitialize)TextEditName.Properties).EndInit();
            ((System.ComponentModel.ISupportInitialize)DescriptionTextEdit.Properties).EndInit();
            ((System.ComponentModel.ISupportInitialize)TextEditCaliber.Properties).EndInit();
            ((System.ComponentModel.ISupportInitialize)TextEditMaterial.Properties).EndInit();
            ((System.ComponentModel.ISupportInitialize)TextEditKeyWord.Properties).EndInit();
            ((System.ComponentModel.ISupportInitialize)TextEditMinorLoss.Properties).EndInit();
            ((System.ComponentModel.ISupportInitialize)Root).EndInit();
@@ -503,10 +453,8 @@
            ((System.ComponentModel.ISupportInitialize)emptySpaceItem1).EndInit();
            ((System.ComponentModel.ISupportInitialize)layoutControlItem8).EndInit();
            ((System.ComponentModel.ISupportInitialize)layoutControlItem1).EndInit();
            ((System.ComponentModel.ISupportInitialize)layoutControlItem9).EndInit();
            ((System.ComponentModel.ISupportInitialize)layoutControlGroup5).EndInit();
            ((System.ComponentModel.ISupportInitialize)layoutControlItem5).EndInit();
            ((System.ComponentModel.ISupportInitialize)layoutControlItem12).EndInit();
            ((System.ComponentModel.ISupportInitialize)layoutControlItem7).EndInit();
            ((System.ComponentModel.ISupportInitialize)layoutControlItem11).EndInit();
            ((System.ComponentModel.ISupportInitialize)layoutControlItem6).EndInit();
@@ -536,8 +484,6 @@
        private DevExpress.XtraEditors.SimpleButton simpleButton1;
        private DevExpress.XtraLayout.EmptySpaceItem emptySpaceItem1;
        private DevExpress.XtraLayout.LayoutControlItem layoutControlItem8;
        private DevExpress.XtraLayout.LayoutControlItem layoutControlItem9;
        private DevExpress.XtraLayout.LayoutControlItem layoutControlItem12;
        private DevExpress.XtraLayout.LayoutControlItem layoutControlItem5;
        private DevExpress.XtraEditors.SimpleButton btnCancel;
        private DevExpress.XtraEditors.TextEdit MotorFrequencyTextEdit;
@@ -552,8 +498,6 @@
        private DevExpress.XtraLayout.LayoutControlGroup layoutControlGroup3;
        private DevExpress.XtraLayout.LayoutControlGroup layoutControlGroup4;
        private DevExpress.XtraLayout.LayoutControlItem layoutControlItem27;
        private DevExpress.XtraEditors.ImageComboBoxEdit TextEditCaliber;
        private DevExpress.XtraEditors.ImageComboBoxEdit TextEditMaterial;
        private DevExpress.XtraLayout.LayoutControlGroup layoutControlGroup5;
        private DevExpress.Utils.ToolTipController toolTipController1;
        private DevExpress.XtraEditors.TextEdit TextEditKeyWord;
WinFrmUI/HStation.WinFrmUI.Assets.Core/18-pressmeter/02-main/EditAssetsBluntheadMainDlg.cs
@@ -22,42 +22,7 @@
            var bll = new BLL.AssetsPressmeterCoefficient();
            _AssetsPressmeterCoefficient = await bll.GetAll();
            this.PressmeterCoefficientViewModelBindingSource.DataSource = _AssetsPressmeterCoefficient;
            _PressmeterVmo = PressmeterVmo;
            var allCaliber = await new Yw.BLL.SysDictData().GetByTypeCode("1");
            if (allCaliber != null)
            {
                foreach (var item in allCaliber)
                {
                    var imageItem = new ImageComboBoxItem(item.Name, item.Name);
                    TextEditCaliber.Properties.Items.Add(imageItem);
                }
            }
            var allMaterial = await new Yw.BLL.SysDictData().GetByTypeCode("3");
            if (allMaterial != null)
            {
                foreach (var item in allMaterial)
                {
                    var imageItem = new ImageComboBoxItem(item.Name, item.Name);
                    TextEditMaterial.Properties.Items.Add(imageItem);
                }
            }
            if (_PressmeterVmo.Caliber == null)
            {
                TextEditCaliber.EditValue = "默认";
            }
            else
            {
                TextEditCaliber.EditValue = _PressmeterVmo.Caliber.ToString();
            }
            if (_PressmeterVmo.Material == null)
            {
                TextEditMaterial.EditValue = "默认";
            }
            else
            {
                TextEditMaterial.EditValue = _PressmeterVmo.Material.ToString();
            }
            this.TextEditName.Text = _PressmeterVmo.Name;
            this.TextEditMinorLoss.Text = _PressmeterVmo.MinorLoss.ToString();
            this.DescriptionTextEdit.Text = _PressmeterVmo.Description;
@@ -79,78 +44,14 @@
            return true;
        }
        //材料选择变化事件
        private void TextEditMaterial_SelectedIndexChanged(object sender, EventArgs e)
        {
            if (_AssetsPressmeterCoefficient == null)
                return;
            var select = GetCoefficientByMaterial(TextEditMaterial.Text);
            if (select == null)
            {
                this.TextEditMinorLoss.Text = string.Empty;
                return;
            }
            this.TextEditMinorLoss.Text = select.MinorLoss.ToString();
        }
        //口径选择变化事件
        private void TextEditCaliber_SelectedIndexChanged(object sender, EventArgs e)
        {
            if (_AssetsPressmeterCoefficient == null)
                return;
            if (double.TryParse(TextEditCaliber.Text, out double caliber))
            {
                foreach (var item in _AssetsPressmeterCoefficient)
                {
                    if (item.Caliber.HasValue)
                    {
                        if (Math.Abs(Convert.ToDouble(item.Caliber) - caliber) < 10)
                        {
                            this.TextEditMinorLoss.Text = item.MinorLoss.ToString();
                            return;
                        }
                    }
                }
            }
        }
        //找到最相近的材料
        private AssetsPressmeterCoefficientVmo GetCoefficientByMaterial(string name)
        {
            AssetsPressmeterCoefficientVmo select = null;
            int maxMatchedChars = 0;
            foreach (var item in _AssetsPressmeterCoefficient)
            {
                int matchedChars = GetIntersect(item.Material, name);
                if (matchedChars > maxMatchedChars)
                {
                    maxMatchedChars = matchedChars;
                    select = item;
                    return select;
                }
            }
            return select;
        }
        private int GetIntersect(string str1, string str2)
        {
            if (str1 == null || str2 == null) return 0;
            return string.Join("", str1.Intersect(str2)).Count();
        }
        //完成
        private async void BtnOk_ClickAsync(object sender, EventArgs e)
        {
            if (!(Valid()))
                return;
            _PressmeterVmo.Material = TextEditMaterial.Text.Trim();
            _PressmeterVmo.Description = DescriptionTextEdit.Text.Trim();
            _PressmeterVmo.Name = TextEditName.Text.Trim();
            _PressmeterVmo.KeyWord = TextEditKeyWord.Text.Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries).ToList();
            if (double.TryParse(TextEditCaliber.Text, out double caliber))
            {
                _PressmeterVmo.Caliber = caliber;
            }
            if (double.TryParse(TextEditMinorLoss.Text, out double MinorLoss))
            {
                _PressmeterVmo.MinorLoss = MinorLoss;
WinFrmUI/HStation.WinFrmUI.Assets.Core/18-pressmeter/BluntheadViewModel.cs
@@ -11,53 +11,21 @@
        public PressmeterViewModel(Vmo.AssetsPressmeterMainVmo rhs)
        {
            this.ID = rhs.ID;
            this.Description = rhs.Description;
            if (rhs.Caliber == null)
            {
                this.Caliber = "默认";
            }
            else
            {
                this.Caliber = rhs.Caliber.ToString();
            }
            if (rhs.Material == null)
            {
                this.Material = "默认";
            }
            else
            {
                this.Material = rhs.Material.ToString();
            }
            this.Name = rhs.Name;
            this.SortCode = rhs.SortCode;
            this.KeyWord = string.Join(",", rhs.KeyWord);
            this.MinorLoss = rhs.MinorLoss;
            this.Description = rhs.Description;
        }
        public void Reset(Vmo.AssetsPressmeterMainVmo rhs)
        {
            this.ID = rhs.ID;
            if (rhs.Caliber == null)
            {
                this.Caliber = "默认";
            }
            else
            {
                this.Caliber = rhs.Caliber.ToString();
            }
            if (rhs.Material == null)
            {
                this.Material = "默认";
            }
            else
            {
                this.Material = rhs.Material.ToString();
            }
            this.Description = rhs.Description;
            this.Name = rhs.Name;
            this.KeyWord = string.Join(",", rhs.KeyWord);
            this.SortCode = rhs.SortCode;
            this.MinorLoss = rhs.MinorLoss;
            this.Description = rhs.Description;
        }
        /// <summary>
@@ -71,20 +39,6 @@
        [DisplayName("名称")]
        [Browsable(true)]
        public string Name { get; set; }
        /// <summary>
        /// 口径
        /// </summary>
        [DisplayName("口径(mm)")]
        [Browsable(true)]
        public string Caliber { get; set; }
        /// <summary>
        /// 材料
        /// </summary>
        [DisplayName("材料")]
        [Browsable(true)]
        public string Material { get; set; }
        /// <summary>
        /// 系数
WinFrmUI/HStation.WinFrmUI.Assets.Core/19-translation/02-main/AddAssetsSprinklerMainDlg.Designer.cs
@@ -43,7 +43,6 @@
            simpleButton1 = new DevExpress.XtraEditors.SimpleButton();
            TextEditName = new DevExpress.XtraEditors.TextEdit();
            DescriptionTextEdit = new DevExpress.XtraEditors.MemoEdit();
            TextEditCaliber = new DevExpress.XtraEditors.ImageComboBoxEdit();
            TextEditMaterial = new DevExpress.XtraEditors.ImageComboBoxEdit();
            TextEditKeyWord = new DevExpress.XtraEditors.TextEdit();
            TextEditMinorLoss = new DevExpress.XtraEditors.PopupContainerEdit();
@@ -55,7 +54,6 @@
            layoutControlItem12 = new DevExpress.XtraLayout.LayoutControlItem();
            layoutControlGroup5 = new DevExpress.XtraLayout.LayoutControlGroup();
            layoutControlItem5 = new DevExpress.XtraLayout.LayoutControlItem();
            layoutControlItem9 = new DevExpress.XtraLayout.LayoutControlItem();
            layoutControlItem2 = new DevExpress.XtraLayout.LayoutControlItem();
            layoutControlItem7 = new DevExpress.XtraLayout.LayoutControlItem();
            layoutControlItem3 = new DevExpress.XtraLayout.LayoutControlItem();
@@ -77,7 +75,6 @@
            ((System.ComponentModel.ISupportInitialize)TranslationCoefficientViewModelBindingSource).BeginInit();
            ((System.ComponentModel.ISupportInitialize)TextEditName.Properties).BeginInit();
            ((System.ComponentModel.ISupportInitialize)DescriptionTextEdit.Properties).BeginInit();
            ((System.ComponentModel.ISupportInitialize)TextEditCaliber.Properties).BeginInit();
            ((System.ComponentModel.ISupportInitialize)TextEditMaterial.Properties).BeginInit();
            ((System.ComponentModel.ISupportInitialize)TextEditKeyWord.Properties).BeginInit();
            ((System.ComponentModel.ISupportInitialize)TextEditMinorLoss.Properties).BeginInit();
@@ -89,7 +86,6 @@
            ((System.ComponentModel.ISupportInitialize)layoutControlItem12).BeginInit();
            ((System.ComponentModel.ISupportInitialize)layoutControlGroup5).BeginInit();
            ((System.ComponentModel.ISupportInitialize)layoutControlItem5).BeginInit();
            ((System.ComponentModel.ISupportInitialize)layoutControlItem9).BeginInit();
            ((System.ComponentModel.ISupportInitialize)layoutControlItem2).BeginInit();
            ((System.ComponentModel.ISupportInitialize)layoutControlItem7).BeginInit();
            ((System.ComponentModel.ISupportInitialize)layoutControlItem3).BeginInit();
@@ -112,7 +108,6 @@
            layoutControl1.Controls.Add(simpleButton1);
            layoutControl1.Controls.Add(TextEditName);
            layoutControl1.Controls.Add(DescriptionTextEdit);
            layoutControl1.Controls.Add(TextEditCaliber);
            layoutControl1.Controls.Add(TextEditMaterial);
            layoutControl1.Controls.Add(TextEditKeyWord);
            layoutControl1.Controls.Add(TextEditMinorLoss);
@@ -235,22 +230,12 @@
            DescriptionTextEdit.StyleController = layoutControl1;
            DescriptionTextEdit.TabIndex = 7;
            // 
            // TextEditCaliber
            //
            TextEditCaliber.Location = new Point(72, 32);
            TextEditCaliber.Name = "TextEditCaliber";
            TextEditCaliber.Properties.Buttons.AddRange(new DevExpress.XtraEditors.Controls.EditorButton[] { new DevExpress.XtraEditors.Controls.EditorButton(DevExpress.XtraEditors.Controls.ButtonPredefines.Combo) });
            TextEditCaliber.Size = new Size(264, 20);
            TextEditCaliber.StyleController = layoutControl1;
            TextEditCaliber.TabIndex = 3;
            TextEditCaliber.SelectedIndexChanged += TextEditCaliber_SelectedIndexChanged;
            //
            // TextEditMaterial
            // 
            TextEditMaterial.Location = new Point(404, 32);
            TextEditMaterial.Location = new Point(72, 32);
            TextEditMaterial.Name = "TextEditMaterial";
            TextEditMaterial.Properties.Buttons.AddRange(new DevExpress.XtraEditors.Controls.EditorButton[] { new DevExpress.XtraEditors.Controls.EditorButton(DevExpress.XtraEditors.Controls.ButtonPredefines.Combo) });
            TextEditMaterial.Size = new Size(265, 20);
            TextEditMaterial.Size = new Size(597, 20);
            TextEditMaterial.StyleController = layoutControl1;
            TextEditMaterial.TabIndex = 4;
            TextEditMaterial.SelectedIndexChanged += TextEditMaterial_SelectedIndexChanged;
@@ -280,7 +265,7 @@
            Root.AppearanceItemCaption.TextOptions.HAlignment = DevExpress.Utils.HorzAlignment.Far;
            Root.EnableIndentsWithoutBorders = DevExpress.Utils.DefaultBoolean.True;
            Root.GroupBordersVisible = false;
            Root.Items.AddRange(new DevExpress.XtraLayout.BaseLayoutItem[] { layoutControlItem4, emptySpaceItem1, layoutControlItem8, layoutControlItem1, layoutControlItem12, layoutControlGroup5, layoutControlItem9, layoutControlItem2, layoutControlItem7, layoutControlItem3 });
            Root.Items.AddRange(new DevExpress.XtraLayout.BaseLayoutItem[] { layoutControlItem4, emptySpaceItem1, layoutControlItem8, layoutControlItem1, layoutControlItem12, layoutControlGroup5, layoutControlItem2, layoutControlItem7, layoutControlItem3 });
            Root.Name = "Root";
            Root.Padding = new DevExpress.XtraLayout.Utils.Padding(6, 6, 6, 6);
            Root.Size = new Size(677, 488);
@@ -325,9 +310,9 @@
            // layoutControlItem12
            // 
            layoutControlItem12.Control = TextEditMaterial;
            layoutControlItem12.Location = new Point(332, 24);
            layoutControlItem12.Location = new Point(0, 24);
            layoutControlItem12.Name = "layoutControlItem12";
            layoutControlItem12.Size = new Size(333, 24);
            layoutControlItem12.Size = new Size(665, 24);
            layoutControlItem12.Text = "材料:";
            layoutControlItem12.TextSize = new Size(52, 14);
            // 
@@ -352,15 +337,6 @@
            layoutControlItem5.TextSize = new Size(0, 0);
            layoutControlItem5.TextToControlDistance = 0;
            layoutControlItem5.TextVisible = false;
            //
            // layoutControlItem9
            //
            layoutControlItem9.Control = TextEditCaliber;
            layoutControlItem9.Location = new Point(0, 24);
            layoutControlItem9.Name = "layoutControlItem9";
            layoutControlItem9.Size = new Size(332, 24);
            layoutControlItem9.Text = "口径:";
            layoutControlItem9.TextSize = new Size(52, 14);
            // 
            // layoutControlItem2
            // 
@@ -476,7 +452,6 @@
            ((System.ComponentModel.ISupportInitialize)TranslationCoefficientViewModelBindingSource).EndInit();
            ((System.ComponentModel.ISupportInitialize)TextEditName.Properties).EndInit();
            ((System.ComponentModel.ISupportInitialize)DescriptionTextEdit.Properties).EndInit();
            ((System.ComponentModel.ISupportInitialize)TextEditCaliber.Properties).EndInit();
            ((System.ComponentModel.ISupportInitialize)TextEditMaterial.Properties).EndInit();
            ((System.ComponentModel.ISupportInitialize)TextEditKeyWord.Properties).EndInit();
            ((System.ComponentModel.ISupportInitialize)TextEditMinorLoss.Properties).EndInit();
@@ -488,7 +463,6 @@
            ((System.ComponentModel.ISupportInitialize)layoutControlItem12).EndInit();
            ((System.ComponentModel.ISupportInitialize)layoutControlGroup5).EndInit();
            ((System.ComponentModel.ISupportInitialize)layoutControlItem5).EndInit();
            ((System.ComponentModel.ISupportInitialize)layoutControlItem9).EndInit();
            ((System.ComponentModel.ISupportInitialize)layoutControlItem2).EndInit();
            ((System.ComponentModel.ISupportInitialize)layoutControlItem7).EndInit();
            ((System.ComponentModel.ISupportInitialize)layoutControlItem3).EndInit();
@@ -516,7 +490,6 @@
        private DevExpress.XtraEditors.SimpleButton simpleButton1;
        private DevExpress.XtraLayout.EmptySpaceItem emptySpaceItem1;
        private DevExpress.XtraLayout.LayoutControlItem layoutControlItem8;
        private DevExpress.XtraLayout.LayoutControlItem layoutControlItem9;
        private DevExpress.XtraLayout.LayoutControlItem layoutControlItem12;
        private DevExpress.XtraLayout.LayoutControlItem layoutControlItem5;
        private DevExpress.XtraEditors.SimpleButton btnCancel;
@@ -532,7 +505,6 @@
        private DevExpress.XtraLayout.LayoutControlGroup layoutControlGroup3;
        private DevExpress.XtraLayout.LayoutControlGroup layoutControlGroup4;
        private DevExpress.XtraLayout.LayoutControlItem layoutControlItem27;
        private DevExpress.XtraEditors.ImageComboBoxEdit TextEditCaliber;
        private DevExpress.XtraEditors.ImageComboBoxEdit TextEditMaterial;
        private DevExpress.XtraLayout.LayoutControlGroup layoutControlGroup5;
        private DevExpress.Utils.ToolTipController toolTipController1;
WinFrmUI/HStation.WinFrmUI.Assets.Core/19-translation/02-main/AddAssetsSprinklerMainDlg.cs
@@ -23,15 +23,7 @@
            this.TranslationCoefficientViewModelBindingSource.DataSource = _AssetsTranslationCoefficient;
            _TranslationVmo = new Vmo.AssetsTranslationMainVmo();
            _TranslationVmo.SeriesID = SeriesID;
            var allCaliber = await new Yw.BLL.SysDictData().GetByTypeCode("1");
            if (allCaliber != null)
            {
                foreach (var item in allCaliber)
                {
                    var imageItem = new ImageComboBoxItem(item.Name, item.ID);
                    TextEditCaliber.Properties.Items.Add(imageItem);
                }
            }
            var allMaterial = await new Yw.BLL.SysDictData().GetByTypeCode("3");
            if (allMaterial != null)
            {
@@ -41,7 +33,6 @@
                    TextEditMaterial.Properties.Items.Add(imageItem);
                }
            }
            TextEditCaliber.SelectedIndex = 0;
            TextEditMaterial.SelectedIndex = 0;
            this.selectFlagsPopupCtrl1.SetBindingData<AssetsFlags>();
        }
@@ -80,27 +71,6 @@
            this.TextEditCoefficient.Text = select.MinorLoss.ToString();
        }
        //口径选择变化事件
        private void TextEditCaliber_SelectedIndexChanged(object sender, EventArgs e)
        {
            if (_AssetsTranslationCoefficient == null)
                return;
            if (double.TryParse(TextEditCaliber.Text, out double caliber))
            {
                foreach (var item in _AssetsTranslationCoefficient)
                {
                    if (item.Caliber.HasValue)
                    {
                        if (Math.Abs(Convert.ToDouble(item.Caliber) - caliber) < 10)
                        {
                            this.TextEditCoefficient.Text = item.MinorLoss.ToString();
                            return;
                        }
                    }
                }
            }
        }
        //找到最相近的材料
        private AssetsTranslationCoefficientVmo GetCoefficientByMaterial(string name)
        {
@@ -134,10 +104,7 @@
            _TranslationVmo.Name = TextEditName.Text.Trim();
            _TranslationVmo.KeyWord = this.TextEditKeyWord.Text.Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries).ToList();
            _TranslationVmo.Material = TextEditMaterial.Text.Trim();
            if (double.TryParse(TextEditCaliber.Text, out double caliber))
            {
                _TranslationVmo.Caliber = caliber;
            }
            if (double.TryParse(TextEditMinorLoss.Text, out double minorLoss))
            {
                _TranslationVmo.MinorLoss = minorLoss;
WinFrmUI/HStation.WinFrmUI.Assets.Core/19-translation/02-main/AddAssetsSprinklerMainDlg.resx
@@ -117,13 +117,13 @@
  <resheader name="writer">
    <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
  </resheader>
  <metadata name="BluntheadCoefficientViewModelBindingSource.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
  <metadata name="TranslationCoefficientViewModelBindingSource.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
    <value>17, 17</value>
  </metadata>
  <metadata name="dxErrorProvider1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
    <value>340, 17</value>
    <value>346, 17</value>
  </metadata>
  <metadata name="toolTipController1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
    <value>495, 17</value>
    <value>501, 17</value>
  </metadata>
</root>
WinFrmUI/HStation.WinFrmUI.Assets.Core/19-translation/02-main/EditAssetsBluntheadMainDlg.Designer.cs
@@ -43,7 +43,6 @@
            simpleButton1 = new DevExpress.XtraEditors.SimpleButton();
            TextEditName = new DevExpress.XtraEditors.TextEdit();
            DescriptionTextEdit = new DevExpress.XtraEditors.MemoEdit();
            TextEditCaliber = new DevExpress.XtraEditors.ImageComboBoxEdit();
            TextEditMaterial = new DevExpress.XtraEditors.ImageComboBoxEdit();
            TextEditKeyWord = new DevExpress.XtraEditors.TextEdit();
            TextEditMinorLoss = new DevExpress.XtraEditors.PopupContainerEdit();
@@ -52,7 +51,6 @@
            emptySpaceItem1 = new DevExpress.XtraLayout.EmptySpaceItem();
            layoutControlItem8 = new DevExpress.XtraLayout.LayoutControlItem();
            layoutControlItem1 = new DevExpress.XtraLayout.LayoutControlItem();
            layoutControlItem9 = new DevExpress.XtraLayout.LayoutControlItem();
            layoutControlGroup5 = new DevExpress.XtraLayout.LayoutControlGroup();
            layoutControlItem5 = new DevExpress.XtraLayout.LayoutControlItem();
            layoutControlItem12 = new DevExpress.XtraLayout.LayoutControlItem();
@@ -79,7 +77,6 @@
            ((System.ComponentModel.ISupportInitialize)TranslationCoefficientViewModelBindingSource).BeginInit();
            ((System.ComponentModel.ISupportInitialize)TextEditName.Properties).BeginInit();
            ((System.ComponentModel.ISupportInitialize)DescriptionTextEdit.Properties).BeginInit();
            ((System.ComponentModel.ISupportInitialize)TextEditCaliber.Properties).BeginInit();
            ((System.ComponentModel.ISupportInitialize)TextEditMaterial.Properties).BeginInit();
            ((System.ComponentModel.ISupportInitialize)TextEditKeyWord.Properties).BeginInit();
            ((System.ComponentModel.ISupportInitialize)TextEditMinorLoss.Properties).BeginInit();
@@ -88,7 +85,6 @@
            ((System.ComponentModel.ISupportInitialize)emptySpaceItem1).BeginInit();
            ((System.ComponentModel.ISupportInitialize)layoutControlItem8).BeginInit();
            ((System.ComponentModel.ISupportInitialize)layoutControlItem1).BeginInit();
            ((System.ComponentModel.ISupportInitialize)layoutControlItem9).BeginInit();
            ((System.ComponentModel.ISupportInitialize)layoutControlGroup5).BeginInit();
            ((System.ComponentModel.ISupportInitialize)layoutControlItem5).BeginInit();
            ((System.ComponentModel.ISupportInitialize)layoutControlItem12).BeginInit();
@@ -116,7 +112,6 @@
            layoutControl1.Controls.Add(simpleButton1);
            layoutControl1.Controls.Add(TextEditName);
            layoutControl1.Controls.Add(DescriptionTextEdit);
            layoutControl1.Controls.Add(TextEditCaliber);
            layoutControl1.Controls.Add(TextEditMaterial);
            layoutControl1.Controls.Add(TextEditKeyWord);
            layoutControl1.Controls.Add(TextEditMinorLoss);
@@ -239,22 +234,12 @@
            DescriptionTextEdit.StyleController = layoutControl1;
            DescriptionTextEdit.TabIndex = 6;
            // 
            // TextEditCaliber
            //
            TextEditCaliber.Location = new Point(72, 32);
            TextEditCaliber.Name = "TextEditCaliber";
            TextEditCaliber.Properties.Buttons.AddRange(new DevExpress.XtraEditors.Controls.EditorButton[] { new DevExpress.XtraEditors.Controls.EditorButton(DevExpress.XtraEditors.Controls.ButtonPredefines.Combo) });
            TextEditCaliber.Size = new Size(266, 20);
            TextEditCaliber.StyleController = layoutControl1;
            TextEditCaliber.TabIndex = 3;
            TextEditCaliber.SelectedIndexChanged += TextEditCaliber_SelectedIndexChanged;
            //
            // TextEditMaterial
            // 
            TextEditMaterial.Location = new Point(406, 32);
            TextEditMaterial.Location = new Point(72, 32);
            TextEditMaterial.Name = "TextEditMaterial";
            TextEditMaterial.Properties.Buttons.AddRange(new DevExpress.XtraEditors.Controls.EditorButton[] { new DevExpress.XtraEditors.Controls.EditorButton(DevExpress.XtraEditors.Controls.ButtonPredefines.Combo) });
            TextEditMaterial.Size = new Size(267, 20);
            TextEditMaterial.Size = new Size(601, 20);
            TextEditMaterial.StyleController = layoutControl1;
            TextEditMaterial.TabIndex = 4;
            TextEditMaterial.SelectedIndexChanged += TextEditMaterial_SelectedIndexChanged;
@@ -284,7 +269,7 @@
            Root.AppearanceItemCaption.TextOptions.HAlignment = DevExpress.Utils.HorzAlignment.Far;
            Root.EnableIndentsWithoutBorders = DevExpress.Utils.DefaultBoolean.True;
            Root.GroupBordersVisible = false;
            Root.Items.AddRange(new DevExpress.XtraLayout.BaseLayoutItem[] { layoutControlItem4, emptySpaceItem1, layoutControlItem8, layoutControlItem1, layoutControlItem9, layoutControlGroup5, layoutControlItem12, layoutControlItem7, layoutControlItem11, layoutControlItem6 });
            Root.Items.AddRange(new DevExpress.XtraLayout.BaseLayoutItem[] { layoutControlItem4, emptySpaceItem1, layoutControlItem8, layoutControlItem1, layoutControlGroup5, layoutControlItem12, layoutControlItem7, layoutControlItem11, layoutControlItem6 });
            Root.Name = "Root";
            Root.Padding = new DevExpress.XtraLayout.Utils.Padding(6, 6, 6, 6);
            Root.Size = new Size(681, 482);
@@ -326,15 +311,6 @@
            layoutControlItem1.Text = "<color=red>*</color>型号:";
            layoutControlItem1.TextSize = new Size(52, 14);
            // 
            // layoutControlItem9
            //
            layoutControlItem9.Control = TextEditCaliber;
            layoutControlItem9.Location = new Point(0, 24);
            layoutControlItem9.Name = "layoutControlItem9";
            layoutControlItem9.Size = new Size(334, 24);
            layoutControlItem9.Text = "口径:";
            layoutControlItem9.TextSize = new Size(52, 14);
            //
            // layoutControlGroup5
            // 
            layoutControlGroup5.Items.AddRange(new DevExpress.XtraLayout.BaseLayoutItem[] { layoutControlItem5 });
@@ -358,9 +334,9 @@
            // layoutControlItem12
            // 
            layoutControlItem12.Control = TextEditMaterial;
            layoutControlItem12.Location = new Point(334, 24);
            layoutControlItem12.Location = new Point(0, 24);
            layoutControlItem12.Name = "layoutControlItem12";
            layoutControlItem12.Size = new Size(335, 24);
            layoutControlItem12.Size = new Size(669, 24);
            layoutControlItem12.Text = "材料:";
            layoutControlItem12.TextSize = new Size(52, 14);
            // 
@@ -494,7 +470,6 @@
            ((System.ComponentModel.ISupportInitialize)TranslationCoefficientViewModelBindingSource).EndInit();
            ((System.ComponentModel.ISupportInitialize)TextEditName.Properties).EndInit();
            ((System.ComponentModel.ISupportInitialize)DescriptionTextEdit.Properties).EndInit();
            ((System.ComponentModel.ISupportInitialize)TextEditCaliber.Properties).EndInit();
            ((System.ComponentModel.ISupportInitialize)TextEditMaterial.Properties).EndInit();
            ((System.ComponentModel.ISupportInitialize)TextEditKeyWord.Properties).EndInit();
            ((System.ComponentModel.ISupportInitialize)TextEditMinorLoss.Properties).EndInit();
@@ -503,7 +478,6 @@
            ((System.ComponentModel.ISupportInitialize)emptySpaceItem1).EndInit();
            ((System.ComponentModel.ISupportInitialize)layoutControlItem8).EndInit();
            ((System.ComponentModel.ISupportInitialize)layoutControlItem1).EndInit();
            ((System.ComponentModel.ISupportInitialize)layoutControlItem9).EndInit();
            ((System.ComponentModel.ISupportInitialize)layoutControlGroup5).EndInit();
            ((System.ComponentModel.ISupportInitialize)layoutControlItem5).EndInit();
            ((System.ComponentModel.ISupportInitialize)layoutControlItem12).EndInit();
@@ -536,7 +510,6 @@
        private DevExpress.XtraEditors.SimpleButton simpleButton1;
        private DevExpress.XtraLayout.EmptySpaceItem emptySpaceItem1;
        private DevExpress.XtraLayout.LayoutControlItem layoutControlItem8;
        private DevExpress.XtraLayout.LayoutControlItem layoutControlItem9;
        private DevExpress.XtraLayout.LayoutControlItem layoutControlItem12;
        private DevExpress.XtraLayout.LayoutControlItem layoutControlItem5;
        private DevExpress.XtraEditors.SimpleButton btnCancel;
@@ -552,7 +525,6 @@
        private DevExpress.XtraLayout.LayoutControlGroup layoutControlGroup3;
        private DevExpress.XtraLayout.LayoutControlGroup layoutControlGroup4;
        private DevExpress.XtraLayout.LayoutControlItem layoutControlItem27;
        private DevExpress.XtraEditors.ImageComboBoxEdit TextEditCaliber;
        private DevExpress.XtraEditors.ImageComboBoxEdit TextEditMaterial;
        private DevExpress.XtraLayout.LayoutControlGroup layoutControlGroup5;
        private DevExpress.Utils.ToolTipController toolTipController1;
WinFrmUI/HStation.WinFrmUI.Assets.Core/19-translation/02-main/EditAssetsBluntheadMainDlg.cs
@@ -24,15 +24,6 @@
            this.TranslationCoefficientViewModelBindingSource.DataSource = _AssetsTranslationCoefficient;
            _TranslationVmo = TranslationVmo;
            var allCaliber = await new Yw.BLL.SysDictData().GetByTypeCode("1");
            if (allCaliber != null)
            {
                foreach (var item in allCaliber)
                {
                    var imageItem = new ImageComboBoxItem(item.Name, item.Name);
                    TextEditCaliber.Properties.Items.Add(imageItem);
                }
            }
            var allMaterial = await new Yw.BLL.SysDictData().GetByTypeCode("3");
            if (allMaterial != null)
            {
@@ -42,14 +33,7 @@
                    TextEditMaterial.Properties.Items.Add(imageItem);
                }
            }
            if (_TranslationVmo.Caliber == null)
            {
                TextEditCaliber.EditValue = "默认";
            }
            else
            {
                TextEditCaliber.EditValue = _TranslationVmo.Caliber.ToString();
            }
            if (_TranslationVmo.Material == null)
            {
                TextEditMaterial.EditValue = "默认";
@@ -93,27 +77,6 @@
            this.TextEditMinorLoss.Text = select.MinorLoss.ToString();
        }
        //口径选择变化事件
        private void TextEditCaliber_SelectedIndexChanged(object sender, EventArgs e)
        {
            if (_AssetsTranslationCoefficient == null)
                return;
            if (double.TryParse(TextEditCaliber.Text, out double caliber))
            {
                foreach (var item in _AssetsTranslationCoefficient)
                {
                    if (item.Caliber.HasValue)
                    {
                        if (Math.Abs(Convert.ToDouble(item.Caliber) - caliber) < 10)
                        {
                            this.TextEditMinorLoss.Text = item.MinorLoss.ToString();
                            return;
                        }
                    }
                }
            }
        }
        //找到最相近的材料
        private AssetsTranslationCoefficientVmo GetCoefficientByMaterial(string name)
        {
@@ -147,10 +110,6 @@
            _TranslationVmo.Description = DescriptionTextEdit.Text.Trim();
            _TranslationVmo.Name = TextEditName.Text.Trim();
            _TranslationVmo.KeyWord = TextEditKeyWord.Text.Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries).ToList();
            if (double.TryParse(TextEditCaliber.Text, out double caliber))
            {
                _TranslationVmo.Caliber = caliber;
            }
            if (double.TryParse(TextEditMinorLoss.Text, out double MinorLoss))
            {
                _TranslationVmo.MinorLoss = MinorLoss;
WinFrmUI/HStation.WinFrmUI.Assets.Core/19-translation/BluntheadViewModel.cs
@@ -12,14 +12,6 @@
        {
            this.ID = rhs.ID;
            this.Description = rhs.Description;
            if (rhs.Caliber == null)
            {
                this.Caliber = "默认";
            }
            else
            {
                this.Caliber = rhs.Caliber.ToString();
            }
            if (rhs.Material == null)
            {
                this.Material = "默认";
@@ -37,14 +29,6 @@
        public void Reset(Vmo.AssetsTranslationMainVmo rhs)
        {
            this.ID = rhs.ID;
            if (rhs.Caliber == null)
            {
                this.Caliber = "默认";
            }
            else
            {
                this.Caliber = rhs.Caliber.ToString();
            }
            if (rhs.Material == null)
            {
                this.Material = "默认";
@@ -71,13 +55,6 @@
        [DisplayName("名称")]
        [Browsable(true)]
        public string Name { get; set; }
        /// <summary>
        /// 口径
        /// </summary>
        [DisplayName("口径(mm)")]
        [Browsable(true)]
        public string Caliber { get; set; }
        /// <summary>
        /// 材料
WinFrmUI/HStation.WinFrmUI.Xhs.Core/03-simulation/06-simulation/01-matching/09-Tank/TankSingleMatchingForm.Designer.cs
@@ -34,14 +34,16 @@
            TankSingleMatchingViewModelBindingSource = new BindingSource(components);
            gridView3 = new DevExpress.XtraGrid.Views.Grid.GridView();
            colModelType = new DevExpress.XtraGrid.Columns.GridColumn();
            colMaterial = new DevExpress.XtraGrid.Columns.GridColumn();
            colCaliber = new DevExpress.XtraGrid.Columns.GridColumn();
            colMinorLoss = new DevExpress.XtraGrid.Columns.GridColumn();
            searchControl1 = new SearchControl();
            Root = new DevExpress.XtraLayout.LayoutControlGroup();
            simpleLabelItem1 = new DevExpress.XtraLayout.SimpleLabelItem();
            layoutControlItem1 = new DevExpress.XtraLayout.LayoutControlItem();
            layoutControlItem5 = new DevExpress.XtraLayout.LayoutControlItem();
            colDN = new DevExpress.XtraGrid.Columns.GridColumn();
            colMaxLevel = new DevExpress.XtraGrid.Columns.GridColumn();
            colMinLevel = new DevExpress.XtraGrid.Columns.GridColumn();
            colMinVol = new DevExpress.XtraGrid.Columns.GridColumn();
            colOverFlow = new DevExpress.XtraGrid.Columns.GridColumn();
            ((ISupportInitialize)layoutControl1).BeginInit();
            layoutControl1.SuspendLayout();
            ((ISupportInitialize)gridControl3).BeginInit();
@@ -85,7 +87,7 @@
            // 
            gridView3.Appearance.HeaderPanel.Options.UseTextOptions = true;
            gridView3.Appearance.HeaderPanel.TextOptions.HAlignment = DevExpress.Utils.HorzAlignment.Center;
            gridView3.Columns.AddRange(new DevExpress.XtraGrid.Columns.GridColumn[] { colModelType, colMaterial, colCaliber, colMinorLoss });
            gridView3.Columns.AddRange(new DevExpress.XtraGrid.Columns.GridColumn[] { colModelType, colDN, colMaxLevel, colMinLevel, colMinVol, colOverFlow });
            gridView3.GridControl = gridControl3;
            gridView3.Name = "gridView3";
            gridView3.OptionsView.ShowGroupPanel = false;
@@ -98,30 +100,6 @@
            colModelType.Visible = true;
            colModelType.VisibleIndex = 0;
            colModelType.Width = 243;
            //
            // colMaterial
            //
            colMaterial.FieldName = "Material";
            colMaterial.Name = "colMaterial";
            colMaterial.Visible = true;
            colMaterial.VisibleIndex = 1;
            colMaterial.Width = 184;
            //
            // colCaliber
            //
            colCaliber.FieldName = "Caliber";
            colCaliber.Name = "colCaliber";
            colCaliber.Visible = true;
            colCaliber.VisibleIndex = 2;
            colCaliber.Width = 109;
            //
            // colMinorLoss
            //
            colMinorLoss.FieldName = "MinorLoss";
            colMinorLoss.Name = "colMinorLoss";
            colMinorLoss.Visible = true;
            colMinorLoss.VisibleIndex = 3;
            colMinorLoss.Width = 115;
            // 
            // searchControl1
            // 
@@ -171,6 +149,41 @@
            layoutControlItem5.TextSize = new Size(0, 0);
            layoutControlItem5.TextVisible = false;
            // 
            // colDN
            //
            colDN.FieldName = "DN";
            colDN.Name = "colDN";
            colDN.Visible = true;
            colDN.VisibleIndex = 1;
            //
            // colMaxLevel
            //
            colMaxLevel.FieldName = "MaxLevel";
            colMaxLevel.Name = "colMaxLevel";
            colMaxLevel.Visible = true;
            colMaxLevel.VisibleIndex = 2;
            //
            // colMinLevel
            //
            colMinLevel.FieldName = "MinLevel";
            colMinLevel.Name = "colMinLevel";
            colMinLevel.Visible = true;
            colMinLevel.VisibleIndex = 3;
            //
            // colMinVol
            //
            colMinVol.FieldName = "MinVol";
            colMinVol.Name = "colMinVol";
            colMinVol.Visible = true;
            colMinVol.VisibleIndex = 4;
            //
            // colOverFlow
            //
            colOverFlow.FieldName = "OverFlow";
            colOverFlow.Name = "colOverFlow";
            colOverFlow.Visible = true;
            colOverFlow.VisibleIndex = 5;
            //
            // TankSingleMatchingForm
            // 
            AutoScaleDimensions = new SizeF(7F, 14F);
@@ -203,8 +216,10 @@
        private DevExpress.XtraLayout.LayoutControlItem layoutControlItem5;
        private BindingSource TankSingleMatchingViewModelBindingSource;
        private DevExpress.XtraGrid.Columns.GridColumn colModelType;
        private DevExpress.XtraGrid.Columns.GridColumn colMaterial;
        private DevExpress.XtraGrid.Columns.GridColumn colCaliber;
        private DevExpress.XtraGrid.Columns.GridColumn colMinorLoss;
        private DevExpress.XtraGrid.Columns.GridColumn colDN;
        private DevExpress.XtraGrid.Columns.GridColumn colMaxLevel;
        private DevExpress.XtraGrid.Columns.GridColumn colMinLevel;
        private DevExpress.XtraGrid.Columns.GridColumn colMinVol;
        private DevExpress.XtraGrid.Columns.GridColumn colOverFlow;
    }
}
WinFrmUI/HStation.WinFrmUI.Xhs.Core/03-simulation/06-simulation/01-matching/09-Tank/TankSingleMatchingViewModel.cs
@@ -10,11 +10,12 @@
        public TankSingleMatchingViewModel(Vmo.AssetsTankMainVmo rhs)
        {
            this.Caliber = rhs.Caliber;
            this.ID = rhs.ID;
            this.Material = rhs.Material;
            this.MinLevel = rhs.MinLevel;
            this.MaxLevel = rhs.MaxLevel;
            this.DN = rhs.DN;
            this.OverFlow = rhs.OverFlow;
            this.ModelType = rhs.Name;
            this.MinorLoss = rhs.MinorLoss;
        }
        /// <summary>
@@ -32,24 +33,38 @@
        public string ModelType { get; set; }
        /// <summary>
        /// 材质
        /// 最低水位
        /// </summary>
        [DisplayName("材质")]
        [DisplayName("最低水位")]
        [Browsable(true)]
        public string Material { get; set; }
        public double MinLevel { get; set; }
        /// <summary>
        /// 口径
        /// 最高水位
        /// </summary>
        [DisplayName("口径")]
        [DisplayName("最高水位")]
        [Browsable(true)]
        public double? Caliber { get; set; }
        public double MaxLevel { get; set; }
        /// <summary>
        /// 损失系数
        /// 公称直径
        /// </summary>
        [DisplayName("损失系数")]
        [DisplayName("公称直径")]
        [Browsable(true)]
        public double? MinorLoss { get; set; }
        public double DN { get; set; }
        /// <summary>
        /// 最小容积
        /// </summary>
        [DisplayName("最小容积")]
        [Browsable(true)]
        public double MinVol { get; set; }
        /// <summary>
        /// 是否允许溢流
        /// </summary>
        [DisplayName("是否允许溢流")]
        [Browsable(true)]
        public bool OverFlow { get; set; }
    }
}
WinFrmUI/HStation.WinFrmUI.Xhs.Core/03-simulation/06-simulation/01-matching/10-Meter/MeterSingleMatchingViewModel.cs
@@ -10,9 +10,7 @@
        public MeterSingleMatchingViewModel(Vmo.AssetsMeterMainVmo rhs)
        {
            this.Caliber = rhs.Caliber;
            this.ID = rhs.ID;
            this.Material = rhs.Material;
            this.ModelType = rhs.Name;
            this.MinorLoss = rhs.MinorLoss;
        }
WinFrmUI/HStation.WinFrmUI.Xhs.Core/03-simulation/06-simulation/01-matching/11-Flowmeter/FlowmeterSingleMatchingViewModel.cs
@@ -10,9 +10,7 @@
        public FlowmeterSingleMatchingViewModel(Vmo.AssetsFlowmeterMainVmo rhs)
        {
            this.Caliber = rhs.Caliber;
            this.ID = rhs.ID;
            this.Material = rhs.Material;
            this.ModelType = rhs.Name;
            this.MinorLoss = rhs.MinorLoss;
        }
WinFrmUI/HStation.WinFrmUI.Xhs.Core/03-simulation/06-simulation/01-matching/13-Pressmeter/PressmeterSingleMatchingViewModel.cs
@@ -10,9 +10,7 @@
        public PressmeterSingleMatchingViewModel(Vmo.AssetsPressmeterMainVmo rhs)
        {
            this.Caliber = rhs.Caliber;
            this.ID = rhs.ID;
            this.Material = rhs.Material;
            this.ModelType = rhs.Name;
            this.MinorLoss = rhs.MinorLoss;
        }
WinFrmUI/HStation.WinFrmUI.Xhs.Core/03-simulation/06-simulation/01-matching/15-Translation/TranslationSingleMatchingViewModel.cs
@@ -10,7 +10,6 @@
        public TranslationSingleMatchingViewModel(Vmo.AssetsTranslationMainVmo rhs)
        {
            this.Caliber = rhs.Caliber;
            this.ID = rhs.ID;
            this.Material = rhs.Material;
            this.ModelType = rhs.Name;