diff --git a/web/src/views/HandDevice/Home/components/HistoricalCurve.vue b/web/src/views/HandDevice/Home/components/HistoricalCurve.vue index c62b601..cdeffb3 100644 --- a/web/src/views/HandDevice/Home/components/HistoricalCurve.vue +++ b/web/src/views/HandDevice/Home/components/HistoricalCurve.vue @@ -93,12 +93,10 @@ async function getData(row: MarkerData) { ElMessage.error('没有数据') historicalData.value = [] } - historicalData.value = data - .sort((a, b) => a.ts - b.ts) - .map((item) => ({ - ...item, - timeStr: dayjs(item.ts).format('YYYY-MM-DD HH:mm:ss') - })) + historicalData.value = data.map((item) => ({ + ...item, + timeStr: dayjs(item.ts).format('YYYY-MM-DD HH:mm:ss') + })) } catch (error) { // ElMessage.error(error.message) } finally { diff --git a/web/src/views/HandDevice/Home/components/constants/map.constants.ts b/web/src/views/HandDevice/Home/components/constants/map.constants.ts index ac35546..7540af1 100644 --- a/web/src/views/HandDevice/Home/components/constants/map.constants.ts +++ b/web/src/views/HandDevice/Home/components/constants/map.constants.ts @@ -47,8 +47,7 @@ export const DEFAULT_MARKERS = [] // 地图默认配置 export const MAP_DEFAULTS = { // tileUrl: 'http://qtbj.icpcdev.site/roadmap/{z}/{x}/{y}.png', - tileUrl: - 'https://webrd04.is.autonavi.com/appmaptile?lang=zh_cn&size=1&scale=1&style=7&x={x}&y={y}&z={z}', + tileUrl:'https://webrd04.is.autonavi.com/appmaptile?lang=zh_cn&size=1&scale=1&style=7&x={x}&y={y}&z={z}', center: [116.3912757, 39.906217] as [number, number], zoom: 10, maxZoom: 18, diff --git a/web/src/views/HandDevice/Home/index.vue b/web/src/views/HandDevice/Home/index.vue index 27612b2..8cf4c72 100644 --- a/web/src/views/HandDevice/Home/index.vue +++ b/web/src/views/HandDevice/Home/index.vue @@ -4,8 +4,8 @@ { return { ...i, coordinates: [i.longitude || 0, i.latitude || 0] as [number, number], - // data: [], + timeStr: i.time ? dayjs(i.time).format('YYYY-MM-DD HH:mm:ss') : '', - // value: i.value, - // unit: i.unit, - // gasStatus: i.gasStatus, //气体报警状态 - // batteryStatus: i.batteryStatus, //电池报警状态 - // fenceStatus: i.fenceStatus, //电子围栏报警状态 - // onlineStatus: i.onlineStatus, //在线状态 - // enableStatus: i.enableStatus, //启用状态 + statusStr: statusStr, //状态字符串 statusColor: getStatusColor(statusStr), //状态颜色 statusLabel: getStatusLabel(statusStr), //状态标签 @@ -263,35 +257,42 @@ async function showTrajectory(item: MarkerData) { let before = arr[index - 1] let after = arr[index + 1] + let before_after_distance = getDistance( + [after.longitude, after.latitude], + [before.longitude, before.latitude] + ) + + // 过滤小范围移动点位 + if (before_after_distance < 6) { + console.log('过滤小范围移动点位', before_after_distance) + return false + } + let beforeDistance = getDistance( [before.longitude, before.latitude], [item.longitude, item.latitude] ) - console.log('beforeDistance', beforeDistance) - if (beforeDistance < 40) { - return true - } let afterDistance = getDistance( [after.longitude, after.latitude], [item.longitude, item.latitude] ) - console.log('afterDistance', afterDistance) - if (afterDistance < 40) { - return true + // 过滤掉前、后点位都超过40m的,且前和后点位小于20m的, + if (beforeDistance > 40 && afterDistance > 40 && before_after_distance < 20) { + console.log( + '过滤掉前和后点位相差小于20m的,且与前、后点位都超过40m的', + beforeDistance, + afterDistance, + before_after_distance + ) + return false } - let before_after_distance = getDistance( - [after.longitude, after.latitude], - [before.longitude, before.latitude] - ) - console.log('before_after_distance', before_after_distance) - if (before_after_distance < 20) { - return true - } + // console.log('beforeDistance', afterDistance) + // console.log('前距离', beforeDistance,'后距离',afterDistance,'前后距离',before_after_distance) - return false + return true }) .map((j) => { return { @@ -373,15 +374,13 @@ onMounted(() => { getFences() - console.log('定时器,暂时关掉,太烦了') - getDataTimer.value = setInterval(() => { if (!componentsIsActive.value) { return } getMarkers() getFences() - }, 5000) + }, 4000) }) onActivated(() => {