| 
					
				 | 
			
			
				@@ -107,8 +107,11 @@ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     <div class="title-text" style="position: absolute; z-index: 9999; width: 100%; text-align: center">{{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       selectData.supplyAirAddr || selectData.strinstallpos || selectData.stationname 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     }}</div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    <div class="top-box control-group" v-if="globalConfig?.simulatedPassword"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      <div class="button-box" v-for="(item, index) in modalTypeArr.centerBtnArr" :key="index" @click="showModal(item)">{{ item.value }}</div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    <div v-if="hasPermission('btn:show')" class="top-box control-group"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      <template v-for="(item, index) in modalTypeArr.centerBtnArr" :key="index"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        <div v-if="hasPermission(item.permission)" class="button-box" @click="showModal(item)">{{ item.value }}</div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      </template> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       <!-- <div class="button-box" v-for="(item, index) in modalTypeArr.centerBtnArr" :key="index" @click="showModal(item)">{{ item.value }}</div> --> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     </div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     <div class="data-show-box"> 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -323,7 +326,15 @@ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     style="z-index: 999; position: absolute; top: 100px; right: 15px; width: 100%; height: 100%; margin: auto; pointer-events: none" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   > 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   </div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  <a-modal v-model:visible="modalIsShow" :centered="true" :title="modalTitle" @ok="handleOk" @cancel="handleCancel" :destroyOnClose="true"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  <a-modal 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    v-model:visible="modalIsShow" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    :centered="true" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    :maskClosable="false" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    :title="modalTitle" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    @ok="handleOk" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    @cancel="handleCancel" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    :destroyOnClose="true" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  > 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     <template #footer v-if="modalType == 'fbm'"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       <a-button key="back" @click="handleCancel">取消</a-button> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     </template> 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -358,6 +369,21 @@ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				           </a-radio-group> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         </div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       </div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      <div class="" v-if="modalType == 'startFan'"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        <!-- 不互斥控制 --> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        <div class="startSmoke-select"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          <div class="label">主机:</div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          <div :class="{ 'button-box': true, 'button-disable': false }" @click="handleOk('Fan1Open')">开启</div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          <div :class="{ 'button-box': true, 'button-disable': false }" @click="handleOk('Fan1Stop')">停止</div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          <!-- <div :class="{ 'button-box': true, 'button-disable': false }" @click="handleOk('Fan1Reset')">复位</div> --> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        </div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        <div class="startSmoke-select"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          <div class="label">备机:</div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          <div :class="{ 'button-box': true, 'button-disable': false }" @click="handleOk('Fan2Open')">开启</div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          <div :class="{ 'button-box': true, 'button-disable': false }" @click="handleOk('Fan2Stop')">停止</div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          <!-- <div :class="{ 'button-box': true, 'button-disable': false }" @click="handleOk('Fan2Reset')">复位</div> --> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        </div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      </div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       <!-- 防爆门控制 --> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       <div class="" v-if="modalType == 'fbm'"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         <div class="vent-margin-t-20"> 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -795,6 +821,7 @@ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     } else if (selectData['Fan2StartStatus'] == 0 && selectData['Fan1StartStatus'] == 0) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     } else if (modalType.value == 'changeSmoke') { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      //182模拟 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       // 不听风倒机 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       if (selectData['Fan1StartStatus'] == 1 && selectData['Fan2StartStatus'] == 0) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         // 由主到备 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -849,6 +876,61 @@ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } else if (modalType.value == 'changeSmoke1') { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      // 矿上实际 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      if (selectData['Fan1StartStatus'] == 1 && selectData['Fan2StartStatus'] == 0) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        // 由主到备 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        // 正启动 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        if (selectData['Fan1FreqForwardRun'] && selectData['Fan1FreqForwardRun'] == 1) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          console.log('一键1倒2正启动控制  '); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          start('CtrlFan1ToFan2') 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            .then(() => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              frontMonitorIsShow.value = false; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              backMonitorIsShow.value = true; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            }) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            .catch(() => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              createMessage.error('操作失败,请联系管理员'); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        // 反启动 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        if (selectData['Fan1FreqReverseRun'] && selectData['Fan1FreqReverseRun'] == 1) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          console.log('一键1倒2反启动控制'); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          start('CtrlFan1ToFan2') 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            .then(() => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              frontMonitorIsShow.value = false; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              backMonitorIsShow.value = true; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            }) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            .catch(() => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              createMessage.error('操作失败,请联系管理员'); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      } else if (selectData['Fan2StartStatus'] == 1 && selectData['Fan1StartStatus'] == 0) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        // 由备到主 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        // 正启动 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        if (selectData['Fan2FreqForwardRun'] && selectData['Fan2FreqForwardRun'] == 1) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          console.log('一键2倒1正启动控制'); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          start('CtrlFan2ToFan1') 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            .then(() => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              frontMonitorIsShow.value = true; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              backMonitorIsShow.value = false; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            }) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            .catch(() => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              createMessage.error('操作失败,请联系管理员'); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        // 反启动 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        if (selectData['Fan2FreqReverseRun'] && selectData['Fan2FreqReverseRun'] == 1) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          console.log('一键2倒1反启动控制'); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          start('CtrlFan2ToFan1') 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            .then(() => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              frontMonitorIsShow.value = true; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              backMonitorIsShow.value = false; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            }) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            .catch(() => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              createMessage.error('操作失败,请联系管理员'); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     } else if (modalType.value == 'frequency') { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       if (selectData['Fan1StartStatus'] == 1 && selectData['Fan2StartStatus'] == 0) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         start('CtrlFan1FreqSet', frequencyVal.value).catch(() => { 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -891,10 +973,41 @@ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				           createMessage.success('关门成功'); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } else if (modalType.value === 'startFan') { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      let paramcode = ''; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      if (flag === 'Fan1Open') { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        paramcode = 'CtrlFan1Start'; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      } else if (flag === 'Fan2Open') { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        paramcode = 'CtrlFan2Start'; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      } else if (flag === 'Fan1Stop') { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        paramcode = 'CtrlFan1Stop'; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      } else if (flag === 'Fan2Stop') { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        paramcode = 'CtrlFan2Stop'; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      } else if (flag === 'Fan1Reset') { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        paramcode = 'CtrlFan1Reset'; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      } else if (flag === 'Fan2Reset') { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        paramcode = 'CtrlFan2Reset'; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    modalTitle.value = ''; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    modalIsShow.value = false; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      start(paramcode) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        .then(() => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          if (globalConfig.History_Type == 'remote') { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            createMessage.success('指令已下发至生产管控平台成功!'); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          } else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            createMessage.success('指令已下发成功!'); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          frontMonitorIsShow.value = false; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          backMonitorIsShow.value = true; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        }) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        .catch(() => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          createMessage.error('操作失败,请联系管理员'); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } else if (modalType.value == 'resetFan') { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      // 一键复位 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      start('CtrlFanReset').catch(() => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        createMessage.error('操作失败,请联系管理员'); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   }; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   // 取消 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -1333,6 +1446,55 @@ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  :deep(.button-box) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    position: relative; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    padding: 5px; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    // border: 1px transparent solid; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    border-radius: 5px; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    margin-left: 8px; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    margin-right: 8px; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    width: auto; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    // height: 40px; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    // border: 1px solid #65dbea; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    height: 35px !important; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    display: flex; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    align-items: center; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    justify-content: center; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    color: #fff; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    padding: 0 15px 5px 15px; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    cursor: pointer; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    &:hover { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      background: linear-gradient(#2cd1ff55, #1eb0ff55); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    &::before { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      width: calc(100% - 6px); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      height: 27px; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      content: ''; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      position: absolute; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      top: 3px; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      right: 0; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      left: 3px; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      bottom: 0; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      z-index: -1; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      border-radius: inherit; /*important*/ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      background: linear-gradient(#1fa6cb, #127cb5); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    &::after { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      width: calc(100% + 32px); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      height: 10px; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      content: ''; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      position: absolute; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      top: 28px; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      right: 0; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      left: -16px; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      bottom: 0; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      z-index: -1; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      border-radius: inherit; /*important*/ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      background-position: center; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      background-size: 100%; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      z-index: 999; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   ::v-deep(#LivePlayerBox) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     display: flex; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     flex-direction: row; 
			 |