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
Show whitespace changes
Inline
Side-by-side
Showing
11 changed files
with
103 additions
and
11 deletions
+103
-11
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
+6
-4
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)
...
@@ -8,7 +8,7 @@ set (CMAKE_CXX_STANDARD 11)
# Version.
# Version.
set
(
MAJOR_VERSION
"1"
)
set
(
MAJOR_VERSION
"1"
)
set
(
MINOR_VERSION
"1"
)
set
(
MINOR_VERSION
"1"
)
set
(
PATCH_VERSION
"
7
"
)
set
(
PATCH_VERSION
"
8
"
)
# Import cmake modules.
# Import cmake modules.
list
(
APPEND CMAKE_MODULE_PATH
"$ENV{HT_BUILDSYS_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"
,
"LOG_SERVE_IP"
:
"192.168.93.87:8020"
,
"MAP_CENTER"
:
[
39.74441007068
,
111.24544532751
],
"MAP_CENTER"
:
[
39.74441007068
,
111.24544532751
],
"version"
:
"1.1.4"
"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 {
...
@@ -337,9 +337,10 @@ export default class Socket {
const
worker
=
this
.
root
.
worker
.
worker
[
key
]
const
worker
=
this
.
root
.
worker
.
worker
[
key
]
switch
(
type
)
{
switch
(
type
)
{
case
'/vehicle/basicinfo'
:
case
'/vehicle/basicinfo'
:
const
{
avoidancePath
,
obstacle
}
=
msg
const
{
avoidancePath
,
obstacle
,
stopPoint
}
=
msg
avoidancePath
&&
worker
.
postMessage
({
name
:
'avoidancePath'
,
msg
:
avoidancePath
})
avoidancePath
&&
worker
.
postMessage
({
name
:
'avoidancePath'
,
msg
:
avoidancePath
})
obstacle
&&
worker
.
postMessage
({
name
:
'obstacle'
,
msg
:
obstacle
})
obstacle
&&
worker
.
postMessage
({
name
:
'obstacle'
,
msg
:
obstacle
})
stopPoint
&&
worker
.
postMessage
({
name
:
'stopPoint'
,
msg
:
[
stopPoint
]})
this
.
vehicleStore
.
setBasicInfo
(
msg
)
this
.
vehicleStore
.
setBasicInfo
(
msg
)
break
break
case
'/vehicle/nextPathinfo'
:
case
'/vehicle/nextPathinfo'
:
...
...
src/js/worker/dealData.worker.js
View file @
42b0618d
...
@@ -120,11 +120,13 @@ self.onmessage = function({data}) {
...
@@ -120,11 +120,13 @@ self.onmessage = function({data}) {
for
(
let
i
=
0
;
i
<
msg
.
length
;
i
++
)
{
for
(
let
i
=
0
;
i
<
msg
.
length
;
i
++
)
{
let
item
=
msg
[
i
]
let
item
=
msg
[
i
]
const
{
basic
,
safe
,
traj
}
=
item
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
let
image
=
null
if
([
0
,
11
,
10
,
15
].
includes
(
vehicleType
))
{
if
([
0
,
11
,
10
,
15
].
includes
(
vehicleType
))
{
image
=
vehicleLoad
>
10
?
'heavyTruck1'
:
'emptyTruck1'
image
=
vehicleLoad
>
10
?
'heavyTruck1'
:
'emptyTruck1'
// 故障状态
if
(
status
==
17
)
image
+=
'fault'
}
else
{
}
else
{
image
=
VEHICLE_IMAGE
[
vehicleType
]
image
=
VEHICLE_IMAGE
[
vehicleType
]
}
}
...
...
src/store/MapStore.js
View file @
42b0618d
...
@@ -27,6 +27,7 @@ export const useMapStore = defineStore('map', {
...
@@ -27,6 +27,7 @@ export const useMapStore = defineStore('map', {
nextPathAvailable
:
null
,
// 下一段路路权
nextPathAvailable
:
null
,
// 下一段路路权
currPathAvailable
:
null
,
// 当前路径路权
currPathAvailable
:
null
,
// 当前路径路权
dynamicPathinfo
:
null
,
// 车辆动态路权信息
dynamicPathinfo
:
null
,
// 车辆动态路权信息
stopPoint
:
null
,
// 停车点
}
}
},
},
actions
:
{
actions
:
{
...
...
src/views/BasicInformation.vue
View file @
42b0618d
...
@@ -10,12 +10,14 @@
...
@@ -10,12 +10,14 @@
<ul
class=
"basic-info"
>
<ul
class=
"basic-info"
>
<li
v-for=
"list in lists"
:key=
"list.index"
>
<li
v-for=
"list in lists"
:key=
"list.index"
>
<p
v-for=
"item in list"
:key=
"item.index"
>
<p
v-for=
"item in list"
:key=
"item.index"
>
<template
v-if=
"Object.keys(debug).includes(item.name)"
>
<span>
{{
item
.
label
}}
:
</span>
<span>
{{
item
.
label
}}
:
</span>
<span
v-if=
"item.name === 'target_velocity' || item.name === 'VechicleSpd'
"
>
{{
Number
(
debug
[
item
.
name
]).
toFixed
(
1
)
}}
</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=
"['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 === 'vehicleLoad'"
>
{{
vehicleLoad
}}
</span>
<span
v-else-if=
"item.name === 'oil'"
>
{{
surplusOil
}}
</span>
<span
v-else-if=
"item.name === 'oil'"
>
{{
surplusOil
}}
</span>
<span
v-else
>
{{
debug
[
item
.
name
]
}}
</span>
<span
v-else
>
{{
debug
[
item
.
name
]
}}
</span>
</
template
>
</p>
</p>
</li>
</li>
<
template
v-if=
"debug['followVisible']"
>
<
template
v-if=
"debug['followVisible']"
>
...
@@ -100,11 +102,11 @@
...
@@ -100,11 +102,11 @@
height: calc(100% - 40px);
height: calc(100% - 40px);
li {
li {
display: flex;
display: flex;
height: 3.5vh;
max-
height: 3.5vh;
line-height: 3.5vh;
line-height: 3.5vh;
min-height: 30px;
//
min-height: 30px;
p {
p {
padding:
5px
10px;
padding:
0
10px;
min-width: 50%;
min-width: 50%;
white-space: nowrap;
white-space: nowrap;
span:nth-child(1) {
span:nth-child(1) {
...
...
src/views/js/view_def.js
View file @
42b0618d
...
@@ -62,7 +62,7 @@ export const INFORMATION_MESSAGE = [
...
@@ -62,7 +62,7 @@ export const INFORMATION_MESSAGE = [
[
[
{
{
name
:
'Retarder_cmd'
,
name
:
'Retarder_cmd'
,
label
:
'
电
制动给定'
label
:
'
缓行
制动给定'
},
},
{
{
name
:
'retarder_position'
,
name
:
'retarder_position'
,
...
@@ -71,6 +71,36 @@ export const INFORMATION_MESSAGE = [
...
@@ -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'
,
name
:
'loadBrakeCmd'
,
label
:
'装载制动给定'
label
:
'装载制动给定'
},
},
...
@@ -97,6 +127,22 @@ export const INFORMATION_MESSAGE = [
...
@@ -97,6 +127,22 @@ export const INFORMATION_MESSAGE = [
],
],
[
[
{
{
name
:
'gearNumber'
,
label
:
'具体档位'
},
{
name
:
'soc'
,
label
:
'Soc'
}
],
[
{
name
:
'gasBrake'
,
label
:
'气刹压力'
}
],
[
{
name
:
'EngSpd'
,
name
:
'EngSpd'
,
label
:
'发动机转速'
label
:
'发动机转速'
},
},
...
...
src/views/map/MapLeaflet.vue
View file @
42b0618d
...
@@ -64,6 +64,7 @@
...
@@ -64,6 +64,7 @@
const
mapLayers
=
markRaw
({})
const
mapLayers
=
markRaw
({})
const
safeObjects
=
markRaw
({})
const
safeObjects
=
markRaw
({})
const
safeTrajs
=
markRaw
({})
const
safeTrajs
=
markRaw
({})
const
symbleLayers
=
markRaw
({})
const
singlePaths
=
markRaw
([])
const
singlePaths
=
markRaw
([])
const
navigate
=
ref
(
true
)
const
navigate
=
ref
(
true
)
const
currentRotation
=
ref
(
0
)
const
currentRotation
=
ref
(
0
)
...
@@ -95,6 +96,7 @@
...
@@ -95,6 +96,7 @@
avoidancePath
,
// 绕障路径
avoidancePath
,
// 绕障路径
obstacleData
,
obstacleData
,
dynamicPathinfo
,
// 车辆动态路权信息
dynamicPathinfo
,
// 车辆动态路权信息
stopPoint
,
// 停车点
}
=
mapStoreToRefs
}
=
mapStoreToRefs
const
vehicleStore
=
useVehicleStore
()
const
vehicleStore
=
useVehicleStore
()
const
vehicleStoreToRefs
=
storeToRefs
(
vehicleStore
)
const
vehicleStoreToRefs
=
storeToRefs
(
vehicleStore
)
...
@@ -263,6 +265,7 @@
...
@@ -263,6 +265,7 @@
}
}
function
dealMapPath
(
value
,
layerName
,
color
)
{
function
dealMapPath
(
value
,
layerName
,
color
)
{
if
(
!
map
)
return
if
(
mapLayers
[
layerName
])
{
if
(
mapLayers
[
layerName
])
{
map
.
removeLayer
(
mapLayers
[
layerName
])
map
.
removeLayer
(
mapLayers
[
layerName
])
delete
mapLayers
[
layerName
]
delete
mapLayers
[
layerName
]
...
@@ -357,6 +360,34 @@
...
@@ -357,6 +360,34 @@
mapStore
.
setData
(
layerName
,
null
)
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
)
{
function
removeLayer
(
obj
,
vehicleID
)
{
if
(
obj
[
vehicleID
])
{
if
(
obj
[
vehicleID
])
{
for
(
let
item
in
obj
[
vehicleID
])
{
for
(
let
item
in
obj
[
vehicleID
])
{
...
@@ -415,7 +446,7 @@
...
@@ -415,7 +446,7 @@
safeTrajs
[
vehicleID
][
'circle'
].
bringToFront
()
safeTrajs
[
vehicleID
][
'circle'
].
bringToFront
()
}
else
{
}
else
{
if
(
dealedData
&&
!
dealedData
.
length
)
return
;
if
(
dealedData
&&
!
dealedData
.
length
)
return
;
if
(
dealedData
==
'undefined'
)
return
;
if
(
dealedData
==
'undefined'
||
!
dealedData
)
return
;
let
path
=
L
.
polyline
(
JSON
.
parse
(
JSON
.
stringify
(
dealedData
)),
{})
let
path
=
L
.
polyline
(
JSON
.
parse
(
JSON
.
stringify
(
dealedData
)),
{})
safeTrajs
[
vehicleID
][
'path'
]
=
path
safeTrajs
[
vehicleID
][
'path'
]
=
path
let
bufferLine
=
turf
.
buffer
(
path
.
toGeoJSON
(),
trajPathWid
/
2
,
{
units
:
"meters"
})
let
bufferLine
=
turf
.
buffer
(
path
.
toGeoJSON
(),
trajPathWid
/
2
,
{
units
:
"meters"
})
...
@@ -466,7 +497,8 @@
...
@@ -466,7 +497,8 @@
let
beforeIconUrl
=
vehicles
[
vehicleID
].
getIcon
().
options
let
beforeIconUrl
=
vehicles
[
vehicleID
].
getIcon
().
options
?
vehicles
[
vehicleID
].
getIcon
().
options
.
iconUrl
?
vehicles
[
vehicleID
].
getIcon
().
options
.
iconUrl
:
vehicles
[
vehicleID
].
getIcon
().
iconUrl
:
vehicles
[
vehicleID
].
getIcon
().
iconUrl
if
(
!
beforeIconUrl
.
includes
(
image
))
{
let
beforeIconImage
=
beforeIconUrl
.
match
(
/image
\/(\S
*
)
.png/
)[
1
]
if
(
beforeIconImage
!=
image
)
{
let
newIcon
=
L
.
icon
({
let
newIcon
=
L
.
icon
({
iconUrl
:
`/image/
${
image
}
.png`
,
iconUrl
:
`/image/
${
image
}
.png`
,
iconSize
,
iconSize
,
...
@@ -639,6 +671,14 @@
...
@@ -639,6 +671,14 @@
adjustmentLayer
()
adjustmentLayer
()
},
{
immediate
:
true
,
deep
:
true
})
},
{
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
)
=>
{
watch
(
currPathinfo
,
(
value
)
=>
{
dealMapPath
(
value
,
'currentPath'
,
currPathAvailable
.
value
===
1
?
'#19ae19'
:
'#8B4513'
)
dealMapPath
(
value
,
'currentPath'
,
currPathAvailable
.
value
===
1
?
'#19ae19'
:
'#8B4513'
)
adjustmentLayer
()
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