|
@@ -26,13 +26,14 @@
|
|
|
@toggle-algo="handleToggleAlgo(item, $event)"
|
|
@toggle-algo="handleToggleAlgo(item, $event)"
|
|
|
:is-fence-open="item.electronicFence === FENCE_ENBALED_STATUS.enabled"
|
|
:is-fence-open="item.electronicFence === FENCE_ENBALED_STATUS.enabled"
|
|
|
@toggle-fence="handleToggleFence(item, $event)"
|
|
@toggle-fence="handleToggleFence(item, $event)"
|
|
|
|
|
+ @toggleSetting="handleToggleSetting"
|
|
|
/>
|
|
/>
|
|
|
</div>
|
|
</div>
|
|
|
<div>
|
|
<div>
|
|
|
<AlgoSettingCard
|
|
<AlgoSettingCard
|
|
|
@on-submit="handleSubmit"
|
|
@on-submit="handleSubmit"
|
|
|
@on-cancel="handleCancel"
|
|
@on-cancel="handleCancel"
|
|
|
- v-if="selectedAlgoId"
|
|
|
|
|
|
|
+ v-if="selectedAlgoId && algoSettingIsOpen"
|
|
|
/>
|
|
/>
|
|
|
<!-- <div style="color: #ccc; margin-top: 20px" v-else>请选择算法</div> -->
|
|
<!-- <div style="color: #ccc; margin-top: 20px" v-else>请选择算法</div> -->
|
|
|
</div>
|
|
</div>
|
|
@@ -64,7 +65,7 @@
|
|
|
getInferParam,
|
|
getInferParam,
|
|
|
} from './utils';
|
|
} from './utils';
|
|
|
import { ALGO_ENABLED_STATUS } from '@/api/camera/camera-preview';
|
|
import { ALGO_ENABLED_STATUS } from '@/api/camera/camera-preview';
|
|
|
- import { watchEffect } from 'vue';
|
|
|
|
|
|
|
+ import { ref, watchEffect } from 'vue';
|
|
|
import { useUserStore } from '@/store/modules/user';
|
|
import { useUserStore } from '@/store/modules/user';
|
|
|
|
|
|
|
|
const cameraAlgoStore = useCameraAlgoStore();
|
|
const cameraAlgoStore = useCameraAlgoStore();
|
|
@@ -77,12 +78,17 @@
|
|
|
const userStore = useUserStore();
|
|
const userStore = useUserStore();
|
|
|
|
|
|
|
|
const hasAddPermission = () => userStore.checkPermission('algo_add');
|
|
const hasAddPermission = () => userStore.checkPermission('algo_add');
|
|
|
|
|
+ const algoSettingIsOpen = ref(false);
|
|
|
|
|
+
|
|
|
|
|
+ const handleToggleSetting = () => {
|
|
|
|
|
+ algoSettingIsOpen.value = !algoSettingIsOpen.value;
|
|
|
|
|
+ };
|
|
|
|
|
|
|
|
const handleSelectAlgo = (algoId: number) => {
|
|
const handleSelectAlgo = (algoId: number) => {
|
|
|
if (selectedAlgoId.value === algoId) {
|
|
if (selectedAlgoId.value === algoId) {
|
|
|
return;
|
|
return;
|
|
|
}
|
|
}
|
|
|
- if (selectedAlgoId.value) {
|
|
|
|
|
|
|
+ if (selectedAlgoId.value && algoSettingIsOpen.value) {
|
|
|
const el = document.getElementById('algoSetting') as HTMLElement;
|
|
const el = document.getElementById('algoSetting') as HTMLElement;
|
|
|
ElMessageBox.confirm(
|
|
ElMessageBox.confirm(
|
|
|
'<strong>确认切换算法配置吗?</strong><br />切换后未保存的算法配置将被丢弃。',
|
|
'<strong>确认切换算法配置吗?</strong><br />切换后未保存的算法配置将被丢弃。',
|
|
@@ -98,11 +104,13 @@
|
|
|
.then(() => {
|
|
.then(() => {
|
|
|
if (algoId !== selectedAlgoId.value) {
|
|
if (algoId !== selectedAlgoId.value) {
|
|
|
selectedAlgoId.value = algoId;
|
|
selectedAlgoId.value = algoId;
|
|
|
|
|
+ algoSettingIsOpen.value = false;
|
|
|
}
|
|
}
|
|
|
})
|
|
})
|
|
|
.catch(() => {});
|
|
.catch(() => {});
|
|
|
} else {
|
|
} else {
|
|
|
selectedAlgoId.value = algoId;
|
|
selectedAlgoId.value = algoId;
|
|
|
|
|
+ algoSettingIsOpen.value = false;
|
|
|
}
|
|
}
|
|
|
};
|
|
};
|
|
|
|
|
|