Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Contribute to GitLab
Sign in
Toggle navigation
H
huaxin-rq
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
耿迪迪
huaxin-rq
Commits
b394a2ab
Commit
b394a2ab
authored
Sep 21, 2026
by
耿迪迪
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
客服及督查页面及后台接口开发
parent
e517630b
Hide whitespace changes
Inline
Side-by-side
Showing
14 changed files
with
3514 additions
and
2 deletions
+3514
-2
TRectifyGroupMemberInfoController.java
...ntroller/checktask/TRectifyGroupMemberInfoController.java
+10
-1
TDanger.java
...ystem/src/main/java/com/zehong/system/domain/TDanger.java
+24
-0
ITRectifyGroupMemberInfoService.java
...ehong/system/service/ITRectifyGroupMemberInfoService.java
+6
-0
TRectifyGroupMemberInfoServiceImpl.java
...stem/service/impl/TRectifyGroupMemberInfoServiceImpl.java
+51
-0
TDangerMapper.xml
...system/src/main/resources/mapper/system/TDangerMapper.xml
+13
-0
TRectifyGroupMemberInfoMapper.xml
...resources/mapper/system/TRectifyGroupMemberInfoMapper.xml
+2
-0
Approval.vue
...s/checktask/customerServiceDanger/components/Approval.vue
+89
-0
DangerDetail.vue
...ecktask/customerServiceDanger/components/DangerDetail.vue
+1018
-0
index.vue
...n-web/src/views/checktask/customerServiceDanger/index.vue
+614
-0
index.vue
huaxin-web/src/views/checktask/danger/index.vue
+3
-0
index.vue
huaxin-web/src/views/checktask/dangergroup/index.vue
+2
-1
Approval.vue
...c/views/checktask/superviseDanger/components/Approval.vue
+89
-0
DangerDetail.vue
...ews/checktask/superviseDanger/components/DangerDetail.vue
+970
-0
index.vue
huaxin-web/src/views/checktask/superviseDanger/index.vue
+623
-0
No files found.
huaxin-admin/src/main/java/com/zehong/web/controller/checktask/TRectifyGroupMemberInfoController.java
View file @
b394a2ab
...
...
@@ -124,11 +124,20 @@ public class TRectifyGroupMemberInfoController extends BaseController
/**
* 非居民安检根据登录人职位获取可选成员小程序接口
* 非居民安检
(工商业)
根据登录人职位获取可选成员小程序接口
* @return
*/
@GetMapping
(
"/otherDangerSelectMemberByUserPost"
)
public
AjaxResult
otherDangerSelectMemberByUserPost
(){
return
AjaxResult
.
success
(
tRectifyGroupMemberInfoService
.
otherDangerSelectMemberByUserPost
());
}
/**
* 客服和督查类型隐患获取可选人员小程序接口
* @return
*/
@GetMapping
(
"/customerAndSuperviseDangerSelectMemberByUserPost"
)
public
AjaxResult
customerAndSuperviseDangerSelectMemberByUserPost
(){
return
AjaxResult
.
success
(
tRectifyGroupMemberInfoService
.
otherDangerSelectMemberByUserPost
());
}
}
huaxin-system/src/main/java/com/zehong/system/domain/TDanger.java
View file @
b394a2ab
...
...
@@ -197,6 +197,14 @@ public class TDanger extends BaseEntity
//是否有审核权限
private
boolean
hasApprovalPermission
;
/** 联系人 */
@Excel
(
name
=
"联系人"
)
private
String
contact
;
/** 表号记录 */
@Excel
(
name
=
"表号"
)
private
String
meterNumRecord
;
public
String
getBranch
()
{
return
branch
;
}
...
...
@@ -634,6 +642,22 @@ public class TDanger extends BaseEntity
this
.
hasApprovalPermission
=
hasApprovalPermission
;
}
public
String
getContact
()
{
return
contact
;
}
public
void
setContact
(
String
contact
)
{
this
.
contact
=
contact
;
}
public
String
getMeterNumRecord
()
{
return
meterNumRecord
;
}
public
void
setMeterNumRecord
(
String
meterNumRecord
)
{
this
.
meterNumRecord
=
meterNumRecord
;
}
@Override
public
String
toString
()
{
return
new
ToStringBuilder
(
this
,
ToStringStyle
.
MULTI_LINE_STYLE
)
...
...
huaxin-system/src/main/java/com/zehong/system/service/ITRectifyGroupMemberInfoService.java
View file @
b394a2ab
...
...
@@ -79,4 +79,10 @@ public interface ITRectifyGroupMemberInfoService
* @return
*/
List
<
TRectifyGroupMemberInfo
>
otherDangerSelectMemberByUserPost
();
/**
* 客服和督查类型隐患获取可选人员小程序接口
* @return
*/
List
<
TRectifyGroupMemberInfo
>
customerAndSuperviseDangerSelectMemberByUserPost
();
}
huaxin-system/src/main/java/com/zehong/system/service/impl/TRectifyGroupMemberInfoServiceImpl.java
View file @
b394a2ab
...
...
@@ -242,4 +242,55 @@ public class TRectifyGroupMemberInfoServiceImpl implements ITRectifyGroupMemberI
}
return
result
;
}
/**
* 客服和督查类型隐患获取可选人员小程序接口
* @return
*/
@Override
public
List
<
TRectifyGroupMemberInfo
>
customerAndSuperviseDangerSelectMemberByUserPost
(){
//登录人信息
Long
userId
=
SecurityUtils
.
getLoginUser
().
getUser
().
getUserId
();
//获取登录人职务
TRectifyGroupMemberInfo
tRectifyGroupMemberInfo
=
new
TRectifyGroupMemberInfo
();
tRectifyGroupMemberInfo
.
setUserId
(
userId
);
List
<
TRectifyGroupMemberInfo
>
memberInfoList
=
tRectifyGroupMemberInfoMapper
.
selectTRectifyGroupMemberInfoList
(
tRectifyGroupMemberInfo
);
if
(
CollectionUtils
.
isEmpty
(
memberInfoList
))
throw
new
CustomException
(
"未获取到登录人分组信息"
);
List
<
TRectifyGroupMemberInfo
>
result
=
new
ArrayList
<>();
for
(
TRectifyGroupMemberInfo
memberInfo
:
memberInfoList
){
/**
* 1.不是维修班的组员只能看到自己的组长
* 2.不是维修班的班长只能看到自己的组员和维修班的班长
* 3.维修班的班长只能看到自己的组员和其他维修班的班长
* 4.维修班的组员只能看到自己的组长
*/
if
(
"1"
.
equals
(
memberInfo
.
getPost
())){
//班长登录
//自己的组员
TRectifyGroupMemberInfo
InspectTeam
=
new
TRectifyGroupMemberInfo
();
InspectTeam
.
setGroupId
(
memberInfo
.
getGroupId
());
InspectTeam
.
setPost
(
"2"
);
List
<
TRectifyGroupMemberInfo
>
teamInfo
=
tRectifyGroupMemberInfoMapper
.
selectTRectifyGroupMemberInfoList
(
InspectTeam
);
result
.
addAll
(
teamInfo
);
//维修班组长信息
TRectifyGroupMemberInfo
leader
=
new
TRectifyGroupMemberInfo
();
leader
.
setPost
(
"1"
);
leader
.
setType
(
"2"
);
List
<
TRectifyGroupMemberInfo
>
leaderInfo
=
tRectifyGroupMemberInfoMapper
.
selectTRectifyGroupMemberInfoList
(
leader
);
result
.
addAll
(
leaderInfo
);
}
else
{
//组员登录
//本组组长信息
TRectifyGroupMemberInfo
team
=
new
TRectifyGroupMemberInfo
();
team
.
setGroupId
(
memberInfo
.
getGroupId
());
team
.
setPost
(
"1"
);
List
<
TRectifyGroupMemberInfo
>
leaderInfo
=
tRectifyGroupMemberInfoMapper
.
selectTRectifyGroupMemberInfoList
(
team
);
result
.
addAll
(
leaderInfo
);
}
}
return
result
;
}
}
huaxin-system/src/main/resources/mapper/system/TDangerMapper.xml
View file @
b394a2ab
...
...
@@ -46,6 +46,8 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<result
property=
"dealMethod"
column=
"deal_method"
/>
<result
property=
"branch"
column=
"branch"
/>
<result
property=
"approvalStatus"
column=
"approval_status"
/>
<result
property=
"contact"
column=
"contact"
/>
<result
property=
"meterNumRecord"
column=
"meter_num_record"
/>
</resultMap>
<sql
id=
"selectTDangerVo"
>
...
...
@@ -92,6 +94,8 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
danger.deal_method,
danger.branch,
danger.approval_status,
danger.contact,
danger.meter_num_record,
(SELECT nick_name FROM sys_user where user_id = danger.file_id) as fileName,
(
case type
...
...
@@ -153,6 +157,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<if
test=
"branch != null "
>
and danger.branch = #{branch}
</if>
<if
test=
"params != null and params.approvalCondition != null and params.approvalCondition != ''"
>
${params.approvalCondition}
</if>
<if
test=
"reformName != null and reformName != ''"
>
and ref.nick_name like concat('%',#{reformName},'%')
</if>
<if
test=
"params != null and params.queryType != null and params.queryType != '' and params.queryType == 1"
>
and danger.type not in (9,10)
</if>
</where>
ORDER BY create_time DESC
</select>
...
...
@@ -205,6 +210,8 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<if
test=
"dealMethod != null"
>
deal_method,
</if>
<if
test=
"branch != null"
>
branch,
</if>
<if
test=
"approvalStatus != null"
>
approval_status,
</if>
<if
test=
"contact != null"
>
contact,
</if>
<if
test=
"meterNumRecord != null"
>
meter_num_record,
</if>
</trim>
<trim
prefix=
"values ("
suffix=
")"
suffixOverrides=
","
>
<if
test=
"taskId != null"
>
#{taskId},
</if>
...
...
@@ -247,6 +254,8 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<if
test=
"dealMethod != null"
>
#{dealMethod},
</if>
<if
test=
"branch != null"
>
#{branch},
</if>
<if
test=
"approvalStatus != null"
>
#{approvalStatus},
</if>
<if
test=
"contact != null"
>
#{contact},
</if>
<if
test=
"meterNumRecord != null"
>
#{meterNumRecord},
</if>
</trim>
</insert>
...
...
@@ -293,6 +302,8 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<if
test=
"dealMethod != null"
>
deal_method = #{dealMethod},
</if>
<if
test=
"branch != null"
>
branch = #{branch},
</if>
<if
test=
"approvalStatus != null"
>
approval_status = #{approvalStatus},
</if>
<if
test=
"contact != null"
>
contact = #{contact},
</if>
<if
test=
"meterNumRecord != null"
>
meter_num_record = #{meterNumRecord},
</if>
</trim>
where id = #{id}
</update>
...
...
@@ -370,6 +381,8 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
danger.safety_emergency_plan,
danger.deal_method,
danger.approval_status,
danger.contact,
danger.meter_num_record,
(SELECT nick_name FROM sys_user where user_id = danger.file_id) as fileName,
(
<if
test=
"type == 1"
>
...
...
huaxin-system/src/main/resources/mapper/system/TRectifyGroupMemberInfoMapper.xml
View file @
b394a2ab
...
...
@@ -47,6 +47,8 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<if
test=
"isDel != null and isDel != ''"
>
and member.is_del = #{isDel}
</if>
<if
test=
"remarks != null and remarks != ''"
>
and member.remarks = #{remarks}
</if>
<if
test=
"type != null and type != ''"
>
and info.type = #{type}
</if>
<if
test=
"params != null and params.queryType != null and params.queryType != '' and params.queryType == 1"
>
and info.type in ('3','4')
</if>
<if
test=
"params != null and params.queryType != null and params.queryType != '' and params.queryType == 2"
>
and info.type not in ('1')
</if>
<if
test=
"nickName != null and nickName != ''"
>
AND su.nick_name like concat('%', #{nickName}, '%')
</if>
...
...
huaxin-web/src/views/checktask/customerServiceDanger/components/Approval.vue
0 → 100644
View file @
b394a2ab
<
template
>
<el-dialog
:title=
"title"
:visible
.
sync=
"approvalOpen"
width=
"800px"
append-to-body
destroy-on-close
:close-on-click-modal=
"false"
>
<el-form
ref=
"form"
:model=
"form"
:rules=
"rules"
label-width=
"120px"
>
<el-row>
<el-col
:span=
"24"
>
<el-form-item
label=
"审核状态"
prop=
"state"
>
<el-radio-group
v-model=
"form.state"
>
<el-radio
:label=
"0"
>
通过
</el-radio>
<el-radio
:label=
"1"
>
不通过
</el-radio>
</el-radio-group>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col
:span=
"24"
>
<el-form-item
label=
"审核意见"
prop=
"suggestion"
>
<el-input
type=
"textarea"
v-model=
"form.suggestion"
placeholder=
"请输入审核意见"
/>
</el-form-item>
</el-col>
</el-row>
</el-form>
<div
slot=
"footer"
class=
"dialog-footer"
>
<el-button
type=
"primary"
@
click=
"submitForm"
>
确 定
</el-button>
<el-button
@
click=
"cancel"
>
取 消
</el-button>
</div>
</el-dialog>
</
template
>
<
script
>
import
{
dangerApproval
}
from
"@/api/checktask/danger"
;
export
default
{
name
:
"approval"
,
data
(){
return
{
title
:
"审核"
,
approvalOpen
:
false
,
ids
:
[],
form
:
{},
rules
:
{
state
:
[
{
required
:
true
,
message
:
"请选择审核状态"
,
trigger
:
"change"
}
],
}
}
},
methods
:{
open
(
ids
){
this
.
reset
();
this
.
ids
=
ids
;
this
.
approvalOpen
=
true
;
},
submitForm
(){
this
.
$refs
[
"form"
].
validate
(
valid
=>
{
if
(
valid
)
{
let
data
=
[];
this
.
ids
.
forEach
(
item
=>
{
data
.
push
({
id
:
item
,
...
this
.
form
})
})
dangerApproval
(
data
).
then
(
res
=>
{
this
.
$message
.
success
(
"审核成功"
);
this
.
approvalOpen
=
false
;
this
.
$parent
.
getList
();
})
}
})
},
cancel
(){
this
.
approvalOpen
=
false
;
},
reset
(){
this
.
form
=
{
state
:
null
,
suggestion
:
null
}
this
.
resetForm
(
"form"
);
}
}
}
</
script
>
<
style
scoped
>
</
style
>
huaxin-web/src/views/checktask/customerServiceDanger/components/DangerDetail.vue
0 → 100644
View file @
b394a2ab
<
template
>
<div>
<el-dialog
title=
"隐患记录"
:visible
.
sync=
"dangerDetailOpen"
width=
"1400px"
append-to-body
destroy-on-close
:close-on-click-modal=
"false"
>
<div
class=
"dlg-wrapper"
>
<div
class=
"steps"
>
<MySteps
:stepsData=
"stepsArr"
:active=
"stepsNumData[dangerDetailInfo.status] || 0"
/>
</div>
<el-row>
<div
class=
"t"
>
隐患信息
</div>
<el-row
class=
"container flex bb"
>
<el-col
:span=
"16"
>
<el-form
label-width=
"140px"
class=
"el-table"
>
<el-col
:span=
"12"
>
<el-form-item
label=
"隐患标题"
>
<span>
{{
dangerDetailInfo
.
title
}}
</span>
</el-form-item>
</el-col>
<el-col
:span=
"12"
>
<el-form-item
label=
"隐患状态"
>
<span
v-if=
"dangerDetailInfo.status == 0"
>
待处理
</span>
<span
v-if=
"dangerDetailInfo.status == 1"
>
拒绝整改
</span>
<span
v-if=
"dangerDetailInfo.status == 2"
>
待复查
</span>
<span
v-if=
"dangerDetailInfo.status == 3"
>
待审核
</span>
<span
v-if=
"dangerDetailInfo.status == 4"
>
已归档
</span>
</el-form-item>
</el-col>
<el-col
:span=
"12"
>
<el-form-item
label=
"隐患来源"
>
<span>
{{
$parent
.
typeFormatter
(
dangerDetailInfo
)
}}
</span>
</el-form-item>
</el-col>
<!--
<el-col
:span=
"12"
>
<el-form-item
label=
"场站名称"
v-if=
"dangerDetailInfo.type == '5'"
>
<span
v-if=
"dangerDetailInfo.receiveName"
>
{{
dangerDetailInfo
.
receiveName
}}
</span>
<span
v-else
>
-
</span>
</el-form-item>
<el-form-item
label=
"设备名称"
v-else-if=
"dangerDetailInfo.type == '6'"
>
<span
v-if=
"dangerDetailInfo.receiveName"
>
{{
dangerDetailInfo
.
receiveName
}}
</span>
<span
v-else
>
-
</span>
</el-form-item>
<el-form-item
label=
"用户"
v-else
>
<span
v-if=
"dangerDetailInfo.receiveName"
>
{{
dangerDetailInfo
.
receiveName
}}
</span>
<span
v-else
>
-
</span>
</el-form-item>
</el-col>
-->
<el-col
:span=
"12"
>
<el-form-item
label=
"隐患级别"
>
<span
v-if=
"dangerDetailInfo.level == 1"
>
重大
</span>
<span
v-if=
"dangerDetailInfo.level == 2"
>
一般
</span>
</el-form-item>
</el-col>
<el-col
:span=
"12"
>
<el-form-item
label=
"上报时间"
>
{{
parseTime
(
dangerDetailInfo
.
createTime
,
"{y
}
-{m
}
-{d
}
{h
}
:{i
}
:{s
}
"
)
}}
<
/el-form-item
>
<
/el-col
>
<
el
-
col
:
span
=
"12"
>
<
el
-
form
-
item
label
=
"隐患内容"
>
<
span
v
-
if
=
"dangerDetailInfo.beforeContent"
>
{{
dangerDetailInfo
.
beforeContent
}}
<
/span
>
<
span
v
-
else
>-<
/span
>
<
/el-form-item
>
<
/el-col
>
<
el
-
col
:
span
=
"12"
>
<
el
-
form
-
item
label
=
"上报人"
>
{{
dangerDetailInfo
.
reportName
}}
<
/el-form-item
>
<
/el-col
>
<
el
-
col
:
span
=
"12"
>
<
el
-
form
-
item
label
=
"联系人"
>
<
span
v
-
if
=
"dangerDetailInfo.contact"
>
{{
dangerDetailInfo
.
contact
}}
<
/span
>
<
span
v
-
else
>-<
/span
>
<
/el-form-item
>
<
/el-col
>
<
el
-
col
:
span
=
"12"
>
<
el
-
form
-
item
label
=
"联系电话"
>
<
span
v
-
if
=
"dangerDetailInfo.phone"
>
{{
dangerDetailInfo
.
phone
}}
<
/span
>
<
span
v
-
else
>-<
/span
>
<
/el-form-item
>
<
/el-col
>
<
el
-
col
:
span
=
"12"
>
<
el
-
form
-
item
label
=
"表号"
>
<
span
v
-
if
=
"dangerDetailInfo.meterNumRecord"
>
{{
dangerDetailInfo
.
meterNumRecord
}}
<
/span
>
<
span
v
-
else
>-<
/span
>
<
/el-form-item
>
<
/el-col
>
<
el
-
col
:
span
=
"12"
>
<
el
-
form
-
item
label
=
"隐患地址"
>
<
span
v
-
if
=
"dangerDetailInfo.address"
>
{{
dangerDetailInfo
.
address
}}
<
/span
>
<
span
v
-
else
>-<
/span
>
<
/el-form-item
>
<
/el-col
>
<!--
<
el
-
col
:
span
=
"12"
>
<
el
-
form
-
item
label
=
"责任归属"
>
<
span
v
-
if
=
"dangerDetailInfo.flag == 1"
>
安全管理部
<
/span
>
<
span
v
-
else
-
if
=
"dangerDetailInfo.flag == 2"
>
客服运营部
<
/span
>
<
span
v
-
else
-
if
=
"dangerDetailInfo.flag == 3"
>
生产运营部
<
/span
>
<
span
v
-
else
>-<
/span
>
<
/el-form-item
>
<
/el-col>--
>
<
el
-
col
:
span
=
"12"
>
<
el
-
form
-
item
label
=
"整改前图片"
prop
=
"beforeImg"
>
<
div
>
<
MyImage
v
-
if
=
"dangerDetailInfo.beforeImg"
:
src
=
"dangerDetailInfo.beforeImg.split(',')[0]"
:
previewSrcList
=
"dangerDetailInfo.beforeImg.split(',')"
/>
<
div
class
=
"error"
v
-
else
>
暂无图片
<
/div
>
<
/div
>
<
/el-form-item
>
<
/el-col
>
<
el
-
col
:
span
=
"12"
>
<
el
-
form
-
item
label
=
"整改前视频"
prop
=
"beforeVideo"
>
<
span
v
-
if
=
"dangerDetailInfo.beforeVideo"
>
<
video
v
-
for
=
"videoInfo in dangerDetailInfo.beforeVideo.split(
','
)"
:
key
=
"videoInfo"
type
=
"video/mp4"
controls
=
"controls"
:
src
=
"videoInfo"
class
=
"upload-video"
/>
<
/span
>
<
span
v
-
else
>-<
/span
>
<
/el-form-item
>
<
/el-col
>
<
el
-
col
:
span
=
"12"
>
<
el
-
form
-
item
label
=
"整改期限"
>
<
span
v
-
if
=
"dangerDetailInfo.endTime"
>
{{
dangerDetailInfo
.
endTime
}}
<
/span
>
<
span
v
-
else
>-<
/span
>
<
/el-form-item
>
<
/el-col
>
<
el
-
col
:
span
=
"12"
>
<
el
-
form
-
item
label
=
"整改方式"
>
<
span
v
-
if
=
"dangerDetailInfo.dealMethod == '1'"
>
燃气用户整改
<
/span
>
<
span
v
-
else
-
if
=
"dangerDetailInfo.dealMethod == '2'"
>
用户出资公司整改
<
/span
>
<
span
v
-
else
-
if
=
"dangerDetailInfo.dealMethod == '3'"
>
燃气公司整改
<
/span
>
<!--
<
span
v
-
else
-
if
=
"dangerDetailInfo.dealMethod == '4'"
>
公司出资整改
<
/span>--
>
<
span
v
-
else
>-<
/span
>
<
/el-form-item
>
<
/el-col
>
<
el
-
col
:
span
=
"12"
>
<
el
-
form
-
item
label
=
"营业网点"
>
<
span
>
{{
$parent
.
branchFormat
(
dangerDetailInfo
,
null
)
}}
<
/span
>
<
/el-form-item
>
<
/el-col
>
<!--
<
el
-
col
:
span
=
"12"
>
<
el
-
form
-
item
label
=
"归档人"
>
<
span
v
-
if
=
"dangerDetailInfo.fileName"
>
{{
dangerDetailInfo
.
fileName
}}
<
/span>
6
<
span
v
-
else
>-<
/span
>
<
/el-form-item
>
<
/el-col
>
<
el
-
col
:
span
=
"12"
>
<
el
-
form
-
item
label
=
"归档时间"
>
<
span
v
-
if
=
"dangerDetailInfo.fileTime"
>
{{
dangerDetailInfo
.
fileTime
}}
<
/span
>
<
span
v
-
else
>-<
/span
>
<
/el-form-item
>
<
/el-col>--
>
<
el
-
col
:
span
=
"12"
v
-
if
=
"dangerDetailInfo.type == '8'"
>
<
el
-
form
-
item
label
=
"治理的标准要求"
>
<
span
v
-
if
=
"dangerDetailInfo.governanceStandards"
>
{{
dangerDetailInfo
.
governanceStandards
}}
<
/span
>
<
span
v
-
else
>-<
/span
>
<
/el-form-item
>
<
/el-col
>
<
el
-
col
:
span
=
"12"
v
-
if
=
"dangerDetailInfo.type == '8'"
>
<
el
-
form
-
item
label
=
"治理方法和措施"
>
<
span
v
-
if
=
"dangerDetailInfo.governanceMethod"
>
{{
dangerDetailInfo
.
governanceMethod
}}
<
/span
>
<
span
v
-
else
>-<
/span
>
<
/el-form-item
>
<
/el-col
>
<
el
-
col
:
span
=
"12"
v
-
if
=
"dangerDetailInfo.type == '8'"
>
<
el
-
form
-
item
label
=
"经费和物资的落实"
>
<
span
v
-
if
=
"dangerDetailInfo.fundsMaterials"
>
{{
dangerDetailInfo
.
fundsMaterials
}}
<
/span
>
<
span
v
-
else
>-<
/span
>
<
/el-form-item
>
<
/el-col
>
<
el
-
col
:
span
=
"12"
v
-
if
=
"dangerDetailInfo.type == '8'"
>
<
el
-
form
-
item
label
=
"安全措施和应急预案"
>
<
span
v
-
if
=
"dangerDetailInfo.safetyEmergencyPlan"
>
{{
dangerDetailInfo
.
safetyEmergencyPlan
}}
<
/span
>
<
span
v
-
else
>-<
/span
>
<
/el-form-item
>
<
/el-col
>
<
el
-
col
:
span
=
"24"
>
<
el
-
form
-
item
label
=
"备注"
>
<
span
v
-
if
=
"dangerDetailInfo.remark"
>
{{
dangerDetailInfo
.
remark
}}
<
/span
>
<
span
v
-
else
>-<
/span
>
<
/el-form-item
>
<
/el-col
>
<
/el-form
>
<
/el-col
>
<
el
-
col
:
span
=
"8"
>
<
div
id
=
"dangerMap"
><
/div
>
<
div
class
=
"map-bottom"
>
隐患上报位置
<
/div
>
<
/el-col
>
<
/el-row
>
<
div
class
=
"t"
v
-
if
=
"dangerDetailInfo.tTaskInspect"
>
安检信息
<
/div
>
<
el
-
row
class
=
"container flex bb"
v
-
if
=
"dangerDetailInfo.tTaskInspect"
>
<
el
-
form
label
-
width
=
"110px"
class
=
"el-table"
>
<
el
-
col
style
=
"height: auto"
:
span
=
"8"
>
<
el
-
col
:
span
=
"24"
>
<
el
-
form
-
item
label
=
"安检时间"
>
<
span
v
-
if
=
"dangerDetailInfo.tTaskInspect.createTime"
>
{{
dangerDetailInfo
.
tTaskInspect
.
createTime
}}
<
/span
>
<
span
v
-
else
>-<
/span
>
<
/el-form-item
>
<
/el-col
>
<
el
-
col
:
span
=
"24"
>
<
el
-
form
-
item
label
=
"安检人"
>
<
span
v
-
if
=
"dangerDetailInfo.tTaskInspect.memberName"
>
{{
dangerDetailInfo
.
tTaskInspect
.
memberName
}}
<
/span
>
<
span
v
-
else
>-<
/span
>
<
/el-form-item
>
<
/el-col
>
<
/el-col
>
<
el
-
col
:
span
=
"16"
>
<
el
-
col
:
span
=
"24"
>
<
el
-
form
-
item
label
=
"签字状态"
>
<
span
v
-
if
=
"dangerDetailInfo.tTaskInspect.sign == 0"
>
未签字
<
/span
>
<
span
v
-
else
-
if
=
"dangerDetailInfo.tTaskInspect.sign == 1"
>
已签字
<
/span
>
<
span
v
-
else
>-<
/span
>
<
/el-form-item
>
<
/el-col
>
<
el
-
col
:
span
=
"24"
>
<
el
-
form
-
item
label
=
"操作"
>
<
el
-
button
type
=
"text"
@
click
=
"handleInspect(dangerDetailInfo.tTaskInspect)"
>
安检单
<
/el-button
>
<
el
-
button
type
=
"text"
@
click
=
"handleCover(dangerDetailInfo.tTaskInspect)"
>
图片
<
/el-button
>
<
/el-form-item
>
<
/el-col
>
<
/el-col
>
<
/el-form
>
<
/el-row
>
<
div
class
=
"t"
>
整改信息
<
/div
>
<
el
-
row
class
=
"container flex bb"
>
<
el
-
form
label
-
width
=
"110px"
class
=
"el-table"
>
<
el
-
col
style
=
"height: auto"
:
span
=
"8"
>
<
el
-
col
:
span
=
"24"
>
<
el
-
form
-
item
label
=
"整改内容"
>
<
span
v
-
if
=
"dangerDetailInfo.afterContent"
>
{{
dangerDetailInfo
.
afterContent
}}
<
/span
>
<
span
v
-
else
>-<
/span
>
<
/el-form-item
>
<
/el-col
>
<
el
-
col
:
span
=
"24"
>
<
el
-
form
-
item
label
=
"整改人"
>
<
span
v
-
if
=
"dangerDetailInfo.reformName"
>
{{
dangerDetailInfo
.
reformName
}}
<
/span
>
<
span
v
-
else
>-<
/span
>
<
/el-form-item
>
<
/el-col
>
<!--
<
el
-
col
:
span
=
"24"
>
<
el
-
form
-
item
label
=
"整改期限"
>
<
span
v
-
if
=
"dangerDetailInfo.endTime"
>
{{
dangerDetailInfo
.
endTime
}}
<
/span
>
<
span
v
-
else
>-<
/span
>
<
/el-form-item
>
<
/el-col>--
>
<
el
-
col
:
span
=
"24"
>
<
el
-
form
-
item
label
=
"整改时间"
>
<
span
v
-
if
=
"dangerDetailInfo.reformTime"
>
{{
dangerDetailInfo
.
reformTime
}}
<
/span
>
<
span
v
-
else
>-<
/span
>
<
/el-form-item
>
<
/el-col
>
<
/el-col
>
<
el
-
col
:
span
=
"16"
>
<
el
-
col
:
span
=
"24"
>
<
el
-
form
-
item
label
=
"整改后图片"
>
<
div
>
<
MyImage
v
-
if
=
"dangerDetailInfo.afterImg"
:
src
=
"dangerDetailInfo.afterImg.split(',')[0]"
:
previewSrcList
=
"dangerDetailInfo.afterImg.split(',')"
/>
<
div
class
=
"error"
v
-
else
>
暂无图片
<
/div
>
<
/div
>
<
/el-form-item
>
<
/el-col
>
<
/el-col
>
<
/el-form
>
<
/el-row
>
<
div
class
=
"t"
>
复查信息
<
/div
>
<
el
-
row
class
=
"container flex bb"
>
<
el
-
form
label
-
width
=
"110px"
class
=
"el-table"
>
<
el
-
col
style
=
"height: auto"
:
span
=
"8"
>
<
el
-
col
:
span
=
"24"
>
<
el
-
form
-
item
label
=
"复查人"
>
<
span
v
-
if
=
"dangerDetailInfo.checkName"
>
{{
dangerDetailInfo
.
checkName
}}
<
/span
>
<
span
v
-
else
>-<
/span
>
<
/el-form-item
>
<
/el-col
>
<
el
-
col
:
span
=
"24"
>
<
el
-
form
-
item
label
=
"复查时间"
>
<
span
v
-
if
=
"dangerDetailInfo.checkTime"
>
{{
dangerDetailInfo
.
checkTime
}}
<
/span
>
<
span
v
-
else
>-<
/span
>
<
/el-form-item
>
<
/el-col
>
<
el
-
col
:
span
=
"24"
>
<
el
-
form
-
item
label
=
"复查备注"
>
<
span
v
-
if
=
"dangerDetailInfo.checkRemark"
>
{{
dangerDetailInfo
.
checkRemark
}}
<
/span
>
<
span
v
-
else
>-<
/span
>
<
/el-form-item
>
<
/el-col
>
<
/el-col
>
<
el
-
col
:
span
=
"16"
>
<
el
-
col
:
span
=
"24"
>
<
el
-
form
-
item
label
=
"复查图片"
prop
=
"checkImg"
>
<
div
>
<
MyImage
v
-
if
=
"dangerDetailInfo.checkImg"
:
src
=
"dangerDetailInfo.checkImg.split(',')[0]"
:
previewSrcList
=
"dangerDetailInfo.checkImg.split(',')"
/>
<
div
class
=
"error"
v
-
else
>
暂无图片
<
/div
>
<
/div
>
<
/el-form-item
>
<
/el-col
>
<
/el-col
>
<
/el-form
>
<
/el-row
>
<
div
class
=
"t"
>
审核信息
<
/div
>
<
div
class
=
"container bb"
>
<
el
-
form
label
-
width
=
"110px"
class
=
"el-table scroll"
v
-
if
=
"dangerApprovalList.length > 0"
>
<
el
-
timeline
>
<
el
-
timeline
-
item
placement
=
"top"
type
=
"primary"
v
-
for
=
"(activity, index) in dangerApprovalList"
:
key
=
"index"
:
timestamp
=
"activity.createTime"
>
<
el
-
card
>
<
el
-
form
-
item
label
=
"审核人"
>
{{
activity
.
nickName
}}
<
/el-form-item
>
<
el
-
form
-
item
label
=
"审状态"
>
<
span
v
-
if
=
"activity.approvalStatus == '0'"
>
通过
<
/span
>
<
span
v
-
else
>
不通过
<
/span
>
<
/el-form-item
>
<
el
-
form
-
item
label
=
"审核意见"
>
{{
activity
.
suggestion
}}
<
/el-form-item
>
<
/el-card
>
<
/el-timeline-item
>
<
/el-timeline
>
<
/el-form
>
<
/div
>
<
div
class
=
"t"
>
归档信息
<
/div
>
<
el
-
row
class
=
"container flex bb"
>
<
el
-
form
label
-
width
=
"110px"
class
=
"el-table"
>
<
el
-
col
:
span
=
"24"
>
<
el
-
col
:
span
=
"4"
>
<
el
-
form
-
item
label
=
"归档人"
>
<
span
v
-
if
=
"dangerDetailInfo.fileName"
>
{{
dangerDetailInfo
.
fileName
}}
<
/span
>
<
span
v
-
else
>-<
/span
>
<
/el-form-item
>
<
/el-col
>
<
el
-
col
:
span
=
"6"
>
<
el
-
form
-
item
label
=
"归档时间"
>
<
span
v
-
if
=
"dangerDetailInfo.fileTime"
>
{{
dangerDetailInfo
.
fileTime
}}
<
/span
>
<
span
v
-
else
>-<
/span
>
<
/el-form-item
>
<
/el-col
>
<!--
<
el
-
col
:
span
=
"14"
>
<
el
-
form
-
item
label
=
"复查备注"
>
<
span
v
-
if
=
"dangerDetailInfo.checkRemark"
>
{{
dangerDetailInfo
.
checkRemark
}}
<
/span
>
<
span
v
-
else
>-<
/span
>
<
/el-form-item
>
<
/el-col>--
>
<
/el-col
>
<
/el-form
>
<
/el-row
>
<
/el-row
>
<!--
<
el
-
row
>
<
el
-
col
:
span
=
"14"
>
<
el
-
form
label
-
width
=
"110px"
class
=
"dangerDetailInfo"
>
<
div
style
=
"font-size: 20px; margin: 7px 0px 7px 0px"
>
隐患信息
<
/div
>
<
el
-
row
>
<
el
-
col
:
span
=
"12"
>
<
el
-
form
-
item
label
=
"隐患标题"
>
<
span
>
{{
dangerDetailInfo
.
title
}}
<
/span
>
<
/el-form-item
>
<
/el-col
>
<
el
-
col
:
span
=
"12"
>
<
el
-
form
-
item
label
=
"隐患状态"
>
<
span
v
-
if
=
"dangerDetailInfo.status == 0"
>
待处理
<
/span
>
<
span
v
-
if
=
"dangerDetailInfo.status == 1"
>
拒绝整改
<
/span
>
<
span
v
-
if
=
"dangerDetailInfo.status == 2"
>
待复查
<
/span
>
<
span
v
-
if
=
"dangerDetailInfo.status == 3"
>
待审核
<
/span
>
<
/el-form-item
>
<
/el-col
>
<
/el-row
>
<
el
-
row
>
<
el
-
col
:
span
=
"12"
>
<
el
-
form
-
item
label
=
"隐患来源"
>
<
span
>
{{
$parent
.
typeFormatter
(
dangerDetailInfo
)
}}
<
/span
>
<
/el-form-item
>
<
/el-col
>
<
el
-
col
:
span
=
"12"
>
<
el
-
form
-
item
label
=
"用户"
>
<
span
v
-
if
=
"dangerDetailInfo.receiveName"
>
{{
dangerDetailInfo
.
receiveName
}}
<
/span
>
<
span
v
-
else
>-<
/span
>
<
/el-form-item
>
<
/el-col
>
<
/el-row
>
<
el
-
row
>
<
el
-
col
:
span
=
"12"
>
<
el
-
form
-
item
label
=
"隐患级别"
>
<
span
v
-
if
=
"dangerDetailInfo.level == 1"
>
一级
<
/span
>
<
span
v
-
if
=
"dangerDetailInfo.level == 2"
>
二级
<
/span
>
<
span
v
-
if
=
"dangerDetailInfo.level == 3"
>
三级
<
/span
>
<
/el-form-item
>
<
/el-col
>
<
el
-
col
:
span
=
"12"
>
<
el
-
form
-
item
label
=
"隐患责任人"
>
<
span
v
-
if
=
"dangerDetailInfo.flag == 1"
>
用户自己
<
/span
>
<
span
v
-
else
-
if
=
"dangerDetailInfo.flag == 2"
>
公司客服部
<
/span
>
<
span
v
-
else
>-<
/span
>
<
/el-form-item
>
<
/el-col
>
<
/el-row
>
<
el
-
row
>
<
el
-
col
:
span
=
"12"
>
<
el
-
form
-
item
label
=
"上报人"
>
{{
dangerDetailInfo
.
reportName
}}
<
/el-form-item
>
<
/el-col
>
<
el
-
col
:
span
=
"12"
>
<
el
-
form
-
item
label
=
"上报时间"
>
{{
parseTime
(
dangerDetailInfo
.
createTime
,
"{y
}
-{m
}
-{d
}
{h
}
:{i
}
:{s
}
"
)
}}
<
/el-form-item
>
<
/el-col
>
<
/el-row
>
<
el
-
col
:
span
=
"24"
>
<
el
-
form
-
item
label
=
"隐患地址"
>
<
span
v
-
if
=
"dangerDetailInfo.address"
>
{{
dangerDetailInfo
.
address
}}
<
/span
>
<
span
v
-
else
>-<
/span
>
<
/el-form-item
>
<
/el-col
>
<
el
-
col
:
span
=
"24"
>
<
el
-
form
-
item
label
=
"隐患内容"
>
<
span
v
-
if
=
"dangerDetailInfo.beforeContent"
>
{{
dangerDetailInfo
.
beforeContent
}}
<
/span
>
<
span
v
-
else
>-<
/span
>
<
/el-form-item
>
<
/el-col
>
<
el
-
col
:
span
=
"24"
>
<
el
-
form
-
item
label
=
"隐患备注"
>
<
span
v
-
if
=
"dangerDetailInfo.remark"
>
{{
dangerDetailInfo
.
remark
}}
<
/span
>
<
span
v
-
else
>-<
/span
>
<
/el-form-item
>
<
/el-col
>
<
el
-
col
:
span
=
"24"
>
<
el
-
form
-
item
label
=
"隐患整改前图片"
prop
=
"beforeImg"
>
<
span
v
-
if
=
"dangerDetailInfo.beforeImg"
>
<
el
-
image
v
-
for
=
"imageInfo in dangerDetailInfo.beforeImg.split(',')"
:
src
=
"imageInfo"
:
preview
-
src
-
list
=
"[imageInfo]"
:
z
-
index
=
"9999"
style
=
"width: 99px; height: 100px; margin-right: 10px"
/>
<
/span
>
<
span
v
-
else
>-<
/span
>
<
/el-form-item
>
<
/el-col
>
<
el
-
col
:
span
=
"24"
>
<
el
-
form
-
item
label
=
"隐患整改前视频"
prop
=
"beforeVideo"
>
<
span
v
-
if
=
"dangerDetailInfo.beforeVideo"
>
<
video
v
-
for
=
"videoInfo in dangerDetailInfo.beforeVideo.split(',')"
type
=
"video/mp4"
controls
=
"controls"
:
src
=
"videoInfo"
class
=
"upload-video"
/>
<
/span
>
<
span
v
-
else
>-<
/span
>
<
/el-form-item
>
<
/el-col
>
<
div
style
=
"font-size: 20px; margin: 7px 0px 7px 0px"
>
整改信息
<
/div
>
<
el
-
col
:
span
=
"12"
>
<
el
-
form
-
item
label
=
"整改人"
>
<
span
v
-
if
=
"dangerDetailInfo.reformName"
>
{{
dangerDetailInfo
.
reformName
}}
<
/span
>
<
span
v
-
else
>-<
/span
>
<
/el-form-item
>
<
/el-col
>
<
el
-
col
:
span
=
"12"
>
<
el
-
form
-
item
label
=
"整改期限"
>
<
span
v
-
if
=
"dangerDetailInfo.endTime"
>
{{
dangerDetailInfo
.
endTime
}}
<
/span
>
<
span
v
-
else
>-<
/span
>
<
/el-form-item
>
<
/el-col
>
<
el
-
col
:
span
=
"12"
>
<
el
-
form
-
item
label
=
"整改时间"
>
<
span
v
-
if
=
"dangerDetailInfo.reformTime"
>
{{
dangerDetailInfo
.
reformTime
}}
<
/span
>
<
span
v
-
else
>-<
/span
>
<
/el-form-item
>
<
/el-col
>
<
el
-
col
:
span
=
"24"
>
<
el
-
form
-
item
label
=
"整改内容"
>
<
span
v
-
if
=
"dangerDetailInfo.afterContent"
>
{{
dangerDetailInfo
.
afterContent
}}
<
/span
>
<
span
v
-
else
>-<
/span
>
<
/el-form-item
>
<
/el-col
>
<
el
-
row
>
<
el
-
col
:
span
=
"24"
>
<
el
-
form
-
item
label
=
"隐患整改后图片"
>
<
span
v
-
if
=
"dangerDetailInfo.afterImg"
>
<
el
-
image
v
-
for
=
"afterImageInfo in dangerDetailInfo.afterImg.split(
','
)"
:
src
=
"afterImageInfo"
:
preview
-
src
-
list
=
"[afterImageInfo]"
:
z
-
index
=
"9999"
style
=
"width: 99px; height: 100px; margin-right: 10px"
/>
<
/span
>
<
span
v
-
else
>-<
/span
>
<
/el-form-item
>
<
/el-col
>
<
/el-row
>
<
div
style
=
"font-size: 20px; margin: 7px 0px 7px 0px"
>
复查信息
<
/div
>
<
el
-
row
>
<
el
-
col
:
span
=
"12"
>
<
el
-
form
-
item
label
=
"复查人"
>
<
span
v
-
if
=
"dangerDetailInfo.checkName"
>
{{
dangerDetailInfo
.
checkName
}}
<
/span
>
<
span
v
-
else
>-<
/span
>
<
/el-form-item
>
<
/el-col
>
<
el
-
col
:
span
=
"12"
>
<
el
-
form
-
item
label
=
"复查时间"
>
<
span
v
-
if
=
"dangerDetailInfo.checkTime"
>
{{
dangerDetailInfo
.
checkTime
}}
<
/span
>
<
span
v
-
else
>-<
/span
>
<
/el-form-item
>
<
/el-col
>
<
/el-row
>
<
el
-
row
>
<
el
-
col
:
span
=
"24"
>
<
el
-
form
-
item
label
=
"复查备注"
>
<
span
v
-
if
=
"dangerDetailInfo.checkRemark"
>
{{
dangerDetailInfo
.
checkRemark
}}
<
/span
>
<
span
v
-
else
>-<
/span
>
<
/el-form-item
>
<
/el-col
>
<
/el-row
>
<
div
style
=
"font-size: 20px; margin: 7px 0px 7px 0px"
>
变更信息
<
/div
>
<
el
-
table
:
data
=
"dangerStatusChangeList"
>
<
el
-
table
-
column
label
=
"时间"
align
=
"center"
prop
=
"optime"
:
show
-
overflow
-
tooltip
=
"true"
/>
<
el
-
table
-
column
label
=
"状态"
align
=
"center"
prop
=
"status"
:
show
-
overflow
-
tooltip
=
"true"
>
<
template
slot
-
scope
=
"scope"
>
<
span
v
-
if
=
"scope.row.status == 0"
>
待处理
<
/span
>
<
span
v
-
if
=
"scope.row.status == 1"
>
拒绝整改
<
/span
>
<
span
v
-
if
=
"scope.row.status == 2"
>
待复查
<
/span
>
<
span
v
-
if
=
"scope.row.status == 3"
>
待审核
<
/span
>
<
/template
>
<
/el-table-column
>
<
el
-
table
-
column
label
=
"操作人"
align
=
"center"
prop
=
"operator"
:
show
-
overflow
-
tooltip
=
"true"
/>
<
/el-table
>
<
/el-form
>
<
/el-col
>
<
el
-
col
:
span
=
"10"
>
<
div
id
=
"dangerMap"
style
=
"width: 100%; height: 500px; border: 1px solid"
><
/div
>
<
/el-col
>
<
/el-row> --
>
<
/div
>
<
/el-dialog
>
<!--
表封照片
-->
<
CoverPhotoView
ref
=
"cover"
/>
<!--
安检表
-->
<
component
ref
=
"inspectDetail"
:
is
=
"inspectDetailInfo"
/>
<
/div
>
<
/template
>
<
script
>
import
{
getDanger
}
from
"@/api/checktask/danger"
;
import
{
EditorMap
}
from
"@/utils/mapClass/map"
;
import
{
mapGetters
}
from
"vuex"
;
import
{
dangerStatusList
}
from
"@/api/checktask/dangerStatus"
;
import
MySteps
from
"@/components/MySteps"
;
import
MyImage
from
"@/components/MyImage/index.vue"
;
import
CoverPhotoView
from
"@/views/checktask/task/components/CoverPhotoView"
;
import
{
getUser
}
from
"@/api/baseinfo/user"
;
import
{
getBusiness
}
from
"@/api/baseinfo/businessInfo"
;
import
CanyinRecordDetail
from
"@/views/checktask/inspect/jumInspect/cyRecordDetail"
;
import
IndustryRecordDetail
from
"@/views/checktask/task/components/IndustryRecordDetail"
;
import
{
getTask
}
from
"@/api/checktask/task"
;
import
{
dangerApprovalListInfo
}
from
"@/api/checktask/dangerApprovalRecord"
;
export
default
{
name
:
"danger-detail"
,
components
:
{
MySteps
,
MyImage
,
CoverPhotoView
,
CanyinRecordDetail
,
IndustryRecordDetail
}
,
data
()
{
return
{
dangerDetailOpen
:
false
,
dangerDetailInfo
:
{
beforeImg
:
""
,
beforeVideo
:
""
,
afterImg
:
""
,
}
,
stepsArr
:
[
{
title
:
"发现隐患"
,
a
:
[
"安检员"
,
"-"
],
b
:
[
"上报时间"
,
"-"
],
}
,
{
title
:
"已整改待复查"
,
a
:
[
"整改人"
,
"-"
],
b
:
[
"整改时间"
,
"-"
],
}
,
{
title
:
"已复查审核中"
,
a
:
[
"复查人"
,
"-"
],
b
:
[
"复查时间"
,
"-"
],
}
,
{
title
:
"已归档"
,
a
:
[
"归档人"
,
"-"
],
b
:
[
"归档时间"
,
"-"
],
}
],
stepsNumData
:
{
0
:
1
,
2
:
2
,
3
:
3
,
4
:
4
}
,
dangerStatusChangeList
:
[],
inspectDetailInfo
:
null
,
dangerApprovalList
:
[]
}
;
}
,
methods
:
{
//隐患详情
handleDangerDetail
(
dangerId
)
{
getDanger
(
dangerId
).
then
((
response
)
=>
{
this
.
dangerDetailInfo
=
response
.
data
;
this
.
dangerDetailOpen
=
true
;
this
.
$set
(
this
.
stepsArr
[
0
].
a
,
1
,
this
.
dangerDetailInfo
.
reportName
);
this
.
$set
(
this
.
stepsArr
[
0
].
b
,
1
,
this
.
dangerDetailInfo
.
createTime
);
this
.
$set
(
this
.
stepsArr
[
1
].
a
,
1
,
this
.
dangerDetailInfo
.
reformName
);
this
.
$set
(
this
.
stepsArr
[
1
].
b
,
1
,
this
.
dangerDetailInfo
.
reformTime
);
this
.
$set
(
this
.
stepsArr
[
2
].
a
,
1
,
this
.
dangerDetailInfo
.
checkName
);
this
.
$set
(
this
.
stepsArr
[
2
].
b
,
1
,
this
.
dangerDetailInfo
.
checkTime
);
this
.
$set
(
this
.
stepsArr
[
3
].
a
,
1
,
this
.
dangerDetailInfo
.
fileName
);
this
.
$set
(
this
.
stepsArr
[
3
].
b
,
1
,
this
.
dangerDetailInfo
.
fileTime
);
this
.
initMap
();
this
.
statusChangeInfo
(
dangerId
);
}
);
//获取审核记录
this
.
getDangerApprovalList
(
dangerId
);
}
,
//地图初始化
initMap
()
{
this
.
$nextTick
(()
=>
{
const
path
=
eval
(
this
.
systemSetting
.
map_center
);
this
.
detailGaoMap
=
new
EditorMap
(
"dangerMap"
,
{
center
:
path
,
zoom
:
12
,
}
,
this
);
if
(
this
.
dangerDetailInfo
.
longitude
)
{
this
.
addLocation
({
longitude
:
this
.
dangerDetailInfo
.
longitude
,
latitude
:
this
.
dangerDetailInfo
.
latitude
,
nickName
:
this
.
dangerDetailInfo
.
title
,
iconType
:
"dangerDetail"
,
}
);
}
}
);
}
,
//位置上图
addLocation
(
data
)
{
this
.
detailGaoMap
.
allDevice
[
"dangerDetail"
]?.
forEach
((
item
)
=>
{
this
.
detailGaoMap
.
map
.
remove
(
item
);
}
);
this
.
detailGaoMap
.
control
=
2
;
this
.
detailGaoMap
.
addDevice
(
data
,
null
);
this
.
detailGaoMap
.
map
.
panTo
([
data
.
longitude
,
data
.
latitude
]);
}
,
statusChangeInfo
(
dangerId
)
{
dangerStatusList
({
dangerId
:
dangerId
}
).
then
((
res
)
=>
{
if
(
res
.
code
==
200
&&
res
.
data
)
{
this
.
dangerStatusChangeList
=
res
.
data
;
}
}
);
}
,
//表封照片
handleCover
(
row
)
{
if
(
!
row
.
meterImg
)
return
this
.
$message
.
error
(
"未查询到图片"
);
this
.
$refs
.
cover
.
viewCoverPhoto
(
row
.
meterImg
);
}
,
handleInspect
(
row
){
if
(
!
row
.
content
)
return
this
.
$message
.
error
(
"未查到安检信息!"
);
//居民和商户
if
(
row
.
type
==
1
||
row
.
type
==
2
){
this
.
inspectDetailInfo
=
CanyinRecordDetail
;
this
.
$nextTick
(()
=>
{
if
(
row
.
type
==
1
)
{
this
.
getUserInfo
(
row
.
receiveId
);
}
else
{
this
.
getBusinessInfo
(
row
.
receiveId
);
}
this
.
$refs
.
inspectDetail
.
open
=
true
;
this
.
$refs
.
inspectDetail
.
checkType
=
row
.
type
;
this
.
$refs
.
inspectDetail
.
map
=
row
;
this
.
$refs
.
inspectDetail
.
jsondata
=
JSON
.
parse
(
row
.
content
);
}
)
}
if
(
row
.
type
==
3
){
this
.
inspectDetailInfo
=
IndustryRecordDetail
;
this
.
$nextTick
(()
=>
{
getTask
(
row
.
taskId
).
then
(
res
=>
{
this
.
$refs
.
inspectDetail
.
checkType
=
res
.
data
.
checkType
;
this
.
$refs
.
inspectDetail
.
inspectInfo
=
row
;
this
.
$refs
.
inspectDetail
.
open
=
true
;
}
)
}
)
}
}
,
getUserInfo
(
userId
)
{
getUser
(
userId
).
then
((
res
)
=>
{
this
.
$refs
.
inspectDetail
.
detailInfo
=
res
.
data
;
}
);
}
,
getBusinessInfo
(
businessId
)
{
getBusiness
(
businessId
).
then
((
res
)
=>
{
this
.
$refs
.
inspectDetail
.
device
=
JSON
.
parse
(
res
.
data
.
device
);
this
.
$refs
.
inspectDetail
.
detailInfo
=
res
.
data
;
}
);
}
,
//获取审核记录
getDangerApprovalList
(
dangerId
){
dangerApprovalListInfo
({
dangerId
:
dangerId
}
).
then
(
res
=>
{
if
(
res
.
code
==
200
){
this
.
dangerApprovalList
=
res
.
data
;
}
}
)
}
}
,
computed
:
{
...
mapGetters
([
"systemSetting"
]),
}
,
}
;
<
/script
>
<
style
scoped
lang
=
"scss"
>
.
dangerDetailInfo
{
height
:
500
px
;
overflow
-
y
:
auto
;
padding
-
right
:
10
px
;
&
::
-
webkit
-
scrollbar
{
width
:
3
px
;
background
:
#
dfe4ed
;
position
:
absolute
;
top
:
0
;
}
&
::
-
webkit
-
scrollbar
-
thumb
{
/*滚动条里面小方块*/
// border-radius: 10px;
// box-shadow: inset 0 0 5px rgba(0, 0, 0, 0.2);
background
:
#
cccccc
;
border
-
radius
:
5
px
;
}
}
.
upload
-
video
{
object
-
fit
:
fill
;
height
:
180
px
;
width
:
208
px
;
margin
-
right
:
10
px
;
}
.
dlg
-
wrapper
{
height
:
700
px
;
overflow
:
auto
;
padding
-
right
:
10
px
;
}
.
steps
{
padding
:
15
px
0
;
}
.
top
-
title
{
text
-
align
:
center
;
font
-
size
:
20
px
;
}
.
container
{
background
:
#
f9f9f9
;
margin
-
bottom
:
32
px
;
padding
:
10
px
10
px
;
.
el
-
form
-
item
{
margin
-
bottom
:
12
px
;
}
}
.
t
{
font
-
size
:
14
px
;
margin
:
7
px
0
px
7
px
0
px
;
}
#
dangerMap
{
width
:
340
px
;
height
:
305
px
;
margin
-
bottom
:
5
px
;
}
.
map
-
bottom
{
width
:
340
px
;
text
-
align
:
center
;
font
-
size
:
14
px
;
color
:
#
606266
;
}
.
error
{
width
:
130
px
;
height
:
130
px
;
text
-
align
:
center
;
line
-
height
:
139
px
;
// background: #f5f7fa;
background
:
#
ffffff
;
}
.
el
-
table
{
width
:
100
%
;
background
-
color
:
#
f9f9f9
;
}
.
scroll
{
height
:
350
px
;
overflow
-
y
:
auto
;
}
<
/style
>
huaxin-web/src/views/checktask/customerServiceDanger/index.vue
0 → 100644
View file @
b394a2ab
<
template
>
<div
class=
"app-container"
>
<el-form
:model=
"queryParams"
ref=
"queryForm"
:inline=
"true"
v-show=
"showSearch"
label-width=
"90px"
>
<el-form-item
label=
"隐患标题"
prop=
"title"
>
<el-input
v-model=
"queryParams.title"
placeholder=
"请输入隐患标题"
clearable
size=
"small"
@
keyup
.
enter
.
native=
"handleQuery"
/>
</el-form-item>
<!--
<el-form-item
label=
"隐患来源"
prop=
"type"
>
<el-select
v-model=
"queryParams.type"
placeholder=
"请选择隐患来源"
clearable
size=
"small"
>
<el-option
v-for=
"item in dangerSource"
:key=
"item.dictValue"
:label=
"item.dictLabel"
:value=
"item.dictValue"
/>
</el-select>
</el-form-item>
-->
<el-form-item
label=
"隐患状态"
prop=
"status"
>
<el-select
v-model=
"queryParams.status"
placeholder=
"请选择隐患状态"
clearable
size=
"small"
>
<el-option
label=
"待处理"
value=
"0"
/>
<el-option
label=
"拒绝整改"
value=
"1"
/>
<el-option
label=
"待复查"
value=
"2"
/>
<el-option
label=
"待审核"
value=
"3"
/>
<el-option
label=
"已归档"
value=
"4"
/>
</el-select>
</el-form-item>
<el-form-item
label=
"责任归属人"
prop=
"reformName"
>
<el-autocomplete
class=
"inline-input"
v-model=
"queryParams.reformName"
:fetch-suggestions=
"queryReformSearch"
placeholder=
"请输入责任归属人"
:trigger-on-focus=
"false"
clearable
size=
"small"
@
keyup
.
enter
.
native=
"handleQuery"
></el-autocomplete>
</el-form-item>
<el-form-item
label=
"上报人"
prop=
"reportName"
>
<el-input
v-model=
"queryParams.reportName"
placeholder=
"请输入隐患标题"
clearable
size=
"small"
@
keyup
.
enter
.
native=
"handleQuery"
/>
</el-form-item>
<el-form-item
label=
"上报时间"
prop=
"reportTimeRange"
>
<el-date-picker
v-model=
"reportTimeRange"
type=
"datetimerange"
size=
"small"
:clearable=
"false"
value-format=
"yyyy-MM-dd HH:mm"
@
change=
"timeChange"
range-separator=
"至"
start-placeholder=
"开始日期"
end-placeholder=
"结束日期"
>
</el-date-picker>
</el-form-item>
<el-form-item>
<el-button
type=
"primary"
icon=
"el-icon-search"
size=
"mini"
@
click=
"handleQuery"
>
搜索
</el-button>
<el-button
icon=
"el-icon-refresh"
size=
"mini"
@
click=
"resetQuery"
>
重置
</el-button>
</el-form-item>
</el-form>
<el-row
:gutter=
"10"
class=
"mb8"
>
<el-col
:span=
"1.5"
>
<el-button
type=
"primary"
plain
icon=
"el-icon-plus"
size=
"mini"
@
click=
"handleAdd"
v-hasPermi=
"['checkTask:danger:add']"
>
新增
</el-button>
</el-col>
<el-col
:span=
"1.5"
>
<el-button
type=
"warning"
plain
icon=
"el-icon-download"
size=
"mini"
:loading=
"exportLoading"
@
click=
"handleExport"
v-hasPermi=
"['checkTask:danger:export']"
>
导出
</el-button>
</el-col>
<right-toolbar
:showSearch
.
sync=
"showSearch"
@
queryTable=
"getList"
></right-toolbar>
</el-row>
<el-table
v-loading=
"loading"
:data=
"dangerList"
@
selection-change=
"handleSelectionChange"
>
<el-table-column
type=
"selection"
width=
"55"
align=
"center"
/>
<el-table-column
label=
"序号"
align=
"center"
prop=
"id"
v-if=
"!$store.state.user.roles.includes('visitor')"
/>
<el-table-column
label=
"隐患标题"
align=
"center"
prop=
"title"
width=
"150"
:show-overflow-tooltip=
"true"
>
<template
slot-scope=
"scope"
>
<span>
{{
scope
.
row
.
title
+
(
scope
.
row
.
remark
?
'-'
+
scope
.
row
.
remark
:
''
)
}}
</span>
</
template
>
</el-table-column>
<el-table-column
label=
"隐患来源"
align=
"center"
prop=
"type"
:formatter=
"typeFormatter"
/>
<el-table-column
label=
"隐患地址"
align=
"center"
prop=
"address"
width=
"150"
:show-overflow-tooltip=
"true"
/>
<el-table-column
label=
"隐患状态"
align=
"center"
prop=
"status"
>
<
template
slot-scope=
"scope"
>
<span
v-if=
"scope.row.status == 0"
style=
"color: red"
>
待处理
</span>
<span
v-if=
"scope.row.status == 1"
style=
"color: blue"
>
拒绝整改
</span>
<span
v-if=
"scope.row.status == 2"
style=
"color: blue"
>
待复查
</span>
<span
v-if=
"scope.row.status == 3"
style=
"color: green"
>
待审核
</span>
<span
v-if=
"scope.row.status == 4"
style=
"color: green"
>
已归档
</span>
</
template
>
</el-table-column>
<el-table-column
label=
"上报人"
align=
"center"
prop=
"reportName"
/>
<el-table-column
label=
"上报时间"
align=
"center"
prop=
"createTime"
width=
"150"
>
<
template
slot-scope=
"scope"
>
<span>
{{
parseTime
(
scope
.
row
.
createTime
,
'{y
}
-{m
}
-{d
}
{h
}
:{i
}
:{s
}
'
)
}}
<
/span
>
<
/template
>
<
/el-table-column
>
<!--
<
el
-
table
-
column
label
=
"联系人"
align
=
"center"
prop
=
"contact"
width
=
"150"
:
show
-
overflow
-
tooltip
=
"true"
/>
<
el
-
table
-
column
label
=
"联系电话"
align
=
"center"
prop
=
"phone"
width
=
"150"
:
show
-
overflow
-
tooltip
=
"true"
/>
<
el
-
table
-
column
label
=
"表号"
align
=
"center"
prop
=
"meterNumRecord"
width
=
"150"
:
show
-
overflow
-
tooltip
=
"true"
/>-->
<
el
-
table
-
column
label
=
"整改人"
align
=
"center"
prop
=
"reformName"
>
<
template
slot
-
scope
=
"scope"
>
<
span
v
-
if
=
"scope.row.reformName"
>
{{
scope
.
row
.
reformName
}}
<
/span
>
<
span
v
-
else
>-<
/span
>
<
/template
>
<
/el-table-column
>
<
el
-
table
-
column
label
=
"整改时间"
align
=
"center"
prop
=
"reformTime"
width
=
"150"
>
<
template
slot
-
scope
=
"scope"
>
<
span
v
-
if
=
"scope.row.reformTime"
>
{{
parseTime
(
scope
.
row
.
reformTime
,
'{y
}
-{m
}
-{d
}
{h
}
:{i
}
:{s
}
'
)
}}
<
/span
>
<
span
v
-
else
>-<
/span
>
<
/template
>
<
/el-table-column
>
<!--
<
el
-
table
-
column
label
=
"备注"
align
=
"center"
prop
=
"remark"
width
=
"100"
:
show
-
overflow
-
tooltip
=
"true"
/>-->
<
el
-
table
-
column
label
=
"操作"
align
=
"center"
class
-
name
=
"small-padding fixed-width"
width
=
"150"
>
<
template
slot
-
scope
=
"scope"
>
<
el
-
button
size
=
"mini"
type
=
"text"
icon
=
"el-icon-document"
@
click
=
"handleDetail(scope.row)"
>
详情
<
/el-button
>
<
el
-
button
size
=
"mini"
type
=
"text"
icon
=
"el-icon-edit"
@
click
=
"handleUpdate(scope.row)"
v
-
hasPermi
=
"['checkTask:danger:edit']"
>
修改
<
/el-button
>
<
el
-
button
size
=
"mini"
type
=
"text"
icon
=
"el-icon-delete"
@
click
=
"handleDelete(scope.row)"
v
-
hasPermi
=
"['checkTask:danger:remove']"
>
删除
<
/el-button
>
<
/template
>
<
/el-table-column
>
<
/el-table
>
<
pagination
v
-
show
=
"total>0"
:
total
=
"total"
:
page
.
sync
=
"queryParams.pageNum"
:
limit
.
sync
=
"queryParams.pageSize"
@
pagination
=
"getList"
/>
<!--
添加或修改安检隐患整改对话框
-->
<
el
-
dialog
:
title
=
"title"
:
visible
.
sync
=
"open"
width
=
"900px"
append
-
to
-
body
destroy
-
on
-
close
:
close
-
on
-
click
-
modal
=
"false"
>
<
el
-
form
ref
=
"form"
:
model
=
"form"
:
rules
=
"rules"
label
-
width
=
"120px"
>
<
el
-
row
>
<
el
-
col
:
span
=
"12"
>
<
el
-
form
-
item
label
=
"隐患标题"
prop
=
"title"
>
<
el
-
input
v
-
model
=
"form.title"
placeholder
=
"请输入隐患标题"
/>
<
/el-form-item
>
<
/el-col
>
<
el
-
col
:
span
=
"12"
>
<
el
-
form
-
item
label
=
"隐患级别"
prop
=
"level"
>
<
el
-
select
v
-
model
=
"form.level"
placeholder
=
"请选择隐患级别"
style
=
"width: 100%"
>
<
el
-
option
label
=
"重大"
value
=
"1"
/>
<
el
-
option
label
=
"一般"
value
=
"2"
/>
<
/el-select
>
<
/el-form-item
>
<
/el-col
>
<
/el-row
>
<
el
-
form
-
item
label
=
"隐患内容"
prop
=
"beforeContent"
>
<
el
-
input
v
-
model
=
"form.beforeContent"
type
=
"textarea"
placeholder
=
"请输入隐患内容"
/>
<
/el-form-item
>
<
el
-
row
>
<
el
-
col
:
span
=
"12"
>
<
el
-
form
-
item
label
=
"联系人"
prop
=
"contact"
>
<
el
-
input
v
-
model
=
"form.contact"
placeholder
=
"请输入联系人多个逗号隔开"
/>
<
/el-form-item
>
<
/el-col
>
<
el
-
col
:
span
=
"12"
>
<
el
-
form
-
item
label
=
"联系电话"
prop
=
"phone"
>
<
el
-
input
v
-
model
=
"form.phone"
placeholder
=
"请输入联系电话多个逗号隔开"
/>
<
/el-form-item
>
<
/el-col
>
<
/el-row
>
<
el
-
row
>
<
el
-
col
:
span
=
"12"
>
<
el
-
form
-
item
label
=
"整改人"
prop
=
"reformId"
>
<
el
-
select
v
-
model
=
"form.reformId"
placeholder
=
"请选择隐患级别"
style
=
"width: 100%"
>
<
el
-
option
v
-
for
=
"member in memberInfoList"
:
key
=
"member.memberId"
:
label
=
"member.nickName"
:
value
=
"member.userId"
/>
<
/el-select
>
<
/el-form-item
>
<
/el-col
>
<
el
-
col
:
span
=
"12"
>
<
el
-
form
-
item
label
=
"表号"
prop
=
"meterNumRecord"
>
<
el
-
input
v
-
model
=
"form.meterNumRecord"
placeholder
=
"请输入表号"
/>
<
/el-form-item
>
<
/el-col
>
<
/el-row
>
<
el
-
row
>
<
el
-
col
:
span
=
"24"
>
<
el
-
form
-
item
label
=
"具体地址"
prop
=
"address"
>
<
el
-
input
v
-
model
=
"form.address"
placeholder
=
"请输入具体地址"
/>
<
/el-form-item
>
<
/el-col
>
<
/el-row
>
<
el
-
row
>
<
el
-
col
:
span
=
"24"
>
<
el
-
form
-
item
label
=
"经纬度坐标"
prop
=
"longitude"
>
<
el
-
col
:
span
=
"8"
>
<
el
-
input
v
-
model
=
"form.longitude"
placeholder
=
"请输入经度"
/>
<
/el-col
>
<
el
-
col
:
span
=
"8"
style
=
"margin-left: 20px"
>
<
el
-
input
v
-
model
=
"form.latitude"
placeholder
=
"请输入纬度"
/>
<
/el-col
>
<
el
-
col
:
span
=
"4"
style
=
"margin-left: 30px"
>
<
el
-
button
type
=
"primary"
plain
@
click
=
"MapdialogFun"
>
选择经纬度
<
/el-button
>
<
/el-col
>
<
/el-form-item
>
<
/el-col
>
<
/el-row
>
<
el
-
form
-
item
label
=
"备注"
prop
=
"remark"
>
<
el
-
input
type
=
"textarea"
v
-
model
=
"form.remark"
placeholder
=
"请输入备注"
/>
<
/el-form-item
>
<
/el-form
>
<
div
slot
=
"footer"
class
=
"dialog-footer"
>
<
el
-
button
type
=
"primary"
@
click
=
"submitForm"
>
确
定
<
/el-button
>
<
el
-
button
@
click
=
"cancel"
>
取
消
<
/el-button
>
<
/div
>
<
/el-dialog
>
<!--
坐标选择
-->
<
GetPos
:
dialogVisible
.
sync
=
"dialogTableVisibles"
:
devicePos
=
"devicePos"
@
close
=
"dialogcancelFun"
@
getPath
=
"getPath"
style
=
"z-index: 3000"
/>
<!--
详情
-->
<
DangerDetail
ref
=
"dangerDetail"
/>
<!--
审核
-->
<
Approval
ref
=
"approval"
/>
<
/div
>
<
/template
>
<
script
>
import
{
listDanger
,
getDanger
,
delDanger
,
addDanger
,
updateDanger
,
exportDanger
}
from
"@/api/checktask/danger"
;
import
Editor
from
'@/components/Editor'
;
import
GetPos
from
'@/components/GetPos'
;
import
DangerDetail
from
"./components/DangerDetail"
;
import
Approval
from
"./components/Approval"
;
import
{
memberInfoList
}
from
"@/api/checktask/dangerGroupMember"
;
export
default
{
name
:
"Danger"
,
components
:
{
Editor
,
GetPos
,
DangerDetail
,
Approval
}
,
data
()
{
return
{
// 遮罩层
loading
:
true
,
// 导出遮罩层
exportLoading
:
false
,
// 选中数组
ids
:
[],
// 非单个禁用
single
:
true
,
// 非多个禁用
multiple
:
true
,
// 显示搜索条件
showSearch
:
true
,
// 总条数
total
:
0
,
// 安检隐患整改表格数据
dangerList
:
[],
sceneOptions
:[],
// 弹出层标题
title
:
""
,
// 是否显示弹出层
open
:
false
,
// 查询参数
queryParams
:
{
pageNum
:
1
,
pageSize
:
10
,
taskId
:
null
,
inspectId
:
null
,
type
:
'9'
,
category
:
1
,
receiveId
:
null
,
title
:
null
,
level
:
null
,
beforeContent
:
null
,
address
:
null
,
longitude
:
null
,
latitude
:
null
,
beforeImg
:
null
,
beforeVideo
:
null
,
flag
:
null
,
afterContent
:
null
,
afterImg
:
null
,
startTime
:
null
,
endTime
:
null
,
status
:
null
,
reportName
:
null
,
beginDate
:
null
,
endDate
:
null
,
branch
:
null
,
reformName
:
null
,
}
,
// 表单参数
form
:
{
}
,
// 表单校验
rules
:
{
title
:
[
{
required
:
true
,
message
:
"隐患标题不能为空"
,
trigger
:
"blur"
}
],
level
:
[
{
required
:
true
,
message
:
"请选择隐患级别"
,
trigger
:
"change"
}
],
beforeContent
:
[
{
required
:
true
,
message
:
"隐患内容不能为空"
,
trigger
:
"blur"
}
],
phone
:
[
{
required
:
true
,
message
:
"电话不能为空"
,
trigger
:
"blur"
}
,
],
address
:
[
{
required
:
true
,
message
:
"地址不能为空"
,
trigger
:
"blur"
}
],
reformId
:
[
{
required
:
true
,
message
:
"请选择整改人"
,
trigger
:
"change"
}
],
contact
:[
{
required
:
true
,
message
:
"联系人不能为空"
,
trigger
:
"blur"
}
],
longitude
:[
{
required
:
true
,
message
:
"请选择经纬度"
,
trigger
:
"change"
}
]
}
,
dialogTableVisibles
:
false
,
devicePos
:
[],
dangerSource
:
[],
reportTimeRange
:
[],
memberInfoList
:
[],
reformMemberInfoList
:
[]
}
;
}
,
created
()
{
this
.
getList
();
this
.
getDangerSource
();
this
.
getDicts
(
"t_branch"
).
then
(
response
=>
{
this
.
sceneOptions
=
response
.
data
;
}
);
}
,
methods
:
{
branchFormat
(
row
,
column
)
{
return
this
.
selectDictLabel
(
this
.
sceneOptions
,
row
.
branch
);
}
,
/** 查询安检隐患整改列表 */
getList
()
{
this
.
loading
=
true
;
listDanger
(
this
.
queryParams
).
then
(
response
=>
{
this
.
dangerList
=
response
.
rows
;
this
.
total
=
response
.
total
;
this
.
loading
=
false
;
}
);
}
,
//隐患来源
getDangerSource
(){
this
.
getDicts
(
"t_danger_source"
).
then
(
response
=>
{
this
.
dangerSource
=
response
.
data
;
}
);
}
,
typeFormatter
(
row
){
const
receiveName
=
(
row
.
receiveName
&&
!
row
.
receiveName
?.
includes
(
"-"
))
?
'['
+
row
.
receiveName
+
']'
:
''
;
return
this
.
selectDictLabel
(
this
.
dangerSource
,
row
.
type
)
+
receiveName
;
}
,
// 取消按钮
cancel
()
{
this
.
open
=
false
;
this
.
reset
();
}
,
// 表单重置
reset
()
{
this
.
form
=
{
id
:
null
,
taskId
:
null
,
inspectId
:
null
,
type
:
9
,
receiveId
:
null
,
title
:
null
,
level
:
null
,
beforeContent
:
null
,
address
:
null
,
longitude
:
null
,
latitude
:
null
,
beforeImg
:
null
,
beforeVideo
:
null
,
flag
:
null
,
afterContent
:
null
,
afterImg
:
null
,
startTime
:
null
,
endTime
:
null
,
status
:
0
,
reformId
:
null
,
createTime
:
null
,
remark
:
null
,
contact
:
null
,
meterNumRecord
:
null
,
dealMethod
:
'3'
}
;
this
.
resetForm
(
"form"
);
}
,
/** 搜索按钮操作 */
handleQuery
()
{
this
.
queryParams
.
pageNum
=
1
;
this
.
getList
();
}
,
/** 重置按钮操作 */
resetQuery
()
{
this
.
resetForm
(
"queryForm"
);
this
.
reportTimeRange
=
[];
this
.
queryParams
.
beginDate
=
null
;
this
.
queryParams
.
endDate
=
null
;
this
.
handleQuery
();
}
,
// 多选框选中数据
handleSelectionChange
(
selection
)
{
this
.
ids
=
selection
.
map
(
item
=>
item
.
id
)
this
.
single
=
selection
.
length
!==
1
this
.
multiple
=
!
selection
.
length
}
,
/** 新增按钮操作 */
handleAdd
()
{
this
.
reset
();
this
.
getMemberInfoList
();
this
.
open
=
true
;
this
.
title
=
"添加安检隐患整改"
;
}
,
/** 修改按钮操作 */
handleUpdate
(
row
)
{
this
.
reset
();
const
id
=
row
.
id
||
this
.
ids
getDanger
(
id
).
then
(
response
=>
{
this
.
form
=
response
.
data
;
this
.
open
=
true
;
this
.
title
=
"修改安检隐患整改"
;
}
);
}
,
/** 提交按钮 */
submitForm
()
{
this
.
$refs
[
"form"
].
validate
(
valid
=>
{
if
(
valid
)
{
if
(
this
.
form
.
id
!=
null
)
{
updateDanger
(
this
.
form
).
then
(
response
=>
{
this
.
msgSuccess
(
"修改成功"
);
this
.
open
=
false
;
this
.
getList
();
}
);
}
else
{
addDanger
(
this
.
form
).
then
(
response
=>
{
this
.
msgSuccess
(
"新增成功"
);
this
.
open
=
false
;
this
.
getList
();
}
);
}
}
}
);
}
,
/** 删除按钮操作 */
handleDelete
(
row
)
{
const
ids
=
row
.
id
||
this
.
ids
;
this
.
$confirm
(
'是否确认删除安检隐患整改名称为"'
+
row
.
title
+
'"的数据项?'
,
"警告"
,
{
confirmButtonText
:
"确定"
,
cancelButtonText
:
"取消"
,
type
:
"warning"
}
).
then
(
function
()
{
return
delDanger
(
ids
);
}
).
then
(()
=>
{
this
.
getList
();
this
.
msgSuccess
(
"删除成功"
);
}
).
catch
(()
=>
{
}
);
}
,
/** 导出按钮操作 */
handleExport
()
{
const
queryParams
=
this
.
queryParams
;
this
.
$confirm
(
'是否确认导出所有安检隐患整改数据项?'
,
"警告"
,
{
confirmButtonText
:
"确定"
,
cancelButtonText
:
"取消"
,
type
:
"warning"
}
).
then
(()
=>
{
this
.
exportLoading
=
true
;
return
exportDanger
(
queryParams
);
}
).
then
(
response
=>
{
this
.
download
(
response
.
msg
);
this
.
exportLoading
=
false
;
}
).
catch
(()
=>
{
}
);
}
,
/**
* 经纬度坐标方法
*/
MapdialogFun
()
{
this
.
dialogTableVisibles
=
true
;
}
,
/**
* 地图关闭方法
*/
dialogcancelFun
()
{
this
.
dialogTableVisibles
=
false
;
}
,
/**
* 经纬度 选择
* @param res
*/
getPath
(
res
){
//确认选择经纬度
this
.
form
.
longitude
=
res
[
0
];
this
.
form
.
latitude
=
res
[
1
];
}
,
//详情
handleDetail
(
row
){
this
.
$refs
.
dangerDetail
.
handleDangerDetail
(
row
.
id
);
}
,
timeChange
(
val
){
this
.
queryParams
.
beginDate
=
val
[
0
];
this
.
queryParams
.
endDate
=
val
[
1
];
}
,
handleApproval
(
row
){
let
approvalIds
=
[];
if
(
row
.
id
){
approvalIds
=
[
row
.
id
];
}
else
{
if
(
this
.
ids
.
length
==
0
)
{
this
.
$message
.
error
(
"至少选择一个隐患"
);
return
;
}
approvalIds
=
this
.
ids
;
}
this
.
$refs
.
approval
.
open
(
approvalIds
);
}
,
//获取维修班班长
getMemberInfoList
(){
memberInfoList
({
params
:{
queryType
:
1
}}
).
then
(
res
=>
{
if
(
res
.
code
==
200
){
this
.
memberInfoList
=
res
.
data
;
}
}
)
}
,
//联想责任归属人
queryReformSearch
(
queryString
,
cb
){
memberInfoList
({
nickName
:
queryString
}
).
then
(
res
=>
{
if
(
res
.
code
==
200
&&
res
.
data
){
let
result
=
res
.
data
.
map
(
item
=>
({
value
:
item
.
nickName
}
));
cb
(
result
);
}
}
)
}
,
}
}
;
<
/script
>
huaxin-web/src/views/checktask/danger/index.vue
View file @
b394a2ab
...
...
@@ -401,6 +401,9 @@ export default {
endDate
:
null
,
branch
:
null
,
reformName
:
null
,
params
:{
queryType
:
1
}
}
,
// 表单参数
form
:
{
}
,
...
...
huaxin-web/src/views/checktask/dangergroup/index.vue
View file @
b394a2ab
...
...
@@ -116,9 +116,10 @@
style=
"width: 100%"
@
change=
"changeType"
>
<el-option
label=
"
巡检组
"
value=
"1"
/>
<el-option
label=
"
督查班
"
value=
"1"
/>
<el-option
label=
"维修班"
value=
"2"
/>
<el-option
label=
"网格班"
value=
"3"
/>
<el-option
label=
"巡线班"
value=
"4"
/>
</el-select>
</el-form-item>
</el-col>
...
...
huaxin-web/src/views/checktask/superviseDanger/components/Approval.vue
0 → 100644
View file @
b394a2ab
<
template
>
<el-dialog
:title=
"title"
:visible
.
sync=
"approvalOpen"
width=
"800px"
append-to-body
destroy-on-close
:close-on-click-modal=
"false"
>
<el-form
ref=
"form"
:model=
"form"
:rules=
"rules"
label-width=
"120px"
>
<el-row>
<el-col
:span=
"24"
>
<el-form-item
label=
"审核状态"
prop=
"state"
>
<el-radio-group
v-model=
"form.state"
>
<el-radio
:label=
"0"
>
通过
</el-radio>
<el-radio
:label=
"1"
>
不通过
</el-radio>
</el-radio-group>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col
:span=
"24"
>
<el-form-item
label=
"审核意见"
prop=
"suggestion"
>
<el-input
type=
"textarea"
v-model=
"form.suggestion"
placeholder=
"请输入审核意见"
/>
</el-form-item>
</el-col>
</el-row>
</el-form>
<div
slot=
"footer"
class=
"dialog-footer"
>
<el-button
type=
"primary"
@
click=
"submitForm"
>
确 定
</el-button>
<el-button
@
click=
"cancel"
>
取 消
</el-button>
</div>
</el-dialog>
</
template
>
<
script
>
import
{
dangerApproval
}
from
"@/api/checktask/danger"
;
export
default
{
name
:
"approval"
,
data
(){
return
{
title
:
"审核"
,
approvalOpen
:
false
,
ids
:
[],
form
:
{},
rules
:
{
state
:
[
{
required
:
true
,
message
:
"请选择审核状态"
,
trigger
:
"change"
}
],
}
}
},
methods
:{
open
(
ids
){
this
.
reset
();
this
.
ids
=
ids
;
this
.
approvalOpen
=
true
;
},
submitForm
(){
this
.
$refs
[
"form"
].
validate
(
valid
=>
{
if
(
valid
)
{
let
data
=
[];
this
.
ids
.
forEach
(
item
=>
{
data
.
push
({
id
:
item
,
...
this
.
form
})
})
dangerApproval
(
data
).
then
(
res
=>
{
this
.
$message
.
success
(
"审核成功"
);
this
.
approvalOpen
=
false
;
this
.
$parent
.
getList
();
})
}
})
},
cancel
(){
this
.
approvalOpen
=
false
;
},
reset
(){
this
.
form
=
{
state
:
null
,
suggestion
:
null
}
this
.
resetForm
(
"form"
);
}
}
}
</
script
>
<
style
scoped
>
</
style
>
huaxin-web/src/views/checktask/superviseDanger/components/DangerDetail.vue
0 → 100644
View file @
b394a2ab
<
template
>
<div>
<el-dialog
title=
"隐患记录"
:visible
.
sync=
"dangerDetailOpen"
width=
"1400px"
append-to-body
destroy-on-close
:close-on-click-modal=
"false"
>
<div
class=
"dlg-wrapper"
>
<div
class=
"steps"
>
<MySteps
:stepsData=
"stepsArr"
:active=
"stepsNumData[dangerDetailInfo.status] || 0"
/>
</div>
<el-row>
<div
class=
"t"
>
隐患信息
</div>
<el-row
class=
"container flex bb"
>
<el-col
:span=
"16"
>
<el-form
label-width=
"140px"
class=
"el-table"
>
<el-col
:span=
"12"
>
<el-form-item
label=
"隐患标题"
>
<span>
{{
dangerDetailInfo
.
title
}}
</span>
</el-form-item>
</el-col>
<el-col
:span=
"12"
>
<el-form-item
label=
"隐患状态"
>
<span
v-if=
"dangerDetailInfo.status == 0"
>
待处理
</span>
<span
v-if=
"dangerDetailInfo.status == 1"
>
拒绝整改
</span>
<span
v-if=
"dangerDetailInfo.status == 2"
>
待复查
</span>
<span
v-if=
"dangerDetailInfo.status == 3"
>
待审核
</span>
<span
v-if=
"dangerDetailInfo.status == 4"
>
已归档
</span>
</el-form-item>
</el-col>
<el-col
:span=
"12"
>
<el-form-item
label=
"隐患来源"
>
<span>
{{
$parent
.
typeFormatter
(
dangerDetailInfo
)
}}
</span>
</el-form-item>
</el-col>
<el-col
:span=
"12"
>
<el-form-item
label=
"隐患级别"
>
<span
v-if=
"dangerDetailInfo.level == 1"
>
重大
</span>
<span
v-if=
"dangerDetailInfo.level == 2"
>
一般
</span>
</el-form-item>
</el-col>
<el-col
:span=
"12"
>
<el-form-item
label=
"上报时间"
>
{{
parseTime
(
dangerDetailInfo
.
createTime
,
"{y
}
-{m
}
-{d
}
{h
}
:{i
}
:{s
}
"
)
}}
<
/el-form-item
>
<
/el-col
>
<
el
-
col
:
span
=
"12"
>
<
el
-
form
-
item
label
=
"隐患内容"
>
<
span
v
-
if
=
"dangerDetailInfo.beforeContent"
>
{{
dangerDetailInfo
.
beforeContent
}}
<
/span
>
<
span
v
-
else
>-<
/span
>
<
/el-form-item
>
<
/el-col
>
<
el
-
col
:
span
=
"12"
>
<
el
-
form
-
item
label
=
"上报人"
>
{{
dangerDetailInfo
.
reportName
}}
<
/el-form-item
>
<
/el-col
>
<
el
-
col
:
span
=
"12"
>
<
el
-
form
-
item
label
=
"联系人"
>
<
span
v
-
if
=
"dangerDetailInfo.contact"
>
{{
dangerDetailInfo
.
contact
}}
<
/span
>
<
span
v
-
else
>-<
/span
>
<
/el-form-item
>
<
/el-col
>
<
el
-
col
:
span
=
"12"
>
<
el
-
form
-
item
label
=
"联系电话"
>
<
span
v
-
if
=
"dangerDetailInfo.phone"
>
{{
dangerDetailInfo
.
phone
}}
<
/span
>
<
span
v
-
else
>-<
/span
>
<
/el-form-item
>
<
/el-col
>
<
el
-
col
:
span
=
"12"
>
<
el
-
form
-
item
label
=
"表号"
>
<
span
v
-
if
=
"dangerDetailInfo.meterNumRecord"
>
{{
dangerDetailInfo
.
meterNumRecord
}}
<
/span
>
<
span
v
-
else
>-<
/span
>
<
/el-form-item
>
<
/el-col
>
<
el
-
col
:
span
=
"12"
>
<
el
-
form
-
item
label
=
"隐患地址"
>
<
span
v
-
if
=
"dangerDetailInfo.address"
>
{{
dangerDetailInfo
.
address
}}
<
/span
>
<
span
v
-
else
>-<
/span
>
<
/el-form-item
>
<
/el-col
>
<
el
-
col
:
span
=
"12"
>
<
el
-
form
-
item
label
=
"整改前图片"
prop
=
"beforeImg"
>
<
div
>
<
MyImage
v
-
if
=
"dangerDetailInfo.beforeImg"
:
src
=
"dangerDetailInfo.beforeImg.split(',')[0]"
:
previewSrcList
=
"dangerDetailInfo.beforeImg.split(',')"
/>
<
div
class
=
"error"
v
-
else
>
暂无图片
<
/div
>
<
/div
>
<
/el-form-item
>
<
/el-col
>
<
el
-
col
:
span
=
"12"
>
<
el
-
form
-
item
label
=
"整改前视频"
prop
=
"beforeVideo"
>
<
span
v
-
if
=
"dangerDetailInfo.beforeVideo"
>
<
video
v
-
for
=
"videoInfo in dangerDetailInfo.beforeVideo.split(
','
)"
:
key
=
"videoInfo"
type
=
"video/mp4"
controls
=
"controls"
:
src
=
"videoInfo"
class
=
"upload-video"
/>
<
/span
>
<
span
v
-
else
>-<
/span
>
<
/el-form-item
>
<
/el-col
>
<
el
-
col
:
span
=
"12"
>
<
el
-
form
-
item
label
=
"整改期限"
>
<
span
v
-
if
=
"dangerDetailInfo.endTime"
>
{{
dangerDetailInfo
.
endTime
}}
<
/span
>
<
span
v
-
else
>-<
/span
>
<
/el-form-item
>
<
/el-col
>
<
el
-
col
:
span
=
"12"
>
<
el
-
form
-
item
label
=
"整改方式"
>
<
span
v
-
if
=
"dangerDetailInfo.dealMethod == '1'"
>
燃气用户整改
<
/span
>
<
span
v
-
else
-
if
=
"dangerDetailInfo.dealMethod == '2'"
>
用户出资公司整改
<
/span
>
<
span
v
-
else
-
if
=
"dangerDetailInfo.dealMethod == '3'"
>
燃气公司整改
<
/span
>
<!--
<
span
v
-
else
-
if
=
"dangerDetailInfo.dealMethod == '4'"
>
公司出资整改
<
/span>--
>
<
span
v
-
else
>-<
/span
>
<
/el-form-item
>
<
/el-col
>
<
el
-
col
:
span
=
"12"
>
<
el
-
form
-
item
label
=
"营业网点"
>
<
span
>
{{
$parent
.
branchFormat
(
dangerDetailInfo
,
null
)
}}
<
/span
>
<
/el-form-item
>
<
/el-col
>
<
el
-
col
:
span
=
"12"
v
-
if
=
"dangerDetailInfo.type == '8'"
>
<
el
-
form
-
item
label
=
"治理的标准要求"
>
<
span
v
-
if
=
"dangerDetailInfo.governanceStandards"
>
{{
dangerDetailInfo
.
governanceStandards
}}
<
/span
>
<
span
v
-
else
>-<
/span
>
<
/el-form-item
>
<
/el-col
>
<
el
-
col
:
span
=
"12"
v
-
if
=
"dangerDetailInfo.type == '8'"
>
<
el
-
form
-
item
label
=
"治理方法和措施"
>
<
span
v
-
if
=
"dangerDetailInfo.governanceMethod"
>
{{
dangerDetailInfo
.
governanceMethod
}}
<
/span
>
<
span
v
-
else
>-<
/span
>
<
/el-form-item
>
<
/el-col
>
<
el
-
col
:
span
=
"12"
v
-
if
=
"dangerDetailInfo.type == '8'"
>
<
el
-
form
-
item
label
=
"经费和物资的落实"
>
<
span
v
-
if
=
"dangerDetailInfo.fundsMaterials"
>
{{
dangerDetailInfo
.
fundsMaterials
}}
<
/span
>
<
span
v
-
else
>-<
/span
>
<
/el-form-item
>
<
/el-col
>
<
el
-
col
:
span
=
"12"
v
-
if
=
"dangerDetailInfo.type == '8'"
>
<
el
-
form
-
item
label
=
"安全措施和应急预案"
>
<
span
v
-
if
=
"dangerDetailInfo.safetyEmergencyPlan"
>
{{
dangerDetailInfo
.
safetyEmergencyPlan
}}
<
/span
>
<
span
v
-
else
>-<
/span
>
<
/el-form-item
>
<
/el-col
>
<
el
-
col
:
span
=
"24"
>
<
el
-
form
-
item
label
=
"备注"
>
<
span
v
-
if
=
"dangerDetailInfo.remark"
>
{{
dangerDetailInfo
.
remark
}}
<
/span
>
<
span
v
-
else
>-<
/span
>
<
/el-form-item
>
<
/el-col
>
<
/el-form
>
<
/el-col
>
<
el
-
col
:
span
=
"8"
>
<
div
id
=
"dangerMap"
><
/div
>
<
div
class
=
"map-bottom"
>
隐患上报位置
<
/div
>
<
/el-col
>
<
/el-row
>
<
div
class
=
"t"
v
-
if
=
"dangerDetailInfo.tTaskInspect"
>
安检信息
<
/div
>
<
el
-
row
class
=
"container flex bb"
v
-
if
=
"dangerDetailInfo.tTaskInspect"
>
<
el
-
form
label
-
width
=
"110px"
class
=
"el-table"
>
<
el
-
col
style
=
"height: auto"
:
span
=
"8"
>
<
el
-
col
:
span
=
"24"
>
<
el
-
form
-
item
label
=
"安检时间"
>
<
span
v
-
if
=
"dangerDetailInfo.tTaskInspect.createTime"
>
{{
dangerDetailInfo
.
tTaskInspect
.
createTime
}}
<
/span
>
<
span
v
-
else
>-<
/span
>
<
/el-form-item
>
<
/el-col
>
<
el
-
col
:
span
=
"24"
>
<
el
-
form
-
item
label
=
"安检人"
>
<
span
v
-
if
=
"dangerDetailInfo.tTaskInspect.memberName"
>
{{
dangerDetailInfo
.
tTaskInspect
.
memberName
}}
<
/span
>
<
span
v
-
else
>-<
/span
>
<
/el-form-item
>
<
/el-col
>
<
/el-col
>
<
el
-
col
:
span
=
"16"
>
<
el
-
col
:
span
=
"24"
>
<
el
-
form
-
item
label
=
"签字状态"
>
<
span
v
-
if
=
"dangerDetailInfo.tTaskInspect.sign == 0"
>
未签字
<
/span
>
<
span
v
-
else
-
if
=
"dangerDetailInfo.tTaskInspect.sign == 1"
>
已签字
<
/span
>
<
span
v
-
else
>-<
/span
>
<
/el-form-item
>
<
/el-col
>
<
el
-
col
:
span
=
"24"
>
<
el
-
form
-
item
label
=
"操作"
>
<
el
-
button
type
=
"text"
@
click
=
"handleInspect(dangerDetailInfo.tTaskInspect)"
>
安检单
<
/el-button
>
<
el
-
button
type
=
"text"
@
click
=
"handleCover(dangerDetailInfo.tTaskInspect)"
>
图片
<
/el-button
>
<
/el-form-item
>
<
/el-col
>
<
/el-col
>
<
/el-form
>
<
/el-row
>
<
div
class
=
"t"
>
整改信息
<
/div
>
<
el
-
row
class
=
"container flex bb"
>
<
el
-
form
label
-
width
=
"110px"
class
=
"el-table"
>
<
el
-
col
style
=
"height: auto"
:
span
=
"8"
>
<
el
-
col
:
span
=
"24"
>
<
el
-
form
-
item
label
=
"整改内容"
>
<
span
v
-
if
=
"dangerDetailInfo.afterContent"
>
{{
dangerDetailInfo
.
afterContent
}}
<
/span
>
<
span
v
-
else
>-<
/span
>
<
/el-form-item
>
<
/el-col
>
<
el
-
col
:
span
=
"24"
>
<
el
-
form
-
item
label
=
"整改人"
>
<
span
v
-
if
=
"dangerDetailInfo.reformName"
>
{{
dangerDetailInfo
.
reformName
}}
<
/span
>
<
span
v
-
else
>-<
/span
>
<
/el-form-item
>
<
/el-col
>
<!--
<
el
-
col
:
span
=
"24"
>
<
el
-
form
-
item
label
=
"整改期限"
>
<
span
v
-
if
=
"dangerDetailInfo.endTime"
>
{{
dangerDetailInfo
.
endTime
}}
<
/span
>
<
span
v
-
else
>-<
/span
>
<
/el-form-item
>
<
/el-col>--
>
<
el
-
col
:
span
=
"24"
>
<
el
-
form
-
item
label
=
"整改时间"
>
<
span
v
-
if
=
"dangerDetailInfo.reformTime"
>
{{
dangerDetailInfo
.
reformTime
}}
<
/span
>
<
span
v
-
else
>-<
/span
>
<
/el-form-item
>
<
/el-col
>
<
/el-col
>
<
el
-
col
:
span
=
"16"
>
<
el
-
col
:
span
=
"24"
>
<
el
-
form
-
item
label
=
"整改后图片"
>
<
div
>
<
MyImage
v
-
if
=
"dangerDetailInfo.afterImg"
:
src
=
"dangerDetailInfo.afterImg.split(',')[0]"
:
previewSrcList
=
"dangerDetailInfo.afterImg.split(',')"
/>
<
div
class
=
"error"
v
-
else
>
暂无图片
<
/div
>
<
/div
>
<
/el-form-item
>
<
/el-col
>
<
/el-col
>
<
/el-form
>
<
/el-row
>
<
div
class
=
"t"
>
复查信息
<
/div
>
<
el
-
row
class
=
"container flex bb"
>
<
el
-
form
label
-
width
=
"110px"
class
=
"el-table"
>
<
el
-
col
style
=
"height: auto"
:
span
=
"8"
>
<
el
-
col
:
span
=
"24"
>
<
el
-
form
-
item
label
=
"复查人"
>
<
span
v
-
if
=
"dangerDetailInfo.checkName"
>
{{
dangerDetailInfo
.
checkName
}}
<
/span
>
<
span
v
-
else
>-<
/span
>
<
/el-form-item
>
<
/el-col
>
<
el
-
col
:
span
=
"24"
>
<
el
-
form
-
item
label
=
"复查时间"
>
<
span
v
-
if
=
"dangerDetailInfo.checkTime"
>
{{
dangerDetailInfo
.
checkTime
}}
<
/span
>
<
span
v
-
else
>-<
/span
>
<
/el-form-item
>
<
/el-col
>
<
el
-
col
:
span
=
"24"
>
<
el
-
form
-
item
label
=
"复查备注"
>
<
span
v
-
if
=
"dangerDetailInfo.checkRemark"
>
{{
dangerDetailInfo
.
checkRemark
}}
<
/span
>
<
span
v
-
else
>-<
/span
>
<
/el-form-item
>
<
/el-col
>
<
/el-col
>
<
el
-
col
:
span
=
"16"
>
<
el
-
col
:
span
=
"24"
>
<
el
-
form
-
item
label
=
"复查图片"
prop
=
"checkImg"
>
<
div
>
<
MyImage
v
-
if
=
"dangerDetailInfo.checkImg"
:
src
=
"dangerDetailInfo.checkImg.split(',')[0]"
:
previewSrcList
=
"dangerDetailInfo.checkImg.split(',')"
/>
<
div
class
=
"error"
v
-
else
>
暂无图片
<
/div
>
<
/div
>
<
/el-form-item
>
<
/el-col
>
<
/el-col
>
<
/el-form
>
<
/el-row
>
<
div
class
=
"t"
>
审核信息
<
/div
>
<
div
class
=
"container bb"
>
<
el
-
form
label
-
width
=
"110px"
class
=
"el-table scroll"
v
-
if
=
"dangerApprovalList.length > 0"
>
<
el
-
timeline
>
<
el
-
timeline
-
item
placement
=
"top"
type
=
"primary"
v
-
for
=
"(activity, index) in dangerApprovalList"
:
key
=
"index"
:
timestamp
=
"activity.createTime"
>
<
el
-
card
>
<
el
-
form
-
item
label
=
"审核人"
>
{{
activity
.
nickName
}}
<
/el-form-item
>
<
el
-
form
-
item
label
=
"审状态"
>
<
span
v
-
if
=
"activity.approvalStatus == '0'"
>
通过
<
/span
>
<
span
v
-
else
>
不通过
<
/span
>
<
/el-form-item
>
<
el
-
form
-
item
label
=
"审核意见"
>
{{
activity
.
suggestion
}}
<
/el-form-item
>
<
/el-card
>
<
/el-timeline-item
>
<
/el-timeline
>
<
/el-form
>
<
/div
>
<
div
class
=
"t"
>
归档信息
<
/div
>
<
el
-
row
class
=
"container flex bb"
>
<
el
-
form
label
-
width
=
"110px"
class
=
"el-table"
>
<
el
-
col
:
span
=
"24"
>
<
el
-
col
:
span
=
"4"
>
<
el
-
form
-
item
label
=
"归档人"
>
<
span
v
-
if
=
"dangerDetailInfo.fileName"
>
{{
dangerDetailInfo
.
fileName
}}
<
/span
>
<
span
v
-
else
>-<
/span
>
<
/el-form-item
>
<
/el-col
>
<
el
-
col
:
span
=
"6"
>
<
el
-
form
-
item
label
=
"归档时间"
>
<
span
v
-
if
=
"dangerDetailInfo.fileTime"
>
{{
dangerDetailInfo
.
fileTime
}}
<
/span
>
<
span
v
-
else
>-<
/span
>
<
/el-form-item
>
<
/el-col
>
<!--
<
el
-
col
:
span
=
"14"
>
<
el
-
form
-
item
label
=
"复查备注"
>
<
span
v
-
if
=
"dangerDetailInfo.checkRemark"
>
{{
dangerDetailInfo
.
checkRemark
}}
<
/span
>
<
span
v
-
else
>-<
/span
>
<
/el-form-item
>
<
/el-col>--
>
<
/el-col
>
<
/el-form
>
<
/el-row
>
<
/el-row
>
<!--
<
el
-
row
>
<
el
-
col
:
span
=
"14"
>
<
el
-
form
label
-
width
=
"110px"
class
=
"dangerDetailInfo"
>
<
div
style
=
"font-size: 20px; margin: 7px 0px 7px 0px"
>
隐患信息
<
/div
>
<
el
-
row
>
<
el
-
col
:
span
=
"12"
>
<
el
-
form
-
item
label
=
"隐患标题"
>
<
span
>
{{
dangerDetailInfo
.
title
}}
<
/span
>
<
/el-form-item
>
<
/el-col
>
<
el
-
col
:
span
=
"12"
>
<
el
-
form
-
item
label
=
"隐患状态"
>
<
span
v
-
if
=
"dangerDetailInfo.status == 0"
>
待处理
<
/span
>
<
span
v
-
if
=
"dangerDetailInfo.status == 1"
>
拒绝整改
<
/span
>
<
span
v
-
if
=
"dangerDetailInfo.status == 2"
>
待复查
<
/span
>
<
span
v
-
if
=
"dangerDetailInfo.status == 3"
>
待审核
<
/span
>
<
/el-form-item
>
<
/el-col
>
<
/el-row
>
<
el
-
row
>
<
el
-
col
:
span
=
"12"
>
<
el
-
form
-
item
label
=
"隐患来源"
>
<
span
>
{{
$parent
.
typeFormatter
(
dangerDetailInfo
)
}}
<
/span
>
<
/el-form-item
>
<
/el-col
>
<
el
-
col
:
span
=
"12"
>
<
el
-
form
-
item
label
=
"用户"
>
<
span
v
-
if
=
"dangerDetailInfo.receiveName"
>
{{
dangerDetailInfo
.
receiveName
}}
<
/span
>
<
span
v
-
else
>-<
/span
>
<
/el-form-item
>
<
/el-col
>
<
/el-row
>
<
el
-
row
>
<
el
-
col
:
span
=
"12"
>
<
el
-
form
-
item
label
=
"隐患级别"
>
<
span
v
-
if
=
"dangerDetailInfo.level == 1"
>
一级
<
/span
>
<
span
v
-
if
=
"dangerDetailInfo.level == 2"
>
二级
<
/span
>
<
span
v
-
if
=
"dangerDetailInfo.level == 3"
>
三级
<
/span
>
<
/el-form-item
>
<
/el-col
>
<
el
-
col
:
span
=
"12"
>
<
el
-
form
-
item
label
=
"隐患责任人"
>
<
span
v
-
if
=
"dangerDetailInfo.flag == 1"
>
用户自己
<
/span
>
<
span
v
-
else
-
if
=
"dangerDetailInfo.flag == 2"
>
公司客服部
<
/span
>
<
span
v
-
else
>-<
/span
>
<
/el-form-item
>
<
/el-col
>
<
/el-row
>
<
el
-
row
>
<
el
-
col
:
span
=
"12"
>
<
el
-
form
-
item
label
=
"上报人"
>
{{
dangerDetailInfo
.
reportName
}}
<
/el-form-item
>
<
/el-col
>
<
el
-
col
:
span
=
"12"
>
<
el
-
form
-
item
label
=
"上报时间"
>
{{
parseTime
(
dangerDetailInfo
.
createTime
,
"{y
}
-{m
}
-{d
}
{h
}
:{i
}
:{s
}
"
)
}}
<
/el-form-item
>
<
/el-col
>
<
/el-row
>
<
el
-
col
:
span
=
"24"
>
<
el
-
form
-
item
label
=
"隐患地址"
>
<
span
v
-
if
=
"dangerDetailInfo.address"
>
{{
dangerDetailInfo
.
address
}}
<
/span
>
<
span
v
-
else
>-<
/span
>
<
/el-form-item
>
<
/el-col
>
<
el
-
col
:
span
=
"24"
>
<
el
-
form
-
item
label
=
"隐患内容"
>
<
span
v
-
if
=
"dangerDetailInfo.beforeContent"
>
{{
dangerDetailInfo
.
beforeContent
}}
<
/span
>
<
span
v
-
else
>-<
/span
>
<
/el-form-item
>
<
/el-col
>
<
el
-
col
:
span
=
"24"
>
<
el
-
form
-
item
label
=
"隐患备注"
>
<
span
v
-
if
=
"dangerDetailInfo.remark"
>
{{
dangerDetailInfo
.
remark
}}
<
/span
>
<
span
v
-
else
>-<
/span
>
<
/el-form-item
>
<
/el-col
>
<
el
-
col
:
span
=
"24"
>
<
el
-
form
-
item
label
=
"隐患整改前图片"
prop
=
"beforeImg"
>
<
span
v
-
if
=
"dangerDetailInfo.beforeImg"
>
<
el
-
image
v
-
for
=
"imageInfo in dangerDetailInfo.beforeImg.split(',')"
:
src
=
"imageInfo"
:
preview
-
src
-
list
=
"[imageInfo]"
:
z
-
index
=
"9999"
style
=
"width: 99px; height: 100px; margin-right: 10px"
/>
<
/span
>
<
span
v
-
else
>-<
/span
>
<
/el-form-item
>
<
/el-col
>
<
el
-
col
:
span
=
"24"
>
<
el
-
form
-
item
label
=
"隐患整改前视频"
prop
=
"beforeVideo"
>
<
span
v
-
if
=
"dangerDetailInfo.beforeVideo"
>
<
video
v
-
for
=
"videoInfo in dangerDetailInfo.beforeVideo.split(',')"
type
=
"video/mp4"
controls
=
"controls"
:
src
=
"videoInfo"
class
=
"upload-video"
/>
<
/span
>
<
span
v
-
else
>-<
/span
>
<
/el-form-item
>
<
/el-col
>
<
div
style
=
"font-size: 20px; margin: 7px 0px 7px 0px"
>
整改信息
<
/div
>
<
el
-
col
:
span
=
"12"
>
<
el
-
form
-
item
label
=
"整改人"
>
<
span
v
-
if
=
"dangerDetailInfo.reformName"
>
{{
dangerDetailInfo
.
reformName
}}
<
/span
>
<
span
v
-
else
>-<
/span
>
<
/el-form-item
>
<
/el-col
>
<
el
-
col
:
span
=
"12"
>
<
el
-
form
-
item
label
=
"整改期限"
>
<
span
v
-
if
=
"dangerDetailInfo.endTime"
>
{{
dangerDetailInfo
.
endTime
}}
<
/span
>
<
span
v
-
else
>-<
/span
>
<
/el-form-item
>
<
/el-col
>
<
el
-
col
:
span
=
"12"
>
<
el
-
form
-
item
label
=
"整改时间"
>
<
span
v
-
if
=
"dangerDetailInfo.reformTime"
>
{{
dangerDetailInfo
.
reformTime
}}
<
/span
>
<
span
v
-
else
>-<
/span
>
<
/el-form-item
>
<
/el-col
>
<
el
-
col
:
span
=
"24"
>
<
el
-
form
-
item
label
=
"整改内容"
>
<
span
v
-
if
=
"dangerDetailInfo.afterContent"
>
{{
dangerDetailInfo
.
afterContent
}}
<
/span
>
<
span
v
-
else
>-<
/span
>
<
/el-form-item
>
<
/el-col
>
<
el
-
row
>
<
el
-
col
:
span
=
"24"
>
<
el
-
form
-
item
label
=
"隐患整改后图片"
>
<
span
v
-
if
=
"dangerDetailInfo.afterImg"
>
<
el
-
image
v
-
for
=
"afterImageInfo in dangerDetailInfo.afterImg.split(
','
)"
:
src
=
"afterImageInfo"
:
preview
-
src
-
list
=
"[afterImageInfo]"
:
z
-
index
=
"9999"
style
=
"width: 99px; height: 100px; margin-right: 10px"
/>
<
/span
>
<
span
v
-
else
>-<
/span
>
<
/el-form-item
>
<
/el-col
>
<
/el-row
>
<
div
style
=
"font-size: 20px; margin: 7px 0px 7px 0px"
>
复查信息
<
/div
>
<
el
-
row
>
<
el
-
col
:
span
=
"12"
>
<
el
-
form
-
item
label
=
"复查人"
>
<
span
v
-
if
=
"dangerDetailInfo.checkName"
>
{{
dangerDetailInfo
.
checkName
}}
<
/span
>
<
span
v
-
else
>-<
/span
>
<
/el-form-item
>
<
/el-col
>
<
el
-
col
:
span
=
"12"
>
<
el
-
form
-
item
label
=
"复查时间"
>
<
span
v
-
if
=
"dangerDetailInfo.checkTime"
>
{{
dangerDetailInfo
.
checkTime
}}
<
/span
>
<
span
v
-
else
>-<
/span
>
<
/el-form-item
>
<
/el-col
>
<
/el-row
>
<
el
-
row
>
<
el
-
col
:
span
=
"24"
>
<
el
-
form
-
item
label
=
"复查备注"
>
<
span
v
-
if
=
"dangerDetailInfo.checkRemark"
>
{{
dangerDetailInfo
.
checkRemark
}}
<
/span
>
<
span
v
-
else
>-<
/span
>
<
/el-form-item
>
<
/el-col
>
<
/el-row
>
<
div
style
=
"font-size: 20px; margin: 7px 0px 7px 0px"
>
变更信息
<
/div
>
<
el
-
table
:
data
=
"dangerStatusChangeList"
>
<
el
-
table
-
column
label
=
"时间"
align
=
"center"
prop
=
"optime"
:
show
-
overflow
-
tooltip
=
"true"
/>
<
el
-
table
-
column
label
=
"状态"
align
=
"center"
prop
=
"status"
:
show
-
overflow
-
tooltip
=
"true"
>
<
template
slot
-
scope
=
"scope"
>
<
span
v
-
if
=
"scope.row.status == 0"
>
待处理
<
/span
>
<
span
v
-
if
=
"scope.row.status == 1"
>
拒绝整改
<
/span
>
<
span
v
-
if
=
"scope.row.status == 2"
>
待复查
<
/span
>
<
span
v
-
if
=
"scope.row.status == 3"
>
待审核
<
/span
>
<
/template
>
<
/el-table-column
>
<
el
-
table
-
column
label
=
"操作人"
align
=
"center"
prop
=
"operator"
:
show
-
overflow
-
tooltip
=
"true"
/>
<
/el-table
>
<
/el-form
>
<
/el-col
>
<
el
-
col
:
span
=
"10"
>
<
div
id
=
"dangerMap"
style
=
"width: 100%; height: 500px; border: 1px solid"
><
/div
>
<
/el-col
>
<
/el-row> --
>
<
/div
>
<
/el-dialog
>
<!--
表封照片
-->
<
CoverPhotoView
ref
=
"cover"
/>
<!--
安检表
-->
<
component
ref
=
"inspectDetail"
:
is
=
"inspectDetailInfo"
/>
<
/div
>
<
/template
>
<
script
>
import
{
getDanger
}
from
"@/api/checktask/danger"
;
import
{
EditorMap
}
from
"@/utils/mapClass/map"
;
import
{
mapGetters
}
from
"vuex"
;
import
{
dangerStatusList
}
from
"@/api/checktask/dangerStatus"
;
import
MySteps
from
"@/components/MySteps"
;
import
MyImage
from
"@/components/MyImage/index.vue"
;
import
CoverPhotoView
from
"@/views/checktask/task/components/CoverPhotoView"
;
import
{
getUser
}
from
"@/api/baseinfo/user"
;
import
{
getBusiness
}
from
"@/api/baseinfo/businessInfo"
;
import
CanyinRecordDetail
from
"@/views/checktask/inspect/jumInspect/cyRecordDetail"
;
import
IndustryRecordDetail
from
"@/views/checktask/task/components/IndustryRecordDetail"
;
import
{
getTask
}
from
"@/api/checktask/task"
;
import
{
dangerApprovalListInfo
}
from
"@/api/checktask/dangerApprovalRecord"
;
export
default
{
name
:
"danger-detail"
,
components
:
{
MySteps
,
MyImage
,
CoverPhotoView
,
CanyinRecordDetail
,
IndustryRecordDetail
}
,
data
()
{
return
{
dangerDetailOpen
:
false
,
dangerDetailInfo
:
{
beforeImg
:
""
,
beforeVideo
:
""
,
afterImg
:
""
,
}
,
stepsArr
:
[
{
title
:
"发现隐患"
,
a
:
[
"安检员"
,
"-"
],
b
:
[
"上报时间"
,
"-"
],
}
,
{
title
:
"已整改待复查"
,
a
:
[
"整改人"
,
"-"
],
b
:
[
"整改时间"
,
"-"
],
}
,
{
title
:
"已复查审核中"
,
a
:
[
"复查人"
,
"-"
],
b
:
[
"复查时间"
,
"-"
],
}
,
{
title
:
"已归档"
,
a
:
[
"归档人"
,
"-"
],
b
:
[
"归档时间"
,
"-"
],
}
],
stepsNumData
:
{
0
:
1
,
2
:
2
,
3
:
3
,
4
:
4
}
,
dangerStatusChangeList
:
[],
inspectDetailInfo
:
null
,
dangerApprovalList
:
[]
}
;
}
,
methods
:
{
//隐患详情
handleDangerDetail
(
dangerId
)
{
getDanger
(
dangerId
).
then
((
response
)
=>
{
this
.
dangerDetailInfo
=
response
.
data
;
this
.
dangerDetailOpen
=
true
;
this
.
$set
(
this
.
stepsArr
[
0
].
a
,
1
,
this
.
dangerDetailInfo
.
reportName
);
this
.
$set
(
this
.
stepsArr
[
0
].
b
,
1
,
this
.
dangerDetailInfo
.
createTime
);
this
.
$set
(
this
.
stepsArr
[
1
].
a
,
1
,
this
.
dangerDetailInfo
.
reformName
);
this
.
$set
(
this
.
stepsArr
[
1
].
b
,
1
,
this
.
dangerDetailInfo
.
reformTime
);
this
.
$set
(
this
.
stepsArr
[
2
].
a
,
1
,
this
.
dangerDetailInfo
.
checkName
);
this
.
$set
(
this
.
stepsArr
[
2
].
b
,
1
,
this
.
dangerDetailInfo
.
checkTime
);
this
.
$set
(
this
.
stepsArr
[
3
].
a
,
1
,
this
.
dangerDetailInfo
.
fileName
);
this
.
$set
(
this
.
stepsArr
[
3
].
b
,
1
,
this
.
dangerDetailInfo
.
fileTime
);
this
.
initMap
();
this
.
statusChangeInfo
(
dangerId
);
}
);
//获取审核记录
this
.
getDangerApprovalList
(
dangerId
);
}
,
//地图初始化
initMap
()
{
this
.
$nextTick
(()
=>
{
const
path
=
eval
(
this
.
systemSetting
.
map_center
);
this
.
detailGaoMap
=
new
EditorMap
(
"dangerMap"
,
{
center
:
path
,
zoom
:
12
,
}
,
this
);
if
(
this
.
dangerDetailInfo
.
longitude
)
{
this
.
addLocation
({
longitude
:
this
.
dangerDetailInfo
.
longitude
,
latitude
:
this
.
dangerDetailInfo
.
latitude
,
nickName
:
this
.
dangerDetailInfo
.
title
,
iconType
:
"dangerDetail"
,
}
);
}
}
);
}
,
//位置上图
addLocation
(
data
)
{
this
.
detailGaoMap
.
allDevice
[
"dangerDetail"
]?.
forEach
((
item
)
=>
{
this
.
detailGaoMap
.
map
.
remove
(
item
);
}
);
this
.
detailGaoMap
.
control
=
2
;
this
.
detailGaoMap
.
addDevice
(
data
,
null
);
this
.
detailGaoMap
.
map
.
panTo
([
data
.
longitude
,
data
.
latitude
]);
}
,
statusChangeInfo
(
dangerId
)
{
dangerStatusList
({
dangerId
:
dangerId
}
).
then
((
res
)
=>
{
if
(
res
.
code
==
200
&&
res
.
data
)
{
this
.
dangerStatusChangeList
=
res
.
data
;
}
}
);
}
,
//表封照片
handleCover
(
row
)
{
if
(
!
row
.
meterImg
)
return
this
.
$message
.
error
(
"未查询到图片"
);
this
.
$refs
.
cover
.
viewCoverPhoto
(
row
.
meterImg
);
}
,
handleInspect
(
row
){
if
(
!
row
.
content
)
return
this
.
$message
.
error
(
"未查到安检信息!"
);
//居民和商户
if
(
row
.
type
==
1
||
row
.
type
==
2
){
this
.
inspectDetailInfo
=
CanyinRecordDetail
;
this
.
$nextTick
(()
=>
{
if
(
row
.
type
==
1
)
{
this
.
getUserInfo
(
row
.
receiveId
);
}
else
{
this
.
getBusinessInfo
(
row
.
receiveId
);
}
this
.
$refs
.
inspectDetail
.
open
=
true
;
this
.
$refs
.
inspectDetail
.
checkType
=
row
.
type
;
this
.
$refs
.
inspectDetail
.
map
=
row
;
this
.
$refs
.
inspectDetail
.
jsondata
=
JSON
.
parse
(
row
.
content
);
}
)
}
if
(
row
.
type
==
3
){
this
.
inspectDetailInfo
=
IndustryRecordDetail
;
this
.
$nextTick
(()
=>
{
getTask
(
row
.
taskId
).
then
(
res
=>
{
this
.
$refs
.
inspectDetail
.
checkType
=
res
.
data
.
checkType
;
this
.
$refs
.
inspectDetail
.
inspectInfo
=
row
;
this
.
$refs
.
inspectDetail
.
open
=
true
;
}
)
}
)
}
}
,
getUserInfo
(
userId
)
{
getUser
(
userId
).
then
((
res
)
=>
{
this
.
$refs
.
inspectDetail
.
detailInfo
=
res
.
data
;
}
);
}
,
getBusinessInfo
(
businessId
)
{
getBusiness
(
businessId
).
then
((
res
)
=>
{
this
.
$refs
.
inspectDetail
.
device
=
JSON
.
parse
(
res
.
data
.
device
);
this
.
$refs
.
inspectDetail
.
detailInfo
=
res
.
data
;
}
);
}
,
//获取审核记录
getDangerApprovalList
(
dangerId
){
dangerApprovalListInfo
({
dangerId
:
dangerId
}
).
then
(
res
=>
{
if
(
res
.
code
==
200
){
this
.
dangerApprovalList
=
res
.
data
;
}
}
)
}
}
,
computed
:
{
...
mapGetters
([
"systemSetting"
]),
}
,
}
;
<
/script
>
<
style
scoped
lang
=
"scss"
>
.
dangerDetailInfo
{
height
:
500
px
;
overflow
-
y
:
auto
;
padding
-
right
:
10
px
;
&
::
-
webkit
-
scrollbar
{
width
:
3
px
;
background
:
#
dfe4ed
;
position
:
absolute
;
top
:
0
;
}
&
::
-
webkit
-
scrollbar
-
thumb
{
/*滚动条里面小方块*/
// border-radius: 10px;
// box-shadow: inset 0 0 5px rgba(0, 0, 0, 0.2);
background
:
#
cccccc
;
border
-
radius
:
5
px
;
}
}
.
upload
-
video
{
object
-
fit
:
fill
;
height
:
180
px
;
width
:
208
px
;
margin
-
right
:
10
px
;
}
.
dlg
-
wrapper
{
height
:
700
px
;
overflow
:
auto
;
padding
-
right
:
10
px
;
}
.
steps
{
padding
:
15
px
0
;
}
.
top
-
title
{
text
-
align
:
center
;
font
-
size
:
20
px
;
}
.
container
{
background
:
#
f9f9f9
;
margin
-
bottom
:
32
px
;
padding
:
10
px
10
px
;
.
el
-
form
-
item
{
margin
-
bottom
:
12
px
;
}
}
.
t
{
font
-
size
:
14
px
;
margin
:
7
px
0
px
7
px
0
px
;
}
#
dangerMap
{
width
:
340
px
;
height
:
305
px
;
margin
-
bottom
:
5
px
;
}
.
map
-
bottom
{
width
:
340
px
;
text
-
align
:
center
;
font
-
size
:
14
px
;
color
:
#
606266
;
}
.
error
{
width
:
130
px
;
height
:
130
px
;
text
-
align
:
center
;
line
-
height
:
139
px
;
// background: #f5f7fa;
background
:
#
ffffff
;
}
.
el
-
table
{
width
:
100
%
;
background
-
color
:
#
f9f9f9
;
}
.
scroll
{
height
:
350
px
;
overflow
-
y
:
auto
;
}
<
/style
>
huaxin-web/src/views/checktask/superviseDanger/index.vue
0 → 100644
View file @
b394a2ab
<
template
>
<div
class=
"app-container"
>
<el-form
:model=
"queryParams"
ref=
"queryForm"
:inline=
"true"
v-show=
"showSearch"
label-width=
"90px"
>
<el-form-item
label=
"隐患标题"
prop=
"title"
>
<el-input
v-model=
"queryParams.title"
placeholder=
"请输入隐患标题"
clearable
size=
"small"
@
keyup
.
enter
.
native=
"handleQuery"
/>
</el-form-item>
<el-form-item
label=
"隐患状态"
prop=
"status"
>
<el-select
v-model=
"queryParams.status"
placeholder=
"请选择隐患状态"
clearable
size=
"small"
>
<el-option
label=
"待处理"
value=
"0"
/>
<el-option
label=
"拒绝整改"
value=
"1"
/>
<el-option
label=
"待复查"
value=
"2"
/>
<el-option
label=
"待审核"
value=
"3"
/>
<el-option
label=
"已归档"
value=
"4"
/>
</el-select>
</el-form-item>
<el-form-item
label=
"责任归属人"
prop=
"reformName"
>
<el-autocomplete
class=
"inline-input"
v-model=
"queryParams.reformName"
:fetch-suggestions=
"queryReformSearch"
placeholder=
"请输入责任归属人"
:trigger-on-focus=
"false"
clearable
size=
"small"
@
keyup
.
enter
.
native=
"handleQuery"
></el-autocomplete>
</el-form-item>
<el-form-item
label=
"上报人"
prop=
"reportName"
>
<el-input
v-model=
"queryParams.reportName"
placeholder=
"请输入隐患标题"
clearable
size=
"small"
@
keyup
.
enter
.
native=
"handleQuery"
/>
</el-form-item>
<el-form-item
label=
"上报时间"
prop=
"reportTimeRange"
>
<el-date-picker
v-model=
"reportTimeRange"
type=
"datetimerange"
size=
"small"
:clearable=
"false"
value-format=
"yyyy-MM-dd HH:mm"
@
change=
"timeChange"
range-separator=
"至"
start-placeholder=
"开始日期"
end-placeholder=
"结束日期"
>
</el-date-picker>
</el-form-item>
<el-form-item>
<el-button
type=
"primary"
icon=
"el-icon-search"
size=
"mini"
@
click=
"handleQuery"
>
搜索
</el-button>
<el-button
icon=
"el-icon-refresh"
size=
"mini"
@
click=
"resetQuery"
>
重置
</el-button>
</el-form-item>
</el-form>
<el-row
:gutter=
"10"
class=
"mb8"
>
<!--
<el-col
:span=
"1.5"
>
<el-button
type=
"primary"
plain
icon=
"el-icon-plus"
size=
"mini"
@
click=
"handleAdd"
v-hasPermi=
"['checkTask:danger:add']"
>
新增
</el-button>
</el-col>
-->
<el-col
:span=
"1.5"
>
<el-button
type=
"warning"
plain
icon=
"el-icon-download"
size=
"mini"
:loading=
"exportLoading"
@
click=
"handleExport"
v-hasPermi=
"['checkTask:danger:export']"
>
导出
</el-button>
</el-col>
<!--
<el-col
:span=
"1.5"
>
<el-button
type=
"primary"
plain
size=
"mini"
@
click=
"handleApproval"
v-hasPermi=
"['checkTask:danger:approval']"
>
审核
</el-button>
</el-col>
-->
<right-toolbar
:showSearch
.
sync=
"showSearch"
@
queryTable=
"getList"
></right-toolbar>
</el-row>
<el-table
v-loading=
"loading"
:data=
"dangerList"
@
selection-change=
"handleSelectionChange"
>
<el-table-column
type=
"selection"
width=
"55"
align=
"center"
/>
<el-table-column
label=
"序号"
align=
"center"
prop=
"id"
v-if=
"!$store.state.user.roles.includes('visitor')"
/>
<el-table-column
label=
"隐患标题"
align=
"center"
prop=
"title"
width=
"150"
:show-overflow-tooltip=
"true"
>
<template
slot-scope=
"scope"
>
<span>
{{
scope
.
row
.
title
+
(
scope
.
row
.
remark
?
'-'
+
scope
.
row
.
remark
:
''
)
}}
</span>
</
template
>
</el-table-column>
<el-table-column
label=
"隐患来源"
align=
"center"
prop=
"type"
:formatter=
"typeFormatter"
/>
<!--<el-table-column label="营业网点" align="center" prop="branch" :formatter="branchFormat"/>
<el-table-column label="表具编号" align="center" prop="meterNum" />-->
<!--<el-table-column label="责任归属" align="center" prop="flag">
<template slot-scope="scope">
<span v-if="scope.row.flag == 1">安全管理部</span>
<span v-else-if="scope.row.flag == 2">客服运营部</span>
<span v-else-if="scope.row.flag == 3">生产运营部</span>
<span v-else>-</span>
</template>
</el-table-column>-->
<!--<el-table-column label="隐患级别" align="center" prop="level">
<template slot-scope="scope">
<span v-if="scope.row.level == 1">重大</span>
<span v-if="scope.row.level == 2">一般</span>
</template>
</el-table-column>-->
<el-table-column
label=
"隐患地址"
align=
"center"
prop=
"address"
width=
"150"
:show-overflow-tooltip=
"true"
/>
<el-table-column
label=
"隐患状态"
align=
"center"
prop=
"status"
>
<
template
slot-scope=
"scope"
>
<span
v-if=
"scope.row.status == 0"
style=
"color: red"
>
待处理
</span>
<span
v-if=
"scope.row.status == 1"
style=
"color: blue"
>
拒绝整改
</span>
<span
v-if=
"scope.row.status == 2"
style=
"color: blue"
>
待复查
</span>
<span
v-if=
"scope.row.status == 3"
style=
"color: green"
>
待审核
</span>
<span
v-if=
"scope.row.status == 4"
style=
"color: green"
>
已归档
</span>
</
template
>
</el-table-column>
<el-table-column
label=
"上报人"
align=
"center"
prop=
"reportName"
/>
<el-table-column
label=
"上报时间"
align=
"center"
prop=
"createTime"
width=
"150"
>
<
template
slot-scope=
"scope"
>
<span>
{{
parseTime
(
scope
.
row
.
createTime
,
'{y
}
-{m
}
-{d
}
{h
}
:{i
}
:{s
}
'
)
}}
<
/span
>
<
/template
>
<
/el-table-column
>
<
el
-
table
-
column
label
=
"整改人"
align
=
"center"
prop
=
"reformName"
>
<
template
slot
-
scope
=
"scope"
>
<
span
v
-
if
=
"scope.row.reformName"
>
{{
scope
.
row
.
reformName
}}
<
/span
>
<
span
v
-
else
>-<
/span
>
<
/template
>
<
/el-table-column
>
<
el
-
table
-
column
label
=
"整改时间"
align
=
"center"
prop
=
"reformTime"
width
=
"150"
>
<
template
slot
-
scope
=
"scope"
>
<
span
v
-
if
=
"scope.row.reformTime"
>
{{
parseTime
(
scope
.
row
.
reformTime
,
'{y
}
-{m
}
-{d
}
{h
}
:{i
}
:{s
}
'
)
}}
<
/span
>
<
span
v
-
else
>-<
/span
>
<
/template
>
<
/el-table-column
>
<!--
<
el
-
table
-
column
label
=
"备注"
align
=
"center"
prop
=
"remark"
width
=
"100"
:
show
-
overflow
-
tooltip
=
"true"
/>-->
<
el
-
table
-
column
label
=
"操作"
align
=
"center"
class
-
name
=
"small-padding fixed-width"
>
<
template
slot
-
scope
=
"scope"
>
<
el
-
button
size
=
"mini"
type
=
"text"
icon
=
"el-icon-document"
@
click
=
"handleDetail(scope.row)"
>
详情
<
/el-button
>
<!--
<
el
-
button
size
=
"mini"
type
=
"text"
icon
=
"el-icon-edit"
@
click
=
"handleUpdate(scope.row)"
v
-
hasPermi
=
"['checkTask:danger:edit']"
>
修改
<
/el-button>--
>
<
el
-
button
size
=
"mini"
type
=
"text"
icon
=
"el-icon-delete"
@
click
=
"handleDelete(scope.row)"
v
-
hasPermi
=
"['checkTask:danger:remove']"
>
删除
<
/el-button
>
<!--
<
el
-
button
size
=
"mini"
type
=
"text"
@
click
=
"handleApproval(scope.row)"
v
-
if
=
"scope.row.hasApprovalPermission"
v
-
hasPermi
=
"['checkTask:danger:approval']"
>
审核
<
/el-button>--
>
<
/template
>
<
/el-table-column
>
<
/el-table
>
<
pagination
v
-
show
=
"total>0"
:
total
=
"total"
:
page
.
sync
=
"queryParams.pageNum"
:
limit
.
sync
=
"queryParams.pageSize"
@
pagination
=
"getList"
/>
<!--
添加或修改安检隐患整改对话框
-->
<
el
-
dialog
:
title
=
"title"
:
visible
.
sync
=
"open"
width
=
"900px"
append
-
to
-
body
destroy
-
on
-
close
:
close
-
on
-
click
-
modal
=
"false"
>
<
el
-
form
ref
=
"form"
:
model
=
"form"
:
rules
=
"rules"
label
-
width
=
"120px"
>
<
el
-
row
>
<
el
-
col
:
span
=
"12"
>
<
el
-
form
-
item
label
=
"隐患标题"
prop
=
"title"
>
<
el
-
input
v
-
model
=
"form.title"
placeholder
=
"请输入隐患标题"
/>
<
/el-form-item
>
<
/el-col
>
<
el
-
col
:
span
=
"12"
>
<
el
-
form
-
item
label
=
"隐患级别"
prop
=
"level"
>
<
el
-
select
v
-
model
=
"form.level"
placeholder
=
"请选择隐患级别"
style
=
"width: 100%"
>
<
el
-
option
label
=
"重大"
value
=
"1"
/>
<
el
-
option
label
=
"一般"
value
=
"2"
/>
<
/el-select
>
<
/el-form-item
>
<
/el-col
>
<
/el-row
>
<
el
-
form
-
item
label
=
"隐患内容"
prop
=
"beforeContent"
>
<
el
-
input
v
-
model
=
"form.beforeContent"
type
=
"textarea"
placeholder
=
"请输入隐患内容"
/>
<
/el-form-item
>
<
el
-
row
>
<
el
-
col
:
span
=
"12"
>
<
el
-
form
-
item
label
=
"整改人"
prop
=
"reformId"
>
<
el
-
select
v
-
model
=
"form.reformId"
placeholder
=
"请选择隐患级别"
style
=
"width: 100%"
>
<
el
-
option
v
-
for
=
"member in memberInfoList"
:
key
=
"member.memberId"
:
label
=
"member.nickName"
:
value
=
"member.userId"
/>
<
/el-select
>
<
/el-form-item
>
<
/el-col
>
<
el
-
col
:
span
=
"12"
>
<
el
-
form
-
item
label
=
"联系电话"
prop
=
"phone"
>
<
el
-
input
v
-
model
=
"form.phone"
maxlength
=
"11"
placeholder
=
"请输入联系电话"
/>
<
/el-form-item
>
<
/el-col
>
<
/el-row
>
<
el
-
row
>
<
el
-
col
:
span
=
"24"
>
<
el
-
form
-
item
label
=
"具体地址"
prop
=
"address"
>
<
el
-
input
v
-
model
=
"form.address"
placeholder
=
"请输入具体地址"
/>
<
/el-form-item
>
<
/el-col
>
<
/el-row
>
<
el
-
row
>
<
el
-
col
:
span
=
"24"
>
<
el
-
form
-
item
label
=
"经纬度坐标"
prop
=
"longitude"
>
<
el
-
col
:
span
=
"8"
>
<
el
-
input
v
-
model
=
"form.longitude"
placeholder
=
"请输入经度"
/>
<
/el-col
>
<
el
-
col
:
span
=
"8"
style
=
"margin-left: 20px"
>
<
el
-
input
v
-
model
=
"form.latitude"
placeholder
=
"请输入纬度"
/>
<
/el-col
>
<
el
-
col
:
span
=
"4"
style
=
"margin-left: 30px"
>
<
el
-
button
type
=
"primary"
plain
@
click
=
"MapdialogFun"
>
选择经纬度
<
/el-button
>
<
/el-col
>
<
/el-form-item
>
<
/el-col
>
<
/el-row
>
<
el
-
form
-
item
label
=
"备注"
prop
=
"remark"
>
<
el
-
input
type
=
"textarea"
v
-
model
=
"form.remark"
placeholder
=
"请输入备注"
/>
<
/el-form-item
>
<
/el-form
>
<
div
slot
=
"footer"
class
=
"dialog-footer"
>
<
el
-
button
type
=
"primary"
@
click
=
"submitForm"
>
确
定
<
/el-button
>
<
el
-
button
@
click
=
"cancel"
>
取
消
<
/el-button
>
<
/div
>
<
/el-dialog
>
<!--
坐标选择
-->
<
GetPos
:
dialogVisible
.
sync
=
"dialogTableVisibles"
:
devicePos
=
"devicePos"
@
close
=
"dialogcancelFun"
@
getPath
=
"getPath"
style
=
"z-index: 3000"
/>
<!--
详情
-->
<
DangerDetail
ref
=
"dangerDetail"
/>
<!--
审核
-->
<
Approval
ref
=
"approval"
/>
<
/div
>
<
/template
>
<
script
>
import
{
listDanger
,
getDanger
,
delDanger
,
addDanger
,
updateDanger
,
exportDanger
}
from
"@/api/checktask/danger"
;
import
Editor
from
'@/components/Editor'
;
import
GetPos
from
'@/components/GetPos'
;
import
DangerDetail
from
"./components/DangerDetail"
;
import
Approval
from
"./components/Approval"
;
import
{
memberInfoList
}
from
"@/api/checktask/dangerGroupMember"
;
export
default
{
name
:
"Danger"
,
components
:
{
Editor
,
GetPos
,
DangerDetail
,
Approval
}
,
data
()
{
return
{
// 遮罩层
loading
:
true
,
// 导出遮罩层
exportLoading
:
false
,
// 选中数组
ids
:
[],
// 非单个禁用
single
:
true
,
// 非多个禁用
multiple
:
true
,
// 显示搜索条件
showSearch
:
true
,
// 总条数
total
:
0
,
// 安检隐患整改表格数据
dangerList
:
[],
sceneOptions
:[],
// 弹出层标题
title
:
""
,
// 是否显示弹出层
open
:
false
,
// 查询参数
queryParams
:
{
pageNum
:
1
,
pageSize
:
10
,
taskId
:
null
,
inspectId
:
null
,
type
:
'10'
,
category
:
1
,
receiveId
:
null
,
title
:
null
,
level
:
null
,
beforeContent
:
null
,
address
:
null
,
longitude
:
null
,
latitude
:
null
,
beforeImg
:
null
,
beforeVideo
:
null
,
flag
:
null
,
afterContent
:
null
,
afterImg
:
null
,
startTime
:
null
,
endTime
:
null
,
status
:
null
,
reportName
:
null
,
beginDate
:
null
,
endDate
:
null
,
branch
:
null
,
reformName
:
null
}
,
// 表单参数
form
:
{
}
,
// 表单校验
rules
:
{
title
:
[
{
required
:
true
,
message
:
"隐患标题不能为空"
,
trigger
:
"blur"
}
],
level
:
[
{
required
:
true
,
message
:
"请选择隐患级别"
,
trigger
:
"change"
}
],
beforeContent
:
[
{
required
:
true
,
message
:
"隐患内容不能为空"
,
trigger
:
"blur"
}
],
phone
:
[
{
required
:
true
,
message
:
"电话不能为空"
,
trigger
:
"blur"
}
,
{
type
:
'number'
,
message
:
'手机号格式不正确'
,
trigger
:
'blur'
,
transform
(
value
)
{
let
phonereg
=
11
&&
/^
((
13|14|15|16|17|18|19
)[
0-9
]
{1
}
\d
{8
}
)
$/
if
(
!
phonereg
.
test
(
value
))
{
return
false
}
else
{
return
Number
(
value
)
}
}
}
],
address
:
[
{
required
:
true
,
message
:
"地址不能为空"
,
trigger
:
"blur"
}
],
reformId
:
[
{
required
:
true
,
message
:
"请选择整改人"
,
trigger
:
"change"
}
],
}
,
dialogTableVisibles
:
false
,
devicePos
:
[],
dangerSource
:
[],
reportTimeRange
:
[],
memberInfoList
:
[],
reformMemberInfoList
:
[]
}
;
}
,
created
()
{
this
.
getList
();
this
.
getDangerSource
();
this
.
getDicts
(
"t_branch"
).
then
(
response
=>
{
this
.
sceneOptions
=
response
.
data
;
}
);
}
,
methods
:
{
branchFormat
(
row
,
column
)
{
return
this
.
selectDictLabel
(
this
.
sceneOptions
,
row
.
branch
);
}
,
/** 查询安检隐患整改列表 */
getList
()
{
this
.
loading
=
true
;
listDanger
(
this
.
queryParams
).
then
(
response
=>
{
this
.
dangerList
=
response
.
rows
;
this
.
total
=
response
.
total
;
this
.
loading
=
false
;
}
);
}
,
//隐患来源
getDangerSource
(){
this
.
getDicts
(
"t_danger_source"
).
then
(
response
=>
{
this
.
dangerSource
=
response
.
data
;
}
);
}
,
typeFormatter
(
row
){
const
receiveName
=
(
row
.
receiveName
&&
!
row
.
receiveName
?.
includes
(
"-"
))
?
'['
+
row
.
receiveName
+
']'
:
''
;
return
this
.
selectDictLabel
(
this
.
dangerSource
,
row
.
type
)
+
receiveName
;
}
,
// 取消按钮
cancel
()
{
this
.
open
=
false
;
this
.
reset
();
}
,
// 表单重置
reset
()
{
this
.
form
=
{
id
:
null
,
taskId
:
null
,
inspectId
:
null
,
type
:
7
,
receiveId
:
null
,
title
:
null
,
level
:
null
,
beforeContent
:
null
,
address
:
null
,
longitude
:
null
,
latitude
:
null
,
beforeImg
:
null
,
beforeVideo
:
null
,
flag
:
null
,
afterContent
:
null
,
afterImg
:
null
,
startTime
:
null
,
endTime
:
null
,
status
:
0
,
reformId
:
null
,
createTime
:
null
,
remark
:
null
}
;
this
.
resetForm
(
"form"
);
}
,
/** 搜索按钮操作 */
handleQuery
()
{
this
.
queryParams
.
pageNum
=
1
;
this
.
getList
();
}
,
/** 重置按钮操作 */
resetQuery
()
{
this
.
resetForm
(
"queryForm"
);
this
.
reportTimeRange
=
[];
this
.
queryParams
.
beginDate
=
null
;
this
.
queryParams
.
endDate
=
null
;
this
.
handleQuery
();
}
,
// 多选框选中数据
handleSelectionChange
(
selection
)
{
this
.
ids
=
selection
.
map
(
item
=>
item
.
id
)
this
.
single
=
selection
.
length
!==
1
this
.
multiple
=
!
selection
.
length
}
,
/** 新增按钮操作 */
handleAdd
()
{
this
.
reset
();
this
.
getMemberInfoList
();
this
.
open
=
true
;
this
.
title
=
"添加安检隐患整改"
;
}
,
/** 修改按钮操作 */
handleUpdate
(
row
)
{
this
.
reset
();
const
id
=
row
.
id
||
this
.
ids
getDanger
(
id
).
then
(
response
=>
{
this
.
form
=
response
.
data
;
this
.
open
=
true
;
this
.
title
=
"修改安检隐患整改"
;
}
);
}
,
/** 提交按钮 */
submitForm
()
{
this
.
$refs
[
"form"
].
validate
(
valid
=>
{
if
(
valid
)
{
if
(
this
.
form
.
id
!=
null
)
{
updateDanger
(
this
.
form
).
then
(
response
=>
{
this
.
msgSuccess
(
"修改成功"
);
this
.
open
=
false
;
this
.
getList
();
}
);
}
else
{
addDanger
(
this
.
form
).
then
(
response
=>
{
this
.
msgSuccess
(
"新增成功"
);
this
.
open
=
false
;
this
.
getList
();
}
);
}
}
}
);
}
,
/** 删除按钮操作 */
handleDelete
(
row
)
{
const
ids
=
row
.
id
||
this
.
ids
;
this
.
$confirm
(
'是否确认删除安检隐患整改名称为"'
+
row
.
title
+
'"的数据项?'
,
"警告"
,
{
confirmButtonText
:
"确定"
,
cancelButtonText
:
"取消"
,
type
:
"warning"
}
).
then
(
function
()
{
return
delDanger
(
ids
);
}
).
then
(()
=>
{
this
.
getList
();
this
.
msgSuccess
(
"删除成功"
);
}
).
catch
(()
=>
{
}
);
}
,
/** 导出按钮操作 */
handleExport
()
{
const
queryParams
=
this
.
queryParams
;
this
.
$confirm
(
'是否确认导出所有安检隐患整改数据项?'
,
"警告"
,
{
confirmButtonText
:
"确定"
,
cancelButtonText
:
"取消"
,
type
:
"warning"
}
).
then
(()
=>
{
this
.
exportLoading
=
true
;
return
exportDanger
(
queryParams
);
}
).
then
(
response
=>
{
this
.
download
(
response
.
msg
);
this
.
exportLoading
=
false
;
}
).
catch
(()
=>
{
}
);
}
,
/**
* 经纬度坐标方法
*/
MapdialogFun
()
{
this
.
dialogTableVisibles
=
true
;
}
,
/**
* 地图关闭方法
*/
dialogcancelFun
()
{
this
.
dialogTableVisibles
=
false
;
}
,
/**
* 经纬度 选择
* @param res
*/
getPath
(
res
){
//确认选择经纬度
this
.
form
.
longitude
=
res
[
0
];
this
.
form
.
latitude
=
res
[
1
];
}
,
//详情
handleDetail
(
row
){
this
.
$refs
.
dangerDetail
.
handleDangerDetail
(
row
.
id
);
}
,
timeChange
(
val
){
this
.
queryParams
.
beginDate
=
val
[
0
];
this
.
queryParams
.
endDate
=
val
[
1
];
}
,
handleApproval
(
row
){
let
approvalIds
=
[];
if
(
row
.
id
){
approvalIds
=
[
row
.
id
];
}
else
{
if
(
this
.
ids
.
length
==
0
)
{
this
.
$message
.
error
(
"至少选择一个隐患"
);
return
;
}
approvalIds
=
this
.
ids
;
}
this
.
$refs
.
approval
.
open
(
approvalIds
);
}
,
//获取维修班班长
getMemberInfoList
(){
memberInfoList
({
type
:
'2'
,
post
:
'1'
}
).
then
(
res
=>
{
if
(
res
.
code
==
200
){
this
.
memberInfoList
=
res
.
data
;
}
}
)
}
,
//联想责任归属人
queryReformSearch
(
queryString
,
cb
){
memberInfoList
({
nickName
:
queryString
}
).
then
(
res
=>
{
if
(
res
.
code
==
200
&&
res
.
data
){
let
result
=
res
.
data
.
map
(
item
=>
({
value
:
item
.
nickName
}
));
cb
(
result
);
}
}
)
}
,
}
}
;
<
/script
>
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