Browse Source

feat(hnyzConfiguratePage):换热,铁合金组态页面

HMY 9 months ago
parent
commit
c4b356f282

+ 0 - 36
ui/src/views/hnyzConfiguratePage/CaSO4_2/index.vue

@@ -204,42 +204,6 @@ const initValveStatusArr = [true]
                 }
             }
 
-            //料仓
-            .stock_bin_pos {
-                position: absolute;
-                top: 27%;
-                left: 3%;
-            }
-
-            //三通阀
-            .threeWayValve_pos {
-                position: absolute;
-                top: 35.7%;
-                left: 14%;
-                flex-direction: column;
-            }
-
-            //洗气塔
-            .scrubberTower_pos {
-                position: absolute;
-                top: 9.7%;
-                left: 31.5%;
-
-                .iconfont-hnyz-colour {
-                    font-size: 140px;
-                }
-            }
-
-            //加药机
-            .dosingMachine_pos {
-                position: absolute;
-                top: 65%;
-                left: 46.5%;
-
-                .iconfont-hnyz-colour {
-                    font-size: 100px;
-                }
-            }
         }
 
         //外部组件

+ 208 - 434
ui/src/views/hnyzConfiguratePage/HeatExchange/index.vue

@@ -1,16 +1,87 @@
 <template>
     <div class="page">
-        <HeaderComponent title="换热"></HeaderComponent>
+        <HeaderComponent title="换热PID"></HeaderComponent>
         <div class="content_page">
             <!-- 罐体 -->
             <div class="tanks">
-               <!-- <WaterSinkValvesComponent title="V6101"  :iconWidth="100" :iconHeight="80" :waterLevelValue="80" :tempValue="20" class="tank_test"/> -->
-                <!-- <SeparatorTowerValves title="分离塔1" :iconSize="100" class="tank_test" /> -->
+                <ETypeTankValves3 title="E6002" :iconSize="200" :tempValue="70" :fanStatus="true" class="tank_E6002" />
+                <ETypeTankValves3 title="E6003" :iconSize="200" :tempValue="70" :fanStatus="true" class="tank_E6003" />
+                <ETypeTankValves3 title="E6004" :iconSize="200" :tempValue="70" class="tank_E6004" />
+                <ETypeTankValves3 title="E6005" :iconSize="200" :tempValue="70" class="tank_E6005" />
+                <ETypeTankValves3 title="E6006" :iconSize="200" :tempValue="70" class="tank_E6006" />
+                <ETypeTankValves3 title="E6007" :iconSize="200" :tempValue="70" class="tank_E6007" />
+                <ETypeTankValves3 title="E6008" :iconSize="150" class="tank_E6008" />
+
+                <HeatExchangeWaterTankValves title="V6102" :iconSize="100" class="tank_V6102" />
+                <HeatExchangeWaterTankValves title="V6103" :iconSize="100" class="tank_V6103" />
+                <HeatExchangeWaterTankValves title="V6106" :iconSize="100" class="tank_V6106" />
+
+                <VTypeTankValves3 title="V6104" :iconSize="150" class="tank_V6104" />
+                <VTypeTankValves3 title="V6105" :iconSize="150" class="tank_V6105" />
+                <VTypeTankValves3 title="V6107" :iconSize="150" class="tank_V6107" />
+                <VTypeTankValves3 title="V6108" :iconSize="150" class="tank_V6108" />
+                <VTypeTankValves title="V6109" :fanStatus="true" :iconSize="150" class="tank_V6109" />
+
+                <Separator title="F6001" :iconSize="150" class="separator_F6001 zIndex10" />
 
             </div>
             <!-- 外部管道排布 -->
             <div class="outer_progress">
-               
+                <!-- P6112-ACV6139相关拓展管道 -->
+                <Pipe :pipeStatus="initPipeStatus" :strokeWidth="pipeWidth"
+                    class="progress_steam progress_pos1 rotate_270" />
+
+                <!-- P6116-引至G1 相关拓展管道 -->
+                <Pipe :pipeStatus="initPipeStatus" :strokeWidth="pipeWidth"
+                    class="progress_steam progress_pos2 rotate_270" />
+
+                <!-- P6104-ACV6114相关拓展管道 -->
+                <Pipe :pipeStatus="initPipeStatus" :strokeWidth="pipeWidth"
+                    class="progress_steam progress_pos3 rotate_270" />
+                <Pipe :pipeStatus="initPipeStatus" :strokeWidth="pipeWidth"
+                    class="progress_steam progress_pos4 rotate_180" />
+                <Pipe :pipeStatus="initPipeStatus" :strokeWidth="pipeWidth"
+                    class="progress_steam progress_pos5 rotate_90" />
+
+                <!-- P6117-ACV6113相关拓展管道 -->
+                <Pipe :pipeStatus="initPipeStatus" :strokeWidth="pipeWidth"
+                    class="progress_steam progress_pos6 rotate_270" />
+                <Pipe :pipeStatus="initPipeStatus" :strokeWidth="pipeWidth"
+                    class="progress_steam progress_pos7 zIndex10" />
+
+                <!-- 引自低位槽-ACV6101相关拓展管道 -->
+                <Pipe :pipeStatus="initPipeStatus" :strokeWidth="pipeWidth"
+                    class="progress_steam progress_pos8 zIndex10" />
+
+                <!-- ACV6120,ACV6129,ACV6138-分离器F6001管道 -->
+                <Pipe :pipeStatus="initPipeStatus" :strokeWidth="pipeWidth" class="progress_steam progress_pos9" />
+                <Pipe :pipeStatus="initPipeStatus" :strokeWidth="pipeWidth" class="progress_steam progress_pos10" />
+                <Pipe :pipeStatus="initPipeStatus" :strokeWidth="pipeWidth"
+                    class="progress_steam progress_pos11 rotate_90" />
+
+                <!-- 分离器F6001-ACV6145,ACV6147,ACV6149,ACV6151 相关拓展管道 -->
+                <Pipe :pipeStatus="initPipeStatus" :strokeWidth="pipeWidth"
+                    class="progress_steam progress_pos12_1 rotate_180" />
+                <Pipe :pipeStatus="initPipeStatus" :strokeWidth="pipeWidth"
+                    class="progress_steam progress_pos12_2 rotate_180" />
+                <Pipe :pipeStatus="initPipeStatus" :strokeWidth="pipeWidth"
+                    class="progress_steam progress_pos12_3 rotate_180" />
+                <Pipe :pipeStatus="initPipeStatus" :strokeWidth="pipeWidth"
+                    class="progress_steam progress_pos12_4 rotate_180" />
+
+                <!-- F6001-V6109相关拓展管道 -->
+                <Pipe :pipeStatus="initPipeStatus" :strokeWidth="pipeWidth"
+                    class="progress_steam progress_pos13 rotate_90" />
+
+                <!-- P6116-ACV6153相关拓展管道 -->
+                <Pipe :pipeStatus="initPipeStatus" :strokeWidth="pipeWidth"
+                    class="progress_steam progress_pos14 rotate_90" />
+                <Pipe :pipeStatus="initPipeStatus" :strokeWidth="pipeWidth"
+                    class="progress_steam progress_pos15 rotate_180" />
+
+                <!-- P6121泵流出 -->
+                <Pipe :pipeStatus="initPipeStatus" :strokeWidth="pipeWidth" class="progress_steam progress_pos16" />
+
             </div>
 
             <!-- 其他图标 -->
@@ -19,29 +90,43 @@
             </div>
             <!-- 外部组件 -->
             <div class="outer_components">
-                
+
             </div>
 
             <!-- 大箭头指向 -->
             <div class="arrows">
-              
+                <Arrow flexDir="column" arrowDir="up" :iconFirst="false" arrowText="引至G1" :fontSize="18"
+                    class="arrow_pos1" />
+                <Arrow flexDir="column" arrowDir="right" :iconFirst="false" arrowText="引自分离塔M12母液低位槽" :fontSize="16"
+                    class="arrow_pos2" />
+                <Arrow flexDir="column" arrowDir="right" :iconFirst="false" arrowText="DN150" :fontSize="18"
+                    class="arrow_pos3" />
             </div>
         </div>
     </div>
 </template>
 
 <script setup>
+import ETypeTankValves3 from '@/components/HnyzDcs/ETypeTankValves3Component.vue';
+import HeatExchangeWaterTankValves from '@/components/HnyzDcs/HeatExchangeWaterTankValvesComponent.vue';
+import VTypeTankValves3 from '@/components/HnyzDcs/VTypeTankValves3Component.vue';
+import VTypeTankValves from '@/components/HnyzDcs/VTypeTankValvesComponent.vue';
+import Separator from '@/components/HnyzDcs/SeparatorComponent.vue';
+
+import ETypeTank from '@/components/HnyzDcs/ETypeTankComponent.vue';
 import WaterSinkValvesComponent from '@/components/HnyzDcs/WaterSinkValvesComponent.vue';
 import SeparatorTowerValves from '@/components/HnyzDcs/SeparatorTowerValvesComponent.vue';
 import FTypeTankValves from '@/components/HnyzDcs/FTypeTankValvesComponent.vue';
 import Pipe from '@/components/HnyzDcs/PipeComponent.vue';
 import Arrow from '@/components/HnyzDcs/ArrowComponent.vue';
+
 import { useValveHelper } from '@/hooks/useValveHelper'
 import { computed, onMounted, onBeforeUnmount } from 'vue';
 
 import { stompClient } from '@/utils/ws/stompClient';
 import { updateZTPageConfig } from '@/api/dcs/configurePage';
 import SeparatorTowerValvesComponent from '../../../components/HnyzDcs/SeparatorTowerValvesComponent.vue';
+import { FALSE } from 'sass';
 
 const initPipeStatus = true
 const initValveStatusArr = [true]
@@ -72,157 +157,131 @@ const pipeWidth = 6
 
         //罐体
         .tanks {
-            .tank_test{
+            .tank_test {
                 position: absolute;
                 top: 40%;
                 left: 50%;
                 transform: translate(-50%, -50%);
             }
-            .tank_F6001 {
-                position: absolute;
-                top: 25%;
-                left: 18%;
-                transform: translate(-50%, -50%);
-            }
-
-            .tank_F6002 {
-                position: absolute;
-                top: 25%;
-                left: 25%;
-                transform: translate(-50%, -50%);
-            }
 
-            .tank_F6003 {
+            .tank_E6002 {
                 position: absolute;
-                top: 25%;
-                left: 32%;
+                top: 15%;
+                left: 37%;
                 transform: translate(-50%, -50%);
             }
 
-            .tank_F6004 {
+            .tank_E6003 {
                 position: absolute;
-                top: 25%;
-                left: 39%;
+                top: 15%;
+                left: 56.5%;
                 transform: translate(-50%, -50%);
             }
 
-            .tank_F6005 {
+            .tank_E6004 {
                 position: absolute;
-                top: 25%;
-                left: 46%;
+                top: 39%;
+                left: 24.5%;
                 transform: translate(-50%, -50%);
             }
 
-            .tank_F6006 {
+            .tank_E6005 {
                 position: absolute;
-                top: 25%;
-                left: 53%;
+                top: 39%;
+                left: 44%;
                 transform: translate(-50%, -50%);
             }
 
-            .tank_F6007 {
+            .tank_E6006 {
                 position: absolute;
-                top: 25%;
-                left: 60%;
+                top: 39%;
+                left: 63.5%;
                 transform: translate(-50%, -50%);
             }
 
-            .tank_F6008 {
+            .tank_E6007 {
                 position: absolute;
-                top: 25%;
-                left: 67%;
+                top: 19%;
+                left: 83.1%;
                 transform: translate(-50%, -50%);
             }
 
-            .tank_F6009 {
+            .tank_E6008 {
                 position: absolute;
-                top: 25%;
-                left: 74%;
+                top: 7%;
+                left: 92.5%;
                 transform: translate(-50%, -50%);
             }
 
-            .tank_F6010 {
-                position: absolute;
-                top: 25%;
-                left: 81%;
-                transform: translate(-50%, -50%);
-            }
 
-            .tank_F6011 {
-                position: absolute;
-                top: 70%;
-                left: 18%;
-                transform: translate(-50%, -50%);
-            }
 
-            .tank_F6012 {
+            .tank_V6102 {
                 position: absolute;
-                top: 70%;
-                left: 25%;
+                top: 65%;
+                left: 24%;
                 transform: translate(-50%, -50%);
             }
 
-            .tank_F6013 {
+            .tank_V6103 {
                 position: absolute;
-                top: 70%;
-                left: 32%;
+                top: 65%;
+                left: 43.5%;
                 transform: translate(-50%, -50%);
             }
 
-            .tank_F6014 {
+            .tank_V6106 {
                 position: absolute;
-                top: 70%;
-                left: 39%;
+                top: 65%;
+                left: 63%;
                 transform: translate(-50%, -50%);
             }
 
-            .tank_F6015 {
+            .tank_V6104 {
                 position: absolute;
-                top: 70%;
-                left: 46%;
+                top: 89%;
+                left: 11%;
                 transform: translate(-50%, -50%);
             }
 
-            .tank_F6016 {
+            .tank_V6105 {
                 position: absolute;
-                top: 70%;
-                left: 53%;
+                top: 89%;
+                left: 24.5%;
                 transform: translate(-50%, -50%);
             }
 
-            .tank_F6017 {
+            .tank_V6107 {
                 position: absolute;
-                top: 70%;
-                left: 60%;
+                top: 89%;
+                left: 44%;
                 transform: translate(-50%, -50%);
             }
 
-            .tank_F6018 {
+            .tank_V6108 {
                 position: absolute;
-                top: 70%;
-                left: 67%;
+                top: 89%;
+                left: 63.5%;
                 transform: translate(-50%, -50%);
             }
 
-            .tank_F6019 {
+            .tank_V6109 {
                 position: absolute;
-                top: 70%;
-                left: 74%;
+                top: 89%;
+                left: 83%;
                 transform: translate(-50%, -50%);
             }
 
-            .tank_F6020 {
+            .separator_F6001 {
                 position: absolute;
-                top: 70%;
-                left: 81%;
+                top: 74%;
+                left: 79%;
                 transform: translate(-50%, -50%);
             }
 
-
         }
 
         //其他图标
-        .icon_others {}
+        // .icon_others {}
 
         //外部组件
         .outer_components {
@@ -237,29 +296,22 @@ const pipeWidth = 6
         .arrows {
             .arrow_pos1 {
                 position: absolute;
-                top: 26%;
-                left: 8%;
+                top: 7%;
+                left: 97%;
                 transform: translate(-50%, -50%);
             }
 
             .arrow_pos2 {
                 position: absolute;
-                top: 35.5%;
+                top: 7%;
                 left: 7%;
                 transform: translate(-50%, -50%);
             }
 
             .arrow_pos3 {
                 position: absolute;
-                top: 60.5%;
-                left: 7%;
-                transform: translate(-50%, -50%);
-            }
-
-            .arrow_pos4 {
-                position: absolute;
-                top: 26%;
-                left: 94%;
+                top: 86.5%;
+                left: 95.5%;
                 transform: translate(-50%, -50%);
             }
         }
@@ -268,417 +320,139 @@ const pipeWidth = 6
         .outer_progress {
             .progress_pos1 {
                 position: absolute;
-                top: 15.1%;
-                left: 15%;
-                width: 72.6%;
+                top: 22%;
+                left: 72%;
+                width: 10.6%;
             }
 
             .progress_pos2 {
                 position: absolute;
-                top: 60.1%;
-                left: 15%;
-                width: 72.6%;
+                top: 18%;
+                left: 97%;
+                width: 5.6%;
             }
 
             .progress_pos3 {
                 position: absolute;
-                top: 20.6%;
-                left: 15.1%;
-                width: 5.7%;
-            }
-
-            .progress_pos3_2 {
-                position: absolute;
-                top: 43.3%;
-                left: 15.1%;
-                width: 18%;
+                top: 6%;
+                left: 64.95%;
+                width: 3%;
             }
 
             .progress_pos4 {
                 position: absolute;
-                top: 20.6%;
-                left: 87.5%;
-                width: 5.7%;
+                top: 3%;
+                left: 13.3%;
+                width: 51.8%;
             }
 
-            .progress_pos4_2 {
-                position: absolute;
-                top: 43.3%;
-                left: 87.5%;
-                width: 18%;
-            }
-
-
-
             .progress_pos5 {
                 position: absolute;
-                top: 8.7%;
-                left: 14%;
-                width: 3.7%;
-            }
-
-            .progress_pos5_2 {
-                position: absolute;
-                top: 8.7%;
-                left: 17.4%;
-                width: 7.3%;
-            }
-
-            .progress_pos5_3 {
-                position: absolute;
-                top: 8.7%;
-                left: 24.4%;
-                width: 7.3%;
-            }
-
-            .progress_pos5_4 {
-                position: absolute;
-                top: 8.7%;
-                left: 31.4%;
-                width: 7.3%;
-            }
-
-            .progress_pos5_5 {
-                position: absolute;
-                top: 8.7%;
-                left: 38.4%;
-                width: 7.3%;
-            }
-
-            .progress_pos5_6 {
-                position: absolute;
-                top: 8.7%;
-                left: 45.4%;
-                width: 7.3%;
-            }
-
-            .progress_pos5_7 {
-                position: absolute;
-                top: 8.7%;
-                left: 52.4%;
-                width: 7.3%;
+                top: 17.6%;
+                left: 13.4%;
+                width: 15.2%;
             }
 
-            .progress_pos5_8 {
-                position: absolute;
-                top: 8.7%;
-                left: 59.4%;
-                width: 7.3%;
-            }
-
-            .progress_pos5_9 {
-                position: absolute;
-                top: 8.7%;
-                left: 66.4%;
-                width: 7.3%;
-            }
-
-            .progress_pos5_10 {
-                position: absolute;
-                top: 8.7%;
-                left: 73.4%;
-                width: 7.3%;
-            }
-
-            .progress_pos5_11 {
-                position: absolute;
-                top: 8.7%;
-                left: 80.4%;
-                width: 6.2%;
-            }
 
             .progress_pos6 {
                 position: absolute;
-                top: 53.7%;
-                left: 14%;
-                width: 3.7%;
-            }
-
-            .progress_pos6_2 {
-                position: absolute;
-                top: 53.7%;
-                left: 17.4%;
-                width: 7.3%;
-            }
-
-            .progress_pos6_3 {
-                position: absolute;
-                top: 53.7%;
-                left: 24.4%;
-                width: 7.3%;
-            }
-
-            .progress_pos6_4 {
-                position: absolute;
-                top: 53.7%;
-                left: 31.4%;
-                width: 7.3%;
-            }
-
-            .progress_pos6_5 {
-                position: absolute;
-                top: 53.7%;
-                left: 38.4%;
-                width: 7.3%;
-            }
-
-            .progress_pos6_6 {
-                position: absolute;
-                top: 53.7%;
-                left: 45.4%;
-                width: 7.3%;
-            }
-
-            .progress_pos6_7 {
-                position: absolute;
-                top: 53.7%;
-                left: 52.4%;
-                width: 7.3%;
-            }
-
-            .progress_pos6_8 {
-                position: absolute;
-                top: 53.7%;
-                left: 59.4%;
-                width: 7.3%;
-            }
-
-            .progress_pos6_9 {
-                position: absolute;
-                top: 53.7%;
-                left: 66.4%;
-                width: 7.3%;
-            }
-
-            .progress_pos6_10 {
-                position: absolute;
-                top: 53.7%;
-                left: 73.4%;
-                width: 7.3%;
-            }
-
-            .progress_pos6_11 {
-                position: absolute;
-                top: 53.7%;
-                left: 80.4%;
-                width: 6.2%;
+                top: 66.3%;
+                left: 4.9%;
+                width: 26%;
             }
 
             .progress_pos7 {
                 position: absolute;
-                top: 31.5%;
-                left: 14.1%;
-                width: 23.7%;
+                top: 41.3%;
+                left: 4.75%;
+                width: 14.7%;
             }
 
             .progress_pos8 {
                 position: absolute;
-                top: 31.5%;
-                left: 86.5%;
-                width: 23.7%;
+                top: 7.8%;
+                left: 10%;
+                width: 22%;
             }
 
             .progress_pos9 {
                 position: absolute;
-                top: 47%;
-                left: 13%;
-                width: 5.2%;
-            }
-
-            .progress_pos9_2 {
-                position: absolute;
-                top: 47%;
-                left: 17.8%;
-                width: 7.3%;
-            }
-
-            .progress_pos9_3 {
-                position: absolute;
-                top: 47%;
-                left: 24.8%;
-                width: 7.3%;
-            }
-
-            .progress_pos9_4 {
-                position: absolute;
-                top: 47%;
-                left: 31.8%;
-                width: 7.3%;
-            }
-
-            .progress_pos9_5 {
-                position: absolute;
-                top: 47%;
-                left: 38.8%;
-                width: 7.3%;
-            }
-
-            .progress_pos9_6 {
-                position: absolute;
-                top: 47%;
-                left: 45.8%;
-                width: 7.3%;
-            }
-
-            .progress_pos9_7 {
-                position: absolute;
-                top: 47%;
-                left: 52.8%;
-                width: 7.3%;
-            }
-
-            .progress_pos9_8 {
-                position: absolute;
-                top: 47%;
-                left: 59.8%;
-                width: 7.3%;
+                top: 57%;
+                left: 38.1%;
+                width: 19.8%;
             }
 
-            .progress_pos9_9 {
-                position: absolute;
-                top: 47%;
-                left: 66.8%;
-                width: 7.3%;
-            }
-
-            .progress_pos9_10 {
-                position: absolute;
-                top: 47%;
-                left: 73.8%;
-                width: 7.3%;
-            }
-
-            .progress_pos9_11 {
-                position: absolute;
-                top: 47%;
-                left: 80.8%;
-                width: 4.9%;
-            }
-
-
             .progress_pos10 {
                 position: absolute;
-                top: 92%;
-                left: 13%;
-                width: 5.2%;
-            }
-
-            .progress_pos10_2 {
-                position: absolute;
-                top: 92%;
-                left: 17.8%;
-                width: 7.3%;
-            }
-
-            .progress_pos10_3 {
-                position: absolute;
-                top: 92%;
-                left: 24.8%;
-                width: 7.3%;
-            }
-
-            .progress_pos10_4 {
-                position: absolute;
-                top: 92%;
-                left: 31.8%;
-                width: 7.3%;
+                top: 57%;
+                left: 57.6%;
+                width: 19.8%;
             }
 
-            .progress_pos10_5 {
-                position: absolute;
-                top: 92%;
-                left: 38.8%;
-                width: 7.3%;
-            }
-
-            .progress_pos10_6 {
-                position: absolute;
-                top: 92%;
-                left: 45.8%;
-                width: 7.3%;
-            }
-
-            .progress_pos10_7 {
-                position: absolute;
-                top: 92%;
-                left: 52.8%;
-                width: 7.3%;
-            }
-
-            .progress_pos10_8 {
-                position: absolute;
-                top: 92%;
-                left: 59.8%;
-                width: 7.3%;
-            }
-
-            .progress_pos10_9 {
+            .progress_pos11 {
                 position: absolute;
-                top: 92%;
-                left: 66.8%;
-                width: 7.3%;
+                top: 64%;
+                left: 77.24%;
+                width: 7%;
             }
 
-            .progress_pos10_10 {
+            .progress_pos12_1 {
                 position: absolute;
-                top: 92%;
-                left: 73.8%;
-                width: 7.3%;
+                top: 75.2%;
+                left: 12.4%;
+                width: 13.7%;
             }
 
-            .progress_pos10_11 {
+            .progress_pos12_2 {
                 position: absolute;
-                top: 92%;
-                left: 80.8%;
-                width: 4.9%;
+                top: 75.2%;
+                left: 25.9%;
+                width: 19.7%;
             }
 
-            .progress_pos11 {
+            .progress_pos12_3 {
                 position: absolute;
-                top: 69.8%;
-                left: 13%;
-                width: 23.7%;
+                top: 75.2%;
+                left: 45.4%;
+                width: 19.7%;
             }
 
-            .progress_pos12 {
+            .progress_pos12_4 {
                 position: absolute;
-                top: 69.8%;
-                left: 85.5%;
-                width: 23.7%;
+                top: 75.2%;
+                left: 64.9%;
+                width: 11%;
             }
 
             .progress_pos13 {
                 position: absolute;
-                top: 25.8%;
-                left: 11%;
-                width: 4.3%;
+                top: 78%;
+                left: 82%;
+                width: 5%;
             }
 
             .progress_pos14 {
                 position: absolute;
-                top: 25.8%;
-                left: 87.35%;
-                width: 4.3%;
+                top: 49.4%;
+                left: 97%;
+                width: 27.5%;
             }
 
             .progress_pos15 {
                 position: absolute;
-                top: 35.3%;
-                left: 9.9%;
-                width: 4.3%;
+                top: 75.2%;
+                left: 84.4%;
+                width: 12.75%;
             }
 
-
-
             .progress_pos16 {
                 position: absolute;
-                top: 60.3%;
-                left: 8.9%;
-                width: 4.3%;
+                top: 87.45%;
+                left: 89.1%;
+                width: 4%;
             }
 
         }
-
     }
 }
 </style>

+ 408 - 0
ui/src/views/hnyzConfiguratePage/IronAlloy/index.vue

@@ -0,0 +1,408 @@
+<template>
+    <div class="page">
+        <HeaderComponent title="铁合金PID"></HeaderComponent>
+        <div class="content_page">
+            <!-- 铁合金PID 页面 -->
+            <div class="tanks">
+                <VTypeTankValves4 title="V1001" :waterLevelValue="30" :iconSize="120" class="tank_V1001" />
+                <VTypeTankValves4 title="V1002" :waterLevelValue="30" :iconSize="120" class="tank_V1002" />
+                <VTypeTankValves4 title="V1003" :waterLevelValue="30" :iconSize="120" class="tank_V1003" />
+                <VTypeTankValves4 title="V1004" :waterLevelValue="30" :iconSize="120" class="tank_V1004" />
+                <VTypeTankValves4 title="V1005" :waterLevelValue="30" :iconSize="120" class="tank_V1005" />
+                <VTypeTankValves4 title="V1006" :waterLevelValue="30" :iconSize="120" class="tank_V1006" />
+
+                <SeparatorTowerValves2 title="F1001" :waterLevelValue="30" :iconSize="150" class="tank_F1001" />
+                <GorXTypeTanksValves tankType="G" :iconHeight="150" :iconSize="80" class="tank_GType" />
+
+                <GorXTypeTanksValves tankType="X" :iconHeight="150" :iconSize="80" class="tank_XType" />
+                <VTypeTank2 title="Q1001" :iconHeight="200" :iconSize="150" :waterLevelValue="30"
+                    class="tank_Q1001 zIndex10" />
+
+            </div>
+            <!-- 外部管道排布 -->
+            <div class="outer_progress">
+                <!-- 降水井-P1008泵相关拓展管道 -->
+                <Pipe :pipeStatus="initPipeStatus" :strokeWidth="pipeWidth"
+                    class="progress_steam progress_pos1 rotate_90" />
+                <!-- P1001泵-QQF1001管道  -->
+                <Pipe :pipeStatus="initPipeStatus" :strokeWidth="pipeWidth"
+                    class="progress_steam progress_pos2 rotate_270" />
+                <Pipe :pipeStatus="initPipeStatus" :strokeWidth="pipeWidth" class="progress_steam progress_pos3" />
+                <!-- QQF1002-混合器RH1001管道 -->
+                <Pipe :pipeStatus="initPipeStatus" :strokeWidth="pipeWidth"
+                    class="progress_steam progress_pos4 rotate_90" />
+                <Pipe :pipeStatus="initPipeStatus" :strokeWidth="pipeWidth" class="progress_steam progress_pos5" />
+                <!-- 混合器RH1001-V1003相关管道 -->
+                <Pipe :pipeStatus="initPipeStatus" :strokeWidth="pipeWidth" class="progress_steam progress_pos6" />
+                <!-- P1009泵-QQF1017相关管道 -->
+                <Pipe :pipeStatus="initPipeStatus" :strokeWidth="pipeWidth" class="progress_steam progress_pos7" />
+                <!-- 配方人工加药-V1002管道 -->
+                <Pipe :pipeStatus="initPipeStatus" :strokeWidth="pipeWidth"
+                    class="progress_steam progress_pos8 rotate_90" />
+                <!-- V1003罐-V1004罐 管道 -->
+                <Pipe :pipeStatus="initPipeStatus" :strokeWidth="pipeWidth" class="progress_steam progress_pos9" />
+                <!-- P1004泵-QQF1004管道 -->
+                <Pipe :pipeStatus="initPipeStatus" :strokeWidth="pipeWidth" class="progress_steam progress_pos10" />
+                <Pipe :pipeStatus="initPipeStatus" :strokeWidth="pipeWidth"
+                    class="progress_steam rotate_270 progress_pos10_1" />
+                <!-- QQF10123(分离塔)-V1003罐 管道 -->
+                <Pipe :pipeStatus="initPipeStatus" :strokeWidth="pipeWidth"
+                    class="progress_steam progress_pos11 rotate_180" />
+                <!-- P1003泵-QQF1015管道 -->
+                <Pipe :pipeStatus="initPipeStatus" :strokeWidth="pipeWidth" class="progress_steam progress_pos12" />
+                <Pipe :pipeStatus="initPipeStatus" :strokeWidth="pipeWidth"
+                    class="progress_steam progress_pos13 rotate_90" />
+                <!-- Q1001-F1001 管道 -->
+                <Pipe :pipeStatus="initPipeStatus" :strokeWidth="pipeWidth" class="progress_steam progress_pos14" />
+                <!-- 空压机KY1001-Q1001 管道 -->
+                <Pipe :pipeStatus="initPipeStatus" :strokeWidth="pipeWidth" class="progress_steam progress_pos15" />
+                <!-- Q1001-接至喷淋室 -->
+                <Pipe :pipeStatus="initPipeStatus" :strokeWidth="pipeWidth"
+                    class="progress_steam progress_pos16 rotate_90" />
+
+            </div>
+
+            <!-- 其他图标 -->
+            <div class="icon_others">
+                <div class="icon_other pipelineMixer_pos">
+                    <i class="icon iconfont-hnyz-colour icon-hnyz-colourpipelineMixer"></i>
+                    <div class="icon_title">混合器RH1001</div>
+                </div>
+                <div class="icon_other dryingMachine_pos">
+                    <i class="icon iconfont-hnyz-colour icon-hnyz-colourdryingMachine"></i>
+                    <div class="icon_title">空压机KY1001</div>
+                </div>
+            </div>
+            <!-- 外部组件 -->
+            <div class="outer_components">
+                <ValveProgress :iconSize="30" title="QQF1003" :rotateAngle="0" :pipeLength="850" :pipeLeftOffset="-193"
+                    :valveStatusArr="initValveStatusArr" progressType="steam" :pipeStatus="initPipeStatus"
+                    class="component_pos1" />
+                <ValveProgress :iconSize="30" title="QQF1002" :rotateAngle="0" :pipeLength="322" :pipeLeftOffset="-167"
+                    :valveStatusArr="initValveStatusArr" progressType="steam" :pipeStatus="initPipeStatus"
+                    class="component_pos2" />
+            </div>
+
+            <!-- 大箭头指向 -->
+            <div class="arrows">
+                <Arrow flexDir="row" arrowDir="down" arrowText="引自n个降水井" :iconSize="65" :fontSize="12"
+                    class="arrow_pos1" />
+                <Arrow flexDir="column" arrowDir="down" :iconFirst="false" arrowText="配方人工加药" :iconSize="65"
+                    :fontSize="12" class="arrow_pos2" />
+                <Arrow flexDir="column" arrowDir="down" arrowText="接至喷淋室" :iconSize="65" :fontSize="12"
+                    class="arrow_pos3" />
+
+            </div>
+        </div>
+    </div>
+</template>
+
+<script setup>
+import SeparatorTowerValves2 from '@/components/HnyzDcs/SeparatorTowerValves2Component.vue';
+import GorXTypeTanksValves from '@/components/HnyzDcs/GorXTypeTanksValvesComponent.vue';
+import VTypeTank2 from '@/components/HnyzDcs/VTypeTank2Component.vue';
+import VTypeTankValves4 from '@/components/HnyzDcs/VTypeTankValves4Component.vue';
+import ValveProgress from '@/components/DCS/ValveProgressComponent.vue';
+import Pipe from '@/components/HnyzDcs/PipeComponent.vue';
+import Arrow from '@/components/HnyzDcs/ArrowComponent.vue';
+import { useValveHelper } from '@/hooks/useValveHelper'
+import { computed, onMounted, onBeforeUnmount } from 'vue';
+
+import { stompClient } from '@/utils/ws/stompClient';
+import { updateZTPageConfig } from '@/api/dcs/configurePage';
+
+const initPipeStatus = true
+const initValveStatusArr = [true]
+//初始管道宽度
+const pipeWidth = 4.8
+
+</script>
+
+<style lang="scss" scoped>
+.page {
+    width: 1920px;
+    height: 1080px;
+    background-color: #0b172c;
+
+    .content_page {
+        position: relative;
+        width: 100%;
+        height: 1000px;
+
+        //罐体
+        .tanks {
+            .tank_V1001 {
+                position: absolute;
+                top: 40%;
+                left: 10.6%;
+                transform: translate(-50%, -50%);
+            }
+
+            .tank_V1002 {
+                position: absolute;
+                top: 28%;
+                left: 18%;
+                transform: translate(-50%, -50%);
+            }
+
+            .tank_V1003 {
+                position: absolute;
+                top: 40%;
+                left: 36%;
+                transform: translate(-50%, -50%);
+            }
+
+            .tank_V1004 {
+                position: absolute;
+                top: 44%;
+                left: 41%;
+                transform: translate(-50%, -50%);
+            }
+
+            .tank_V1005 {
+                position: absolute;
+                top: 14.8%;
+                left: 24.9%;
+                transform: translate(-50%, -50%);
+            }
+
+            .tank_V1006 {
+                position: absolute;
+                top: 25%;
+                left: 35%;
+                transform: translate(-50%, -50%);
+            }
+
+            .tank_F1001 {
+                position: absolute;
+                top: 70%;
+                left: 55%;
+                transform: translate(-50%, -50%);
+            }
+
+            .tank_GType {
+                position: absolute;
+                top: 27%;
+                left: 68.8%;
+                transform: translate(-50%, -50%);
+            }
+
+            .tank_XType {
+                position: absolute;
+                top: 27%;
+                left: 85%;
+                transform: translate(-50%, -50%);
+            }
+
+            .tank_Q1001 {
+                position: absolute;
+                top: 65%;
+                left: 35%;
+                transform: translate(-50%, -50%);
+            }
+        }
+
+        //其他图标
+        .icon_others {
+            .icon_other {
+                display: flex;
+                align-items: center;
+                z-index: 100;
+
+                .iconfont-hnyz-colour {
+                    font-size: 75px;
+                }
+
+                .icon_title {
+                    font-size: 12px;
+                    color: aliceblue;
+                }
+            }
+
+            //管道混合器
+            .pipelineMixer_pos {
+                flex-direction: column;
+                position: absolute;
+                top: 33%;
+                left: 27%;
+
+                .iconfont-hnyz-colour {
+                    font-size: 100px;
+                }
+            }
+            //空压机
+            .dryingMachine_pos {
+                flex-direction: column;
+                position: absolute;
+                top: 60%;
+                left: 22%;
+            }
+        }
+
+        //外部组件
+        .outer_components {
+            .component_pos1 {
+                position: absolute;
+                top: 37.5%;
+                left: 17%;
+            }
+
+            .component_pos2 {
+                position: absolute;
+                top: 25.4%;
+                left: 24%;
+            }
+        }
+
+        //箭头指向
+        .arrows {
+            .arrow_pos1 {
+                position: absolute;
+                top: 6%;
+                left: 4%;
+                transform: translate(-50%, -50%);
+            }
+
+            .arrow_pos2 {
+                position: absolute;
+                top: 12%;
+                left: 19%;
+                transform: translate(-50%, -50%);
+            }
+
+            .arrow_pos3 {
+                position: absolute;
+                top: 75.5%;
+                left: 43%;
+                transform: translate(-50%, -50%);
+            }
+
+        }
+
+        //外部管道排布
+        .outer_progress {
+            .progress_pos1 {
+                position: absolute;
+                top: 25%;
+                left: 2%;
+                width: 16%;
+            }
+
+            .progress_pos2 {
+                position: absolute;
+                top: 28.3%;
+                left: 14.1%;
+                width: 11.8%;
+            }
+
+            .progress_pos3 {
+                position: absolute;
+                top: 16.9%;
+                left: 14%;
+                width: 3.2%;
+            }
+
+            .progress_pos4 {
+                position: absolute;
+                top: 32%;
+                left: 26.3%;
+                width: 5%;
+            }
+
+            .progress_pos5 {
+                position: absolute;
+                top: 36.4%;
+                left: 26.2%;
+                width: 2%;
+            }
+
+
+            .progress_pos6 {
+                position: absolute;
+                top: 38%;
+                left: 31.5%;
+                width: 3%;
+            }
+
+            .progress_pos7 {
+                position: absolute;
+                top: 13.9%;
+                left: 28.4%;
+                width: 5.7%;
+            }
+
+            .progress_pos8 {
+                position: absolute;
+                top: 20%;
+                left: 19%;
+                width: 4%;
+            }
+
+            .progress_pos9 {
+                position: absolute;
+                top: 40%;
+                left: 37.3%;
+                width: 3%;
+            }
+
+            .progress_pos10 {
+                position: absolute;
+                top: 16.9%;
+                left: 44.5%;
+                width: 14.7%;
+            }
+
+            .progress_pos10_1 {
+                position: absolute;
+                top: 28.2%;
+                left: 44.5%;
+                width: 11.7%;
+            }
+
+            .progress_pos11 {
+                position: absolute;
+                top: 36%;
+                left: 37%;
+                width: 25%;
+            }
+
+            .progress_pos12 {
+                position: absolute;
+                top: 43.1%;
+                left: 44.5%;
+                width: 4.5%;
+            }
+
+            .progress_pos13 {
+                position: absolute;
+                top: 59%;
+                left: 48.9%;
+                width: 16.4%;
+            }
+
+            .progress_pos14 {
+                position: absolute;
+                top: 63%;
+                left: 37%;
+                width: 12.8%;
+            }
+
+            .progress_pos15 {
+                position: absolute;
+                top: 64%;
+                left: 25%;
+                width: 8%;
+            }
+
+            .progress_pos16 {
+                position: absolute;
+                top: 67.3%;
+                left: 43%;
+                width: 4.3%;
+            }
+
+        }
+
+    }
+}
+</style>