<template>
  <el-dialog title="作业单" :visible.sync="certificateDetailOpen" width="950px" :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"/>
        <BlindPlate v-if="item.specialWorkType == 'blindPlate'"
                 :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 BlindPlate from "@/components/NewSaftyWork/BlindPlate";
  import { getSpecialWorkPermitByWorkPermitId } from "@/api/workPermit/specialPermit";
  import { listSign } from "@/api/workPermit/workPermitSign";
    export default {
      components: {
        NewEsign,
        FlareUp,
        BlindPlate
      },
      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();
          this.active = "workPermit";
        }
      },
      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>