Преглед изворни кода

fix: 优化相机设备管理代码逻辑

bxy пре 1 година
родитељ
комит
4cd861e742

+ 2 - 11
src/views/cameras/overview/components/AddCameraByIP.vue

@@ -115,8 +115,7 @@
   import useNvrDevice from '../hooks/useNvrDevice';
   import useNvrDevice from '../hooks/useNvrDevice';
   import useTreeWorkspaceInfo from '../hooks/useTreeWorkspaceInfo';
   import useTreeWorkspaceInfo from '../hooks/useTreeWorkspaceInfo';
   import { cloneDeep } from 'lodash-es';
   import { cloneDeep } from 'lodash-es';
-  import sysConfigItemOfAddCamera from './sysConfigItemOfAddCamera.vue';
-  import { CheckedSceneTemplate } from '@/types/camera/type';
+  import sysConfigItemOfAddCamera, { getSceneCheckedValues } from './sysConfigItemOfAddCamera.vue';
 
 
   const props = defineProps<{ formData?: CameraDetailServer | null }>();
   const props = defineProps<{ formData?: CameraDetailServer | null }>();
   const emits = defineEmits(['cancel-execute', 'confirm-execute']);
   const emits = defineEmits(['cancel-execute', 'confirm-execute']);
@@ -182,21 +181,13 @@
     cameraIPData.value.workshopId = node.workshopId;
     cameraIPData.value.workshopId = node.workshopId;
   };
   };
 
 
-  function getsceneCheckedDataRef(arr: CheckedSceneTemplate[]): Record<number, boolean> {
-    const result: Record<number, boolean> = {};
-    arr.forEach(({ sceneId }) => {
-      result[sceneId] = true;
-    });
-    return result;
-  }
-
   onBeforeMount(() => {
   onBeforeMount(() => {
     getNvrDevice();
     getNvrDevice();
     getWorkspaceFromTreeInfo();
     getWorkspaceFromTreeInfo();
     if (props.formData) {
     if (props.formData) {
       cameraIPData.value = props.formData;
       cameraIPData.value = props.formData;
       cameraIPData.value.workspaceIdStr = `workspace-${props.formData.workspaceId}`;
       cameraIPData.value.workspaceIdStr = `workspace-${props.formData.workspaceId}`;
-      sceneCheckedDataRef.value = getsceneCheckedDataRef(props.formData.sceneTemplateList);
+      sceneCheckedDataRef.value = getSceneCheckedValues(props.formData.sceneTemplateList);
     }
     }
   });
   });
 </script>
 </script>

+ 2 - 11
src/views/cameras/overview/components/AddCameraByNVR.vue

@@ -106,8 +106,7 @@
   import { protocalTypeSelect, serviceTypeSelect, standardTypeSelect } from '@/types/camera/constant';
   import { protocalTypeSelect, serviceTypeSelect, standardTypeSelect } from '@/types/camera/constant';
   import useNvrDevice from '../hooks/useNvrDevice';
   import useNvrDevice from '../hooks/useNvrDevice';
   import useTreeWorkspaceInfo from '../hooks/useTreeWorkspaceInfo';
   import useTreeWorkspaceInfo from '../hooks/useTreeWorkspaceInfo';
-  import sysConfigItemOfAddCamera from './sysConfigItemOfAddCamera.vue';
-  import { CheckedSceneTemplate } from '@/types/camera/type';
+  import sysConfigItemOfAddCamera, { getSceneCheckedValues } from './sysConfigItemOfAddCamera.vue';
 
 
   const props = defineProps<{ formData?: CameraDetailServer | null }>();
   const props = defineProps<{ formData?: CameraDetailServer | null }>();
   const emits = defineEmits(['cancel-execute', 'confirm-execute']);
   const emits = defineEmits(['cancel-execute', 'confirm-execute']);
@@ -171,21 +170,13 @@
     cameraNVRData.value.workshopId = node.workshopId;
     cameraNVRData.value.workshopId = node.workshopId;
   };
   };
 
 
-  function getsceneCheckedDataRef(arr: CheckedSceneTemplate[]): Record<number, boolean> {
-    const result: Record<number, boolean> = {};
-    arr.forEach(({ sceneId }) => {
-      result[sceneId] = true;
-    });
-    return result;
-  }
-
   onBeforeMount(() => {
   onBeforeMount(() => {
     getNvrDevice();
     getNvrDevice();
     getWorkspaceFromTreeInfo();
     getWorkspaceFromTreeInfo();
     if (props.formData) {
     if (props.formData) {
       cameraNVRData.value = props.formData;
       cameraNVRData.value = props.formData;
       cameraNVRData.value.workspaceIdStr = `workspace-${props.formData.workspaceId}`;
       cameraNVRData.value.workspaceIdStr = `workspace-${props.formData.workspaceId}`;
-      sceneCheckedDataRef.value = getsceneCheckedDataRef(props.formData.sceneTemplateList);
+      sceneCheckedDataRef.value = getSceneCheckedValues(props.formData.sceneTemplateList);
     }
     }
   });
   });
 </script>
 </script>

+ 2 - 11
src/views/cameras/overview/components/AddCameraBySRS.vue

@@ -103,8 +103,7 @@
   import { serviceTypeSelect, standardTypeSelect } from '@/types/camera/constant';
   import { serviceTypeSelect, standardTypeSelect } from '@/types/camera/constant';
   import useNvrDevice from '../hooks/useNvrDevice';
   import useNvrDevice from '../hooks/useNvrDevice';
   import useTreeWorkspaceInfo from '../hooks/useTreeWorkspaceInfo';
   import useTreeWorkspaceInfo from '../hooks/useTreeWorkspaceInfo';
-  import sysConfigItemOfAddCamera from './sysConfigItemOfAddCamera.vue';
-  import { CheckedSceneTemplate } from '@/types/camera/type';
+  import sysConfigItemOfAddCamera, { getSceneCheckedValues } from './sysConfigItemOfAddCamera.vue';
 
 
   const props = defineProps<{ formData?: CameraDetailServer | null }>();
   const props = defineProps<{ formData?: CameraDetailServer | null }>();
   const emits = defineEmits(['cancel-execute', 'confirm-execute']);
   const emits = defineEmits(['cancel-execute', 'confirm-execute']);
@@ -167,21 +166,13 @@
     CameraSRSData.value.workshopId = node.workshopId;
     CameraSRSData.value.workshopId = node.workshopId;
   };
   };
 
 
-  function getsceneCheckedDataRef(arr: CheckedSceneTemplate[]): Record<number, boolean> {
-    const result: Record<number, boolean> = {};
-    arr.forEach(({ sceneId }) => {
-      result[sceneId] = true;
-    });
-    return result;
-  }
-
   onBeforeMount(() => {
   onBeforeMount(() => {
     getNvrDevice();
     getNvrDevice();
     getWorkspaceFromTreeInfo();
     getWorkspaceFromTreeInfo();
     if (props.formData) {
     if (props.formData) {
       CameraSRSData.value = props.formData;
       CameraSRSData.value = props.formData;
       CameraSRSData.value.workspaceIdStr = `workspace-${props.formData.workspaceId}`;
       CameraSRSData.value.workspaceIdStr = `workspace-${props.formData.workspaceId}`;
-      sceneCheckedDataRef.value = getsceneCheckedDataRef(props.formData.sceneTemplateList);
+      sceneCheckedDataRef.value = getSceneCheckedValues(props.formData.sceneTemplateList);
     }
     }
   });
   });
 </script>
 </script>

+ 9 - 8
src/views/cameras/overview/components/sysConfigItemOfAddCamera.vue

@@ -44,14 +44,6 @@
     }));
     }));
   }
   }
 
 
-  // CheckedSceneTemplate 转换为 Object
-  function getSceneCheckedValues(arr: CheckedSceneTemplate[]): Record<number, boolean> {
-    const result: Record<number, boolean> = {};
-    arr.forEach(({ sceneId }) => {
-      result[sceneId] = true;
-    });
-    return result;
-  }
   function getTemplateCheckedValues(arr: CheckedSceneTemplate[]): Record<number, number | null> {
   function getTemplateCheckedValues(arr: CheckedSceneTemplate[]): Record<number, number | null> {
     const result: Record<number, number | null> = {};
     const result: Record<number, number | null> = {};
     arr.forEach(({ sceneId, templateId }) => {
     arr.forEach(({ sceneId, templateId }) => {
@@ -86,6 +78,15 @@
     }
     }
   });
   });
 </script>
 </script>
+<script lang="ts">
+  export function getSceneCheckedValues(arr: CheckedSceneTemplate[]): Record<number, boolean> {
+    const result: Record<number, boolean> = {};
+    arr.forEach(({ sceneId }) => {
+      result[sceneId] = true;
+    });
+    return result;
+  }
+</script>
 
 
 <style scoped lang="less">
 <style scoped lang="less">
   .scene-template-item {
   .scene-template-item {