Prechádzať zdrojové kódy

fix: 相机添加bug-fix

bxy 1 rok pred
rodič
commit
9d699aef4a

+ 8 - 5
src/views/cameras/overview/components/AddCameraByIP.vue

@@ -84,7 +84,7 @@
         </el-form-item>
         <el-form-item label="所属工位:" prop="workspaceIdStr">
           <el-tree-select
-            v-model="workspaceIdStr"
+            v-model="cameraIPData.workspaceIdStr"
             :data="workspaceInfo"
             :render-after-expand="false"
             :default-expand-all="props.formData ? true : false"
@@ -147,9 +147,9 @@
   const { workspaceInfo, getWorkspaceFromTreeInfo, getWorkspaceIdFromTreeNode } = treeWorkspaceInfo;
 
   const IPFormRef = ref();
-  const cameraIPData = ref<CameraDetailServer>({} as CameraDetailServer);
 
-  const workspaceIdStr = ref(''); // 树节点value
+  type CameraDetailForm = CameraDetailServer & { workspaceIdStr?: string };
+  const cameraIPData = ref<CameraDetailForm>({} as CameraDetailForm);
 
   const rules = {
     name: [{ required: true, message: '请输入名称', trigger: 'blur' }],
@@ -176,6 +176,10 @@
     IPFormRef.value.validate((valid) => {
       if (valid) {
         const copyData = cloneDeep(cameraIPData.value);
+        if (cameraIPData.value.workspaceIdStr)
+          copyData.workspaceId = Number(
+            getWorkspaceIdFromTreeNode(cameraIPData.value.workspaceIdStr),
+          );
         delete (copyData as any).principal;
         copyData.sourceType = 'IP';
         emits('confirm-execute', copyData);
@@ -185,7 +189,6 @@
 
   const handleTreeSelect = (node) => {
     if (node.disabled) return;
-    cameraIPData.value.workspaceId = Number(getWorkspaceIdFromTreeNode(node.value));
     cameraIPData.value.principal = node.principalName ? node.principalName : '该工位暂无负责人';
     cameraIPData.value.workshopId = node.workshopId;
   };
@@ -194,7 +197,7 @@
     getWorkspaceFromTreeInfo();
     if (props.formData) {
       cameraIPData.value = props.formData;
-      workspaceIdStr.value = `workspace-${props.formData.workspaceId}`;
+      cameraIPData.value.workspaceIdStr = `workspace-${props.formData.workspaceId}`;
     }
   });
 </script>

+ 8 - 5
src/views/cameras/overview/components/AddCameraByNVR.vue

@@ -63,7 +63,7 @@
         </el-form-item>
         <el-form-item label="所属工位:" prop="workspaceIdStr">
           <el-tree-select
-            v-model="workspaceIdStr"
+            v-model="cameraNVRData.workspaceIdStr"
             :data="workspaceInfo"
             :render-after-expand="false"
             :default-expand-all="props.formData ? true : false"
@@ -146,9 +146,9 @@
   const { workspaceInfo, getWorkspaceFromTreeInfo, getWorkspaceIdFromTreeNode } = treeWorkspaceInfo;
 
   const NVRFormRef = ref();
-  const cameraNVRData = ref<CameraDetailServer>({} as CameraDetailServer);
 
-  const workspaceIdStr = ref(''); // 树节点value
+  type CameraDetailForm = CameraDetailServer & { workspaceIdStr?: string };
+  const cameraNVRData = ref<CameraDetailForm>({} as CameraDetailForm);
 
   const rules = {
     nvrId: [{ required: true, message: '请选择NVR设备', trigger: 'blur' }],
@@ -173,6 +173,10 @@
     NVRFormRef.value.validate((valid) => {
       if (valid) {
         const copyData = cloneDeep(cameraNVRData.value);
+        if (cameraNVRData.value.workspaceIdStr)
+          copyData.workspaceId = Number(
+            getWorkspaceIdFromTreeNode(cameraNVRData.value.workspaceIdStr),
+          );
         delete (copyData as any).principal;
         copyData.sourceType = 'NVR';
         emits('confirm-execute', copyData);
@@ -182,7 +186,6 @@
 
   const handleTreeSelect = (node) => {
     if (node.disabled) return;
-    cameraNVRData.value.workspaceId = Number(getWorkspaceIdFromTreeNode(node.value));
     cameraNVRData.value.principal = node.principalName ? node.principalName : '该工位暂无负责人';
     cameraNVRData.value.workshopId = node.workshopId;
   };
@@ -192,7 +195,7 @@
     getWorkspaceFromTreeInfo();
     if (props.formData) {
       cameraNVRData.value = props.formData;
-      workspaceIdStr.value = `workspace-${props.formData.workspaceId}`;
+      cameraNVRData.value.workspaceIdStr = `workspace-${props.formData.workspaceId}`;
     }
   });
 </script>

+ 8 - 5
src/views/cameras/overview/components/AddCameraBySRS.vue

@@ -56,7 +56,7 @@
         </el-form-item>
         <el-form-item label="所属工位:" prop="workspaceIdStr">
           <el-tree-select
-            v-model="workspaceIdStr"
+            v-model="CameraSRSData.workspaceIdStr"
             :data="workspaceInfo"
             :render-after-expand="false"
             :default-expand-all="props.formData ? true : false"
@@ -115,9 +115,9 @@
   const { workspaceInfo, getWorkspaceFromTreeInfo, getWorkspaceIdFromTreeNode } = treeWorkspaceInfo;
 
   const IPFormRef = ref();
-  const CameraSRSData = ref<CameraDetailServer>({} as CameraDetailServer);
 
-  const workspaceIdStr = ref(''); // 树节点value
+  type CameraDetailForm = CameraDetailServer & { workspaceIdStr?: string };
+  const CameraSRSData = ref<CameraDetailForm>({} as CameraDetailForm);
 
   const rules = {
     name: [{ required: true, message: '请输入名称', trigger: 'blur' }],
@@ -140,6 +140,10 @@
     IPFormRef.value.validate((valid) => {
       if (valid) {
         const copyData = cloneDeep(CameraSRSData.value);
+        if (CameraSRSData.value.workspaceIdStr)
+          copyData.workspaceId = Number(
+            getWorkspaceIdFromTreeNode(CameraSRSData.value.workspaceIdStr),
+          );
         delete (copyData as any).principal;
         copyData.sourceType = 'RTSP';
         emits('confirm-execute', copyData);
@@ -149,7 +153,6 @@
 
   const handleTreeSelect = (node) => {
     if (node.disabled) return;
-    CameraSRSData.value.workspaceId = Number(getWorkspaceIdFromTreeNode(node.value));
     CameraSRSData.value.principal = node.principalName ? node.principalName : '该工位暂无负责人';
     CameraSRSData.value.workshopId = node.workshopId;
   };
@@ -158,7 +161,7 @@
     getWorkspaceFromTreeInfo();
     if (props.formData) {
       CameraSRSData.value = props.formData;
-      workspaceIdStr.value = `workspace-${props.formData.workspaceId}`;
+      CameraSRSData.value.workspaceIdStr = `workspace-${props.formData.workspaceId}`;
     }
   });
 </script>