|  | @@ -1,32 +1,33 @@
 | 
	
		
			
				|  |  |  <template>
 | 
	
		
			
				|  |  |    <div class="bg" style="width: 100%; height: 100%; display: flex; justify-content: center; align-items: center; overflow: hidden">
 | 
	
		
			
				|  |  |      <a-spin :spinning="loading" />
 | 
	
		
			
				|  |  | -    <div id="main3D" style="width: 100%; height: 100%; position: absolute; overflow: hidden"> </div>
 | 
	
		
			
				|  |  | -    <FanEchrats id="fan-echarts" :chartData="selectData" style="position: absolute; z-index: -1" />
 | 
	
		
			
				|  |  | -  </div>
 | 
	
		
			
				|  |  | -  <div
 | 
	
		
			
				|  |  | -    id="main3DCSS"
 | 
	
		
			
				|  |  | -    class="threejs-Object-CSS"
 | 
	
		
			
				|  |  | -    v-show="!loading"
 | 
	
		
			
				|  |  | -    style="width: 100%; height: 100%; position: absolute; pointer-events: none; overflow: hidden; z-index: 1; top: 0"
 | 
	
		
			
				|  |  | -  >
 | 
	
		
			
				|  |  | -    <div style="position: relative">
 | 
	
		
			
				|  |  | -      <div class="elementTag" id="inputBox">
 | 
	
		
			
				|  |  | -        <div class="elementContent elementContent-r" v-if="selectData.dqPa && backMonitorIsShow">
 | 
	
		
			
				|  |  | -          <p><span class="data-title">风机全压(Pa):</span>{{ selectData.dqPa ? selectData.dqPa : '-' }}</p>
 | 
	
		
			
				|  |  | -          <p><span class="data-title">风机静压(Pa):</span>{{ selectData.yc2 ? selectData.yc2 : '-' }}</p>
 | 
	
		
			
				|  |  | -          <p><span class="data-title">风机流量(m³/s):</span>{{ selectData.fanM3 ? selectData.fanM3 : '-' }}</p>
 | 
	
		
			
				|  |  | +    <div
 | 
	
		
			
				|  |  | +      id="main3DCSS"
 | 
	
		
			
				|  |  | +      class="threejs-Object-CSS"
 | 
	
		
			
				|  |  | +      v-show="!loading"
 | 
	
		
			
				|  |  | +      style="width: 100%; height: 100%; position: absolute; pointer-events: none; overflow: hidden; z-index: 1; top: 0"
 | 
	
		
			
				|  |  | +    >
 | 
	
		
			
				|  |  | +      <div style="position: relative">
 | 
	
		
			
				|  |  | +        <div class="elementTag" id="inputBox">
 | 
	
		
			
				|  |  | +          <div class="elementContent elementContent-r" v-if="selectData.DataPa && backMonitorIsShow">
 | 
	
		
			
				|  |  | +            <p><span class="data-title">风机气压(Pa):</span>{{ selectData.DataPa ? selectData.DataPa : '-' }}</p>
 | 
	
		
			
				|  |  | +            <p><span class="data-title">风机负压(Pa):</span>{{ selectData.Fan2Negative ? selectData.Fan2Negative : '-' }}</p>
 | 
	
		
			
				|  |  | +            <p><span class="data-title">风机风量(m³/s):</span>{{ selectData.Fan2m3 ? selectData.Fan2m3 : '-' }}</p>
 | 
	
		
			
				|  |  | +          </div>
 | 
	
		
			
				|  |  |          </div>
 | 
	
		
			
				|  |  | -      </div>
 | 
	
		
			
				|  |  | -      <div class="elementTag" id="inputBox1">
 | 
	
		
			
				|  |  | -        <div class="elementContent elementContent-r" v-if="selectData.dqPa && frontMonitorIsShow">
 | 
	
		
			
				|  |  | -          <p><span class="data-title">风机全压(Pa):</span>{{ selectData.dqPa ? selectData.dqPa : '-' }}</p>
 | 
	
		
			
				|  |  | -          <p><span class="data-title">风机静压(Pa):</span>{{ selectData.yc2 ? selectData.yc2 : '-' }}</p>
 | 
	
		
			
				|  |  | -          <p><span class="data-title">风机流量(m³/s):</span>{{ selectData.fanM3 ? selectData.fanM3 : '-' }}</p>
 | 
	
		
			
				|  |  | +        <div class="elementTag" id="inputBox1">
 | 
	
		
			
				|  |  | +          <div class="elementContent elementContent-r" v-if="selectData.DataPa && frontMonitorIsShow">
 | 
	
		
			
				|  |  | +            <p><span class="data-title">风机全压(Pa):</span>{{ selectData.DataPa ? selectData.DataPa : '-' }}</p>
 | 
	
		
			
				|  |  | +            <p><span class="data-title">风机负压(Pa):</span>{{ selectData.Fan1Negative ? selectData.Fan1Negative : '-' }}</p>
 | 
	
		
			
				|  |  | +            <p><span class="data-title">风机风量(m³/s):</span>{{ selectData.Fan1m3 ? selectData.Fan1m3 : '-' }}</p>
 | 
	
		
			
				|  |  | +          </div>
 | 
	
		
			
				|  |  |          </div>
 | 
	
		
			
				|  |  |        </div>
 | 
	
		
			
				|  |  |      </div>
 | 
	
		
			
				|  |  | +    <div id="main3D" style="width: 100%; height: 100%; position: absolute; overflow: hidden"> </div>
 | 
	
		
			
				|  |  | +    <FanEchrats id="fan-echarts" :chartData="selectData" style="position: absolute; z-index: -1" />
 | 
	
		
			
				|  |  |    </div>
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  |    <div class="scene-box" style="z-index: 999">
 | 
	
		
			
				|  |  |      <div class="title-text" style="position: absolute; z-index: 9999; width: 100%; text-align: center">{{ selectData.strname }}</div>
 | 
	
		
			
				|  |  |      <div class="top-box control-group">
 | 
	
	
		
			
				|  | @@ -45,14 +46,25 @@
 | 
	
		
			
				|  |  |              >
 | 
	
		
			
				|  |  |            </div>
 | 
	
		
			
				|  |  |            <div class="container-group container-group-l">
 | 
	
		
			
				|  |  | -            <div class="container-item" v-for="(data, index) in dataColumns()" :key="index">
 | 
	
		
			
				|  |  | -              <div class="item-icon">
 | 
	
		
			
				|  |  | -                <SvgIcon class="icon-style" size="18" name="temperature" />
 | 
	
		
			
				|  |  | +            <template v-if="deviceType">
 | 
	
		
			
				|  |  | +              <div class="container-item" v-for="(data, index) in getTableHeaderColumns(deviceType + '_monitor_left')" :key="index">
 | 
	
		
			
				|  |  | +                <div class="item-icon">
 | 
	
		
			
				|  |  | +                  <SvgIcon class="icon-style" size="18" name="temperature" />
 | 
	
		
			
				|  |  | +                </div>
 | 
	
		
			
				|  |  | +                <div class="item-name">{{ data.title }}</div>
 | 
	
		
			
				|  |  | +                <div v-if="data.dataIndex.startsWith('Fan')">
 | 
	
		
			
				|  |  | +                  <div class="item-value" v-if="dataMonitorRowIndex == 0">{{
 | 
	
		
			
				|  |  | +                    selectData[data.dataIndex.replace('Fan', 'Fan1')] ? selectData[data.dataIndex.replace('Fan', 'Fan1')] : '-'
 | 
	
		
			
				|  |  | +                  }}</div>
 | 
	
		
			
				|  |  | +                  <div class="item-value" v-if="dataMonitorRowIndex == 1">{{
 | 
	
		
			
				|  |  | +                    selectData[data.dataIndex.replace('Fan', 'Fan2')] ? selectData[data.dataIndex.replace('Fan', 'Fan2')] : '-'
 | 
	
		
			
				|  |  | +                  }}</div>
 | 
	
		
			
				|  |  | +                </div>
 | 
	
		
			
				|  |  | +                <div v-else>
 | 
	
		
			
				|  |  | +                  <div class="item-value">{{ selectData[data.dataIndex] ? selectData[data.dataIndex] : '-' }}</div>
 | 
	
		
			
				|  |  | +                </div>
 | 
	
		
			
				|  |  |                </div>
 | 
	
		
			
				|  |  | -              <div class="item-name">{{ data.name }}</div>
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  | -              <div class="item-value" v-if="dataSource[dataMonitorRowIndex]">{{ dataSource[dataMonitorRowIndex][data.id] }}</div>
 | 
	
		
			
				|  |  | -            </div>
 | 
	
		
			
				|  |  | +            </template>
 | 
	
		
			
				|  |  |            </div>
 | 
	
		
			
				|  |  |          </div>
 | 
	
		
			
				|  |  |        </div>
 | 
	
	
		
			
				|  | @@ -79,27 +91,62 @@
 | 
	
		
			
				|  |  |                </div>
 | 
	
		
			
				|  |  |              </div>
 | 
	
		
			
				|  |  |              <div class="warning-group">
 | 
	
		
			
				|  |  | -              <div class="warning-item" v-for="(state, index) in stateColumns()" :key="index">
 | 
	
		
			
				|  |  | -                <div class="item-name"><div class="icon"></div> {{ state.name }}</div>
 | 
	
		
			
				|  |  | -                <div class="signal-item" v-if="dataSource[warningMonitorRowIndex]">
 | 
	
		
			
				|  |  | -                  <div
 | 
	
		
			
				|  |  | -                    class="signal-round"
 | 
	
		
			
				|  |  | -                    :class="{
 | 
	
		
			
				|  |  | -                      'signal-round-run': dataSource[warningMonitorRowIndex][state.id],
 | 
	
		
			
				|  |  | -                      'signal-round-warning':
 | 
	
		
			
				|  |  | -                        dataSource[warningMonitorRowIndex][state.id] !== undefined && !dataSource[warningMonitorRowIndex][state.id],
 | 
	
		
			
				|  |  | -                      'signal-round-gry': dataSource[warningMonitorRowIndex][state.id] === undefined,
 | 
	
		
			
				|  |  | -                    }"
 | 
	
		
			
				|  |  | -                  ></div>
 | 
	
		
			
				|  |  | -                  <div>{{
 | 
	
		
			
				|  |  | -                    dataSource[warningMonitorRowIndex][state.id] === undefined
 | 
	
		
			
				|  |  | -                      ? '无状态'
 | 
	
		
			
				|  |  | -                      : dataSource[warningMonitorRowIndex][state.id]
 | 
	
		
			
				|  |  | -                      ? '正常'
 | 
	
		
			
				|  |  | -                      : '异常'
 | 
	
		
			
				|  |  | -                  }}</div>
 | 
	
		
			
				|  |  | +              <template v-if="deviceType">
 | 
	
		
			
				|  |  | +                <div class="warning-item" v-for="(state, index) in getTableHeaderColumns(deviceType + '_monitor_right')" :key="index">
 | 
	
		
			
				|  |  | +                  <div class="item-name"><div class="icon"></div> {{ state.title }}</div>
 | 
	
		
			
				|  |  | +                  <div v-if="state.dataIndex.startsWith('Fan')">
 | 
	
		
			
				|  |  | +                    <div class="signal-item" v-if="warningMonitorRowIndex == 0">
 | 
	
		
			
				|  |  | +                      <div
 | 
	
		
			
				|  |  | +                        class="signal-round"
 | 
	
		
			
				|  |  | +                        :class="{
 | 
	
		
			
				|  |  | +                          'signal-round-run': selectData[state.dataIndex.replace('Fan', 'Fan1')],
 | 
	
		
			
				|  |  | +                          'signal-round-warning':
 | 
	
		
			
				|  |  | +                            selectData[state.dataIndex.replace('Fan', 'Fan1')] !== undefined && !selectData[state.dataIndex.replace('Fan', 'Fan1')],
 | 
	
		
			
				|  |  | +                          'signal-round-gry': selectData[state.dataIndex.replace('Fan', 'Fan1')] === undefined,
 | 
	
		
			
				|  |  | +                        }"
 | 
	
		
			
				|  |  | +                      ></div>
 | 
	
		
			
				|  |  | +                      <div>{{
 | 
	
		
			
				|  |  | +                        selectData[state.dataIndex.replace('Fan', 'Fan1')] === undefined
 | 
	
		
			
				|  |  | +                          ? '无状态'
 | 
	
		
			
				|  |  | +                          : selectData[state.dataIndex.replace('Fan', 'Fan1')]
 | 
	
		
			
				|  |  | +                          ? '正常'
 | 
	
		
			
				|  |  | +                          : '异常'
 | 
	
		
			
				|  |  | +                      }}</div>
 | 
	
		
			
				|  |  | +                    </div>
 | 
	
		
			
				|  |  | +                    <div class="signal-item" v-if="warningMonitorRowIndex == 1">
 | 
	
		
			
				|  |  | +                      <div
 | 
	
		
			
				|  |  | +                        class="signal-round"
 | 
	
		
			
				|  |  | +                        :class="{
 | 
	
		
			
				|  |  | +                          'signal-round-run': selectData[state.dataIndex.replace('Fan', 'Fan2')],
 | 
	
		
			
				|  |  | +                          'signal-round-warning':
 | 
	
		
			
				|  |  | +                            selectData[state.dataIndex.replace('Fan', 'Fan2')] !== undefined && !selectData[state.dataIndex.replace('Fan', 'Fan2')],
 | 
	
		
			
				|  |  | +                          'signal-round-gry': selectData[state.dataIndex.replace('Fan', 'Fan2')] === undefined,
 | 
	
		
			
				|  |  | +                        }"
 | 
	
		
			
				|  |  | +                      ></div>
 | 
	
		
			
				|  |  | +                      <div>{{
 | 
	
		
			
				|  |  | +                        selectData[state.dataIndex.replace('Fan', 'Fan2')] === undefined
 | 
	
		
			
				|  |  | +                          ? '无状态'
 | 
	
		
			
				|  |  | +                          : selectData[state.dataIndex.replace('Fan', 'Fan2')]
 | 
	
		
			
				|  |  | +                          ? '正常'
 | 
	
		
			
				|  |  | +                          : '异常'
 | 
	
		
			
				|  |  | +                      }}</div>
 | 
	
		
			
				|  |  | +                    </div>
 | 
	
		
			
				|  |  | +                  </div>
 | 
	
		
			
				|  |  | +                  <div v-else>
 | 
	
		
			
				|  |  | +                    <div class="signal-item" v-if="warningMonitorRowIndex == 0">
 | 
	
		
			
				|  |  | +                      <div
 | 
	
		
			
				|  |  | +                        class="signal-round"
 | 
	
		
			
				|  |  | +                        :class="{
 | 
	
		
			
				|  |  | +                          'signal-round-run': selectData[state.dataIndex],
 | 
	
		
			
				|  |  | +                          'signal-round-warning': selectData[state.dataIndex] !== undefined && !selectData[state.dataIndex],
 | 
	
		
			
				|  |  | +                          'signal-round-gry': selectData[state.dataIndex] === undefined,
 | 
	
		
			
				|  |  | +                        }"
 | 
	
		
			
				|  |  | +                      ></div>
 | 
	
		
			
				|  |  | +                      <div>{{ selectData[state.dataIndex] === undefined ? '无状态' : selectData[state.dataIndex] ? '正常' : '异常' }}</div>
 | 
	
		
			
				|  |  | +                    </div>
 | 
	
		
			
				|  |  | +                  </div>
 | 
	
		
			
				|  |  |                  </div>
 | 
	
		
			
				|  |  | -              </div>
 | 
	
		
			
				|  |  | +              </template>
 | 
	
		
			
				|  |  |              </div>
 | 
	
		
			
				|  |  |            </div>
 | 
	
		
			
				|  |  |          </div>
 | 
	
	
		
			
				|  | @@ -174,7 +221,6 @@
 | 
	
		
			
				|  |  |  </template>
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  <script setup lang="ts">
 | 
	
		
			
				|  |  | -  import '/@/design/vent/modal.less';
 | 
	
		
			
				|  |  |    import { ExclamationCircleFilled } from '@ant-design/icons-vue';
 | 
	
		
			
				|  |  |    import FanEchrats from '/@/views/vent/monitorManager/mainFanMonitor/fanEchrats.vue';
 | 
	
		
			
				|  |  |    import { onBeforeMount, computed, ComputedRef, ref, onMounted, nextTick, onUnmounted, reactive, toRaw, toRef, toRefs } from 'vue';
 | 
	
	
		
			
				|  | @@ -184,13 +230,16 @@
 | 
	
		
			
				|  |  |    import HandlerHistoryTable from '../comment/HandlerHistoryTable.vue';
 | 
	
		
			
				|  |  |    import { dataColumns, stateColumns, getData, getMonitorData } from './main.data';
 | 
	
		
			
				|  |  |    import { deviceControlApi } from '/@/api/vent/index';
 | 
	
		
			
				|  |  | -  import { mountedThree, destroy, addText, play, setModelType, resetEcharts } from './main.threejs';
 | 
	
		
			
				|  |  | +  import { mountedThree, destroy, addText, play, setModelType, playAnimate, resetEcharts } from './main.threejs';
 | 
	
		
			
				|  |  |    import LivePlayer from '@liveqing/liveplayer-v3';
 | 
	
		
			
				|  |  |    import { SvgIcon } from '/@/components/Icon';
 | 
	
		
			
				|  |  |    import { list, pathList, deviceList, testWind } from './main.api';
 | 
	
		
			
				|  |  |    import { list as baseList } from '../../deviceManager/fanTabel/fan.api';
 | 
	
		
			
				|  |  |    import { getTableList } from '/@/views/vent/monitorManager/fanLocalMonitor/fanLocal.api';
 | 
	
		
			
				|  |  |    import { message } from 'ant-design-vue';
 | 
	
		
			
				|  |  | +  import { getTableHeaderColumns } from '/@/hooks/web/useWebColumns';
 | 
	
		
			
				|  |  | +  import { log } from 'console';
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  |    const modalTypeArr = reactive({
 | 
	
		
			
				|  |  |      centerBtnArr: [
 | 
	
		
			
				|  |  |        {
 | 
	
	
		
			
				|  | @@ -218,9 +267,9 @@
 | 
	
		
			
				|  |  |    const modalTitle = ref(''); // 模态框标题显示内容,根据设备操作类型决定
 | 
	
		
			
				|  |  |    const modalType = ref(''); // 模态框内容显示类型,设备操作类型
 | 
	
		
			
				|  |  |    const frequencyVal = ref(40); //频率
 | 
	
		
			
				|  |  | -  const mainWindIsShow1 = ref('open'); // 1#风机默认启动
 | 
	
		
			
				|  |  | +  const mainWindIsShow1 = ref('stop'); // 1#风机默认启动
 | 
	
		
			
				|  |  |    const mainWindIsShow2 = ref('stop'); // 2#风机默认不启动
 | 
	
		
			
				|  |  | -  const frontMonitorIsShow = ref(true); // 存放1#风机临时状态,保存模态框取消时,还需要返回之前的值
 | 
	
		
			
				|  |  | +  const frontMonitorIsShow = ref(false); // 存放1#风机临时状态,保存模态框取消时,还需要返回之前的值
 | 
	
		
			
				|  |  |    const backMonitorIsShow = ref(false); // 存放2#风机临时状态,保存模态框取消时,还需要返回之前的值
 | 
	
		
			
				|  |  |    const passWord = ref('');
 | 
	
		
			
				|  |  |    // 默认初始是第一行 (默认n%2==0时是主机,n%2==1时是备机)
 | 
	
	
		
			
				|  | @@ -233,11 +282,16 @@
 | 
	
		
			
				|  |  |    // 监测数据
 | 
	
		
			
				|  |  |    const selectData = reactive({
 | 
	
		
			
				|  |  |      deviceID: '',
 | 
	
		
			
				|  |  | -    yc2: '-', // 静压
 | 
	
		
			
				|  |  | -    dqPa: '-', //全压
 | 
	
		
			
				|  |  | -    fanM3: '-', //电机流量
 | 
	
		
			
				|  |  | +    Fan1Negative: '-', // 静压
 | 
	
		
			
				|  |  | +    Fan2Negative: '-', // 静压
 | 
	
		
			
				|  |  | +    DataPa: '-', //全压
 | 
	
		
			
				|  |  | +    Fan1m3: '-', //电机流量
 | 
	
		
			
				|  |  | +    Fan2m3: '-', //电机流量
 | 
	
		
			
				|  |  | +    deviceType: '',
 | 
	
		
			
				|  |  |    });
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | +  const deviceType = computed(() => selectData.deviceType);
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  |    const flvURL1 = () => {
 | 
	
		
			
				|  |  |      // return `https://sf1-hscdn-tos.pstatp.com/obj/media-fe/xgplayer_doc_video/flv/xgplayer-demo-360p.flv`;
 | 
	
		
			
				|  |  |      return `/video/mainWind.mp4`;
 | 
	
	
		
			
				|  | @@ -287,7 +341,7 @@
 | 
	
		
			
				|  |  |          await getDataSource();
 | 
	
		
			
				|  |  |          Object.assign(selectData, deviceBaseList.value, dataSource.value[selectRowIndex.value]);
 | 
	
		
			
				|  |  |          addText(selectData);
 | 
	
		
			
				|  |  | -        // playAnimation(data, selectData.maxarea);
 | 
	
		
			
				|  |  | +        playAnimate(selectData);
 | 
	
		
			
				|  |  |          if (timer) {
 | 
	
		
			
				|  |  |            timer = null;
 | 
	
		
			
				|  |  |          }
 | 
	
	
		
			
				|  | @@ -332,26 +386,27 @@
 | 
	
		
			
				|  |  |        loading.value = false;
 | 
	
		
			
				|  |  |      });
 | 
	
		
			
				|  |  |      const data = dataSource.value[baseDataIndex];
 | 
	
		
			
				|  |  | -    mainWindIsShow1.value = 'open';
 | 
	
		
			
				|  |  | +    mainWindIsShow1.value = 'stop';
 | 
	
		
			
				|  |  |      mainWindIsShow2.value = 'stop';
 | 
	
		
			
				|  |  |      if (data['fanStart1'] == 1) {
 | 
	
		
			
				|  |  |        mainWindIsShow1.value = 'open';
 | 
	
		
			
				|  |  |      } else if (data['fanStart2'] == 1) {
 | 
	
		
			
				|  |  |        mainWindIsShow2.value = 'open';
 | 
	
		
			
				|  |  |      }
 | 
	
		
			
				|  |  | -    play('initiatePlay', 'front', frequencyVal.value, 'open', 'tubPositivePath');
 | 
	
		
			
				|  |  | +    // play('initiatePlay', 'front', frequencyVal.value, 'open', 'tubPositivePath');
 | 
	
		
			
				|  |  |      return;
 | 
	
		
			
				|  |  |    };
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -  const start = (flag) => {
 | 
	
		
			
				|  |  | +  const start = (paramcode) => {
 | 
	
		
			
				|  |  |      const data = {
 | 
	
		
			
				|  |  |        deviceid: selectData.deviceID,
 | 
	
		
			
				|  |  |        devicetype: selectData.deviceType,
 | 
	
		
			
				|  |  | -      paramcode: flag == 1 ? 'testStart' : '',
 | 
	
		
			
				|  |  | +      paramcode: paramcode,
 | 
	
		
			
				|  |  |      };
 | 
	
		
			
				|  |  |      deviceControlApi(data).then((res) => {
 | 
	
		
			
				|  |  |        if (res.success) {
 | 
	
		
			
				|  |  |          //
 | 
	
		
			
				|  |  | +        console.log('8888888888888888');
 | 
	
		
			
				|  |  |        }
 | 
	
		
			
				|  |  |      });
 | 
	
		
			
				|  |  |    };
 | 
	
	
		
			
				|  | @@ -384,61 +439,93 @@
 | 
	
		
			
				|  |  |      }
 | 
	
		
			
				|  |  |    };
 | 
	
		
			
				|  |  |    // 风机操作
 | 
	
		
			
				|  |  | -  const handleOk = (e: MouseEvent) => {
 | 
	
		
			
				|  |  | -    if (passWord.value !== '123456') {
 | 
	
		
			
				|  |  | -      message.warning('密码不正确,请重新输入');
 | 
	
		
			
				|  |  | -      return;
 | 
	
		
			
				|  |  | -    }
 | 
	
		
			
				|  |  | +  // const handleOk = (e: MouseEvent) => {
 | 
	
		
			
				|  |  | +  //   if (passWord.value !== '123456') {
 | 
	
		
			
				|  |  | +  //     message.warning('密码不正确,请重新输入');
 | 
	
		
			
				|  |  | +  //     return;
 | 
	
		
			
				|  |  | +  //   }
 | 
	
		
			
				|  |  | +  //   const frequency = frequencyVal.value;
 | 
	
		
			
				|  |  | +  //   if (modalType.value == 'startSmoke') {
 | 
	
		
			
				|  |  | +  //     if (mainWindIsShow1.value === 'open' && mainWindIsShow2.value === 'stop') {
 | 
	
		
			
				|  |  | +  //       frontMonitorIsShow.value = true;
 | 
	
		
			
				|  |  | +  //       backMonitorIsShow.value = false;
 | 
	
		
			
				|  |  | +  //       play('startSmoke', 'front', frequency, 'open', 'tubPositivePath');
 | 
	
		
			
				|  |  | +  //       play('startSmoke', 'back', null, 'close', '');
 | 
	
		
			
				|  |  | +  //     } else if (mainWindIsShow2.value === 'open' && mainWindIsShow1.value === 'stop') {
 | 
	
		
			
				|  |  | +  //       frontMonitorIsShow.value = false;
 | 
	
		
			
				|  |  | +  //       backMonitorIsShow.value = true;
 | 
	
		
			
				|  |  | +  //       play('startSmoke', 'back', frequency, 'open', 'tubPositivePath');
 | 
	
		
			
				|  |  | +  //       play('startSmoke', 'front', null, 'close', '');
 | 
	
		
			
				|  |  | +  //     } else if (mainWindIsShow1.value === 'stop' && mainWindIsShow2.value === 'stop') {
 | 
	
		
			
				|  |  | +  //       frontMonitorIsShow.value = false;
 | 
	
		
			
				|  |  | +  //       backMonitorIsShow.value = false;
 | 
	
		
			
				|  |  | +  //       play('startSmoke', 'back', null, 'stop', '');
 | 
	
		
			
				|  |  | +  //       play('startSmoke', 'front', null, 'close', '');
 | 
	
		
			
				|  |  | +  //     }
 | 
	
		
			
				|  |  | +  //   } else if (modalType.value == 'changeDirection') {
 | 
	
		
			
				|  |  | +  //     if (mainWindIsShow1.value == 'open') {
 | 
	
		
			
				|  |  | +  //       play('changeDirection', 'front', frequency, null, 'tubInversePath');
 | 
	
		
			
				|  |  | +  //     } else if (mainWindIsShow2.value == 'open') {
 | 
	
		
			
				|  |  | +  //       play('changeDirection', 'back', null, null, 'tubInversePath');
 | 
	
		
			
				|  |  | +  //     }
 | 
	
		
			
				|  |  | +  //   } else if (modalType.value == 'changeSmoke') {
 | 
	
		
			
				|  |  | +  //     // 不停风倒机的同时要切换当前监测数据
 | 
	
		
			
				|  |  | +  //     if (mainWindIsShow1.value == 'open') {
 | 
	
		
			
				|  |  | +  //       frontMonitorIsShow.value = false;
 | 
	
		
			
				|  |  | +  //       backMonitorIsShow.value = true;
 | 
	
		
			
				|  |  | +  //       // 切换到后面那台风,并需要设置后面风机的频率
 | 
	
		
			
				|  |  | +  //       // play('changeSmoke', 'back', dataSource.value[selectRowIndex.value + 1]['frequency'], null, 'tubInversePath');
 | 
	
		
			
				|  |  | +  //       play('changeSmoke', 'back', frequency, null, 'tubPositivePath');
 | 
	
		
			
				|  |  | +  //     } else if (mainWindIsShow2.value == 'open') {
 | 
	
		
			
				|  |  | +  //       frontMonitorIsShow.value = true;
 | 
	
		
			
				|  |  | +  //       backMonitorIsShow.value = false;
 | 
	
		
			
				|  |  | +  //       // 切换到前面那台风,并需要设置前面风机的频率
 | 
	
		
			
				|  |  | +  //       play('changeSmoke', 'front', frequency, null, 'tubPositivePath');
 | 
	
		
			
				|  |  | +  //     }
 | 
	
		
			
				|  |  | +  //   } else if (modalType.value == 'frequency') {
 | 
	
		
			
				|  |  | +  //     if (mainWindIsShow1.value == 'open') {
 | 
	
		
			
				|  |  | +  //       play('frequency', 'front', frequency);
 | 
	
		
			
				|  |  | +  //     } else if (mainWindIsShow2.value == 'open') {
 | 
	
		
			
				|  |  | +  //       play('frequency', 'back', frequency);
 | 
	
		
			
				|  |  | +  //     }
 | 
	
		
			
				|  |  | +  //   }
 | 
	
		
			
				|  |  | +  //   modalTitle.value = '';
 | 
	
		
			
				|  |  | +  //   modalIsShow.value = false;
 | 
	
		
			
				|  |  | +  // };
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -    if (selectRowIndex.value % 2 == 0) {
 | 
	
		
			
				|  |  | -      selectRowIndex.value = selectRowIndex.value + 1;
 | 
	
		
			
				|  |  | -    } else {
 | 
	
		
			
				|  |  | -      selectRowIndex.value = selectRowIndex.value - 1;
 | 
	
		
			
				|  |  | -    }
 | 
	
		
			
				|  |  | -    const frequency = frequencyVal.value;
 | 
	
		
			
				|  |  | +  const handleOk = (e: MouseEvent) => {
 | 
	
		
			
				|  |  |      if (modalType.value == 'startSmoke') {
 | 
	
		
			
				|  |  |        if (mainWindIsShow1.value === 'open' && mainWindIsShow2.value === 'stop') {
 | 
	
		
			
				|  |  |          frontMonitorIsShow.value = true;
 | 
	
		
			
				|  |  |          backMonitorIsShow.value = false;
 | 
	
		
			
				|  |  | -        play('startSmoke', 'front', frequency, 'open', 'tubPositivePath');
 | 
	
		
			
				|  |  | -        play('startSmoke', 'back', null, 'close', '');
 | 
	
		
			
				|  |  | +        start('CtrlFan1Start');
 | 
	
		
			
				|  |  |        } else if (mainWindIsShow2.value === 'open' && mainWindIsShow1.value === 'stop') {
 | 
	
		
			
				|  |  |          frontMonitorIsShow.value = false;
 | 
	
		
			
				|  |  |          backMonitorIsShow.value = true;
 | 
	
		
			
				|  |  | -        play('startSmoke', 'back', frequency, 'open', 'tubPositivePath');
 | 
	
		
			
				|  |  | -        play('startSmoke', 'front', null, 'close', '');
 | 
	
		
			
				|  |  | +        start('CtrlFan2Start');
 | 
	
		
			
				|  |  |        } else if (mainWindIsShow1.value === 'stop' && mainWindIsShow2.value === 'stop') {
 | 
	
		
			
				|  |  |          frontMonitorIsShow.value = false;
 | 
	
		
			
				|  |  |          backMonitorIsShow.value = false;
 | 
	
		
			
				|  |  | -        play('startSmoke', 'back', null, 'stop', '');
 | 
	
		
			
				|  |  | -        play('startSmoke', 'front', null, 'close', '');
 | 
	
		
			
				|  |  |        }
 | 
	
		
			
				|  |  |      } else if (modalType.value == 'changeDirection') {
 | 
	
		
			
				|  |  |        if (mainWindIsShow1.value == 'open') {
 | 
	
		
			
				|  |  | -        play('changeDirection', 'front', frequency, null, 'tubInversePath');
 | 
	
		
			
				|  |  |        } else if (mainWindIsShow2.value == 'open') {
 | 
	
		
			
				|  |  | -        play('changeDirection', 'back', null, null, 'tubInversePath');
 | 
	
		
			
				|  |  |        }
 | 
	
		
			
				|  |  |      } else if (modalType.value == 'changeSmoke') {
 | 
	
		
			
				|  |  | -      debugger;
 | 
	
		
			
				|  |  |        // 不停风倒机的同时要切换当前监测数据
 | 
	
		
			
				|  |  |        if (mainWindIsShow1.value == 'open') {
 | 
	
		
			
				|  |  |          frontMonitorIsShow.value = false;
 | 
	
		
			
				|  |  |          backMonitorIsShow.value = true;
 | 
	
		
			
				|  |  |          // 切换到后面那台风,并需要设置后面风机的频率
 | 
	
		
			
				|  |  |          // play('changeSmoke', 'back', dataSource.value[selectRowIndex.value + 1]['frequency'], null, 'tubInversePath');
 | 
	
		
			
				|  |  | -        play('changeSmoke', 'back', frequency, null, 'tubPositivePath');
 | 
	
		
			
				|  |  |        } else if (mainWindIsShow2.value == 'open') {
 | 
	
		
			
				|  |  |          frontMonitorIsShow.value = true;
 | 
	
		
			
				|  |  |          backMonitorIsShow.value = false;
 | 
	
		
			
				|  |  |          // 切换到前面那台风,并需要设置前面风机的频率
 | 
	
		
			
				|  |  | -        play('changeSmoke', 'front', frequency, null, 'tubPositivePath');
 | 
	
		
			
				|  |  |        }
 | 
	
		
			
				|  |  |      } else if (modalType.value == 'frequency') {
 | 
	
		
			
				|  |  |        if (mainWindIsShow1.value == 'open') {
 | 
	
		
			
				|  |  | -        play('frequency', 'front', frequency);
 | 
	
		
			
				|  |  |        } else if (mainWindIsShow2.value == 'open') {
 | 
	
		
			
				|  |  | -        play('frequency', 'back', frequency);
 | 
	
		
			
				|  |  |        }
 | 
	
		
			
				|  |  |      }
 | 
	
		
			
				|  |  |      modalTitle.value = '';
 | 
	
	
		
			
				|  | @@ -483,6 +570,7 @@
 | 
	
		
			
				|  |  |    });
 | 
	
		
			
				|  |  |  </script>
 | 
	
		
			
				|  |  |  <style scoped lang="less">
 | 
	
		
			
				|  |  | +  @import '/@/design/vent/modal.less';
 | 
	
		
			
				|  |  |    :deep(.ant-tabs-tabpane-active) {
 | 
	
		
			
				|  |  |      overflow: auto;
 | 
	
		
			
				|  |  |    }
 | 
	
	
		
			
				|  | @@ -619,6 +707,8 @@
 | 
	
		
			
				|  |  |            padding: 10px 0;
 | 
	
		
			
				|  |  |            min-height: 472px;
 | 
	
		
			
				|  |  |            background: linear-gradient(to right, #007bff22, #2081ff05);
 | 
	
		
			
				|  |  | +          max-height: 480px;
 | 
	
		
			
				|  |  | +          overflow-y: auto;
 | 
	
		
			
				|  |  |          }
 | 
	
		
			
				|  |  |          .container-group-l {
 | 
	
		
			
				|  |  |            .container-item {
 |