|
@@ -9,15 +9,17 @@
|
|
|
v-for="item in cameraAlgoList"
|
|
v-for="item in cameraAlgoList"
|
|
|
:key="item.code"
|
|
:key="item.code"
|
|
|
:label="item.algoInfo?.name"
|
|
:label="item.algoInfo?.name"
|
|
|
|
|
+ :algo-id="item.algoInfo.id"
|
|
|
:is-active="item.algoId === selectedAlgoId"
|
|
:is-active="item.algoId === selectedAlgoId"
|
|
|
- @click="handleSelectAlgo(item.algoId)"
|
|
|
|
|
|
|
+ @on-hit="handleSelectAlgo(item.algoId)"
|
|
|
|
|
+ @on-remove="handleRemove"
|
|
|
:is-open="item.status === ALGO_ENABLED_STATUS.enabled"
|
|
:is-open="item.status === ALGO_ENABLED_STATUS.enabled"
|
|
|
/>
|
|
/>
|
|
|
</div>
|
|
</div>
|
|
|
<div>
|
|
<div>
|
|
|
<AlgoSettingCard
|
|
<AlgoSettingCard
|
|
|
@on-submit="handleSubmit"
|
|
@on-submit="handleSubmit"
|
|
|
- @on-remove="handleRemove"
|
|
|
|
|
|
|
+ @on-cancel="handleCancel"
|
|
|
v-if="selectedAlgoId"
|
|
v-if="selectedAlgoId"
|
|
|
/>
|
|
/>
|
|
|
<div style="color: #ccc; margin-top: 20px" v-else>请选择左侧算法</div>
|
|
<div style="color: #ccc; margin-top: 20px" v-else>请选择左侧算法</div>
|
|
@@ -140,9 +142,18 @@
|
|
|
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;
|
|
|
|
|
|
|
+ if (selectedAlgoId.value === algoId) {
|
|
|
|
|
+ selectedAlgoId.value = undefined;
|
|
|
|
|
+ }
|
|
|
});
|
|
});
|
|
|
};
|
|
};
|
|
|
|
|
+
|
|
|
|
|
+ const handleCancel = (algoId: number) => {
|
|
|
|
|
+ if (selectedAlgoId.value !== algoId) {
|
|
|
|
|
+ return;
|
|
|
|
|
+ }
|
|
|
|
|
+ selectedAlgoId.value = undefined;
|
|
|
|
|
+ };
|
|
|
</script>
|
|
</script>
|
|
|
<style scoped>
|
|
<style scoped>
|
|
|
.algoTagWrapper {
|
|
.algoTagWrapper {
|