- 坐标: ${markerData.coordinates[0].toFixed(6)}, ${markerData.coordinates[1].toFixed(6)}
+
类型:${markerData.gasChemical}
+
数值:${markerData.value} ${markerData.unit ? markerData.unit : ''}
+
时间:${markerData.time ? markerData.time : '-'}
+
+ 坐标:${markerData.coordinates[0].toFixed(6)}, ${markerData.coordinates[1].toFixed(6)}
`
}
diff --git a/web/src/views/HandDevice/Home/components/types/map.types.ts b/web/src/views/HandDevice/Home/components/types/map.types.ts
index 8572dcb..89be640 100644
--- a/web/src/views/HandDevice/Home/components/types/map.types.ts
+++ b/web/src/views/HandDevice/Home/components/types/map.types.ts
@@ -46,7 +46,10 @@ export interface MarkerData extends HandDetector {
/** 标记标题 */
name: string
/** 自定义数据 */
- data?: any
+ data?: any,
+ value: number,
+ unit: string,
+ time: string
}
// 地图组件 Props 接口
diff --git a/web/src/views/HandDevice/Home/index.vue b/web/src/views/HandDevice/Home/index.vue
index 657fbd7..ad95c5d 100644
--- a/web/src/views/HandDevice/Home/index.vue
+++ b/web/src/views/HandDevice/Home/index.vue
@@ -8,6 +8,7 @@ import { HandDetector } from '@/api/gas/handdetector'
import { MarkerData } from './components/types/map.types'
import { Fence } from '@/api/gas/fence'
import { FenceApi } from '@/api/gas/fence'
+import dayjs from 'dayjs'
const getDataTimer = ref
(null)
const markers = ref([])
const fences = ref([])
@@ -16,14 +17,17 @@ const getMarkers = async () => {
console.log('getMarkers')
return await getLastestDetectorData().then((res: HandDetector[]) => {
res = res.filter((i) => i.enableStatus === 1)
- res = res.map((i) => {
+ var res2 = res.map((i) => {
return {
...i,
coordinates: [i.longitude, i.latitude],
- data: []
+ data: [],
+ time: i.time ? dayjs(i.time).format('YYYY-MM-DD HH:mm:ss') : '',
+ value: i.value,
+ unit: i.unit
}
})
- markers.value = res as unknown as any[]
+ markers.value = res2 as unknown as any[]
inited.value = true
})
}
@@ -34,14 +38,14 @@ const getFences = async () => {
pageSize: 100
}).then((res) => {
console.log('getFences', res)
- let fencesData = res.list as Fence[]
- fencesData = fencesData.map((i) => {
- return {
- ...i,
- fenceRange: JSON.parse(i.fenceRange)
- }
- })
- fences.value = fencesData as unknown as Fence[]
+ let fencesData = res.list as Fence[]
+ fencesData = fencesData.map((i) => {
+ return {
+ ...i,
+ fenceRange: JSON.parse(i.fenceRange)
+ }
+ })
+ fences.value = fencesData as unknown as Fence[]
})
}
onMounted(() => {
From 7a09817c46d76802d1c18a57fa6ec6facaf4a6a1 Mon Sep 17 00:00:00 2001
From: xh <11675084@qq.com>
Date: Fri, 17 Oct 2025 15:15:22 +0800
Subject: [PATCH 4/5] =?UTF-8?q?=E6=89=8B=E6=8C=81=E8=A1=A8=E5=9B=B4?=
=?UTF-8?q?=E6=A0=8F=E7=B1=BB=E5=9E=8B?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../HandDevice/Home/components/types/map.types.ts | 6 ++---
.../views/gas/handdetector/HandDetectorForm.vue | 31 ++++++++++++++--------
web/src/views/gas/handdetector/index.vue | 2 +-
3 files changed, 24 insertions(+), 15 deletions(-)
diff --git a/web/src/views/HandDevice/Home/components/types/map.types.ts b/web/src/views/HandDevice/Home/components/types/map.types.ts
index 89be640..8427b5b 100644
--- a/web/src/views/HandDevice/Home/components/types/map.types.ts
+++ b/web/src/views/HandDevice/Home/components/types/map.types.ts
@@ -47,9 +47,9 @@ export interface MarkerData extends HandDetector {
name: string
/** 自定义数据 */
data?: any,
- value: number,
- unit: string,
- time: string
+ value?: number,
+ unit?: string,
+ time?: number
}
// 地图组件 Props 接口
diff --git a/web/src/views/gas/handdetector/HandDetectorForm.vue b/web/src/views/gas/handdetector/HandDetectorForm.vue
index d45db4e..d856e7d 100644
--- a/web/src/views/gas/handdetector/HandDetectorForm.vue
+++ b/web/src/views/gas/handdetector/HandDetectorForm.vue
@@ -13,19 +13,9 @@
-
-
-
-
-
-
+
+
+
+
+
+
+
{
+ return props.fences.filter((item) => item.type === formData.value.fenceType)
+})
+/** 围栏类型改变时,应用围栏列表也会改变 */
+const fenceTypeChange = () => {
+ formData.value.fenceIdsArray = []
+}
+
/** 打开弹窗 */
const open = async (type: string, id?: number) => {
dialogVisible.value = true
diff --git a/web/src/views/gas/handdetector/index.vue b/web/src/views/gas/handdetector/index.vue
index 650ad73..2fdc357 100644
--- a/web/src/views/gas/handdetector/index.vue
+++ b/web/src/views/gas/handdetector/index.vue
@@ -86,7 +86,7 @@
-
+
From 6bc80d8c6433efaa0635120c4633a30a9a515fcf Mon Sep 17 00:00:00 2001
From: xh <11675084@qq.com>
Date: Fri, 17 Oct 2025 15:54:26 +0800
Subject: [PATCH 5/5] =?UTF-8?q?=E6=B0=94=E4=BD=93=E6=8A=A5=E8=AD=A6?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
web/.eslintrc.js | 13 +-----
web/src/utils/dict.ts | 2 +-
web/src/views/gas/handalarm/index.vue | 87 ++++++++++++++++++++++++-----------
3 files changed, 63 insertions(+), 39 deletions(-)
diff --git a/web/.eslintrc.js b/web/.eslintrc.js
index 4e7041d..02e0935 100644
--- a/web/.eslintrc.js
+++ b/web/.eslintrc.js
@@ -60,18 +60,7 @@ module.exports = defineConfig({
'vue/require-default-prop': 'off',
'vue/require-explicit-emits': 'off',
'vue/require-toggle-inside-transition': 'off',
- 'vue/html-self-closing': [
- 'error',
- {
- html: {
- void: 'always',
- normal: 'never',
- component: 'always'
- },
- svg: 'always',
- math: 'always'
- }
- ],
+ 'vue/html-self-closing':'off',
'vue/multi-word-component-names': 'off',
'vue/no-v-html': 'off',
'prettier/prettier': 'off', // 芋艿:默认关闭 prettier 的 ESLint 校验,因为我们使用的是 IDE 的 Prettier 插件
diff --git a/web/src/utils/dict.ts b/web/src/utils/dict.ts
index 94e9e32..490c152 100644
--- a/web/src/utils/dict.ts
+++ b/web/src/utils/dict.ts
@@ -174,6 +174,6 @@ export enum DICT_TYPE {
HAND_DETECTOR_FENCE_TYPE = 'hand_detector_fence_type', // HAND 手持探测器围栏类型 1:超出报警;2:进入报警
HAND_DETECTOR_FENCE_STATUS = 'hand_detector_fence_status', // HAND 手持探测器围栏状态 1:启用;2:禁用
HAND_DETECTOR_ALARM_LEVEL = 'hand_detector_alarm_level', // HAND 手持探测器警报方式/级别 0:正常状态;1:一级警报;2:二级警报;3:弹窗警报
- HAND_DETECTOR_HANDLE_STATUS = 'hand_detector_handle_status', // HAND 手持探测器处理状态 0:待处理;1:处理中;1:已处理
+ HAND_DETECTOR_HANDLE_STATUS = 'hand_detector_chandle_status', // HAND 手持探测器处理状态 0:待处理;1:处理中;1:已处理
HAND_DETECTOR_VALUE_DIRECTION = 'hand_detector_value_direction' // HAND 手持探测器最值方向 0:小;1:大
}
diff --git a/web/src/views/gas/handalarm/index.vue b/web/src/views/gas/handalarm/index.vue
index 8593e75..be2b359 100644
--- a/web/src/views/gas/handalarm/index.vue
+++ b/web/src/views/gas/handalarm/index.vue
@@ -8,9 +8,9 @@
:inline="true"
label-width="120px"
>
-
+
@@ -34,22 +34,39 @@
class="!w-240px"
/>
-
+
+
+
+
+
+
+
-
+
+
+
+
+
+
+
搜索
重置
@@ -123,30 +153,27 @@
@selection-change="handleRowCheckboxChange"
>
-
-
+
+
-
+
{{
- handDetectorStore.getAlarmTypes.find((item) => item.id === scope.row.alarmType)?.name
+ handDetectorStore.getAlarmTypes.find((item) => item.level === scope.row.alarmLevel)
+ ?.name
}}
-
-
- {{ handDetectorStore.getGasTypes.find((item) => item.id === scope.row.gasType)?.name }}
-
-
-
-
-
+
+
+
+
+ {{
+ getIntDictOptions(DICT_TYPE.HAND_DETECTOR_HANDLE_STATUS).find(
+ (item) => item.value === scope.row.status
+ )?.label
+ }}
+
+