Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Contribute to GitLab
Sign in
Toggle navigation
Z
zh-baseversion-project
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
王浩
zh-baseversion-project
Commits
d63ed985
Commit
d63ed985
authored
Feb 05, 2026
by
zhangjianqian
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
重大隐患跟踪,特殊人员上报接口
parent
1b8f23b3
Hide whitespace changes
Inline
Side-by-side
Showing
11 changed files
with
1419 additions
and
7 deletions
+1419
-7
lpgGasController.java
...b/controller/externaldocking/lpggas/lpgGasController.java
+2
-2
RhajController.java
...g/web/controller/externaldocking/rhaj/RhajController.java
+314
-0
TSpecialUser.java
.../src/main/java/com/zehong/system/domain/TSpecialUser.java
+15
-5
TDetectorUserMapper.java
...in/java/com/zehong/system/mapper/TDetectorUserMapper.java
+7
-0
THiddenDangerStandingBookMapper.java
...zehong/system/mapper/THiddenDangerStandingBookMapper.java
+1
-0
TSpecialUserMapper.java
...ain/java/com/zehong/system/mapper/TSpecialUserMapper.java
+7
-0
TDetectorUserMapper.xml
.../src/main/resources/mapper/system/TDetectorUserMapper.xml
+7
-0
THiddenDangerStandingBookMapper.xml
...sources/mapper/system/THiddenDangerStandingBookMapper.xml
+37
-0
TSpecialUserMapper.xml
...m/src/main/resources/mapper/system/TSpecialUserMapper.xml
+33
-0
DetailInfo.vue
zh-baseversion-web/src/views/supervise/hidden/DetailInfo.vue
+187
-0
index.vue
zh-baseversion-web/src/views/supervise/hidden/index.vue
+809
-0
No files found.
zh-baseversion-admin/src/main/java/com/zehong/web/controller/externaldocking/lpggas/lpgGasController.java
View file @
d63ed985
...
...
@@ -3160,7 +3160,7 @@ public class lpgGasController {
* 封装一个 失败的接口对象
* @return r
*/
p
rivate
TLpgThirdPartyDockingInterfaceRecord
errorRecord
(
String
interfaceName
,
String
receiveData
,
p
ublic
TLpgThirdPartyDockingInterfaceRecord
errorRecord
(
String
interfaceName
,
String
receiveData
,
String
failureReason
,
String
qybm
){
TLpgThirdPartyDockingInterfaceRecord
lpgThirdPartyDockingInterfaceRecord
=
new
TLpgThirdPartyDockingInterfaceRecord
();
...
...
@@ -3179,7 +3179,7 @@ public class lpgGasController {
* 返回一个 成功的接口对象
* @return r
*/
p
rivate
TLpgThirdPartyDockingInterfaceRecord
successRecord
(
String
interfaceName
,
String
receiveData
,
String
qybm
)
{
p
ublic
TLpgThirdPartyDockingInterfaceRecord
successRecord
(
String
interfaceName
,
String
receiveData
,
String
qybm
)
{
TLpgThirdPartyDockingInterfaceRecord
lpgThirdPartyDockingInterfaceRecord
=
new
TLpgThirdPartyDockingInterfaceRecord
();
lpgThirdPartyDockingInterfaceRecord
.
setInterfaceName
(
interfaceName
);
...
...
zh-baseversion-admin/src/main/java/com/zehong/web/controller/externaldocking/rhaj/RhajController.java
0 → 100644
View file @
d63ed985
package
com
.
zehong
.
web
.
controller
.
externaldocking
.
rhaj
;
import
com.alibaba.fastjson.JSON
;
import
com.alibaba.fastjson.JSONArray
;
import
com.alibaba.fastjson.JSONObject
;
import
com.alibaba.fastjson.serializer.SerializerFeature
;
import
com.zehong.common.core.domain.AjaxResult
;
import
com.zehong.common.utils.StringUtils
;
import
com.zehong.system.domain.*
;
import
com.zehong.system.mapper.TDetectorUserMapper
;
import
com.zehong.system.mapper.TEnterpriseInfoMapper
;
import
com.zehong.system.mapper.THiddenDangerStandingBookMapper
;
import
com.zehong.system.mapper.TSpecialUserMapper
;
import
com.zehong.system.service.DecryptService
;
import
com.zehong.system.service.ITLpgThirdPartyDockingInterfaceRecordService
;
import
com.zehong.web.controller.externaldocking.lpggas.lpgGasController
;
import
com.zehong.web.controller.tool.DESEncoder
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.web.bind.annotation.PostMapping
;
import
org.springframework.web.bind.annotation.RequestBody
;
import
org.springframework.web.bind.annotation.RequestMapping
;
import
org.springframework.web.bind.annotation.RestController
;
import
javax.annotation.Resource
;
import
java.math.BigDecimal
;
import
java.text.ParseException
;
import
java.text.SimpleDateFormat
;
import
java.util.*
;
import
java.util.regex.Pattern
;
/**
* 入户安检-外部对接controller
*/
@RestController
@RequestMapping
(
"/api/detection"
)
public
class
RhajController
{
@Resource
DecryptService
decryptService
;
@Resource
private
TEnterpriseInfoMapper
tEnterpriseInfoMapper
;
@Resource
private
ITLpgThirdPartyDockingInterfaceRecordService
lpgThirdPartyDockingInterfaceRecordService
;
@Resource
private
lpgGasController
lpgGasService
;
@Autowired
private
TSpecialUserMapper
specialUserMapper
;
@Autowired
private
TDetectorUserMapper
detectorUserMapper
;
@Autowired
private
THiddenDangerStandingBookMapper
hiddenDangerStandingBookMapper
;
/**
* 验证编码以及格式
* @param encryption
* @return
*/
public
AjaxResult
isFormatVerification
(
Encryption
encryption
,
keyInformation
selectkey
){
if
(
selectkey
==
null
)
{
return
AjaxResult
.
error
(
"企业编码不存在!!!"
);
}
TEnterpriseInfo
tEnterpriseInfo
=
tEnterpriseInfoMapper
.
selectTEnterpriseInfoById
(
selectkey
.
getEnterpriseId
());
if
(
tEnterpriseInfo
==
null
)
{
return
AjaxResult
.
error
(
"监管平台配置企业信息不存在!!!"
);
}
DESEncoder
desEncoder
=
new
DESEncoder
();
List
<
JSONObject
>
list
=
new
ArrayList
<>();
String
decrypt
=
desEncoder
.
decrypt
(
encryption
.
getData
(),
selectkey
.
getSecretKey
());
if
(
StringUtils
.
isNotBlank
(
decrypt
))
{
JSONArray
jsonArray
=
JSON
.
parseArray
(
decrypt
);
String
js
=
JSONObject
.
toJSONString
(
jsonArray
,
SerializerFeature
.
WriteClassName
);
list
=
JSONObject
.
parseArray
(
js
,
JSONObject
.
class
);
if
(
list
.
size
()
>
500
)
{
return
AjaxResult
.
error
(
"每次最多处理500条数据"
);
}
}
return
AjaxResult
.
success
(
list
);
}
/**
* 创建 隐患跟踪接口
* @return r
*/
@PostMapping
(
"/createHiddenTrack"
)
public
AjaxResult
createHiddenTrack
(
@RequestBody
Encryption
encryption
)
{
keyInformation
selectkey
=
decryptService
.
selectkey
(
encryption
.
getQybm
());
AjaxResult
result
=
isFormatVerification
(
encryption
,
selectkey
);
if
((
int
)
result
.
get
(
"code"
)!=
200
){
return
result
;
}
int
successNum
=
0
;
int
errorNum
=
0
;
List
<
JSONObject
>
list
=
(
List
<
JSONObject
>)
result
.
get
(
"data"
);
List
<
THiddenDangerStandingBook
>
hiddenlist
=
new
ArrayList
<>();
// 需要更新的数据
THiddenDangerStandingBook
hidden
;
// 接口保存记录
List
<
TLpgThirdPartyDockingInterfaceRecord
>
lpgThirdPartyDockingInterfaceRecords
=
new
ArrayList
<>();
TLpgThirdPartyDockingInterfaceRecord
lpgThirdPartyDockingInterfaceRecord
;
for
(
int
i
=
0
;
i
<
list
.
size
();
i
++)
{
hidden
=
new
THiddenDangerStandingBook
();
JSONObject
jsonObject
=
list
.
get
(
i
);
//判断数据是否合格
String
resultstr
=
isqualifiedHidden
(
jsonObject
);
if
(!
resultstr
.
equals
(
"success"
))
{
lpgThirdPartyDockingInterfaceRecord
=
lpgGasService
.
errorRecord
(
"createHiddenTrack"
,
jsonObject
.
toJSONString
(),
resultstr
,
encryption
.
getQybm
());
lpgThirdPartyDockingInterfaceRecords
.
add
(
lpgThirdPartyDockingInterfaceRecord
);
errorNum
++;
continue
;
}
try
{
hidden
.
setHiddenTitle
(
jsonObject
.
getString
(
"hiddenTitle"
));
hidden
.
setHiddenContent
(
jsonObject
.
getString
(
"hiddenContent"
));
hidden
.
setHiddenLocation
(
jsonObject
.
getString
(
"hiddenLocation"
));
hidden
.
setSource
(
jsonObject
.
getString
(
"source"
));
hidden
.
setLongitude
(
new
BigDecimal
(
jsonObject
.
getString
(
"longitude"
)));
hidden
.
setLatitude
(
new
BigDecimal
(
jsonObject
.
getString
(
"latitude"
)));
hidden
.
setHiddenType
(
jsonObject
.
getString
(
"hiddenType"
));
hidden
.
setHiddenFindPeople
(
jsonObject
.
getString
(
"hiddenFindPeople"
));
hidden
.
setHiddenFindDate
(
dateBystr
(
jsonObject
.
getString
(
"hiddenFindDate"
),
"yyyy-MM-dd HH:mm:ss"
));
hidden
.
setDealPlan
(
jsonObject
.
getString
(
"dealResult"
));
hidden
.
setBeyondEnterpriseId
(
selectkey
.
getEnterpriseId
());
hidden
.
setRemediation
(
jsonObject
.
getString
(
"remediation"
));
hidden
.
setCreateTime
(
new
Date
());
hidden
.
setRemarks
(
jsonObject
.
getString
(
"remarks"
));
}
catch
(
Exception
e
){
throw
new
RuntimeException
(
e
);
}
hiddenlist
.
add
(
hidden
);
lpgThirdPartyDockingInterfaceRecord
=
lpgGasService
.
successRecord
(
"createLpgVehicleInfo"
,
jsonObject
.
toJSONString
(),
encryption
.
getQybm
());
lpgThirdPartyDockingInterfaceRecords
.
add
(
lpgThirdPartyDockingInterfaceRecord
);
successNum
++;
}
if
(
hiddenlist
.
size
()
>
0
)
{
// 新增的新增
hiddenDangerStandingBookMapper
.
inserts
(
hiddenlist
);
}
if
(
lpgThirdPartyDockingInterfaceRecords
.
size
()
>
0
)
{
lpgThirdPartyDockingInterfaceRecordService
.
insertBatch
(
lpgThirdPartyDockingInterfaceRecords
);
}
return
AjaxResult
.
success
(
returnstr
(
successNum
,
errorNum
,
0
));
}
/**
* 创建 特殊用户接口
* @return r
*/
@PostMapping
(
"/createSpecailUser"
)
public
AjaxResult
createSpecailUser
(
@RequestBody
Encryption
encryption
)
{
keyInformation
selectkey
=
decryptService
.
selectkey
(
encryption
.
getQybm
());
AjaxResult
result
=
isFormatVerification
(
encryption
,
selectkey
);
if
((
int
)
result
.
get
(
"code"
)!=
200
){
return
result
;
}
int
successNum
=
0
;
int
errorNum
=
0
;
int
repeatNum
=
0
;
List
<
JSONObject
>
list
=
(
List
<
JSONObject
>)
result
.
get
(
"data"
);
List
<
TSpecialUser
>
specialUsers
=
new
ArrayList
<>();
// 需要更新的数据
TSpecialUser
specialUser
;
// 接口保存记录
List
<
TLpgThirdPartyDockingInterfaceRecord
>
lpgThirdPartyDockingInterfaceRecords
=
new
ArrayList
<>();
TLpgThirdPartyDockingInterfaceRecord
lpgThirdPartyDockingInterfaceRecord
;
for
(
int
i
=
0
;
i
<
list
.
size
();
i
++)
{
specialUser
=
new
TSpecialUser
();
JSONObject
jsonObject
=
list
.
get
(
i
);
//判断数据是否合格
String
resultstr
=
isqualified
(
jsonObject
);
if
(!
resultstr
.
equals
(
"success"
))
{
lpgThirdPartyDockingInterfaceRecord
=
lpgGasService
.
errorRecord
(
"createSpecailUser"
,
jsonObject
.
toJSONString
(),
resultstr
,
encryption
.
getQybm
());
lpgThirdPartyDockingInterfaceRecords
.
add
(
lpgThirdPartyDockingInterfaceRecord
);
errorNum
++;
continue
;
}
TDetectorUser
user
=
detectorUserMapper
.
selectUserByOwnId
(
jsonObject
.
getString
(
"userOwnId"
));
if
(
user
==
null
){
lpgThirdPartyDockingInterfaceRecord
=
lpgGasService
.
errorRecord
(
"createSpecailUser"
,
jsonObject
.
toJSONString
(),
"用户不存在"
,
encryption
.
getQybm
());
lpgThirdPartyDockingInterfaceRecords
.
add
(
lpgThirdPartyDockingInterfaceRecord
);
errorNum
++;
continue
;
}
try
{
specialUser
.
setUserId
(
user
.
getUserId
());
specialUser
.
setUserType
(
jsonObject
.
getString
(
"userType"
));
specialUser
.
setControlPlan
(
jsonObject
.
getString
(
"controlPlan"
));
specialUser
.
setConStartTime
(
dateBystr
(
jsonObject
.
getString
(
"conStartTime"
),
"yyyy-MM-dd"
));
specialUser
.
setConEndTime
(
dateBystr
(
jsonObject
.
getString
(
"conEndTime"
),
"yyyy-MM-dd"
));
specialUser
.
setCreateTime
(
new
Date
());
specialUser
.
setUpdateTime
(
dateBystr
(
jsonObject
.
getString
(
"updateTime"
),
"yyyy-MM-dd HH:mm:ss"
));
specialUser
.
setRemark
(
jsonObject
.
getString
(
"remark"
));
specialUser
.
setUserOwnId
(
jsonObject
.
getString
(
"userOwnId"
));
specialUser
.
setEnterpriseId
(
selectkey
.
getEnterpriseId
());
}
catch
(
Exception
e
){
throw
new
RuntimeException
(
e
);
}
specialUsers
.
add
(
specialUser
);
lpgThirdPartyDockingInterfaceRecord
=
lpgGasService
.
successRecord
(
"createLpgVehicleInfo"
,
jsonObject
.
toJSONString
(),
encryption
.
getQybm
());
lpgThirdPartyDockingInterfaceRecords
.
add
(
lpgThirdPartyDockingInterfaceRecord
);
successNum
++;
}
if
(
specialUsers
.
size
()
>
0
)
{
// 新增的新增
specialUserMapper
.
inserts
(
specialUsers
);
}
if
(
lpgThirdPartyDockingInterfaceRecords
.
size
()
>
0
)
{
lpgThirdPartyDockingInterfaceRecordService
.
insertBatch
(
lpgThirdPartyDockingInterfaceRecords
);
}
return
AjaxResult
.
success
(
returnstr
(
successNum
,
errorNum
,
repeatNum
));
}
/**
* 公共返回
* @param successNum
* @param errorNum
* @return
*/
public
String
returnstr
(
int
successNum
,
int
errorNum
,
int
repeatNum
)
{
StringBuilder
sb
=
new
StringBuilder
();
if
(
errorNum
>
0
)
{
sb
.
append
(
"成功:"
).
append
(
successNum
).
append
(
"条;失败:"
).
append
(
errorNum
).
append
(
"条"
);
if
(
repeatNum
>
0
){
sb
.
append
(
";重复"
).
append
(
repeatNum
).
append
(
"条"
);
}
return
sb
.
toString
();
}
sb
.
append
(
"成功:"
).
append
(
successNum
).
append
(
"条"
);
return
sb
.
toString
();
}
//格式转换
public
Date
dateBystr
(
String
datestr
,
String
dateFormat
)
throws
Exception
{
SimpleDateFormat
sdf
=
new
SimpleDateFormat
(
dateFormat
);
return
sdf
.
parse
(
datestr
);
}
//格式判断
public
static
boolean
isValidDate
(
String
format
,
String
dateString
)
{
SimpleDateFormat
sdf
=
new
SimpleDateFormat
(
format
);
sdf
.
setLenient
(
false
);
// 设置为不宽松模式,严格按照指定的格式解析
try
{
sdf
.
parse
(
dateString
);
return
true
;
}
catch
(
ParseException
e
)
{
return
false
;
}
}
//经纬度验证
public
static
boolean
isValidCoordinate
(
String
coordinate
)
{
String
regex
=
"^[0-9]+(\\.[0-9]+)?$"
;
// 正则表达式
Pattern
pattern
=
Pattern
.
compile
(
regex
);
return
pattern
.
matcher
(
coordinate
).
matches
();
}
/**
* 特殊用户数据验证
* @return
*/
public
String
isqualified
(
JSONObject
jsonObject
){
if
(
jsonObject
.
getString
(
"userType"
)==
null
||
jsonObject
.
getString
(
"userType"
).
length
()
>
5
)
return
"用户类型不合格!"
;
if
(
jsonObject
.
getString
(
"controlPlan"
)==
null
)
return
"管控方案不许为空!"
;
if
(
isValidDate
(
jsonObject
.
getString
(
"conStartTime"
),
"yyyy-MM-dd"
))
return
"开始日期不合格!"
;
if
(
isValidDate
(
jsonObject
.
getString
(
"conEndTime"
),
"yyyy-MM-dd"
))
return
"结束日期不合格!"
;
if
(
isValidDate
(
jsonObject
.
getString
(
"updateTime"
),
"yyyy-MM-dd HH:mm:ss"
))
return
"最后修改时间不合格!"
;
if
(
jsonObject
.
getString
(
"userOwnId"
)==
null
)
return
"用户编号不可为空!"
;
return
"success"
;
}
/**
* 隐患跟踪验证
* @param jsonObject
* @return
*/
public
String
isqualifiedHidden
(
JSONObject
jsonObject
){
if
(
jsonObject
.
getString
(
"hiddenTitle"
)==
null
||
jsonObject
.
getString
(
"hiddenTitle"
).
length
()
>
50
)
return
"隐患名称不合格!"
;
if
(
jsonObject
.
getString
(
"hiddenContent"
)==
null
)
return
"隐患内容不许为空!"
;
if
(
jsonObject
.
getString
(
"hiddenLocation"
)==
null
||
jsonObject
.
getString
(
"hiddenLocation"
).
length
()
>
100
)
return
"隐患位置不合格!"
;
if
(
jsonObject
.
getString
(
"source"
)==
null
||
jsonObject
.
getString
(
"source"
).
length
()
>
5
)
return
"隐患来源不合格!"
;
if
(
jsonObject
.
getString
(
"longitude"
)==
""
||!
isValidCoordinate
(
jsonObject
.
getString
(
"longitude"
)))
return
"经度格式不合格!"
;
if
(
jsonObject
.
getString
(
"latitude"
)==
""
||!
isValidCoordinate
(
jsonObject
.
getString
(
"latitude"
)))
return
"纬度格式不合格!"
;
if
(
jsonObject
.
getString
(
"hiddenType"
)==
null
||
jsonObject
.
getString
(
"hiddenType"
).
length
()>
5
)
return
"隐患等级格式不合格!"
;
if
(
jsonObject
.
getString
(
"remediation"
)==
null
||
jsonObject
.
getString
(
"remediation"
).
length
()>
2
)
return
"整治情况格式不合格!"
;
if
(
jsonObject
.
getString
(
"hiddenFindDate"
)==
null
||
isValidDate
(
jsonObject
.
getString
(
"hiddenFindDate"
),
"yyyy-MM-dd HH:mm:ss"
))
return
"发现时间格式不合格!"
;
return
"success"
;
}
}
zh-baseversion-system/src/main/java/com/zehong/system/domain/TSpecialUser.java
View file @
d63ed985
...
...
@@ -52,6 +52,16 @@ public class TSpecialUser extends BaseEntity
/** 上报用户id */
private
String
userOwnId
;
private
String
enterpriseId
;
public
String
getEnterpriseId
()
{
return
enterpriseId
;
}
public
void
setEnterpriseId
(
String
enterpriseId
)
{
this
.
enterpriseId
=
enterpriseId
;
}
public
String
getNickName
()
{
return
nickName
;
}
...
...
@@ -112,25 +122,25 @@ public class TSpecialUser extends BaseEntity
{
return
controlPlan
;
}
public
void
setConStartTime
(
Date
conStartTime
)
public
void
setConStartTime
(
Date
conStartTime
)
{
this
.
conStartTime
=
conStartTime
;
}
public
Date
getConStartTime
()
public
Date
getConStartTime
()
{
return
conStartTime
;
}
public
void
setConEndTime
(
Date
conEndTime
)
public
void
setConEndTime
(
Date
conEndTime
)
{
this
.
conEndTime
=
conEndTime
;
}
public
Date
getConEndTime
()
public
Date
getConEndTime
()
{
return
conEndTime
;
}
public
void
setUserOwnId
(
String
userOwnId
)
public
void
setUserOwnId
(
String
userOwnId
)
{
this
.
userOwnId
=
userOwnId
;
}
...
...
zh-baseversion-system/src/main/java/com/zehong/system/mapper/TDetectorUserMapper.java
View file @
d63ed985
...
...
@@ -28,6 +28,13 @@ public interface TDetectorUserMapper
*/
public
TDetectorUser
selectTDetectorUserById
(
Long
userId
);
/**
* 根据自有编号查询是否存在
* @param userOwnId
* @return
*/
public
TDetectorUser
selectUserByOwnId
(
String
userOwnId
);
/**
* 查询燃气用户统计信息
*
...
...
zh-baseversion-system/src/main/java/com/zehong/system/mapper/THiddenDangerStandingBookMapper.java
View file @
d63ed985
...
...
@@ -46,6 +46,7 @@ public interface THiddenDangerStandingBookMapper
* @return 结果
*/
public
int
insertTHiddenDangerStandingBook
(
THiddenDangerStandingBook
tHiddenDangerStandingBook
);
public
int
inserts
(
List
<
THiddenDangerStandingBook
>
list
);
/**
* 修改隐患整治台账
...
...
zh-baseversion-system/src/main/java/com/zehong/system/mapper/TSpecialUserMapper.java
View file @
d63ed985
...
...
@@ -35,6 +35,13 @@ public interface TSpecialUserMapper
*/
public
int
insertTSpecialUser
(
TSpecialUser
tSpecialUser
);
/**
* 批量新增
* @param list
* @return
*/
public
int
inserts
(
List
<
TSpecialUser
>
list
);
/**
* 修改特殊用户管控
*
...
...
zh-baseversion-system/src/main/resources/mapper/system/TDetectorUserMapper.xml
View file @
d63ed985
...
...
@@ -256,6 +256,13 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
from t_detector_user a left join t_enterprise_info b on a.beyond_enterprise_id=b.enterprise_id
where a.user_id = #{userId} and a.error_msg is null
</select>
<select
id=
"selectUserByOwnId"
parameterType=
"string"
resultMap=
"TDetectorUserResult"
>
select a.user_id, a.beyond_enterprise_id,a.username, a.nick_name, a.user_type,a.gas_type, a.address, a.longitude, a.latitude,
a.linkman, a.phone, a.email, a.create_time, a.update_time, a.is_del, a.remarks, b.enterprise_name,a.f_village_id
from t_detector_user a left join t_enterprise_info b on a.beyond_enterprise_id=b.enterprise_id
where a.user_own_id = #{userOwnId}
</select>
<select
id=
"countTDetectorUserForMassMarks"
resultType=
"TDetectorUserVO"
parameterType=
"TDetectorUser"
>
select a.user_id AS userId,
...
...
zh-baseversion-system/src/main/resources/mapper/system/THiddenDangerStandingBookMapper.xml
View file @
d63ed985
...
...
@@ -116,6 +116,43 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
</trim>
</insert>
<insert
id=
"inserts"
parameterType=
"THiddenDangerStandingBook"
>
insert into t_hidden_danger_standing_book
<trim
prefix=
"("
suffix=
")"
suffixOverrides=
","
>
hidden_title,
hidden_content,
hidden_location,
source,
longitude,
latitude,
hidden_type,
hidden_find_people,
hidden_find_date,
deal_plan,
beyondEnterprise_id,
remediation,
create_time,
remarks
</trim>
values
<foreach
collection=
"list"
item=
"item"
index=
"index"
separator=
","
>
(#{item.hiddenTitle},
#{item.hiddenContent},
#{item.hiddenLocation},
#{item.source},
#{item.longitude},
#{item.latitude},
#{item.hiddenType},
#{item.hiddenFindPeople},
#{item.hiddenFindDate},
#{item.dealPlan},
#{item.beyondEnterpriseId},
#{item.remediation},
#{item.createTime},
#{item.remarks})
</foreach>
</insert>
<update
id=
"updateTHiddenDangerStandingBook"
parameterType=
"THiddenDangerStandingBook"
>
update t_hidden_danger_standing_book
<trim
prefix=
"SET"
suffixOverrides=
","
>
...
...
zh-baseversion-system/src/main/resources/mapper/system/TSpecialUserMapper.xml
View file @
d63ed985
...
...
@@ -54,6 +54,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<if
test=
"updateTime != null"
>
update_time,
</if>
<if
test=
"remark != null"
>
remark,
</if>
<if
test=
"userOwnId != null"
>
user_own_id,
</if>
<if
test=
"enterpriseId != null"
>
enterprise_id,
</if>
</trim>
<trim
prefix=
"values ("
suffix=
")"
suffixOverrides=
","
>
<if
test=
"userId != null"
>
#{userId},
</if>
...
...
@@ -65,9 +66,40 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<if
test=
"updateTime != null"
>
#{updateTime},
</if>
<if
test=
"remark != null"
>
#{remark},
</if>
<if
test=
"userOwnId != null"
>
#{userOwnId},
</if>
<if
test=
"enterpriseId != null"
>
#{enterpriseId},
</if>
</trim>
</insert>
<insert
id=
"inserts"
parameterType=
"TSpecialUser"
>
insert into t_special_user
<trim
prefix=
"("
suffix=
")"
suffixOverrides=
","
>
user_id,
user_type,
control_plan,
con_start_time,
con_end_time,
create_time,
update_time,
remark,
user_own_id,
enterprise_id
</trim>
values
<foreach
collection=
"list"
item=
"item"
index=
"index"
separator=
","
>
(#{item.userId},
#{item.userType},
#{item.controlPlan},
#{item.conStartTime},
#{item.conEndTime},
#{item.createTime},
#{item.updateTime},
#{item.remark},
#{item.userOwnId},
#{item.enterpriseId})
</foreach>
</insert>
<update
id=
"updateTSpecialUser"
parameterType=
"TSpecialUser"
>
update t_special_user
<trim
prefix=
"SET"
suffixOverrides=
","
>
...
...
@@ -80,6 +112,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<if
test=
"updateTime != null"
>
update_time = #{updateTime},
</if>
<if
test=
"remark != null"
>
remark = #{remark},
</if>
<if
test=
"userOwnId != null"
>
user_own_id = #{userOwnId},
</if>
<if
test=
"enterpriseId != null"
>
enterprise_id = #{enterpriseId},
</if>
</trim>
where special_id = #{specialId}
</update>
...
...
zh-baseversion-web/src/views/supervise/hidden/DetailInfo.vue
0 → 100644
View file @
d63ed985
<
template
>
<el-dialog
title=
"详情"
:visible
.
sync=
"detailOpen"
width=
"1200px"
append-to-body
destroy-on-close
:close-on-click-modal=
"false"
>
<el-row>
<el-col
:span=
"14"
>
<el-form
label-width=
"120px"
>
<el-row>
<el-col
:span=
"10"
>
<el-form-item
label=
"隐患名称:"
>
<span
v-if=
"detailInfo.hiddenTitle"
>
{{
detailInfo
.
hiddenTitle
}}
</span>
<span
v-else
>
-
</span>
</el-form-item>
<el-form-item
label=
"隐患发现人员:"
>
<span
v-if=
"detailInfo.hiddenFindPeople"
>
{{
detailInfo
.
hiddenFindPeople
}}
</span>
<span
v-else
>
-
</span>
</el-form-item>
<el-form-item
label=
"发现时间:"
>
<span
v-if=
"detailInfo.hiddenFindDate"
>
{{
detailInfo
.
hiddenFindDate
}}
</span>
<span
v-else
>
-
</span>
</el-form-item>
</el-col>
<el-col
:span=
"13"
>
<el-form-item
label=
"隐患等级:"
>
<span
v-if=
"detailInfo.hiddenType == '1'"
>
一级隐患
</span>
<span
v-else-if=
"detailInfo.hiddenType == '2'"
>
二级隐患
</span>
<span
v-else-if=
"detailInfo.hiddenType == '3'"
>
三级隐患
</span>
<span
v-else
>
-
</span>
</el-form-item>
<el-form-item
label=
"隐患位置:"
>
<span
v-if=
"detailInfo.hiddenLocation"
>
{{
detailInfo
.
hiddenLocation
}}
</span>
<span
v-else
>
-
</span>
</el-form-item>
<el-form-item
label=
"整治情况:"
>
<span
v-if=
"detailInfo.remediation == '1'"
>
已完成
</span>
<span
v-else-if=
"detailInfo.remediation == '2'"
>
未完成
</span>
<span
v-else
>
-
</span>
</el-form-item>
</el-col>
</el-row>
<el-row>
<!--
<el-col
:span=
"10"
>
-->
<!--
<el-form-item
label=
"处理方案:"
>
-->
<!--
<span
class=
"dbtn"
@
click=
"checkFile(detailInfo.dealPlanUrl)"
v-if=
"detailInfo.dealPlan != ''"
>
-->
<!--
<i
class=
"el-icon el-icon-view"
></i>
查看/下载-->
<!--
</span>
-->
<!--
<span
v-else
><el-input
disabled
/></span>
-->
<!--
</el-form-item>
-->
<!--
</el-col>
-->
<el-col
:span=
"10"
>
<el-form-item
label=
"隐患来源:"
>
<span
v-if=
"detailInfo.hiddenLocation"
>
{{
detailInfo
.
hiddenLocation
}}
</span>
<span
v-else
>
-
</span>
</el-form-item>
</el-col>
<el-col
:span=
"12"
>
<el-form-item
label=
"隐患类型:"
>
<span
v-if=
"detailInfo.hiddenTroubleType == 1"
>
漏气
</span>
<span
v-else-if=
"detailInfo.hiddenTroubleType == 2"
>
腐蚀
</span>
<span
v-else-if=
"detailInfo.hiddenTroubleType == 3"
>
裂缝
</span>
<span
v-else-if=
"detailInfo.hiddenTroubleType == 4"
>
设备故障
</span>
<span
v-else-if=
"detailInfo.hiddenTroubleType == 5"
>
安全距离不足
</span>
<span
v-else-if=
"detailInfo.hiddenTroubleType == 6"
>
管道承重
</span>
<span
v-else-if=
"detailInfo.hiddenTroubleType == 7"
>
其他
</span>
<span
v-else
>
-
</span>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col
:span=
"23"
>
<el-form-item
label=
"所属单位:"
>
<span
v-if=
"detailInfo.enterpriseName"
>
{{
detailInfo
.
enterpriseName
}}
</span>
<span
v-else
>
-
</span>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col
:span=
"23"
>
<el-form-item
label=
"隐患内容:"
>
<span
v-if=
"detailInfo.hiddenContent"
>
{{
detailInfo
.
hiddenContent
}}
</span>
<span
v-else
>
-
</span>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col
:span=
"23"
>
<el-form-item
label=
"处置结果:"
>
<span
v-if=
"detailInfo.dealPlan"
>
{{
detailInfo
.
dealPlan
}}
</span>
<span
v-else
>
-
</span>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col
:span=
"23"
>
<el-form-item
label=
"备注信息:"
>
<span
v-if=
"detailInfo.remarks"
>
{{
detailInfo
.
remarks
}}
</span>
<span
v-else
>
-
</span>
</el-form-item>
</el-col>
</el-row>
</el-form>
</el-col>
<el-col
:span=
"9"
>
<div
style=
"width: 100%;height: 390px; border: 1px solid rgb(218, 213, 213);margin-bottom: 10px;"
>
<div
style=
"width: 100%;height: 100%"
id=
"hiddenContainer"
></div>
</div>
</el-col>
</el-row>
</el-dialog>
</
template
>
<
script
>
import
{
EditorMap
}
from
"@/utils/mapClass/getPath.js"
;
import
{
getHidden
}
from
"@/api/standingBook/hidden"
;
import
{
enterpriseLists
}
from
"@/api/regulation/info"
;
export
default
{
name
:
"detail-info"
,
data
(){
return
{
detailInfo
:
{},
enterpriseName
:
""
,
detailOpen
:
false
,
devicePos
:
[],
map
:
null
,
reasonOptions
:[],
}
},
created
()
{
this
.
getDicts
(
"t_trouble_reason"
).
then
(
response
=>
{
this
.
reasonOptions
=
response
.
data
;
});
},
methods
:{
checkFile
(
url
)
{
window
.
open
(
url
,
'_blank'
);
},
//所属单位
getEnterpriseLists
(){
const
param
=
{};
// this.judgeOperateType(param);
enterpriseLists
(
param
).
then
(
response
=>
{
this
.
enterprises
=
response
.
rows
;
// 如果是企业,则直接把查询条件的的所在单位赋值
if
(
this
.
$store
.
state
.
user
.
roleId
==
5
)
{
this
.
queryParams
.
beyondEnterpriseId
=
this
.
enterprises
[
0
].
enterpriseId
}
});
},
getDetailInfo
(
id
){
getHidden
(
id
).
then
(
response
=>
{
this
.
detailInfo
=
response
.
data
;
this
.
getEnterpriseLists
();
this
.
devicePos
=
[
this
.
detailInfo
.
longitude
,
this
.
detailInfo
.
latitude
];
this
.
detailOpen
=
true
;
this
.
$nextTick
(()
=>
{
this
.
map
=
new
EditorMap
(
"hiddenContainer"
,
{},
this
);
this
.
map
.
addDevice
({
path
:
this
.
devicePos
});
this
.
map
.
nowMouseTarget
=
null
;
this
.
map
.
mousetoolClose
(
false
);
});
});
}
}
}
</
script
>
<
style
scoped
>
</
style
>
zh-baseversion-web/src/views/supervise/hidden/index.vue
0 → 100644
View file @
d63ed985
<
template
>
<div
class=
"app-container"
>
<el-form
:model=
"queryParams"
ref=
"queryParams"
:inline=
"true"
v-show=
"showSearch"
label-width=
"80px"
>
<el-form-item
label=
"隐患等级"
prop=
"hiddenType"
>
<el-select
v-model=
"queryParams.hiddenType"
placeholder=
"请选择隐患类型"
clearable
size=
"small"
>
<el-option
v-for=
"dict in typeOptions"
:key=
"dict.dictValue"
:label=
"dict.dictLabel"
:value=
"dict.dictValue"
></el-option>
</el-select>
</el-form-item>
<el-form-item
label=
"整治情况"
prop=
"remediation"
>
<el-select
v-model=
"queryParams.remediation"
placeholder=
"请选择整治情况"
clearable
size=
"small"
>
<el-option
v-for=
"dict in remediationOptions"
:key=
"dict.dictValue"
:label=
"dict.dictLabel"
:value=
"dict.dictValue"
></el-option>
</el-select>
</el-form-item>
<el-form-item
label=
"发现时间"
prop=
"hiddenFindDate"
>
<el-date-picker
clearable
size=
"small"
v-model=
"queryParams.hiddenFindDateStart"
type=
"datetime"
value-format=
"yyyy-MM-dd HH:mm:ss"
placeholder=
"请选择起始时间"
>
</el-date-picker><span
style=
"color: #bebfc3"
>
-
</span>
<el-date-picker
clearable
size=
"small"
v-model=
"queryParams.hiddenFindDateEnd"
type=
"datetime"
value-format=
"yyyy-MM-dd HH:mm:ss"
placeholder=
"请选择截止时间"
>
</el-date-picker>
</el-form-item>
<el-form-item
label=
"所属单位"
prop=
"beyondEnterpriseId"
>
<el-select
v-model=
"queryParams.beyondEnterpriseId"
placeholder=
"请选择单位"
:disabled=
"-2 != $store.state.user.enterpriseId"
>
<el-option
v-for=
"item in enterprises"
:key=
"item.enterpriseId"
:label=
"item.enterpriseName"
:value=
"item.enterpriseId"
></el-option>
</el-select>
</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"-->
<!-->新增
</el-button>
-->
<!--
</el-col>
-->
<el-col
:span=
"1.5"
>
<el-button
type=
"warning"
plain
icon=
"el-icon-download"
size=
"mini"
:loading=
"exportLoading"
@
click=
"handleExport"
>
导出
</el-button>
</el-col>
<right-toolbar
:showSearch
.
sync=
"showSearch"
@
queryTable=
"getList"
></right-toolbar>
</el-row>
<el-table
v-loading=
"loading"
:data=
"hiddenList"
>
<el-table-column
label=
"隐患名称"
align=
"center"
prop=
"hiddenTitle"
width=
"200px"
/>
<el-table-column
label=
"隐患等级"
align=
"center"
prop=
"hiddenType"
:formatter=
"levelFormatter"
/>
<el-table-column
label=
"隐患内容"
align=
"center"
prop=
"hiddenContent"
/>
<el-table-column
label=
"隐患位置"
align=
"center"
prop=
"hiddenLocation"
width=
"150px"
:show-overflow-tooltip=
"true"
>
<template
slot-scope=
"scope"
>
<span
v-if=
"scope.row.hiddenLocation != null"
>
{{
scope
.
row
.
hiddenLocation
}}
</span>
<span
v-else
>
-
</span>
</
template
>
</el-table-column>
<el-table-column
label=
"所属单位"
align=
"center"
prop=
"beyondEnterpriseId"
width=
"150"
:show-overflow-tooltip=
"true"
:formatter=
"beyondEnterpriseFormatte"
/>
<el-table-column
label=
"隐患来源"
align=
"center"
prop=
"source"
:formatter=
"sourceFormatter"
/>
<el-table-column
label=
"隐患发现人员"
align=
"center"
prop=
"hiddenFindPeople"
/>
<el-table-column
label=
"发现时间"
align=
"center"
prop=
"hiddenFindDate"
width=
"150px"
/>
<!--<el-table-column label="处置结果" align="center" prop="dealPlan" width="150px"/>-->
<!--<el-table-column label="处理方案" align="center" prop="dealPlanUrl">-->
<!--<template slot-scope="scope">-->
<!--<span-->
<!--class="dbtn"-->
<!--@click="checkFile(scope.row.dealPlanUrl)"-->
<!--v-if="scope.row.dealPlanUrl != null && scope.row.dealPlanUrl != ''"-->
<!-->-->
<!--<i class="el-icon el-icon-view"></i>查看/下载-->
<!--</span>-->
<!--<span v-else>-</span>-->
<!--</template>-->
<!--</el-table-column>-->
<el-table-column
label=
"整治情况"
align=
"center"
prop=
"remediation"
>
<
template
slot-scope=
"scope"
>
<span
v-if=
"scope.row.remediation == '1'"
>
已完成
</span>
<span
v-if=
"scope.row.remediation == '2'"
>
未完成
</span>
</
template
>
</el-table-column>
<el-table-column
label=
"操作"
align=
"center"
width=
"180px"
>
<
template
slot-scope=
"scope"
>
<el-button
size=
"mini"
type=
"text"
icon=
"el-icon-edit"
@
click=
"showDetail(scope.row)"
>
详情
</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=
"title1"
:visible
.
sync=
"open1"
width=
"800px"
append-to-body
@
cancel=
"cancel1"
>
<el-form
ref=
"form"
:model=
"form"
:rules=
"rules"
label-width=
"120px"
>
<el-row>
<el-col
:span=
"11"
>
<el-form-item
label=
"隐患名称"
prop=
"hiddenTitle"
>
<el-input
v-model=
"form.hiddenTitle"
placeholder=
"请输入隐患名称"
/>
</el-form-item>
</el-col>
<el-col
:span=
"12"
>
<el-form-item
label=
"隐患等级"
prop=
"hiddenType"
>
<el-select
v-model=
"form.hiddenType"
placeholder=
"请选择隐患等级"
style=
"width: 100%"
>
<el-option
v-for=
"dict in typeOptions"
:key=
"dict.dictValue"
:label=
"dict.dictLabel"
:value=
"dict.dictValue"
></el-option>
</el-select>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col
:span=
"23"
>
<el-form-item
label=
"隐患内容"
prop=
"hiddenContent"
>
<el-input
type=
"textarea"
v-model=
"form.hiddenContent"
placeholder=
"请输入隐患内容"
/>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col
:span=
"11"
>
<el-form-item
label=
"所属乡镇"
prop=
"township"
>
<el-select
v-model=
"form.township"
placeholder=
"请选择所属乡镇"
clearable
size=
"small"
>
<el-option
v-for=
"county in townshipOptions"
:key=
"county.fId"
:label=
"county.fName.trim()"
:value=
"county.fId"
/>
</el-select>
</el-form-item>
</el-col>
<el-col
:span=
"12"
>
<el-form-item
label=
"隐患来源"
prop=
"source"
>
<el-select
v-model=
"form.source"
placeholder=
"请选择隐患来源"
clearable
size=
"small"
>
<el-option
v-for=
"dict in sourceOptions"
:key=
"dict.dictValue"
:label=
"dict.dictLabel"
:value=
"dict.dictValue"
></el-option>
</el-select>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col
:span=
"23"
>
<el-form-item
label=
"隐患位置"
prop=
"hiddenLocation"
>
<el-input
v-model=
"form.hiddenLocation"
placeholder=
"请输入隐患位置"
/>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col
:span=
"23"
>
<el-form-item
label=
"经纬度坐标"
prop=
"longitude"
>
<el-col
:span=
"9"
>
<el-input
v-model=
"form.longitude"
placeholder=
"请输入经度"
/>
</el-col>
<el-col
:span=
"9"
style=
"margin-left: 10px"
>
<el-input
v-model=
"form.latitude"
placeholder=
"请输入纬度"
/>
</el-col>
<el-col
:span=
"3"
style=
"margin-left: 30px"
>
<el-button
type=
"primary"
plain
@
click=
"MapdialogFun"
>
选择经纬度
</el-button>
</el-col>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col
:span=
"11"
>
<el-form-item
label=
"隐患发现人员"
prop=
"hiddenFindPeople"
>
<el-input
v-model=
"form.hiddenFindPeople"
placeholder=
"请输入隐患发现人员"
/>
</el-form-item>
</el-col>
<el-col
:span=
"12"
>
<el-form-item
label=
"发现时间"
prop=
"hiddenFindDate"
>
<el-date-picker
clearable
size=
"small"
v-model=
"form.hiddenFindDate"
type=
"datetime"
value-format=
"yyyy-MM-dd HH:mm:ss"
placeholder=
"请选择发现时间"
style=
"width: 100%"
>
</el-date-picker>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col
:span=
"23"
>
<el-form-item
label=
"处理方案"
prop=
"dealPlan"
>
<FileUpload
listType=
"picture"
@
resFun=
"getFileInfo"
@
remove=
"listRemove"
:fileArr=
"fileList"
/>
<el-input
v-show=
"false"
disabled
v-model=
"form.dealPlan"
></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col
:span=
"12"
>
<el-form-item
label=
"整治情况"
prop=
"remediation"
>
<el-select
v-model=
"form.remediation"
placeholder=
"请选择整治情况"
clearable
size=
"small"
>
<el-option
v-for=
"dict in remediationOptions"
:key=
"dict.dictValue"
:label=
"dict.dictLabel"
:value=
"dict.dictValue"
></el-option>
</el-select>
</el-form-item>
</el-col>
<el-col
:span=
"12"
>
<el-form-item
label=
"隐患类型"
prop=
"hiddenTroubleType"
>
<el-select
v-model=
"form.hiddenTroubleType"
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-option
label=
"安全距离不足"
value=
"5"
/>
<el-option
label=
"管道承重"
value=
"6"
/>
<el-option
label=
"其他"
value=
"7"
/>
</el-select>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col
:span=
"24"
>
<el-form-item
label=
"所属单位"
prop=
"beyondEnterpriseId"
>
<el-select
v-model=
"form.beyondEnterpriseId"
placeholder=
"请选择所属单位名称"
style=
"width: 100%"
@
change=
"selectworkAssignEnterprose($event)"
>
<el-option
v-for=
"item in enterprises"
:key=
"item.enterpriseId"
:label=
"item.enterpriseName"
:value=
"item.enterpriseId"
></el-option>
</el-select>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col
:span=
"23"
>
<el-form-item
label=
"备注信息"
prop=
"remarks"
>
<el-input
type=
"textarea"
v-model=
"form.remarks"
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=
"cancel1"
>
取 消
</el-button>
</div>
</el-dialog>
<el-dialog
:title=
"title2"
:visible
.
sync=
"open2"
width=
"1200px"
append-to-body
@
cancel=
"cancel2"
@
close=
"cancel2"
>
<el-row>
<el-col
:span=
"14"
>
<el-form
ref=
"detailForm"
:model=
"detailForm"
label-width=
"120px"
>
<el-row>
<el-col
:span=
"10"
>
<el-form-item
label=
"隐患名称:"
>
<el-input
v-model=
"detailForm.hiddenTitle"
disabled
/>
</el-form-item>
<el-form-item
label=
"隐患发现人员:"
>
<el-input
v-model=
"detailForm.hiddenFindPeople"
disabled
/>
</el-form-item>
<el-form-item
label=
"发现时间:"
>
<el-input
v-model=
"detailForm.hiddenFindDate"
disabled
/>
</el-form-item>
</el-col>
<el-col
:span=
"13"
>
<el-form-item
label=
"隐患等级:"
>
<el-input
v-if=
"detailForm.hiddenType == '1'"
value=
"一级隐患"
disabled
/>
<el-input
v-if=
"detailForm.hiddenType == '2'"
value=
"二级隐患"
disabled
/>
<el-input
v-if=
"detailForm.hiddenType == '3'"
value=
"三级隐患"
disabled
/>
</el-form-item>
<el-form-item
label=
"隐患位置:"
>
<el-input
v-model=
"detailForm.hiddenLocation"
disabled
/>
</el-form-item>
<el-form-item
label=
"整治情况:"
>
<el-input
v-if=
"detailForm.remediation == '1'"
value=
"已完成"
disabled
/>
<el-input
v-if=
"detailForm.remediation == '2'"
value=
"未完成"
disabled
/>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col
:span=
"10"
>
<el-form-item
label=
"处理方案:"
>
<span
class=
"dbtn"
@
click=
"checkFile(detailForm.dealPlanUrl)"
v-if=
"detailForm.dealPlan != ''"
>
<i
class=
"el-icon el-icon-view"
></i>
查看/下载
</span>
<span
v-else
><el-input
disabled
/></span>
</el-form-item>
</el-col>
<el-col
:span=
"13"
>
<el-form-item
label=
"隐患类型"
prop=
"hiddenTroubleType"
>
<el-input
v-if=
"detailForm.hiddenTroubleType == '1'"
value=
"漏气"
disabled
/>
<el-input
v-if=
"detailForm.hiddenTroubleType == '2'"
value=
"腐蚀"
disabled
/>
<el-input
v-if=
"detailForm.hiddenTroubleType == '3'"
value=
"裂缝"
disabled
/>
<el-input
v-if=
"detailForm.hiddenTroubleType == '4'"
value=
"设备故障"
disabled
/>
<el-input
v-if=
"detailForm.hiddenTroubleType == '5'"
value=
"安全距离不足"
disabled
/>
<el-input
v-if=
"detailForm.hiddenTroubleType == '6'"
value=
"管道承重"
disabled
/>
<el-input
v-if=
"detailForm.hiddenTroubleType == '7'"
value=
"其他"
disabled
/>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col
:span=
"23"
>
<el-form-item
label=
"所属单位"
prop=
"beyondEnterpriseId"
>
<el-input
:value=
"beyondEnterpriseFormatte(detailForm)"
disabled
/>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col
:span=
"23"
>
<el-form-item
label=
"隐患内容:"
>
<el-input
type=
"textarea"
v-model=
"detailForm.hiddenContent"
disabled
/>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col
:span=
"23"
>
<el-form-item
label=
"备注信息:"
>
<el-input
type=
"textarea"
v-model=
"detailForm.remarks"
disabled
/>
</el-form-item>
</el-col>
</el-row>
</el-form>
</el-col>
<el-col
:span=
"9"
>
<div
style=
"width: 100%;height: 390px; border: 1px solid rgb(218, 213, 213);margin-bottom: 10px;"
>
<div
style=
"width: 100%;height: 100%"
id=
"hiddenContainer"
></div>
</div>
</el-col>
</el-row>
</el-dialog>
<GetPos
:dialogVisible
.
sync=
"dialogTableVisible"
device=
""
:devicePos=
"devicePos"
@
close=
"dialogcancelFun"
@
getPath=
"getPath"
/>
<!-- 详情 -->
<DetailInfo
ref=
"detail"
/>
</div>
</template>
<
script
>
import
{
listHidden
,
getHidden
,
delHidden
,
addHidden
,
updateHidden
,
exportHidden
}
from
"@/api/standingBook/hidden"
;
import
FileUpload
from
'@/components/FileUpload'
;
import
GetPos
from
'@/components/GetPos'
;
import
{
enterpriseLists
}
from
"@/api/regulation/info"
;
import
{
getDefaultCountyList
}
from
"@/api/area/county"
;
import
DetailInfo
from
"./DetailInfo"
;
let
uploadfile
=
require
(
"@/assets/uploadfile.png"
);
export
default
{
name
:
"Hidden"
,
components
:
{
FileUpload
,
GetPos
,
DetailInfo
},
data
()
{
return
{
enterprises
:
[],
// 遮罩层
loading
:
true
,
// 导出遮罩层
exportLoading
:
false
,
// 选中数组
ids
:
[],
// 非单个禁用
single
:
true
,
// 非多个禁用
multiple
:
true
,
// 显示搜索条件
showSearch
:
true
,
// 总条数
total
:
0
,
// 隐患整治台账表格数据
hiddenList
:
[],
// 弹出层标题
title1
:
""
,
title2
:
""
,
// 是否显示弹出层
open1
:
false
,
open2
:
false
,
// 隐患等级字典
typeOptions
:
[],
//隐患类型
hiddenOptions
:[],
//隐患来源
sourceOptions
:[],
// 整治情况字典
remediationOptions
:
[],
// 所属乡镇字典
townshipOptions
:
[],
// 隐患来源
sourceOptions
:
[],
// 上传文件列表
fileList
:
[],
// 地图
dialogTableVisible
:
false
,
devicePos
:
[],
map
:
null
,
// 查询参数
queryParams
:
{
pageNum
:
1
,
pageSize
:
10
,
hiddenTitle
:
null
,
hiddenType
:
null
,
remediation
:
null
,
hiddenFindDateStart
:
null
,
hiddenFindDateEnd
:
null
,
beyondEnterpriseId
:
null
},
// 表单参数
form
:
{},
detailForm
:
{},
// 表单校验
rules
:
{
hiddenTitle
:
[
{
required
:
true
,
message
:
"请输入隐患名称"
,
trigger
:
"blur"
},
],
hiddenType
:
[
{
required
:
true
,
message
:
"请选择隐患等级"
,
trigger
:
"blur"
},
],
hiddenContent
:
[
{
required
:
true
,
message
:
"请输入隐患内容"
,
trigger
:
"blur"
},
],
longitude
:
[
{
required
:
true
,
message
:
"请输入经纬度"
,
trigger
:
"blur"
},
],
hiddenFindPeople
:
[
{
required
:
true
,
message
:
"请输入隐患发现人员"
,
trigger
:
"blur"
},
],
hiddenFindDate
:
[
{
required
:
true
,
message
:
"请选择发现时间"
,
trigger
:
"change"
},
],
remediation
:
[
{
required
:
true
,
message
:
"请选择整治情况"
,
trigger
:
"change"
},
],
// dealPlan: [
// { required: true, message: "请上传文件", trigger: "change" },
// ],
}
};
},
created
()
{
this
.
getList
();
this
.
getDicts
(
"t_hidden_type"
).
then
(
response
=>
{
this
.
typeOptions
=
response
.
data
;
});
this
.
getDicts
(
"t_hidden_trouble_type"
).
then
(
response
=>
{
this
.
hiddenOptions
=
response
.
data
;
});
this
.
getDicts
(
"t_source"
).
then
(
response
=>
{
this
.
sourceOptions
=
response
.
data
;
});
this
.
getDicts
(
"t_remediation"
).
then
(
response
=>
{
this
.
remediationOptions
=
response
.
data
;
});
// this.getDicts("t_township").then(response => {
// this.townshipOptions = response.data;
// });
this
.
getCountyInfo
();
this
.
getDicts
(
"t_source"
).
then
(
response
=>
{
this
.
sourceOptions
=
response
.
data
;
});
if
(
-
2
!=
this
.
$store
.
state
.
user
.
enterpriseId
){
this
.
queryParams
.
beyondEnterpriseId
=
this
.
$store
.
state
.
user
.
enterpriseId
;
}
this
.
getEnterpriseLists
();
},
methods
:
{
//获取县级
getCountyInfo
(){
getDefaultCountyList
().
then
(
res
=>
{
if
(
res
.
code
==
200
&&
res
.
data
){
this
.
townshipOptions
=
res
.
data
;
}
})
},
beyondCountyFormat
(
row
){
let
info
=
this
.
countyInfo
.
find
(
item
=>
item
.
fId
==
row
.
township
);
return
info
?
info
.
fName
:
"-"
;
},
/** 查询隐患整治台账列表 */
getList
()
{
this
.
loading
=
true
;
listHidden
(
this
.
queryParams
).
then
(
response
=>
{
this
.
hiddenList
=
response
.
rows
;
this
.
total
=
response
.
total
;
this
.
loading
=
false
;
});
},
// 取消按钮
cancel1
()
{
this
.
open1
=
false
;
this
.
reset1
();
this
.
fileList
=
[];
},
cancel2
()
{
this
.
open2
=
false
;
this
.
reset2
();
this
.
map
.
destroy
();
},
// 表单重置
reset1
()
{
this
.
form
=
{
hiddenId
:
null
,
hiddenTitle
:
null
,
hiddenContent
:
null
,
hiddenLocation
:
null
,
longitude
:
null
,
latitude
:
null
,
hiddenType
:
null
,
hiddenFindPeople
:
null
,
hiddenFindDate
:
null
,
dealPlan
:
null
,
dealPlanUrl
:
null
,
remediation
:
null
,
createBy
:
null
,
createTime
:
null
,
updateBy
:
null
,
updateTime
:
null
,
isDel
:
null
,
remarks
:
null
};
this
.
resetForm
(
"form"
);
this
.
fileList
=
[];
this
.
devicePos
=
[];
},
reset2
()
{
this
.
detailForm
=
{
hiddenId
:
null
,
hiddenTitle
:
null
,
hiddenContent
:
null
,
hiddenLocation
:
null
,
longitude
:
null
,
latitude
:
null
,
hiddenType
:
null
,
hiddenFindPeople
:
null
,
hiddenFindDate
:
null
,
dealPlan
:
null
,
remediation
:
null
,
createBy
:
null
,
createTime
:
null
,
updateBy
:
null
,
updateTime
:
null
,
isDel
:
null
,
remarks
:
null
};
this
.
resetForm
(
"detailForm"
);
this
.
devicePos
=
[];
},
//所属单位
getEnterpriseLists
(){
const
param
=
{};
// this.judgeOperateType(param);
enterpriseLists
(
param
).
then
(
response
=>
{
this
.
enterprises
=
response
.
rows
;
// 如果是企业,则直接把查询条件的的所在单位赋值
if
(
this
.
$store
.
state
.
user
.
roleId
==
5
)
{
this
.
queryParams
.
beyondEnterpriseId
=
this
.
enterprises
[
0
].
enterpriseId
}
});
},
/** 搜索按钮操作 */
handleQuery
()
{
this
.
queryParams
.
pageNum
=
1
;
this
.
getList
();
},
/** 重置按钮操作 */
resetQuery
()
{
this
.
queryParams
=
{
pageNum
:
1
,
pageSize
:
10
,
hiddenTitle
:
null
,
hiddenType
:
null
,
remediation
:
null
,
hiddenFindDateStart
:
null
,
hiddenFindDateEnd
:
null
},
this
.
resetForm
(
"queryParams"
);
this
.
handleQuery
();
},
/** 新增按钮操作 */
handleAdd
()
{
this
.
reset1
();
this
.
open1
=
true
;
this
.
title1
=
"添加隐患整治台账"
;
this
.
getEnterpriseLists
();
},
selectworkAssignEnterprose
(
enterpriseId
){
this
.
getInspectionUserList
(
enterpriseId
);
},
/** 修改按钮操作 */
handleUpdate
(
row
)
{
this
.
reset1
();
getHidden
(
row
.
hiddenId
).
then
(
response
=>
{
this
.
form
=
response
.
data
;
if
(
this
.
form
.
dealPlan
)
{
this
.
fileList
.
push
({
name
:
this
.
form
.
dealPlan
,
url
:
uploadfile
,
});
}
this
.
devicePos
=
[
this
.
form
.
longitude
,
this
.
form
.
latitude
];
this
.
open1
=
true
;
this
.
title1
=
"修改隐患整治台账"
;
this
.
getEnterpriseLists
();
});
},
/** 提交按钮 */
submitForm
()
{
this
.
$refs
[
"form"
].
validate
(
valid
=>
{
if
(
valid
)
{
if
(
this
.
form
.
hiddenId
!=
null
)
{
updateHidden
(
this
.
form
).
then
(
response
=>
{
this
.
msgSuccess
(
"修改成功"
);
this
.
open1
=
false
;
this
.
getList
();
});
}
else
{
addHidden
(
this
.
form
).
then
(
response
=>
{
this
.
msgSuccess
(
"新增成功"
);
this
.
open1
=
false
;
this
.
getList
();
});
}
}
});
},
/** 删除按钮操作 */
handleDelete
(
row
)
{
// const hiddenIds = row.hiddenId || this.ids;
row
.
isDel
=
"1"
;
this
.
$confirm
(
'是否确认删除"'
+
row
.
hiddenTitle
+
'"的台账?'
,
"警告"
,
{
confirmButtonText
:
"确定"
,
cancelButtonText
:
"取消"
,
type
:
"warning"
}).
then
(
function
()
{
return
updateHidden
(
row
);
}).
then
(()
=>
{
this
.
getList
();
this
.
msgSuccess
(
"删除成功"
);
}).
catch
(()
=>
{});
},
/** 导出按钮操作 */
handleExport
()
{
const
queryParams
=
this
.
queryParams
;
this
.
$confirm
(
'是否确认导出所有隐患整治台账数据项?'
,
"警告"
,
{
confirmButtonText
:
"确定"
,
cancelButtonText
:
"取消"
,
type
:
"warning"
}).
then
(()
=>
{
this
.
exportLoading
=
true
;
return
exportHidden
(
queryParams
);
}).
then
(
response
=>
{
this
.
download
(
response
.
msg
);
this
.
exportLoading
=
false
;
}).
catch
(()
=>
{});
},
/** 详细信息跳转 */
showDetail
(
row
)
{
// this.reset2();
// getHidden(row.hiddenId).then(response => {
// this.detailForm = response.data;
// this.getEnterpriseLists();
// this.devicePos = [this.detailForm.longitude, this.detailForm.latitude];
// this.open2 = true;
// this.title2 = "隐患整治台账详情";
// this.$nextTick(() => {
// this.map = new EditorMap("hiddenContainer", {}, this);
// this.map.addDevice({ path: this.devicePos });
// this.map.nowMouseTarget = null;
// this.map.mousetoolClose(false);
// });
// });
this
.
$refs
.
detail
.
getDetailInfo
(
row
.
hiddenId
);
},
checkFile
(
url
)
{
window
.
open
(
url
,
'_blank'
);
},
getFileInfo
(
res
){
this
.
form
.
dealPlan
=
res
.
fileName
;
this
.
form
.
dealPlanUrl
=
res
.
url
;
this
.
fileList
.
push
({
name
:
res
.
fileName
,
url
:
uploadfile
,
});
},
listRemove
(
e
)
{
this
.
form
.
dealPlan
=
""
;
this
.
form
.
dealPlanUrl
=
""
;
this
.
fileList
=
[];
},
MapdialogFun
()
{
this
.
dialogTableVisible
=
true
;
// this.devicePos = [this.form.longitude, this.form.latitude];
console
.
log
(
"devicePos"
,
this
.
devicePos
)
},
dialogcancelFun
()
{
this
.
dialogTableVisible
=
false
;
},
getPath
(
res
){
console
.
log
(
"res"
,
res
);
console
.
log
(
this
.
form
.
longitude
,
this
.
form
.
latitude
);
//确认选择经纬度
this
.
form
.
longitude
=
res
[
0
];
this
.
form
.
latitude
=
res
[
1
];
},
beyondEnterpriseFormatte
(
row
){
let
enterpeiseInfo
=
this
.
enterprises
.
find
(
item
=>
item
.
enterpriseId
==
row
.
beyondEnterpriseId
);
return
enterpeiseInfo
?
enterpeiseInfo
.
enterpriseName
:
"-"
;
},
//隐患等级
levelFormatter
(
row
){
return
this
.
selectDictLabel
(
this
.
typeOptions
,
row
.
hiddenType
);
},
//隐患类型
typeFormatter
(
row
){
return
this
.
selectDictLabel
(
this
.
hiddenOptions
,
row
.
hiddenTroubleType
);
},
//隐患来源
sourceFormatter
(
row
){
return
this
.
selectDictLabel
(
this
.
sourceOptions
,
row
.
source
);
},
}
};
</
script
>
<
style
>
.dbtn
{
display
:
inline-block
;
line-height
:
normal
;
padding-left
:
2px
;
padding-right
:
2px
;
cursor
:
pointer
;
border-radius
:
3px
;
border-style
:
solid
;
border-width
:
0
;
color
:
rgb
(
48
,
180
,
107
);
}
.dbtn
:hover
{
border-width
:
1px
;
border-color
:
rgb
(
48
,
180
,
107
);
}
</
style
>
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment