Forráskód Böngészése

refactor(ui):流程页选择器提取出来,流程页重构

HMY 11 hónapja
szülő
commit
67d04aa4d2

+ 0 - 0
ui/src/components/DCS/WaterLevelTankComponent.vue → ui/src/components/DCS/WaterTankComponent.vue


+ 1 - 1
ui/src/router/index.js

@@ -61,7 +61,7 @@ export const constantRoutes = [
   {
     path: '',
     component: Layout,
-    redirect: '/index',//重定向到首页
+    redirect: '/flowSelect',//重定向到首页
     children: [
       {
         path: '/index',

A különbségek nem kerülnek megjelenítésre, a fájl túl nagy
+ 94 - 766
ui/src/views/dcs/flowSelect/m1Flow/index.vue


+ 73 - 846
ui/src/views/dcs/flowSelect/m2Flow/index.vue

@@ -1,7 +1,7 @@
 <template>
     <!-- 右侧流程图 -->
     <div class="dcs">
-        <HeaderComponent :title="'M2流程'" />
+        <HeaderComponent title="M2流程" :backTo="'/flowSelect'" />
         <div class="flows_body_right">
             <!-- 顶部按钮栏 -->
             <div class="flows_body_right_top">
@@ -25,28 +25,13 @@
                         </div>
                         <div class="body_show">
                             <div class="body_show_value">
-                                {{ (deviceDataArr[eqStore.eqIndexArr[93]]?.value + 0.04).toFixed(2) || 0 }}
+                                {{ (deviceDataArr[eqStore.eqIndexArr[93]]?.value + 0.05).toFixed(2) || 0 }}
                             </div>
                             <div class="body_show_unit"> Mpa</div>
                         </div>
                     </div>
                 </div>
 
-                <!-- <div class="tank_single">
-                <div class="flow_single_title"> F1罐 </div>
-                <div class="flow_single_body">
-                    <div class="body_name">
-                        称重传感器
-                    </div>
-                    <div class="body_show">
-                        <div class="body_show_value">
-                            {{ deviceDataArr[eqStore.eqIndexArr[96]]?.value.toFixed(2)  || 0 }}
-                        </div>
-                        <div class="body_show_unit"> KG</div>
-                    </div>
-                </div>
-            </div> -->
-
                 <div class="tank_single">
                     <div class="flow_single_title"> S1罐 </div>
                     <div class="flow_single_body">
@@ -108,643 +93,93 @@
                 <div class="flows_body_right_content">
                     <!-- n22,n23,n24 -->
                     <div class="flows">
-                        <div class="flow_single">
-                            <div class="flow_single_title"> S1-N22 </div>
-                            <div class="flow_single_body">
-                                <div class="body_show">
-                                    <i class="icon iconfont icon-waterValve valve">
-                                        <i class="icon iconfont icon-fengshan fan"
-                                            :class="{ 'icon_fengshan_run': deviceDataArr[eqStore.eqIndexArr[240]]?.value }">
-                                        </i>
-                                    </i>
-                                </div>
-                            </div>
-                            <div class="flow_single_btn">
-                                <el-button type="primary" @click="confirmOpen(0, 196)" v-if="!btnRunStatus[0]">
-                                    启动</el-button>
-                                <el-button type="primary" @click="clickClose(0, 196)" v-else-if="btnRunStatus[0]">
-                                    停止</el-button>
-                            </div>
-                        </div>
-                        <div class="flow_single">
-                            <div class="flow_single_title"> S2-N23 </div>
-                            <div class="flow_single_body">
-                                <div class="body_show">
-                                    <i class="icon iconfont icon-waterValve valve">
-                                        <i class="icon iconfont icon-fengshan fan"
-                                            :class="{ 'icon_fengshan_run': deviceDataArr[eqStore.eqIndexArr[242]]?.value }">
-                                        </i>
-                                    </i>
-                                </div>
-                            </div>
-                            <div class="flow_single_btn">
-                                <el-button type="primary" @click="confirmOpen(1, 198)" v-if="!btnRunStatus[1]">
-                                    启动</el-button>
-                                <el-button type="primary" @click="clickClose(1, 198)" v-else-if="btnRunStatus[1]">
-                                    停止</el-button>
-                            </div>
-                        </div>
-
-                        <div class="flow_single">
-                            <div class="flow_single_title"> S3-N24 </div>
-                            <div class="flow_single_body">
-                                <div class="body_show">
-                                    <i class="icon iconfont icon-waterValve valve">
-                                        <i class="icon iconfont icon-fengshan fan"
-                                            :class="{ 'icon_fengshan_run': btnRunStatus[2] }">
-                                        </i>
-                                    </i>
-                                </div>
-                            </div>
-                            <div class="flow_single_btn">
-                                <el-button type="primary" @click="clickOpen(2, 200)" v-if="!btnRunStatus[2]"
-                                    :disabled="!btnCanClickArr[3]"> 启动</el-button>
-                                <el-button type="primary" @click="clickClose(2, 200)" v-else-if="btnRunStatus[2]">
-                                    停止</el-button>
-                            </div>
-                        </div>
+                        <!-- N22 -->
+                        <Valve title="S1出料阀" :valveOpenSignalStatus="deviceDataArr[eqStore.eqIndexArr[240]]?.value"
+                            :valveCloseSignalStatus="deviceDataArr[eqStore.eqIndexArr[241]]?.value"
+                            :valveOpenObj="deviceDataArr[eqStore.eqIndexArr[196]]" />
+                        <!-- N23 -->
+                        <Valve title="S2出料阀" :valveOpenSignalStatus="deviceDataArr[eqStore.eqIndexArr[242]]?.value"
+                            :valveCloseSignalStatus="deviceDataArr[eqStore.eqIndexArr[243]]?.value"
+                            :valveOpenObj="deviceDataArr[eqStore.eqIndexArr[198]]" />
+                        <!-- N24 -->
+                        <!-- TAG 无地址 -->
+                        <Valve title="S3出料阀" :valveOpenObj="false" />
                     </div>
 
                     <!-- N12,N15,N16,N17 -->
                     <div class="flows">
-                        <div class="flow_single">
-                            <div class="flow_single_title"> N12 </div>
-                            <div class="flow_single_body">
-                                <div class="body_show">
-                                    <i class="icon iconfont icon-waterValve valve">
-                                        <i class="icon iconfont icon-fengshan fan"
-                                            :class="{ 'icon_fengshan_run': btnRunStatus[3] }">
-                                        </i>
-                                    </i>
-                                </div>
-                            </div>
-                            <div class="flow_single_btn">
-                                <el-button type="primary" @click="clickOpen(3, 178)" v-if="!btnRunStatus[3]"
-                                    :disabled="!btnCanClickArr[1]">
-                                    启动</el-button>
-                                <el-button type="primary" @click="clickClose(3, 178)" v-else-if="btnRunStatus[3]">
-                                    停止</el-button>
-                            </div>
-                        </div>
-                        <div class="flow_single">
-                            <div class="flow_single_title"> N15 </div>
-                            <div class="flow_single_body">
-                                <div class="body_show">
-                                    <i class="icon iconfont icon-waterValve valve">
-                                        <i class="icon iconfont icon-fengshan fan"
-                                            :class="{ 'icon_fengshan_run': btnRunStatus[4] }">
-                                        </i>
-                                    </i>
-                                </div>
-                            </div>
-                            <div class="flow_single_btn">
-                                <el-button type="primary" @click="clickOpen(4, 184)" v-if="!btnRunStatus[4]"
-                                    :disabled="!btnCanClickArr[2]"> 启动</el-button>
-                                <el-button type="primary" @click="clickClose(4, 184)" v-else-if="btnRunStatus[4]">
-                                    停止</el-button>
-                            </div>
-                        </div>
-
-                        <div class="flow_single">
-                            <div class="flow_single_title"> N16 </div>
-                            <div class="flow_single_body">
-                                <div class="body_show">
-                                    <i class="icon iconfont icon-waterValve valve">
-                                        <i class="icon iconfont icon-fengshan fan"
-                                            :class="{ 'icon_fengshan_run': btnRunStatus[5] }">
-                                        </i>
-                                    </i>
-                                </div>
-                            </div>
-                            <div class="flow_single_btn">
-                                <el-button type="primary" @click="clickOpen(5, 186)" v-if="!btnRunStatus[5]">
-                                    启动</el-button>
-                                <el-button type="primary" @click="clickClose(5, 186)" v-else-if="btnRunStatus[5]">
-                                    停止</el-button>
-                            </div>
-                        </div>
-
-                        <div class="flow_single">
-                            <div class="flow_single_title"> N17 </div>
-                            <div class="flow_single_body">
-                                <div class="body_show">
-                                    <i class="icon iconfont icon-waterValve valve">
-                                        <i class="icon iconfont icon-fengshan fan"
-                                            :class="{ 'icon_fengshan_run': btnRunStatus[6] }">
-                                        </i>
-                                    </i>
-                                </div>
-                            </div>
-                            <div class="flow_single_btn">
-                                <el-button type="primary" @click="clickOpen(6, 188)" v-if="!btnRunStatus[6]"
-                                    :disabled="!btnCanClickArr[4]"> 启动</el-button>
-                                <el-button type="primary" @click="clickClose(6, 188)" v-else-if="btnRunStatus[6]">
-                                    停止</el-button>
-                            </div>
-                        </div>
+                        <!-- N12 -->
+                        <Valve title="M2进料阀" :valveOpenObj="deviceDataArr[eqStore.eqIndexArr[178]]" />
+                        <!-- N15 -->
+                        <Valve title="M2排堵出气阀1" :valveOpenObj="deviceDataArr[eqStore.eqIndexArr[184]]" />
+                        <!-- N17 -->
+                        <Valve title="M2排堵出气阀2" :valveOpenObj="deviceDataArr[eqStore.eqIndexArr[188]]" />
+                        <!-- N16 -->
+                        <Valve title="M2排堵进气阀2" :valveOpenObj="deviceDataArr[eqStore.eqIndexArr[186]]" />
                     </div>
 
                     <!-- LB7 -->
-                    <div class="flow_single flow_others">
-                        <div class="flow_single_title"> LB7 </div>
-                        <div class="flow_single_show">
-                            <div class="show_body">
-                                <div class="show_body_left">
-                                    变频状态
-                                </div>
-                                <div class="show_body_right">
-                                    <div class="show_detail">
-                                        <div class="text">
-                                            当前
-                                        </div>
-                                        <div class="body_show">
-                                            <div class="body_show_value">
-                                                <!-- 108 -->
-                                                <!-- s1,s2:98,100 -->
-                                                {{ statusWord[deviceDataArr[eqStore.eqIndexArr[108]]?.value] ||
-                                                    statusWord[4] }}
-                                            </div>
-                                            <!-- <div class="body_show_unit"> Mpa</div> -->
-                                        </div>
-                                    </div>
-                                    <div class="show_detail">
-                                        <!-- <div class="btn_set"> -->
-                                        <!-- 146 -->
-                                        <!-- s1,s2:141,142 -->
-                                        <!-- <el-button size="small" type="primary" @click="setIntValue(0, 146)">
-                                            设置</el-button>
-                                    </div> -->
-                                        <div class="btn_set">
-                                            <el-button size="small" type="primary" @click="setPump(0, 146, true)">
-                                                启动</el-button>
-                                        </div>
-                                        <div class="btn_set">
-                                            <el-button size="small" type="primary" @click="setPump(0, 146, false)">
-                                                关闭</el-button>
-                                        </div>
-                                        <!-- <div class="body_set"> -->
-                                        <!-- 下拉框 -->
-                                        <!-- <div class="body_show_value">
-                                            <el-select v-model="setValueArr[0]" size="small" style="width: 75px">
-                                                <el-option v-for="item in frequencyOptions" :key="item.value"
-                                                    :label="item.label" :value="item.value" />
-                                            </el-select>
-                                        </div>
-                                    </div> -->
-                                    </div>
-                                </div>
-                            </div>
-                            <div class="show_body">
-                                <div class="show_body_left">
-                                    转速
-                                </div>
-                                <div class="show_body_right">
-                                    <div class="show_detail">
-                                        <div class="text">
-                                            当前
-                                        </div>
-                                        <div class="body_show">
-                                            <div class="body_show_value">
-                                                <!-- 123 -->
-                                                <!-- s1,s2:118,119 -->
-                                                {{ deviceDataArr[eqStore.eqIndexArr[123]]?.value / 50 || 0 }}
-                                            </div>
-                                            <div class="body_show_unit"> %</div>
-                                        </div>
-                                    </div>
-                                    <div class="show_detail">
-                                        <div class="btn_set">
-                                            <!-- 139 -->
-                                            <!-- s1,s2:134,135 -->
-                                            <el-button size="small" type="primary" @click="setIntValue(1, 139)">
-                                                设置</el-button>
-                                        </div>
-                                        <div class="body_set">
-                                            <div class="body_show_value">
-                                                <el-input v-model="setValueArr[1]" style="width: 75px" size="small"
-                                                    type="number" min="0" max="100" />
-                                            </div>
-                                            <div class="body_show_unit"> %</div>
-                                        </div>
-                                    </div>
-                                </div>
-                            </div>
-
-                        </div>
-                    </div>
+                    <!-- 108 146 123 139 -->
+                    <DeviceStatus title="M2-J2换热进液泵" :deviceData="deviceDataArr[eqStore.eqIndexArr[108]]"
+                        :speedData="deviceDataArr[eqStore.eqIndexArr[123]]"
+                        :setStatusWordAddress="deviceDataArr[eqStore.eqIndexArr[146]]?.address"
+                        :setSpeedAddress="deviceDataArr[eqStore.eqIndexArr[139]]?.address" v-if="showValves" />
 
-                    <!-- D1 ,D2,N2-->
+                    <!-- D1,D2,N2-->
                     <div class="flows">
-                        <div class="flow_single">
-                            <div class="flow_single_title"> D1 </div>
-                            <div class="flow_single_body">
-                                <div class="body_show">
-                                    <i class="icon iconfont icon-waterValve valve">
-                                        <i class="icon iconfont icon-fengshan fan"
-                                            :class="{ 'icon_fengshan_run': deviceDataArr[eqStore.eqIndexArr[2]]?.value }">
-                                        </i>
-                                    </i>
-                                </div>
-                            </div>
-                            <div class="flow_single_btn">
-                                <el-button type="primary" @click="clickOpenDValve(8, 209)" v-if="!btnRunStatus[8]">
-                                    启动</el-button>
-                                <el-button type="primary" @click="clickCloseDValve(8, 209)" v-else-if="btnRunStatus[8]">
-                                    停止</el-button>
-                            </div>
-                        </div>
-                        <div class="flow_single">
-                            <div class="flow_single_title"> D2 </div>
-                            <div class="flow_single_body">
-                                <div class="body_show">
-                                    <i class="icon iconfont icon-waterValve valve">
-                                        <i class="icon iconfont icon-fengshan fan"
-                                            :class="{ 'icon_fengshan_run': deviceDataArr[eqStore.eqIndexArr[5]]?.value }">
-                                        </i>
-                                    </i>
-                                </div>
-                            </div>
-                            <div class="flow_single_btn">
-                                <el-button type="primary" @click="clickOpenDValve(9, 211)" v-if="!btnRunStatus[9]">
-                                    启动</el-button>
-                                <el-button type="primary" @click="clickCloseDValve(9, 211)" v-else-if="btnRunStatus[9]">
-                                    停止</el-button>
-                            </div>
-                        </div>
-
-                        <div class="flow_single">
-                            <div class="flow_single_title"> N2 </div>
-                            <div class="flow_single_body">
-                                <div class="body_show">
-                                    <i class="icon iconfont icon-waterValve valve">
-                                        <i class="icon iconfont icon-fengshan fan"
-                                            :class="{ 'icon_fengshan_run': btnRunStatus[10] }">
-                                        </i>
-                                    </i>
-                                </div>
-                            </div>
-                            <div class="flow_single_btn">
-                                <el-button type="primary" @click="clickOpen(10, 156)" v-if="!btnRunStatus[10]">
-                                    启动</el-button>
-                                <el-button type="primary" @click="clickClose(10, 156)" v-else-if="btnRunStatus[10]">
-                                    停止</el-button>
-                            </div>
-                        </div>
+                        <!-- D1 -->
+                        <Valve title="J1进气阀" :valveOpenSignalStatus="deviceDataArr[eqStore.eqIndexArr[2]]?.value"
+                            :valveCloseSignalStatus="deviceDataArr[eqStore.eqIndexArr[3]]?.value"
+                            :valveOpenObj="deviceDataArr[eqStore.eqIndexArr[209]]" />
+                        <!-- D2 -->
+                        <Valve title="J1蒸汽进气阀" :valveOpenSignalStatus="deviceDataArr[eqStore.eqIndexArr[5]]?.value"
+                            :valveCloseSignalStatus="deviceDataArr[eqStore.eqIndexArr[6]]?.value"
+                            :valveOpenObj="deviceDataArr[eqStore.eqIndexArr[211]]" />
+                        <!-- N2 -->
+                        <Valve title="M1-J1换热阀" :valveOpenObj="deviceDataArr[eqStore.eqIndexArr[156]]" />
                     </div>
                     <!-- D3,D4,N3 -->
                     <div class="flows">
-                        <div class="flow_single">
-                            <div class="flow_single_title"> D3 </div>
-                            <div class="flow_single_body">
-                                <div class="body_show">
-                                    <i class="icon iconfont icon-waterValve valve">
-                                        <i class="icon iconfont icon-fengshan fan"
-                                            :class="{ 'icon_fengshan_run': deviceDataArr[eqStore.eqIndexArr[28]]?.value }">
-                                        </i>
-                                    </i>
-                                </div>
-                            </div>
-                            <div class="flow_single_btn">
-                                <el-button type="primary" @click="clickOpenDValve(11, 226)" v-if="!btnRunStatus[11]">
-                                    启动</el-button>
-                                <el-button type="primary" @click="clickCloseDValve(11, 226)"
-                                    v-else-if="btnRunStatus[11]">
-                                    停止</el-button>
-                            </div>
-                        </div>
-                        <div class="flow_single">
-                            <div class="flow_single_title"> D4 </div>
-                            <div class="flow_single_body">
-                                <div class="body_show">
-                                    <i class="icon iconfont icon-waterValve valve">
-                                        <i class="icon iconfont icon-fengshan fan"
-                                            :class="{ 'icon_fengshan_run': deviceDataArr[eqStore.eqIndexArr[31]]?.value }">
-                                        </i>
-                                    </i>
-                                </div>
-                            </div>
-                            <div class="flow_single_btn">
-                                <el-button type="primary" @click="clickOpenDValve(12, 228)" v-if="!btnRunStatus[12]"
-                                    :disabled="!btnCanClickArr[2]"> 启动</el-button>
-                                <el-button type="primary" @click="clickCloseDValve(12, 228)"
-                                    v-else-if="btnRunStatus[12]">
-                                    停止</el-button>
-                            </div>
-                        </div>
-
-                        <div class="flow_single">
-                            <div class="flow_single_title"> N3 </div>
-                            <div class="flow_single_body">
-                                <div class="body_show">
-                                    <i class="icon iconfont icon-waterValve valve">
-                                        <i class="icon iconfont icon-fengshan fan"
-                                            :class="{ 'icon_fengshan_run': btnRunStatus[13] }">
-                                        </i>
-                                    </i>
-                                </div>
-                            </div>
-                            <div class="flow_single_btn">
-                                <el-button type="primary" @click="clickOpen(13, 158)" v-if="!btnRunStatus[13]">
-                                    启动</el-button>
-                                <el-button type="primary" @click="clickClose(13, 158)" v-else-if="btnRunStatus[13]">
-                                    停止</el-button>
-                            </div>
-                        </div>
+                        <!-- D3 -->
+                        <Valve title="J2进气阀" :valveOpenSignalStatus="deviceDataArr[eqStore.eqIndexArr[28]]?.value"
+                            :valveCloseSignalStatus="deviceDataArr[eqStore.eqIndexArr[29]]?.value"
+                            :valveOpenObj="deviceDataArr[eqStore.eqIndexArr[226]]" />
+                        <!-- D4 -->
+                        <Valve title="J2进液换热阀" :valveOpenSignalStatus="deviceDataArr[eqStore.eqIndexArr[31]]?.value"
+                            :valveCloseSignalStatus="deviceDataArr[eqStore.eqIndexArr[32]]?.value"
+                            :valveOpenObj="deviceDataArr[eqStore.eqIndexArr[228]]" />
+                        <!-- N3 -->
+                        <Valve title="M1-J2换热阀" :valveOpenObj="deviceDataArr[eqStore.eqIndexArr[158]]" />
                     </div>
                     <!-- LB6 -->
-                    <div class="flow_single flow_others">
-                        <div class="flow_single_title"> LB6 </div>
-                        <div class="flow_single_show">
-                            <div class="show_body">
-                                <div class="show_body_left">
-                                    变频状态
-                                </div>
-                                <div class="show_body_right">
-                                    <div class="show_detail">
-                                        <div class="text">
-                                            当前
-                                        </div>
-                                        <div class="body_show">
-                                            <div class="body_show_value">
-                                                {{ statusWord[deviceDataArr[eqStore.eqIndexArr[106]]?.value] ||
-                                                    statusWord[3] }}
-                                            </div>
-                                        </div>
-                                    </div>
-                                    <div class="show_detail">
-                                        <!-- <div class="btn_set">
-                                        <el-button size="small" type="primary" @click="setIntValue(2, 145)">
-                                            设置</el-button>
-                                    </div> -->
-                                        <div class="btn_set">
-                                            <el-button size="small" type="primary" @click="setPump(2, 145, true)">
-                                                启动</el-button>
-                                        </div>
-                                        <div class="btn_set">
-                                            <el-button size="small" type="primary" @click="setPump(2, 145, false)">
-                                                关闭</el-button>
-                                        </div>
-                                        <!-- <div class="body_set"> -->
-                                        <!-- 下拉框 -->
-                                        <!-- <div class="body_show_value">
-                                            <el-select v-model="setValueArr[2]" size="small" style="width: 75px">
-                                                <el-option v-for="item in frequencyOptions" :key="item.value"
-                                                    :label="item.label" :value="item.value" />
-                                            </el-select>
-                                        </div>
-                                    </div> -->
-                                    </div>
-                                </div>
-                            </div>
-                            <div class="show_body">
-                                <div class="show_body_left">
-                                    转速
-                                </div>
-                                <div class="show_body_right">
-                                    <div class="show_detail">
-                                        <div class="text">
-                                            当前
-                                        </div>
-                                        <div class="body_show">
-                                            <div class="body_show_value">
-                                                {{ deviceDataArr[eqStore.eqIndexArr[122]]?.value / 50 || 0 }}
-                                            </div>
-                                            <div class="body_show_unit"> %</div>
-                                        </div>
-                                    </div>
-                                    <div class="show_detail">
-                                        <div class="btn_set">
-                                            <el-button size="small" type="primary" @click="setIntValue(3, 138)">
-                                                设置</el-button>
-                                        </div>
-                                        <div class="body_set">
-                                            <div class="body_show_value">
-                                                <el-input v-model="setValueArr[3]" style="width: 75px" size="small"
-                                                    type="number" min="0" max="100" />
-                                            </div>
-                                            <div class="body_show_unit"> %</div>
-                                        </div>
-                                    </div>
-                                </div>
-                            </div>
-                        </div>
-                    </div>
+                    <!-- 106 145 122 138 -->
+                    <DeviceStatus title="M2进料泵" :deviceData="deviceDataArr[eqStore.eqIndexArr[106]]"
+                        :speedData="deviceDataArr[eqStore.eqIndexArr[122]]"
+                        :setStatusWordAddress="deviceDataArr[eqStore.eqIndexArr[145]]?.address"
+                        :setSpeedAddress="deviceDataArr[eqStore.eqIndexArr[138]]?.address" v-if="showValves" />
 
                     <!-- N19 -->
-                    <div class="flow_single">
-                        <div class="flow_single_title"> N19 </div>
-                        <div class="flow_single_body">
-                            <div class="body_show">
-                                <i class="icon iconfont icon-waterValve valve">
-                                    <i class="icon iconfont icon-fengshan fan"
-                                        :class="{ 'icon_fengshan_run': btnRunStatus[15] }">
-                                    </i>
-                                </i>
-                            </div>
-                        </div>
-                        <div class="flow_single_btn">
-                            <el-button type="primary" @click="clickOpen(15, 192)" v-if="!btnRunStatus[15]">
-                                启动</el-button>
-                            <el-button type="primary" @click="clickClose(15, 192)" v-else-if="btnRunStatus[15]">
-                                停止</el-button>
-                        </div>
-                    </div>
-
+                    <Valve title="M2出渣阀" :valveOpenObj="deviceDataArr[eqStore.eqIndexArr[192]]" />
 
                     <!-- N14 -->
-                    <div class="flow_single">
-                        <div class="flow_single_title"> N14 </div>
-                        <div class="flow_single_body">
-                            <div class="body_show">
-                                <i class="icon iconfont icon-waterValve valve">
-                                    <i class="icon iconfont icon-fengshan fan"
-                                        :class="{ 'icon_fengshan_run': btnRunStatus[16] }">
-                                    </i>
-                                </i>
-                            </div>
-                        </div>
-                        <div class="flow_single_btn">
-                            <el-button type="primary" @click="clickOpen(16, 182)" v-if="!btnRunStatus[16]">
-                                启动</el-button>
-                            <el-button type="primary" @click="clickClose(16, 182)" v-else-if="btnRunStatus[16]">
-                                停止</el-button>
-                        </div>
-                    </div>
+                    <Valve title="M2加压阀" :valveOpenObj="deviceDataArr[eqStore.eqIndexArr[182]]" />
 
                     <!-- N18 -->
-                    <div class="flow_single">
-                        <div class="flow_single_title"> N18 </div>
-                        <div class="flow_single_body">
-                            <div class="body_show">
-                                <i class="icon iconfont icon-waterValve valve">
-                                    <i class="icon iconfont icon-fengshan fan"
-                                        :class="{ 'icon_fengshan_run': btnRunStatus[17] }">
-                                    </i>
-                                </i>
-                            </div>
-                        </div>
-                        <div class="flow_single_btn">
-                            <el-button type="primary" @click="clickOpen(17, 190)" v-if="!btnRunStatus[17]">
-                                启动</el-button>
-                            <el-button type="primary" @click="clickClose(17, 190)" v-else-if="btnRunStatus[17]">
-                                停止</el-button>
-                        </div>
-                    </div>
+                    <Valve title="M2排堵进气阀1" :valveOpenObj="deviceDataArr[eqStore.eqIndexArr[190]]" />
 
                     <!-- N20-->
-                    <div class="flow_single">
-                        <div class="flow_single_title"> N20 </div>
-                        <div class="flow_single_body">
-                            <div class="body_show">
-                                <i class="icon iconfont icon-waterValve valve">
-                                    <i class="icon iconfont icon-fengshan fan"
-                                        :class="{ 'icon_fengshan_run': btnRunStatus[18] }">
-                                    </i>
-                                </i>
-                            </div>
-                        </div>
-                        <div class="flow_single_btn">
-                            <el-button type="primary" @click="clickOpen(18, 194)" v-if="!btnRunStatus[18]">
-                                启动</el-button>
-                            <el-button type="primary" @click="clickClose(18, 194)" v-else-if="btnRunStatus[18]">
-                                停止</el-button>
-                        </div>
-                    </div>
+                    <Valve title="M2喷淋塔" :valveOpenObj="deviceDataArr[eqStore.eqIndexArr[194]]" />
 
                     <!-- test -->
                     <div class="flows" v-if="showValves">
-                        <!-- <div class="flow_single">
-                        <div class="flow_single_title"> D8 </div>
-                        <div class="flow_single_body">
-                            <div class="body_show">
-                                <i class="icon iconfont icon-waterValve valve">
-                                    <i class="icon iconfont icon-fengshan fan"
-                                        :class="{ 'icon_fengshan_run': btnRunStatus[19] }">
-                                    </i>
-                                </i>
-                            </div>
-                        </div>
-                        <div class="flow_single_btn">
-                            <el-button type="primary" @click="clickOpenDValve(19, 230)" v-if="!btnRunStatus[19]">
-                                启动</el-button>
-                            <el-button type="primary" @click="clickCloseDValve(19, 230)" v-else-if="btnRunStatus[19]">
-                                停止</el-button>
-                        </div>
-                    </div>
-                    <div class="flow_single">
-                        <div class="flow_single_title"> D9 </div>
-                        <div class="flow_single_body">
-                            <div class="body_show">
-                                <i class="icon iconfont icon-waterValve valve">
-                                    <i class="icon iconfont icon-fengshan fan"
-                                        :class="{ 'icon_fengshan_run': btnRunStatus[20] }">
-                                    </i>
-                                </i>
-                            </div>
-                        </div>
-                        <div class="flow_single_btn">
-                            <el-button type="primary" @click="clickOpenDValve(20, 232)" v-if="!btnRunStatus[20]">
-                                启动</el-button>
-                            <el-button type="primary" @click="clickCloseDValve(20, 232)" v-else-if="btnRunStatus[20]">
-                                停止</el-button>
-                        </div>
-                    </div> -->
-
-                        <div class="flow_single">
-                            <div class="flow_single_title"> D16 </div>
-                            <div class="flow_single_body">
-                                <div class="body_show">
-                                    <i class="icon iconfont icon-waterValve valve">
-                                        <i class="icon iconfont icon-fengshan fan"
-                                            :class="{ 'icon_fengshan_run': btnRunStatus[21] }">
-                                        </i>
-                                    </i>
-                                </div>
-                            </div>
-                            <div class="flow_single_btn">
-                                <el-button type="primary" @click="clickOpenDValve(21, 234)" v-if="!btnRunStatus[21]">
-                                    启动</el-button>
-                                <el-button type="primary" @click="clickCloseDValve(21, 234)"
-                                    v-else-if="btnRunStatus[21]">
-                                    停止</el-button>
-                            </div>
-                        </div>
-
-                        <div class="flow_single">
-                            <div class="flow_single_title"> N13 </div>
-                            <div class="flow_single_body">
-                                <div class="body_show">
-                                    <i class="icon iconfont icon-waterValve valve">
-                                        <i class="icon iconfont icon-fengshan fan"
-                                            :class="{ 'icon_fengshan_run': btnRunStatus[22] }">
-                                        </i>
-                                    </i>
-                                </div>
-                            </div>
-                            <div class="flow_single_btn">
-                                <el-button type="primary" @click="clickOpen(22, 180)" v-if="!btnRunStatus[22]">
-                                    启动</el-button>
-                                <el-button type="primary" @click="clickClose(22, 180)" v-else-if="btnRunStatus[22]">
-                                    停止</el-button>
-                            </div>
-                        </div>
-
-                        <!-- <div class="flow_single">
-                        <div class="flow_single_title"> N14 </div>
-                        <div class="flow_single_body">
-                            <div class="body_show">
-                                <i class="icon iconfont icon-waterValve valve">
-                                    <i class="icon iconfont icon-fengshan fan"
-                                        :class="{ 'icon_fengshan_run': btnRunStatus[23] }">
-                                    </i>
-                                </i>
-                            </div>
-                        </div>
-                        <div class="flow_single_btn">
-                            <el-button type="primary" @click="clickOpen(23, 182)" v-if="!btnRunStatus[23]">
-                                启动</el-button>
-                            <el-button type="primary" @click="clickClose(23, 182)" v-else-if="btnRunStatus[23]">
-                                停止</el-button>
-                        </div>
-                    </div>
-
-                    <div class="flow_single">
-                        <div class="flow_single_title"> N3 </div>
-                        <div class="flow_single_body">
-                            <div class="body_show">
-                                <i class="icon iconfont icon-waterValve valve">
-                                    <i class="icon iconfont icon-fengshan fan"
-                                        :class="{ 'icon_fengshan_run': btnRunStatus[24] }">
-                                    </i>
-                                </i>
-                            </div>
-                        </div>
-                        <div class="flow_single_btn">
-                            <el-button type="primary" @click="clickOpen(24, 158)" v-if="!btnRunStatus[24]">
-                                启动</el-button>
-                            <el-button type="primary" @click="clickClose(24, 158)" v-else-if="btnRunStatus[24]">
-                                停止</el-button>
-                        </div>
-                    </div> -->
-
-                        <div class="flow_single">
-                            <div class="flow_single_title"> N5 </div>
-                            <div class="flow_single_body">
-                                <div class="body_show">
-                                    <i class="icon iconfont icon-waterValve valve">
-                                        <i class="icon iconfont icon-fengshan fan"
-                                            :class="{ 'icon_fengshan_run': btnRunStatus[25] }">
-                                        </i>
-                                    </i>
-                                </div>
-                            </div>
-                            <div class="flow_single_btn">
-                                <el-button type="primary" @click="clickOpen(25, 162)" v-if="!btnRunStatus[25]">
-                                    启动</el-button>
-                                <el-button type="primary" @click="clickClose(25, 162)" v-else-if="btnRunStatus[25]">
-                                    停止</el-button>
-                            </div>
-                        </div>
+                        <!-- D16 -->
+                        <Valve title="S1喷淋塔" :valveOpenSignalStatus="deviceDataArr[eqStore.eqIndexArr[21]]?.value"
+                            :valveCloseSignalStatus="deviceDataArr[eqStore.eqIndexArr[22]]?.value"
+                            :valveOpenObj="deviceDataArr[eqStore.eqIndexArr[234]]" />
+                        <!-- N13 -->
+                        <Valve title="M2出料阀" :valveOpenObj="deviceDataArr[eqStore.eqIndexArr[180]]" />
+                        <!-- N5 -->
+                        <Valve title="反应罐进料阀" :valveOpenObj="deviceDataArr[eqStore.eqIndexArr[162]]" />
                     </div>
 
                 </div>
@@ -759,9 +194,11 @@
 import { openElMessageBox, openElMessage, openElWarnMessage } from '@/utils/message';
 import { onMounted, ref, watch, onUnmounted } from 'vue';
 import { setCoil, getValues, getEquipmentIndexList, setIntRegister, setCoils } from '@/api/dcs/flowControl';
+import DeviceStatus from '@/components/DCS/DeviceStatusComponent';
+import Valve from '@/components/DCS/ValveComponent';
 import { wsClient } from '@/utils/websocket.js';
 import useEqStore from '@/store/modules/dcs';
-import HeaderComponent from '../../../../components/DCS/HeaderComponent.vue';
+import $modal from '@/plugins/modal'
 const eqStore = useEqStore();
 //TODO 隐藏阀门是否显示
 const showValves = ref(true)
@@ -770,9 +207,6 @@ onMounted(() => {
         // console.log('getEquipmentIndexList');
         eqStore.setEqIndexArr(res.data);
     })
-    // deviceDataArr.value = Array.from({ length: 300 }, () => ({ value: false, address: 0 }))
-    // console.log(eqStore.eqIndexArr);
-    // console.log(deviceDataArr.value)
     wsClient.connect((success) => {
         if (success) console.log("WebSocket 连接成功");
     });
@@ -803,63 +237,18 @@ const justRunFirst = ref(true)
 //监听deviceDataArr变化
 let stopWatch = null;
 stopWatch = watch(() => deviceDataArr?.value, (newValue, oldValue) => {
-    // console.log(Object.keys(eqStore.eqIndexArr).length)
     if (newValue !== oldValue && justRunFirst.value && Object.keys(eqStore.eqIndexArr).length > 0) {
         initBtnRunStatua();
         justRunFirst.value = false;
         stopWatch();
     }
 });
-//设置值
-const setValueArr = ref([1, 0, 1, 0])
-
-//变频器频率选项
-const frequencyOptions = [
-    {
-        value: 1,
-        label: '正转',
-    },
-    {
-        value: 2,
-        label: '反转',
-    },
-    {
-        value: 5,
-        label: '停止',
-    }
-]
-// 设置泵
-function setPump(index, equipmentId, value) {
-    const open = 0;
-    const close = 2;
-    setValueArr.value[index] = value ? frequencyOptions[open].value : frequencyOptions[close].value;
-    setIntValue(index, equipmentId);
-}
-//设置整型数据
-function setIntValue(index, equipmentId) {
-    const address = deviceDataArr.value[eqStore.eqIndexArr[equipmentId]].address;
-    const specialIndices = [1, 3]; // 1:LB7 3:LB6
-    const value = setValueArr.value[index];
-    const param = {
-        dataArr: specialIndices.includes(index) ? [value * 50] : [value],
-        startAddress: address,
-    }
-    setIntRegister(param).then(res => {
-        // console.log(res);
-    })
-}
-//变频状态字
-const statusWord = ref(['', '正转', '反转', '停机', '故障'])
-//s1s2专用
-const statusWord_S = ref(['', '反转', '正转', '停机', '故障'])
+
 //正常工作流程步骤
 const step = ref(1)
-//设备运行状态
-const deviceRunStatus = ref(Array(30).fill(false));
 //按钮点击状态(开启,关闭)
 const btnRunStatus = ref(Array(30).fill(false));
-//按钮是否可点击
-const btnCanClickArr = ref(Array(30).fill(true));
+
 
 //监控step值
 watch(() => step.value, (newValue, oldValue) => {
@@ -984,7 +373,6 @@ watch(() => deviceDataArr.value[eqStore.eqIndexArr[106]]?.value, (newValue, oldV
 
 //关闭所有阀门
 function closeAllValves() {
-    deviceRunStatus.value = Array(30).fill(false);
     if (step2.value == 1) {
         step2.value += 1;
     }
@@ -1081,77 +469,8 @@ watch(() => btnRunStatus.value[6], (newValue, oldValue) => {
         }
     }
 });
-//二次确认
-function confirmOpen(index, equipmentId) {
-    proxy.$modal.confirm("再次确认开启").then(() => {
-        clickOpen(index, equipmentId)
-    })
-}
-//开启按钮
-function clickOpen(index, equipmentId) {
-    const address = deviceDataArr.value[eqStore.eqIndexArr[equipmentId]].address;
-
-    //按钮点击状态置为false
-    btnRunStatus.value[index] = true;
-    //设备运行状态置为true(调用接口)
-    deviceRunStatus.value[index] = true;
-    const param = {
-        dataArr: [true],
-        startAddress: address,
-    }
-    setCoil(param).then(res => {
-        // console.log(res);
-    })
-}
-//关闭按钮
-function clickClose(index, equipmentId) {
-    const address = deviceDataArr.value[eqStore.eqIndexArr[equipmentId]].address;
-    //按钮点击状态置为true
-    btnRunStatus.value[index] = false;
-    //设备运行状态置为false(调用接口)
-    deviceRunStatus.value[index] = false;
-
-    const param = {
-        dataArr: [false],
-        startAddress: address,
-    }
-    setCoil(param).then(res => {
-        // console.log(res);
-    })
-}
 
-//d阀门开启按钮
-function clickOpenDValve(index, equipmentId) {
-    const address = deviceDataArr.value[eqStore.eqIndexArr[equipmentId]].address;
-    //按钮点击状态置为true
-    btnRunStatus.value[index] = true;
-    //设备运行状态置为true(调用接口)
-    deviceRunStatus.value[index] = true;
-    const param = {
-        dataArr: [true, false],
-        startAddress: address,
-        quantity: 2,
-    }
-    setCoils(param).then(res => {
-        // console.log(res);
-    })
-}
-//d阀门关闭按钮
-function clickCloseDValve(index, equipmentId) {
-    const address = deviceDataArr.value[eqStore.eqIndexArr[equipmentId]].address;
-    //按钮点击状态置为true
-    btnRunStatus.value[index] = false;
-    //设备运行状态置为false(调用接口)
-    deviceRunStatus.value[index] = false;
-    const param = {
-        dataArr: [false, true],
-        startAddress: address,
-        quantity: 2,
-    }
-    setCoils(param).then(res => {
-        // console.log(res);
-    })
-}
+
 </script>
 
 <style lang="scss" scoped>
@@ -1251,9 +570,6 @@ function clickCloseDValve(index, equipmentId) {
                         .fan {
                             color: #bdbb3b;
                             position: absolute;
-                            // left: 32%;
-                            // top: 45%;
-                            // font-size: 20px !important;
                             left: 14%;
                             top: 31%;
                             font-size: 36px !important;
@@ -1330,12 +646,11 @@ function clickCloseDValve(index, equipmentId) {
 
 
         .flows_body_right_content,
-        .flows_body_right_tanks,
-        .dialog_content {
+        .flows_body_right_tanks {
             margin-top: 50px;
             display: flex;
             flex-wrap: wrap;
-            gap: 100px;
+            gap: 40px;
             align-items: center;
 
             .just_show {
@@ -1346,7 +661,7 @@ function clickCloseDValve(index, equipmentId) {
                 display: flex;
             }
 
-            .flow_single {
+            .LB_nodata {
                 width: 100px;
                 display: flex;
                 padding: 4px;
@@ -1469,94 +784,6 @@ function clickCloseDValve(index, equipmentId) {
                 }
             }
 
-            .flow_others {
-                width: 250px;
-
-                .flow_single_show {
-                    display: flex;
-                    flex-direction: column;
-                    color: #FFF;
-                    gap: 3px;
-
-                    .show_body {
-                        display: flex;
-                        align-items: center;
-                        justify-content: space-between;
-
-                        .show_body_left {
-                            width: 50px;
-                            text-align: center;
-                            font-size: large;
-                            background: #0e2b60;
-                            border-radius: 5px;
-                            color: #63c8c7;
-                        }
-
-                        .show_body_right {
-                            gap: 3px;
-                            width: 170px;
-                            display: flex;
-                            flex-direction: column;
-                            align-items: center;
-                            justify-content: center;
-
-                            .show_detail {
-                                display: flex;
-                                align-items: center;
-                                justify-content: center;
-                                gap: 5px;
-
-                                .text,
-                                .btn_set {
-                                    text-align: center;
-                                    font-size: small;
-                                    width: 47px;
-
-                                    // font-size: 16px;
-                                    :deep(.el-button--small) {
-                                        height: 18px !important;
-                                        // --el-button-size: 18px !important;
-                                    }
-                                }
-
-                                .body_show,
-                                .body_set {
-                                    width: 115px;
-                                    display: flex;
-                                    align-items: center;
-                                    justify-content: flex-start;
-                                    gap: 5px;
-
-                                    //  width: 100px;
-                                    .body_show_value {
-                                        text-align: center;
-                                        width: 75px;
-                                        font-size: small;
-                                        border: solid 1px #B8CEE5;
-                                        border-radius: 5px;
-
-                                        :deep(.el-select--small .el-select__wrapper) {
-                                            min-height: 18px;
-                                            text-align: right;
-                                        }
-
-                                        :deep(.el-input--small) {
-                                            // text-align: right;
-                                            height: 18px;
-
-                                            .el-input__inner {
-                                                text-align: center;
-                                                margin-left: 10px;
-                                            }
-                                        }
-                                    }
-                                }
-                            }
-                        }
-                    }
-
-                }
-            }
         }
     }
 

+ 1 - 2
ui/src/views/dcs/flowSelect/paramSetting/index.vue

@@ -1,8 +1,7 @@
 <template>
     <div class="dcs">
-        <HeaderComponent title="参数配置"></HeaderComponent>
+        <HeaderComponent title="参数配置" :backTo="'/flowSelect'"></HeaderComponent>
         <el-card class="card">
-
             <!-- 表单区域 -->
             <el-form ref="formRef" :model="formModel" :rules="formRules" label-width="120px" class="form">
                 <div class="form_grid">

Nem az összes módosított fájl került megjelenítésre, mert túl sok fájl változott