diff --git a/src/views/bigScreen/index.vue b/src/views/bigScreen/index.vue index 123906c..451bc7f 100644 --- a/src/views/bigScreen/index.vue +++ b/src/views/bigScreen/index.vue @@ -66,21 +66,22 @@ showEchart.value = !showEchart.value } -const secretLevelUserName = ref('') +const secretLevelUserName = ref('内部') const systemType = ref('') onMounted(() => { systemType.value = window.localStorage.getItem('systemType') - getDictByCode('secretUserLevel').then((response) => { - if (response.code === 200) { - if (Array.isArray(response.data) && response.data.length) { - const level = window.sessionStorage.getItem('secretUserLevel') - const index = response.data.findIndex(item => item.value === level) - if (index !== -1 && systemType.value === 'gm') { - secretLevelUserName.value = response.data[index].name - } - } - } - }) + // 根据用户的m级标m + // getDictByCode('secretUserLevel').then((response) => { + // if (response.code === 200) { + // if (Array.isArray(response.data) && response.data.length) { + // const level = window.sessionStorage.getItem('secretUserLevel') + // const index = response.data.findIndex(item => item.value === level) + // if (index !== -1 && systemType.value === 'gm') { + // secretLevelUserName.value = response.data[index].name + // } + // } + // } + // }) }) diff --git a/src/views/bigScreen/index.vue b/src/views/bigScreen/index.vue index 123906c..451bc7f 100644 --- a/src/views/bigScreen/index.vue +++ b/src/views/bigScreen/index.vue @@ -66,21 +66,22 @@ showEchart.value = !showEchart.value } -const secretLevelUserName = ref('') +const secretLevelUserName = ref('内部') const systemType = ref('') onMounted(() => { systemType.value = window.localStorage.getItem('systemType') - getDictByCode('secretUserLevel').then((response) => { - if (response.code === 200) { - if (Array.isArray(response.data) && response.data.length) { - const level = window.sessionStorage.getItem('secretUserLevel') - const index = response.data.findIndex(item => item.value === level) - if (index !== -1 && systemType.value === 'gm') { - secretLevelUserName.value = response.data[index].name - } - } - } - }) + // 根据用户的m级标m + // getDictByCode('secretUserLevel').then((response) => { + // if (response.code === 200) { + // if (Array.isArray(response.data) && response.data.length) { + // const level = window.sessionStorage.getItem('secretUserLevel') + // const index = response.data.findIndex(item => item.value === level) + // if (index !== -1 && systemType.value === 'gm') { + // secretLevelUserName.value = response.data[index].name + // } + // } + // } + // }) }) diff --git a/src/views/monitor/realTime/index-new-gm-plugin.vue b/src/views/monitor/realTime/index-new-gm-plugin.vue index 760f95c..2c6c5ca 100644 --- a/src/views/monitor/realTime/index-new-gm-plugin.vue +++ b/src/views/monitor/realTime/index-new-gm-plugin.vue @@ -149,7 +149,7 @@ } } -function handleNodeClick(data: any, node: any, self: any) { +function handleNodeClick(data: any, node: any, self: any, isDrag = false) { console.log('获取设备信息', data) if (data.device.deviceStatusName === '离线') { ElMessage.warning(`设备 ${data.device.monitorName} 离线`) @@ -157,8 +157,8 @@ } const now = new Date().getTime() - if (now - treeClickCount < 300) { // 双击事件的判断,300毫秒内重复点击 - if (data.children.length !== 0) { // 点击父亲 + if (now - treeClickCount < 300 || isDrag) { // 双击事件的判断,300毫秒内重复点击 + if (data && data.children && data.children?.length !== 0) { // 点击父亲 return } // 不播放重复的视频 @@ -207,7 +207,6 @@ points.value = [] drawPoints.value = [] } - // 获取视频流接口 fetchStream(data.device.cameraIndexCode).then(async (res: any) => { leafLoading.value = false @@ -244,7 +243,9 @@ } }) } - treeClickCount = now + if (!isDrag) { + treeClickCount = now + } } const testurl = { @@ -376,7 +377,30 @@ return data // 返回修改后的原始数据 } +// ----------------------------------------------拖拽-------------------------------------------------- +// 处理拖拽开始事件 +const handleDragStart = (event: DragEvent, data: any) => { + if (data.children.length === 0) { // 仅允许拖拽叶子节点 + event.dataTransfer?.setData('text/plain', JSON.stringify(data.device)) // 存储设备数据 + } +} +// 处理拖拽经过事件 +const handleDragOver = (event: DragEvent) => { + event.preventDefault() // 允许在此区域放置 +} +// 处理拖拽结束事件 +const handleDrop = (event: DragEvent) => { + event.preventDefault() + const deviceData = JSON.parse(event.dataTransfer?.getData('text/plain') as string) + if (deviceData) { + handleNodeClick({ device: { ...deviceData } }, null, null, true) + } + else { + ElMessage.warning('请拖拽摄像头') + } +} +// ---------------------------------------------------------------------------------------------------- onMounted(() => { videoTree().then((response) => { if (response.code === 200) { @@ -415,7 +439,11 @@ @node-click="handleNodeClick" >