Przeglądaj źródła

fix: 修复bug :算法配置-组相机】新增页面删除主相机,没有新的主相机出现

dao qin 1 rok temu
rodzic
commit
4be76dd7a8

+ 19 - 2
src/views/cameras/preview/components/CameraConfigGroup/components/SettingCamera.vue

@@ -105,7 +105,7 @@
       selectedCameraList.value.push({
         code: e.id,
         name: e.name,
-        isMainCamera: checkMainCameraExists() ? IsMainCamera.NO : IsMainCamera.YES,
+        isMainCamera: IsMainCamera.NO,
         algoName: '',
         algoCode: '',
         isActive: false,
@@ -126,6 +126,7 @@
       if (treeNode.parent) {
         checkParentNodes(treeNode.parent);
       }
+      updateMainCamera(); 
     }
   };
 
@@ -156,19 +157,30 @@
         selectedCameraList.value.push({
           code: camera.id,
           name: camera.name.replace(/ \[\w+\] $/, ''),
-          isMainCamera: checkMainCameraExists() ? IsMainCamera.NO : IsMainCamera.YES,
+          isMainCamera: IsMainCamera.NO,
           algoName: '',
           algoCode: '',
           isActive: false,
         });
       }
     });
+    updateMainCamera(); 
   };
 
   const checkMainCameraExists = () => {
     return selectedCameraList.value.some((item) => item.isMainCamera === IsMainCamera.YES);
   };
 
+  // 更新主相机方法
+  const updateMainCamera = () => {
+    if (selectedCameraList.value.length === 0) return;
+    
+    // 如果没有主相机,设置第一个为主相机
+    if (!checkMainCameraExists()) {
+      selectedCameraList.value[0].isMainCamera = IsMainCamera.YES;
+    }
+  };
+
   const getCameraData = async () => {
     await queryCameraTreeByCondition(queryForm.value).then((res) => {
       cameraTreeTemp.value = getCameraNameCode(res);
@@ -239,6 +251,8 @@
     if (targetNode?.tempCode) {
       treeRef.value?.setChecked(targetNode.tempCode, false, false);
     }
+
+    updateMainCamera();
     selectedAlgo.value = '';
   };
 
@@ -263,6 +277,9 @@
     selectedAlgo.value = value;
   };
 
+
+
+
   const isValidate = () => {
     // 校验至少选择两个相机
     if (selectedCameraList.value.length < 2) {