qin
2024-06-04 77ab118a04eb43da0ce07b2f22d4a4bc82f04a7f
水表当量管理
已修改9个文件
已添加2个文件
295 ■■■■ 文件已修改
Hydraulic/Hydro.Core/Common/Parts.cs 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
Hydraulic/Hydro.MapUI/Hydro.MapUI.csproj 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Hydraulic/Hydro.MapUI/Map/MapViewer.Designer.cs 58 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Hydraulic/Hydro.MapUI/Map/MapViewer.Draw.cs 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Hydraulic/Hydro.MapUI/Map/MapViewer.cs 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Hydraulic/Hydro.MapUI/Map/MapViewer.resx 91 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Hydraulic/Hydro.MapView/EditorConvert/DlTemplateEditor.cs 62 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Hydraulic/Hydro.MapView/EditorConvert/EquivalentTemplateModel.cs 47 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Hydraulic/Hydro.MapView/Hydro.MapView.csproj 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Hydraulic/Hydro.MapView/MapViewNetWork2Inp.cs 9 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Hydraulic/Hydro.MapView/Model/MeterViewModel.cs 13 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Hydraulic/Hydro.Core/Common/Parts.cs
@@ -44,7 +44,7 @@
            List<string> sp = line.Split(new char[] {
            '\t', ' '
        }, StringSplitOptions.RemoveEmptyEntries).ToList();
            int pos = sp.IndexOf(";");
            int pos = sp.IndexOf(";");
            if (pos > 0)
            {
                _parts = new List<string>();
Hydraulic/Hydro.MapUI/Hydro.MapUI.csproj
@@ -160,6 +160,7 @@
    <EmbeddedResource Include="Map\DMap.resx">
      <DependentUpon>DMap.cs</DependentUpon>
    </EmbeddedResource>
    <EmbeddedResource Include="Properties\licenses.licx" />
    <EmbeddedResource Include="PropertyFrom.resx">
      <DependentUpon>PropertyFrom.cs</DependentUpon>
    </EmbeddedResource>
@@ -309,7 +310,7 @@
    <Reference Include="System.Windows.Forms.DataVisualization" />
    <Reference Include="System.Xml" />
    <Reference Include="WindowsBase" />
    <Reference Include="DevExpress.Charts.v22.2.Core, Version=22.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" />
    <Reference Include="DevExpress.Charts.v22.2.Core, Version=22.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" />
    <Reference Include="DevExpress.Data.Desktop.v22.2, Version=22.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" />
    <Reference Include="DevExpress.Data.v22.2, Version=22.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" />
    <Reference Include="DevExpress.Diagram.v22.2.Core, Version=22.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" />
Hydraulic/Hydro.MapUI/Map/MapViewer.Designer.cs
@@ -118,11 +118,11 @@
            this.toolStripTextBox_水平旋转角度 = new System.Windows.Forms.ToolStripTextBox();
            this.轴旋转ToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
            this.轴镜像ToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
            this.toolStripSeparator7 = new System.Windows.Forms.ToolStripSeparator();
            this.缩放ToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
            this.toolStripTextBox_缩放比例 = new System.Windows.Forms.ToolStripTextBox();
            this.toolStripMenuItem_放大2倍 = new System.Windows.Forms.ToolStripMenuItem();
            this.toolStripMenuItem_缩小2倍 = new System.Windows.Forms.ToolStripMenuItem();
            this.toolStripSeparator7 = new System.Windows.Forms.ToolStripSeparator();
            this.关阀分析ToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
            this.关阀分析不考虑水源ToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
            this.连通性检查ToolStripMenuItem1 = new System.Windows.Forms.ToolStripMenuItem();
@@ -647,7 +647,7 @@
            this.toolStripTextBox_水平旋转角度});
            this.水平旋转ToolStripMenuItem.Image = ((System.Drawing.Image)(resources.GetObject("水平旋转ToolStripMenuItem.Image")));
            this.水平旋转ToolStripMenuItem.Name = "水平旋转ToolStripMenuItem";
            this.水平旋转ToolStripMenuItem.Size = new System.Drawing.Size(180, 22);
            this.水平旋转ToolStripMenuItem.Size = new System.Drawing.Size(148, 22);
            this.水平旋转ToolStripMenuItem.Text = "水平旋转";
            this.水平旋转ToolStripMenuItem.Click += new System.EventHandler(this.水平旋转ToolStripMenuItem_Click);
            // 
@@ -662,20 +662,15 @@
            // 
            this.轴旋转ToolStripMenuItem.Image = ((System.Drawing.Image)(resources.GetObject("轴旋转ToolStripMenuItem.Image")));
            this.轴旋转ToolStripMenuItem.Name = "轴旋转ToolStripMenuItem";
            this.轴旋转ToolStripMenuItem.Size = new System.Drawing.Size(180, 22);
            this.轴旋转ToolStripMenuItem.Size = new System.Drawing.Size(148, 22);
            this.轴旋转ToolStripMenuItem.Text = "轴旋转";
            // 
            // è½´é•œåƒToolStripMenuItem
            // 
            this.轴镜像ToolStripMenuItem.Image = ((System.Drawing.Image)(resources.GetObject("轴镜像ToolStripMenuItem.Image")));
            this.轴镜像ToolStripMenuItem.Name = "轴镜像ToolStripMenuItem";
            this.轴镜像ToolStripMenuItem.Size = new System.Drawing.Size(180, 22);
            this.轴镜像ToolStripMenuItem.Size = new System.Drawing.Size(148, 22);
            this.轴镜像ToolStripMenuItem.Text = "轴镜像";
            //
            // toolStripSeparator7
            //
            this.toolStripSeparator7.Name = "toolStripSeparator7";
            this.toolStripSeparator7.Size = new System.Drawing.Size(177, 6);
            // 
            // ç¼©æ”¾ToolStripMenuItem
            // 
@@ -685,7 +680,7 @@
            this.toolStripMenuItem_缩小2倍});
            this.缩放ToolStripMenuItem.Image = ((System.Drawing.Image)(resources.GetObject("缩放ToolStripMenuItem.Image")));
            this.缩放ToolStripMenuItem.Name = "缩放ToolStripMenuItem";
            this.缩放ToolStripMenuItem.Size = new System.Drawing.Size(180, 22);
            this.缩放ToolStripMenuItem.Size = new System.Drawing.Size(148, 22);
            this.缩放ToolStripMenuItem.Text = "缩放";
            this.缩放ToolStripMenuItem.Click += new System.EventHandler(this.缩放ToolStripMenuItem_Click);
            // 
@@ -699,16 +694,21 @@
            // toolStripMenuItem_放大2倍
            // 
            this.toolStripMenuItem_放大2倍.Name = "toolStripMenuItem_放大2倍";
            this.toolStripMenuItem_放大2倍.Size = new System.Drawing.Size(180, 22);
            this.toolStripMenuItem_放大2倍.Size = new System.Drawing.Size(160, 22);
            this.toolStripMenuItem_放大2倍.Text = "放大2倍";
            this.toolStripMenuItem_放大2倍.Click += new System.EventHandler(this.缩放ToolStripMenuItem_Click);
            // 
            // toolStripMenuItem_缩小2倍
            // 
            this.toolStripMenuItem_缩小2倍.Name = "toolStripMenuItem_缩小2倍";
            this.toolStripMenuItem_缩小2倍.Size = new System.Drawing.Size(180, 22);
            this.toolStripMenuItem_缩小2倍.Size = new System.Drawing.Size(160, 22);
            this.toolStripMenuItem_缩小2倍.Text = "缩小2倍";
            this.toolStripMenuItem_缩小2倍.Click += new System.EventHandler(this.缩放ToolStripMenuItem_Click);
            //
            // toolStripSeparator7
            //
            this.toolStripSeparator7.Name = "toolStripSeparator7";
            this.toolStripSeparator7.Size = new System.Drawing.Size(145, 6);
            // 
            // å…³é˜€åˆ†æžToolStripMenuItem
            // 
@@ -716,7 +716,7 @@
            this.关阀分析不考虑水源ToolStripMenuItem});
            this.关阀分析ToolStripMenuItem.Image = ((System.Drawing.Image)(resources.GetObject("关阀分析ToolStripMenuItem.Image")));
            this.关阀分析ToolStripMenuItem.Name = "关阀分析ToolStripMenuItem";
            this.关阀分析ToolStripMenuItem.Size = new System.Drawing.Size(180, 22);
            this.关阀分析ToolStripMenuItem.Size = new System.Drawing.Size(148, 22);
            this.关阀分析ToolStripMenuItem.Text = "关阀分析";
            this.关阀分析ToolStripMenuItem.Click += new System.EventHandler(this.关阀搜索考虑水源ToolStripMenuItem_Click);
            // 
@@ -731,7 +731,7 @@
            // 
            this.连通性检查ToolStripMenuItem1.Image = ((System.Drawing.Image)(resources.GetObject("连通性检查ToolStripMenuItem1.Image")));
            this.连通性检查ToolStripMenuItem1.Name = "连通性检查ToolStripMenuItem1";
            this.连通性检查ToolStripMenuItem1.Size = new System.Drawing.Size(180, 22);
            this.连通性检查ToolStripMenuItem1.Size = new System.Drawing.Size(148, 22);
            this.连通性检查ToolStripMenuItem1.Text = "连通性检查";
            this.连通性检查ToolStripMenuItem1.Click += new System.EventHandler(this.连通性检查ToolStripMenuItem1_Click);
            // 
@@ -739,7 +739,7 @@
            // 
            this.下游连通性ToolStripMenuItem.Image = ((System.Drawing.Image)(resources.GetObject("下游连通性ToolStripMenuItem.Image")));
            this.下游连通性ToolStripMenuItem.Name = "下游连通性ToolStripMenuItem";
            this.下游连通性ToolStripMenuItem.Size = new System.Drawing.Size(180, 22);
            this.下游连通性ToolStripMenuItem.Size = new System.Drawing.Size(148, 22);
            this.下游连通性ToolStripMenuItem.Text = "下游连通性";
            this.下游连通性ToolStripMenuItem.Click += new System.EventHandler(this.下游连通性ToolStripMenuItem_Click);
            // 
@@ -747,14 +747,14 @@
            // 
            this.上游连通性ToolStripMenuItem.Image = ((System.Drawing.Image)(resources.GetObject("上游连通性ToolStripMenuItem.Image")));
            this.上游连通性ToolStripMenuItem.Name = "上游连通性ToolStripMenuItem";
            this.上游连通性ToolStripMenuItem.Size = new System.Drawing.Size(180, 22);
            this.上游连通性ToolStripMenuItem.Size = new System.Drawing.Size(148, 22);
            this.上游连通性ToolStripMenuItem.Text = "上游连通性";
            // 
            // æ ‡é«˜æŽ¨æµ‹ToolStripMenuItem
            // 
            this.标高推测ToolStripMenuItem.Image = ((System.Drawing.Image)(resources.GetObject("标高推测ToolStripMenuItem.Image")));
            this.标高推测ToolStripMenuItem.Name = "标高推测ToolStripMenuItem";
            this.标高推测ToolStripMenuItem.Size = new System.Drawing.Size(180, 22);
            this.标高推测ToolStripMenuItem.Size = new System.Drawing.Size(148, 22);
            this.标高推测ToolStripMenuItem.Text = "标高推测";
            this.标高推测ToolStripMenuItem.Click += new System.EventHandler(this.标高推测ToolStripMenuItem_Click);
            // 
@@ -762,7 +762,7 @@
            // 
            this.标高导出ToolStripMenuItem.Image = ((System.Drawing.Image)(resources.GetObject("标高导出ToolStripMenuItem.Image")));
            this.标高导出ToolStripMenuItem.Name = "标高导出ToolStripMenuItem";
            this.标高导出ToolStripMenuItem.Size = new System.Drawing.Size(180, 22);
            this.标高导出ToolStripMenuItem.Size = new System.Drawing.Size(148, 22);
            this.标高导出ToolStripMenuItem.Text = "标高导出";
            this.标高导出ToolStripMenuItem.Click += new System.EventHandler(this.标高导出ToolStripMenuItem_Click);
            // 
@@ -770,28 +770,28 @@
            // 
            this.显示水流ToolStripMenuItem.Image = ((System.Drawing.Image)(resources.GetObject("显示水流ToolStripMenuItem.Image")));
            this.显示水流ToolStripMenuItem.Name = "显示水流ToolStripMenuItem";
            this.显示水流ToolStripMenuItem.Size = new System.Drawing.Size(180, 22);
            this.显示水流ToolStripMenuItem.Size = new System.Drawing.Size(148, 22);
            this.显示水流ToolStripMenuItem.Text = "显示水流路线";
            this.显示水流ToolStripMenuItem.Click += new System.EventHandler(this.显示水流ToolStripMenuItem_Click);
            // 
            // æ–¹å‘修复ToolStripMenuItem
            // 
            this.方向修复ToolStripMenuItem.Name = "方向修复ToolStripMenuItem";
            this.方向修复ToolStripMenuItem.Size = new System.Drawing.Size(180, 22);
            this.方向修复ToolStripMenuItem.Size = new System.Drawing.Size(148, 22);
            this.方向修复ToolStripMenuItem.Text = "方向修复";
            this.方向修复ToolStripMenuItem.Click += new System.EventHandler(this.方向修复ToolStripMenuItem_Click);
            // 
            // toolStripSeparator12
            // 
            this.toolStripSeparator12.Name = "toolStripSeparator12";
            this.toolStripSeparator12.Size = new System.Drawing.Size(177, 6);
            this.toolStripSeparator12.Size = new System.Drawing.Size(145, 6);
            // 
            // å¤åˆ¶ToolStripMenuItem
            // 
            this.复制ToolStripMenuItem.Image = ((System.Drawing.Image)(resources.GetObject("复制ToolStripMenuItem.Image")));
            this.复制ToolStripMenuItem.Name = "复制ToolStripMenuItem";
            this.复制ToolStripMenuItem.ShortcutKeyDisplayString = "Ctrl+C";
            this.复制ToolStripMenuItem.Size = new System.Drawing.Size(180, 22);
            this.复制ToolStripMenuItem.Size = new System.Drawing.Size(148, 22);
            this.复制ToolStripMenuItem.Text = "复制";
            this.复制ToolStripMenuItem.Click += new System.EventHandler(this.复制ToolStripMenuItem_Click);
            // 
@@ -800,21 +800,21 @@
            this.粘贴ToolStripMenuItem.Image = ((System.Drawing.Image)(resources.GetObject("粘贴ToolStripMenuItem.Image")));
            this.粘贴ToolStripMenuItem.Name = "粘贴ToolStripMenuItem";
            this.粘贴ToolStripMenuItem.ShortcutKeyDisplayString = "Ctrl+V";
            this.粘贴ToolStripMenuItem.Size = new System.Drawing.Size(180, 22);
            this.粘贴ToolStripMenuItem.Size = new System.Drawing.Size(148, 22);
            this.粘贴ToolStripMenuItem.Text = "粘贴";
            this.粘贴ToolStripMenuItem.Click += new System.EventHandler(this.粘贴ToolStripMenuItem1_Click);
            // 
            // åˆ é™¤ToolStripMenuItem1
            // 
            this.删除ToolStripMenuItem1.Name = "删除ToolStripMenuItem1";
            this.删除ToolStripMenuItem1.Size = new System.Drawing.Size(180, 22);
            this.删除ToolStripMenuItem1.Size = new System.Drawing.Size(148, 22);
            this.删除ToolStripMenuItem1.Text = "删除";
            this.删除ToolStripMenuItem1.Click += new System.EventHandler(this.删除ToolStripMenuItem_Click);
            // 
            // toolStripSeparator15
            // 
            this.toolStripSeparator15.Name = "toolStripSeparator15";
            this.toolStripSeparator15.Size = new System.Drawing.Size(177, 6);
            this.toolStripSeparator15.Size = new System.Drawing.Size(145, 6);
            // 
            // å¯¹é½ToolStripMenuItem
            // 
@@ -825,7 +825,7 @@
            this.竖直对齐ToolStripMenuItem,
            this.自动对齐ToolStripMenuItem});
            this.对齐ToolStripMenuItem.Name = "对齐ToolStripMenuItem";
            this.对齐ToolStripMenuItem.Size = new System.Drawing.Size(180, 22);
            this.对齐ToolStripMenuItem.Size = new System.Drawing.Size(148, 22);
            this.对齐ToolStripMenuItem.Text = "对齐";
            // 
            // toolStripSeparator16
@@ -868,19 +868,19 @@
            // æŽ’列ToolStripMenuItem
            // 
            this.排列ToolStripMenuItem.Name = "排列ToolStripMenuItem";
            this.排列ToolStripMenuItem.Size = new System.Drawing.Size(180, 22);
            this.排列ToolStripMenuItem.Size = new System.Drawing.Size(148, 22);
            this.排列ToolStripMenuItem.Text = "排列";
            // 
            // toolStripSeparator22
            // 
            this.toolStripSeparator22.Name = "toolStripSeparator22";
            this.toolStripSeparator22.Size = new System.Drawing.Size(177, 6);
            this.toolStripSeparator22.Size = new System.Drawing.Size(145, 6);
            // 
            // æ¥¼å±‚管理ToolStripMenuItem
            // 
            this.楼层管理ToolStripMenuItem.Image = ((System.Drawing.Image)(resources.GetObject("楼层管理ToolStripMenuItem.Image")));
            this.楼层管理ToolStripMenuItem.Name = "楼层管理ToolStripMenuItem";
            this.楼层管理ToolStripMenuItem.Size = new System.Drawing.Size(180, 22);
            this.楼层管理ToolStripMenuItem.Size = new System.Drawing.Size(148, 22);
            this.楼层管理ToolStripMenuItem.Text = "楼层管理";
            this.楼层管理ToolStripMenuItem.Click += new System.EventHandler(this.楼层管理ToolStripMenuItem_Click);
            // 
Hydraulic/Hydro.MapUI/Map/MapViewer.Draw.cs
@@ -112,6 +112,8 @@
                    
                 
                };
                    template.BackGroundPoint1 = p4;
                    template.BackGroundPoint2 = new PointF(p3.X, p1.Y);
Hydraulic/Hydro.MapUI/Map/MapViewer.cs
@@ -937,6 +937,7 @@
            if  /*插入结构*/(e.Button == MouseButtons.Left && _isInsertingObject)
            {
                var net = _newTemplate.network;
                var net0 = _newTemplate.network.DeepCopyByBin<MapViewNetWork>();
                List<NodeViewModel> nodes = _Nodes.Select(node => (NodeViewModel)node).ToList();
                float minDist = 100f;
                NodeViewModel minNode = null;
@@ -1012,6 +1013,11 @@
                //_Network.Nodes.AddRange(net.Nodes);
                //_Network.Links.AddRange(net.Links);
                _newTemplate.network = net0;
                _undoOldValue = new PointF3D(0, 0, 0);
            _OperaNode = _newTemplate.network.Nodes.Find(node => node.ID == _newTemplate.Node1) as NodeViewModel;
                _isInsertingObject = true;
                SetMapInvalidate();
                return;
            }
Hydraulic/Hydro.MapUI/Map/MapViewer.resx
@@ -613,42 +613,42 @@
  <data name="toolStripButton_添加水表.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
    <value>
        iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
        YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAgXSURBVFhHrVcLUJTXGbWtUSfNVINWYFJsY9BkqnZGjdaJ
        jcZHVawxoVWjBpyY+EyiQWIwaqKIBh8hIPgIjkajESWtaBXkKQ8X5SFCEBdcWdjlvbvAgrDsIs/Tey67
        jtvFqJ3emcP+3P/7zjn33u/eu9vnKdovBH4p8CuBZwT6CfS3gs/s4zvGMPb/0khE9BWg0K8FBgkMERgq
        4GIFn9nHd4xhLHNs+f9TYyJHNMDHZ4vr8bMXXleVGyIMllajyWRqSU1N7SKam5vN+pbWhpxCTdQXAXvn
        T542e5TIoaHfMNfK8VQmGMxpfGb8+PEDE6/nLTE03y/HE7bq+saaQ8cjfAcPHvyy4KCR58hl5XysEZt4
        /537Ql+qqDcpurt7iOtMbcguqcfZjDKEJajwdUyRBJ9/zCpDTmk9apvvy9hukZSvLs+fOWfeDME1TGAg
        Oa3cP2tCih89c/FPxsa2GpLds3TgilKP4Ngi7Im+g6AEDUJSqhCm0ONAukEi7Kpe9h1VVCC1yIBGc5s0
        Um0wGD3m/f1twTlcgPVhM9Fro7N+vlt3utWZ79eRQFNrxpErauw8r8SeWA2CU/QISzfiYEYTDmWacDir
        RYLP4ZlNCFXUIzhZhxPpVSg1mKSJSr2+YfjIkR6CmyY4E1wOh1lgR99ZCxY4ldWasphYamjB3ku3sT2q
        EIFx5QhKrUWIohH7rzU5QF3XLsXaOrtxIM2AfcLEgVSaaJH9ObeLVYOdnacLDS4Ha8KhMPnPgLjr+d5c
        84aWdgRHF2JzZAF2xJRjd1It9iQbsTelwQ4hVxvRaOkUay51ZAuJL0HA5UoEJhpwRKGDUdROlwjw+3JX
        sNAYL8DC5O6wM9B38eIPnHWNlkqSXLhRgQ0nc7E5Sg3/WB0CEuocEHHznhwxyalPtLZ14pPj2dh6QYMd
        8bUyN+aWXE2o1Xqjq6urp9AaIcAtynNCNjrpf/THy38lSXVDKzZ+fwM+P9zG5+crsPWSDluj9XbI0prR
        2dUjbvvsEp9ZKj0+OpoNv39pevIEAmKqUNPYKg16LvTeKbQmCjhT06otq/K5fI3+Mp3G5lVh5beZWHda
        Bd9zFfg0qsoOuqb2B4KWtg5o9M3SRHtHF94LTcGaY3nwidQ8iCdHotJIakQnXLsltFiQL1LTqi0LYpCh
        qVVG7fpnPpYfzsHak2p8fKbcDv6XqtHOaReCugYLln59RQrTgLLMCO+Qq1h1TImPIrR2ed/EVUkDJSXG
        FqG1RGA0Na3aclsMqa6ulqX8fmg6vA/l4oPjxVjxfak9TpQg4noN0sS5sHBPErKL66R4R2cXvIKuYElI
        BpYfLXLIWx9RKg0olcpOobVSYAI1rdpyLZx5rjPIc1cS3gnNhVe4Cl5H7jpg6SElFgXfwIKgTNxv7xm9
        VizDWzsTsSgkB++G33HIWXZEJQ38EHGmW2itF5hMTau2/ONqM+Dhn4C3gnLwjwNFvSOsEJ77C3DhpsE6
        +m6sCk3D3IAUvB2c12vOwoNF0sCp09KAr8AUalq1ewzYluDNgATM/ioTfwsq+FmYWjulgRqjGW9sisas
        gHTM3fdTr7GLDxZKA9Yl6NWAc5XO1MigNQfSMXVbOmbsysWMr/J6RWhchRQnNoSnY/JnsXjDP+OROZ+c
        vNtjoLLWIrQclkAW4dXc0lQGHU+8iz/7JeO1bdmYvD2nV9Q1t0lxY3Mrxn18DhM/S8JrX2b1GkucUlRL
        A5EXkouFlkMRym3oF7B/qdjeuFt1D69visd4PwVe3ZzpgLXHCh+MPvDsTYz58DzGbUwR7zIcYolpO3JQ
        XNMij+sZHp7HhJbDNpQH0bhJU8aoqw09Z8HZn/DHdYkY7avA6E+v2aGs1iLFm8SVO2J5BF5ZG41RG9Ic
        4mwIPF8iR39HpTM7OQ39QmjNFeDN+OAgkkexgMu+8MjtJC8XV6nH9hS4f3gFI9alCVyVmO6fLaueMd/F
        F+EPy87ipdVxdjEPY97uHFTWC8MiZ/X6rTFCY5XAJGpZNeVRzD+8GAY6u7mNyszXqulYcVuHV30TMWxl
        EoatTpEYu1GBDiFuud8B10Un8IL3ObitFDHW9w9j4qbrSC/qOYLjFXm6vn37bRYa8wVGUsuqKQ2wcSp4
        RTqPnfCXGaXlxmYmpuTXYNqWVLi8Fw+X9xPxuxVJGL4qDi+viMJv3zkDZ+9LcFmeKN4l2WH6tgyk3u65
        BQtVNeYhQ112C+5lAiw+Vj+15PTbmm0WuC6/n/nmwiW3yiqbSKDVm7DtdAHG+STDyStO4DKeX3JRwskr
        Fk7e8Q8wfE0yPj9VBK3BLMWVKpX5lTFjQwUnK38qua0adqO3NXbwBwar033SlNmLkq8rNVxvtlsa8QXk
        ogoeO67BbUUcBnnFCMTKJZgTkImgf6txS3tPxjInNi1XN9x91DeCi+L8NuRu5aaGg7itcVpYHM8LuA90
        cpq5fktgeIGy+h630eMaY7JVWtOyNb6XBjz77BbBwWnnyClOTnLbTf1/Nzrj3mQg3XLKJrzoPmbpHM93
        A49ExuWpVLVmrVbbwXOd4LNSabAcPnVeOXXW/GPOL7j5ixyOmgXHNScHuchJ7keO3tYYQJecKq4Xi4aV
        y+3DLxM8SCjAI5XnOsFn9vEdYxjLHOaSg1zkfKz4w43BLBZWLLcN9y6/yfAU48h4nvNSIfjMPr5jDGOZ
        w9xeC+5Jm202SMIp5Gg4nTzHOTreaASfbT9OGcNY5jz1qB/VSGIzw3XkJUKRh8E+vrOJPoFwnz7/Ad0e
        8+KBfVA1AAAAAElFTkSuQmCC
        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
        yuqRFMcAAAAASUVORK5CYII=
</value>
  </data>
  <data name="toolStripButton_重复器.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
@@ -1429,16 +1429,17 @@
        AAEAAAD/////AQAAAAAAAAAMAgAAAERIeWRyby5NYXBWaWV3LCBWZXJzaW9uPTEuMC4wLjAsIEN1bHR1
        cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49bnVsbAwDAAAAUVN5c3RlbS5EcmF3aW5nLCBWZXJzaW9u
        PTQuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49YjAzZjVmN2YxMWQ1MGEzYQUB
        AAAAG0h5ZHJvLk1hcFZpZXcuTWFwRGltZW5zaW9ucwwAAAAXPENlbnRlcj5rX19CYWNraW5nRmllbGQV
        AAAAG0h5ZHJvLk1hcFZpZXcuTWFwRGltZW5zaW9ucw0AAAAXPENlbnRlcj5rX19CYWNraW5nRmllbGQV
        PHpvb20+a19fQmFja2luZ0ZpZWxkGTxyb3RhdGlvbj5rX19CYWNraW5nRmllbGQKX3JvdGF0aW9uRho8
        U2hvd0Zsb29yPmtfX0JhY2tpbmdGaWVsZBo8aXNTaG93UGljPmtfX0JhY2tpbmdGaWVsZB48aXNTaG93
        VW5mYXZvcj5rX19CYWNraW5nRmllbGQbPExvY2syRFZpZXc+a19fQmFja2luZ0ZpZWxkGzxpc0VkaXRN
        b2RlPmtfX0JhY2tpbmdGaWVsZBg8SXNPcnRobz5rX19CYWNraW5nRmllbGQbPENvbG91ck5vZGU+a19f
        QmFja2luZ0ZpZWxkGzxDb2xvdXJMaW5rPmtfX0JhY2tpbmdGaWVsZAQAAAAAAAAAAAAEBBVTeXN0ZW0u
        RHJhd2luZy5Qb2ludEYDAAAACwYGCAEBAQEBGEh5ZHJvLk1hcFZpZXcuQ29sb3VyVHlwZQIAAAAYSHlk
        cm8uTWFwVmlldy5Db2xvdXJUeXBlAgAAAAIAAAAF/P///xVTeXN0ZW0uRHJhd2luZy5Qb2ludEYCAAAA
        AXgBeQAACwsDAAAAAAAAAAAAAADNzMw9AAAAAAAAAAAAAAAAAAAAAAAAAIABAQAAAQX7////GEh5ZHJv
        Lk1hcFZpZXcuQ29sb3VyVHlwZQEAAAAHdmFsdWVfXwAIAgAAAAAAAAAB+v////v///8AAAAACw==
        U2hvd0Zsb29yPmtfX0JhY2tpbmdGaWVsZBo8aXNTaG93UGljPmtfX0JhY2tpbmdGaWVsZBVpc0F1dG9C
        YWNrZ3JvdW5kSW1hZ2UePGlzU2hvd1VuZmF2b3I+a19fQmFja2luZ0ZpZWxkGzxMb2NrMkRWaWV3Pmtf
        X0JhY2tpbmdGaWVsZBs8aXNFZGl0TW9kZT5rX19CYWNraW5nRmllbGQYPElzT3J0aG8+a19fQmFja2lu
        Z0ZpZWxkGzxDb2xvdXJOb2RlPmtfX0JhY2tpbmdGaWVsZBs8Q29sb3VyTGluaz5rX19CYWNraW5nRmll
        bGQEAAAAAAAAAAAAAAQEFVN5c3RlbS5EcmF3aW5nLlBvaW50RgMAAAALBgYIAQEBAQEBGEh5ZHJvLk1h
        cFZpZXcuQ29sb3VyVHlwZQIAAAAYSHlkcm8uTWFwVmlldy5Db2xvdXJUeXBlAgAAAAIAAAAF/P///xVT
        eXN0ZW0uRHJhd2luZy5Qb2ludEYCAAAAAXgBeQAACwsDAAAAAAAAAAAAAADNzMw9AAAAAAAAAAAAAAAA
        AAAAAAAAAIABAAEAAAEF+////xhIeWRyby5NYXBWaWV3LkNvbG91clR5cGUBAAAAB3ZhbHVlX18ACAIA
        AAAAAAAAAfr////7////AAAAAAs=
</value>
  </data>
  <metadata name="$this.TrayHeight" type="System.Int32, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
Hydraulic/Hydro.MapView/EditorConvert/DlTemplateEditor.cs
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,62 @@
using Newtonsoft.Json;
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Drawing.Design;
using System.IO;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using System.Windows.Forms.Design;
namespace Hydro.MapView
{
    public class DlTemplateEditor : UITypeEditor
    {
        public override UITypeEditorEditStyle GetEditStyle(ITypeDescriptorContext context)
        {
            return UITypeEditorEditStyle.DropDown;
        }
        public override object EditValue(ITypeDescriptorContext context, IServiceProvider serviceProvider, object value)
        {
            if (context != null && serviceProvider != null)
            {
                IWindowsFormsEditorService editorService = (IWindowsFormsEditorService)serviceProvider.GetService(typeof(IWindowsFormsEditorService));
                if (editorService != null)
                {
                    var filePath = Path.Combine(Directory.GetCurrentDirectory(), "Data\\WaterEquivalent.Json");
                    List<string> wds = new List<string>();
                    if (File.Exists(filePath))
                    {
                        var json = File.ReadAllText(filePath);
                        if (!string.IsNullOrEmpty(json))
                        {
                            var w = JsonConvert.DeserializeObject<List<EquivalentTemplateModel>>(json);
                            if (w != null)
                            {
                                foreach (var item in w)
                                {
                                    wds.Add(item.Name);
                                }
                            }
                        }
                    }
                    // åˆ›å»ºä¸‹æ‹‰åˆ—表
                    ComboBox comboBox = new ComboBox();
                    comboBox.Items.AddRange(wds.ToArray());
                    // æ˜¾ç¤ºä¸‹æ‹‰åˆ—表
                    editorService.DropDownControl(comboBox);
                    // è¿”回选中的值
                    value = comboBox.SelectedItem;
                }
            }
            return value;
        }
    }
}
Hydraulic/Hydro.MapView/EditorConvert/EquivalentTemplateModel.cs
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,47 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Hydro.MapView
{
    public class EquivalentTemplateModel
    {
        public string Name { get; set; }
        public long ID { get; set; }
        public List<WaterEquivalentModel> waterEquivalents { get; set; }
        public EquivalentTemplateModel()
        {
            waterEquivalents = new List<WaterEquivalentModel>();
        }
    }
    public class WaterEquivalentModel
    {
        /// <summary>
        /// å™¨å…·åç§°
        /// </summary>
        public string WaterUtensilName { get; set; }
        /// <summary>
        /// æ•°é‡
        /// </summary>
        public int Count { get; set; }
        /// <summary>
        /// é¢å®šæµé‡
        /// </summary>
        public double RatedFlow { get; set; }
        /// <summary>
        /// æœ€å°é¢å®šæµé‡
        /// </summary>
        public double MinRatedFlow { get; set; }
    }
}
Hydraulic/Hydro.MapView/Hydro.MapView.csproj
@@ -72,6 +72,7 @@
    <Compile Include="Common\MapDimensions.cs" />
    <Compile Include="Common\ShouldSerializeContractResolver.cs" />
    <Compile Include="Common\TempForEnum.cs" />
    <Compile Include="EditorConvert\EquivalentTemplateModel.cs" />
    <Compile Include="Enum\MapViewEnum.cs" />
    <Compile Include="MapViewNetWork.cs" />
    <Compile Include="MapViewNetWork2Inp.cs" />
@@ -94,6 +95,7 @@
    <Compile Include="Template\Floor.cs" />
    <Compile Include="Template\Template.cs" />
    <Compile Include="Template\TemplateList.cs" />
    <Compile Include="EditorConvert\DlTemplateEditor.cs" />
  </ItemGroup>
  <ItemGroup>
    <ProjectReference Include="..\Hydro.CommonBase\Hydro.CommonBase.csproj">
Hydraulic/Hydro.MapView/MapViewNetWork2Inp.cs
@@ -58,7 +58,12 @@
                                {
                                    NodeViewModel j = null;
                                    if (parts[-2] == "Meter")
                                        j = new MeterViewModel();
                                    {
                                       var m = new MeterViewModel();
                                        m.DlTemplateID = parts.ToString(-4, "");
                                        j = m;
                                    }
                                    else if (parts[-2] == "Nozzle")
                                    {
                                        var n = new NozzleViewModel();
@@ -1017,7 +1022,7 @@
                if (o is JunctionViewModel j)
                    junctionStringBuilder.AppendLine(j.ToString() + $"{j.Level}\tJunction\t{o.Tags}");
                else if (o is MeterViewModel m)
                    junctionStringBuilder.AppendLine(m.ToString() + $"{o.Level}\tMeter\t{o.Tags}");
                    junctionStringBuilder.AppendLine(m.ToString() + $"{o.Level}\tMeter\t{o.Tags}\t{m.DlTemplateID}");
                else if (o is NozzleViewModel no)
                    junctionStringBuilder.AppendLine(no.ToString() + $"{o.Level}\tNozzle\t{o.Tags}\t{no.FlowCoefficient}");
            });
Hydraulic/Hydro.MapView/Model/MeterViewModel.cs
@@ -1,8 +1,11 @@
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Drawing.Design;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using static System.ComponentModel.TypeConverter;
namespace Hydro.MapView
{
@@ -15,10 +18,10 @@
            return $"{ID}\t{Elev}\t{Demand}\t{PatternID}\t;\t";
        }
        /// <summary>
        /// å½“量模板ID
        /// </summary>
        public long DlTemplateID { get; set; }
        [Category("基本信息")]
        [DisplayName("当量模板")]
        [Editor(typeof(DlTemplateEditor),typeof(UITypeEditor))]
        [Browsable(true)]
        public string DlTemplateID { get; set; }
    }
}