Commit de9c6de9 authored by 耿迪迪's avatar 耿迪迪

电子作业票 gengdidi

parent 45402bb4
......@@ -9,7 +9,11 @@ import com.zehong.common.core.page.TableDataInfo;
import com.zehong.common.enums.BusinessType;
import com.zehong.common.utils.SecurityUtils;
import com.zehong.common.utils.poi.ExcelUtil;
import com.zehong.system.domain.TSpecialWorkPermit;
import com.zehong.system.domain.TSpecialWorkPermitSign;
import com.zehong.system.domain.TWorkPermit;
import com.zehong.system.service.ITSpecialWorkPermitService;
import com.zehong.system.service.ITSpecialWorkPermitSignService;
import com.zehong.system.service.ITWorkPermitService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
......@@ -29,6 +33,12 @@ public class TWorkPermitController extends BaseController
@Autowired
private ITWorkPermitService tWorkPermitService;
@Autowired
private ITSpecialWorkPermitService tSpecialWorkPermitService;
@Autowired
private ITSpecialWorkPermitSignService tSpecialWorkPermitSignService;
/**
* 查询作业许可证列表
*/
......@@ -38,9 +48,50 @@ public class TWorkPermitController extends BaseController
startPage();
List<TWorkPermit> list = tWorkPermitService.selectTWorkPermitList(tWorkPermit);
//setOperator(list);
setApprovalInfo(list);
return getDataTable(list);
}
/**
* 根据登录用户查询作业单
* @param tWorkPermit
* @return
*/
@GetMapping("/selectTWorkPermitListByLoginUser")
public TableDataInfo selectTWorkPermitListByLoginUser(TWorkPermit tWorkPermit){
startPage();
tWorkPermit.setCurrentLoginUser(SecurityUtils.getLoginUser().getUser().getUserId());
List<TWorkPermit> list = tWorkPermitService.selectTWorkPermitListByLoginUser(tWorkPermit);
//setOperator(list);
setApprovalInfo(list);
return getDataTable(list);
}
/**
* 获取审核人信息
* @param list 作业许可证列表
*/
private void setApprovalInfo(List<TWorkPermit> list){
for(TWorkPermit tWorkPermit : list){
List<Long> approvalIds = new ArrayList<>();
if("1".equals(tWorkPermit.getApplyStatus())){
TSpecialWorkPermit tSpecialWorkPermit = new TSpecialWorkPermit();
tSpecialWorkPermit.setWorkPermitId(tWorkPermit.getWorkPermitId());
List<TSpecialWorkPermit> specialWorkPermits =tSpecialWorkPermitService.selectTSpecialWorkPermitList(tSpecialWorkPermit);
for(TSpecialWorkPermit specialWorkPermit : specialWorkPermits){
TSpecialWorkPermitSign tSpecialWorkPermitSign = new TSpecialWorkPermitSign();
tSpecialWorkPermitSign.setPermitId(specialWorkPermit.getSpecialWorkPermitId());
List<TSpecialWorkPermitSign> specialWorkPermitSigns = tSpecialWorkPermitSignService.selectTSpecialWorkPermitSignList(tSpecialWorkPermitSign);
for(TSpecialWorkPermitSign specialWorkPermitSign: specialWorkPermitSigns){
approvalIds.add(specialWorkPermitSign.getStaffId());
}
}
}
tWorkPermit.setApprovals(approvalIds);
}
}
/**
* 根据许可证状态及登录人设置操作权限
* @param list 作业许可证列表
......
......@@ -102,6 +102,26 @@ public class TWorkPermit extends BaseEntity
private String operator;
private List<Long> approvals;
private long currentLoginUser;
public long getCurrentLoginUser() {
return currentLoginUser;
}
public void setCurrentLoginUser(long currentLoginUser) {
this.currentLoginUser = currentLoginUser;
}
public List<Long> getApprovals() {
return approvals;
}
public void setApprovals(List<Long> approvals) {
this.approvals = approvals;
}
/**
* 签字人身份
*/
......
......@@ -58,4 +58,11 @@ public interface TWorkPermitMapper
* @return 结果
*/
public int deleteTWorkPermitByIds(Long[] workPermitIds);
/**
* 根据登录用户查询作业单
* @param tWorkPermit
* @return
*/
List<TWorkPermit> selectTWorkPermitListByLoginUser(TWorkPermit tWorkPermit);
}
......@@ -58,4 +58,11 @@ public interface ITWorkPermitService
* @return 结果
*/
public int deleteTWorkPermitById(Long workPermitId);
/**
* 根据登录用户查询作业单
* @param tWorkPermit
* @return
*/
List<TWorkPermit> selectTWorkPermitListByLoginUser(TWorkPermit tWorkPermit);
}
......@@ -160,7 +160,7 @@ public class TSpecialWorkPermitServiceImpl implements ITSpecialWorkPermitService
TWorkPermitVo tWorkPermitVo = new TWorkPermitVo();
TWorkPermit tWorkPermit = itWorkPermitService.selectTWorkPermitById(workPermitId);
tWorkPermitVo.settWorkPermit(tWorkPermit);
/*
List<Integer> postIds = postService.selectPostListByUserId(SecurityUtils.getLoginUser().getUser().getUserId());
if(SecurityUtils.getLoginUser().getUser().getUserId().equals(Long.valueOf(tWorkPermit.getLinkMan()))){
postIds.add(-1);
......@@ -168,7 +168,7 @@ public class TSpecialWorkPermitServiceImpl implements ITSpecialWorkPermitService
if(SecurityUtils.getLoginUser().getUser().getUserId().equals(Long.valueOf(tWorkPermit.getRatifier()))){
postIds.add(-2);
}
tWorkPermitVo.setPostIds(postIds);
tWorkPermitVo.setPostIds(postIds);*/
TSpecialWorkPermit tSpecialWorkPermit = new TSpecialWorkPermit();
tSpecialWorkPermit.setWorkPermitId(workPermitId);
tWorkPermitVo.setSpecialWorkPermits(tSpecialWorkPermitMapper.selectTSpecialWorkPermitList(tSpecialWorkPermit));
......
......@@ -93,4 +93,14 @@ public class TWorkPermitServiceImpl implements ITWorkPermitService
{
return tWorkPermitMapper.deleteTWorkPermitById(workPermitId);
}
/**
* 根据登录用户查询作业单
* @param tWorkPermit
* @return
*/
@Override
public List<TWorkPermit> selectTWorkPermitListByLoginUser(TWorkPermit tWorkPermit){
return tWorkPermitMapper.selectTWorkPermitListByLoginUser(tWorkPermit);
}
}
......@@ -152,4 +152,59 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
#{workPermitId}
</foreach>
</delete>
<select id="selectTWorkPermitListByLoginUser" parameterType="TWorkPermit" resultMap="TWorkPermitResult">
SELECT
permit.work_permit_id,
permit.apply_dept,
permit.link_man,
permit.link_phone,
permit.work_bound,
permit.device_name,
permit.device_num,
permit.apply_work_start_time,
permit.apply_work_end_time,
permit.work_content,
permit.contractor,
permit.ratifier,
permit.main_dangerous_mark,
permit.dangerous_mark_detial,
permit.licence_info,
permit.relation_sign,
permit.produce_comfirm,
permit.work_deal,
permit.apply_status,
permit.create_time,
permit.update_time,
permit.remarks
FROM
t_work_permit permit,t_special_work_permit special,t_special_work_permit_sign sign
WHERE
permit.work_permit_id = special.work_permit_id
AND special.special_work_permit_id = sign.permit_id
AND (permit.link_man = #{currentLoginUser} or sign.sign_id = #{currentLoginUser})
<where>
<if test="applyDept != null and applyDept != ''"> and apply_dept = #{applyDept}</if>
<if test="linkMan != null and linkMan != ''"> and link_man = #{linkMan}</if>
<if test="linkPhone != null and linkPhone != ''"> and link_phone = #{linkPhone}</if>
<if test="workBound != null and workBound != ''"> and work_bound = #{workBound}</if>
<if test="deviceName != null and deviceName != ''"> and device_name like concat('%', #{deviceName}, '%')</if>
<if test="deviceNum != null and deviceNum != ''"> and device_num like concat('%', #{deviceNum},'%')</if>
<if test="applyWorkStartTime != null "> and apply_work_start_time = #{applyWorkStartTime}</if>
<if test="applyWorkEndTime != null "> and apply_work_end_time = #{applyWorkEndTime}</if>
<if test="workContent != null and workContent != ''"> and work_content = #{workContent}</if>
<if test="contractor != null "> and contractor = #{contractor}</if>
<if test="ratifier != null "> and ratifier = #{ratifier}</if>
<if test="mainDangerousMark != null and mainDangerousMark != ''"> and main_dangerous_mark = #{mainDangerousMark}</if>
<if test="dangerousMarkDetial != null and dangerousMarkDetial != ''"> and dangerous_mark_detial = #{dangerousMarkDetial}</if>
<if test="licenceInfo != null and licenceInfo != ''"> and licence_info = #{licenceInfo}</if>
<if test="relationSign != null and relationSign != ''"> and relation_sign = #{relationSign}</if>
<if test="produceComfirm != null and produceComfirm != ''"> and produce_comfirm = #{produceComfirm}</if>
<if test="workDeal != null and workDeal != ''"> and work_deal = #{workDeal}</if>
<if test="applyStatus != null and applyStatus != ''"> and apply_status = #{applyStatus}</if>
<if test="remarks != null and remarks != ''"> and remarks = #{remarks}</if>
</where>
GROUP BY permit.work_permit_id
ORDER BY create_time DESC
</select>
</mapper>
\ No newline at end of file
......@@ -9,6 +9,14 @@ export function listPermit(query) {
})
}
export function selectTWorkPermitListByLoginUser(query) {
return request({
url: '/work/permit/selectTWorkPermitListByLoginUser',
method: 'get',
params: query
})
}
// 查询作业许可证详细
export function getPermit(workPermitId) {
return request({
......
<template>
<el-dialog title="作业单" :visible.sync="certificateDetailOpen" width="900px" :close-on-click-modal="false" append-to-body :before-close="certificateDetailClose">
<div class="tags_box">
<div class="tags">
<div :class="{isActive:'workPermit'== active}" @click="handelToogel('workPermit')">作业单</div>
</div>
<div v-for="item in specialWorkPermits" class="tags">
<div :class="{isActive:item.specialWorkType==active}" @click="handelToogel(item.specialWorkType)">{{ getTagName(item.specialWorkType) }}</div>
</div>
</div>
<div class="con_box">
<div v-show="active == 'workPermit'">
<table id="workPermitPrint">
<tr>
<td rowspan="4" colspan="2">作业许可申请人</td>
<td colspan="2">申请部门/单位</td>
<td colspan="2">{{certificateData.applyDept}}</td>
<td colspan="2">申请人及联系方式</td>
<td colspan="2">{{certificateData.linkMan}}|{{certificateData.linkPhone}}</td>
</tr>
<tr>
<td colspan="2">作业区域范围</td>
<td colspan="2">{{certificateData.workBound}}</td>
<td colspan="2">设备名称及编号</td>
<td colspan="2">{{certificateData.deviceName}}|{{certificateData.deviceNum}}</td>
</tr>
<tr>
<td colspan="2">申请作业时间</td>
<td colspan="6">
{{ certificateData.applyWorkStartTime == null ? "-" :certificateData.applyWorkStartTime.split(" ")[0].split("-")[1]}}{{certificateData.applyWorkStartTime == null ? "-" :certificateData.applyWorkStartTime.split(" ")[0].split("-")[2]}}{{certificateData.applyWorkStartTime == null ? "-" :certificateData.applyWorkStartTime.split(" ")[1].split(":")[0]}}{{certificateData.applyWorkStartTime == null ? "-" :certificateData.applyWorkStartTime.split(" ")[1].split(":")[1]}}分至{{certificateData.applyWorkEndTime == null ? "-" :certificateData.applyWorkEndTime.split(" ")[0].split("-")[1]}}{{certificateData.applyWorkEndTime == null ? "-" :certificateData.applyWorkEndTime.split(" ")[0].split("-")[2]}}{{certificateData.applyWorkEndTime == null ? "-" :certificateData.applyWorkEndTime.split(" ")[1].split(":")[0]}}{{certificateData.applyWorkEndTime == null ? "-" :certificateData.applyWorkEndTime.split(" ")[1].split(":")[1]}}
</td>
</tr>
<tr>
<td colspan="2">作业内容</td>
<td colspan="6">{{certificateData.workContent}}</td>
</tr>
<tr>
<td colspan="2">所有相关方讨论</td>
<td>工作安全分析</td>
<td style="writing-mode: vertical-rl;">危害识别</td>
<td colspan="6" style="text-align: left">
<div><input type="checkbox" disabled v-model="mainDangerousMark.burn">灼伤(低温/高温/化学品灼伤,电弧烧伤,火灾,易燃气/液体,蒸汽,电焊、动火、射线等)</div>
<div><input type="checkbox" disabled v-model="mainDangerousMark.electricShock">电击(触电,电压,不适当的接地,电气热作业,地下/暗线等)。</div>
<div><input type="checkbox" disabled v-model="mainDangerousMark.objectStrike">物体打击(爆炸,压力,能量释放,移动/坠落的物体,不正确的存放,设备)</div>
<div><input type="checkbox" disabled v-model="mainDangerousMark.stifle">窒息/中毒(惰性气体,有毒气体,易挥发的液体溶剂等)</div>
<div><input type="checkbox" disabled v-model="mainDangerousMark.drop">坠落(高处作业,没有防护的开口,没有固定的梯子,脚手架搭设,无防护的平台等)</div>
<div><input type="checkbox" disabled v-model="mainDangerousMark.vehicleInjury">车辆伤害(速度过快,疲劳驾驶,车辆故障,缺乏防御性驾驶,能见度差,不寻常的路状,分心等)</div>
<div><input type="checkbox" disabled v-model="mainDangerousMark.other">其它危害。</div>
<div>注:如存在以上任一情况,请填写安全措施。</div>
</td>
</tr>
<tr>
<td rowspan="4" colspan="2">批准人填写</td>
<td rowspan="4" colspan="2">许可证</td>
<td colspan="6" style="text-align: left">是否需要进一步的JSA: <input disabled type="checkbox" v-model="licenceInfo.jsa.yes"/><input type="checkbox" disabled v-model="licenceInfo.jsa.no"/>是 JSA[<input class="editInput" disabled v-model="licenceInfo.jsa.num" style="width: 250px" placeholder="填写JSA编号"/>]</td>
</tr>
<tr>
<td colspan="6" style="text-align: left"><input disabled type="checkbox" v-model="licenceInfo.specialLicence"/>0无需特殊工作许可</td>
</tr>
<tr>
<td colspan="6" style="text-align: left">
<div><input type="checkbox" disabled v-model="licenceInfo.lockListing.isChecked"/>1-1锁定挂牌记录表 [<input class="editInput" disabled v-model="licenceInfo.lockListing.num" style="width: 250px" placeholder="填写编号"/>]</div>
<div><input type="checkbox" disabled v-model="licenceInfo.blindPlate.isChecked"/>1-2盲板抽堵作业许可 [<input class="editInput" disabled v-model="licenceInfo.blindPlate.num" style="width: 250px" placeholder="填写编号"/>]</div>
</td>
</tr>
<tr>
<td colspan="6" style="text-align: left;">
<div><input type="checkbox" disabled v-model="licenceInfo.flareUp.isChecked"/>2动火作业许可证 [<input class="editInput" disabled v-model="licenceInfo.flareUp.num" style="width: 250px" placeholder="填写编号"/>]</div>
<div><input type="checkbox" disabled v-model="licenceInfo.heightWork.isChecked"/>3高处作业许可证 [<input class="editInput" disabled v-model="licenceInfo.heightWork.num" style="width: 250px" placeholder="填写编号"/>]</div>
<div><input type="checkbox" disabled v-model="licenceInfo.breakGround.isChecked"/>4动土作业许可证 [<input class="editInput" disabled v-model="licenceInfo.breakGround.num" style="width: 250px" placeholder="填写编号"/>]</div>
<div><input type="checkbox" disabled v-model="licenceInfo.hoisting.isChecked"/>5吊装作业许可证 [<input class="editInput" disabled v-model="licenceInfo.hoisting.num" style="width: 250px" placeholder="填写编号"/>]</div>
<div><input type="checkbox" disabled v-model="licenceInfo.limitSpace.isChecked"/>6受限空间作业许可证 [<input class="editInput" disabled v-model="licenceInfo.limitSpace.num" style="width: 250px" placeholder="填写编号"/>]</div>
<div><input type="checkbox" disabled v-model="licenceInfo.electricityUse.isChecked"/>7临时用电许可证 [<input class="editInput" disabled v-model="licenceInfo.electricityUse.num" style="width: 250px" placeholder="填写编号"/>]</div>
<div><input type="checkbox" disabled v-model="licenceInfo.ray.isChecked"/>8射线探伤许可证 [<input class="editInput" disabled v-model="licenceInfo.ray.num" style="width: 250px" placeholder="填写编号"/>]</div>
</td>
</tr>
<tr>
<td colspan="2">相关方填写</td>
<td colspan="4">
<div style="text-align: left">
承包商:
<textarea disabled v-model="relationSign.contractor" style="height: 96px"></textarea>
</div>
</td>
<td colspan="4">
<div style="text-align: left">
负责人:
<textarea disabled v-model="relationSign.personCharge" style="height: 96px"></textarea>
</div>
</td>
</tr>
<tr v-if="(certificateData.applyStatus-0)>3">
<td colspan="2">生产班组确认</td>
<td colspan="8">
<el-row>
<el-col :span="8" style="text-align: left">本人已知晓此工作许可证的内容</el-col>
<el-col :span="8" style="text-align: right">确认签字(当班班长):</el-col>
<el-col :span="8"><NewEsign :resultImg.sync ="produceComfirm.monitorName" :isReWrite="false" :width="918" :height="100"/></el-col>
</el-row>
<el-row>
<el-col :span="24" style="text-align: right">日期/时间:<input style="width: 228px" disabled v-model="produceComfirm.date" class="editInput"/></el-col>
</el-row>
</td>
</tr>
</table>
<div style="margin-top:10px;float: right"><el-button type="primary" v-print="'#workPermitPrint'">打印</el-button></div>
</div>
<div v-for="item in specialWorkPermits" v-show="active == item.specialWorkType">
<FlareUp v-if="item.specialWorkType == 'flareUp'"
:ref="item.specialWorkType"
:workPermitId = "item.workPermitId"
:licenceNum = "item.licenceNum"
applyStatus="4"/>
</div>
</div>
</el-dialog>
</template>
<script>
import NewEsign from "@/components/SaftyWork/NewEsign";
import FlareUp from "@/components/NewSaftyWork/FlareUp";
import { getSpecialWorkPermitByWorkPermitId } from "@/api/workPermit/specialPermit";
import { listSign } from "@/api/workPermit/workPermitSign";
export default {
components: {
NewEsign,
FlareUp
},
name: "new-work-permit-detail",
props:{
certificateDetailOpen:{
type:Boolean,
default:false
},
certificateData:{
type:Object
}
},
data(){
return{
mainDangerousMark :{
burn : false,
electricShock : false,
objectStrike : false,
stifle : false,
drop : false,
vehicleInjury : false,
other : false
},
licenceInfo : {
lockListing: {
num: "",
isChecked: false
},
blindPlate: {
num: "",
isChecked: false,
status: "0"
},
breakGround: {
num: "",
isChecked: false,
status: "0"
},
limitSpace: {
num: "",
isChecked: false,
status: "0"
},
jsa: {
no: false,
yes: false,
num: ""
},
specialLicence: false,
flareUp: {
num: "",
isChecked: false,
status: "0"
},
hoisting: {
num: "",
isChecked: false,
status: "0"
},
ray: {
num: "",
isChecked: false,
status: "0"
},
electricityUse: {
num: "",
isChecked: false,
status: "0"
},
heightWork: {
num: "",
isChecked: false,
status: "0"
}
},
relationSign:{
contractor:"",
personCharge:""
},
produceComfirm:{
leaderDeptId:"",
monitorId:"",
monitorName:"",
date:""
},
active:"workPermit",
specialWorkPermits:[]
}
},
watch:{
certificateDetailOpen(newValue){
if(null != this.certificateData.mainDangerousMark){
this.mainDangerousMark = JSON.parse(this.certificateData.mainDangerousMark);
}
if(null != this.certificateData.licenceInfo){
this.licenceInfo = JSON.parse(this.certificateData.licenceInfo);
}
if(null != this.certificateData.relationSign){
this.relationSign = JSON.parse(this.certificateData.relationSign);
}
if(null != this.certificateData.produceComfirm){
this.produceComfirm = JSON.parse(this.certificateData.produceComfirm);
}
this.specialWorkPermit();
}
},
methods:{
certificateDetailClose(){
this.$emit('update:certificateDetailOpen',false);
},
handelToogel(item) {
this.active = item;
},
specialWorkPermit(){
getSpecialWorkPermitByWorkPermitId({workPermitId:this.certificateData.workPermitId}).then(res =>{
this.specialWorkPermits = res.data.specialWorkPermits;
for(let key in this.specialWorkPermits ){
this.$nextTick(() => {
listSign({ pageNum: 1,pageSize: 99999,permitId:this.specialWorkPermits[key].specialWorkPermitId}).then(res =>{
this.$refs[this.specialWorkPermits[key].specialWorkType][0][this.specialWorkPermits[key].specialWorkType] = JSON.parse(this.specialWorkPermits[key].specialWorkData);
this.$refs[this.specialWorkPermits[key].specialWorkType][0].specialWorkPermitId = this.specialWorkPermits[key].specialWorkPermitId;
this.$refs[this.specialWorkPermits[key].specialWorkType][0].specialWorkPermitSigns = res.rows;
})
})
}
})
},
//获取tag名称
getTagName(key){
switch(key){
case "blindPlate":
return "盲板抽堵作业许可";
case "flareUp":
return "动火作业许可证";
case "heightWork":
return "高处作业许可证";
case "breakGround":
return "动土作业许可证";
case "hoisting":
return "吊装作业许可证";
case "limitSpace":
return "受限空间作业许可证";
case "electricityUse":
return "临时用电许可证";
case "ray":
return "射线探伤许可证";
default:
return "";
}
},
}
}
</script>
<style scoped lang="scss">
table{
border-collapse: collapse;
table-layout: fixed;
text-align: center;
width: 100%;
}
table td, table th{
border: 1px solid;
height: 30px;
}
.editInput{
border: none;
width: 100%;
height: 100%;
text-align: center;
}
.editInput:focus{
outline: none;
}
.editLine{
border-bottom: 1px solid;
border-top: none;
border-left: none;
border-right: none;
text-align: center;
}
.editLine:focus{
outline: none;
}
textarea{
height: 100%;
width: 100%;
border: none;
resize:none;
}
textarea:focus{
outline: none;
}
.tags_box {
height: 10%;
display: flex;
.tags {
div {
padding: 10px 20px;
cursor: pointer;
border: #cccccc 1px solid;
#margin-right: 20px;
#border-radius: 5px;
}
.isActive {
background-color: #409EFF;
color: white;
}
}
}
.con_box {
height: 500px;;
border: #cccccc 1px solid;
padding: 10px;
overflow-y: scroll;
overflow-x: hidden;
&::-webkit-scrollbar {
width:5px;
}
&::-webkit-scrollbar-track {
-webkit-box-shadow:inset006pxrgba(0,0,0,0.3);
border-radius:10px;
}
&::-webkit-scrollbar-thumb {
border-radius:5px;
background:rgba(0,0,0,0.1);
-webkit-box-shadow:inset006pxrgba(0,0,0,0.5);
}
}
</style>
<template>
<div>
<table>
<table id="flareUpPrint">
<tr>
<td colspan="4">申请单位</td>
<td colspan="3"><input v-model="flareUp.applyUnit" class="editInput"/></td>
<td colspan="3"><input :disabled="(applyStatus-0) > 0" v-model="flareUp.applyUnit" class="editInput"/></td>
<td colspan="3">作业申请时间</td>
<td colspan="5">
<td colspan="5" v-if="(applyStatus-0) == 0">
<el-date-picker clearable size="small"
v-model="flareUp.applyDate"
type="datetime"
......@@ -14,38 +14,41 @@
style="width: 100%">
</el-date-picker>
</td>
<td colspan="5" v-if="(applyStatus-0) > 0">
{{ (flareUp.applyDate == null || flareUp.applyDate =='') ? "-" :flareUp.applyDate.split(" ")[0].split("-")[1]}}{{ (flareUp.applyDate == null || flareUp.applyDate =='') ? "-" :flareUp.applyDate.split(" ")[0].split("-")[1]}}{{(flareUp.applyDate == null || flareUp.applyDate =='') ? "-" :flareUp.applyDate.split(" ")[0].split("-")[2]}}{{(flareUp.applyDate == null || flareUp.applyDate =='') ? "-" :flareUp.applyDate.split(" ")[1].split(":")[0]}}{{(flareUp.applyDate == null || flareUp.applyDate =='') ? "-" :flareUp.applyDate.split(" ")[1].split(":")[1]}}
</td>
<td colspan="2">编号</td>
<td colspan="3"><input v-model="flareUp.num" disabled class="editInput"/></td>
</tr>
<tr>
<td colspan="4">作业内容</td>
<td colspan="6"><input v-model="flareUp.workContent" class="editInput"/></td>
<td colspan="6"><input :disabled="(applyStatus-0) > 0" v-model="flareUp.workContent" class="editInput"/></td>
<td colspan="4">动火地点及动火部位</td>
<td colspan="6"><input v-model="flareUp.fireLocation" class="editInput"/></td>
<td colspan="6"><input :disabled="(applyStatus-0) > 0" v-model="flareUp.fireLocation" class="editInput"/></td>
</tr>
<tr>
<td colspan="4">动火作业级别</td>
<td colspan="6">
特级<input v-model="flareUp.fireLevel.special" type="checkbox"/>
一级<input v-model="flareUp.fireLevel.first" type="checkbox"/>
二级<input v-model="flareUp.fireLevel.second" type="checkbox"/>
特级<input :disabled="(applyStatus-0) > 0" v-model="flareUp.fireLevel.special" type="checkbox"/>
一级<input :disabled="(applyStatus-0) > 0" v-model="flareUp.fireLevel.first" type="checkbox"/>
二级<input :disabled="(applyStatus-0) > 0" v-model="flareUp.fireLevel.second" type="checkbox"/>
</td>
<td colspan="4">动火方式</td>
<td colspan="6"><input v-model="flareUp.fireMethod" class="editInput"/></td>
<td colspan="6"><input :disabled="(applyStatus-0) > 0" v-model="flareUp.fireMethod" class="editInput"/></td>
</tr>
<tr>
<td colspan="4">动火人及证书编号</td>
<td colspan="16"><input v-model="flareUp.pepeloAndLinceseNum" class="editInput"/></td>
<td colspan="16"><input :disabled="(applyStatus-0) > 0" v-model="flareUp.pepeloAndLinceseNum" class="editInput"/></td>
</tr>
<tr>
<td colspan="4">作业单位</td>
<td colspan="6"><input v-model="flareUp.workUnit" class="editInput"/></td>
<td colspan="6"><input :disabled="(applyStatus-0) > 0" v-model="flareUp.workUnit" class="editInput"/></td>
<td colspan="4">作业负责人</td>
<td colspan="6"><input v-model="flareUp.leader" class="editInput"/></td>
<td colspan="6"><input :disabled="(applyStatus-0) > 0" v-model="flareUp.leader" class="editInput"/></td>
</tr>
<tr>
<td colspan="4">气体取样分析时间</td>
<td colspan="4">
<td colspan="4" v-if="(applyStatus-0) == 0">
<el-date-picker clearable size="small"
v-model="flareUp.firstSimple.simpleDate"
type="datetime"
......@@ -54,7 +57,7 @@
style="width: 100%">
</el-date-picker>
</td>
<td colspan="4">
<td colspan="4" v-if="(applyStatus-0) == 0">
<el-date-picker clearable size="small"
v-model="flareUp.secondSimple.simpleDate"
type="datetime"
......@@ -63,7 +66,7 @@
style="width: 100%">
</el-date-picker>
</td>
<td colspan="4">
<td colspan="4" v-if="(applyStatus-0) == 0">
<el-date-picker clearable size="small"
v-model="flareUp.thirdSimple.simpleDate"
type="datetime"
......@@ -72,7 +75,7 @@
style="width: 100%">
</el-date-picker>
</td>
<td colspan="4">
<td colspan="4" v-if="(applyStatus-0) == 0">
<el-date-picker clearable size="small"
v-model="flareUp.fourthSimple.simpleDate"
type="datetime"
......@@ -81,91 +84,104 @@
style="width: 100%">
</el-date-picker>
</td>
<td colspan="4" v-if="(applyStatus-0) >0">
{{ (flareUp.firstSimple.simpleDate == null || flareUp.firstSimple.simpleDate =='') ? "-" :flareUp.firstSimple.simpleDate.split(" ")[0].split("-")[1]}}{{(flareUp.firstSimple.simpleDate == null || flareUp.firstSimple.simpleDate =='') ? "-" :flareUp.firstSimple.simpleDate.split(" ")[0].split("-")[2]}}{{(flareUp.firstSimple.simpleDate == null || flareUp.firstSimple.simpleDate =='') ? "-" :flareUp.firstSimple.simpleDate.split(" ")[1].split(":")[0]}}{{(flareUp.firstSimple.simpleDate == null || flareUp.firstSimple.simpleDate =='') ? "-" :flareUp.firstSimple.simpleDate.split(" ")[1].split(":")[1]}}
</td>
<td colspan="4" v-if="(applyStatus-0) >0">
{{ (flareUp.secondSimple.simpleDate == null || flareUp.secondSimple.simpleDate =='') ? "-" :flareUp.secondSimple.simpleDate.split(" ")[0].split("-")[1]}}{{(flareUp.secondSimple.simpleDate == null || flareUp.firstSimple.simpleDate =='') ? "-" :flareUp.secondSimple.simpleDate.split(" ")[0].split("-")[2]}}{{(flareUp.secondSimple.simpleDate == null || flareUp.secondSimple.simpleDate =='') ? "-" :flareUp.secondSimple.simpleDate.split(" ")[1].split(":")[0]}}{{(flareUp.secondSimple.simpleDate == null || flareUp.secondSimple.simpleDate =='') ? "-" :flareUp.secondSimple.simpleDate.split(" ")[1].split(":")[1]}}
</td>
<td colspan="4" v-if="(applyStatus-0) >0">
{{ (flareUp.thirdSimple.simpleDate == null || flareUp.thirdSimple.simpleDate =='') ? "-" :flareUp.thirdSimple.simpleDate.split(" ")[0].split("-")[1]}}{{(flareUp.thirdSimple.simpleDate == null || flareUp.firstSimple.simpleDate =='') ? "-" :flareUp.thirdSimple.simpleDate.split(" ")[0].split("-")[2]}}{{(flareUp.thirdSimple.simpleDate == null || flareUp.thirdSimple.simpleDate =='') ? "-" :flareUp.thirdSimple.simpleDate.split(" ")[1].split(":")[0]}}{{(flareUp.thirdSimple.simpleDate == null || flareUp.thirdSimple.simpleDate =='') ? "-" :flareUp.thirdSimple.simpleDate.split(" ")[1].split(":")[1]}}
</td>
<td colspan="4" v-if="(applyStatus-0) >0">
{{ (flareUp.fourthSimple.simpleDate == null || flareUp.fourthSimple.simpleDate =='') ? "-" :flareUp.fourthSimple.simpleDate.split(" ")[0].split("-")[1]}}{{(flareUp.fourthSimple.simpleDate == null || flareUp.firstSimple.simpleDate =='') ? "-" :flareUp.fourthSimple.simpleDate.split(" ")[0].split("-")[2]}}{{(flareUp.fourthSimple.simpleDate == null || flareUp.fourthSimple.simpleDate =='') ? "-" :flareUp.fourthSimple.simpleDate.split(" ")[1].split(":")[0]}}{{(flareUp.fourthSimple.simpleDate == null || flareUp.fourthSimple.simpleDate =='') ? "-" :flareUp.fourthSimple.simpleDate.split(" ")[1].split(":")[1]}}
</td>
</tr>
<tr>
<td colspan="4">代表性气体</td>
<td colspan="4"><input v-model="flareUp.firstSimple.simpleGas" class="editInput"/></td>
<td colspan="4"><input v-model="flareUp.secondSimple.simpleGas" class="editInput"/></td>
<td colspan="4"><input v-model="flareUp.thirdSimple.simpleGas" class="editInput"/></td>
<td colspan="4"><input v-model="flareUp.fourthSimple.simpleGas" class="editInput"/></td>
<td colspan="4"><input :disabled="(applyStatus-0) > 0" v-model="flareUp.firstSimple.simpleGas" class="editInput"/></td>
<td colspan="4"><input :disabled="(applyStatus-0) > 0" v-model="flareUp.secondSimple.simpleGas" class="editInput"/></td>
<td colspan="4"><input :disabled="(applyStatus-0) > 0" v-model="flareUp.thirdSimple.simpleGas" class="editInput"/></td>
<td colspan="4"><input :disabled="(applyStatus-0) > 0" v-model="flareUp.fourthSimple.simpleGas" class="editInput"/></td>
</tr>
<tr>
<td colspan="4">分析结果/%</td>
<td colspan="4"><input v-model="flareUp.firstSimple.simpleResult" class="editInput"/></td>
<td colspan="4"><input v-model="flareUp.secondSimple.simpleResult" class="editInput"/></td>
<td colspan="4"><input v-model="flareUp.thirdSimple.simpleResult" class="editInput"/></td>
<td colspan="4"><input v-model="flareUp.fourthSimple.simpleResult" class="editInput"/></td>
<td colspan="4"><input :disabled="(applyStatus-0) > 0" v-model="flareUp.firstSimple.simpleResult" class="editInput"/></td>
<td colspan="4"><input :disabled="(applyStatus-0) > 0" v-model="flareUp.secondSimple.simpleResult" class="editInput"/></td>
<td colspan="4"><input :disabled="(applyStatus-0) > 0" v-model="flareUp.thirdSimple.simpleResult" class="editInput"/></td>
<td colspan="4"><input :disabled="(applyStatus-0) > 0" v-model="flareUp.fourthSimple.simpleResult" class="editInput"/></td>
</tr>
<tr>
<td colspan="4">分析人</td>
<td colspan="4"><input v-model="flareUp.firstSimple.simplePeople" class="editInput"/></td>
<td colspan="4"><input v-model="flareUp.secondSimple.simplePeople" class="editInput"/></td>
<td colspan="4"><input v-model="flareUp.thirdSimple.simplePeople" class="editInput"/></td>
<td colspan="4"><input v-model="flareUp.fourthSimple.simplePeople" class="editInput"/></td>
<td colspan="4"><input :disabled="(applyStatus-0) > 0" v-model="flareUp.firstSimple.simplePeople" class="editInput"/></td>
<td colspan="4"><input :disabled="(applyStatus-0) > 0" v-model="flareUp.secondSimple.simplePeople" class="editInput"/></td>
<td colspan="4"><input :disabled="(applyStatus-0) > 0" v-model="flareUp.thirdSimple.simplePeople" class="editInput"/></td>
<td colspan="4"><input :disabled="(applyStatus-0) > 0" v-model="flareUp.fourthSimple.simplePeople" class="editInput"/></td>
</tr>
<tr>
<td colspan="4">关联的其他特殊作业及安全作业票编号</td>
<td colspan="16"><input v-model="flareUp.specialLinceseNum" class="editInput"/></td>
<td colspan="16"><input :disabled="(applyStatus-0) > 0" v-model="flareUp.specialLinceseNum" class="editInput"/></td>
</tr>
<tr>
<td colspan="4">风险辨识结果在下列画√</td>
<td colspan="16" style="text-align: left">
<el-row>
<el-col :span="5">
<input v-model="flareUp.dangerousResult.hit" type="checkbox"/>1.物体打击
<input :disabled="(applyStatus-0) > 0" v-model="flareUp.dangerousResult.hit" type="checkbox"/>1.物体打击
</el-col>
<el-col :span="5">
<input v-model="flareUp.dangerousResult.vehicleInjuries" type="checkbox"/>2.车辆伤害
<input :disabled="(applyStatus-0) > 0" v-model="flareUp.dangerousResult.vehicleInjuries" type="checkbox"/>2.车辆伤害
</el-col>
<el-col :span="5">
<input v-model="flareUp.dangerousResult.mechanicalInjuries" type="checkbox"/>3.机械伤害
<input :disabled="(applyStatus-0) > 0" v-model="flareUp.dangerousResult.mechanicalInjuries" type="checkbox"/>3.机械伤害
</el-col>
<el-col :span="5">
<input v-model="flareUp.dangerousResult.liftingInjury" type="checkbox"/>4.起重伤害
<input :disabled="(applyStatus-0) > 0" v-model="flareUp.dangerousResult.liftingInjury" type="checkbox"/>4.起重伤害
</el-col>
<el-col :span="4">
<input v-model="flareUp.dangerousResult.electricShock" type="checkbox"/> 5.触电
<input :disabled="(applyStatus-0) > 0" v-model="flareUp.dangerousResult.electricShock" type="checkbox"/> 5.触电
</el-col>
</el-row>
<el-row>
<el-col :span="5">
<input v-model="flareUp.dangerousResult.drowning" type="checkbox"/> 6.淹溺
<input :disabled="(applyStatus-0) > 0" v-model="flareUp.dangerousResult.drowning" type="checkbox"/> 6.淹溺
</el-col>
<el-col :span="5">
<input v-model="flareUp.dangerousResult.scald" type="checkbox"/> 7.灼烫
<input :disabled="(applyStatus-0) > 0" v-model="flareUp.dangerousResult.scald" type="checkbox"/> 7.灼烫
</el-col>
<el-col :span="5">
<input v-model="flareUp.dangerousResult.fire" type="checkbox"/> 8.火灾
<input :disabled="(applyStatus-0) > 0" v-model="flareUp.dangerousResult.fire" type="checkbox"/> 8.火灾
</el-col>
<el-col :span="5">
<input v-model="flareUp.dangerousResult.drop" type="checkbox"/> 9.高处坠落
<input :disabled="(applyStatus-0) > 0" v-model="flareUp.dangerousResult.drop" type="checkbox"/> 9.高处坠落
</el-col>
<el-col :span="4">
<input v-model="flareUp.dangerousResult.collapse" type="checkbox"/> 10.坍塌
<input :disabled="(applyStatus-0) > 0" v-model="flareUp.dangerousResult.collapse" type="checkbox"/> 10.坍塌
</el-col>
</el-row>
<el-row>
<el-col :span="5">
<input v-model="flareUp.dangerousResult.boilerExplosion" type="checkbox"/> 11.锅炉爆炸
<input :disabled="(applyStatus-0) > 0" v-model="flareUp.dangerousResult.boilerExplosion" type="checkbox"/> 11.锅炉爆炸
</el-col>
<el-col :span="5">
<input v-model="flareUp.dangerousResult.containerExplosion" type="checkbox"/> 12.容器爆炸
<input :disabled="(applyStatus-0) > 0" v-model="flareUp.dangerousResult.containerExplosion" type="checkbox"/> 12.容器爆炸
</el-col>
<el-col :span="5">
<input v-model="flareUp.dangerousResult.otherExplosion" type="checkbox"/> 13.其它爆炸
<input :disabled="(applyStatus-0) > 0" v-model="flareUp.dangerousResult.otherExplosion" type="checkbox"/> 13.其它爆炸
</el-col>
<el-col :span="5">
<input v-model="flareUp.dangerousResult.poisoning" type="checkbox"/> 14.中毒和窒息
<input :disabled="(applyStatus-0) > 0" v-model="flareUp.dangerousResult.poisoning" type="checkbox"/> 14.中毒和窒息
</el-col>
<el-col :span="4">
<input v-model="flareUp.dangerousResult.otherHurt" type="checkbox"/>15.其它伤害
<input :disabled="(applyStatus-0) > 0" v-model="flareUp.dangerousResult.otherHurt" type="checkbox"/>15.其它伤害
</el-col>
</el-row>
</td>
</tr>
<tr>
<td colspan="4">动火作业实施时间</td>
<td colspan="16">
<td colspan="16" v-if="(applyStatus-0) ==1">
<el-row>
<el-col :span="11">
<el-date-picker clearable size="small"
......@@ -190,6 +206,9 @@
</el-col>
</el-row>
</td>
<td colspan="16" v-if="(applyStatus-0) !=1">
{{ (flareUp.executeStartTime == null || flareUp.executeStartTime =='') ? "-" :flareUp.executeStartTime.split(" ")[0].split("-")[1]}}{{ (flareUp.executeStartTime == null || flareUp.executeStartTime =='') ? "-" :flareUp.executeStartTime.split(" ")[0].split("-")[1]}}{{(flareUp.executeStartTime == null || flareUp.executeStartTime =='') ? "-" :flareUp.executeStartTime.split(" ")[0].split("-")[2]}}{{(flareUp.executeStartTime == null || flareUp.executeStartTime =='') ? "-" :flareUp.executeStartTime.split(" ")[1].split(":")[0]}}{{(flareUp.executeStartTime == null || flareUp.executeStartTime =='') ? "-" :flareUp.executeStartTime.split(" ")[1].split(":")[1]}}分至{{ (flareUp.executeStartTime == null || flareUp.executeStartTime =='') ? "-" :flareUp.executeStartTime.split(" ")[0].split("-")[1]}}{{(flareUp.executeStartTime == null || flareUp.executeStartTime =='') ? "-" :flareUp.executeStartTime.split(" ")[0].split("-")[1]}}{{(flareUp.executeStartTime == null || flareUp.executeStartTime =='') ? "-" :flareUp.executeStartTime.split(" ")[0].split("-")[2]}}{{(flareUp.executeStartTime == null || flareUp.executeStartTime =='') ? "-" :flareUp.executeStartTime.split(" ")[1].split(":")[0]}}{{(flareUp.executeStartTime == null || flareUp.executeStartTime =='') ? "-" :flareUp.executeStartTime.split(" ")[1].split(":")[1]}}
</td>
</tr>
<tr>
<td colspan="2">序号</td>
......@@ -200,205 +219,141 @@
<tr>
<td colspan="2">1</td>
<td colspan="14">动火设备内部构件清洗干净,蒸汽吹扫或水洗、置换合格,达到动火条件;</td>
<td colspan="2"><input v-model="flareUp.deviceClean.involve" class="editInput"/></td>
<td colspan="2"><input v-model="flareUp.deviceClean.comfire" class="editInput"/></td>
<td colspan="2"><input :disabled="(applyStatus-0) > 0" v-model="flareUp.deviceClean.involve" class="editInput"/></td>
<td colspan="2"><input :disabled="(applyStatus-0) > 0" v-model="flareUp.deviceClean.comfire" class="editInput"/></td>
</tr>
<tr>
<td colspan="2">2</td>
<td colspan="14">与动火设备相连接的所有管线已断开,加盲板<input v-model="flareUp.blindPlate.block" class="editLine" style="width: 50px"/>块,未采取水封或仅关闭阀门的方式代替盲板;</td>
<td colspan="2"><input v-model="flareUp.blindPlate.involve" class="editInput"/></td>
<td colspan="2"><input v-model="flareUp.blindPlate.comfire" class="editInput"/></td>
<td colspan="14">与动火设备相连接的所有管线已断开,加盲板<input :disabled="(applyStatus-0) > 0" v-model="flareUp.blindPlate.block" class="editLine" style="width: 50px"/>块,未采取水封或仅关闭阀门的方式代替盲板;</td>
<td colspan="2"><input :disabled="(applyStatus-0) > 0" v-model="flareUp.blindPlate.involve" class="editInput"/></td>
<td colspan="2"><input :disabled="(applyStatus-0) > 0" v-model="flareUp.blindPlate.comfire" class="editInput"/></td>
</tr>
<tr>
<td colspan="2">3</td>
<td colspan="14">动火点周围及附近的孔洞、窨井、地沟、水封设施、污水井等已清除易燃物,并已采取覆盖、铺沙等手段进行隔离;</td>
<td colspan="2"><input v-model="flareUp.around.involve" class="editInput"/></td>
<td colspan="2"><input v-model="flareUp.around.comfire" class="editInput"/></td>
<td colspan="2"><input :disabled="(applyStatus-0) > 0" v-model="flareUp.around.involve" class="editInput"/></td>
<td colspan="2"><input :disabled="(applyStatus-0) > 0" v-model="flareUp.around.comfire" class="editInput"/></td>
</tr>
<tr>
<td colspan="2">4</td>
<td colspan="14">罐区内动火点同一防火提内和防火间距内的储罐未进行脱水和取样作业;</td>
<td colspan="2"><input v-model="flareUp.tankFarm.involve" class="editInput"/></td>
<td colspan="2"><input v-model="flareUp.tankFarm.comfire" class="editInput"/></td>
<td colspan="2"><input :disabled="(applyStatus-0) > 0" v-model="flareUp.tankFarm.involve" class="editInput"/></td>
<td colspan="2"><input :disabled="(applyStatus-0) > 0" v-model="flareUp.tankFarm.comfire" class="editInput"/></td>
</tr>
<tr>
<td colspan="2">5</td>
<td colspan="14">高处作业已采取防火花飞溅措施,作业人员佩戴必要的个体防护装备;</td>
<td colspan="2"><input v-model="flareUp.height.involve" class="editInput"/></td>
<td colspan="2"><input v-model="flareUp.height.comfire" class="editInput"/></td>
<td colspan="2"><input :disabled="(applyStatus-0) > 0" v-model="flareUp.height.involve" class="editInput"/></td>
<td colspan="2"><input :disabled="(applyStatus-0) > 0" v-model="flareUp.height.comfire" class="editInput"/></td>
</tr>
<tr>
<td colspan="2">6</td>
<td colspan="14">在有可燃物构件和使用可燃物做防腐内衬的设备内部动火作业,已采取防火隔绝措施;</td>
<td colspan="2"><input v-model="flareUp.firePrevention.involve" class="editInput"/></td>
<td colspan="2"><input v-model="flareUp.firePrevention.comfire" class="editInput"/></td>
<td colspan="2"><input :disabled="(applyStatus-0) > 0" v-model="flareUp.firePrevention.involve" class="editInput"/></td>
<td colspan="2"><input :disabled="(applyStatus-0) > 0" v-model="flareUp.firePrevention.comfire" class="editInput"/></td>
</tr>
<tr>
<td colspan="2">7</td>
<td colspan="14">乙炔气瓶直立放置,已采取防倾倒措施并安装防回火装置;乙炔气瓶、氧气瓶与火源间的距离不应小于10 m,两气瓶相互间距不应小于5 m;</td>
<td colspan="2"><input v-model="flareUp.gasCylinder.involve" class="editInput"/></td>
<td colspan="2"><input v-model="flareUp.gasCylinder.comfire" class="editInput"/></td>
<td colspan="2"><input :disabled="(applyStatus-0) > 0" v-model="flareUp.gasCylinder.involve" class="editInput"/></td>
<td colspan="2"><input :disabled="(applyStatus-0) > 0" v-model="flareUp.gasCylinder.comfire" class="editInput"/></td>
</tr>
<tr>
<td colspan="2">8</td>
<td colspan="14">现场配备灭火器<input v-model="flareUp.equipment.platform" class="editLine" style="width: 50px"/>台,灭火毯<input v-model="flareUp.equipment.block" class="editLine" style="width: 50px"/>块,消防蒸汽带或消防水带<input v-model="flareUp.equipment.metre" class="editLine" style="width: 50px"/></td>
<td colspan="2"><input v-model="flareUp.equipment.involve" class="editInput"/></td>
<td colspan="2"><input v-model="flareUp.equipment.comfire" class="editInput"/></td>
<td colspan="14">现场配备灭火器<input :disabled="(applyStatus-0) > 0" v-model="flareUp.equipment.platform" class="editLine" style="width: 50px"/>台,灭火毯<input :disabled="(applyStatus-0) > 0" v-model="flareUp.equipment.block" class="editLine" style="width: 50px"/>块,消防蒸汽带或消防水带<input :disabled="(applyStatus-0) > 0" v-model="flareUp.equipment.metre" class="editLine" style="width: 50px"/></td>
<td colspan="2"><input :disabled="(applyStatus-0) > 0" v-model="flareUp.equipment.involve" class="editInput"/></td>
<td colspan="2"><input :disabled="(applyStatus-0) > 0" v-model="flareUp.equipment.comfire" class="editInput"/></td>
</tr>
<tr>
<td colspan="2">9</td>
<td colspan="14">电焊机所处位置已考虑防火防爆要求,且已可靠接地;</td>
<td colspan="2"><input v-model="flareUp.electricWeldingMachine.involve" class="editInput"/></td>
<td colspan="2"><input v-model="flareUp.electricWeldingMachine.comfire" class="editInput"/></td>
<td colspan="2"><input :disabled="(applyStatus-0) > 0" v-model="flareUp.electricWeldingMachine.involve" class="editInput"/></td>
<td colspan="2"><input :disabled="(applyStatus-0) > 0" v-model="flareUp.electricWeldingMachine.comfire" class="editInput"/></td>
</tr>
<tr>
<td colspan="2">10</td>
<td colspan="14">动火点周围规定距离内没有易燃易爆化学品的装卸、排放、喷漆等可能引起火灾爆炸的危险作业;</td>
<td colspan="2"><input v-model="flareUp.danger.involve" class="editInput"/></td>
<td colspan="2"><input v-model="flareUp.danger.comfire" class="editInput"/></td>
<td colspan="2"><input :disabled="(applyStatus-0) > 0" v-model="flareUp.danger.involve" class="editInput"/></td>
<td colspan="2"><input :disabled="(applyStatus-0) > 0" v-model="flareUp.danger.comfire" class="editInput"/></td>
</tr>
<tr>
<td colspan="2">11</td>
<td colspan="14">动火点30 m内垂直空间未排放可燃气体;15 m内垂直空间未排放可燃液体;10m范围内及动火点下方未同时进行可燃溶剂清洗或喷漆等作业,10m范围内未见有可燃性粉尘清扫作业;</td>
<td colspan="2"><input v-model="flareUp.combustible.involve" class="editInput"/></td>
<td colspan="2"><input v-model="flareUp.combustible.comfire" class="editInput"/></td>
<td colspan="2"><input :disabled="(applyStatus-0) > 0" v-model="flareUp.combustible.involve" class="editInput"/></td>
<td colspan="2"><input :disabled="(applyStatus-0) > 0" v-model="flareUp.combustible.comfire" class="editInput"/></td>
</tr>
<tr>
<td colspan="2">12</td>
<td colspan="14">已开展作业危害分析,制定相应的安全风险管控措施,交叉作业已明确协调人;</td>
<td colspan="2"><input v-model="flareUp.overlappingWork.involve" class="editInput"/></td>
<td colspan="2"><input v-model="flareUp.overlappingWork.comfire" class="editInput"/></td>
<td colspan="2"><input :disabled="(applyStatus-0) > 0" v-model="flareUp.overlappingWork.involve" class="editInput"/></td>
<td colspan="2"><input :disabled="(applyStatus-0) > 0" v-model="flareUp.overlappingWork.comfire" class="editInput"/></td>
</tr>
<tr>
<td colspan="2">13</td>
<td colspan="14">用于连续检测的移动式可燃气体检测仪已配备到位;</td>
<td colspan="2"><input v-model="flareUp.moveDevice.involve" class="editInput"/></td>
<td colspan="2"><input v-model="flareUp.moveDevice.comfire" class="editInput"/></td>
<td colspan="2"><input :disabled="(applyStatus-0) > 0" v-model="flareUp.moveDevice.involve" class="editInput"/></td>
<td colspan="2"><input :disabled="(applyStatus-0) > 0" v-model="flareUp.moveDevice.comfire" class="editInput"/></td>
</tr>
<tr>
<td colspan="2">14</td>
<td colspan="14">配备的摄录设备已到位,且防爆级别满足安全要求;</td>
<td colspan="2"><input v-model="flareUp.videography.involve" class="editInput"/></td>
<td colspan="2"><input v-model="flareUp.videography.comfire" class="editInput"/></td>
<td colspan="2"><input :disabled="(applyStatus-0) > 0" v-model="flareUp.videography.involve" class="editInput"/></td>
<td colspan="2"><input :disabled="(applyStatus-0) > 0" v-model="flareUp.videography.comfire" class="editInput"/></td>
</tr>
<tr>
<td colspan="2">15</td>
<td colspan="14">其他相关特殊作业已办理相应安全作业票,作业现场四周已设立警戒区;</td>
<td colspan="2"><input v-model="flareUp.special.involve" class="editInput"/></td>
<td colspan="2"><input v-model="flareUp.special.comfire" class="editInput"/></td>
<td colspan="2"><input :disabled="(applyStatus-0) > 0" v-model="flareUp.special.involve" class="editInput"/></td>
<td colspan="2"><input :disabled="(applyStatus-0) > 0" v-model="flareUp.special.comfire" class="editInput"/></td>
</tr>
<tr>
<td colspan="2">16</td>
<td colspan="14" style="text-align: left">
<div>其他安全措施:<input v-model="flareUp.otherSafeMeasure.otherDetail" class="editInput" style="width: 81%"/></div>
<div style="float: right">编制人:<input v-model="flareUp.otherSafeMeasure.prepared" class="editInput" style="width: 70%"/> </div>
<div>其他安全措施:<input :disabled="(applyStatus-0) > 0" v-model="flareUp.otherSafeMeasure.otherDetail" class="editInput" style="width: 81%"/></div>
<div style="float: right">编制人:<input :disabled="(applyStatus-0) > 0" v-model="flareUp.otherSafeMeasure.prepared" class="editInput" style="width: 70%"/> </div>
</td>
<td colspan="2"><input v-model="flareUp.otherSafeMeasure.involve" class="editInput"/></td>
<td colspan="2"><input v-model="flareUp.otherSafeMeasure.comfire" class="editInput"/></td>
<td colspan="2"><input :disabled="(applyStatus-0) > 0" v-model="flareUp.otherSafeMeasure.involve" class="editInput"/></td>
<td colspan="2"><input :disabled="(applyStatus-0) > 0" v-model="flareUp.otherSafeMeasure.comfire" class="editInput"/></td>
</tr>
<tr>
<td colspan="4">安全交底人</td>
<td colspan="6"><input v-model="flareUp.discloser" class="editInput"/></td>
<td colspan="6"><input :disabled="(applyStatus-0) > 0" v-model="flareUp.discloser" class="editInput"/></td>
<td colspan="4">接受交底人</td>
<td colspan="6"><input v-model="flareUp.receiver" class="editInput"/></td>
<td colspan="6"><input :disabled="(applyStatus-0) > 0" v-model="flareUp.receiver" class="editInput"/></td>
</tr>
<tr>
<td colspan="4">监护人</td>
<td colspan="16"><input v-model="flareUp.guardian" class="editInput"/></td>
</tr>
<!--<tr>
<td colspan="4">作业负责人意见</td>
<td colspan="6"><input v-model="flareUp.workLeader.opinion" class="editInput"/></td>
<td colspan="2">签字:</td>
<td colspan="4"><input v-model="flareUp.workLeader.sign" class="editInput"/></td>
<td colspan="4">
<el-date-picker clearable size="small"
v-model="flareUp.workLeader.date"
type="datetime"
value-format="yyyy-MM-dd HH:mm:ss"
placeholder="选择时间"
style="width: 100%">
</el-date-picker>
</td>
</tr>
<tr>
<td colspan="4">所在单位意见</td>
<td colspan="6"><input v-model="flareUp.beyondUnit.opinion" class="editInput"/></td>
<td colspan="2">签字:</td>
<td colspan="4"><input v-model="flareUp.beyondUnit.sign" class="editInput"/></td>
<td colspan="4">
<el-date-picker clearable size="small"
v-model="flareUp.beyondUnit.date"
type="datetime"
value-format="yyyy-MM-dd HH:mm:ss"
placeholder="选择时间"
style="width: 100%">
</el-date-picker>
</td>
</tr>
<tr>
<td colspan="4">审核部门意见</td>
<td colspan="6"><input v-model="flareUp.auditDept.opinion" class="editInput"/></td>
<td colspan="2">签字:</td>
<td colspan="4"><input v-model="flareUp.auditDept.sign" class="editInput"/></td>
<td colspan="4">
<el-date-picker clearable size="small"
v-model="flareUp.auditDept.date"
type="datetime"
value-format="yyyy-MM-dd HH:mm:ss"
placeholder="选择时间"
style="width: 100%">
</el-date-picker>
</td>
</tr>
<tr>
<td colspan="4">动火审批人意见</td>
<td colspan="6"><input v-model="flareUp.approval.opinion" class="editInput"/></td>
<td colspan="16"><input :disabled="(applyStatus-0) > 0" v-model="flareUp.guardian" class="editInput"/></td>
</tr>
<tr v-for="item in specialWorkPermitSigns" v-if="(applyStatus-0) > 0">
<td colspan="4" v-if="item.staffType=='leader'">作业负责人意见</td>
<td colspan="4" v-if="item.staffType=='beyondUnit'">所在单位意见</td>
<td colspan="4" v-if="item.staffType=='auditDept'">审核部门意见</td>
<td colspan="4" v-if="item.staffType=='approval'">动火审批人意见</td>
<td colspan="4" v-if="item.staffType=='fireBefore'">动火前,岗位当班班长验票情况</td>
<td colspan="4" v-if="item.staffType=='complete'">完工验收</td>
<td colspan="6" v-if="(applyStatus-0) ==1"><input :disabled="item.staffId != $store.state.user.userId" v-model="item.opinion" class="editInput"/></td>
<td colspan="6" v-if="(applyStatus-0) !=1"><input disabled v-model="item.opinion" class="editInput"/></td>
<td colspan="2">签字:</td>
<td colspan="4"><input v-model="flareUp.approval.sign" class="editInput"/></td>
<td colspan="4">
<td colspan="4"><NewEsign :resultImg.sync ="item.signName" :isReWrite="(applyStatus-0) ==1" :width="918" :height="100"/></td>
<td colspan="4" v-if="(applyStatus-0) ==1">
<el-date-picker clearable size="small"
v-model="flareUp.approval.date"
v-model="item.signDate"
type="datetime"
:disabled="item.staffId != $store.state.user.userId"
value-format="yyyy-MM-dd HH:mm:ss"
placeholder="选择时间"
style="width: 100%">
</el-date-picker>
</td>
</tr>
<tr>
<td colspan="4">动火前,岗位当班班长验票情况</td>
<td colspan="6"><input v-model="flareUp.fireBefore.opinion" class="editInput"/></td>
<td colspan="2">签字:</td>
<td colspan="4"><input v-model="flareUp.fireBefore.sign" class="editInput"/></td>
<td colspan="4">
<el-date-picker clearable size="small"
v-model="flareUp.fireBefore.date"
type="datetime"
value-format="yyyy-MM-dd HH:mm:ss"
placeholder="选择时间"
style="width: 100%">
</el-date-picker>
<td colspan="4" v-if="(applyStatus-0) !=1">
{{ item.signDate == null ? "-" :item.signDate.split(" ")[0].split("-")[0]}}{{ item.signDate == null ? "-" :item.signDate.split(" ")[0].split("-")[1]}}{{item.signDate == null ? "-" :item.signDate.split(" ")[0].split("-")[2]}}{{item.signDate == null ? "-" :item.signDate.split(" ")[1].split(":")[0]}}{{item.signDate == null ? "-" :item.signDate.split(" ")[1].split(":")[1]}}
</td>
</tr>
<tr>
<td colspan="4">完工验收</td>
<td colspan="6"><input v-model="flareUp.complete.opinion" class="editInput"/></td>
<td colspan="2">签字:</td>
<td colspan="4"><input v-model="flareUp.complete.sign" class="editInput"/></td>
<td colspan="4">
<el-date-picker clearable size="small"
v-model="flareUp.complete.date"
type="datetime"
value-format="yyyy-MM-dd HH:mm:ss"
placeholder="选择时间"
style="width: 100%">
</el-date-picker>
</td>
</tr>-->
</table>
<!-- 审批人选择 -->
<div v-if="(applyStatus-0) == 0">
<el-row style="margin-top: 10px">
<el-col :span="4">
<div style="font-size: 18px;margin-top: 5px">作业负责人:</div>
......@@ -568,13 +523,25 @@
</el-row>
</div>
<!-- 审核按钮 -->
<div style="text-align: right;margin-top: 10px" v-if="applyStatus == '1'">
<el-button type="primary" @click="submitApproval">确定</el-button>
<el-button @click="cancelApproval">取消</el-button>
</div>
<div style="margin-top:10px;float: right" v-if="(applyStatus-0) > '1'"><el-button type="primary" v-print="'#flareUpPrint'">打印</el-button></div>
</div>
</template>
<script>
import { listDept } from "@/api/system/dept";
import { listUser } from "@/api/system/user";
import { addSpecialPermit } from "@/api/workPermit/specialPermit";
import { addSign } from "@/api/workPermit/workPermitSign";
import { addSpecialPermit, getSpecialWorkPermitByWorkPermitId } from "@/api/workPermit/specialPermit";
import { addSign, listSign, updateSign } from "@/api/workPermit/workPermitSign";
import { updatePermit } from "@/api/workPermit/permit";
import NewEsign from "@/components/SaftyWork/NewEsign";
export default {
name: "flare-up",
props:{
......@@ -583,8 +550,14 @@
},
licenceNum:{
type:String
},
applyStatus:{
type:String
}
},
components:{
NewEsign
},
data(){
return{
flareUp:{
......@@ -734,6 +707,10 @@
approvalAuditor:"",
fireBeforeAuditor:"",
completeAuditor:"",
specialWorkPermitSigns:[],
specialWorkPermitId:"",
sign:"",
signOpen:false
}
},
created(){
......@@ -816,7 +793,7 @@
//新增作业负责人
addSign({permitId:permitId,staffId:this.leaderAuditor,staffType:"leader"});
//新增单位意见
addSign({permitId:permitId,staffId:this.beyondUnitAuditor,"staffType":"beyondUnit"});
addSign({permitId:permitId,staffId:this.beyondUnitAuditor,staffType:"beyondUnit"});
//新增审核部门
addSign({permitId:permitId,staffId:this.auditDeptAuditor,staffType:"auditDept"});
//新增动火审批人
......@@ -826,6 +803,49 @@
//新增完工验收
addSign({permitId:permitId,staffId:this.completeAuditor,staffType:"complete"});
},
submitApproval(){
for(let key in this.specialWorkPermitSigns){
if(this.specialWorkPermitSigns[key].staffId == this.$store.state.user.userId
&& '' != this.specialWorkPermitSigns[key].signName
&& null != this.specialWorkPermitSigns[key].signName){
updateSign(this.specialWorkPermitSigns[key]).then(res =>{
this.updateWorkPermitStatus();
this.msgSuccess("审核成功");
})
}
}
},
//更新作业单状态
updateWorkPermitStatus(){
getSpecialWorkPermitByWorkPermitId({workPermitId:this.workPermitId}).then(res =>{
let specialWorkPermits = res.data.specialWorkPermits;
let flag = true;
for(let key in specialWorkPermits ){
listSign({ pageNum: 1,pageSize: 99999,permitId:specialWorkPermits[key].specialWorkPermitId}).then(res =>{
for(key in res.rows){
if(res.rows[key].signName == "" || null == res.rows[key].signName){
flag = false;
}
}
})
}
if(flag){
updatePermit({workPermitId:this.workPermitId,applyStatus:"2"}).then(res =>{
this.cancelApproval();
this.$parent.$parent.getList();
})
}
})
},
cancelApproval(){
this.$parent.$parent.cancelCertificateApproval();
},
signName(imageSrc){
this.sign = imageSrc;
this.signOpen = true;
},
}
}
......
<template>
<div>
<input class="editInput" placeholder="请签名" v-if="resultImg == '' || resultImg == null" @click="signOpen =true"/>
<el-dialog title="签名" :visible.sync="signOpen" :close-on-click-modal="false" :z-index="2000">
<div style="border: 1px solid #cccccc">
<vue-esign ref="esign" :width="width" :height="height" :isCrop="isCrop" :lineWidth="lineWidth" :lineColor="lineColor" :bgColor.sync="bgColor" />
<div style="text-align: right">
<button @click="handleReset" style="margin-right: 2px">清空</button>
<button @click="handleGenerate">确定</button>
</div>
</div>
</el-dialog>
<div>
<img v-if="resultImg" :src="resultImg" alt="" style="width: 100%;height: 100%" @click="reWriteSign"/>
</div>
</div>
</template>
<script>
import vueEsign from 'vue-esign'
export default {
name: "esign",
components:{
vueEsign
},
props:{
width:{
type:Number
},
height:{
type:Number
},
resultImg:{
type:String,
default:""
},
isReWrite:{
type:Boolean,
default:true
}
},
data () {
return {
lineWidth: 3,
lineColor: '#000000',
bgColor: '',
isCrop: false,
signOpen:false
}
},
methods: {
handleReset () {
this.$refs['esign'].reset() //清空画布
},
handleGenerate () {
this.$refs['esign'].generate().then(res => {
this.$emit('update:resultImg',res);
this.signOpen = false;
//this.resultImg = res // 得到了签字生成的base64图片
}).catch(err => { // 没有签名,点击生成图片时调用
this.$message({
message: err + ' 未签名!',
type: 'warning'
})
})
},
//重签
reWriteSign(){
if(this.isReWrite){
this.signOpen = true;
}
}
}
}
</script>
<style scoped scss="lang">
.editInput{
border: none;
width: 100%;
height: 100%;
text-align: center;
}
.editInput:focus{
outline: none;
}
</style>
......@@ -107,7 +107,7 @@
v-hasPermi="['system:permit:edit']"
>作业证申请</el-button>
<el-button
v-if="scope.row.operator=='approval'"
v-if="scope.row.applyStatus=='1' && -1 != scope.row.approvals.findIndex(item => item === $store.state.user.userId)"
size="mini"
type="text"
icon="el-icon-edit"
......@@ -115,15 +115,7 @@
v-hasPermi="['system:permit:edit']"
>作业证审核</el-button>
<el-button
v-if="scope.row.operator=='review'"
size="mini"
type="text"
icon="el-icon-edit"
@click="certificateApprovalApply(scope.row)"
v-hasPermi="['system:permit:edit']"
>作业证审批</el-button>
<el-button
v-if="scope.row.operator=='check'"
v-if="scope.row.applyStatus=='2' && scope.row.produceComfirm.monitorId === $store.state.user.userId"
size="mini"
type="text"
icon="el-icon-edit"
......@@ -131,29 +123,13 @@
v-hasPermi="['system:permit:edit']"
>事前检查</el-button>
<el-button
v-if="scope.row.operator=='working'"
size="mini"
type="text"
icon="el-icon-edit"
@click="certificateWorking(scope.row)"
v-hasPermi="['system:permit:edit']"
>作业中</el-button>
<el-button
v-if="scope.row.operator=='close'"
v-if="scope.row.applyStatus=='3' && scope.row.linkMan == $store.state.user.userId"
size="mini"
type="text"
icon="el-icon-edit"
@click="closeCertificate(scope.row)"
v-hasPermi="['system:permit:edit']"
>关闭作业单</el-button>
<el-button
v-if="scope.row.applyStatus=='7'"
size="mini"
type="text"
icon="el-icon-edit"
@click="dangerousAppraise(scope.row)"
v-hasPermi="['system:permit:edit']"
>风险评价</el-button>
</template>
</el-table-column>
</el-table>
......@@ -167,7 +143,7 @@
/>
<!-- 添加或修改作业许可证对话框 -->
<el-dialog :title="title" :rules="rules" :visible.sync="open" width="880px" append-to-body>
<el-dialog :title="title" :rules="rules" :visible.sync="open" width="900px" append-to-body @close="cancel">
<table>
<tr>
<td rowspan="4" colspan="2">作业许可申请人</td>
......@@ -254,9 +230,50 @@
<div><input type="checkbox" v-model="licenceInfo.ray.isChecked"/>8射线探伤许可证 [<input class="editInput" v-model="licenceInfo.ray.num" style="width: 250px" placeholder="填写编号"/>]</div>
</td>
</tr>
<tr>
<td colspan="2">相关方填写</td>
<td colspan="4">
<div style="text-align: left">
承包商:
<textarea v-model="relationSign.contractor" style="height: 96px"></textarea>
</div>
</td>
<td colspan="4">
<div style="text-align: left">
负责人:
<textarea v-model="relationSign.personCharge" style="height: 96px"></textarea>
</div>
</td>
</tr>
</table>
<el-row style="margin-top: 10px">
<el-col :span="5">
<div style="font-size: 18px;margin-top: 5px">生产组当班班长:</div>
</el-col>
<el-col :span="8">
<el-select v-model="produceComfirm.leaderDeptId" filterable placeholder="请选择生产组当班班长部门" @change="switchDept()">
<el-option
v-for="item in deptList"
:key="item.deptId"
:label="item.deptName"
:value="item.deptId"
>
</el-option>
</el-select>
</el-col>
<el-col :span="11">
<el-select v-model="produceComfirm.monitorId" filterable placeholder="请选择生产组当班班长">
<el-option
v-for="item in userList"
:key="item.userId"
:label="item.nickName"
:value="item.userId"
>
</el-option>
</el-select>
</el-col>
</el-row>
<div slot="footer" class="dialog-footer">
<el-button type="primary" @click="addCertificate"> </el-button>
<el-button @click="cancel"> </el-button>
......@@ -275,7 +292,8 @@
<FlareUp v-if="item.mark == 'flareUp'"
:ref="item.mark"
:workPermitId = "item.workPermitId"
:licenceNum = "item.licenceNum"/>
:licenceNum = "item.licenceNum"
applyStatus = "0"/>
</div>
</div>
......@@ -285,18 +303,160 @@
</div>
</el-dialog>
<!-- 作业单审核 -->
<el-dialog title="作业单审核" :visible.sync="certificateApprovalOpen" append-to-body :close-on-click-modal="false">
<div class="tags_box">
<div v-for="item in specialWorkPermits" class="tags">
<div :class="{isActive:item.specialWorkType==approvalActive}" @click="handelToogel(item.specialWorkType)">{{ getTagName(item.specialWorkType) }}</div>
</div>
</div>
<div class="con_box">
<div v-for="item in specialWorkPermits" v-if="approvalActive == item.specialWorkType">
<FlareUp v-if="item.specialWorkType == 'flareUp'"
:ref="item.specialWorkType"
:workPermitId = "item.workPermitId"
:licenceNum = "item.licenceNum"
applyStatus="1"/>
</div>
</div>
</el-dialog>
<!-- 事前检查 -->
<el-dialog title="事前检查" :visible.sync="checkOpen" width="900px" append-to-body @close="checkCancel">
<table>
<tr>
<td rowspan="4" colspan="2">作业许可申请人</td>
<td colspan="2">申请部门/单位</td>
<td colspan="2"><input disabled v-model="certificateData.applyDept" class="editInput"/></td>
<td colspan="2">申请人及联系方式</td>
<td colspan="2"><input v-model="certificateData.linkMan" disabled class="editInput" style="width: 47%"/>|<input disabled v-model="certificateData.linkPhone" class="editInput" style="width: 50%"/></td>
</tr>
<tr>
<td colspan="2">作业区域范围</td>
<td colspan="2"><input disabled v-model="certificateData.workBound" class="editInput"/></td>
<td colspan="2">设备名称及编号</td>
<td colspan="2"><input disabled v-model="certificateData.deviceName" class="editInput" style="width: 47%"/>|<input disabled v-model="certificateData.deviceNum" class="editInput" style="width: 50%"/></td>
</tr>
<tr>
<td colspan="2">申请作业时间</td>
<td colspan="6">
{{ certificateData.applyWorkStartTime == null ? "-" :certificateData.applyWorkStartTime.split(" ")[0].split("-")[1]}}{{certificateData.applyWorkStartTime == null ? "-" :certificateData.applyWorkStartTime.split(" ")[0].split("-")[2]}}{{certificateData.applyWorkStartTime == null ? "-" :certificateData.applyWorkStartTime.split(" ")[1].split(":")[0]}}{{certificateData.applyWorkStartTime == null ? "-" :certificateData.applyWorkStartTime.split(" ")[1].split(":")[1]}}分至{{certificateData.applyWorkEndTime == null ? "-" :certificateData.applyWorkEndTime.split(" ")[0].split("-")[1]}}{{certificateData.applyWorkEndTime == null ? "-" :certificateData.applyWorkEndTime.split(" ")[0].split("-")[2]}}{{certificateData.applyWorkEndTime == null ? "-" :certificateData.applyWorkEndTime.split(" ")[1].split(":")[0]}}{{certificateData.applyWorkEndTime == null ? "-" :certificateData.applyWorkEndTime.split(" ")[1].split(":")[1]}}
</td>
</tr>
<tr>
<td colspan="2">作业内容</td>
<td colspan="6"><input disabled v-model="certificateData.workContent" class="editInput"/></td>
</tr>
<tr>
<td colspan="2">所有相关方讨论</td>
<td>工作安全分析</td>
<td style="writing-mode: vertical-rl;">危害识别</td>
<td colspan="6" style="text-align: left">
<div><input type="checkbox" disabled v-model="mainDangerousMark.burn">灼伤(低温/高温/化学品灼伤,电弧烧伤,火灾,易燃气/液体,蒸汽,电焊、动火、射线等)</div>
<div><input type="checkbox" disabled v-model="mainDangerousMark.electricShock">电击(触电,电压,不适当的接地,电气热作业,地下/暗线等)。</div>
<div><input type="checkbox" disabled v-model="mainDangerousMark.objectStrike">物体打击(爆炸,压力,能量释放,移动/坠落的物体,不正确的存放,设备)</div>
<div><input type="checkbox" disabled v-model="mainDangerousMark.stifle">窒息/中毒(惰性气体,有毒气体,易挥发的液体溶剂等)</div>
<div><input type="checkbox" disabled v-model="mainDangerousMark.drop">坠落(高处作业,没有防护的开口,没有固定的梯子,脚手架搭设,无防护的平台等)</div>
<div><input type="checkbox" disabled v-model="mainDangerousMark.vehicleInjury">车辆伤害(速度过快,疲劳驾驶,车辆故障,缺乏防御性驾驶,能见度差,不寻常的路状,分心等)</div>
<div><input type="checkbox" disabled v-model="mainDangerousMark.other">其它危害。</div>
<div>注:如存在以上任一情况,请填写安全措施。</div>
</td>
</tr>
<tr>
<td rowspan="4" colspan="2">批准人填写</td>
<td rowspan="4" colspan="2">许可证</td>
<td colspan="6" style="text-align: left">是否需要进一步的JSA: <input disabled type="checkbox" v-model="licenceInfo.jsa.yes"/><input type="checkbox" disabled v-model="licenceInfo.jsa.no"/> JSA[<input class="editInput" disabled v-model="licenceInfo.jsa.num" style="width: 250px" placeholder="填写JSA编号"/>]</td>
</tr>
<tr>
<td colspan="6" style="text-align: left"><input disabled type="checkbox" v-model="licenceInfo.specialLicence"/>0无需特殊工作许可</td>
</tr>
<tr>
<td colspan="6" style="text-align: left">
<div><input type="checkbox" disabled v-model="licenceInfo.lockListing.isChecked"/>1-1锁定挂牌记录表 [<input class="editInput" disabled v-model="licenceInfo.lockListing.num" style="width: 250px" placeholder="填写编号"/>]</div>
<div><input type="checkbox" disabled v-model="licenceInfo.blindPlate.isChecked"/>1-2盲板抽堵作业许可 [<input class="editInput" disabled v-model="licenceInfo.blindPlate.num" style="width: 250px" placeholder="填写编号"/>]</div>
</td>
</tr>
<tr>
<td colspan="6" style="text-align: left;">
<div><input type="checkbox" disabled v-model="licenceInfo.flareUp.isChecked"/>2动火作业许可证 [<input class="editInput" disabled v-model="licenceInfo.flareUp.num" style="width: 250px" placeholder="填写编号"/>]</div>
<div><input type="checkbox" disabled v-model="licenceInfo.heightWork.isChecked"/>3高处作业许可证 [<input class="editInput" disabled v-model="licenceInfo.heightWork.num" style="width: 250px" placeholder="填写编号"/>]</div>
<div><input type="checkbox" disabled v-model="licenceInfo.breakGround.isChecked"/>4动土作业许可证 [<input class="editInput" disabled v-model="licenceInfo.breakGround.num" style="width: 250px" placeholder="填写编号"/>]</div>
<div><input type="checkbox" disabled v-model="licenceInfo.hoisting.isChecked"/>5吊装作业许可证 [<input class="editInput" disabled v-model="licenceInfo.hoisting.num" style="width: 250px" placeholder="填写编号"/>]</div>
<div><input type="checkbox" disabled v-model="licenceInfo.limitSpace.isChecked"/>6受限空间作业许可证 [<input class="editInput" disabled v-model="licenceInfo.limitSpace.num" style="width: 250px" placeholder="填写编号"/>]</div>
<div><input type="checkbox" disabled v-model="licenceInfo.electricityUse.isChecked"/>7临时用电许可证 [<input class="editInput" disabled v-model="licenceInfo.electricityUse.num" style="width: 250px" placeholder="填写编号"/>]</div>
<div><input type="checkbox" disabled v-model="licenceInfo.ray.isChecked"/>8射线探伤许可证 [<input class="editInput" disabled v-model="licenceInfo.ray.num" style="width: 250px" placeholder="填写编号"/>]</div>
</td>
</tr>
<tr>
<td colspan="2">相关方填写</td>
<td colspan="4">
<div style="text-align: left">
承包商:
<textarea disabled v-model="relationSign.contractor" style="height: 96px"></textarea>
</div>
</td>
<td colspan="4">
<div style="text-align: left">
负责人:
<textarea disabled v-model="relationSign.personCharge" style="height: 96px"></textarea>
</div>
</td>
</tr>
<tr>
<td colspan="2">生产班组确认</td>
<td colspan="8">
<el-row>
<el-col :span="8" style="text-align: left">本人已知晓此工作许可证的内容</el-col>
<el-col :span="8" style="text-align: right">确认签字(当班班长):</el-col>
<el-col :span="8"><NewEsign :resultImg.sync ="produceComfirm.monitorName" :width="918" :height="100"/></el-col>
</el-row>
<el-row>
<el-col :span="24" style="text-align: right">日期/时间:<input style="width: 228px" v-model="produceComfirm.date" class="editInput"/></el-col>
</el-row>
</td>
</tr>
</table>
<div slot="footer" class="dialog-footer">
<el-button type="primary" @click="checkSubmit"> </el-button>
<el-button @click="checkCancel"> </el-button>
</div>
</el-dialog>
<!-- 作业单关闭 -->
<el-dialog title="作业单关闭" :visible.sync="certificateCompleteOpen" width="900px" append-to-body @close="completeCancel">
<div>关闭意见:</div>
<Editor v-model="workDeal.suggestion" :min-height="192" />
<div slot="footer" class="dialog-footer">
<el-button type="primary" @click="completeSubmit"> </el-button>
<el-button @click="completeCancel"> </el-button>
</div>
</el-dialog>
<NewWorkPermitDetail :certificateDetailOpen.sync="certificateDetailOpen"
:certificateData="certificateDataDetail"/>
</div>
</template>
<script>
import { listPermit, getPermit, delPermit, addPermit, updatePermit, exportPermit } from "@/api/workPermit/permit";
import { getAllUserName } from "@/api/system/user";
import { listPermit, selectTWorkPermitListByLoginUser, getPermit, delPermit, addPermit, updatePermit, exportPermit } from "@/api/workPermit/permit";
import { getSpecialWorkPermitByWorkPermitId } from "@/api/workPermit/specialPermit";
import { listUser,getAllUserName } from "@/api/system/user";
import { listAll } from "@/api/contractor/contractorInfo";
import FlareUp from "@/components/NewSaftyWork/FlareUp";
import { listSign } from "@/api/workPermit/workPermitSign";
import { listDept } from "@/api/system/dept";
import NewEsign from "@/components/SaftyWork/NewEsign";
import Editor from '@/components/Editor';
import NewWorkPermitDetail from '@/components/DangerousMark/NewWorkPermitDetail';
export default {
name: "index",
components:{
FlareUp
FlareUp,
NewEsign,
Editor,
NewWorkPermitDetail
},
data() {
return {
......@@ -434,24 +594,49 @@
status: "0"
}
},
relationSign:{
contractor:"",
personCharge:""
},
produceComfirm:{
leaderDeptId:"",
monitorId:"",
monitorName:"",
date:""
},
workDeal:{
suggestion:""
},
leaderDeptId:"",
tags:[],
active:"",
certificateApprovalApplyOpen : false
certificateApprovalApplyOpen : false,
certificateApprovalOpen:false,
specialWorkPermits:[],
approvalActive:"",
deptList:[],
userList:[],
checkOpen:false,
certificateCompleteOpen:false,
workPermitId:"",
certificateDetailOpen:false,
certificateDataDetail:{}
};
},
created() {
this.getList();
this.getAllContractorInfo();
this.getDicts("certificateStatus").then(response => {
this.getDicts("t_new_permitWork_status").then(response => {
this.certificateStatus = response.data;
});
this.getApproval();
this.getDeptList();
},
methods: {
/** 查询作业许可证列表 */
getList() {
this.loading = true;
listPermit(this.queryParams).then(response => {
selectTWorkPermitListByLoginUser(this.queryParams).then(response => {
this.permitList = response.rows;
this.total = response.total;
this.loading = false;
......@@ -464,31 +649,78 @@
},
// 表单重置
reset() {
this.form = {
workPermitId: null,
applyDept: null,
linkMan: null,
linkPhone: null,
workBound: null,
deviceName: null,
deviceNum: null,
applyWorkStartTime: null,
applyWorkEndTime: null,
workContent: null,
contractor: null,
ratifier: null,
mainDangerousMark: null,
dangerousMarkDetial: null,
licenceInfo: null,
relationSign: null,
produceComfirm: null,
workDeal: null,
applyStatus: "0",
createTime: null,
updateTime: null,
remarks: null
this.certificateData = {};
this.mainDangerousMark = {
burn : false,
electricShock : false,
objectStrike : false,
stifle : false,
drop : false,
vehicleInjury : false,
other : false
};
this.resetForm("form");
this.licenceInfo = {
lockListing: {
num: "",
isChecked: false
},
blindPlate: {
num: "",
isChecked: false,
status: "0"
},
breakGround: {
num: "",
isChecked: false,
status: "0"
},
limitSpace: {
num: "",
isChecked: false,
status: "0"
},
jsa: {
no: false,
yes: false,
num: ""
},
specialLicence: false,
flareUp: {
num: "",
isChecked: false,
status: "0"
},
hoisting: {
num: "",
isChecked: false,
status: "0"
},
ray: {
num: "",
isChecked: false,
status: "0"
},
electricityUse: {
num: "",
isChecked: false,
status: "0"
},
heightWork: {
num: "",
isChecked: false,
status: "0"
}
};
this.relationSign = {
contractor:"",
personCharge:""
};
this.produceComfirm = {
leaderDeptId:"",
monitorId:"",
monitorName:"",
date:""
}
},
/** 搜索按钮操作 */
handleQuery() {
......@@ -523,6 +755,8 @@
this.certificateData.linkManName = this.applyNameFormate(this.certificateData);
this.mainDangerousMark = JSON.parse(this.certificateData.mainDangerousMark);
this.licenceInfo = JSON.parse(this.certificateData.licenceInfo);
this.relationSign = JSON.parse(this.certificateData.relationSign);
this.produceComfirm = JSON.parse(this.certificateData.produceComfirm);
this.open = true;
this.title = "修改作业许可证";
});
......@@ -531,6 +765,8 @@
addCertificate() {
this.certificateData.mainDangerousMark = JSON.stringify(this.mainDangerousMark);
this.certificateData.licenceInfo = JSON.stringify(this.licenceInfo);
this.certificateData.relationSign = JSON.stringify(this.relationSign);
this.certificateData.produceComfirm = JSON.stringify(this.produceComfirm);
if(this.certificateData.workPermitId != null){
updatePermit(this.certificateData).then(response => {
this.msgSuccess("修改成功");
......@@ -656,11 +892,100 @@
});
//更新作业单状态
if(flag){
updatePermit({workPermitId:this.tags[0].workPermitId,applyStatus:"2"});
updatePermit({workPermitId:this.tags[0].workPermitId,applyStatus:"1"});
this.certificateApprovalApplyOpen = false;
this.getList();
}
},
//作业单审核
certificateApproval(row){
this.certificateApprovalOpen = true;
getSpecialWorkPermitByWorkPermitId({workPermitId:row.workPermitId}).then(res =>{
//this.specialWorkPermits = res.data.specialWorkPermits;
let specialWorkPermits = res.data.specialWorkPermits;
this.$nextTick(() => {
for(let key in specialWorkPermits ){
listSign({ pageNum: 1,pageSize: 99999,permitId:specialWorkPermits[key].specialWorkPermitId}).then(res =>{
if(-1 != res.rows.findIndex(item => item.staffId === $store.state.user.userId)){
this.specialWorkPermits.push(specialWorkPermits[key]);
this.$refs[specialWorkPermits[key].specialWorkType][0][specialWorkPermits[key].specialWorkType] = JSON.parse(specialWorkPermits[key].specialWorkData);
this.$refs[specialWorkPermits[key].specialWorkType][0].specialWorkPermitId = specialWorkPermits[key].specialWorkPermitId;
this.$refs[specialWorkPermits[key].specialWorkType][0].specialWorkPermitSigns = res.rows;
}
})
}
})
this.approvalActive = this.specialWorkPermits[0].specialWorkType;
})
},
cancelCertificateApproval(){
this.certificateApprovalOpen = false;
},
//作业前检查
certificateCheck(row){
this.checkOpen=true;
this.workPermitTitle = "事前检查";
const workPermitId = row.workPermitId;
getPermit(workPermitId).then(response => {
this.certificateData = response.data;
this.certificateData.linkMan = this.applyNameFormate( this.certificateData);
this.mainDangerousMark = JSON.parse(this.certificateData.mainDangerousMark);
this.licenceInfo = JSON.parse(this.certificateData.licenceInfo);
this.relationSign = JSON.parse(this.certificateData.relationSign);
})
},
/** 查询部门列表 */
getDeptList() {
listDept().then(response => {
this.deptList = response.data;
});
},
//部门切换
switchDept(){
this.produceComfirm.monitorId = "";
listUser({ pageNum: 1,pageSize: 99999,deptId:this.produceComfirm.leaderDeptId}).then(response => {
this.userList = response.rows;
});
},
checkCancel(){
this.checkOpen=false;
this.reset();
},
checkSubmit(){
if(this.produceComfirm.monitorName == null || this.produceComfirm.monitorName == ''){
this.msgError("请签名!");
return;
}
let produceComfirm = JSON.stringify(this.produceComfirm);
updatePermit({workPermitId:this.certificateData.workPermitId,produceComfirm:produceComfirm,applyStatus:"3"}).then(response => {
this.msgSuccess("签名成功");
this.checkOpen = false;
this.getList();
});
},
//关闭作业单
closeCertificate(row){
this.workPermitId = row.workPermitId;
this.certificateCompleteOpen = true;
},
completeSubmit(){
updatePermit({workPermitId:this.workPermitId,workDeal:JSON.stringify(this.workDeal),applyStatus:"4"}).then(response => {
this.msgSuccess("作业单关闭!");
this.certificateCompleteOpen = false;
this.getList();
});
},
completeCancel(){
this.certificateCompleteOpen = false;
},
certificateDetail(row){
const workPermitId = row.workPermitId;
getPermit(workPermitId).then(res => {
this.certificateDataDetail = res.data;
this.certificateDataDetail.linkMan = this.applyNameFormate(this.certificateDataDetail);
this.certificateDetailOpen = true;
})
}
}
}
</script>
......
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