<template>
  <el-dialog :title="workPermitTitle" :visible.sync="permitOpen" append-to-body :before-close="permitClose" :close-on-click-modal="false">
    <div class="permit">
      <table>
        <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 v-if="certificateData.applyStatus - 0 >= 0">
          <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="(certificateData.applyStatus - 0) > 0" v-model="mainDangerousMark.burn">灼伤(低温/高温/化学品灼伤,电弧烧伤,火灾,易燃气/液体,蒸汽,电焊、动火、射线等)</div>
            <div><input type="checkbox" :disabled="(certificateData.applyStatus - 0) > 0" v-model="mainDangerousMark.electricShock">电击(触电,电压,不适当的接地,电气热作业,地下/暗线等)。</div>
            <div><input type="checkbox" :disabled="(certificateData.applyStatus - 0) > 0" v-model="mainDangerousMark.objectStrike">物体打击(爆炸,压力,能量释放,移动/坠落的物体,不正确的存放,设备)</div>
            <div><input type="checkbox" :disabled="(certificateData.applyStatus - 0) > 0" v-model="mainDangerousMark.stifle">窒息/中毒(惰性气体,有毒气体,易挥发的液体溶剂等)</div>
            <div><input type="checkbox" :disabled="(certificateData.applyStatus - 0) > 0" v-model="mainDangerousMark.drop">坠落(高处作业,没有防护的开口,没有固定的梯子,脚手架搭设,无防护的平台等)</div>
            <div><input type="checkbox" :disabled="(certificateData.applyStatus - 0) > 0" v-model="mainDangerousMark.vehicleInjury">车辆伤害(速度过快,疲劳驾驶,车辆故障,缺乏防御性驾驶,能见度差,不寻常的路状,分心等)</div>
            <div><input type="checkbox" :disabled="(certificateData.applyStatus - 0) > 0" v-model="mainDangerousMark.other">其它危害。</div>
            <div>注:如存在以上任一情况,<a style="color: #0072c6;text-decoration:underline" @click="dangerousFlag=true">请填写安全措施</a>。</div>
          </td>
        </tr>
        <tr v-if="certificateData.applyStatus - 0 >= 1">
          <td rowspan="4" colspan="2">批准人填写</td>
          <td rowspan="4" colspan="2">许可证</td>
          <td colspan="6" style="text-align: left">是否需要进一步的JSA: <input type="checkbox" :disabled="(certificateData.applyStatus - 0) > 1" v-model="certificate.jsa.yes"/>否<input type="checkbox" :disabled="(certificateData.applyStatus - 0) > 1" v-model="certificate.jsa.no"/>是  JSA[<input class="editInput" :disabled="(certificateData.applyStatus - 0) > 1" v-model="certificate.jsa.num" style="width: 250px" placeholder="填写JSA编号"/>]</td>
        </tr>
        <tr v-if="certificateData.applyStatus - 0 >= 1">
          <td colspan="6" style="text-align: left"><input type="checkbox" :disabled="(certificateData.applyStatus - 0) > 1" v-model="certificate.specialLicence"/>0无需特殊工作许可</td>
        </tr>
        <tr v-if="certificateData.applyStatus - 0 >= 1">
          <td colspan="6" style="text-align: left">
            <div><input type="checkbox" :disabled="(certificateData.applyStatus - 0) > 1" v-model="certificate.lockListing.isChecked"/>1-1锁定挂牌记录表 [<input class="editInput" :disabled="(certificateData.applyStatus - 0) > 1" v-model="certificate.lockListing.num" style="width: 250px" placeholder="填写编号"/>]</div>
            <div><input type="checkbox" :disabled="(certificateData.applyStatus - 0) > 1" v-model="certificate.blindPlate.isChecked"/>1-2盲板抽堵作业许可 [<input class="editInput" :disabled="(certificateData.applyStatus - 0) > 1" v-model="certificate.blindPlate.num" style="width: 250px" placeholder="填写编号"/>]</div>
          </td>
        </tr>
        <tr v-if="certificateData.applyStatus - 0 >= 1">
          <td colspan="6" style="text-align: left;">
            <div><input type="checkbox" :disabled="(certificateData.applyStatus - 0) > 1" v-model="certificate.flareUp.isChecked"/>2动火作业许可证 [<input class="editInput" :disabled="(certificateData.applyStatus - 0) > 1" v-model="certificate.flareUp.num" style="width: 250px" placeholder="填写编号"/>]</div>
            <div><input type="checkbox" :disabled="(certificateData.applyStatus - 0) > 1" v-model="certificate.heightWork.isChecked"/>3高处作业许可证 [<input class="editInput" :disabled="(certificateData.applyStatus - 0) > 1" v-model="certificate.heightWork.num" style="width: 250px" placeholder="填写编号"/>]</div>
            <div><input type="checkbox" :disabled="(certificateData.applyStatus - 0) > 1" v-model="certificate.breakGround.isChecked"/>4动土作业许可证 [<input class="editInput" :disabled="(certificateData.applyStatus - 0) > 1" v-model="certificate.breakGround.num" style="width: 250px" placeholder="填写编号"/>]</div>
            <div><input type="checkbox" :disabled="(certificateData.applyStatus - 0) > 1" v-model="certificate.hoisting.isChecked"/>5吊装作业许可证 [<input class="editInput" :disabled="(certificateData.applyStatus - 0) > 1" v-model="certificate.hoisting.num" style="width: 250px" placeholder="填写编号"/>]</div>
            <div><input type="checkbox" :disabled="(certificateData.applyStatus - 0) > 1" v-model="certificate.limitSpace.isChecked"/>6受限空间作业许可证 [<input class="editInput" :disabled="(certificateData.applyStatus - 0) > 1" v-model="certificate.limitSpace.num" style="width: 250px" placeholder="填写编号"/>]</div>
            <div><input type="checkbox" :disabled="(certificateData.applyStatus - 0) > 1" v-model="certificate.electricityUse.isChecked"/>7临时用电许可证 [<input class="editInput" :disabled="(certificateData.applyStatus - 0) > 1" v-model="certificate.electricityUse.num" style="width: 250px" placeholder="填写编号"/>]</div>
            <div><input type="checkbox" :disabled="(certificateData.applyStatus - 0) > 1" v-model="certificate.ray.isChecked"/>8射线探伤许可证 [<input class="editInput" :disabled="(certificateData.applyStatus - 0) > 1" v-model="certificate.ray.num" style="width: 250px" placeholder="填写编号"/>]</div>
          </td>
        </tr>

        <tr v-if="certificateData.applyStatus - 0 >= 4">
          <td colspan="2">相关方填写</td>
          <td colspan="8" style="text-align: left">
            <div>本人已知晓本工作中的危害、控制措施和安全要求</div>
            <div>
              作业执行人员签字:
              <Esign :resultImg.sync="relationSign.executor"  :height="120" :width="710"/>
            </div>
            <el-row>
              <el-col :span="12">
                <div>
                  承包商负责人签字:
                  <Esign :resultImg.sync="relationSign.contractor[0].sign"  :height="60" :width="340"/>
                  负责的承包商人数:<input :disabled="(certificateData.applyStatus - 0) > 4" v-model="relationSign.contractor[0].peoples" class="editInput" style="text-align: left;width: 30%"/>
                </div>
              </el-col>
              <el-col :span="12">
                <div>承包商负责人签字:
                  <Esign :resultImg.sync="relationSign.contractor[1].sign"  :height="60" :width="340"/>
                  负责的承包商人数:<input :disabled="(certificateData.applyStatus - 0) > 4" v-model="relationSign.contractor[1].peoples" class="editInput" style="text-align: left;width: 30%"/></div>
              </el-col>
            </el-row>
          </td>
        </tr>

        <tr v-if="certificateData.applyStatus - 0 >= 4">
          <td colspan="2">生产班组确认</td>
          <td colspan="8" style="text-align: left">
            <div>本人已知晓此工作许可证的内容</div>
            <div>
              确认签字(当班班长):
              <Esign :resultImg.sync="produceComfirm.monitor"  :height="60" :width="710"/>
              日期/时间:<input :disabled="(certificateData.applyStatus - 0) > 4" v-model="produceComfirm.date" class="editInput" style="text-align: left;width: 30%"/>
            </div>
          </td>
        </tr>

        <tr v-if="certificateData.applyStatus - 0 >= 5">
          <td rowspan="3" colspan="2">批准/移交/关闭</td>
          <td colspan="2">工作批准</td>
          <td colspan="2" style="text-align: left">
            <div>本人已知晓本工作内容及安全要求,并承诺实施</div>
            <div>
              工作负责人签字:
              <Esign v-if="-1 != certificateData.signPerson.findIndex(item => item === 'contractor') && (certificateData.applyStatus - 0) >= 5" :resultImg.sync="workDeal.workCheck.leaderInfo.leader"  :height="80" :width="170"/>
              <textarea  v-if="-1 == certificateData.signPerson.findIndex(item => item === 'contractor') && (certificateData.applyStatus - 0) == 5" disabled style="height: 96px"></textarea>
            </div>
            <div>
              日期和时间:<input :disabled="-1 == certificateData.signPerson.findIndex(item => item === 'contractor') || (certificateData.applyStatus - 0) != 5" v-model="workDeal.workCheck.leaderInfo.date" class="editInput" style="width:93px;">
            </div>
          </td>
          <td colspan="2" style="text-align: left">
            <div>
              交叉/关联作业
              <input :disabled="-1 == certificateData.signPerson.findIndex(item => item === 'contractor') || (certificateData.applyStatus - 0) != 5" v-model="workDeal.workCheck.relationInfo.yes" type="checkbox"/>否
              <input :disabled="-1 == certificateData.signPerson.findIndex(item => item === 'contractor') || (certificateData.applyStatus - 0) != 5" v-model="workDeal.workCheck.relationInfo.no" type="checkbox"/>
              是,本人已经知晓此许可证的内容
            </div>
            <div>
              关联人签字:
              <Esign v-if ="-1 != certificateData.signPerson.findIndex(item => item === 'contractor') && (certificateData.applyStatus - 0) >= 5" :resultImg.sync="workDeal.workCheck.relationInfo.relationLeader"  :height="60" :width="170"/>
              <textarea  v-if ="-1 == certificateData.signPerson.findIndex(item => item === 'contractor') && (certificateData.applyStatus - 0) == 5" disabled style="height: 85px"></textarea>
            </div>
            <div>
              日期和时间:<input :disabled="-1 == certificateData.signPerson.findIndex(item => item === 'contractor') || (certificateData.applyStatus - 0) != 5" v-model="workDeal.workCheck.relationInfo.date" class="editInput" style="width:93px;">
            </div>
          </td>
          <td colspan="2" style="text-align: left">
            <div>本人已到工作地点进行安全措施核实确认</div>
            <div>
              批准人签字:
              <Esign v-if ="-1 != certificateData.signPerson.findIndex(item => item === 'ratifier') && (certificateData.applyStatus - 0) >= 5" :resultImg.sync="workDeal.workCheck.approvedInfo.approve"  :height="80" :width="170"/>
              <textarea v-if ="-1 == certificateData.signPerson.findIndex(item => item === 'ratifier') && (certificateData.applyStatus - 0) == 5" disabled style="height: 96px"></textarea>
            </div>
            <div>日期和时间:<input :disabled="-1 == certificateData.signPerson.findIndex(item => item === 'ratifier') || (certificateData.applyStatus - 0) != 5" v-model="workDeal.workCheck.approvedInfo.date" class="editInput" style="width:93px;"></div>
          </td>
        </tr>

        <tr v-if="certificateData.applyStatus - 0 >= 5">
          <td colspan="2">批准人工作移交</td>
          <td colspan="3" style="text-align: left">
            <div>我已将工作内容完全向接收人交代清楚。</div>
            <div>
              交出人签字:
              <Esign v-if ="-1 != certificateData.signPerson.findIndex(item => item === 'ratifier') && (certificateData.applyStatus - 0) >= 6" :resultImg.sync="workDeal.transferWork.transferInfo.transfer"  :height="80" :width="265"/>
              <textarea v-if ="-1 == certificateData.signPerson.findIndex(item => item === 'ratifier') && (certificateData.applyStatus - 0) == 6" disabled style="height: 96px"></textarea>
            </div>
            <div>日期和时间:<input :disabled="-1 == certificateData.signPerson.findIndex(item => item === 'ratifier') || (certificateData.applyStatus - 0) != 6" v-model="workDeal.transferWork.transferInfo.date" style="width: 182px" class="editInput"/></div>
          </td>
          <td colspan="3" style="text-align: left">
            <div>我完全了解将要接收的工作内容。</div>
            <div>
              接受人签字:
              <Esign v-if ="-1 != certificateData.signPerson.findIndex(item => item === 'ratifier') && (certificateData.applyStatus - 0) >= 6" :resultImg.sync="workDeal.transferWork.receiveInfo.receive"  :height="80" :width="265"/>
              <textarea v-if ="-1 == certificateData.signPerson.findIndex(item => item === 'ratifier') && (certificateData.applyStatus - 0) == 6" disabled style="height: 96px"></textarea>
            </div>
            <div>日期和时间:<input :disabled="-1 == certificateData.signPerson.findIndex(item => item === 'ratifier') || (certificateData.applyStatus - 0) != 6" v-model="workDeal.transferWork.receiveInfo.date" style="width: 182px" class="editInput"/></div>
          </td>
        </tr>

        <tr v-if="certificateData.applyStatus - 0 >= 5">
          <td colspan="2">工作关闭</td>
          <td colspan="3" style="text-align: left">
            <div>本许可证工作已经执行完毕,现场处于安全、清洁的状态。</div>
            <div>
              申请人签字:
              <Esign v-if="-1 != certificateData.signPerson.findIndex(item => item === 'apply') && (certificateData.applyStatus - 0) >= 6" :resultImg.sync="workDeal.closeWork.applyInfo.apply" :height="80" :width="265"/>
              <textarea v-if ="-1 == certificateData.signPerson.findIndex(item => item === 'apply') && (certificateData.applyStatus - 0) == 6" disabled style="height: 96px"></textarea>
            </div>
            <div>日期和时间:<input :disabled="-1 == certificateData.signPerson.findIndex(item => item === 'apply') || (certificateData.applyStatus - 0) != 6" v-model="workDeal.closeWork.applyInfo.date" style="width: 182px" class="editInput"/></div>
          </td>
          <td colspan="3" style="text-align: left">
            <div>本许可证工作已经执行完毕,现场处于安全、清洁的状态。</div>
            <div>
              批准人签字:
              <Esign v-if="-1 != certificateData.signPerson.findIndex(item => item === 'ratifier') && (certificateData.applyStatus - 0) >= 6"  :resultImg.sync="workDeal.closeWork.approvedInfo.approve" :height="80" :width="265"/>
              <textarea v-if ="-1 == certificateData.signPerson.findIndex(item => item === 'ratifier') && (certificateData.applyStatus - 0) == 6" disabled style="height: 96px"></textarea>
            </div>
            <div>日期和时间:<input :disabled="-1 == certificateData.signPerson.findIndex(item => item === 'ratifier') || (certificateData.applyStatus - 0) != 6" v-model="workDeal.closeWork.approvedInfo.date" style="width: 182px" class="editInput"/></div>
          </td>
        </tr>
      </table>
    </div>

    <!-- 上传现场照片 -->
    <div style="margin-top: 26px;" v-if="certificateData.applyStatus - 0 >= 4 && certificateData.applyStatus - 0 <= 6">
      <div style="margin-bottom: 10px;font-size: 18px">上传现场图片</div>
      <MyFileUpload
        listType="picture-card"
        @resFun="getFileInfo"
        @remove="listRemove"
        :fileArr="fileList"
      />
    </div>

    <div style="text-align: right;margin-top: 20px">
      <el-button type="primary" @click="permitSubmit">确定</el-button>
      <el-button @click="permitClose">取消</el-button>
    </div>

    <!-- 危险标识 -->
    <DangerousMark
      :dialogTableVisible.sync="dangerousFlag"
      :dangerousMarkDetial="dangerousMarkDetial"
      :applyStatus="certificateData.applyStatus"
      @submitDangerous="submitDangerous"
      @cancelDangerous="cancelDangerous"
    />
  </el-dialog>
</template>

<script>
  import { updatePermit } from "@/api/workPermit/permit";
  import DangerousMark from '@/components/DangerousMark/DangerousMark';
  import Esign from "@/components/SaftyWork/Esign";
  import MyFileUpload from '@/components/MyFileUpload';
  import FileUpload from '@/components/FileUpload';
  export default {
    name: "work-permit",
    props:{
      certificateData:{
        type: Object
      },
      permitOpen:{
        type: Boolean,
        default: false
      },
      workPermitTitle:{
        type: String
      }
    },
    components:{
      DangerousMark,
      Esign,
      MyFileUpload
    },
    watch:{
      certificateData(newValue){
        if(newValue){
          if(null != this.certificateData.mainDangerousMark){
            this.mainDangerousMark = JSON.parse(this.certificateData.mainDangerousMark);
          }
          if(null != this.certificateData.dangerousMarkDetial){
            this.dangerousMarkDetial = JSON.parse(this.certificateData.dangerousMarkDetial);
          }
          if(null != this.certificateData.licenceInfo){
            this.certificate = JSON.parse(this.certificateData.licenceInfo);
          }
          if(null != this.certificateData.relationSign){
            this.relationSign = JSON.parse(this.certificateData.relationSign);
          }
          if(null != this.certificateData.workDeal){
            this.workDeal = JSON.parse(this.certificateData.workDeal);
          }
        }
      }
    },
    data(){
      return{
        //安全措施
        dangerousFlag:false,
        //危险标识
        mainDangerousMark: {
          burn:false,
          electricShock:false,
          objectStrike:false,
          stifle:false,
          drop:false,
          vehicleInjury:false,
          other:false
        },
        //安全措施
        dangerousMarkDetial: {
          noxiousGas:{
            isChecked:false,
            processPurging:false,
            ventilate:false,
            mechanicalVentilation:false,
            naturalVentilation:false,
            gasComposition:false,
            guardian:{
              isChecked:false,
              person: ""
            }
          },
          heightWork:{
            isChecked:false,
            ladderCheck:false,
            ladderStable:{
              isChecked:false,
              top:false,
              bottom:false
            },
            scaffolding:false,
            designatedErea:false,
            guardian:{
              isChecked:false,
              person: ""
            },
            tools:false
          },
          fireAndExplosionProof:{
            isChecked:false,
            moveCombustibles:false,
            container:false,
            sprayWater:false,
            barrier:false,
            guardian:{
              isChecked:false,
              person: ""
            },
            other:{
              isChecked:false,
              detail:""
            },
            firePreventionTools:false,
            fireproofBlanket:false,
            fireHose:false,
            fireExtinguisher:{
              isChecked:false,
              carbonDioxide:false,
              abc:false,
              other:{
                isChecked:false,
                detail:""
              },
              specifications:"",
              quantity:""
            }
          },
          electricShockProtection:{
            isChecked:false,
            powerSupply:false,
            checkCircuit:false,
            checkSocket:false,
            insulatingLadder:false,
            guardian:{
              isChecked:false,
              person: ""
            },
            safeDistance:false,
            insulatingGloves:false,
            insulatingShoe:false,
            insulatingClothing:false,
            insulatingMat:false,
            groundingProtector:false,
            removeFuse:false,
            disconnectGate:false,
            isolateWorkArea:false,
            other:{
              isChecked:false,
              detail:""
            }
          },
          lockoutTagout:{
            isChecked:false,
            safetyEnergyRing:{
              isChecked:false,
              hydraulicPressure:false,
              pressure:false,
              mechanicalEnergy:false,
              steam:false,
              electrical:false,
              other:false
            },
            energyTest:false,
            personalLock:false,
            lockBox:false,
            contractorGroup:false,
            values:{
              isChecked:false,
              blindPlate:false,
              vent:false,
              pipingSplit:false,
              deviceVent:false,
              cutOffInstrumentGas:false,
              switchLocked:false
            }
          },
          hoisting:{
            isChecked:false,
            hoistingCheck:false,
            cantileverSupport:false,
            hoistingLevel:false,
            wireSpacing:false,
            settingAreaIsolation:false,
            guardian:{
              isChecked:false,
              person: ""
            },
            liftingPlan:false,
            hoistingToolsCheck:false
          },
          groundBreaking:{
            isChecked:false,
            groundDevice:false,
            eleticGrounding:false,
            brace:false,
            topDistance:false,
            warningMark:false,
            emergencyAccess:false,
            lighting:false,
            moveMaterial:false
          },

          protectArticles:{
            isChecked:false,
            headProtect:{
              isChecked:false,
              hat:false,
              allFaceShield:false,
              halfFaceShield:false
            },
            protectGlass:{
              isChecked:false,
              attack:false,
              eletic:false,
              spatter:false,
              dust:false,
              faceShield:false
            },
            hearing:{
              isChecked:false,
              earplugs:false,
              doubleProtection:false,
              timeControl:false
            },
            breathing:{
              isChecked:false,
              dustFiltration:false,
              gasFiltration:false,
              dustAndGas:false,
              scba:false,
              respirator:false
            },
            head:{
              isChecked:false,
              canvas:false,
              chemicalResistantGloves:false,
              weldingGloves:false,
              lowTemperatureGloves:false,
              heightTemperatureGloves:false,
              cutResistantGloves:false,
              prohibitGloves:false
            },
            body:{
              isChecked:false,
              weldingSuit:false,
              antistatic:false,
              weldingSuitA:false,
              weldingSuitB:false,
              weldingSuitC:false,
              weldingSuitD:false
            },
            foot:{
              isChecked:false,
              antiPiercingShoe:false,
              insulationShoe:false,
              antiChemicalShoe:false,
              antistaticShoe:false
            },
            specialLabor:{
              isChecked:false,
              safetyBelt:false,
              safetyNet:false,
              gasMonitor:false,
              communicationEquipment:false
            },
            other:{
              isChecked:false,
              detail:""
            }

          },

          otherWork:{
            isChecked:false,
            detail:""
          },
          checkResult:[
            {
              checkPoint:"",
              checkTime:"",
              oxygenContent:"",
              flammableGasContent:"",
              toxicGasContent:""
            },
            {
              checkPoint:"",
              checkTime:"",
              oxygenContent:"",
              flammableGasContent:"",
              toxicGasContent:""
            },
            {
              checkPoint:"",
              checkTime:"",
              oxygenContent:"",
              flammableGasContent:"",
              toxicGasContent:""
            }
          ]
        },
        //作业许可证
        certificate:{
          jsa:{
            yes:false,
            no:false,
            num:""
          },
          specialLicence:false,
          lockListing:{
            isChecked:false,
            num:""
          },
          blindPlate:{
            isChecked:false,
            // 0待审核 1审核通过 2驳回
            status:"",
            num:""
          },
          flareUp:{
            isChecked:false,
            // 0待审核 1审核通过 2驳回
            status:"",
            num:""
          },
          heightWork:{
            isChecked:false,
            // 0待审核 1审核通过 2驳回
            status:"",
            num:""
          },
          breakGround:{
            isChecked:false,
            // 0待审核 1审核通过 2驳回
            status:"",
            num:""
          },
          hoisting:{
            isChecked:false,
            // 0待审核 1审核通过 2驳回
            status:"",
            num:""
          },
          limitSpace:{
            isChecked:false,
            // 0待审核 1审核通过 2驳回
            status:"",
            num:""
          },
          electricityUse:{
            isChecked:false,
            // 0待审核 1审核通过 2驳回
            status:"",
            num:""
          },
          ray:{
            isChecked:false,
            num:""
          }
        },
        //相关方签字
        relationSign:{
          executor:"",
          contractor:[
            {
              sign:"",
              peoples:""
            },
            {
              sign:"",
              peoples:""
            }
          ],
          picUrl:""
        },
        //生产组签字
        produceComfirm:{
          monitor:"",
          date:""
        },
        //工作处理
        workDeal:{
          workCheck:{
            leaderInfo:{
              leader:"",
                date:"",
                picUrl:""
            },
            relationInfo:{
                yes:false,
                no:false,
                relationLeader:"",
                date:"",
                picUrl:""
            },
            approvedInfo:{
              approve:"",
                date:"",
                picUrl:""
            }
          },
          monitor:{
            monitor:"",
              date:"",
              picUrl:""
          },
          transferWork:{
            transferInfo:{
              transfer:"",
                date:""
            },
            receiveInfo:{
              receive:"",
                date:""
            }
          },
          closeWork:{
            applyInfo:{
              apply:"",
                date:"",
                picUrl:""
            },
            approvedInfo:{
              approve:"",
                date:"",
                picUrl:""
            }
          }
        },
        fileList:[]
      }
    },
    methods:{
      permitClose(){
        this.$emit("update:permitOpen", false);
        //安全分析
        if(this.certificateData.applyStatus == '0'){
          this.resetMainDangerousMark();
        }
        //审批人审批
        if(this.certificateData.applyStatus == '1'){
          this.resetCertificate();
        }
        //事前检查
        if(this.certificateData.applyStatus == '4'){
          this.resetRelationSign();
          this.resetProduceComfirm();
        }
        if(this.certificateData.applyStatus == '5' || this.certificateData.applyStatus == '6'){
          this.restWorkDeal();
        }
      },
      //确认安全数据
      submitDangerous(dangerousData){
        this.dangerousMarkDetial = dangerousData;
        this.dangerousFlag = false;
      },
      //取消安全数据
      cancelDangerous(){
        if(this.certificateData.applyStatus == '0'){
          this.resetDangerousMarkDetial();
        }
        this.dangerousFlag = false;

      },
      //重置危险标识
      resetMainDangerousMark(){
        this.mainDangerousMark = {
          burn:false,
          electricShock:false,
          objectStrike:false,
          stifle:false,
          drop:false,
          vehicleInjury:false,
          other:false
        };
      },
      //重置安全措施
      resetDangerousMarkDetial(){
        this.dangerousMarkDetial = {
          noxiousGas:{
            isChecked:false,
            processPurging:false,
            ventilate:false,
            mechanicalVentilation:false,
            naturalVentilation:false,
            gasComposition:false,
            guardian:{
              isChecked:false,
              person: ""
            }
          },
          heightWork:{
            isChecked:false,
            ladderCheck:false,
            ladderStable:{
              isChecked:false,
              top:false,
              bottom:false
            },
            scaffolding:false,
            designatedErea:false,
            guardian:{
              isChecked:false,
              person: ""
            },
            tools:false
          },
          fireAndExplosionProof:{
            isChecked:false,
            moveCombustibles:false,
            container:false,
            sprayWater:false,
            barrier:false,
            guardian:{
              isChecked:false,
              person: ""
            },
            other:{
              isChecked:false,
              detail:""
            },
            firePreventionTools:false,
            fireproofBlanket:false,
            fireHose:false,
            fireExtinguisher:{
              isChecked:false,
              carbonDioxide:false,
              abc:false,
              other:{
                isChecked:false,
                detail:""
              },
              specifications:"",
              quantity:""
            }
          },
          electricShockProtection:{
            isChecked:false,
            powerSupply:false,
            checkCircuit:false,
            checkSocket:false,
            insulatingLadder:false,
            guardian:{
              isChecked:false,
              person: ""
            },
            safeDistance:false,
            insulatingGloves:false,
            insulatingShoe:false,
            insulatingClothing:false,
            insulatingMat:false,
            groundingProtector:false,
            removeFuse:false,
            disconnectGate:false,
            isolateWorkArea:false,
            other:{
              isChecked:false,
              detail:""
            }
          },
          lockoutTagout:{
            isChecked:false,
            safetyEnergyRing:{
              isChecked:false,
              hydraulicPressure:false,
              pressure:false,
              mechanicalEnergy:false,
              steam:false,
              electrical:false,
              other:false
            },
            energyTest:false,
            personalLock:false,
            lockBox:false,
            contractorGroup:false,
            values:{
              isChecked:false,
              blindPlate:false,
              vent:false,
              pipingSplit:false,
              deviceVent:false,
              cutOffInstrumentGas:false,
              switchLocked:false
            }
          },
          hoisting:{
            isChecked:false,
            hoistingCheck:false,
            cantileverSupport:false,
            hoistingLevel:false,
            wireSpacing:false,
            settingAreaIsolation:false,
            guardian:{
              isChecked:false,
              person: ""
            },
            liftingPlan:false,
            hoistingToolsCheck:false
          },
          groundBreaking:{
            isChecked:false,
            groundDevice:false,
            eleticGrounding:false,
            brace:false,
            topDistance:false,
            warningMark:false,
            emergencyAccess:false,
            lighting:false,
            moveMaterial:false
          },

          protectArticles:{
            isChecked:false,
            headProtect:{
              isChecked:false,
              hat:false,
              allFaceShield:false,
              halfFaceShield:false
            },
            protectGlass:{
              isChecked:false,
              attack:false,
              eletic:false,
              spatter:false,
              dust:false,
              faceShield:false
            },
            hearing:{
              isChecked:false,
              earplugs:false,
              doubleProtection:false,
              timeControl:false
            },
            breathing:{
              isChecked:false,
              dustFiltration:false,
              gasFiltration:false,
              dustAndGas:false,
              scba:false,
              respirator:false
            },
            head:{
              isChecked:false,
              canvas:false,
              chemicalResistantGloves:false,
              weldingGloves:false,
              lowTemperatureGloves:false,
              heightTemperatureGloves:false,
              cutResistantGloves:false,
              prohibitGloves:false
            },
            body:{
              isChecked:false,
              weldingSuit:false,
              antistatic:false,
              weldingSuitA:false,
              weldingSuitB:false,
              weldingSuitC:false,
              weldingSuitD:false
            },
            foot:{
              isChecked:false,
              antiPiercingShoe:false,
              insulationShoe:false,
              antiChemicalShoe:false,
              antistaticShoe:false
            },
            specialLabor:{
              isChecked:false,
              safetyBelt:false,
              safetyNet:false,
              gasMonitor:false,
              communicationEquipment:false
            },
            other:{
              isChecked:false,
              detail:""
            }

          },

          otherWork:{
            isChecked:false,
            detail:""
          },
          checkResult:[
            {
              checkPoint:"",
              checkTime:"",
              oxygenContent:"",
              flammableGasContent:"",
              toxicGasContent:""
            },
            {
              checkPoint:"",
              checkTime:"",
              oxygenContent:"",
              flammableGasContent:"",
              toxicGasContent:""
            },
            {
              checkPoint:"",
              checkTime:"",
              oxygenContent:"",
              flammableGasContent:"",
              toxicGasContent:""
            }
          ]
        };
      },
      //重置许可证信息
      resetCertificate(){
        this.certificate = {
          jsa:{
            yes:false,
              no:false,
              num:""
          },
          specialLicence:false,
            lockListing:{
            isChecked:false,
              num:""
          },
          blindPlate:{
            isChecked:false,
              num:""
          },
          flareUp:{
            isChecked:false,
              num:""
          },
          heightWork:{
            isChecked:false,
              num:""
          },
          breakGround:{
            isChecked:false,
              num:""
          },
          hoisting:{
            isChecked:false,
              num:""
          },
          limitSpace:{
            isChecked:false,
              num:""
          },
          electricityUse:{
            isChecked:false,
              num:""
          },
          ray:{
            isChecked:false,
              num:""
          }
        }
      },
      resetRelationSign(){
        this.relationSign ={
          executor:"",
          contractor:[
            {
              sign:"",
              peoples:""
            },
            {
              sign:"",
              peoples:""
            }
          ],
          picUrl:""
        }
      },
      resetProduceComfirm(){
        this.produceComfirm = {
          monitor:"",
          date:""
        }
      },
      restWorkDeal(){
        this.WorkDeal = {
          workCheck:{
            leaderInfo:{
              leader:"",
              date:"",
              picUrl:""
            },
            relationInfo:{
              yes:false,
              no:false,
              relationLeader:"",
              date:"",
              picUrl:""
            },
            approvedInfo:{
              approve:"",
              date:"",
              picUrl:""
            }
          },
          monitor:{
            monitor:"",
            date:"",
            picUrl:""
          },
          transferWork:{
            transferInfo:{
              transfer:"",
              date:""
            },
            receiveInfo:{
              receive:"",
              date:""
            }
          },
          closeWork:{
            applyInfo:{
              apply:"",
              date:"",
              picUrl:""
            },
            approvedInfo:{
              approve:"",
              date:"",
              picUrl:""
            }
          }
        }
      },
      //提交许可单
      permitSubmit(){
        var param = {};
        param.workPermitId =  this.certificateData.workPermitId;
        //安全分析
        if(this.certificateData.applyStatus == '0'){
          //校验
          if(!this.validateAnalyseData()){
            return;
          };
          param.dangerousMarkDetial =  JSON.stringify(this.dangerousMarkDetial);
          param.mainDangerousMark =  JSON.stringify(this.mainDangerousMark);
          param.applyStatus = '1';
        }
        //审批人审批
        if(this.certificateData.applyStatus == '1'){
          //校验
          if(!this.validateCertificate()){
            return;
          };
          param.licenceInfo = JSON.stringify(this.certificate);
          if(this.certificate.specialLicence){
            param.applyStatus = '4';
          }else{
            param.applyStatus = '2';
          }
        }
        //作业前检查
        if(this.certificateData.applyStatus == '4'){
          if(this.validateRelationSign()){
            return;
          }
          param.relationSign = JSON.stringify(this.relationSign);
          param.produceComfirm = JSON.stringify(this.produceComfirm);
          param.applyStatus = '5';
        }
        //作业中
        if(this.certificateData.applyStatus == '5'){
          if(this.validateWorkDeal()){
            return
          }
          if(this.workDeal.workCheck.leaderInfo.leader != '' && this.workDeal.workCheck.approvedInfo.approve != ''){
            param.applyStatus = '6';
          }
          param.workDeal = JSON.stringify(this.workDeal);
        }
        //关闭作业单
        if(this.certificateData.applyStatus == '6'){
          if(this.workDeal.closeWork.applyInfo.apply != '' && this.workDeal.closeWork.approvedInfo.approve != ''){
            param.applyStatus = '7';
          }
          param.workDeal = JSON.stringify(this.workDeal);
        }

        updatePermit(param).then(response => {
          this.msgSuccess("信息填写成功");
          this.$emit("update:permitOpen", false);
          this.$emit("getList");
        });
      },
      //校验安全分析数据
      validateAnalyseData(){
        for(var key in this.mainDangerousMark){
          var value = this.mainDangerousMark[key];
          if(value){
            if(JSON.stringify(this.dangerousMarkDetial) === "{}"){
              this.msgError("请填写安全措施");
              return false;
            }
          }
        }
        return true;
      },
      //校验许可证信息
      validateCertificate(){
        var flag = true;
        for(var key in this.certificate){
          var check = false;
          if("specialLicence" == key){
            check = this.certificate[key];
          }else{
            check = this.certificate[key].isChecked;
          }
          if(check){
            flag = false;
          }
        }
        if(flag){
          this.msgError("请填写许可证信息");
          return false;
        }
        return true;
      },
      //相关方校验
      validateRelationSign(){
        if(!this.relationSign.executor){
          this.msgError("作业执行人员请签字!")
          return true;
        }
        if(this.relationSign.contractor[0].sign == '' || this.relationSign.contractor[1].sign == ''){
          this.msgError("承包商请签字!")
          return true;
        }
        if(!this.produceComfirm.monitor){
          this.msgError("当班班长请签字!");
          return true;
        }
        if(this.produceComfirm)
        if(!this.relationSign.picUrl){
          this.msgError("请上传现场照片!");
          return true;
        }
        return false;
      },
      //校验工作中
      validateWorkDeal(){
        if(this.certificateData.signPerson == "contractor"){
          if(this.workDeal.workCheck.leaderInfo.leader == ""){
            this.msgError("作业执行人请签字!");
            return true;
          }
        }
        if(this.certificateData.signPerson == "ratifier"){
          if(this.workDeal.workCheck.approvedInfo.approve == ''){
            this.msgError("批准人请签字!");
            return true;
          }
        }
        return false;
      },
      getFileInfo(res){
        if(this.certificateData.applyStatus == '4'){
          this.relationSign.picUrl = res.url;
        }
        if(this.certificateData.applyStatus == '5'){
          if(this.workDeal.workCheck.leaderInfo.leader != ""){
            this.workDeal.workCheck.leaderInfo.picUrl = res.url;
          }
          if(this.workDeal.workCheck.approvedInfo.approve != ""){
            this.workDeal.workCheck.approvedInfo.picUrl = res.url;
          }
        }

        if(this.certificateData.applyStatus == '6'){
          if(this.workDeal.closeWork.applyInfo !=""){
            this.workDeal.closeWork.applyInfo.picUrl = res.url;
          }
          if(this.workDeal.closeWork.approvedInfo.approve != ""){
            this.workDeal.closeWork.approvedInfo.picUrl = res.url;
          }
        }
        //this.form.certificateUrl = res.url;
      },
      listRemove(e) {
        if(this.certificateData.applyStatus == '4'){
          this.relationSign.picUrl = '';
        }
        if(this.certificateData.applyStatus == '5'){
          if(this.workDeal.workCheck.leaderInfo.leader != ""){
            this.workDeal.workCheck.leaderInfo.picUrl = '';
          }
          if(this.workDeal.workCheck.approvedInfo.approve != ""){
            this.workDeal.workCheck.approvedInfo.picUrl = '';
          }
        }
        if(this.certificateData.applyStatus == '6'){
          if(this.workDeal.closeWork.applyInfo !=""){
            this.workDeal.closeWork.applyInfo.picUrl = '';
          }
          if(this.workDeal.closeWork.approvedInfo.approve != ""){
            this.workDeal.closeWork.approvedInfo.picUrl = '';
          }
        }
        //this.form.certificateUrl = "";
        this.fileList = [];
      },
    },
  }
</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;
  }

  .permit{
    height: 400px;;
    overflow-y: scroll;
    &::-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>