Преглед на файлове

修复视频、地图联动bug

Hwf преди 1 месец
родител
ревизия
14fa6c270d

+ 8 - 1
src/api/videoMonitor/index.ts

@@ -142,7 +142,6 @@ export function setVideoTag(data) {
   });
 }
 
-
 // 视频来源列表
 export function getVideoFromList() {
   return request({
@@ -150,3 +149,11 @@ export function getVideoFromList() {
     method: 'get'
   });
 }
+
+// 视频打标签前查询标签(无全量视频标签接口)
+export function getVideoResourceTag() {
+  return request({
+    url: '/api/videoResource/tag/notAll/list',
+    method: 'get'
+  });
+}

+ 1 - 0
src/components/TimeAxis/index.vue

@@ -539,6 +539,7 @@ const clearObj = () => {
 };
 
 const clearData = () => {
+  timeAxisState.playing = false;
   timeAxisState.data = [];
   clearObj();
 };

+ 2 - 2
src/components/VideoTagEdit/index.vue

@@ -20,7 +20,7 @@
 
 <script lang="ts" setup name="VideoTagEdit">
 import { getDicts } from '@/api/system/dict/data';
-import { setVideoTag } from '@/api/videoMonitor';
+import { setVideoTag, getVideoResourceTag } from '@/api/videoMonitor';
 
 interface Tag {
   dict_label: string;
@@ -76,7 +76,7 @@ const handleAdd = () => {
 };
 
 const getTagList = () => {
-  getDicts('video_type').then((res) => {
+  getVideoResourceTag('video_type').then((res) => {
     let data = [];
     let data2 = [];
     res.data.forEach((item) => {

+ 10 - 3
src/store/modules/map.ts

@@ -95,10 +95,15 @@ export const useMapStore = defineStore('map', () => {
                 }
               }
               updateMenu.value = [selectItem];
-              menuState.value.menuData = [selectItem];
-              menuState.value.activeIndex = menuState.value.menuData.findIndex((item) => {
-                return item.name === selectItem.name;
+              let selecData = [];
+              menuState.value.menuData.forEach((item) => {
+                if (!item.isVideo || (item.isVideo && selectItem.component === item.component)) {
+                  selecData.push(item);
+                }
               });
+              selecData.push(selectItem);
+              menuState.value.menuData = selecData;
+              menuState.value.activeIndex = selecData.length - 1;
               menuState.value.showMenu = true;
               pointParams.value.dict_value = [dictValue];
               if (shouldBreak) {
@@ -183,11 +188,13 @@ export const useMapStore = defineStore('map', () => {
       dict_value: [],
       option: ''
     };
+    pointType.value = [];
     menuState.value = {
       showMenu: false,
       activeIndex: 0,
       menuData: []
     };
+    updateMenu.value = [];
     initMenuData();
   };
   return {

+ 9 - 1
src/views/globalMap/RightMenu/index.vue

@@ -98,7 +98,15 @@
         <RescueTeam v-if="menuState.showMenu && menuState.menuData[menuState.activeIndex]?.name === '救援队伍'" />
         <WindMonitor v-if="menuState.showMenu && menuState.menuData[menuState.activeIndex]?.name === '大风监测'" />
         <!--图像资源下视频通用组件-->
-        <CommonVideo v-if="!!menuState.menuData[menuState.activeIndex]?.isVideo" :title="menuState.menuData[menuState.activeIndex]?.name" />
+        <CommonVideo
+          v-if="
+              !!menuState.menuData[menuState.activeIndex]?.isVideo &&
+              !['路网视频', '防灾救援', '台风视频', '森防视频', '交通局视频', '江湖河库', '防溺水'].includes(
+                menuState.menuData[menuState.activeIndex]?.name
+              )
+            "
+          :title="menuState.menuData[menuState.activeIndex]?.name"
+        />
       </div>
     </div>
   </div>

+ 1 - 1
src/views/globalMap/index.vue

@@ -245,7 +245,7 @@ const handleHideCommunicationSupport = () => {
 const findChecked = (dataList, name) => {
   let index = 0;
   dataList.forEach((item) => {
-    if (item.name !== name && item.path === '2' && !!item.checked) {
+    if (item.name !== name && !item.isVideo && item.path === '2' && !!item.checked) {
       index++;
     }
     if (item.children && item.children.length > 0) {