|
@@ -220,8 +220,9 @@
|
|
v-if="[1, 2, 3, 9].includes(formState?.eventType as number)"
|
|
v-if="[1, 2, 3, 9].includes(formState?.eventType as number)"
|
|
label="检测区域"
|
|
label="检测区域"
|
|
name="region"
|
|
name="region"
|
|
|
|
+ style="user-select: none"
|
|
>
|
|
>
|
|
- 框选区域 {{ formState.region }}
|
|
|
|
|
|
+ <span style="user-select: none">框选区域 {{ formState.region }}</span>
|
|
<a-form-item-rest>
|
|
<a-form-item-rest>
|
|
<div class="viewer">
|
|
<div class="viewer">
|
|
<div class="viewer-content">
|
|
<div class="viewer-content">
|
|
@@ -259,7 +260,6 @@
|
|
}"
|
|
}"
|
|
@mousedown.stop="startResize(block, $event)"
|
|
@mousedown.stop="startResize(block, $event)"
|
|
>
|
|
>
|
|
- <!-- {{ blockIndex + 1 }} -->
|
|
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
@@ -434,8 +434,8 @@ const startResize = (block: BlockItem, e: MouseEvent) => {
|
|
const deltaX = e.clientX - startX
|
|
const deltaX = e.clientX - startX
|
|
const deltaY = e.clientY - startY
|
|
const deltaY = e.clientY - startY
|
|
// 限制最小尺寸和容器边界
|
|
// 限制最小尺寸和容器边界
|
|
- block.width = Math.max(50, Math.min(initialWidth + deltaX, rect.width - block.x))
|
|
|
|
- block.height = Math.max(50, Math.min(initialHeight + deltaY, rect.height - block.y))
|
|
|
|
|
|
+ block.width = Math.max(0, Math.min(initialWidth + deltaX, rect.width - block.x))
|
|
|
|
+ block.height = Math.max(0, Math.min(initialHeight + deltaY, rect.height - block.y))
|
|
}
|
|
}
|
|
|
|
|
|
const upHandler = () => {
|
|
const upHandler = () => {
|
|
@@ -493,10 +493,10 @@ const initBlocks = () => {
|
|
{
|
|
{
|
|
x: 0,
|
|
x: 0,
|
|
y: 0,
|
|
y: 0,
|
|
- ox: formState.region[0],
|
|
|
|
- oy: formState.region[1],
|
|
|
|
- width: formState.region[2],
|
|
|
|
- height: formState.region[3],
|
|
|
|
|
|
+ ox: formState.region[0] ?? 0,
|
|
|
|
+ oy: formState.region[1] ?? 0,
|
|
|
|
+ width: formState.region[2] ?? 50,
|
|
|
|
+ height: formState.region[3] ?? 50,
|
|
},
|
|
},
|
|
]
|
|
]
|
|
}
|
|
}
|
|
@@ -618,7 +618,7 @@ const echoFormState = (val: SourceData) => {
|
|
endTime: item?.end_time ?? '',
|
|
endTime: item?.end_time ?? '',
|
|
}))
|
|
}))
|
|
: [],
|
|
: [],
|
|
- region: JSON.parse(val.region ?? '[]'),
|
|
|
|
|
|
+ region: JSON.parse(val.region ?? '[0, 0, 50, 50]'),
|
|
enable: val?.enable === 1,
|
|
enable: val?.enable === 1,
|
|
}
|
|
}
|
|
}
|
|
}
|
|
@@ -692,7 +692,7 @@ const cancel = () => {
|
|
emit('update:open', false)
|
|
emit('update:open', false)
|
|
// 重置表单
|
|
// 重置表单
|
|
formState.planName = ''
|
|
formState.planName = ''
|
|
- formState.region = []
|
|
|
|
|
|
+ formState.region = [0, 0, 50, 50]
|
|
formState.eventType = null
|
|
formState.eventType = null
|
|
formState.thresholdTime = 300
|
|
formState.thresholdTime = 300
|
|
formState.mergeTime = 30
|
|
formState.mergeTime = 30
|