Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
K
kd_control
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
zhanglw
kd_control
Commits
9ffcb9c1
Commit
9ffcb9c1
authored
Apr 04, 2023
by
zhanglw
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
边坡设备报警,人员定位
parent
c7a64edb
Changes
12
Hide whitespace changes
Inline
Side-by-side
Showing
12 changed files
with
2151 additions
and
83 deletions
+2151
-83
.env.development
.env.development
+5
-3
common.js
src/assets/js/common.js
+93
-0
index.vue
src/views/driverManagement/index.vue
+1
-1
index.vue
src/views/personnelPositioning/beacon/index.vue
+300
-0
index.vue
src/views/personnelPositioning/peopleAlarm/index.vue
+300
-0
index.vue
src/views/personnelPositioning/peopleLocation/index.vue
+488
-0
index.vue
src/views/personnelPositioning/peopleLogData/index.vue
+436
-0
index.vue
src/views/personnelPositioning/visitPeople/index.vue
+436
-0
index.vue
src/views/slopeMonitoring/alarmManagement/index.vue
+64
-36
index.vue
src/views/slopeMonitoring/environmentalMonitoring/index.vue
+20
-39
index.vue
src/views/slopeMonitoring/precipitationLog/index.vue
+4
-2
index.vue
src/views/slopeMonitoring/surfaceDisplacementLog/index.vue
+4
-2
No files found.
.env.development
View file @
9ffcb9c1
ENV = 'development'
ENV = 'development'
# 接口地址
# 接口地址
#VUE_APP_BASE_API = 'http://localhost:8000'
VUE_APP_BASE_API = 'http://192.168.3.23:9092'
#VUE_APP_BASE_API = 'http://8.143.203.103:9091'
#VUE_APP_BASE_API = 'http://8.143.203.103:9091'
VUE_APP_WS_API = 'ws://8.143.203.103:9092/webSocket'
#VUE_APP_BASE_API = 'http://192.168.3.216:9092'
#VUE_APP_LOCAL_API = 'http://192.168.3.216:9092'
VUE_APP_BASE_API = 'http://192.168.3.23:9092'
VUE_APP_LOCAL_API = 'http://192.168.3.23:9092'
VUE_APP_LOCAL_API = 'http://192.168.3.23:9092'
VUE_APP_LOCAL_API2 = 'http://8.143.203.103:9091/'
VUE_APP_LOCAL_API2 = 'http://8.143.203.103:9091/'
VUE_APP_WS_API = 'ws://8.143.203.103:9092/webSocket'
# 是否启用 babel-plugin-dynamic-import-node插件
# 是否启用 babel-plugin-dynamic-import-node插件
VUE_CLI_BABEL_TRANSPILE_MODULES = true
VUE_CLI_BABEL_TRANSPILE_MODULES = true
src/assets/js/common.js
View file @
9ffcb9c1
...
@@ -2901,6 +2901,99 @@ var HttpReq = function(){
...
@@ -2901,6 +2901,99 @@ var HttpReq = function(){
params
:
param
,
params
:
param
,
})
})
},
},
slopeGetEquipmentAlarm
:
function
(
param
){
return
request
({
url
:
'
/api/equipmentAlarm
'
,
method
:
'
get
'
,
params
:
param
,
})
},
slopeEquipmentAlarmRemove
:
function
(
data
){
return
request
({
url
:
'
/api/equipmentAlarm/remove
'
,
method
:
'
PUT
'
,
data
:
data
,
})
},
slopeGetEquipmentData
:
function
(
param
){
return
request
({
url
:
'
/api/HengYuanEquipmentData
'
,
method
:
'
get
'
,
params
:
param
,
})
},
propleGetPerbeacon
:
function
(
param
){
return
request
({
url
:
'
/tab/perbeacon
'
,
method
:
'
get
'
,
params
:
param
,
})
},
proplePostPerbeacon
:
function
(
data
){
return
request
({
url
:
'
/tab/perbeacon
'
,
method
:
'
POST
'
,
data
:
data
,
})
},
proplePutPerbeacon
:
function
(
data
){
return
request
({
url
:
'
/tab/perbeacon
'
,
method
:
'
PUT
'
,
data
:
data
,
})
},
propleDeletePerbeacon
:
function
(
data
){
return
request
({
url
:
'
/tab/perbeacon
'
,
method
:
'
Delete
'
,
data
:
data
,
})
},
propleGetPerequipment
:
function
(
param
){
return
request
({
url
:
'
/tab/perequipment
'
,
method
:
'
get
'
,
params
:
param
,
})
},
proplePostPerequipment
:
function
(
data
){
return
request
({
url
:
'
/tab/perequipment
'
,
method
:
'
POST
'
,
data
:
data
,
})
},
proplePutPerequipment
:
function
(
data
){
return
request
({
url
:
'
/tab/perequipment
'
,
method
:
'
PUT
'
,
data
:
data
,
})
},
propleDeletePerequipment
:
function
(
data
){
return
request
({
url
:
'
/tab/perequipment
'
,
method
:
'
Delete
'
,
data
:
data
,
})
},
proplePostPerequipmentUpload
:
function
(
data
){
return
request
({
url
:
'
/tab/perequipment/upload
'
,
method
:
'
POST
'
,
data
:
data
,
})
},
propleGetPerequipmentOut
:
function
(
param
){
return
request
({
url
:
'
/tab/perequipment/out
'
,
method
:
'
get
'
,
params
:
param
,
})
},
},
},
...
...
src/views/driverManagement/index.vue
View file @
9ffcb9c1
...
@@ -21,7 +21,7 @@
...
@@ -21,7 +21,7 @@
<!-- 表格 -->
<!-- 表格 -->
<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"
>
...
...
src/views/personnelPositioning/beacon/index.vue
0 → 100644
View file @
9ffcb9c1
<
template
>
<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.beaconame"
clearable
size=
"small"
placeholder=
"请输入设备号"
style=
"width:180px;"
/>
<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
class=
"panel-bottom page-row"
>
<div
class=
"ctin-box"
>
<div
class=
"content-within"
>
<div
class=
"content-fix"
>
<div
class=
"toolbar"
>
<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=
"beaconame"
label=
"信标名称"
align=
"center"
></el-table-column>
<el-table-column
prop=
"beaconumber"
label=
"信标编号"
align=
"center"
></el-table-column>
<el-table-column
prop=
"xcoordinate"
label=
"X坐标"
align=
"center"
></el-table-column>
<el-table-column
prop=
"ycoordinate"
label=
"Y坐标"
align=
"center"
></el-table-column>
<el-table-column
prop=
"time"
label=
"时间"
align=
"center"
></el-table-column>
<el-table-column
label=
"操作"
align=
"center"
fixed=
"right"
>
<template
slot-scope=
"scope"
>
<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>
</
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>
<!-- 表单渲染 -->
<el-dialog
append-to-body
:close-on-click-modal=
"false"
:before-close=
"cancelForm"
:visible.sync=
"visible"
:title=
"title"
width=
"800px"
>
<el-form
:model=
"formData"
:rules=
"rules"
ref=
"formViewRef"
:inline=
"true"
:status-icon=
"true"
size=
"mini"
>
<el-row>
<el-col
:span=
"12"
>
<div
class=
"grid-content"
>
<el-form-item
label=
"信标名称:"
prop=
"beaconame"
class=
"form-cell"
>
<div
class=
"cell-box"
>
<el-input
v-model=
"formData.beaconame"
class=
"cell-input"
></el-input>
</div>
</el-form-item>
</div>
</el-col>
<el-col
:span=
"12"
>
<div
class=
"grid-content"
>
<el-form-item
label=
"信标编号:"
class=
"form-cell"
prop=
"beaconumber"
>
<div
class=
"cell-box"
>
<el-input
v-model=
"formData.beaconumber"
class=
"cell-input"
></el-input>
</div>
</el-form-item>
</div>
</el-col>
</el-row>
<el-row>
<el-col
:span=
"12"
>
<div
class=
"grid-content"
>
<el-form-item
label=
"X坐标:"
class=
"form-cell"
prop=
"xcoordinate"
>
<div
class=
"cell-box"
>
<el-input
v-model=
"formData.xcoordinate"
class=
"cell-input"
></el-input>
</div>
</el-form-item>
</div>
</el-col>
<el-col
:span=
"12"
>
<div
class=
"grid-content"
>
<el-form-item
label=
"Y坐标:"
class=
"form-cell"
prop=
"ycoordinate"
>
<div
class=
"cell-box"
>
<el-input
v-model=
"formData.ycoordinate"
class=
"cell-input"
></el-input>
</div>
</el-form-item>
</div>
</el-col>
</el-row>
</el-form>
<div
slot=
"footer"
class=
"dialog-footer"
>
<el-button
type=
"text"
@
click=
"cancelForm"
>
取消
</el-button>
<el-button
type=
"primary"
@
click=
"submitForm('formViewRef', formData)"
>
确认
</el-button>
</div>
</el-dialog>
</div>
</template>
<
script
>
import
{
Tools
,
HttpReq
,
Dates
}
from
'
@/assets/js/common.js
'
;
export
default
{
name
:
'
beacon
'
,
data
()
{
const
basePathUrl
=
window
.
basePathUrl
||
''
return
{
configUrl
:
basePathUrl
+
'
config/config.json
'
,
title
:
'
新增
'
,
visible
:
false
,
loading
:
false
,
page
:
1
,
size
:
10
,
total
:
0
,
query
:
{},
map
:
null
,
graphicLayer
:
null
,
stuOpts
:
[
{
label
:
'
全部
'
,
value
:
undefined
},
{
label
:
'
离线
'
,
value
:
'
离线
'
},
{
label
:
'
在线
'
,
value
:
'
在线
'
},
],
tableData
:
[],
formData
:
{
beaconame
:
''
,
beaconumber
:
''
,
xcoordinate
:
''
,
ycoordinate
:
''
,
},
rules
:
{
beaconame
:
{
required
:
true
,
message
:
'
'
,
trigger
:
'
blur
'
},
beaconumber
:
{
required
:
true
,
message
:
'
'
,
trigger
:
'
blur
'
},
xcoordinate
:
{
required
:
true
,
message
:
'
'
,
trigger
:
'
blur
'
},
ycoordinate
:
{
required
:
true
,
message
:
'
'
,
trigger
:
'
blur
'
},
},
}
},
mounted
()
{
this
.
$nextTick
(()
=>
{
this
.
loadData
();
})
},
methods
:
{
formatOpt
(
arr
,
val
){
let
str
=
''
;
arr
.
forEach
((
item
)
=>
{
if
(
item
.
value
==
val
){
str
=
item
.
label
;
}
});
return
str
;
},
loadData
()
{
var
param
=
this
.
query
;
param
.
page
=
this
.
page
-
1
;
param
.
size
=
this
.
size
;
this
.
$nextTick
(()
=>
{
//获取安检信息
HttpReq
.
truckDispatching
.
propleGetPerbeacon
(
param
).
then
((
res
)
=>
{
if
(
res
.
code
==
200
)
{
this
.
loading
=
false
;
this
.
tableData
=
res
.
body
.
list
;
this
.
total
=
res
.
body
.
total
;
}
})
})
},
toAdd
()
{
this
.
title
=
'
新增
'
;
this
.
visible
=
true
;
},
toEdit
(
item
)
{
this
.
title
=
'
编辑
'
;
this
.
visible
=
true
;
this
.
formData
=
item
;
},
toDelete
(
item
)
{
var
id
=
item
.
id
;
this
.
$confirm
(
'
确认删除该条数据吗?
'
,
'
提示
'
,
{
confirmButtonText
:
'
确定
'
,
cancelButtonText
:
'
取消
'
,
type
:
'
warning
'
}).
then
((
e
)
=>
{
HttpReq
.
truckDispatching
.
propleDeletePerbeacon
({
id
}).
then
((
res
)
=>
{
if
(
res
.
code
==
200
)
{
this
.
$message
({
message
:
res
.
msg
,
type
:
'
success
'
});
this
.
loadData
();
}
})
})
},
cancelForm
()
{
this
.
visible
=
false
;
this
.
$refs
.
formViewRef
.
resetFields
();
},
tableRowClassName
({
row
,
rowIndex
})
{
},
// 点击搜索
toSearch
()
{
this
.
page
=
1
;
this
.
loadData
();
},
// 重置搜索
clearLimit
()
{
this
.
query
=
{};
this
.
loadData
()
},
pageChange
(
e
)
{
this
.
page
=
e
this
.
loadData
()
},
sizeChange
(
e
)
{
this
.
page
=
1
this
.
size
=
e
this
.
loadData
()
},
submitForm
(
validateName
,
item
)
{
this
.
$refs
[
validateName
].
validate
(
valid
=>
{
if
(
valid
)
{
if
(
this
.
title
===
'
新增
'
)
{
HttpReq
.
truckDispatching
.
proplePostPerbeacon
(
item
).
then
((
res
)
=>
{
if
(
res
.
code
==
200
)
{
this
.
$message
({
message
:
res
.
msg
,
type
:
'
success
'
});
this
.
cancelForm
();
this
.
loadData
()
}
})
}
else
{
HttpReq
.
truckDispatching
.
proplePutPerbeacon
(
item
).
then
((
res
)
=>
{
if
(
res
.
code
==
200
)
{
this
.
$message
({
message
:
res
.
msg
,
type
:
'
success
'
});
this
.
cancelForm
();
this
.
loadData
()
}
})
}
}
});
},
},
}
</
script
>
<
style
rel=
"stylesheet/scss"
lang=
"scss"
scope
>
.el-table
.warning-row
{
background
:
oldlace
;
}
.el-table
.success-row
{
background
:
#f0f9eb
;
}
.cell-input
{
//min-width: 220px;
}
.form-cell
{
margin
:
0
!
important
;
width
:
100%
;
}
.grid-content
{
//border: 1px solid rgba(100, 100, 100, 0.1);
padding
:
5px
30px
;
}
.cell-box
{
min-width
:
120px
;
}
.cell-box
.el-input__inner
{
border
:
1px
solid
rgba
(
100
,
100
,
100
,
0
.1
);
}
.cell-box
.el-input.is-disabled
.el-input__inner
{
border
:
1px
solid
rgba
(
100
,
100
,
100
,
0
.1
);
background
:
white
;
cursor
:
text
;
}
.cell-box
.el-input.is-disabled
.el-input__icon
{
cursor
:
text
;
}
.cell-box
.el-icon-arrow-up
:before
{
content
:
''
;
}
.mapcontainer
{
height
:
30vh
;
width
:
680px
;
overflow
:
hidden
;
}
</
style
>
src/views/personnelPositioning/peopleAlarm/index.vue
0 → 100644
View file @
9ffcb9c1
<
template
>
<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.beaconame"
clearable
size=
"small"
placeholder=
"请输入设备号"
style=
"width:180px;"
/>
<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
class=
"panel-bottom page-row"
>
<div
class=
"ctin-box"
>
<div
class=
"content-within"
>
<div
class=
"content-fix"
>
<div
class=
"toolbar"
>
<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=
"beaconame"
label=
"信标名称"
align=
"center"
></el-table-column>
<el-table-column
prop=
"beaconumber"
label=
"信标编号"
align=
"center"
></el-table-column>
<el-table-column
prop=
"xcoordinate"
label=
"X坐标"
align=
"center"
></el-table-column>
<el-table-column
prop=
"ycoordinate"
label=
"Y坐标"
align=
"center"
></el-table-column>
<el-table-column
prop=
"time"
label=
"时间"
align=
"center"
></el-table-column>
<el-table-column
label=
"操作"
align=
"center"
fixed=
"right"
>
<template
slot-scope=
"scope"
>
<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>
</
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>
<!-- 表单渲染 -->
<el-dialog
append-to-body
:close-on-click-modal=
"false"
:before-close=
"cancelForm"
:visible.sync=
"visible"
:title=
"title"
width=
"800px"
>
<el-form
:model=
"formData"
:rules=
"rules"
ref=
"formViewRef"
:inline=
"true"
:status-icon=
"true"
size=
"mini"
>
<el-row>
<el-col
:span=
"12"
>
<div
class=
"grid-content"
>
<el-form-item
label=
"信标名称:"
prop=
"beaconame"
class=
"form-cell"
>
<div
class=
"cell-box"
>
<el-input
v-model=
"formData.beaconame"
class=
"cell-input"
></el-input>
</div>
</el-form-item>
</div>
</el-col>
<el-col
:span=
"12"
>
<div
class=
"grid-content"
>
<el-form-item
label=
"信标编号:"
class=
"form-cell"
prop=
"beaconumber"
>
<div
class=
"cell-box"
>
<el-input
v-model=
"formData.beaconumber"
class=
"cell-input"
></el-input>
</div>
</el-form-item>
</div>
</el-col>
</el-row>
<el-row>
<el-col
:span=
"12"
>
<div
class=
"grid-content"
>
<el-form-item
label=
"X坐标:"
class=
"form-cell"
prop=
"xcoordinate"
>
<div
class=
"cell-box"
>
<el-input
v-model=
"formData.xcoordinate"
class=
"cell-input"
></el-input>
</div>
</el-form-item>
</div>
</el-col>
<el-col
:span=
"12"
>
<div
class=
"grid-content"
>
<el-form-item
label=
"Y坐标:"
class=
"form-cell"
prop=
"ycoordinate"
>
<div
class=
"cell-box"
>
<el-input
v-model=
"formData.ycoordinate"
class=
"cell-input"
></el-input>
</div>
</el-form-item>
</div>
</el-col>
</el-row>
</el-form>
<div
slot=
"footer"
class=
"dialog-footer"
>
<el-button
type=
"text"
@
click=
"cancelForm"
>
取消
</el-button>
<el-button
type=
"primary"
@
click=
"submitForm('formViewRef', formData)"
>
确认
</el-button>
</div>
</el-dialog>
</div>
</template>
<
script
>
import
{
Tools
,
HttpReq
,
Dates
}
from
'
@/assets/js/common.js
'
;
export
default
{
name
:
'
peopleAlarm
'
,
data
()
{
const
basePathUrl
=
window
.
basePathUrl
||
''
return
{
configUrl
:
basePathUrl
+
'
config/config.json
'
,
title
:
'
新增
'
,
visible
:
false
,
loading
:
false
,
page
:
1
,
size
:
10
,
total
:
0
,
query
:
{},
map
:
null
,
graphicLayer
:
null
,
stuOpts
:
[
{
label
:
'
全部
'
,
value
:
undefined
},
{
label
:
'
离线
'
,
value
:
'
离线
'
},
{
label
:
'
在线
'
,
value
:
'
在线
'
},
],
tableData
:
[],
formData
:
{
beaconame
:
''
,
beaconumber
:
''
,
xcoordinate
:
''
,
ycoordinate
:
''
,
},
rules
:
{
beaconame
:
{
required
:
true
,
message
:
'
'
,
trigger
:
'
blur
'
},
beaconumber
:
{
required
:
true
,
message
:
'
'
,
trigger
:
'
blur
'
},
xcoordinate
:
{
required
:
true
,
message
:
'
'
,
trigger
:
'
blur
'
},
ycoordinate
:
{
required
:
true
,
message
:
'
'
,
trigger
:
'
blur
'
},
},
}
},
mounted
()
{
this
.
$nextTick
(()
=>
{
this
.
loadData
();
})
},
methods
:
{
formatOpt
(
arr
,
val
){
let
str
=
''
;
arr
.
forEach
((
item
)
=>
{
if
(
item
.
value
==
val
){
str
=
item
.
label
;
}
});
return
str
;
},
loadData
()
{
var
param
=
this
.
query
;
param
.
page
=
this
.
page
-
1
;
param
.
size
=
this
.
size
;
this
.
$nextTick
(()
=>
{
//获取安检信息
HttpReq
.
truckDispatching
.
propleGetPerbeacon
(
param
).
then
((
res
)
=>
{
if
(
res
.
code
==
200
)
{
this
.
loading
=
false
;
this
.
tableData
=
res
.
body
.
list
;
this
.
total
=
res
.
body
.
total
;
}
})
})
},
toAdd
()
{
this
.
title
=
'
新增
'
;
this
.
visible
=
true
;
},
toEdit
(
item
)
{
this
.
title
=
'
编辑
'
;
this
.
visible
=
true
;
this
.
formData
=
item
;
},
toDelete
(
item
)
{
var
id
=
item
.
id
;
this
.
$confirm
(
'
确认删除该条数据吗?
'
,
'
提示
'
,
{
confirmButtonText
:
'
确定
'
,
cancelButtonText
:
'
取消
'
,
type
:
'
warning
'
}).
then
((
e
)
=>
{
HttpReq
.
truckDispatching
.
propleDeletePerbeacon
({
id
}).
then
((
res
)
=>
{
if
(
res
.
code
==
200
)
{
this
.
$message
({
message
:
res
.
msg
,
type
:
'
success
'
});
this
.
loadData
();
}
})
})
},
cancelForm
()
{
this
.
visible
=
false
;
this
.
$refs
.
formViewRef
.
resetFields
();
},
tableRowClassName
({
row
,
rowIndex
})
{
},
// 点击搜索
toSearch
()
{
this
.
page
=
1
;
this
.
loadData
();
},
// 重置搜索
clearLimit
()
{
this
.
query
=
{};
this
.
loadData
()
},
pageChange
(
e
)
{
this
.
page
=
e
this
.
loadData
()
},
sizeChange
(
e
)
{
this
.
page
=
1
this
.
size
=
e
this
.
loadData
()
},
submitForm
(
validateName
,
item
)
{
this
.
$refs
[
validateName
].
validate
(
valid
=>
{
if
(
valid
)
{
if
(
this
.
title
===
'
新增
'
)
{
HttpReq
.
truckDispatching
.
proplePostPerbeacon
(
item
).
then
((
res
)
=>
{
if
(
res
.
code
==
200
)
{
this
.
$message
({
message
:
res
.
msg
,
type
:
'
success
'
});
this
.
cancelForm
();
this
.
loadData
()
}
})
}
else
{
HttpReq
.
truckDispatching
.
proplePutPerbeacon
(
item
).
then
((
res
)
=>
{
if
(
res
.
code
==
200
)
{
this
.
$message
({
message
:
res
.
msg
,
type
:
'
success
'
});
this
.
cancelForm
();
this
.
loadData
()
}
})
}
}
});
},
},
}
</
script
>
<
style
rel=
"stylesheet/scss"
lang=
"scss"
scope
>
.el-table
.warning-row
{
background
:
oldlace
;
}
.el-table
.success-row
{
background
:
#f0f9eb
;
}
.cell-input
{
//min-width: 220px;
}
.form-cell
{
margin
:
0
!
important
;
width
:
100%
;
}
.grid-content
{
//border: 1px solid rgba(100, 100, 100, 0.1);
padding
:
5px
30px
;
}
.cell-box
{
min-width
:
120px
;
}
.cell-box
.el-input__inner
{
border
:
1px
solid
rgba
(
100
,
100
,
100
,
0
.1
);
}
.cell-box
.el-input.is-disabled
.el-input__inner
{
border
:
1px
solid
rgba
(
100
,
100
,
100
,
0
.1
);
background
:
white
;
cursor
:
text
;
}
.cell-box
.el-input.is-disabled
.el-input__icon
{
cursor
:
text
;
}
.cell-box
.el-icon-arrow-up
:before
{
content
:
''
;
}
.mapcontainer
{
height
:
30vh
;
width
:
680px
;
overflow
:
hidden
;
}
</
style
>
src/views/personnelPositioning/peopleLocation/index.vue
0 → 100644
View file @
9ffcb9c1
<
template
>
<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.beaconame"
clearable
size=
"small"
placeholder=
"请输入设备号"
style=
"width:180px;"
/>
<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
class=
"panel-bottom page-row"
>
<div
class=
"ctin-box"
>
<div
class=
"content-within"
>
<div
class=
"content-fix"
>
<div
class=
"toolbar"
>
<el-button
size=
"mini"
type=
"primary"
icon=
"el-icon-plus"
@
click=
"toAdd"
>
新增
</el-button>
<el-button
size=
"mini"
icon=
"el-icon-document"
@
click=
"downloadFile"
>
导出
</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=
"name"
label=
"人员姓名"
align=
"center"
></el-table-column>
<el-table-column
prop=
"sex"
label=
"性别"
align=
"center"
>
<template
slot-scope=
"scope"
>
<span>
{{
scope
.
row
.
sex
===
1
?
'
男
'
:
'
女
'
}}
</span>
</
template
>
</el-table-column>
<el-table-column
prop=
"phone"
label=
"电话"
align=
"center"
></el-table-column>
<el-table-column
prop=
"cameraid"
label=
"摄像头id"
align=
"center"
></el-table-column>
<el-table-column
prop=
"safetyhatmac"
label=
"安全帽MAC"
align=
"center"
></el-table-column>
<el-table-column
prop=
"safetyhatelectricity"
label=
"安全帽电量"
align=
"center"
></el-table-column>
<el-table-column
prop=
"safetyhatstatus"
label=
"安全帽状态"
align=
"center"
>
<
template
slot-scope=
"scope"
>
<span>
{{
scope
.
row
.
safetyhatstatus
==
'
2
'
?
'
在线
'
:
'
离线
'
}}
</span>
</
template
>
</el-table-column>
<el-table-column
prop=
"lastonlinetime"
label=
"最后一次在线时间"
align=
"center"
></el-table-column>
<el-table-column
label=
"操作"
align=
"center"
fixed=
"right"
>
<
template
slot-scope=
"scope"
>
<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>
</
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>
<!-- 表单渲染 -->
<el-dialog
append-to-body
:close-on-click-modal=
"false"
:before-close=
"cancelForm"
:visible.sync=
"visible"
:title=
"title"
width=
"800px"
>
<el-form
:model=
"formData"
:rules=
"rules"
ref=
"formViewRef"
:inline=
"true"
:status-icon=
"true"
>
<el-row>
<el-col
:span=
"12"
>
<div
class=
"grid-content"
>
<el-form-item
label=
"人员名称:"
class=
"form-cell"
prop=
"name"
>
<div
class=
"cell-box"
>
<el-input
v-model=
"formData.name"
class=
"cell-input"
></el-input>
</div>
</el-form-item>
</div>
</el-col>
<el-col
:span=
"12"
>
<div
class=
"grid-content"
>
<el-form-item
label=
"性别:"
class=
"form-cell"
prop=
"sex"
>
<div
class=
"cell-box"
>
<el-select
v-model=
"formData.sex"
placeholder=
"无"
class=
"cell-input"
>
<el-option
v-for=
"item in sexOpts"
:key=
"item.value"
:label=
"item.label"
:value=
"item.value"
></el-option>
</el-select>
</div>
</el-form-item>
</div>
</el-col>
</el-row>
<el-row>
<el-col
:span=
"12"
>
<div
class=
"grid-content"
>
<el-form-item
label=
"电话:"
class=
"form-cell"
prop=
"phone"
>
<div
class=
"cell-box"
>
<el-input
v-model=
"formData.phone"
class=
"cell-input"
></el-input>
</div>
</el-form-item>
</div>
</el-col>
<el-col
:span=
"12"
>
<div
class=
"grid-content"
>
<el-form-item
label=
"摄像头id:"
class=
"form-cell"
prop=
"cameraid"
>
<div
class=
"cell-box"
>
<el-input
v-model=
"formData.cameraid"
class=
"cell-input"
></el-input>
</div>
</el-form-item>
</div>
</el-col>
</el-row>
<el-row>
<el-col
:span=
"12"
>
<div
class=
"grid-content"
>
<el-form-item
label=
"部门:"
class=
"form-cell"
prop=
"deptid"
>
<div
class=
"cell-box"
>
<treeselect
:multiple=
"false"
:options=
"allDepartmentData"
:load-options=
"loadOptions"
placeholder=
"请选择部门"
style=
"width: 200px"
@
select=
"selectDepart"
v-model=
"formData.deptid"
/>
</div>
</el-form-item>
</div>
</el-col>
<el-col
:span=
"12"
>
<div
class=
"grid-content"
>
<el-form-item
label=
"岗位:"
class=
"form-cell"
prop=
"postid"
>
<div
class=
"cell-box"
>
<el-select
v-model=
"formData.postid"
placeholder=
"请选择岗位"
>
<el-option
v-for=
"(obj,index) in allPostData"
:label=
"obj.name"
:value=
"obj.name"
:key=
"index"
></el-option>
</el-select>
</div>
</el-form-item>
</div>
</el-col>
</el-row>
<el-row>
<el-col
:span=
"12"
>
<div
class=
"grid-content"
>
<el-form-item
label=
"身份证号:"
class=
"form-cell"
prop=
"idcard"
>
<div
class=
"cell-box"
>
<el-input
v-model=
"formData.idcard"
class=
"cell-input"
></el-input>
</div>
</el-form-item>
</div>
</el-col>
<el-col
:span=
"12"
>
<div
class=
"grid-content"
>
<el-form-item
label=
"安全帽颜色:"
class=
"form-cell"
prop=
"color"
>
<div
class=
"cell-box"
>
<el-select
v-model=
"formData.color"
placeholder=
"无"
class=
"cell-input"
>
<el-option
v-for=
"item in colorOpts"
:key=
"item.value"
:label=
"item.label"
:value=
"item.value"
></el-option>
</el-select>
</div>
</el-form-item>
</div>
</el-col>
</el-row>
<el-row>
<el-col
:span=
"24"
>
<div
class=
"grid-content"
>
<el-form-item
label=
"上传照片:"
class=
"form-cell"
>
<div
class=
"cell-box"
>
<el-input
v-model=
"formData.photo"
style=
"width:160px;"
placeholder=
"请上传照片"
disabled
/>
<input
type=
"file"
name=
"image"
@
change=
"excelImport($event)"
/>
</div>
</el-form-item>
</div>
</el-col>
</el-row>
</el-form>
<div
slot=
"footer"
class=
"dialog-footer"
>
<el-button
type=
"text"
@
click=
"cancelForm"
>
取消
</el-button>
<el-button
type=
"primary"
@
click=
"submitForm('formViewRef', formData)"
>
确认
</el-button>
</div>
</el-dialog>
</div>
</template>
<
script
>
import
{
Tools
,
HttpReq
,
Dates
}
from
'
@/assets/js/common.js
'
;
import
Treeselect
from
'
@riophae/vue-treeselect
'
import
'
@riophae/vue-treeselect/dist/vue-treeselect.css
'
import
{
LOAD_CHILDREN_OPTIONS
}
from
'
@riophae/vue-treeselect
'
export
default
{
name
:
'
peopleLocation
'
,
components
:
{
Treeselect
},
data
()
{
const
basePathUrl
=
window
.
basePathUrl
||
''
return
{
configUrl
:
basePathUrl
+
'
config/config.json
'
,
title
:
'
新增
'
,
visible
:
false
,
loading
:
false
,
page
:
1
,
size
:
10
,
total
:
0
,
query
:
{},
map
:
null
,
graphicLayer
:
null
,
sexOpts
:
[
{
label
:
'
男
'
,
value
:
1
},
{
label
:
'
女
'
,
value
:
2
},
],
colorOpts
:[
{
label
:
'
红色
'
,
value
:
'
1
'
},
{
label
:
'
黄色
'
,
value
:
'
2
'
},
{
label
:
'
蓝色
'
,
value
:
'
3
'
},
],
tableData
:
[],
allDepartmentData
:
[],
allPostData
:
[],
formData
:
{
name
:
''
,
sex
:
1
,
phone
:
''
,
idcard
:
''
,
color
:
'
1
'
,
deptid
:
undefined
,
postid
:
undefined
,
photo
:
''
,
},
deptName
:
''
,
rules
:
{
name
:
{
required
:
true
,
message
:
'
'
,
trigger
:
'
blur
'
},
sex
:
{
required
:
true
,
message
:
'
'
,
trigger
:
'
blur
'
},
phone
:
{
required
:
true
,
message
:
'
'
,
trigger
:
'
blur
'
},
idcard
:
{
required
:
true
,
message
:
'
'
,
trigger
:
'
blur
'
},
},
}
},
mounted
()
{
this
.
$nextTick
(()
=>
{
//获取用于选择的部门
HttpReq
.
truckDispatching
.
getAllDepartmentQuery
({
enabled
:
true
}).
then
((
response
)
=>
{
for
(
let
index
of
response
.
content
){
let
modeInfo
=
{}
;
modeInfo
.
id
=
index
.
id
modeInfo
.
label
=
index
.
name
;
modeInfo
.
children
=
null
;
this
.
allDepartmentData
.
push
(
modeInfo
);
}
});
//获取用于选择的岗位
HttpReq
.
truckDispatching
.
getAllPostQuery
({
size
:
9999
}).
then
((
res
)
=>
{
this
.
allPostData
=
res
.
content
;
});
this
.
loadData
();
})
},
methods
:
{
selectDepart
(
val
){
this
.
deptName
=
val
.
label
;
return
val
.
label
;
},
loadOptions
({
action
,
parentNode
,
callback
})
{
if
(
action
===
LOAD_CHILDREN_OPTIONS
)
{
HttpReq
.
truckDispatching
.
getAllDepartmentQuery
({
enabled
:
true
,
pid
:
parentNode
.
id
}).
then
(
response
=>
{
let
arr
=
[];
for
(
let
index
of
response
.
content
){
let
chiledModeInfo
=
{};
chiledModeInfo
.
id
=
index
.
id
;
chiledModeInfo
.
label
=
index
.
name
;
arr
.
push
(
chiledModeInfo
);
}
parentNode
.
children
=
response
.
content
.
map
(
function
(
obj
)
{
if
(
obj
.
hasChildren
)
{
obj
.
children
=
null
;
}
return
obj
})
});
setTimeout
(()
=>
{
callback
()
},
200
)
}
},
formatOpt
(
arr
,
val
){
let
str
=
''
;
arr
.
forEach
((
item
)
=>
{
if
(
item
.
value
==
val
){
str
=
item
.
label
;
}
});
return
str
;
},
loadData
()
{
var
param
=
this
.
query
;
param
.
page
=
this
.
page
-
1
;
param
.
size
=
this
.
size
;
param
.
type
=
0
;
this
.
$nextTick
(()
=>
{
//获取安检信息
HttpReq
.
truckDispatching
.
propleGetPerequipment
(
param
).
then
((
res
)
=>
{
if
(
res
.
code
==
200
)
{
this
.
loading
=
false
;
this
.
tableData
=
res
.
body
.
list
;
this
.
total
=
res
.
body
.
total
;
}
})
})
},
toAdd
()
{
this
.
title
=
'
新增
'
;
this
.
visible
=
true
;
this
.
formData
=
{
name
:
''
,
sex
:
1
,
phone
:
''
,
idcard
:
''
,
color
:
'
1
'
,
deptid
:
undefined
,
postid
:
undefined
,
photo
:
''
,
};
},
toEdit
(
item
)
{
this
.
title
=
'
编辑
'
;
this
.
visible
=
true
;
this
.
formData
=
item
;
},
toDelete
(
item
)
{
var
id
=
item
.
id
;
this
.
$confirm
(
'
确认删除该条数据吗?
'
,
'
提示
'
,
{
confirmButtonText
:
'
确定
'
,
cancelButtonText
:
'
取消
'
,
type
:
'
warning
'
}).
then
((
e
)
=>
{
HttpReq
.
truckDispatching
.
propleDeletePerequipment
({
id
}).
then
((
res
)
=>
{
if
(
res
.
code
==
200
)
{
this
.
$message
({
message
:
res
.
msg
,
type
:
'
success
'
});
this
.
loadData
();
}
})
})
},
download
(
obj
,
name
,
suffix
)
{
var
url
=
window
.
URL
.
createObjectURL
(
new
Blob
([
obj
]));
var
link
=
document
.
createElement
(
'
a
'
);
link
.
style
.
display
=
'
none
'
;
link
.
href
=
url
;
var
fileName
=
name
+
'
.
'
+
suffix
;
link
.
setAttribute
(
'
download
'
,
fileName
);
document
.
body
.
appendChild
(
link
);
link
.
click
();
document
.
body
.
removeChild
(
link
);
},
downloadFile
()
{
var
loading
=
this
.
$loading
({
lock
:
true
,
text
:
'
请稍后.....
'
,
spinner
:
'
el-icon-loading
'
,
background
:
'
rgba(0, 0, 0, 0.7)
'
});
var
param
=
this
.
query
;
param
.
page
=
this
.
page
-
1
;
param
.
size
=
this
.
size
;
param
.
type
=
0
;
HttpReq
.
truckDispatching
.
propleGetPerequipmentOut
(
param
).
then
((
res
)
=>
{
if
(
res
.
code
==
200
)
{
loading
.
close
();
this
.
download
(
res
.
body
,
'
xxx
'
,
'
xlsx
'
)
}
})
},
cancelForm
()
{
this
.
visible
=
false
;
},
tableRowClassName
({
row
,
rowIndex
})
{
},
// 点击搜索
toSearch
()
{
this
.
page
=
1
;
this
.
loadData
();
},
// 重置搜索
clearLimit
()
{
this
.
query
=
{};
this
.
loadData
()
},
pageChange
(
e
)
{
this
.
page
=
e
this
.
loadData
()
},
sizeChange
(
e
)
{
this
.
page
=
1
this
.
size
=
e
this
.
loadData
()
},
//图片上传
excelImport
(
event
)
{
let
file
=
event
.
target
.
files
[
0
];
let
formData
=
new
FormData
();
formData
.
append
(
"
files
"
,
file
);
HttpReq
.
truckDispatching
.
proplePostPerequipmentUpload
(
formData
).
then
((
res
)
=>
{
this
.
$notify
({
title
:
'
上传成功!
'
,
type
:
'
success
'
,
duration
:
2500
});
this
.
formData
.
photo
=
res
.
body
;
})
},
submitForm
(
validateName
,
item
)
{
this
.
$refs
[
validateName
].
validate
(
valid
=>
{
if
(
valid
)
{
item
.
type
=
0
;
item
.
deptid
=
this
.
deptName
;
if
(
this
.
title
===
'
新增
'
)
{
HttpReq
.
truckDispatching
.
proplePostPerequipment
(
item
).
then
((
res
)
=>
{
if
(
res
.
code
==
200
)
{
this
.
$message
({
message
:
res
.
msg
,
type
:
'
success
'
});
this
.
cancelForm
();
this
.
loadData
()
}
})
}
else
{
HttpReq
.
truckDispatching
.
proplePutPerequipment
(
item
).
then
((
res
)
=>
{
if
(
res
.
code
==
200
)
{
this
.
$message
({
message
:
res
.
msg
,
type
:
'
success
'
});
this
.
cancelForm
();
this
.
loadData
()
}
})
}
}
});
},
},
}
</
script
>
<
style
rel=
"stylesheet/scss"
lang=
"scss"
scope
>
.el-table
.warning-row
{
background
:
oldlace
;
}
.el-table
.success-row
{
background
:
#f0f9eb
;
}
.cell-input
{
//min-width: 220px;
}
.form-cell
{
margin
:
0
!
important
;
width
:
100%
;
}
.grid-content
{
//border: 1px solid rgba(100, 100, 100, 0.1);
padding
:
5px
30px
;
}
.cell-box
{
min-width
:
120px
;
}
.cell-box
.el-input__inner
{
border
:
1px
solid
rgba
(
100
,
100
,
100
,
0
.1
);
}
.cell-box
.el-input.is-disabled
.el-input__inner
{
border
:
1px
solid
rgba
(
100
,
100
,
100
,
0
.1
);
background
:
white
;
cursor
:
text
;
}
.cell-box
.el-input.is-disabled
.el-input__icon
{
cursor
:
text
;
}
.cell-box
.el-icon-arrow-up
:before
{
content
:
''
;
}
.mapcontainer
{
height
:
30vh
;
width
:
680px
;
overflow
:
hidden
;
}
</
style
>
src/views/personnelPositioning/peopleLogData/index.vue
0 → 100644
View file @
9ffcb9c1
<
template
>
<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.equipno"
clearable
size=
"small"
placeholder=
"请输入设备号"
style=
"width:180px;"
/>
<label
class=
"el-form-item-label"
style=
"font-weight: 500;"
>
在线状态
</label>
<el-select
v-model=
"query.onlineStatus"
placeholder=
"请选择"
>
<el-option
v-for=
"item in stuOpts"
:key=
"item.value"
:label=
"item.label"
:value=
"item.value"
></el-option>
</el-select>
<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
class=
"panel-bottom page-row"
>
<div
class=
"ctin-box"
>
<div
class=
"content-within"
>
<div
class=
"content-fix"
>
<div
class=
"toolbar"
>
<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=
"equipname"
label=
"设备名称"
align=
"center"
></el-table-column>
<el-table-column
prop=
"devicetype"
label=
"设备类型"
align=
"center"
>
<template
slot-scope=
"scope"
>
<span>
{{
formatOpt
(
devOpts
,
scope
.
row
.
devicetype
)
}}
</span>
</
template
>
</el-table-column>
<el-table-column
prop=
"equipno"
label=
"设备编号"
align=
"center"
></el-table-column>
<el-table-column
prop=
"eqdanwei"
label=
"数值单位"
align=
"center"
></el-table-column>
<el-table-column
prop=
"installationdata"
label=
"安装日期"
align=
"center"
></el-table-column>
<el-table-column
prop=
"manufacture"
label=
"生产厂家"
align=
"center"
></el-table-column>
<el-table-column
prop=
"datarealtime"
label=
"最后更新时间"
align=
"center"
></el-table-column>
<el-table-column
prop=
"onlineStatus"
label=
"状态"
align=
"center"
></el-table-column>
<el-table-column
label=
"操作"
align=
"center"
fixed=
"right"
>
<
template
slot-scope=
"scope"
>
<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>
</
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>
<!-- 表单渲染 -->
<el-dialog
append-to-body
:close-on-click-modal=
"false"
:before-close=
"cancelForm"
:visible.sync=
"visible"
:title=
"title"
width=
"800px"
>
<el-form
:model=
"formData"
:rules=
"rules"
ref=
"formViewRef"
:inline=
"true"
:status-icon=
"true"
size=
"mini"
>
<el-row>
<el-col
:span=
"12"
>
<div
class=
"grid-content"
>
<el-form-item
label=
"设备名称:"
prop=
"equipname"
class=
"form-cell"
>
<div
class=
"cell-box"
>
<el-input
v-model=
"formData.equipname"
class=
"cell-input"
></el-input>
</div>
</el-form-item>
</div>
</el-col>
<el-col
:span=
"12"
>
<div
class=
"grid-content"
>
<el-form-item
label=
"设备类型:"
class=
"form-cell"
prop=
"devicetype"
>
<div
class=
"cell-box"
>
<el-select
v-model=
"formData.devicetype"
placeholder=
"无"
class=
"cell-input"
>
<el-option
v-for=
"item in devOpts"
:key=
"item.value"
:label=
"item.label"
:value=
"item.value"
></el-option>
</el-select>
</div>
</el-form-item>
</div>
</el-col>
</el-row>
<el-row>
<el-col
:span=
"12"
>
<div
class=
"grid-content"
>
<el-form-item
label=
"设备编号:"
class=
"form-cell"
prop=
"equipno"
>
<div
class=
"cell-box"
>
<el-input
v-model=
"formData.equipno"
class=
"cell-input"
></el-input>
</div>
</el-form-item>
</div>
</el-col>
<el-col
:span=
"12"
>
<div
class=
"grid-content"
>
<el-form-item
label=
"数值单位:"
class=
"form-cell"
prop=
"eqdanwei"
>
<div
class=
"cell-box"
>
<el-input
v-model=
"formData.eqdanwei"
class=
"cell-input"
></el-input>
</div>
</el-form-item>
</div>
</el-col>
</el-row>
</el-form>
<div
slot=
"footer"
class=
"dialog-footer"
>
<el-button
type=
"text"
@
click=
"cancelForm"
>
取消
</el-button>
<el-button
type=
"primary"
@
click=
"submitForm('formViewRef', formData)"
>
确认
</el-button>
</div>
</el-dialog>
</div>
</template>
<
script
>
import
{
Tools
,
HttpReq
,
Dates
}
from
'
@/assets/js/common.js
'
;
export
default
{
name
:
'
peopleLogData
'
,
data
()
{
const
basePathUrl
=
window
.
basePathUrl
||
''
return
{
configUrl
:
basePathUrl
+
'
config/config.json
'
,
title
:
'
新增
'
,
visible
:
false
,
loading
:
false
,
page
:
1
,
size
:
10
,
total
:
0
,
query
:
{},
map
:
null
,
graphicLayer
:
null
,
stuOpts
:
[
{
label
:
'
全部
'
,
value
:
undefined
},
{
label
:
'
离线
'
,
value
:
'
离线
'
},
{
label
:
'
在线
'
,
value
:
'
在线
'
},
],
devOpts
:
[
{
label
:
'
干滩
'
,
value
:
1
},
{
label
:
'
库水位
'
,
value
:
2
},
{
label
:
'
表面位移
'
,
value
:
3
},
{
label
:
'
内部位移
'
,
value
:
4
},
{
label
:
'
浸润线
'
,
value
:
5
},
{
label
:
'
降雨量
'
,
value
:
6
},
{
label
:
'
排流量
'
,
value
:
7
},
{
label
:
'
水质
'
,
value
:
8
},
{
label
:
'
渗流量
'
,
value
:
9
},
{
label
:
'
外坡比
'
,
value
:
16
},
],
datOpts
:[
{
label
:
'
是
'
,
value
:
1
},
{
label
:
'
否
'
,
value
:
0
},
],
usedOpts
:[
{
label
:
'
在用
'
,
value
:
1
},
{
label
:
'
不在用
'
,
value
:
0
},
],
eqtOpts
:[
{
label
:
'
4G设备
'
,
value
:
0
},
{
label
:
'
IP设备
'
,
value
:
1
},
{
label
:
'
mqtt设备
'
,
value
:
2
},
],
bjOpts
:[
{
label
:
'
报警
'
,
value
:
1
},
{
label
:
'
不报警
'
,
value
:
0
},
],
ssOpts
:
[
{
label
:
'
gnss
'
,
value
:
0
},
{
label
:
'
超声
'
,
value
:
1
},
{
label
:
'
投入式水位计或渗压计
'
,
value
:
2
},
{
label
:
'
沉降
'
,
value
:
3
},
{
label
:
'
雨量
'
,
value
:
5
},
{
label
:
'
测斜
'
,
value
:
7
},
],
tableData
:
[],
formData
:
{
longitude
:
''
,
latitude
:
''
,
equipname
:
''
,
equipno
:
''
,
devicetype
:
''
,
eqdanwei
:
''
,
installationdata
:
''
,
manufacture
:
''
,
datumpoint
:
0
,
installheight
:
''
,
electricitysupply
:
''
,
accuracy
:
''
,
altitude
:
''
,
onelevelalarm
:
''
,
twolevelalarm
:
''
,
threelevelalarm
:
''
,
fourlevelalarm
:
''
,
isUsed
:
''
,
ipaddress
:
''
,
eqtype
:
''
,
initial
:
''
,
initialx
:
''
,
initialy
:
''
,
initialz
:
''
,
state
:
''
,
burialDepth
:
''
,
checkperiod
:
''
,
sensortype
:
''
,
bmwyX
:
''
,
bmwyY
:
''
,
bmwyZ
:
''
,
jrxTrepanning
:
''
,
jrxBurial
:
''
,
jrxCoordX
:
''
,
kswequipno
:
''
,
gtwangle
:
''
,
gtsafeheight
:
''
,
pslspeed
:
''
,
},
rules
:
{
longitude
:
{
required
:
true
,
message
:
'
请在地图上放置设备
'
,
trigger
:
'
blur
'
},
equipname
:
{
required
:
true
,
message
:
'
'
,
trigger
:
'
blur
'
},
equipno
:
{
required
:
true
,
message
:
'
'
,
trigger
:
'
blur
'
},
devicetype
:
{
required
:
true
,
message
:
'
'
,
trigger
:
'
blur
'
},
eqdanwei
:
{
required
:
true
,
message
:
'
'
,
trigger
:
'
blur
'
},
installationdata
:
{
required
:
true
,
message
:
'
'
,
trigger
:
'
blur
'
},
manufacture
:
{
required
:
true
,
message
:
'
'
,
trigger
:
'
blur
'
},
datumpoint
:
{
required
:
true
,
message
:
'
'
,
trigger
:
'
blur
'
},
},
}
},
mounted
()
{
this
.
$nextTick
(()
=>
{
this
.
loadData
();
})
},
methods
:
{
formatOpt
(
arr
,
val
){
let
str
=
''
;
arr
.
forEach
((
item
)
=>
{
if
(
item
.
value
==
val
){
str
=
item
.
label
;
}
});
return
str
;
},
onMapload
(
map
)
{
map
.
unbindContextMenu
();
var
graphicLayer
=
new
mars3d
.
layer
.
GraphicLayer
();
map
.
addLayer
(
graphicLayer
);
const
graphic
=
new
mars3d
.
graphic
.
PointEntity
({
style
:
{
color
:
"
#ff0000
"
,
pixelSize
:
10
,
outlineColor
:
"
#ffffff
"
,
outlineWidth
:
2
,
label
:
{
text
:
"
放置位置
"
,
font_size
:
18
,
color
:
"
#ff0000
"
,
outline
:
true
,
outlineColor
:
"
#000000
"
,
outlineWidth
:
5
,
pixelOffsetY
:
-
24
,
distanceDisplayCondition
:
true
,
distanceDisplayCondition_far
:
500000
,
distanceDisplayCondition_near
:
0
}
},
})
graphicLayer
.
addGraphic
(
graphic
);
map
.
on
(
mars3d
.
EventType
.
click
,
(
event
)
=>
{
let
p
=
mars3d
.
LngLatPoint
.
fromCartesian
(
event
.
cartesian
);
this
.
formData
.
longitude
=
p
.
lng
;
this
.
formData
.
latitude
=
p
.
lat
;
graphicLayer
.
eachGraphic
((
graphic
)
=>
{
graphic
.
addDynamicPosition
(
Cesium
.
Cartesian3
.
fromDegrees
(
p
.
lng
,
p
.
lat
,
0
),
0
)
})
});
this
.
map
=
map
;
this
.
graphicLayer
=
graphicLayer
;
},
loadData
()
{
var
sort
=
'
id,desc
'
;
var
param
=
this
.
query
;
param
.
page
=
this
.
page
-
1
;
param
.
pageSize
=
this
.
size
;
param
.
sort
=
sort
;
this
.
$nextTick
(()
=>
{
//获取安检信息
HttpReq
.
truckDispatching
.
slopeGetDeviceList
(
param
).
then
((
res
)
=>
{
if
(
res
.
code
==
200
)
{
this
.
loading
=
false
;
this
.
tableData
=
res
.
data
.
records
;
this
.
total
=
res
.
data
.
total
;
}
})
})
},
toAdd
()
{
this
.
title
=
'
新增
'
;
this
.
visible
=
true
;
},
toEdit
(
item
)
{
HttpReq
.
truckDispatching
.
slopeGetDevice
({
id
:
item
.
id
}).
then
((
res
)
=>
{
if
(
res
.
code
==
200
)
{
this
.
title
=
'
编辑
'
;
this
.
visible
=
true
;
this
.
formData
=
res
.
data
;
setTimeout
(()
=>
{
this
.
graphicLayer
.
eachGraphic
((
graphic
)
=>
{
graphic
.
addDynamicPosition
(
Cesium
.
Cartesian3
.
fromDegrees
(
this
.
formData
.
longitude
,
this
.
formData
.
latitude
,
0
),
0
)
})
this
.
map
.
setCameraView
({
lat
:
this
.
formData
.
latitude
,
lng
:
this
.
formData
.
longitude
});
},
5000
)
}
})
},
toDelete
(
item
)
{
var
id
=
item
.
id
;
this
.
$confirm
(
'
确认删除该条数据吗?
'
,
'
提示
'
,
{
confirmButtonText
:
'
确定
'
,
cancelButtonText
:
'
取消
'
,
type
:
'
warning
'
}).
then
((
e
)
=>
{
HttpReq
.
truckDispatching
.
slopeDeleteDevice
({
id
}).
then
((
res
)
=>
{
if
(
res
.
code
==
200
)
{
this
.
$message
({
message
:
res
.
msg
,
type
:
'
success
'
});
this
.
loadData
();
}
})
})
},
cancelForm
()
{
this
.
visible
=
false
;
this
.
$refs
.
formViewRef
.
resetFields
();
},
tableRowClassName
({
row
,
rowIndex
})
{
},
// 点击搜索
toSearch
()
{
this
.
page
=
1
;
this
.
loadData
();
},
// 重置搜索
clearLimit
()
{
this
.
query
=
{};
this
.
loadData
()
},
pageChange
(
e
)
{
this
.
page
=
e
this
.
loadData
()
},
sizeChange
(
e
)
{
this
.
page
=
1
this
.
size
=
e
this
.
loadData
()
},
submitForm
(
validateName
,
item
)
{
this
.
$refs
[
validateName
].
validate
(
valid
=>
{
if
(
valid
)
{
if
(
this
.
title
===
'
新增
'
)
{
HttpReq
.
truckDispatching
.
slopePostDevice
(
item
).
then
((
res
)
=>
{
if
(
res
.
code
==
200
)
{
this
.
$message
({
message
:
res
.
msg
,
type
:
'
success
'
});
this
.
cancelForm
();
this
.
loadData
()
}
})
}
else
{
HttpReq
.
truckDispatching
.
slopePutDevice
(
item
).
then
((
res
)
=>
{
if
(
res
.
code
==
200
)
{
this
.
$message
({
message
:
res
.
msg
,
type
:
'
success
'
});
this
.
cancelForm
();
this
.
loadData
()
}
})
}
}
});
},
},
}
</
script
>
<
style
rel=
"stylesheet/scss"
lang=
"scss"
scope
>
.el-table
.warning-row
{
background
:
oldlace
;
}
.el-table
.success-row
{
background
:
#f0f9eb
;
}
.cell-input
{
//min-width: 220px;
}
.form-cell
{
margin
:
0
!
important
;
width
:
100%
;
}
.grid-content
{
//border: 1px solid rgba(100, 100, 100, 0.1);
padding
:
5px
30px
;
}
.cell-box
{
min-width
:
120px
;
}
.cell-box
.el-input__inner
{
border
:
1px
solid
rgba
(
100
,
100
,
100
,
0
.1
);
}
.cell-box
.el-input.is-disabled
.el-input__inner
{
border
:
1px
solid
rgba
(
100
,
100
,
100
,
0
.1
);
background
:
white
;
cursor
:
text
;
}
.cell-box
.el-input.is-disabled
.el-input__icon
{
cursor
:
text
;
}
.cell-box
.el-icon-arrow-up
:before
{
content
:
''
;
}
.mapcontainer
{
height
:
30vh
;
width
:
680px
;
overflow
:
hidden
;
}
</
style
>
src/views/personnelPositioning/visitPeople/index.vue
0 → 100644
View file @
9ffcb9c1
<
template
>
<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.equipno"
clearable
size=
"small"
placeholder=
"请输入设备号"
style=
"width:180px;"
/>
<label
class=
"el-form-item-label"
style=
"font-weight: 500;"
>
在线状态
</label>
<el-select
v-model=
"query.onlineStatus"
placeholder=
"请选择"
>
<el-option
v-for=
"item in stuOpts"
:key=
"item.value"
:label=
"item.label"
:value=
"item.value"
></el-option>
</el-select>
<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
class=
"panel-bottom page-row"
>
<div
class=
"ctin-box"
>
<div
class=
"content-within"
>
<div
class=
"content-fix"
>
<div
class=
"toolbar"
>
<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=
"equipname"
label=
"设备名称"
align=
"center"
></el-table-column>
<el-table-column
prop=
"devicetype"
label=
"设备类型"
align=
"center"
>
<template
slot-scope=
"scope"
>
<span>
{{
formatOpt
(
devOpts
,
scope
.
row
.
devicetype
)
}}
</span>
</
template
>
</el-table-column>
<el-table-column
prop=
"equipno"
label=
"设备编号"
align=
"center"
></el-table-column>
<el-table-column
prop=
"eqdanwei"
label=
"数值单位"
align=
"center"
></el-table-column>
<el-table-column
prop=
"installationdata"
label=
"安装日期"
align=
"center"
></el-table-column>
<el-table-column
prop=
"manufacture"
label=
"生产厂家"
align=
"center"
></el-table-column>
<el-table-column
prop=
"datarealtime"
label=
"最后更新时间"
align=
"center"
></el-table-column>
<el-table-column
prop=
"onlineStatus"
label=
"状态"
align=
"center"
></el-table-column>
<el-table-column
label=
"操作"
align=
"center"
fixed=
"right"
>
<
template
slot-scope=
"scope"
>
<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>
</
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>
<!-- 表单渲染 -->
<el-dialog
append-to-body
:close-on-click-modal=
"false"
:before-close=
"cancelForm"
:visible.sync=
"visible"
:title=
"title"
width=
"800px"
>
<el-form
:model=
"formData"
:rules=
"rules"
ref=
"formViewRef"
:inline=
"true"
:status-icon=
"true"
size=
"mini"
>
<el-row>
<el-col
:span=
"12"
>
<div
class=
"grid-content"
>
<el-form-item
label=
"设备名称:"
prop=
"equipname"
class=
"form-cell"
>
<div
class=
"cell-box"
>
<el-input
v-model=
"formData.equipname"
class=
"cell-input"
></el-input>
</div>
</el-form-item>
</div>
</el-col>
<el-col
:span=
"12"
>
<div
class=
"grid-content"
>
<el-form-item
label=
"设备类型:"
class=
"form-cell"
prop=
"devicetype"
>
<div
class=
"cell-box"
>
<el-select
v-model=
"formData.devicetype"
placeholder=
"无"
class=
"cell-input"
>
<el-option
v-for=
"item in devOpts"
:key=
"item.value"
:label=
"item.label"
:value=
"item.value"
></el-option>
</el-select>
</div>
</el-form-item>
</div>
</el-col>
</el-row>
<el-row>
<el-col
:span=
"12"
>
<div
class=
"grid-content"
>
<el-form-item
label=
"设备编号:"
class=
"form-cell"
prop=
"equipno"
>
<div
class=
"cell-box"
>
<el-input
v-model=
"formData.equipno"
class=
"cell-input"
></el-input>
</div>
</el-form-item>
</div>
</el-col>
<el-col
:span=
"12"
>
<div
class=
"grid-content"
>
<el-form-item
label=
"数值单位:"
class=
"form-cell"
prop=
"eqdanwei"
>
<div
class=
"cell-box"
>
<el-input
v-model=
"formData.eqdanwei"
class=
"cell-input"
></el-input>
</div>
</el-form-item>
</div>
</el-col>
</el-row>
</el-form>
<div
slot=
"footer"
class=
"dialog-footer"
>
<el-button
type=
"text"
@
click=
"cancelForm"
>
取消
</el-button>
<el-button
type=
"primary"
@
click=
"submitForm('formViewRef', formData)"
>
确认
</el-button>
</div>
</el-dialog>
</div>
</template>
<
script
>
import
{
Tools
,
HttpReq
,
Dates
}
from
'
@/assets/js/common.js
'
;
export
default
{
name
:
'
visitPeople
'
,
data
()
{
const
basePathUrl
=
window
.
basePathUrl
||
''
return
{
configUrl
:
basePathUrl
+
'
config/config.json
'
,
title
:
'
新增
'
,
visible
:
false
,
loading
:
false
,
page
:
1
,
size
:
10
,
total
:
0
,
query
:
{},
map
:
null
,
graphicLayer
:
null
,
stuOpts
:
[
{
label
:
'
全部
'
,
value
:
undefined
},
{
label
:
'
离线
'
,
value
:
'
离线
'
},
{
label
:
'
在线
'
,
value
:
'
在线
'
},
],
devOpts
:
[
{
label
:
'
干滩
'
,
value
:
1
},
{
label
:
'
库水位
'
,
value
:
2
},
{
label
:
'
表面位移
'
,
value
:
3
},
{
label
:
'
内部位移
'
,
value
:
4
},
{
label
:
'
浸润线
'
,
value
:
5
},
{
label
:
'
降雨量
'
,
value
:
6
},
{
label
:
'
排流量
'
,
value
:
7
},
{
label
:
'
水质
'
,
value
:
8
},
{
label
:
'
渗流量
'
,
value
:
9
},
{
label
:
'
外坡比
'
,
value
:
16
},
],
datOpts
:[
{
label
:
'
是
'
,
value
:
1
},
{
label
:
'
否
'
,
value
:
0
},
],
usedOpts
:[
{
label
:
'
在用
'
,
value
:
1
},
{
label
:
'
不在用
'
,
value
:
0
},
],
eqtOpts
:[
{
label
:
'
4G设备
'
,
value
:
0
},
{
label
:
'
IP设备
'
,
value
:
1
},
{
label
:
'
mqtt设备
'
,
value
:
2
},
],
bjOpts
:[
{
label
:
'
报警
'
,
value
:
1
},
{
label
:
'
不报警
'
,
value
:
0
},
],
ssOpts
:
[
{
label
:
'
gnss
'
,
value
:
0
},
{
label
:
'
超声
'
,
value
:
1
},
{
label
:
'
投入式水位计或渗压计
'
,
value
:
2
},
{
label
:
'
沉降
'
,
value
:
3
},
{
label
:
'
雨量
'
,
value
:
5
},
{
label
:
'
测斜
'
,
value
:
7
},
],
tableData
:
[],
formData
:
{
longitude
:
''
,
latitude
:
''
,
equipname
:
''
,
equipno
:
''
,
devicetype
:
''
,
eqdanwei
:
''
,
installationdata
:
''
,
manufacture
:
''
,
datumpoint
:
0
,
installheight
:
''
,
electricitysupply
:
''
,
accuracy
:
''
,
altitude
:
''
,
onelevelalarm
:
''
,
twolevelalarm
:
''
,
threelevelalarm
:
''
,
fourlevelalarm
:
''
,
isUsed
:
''
,
ipaddress
:
''
,
eqtype
:
''
,
initial
:
''
,
initialx
:
''
,
initialy
:
''
,
initialz
:
''
,
state
:
''
,
burialDepth
:
''
,
checkperiod
:
''
,
sensortype
:
''
,
bmwyX
:
''
,
bmwyY
:
''
,
bmwyZ
:
''
,
jrxTrepanning
:
''
,
jrxBurial
:
''
,
jrxCoordX
:
''
,
kswequipno
:
''
,
gtwangle
:
''
,
gtsafeheight
:
''
,
pslspeed
:
''
,
},
rules
:
{
longitude
:
{
required
:
true
,
message
:
'
请在地图上放置设备
'
,
trigger
:
'
blur
'
},
equipname
:
{
required
:
true
,
message
:
'
'
,
trigger
:
'
blur
'
},
equipno
:
{
required
:
true
,
message
:
'
'
,
trigger
:
'
blur
'
},
devicetype
:
{
required
:
true
,
message
:
'
'
,
trigger
:
'
blur
'
},
eqdanwei
:
{
required
:
true
,
message
:
'
'
,
trigger
:
'
blur
'
},
installationdata
:
{
required
:
true
,
message
:
'
'
,
trigger
:
'
blur
'
},
manufacture
:
{
required
:
true
,
message
:
'
'
,
trigger
:
'
blur
'
},
datumpoint
:
{
required
:
true
,
message
:
'
'
,
trigger
:
'
blur
'
},
},
}
},
mounted
()
{
this
.
$nextTick
(()
=>
{
this
.
loadData
();
})
},
methods
:
{
formatOpt
(
arr
,
val
){
let
str
=
''
;
arr
.
forEach
((
item
)
=>
{
if
(
item
.
value
==
val
){
str
=
item
.
label
;
}
});
return
str
;
},
onMapload
(
map
)
{
map
.
unbindContextMenu
();
var
graphicLayer
=
new
mars3d
.
layer
.
GraphicLayer
();
map
.
addLayer
(
graphicLayer
);
const
graphic
=
new
mars3d
.
graphic
.
PointEntity
({
style
:
{
color
:
"
#ff0000
"
,
pixelSize
:
10
,
outlineColor
:
"
#ffffff
"
,
outlineWidth
:
2
,
label
:
{
text
:
"
放置位置
"
,
font_size
:
18
,
color
:
"
#ff0000
"
,
outline
:
true
,
outlineColor
:
"
#000000
"
,
outlineWidth
:
5
,
pixelOffsetY
:
-
24
,
distanceDisplayCondition
:
true
,
distanceDisplayCondition_far
:
500000
,
distanceDisplayCondition_near
:
0
}
},
})
graphicLayer
.
addGraphic
(
graphic
);
map
.
on
(
mars3d
.
EventType
.
click
,
(
event
)
=>
{
let
p
=
mars3d
.
LngLatPoint
.
fromCartesian
(
event
.
cartesian
);
this
.
formData
.
longitude
=
p
.
lng
;
this
.
formData
.
latitude
=
p
.
lat
;
graphicLayer
.
eachGraphic
((
graphic
)
=>
{
graphic
.
addDynamicPosition
(
Cesium
.
Cartesian3
.
fromDegrees
(
p
.
lng
,
p
.
lat
,
0
),
0
)
})
});
this
.
map
=
map
;
this
.
graphicLayer
=
graphicLayer
;
},
loadData
()
{
var
sort
=
'
id,desc
'
;
var
param
=
this
.
query
;
param
.
page
=
this
.
page
-
1
;
param
.
pageSize
=
this
.
size
;
param
.
sort
=
sort
;
this
.
$nextTick
(()
=>
{
//获取安检信息
HttpReq
.
truckDispatching
.
slopeGetDeviceList
(
param
).
then
((
res
)
=>
{
if
(
res
.
code
==
200
)
{
this
.
loading
=
false
;
this
.
tableData
=
res
.
data
.
records
;
this
.
total
=
res
.
data
.
total
;
}
})
})
},
toAdd
()
{
this
.
title
=
'
新增
'
;
this
.
visible
=
true
;
},
toEdit
(
item
)
{
HttpReq
.
truckDispatching
.
slopeGetDevice
({
id
:
item
.
id
}).
then
((
res
)
=>
{
if
(
res
.
code
==
200
)
{
this
.
title
=
'
编辑
'
;
this
.
visible
=
true
;
this
.
formData
=
res
.
data
;
setTimeout
(()
=>
{
this
.
graphicLayer
.
eachGraphic
((
graphic
)
=>
{
graphic
.
addDynamicPosition
(
Cesium
.
Cartesian3
.
fromDegrees
(
this
.
formData
.
longitude
,
this
.
formData
.
latitude
,
0
),
0
)
})
this
.
map
.
setCameraView
({
lat
:
this
.
formData
.
latitude
,
lng
:
this
.
formData
.
longitude
});
},
5000
)
}
})
},
toDelete
(
item
)
{
var
id
=
item
.
id
;
this
.
$confirm
(
'
确认删除该条数据吗?
'
,
'
提示
'
,
{
confirmButtonText
:
'
确定
'
,
cancelButtonText
:
'
取消
'
,
type
:
'
warning
'
}).
then
((
e
)
=>
{
HttpReq
.
truckDispatching
.
slopeDeleteDevice
({
id
}).
then
((
res
)
=>
{
if
(
res
.
code
==
200
)
{
this
.
$message
({
message
:
res
.
msg
,
type
:
'
success
'
});
this
.
loadData
();
}
})
})
},
cancelForm
()
{
this
.
visible
=
false
;
this
.
$refs
.
formViewRef
.
resetFields
();
},
tableRowClassName
({
row
,
rowIndex
})
{
},
// 点击搜索
toSearch
()
{
this
.
page
=
1
;
this
.
loadData
();
},
// 重置搜索
clearLimit
()
{
this
.
query
=
{};
this
.
loadData
()
},
pageChange
(
e
)
{
this
.
page
=
e
this
.
loadData
()
},
sizeChange
(
e
)
{
this
.
page
=
1
this
.
size
=
e
this
.
loadData
()
},
submitForm
(
validateName
,
item
)
{
this
.
$refs
[
validateName
].
validate
(
valid
=>
{
if
(
valid
)
{
if
(
this
.
title
===
'
新增
'
)
{
HttpReq
.
truckDispatching
.
slopePostDevice
(
item
).
then
((
res
)
=>
{
if
(
res
.
code
==
200
)
{
this
.
$message
({
message
:
res
.
msg
,
type
:
'
success
'
});
this
.
cancelForm
();
this
.
loadData
()
}
})
}
else
{
HttpReq
.
truckDispatching
.
slopePutDevice
(
item
).
then
((
res
)
=>
{
if
(
res
.
code
==
200
)
{
this
.
$message
({
message
:
res
.
msg
,
type
:
'
success
'
});
this
.
cancelForm
();
this
.
loadData
()
}
})
}
}
});
},
},
}
</
script
>
<
style
rel=
"stylesheet/scss"
lang=
"scss"
scope
>
.el-table
.warning-row
{
background
:
oldlace
;
}
.el-table
.success-row
{
background
:
#f0f9eb
;
}
.cell-input
{
//min-width: 220px;
}
.form-cell
{
margin
:
0
!
important
;
width
:
100%
;
}
.grid-content
{
//border: 1px solid rgba(100, 100, 100, 0.1);
padding
:
5px
30px
;
}
.cell-box
{
min-width
:
120px
;
}
.cell-box
.el-input__inner
{
border
:
1px
solid
rgba
(
100
,
100
,
100
,
0
.1
);
}
.cell-box
.el-input.is-disabled
.el-input__inner
{
border
:
1px
solid
rgba
(
100
,
100
,
100
,
0
.1
);
background
:
white
;
cursor
:
text
;
}
.cell-box
.el-input.is-disabled
.el-input__icon
{
cursor
:
text
;
}
.cell-box
.el-icon-arrow-up
:before
{
content
:
''
;
}
.mapcontainer
{
height
:
30vh
;
width
:
680px
;
overflow
:
hidden
;
}
</
style
>
src/views/slopeMonitoring/alarmManagement/index.vue
View file @
9ffcb9c1
...
@@ -6,9 +6,9 @@
...
@@ -6,9 +6,9 @@
<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.
sensorId
"
clearable
size=
"small"
placeholder=
"请输入设备号"
style=
"width:180px;"
/>
<el-input
v-model=
"query.
equipno
"
clearable
size=
"small"
placeholder=
"请输入设备号"
style=
"width:180px;"
/>
<label
class=
"el-form-item-label"
style=
"font-weight: 500;"
>
报警状态
</label>
<label
class=
"el-form-item-label"
style=
"font-weight: 500;"
>
报警状态
</label>
<el-select
v-model=
"query.
alarmStatus
"
placeholder=
"请选择"
>
<el-select
v-model=
"query.
state
"
placeholder=
"请选择"
>
<el-option
v-for=
"item in stuOpts"
:key=
"item.value"
:label=
"item.label"
:value=
"item.value"
></el-option>
<el-option
v-for=
"item in stuOpts"
:key=
"item.value"
:label=
"item.label"
:value=
"item.value"
></el-option>
</el-select>
</el-select>
<label
class=
"el-form-item-label"
style=
"font-weight: 500;"
>
日期范围
</label>
<label
class=
"el-form-item-label"
style=
"font-weight: 500;"
>
日期范围
</label>
...
@@ -32,23 +32,35 @@
...
@@ -32,23 +32,35 @@
<div
class=
"content-fix"
>
<div
class=
"content-fix"
>
<div
class=
"toolbar"
style=
"text-align:right"
>
<div
class=
"toolbar"
style=
"text-align:right"
>
<el-button
size=
"mini"
type=
"primary"
icon=
"el-icon-refresh"
@
click=
"loadData"
>
刷新
</el-button>
<el-button
size=
"mini"
type=
"primary"
icon=
"el-icon-refresh"
@
click=
"loadData"
>
刷新
</el-button>
<el-button
size=
"mini"
type=
"warning"
icon=
"el-icon-document"
@
click=
"
toAdd
"
>
导出
</el-button>
<el-button
size=
"mini"
type=
"warning"
icon=
"el-icon-document"
@
click=
"
downloadFile
"
>
导出
</el-button>
<el-button
size=
"mini"
icon=
"el-icon-printer"
v-print=
"printObj"
@
click=
"printeTable"
>
打印
</el-button>
<el-button
size=
"mini"
icon=
"el-icon-printer"
v-print=
"printObj"
@
click=
"printeTable"
>
打印
</el-button>
</div>
</div>
<div
class=
"content"
>
<div
class=
"content"
>
<el-table
id=
"printContainer"
:data=
"tableData"
v-loading=
"loading"
border
style=
"width:auto"
:row-class-name=
"tableRowClassName"
>
<el-table
id=
"printContainer"
:data=
"tableData"
v-loading=
"loading"
border
style=
"width:auto"
:row-class-name=
"tableRowClassName"
>
<el-table-column
prop=
"formId"
label=
"设备名称"
align=
"center"
></el-table-column>
<el-table-column
prop=
"equipname"
label=
"设备名称"
align=
"center"
></el-table-column>
<el-table-column
prop=
"username"
label=
"设备编号"
align=
"center"
></el-table-column>
<el-table-column
prop=
"equipno"
label=
"设备编号"
align=
"center"
></el-table-column>
<el-table-column
prop=
"carNo"
label=
"状态"
align=
"center"
></el-table-column>
<el-table-column
prop=
"state"
label=
"状态"
align=
"center"
>
<el-table-column
prop=
"carClass"
label=
"报警等级"
align=
"center"
></el-table-column>
<template
slot-scope=
"scope"
>
<el-table-column
prop=
"carNo"
label=
"报警值"
align=
"center"
></el-table-column>
<span>
{{
scope
.
row
.
state
===
1
?
'
报警
'
:
'
解除报警
'
}}
</span>
<el-table-column
prop=
"carNo"
label=
"报警原因"
align=
"center"
></el-table-column>
</
template
>
<el-table-column
prop=
"createTime"
label=
"报警时间"
align=
"center"
></el-table-column>
</el-table-column>
<el-table-column
prop=
"carNo"
label=
"解除报警原因"
align=
"center"
></el-table-column>
<el-table-column
prop=
"alarmlevel"
label=
"报警等级"
align=
"center"
>
<el-table-column
prop=
"createTime"
label=
"解除报警时间"
align=
"center"
></el-table-column>
<
template
slot-scope=
"scope"
>
<i
v-if=
"scope.row.alarmlevel===1"
class=
"el-icon-message-solid"
style=
"color: red"
></i>
<i
v-if=
"scope.row.alarmlevel===2"
class=
"el-icon-message-solid"
style=
"color: orange"
></i>
<i
v-if=
"scope.row.alarmlevel===3"
class=
"el-icon-message-solid"
style=
"color: gold"
></i>
<i
v-if=
"scope.row.alarmlevel===4"
class=
"el-icon-message-solid"
style=
"color: dodgerblue"
></i>
</
template
>
</el-table-column>
<el-table-column
prop=
"evalue"
label=
"报警值"
align=
"center"
></el-table-column>
<el-table-column
prop=
"reason"
label=
"报警原因"
align=
"center"
></el-table-column>
<el-table-column
prop=
"time"
label=
"报警时间"
align=
"center"
></el-table-column>
<el-table-column
prop=
"jcreason"
label=
"解除报警原因"
align=
"center"
></el-table-column>
<el-table-column
prop=
"jcbjtime"
label=
"解除报警时间"
align=
"center"
></el-table-column>
<el-table-column
label=
"操作"
align=
"center"
v-if=
"!isPrint"
>
<el-table-column
label=
"操作"
align=
"center"
v-if=
"!isPrint"
>
<
template
slot-scope=
"scope"
>
<
template
slot-scope=
"scope"
>
<el-button
size=
"mini"
type=
"primary"
icon=
"el-icon-close-notification"
@
click=
"toEdit(scope.row)"
></el-button>
<el-button
v-show=
"scope.row.state===1"
size=
"mini"
style=
"margin:0"
type=
"primary"
icon=
"el-icon-close-notification"
@
click=
"toEdit(scope.row)"
></el-button>
<el-button
v-show=
"scope.row.state!==1"
size=
"mini"
style=
"margin:0"
type=
"primary"
icon=
"el-icon-close-notification"
@
click=
"toEdit(scope.row)"
disabled
></el-button>
</
template
>
</
template
>
</el-table-column>
</el-table-column>
</el-table>
</el-table>
...
@@ -64,19 +76,19 @@
...
@@ -64,19 +76,19 @@
<!-- 表单渲染 -->
<!-- 表单渲染 -->
<el-dialog
append-to-body
:close-on-click-modal=
"false"
:before-close=
"cancelForm"
:visible.sync=
"editVisible"
title=
"解除报警"
width=
"500px"
>
<el-dialog
append-to-body
:close-on-click-modal=
"false"
:before-close=
"cancelForm"
:visible.sync=
"editVisible"
title=
"解除报警"
width=
"500px"
>
<el-form
:model=
"formData"
:rules=
"rules"
ref=
"formViewRef"
:inline=
"true"
label-width=
"180px"
>
<el-form
:model=
"formData"
:rules=
"rules"
ref=
"formViewRef"
:inline=
"true"
label-width=
"180px"
>
<el-form-item
label=
"解除时长:"
class=
"form-cell"
prop=
"
name
"
style=
"width:100%"
>
<el-form-item
label=
"解除时长:"
class=
"form-cell"
prop=
"
jcHours
"
style=
"width:100%"
>
<div
class=
"cell-box"
>
<div
class=
"cell-box"
>
<el-input
v-model=
"formData.
name"
class=
"cell-input
"
></el-input>
<el-input
v-model=
"formData.
jcHours"
class=
"cell-input"
type=
"number
"
></el-input>
</div>
</div>
</el-form-item>
</el-form-item>
<el-form-item
label=
"报警原因:"
class=
"form-cell"
prop=
"
devType
"
>
<el-form-item
label=
"报警原因:"
class=
"form-cell"
prop=
"
bjReason
"
>
<div
class=
"cell-box"
>
<div
class=
"cell-box"
>
<el-input
v-model=
"formData.
devType
"
class=
"cell-input"
></el-input>
<el-input
v-model=
"formData.
bjReason
"
class=
"cell-input"
></el-input>
</div>
</div>
</el-form-item>
</el-form-item>
<el-form-item
label=
"解除报警原因:"
class=
"form-cell"
prop=
"
devNo
"
>
<el-form-item
label=
"解除报警原因:"
class=
"form-cell"
prop=
"
jcbjReason
"
>
<div
class=
"cell-box"
>
<div
class=
"cell-box"
>
<el-input
v-model=
"formData.
devNo
"
class=
"cell-input"
></el-input>
<el-input
v-model=
"formData.
jcbjReason
"
class=
"cell-input"
></el-input>
</div>
</div>
</el-form-item>
</el-form-item>
</el-form>
</el-form>
...
@@ -110,17 +122,16 @@ export default {
...
@@ -110,17 +122,16 @@ export default {
stuOpts
:
[
stuOpts
:
[
{
label
:
'
全部
'
,
value
:
undefined
},
{
label
:
'
全部
'
,
value
:
undefined
},
{
label
:
'
报警
'
,
value
:
1
},
{
label
:
'
报警
'
,
value
:
1
},
{
label
:
'
正常
'
,
value
:
0
},
{
label
:
'
解除报警
'
,
value
:
2
},
],
],
tableData
:
[],
tableData
:
[],
formData
:
{
formData
:
{
name
:
''
,
equipmentNo
:
null
,
devType
:
''
,
jcHours
:
12
,
devNo
:
''
,
bjReason
:
''
,
},
jcbjReason
:
''
,
rules
:
{
devNo
:
{
required
:
true
,
message
:
'
请填写解除报警原因
'
,
trigger
:
'
blur
'
},
},
},
rules
:
{},
printObj
:
{
printObj
:
{
id
:
"
printContainer
"
,
id
:
"
printContainer
"
,
popTitle
:
'
打印
'
,
popTitle
:
'
打印
'
,
...
@@ -137,14 +148,18 @@ export default {
...
@@ -137,14 +148,18 @@ export default {
},
},
methods
:
{
methods
:
{
loadData
()
{
loadData
()
{
var
sort
=
'
id,desc
'
;
var
param
=
this
.
query
;
var
param
=
this
.
query
;
param
.
page
=
this
.
page
-
1
;
param
.
page
=
this
.
page
-
1
;
param
.
pageSize
=
this
.
size
;
param
.
pageSize
=
this
.
size
;
param
.
sort
=
sort
;
param
.
startTime
=
undefined
;
param
.
endTime
=
undefined
;
if
(
param
.
timeList
&&
param
.
timeList
.
length
){
param
.
startTime
=
param
.
timeList
[
0
];
param
.
endTime
=
param
.
timeList
[
1
];
}
this
.
$nextTick
(()
=>
{
this
.
$nextTick
(()
=>
{
//获取安检信息
//获取安检信息
HttpReq
.
truckDispatching
.
ajReportListFind
(
param
).
then
((
res
)
=>
{
HttpReq
.
truckDispatching
.
slopeGetEquipmentAlarm
(
param
).
then
((
res
)
=>
{
if
(
res
.
code
==
200
)
{
if
(
res
.
code
==
200
)
{
this
.
loading
=
false
;
this
.
loading
=
false
;
this
.
tableData
=
res
.
data
.
records
;
this
.
tableData
=
res
.
data
.
records
;
...
@@ -153,8 +168,17 @@ export default {
...
@@ -153,8 +168,17 @@ export default {
})
})
})
})
},
},
toEdit
()
{
downloadFile
()
{
},
toEdit
(
item
)
{
this
.
editVisible
=
true
;
this
.
editVisible
=
true
;
this
.
formData
=
{
equipmentNo
:
item
.
equipno
,
jcHours
:
12
,
bjReason
:
''
,
jcbjReason
:
''
,
}
},
},
printeTable
()
{
printeTable
()
{
this
.
isPrint
=
true
;
this
.
isPrint
=
true
;
...
@@ -187,12 +211,16 @@ export default {
...
@@ -187,12 +211,16 @@ export default {
submitForm
(
validateName
,
item
)
{
submitForm
(
validateName
,
item
)
{
this
.
$refs
[
validateName
].
validate
(
valid
=>
{
this
.
$refs
[
validateName
].
validate
(
valid
=>
{
if
(
valid
)
{
if
(
valid
)
{
// if (this.title === '新增') {
HttpReq
.
truckDispatching
.
slopeEquipmentAlarmRemove
(
item
).
then
((
res
)
=>
{
// this.reqAddItem(this.form, item)
if
(
res
.
code
==
200
)
{
// } else {
this
.
$message
({
// this.reqUpdateItem(this.form, item)
message
:
res
.
msg
,
// }
type
:
'
success
'
alert
(
9999
);
});
this
.
cancelForm
();
this
.
loadData
()
}
})
}
}
});
});
},
},
...
...
src/views/slopeMonitoring/environmentalMonitoring/index.vue
View file @
9ffcb9c1
...
@@ -6,11 +6,7 @@
...
@@ -6,11 +6,7 @@
<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.sensorId"
clearable
size=
"small"
placeholder=
"请输入设备号"
style=
"width:180px;"
/>
<el-input
v-model=
"query.equipno"
clearable
size=
"small"
placeholder=
"请输入设备号"
style=
"width:180px;"
/>
<label
class=
"el-form-item-label"
style=
"font-weight: 500;"
>
报警状态
</label>
<el-select
v-model=
"query.alarmStatus"
placeholder=
"请选择"
>
<el-option
v-for=
"item in stuOpts"
:key=
"item.value"
:label=
"item.label"
:value=
"item.value"
></el-option>
</el-select>
<label
class=
"el-form-item-label"
style=
"font-weight: 500;"
>
日期范围
</label>
<label
class=
"el-form-item-label"
style=
"font-weight: 500;"
>
日期范围
</label>
<el-date-picker
<el-date-picker
v-model=
"query.timeList"
v-model=
"query.timeList"
...
@@ -37,18 +33,18 @@
...
@@ -37,18 +33,18 @@
</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=
"
formId
"
label=
"设备名称"
align=
"center"
></el-table-column>
<el-table-column
prop=
"
deviceName
"
label=
"设备名称"
align=
"center"
></el-table-column>
<el-table-column
prop=
"
username
"
label=
"设备编号"
align=
"center"
></el-table-column>
<el-table-column
prop=
"
mn
"
label=
"设备编号"
align=
"center"
></el-table-column>
<el-table-column
prop=
"
carNo
"
label=
"连接状态"
align=
"center"
></el-table-column>
<el-table-column
prop=
"
statusDev
"
label=
"连接状态"
align=
"center"
></el-table-column>
<el-table-column
prop=
"
createT
ime"
label=
"监测时间"
align=
"center"
></el-table-column>
<el-table-column
prop=
"
t
ime"
label=
"监测时间"
align=
"center"
></el-table-column>
<el-table-column
prop=
"
carClas
s"
label=
"风速"
align=
"center"
></el-table-column>
<el-table-column
prop=
"
w
s"
label=
"风速"
align=
"center"
></el-table-column>
<el-table-column
prop=
"
carClass
"
label=
"温度"
align=
"center"
></el-table-column>
<el-table-column
prop=
"
ta
"
label=
"温度"
align=
"center"
></el-table-column>
<el-table-column
prop=
"
carClass
"
label=
"大气压"
align=
"center"
></el-table-column>
<el-table-column
prop=
"
pa
"
label=
"大气压"
align=
"center"
></el-table-column>
<el-table-column
prop=
"
carClass
"
label=
"LPM2.5"
align=
"center"
></el-table-column>
<el-table-column
prop=
"
lpm25
"
label=
"LPM2.5"
align=
"center"
></el-table-column>
<el-table-column
prop=
"
carClass
"
label=
"LTSP"
align=
"center"
></el-table-column>
<el-table-column
prop=
"
ltsp
"
label=
"LTSP"
align=
"center"
></el-table-column>
<el-table-column
prop=
"
carClass
"
label=
"LPM10"
align=
"center"
></el-table-column>
<el-table-column
prop=
"
lpm10
"
label=
"LPM10"
align=
"center"
></el-table-column>
<el-table-column
prop=
"
carClass
"
label=
"湿度"
align=
"center"
></el-table-column>
<el-table-column
prop=
"
ua
"
label=
"湿度"
align=
"center"
></el-table-column>
<el-table-column
prop=
"
carClass
"
label=
"风向"
align=
"center"
></el-table-column>
<el-table-column
prop=
"
wd
"
label=
"风向"
align=
"center"
></el-table-column>
</el-table>
</el-table>
<!--分页组件-->
<!--分页组件-->
<el-pagination
:total=
"total"
:current-page=
"page"
style=
"margin-top: 8px;"
<el-pagination
:total=
"total"
:current-page=
"page"
style=
"margin-top: 8px;"
...
@@ -101,14 +97,18 @@ export default {
...
@@ -101,14 +97,18 @@ export default {
},
},
methods
:
{
methods
:
{
loadData
()
{
loadData
()
{
var
sort
=
'
id,desc
'
;
var
param
=
this
.
query
;
var
param
=
this
.
query
;
param
.
page
=
this
.
page
-
1
;
param
.
page
=
this
.
page
-
1
;
param
.
pageSize
=
this
.
size
;
param
.
pageSize
=
this
.
size
;
param
.
sort
=
sort
;
param
.
startTime
=
undefined
;
param
.
endTime
=
undefined
;
if
(
param
.
timeList
&&
param
.
timeList
.
length
){
param
.
startTime
=
param
.
timeList
[
0
];
param
.
endTime
=
param
.
timeList
[
1
];
}
this
.
$nextTick
(()
=>
{
this
.
$nextTick
(()
=>
{
//获取安检信息
//获取安检信息
HttpReq
.
truckDispatching
.
ajReportListFind
(
param
).
then
((
res
)
=>
{
HttpReq
.
truckDispatching
.
slopeGetEquipmentData
(
param
).
then
((
res
)
=>
{
if
(
res
.
code
==
200
)
{
if
(
res
.
code
==
200
)
{
this
.
loading
=
false
;
this
.
loading
=
false
;
this
.
tableData
=
res
.
data
.
records
;
this
.
tableData
=
res
.
data
.
records
;
...
@@ -117,25 +117,6 @@ export default {
...
@@ -117,25 +117,6 @@ export default {
})
})
})
})
},
},
toAdd
()
{
this
.
title
=
'
新增
'
;
this
.
visible
=
true
;
},
toEdit
()
{
},
toDelete
(
item
)
{
var
id
=
item
.
id
;
this
.
$confirm
(
'
确认删除该条数据吗?
'
,
'
提示
'
,
{
confirmButtonText
:
'
确定
'
,
cancelButtonText
:
'
取消
'
,
type
:
'
warning
'
}).
then
((
e
)
=>
{
}).
catch
((
e
)
=>
{
})
},
cancelForm
()
{
cancelForm
()
{
this
.
visible
=
false
;
this
.
visible
=
false
;
},
},
...
...
src/views/slopeMonitoring/precipitationLog/index.vue
View file @
9ffcb9c1
...
@@ -127,11 +127,11 @@ export default {
...
@@ -127,11 +127,11 @@ export default {
},
},
methods
:
{
methods
:
{
loadData
()
{
loadData
()
{
var
sort
=
'
id,desc
'
;
var
param
=
this
.
query
;
var
param
=
this
.
query
;
param
.
page
=
this
.
page
-
1
;
param
.
page
=
this
.
page
-
1
;
param
.
pageSize
=
this
.
size
;
param
.
pageSize
=
this
.
size
;
param
.
sort
=
sort
;
param
.
startTime
=
undefined
;
param
.
endTime
=
undefined
;
if
(
param
.
timeList
&&
param
.
timeList
.
length
){
if
(
param
.
timeList
&&
param
.
timeList
.
length
){
param
.
startTime
=
param
.
timeList
[
0
];
param
.
startTime
=
param
.
timeList
[
0
];
param
.
endTime
=
param
.
timeList
[
1
];
param
.
endTime
=
param
.
timeList
[
1
];
...
@@ -165,6 +165,8 @@ export default {
...
@@ -165,6 +165,8 @@ export default {
},
},
toSearchDev
(){
toSearchDev
(){
var
param
=
this
.
search
;
var
param
=
this
.
search
;
param
.
startTime
=
undefined
;
param
.
endTime
=
undefined
;
if
(
param
.
timeList
&&
param
.
timeList
.
length
){
if
(
param
.
timeList
&&
param
.
timeList
.
length
){
param
.
startTime
=
param
.
timeList
[
0
];
param
.
startTime
=
param
.
timeList
[
0
];
param
.
endTime
=
param
.
timeList
[
1
];
param
.
endTime
=
param
.
timeList
[
1
];
...
...
src/views/slopeMonitoring/surfaceDisplacementLog/index.vue
View file @
9ffcb9c1
...
@@ -124,11 +124,11 @@ export default {
...
@@ -124,11 +124,11 @@ export default {
},
},
methods
:
{
methods
:
{
loadData
()
{
loadData
()
{
var
sort
=
'
id,desc
'
;
var
param
=
this
.
query
;
var
param
=
this
.
query
;
param
.
page
=
this
.
page
-
1
;
param
.
page
=
this
.
page
-
1
;
param
.
pageSize
=
this
.
size
;
param
.
pageSize
=
this
.
size
;
param
.
sort
=
sort
;
param
.
startTime
=
undefined
;
param
.
endTime
=
undefined
;
if
(
param
.
timeList
&&
param
.
timeList
.
length
){
if
(
param
.
timeList
&&
param
.
timeList
.
length
){
param
.
startTime
=
param
.
timeList
[
0
];
param
.
startTime
=
param
.
timeList
[
0
];
param
.
endTime
=
param
.
timeList
[
1
];
param
.
endTime
=
param
.
timeList
[
1
];
...
@@ -165,6 +165,8 @@ export default {
...
@@ -165,6 +165,8 @@ export default {
},
},
toSearchDev
(){
toSearchDev
(){
var
param
=
this
.
search
;
var
param
=
this
.
search
;
param
.
startTime
=
undefined
;
param
.
endTime
=
undefined
;
if
(
param
.
timeList
&&
param
.
timeList
.
length
){
if
(
param
.
timeList
&&
param
.
timeList
.
length
){
param
.
startTime
=
param
.
timeList
[
0
];
param
.
startTime
=
param
.
timeList
[
0
];
param
.
endTime
=
param
.
timeList
[
1
];
param
.
endTime
=
param
.
timeList
[
1
];
...
...
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