Parcourir la source

Merge branch 'master' of http://182.92.126.35:3000/hrx/mky-vent-base

lxh il y a 2 mois
Parent
commit
f4a18a7b3d

+ 1 - 1
src/views/vent/monitorManager/alarmMonitor/index.vue

@@ -160,7 +160,7 @@
                 : '未连接'
             }}</div>
 
-            <div class="text2">{{ centerData.riskLevel }}</div>
+            <div class="text2">{{ centerData.riskLevel !== undefined && centerData.riskLevel !== null ? centerData.riskLevel : '-' }}</div>
             <div class="text3">风险得分</div>
           </div>
           <div class="icon-animation" @click="warnGradeClick"></div>

+ 21 - 11
src/views/vent/monitorManager/fanLocalMonitor/index.vue

@@ -132,21 +132,31 @@
         </div>
         <!-- fanlocal_systeml_zj 模拟局部风机,不显示操作按钮 -->
         <template v-for="(item, index) in modalTypeArr.leftBtnArr" :key="index">
-          <div
-            v-if="!(selectData.fanFrequencyType == 'fandp' && item.permission.startsWith('btn:frequency')) && hasPermission(item.permission)"
-            :class="{ 'button-box': btnClick, 'button-disable': !btnClick }"
-            @click="showModal(item)"
-            >{{ item.value }}
-          </div>
+          <template v-if="hasPermission(item.permission)">
+            <template v-if="item.permission === 'btn:frequency' || item.permission === 'btn:frequencyMerge'">
+              <div
+                v-if="devicekide == 'fanlocaldp' && item.permission === 'btn:frequency'"
+                :class="{ 'button-box': btnClick, 'button-disable': !btnClick }"
+                @click="showModal(item)"
+                >{{ item.value }}
+              </div>
+              <div
+                v-else-if="devicekide == 'fanlocal' && item.permission === 'btn:frequencyMerge'"
+                :class="{ 'button-box': btnClick, 'button-disable': !btnClick }"
+                @click="showModal(item)"
+                >{{ item.value }}
+              </div>
+            </template>
+            <template v-else>
+              <div :class="{ 'button-box': btnClick, 'button-disable': !btnClick }" @click="showModal(item)">{{ item.value }} </div>
+            </template>
+          </template>
         </template>
       </div>
       <div class="top-right row">
         <template v-for="(item, index) in modalTypeArr.rightBtnArr" :key="index">
           <div
-            v-if="
-              !(selectData.fanFrequencyType == 'fandp' && (item.permission === 'fanLocal:gasAlarmSet' || item.permission === 'fanLocal:kkjc')) &&
-              hasPermission(item.permission)
-            "
+            v-if="(item.permission === 'fanLocal:gasAlarmSet' || item.permission === 'fanLocal:kkjc') && hasPermission(item.permission)"
             :class="{ 'button-box': btnClick, 'button-disable': !btnClick }"
             @click="showModal(item)"
             >{{ item.value }}</div
@@ -622,7 +632,7 @@
   const router = useRouter();
   const { createConfirm } = useMessage();
   const globSetting = useGlobSetting();
-  const showPlay = ref(false);
+  const showPlay = ref(hasPermission('fanlocal:showCamera') ? true : false);
 
   const modalTypeArr = reactive({
     leftBtnArr: [

+ 11 - 2
src/views/vent/monitorManager/gateMonitor/index.vue

@@ -50,6 +50,7 @@
       </div>
       <!-- 控制模式 -->
       <div class="top-right row" v-if="hasPermission('btn:remote')">
+        <!--  -->
         <div class="vent-flex-m row" v-if="selectData.contrlMod == 'loopCtrl'">
           <div class="control-title">控制模式:</div>
           <a-radio-group v-model:value="selectData.autoRoManual">
@@ -59,7 +60,7 @@
           </a-radio-group>
           <div class="button-box" @click="playAnimation(7)">切换模式</div>
         </div>
-        <!-- 控制指令是多个 -->
+        <!-- 控制指令是多个,每个状态需要下发单独的指令 -->
         <div class="vent-flex-m row" v-else-if="selectData.contrlMod == 'codeCtrl'">
           <div class="control-title">控制模式:</div>
           <a-radio-group v-model:value="selectData.autoRoManual">
@@ -69,6 +70,14 @@
           </a-radio-group>
           <div class="button-box" v-for="(item, index) in modelList" @click="playAnimation(7, item.value)" :key="index">{{ item.text }}</div>
         </div>
+        <!-- 济南嘉鸿远程、就地、自动控制,自动切换,点位为true就是选中状态 -->
+        <div class="vent-flex-m row" v-else-if="selectData.contrlMod == 'jnjhCtrl'">
+          <div class="control-title">控制模式:</div>
+          <a-radio v-model:checked="selectData.autoRoManual" :disabled="true">远程</a-radio>
+          <a-radio v-model:checked="selectData.autoRoManual1" :disabled="true">自动</a-radio>
+          <a-radio v-model:checked="selectData.autoRoManual2" :disabled="true">手动</a-radio>
+          <div class="button-box" v-for="(item, index) in modelList" @click="playAnimation(7)" :key="index">{{ item.text }}</div>
+        </div>
         <div class="vent-flex-m row" v-else>
           <div class="control-title">控制模式:</div>
           <a-radio-group v-model:value="selectData.autoRoManual">
@@ -802,7 +811,7 @@
           }
           data.value = '';
           selectData.autoRoManual = null;
-        } else if (selectData.contrlMod == 'loopCtrl') {
+        } else if (selectData.contrlMod == 'loopCtrl' || selectData.contrlMod == 'jnjhCtrl') {
           data.paramcode = 'autoRoManualControl';
           data.value = '';
           selectData.autoRoManual = null;

+ 64 - 3
src/views/vent/monitorManager/mainFanMonitor/index.vue

@@ -29,7 +29,8 @@
             >
           </div>
         </div>
-        <div v-if="globalConfig?.simulatedPassword" class="elementTag" id="fbm">
+        <!-- 18模拟反风锁井 -->
+        <!-- <div v-if="hasPermission('mainFan:ffsjMonitor')" class="elementTag" id="fbm">
           <div class="elementContent elementContent-r fbm-box">
             <div class="fbm-video">
               <LivePlayer id="main-player2" ref="player2" :videoUrl="flvURL2()" muted live />
@@ -88,6 +89,65 @@
               </div>
             </div>
           </div>
+        </div> -->
+        <div v-if="hasPermission('mainFan:ffsjMonitor')">
+          <div class="elementContent elementContent-r fbm-box">
+            <div class="fbm-video">
+              <div class="vent-flex-row-between vent-margin-t-20">
+                <span class="data-title">风门开启状态:</span>
+                <template v-if="selectData['ExplosionVentOpen'] == 1 && selectData['ExplosionVentClose'] == 0">
+                  <span class="data-title"><span class="signal-round signal-round-blue vent-margin-r-8"></span>开启</span>
+                </template>
+                <template v-else-if="selectData['ExplosionVentOpen'] == 0 && selectData['ExplosionVentClose'] == 1">
+                  <span class="data-title"><span class="signal-round signal-round-gry vent-margin-r-8"></span>关闭</span>
+                </template>
+                <template v-else>
+                  <div class="vent-margin-l-10"
+                    ><span class="signal-round signal-round-warning vent-margin-r-8"></span>防爆门正在运行 或 数据异常</div
+                  >
+                </template>
+              </div>
+              <div class="vent-flex-row-between vent-margin-t-10">
+                <span class="data-title">反风锁紧状态:</span>
+                <template
+                  v-if="
+                    selectData['Lock1Open'] == 1 && selectData['Lock1Close'] == 0 && selectData['Lock2Open'] == 1 && selectData['Lock2Close'] == '0'
+                  "
+                >
+                  <span class="data-title"><span class="signal-round signal-round-blue vent-margin-r-8"></span>锁1开</span>
+                  <span class="data-title"><span class="signal-round signal-round-blue vent-margin-r-8"></span>锁2开</span>
+                </template>
+                <template
+                  v-else-if="
+                    selectData['Lock1Open'] == '0' && selectData['Lock1Close'] == 1 && selectData['Lock2Open'] == '0' && selectData['Lock2Close'] == 1
+                  "
+                >
+                  <span class="data-title"><span class="signal-round signal-round-gry vent-margin-r-8"></span>锁1关</span>
+                  <span class="data-title"><span class="signal-round signal-round-gry vent-margin-r-8"></span>锁2关</span>
+                </template>
+                <template v-else>
+                  <div class="vent-margin-l-10"
+                    ><span class="signal-round signal-round-warning vent-margin-r-8"></span>反风锁紧正在运行 或 数据异常</div
+                  >
+                </template>
+              </div>
+            </div>
+            <div class="fbm-data">
+              <div class="element-item"
+                ><span class="data-title">井口负压(kPa):</span
+                ><span>{{ selectData.Fan1FanPre ? selectData.Fan1FanPre : selectData.Fan2FanPre ? selectData.Fan2FanPre : '-' }}</span></div
+              >
+              <div class="element-item"><span class="data-title">井口正压(kPa):</span><span>0</span></div>
+              <div class="element-item"><span class="data-title">井口温度(℃):</span><span>19.132</span></div>
+              <div class="element-item"><span class="data-title">甲烷浓度(%):</span><span>0.36</span></div>
+              <div class="element-item"><span class="data-title">CO浓度(%):</span><span>0</span></div>
+              <div class="vent-flex-row-between">
+                <span class="data-title">操作方式:</span>
+                <span class="data-title"><span class="signal-round signal-round-blue vent-margin-r-8"></span>远程</span>
+                <span class="data-title"><span class="signal-round signal-round-gry vent-margin-r-8"></span>就地</span>
+              </div>
+            </div>
+          </div>
         </div>
       </div>
     </div>
@@ -631,7 +691,7 @@
   const playerRef = ref();
   const isSimulation = true; // 是否模拟状态
   const MonitorDataTable = ref();
-  const showPlay = ref(false);
+  const showPlay = ref(hasPermission('mainFan:showCamera') ? true : false);
   const player1 = ref(null);
   const player2 = ref(null);
   const activeKey = ref('1');
@@ -813,7 +873,8 @@
         linkDevices.filter((item) => {
           if (item.deviceType == 'faultEqu') {
             faultDevice = item;
-          } else if (item.deviceType == 'explosionproof') {
+          } else if (item.deviceType == 'antiwindLock') {
+            // 反风锁井
             doorDevice = item;
           }
         });