Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Contribute to GitLab
Sign in / Register
Toggle navigation
G
gassafety-progress
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
耿迪迪
gassafety-progress
Commits
de27e761
Commit
de27e761
authored
Feb 26, 2022
by
yaqizhang
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'master' of
ssh://111.61.77.35:15/gengdidi/gassafety-progress
into master
parents
f468af52
eda076c9
Hide whitespace changes
Inline
Side-by-side
Showing
7 changed files
with
484 additions
and
42 deletions
+484
-42
ArtemisController.java
...va/com/zehong/web/controller/video/ArtemisController.java
+3
-3
index.vue
gassafetyprogress-web/src/components/GetPos/index.vue
+2
-2
DeviceA.vue
gassafetyprogress-web/src/components/bigWindow/DeviceA.vue
+8
-6
User.vue
gassafetyprogress-web/src/components/bigWindow/User.vue
+4
-5
UserCenter.vue
...afetyprogress-web/src/components/bigWindow/UserCenter.vue
+408
-0
map.js
gassafetyprogress-web/src/utils/mapClass/map.js
+57
-26
index.vue
gassafetyprogress-web/src/views/regulation/pipe/index.vue
+2
-0
No files found.
gassafetyprogress-admin/src/main/java/com/zehong/web/controller/video/ArtemisController.java
View file @
de27e761
...
...
@@ -28,11 +28,11 @@ public class ArtemisController {
*/
static
{
// 代理API网关nginx服务器ip端口
ArtemisConfig
.
host
=
"2
22.223.203.154
:1443"
;
ArtemisConfig
.
host
=
"2
7.128.189.137
:1443"
;
// 秘钥appkey
ArtemisConfig
.
appKey
=
"2
4786595
"
;
ArtemisConfig
.
appKey
=
"2
8616162
"
;
// 秘钥appSecret
ArtemisConfig
.
appSecret
=
"
AxzrQTvNWvSVKjKbYGOn
"
;
ArtemisConfig
.
appSecret
=
"
5ueTWDOJ21jRbpHACAzF
"
;
}
/**
* 能力开放平台的网站路径
...
...
gassafetyprogress-web/src/components/GetPos/index.vue
View file @
de27e761
...
...
@@ -104,8 +104,8 @@ export default {
this
.
map
.
mouseAddMarker
();
}
}
else
{
console
.
log
(
this
.
pipePath
.
length
)
if
(
this
.
pipePath
.
length
>
0
)
{
//
console.log(this.pipePath.length)
if
(
this
.
pipePath
!=
null
&&
this
.
pipePath
.
length
>
0
)
{
this
.
map
.
addPipeLine
({
path
:
this
.
pipePath
});
}
else
{
this
.
map
.
mouseAddPipeline
();
...
...
gassafetyprogress-web/src/components/bigWindow/DeviceA.vue
View file @
de27e761
<!--
* @Author: your name
* @Date: 2022-01-26 20:07:52
* @LastEditTime: 2022-02-2
5 18:34:00
* @LastEditTime: 2022-02-2
6 14:16:23
* @LastEditors: Please set LastEditors
* @Description: 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE
...
...
@@ -63,19 +63,19 @@
<div
class=
"tbody flex"
>
<div
class=
"first zzz"
>
{{
"流量计与压力表"
}}
</div>
<div
class=
""
>
{{
deviceData
.
pressureFlows
.
length
}}
</div>
<div
class=
""
>
<div
v-unValue
class=
""
>
{{
(
Math
.
random
()
*
deviceData
.
pressureFlows
.
length
)
>>
1
}}
</div>
<div
class=
""
>
<div
v-unValue
class=
""
>
{{
(
Math
.
random
()
*
deviceData
.
pressureFlows
.
length
)
>>
1
}}
</div>
<div
class=
""
>
<div
v-unValue
class=
""
>
{{
(
Math
.
random
()
*
deviceData
.
pressureFlows
.
length
)
>>
1
}}
</div>
<div
class=
""
>
<div
v-unValue
class=
""
>
{{
(
Math
.
random
()
*
deviceData
.
pressureFlows
.
length
)
>>
1
}}
</div>
<div
class=
"last zzz"
>
<div
v-unValue
class=
"last zzz"
>
{{
deviceData
.
pressureFlows
.
filter
((
item
)
=>
{
return
item
.
deviceState
==
2
;
...
...
@@ -118,6 +118,8 @@ export default {
this
.
companyType
[
item
.
conpanyId
]
=
item
.
companyName
;
}
);
}
console
.
log
(
this
.
deviceData
)
}
,
methods
:
{
close
()
{
...
...
gassafetyprogress-web/src/components/bigWindow/User.vue
View file @
de27e761
<!--
* @Author: your name
* @Date: 2022-01-27 14:25:45
* @LastEditTime: 2022-02-
17 10:12:02
* @LastEditTime: 2022-02-
26 14:16:16
* @LastEditors: Please set LastEditors
* @Description: 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE
* @FilePath: /hello-world/src/views/components/User.vue
...
...
@@ -22,7 +22,7 @@
<div
class=
"group flex"
>
<div
class=
"left"
>
联系方式:
</div>
<div
class=
"right"
>
{{
deviceData
.
phone
}}
</div>
<div
v-unValue
class=
"right"
>
{{
deviceData
.
phone
}}
</div>
</div>
<div
class=
"group flex"
>
...
...
@@ -32,16 +32,15 @@
</div>
</div>
<div
class=
"group flex"
>
<
!--
<
div
class=
"group flex"
>
<div
class=
"left"
>
所属公司:
</div>
<div
class=
"right"
>
{{
companyType
[
deviceData
.
companyType
]
}}
</div>
</div>
</div>
-->
</div>
</
template
>
<
script
>
import
{
companyType
}
from
"@/utils/mapClass/config.js"
;
import
{
mapGetters
}
from
"vuex"
;
export
default
{
data
()
{
...
...
gassafetyprogress-web/src/components/bigWindow/UserCenter.vue
0 → 100644
View file @
de27e761
<
template
>
<transition
v-on:before-enter=
"beforeEnter"
v-on:enter=
"enter"
v-on:before-leave=
"beforeLeave"
v-on:leave=
"leave"
v-bind:css=
"false"
>
<div
v-show=
"show"
class=
"wrapper center"
>
<div
class=
"left"
>
<div
class=
"title-wrapper"
>
<div
class=
"title"
>
{{
title
}}
报警器列表
</div>
<div
class=
"close"
@
click=
"close"
>
<img
src=
"@/assets/images/closeBtn.png"
alt=
""
/>
</div>
</div>
detectorInfo.
<div
class=
"bottom right-bottom-data-left"
>
<el-table
size=
"mini"
:data=
"tableData"
style=
"width: 100%"
:height=
"tableHeight"
class=
"el-bottom"
:key=
"Math.random()"
>
<!-- :height="tableHeight" -->
<el-table-column
prop=
"detectorCode"
label=
"设备编号"
width=
"180"
>
<template
slot-scope=
"scope"
>
<div
:title=
"scope.row.detectorCode"
class=
"ddd"
v-un-content
>
{{
scope
.
row
.
detectorCode
}}
</div>
</
template
>
</el-table-column>
<el-table-column
prop=
"detectorName"
label=
"设备名称"
width=
"100"
>
<
template
slot-scope=
"scope"
>
<div
:title=
"scope.row.detectorName"
class=
"ddd"
v-un-content
>
{{
scope
.
row
.
detectorName
}}
</div>
</
template
>
</el-table-column>
<el-table-column
prop=
"medium"
label=
"监测介质"
width=
""
>
<
template
slot-scope=
"scope"
>
<div
v-un-content
>
{{
scope
.
row
.
medium
}}
</div>
</
template
>
</el-table-column>
<el-table-column
prop=
"linkman"
label=
"联系人"
width=
"100"
>
</el-table-column>
<el-table-column
prop=
"phone"
label=
"联系电话"
width=
""
>
</el-table-column>
<el-table-column
prop=
"detectorStatus"
label=
"设备状态"
width=
"100"
>
</el-table-column>
<el-table-column
prop=
"alarmTime"
label=
"报警时间"
width=
"200"
>
<
template
slot-scope=
"scope"
>
<div
v-un-content
>
{{
scope
.
row
.
alarmTime
}}
</div>
</
template
>
</el-table-column>
<el-table-column
prop=
"alarmValue"
label=
"定位"
width=
"50"
>
<
template
slot-scope=
"scope"
>
<div
@
click=
"createDetector(scope)"
class=
"iconfont icon-bjqdw"
></div>
<!--
{{
scope
.
row
.
userId
}}
-->
</
template
>
</el-table-column>
</el-table>
<div>
<el-pagination
@
current-change=
"handleCurrentChangvale"
:page-size=
"pageSize"
layout=
"prev, pager, next, jumper"
:total=
"total"
:hide-on-single-page=
"total <= pageSize"
:key=
"total+''+pageSize"
>
</el-pagination>
</div>
</div>
</div>
</div>
</transition>
</template>
<
script
>
import
Velocity
from
"velocity-animate"
;
import
{
listDeviceAlarm
}
from
"@/api/dataMonitoring/deviceAlarm"
;
export
default
{
props
:
{
detcetorList
:
{
type
:
Array
,
},
show
:
{
type
:
Boolean
,
},
title
:
{
type
:
String
,
},
userId
:
{
type
:
[
Number
,
String
],
},
total
:
{
type
:
Number
,
},
pageSize
:
{
type
:
Number
,
},
},
data
()
{
return
{
// 动画效果的切换
animateChange
:
0
,
fade
:
"fade"
,
tableHeight
:
600
,
tableData
:
[
// {
// deviceCode: "2016-05-05",
// name: "王小虎",
// province: "上海",
// city: "普陀区",
// address: "上海市普陀区金沙江路",
// },
],
moveX
:
0
,
moveY
:
0
,
};
},
created
()
{
console
.
log
(
"list"
,
this
.
detcetorList
);
// this.getList();
},
watch
:
{
// 当组件显示的时候
detcetorList
(
newData
)
{
// console.log(bol);
// if (bol) {
console
.
log
(
newData
);
this
.
tableData
=
[...
newData
];
// }
},
},
methods
:
{
handleSizeChange
(
val
)
{
console
.
log
(
val
);
},
handleCurrentChangvale
(
val
)
{
this
.
$parent
.
getDetectorInfoList
({
userId
:
this
.
userId
,
pageNum
:
val
,
pageSize
:
this
.
pageSize
,
},
this
.
title
);
},
close
()
{
this
.
fade
=
"fade"
;
this
.
$parent
.
centerShow
=
false
;
this
.
$parent
.
circleShow
=
false
;
},
// 点击创建点并且定位过去
createDetector
(
data
)
{
// 如果有经纬度才能走通,没有套弹框提示
if
(
data
.
row
.
latitude
&&
data
.
row
.
longitude
)
{
this
.
fade
=
"scale"
;
this
.
$parent
.
centerShow
=
false
;
this
.
$parent
.
circleShow
=
true
;
this
.
$parent
.
gaoMap
.
addMarker
(
"detector_only"
,
data
.
row
);
}
else
{
this
.
msgError
(
"数据不完善,无法定位"
);
}
},
beforeEnter
:
function
(
el
)
{
// 如果点的是关闭
if
(
this
.
fade
==
"fade"
)
{
// 如果点的是定位
el
.
style
.
opacity
=
0
;
console
.
log
(
el
);
}
else
{
el
.
style
.
transfrom
=
`translate(
${
this
.
moveX
}
,
${
this
.
moveY
}
)`
;
el
.
style
.
transfrom
=
"scale(0,0)"
;
}
},
enter
:
function
(
el
,
done
)
{
if
(
this
.
fade
==
"fade"
)
{
Velocity
(
el
,
{
opacity
:
1
,
translateX
:
"0px"
,
translateY
:
"0px"
,
scaleX
:
1
,
scaleY
:
1
,
// scaleX:1,
// scaleY:1
},
{
duration
:
0
,
complete
:
done
}
);
}
else
{
Velocity
(
el
,
{
translateX
:
"0px"
,
translateY
:
"0px"
,
scaleX
:
1
,
scaleY
:
1
,
},
{
duration
:
300
,
complete
:
done
}
);
}
},
beforeLeave
(
el
)
{
if
(
this
.
fade
==
"fade"
)
{
el
.
style
.
opacity
=
1
;
}
else
{
el
.
style
.
transfrom
=
"translate(0px,0px)"
;
el
.
style
.
transfrom
=
"scale(1,1)"
;
}
},
leave
:
function
(
el
,
done
)
{
if
(
this
.
fade
==
"fade"
)
{
Velocity
(
el
,
{
opacity
:
0
,
},
{
duration
:
0
,
complete
:
done
}
);
}
else
{
// 列表的位置参数
const
{
top
,
left
,
height
,
width
}
=
el
.
getBoundingClientRect
();
// 当列表缩下去的右下角的位置参数
const
{
top
:
topC
,
left
:
leftC
,
height
:
heightC
,
width
:
widthC
,
}
=
this
.
$parent
.
$refs
.
circle
.
getBoundingClientRect
();
const
moveX
=
Math
.
abs
(
leftC
-
left
)
-
width
/
2
+
heightC
/
2
+
"px"
;
const
moveY
=
Math
.
abs
(
topC
-
top
)
-
height
/
2
+
heightC
/
2
+
"px"
;
this
.
moveX
=
moveX
;
this
.
moveY
=
moveY
;
Velocity
(
el
,
{
translateX
:
moveX
,
translateY
:
moveY
,
scaleX
:
0
,
scaleY
:
0
,
},
{
duration
:
300
,
complete
:
done
}
);
}
},
},
};
</
script
>
<
style
lang=
"scss"
scoped
>
.wrapper
{
// width: 978px;
max-height
:
600px
;
position
:
fixed
;
top
:
50%
;
left
:
50%
;
margin-top
:
-300px
;
margin-left
:
-500px
;
// background-color: #fff;
display
:
flex
;
justify-content
:
space-between
;
z-index
:
9999
;
&
>
div
{
}
.left
{
// width: 100px;
max-height
:
598px
;
margin-right
:
12px
;
// box-shadow: 2px 2px 5px rgba(0, 0, 0, 0.16);
// background-color: #fff;
// color: #fff;
font-size
:
14px
;
font-weight
:
400
;
.title-wrapper
{
width
:
100%
;
height
:
30px
;
display
:
flex
;
justify-content
:
space-between
;
background
:
#1890ff
;
padding
:
5px
;
.title
{
width
:
100%
;
color
:
#fff
;
text-align
:
center
;
}
.close
{
box-sizing
:
border-box
;
padding-top
:
2px
;
padding-right
:
5px
;
cursor
:
pointer
;
}
}
.el-table__body-wrappe
{
height
:
140px
!
important
;
}
.top
{
height
:
19px
;
// background-color: #053b6a;
color
:
#fff
;
// line-height: 32px;
// padding-left: 12px;
position
:
relative
;
.title
{
position
:
absolute
;
left
:
50%
;
margin-left
:
-92px
;
top
:
-5px
;
}
.repeat
{
position
:
absolute
;
top
:
-5px
;
right
:
160px
;
color
:
#fff
;
cursor
:
pointer
;
&
:hover
{
color
:
#2788ea
;
}
}
.repeat2
{
position
:
absolute
;
right
:
206px
;
color
:
#67c23a
;
}
.more
{
position
:
absolute
;
right
:
38px
;
top
:
-5px
;
color
:
#fff
;
float
:
right
;
margin-right
:
20px
;
cursor
:
pointer
;
&
:hover
{
color
:
#2788ea
;
}
}
}
.bottom
{
width
:
1000px
;
margin
:
0
auto
;
position
:
relative
;
}
}
.right
{
width
:
740px
;
display
:
flex
;
flex-wrap
:
wrap
;
// justify-content: space-between;
align-content
:
flex-start
;
// margin-top: 7px;
&
>
.right-content
{
background-color
:
#fff
;
width
:
238px
;
height
:
82px
;
margin-bottom
:
29px
;
box-shadow
:
2px
2px
5px
rgba
(
0
,
0
,
0
,
0
.16
);
margin-right
:
10px
;
display
:
flex
;
&
.three
{
margin-right
:
0px
;
}
// align-items: center;
.text-icon
{
line-height
:
82px
;
padding-left
:
22px
;
margin-right
:
22px
;
i
{
color
:
#053b6a
;
font-size
:
60px
;
}
}
.text
{
font-size
:
14px
;
padding-top
:
16px
;
.top
{
color
:
#000
;
margin-bottom
:
10px
;
font-weight
:
600
;
}
.bottom
{
color
:
#2788ea
;
}
}
}
}
.iconfont
{
cursor
:
pointer
;
}
// 单独调整下最后一个icon的大小
.iconFontSize
{
font-size
:
50px
!
important
;
}
}
</
style
>
\ No newline at end of file
gassafetyprogress-web/src/utils/mapClass/map.js
View file @
de27e761
/*
* @Author: your name
* @Date: 2022-01-11 13:45:12
* @LastEditTime: 2022-02-26
09:55:44
* @LastEditTime: 2022-02-26
13:59:03
* @LastEditors: Please set LastEditors
* @Description: 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE
* @FilePath: /test/hello-world/src/utils/mapClass.js
...
...
@@ -444,19 +444,38 @@ export class EditorMap {
if
(
!
this
.
infowindow
)
return
;
this
.
infowindow
.
close
();
}
allilter
(
companyArr
,
typeArr
)
{
for
(
let
pipeItem
in
this
.
pipeArr
)
{
this
.
pipeArr
[
pipeItem
].
forEach
((
pipe
)
=>
{
const
data
=
pipe
.
getExtData
();
if
(
companyArr
.
indexOf
(
data
.
companyType
+
""
)
>=
0
)
{
pipe
.
show
();
}
else
{
pipe
.
hide
();
}
});
}
for
(
let
deviceItem
in
this
.
allDevice
)
{
this
.
allDevice
[
deviceItem
].
forEach
((
device
)
=>
{
const
data
=
device
.
getExtData
();
// 设备过滤受到bigwindow页面的的两种制约,companyArr, typeArr 两个数组制约显示隐藏
// 燃气没有公司,所以没有device.companyType不收到公司的控制
const
companyHas
=
companyArr
.
indexOf
(
data
.
companyType
+
""
)
>=
0
;
// 设备存在
const
deviceHas
=
typeArr
.
indexOf
(
data
.
iconType
+
""
)
>=
0
;
// 必须设备存在数组里,才会显示设备 !data.companyType代表用户不受公司制约
if
(
deviceHas
&&
(
companyHas
||
!
data
.
companyType
))
{
device
.
show
();
}
else
{
device
.
hide
();
}
});
}
}
// 根据公司过滤是否显示 公司由一个数组传过来
companyFilter
(
companyArr
)
{
for
(
let
pipeItem
in
this
.
pipeArr
)
{
// 如果item属于数组说明要显示,凑则就是隐藏
// if (companyArr.indexOf(+pipeItem+'') >= 0) {
// this.pipeArr[pipeItem].forEach((pipe) => {
// pipe.show();
// });
// } else {
// this.pipeArr[pipeItem].forEach((pipe) => {
// pipe.hide();
// });
// }
this
.
pipeArr
[
pipeItem
].
forEach
((
pipe
)
=>
{
const
data
=
pipe
.
getExtData
();
if
(
companyArr
.
indexOf
(
data
.
companyType
+
""
)
>=
0
)
{
...
...
@@ -467,25 +486,14 @@ export class EditorMap {
});
}
for
(
let
deviceItem
in
this
.
allDevice
)
{
// if (companyArr.indexOf(+deviceItem+'') >= 0) {
// this.allDevice[deviceItem].forEach((device) => {
// device.show();
// });
// } else {
// this.allDevice[deviceItem].forEach((device) => {
// device.hide();
// });
// }
console
.
log
(
this
.
allDevice
);
this
.
allDevice
[
deviceItem
].
forEach
((
device
)
=>
{
const
data
=
device
.
getExtData
();
// 燃气没有公司,所以没有device.companyType不收到公司的控制
const
companyHas
=
companyArr
.
indexOf
(
data
.
companyType
+
""
)
>=
0
;
if
(
companyArr
.
indexOf
(
data
.
companyType
+
""
)
>=
0
||
!
data
.
companyType
)
{
// 必须设备存在数组里,才会显示设备 !data.companyType代表用户不受公司制约
if
(
companyHas
||
!
data
.
companyType
)
{
device
.
show
();
}
else
{
device
.
hide
();
...
...
@@ -493,10 +501,33 @@ export class EditorMap {
});
}
}
// 根据设备类型隐藏展示
iconTypeFilter
(
typeArr
)
{
for
(
let
deviceItem
in
this
.
allDevice
)
{
this
.
allDevice
[
deviceItem
].
forEach
((
device
)
=>
{
if
(
typeArr
.
indexOf
(
deviceItem
+
""
)
>=
0
)
{
device
.
show
();
}
else
{
device
.
hide
();
}
});
}
}
// 公司改变,先调用设备方法,在调用公司方法
companyChange
(
companyArr
,
typeArr
)
{
this
.
iconTypeFilter
(
typeArr
);
this
.
companyFilter
(
companyArr
);
}
// 设备选择,先调用公司方法,在调用设备方法覆盖
deviceChange
(
companyArr
,
typeArr
)
{
this
.
companyFilter
(
companyArr
);
this
.
iconTypeFilter
(
typeArr
);
}
// 卫星图切换
satellite
=
null
;
changeMap
(
bool
)
{
// 卫星
图
// 卫星
,
if
(
!
bool
)
{
if
(
this
.
satellite
)
return
;
this
.
satellite
=
new
AMap
.
TileLayer
.
Satellite
();
...
...
gassafetyprogress-web/src/views/regulation/pipe/index.vue
View file @
de27e761
...
...
@@ -269,6 +269,8 @@ export default {
coordinateslist
:
null
,
// 遮罩层
loading
:
true
,
pipeList
:[],
// 导出遮罩层
exportLoading
:
false
,
// 选中数组
...
...
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