Commit d63ed985 authored by zhangjianqian's avatar zhangjianqian

重大隐患跟踪,特殊人员上报接口

parent 1b8f23b3
......@@ -3160,7 +3160,7 @@ public class lpgGasController {
* 封装一个 失败的接口对象
* @return r
*/
private TLpgThirdPartyDockingInterfaceRecord errorRecord(String interfaceName,String receiveData,
public TLpgThirdPartyDockingInterfaceRecord errorRecord(String interfaceName,String receiveData,
String failureReason,String qybm){
TLpgThirdPartyDockingInterfaceRecord lpgThirdPartyDockingInterfaceRecord = new TLpgThirdPartyDockingInterfaceRecord();
......@@ -3179,7 +3179,7 @@ public class lpgGasController {
* 返回一个 成功的接口对象
* @return r
*/
private TLpgThirdPartyDockingInterfaceRecord successRecord(String interfaceName,String receiveData,String qybm) {
public TLpgThirdPartyDockingInterfaceRecord successRecord(String interfaceName,String receiveData,String qybm) {
TLpgThirdPartyDockingInterfaceRecord lpgThirdPartyDockingInterfaceRecord = new TLpgThirdPartyDockingInterfaceRecord();
lpgThirdPartyDockingInterfaceRecord.setInterfaceName(interfaceName);
......
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";
}
}
......@@ -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;
}
......
......@@ -28,6 +28,13 @@ public interface TDetectorUserMapper
*/
public TDetectorUser selectTDetectorUserById(Long userId);
/**
* 根据自有编号查询是否存在
* @param userOwnId
* @return
*/
public TDetectorUser selectUserByOwnId(String userOwnId);
/**
* 查询燃气用户统计信息
*
......
......@@ -46,6 +46,7 @@ public interface THiddenDangerStandingBookMapper
* @return 结果
*/
public int insertTHiddenDangerStandingBook(THiddenDangerStandingBook tHiddenDangerStandingBook);
public int inserts(List<THiddenDangerStandingBook> list);
/**
* 修改隐患整治台账
......
......@@ -35,6 +35,13 @@ public interface TSpecialUserMapper
*/
public int insertTSpecialUser(TSpecialUser tSpecialUser);
/**
* 批量新增
* @param list
* @return
*/
public int inserts(List<TSpecialUser> list);
/**
* 修改特殊用户管控
*
......
......@@ -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,
......
......@@ -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=",">
......
......@@ -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>
......
<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>
<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"-->
<!--&gt;新增</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 != ''"-->
<!--&gt;-->
<!--<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>
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment