Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
卡
卡车调度系统
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Boards
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
caicaicai
卡车调度系统
Commits
ec92cf7f
Commit
ec92cf7f
authored
Apr 11, 2022
by
caicaicai
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
修改
parent
2d64580a
Changes
6
Show whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
149 additions
and
111 deletions
+149
-111
common.js
src/assets/js/common.js
+18
-0
Map2.vue
src/components/mars3d/Map2.vue
+51
-24
index.vue
...telligentDispatchManagement/carManualScheduling/index.vue
+16
-27
index.vue
...ispatchManagement/carManualSchedulingManagement/index.vue
+3
-18
index.vue
...ntelligentDispatchManagement/carVoiceSupplement/index.vue
+15
-38
index.vue
...iews/MLargeScreen/components/intelligentSchedul/index.vue
+46
-4
No files found.
src/assets/js/common.js
View file @
ec92cf7f
...
...
@@ -357,6 +357,14 @@ var HttpReq = function(){
data
:
data
,
})
},
//车辆管理——车辆信息状态1
carPeopStatus1Query
:
function
(
param
){
return
request
({
url
:
'
/api/CarPeop/status
'
,
method
:
'
get
'
,
params
:
param
,
})
},
//车辆管理——车辆故障管理
carFaultQuery
:
function
(
param
){
return
request
({
...
...
@@ -1827,6 +1835,16 @@ var HttpReq = function(){
data
:
data
,
})
},
//大屏——智能调度——近期通知列表2
screenDispatchWayAdd
:
function
(
data
){
return
request
({
url
:
'
/api/Dispatch/way
'
,
method
:
'
POST
'
,
data
:
data
,
}).
then
((
res
)
=>
{
return
res
})
},
//大屏——数据分析——矿石产量比
screenOreProportionDayQuery
:
function
(
param
){
return
request
({
...
...
src/components/mars3d/Map2.vue
View file @
ec92cf7f
...
...
@@ -158,11 +158,23 @@ export default {
that
.
zuobianData
=
data1
//console.log("zuobianData",that.zuobianData);
//console.log("weilanName",that.weilanName);
this
.
$nextTick
(()
=>
{
if
(
this
.
appendToBody
)
{
document
.
body
.
appendChild
(
this
.
$el
)
}
if
(
this
.
mapKey
)
{
this
.
initMars3d
(
this
.
options
)
}
else
{
mars3d
.
Resource
.
fetchJson
({
url
:
this
.
url
}).
then
((
data
)
=>
{
this
.
initMars3d
(
data
.
map3d
)
// 构建地图
})
}
})
}
})
//获取历史轨迹
HttpReq
.
truckDispatching
.
getAllHistroyCarTrajectoryQuery
({
id
:
that
.
deviceId
}).
then
((
res
)
=>
{
console
.
log
(
'
获取历史轨迹
'
,
res
);
//
console.log('获取历史轨迹',res);
if
(
res
.
code
==
200
){
let
obj1
=
{};
let
array1
=
[];
...
...
@@ -175,15 +187,9 @@ export default {
})
obj1
.
name
=
res
.
data
.
devId
;
obj1
.
arrays
=
array1
;
that
.
historyTrajectoryData
.
push
(
obj1
);
console
.
log
(
that
.
historyTrajectoryData
);
}
})
let
hisCenterData
=
[...
that
.
historyTrajectoryData
];
hisCenterData
.
push
(
obj1
);
that
.
historyTrajectoryData
=
[...
hisCenterData
];
this
.
$nextTick
(()
=>
{
if
(
this
.
appendToBody
)
{
...
...
@@ -197,6 +203,11 @@ export default {
})
}
})
}
})
},
//上传围栏数据
...
...
@@ -274,10 +285,26 @@ export default {
that
.
addGraphic_01
(
graphicLayer
,
item
,
that
.
weilanName
[
index
]);
})
//历史轨迹回放
that
.
historyTrajectoryData
.
forEach
(
function
(
item
,
index
){
var
graphicLayer2
=
new
mars3d
.
layer
.
GraphicLayer
();
map
.
addLayer
(
graphicLayer2
);
var
itemText
=
`<table style="width: auto;">
<tr>
<th scope="col" colspan="2" style="text-align:center;font-size:15px;">卡车号码:
${
item
.
name
}
</th>
</tr>
<tr>
<td>名称:卡车二</td>
</tr>
</table>`
;
initGraphicManager
(
graphicLayer2
,
itemText
);
that
.
addGraphic_02
(
graphicLayer2
,
item
.
arrays
,
item
.
name
);
})
//创建矢量数据图层2
var
graphicLayer1
=
new
mars3d
.
layer
.
GraphicLayer
();
map
.
addLayer
(
graphicLayer1
);
var
item
=
`<table style="width: auto;">
var
item
Text
=
`<table style="width: auto;">
<tr>
<th scope="col" colspan="2" style="text-align:center;font-size:15px;">卡车号码:鲁K12345</th>
</tr>
...
...
@@ -285,8 +312,8 @@ export default {
<td>名称:卡车一</td>
</tr>
</table>`
;
initGraphicManager
(
graphicLayer1
,
item
);
th
is
.
addGraphic_02
(
graphicLayer1
,
this
.
persons
);
initGraphicManager
(
graphicLayer1
,
item
Text
);
th
at
.
addGraphic_02
(
graphicLayer1
,
this
.
persons
,
'
卡车一
'
);
// 抛出事件
this
.
$emit
(
'
onload
'
,
map
)
...
...
@@ -343,7 +370,7 @@ export default {
graphicLayer
.
addGraphic
(
graphic
);
//还可以另外一种写法: graphic.addTo(graphicLayer)
},
//车辆轨迹
addGraphic_02
(
graphicLayer1
,
positions
)
{
addGraphic_02
(
graphicLayer1
,
positions
,
truckName
)
{
var
property
=
new
Cesium
.
SampledPositionProperty
();
var
tempTime
;
...
...
@@ -370,7 +397,7 @@ export default {
},
},
label
:
{
text
:
"
卡车一
"
,
text
:
truckName
,
font_size
:
19
,
font_family
:
"
楷体
"
,
color
:
Cesium
.
Color
.
AZURE
,
...
...
src/views/IntelligentDispatchManagement/carManualScheduling/index.vue
View file @
ec92cf7f
...
...
@@ -4,11 +4,11 @@
<div
class=
"ctin-box"
>
<div
class=
"content-within"
>
<div
class=
"content-fix"
>
<el-form
size=
"small"
label-width=
"100px"
>
<el-form
size=
"small"
label-width=
"100px"
:rules=
"rules"
>
<div
style=
"font-size:20px;font-weight:bold;margin-bottom:10px;"
>
选择车辆
</div>
<el-form-item
label=
"车
辆名称
"
style=
"display: inline-block;"
>
<el-input
v-model=
"query.n
ame"
clearable
size=
"small"
placeholder=
"请输入车辆名称
"
style=
"width:180px;"
/>
<el-form-item
label=
"车
牌号
"
style=
"display: inline-block;"
>
<el-input
v-model=
"query.n
umber"
clearable
size=
"small"
placeholder=
"请输入车牌号
"
style=
"width:180px;"
/>
</el-form-item>
<el-form-item
label=
"所属车队"
style=
"display: inline-block;"
>
<el-select
v-model=
"query.road"
placeholder=
"请选择所属车队"
style=
"width:180px;"
>
...
...
@@ -25,12 +25,12 @@
<el-form-item
label=
"选择车辆"
>
<el-checkbox-group
v-model=
"checkDataList"
class=
"checkboxViews"
>
<el-checkbox
v-for=
"(obj,index) in carInformationData"
:label=
"obj.n
ame + '/' + obj.number"
:key=
"index"
>
{{
obj
.
name
+
'
/
'
+
obj
.
number
}}
</el-checkbox>
<el-checkbox
v-for=
"(obj,index) in carInformationData"
:label=
"obj.n
umber"
:key=
"index"
>
{{
obj
.
number
}}
</el-checkbox>
</el-checkbox-group>
</el-form-item>
<div
style=
"font-size:20px;font-weight:bold;margin-bottom:10px;"
>
调度详情
</div>
<el-form-item
label=
"调度单号"
style=
"display: inline-block;"
>
<el-form-item
label=
"调度单号"
style=
"display: inline-block;"
prop=
"odd"
>
<el-input
v-model=
"form.odd"
clearable
size=
"small"
placeholder=
"请输入调度单号"
style=
"width:220px;"
/>
</el-form-item>
<el-form-item
label=
"车辆类型"
style=
"display: inline-block;"
>
...
...
@@ -86,6 +86,11 @@ export default {
carInformationData
:[],
areaInformationData
:[],
carTypeData
:[],
rules
:
{
// odd: [
// {required: true, message: '请输入调度单号', trigger: 'blur' }
// ],
},
}
},
mounted
()
{
...
...
@@ -108,11 +113,9 @@ export default {
param
.
size
=
9999
;
this
.
$nextTick
(()
=>
{
//获取车辆信息
HttpReq
.
truckDispatching
.
carInformationQuery
(
param
).
then
((
res
)
=>
{
if
(
res
.
code
==
200
){;
this
.
carInformationData
=
res
.
data
.
content
;
}
//获取车辆信息以及状态
HttpReq
.
truckDispatching
.
carPeopStatus1Query
(
param
).
then
((
res
)
=>
{
this
.
carInformationData
=
res
;
})
//获取车队
HttpReq
.
truckDispatching
.
carFleetQuery
({
size
:
9999
}).
then
((
res
)
=>
{
...
...
@@ -138,7 +141,9 @@ export default {
//发起调度
toDispatch
(){
let
that
=
this
;
HttpReq
.
truckDispatching
.
manualSchedulingAdd
(
this
.
form
).
then
((
res
)
=>
{
let
query1
=
{...
this
.
form
};
query1
.
carNo
=
JSON
.
stringify
(
this
.
checkDataList
);
HttpReq
.
truckDispatching
.
manualSchedulingAdd
(
query1
).
then
((
res
)
=>
{
if
(
res
.
code
==
200
){
this
.
$notify
({
title
:
'
车辆调度发起成功!
'
,
...
...
@@ -153,22 +158,6 @@ export default {
})
}
}).
catch
(
function
(
error
)
{
});
this
.
checkDataList
.
forEach
((
item
)
=>
{
let
data1
=
{};
data1
.
name
=
item
;
data1
.
odd
=
that
.
form
.
odd
;
HttpReq
.
truckDispatching
.
manualSchedulingCarsAdd
(
data1
).
then
((
res
)
=>
{
if
(
res
.
code
==
200
){
}
else
{
this
.
$notify
({
title
:
res
.
msg
,
type
:
'
error
'
,
duration
:
2500
})
}
}).
catch
(
function
(
error
)
{
});
})
this
.
query
=
{};
this
.
form
=
{};
this
.
checkDataList
=
[];
...
...
src/views/IntelligentDispatchManagement/carManualSchedulingManagement/index.vue
View file @
ec92cf7f
...
...
@@ -56,7 +56,7 @@
<el-form
size=
"small"
label-width=
"100px"
>
<el-form-item
label=
"调度车辆"
>
<div
class=
"checkboxViews"
>
<div
v-for=
"(obj,index) in carInformationData"
:key=
"index"
>
{{obj
.name
}}
</div>
<div
v-for=
"(obj,index) in carInformationData"
:key=
"index"
>
{{obj}}
</div>
</div>
</el-form-item>
<el-form-item
label=
"调度时长"
>
...
...
@@ -159,12 +159,7 @@ export default {
let
code
=
item
.
odd
;
this
.
dispatchDuration
=
item
.
duration
;
this
.
form
.
visible
=
true
;
//获取车辆信息
HttpReq
.
truckDispatching
.
manualSchedulingCarsQuery
({
size
:
9999
,
odd
:
code
}).
then
((
res
)
=>
{
if
(
res
.
code
==
200
){
this
.
carInformationData
=
res
.
data
.
content
;
}
})
this
.
carInformationData
=
JSON
.
parse
(
item
.
carNo
);
},
//删除提示
toDelete
(
item
)
{
...
...
@@ -179,7 +174,7 @@ export default {
}).
catch
((
e
)
=>
{})
},
//删除调度
reqRemoveProject
(
item
,
itemOdd
){
reqRemoveProject
(
item
){
HttpReq
.
truckDispatching
.
manualSchedulingDel
(
item
).
then
((
res
)
=>
{
if
(
res
.
status
==
400
){
this
.
$notify
({
...
...
@@ -196,16 +191,6 @@ export default {
}
this
.
loadData
();
})
//获取所属车辆并且删除
HttpReq
.
truckDispatching
.
manualSchedulingCarsQuery
({
size
:
9999
,
odd
:
itemOdd
}).
then
((
res
)
=>
{
let
delCheckCarsList
=
[];
if
(
res
.
code
==
200
){
res
.
data
.
content
.
forEach
((
itemSon
)
=>
{
delCheckCarsList
.
push
(
itemSon
.
id
);
});
HttpReq
.
truckDispatching
.
manualSchedulingCarsDel
(
delCheckCarsList
).
then
((
res
)
=>
{
})
}
})
},
currentTime
(
time
){
var
date
=
new
Date
(
time
);
...
...
src/views/IntelligentDispatchManagement/carVoiceSupplement/index.vue
View file @
ec92cf7f
...
...
@@ -56,17 +56,17 @@
<el-form
size=
"small"
label-width=
"100px"
>
<el-form-item
label=
"调度车辆"
>
<div
class=
"checkboxViews"
>
<div
v-for=
"(obj,index) in carInformationData"
:key=
"index"
>
{{obj
.name
}}
</div>
<div
v-for=
"(obj,index) in carInformationData"
:key=
"index"
>
{{obj}}
</div>
</div>
</el-form-item>
</el-form>
</el-dialog>
<el-dialog
append-to-body
:visible.sync=
"form.toAddVisible"
title=
"添加调度"
width=
"1200px"
>
<el-form
size=
"small"
label-width=
"100px"
>
<el-form
size=
"small"
label-width=
"100px"
:rules=
"rules"
>
<div
style=
"font-size:20px;font-weight:bold;margin-bottom:10px;"
>
选择车辆
</div>
<el-form-item
label=
"车
辆名称
"
style=
"display: inline-block;"
>
<el-input
v-model=
"queryAdd.n
ame"
clearable
size=
"small"
placeholder=
"请输入车辆名称
"
style=
"width:180px;"
/>
<el-form-item
label=
"车
牌号
"
style=
"display: inline-block;"
>
<el-input
v-model=
"queryAdd.n
umber"
clearable
size=
"small"
placeholder=
"请输入车牌号
"
style=
"width:180px;"
/>
</el-form-item>
<el-form-item
label=
"所属车队"
style=
"display: inline-block;"
>
<el-select
v-model=
"queryAdd.road"
placeholder=
"请选择所属车队"
style=
"width:180px;"
>
...
...
@@ -83,12 +83,12 @@
<el-form-item
label=
"选择车辆"
>
<el-checkbox-group
v-model=
"checkDataListAdd"
class=
"checkboxViewsAdd"
>
<el-checkbox
v-for=
"(obj,index) in carInformationDataAdd"
:label=
"obj.n
ame + '/' + obj.number"
:key=
"index"
>
{{obj.name + '/' +
obj.number}}
</el-checkbox>
<el-checkbox
v-for=
"(obj,index) in carInformationDataAdd"
:label=
"obj.n
umber"
:key=
"index"
>
{{
obj.number}}
</el-checkbox>
</el-checkbox-group>
</el-form-item>
<div
style=
"font-size:20px;font-weight:bold;margin-bottom:10px;"
>
调度详情
</div>
<el-form-item
label=
"调度单号"
style=
"display: inline-block;"
>
<el-form-item
label=
"调度单号"
style=
"display: inline-block;"
prop=
"odd"
>
<el-input
v-model=
"formAdd.odd"
clearable
size=
"small"
placeholder=
"请输入调度单号"
style=
"width:220px;"
/>
</el-form-item>
<el-form-item
label=
"车辆类型"
style=
"display: inline-block;"
>
...
...
@@ -154,8 +154,8 @@ export default {
item
:{},
},
rules
:
{
//
number
: [
// {required: true, message: '请输入
车牌
号', trigger: 'blur' }
//
odd
: [
// {required: true, message: '请输入
调度单
号', trigger: 'blur' }
// ],
},
...
...
@@ -223,14 +223,8 @@ export default {
},
//查看调度车辆
showCars
(
item
){
let
code
=
item
.
odd
;
this
.
form
.
visible
=
true
;
//获取车辆信息
HttpReq
.
truckDispatching
.
personRecordingCarsQuery
({
size
:
9999
,
odd
:
code
}).
then
((
res
)
=>
{
if
(
res
.
code
==
200
){
this
.
carInformationData
=
res
.
data
.
content
;
}
})
this
.
carInformationData
=
JSON
.
parse
(
item
.
carNo
);
},
//添加提示
toAdd
()
{
...
...
@@ -312,11 +306,9 @@ export default {
param
.
size
=
9999
;
this
.
$nextTick
(()
=>
{
//获取车辆信息
HttpReq
.
truckDispatching
.
carInformationQuery
(
param
).
then
((
res
)
=>
{
if
(
res
.
code
==
200
){;
this
.
carInformationDataAdd
=
res
.
data
.
content
;
}
//获取车辆信息以及状态
HttpReq
.
truckDispatching
.
carPeopStatus1Query
(
param
).
then
((
res
)
=>
{
this
.
carInformationDataAdd
=
res
;
})
//获取车队
HttpReq
.
truckDispatching
.
carFleetQuery
({
size
:
9999
}).
then
((
res
)
=>
{
...
...
@@ -341,8 +333,9 @@ export default {
},
//发起调度
toDispatchAdd
(){
let
that
=
this
;
HttpReq
.
truckDispatching
.
personRecordingAdd
(
this
.
formAdd
).
then
((
res
)
=>
{
let
query1
=
{...
this
.
formAdd
};
query1
.
carNo
=
JSON
.
stringify
(
this
.
checkDataListAdd
);
HttpReq
.
truckDispatching
.
personRecordingAdd
(
query1
).
then
((
res
)
=>
{
if
(
res
.
code
==
200
){
this
.
$notify
({
title
:
'
车辆调度发起成功!
'
,
...
...
@@ -359,22 +352,6 @@ export default {
})
}
}).
catch
(
function
(
error
)
{
});
this
.
checkDataListAdd
.
forEach
((
item
)
=>
{
let
data1
=
{};
data1
.
name
=
item
;
data1
.
odd
=
that
.
formAdd
.
odd
;
HttpReq
.
truckDispatching
.
personRecordingCarsAdd
(
data1
).
then
((
res
)
=>
{
if
(
res
.
code
==
200
){
}
else
{
this
.
$notify
({
title
:
res
.
msg
,
type
:
'
error
'
,
duration
:
2500
})
}
}).
catch
(
function
(
error
)
{
});
})
this
.
form
.
toAddVisible
=
false
;
this
.
queryAdd
=
{};
this
.
formAdd
=
{};
...
...
src/views/MLargeScreen/components/intelligentSchedul/index.vue
View file @
ec92cf7f
...
...
@@ -38,7 +38,7 @@
<el-button
type=
"primary"
@
click=
"toNoticeFn('广播')"
>
广播
</el-button>
<el-button
type=
"primary"
@
click=
"toNoticeFn('紧急通知')"
>
紧急通知
</el-button>
<el-button
type=
"primary"
@
click=
"toNoticeFn('通话')"
>
通话
</el-button>
<el-button
type=
"primary"
@
click=
"to
NoticeFn('人工调度')"
>
人工调度
</el-button>
<el-button
type=
"primary"
@
click=
"to
dispatchChange()"
>
{{
dispatchBtnTitle
}}
</el-button>
</div>
</div>
</div>
...
...
@@ -145,6 +145,8 @@ export default {
dispatchLoadingNum
:
0
,
//智能调度进行中
dispatchFinishNum
:
0
,
//智能调度已完成
dispatchDetailsList
:[],
//智能调度情况表
dispatchBtnTitle
:
'
人工调度
'
,
dispatchBtnTitle1
:
'
人工调度
'
,
}
},
created
(){
...
...
@@ -170,9 +172,16 @@ export default {
//车辆信息
this
.
loadData2
();
//近期通知列表
HttpReq
.
truckDispatching
.
recentNoticeQuery
({
size
:
9999
,
sort
:
'
id,desc
'
,
}).
then
((
res
)
=>
{
HttpReq
.
truckDispatching
.
recentNoticeQuery
({
size
:
50
,
sort
:
'
id,desc
'
}).
then
((
res
)
=>
{
if
(
res
.
code
==
200
){
this
.
recentNoticeData
=
res
.
data
.
content
;
let
flag0
=
[];
this
.
recentNoticeData
.
forEach
((
item
)
=>
{
if
(
item
.
flag
==
0
){
flag0
.
push
(
item
);
}
})
this
.
dispatchBtnTitle
=
flag0
[
0
].
noticeClass
;
};
})
//智能调度情况
...
...
@@ -224,7 +233,7 @@ export default {
},
//发起通知
toNoticeFn
(
text
){
HttpReq
.
truckDispatching
.
recentNoticeAdd
({
noticeClass
:
text
}).
then
((
res
)
=>
{
HttpReq
.
truckDispatching
.
recentNoticeAdd
({
noticeClass
:
text
,
flag
:
1
}).
then
((
res
)
=>
{
if
(
res
.
code
==
200
){
this
.
$notify
({
title
:
text
+
'
发起成功!
'
,
...
...
@@ -232,11 +241,44 @@ export default {
duration
:
2500
});
//近期通知列表
HttpReq
.
truckDispatching
.
recentNoticeQuery
({
size
:
9999
,
sort
:
'
id,desc
'
,}).
then
((
res
)
=>
{
HttpReq
.
truckDispatching
.
recentNoticeQuery
({
size
:
50
,
sort
:
'
id,desc
'
,}).
then
((
res
)
=>
{
if
(
res
.
code
==
200
){
this
.
recentNoticeData
=
res
.
data
.
content
;
};
})
}
else
{
this
.
$notify
({
title
:
res
.
msg
,
type
:
'
error
'
,
duration
:
2500
})
}
}).
catch
(
function
(
error
)
{
});
},
//人工调度和智能调度切换
todispatchChange
(){
if
(
this
.
dispatchBtnTitle
==
'
人工调度
'
){
this
.
dispatchBtnTitle
=
'
智能调度
'
;
this
.
dispatchBtnTitle1
=
'
人工调度
'
;
}
else
{
this
.
dispatchBtnTitle
=
'
人工调度
'
;
this
.
dispatchBtnTitle1
=
'
智能调度
'
;
}
HttpReq
.
truckDispatching
.
recentNoticeAdd
({
noticeClass
:
this
.
dispatchBtnTitle1
,
flag
:
0
}).
then
((
res
)
=>
{
if
(
res
.
code
==
200
){
this
.
$notify
({
title
:
this
.
dispatchBtnTitle1
+
'
发起成功!
'
,
type
:
'
success
'
,
duration
:
2500
});
//近期通知列表
HttpReq
.
truckDispatching
.
recentNoticeQuery
({
size
:
50
,
sort
:
'
id,desc
'
,}).
then
((
res
)
=>
{
if
(
res
.
code
==
200
){
this
.
recentNoticeData
=
res
.
data
.
content
;
};
})
//发起添加调度类型
HttpReq
.
truckDispatching
.
screenDispatchWayAdd
({
dispatcher
:
this
.
dispatchBtnTitle1
}).
then
((
res
)
=>
{
})
}
else
{
this
.
$notify
({
title
:
res
.
msg
,
...
...
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