|
@@ -2,14 +2,14 @@
|
|
|
<div class="algoCardWrapper">
|
|
<div class="algoCardWrapper">
|
|
|
<div class="algoCardTitle">
|
|
<div class="algoCardTitle">
|
|
|
<div>{{ selectedAlgoDetail?.algoInfo?.name }}</div>
|
|
<div>{{ selectedAlgoDetail?.algoInfo?.name }}</div>
|
|
|
- <ElSwitch v-model="enableCard" size="small" />
|
|
|
|
|
|
|
+ <ElSwitch v-model="selectedAlgoDetail.enableCardBool" size="small" />
|
|
|
</div>
|
|
</div>
|
|
|
<div class="algoCardMain">
|
|
<div class="algoCardMain">
|
|
|
<div class="algoRow">
|
|
<div class="algoRow">
|
|
|
<div class="algoLabel">电子围栏:</div>
|
|
<div class="algoLabel">电子围栏:</div>
|
|
|
<div>
|
|
<div>
|
|
|
<div>
|
|
<div>
|
|
|
- <ElSwitch v-model="electronicFence" size="small" />
|
|
|
|
|
|
|
+ <ElSwitch v-model="selectedAlgoDetail.electronicFenceBool" size="small" />
|
|
|
<span style="font-size: 10px; margin-left: 20px; color: #262626"
|
|
<span style="font-size: 10px; margin-left: 20px; color: #262626"
|
|
|
>备注:请绘制电子围栏</span
|
|
>备注:请绘制电子围栏</span
|
|
|
>
|
|
>
|
|
@@ -20,7 +20,7 @@
|
|
|
<div class="algoRow">
|
|
<div class="algoRow">
|
|
|
<div class="algoLabel">检测时间:</div>
|
|
<div class="algoLabel">检测时间:</div>
|
|
|
<div>
|
|
<div>
|
|
|
- <div v-for="x in timeRangeArr" :key="x.id">
|
|
|
|
|
|
|
+ <div v-for="x in selectedAlgoDetail.timeRangeArr" :key="x.id">
|
|
|
<el-time-picker
|
|
<el-time-picker
|
|
|
v-model="x.value"
|
|
v-model="x.value"
|
|
|
is-range
|
|
is-range
|
|
@@ -31,7 +31,7 @@
|
|
|
size="small"
|
|
size="small"
|
|
|
style="width: 180px; margin-bottom: 10px"
|
|
style="width: 180px; margin-bottom: 10px"
|
|
|
/>
|
|
/>
|
|
|
- <span @click="removeTime(x.id)" v-if="timeRangeArr.length > 1">
|
|
|
|
|
|
|
+ <span @click="removeTime(x.id)" v-if="selectedAlgoDetail.timeRangeArr.length > 1">
|
|
|
<el-icon class="removeIcon"><CircleCloseFilled /></el-icon
|
|
<el-icon class="removeIcon"><CircleCloseFilled /></el-icon
|
|
|
></span>
|
|
></span>
|
|
|
</div>
|
|
</div>
|
|
@@ -43,13 +43,17 @@
|
|
|
<div class="algoRow" style="align-items: center">
|
|
<div class="algoRow" style="align-items: center">
|
|
|
<div class="algoLabel">检测频率:</div>
|
|
<div class="algoLabel">检测频率:</div>
|
|
|
<ElInputNumber
|
|
<ElInputNumber
|
|
|
- v-model="detectionNum"
|
|
|
|
|
|
|
+ v-model="selectedAlgoDetail.detectionJSON.detectionNum"
|
|
|
controls-position="right"
|
|
controls-position="right"
|
|
|
:min="0"
|
|
:min="0"
|
|
|
size="small"
|
|
size="small"
|
|
|
style="width: 80px"
|
|
style="width: 80px"
|
|
|
/>
|
|
/>
|
|
|
- <ElSelect size="small" style="width: 60px; margin-left: 10px" v-model="detectionUnit">
|
|
|
|
|
|
|
+ <ElSelect
|
|
|
|
|
+ size="small"
|
|
|
|
|
+ style="width: 60px; margin-left: 10px"
|
|
|
|
|
+ v-model="selectedAlgoDetail.detectionJSON.detectionUnit"
|
|
|
|
|
+ >
|
|
|
<ElOption
|
|
<ElOption
|
|
|
v-for="x in frequencyOptions"
|
|
v-for="x in frequencyOptions"
|
|
|
:key="x.value"
|
|
:key="x.value"
|
|
@@ -87,8 +91,7 @@
|
|
|
|
|
|
|
|
// const { data: algoList, loading } = useAllAlgos();
|
|
// const { data: algoList, loading } = useAllAlgos();
|
|
|
const cameraAlgoStore = useCameraAlgoStore();
|
|
const cameraAlgoStore = useCameraAlgoStore();
|
|
|
- const { isAlgoBind } = cameraAlgoStore;
|
|
|
|
|
- const { allAlgoList, selectedAlgoId, selectedAlgoDetail } = storeToRefs(cameraAlgoStore);
|
|
|
|
|
|
|
+ const { selectedAlgoId, selectedAlgoDetail } = storeToRefs(cameraAlgoStore);
|
|
|
|
|
|
|
|
interface Param {
|
|
interface Param {
|
|
|
/** 算法id */
|
|
/** 算法id */
|
|
@@ -108,37 +111,13 @@
|
|
|
(e: 'onRemove', algoId: number): Promise<unknown>;
|
|
(e: 'onRemove', algoId: number): Promise<unknown>;
|
|
|
}>();
|
|
}>();
|
|
|
|
|
|
|
|
- const timeRangeArr = ref<TimeRangeItem[]>([createDefaultTime()]);
|
|
|
|
|
-
|
|
|
|
|
- const detectionUnit = ref(FrequencyEnum.miniute);
|
|
|
|
|
-
|
|
|
|
|
- /** 电子围栏开关 */
|
|
|
|
|
- const electronicFence = ref(true);
|
|
|
|
|
-
|
|
|
|
|
- const detectionNum = ref(5);
|
|
|
|
|
-
|
|
|
|
|
- const enableCard = ref(true);
|
|
|
|
|
-
|
|
|
|
|
- watch(
|
|
|
|
|
- () => selectedAlgoDetail.value,
|
|
|
|
|
- (detail) => {
|
|
|
|
|
- console.log('detail change', detail);
|
|
|
|
|
- const detectionJSON = getDetectionJSON(detail?.detectionFrequency);
|
|
|
|
|
- enableCard.value = Boolean(detail?.status);
|
|
|
|
|
- electronicFence.value = Boolean(detail?.electronicFence);
|
|
|
|
|
- detectionNum.value = detectionJSON.detectionNum;
|
|
|
|
|
- detectionUnit.value = detectionJSON.detectionUnit;
|
|
|
|
|
- timeRangeArr.value = getDetectionTimeJSON(detail?.detectionTime) || [createDefaultTime()];
|
|
|
|
|
- },
|
|
|
|
|
- { deep: true, immediate: true },
|
|
|
|
|
- );
|
|
|
|
|
-
|
|
|
|
|
const handleAddTimeRange = () => {
|
|
const handleAddTimeRange = () => {
|
|
|
- timeRangeArr.value.push(createDefaultTime());
|
|
|
|
|
|
|
+ selectedAlgoDetail.value.timeRangeArr.push(createDefaultTime());
|
|
|
};
|
|
};
|
|
|
|
|
|
|
|
const removeTime = (id: string) => {
|
|
const removeTime = (id: string) => {
|
|
|
- timeRangeArr.value = timeRangeArr.value.filter((x) => x.id !== id);
|
|
|
|
|
|
|
+ const timeRangeArr = selectedAlgoDetail.value.timeRangeArr;
|
|
|
|
|
+ selectedAlgoDetail.value.timeRangeArr = timeRangeArr.filter((x) => x.id !== id);
|
|
|
};
|
|
};
|
|
|
|
|
|
|
|
const getTimeStr = (d: Dayjs) => {
|
|
const getTimeStr = (d: Dayjs) => {
|
|
@@ -154,14 +133,14 @@
|
|
|
const param = {
|
|
const param = {
|
|
|
id: detail.id,
|
|
id: detail.id,
|
|
|
algoId: detail.algoId,
|
|
algoId: detail.algoId,
|
|
|
- detectionFrequency: detectionNum.value * detectionUnit.value,
|
|
|
|
|
- detectionTime: timeRangeArr.value
|
|
|
|
|
|
|
+ detectionFrequency: detail.detectionJSON.detectionNum * detail.detectionJSON.detectionUnit,
|
|
|
|
|
+ detectionTime: detail.timeRangeArr
|
|
|
.map((x) => {
|
|
.map((x) => {
|
|
|
return getTimeStrs(x.value);
|
|
return getTimeStrs(x.value);
|
|
|
})
|
|
})
|
|
|
.join(';'),
|
|
.join(';'),
|
|
|
- electronicFence: electronicFence.value ? STATUS.enabled : STATUS.disabled,
|
|
|
|
|
- status: enableCard.value ? STATUS.enabled : STATUS.disabled,
|
|
|
|
|
|
|
+ electronicFence: detail.electronicFenceBool ? STATUS.enabled : STATUS.disabled,
|
|
|
|
|
+ status: detail.enableCardBool ? STATUS.enabled : STATUS.disabled,
|
|
|
};
|
|
};
|
|
|
emits('onSubmit', param);
|
|
emits('onSubmit', param);
|
|
|
console.log('param', param);
|
|
console.log('param', param);
|