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
553e71e6
Commit
553e71e6
authored
Feb 15, 2022
by
wuqinghua
Browse files
Options
Browse Files
Download
Plain Diff
Merge remote-tracking branch 'origin/master'
parents
58107bbd
f787c3d7
Show whitespace changes
Inline
Side-by-side
Showing
13 changed files
with
475 additions
and
308 deletions
+475
-308
SecurityConfig.java
...main/java/com/zehong/framework/config/SecurityConfig.java
+1
-1
TEventInfo.java
...em/src/main/java/com/zehong/system/domain/TEventInfo.java
+2
-2
TEventInfoMapper.xml
...tem/src/main/resources/mapper/system/TEventInfoMapper.xml
+1
-0
TPlanInfoMapper.xml
...stem/src/main/resources/mapper/system/TPlanInfoMapper.xml
+1
-0
coordinate.svg
gassafetyprogress-web/src/assets/mapImages/coordinate.svg
+1
-0
yalibiao.svg
gassafetyprogress-web/src/assets/mapImages/yalibiao.svg
+0
-8
index.vue
gassafetyprogress-web/src/components/GetPos/index.vue
+34
-29
getPath.js
gassafetyprogress-web/src/utils/mapClass/getPath.js
+1
-1
index.vue
...typrogress-web/src/views/standingBook/equipment/index.vue
+6
-6
index.vue
...afetyprogress-web/src/views/standingBook/hidden/index.vue
+77
-62
index.vue
...fetyprogress-web/src/views/standingBook/trouble/index.vue
+82
-60
index.vue
gassafetyprogress-web/src/views/system/eventInfo/index.vue
+109
-59
index.vue
gassafetyprogress-web/src/views/system/planInfo/index.vue
+160
-80
No files found.
gassafetyprogress-framework/src/main/java/com/zehong/framework/config/SecurityConfig.java
View file @
553e71e6
...
...
@@ -97,7 +97,7 @@ public class SecurityConfig extends WebSecurityConfigurerAdapter
// 过滤请求
.
authorizeRequests
()
// 对于登录login 验证码captchaImage 允许匿名访问
.
antMatchers
(
"/login"
,
"/captchaImage"
,
"/common/upload"
).
anonymous
()
.
antMatchers
(
"/login"
,
"/captchaImage"
).
anonymous
()
.
antMatchers
(
HttpMethod
.
GET
,
"/*.html"
,
...
...
gassafetyprogress-system/src/main/java/com/zehong/system/domain/TEventInfo.java
View file @
553e71e6
...
...
@@ -37,8 +37,8 @@ public class TEventInfo extends BaseEntity
private
String
eventLocation
;
/** 报案时间 */
@JsonFormat
(
pattern
=
"yyyy-MM-dd"
)
@Excel
(
name
=
"报案时间"
,
width
=
30
,
dateFormat
=
"yyyy-MM-dd"
)
@JsonFormat
(
pattern
=
"yyyy-MM-dd
HH:mm:ss
"
)
@Excel
(
name
=
"报案时间"
,
width
=
30
,
dateFormat
=
"yyyy-MM-dd
HH:mm:ss
"
)
private
Date
reportTime
;
/** 报案人 */
...
...
gassafetyprogress-system/src/main/resources/mapper/system/TEventInfoMapper.xml
View file @
553e71e6
...
...
@@ -38,6 +38,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<if
test=
"reportPerson != null and reportPerson != ''"
>
and report_person like concat('%', #{reportPerson}, '%')
</if>
<if
test=
"beyondEnterpriseId != null and beyondEnterpriseId != ''"
>
and beyond_enterprise_id = #{beyondEnterpriseId}
</if>
</where>
order by report_time
</select>
<select
id=
"selectTEventInfoById"
parameterType=
"Long"
resultMap=
"TEventInfoResult"
>
...
...
gassafetyprogress-system/src/main/resources/mapper/system/TPlanInfoMapper.xml
View file @
553e71e6
...
...
@@ -34,6 +34,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<if
test=
"planLevel != null and planLevel != ''"
>
and plan_level = #{planLevel}
</if>
<if
test=
"beyondEnterpriseId != null and beyondEnterpriseId != ''"
>
and beyond_enterprise_id = #{beyondEnterpriseId}
</if>
</where>
order by create_time desc
</select>
<select
id=
"selectTPlanInfoById"
parameterType=
"Long"
resultMap=
"TPlanInfoResult"
>
...
...
gassafetyprogress-web/src/assets/mapImages/coordinate.svg
0 → 100644
View file @
553e71e6
<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<svg
t=
"1644901265903"
class=
"icon"
viewBox=
"0 0 1024 1024"
version=
"1.1"
xmlns=
"http://www.w3.org/2000/svg"
p-id=
"7343"
width=
"32"
height=
"32"
xmlns:xlink=
"http://www.w3.org/1999/xlink"
><defs><style
type=
"text/css"
></style></defs><path
d=
"M527.053 96.924c-169.131 0.322-306.127 137.496-306.127 306.7 0 157.986 128.978 324.17 278.121 502.935 7.838 9.418 17.977 14.485 28.006 15.061 10.029-0.576 20.168-5.643 28.002-15.061 149.144-178.765 278.123-344.948 278.123-502.935 0-169.205-136.997-306.378-306.126-306.7zM527.053 500.967c-66.070-0.358-119.562-53.956-119.562-120.099s53.492-119.74 119.562-120.099c66.069 0.358 119.557 53.956 119.557 120.099s-53.487 119.74-119.557 120.099z"
p-id=
"7344"
fill=
"#1296db"
></path></svg>
\ No newline at end of file
gassafetyprogress-web/src/assets/mapImages/yalibiao.svg
deleted
100644 → 0
View file @
58107bbd
<svg
id=
"组_2449"
data-name=
"组 2449"
xmlns=
"http://www.w3.org/2000/svg"
width=
"23"
height=
"33.9"
viewBox=
"0 0 23 33.9"
>
<g
id=
"路径_186"
data-name=
"路径 186"
fill=
"none"
>
<path
d=
"M11.5,0A11.5,11.5,0,0,1,23,11.5c0,6.351-11.6,18.226-11.5,18.3S0,17.851,0,11.5A11.5,11.5,0,0,1,11.5,0Z"
stroke=
"none"
/>
<path
d=
"M 11.5 0.9999942779541016 C 5.71027946472168 0.9999942779541016 1 5.710294723510742 1 11.50003433227539 C 1 15.44047451019287 6.295700073242188 22.62868881225586 11.47670364379883 28.30246925354004 C 12.68497562408447 26.95181846618652 15.33078575134277 23.97880172729492 17.65543937683105 20.72857475280762 C 19.63740921020508 17.95747375488281 22 14.10698509216309 22 11.50003433227539 C 22 5.710294723510742 17.28972053527832 0.9999942779541016 11.5 0.9999942779541016 M 11.5 -5.7220458984375e-06 C 17.85127067565918 -5.7220458984375e-06 23 5.148744583129883 23 11.50003433227539 C 23 17.82767868041992 11.48916530609131 29.63789367675781 11.49940204620361 29.80171203613281 C 11.36462783813477 29.63816833496094 0 17.78736114501953 0 11.50003433227539 C 0 5.148744583129883 5.14872932434082 -5.7220458984375e-06 11.5 -5.7220458984375e-06 Z M 11.49940204620361 29.80171203613281 C 11.50076866149902 29.80337142944336 11.50098419189453 29.80383491516113 11.5 29.80305480957031 C 11.49963855743408 29.80276870727539 11.49944019317627 29.80232429504395 11.49940204620361 29.80171203613281 Z"
stroke=
"none"
fill=
"#7bf8f4"
/>
</g>
<path
id=
"多边形_33"
data-name=
"多边形 33"
d=
"M4.471,0,8.941,5.961H0Z"
transform=
"translate(16.094 29.804) rotate(180)"
fill=
"#7bf8f4"
/>
<path
id=
"路径_966"
data-name=
"路径 966"
d=
"M99.476,156.616a6.028,6.028,0,0,1-1.622,2.267.9.9,0,0,1-.583.252.8.8,0,0,1-.567-.236.765.765,0,0,1-.236-.535.705.705,0,0,1,.236-.535,6.035,6.035,0,0,0,1.748-4.377A5.726,5.726,0,0,0,96.7,149.2a6.645,6.645,0,0,0-9.085.016,5.836,5.836,0,0,0-1.763,4.283,6.134,6.134,0,0,0,1.952,4.346.765.765,0,0,1,.236.535.705.705,0,0,1-.236.535.748.748,0,0,1-.567.236.8.8,0,0,1-.567-.236,7.414,7.414,0,0,1-2.047-2.724,7.528,7.528,0,0,1,1.748-8.266,7.836,7.836,0,0,1,2.629-1.685,9.392,9.392,0,0,1,6.361-.063,6.113,6.113,0,0,1,2.141,1.26c2.866,2.425,3.023,5.9,2.047,8.943Zm-7.337-7.684a4.366,4.366,0,0,0-4.377,4.267.5.5,0,0,1-.236.5.527.527,0,0,1-.567,0,.513.513,0,0,1-.236-.5,5.254,5.254,0,0,1,1.575-3.684,5.533,5.533,0,0,1,7.7,0,5.208,5.208,0,0,1,1.606,3.732.5.5,0,0,1-.236.5.527.527,0,0,1-.567,0,.513.513,0,0,1-.236-.5,4.382,4.382,0,0,0-4.424-4.314Zm.913,5.4a1.113,1.113,0,0,1-1.559-.047,1.054,1.054,0,0,1-.268-1.149l-1.212-1.2a.418.418,0,0,1,0-.6.479.479,0,0,1,.63,0l1.228,1.2a1.162,1.162,0,0,1,1.2.268,1.024,1.024,0,0,1,.331.771A1.093,1.093,0,0,1,93.052,154.333Zm.016-.016"
transform=
"translate(-80.582 -142.727)"
fill=
"#7bf8f4"
/>
</svg>
gassafetyprogress-web/src/components/GetPos/index.vue
View file @
553e71e6
<!--
* @Author: your name
* @Date: 2022-02-12 11:07:10
* @LastEditTime: 2022-02-1
2 15:13:41
* @LastEditTime: 2022-02-1
5 10:33:20
* @LastEditors: Please set LastEditors
* @Description: 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE
* @FilePath: /test/hello-world/src/components/GetPos.vue/index.vue
...
...
@@ -14,6 +14,7 @@
width=
"60%"
:before-close=
"handleClose"
>
<template
v-if=
"inputVisible"
>
<div
class=
"search-wrapper pos"
>
<el-input
v-model=
"searchinput"
...
...
@@ -30,16 +31,16 @@
>
定位
</el-button
>
</div>
</
template
>
<div
id=
"getposmap"
></div>
</el-dialog>
</template>
<
script
>
import
{
EditorMap
}
from
"
./until
s/getPath.js"
;
import
{
EditorMap
}
from
"
@/utils/mapClas
s/getPath.js"
;
export
default
{
props
:
{
//管道路径,二维数组
//管道路径,二维数组
s
pipePath
:
{
type
:
Array
,
default
:
()
=>
[],
...
...
@@ -55,10 +56,15 @@ export default {
default
:
""
,
},
// 显示隐藏
dialogVisible
:{
type
:
Boolean
,
default
:
false
,
}
dialogVisible
:
{
type
:
Boolean
,
default
:
false
,
},
// input跟定位按钮是否展示
inputVisible
:
{
type
:
Boolean
,
default
:
true
,
},
},
data
()
{
return
{
...
...
@@ -80,8 +86,7 @@ export default {
});
},
},
mounted
()
{
},
mounted
()
{},
methods
:
{
init
()
{
this
.
$nextTick
(()
=>
{
...
...
@@ -90,13 +95,13 @@ export default {
if
(
this
.
device
==
""
)
{
// 如果传了路径就创建一个marker,如果没传就直接激活手动创建
if
(
this
.
devicePos
.
length
>
0
)
{
this
.
map
.
addDevice
({
path
:
this
.
devicePos
});
this
.
map
.
addDevice
({
path
:
this
.
devicePos
});
}
else
{
this
.
map
.
mouseAddMarker
();
}
}
else
{
if
(
this
.
pipePath
.
length
>
0
)
{
this
.
map
.
addPipeLine
({
path
:
this
.
pipePath
});
this
.
map
.
addPipeLine
({
path
:
this
.
pipePath
});
}
else
{
this
.
mouseAddPipeline
();
}
...
...
@@ -104,7 +109,7 @@ export default {
});
},
handleClose
()
{
this
.
$emit
(
"close"
)
this
.
$emit
(
"close"
)
;
},
open
()
{
this
.
dialogVisible
=
true
;
...
...
@@ -113,7 +118,7 @@ export default {
pos
()
{
this
.
path
=
this
.
map
.
getPath
();
this
.
$emit
(
"getPath"
,
this
.
path
);
console
.
log
(
this
.
path
)
console
.
log
(
this
.
path
)
;
if
(
this
.
path
?.
length
>
0
)
{
this
.
$emit
(
"update:dialogVisible"
,
false
);
}
...
...
gassafetyprogress-web/src/
components/GetPos/until
s/getPath.js
→
gassafetyprogress-web/src/
utils/mapClas
s/getPath.js
View file @
553e71e6
...
...
@@ -248,7 +248,7 @@ export class EditorMap {
let
device
=
this
.
createMarker
({
map
:
this
.
map
,
anchor
:
"bottom-center"
,
icon
:
require
(
"@/assets/mapImages/
yalibiao
.svg"
),
icon
:
require
(
"@/assets/mapImages/
coordinate
.svg"
),
position
:
path
,
extData
:
deviceData
,
});
...
...
gassafetyprogress-web/src/views/standingBook/equipment/index.vue
View file @
553e71e6
...
...
@@ -74,13 +74,13 @@
</el-row>
<el-table
v-loading=
"loading"
:data=
"equipmentList"
>
<el-table-column
label=
"用户名称"
align=
"center"
prop=
"userName"
width=
"2
2
0px"
/>
<el-table-column
label=
"身份证号"
align=
"center"
prop=
"idCard"
/>
<el-table-column
label=
"用户名称"
align=
"center"
prop=
"userName"
width=
"2
0
0px"
/>
<el-table-column
label=
"身份证号"
align=
"center"
prop=
"idCard"
width=
"180px"
/>
<el-table-column
label=
"联系电话"
align=
"center"
prop=
"linkMobile"
/>
<el-table-column
label=
"详细地址"
align=
"center"
prop=
"userAddress"
width=
"380px"
/>
<el-table-column
label=
"安装时间"
align=
"center"
prop=
"installTime"
/>
<el-table-column
label=
"品牌名称"
align=
"center"
prop=
"brandName"
width=
"130px"
/>
<el-table-column
label=
"操作"
align=
"center"
class-name=
"small-padding fixed-width
"
>
<el-table-column
label=
"品牌名称"
align=
"center"
prop=
"brandName"
/>
<el-table-column
label=
"操作"
align=
"center"
width=
"180px
"
>
<template
slot-scope=
"scope"
>
<el-button
size=
"mini"
...
...
@@ -385,13 +385,13 @@ export default {
if
(
this
.
form
.
safeEquipmentId
!=
null
)
{
updateEquipment
(
this
.
form
).
then
(
response
=>
{
this
.
msgSuccess
(
"修改成功"
);
this
.
open
=
false
;
this
.
open
1
=
false
;
this
.
getList
();
});
}
else
{
addEquipment
(
this
.
form
).
then
(
response
=>
{
this
.
msgSuccess
(
"新增成功"
);
this
.
open
=
false
;
this
.
open
1
=
false
;
this
.
getList
();
});
}
...
...
gassafetyprogress-web/src/views/standingBook/hidden/index.vue
View file @
553e71e6
...
...
@@ -67,7 +67,7 @@
<el-table
v-loading=
"loading"
:data=
"hiddenList"
>
<el-table-column
label=
"隐患名称"
align=
"center"
prop=
"hiddenTitle"
width=
"200px"
/>
<el-table-column
label=
"隐患等级"
align=
"center"
prop=
"hiddenType"
width=
"150px"
>
<el-table-column
label=
"隐患等级"
align=
"center"
prop=
"hiddenType"
>
<template
slot-scope=
"scope"
>
<span
v-if=
"scope.row.hiddenType == '1'"
>
一级隐患
</span>
<span
v-if=
"scope.row.hiddenType == '2'"
>
二级隐患
</span>
...
...
@@ -75,9 +75,9 @@
</
template
>
</el-table-column>
<el-table-column
label=
"隐患位置"
align=
"center"
prop=
"hiddenLocation"
width=
"300px"
/>
<el-table-column
label=
"隐患发现人员"
align=
"center"
prop=
"hiddenFindPeople"
width=
"150px"
/>
<el-table-column
label=
"隐患发现人员"
align=
"center"
prop=
"hiddenFindPeople"
/>
<el-table-column
label=
"发现时间"
align=
"center"
prop=
"hiddenFindDate"
width=
"150px"
/>
<el-table-column
label=
"处理方案"
align=
"center"
prop=
"dealPlanUrl"
width=
"150px"
>
<el-table-column
label=
"处理方案"
align=
"center"
prop=
"dealPlanUrl"
>
<
template
slot-scope=
"scope"
>
<span
class=
"dbtn"
...
...
@@ -89,13 +89,13 @@
<span
v-else
>
-
</span>
</
template
>
</el-table-column>
<el-table-column
label=
"整治情况"
align=
"center"
prop=
"remediation"
width=
"180px"
>
<el-table-column
label=
"整治情况"
align=
"center"
prop=
"remediation"
>
<
template
slot-scope=
"scope"
>
<span
v-if=
"scope.row.remediation != '' && scope.row.remediation != null"
>
{{
scope
.
row
.
remediation
}}
</span>
<span
v-else
>
-
</span>
</
template
>
</el-table-column>
<el-table-column
label=
"操作"
align=
"center"
class-name=
"small-padding fixed-width
"
>
<el-table-column
label=
"操作"
align=
"center"
width=
"180px
"
>
<
template
slot-scope=
"scope"
>
<el-button
size=
"mini"
...
...
@@ -233,35 +233,33 @@
</div>
</el-dialog>
<el-dialog
:title=
"title2"
:visible
.
sync=
"open2"
width=
"800px"
append-to-body
@
cancel=
"cancel2"
>
<el-dialog
:title=
"title2"
:visible
.
sync=
"open2"
width=
"1200px"
append-to-body
@
cancel=
"cancel2"
@
close=
"cancel2"
>
<el-row>
<el-col
:span=
"14"
>
<el-form
ref=
"detailForm"
:model=
"detailForm"
label-width=
"120px"
>
<el-row>
<el-col
:span=
"11
"
>
<el-col
:span=
"10
"
>
<el-form-item
label=
"隐患名称:"
>
<font>
{{detailForm.hiddenTitle}}
</font>
</el-form-item>
<el-form-item
label=
"隐患发现人员:"
>
<font>
{{detailForm.hiddenFindPeople}}
</font>
</el-form-item>
<el-form-item
label=
"隐患位置
:"
>
<font>
{{detailForm.hiddenLocation
}}
</font>
<el-form-item
label=
"发现时间
:"
>
<font>
{{detailForm.hiddenFindDate
}}
</font>
</el-form-item>
</el-col>
<el-col
:span=
"12
"
>
<el-col
:span=
"13
"
>
<el-form-item
label=
"隐患等级:"
>
<font
v-if=
"detailForm.hiddenType == '1'"
>
一级隐患
</font>
<font
v-if=
"detailForm.hiddenType == '2'"
>
二级隐患
</font>
<font
v-if=
"detailForm.hiddenType == '3'"
>
三级隐患
</font>
</el-form-item>
<el-form-item
label=
"发现时间
:"
>
<font>
{{detailForm.hiddenFindDate
}}
</font>
<el-form-item
label=
"隐患位置
:"
>
<font>
{{detailForm.hiddenLocation
}}
</font>
</el-form-item>
<el-form-item
label=
"处理方案:"
>
<span
class=
"dbtn"
@
click=
"checkFile(detailForm.dealPlanUrl)"
v-if=
"detailForm.dealPlan != ''"
>
<span
class=
"dbtn"
@
click=
"checkFile(detailForm.dealPlanUrl)"
v-if=
"detailForm.dealPlan != ''"
>
<i
class=
"el-icon el-icon-view"
></i>
查看/下载
</span>
<span
v-else
>
-
</span>
...
...
@@ -286,6 +284,14 @@
</el-form-item>
</el-row>
</el-form>
</el-col>
<el-col
:span=
"9"
>
<div
style=
"width: 100%;height: 390px;margin-top: -25px; border: 1px solid rgb(218, 213, 213);margin-bottom: 10px;"
>
<div
style=
"width: 100%;height: 100%"
id=
"hiddenContainer"
></div>
</div>
</el-col>
</el-row>
</el-dialog>
<GetPos
...
...
@@ -301,15 +307,14 @@
<
script
>
import
{
listHidden
,
getHidden
,
delHidden
,
addHidden
,
updateHidden
,
exportHidden
}
from
"@/api/standingBook/hidden"
;
import
Editor
from
'@/components/Editor'
;
import
FileUpload
from
'@/components/FileUpload'
;
import
GetPos
from
'@/components/GetPos'
;
import
{
EditorMap
}
from
"@/utils/mapClass/getPath.js"
;
let
uploadfile
=
require
(
"@/assets/uploadfile.png"
);
export
default
{
name
:
"Hidden"
,
components
:
{
Editor
,
FileUpload
,
GetPos
},
...
...
@@ -344,6 +349,7 @@ export default {
// 地图
dialogTableVisible
:
false
,
devicePos
:
[],
map
:
null
,
// 查询参数
queryParams
:
{
pageNum
:
1
,
...
...
@@ -406,11 +412,11 @@ export default {
this
.
open1
=
false
;
this
.
reset1
();
this
.
fileList
=
[];
this
.
devicePos
=
[];
},
cancel2
()
{
this
.
open2
=
false
;
this
.
reset2
();
this
.
map
.
destroy
();
},
// 表单重置
reset1
()
{
...
...
@@ -458,6 +464,7 @@ export default {
remarks
:
null
};
this
.
resetForm
(
"detailForm"
);
this
.
devicePos
=
[];
},
/** 搜索按钮操作 */
handleQuery
()
{
...
...
@@ -546,8 +553,16 @@ export default {
this
.
reset2
();
getHidden
(
row
.
hiddenId
).
then
(
response
=>
{
this
.
detailForm
=
response
.
data
;
this
.
devicePos
=
[
this
.
detailForm
.
longitude
,
this
.
detailForm
.
latitude
];
this
.
open2
=
true
;
this
.
title2
=
"隐患整治台账详情"
;
this
.
$nextTick
(()
=>
{
this
.
map
=
new
EditorMap
(
"hiddenContainer"
,
{},
this
);
this
.
map
.
addDevice
({
path
:
this
.
devicePos
});
this
.
map
.
nowMouseTarget
=
null
;
this
.
map
.
mousetoolClose
(
false
);
});
});
},
checkFile
(
url
)
{
...
...
gassafetyprogress-web/src/views/standingBook/trouble/index.vue
View file @
553e71e6
...
...
@@ -77,24 +77,24 @@
<el-table
v-loading=
"loading"
:data=
"troubleList"
>
<el-table-column
label=
"事故名称"
align=
"center"
prop=
"troubleName"
width=
"200px"
/>
<el-table-column
label=
"事故类型"
align=
"center"
prop=
"troubleType"
width=
"180px"
>
<el-table-column
label=
"事故类型"
align=
"center"
prop=
"troubleType"
>
<template
slot-scope=
"scope"
>
<span
v-if=
"scope.row.troubleType == 1"
>
生产安全事故
</span>
<span
v-if=
"scope.row.troubleType == 2"
>
非生产安全事故
</span>
</
template
>
</el-table-column>
<el-table-column
label=
"事故地点"
align=
"center"
prop=
"troubleLocation"
width=
"300px"
/>
<el-table-column
label=
"事故发生时间"
align=
"center"
prop=
"happenDate"
width=
"1
8
0px"
/>
<el-table-column
label=
"责任单位"
align=
"center"
prop=
"responsibleUnit"
width=
"150px"
/>
<el-table-column
label=
"责任人员"
align=
"center"
prop=
"responsiblePeople"
width=
"150px"
/>
<el-table-column
label=
"是否处理"
align=
"center"
prop=
"isDeal"
width=
"120px"
>
<el-table-column
label=
"事故发生时间"
align=
"center"
prop=
"happenDate"
width=
"1
5
0px"
/>
<el-table-column
label=
"责任单位"
align=
"center"
prop=
"responsibleUnit"
/>
<el-table-column
label=
"责任人员"
align=
"center"
prop=
"responsiblePeople"
/>
<el-table-column
label=
"是否处理"
align=
"center"
prop=
"isDeal"
>
<
template
slot-scope=
"scope"
>
<span
v-if=
"scope.row.isDeal == 1"
>
已处理
</span>
<span
v-if=
"scope.row.isDeal == 2"
>
未处理
</span>
</
template
>
</el-table-column>
<!-- <el-table-column label="处理完成时间" align="center" prop="dealDate" width="180px"/>-->
<el-table-column
label=
"操作"
align=
"center"
class-name=
"small-padding fixed-width
"
>
<el-table-column
label=
"操作"
align=
"center"
width=
"180px
"
>
<
template
slot-scope=
"scope"
>
<el-button
size=
"mini"
...
...
@@ -242,10 +242,12 @@
</div>
</el-dialog>
<el-dialog
:title=
"title2"
:visible
.
sync=
"open2"
width=
"800px"
append-to-body
@
cancel=
"cancel2"
>
<el-dialog
:title=
"title2"
:visible
.
sync=
"open2"
width=
"1200px"
append-to-body
@
cancel=
"cancel2"
@
close=
"cancel2"
>
<el-row>
<el-col
:span=
"14"
>
<el-form
ref=
"detailForm"
:model=
"detailForm"
label-width=
"120px"
>
<el-row>
<el-col
:span=
"11
"
>
<el-col
:span=
"10
"
>
<el-form-item
label=
"事故名称:"
>
<font>
{{detailForm.troubleName}}
</font>
</el-form-item>
...
...
@@ -257,7 +259,7 @@
<font
v-else
>
-
</font>
</el-form-item>
</el-col>
<el-col
:span=
"12
"
>
<el-col
:span=
"13
"
>
<el-form-item
label=
"事故类型:"
>
<font
v-if=
"detailForm.troubleType == '1'"
>
安全生产事故
</font>
<font
v-if=
"detailForm.troubleType == '2'"
>
非生产安全事故
</font>
...
...
@@ -297,6 +299,14 @@
</el-form-item>
</el-row>
</el-form>
</el-col>
<el-col
:span=
"9"
>
<div
style=
"width: 100%;height: 390px;margin-top: -25px; border: 1px solid rgb(218, 213, 213);margin-bottom: 10px;"
>
<div
style=
"width: 100%;height: 100%"
id=
"troubleContainer"
></div>
</div>
</el-col>
</el-row>
</el-dialog>
<GetPos
...
...
@@ -313,6 +323,7 @@
<
script
>
import
{
listTrouble
,
getTrouble
,
delTrouble
,
addTrouble
,
updateTrouble
,
exportTrouble
}
from
"@/api/standingBook/trouble"
;
import
GetPos
from
'@/components/GetPos'
;
import
{
EditorMap
}
from
"@/utils/mapClass/getPath.js"
;
export
default
{
name
:
"Trouble"
,
...
...
@@ -343,6 +354,7 @@ export default {
// 地图
dialogTableVisible
:
false
,
devicePos
:
[],
map
:
null
,
// 弹出层标题
title1
:
""
,
title2
:
""
,
...
...
@@ -416,11 +428,11 @@ export default {
cancel1
()
{
this
.
open1
=
false
;
this
.
reset1
();
this
.
devicePos
=
[];
},
cancel2
()
{
this
.
open2
=
false
;
this
.
reset2
();
this
.
map
.
destroy
();
},
// 表单重置
reset1
()
{
...
...
@@ -471,6 +483,7 @@ export default {
remarks
:
null
};
this
.
resetForm
(
"detailForm"
);
this
.
devicePos
=
[];
},
/** 搜索按钮操作 */
handleQuery
()
{
...
...
@@ -505,13 +518,13 @@ export default {
if
(
this
.
form
.
troubleId
!=
null
)
{
updateTrouble
(
this
.
form
).
then
(
response
=>
{
this
.
msgSuccess
(
"修改成功"
);
this
.
open
=
false
;
this
.
open
1
=
false
;
this
.
getList
();
});
}
else
{
addTrouble
(
this
.
form
).
then
(
response
=>
{
this
.
msgSuccess
(
"新增成功"
);
this
.
open
=
false
;
this
.
open
1
=
false
;
this
.
getList
();
});
}
...
...
@@ -553,8 +566,17 @@ export default {
this
.
reset2
();
getTrouble
(
row
.
troubleId
).
then
(
response
=>
{
this
.
detailForm
=
response
.
data
;
this
.
devicePos
=
[
this
.
detailForm
.
longitude
,
this
.
detailForm
.
latitude
];
console
.
log
(
"this.devicePos"
,
this
.
devicePos
);
this
.
open2
=
true
;
this
.
title2
=
"燃气事故台账详情"
;
this
.
$nextTick
(()
=>
{
this
.
map
=
new
EditorMap
(
"troubleContainer"
,
{},
this
);
this
.
map
.
addDevice
({
path
:
this
.
devicePos
});
this
.
map
.
nowMouseTarget
=
null
;
this
.
map
.
mousetoolClose
(
false
);
});
});
},
MapdialogFun
()
{
...
...
gassafetyprogress-web/src/views/system/eventInfo/index.vue
View file @
553e71e6
...
...
@@ -104,20 +104,20 @@
<el-table
v-loading=
"loading"
:data=
"eventInfoList"
@
selection-change=
"handleSelectionChange"
>
<el-table-column
type=
"selection"
width=
"55"
align=
"center"
/>
<
el-table-column
label=
"事件id"
align=
"center"
prop=
"eventId"
/
>
<
!--
<el-table-column
label=
"事件id"
align=
"center"
prop=
"eventId"
/>
--
>
<el-table-column
label=
"事件名称"
align=
"center"
prop=
"eventTitle"
/>
<el-table-column
label=
"所属企业"
align=
"center"
prop=
"beyondEnterpriseName"
/>
<el-table-column
label=
"事件类型"
align=
"center"
prop=
"eventType"
:formatter=
"eventTypeFormat"
/>
<el-table-column
label=
"事件等级"
align=
"center"
prop=
"eventLevel"
:formatter=
"eventLevelFormat"
/>
<el-table-column
label=
"事件地点"
align=
"center"
prop=
"eventLocation"
/>
<el-table-column
label=
"报案时间"
align=
"center"
prop=
"reportTime"
width=
"180"
>
<template
slot-scope=
"scope"
>
<span>
{{
parseTime
(
scope
.
row
.
reportTime
,
'{y
}
-{m
}
-{d
}
'
)
}}
<
/span
>
<span>
{{
parseTime
(
scope
.
row
.
reportTime
,
'{y
}
-{m
}
-{d
}
{h
}
:{i
}
:{s
}
'
)
}}
<
/span
>
<
/template
>
<
/el-table-column
>
<
el
-
table
-
column
label
=
"报案人"
align
=
"center"
prop
=
"reportPerson"
/>
<
el
-
table
-
column
label
=
"事件处置信息"
align
=
"center"
prop
=
"eventDeal"
/>
<
el
-
table
-
column
label
=
"事件评估信息"
align
=
"center"
prop
=
"eventAssessment"
/>
<
el
-
table
-
column
label
=
"所属企业"
align
=
"center"
prop
=
"beyondEnterpriseId"
/>
<
el
-
table
-
column
label
=
"备注"
align
=
"center"
prop
=
"remarks"
/>
<
el
-
table
-
column
label
=
"操作"
align
=
"center"
class
-
name
=
"small-padding fixed-width"
>
<
template
slot
-
scope
=
"scope"
>
...
...
@@ -128,6 +128,13 @@
@
click
=
"handleUpdate(scope.row)"
v
-
hasPermi
=
"['system:eventInfo:edit']"
>
修改
<
/el-button
>
<
el
-
button
size
=
"mini"
type
=
"text"
icon
=
"el-icon-document-copy"
@
click
=
"handleDtail(scope.row)"
>
详情
<
/el-button
>
<
el
-
button
<
el
-
button
size
=
"mini"
type
=
"text"
...
...
@@ -148,15 +155,15 @@
/>
<!--
添加或修改事件处置对话框
-->
<
el
-
dialog
:
title
=
"title"
:
visible
.
sync
=
"open"
width
=
"
10
00px"
append
-
to
-
body
>
<
el
-
dialog
:
title
=
"title"
:
visible
.
sync
=
"open"
width
=
"
8
00px"
append
-
to
-
body
>
<
el
-
form
ref
=
"form"
:
model
=
"form"
:
rules
=
"rules"
label
-
width
=
"100px"
>
<
div
class
=
"division"
>
<
div
style
=
"width:
50
%"
>
<
div
style
=
"width:
45
%"
>
<
el
-
form
-
item
label
=
"事件名称"
prop
=
"eventTitle"
>
<
el
-
input
v
-
model
=
"form.eventTitle"
placeholder
=
"请输入事件名称"
/>
<
el
-
input
v
-
model
=
"form.eventTitle"
placeholder
=
"请输入事件名称"
:
disabled
=
"readonly"
/>
<
/el-form-item
>
<
el
-
form
-
item
label
=
"事件类型"
prop
=
"eventType"
>
<
el
-
select
v
-
model
=
"form.eventType"
placeholder
=
"请选择事件类型"
>
<
el
-
select
v
-
model
=
"form.eventType"
placeholder
=
"请选择事件类型"
:
disabled
=
"readonly"
>
<
el
-
option
v
-
for
=
"dict in eventTypeOptions"
:
key
=
"dict.dictValue"
...
...
@@ -166,7 +173,7 @@
<
/el-select
>
<
/el-form-item
>
<
el
-
form
-
item
label
=
"事件等级"
prop
=
"eventLevel"
>
<
el
-
select
v
-
model
=
"form.eventLevel"
placeholder
=
"请选择事件等级"
>
<
el
-
select
v
-
model
=
"form.eventLevel"
placeholder
=
"请选择事件等级"
:
disabled
=
"readonly"
>
<
el
-
option
v
-
for
=
"dict in eventLevelOptions"
:
key
=
"dict.dictValue"
...
...
@@ -176,27 +183,13 @@
<
/el-select
>
<
/el-form-item
>
<
el
-
form
-
item
label
=
"事件地点"
prop
=
"eventLocation"
>
<
el
-
input
v
-
model
=
"form.eventLocation"
placeholder
=
"请输入事件地点"
/>
<
/el-form-item
>
<
el
-
form
-
item
label
=
"图片上传"
prop
=
"iconUrl"
>
<
el
-
upload
:
action
=
"uploadImgUrl"
list
-
type
=
"picture-card"
:
on
-
preview
=
"handlePictureCardPreview"
:
on
-
success
=
"uploadsuccess"
:
on
-
remove
=
"handleRemove"
:
file
-
list
=
"fileList"
>
<
i
class
=
"el-icon-plus"
><
/i
>
<
/el-upload
>
<
el
-
dialog
:
visible
.
sync
=
"dialogVisible"
>
<
img
width
=
"100%"
:
src
=
"dialogImageUrl"
alt
=
""
>
<
/el-dialog
>
<!--
<
el
-
input
v
-
model
=
"form.iconUrl"
type
=
"textarea"
placeholder
=
"请输入内容"
/>-->
<
el
-
input
v
-
model
=
"form.eventLocation"
placeholder
=
"请输入事件地点"
:
disabled
=
"readonly"
/>
<
/el-form-item
>
<
/div
>
<
div
style
=
"width: 50%"
>
<
el
-
form
-
item
label
=
"所属企业"
prop
=
"beyondEnterpriseId"
>
<
el
-
select
v
-
model
=
"form.beyondEnterprise
Id"
placeholder
=
"请选择预案等级"
@
change
=
"qiyechang
"
>
<
el
-
select
v
-
model
=
"form.beyondEnterprise
Name"
placeholder
=
"请选择预案等级"
@
change
=
"qiyechang"
:
disabled
=
"readonly
"
>
<
el
-
option
v
-
for
=
"dict in enterpriseList"
:
key
=
"dict.enterpriseId"
...
...
@@ -207,29 +200,49 @@
<!--
<
el
-
input
v
-
model
=
"form.beyondEnterpriseId"
placeholder
=
"请输入所属企业"
/>-->
<
/el-form-item
>
<
el
-
form
-
item
label
=
"报案人"
prop
=
"reportPerson"
>
<
el
-
input
v
-
model
=
"form.reportPerson"
placeholder
=
"请输入报案人"
/>
<
el
-
input
v
-
model
=
"form.reportPerson"
placeholder
=
"请输入报案人"
:
disabled
=
"readonly"
/>
<
/el-form-item
>
<
el
-
form
-
item
label
=
"报案时间"
prop
=
"reportTime"
>
<
el
-
form
-
item
label
=
"报案时间"
prop
=
"reportTime"
>
<
el
-
date
-
picker
clearable
size
=
"small"
v
-
model
=
"form.reportTime"
type
=
"date"
value
-
format
=
"yyyy-MM-dd"
type
=
"datetime"
value
-
format
=
"yyyy-MM-dd HH:mm:ss"
:
disabled
=
"readonly"
placeholder
=
"选择报案时间"
>
<
/el-date-picker
>
<
/el-form-item
>
<
el
-
form
-
item
label
=
"备注"
prop
=
"remarks"
>
<
el
-
input
v
-
model
=
"form.remarks"
placeholder
=
"请输入备注"
/>
<
el
-
input
v
-
model
=
"form.remarks"
placeholder
=
"请输入备注"
:
disabled
=
"readonly"
/>
<
/el-form-item
>
<
/div
>
<
/div
>
<
el
-
form
-
item
label
=
"事件处置信息"
prop
=
"eventDeal"
>
<
el
-
input
v
-
model
=
"form.eventDeal"
type
=
"textarea"
placeholder
=
"请输入事件处置信息"
/>
<
el
-
form
-
item
label
=
"事件处置信息"
prop
=
"eventDeal"
style
=
"width: 60%"
>
<
el
-
input
v
-
model
=
"form.eventDeal"
type
=
"textarea"
placeholder
=
"请输入事件处置信息"
:
disabled
=
"readonly"
/>
<
/el-form-item
>
<
el
-
form
-
item
label
=
"事件评估信息"
prop
=
"eventAssessment"
>
<
el
-
input
v
-
model
=
"form.eventAssessment"
type
=
"textarea"
placeholder
=
"请输入事件评估信息"
/>
<
el
-
form
-
item
label
=
"事件评估信息"
prop
=
"eventAssessment"
style
=
"width: 60%"
>
<
el
-
input
v
-
model
=
"form.eventAssessment"
type
=
"textarea"
placeholder
=
"请输入事件评估信息"
:
disabled
=
"readonly"
/>
<
/el-form-item
>
<
el
-
form
-
item
label
=
"事件附件"
prop
=
"iconUrl"
:
style
=
"display"
>
<
FileUpload
listType
=
"picture"
@
resFun
=
"getFileInfo"
@
remove
=
"listRemove"
:
fileArr
=
"fileList"
style
=
"width: 70%"
/>
<
el
-
input
v
-
show
=
"false"
disabled
v
-
model
=
"form.iconUrl"
><
/el-input
>
<!--
<
el
-
input
v
-
model
=
"form.iconUrl"
type
=
"textarea"
placeholder
=
"请输入内容"
/>-->
<
/el-form-item
>
<
el
-
form
-
item
label
=
"事件附件"
prop
=
"iconUrl"
:
style
=
"display1"
>
<
span
class
=
"dbtn"
@
click
=
"checkFile(form.iconUrl)"
v
-
if
=
"form.iconUrl != ''"
>
<
i
class
=
"el-icon el-icon-view"
><
/i>查看/
下载
<
/span
>
<
span
v
-
else
>-<
/span
>
<
/el-form-item
>
<!--
<
el
-
form
-
item
label
=
"所属企业名称"
prop
=
"beyondEnterpriseName"
>-->
<!--
<
el
-
input
v
-
model
=
"form.beyondEnterpriseName"
placeholder
=
"请输入所属企业名称"
/>-->
<!--
<
/el-form-item>--
>
...
...
@@ -247,10 +260,12 @@
<
script
>
import
{
listEventInfo
,
getEventInfo
,
delEventInfo
,
addEventInfo
,
updateEventInfo
,
exportEventInfo
,
enterpriseList
}
from
"@/api/system/eventInfo"
;
import
FileUpload
from
'@/components/FileUpload'
;
let
uploadfile
=
require
(
"@/assets/uploadfile.png"
);
export
default
{
name
:
"EventInfo"
,
components
:
{
FileUpload
}
,
data
()
{
return
{
...
...
@@ -267,6 +282,8 @@ export default {
multiple
:
true
,
// 显示搜索条件
showSearch
:
true
,
readonly
:
false
,
// 总条数
total
:
0
,
// 事件处置表格数据
...
...
@@ -274,10 +291,10 @@ export default {
enterpriseList
:[],
// 弹出层标题
title
:
""
,
display
:
""
,
display1
:
"display:none"
,
// 是否显示弹出层
open
:
false
,
dialogImageUrl
:
''
,
dialogVisible
:
false
,
fileList
:[],
// 事件类型:1.泄漏 2.火灾 3.爆炸字典
eventTypeOptions
:
[],
...
...
@@ -346,20 +363,20 @@ export default {
}
);
}
,
//上传
handleRemove
(
file
,
fileList
)
{
//console.log(file, fileList);
document
.
getElementsByClassName
(
"el-upload"
)[
0
].
style
.
display
=
""
getFileInfo
(
res
){
//this.form.dealPlan = res.fileName;
this
.
form
.
iconUrl
=
res
.
url
;
this
.
fileList
.
push
({
name
:
res
.
fileName
,
url
:
uploadfile
,
}
);
}
,
uploadsuccess
(
response
){
this
.
form
.
iconUrl
=
response
.
url
;
console
.
log
(
document
.
getElementsByClassName
(
"el-upload"
)[
0
])
this
.
$nextTick
(()
=>
{
document
.
getElementsByClassName
(
"el-upload"
)[
0
].
style
.
display
=
"none"
}
)
listRemove
(
e
)
{
this
.
form
.
dealPlan
=
""
;
this
.
fileList
=
[];
}
,
handlePictureCardPreview
(
file
)
{
this
.
dialogImageUrl
=
file
.
url
;
this
.
dialogVisible
=
true
;
checkFile
(
url
)
{
window
.
open
(
url
,
'_blank'
);
}
,
qiyechang
(
value
){
let
obj
=
{
}
;
...
...
@@ -367,6 +384,7 @@ export default {
return
item
.
enterpriseId
===
value
;
}
);
this
.
form
.
beyondEnterpriseName
=
obj
.
enterpriseName
;
this
.
form
.
beyondEnterpriseId
=
value
;
}
,
// 事件类型:1.泄漏 2.火灾 3.爆炸字典翻译
eventTypeFormat
(
row
,
column
)
{
...
...
@@ -425,15 +443,32 @@ export default {
/** 新增按钮操作 */
handleAdd
()
{
this
.
fileList
=
[];
this
.
readonly
=
false
;
this
.
reset
();
this
.
open
=
true
;
this
.
title
=
"添加事件处置"
;
this
.
$nextTick
(()
=>
{
document
.
getElementsByClassName
(
"el-upload"
)[
0
].
style
.
display
=
""
}
)
this
.
display
=
""
;
this
.
display1
=
"display:none"
;
}
,
handleDtail
(
row
){
this
.
fileList
=
[];
this
.
readonly
=
true
;
this
.
reset
();
this
.
open
=
true
;
const
eventId
=
row
.
eventId
||
this
.
ids
getEventInfo
(
eventId
).
then
(
response
=>
{
this
.
form
=
response
.
data
;
this
.
title
=
"修改事件处置"
;
if
(
row
.
iconUrl
!=
null
){
this
.
fileList
=
[{
name
:
'附件'
,
url
:
uploadfile
}
];
}
this
.
display
=
"display:none"
;
this
.
display1
=
""
;
}
);
}
,
/** 修改按钮操作 */
handleUpdate
(
row
)
{
this
.
readonly
=
false
;
this
.
fileList
=
[];
this
.
reset
();
const
eventId
=
row
.
eventId
||
this
.
ids
...
...
@@ -442,11 +477,10 @@ export default {
this
.
open
=
true
;
this
.
title
=
"修改事件处置"
;
if
(
row
.
iconUrl
!=
null
){
this
.
fileList
=
[{
name
:
'file'
,
url
:
row
.
iconUrl
}
];
this
.
$nextTick
(()
=>
{
document
.
getElementsByClassName
(
"el-upload"
)[
0
].
style
.
display
=
"none"
}
)
this
.
fileList
=
[{
name
:
'附件'
,
url
:
uploadfile
}
];
}
this
.
display
=
""
;
this
.
display1
=
"display:none"
;
}
);
}
,
/** 提交按钮 */
...
...
@@ -507,4 +541,20 @@ export default {
flex
-
direction
:
row
;
justify
-
content
:
flex
-
start
;
}
.
dbtn
{
display
:
inline
-
block
;
line
-
height
:
normal
;
padding
-
left
:
2
px
;
padding
-
right
:
2
px
;
cursor
:
pointer
;
border
-
radius
:
3
px
;
border
-
style
:
solid
;
border
-
width
:
0
;
color
:
rgb
(
48
,
180
,
107
);
}
<
/style
>
<
style
lang
=
"scss"
scoped
>
::
v
-
deep
.
el
-
select
{
width
:
100
%
;
}
<
/style
>
gassafetyprogress-web/src/views/system/planInfo/index.vue
View file @
553e71e6
...
...
@@ -97,14 +97,26 @@
<el-table-column
type=
"selection"
width=
"55"
align=
"center"
/>
<!--
<el-table-column
label=
"预案id"
align=
"center"
prop=
"planId"
/>
-->
<el-table-column
label=
"预案标题"
align=
"center"
prop=
"planTitle"
/>
<el-table-column
label=
"所属企业名称"
align=
"center"
prop=
"beyondEnterpriseName"
/>
<el-table-column
label=
"预案类型"
align=
"center"
prop=
"planType"
:formatter=
"planTypeFormat"
/>
<el-table-column
label=
"预案等级"
align=
"center"
prop=
"planLevel"
:formatter=
"planLevelFormat"
/>
<el-table-column
label=
"所属企业名称"
align=
"center"
prop=
"beyondEnterpriseName"
/>
<el-table-column
label=
"应急方案"
align=
"center"
prop=
"planContents"
/>
<!--
<el-table-column
label=
"应急方案"
align=
"center"
prop=
"planContents"
/>
-->
<el-table-column
label=
"应急设备及车辆"
align=
"center"
prop=
"planEquipment"
/>
<el-table-column
label=
"方案附件"
align=
"center"
prop=
"dealPlanUrl"
width=
"150px"
>
<template
slot-scope=
"scope"
>
<span
class=
"dbtn"
@
click=
"checkFile(scope.row.iconUrl)"
v-if=
"scope.row.iconUrl != ''"
>
<i
class=
"el-icon el-icon-view"
></i>
查看/下载
</span>
<span
v-else
>
-
</span>
</
template
>
</el-table-column>
<el-table-column
label=
"创建时间"
align=
"center"
prop=
"createTime"
width=
"180"
>
<
template
slot-scope=
"scope"
>
<span>
{{
parseTime
(
scope
.
row
.
createTime
,
'{y
}
-{m
}
-{d
}
'
)
}}
<
/span
>
<span>
{{
parseTime
(
scope
.
row
.
createTime
,
'{y
}
-{m
}
-{d
}
{h
}
:{i
}
:{s
}
'
)
}}
<
/span
>
<
/template
>
<
/el-table-column
>
<
el
-
table
-
column
label
=
"备注"
align
=
"center"
prop
=
"remarks"
/>
...
...
@@ -117,6 +129,12 @@
@
click
=
"handleUpdate(scope.row)"
v
-
hasPermi
=
"['system:planInfo:edit']"
>
修改
<
/el-button
>
<
el
-
button
size
=
"mini"
type
=
"text"
icon
=
"el-icon-document-copy"
@
click
=
"handleDtail(scope.row)"
>
详情
<
/el-button
>
<
el
-
button
size
=
"mini"
type
=
"text"
...
...
@@ -137,15 +155,16 @@
/>
<!--
添加或修改应急预案对话框
-->
<
el
-
dialog
:
title
=
"title"
:
visible
.
sync
=
"open"
width
=
"1
0
00px"
append
-
to
-
body
>
<
el
-
dialog
:
title
=
"title"
:
visible
.
sync
=
"open"
width
=
"1
2
00px"
append
-
to
-
body
>
<
el
-
form
ref
=
"form"
:
model
=
"form"
:
rules
=
"rules"
label
-
width
=
"100px"
>
<
div
class
=
"division"
>
<
div
style
=
"width: 50%;"
>
<
el
-
form
-
item
label
=
"预案标题"
prop
=
"planTitle"
>
<
el
-
input
v
-
model
=
"form.planTitle"
placeholder
=
"请输入预案标题"
/>
<
div
style
=
"width: 40%;"
>
<
div
class
=
"titletitle"
>
预案基本信息
<
/div
>
<
el
-
form
-
item
label
=
"预案标题"
prop
=
"planTitle"
>
<
el
-
input
v
-
model
=
"form.planTitle"
placeholder
=
"请输入预案标题"
:
disabled
=
"readonly"
/>
<
/el-form-item
>
<
el
-
form
-
item
label
=
"预案类型"
prop
=
"planType"
>
<
el
-
select
v
-
model
=
"form.planType"
placeholder
=
"请选择预案类型"
>
<
el
-
select
v
-
model
=
"form.planType"
placeholder
=
"请选择预案类型"
:
disabled
=
"readonly"
>
<
el
-
option
v
-
for
=
"dict in planTypeList"
:
key
=
"dict.dictValue"
...
...
@@ -155,7 +174,7 @@
<
/el-select
>
<
/el-form-item
>
<
el
-
form
-
item
label
=
"预案等级"
prop
=
"planLevel"
>
<
el
-
select
v
-
model
=
"form.planLevel"
placeholder
=
"请选择预案等级"
>
<
el
-
select
v
-
model
=
"form.planLevel"
placeholder
=
"请选择预案等级"
:
disabled
=
"readonly"
>
<
el
-
option
v
-
for
=
"dict in planLevelList"
:
key
=
"dict.dictValue"
...
...
@@ -164,38 +183,8 @@
/>
<
/el-select
>
<
/el-form-item
>
<
el
-
form
-
item
label
=
"预案图片"
prop
=
"iconUrl"
>
<
el
-
upload
:
action
=
"uploadImgUrl"
list
-
type
=
"picture-card"
:
on
-
preview
=
"handlePictureCardPreview"
:
on
-
success
=
"uploadsuccess"
:
on
-
remove
=
"handleRemove"
:
file
-
list
=
"fileList"
>
<
i
class
=
"el-icon-plus"
><
/i
>
<!--
<
div
slot
=
"tip"
class
=
"el-upload__tip"
>
只能上传
jpg
/
png
文件,且不超过
500
kb
<
/div>--
>
<
/el-upload
>
<
el
-
dialog
:
visible
.
sync
=
"dialogVisible"
>
<
img
width
=
"100%"
:
src
=
"dialogImageUrl"
alt
=
""
>
<
/el-dialog
>
<
/el-form-item
>
<
el
-
form
-
item
label
=
"应急方案"
prop
=
"planContents"
>
<
el
-
upload
class
=
"upload-demo"
:
action
=
"uploadImgUrl"
:
on
-
success
=
"uploadsuccess2"
:
on
-
remove
=
"handleRemove2"
:
file
-
list
=
"fileList2"
list
-
type
=
"text"
>
<
el
-
button
size
=
"small"
id
=
"uploadfang"
type
=
"primary"
>
点击上传
<
/el-button
>
<!--
<
div
slot
=
"tip"
class
=
"el-upload__tip"
>
只能上传
jpg
/
png
文件,且不超过
500
kb
<
/div>--
>
<
/el-upload
>
<
/el-form-item
>
<
/div
>
<
div
style
=
"width: 50%;"
>
<
el
-
form
-
item
label
=
"所属企业"
prop
=
"beyondEnterpriseId"
>
<
el
-
select
v
-
model
=
"form.beyondEnterpriseId"
placeholder
=
"请选择预案等级"
@
change
=
"qiyechang"
>
<
el
-
form
-
item
label
=
"所属企业"
prop
=
"beyondEnterpriseName"
>
<
el
-
select
v
-
model
=
"form.beyondEnterpriseName"
placeholder
=
"请选择预案等级"
@
change
=
"qiyechang"
:
disabled
=
"readonly"
>
<
el
-
option
v
-
for
=
"dict in enterpriseList"
:
key
=
"dict.enterpriseId"
...
...
@@ -204,13 +193,45 @@
/>
<
/el-select
>
<
/el-form-item
>
<
el
-
form
-
item
label
=
"应急设备车辆"
prop
=
"planEquipment"
>
<
el
-
input
v
-
model
=
"form.planEquipment"
placeholder
=
"请输入应急设备及车辆"
/>
<
el
-
form
-
item
label
=
"应急设备车辆"
prop
=
"planEquipment"
>
<
el
-
input
v
-
model
=
"form.planEquipment"
placeholder
=
"请输入应急设备及车辆"
:
disabled
=
"readonly"
/>
<
/el-form-item
>
<
el
-
form
-
item
label
=
"备注"
prop
=
"remarks"
>
<
el
-
input
v
-
model
=
"form.remarks"
placeholder
=
"请输入备注"
/>
<
el
-
input
v
-
model
=
"form.remarks"
placeholder
=
"请输入备注"
:
disabled
=
"readonly"
/>
<
/el-form-item
>
<
el
-
form
-
item
label
=
"预案附件"
id
=
"fujian"
prop
=
"iconUrl"
>
<
FileUpload
listType
=
"picture"
@
resFun
=
"getFileInfo"
@
remove
=
"listRemove"
:
fileArr
=
"fileList"
/>
<
el
-
input
v
-
show
=
"false"
disabled
v
-
model
=
"form.iconUrl"
><
/el-input
>
<!--
<
el
-
dialog
:
visible
.
sync
=
"dialogVisible"
>-->
<!--
<
img
width
=
"100%"
:
src
=
"dialogImageUrl"
alt
=
""
>-->
<!--
<
/el-dialog>--
>
<
/el-form-item
>
<
el
-
form
-
item
label
=
"预案附件"
id
=
"fujianxia"
prop
=
"iconUrl"
style
=
"display: none"
>
<
span
class
=
"dbtn"
@
click
=
"checkFile(form.iconUrl)"
v
-
if
=
"form.iconUrl != ''"
>
<
i
class
=
"el-icon el-icon-view"
><
/i>查看/
下载
<
/span
>
<
span
v
-
else
>-<
/span
>
<!--
<
el
-
input
v
-
model
=
"fileurl"
placeholder
=
""
/>-->
<
/el-form-item
>
<
/div
>
<
div
style
=
"width: 58%;margin-left: 2%"
>
<
div
class
=
"titletitle"
>
方案内容
<
/div
>
<!--
<
el
-
form
-
item
label
=
"应急方案"
prop
=
"planContents"
>-->
<!--
<
el
-
input
v
-
model
=
"form.planContents"
placeholder
=
""
/>-->
<
editor
v
-
model
=
"form.planContents"
style
=
"height: 300px;"
:
readOnly
=
"readonly"
/>
<!--
<
textarea
id
=
"editorA"
v
-
model
=
"form.planContents"
height
=
"100%"
><
/textarea>--
>
<!--
<
/el-form-item>--
>
<
/div
>
<
/div
>
...
...
@@ -223,7 +244,7 @@
<
/el-form
>
<
div
slot
=
"footer"
class
=
"dialog-footer"
>
<
el
-
button
type
=
"primary"
@
click
=
"submitForm"
>
确
定
<
/el-button
>
<
el
-
button
id
=
"yesbutton"
type
=
"primary"
@
click
=
"submitForm"
>
确
定
<
/el-button
>
<
el
-
button
@
click
=
"cancel"
>
取
消
<
/el-button
>
<
/div
>
<
/el-dialog
>
...
...
@@ -232,16 +253,19 @@
<
script
>
import
{
listPlanInfo
,
getPlanInfo
,
delPlanInfo
,
addPlanInfo
,
updatePlanInfo
,
exportPlanInfo
,
enterpriseList
}
from
"@/api/system/planInfo"
;
import
Editor
from
'@/components/Editor'
;
import
FileUpload
from
'@/components/FileUpload'
;
let
uploadfile
=
require
(
"@/assets/uploadfile.png"
);
export
default
{
name
:
"PlanInfo"
,
components
:
{
Editor
,
FileUpload
}
,
data
()
{
return
{
uploadImgUrl
:
process
.
env
.
VUE_APP_BASE_API
+
"/common/upload"
,
// 上传的图片服务器地址
// 遮罩层
loading
:
true
,
readonly
:
true
,
// 导出遮罩层
exportLoading
:
false
,
// 选中数组
...
...
@@ -266,7 +290,7 @@ export default {
dialogImageUrl
:
''
,
dialogVisible
:
false
,
fileList
:[],
file
List2
:[]
,
file
url
:
''
,
// 查询参数
queryParams
:
{
pageNum
:
1
,
...
...
@@ -283,7 +307,7 @@ export default {
planTitle
:
[
{
required
:
true
,
message
:
"标题不能为空"
,
trigger
:
"blur"
}
],
beyondEnterprise
Id
:
[
beyondEnterprise
Name
:
[
{
required
:
true
,
message
:
"所属企业不能为空"
,
trigger
:
"blur"
}
],
planType
:
[
...
...
@@ -322,40 +346,55 @@ export default {
}
);
}
,
qiyechang
(
value
){
console
.
log
(
value
)
let
obj
=
{
}
;
obj
=
this
.
enterpriseList
.
find
((
item
)
=>
{
return
item
.
enterpriseId
===
value
;
}
);
this
.
form
.
beyondEnterpriseName
=
obj
.
enterpriseName
;
this
.
form
.
beyondEnterpriseId
=
value
;
}
,
//上传图片
uploadsuccess
(
response
){
this
.
form
.
iconUrl
=
response
.
url
;
//console.log(document.getElementsByClassName("el-upload--picture-card"))
document
.
getElementsByClassName
(
"el-upload--picture-card"
)[
0
].
style
.
display
=
"none"
;
}
,
handleRemove
(
file
,
fileList
)
{
document
.
getElementsByClassName
(
"el-upload--picture-card"
)[
0
].
style
.
display
=
""
;
}
,
handlePictureCardPreview
(
file
)
{
this
.
dialogImageUrl
=
file
.
url
;
this
.
dialogVisible
=
true
;
//上传
getFileInfo
(
res
){
//this.form.dealPlan = res.fileName;
this
.
form
.
iconUrl
=
res
.
url
;
this
.
fileList
.
push
({
name
:
res
.
fileName
,
url
:
uploadfile
,
}
);
}
,
//上传方案
handleRemove2
(
file
,
fileList
)
{
document
.
getElementById
(
"uploadfang"
).
style
.
display
=
""
;
listRemove
(
e
)
{
this
.
form
.
dealPlan
=
""
;
this
.
fileList
=
[]
;
}
,
uploadsuccess2
(
response
){
this
.
form
.
planContents
=
response
.
url
;
document
.
getElementById
(
"uploadfang"
).
style
.
display
=
"none"
;
checkFile
(
url
)
{
window
.
open
(
url
,
'_blank'
);
}
,
// 取消按钮
cancel
()
{
this
.
fileList
=
[];
this
.
fileList2
=
[];
this
.
open
=
false
;
this
.
reset
();
}
,
//点击下载
downloadFile
()
{
var
item
=
this
.
fileurl
;
var
title
=
item
.
split
(
"/"
)[
item
.
split
(
"/"
).
length
-
1
];
this
.
download
(
item
,
title
);
}
,
download
(
src
,
fileName
)
{
let
x
=
new
XMLHttpRequest
();
x
.
open
(
"GET"
,
src
,
true
);
x
.
responseType
=
'blob'
;
x
.
onload
=
function
(
e
)
{
let
url
=
window
.
URL
.
createObjectURL
(
x
.
response
)
let
a
=
document
.
createElement
(
'a'
);
a
.
href
=
url
a
.
download
=
fileName
a
.
click
()
}
x
.
send
();
}
,
// 表单重置
reset
()
{
this
.
form
=
{
...
...
@@ -395,18 +434,39 @@ export default {
}
,
/** 新增按钮操作 */
handleAdd
()
{
this
.
open
=
true
;
this
.
readonly
=
false
;
this
.
fileList
=
[];
this
.
fileList2
=
[];
this
.
reset
();
this
.
open
=
true
;
this
.
title
=
"添加应急预案"
;
document
.
getElementById
(
"fujian"
).
style
.
display
=
""
document
.
getElementById
(
"fujianxia"
).
style
.
display
=
"none"
document
.
getElementById
(
"yesbutton"
).
style
.
display
=
""
;
document
.
getElementsByClassName
(
"el-upload--picture-card"
)[
0
].
style
.
display
=
""
;
document
.
getElementById
(
"uploadfang"
).
style
.
display
=
""
;
}
,
handleDtail
(
row
){
this
.
readonly
=
true
;
this
.
fileList
=
[];
this
.
reset
();
this
.
open
=
true
;
const
planId
=
row
.
planId
||
this
.
ids
getPlanInfo
(
planId
).
then
(
response
=>
{
this
.
form
=
response
.
data
;
this
.
title
=
"应急预案详情"
;
this
.
fileList
=
[{
name
:
'file'
,
url
:
uploadfile
}
];
this
.
fileurl
=
row
.
iconUrl
;
document
.
getElementById
(
"yesbutton"
).
style
.
display
=
"none"
;
document
.
getElementById
(
"fujian"
).
style
.
display
=
"none"
document
.
getElementById
(
"fujianxia"
).
style
.
display
=
""
}
);
}
,
/** 修改按钮操作 */
handleUpdate
(
row
)
{
this
.
readonly
=
false
;
this
.
fileList
=
[];
this
.
fileList2
=
[];
this
.
reset
();
const
planId
=
row
.
planId
||
this
.
ids
getPlanInfo
(
planId
).
then
(
response
=>
{
...
...
@@ -414,17 +474,14 @@ export default {
this
.
open
=
true
;
this
.
title
=
"修改应急预案"
;
if
(
row
.
iconUrl
!=
null
||
row
.
iconUrl
==
""
){
this
.
fileList
=
[{
name
:
'file'
,
url
:
row
.
iconUrl
}
];
this
.
fileList
=
[{
name
:
'file'
,
url
:
uploadfile
}
];
this
.
$nextTick
(()
=>
{
document
.
getElementsByClassName
(
"el-upload--picture-card"
)[
0
].
style
.
display
=
"none"
document
.
getElementById
(
"yesbutton"
).
style
.
display
=
""
;
}
)
}
if
(
row
.
planContents
!=
null
||
row
.
planContents
==
""
){
this
.
fileList2
=
[{
name
:
'file2'
,
url
:
row
.
planContents
}
];
this
.
$nextTick
(()
=>
{
document
.
getElementById
(
"uploadfang"
).
style
.
display
=
"none"
}
)
}
document
.
getElementById
(
"fujian"
).
style
.
display
=
""
document
.
getElementById
(
"fujianxia"
).
style
.
display
=
"none"
}
);
}
,
/** 提交按钮 */
...
...
@@ -495,4 +552,27 @@ export default {
flex
-
direction
:
row
;
justify
-
content
:
flex
-
start
;
}
.
dbtn
{
display
:
inline
-
block
;
line
-
height
:
normal
;
padding
-
left
:
2
px
;
padding
-
right
:
2
px
;
cursor
:
pointer
;
border
-
radius
:
3
px
;
border
-
style
:
solid
;
border
-
width
:
0
;
color
:
rgb
(
48
,
180
,
107
);
}
.
titletitle
{
background
:
#
1
c84c6
;
color
:
white
;
height
:
20
px
;
line
-
height
:
20
px
;
text
-
align
:
center
;
margin
-
bottom
:
10
px
;
}
<
/style
>
<
style
lang
=
"scss"
scoped
>
::
v
-
deep
.
el
-
select
{
width
:
100
%
;
}
<
/style
>
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