diff --git a/web/.env.dev b/web/.env.dev
index 4348911..fc948b4 100644
--- a/web/.env.dev
+++ b/web/.env.dev
@@ -3,8 +3,9 @@ NODE_ENV=production
VITE_DEV=true
# 请求路径
-VITE_BASE_URL='https://mobile.zdhlcn.com'
-VITE_BASE_URL='https://lock.zdhlcn.com:9807'
+# VITE_BASE_URL='https://mobile.zdhlcn.com'
+# VITE_BASE_URL='https://lock.zdhlcn.com:9807'
+VITE_BASE_URL=http://mobile.icpcdev.site
# 文件上传类型:server - 后端上传, client - 前端直连上传,仅支持S3服务
VITE_UPLOAD_TYPE=server
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/pnpm-workspace.yaml b/web/pnpm-workspace.yaml
new file mode 100644
index 0000000..07a306e
--- /dev/null
+++ b/web/pnpm-workspace.yaml
@@ -0,0 +1,8 @@
+onlyBuiltDependencies:
+ - '@parcel/watcher'
+ - '@swc/core'
+ - core-js
+ - core-js-pure
+ - es5-ext
+ - esbuild
+ - vue-demi
diff --git a/web/src/api/gas/handdetector/index.ts b/web/src/api/gas/handdetector/index.ts
index 7f23fd5..10222ec 100644
--- a/web/src/api/gas/handdetector/index.ts
+++ b/web/src/api/gas/handdetector/index.ts
@@ -22,6 +22,9 @@ export interface HandDetector {
accuracy?: number // 数值除数
sortOrder?: number // 排序
remark?: string // 备注
+
+ time?: number // 时间
+ value?: number // 数值
}
// GAS手持探测器 API
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/HandDevice/Home/components/services/popup.service.ts b/web/src/views/HandDevice/Home/components/services/popup.service.ts
index 07b04aa..9c52b30 100644
--- a/web/src/views/HandDevice/Home/components/services/popup.service.ts
+++ b/web/src/views/HandDevice/Home/components/services/popup.service.ts
@@ -44,8 +44,11 @@ export class PopupService {
状态: ${getStatusLabel(status)}
-
- 坐标: ${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..8427b5b 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?: number
}
// 地图组件 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(() => {
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
+ }}
+
+
+
+
+
+
+ {{ dict.label }}
+
+
+
+
+
{
+ 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
@@ -193,6 +216,7 @@ const resetForm = () => {
name: undefined,
fenceIds: '',
fenceIdsArray: [],
+ fenceType: undefined,
gasTypeId: undefined,
gasChemical: '',
min: 0,
diff --git a/web/src/views/gas/handdetector/index.vue b/web/src/views/gas/handdetector/index.vue
index a4d1ecd..2fdc357 100644
--- a/web/src/views/gas/handdetector/index.vue
+++ b/web/src/views/gas/handdetector/index.vue
@@ -83,6 +83,12 @@
}}
+
+
+
+
+
+
{{ handDetectorStore.getGasTypes.find((item) => item.id === scope.row.gasTypeId)?.name }}