|
|
@@ -95,6 +95,59 @@
|
|
|
/>
|
|
|
<span style="font-size: 12px; margin-left: 5px">S/次</span>
|
|
|
</div>
|
|
|
+ <div class="algoRow" style="align-items: center">
|
|
|
+ <div class="algoLabel">持续时间:</div>
|
|
|
+ <ElInputNumber
|
|
|
+ v-model="selectedAlgoDetail.eventDurationMinMs"
|
|
|
+ controls-position="right"
|
|
|
+ :min="1"
|
|
|
+ :step="1"
|
|
|
+ size="small"
|
|
|
+ style="width: 186px"
|
|
|
+ @blur="checkDurationMinMsValid"
|
|
|
+ />
|
|
|
+ <span style="font-size: 12px; margin-left: 5px">毫秒</span>
|
|
|
+ </div>
|
|
|
+ <div class="algoRow" style="align-items: center">
|
|
|
+ <div class="algoLabel">持续帧数:</div>
|
|
|
+ <ElInputNumber
|
|
|
+ v-model="selectedAlgoDetail.eventDurationMinFrames"
|
|
|
+ controls-position="right"
|
|
|
+ :min="1"
|
|
|
+ :step="1"
|
|
|
+ size="small"
|
|
|
+ style="width: 186px"
|
|
|
+ @blur="checkDurationMinFramesValid"
|
|
|
+ />
|
|
|
+ <span style="font-size: 12px; margin-left: 5px">帧</span>
|
|
|
+ </div>
|
|
|
+ <div class="algoRow" style="align-items: center">
|
|
|
+ <div class="algoLabel">报警时间间隔:</div>
|
|
|
+ <ElInputNumber
|
|
|
+ v-model="selectedAlgoDetail.eventAlarmIntervalMs"
|
|
|
+ controls-position="right"
|
|
|
+ :min="1"
|
|
|
+ :step="1"
|
|
|
+ size="small"
|
|
|
+ style="width: 186px"
|
|
|
+ @blur="checkAlarmIntervalMsValid"
|
|
|
+ />
|
|
|
+ <span style="font-size: 12px; margin-left: 5px">秒</span>
|
|
|
+ </div>
|
|
|
+ <div class="algoRow" style="align-items: center">
|
|
|
+ <div class="algoLabel">报警帧间隔:</div>
|
|
|
+ <ElInputNumber
|
|
|
+ v-model="selectedAlgoDetail.eventAlarmIntervalFrames"
|
|
|
+ controls-position="right"
|
|
|
+ :min="1"
|
|
|
+ :step="1"
|
|
|
+ size="small"
|
|
|
+ style="width: 186px"
|
|
|
+ @blur="checkAlarmIntervalFramesValid"
|
|
|
+ />
|
|
|
+ <span style="font-size: 12px; margin-left: 5px">帧</span>
|
|
|
+ </div>
|
|
|
+
|
|
|
<div
|
|
|
v-if="selectedAlgoDetail.timeWindow !== undefined"
|
|
|
class="algoRow"
|
|
|
@@ -227,6 +280,26 @@
|
|
|
selectedAlgoDetail.value.detectionFrequency,
|
|
|
);
|
|
|
};
|
|
|
+ const checkDurationMinMsValid = () => {
|
|
|
+ selectedAlgoDetail.value.eventDurationMinMs = Math.ceil(
|
|
|
+ selectedAlgoDetail.value.eventDurationMinMs,
|
|
|
+ );
|
|
|
+ };
|
|
|
+ const checkDurationMinFramesValid = () => {
|
|
|
+ selectedAlgoDetail.value.eventDurationMinFrames = Math.ceil(
|
|
|
+ selectedAlgoDetail.value.eventDurationMinFrames,
|
|
|
+ );
|
|
|
+ };
|
|
|
+ const checkAlarmIntervalMsValid = () => {
|
|
|
+ selectedAlgoDetail.value.eventAlarmIntervalMs = Math.ceil(
|
|
|
+ selectedAlgoDetail.value.eventAlarmIntervalMs,
|
|
|
+ );
|
|
|
+ };
|
|
|
+ const checkAlarmIntervalFramesValid = () => {
|
|
|
+ selectedAlgoDetail.value.eventAlarmIntervalFrames = Math.ceil(
|
|
|
+ selectedAlgoDetail.value.eventAlarmIntervalFrames,
|
|
|
+ );
|
|
|
+ };
|
|
|
|
|
|
const checkTimeWindowValid = () => {
|
|
|
selectedAlgoDetail.value.timeWindow = Math.ceil(selectedAlgoDetail.value.timeWindow || 1);
|
|
|
@@ -323,6 +396,10 @@
|
|
|
inferCode: detail.inferCode,
|
|
|
algoId: detail.algoId,
|
|
|
detectionFrequency: detail.detectionFrequency,
|
|
|
+ eventDurationMinMs: detail.eventDurationMinMs,
|
|
|
+ eventDurationMinFrames: detail.eventDurationMinFrames,
|
|
|
+ eventAlarmIntervalMs: detail.eventAlarmIntervalMs,
|
|
|
+ eventAlarmIntervalFrames: detail.eventAlarmIntervalFrames,
|
|
|
regionJudge: detail.regionJudge,
|
|
|
detectionTime: JSON.stringify(detail.timeRangeArr),
|
|
|
metaObjs,
|