ly 3 년 전
부모
커밋
09c00937d4
19개의 변경된 파일5145개의 추가작업 그리고 44개의 파일을 삭제
  1. 24 4
      master/src/main/java/com/ruoyi/project/common/controller/WordController.java
  2. 124 0
      master/src/main/java/com/ruoyi/project/ticket/controller/TFireWorkPermitController.java
  3. 49 3
      master/src/main/java/com/ruoyi/project/ticket/controller/THazardWorkPermitController.java
  4. 2 2
      master/src/main/java/com/ruoyi/project/ticket/controller/TTicketIdController.java
  5. 10 0
      master/src/main/java/com/ruoyi/project/ticket/domain/PermitRelation.java
  6. 14 4
      master/src/main/java/com/ruoyi/project/ticket/domain/THazardWorkPermit.java
  7. 63 0
      master/src/main/java/com/ruoyi/project/ticket/mapper/TFireWorkPermitMapper.java
  8. 61 0
      master/src/main/java/com/ruoyi/project/ticket/service/ITFireWorkPermitService.java
  9. 93 0
      master/src/main/java/com/ruoyi/project/ticket/service/impl/TFireWorkPermitServiceImpl.java
  10. 1 1
      master/src/main/resources/application.yml
  11. 218 0
      master/src/main/resources/mybatis/ticket/TFireWorkPermitMapper.xml
  12. 6 1
      master/src/main/resources/mybatis/ticket/THazardWorkPermitMapper.xml
  13. 1 0
      master/src/main/resources/mybatis/ticket/TPermitRelationMapper.xml
  14. 53 0
      ui/src/api/invoicing/firework.js
  15. 9 0
      ui/src/api/invoicing/hazardwork.js
  16. 3 0
      ui/src/views/invoicing/firework/index.vue
  17. 112 29
      ui/src/views/invoicing/hazardwork/index.vue
  18. 4269 0
      ui/src/views/invoicing/hazardwork/index2.vue
  19. 33 0
      ui/src/views/invoicing/ticketList/index.vue

+ 24 - 4
master/src/main/java/com/ruoyi/project/common/controller/WordController.java

@@ -75,9 +75,30 @@ public class WordController extends BaseController
         return pathFileName;
     }
 
-    /**
-     * 通用附件上传
-     */
+    public String createPDF(String fileDir, String wordName,String pdfName, Map<String, Object> paramMap) throws IOException {
+        System.out.println("使用流的方式转换PDF!");
+        //使用流的方式转换PDF
+        try {
+            InputStream in = Files.newInputStream(Paths.get(fileDir +"/"+ wordName));
+            OutputStream outPDF = Files.newOutputStream(Paths.get(fileDir +"/"+ pdfName));
+            documentConverter.convert(in)
+                    .as(DefaultDocumentFormatRegistry.DOCX)
+                    .to(outPDF)
+                    .as(DefaultDocumentFormatRegistry.PDF)
+                    .execute();
+            System.out.println("转换完成!");
+            String pathFileName = getPathFileName(RuoYiConfig.getFilePath("/"+ "ticketWord"), pdfName);
+            return pathFileName;
+        }catch (Exception e){
+            System.out.println("转换出错!");
+        }
+        return null;
+    };
+
+
+        /**
+         * 通用附件上传
+         */
     @GetMapping("/createWord")
     public AjaxResult word() throws IOException
     {
@@ -94,7 +115,6 @@ public class WordController extends BaseController
             System.out.println("转换完成!");
         }catch (Exception e){
             System.out.println("转换出错!");
-
         }
 
 

+ 124 - 0
master/src/main/java/com/ruoyi/project/ticket/controller/TFireWorkPermitController.java

@@ -0,0 +1,124 @@
+package com.ruoyi.project.ticket.controller;
+
+import java.util.List;
+
+import com.ruoyi.project.common.controller.WordController;
+import com.ruoyi.project.ticket.domain.PermitRelation;
+import com.ruoyi.project.ticket.domain.TTicketId;
+import com.ruoyi.project.ticket.service.ITPermitRelationService;
+import org.springframework.security.access.prepost.PreAuthorize;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.PutMapping;
+import org.springframework.web.bind.annotation.DeleteMapping;
+import org.springframework.web.bind.annotation.PathVariable;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+import com.ruoyi.framework.aspectj.lang.annotation.Log;
+import com.ruoyi.framework.aspectj.lang.enums.BusinessType;
+import com.ruoyi.project.ticket.domain.TFireWorkPermit;
+import com.ruoyi.project.ticket.service.ITFireWorkPermitService;
+import com.ruoyi.framework.web.controller.BaseController;
+import com.ruoyi.framework.web.domain.AjaxResult;
+import com.ruoyi.common.utils.poi.ExcelUtil;
+import com.ruoyi.framework.web.page.TableDataInfo;
+
+/**
+ * 【请填写功能名称】Controller
+ *
+ * @author ruoyi
+ * @date 2022-02-23
+ */
+@RestController
+@RequestMapping("/ticket/permit")
+public class TFireWorkPermitController extends BaseController
+{
+    @Autowired
+    private ITFireWorkPermitService tFireWorkPermitService;
+    @Autowired
+    private WordController wordController;
+    @Autowired
+    private ITPermitRelationService itPermitRelationService;
+    @Autowired
+    private TTicketIdController tTicketIdController;
+    /**
+     * 查询【请填写功能名称】列表
+     */
+    @PreAuthorize("@ss.hasPermi('ticket:permit:list')")
+    @GetMapping("/list")
+    public TableDataInfo list(TFireWorkPermit tFireWorkPermit)
+    {
+        startPage();
+        List<TFireWorkPermit> list = tFireWorkPermitService.selectTFireWorkPermitList(tFireWorkPermit);
+        return getDataTable(list);
+    }
+
+    /**
+     * 导出【请填写功能名称】列表
+     */
+    @PreAuthorize("@ss.hasPermi('ticket:permit:export')")
+    @Log(title = "【请填写功能名称】", businessType = BusinessType.EXPORT)
+    @GetMapping("/export")
+    public AjaxResult export(TFireWorkPermit tFireWorkPermit)
+    {
+        List<TFireWorkPermit> list = tFireWorkPermitService.selectTFireWorkPermitList(tFireWorkPermit);
+        ExcelUtil<TFireWorkPermit> util = new ExcelUtil<TFireWorkPermit>(TFireWorkPermit.class);
+        return util.exportExcel(list, "permit");
+    }
+
+    /**
+     * 获取【请填写功能名称】详细信息
+     */
+    @PreAuthorize("@ss.hasPermi('ticket:permit:query')")
+    @GetMapping(value = "/{hId}")
+    public AjaxResult getInfo(@PathVariable("hId") Long hId)
+    {
+        return AjaxResult.success(tFireWorkPermitService.selectTFireWorkPermitById(hId));
+    }
+
+    /**
+     * 新增【请填写功能名称】
+     */
+    @PreAuthorize("@ss.hasPermi('ticket:permit:add')")
+    @Log(title = "【请填写功能名称】", businessType = BusinessType.INSERT)
+    @PostMapping
+    public AjaxResult add(@RequestBody TFireWorkPermit tFireWorkPermit)
+    {
+        TTicketId tTicketId = new TTicketId();
+        tTicketId.setId(1l);
+        Long ticketId =  tTicketIdController.createId(tTicketId);
+        logger.info("ticketId:" + ticketId);
+        tFireWorkPermitService.insertTFireWorkPermit(tFireWorkPermit);
+        //保存危害工作许可证关联数据
+        PermitRelation permitRelation = new PermitRelation();
+        permitRelation.setPermitId(tFireWorkPermit.gethId());
+        permitRelation.setPermitType("H");
+        permitRelation.setPermitStatus(1L);
+        this.itPermitRelationService.add(permitRelation);
+        return AjaxResult.success(permitRelation.getaId());
+    }
+
+    /**
+     * 修改【请填写功能名称】
+     */
+    @PreAuthorize("@ss.hasPermi('ticket:permit:edit')")
+    @Log(title = "【请填写功能名称】", businessType = BusinessType.UPDATE)
+    @PutMapping
+    public AjaxResult edit(@RequestBody TFireWorkPermit tFireWorkPermit)
+    {
+        return toAjax(tFireWorkPermitService.updateTFireWorkPermit(tFireWorkPermit));
+    }
+
+    /**
+     * 删除【请填写功能名称】
+     */
+    @PreAuthorize("@ss.hasPermi('ticket:permit:remove')")
+    @Log(title = "【请填写功能名称】", businessType = BusinessType.DELETE)
+	@DeleteMapping("/{hIds}")
+    public AjaxResult remove(@PathVariable Long[] hIds)
+    {
+        return toAjax(tFireWorkPermitService.deleteTFireWorkPermitByIds(hIds));
+    }
+}

+ 49 - 3
master/src/main/java/com/ruoyi/project/ticket/controller/THazardWorkPermitController.java

@@ -15,15 +15,24 @@ import com.ruoyi.project.common.controller.WordController;
 import com.ruoyi.project.configuration.domain.TMatter;
 import com.ruoyi.project.configuration.mapper.TMatterMapper;
 import com.ruoyi.project.ticket.domain.PermitRelation;
+import com.ruoyi.project.ticket.domain.TFireWorkPermit;
 import com.ruoyi.project.ticket.domain.THazardWorkPermit;
+import com.ruoyi.project.ticket.domain.TTicketId;
+import com.ruoyi.project.ticket.service.ITFireWorkPermitService;
 import com.ruoyi.project.ticket.service.ITHazardWorkPermitService;
 import com.ruoyi.project.ticket.service.ITPermitRelationService;
+import org.jodconverter.core.DocumentConverter;
+import org.jodconverter.core.document.DefaultDocumentFormatRegistry;
 import org.springframework.beans.BeanUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.*;
 
 import javax.annotation.Resource;
 import java.io.IOException;
+import java.io.InputStream;
+import java.io.OutputStream;
+import java.nio.file.Files;
+import java.nio.file.Paths;
 import java.util.ArrayList;
 import java.util.HashMap;
 import java.util.List;
@@ -41,7 +50,8 @@ public class THazardWorkPermitController extends BaseController {
 
     @Autowired
     private ITHazardWorkPermitService tHazardWorkPermitService;
-
+    @Autowired
+    private ITFireWorkPermitService tFireWorkPermitService;
     @Autowired
     private ITPermitRelationService itPermitRelationService;
     @Autowired
@@ -50,6 +60,9 @@ public class THazardWorkPermitController extends BaseController {
     private WordController wordController;
     @Resource
     private TMatterMapper tMatterMapper;
+
+    @Resource
+    private DocumentConverter documentConverter;
     /**
      * 查询危害工作许可证列表
      */
@@ -120,7 +133,9 @@ public class THazardWorkPermitController extends BaseController {
     @Log(title = "危害工作许可证", businessType = BusinessType.INSERT)
     @PostMapping
     public AjaxResult add(@RequestBody THazardWorkPermit tHazardWorkPermit) throws IOException {
-        Long ticketId =  tTicketIdController.createId();
+        TTicketId tTicketId = new TTicketId();
+        tTicketId.setId(1l);
+        Long ticketId =  tTicketIdController.createId(tTicketId);
         logger.info("ticketId:" + ticketId);
         tHazardWorkPermit.setaId(ticketId);
         //生成word
@@ -134,6 +149,11 @@ public class THazardWorkPermitController extends BaseController {
         String fileName = "A" + ticketId + ".docx";
         String wordPath = this.wordController.createWord(templatePath, fileDir, fileName, params);
         tHazardWorkPermit.setWordUrl(wordPath);
+        //使用流的方式转换PDF
+        String fileName2 = "A" + tHazardWorkPermit.getaId() + ".pdf";
+        String pdfPath = this.wordController.createPDF( fileDir, fileName,fileName2, params);
+        tHazardWorkPermit.setPdfUrl(pdfPath);
+
         tHazardWorkPermitService.insertTHazardWorkPermit(tHazardWorkPermit);
         //保存危害工作许可证关联数据
         PermitRelation permitRelation = new PermitRelation();
@@ -144,6 +164,29 @@ public class THazardWorkPermitController extends BaseController {
         return AjaxResult.success(tHazardWorkPermit.getaId());
     }
 
+    /**
+     * 新增危害工作许可证
+     */
+    @Log(title = "关联火票", businessType = BusinessType.INSERT)
+    @PostMapping("/addFire")
+    public AjaxResult addFire(@RequestBody THazardWorkPermit tHazardWorkPermit) throws IOException {
+        TTicketId tTicketId = new TTicketId();
+        tTicketId.setId(2l);
+        Long ticketId = tTicketIdController.createId(tTicketId);
+        logger.info("ticketId:" + ticketId);
+        tHazardWorkPermitService.updateTHazardWorkPermit(tHazardWorkPermit);
+
+        TFireWorkPermit tFireWorkPermit = new TFireWorkPermit();
+        tFireWorkPermitService.insertTFireWorkPermit(tFireWorkPermit);
+        //保存危害工作许可证关联数据
+        PermitRelation permitRelation = new PermitRelation();
+        permitRelation.setPermitId(tFireWorkPermit.gethId());
+        permitRelation.setPermitType("H");
+        permitRelation.setPermitStatus(1L);
+        this.itPermitRelationService.add(permitRelation);
+        return AjaxResult.success(tHazardWorkPermit.getaId());
+    }
+
     /**
      * 修改危害工作许可证
      */
@@ -161,6 +204,10 @@ public class THazardWorkPermitController extends BaseController {
         String fileName = "A" + tHazardWorkPermit.getaId() + ".docx";
         String wordPath = this.wordController.createWord(templatePath, fileDir, fileName, params);
         tHazardWorkPermit.setWordUrl(wordPath);
+        //使用流的方式转换PDF
+        String fileName2 = "A" + tHazardWorkPermit.getaId() + ".pdf";
+        String pdfPath = this.wordController.createPDF( fileDir, fileName,fileName2, params);
+        tHazardWorkPermit.setPdfUrl(pdfPath);
         return toAjax(tHazardWorkPermitService.updateTHazardWorkPermit(tHazardWorkPermit));
     }
 
@@ -273,5 +320,4 @@ public class THazardWorkPermitController extends BaseController {
         }
     }
 
-
 }

+ 2 - 2
master/src/main/java/com/ruoyi/project/ticket/controller/TTicketIdController.java

@@ -34,8 +34,8 @@ public class TTicketIdController extends BaseController
     private ITTicketIdService tTicketIdService;
 
     //添加票据id
-    public synchronized Long createId(){
-        TTicketId t = tTicketIdService.selectTTicketIdById(1l);
+    public synchronized Long createId(TTicketId tTicketId){
+        TTicketId t = tTicketIdService.selectTTicketIdById(tTicketId.getId());
         Long id = t.getTicketId();
         Long newId = id +1;
         t.setTicketId(newId);

+ 10 - 0
master/src/main/java/com/ruoyi/project/ticket/domain/PermitRelation.java

@@ -15,6 +15,16 @@ public class PermitRelation extends BaseEntity {
     private String delayCount;
     private String delayNo;
     private String wordUrl;
+
+    public String getPdfUrl() {
+        return pdfUrl;
+    }
+
+    public void setPdfUrl(String pdfUrl) {
+        this.pdfUrl = pdfUrl;
+    }
+
+    private String pdfUrl;
     private List<PermitRelation> children;
 
     private Long permitId;

+ 14 - 4
master/src/main/java/com/ruoyi/project/ticket/domain/THazardWorkPermit.java

@@ -146,14 +146,14 @@ public class THazardWorkPermit extends BaseEntity {
     /**
      * 有效期,开始时间
      */
-    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
-    @Excel(name = "有效期,开始时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm", timezone = "GMT+8")
+    @Excel(name = "有效期,开始时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm")
     private Date bValidityStartTime;
     /**
      * 有效期,结束时间
      */
-    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
-    @Excel(name = "有效期,结束时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm", timezone = "GMT+8")
+    @Excel(name = "有效期,结束时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm")
     private Date bValidityEndTime;
     /**
      * 危害物质名称
@@ -1313,6 +1313,8 @@ public class THazardWorkPermit extends BaseEntity {
 
     private String wordUrl;
 
+    private String pdfUrl;
+
     public String getWordUrl() {
         return wordUrl;
     }
@@ -1321,6 +1323,14 @@ public class THazardWorkPermit extends BaseEntity {
         this.wordUrl = wordUrl;
     }
 
+    public String getPdfUrl() {
+        return pdfUrl;
+    }
+
+    public void setPdfUrl(String pdfUrl) {
+        this.pdfUrl = pdfUrl;
+    }
+
     public void setaId(Long aId) {
         this.aId = aId;
     }

+ 63 - 0
master/src/main/java/com/ruoyi/project/ticket/mapper/TFireWorkPermitMapper.java

@@ -0,0 +1,63 @@
+package com.ruoyi.project.ticket.mapper;
+
+import java.util.List;
+import com.ruoyi.framework.aspectj.lang.annotation.DataScope;
+import com.ruoyi.project.ticket.domain.TFireWorkPermit;
+
+/**
+ * 【请填写功能名称】Mapper接口
+ * 
+ * @author ruoyi
+ * @date 2022-02-23
+ */
+public interface TFireWorkPermitMapper 
+{
+    /**
+     * 查询【请填写功能名称】
+     * 
+     * @param hId 【请填写功能名称】ID
+     * @return 【请填写功能名称】
+     */
+    public TFireWorkPermit selectTFireWorkPermitById(Long hId);
+
+    /**
+     * 查询【请填写功能名称】列表
+     * 
+     * @param tFireWorkPermit 【请填写功能名称】
+     * @return 【请填写功能名称】集合
+     */
+    @DataScope(deptAlias = "d")
+    public List<TFireWorkPermit> selectTFireWorkPermitList(TFireWorkPermit tFireWorkPermit);
+
+    /**
+     * 新增【请填写功能名称】
+     * 
+     * @param tFireWorkPermit 【请填写功能名称】
+     * @return 结果
+     */
+    public int insertTFireWorkPermit(TFireWorkPermit tFireWorkPermit);
+
+    /**
+     * 修改【请填写功能名称】
+     * 
+     * @param tFireWorkPermit 【请填写功能名称】
+     * @return 结果
+     */
+    public int updateTFireWorkPermit(TFireWorkPermit tFireWorkPermit);
+
+    /**
+     * 删除【请填写功能名称】
+     * 
+     * @param hId 【请填写功能名称】ID
+     * @return 结果
+     */
+    public int deleteTFireWorkPermitById(Long hId);
+
+    /**
+     * 批量删除【请填写功能名称】
+     * 
+     * @param hIds 需要删除的数据ID
+     * @return 结果
+     */
+    public int deleteTFireWorkPermitByIds(Long[] hIds);
+}

+ 61 - 0
master/src/main/java/com/ruoyi/project/ticket/service/ITFireWorkPermitService.java

@@ -0,0 +1,61 @@
+package com.ruoyi.project.ticket.service;
+
+import java.util.List;
+import com.ruoyi.project.ticket.domain.TFireWorkPermit;
+
+/**
+ * 【请填写功能名称】Service接口
+ * 
+ * @author ruoyi
+ * @date 2022-02-23
+ */
+public interface ITFireWorkPermitService 
+{
+    /**
+     * 查询【请填写功能名称】
+     * 
+     * @param hId 【请填写功能名称】ID
+     * @return 【请填写功能名称】
+     */
+    public TFireWorkPermit selectTFireWorkPermitById(Long hId);
+
+    /**
+     * 查询【请填写功能名称】列表
+     * 
+     * @param tFireWorkPermit 【请填写功能名称】
+     * @return 【请填写功能名称】集合
+     */
+    public List<TFireWorkPermit> selectTFireWorkPermitList(TFireWorkPermit tFireWorkPermit);
+
+    /**
+     * 新增【请填写功能名称】
+     * 
+     * @param tFireWorkPermit 【请填写功能名称】
+     * @return 结果
+     */
+    public int insertTFireWorkPermit(TFireWorkPermit tFireWorkPermit);
+
+    /**
+     * 修改【请填写功能名称】
+     * 
+     * @param tFireWorkPermit 【请填写功能名称】
+     * @return 结果
+     */
+    public int updateTFireWorkPermit(TFireWorkPermit tFireWorkPermit);
+
+    /**
+     * 批量删除【请填写功能名称】
+     * 
+     * @param hIds 需要删除的【请填写功能名称】ID
+     * @return 结果
+     */
+    public int deleteTFireWorkPermitByIds(Long[] hIds);
+
+    /**
+     * 删除【请填写功能名称】信息
+     * 
+     * @param hId 【请填写功能名称】ID
+     * @return 结果
+     */
+    public int deleteTFireWorkPermitById(Long hId);
+}

+ 93 - 0
master/src/main/java/com/ruoyi/project/ticket/service/impl/TFireWorkPermitServiceImpl.java

@@ -0,0 +1,93 @@
+package com.ruoyi.project.ticket.service.impl;
+
+import java.util.List;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+import com.ruoyi.project.ticket.mapper.TFireWorkPermitMapper;
+import com.ruoyi.project.ticket.domain.TFireWorkPermit;
+import com.ruoyi.project.ticket.service.ITFireWorkPermitService;
+
+/**
+ * 【请填写功能名称】Service业务层处理
+ *
+ * @author ruoyi
+ * @date 2022-02-23
+ */
+@Service
+public class TFireWorkPermitServiceImpl implements ITFireWorkPermitService
+{
+    @Autowired
+    private TFireWorkPermitMapper tFireWorkPermitMapper;
+
+    /**
+     * 查询【请填写功能名称】
+     *
+     * @param hId 【请填写功能名称】ID
+     * @return 【请填写功能名称】
+     */
+    @Override
+    public TFireWorkPermit selectTFireWorkPermitById(Long hId)
+    {
+        return tFireWorkPermitMapper.selectTFireWorkPermitById(hId);
+    }
+
+    /**
+     * 查询【请填写功能名称】列表
+     *
+     * @param tFireWorkPermit 【请填写功能名称】
+     * @return 【请填写功能名称】
+     */
+    @Override
+    public List<TFireWorkPermit> selectTFireWorkPermitList(TFireWorkPermit tFireWorkPermit)
+    {
+        return tFireWorkPermitMapper.selectTFireWorkPermitList(tFireWorkPermit);
+    }
+
+    /**
+     * 新增【请填写功能名称】
+     *
+     * @param tFireWorkPermit 【请填写功能名称】
+     * @return 结果
+     */
+    @Override
+    public int insertTFireWorkPermit(TFireWorkPermit tFireWorkPermit)
+    {
+        return tFireWorkPermitMapper.insertTFireWorkPermit(tFireWorkPermit);
+    }
+
+    /**
+     * 修改【请填写功能名称】
+     *
+     * @param tFireWorkPermit 【请填写功能名称】
+     * @return 结果
+     */
+    @Override
+    public int updateTFireWorkPermit(TFireWorkPermit tFireWorkPermit)
+    {
+        return tFireWorkPermitMapper.updateTFireWorkPermit(tFireWorkPermit);
+    }
+
+    /**
+     * 批量删除【请填写功能名称】
+     *
+     * @param hIds 需要删除的【请填写功能名称】ID
+     * @return 结果
+     */
+    @Override
+    public int deleteTFireWorkPermitByIds(Long[] hIds)
+    {
+        return tFireWorkPermitMapper.deleteTFireWorkPermitByIds(hIds);
+    }
+
+    /**
+     * 删除【请填写功能名称】信息
+     *
+     * @param hId 【请填写功能名称】ID
+     * @return 结果
+     */
+    @Override
+    public int deleteTFireWorkPermitById(Long hId)
+    {
+        return tFireWorkPermitMapper.deleteTFireWorkPermitById(hId);
+    }
+}

+ 1 - 1
master/src/main/resources/application.yml

@@ -189,7 +189,7 @@ jodconverter:
   local:
     enabled: true
     # 设置LibreOffice主目录
-    #    office-home: /opt/libreoffice6.4
+    #    office-home: /opt/libreoffice7.2  C:/Program Files/LibreOffice
     office-home: C:/Program Files/LibreOffice
     # 开启多个LibreOffice进程,每个端口对应一个进程
     portNumbers: 9090,9081,9089

파일 크기가 너무 크기때문에 변경 상태를 표시하지 않습니다.
+ 218 - 0
master/src/main/resources/mybatis/ticket/TFireWorkPermitMapper.xml


+ 6 - 1
master/src/main/resources/mybatis/ticket/THazardWorkPermitMapper.xml

@@ -250,6 +250,7 @@
         <result property="mOtherLicenceTwo" column="m_other_licence_two"/>
         <result property="mOtherLicenceThree" column="m_other_licence_three"/>
         <result property="wordUrl" column="word_url"/>
+        <result property="pdfUrl" column="pdf_url"/>
     </resultMap>
 
     <sql id="selectTHazardWorkPermitVo">
@@ -497,7 +498,8 @@
                d.m_other_licence_one,
                d.m_other_licence_two,
                d.m_other_licence_three,
-               d.word_url
+               d.word_url,
+               d.pdf_url
         from t_hazard_work_permit d
     </sql>
 
@@ -761,6 +763,7 @@
             <if test="mOtherLicenceTwo != null">m_other_licence_two,</if>
             <if test="mOtherLicenceThree != null">m_other_licence_three,</if>
             <if test="wordUrl != null">word_url,</if>
+            <if test="pdfUrl != null">pdf_url,</if>
         </trim>
         <trim prefix="values (" suffix=")" suffixOverrides=",">
             <if test="aId != null">#{aId},</if>
@@ -1008,6 +1011,7 @@
             <if test="mOtherLicenceTwo != null">#{mOtherLicenceTwo},</if>
             <if test="mOtherLicenceThree != null">#{mOtherLicenceThree},</if>
             <if test="wordUrl != null">#{wordUrl},</if>
+            <if test="pdfUrl != null">#{pdfUrl},</if>
         </trim>
     </insert>
 
@@ -1258,6 +1262,7 @@
             <if test="mOtherLicenceTwo != null">m_other_licence_two = #{mOtherLicenceTwo},</if>
             <if test="mOtherLicenceThree != null">m_other_licence_three = #{mOtherLicenceThree},</if>
             <if test="wordUrl != null">word_url = #{wordUrl},</if>
+            <if test="pdfUrl != null">pdf_url = #{pdfUrl},</if>
         </trim>
         where a_id = #{aId}
     </update>

+ 1 - 0
master/src/main/resources/mybatis/ticket/TPermitRelationMapper.xml

@@ -21,6 +21,7 @@
         SELECT t.id,
                a.a_id           AS aId,
                a.word_url           AS wordUrl,
+               a.pdf_url           AS pdfUrl,
                c.c_id           AS cId,
                a.B_WORK_CONTENT AS bWorkContent,
                c.B_WORK_CONTENT AS cbWorkContent,

+ 53 - 0
ui/src/api/invoicing/firework.js

@@ -0,0 +1,53 @@
+import request from '@/utils/request'
+
+// 查询【请填写功能名称】列表
+export function listPermit(query) {
+  return request({
+    url: '/ticket/permit/list',
+    method: 'get',
+    params: query
+  })
+}
+
+// 查询【请填写功能名称】详细
+export function getPermit(hId) {
+  return request({
+    url: '/ticket/permit/' + hId,
+    method: 'get'
+  })
+}
+
+// 新增【请填写功能名称】
+export function addPermit(data) {
+  return request({
+    url: '/ticket/permit',
+    method: 'post',
+    data: data
+  })
+}
+
+// 修改【请填写功能名称】
+export function updatePermit(data) {
+  return request({
+    url: '/ticket/permit',
+    method: 'put',
+    data: data
+  })
+}
+
+// 删除【请填写功能名称】
+export function delPermit(hId) {
+  return request({
+    url: '/ticket/permit/' + hId,
+    method: 'delete'
+  })
+}
+
+// 导出【请填写功能名称】
+export function exportPermit(query) {
+  return request({
+    url: '/ticket/permit/export',
+    method: 'get',
+    params: query
+  })
+}

+ 9 - 0
ui/src/api/invoicing/hazardwork.js

@@ -10,6 +10,15 @@ export function addTicket(data) {
   })
 }
 
+// 关联火票
+export function addFireTicket(data) {
+  return request({
+    url: '/ticket/hazardworks/addFire',
+    method: 'post',
+    data: data
+  })
+}
+
 // 修改票据
 export function updateTicket(data) {
   return request({

+ 3 - 0
ui/src/views/invoicing/firework/index.vue

@@ -1,4 +1,5 @@
 <template>
+  <el-form ref="form" :model="form" :rules="rules">
   <div class="hazardwork" style="background-color: #E6BCE0;">
     <table>
       <tr>
@@ -1373,6 +1374,7 @@
       </el-col>
     </el-row>
   </div>
+  </el-form>
 </template>
 <script>
 import {
@@ -1649,6 +1651,7 @@ export default {
     if (id != null) {
       getInfo(id).then(response => {
         // this.form = response.data
+          this.aId = id
           this.aEquipmentName = response.data.aEquipmentName,
           this.aEquipmentLeader= response.data.aEquipmentLeader,
           this.aEquipmentTel= response.data.aEquipmentTel,

+ 112 - 29
ui/src/views/invoicing/hazardwork/index.vue

@@ -1,5 +1,5 @@
 <template>
-  <el-form>
+  <el-form ref="form" :model="form" :rules="rules">
     <div class="hazardwork" style="background-color: #C5E0B3;">
       <table>
         <tr>
@@ -41,6 +41,7 @@
         <el-col :span="12">
             <el-collapse v-model="activeNames">
               <el-collapse-item name="1" title="A 基本信息">
+                <el-form-item prop="ruleA1">
                   <table>
                     <tr>
                       <td>1.</td>
@@ -52,8 +53,10 @@
                           </el-option>
                         </el-select>
                       </td>
-                      <td>生产装置主管:<el-input style="width: 100px;" v-model="form.aEquipmentLeader"/>
+
+                      <td>生产装置主管:<el-input style="width: 100px;" v-model="form.aEquipmentLeader" />
                       </td>
+
                       <td>
                         <i class="el-icon-phone">:</i>
                         <el-input style="width: 70px;" v-model="form.aEquipmentTel"/>
@@ -131,8 +134,10 @@
                       </td>
                     </tr>
                   </table>
+                </el-form-item>
               </el-collapse-item>
               <el-collapse-item title="B 工作内容" name="2">
+                <el-form-item prop="ruleB">
                 <table>
                   <tr>
                     <td>1.</td>
@@ -157,12 +162,16 @@
                     <td>3.</td>
                     <td>有效期:由
                       <el-date-picker v-model="value1" type="datetimerange" range-separator="至" start-placeholder="开始日期"
-                                      end-placeholder="结束日期" format="yyyy-MM-dd HH:mm:ss"
-                                      value-format="yyyy-MM-dd HH:mm:ss">
+                                      end-placeholder="结束日期" format="yyyy-MM-dd HH:mm"
+                                      value-format="yyyy-MM-dd HH:mm"
+                                      :default-time="['9:00:00', '17:00:00']"
+                                      :picker-options="pickerOptions"
+                                      >
                       </el-date-picker>
                     </td>
                   </tr>
                 </table>
+                </el-form-item>
               </el-collapse-item>
               <el-collapse-item title="C 危害识别" name="3">
                 <table>
@@ -1342,6 +1351,10 @@
                       <el-button type="primary" slot="append" @click="signCard('dPartakeBriefingSign')"
                                  icon="el-icon-edit"
                                  :disabled="this.form.dIsSafeBriefing==1?false:true"></el-button>
+
+                      <el-button type="primary" slot="append" @click="uploadFile('dPartakeBriefingSign')"
+                                 icon="el-icon-link"
+                                 :disabled="this.form.dIsSafeBriefing==1?false:false"></el-button>
                     </td>
                   </tr>
                   <tr>
@@ -2048,8 +2061,49 @@ import {getForType} from "@/api/configuration/protect";
 export default {
   components: {SignCard},
   data() {
+    var validateruleA1 = (rule, value, callback) => {
+      if (!this.form.aEquipmentName) {
+        callback(this.$message.error('生产装置名称不能为空'))
+      }else if(!this.form.aEquipmentLeader){
+        callback(this.$message.error('生产装置主管不能为空'))
+      }else if(!this.form.aEquipmentTel){
+        callback(this.$message.error('生产装置电话不能为空'))
+      }else if(!this.form.aEquipmentOffice){
+        callback(this.$message.error('生产装置办公室不能为空'))
+      }else if(!this.form.aConstructionName){
+        callback(this.$message.error('施工单位名称不能为空'))
+      }else if(!this.form.aConstructionLeader){
+        callback(new Error('施工单位主管不能为空'))
+      }else if(!this.form.aConstructionTel){
+        callback(new Error('施工单位电话不能为空'))
+      }else if(!this.form.aConstructionOffice){
+        callback(new Error('施工单位办公室不能为空'))
+      }else if(!this.form.aContractorName){
+        callback(new Error('用户不能为空'))
+      }else if(!this.form.aContractorLeader){
+        callback(new Error('用户主管不能为空'))
+      }else if(!this.form.aContractorTel){
+        callback(new Error('用户电话不能为空'))
+      }else if(!this.form.aContractorOffice){
+        callback(new Error('用户办公室不能为空'))
+      }else {
+        callback();
+      }
+    };
+    var validateruleB = (rule, value, callback) => {
+      if (!this.form.bDeviceName) {
+        callback(this.$message.error('装置设备名称不能为空'))
+      }else if(!this.form.bWorkContent){
+        callback(this.$message.error('工作内容描述不能为空'))
+      }else if(!this.form.bAreaNo){
+        callback(this.$message.error('位置/区域号不能为空'))
+      }else {
+        callback();
+      }
+    };
     return {
       signCardVisible: false,
+
       //TODO 模拟生产装置获取后台数据
       aEquipments: [{
         value: 'CTM',
@@ -2497,6 +2551,15 @@ export default {
         mOtherLicenceTwo: null,
         mOtherLicenceThree: null,
       },
+      // 表单校验
+      rules: {
+        ruleA1: [
+          { validator: validateruleA1, trigger: 'blur' }
+        ],
+        ruleB: [
+          { validator: validateruleB, trigger: 'blur' }
+        ],
+      },
       /* 日期格式模板,目前年月日均默认当日 */
       /* value1: [
                 new Date(2000, 10, 10, 10, 10),
@@ -2507,6 +2570,17 @@ export default {
         new Date(new Date().getFullYear(), new Date().getMonth(), new Date().getDate(), 17, 0),
         */
       value1: [],
+      pickerOptions: {
+        shortcuts: [{
+          text: '当天有效期',
+          onClick(picker) {
+            const end = new Date();
+            const start = new Date();
+            end.setTime(new Date(new Date().getFullYear(), new Date().getMonth(), new Date().getDate(), 17, 0));
+            picker.$emit('pick', [start, end]);
+          }
+        }]
+      },
       timeValue: [],
       //新增修改窗口内容是否展开
       activeNames: ['1', '2', '3', '4', '5', '6', '7', '8', '9', '10', '11', '12', '13', '14', '15'],
@@ -2647,37 +2721,43 @@ export default {
       updateTicket(this.form).then(response => {
         this.msgSuccess(this.$t('票据数据已更新'));
       });
-      // addTicket(this.form).then(response => {
-      //   this.msgSuccess(this.$t('票据数据已更新'));
-      // });
+
     },
     //点击生成ID
     aIdClick() {
-      if (this.form.aId == null) {
-        addTicket(this.form).then(response => {
-          this.form.aId = response.data;
-          this.msgSuccess(this.$t('生成ID成功'));
-        });
-        this.aIdDisabled = true;
-      } else {
+      this.$refs["form"].validate(valid => {
+        if (valid) {
+          if (this.form.aId == null) {
+            addTicket(this.form).then(response => {
+              this.form.aId = response.data;
+              this.msgSuccess(this.$t('生成ID成功'));
+            });
+            this.aIdDisabled = true;
+          } else {
+          }
+        }
+      });
 
-      }
     },
     //点击生成火票
     aIdFireClick() {
-      let routeData = this.$router.resolve({
-        path: "/firework",
-        query:{aId: this.form.aId}
-      });
-      window.open(routeData.href, '_blank');
-      // if (this.form.aId == null) {
-      //   addTicket(this.form).then(response => {
-      //     this.form.aId = response.data;
-      //     this.msgSuccess(this.$t('生成ID成功'));
-      //   });
-      //   this.aIdDisabled = true;
-      // } else {
-      // }
+      if (this.form.aId == null) {
+        this.$refs["form"].validate(valid => {
+          if (valid) {
+              addTicket(this.form).then(response => {
+                this.form.aId = response.data;
+                this.$nextTick(() => {
+                  let routeData = this.$router.resolve({
+                    path: "/firework",
+                    query:{aId: this.form.aId}
+                  });
+                  window.open(routeData.href, '_blank');
+                })
+              });
+              this.aIdDisabled = true;
+          }
+        })
+      }
     },
     //生产装置后台数据联动
     aEquipmentChange(val) {
@@ -3191,6 +3271,10 @@ export default {
       if (this.form.gIsSpecialAssessment == '0') {
         this.form.gSpecialAssessment = null;
       }
+    },
+    //上传附件
+    uploadFile(type){
+
     },
     //IC卡签名
     signCard(type) {
@@ -3481,7 +3565,6 @@ export default {
   .el-input__inner {
     border: 0;
     border-radius: 0px;
-
     &:focus {
       border-bottom: 1px solid #409eff;
     }

+ 4269 - 0
ui/src/views/invoicing/hazardwork/index2.vue

@@ -0,0 +1,4269 @@
+<template>
+  <el-form ref="form" :model="form" :rules="rules">
+    <div class="hazardwork" style="background-color: #C5E0B3;">
+      <table>
+        <tr>
+          <td></td>
+          <td></td>
+          <td></td>
+          <td>修订:04</td>
+        </tr>
+        <tr>
+          <td rowspan="3" width="50px" align="center">表格</td>
+          <td rowspan="3" width="200px" align="center"><b>C00-6.3.0-00FSH-207.0</b></td>
+          <td rowspan="3" width="400px" align="center"><b>危害工作许可证 危害评估及安全措施</b></td>
+          <td>日期:18-5-2018</td>
+        </tr>
+        <tr>
+          <td colspan="3">
+            <div>
+              <el-input style="width: 200px;" v-model="form.aId" placeholder="点击生成票据ID" @focus="aIdClick"
+                        :disabled="aIdDisabled">
+                <i slot="prefix" class="el-input__icon el-icon-word">A</i>
+              </el-input>
+            </div>
+          </td>
+          <td>
+            <el-button @click="allExpand">全部展开</el-button>
+          </td>
+          <td>
+            <el-button @click="allShrink">全部关闭</el-button>
+          </td>
+          <td>
+            <el-form-item>
+              <el-button type="primary" v-show="form.aId" @click="onSubmit">提交当前数据</el-button>
+            </el-form-item>
+          </td>
+        </tr>
+      </table>
+      <el-row :gutter="20">
+        <!-- 左侧栏 -->
+        <el-col :span="12">
+            <el-collapse v-model="activeNames">
+              <el-collapse-item name="1" title="A 基本信息">
+                <el-form-item prop="ruleA1">
+                  <table>
+                    <tr>
+                      <td>1.</td>
+                      <td>
+                        生产装置:<el-select v-model="form.aEquipmentName" filterable placeholder="请选择生产装置"
+                                   @change="aEquipmentChange(form.aEquipmentName)">
+                          <el-option v-for="item in aEquipments" :key="item.value" :label="item.label"
+                                     :value="item.value">
+                          </el-option>
+                        </el-select>
+                      </td>
+
+                      <td>生产装置主管:<el-input style="width: 100px;" v-model="form.aEquipmentLeader" />
+                      </td>
+
+                      <td>
+                        <i class="el-icon-phone">:</i>
+                        <el-input style="width: 70px;" v-model="form.aEquipmentTel"/>
+                      </td>
+                      <td>
+                        办公室:<el-input style="width: 70px;" v-model="form.aEquipmentOffice"/>
+                      </td>
+                    </tr>
+                    <tr>
+                      <td>2.</td>
+                      <td>施工单位:<el-select v-model="form.aConstructionName" filterable placeholder="请选择施工单位"
+                                   @change="aConstructionChange(form.aConstructionName)">
+                          <el-option v-for="item in aConstructions" :key="item.deptId" :label="item.deptName"
+                                     :value="item.deptId">
+                          </el-option>
+                        </el-select>
+                      </td>
+                      <td>施工单位主管:<el-input style="width: 100px;" v-model="form.aConstructionLeader"/>
+                      </td>
+                      <td>
+                        <i class="el-icon-phone">:</i>
+                        <el-input style="width: 70px;" v-model="form.aConstructionTel"/>
+                      </td>
+                      <td>
+                        办公室:<el-input style="width: 70px;" v-model="form.aConstructionOffice"/>
+                      </td>
+                    </tr>
+                    <tr>
+                      <td>3.</td>
+                      <td>用户(涉及外部承包商时):<el-select v-model="form.aContractorName" filterable placeholder="请选择用户"
+                                   @change="aContractorChange(form.aContractorName)">
+                          <el-option v-for="item in aContractors" :key="item.value" :label="item.label"
+                                     :value="item.value">
+                          </el-option>
+                        </el-select>
+                      </td>
+                      <td align="right">用户主管:<el-input style="width: 100px;" v-model="form.aContractorLeader"/>
+                      </td>
+                      <td>
+                        <i class="el-icon-phone">:</i>
+                        <el-input style="width: 70px;" v-model="form.aContractorTel"/>
+                      </td>
+                      <td>
+                        办公室:<el-input style="width: 70px;" v-model="form.aContractorOffice"/>
+                      </td>
+                    <tr>
+                      <td>4.</td>
+                      <td class="short-radio">需要安全联络员?<el-radio v-model="form.aIsNeedSafeLiaison" label="1">是</el-radio>
+                        <el-radio v-model="form.aIsNeedSafeLiaison" label="2" @change="cleanSafeLiaison">否</el-radio>
+                        姓名:<el-select v-model="form.aSafeLiaisonName" filterable placeholder="请选择安全联络员"
+                                   @change="aSafeLiaisonChange(form.aSafeLiaisonName)"
+                                   :disabled="this.form.aIsNeedSafeLiaison==1?false:true" style="width: 150px">
+                          <el-option v-for="item in aSafeLiaisons" :key="item.value" :label="item.label"
+                                     :value="item.value">
+                          </el-option>
+                        </el-select>
+                      </td>
+                      <td align="right">
+                        签名:<el-input style="width: 100px;" v-model="form.aSafeLiaisonSign" readonly @focus="signCard('aSafeLiaisonSign')"
+                                  :disabled="this.form.aIsNeedSafeLiaison==1?false:true">
+                          <i slot="prefix" class="el-input__icon el-icon-edit"></i>
+                        </el-input>
+<!--                        <el-button type="primary" slot="append"-->
+<!--                                   icon="el-icon-edit"-->
+<!--                                   :disabled="this.form.aIsNeedSafeLiaison==1?false:true"></el-button>-->
+                      </td>
+                      <td>
+                        <i class="el-icon-phone">:</i>
+                        <el-input style="width: 70px;" v-model="form.aSafeLiaisonTel"
+                                  :disabled="this.form.aIsNeedSafeLiaison==1?false:true"/>
+                      </td>
+                      <td>
+                        办公室:<el-input style="width: 70px;" v-model="form.aSafeLiaisonOffice"
+                                  :disabled="this.form.aIsNeedSafeLiaison==1?false:true"/>
+                      </td>
+                    </tr>
+                  </table>
+                </el-form-item>
+              </el-collapse-item>
+              <el-collapse-item title="B 工作内容" name="2">
+                <table>
+                  <tr>
+                    <td>1.</td>
+                    <td>装置设备:
+                      <el-select v-model="form.bDeviceName" filterable placeholder="请选择装置设备"
+                                 @change="bDeviceChange(form.bDeviceName)" style="width: 150px">
+                        <el-option v-for="item in bDevices" :key="item.id" :label="item.devName" :value="item.id">
+                        </el-option>
+                      </el-select>
+                    </td>
+                    <td>位置/区域号:
+                      <el-input style="width: 200px;" v-model="form.bAreaNo"/>
+                    </td>
+                  </tr>
+                  <tr>
+                    <td style="vertical-align: top">2.</td>
+                    <td colspan="2" style="vertical-align: top">工作内容描述:
+                      <el-input type="textarea" style="width: 80%;vertical-align: top" v-model="form.bWorkContent"/>
+                    </td>
+                  </tr>
+                  <tr>
+                    <td>3.</td>
+                    <td>有效期:由
+                      <el-date-picker v-model="value1" type="datetimerange" range-separator="至" start-placeholder="开始日期"
+                                      end-placeholder="结束日期" format="yyyy-MM-dd HH:mm"
+                                      value-format="yyyy-MM-dd HH:mm"
+                                      :default-time="['9:00:00', '17:00:00']"
+                                      :picker-options="pickerOptions"
+                                      >
+                      </el-date-picker>
+                    </td>
+                  </tr>
+                </table>
+              </el-collapse-item>
+              <el-collapse-item title="C 危害识别" name="3">
+                <table>
+                  <tr>
+                    <td>
+                      <el-checkbox v-model="isYesDanger" true-label="1" false-label="0"/>
+                    </td>
+                    <td colspan="10">危害物质(正常运行时存在于设备中的物料名称):
+                      <!-- 物料数据源绑定 -->
+                      <el-select v-model="form.cHarmMatterName" clearable placeholder="请选择物料名称"
+                                 @change="selectChange(form.cHarmMatterName)">
+                        <el-option v-for="item in matterNames" :key="item.id" :label="item.matterName" :value="item.id">
+                        </el-option>
+                      </el-select>
+                    </td>
+                  </tr>
+                  <!-- 图标及物料特性根据物料进行动态展示 -->
+                  <tr style="text-align: center;">
+                    <td style="width: 20px;">
+                      <el-checkbox v-model="form.cIsDanger" true-label="1" false-label="0"/>
+                    </td>
+                    <td>危险</td>
+                    <td style="width: 80px;">
+                      <el-image style="width: 70px;height: 70px;" :src="require('@/assets/image/toxicIcon.png')">
+                      </el-image>
+                    </td>
+                    <td style="width: 80px;">
+                      <el-image style="width: 70px;height: 70px;" :src="require('@/assets/image/flammableIcon.png')">
+                      </el-image>
+                    </td>
+                    <td style="width: 80px;">
+                      <el-image style="width: 70px;height: 70px;" :src="require('@/assets/image/oxidizingIcon.png')">
+                      </el-image>
+                    </td>
+                    <td style="width: 80px;">
+                      <el-image style="width: 70px;height: 70px;" :src="require('@/assets/image/explosiveIcon.png')">
+                      </el-image>
+                    </td>
+                    <td style="width: 80px;">
+                      <el-image style="width: 70px;height: 70px;" :src="require('@/assets/image/corrosiveIcon.png')">
+                      </el-image>
+                    </td>
+                    <td style="width: 80px;">
+                      <el-image style="width: 70px;height: 70px;"
+                                :src="require('@/assets/image/irritantSensitizationToxicIcon.png')">
+                      </el-image>
+                    </td>
+                    <td style="width: 80px;">
+                      <el-image style="width: 70px;height: 70px;" :src="require('@/assets/image/healthHazardIcon.png')">
+                      </el-image>
+                    </td>
+                    <td style="width: 80px;">
+                      <el-image style="width: 70px;height: 70px;"
+                                :src="require('@/assets/image/compressedGasIcon.png')">
+                      </el-image>
+                    </td>
+                    <td style="width: 80px;">
+                      <el-image style="width: 70px;height: 70px;"
+                                :src="require('@/assets/image/environmentalHazardIcon.png')">
+                      </el-image>
+                    </td>
+                  </tr>
+                  <tr style="text-align: center;">
+                    <td>
+                      <el-checkbox v-model="form.cIsAttention" true-label="1" false-label="0"/>
+                    </td>
+                    <td>注意</td>
+                    <td style="width: 50px;">毒性<br>
+                      <el-checkbox v-model="cIsToxic" true-label="1" false-label="0"/>
+                    </td>
+                    <td style="width: 50px;">易燃性<br>
+                      <el-checkbox v-model="cIsFlammable" true-label="1" false-label="0"/>
+                    </td>
+                    <td style="width: 50px;">氧化性<br>
+                      <el-checkbox v-model="cIsOxidizing" true-label="1" false-label="0"/>
+                    </td>
+                    <td style="width: 50px;">爆炸性<br>
+                      <el-checkbox v-model="cIsExplosive" true-label="1" false-label="0"/>
+                    </td>
+                    <td style="width: 50px;">腐蚀性<br>
+                      <el-checkbox v-model="cIsCorrosive" true-label="1" false-label="0"/>
+                    </td>
+                    <td style="width: 120px;">刺激性/致敏性/毒性<br>
+                      <el-checkbox v-model="cIsIrritantToxic" true-label="1" false-label="0"/>
+                    </td>
+                    <td style="width: 70px;">健康危害<br>
+                      <el-checkbox v-model="cIsHealthHazard" true-label="1" false-label="0"/>
+                    </td>
+                    <td style="width: 70px;">压力下气体<br>
+                      <el-checkbox v-model="cIsCompressedGas" true-label="1" false-label="0"/>
+                    </td>
+                    <td style="width: 90px;">危害水生环境<br>
+                      <el-checkbox v-model="cIsEnvironmentalHazard" true-label="1" false-label="0"/>
+                    </td>
+                  </tr>
+                </table>
+                <table>
+                  <tr>
+                    <td>
+                      <el-checkbox v-model="isEquipmentHazards" true-label="1" false-label="0"
+                                   @change="eHazardsChange"/>
+                    </td>
+                    <td colspan="5" class="short-checkbox">
+                      设备内物质处于危险状态
+                      (
+                      <el-checkbox v-model="form.cIsHighTemp" true-label="1" false-label="0"
+                                   :disabled="this.isEquipmentHazards==true?false:true" @change="highTempChange"/>高温
+                      /
+                      <el-checkbox v-model="form.cIsLowTemp" true-label="1" false-label="0"
+                                   :disabled="this.isEquipmentHazards==true?false:true"
+                                   @change="lowTempChange"/>低温;
+                      <el-checkbox v-model="form.cIsPosPressure" true-label="1" false-label="0"
+                                   :disabled="this.isEquipmentHazards==true?false:true"
+                                   @change="posPressureChange"/>正压
+                      /
+                      <el-checkbox v-model="form.cIsNegPressure" true-label="1" false-label="0"
+                                   :disabled="this.isEquipmentHazards==true?false:true"
+                                   @change="negPressureChange"/>负压
+                      )
+                    </td>
+                    <td>
+                      <el-checkbox v-model="form.cIsHazardsProd" true-label="1" false-label="0"
+                                   @change="cHazardsProdChange"/>
+                    </td>
+                    <td colspan="4">施工对生产单位的危害:
+                      <el-input style="width: 150px;" v-model="form.cIsHazardsProdContent"
+                                :disabled="this.form.cIsHazardsProd==true?false:true"/>
+                    </td>
+                  </tr>
+                  <tr>
+                    <td>
+                      <el-checkbox v-model="isFacilityHazards" true-label="1" false-label="0" @change="facilityChange"/>
+                    </td>
+                    <td colspan="5" class="short-checkbox">
+                      来自设备/设施的危害(
+                      <el-checkbox v-model="form.cIsMovingParts" true-label="1" false-label="0"
+                                   :disabled="this.isFacilityHazards==true?false:true"/>移动部件,
+                      <el-checkbox v-model="form.cIsHotSurfaces" true-label="1" false-label="0"
+                                   :disabled="this.isFacilityHazards==true?false:true"
+                                   @change="hotSurfacesChange"/>热表面/
+                      <el-checkbox v-model="form.cIsColdSurfaces" true-label="1" false-label="0"
+                                   :disabled="this.isFacilityHazards==true?false:true"
+                                   @change="coldSurfacesChange"/>冷表面,
+                      <el-checkbox v-model="form.cIsVoltages" true-label="1" false-label="0"
+                                   :disabled="this.isFacilityHazards==true?false:true"/>电压
+                      )
+                    </td>
+                    <td>
+                      <el-checkbox v-model="form.cIsFire" true-label="1" false-label="0"/>
+                    </td>
+                    <td>火灾或爆炸性危害,参考动火许可证:
+                      <el-input style="width: 140px;" v-model="form.cHId"
+                                @click.native="aIdFireClick"  >
+<!--                                :disabled="this.form.cIsFire==true?false:true">-->
+                        <i slot="prefix" class="el-input__icon el-icon-word">H</i></el-input>
+                    </td>
+                  </tr>
+                  <tr>
+                    <td>
+                      <el-checkbox v-model="form.cIsWorkProtective" true-label="1" false-label="0"
+                                   @change="workProChange"/>
+                    </td>
+                    <td colspan="5" class="short-checkbox">安全保护设备的施工(
+                      <el-checkbox v-model="form.cIsDy" true-label="1" false-label="0"
+                                   :disabled="form.cIsWorkProtective==1?false:true"/>电仪安全保护设备
+                      <el-checkbox v-model="form.cIsAqf" true-label="1" false-label="0"
+                                   :disabled="form.cIsWorkProtective==1?false:true"/>安全阀
+                      <el-checkbox v-model="form.cIsLq" true-label="1" false-label="0"
+                                   :disabled="form.cIsWorkProtective==1?false:true"/>冷却系统)
+                    </td>
+                  </tr>
+                  <tr>
+                    <td>
+                      <el-checkbox v-model="form.cIsOtherDanger" true-label="1" false-label="0"
+                                   @change="otherDangerChange"/>
+                    </td>
+                    <td colspan="5">其他危害:
+                      <el-select style="width: 365px;" v-model="form.cOtherDangerContent" filterable
+                                 :disabled="this.form.cIsOtherDanger==true?false:true">
+                        <el-option v-for="item in otherDangers" :key="item.id" :label="item.name" :value="item.id">
+                        </el-option>
+                      </el-select>
+                    </td>
+                    <td colspan="5" rowspan="2">
+<!--                      <el-input style="width: 150px;" v-model="form.cHId"-->
+<!--                                :disabled="this.form.cIsFire==true?false:true"/>-->
+                    </td>
+                  </tr>
+                </table>
+              </el-collapse-item>
+              <el-collapse-item title="D 施工前的安全措施" name="4">
+                <table>
+                  <tr>
+                    <td>1.</td>
+                    <td><b>确保E&I设备安全</b></td>
+                    <td style="width: 30px; text-align: center;">是</td>
+                    <td style="width: 30px; text-align: center;">否</td>
+                    <td style="text-align: center;">安全措施完成,签名,日期</td>
+                    <td style="text-align: center;">安全措施撤销,签名,日期</td>
+                  </tr>
+                  <tr>
+                    <td>1.1</td>
+                    <td>通过打开安全开关断电并上锁和运转测试</td>
+                    <td style="width: 30px; text-align: center;">
+                      <el-checkbox v-model="form.dIsOpenSafe" true-label="1"/>
+                    </td>
+                    <td style="width: 30px; text-align: center;">
+                      <el-checkbox v-model="form.dIsOpenSafe" true-label="0" @change="dIsOpenSafeChange"/>
+                    </td>
+                    <td style="text-align: center;">
+                      <el-input style="width: 85px;" v-model="form.dSafeImplSign11" readonly :disabled="this.form.dIsOpenSafe==1?false:true" @focus="signCard('dSafeImplSign11')">
+                        <i slot="prefix" class="el-input__icon el-icon-edit"></i>
+                      </el-input>
+<!--                      <el-button type="primary" slot="append"-->
+<!--                                 icon="el-icon-edit"-->
+<!--                                 :disabled="this.form.dIsOpenSafe==1?false:true"></el-button>-->
+                      <el-date-picker style="width: 115px" v-model="form.dSafeImplDate11" type="date"
+                                      format="yyyy-MM-dd HH:mm:ss"
+                                      value-format="yyyy-MM-dd HH:mm:ss"
+                                      :disabled="this.form.dIsOpenSafe==1?false:true">
+                      </el-date-picker>
+                    </td>
+                    <td style="text-align: center;">
+                      <el-input style="width: 70px;" v-model="form.dSafeLiftedSign11" disabled/>
+                      <el-date-picker format="yyyy-MM-dd HH:mm:ss"
+                                      value-format="yyyy-MM-dd HH:mm:ss" style="width: 80px"
+                                      v-model="form.dSafeLiftedDate11" type="date" disabled>
+                      </el-date-picker>
+                    </td>
+                  </tr>
+                  <tr>
+                    <td rowspan="5">1.2</td>
+                    <td>断开电源通过:</td>
+                    <td style="width: 30px; text-align: center;">
+                      <el-checkbox v-model="form.dIsDkdyx" true-label="1" false-label="0"
+                                   :disabled="form.dIsOpenSafe != null?false:true"/>
+                    </td>
+                    <td style="width: 30px; text-align: center;">
+                      <el-checkbox v-model="form.dIsDkdyx" true-label="0" false-label="1" @change="dIsDkdyxChange"
+                                   :disabled="form.dIsOpenSafe != null?false:true"/>
+                    </td>
+                    <td style="text-align: center;">
+                      <el-input style="width: 85px;" v-model="form.dDkdyxImplSign" readonly :disabled="this.form.dIsDkdyx==1?false:true" @focus="signCard('dDkdyxImplSign')">
+                        <i slot="prefix" class="el-input__icon el-icon-edit"></i>
+                      </el-input>
+<!--                      <el-button type="primary" slot="append"-->
+<!--                                 icon="el-icon-edit"-->
+<!--                                 :disabled="this.form.dIsDkdyx==1?false:true"></el-button>-->
+                      <el-date-picker style="width: 115px" v-model="form.dDkdyxImplDate" type="date"
+                                      format="yyyy-MM-dd HH:mm:ss"
+                                      value-format="yyyy-MM-dd HH:mm:ss"
+                                      :disabled="this.form.dIsDkdyx==1?false:true">
+                      </el-date-picker>
+                    </td>
+                    <td style="text-align: center;">
+                      <el-input style="width: 70px;" v-model="form.dDkdyxLiftedSign" disabled/>
+                      <el-date-picker format="yyyy-MM-dd HH:mm:ss"
+                                      value-format="yyyy-MM-dd HH:mm:ss" style="width: 80px"
+                                      v-model="form.dDkdyxLiftedDate" type="date" disabled>
+                      </el-date-picker>
+                    </td>
+                  </tr>
+                  <tr>
+                    <td>断开电源线</td>
+                    <td style="width: 30px; text-align: center;">
+                      <el-checkbox v-model="form.dIsDisFeeder" true-label="1" false-label="0"
+                                   :disabled="form.dIsDkdyx != null?false:true"/>
+                    </td>
+                    <td style="width: 30px; text-align: center;">
+                      <el-checkbox v-model="form.dIsDisFeeder" true-label="0" false-label="1"
+                                   @change="dIsDisFeederChange"
+                                   :disabled="form.dIsDkdyx != null?false:true"/>
+                    </td>
+                    <td style="text-align: center;">
+                      <el-input style="width: 85px;" v-model="form.dDisFeederImplSign" readonly :disabled="this.form.dIsDisFeeder==1?false:true" @focus="signCard('dDisFeederImplSign')">
+                        <i slot="prefix" class="el-input__icon el-icon-edit"></i>
+                      </el-input>
+<!--                      <el-button type="primary" slot="append"-->
+<!--                                 icon="el-icon-edit"-->
+<!--                                 :disabled="this.form.dIsDisFeeder==1?false:true"></el-button>-->
+                      <el-date-picker style="width: 115px" v-model="form.dDisFeederImplDate" type="date"
+                                      format="yyyy-MM-dd HH:mm:ss"
+                                      value-format="yyyy-MM-dd HH:mm:ss"
+                                      :disabled="this.form.dIsDisFeeder==1?false:true">
+                      </el-date-picker>
+                    </td>
+                    <td style="text-align: center;">
+                      <el-input style="width: 70px;" v-model="form.dDisFeederLiftedSign" disabled/>
+                      <el-date-picker format="yyyy-MM-dd HH:mm:ss"
+                                      value-format="yyyy-MM-dd HH:mm:ss" style="width: 80px"
+                                      v-model="form.dDisFeederLiftedDate" type="date" disabled>
+                      </el-date-picker>
+                    </td>
+                  </tr>
+                  <tr>
+                    <td>断开回路开关并上锁和运转测试
+                      <el-input style="width: 150px;" v-model="form.dBreakInclContent"
+                                :disabled="this.form.dIsBreakIncl == 1?false:true"/>
+                    </td>
+                    <td style="width: 30px; text-align: center;">
+                      <el-checkbox v-model="form.dIsBreakIncl" true-label="1" false-label="0"
+                                   :disabled="this.form.dIsDisFeeder!= null?false:true"/>
+                    </td>
+                    <td style="width: 30px; text-align: center;">
+                      <el-checkbox v-model="form.dIsBreakIncl" true-label="0" false-label="1"
+                                   @change="dIsBreakInclChange"
+                                   :disabled="this.form.dIsDisFeeder!= null?false:true"/>
+                    </td>
+                    <td style="text-align: center;">
+                      <el-input style="width: 85px;" v-model="form.dBreakInclImplSign" readonly :disabled="this.form.dIsBreakIncl==1?false:true" @focus="signCard('dBreakInclImplSign')">
+                        <i slot="prefix" class="el-input__icon el-icon-edit"></i>
+                      </el-input>
+<!--                      <el-button type="primary" slot="append"-->
+<!--                                 icon="el-icon-edit"-->
+<!--                                 :disabled="this.form.dIsBreakIncl==1?false:true"></el-button>-->
+                      <el-date-picker style="width: 115px" v-model="form.dBreakInclImplDate" type="date"
+                                      format="yyyy-MM-dd HH:mm:ss"
+                                      value-format="yyyy-MM-dd HH:mm:ss"
+                                      :disabled="this.form.dIsBreakIncl==1?false:true">
+                      </el-date-picker>
+                    </td>
+                    <td style="text-align: center;">
+                      <el-input style="width: 70px;" v-model="form.dBreakInclLiftedSign" disabled/>
+                      <el-date-picker format="yyyy-MM-dd HH:mm:ss"
+                                      value-format="yyyy-MM-dd HH:mm:ss" style="width: 80px"
+                                      v-model="form.dBreakInclLiftedDate" type="date" disabled>
+                      </el-date-picker>
+                    </td>
+                  </tr>
+                  <tr>
+                    <td>电气回路编号:
+                      <el-input style="width: 150px;" v-model="form.dEleCircuitNo" @change="dElecircuitChange"
+                                :disabled="this.form.dIsDqhl == 1?false:true"/>
+                    </td>
+                    <td style="width: 30px; text-align: center;">
+                      <el-checkbox v-model="form.dIsDqhl" true-label="1" false-label="0"
+                                   :disabled="form.dIsBreakIncl != null?false:true"/>
+                    </td>
+                    <td style="width: 30px; text-align: center;">
+                      <el-checkbox v-model="form.dIsDqhl" true-label="0" false-label="1" @change="dIsDqhlChange"
+                                   :disabled="form.dIsBreakIncl != null?false:true"/>
+                    </td>
+                    <td style="text-align: center;">
+                      <el-input style="width: 85px;" v-model="form.dDqhlImplSign" readonly :disabled="this.form.dIsDqhl==1?false:true" @focus="signCard('dDqhlImplSign')">
+                        <i slot="prefix" class="el-input__icon el-icon-edit"></i>
+                      </el-input>
+                      <!--<el-button type="primary" slot="append" @click="signCard('dDqhlImplSign')"
+                                 icon="el-icon-edit"
+                                 :disabled="this.form.dIsDqhl==1?false:true"></el-button>-->
+                      <el-date-picker style="width: 115px" v-model="form.dDqhlImplDate" type="date"
+                                      format="yyyy-MM-dd HH:mm:ss"
+                                      value-format="yyyy-MM-dd HH:mm:ss"
+                                      :disabled="this.form.dIsDqhl==1?false:true">
+                      </el-date-picker>
+                    </td>
+                    <td style="text-align: center;">
+                      <el-input style="width: 70px;" v-model="form.dDqhlLiftedSign" disabled/>
+                      <el-date-picker format="yyyy-MM-dd HH:mm:ss"
+                                      value-format="yyyy-MM-dd HH:mm:ss" style="width: 80px"
+                                      v-model="form.dDqhlLiftedDate" type="date" disabled>
+                      </el-date-picker>
+                    </td>
+                  </tr>
+                  <tr>
+                    <td>仪表号/测点编号:
+                      <el-input style="width: 150px;" v-model="form.dInsTagNo" @change="dInsTagChange"
+                                :disabled="this.form.dIsYbh == 1?false:true"/>
+                    </td>
+                    <td style="width: 30px; text-align: center;">
+                      <el-checkbox v-model="form.dIsYbh" true-label="1" false-label="0"
+                                   :disabled="form.dIsDqhl != null?false:true"/>
+                    </td>
+                    <td style="width: 30px; text-align: center;">
+                      <el-checkbox v-model="form.dIsYbh" true-label="0" false-label="1" @change="dIsYbhChange"
+                                   :disabled="form.dIsDqhl != null?false:true"/>
+                    </td>
+                    <td style="text-align: center;">
+                      <el-input style="width: 85px;" v-model="form.dSafeImplSign12" readonly :disabled="this.form.dIsYbh==1?false:true" @focus="signCard('dSafeImplSign12')">
+                        <i slot="prefix" class="el-input__icon el-icon-edit"></i>
+                      </el-input>
+                      <!--<el-button type="primary" slot="append" @click="signCard('dSafeImplSign12')"
+                                 icon="el-icon-edit"
+                                 :disabled="this.form.dIsYbh==1?false:true"></el-button>-->
+                      <el-date-picker format="yyyy-MM-dd HH:mm:ss"
+                                      value-format="yyyy-MM-dd HH:mm:ss" style="width: 115px"
+                                      v-model="form.dSafeImplDate12" type="date"
+                                      :disabled="this.form.dIsYbh == 1?false:true">
+                      </el-date-picker>
+                    </td>
+                    <td style="text-align: center;">
+                      <el-input style="width: 70px;" v-model="form.dSafeLiftedSign12" disabled/>
+                      <el-date-picker format="yyyy-MM-dd HH:mm:ss"
+                                      value-format="yyyy-MM-dd HH:mm:ss" style="width: 80px"
+                                      v-model="form.dSafeLiftedDate12" type="date" disabled>
+                      </el-date-picker>
+                    </td>
+                  </tr>
+                  <tr>
+                    <td>1.3</td>
+                    <td>放射源由专业人员确保安全(日志)</td>
+                    <td style="width: 30px; text-align: center;">
+                      <el-checkbox v-model="form.dIsRadioactiveSources" true-label="1" false-label="0"
+                                   :disabled="this.form.dIsYbh!= null?false:true"/>
+                    </td>
+                    <td style="width: 30px; text-align: center;">
+                      <el-checkbox v-model="form.dIsRadioactiveSources" true-label="0" false-label="1"
+                                   @change="dIsRadioactiveSourcesChange"
+                                   :disabled="this.form.dIsYbh!= null?false:true"/>
+                    </td>
+                    <td style="text-align: center;">
+                      <el-input style="width: 85px;" v-model="form.dSafeImplSign13" readonly :disabled="this.form.dIsRadioactiveSources==1?false:true" @focus="signCard('dSafeImplSign13')">
+                        <i slot="prefix" class="el-input__icon el-icon-edit"></i>
+                      </el-input>
+                      <!--<el-button type="primary" slot="append" @click="signCard('dSafeImplSign13')"
+                                 icon="el-icon-edit"
+                                 :disabled="this.form.dIsRadioactiveSources==1?false:true"></el-button>-->
+                      <el-date-picker format="yyyy-MM-dd HH:mm:ss"
+                                      value-format="yyyy-MM-dd HH:mm:ss" style="width: 115px"
+                                      v-model="form.dSafeImplDate13" type="date"
+                                      :disabled="this.form.dIsRadioactiveSources==1?false:true">
+                      </el-date-picker>
+                    </td>
+                    <td style="text-align: center;">
+                      <el-input style="width: 70px;" v-model="form.dSafeLiftedSign13" disabled/>
+                      <el-date-picker format="yyyy-MM-dd HH:mm:ss"
+                                      value-format="yyyy-MM-dd HH:mm:ss" style="width: 80px"
+                                      v-model="form.dSafeLiftedDate13" type="date" disabled>
+                      </el-date-picker>
+                    </td>
+                  </tr>
+                  <tr>
+                    <td>1.4</td>
+                    <td>
+                      <el-input style="width: 150px;" v-model="form.dIsOtherEquSafeContent"
+                                :disabled="this.form.dIsOtherEquSafe == 1?false:true"/>
+                    </td>
+                    <td style="width: 30px; text-align: center;">
+                      <el-checkbox v-model="form.dIsOtherEquSafe" true-label="1" false-label="0"
+                                   :disabled="this.form.dIsRadioactiveSources!= null?false:true"/>
+                    </td>
+                    <td style="width: 30px; text-align: center;">
+                      <el-checkbox v-model="form.dIsOtherEquSafe" true-label="0" false-label="1"
+                                   @change="dIsOtherEquSafeChange"
+                                   :disabled="this.form.dIsRadioactiveSources!= null?false:true"/>
+                    </td>
+                    <td style="text-align: center;">
+                      <el-input style="width: 85px;" v-model="form.dSafeImplSign14" readonly :disabled="this.form.dIsOtherEquSafe==1?false:true" @focus="signCard('dSafeImplSign14')">
+                        <i slot="prefix" class="el-input__icon el-icon-edit"></i>
+                      </el-input>
+                      <!--<el-button type="primary" slot="append" @click="signCard('dSafeImplSign14')"
+                                 icon="el-icon-edit"
+                                 :disabled="this.form.dIsOtherEquSafe==1?false:true"></el-button>-->
+                      <el-date-picker format="yyyy-MM-dd HH:mm:ss"
+                                      value-format="yyyy-MM-dd HH:mm:ss" style="width: 115px"
+                                      v-model="form.dSafeImplDate14" type="date"
+                                      :disabled="this.form.dIsOtherEquSafe==1?false:true">
+                      </el-date-picker>
+                    </td>
+                    <td style="text-align: center;">
+                      <el-input style="width: 70px;" v-model="form.dSafeLiftedSign14" disabled/>
+                      <el-date-picker format="yyyy-MM-dd HH:mm:ss"
+                                      value-format="yyyy-MM-dd HH:mm:ss" style="width: 80px"
+                                      v-model="form.dSafeLiftedDate14" type="date" disabled>
+                      </el-date-picker>
+                    </td>
+                  </tr>
+                  <tr>
+                    <td>2.</td>
+                    <td><b>确保装置设备安全</b></td>
+                  </tr>
+                  <tr>
+                    <td>2.1</td>
+                    <td>泄压/排空</td>
+                    <td style="width: 30px; text-align: center;">
+                      <el-checkbox v-model="form.dIsDepress" true-label="1" false-label="0"
+                                   :disabled="this.form.dIsOtherEquSafe!= null?false:true"/>
+                    </td>
+                    <td style="width: 30px; text-align: center;">
+                      <el-checkbox v-model="form.dIsDepress" true-label="0" false-label="1" @change="dIsDepressChange"
+                                   :disabled="this.form.dIsOtherEquSafe!= null?false:true"/>
+                    </td>
+                    <td style="text-align: center;">
+                      <el-input style="width: 85px;" v-model="form.dSafeImplSign21" readonly :disabled="this.form.dIsDepress==1?false:true" @focus="signCard('dSafeImplSign21')">
+                        <i slot="prefix" class="el-input__icon el-icon-edit"></i>
+                      </el-input>
+                      <!--<el-button type="primary" slot="append" @click="signCard('dSafeImplSign21')"
+                                 icon="el-icon-edit"
+                                 :disabled="this.form.dIsDepress==1?false:true"></el-button>-->
+                      <el-date-picker format="yyyy-MM-dd HH:mm:ss"
+                                      value-format="yyyy-MM-dd HH:mm:ss" style="width: 115px"
+                                      v-model="form.dSafeImplDate21" type="date"
+                                      :disabled="this.form.dIsDepress==1?false:true">
+                      </el-date-picker>
+                    </td>
+                  </tr>
+                  <tr>
+                    <td>2.2</td>
+                    <td>单阀截断</td>
+                    <td style="width: 30px; text-align: center;">
+                      <el-checkbox v-model="form.dIsSingleBlocking" true-label="1" false-label="0"
+                                   :disabled="this.form.dIsDepress!= null?false:true"/>
+                    </td>
+                    <td style="width: 30px; text-align: center;">
+                      <el-checkbox v-model="form.dIsSingleBlocking" true-label="0" false-label="1"
+                                   @change="dIsSingleBlockingChange"
+                                   :disabled="this.form.dIsDepress!= null?false:true"/>
+                    </td>
+                    <td style="text-align: center;">
+                      <el-input style="width: 85px;" v-model="form.dSafeImplSign22" readonly :disabled="this.form.dIsSingleBlocking==1?false:true" @focus="signCard('dSafeImplSign22')">
+                        <i slot="prefix" class="el-input__icon el-icon-edit"></i>
+                      </el-input>
+                      <!--<el-button type="primary" slot="append" @click="signCard('dSafeImplSign22')"
+                                 icon="el-icon-edit"
+                                 :disabled="this.form.dIsSingleBlocking==1?false:true"></el-button>-->
+                      <el-date-picker format="yyyy-MM-dd HH:mm:ss"
+                                      value-format="yyyy-MM-dd HH:mm:ss" style="width: 115px"
+                                      v-model="form.dSafeImplDate22" type="date"
+                                      :disabled="this.form.dIsSingleBlocking==1?false:true">
+                      </el-date-picker>
+                    </td>
+                    <td style="text-align: center;">
+                      <el-input style="width: 70px;" v-model="form.dSafeLiftedSign22" disabled/>
+                      <el-date-picker format="yyyy-MM-dd HH:mm:ss"
+                                      value-format="yyyy-MM-dd HH:mm:ss" style="width: 80px"
+                                      v-model="form.dSafeLiftedDate22" type="date" disabled>
+                      </el-date-picker>
+                    </td>
+                  </tr>
+                  <tr>
+                    <td>
+                      2.3
+                    </td>
+                    <td>双阀截断与放空</td>
+                    <td style="width: 30px; text-align: center;">
+                      <el-checkbox v-model="form.dIsDoubleBlock" true-label="1" false-label="0"
+                                   :disabled="this.form.dIsSingleBlocking!= null?false:true"/>
+                    </td>
+                    <td style="width: 30px; text-align: center;">
+                      <el-checkbox v-model="form.dIsDoubleBlock" true-label="0" false-label="1"
+                                   @change="dIsDoubleBlockChange"
+                                   :disabled="this.form.dIsSingleBlocking!= null?false:true"/>
+                    </td>
+                    <td style="text-align: center;">
+                      <el-input style="width: 85px;" v-model="form.dSafeImplSign23" readonly :disabled="this.form.dIsDoubleBlock==1?false:true" @focus="signCard('dSafeImplSign23')">
+                        <i slot="prefix" class="el-input__icon el-icon-edit"></i>
+                      </el-input>
+                      <!--<el-button type="primary" slot="append" @click="signCard('dSafeImplSign23')"
+                                 icon="el-icon-edit"
+                                 :disabled="this.form.dIsDoubleBlock==1?false:true"></el-button>-->
+                      <el-date-picker format="yyyy-MM-dd HH:mm:ss"
+                                      value-format="yyyy-MM-dd HH:mm:ss" style="width: 115px"
+                                      v-model="form.dSafeImplDate23" type="date"
+                                      :disabled="this.form.dIsDoubleBlock==1?false:true">
+                      </el-date-picker>
+                    </td>
+                    <td style="text-align: center;">
+                      <el-input style="width: 70px;" v-model="form.dSafeLiftedSign23" disabled/>
+                      <el-date-picker format="yyyy-MM-dd HH:mm:ss"
+                                      value-format="yyyy-MM-dd HH:mm:ss" style="width: 80px"
+                                      v-model="form.dSafeLiftedDate23" type="date" disabled>
+                      </el-date-picker>
+                    </td>
+                  </tr>
+                  <tr>
+                    <td>2.4</td>
+                    <td>
+                      使用
+                      <el-input style="width: 150px;" v-model="form.dLockoutUsingContent"
+                                :disabled="this.form.dIsLockoutUsing==1?false:true"/>
+                      锁定
+                    </td>
+                    <td style="width: 30px; text-align: center;">
+                      <el-checkbox v-model="form.dIsLockoutUsing" true-label="1" false-label="0"
+                                   :disabled="this.form.dIsDoubleBlock!= null?false:true"/>
+                    </td>
+                    <td style="width: 30px; text-align: center;">
+                      <el-checkbox v-model="form.dIsLockoutUsing" true-label="0" false-label="1"
+                                   @change="dIsLockoutUsingChange"
+                                   :disabled="this.form.dIsDoubleBlock!= null?false:true"/>
+                    </td>
+                    <td style="text-align: center;">
+                      <el-input style="width: 85px;" v-model="form.dSafeImplSign24" readonly :disabled="this.form.dIsLockoutUsing==1?false:true" @focus="signCard('dSafeImplSign24')">
+                        <i slot="prefix" class="el-input__icon el-icon-edit"></i>
+                      </el-input>
+                      <!--<el-button type="primary" slot="append" @click="signCard('dSafeImplSign24')"
+                                 icon="el-icon-edit"
+                                 :disabled="this.form.dIsLockoutUsing==1?false:true"></el-button>-->
+                      <el-date-picker format="yyyy-MM-dd HH:mm:ss"
+                                      value-format="yyyy-MM-dd HH:mm:ss" style="width: 115px"
+                                      v-model="form.dSafeImplDate24" type="date"
+                                      :disabled="this.form.dIsLockoutUsing==1?false:true">
+                      </el-date-picker>
+                    </td>
+                    <td style="text-align: center;">
+                      <el-input style="width: 70px;" v-model="form.dSafeLiftedSign24" disabled/>
+                      <el-date-picker format="yyyy-MM-dd HH:mm:ss"
+                                      value-format="yyyy-MM-dd HH:mm:ss" style="width: 80px"
+                                      v-model="form.dSafeLiftedDate24" type="date" disabled>
+                      </el-date-picker>
+                    </td>
+                  </tr>
+                  <tr>
+                    <td>2.5</td>
+                    <td>移去部分管线/短接</td>
+                    <td style="width: 30px; text-align: center;">
+                      <el-checkbox v-model="form.dIsRemovePipe" true-label="1" false-label="0"
+                                   :disabled="this.form.dIsLockoutUsing!= null?false:true"/>
+                    </td>
+                    <td style="width: 30px; text-align: center;">
+                      <el-checkbox v-model="form.dIsRemovePipe" true-label="0" false-label="1"
+                                   @change="dIsRemovePipeChange"
+                                   :disabled="this.form.dIsLockoutUsing!= null?false:true"/>
+                    </td>
+                    <td style="text-align: center;">
+                      <el-input style="width: 85px;" v-model="form.dSafeImplSign25" readonly :disabled="this.form.dIsRemovePipe==1?false:true" @focus="signCard('dSafeImplSign25')">
+                        <i slot="prefix" class="el-input__icon el-icon-edit"></i>
+                      </el-input>
+                      <!--<el-button type="primary" slot="append" @click="signCard('dSafeImplSign25')"
+                                 icon="el-icon-edit"
+                                 :disabled="this.form.dIsRemovePipe==1?false:true"></el-button>-->
+                      <el-date-picker format="yyyy-MM-dd HH:mm:ss"
+                                      value-format="yyyy-MM-dd HH:mm:ss" style="width: 115px"
+                                      v-model="form.dSafeImplDate25" type="date"
+                                      :disabled="this.form.dIsRemovePipe==1?false:true">
+                      </el-date-picker>
+                    </td>
+                    <td style="text-align: center;">
+                      <el-input style="width: 70px;" v-model="form.dSafeLiftedSign25" disabled/>
+                      <el-date-picker format="yyyy-MM-dd HH:mm:ss"
+                                      value-format="yyyy-MM-dd HH:mm:ss" style="width: 80px"
+                                      v-model="form.dSafeLiftedDate25" type="date" disabled>
+                      </el-date-picker>
+                    </td>
+                  </tr>
+                  <tr>
+                    <td>2.6</td>
+                    <td>断开管线并加盖盲法兰</td>
+                    <td style="width: 30px; text-align: center;">
+                      <el-checkbox v-model="form.dIsDisPipes" true-label="1" false-label="0"
+                                   :disabled="this.form.dIsRemovePipe!= null?false:true"/>
+                    </td>
+                    <td style="width: 30px; text-align: center;">
+                      <el-checkbox v-model="form.dIsDisPipes" true-label="0" false-label="1" @change="dIsDisPipesChange"
+                                   :disabled="this.form.dIsRemovePipe!= null?false:true"/>
+                    </td>
+                    <td style="text-align: center;">
+                      <el-input style="width: 85px;" v-model="form.dSafeImplSign26" readonly :disabled="this.form.dIsDisPipes==1?false:true" @focus="signCard('dSafeImplSign26')">
+                        <i slot="prefix" class="el-input__icon el-icon-edit"></i>
+                      </el-input>
+                      <!--<el-button type="primary" slot="append" @click="signCard('dSafeImplSign26')"
+                                 icon="el-icon-edit"
+                                 :disabled="this.form.dIsDisPipes==1?false:true"></el-button>-->
+                      <el-date-picker format="yyyy-MM-dd HH:mm:ss"
+                                      value-format="yyyy-MM-dd HH:mm:ss" style="width: 115px"
+                                      v-model="form.dSafeImplDate26" type="date"
+                                      :disabled="this.form.dIsDisPipes==1?false:true">
+                      </el-date-picker>
+                    </td>
+                    <td style="text-align: center;">
+                      <el-input style="width: 70px;" v-model="form.dSafeLiftedSign26" disabled/>
+                      <el-date-picker format="yyyy-MM-dd HH:mm:ss"
+                                      value-format="yyyy-MM-dd HH:mm:ss" style="width: 80px"
+                                      v-model="form.dSafeLiftedDate26" type="date" disabled>
+                      </el-date-picker>
+                    </td>
+                  </tr>
+                  <tr>
+                    <td>2.7</td>
+                    <td>插入盲板</td>
+                    <td style="width: 30px; text-align: center;">
+                      <el-checkbox v-model="form.dIsInsertBlindPlage" true-label="1" false-label="0"
+                                   :disabled="this.form.dIsDisPipes!= null?false:true"/>
+                    </td>
+                    <td style="width: 30px; text-align: center;">
+                      <el-checkbox v-model="form.dIsInsertBlindPlage" true-label="0" false-label="1"
+                                   @change="dIsInsertBlindPlageChange"
+                                   :disabled="this.form.dIsDisPipes!= null?false:true"/>
+                    </td>
+                    <td style="text-align: center;">
+                      <el-input style="width: 85px;" v-model="form.dSafeImplSign27" readonly :disabled="this.form.dIsInsertBlindPlage==1?false:true" @focus="signCard('dSafeImplSign27')">
+                        <i slot="prefix" class="el-input__icon el-icon-edit"></i>
+                      </el-input>
+                      <!--<el-button type="primary" slot="append" @click="signCard('dSafeImplSign27')"
+                                 icon="el-icon-edit"
+                                 :disabled="this.form.dIsInsertBlindPlage==1?false:true"></el-button>-->
+                      <el-date-picker format="yyyy-MM-dd HH:mm:ss"
+                                      value-format="yyyy-MM-dd HH:mm:ss" style="width: 115px"
+                                      v-model="form.dSafeImplDate27" type="date"
+                                      :disabled="this.form.dIsInsertBlindPlage==1?false:true">
+                      </el-date-picker>
+                    </td>
+                    <td style="text-align: center;">
+                      <el-input style="width: 70px;" v-model="form.dSafeLiftedSign27" disabled/>
+                      <el-date-picker format="yyyy-MM-dd HH:mm:ss"
+                                      value-format="yyyy-MM-dd HH:mm:ss" style="width: 80px"
+                                      v-model="form.dSafeLiftedDate27" type="date" disabled>
+                      </el-date-picker>
+                    </td>
+                  </tr>
+                  <tr>
+                    <td>2.8</td>
+                    <td>机械安全措施:
+                      <el-input style="width: 150px;" v-model="form.dMecSecureContent"
+                                :disabled="this.form.dIsMecSecure==1?false:true"/>
+                    </td>
+                    <td style="width: 30px; text-align: center;">
+                      <el-checkbox v-model="form.dIsMecSecure" true-label="1" false-label="0"
+                                   :disabled="this.form.dIsInsertBlindPlage!= null?false:true"/>
+                    </td>
+                    <td style="width: 30px; text-align: center;">
+                      <el-checkbox v-model="form.dIsMecSecure" true-label="0" false-label="1"
+                                   @change="dIsMecSecureChange"
+                                   :disabled="this.form.dIsInsertBlindPlage!= null?false:true"/>
+                    </td>
+                    <td style="text-align: center;">
+                      <el-input style="width: 85px;" v-model="form.dSafeImplSign28" readonly :disabled="this.form.dIsMecSecure==1?false:true" @focus="signCard('dSafeImplSign28')">
+                        <i slot="prefix" class="el-input__icon el-icon-edit"></i>
+                      </el-input>
+                      <!--<el-button type="primary" slot="append" @click="signCard('dSafeImplSign28')"
+                                 icon="el-icon-edit"
+                                 :disabled="this.form.dIsMecSecure==1?false:true"></el-button>-->
+                      <el-date-picker format="yyyy-MM-dd HH:mm:ss"
+                                      value-format="yyyy-MM-dd HH:mm:ss" style="width: 115px"
+                                      v-model="form.dSafeImplDate28" type="date"
+                                      :disabled="this.form.dIsMecSecure==1?false:true">
+                      </el-date-picker>
+                    </td>
+                    <td style="text-align: center;">
+                      <el-input style="width: 70px;" v-model="form.dSafeLiftedSign28" disabled/>
+                      <el-date-picker format="yyyy-MM-dd HH:mm:ss"
+                                      value-format="yyyy-MM-dd HH:mm:ss" style="width: 80px"
+                                      v-model="form.dSafeLiftedDate28" type="date" disabled>
+                      </el-date-picker>
+                    </td>
+                  </tr>
+                  <tr>
+                    <td>2.9</td>
+                    <td>附隔离/盲板图</td>
+                    <td style="width: 30px; text-align: center;">
+                      <el-checkbox v-model="form.dIsIsolationDiagram" true-label="1" false-label="0"
+                                   :disabled="this.form.dIsMecSecure!= null?false:true"/>
+                    </td>
+                    <td style="width: 30px; text-align: center;">
+                      <el-checkbox v-model="form.dIsIsolationDiagram" true-label="0" false-label="1"
+                                   @change="dIsIsolationDiagramChange"
+                                   :disabled="this.form.dIsMecSecure!= null?false:true"/>
+                    </td>
+                    <td style="text-align: center;">
+                      <el-input style="width: 85px;" v-model="form.dSafeImplSign29" readonly :disabled="this.form.dIsIsolationDiagram==1?false:true" @focus="signCard('dSafeImplSign29')">
+                        <i slot="prefix" class="el-input__icon el-icon-edit"></i>
+                      </el-input>
+                      <!--<el-button type="primary" slot="append" @click="signCard('dSafeImplSign29')"
+                                 icon="el-icon-edit"
+                                 :disabled="this.form.dIsIsolationDiagram==1?false:true"></el-button>-->
+                      <el-date-picker format="yyyy-MM-dd HH:mm:ss"
+                                      value-format="yyyy-MM-dd HH:mm:ss" style="width: 115px"
+                                      v-model="form.dSafeImplDate29" type="date"
+                                      :disabled="this.form.dIsIsolationDiagram==1?false:true">
+                      </el-date-picker>
+                    </td>
+                  </tr>
+                  <tr>
+                    <td>2.10</td>
+                    <td>
+                      <el-input style="width: 150px;" v-model="form.dOtherSafePlantContent"
+                                :disabled="this.form.dIsOtherSafePlant==1?false:true"/>
+                    </td>
+                    <td style="width: 30px; text-align: center;">
+                      <el-checkbox v-model="form.dIsOtherSafePlant" true-label="1" false-label="0"
+                                   :disabled="this.form.dIsIsolationDiagram!= null?false:true"/>
+                    </td>
+                    <td style="width: 30px; text-align: center;">
+                      <el-checkbox v-model="form.dIsOtherSafePlant" true-label="0" false-label="1"
+                                   @change="dIsOtherSafePlantChange"
+                                   :disabled="this.form.dIsIsolationDiagram!= null?false:true"/>
+                    </td>
+                    <td style="text-align: center;">
+                      <el-input style="width: 85px;" v-model="form.dSafeImplSign210" readonly :disabled="this.form.dIsOtherSafePlant==1?false:true" @focus="signCard('dSafeImplSign210')">
+                        <i slot="prefix" class="el-input__icon el-icon-edit"></i>
+                      </el-input>
+                      <el-date-picker format="yyyy-MM-dd HH:mm:ss"
+                                      value-format="yyyy-MM-dd HH:mm:ss" style="width: 115px"
+                                      v-model="form.dSafeImplDate210" type="date"
+                                      :disabled="this.form.dIsOtherSafePlant==1?false:true">
+                      </el-date-picker>
+                    </td>
+                    <td style="text-align: center;">
+                      <el-input style="width: 70px;" v-model="form.dSafeLiftedSign210" disabled/>
+                      <el-date-picker format="yyyy-MM-dd HH:mm:ss"
+                                      value-format="yyyy-MM-dd HH:mm:ss" style="width: 80px"
+                                      v-model="form.dSafeLiftedDate210" type="date" disabled>
+                      </el-date-picker>
+                    </td>
+                  </tr>
+                  <tr>
+                    <td>3.</td>
+                    <td><b>导空/清洗工艺设备</b></td>
+                  </tr>
+                  <tr>
+                    <td>3.1</td>
+                    <td>倒空</td>
+                    <td style="width: 30px; text-align: center;">
+                      <el-checkbox v-model="form.dIsDrain" true-label="1" false-label="0"
+                                   :disabled="this.form.dIsOtherSafePlant!= null?false:true"/>
+                    </td>
+                    <td style="width: 30px; text-align: center;">
+                      <el-checkbox v-model="form.dIsDrain" true-label="0" false-label="1" @change="dIsDrainChange"
+                                   :disabled="this.form.dIsOtherSafePlant!= null?false:true"/>
+                    </td>
+                    <td style="text-align: center;">
+                      <el-input style="width: 85px;" v-model="form.dSafeImplSign31" readonly :disabled="this.form.dIsDrain==1?false:true" @focus="signCard('dSafeImplSign31')">
+                        <i slot="prefix" class="el-input__icon el-icon-edit"></i>
+                      </el-input>
+                      <!--<el-button type="primary" slot="append" @click="signCard('dSafeImplSign31')"
+                                 icon="el-icon-edit"
+                                 :disabled="this.form.dIsDrain==1?false:true"></el-button>-->
+                      <el-date-picker format="yyyy-MM-dd HH:mm:ss"
+                                      value-format="yyyy-MM-dd HH:mm:ss" style="width: 115px"
+                                      v-model="form.dSafeImplDate31" type="date"
+                                      :disabled="this.form.dIsDrain==1?false:true">
+                      </el-date-picker>
+                    </td>
+                  </tr>
+                  <tr>
+                    <td>3.2</td>
+                    <td>用
+                      <el-select style="width: 150px;" clearable v-model="form.dCleanContent" filterable
+                                 :disabled="this.form.dIsClean==1?false:true">
+                        <el-option v-for="item in dClears" :key="item.id" :label="item.name" :value="item.id">
+                        </el-option>
+                      </el-select>
+                      清洗
+                    </td>
+                    <td style="width: 30px; text-align: center;">
+                      <el-checkbox v-model="form.dIsClean" true-label="1" false-label="0"
+                                   :disabled="this.form.dIsDrain!= null?false:true"/>
+                    </td>
+                    <td style="width: 30px; text-align: center;">
+                      <el-checkbox v-model="form.dIsClean" true-label="0" false-label="1" @change="dIsCleanChange"
+                                   :disabled="this.form.dIsDrain!= null?false:true"/>
+                    </td>
+                    <td style="text-align: center;">
+                      <el-input style="width: 85px;" v-model="form.dSafeImplSign32" readonly :disabled="this.form.dIsClean==1?false:true" @focus="signCard('dSafeImplSign32')">
+                        <i slot="prefix" class="el-input__icon el-icon-edit"></i>
+                      </el-input>
+                      <!--<el-button type="primary" slot="append" @click="signCard('dSafeImplSign32')"
+                                 icon="el-icon-edit"
+                                 :disabled="this.form.dIsClean==1?false:true"></el-button>-->
+                      <el-date-picker format="yyyy-MM-dd HH:mm:ss"
+                                      value-format="yyyy-MM-dd HH:mm:ss" style="width: 115px"
+                                      v-model="form.dSafeImplDate32" type="date"
+                                      :disabled="this.form.dIsClean==1?false:true">
+                      </el-date-picker>
+                    </td>
+                  </tr>
+                  <tr>
+                    <td>3.3</td>
+                    <td>用
+                      <el-select style="width: 150px;" clearable v-model="form.dFlushContent" filterable
+                                 :disabled="this.form.dIsFlush==1?false:true">
+                        <el-option v-for="item in dFlushs" :key="item.id" :label="item.name" :value="item.id">
+                        </el-option>
+                      </el-select>
+                      置换
+                    </td>
+                    <td style="width: 30px; text-align: center;">
+                      <el-checkbox v-model="form.dIsFlush" true-label="1" false-label="0"
+                                   :disabled="this.form.dIsClean!= null?false:true"/>
+                    </td>
+                    <td style="width: 30px; text-align: center;">
+                      <el-checkbox v-model="form.dIsFlush" true-label="0" false-label="1" @change="dIsFlushChange"
+                                   :disabled="this.form.dIsClean!= null?false:true"/>
+                    </td>
+                    <td style="text-align: center;">
+                      <el-input style="width: 85px;" v-model="form.dSafeImplSign33" readonly :disabled="this.form.dIsFlush==1?false:true" @focus="signCard('dSafeImplSign33')">
+                        <i slot="prefix" class="el-input__icon el-icon-edit"></i>
+                      </el-input>
+                      <!--<el-button type="primary" slot="append" @click="signCard('dSafeImplSign33')"
+                                 icon="el-icon-edit"
+                                 :disabled="this.form.dIsFlush==1?false:true"></el-button>-->
+                      <el-date-picker format="yyyy-MM-dd HH:mm:ss"
+                                      value-format="yyyy-MM-dd HH:mm:ss" style="width: 115px"
+                                      v-model="form.dSafeImplDate33" type="date"
+                                      :disabled="this.form.dIsFlush==1?false:true">
+                      </el-date-picker>
+                    </td>
+                  </tr>
+                  <tr>
+                    <td>3.4</td>
+                    <td>
+                      <el-input style="width: 150px;" v-model="form.dOtherCleanContent"
+                                :disabled="this.form.dIsOhterClean==1?false:true"/>
+                    </td>
+                    <td style="width: 30px; text-align: center;">
+                      <el-checkbox v-model="form.dIsOhterClean" true-label="1" false-label="0"
+                                   :disabled="this.form.dIsFlush!= null?false:true"/>
+                    </td>
+                    <td style="width: 30px; text-align: center;">
+                      <el-checkbox v-model="form.dIsOhterClean" true-label="0" false-label="1"
+                                   @change="dIsOhterCleanChange"
+                                   :disabled="this.form.dIsFlush!= null?false:true"/>
+                    </td>
+                    <td style="text-align: center;">
+                      <el-input style="width: 85px;" v-model="form.dSafeImplSign34" readonly :disabled="this.form.dIsOhterClean==1?false:true" @focus="signCard('dSafeImplSign34')">
+                        <i slot="prefix" class="el-input__icon el-icon-edit"></i>
+                      </el-input>
+                      <!--<el-button type="primary" slot="append" @click="signCard('dSafeImplSign34')"
+                                 icon="el-icon-edit"
+                                 :disabled="this.form.dIsOhterClean==1?false:true"></el-button>-->
+                      <el-date-picker format="yyyy-MM-dd HH:mm:ss"
+                                      value-format="yyyy-MM-dd HH:mm:ss" style="width: 115px"
+                                      v-model="form.dSafeImplDate34" type="date"
+                                      :disabled="this.form.dIsOhterClean==1?false:true">
+                      </el-date-picker>
+                    </td>
+                  </tr>
+                </table>
+              </el-collapse-item>
+            </el-collapse>
+        </el-col>
+
+        <!-- 右侧栏 -->
+        <el-col :span="12">
+
+            <el-collapse v-model="activeNames">
+              <el-collapse-item title="D" name="4" class="display-type">
+                <table>
+                  <tr>
+                    <td>4.</td>
+                    <td><b>确保施工区域安全</b></td>
+                    <td style="text-align: center">是</td>
+                    <td style="text-align: center">否</td>
+                    <td style="text-align: center">安全措施完成,签名/日期</td>
+                    <td style="text-align: center">安全措施完成,签名/日期</td>
+                  </tr>
+                  <tr>
+                    <td>4.1</td>
+                    <td>现场隔离使用:
+                      <el-select style="width: 150px;" clearable v-model="form.dSiteDemarcationContent" filterable
+                                 :disabled="this.form.dIsSiteDemarcation==1?false:true">
+                        <el-option v-for="item in dSiteDemarcations" :key="item.id" :label="item.name" :value="item.id">
+                        </el-option>
+                      </el-select>
+                    </td>
+                    <td style="width: 30px; text-align: center;">
+                      <el-checkbox v-model="form.dIsSiteDemarcation" true-label="1" false-label="0"
+                                   :disabled="this.form.dIsOhterClean!= null?false:true"/>
+                    </td>
+                    <td style="width: 30px; text-align: center;">
+                      <el-checkbox v-model="form.dIsSiteDemarcation" true-label="0" false-label="1"
+                                   @change="dIsSiteDemarcationChange"
+                                   :disabled="this.form.dIsOhterClean!= null?false:true"/>
+                    </td>
+                    <td style="text-align: center;">
+                      <el-input style="width: 85px;" v-model="form.dSafeImplSign41" readonly :disabled="this.form.dIsSiteDemarcation==1?false:true" @focus="signCard('dSafeImplSign41')">
+                        <i slot="prefix" class="el-input__icon el-icon-edit"></i>
+                      </el-input>
+                      <!--<el-button type="primary" slot="append" @click="signCard('dSafeImplSign41')"
+                                 icon="el-icon-edit"
+                                 :disabled="this.form.dIsSiteDemarcation==1?false:true"></el-button>-->
+                      <el-date-picker format="yyyy-MM-dd HH:mm:ss"
+                                      value-format="yyyy-MM-dd HH:mm:ss" style="width: 115px"
+                                      v-model="form.dSafeImplDate41" type="date"
+                                      :disabled="this.form.dIsSiteDemarcation==1?false:true">
+                      </el-date-picker>
+                    </td>
+                    <td style="text-align: center;">
+                      <el-input style="width: 70px;" v-model="form.dSafeLiftedSign41" disabled/>
+                      <el-date-picker format="yyyy-MM-dd HH:mm:ss"
+                                      value-format="yyyy-MM-dd HH:mm:ss" style="width: 80px"
+                                      v-model="form.dSafeLiftedDate41" type="date" disabled>
+                      </el-date-picker>
+                    </td>
+                  </tr>
+                  <tr>
+                    <td>4.2</td>
+                    <td>需覆盖的区域:
+                      <el-input style="width: 150px;" v-model="form.dAreaCoverContent"
+                                :disabled="this.form.dIsAreaCover==1?false:true"/>
+                    </td>
+                    <td style="width: 30px; text-align: center;">
+                      <el-checkbox v-model="form.dIsAreaCover" true-label="1" false-label="0"
+                                   :disabled="this.form.dIsSiteDemarcation!= null?false:true"/>
+                    </td>
+                    <td style="width: 30px; text-align: center;">
+                      <el-checkbox v-model="form.dIsAreaCover" true-label="0" false-label="1"
+                                   @change="dIsAreaCoverChange"
+                                   :disabled="this.form.dIsSiteDemarcation!= null?false:true"/>
+                    </td>
+                    <td style="text-align: center;">
+                      <el-input style="width: 85px;" v-model="form.dSafeImplSign42" readonly :disabled="this.form.dIsAreaCover==1?false:true" @focus="signCard('dSafeImplSign42')">
+                        <i slot="prefix" class="el-input__icon el-icon-edit"></i>
+                      </el-input>
+                      <!--<el-button type="primary" slot="append" @click="signCard('dSafeImplSign42')"
+                                 icon="el-icon-edit"
+                                 :disabled="this.form.dIsAreaCover==1?false:true"></el-button>-->
+                      <el-date-picker format="yyyy-MM-dd HH:mm:ss"
+                                      value-format="yyyy-MM-dd HH:mm:ss" style="width: 115px"
+                                      v-model="form.dSafeImplDate42" type="date"
+                                      :disabled="this.form.dIsAreaCover==1?false:true">
+                      </el-date-picker>
+                    </td>
+                    <td style="text-align: center;">
+                      <el-input style="width: 70px;" v-model="form.dSafeLiftedSign42" disabled/>
+                      <el-date-picker format="yyyy-MM-dd HH:mm:ss"
+                                      value-format="yyyy-MM-dd HH:mm:ss" style="width: 80px"
+                                      v-model="form.dSafeLiftedDate42" type="date" disabled>
+                      </el-date-picker>
+                    </td>
+                  </tr>
+                  <tr>
+                    <td>4.3</td>
+                    <td>封闭槽车/火车路线</td>
+                    <td style="width: 30px; text-align: center;">
+                      <el-checkbox v-model="form.dIsCloseTrucks" true-label="1" false-label="0"
+                                   :disabled="this.form.dIsAreaCover!= null?false:true"/>
+                    </td>
+                    <td style="width: 30px; text-align: center;">
+                      <el-checkbox v-model="form.dIsCloseTrucks" true-label="0" false-label="1"
+                                   @change="dIsCloseTrucksChange"
+                                   :disabled="this.form.dIsAreaCover!= null?false:true"/>
+                    </td>
+                    <td style="text-align: center;">
+                      <el-input style="width: 85px;" v-model="form.dSafeImplSign43" readonly :disabled="this.form.dIsCloseTrucks==1?false:true" @focus="signCard('dSafeImplSign43')">
+                        <i slot="prefix" class="el-input__icon el-icon-edit"></i>
+                      </el-input>
+                      <!--<el-button type="primary" slot="append" @click="signCard('dSafeImplSign43')"
+                                 icon="el-icon-edit"
+                                 :disabled="this.form.dIsCloseTrucks==1?false:true"></el-button>-->
+                      <el-date-picker format="yyyy-MM-dd HH:mm:ss"
+                                      value-format="yyyy-MM-dd HH:mm:ss" style="width: 115px"
+                                      v-model="form.dSafeImplDate43" type="date"
+                                      :disabled="this.form.dIsCloseTrucks==1?false:true">
+                      </el-date-picker>
+                    </td>
+                    <td style="text-align: center;">
+                      <el-input style="width: 70px;" v-model="form.dSafeLiftedSign43" disabled/>
+                      <el-date-picker format="yyyy-MM-dd HH:mm:ss"
+                                      value-format="yyyy-MM-dd HH:mm:ss" style="width: 80px"
+                                      v-model="form.dSafeLiftedDate43" type="date" disabled>
+                      </el-date-picker>
+                    </td>
+                  </tr>
+                  <tr>
+                    <td>4.4</td>
+                    <td>对邻近法兰和管件检漏</td>
+                    <td style="width: 30px; text-align: center;">
+                      <el-checkbox v-model="form.dIsLeakFlanges" true-label="1" false-label="0"
+                                   :disabled="this.form.dIsCloseTrucks!= null?false:true"/>
+                    </td>
+                    <td style="width: 30px; text-align: center;">
+                      <el-checkbox v-model="form.dIsLeakFlanges" true-label="0" false-label="1"
+                                   @change="dIsLeakFlangesChange"
+                                   :disabled="this.form.dIsCloseTrucks!= null?false:true"/>
+                    </td>
+                    <td style="text-align: center;">
+                      <el-input style="width: 85px;" v-model="form.dSafeImplSign44" readonly :disabled="this.form.dIsLeakFlanges==1?false:true" @focus="signCard('dSafeImplSign44')">
+                        <i slot="prefix" class="el-input__icon el-icon-edit"></i>
+                      </el-input>
+                      <!--<el-button type="primary" slot="append" @click="signCard('dSafeImplSign44')"
+                                 icon="el-icon-edit"
+                                 :disabled="this.form.dIsLeakFlanges==1?false:true"></el-button>-->
+                      <el-date-picker format="yyyy-MM-dd HH:mm:ss"
+                                      value-format="yyyy-MM-dd HH:mm:ss" style="width: 115px"
+                                      v-model="form.dSafeImplDate44" type="date"
+                                      :disabled="this.form.dIsLeakFlanges==1?false:true">
+                      </el-date-picker>
+                    </td>
+                    <td style="text-align: center;">
+                      <el-input style="width: 70px;" v-model="form.dSafeLiftedSign44" disabled/>
+                      <el-date-picker format="yyyy-MM-dd HH:mm:ss"
+                                      value-format="yyyy-MM-dd HH:mm:ss" style="width: 80px"
+                                      v-model="form.dSafeLiftedDate44" type="date" disabled>
+                      </el-date-picker>
+                    </td>
+                  </tr>
+                  <tr>
+                    <td>4.5</td>
+                    <td>
+                      <el-input style="width: 150px;" v-model="form.dOtherWorkSafeContent"
+                                :disabled="this.form.dIsOtherWorkSafe==1?false:true"/>
+                    </td>
+                    <td style="width: 30px; text-align: center;">
+                      <el-checkbox v-model="form.dIsOtherWorkSafe" true-label="1" false-label="0"
+                                   :disabled="this.form.dIsLeakFlanges!= null?false:true"/>
+                    </td>
+                    <td style="width: 30px; text-align: center;">
+                      <el-checkbox v-model="form.dIsOtherWorkSafe" true-label="0" false-label="1"
+                                   @change="dIsOtherWorkSafeChange"
+                                   :disabled="this.form.dIsLeakFlanges!= null?false:true"/>
+                    </td>
+                    <td style="text-align: center;">
+                      <el-input style="width: 85px;" v-model="form.dSafeImplSign45" readonly :disabled="this.form.dIsOtherWorkSafe==1?false:true" @focus="signCard('dSafeImplSign45')">
+                        <i slot="prefix" class="el-input__icon el-icon-edit"></i>
+                      </el-input>
+                      <!--<el-button type="primary" slot="append" @click="signCard('dSafeImplSign45')"
+                                 icon="el-icon-edit"
+                                 :disabled="this.form.dIsOtherWorkSafe==1?false:true"></el-button>-->
+                      <el-date-picker format="yyyy-MM-dd HH:mm:ss"
+                                      value-format="yyyy-MM-dd HH:mm:ss" style="width: 115px"
+                                      v-model="form.dSafeImplDate45" type="date"
+                                      :disabled="this.form.dIsOtherWorkSafe==1?false:true">
+                      </el-date-picker>
+                    </td>
+                    <td style="text-align: center;">
+                      <el-input style="width: 70px;" v-model="form.dSafeLiftedSign45" disabled/>
+                      <el-date-picker format="yyyy-MM-dd HH:mm:ss"
+                                      value-format="yyyy-MM-dd HH:mm:ss" style="width: 80px"
+                                      v-model="form.dSafeLiftedDate45" type="date" disabled>
+                      </el-date-picker>
+                    </td>
+                  </tr>
+                  <tr>
+                    <td>5.</td>
+                    <td><b>额外组织措施</b></td>
+                  </tr>
+                  <tr>
+                    <td>5.1</td>
+                    <td>
+                      <el-input style="width: 150px;" v-model="form.dOtherMeasureContent"
+                                :disabled="this.form.dIsOtherMeasure==1?false:true"/>
+                    </td>
+                    <td style="width: 30px; text-align: center;">
+                      <el-checkbox v-model="form.dIsOtherMeasure" true-label="1" false-label="0"
+                                   :disabled="this.form.dIsOtherWorkSafe!= null?false:true"/>
+                    </td>
+                    <td style="width: 30px; text-align: center;">
+                      <el-checkbox v-model="form.dIsOtherMeasure" true-label="0" false-label="1"
+                                   @change="dIsOtherMeasureChange"
+                                   :disabled="this.form.dIsOtherWorkSafe!= null?false:true"/>
+                    </td>
+                    <td style="text-align: center;">
+                      <el-input style="width: 85px;" v-model="form.dSafeImplSign51" readonly :disabled="this.form.dIsOtherMeasure==1?false:true" @focus="signCard('dSafeImplSign51')">
+                        <i slot="prefix" class="el-input__icon el-icon-edit"></i>
+                      </el-input>
+                      <!--<el-button type="primary" slot="append" @click="signCard('dSafeImplSign51')"
+                                 icon="el-icon-edit"
+                                 :disabled="this.form.dIsOtherMeasure==1?false:true"></el-button>-->
+                      <el-date-picker format="yyyy-MM-dd HH:mm:ss"
+                                      value-format="yyyy-MM-dd HH:mm:ss" style="width: 115px"
+                                      v-model="form.dSafeImplDate51" type="date"
+                                      :disabled="this.form.dIsOtherMeasure==1?false:true">
+                      </el-date-picker>
+                    </td>
+                    <td style="text-align: center;">
+                      <el-input style="width: 70px;" v-model="form.dSafeLiftedSign51" disabled/>
+                      <el-date-picker format="yyyy-MM-dd HH:mm:ss"
+                                      value-format="yyyy-MM-dd HH:mm:ss" style="width: 80px"
+                                      v-model="form.dSafeLiftedDate51" type="date" disabled>
+                      </el-date-picker>
+                    </td>
+                  </tr>
+                  <tr>
+                    <td>6.</td>
+                    <td><b>现场安全说明/交底</b></td>
+                    <td></td>
+                    <td></td>
+                    <td></td>
+                    <td></td>
+                  </tr>
+                  <tr>
+                    <td></td>
+                    <td colspan="5">
+                      <!--<el-checkbox v-model="form.dIsSafeBriefing" true-label="1" false-label="0"-->
+                      <el-checkbox true-label="1" false-label="0"
+                                   v-model="form.dIsSafeBriefing"
+                                   @change="dIsSafeBriefingChange"
+                                   :disabled="this.form.dIsOtherMeasure!= null?false:true">是
+                      </el-checkbox>
+                      参与交底人签名/日期
+                      <el-input style="width: 250px;" v-model="form.dPartakeBriefingSign" clearable :disabled="this.form.dIsSafeBriefing==1?false:true"/>
+                      <el-date-picker format="yyyy-MM-dd HH:mm:ss"
+                                      value-format="yyyy-MM-dd HH:mm:ss" style="width: 200px"
+                                      v-model="form.dPartakeBriefingDate" type="date"
+                                      :disabled="this.form.dIsSafeBriefing==1?false:true">
+                      </el-date-picker>
+                      <el-button type="primary" slot="append" @click="signCard('dPartakeBriefingSign')"
+                                 icon="el-icon-edit"
+                                 :disabled="this.form.dIsSafeBriefing==1?false:true"></el-button>
+
+                      <el-button type="primary" slot="append" @click="uploadFile('dPartakeBriefingSign')"
+                                 icon="el-icon-link"
+                                 :disabled="this.form.dIsSafeBriefing==1?false:false"></el-button>
+                    </td>
+                  </tr>
+                  <tr>
+                    <td></td>
+                    <td colspan="5">
+                      <el-checkbox v-model="form.dIsSafeBriefing" true-label="0" false-label="1"
+                                   @change="dIsSafeBriefingChange"
+                                   :disabled="this.form.dIsOtherMeasure!= null?false:true">没有
+                      </el-checkbox>
+                      原因:
+                      <el-input style="width: 150px;" v-model="form.dNoReasonContent"
+                                :disabled="this.form.dIsSafeBriefing==0?false:true"/>
+                    </td>
+                  </tr>
+                </table>
+              </el-collapse-item>
+              <el-collapse-item title="E 施工时的安全措施" name="5">
+                <el-row>
+                  <el-col :span="12">
+                    <table>
+                      <th style="width: 30px;"></th>
+                      <th style="width: 300px;"></th>
+                      <th style="width: 30px; text-align: center;">是</th>
+                      <th style="width: 30px; text-align: center;">否</th>
+                      <tr>
+                        <td><b>1.</b></td>
+                        <td>可能有残留物料</td>
+                        <td style="width: 30px; text-align: center;">
+                          <el-checkbox v-model="form.eIsPresent" true-label="1" false-label="0"/>
+                        </td>
+                        <td style="width: 30px; text-align: center;">
+                          <el-checkbox v-model="form.eIsPresent" true-label="0" false-label="1"/>
+                        </td>
+                      </tr>
+                      <tr>
+                        <td><b>2.</b></td>
+                        <td><b>个人防护用品(PPE)</b></td>
+                      </tr>
+                      <tr>
+                        <td></td>
+                        <td>仅限定时间内佩戴的PPE:</td>
+                        <td style="width: 30px; text-align: center;">
+                          <el-checkbox v-model="form.eIsRequiredPpe" true-label="1" false-label="0"/>
+                        </td>
+                        <td style="width: 30px; text-align: center;">
+                          <el-checkbox v-model="form.eIsRequiredPpe" true-label="0" false-label="1"
+                                       @change="eIsRequiredPpeChange"/>
+                        </td>
+                      </tr>
+                      <tr>
+                        <td></td>
+                        <td>项目:
+                          <el-input style="width: 150px;" v-model="form.ePpeContent"
+                                    :disabled="this.form.eIsRequiredPpe==1?false:true"/>
+                        </td>
+                      </tr>
+                      <tr>
+                        <td><b>2.1</b></td>
+                        <td>安全护目镜</td>
+                        <td style="width: 30px; text-align: center;">
+                          <el-checkbox v-model="eIsSafeGoggles" true-label="1" false-label="0"/>
+                        </td>
+                        <td style="width: 30px; text-align: center;">
+                          <el-checkbox v-model="eIsSafeGoggles" true-label="0" false-label="1"/>
+                        </td>
+                      </tr>
+                      <tr>
+                        <td><b>2.2</b></td>
+                        <td>防护面罩</td>
+                        <td style="width: 30px; text-align: center;">
+                          <el-checkbox v-model="eIsFaceShield" true-label="1" false-label="0"/>
+                        </td>
+                        <td style="width: 30px; text-align: center;">
+                          <el-checkbox v-model="eIsFaceShield" true-label="0" false-label="1"/>
+                        </td>
+                      </tr>
+                      <tr>
+                        <td><b>2.3</b></td>
+                        <td>防护手套,类型:
+                          <el-select :disabled="this.eIsProtectGloves==1?false:true" style="width: 150px;"
+                                     v-model="eProtectGlovesContent" placeholder="请选择防护手套">
+                            <el-option v-for="dict in safeGoggles" :key="dict.id" :label="dict.conservatoryMeasureName"
+                                       :value="dict.id">
+                            </el-option>
+                          </el-select>
+                        </td>
+                        <td style="width: 30px; text-align: center;">
+                          <el-checkbox v-model="eIsProtectGloves" true-label="1" false-label="0"/>
+                        </td>
+                        <td style="width: 30px; text-align: center;">
+                          <el-checkbox v-model="eIsProtectGloves" true-label="0" false-label="1"
+                                       @change="eIsProtectGlovesChange"
+                          />
+                        </td>
+                      </tr>
+                      <tr>
+                        <td><b>2.4</b></td>
+                        <td>橡胶长靴</td>
+                        <td style="width: 30px; text-align: center;">
+                          <el-checkbox v-model="eIsRubberBoots" true-label="1" false-label="0"/>
+                        </td>
+                        <td style="width: 30px; text-align: center;">
+                          <el-checkbox v-model="eIsRubberBoots" true-label="0" false-label="1"/>
+                        </td>
+                      </tr>
+                      <tr>
+                        <td><b>2.5</b></td>
+                        <td>橡胶围裙</td>
+                        <td style="width: 30px; text-align: center;">
+                          <el-checkbox v-model="eIsRubberApron" true-label="1" false-label="0"/>
+                        </td>
+                        <td style="width: 30px; text-align: center;">
+                          <el-checkbox v-model="eIsRubberApron" true-label="0" false-label="1"/>
+                        </td>
+                      </tr>
+                      <tr>
+                        <td><b>2.6</b></td>
+                        <td>防护服,类型:
+                          <el-select :disabled="this.eIsProtectSuit==1?false:true" style="width: 150px;"
+                                     v-model="eProtectSuitContent" placeholder="请选择防护服">
+                            <el-option v-for="dict in protectSuits" :key="dict.id" :label="dict.conservatoryMeasureName"
+                                       :value="dict.id">
+                            </el-option>
+                          </el-select>
+                        </td>
+                        <td style="width: 30px; text-align: center;">
+                          <el-checkbox v-model="eIsProtectSuit" true-label="1" false-label="0"/>
+                        </td>
+                        <td style="width: 30px; text-align: center;">
+                          <el-checkbox v-model="eIsProtectSuit" true-label="0" false-label="1"
+                                       @change="eIsProtectSuitChange"/>
+                        </td>
+                      </tr>
+                      <tr>
+                        <td><b>2.7</b></td>
+                        <td>呼吸保护用品,类型:
+                          <el-select :disabled="this.eIsResProtect==1?false:true" style="width: 150px;"
+                                     v-model="eResProtectContent" placeholder="请选择防护面罩">
+                            <el-option v-for="dict in resProtects" :key="dict.id" :label="dict.conservatoryMeasureName"
+                                       :value="dict.id">
+                            </el-option>
+                          </el-select>
+                        </td>
+                        <td style="width: 30px; text-align: center;">
+                          <el-checkbox v-model="eIsResProtect" true-label="1" false-label="0"/>
+                        </td>
+                        <td style="width: 30px; text-align: center;">
+                          <el-checkbox v-model="eIsResProtect" true-label="0" false-label="1"
+                                       @change="eIsResProtectChange"/>
+                        </td>
+                      </tr>
+                      <tr>
+                        <td><b>2.8</b></td>
+                        <td>防坠落装置,类型:
+                          <el-select style="width: 150px;" clearable v-model="form.eFallArrestContent" filterable
+                                     :disabled="this.eIsFallArrest==1?false:true">
+                            <el-option v-for="item in eFallArrestContents" :key="item.id" :label="item.name"
+                                       :value="item.id">
+                            </el-option>
+                          </el-select>
+                        </td>
+                        <td style="width: 30px; text-align: center;">
+                          <el-checkbox v-model="eIsFallArrest" true-label="1" false-label="0"/>
+                        </td>
+                        <td style="width: 30px; text-align: center;">
+                          <el-checkbox v-model="eIsFallArrest" true-label="0" false-label="1"
+                                       @change="eIsFallArrestChange"/>
+                        </td>
+                      </tr>
+                      <tr>
+                        <td><b>2.9</b></td>
+                        <td>
+                          <el-input style="width: 150px;" v-model="form.eOtherProtectContent"
+                                    :disabled="this.form.eIsOtherProtect==1?false:true"/>
+                        </td>
+                        <td style="width: 30px; text-align: center;">
+                          <el-checkbox v-model="form.eIsOtherProtect" true-label="1" false-label="0"/>
+                        </td>
+                        <td style="width: 30px; text-align: center;">
+                          <el-checkbox v-model="form.eIsOtherProtect" true-label="0" false-label="1"
+                                       @change="eIsOtherProtectChange"/>
+                        </td>
+                      </tr>
+                    </table>
+                  </el-col>
+                  <el-col :span="11">
+                    <table>
+                      <th style="width: 30px;"></th>
+                      <th style="width: 300px;"></th>
+                      <th style="width: 30px; text-align: center;">是</th>
+                      <th style="width: 30px; text-align: center;">否</th>
+                      <tr>
+                        <td><b>3.</b></td>
+                        <td><b>连续的监控</b></td>
+                      </tr>
+                      <tr>
+                        <td></td>
+                        <td>安全监护人单位/签字:
+                          <el-input style="width: 70px;" v-model="form.eSafeAttendant"
+                                    :disabled="this.form.eIsContinueMonitoring==1?false:true"/>
+                          /
+                          <el-input style="width: 85px;" v-model="form.eSafeAttendantSign" readonly :disabled="this.form.eIsContinueMonitoring==1?false:true" @focus="signCard('eSafeAttendantSign')">
+                            <i slot="prefix" class="el-input__icon el-icon-edit"></i>
+                          </el-input>
+                          <!--<el-button type="primary" slot="append" @click="signCard('eSafeAttendantSign')"
+                                     icon="el-icon-edit"
+                                     :disabled="this.form.eIsContinueMonitoring==1?false:true"></el-button>-->
+                        </td>
+                        <td style="width: 30px; text-align: center;">
+                          <el-checkbox v-model="form.eIsContinueMonitoring" true-label="1" false-label="0"/>
+                        </td>
+                        <td style="width: 30px; text-align: center;">
+                          <el-checkbox v-model="form.eIsContinueMonitoring" true-label="0" false-label="1"
+                                       @change="eIsContinueMonitoringChange"/>
+                        </td>
+                      </tr>
+                      <tr>
+                        <td><b>4.</b></td>
+                        <td><b>通风措施</b></td>
+                      </tr>
+                      <tr>
+                        <td><b>4.1</b></td>
+                        <td>自然通风:
+                          <el-input style="width: 150px;" v-model="form.eNaturalVenContent"
+                                    :disabled="this.form.eIsNaturalVen==1?false:true"/>
+                        </td>
+                        <td style="width: 30px; text-align: center;">
+                          <el-checkbox v-model="form.eIsNaturalVen" true-label="1" false-label="0"/>
+                        </td>
+                        <td style="width: 30px; text-align: center;">
+                          <el-checkbox v-model="form.eIsNaturalVen" true-label="0" false-label="1"
+                                       @change="eIsNaturalVenChange"/>
+                        </td>
+                      </tr>
+                      <tr>
+                        <td><b>4.2</b></td>
+                        <td>机械通风,使用:
+                          <el-input style="width: 150px;" v-model="form.eMecVenContent"
+                                    :disabled="this.form.eIsMecVen==1?false:true"/>
+                        </td>
+                        <td style="width: 30px; text-align: center;">
+                          <el-checkbox v-model="form.eIsMecVen" true-label="1" false-label="0"/>
+                        </td>
+                        <td style="width: 30px; text-align: center;">
+                          <el-checkbox v-model="form.eIsMecVen" true-label="0" false-label="1"
+                                       @change="eIsMecVenChange"/>
+                        </td>
+                      </tr>
+                      <tr>
+                        <td><b>4.3</b></td>
+                        <td>在释放源处抽走粉尘/气体/蒸汽</td>
+                        <td style="width: 30px; text-align: center;">
+                          <el-checkbox v-model="form.eIsExxtractDust" true-label="1" false-label="0"/>
+                        </td>
+                        <td style="width: 30px; text-align: center;">
+                          <el-checkbox v-model="form.eIsExxtractDust" true-label="0" false-label="1"/>
+                        </td>
+                      </tr>
+                      <tr>
+                        <td><b>4.4</b></td>
+                        <td>空气分析内容:
+                          <el-input style="width: 150px;" v-model="form.eAnalyzeAirContent"
+                                    :disabled="this.form.eIsAnalyzeAir==1?false:true"/>
+                        </td>
+                        <td style="width: 30px; text-align: center;">
+                          <el-checkbox v-model="form.eIsAnalyzeAir" true-label="1" false-label="0"/>
+                        </td>
+                        <td style="width: 30px; text-align: center;">
+                          <el-checkbox v-model="form.eIsAnalyzeAir" true-label="0" false-label="1"
+                                       @change="eIsAnalyzeAirChange"/>
+                        </td>
+                      </tr>
+                      <tr>
+                        <td></td>
+                        <td>分析频次:
+                          <el-select style="width: 150px;" clearable v-model="form.eAnalyzeAirInterval" filterable
+                                     :disabled="this.form.eIsAnalyzeAir==1?false:true">
+                            <el-option v-for="item in eAnalyzeAirIntervals" :key="item.id" :label="item.name"
+                                       :value="item.id">
+                            </el-option>
+                          </el-select>
+                        </td>
+                      </tr>
+                      <tr>
+                        <td><b>4.5</b></td>
+                        <td>
+                          <el-input style="width: 150px;" v-model="form.eOtherVenContent"
+                                    :disabled="this.form.eIsOtherVen==1?false:true"/>
+                        </td>
+                        <td style="width: 30px; text-align: center;">
+                          <el-checkbox v-model="form.eIsOtherVen" true-label="1" false-label="0"/>
+                        </td>
+                        <td style="width: 30px; text-align: center;">
+                          <el-checkbox v-model="form.eIsOtherVen" true-label="0" false-label="1"
+                                       @change="eIsOtherVenChange"/>
+                        </td>
+                      </tr>
+                    </table>
+                  </el-col>
+                </el-row>
+              </el-collapse-item>
+              <el-collapse-item title="F 施工后的安全措施" name="6">
+                <table>
+                  <tr>
+                    <th></th>
+                    <th style="width: 30px; text-align: center;">是</th>
+                    <th style="width: 30px; text-align: center;">否</th>
+                  </tr>
+                  <tr>
+                    <td>
+                      <el-input style="width: 600px;" v-model="form.fAfterWorkSafeContent"
+                                :disabled="form.fIsAfterWorkSafe == 1?false:true"/>
+                    </td>
+                    <td style="width: 30px; text-align: center;">
+                      <el-checkbox v-model="form.fIsAfterWorkSafe" true-label="1" false-label="0"/>
+                    </td>
+                    <td style="width: 30px; text-align: center;">
+                      <el-checkbox v-model="form.fIsAfterWorkSafe" true-label="0" false-label="1"
+                                   @change="fIsAfterWorkSafeChange"/>
+                    </td>
+                  </tr>
+                </table>
+              </el-collapse-item>
+              <el-collapse-item title="G 核实危害评估和安全措施界定" name="7">
+                <table>
+                  <tr>
+                    <td></td>
+                    <td align="right">由专门部门人员评估的项目:</td>
+                    <td>是</td>
+                    <td>否</td>
+                  </tr>
+                  <tr>
+                    <td>第一签名<small>(装置/部门授权人员)</small>:<el-input style="width: 85px;" v-model="form.gFirstSign" readonly @focus="signCard('gFirstSign')">
+                        <i slot="prefix" class="el-input__icon el-icon-edit"></i>
+                      </el-input>
+                      <!--<el-button type="primary" slot="append" @click="signCard('gFirstSign')"
+                                 icon="el-icon-edit"></el-button>-->
+                      <el-date-picker format="yyyy-MM-dd HH:mm:ss"
+                                      value-format="yyyy-MM-dd HH:mm:ss" style="width: 175px" v-model="form.gFirstDate"
+                                      type="datetime">
+                      </el-date-picker>
+                    </td>
+                    <td align="right">
+                      <el-input style="width: 360px;" v-model="form.gSpecialAssessment"
+                                :disabled="form.gIsSpecialAssessment == 1?false:true"/>
+                    </td>
+                    <td>
+                      <el-checkbox v-model="form.gIsSpecialAssessment" true-label="1" false-label="0"/></td>
+                    <td>
+                      <el-checkbox v-model="form.gIsSpecialAssessment" true-label="0" false-label="1"
+                                   @change="gIsSpecialAssessmentChange"/>
+                    </td>
+                  </tr>
+                  <tr>
+                    <td>第二签名<small>(装置/部门授权人员)</small>:<el-input style="width: 85px;" v-model="form.gSecondSign" readonly @focus="signCard('gSecondSign')">
+                        <i slot="prefix" class="el-input__icon el-icon-edit"></i>
+                      </el-input>
+                      <!--<el-button type="primary" slot="append" @click="signCard('gSecondSign')"
+                                 icon="el-icon-edit"></el-button>-->
+                      <el-date-picker format="yyyy-MM-dd HH:mm:ss"
+                                      value-format="yyyy-MM-dd HH:mm:ss" style="width: 175px" v-model="form.gSecondDate"
+                                      type="datetime">
+                      </el-date-picker>
+                    </td>
+                    <td colspan="3" align="right">第三签名<small>(相应部门人员及部门名称)</small>:<el-input style="width: 85px;" v-model="form.gThirdSign" readonly @focus="signCard('gThirdSign')">
+                        <i slot="prefix" class="el-input__icon el-icon-edit"></i>
+                      </el-input>
+                      <!--<el-button type="primary" slot="append" @click="signCard('gThirdSign')"
+                                 icon="el-icon-edit"></el-button>-->
+                      <el-date-picker format="yyyy-MM-dd HH:mm:ss"
+                                      value-format="yyyy-MM-dd HH:mm:ss" style="width: 175px" v-model="form.gThirdDate"
+                                      type="datetime">
+                      </el-date-picker>
+                    </td>
+                  </tr>
+                </table>
+              </el-collapse-item>
+              <el-collapse-item title="H 安全措施检查和许可证批准" name="8">
+                <table>
+                  <tr>
+                    <td>签名:
+                      <el-input v-model="form.hSafeMesSign" readonly @focus="signCard('hSafeMesSign')">
+                        <i slot="prefix" class="el-input__icon el-icon-edit"></i>
+                      </el-input>
+                      <!--<el-button type="primary" slot="append" @click="signCard('hSafeMesSign')"
+                                 icon="el-icon-edit"></el-button>-->
+                      <el-date-picker style="width: 180px"
+                                      format="yyyy-MM-dd HH:mm:ss"
+                                      value-format="yyyy-MM-dd HH:mm:ss" v-model="form.hSafeMesDate" type="datetime">
+                      </el-date-picker>
+                    </td>
+                    <td align="right">
+                      相应延期许可证号码:
+                      <el-input style="width: 50%;" v-model="form.hVNoOne" disabled>
+                        <i slot="prefix" class="el-input__icon el-icon-word">V</i>
+                      </el-input>
+                      <small>(生产装置授权人员,D栏的安全措施已实施和检查,G栏的签名已完成)</small>
+                    </td>
+                  </tr>
+                  <tr>
+                    <td></td>
+                    <td>
+                      <el-input style="width: 50%;" v-model="form.hVNoTwo" disabled>
+                        <i slot="prefix" class="el-input__icon el-icon-word">V</i>
+                      </el-input>
+                      <el-input style="width: 50%;" v-model="form.hVNoThree" disabled>
+                        <i slot="prefix" class="el-input__icon el-icon-word">V</i>
+                      </el-input>
+                    </td>
+                  </tr>
+                </table>
+              </el-collapse-item>
+              <el-collapse-item title="I 施工单位接受许可证" name="9">
+                <table>
+                  <tr>
+                    <td>
+                      1a 签名(授权的维修主管)
+                      <el-input style="width: 85px;" v-model="form.iOneASign" readonly @focus="signCard('iOneASign')">
+                        <i slot="prefix" class="el-input__icon el-icon-edit"></i>
+                      </el-input>
+                      <!--<el-button type="primary" slot="append" @click="signCard('iOneASign')"
+                                 icon="el-icon-edit"></el-button>-->
+                      <el-date-picker format="yyyy-MM-dd HH:mm:ss"
+                                      value-format="yyyy-MM-dd HH:mm:ss" style="width: 180px" v-model="form.iOneADate"
+                                      type="datetime">
+                      </el-date-picker>
+                      <small>(E栏的安全措施已实施和D6的现场安全说明已完成)</small>
+                    </td>
+                    <td>
+                      1b 签名(授权的维修工人)
+                      <el-input style="width: 85px;" v-model="form.iOneBSign" readonly @focus="signCard('iOneBSign')">
+                        <i slot="prefix" class="el-input__icon el-icon-edit"></i>
+                      </el-input>
+                      <!--<el-button type="primary" slot="append" @click="signCard('iOneBSign')"
+                                 icon="el-icon-edit"></el-button>-->
+                      <el-date-picker format="yyyy-MM-dd HH:mm:ss"
+                                      value-format="yyyy-MM-dd HH:mm:ss" style="width: 180px" v-model="form.iOneBDate"
+                                      type="datetime">
+                      </el-date-picker>
+                      <small>(E栏的安全措施已实施和D6的现场安全说明已完成)</small>
+                    </td>
+                  </tr>
+                </table>
+              </el-collapse-item>
+<!--              <el-collapse-item title="J1 中途的E&I功能测试       J2 中途测试后,再次停用装置设备" name="10">-->
+<!--                <table>-->
+<!--                  <tr>-->
+<!--                    <td>-->
+<!--                      <el-input style="width: 85px;" v-model="form.jOneBSign" readonly @focus="signCard('jOneBSign')">-->
+<!--                        <i slot="prefix" class="el-input__icon el-icon-edit"></i>-->
+<!--                      </el-input>-->
+<!--                      &lt;!&ndash;<el-button type="primary" slot="append" @click="signCard('jOneBSign')"-->
+<!--                                 icon="el-icon-edit"></el-button>&ndash;&gt;-->
+<!--                      <el-date-picker format="yyyy-MM-dd HH:mm:ss"-->
+<!--                                      value-format="yyyy-MM-dd HH:mm:ss" style="width: 180px" v-model="form.jOneBDate"-->
+<!--                                      type="datetime">-->
+<!--                      </el-date-picker>-->
+<!--                    </td>-->
+<!--                    <td>-->
+<!--                      <el-input style="width: 85px;" v-model="form.jResMemberSign" readonly @focus="signCard('jResMemberSign')">-->
+<!--                        <i slot="prefix" class="el-input__icon el-icon-edit"></i>-->
+<!--                      </el-input>-->
+<!--                      &lt;!&ndash;<el-button type="primary" slot="append" @click="signCard('jResMemberSign')"-->
+<!--                                 icon="el-icon-edit"></el-button>&ndash;&gt;-->
+<!--                      <el-date-picker format="yyyy-MM-dd HH:mm:ss"-->
+<!--                                      value-format="yyyy-MM-dd HH:mm:ss" style="width: 180px"-->
+<!--                                      v-model="form.jResMemberDate" type="datetime">-->
+<!--                      </el-date-picker>-->
+<!--                    </td>-->
+<!--                    <td>-->
+<!--                      <el-input style="width: 85px;" v-model="form.jEISign" readonly @focus="signCard('jEISign')">-->
+<!--                        <i slot="prefix" class="el-input__icon el-icon-edit"></i>-->
+<!--                      </el-input>-->
+<!--                      &lt;!&ndash;<el-button type="primary" slot="append" @click="signCard('jEISign')"-->
+<!--                                 icon="el-icon-edit"></el-button>&ndash;&gt;-->
+<!--                      <el-date-picker format="yyyy-MM-dd HH:mm:ss"-->
+<!--                                      value-format="yyyy-MM-dd HH:mm:ss" style="width: 180px" v-model="form.jEIDate"-->
+<!--                                      type="datetime">-->
+<!--                      </el-date-picker>-->
+<!--                    </td>-->
+<!--                  </tr>-->
+<!--                  <tr>-->
+<!--                    <td>-->
+<!--                      <small>授权的维修工人签名(l1b),日期</small>-->
+<!--                    </td>-->
+<!--                    <td>-->
+<!--                      <small>生产装置授权人签名(G),日期</small>-->
+<!--                    </td>-->
+<!--                    <td>-->
+<!--                      <small>E&I人员签名确认已安全停电,日期</small>-->
+<!--                    </td>-->
+<!--                  </tr>-->
+<!--                </table>-->
+<!--              </el-collapse-item>-->
+              <el-row :gutter="20">
+                <el-col :span="12">
+                  <el-collapse-item title="K 确认F栏的安全措施已完成" name="12">
+                    签名,日期/时间
+                    <el-input style="width: 85px;" v-model="form.kConfirmSign" readonly @focus="signCard('kConfirmSign')">
+                      <i slot="prefix" class="el-input__icon el-icon-edit"></i>
+                    </el-input>
+                    <!--<el-button type="primary" @click="signCard('kConfirmSign')"
+                               icon="el-icon-edit"></el-button>-->
+                    <el-date-picker format="yyyy-MM-dd HH:mm:ss"
+                                    value-format="yyyy-MM-dd HH:mm:ss" style="width: 180px" v-model="form.kConfirmDate" type="datetime">
+                    </el-date-picker>
+                  </el-collapse-item>
+                </el-col>
+                <el-col :span="12">
+                  <el-collapse-item title="L 授权的维修工人通知生产装置施工完成" name="13">
+                   <small>如有需要,通过安全联络员</small>
+                    <br>
+                    签名,日期/时间
+                    <el-input style="width: 85px;" v-model="form.lNoticeSign" readonly @focus="signCard('lNoticeSign')">
+                      <i slot="prefix" class="el-input__icon el-icon-edit"></i>
+                    </el-input>
+                    <!--<el-button type="primary" @click="signCard('lNoticeSign')"
+                               icon="el-icon-edit"></el-button>-->
+                    <el-date-picker format="yyyy-MM-dd HH:mm:ss"
+                                    value-format="yyyy-MM-dd HH:mm:ss" style="width: 180px" v-model="form.lNoticeDate" type="datetime">
+                    </el-date-picker>
+                  </el-collapse-item>
+                </el-col>
+              </el-row>
+              <el-collapse-item title="M 评估/批准撤销D栏的施工前安全措施" name="14">
+                <table style="table-layout: fixed">
+                  <tr>
+                    <td colspan="2">
+                      <el-input style="width: 380px;" v-model="form.mAssessDContent"/>
+                      <span>如需要,列出撤销安全措施的次序</span>
+                    </td>
+                    <td>
+                      <el-input style="width: 85px;" v-model="form.mAssessDSign" readonly @focus="signCard('mAssessDSign')">
+                        <i slot="prefix" class="el-input__icon el-icon-edit"></i>
+                      </el-input>
+                      <!--<el-button type="primary" @click="signCard('mAssessDSign')"
+                                 icon="el-icon-edit"></el-button>-->
+                      <el-date-picker format="yyyy-MM-dd HH:mm:ss"
+                                      value-format="yyyy-MM-dd HH:mm:ss" style="width: 180px" v-model="form.mAssessDDate" type="datetime">
+                      </el-date-picker>
+                      <p style="text-align: right">签名(生产装置授权人员)</p>
+                    </td>
+                  </tr>
+                  <tr>
+                    <td colspan="3" style="text-align: center">其他相关许可证:
+                      <el-input style="width: 80px;" v-model="form.mOtherLicenceOne"/>
+                      <el-input style="width: 80px;" v-model="form.mOtherLicenceTwo"/>
+                      <el-input style="width: 80px;" v-model="form.mOtherLicenceThree"/>
+                    </td>
+                  </tr>
+                </table>
+              </el-collapse-item>
+              <el-collapse-item title="N 空气检测记录" name="15">
+                <table cellpadding="0" cellspacing="0" class="last-table">
+                  <tr>
+                    <td>检测位置 </td>
+                    <td>
+                      <el-input style="width: 100%;"/>
+                    </td>
+                    <td>
+                      <el-input style="width: 100%;"/>
+                    </td>
+                    <td>
+                      <el-input style="width: 100%;"/>
+                    </td>
+                    <td>
+                      <el-input style="width: 100%;"/>
+                    </td>
+                    <td>
+                      <el-input style="width: 100%;"/>
+                    </td>
+                    <td>
+                      <el-input style="width: 100%;"/>
+                    </td>
+                  </tr>
+                  <tr>
+                    <td>检测日期/时间(时/分)</td>
+                    <td>
+                      <el-input style="width: 100%;"/>
+                    </td>
+                    <td>
+                      <el-input style="width: 100%;"/>
+                    </td>
+                    <td>
+                      <el-input style="width: 100%;"/>
+                    </td>
+                    <td>
+                      <el-input style="width: 100%;"/>
+                    </td>
+                    <td>
+                      <el-input style="width: 100%;"/>
+                    </td>
+                    <td>
+                      <el-input style="width: 100%;"/>
+                    </td>
+                  </tr>
+                  <tr>
+                    <td>检测物质</td>
+                    <td>
+                      <el-input style="width: 100%;"/>
+                    </td>
+                    <td>
+                      <el-input style="width: 100%;"/>
+                    </td>
+                    <td>
+                      <el-input style="width: 100%;"/>
+                    </td>
+                    <td>
+                      <el-input style="width: 100%;"/>
+                    </td>
+                    <td>
+                      <el-input style="width: 100%;"/>
+                    </td>
+                    <td>
+                      <el-input style="width: 100%;"/>
+                    </td>
+                  </tr>
+                  <tr>
+                    <td>检测结果</td>
+                    <td>
+                      <el-input style="width: 100%;"/>
+                    </td>
+                    <td>
+                      <el-input style="width: 100%;"/>
+                    </td>
+                    <td>
+                      <el-input style="width: 100%;"/>
+                    </td>
+                    <td>
+                      <el-input style="width: 100%;"/>
+                    </td>
+                    <td>
+                      <el-input style="width: 100%;"/>
+                    </td>
+                    <td>
+                      <el-input style="width: 100%;"/>
+                    </td>
+                  </tr>
+                  <tr>
+                    <td>检测人签名</td>
+                    <td>
+                      <el-input style="width: 100%;"/>
+                    </td>
+                    <td>
+                      <el-input style="width: 100%;"/>
+                    </td>
+                    <td>
+                      <el-input style="width: 100%;"/>
+                    </td>
+                    <td>
+                      <el-input style="width: 100%;"/>
+                    </td>
+                    <td>
+                      <el-input style="width: 100%;"/>
+                    </td>
+                    <td>
+                      <el-input style="width: 100%;"/>
+                    </td>
+                  </tr>
+                  <tr>
+                    <td>便携式检测仪编号</td>
+                    <td>
+                      <el-input style="width: 100%;"/>
+                    </td>
+                    <td>
+                      <el-input style="width: 100%;"/>
+                    </td>
+                    <td>
+                      <el-input style="width: 100%;"/>
+                    </td>
+                    <td>
+                      <el-input style="width: 100%;"/>
+                    </td>
+                    <td>
+                      <el-input style="width: 100%;"/>
+                    </td>
+                    <td>
+                      <el-input style="width: 100%;"/>
+                    </td>
+                  </tr>
+                </table>
+              </el-collapse-item>
+            </el-collapse>
+        </el-col>
+      </el-row>
+    </div>
+    <sign-card v-if="signCardVisible" v-on:signRes="getSignRes" ref="signCard"></sign-card>
+  </el-form>
+</template>
+<script>
+import {
+  listMatters
+} from "@/api/ehs/throughcleanbcc";
+import {
+  addTicket,
+  updateTicket,
+  getInfo
+} from "@/api/invoicing/hazardwork";
+import {listDept} from "@/api/system/dept";
+import {listDevice} from "@/api/configuration/device"
+import SignCard from "../signcard/index";
+import {getForType} from "@/api/configuration/protect";
+
+export default {
+  components: {SignCard},
+  data() {
+    var validateruleA1 = (rule, value, callback) => {
+      if (!this.form.aEquipmentLeader) {
+        callback(new Error('请输入aEquipmentLeader'));
+      } else {
+        callback();
+      }
+    };
+    return {
+      signCardVisible: false,
+
+      //TODO 模拟生产装置获取后台数据
+      aEquipments: [{
+        value: 'CTM',
+        label: 'CTM'
+      }, {
+        value: 'CBP/C',
+        label: 'CBP/C'
+      }],
+      aConstructions: [],
+      aConstructionsQuery: {
+        parentId: 500
+      },
+      aContractors: [{
+        value: 'CTM',
+        label: 'CTM'
+      }, {
+        value: 'CTA',
+        label: 'CTA'
+      }],
+      aSafeLiaisons: [{
+        value: '1',
+        label: '徐明浩'
+      }, {
+        value: '2',
+        label: '李杨'
+      }],
+      bDevices: [],
+      bDeviceParams: {},
+      users: [{
+        value: '1',
+        label: '徐明浩1'
+      }, {
+        value: '2',
+        label: '徐明浩2'
+      }, {
+        value: '3',
+        label: '徐明浩3'
+      }, {
+        value: '4',
+        label: '徐明浩4'
+      }, {
+        value: '5',
+        label: '徐明浩5'
+      }, {
+        value: '6',
+        label: '徐明浩6'
+      }],
+      otherDangers: [
+        {
+          id: '坠落',
+          name: '坠落'
+        },
+        {
+          id: '高空坠物',
+          name: '高空坠物'
+        },
+        {
+          id: '灰尘',
+          name: '灰尘'
+        }
+      ],
+      dClears: [
+        {
+          id: '水',
+          name: '水'
+        },
+        {
+          id: '空气',
+          name: '空气'
+        },
+        {
+          id: '氮气',
+          name: '氮气'
+        },
+        {
+          id: '蒸汽',
+          name: '蒸汽'
+        }
+      ],
+      dFlushs: [
+        {
+          id: '水',
+          name: '水'
+        },
+        {
+          id: '空气',
+          name: '空气'
+        },
+        {
+          id: '氮气',
+          name: '氮气'
+        },
+        {
+          id: '蒸汽',
+          name: '蒸汽'
+        }
+      ],
+      dSiteDemarcations: [
+        {
+          id: '警戒绳',
+          name: '警戒绳'
+        },
+        {
+          id: '警戒锥桶',
+          name: '警戒锥桶'
+        }
+      ],
+      eFallArrestContents: [
+        {
+          id: '腰部护带',
+          name: '腰部护带'
+        },
+        {
+          id: '全身护带',
+          name: '全身护带'
+        }
+      ],
+      eAnalyzeAirIntervals: [
+        {
+          id: '1h/次',
+          name: '1h/次'
+        },
+        {
+          id: '2h/次',
+          name: '2h/次'
+        },
+        {
+          id: '6h/次',
+          name: '6h/次'
+        },
+        {
+          id: '12h/次',
+          name: '12h/次'
+        }
+      ],
+      aIdDisabled: false,
+      matterNames: [],
+      item: "",
+      isYesDanger: null,
+      cIsToxic: null,
+      cIsFlammable: null,
+      cIsOxidizing: null,
+      cIsExplosive: null,
+      cIsCorrosive: null,
+      cIsIrritantToxic: null,
+      cIsHealthHazard: null,
+      cIsCompressedGas: null,
+      cIsEnvironmentalHazard: null,
+      eIsSafeGoggles: null,
+      eIsFaceShield: null,
+      eIsProtectGloves: null,
+      eProtectGlovesContent: null,
+      safeGoggles: [], //防护手套
+      safeGogglesParams: {
+        protectType: '1',
+      },
+      eIsRubberBoots: null,
+      eIsRubberApron: null,
+      eIsProtectSuit: null,
+      eProtectSuitContent: null,
+      protectSuitsParams: {
+        protectType: '5',
+      },
+      protectSuits: [], //防护服
+      eIsResProtect: null,
+      eResProtectContent: null,
+      resProtectsParams: {
+        protectType: '3',
+      },
+      resProtects: [], //防护面罩
+      eIsFallArrest: null,
+      eFallArrestContent: null,
+      aIsNeedSafeLiaison: '2',
+      isFacilityHazards: null,
+      isEquipmentHazards: null,
+      form: {
+        //危害工作许可证ID
+        aId: null,
+        //A 基本信息字段
+        aEquipmentName: null,
+        aEquipmentLeader: null,
+        aEquipmentTel: null,
+        aEquipmentOffice: null,
+        aConstructionName: null,
+        aConstructionLeader: null,
+        aConstructionTel: null,
+        aConstructionOffice: null,
+        aContractorName: null,
+        aContractorLeader: null,
+        aContractorTel: null,
+        aContractorOffice: null,
+        aIsNeedSafeLiaison: '2',
+        aSafeLiaisonName: null,
+        aSafeLiaisonSign: null,
+        aSafeLiaisonTel: null,
+        aSafeLiaisonOffice: null,
+        //B 工作内容
+        bDeviceName: null,
+        bWorkContent: null,
+        bAreaNo: null,
+        bValidityStartTime: null,
+        bValidityEndTime: null,
+        //C 危害识别
+        cIsDanger: null,
+        cIsAttention: null,
+        cHarmMatterName: null,
+        cIsToxic: null,
+        cIsFlammable: null,
+        cIsOxidizing: null,
+        cIsExplosive: null,
+        cIsCorrosive: null,
+        cIsIrritantToxic: null,
+        cIsHealthHazard: null,
+        cIsCompressedGas: null,
+        cIsEnvironmentalHazard: null,
+        cIsHighTemp: null,
+        cIsLowTemp: null,
+        cIsPosPressure: null,
+        cIsNegPressure: null,
+        cIsHazardsProd: null,
+        cIsHazardsProdContent: null,
+        cIsMovingParts: null,
+        cIsHotSurfaces: null,
+        cIsColdSurfaces: null,
+        cIsVoltages: null,
+        cIsFire: null,
+        cHId: null,
+        cIsWorkProtective: null,
+        cIsDy: null,
+        cIsAqf: null,
+        cIsLq: null,
+        cIsOtherDanger: null,
+        cOtherDangerContent: null,
+        //D 施工前的安全措施
+        dIsOpenSafe: null,
+        dIsDkdyx: null,
+        dDkdyxImplSign: null,
+        dDkdyxImplDate: null,
+        dDkdyxLiftedSign: null,
+        dDkdyxLiftedDate: null,
+        dIsDisFeeder: null,
+        dDisFeederImplSign: null,
+        dDisFeederImplDate: null,
+        dDisFeederLiftedSign: null,
+        dDisFeederLiftedDate: null,
+        dIsBreakIncl: null,
+        dBreakInclImplSign: null,
+        dBreakInclImplDate: null,
+        dBreakInclLiftedSign: null,
+        dBreakInclLiftedDate: null,
+        dIsDqhl: null,
+        dDqhlImplSign: null,
+        dDqhlImplDate: null,
+        dDqhlLiftedSign: null,
+        dDqhlLiftedDate: null,
+        dEleCircuitNo: null,
+        dInsTagNo: null,
+        dIsYbh: null,
+        dBreakInclContent: null,
+        dIsRadioactiveSources: null,
+        dIsOtherEquSafe: null,
+        dIsOtherEquSafeContent: null,
+        dIsDepress: null,
+        dIsSingleBlocking: null,
+        dIsDoubleBlock: null,
+        dIsLockoutUsing: null,
+        dLockoutUsingContent: null,
+        dIsRemovePipe: null,
+        dIsDisPipes: null,
+        dIsInsertBlindPlage: null,
+        dIsMecSecure: null,
+        dMecSecureContent: null,
+        dIsIsolationDiagram: null,
+        dIsOtherSafePlant: null,
+        dOtherSafePlantContent: null,
+        dIsDrain: null,
+        dIsClean: null,
+        dCleanContent: null,
+        dIsFlush: null,
+        dFlushContent: null,
+        dIsOhterClean: null,
+        dOtherCleanContent: null,
+        dIsSiteDemarcation: null,
+        dSiteDemarcationContent: null,
+        dIsAreaCover: null,
+        dAreaCoverContent: null,
+        dIsCloseTrucks: null,
+        dIsLeakFlanges: null,
+        dIsOtherWorkSafe: null,
+        dOtherWorkSafeContent: null,
+        dIsOtherMeasure: null,
+        dOtherMeasureContent: null,
+        dIsSafeBriefing: null,
+        dPartakeBriefingSign: null,
+        dPartakeBriefingDate: null,
+        dNoReasonContent: null,
+        dSafeImplSign11: null,
+        dSafeImplDate11: null,
+        dSafeLiftedSign11: null,
+        dSafeLiftedDate11: null,
+        dSafeImplSign12: null,
+        dSafeImplDate12: null,
+        dSafeLiftedSign12: null,
+        dSafeLiftedDate12: null,
+        dSafeImplSign13: null,
+        dSafeImplDate13: null,
+        dSafeLiftedSign13: null,
+        dSafeLiftedDate13: null,
+        dSafeImplSign14: null,
+        dSafeImplDate14: null,
+        dSafeLiftedSign14: null,
+        dSafeLiftedDate14: null,
+        dSafeImplSign21: null,
+        dSafeImplDate21: null,
+        dSafeImplSign22: null,
+        dSafeImplDate22: null,
+        dSafeLiftedSign22: null,
+        dSafeLiftedDate22: null,
+        dSafeImplSign23: null,
+        dSafeImplDate23: null,
+        dSafeLiftedSign23: null,
+        dSafeLiftedDate23: null,
+        dSafeImplSign24: null,
+        dSafeImplDate24: null,
+        dSafeLiftedSign24: null,
+        dSafeLiftedDate24: null,
+        dSafeImplSign25: null,
+        dSafeImplDate25: null,
+        dSafeLiftedSign25: null,
+        dSafeLiftedDate25: null,
+        dSafeImplSign26: null,
+        dSafeImplDate26: null,
+        dSafeLiftedSign26: null,
+        dSafeLiftedDate26: null,
+        dSafeImplSign27: null,
+        dSafeImplDate27: null,
+        dSafeLiftedSign27: null,
+        dSafeLiftedDate27: null,
+        dSafeImplSign28: null,
+        dSafeImplDate28: null,
+        dSafeLiftedSign28: null,
+        dSafeLiftedDate28: null,
+        dSafeImplSign29: null,
+        dSafeImplDate29: null,
+        dSafeImplSign210: null,
+        dSafeImplDate210: null,
+        dSafeLiftedSign210: null,
+        dSafeLiftedDate210: null,
+        dSafeImplSign31: null,
+        dSafeImplDate31: null,
+        dSafeImplSign32: null,
+        dSafeImplDate32: null,
+        dSafeImplSign33: null,
+        dSafeImplDate33: null,
+        dSafeImplSign34: null,
+        dSafeImplDate34: null,
+        dSafeImplSign41: null,
+        dSafeImplDate41: null,
+        dSafeLiftedSign41: null,
+        dSafeLiftedDate41: null,
+        dSafeImplSign42: null,
+        dSafeImplDate42: null,
+        dSafeLiftedSign42: null,
+        dSafeLiftedDate42: null,
+        dSafeImplSign43: null,
+        dSafeImplDate43: null,
+        dSafeLiftedSign43: null,
+        dSafeLiftedDate43: null,
+        dSafeImplSign44: null,
+        dSafeImplDate44: null,
+        dSafeLiftedSign44: null,
+        dSafeLiftedDate44: null,
+        dSafeImplSign45: null,
+        dSafeImplDate45: null,
+        dSafeLiftedSign45: null,
+        dSafeLiftedDate45: null,
+        dSafeImplSign51: null,
+        dSafeImplDate51: null,
+        dSafeLiftedSign51: null,
+        dSafeLiftedDate51: null,
+        //施工时的安全措施
+        eIsPresent: null,
+        eIsRequiredPpe: null,
+        ePpeContent: null,
+        eIsSafeGoggles: null,
+        eIsFaceShield: null,
+        eIsProtectGloves: null,
+        eProtectGlovesContent: null,
+        eIsRubberBoots: null,
+        eIsRubberApron: null,
+        eIsProtectSuit: null,
+        eProtectSuitContent: null,
+        eIsResProtect: null,
+        eResProtectContent: null,
+        eIsFallArrest: null,
+        eFallArrestContent: null,
+        eIsOtherProtect: null,
+        eOtherProtectContent: null,
+        eIsContinueMonitoring: null,
+        eSafeAttendant: null,
+        eSafeAttendantSign: null,
+        eIsNaturalVen: null,
+        eNaturalVenContent: null,
+        eIsMecVen: null,
+        eMecVenContent: null,
+        eIsExxtractDust: null,
+        eIsAnalyzeAir: null,
+        eAnalyzeAirContent: null,
+        eAnalyzeAirInterval: null,
+        eIsOtherVen: null,
+        eOtherVenContent: null,
+        fIsAfterWorkSafe: null,
+        fAfterWorkSafeContent: null,
+        gFirstSign: null,
+        gFirstDate: null,
+        gSecondSign: null,
+        gSecondDate: null,
+        gThirdSign: null,
+        gThirdDate: null,
+        gIsSpecialAssessment: null,
+        gSpecialAssessment: null,
+        hSafeMesSign: null,
+        hSafeMesDate: null,
+        hVNoOne: null,
+        hVNoTwo: null,
+        hVNoThree: null,
+        iOneASign: null,
+        iOneADate: null,
+        iOneBSign: null,
+        iOneBDate: null,
+        jOneBSign: null,
+        jOneBDate: null,
+        jResMemberSign: null,
+        jResMemberDate: null,
+        jEISign: null,
+        jEIDate: null,
+        kConfirmSign: null,
+        kConfirmDate: null,
+        lNoticeSign: null,
+        lNoticeDate: null,
+        mAssessDContent: null,
+        mAssessDSign: null,
+        mAssessDDate: null,
+        mOtherLicenceOne: null,
+        mOtherLicenceTwo: null,
+        mOtherLicenceThree: null,
+      },
+      // 表单校验
+      rules: {
+        ruleA1: [
+          { validator: validateruleA1, trigger: 'blur' }
+        ],
+        aEquipmentName: [
+          { required: true, message: "生产装置名称不能为空", trigger: "blur" }
+        ],
+        aEquipmentLeader: [
+          { required: true, message: "生产装置主管不能为空" }
+        ],
+        aEquipmentTel: [
+          { required: true, message: "生产装置电话不能为空", trigger: "blur" }
+        ],
+        aEquipmentOffice: [
+          { required: true, message: "生产装置办公室不能为空", trigger: "blur" }
+        ],
+        aConstructionName: [
+          { required: true, message: "施工单位名称不能为空", trigger: "blur" }
+        ],
+        aConstructionLeader: [
+          { required: true, message: "施工单位主管不能为空", trigger: "blur" }
+        ],
+        aConstructionTel: [
+          { required: true, message: "施工单位电话不能为空", trigger: "blur" }
+        ],
+        aConstructionOffice: [
+          { required: true, message: "施工单位办公室不能为空", trigger: "blur" }
+        ],
+        aContractorName: [
+          { required: true, message: "用户不能为空", trigger: "blur" }
+        ],
+        aContractorLeader: [
+          { required: true, message: "用户主管不能为空", trigger: "blur" }
+        ],
+        aContractorTel: [
+          { required: true, message: "用户电话不能为空", trigger: "blur" }
+        ],
+        aContractorOffice: [
+          { required: true, message: "用户办公室不能为空", trigger: "blur" }
+        ],
+        aIsNeedSafeLiaison: [
+          { required: true, message: "是否需要安全联络员不能为空", trigger: "blur" }
+        ],
+        aSafeLiaisonName: [
+          { required: true, message: "安全联络员姓名不能为空", trigger: "blur" }
+        ],
+        aSafeLiaisonSign: [
+          { required: true, message: "安全联络员签名不能为空", trigger: "blur" }
+        ],
+        aSafeLiaisonTel: [
+          { required: true, message: "安全联络员电话不能为空", trigger: "blur" }
+        ],
+        aSafeLiaisonOffice: [
+          { required: true, message: "安全联络员办公室不能为空", trigger: "blur" }
+        ],
+        bDeviceName: [
+          { required: true, message: "装置设备名称不能为空", trigger: "blur" }
+        ],
+        bWorkContent: [
+          { required: true, message: "工作内容描述不能为空", trigger: "blur" }
+        ],
+        bValidityStartTime: [
+          { required: true, message: "有效期,开始时间不能为空", trigger: "blur" }
+        ],
+        bValidityEndTime: [
+          { required: true, message: "有效期,结束时间不能为空", trigger: "blur" }
+        ],
+        cHarmMatterName: [
+          { required: true, message: "危害物质名称不能为空", trigger: "blur" }
+        ],
+        cIsDanger: [
+          { required: true, message: "是否危险不能为空", trigger: "blur" }
+        ],
+        cIsAttention: [
+          { required: true, message: "是否注意不能为空", trigger: "blur" }
+        ],
+        cIsToxic: [
+          { required: true, message: "是否毒性不能为空", trigger: "blur" }
+        ],
+        cIsFlammable: [
+          { required: true, message: "是否易燃性不能为空", trigger: "blur" }
+        ],
+        cIsOxidizing: [
+          { required: true, message: "是否氧化性不能为空", trigger: "blur" }
+        ],
+        cIsExplosive: [
+          { required: true, message: "是否爆炸性不能为空", trigger: "blur" }
+        ],
+        cIsCorrosive: [
+          { required: true, message: "是否腐蚀性不能为空", trigger: "blur" }
+        ],
+        cIsIrritantToxic: [
+          { required: true, message: "是否刺激性/致命性/毒性不能为空", trigger: "blur" }
+        ],
+        cIsHealthHazard: [
+          { required: true, message: "是否健康危害不能为空", trigger: "blur" }
+        ],
+        cIsCompressedGas: [
+          { required: true, message: "是否压力下气体不能为空", trigger: "blur" }
+        ],
+        cIsEnvironmentalHazard: [
+          { required: true, message: "是否危害水生环境不能为空", trigger: "blur" }
+        ],
+        cIsHighTemp: [
+          { required: true, message: "是否高温不能为空", trigger: "blur" }
+        ],
+        cIsLowTemp: [
+          { required: true, message: "是否低温不能为空", trigger: "blur" }
+        ],
+        cIsPosPressure: [
+          { required: true, message: "是否正压不能为空", trigger: "blur" }
+        ],
+        cIsNegPressure: [
+          { required: true, message: "是否负压不能为空", trigger: "blur" }
+        ],
+        cIsMovingParts: [
+          { required: true, message: "是否移动部件不能为空", trigger: "blur" }
+        ],
+        cIsHotSurfaces: [
+          { required: true, message: "是否热表面不能为空", trigger: "blur" }
+        ],
+        cIsColdSurfaces: [
+          { required: true, message: "是否冷表面不能为空", trigger: "blur" }
+        ],
+        cIsVoltages: [
+          { required: true, message: "是否电压不能为空", trigger: "blur" }
+        ],
+        cIsWorkProtective: [
+          { required: true, message: "是否安全保护设备的施工不能为空", trigger: "blur" }
+        ],
+        cIsOtherDanger: [
+          { required: true, message: "是否其他危害不能为空", trigger: "blur" }
+        ],
+        cOtherDangerContent: [
+          { required: true, message: "其他危害内容不能为空", trigger: "blur" }
+        ],
+        cIsHazardsProd: [
+          { required: true, message: "是否施工对生产单位的危害不能为空", trigger: "blur" }
+        ],
+        cIsHazardsProdContent: [
+          { required: true, message: "施工对生产单位的危害内容不能为空", trigger: "blur" }
+        ],
+        cIsFire: [
+          { required: true, message: "是否火灾或爆炸危害不能为空", trigger: "blur" }
+        ],
+        cHId: [
+          { required: true, message: "动火许可证不能为空", trigger: "blur" }
+        ],
+        bAreaNo: [
+          { required: true, message: "位置/区域号不能为空", trigger: "blur" }
+        ],
+        dIsOpenSafe: [
+          { required: true, message: "1.1是否通过打开安全开关断电并上锁和运转测试不能为空", trigger: "blur" }
+        ],
+        dIsDisFeeder: [
+          { required: true, message: "1.2是否断开电源线不能为空", trigger: "blur" }
+        ],
+        dIsBreakIncl: [
+          { required: true, message: "1.2是否回路开关并上锁和运转测试不能为空", trigger: "blur" }
+        ],
+        dBreakInclContent: [
+          { required: true, message: "1.2是否回路开关并上锁和运转测试内容不能为空", trigger: "blur" }
+        ],
+        dEleCircuitNo: [
+          { required: true, message: "1.2电气回路编号不能为空", trigger: "blur" }
+        ],
+        dInsTagNo: [
+          { required: true, message: "1.2仪表号/测点编号不能为空", trigger: "blur" }
+        ],
+        dIsRadioactiveSources: [
+          { required: true, message: "1.3是否放射源由专业人员确保安全不能为空", trigger: "blur" }
+        ],
+        dIsOtherEquSafe: [
+          { required: true, message: "1.4是否其他确保E&I设备安全不能为空", trigger: "blur" }
+        ],
+        dIsOtherEquSafeContent: [
+          { required: true, message: "1.4是否其他确保E&I设备安全内容不能为空", trigger: "blur" }
+        ],
+        dIsDepress: [
+          { required: true, message: "2.1是否泄压排空不能为空", trigger: "blur" }
+        ],
+        dIsSingleBlocking: [
+          { required: true, message: "2.2是否单阀截断不能为空", trigger: "blur" }
+        ],
+        dIsDoubleBlock: [
+          { required: true, message: "2.3是否双阀截断与放空不能为空", trigger: "blur" }
+        ],
+        dIsLockoutUsing: [
+          { required: true, message: "2.4是否使用XX内容锁定不能为空", trigger: "blur" }
+        ],
+        dLockoutUsingContent: [
+          { required: true, message: "2.4XX内容不能为空", trigger: "blur" }
+        ],
+        dIsRemovePipe: [
+          { required: true, message: "2.5是否移去部分管线/短接不能为空", trigger: "blur" }
+        ],
+        dIsDisPipes: [
+          { required: true, message: "2.6是否断开管线并加盖盲法兰不能为空", trigger: "blur" }
+        ],
+        dIsInsertBlindPlage: [
+          { required: true, message: "2.7是否插入盲板不能为空", trigger: "blur" }
+        ],
+        dIsMecSecure: [
+          { required: true, message: "2.8是否机械安全措施不能为空", trigger: "blur" }
+        ],
+        dMecSecureContent: [
+          { required: true, message: "2.8机械安全措施内容不能为空", trigger: "blur" }
+        ],
+        dIsIsolationDiagram: [
+          { required: true, message: "2.9是否附隔离/盲板图不能为空", trigger: "blur" }
+        ],
+        dIsOtherSafePlant: [
+          { required: true, message: "2.10是否其他确保装置设备安全不能为空", trigger: "blur" }
+        ],
+        dOtherSafePlantContent: [
+          { required: true, message: "2.10是否其他确保装置设备安全内容不能为空", trigger: "blur" }
+        ],
+        dIsDrain: [
+          { required: true, message: "3.1是否倒空不能为空", trigger: "blur" }
+        ],
+        dIsClean: [
+          { required: true, message: "3.2是否用XX设备清洗不能为空", trigger: "blur" }
+        ],
+        dCleanContent: [
+          { required: true, message: "3.2XX清洗设备不能为空", trigger: "blur" }
+        ],
+        dIsFlush: [
+          { required: true, message: "3.3是否XX设备置换不能为空", trigger: "blur" }
+        ],
+        dFlushContent: [
+          { required: true, message: "3.3XX置换设备不能为空", trigger: "blur" }
+        ],
+        dIsOhterClean: [
+          { required: true, message: "3.4是否其他导空/清洗工艺设备不能为空", trigger: "blur" }
+        ],
+        dOtherCleanContent: [
+          { required: true, message: "3.4是否其他导空/清洗工艺设备内容不能为空", trigger: "blur" }
+        ],
+        dIsSiteDemarcation: [
+          { required: true, message: "4.1是否现场隔离使用不能为空", trigger: "blur" }
+        ],
+        dSiteDemarcationContent: [
+          { required: true, message: "4.1现场隔离使用内容不能为空", trigger: "blur" }
+        ],
+        dIsAreaCover: [
+          { required: true, message: "4.2是否需覆盖的区域不能为空", trigger: "blur" }
+        ],
+        dAreaCoverContent: [
+          { required: true, message: "4.2需覆盖的区域内容不能为空", trigger: "blur" }
+        ],
+        dIsCloseTrucks: [
+          { required: true, message: "4.3是否封闭槽车/火车路线不能为空", trigger: "blur" }
+        ],
+        dIsLeakFlanges: [
+          { required: true, message: "4.4是否对邻近法兰和管件检漏不能为空", trigger: "blur" }
+        ],
+        dIsOtherWorkSafe: [
+          { required: true, message: "4.5是否其他确保施工区域安全能为空", trigger: "blur" }
+        ],
+        dOtherWorkSafeContent: [
+          { required: true, message: "4.5是否其他确保施工区域安全内容不能为空", trigger: "blur" }
+        ],
+        dIsOtherMeasure: [
+          { required: true, message: "5.1是否额外的组织措施不能为空", trigger: "blur" }
+        ],
+        dOtherMeasureContent: [
+          { required: true, message: "5.1是否额外的组织措施内容不能为空", trigger: "blur" }
+        ],
+        dIsSafeBriefing: [
+          { required: true, message: "6.是否现场安全说明/交底不能为空", trigger: "blur" }
+        ],
+        dPartakeBriefingSign: [
+          { required: true, message: "6参与交底人签名不能为空", trigger: "blur" }
+        ],
+        dPartakeBriefingDate: [
+          { required: true, message: "6参与交底人日期不能为空", trigger: "blur" }
+        ],
+        dNoReasonContent: [
+          { required: true, message: "6没有的原因不能为空", trigger: "blur" }
+        ],
+        dSafeImplSign11: [
+          { required: true, message: "1.1安全措施完成签名不能为空", trigger: "blur" }
+        ],
+        dSafeImplDate11: [
+          { required: true, message: "1.1安全措施完成日期不能为空", trigger: "blur" }
+        ],
+        dSafeLiftedSign11: [
+          { required: true, message: "1.1安全措施撤销签名不能为空", trigger: "blur" }
+        ],
+        dSafeLiftedDate11: [
+          { required: true, message: "1.1安全措施撤销日期不能为空", trigger: "blur" }
+        ],
+        dSafeImplSign12: [
+          { required: true, message: "1.2安全措施完成签名不能为空", trigger: "blur" }
+        ],
+        dSafeImplDate12: [
+          { required: true, message: "1.2安全措施完成日期不能为空", trigger: "blur" }
+        ],
+        dSafeLiftedSign12: [
+          { required: true, message: "1.2安全措施撤销签名不能为空", trigger: "blur" }
+        ],
+        dSafeLiftedDate12: [
+          { required: true, message: "1.2安全措施撤销日期不能为空", trigger: "blur" }
+        ],
+        dSafeImplSign13: [
+          { required: true, message: "1.3安全措施完成签名不能为空", trigger: "blur" }
+        ],
+        dSafeImplDate13: [
+          { required: true, message: "1.3安全措施完成日期不能为空", trigger: "blur" }
+        ],
+        dSafeLiftedSign13: [
+          { required: true, message: "1.3安全措施撤销签名不能为空", trigger: "blur" }
+        ],
+        dSafeLiftedDate13: [
+          { required: true, message: "1.3安全措施撤销日期不能为空", trigger: "blur" }
+        ],
+        dSafeImplSign14: [
+          { required: true, message: "1.4安全措施完成签名不能为空", trigger: "blur" }
+        ],
+        dSafeImplDate14: [
+          { required: true, message: "1.4安全措施完成日期不能为空", trigger: "blur" }
+        ],
+        dSafeLiftedSign14: [
+          { required: true, message: "1.4安全措施撤销签名不能为空", trigger: "blur" }
+        ],
+        dSafeLiftedDate14: [
+          { required: true, message: "1.4安全措施撤销日期不能为空", trigger: "blur" }
+        ],
+        dSafeImplSign21: [
+          { required: true, message: "2.1安全措施完成签名不能为空", trigger: "blur" }
+        ],
+        dSafeImplDate21: [
+          { required: true, message: "2.1安全措施完成日期不能为空", trigger: "blur" }
+        ],
+        dSafeImplSign22: [
+          { required: true, message: "2.2安全措施完成签名不能为空", trigger: "blur" }
+        ],
+        dSafeImplDate22: [
+          { required: true, message: "2.2安全措施完成日期不能为空", trigger: "blur" }
+        ],
+        dSafeLiftedSign22: [
+          { required: true, message: "2.2安全措施撤销签名不能为空", trigger: "blur" }
+        ],
+        dSafeLiftedDate22: [
+          { required: true, message: "2.2安全措施撤销日期不能为空", trigger: "blur" }
+        ],
+        dSafeImplSign23: [
+          { required: true, message: "2.3安全措施完成签名不能为空", trigger: "blur" }
+        ],
+        dSafeImplDate23: [
+          { required: true, message: "2.3安全措施完成日期不能为空", trigger: "blur" }
+        ],
+        dSafeLiftedSign23: [
+          { required: true, message: "2.3安全措施撤销签名不能为空", trigger: "blur" }
+        ],
+        dSafeLiftedDate23: [
+          { required: true, message: "2.3安全措施撤销日期不能为空", trigger: "blur" }
+        ],
+        dSafeImplSign24: [
+          { required: true, message: "2.4安全措施完成签名不能为空", trigger: "blur" }
+        ],
+        dSafeImplDate24: [
+          { required: true, message: "2.4安全措施完成日期不能为空", trigger: "blur" }
+        ],
+        dSafeLiftedSign24: [
+          { required: true, message: "2.4安全措施撤销签名不能为空", trigger: "blur" }
+        ],
+        dSafeLiftedDate24: [
+          { required: true, message: "2.4安全措施撤销日期不能为空", trigger: "blur" }
+        ],
+        dSafeImplSign25: [
+          { required: true, message: "2.5安全措施完成签名不能为空", trigger: "blur" }
+        ],
+        dSafeImplDate25: [
+          { required: true, message: "2.5安全措施完成日期不能为空", trigger: "blur" }
+        ],
+        dSafeLiftedSign25: [
+          { required: true, message: "2.5安全措施撤销签名不能为空", trigger: "blur" }
+        ],
+        dSafeLiftedDate25: [
+          { required: true, message: "2.5安全措施撤销日期不能为空", trigger: "blur" }
+        ],
+        dSafeImplSign26: [
+          { required: true, message: "2.6安全措施完成签名不能为空", trigger: "blur" }
+        ],
+        dSafeImplDate26: [
+          { required: true, message: "2.6安全措施完成日期不能为空", trigger: "blur" }
+        ],
+        dSafeLiftedSign26: [
+          { required: true, message: "2.6安全措施撤销签名不能为空", trigger: "blur" }
+        ],
+        dSafeLiftedDate26: [
+          { required: true, message: "2.6安全措施撤销日期不能为空", trigger: "blur" }
+        ],
+        dSafeImplSign27: [
+          { required: true, message: "2.7安全措施完成签名不能为空", trigger: "blur" }
+        ],
+        dSafeImplDate27: [
+          { required: true, message: "2.7安全措施完成日期不能为空", trigger: "blur" }
+        ],
+        dSafeLiftedSign27: [
+          { required: true, message: "2.7安全措施撤销签名不能为空", trigger: "blur" }
+        ],
+        dSafeLiftedDate27: [
+          { required: true, message: "2.7安全措施撤销日期不能为空", trigger: "blur" }
+        ],
+        dSafeImplSign28: [
+          { required: true, message: "2.8安全措施完成签名不能为空", trigger: "blur" }
+        ],
+        dSafeImplDate28: [
+          { required: true, message: "2.8安全措施完成日期不能为空", trigger: "blur" }
+        ],
+        dSafeLiftedSign28: [
+          { required: true, message: "2.8安全措施撤销签名不能为空", trigger: "blur" }
+        ],
+        dSafeLiftedDate28: [
+          { required: true, message: "2.8安全措施撤销日期不能为空", trigger: "blur" }
+        ],
+        dSafeImplSign29: [
+          { required: true, message: "2.9安全措施完成签名不能为空", trigger: "blur" }
+        ],
+        dSafeImplDate29: [
+          { required: true, message: "2.9安全措施完成日期不能为空", trigger: "blur" }
+        ],
+        dSafeImplSign210: [
+          { required: true, message: "2.10安全措施完成签名不能为空", trigger: "blur" }
+        ],
+        dSafeImplDate210: [
+          { required: true, message: "2.10安全措施完成日期不能为空", trigger: "blur" }
+        ],
+        dSafeLiftedSign210: [
+          { required: true, message: "2.10安全措施撤销签名不能为空", trigger: "blur" }
+        ],
+        dSafeLiftedDate210: [
+          { required: true, message: "2.10安全措施撤销日期不能为空", trigger: "blur" }
+        ],
+        dSafeImplSign31: [
+          { required: true, message: "3.1安全措施完成签名不能为空", trigger: "blur" }
+        ],
+        dSafeImplDate31: [
+          { required: true, message: "3.1安全措施完成日期不能为空", trigger: "blur" }
+        ],
+        dSafeImplSign32: [
+          { required: true, message: "3.2安全措施完成签名不能为空", trigger: "blur" }
+        ],
+        dSafeImplDate32: [
+          { required: true, message: "3.2安全措施完成日期不能为空", trigger: "blur" }
+        ],
+        dSafeImplSign33: [
+          { required: true, message: "3.3安全措施完成签名不能为空", trigger: "blur" }
+        ],
+        dSafeImplDate33: [
+          { required: true, message: "3.3安全措施完成日期不能为空", trigger: "blur" }
+        ],
+        dSafeImplSign34: [
+          { required: true, message: "3.4安全措施完成签名不能为空", trigger: "blur" }
+        ],
+        dSafeImplDate34: [
+          { required: true, message: "3.4安全措施完成日期不能为空", trigger: "blur" }
+        ],
+        dSafeImplSign41: [
+          { required: true, message: "4.1安全措施完成签名不能为空", trigger: "blur" }
+        ],
+        dSafeImplDate41: [
+          { required: true, message: "4.1安全措施完成日期不能为空", trigger: "blur" }
+        ],
+        dSafeLiftedSign41: [
+          { required: true, message: "4.1安全措施撤销签名不能为空", trigger: "blur" }
+        ],
+        dSafeLiftedDate41: [
+          { required: true, message: "4.1安全措施撤销日期不能为空", trigger: "blur" }
+        ],
+        dSafeImplSign42: [
+          { required: true, message: "4.2安全措施完成签名不能为空", trigger: "blur" }
+        ],
+        dSafeImplDate42: [
+          { required: true, message: "4.2安全措施完成日期不能为空", trigger: "blur" }
+        ],
+        dSafeLiftedSign42: [
+          { required: true, message: "4.2安全措施撤销签名不能为空", trigger: "blur" }
+        ],
+        dSafeLiftedDate42: [
+          { required: true, message: "4.2安全措施撤销日期不能为空", trigger: "blur" }
+        ],
+        dSafeImplSign43: [
+          { required: true, message: "4.3安全措施完成签名不能为空", trigger: "blur" }
+        ],
+        dSafeImplDate43: [
+          { required: true, message: "4.3安全措施完成日期不能为空", trigger: "blur" }
+        ],
+        dSafeLiftedSign43: [
+          { required: true, message: "4.3安全措施撤销签名不能为空", trigger: "blur" }
+        ],
+        dSafeLiftedDate43: [
+          { required: true, message: "4.3安全措施撤销日期不能为空", trigger: "blur" }
+        ],
+        dSafeImplSign44: [
+          { required: true, message: "4.4安全措施完成签名不能为空", trigger: "blur" }
+        ],
+        dSafeImplDate44: [
+          { required: true, message: "4.4安全措施完成日期不能为空", trigger: "blur" }
+        ],
+        dSafeImplSign45: [
+          { required: true, message: "4.5安全措施完成签名不能为空", trigger: "blur" }
+        ],
+        dSafeImplDate45: [
+          { required: true, message: "4.5安全措施完成日期不能为空", trigger: "blur" }
+        ],
+        dSafeLiftedSign45: [
+          { required: true, message: "4.5安全措施撤销签名不能为空", trigger: "blur" }
+        ],
+        dSafeLiftedDate45: [
+          { required: true, message: "4.5安全措施撤销日期不能为空", trigger: "blur" }
+        ],
+        dSafeImplSign51: [
+          { required: true, message: "5.1安全措施完成签名不能为空", trigger: "blur" }
+        ],
+        dSafeImplDate51: [
+          { required: true, message: "5.1安全措施完成日期不能为空", trigger: "blur" }
+        ],
+        dSafeLiftedSign51: [
+          { required: true, message: "5.1安全措施撤销签名不能为空", trigger: "blur" }
+        ],
+        dSafeLiftedDate51: [
+          { required: true, message: "5.1安全措施撤销日期不能为空", trigger: "blur" }
+        ],
+        eIsPresent: [
+          { required: true, message: "1.是否可能有残留物料不能为空", trigger: "blur" }
+        ],
+        eIsRequiredPpe: [
+          { required: true, message: "2.是否仅限定时间内佩戴PPE不能为空", trigger: "blur" }
+        ],
+        ePpeContent: [
+          { required: true, message: "2.项目内容不能为空", trigger: "blur" }
+        ],
+        eIsSafeGoggles: [
+          { required: true, message: "2.1是否安全护目镜不能为空", trigger: "blur" }
+        ],
+        eIsFaceShield: [
+          { required: true, message: "2.2是否防护面罩不能为空", trigger: "blur" }
+        ],
+        eIsProtectGloves: [
+          { required: true, message: "2.3是否防护手套不能为空", trigger: "blur" }
+        ],
+        eProtectGlovesContent: [
+          { required: true, message: "2.3防护手套类型不能为空", trigger: "blur" }
+        ],
+        eIsRubberBoots: [
+          { required: true, message: "2.4是否橡胶长靴不能为空", trigger: "blur" }
+        ],
+        eIsRubberApron: [
+          { required: true, message: "2.5是否橡胶围裙不能为空", trigger: "blur" }
+        ],
+        eIsProtectSuit: [
+          { required: true, message: "2.6是否防护服不能为空", trigger: "blur" }
+        ],
+        eProtectSuitContent: [
+          { required: true, message: "2.6防护服类型不能为空", trigger: "blur" }
+        ],
+        eIsResProtect: [
+          { required: true, message: "2.7是否呼吸保护用品不能为空", trigger: "blur" }
+        ],
+        eResProtectContent: [
+          { required: true, message: "2.7呼吸保护用品类型不能为空", trigger: "blur" }
+        ],
+        eIsFallArrest: [
+          { required: true, message: "2.8是否防坠落装置不能为空", trigger: "blur" }
+        ],
+        eFallArrestContent: [
+          { required: true, message: "2.8防坠落装置类型不能为空", trigger: "blur" }
+        ],
+        eIsOtherProtect: [
+          { required: true, message: "2.9是否其他个人防护用品不能为空", trigger: "blur" }
+        ],
+        eOtherProtectContent: [
+          { required: true, message: "2.9其他个人防护用品内容不能为空", trigger: "blur" }
+        ],
+        eIsContinueMonitoring: [
+          { required: true, message: "3.是否连续监控不能为空", trigger: "blur" }
+        ],
+        eSafeAttendant: [
+          { required: true, message: "3.安全监护人单位不能为空", trigger: "blur" }
+        ],
+        eSafeAttendantSign: [
+          { required: true, message: "3.安全监护人签名不能为空", trigger: "blur" }
+        ],
+        eIsNaturalVen: [
+          { required: true, message: "4.1是否自然通风不能为空", trigger: "blur" }
+        ],
+        eNaturalVenContent: [
+          { required: true, message: "4.1自然通风内容不能为空", trigger: "blur" }
+        ],
+        eIsMecVen: [
+          { required: true, message: "4.2是否机械通风不能为空", trigger: "blur" }
+        ],
+        eMecVenContent: [
+          { required: true, message: "4.2机械通风使用内容不能为空", trigger: "blur" }
+        ],
+        eIsExxtractDust: [
+          { required: true, message: "4.3是否在释放源处抽走粉尘/气体/蒸汽不能为空", trigger: "blur" }
+        ],
+        eIsAnalyzeAir: [
+          { required: true, message: "4.4是否空气分析不能为空", trigger: "blur" }
+        ],
+        eAnalyzeAirContent: [
+          { required: true, message: "4.4空气分析内容不能为空", trigger: "blur" }
+        ],
+        eAnalyzeAirInterval: [
+          { required: true, message: "4.4空气分析频次不能为空", trigger: "blur" }
+        ],
+        eIsOtherVen: [
+          { required: true, message: "4.5是否其他通风措施不能为空", trigger: "blur" }
+        ],
+        eOtherVenContent: [
+          { required: true, message: "4.5其他通风措施内容不能为空", trigger: "blur" }
+        ],
+        fIsAfterWorkSafe: [
+          { required: true, message: "F是否施工后的安全措施不能为空", trigger: "blur" }
+        ],
+        fAfterWorkSafeContent: [
+          { required: true, message: "F施工后的安全措施内容不能为空", trigger: "blur" }
+        ],
+        gFirstSign: [
+          { required: true, message: "G第一签名不能为空", trigger: "blur" }
+        ],
+        gFirstDate: [
+          { required: true, message: "G第一签名不能为空", trigger: "blur" }
+        ],
+        gSecondSign: [
+          { required: true, message: "G第二签名不能为空", trigger: "blur" }
+        ],
+        gSecondDate: [
+          { required: true, message: "G第二签名不能为空", trigger: "blur" }
+        ],
+        gThirdSign: [
+          { required: true, message: "G第三签名不能为空", trigger: "blur" }
+        ],
+        gThirdDate: [
+          { required: true, message: "G第三签名不能为空", trigger: "blur" }
+        ],
+        gIsSpecialAssessment: [
+          { required: true, message: "G是否由专门部门人员评估的项目不能为空", trigger: "blur" }
+        ],
+        gSpecialAssessment: [
+          { required: true, message: "G由专门部门人员评估的项目内容不能为空", trigger: "blur" }
+        ],
+        hSafeMesSign: [
+          { required: true, message: "H安全措施检查和许可证批准签名不能为空", trigger: "blur" }
+        ],
+        hSafeMesDate: [
+          { required: true, message: "H安全措施检查和许可证批准日期不能为空", trigger: "blur" }
+        ],
+        hVNoOne: [
+          { required: true, message: "相应的延期许可证号码1不能为空", trigger: "blur" }
+        ],
+        hVNoTwo: [
+          { required: true, message: "相应的延期许可证号码2不能为空", trigger: "blur" }
+        ],
+        hVNoThree: [
+          { required: true, message: "相应的延期许可证号码3不能为空", trigger: "blur" }
+        ],
+        iOneASign: [
+          { required: true, message: "I 1a签名不能为空", trigger: "blur" }
+        ],
+        iOneADate: [
+          { required: true, message: "I 1a签名不能为空", trigger: "blur" }
+        ],
+        iOneBSign: [
+          { required: true, message: "I 1b签名不能为空", trigger: "blur" }
+        ],
+        iOneBDate: [
+          { required: true, message: "I 1b签名不能为空", trigger: "blur" }
+        ],
+        jOneBSign: [
+          { required: true, message: "J1 授权的维修工人签名不能为空", trigger: "blur" }
+        ],
+        jOneBDate: [
+          { required: true, message: "J1 授权的维修工人签名不能为空", trigger: "blur" }
+        ],
+        jResMemberSign: [
+          { required: true, message: "J1 生产装置授权人员签名不能为空", trigger: "blur" }
+        ],
+        jResMemberDate: [
+          { required: true, message: "J1 生产装置授权人员签名不能为空", trigger: "blur" }
+        ],
+        jEISign: [
+          { required: true, message: "J2 E&I人员签名确认已安全停电不能为空", trigger: "blur" }
+        ],
+        jEIDate: [
+          { required: true, message: "J2 E&I人员签名确认已安全停电时间不能为空", trigger: "blur" }
+        ],
+        kConfirmSign: [
+          { required: true, message: "K 确认F栏的安全措施已完成签名不能为空", trigger: "blur" }
+        ],
+        kConfirmDate: [
+          { required: true, message: "K 确认F栏的安全措施已完成时间不能为空", trigger: "blur" }
+        ],
+        lNoticeSign: [
+          { required: true, message: "L 授权的维修工人通知安全生产装置施工完成签名不能为空", trigger: "blur" }
+        ],
+        lNoticeDate: [
+          { required: true, message: "L 授权的维修工人通知安全生产装置施工完成时间不能为空", trigger: "blur" }
+        ],
+        mAssessDContent: [
+          { required: true, message: "M 评估/批准撤销D栏的施工安全措施内容不能为空", trigger: "blur" }
+        ],
+        mAssessDSign: [
+          { required: true, message: "M 评估/批准撤销D栏的施工安全措施内容签名不能为空", trigger: "blur" }
+        ],
+        mAssessDDate: [
+          { required: true, message: "M 评估/批准撤销D栏的施工安全措施内容签名不能为空", trigger: "blur" }
+        ],
+        mOtherLicenceOne: [
+          { required: true, message: "M 其他相关许可证1不能为空", trigger: "blur" }
+        ],
+        mOtherLicenceTwo: [
+          { required: true, message: "M 其他相关许可证2不能为空", trigger: "blur" }
+        ],
+        mOtherLicenceThree: [
+          { required: true, message: "M 其他相关许可证3不能为空", trigger: "blur" }
+        ],
+        bDeviceWork: [
+          { required: true, message: "B 装置设备后续不能为空", trigger: "blur" }
+        ],
+        cIsDy: [
+          { required: true, message: "C 电仪安全保护设备 不能为空", trigger: "blur" }
+        ],
+        cIsAqf: [
+          { required: true, message: "C 安全阀不能为空", trigger: "blur" }
+        ],
+        cIsLq: [
+          { required: true, message: "C 冷却系统不能为空", trigger: "blur" }
+        ],
+        wordUrl: [
+          { required: true, message: "文件地址不能为空", trigger: "blur" }
+        ],
+        pdfUrl: [
+          { required: true, message: "PDF地址不能为空", trigger: "blur" }
+        ]
+      },
+      /* 日期格式模板,目前年月日均默认当日 */
+      /* value1: [
+                new Date(2000, 10, 10, 10, 10),
+                new Date(2000, 10, 11, 10, 10),
+              ],
+              new Date(new Date().getFullYear(), new Date().getMonth(), new Date().getDate(), new Date().getHours(),
+          new Date().getMinutes()),
+        new Date(new Date().getFullYear(), new Date().getMonth(), new Date().getDate(), 17, 0),
+        */
+      value1: [],
+      pickerOptions: {
+        shortcuts: [{
+          text: '当天有效期',
+          onClick(picker) {
+            const end = new Date();
+            const start = new Date();
+            end.setTime(new Date(new Date().getFullYear(), new Date().getMonth(), new Date().getDate(), 17, 0));
+            picker.$emit('pick', [start, end]);
+          }
+        }]
+      },
+      timeValue: [],
+      //新增修改窗口内容是否展开
+      activeNames: ['1', '2', '3', '4', '5', '6', '7', '8', '9', '10', '11', '12', '13', '14', '15'],
+    }
+  },
+  /* 页面渲染前执行的方法*/
+  created() {
+    this.queryMatters();
+    this.queryDevices();
+
+    getForType(this.safeGogglesParams).then(response => {
+      this.safeGoggles = response.data;
+    });
+    getForType(this.protectSuitsParams).then(response => {
+      this.protectSuits = response.data;
+    });
+    getForType(this.resProtectsParams).then(response => {
+      this.resProtects = response.data;
+    });
+
+    var id = this.$route.query.aId;
+    if (id != null) {
+      getInfo(id).then(response => {
+        this.form = response.data;
+        this.dataLoading(this.form);
+        this.msgSuccess(this.$t('数据加载成功'));
+      });
+      this.aIdDisabled = true;
+    }
+
+    //加载施工单位
+    listDept(this.aConstructionsQuery).then(response => {
+      this.aConstructions = response.data;
+    })
+
+  },
+  methods: {
+    /* 动态改变勾选 */
+    selectChange(id) {
+      //清空取消数据选中时清除选中的危害及防护用品
+      if (this.form.cHarmMatterName == null || this.form.cHarmMatterName == '') {
+        this.form.cIsDanger = "0";
+        this.isYesDanger = "0";
+      }
+      /* 取消所有危害选中框 */
+      this.falseCheckbox();
+      // 取消所有防护用品选中
+      this.falseProtect();
+      /* 根据危害物质进行动态多选框选中 */
+      this.$nextTick(() => {
+        this.matterNames.forEach(mf => {
+          if (mf.id == id) {
+            var ff = mf.matterFeatureList;
+            var pro = mf.protects;
+            if (ff != null && ff.length > 0) {
+              this.trueCheckbox(ff);
+              this.form.cIsDanger = "1";
+              this.isYesDanger = "1";
+            } else {
+              console.log("没有需要选中的多选框");
+            }
+            //2022年1月5日取消防护用品自动选中
+            if (pro != null && pro.length > 0) {
+              this.form.isYesResidue = true;
+              pro.forEach(p => {
+                this[p.conservatoryMeasureCode] = "1";
+                if (p.conservatoryMeasureContent != null) {
+                  console.log(p.conservatoryMeasureContent);
+                  console.log(p.conservatoryMeasureName);
+                  this[p.conservatoryMeasureContent] = p.conservatoryMeasureName;
+                }
+              })
+            }
+          }
+        })
+        var idd = this.matterNames[id];
+        console.log(id);
+      });
+    },
+    //取消选中时-清除危害物质-危险性选中状态
+    falseCheckbox() {
+      this.cIsToxic = null;
+      this.cIsFlammable = null;
+      this.cIsOxidizing = null;
+      this.cIsExplosive = null;
+      this.cIsCorrosive = null;
+      this.cIsIrritantToxic = null;
+      this.cIsHealthHazard = null;
+      this.cIsCompressedGas = null;
+      this.cIsEnvironmentalHazard = null;
+    },
+    //获取装置设备数据
+    queryDevices() {
+      listDevice(this.bDeviceParams).then(response => {
+        this.bDevices = response.rows;
+      })
+    },
+    //获取危害物质数据
+    queryMatters() {
+      listMatters().then(response => {
+        this.matterNames = response.data;
+        console.log(this.matterNames)
+      })
+    },
+    // 取消所有防护用品选中
+    falseProtect() {
+      this.eIsSafeGoggles = null;
+      this.eIsFaceShield = null;
+      this.eIsProtectGloves = null;
+      this.eProtectGlovesContent = null;
+      this.eIsRubberBoots = null;
+      this.eIsRubberApron = null;
+      this.eIsProtectSuit = null;
+      this.eProtectSuitContent = null;
+      this.eIsResProtect = null;
+      this.eResProtectContent = null;
+      this.eIsFallArrest = null;
+      this.eFallArrestContent = null;
+    },
+    /* 为多选框进行动态选择*/
+    trueCheckbox(arr) {
+      console.log(arr);
+      arr.forEach((m) => {
+        this[m] = '1';
+      })
+    },
+    //全部打开按钮
+    allExpand() {
+      this.activeNames = ['1', '2', '3', '4', '5', '6', '7', '8', '9', '10', '11', '12', '13', '14'];
+    },
+    //全部关闭按钮
+    allShrink() {
+      this.activeNames = [];
+    },
+    //提交当前数据
+    onSubmit() {
+      this.dataSet();
+      updateTicket(this.form).then(response => {
+        this.msgSuccess(this.$t('票据数据已更新'));
+      });
+
+    },
+    //点击生成ID
+    aIdClick() {
+      this.$refs["form"].validate(valid => {
+        if (valid) {
+          if (this.form.aId == null) {
+            addTicket(this.form).then(response => {
+              this.form.aId = response.data;
+              this.msgSuccess(this.$t('生成ID成功'));
+            });
+            this.aIdDisabled = true;
+          } else {
+          }
+        }
+      });
+
+    },
+    //点击生成火票
+    aIdFireClick() {
+      let routeData = this.$router.resolve({
+        path: "/firework",
+        query:{aId: this.form.aId}
+      });
+      window.open(routeData.href, '_blank');
+      // if (this.form.aId == null) {
+      //   addTicket(this.form).then(response => {
+      //     this.form.aId = response.data;
+      //     this.msgSuccess(this.$t('生成ID成功'));
+      //   });
+      //   this.aIdDisabled = true;
+      // } else {
+      // }
+    },
+    //生产装置后台数据联动
+    aEquipmentChange(val) {
+      if (val == 'CBP/C') {
+        this.form.aEquipmentLeader = '张三';
+        this.form.aEquipmentTel = '6647';
+        this.form.aEquipmentOffice = 'D301';
+      }
+      if (val == 'CTM') {
+        this.form.aEquipmentLeader = 'wj';
+        this.form.aEquipmentTel = '12315';
+        this.form.aEquipmentOffice = 'D700-B楼';
+      }
+    },
+    //施工单位后台数据联动
+    aConstructionChange(val) {
+      this.aConstructions.forEach(t => {
+        console.log(val)
+        if (val == t.deptId) {
+          this.form.aConstructionLeader = t.leader;
+          this.form.aConstructionTel = t.phone;
+          this.form.aConstructionOffice = '/';
+        }
+      })
+    },
+    //用户后台数据联动
+    aContractorChange(val) {
+      if (val == 1) {
+        this.form.aContractorLeader = 'xmh';
+        this.form.aContractorTel = '10086';
+        this.form.aContractorOffice = 'D700';
+      }
+      if (val == 2) {
+        this.form.aContractorLeader = 'wj';
+        this.form.aContractorTel = '12315';
+        this.form.aContractorOffice = 'D600';
+      }
+    },
+    //安全联络员后台数据联动
+    aSafeLiaisonChange(val) {
+      if (val == 1) {
+        this.form.aSafeLiaisonTel = '10086';
+        this.form.aSafeLiaisonOffice = 'D700';
+      }
+      if (val == 2) {
+        this.form.aSafeLiaisonTel = '12315';
+        this.form.aSafeLiaisonOffice = '/';
+      }
+    },
+    //重置A栏是否需要安全联络员数据
+    cleanSafeLiaison() {
+      this.form.aSafeLiaisonName = null;
+      this.form.aSafeLiaisonSign = null;
+      this.form.aSafeLiaisonTel = null;
+      this.form.aSafeLiaisonOffice = null;
+    },
+    //装置设备后台数据联动
+    bDeviceChange(val) {
+      this.bDevices.forEach(t => {
+        if (t.id == val) {
+          this.form.bAreaNo = t.area;
+          this.form.bWorkContent = t.devName;
+        }
+      })
+    },
+    //高温
+    highTempChange() {
+      this.form.cIsLowTemp = "0";
+    },
+    //低温
+    lowTempChange() {
+      this.form.cIsHighTemp = "0";
+    },
+    //正压
+    posPressureChange() {
+      this.form.cIsNegPressure = "0";
+    },
+    //负压
+    negPressureChange() {
+      this.form.cIsPosPressure = "0";
+    },
+    //热表面
+    hotSurfacesChange() {
+      this.form.cIsColdSurfaces = "0";
+    },
+    //冷表面
+    coldSurfacesChange() {
+      this.form.cIsHotSurfaces = "0";
+    },
+    // form表单选择框数据无法正常加载,数据加载处理,数据为字符串可正常显示,后台存储的数据为数值型
+    dataLoading(val) {
+      //A栏4.是否需要安全联络员数据回显
+      this.form.aConstructionName = parseInt(this.form.aConstructionName);
+      //B栏3.有效期开始结束时间回显
+      this.$set(this.value1, 0, val.bValidityStartTime);
+      this.$set(this.value1, 1, val.bValidityEndTime);
+      //C栏危害物质回显
+      this.form.cHarmMatterName = parseInt(this.form.cHarmMatterName);
+      if (this.form.cHarmMatterName != null) {
+        this.isYesDanger = '1';
+      }
+      //处理(来自设备/设施的危害)选中按钮未入库保存的选中实现
+      if (this.form.cIsMovingParts == "1"
+        || this.form.cIsHotSurfaces == "1"
+        || this.form.cIsColdSurfaces == "1"
+        || this.form.cIsVoltages == "1") {
+        this.isFacilityHazards = true;
+      }
+      //处理(设备内物质处于危险状态)选中按钮未入库保存的选中实现
+      if (this.form.cIsHighTemp == "1"
+        || this.form.cIsLowTemp == "1"
+        || this.form.cIsPosPressure == "1"
+        || this.form.cIsNegPressure == "1") {
+        this.isEquipmentHazards = true;
+      }
+      this.cIsToxic = this.form.cIsToxic;
+      this.cIsFlammable = this.form.cIsFlammable;
+      this.cIsOxidizing = this.form.cIsOxidizing;
+      this.cIsExplosive = this.form.cIsExplosive;
+      this.cIsCorrosive = this.form.cIsCorrosive;
+      this.cIsIrritantToxic = this.form.cIsIrritantToxic;
+      this.cIsHealthHazard = this.form.cIsHealthHazard;
+      this.cIsCompressedGas = this.form.cIsCompressedGas;
+      this.cIsEnvironmentalHazard = this.form.cIsEnvironmentalHazard;
+      this.eIsSafeGoggles = this.form.eIsSafeGoggles;
+      this.eIsFaceShield = this.form.eIsFaceShield;
+      this.eIsProtectGloves = this.form.eIsProtectGloves;
+      this.eIsRubberBoots = this.form.eIsRubberBoots;
+      this.eIsRubberApron = this.form.eIsRubberApron;
+      this.eIsProtectSuit = this.form.eIsProtectSuit;
+      this.eIsResProtect = this.form.eIsResProtect;
+      this.eIsFallArrest = this.form.eIsFallArrest;
+      this.eProtectGlovesContent = this.form.eProtectGlovesContent;
+      this.eResProtectContent = this.form.eResProtectContent;
+      this.eProtectSuitContent = this.form.eProtectSuitContent;
+    },
+    //数据提交时保存的数据处理
+    dataSet() {
+      //B栏有效期开始结束时间处理
+      this.form.bValidityStartTime = this.value1[0];
+      this.form.bValidityEndTime = this.value1[1];
+      //C栏
+      this.form.cIsToxic = this.cIsToxic;
+      this.form.cIsFlammable = this.cIsFlammable;
+      this.form.cIsOxidizing = this.cIsOxidizing;
+      this.form.cIsExplosive = this.cIsExplosive;
+      this.form.cIsCorrosive = this.cIsCorrosive;
+      this.form.cIsIrritantToxic = this.cIsIrritantToxic;
+      this.form.cIsHealthHazard = this.cIsHealthHazard;
+      this.form.cIsCompressedGas = this.cIsCompressedGas;
+      this.form.cIsEnvironmentalHazard = this.cIsEnvironmentalHazard;
+      this.form.eIsSafeGoggles = this.eIsSafeGoggles;
+      this.form.eIsFaceShield = this.eIsFaceShield;
+      this.form.eIsProtectGloves = this.eIsProtectGloves;
+      this.form.eIsRubberBoots = this.eIsRubberBoots;
+      this.form.eIsRubberApron = this.eIsRubberApron;
+      this.form.eIsProtectSuit = this.eIsProtectSuit;
+      this.form.eIsResProtect = this.eIsResProtect;
+      this.form.eIsFallArrest = this.eIsFallArrest;
+      this.form.eProtectGlovesContent = this.eProtectGlovesContent;
+      this.form.eResProtectContent = this.eResProtectContent;
+      this.form.eProtectSuitContent = this.eProtectSuitContent;
+    },
+    //取消其他危害选中时-清除数据
+    otherDangerChange() {
+      if (this.form.cIsOtherDanger == '0') {
+        this.form.cOtherDangerContent = null;
+      }
+    },
+    //电气回路编号与仪表号/测点编号二选一
+    dElecircuitChange() {
+      if (this.form.dEleCircuitNo != null && this.form.dEleCircuitNo != '/') {
+        this.form.dInsTagNo = '/';
+      }
+    },
+    //电气回路编号与仪表号/测点编号二选一
+    dInsTagChange() {
+      if (this.form.dInsTagNo != null && this.form.dInsTagNo != '/') {
+        this.form.dEleCircuitNo = '/';
+      }
+    },
+    //取消选中设备内物质处于危险状态-清除数据
+    eHazardsChange() {
+      if (this.isEquipmentHazards == '0') {
+        this.form.cIsHighTemp = null;
+        this.form.cIsLowTemp = null;
+        this.form.cIsPosPressure = null;
+        this.form.cIsNegPressure = null;
+      }
+    },
+    //取消施工对生产单位的危害-清除数据
+    cHazardsProdChange() {
+      if (this.form.cIsHazardsProd == '0') {
+        this.form.cIsHazardsProdContent = null;
+      }
+    },
+    //取消来自设备/设施的危害-清除数据
+    facilityChange() {
+      if (this.isFacilityHazards == '0') {
+        this.form.cIsMovingParts = null;
+        this.form.cIsHotSurfaces = null;
+        this.form.cIsColdSurfaces = null;
+        this.form.cIsVoltages = null;
+      }
+    },
+    //取消安全保护设备的施工-清除数据
+    workProChange() {
+      if (this.form.cIsWorkProtective == '0') {
+        this.form.cIsDy = null;
+        this.form.cIsAqf = null;
+        this.form.cIsLq = null;
+      }
+    },
+    //TODO D栏否的状态清除数据\
+    //D-1.1
+    dIsOpenSafeChange() {
+      if (this.form.dIsOpenSafe == '0') {
+        this.form.dSafeImplSign11 = null;
+        this.form.dSafeImplDate11 = null;
+      }
+    },
+    //D-1.2
+    dIsDkdyxChange() {
+      if (this.form.dIsDkdyx == '0') {
+        this.form.dDkdyxImplSign = null;
+        this.form.dDkdyxImplDate = null;
+      }
+    },
+    //D-1.2
+    dIsDisFeederChange() {
+      if (this.form.dIsDisFeeder == '0') {
+        this.form.dDisFeederImplSign = null;
+        this.form.dDisFeederImplDate = null;
+      }
+    },
+    //D-1.2
+    dIsBreakInclChange() {
+      if (this.form.dIsBreakIncl == '0') {
+        this.form.dBreakInclContent = null;
+        this.form.dBreakInclImplSign = null;
+        this.form.dBreakInclImplDate = null;
+      }
+    },
+    //D-1.2
+    dIsDqhlChange() {
+      if (this.form.dIsDqhl == '0') {
+        this.form.dEleCircuitNo = null;
+        this.form.dDqhlImplSign = null;
+        this.form.dDqhlImplDate = null;
+      }
+    },
+    //D-1.2
+    dIsYbhChange() {
+      if (this.form.dIsYbh == '0') {
+        this.form.dInsTagNo = null;
+        this.form.dSafeImplSign12 = null;
+        this.form.dSafeImplDate12 = null;
+      }
+    },
+    //D-1.3
+    dIsRadioactiveSourcesChange() {
+      if (this.form.dIsRadioactiveSources == '0') {
+        this.form.dSafeImplSign13 = null;
+        this.form.dSafeImplDate13 = null;
+      }
+    },
+    //D-1.4
+    dIsOtherEquSafeChange() {
+      if (this.form.dIsOtherEquSafe == '0') {
+        this.form.dIsOtherEquSafeContent = null;
+        this.form.dSafeImplSign14 = null;
+        this.form.dSafeImplDate14 = null;
+      }
+    },
+    //D-2.1
+    dIsDepressChange() {
+      if (this.form.dIsDepress == '0') {
+        this.form.dSafeImplSign21 = null;
+        this.form.dSafeImplDate21 = null;
+      }
+    },
+    //D-2.2
+    dIsSingleBlockingChange() {
+      if (this.form.dIsSingleBlocking == '0') {
+        this.form.dSafeImplSign22 = null;
+        this.form.dSafeImplDate22 = null;
+      }
+    },
+    //D-2.3
+    dIsDoubleBlockChange() {
+      if (this.form.dIsDoubleBlock == '0') {
+        this.form.dSafeImplSign23 = null;
+        this.form.dSafeImplDate23 = null;
+      }
+    },
+    //D-2.4
+    dIsLockoutUsingChange() {
+      if (this.form.dIsLockoutUsing == '0') {
+        this.form.dLockoutUsingContent = null;
+        this.form.dSafeImplSign24 = null;
+        this.form.dSafeImplDate24 = null;
+      }
+    },
+    //D-2.5
+    dIsRemovePipeChange() {
+      if (this.form.dIsRemovePipe == '0') {
+        this.form.dSafeImplSign25 = null;
+        this.form.dSafeImplDate25 = null;
+      }
+    },
+    //D-2.6
+    dIsDisPipesChange() {
+      if (this.form.dIsDisPipes == '0') {
+        this.form.dSafeImplSign26 = null;
+        this.form.dSafeImplDate26 = null;
+      }
+    },
+    //D-2.7
+    dIsInsertBlindPlageChange() {
+      if (this.form.dIsInsertBlindPlage == '0') {
+        this.form.dSafeImplSign27 = null;
+        this.form.dSafeImplDate27 = null;
+      }
+    },
+    //D-2.8
+    dIsMecSecureChange() {
+      if (this.form.dIsMecSecure == '0') {
+        this.form.dMecSecureContent = null;
+        this.form.dSafeImplSign28 = null;
+        this.form.dSafeImplDate28 = null;
+      }
+    },
+    //D-2.9
+    dIsIsolationDiagramChange() {
+      if (this.form.dIsIsolationDiagram == '0') {
+        this.form.dSafeImplSign29 = null;
+        this.form.dSafeImplDate29 = null;
+      }
+    },
+    //D-2.10
+    dIsOtherSafePlantChange() {
+      if (this.form.dIsOtherSafePlant == '0') {
+        this.form.dOtherSafePlantContent = null;
+        this.form.dSafeImplSign210 = null;
+        this.form.dSafeImplDate210 = null;
+      }
+    },
+    //D-3.1
+    dIsDrainChange() {
+      if (this.form.dIsDrain == '0') {
+        this.form.dSafeImplSign31 = null;
+        this.form.dSafeImplDate31 = null;
+      }
+    },
+    //D-3.2
+    dIsCleanChange() {
+      if (this.form.dIsClean == '0') {
+        this.form.dCleanContent = null;
+        this.form.dSafeImplSign32 = null;
+        this.form.dSafeImplDate32 = null;
+      }
+    },
+    //D-3.3
+    dIsFlushChange() {
+      if (this.form.dIsFlush == '0') {
+        this.form.dFlushContent = null;
+        this.form.dSafeImplSign33 = null;
+        this.form.dSafeImplDate33 = null;
+      }
+    },
+    //D-3.4
+    dIsOhterCleanChange() {
+      if (this.form.dIsOhterClean == '0') {
+        this.form.dOtherCleanContent = null;
+        this.form.dSafeImplSign34 = null;
+        this.form.dSafeImplDate34 = null;
+      }
+    },
+    //D-4.1
+    dIsSiteDemarcationChange() {
+      if (this.form.dIsSiteDemarcation == '0') {
+        this.form.dSiteDemarcationContent = null;
+        this.form.dSafeImplSign41 = null;
+        this.form.dSafeImplDate41 = null;
+      }
+    },
+    //D-4.2
+    dIsAreaCoverChange() {
+      if (this.form.dIsAreaCover == '0') {
+        this.form.dAreaCoverContent = null;
+        this.form.dSafeImplSign42 = null;
+        this.form.dSafeImplDate42 = null;
+      }
+    },
+    //D-4.3
+    dIsCloseTrucksChange() {
+      if (this.form.dIsCloseTrucks == '0') {
+        this.form.dSafeImplSign43 = null;
+        this.form.dSafeImplDate43 = null;
+      }
+    },
+    //D-4.4
+    dIsLeakFlangesChange() {
+      if (this.form.dIsLeakFlanges == '0') {
+        this.form.dSafeImplSign44 = null;
+        this.form.dSafeImplDate44 = null;
+      }
+    },
+    //D-4.5
+    dIsOtherWorkSafeChange() {
+      if (this.form.dIsOtherWorkSafe == '0') {
+        this.form.dOtherWorkSafeContent = null;
+        this.form.dSafeImplSign45 = null;
+        this.form.dSafeImplDate45 = null;
+      }
+    },
+    //D-5.1
+    dIsOtherMeasureChange() {
+      if (this.form.dIsOtherMeasure == '0') {
+        this.form.dOtherMeasureContent = null;
+        this.form.dSafeImplSign51 = null;
+        this.form.dSafeImplDate51 = null;
+      }
+    },
+    //D-6
+    dIsSafeBriefingChange() {
+      if (this.form.dIsSafeBriefing == '0') {
+        this.form.dPartakeBriefingSign = null;
+        this.form.dPartakeBriefingDate = null;
+      }
+      if (this.form.dIsSafeBriefing == '1') {
+        this.form.dNoReasonContent = null;
+      }
+    },
+    //取消仅限定时间内佩戴的PPE选中-清除数据
+    eIsRequiredPpeChange() {
+      if (this.form.eIsRequiredPpe == '0') {
+        this.form.ePpeContent = null;
+      }
+    },
+    //取消防护手套选中-清除数据
+    eIsProtectGlovesChange() {
+      if (this.eIsProtectGloves == '0') {
+        this.eProtectGlovesContent = null;
+      }
+    },
+    //取消防护服选中-清除数据
+    eIsProtectSuitChange() {
+      if (this.eIsProtectSuit == '0') {
+        this.eProtectSuitContent = null;
+      }
+    },
+    //取消呼吸保护用品选中-清除数据
+    eIsResProtectChange() {
+      if (this.eIsResProtect == '0') {
+        this.eResProtectContent = null;
+      }
+    },
+    //取消防坠落装置选中-清除数据
+    eIsFallArrestChange() {
+      if (this.eIsFallArrest == '0') {
+        this.form.eFallArrestContent = null;
+      }
+    },
+    //E-2.9
+    eIsOtherProtectChange() {
+      if (this.form.eIsOtherProtect == '0') {
+        this.form.eOtherProtectContent = null;
+      }
+    },
+    //取消安全监护人单位/签字选中-清除数据
+    eIsContinueMonitoringChange() {
+      if (this.form.eIsContinueMonitoring == '0') {
+        this.form.eSafeAttendant = null;
+        this.form.eSafeAttendantSign = null;
+      }
+    },
+    //取消自然通风选中-清除数据
+    eIsNaturalVenChange() {
+      if (this.form.eIsNaturalVen == '0') {
+        this.form.eNaturalVenContent = null;
+      }
+    },
+    //取消机械通风选中-清除数据
+    eIsMecVenChange() {
+      if (this.form.eIsMecVen == '0') {
+        this.form.eMecVenContent = null;
+      }
+    },
+    //取消空气分析内容选中-清除数据
+    eIsAnalyzeAirChange() {
+      if (this.form.eIsAnalyzeAir == '0') {
+        this.form.eAnalyzeAirContent = null;
+        this.form.eAnalyzeAirInterval = null;
+      }
+    },
+    //E-4.5
+    eIsOtherVenChange() {
+      if (this.form.eIsOtherVen == '0') {
+        this.form.eOtherVenContent = null;
+      }
+    },
+    //取消F施工后的安全措施选中-清除数据
+    fIsAfterWorkSafeChange() {
+      if (this.form.fIsAfterWorkSafe == '0') {
+        this.form.fAfterWorkSafeContent = null;
+      }
+    },
+    //取消G由专门部门人员评估的项目选中-清除数据
+    gIsSpecialAssessmentChange() {
+      if (this.form.gIsSpecialAssessment == '0') {
+        this.form.gSpecialAssessment = null;
+      }
+    },
+    //上传附件
+    uploadFile(type){
+
+    },
+    //IC卡签名
+    signCard(type) {
+      console.log('签名类型:' + type)
+      this.signCardVisible = true
+      this.$nextTick(() => {
+        this.$refs.signCard.init(type)
+      })
+    },
+    //获取签名结果
+    getSignRes(res) {
+      console.log(res)
+      //A
+      if (res.signType == 'aSafeLiaisonSign') {
+        this.form.aSafeLiaisonSign = res.staffName
+        console.log('刷卡人姓名:' + this.form.aSafeLiaisonSign)
+      }
+      //D[1]
+      if (res.signType == 'dSafeImplSign11') {
+        this.form.dSafeImplSign11 = res.staffName
+        this.form.dSafeImplDate11 = this.dateformat('y-M-d h:m:s')
+        console.log('刷卡人姓名:' + this.form.dSafeImplSign11)
+      }
+      if (res.signType == 'dDkdyxImplSign') {
+        this.form.dDkdyxImplSign = res.staffName
+        this.form.dDkdyxImplDate = this.dateformat('y-M-d h:m:s')
+        console.log('刷卡人姓名:' + this.form.dDkdyxImplSign)
+      }
+      if (res.signType == 'dDisFeederImplSign') {
+        this.form.dDisFeederImplSign = res.staffName
+        this.form.dDisFeederImplDate = this.dateformat('y-M-d h:m:s')
+        console.log('刷卡人姓名:' + this.form.dDisFeederImplSign)
+      }
+      if (res.signType == 'dBreakInclImplSign') {
+        this.form.dBreakInclImplSign = res.staffName
+        this.form.dBreakInclImplDate = this.dateformat('y-M-d h:m:s')
+        this.$set(this.value1, 0, this.form.dBreakInclImplDate);
+        console.log('刷卡人姓名:' + this.form.dBreakInclImplSign)
+      }
+      if (res.signType == 'dDqhlImplSign') {
+        this.form.dDqhlImplSign = res.staffName
+        this.form.dDqhlImplDate = this.dateformat('y-M-d h:m:s')
+        console.log('刷卡人姓名:' + this.form.dDqhlImplSign)
+      }
+      if (res.signType == 'dSafeImplSign12') {
+        this.form.dSafeImplSign12 = res.staffName
+        this.form.dSafeImplDate12 = this.dateformat('y-M-d h:m:s')
+        this.$set(this.value1, 0, this.form.dSafeImplDate12);
+        console.log('刷卡人姓名:' + this.form.dSafeImplSign12)
+      }
+      if (res.signType == 'dSafeImplSign13') {
+        this.form.dSafeImplSign13 = res.staffName
+        this.form.dSafeImplDate13 = this.dateformat('y-M-d h:m:s')
+        console.log('刷卡人姓名:' + this.form.dSafeImplSign13)
+      }
+      if (res.signType == 'dSafeImplSign14') {
+        this.form.dSafeImplSign14 = res.staffName
+        this.form.dSafeImplDate14 = this.dateformat('y-M-d h:m:s')
+        console.log('刷卡人姓名:' + this.form.dSafeImplSign14)
+      }
+      //D[2]
+      if (res.signType == 'dSafeImplSign21') {
+        this.form.dSafeImplSign21 = res.staffName
+        this.form.dSafeImplDate21 = this.dateformat('y-M-d h:m:s')
+        console.log('刷卡人姓名:' + this.form.dSafeImplSign21)
+      }
+      if (res.signType == 'dSafeImplSign22') {
+        this.form.dSafeImplSign22 = res.staffName
+        this.form.dSafeImplDate22 = this.dateformat('y-M-d h:m:s')
+        console.log('刷卡人姓名:' + this.form.dSafeImplSign22)
+      }
+      if (res.signType == 'dSafeImplSign23') {
+        this.form.dSafeImplSign23 = res.staffName
+        this.form.dSafeImplDate23 = this.dateformat('y-M-d h:m:s')
+        console.log('刷卡人姓名:' + this.form.dSafeImplSign23)
+      }
+      if (res.signType == 'dSafeImplSign24') {
+        this.form.dSafeImplSign24 = res.staffName
+        this.form.dSafeImplDate24 = this.dateformat('y-M-d h:m:s')
+        console.log('刷卡人姓名:' + this.form.dSafeImplSign24)
+      }
+      if (res.signType == 'dSafeImplSign25') {
+        this.form.dSafeImplSign25 = res.staffName
+        this.form.dSafeImplDate25 = this.dateformat('y-M-d h:m:s')
+        console.log('刷卡人姓名:' + this.form.dSafeImplSign25)
+      }
+      if (res.signType == 'dSafeImplSign26') {
+        this.form.dSafeImplSign26 = res.staffName
+        this.form.dSafeImplDate26 = this.dateformat('y-M-d h:m:s')
+        console.log('刷卡人姓名:' + this.form.dSafeImplSign26)
+      }
+      if (res.signType == 'dSafeImplSign27') {
+        this.form.dSafeImplSign27 = res.staffName
+        this.form.dSafeImplDate27 = this.dateformat('y-M-d h:m:s')
+        console.log('刷卡人姓名:' + this.form.dSafeImplSign27)
+      }
+      if (res.signType == 'dSafeImplSign28') {
+        this.form.dSafeImplSign28 = res.staffName
+        this.form.dSafeImplDate28 = this.dateformat('y-M-d h:m:s')
+        console.log('刷卡人姓名:' + this.form.dSafeImplSign28)
+      }
+      if (res.signType == 'dSafeImplSign29') {
+        this.form.dSafeImplSign29 = res.staffName
+        this.form.dSafeImplDate29 = this.dateformat('y-M-d h:m:s')
+        console.log('刷卡人姓名:' + this.form.dSafeImplSign29)
+      }
+      if (res.signType == 'dSafeImplSign210') {
+        this.form.dSafeImplSign210 = res.staffName
+        this.form.dSafeImplDate210 = this.dateformat('y-M-d h:m:s')
+        console.log('刷卡人姓名:' + this.form.dSafeImplSign210)
+      }
+      //D[3]
+      if (res.signType == 'dSafeImplSign31') {
+        this.form.dSafeImplSign31 = res.staffName
+        this.form.dSafeImplDate31 = this.dateformat('y-M-d h:m:s')
+        console.log('刷卡人姓名:' + this.form.dSafeImplSign31)
+      }
+      if (res.signType == 'dSafeImplSign32') {
+        this.form.dSafeImplSign32 = res.staffName
+        this.form.dSafeImplDate32 = this.dateformat('y-M-d h:m:s')
+        console.log('刷卡人姓名:' + this.form.dSafeImplSign32)
+      }
+      if (res.signType == 'dSafeImplSign33') {
+        this.form.dSafeImplSign33 = res.staffName
+        this.form.dSafeImplDate33 = this.dateformat('y-M-d h:m:s')
+        console.log('刷卡人姓名:' + this.form.dSafeImplSign33)
+      }
+      if (res.signType == 'dSafeImplSign34') {
+        this.form.dSafeImplSign34 = res.staffName
+        this.form.dSafeImplDate34 = this.dateformat('y-M-d h:m:s')
+        console.log('刷卡人姓名:' + this.form.dSafeImplSign34)
+      }
+      //D[4]
+      if (res.signType == 'dSafeImplSign41') {
+        this.form.dSafeImplSign41 = res.staffName
+        this.form.dSafeImplDate41 = this.dateformat('y-M-d h:m:s')
+        console.log('刷卡人姓名:' + this.form.dSafeImplSign41)
+      }
+      if (res.signType == 'dSafeImplSign42') {
+        this.form.dSafeImplSign42 = res.staffName
+        this.form.dSafeImplDate42 = this.dateformat('y-M-d h:m:s')
+
+        console.log('刷卡人姓名:' + this.form.dSafeImplSign42)
+      }
+      if (res.signType == 'dSafeImplSign43') {
+        this.form.dSafeImplSign43 = res.staffName
+        this.form.dSafeImplDate43 = this.dateformat('y-M-d h:m:s')
+        console.log('刷卡人姓名:' + this.form.dSafeImplSign43)
+      }
+      if (res.signType == 'dSafeImplSign44') {
+        this.form.dSafeImplSign44 = res.staffName
+        this.form.dSafeImplDate44 = this.dateformat('y-M-d h:m:s')
+        console.log('刷卡人姓名:' + this.form.dSafeImplSign44)
+      }
+      if (res.signType == 'dSafeImplSign45') {
+        this.form.dSafeImplSign45 = res.staffName
+        this.form.dSafeImplDate45 = this.dateformat('y-M-d h:m:s')
+        console.log('刷卡人姓名:' + this.form.dSafeImplSign45)
+      }
+      //D[5]
+      if (res.signType == 'dSafeImplSign51') {
+        this.form.dSafeImplSign51 = res.staffName
+        this.form.dSafeImplDate51 = this.dateformat('y-M-d h:m:s')
+        console.log('刷卡人姓名:' + this.form.dSafeImplSign51)
+      }
+      //D[6]
+      if (res.signType == 'dPartakeBriefingSign') {
+        if (this.form.dPartakeBriefingSign == null || this.form.dPartakeBriefingSign == '') {
+          this.form.dPartakeBriefingSign = res.staffName
+        }else {
+          this.form.dPartakeBriefingSign = this.form.dPartakeBriefingSign + "," + res.staffName
+        }
+        this.form.dPartakeBriefingDate = this.dateformat('y-M-d h:m:s')
+        console.log('刷卡人姓名:' + this.form.dPartakeBriefingSign)
+      }
+      //E
+      if (res.signType == 'eSafeAttendantSign') {
+        this.form.eSafeAttendantSign = res.staffName
+        console.log('刷卡人姓名:' + this.form.eSafeAttendantSign)
+      }
+      //G
+      if (res.signType == 'gFirstSign') {
+        this.form.gFirstSign = res.staffName
+        this.form.gFirstDate = this.dateformat('y-M-d h:m:s')
+        console.log('刷卡人姓名:' + this.form.gFirstSign)
+      }
+      if (res.signType == 'gSecondSign') {
+        this.form.gSecondSign = res.staffName
+        this.form.gSecondDate = this.dateformat('y-M-d h:m:s')
+        console.log('刷卡人姓名:' + this.form.gSecondSign)
+      }
+      if (res.signType == 'gThirdSign') {
+        this.form.gThirdSign = res.staffName
+        this.form.gThirdDate = this.dateformat('y-M-d h:m:s')
+        console.log('刷卡人姓名:' + this.form.gThirdSign)
+      }
+      //H
+      if (res.signType == 'hSafeMesSign') {
+        this.form.hSafeMesSign = res.staffName
+        this.form.hSafeMesDate = this.dateformat('y-M-d h:m:s')
+        this.$set(this.value1, 0, this.form.hSafeMesDate);
+        console.log('刷卡人姓名:' + this.form.hSafeMesSign)
+      }
+      //I
+      if (res.signType == 'iOneASign') {
+        this.form.iOneASign = res.staffName
+        this.form.iOneADate = this.dateformat('y-M-d h:m:s')
+        console.log('刷卡人姓名:' + this.form.iOneASign)
+      }
+      if (res.signType == 'iOneBSign') {
+        this.form.iOneBSign = res.staffName
+        this.form.iOneBDate = this.dateformat('y-M-d h:m:s')
+        console.log('刷卡人姓名:' + this.form.iOneBSign)
+      }
+      //J
+      if (res.signType == 'jOneBSign') {
+        this.form.jOneBSign = res.staffName
+        this.form.jOneBDate = this.dateformat('y-M-d h:m:s')
+        console.log('刷卡人姓名:' + this.form.jOneBSign)
+      }
+      if (res.signType == 'jResMemberSign') {
+        this.form.jResMemberSign = res.staffName
+        this.form.jResMemberDate = this.dateformat('y-M-d h:m:s')
+        console.log('刷卡人姓名:' + this.form.jResMemberSign)
+      }
+      if (res.signType == 'jEISign') {
+        this.form.jEISign = res.staffName
+        this.form.jEIDate = this.dateformat('y-M-d h:m:s')
+        console.log('刷卡人姓名:' + this.form.jEISign)
+      }
+      //K
+      if (res.signType == 'kConfirmSign') {
+        this.form.kConfirmSign = res.staffName
+        this.form.kConfirmDate = this.dateformat('y-M-d h:m:s')
+        console.log('刷卡人姓名:' + this.form.kConfirmSign)
+      }
+      //L
+      if (res.signType == 'lNoticeSign') {
+        this.form.lNoticeSign = res.staffName
+        this.form.lNoticeDate = this.dateformat('y-M-d h:m:s')
+        console.log('刷卡人姓名:' + this.form.lNoticeSign)
+      }
+      //M
+      if (res.signType == 'mAssessDSign') {
+        this.form.mAssessDSign = res.staffName
+        this.form.mAssessDDate = this.dateformat('y-M-d h:m:s')
+        console.log('刷卡人姓名:' + this.form.mAssessDSign)
+      }
+    },
+    dateformat(params) {
+      var date = new Date(),
+        year = date.getFullYear(),
+        month = date.getMonth() + 1,
+        day = date.getDate(),
+        hour = date.getHours(),
+        minute = date.getMinutes(),
+        second = date.getSeconds()
+      var arr = params.split('')
+      var result = ''
+      for(var i = 0; i < arr.length; i += 2){
+        var tem = arr[i+1] === undefined ? '' : arr[i+1]
+        switch(arr[i]){
+          case 'y': result += this.addZero(year) + tem
+            break
+          case 'M': result += this.addZero(month) + tem
+            break
+          case 'd': result += this.addZero(day) + tem
+            break
+          case 'h': result += this.addZero(hour) + tem
+            break
+          case 'm': result += this.addZero(minute) + tem
+            break
+          case 's': result += this.addZero(second)
+            break
+        }
+      }
+      return result
+    },
+    // 如果时间是个位数,就补0
+    addZero(obj){
+        return obj < 10 ? '0' + obj : obj
+      }
+  }
+};
+</script>
+<style scoped lang="scss">
+.rule-input ::v-deep {
+  .el-input__inner {
+    border: 0;
+    border-radius: 0px;
+    &:focus {
+      border-bottom: 1px solid #409eff;
+    }
+  }
+}
+.el-collapse-item__content {
+  padding-bottom: 5px !important;
+}
+</style>

+ 33 - 0
ui/src/views/invoicing/ticketList/index.vue

@@ -68,6 +68,12 @@
             icon="el-icon-download"
             @click="handleDownload(scope.row)"
           >{{ $t('下载') }}</el-button>
+          <el-button
+            size="mini"
+            type="text"
+            icon="el-icon-download"
+            @click="handleSee(scope.row)"
+          >{{ $t('预览') }}</el-button>
           <!--          <el-button
                       size="mini"
                       type="text"
@@ -77,6 +83,13 @@
         </template>
       </el-table-column>
     </el-table>
+    <el-dialog v-dialogDrag :title="pdf.title" :visible.sync="pdf.open" width="1300px" append-to-body>
+      <div style="margin-top: -60px;float: right;margin-right: 40px;">
+        <el-button size="mini" type="text" @click="openPdf">{{$t('新页面打开PDF')}}</el-button></div>
+      <div style="margin-top: -30px">
+        <iframe :src="pdf.pdfUrl" frameborder="0" width="100%" height="700px"></iframe>
+      </div>
+    </el-dialog>
     <pagination
       v-show="total>0"
       :total="total"
@@ -105,6 +118,15 @@ export default {
         pageNum: 1,
         pageSize: 20,
       },
+      pdf : {
+        title: '',
+        pdfUrl: '',
+        numPages: null,
+        open: false,
+        pageNum: 1,
+        pageTotalNum: 1,
+        loadedRatio: 0,
+      },
       permitStatusOptions: []
     };
   },
@@ -177,6 +199,17 @@ export default {
       a.setAttribute('href', process.env.VUE_APP_BASE_API + url)
       a.click()
     },
+    //pdf预览
+    handleSee (row){
+      console.log(row.pdfUrl)
+      // window.open(process.env.VUE_APP_BASE_API +'/pdf/web/viewer.html?file=' + process.env.VUE_APP_BASE_API + row.fileUrl);//path是文件的全路径地址
+      this.pdf.open =true
+      this.pdf.title = row.fileName
+      this.pdf.pdfUrl = process.env.VUE_APP_BASE_API +'/pdf/web/viewer.html?file=' + process.env.VUE_APP_BASE_API + row.pdfUrl
+    },
+    openPdf(){
+      window.open(this.pdf.pdfUrl);//path是文件的全路径地址
+    },
     addHazard(){
       let routeData = this.$router.resolve({
         path: "/hazard",

이 변경점에서 너무 많은 파일들이 변경되어 몇몇 파일들은 표시되지 않았습니다.