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
b909d563
Commit
b909d563
authored
Mar 08, 2022
by
caicaicai
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
修改
parent
80a8a5fb
Changes
4
Show whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
459 additions
and
2129 deletions
+459
-2129
common.js
src/assets/js/common.js
+93
-0
index.vue
...telligentDispatchManagement/IntelligentDispatch/index.vue
+128
-633
index.vue
...telligentDispatchManagement/carManualScheduling/index.vue
+130
-783
index.vue
...ispatchManagement/carManualSchedulingManagement/index.vue
+108
-713
No files found.
src/assets/js/common.js
View file @
b909d563
...
@@ -690,6 +690,99 @@ var HttpReq = function(){
...
@@ -690,6 +690,99 @@ var HttpReq = function(){
data
:
data
,
data
:
data
,
})
})
},
},
//智能派单——智能派单历史数据
IntelligentDispatchHistoryQuery
:
function
(
param
){
return
request
({
url
:
'
/api/Dispatch
'
,
method
:
'
get
'
,
params
:
param
,
})
},
IntelligentDispatchHistoryAdd
:
function
(
data
){
return
request
({
url
:
'
/api/Dispatch
'
,
method
:
'
POST
'
,
data
:
data
,
}).
then
((
res
)
=>
{
return
res
})
},
IntelligentDispatchHistoryUpdate
:
function
(
data
){
return
request
({
url
:
'
/api/Dispatch
'
,
method
:
'
PUT
'
,
data
:
data
,
})
},
IntelligentDispatchHistoryDel
:
function
(
data
){
return
request
({
url
:
'
/api/Dispatch
'
,
method
:
'
Delete
'
,
data
:
data
,
})
},
//智能派单——人工调度
manualSchedulingQuery
:
function
(
param
){
return
request
({
url
:
'
/api/Manmade
'
,
method
:
'
get
'
,
params
:
param
,
})
},
manualSchedulingAdd
:
function
(
data
){
return
request
({
url
:
'
/api/Manmade
'
,
method
:
'
POST
'
,
data
:
data
,
}).
then
((
res
)
=>
{
return
res
})
},
manualSchedulingUpdate
:
function
(
data
){
return
request
({
url
:
'
/api/Manmade
'
,
method
:
'
PUT
'
,
data
:
data
,
})
},
manualSchedulingDel
:
function
(
data
){
return
request
({
url
:
'
/api/Manmade
'
,
method
:
'
Delete
'
,
data
:
data
,
})
},
//智能派单——人工调度所属调度车辆
manualSchedulingCarsQuery
:
function
(
param
){
return
request
({
url
:
'
/api/Man
'
,
method
:
'
get
'
,
params
:
param
,
})
},
manualSchedulingCarsAdd
:
function
(
data
){
return
request
({
url
:
'
/api/Man
'
,
method
:
'
POST
'
,
data
:
data
,
}).
then
((
res
)
=>
{
return
res
})
},
manualSchedulingCarsUpdate
:
function
(
data
){
return
request
({
url
:
'
/api/Man
'
,
method
:
'
PUT
'
,
data
:
data
,
})
},
manualSchedulingCarsDel
:
function
(
data
){
return
request
({
url
:
'
/api/Man
'
,
method
:
'
Delete
'
,
data
:
data
,
})
},
...
...
src/views/IntelligentDispatchManagement/IntelligentDispatch/index.vue
View file @
b909d563
<
template
>
<
template
>
<div
class=
"common-page device-manage"
>
<div
class=
"common-page device-manage"
>
<div
class=
"option page-row"
>
<div
class=
"option page-row"
>
<!--工具栏-->
<!--工具栏-->
<div
class=
"head-container"
>
<div
class=
"head-container"
>
<!-- 搜索 -->
<!-- 搜索 -->
<label
class=
"el-form-item-label"
style=
"font-weight: 500;"
>
设备识别码
</label>
<label
class=
"el-form-item-label"
style=
"font-weight: 500;"
>
车辆名称
</label>
<el-input
v-model=
"query.code"
clearable
size=
"small"
placeholder=
"请输入设备识别码"
style=
"width:180px;"
@
clear=
"clearLimit"
/>
<el-input
v-model=
"query.name"
clearable
size=
"small"
placeholder=
"请输入车辆名称"
style=
"width:180px;"
/>
<label
class=
"el-form-item-label"
style=
"font-weight: 500;"
>
派单名称
</label>
<el-input
v-model=
"query.names"
clearable
size=
"small"
placeholder=
"请输入派单名称"
style=
"width:180px;"
/>
<!--
<label
class=
"el-form-item-label"
style=
"font-weight: 500;"
>
开始时间
</label>
<el-date-picker
v-model=
"query.startTime"
type=
"datetime"
placeholder=
"请选择开始时间"
></el-date-picker>
<label
class=
"el-form-item-label"
style=
"font-weight: 500;"
>
结束时间
</label>
<el-date-picker
v-model=
"query.endTime"
type=
"datetime"
placeholder=
"请选择结束时间"
></el-date-picker>
-->
<el-button
size=
"mini"
type=
"success"
icon=
"el-icon-search"
@
click=
"toSearch"
>
搜索
</el-button>
<el-button
size=
"mini"
type=
"success"
icon=
"el-icon-search"
@
click=
"toSearch"
>
搜索
</el-button>
<el-button
size=
"mini"
icon=
"el-icon-refresh"
@
click=
"clearLimit"
>
重置
</el-button>
</div>
</div>
</div>
</div>
<!-- 表格 -->
<div
class=
"panel-bottom page-row"
>
<div
class=
"panel-bottom page-row"
>
<h3>
设备管理列表
</h3>
<h3>
智能派单历史数据
</h3>
<div
class=
"ctin-box"
>
<div
class=
"ctin-box"
>
<div
class=
"content-within"
>
<div
class=
"content-within"
>
<div
class=
"content-fix"
>
<div
class=
"content-fix"
>
<div
class=
"toolbar"
>
<div
class=
"toolbar"
>
<
el-button
size=
"mini"
type=
"primary"
icon=
"el-icon-plus"
@
click=
"toAdd"
>
新增
</el-button
>
<
!--
<el-button
size=
"mini"
type=
"primary"
icon=
"el-icon-plus"
@
click=
"toAdd"
>
新增
</el-button>
--
>
</div>
</div>
<div
class=
"content"
>
<div
class=
"content"
>
<el-table
:data=
"tableData"
v-loading=
"loading"
border
style=
"width:auto"
:row-class-name=
"tableRowClassName"
>
<el-table
:data=
"tableData"
v-loading=
"loading"
border
style=
"width:auto"
:row-class-name=
"tableRowClassName"
>
<el-table-column
prop=
"id"
label=
"设备ID"
align=
"center"
></el-table-column>
<el-table-column
prop=
"id"
label=
"单号"
align=
"center"
></el-table-column>
<el-table-column
prop=
"code"
label=
"设备识别码"
align=
"center"
></el-table-column>
<el-table-column
prop=
"name"
label=
"车辆名称"
align=
"center"
></el-table-column>
<el-table-column
prop=
"name"
label=
"设备名称"
align=
"center"
></el-table-column>
<el-table-column
prop=
"names"
label=
"派单名称"
align=
"center"
></el-table-column>
<el-table-column
prop=
"alarmWindspeed"
label=
"风速报警阈值"
align=
"center"
></el-table-column>
<el-table-column
prop=
"zero"
label=
"起点"
align=
"center"
></el-table-column>
<el-table-column
prop=
"alarmTemperature"
label=
"温度报警阈值"
align=
"center"
></el-table-column>
<el-table-column
prop=
"end"
label=
"终点"
align=
"center"
></el-table-column>
<el-table-column
prop=
"alarmHumidity"
label=
"湿度报警阈值"
align=
"center"
></el-table-column>
<el-table-column
prop=
"space"
label=
"里程"
align=
"center"
></el-table-column>
<el-table-column
prop=
"alarmCo2"
label=
"二氧化碳报警阈值"
align=
"center"
></el-table-column>
<el-table-column
prop=
"startTime"
label=
"开始时间"
align=
"center"
></el-table-column>
<el-table-column
prop=
"alarmMlux"
label=
"光照报警阈值"
align=
"center"
></el-table-column>
<el-table-column
prop=
"endTime"
label=
"完成时间"
align=
"center"
></el-table-column>
<el-table-column
prop=
"alarmPh"
label=
"酸碱度报警阈值"
align=
"center"
></el-table-column>
<el-table-column
prop=
"status"
label=
"状态"
align=
"center"
></el-table-column>
<el-table-column
prop=
"alarmWaterTemperature"
label=
"水温报警阈值"
align=
"center"
></el-table-column>
<!--
<el-table-column
label=
"操作"
align=
"center"
fixed=
"right"
>
<el-table-column
prop=
"alarmElectricalConductance"
label=
"电导率报警阈值"
align=
"center"
></el-table-column>
<el-table-column
prop=
"alarmWaterDepth"
label=
"液位报警阈值"
align=
"center"
></el-table-column>
<el-table-column
prop=
"createTime"
label=
"设备激活时间"
align=
"center"
></el-table-column>
<el-table-column
prop=
"addTime"
label=
"最后采集时间"
align=
"center"
></el-table-column>
<el-table-column
prop=
"projectId"
label=
"所属项目"
align=
"center"
:formatter=
"formatter"
></el-table-column>
<el-table-column
label=
"操作"
min-width=
"180px"
align=
"center"
fixed=
"right"
>
<template
slot-scope=
"scope"
>
<template
slot-scope=
"scope"
>
<el-button
size=
"mini"
type=
"success"
icon=
"el-icon-view"
@
click=
"toSeeMore(scope.row)"
></el-button>
<el-button
size=
"mini"
type=
"primary"
icon=
"el-icon-edit"
@
click=
"toEdit(scope.row)"
></el-button>
<el-button
size=
"mini"
type=
"primary"
icon=
"el-icon-edit"
@
click=
"toEdit(scope.row)"
></el-button>
<el-button
size=
"mini"
type=
"danger"
icon=
"el-icon-delete"
@
click=
"toDelete(scope.row)"
></el-button>
<el-button
size=
"mini"
type=
"danger"
icon=
"el-icon-delete"
@
click=
"toDelete(scope.row)"
></el-button>
<!--
<div
class=
"btn-groub2"
>
<el-button
size=
"mini"
type=
"warning"
icon=
"el-icon-set-up"
@
click=
"toInstructionSet(scope.row)"
></el-button>
<el-button
size=
"mini"
type=
"info"
icon=
"el-icon-tickets"
@
click=
"toInstructionLog(scope.row)"
></el-button>
</div>
-->
</
template
>
</
template
>
</el-table-column>
</el-table-column>
-->
</el-table>
</el-table>
<!--分页组件-->
<!--分页组件-->
<el-pagination
:total=
"total"
:current-page=
"page"
style=
"margin-top: 8px;"
layout=
"total, prev, pager, next, sizes"
@
size-change=
"sizeChange"
@
current-change=
"pageChange"
/>
<el-pagination
:total=
"total"
:current-page=
"page"
style=
"margin-top: 8px;"
layout=
"total, prev, pager, next, sizes"
@
size-change=
"sizeChange"
@
current-change=
"pageChange"
/>
...
@@ -57,176 +60,48 @@
...
@@ -57,176 +60,48 @@
<!-- 表单渲染 -->
<!-- 表单渲染 -->
<el-dialog
append-to-body
:close-on-click-modal=
"true"
:before-close=
"cancelForm"
:visible.sync=
"form.visible"
:title=
"form.title"
width=
"700px"
>
<el-dialog
append-to-body
:close-on-click-modal=
"true"
:before-close=
"cancelForm"
:visible.sync=
"form.visible"
:title=
"form.title"
width=
"700px"
>
<el-form
:model=
"form.item"
:rules=
"rules"
ref=
"form1"
:inline=
"true"
size=
"small"
label-width=
"150px"
>
<el-form
:model=
"form.item"
:rules=
"rules"
ref=
"form1"
:inline=
"true"
size=
"small"
label-width=
"150px"
>
<el-form-item
label=
"选择项目"
prop=
"projectId"
>
<el-select
v-model=
"form.item.projectId"
placeholder=
"请选择项目"
size=
"small"
>
<el-option
v-for=
"(obj,index) in form.selectList"
:label=
"obj.name"
:value=
"obj.id"
:key=
"index"
></el-option>
</el-select>
</el-form-item>
<!-- <el-form-item label="设备ID" prop="id">
<el-input v-model="form.item.id" style="width:280px;" placeholder="请输入设备编号" :disabled="form.reqType==='edit'"/>
</el-form-item> -->
<el-form-item
label=
"设备识别码"
prop=
"code"
>
<el-input
v-model=
"form.item.code"
style=
"width:260px;"
placeholder=
"请输入设备识别码"
:disabled=
"form.reqType==='edit'"
/>
</el-form-item>
<el-form-item
label=
"设备名称"
prop=
"name"
>
<el-form-item
label=
"设备名称"
prop=
"name"
>
<el-input
v-model=
"form.item.name"
style=
"width:260px;"
placeholder=
"请输入设备名称"
/>
<el-input
v-model=
"form.item.name"
style=
"width:280px;"
placeholder=
"请输入设备名称"
/>
</el-form-item>
<el-form-item
label=
"风速报警阈值"
prop=
"alarmWindspeed"
>
<el-input
v-model=
"form.item.alarmWindspeed"
style=
"width:160px;"
placeholder=
"请输入风速报警阈值"
/>
</el-form-item>
<el-form-item
label=
"温度报警阈值"
prop=
"alarmTemperature"
>
<el-input
v-model=
"form.item.alarmTemperature"
style=
"width:160px;"
placeholder=
"请输入温度报警阈值"
/>
</el-form-item>
<el-form-item
label=
"湿度报警阈值"
prop=
"alarmHumidity"
>
<el-input
v-model=
"form.item.alarmHumidity"
style=
"width:160px;"
placeholder=
"请输入湿度报警阈值"
/>
</el-form-item>
</el-form-item>
<el-form-item
label=
"
二氧化碳报警阈值"
prop=
"alarmCo2"
>
<el-form-item
label=
"
设备编码"
prop=
"code"
>
<el-input
v-model=
"form.item.
alarmCo2"
style=
"width:160px;"
placeholder=
"请输入二氧化碳报警阈值
"
/>
<el-input
v-model=
"form.item.
code"
style=
"width:280px;"
placeholder=
"请输入车牌号
"
/>
</el-form-item>
</el-form-item>
<el-form-item
label=
"光照报警阈值"
prop=
"alarmMlux"
>
<el-form-item
label=
"设备状态"
prop=
"status"
>
<el-input
v-model=
"form.item.alarmMlux"
style=
"width:160px;"
placeholder=
"请输入光照报警阈值"
/>
<el-select
v-model=
"form.item.status"
placeholder=
"请选择设备状态"
style=
"width:280px;"
>
</el-form-item>
<el-option
label=
"正常"
value=
"正常"
></el-option>
<el-form-item
label=
"酸碱度报警阈值"
prop=
"alarmPh"
>
<el-option
label=
"故障"
value=
"故障"
></el-option>
<el-input
v-model=
"form.item.alarmPh"
style=
"width:160px;"
placeholder=
"请输入酸碱度报警阈值"
/>
</el-form-item>
<el-form-item
label=
"水温报警阈值"
prop=
"alarmWaterTemperature"
>
<el-input
v-model=
"form.item.alarmWaterTemperature"
style=
"width:160px;"
placeholder=
"请输入水温报警阈值"
/>
</el-form-item>
<el-form-item
label=
"电导率报警阈值"
prop=
"alarmElectricalConductance"
>
<el-input
v-model=
"form.item.alarmElectricalConductance"
style=
"width:160px;"
placeholder=
"请输入电导率报警阈值"
/>
</el-form-item>
<el-form-item
label=
"液位报警阈值"
prop=
"alarmWaterDepth"
>
<el-input
v-model=
"form.item.alarmWaterDepth"
style=
"width:160px;"
placeholder=
"请输入液位报警阈值"
/>
</el-form-item>
<el-form-item
label=
"上传设备位置"
prop=
"position"
>
<el-input
v-model=
"picFileName"
style=
"width:160px;"
placeholder=
"请上传设备位置"
disabled
/>
<input
type=
"file"
name=
"image"
@
change=
"excelImport($event)"
/>
</el-form-item>
<div
style=
"margin:0px 0px 10px 55px;font-size:16px;font-weight:bold;"
>
摄像头参数配置
</div>
<el-form-item
label=
"摄像头ID"
prop=
"camera"
>
<el-input
v-model=
"form.item.camera"
style=
"width:160px;"
placeholder=
"请输入摄像头ID"
/>
</el-form-item>
</el-form>
<div
slot=
"footer"
class=
"dialog-footer"
>
<el-button
type=
"text"
@
click=
"cancelForm"
>
取消
</el-button>
<el-button
:loading=
"form.status.cu === 2"
type=
"primary"
@
click=
"submitForm('form1', form.item)"
>
确认
</el-button>
</div>
</el-dialog>
<!-- 查看更多 -->
<el-dialog
title=
"查看设备"
:visible.sync=
"form.seeMoreDialog"
width=
"800px"
>
<el-form
:model=
"seeMoreData"
style=
"margin-top:20px;"
>
<el-form-item
label=
"摄像头位置图片"
label-width=
"150px"
>
<el-image
:src=
"seeMoreImgUrl"
style=
"width:300px;"
></el-image>
</el-form-item>
<el-form-item
label=
"摄像头图像"
label-width=
"150px"
>
<div
id=
"video-container"
style=
"width:550px;height:350px"
></div>
</el-form-item>
<el-form-item
label=
"摄像头ID"
label-width=
"150px"
>
<el-input
v-model=
"seeMoreData.camera"
style=
"width:200px"
></el-input>
</el-form-item>
</el-form>
<div
slot=
"footer"
class=
"dialog-footer"
>
<el-button
type=
"primary"
@
click=
"form.seeMoreDialog = false"
>
关闭
</el-button>
</div>
</el-dialog>
<!-- 历史图表 -->
<el-dialog
class=
"ecahrt1-dialog"
append-to-body
:close-on-click-modal=
"false"
:before-close=
"cancelForm2"
:visible.sync=
"form.historyDialog"
>
<el-form
:rules=
"rules"
ref=
"form1"
:inline=
"true"
size=
"small"
label-width=
"80px"
>
<!-- <el-form-item prop="eprogramid" >
<el-select v-model="form.item2.value" placeholder="请选择月份">
<el-option v-for="obj in form.monthSelectList" :label="obj.name" :value="obj.value"></el-option>
</el-select>
</el-select>
</el-form-item> -->
<el-form-item
prop=
"eprogramid"
>
<date-range-picker
v-model=
"query.timeSpace"
class=
"date-item"
/>
</el-form-item>
<el-form-item
>
<el-button
type=
"primary"
@
click=
"findHistory"
>
查询
</el-button>
</el-form-item>
</el-form-item>
<el-form-item
prop=
"content"
style=
"display:block;"
>
<el-form-item
label=
"终端车辆类型"
prop=
"carclass"
>
<div
class=
"form-body"
>
<el-select
v-model=
"form.item.carclass"
placeholder=
"请选择终端车辆类型"
style=
"width:280px;"
>
<div
id=
"ecahrtA"
></div>
<el-option
label=
"卡车"
value=
"卡车"
></el-option>
</div>
<el-option
label=
"电铲"
value=
"电铲"
></el-option>
</el-form-item>
</el-form>
</el-dialog>
<!-- 指令下发 -->
<el-dialog
append-to-body
:close-on-click-modal=
"false"
:before-close=
"cancelForm3"
:visible.sync=
"form2.visible"
:title=
"form2.title"
width=
"600px"
>
<el-form
:model=
"form2.item"
:rules=
"rules"
ref=
"form2"
:inline=
"true"
size=
"small"
label-width=
"100px"
>
<el-form-item
label=
"设备ID"
prop=
"ecode"
>
<el-input
v-model=
"form2.item.ecode"
style=
"width:280px;"
placeholder=
"请输入设备编号"
:disabled=
"form2.reqType==='edit'"
/>
</el-form-item>
<el-form-item
label=
"设备识别码"
prop=
"subcode"
>
<el-input
v-model=
"form2.item.subcode"
style=
"width:260px;"
placeholder=
"请输入设备识别码"
:disabled=
"form2.reqType==='edit'"
/>
</el-form-item>
<el-form-item
label=
"是否启动校正"
prop=
"ilAdjust"
style=
"width:240px;"
>
<el-select
v-model=
"form2.item.ilAdjust"
placeholder=
"请选择"
size=
"small"
style=
"width:120px;"
>
<el-option
v-for=
"obj in form2.adjustList"
:label=
"obj.name"
:key=
"obj.value"
:value=
"obj.value"
></el-option>
</el-select>
</el-select>
</el-form-item>
</el-form-item>
<el-form-item
label=
"
是否存储裂缝"
prop=
"ilSave"
style=
"width:240px;
"
>
<el-form-item
label=
"
安装车辆"
prop=
"carname
"
>
<el-select
v-model=
"form
2.item.ilSave"
placeholder=
"请选择"
size=
"small"
style=
"width:12
0px;"
>
<el-select
v-model=
"form
.item.carname"
placeholder=
"请选择安装车辆"
style=
"width:28
0px;"
>
<el-option
v-for=
"(obj,index) in form2.saveList"
:label=
"obj.name"
:value=
"obj.value
"
:key=
"index"
></el-option>
<el-option
:label=
"item.name + '/' + item.number"
:value=
"item.name + '/' + item.number"
v-for=
"(item,index) in selectList
"
:key=
"index"
></el-option>
</el-select>
</el-select>
</el-form-item>
</el-form-item>
<el-form-item
label=
"裂缝阈值"
prop=
"ilThreshed"
>
<el-form-item
label=
"备注"
prop=
"remarks"
>
<el-input
v-model=
"form2.item.ilThreshed"
style=
"width:160px;"
placeholder=
"请输入裂缝阈值"
/>
<el-input
type=
"textarea"
v-model=
"form.item.remarks"
style=
"width:280px;"
></el-input>
<span
style=
"color:#aaa;"
>
1~255
</span>
</el-form-item>
<el-form-item
label=
"唤醒周期"
prop=
"timekey"
>
<el-select
v-model=
"form2.item.timekey"
placeholder=
"请选择时间"
size=
"small"
style=
"width:120px;"
>
<el-option
v-for=
"(obj,index) in form2.timeList"
:label=
"obj.name"
:value=
"obj.value"
:key=
"index"
></el-option>
</el-select>
<el-input
v-model=
"form2.item.time"
style=
"width:160px;"
placeholder=
"请输入时长"
/>
</el-form-item>
</el-form-item>
</el-form>
</el-form>
<div
slot=
"footer"
class=
"dialog-footer"
>
<div
slot=
"footer"
class=
"dialog-footer"
>
<el-button
type=
"text"
@
click=
"cancelForm
3
"
>
取消
</el-button>
<el-button
type=
"text"
@
click=
"cancelForm"
>
取消
</el-button>
<el-button
:loading=
"form
2.status.cu === 2"
type=
"primary"
@
click=
"reqSetInstruction('form2', form2
.item)"
>
确认
</el-button>
<el-button
:loading=
"form
.status.cu === 2"
type=
"primary"
@
click=
"submitForm('form1', form
.item)"
>
确认
</el-button>
</div>
</div>
</el-dialog>
</el-dialog>
<!-- 指令日志 -->
<el-dialog
append-to-body
:close-on-click-modal=
"false"
:before-close=
"cancelForm4"
:visible.sync=
"form2.logVisible"
:title=
"form2.title"
width=
"65%"
>
<div
class=
"content"
>
<el-table
:data=
"form2.formData"
v-loading=
"loading"
border
style=
"width:auto"
:row-class-name=
"tableRowClassName"
>
<el-table-column
prop=
"subcode"
label=
"设备识别码"
min-width=
"135px"
></el-table-column>
<el-table-column
prop=
"ilThreshed"
label=
"裂缝阈值"
></el-table-column>
<el-table-column
prop=
"ilAdjust"
label=
"校正功能"
></el-table-column>
<el-table-column
prop=
"ilSave"
label=
"存储裂缝"
></el-table-column>
<el-table-column
prop=
"ilSendTime"
label=
"唤醒时间"
>
<
template
slot-scope=
"scope"
>
{{
scope
.
row
.
time
+
'
(
'
+
scope
.
row
.
timeUnit
+
'
)
'
}}
</
template
>
</el-table-column>
<el-table-column
prop=
"ilSendSuccess"
label=
"下发状态"
></el-table-column>
<el-table-column
prop=
"ilSendTime"
label=
"下发时间"
min-width=
"145px"
></el-table-column>
</el-table>
<!--分页组件-->
<el-pagination
:total=
"form2.total"
:current-page=
"form2.page"
style=
"margin-top:8px;"
layout=
"total, prev, pager, next, sizes"
@
size-change=
"sizeChange2"
@
current-change=
"pageChange2"
/>
</div>
</el-dialog>
</div>
</div>
</template>
</template>
<
script
>
<
script
>
import
echarts
from
'
echarts
'
;
import
{
Tools
,
HttpReq
,
Dates
}
from
'
@/assets/js/common.js
'
;
import
{
Tools
,
HttpReq
,
Dates
}
from
'
@/assets/js/common.js
'
;
import
DateRangePicker
from
'
@/components/DateRangePicker
'
;
import
cuAmap
from
'
@/components/AMap
'
;
import
Axios
from
'
axios
'
import
EZUIKit
from
"
ezuikit-js
"
;
export
default
{
export
default
{
name
:
'
Dashboard
'
,
name
:
'
IntelligentDispatch
'
,
components
:
{
components
:
{},
DateRangePicker
,
cuAmap
},
data
()
{
data
()
{
return
{
return
{
loading
:
false
,
loading
:
false
,
...
@@ -234,77 +109,19 @@ export default {
...
@@ -234,77 +109,19 @@ export default {
size
:
10
,
size
:
10
,
total
:
0
,
total
:
0
,
query
:{},
query
:{},
picFileName
:
''
,
tableData
:
[],
tableData
:
[],
seeMoreData
:{},
selectList
:[],
seeMoreImgUrl
:
""
,
form
:
{
form
:
{
title
:
'
添加设备
'
,
visible
:
false
,
reqType
:
'
add
'
,
historyDialog
:
false
,
seeMoreDialog
:
false
,
title
:
'
新增设备
'
,
visible
:
false
,
reqType
:
'
add
'
,
status
:{
cu
:
0
},
status
:{
cu
:
0
},
selectList
:[],
item
:{},
item
:{},
monthSelectList
:[
{
name
:
'
一月
'
,
value
:
'
01
'
},
{
name
:
'
二月
'
,
value
:
'
02
'
},
{
name
:
'
三月
'
,
value
:
'
03
'
},
{
name
:
'
四月
'
,
value
:
'
04
'
},
{
name
:
'
五月
'
,
value
:
'
05
'
},
{
name
:
'
六月
'
,
value
:
'
06
'
},
{
name
:
'
七月
'
,
value
:
'
07
'
},
{
name
:
'
八月
'
,
value
:
'
08
'
},
{
name
:
'
九月
'
,
value
:
'
09
'
},
{
name
:
'
十月
'
,
value
:
'
10
'
},
{
name
:
'
十一月
'
,
value
:
'
11
'
},
{
name
:
'
十二月
'
,
value
:
'
12
'
},
],
item2
:{
value
:
''
},
},
},
rules
:
{
rules
:
{
projectId
:
[
// number: [
{
required
:
true
,
message
:
'
请选择项目
'
,
trigger
:
'
blur
'
}
// {required: true, message: '请输入车牌号', trigger: 'blur' }
],
// ],
id
:
[
{
required
:
true
,
message
:
'
请输入设备ID
'
,
trigger
:
'
blur
'
}
],
code
:
[
{
required
:
true
,
message
:
'
请输入设备识别码
'
,
trigger
:
'
blur
'
}
],
name
:
[
{
required
:
true
,
message
:
'
请输入设备名称
'
,
trigger
:
'
blur
'
}
],
},
form2
:{
title
:
'
指令下发
'
,
visible
:
false
,
logDialog
:
false
,
logVisible
:
false
,
query
:{},
page
:
1
,
size
:
10
,
total
:
0
,
status
:{
cu
:
0
},
item
:{
ecode
:
""
,
ename
:
''
,
ilAdjust
:
0
,
ilSave
:
0
,
time
:
''
,
ilThreshed
:
0
,
timekey
:
'
ilTimHour
'
,
},
adjustList
:[
{
name
:
'
启动
'
,
value
:
1
},
{
name
:
'
不启动
'
,
value
:
0
},
],
saveList
:[
{
name
:
'
存储
'
,
value
:
1
},
{
name
:
'
不存储
'
,
value
:
0
},
],
timeList
:[
{
name
:
'
时
'
,
value
:
'
ilTimHour
'
},
{
name
:
'
分
'
,
value
:
'
ilTimMins
'
},
{
name
:
'
秒
'
,
value
:
'
ilTimSec
'
},
],
formData
:[],
},
},
}
}
},
},
...
@@ -316,27 +133,22 @@ export default {
...
@@ -316,27 +133,22 @@ export default {
},
},
methods
:
{
methods
:
{
loadData
()
{
loadData
()
{
var
that
=
this
;
var
sort
=
'
id,desc
'
;
var
sort
=
'
addTime,desc
'
;
var
param
=
this
.
query
;
var
param
=
this
.
query
;
param
.
page
=
this
.
page
-
1
;
param
.
page
=
this
.
page
-
1
;
param
.
size
=
this
.
size
;
param
.
size
=
this
.
size
;
param
.
sort
=
sort
;
param
.
sort
=
sort
;
//请求项目列表
this
.
reqProjectsSimple
().
then
((
list
)
=>
{
this
.
form
.
selectList
=
list
;
});
this
.
$nextTick
(()
=>
{
this
.
$nextTick
(()
=>
{
HttpReq
.
plantFactory
.
getDeviceManageList
(
param
).
then
((
res
)
=>
{
//获取设备信息
//console.log(res);
HttpReq
.
truckDispatching
.
IntelligentDispatchHistoryQuery
(
param
).
then
((
res
)
=>
{
if
(
res
.
code
==
200
){
this
.
loading
=
false
;
this
.
loading
=
false
;
this
.
tableData
=
res
.
content
;
this
.
tableData
=
res
.
data
.
content
;
this
.
total
=
res
.
totalElements
;
this
.
total
=
res
.
data
.
totalElements
;
}
})
})
})
})
},
},
tableRowClassName
({
row
,
rowIndex
})
{
tableRowClassName
({
row
,
rowIndex
})
{
if
(
rowIndex
===
1
)
{
if
(
rowIndex
===
1
)
{
...
@@ -348,45 +160,40 @@ export default {
...
@@ -348,45 +160,40 @@ export default {
},
},
// 点击搜索
// 点击搜索
toSearch
()
{
toSearch
()
{
this
.
page
=
1
this
.
page
=
1
;
this
.
loadData
()
// if(this.query.startTime){
// this.query.startTime = this.currentTime(this.query.startTime);
// }
// if(this.query.endTime){
// this.query.endTime = this.currentTime(this.query.endTime);
// }
this
.
loadData
();
},
},
clearLimit
(){
// 清除限制
// 重置搜索
clearLimit
(){
this
.
query
=
{};
this
.
loadData
()
this
.
loadData
()
},
},
cancelForm
(
a
,
b
,
c
){
cancelForm
(
a
,
b
,
c
){
this
.
form
.
visible
=
false
;
this
.
form
.
visible
=
false
;
},
},
cancelForm2
(){
this
.
form
.
historyDialog
=
false
;
},
toAdd
()
{
toAdd
()
{
// 请除表单验证
// 请除表单验证
this
.
$refs
[
'
form1
'
]
&&
this
.
$refs
[
'
form1
'
].
clearValidate
();
this
.
$refs
[
'
form1
'
]
&&
this
.
$refs
[
'
form1
'
].
clearValidate
();
this
.
form
.
title
=
'
添加
设备
'
;
this
.
form
.
title
=
'
新增
设备
'
;
this
.
form
.
status
.
cu
=
0
;
this
.
form
.
status
.
cu
=
0
;
this
.
form
.
visible
=
true
;
this
.
form
.
visible
=
true
;
this
.
form
.
reqType
=
'
add
'
;
this
.
form
.
reqType
=
'
add
'
;
this
.
form
.
item
=
{};
this
.
form
.
item
=
{};
this
.
picFileName
=
''
;
//请求项目列表
this
.
reqProjectsSimple
().
then
((
list
)
=>
{
this
.
form
.
selectList
=
list
});
},
},
toEdit
(
item
)
{
toEdit
(
item
)
{
// 请除表单验证
// 请除表单验证
this
.
$refs
[
'
form1
'
]
&&
this
.
$refs
[
'
form1
'
].
clearValidate
();
this
.
$refs
[
'
form1
'
]
&&
this
.
$refs
[
'
form1
'
].
clearValidate
();
this
.
form
.
title
=
'
编辑
设备
'
;
this
.
form
.
title
=
'
修改
设备
'
;
this
.
form
.
status
.
cu
=
0
;
this
.
form
.
status
.
cu
=
0
;
this
.
form
.
visible
=
true
;
this
.
form
.
visible
=
true
;
this
.
form
.
item
=
item
;
this
.
form
.
item
=
{...
item
}
;
this
.
form
.
reqType
=
'
edit
'
;
this
.
form
.
reqType
=
'
edit
'
;
this
.
picFileName
=
this
.
form
.
item
.
position
;
//请求项目列表
this
.
reqProjectsSimple
().
then
((
list
)
=>
{
this
.
form
.
selectList
=
list
});
},
},
toDelete
(
item
)
{
toDelete
(
item
)
{
var
id
=
item
.
id
;
var
id
=
item
.
id
;
...
@@ -396,103 +203,7 @@ export default {
...
@@ -396,103 +203,7 @@ export default {
type
:
'
warning
'
type
:
'
warning
'
}).
then
((
e
)
=>
{
}).
then
((
e
)
=>
{
this
.
reqRemoveProject
([
id
])
this
.
reqRemoveProject
([
id
])
}).
catch
((
e
)
=>
{
}).
catch
((
e
)
=>
{})
})
},
//查看图片以及其他信息
toSeeMore
(
row
){
//console.log(row);
this
.
seeMoreData
=
row
;
this
.
seeMoreImgUrl
=
process
.
env
.
VUE_APP_LOCAL_API2
+
"
/avatar/
"
+
row
.
position
;
this
.
form
.
seeMoreDialog
=
true
;
this
.
$nextTick
(()
=>
{
let
videoContainer
=
document
.
querySelector
(
'
#video-container
'
);
videoContainer
.
innerHTML
=
''
;
var
player
=
new
EZUIKit
.
EZUIKitPlayer
({
autoplay
:
true
,
id
:
'
video-container
'
,
accessToken
:
'
at.4qo66bb35a19h07a0d9pbmtj5v4g0o78-4jmzdu3k24-0866je6-qkz1xuwmf
'
,
url
:
'
ezopen://open.ys7.com/J16440511/1.live
'
,
template
:
"
simple
"
,
// simple - 极简版;standard-标准版;security - 安防版(预览回放);voice-语音版;
width
:
530
,
height
:
320
});
})
},
toHistoryLog
(
item
){
this
.
form
.
historyDialog
=
true
;
this
.
form
.
item2
.
value
=
Dates
.
format
(
'
MM
'
);
this
.
form
.
item2
.
code
=
item
.
ecode
;
this
.
$nextTick
(()
=>
{
var
ecahrtEl
=
document
.
getElementById
(
"
ecahrtA
"
);
this
.
ecahrtA
=
this
.
ecahrtA
||
this
.
createPanelEcharts
(
ecahrtEl
);
this
.
reqHistoryList
(
this
.
form
.
item2
);
});
},
cancelForm3
(
a
,
b
,
c
){
this
.
form2
.
visible
=
false
;
},
cancelForm4
(
a
,
b
,
c
){
this
.
form2
.
logVisible
=
false
;
},
// 指令下发
toInstructionSet
(
item
){
var
form2
=
this
.
form2
;
// 请除表单验证
//this.$refs['form1'] && this.$refs['form1'].clearValidate();
form2
.
title
=
'
指令下发
'
;
form2
.
status
.
cu
=
0
;
form2
.
visible
=
true
;
form2
.
reqType
=
'
edit
'
;
form2
.
item
=
{
ecode
:
item
.
ecode
,
subcode
:
item
.
subcode
,
ilAdjust
:
form2
.
item
.
ilAdjust
,
ilSave
:
form2
.
item
.
ilSave
,
timekey
:
form2
.
item
.
timekey
,
time
:
''
,
};
},
// 指令日志
toInstructionLog
(
item
){
var
form2
=
this
.
form2
;
// 请除表单验证
//this.$refs['form1'] && this.$refs['form1'].clearValidate();
form2
.
title
=
'
下发日志
'
;
form2
.
logVisible
=
true
;
form2
.
item
=
item
;
var
param
=
form2
.
query
;
param
.
page
=
form2
.
page
-
1
;
param
.
size
=
form2
.
size
;
param
.
sort
=
'
addTime,desc
'
;
param
.
deviceId
=
item
.
ecode
;
HttpReq
.
equipment
.
getInstructionLog
(
param
).
then
((
res
)
=>
{
if
(
res
){
form2
.
total
=
res
.
totalElements
;
var
formData
=
res
.
content
||
[],
timeKeys
=
{
'
ilTimHour
'
:
'
小时
'
,
'
ilTimMins
'
:
'
分钟
'
,
'
ilTimSec
'
:
'
秒
'
};
for
(
var
fitem
of
formData
){
fitem
.
subcode
=
item
.
subcode
;
for
(
var
key
in
timeKeys
){
if
(
fitem
[
key
]
||
fitem
[
key
]
===
0
){
fitem
[
'
time
'
]
=
fitem
[
key
];
fitem
.
timeUnit
=
timeKeys
[
key
];
}
else
{
delete
fitem
[
key
]
}
};
fitem
.
ilAdjust
=
[
'
不启动
'
,
'
启动
'
][
fitem
.
ilAdjust
||
0
];
fitem
.
ilSave
=
[
'
不存储
'
,
'
存储
'
][
fitem
.
ilSave
||
0
];
fitem
.
ilSendSuccess
=
[
'
下发失败
'
,
'
下发成功
'
][
fitem
.
ilSendSuccess
||
0
];
};
form2
.
formData
=
formData
;
};
}).
catch
(
function
(
error
)
{
console
.
log
(
'
error ________________
'
,
error
);
});
},
},
pageChange
(
e
)
{
pageChange
(
e
)
{
this
.
page
=
e
this
.
page
=
e
...
@@ -503,15 +214,6 @@ export default {
...
@@ -503,15 +214,6 @@ export default {
this
.
size
=
e
this
.
size
=
e
this
.
loadData
()
this
.
loadData
()
},
},
pageChange2
(
e
)
{
this
.
form2
.
page
=
e
this
.
reqInstructionLog
(
this
.
form2
.
item
)
},
sizeChange2
(
e
)
{
this
.
form2
.
page
=
1
;
this
.
form2
.
size
=
e
;
this
.
reqInstructionLog
(
this
.
form2
.
item
);
},
submitForm
(
validateName
,
item
){
submitForm
(
validateName
,
item
){
if
(
!
this
.
form
.
status
.
cu
){
if
(
!
this
.
form
.
status
.
cu
){
this
.
form
.
status
.
cu
=
2
;
this
.
form
.
status
.
cu
=
2
;
...
@@ -528,36 +230,21 @@ export default {
...
@@ -528,36 +230,21 @@ export default {
});
});
};
};
},
},
//新增设备
findHistory
(){
this
.
reqHistoryList
(
this
.
form
.
item2
);
},
//请求项目列表
reqProjectsSimple
(){
return
HttpReq
.
project
.
getProject
().
then
((
res
)
=>
{
if
(
res
.
code
==
200
){
return
res
.
data
.
content
;
}
else
{
return
[]
}
})
},
//添加设备
reqAddItem
(
form
,
item
){
reqAddItem
(
form
,
item
){
let
lastData
=
item
;
let
lastData
=
{...
item
};
lastData
.
position
=
this
.
picFileName
;
HttpReq
.
truckDispatching
.
deviceManagementAdd
(
lastData
).
then
((
res
)
=>
{
HttpReq
.
plantFactory
.
addDeviceManageList
(
lastData
).
then
((
res
)
=>
{
form
.
visible
=
false
;
form
.
visible
=
false
;
if
(
res
==
1
){
if
(
res
.
code
==
200
){
this
.
$notify
({
this
.
$notify
({
title
:
'
项目添加
成功!
'
,
title
:
'
设备新增
成功!
'
,
type
:
'
success
'
,
type
:
'
success
'
,
duration
:
2500
duration
:
2500
});
});
this
.
loadData
()
this
.
loadData
()
}
else
{
}
else
{
this
.
$notify
({
this
.
$notify
({
title
:
res
.
head
.
message
,
title
:
res
.
msg
,
type
:
'
error
'
,
type
:
'
error
'
,
duration
:
2500
duration
:
2500
})
})
...
@@ -568,23 +255,22 @@ export default {
...
@@ -568,23 +255,22 @@ export default {
},
},
//修改设备
//修改设备
reqUpdateItem
(
form
,
item
){
reqUpdateItem
(
form
,
item
){
let
lastData
=
item
;
let
lastData
=
{...
item
};
lastData
.
position
=
this
.
picFileName
;
HttpReq
.
truckDispatching
.
deviceManagementUpdate
(
lastData
).
then
((
res
)
=>
{
HttpReq
.
plantFactory
.
upDateDeviceManageList
(
lastData
).
then
((
res
)
=>
{
form
.
visible
=
false
;
form
.
visible
=
false
;
if
(
res
.
status
==
400
){
if
(
res
.
code
==
200
){
this
.
$notify
({
title
:
res
.
head
.
message
,
type
:
'
error
'
,
duration
:
2500
})
}
else
{
this
.
$notify
({
this
.
$notify
({
title
:
'
修改成功!
'
,
title
:
'
设备
修改成功!
'
,
type
:
'
success
'
,
type
:
'
success
'
,
duration
:
2500
duration
:
2500
});
});
this
.
loadData
()
this
.
loadData
()
}
else
{
this
.
$notify
({
title
:
res
.
msg
,
type
:
'
error
'
,
duration
:
2500
})
}
}
}).
catch
(
function
(
error
)
{
}).
catch
(
function
(
error
)
{
form
.
status
.
cu
=
0
form
.
status
.
cu
=
0
...
@@ -592,10 +278,10 @@ export default {
...
@@ -592,10 +278,10 @@ export default {
},
},
//删除设备
//删除设备
reqRemoveProject
(
item
){
reqRemoveProject
(
item
){
HttpReq
.
plantFactory
.
removeDeviceManageList
(
item
).
then
((
res
)
=>
{
HttpReq
.
truckDispatching
.
deviceManagementDel
(
item
).
then
((
res
)
=>
{
if
(
res
.
status
==
400
){
if
(
res
.
status
==
400
){
this
.
$notify
({
this
.
$notify
({
title
:
res
.
head
.
message
,
title
:
res
.
msg
,
type
:
'
error
'
,
type
:
'
error
'
,
duration
:
2500
duration
:
2500
})
})
...
@@ -609,228 +295,37 @@ export default {
...
@@ -609,228 +295,37 @@ export default {
this
.
loadData
();
this
.
loadData
();
})
})
},
},
reqHistoryList
(
item
){
//时间转换
var
timeSpace
=
this
.
query
.
timeSpace
;
currentTime
(
time
){
var
startTime
=
timeSpace
?
timeSpace
[
0
].
split
(
'
'
)[
0
]
:
''
;
var
date
=
new
Date
(
time
);
var
endTime
=
timeSpace
?
timeSpace
[
1
].
split
(
'
'
)[
0
]
:
''
;
var
year
=
date
.
getFullYear
();
//年 ,从 Date 对象以四位数字返回年份
HttpReq
.
historys
.
getItemBycode
({
codes
:
item
.
code
,
startTime
:
startTime
,
endTime
:
endTime
}).
then
((
res
)
=>
{
var
month
=
date
.
getMonth
()
+
1
;
//月 ,从 Date 对象返回月份 (0 ~ 11) ,date.getMonth()比实际月份少 1 个月
if
(
res
.
head
.
code
===
'
0000
'
){
var
day
=
date
.
getDate
();
//日 ,从 Date 对象返回一个月中的某一天 (1 ~ 31)
var
body
=
res
.
body
||
{};
var
hours
=
date
.
getHours
();
//小时 ,返回 Date 对象的小时 (0 ~ 23)
var
list
=
body
.
list
||
[];
var
minutes
=
date
.
getMinutes
();
//分钟 ,返回 Date 对象的分钟 (0 ~ 59)
var
xAxisData
=
[];
var
seconds
=
date
.
getSeconds
();
//秒 ,返回 Date 对象的秒数 (0 ~ 59)
var
helement
=
[];
//修改月份格式
var
htemperature
=
[];
if
(
month
>=
1
&&
month
<=
9
)
{
var
hlenght1
=
[],
hlenght2
=
[],
hlenght3
=
[];
month
=
"
0
"
+
month
;
for
(
var
item
of
list
){
xAxisData
.
push
(
item
.
createTime
);
helement
.
push
(
item
.
helement
);
htemperature
.
push
(
item
.
htemperature
);
hlenght1
.
push
(
item
.
hlenght1
);
hlenght2
.
push
(
item
.
hlenght2
);
hlenght3
.
push
(
item
.
hlenght3
);
};
this
.
ecahrtA
.
setData
({
xAxis
:
[
{
type
:
'
category
'
,
data
:
xAxisData
,
},
],
series
:
[
{
name
:
'
电压
'
,
data
:
helement
,
},
{
name
:
'
温度
'
,
data
:
htemperature
,
},
{
name
:
'
裂缝1
'
,
data
:
hlenght1
,
},
{
name
:
'
裂缝2
'
,
data
:
hlenght2
,
},
{
name
:
'
裂缝3
'
,
data
:
hlenght3
,
}
]
})
};
}).
catch
(
function
(
error
)
{
console
.
log
(
'
catch __
'
,
error
);
})
},
createPanelEcharts
(
el
){
var
myChart
=
echarts
.
init
(
el
),
lineColor
=
'
green
'
;
var
option
=
{
title
:
{
text
:
''
,
subtext
:
'
设备值
'
},
tooltip
:
{
trigger
:
'
axis
'
},
legend
:
{
data
:
[
'
电压
'
,
'
温度
'
,
'
裂缝1
'
,
'
裂缝2
'
,
'
裂缝3
'
],
textStyle
:
{
color
:
"
#000
"
},
},
textStyle
:
{
color
:
"
#333
"
},
calculable
:
true
,
xAxis
:
[
{
type
:
'
category
'
,
data
:
[],
}
}
],
//修改日期格式
yAxis
:
[
if
(
day
>=
0
&&
day
<=
9
)
{
{
day
=
"
0
"
+
day
;
type
:
'
value
'
,
}
],
grid
:{
top
:
40
,
right
:
10
,
bottom
:
20
,
left
:
45
,
},
series
:
[
{
name
:
'
电压
'
,
type
:
'
line
'
,
data
:
[
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
],
//itemStyle: {normal: {areaStyle: {type: 'default', color:'#00e5ff'}, color:'#00e5ff'}, color:'green'},
},
{
name
:
'
温度
'
,
type
:
'
line
'
,
data
:
[
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
],
},
{
name
:
'
裂缝1
'
,
type
:
'
line
'
,
data
:
[
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
],
//itemStyle: {normal: {areaStyle: {type:'default', color:'red'}, color:'#1849fe'}, color:'red'},
},
{
name
:
'
裂缝2
'
,
type
:
'
line
'
,
data
:
[
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
],
},
{
name
:
'
裂缝3
'
,
type
:
'
line
'
,
data
:
[
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
],
}
}
]
//修改小时格式
};
if
(
hours
>=
0
&&
hours
<=
9
)
{
hours
=
"
0
"
+
hours
;
myChart
.
setOption
(
option
);
var
setData
=
function
(
option
){
myChart
.
hideLoading
();
myChart
.
setOption
(
option
)
};
return
{
setData
:
setData
,
myChart
:
myChart
}
},
reqSetInstruction
(
form
,
item
){
var
param
=
{
deviceId
:
item
.
ecode
,
ilAdjust
:
item
.
ilAdjust
,
ilSave
:
item
.
ilSave
,
ilThreshed
:
item
.
ilThreshed
||
0
,
[
item
.
timekey
]:
item
.
time
||
0
,
};
HttpReq
.
equipment
.
setInstruction
(
param
).
then
((
res
)
=>
{
this
.
form2
.
visible
=
false
;
this
.
$notify
({
title
:
'
修改成功!
'
,
type
:
'
success
'
,
duration
:
2500
});
this
.
loadData
()
}).
catch
(
function
(
error
)
{
this
.
form2
.
status
.
cu
=
0
;
this
.
$notify
({
title
:
error
,
type
:
'
error
'
,
duration
:
2500
})
});
},
reqInstructionLog
(
item
){
var
form2
=
this
.
form2
;
var
param
=
form2
.
query
;
param
.
page
=
form2
.
page
-
1
;
param
.
size
=
form2
.
size
;
param
.
sort
=
'
addTime,desc
'
;
param
.
deviceId
=
item
.
ecode
;
HttpReq
.
equipment
.
getInstructionLog
(
param
).
then
((
res
)
=>
{
if
(
res
){
form2
.
total
=
res
.
totalElements
;
var
formData
=
res
.
content
||
[],
timeKeys
=
{
'
ilTimHour
'
:
'
小时
'
,
'
ilTimMins
'
:
'
分钟
'
,
'
ilTimSec
'
:
'
秒
'
};
for
(
var
fitem
of
formData
){
fitem
.
subcode
=
item
.
subcode
;
for
(
var
key
in
timeKeys
){
if
(
fitem
[
key
]){
fitem
[
'
time
'
]
=
fitem
[
key
];
fitem
.
timeUnit
=
timeKeys
[
key
];
}
else
{
delete
fitem
[
key
]
}
}
};
//修改分钟格式
fitem
.
ilAdjust
=
[
'
不启动
'
,
'
启动
'
][
fitem
.
ilAdjust
||
0
];
if
(
minutes
>=
0
&&
minutes
<=
9
)
{
fitem
.
ilSave
=
[
'
不存储
'
,
'
存储
'
][
fitem
.
ilSave
||
0
];
minutes
=
"
0
"
+
minutes
;
fitem
.
ilSendSuccess
=
[
'
下发失败
'
,
'
下发成功
'
][
fitem
.
ilSendSuccess
||
0
];
};
form2
.
formData
=
formData
;
};
}).
catch
(
function
(
error
)
{
console
.
log
(
'
error ________________
'
,
error
);
});
},
//图片上传
excelImport
(
event
)
{
let
that
=
this
;
let
file
=
event
.
target
.
files
[
0
];
let
formData1
=
new
FormData
();
formData1
.
append
(
"
avatar
"
,
file
);
Axios
({
url
:
process
.
env
.
VUE_APP_LOCAL_API2
+
'
/api/wEquipment/updateAvatar
'
,
method
:
"
post
"
,
data
:
formData1
,
}).
then
(
response
=>
{
if
(
response
.
status
==
200
)
{
this
.
$message
.
success
(
"
上传成功
"
);
that
.
picFileName
=
response
.
data
.
avatar
;
}
else
{
this
.
$message
.
error
(
"
上传失败
"
);
}
}
},
//修改秒格式
)
if
(
seconds
>=
0
&&
seconds
<=
9
)
{
.
catch
(
error
=>
{
seconds
=
"
0
"
+
seconds
;
console
.
log
(
error
);
});
},
//项目名称展示
formatter
(
row
){
let
proName
=
""
;
this
.
form
.
selectList
.
forEach
(
function
(
item
){
if
(
row
.
projectId
==
item
.
id
){
proName
=
item
.
name
;
}
}
})
let
currentFormatDate
=
year
+
"
-
"
+
month
+
"
-
"
+
day
+
"
"
+
hours
+
"
:
"
+
minutes
+
"
:
"
+
seconds
;
return
proName
return
currentFormatDate
;
}
}
}
}
}
}
...
...
src/views/IntelligentDispatchManagement/carManualScheduling/index.vue
View file @
b909d563
<
template
>
<
template
>
<div
class=
"common-page device-manage"
>
<div
class=
"common-page device-manage"
>
<div
class=
"option page-row"
>
<!--工具栏-->
<div
class=
"head-container"
>
<!-- 搜索 -->
<label
class=
"el-form-item-label"
style=
"font-weight: 500;"
>
设备识别码
</label>
<el-input
v-model=
"query.code"
clearable
size=
"small"
placeholder=
"请输入设备识别码"
style=
"width:180px;"
@
clear=
"clearLimit"
/>
<el-button
size=
"mini"
type=
"success"
icon=
"el-icon-search"
@
click=
"toSearch"
>
搜索
</el-button>
</div>
</div>
<div
class=
"panel-bottom page-row"
>
<div
class=
"panel-bottom page-row"
>
<h3>
设备管理列表
</h3>
<div
class=
"ctin-box"
>
<div
class=
"ctin-box"
>
<div
class=
"content-within"
>
<div
class=
"content-within"
>
<div
class=
"content-fix"
>
<div
class=
"content-fix"
>
<div
class=
"toolbar"
>
<el-form
size=
"small"
label-width=
"100px"
>
<el-button
size=
"mini"
type=
"primary"
icon=
"el-icon-plus"
@
click=
"toAdd"
>
新增
</el-button>
</div>
<div
class=
"content"
>
<el-table
:data=
"tableData"
v-loading=
"loading"
border
style=
"width:auto"
:row-class-name=
"tableRowClassName"
>
<el-table-column
prop=
"id"
label=
"设备ID"
align=
"center"
></el-table-column>
<el-table-column
prop=
"code"
label=
"设备识别码"
align=
"center"
></el-table-column>
<el-table-column
prop=
"name"
label=
"设备名称"
align=
"center"
></el-table-column>
<el-table-column
prop=
"alarmWindspeed"
label=
"风速报警阈值"
align=
"center"
></el-table-column>
<el-table-column
prop=
"alarmTemperature"
label=
"温度报警阈值"
align=
"center"
></el-table-column>
<el-table-column
prop=
"alarmHumidity"
label=
"湿度报警阈值"
align=
"center"
></el-table-column>
<el-table-column
prop=
"alarmCo2"
label=
"二氧化碳报警阈值"
align=
"center"
></el-table-column>
<el-table-column
prop=
"alarmMlux"
label=
"光照报警阈值"
align=
"center"
></el-table-column>
<el-table-column
prop=
"alarmPh"
label=
"酸碱度报警阈值"
align=
"center"
></el-table-column>
<el-table-column
prop=
"alarmWaterTemperature"
label=
"水温报警阈值"
align=
"center"
></el-table-column>
<el-table-column
prop=
"alarmElectricalConductance"
label=
"电导率报警阈值"
align=
"center"
></el-table-column>
<el-table-column
prop=
"alarmWaterDepth"
label=
"液位报警阈值"
align=
"center"
></el-table-column>
<el-table-column
prop=
"createTime"
label=
"设备激活时间"
align=
"center"
></el-table-column>
<el-table-column
prop=
"addTime"
label=
"最后采集时间"
align=
"center"
></el-table-column>
<el-table-column
prop=
"projectId"
label=
"所属项目"
align=
"center"
:formatter=
"formatter"
></el-table-column>
<el-table-column
label=
"操作"
min-width=
"180px"
align=
"center"
fixed=
"right"
>
<template
slot-scope=
"scope"
>
<el-button
size=
"mini"
type=
"success"
icon=
"el-icon-view"
@
click=
"toSeeMore(scope.row)"
></el-button>
<el-button
size=
"mini"
type=
"primary"
icon=
"el-icon-edit"
@
click=
"toEdit(scope.row)"
></el-button>
<el-button
size=
"mini"
type=
"danger"
icon=
"el-icon-delete"
@
click=
"toDelete(scope.row)"
></el-button>
<!--
<div
class=
"btn-groub2"
>
<el-button
size=
"mini"
type=
"warning"
icon=
"el-icon-set-up"
@
click=
"toInstructionSet(scope.row)"
></el-button>
<el-button
size=
"mini"
type=
"info"
icon=
"el-icon-tickets"
@
click=
"toInstructionLog(scope.row)"
></el-button>
</div>
-->
</
template
>
</el-table-column>
</el-table>
<!--分页组件-->
<el-pagination
:total=
"total"
:current-page=
"page"
style=
"margin-top: 8px;"
layout=
"total, prev, pager, next, sizes"
@
size-change=
"sizeChange"
@
current-change=
"pageChange"
/>
</div>
</div>
</div>
</div>
</div>
<!-- 表单渲染 -->
<div
style=
"font-size:20px;font-weight:bold;margin-bottom:10px;"
>
选择车辆
</div>
<el-dialog
append-to-body
:close-on-click-modal=
"true"
:before-close=
"cancelForm"
:visible.sync=
"form.visible"
:title=
"form.title"
width=
"700px"
>
<el-form-item
label=
"车辆名称"
style=
"display: inline-block;"
>
<el-form
:model=
"form.item"
:rules=
"rules"
ref=
"form1"
:inline=
"true"
size=
"small"
label-width=
"150px"
>
<el-input
v-model=
"query.name"
clearable
size=
"small"
placeholder=
"请输入车辆名称"
style=
"width:180px;"
/>
<el-form-item
label=
"选择项目"
prop=
"projectId"
>
<el-select
v-model=
"form.item.projectId"
placeholder=
"请选择项目"
size=
"small"
>
<el-option
v-for=
"(obj,index) in form.selectList"
:label=
"obj.name"
:value=
"obj.id"
:key=
"index"
></el-option>
</el-select>
</el-form-item>
<!-- <el-form-item label="设备ID" prop="id">
<el-input v-model="form.item.id" style="width:280px;" placeholder="请输入设备编号" :disabled="form.reqType==='edit'"/>
</el-form-item> -->
<el-form-item
label=
"设备识别码"
prop=
"code"
>
<el-input
v-model=
"form.item.code"
style=
"width:260px;"
placeholder=
"请输入设备识别码"
:disabled=
"form.reqType==='edit'"
/>
</el-form-item>
<el-form-item
label=
"设备名称"
prop=
"name"
>
<el-input
v-model=
"form.item.name"
style=
"width:260px;"
placeholder=
"请输入设备名称"
/>
</el-form-item>
<el-form-item
label=
"风速报警阈值"
prop=
"alarmWindspeed"
>
<el-input
v-model=
"form.item.alarmWindspeed"
style=
"width:160px;"
placeholder=
"请输入风速报警阈值"
/>
</el-form-item>
</el-form-item>
<el-form-item
label=
"温度报警阈值"
prop=
"alarmTemperature"
>
<el-form-item
label=
"所属车队"
style=
"display: inline-block;"
>
<el-input
v-model=
"form.item.alarmTemperature"
style=
"width:160px;"
placeholder=
"请输入温度报警阈值"
/>
<el-select
v-model=
"query.road"
placeholder=
"请选择所属车队"
style=
"width:180px;"
>
</el-form-item>
<el-option
v-for=
"(obj,index) in carFleetData"
:label=
"obj.name"
:value=
"obj.name"
:key=
"index"
></el-option>
<el-form-item
label=
"湿度报警阈值"
prop=
"alarmHumidity"
>
<el-input
v-model=
"form.item.alarmHumidity"
style=
"width:160px;"
placeholder=
"请输入湿度报警阈值"
/>
</el-form-item>
<el-form-item
label=
"二氧化碳报警阈值"
prop=
"alarmCo2"
>
<el-input
v-model=
"form.item.alarmCo2"
style=
"width:160px;"
placeholder=
"请输入二氧化碳报警阈值"
/>
</el-form-item>
<el-form-item
label=
"光照报警阈值"
prop=
"alarmMlux"
>
<el-input
v-model=
"form.item.alarmMlux"
style=
"width:160px;"
placeholder=
"请输入光照报警阈值"
/>
</el-form-item>
<el-form-item
label=
"酸碱度报警阈值"
prop=
"alarmPh"
>
<el-input
v-model=
"form.item.alarmPh"
style=
"width:160px;"
placeholder=
"请输入酸碱度报警阈值"
/>
</el-form-item>
<el-form-item
label=
"水温报警阈值"
prop=
"alarmWaterTemperature"
>
<el-input
v-model=
"form.item.alarmWaterTemperature"
style=
"width:160px;"
placeholder=
"请输入水温报警阈值"
/>
</el-form-item>
<el-form-item
label=
"电导率报警阈值"
prop=
"alarmElectricalConductance"
>
<el-input
v-model=
"form.item.alarmElectricalConductance"
style=
"width:160px;"
placeholder=
"请输入电导率报警阈值"
/>
</el-form-item>
<el-form-item
label=
"液位报警阈值"
prop=
"alarmWaterDepth"
>
<el-input
v-model=
"form.item.alarmWaterDepth"
style=
"width:160px;"
placeholder=
"请输入液位报警阈值"
/>
</el-form-item>
<el-form-item
label=
"上传设备位置"
prop=
"position"
>
<el-input
v-model=
"picFileName"
style=
"width:160px;"
placeholder=
"请上传设备位置"
disabled
/>
<input
type=
"file"
name=
"image"
@
change=
"excelImport($event)"
/>
</el-form-item>
<div
style=
"margin:0px 0px 10px 55px;font-size:16px;font-weight:bold;"
>
摄像头参数配置
</div>
<el-form-item
label=
"摄像头ID"
prop=
"camera"
>
<el-input
v-model=
"form.item.camera"
style=
"width:160px;"
placeholder=
"请输入摄像头ID"
/>
</el-form-item>
</el-form>
<div
slot=
"footer"
class=
"dialog-footer"
>
<el-button
type=
"text"
@
click=
"cancelForm"
>
取消
</el-button>
<el-button
:loading=
"form.status.cu === 2"
type=
"primary"
@
click=
"submitForm('form1', form.item)"
>
确认
</el-button>
</div>
</el-dialog>
<!-- 查看更多 -->
<el-dialog
title=
"查看设备"
:visible.sync=
"form.seeMoreDialog"
width=
"800px"
>
<el-form
:model=
"seeMoreData"
style=
"margin-top:20px;"
>
<el-form-item
label=
"摄像头位置图片"
label-width=
"150px"
>
<el-image
:src=
"seeMoreImgUrl"
style=
"width:300px;"
></el-image>
</el-form-item>
<el-form-item
label=
"摄像头图像"
label-width=
"150px"
>
<div
id=
"video-container"
style=
"width:550px;height:350px"
></div>
</el-form-item>
<el-form-item
label=
"摄像头ID"
label-width=
"150px"
>
<el-input
v-model=
"seeMoreData.camera"
style=
"width:200px"
></el-input>
</el-form-item>
</el-form>
<div
slot=
"footer"
class=
"dialog-footer"
>
<el-button
type=
"primary"
@
click=
"form.seeMoreDialog = false"
>
关闭
</el-button>
</div>
</el-dialog>
<!-- 历史图表 -->
<el-dialog
class=
"ecahrt1-dialog"
append-to-body
:close-on-click-modal=
"false"
:before-close=
"cancelForm2"
:visible.sync=
"form.historyDialog"
>
<el-form
:rules=
"rules"
ref=
"form1"
:inline=
"true"
size=
"small"
label-width=
"80px"
>
<!-- <el-form-item prop="eprogramid" >
<el-select v-model="form.item2.value" placeholder="请选择月份">
<el-option v-for="obj in form.monthSelectList" :label="obj.name" :value="obj.value"></el-option>
</el-select>
</el-select>
</el-form-item> -->
<el-form-item
prop=
"eprogramid"
>
<date-range-picker
v-model=
"query.timeSpace"
class=
"date-item"
/>
</el-form-item>
</el-form-item>
<el-form-item
>
<el-form-item
label=
"卡车类型"
style=
"display: inline-block;"
>
<el-button
type=
"primary"
@
click=
"findHistory"
>
查询
</el-button>
<el-select
v-model=
"query.carclass"
placeholder=
"请选择卡车类型"
style=
"width:180px;"
>
<el-option
label=
"挖机"
value=
"挖机"
></el-option>
<el-option
label=
"铲车"
value=
"铲车"
></el-option>
<el-option
label=
"卡车"
value=
"卡车"
></el-option>
<el-option
label=
"清扫车"
value=
"清扫车"
></el-option>
</el-select>
</el-form-item>
</el-form-item>
<el-form-item
prop=
"content"
style=
"display:block;"
>
<el-button
size=
"mini"
type=
"success"
icon=
"el-icon-search"
@
click=
"toSearch"
style=
"display: inline-block;"
>
搜索
</el-button>
<div
class=
"form-body"
>
<el-button
size=
"mini"
icon=
"el-icon-refresh"
@
click=
"clearLimit"
style=
"display: inline-block;"
>
重置
</el-button>
<div
id=
"ecahrtA"
></div>
</div>
<el-form-item
label=
"选择车辆"
>
<el-checkbox-group
v-model=
"checkDataList"
class=
"checkboxViews"
>
<el-checkbox
v-for=
"(obj,index) in carInformationData"
:label=
"obj.name + '/' + obj.number"
:key=
"index"
>
{{
obj
.
name
+
'
/
'
+
obj
.
number
}}
</el-checkbox>
</el-checkbox-group>
</el-form-item>
</el-form-item>
</el-form>
</el-dialog>
<!-- 指令下发 -->
<div
style=
"font-size:20px;font-weight:bold;margin-bottom:10px;"
>
调度详情
</div>
<el-dialog
append-to-body
:close-on-click-modal=
"false"
:before-close=
"cancelForm3"
:visible.sync=
"form2.visible"
:title=
"form2.title"
width=
"600px"
>
<el-form-item
label=
"调度单号"
style=
"display: inline-block;"
>
<el-form
:model=
"form2.item"
:rules=
"rules"
ref=
"form2"
:inline=
"true"
size=
"small"
label-width=
"100px"
>
<el-input
v-model=
"form.odd"
clearable
size=
"small"
placeholder=
"请输入调度单号"
style=
"width:220px;"
/>
<el-form-item
label=
"设备ID"
prop=
"ecode"
>
<el-input
v-model=
"form2.item.ecode"
style=
"width:280px;"
placeholder=
"请输入设备编号"
:disabled=
"form2.reqType==='edit'"
/>
</el-form-item>
</el-form-item>
<el-form-item
label=
"设备识别码"
prop=
"subcode"
>
<el-form-item
label=
"车辆类型"
style=
"display: inline-block;"
>
<el-input
v-model=
"form2.item.subcode"
style=
"width:260px;"
placeholder=
"请输入设备识别码"
:disabled=
"form2.reqType==='edit'"
/>
<el-select
v-model=
"form.carclass"
placeholder=
"请选择卡车类型"
style=
"width:220px;"
>
<el-option
label=
"挖机"
value=
"挖机"
></el-option>
<el-option
label=
"铲车"
value=
"铲车"
></el-option>
<el-option
label=
"卡车"
value=
"卡车"
></el-option>
<el-option
label=
"清扫车"
value=
"清扫车"
></el-option>
</el-select>
</el-form-item>
</el-form-item>
<el-form-item
label=
"是否启动校正"
prop=
"ilAdjust"
style=
"width:240px
;"
>
<el-form-item
label=
"调度目的地"
style=
"display: inline-block
;"
>
<el-select
v-model=
"form2.item.ilAdjust"
placeholder=
"请选择"
size=
"small"
style=
"width:1
20px;"
>
<el-select
v-model=
"form.destination"
placeholder=
"请选择调度目的地"
style=
"width:2
20px;"
>
<el-option
v-for=
"obj in form2.adjustList"
:label=
"obj.name"
:key=
"obj.value"
:value=
"obj.value
"
></el-option>
<el-option
v-for=
"(obj,index) in areaInformationData"
:label=
"obj.name"
:value=
"obj.name"
:key=
"index
"
></el-option>
</el-select>
</el-select>
</el-form-item>
</el-form-item>
<el-form-item
label=
"是否存储裂缝"
prop=
"ilSave"
style=
"width:240px;"
>
<br>
<el-select
v-model=
"form2.item.ilSave"
placeholder=
"请选择"
size=
"small"
style=
"width:120px;"
>
<el-form-item
label=
"调度时长"
style=
"display: inline-block;"
>
<el-option
v-for=
"(obj,index) in form2.saveList"
:label=
"obj.name"
:value=
"obj.value"
:key=
"index"
></el-option>
<el-select
v-model=
"form.duration"
placeholder=
"请选择调度时长"
style=
"width:220px;"
>
<el-option
label=
"单次"
value=
"单次"
></el-option>
<el-option
label=
"一天"
value=
"一天"
></el-option>
<el-option
label=
"长期"
value=
"长期"
></el-option>
</el-select>
</el-select>
</el-form-item>
</el-form-item>
<el-form-item
label=
"裂缝阈值"
prop=
"ilThreshed"
>
<el-form-item
label=
"调度截止日期"
style=
"display: inline-block;"
>
<el-input
v-model=
"form2.item.ilThreshed"
style=
"width:160px;"
placeholder=
"请输入裂缝阈值"
/>
<el-date-picker
v-model=
"form.endTime"
type=
"datetime"
placeholder=
"选择日期时间"
style=
"width:220px;"
></el-date-picker>
<span
style=
"color:#aaa;"
>
1~255
</span>
</el-form-item>
</el-form-item>
<el-form-item
label=
"唤醒周期"
prop=
"timekey"
>
<br>
<el-select
v-model=
"form2.item.timekey"
placeholder=
"请选择时间"
size=
"small"
style=
"width:120px;"
>
<el-form-item
label=
"说明"
style=
"display: inline-block;"
>
<el-option
v-for=
"(obj,index) in form2.timeList"
:label=
"obj.name"
:value=
"obj.value"
:key=
"index"
></el-option>
<el-input
type=
"textarea"
v-model=
"form.carshow"
style=
"width:545px;"
></el-input>
</el-select>
<el-input
v-model=
"form2.item.time"
style=
"width:160px;"
placeholder=
"请输入时长"
/>
</el-form-item>
</el-form-item>
<br>
<el-button
type=
"primary"
style=
"height:40px;width:100px;margin-left:100px;"
round
@
click=
"toDispatch"
>
调度
</el-button>
</el-form>
</el-form>
<div
slot=
"footer"
class=
"dialog-footer"
>
<el-button
type=
"text"
@
click=
"cancelForm3"
>
取消
</el-button>
<el-button
:loading=
"form2.status.cu === 2"
type=
"primary"
@
click=
"reqSetInstruction('form2', form2.item)"
>
确认
</el-button>
</div>
</div>
</el-dialog>
<!-- 指令日志 -->
<el-dialog
append-to-body
:close-on-click-modal=
"false"
:before-close=
"cancelForm4"
:visible.sync=
"form2.logVisible"
:title=
"form2.title"
width=
"65%"
>
<div
class=
"content"
>
<el-table
:data=
"form2.formData"
v-loading=
"loading"
border
style=
"width:auto"
:row-class-name=
"tableRowClassName"
>
<el-table-column
prop=
"subcode"
label=
"设备识别码"
min-width=
"135px"
></el-table-column>
<el-table-column
prop=
"ilThreshed"
label=
"裂缝阈值"
></el-table-column>
<el-table-column
prop=
"ilAdjust"
label=
"校正功能"
></el-table-column>
<el-table-column
prop=
"ilSave"
label=
"存储裂缝"
></el-table-column>
<el-table-column
prop=
"ilSendTime"
label=
"唤醒时间"
>
<
template
slot-scope=
"scope"
>
{{
scope
.
row
.
time
+
'
(
'
+
scope
.
row
.
timeUnit
+
'
)
'
}}
</
template
>
</el-table-column>
<el-table-column
prop=
"ilSendSuccess"
label=
"下发状态"
></el-table-column>
<el-table-column
prop=
"ilSendTime"
label=
"下发时间"
min-width=
"145px"
></el-table-column>
</el-table>
<!--分页组件-->
<el-pagination
:total=
"form2.total"
:current-page=
"form2.page"
style=
"margin-top:8px;"
layout=
"total, prev, pager, next, sizes"
@
size-change=
"sizeChange2"
@
current-change=
"pageChange2"
/>
</div>
</div>
</el-dialog>
</div>
</div>
</div>
</div>
</
template
>
</
template
>
<
script
>
<
script
>
import
echarts
from
'
echarts
'
;
import
{
Tools
,
HttpReq
,
Dates
}
from
'
@/assets/js/common.js
'
;
import
{
Tools
,
HttpReq
,
Dates
}
from
'
@/assets/js/common.js
'
;
import
DateRangePicker
from
'
@/components/DateRangePicker
'
;
import
cuAmap
from
'
@/components/AMap
'
;
import
Axios
from
'
axios
'
import
EZUIKit
from
"
ezuikit-js
"
;
export
default
{
export
default
{
name
:
'
CarManualScheduling
'
,
name
:
'
CarManualScheduling
'
,
components
:
{
DateRangePicker
,
cuAmap
},
data
()
{
data
()
{
return
{
return
{
loading
:
false
,
page
:
1
,
size
:
10
,
total
:
0
,
query
:{},
query
:{},
picFileName
:
''
,
form
:{},
tableData
:
[],
checkDataList
:[],
seeMoreData
:{},
carFleetData
:[],
seeMoreImgUrl
:
""
,
carInformationData
:[],
form
:
{
areaInformationData
:[],
title
:
'
添加设备
'
,
visible
:
false
,
reqType
:
'
add
'
,
historyDialog
:
false
,
seeMoreDialog
:
false
,
status
:{
cu
:
0
},
selectList
:[],
item
:{},
monthSelectList
:[
{
name
:
'
一月
'
,
value
:
'
01
'
},
{
name
:
'
二月
'
,
value
:
'
02
'
},
{
name
:
'
三月
'
,
value
:
'
03
'
},
{
name
:
'
四月
'
,
value
:
'
04
'
},
{
name
:
'
五月
'
,
value
:
'
05
'
},
{
name
:
'
六月
'
,
value
:
'
06
'
},
{
name
:
'
七月
'
,
value
:
'
07
'
},
{
name
:
'
八月
'
,
value
:
'
08
'
},
{
name
:
'
九月
'
,
value
:
'
09
'
},
{
name
:
'
十月
'
,
value
:
'
10
'
},
{
name
:
'
十一月
'
,
value
:
'
11
'
},
{
name
:
'
十二月
'
,
value
:
'
12
'
},
],
item2
:{
value
:
''
},
},
rules
:
{
projectId
:
[
{
required
:
true
,
message
:
'
请选择项目
'
,
trigger
:
'
blur
'
}
],
id
:
[
{
required
:
true
,
message
:
'
请输入设备ID
'
,
trigger
:
'
blur
'
}
],
code
:
[
{
required
:
true
,
message
:
'
请输入设备识别码
'
,
trigger
:
'
blur
'
}
],
name
:
[
{
required
:
true
,
message
:
'
请输入设备名称
'
,
trigger
:
'
blur
'
}
],
},
form2
:{
title
:
'
指令下发
'
,
visible
:
false
,
logDialog
:
false
,
logVisible
:
false
,
query
:{},
page
:
1
,
size
:
10
,
total
:
0
,
status
:{
cu
:
0
},
item
:{
ecode
:
""
,
ename
:
''
,
ilAdjust
:
0
,
ilSave
:
0
,
time
:
''
,
ilThreshed
:
0
,
timekey
:
'
ilTimHour
'
,
},
adjustList
:[
{
name
:
'
启动
'
,
value
:
1
},
{
name
:
'
不启动
'
,
value
:
0
},
],
saveList
:[
{
name
:
'
存储
'
,
value
:
1
},
{
name
:
'
不存储
'
,
value
:
0
},
],
timeList
:[
{
name
:
'
时
'
,
value
:
'
ilTimHour
'
},
{
name
:
'
分
'
,
value
:
'
ilTimMins
'
},
{
name
:
'
秒
'
,
value
:
'
ilTimSec
'
},
],
formData
:[],
},
}
}
},
},
mounted
()
{
mounted
()
{
var
that
=
this
;
this
.
$nextTick
(()
=>
{
this
.
$nextTick
(()
=>
{
this
.
loadData
();
this
.
loadData
();
})
})
},
},
methods
:
{
methods
:
{
loadData
()
{
var
that
=
this
;
var
sort
=
'
addTime,desc
'
;
var
param
=
this
.
query
;
param
.
page
=
this
.
page
-
1
;
param
.
size
=
this
.
size
;
param
.
sort
=
sort
;
//请求项目列表
this
.
reqProjectsSimple
().
then
((
list
)
=>
{
this
.
form
.
selectList
=
list
;
});
this
.
$nextTick
(()
=>
{
HttpReq
.
plantFactory
.
getDeviceManageList
(
param
).
then
((
res
)
=>
{
//console.log(res);
this
.
loading
=
false
;
this
.
tableData
=
res
.
content
;
this
.
total
=
res
.
totalElements
;
})
})
},
tableRowClassName
({
row
,
rowIndex
})
{
if
(
rowIndex
===
1
)
{
return
'
warning-row
'
;
}
else
if
(
rowIndex
===
3
)
{
return
'
success-row
'
;
}
return
''
;
},
// 点击搜索
// 点击搜索
toSearch
()
{
toSearch
()
{
this
.
page
=
1
this
.
loadData
();
this
.
loadData
()
},
},
clearLimit
(){
// 清除限制
// 重置搜索
clearLimit
(){
this
.
query
=
{};
this
.
loadData
()
this
.
loadData
()
},
},
cancelForm
(
a
,
b
,
c
){
loadData
()
{
this
.
form
.
visible
=
false
;
var
param
=
this
.
query
;
},
param
.
size
=
9999
;
cancelForm2
(){
this
.
form
.
historyDialog
=
false
;
},
toAdd
()
{
// 请除表单验证
this
.
$refs
[
'
form1
'
]
&&
this
.
$refs
[
'
form1
'
].
clearValidate
();
this
.
form
.
title
=
'
添加设备
'
;
this
.
form
.
status
.
cu
=
0
;
this
.
form
.
visible
=
true
;
this
.
form
.
reqType
=
'
add
'
;
this
.
form
.
item
=
{};
this
.
picFileName
=
''
;
//请求项目列表
this
.
reqProjectsSimple
().
then
((
list
)
=>
{
this
.
form
.
selectList
=
list
});
},
toEdit
(
item
)
{
// 请除表单验证
this
.
$refs
[
'
form1
'
]
&&
this
.
$refs
[
'
form1
'
].
clearValidate
();
this
.
form
.
title
=
'
编辑设备
'
;
this
.
form
.
status
.
cu
=
0
;
this
.
form
.
visible
=
true
;
this
.
form
.
item
=
item
;
this
.
form
.
reqType
=
'
edit
'
;
this
.
picFileName
=
this
.
form
.
item
.
position
;
//请求项目列表
this
.
reqProjectsSimple
().
then
((
list
)
=>
{
this
.
form
.
selectList
=
list
});
},
toDelete
(
item
)
{
var
id
=
item
.
id
;
this
.
$confirm
(
'
确认删除该条数据吗?
'
,
'
提示
'
,
{
confirmButtonText
:
'
确定
'
,
cancelButtonText
:
'
取消
'
,
type
:
'
warning
'
}).
then
((
e
)
=>
{
this
.
reqRemoveProject
([
id
])
}).
catch
((
e
)
=>
{
})
},
//查看图片以及其他信息
toSeeMore
(
row
){
//console.log(row);
this
.
seeMoreData
=
row
;
this
.
seeMoreImgUrl
=
process
.
env
.
VUE_APP_LOCAL_API2
+
"
/avatar/
"
+
row
.
position
;
this
.
form
.
seeMoreDialog
=
true
;
this
.
$nextTick
(()
=>
{
let
videoContainer
=
document
.
querySelector
(
'
#video-container
'
);
videoContainer
.
innerHTML
=
''
;
var
player
=
new
EZUIKit
.
EZUIKitPlayer
({
autoplay
:
true
,
id
:
'
video-container
'
,
accessToken
:
'
at.4qo66bb35a19h07a0d9pbmtj5v4g0o78-4jmzdu3k24-0866je6-qkz1xuwmf
'
,
url
:
'
ezopen://open.ys7.com/J16440511/1.live
'
,
template
:
"
simple
"
,
// simple - 极简版;standard-标准版;security - 安防版(预览回放);voice-语音版;
width
:
530
,
height
:
320
});
})
},
toHistoryLog
(
item
){
this
.
form
.
historyDialog
=
true
;
this
.
form
.
item2
.
value
=
Dates
.
format
(
'
MM
'
);
this
.
form
.
item2
.
code
=
item
.
ecode
;
this
.
$nextTick
(()
=>
{
var
ecahrtEl
=
document
.
getElementById
(
"
ecahrtA
"
);
this
.
ecahrtA
=
this
.
ecahrtA
||
this
.
createPanelEcharts
(
ecahrtEl
);
this
.
reqHistoryList
(
this
.
form
.
item2
);
});
},
cancelForm3
(
a
,
b
,
c
){
this
.
form2
.
visible
=
false
;
},
cancelForm4
(
a
,
b
,
c
){
this
.
form2
.
logVisible
=
false
;
},
// 指令下发
toInstructionSet
(
item
){
var
form2
=
this
.
form2
;
// 请除表单验证
//this.$refs['form1'] && this.$refs['form1'].clearValidate();
form2
.
title
=
'
指令下发
'
;
form2
.
status
.
cu
=
0
;
form2
.
visible
=
true
;
form2
.
reqType
=
'
edit
'
;
form2
.
item
=
{
ecode
:
item
.
ecode
,
subcode
:
item
.
subcode
,
ilAdjust
:
form2
.
item
.
ilAdjust
,
ilSave
:
form2
.
item
.
ilSave
,
timekey
:
form2
.
item
.
timekey
,
time
:
''
,
};
},
// 指令日志
toInstructionLog
(
item
){
var
form2
=
this
.
form2
;
// 请除表单验证
//this.$refs['form1'] && this.$refs['form1'].clearValidate();
form2
.
title
=
'
下发日志
'
;
form2
.
logVisible
=
true
;
form2
.
item
=
item
;
var
param
=
form2
.
query
;
this
.
$nextTick
(()
=>
{
param
.
page
=
form2
.
page
-
1
;
//获取车辆信息
param
.
size
=
form2
.
size
;
HttpReq
.
truckDispatching
.
carInformationQuery
(
param
).
then
((
res
)
=>
{
param
.
sort
=
'
addTime,desc
'
;
if
(
res
.
code
==
200
){;
param
.
deviceId
=
item
.
ecode
;
this
.
carInformationData
=
res
.
data
.
content
;
HttpReq
.
equipment
.
getInstructionLog
(
param
).
then
((
res
)
=>
{
if
(
res
){
form2
.
total
=
res
.
totalElements
;
var
formData
=
res
.
content
||
[],
timeKeys
=
{
'
ilTimHour
'
:
'
小时
'
,
'
ilTimMins
'
:
'
分钟
'
,
'
ilTimSec
'
:
'
秒
'
};
for
(
var
fitem
of
formData
){
fitem
.
subcode
=
item
.
subcode
;
for
(
var
key
in
timeKeys
){
if
(
fitem
[
key
]
||
fitem
[
key
]
===
0
){
fitem
[
'
time
'
]
=
fitem
[
key
];
fitem
.
timeUnit
=
timeKeys
[
key
];
}
else
{
delete
fitem
[
key
]
}
};
fitem
.
ilAdjust
=
[
'
不启动
'
,
'
启动
'
][
fitem
.
ilAdjust
||
0
];
fitem
.
ilSave
=
[
'
不存储
'
,
'
存储
'
][
fitem
.
ilSave
||
0
];
fitem
.
ilSendSuccess
=
[
'
下发失败
'
,
'
下发成功
'
][
fitem
.
ilSendSuccess
||
0
];
};
form2
.
formData
=
formData
;
};
}).
catch
(
function
(
error
)
{
console
.
log
(
'
error ________________
'
,
error
);
});
},
pageChange
(
e
)
{
this
.
page
=
e
this
.
loadData
()
},
sizeChange
(
e
)
{
this
.
page
=
1
this
.
size
=
e
this
.
loadData
()
},
pageChange2
(
e
)
{
this
.
form2
.
page
=
e
this
.
reqInstructionLog
(
this
.
form2
.
item
)
},
sizeChange2
(
e
)
{
this
.
form2
.
page
=
1
;
this
.
form2
.
size
=
e
;
this
.
reqInstructionLog
(
this
.
form2
.
item
);
},
submitForm
(
validateName
,
item
){
if
(
!
this
.
form
.
status
.
cu
){
this
.
form
.
status
.
cu
=
2
;
this
.
$refs
[
validateName
].
validate
(
valid
=>
{
if
(
valid
){
if
(
this
.
form
.
reqType
===
'
add
'
){
this
.
reqAddItem
(
this
.
form
,
item
)
}
else
{
this
.
reqUpdateItem
(
this
.
form
,
item
)
}
}
}
else
{
})
this
.
form
.
status
.
cu
=
0
//获取车队
HttpReq
.
truckDispatching
.
carFleetQuery
().
then
((
res
)
=>
{
if
(
res
.
code
==
200
){
this
.
carFleetData
=
res
.
data
.
content
;
}
}
});
})
};
//获取区域信息
},
HttpReq
.
truckDispatching
.
RegionalInformationQuery
().
then
((
res
)
=>
{
findHistory
(){
this
.
reqHistoryList
(
this
.
form
.
item2
);
},
//请求项目列表
reqProjectsSimple
(){
return
HttpReq
.
project
.
getProject
().
then
((
res
)
=>
{
if
(
res
.
code
==
200
){
if
(
res
.
code
==
200
){
return
res
.
data
.
content
;
this
.
areaInformationData
=
res
.
data
.
content
;
}
else
{
return
[]
}
}
})
})
},
//添加设备
reqAddItem
(
form
,
item
){
let
lastData
=
item
;
lastData
.
position
=
this
.
picFileName
;
HttpReq
.
plantFactory
.
addDeviceManageList
(
lastData
).
then
((
res
)
=>
{
form
.
visible
=
false
;
if
(
res
==
1
){
this
.
$notify
({
title
:
'
项目添加成功!
'
,
type
:
'
success
'
,
duration
:
2500
});
this
.
loadData
()
}
else
{
this
.
$notify
({
title
:
res
.
head
.
message
,
type
:
'
error
'
,
duration
:
2500
})
})
}
}).
catch
(
function
(
error
)
{
form
.
status
.
cu
=
0
});
},
},
//修改设备
//发起调度
reqUpdateItem
(
form
,
item
){
toDispatch
(){
let
lastData
=
item
;
let
that
=
this
;
lastData
.
position
=
this
.
picFileName
;
HttpReq
.
truckDispatching
.
manualSchedulingAdd
(
this
.
form
).
then
((
res
)
=>
{
HttpReq
.
plantFactory
.
upDateDeviceManageList
(
lastData
).
then
((
res
)
=>
{
if
(
res
.
code
==
200
){
form
.
visible
=
false
;
if
(
res
.
status
==
400
){
this
.
$notify
({
title
:
res
.
head
.
message
,
type
:
'
error
'
,
duration
:
2500
})
}
else
{
this
.
$notify
({
this
.
$notify
({
title
:
'
修改
成功!
'
,
title
:
'
车辆调度发起
成功!
'
,
type
:
'
success
'
,
type
:
'
success
'
,
duration
:
2500
duration
:
2500
});
});
this
.
loadData
()
}
}).
catch
(
function
(
error
)
{
form
.
status
.
cu
=
0
});
},
//删除设备
reqRemoveProject
(
item
){
HttpReq
.
plantFactory
.
removeDeviceManageList
(
item
).
then
((
res
)
=>
{
if
(
res
.
status
==
400
){
this
.
$notify
({
title
:
res
.
head
.
message
,
type
:
'
error
'
,
duration
:
2500
})
}
else
{
}
else
{
this
.
$notify
({
this
.
$notify
({
title
:
'
删除成功!
'
,
title
:
res
.
msg
,
type
:
'
success
'
,
type
:
'
error
'
,
duration
:
2500
duration
:
2500
});
}
this
.
loadData
();
})
},
reqHistoryList
(
item
){
var
timeSpace
=
this
.
query
.
timeSpace
;
var
startTime
=
timeSpace
?
timeSpace
[
0
].
split
(
'
'
)[
0
]
:
''
;
var
endTime
=
timeSpace
?
timeSpace
[
1
].
split
(
'
'
)[
0
]
:
''
;
HttpReq
.
historys
.
getItemBycode
({
codes
:
item
.
code
,
startTime
:
startTime
,
endTime
:
endTime
}).
then
((
res
)
=>
{
if
(
res
.
head
.
code
===
'
0000
'
){
var
body
=
res
.
body
||
{};
var
list
=
body
.
list
||
[];
var
xAxisData
=
[];
var
helement
=
[];
var
htemperature
=
[];
var
hlenght1
=
[],
hlenght2
=
[],
hlenght3
=
[];
for
(
var
item
of
list
){
xAxisData
.
push
(
item
.
createTime
);
helement
.
push
(
item
.
helement
);
htemperature
.
push
(
item
.
htemperature
);
hlenght1
.
push
(
item
.
hlenght1
);
hlenght2
.
push
(
item
.
hlenght2
);
hlenght3
.
push
(
item
.
hlenght3
);
};
this
.
ecahrtA
.
setData
({
xAxis
:
[
{
type
:
'
category
'
,
data
:
xAxisData
,
},
],
series
:
[
{
name
:
'
电压
'
,
data
:
helement
,
},
{
name
:
'
温度
'
,
data
:
htemperature
,
},
{
name
:
'
裂缝1
'
,
data
:
hlenght1
,
},
{
name
:
'
裂缝2
'
,
data
:
hlenght2
,
},
{
name
:
'
裂缝3
'
,
data
:
hlenght3
,
}
]
})
})
};
}).
catch
(
function
(
error
)
{
console
.
log
(
'
catch __
'
,
error
);
})
},
createPanelEcharts
(
el
){
var
myChart
=
echarts
.
init
(
el
),
lineColor
=
'
green
'
;
var
option
=
{
title
:
{
text
:
''
,
subtext
:
'
设备值
'
},
tooltip
:
{
trigger
:
'
axis
'
},
legend
:
{
data
:
[
'
电压
'
,
'
温度
'
,
'
裂缝1
'
,
'
裂缝2
'
,
'
裂缝3
'
],
textStyle
:
{
color
:
"
#000
"
},
},
textStyle
:
{
color
:
"
#333
"
},
calculable
:
true
,
xAxis
:
[
{
type
:
'
category
'
,
data
:
[],
}
],
yAxis
:
[
{
type
:
'
value
'
,
}
],
grid
:{
top
:
40
,
right
:
10
,
bottom
:
20
,
left
:
45
,
},
series
:
[
{
name
:
'
电压
'
,
type
:
'
line
'
,
data
:
[
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
],
//itemStyle: {normal: {areaStyle: {type: 'default', color:'#00e5ff'}, color:'#00e5ff'}, color:'green'},
},
{
name
:
'
温度
'
,
type
:
'
line
'
,
data
:
[
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
],
},
{
name
:
'
裂缝1
'
,
type
:
'
line
'
,
data
:
[
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
],
//itemStyle: {normal: {areaStyle: {type:'default', color:'red'}, color:'#1849fe'}, color:'red'},
},
{
name
:
'
裂缝2
'
,
type
:
'
line
'
,
data
:
[
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
],
},
{
name
:
'
裂缝3
'
,
type
:
'
line
'
,
data
:
[
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
],
}
}
]
}).
catch
(
function
(
error
)
{
});
};
this
.
checkDataList
.
forEach
((
item
)
=>
{
let
data1
=
{};
myChart
.
setOption
(
option
);
data1
.
name
=
item
;
data1
.
odd
=
that
.
form
.
odd
;
HttpReq
.
truckDispatching
.
manualSchedulingCarsAdd
(
data1
).
then
((
res
)
=>
{
if
(
res
.
code
==
200
){
var
setData
=
function
(
option
){
}
else
{
myChart
.
hideLoading
();
myChart
.
setOption
(
option
)
};
return
{
setData
:
setData
,
myChart
:
myChart
}
},
reqSetInstruction
(
form
,
item
){
var
param
=
{
deviceId
:
item
.
ecode
,
ilAdjust
:
item
.
ilAdjust
,
ilSave
:
item
.
ilSave
,
ilThreshed
:
item
.
ilThreshed
||
0
,
[
item
.
timekey
]:
item
.
time
||
0
,
};
HttpReq
.
equipment
.
setInstruction
(
param
).
then
((
res
)
=>
{
this
.
form2
.
visible
=
false
;
this
.
$notify
({
title
:
'
修改成功!
'
,
type
:
'
success
'
,
duration
:
2500
});
this
.
loadData
()
}).
catch
(
function
(
error
)
{
this
.
form2
.
status
.
cu
=
0
;
this
.
$notify
({
this
.
$notify
({
title
:
error
,
title
:
res
.
msg
,
type
:
'
error
'
,
type
:
'
error
'
,
duration
:
2500
duration
:
2500
})
})
});
},
reqInstructionLog
(
item
){
var
form2
=
this
.
form2
;
var
param
=
form2
.
query
;
param
.
page
=
form2
.
page
-
1
;
param
.
size
=
form2
.
size
;
param
.
sort
=
'
addTime,desc
'
;
param
.
deviceId
=
item
.
ecode
;
HttpReq
.
equipment
.
getInstructionLog
(
param
).
then
((
res
)
=>
{
if
(
res
){
form2
.
total
=
res
.
totalElements
;
var
formData
=
res
.
content
||
[],
timeKeys
=
{
'
ilTimHour
'
:
'
小时
'
,
'
ilTimMins
'
:
'
分钟
'
,
'
ilTimSec
'
:
'
秒
'
};
for
(
var
fitem
of
formData
){
fitem
.
subcode
=
item
.
subcode
;
for
(
var
key
in
timeKeys
){
if
(
fitem
[
key
]){
fitem
[
'
time
'
]
=
fitem
[
key
];
fitem
.
timeUnit
=
timeKeys
[
key
];
}
else
{
delete
fitem
[
key
]
}
};
fitem
.
ilAdjust
=
[
'
不启动
'
,
'
启动
'
][
fitem
.
ilAdjust
||
0
];
fitem
.
ilSave
=
[
'
不存储
'
,
'
存储
'
][
fitem
.
ilSave
||
0
];
fitem
.
ilSendSuccess
=
[
'
下发失败
'
,
'
下发成功
'
][
fitem
.
ilSendSuccess
||
0
];
};
form2
.
formData
=
formData
;
};
}).
catch
(
function
(
error
)
{
console
.
log
(
'
error ________________
'
,
error
);
});
},
//图片上传
excelImport
(
event
)
{
let
that
=
this
;
let
file
=
event
.
target
.
files
[
0
];
let
formData1
=
new
FormData
();
formData1
.
append
(
"
avatar
"
,
file
);
Axios
({
url
:
process
.
env
.
VUE_APP_LOCAL_API2
+
'
/api/wEquipment/updateAvatar
'
,
method
:
"
post
"
,
data
:
formData1
,
}).
then
(
response
=>
{
if
(
response
.
status
==
200
)
{
this
.
$message
.
success
(
"
上传成功
"
);
that
.
picFileName
=
response
.
data
.
avatar
;
}
else
{
this
.
$message
.
error
(
"
上传失败
"
);
}
},
)
.
catch
(
error
=>
{
console
.
log
(
error
);
});
},
//项目名称展示
formatter
(
row
){
let
proName
=
""
;
this
.
form
.
selectList
.
forEach
(
function
(
item
){
if
(
row
.
projectId
==
item
.
id
){
proName
=
item
.
name
;
}
}
}).
catch
(
function
(
error
)
{
});
})
})
return
proName
this
.
query
=
{};
this
.
form
=
{};
this
.
checkDataList
=
[];
this
.
loadData
();
}
}
}
}
}
}
...
@@ -858,7 +196,16 @@ export default {
...
@@ -858,7 +196,16 @@ export default {
}
}
}
}
}
}
.checkboxViews
{
padding-top
:
10px
;
padding-left
:
10px
;
box-sizing
:
border-box
;
width
:
920px
;
height
:
150px
;
border
:
1px
gainsboro
solid
;
overflow-y
:scroll
;
overflow-x
:hidden
;
}
.ecahrt1-dialog
{
.ecahrt1-dialog
{
display
:flex
;
align-items
:center
;
display
:flex
;
align-items
:center
;
.el-dialog
{
.el-dialog
{
...
...
src/views/IntelligentDispatchManagement/carManualSchedulingManagement/index.vue
View file @
b909d563
<
template
>
<
template
>
<div
class=
"common-page device-manage"
>
<div
class=
"common-page device-manage"
>
<div
class=
"option page-row"
>
<div
class=
"option page-row"
>
<!--工具栏-->
<!--工具栏-->
<div
class=
"head-container"
>
<div
class=
"head-container"
>
<!-- 搜索 -->
<!-- 搜索 -->
<label
class=
"el-form-item-label"
style=
"font-weight: 500;"
>
设备识别码
</label>
<label
class=
"el-form-item-label"
style=
"font-weight: 500;"
>
调度单号
</label>
<el-input
v-model=
"query.code"
clearable
size=
"small"
placeholder=
"请输入设备识别码"
style=
"width:180px;"
@
clear=
"clearLimit"
/>
<el-input
v-model=
"query.odd"
clearable
size=
"small"
placeholder=
"请输入调度单号"
style=
"width:180px;"
/>
<label
class=
"el-form-item-label"
style=
"font-weight: 500;"
>
车辆类型
</label>
<el-select
v-model=
"query.carclass"
placeholder=
"请选择车辆类型"
style=
"width:180px;"
>
<el-option
label=
"挖机"
value=
"挖机"
></el-option>
<el-option
label=
"铲车"
value=
"铲车"
></el-option>
<el-option
label=
"卡车"
value=
"卡车"
></el-option>
<el-option
label=
"清扫车"
value=
"清扫车"
></el-option>
</el-select>
<el-button
size=
"mini"
type=
"success"
icon=
"el-icon-search"
@
click=
"toSearch"
>
搜索
</el-button>
<el-button
size=
"mini"
type=
"success"
icon=
"el-icon-search"
@
click=
"toSearch"
>
搜索
</el-button>
<el-button
size=
"mini"
icon=
"el-icon-refresh"
@
click=
"clearLimit"
>
重置
</el-button>
</div>
</div>
</div>
</div>
<!-- 表格 -->
<div
class=
"panel-bottom page-row"
>
<div
class=
"panel-bottom page-row"
>
<h3>
设备管理列表
</h3>
<h3>
人工调度管理
</h3>
<div
class=
"ctin-box"
>
<div
class=
"ctin-box"
>
<div
class=
"content-within"
>
<div
class=
"content-within"
>
<div
class=
"content-fix"
>
<div
class=
"content-fix"
>
<div
class=
"toolbar"
>
<div
class=
"toolbar"
>
<el-button
size=
"mini"
type=
"primary"
icon=
"el-icon-plus"
@
click=
"toAdd"
>
新增
</el-button>
<el-button
type=
"primary"
@
click=
"jumpTo()"
>
人工调度
</el-button>
</div>
</div>
<div
class=
"content"
>
<div
class=
"content"
>
<el-table
:data=
"tableData"
v-loading=
"loading"
border
style=
"width:auto"
:row-class-name=
"tableRowClassName"
>
<el-table
:data=
"tableData"
v-loading=
"loading"
border
style=
"width:auto"
:row-class-name=
"tableRowClassName"
>
<el-table-column
prop=
"id"
label=
"设备ID"
align=
"center"
></el-table-column>
<el-table-column
prop=
"odd"
label=
"调度单号"
align=
"center"
></el-table-column>
<el-table-column
prop=
"code"
label=
"设备识别码"
align=
"center"
></el-table-column>
<el-table-column
prop=
"carclass"
label=
"车辆类型"
align=
"center"
></el-table-column>
<el-table-column
prop=
"name"
label=
"设备名称"
align=
"center"
></el-table-column>
<el-table-column
prop=
"createTime"
label=
"调度时间"
align=
"center"
></el-table-column>
<el-table-column
prop=
"alarmWindspeed"
label=
"风速报警阈值"
align=
"center"
></el-table-column>
<el-table-column
prop=
"endTime"
label=
"调度截止日期"
align=
"center"
></el-table-column>
<el-table-column
prop=
"alarmTemperature"
label=
"温度报警阈值"
align=
"center"
></el-table-column>
<el-table-column
prop=
"finishTime"
label=
"完成调度时间"
align=
"center"
></el-table-column>
<el-table-column
prop=
"alarmHumidity"
label=
"湿度报警阈值"
align=
"center"
></el-table-column>
<el-table-column
prop=
"destination"
label=
"调度目的地"
align=
"center"
></el-table-column>
<el-table-column
prop=
"alarmCo2"
label=
"二氧化碳报警阈值"
align=
"center"
></el-table-column>
<el-table-column
prop=
"carshow"
label=
"说明"
align=
"center"
></el-table-column>
<el-table-column
prop=
"alarmMlux"
label=
"光照报警阈值"
align=
"center"
></el-table-column>
<el-table-column
label=
"操作"
align=
"center"
fixed=
"right"
>
<el-table-column
prop=
"alarmPh"
label=
"酸碱度报警阈值"
align=
"center"
></el-table-column>
<el-table-column
prop=
"alarmWaterTemperature"
label=
"水温报警阈值"
align=
"center"
></el-table-column>
<el-table-column
prop=
"alarmElectricalConductance"
label=
"电导率报警阈值"
align=
"center"
></el-table-column>
<el-table-column
prop=
"alarmWaterDepth"
label=
"液位报警阈值"
align=
"center"
></el-table-column>
<el-table-column
prop=
"createTime"
label=
"设备激活时间"
align=
"center"
></el-table-column>
<el-table-column
prop=
"addTime"
label=
"最后采集时间"
align=
"center"
></el-table-column>
<el-table-column
prop=
"projectId"
label=
"所属项目"
align=
"center"
:formatter=
"formatter"
></el-table-column>
<el-table-column
label=
"操作"
min-width=
"180px"
align=
"center"
fixed=
"right"
>
<template
slot-scope=
"scope"
>
<template
slot-scope=
"scope"
>
<el-button
size=
"mini"
type=
"success"
icon=
"el-icon-view"
@
click=
"toSeeMore(scope.row)"
></el-button>
<el-button
size=
"mini"
type=
"success"
icon=
"el-icon-view"
@
click=
"showCars(scope.row)"
></el-button>
<el-button
size=
"mini"
type=
"primary"
icon=
"el-icon-edit"
@
click=
"toEdit(scope.row)"
></el-button>
<el-button
size=
"mini"
type=
"danger"
icon=
"el-icon-delete"
@
click=
"toDelete(scope.row)"
></el-button>
<el-button
size=
"mini"
type=
"danger"
icon=
"el-icon-delete"
@
click=
"toDelete(scope.row)"
></el-button>
<!--
<div
class=
"btn-groub2"
>
<el-button
size=
"mini"
type=
"warning"
icon=
"el-icon-set-up"
@
click=
"toInstructionSet(scope.row)"
></el-button>
<el-button
size=
"mini"
type=
"info"
icon=
"el-icon-tickets"
@
click=
"toInstructionLog(scope.row)"
></el-button>
</div>
-->
</
template
>
</
template
>
</el-table-column>
</el-table-column>
</el-table>
</el-table>
...
@@ -53,180 +51,29 @@
...
@@ -53,180 +51,29 @@
</div>
</div>
</div>
</div>
</div>
</div>
<!-- 表单渲染 -->
<!-- 表单渲染 -->
<el-dialog
append-to-body
:close-on-click-modal=
"true"
:before-close=
"cancelForm"
:visible.sync=
"form.visible"
:title=
"form.title"
width=
"700px"
>
<el-dialog
append-to-body
:close-on-click-modal=
"true"
:visible.sync=
"form.visible"
title=
"调度详情"
width=
"700px"
>
<el-form
:model=
"form.item"
:rules=
"rules"
ref=
"form1"
:inline=
"true"
size=
"small"
label-width=
"150px"
>
<el-form
size=
"small"
label-width=
"100px"
>
<el-form-item
label=
"选择项目"
prop=
"projectId"
>
<el-form-item
label=
"调度车辆"
>
<el-select
v-model=
"form.item.projectId"
placeholder=
"请选择项目"
size=
"small"
>
<div
class=
"checkboxViews"
>
<el-option
v-for=
"(obj,index) in form.selectList"
:label=
"obj.name"
:value=
"obj.id"
:key=
"index"
></el-option>
<div
v-for=
"(obj,index) in carInformationData"
:key=
"index"
>
{{obj.name}}
</div>
</el-select>
</el-form-item>
<!-- <el-form-item label="设备ID" prop="id">
<el-input v-model="form.item.id" style="width:280px;" placeholder="请输入设备编号" :disabled="form.reqType==='edit'"/>
</el-form-item> -->
<el-form-item
label=
"设备识别码"
prop=
"code"
>
<el-input
v-model=
"form.item.code"
style=
"width:260px;"
placeholder=
"请输入设备识别码"
:disabled=
"form.reqType==='edit'"
/>
</el-form-item>
<el-form-item
label=
"设备名称"
prop=
"name"
>
<el-input
v-model=
"form.item.name"
style=
"width:260px;"
placeholder=
"请输入设备名称"
/>
</el-form-item>
<el-form-item
label=
"风速报警阈值"
prop=
"alarmWindspeed"
>
<el-input
v-model=
"form.item.alarmWindspeed"
style=
"width:160px;"
placeholder=
"请输入风速报警阈值"
/>
</el-form-item>
<el-form-item
label=
"温度报警阈值"
prop=
"alarmTemperature"
>
<el-input
v-model=
"form.item.alarmTemperature"
style=
"width:160px;"
placeholder=
"请输入温度报警阈值"
/>
</el-form-item>
<el-form-item
label=
"湿度报警阈值"
prop=
"alarmHumidity"
>
<el-input
v-model=
"form.item.alarmHumidity"
style=
"width:160px;"
placeholder=
"请输入湿度报警阈值"
/>
</el-form-item>
<el-form-item
label=
"二氧化碳报警阈值"
prop=
"alarmCo2"
>
<el-input
v-model=
"form.item.alarmCo2"
style=
"width:160px;"
placeholder=
"请输入二氧化碳报警阈值"
/>
</el-form-item>
<el-form-item
label=
"光照报警阈值"
prop=
"alarmMlux"
>
<el-input
v-model=
"form.item.alarmMlux"
style=
"width:160px;"
placeholder=
"请输入光照报警阈值"
/>
</el-form-item>
<el-form-item
label=
"酸碱度报警阈值"
prop=
"alarmPh"
>
<el-input
v-model=
"form.item.alarmPh"
style=
"width:160px;"
placeholder=
"请输入酸碱度报警阈值"
/>
</el-form-item>
<el-form-item
label=
"水温报警阈值"
prop=
"alarmWaterTemperature"
>
<el-input
v-model=
"form.item.alarmWaterTemperature"
style=
"width:160px;"
placeholder=
"请输入水温报警阈值"
/>
</el-form-item>
<el-form-item
label=
"电导率报警阈值"
prop=
"alarmElectricalConductance"
>
<el-input
v-model=
"form.item.alarmElectricalConductance"
style=
"width:160px;"
placeholder=
"请输入电导率报警阈值"
/>
</el-form-item>
<el-form-item
label=
"液位报警阈值"
prop=
"alarmWaterDepth"
>
<el-input
v-model=
"form.item.alarmWaterDepth"
style=
"width:160px;"
placeholder=
"请输入液位报警阈值"
/>
</el-form-item>
<el-form-item
label=
"上传设备位置"
prop=
"position"
>
<el-input
v-model=
"picFileName"
style=
"width:160px;"
placeholder=
"请上传设备位置"
disabled
/>
<input
type=
"file"
name=
"image"
@
change=
"excelImport($event)"
/>
</el-form-item>
<div
style=
"margin:0px 0px 10px 55px;font-size:16px;font-weight:bold;"
>
摄像头参数配置
</div>
<el-form-item
label=
"摄像头ID"
prop=
"camera"
>
<el-input
v-model=
"form.item.camera"
style=
"width:160px;"
placeholder=
"请输入摄像头ID"
/>
</el-form-item>
</el-form>
<div
slot=
"footer"
class=
"dialog-footer"
>
<el-button
type=
"text"
@
click=
"cancelForm"
>
取消
</el-button>
<el-button
:loading=
"form.status.cu === 2"
type=
"primary"
@
click=
"submitForm('form1', form.item)"
>
确认
</el-button>
</div>
</div>
</el-dialog>
<!-- 查看更多 -->
<el-dialog
title=
"查看设备"
:visible.sync=
"form.seeMoreDialog"
width=
"800px"
>
<el-form
:model=
"seeMoreData"
style=
"margin-top:20px;"
>
<el-form-item
label=
"摄像头位置图片"
label-width=
"150px"
>
<el-image
:src=
"seeMoreImgUrl"
style=
"width:300px;"
></el-image>
</el-form-item>
</el-form-item>
<el-form-item
label=
"摄像头图像"
label-width=
"150px"
>
<el-form-item
label=
"调度时长"
>
<div
id=
"video-container"
style=
"width:550px;height:350px"
></div>
<div>
{{dispatchDuration}}
</div>
</el-form-item>
<el-form-item
label=
"摄像头ID"
label-width=
"150px"
>
<el-input
v-model=
"seeMoreData.camera"
style=
"width:200px"
></el-input>
</el-form-item>
</el-form-item>
</el-form>
</el-form>
<div
slot=
"footer"
class=
"dialog-footer"
>
<el-button
type=
"primary"
@
click=
"form.seeMoreDialog = false"
>
关闭
</el-button>
</div>
</el-dialog>
</el-dialog>
<!-- 历史图表 -->
<el-dialog
class=
"ecahrt1-dialog"
append-to-body
:close-on-click-modal=
"false"
:before-close=
"cancelForm2"
:visible.sync=
"form.historyDialog"
>
<el-form
:rules=
"rules"
ref=
"form1"
:inline=
"true"
size=
"small"
label-width=
"80px"
>
<!-- <el-form-item prop="eprogramid" >
<el-select v-model="form.item2.value" placeholder="请选择月份">
<el-option v-for="obj in form.monthSelectList" :label="obj.name" :value="obj.value"></el-option>
</el-select>
</el-form-item> -->
<el-form-item
prop=
"eprogramid"
>
<date-range-picker
v-model=
"query.timeSpace"
class=
"date-item"
/>
</el-form-item>
<el-form-item
>
<el-button
type=
"primary"
@
click=
"findHistory"
>
查询
</el-button>
</el-form-item>
<el-form-item
prop=
"content"
style=
"display:block;"
>
<div
class=
"form-body"
>
<div
id=
"ecahrtA"
></div>
</div>
</el-form-item>
</el-form>
</el-dialog>
<!-- 指令下发 -->
<el-dialog
append-to-body
:close-on-click-modal=
"false"
:before-close=
"cancelForm3"
:visible.sync=
"form2.visible"
:title=
"form2.title"
width=
"600px"
>
<el-form
:model=
"form2.item"
:rules=
"rules"
ref=
"form2"
:inline=
"true"
size=
"small"
label-width=
"100px"
>
<el-form-item
label=
"设备ID"
prop=
"ecode"
>
<el-input
v-model=
"form2.item.ecode"
style=
"width:280px;"
placeholder=
"请输入设备编号"
:disabled=
"form2.reqType==='edit'"
/>
</el-form-item>
<el-form-item
label=
"设备识别码"
prop=
"subcode"
>
<el-input
v-model=
"form2.item.subcode"
style=
"width:260px;"
placeholder=
"请输入设备识别码"
:disabled=
"form2.reqType==='edit'"
/>
</el-form-item>
<el-form-item
label=
"是否启动校正"
prop=
"ilAdjust"
style=
"width:240px;"
>
<el-select
v-model=
"form2.item.ilAdjust"
placeholder=
"请选择"
size=
"small"
style=
"width:120px;"
>
<el-option
v-for=
"obj in form2.adjustList"
:label=
"obj.name"
:key=
"obj.value"
:value=
"obj.value"
></el-option>
</el-select>
</el-form-item>
<el-form-item
label=
"是否存储裂缝"
prop=
"ilSave"
style=
"width:240px;"
>
<el-select
v-model=
"form2.item.ilSave"
placeholder=
"请选择"
size=
"small"
style=
"width:120px;"
>
<el-option
v-for=
"(obj,index) in form2.saveList"
:label=
"obj.name"
:value=
"obj.value"
:key=
"index"
></el-option>
</el-select>
</el-form-item>
<el-form-item
label=
"裂缝阈值"
prop=
"ilThreshed"
>
<el-input
v-model=
"form2.item.ilThreshed"
style=
"width:160px;"
placeholder=
"请输入裂缝阈值"
/>
<span
style=
"color:#aaa;"
>
1~255
</span>
</el-form-item>
<el-form-item
label=
"唤醒周期"
prop=
"timekey"
>
<el-select
v-model=
"form2.item.timekey"
placeholder=
"请选择时间"
size=
"small"
style=
"width:120px;"
>
<el-option
v-for=
"(obj,index) in form2.timeList"
:label=
"obj.name"
:value=
"obj.value"
:key=
"index"
></el-option>
</el-select>
<el-input
v-model=
"form2.item.time"
style=
"width:160px;"
placeholder=
"请输入时长"
/>
</el-form-item>
</el-form>
<div
slot=
"footer"
class=
"dialog-footer"
>
<el-button
type=
"text"
@
click=
"cancelForm3"
>
取消
</el-button>
<el-button
:loading=
"form2.status.cu === 2"
type=
"primary"
@
click=
"reqSetInstruction('form2', form2.item)"
>
确认
</el-button>
</div>
</el-dialog>
<!-- 指令日志 -->
<el-dialog
append-to-body
:close-on-click-modal=
"false"
:before-close=
"cancelForm4"
:visible.sync=
"form2.logVisible"
:title=
"form2.title"
width=
"65%"
>
<div
class=
"content"
>
<el-table
:data=
"form2.formData"
v-loading=
"loading"
border
style=
"width:auto"
:row-class-name=
"tableRowClassName"
>
<el-table-column
prop=
"subcode"
label=
"设备识别码"
min-width=
"135px"
></el-table-column>
<el-table-column
prop=
"ilThreshed"
label=
"裂缝阈值"
></el-table-column>
<el-table-column
prop=
"ilAdjust"
label=
"校正功能"
></el-table-column>
<el-table-column
prop=
"ilSave"
label=
"存储裂缝"
></el-table-column>
<el-table-column
prop=
"ilSendTime"
label=
"唤醒时间"
>
<
template
slot-scope=
"scope"
>
{{
scope
.
row
.
time
+
'
(
'
+
scope
.
row
.
timeUnit
+
'
)
'
}}
</
template
>
</el-table-column>
<el-table-column
prop=
"ilSendSuccess"
label=
"下发状态"
></el-table-column>
<el-table-column
prop=
"ilSendTime"
label=
"下发时间"
min-width=
"145px"
></el-table-column>
</el-table>
<!--分页组件-->
<el-pagination
:total=
"form2.total"
:current-page=
"form2.page"
style=
"margin-top:8px;"
layout=
"total, prev, pager, next, sizes"
@
size-change=
"sizeChange2"
@
current-change=
"pageChange2"
/>
</div>
</el-dialog>
</div>
</div>
</template>
</template>
<
script
>
<
script
>
import
echarts
from
'
echarts
'
;
import
{
Tools
,
HttpReq
,
Dates
}
from
'
@/assets/js/common.js
'
;
import
{
Tools
,
HttpReq
,
Dates
}
from
'
@/assets/js/common.js
'
;
import
DateRangePicker
from
'
@/components/DateRangePicker
'
;
import
cuAmap
from
'
@/components/AMap
'
;
import
Axios
from
'
axios
'
import
EZUIKit
from
"
ezuikit-js
"
;
export
default
{
export
default
{
name
:
'
CarManualSchedulingManagement
'
,
name
:
'
CarManualSchedulingManagement
'
,
components
:
{
components
:
{},
DateRangePicker
,
cuAmap
},
data
()
{
data
()
{
return
{
return
{
loading
:
false
,
loading
:
false
,
...
@@ -234,77 +81,21 @@ export default {
...
@@ -234,77 +81,21 @@ export default {
size
:
10
,
size
:
10
,
total
:
0
,
total
:
0
,
query
:{},
query
:{},
picFileName
:
''
,
tableData
:
[],
tableData
:
[],
seeMoreData
:{},
selectList
:[],
seeMoreImgUrl
:
""
,
carInformationData
:[],
dispatchDuration
:
''
,
form
:
{
form
:
{
title
:
'
添加设备
'
,
visible
:
false
,
reqType
:
'
add
'
,
historyDialog
:
false
,
seeMoreDialog
:
false
,
title
:
''
,
visible
:
false
,
reqType
:
'
add
'
,
status
:{
cu
:
0
},
status
:{
cu
:
0
},
selectList
:[],
item
:{},
item
:{},
monthSelectList
:[
{
name
:
'
一月
'
,
value
:
'
01
'
},
{
name
:
'
二月
'
,
value
:
'
02
'
},
{
name
:
'
三月
'
,
value
:
'
03
'
},
{
name
:
'
四月
'
,
value
:
'
04
'
},
{
name
:
'
五月
'
,
value
:
'
05
'
},
{
name
:
'
六月
'
,
value
:
'
06
'
},
{
name
:
'
七月
'
,
value
:
'
07
'
},
{
name
:
'
八月
'
,
value
:
'
08
'
},
{
name
:
'
九月
'
,
value
:
'
09
'
},
{
name
:
'
十月
'
,
value
:
'
10
'
},
{
name
:
'
十一月
'
,
value
:
'
11
'
},
{
name
:
'
十二月
'
,
value
:
'
12
'
},
],
item2
:{
value
:
''
},
},
},
rules
:
{
rules
:
{
projectId
:
[
// number: [
{
required
:
true
,
message
:
'
请选择项目
'
,
trigger
:
'
blur
'
}
// {required: true, message: '请输入车牌号', trigger: 'blur' }
],
// ],
id
:
[
{
required
:
true
,
message
:
'
请输入设备ID
'
,
trigger
:
'
blur
'
}
],
code
:
[
{
required
:
true
,
message
:
'
请输入设备识别码
'
,
trigger
:
'
blur
'
}
],
name
:
[
{
required
:
true
,
message
:
'
请输入设备名称
'
,
trigger
:
'
blur
'
}
],
},
form2
:{
title
:
'
指令下发
'
,
visible
:
false
,
logDialog
:
false
,
logVisible
:
false
,
query
:{},
page
:
1
,
size
:
10
,
total
:
0
,
status
:{
cu
:
0
},
item
:{
ecode
:
""
,
ename
:
''
,
ilAdjust
:
0
,
ilSave
:
0
,
time
:
''
,
ilThreshed
:
0
,
timekey
:
'
ilTimHour
'
,
},
adjustList
:[
{
name
:
'
启动
'
,
value
:
1
},
{
name
:
'
不启动
'
,
value
:
0
},
],
saveList
:[
{
name
:
'
存储
'
,
value
:
1
},
{
name
:
'
不存储
'
,
value
:
0
},
],
timeList
:[
{
name
:
'
时
'
,
value
:
'
ilTimHour
'
},
{
name
:
'
分
'
,
value
:
'
ilTimMins
'
},
{
name
:
'
秒
'
,
value
:
'
ilTimSec
'
},
],
formData
:[],
},
},
}
}
},
},
...
@@ -316,24 +107,19 @@ export default {
...
@@ -316,24 +107,19 @@ export default {
},
},
methods
:
{
methods
:
{
loadData
()
{
loadData
()
{
var
that
=
this
;
var
sort
=
'
id,desc
'
;
var
sort
=
'
addTime,desc
'
;
var
param
=
this
.
query
;
var
param
=
this
.
query
;
param
.
page
=
this
.
page
-
1
;
param
.
page
=
this
.
page
-
1
;
param
.
size
=
this
.
size
;
param
.
size
=
this
.
size
;
param
.
sort
=
sort
;
param
.
sort
=
sort
;
//请求项目列表
this
.
reqProjectsSimple
().
then
((
list
)
=>
{
this
.
form
.
selectList
=
list
;
});
this
.
$nextTick
(()
=>
{
this
.
$nextTick
(()
=>
{
HttpReq
.
plantFactory
.
getDeviceManageList
(
param
).
then
((
res
)
=>
{
HttpReq
.
truckDispatching
.
manualSchedulingQuery
(
param
).
then
((
res
)
=>
{
//console.log(res);
if
(
res
.
code
==
200
){
this
.
loading
=
false
;
this
.
loading
=
false
;
this
.
tableData
=
res
.
content
;
this
.
tableData
=
res
.
data
.
content
;
this
.
total
=
res
.
totalElements
;
this
.
total
=
res
.
data
.
totalElements
;
}
})
})
})
})
...
@@ -346,154 +132,19 @@ export default {
...
@@ -346,154 +132,19 @@ export default {
}
}
return
''
;
return
''
;
},
},
jumpTo
(){
this
.
$router
.
push
(
'
/IntelligentDispatchManagement/carManualScheduling
'
)
},
// 点击搜索
// 点击搜索
toSearch
()
{
toSearch
()
{
this
.
page
=
1
this
.
page
=
1
;
this
.
loadData
()
this
.
loadData
()
;
},
},
clearLimit
(){
// 清除限制
// 重置搜索
clearLimit
(){
this
.
query
=
{};
this
.
loadData
()
this
.
loadData
()
},
},
cancelForm
(
a
,
b
,
c
){
this
.
form
.
visible
=
false
;
},
cancelForm2
(){
this
.
form
.
historyDialog
=
false
;
},
toAdd
()
{
// 请除表单验证
this
.
$refs
[
'
form1
'
]
&&
this
.
$refs
[
'
form1
'
].
clearValidate
();
this
.
form
.
title
=
'
添加设备
'
;
this
.
form
.
status
.
cu
=
0
;
this
.
form
.
visible
=
true
;
this
.
form
.
reqType
=
'
add
'
;
this
.
form
.
item
=
{};
this
.
picFileName
=
''
;
//请求项目列表
this
.
reqProjectsSimple
().
then
((
list
)
=>
{
this
.
form
.
selectList
=
list
});
},
toEdit
(
item
)
{
// 请除表单验证
this
.
$refs
[
'
form1
'
]
&&
this
.
$refs
[
'
form1
'
].
clearValidate
();
this
.
form
.
title
=
'
编辑设备
'
;
this
.
form
.
status
.
cu
=
0
;
this
.
form
.
visible
=
true
;
this
.
form
.
item
=
item
;
this
.
form
.
reqType
=
'
edit
'
;
this
.
picFileName
=
this
.
form
.
item
.
position
;
//请求项目列表
this
.
reqProjectsSimple
().
then
((
list
)
=>
{
this
.
form
.
selectList
=
list
});
},
toDelete
(
item
)
{
var
id
=
item
.
id
;
this
.
$confirm
(
'
确认删除该条数据吗?
'
,
'
提示
'
,
{
confirmButtonText
:
'
确定
'
,
cancelButtonText
:
'
取消
'
,
type
:
'
warning
'
}).
then
((
e
)
=>
{
this
.
reqRemoveProject
([
id
])
}).
catch
((
e
)
=>
{
})
},
//查看图片以及其他信息
toSeeMore
(
row
){
//console.log(row);
this
.
seeMoreData
=
row
;
this
.
seeMoreImgUrl
=
process
.
env
.
VUE_APP_LOCAL_API2
+
"
/avatar/
"
+
row
.
position
;
this
.
form
.
seeMoreDialog
=
true
;
this
.
$nextTick
(()
=>
{
let
videoContainer
=
document
.
querySelector
(
'
#video-container
'
);
videoContainer
.
innerHTML
=
''
;
var
player
=
new
EZUIKit
.
EZUIKitPlayer
({
autoplay
:
true
,
id
:
'
video-container
'
,
accessToken
:
'
at.4qo66bb35a19h07a0d9pbmtj5v4g0o78-4jmzdu3k24-0866je6-qkz1xuwmf
'
,
url
:
'
ezopen://open.ys7.com/J16440511/1.live
'
,
template
:
"
simple
"
,
// simple - 极简版;standard-标准版;security - 安防版(预览回放);voice-语音版;
width
:
530
,
height
:
320
});
})
},
toHistoryLog
(
item
){
this
.
form
.
historyDialog
=
true
;
this
.
form
.
item2
.
value
=
Dates
.
format
(
'
MM
'
);
this
.
form
.
item2
.
code
=
item
.
ecode
;
this
.
$nextTick
(()
=>
{
var
ecahrtEl
=
document
.
getElementById
(
"
ecahrtA
"
);
this
.
ecahrtA
=
this
.
ecahrtA
||
this
.
createPanelEcharts
(
ecahrtEl
);
this
.
reqHistoryList
(
this
.
form
.
item2
);
});
},
cancelForm3
(
a
,
b
,
c
){
this
.
form2
.
visible
=
false
;
},
cancelForm4
(
a
,
b
,
c
){
this
.
form2
.
logVisible
=
false
;
},
// 指令下发
toInstructionSet
(
item
){
var
form2
=
this
.
form2
;
// 请除表单验证
//this.$refs['form1'] && this.$refs['form1'].clearValidate();
form2
.
title
=
'
指令下发
'
;
form2
.
status
.
cu
=
0
;
form2
.
visible
=
true
;
form2
.
reqType
=
'
edit
'
;
form2
.
item
=
{
ecode
:
item
.
ecode
,
subcode
:
item
.
subcode
,
ilAdjust
:
form2
.
item
.
ilAdjust
,
ilSave
:
form2
.
item
.
ilSave
,
timekey
:
form2
.
item
.
timekey
,
time
:
''
,
};
},
// 指令日志
toInstructionLog
(
item
){
var
form2
=
this
.
form2
;
// 请除表单验证
//this.$refs['form1'] && this.$refs['form1'].clearValidate();
form2
.
title
=
'
下发日志
'
;
form2
.
logVisible
=
true
;
form2
.
item
=
item
;
var
param
=
form2
.
query
;
param
.
page
=
form2
.
page
-
1
;
param
.
size
=
form2
.
size
;
param
.
sort
=
'
addTime,desc
'
;
param
.
deviceId
=
item
.
ecode
;
HttpReq
.
equipment
.
getInstructionLog
(
param
).
then
((
res
)
=>
{
if
(
res
){
form2
.
total
=
res
.
totalElements
;
var
formData
=
res
.
content
||
[],
timeKeys
=
{
'
ilTimHour
'
:
'
小时
'
,
'
ilTimMins
'
:
'
分钟
'
,
'
ilTimSec
'
:
'
秒
'
};
for
(
var
fitem
of
formData
){
fitem
.
subcode
=
item
.
subcode
;
for
(
var
key
in
timeKeys
){
if
(
fitem
[
key
]
||
fitem
[
key
]
===
0
){
fitem
[
'
time
'
]
=
fitem
[
key
];
fitem
.
timeUnit
=
timeKeys
[
key
];
}
else
{
delete
fitem
[
key
]
}
};
fitem
.
ilAdjust
=
[
'
不启动
'
,
'
启动
'
][
fitem
.
ilAdjust
||
0
];
fitem
.
ilSave
=
[
'
不存储
'
,
'
存储
'
][
fitem
.
ilSave
||
0
];
fitem
.
ilSendSuccess
=
[
'
下发失败
'
,
'
下发成功
'
][
fitem
.
ilSendSuccess
||
0
];
};
form2
.
formData
=
formData
;
};
}).
catch
(
function
(
error
)
{
console
.
log
(
'
error ________________
'
,
error
);
});
},
pageChange
(
e
)
{
pageChange
(
e
)
{
this
.
page
=
e
this
.
page
=
e
this
.
loadData
()
this
.
loadData
()
...
@@ -503,99 +154,35 @@ export default {
...
@@ -503,99 +154,35 @@ export default {
this
.
size
=
e
this
.
size
=
e
this
.
loadData
()
this
.
loadData
()
},
},
pageChange2
(
e
)
{
//查看调度车辆
this
.
form2
.
page
=
e
showCars
(
item
){
this
.
reqInstructionLog
(
this
.
form2
.
item
)
let
code
=
item
.
odd
;
},
this
.
dispatchDuration
=
item
.
duration
;
sizeChange2
(
e
)
{
this
.
form
.
visible
=
true
;
this
.
form2
.
page
=
1
;
//获取车辆信息
this
.
form2
.
size
=
e
;
HttpReq
.
truckDispatching
.
manualSchedulingCarsQuery
({
size
:
9999
,
odd
:
code
}).
then
((
res
)
=>
{
this
.
reqInstructionLog
(
this
.
form2
.
item
);
},
submitForm
(
validateName
,
item
){
if
(
!
this
.
form
.
status
.
cu
){
this
.
form
.
status
.
cu
=
2
;
this
.
$refs
[
validateName
].
validate
(
valid
=>
{
if
(
valid
){
if
(
this
.
form
.
reqType
===
'
add
'
){
this
.
reqAddItem
(
this
.
form
,
item
)
}
else
{
this
.
reqUpdateItem
(
this
.
form
,
item
)
}
}
else
{
this
.
form
.
status
.
cu
=
0
}
});
};
},
findHistory
(){
this
.
reqHistoryList
(
this
.
form
.
item2
);
},
//请求项目列表
reqProjectsSimple
(){
return
HttpReq
.
project
.
getProject
().
then
((
res
)
=>
{
if
(
res
.
code
==
200
){
if
(
res
.
code
==
200
){
return
res
.
data
.
content
;
this
.
carInformationData
=
res
.
data
.
content
;
}
else
{
return
[]
}
}
})
})
},
},
//添加设备
//删除提示
reqAddItem
(
form
,
item
){
toDelete
(
item
)
{
let
lastData
=
item
;
var
id
=
item
.
id
;
lastData
.
position
=
this
.
picFileName
;
this
.
$confirm
(
'
确认删除该条数据吗?
'
,
'
提示
'
,
{
HttpReq
.
plantFactory
.
addDeviceManageList
(
lastData
).
then
((
res
)
=>
{
confirmButtonText
:
'
确定
'
,
form
.
visible
=
false
;
cancelButtonText
:
'
取消
'
,
if
(
res
==
1
){
type
:
'
warning
'
this
.
$notify
({
}).
then
((
e
)
=>
{
title
:
'
项目添加成功!
'
,
this
.
reqRemoveProject
([
id
])
type
:
'
success
'
,
}).
catch
((
e
)
=>
{})
duration
:
2500
});
this
.
loadData
()
}
else
{
this
.
$notify
({
title
:
res
.
head
.
message
,
type
:
'
error
'
,
duration
:
2500
})
}
}).
catch
(
function
(
error
)
{
form
.
status
.
cu
=
0
});
},
//修改设备
reqUpdateItem
(
form
,
item
){
let
lastData
=
item
;
lastData
.
position
=
this
.
picFileName
;
HttpReq
.
plantFactory
.
upDateDeviceManageList
(
lastData
).
then
((
res
)
=>
{
form
.
visible
=
false
;
if
(
res
.
status
==
400
){
this
.
$notify
({
title
:
res
.
head
.
message
,
type
:
'
error
'
,
duration
:
2500
})
}
else
{
this
.
$notify
({
title
:
'
修改成功!
'
,
type
:
'
success
'
,
duration
:
2500
});
this
.
loadData
()
}
}).
catch
(
function
(
error
)
{
form
.
status
.
cu
=
0
});
},
},
//删除
设备
//删除
调度
reqRemoveProject
(
item
){
reqRemoveProject
(
item
){
HttpReq
.
plantFactory
.
removeDeviceManageList
(
item
).
then
((
res
)
=>
{
HttpReq
.
truckDispatching
.
manualSchedulingDel
(
item
).
then
((
res
)
=>
{
if
(
res
.
status
==
400
){
if
(
res
.
status
==
400
){
this
.
$notify
({
this
.
$notify
({
title
:
res
.
head
.
message
,
title
:
res
.
msg
,
type
:
'
error
'
,
type
:
'
error
'
,
duration
:
2500
duration
:
2500
})
})
...
@@ -609,228 +196,22 @@ export default {
...
@@ -609,228 +196,22 @@ export default {
this
.
loadData
();
this
.
loadData
();
})
})
},
},
reqHistoryList
(
item
){
currentTime
(
time
){
var
timeSpace
=
this
.
query
.
timeSpace
;
var
date
=
new
Date
(
time
);
var
startTime
=
timeSpace
?
timeSpace
[
0
].
split
(
'
'
)[
0
]
:
''
;
var
year
=
date
.
getFullYear
();
//年 ,从 Date 对象以四位数字返回年份
var
endTime
=
timeSpace
?
timeSpace
[
1
].
split
(
'
'
)[
0
]
:
''
;
var
month
=
date
.
getMonth
()
+
1
;
//月 ,从 Date 对象返回月份 (0 ~ 11) ,date.getMonth()比实际月份少 1 个月
HttpReq
.
historys
.
getItemBycode
({
codes
:
item
.
code
,
startTime
:
startTime
,
endTime
:
endTime
}).
then
((
res
)
=>
{
var
day
=
date
.
getDate
();
//日 ,从 Date 对象返回一个月中的某一天 (1 ~ 31)
if
(
res
.
head
.
code
===
'
0000
'
){
//修改月份格式
var
body
=
res
.
body
||
{};
if
(
month
>=
1
&&
month
<=
9
)
{
var
list
=
body
.
list
||
[];
month
=
"
0
"
+
month
;
var
xAxisData
=
[];
var
helement
=
[];
var
htemperature
=
[];
var
hlenght1
=
[],
hlenght2
=
[],
hlenght3
=
[];
for
(
var
item
of
list
){
xAxisData
.
push
(
item
.
createTime
);
helement
.
push
(
item
.
helement
);
htemperature
.
push
(
item
.
htemperature
);
hlenght1
.
push
(
item
.
hlenght1
);
hlenght2
.
push
(
item
.
hlenght2
);
hlenght3
.
push
(
item
.
hlenght3
);
};
this
.
ecahrtA
.
setData
({
xAxis
:
[
{
type
:
'
category
'
,
data
:
xAxisData
,
},
],
series
:
[
{
name
:
'
电压
'
,
data
:
helement
,
},
{
name
:
'
温度
'
,
data
:
htemperature
,
},
{
name
:
'
裂缝1
'
,
data
:
hlenght1
,
},
{
name
:
'
裂缝2
'
,
data
:
hlenght2
,
},
{
name
:
'
裂缝3
'
,
data
:
hlenght3
,
}
]
})
};
}).
catch
(
function
(
error
)
{
console
.
log
(
'
catch __
'
,
error
);
})
},
createPanelEcharts
(
el
){
var
myChart
=
echarts
.
init
(
el
),
lineColor
=
'
green
'
;
var
option
=
{
title
:
{
text
:
''
,
subtext
:
'
设备值
'
},
tooltip
:
{
trigger
:
'
axis
'
},
legend
:
{
data
:
[
'
电压
'
,
'
温度
'
,
'
裂缝1
'
,
'
裂缝2
'
,
'
裂缝3
'
],
textStyle
:
{
color
:
"
#000
"
},
},
textStyle
:
{
color
:
"
#333
"
},
calculable
:
true
,
xAxis
:
[
{
type
:
'
category
'
,
data
:
[],
}
],
yAxis
:
[
{
type
:
'
value
'
,
}
],
grid
:{
top
:
40
,
right
:
10
,
bottom
:
20
,
left
:
45
,
},
series
:
[
{
name
:
'
电压
'
,
type
:
'
line
'
,
data
:
[
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
],
//itemStyle: {normal: {areaStyle: {type: 'default', color:'#00e5ff'}, color:'#00e5ff'}, color:'green'},
},
{
name
:
'
温度
'
,
type
:
'
line
'
,
data
:
[
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
],
},
{
name
:
'
裂缝1
'
,
type
:
'
line
'
,
data
:
[
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
],
//itemStyle: {normal: {areaStyle: {type:'default', color:'red'}, color:'#1849fe'}, color:'red'},
},
{
name
:
'
裂缝2
'
,
type
:
'
line
'
,
data
:
[
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
],
},
{
name
:
'
裂缝3
'
,
type
:
'
line
'
,
data
:
[
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
],
}
]
};
myChart
.
setOption
(
option
);
var
setData
=
function
(
option
){
myChart
.
hideLoading
();
myChart
.
setOption
(
option
)
};
return
{
setData
:
setData
,
myChart
:
myChart
}
},
reqSetInstruction
(
form
,
item
){
var
param
=
{
deviceId
:
item
.
ecode
,
ilAdjust
:
item
.
ilAdjust
,
ilSave
:
item
.
ilSave
,
ilThreshed
:
item
.
ilThreshed
||
0
,
[
item
.
timekey
]:
item
.
time
||
0
,
};
HttpReq
.
equipment
.
setInstruction
(
param
).
then
((
res
)
=>
{
this
.
form2
.
visible
=
false
;
this
.
$notify
({
title
:
'
修改成功!
'
,
type
:
'
success
'
,
duration
:
2500
});
this
.
loadData
()
}).
catch
(
function
(
error
)
{
this
.
form2
.
status
.
cu
=
0
;
this
.
$notify
({
title
:
error
,
type
:
'
error
'
,
duration
:
2500
})
});
},
reqInstructionLog
(
item
){
var
form2
=
this
.
form2
;
var
param
=
form2
.
query
;
param
.
page
=
form2
.
page
-
1
;
param
.
size
=
form2
.
size
;
param
.
sort
=
'
addTime,desc
'
;
param
.
deviceId
=
item
.
ecode
;
HttpReq
.
equipment
.
getInstructionLog
(
param
).
then
((
res
)
=>
{
if
(
res
){
form2
.
total
=
res
.
totalElements
;
var
formData
=
res
.
content
||
[],
timeKeys
=
{
'
ilTimHour
'
:
'
小时
'
,
'
ilTimMins
'
:
'
分钟
'
,
'
ilTimSec
'
:
'
秒
'
};
for
(
var
fitem
of
formData
){
fitem
.
subcode
=
item
.
subcode
;
for
(
var
key
in
timeKeys
){
if
(
fitem
[
key
]){
fitem
[
'
time
'
]
=
fitem
[
key
];
fitem
.
timeUnit
=
timeKeys
[
key
];
}
else
{
delete
fitem
[
key
]
}
};
fitem
.
ilAdjust
=
[
'
不启动
'
,
'
启动
'
][
fitem
.
ilAdjust
||
0
];
fitem
.
ilSave
=
[
'
不存储
'
,
'
存储
'
][
fitem
.
ilSave
||
0
];
fitem
.
ilSendSuccess
=
[
'
下发失败
'
,
'
下发成功
'
][
fitem
.
ilSendSuccess
||
0
];
};
form2
.
formData
=
formData
;
};
}).
catch
(
function
(
error
)
{
console
.
log
(
'
error ________________
'
,
error
);
});
},
//图片上传
excelImport
(
event
)
{
let
that
=
this
;
let
file
=
event
.
target
.
files
[
0
];
let
formData1
=
new
FormData
();
formData1
.
append
(
"
avatar
"
,
file
);
Axios
({
url
:
process
.
env
.
VUE_APP_LOCAL_API2
+
'
/api/wEquipment/updateAvatar
'
,
method
:
"
post
"
,
data
:
formData1
,
}).
then
(
response
=>
{
if
(
response
.
status
==
200
)
{
this
.
$message
.
success
(
"
上传成功
"
);
that
.
picFileName
=
response
.
data
.
avatar
;
}
else
{
this
.
$message
.
error
(
"
上传失败
"
);
}
}
},
//修改日期格式
)
if
(
day
>=
0
&&
day
<=
9
)
{
.
catch
(
error
=>
{
day
=
"
0
"
+
day
;
console
.
log
(
error
);
});
},
//项目名称展示
formatter
(
row
){
let
proName
=
""
;
this
.
form
.
selectList
.
forEach
(
function
(
item
){
if
(
row
.
projectId
==
item
.
id
){
proName
=
item
.
name
;
}
}
})
//获取当前系统时间 格式(yyyy-mm-dd hh:mm:ss)
return
proName
let
currentFormatDate
=
year
+
"
-
"
+
month
+
"
-
"
+
day
;
return
currentFormatDate
;
}
}
}
}
}
}
...
@@ -858,7 +239,21 @@ export default {
...
@@ -858,7 +239,21 @@ export default {
}
}
}
}
}
}
.checkboxViews
{
padding-top
:
10px
;
padding-left
:
10px
;
box-sizing
:
border-box
;
width
:
550px
;
height
:
250px
;
border
:
1px
gainsboro
solid
;
overflow-y
:scroll
;
overflow-x
:hidden
;
}
.checkboxViews
>
div
{
display
:
inline-block
;
width
:
24%
;
text-align
:
center
;
}
.ecahrt1-dialog
{
.ecahrt1-dialog
{
display
:flex
;
align-items
:center
;
display
:flex
;
align-items
:center
;
.el-dialog
{
.el-dialog
{
...
...
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