From 8a7fb9a519cae32d38ba66058d243aa7e6b6aeb2 Mon Sep 17 00:00:00 2001
From: 罗广辉 <guanghui.luo@foxmail.com>
Date: Tue, 27 Jan 2026 08:57:49 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'
---
applications/drone-command/src/views/detectionCountermeasure/detectionRange/DetectionRangeDialog.vue | 28 ++++++++++++++++++++++++----
1 files changed, 24 insertions(+), 4 deletions(-)
diff --git a/applications/drone-command/src/views/detectionCountermeasure/detectionRange/DetectionRangeDialog.vue b/applications/drone-command/src/views/detectionCountermeasure/detectionRange/DetectionRangeDialog.vue
index ca54c44..a939219 100644
--- a/applications/drone-command/src/views/detectionCountermeasure/detectionRange/DetectionRangeDialog.vue
+++ b/applications/drone-command/src/views/detectionCountermeasure/detectionRange/DetectionRangeDialog.vue
@@ -123,6 +123,7 @@
v-model="formData.effectiveRangeKm"
:min="0"
:precision="0"
+ :step="1"
:controls="false"
placeholder="请输入"
/>
@@ -227,7 +228,14 @@
function formatRange(value) {
if (value == null || value === '') return '-'
- return `${value}`
+ const normalized = normalizeRange(value)
+ return normalized == null ? '-' : `${normalized}`
+}
+
+function normalizeRange(value) {
+ const numeric = Number(value)
+ if (!Number.isFinite(numeric)) return null
+ return Math.trunc(numeric)
}
// 关闭弹框
@@ -242,14 +250,16 @@
submitting.value = true
try {
const {longitude, latitude} = parseDeployLocation(formData.value.deployLocation)
+ const normalizedRange = normalizeRange(formData.value.effectiveRangeKm)
const payload = {
id: formData.value.id || formData.value.deviceId || undefined,
- effectiveRangeKmIsNotNull: formData.value.effectiveRangeKm ? 1 : 2,
- effectiveRangeKm: formData.value.effectiveRangeKm,
+ effectiveRangeKmIsNotNull: normalizedRange != null ? 1 : 2,
+ effectiveRangeKm: normalizedRange,
longitude,
latitude
}
+ formData.value.effectiveRangeKm = normalizedRange
delete payload.deviceId
await detectionRangeSubmitApi(payload)
@@ -280,6 +290,7 @@
current: 1,
size: 200,
effectiveRangeKmIsNotNull: 2,
+ isTrack: 1
})
const records = res?.data?.data?.records ?? []
deviceOptions.value = records.map(item => ({
@@ -432,9 +443,18 @@
watch(
() => formData.value.effectiveRangeKm,
value => {
+ const normalized = normalizeRange(value)
+ if (value != null && normalized == null) {
+ formData.value.effectiveRangeKm = null
+ return
+ }
+ if (value != null && normalized !== value) {
+ formData.value.effectiveRangeKm = normalized
+ return
+ }
const parsed = parseDeployLocation(formData.value.deployLocation)
if (!parsed) return
- updateRangeCircle(parsed.longitude, parsed.latitude, value)
+ updateRangeCircle(parsed.longitude, parsed.latitude, normalized)
}
)
</script>
--
Gitblit v1.9.3