|
@@ -20,6 +20,7 @@
|
|
|
@on-remove="handleRemove"
|
|
@on-remove="handleRemove"
|
|
|
v-if="selectedAlgoId"
|
|
v-if="selectedAlgoId"
|
|
|
/>
|
|
/>
|
|
|
|
|
+ <div style="color: #ccc; margin-top: 20px" v-else>请选择左侧算法</div>
|
|
|
</div>
|
|
</div>
|
|
|
</div>
|
|
</div>
|
|
|
</div>
|
|
</div>
|
|
@@ -29,11 +30,7 @@
|
|
|
import useCameraAlgoStore from '../../store/useCameraAlgoStore';
|
|
import useCameraAlgoStore from '../../store/useCameraAlgoStore';
|
|
|
import AlgoSettingCard from './AlgoSettingCard.vue';
|
|
import AlgoSettingCard from './AlgoSettingCard.vue';
|
|
|
import { storeToRefs } from 'pinia';
|
|
import { storeToRefs } from 'pinia';
|
|
|
- import {
|
|
|
|
|
- deleteCameraAlgoApi,
|
|
|
|
|
- createCameraAlgoApi,
|
|
|
|
|
- updateCameraAlgoApi,
|
|
|
|
|
- } from '@/api/camera/camera-preview';
|
|
|
|
|
|
|
+ import { deleteCameraAlgoApi, updateCameraAlgoApi } from '@/api/camera/camera-preview';
|
|
|
import { ElMessage } from 'element-plus';
|
|
import { ElMessage } from 'element-plus';
|
|
|
import AlgoTag from './AlgoTag.vue';
|
|
import AlgoTag from './AlgoTag.vue';
|
|
|
import useFenceStore from '../../store/useFenceStore';
|
|
import useFenceStore from '../../store/useFenceStore';
|
|
@@ -42,6 +39,7 @@
|
|
|
import AddAlgoDialog from './AddAlgoDialog.vue';
|
|
import AddAlgoDialog from './AddAlgoDialog.vue';
|
|
|
import { createDefaultTime, getDetectionJSON, getDetectionTimeJSON } from './utils';
|
|
import { createDefaultTime, getDetectionJSON, getDetectionTimeJSON } from './utils';
|
|
|
import { AlgoStatus } from '@/api/camera/camera-preview';
|
|
import { AlgoStatus } from '@/api/camera/camera-preview';
|
|
|
|
|
+ import { watchEffect } from 'vue';
|
|
|
|
|
|
|
|
const cameraAlgoStore = useCameraAlgoStore();
|
|
const cameraAlgoStore = useCameraAlgoStore();
|
|
|
const fenceStore = useFenceStore();
|
|
const fenceStore = useFenceStore();
|
|
@@ -59,29 +57,34 @@
|
|
|
const handleSelectAlgo = (algoId: number) => {
|
|
const handleSelectAlgo = (algoId: number) => {
|
|
|
if (algoId !== selectedAlgoId.value) {
|
|
if (algoId !== selectedAlgoId.value) {
|
|
|
selectedAlgoId.value = algoId;
|
|
selectedAlgoId.value = algoId;
|
|
|
- const detail = getAlgoDetail(algoId);
|
|
|
|
|
|
|
+ }
|
|
|
|
|
+ };
|
|
|
|
|
|
|
|
- console.log('detail change', detail);
|
|
|
|
|
- const detectionJSON = getDetectionJSON(detail?.detectionFrequency);
|
|
|
|
|
- const enableCard = Boolean(detail?.status);
|
|
|
|
|
- const electronicFenceBool = Boolean(detail?.electronicFence);
|
|
|
|
|
|
|
+ watchEffect(() => {
|
|
|
|
|
+ const algoId = selectedAlgoId.value;
|
|
|
|
|
+ if (!algoId) return;
|
|
|
|
|
+ const detail = getAlgoDetail(algoId);
|
|
|
|
|
+ if (!detail) return;
|
|
|
|
|
+ console.log('detail change', detail);
|
|
|
|
|
+ const detectionJSON = getDetectionJSON(detail?.detectionFrequency);
|
|
|
|
|
+ const enableCard = Boolean(detail?.status);
|
|
|
|
|
+ const electronicFenceBool = Boolean(detail?.electronicFence);
|
|
|
|
|
|
|
|
- const timeRangeArr = getDetectionTimeJSON(detail?.detectionTime) || [createDefaultTime()];
|
|
|
|
|
|
|
+ const timeRangeArr = getDetectionTimeJSON(detail?.detectionTime) || [createDefaultTime()];
|
|
|
|
|
|
|
|
- selectedAlgoDetail.value = {
|
|
|
|
|
- ...detail,
|
|
|
|
|
- detectionJSON,
|
|
|
|
|
- enableCardBool: enableCard,
|
|
|
|
|
- electronicFenceBool,
|
|
|
|
|
- timeRangeArr,
|
|
|
|
|
- };
|
|
|
|
|
- fenceStore.getFence({
|
|
|
|
|
- algoId: algoId,
|
|
|
|
|
- cameraId: cameraDetailStore.cameraId,
|
|
|
|
|
- presetToken: presetStore.currentPresetToken,
|
|
|
|
|
- });
|
|
|
|
|
- }
|
|
|
|
|
- };
|
|
|
|
|
|
|
+ selectedAlgoDetail.value = {
|
|
|
|
|
+ ...detail,
|
|
|
|
|
+ detectionJSON,
|
|
|
|
|
+ enableCardBool: enableCard,
|
|
|
|
|
+ electronicFenceBool,
|
|
|
|
|
+ timeRangeArr,
|
|
|
|
|
+ };
|
|
|
|
|
+ fenceStore.getFence({
|
|
|
|
|
+ algoId: algoId,
|
|
|
|
|
+ cameraId: cameraDetailStore.cameraId,
|
|
|
|
|
+ presetToken: presetStore.currentPresetToken,
|
|
|
|
|
+ });
|
|
|
|
|
+ });
|
|
|
|
|
|
|
|
const handleSubmit = (param) => {
|
|
const handleSubmit = (param) => {
|
|
|
console.log('submitParam', param);
|
|
console.log('submitParam', param);
|
|
@@ -99,11 +102,6 @@
|
|
|
ElMessage.success('更新成功');
|
|
ElMessage.success('更新成功');
|
|
|
getCameraAlgoList(cameraId);
|
|
getCameraAlgoList(cameraId);
|
|
|
});
|
|
});
|
|
|
- } else {
|
|
|
|
|
- createCameraAlgoApi(newParam).then(() => {
|
|
|
|
|
- ElMessage.success('保存成功');
|
|
|
|
|
- getCameraAlgoList(cameraId);
|
|
|
|
|
- });
|
|
|
|
|
}
|
|
}
|
|
|
};
|
|
};
|
|
|
|
|
|
|
@@ -112,6 +110,7 @@
|
|
|
deleteCameraAlgoApi({ algoId, cameraId: cameraDetailStore.cameraId }).then(() => {
|
|
deleteCameraAlgoApi({ algoId, cameraId: cameraDetailStore.cameraId }).then(() => {
|
|
|
ElMessage.success('删除成功');
|
|
ElMessage.success('删除成功');
|
|
|
getCameraAlgoList(cameraDetailStore.cameraId);
|
|
getCameraAlgoList(cameraDetailStore.cameraId);
|
|
|
|
|
+ selectedAlgoId.value = undefined;
|
|
|
});
|
|
});
|
|
|
};
|
|
};
|
|
|
</script>
|
|
</script>
|