From d44dd830d1e8e5f0e2dbcd10abbcce1dd5fe01ed Mon Sep 17 00:00:00 2001
From: guanqb <18720758508@163.com>
Date: Sat, 04 Feb 2023 17:33:47 +0800
Subject: [PATCH] 1.点位查询树形数据展示,2.视频巡查数据筛选
---
src/views/video/list.vue | 66 ++++++++++++++++++++++++++++++++-
1 files changed, 64 insertions(+), 2 deletions(-)
diff --git a/src/views/video/list.vue b/src/views/video/list.vue
index 1b933bc..fd3dba4 100644
--- a/src/views/video/list.vue
+++ b/src/views/video/list.vue
@@ -44,7 +44,9 @@
>{{ item.name }}</div>
</div>
- <div class="list-show">
+ <el-tree :props="props" :load="loadNode" lazy @node-click="treeClick"></el-tree>
+
+ <div class="list-show" v-if="false">
<div class="car-list">
<div class="list-box">
<el-table
@@ -153,7 +155,7 @@
<script>
import EntityDraw from "@/utils/EntityDraw.js"
import { listQuery, accurateSearch } from "@/utils/search.js"
-import { getVideoList, getDevices, getRegionList, insertRegionSaveList } from '@/api/video/index.js'
+import { getVideoList, getDevices, getRegionList, insertRegionSaveList, getTreeDevices } from '@/api/video/index.js'
import { getSearchExtensively } from '@/api/dept/index.js'
import flvjs from 'flv.js'
@@ -186,6 +188,15 @@
searchExtensivelyValue: '',
searchExtensivelyValBoxShow: false,
searchExtensivelyArray: [],
+ props: {
+ label: 'name',
+ children: 'zones',
+ isLeaf: (data, node) => {
+ if (node.level === 4) {
+ return true
+ }
+ }
+ },
}
},
@@ -574,6 +585,57 @@
this.searchExtensivelyValue = ''
this.searchExtensivelyChange()
},
+
+ async loadNode (node, resolve) {
+ if (node.level === 0) {
+ return resolve([{ name: '信州分局' }])
+ }
+ if (node.level === 1) {
+ let data = []
+ await getTreeDevices({ page: 1, count: 100, parentId: 361102, onlyCatalog: false }).then(res => {
+ data = res.data.data.list
+ })
+ return resolve(data)
+ }
+ if (node.level > 1) {
+ let data = []
+ await getTreeDevices({ page: 1, count: 100, parentId: node.data.id, onlyCatalog: false }).then(res => {
+ data = res.data.data.list
+ })
+ return resolve(data)
+ }
+ },
+
+ async treeClick (node) {
+ if (node.parent == false) {
+ console.log(node, node.name, node.id, node.basicData.channelId)
+ let flvUrl = ''
+ await this.getDevices(node.id).then(res => {
+ flvUrl = res
+ })
+ console.log(flvUrl, 111)
+ if (typeof flvUrl === 'object') {
+ this.$message.error(flvUrl.msg)
+ return
+ }
+ this.dialogVisible = true
+
+ if (flvjs.isSupported()) {
+ this.$nextTick(() => {
+ var videoElement = document.getElementById('videoElement')
+ this.flvPlayer = flvjs.createPlayer({
+ type: 'flv',
+ isLive: true,
+ hasAudio: false,
+ url: flvUrl
+ })
+ this.flvPlayer.attachMediaElement(videoElement)
+ this.flvPlayer.load()
+ this.flvPlayer.play()
+ })
+ }
+ }
+ },
},
destroyed () {
--
Gitblit v1.9.3