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
e0bc00a6
Commit
e0bc00a6
authored
3 years ago
by
纪泽龙
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
优化上传图片预览
parent
7227c3b9
Hide whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
609 additions
and
457 deletions
+609
-457
gassafety.scss
gassafety-web/src/assets/styles/gassafety.scss
+3
-1
index.vue
gassafety-web/src/components/MyFileUpload/index.vue
+17
-3
gaodeMapView.js
gassafety-web/src/utils/gaodeMapView.js
+23
-5
RightBototmData.vue
...c/views/enterprise/mapView/components/RightBototmData.vue
+26
-13
index.vue
gassafety-web/src/views/enterprise/mapView/index.vue
+0
-1
detail.vue
gassafety-web/src/views/workOrder/basicsInfo/detail.vue
+540
-434
No files found.
gassafety-web/src/assets/styles/gassafety.scss
View file @
e0bc00a6
...
@@ -291,4 +291,6 @@
...
@@ -291,4 +291,6 @@
}
}
}
}
// background-color: ;
// background-color: ;
}
\ No newline at end of file
}
// 图片预览
This diff is collapsed.
Click to expand it.
gassafety-web/src/components/MyFileUpload/index.vue
View file @
e0bc00a6
...
@@ -32,15 +32,24 @@
...
@@ -32,15 +32,24 @@
</
template
>
</
template
>
的文件
的文件
</div>
</div>
</el-upload>
</el-upload>
<el-dialog
<el-image
v-show=
"false"
id=
"img"
ref=
"previewImg"
:src=
"dialogImageUrl"
:preview-src-list=
"bigImageArr"
:z-index=
"9999999"
></el-image>
<!-- <el-dialog
:center="true"
:center="true"
width="50%"
width="50%"
:modal="modal"
:modal="modal"
:visible.sync="dialogVisible"
:visible.sync="dialogVisible"
>
>
<img :src="dialogImageUrl" alt="" />
<img :src="dialogImageUrl" alt="" />
</el-dialog>
</el-dialog> -->
<!-- 文件列表 -->
<!-- 文件列表 -->
<!-- <transition-group class="upload-file-list el-upload-list el-upload-list--text" name="el-fade-in-linear" tag="ul">
<!-- <transition-group class="upload-file-list el-upload-list el-upload-list--text" name="el-fade-in-linear" tag="ul">
<li :key="file.uid" class="el-upload-list__item ele-upload-list__item-content" v-for="(file, index) in list">
<li :key="file.uid" class="el-upload-list__item ele-upload-list__item-content" v-for="(file, index) in list">
...
@@ -123,6 +132,9 @@ export default {
...
@@ -123,6 +132,9 @@ export default {
return
[];
return
[];
}
}
},
},
bigImageArr
()
{
return
[
this
.
dialogImageUrl
]
},
},
},
methods
:
{
methods
:
{
// 上传前校检格式和大小
// 上传前校检格式和大小
...
@@ -197,7 +209,9 @@ export default {
...
@@ -197,7 +209,9 @@ export default {
this
.
dialogImageUrl
=
file
.
response
?
file
.
response
.
url
:
file
.
url
;
this
.
dialogImageUrl
=
file
.
response
?
file
.
response
.
url
:
file
.
url
;
// this.dialogImageUrl =if(this.fileArr) this.fileArr[0].url;
// this.dialogImageUrl =if(this.fileArr) this.fileArr[0].url;
this
.
dialogVisible
=
true
;
// this.dialogVisible = true;
this
.
$refs
.
previewImg
.
showViewer
=
true
;
console
.
log
(
file
);
console
.
log
(
file
);
// console.log(file.response.url)
// console.log(file.response.url)
},
},
...
...
This diff is collapsed.
Click to expand it.
gassafety-web/src/utils/gaodeMapView.js
View file @
e0bc00a6
...
@@ -159,7 +159,10 @@ class gaodeMap {
...
@@ -159,7 +159,10 @@ class gaodeMap {
offset
:
new
AMap
.
Pixel
(
0
,
5
)
offset
:
new
AMap
.
Pixel
(
0
,
5
)
});
});
this
.
setMarkerIcon
(
marker
);
this
.
setMarkerIcon
(
marker
);
if
(
DEVICE_TYPE
.
WORKORDER
!=
markerType
&&
DEVICE_TYPE
.
INSPECTOR
!=
markerType
)
{
if
(
DEVICE_TYPE
.
WORKORDER
!=
markerType
&&
DEVICE_TYPE
.
INSPECTOR
!=
markerType
)
{
marker
.
content
=
this
.
getMarketContent
(
data
);
marker
.
content
=
this
.
getMarketContent
(
data
);
marker
.
on
(
"mouseover"
,
infoOpen
);
marker
.
on
(
"mouseover"
,
infoOpen
);
marker
.
on
(
"mouseout"
,
infoClose
);
marker
.
on
(
"mouseout"
,
infoClose
);
...
@@ -238,16 +241,29 @@ class gaodeMap {
...
@@ -238,16 +241,29 @@ class gaodeMap {
}
}
function
infoOpen
(
e
)
{
function
infoOpen
(
e
)
{
// 如果有cloneDom就删了
// 删除克隆出来的线的clonedom
console
.
log
(
that
.
cloneDom
);
// 删除克隆出来的clonedom
that
.
removeCloneDom
();
let
options
=
map
.
getStatus
();
let
options
=
map
.
getStatus
();
options
.
scrollWheel
=
false
;
options
.
scrollWheel
=
false
;
map
.
setStatus
(
options
);
map
.
setStatus
(
options
);
infoWindow
.
setContent
(
e
.
target
.
content
);
infoWindow
.
setContent
(
e
.
target
.
content
);
infoWindow
.
open
(
map
,
e
.
target
.
getPosition
());
infoWindow
.
open
(
map
,
e
.
target
.
getPosition
());
console
.
log
(
infoWindow
.
dom
);
// 这个是为了盖住vue里的东西
e
.
target
.
cloneDom
=
infoWindow
.
dom
.
cloneNode
(
true
);
// console.log(infoWindow.dom.offsetLeft);
// console.log(infoWindow.dom);
e
.
target
.
cloneDom
.
style
.
top
=
infoWindow
.
dom
.
offsetTop
+
80
+
"px"
;
e
.
target
.
cloneDom
.
style
.
left
=
infoWindow
.
dom
.
offsetLeft
+
100
+
"px"
;
// 先删除之前的,后增加现在的
// this.removeCloneDom();
that
.
removeCloneDom
();
document
.
body
.
appendChild
(
e
.
target
.
cloneDom
);
that
.
markerCloneDom
=
e
.
target
.
cloneDom
;
infoWindow
.
close
();
that
.
markerInfoWindow
=
infoWindow
;
that
.
markerInfoWindow
=
infoWindow
;
}
}
}
}
...
@@ -539,7 +555,9 @@ class gaodeMap {
...
@@ -539,7 +555,9 @@ class gaodeMap {
removeCloneDom
()
{
removeCloneDom
()
{
this
.
cloneDom
&&
document
.
body
.
removeChild
(
this
.
cloneDom
);
this
.
cloneDom
&&
document
.
body
.
removeChild
(
this
.
cloneDom
);
this
.
markerCloneDom
&&
document
.
body
.
removeChild
(
this
.
markerCloneDom
);
this
.
cloneDom
=
null
;
this
.
cloneDom
=
null
;
this
.
markerCloneDom
=
null
;
}
}
// 创建一条新的线
// 创建一条新的线
...
...
This diff is collapsed.
Click to expand it.
gassafety-web/src/views/enterprise/mapView/components/RightBototmData.vue
View file @
e0bc00a6
...
@@ -10,14 +10,16 @@
...
@@ -10,14 +10,16 @@
</div>
</div>
<div
class=
"right"
>
<div
class=
"right"
>
<template
v-for=
"item in list"
>
<template
v-for=
"item in list"
>
<div
class=
"right-content"
:key=
"item.type"
>
<div
class=
"right-content"
:key=
"item.type"
>
<div
class=
"text-icon"
>
<div
class=
"text-icon"
>
<i
class=
"iconfont
icon-gdcd
"
></i>
<i
class=
"iconfont
"
:class=
"iconClass(item)
"
></i>
</div>
</div>
<div
class=
"text"
>
<div
class=
"text"
>
<div
class=
"top"
>
{{
typeName
[
item
.
type
]
}}
</div>
<div
class=
"top"
>
{{
typeName
[
item
.
type
]
}}
</div>
<div
class=
"bottom"
>
{{
item
.
number
}}{{
item
.
type
==
99
?
"KM"
:
"个"
}}
</div>
<div
class=
"bottom"
>
{{
item
.
number
}}{{
item
.
type
==
99
?
"KM"
:
"个"
}}
</div>
</div>
</div>
</div>
</div>
</
template
>
</
template
>
...
@@ -32,21 +34,32 @@ export default {
...
@@ -32,21 +34,32 @@ export default {
type
:
Array
,
type
:
Array
,
},
},
},
},
data
(){
data
()
{
return
{
return
{
typeName
:{
typeName
:
{
"1"
:
"调压箱"
,
1
:
"调压箱"
,
"2"
:
"阀门井"
,
2
:
"阀门井"
,
"3"
:
"流量计"
,
3
:
"流量计"
,
"4"
:
"压力表"
,
4
:
"压力表"
,
"99"
:
"管道"
,
99
:
"管道"
,
},
},
// type
iconList
:
{
}
1
:
"icon-tyx"
,
2
:
"icon-fmj"
,
3
:
"icon-llj"
,
4
:
"icon-ylb"
,
99
:
"icon-gdcd"
,
},
};
},
},
created
()
{
created
()
{
console
.
log
(
"list"
,
this
.
list
);
console
.
log
(
"list"
,
this
.
list
);
},
},
methods
:
{
iconClass
(
item
)
{
return
this
.
iconList
[
item
.
type
]
},
},
};
};
</
script
>
</
script
>
...
...
This diff is collapsed.
Click to expand it.
gassafety-web/src/views/enterprise/mapView/index.vue
View file @
e0bc00a6
...
@@ -375,7 +375,6 @@ export default {
...
@@ -375,7 +375,6 @@ export default {
});
});
},
},
getInspectionDataByInspector
(){
getInspectionDataByInspector
(){
this
.
gaoMap
.
addMarker
(
this
.
gaoMap
.
addMarker
(
DEVICE_TYPE
.
INSPECTOR
,
DEVICE_TYPE
.
INSPECTOR
,
{
longitude
:
114.525243
,
latitude
:
38.035002
}
{
longitude
:
114.525243
,
latitude
:
38.035002
}
...
...
This diff is collapsed.
Click to expand it.
gassafety-web/src/views/workOrder/basicsInfo/detail.vue
View file @
e0bc00a6
<
template
>
<
template
>
<div
class=
"app-container detail"
style=
"background-color: rgb(238, 241, 245);"
>
<div
<!-- 工单信息 -->
class=
"app-container detail"
<div
style=
"padding-top: 10px;background: #fff;height: 100%;"
>
style=
"background-color: rgb(238, 241, 245)"
<div>
>
<div
style=
"width: 5%;height: 50px;margin-left: 20px;"
@
click=
"$router.go(-1)"
>
<!-- 工单信息 -->
<el-button
<div
style=
"padding-top: 10px; background: #fff; height: 100%"
>
<div>
<div
style=
"width: 5%; height: 50px; margin-left: 20px"
@
click=
"$router.go(-1)"
>
<el-button
size=
"medium"
size=
"medium"
type=
"text"
type=
"text"
style=
"font-size: 18px; color: rgb(7, 63, 112);float: left;"
style=
"font-size: 18px; color: rgb(7, 63, 112); float: left"
>
返回
</el-button>
>
返回
</el-button
<div
style=
"float: left;margin-top: 8px;margin-left: 5px;"
><img
src=
"../../../assets/logo/fanhui.png"
style=
"width: 25px;"
alt=
""
></div>
>
</div>
<div
style=
"float: left; margin-top: 8px; margin-left: 5px"
>
<el-steps
:active=
"active"
finish-status=
"success"
simple
prop=
"orderStatus"
style=
"margin-top: 5px"
>
<img
<el-step
title=
"未接收"
></el-step>
src=
"../../../assets/logo/fanhui.png"
<el-step
title=
"已接收"
></el-step>
style=
"width: 25px"
<!--
<el-step
title=
"进行中"
></el-step>
-->
alt=
""
<el-step
title=
"已反馈"
></el-step>
/>
<el-step
title=
"已归档"
></el-step>
</div>
</el-steps>
</div>
</div>
<el-steps
:active=
"active"
finish-status=
"success"
simple
prop=
"orderStatus"
style=
"margin-top: 5px"
>
<el-step
title=
"未接收"
></el-step>
<el-step
title=
"已接收"
></el-step>
<!--
<el-step
title=
"进行中"
></el-step>
-->
<el-step
title=
"已反馈"
></el-step>
<el-step
title=
"已归档"
></el-step>
</el-steps>
</div>
<div
style=
"width: 100%;height: 280px;"
>
<div
style=
"width: 100%; height: 280px"
>
<el-divider></el-divider>
<el-divider></el-divider>
<div
style=
"color: #31EAEA;width: 30%;height: 40px;"
>
<div
style=
"color: #31eaea; width: 30%; height: 40px"
>
<ul><li>
详细信息
</li></ul>
<ul>
</div>
<li>
详细信息
</li>
<el-form
ref=
"form"
v-model=
"form"
:rules=
"rules"
label-width=
"100px"
style=
"float: left;margin-left: 50px;"
>
</ul>
<el-form-item
label=
"工单类型:"
prop=
"orderType"
>
</div>
<font
v-if=
"form.orderType == 1"
>
巡检信息
</font>
<el-form
<font
v-if=
"form.orderType == 2"
>
隐患信息
</font>
ref=
"form"
<font
v-if=
"form.orderType == 3"
>
报警信息
</font>
v-model=
"form"
</el-form-item>
:rules=
"rules"
<el-form-item
label=
"工单编号:"
prop=
"orderId"
>
label-width=
"100px"
<font>
{{
form
.
orderId
}}
</font>
style=
"float: left; margin-left: 50px"
</el-form-item>
>
<el-form-item
label=
"工单名称:"
prop=
"orderName"
>
<el-form-item
label=
"工单类型:"
prop=
"orderType"
>
<font>
{{
form
.
orderName
}}
</font>
<font
v-if=
"form.orderType == 1"
>
巡检信息
</font>
</el-form-item>
<font
v-if=
"form.orderType == 2"
>
隐患信息
</font>
<el-form-item
label=
"工单状态:"
prop=
"orderStatus"
>
<font
v-if=
"form.orderType == 3"
>
报警信息
</font>
<font
v-if=
"form.orderStatus == 0"
>
未接收
</font>
</el-form-item>
<font
v-if=
"form.orderStatus == 1"
>
已接收
</font>
<el-form-item
label=
"工单编号:"
prop=
"orderId"
>
<font
v-if=
"form.orderStatus == 2"
>
已反馈
</font>
<font>
{{
form
.
orderId
}}
</font>
<font
v-if=
"form.orderStatus == 3"
>
已归档
</font>
</el-form-item>
</el-form-item>
<el-form-item
label=
"工单名称:"
prop=
"orderName"
>
<el-form-item
label=
"指定执行人员:"
prop=
"appointInspectorName"
>
<font>
{{
form
.
orderName
}}
</font>
<font>
{{
form
.
appointInspectorName
}}
</font>
</el-form-item>
</el-form-item>
<el-form-item
label=
"工单状态:"
prop=
"orderStatus"
>
<el-form-item
label=
"工单描述:"
prop=
"remarks"
>
<font
v-if=
"form.orderStatus == 0"
>
未接收
</font>
<font>
{{
form
.
remarks
}}
</font>
<font
v-if=
"form.orderStatus == 1"
>
已接收
</font>
</el-form-item>
<font
v-if=
"form.orderStatus == 2"
>
已反馈
</font>
</el-form>
<font
v-if=
"form.orderStatus == 3"
>
已归档
</font>
<el-form
ref=
"form"
v-model=
"form"
:rules=
"rules"
label-width=
"100px"
style=
"float: left;width: 25%;"
>
</el-form-item>
<el-form-item
label=
"设备类型:"
prop=
"deviceType"
v-if=
"form.orderType != 1"
>
<el-form-item
label=
"指定执行人员:"
prop=
"appointInspectorName"
>
<font
v-if=
"form.deviceType == 0"
>
管道
</font>
<font>
{{
form
.
appointInspectorName
}}
</font>
<font
v-if=
"form.deviceType == 1"
>
调压阀
</font>
</el-form-item>
<font
v-if=
"form.deviceType == 2"
>
阀门井
</font>
<el-form-item
label=
"工单描述:"
prop=
"remarks"
>
<font
v-if=
"form.deviceType == 3"
>
流量计
</font>
<font>
{{
form
.
remarks
}}
</font>
<font
v-if=
"form.deviceType == 4"
>
压力表
</font>
</el-form-item>
</el-form-item>
</el-form>
<el-form-item
label=
"设备名称:"
prop=
"deviceName"
>
<el-form
<font
v-if=
"form.orderType != 1"
>
{{
form
.
deviceName
}}
</font>
ref=
"form"
<el-tree
v-model=
"form"
:data=
"deviceOptions"
:rules=
"rules"
:props=
"defaultProps"
label-width=
"100px"
:expand-on-click-node=
"false"
style=
"float: left; width: 25%"
ref=
"tree"
>
@
node-click=
"handleNodeClick"
<el-form-item
v-if=
"form.orderType == 1"
label=
"设备类型:"
/>
prop=
"deviceType"
</el-form-item>
v-if=
"form.orderType != 1"
<el-form-item
label=
"设备位置:"
v-if=
"form.orderType != 1"
>
>
<font>
{{
form
.
address
}}
</font>
<font
v-if=
"form.deviceType == 0"
>
管道
</font>
</el-form-item>
<font
v-if=
"form.deviceType == 1"
>
调压阀
</font>
<el-form-item
label=
"工单进度:"
v-if=
"form.orderType == 1"
>
<font
v-if=
"form.deviceType == 2"
>
阀门井
</font>
<font>
{{
form
.
finishNum
}}
/
{{
form
.
deviceNum
}}
</font>
<font
v-if=
"form.deviceType == 3"
>
流量计
</font>
</el-form-item>
<font
v-if=
"form.deviceType == 4"
>
压力表
</font>
<el-form-item
label=
"下发时间:"
prop=
"allotTime"
>
</el-form-item>
<font>
{{
form
.
allotTime
}}
</font>
<el-form-item
label=
"设备名称:"
prop=
"deviceName"
>
</el-form-item>
<font
v-if=
"form.orderType != 1"
>
{{
form
.
deviceName
}}
</font>
<!--
<el-form-item
label=
"接收时间:"
prop=
"actualTime"
>
<el-tree
:data=
"deviceOptions"
:props=
"defaultProps"
:expand-on-click-node=
"false"
ref=
"tree"
@
node-click=
"handleNodeClick"
v-if=
"form.orderType == 1"
/>
</el-form-item>
<el-form-item
label=
"设备位置:"
v-if=
"form.orderType != 1"
>
<font>
{{
form
.
address
}}
</font>
</el-form-item>
<el-form-item
label=
"工单进度:"
v-if=
"form.orderType == 1"
>
<font>
{{
form
.
finishNum
}}
/
{{
form
.
deviceNum
}}
</font>
</el-form-item>
<el-form-item
label=
"下发时间:"
prop=
"allotTime"
>
<font>
{{
form
.
allotTime
}}
</font>
</el-form-item>
<!--
<el-form-item
label=
"接收时间:"
prop=
"actualTime"
>
<font>
{{
form
.
actualTime
}}
</font>
<font>
{{
form
.
actualTime
}}
</font>
</el-form-item>
-->
</el-form-item>
-->
</el-form>
</el-form>
<div
id=
"marbox"
style=
"width: 700px;height: 250px;float: left;margin-top: -35px; border: 1px solid rgb(218, 213, 213);"
>
<div
<div
style=
"width: 100%;height: 100%"
id=
"container"
></div>
id=
"marbox"
</div>
style=
"
width: 700px;
height: 250px;
float: left;
margin-top: -35px;
border: 1px solid rgb(218, 213, 213);
"
>
<div
style=
"width: 100%; height: 100%"
id=
"container"
></div>
</div>
</div>
<!-- 接单信息 -->
</div>
<div
v-if=
"form.actualTime != '' && form.actualTime != null"
>
<!-- 接单信息 -->
<el-divider></el-divider>
<div
v-if=
"form.actualTime != '' && form.actualTime != null"
>
<div
style=
"color: #31EAEA;width: 100%;height: 40px;"
>
<el-divider></el-divider>
<ul><li>
接单信息
</li></ul>
<div
style=
"color: #31eaea; width: 100%; height: 40px"
>
</div>
<ul>
<el-form
ref=
"form"
v-model=
"form"
:rules=
"rules"
label-width=
"100px"
style=
"margin-left: 50px;height: 30px;width: 100%;"
>
<li>
接单信息
</li>
<el-form-item
label=
"接单人:"
prop=
"actualInspectorName"
style=
"float: left;width: 20%;"
>
</ul>
<font>
{{
form
.
actualInspectorName
}}
</font>
</el-form-item>
<el-form-item
label=
"接单时间:"
prop=
"actualTime"
style=
"float: left;"
>
<font>
{{
form
.
actualTime
}}
</font>
</el-form-item>
</el-form>
</div>
</div>
<!-- 反馈信息 -->
<el-form
<!--
<div
style=
"width: 100%;font-weight: 600;height: 200px;"
v-if=
"form.dealStatus != '' && form.dealStatus != null"
>
-->
ref=
"form"
<div
style=
"width: 100%;font-weight: 600;"
>
v-model=
"form"
<el-divider></el-divider>
:rules=
"rules"
<div
style=
"color: #31EAEA;width: 100%;height: 40px;"
>
label-width=
"100px"
<ul><li>
反馈信息
</li></ul>
style=
"margin-left: 50px; height: 30px; width: 100%"
</div>
>
<div
class=
"block"
style=
"width: 95%;margin-left: 2%;"
>
<el-form-item
<el-timeline>
label=
"接单人:"
<el-timeline-item
v-for=
"(activity, index) in form.feedbackList"
:key=
"index"
:timestamp=
"activity.feedbackTime"
>
prop=
"actualInspectorName"
<el-card>
style=
"float: left; width: 20%"
<div
style=
"width: 600px;float: left;"
>
>
<div
style=
" width: 600px;"
>
<font>
{{
form
.
actualInspectorName
}}
</font>
<div
style=
"float: left;margin-left: 50px; width: 250px;"
>
</el-form-item>
<p>
设备类型:
<el-form-item
label=
"接单时间:"
prop=
"actualTime"
style=
"float: left"
>
<font>
{{
form
.
actualTime
}}
</font>
</el-form-item>
</el-form>
</div>
<!-- 反馈信息 -->
<!--
<div
style=
"width: 100%;font-weight: 600;height: 200px;"
v-if=
"form.dealStatus != '' && form.dealStatus != null"
>
-->
<div
style=
"width: 100%; font-weight: 600"
>
<el-divider></el-divider>
<div
style=
"color: #31eaea; width: 100%; height: 40px"
>
<ul>
<li>
反馈信息
</li>
</ul>
</div>
<div
class=
"block"
style=
"width: 95%; margin-left: 2%"
>
<el-timeline>
<el-timeline-item
v-for=
"(activity, index) in form.feedbackList"
:key=
"index"
:timestamp=
"activity.feedbackTime"
>
<el-card>
<div
style=
"width: 600px; float: left"
>
<div
style=
"width: 600px"
>
<div
style=
"float: left; margin-left: 50px; width: 250px"
>
<p>
设备类型:
<span
v-if=
"activity.deviceType == 0"
>
管道
</span>
<span
v-if=
"activity.deviceType == 0"
>
管道
</span>
<span
v-if=
"activity.deviceType == 1"
>
调压箱
</span>
<span
v-if=
"activity.deviceType == 1"
>
调压箱
</span>
<span
v-if=
"activity.deviceType == 2"
>
阀门井
</span>
<span
v-if=
"activity.deviceType == 2"
>
阀门井
</span>
<span
v-if=
"activity.deviceType == 3"
>
流量计
</span>
<span
v-if=
"activity.deviceType == 3"
>
流量计
</span>
<span
v-if=
"activity.deviceType == 4"
>
压力表
</span>
<span
v-if=
"activity.deviceType == 4"
>
压力表
</span>
</p>
</p>
<p>
设备名称:
{{
activity
.
deviceName
}}
</p>
<p>
设备名称:
{{
activity
.
deviceName
}}
</p>
<p>
是否有隐患:
<p>
是否有隐患:
<span
v-if=
"activity.isHiddenDanger == 1"
>
是
</span>
<span
v-if=
"activity.isHiddenDanger == 1"
>
是
</span>
<span
v-if=
"activity.isHiddenDanger == 2"
>
否
</span>
<span
v-if=
"activity.isHiddenDanger == 2"
>
否
</span>
</p>
</p>
<div
style=
"width: 600px;"
>
<div
style=
"width: 600px"
>
<p>
反馈信息:
<p>
<span>
{{
activity
.
contents
}}
</span>
反馈信息:
<span>
{{
activity
.
contents
}}
</span>
</p>
</p>
</div>
</div>
</div>
</div>
<div
style=
"float: left;
margin-left: 50px; width: 250px;
"
>
<div
style=
"float: left;
margin-left: 50px; width: 250px
"
>
<p
v-if=
"activity.dealStatus == 3"
>
是否解决:未解决
</p>
<p
v-if=
"activity.dealStatus == 3"
>
是否解决:未解决
</p>
<p
v-if=
"activity.dealStatus != 3"
>
是否解决:已解决
</p>
<p
v-if=
"activity.dealStatus != 3"
>
是否解决:已解决
</p>
<p>
反馈时间:
{{
activity
.
feedbackTime
}}
</p>
<p>
反馈时间:
{{
activity
.
feedbackTime
}}
</p>
<p
v-if=
"activity.isHiddenDanger == 1"
>
处理状态:
<p
v-if=
"activity.isHiddenDanger == 1"
>
处理状态:
<span
v-if=
"activity.dealStatus == 1"
>
不需要处理
</span>
<span
v-if=
"activity.dealStatus == 1"
>
不需要处理
</span>
<span
v-if=
"activity.dealStatus == 2"
>
已处理完成
</span>
<span
v-if=
"activity.dealStatus == 2"
>
已处理完成
</span>
<span
v-if=
"activity.dealStatus == 3"
>
未处理完成
</span>
<span
v-if=
"activity.dealStatus == 3"
>
未处理完成
</span>
...
@@ -145,337 +213,375 @@
...
@@ -145,337 +213,375 @@
</div>
</div>
</div>
</div>
</div>
</div>
<div
class=
"feedbackTime-div"
>
<div
class=
"feedbackTime-div"
>
<div
class=
"feedbackTime"
>
<div
class=
"feedbackTime"
>
<el-image
:src=
"activity.pictureUrl1"
:preview-src-list=
"[activity.pictureUrl1]"
v-if=
"activity.pictureUrl1 != null && activity.pictureUrl1 != ''"
style=
"width: 90px;"
></el-image>
<el-image
</div>
:src=
"activity.pictureUrl1"
<div
class=
"feedbackTime"
>
:preview-src-list=
"[activity.pictureUrl1]"
<el-image
:src=
"activity.pictureUrl2"
:preview-src-list=
"[activity.pictureUrl2]"
v-if=
"activity.pictureUrl2 != null && activity.pictureUrl2 != ''"
style=
"width: 9s0px;"
></el-image>
v-if=
"
</div>
activity.pictureUrl1 != null &&
<div
class=
"feedbackTime"
>
activity.pictureUrl1 != ''
<el-image
:src=
"activity.pictureUrl3"
:preview-src-list=
"[activity.pictureUrl3]"
v-if=
"activity.pictureUrl3 != null && activity.pictureUrl3 != ''"
style=
"width: 90px;"
></el-image>
"
</div>
style=
"width: 90px"
></el-image>
</div>
</div>
</el-card>
<div
class=
"feedbackTime"
>
</el-timeline-item>
<el-image
</el-timeline>
:src=
"activity.pictureUrl2"
</div>
:preview-src-list=
"[activity.pictureUrl2]"
v-if=
"
activity.pictureUrl2 != null &&
activity.pictureUrl2 != ''
"
style=
"width: 9s0px"
></el-image>
</div>
<div
class=
"feedbackTime"
>
<el-image
:src=
"activity.pictureUrl3"
:preview-src-list=
"[activity.pictureUrl3]"
v-if=
"
activity.pictureUrl3 != null &&
activity.pictureUrl3 != ''
"
style=
"width: 90px"
></el-image>
</div>
</div>
</el-card>
</el-timeline-item>
</el-timeline>
</div>
</div>
<!-- 返回按钮 -->
</div>
</div>
<!-- 返回按钮 -->
</div>
</div>
</
template
>
</div>
</
template
>
<
script
>
<
script
>
import
{
import
{
listBasicsInfo
,
getBasicsInfo
,
delBasicsInfo
,
addBasicsInfo
,
updateBasicsInfo
,
exportBasicsInfo
}
from
"@/api/workOrder/basicsInfo"
;
listBasicsInfo
,
import
{
deviceTree
}
from
"@/api/device/deviceInfo"
;
getBasicsInfo
,
import
gaodeMap
from
"utils/gaodeMap.js"
;
delBasicsInfo
,
import
{
map
,
DEVICE_TYPE
}
from
"utils/gaodeMap.js"
;
addBasicsInfo
,
updateBasicsInfo
,
exportBasicsInfo
,
}
from
"@/api/workOrder/basicsInfo"
;
import
{
deviceTree
}
from
"@/api/device/deviceInfo"
;
import
gaodeMap
from
"utils/gaodeMap.js"
;
import
{
map
,
DEVICE_TYPE
}
from
"utils/gaodeMap.js"
;
export
default
{
export
default
{
name
:
"BasicsInfo"
,
name
:
"BasicsInfo"
,
components
:
{
components
:
{},
},
data
()
{
data
()
{
return
{
return
{
dialogImageUrl
:
""
,
dialogImageUrl
:
''
,
dialogVisible
:
false
,
dialogVisible
:
false
,
disabled
:
false
,
disabled
:
false
,
imageUrl
:
""
,
imageUrl
:
''
,
// 遮罩层
// 遮罩层
loading
:
true
,
loading
:
true
,
// 导出遮罩层
// 导出遮罩层
exportLoading
:
false
,
exportLoading
:
false
,
// 选中数组
// 选中数组
ids
:
[],
ids
:
[],
// 非单个禁用
// 非单个禁用
single
:
true
,
single
:
true
,
// 非多个禁用
// 非多个禁用
multiple
:
true
,
multiple
:
true
,
// 显示搜索条件
// 显示搜索条件
showSearch
:
true
,
showSearch
:
true
,
// 总条数
// 总条数
total
:
0
,
total
:
0
,
// 工单基础信息表格数据
// 工单基础信息表格数据
basicsInfoList
:
[],
basicsInfoList
:
[],
// feedbackList: [],
// feedbackList: [],
// 弹出层标题
// 弹出层标题
title
:
""
,
title
:
""
,
// 是否显示弹出层
// 是否显示弹出层
open
:
false
,
open
:
false
,
// 工单状态字典
// 工单状态字典
typeOptions
:
[],
typeOptions
:
[],
pickerOptions
:
[],
pickerOptions
:[],
// 工单类型字典
// 工单类型字典
ordertypeOptions
:
[],
ordertypeOptions
:
[],
// 设备树选项
// 设备树选项
deviceOptions
:
[
deviceOptions
:
[
{
{
label
:
"设备列表"
,
label
:
"设备列表"
,
childList
:
[],
childList
:
[]
}
],
defaultProps
:
{
children
:
"childList"
,
label
:
"label"
},
// 查询参数
queryParams
:
{
pageNum
:
1
,
pageSize
:
10
,
orderType
:
null
,
orderName
:
null
,
orderStatus
:
null
,
appointInspector
:
null
,
allotTime
:
null
,
actualInspector
:
null
,
actualTime
:
null
,
remarks
:
null
},
},
// 表单参数
],
form
:
{},
defaultProps
:
{
// 表单校验
children
:
"childList"
,
rules
:
{
label
:
"label"
,
},
},
active
:
0
,
// 查询参数
orderId
:
""
queryParams
:
{
};
pageNum
:
1
,
pageSize
:
10
,
orderType
:
null
,
orderName
:
null
,
orderStatus
:
null
,
appointInspector
:
null
,
allotTime
:
null
,
actualInspector
:
null
,
actualTime
:
null
,
remarks
:
null
,
},
// 表单参数
form
:
{},
// 表单校验
rules
:
{},
active
:
0
,
orderId
:
""
,
};
},
created
()
{
// 如果是跳转来的,则接受初始化参数
// this.user_id = this.$route.query.id; //详细信息页接收参数
this
.
orderId
=
this
.
$route
.
query
.
orderId
;
this
.
getList
();
this
.
getDicts
(
"t_order_status"
).
then
((
response
)
=>
{
this
.
typeOptions
=
response
.
data
;
});
this
.
getDicts
(
"t_order_type"
).
then
((
response
)
=>
{
this
.
ordertypeOptions
=
response
.
data
;
});
this
.
getBasicsInfo
();
},
mounted
()
{
let
gaoMap
=
new
gaodeMap
(
"石家庄"
);
this
.
gaoMap
=
gaoMap
;
this
.
getBasicsInfo
();
},
methods
:
{
handleRemove
(
file
)
{
console
.
log
(
file
);
},
},
created
()
{
handlePictureCardPreview
(
file
)
{
// 如果是跳转来的,则接受初始化参数
this
.
dialogImageUrl
=
file
.
url
;
// this.user_id = this.$route.query.id; //详细信息页接收参数
this
.
dialogVisible
=
true
;
this
.
orderId
=
this
.
$route
.
query
.
orderId
;
},
this
.
getList
();
handleDownload
(
file
)
{
this
.
getDicts
(
"t_order_status"
).
then
(
response
=>
{
console
.
log
(
file
);
this
.
typeOptions
=
response
.
data
;
},
/** 查询工单基础信息列表 */
getList
()
{
this
.
loading
=
true
;
listBasicsInfo
(
this
.
queryParams
).
then
((
response
)
=>
{
this
.
basicsInfoList
=
response
.
rows
;
this
.
total
=
response
.
total
;
this
.
loading
=
false
;
});
});
this
.
getDicts
(
"t_order_type"
).
then
(
response
=>
{
},
this
.
ordertypeOptions
=
response
.
data
;
getBasicsInfo
()
{
getBasicsInfo
(
this
.
orderId
).
then
((
response
)
=>
{
this
.
form
=
response
.
data
;
console
.
log
(
this
.
form
.
feedbackList
,
"00000000000"
);
this
.
active
=
parseInt
(
response
.
data
.
orderStatus
)
+
1
;
if
(
this
.
form
.
deviceInfoList
.
length
>
0
)
{
this
.
gaoMap
.
resetMapCenter
([
this
.
form
.
deviceInfoList
[
0
].
longitude
,
this
.
form
.
deviceInfoList
[
0
].
latitude
,
]);
}
for
(
var
i
=
0
;
i
<
this
.
form
.
deviceInfoList
.
length
;
i
++
)
{
let
obj
=
this
.
form
.
deviceInfoList
[
i
];
this
.
gaoMap
.
addMarker
(
DEVICE_TYPE
.
WORKORDER
,
obj
);
}
if
(
this
.
form
.
orderType
==
"1"
)
{
// 获取设备列表树
let
data
=
this
.
form
.
deviceInfoList
;
console
.
log
(
data
,
"===="
);
deviceTree
(
data
).
then
((
response
)
=>
{
this
.
deviceOptions
[
0
].
childList
=
response
.
data
;
});
}
});
});
this
.
getBasicsInfo
();
},
},
mounted
(){
// 筛选节点
let
gaoMap
=
new
gaodeMap
(
"石家庄"
);
// filterNode(value, data) {
this
.
gaoMap
=
gaoMap
;
// if (!value) return true;
this
.
getBasicsInfo
();
// return data.label.indexOf(value) !== -1;
// },
// 节点单击事件
handleNodeClick
(
data
)
{},
// 取消按钮
cancel
()
{
this
.
open
=
false
;
this
.
reset
();
},
},
methods
:
{
// 表单重置
handleRemove
(
file
)
{
reset
()
{
console
.
log
(
file
);
this
.
form
=
{
},
orderId
:
null
,
handlePictureCardPreview
(
file
)
{
orderType
:
null
,
this
.
dialogImageUrl
=
file
.
url
;
orderName
:
null
,
this
.
dialogVisible
=
true
;
orderStatus
:
"0"
,
},
createTime
:
null
,
handleDownload
(
file
)
{
appointInspector
:
null
,
console
.
log
(
file
);
allotTime
:
null
,
},
actualInspector
:
null
,
/** 查询工单基础信息列表 */
actualTime
:
null
,
getList
()
{
remarks
:
null
,
this
.
loading
=
true
;
};
listBasicsInfo
(
this
.
queryParams
).
then
(
response
=>
{
this
.
resetForm
(
"form"
);
this
.
basicsInfoList
=
response
.
rows
;
},
this
.
total
=
response
.
total
;
/** 搜索按钮操作 */
this
.
loading
=
false
;
handleQuery
()
{
});
this
.
queryParams
.
pageNum
=
1
;
},
this
.
getList
();
getBasicsInfo
(){
},
getBasicsInfo
(
this
.
orderId
).
then
(
response
=>
{
/** 重置按钮操作 */
this
.
form
=
response
.
data
;
resetQuery
()
{
console
.
log
(
this
.
form
.
feedbackList
,
"00000000000"
)
this
.
resetForm
(
"queryForm"
);
this
.
active
=
parseInt
(
response
.
data
.
orderStatus
)
+
1
;
this
.
handleQuery
();
if
(
this
.
form
.
deviceInfoList
.
length
>
0
){
},
this
.
gaoMap
.
resetMapCenter
([
this
.
form
.
deviceInfoList
[
0
].
longitude
,
this
.
form
.
deviceInfoList
[
0
].
latitude
]);
// 多选框选中数据
}
handleSelectionChange
(
selection
)
{
for
(
var
i
=
0
;
i
<
this
.
form
.
deviceInfoList
.
length
;
i
++
){
this
.
ids
=
selection
.
map
((
item
)
=>
item
.
orderId
);
let
obj
=
this
.
form
.
deviceInfoList
[
i
];
this
.
single
=
selection
.
length
!==
1
;
this
.
gaoMap
.
addMarker
(
DEVICE_TYPE
.
WORKORDER
,
obj
)
this
.
multiple
=
!
selection
.
length
;
}
},
/** 新增按钮操作 */
if
(
this
.
form
.
orderType
==
'1'
)
{
handleAdd
()
{
// 获取设备列表树
this
.
reset
();
let
data
=
this
.
form
.
deviceInfoList
;
this
.
open
=
true
;
console
.
log
(
data
,
"===="
);
this
.
title
=
"添加工单基础信息"
;
deviceTree
(
data
).
then
(
response
=>
{
},
this
.
deviceOptions
[
0
].
childList
=
response
.
data
;
/** 修改按钮操作 */
});
handleUpdate
(
row
)
{
}
this
.
reset
();
});
const
orderId
=
row
.
orderId
||
this
.
ids
;
},
getBasicsInfo
(
orderId
).
then
((
response
)
=>
{
// 筛选节点
this
.
form
=
response
.
data
;
// filterNode(value, data) {
// if (!value) return true;
// return data.label.indexOf(value) !== -1;
// },
// 节点单击事件
handleNodeClick
(
data
)
{
},
// 取消按钮
cancel
()
{
this
.
open
=
false
;
this
.
reset
();
},
// 表单重置
reset
()
{
this
.
form
=
{
orderId
:
null
,
orderType
:
null
,
orderName
:
null
,
orderStatus
:
"0"
,
createTime
:
null
,
appointInspector
:
null
,
allotTime
:
null
,
actualInspector
:
null
,
actualTime
:
null
,
remarks
:
null
};
this
.
resetForm
(
"form"
);
},
/** 搜索按钮操作 */
handleQuery
()
{
this
.
queryParams
.
pageNum
=
1
;
this
.
getList
();
},
/** 重置按钮操作 */
resetQuery
()
{
this
.
resetForm
(
"queryForm"
);
this
.
handleQuery
();
},
// 多选框选中数据
handleSelectionChange
(
selection
)
{
this
.
ids
=
selection
.
map
(
item
=>
item
.
orderId
)
this
.
single
=
selection
.
length
!==
1
this
.
multiple
=
!
selection
.
length
},
/** 新增按钮操作 */
handleAdd
()
{
this
.
reset
();
this
.
open
=
true
;
this
.
open
=
true
;
this
.
title
=
"添加工单基础信息"
;
this
.
title
=
"修改工单基础信息"
;
},
});
/** 修改按钮操作 */
},
handleUpdate
(
row
)
{
/** 提交按钮 */
this
.
reset
();
submitForm
()
{
const
orderId
=
row
.
orderId
||
this
.
ids
this
.
$refs
[
"form"
].
validate
((
valid
)
=>
{
getBasicsInfo
(
orderId
).
then
(
response
=>
{
if
(
valid
)
{
this
.
form
=
response
.
data
;
if
(
this
.
form
.
orderId
!=
null
)
{
this
.
open
=
true
;
updateBasicsInfo
(
this
.
form
).
then
((
response
)
=>
{
this
.
title
=
"修改工单基础信息"
;
this
.
msgSuccess
(
"修改成功"
);
});
this
.
open
=
false
;
},
this
.
getList
();
/** 提交按钮 */
});
submitForm
()
{
}
else
{
this
.
$refs
[
"form"
].
validate
(
valid
=>
{
addBasicsInfo
(
this
.
form
).
then
((
response
)
=>
{
if
(
valid
)
{
this
.
msgSuccess
(
"新增成功"
);
if
(
this
.
form
.
orderId
!=
null
)
{
this
.
open
=
false
;
updateBasicsInfo
(
this
.
form
).
then
(
response
=>
{
this
.
getList
();
this
.
msgSuccess
(
"修改成功"
);
});
this
.
open
=
false
;
this
.
getList
();
});
}
else
{
addBasicsInfo
(
this
.
form
).
then
(
response
=>
{
this
.
msgSuccess
(
"新增成功"
);
this
.
open
=
false
;
this
.
getList
();
});
}
}
}
});
}
},
});
/** 删除按钮操作 */
},
handleDelete
(
row
)
{
/** 删除按钮操作 */
const
orderIds
=
row
.
orderId
||
this
.
ids
;
handleDelete
(
row
)
{
this
.
$confirm
(
'是否确认删除工单基础信息编号为"'
+
orderIds
+
'"的数据项?'
,
"警告"
,
{
const
orderIds
=
row
.
orderId
||
this
.
ids
;
confirmButtonText
:
"确定"
,
this
.
$confirm
(
cancelButtonText
:
"取消"
,
'是否确认删除工单基础信息编号为"'
+
orderIds
+
'"的数据项?'
,
type
:
"warning"
"警告"
,
}).
then
(
function
()
{
{
return
delBasicsInfo
(
orderIds
);
confirmButtonText
:
"确定"
,
}).
then
(()
=>
{
cancelButtonText
:
"取消"
,
this
.
getList
();
type
:
"warning"
,
this
.
msgSuccess
(
"删除成功"
);
}
}).
catch
(()
=>
{});
)
},
.
then
(
function
()
{
/** 导出按钮操作 */
return
delBasicsInfo
(
orderIds
);
handleExport
()
{
})
const
queryParams
=
this
.
queryParams
;
.
then
(()
=>
{
this
.
$confirm
(
'是否确认导出所有工单基础信息数据项?'
,
"警告"
,
{
this
.
getList
();
confirmButtonText
:
"确定"
,
this
.
msgSuccess
(
"删除成功"
);
cancelButtonText
:
"取消"
,
})
type
:
"warning"
.
catch
(()
=>
{});
}).
then
(()
=>
{
},
this
.
exportLoading
=
true
;
/** 导出按钮操作 */
return
exportBasicsInfo
(
queryParams
);
handleExport
()
{
}).
then
(
response
=>
{
const
queryParams
=
this
.
queryParams
;
this
.
download
(
response
.
msg
);
this
.
$confirm
(
"是否确认导出所有工单基础信息数据项?"
,
"警告"
,
{
this
.
exportLoading
=
false
;
confirmButtonText
:
"确定"
,
}).
catch
(()
=>
{});
cancelButtonText
:
"取消"
,
}
type
:
"warning"
,
}
})
}
.
then
(()
=>
{
</
script
>
this
.
exportLoading
=
true
;
return
exportBasicsInfo
(
queryParams
);
})
.
then
((
response
)
=>
{
this
.
download
(
response
.
msg
);
this
.
exportLoading
=
false
;
})
.
catch
(()
=>
{});
},
},
};
</
script
>
<
style
>
<
style
>
.feedbackTime-div
{
.feedbackTime-div
{
float
:
left
;
margin-left
:
150px
;
margin-top
:
10px
;
float
:
left
;
}
margin-left
:
150px
;
.feedbackTime
{
margin-top
:
10px
;
height
:
120px
;
}
width
:
120px
;
.feedbackTime
{
float
:
left
;
height
:
120px
;
margin-left
:
15px
;
width
:
120px
;
margin-top
:
5px
;
float
:
left
;
margin-bottom
:
15px
;
margin-left
:
15px
;
display
:
flex
;
margin-top
:
5px
;
justify-content
:
center
;
margin-bottom
:
15px
;
align-items
:
center
;
display
:
flex
;
}
justify-content
:
center
;
.el-card__body
{
align-items
:
center
;
padding
:
5px
20px
20px
20px
;
}
}
.el-card__body
{
.detail
.el-form
{
padding
:
5px
20px
20px
20px
;
width
:
20%
;
}
}
.detail
.el-form
{
.detail
.el-form-item
{
width
:
20%
;
margin-bottom
:
0px
;
}
}
.detail
.el-form-item
{
.el-tree
{
margin-bottom
:
0px
;
margin-top
:
5px
;
}
}
.el-tree
{
.avatar-uploader
{
margin-top
:
5px
;
width
:
25%
;
}
float
:
left
;
.avatar-uploader
{
}
width
:
25%
;
.avatar-uploader
.el-upload
{
float
:
left
;
border
:
1px
dashed
#d9d9d9
;
}
border-radius
:
6px
;
.avatar-uploader
.el-upload
{
cursor
:
pointer
;
border
:
1px
dashed
#d9d9d9
;
position
:
relative
;
border-radius
:
6px
;
overflow
:
hidden
;
cursor
:
pointer
;
}
position
:
relative
;
.avatar-uploader
.el-upload
:hover
{
overflow
:
hidden
;
border-color
:
#409EFF
;
}
}
.avatar-uploader
.el-upload
:hover
{
.avatar-uploader-icon
{
border-color
:
#409eff
;
font-size
:
28px
;
}
color
:
#8c939d
;
.avatar-uploader-icon
{
width
:
178px
;
font-size
:
28px
;
height
:
178px
;
color
:
#8c939d
;
line-height
:
178px
;
width
:
178px
;
text-align
:
center
;
height
:
178px
;
}
line-height
:
178px
;
.avatar
{
text-align
:
center
;
width
:
178px
;
}
height
:
178px
;
.avatar
{
display
:
block
;
width
:
178px
;
}
height
:
178px
;
li
{
display
:
block
;
font-size
:
15px
;
}
font-weight
:
900
;
li
{
}
font-size
:
15px
;
</
style
>
font-weight
:
900
;
}
</
style
>
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