Quellcode durchsuchen

fix: 修复相机设置页面请求两次接口queryCameraListByCondition问题

louhangfei vor 1 Jahr
Ursprung
Commit
9daedce86a

+ 2 - 23
src/views/cameras/preview/CameraPreview.vue

@@ -6,7 +6,7 @@
       </div>
       <div class="cameraSettingWrapper">
         <div class="cameraView">
-          <CameraViewSetting v-if="cameraDetailStore.cameraId" @change-tree-render="changeRender" />
+          <CameraViewSetting v-if="cameraDetailStore.cameraId" />
           <div class="cameraPlaceholder" v-else>请选择左侧相机</div>
         </div>
       </div>
@@ -24,30 +24,13 @@
   import usePresetListStore from './store/usePresetListStore';
   import useFenceStore from './store/useFenceStore';
   import { IsPtz } from '@/api/camera/camera-overview';
-  import { CameraTree, getCameraTree, getCameraDeatilById } from '@/api/camera/camera-preview';
+  import { getCameraDeatilById } from '@/api/camera/camera-preview';
 
   const cameraDetailStore = useCameraDetailStore();
   const { isShowFence } = storeToRefs(cameraDetailStore);
   const cameraAlgoStore = useCameraAlgoStore();
   const fenceStore = useFenceStore();
   const presetListStore = usePresetListStore();
-  const cameraTree = ref<CameraTree[]>([]);
-
-  function updateRender(data, targetData, targetVal) {
-    for (let i = 0; i < data.length; i++) {
-      const node = data[i];
-      if (node.id === targetData) {
-        node.render = targetVal;
-      }
-      if (node.children && node.children.length > 0) {
-        updateRender(node.children, targetData, targetVal);
-      }
-    }
-  }
-
-  const changeRender = (render: string | number) => {
-    updateRender(cameraTree.value, cameraDetailStore.cameraId, render);
-  };
 
   watch(
     () => cameraDetailStore.cameraId,
@@ -66,10 +49,6 @@
 
         cameraAlgoStore.getCameraAlgoList(cameraId);
         cameraAlgoStore.selectedAlgoId = null;
-      } else {
-        /** 没有相机的时候也要请求相机树 */
-        const tree = await getCameraTree();
-        cameraTree.value = tree as unknown as CameraTree[];
       }
     },
     {

+ 1 - 5
src/views/cameras/preview/components/CameraViewSetting/CameraViewSetting.vue

@@ -7,7 +7,7 @@
           <FullscreenExitOutlined role="full" @click="enterFullscreen" />
         </el-icon>
       </el-tooltip> -->
-      <RenderSwitch @change-camera-render="changeRender" />
+      <RenderSwitch />
       <FenceAppSetting />
     </div>
     <div
@@ -193,10 +193,6 @@
   //   console.log('viewType', t);
   // };
 
-  const changeRender = (render: string | number) => {
-    emits('changeTreeRender', render);
-  };
-
   const drawable = computed(() => {
     if (!presetStore.currentPresetToken) return false;
     if (!cameraAlgoStore.selectedAlgoId) return false;

+ 1 - 7
src/views/cameras/preview/components/RenderSwitch/RenderSwitch.vue

@@ -25,10 +25,6 @@
     demo = 'demo',
   }
 
-  const emits = defineEmits<{
-    (e: 'changeCameraRender', render: number | string): unknown;
-  }>();
-
   const selectedIds = ref<number | string>('');
 
   const changeRender = (val) => {
@@ -37,9 +33,7 @@
       render: trueRender,
       cameraId: cameraDetailStore.cameraId,
     };
-    renderCamera(renderData).then(() => {
-      emits('changeCameraRender', trueRender);
-    });
+    renderCamera(renderData);
   };
 
   const changeRenderWatch = () => {

+ 1 - 0
src/views/cameras/preview/store/useCameraStatus.ts

@@ -9,6 +9,7 @@ export const useCameraStatus = () => {
   let interval;
 
   const getState = (codeList, callback) => {
+    if (codeList.length === 0) return;
     getCameraState({ cameraCodeList: codeList }).then((res) => {
       const filterData = res.filter((item) => item.status === 1);
       noNetworkingNum.value = filterData.length;

+ 12 - 13
src/views/datamanager/playback/Playback.vue

@@ -86,12 +86,15 @@
     async (cameraId) => {
       fenceStore.clear();
       if (cameraId) {
-        const presetList = await presetListStore.getPresetList(cameraId);
-
         if (cameraTree.value.length === 0) {
           /** 如果当前树为空,那么切换相机的时候,要重新请求树结构 */
           const tree = await getCameraTreeOldVersion();
           cameraTree.value = tree as unknown as CameraTree[];
+          codeShowList.value = getCameraList(tree);
+          closeInterval();
+          openInterval(codeShowList.value, (targetData) => {
+            updateNetworkingState(cameraTree.value, targetData);
+          });
         }
 
         const detail: CameraDetailServer = getCameraDetail(
@@ -100,10 +103,6 @@
         ) as unknown as CameraDetailServer;
         if (detail) {
           cameraDetailStore.setDetail(detail);
-          // 如果isPtz为null,或者为0,都按照枪击相机
-          if (detail?.isPtz === IsPtz.disabled || !detail?.isPtz) {
-            presetListStore.currentPresetToken = presetList?.[0].token;
-          }
         }
         // cameraAlgoStore.getCameraAlgoList(cameraId);
         // cameraAlgoStore.selectedAlgoId = null;
@@ -123,13 +122,13 @@
   );
 
   onMounted(() => {
-    getCameraTreeOldVersion().then((res) => {
-      cameraTree.value = res;
-      codeShowList.value = getCameraList(res);
-      openInterval(codeShowList.value, (targetData) => {
-        updateNetworkingState(cameraTree.value, targetData);
-      });
-    });
+    // getCameraTreeOldVersion().then((res) => {
+    //   cameraTree.value = res;
+    //   codeShowList.value = getCameraList(res);
+    //   openInterval(codeShowList.value, (targetData) => {
+    //     updateNetworkingState(cameraTree.value, targetData);
+    //   });
+    // });
   });
 
   onBeforeUnmount(() => {