Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
F
FleetTruckView
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
FleetTruck
FleetTruckView
Commits
42b0618d
Commit
42b0618d
authored
Sep 18, 2024
by
李玲燕
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
修改车端UI、停车点
parent
4e749a66
Hide whitespace changes
Inline
Side-by-side
Showing
11 changed files
with
108 additions
and
16 deletions
+108
-16
CMakeLists.txt
CMakeLists.txt
+1
-1
config.json
public/config.json
+1
-1
emptyTruck1fault.png
public/image/emptyTruck1fault.png
+0
-0
heavyTruck1fault.png
public/image/heavyTruck1fault.png
+0
-0
stop_point.png
public/image/stop_point.png
+0
-0
index.js
src/js/socket/index.js
+2
-1
dealData.worker.js
src/js/worker/dealData.worker.js
+3
-1
MapStore.js
src/store/MapStore.js
+1
-0
BasicInformation.vue
src/views/BasicInformation.vue
+11
-9
view_def.js
src/views/js/view_def.js
+47
-1
MapLeaflet.vue
src/views/map/MapLeaflet.vue
+42
-2
No files found.
CMakeLists.txt
View file @
42b0618d
...
...
@@ -8,7 +8,7 @@ set (CMAKE_CXX_STANDARD 11)
# Version.
set
(
MAJOR_VERSION
"1"
)
set
(
MINOR_VERSION
"1"
)
set
(
PATCH_VERSION
"
7
"
)
set
(
PATCH_VERSION
"
8
"
)
# Import cmake modules.
list
(
APPEND CMAKE_MODULE_PATH
"$ENV{HT_BUILDSYS_CMAKE_MODULES}"
)
...
...
public/config.json
View file @
42b0618d
{
"SERVICE_IP"
:
"1
72.16.0.101
:1234"
,
"SERVICE_IP"
:
"1
92.168.92.185
:1234"
,
"LOG_SERVE_IP"
:
"192.168.93.87:8020"
,
"MAP_CENTER"
:
[
39.74441007068
,
111.24544532751
],
"version"
:
"1.1.4"
...
...
public/image/emptyTruck1fault.png
0 → 100644
View file @
42b0618d
6.8 KB
public/image/heavyTruck1fault.png
0 → 100644
View file @
42b0618d
6.38 KB
public/image/stop_point.png
0 → 100644
View file @
42b0618d
9.13 KB
src/js/socket/index.js
View file @
42b0618d
...
...
@@ -337,9 +337,10 @@ export default class Socket {
const
worker
=
this
.
root
.
worker
.
worker
[
key
]
switch
(
type
)
{
case
'/vehicle/basicinfo'
:
const
{
avoidancePath
,
obstacle
}
=
msg
const
{
avoidancePath
,
obstacle
,
stopPoint
}
=
msg
avoidancePath
&&
worker
.
postMessage
({
name
:
'avoidancePath'
,
msg
:
avoidancePath
})
obstacle
&&
worker
.
postMessage
({
name
:
'obstacle'
,
msg
:
obstacle
})
stopPoint
&&
worker
.
postMessage
({
name
:
'stopPoint'
,
msg
:
[
stopPoint
]})
this
.
vehicleStore
.
setBasicInfo
(
msg
)
break
case
'/vehicle/nextPathinfo'
:
...
...
src/js/worker/dealData.worker.js
View file @
42b0618d
...
...
@@ -120,11 +120,13 @@ self.onmessage = function({data}) {
for
(
let
i
=
0
;
i
<
msg
.
length
;
i
++
)
{
let
item
=
msg
[
i
]
const
{
basic
,
safe
,
traj
}
=
item
const
{
vehicleType
,
vehicleLoad
,
vehicleLatitude
,
vehicleLongtitude
,
vehicleHeading
,
vehicleID
}
=
basic
const
{
vehicleType
,
vehicleLoad
,
vehicleLatitude
,
vehicleLongtitude
,
vehicleHeading
,
vehicleID
,
status
}
=
basic
let
image
=
null
if
([
0
,
11
,
10
,
15
].
includes
(
vehicleType
))
{
image
=
vehicleLoad
>
10
?
'heavyTruck1'
:
'emptyTruck1'
// 故障状态
if
(
status
==
17
)
image
+=
'fault'
}
else
{
image
=
VEHICLE_IMAGE
[
vehicleType
]
}
...
...
src/store/MapStore.js
View file @
42b0618d
...
...
@@ -27,6 +27,7 @@ export const useMapStore = defineStore('map', {
nextPathAvailable
:
null
,
// 下一段路路权
currPathAvailable
:
null
,
// 当前路径路权
dynamicPathinfo
:
null
,
// 车辆动态路权信息
stopPoint
:
null
,
// 停车点
}
},
actions
:
{
...
...
src/views/BasicInformation.vue
View file @
42b0618d
...
...
@@ -10,12 +10,14 @@
<ul
class=
"basic-info"
>
<li
v-for=
"list in lists"
:key=
"list.index"
>
<p
v-for=
"item in list"
:key=
"item.index"
>
<span>
{{
item
.
label
}}
:
</span>
<span
v-if=
"item.name === 'target_velocity' || item.name === 'VechicleSpd'"
>
{{
Number
(
debug
[
item
.
name
]).
toFixed
(
1
)
}}
</span>
<span
v-else-if=
"['obstacleFrontDistance', 'obstacleFrontFlag', 'obstacleBackBarriDistance'].includes(item.name)"
>
{{
Number
(
debug
[
item
.
name
]).
toFixed
(
2
)
}}
</span>
<span
v-else-if=
"item.name === 'vehicleLoad'"
>
{{
vehicleLoad
}}
</span>
<span
v-else-if=
"item.name === 'oil'"
>
{{
surplusOil
}}
</span>
<span
v-else
>
{{
debug
[
item
.
name
]
}}
</span>
<template
v-if=
"Object.keys(debug).includes(item.name)"
>
<span>
{{
item
.
label
}}
:
</span>
<span
v-if=
"['target_velocity', 'VechicleSpd', 'gasBrake', 'soc'].includes(item.name)"
>
{{
Number
(
debug
[
item
.
name
]).
toFixed
(
1
)
}}
</span>
<span
v-else-if=
"['obstacleFrontDistance', 'obstacleFrontFlag', 'obstacleBackBarriDistance'].includes(item.name)"
>
{{
Number
(
debug
[
item
.
name
]).
toFixed
(
2
)
}}
</span>
<span
v-else-if=
"item.name === 'vehicleLoad'"
>
{{
vehicleLoad
}}
</span>
<span
v-else-if=
"item.name === 'oil'"
>
{{
surplusOil
}}
</span>
<span
v-else
>
{{
debug
[
item
.
name
]
}}
</span>
</
template
>
</p>
</li>
<
template
v-if=
"debug['followVisible']"
>
...
...
@@ -100,11 +102,11 @@
height: calc(100% - 40px);
li {
display: flex;
height: 3.5vh;
max-
height: 3.5vh;
line-height: 3.5vh;
min-height: 30px;
//
min-height: 30px;
p {
padding:
5px
10px;
padding:
0
10px;
min-width: 50%;
white-space: nowrap;
span:nth-child(1) {
...
...
src/views/js/view_def.js
View file @
42b0618d
...
...
@@ -62,7 +62,7 @@ export const INFORMATION_MESSAGE = [
[
{
name
:
'Retarder_cmd'
,
label
:
'
电
制动给定'
label
:
'
缓行
制动给定'
},
{
name
:
'retarder_position'
,
...
...
@@ -71,6 +71,36 @@ export const INFORMATION_MESSAGE = [
],
[
{
name
:
'parkBrakeCmd'
,
label
:
'驻车制动给定'
},
{
name
:
'parkBrakeStatus'
,
label
:
'反馈'
}
],
[
{
name
:
'exhaustBrakeCmd'
,
label
:
'排气制动给定'
},
{
name
:
'exhaustBrakeStatus'
,
label
:
'反馈'
}
],
[
{
name
:
'retarderGearCmd'
,
label
:
'缓行档位给定'
},
{
name
:
'retarderGearStatus'
,
label
:
'反馈'
}
],
[
{
name
:
'loadBrakeCmd'
,
label
:
'装载制动给定'
},
...
...
@@ -97,6 +127,22 @@ export const INFORMATION_MESSAGE = [
],
[
{
name
:
'gearNumber'
,
label
:
'具体档位'
},
{
name
:
'soc'
,
label
:
'Soc'
}
],
[
{
name
:
'gasBrake'
,
label
:
'气刹压力'
}
],
[
{
name
:
'EngSpd'
,
label
:
'发动机转速'
},
...
...
src/views/map/MapLeaflet.vue
View file @
42b0618d
...
...
@@ -64,6 +64,7 @@
const
mapLayers
=
markRaw
({})
const
safeObjects
=
markRaw
({})
const
safeTrajs
=
markRaw
({})
const
symbleLayers
=
markRaw
({})
const
singlePaths
=
markRaw
([])
const
navigate
=
ref
(
true
)
const
currentRotation
=
ref
(
0
)
...
...
@@ -95,6 +96,7 @@
avoidancePath
,
// 绕障路径
obstacleData
,
dynamicPathinfo
,
// 车辆动态路权信息
stopPoint
,
// 停车点
}
=
mapStoreToRefs
const
vehicleStore
=
useVehicleStore
()
const
vehicleStoreToRefs
=
storeToRefs
(
vehicleStore
)
...
...
@@ -263,6 +265,7 @@
}
function
dealMapPath
(
value
,
layerName
,
color
)
{
if
(
!
map
)
return
if
(
mapLayers
[
layerName
])
{
map
.
removeLayer
(
mapLayers
[
layerName
])
delete
mapLayers
[
layerName
]
...
...
@@ -357,6 +360,34 @@
mapStore
.
setData
(
layerName
,
null
)
}
function
deleteSymble
(
layerName
)
{
Object
.
keys
(
symbleLayers
).
forEach
(
item
=>
{
if
(
item
.
includes
(
layerName
)){
map
.
removeLayer
(
symbleLayers
[
item
])
}
})
}
function
dealSymbleLayer
(
value
,
layerName
,
url
)
{
if
(
!
map
)
return
deleteSymble
(
layerName
)
if
(
value
&&
value
.
length
)
{
for
(
let
i
=
0
;
i
<
value
.
length
;
i
++
)
{
let
[
lat
,
lon
]
=
value
[
i
]
if
(
!
lat
&&
!
lon
)
continue
symbleLayers
[
`
${
layerName
}
`
]
=
L
.
marker
([
lat
,
lon
],
{
icon
:
L
.
icon
({
iconUrl
:
`/image/
${
url
}
.png`
,
iconSize
:
[
50
,
50
],
iconAnchor
:
[
25
,
35
],
}),
zIndexOffset
:
100
,
}).
addTo
(
map
)
}
}
}
function
removeLayer
(
obj
,
vehicleID
)
{
if
(
obj
[
vehicleID
])
{
for
(
let
item
in
obj
[
vehicleID
])
{
...
...
@@ -415,7 +446,7 @@
safeTrajs
[
vehicleID
][
'circle'
].
bringToFront
()
}
else
{
if
(
dealedData
&&
!
dealedData
.
length
)
return
;
if
(
dealedData
==
'undefined'
)
return
;
if
(
dealedData
==
'undefined'
||
!
dealedData
)
return
;
let
path
=
L
.
polyline
(
JSON
.
parse
(
JSON
.
stringify
(
dealedData
)),
{})
safeTrajs
[
vehicleID
][
'path'
]
=
path
let
bufferLine
=
turf
.
buffer
(
path
.
toGeoJSON
(),
trajPathWid
/
2
,
{
units
:
"meters"
})
...
...
@@ -466,7 +497,8 @@
let
beforeIconUrl
=
vehicles
[
vehicleID
].
getIcon
().
options
?
vehicles
[
vehicleID
].
getIcon
().
options
.
iconUrl
:
vehicles
[
vehicleID
].
getIcon
().
iconUrl
if
(
!
beforeIconUrl
.
includes
(
image
))
{
let
beforeIconImage
=
beforeIconUrl
.
match
(
/image
\/(\S
*
)
.png/
)[
1
]
if
(
beforeIconImage
!=
image
)
{
let
newIcon
=
L
.
icon
({
iconUrl
:
`/image/
${
image
}
.png`
,
iconSize
,
...
...
@@ -639,6 +671,14 @@
adjustmentLayer
()
},
{
immediate
:
true
,
deep
:
true
})
// TODO: 增加停车点图标
watch
(
stopPoint
,
(
value
,
oldValue
)
=>
{
if
(
value
&&
oldValue
&&
value
.
length
&&
oldValue
.
length
)
{
if
(
value
[
0
][
0
]
==
oldValue
[
0
][
0
]
&&
value
[
0
][
1
]
==
oldValue
[
0
][
1
])
return
}
dealSymbleLayer
(
value
,
'stopPoint'
,
'stop_point'
)
},
{
immediate
:
true
,
deep
:
true
})
watch
(
currPathinfo
,
(
value
)
=>
{
dealMapPath
(
value
,
'currentPath'
,
currPathAvailable
.
value
===
1
?
'#19ae19'
:
'#8B4513'
)
adjustmentLayer
()
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment