From d16d04d80e42802e9caaacee9617159921e18b93 Mon Sep 17 00:00:00 2001 From: web <candymxq888@outlook.com> Date: 星期六, 07 六月 2025 16:14:33 +0800 Subject: [PATCH] fix:监控添加定时器获取数据 --- src/views/screen/flow/graphic/index.vue | 97 +++++++++++++++++++++++++++++++++++++++++++++++- 1 files changed, 95 insertions(+), 2 deletions(-) diff --git a/src/views/screen/flow/graphic/index.vue b/src/views/screen/flow/graphic/index.vue index 8fce991..b8859bb 100644 --- a/src/views/screen/flow/graphic/index.vue +++ b/src/views/screen/flow/graphic/index.vue @@ -14,11 +14,17 @@ const userType = ref(getUserType()) const searchVal = ref('') const playerData = ref([]) +const showFullScreen = ref(false) +const fullIndex = ref() +let timer = null // 全屏弹窗 const handleFullScreen = (index) => { - const dom = document.getElementById(`player${index}`) - dom.requestFullscreen() + fullIndex.value = index + showFullScreen.value = true +} +const closeFullScreen = () => { + showFullScreen.value = false } // 抓拍 @@ -62,6 +68,14 @@ getFlowVideoData({pointId: id, pointName: searchVal.value}).then(async res => { playerData.value = res.data }) + + if(timer) clearTimeout(timer) + + timer = setInterval(() => { + getFlowVideoData({pointId: id, pointName: searchVal.value}).then(async res => { + playerData.value = res.data + }) + }, 10000) } @@ -161,6 +175,47 @@ <el-button style="width: 6rem" @click="handleSnap(index)">抓拍</el-button> </div> </div> + </div> + </div> + </div> + </div> + + <div class="fullDialog" v-if="showFullScreen"> + <VideoPlayer :item="playerData[fullIndex]" :autoPlay="true" /> + <div class="closeIcon" @click="closeFullScreen"><el-icon><CircleClose /></el-icon></div> + <div class="full-mask"> + <div class="mask-list"> + <div class="mask-item"> + <div class="name">水位:</div> + <div class="val"><span>{{ playerData[fullIndex].waterLevel }}</span>m</div> + </div> + <div class="mask-item"> + <div class="name">表面流速:</div> + <div class="val"><span>{{ playerData[fullIndex].flowVelocity }}</span>m/s</div> + </div> + <div class="mask-item"> + <div class="name">水面宽度:</div> + <div class="val"><span>{{ playerData[fullIndex].waterWidth }}</span>m</div> + </div> + <div class="mask-item"> + <div class="name">平均流速:</div> + <div class="val"><span>{{ playerData[fullIndex].avgVelocity }}</span>m/s</div> + </div> + <div class="mask-item"> + <div class="name">过水面积:</div> + <div class="val"><span>{{ playerData[fullIndex].waterArea }}</span>m³</div> + </div> + <div class="mask-item"> + <div class="name">雷达流速:</div> + <div class="val"><span>{{ playerData[fullIndex].radarVelocity }}</span>m/s</div> + </div> + <div class="mask-item"> + <div class="name">实时流量:</div> + <div class="val"><span>{{ playerData[fullIndex].newFlow }}</span>m³/h</div> + </div> + <div class="mask-item"> + <div class="name">起点距:</div> + <div class="val"><span>{{ playerData[fullIndex].radarDistance }}</span>m</div> </div> </div> </div> @@ -338,5 +393,43 @@ } } } + + .fullDialog{ + position: fixed; + left: 0; + top: 0; + z-index: 200; + width: 100%; + height: 100%; + background-color: #000; + .closeIcon{ + position: absolute; + right: 20px; + top: 20px; + color: #fff; + font-size: 36px; + } + .full-mask{ + position: absolute; + left: 100px; + bottom: 100px; + width: 250px; + height: 270px; + background-color: rgba(0, 0, 0, 0.5); + border-radius: 20px; + .mask-list{ + padding: 10px 20px; + .mask-item{ + display: flex; + align-items: center; + color: #fff; + padding: 5px 0; + .name{ + width: 50%; + } + } + } + } + } } </style> \ No newline at end of file -- Gitblit v1.9.3