|
|
|
@ -47,9 +47,7 @@ |
|
|
|
><span>电池状态:</span |
|
|
|
>{{ getLabelWithTypeValue('batteryStatus', item.batteryStatus) }}</div |
|
|
|
> |
|
|
|
|
|
|
|
<!-- <div><span>启用状态:</span>{{ item.enableStatus === 1 ? '启用' : '备用' }}</div> --> |
|
|
|
<!-- <hr /> --> |
|
|
|
|
|
|
|
<div><span>电量:</span>{{ item.battery }}</div> |
|
|
|
<div><span>数值:</span>{{ item.value }} {{ item.unit }}</div> |
|
|
|
<div><span>时间:</span>{{ item.timeStr }}</div> |
|
|
|
@ -67,14 +65,11 @@ |
|
|
|
> |
|
|
|
</div> |
|
|
|
|
|
|
|
<!-- {{ item }} --> |
|
|
|
</div> |
|
|
|
</el-collapse-item> |
|
|
|
</el-collapse> |
|
|
|
</el-scrollbar> |
|
|
|
<!-- <div v-for="item in filterMarkers" :key="item.id" class="marker-item"> |
|
|
|
<div>{{ item.name }}:{{ item.onlineStatus === 1 ? '在线' : '离线' }}</div> |
|
|
|
</div> --> |
|
|
|
|
|
|
|
</div> |
|
|
|
</div> |
|
|
|
</template> |
|
|
|
@ -84,9 +79,9 @@ import TopPanel from './components/TopPanel.vue' |
|
|
|
|
|
|
|
import { getLastDetectorData } from '@/api/gas' |
|
|
|
import { HandDetectorData } from '@/api/gas/handdetector' |
|
|
|
import { tdengineApi, tdStruct, tdQuery } from '@/api/gas/tdengine/index' |
|
|
|
import { tdengineApi } from '@/api/gas/tdengine/index' |
|
|
|
|
|
|
|
import { getLabelWithTypeValue, getHighestPriorityStatus,getStatusLabel,getStatusColor } from './components/utils/map.utils' |
|
|
|
import { getLabelWithTypeValue, getHighestPriorityStatus,getStatusLabel,getStatusColor,getStatusPriority } from './components/utils/map.utils' |
|
|
|
|
|
|
|
import { MarkerData, FenceData } from './components/types/map.types' |
|
|
|
|
|
|
|
@ -94,6 +89,7 @@ import { useHandDetectorStore } from '@/store/modules/handDetector' |
|
|
|
import { ElMessage } from 'element-plus' |
|
|
|
import dayjs from 'dayjs' |
|
|
|
import { getDistance } from 'ol/sphere' |
|
|
|
const componentsIsActive = ref(false) |
|
|
|
|
|
|
|
const handDetectorStore = useHandDetectorStore() // 手持探测器 store |
|
|
|
|
|
|
|
@ -156,6 +152,7 @@ const getMarkers = async () => { |
|
|
|
statusStr:statusStr, //状态字符串 |
|
|
|
statusColor: getStatusColor(statusStr), //状态颜色 |
|
|
|
statusLabel: getStatusLabel(statusStr), //状态标签 |
|
|
|
statusPriority: getStatusPriority(statusStr), //状态优先级, |
|
|
|
} |
|
|
|
}) |
|
|
|
markers.value = res2 |
|
|
|
@ -182,7 +179,7 @@ function setCenter(item: MarkerData) { |
|
|
|
mapRef.value?.setCenter([item.longitude || 0, item.latitude || 0]) |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
// 记录当前选中的手持设备,主要用于重新获取轨迹 |
|
|
|
let currentMarker: MarkerData | null = null |
|
|
|
var trajectoryTimeRange = ref([dayjs().subtract(1, 'hour').valueOf(), dayjs().valueOf()]) |
|
|
|
// 时间范围改变 |
|
|
|
@ -232,7 +229,7 @@ async function showTrajectory(item: MarkerData) { |
|
|
|
if (index === 0) { |
|
|
|
return true |
|
|
|
} |
|
|
|
if (index == arr.length - 2) { |
|
|
|
if (index == arr.length - 1) { |
|
|
|
return true |
|
|
|
} |
|
|
|
|
|
|
|
@ -300,10 +297,20 @@ onMounted(() => { |
|
|
|
console.log('定时器,暂时关掉,太烦了') |
|
|
|
|
|
|
|
getDataTimer.value = setInterval(() => { |
|
|
|
if (!componentsIsActive.value) { |
|
|
|
return |
|
|
|
} |
|
|
|
getMarkers() |
|
|
|
getFences() |
|
|
|
}, 5000) |
|
|
|
}) |
|
|
|
|
|
|
|
onActivated(() => { |
|
|
|
componentsIsActive.value = true |
|
|
|
}) |
|
|
|
onDeactivated(() => { |
|
|
|
componentsIsActive.value = false |
|
|
|
}) |
|
|
|
onUnmounted(() => { |
|
|
|
clearInterval(getDataTimer.value as NodeJS.Timeout) |
|
|
|
}) |
|
|
|
|