Ver código fonte

修复切换相机后,对应的算法和预置位列表未更新问题

louhangfei 2 anos atrás
pai
commit
8472bf1eb2

+ 16 - 1
src/views/cameras/preview/CameraPreview.vue

@@ -15,7 +15,7 @@
 </template>
 
 <script lang="ts" setup>
-  import { onUnmounted } from 'vue';
+  import { onUnmounted, watch } from 'vue';
   import CameraTree from './components/CameraTree/CameraTree.vue';
   import CameraViewSetting from './components/CameraViewSetting/CameraViewSetting.vue';
   import useCameraDetailStore from './store/useCameraDetailStore';
@@ -23,12 +23,27 @@
   import usePresetListStore from './store/usePresetListStore';
   import useFenceStore from './store/useFenceStore';
   import useCameraTree from './hooks/useCameraTree';
+  import { onMounted } from 'vue';
   const cameraDetailStore = useCameraDetailStore();
   const cameraAlgoStore = useCameraAlgoStore();
   const fenceStore = useFenceStore();
   const presetListStore = usePresetListStore();
   const { data, loading } = useCameraTree();
 
+  watch(
+    () => cameraDetailStore.cameraId,
+    (cameraId) => {
+      if (cameraId) {
+        presetListStore.getPresetList(cameraId);
+        cameraAlgoStore.getCameraAlgoList(cameraId);
+      }
+    },
+  );
+
+  onMounted(() => {
+    cameraAlgoStore.getAllAlgoList();
+  });
+
   onUnmounted(() => {
     /** 离开页面要清理掉所有的store */
     cameraDetailStore.clear();

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

@@ -26,7 +26,6 @@
   </div>
 </template>
 <script lang="ts" setup>
-  import { onMounted } from 'vue';
   import useCameraAlgoStore from '../../store/useCameraAlgoStore';
   import AlgoSettingCard from './AlgoSettingCard.vue';
   import { storeToRefs } from 'pinia';
@@ -49,15 +48,10 @@
   const fenceStore = useFenceStore();
   const presetStore = usePresetListStore();
 
-  const { getCameraAlgoList, getAllAlgoList, getAlgoDetail } = cameraAlgoStore;
+  const { getCameraAlgoList, getAlgoDetail } = cameraAlgoStore;
   const { cameraAlgoList, selectedAlgoId, selectedAlgoDetail } = storeToRefs(cameraAlgoStore);
   const cameraDetailStore = useCameraDetailStore();
 
-  onMounted(() => {
-    getCameraAlgoList(cameraDetailStore.cameraId);
-    getAllAlgoList();
-  });
-
   const handleSelectAlgo = (algoId: number) => {
     if (algoId !== selectedAlgoId.value) {
       selectedAlgoId.value = algoId;

+ 0 - 8
src/views/cameras/preview/components/CameraViewSetting/CameraViewSetting.vue

@@ -51,7 +51,6 @@
   import { ViewType } from '../ViewWindowSetting/types';
   import useFenceStore from '../../store/useFenceStore';
   import AddPresetModal from '../AddPresetModal/AddPresetModal.vue';
-  import { onMounted } from 'vue';
   import usePresetListStore from '../../store/usePresetListStore';
   import useCameraDetailStore from '../../store/useCameraDetailStore';
   import useCameraAlgoStore from '../../store/useCameraAlgoStore';
@@ -173,13 +172,6 @@
   const handleAddPreset = () => {
     addPresetModalVisible.value = true;
   };
-
-  onMounted(() => {
-    const cameraId = cameraDetailStore.cameraId;
-    if (cameraId) {
-      presetStore.getPresetList(cameraId);
-    }
-  });
 </script>
 <style scoped>
   .cameraViewSettingWrapper {

+ 0 - 10
src/views/cameras/preview/hooks/useFenceDetail.ts

@@ -1,10 +0,0 @@
-import useFenceStore from '../store/useFenceStore';
-
-// import
-const useFenceDetail = () => {
-  const fenceStore = useFenceStore();
-
-  const getFenceDetail = () => {
-    fenceStore.getFence({ algoId: '', cameraId: '', presetToken: '' });
-  };
-};