Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Contribute to GitLab
Sign in / Register
Toggle navigation
G
gassafety
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
Commits
f59905ec
Commit
f59905ec
authored
Jul 21, 2021
by
纪泽龙
Browse files
Options
Browse Files
Download
Plain Diff
与jzl
parents
dbb92d2d
b86fdc9d
Expand all
Show whitespace changes
Inline
Side-by-side
Showing
8 changed files
with
10269 additions
and
405 deletions
+10269
-405
closeBtn.png
gassafety-web/src/assets/images/closeBtn.png
+0
-0
gassafety.scss
gassafety-web/src/assets/styles/gassafety.scss
+135
-106
lineInfoWindow.vue
gassafety-web/src/components/PopWindow/lineInfoWindow.vue
+142
-0
pipelineView.vue
gassafety-web/src/components/PopWindow/pipelineView.vue
+107
-0
main.js
gassafety-web/src/main.js
+2
-1
gaodeMap.js
gassafety-web/src/utils/gaodeMap.js
+357
-159
index.vue
gassafety-web/src/views/enterprise/map/index.vue
+167
-139
yarn.lock
gassafety-web/yarn.lock
+9359
-0
No files found.
gassafety-web/src/assets/images/closeBtn.png
0 → 100644
View file @
f59905ec
440 Bytes
gassafety-web/src/assets/styles/gassafety.scss
View file @
f59905ec
/**
/**
* 通用css样式布局处理
* Copyright (c) 2019 gassafety
*/
/** 基础通用 **/
/** 基础通用 **/
.pt5
{
padding-top
:
5px
;
}
...
...
@@ -53,20 +53,49 @@
margin-left
:
20px
;
}
.el-dialog
:not
(
.is-fullscreen
)
{
.el-dialog
:not
(
.is-fullscreen
)
{
margin-top
:
6vh
!
important
;
}
.el-table
{
.el-table__header-wrapper
,
.el-table__fixed-header-wrapper
{
.el-table__header-wrapper
,
.el-table__fixed-header-wrapper
{
th
{
word-break
:
break-word
;
background-color
:
#f8f8f9
;
color
:
#515a6e
;
background-color
:
#053b6a
;
color
:
#fff
;
height
:
40px
;
font-size
:
13px
;
}
}
.el-table__body-wrapper
{
.el-table__row
:nth-child
(
2n
+
1
)
{
background-color
:
#e6e6e6
;
// &:hover {
// td {
// background-color: #f4f4f4;
// }
// }
td
{
.cell
{
color
:
#525252
;
}
}
}
.el-table__row
:nth-child
(
2n
)
{
background-color
:
#f4f4f4
;
// &:hover {
// td {
// background-color: #e6e6e6;
// }
// }
td
{
.cell
{
color
:
#053b6a
;
}
}
}
}
.el-table__body-wrapper
{
.el-button
[
class
*=
"el-icon-"
]
+
span
{
margin-left
:
1px
;
...
...
@@ -76,11 +105,11 @@
/** 表单布局 **/
.form-header
{
font-size
:
15px
;
color
:
#6379bb
;
border-bottom
:
1px
solid
#ddd
;
margin
:
8px
10px
25px
10px
;
padding-bottom
:
5px
font-size
:
15px
;
color
:
#6379bb
;
border-bottom
:
1px
solid
#ddd
;
margin
:
8px
10px
25px
10px
;
padding-bottom
:
5px
;
}
/** 表格布局 **/
...
...
@@ -96,8 +125,8 @@
.tree-border
{
margin-top
:
5px
;
border
:
1px
solid
#e5e6e7
;
background
:
#FFFFFF
none
;
border-radius
:
4px
;
background
:
#ffffff
none
;
border-radius
:
4px
;
}
.pagination-container
.el-pagination
{
...
...
@@ -158,22 +187,22 @@
/* button color */
.el-button--cyan.is-active
,
.el-button--cyan
:active
{
background
:
#20
B2AA
;
border-color
:
#20
B2AA
;
color
:
#
FFFFFF
;
background
:
#20
b2aa
;
border-color
:
#20
b2aa
;
color
:
#
ffffff
;
}
.el-button--cyan
:focus
,
.el-button--cyan
:hover
{
background
:
#48
D1CC
;
border-color
:
#48
D1CC
;
color
:
#
FFFFFF
;
background
:
#48
d1cc
;
border-color
:
#48
d1cc
;
color
:
#
ffffff
;
}
.el-button--cyan
{
background-color
:
#20
B2AA
;
border-color
:
#20
B2AA
;
color
:
#
FFFFFF
;
background-color
:
#20
b2aa
;
border-color
:
#20
b2aa
;
color
:
#
ffffff
;
}
/* text color */
...
...
@@ -227,10 +256,10 @@
}
/* 拖拽列样式 */
.sortable-ghost
{
opacity
:
.8
;
color
:
#fff
!
important
;
background
:
#42b983
!
important
;
.sortable-ghost
{
opacity
:
0
.8
;
color
:
#fff
!
important
;
background
:
#42b983
!
important
;
}
.top-right-btn
{
...
...
gassafety-web/src/components/PopWindow/lineInfoWindow.vue
0 → 100644
View file @
f59905ec
<
template
>
<div
class=
"wrapper"
>
<div
class=
"top display-default"
>
<div
class=
"left text"
>
裕华路地埋管线
</div>
<div
class=
"right text"
>
<img
src=
"../../assets/images/closeBtn.png"
alt=
""
/>
</div>
</div>
<!-- 设备信息 -->
<div
class=
"eq-content display-default"
>
<div
class=
"text-wrapper"
>
<div
class=
"eq-text"
>
设备编号:
<span>
aa
</span></div>
<div
class=
"eq-text"
>
设备名称:
<span>
裕华路地埋管线
</span></div>
<div
class=
"eq-text"
>
监测介质:
<span>
甲烷
</span></div>
<div
class=
"eq-text"
>
设备状态:
<span>
报警
</span></div>
<div
class=
"eq-text"
>
用户信息:
<span>
中厨燃气
</span></div>
</div>
<div
class=
"pic"
>
<img
src=
""
alt=
""
/>
</div>
</div>
<!-- 维修人员 -->
<div
class=
"maintain-content"
>
<div>
姓名:
<span>
高雄
</span></div>
<div>
电话:
<span>
13512451234
</span></div>
<div>
详细信息:
<span>
管线两端设备压差较大,管线可能泄漏
</span></div>
</div>
<!-- 报警状态 -->
<div
class=
"warn-content"
>
<div>
报警状态
<span>
报警
</span></div>
<div>
详细信息:
<span>
管线两端设备压差较大,管线可能泄漏
</span></div>
</div>
<div
class=
"btn"
>
<el-button
class=
"elbtn"
type=
"primary"
>
生成工单
</el-button>
</div>
</div>
</
template
>
<
script
>
//line移入时的的infowindow
export
default
{
props
:
{
obj
:
{
typs
:
Object
},
},
};
</
script
>
<
style
lang=
"scss"
scoped
>
.wrapper
{
width
:
406px
;
height
:
488px
;
background
:
#fff
;
border-radius
:
4px
;
box-shadow
:
0px
3px
6px
rgba
(
0
,
0
,
0
,
0
.16
);
overflow
:
hidden
;
.top
{
width
:
100%
;
height
:
51px
;
background-color
:
#ff5a67
;
.text
{
font-weight
:
600
;
font-size
:
16px
;
color
:
#ffffff
;
line-height
:
51px
;
}
.left
{
padding-left
:
22px
;
}
.right
{
padding-right
:
16px
;
}
}
.eq-content
{
height
:
156px
;
box-sizing
:
border-box
;
padding
:
13px
16px
13px
22px
;
border-bottom
:
1px
solid
#e2e2e2
;
.text-wrapper
{
padding-top
:
1px
;
&
>
div
{
margin-bottom
:
6px
;
}
.eq-text
{
font-size
:
14px
;
font-weight
:
400
;
color
:
#1d1d1d
;
opacity
:
1
;
}
}
.pic
{
width
:
177px
;
height
:
129px
;
background-color
:
black
;
img
{
width
:
100%
;
}
}
}
.maintain-content
{
width
:
100%
;
height
:
109px
;
padding-left
:
22px
;
padding-top
:
16px
;
box-sizing
:
border-box
;
border-bottom
:
1px
solid
#e2e2e2
;
&
>
div
{
margin-bottom
:
8px
;
font-size
:
14px
;
font-weight
:
400
;
}
}
.warn-content
{
height
:
82px
;
box-sizing
:
border-box
;
padding
:
8px
0
0
22px
;
border-bottom
:
1px
solid
#e2e2e2
;
&
>
div
{
font-size
:
14px
;
font-weight
:
400
;
margin-bottom
:
8px
;
}
}
.btn
{
padding-top
:
32px
;
text-align
:
center
;
.elbtn
{
background-color
:
#053b6a
;
box-shadow
:
0px
3px
6px
rgba
(
0
,
0
,
0
,
0
.16
);
width
:
95px
;
height
:
33px
;
}
}
}
.display-default
{
display
:
flex
;
justify-content
:
space-between
;
}
</
style
>
\ No newline at end of file
gassafety-web/src/components/PopWindow/pipelineView.vue
0 → 100644
View file @
f59905ec
<
template
>
<el-dialog
title=
"新增"
:visible
.
sync=
"dialogVisible"
width=
"80%"
:before-close=
"handleClose"
>
<el-form
ref=
"editForm"
:model=
"editForm"
label-width=
"120px"
size=
"mini"
>
<el-form-item
label=
"所属燃气公司"
prop=
"a"
>
<el-input
v-model=
"editForm.title"
></el-input>
</el-form-item>
<el-form-item
label=
"名称"
prop=
"b"
>
<el-input
></el-input>
</el-form-item>
<el-form-item
label=
"地址"
prop=
"c"
>
<el-input></el-input>
</el-form-item>
<el-form-item
label=
"联系人"
prop=
"d"
>
<el-input></el-input>
</el-form-item>
<el-form-item
label=
"电话"
prop=
"e"
>
<el-input></el-input>
</el-form-item>
<el-form-item
label=
"型号"
prop=
"f"
>
<el-input></el-input>
</el-form-item>
<el-form-item
label=
"安装日期"
prop=
"g"
>
<el-col
:span=
"11"
>
<el-date-picker
type=
"date"
placeholder=
"选择日期"
style=
"width: 100%;"
></el-date-picker>
</el-col>
</el-form-item>
<el-form-item
label=
"最后巡检日期"
prop=
"k"
>
<el-col
:span=
"11"
>
<el-date-picker
type=
"date"
placeholder=
"选择日期"
style=
"width: 100%;"
></el-date-picker>
</el-col>
</el-form-item>
<el-form-item
label=
"备注信息"
prop=
"l"
>
<el-input
type=
"textarea"
></el-input>
</el-form-item>
</el-form>
<span
slot=
"footer"
class=
"dialog-footer"
>
<el-button
@
click=
"dialogVisible = false"
>
取 消
</el-button>
<el-button
type=
"primary"
@
click=
"ok"
>
确 定
</el-button>
</span>
</el-dialog>
</
template
>
<
script
>
export
default
{
props
:
{
title
:
{
type
:
String
},
lineOkCallBack
:{
type
:
Function
},
gaodeMap
:{
type
:
Object
},
target
:{
type
:
Object
},
//message: { type: String },
//duration: { type: Number, default: 2000 }
},
data
()
{
return
{
// isShow: false,
editForm
:
{},
dialogVisible
:
false
,
}
},
methods
:
{
ok
(){
this
.
dialogVisible
=
false
;
this
.
lineOkCallBack
.
call
(
this
.
gaodeMap
,
this
.
target
);
},
show
()
{
//this.isShow = true;
this
.
dialogVisible
=
true
;
/*setTimeout(() => {
this.hide()
}, this.duration)*/
},
hide
()
{
this
.
isShow
=
false
this
.
remove
()
},
handleClose
(
done
)
{
this
.
$confirm
(
'确认关闭?'
)
.
then
(
_
=>
{
done
();
})
.
catch
(
_
=>
{});
}
}
}
</
script
>
<
style
lang=
"scss"
>
.notice
{
background
:
white
;
position
:
fixed
;
top
:
102px
;
right
:
0
;
left
:
0
;
margin
:
auto
;
width
:
80%
;
height
:
80%
;
border
:
solid
1px
;
}
</
style
>
gassafety-web/src/main.js
View file @
f59905ec
...
...
@@ -65,9 +65,10 @@ Vue.use(Element, {
Vue
.
config
.
productionTip
=
false
new
Vue
({
let
vue
=
new
Vue
({
el
:
'#app'
,
router
,
store
,
render
:
h
=>
h
(
App
)
})
export
default
vue
\ No newline at end of file
gassafety-web/src/utils/gaodeMap.js
View file @
f59905ec
This diff is collapsed.
Click to expand it.
gassafety-web/src/views/enterprise/map/index.vue
View file @
f59905ec
<
template
>
<div>
<div
style=
"width: 100vw;height: 100vh"
id=
"container"
></div>
<div
style=
"width: 100vw;
height: 100vh"
id=
"container"
></div>
<!--
<div
class=
"input-card"
style=
'width: 24rem;'
>
<div
class=
"input-item"
>
<input
type=
"radio"
name=
'func'
value=
'marker'
><span
class=
"input-text"
>
画点
</span>
...
...
@@ -16,107 +16,133 @@
<input
id=
"close"
type=
"button"
class=
"btn"
value=
"关闭绘图"
/>
</div>
</div>
-->
<el-button
type=
"primary"
style=
"position: absolute;top: 100px;left: 75%"
@
click=
"addDevice"
>
新增
</el-button>
<el-button
type=
"primary"
style=
"position: absolute;top: 100px;left: 82%"
@
click=
"editDevice"
>
编辑
</el-button>
<el-button
type=
"primary"
style=
"position: absolute;top: 100px;left: 90%"
@
click=
"deleteDevice"
>
删除
</el-button>
<el-select
v-model=
"value"
placeholder=
"请选择..."
@
change=
"selectDeviceType"
style=
"position: absolute;top: 150px;left: 75%"
v-if=
"deviceType"
>
<el-button
type=
"primary"
style=
"position: absolute; top: 100px; left: 75%"
@
click=
"addDevice"
>
新增
</el-button
>
<el-button
type=
"primary"
style=
"position: absolute; top: 100px; left: 82%"
@
click=
"editDevice"
>
编辑
</el-button
>
<el-button
type=
"primary"
style=
"position: absolute; top: 100px; left: 90%"
@
click=
"deleteDevice"
>
删除
</el-button
>
<el-select
v-model=
"value"
placeholder=
"请选择..."
@
change=
"selectDeviceType"
style=
"position: absolute; top: 150px; left: 75%"
v-if=
"deviceType"
>
<el-option
label=
"管道"
value=
"1"
></el-option>
<el-option
label=
"调压箱"
value=
"2"
></el-option>
<el-option
label=
"阀门井"
value=
"3"
></el-option>
<el-option
label=
"流量计"
value=
"4"
></el-option>
<el-option
label=
"值班人员"
value=
"5"
></el-option>
</el-select>
</div>
</
template
>
<
script
>
import
gaodeMap
from
"utils/gaodeMap.js"
import
{
map
,
DEVICE_TYPE
,
mapOperateType
}
from
"utils/gaodeMap.js"
export
default
{
import
gaodeMap
from
"utils/gaodeMap.js"
;
import
{
map
,
DEVICE_TYPE
,
mapOperateType
}
from
"utils/gaodeMap.js"
;
export
default
{
data
()
{
return
{
gaoMap
:
null
,
deviceType
:
false
,
value
:
""
,
operateType
:
""
gaoMap
:
null
,
deviceType
:
false
,
value
:
""
,
operateType
:
""
,
};
},
mounted
()
{
let
gaoMap
=
new
gaodeMap
(
"石家庄"
);
this
.
gaoMap
=
gaoMap
;
let
lnglats
=
[
[
114.497949
,
38.121129
],
[
114.595972
,
38.114511
],
[
114.443193
,
37.990963
],
[
114.588419
,
37.969449
],
[
114.522668
,
38.042962
],
[
114.383966
,
38.091548
]
[
114.497949
,
38.121129
],
[
114.595972
,
38.114511
],
[
114.443193
,
37.990963
],
[
114.588419
,
37.969449
],
[
114.522668
,
38.042962
],
[
114.383966
,
38.091548
],
];
gaoMap
.
addMarker
(
DEVICE_TYPE
.
REGEULATORBOX
,
lnglats
)
gaoMap
.
addMarker
(
DEVICE_TYPE
.
REGEULATORBOX
,
lnglats
);
let
path
=
[
[
[
114.436698
,
38.083306
],
[
114.57952
,
38.065468
],
[
114.57952
,
38.002732
],
[
114.440131
,
38.006519
],
[
114.436698
,
38.083306
]
[
114.436698
,
38.083306
],
[
114.57952
,
38.065468
],
[
114.57952
,
38.002732
],
[
114.440131
,
38.006519
],
[
114.436698
,
38.083306
],
],
[
[
114.528708
,
38.075198
],
[
114.530768
,
38.00165
]
]
]
[
114.528708
,
38.075198
],
[
114.530768
,
38.00165
],
],
];
gaoMap
.
addPolyline
(
path
);
gaoMap
.
addMouseTool
();
},
methods
:
{
addDevice
()
{
methods
:
{
addDevice
()
{
this
.
deviceType
=
true
;
this
.
gaoMap
.
mapOperateType
=
"add"
;
this
.
gaoMap
.
removeMarkerDragg
();
},
editDevice
()
{
editDevice
()
{
this
.
deviceType
=
false
;
this
.
gaoMap
.
lineType
=
2
;
this
.
gaoMap
.
mapOperateType
=
"edit"
;
this
.
gaoMap
.
addMarkerDragg
();
},
deleteDevice
()
{
deleteDevice
()
{
this
.
deviceType
=
false
;
this
.
gaoMap
.
mapOperateType
=
"delete"
;
this
.
gaoMap
.
removeMarkerDragg
();
},
selectDeviceType
(
val
)
{
selectDeviceType
(
val
)
{
// if("add" == this.operationType){
this
.
gaoMap
.
draw
(
val
)
this
.
gaoMap
.
draw
(
val
);
// }
this
.
deviceType
=
false
;
this
.
value
=
""
;
// 如果选择的是新建管道
if
(
val
==
1
)
{
this
.
gaoMap
.
lineType
=
1
;
this
.
gaoMap
.
createNewLine
();
}
}
};
},
},
};
</
script
>
<
style
lang=
"scss"
scoped
>
.input-card
{
.input-card
{
display
:
flex
;
flex-direction
:
column
;
min-width
:
0
;
word-wrap
:
break-word
;
background-color
:
#fff
;
background-clip
:
border-box
;
border-radius
:
.25rem
;
border-radius
:
0
.25rem
;
width
:
22rem
;
border-width
:
0
;
border-radius
:
0
.4rem
;
box-shadow
:
0
2px
6px
0
rgba
(
114
,
124
,
245
,
.5
);
box-shadow
:
0
2px
6px
0
rgba
(
114
,
124
,
245
,
0
.5
);
position
:
fixed
;
bottom
:
1rem
;
right
:
1rem
;
-ms-flex
:
1
1
auto
;
flex
:
1
1
auto
;
padding
:
0
.75rem
1
.25rem
;
}
}
.input-item
{
.input-item
{
position
:
relative
;
display
:
-
ms-flexbox
;
display
:
flex
;
...
...
@@ -126,16 +152,17 @@
align-items
:
center
;
width
:
100%
;
height
:
2
.2rem
;
}
input
[
type
=
checkbox
],
input
[
type
=
radio
]
{
}
input
[
type
=
"checkbox"
],
input
[
type
=
"radio"
]
{
box-sizing
:
border-box
;
padding
:
0
;
-webkit-box-sizing
:
border-box
;
box-sizing
:
border-box
;
padding
:
0
;
margin
:
0
0
.5rem
0
0
;
}
.btn
{
}
.btn
{
display
:
inline-block
;
font-weight
:
400
;
text-align
:
center
;
...
...
@@ -146,28 +173,29 @@
-ms-user-select
:
none
;
user-select
:
none
;
border
:
1px
solid
transparent
;
transition
:
color
.15s
ease-in-out
,
background-color
.15s
ease-in-out
,
border-color
.15s
ease-in-out
,
box-shadow
.15s
ease-in-out
;
transition
:
color
0
.15s
ease-in-out
,
background-color
0
.15s
ease-in-out
,
border-color
0
.15s
ease-in-out
,
box-shadow
0
.15s
ease-in-out
;
background-color
:
transparent
;
background-image
:
none
;
color
:
#25A5F
7
;
border-color
:
#25A5F
7
;
padding
:
.25rem
.5rem
;
color
:
#25a5f
7
;
border-color
:
#25a5f
7
;
padding
:
0
.25rem
0
.5rem
;
line-height
:
1
.5
;
border-radius
:
1rem
;
-webkit-appearance
:
button
;
cursor
:
pointer
;
cursor
:
pointer
;
width
:
6rem
;
margin
:
0
1rem
0
2rem
;
}
}
.btn
:hover
{
.btn
:hover
{
color
:
#fff
;
background-color
:
#25A5F
7
;
border-color
:
#25A5F7
}
.input-text
{
background-color
:
#25a5f
7
;
border-color
:
#25a5f7
;
}
.input-text
{
width
:
4rem
;
margin-right
:
1rem
;
}
margin-right
:
1rem
;
}
</
style
>
gassafety-web/yarn.lock
0 → 100644
View file @
f59905ec
This diff is collapsed.
Click to expand it.
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