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
0429003f
Commit
0429003f
authored
Jul 29, 2026
by
耿迪迪
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
隐患待审核页面及隐患审核
parent
3b4880a4
Show whitespace changes
Inline
Side-by-side
Showing
13 changed files
with
1863 additions
and
19 deletions
+1863
-19
TDangerController.java
...om/zehong/web/controller/checktask/TDangerController.java
+13
-1
TRectifyGroupMemberInfoController.java
...ntroller/checktask/TRectifyGroupMemberInfoController.java
+2
-2
TDanger.java
...ystem/src/main/java/com/zehong/system/domain/TDanger.java
+1
-1
ITDangerService.java
.../main/java/com/zehong/system/service/ITDangerService.java
+7
-0
ITRectifyGroupMemberInfoService.java
...ehong/system/service/ITRectifyGroupMemberInfoService.java
+1
-1
TDangerServiceImpl.java
...va/com/zehong/system/service/impl/TDangerServiceImpl.java
+118
-2
TRectifyGroupMemberInfoServiceImpl.java
...stem/service/impl/TRectifyGroupMemberInfoServiceImpl.java
+17
-8
TDangerMapper.xml
...system/src/main/resources/mapper/system/TDangerMapper.xml
+1
-0
danger.js
huaxin-web/src/api/checktask/danger.js
+9
-0
index.vue
huaxin-web/src/views/checktask/danger/index.vue
+4
-4
Approval.vue
...s/checktask/pendingApprovaldanger/components/Approval.vue
+89
-0
DangerDetail.vue
...ecktask/pendingApprovaldanger/components/DangerDetail.vue
+1004
-0
index.vue
...n-web/src/views/checktask/pendingApprovaldanger/index.vue
+597
-0
No files found.
huaxin-admin/src/main/java/com/zehong/web/controller/checktask/TDangerController.java
View file @
0429003f
...
@@ -68,7 +68,7 @@ public class TDangerController extends BaseController
...
@@ -68,7 +68,7 @@ public class TDangerController extends BaseController
tDanger
.
setIsVisitor
(
"1"
);
tDanger
.
setIsVisitor
(
"1"
);
}
}
List
<
TDanger
>
list
=
tDangerService
.
selectTDangerList
(
tDanger
);
List
<
TDanger
>
list
=
tDangerService
.
selectTDangerList
(
tDanger
);
setApprovalPermission
(
list
);
//
setApprovalPermission(list);
return
getDataTable
(
list
);
return
getDataTable
(
list
);
}
}
...
@@ -119,6 +119,18 @@ public class TDangerController extends BaseController
...
@@ -119,6 +119,18 @@ public class TDangerController extends BaseController
}
}
}
}
/**
* 获取待审核隐患
* @param tDanger 隐患
* @return
*/
@GetMapping
(
"/dangerPendingApprovalList"
)
public
TableDataInfo
dangerPendingApprovalList
(
TDanger
tDanger
){
List
<
TDanger
>
list
=
tDangerService
.
dangerPendingApprovalList
(
tDanger
);
return
getDataTable
(
list
);
}
@GetMapping
(
"/dangerInfoList"
)
@GetMapping
(
"/dangerInfoList"
)
public
TableDataInfo
dangerInfoList
(
TDanger
tDanger
){
public
TableDataInfo
dangerInfoList
(
TDanger
tDanger
){
startPage
();
startPage
();
...
...
huaxin-admin/src/main/java/com/zehong/web/controller/checktask/TRectifyGroupMemberInfoController.java
View file @
0429003f
...
@@ -111,7 +111,7 @@ public class TRectifyGroupMemberInfoController extends BaseController
...
@@ -111,7 +111,7 @@ public class TRectifyGroupMemberInfoController extends BaseController
* @return
* @return
*/
*/
@GetMapping
(
"/selectMemberByUserPost"
)
@GetMapping
(
"/selectMemberByUserPost"
)
public
AjaxResult
selectMemberByUserPost
(){
public
AjaxResult
selectMemberByUserPost
(
String
dealMethod
){
return
AjaxResult
.
success
(
tRectifyGroupMemberInfoService
.
selectMemberByUserPost
());
return
AjaxResult
.
success
(
tRectifyGroupMemberInfoService
.
selectMemberByUserPost
(
dealMethod
));
}
}
}
}
huaxin-system/src/main/java/com/zehong/system/domain/TDanger.java
View file @
0429003f
...
@@ -113,7 +113,7 @@ public class TDanger extends BaseEntity
...
@@ -113,7 +113,7 @@ public class TDanger extends BaseEntity
private
Date
endTime
;
private
Date
endTime
;
/** 整改方式 */
/** 整改方式 */
@Excel
(
name
=
"整改方式"
,
readConverterExp
=
"1=用户自行整改,2=用户出资
公司整改,3=通知厂家上门维修检查,4=公司出资
整改"
)
@Excel
(
name
=
"整改方式"
,
readConverterExp
=
"1=用户自行整改,2=用户出资
燃气公司整改,3=燃气公司
整改"
)
private
String
dealMethod
;
private
String
dealMethod
;
/** 隐患状态,0待处理,1待复核,2已处理 */
/** 隐患状态,0待处理,1待复核,2已处理 */
...
...
huaxin-system/src/main/java/com/zehong/system/service/ITDangerService.java
View file @
0429003f
...
@@ -82,4 +82,11 @@ public interface ITDangerService
...
@@ -82,4 +82,11 @@ public interface ITDangerService
* @return
* @return
*/
*/
int
dangerApproval
(
List
<
DangerApprovalVo
>
approvalVo
);
int
dangerApproval
(
List
<
DangerApprovalVo
>
approvalVo
);
/**
* 获取待审核隐患
* @param tDanger 隐患
* @return
*/
List
<
TDanger
>
dangerPendingApprovalList
(
TDanger
tDanger
);
}
}
huaxin-system/src/main/java/com/zehong/system/service/ITRectifyGroupMemberInfoService.java
View file @
0429003f
...
@@ -71,5 +71,5 @@ public interface ITRectifyGroupMemberInfoService
...
@@ -71,5 +71,5 @@ public interface ITRectifyGroupMemberInfoService
* 根据登录人职位获取可选成员
* 根据登录人职位获取可选成员
* @return
* @return
*/
*/
List
<
TRectifyGroupMemberInfo
>
selectMemberByUserPost
();
List
<
TRectifyGroupMemberInfo
>
selectMemberByUserPost
(
String
dealMethod
);
}
}
huaxin-system/src/main/java/com/zehong/system/service/impl/TDangerServiceImpl.java
View file @
0429003f
package
com
.
zehong
.
system
.
service
.
impl
;
package
com
.
zehong
.
system
.
service
.
impl
;
import
com.github.pagehelper.PageHelper
;
import
com.zehong.common.core.domain.entity.SysUser
;
import
com.zehong.common.core.domain.entity.SysUser
;
import
com.zehong.common.core.page.PageDomain
;
import
com.zehong.common.core.page.TableSupport
;
import
com.zehong.common.exception.CustomException
;
import
com.zehong.common.exception.CustomException
;
import
com.zehong.common.utils.DateUtils
;
import
com.zehong.common.utils.DateUtils
;
import
com.zehong.common.utils.SecurityUtils
;
import
com.zehong.common.utils.SecurityUtils
;
import
com.zehong.common.utils.StringUtils
;
import
com.zehong.common.utils.sql.SqlUtil
;
import
com.zehong.system.domain.*
;
import
com.zehong.system.domain.*
;
import
com.zehong.system.domain.vo.DangerApprovalVo
;
import
com.zehong.system.domain.vo.DangerApprovalVo
;
import
com.zehong.system.mapper.*
;
import
com.zehong.system.mapper.*
;
import
com.zehong.system.service.ISysUserService
;
import
com.zehong.system.service.ITDangerApprovalRecordService
;
import
com.zehong.system.service.ITDangerApprovalRecordService
;
import
com.zehong.system.service.ITDangerService
;
import
com.zehong.system.service.ITDangerService
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.beans.factory.annotation.Autowired
;
...
@@ -15,8 +21,7 @@ import org.springframework.transaction.annotation.Transactional;
...
@@ -15,8 +21,7 @@ import org.springframework.transaction.annotation.Transactional;
import
org.springframework.util.CollectionUtils
;
import
org.springframework.util.CollectionUtils
;
import
javax.annotation.Resource
;
import
javax.annotation.Resource
;
import
java.util.Date
;
import
java.util.*
;
import
java.util.List
;
import
java.util.stream.Collectors
;
import
java.util.stream.Collectors
;
/**
/**
...
@@ -52,6 +57,23 @@ public class TDangerServiceImpl implements ITDangerService
...
@@ -52,6 +57,23 @@ public class TDangerServiceImpl implements ITDangerService
@Autowired
@Autowired
private
ITDangerApprovalRecordService
tDangerApprovalRecordService
;
private
ITDangerApprovalRecordService
tDangerApprovalRecordService
;
@Resource
private
TRectifyGroupMemberInfoMapper
tRectifyGroupMemberInfoMapper
;
@Autowired
private
ISysUserService
sysUserService
;
/**
* 审核权限映射关系
* 1.班长审核 2.部门经理审核 3.安全部审核 4.安全总监审核 5.常务副总审核 6.总经理审核结束
*/
private
final
Map
<
String
,
String
>
approvalPermission
=
new
HashMap
<
String
,
String
>(){{
put
(
"minister"
,
"2"
);
put
(
"se"
,
"4"
);
put
(
"fuzong"
,
"5"
);
put
(
"manager"
,
"6"
);
}};
/**
/**
* 查询安检隐患整改
* 查询安检隐患整改
...
@@ -264,4 +286,98 @@ public class TDangerServiceImpl implements ITDangerService
...
@@ -264,4 +286,98 @@ public class TDangerServiceImpl implements ITDangerService
}
}
return
1
;
return
1
;
}
}
/**
* 获取待审核隐患
* @param tDanger 隐患
* @return
*/
public
List
<
TDanger
>
dangerPendingApprovalList
(
TDanger
tDanger
){
/**
* 隐患是待审核状态的
* 1.审核状态是1 登录人是班长只查并且上报人在该组
* 2.审核状态是3 判断登录人是否为安全管理部
* 3.审核状态是2 4 5 6 判断登录人岗位
*/
//查询权限
String
sqlCondition
=
buildSqlCondition
();
if
(
StringUtils
.
isEmpty
(
sqlCondition
)){
return
new
ArrayList
<>();
}
//设置审核状态为待审核
tDanger
.
setStatus
(
3
);
tDanger
.
getParams
().
put
(
"approvalCondition"
,
sqlCondition
);
//构建分页参数
PageDomain
pageDomain
=
TableSupport
.
buildPageRequest
();
Integer
pageNum
=
pageDomain
.
getPageNum
();
Integer
pageSize
=
pageDomain
.
getPageSize
();
if
(
StringUtils
.
isNotNull
(
pageNum
)
&&
StringUtils
.
isNotNull
(
pageSize
))
{
String
orderBy
=
SqlUtil
.
escapeOrderBySql
(
pageDomain
.
getOrderBy
());
PageHelper
.
startPage
(
pageNum
,
pageSize
,
orderBy
);
}
return
tDangerMapper
.
selectTDangerList
(
tDanger
);
}
private
String
buildSqlCondition
()
{
SysUser
userInfo
=
SecurityUtils
.
getLoginUser
().
getUser
();
List
<
String
>
conditions
=
new
ArrayList
<>();
// 1. 管理员条件
TRectifyGroupMemberInfo
queryParam
=
new
TRectifyGroupMemberInfo
();
queryParam
.
setUserId
(
Long
.
valueOf
(
userInfo
.
getUserId
()));
List
<
TRectifyGroupMemberInfo
>
memberInfoList
=
tRectifyGroupMemberInfoMapper
.
selectTRectifyGroupMemberInfoList
(
queryParam
);
if
(!
CollectionUtils
.
isEmpty
(
memberInfoList
))
{
boolean
isAdmin
=
memberInfoList
.
stream
().
anyMatch
(
item
->
"1"
.
equals
(
item
.
getPost
()));
if
(
isAdmin
)
{
List
<
Long
>
userIdList
=
memberInfoList
.
stream
()
.
map
(
TRectifyGroupMemberInfo:
:
getUserId
)
.
filter
(
Objects:
:
nonNull
)
.
distinct
()
.
collect
(
Collectors
.
toList
());
if
(!
CollectionUtils
.
isEmpty
(
userIdList
))
{
String
userIds
=
userIdList
.
stream
()
.
map
(
String:
:
valueOf
)
.
collect
(
Collectors
.
joining
(
","
));
conditions
.
add
(
"(danger.admin_id IN ("
+
userIds
+
") AND danger.approval_status = '1')"
);
}
}
}
// 2. 部门条件
if
(
userInfo
!=
null
&&
userInfo
.
getDept
()
!=
null
&&
"安全管理部"
.
equals
(
userInfo
.
getDept
().
getDeptName
()))
{
conditions
.
add
(
"danger.approval_status = '3'"
);
}
// 3. 岗位条件
if
(
userInfo
!=
null
&&
StringUtils
.
isNotBlank
(
userInfo
.
getUserName
()))
{
List
<
SysPost
>
userPostList
=
sysUserService
.
selectPostsByUserName
(
userInfo
.
getUserName
());
if
(!
CollectionUtils
.
isEmpty
(
userPostList
))
{
Set
<
String
>
statusSet
=
userPostList
.
stream
()
.
map
(
SysPost:
:
getPostCode
)
.
map
(
approvalPermission:
:
get
)
.
filter
(
StringUtils:
:
isNotBlank
)
.
collect
(
Collectors
.
toSet
());
if
(!
CollectionUtils
.
isEmpty
(
statusSet
))
{
String
statuses
=
statusSet
.
stream
()
.
map
(
status
->
"'"
+
status
+
"'"
)
.
collect
(
Collectors
.
joining
(
","
));
conditions
.
add
(
"danger.approval_status IN ("
+
statuses
+
")"
);
}
}
}
// 4. 组合所有条件
if
(
conditions
.
isEmpty
())
{
return
""
;
}
return
" AND ("
+
String
.
join
(
" OR "
,
conditions
)
+
")"
;
}
}
}
huaxin-system/src/main/java/com/zehong/system/service/impl/TRectifyGroupMemberInfoServiceImpl.java
View file @
0429003f
...
@@ -117,7 +117,7 @@ public class TRectifyGroupMemberInfoServiceImpl implements ITRectifyGroupMemberI
...
@@ -117,7 +117,7 @@ public class TRectifyGroupMemberInfoServiceImpl implements ITRectifyGroupMemberI
* @return
* @return
*/
*/
@Override
@Override
public
List
<
TRectifyGroupMemberInfo
>
selectMemberByUserPost
(){
public
List
<
TRectifyGroupMemberInfo
>
selectMemberByUserPost
(
String
dealMethod
){
//登录人信息
//登录人信息
Long
userId
=
SecurityUtils
.
getLoginUser
().
getUser
().
getUserId
();
Long
userId
=
SecurityUtils
.
getLoginUser
().
getUser
().
getUserId
();
//获取登录人职务
//获取登录人职务
...
@@ -135,7 +135,7 @@ public class TRectifyGroupMemberInfoServiceImpl implements ITRectifyGroupMemberI
...
@@ -135,7 +135,7 @@ public class TRectifyGroupMemberInfoServiceImpl implements ITRectifyGroupMemberI
*/
*/
if
(
"1"
.
equals
(
memberInfo
.
getPost
())){
if
(
"1"
.
equals
(
memberInfo
.
getPost
())){
//
组
长登录
//
班
长登录
if
(
"2"
.
equals
(
memberInfo
.
getType
())){
if
(
"2"
.
equals
(
memberInfo
.
getType
())){
//维修班班长登录
//维修班班长登录
//维修班组员信息
//维修班组员信息
...
@@ -157,13 +157,22 @@ public class TRectifyGroupMemberInfoServiceImpl implements ITRectifyGroupMemberI
...
@@ -157,13 +157,22 @@ public class TRectifyGroupMemberInfoServiceImpl implements ITRectifyGroupMemberI
result
.
addAll
(
leaderInfo
);
result
.
addAll
(
leaderInfo
);
}
else
{
}
else
{
//其他班班长
//其他班班长
//维修班组长信息
if
(
"1"
.
equals
(
dealMethod
)){
//自行整改只能看到自己的组员
TRectifyGroupMemberInfo
InspectTeam
=
new
TRectifyGroupMemberInfo
();
InspectTeam
.
setGroupId
(
memberInfo
.
getGroupId
());
InspectTeam
.
setPost
(
"2"
);
List
<
TRectifyGroupMemberInfo
>
teamInfo
=
tRectifyGroupMemberInfoMapper
.
selectTRectifyGroupMemberInfoList
(
InspectTeam
);
result
.
addAll
(
teamInfo
);
}
else
{
//非自行整改只能看到维修班组长信息
TRectifyGroupMemberInfo
leader
=
new
TRectifyGroupMemberInfo
();
TRectifyGroupMemberInfo
leader
=
new
TRectifyGroupMemberInfo
();
leader
.
setPost
(
"1"
);
leader
.
setPost
(
"1"
);
leader
.
setType
(
"2"
);
leader
.
setType
(
"2"
);
List
<
TRectifyGroupMemberInfo
>
leaderInfo
=
tRectifyGroupMemberInfoMapper
.
selectTRectifyGroupMemberInfoList
(
leader
);
List
<
TRectifyGroupMemberInfo
>
leaderInfo
=
tRectifyGroupMemberInfoMapper
.
selectTRectifyGroupMemberInfoList
(
leader
);
result
.
addAll
(
leaderInfo
);
result
.
addAll
(
leaderInfo
);
}
}
}
}
else
{
}
else
{
//组员登录
//组员登录
...
...
huaxin-system/src/main/resources/mapper/system/TDangerMapper.xml
View file @
0429003f
...
@@ -150,6 +150,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
...
@@ -150,6 +150,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<if
test=
"reportName != null and reportName != ''"
>
and us.nick_name like concat('%',#{reportName},'%')
</if>
<if
test=
"reportName != null and reportName != ''"
>
and us.nick_name like concat('%',#{reportName},'%')
</if>
<if
test=
"beginDate != null and endDate != null"
>
and danger.create_time BETWEEN #{beginDate} and #{endDate}
</if>
<if
test=
"beginDate != null and endDate != null"
>
and danger.create_time BETWEEN #{beginDate} and #{endDate}
</if>
<if
test=
"branch != null "
>
and danger.branch = #{branch}
</if>
<if
test=
"branch != null "
>
and danger.branch = #{branch}
</if>
<if
test=
"params != null and params.approvalCondition != null and params.approvalCondition != ''"
>
${params.approvalCondition}
</if>
</where>
</where>
ORDER BY create_time DESC
ORDER BY create_time DESC
</select>
</select>
...
...
huaxin-web/src/api/checktask/danger.js
View file @
0429003f
...
@@ -69,3 +69,12 @@ export function dangerApproval(data) {
...
@@ -69,3 +69,12 @@ export function dangerApproval(data) {
data
:
data
data
:
data
})
})
}
}
//查询当前登录人待审核隐患
export
function
dangerPendingApprovalList
(
query
)
{
return
request
({
url
:
'/checkTask/danger/dangerPendingApprovalList'
,
method
:
'get'
,
params
:
query
})
}
huaxin-web/src/views/checktask/danger/index.vue
View file @
0429003f
...
@@ -115,7 +115,7 @@
...
@@ -115,7 +115,7 @@
>
导出
</el-button>
>
导出
</el-button>
</el-col>
</el-col>
<el-col
:span=
"1.5"
>
<
!--
<
el-col
:span=
"1.5"
>
<el-button
<el-button
type=
"primary"
type=
"primary"
plain
plain
...
@@ -123,7 +123,7 @@
...
@@ -123,7 +123,7 @@
@
click=
"handleApproval"
@
click=
"handleApproval"
v-hasPermi=
"['checkTask:danger:approval']"
v-hasPermi=
"['checkTask:danger:approval']"
>
审核
</el-button>
>
审核
</el-button>
</el-col>
</el-col>
-->
<right-toolbar
:showSearch
.
sync=
"showSearch"
@
queryTable=
"getList"
></right-toolbar>
<right-toolbar
:showSearch
.
sync=
"showSearch"
@
queryTable=
"getList"
></right-toolbar>
</el-row>
</el-row>
...
@@ -192,13 +192,13 @@
...
@@ -192,13 +192,13 @@
@
click
=
"handleDelete(scope.row)"
@
click
=
"handleDelete(scope.row)"
v
-
hasPermi
=
"['checkTask:danger:remove']"
v
-
hasPermi
=
"['checkTask:danger:remove']"
>
删除
<
/el-button
>
>
删除
<
/el-button
>
<
el
-
button
<
!--
<
el
-
button
size
=
"mini"
size
=
"mini"
type
=
"text"
type
=
"text"
@
click
=
"handleApproval(scope.row)"
@
click
=
"handleApproval(scope.row)"
v
-
if
=
"scope.row.hasApprovalPermission"
v
-
if
=
"scope.row.hasApprovalPermission"
v
-
hasPermi
=
"['checkTask:danger:approval']"
v
-
hasPermi
=
"['checkTask:danger:approval']"
>
审核
<
/el-button
>
>
审核
<
/el-button>
--
>
<
/template
>
<
/template
>
<
/el-table-column
>
<
/el-table-column
>
<
/el-table
>
<
/el-table
>
...
...
huaxin-web/src/views/checktask/pendingApprovaldanger/components/Approval.vue
0 → 100644
View file @
0429003f
<
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/pendingApprovaldanger/components/DangerDetail.vue
0 → 100644
View file @
0429003f
<
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.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.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.username"
>
{{
dangerDetailInfo
.
tTaskInspect
.
username
}}
<
/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/pendingApprovaldanger/index.vue
0 → 100644
View file @
0429003f
<
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=
"level"
>
<el-select
v-model=
"queryParams.level"
placeholder=
"请选择隐患级别"
clearable
size=
"small"
>
<el-option
label=
"重大"
value=
"1"
/>
<el-option
label=
"一般"
value=
"2"
/>
</el-select>
</el-form-item>
-->
<!--
<el-form-item
label=
"责任归属"
prop=
"flag"
>
<el-select
v-model=
"queryParams.flag"
placeholder=
"请选择责任归属"
clearable
size=
"small"
>
<el-option
label=
"安全管理部"
value=
"1"
/>
<el-option
label=
"客服运营部"
value=
"2"
/>
<el-option
label=
"生产运营部"
value=
"3"
/>
</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=
"reportName"
>
<el-input
v-model=
"queryParams.reportName"
placeholder=
"请输入隐患标题"
clearable
size=
"small"
@
keyup
.
enter
.
native=
"handleQuery"
/>
</el-form-item>
<el-form-item
label=
"营业网点"
prop=
"branch"
>
<el-select
v-model=
"queryParams.branch"
placeholder=
"请选择营业网点"
>
<el-option
v-for=
"dict in sceneOptions"
:key=
"dict.dictValue"
:label=
"dict.dictLabel"
:value=
"dict.dictValue"
/>
</el-select>
</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
=
"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
-
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
=
"type"
>
<
el
-
select
v
-
model
=
"form.type"
placeholder
=
"请选择隐患来源"
style
=
"width: 100%"
>
<
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
>
<
/el-row
>
<
el
-
row
>
<
el
-
col
:
span
=
"12"
>
<
el
-
form
-
item
label
=
"居民"
prop
=
"receiveId"
>
<
el
-
input
v
-
model
=
"form.receiveId"
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
=
"隐患内容"
>
<
el
-
input
v
-
model
=
"form.beforeContent"
type
=
"textarea"
placeholder
=
"请输入隐患内容"
/>
<
/el-form-item
>
<
el
-
row
>
<
el
-
col
:
span
=
"12"
>
<
el
-
form
-
item
label
=
"责任归属"
prop
=
"flag"
>
<
el
-
select
v
-
model
=
"form.flag"
placeholder
=
"请选择责任归属"
style
=
"width: 100%"
>
<
el
-
option
label
=
"安全管理部"
value
=
"1"
/>
<
el
-
option
label
=
"客服运营部"
value
=
"2"
/>
<
el
-
option
label
=
"生产运营部"
value
=
"3"
/>
<
/el-select
>
<
/el-form-item
>
<
/el-col
>
<
el
-
col
:
span
=
"12"
>
<
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
=
"beforeImg"
>
<
el
-
input
v
-
model
=
"form.beforeImg"
type
=
"textarea"
placeholder
=
"请输入内容"
/>
<
/el-form-item
>
<
el
-
form
-
item
label
=
"隐患整改前视频"
prop
=
"beforeVideo"
>
<
el
-
input
v
-
model
=
"form.beforeVideo"
placeholder
=
"请输入隐患整改前视频"
/>
<
/el-form-item
>
<
el
-
form
-
item
label
=
"备注"
prop
=
"remark"
>
<
el
-
input
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
{
dangerPendingApprovalList
,
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"
;
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
:
null
,
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
}
,
// 表单参数
form
:
{
}
,
// 表单校验
rules
:
{
}
,
dialogTableVisibles
:
false
,
devicePos
:
[],
dangerSource
:
[],
reportTimeRange
:
[],
}
;
}
,
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
;
dangerPendingApprovalList
(
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
+
']'
:
''
;
return
this
.
selectDictLabel
(
this
.
dangerSource
,
row
.
type
)
+
receiveName
;
}
,
// 取消按钮
cancel
()
{
this
.
open
=
false
;
this
.
reset
();
}
,
// 表单重置
reset
()
{
this
.
form
=
{
id
:
null
,
taskId
:
null
,
inspectId
:
null
,
type
:
null
,
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
,
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
.
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
);
}
}
}
;
<
/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