|
@@ -36,9 +36,18 @@
|
|
|
|
|
|
<!-- 表格start -->
|
|
|
|
|
|
- <view v-if="loadingStatus" class="loadingMask">Loading...</view>
|
|
|
-
|
|
|
- <el-table :data="deviceData" border stripe :header-cell-style="headClass">
|
|
|
+ <!-- <view v-if="loadingStatus" class="loadingMask">Loading...</view> -->
|
|
|
+ <div></div>
|
|
|
+
|
|
|
+ <el-table
|
|
|
+ :data="deviceData"
|
|
|
+ border
|
|
|
+ stripe
|
|
|
+ :header-cell-style="headClass"
|
|
|
+ v-loading="loadingStatus"
|
|
|
+ element-loading-text="摄像头打开中...."
|
|
|
+ element-loading-background="rgba(255, 255, 255, 0.6)"
|
|
|
+ >
|
|
|
<el-table-column prop="status" align="center" label="状态" width="50">
|
|
|
<template #default="scope">
|
|
|
<el-avatar
|
|
@@ -126,7 +135,10 @@
|
|
|
|
|
|
<el-table-column fixed="right" label="视频画面" width="100">
|
|
|
<template #default="scope">
|
|
|
- <a @click="open_video(scope.row)">查看</a>
|
|
|
+ <a v-if="scope.row.ALIVEVALUE == 3" @click="open_video(scope.row)">
|
|
|
+ 查看
|
|
|
+ </a>
|
|
|
+ <span v-else style="color: #aaa">--</span>
|
|
|
</template>
|
|
|
</el-table-column>
|
|
|
</el-table>
|
|
@@ -162,6 +174,7 @@
|
|
|
:itemInfo="tableItem"
|
|
|
@closeDialog="closeDialog"
|
|
|
:flag="showDialog2"
|
|
|
+ :deviceCode="deviceCode"
|
|
|
></check-video>
|
|
|
<!--视频弹框组件结束-----------------------end-->
|
|
|
|
|
@@ -171,7 +184,14 @@
|
|
|
|
|
|
<script>
|
|
|
import { useStore } from 'vuex'
|
|
|
-import { defineComponent, ref, reactive, onMounted, watch } from 'vue'
|
|
|
+import {
|
|
|
+ defineComponent,
|
|
|
+ ref,
|
|
|
+ reactive,
|
|
|
+ onMounted,
|
|
|
+ watch,
|
|
|
+ onUnmounted,
|
|
|
+} from 'vue'
|
|
|
import DialogComponent from './dialogComponent'
|
|
|
import checkVideo from './checkVideo'
|
|
|
import * as api from '@/api/siteManage/camera.js'
|
|
@@ -210,6 +230,8 @@ export default defineComponent({
|
|
|
const reCount = ref(0)
|
|
|
const count = ref(0)
|
|
|
const loadingStatus = ref(false)
|
|
|
+ const timer = ref('')
|
|
|
+ const deviceCode=ref('')
|
|
|
|
|
|
// 表头样式设置
|
|
|
const headClass = () => {
|
|
@@ -298,7 +320,9 @@ export default defineComponent({
|
|
|
// 关闭操作
|
|
|
const closeDialog = () => {
|
|
|
;(showDialog.value = false), (showDialog2.value = false)
|
|
|
+ count.value=0
|
|
|
videoMonitoringDeviceList()
|
|
|
+ chk_video()
|
|
|
}
|
|
|
|
|
|
//删除 是否删除 ---- 是
|
|
@@ -385,6 +409,7 @@ export default defineComponent({
|
|
|
.then((response) => {
|
|
|
console.log('response cgi')
|
|
|
console.log(response.data.RESULT.LIST)
|
|
|
+ console.log(openId.value)
|
|
|
onLineVideoList.value = response.data.RESULT.LIST
|
|
|
|
|
|
if (openId.value.length > 0) {
|
|
@@ -392,16 +417,20 @@ export default defineComponent({
|
|
|
console.log('doododododododo')
|
|
|
for (var n = 0; n < onLineVideoList.value.length; n++) {
|
|
|
if (openId.value == onLineVideoList.value[n].DEVICE) {
|
|
|
-
|
|
|
+ console.log('再次打开摄像头')
|
|
|
+ console.log(openId.value)
|
|
|
+ console.log(onLineVideoList.value[n].DEVICE)
|
|
|
+ console.log(onLineVideoList.value[n].ONAIR)
|
|
|
reCount.value++
|
|
|
- console.log( reCount.value)
|
|
|
+ console.log(reCount.value)
|
|
|
if (onLineVideoList.value[n].ONAIR) {
|
|
|
- if (count.value > 2) {
|
|
|
+ if (++count.value > 2) {
|
|
|
// var mask = document.getElementById('videomask');
|
|
|
// if (mask != undefined) {
|
|
|
// removeDIV('videomask');
|
|
|
// }
|
|
|
loadingStatus.value = false
|
|
|
+
|
|
|
alert('可以打开视频详情并传参')
|
|
|
// uni.navigateTo({
|
|
|
// url: '/pages/videoDetail/videoDetail?deviceType=2&companyCode=' +
|
|
@@ -409,22 +438,42 @@ export default defineComponent({
|
|
|
// onLineVideoList.value[n].DEVICE +
|
|
|
// '',
|
|
|
// });
|
|
|
+
|
|
|
+ tableItem.value = {
|
|
|
+ id: '',
|
|
|
+ stationName: '',
|
|
|
+ watchName: '',
|
|
|
+ watchCode: '',
|
|
|
+ siteList: [],
|
|
|
+ done: '',
|
|
|
+ guaZai: '',
|
|
|
+ checked: true,
|
|
|
+ resource: '',
|
|
|
+ }
|
|
|
+ dialogTitle.value = '查看视频'
|
|
|
+ showDialog2.value = true;
|
|
|
} else {
|
|
|
- setTimeout(chk_video(), 5000)
|
|
|
+ store.state.siteCameraTimer = setTimeout(chk_video, 5000)
|
|
|
}
|
|
|
} else {
|
|
|
- if (reCount.value > 7) {
|
|
|
+ if (reCount.value > 20) {
|
|
|
// var mask = document.getElementById('videomask');
|
|
|
// if (mask != undefined) {
|
|
|
// removeDIV('videomask');
|
|
|
// }
|
|
|
loadingStatus.value = false
|
|
|
- // alert('远程摄像头链接超时,请稍后再试')
|
|
|
+ alert('远程摄像头链接超时,请稍后再试')
|
|
|
+ // ElMessage({
|
|
|
+ // duration: 5000,
|
|
|
+ // showClose: true,
|
|
|
+ // message: '远程摄像头链接超时,请稍后再试.',
|
|
|
+ // type: 'warning',
|
|
|
+ // })
|
|
|
|
|
|
// $("#myPopup").popup("open");
|
|
|
break
|
|
|
}
|
|
|
- setTimeout(chk_video(), 5000)
|
|
|
+ store.state.siteCameraTimer = setTimeout(chk_video, 5000)
|
|
|
}
|
|
|
}
|
|
|
}
|
|
@@ -452,25 +501,20 @@ export default defineComponent({
|
|
|
|
|
|
// 查看视频
|
|
|
const open_video = (item) => {
|
|
|
- console.log(item)
|
|
|
- // start
|
|
|
-
|
|
|
+ deviceCode.value=item.deviceCode
|
|
|
+ // alert(deviceCode.value)
|
|
|
+ // console.log(item)
|
|
|
if (openId.value != item.deviceCode) {
|
|
|
openId.value = item.deviceCode
|
|
|
}
|
|
|
- console.log(onLineVideoList.value)
|
|
|
+ // console.log(onLineVideoList.value)
|
|
|
for (var n = 0; n < onLineVideoList.value.length; n++) {
|
|
|
-
|
|
|
if (onLineVideoList.value[n].DEVICE == openId.value) {
|
|
|
+ console.log('第一次打开时设备及其状态')
|
|
|
+ console.log(onLineVideoList.value[n].DEVICE)
|
|
|
+ console.log(openId.value)
|
|
|
+ console.log(onLineVideoList.value[n].ONAIR)
|
|
|
if (onLineVideoList.value[n].ONAIR) {
|
|
|
- // uni.navigateTo({
|
|
|
- // url:
|
|
|
- // '/pages/videoDetail/videoDetail?deviceType=2&companyCode=' +
|
|
|
- // this.companyCode +
|
|
|
- // '&deviceCode=' +
|
|
|
- // item.DEVICE +
|
|
|
- // '',
|
|
|
- // })
|
|
|
alert('打开详情页并传参')
|
|
|
tableItem.value = {
|
|
|
id: '',
|
|
@@ -492,9 +536,6 @@ export default defineComponent({
|
|
|
count.value = 0
|
|
|
reCount.value = 0
|
|
|
loadingStatus.value = true
|
|
|
- // alert('一些loading操作')
|
|
|
- alert('操作打开')
|
|
|
-
|
|
|
axios
|
|
|
.post(
|
|
|
'https://fire.usky.cn:8443/YtIoT/cgi-bin/demo2.cgi',
|
|
@@ -515,11 +556,8 @@ export default defineComponent({
|
|
|
)
|
|
|
.then((response) => {
|
|
|
response
|
|
|
-
|
|
|
- setTimeout(function () {
|
|
|
- alert('再次打开摄像头')
|
|
|
+ store.state.siteCameraTimer = window.setTimeout(function () {
|
|
|
chk_video()
|
|
|
- // console.log('打印')
|
|
|
}, 5000)
|
|
|
})
|
|
|
|
|
@@ -538,12 +576,14 @@ export default defineComponent({
|
|
|
(newVal) => {
|
|
|
console.log('newVal')
|
|
|
console.log(newVal)
|
|
|
+
|
|
|
labelCom.value = store.state.siteManageLabelCom
|
|
|
if (props.activeName == 'five') {
|
|
|
+ // window.clearTimeOut() //关闭定时器
|
|
|
+ reCount.value = 0
|
|
|
+ openId.value = ''
|
|
|
+ loadingStatus.value = false
|
|
|
videoMonitoringDeviceList()
|
|
|
- // setTimeout(function () {
|
|
|
-
|
|
|
- // }, 100)
|
|
|
chk_video()
|
|
|
}
|
|
|
}
|
|
@@ -552,16 +592,23 @@ export default defineComponent({
|
|
|
() => props.activeName,
|
|
|
(newVal) => {
|
|
|
if (newVal == 'five') {
|
|
|
+ // clearTimeOut(timer.value)
|
|
|
+ // window.clearTimeOut() //关闭定时器// alert('关闭定时器?')
|
|
|
+ reCount.value = 0
|
|
|
+ openId.value = ''
|
|
|
+ loadingStatus.value = false
|
|
|
+
|
|
|
videoMonitoringDeviceList()
|
|
|
- // setTimeout(function () {
|
|
|
-
|
|
|
- // }, 100)
|
|
|
chk_video()
|
|
|
}
|
|
|
}
|
|
|
)
|
|
|
|
|
|
onMounted(() => {})
|
|
|
+ onUnmounted(() => {
|
|
|
+ // alert('摧毁')
|
|
|
+ // clearTimeOut(timer.value)
|
|
|
+ })
|
|
|
|
|
|
return {
|
|
|
deviceData,
|
|
@@ -608,6 +655,8 @@ export default defineComponent({
|
|
|
count,
|
|
|
loadingStatus,
|
|
|
open_video,
|
|
|
+ timer,
|
|
|
+ deviceCode
|
|
|
}
|
|
|
},
|
|
|
})
|