Browse Source

pssr bugfix

jiangbiao 10 months ago
parent
commit
217bf4c5f3
57 changed files with 1248 additions and 568 deletions
  1. 15 11
      master/src/main/java/com/ruoyi/project/patrol/patrol/controller/TPatrolPlanController.java
  2. 30 0
      master/src/main/java/com/ruoyi/project/pssr/controller/TPssrAirtightController.java
  3. 62 1
      master/src/main/java/com/ruoyi/project/pssr/controller/TPssrApproveController.java
  4. 176 9
      master/src/main/java/com/ruoyi/project/pssr/controller/TPssrProgrammeController.java
  5. 14 0
      master/src/main/java/com/ruoyi/project/pssr/domain/TPssrAboveall.java
  6. 13 3
      master/src/main/java/com/ruoyi/project/pssr/domain/TPssrAirtight.java
  7. 2 2
      master/src/main/java/com/ruoyi/project/pssr/domain/TPssrCircuit.java
  8. 1 1
      master/src/main/java/com/ruoyi/project/pssr/domain/TPssrOverhaulPump.java
  9. 1 1
      master/src/main/java/com/ruoyi/project/pssr/domain/TPssrOverhaulTower.java
  10. 180 92
      master/src/main/java/com/ruoyi/project/pssr/domain/TPssrProgramme.java
  11. 5 5
      master/src/main/java/com/ruoyi/project/pssr/domain/TPssrSafetyBleed.java
  12. 5 5
      master/src/main/java/com/ruoyi/project/pssr/domain/TPssrSafetyBreath.java
  13. 5 5
      master/src/main/java/com/ruoyi/project/pssr/domain/TPssrSafetyBrust.java
  14. 2 2
      master/src/main/java/com/ruoyi/project/pssr/domain/TPssrSafetyFlamearrester.java
  15. 5 5
      master/src/main/java/com/ruoyi/project/pssr/domain/TPssrSafetyValve.java
  16. 6 0
      master/src/main/resources/mybatis/pssr/TPssrAboveallMapper.xml
  17. 6 1
      master/src/main/resources/mybatis/pssr/TPssrAirtightMapper.xml
  18. 31 1
      master/src/main/resources/mybatis/pssr/TPssrProgrammeMapper.xml
  19. 19 1
      ui/src/api/pssr/programme.js
  20. 6 6
      ui/src/router/index.js
  21. 33 6
      ui/src/views/pssr/aboveall/index.vue
  22. 12 6
      ui/src/views/pssr/airtight/index.vue
  23. 5 1
      ui/src/views/pssr/analyzer/index.vue
  24. 2 2
      ui/src/views/pssr/blind/index.vue
  25. 12 11
      ui/src/views/pssr/circuit/index.vue
  26. 6 6
      ui/src/views/pssr/cleaning/index.vue
  27. 7 6
      ui/src/views/pssr/franklinism/index.vue
  28. 7 1
      ui/src/views/pssr/gasdetector/index.vue
  29. 4 1
      ui/src/views/pssr/hygiene/index.vue
  30. 7 2
      ui/src/views/pssr/instrumentCalibration/index.vue
  31. 5 0
      ui/src/views/pssr/laboratory/index.vue
  32. 6 2
      ui/src/views/pssr/lighting/index.vue
  33. 1 3
      ui/src/views/pssr/lock/index.vue
  34. 7 0
      ui/src/views/pssr/material/index.vue
  35. 6 1
      ui/src/views/pssr/materialRaw/index.vue
  36. 2 1
      ui/src/views/pssr/measure/index.vue
  37. 7 2
      ui/src/views/pssr/motor/index.vue
  38. 1 1
      ui/src/views/pssr/nitrogen/index.vue
  39. 1 1
      ui/src/views/pssr/overhaulExchanger/index.vue
  40. 1 1
      ui/src/views/pssr/overhaulFilter/index.vue
  41. 1 1
      ui/src/views/pssr/overhaulPipe/index.vue
  42. 1 1
      ui/src/views/pssr/overhaulPump/index.vue
  43. 1 1
      ui/src/views/pssr/overhaulTower/index.vue
  44. 1 1
      ui/src/views/pssr/overhaulValve/index.vue
  45. 9 6
      ui/src/views/pssr/power/index.vue
  46. 422 279
      ui/src/views/pssr/programme/index.vue
  47. 1 1
      ui/src/views/pssr/protection/index.vue
  48. 2 1
      ui/src/views/pssr/public/index.vue
  49. 10 12
      ui/src/views/pssr/pumpCleaning/index.vue
  50. 18 6
      ui/src/views/pssr/pumpFill/index.vue
  51. 11 3
      ui/src/views/pssr/pumpOverhaul/index.vue
  52. 16 16
      ui/src/views/pssr/safetyBleed/index.vue
  53. 9 9
      ui/src/views/pssr/safetyBreath/index.vue
  54. 11 11
      ui/src/views/pssr/safetyBrust/index.vue
  55. 6 6
      ui/src/views/pssr/safetyFlamearrester/index.vue
  56. 7 7
      ui/src/views/pssr/safetyValve/index.vue
  57. 6 2
      ui/src/views/pssr/torchvoc/index.vue

+ 15 - 11
master/src/main/java/com/ruoyi/project/patrol/patrol/controller/TPatrolPlanController.java

@@ -246,18 +246,22 @@ public class TPatrolPlanController extends BaseController {
                     pssrPatrol.setUpdaterCode(getUserId().toString());
                     tPssrPatrolService.updateTPssrPatrol(pssrPatrol);
 
-                    TPssrPatrol patrol = new TPssrPatrol();
-                    patrol.setSubId(pssrPatrol.getSubId());
-                    boolean flag = true;
-                    //当所有的pssr巡检都确认过后,发起申请
-                    for (TPssrPatrol tpssrPatrol : tPssrPatrolService.selectTPssrPatrolList(patrol)) {
-                        if (tpssrPatrol.getPlanStatus() != 2L) {
-                            flag = false;
-                            break;
+                    try {
+                        TPssrPatrol patrol = new TPssrPatrol();
+                        patrol.setSubId(pssrPatrol.getSubId());
+                        boolean flag = true;
+                        //当所有的pssr巡检都确认过后,发起申请
+                        for (TPssrPatrol tpssrPatrol : tPssrPatrolService.selectTPssrPatrolList(patrol)) {
+                            if (tpssrPatrol.getPlanStatus() != 2L) {
+                                flag = false;
+                                break;
+                            }
                         }
-                    }
-                    if (flag) {
-                        tPssrApproveController.doApprove(pssrPatrol.getSubId());
+                        if (flag) {
+                            tPssrApproveController.doApprove(pssrPatrol.getSubId());
+                        }
+                    } catch (Exception e) {
+                        logger.error(e.getMessage(), e);
                     }
                 }
             } catch (Exception e) {

+ 30 - 0
master/src/main/java/com/ruoyi/project/pssr/controller/TPssrAirtightController.java

@@ -1,5 +1,6 @@
 package com.ruoyi.project.pssr.controller;
 
+import java.math.BigDecimal;
 import java.util.*;
 
 import com.ruoyi.project.pssr.domain.TPssrApprove;
@@ -93,6 +94,20 @@ public class TPssrAirtightController extends BaseController
     public AjaxResult add(@RequestBody TPssrAirtight tPssrAirtight)
     {
         tPssrAirtight.setApproveStatus(0L);
+        try {
+            String initialPressure = tPssrAirtight.getInitialPressure();//初始压力
+            String finalPressure = tPssrAirtight.getFinalPressure();//最终压力
+            //泄漏率=(初始压力-最终压力)/初始压力*100%
+            BigDecimal leakageRate = new BigDecimal(initialPressure).subtract(new BigDecimal(finalPressure)).divide(new BigDecimal(initialPressure), 2, BigDecimal.ROUND_HALF_UP).multiply(new BigDecimal(100));
+            tPssrAirtight.setLeakageRate(String.valueOf(leakageRate.doubleValue()));//设置泄漏率
+            if(leakageRate.compareTo(new BigDecimal(tPssrAirtight.getStandard()))<=0){//判断是否满足标准
+                tPssrAirtight.setUptoStandard("是");
+            }else {
+                tPssrAirtight.setUptoStandard("否");
+            }
+        } catch (Exception e) {
+            e.printStackTrace();
+        }
         return toAjax(tPssrAirtightService.insertTPssrAirtight(tPssrAirtight));
     }
 
@@ -104,6 +119,21 @@ public class TPssrAirtightController extends BaseController
     @PutMapping
     public AjaxResult edit(@RequestBody TPssrAirtight tPssrAirtight)
     {
+
+        try {
+            String initialPressure = tPssrAirtight.getInitialPressure();//初始压力
+            String finalPressure = tPssrAirtight.getFinalPressure();//最终压力
+            //泄漏率=(初始压力-最终压力)/初始压力*100%
+            BigDecimal leakageRate = new BigDecimal(initialPressure).subtract(new BigDecimal(finalPressure)).divide(new BigDecimal(initialPressure), 2, BigDecimal.ROUND_HALF_UP).multiply(new BigDecimal(100));
+            tPssrAirtight.setLeakageRate(String.valueOf(leakageRate.doubleValue()));//设置泄漏率
+            if(leakageRate.compareTo(new BigDecimal(tPssrAirtight.getStandard()))<=0){//判断是否满足标准
+                tPssrAirtight.setUptoStandard("是");
+            }else {
+                tPssrAirtight.setUptoStandard("否");
+            }
+        } catch (Exception e) {
+            e.printStackTrace();
+        }
         return toAjax(tPssrAirtightService.updateTPssrAirtight(tPssrAirtight));
     }
 

+ 62 - 1
master/src/main/java/com/ruoyi/project/pssr/controller/TPssrApproveController.java

@@ -181,6 +181,9 @@ public class TPssrApproveController extends BaseController {
     @Autowired
     private ITPssrVesselService tPssrVesselService;
 
+    @Autowired
+    private ITPssrProgrammeService tPssrProgrammeService;
+
     /**
      * 查询pssr审批管理列表
      */
@@ -254,6 +257,7 @@ public class TPssrApproveController extends BaseController {
                 doJxxmApprove(tPssrSubcontent);
                 break;
             case "kgfa"://开工方案
+                doKgfaApprove(tPssrSubcontent);
                 break;
             case "sjbg"://设计变更
                 doMocApprove(tPssrSubcontent);
@@ -830,7 +834,7 @@ public class TPssrApproveController extends BaseController {
         }
 
         TPssrApprove tPssrApprove = tPssrApproveService.selectTPssrApproveBySubId(sub.getId());
-        if (tPssrApprove==null) {
+        if (tPssrApprove == null) {
             //新增审批数据
             TPssrApprove approve = new TPssrApprove();
             approve.setSubId(sub.getId());
@@ -1831,6 +1835,63 @@ public class TPssrApproveController extends BaseController {
         }
     }
 
+    // 开工方案流程发起申请
+    public void doKgfaApprove(TPssrSubcontent sub) {
+        String userId = getUserId().toString();
+        //修改状态
+        TPssrProgramme tPssrProgramme = new TPssrProgramme();
+        tPssrProgramme.setApproveStatus(0L);
+        tPssrProgramme.setSubId(sub.getId());
+        Set<String> confirm1 = new HashSet<>();
+        Set<String> confirm2 = new HashSet<>();
+        for (TPssrProgramme item : tPssrProgrammeService.selectTPssrProgrammeList(tPssrProgramme)) {
+            item.setApproveStatus(1L);
+            item.setUpdatedate(new Date());
+            item.setUpdaterCode(userId);
+            tPssrProgrammeService.updateTPssrProgramme(item);
+
+            // 安装人员
+            confirm1.add(item.getConfirm1());
+
+            //拆除人员
+            confirm2.add(item.getConfirm2());
+        }
+
+        TPssrApprove exist = new TPssrApprove();
+        exist.setSubId(sub.getId());
+        List<TPssrApprove> tPssrApproves = tPssrApproveService.selectTPssrApproveList(exist);
+        if (CollectionUtil.isEmpty(tPssrApproves)) {
+            //新增审批数据
+            TPssrApprove approve = new TPssrApprove();
+            approve.setSubId(sub.getId());
+            approve.setApNo(DateUtils.dateTimeNow() + userId);
+            approve.setApproveStatus(1L);
+            approve.setSubCharge(sub.getConfirm());
+            approve.setCreaterCode(userId);
+            approve.setCreatedate(new Date());
+            tPssrApproveService.insertTPssrApprove(approve);
+
+            pssr2confirm(approve, new ArrayList<>(confirm1), new ArrayList<>(confirm2), sub.getConfirm());
+        } else {
+            // 已存在流程时,删除旧流程,重新发起
+            TPssrApprove approve = tPssrApproves.get(0);
+            delProcess(approve.getProcessId(), "pssr2confirm");
+
+            tPssrProgramme = new TPssrProgramme();
+            tPssrProgramme.setApproveStatus(1L);
+            tPssrProgramme.setSubId(sub.getId());
+            for (TPssrProgramme item : tPssrProgrammeService.selectTPssrProgrammeList(tPssrProgramme)) {
+                // 安装人员
+                confirm1.add(item.getConfirm1());
+
+                //拆除人员
+                confirm2.add(item.getConfirm2());
+            }
+
+            pssr2confirm(approve, new ArrayList<>(confirm1), new ArrayList<>(confirm2), sub.getConfirm());
+        }
+    }
+
     /**
      * 设计变更发起流程
      */

+ 176 - 9
master/src/main/java/com/ruoyi/project/pssr/controller/TPssrProgrammeController.java

@@ -1,16 +1,20 @@
 package com.ruoyi.project.pssr.controller;
 
-import java.util.List;
+import java.io.IOException;
+import java.util.*;
+
+import com.ruoyi.common.utils.file.FileUploadUtils;
+import com.ruoyi.framework.config.RuoYiConfig;
+import com.ruoyi.project.pssr.domain.*;
+import com.ruoyi.project.pssr.service.ITPssrApproveService;
+import com.ruoyi.project.pssr.service.ITPssrSubcontentService;
+import org.activiti.engine.ProcessEngine;
+import org.activiti.engine.ProcessEngines;
+import org.activiti.engine.TaskService;
+import org.activiti.engine.task.Task;
 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 org.springframework.web.bind.annotation.*;
 import com.ruoyi.framework.aspectj.lang.annotation.Log;
 import com.ruoyi.framework.aspectj.lang.enums.BusinessType;
 import com.ruoyi.project.pssr.domain.TPssrProgramme;
@@ -19,6 +23,7 @@ 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;
+import org.springframework.web.multipart.MultipartFile;
 
 /**
  * 开工方案Controller
@@ -33,6 +38,13 @@ public class TPssrProgrammeController extends BaseController
     @Autowired
     private ITPssrProgrammeService tPssrProgrammeService;
 
+    @Autowired
+    private ITPssrApproveService tPssrApproveService;
+
+    @Autowired
+    private ITPssrSubcontentService tPssrSubcontentService;
+
+
     /**
      * 查询开工方案列表
      */
@@ -100,4 +112,159 @@ public class TPssrProgrammeController extends BaseController
     {
         return toAjax(tPssrProgrammeService.deleteTPssrProgrammeByIds(ids));
     }
+
+    /**
+     * 确认设计变更
+     */
+    @PreAuthorize("@ss.hasPermi('pssr:programme:edit')")
+    @Log(title = "设计变更", businessType = BusinessType.UPDATE)
+    @PutMapping("/confirmProgramme")
+    public AjaxResult confirmProgramme(@RequestBody TPssrProgramme tPssrProgramme) {
+        long queryStatus = 0;
+        long approveStatus = 0;
+        Date date = null;
+        if (tPssrProgramme.getTaskType() == 4) {
+            //确认人1确认
+            queryStatus = 1;
+            approveStatus = 3;
+            date = new Date();
+        } else if (tPssrProgramme.getTaskType() == 5) {
+            //确认人2确认
+            queryStatus = 3;
+            approveStatus = 2;
+            date = new Date();
+        }
+        // 修改状态
+        if (tPssrProgramme.getIds() != null && tPssrProgramme.getIds().length > 0) {
+            for (Long id : tPssrProgramme.getIds()) {
+                TPssrProgramme item = tPssrProgrammeService.selectTPssrProgrammeById(id);
+                item.setApproveStatus(approveStatus);
+                tPssrProgrammeService.updateTPssrProgramme(item);
+            }
+        } else {
+            TPssrProgramme lock = new TPssrProgramme();
+            lock.setSubId(tPssrProgramme.getSubId());
+            lock.setApproveStatus(queryStatus);
+            for (TPssrProgramme item : tPssrProgrammeService.selectTPssrProgrammeList(lock)) {
+                item.setApproveStatus(approveStatus);
+                tPssrProgrammeService.updateTPssrProgramme(item);
+            }
+        }
+        //查询当前待审批的确认人
+        TPssrProgramme entity = new TPssrProgramme();
+        entity.setSubId(tPssrProgramme.getSubId());
+        entity.setApproveStatus(queryStatus);
+        for (TPssrProgramme item : tPssrProgrammeService.selectTPssrProgrammeList(entity)) {
+            if (tPssrProgramme.getTaskType() == 4) {
+                if (item.getConfirm1().equals(getUserId().toString())) {
+                    return AjaxResult.success();
+                }
+            } else if (tPssrProgramme.getTaskType() == 5) {
+                if (item.getConfirm2().equals(getUserId().toString())) {
+                    return AjaxResult.success();
+                }
+            }
+        }
+
+        //无待审批任务结束当前用户流程
+
+        // 因为流程关系所以approve一定会有且只有一条数据
+        TPssrApprove tPssrApprove = tPssrApproveService.selectTPssrApproveBySubId(tPssrProgramme.getSubId());
+        TPssrApproveController.handleConfirmApprove(tPssrApprove, getUserId().toString());
+        return AjaxResult.success();
+
+    }
+
+    /**
+     * 驳回设计变更
+     */
+    @PutMapping("/turnDownProgramme")
+    public AjaxResult turnDownProgramme(@RequestBody TPssrProgramme tPssrProgramme) {
+        if (tPssrProgramme.getIds() != null) {
+            String userId = getUserId().toString();
+            // 修改已选择数据的状态
+            for (Long id : tPssrProgramme.getIds()) {
+                TPssrProgramme blind = new TPssrProgramme();
+                blind.setId(id);
+                blind.setApproveStatus(1L);
+                blind.setUpdatedate(new Date());
+                blind.setUpdaterCode(getUserId().toString());
+                tPssrProgrammeService.updateTPssrProgramme(blind);
+            }
+            // 查询当前流程
+            TPssrApprove approve = tPssrApproveService.selectTPssrApproveBySubId(tPssrProgramme.getSubId());
+
+            ProcessEngine processEngine = ProcessEngines.getDefaultProcessEngine();
+            TaskService taskService = processEngine.getTaskService();
+            Task task = processEngine.getTaskService()//获取任务service
+                    .createTaskQuery()//创建查询对象
+                    .taskAssignee(userId)
+                    .processInstanceId(approve.getProcessId()).singleResult();
+            String taskId = task.getId();
+
+            // 驳回 查询所有待审批的人员
+            TPssrProgramme blind = new TPssrProgramme();
+            blind.setSubId(tPssrProgramme.getSubId());
+            blind.setApproveStatus(1L);
+            Set<String> confirm1 = new HashSet<>();
+            Set<String> confirm2 = new HashSet<>();
+            for (TPssrProgramme item : tPssrProgrammeService.selectTPssrProgrammeList(blind)) {
+
+                // 确认人1
+                confirm1.add(item.getConfirm1());
+
+                // 确认人2
+                confirm2.add(item.getConfirm2());
+            }
+
+
+            //处理流程节点
+            Map<String, Object> param = new HashMap<>();
+            param.put("condition", 1);
+            param.put("confirmUsers1", new ArrayList<>(confirm1));
+            param.put("confirmUsers2", new ArrayList<>(confirm2));
+            //认领任务
+            processEngine.getTaskService().claim(taskId, userId);
+            taskService.addComment(taskId, approve.getProcessId(), "驳回;" + tPssrProgramme.getRemarks());
+            taskService.complete(taskId, param);
+
+            // 修改审批表和sub表
+            approve.setApproveStatus(1L);
+            approve.setUpdatedate(new Date());
+            approve.setUpdaterCode(getUserId().toString());
+            tPssrApproveService.updateTPssrApprove(approve);
+
+            TPssrSubcontent subcontent = new TPssrSubcontent();
+            subcontent.setId(approve.getSubId());
+            subcontent.setApproveStatus(1L);
+            subcontent.setUpdatedate(new Date());
+            subcontent.setUpdaterCode(getUserId().toString());
+            tPssrSubcontentService.updateTPssrSubcontent(subcontent);
+            return AjaxResult.success();
+        }
+        return AjaxResult.error();
+    }
+
+
+
+    @Log(title = "仪联锁测试附件上传", businessType = BusinessType.UPDATE)
+    @PostMapping("/uploadFile")
+    public AjaxResult uploadFile(@RequestParam("file") MultipartFile file, Long subId) throws IOException
+    {
+        if (!file.isEmpty())
+        {
+            String url = FileUploadUtils.upload(RuoYiConfig.getFilePath("/pssr/programme"), file);
+            TPssrProgramme test = new TPssrProgramme();
+            test.setSubId(subId);
+            test.setFileUrl(url);
+            test.setFileName(file.getOriginalFilename());
+            test.setWriteDone("是");
+            test.setApproveStatus(0L);
+            test.setCreatedate(new Date());
+            test.setCreaterCode(getUserId().toString());
+            tPssrProgrammeService.insertTPssrProgramme(test);
+            return AjaxResult.success();
+        }
+        return AjaxResult.error("上传失败,请联系管理员");
+    }
 }

+ 14 - 0
master/src/main/java/com/ruoyi/project/pssr/domain/TPssrAboveall.java

@@ -80,10 +80,24 @@ public class TPssrAboveall extends BaseEntity
     private Long plantMgr;
     private Long ctaMgr;
     private Long ctmMgr;
+    @JsonFormat(pattern = "yyyy-MM-dd" , timezone = "GMT+8")
     private Date plantConfirmdate;
+    @JsonFormat(pattern = "yyyy-MM-dd" , timezone = "GMT+8")
     private Date ctaConfirmdate;
+    @JsonFormat(pattern = "yyyy-MM-dd" , timezone = "GMT+8")
     private Date ctmConfirmdate;
 
+    @JsonFormat(pattern = "yyyy-MM-dd" , timezone = "GMT+8")
+    private Date drivingTime;
+
+    public Date getDrivingTime() {
+        return drivingTime;
+    }
+
+    public void setDrivingTime(Date drivingTime) {
+        this.drivingTime = drivingTime;
+    }
+
     public Long getPlantMgr() {
         return plantMgr;
     }

+ 13 - 3
master/src/main/java/com/ruoyi/project/pssr/domain/TPssrAirtight.java

@@ -41,7 +41,7 @@ public class TPssrAirtight extends BaseEntity
     private String airtightMedium;
 
     /** 气密压力(kpa) */
-    @Excel(name = "气密压力", readConverterExp = "k=pa")
+    @Excel(name = "气密压力(kpa)")
     private String airtightPressure;
 
     /** 保压始压力 */
@@ -56,8 +56,8 @@ public class TPssrAirtight extends BaseEntity
     @Excel(name = "泄露率")
     private String leakageRate;
 
-    /** 合格(是/否) */
-    @Excel(name = "合格", readConverterExp = "是=/否")
+    /** 合格标准(是/否) */
+    @Excel(name = "合格标准(是/否)")
     private String standard;
 
     /** 确认人 */
@@ -124,6 +124,16 @@ public class TPssrAirtight extends BaseEntity
 
     private Long taskType;
 
+    private String uptoStandard;
+
+    public String getUptoStandard() {
+        return uptoStandard;
+    }
+
+    public void setUptoStandard(String uptoStandard) {
+        this.uptoStandard = uptoStandard;
+    }
+
     public Long[] getIds() {
         return ids;
     }

+ 2 - 2
master/src/main/java/com/ruoyi/project/pssr/domain/TPssrCircuit.java

@@ -61,7 +61,7 @@ public class TPssrCircuit extends BaseEntity
     private String rightStatus;
 
     /** 当前状态(连通/断开) */
-    @Excel(name = "当前状态", readConverterExp = "连=通/断开")
+    @Excel(name = "当前状态(连通/断开)")
     private String currentStatus;
 
     /** 确认人1 */
@@ -69,7 +69,7 @@ public class TPssrCircuit extends BaseEntity
     private String confirm1;
 
     /** 当前状态正确(是/否) */
-    @Excel(name = "当前状态正确", readConverterExp = "是=/否")
+    @Excel(name = "当前状态正确(是/否)")
     private String currentStatusRight;
 
     /** 确认人2 */

+ 1 - 1
master/src/main/java/com/ruoyi/project/pssr/domain/TPssrOverhaulPump.java

@@ -37,7 +37,7 @@ public class TPssrOverhaulPump extends BaseEntity
     private String equipmentName;
 
     /** 检修内容(长文本) */
-    @Excel(name = "检修内容", readConverterExp = "长=文本")
+    @Excel(name = "检修内容(长文本)")
     private String workDes;
 
     /** 图号 */

+ 1 - 1
master/src/main/java/com/ruoyi/project/pssr/domain/TPssrOverhaulTower.java

@@ -37,7 +37,7 @@ public class TPssrOverhaulTower extends BaseEntity
     private String equipmentName;
 
     /** 检修内容(长文本) */
-    @Excel(name = "检修内容", readConverterExp = "长=文本")
+    @Excel(name = "检修内容(长文本)")
     private String workDes;
 
     /** 图号 */

+ 180 - 92
master/src/main/java/com/ruoyi/project/pssr/domain/TPssrProgramme.java

@@ -1,70 +1,94 @@
 package com.ruoyi.project.pssr.domain;
 
-import java.util.Date;
 import com.fasterxml.jackson.annotation.JsonFormat;
 import com.ruoyi.framework.aspectj.lang.annotation.Excel;
 import com.ruoyi.framework.web.domain.BaseEntity;
 import org.apache.commons.lang3.builder.ToStringBuilder;
 import org.apache.commons.lang3.builder.ToStringStyle;
 
+import java.util.Date;
+
 /**
  * 开工方案对象 t_pssr_programme
  *
  * @author ssy
  * @date 2024-09-23
  */
-public class TPssrProgramme extends BaseEntity
-{
+public class TPssrProgramme extends BaseEntity {
     private static final long serialVersionUID = 1L;
 
-    /** 唯一标识ID */
+    /**
+     * 唯一标识ID
+     */
     private Long id;
 
-    /** 从表id */
+    /**
+     * 从表id
+     */
     @Excel(name = "从表id")
     private Long subId;
 
-    /** 审批id */
+    /**
+     * 审批id
+     */
     @Excel(name = "审批id")
     private Long approveId;
 
-    /** 培训表id */
+    /**
+     * 培训表id
+     */
     @Excel(name = "培训表id")
     private Long trainingId;
 
-    /** 附件地址 */
+    /**
+     * 附件地址
+     */
     @Excel(name = "附件地址")
     private String fileUrl;
 
-    /** 附件名称 */
+    /**
+     * 附件名称
+     */
     @Excel(name = "附件名称")
     private String fileName;
 
-    /** 删除状态 */
+    /**
+     * 删除状态
+     */
     private Long delFlag;
 
-    /** 创建人 */
+    /**
+     * 创建人
+     */
     @Excel(name = "创建人")
     private String createrCode;
 
-    /** 创建时间 */
-    @JsonFormat(pattern = "yyyy-MM-dd" , timezone = "GMT+8")
+    /**
+     * 创建时间
+     */
+    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
     @Excel(name = "创建时间", width = 30, dateFormat = "yyyy-MM-dd")
     private Date createdate;
 
-    /** 修改人 */
+    /**
+     * 修改人
+     */
     @Excel(name = "修改人")
     private String updaterCode;
 
-    /** 修改时间 */
-    @JsonFormat(pattern = "yyyy-MM-dd" , timezone = "GMT+8")
+    /**
+     * 修改时间
+     */
+    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
     @Excel(name = "修改时间", width = 30, dateFormat = "yyyy-MM-dd")
     private Date updatedate;
 
-    /** 部门编号 */
+    /**
+     * 部门编号
+     */
     @Excel(name = "部门编号")
     private Long deptId;
-    
+
     private String deptName;
 
     public String getDeptName() {
@@ -75,158 +99,222 @@ public class TPssrProgramme extends BaseEntity
         this.deptName = deptName;
     }
 
-    /** 备注 */
+    /**
+     * 备注
+     */
     @Excel(name = "备注")
     private String remarks;
 
-    /** 审批状态 */
+    /**
+     * 审批状态
+     */
     @Excel(name = "审批状态")
     private Long approveStatus;
 
-    public void setId(Long id)
-    {
+    private String unit;
+    private String writeDone;
+    private String checkDone;
+    private String trainDone;
+    private String confirm1;
+    private String confirm2;
+
+    private Long[] ids;
+
+    private Long taskType;
+
+    public Long[] getIds() {
+        return ids;
+    }
+
+    public void setIds(Long[] ids) {
+        this.ids = ids;
+    }
+
+    public Long getTaskType() {
+        return taskType;
+    }
+
+    public void setTaskType(Long taskType) {
+        this.taskType = taskType;
+    }
+
+    public String getUnit() {
+        return unit;
+    }
+
+    public void setUnit(String unit) {
+        this.unit = unit;
+    }
+
+    public String getWriteDone() {
+        return writeDone;
+    }
+
+    public void setWriteDone(String writeDone) {
+        this.writeDone = writeDone;
+    }
+
+    public String getCheckDone() {
+        return checkDone;
+    }
+
+    public void setCheckDone(String checkDone) {
+        this.checkDone = checkDone;
+    }
+
+    public String getTrainDone() {
+        return trainDone;
+    }
+
+    public void setTrainDone(String trainDone) {
+        this.trainDone = trainDone;
+    }
+
+    public String getConfirm1() {
+        return confirm1;
+    }
+
+    public void setConfirm1(String confirm1) {
+        this.confirm1 = confirm1;
+    }
+
+    public String getConfirm2() {
+        return confirm2;
+    }
+
+    public void setConfirm2(String confirm2) {
+        this.confirm2 = confirm2;
+    }
+
+    public void setId(Long id) {
         this.id = id;
     }
 
-    public Long getId()
-    {
+    public Long getId() {
         return id;
     }
-    public void setSubId(Long subId)
-    {
+
+    public void setSubId(Long subId) {
         this.subId = subId;
     }
 
-    public Long getSubId()
-    {
+    public Long getSubId() {
         return subId;
     }
-    public void setApproveId(Long approveId)
-    {
+
+    public void setApproveId(Long approveId) {
         this.approveId = approveId;
     }
 
-    public Long getApproveId()
-    {
+    public Long getApproveId() {
         return approveId;
     }
-    public void setTrainingId(Long trainingId)
-    {
+
+    public void setTrainingId(Long trainingId) {
         this.trainingId = trainingId;
     }
 
-    public Long getTrainingId()
-    {
+    public Long getTrainingId() {
         return trainingId;
     }
-    public void setFileUrl(String fileUrl)
-    {
+
+    public void setFileUrl(String fileUrl) {
         this.fileUrl = fileUrl;
     }
 
-    public String getFileUrl()
-    {
+    public String getFileUrl() {
         return fileUrl;
     }
-    public void setFileName(String fileName)
-    {
+
+    public void setFileName(String fileName) {
         this.fileName = fileName;
     }
 
-    public String getFileName()
-    {
+    public String getFileName() {
         return fileName;
     }
-    public void setDelFlag(Long delFlag)
-    {
+
+    public void setDelFlag(Long delFlag) {
         this.delFlag = delFlag;
     }
 
-    public Long getDelFlag()
-    {
+    public Long getDelFlag() {
         return delFlag;
     }
-    public void setCreaterCode(String createrCode)
-    {
+
+    public void setCreaterCode(String createrCode) {
         this.createrCode = createrCode;
     }
 
-    public String getCreaterCode()
-    {
+    public String getCreaterCode() {
         return createrCode;
     }
-    public void setCreatedate(Date createdate)
-    {
+
+    public void setCreatedate(Date createdate) {
         this.createdate = createdate;
     }
 
-    public Date getCreatedate()
-    {
+    public Date getCreatedate() {
         return createdate;
     }
-    public void setUpdaterCode(String updaterCode)
-    {
+
+    public void setUpdaterCode(String updaterCode) {
         this.updaterCode = updaterCode;
     }
 
-    public String getUpdaterCode()
-    {
+    public String getUpdaterCode() {
         return updaterCode;
     }
-    public void setUpdatedate(Date updatedate)
-    {
+
+    public void setUpdatedate(Date updatedate) {
         this.updatedate = updatedate;
     }
 
-    public Date getUpdatedate()
-    {
+    public Date getUpdatedate() {
         return updatedate;
     }
-    public void setDeptId(Long deptId)
-    {
+
+    public void setDeptId(Long deptId) {
         this.deptId = deptId;
     }
 
-    public Long getDeptId()
-    {
+    public Long getDeptId() {
         return deptId;
     }
-    public void setRemarks(String remarks)
-    {
+
+    public void setRemarks(String remarks) {
         this.remarks = remarks;
     }
 
-    public String getRemarks()
-    {
+    public String getRemarks() {
         return remarks;
     }
-    public void setApproveStatus(Long approveStatus)
-    {
+
+    public void setApproveStatus(Long approveStatus) {
         this.approveStatus = approveStatus;
     }
 
-    public Long getApproveStatus()
-    {
+    public Long getApproveStatus() {
         return approveStatus;
     }
 
     @Override
     public String toString() {
-        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
-            .append("id", getId())
-            .append("subId", getSubId())
-            .append("approveId", getApproveId())
-            .append("trainingId", getTrainingId())
-            .append("fileUrl", getFileUrl())
-            .append("fileName", getFileName())
-            .append("delFlag", getDelFlag())
-            .append("createrCode", getCreaterCode())
-            .append("createdate", getCreatedate())
-            .append("updaterCode", getUpdaterCode())
-            .append("updatedate", getUpdatedate())
-            .append("deptId", getDeptId())
-            .append("remarks", getRemarks())
-            .append("approveStatus", getApproveStatus())
-            .toString();
+        return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE)
+                .append("id", getId())
+                .append("subId", getSubId())
+                .append("approveId", getApproveId())
+                .append("trainingId", getTrainingId())
+                .append("fileUrl", getFileUrl())
+                .append("fileName", getFileName())
+                .append("delFlag", getDelFlag())
+                .append("createrCode", getCreaterCode())
+                .append("createdate", getCreatedate())
+                .append("updaterCode", getUpdaterCode())
+                .append("updatedate", getUpdatedate())
+                .append("deptId", getDeptId())
+                .append("remarks", getRemarks())
+                .append("approveStatus", getApproveStatus())
+                .toString();
     }
 }

+ 5 - 5
master/src/main/java/com/ruoyi/project/pssr/domain/TPssrSafetyBleed.java

@@ -41,11 +41,11 @@ public class TPssrSafetyBleed extends BaseEntity
     private String devNo;
 
     /** 已经校验(是/否) */
-    @Excel(name = "已经校验", readConverterExp = "是=/否")
+    @Excel(name = "已经校验(是/否)")
     private String verify;
 
     /** 在有效期内(是/否) */
-    @Excel(name = "在有效期内", readConverterExp = "是=/否")
+    @Excel(name = "在有效期内(是/否)")
     private String inValidity;
 
     /** 安装位置 */
@@ -53,15 +53,15 @@ public class TPssrSafetyBleed extends BaseEntity
     private String installLocation;
 
     /** 安装位置准确(是/否) */
-    @Excel(name = "安装位置准确", readConverterExp = "是=/否")
+    @Excel(name = "安装位置准确(是/否)")
     private String installAccuracy;
 
     /** 设定压力(Mpa) */
-    @Excel(name = "设定压力", readConverterExp = "M=pa")
+    @Excel(name = "设定压力(Mpa)")
     private String setPressure;
 
     /** 校验压力与设定压力一致(是/否) */
-    @Excel(name = "校验压力与设定压力一致", readConverterExp = "是=/否")
+    @Excel(name = "校验压力与设定压力一致(是/否)")
     private String uniformPressure;
 
     /** 确认人1 */

+ 5 - 5
master/src/main/java/com/ruoyi/project/pssr/domain/TPssrSafetyBreath.java

@@ -41,11 +41,11 @@ public class TPssrSafetyBreath extends BaseEntity
     private String devNo;
 
     /** 已经校验(是/否) */
-    @Excel(name = "已经校验", readConverterExp = "是=/否")
+    @Excel(name = "已经校验(是/否)")
     private String verify;
 
     /** 在有效期内(是/否) */
-    @Excel(name = "在有效期内", readConverterExp = "是=/否")
+    @Excel(name = "在有效期内(是/否)")
     private String inValidity;
 
     /** 安装位置 */
@@ -53,15 +53,15 @@ public class TPssrSafetyBreath extends BaseEntity
     private String installLocation;
 
     /** 安装位置准确(是/否) */
-    @Excel(name = "安装位置准确", readConverterExp = "是=/否")
+    @Excel(name = "安装位置准确(是/否)")
     private String installAccuracy;
 
     /** 设定压力(Mpa) */
-    @Excel(name = "设定压力", readConverterExp = "M=pa")
+    @Excel(name = "设定压力(Mpa)")
     private String setPressure;
 
     /** 校验压力与设定压力一致(是/否) */
-    @Excel(name = "校验压力与设定压力一致", readConverterExp = "是=/否")
+    @Excel(name = "校验压力与设定压力一致(是/否)")
     private String uniformPressure;
 
     /** 确认人1 */

+ 5 - 5
master/src/main/java/com/ruoyi/project/pssr/domain/TPssrSafetyBrust.java

@@ -45,23 +45,23 @@ public class TPssrSafetyBrust extends BaseEntity
     private String installLocation;
 
     /** 爆破片的安装位置正确(是/否) */
-    @Excel(name = "爆破片的安装位置正确", readConverterExp = "是=/否")
+    @Excel(name = "爆破片的安装位置正确(是/否)")
     private String installAccuracy;
 
     /** 爆破片的安装方向正确(是/否) */
-    @Excel(name = "爆破片的安装方向正确", readConverterExp = "是=/否")
+    @Excel(name = "爆破片的安装方向正确(是/否)")
     private String rightDirection;
 
     /** 设定压力(MPag) */
-    @Excel(name = "设定压力", readConverterExp = "M=Pag")
+    @Excel(name = "设定压力(MPag)")
     private String setPressure;
 
     /** 铭牌上压力和设定压力一致(是/否) */
-    @Excel(name = "铭牌上压力和设定压力一致", readConverterExp = "是=/否")
+    @Excel(name = "铭牌上压力和设定压力一致(是/否)")
     private String uniformPressure;
 
     /** 爆破片与安全阀之间的压力指示为“0kpa”(是/否) */
-    @Excel(name = "爆破片与安全阀之间的压力指示为“0kpa”", readConverterExp = "是=/否")
+    @Excel(name = "爆破片与安全阀之间的压力指示为“0kpa”(是/否)")
     private String is0kpa;
 
     /** 检查人1 */

+ 2 - 2
master/src/main/java/com/ruoyi/project/pssr/domain/TPssrSafetyFlamearrester.java

@@ -41,11 +41,11 @@ public class TPssrSafetyFlamearrester extends BaseEntity
     private String installLocation;
 
     /** 流向标记与介质流向一致(是/否) */
-    @Excel(name = "流向标记与介质流向一致", readConverterExp = "是=/否")
+    @Excel(name = "流向标记与介质流向一致(是/否)")
     private String uniformFlow;
 
     /** 壳体和螺栓腐蚀(是/否) */
-    @Excel(name = "壳体和螺栓腐蚀", readConverterExp = "是=/否")
+    @Excel(name = "壳体和螺栓腐蚀(是/否)")
     private String corrosion;
 
     /** 检查人1 */

+ 5 - 5
master/src/main/java/com/ruoyi/project/pssr/domain/TPssrSafetyValve.java

@@ -45,11 +45,11 @@ public class TPssrSafetyValve extends BaseEntity
     private String safetyDev;
 
     /** 已经校验(是/否) */
-    @Excel(name = "已经校验", readConverterExp = "是=/否")
+    @Excel(name = "已经校验(是/否)")
     private String verify;
 
     /** 在有效期内(是/否) */
-    @Excel(name = "在有效期内", readConverterExp = "是=/否")
+    @Excel(name = "在有效期内(是/否)")
     private String inValidity;
 
     /** 安装位置 */
@@ -57,15 +57,15 @@ public class TPssrSafetyValve extends BaseEntity
     private String installLocation;
 
     /** 安装位置准确(是/否) */
-    @Excel(name = "安装位置准确", readConverterExp = "是=/否")
+    @Excel(name = "安装位置准确(是/否)")
     private String installAccuracy;
 
     /** 设定压力(Mpa) */
-    @Excel(name = "设定压力", readConverterExp = "M=pa")
+    @Excel(name = "设定压力(Mpa)")
     private String setPressure;
 
     /** 校验压力与设定压力一致(是/否) */
-    @Excel(name = "校验压力与设定压力一致", readConverterExp = "是=/否")
+    @Excel(name = "校验压力与设定压力一致(是/否)")
     private String uniformPressure;
 
     /** 确认人1 */

+ 6 - 0
master/src/main/resources/mybatis/pssr/TPssrAboveallMapper.xml

@@ -28,6 +28,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         <result property="plantConfirmdate" column="plant_confirmdate" />
         <result property="ctaConfirmdate" column="cta_confirmdate" />
         <result property="ctmConfirmdate" column="ctm_confirmdate" />
+        <result property="drivingTime" column="driving_time" />
     </resultMap>
 
     <sql id="selectTPssrAboveallVo">
@@ -37,6 +38,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
                d.plant_confirmdate,
                d.cta_confirmdate,
                d.ctm_confirmdate,
+               d.driving_time,
             d.id, d.approve_id, d.region, d.approve_status, d.unit, d.confirm, d.confirmation_date, d.del_flag, d.creater_code, d.createdate, d.updater_code, d.updatedate, d.dept_id, d.remarks, d.include_public, d.unit_des ,s.dept_name from t_pssr_aboveall d
       left join sys_dept s on s.dept_id = d.dept_id
     </sql>
@@ -64,6 +66,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
             <if test="plantConfirmdate != null  "> and plant_confirmdate = #{plantConfirmdate}</if>
             <if test="ctaConfirmdate != null  "> and cta_confirmdate = #{ctaConfirmdate}</if>
             <if test="ctmConfirmdate != null  "> and ctm_confirmdate = #{ctmConfirmdate}</if>
+            <if test="drivingTime != null  "> and driving_time = #{drivingTime}</if>
             and d.del_flag = 0
         </where>
         <!-- 数据范围过滤 -->
@@ -104,6 +107,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
             <if test="plantConfirmdate != null">plant_confirmdate,</if>
             <if test="ctaConfirmdate != null">cta_confirmdate,</if>
             <if test="ctmConfirmdate != null">ctm_confirmdate,</if>
+            <if test="drivingTime != null">driving_time,</if>
          </trim>
         <trim prefix="values (" suffix=")" suffixOverrides=",">
             <if test="id != null">#{id},</if>
@@ -128,6 +132,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
             <if test="plantConfirmdate != null">#{plantConfirmdate},</if>
             <if test="ctaConfirmdate != null">#{ctaConfirmdate},</if>
             <if test="ctmConfirmdate != null">#{ctmConfirmdate},</if>
+            <if test="drivingTime != null">#{drivingTime},</if>
          </trim>
     </insert>
 
@@ -155,6 +160,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
             <if test="plantConfirmdate != null">plant_confirmdate = #{plantConfirmdate},</if>
             <if test="ctaConfirmdate != null">cta_confirmdate = #{ctaConfirmdate},</if>
             <if test="ctmConfirmdate != null">ctm_confirmdate = #{ctmConfirmdate},</if>
+            <if test="drivingTime != null">driving_time = #{drivingTime},</if>
         </trim>
         where id = #{id}
     </update>

+ 6 - 1
master/src/main/resources/mybatis/pssr/TPssrAirtightMapper.xml

@@ -29,10 +29,11 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         <result property="deptName" column="dept_name" />
         <result property="confirm1"    column="confirm1"    />
         <result property="confirm2"    column="confirm2"    />
+        <result property="uptoStandard"    column="upto_standard"    />
     </resultMap>
 
     <sql id="selectTPssrAirtightVo">
-        select d.id, d.confirm1, d.confirm2, d.sub_id, d.approve_id, d.unit, d.system_name, d.airtight_medium, d.airtight_pressure, d.initial_pressure, d.final_pressure, d.leakage_rate, d.standard, d.identifying_person, d.confirmation_date, d.del_flag, d.creater_code, d.createdate, d.updater_code, d.updatedate, d.dept_id, d.remarks, d.approve_status ,s.dept_name from t_pssr_airtight d
+        select d.id,d.upto_standard, d.confirm1, d.confirm2, d.sub_id, d.approve_id, d.unit, d.system_name, d.airtight_medium, d.airtight_pressure, d.initial_pressure, d.final_pressure, d.leakage_rate, d.standard, d.identifying_person, d.confirmation_date, d.del_flag, d.creater_code, d.createdate, d.updater_code, d.updatedate, d.dept_id, d.remarks, d.approve_status ,s.dept_name from t_pssr_airtight d
       left join sys_dept s on s.dept_id = d.dept_id
     </sql>
 
@@ -55,6 +56,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
             <if test="createdate != null "> and createdate = #{createdate}</if>
             <if test="updaterCode != null  and updaterCode != ''"> and updater_code = #{updaterCode}</if>
             <if test="updatedate != null "> and updatedate = #{updatedate}</if>
+            <if test="uptoStandard != null "> and upto_standard = #{uptoStandard}</if>
             <if test="deptId != null "> and dept_id = #{deptId}</if>
             <if test="remarks != null  and remarks != ''"> and remarks = #{remarks}</if>
             <if test="approveStatus != null "> and approve_status = #{approveStatus}</if>
@@ -88,6 +90,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
             <if test="finalPressure != null">final_pressure,</if>
             <if test="leakageRate != null">leakage_rate,</if>
             <if test="standard != null">standard,</if>
+            <if test="uptoStandard != null">upto_standard,</if>
             <if test="identifyingPerson != null">identifying_person,</if>
             <if test="confirmationDate != null">confirmation_date,</if>
             <if test="delFlag != null">del_flag,</if>
@@ -113,6 +116,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
             <if test="finalPressure != null">#{finalPressure},</if>
             <if test="leakageRate != null">#{leakageRate},</if>
             <if test="standard != null">#{standard},</if>
+            <if test="uptoStandard != null">#{uptoStandard},</if>
             <if test="identifyingPerson != null">#{identifyingPerson},</if>
             <if test="confirmationDate != null">#{confirmationDate},</if>
             <if test="delFlag != null">#{delFlag},</if>
@@ -141,6 +145,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
             <if test="finalPressure != null">final_pressure = #{finalPressure},</if>
             <if test="leakageRate != null">leakage_rate = #{leakageRate},</if>
             <if test="standard != null">standard = #{standard},</if>
+            <if test="uptoStandard != null">upto_standard = #{uptoStandard},</if>
             <if test="identifyingPerson != null">identifying_person = #{identifyingPerson},</if>
             <if test="confirmationDate != null">confirmation_date = #{confirmationDate},</if>
             <if test="delFlag != null">del_flag = #{delFlag},</if>

+ 31 - 1
master/src/main/resources/mybatis/pssr/TPssrProgrammeMapper.xml

@@ -20,10 +20,16 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         <result property="remarks"    column="remarks"    />
         <result property="approveStatus"    column="approve_status"    />
         <result property="deptName" column="dept_name" />
+        <result property="unit" column="unit" />
+        <result property="writeDone" column="write_done" />
+        <result property="checkDone" column="check_done" />
+        <result property="trainDone" column="train_done" />
+        <result property="confirm1" column="confirm1" />
+        <result property="confirm2" column="confirm2" />
     </resultMap>
 
     <sql id="selectTPssrProgrammeVo">
-        select d.id, d.sub_id, d.approve_id, d.training_id, d.file_url, d.file_name, d.del_flag, d.creater_code, d.createdate, d.updater_code, d.updatedate, d.dept_id, d.remarks, d.approve_status ,s.dept_name from t_pssr_programme d
+        select d.unit,d.write_done,d.check_done,d.train_done,d.confirm1,d.confirm2,d.id, d.sub_id, d.approve_id, d.training_id, d.file_url, d.file_name, d.del_flag, d.creater_code, d.createdate, d.updater_code, d.updatedate, d.dept_id, d.remarks, d.approve_status ,s.dept_name from t_pssr_programme d
       left join sys_dept s on s.dept_id = d.dept_id
     </sql>
 
@@ -42,6 +48,12 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
             <if test="deptId != null "> and dept_id = #{deptId}</if>
             <if test="remarks != null  and remarks != ''"> and remarks = #{remarks}</if>
             <if test="approveStatus != null "> and approve_status = #{approveStatus}</if>
+            <if test="unit != null "> and unit = #{unit}</if>
+            <if test="writeDone != null "> and write_done = #{writeDone}</if>
+            <if test="checkDone != null "> and check_done = #{checkDone}</if>
+            <if test="trainDone != null "> and train_done = #{trainDone}</if>
+            <if test="confirm1 != null "> and confirm1 = #{confirm1}</if>
+            <if test="confirm2 != null "> and confirm2 = #{confirm2}</if>
             and d.del_flag = 0
         </where>
         <!-- 数据范围过滤 -->
@@ -73,6 +85,12 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
             <if test="deptId != null">dept_id,</if>
             <if test="remarks != null">remarks,</if>
             <if test="approveStatus != null">approve_status,</if>
+            <if test="unit != null">unit,</if>
+            <if test="writeDone != null">write_done,</if>
+            <if test="checkDone != null">check_done,</if>
+            <if test="trainDone != null">train_done,</if>
+            <if test="confirm1 != null">confirm1,</if>
+            <if test="confirm2 != null">confirm2,</if>
          </trim>
         <trim prefix="values (" suffix=")" suffixOverrides=",">
             <if test="id != null">#{id},</if>
@@ -89,6 +107,12 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
             <if test="deptId != null">#{deptId},</if>
             <if test="remarks != null">#{remarks},</if>
             <if test="approveStatus != null">#{approveStatus},</if>
+            <if test="unit != null">#{unit},</if>
+            <if test="writeDone != null">#{writeDone},</if>
+            <if test="checkDone != null">#{checkDone},</if>
+            <if test="trainDone != null">#{trainDone},</if>
+            <if test="confirm1 != null">#{confirm1},</if>
+            <if test="confirm2 != null">#{confirm2},</if>
          </trim>
     </insert>
 
@@ -108,6 +132,12 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
             <if test="deptId != null">dept_id = #{deptId},</if>
             <if test="remarks != null">remarks = #{remarks},</if>
             <if test="approveStatus != null">approve_status = #{approveStatus},</if>
+            <if test="unit != null">unit = #{unit},</if>
+            <if test="writeDone != null">write_done = #{writeDone},</if>
+            <if test="checkDone != null">check_done = #{checkDone},</if>
+            <if test="trainDone != null">train_done = #{trainDone},</if>
+            <if test="confirm1 != null">confirm1 = #{confirm1},</if>
+            <if test="confirm2 != null">confirm2 = #{confirm2},</if>
         </trim>
         where id = #{id}
     </update>

+ 19 - 1
ui/src/api/pssr/programme.js

@@ -1,5 +1,23 @@
 import request from '@/utils/request'
 
+// 确认PROGRAMME完成确认清单
+export function handleConfirmProgramme(data) {
+  return request({
+    url: '/pssr/programme/confirmProgramme',
+    method: 'put',
+    data: data
+  })
+}
+
+// 驳回PROGRAMME完成确认清单
+export function handleTurnDownProgramme(data) {
+  return request({
+    url: '/pssr/programme/turnDownProgramme',
+    method: 'put',
+    data: data
+  })
+}
+
 // 查询开工方案列表
 export function listProgramme(query) {
   return request({
@@ -50,4 +68,4 @@ export function exportProgramme(query) {
     method: 'get',
     params: query
   })
-}
+}

+ 6 - 6
ui/src/router/index.js

@@ -690,6 +690,12 @@ export const constantRoutes = [
             to.meta.title = '锁开锁关阀门状态';
           } else if (to.fullPath.includes('sys')) {
             to.meta.title = '实验室';
+          } else if (to.fullPath.includes('djsb')) {
+            to.meta.title = '电机设备';
+          } else if (to.fullPath.includes('jdjdkj')) {
+            to.meta.title = '静电接地/跨接';
+          } else if (to.fullPath.includes('zdj')) {
+            to.meta.title = '支(吊)架';
           } else if (to.fullPath.includes('dj')) {
             to.meta.title = '短接';
           } else if (to.fullPath.includes('dqzh')) {
@@ -710,8 +716,6 @@ export const constantRoutes = [
             to.meta.title = '原辅料';
           } else if (to.fullPath.includes('jb')) {
             to.meta.title = '机泵';
-          } else if (to.fullPath.includes('zdj')) {
-            to.meta.title = '支(吊)架';
           } else if (to.fullPath.includes('tzsb')) {
             to.meta.title = '压力管道/压力容器';
           } else if (to.fullPath.includes('ybjy')) {
@@ -722,12 +726,8 @@ export const constantRoutes = [
             to.meta.title = '报警/联锁值确认';
           } else if (to.fullPath.includes('lsdy')) {
             to.meta.title = '临时电源';
-          } else if (to.fullPath.includes('djsb')) {
-            to.meta.title = '电机设备';
           } else if (to.fullPath.includes('zmdbr')) {
             to.meta.title = '照明、电伴热';
-          } else if (to.fullPath.includes('jdjdkj')) {
-            to.meta.title = '静电接地/跨接';
           } else if (to.fullPath.includes('qtjcy')) {
             to.meta.title = '气体检测仪';
           } else if (to.fullPath.includes('zxfxy')) {

+ 33 - 6
ui/src/views/pssr/aboveall/index.vue

@@ -86,20 +86,29 @@
       <el-table-column type="selection" width="55" align="center"/>
       <el-table-column label="区域" align="center" prop="region" :show-overflow-tooltip="true"/>
       <el-table-column label="单元" align="center" prop="unit" :show-overflow-tooltip="true"/>
+      <el-table-column label="预计开车时间" align="center" prop="drivingTime" :show-overflow-tooltip="true">
+        <template slot-scope="scope">
+          <span>{{ parseTime(scope.row.drivingTime, '{y}-{m}-{d}') }}</span>
+        </template>
+      </el-table-column>
       <el-table-column label="审批状态" align="center" prop="approveStatus" :show-overflow-tooltip="true">
         <template slot-scope="scope">
           <dict-tag :options="dict.type.pssr_approve_status" :value="scope.row.approveStatus"
                     :show-type="getTagType(scope.row.approveStatus)"/>
         </template>
       </el-table-column>
-      <el-table-column label="确认人" align="center" prop="confirm" :show-overflow-tooltip="true"/>
+      <el-table-column label="确认人" align="center" prop="confirm" :show-overflow-tooltip="true">
+        <template slot-scope="scope">
+          <span>{{ userFormat(scope.row.confirm) }}</span>
+        </template>
+      </el-table-column>
       <el-table-column label="确认时间" align="center" prop="confirmationDate">
         <template slot-scope="scope">
           <span>{{ parseTime(scope.row.confirmationDate, '{y}-{m}-{d}') }}</span>
         </template>
       </el-table-column>
       <el-table-column label="备注" align="center" prop="remarks" :show-overflow-tooltip="true"/>
-      <el-table-column label="操作" align="center" fixed="right" class-name="small-padding fixed-width">
+      <el-table-column label="操作" align="center" class-name="small-padding fixed-width">
         <template slot-scope="scope">
           <!--          <el-button
                       size="mini"
@@ -140,7 +149,7 @@
     <el-dialog :close-on-click-modal="false" :title="title" :visible.sync="open" width="70%" append-to-body>
       <el-form ref="form" :model="form" :rules="rules" label-width="140px">
         <el-row>
-          <el-col :span="8">
+          <el-col :span="6">
             <el-form-item label="区域" prop="region">
               <el-select v-model="form.region" clearable filterable style="width: 100%;" placeholder="请选择区域"
                          @change="handleKeyChange">
@@ -153,7 +162,7 @@
               </el-select>
             </el-form-item>
           </el-col>
-          <el-col :span="8">
+          <el-col :span="6">
             <el-form-item label="单元" prop="unit">
               <el-select v-model="form.unit" clearable filterable multiple style="width: 100%;" placeholder="请选择单元"
                          :disabled="!form.region">
@@ -164,7 +173,17 @@
               </el-select>
             </el-form-item>
           </el-col>
-          <el-col :span="8">
+          <el-col :span="6">
+            <el-form-item label="预计开车时间" prop="drivingTime">
+              <el-date-picker clearable size="small" style="width: 200px"
+              v-model="form.drivingTime"
+              type="date"
+              value-format="yyyy-MM-dd"
+              placeholder="选择确认时间">
+              </el-date-picker>
+            </el-form-item>
+          </el-col>
+          <el-col :span="6">
             <el-form-item label="是否包含390区域" prop="includePublic">
               <el-radio v-model="form.includePublic" :label="1">是</el-radio>
               <el-radio v-model="form.includePublic" :label="0">否</el-radio>
@@ -456,6 +475,7 @@ export default {
         updaterCode: null,
         updatedate: null,
         deptId: null,
+        drivingTime: null,
         remarks: null
       };
       this.subcontents = []
@@ -600,7 +620,14 @@ export default {
     // 提交上传文件
     submitFileForm() {
       this.$refs.upload.submit();
-    }
+    },
+    userFormat(userId) {
+      for (let item of this.userOptions) {
+        if (item.userId == userId) {
+          return item.nickName
+        }
+      }
+    },
   }
 };
 </script>

+ 12 - 6
ui/src/views/pssr/airtight/index.vue

@@ -274,6 +274,14 @@
 	  <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
     </el-row>
 
+
+
+    <div style="width: 100%;text-align: center;margin-bottom: 15px">
+      <h2>气密确认表</h2><br>
+      <span>备注:气密检查,如果检查不符合要求,必须查找原因并立即整改。</span><br>
+      <span>要求:试验时间为1小时,若泄漏率达标,即为合格。泄漏率=(保压始压力-保压终压力)/保压始压力×100%</span>
+    </div>
+
     <el-table v-loading="loading" :data="airtightList" @selection-change="handleSelectionChange" :height="clientHeight" border>
       <el-table-column type="selection" width="55" align="center" />
       <!--<el-table-column label="唯一标识ID" align="center" prop="id" :show-overflow-tooltip="true"/>-->
@@ -294,7 +302,8 @@
       <el-table-column label="保压始压力" align="center" prop="initialPressure" :show-overflow-tooltip="true"/>
       <el-table-column label="保压终压力" align="center" prop="finalPressure" :show-overflow-tooltip="true"/>
       <el-table-column label="泄露率" align="center" prop="leakageRate" :show-overflow-tooltip="true"/>
-      <el-table-column label="合格" align="center" prop="standard" :show-overflow-tooltip="true"/>
+      <el-table-column label="合格标准" align="center" prop="standard" :show-overflow-tooltip="true"/>
+      <el-table-column label="合格(是/否)" align="center" prop="uptoStandard" :show-overflow-tooltip="true"/>
       <!--<el-table-column label="确认人" align="center" prop="identifyingPerson" :show-overflow-tooltip="true"/>-->
       <el-table-column label="确认人1" align="center" prop="confirm1" :show-overflow-tooltip="true"
                        width="150">
@@ -382,11 +391,8 @@
         <el-form-item label="保压终压力" prop="finalPressure">
           <el-input v-model="form.finalPressure" placeholder="请输入保压终压力" />
         </el-form-item>
-        <el-form-item label="泄露率" prop="leakageRate">
-          <el-input v-model="form.leakageRate" placeholder="请输入泄露率" />
-        </el-form-item>
-        <el-form-item label="合格" prop="standard">
-          <el-input v-model="form.standard" placeholder="请输入合格" />
+        <el-form-item label="合格标准" prop="standard">
+          <el-input v-model="form.standard" placeholder="请输入合格标准" />
         </el-form-item>
         <!--<el-form-item label="确认人" prop="identifyingPerson">-->
           <!--<el-input v-model="form.identifyingPerson" placeholder="请输入确认人" />-->

+ 5 - 1
ui/src/views/pssr/analyzer/index.vue

@@ -256,7 +256,11 @@
     </el-row>
 
     <div style="width: 100%;text-align: center;margin-bottom: 15px">
-      <H2>蒸汽裂解装置现场在线分析仪检查确认清单</H2>
+      <H2>现场在线分析仪检查确认清单</H2><br>     检查要求:<br>
+      1.外观检查:在线分析仪的外观无变形锈蚀,设备完好;取样管线及预处理系统连接正确。现场检查符合要求的,在“外观检查”项中打”✔“,不符合打“×”。<br>
+      2.功能检查:仪器的功能测试合格,具备投用条件。现场检查符合要求的,在“功能检查”项中打”✔“,不符合打“×”。<br>
+      以上检查中不符合要求的,必须按照该条检查内容的要求立即整改。如不能立即整改的,请立即汇报相关负责人并采取临时应对措施。
+
     </div>
 
     <el-table v-loading="loading" :data="analyzerList" @selection-change="handleSelectionChange" :height="clientHeight" border>

+ 2 - 2
ui/src/views/pssr/blind/index.vue

@@ -130,7 +130,7 @@
     </el-row>
 
     <div style="width: 100%;text-align: center;margin-bottom: 15px">
-      <H2>蒸汽裂解装置隔离/盲板一览表</H2>
+      <H2>隔离/盲板一览表</H2>
     </div>
 
     <el-table v-loading="loading" :data="blindList" @selection-change="handleSelectionChange" :height="clientHeight"
@@ -297,7 +297,7 @@
         </el-row>
         <el-row>
           <el-col :span="12">
-            <el-form-item label="盲板总司令" prop="inConfirm2">
+            <el-form-item label="确认人" prop="inConfirm2">
               <el-select v-model="form.inConfirm2" clearable filterable style="width: 100%;"
                          placeholder="请选择盲板总司令">
                 <el-option v-for="user in userOptions"

+ 12 - 11
ui/src/views/pssr/circuit/index.vue

@@ -284,7 +284,8 @@
     </el-row>
 
     <div style="width: 100%;text-align: center;margin-bottom: 15px">
-      <H2>蒸汽裂解装置短接清单</H2>
+      <H2>短接清单</H2><br>填写要求:   检查现场短接连接状态, 在“当前状态栏”中填写当前的状态,并确认当前状态是否正确。<br>
+      如不符合要求的,立即联系相关负责人进行整改。
     </div>
 
     <el-table v-loading="loading" :data="circuitList" @selection-change="handleSelectionChange" :height="clientHeight" border>
@@ -300,22 +301,22 @@
           <el-tag v-if="scope.row.approveStatus==2" type="success">已确认2</el-tag>
         </template>
       </el-table-column>
-      <el-table-column label="单元号" align="center" prop="unit" :show-overflow-tooltip="true"/>
-      <el-table-column label="P&ID图号" align="center" prop="pidNo" :show-overflow-tooltip="true"/>
-      <el-table-column label="管线号/设备" align="center" prop="pipelineNo" :show-overflow-tooltip="true"/>
-      <el-table-column label="短接类型" align="center" prop="circuitType" :show-overflow-tooltip="true"/>
-      <el-table-column label="介质" align="center" prop="medium" :show-overflow-tooltip="true"/>
-      <el-table-column label="所在位置" align="center" prop="position" :show-overflow-tooltip="true"/>
-      <el-table-column label="尺寸" align="center" prop="circuitSize" :show-overflow-tooltip="true"/>
-      <el-table-column label="正确状态" align="center" prop="rightStatus" :show-overflow-tooltip="true"/>
-      <el-table-column label="当前状态" align="center" prop="currentStatus" :show-overflow-tooltip="true"/>
+      <el-table-column label="单元号" align="center" prop="unit" :show-overflow-tooltip="true" width="180"/>
+      <el-table-column label="P&ID图号" align="center" prop="pidNo" :show-overflow-tooltip="true" width="180"/>
+      <el-table-column label="管线号/设备" align="center" prop="pipelineNo" :show-overflow-tooltip="true" width="180"/>
+      <el-table-column label="短接类型" align="center" prop="circuitType" :show-overflow-tooltip="true" width="180"/>
+      <el-table-column label="介质" align="center" prop="medium" :show-overflow-tooltip="true" width="180"/>
+      <el-table-column label="所在位置" align="center" prop="position" :show-overflow-tooltip="true" width="180"/>
+      <el-table-column label="尺寸" align="center" prop="circuitSize" :show-overflow-tooltip="true" width="180"/>
+      <el-table-column label="正确状态" align="center" prop="rightStatus" :show-overflow-tooltip="true" width="180"/>
+      <el-table-column label="当前状态(连通/断开)" align="center" prop="currentStatus" :show-overflow-tooltip="true" width="180"/>
       <el-table-column label="确认人1" align="center" prop="confirm1" :show-overflow-tooltip="true"
                        width="150">
         <template slot-scope="scope">
           <span>{{ userFormat(scope.row.confirm1) }}</span>
         </template>
       </el-table-column>
-      <el-table-column label="当前状态正确" align="center" prop="currentStatusRight" :show-overflow-tooltip="true"/>
+      <el-table-column label="当前状态正确(是/否)" align="center" prop="currentStatusRight" :show-overflow-tooltip="true" width="180"/>
       <el-table-column label="确认人2" align="center" prop="confirm2" :show-overflow-tooltip="true"
                        width="150">
         <template slot-scope="scope">

+ 6 - 6
ui/src/views/pssr/cleaning/index.vue

@@ -239,7 +239,7 @@
     </el-row>
 
     <div style="width: 100%;text-align: center;margin-bottom: 15px">
-      <H2>蒸汽裂解装置设备清洁度检查表</H2>
+      <H2>设备清洁度检查表</H2>填写要求:检查设备清洁度符合检查内容要求的在检查结果中打“✔”,不符合打“×”。<br>如果检查不符合,并联系相关责任人按照该条检查内容的要求进行整改。
     </div>
 
     <el-table v-loading="loading" :data="cleaningList" @selection-change="handleSelectionChange" :height="clientHeight" border>
@@ -272,11 +272,11 @@
           <span>{{ userFormat(scope.row.confirm2) }}</span>
         </template>
       </el-table-column>
-      <!--<el-table-column label="确认时间" align="center" prop="confirmationDate" width="100">-->
-        <!--<template slot-scope="scope">-->
-          <!--<span>{{ parseTime(scope.row.confirmationDate, '{y}-{m}-{d}') }}</span>-->
-        <!--</template>-->
-      <!--</el-table-column>-->
+      <el-table-column label="确认时间" align="center" prop="confirmationDate" width="100">
+        <template slot-scope="scope">
+          <span>{{ parseTime(scope.row.confirmationDate, '{y}-{m}-{d}') }}</span>
+        </template>
+      </el-table-column>
       <!--<el-table-column label="创建人" align="center" prop="createrCode" :show-overflow-tooltip="true"/>-->
       <!--<el-table-column label="创建时间" align="center" prop="createdate" width="100">-->
         <!--<template slot-scope="scope">-->

+ 7 - 6
ui/src/views/pssr/franklinism/index.vue

@@ -239,7 +239,8 @@
     </el-row>
 
     <div style="width: 100%;text-align: center;margin-bottom: 15px">
-      <H2>蒸汽裂解装置现场静电接地/跨接检查确认表</H2>
+      <H2>现场静电接地/跨接检查确认表</H2><br>检查填写要求:检查现场各区域的静电接地/跨接,符合检查内容的要求在检查结果打“√”;不符合要求的打“×”,<br>
+      检查中不符合要求的,必须按照该条检查内容的要求立即整改。如不能立即整改的,请立即汇报相关负责人并采取临时应对措施。
     </div>
 
     <el-table v-loading="loading" :data="franklinismList" @selection-change="handleSelectionChange" :height="clientHeight" border>
@@ -272,11 +273,11 @@
           <span>{{ userFormat(scope.row.confirm2) }}</span>
         </template>
       </el-table-column>
-      <!--<el-table-column label="确认时间" align="center" prop="confirmationDate" width="100">-->
-        <!--<template slot-scope="scope">-->
-          <!--<span>{{ parseTime(scope.row.confirmationDate, '{y}-{m}-{d}') }}</span>-->
-        <!--</template>-->
-      <!--</el-table-column>-->
+      <el-table-column label="确认时间" align="center" prop="confirmationDate" width="100">
+        <template slot-scope="scope">
+          <span>{{ parseTime(scope.row.confirmationDate, '{y}-{m}-{d}') }}</span>
+        </template>
+      </el-table-column>
       <!--<el-table-column label="创建人" align="center" prop="createrCode" :show-overflow-tooltip="true"/>-->
       <!--<el-table-column label="创建时间" align="center" prop="createdate" width="100">-->
         <!--<template slot-scope="scope">-->

+ 7 - 1
ui/src/views/pssr/gasdetector/index.vue

@@ -248,7 +248,13 @@
     </el-row>
 
     <div style="width: 100%;text-align: center;margin-bottom: 15px">
-      <H2>蒸汽裂解装置现场气体检测器检查确认清单</H2>
+      <H2>现场气体检测器检查确认清单</H2><br>
+      检查要求:<br>
+      1.外观检查:气体检测器外观检查完好,无破损;标识位号清晰;电缆无破损,连接正常。现场检查符合要求的,在“外观检查”项中打”✔“,不符合打“×”。<br>
+      2.防雨罩检查:防雨罩外观无变形腐蚀,固定安装,无松动。现场检查符合要求的,在“防雨罩检查”项中打”✔“,不符合打“×”。<br>
+      3.显示检查:气体检测器显示屏无破损,数值显示正常。现场检查符合要求的,在“显示检查”项中打”✔“,不符合打“×”。<br>
+      以上检查中不符合要求的,必须按照该条检查内容的要求立即整改。如不能立即整改的,请立即汇报相关负责人并采取临时应对措施。
+
     </div>
 
     <el-table v-loading="loading" :data="gasdetectorList" @selection-change="handleSelectionChange" :height="clientHeight" border>

+ 4 - 1
ui/src/views/pssr/hygiene/index.vue

@@ -212,7 +212,10 @@
     </el-row>
 
     <div style="width: 100%;text-align: center;margin-bottom: 15px">
-      <H2>蒸汽裂解装置现场卫生检查表</H2>
+      <H2>现场卫生检查表</H2>
+      <br>
+      填写要求:现场卫生符合检查内容要求的,在检查结果中打“✔”,不符合打“×”。<br>
+      如果检查不符合,并联系相关责任人按照该条检查内容的要求进行整改。如不能立即整改的,请立即汇报相关负责人并采取临时应对措施。
     </div>
 
     <el-table v-loading="loading" :data="hygieneList" @selection-change="handleSelectionChange" :height="clientHeight" border>

+ 7 - 2
ui/src/views/pssr/instrumentCalibration/index.vue

@@ -258,7 +258,12 @@
     </el-row>
 
     <div style="width: 100%;text-align: center;margin-bottom: 15px">
-      <H2>蒸汽裂解装置现场流量计检修完工检查确认清单</H2>
+      <H2>现场流量计检修完工检查确认清单</H2><br>检查要求:<br>
+      1.外观检查:流量计外观检查无明显瑕疵,设备完整良好;仪表位号牌齐全。现场检查符合要求的,在“外观检查”项中打”✔“,不符合打“×”。<br>
+      2.安装检查:流量计回装位置正确。现场检查符合要求的,在“安装检查”项中打”✔“,不符合打“×”。<br>
+      3.功能检查:流量计校验完成,功能完好;一次阀已经投用,具备使用条件。现场检查符合要求的,在“功能检查”项中打”✔“,不符合打“×”。<br>
+      以上检查中不符合要求的,必须按照该条检查内容的要求立即整改。如不能立即整改的,请立即汇报相关负责人并采取临时应对措施。
+
     </div>
 
     <el-table v-loading="loading" :data="instrumentCalibrationList" @selection-change="handleSelectionChange" :height="clientHeight" border>
@@ -310,7 +315,7 @@
           <!--<span>{{ parseTime(scope.row.updatedate, '{y}-{m}-{d}') }}</span>-->
         <!--</template>-->
       <!--</el-table-column>-->
-      <el-table-column label="部门编号" align="center" prop="deptId" :show-overflow-tooltip="true"/>
+<!--      <el-table-column label="部门编号" align="center" prop="deptId" :show-overflow-tooltip="true"/>-->
       <el-table-column label="备注" align="center" prop="remarks" :show-overflow-tooltip="true"/>
       <el-table-column label="操作" align="center" fixed="right" width="120" class-name="small-padding fixed-width" v-if="isApprove==0">
         <template slot-scope="scope">

+ 5 - 0
ui/src/views/pssr/laboratory/index.vue

@@ -245,6 +245,11 @@
 
     <div style="width: 100%;text-align: center;margin-bottom: 15px">
       <H2>实验室仪器检查确认清单</H2>
+      <br>
+      1.外观检查:仪器的外观无变形损坏,设备完好;系统连接正确。检查符合要求的,在“外观检查”项中打”✔“,不符合打“×”。<br>
+      2.功能检查:仪器校验合格,在有效期内;功能正常,具备使用条件。检查符合要求的,在“功能检查”项中打”✔“,不符合打“×”。<br>
+      以上检查中不符合要求的,必须按照该条检查内容的要求立即整改。如不能立即整改的,请立即汇报相关负责人并采取临时应对措施。
+
     </div>
 
     <el-table v-loading="loading" :data="laboratoryList" @selection-change="handleSelectionChange" :height="clientHeight" border>

+ 6 - 2
ui/src/views/pssr/lighting/index.vue

@@ -240,8 +240,12 @@
     </el-row>
 
     <div style="width: 100%;text-align: center;margin-bottom: 15px">
-      <H2 v-if="lightingType == 1">蒸汽裂解装置现场照明检查确认表</H2>
-      <H2 v-if="lightingType == 2">蒸汽裂解装置现场电伴热检查确认表</H2>
+      <H2 v-if="lightingType == 1">现场照明检查确认表</H2>
+      <H2 v-if="lightingType == 2">现场电伴热检查确认表</H2>
+      <span v-if="lightingType == 2">检查填写要求:检查现场各区域的电伴热,符合检查内容的要求在检查结果打“√”;不符合要求的打“×”,<br>
+检查中不符合要求的,必须按照该条检查内容的要求立即整改。如不能立即整改的,请立即汇报相关负责人并采取临时应对措施。</span>
+      <span v-if="lightingType == 1">检查填写要求:检查现场各区域的照明设备,符合检查内容的要求在检查结果打“√”;不符合要求的打“×”,<br>
+检查中不符合要求的,必须按照该条检查内容的要求立即整改。如不能立即整改的,请立即汇报相关负责人并采取临时应对措施。</span>
     </div>
 
     <el-table v-loading="loading" :data="lightingList" @selection-change="handleSelectionChange" :height="clientHeight" border>

+ 1 - 3
ui/src/views/pssr/lock/index.vue

@@ -130,9 +130,7 @@
     </el-row>
 
     <div style="width: 100%;text-align: center;margin-bottom: 15px">
-      <H2>锁开锁关检查记录表</H2>
-      <h3>&af;</h3>
-      <span>检查要求:检查上锁位置和PID以及清单上描述的位置是否一致正确;阀门状态和PID标注状态描述是否一致正确;锁开锁关是否紧固;锁体和链条是否无损坏;是(√),否(×),不符合要求的立即联系责任人整改。</span>
+      <H2>锁开锁关的完整性检查表</H2>
     </div>
     <el-table v-loading="loading" :data="lockList" @selection-change="handleSelectionChange"
                :height="clientHeight"

+ 7 - 0
ui/src/views/pssr/material/index.vue

@@ -148,6 +148,13 @@
       <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
     </el-row>
 
+    <div style="width: 100%;text-align: center;margin-bottom: 15px">
+      <h2>开车物料确认清单</h2>
+      <br>
+      <span>1.  以上蒸汽裂解装置开车时所需要的物料经确认全部都已获得或具备获得条件,确认人签字。</span><br>
+      <span>2.  如果某些物料没有获得或不具备获得条件,请及时联系相关责任人按要求进行整改。</span>
+    </div>
+
     <el-table v-loading="loading" :data="materialList" @selection-change="handleSelectionChange" :height="clientHeight"
               border>
       <el-table-column type="selection" width="55" align="center"/>

+ 6 - 1
ui/src/views/pssr/materialRaw/index.vue

@@ -148,7 +148,12 @@
       </el-col>
       <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
     </el-row>
-
+    <div style="width: 100%;text-align: center;margin-bottom: 15px">
+      <h2>开车物料确认清单</h2>
+      <br>
+      <span>1.  以上蒸汽裂解装置开车时所需要的物料经确认全部都已获得或具备获得条件,确认人签字。</span><br>
+      <span>2.  如果某些物料没有获得或不具备获得条件,请及时联系相关责任人按要求进行整改。</span>
+    </div>
     <el-table v-loading="loading" :data="materialRawList" @selection-change="handleSelectionChange"
               :height="clientHeight"
               border>

+ 2 - 1
ui/src/views/pssr/measure/index.vue

@@ -123,7 +123,8 @@
     <div style="width: 100%;text-align: center;margin-bottom: 15px">
       <h2>现场管道和设备保温防护检查表</h2>
       <br>
-      <span>填写要求:现场转动设备的防护装置符合检查内容要求的在检查项中打“✔”,不符合打“×”,如果检查不符合,并联系相关责任人按照该条检查内容的要求进行整改。如不能立即整改的,请立即汇报相关负责人并采取临时应对措施。</span>
+      <span>填写要求:现场转动设备的防护装置符合检查内容要求的在检查项中打“✔”,不符合打“×”。<br>
+        如果检查不符合,并联系相关责任人按照该条检查内容的要求进行整改。如不能立即整改的,请立即汇报相关负责人并采取临时应对措施。</span>
     </div>
 
     <el-table v-loading="loading" :data="measureList" @selection-change="handleSelectionChange" :height="clientHeight"

+ 7 - 2
ui/src/views/pssr/motor/index.vue

@@ -248,7 +248,12 @@
     </el-row>
 
     <div style="width: 100%;text-align: center;margin-bottom: 15px">
-      <H2>蒸汽裂解装置现场设备电机检查确认清单</H2>
+      <H2>现场设备电机检查确认清单</H2>
+      <br>
+      检查要求:<br>
+      1.外观检查:设备的电机外观检查无变形锈蚀,设备完整良好;电机电缆完好,敷设合理,连接正确。现场检查符合要求的,在“外观检查”项中打”✔“,不符合打“×”。<br>
+      2.功能检查:设备的电机试验合格;送电完成,具备投用条件。现场检查符合要求的,在“功能检查”项中打”✔“,不符合打“×”。<br>
+      以上检查中不符合要求的,必须按照该条检查内容的要求立即整改。如不能立即整改的,请立即汇报相关负责人并采取临时应对措施。
     </div>
 
     <el-table v-loading="loading" :data="motorList" @selection-change="handleSelectionChange" :height="clientHeight" border>
@@ -282,7 +287,7 @@
           <span>{{ userFormat(scope.row.confirm2) }}</span>
         </template>
       </el-table-column>
-      <el-table-column label="检查时间" align="center" prop="confirmationDate" width="100">
+      <el-table-column label="确认时间" align="center" prop="confirmationDate" width="100">
         <template slot-scope="scope">
           <span>{{ parseTime(scope.row.confirmationDate, '{y}-{m}-{d}') }}</span>
         </template>

+ 1 - 1
ui/src/views/pssr/nitrogen/index.vue

@@ -136,7 +136,7 @@
       <el-table-column label="采样日期" align="center" prop="samplingDate" :show-overflow-tooltip="true"/>
       <el-table-column label="样品名称" align="center" prop="sampleName" :show-overflow-tooltip="true"/>
       <el-table-column label="氧气(%vol)" align="center" prop="oxygen" :show-overflow-tooltip="true"/>
-      <el-table-column label="合格" align="center" prop="standard" :show-overflow-tooltip="true"/>
+      <el-table-column label="合格(是/否)" align="center" prop="standard" :show-overflow-tooltip="true"/>
       <el-table-column label="确认人1" align="center" prop="confirm1" :show-overflow-tooltip="true">
         <template slot-scope="scope">
           <span>{{ userFormat(scope.row.confirm1) }}</span>

+ 1 - 1
ui/src/views/pssr/overhaulExchanger/index.vue

@@ -155,7 +155,7 @@
       <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
     </el-row>
     <div style="width: 100%;text-align: center;margin-bottom: 15px">
-      <H2>蒸汽裂解装置换热器检修清单</H2>
+      <H2>换热器检修清单</H2>
     </div>
     <el-table v-loading="loading" :data="overhaulExchangerList" @selection-change="handleSelectionChange"
               :height="clientHeight" border>

+ 1 - 1
ui/src/views/pssr/overhaulFilter/index.vue

@@ -138,7 +138,7 @@
       <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
     </el-row>
     <div style="width: 100%;text-align: center;margin-bottom: 15px">
-      <H2>蒸汽裂解装置过滤器清洗工作清单</H2>
+      <H2>过滤器清洗工作清单</H2>
     </div>
     <el-table v-loading="loading" :data="overhaulFilterList" @selection-change="handleSelectionChange"
               :height="clientHeight" border>

+ 1 - 1
ui/src/views/pssr/overhaulPipe/index.vue

@@ -120,7 +120,7 @@
       <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
     </el-row>
     <div style="width: 100%;text-align: center;margin-bottom: 15px">
-      <H2>蒸汽裂解装置管线更换清单</H2>
+      <H2>管线更换清单</H2>
     </div>
     <el-table v-loading="loading" :data="overhaulPipeList" @selection-change="handleSelectionChange"
               :height="clientHeight" border>

+ 1 - 1
ui/src/views/pssr/overhaulPump/index.vue

@@ -129,7 +129,7 @@
       <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
     </el-row>
     <div style="width: 100%;text-align: center;margin-bottom: 15px">
-      <H2>蒸汽裂解装置泵更换清单</H2>
+      <H2>泵更换清单</H2>
     </div>
     <el-table v-loading="loading" :data="overhaulPumpList" @selection-change="handleSelectionChange"
               :height="clientHeight" border>

+ 1 - 1
ui/src/views/pssr/overhaulTower/index.vue

@@ -140,7 +140,7 @@
     </el-row>
 
     <div style="width: 100%;text-align: center;margin-bottom: 15px">
-      <H2>蒸汽裂解装置塔罐检修清单</H2>
+      <H2>塔罐检修清单</H2>
     </div>
     <el-table v-loading="loading" :data="overhaulTowerList" @selection-change="handleSelectionChange"
               :height="clientHeight" border>

+ 1 - 1
ui/src/views/pssr/overhaulValve/index.vue

@@ -137,7 +137,7 @@
     </el-row>
 
     <div style="width: 100%;text-align: center;margin-bottom: 15px">
-      <H2>蒸汽裂解装置阀门更换、下线维修清单</H2>
+      <H2>阀门更换、下线维修清单</H2>
     </div>
     <el-table v-loading="loading" :data="overhaulValveList" @selection-change="handleSelectionChange"
               :height="clientHeight" border>

+ 9 - 6
ui/src/views/pssr/power/index.vue

@@ -217,7 +217,10 @@
     </el-row>
 
     <div style="width: 100%;text-align: center;margin-bottom: 15px">
-      <H2>蒸汽裂解装置现场临时电源检查确认表</H2>
+      <H2>现场临时电源检查确认表</H2>
+      <br>
+      检查填写要求:检查现场各区域电源插座,符合检查内容的要求在检查结果打“√”;不符合要求的打“×”,<br>
+      检查中不符合要求的,必须按照该条检查内容的要求立即整改。如不能立即整改的,请立即汇报相关负责人并采取临时应对措施。
     </div>
 
     <el-table v-loading="loading" :data="powerList" @selection-change="handleSelectionChange" :height="clientHeight" border>
@@ -235,11 +238,6 @@
       </el-table-column>
       <el-table-column label="检查内容" align="center" prop="checkContent" :show-overflow-tooltip="true"/>
       <el-table-column label="检查结果" align="center" prop="checkResult" :show-overflow-tooltip="true"/>
-      <el-table-column label="确认时间" align="center" prop="confirmationDate" width="100">
-        <template slot-scope="scope">
-          <span>{{ parseTime(scope.row.confirmationDate, '{y}-{m}-{d}') }}</span>
-        </template>
-      </el-table-column>
       <el-table-column label="确认人1" align="center" prop="confirm1" :show-overflow-tooltip="true"
                        width="150">
         <template slot-scope="scope">
@@ -252,6 +250,11 @@
           <span>{{ userFormat(scope.row.confirm2) }}</span>
         </template>
       </el-table-column>
+      <el-table-column label="确认时间" align="center" prop="confirmationDate" width="100">
+        <template slot-scope="scope">
+          <span>{{ parseTime(scope.row.confirmationDate, '{y}-{m}-{d}') }}</span>
+        </template>
+      </el-table-column>
       <!--<el-table-column label="创建人" align="center" prop="createrCode" :show-overflow-tooltip="true"/>-->
       <!--<el-table-column label="创建时间" align="center" prop="createdate" width="100">-->
         <!--<template slot-scope="scope">-->

+ 422 - 279
ui/src/views/pssr/programme/index.vue

@@ -1,103 +1,6 @@
 <template>
   <div class="app-container">
     <el-form :model="queryParams" ref="queryForm" :inline="true" v-show="showSearch" label-width="68px">
-      <el-form-item label="从表id" prop="subId">
-        <el-input
-          v-model="queryParams.subId"
-          placeholder="请输入从表id"
-          clearable
-          size="small"
-          @keyup.enter.native="handleQuery"
-        />
-      </el-form-item>
-      <el-form-item label="审批id" prop="approveId">
-        <el-input
-          v-model="queryParams.approveId"
-          placeholder="请输入审批id"
-          clearable
-          size="small"
-          @keyup.enter.native="handleQuery"
-        />
-      </el-form-item>
-      <el-form-item label="培训表id" prop="trainingId">
-        <el-input
-          v-model="queryParams.trainingId"
-          placeholder="请输入培训表id"
-          clearable
-          size="small"
-          @keyup.enter.native="handleQuery"
-        />
-      </el-form-item>
-      <el-form-item label="附件地址" prop="fileUrl">
-        <el-input
-          v-model="queryParams.fileUrl"
-          placeholder="请输入附件地址"
-          clearable
-          size="small"
-          @keyup.enter.native="handleQuery"
-        />
-      </el-form-item>
-      <el-form-item label="附件名称" prop="fileName">
-        <el-input
-          v-model="queryParams.fileName"
-          placeholder="请输入附件名称"
-          clearable
-          size="small"
-          @keyup.enter.native="handleQuery"
-        />
-      </el-form-item>
-      <el-form-item label="创建人" prop="createrCode">
-        <el-input
-          v-model="queryParams.createrCode"
-          placeholder="请输入创建人"
-          clearable
-          size="small"
-          @keyup.enter.native="handleQuery"
-        />
-      </el-form-item>
-      <el-form-item label="创建时间" prop="createdate">
-        <el-date-picker clearable size="small" style="width: 200px"
-          v-model="queryParams.createdate"
-          type="date"
-          value-format="yyyy-MM-dd"
-          placeholder="选择创建时间">
-        </el-date-picker>
-      </el-form-item>
-      <el-form-item label="修改人" prop="updaterCode">
-        <el-input
-          v-model="queryParams.updaterCode"
-          placeholder="请输入修改人"
-          clearable
-          size="small"
-          @keyup.enter.native="handleQuery"
-        />
-      </el-form-item>
-      <el-form-item label="修改时间" prop="updatedate">
-        <el-date-picker clearable size="small" style="width: 200px"
-          v-model="queryParams.updatedate"
-          type="date"
-          value-format="yyyy-MM-dd"
-          placeholder="选择修改时间">
-        </el-date-picker>
-      </el-form-item>
-      <el-form-item label="部门编号" prop="deptId">
-        <el-input
-          v-model="queryParams.deptId"
-          placeholder="请输入部门编号"
-          clearable
-          size="small"
-          @keyup.enter.native="handleQuery"
-        />
-      </el-form-item>
-      <el-form-item label="备注" prop="remarks">
-        <el-input
-          v-model="queryParams.remarks"
-          placeholder="请输入备注"
-          clearable
-          size="small"
-          @keyup.enter.native="handleQuery"
-        />
-      </el-form-item>
       <el-form-item>
         <el-button type="cyan" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
         <el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
@@ -108,11 +11,13 @@
       <el-col :span="1.5">
         <el-button
           type="primary"
-          icon="el-icon-plus"
+          icon="el-icon-upload"
           size="mini"
-          @click="handleAdd"
           v-hasPermi="['pssr:programme:add']"
-        >新增</el-button>
+          @click="handleDoc"
+          v-if="isApprove==0"
+        >附件
+        </el-button>
       </el-col>
       <el-col :span="1.5">
         <el-button
@@ -122,7 +27,9 @@
           :disabled="single"
           @click="handleUpdate"
           v-hasPermi="['pssr:programme:edit']"
-        >修改</el-button>
+          v-if="isApprove==0"
+        >修改
+        </el-button>
       </el-col>
       <el-col :span="1.5">
         <el-button
@@ -132,17 +39,21 @@
           :disabled="multiple"
           @click="handleDelete"
           v-hasPermi="['pssr:programme:remove']"
-        >删除</el-button>
+          v-if="isApprove==0"
+        >删除
+        </el-button>
+      </el-col>
+      <el-col :span="1.5">
+        <el-button
+          type="info"
+          icon="el-icon-upload2"
+          size="mini"
+          @click="handleImport"
+          v-hasPermi="['pssr:programme:edit']"
+          v-if="isApprove==0"
+        >导入
+        </el-button>
       </el-col>
-        <el-col :span="1.5">
-            <el-button
-                    type="info"
-                    icon="el-icon-upload2"
-                    size="mini"
-                    @click="handleImport"
-                    v-hasPermi="['pssr:programme:edit']"
-            >导入</el-button>
-        </el-col>
       <el-col :span="1.5">
         <el-button
           type="warning"
@@ -150,34 +61,87 @@
           size="mini"
           @click="handleExport"
           v-hasPermi="['pssr:programme:export']"
-        >导出</el-button>
+          v-if="isApprove==0"
+        >导出
+        </el-button>
+      </el-col>
+      <el-col :span="1.5">
+        <el-button
+          type="success"
+          icon="el-icon-s-promotion"
+          size="mini"
+          @click="handleApprove"
+          v-if="isApprove==0"
+          v-hasPermi="['pssr:programme:edit']"
+        >发起审批
+        </el-button>
+      </el-col>
+      <el-col :span="1.5">
+        <el-button
+          type="primary"
+          icon="el-icon-check"
+          size="mini"
+          v-if="isApprove==4||isApprove==5"
+          @click="handleConfirmApprove"
+          v-hasPermi="['pssr:programme:edit']"
+        >确认
+        </el-button>
       </el-col>
-	  <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
+      <el-col :span="1.5">
+        <el-button
+          type="danger"
+          icon="el-icon-refresh-left"
+          size="mini"
+          v-if="isApprove==2"
+          :disabled="multiple"
+          @click="handleTurnDown"
+          v-hasPermi="['pssr:programme:edit']"
+        >驳回
+        </el-button>
+      </el-col>
+      <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
     </el-row>
 
-    <el-table v-loading="loading" :data="programmeList" @selection-change="handleSelectionChange" :height="clientHeight" border>
-      <el-table-column type="selection" width="55" align="center" />
-      <el-table-column label="唯一标识ID" align="center" prop="id" :show-overflow-tooltip="true"/>
-      <el-table-column label="从表id" align="center" prop="subId" :show-overflow-tooltip="true"/>
-      <el-table-column label="审批id" align="center" prop="approveId" :show-overflow-tooltip="true"/>
-      <el-table-column label="培训表id" align="center" prop="trainingId" :show-overflow-tooltip="true"/>
-      <el-table-column label="附件地址" align="center" prop="fileUrl" :show-overflow-tooltip="true"/>
-      <el-table-column label="附件名称" align="center" prop="fileName" :show-overflow-tooltip="true"/>
-      <el-table-column label="创建人" align="center" prop="createrCode" :show-overflow-tooltip="true"/>
-      <el-table-column label="创建时间" align="center" prop="createdate" width="100">
+    <div style="width: 100%;text-align: center;margin-bottom: 15px">
+      <h2>蒸汽裂解装置开工方案完成确认表</h2>
+      <br>
+      <span>备注:检查确认装置开工方案已经编写完成并核准,相关员工培训完成。填写“Y”表示已完成,“N"表示未完成,“NA"表示不适用。</span>
+    </div>
+
+    <el-table v-loading="loading" :data="programmeList" @selection-change="handleSelectionChange" :height="clientHeight"
+              border>
+      <el-table-column type="selection" width="55" align="center"/>
+      <el-table-column label="审批状态" align="center" prop="approveStatus" :show-overflow-tooltip="true">
+        <template slot-scope="scope">
+          <el-tag v-if="scope.row.approveStatus==0">未审批</el-tag>
+          <el-tag v-if="scope.row.approveStatus==1" type="warning">待确认</el-tag>
+          <el-tag v-if="scope.row.approveStatus==3" type="success">已确认1</el-tag>
+          <el-tag v-if="scope.row.approveStatus==2" type="success">已确认2</el-tag>
+        </template>
+      </el-table-column>
+      <el-table-column label="单元" align="center" prop="unit" :show-overflow-tooltip="true"/>
+      <el-table-column label="标题" align="center" prop="fileName" :show-overflow-tooltip="true">
         <template slot-scope="scope">
-          <span>{{ parseTime(scope.row.createdate, '{y}-{m}-{d}') }}</span>
+          <a class="link-type" @click="handleDownload(scope.row)">
+            <span>{{ scope.row.fileName }}</span>
+          </a>
         </template>
       </el-table-column>
-      <el-table-column label="修改人" align="center" prop="updaterCode" :show-overflow-tooltip="true"/>
-      <el-table-column label="修改时间" align="center" prop="updatedate" width="100">
+      <el-table-column label="编写完成" align="center" prop="writeDone" :show-overflow-tooltip="true"/>
+      <el-table-column label="核准完成" align="center" prop="checkDone" :show-overflow-tooltip="true"/>
+      <el-table-column label="培训完成" align="center" prop="trainDone" :show-overflow-tooltip="true"/>
+      <el-table-column label="确认人1" align="center" prop="confirm1" :show-overflow-tooltip="true">
         <template slot-scope="scope">
-          <span>{{ parseTime(scope.row.updatedate, '{y}-{m}-{d}') }}</span>
+          <span>{{ userFormat(scope.row.confirm1) }}</span>
+        </template>
+      </el-table-column>
+      <el-table-column label="确认人2" align="center" prop="confirm2" :show-overflow-tooltip="true">
+        <template slot-scope="scope">
+          <span>{{ userFormat(scope.row.confirm2) }}</span>
         </template>
       </el-table-column>
-      <el-table-column label="部门编号" align="center" prop="deptId" :show-overflow-tooltip="true"/>
       <el-table-column label="备注" align="center" prop="remarks" :show-overflow-tooltip="true"/>
-      <el-table-column label="操作" align="center" fixed="right" width="120" class-name="small-padding fixed-width">
+      <el-table-column label="操作" align="center" v-if="isApprove==0" class-name="small-padding fixed-width">
         <template slot-scope="scope">
           <el-button
             size="mini"
@@ -185,14 +149,16 @@
             icon="el-icon-edit"
             @click="handleUpdate(scope.row)"
             v-hasPermi="['pssr:programme:edit']"
-          >修改</el-button>
+          >修改
+          </el-button>
           <el-button
             size="mini"
             type="text"
             icon="el-icon-delete"
             @click="handleDelete(scope.row)"
             v-hasPermi="['pssr:programme:remove']"
-          >删除</el-button>
+          >删除
+          </el-button>
         </template>
       </el-table-column>
     </el-table>
@@ -208,105 +174,153 @@
     <!-- 添加或修改开工方案对话框 -->
     <el-dialog :close-on-click-modal="false" :title="title" :visible.sync="open" width="500px" append-to-body>
       <el-form ref="form" :model="form" :rules="rules" label-width="80px">
-        <el-form-item label="从表id" prop="subId">
-          <el-input v-model="form.subId" placeholder="请输入从表id" />
-        </el-form-item>
-        <el-form-item label="审批id" prop="approveId">
-          <el-input v-model="form.approveId" placeholder="请输入审批id" />
+        <el-form-item label="单元" prop="unit">
+          <el-input v-model="form.unit" placeholder="请输入单元"/>
         </el-form-item>
-        <el-form-item label="培训表id" prop="trainingId">
-          <el-input v-model="form.trainingId" placeholder="请输入培训表id" />
+        <el-form-item label="标题" prop="fileName">
+          <el-input v-model="form.fileName" disabled placeholder="请输入附件名称"/>
         </el-form-item>
-        <el-form-item label="附件地址" prop="fileUrl">
-          <el-input v-model="form.fileUrl" placeholder="请输入附件地址" />
+        <el-form-item label="编写完成" prop="writeDone">
+          <el-radio v-model="form.writeDone" label="是">是</el-radio>
+          <el-radio v-model="form.writeDone" label="否">否</el-radio>
         </el-form-item>
-        <el-form-item label="附件名称" prop="fileName">
-          <el-input v-model="form.fileName" placeholder="请输入附件名称" />
+        <el-form-item label="核准完成" prop="checkDone">
+          <el-radio v-model="form.checkDone" label="是">是</el-radio>
+          <el-radio v-model="form.checkDone" label="否">否</el-radio>
         </el-form-item>
-        <el-form-item label="删除状态" prop="delFlag">
-          <el-input v-model="form.delFlag" placeholder="请输入删除状态" />
+        <el-form-item label="培训完成" prop="trainDone">
+          <el-radio v-model="form.trainDone" label="是">是</el-radio>
+          <el-radio v-model="form.trainDone" label="否">否</el-radio>
         </el-form-item>
-        <el-form-item label="创建人" prop="createrCode">
-          <el-input v-model="form.createrCode" placeholder="请输入创建人" />
+        <el-form-item label="关联培训" prop="trainingId">
+          <el-select v-model="form.trainingId" filterable placeholder="请选择培训">
+            <el-option v-for="item in trainingOptions"
+                       :label="item.course"
+                       :value="item.id"
+                       :key="item.id"/>
+          </el-select>
         </el-form-item>
-        <el-form-item label="创建时间" prop="createdate">
-          <el-date-picker clearable size="small" style="width: 200px"
-            v-model="form.createdate"
-            type="date"
-            value-format="yyyy-MM-dd"
-            placeholder="选择创建时间">
-          </el-date-picker>
+        <el-form-item label="确认人1" prop="confirm1">
+          <el-select v-model="form.confirm1" filterable placeholder="请选择确认人1">
+            <el-option v-for="user in userOptions"
+                       :label="user.nickName"
+                       :value="user.userId+''"
+                       :key="user.userId"/>
+          </el-select>
         </el-form-item>
-        <el-form-item label="修改人" prop="updaterCode">
-          <el-input v-model="form.updaterCode" placeholder="请输入修改人" />
-        </el-form-item>
-        <el-form-item label="修改时间" prop="updatedate">
-          <el-date-picker clearable size="small" style="width: 200px"
-            v-model="form.updatedate"
-            type="date"
-            value-format="yyyy-MM-dd"
-            placeholder="选择修改时间">
-          </el-date-picker>
-        </el-form-item>
-        <el-form-item label="部门编号" prop="deptId">
-          <el-input v-model="form.deptId" placeholder="请输入部门编号" />
+        <el-form-item label="确认人2" prop="confirm2">
+          <el-select v-model="form.confirm2" filterable placeholder="请选择确认人2">
+            <el-option v-for="user in userOptions"
+                       :label="user.nickName"
+                       :value="user.userId+''"
+                       :key="user.userId"/>
+          </el-select>
         </el-form-item>
         <el-form-item label="备注" prop="remarks">
-          <el-input v-model="form.remarks" placeholder="请输入备注" />
+          <el-input v-model="form.remarks" placeholder="请输入备注"/>
         </el-form-item>
-          <el-form-item label="归属部门" prop="deptId">
-              <treeselect v-model="form.deptId" :options="deptOptions" :show-count="true" placeholder="请选择归属部门" />
-          </el-form-item>
       </el-form>
       <div slot="footer" class="dialog-footer">
         <el-button type="primary" @click="submitForm">确 定</el-button>
         <el-button @click="cancel">取 消</el-button>
       </div>
     </el-dialog>
-      <!-- 用户导入对话框 -->
-      <el-dialog :close-on-click-modal="false" :title="upload.title" :visible.sync="upload.open" width="400px" append-to-body>
-          <el-upload
-                  ref="upload"
-                  :limit="1"
-                  accept=".xlsx, .xls"
-                  :headers="upload.headers"
-                  :action="upload.url + '?updateSupport=' + upload.updateSupport"
-                  :disabled="upload.isUploading"
-                  :on-progress="handleFileUploadProgress"
-                  :on-success="handleFileSuccess"
-                  :auto-upload="false"
-                  drag
-          >
-              <i class="el-icon-upload"></i>
-              <div class="el-upload__text">
-                  将文件拖到此处,或
-                  <em>点击上传</em>
-              </div>
-              <div class="el-upload__tip" slot="tip">
-                  <el-checkbox v-model="upload.updateSupport" />是否更新已经存在的用户数据
-                  <el-link type="info" style="font-size:12px" @click="importTemplate">下载模板</el-link>
-              </div>
-              <div class="el-upload__tip" style="color:red" slot="tip">提示:仅允许导入“xls”或“xlsx”格式文件!</div>
-          </el-upload>
-          <div slot="footer" class="dialog-footer">
-              <el-button type="primary" @click="submitFileForm">确 定</el-button>
-              <el-button @click="upload.open = false">取 消</el-button>
-          </div>
-      </el-dialog>
+
+    <!-- 附件对话框 -->
+    <el-dialog :close-on-click-modal="false" v-dialogDrag :title="doc.title" :visible.sync="doc.open"
+               append-to-body width="500px" style="text-align: center">
+      <el-upload
+        ref="doc"
+        :limit="50"
+        :headers="doc.headers"
+        :action="doc.url + '?subId=' + subId "
+        :disabled="doc.isUploading"
+        :on-progress="handleFileDocProgress"
+        :on-success="handleFileDocSuccess"
+        :auto-upload="true"
+        drag
+      >
+        <i class="el-icon-upload"></i>
+        <div class="el-upload__text">
+          将文件拖到此处,或
+          <em>点击上传</em>
+        </div>
+      </el-upload>
+
+      <div slot="footer" class="dialog-footer">
+        <el-button @click="doc.open = false">返 回</el-button>
+      </div>
+    </el-dialog>
+
+    <el-dialog :close-on-click-modal="false" 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">新页面打开PDF</el-button>
+      </div>
+      <div style="margin-top: -30px">
+        <iframe :src="pdf.pdfUrl" frameborder="0" width="100%" height="700px"></iframe>
+      </div>
+    </el-dialog>
+
+    <!-- 用户导入对话框 -->
+    <el-dialog :close-on-click-modal="false" :title="upload.title" :visible.sync="upload.open" width="400px"
+               append-to-body>
+      <el-upload
+        ref="upload"
+        :limit="1"
+        accept=".xlsx, .xls"
+        :headers="upload.headers"
+        :action="upload.url + '?updateSupport=' + upload.updateSupport"
+        :disabled="upload.isUploading"
+        :on-progress="handleFileUploadProgress"
+        :on-success="handleFileSuccess"
+        :auto-upload="false"
+        drag
+      >
+        <i class="el-icon-upload"></i>
+        <div class="el-upload__text">
+          将文件拖到此处,或
+          <em>点击上传</em>
+        </div>
+        <div class="el-upload__tip" slot="tip">
+          <el-checkbox v-model="upload.updateSupport"/>
+          是否更新已经存在的用户数据
+          <el-link type="info" style="font-size:12px" @click="importTemplate">下载模板</el-link>
+        </div>
+        <div class="el-upload__tip" style="color:red" slot="tip">提示:仅允许导入“xls”或“xlsx”格式文件!</div>
+      </el-upload>
+      <div slot="footer" class="dialog-footer">
+        <el-button type="primary" @click="submitFileForm">确 定</el-button>
+        <el-button @click="upload.open = false">取 消</el-button>
+      </div>
+    </el-dialog>
   </div>
 </template>
 
 <script>
-import { listProgramme, getProgramme, delProgramme, addProgramme, updateProgramme, exportProgramme, importTemplate} from "@/api/pssr/programme";
-import { treeselect } from "@/api/system/dept";
-import { getToken } from "@/utils/auth";
+import {
+  addProgramme,
+  delProgramme,
+  exportProgramme,
+  getProgramme,
+  handleConfirmProgramme,
+  handleTurnDownProgramme,
+  importTemplate,
+  listProgramme,
+  updateProgramme
+} from "@/api/pssr/programme";
+import {treeselect} from "@/api/system/dept";
+import {getToken} from "@/utils/auth";
 import Treeselect from "@riophae/vue-treeselect";
 import "@riophae/vue-treeselect/dist/vue-treeselect.css";
+import {doApprove} from "@/api/pssr/approve";
+import {listUserNoPage} from "@/api/system/user";
+import {listTrainingbcc} from "@/api/training/trainingbcc";
 
 export default {
-  dicts:['pssr_approve_status'],
+  dicts: ['pssr_approve_status'],
   name: "Programme",
-  components: { Treeselect },
+  components: {Treeselect},
   props: {
     subId: {
       type: Number,
@@ -319,6 +333,37 @@ export default {
   },
   data() {
     return {
+      doc: {
+        file: "",
+        // 是否显示弹出层(报告附件)
+        open: false,
+        // 弹出层标题(报告附件)
+        title: "附件",
+        // 是否禁用上传
+        isUploading: false,
+        // 是否更新已经存在的用户数据
+        updateSupport: 0,
+        // 报告附件上传位置编号
+        ids: 0,
+        // 设置上传的请求头部
+        headers: {Authorization: "Bearer " + getToken()},
+        // 上传的地址
+        url: process.env.VUE_APP_BASE_API + "/pssr/programme/uploadFile",
+        commonfileList: null,
+        pId: null,
+        form: {}
+      },
+      pdf: {
+        title: '',
+        pdfUrl: '',
+        numPages: null,
+        open: false,
+        pageNum: 1,
+        pageTotalNum: 1,
+        loadedRatio: 0,
+      },
+      userOptions: [],
+      trainingOptions: [],
       // 遮罩层
       loading: true,
       // 选中数组
@@ -337,24 +382,24 @@ export default {
       title: "",
       // 部门树选项
       deptOptions: undefined,
-      clientHeight:300,
+      clientHeight: 300,
       // 是否显示弹出层
       open: false,
-        // 用户导入参数
-        upload: {
-            // 是否显示弹出层(用户导入)
-            open: false,
-            // 弹出层标题(用户导入)
-            title: "",
-            // 是否禁用上传
-            isUploading: false,
-            // 是否更新已经存在的用户数据
-            updateSupport: 0,
-            // 设置上传的请求头部
-            headers: { Authorization: "Bearer " + getToken() },
-            // 上传的地址
-            url: process.env.VUE_APP_BASE_API + "/pssr/programme/importData"
-        },
+      // 用户导入参数
+      upload: {
+        // 是否显示弹出层(用户导入)
+        open: false,
+        // 弹出层标题(用户导入)
+        title: "",
+        // 是否禁用上传
+        isUploading: false,
+        // 是否更新已经存在的用户数据
+        updateSupport: 0,
+        // 设置上传的请求头部
+        headers: {Authorization: "Bearer " + getToken()},
+        // 上传的地址
+        url: process.env.VUE_APP_BASE_API + "/pssr/programme/importData"
+      },
       // 查询参数
       queryParams: {
         pageNum: 1,
@@ -375,22 +420,34 @@ export default {
       form: {},
       // 表单校验
       rules: {
+        confirm1: [
+          {required: true, message: "确认人1不能为空", trigger: "change"}
+        ],
+        confirm2: [
+          {required: true, message: "确认人2不能为空", trigger: "change"}
+        ],
       }
     };
   },
   watch: {
-        // 根据名称筛选部门树
-        deptName(val) {
-            this.$refs.tree.filter(val);
-        }
-   },
+    // 根据名称筛选部门树
+    deptName(val) {
+      this.$refs.tree.filter(val);
+    }
+  },
   created() {
-      //设置表格高度对应屏幕高度
-      this.$nextTick(() => {
-          this.clientHeight = document.body.clientHeight - 350
-      })
+    //设置表格高度对应屏幕高度
+    this.$nextTick(() => {
+      this.clientHeight = document.body.clientHeight - 350
+    })
     this.getList();
     this.getTreeselect();
+    listUserNoPage({}).then(res => {
+      this.userOptions = res.data
+    });
+    listTrainingbcc({isFinish: 1}).then(res => {
+      this.trainingOptions = res.rows
+    });
   },
   methods: {
     /** 查询开工方案列表 */
@@ -402,12 +459,12 @@ export default {
         this.loading = false;
       });
     },
-     /** 查询部门下拉树结构 */
-     getTreeselect() {
-          treeselect().then(response => {
-              this.deptOptions = response.data;
-          });
-     },
+    /** 查询部门下拉树结构 */
+    getTreeselect() {
+      treeselect().then(response => {
+        this.deptOptions = response.data;
+      });
+    },
     // 取消按钮
     cancel() {
       this.open = false;
@@ -445,7 +502,7 @@ export default {
     // 多选框选中数据
     handleSelectionChange(selection) {
       this.ids = selection.map(item => item.id)
-      this.single = selection.length!==1
+      this.single = selection.length !== 1
       this.multiple = !selection.length
     },
     /** 新增按钮操作 */
@@ -488,56 +545,142 @@ export default {
     handleDelete(row) {
       const ids = row.id || this.ids;
       this.$confirm('是否确认删除?', "警告", {
-          confirmButtonText: "确定",
-          cancelButtonText: "取消",
-          type: "warning"
-        }).then(function() {
-          return delProgramme(ids);
-        }).then(() => {
-          this.getList();
-          this.msgSuccess("删除成功");
-        })
+        confirmButtonText: "确定",
+        cancelButtonText: "取消",
+        type: "warning"
+      }).then(function () {
+        return delProgramme(ids);
+      }).then(() => {
+        this.getList();
+        this.msgSuccess("删除成功");
+      })
     },
     /** 导出按钮操作 */
     handleExport() {
       const queryParams = this.queryParams;
       this.$confirm('是否确认导出所有开工方案数据项?', "警告", {
-          confirmButtonText: "确定",
-          cancelButtonText: "取消",
-          type: "warning"
-        }).then(function() {
-          return exportProgramme(queryParams);
-        }).then(response => {
-          this.download(response.msg);
+        confirmButtonText: "确定",
+        cancelButtonText: "取消",
+        type: "warning"
+      }).then(function () {
+        return exportProgramme(queryParams);
+      }).then(response => {
+        this.download(response.msg);
+      })
+    },
+    /** 导入按钮操作 */
+    handleImport() {
+      this.upload.title = "用户导入";
+      this.upload.open = true;
+    },
+    /** 下载模板操作 */
+    importTemplate() {
+      importTemplate().then(response => {
+        this.download(response.msg);
+      });
+    },
+    // 文件上传中处理
+    handleFileUploadProgress(event, file, fileList) {
+      this.upload.isUploading = true;
+    },
+    // 文件上传成功处理
+    handleFileSuccess(response, file, fileList) {
+      this.upload.open = false;
+      this.upload.isUploading = false;
+      this.$refs.upload.clearFiles();
+      this.$alert(response.msg, "导入结果", {dangerouslyUseHTMLString: true});
+      this.getList();
+    },
+    // 提交上传文件
+    submitFileForm() {
+      this.$refs.upload.submit();
+    },
+
+    /** 确认按钮操作*/
+    handleApprove() {
+      doApprove(this.subId).then(res => {
+        this.msgSuccess("已发起确认流程");
+        this.getList();
+      })
+    },
+    handleConfirmApprove() {
+      let data = {
+        ids: this.ids,
+        subId: this.subId,
+        taskType: this.isApprove
+      }
+      handleConfirmProgramme(data).then(res => {
+        this.msgSuccess("确认成功");
+        this.getList()
+        this.$emit('refreshHisList');
+      })
+    },
+    handleTurnDown(val) {
+      this.$prompt('请输入驳回原因', '提示', {
+        confirmButtonText: '确认驳回',
+        cancelButtonText: '取消',
+      }).then(({value}) => {
+        let data = {
+          ids: this.ids,
+          subId: this.subId,
+          remarks: value
+        }
+        handleTurnDownProgramme(data).then(res => {
+          this.msgSuccess("驳回成功");
         })
+      }).catch(() => {
+        this.$message({
+          type: 'info',
+          message: '取消驳回'
+        });
+      });
     },
-      /** 导入按钮操作 */
-      handleImport() {
-          this.upload.title = "用户导入";
-          this.upload.open = true;
-      },
-      /** 下载模板操作 */
-      importTemplate() {
-          importTemplate().then(response => {
-              this.download(response.msg);
-          });
-      },
-      // 文件上传中处理
-      handleFileUploadProgress(event, file, fileList) {
-          this.upload.isUploading = true;
-      },
-      // 文件上传成功处理
-      handleFileSuccess(response, file, fileList) {
-          this.upload.open = false;
-          this.upload.isUploading = false;
-          this.$refs.upload.clearFiles();
-          this.$alert(response.msg, "导入结果", { dangerouslyUseHTMLString: true });
-          this.getList();
-      },
-      // 提交上传文件
-      submitFileForm() {
-          this.$refs.upload.submit();
+    userFormat(userId) {
+      for (let item of this.userOptions) {
+        if (item.userId == userId) {
+          return item.nickName
+        }
       }
+    },
+    /** 报告附件按钮操作 */
+    handleDoc(row, fileType) {
+      this.doc.id = row.id;
+      this.doc.title = this.$t('附件');
+      this.doc.open = true;
+      this.$nextTick(() => {
+        this.$refs.doc.clearFiles()
+      })
+    },
+    //附件上传中处理
+    handleFileDocProgress(event, file, fileList) {
+      this.doc.file = file;
+      this.doc.isUploading = true;
+    },
+    //附件上传成功处理
+    handleFileDocSuccess(response, file, fileList) {
+      this.doc.isUploading = false;
+      this.$alert(response.msg, this.$t('上传结果'), {dangerouslyUseHTMLString: true});
+      this.getList();
+    },
+    // 文件下载处理
+    handleDownload(row) {
+      var name = row.fileName;
+      var url = row.fileUrl;
+      var suffix = url.substring(url.lastIndexOf("."), url.length);
+      const a = document.createElement('a')
+      a.setAttribute('download', name)
+      a.setAttribute('target', '_blank')
+      a.setAttribute('href', process.env.VUE_APP_BASE_API + url)
+      a.click()
+    },
+    openPdf() {
+      window.open(this.pdf.pdfUrl);//path是文件的全路径地址
+    },
+    handleSee(row) {
+      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.fileUrl
+    },
   }
 };
 </script>

+ 1 - 1
ui/src/views/pssr/protection/index.vue

@@ -106,7 +106,7 @@
     <div style="width: 100%;text-align: center;margin-bottom: 15px">
       <h2>现场管道和设备保温防护检查表</h2>
       <br>
-      <span>填写要求:现场管道和设备保温防护符合检查内容要求的,在检查结果中打“✔”,不符合打“×”。</span>
+      <span>填写要求:现场管道和设备保温防护符合检查内容要求的,在检查结果中打“✔”,不符合打“×”。</span><br>
       <span>如果检查不符合,并联系相关责任人按照该条检查内容的要求进行整改。如不能立即整改的,请立即汇报相关负责人并采取临时应对措施。</span>
     </div>
 

+ 2 - 1
ui/src/views/pssr/public/index.vue

@@ -221,7 +221,8 @@
     </el-row>
 
     <div style="width: 100%;text-align: center;margin-bottom: 15px">
-      <H2>蒸汽裂解装置公用工程系统投用确认清单</H2>
+      <H2>公用工程系统投用确认清单</H2><br>填写要求:公用工程系统投用符合检查内容要求的,在检查结果中打“✔”,不符合打“×”。<br>
+      如果检查不符合,并联系相关责任人按照该条检查内容的要求进行整改。如不能立即整改的,请立即汇报相关负责人并采取临时应对措施。
     </div>
 
     <el-table v-loading="loading" :data="publicList" @selection-change="handleSelectionChange" :height="clientHeight" border>

+ 10 - 12
ui/src/views/pssr/pumpCleaning/index.vue

@@ -19,15 +19,6 @@
           @keyup.enter.native="handleQuery"
         />
       </el-form-item>
-      <el-form-item label="P&ID号" prop="pidNo">
-        <el-input
-          v-model="queryParams.pidNo"
-          placeholder="请输入P&ID号"
-          clearable
-          size="small"
-          @keyup.enter.native="handleQuery"
-        />
-      </el-form-item>
       <el-form-item>
         <el-button type="cyan" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
         <el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
@@ -129,6 +120,10 @@
       <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
     </el-row>
 
+    <div style="width: 100%;text-align: center;margin-bottom: 15px">
+      <H2>机泵过滤器清理回装确认表</H2><br>
+      <span>填写要求:检查现场机泵过滤器是否已经清理干净,是否已经正确回装,在检查内容中填写相应的检查结果,不符合要求的立即联系相关责任人按照要求进行整改。</span>
+    </div>
     <el-table v-loading="loading" :data="pumpCleaningList" @selection-change="handleSelectionChange"
               :height="clientHeight" border>
       <el-table-column type="selection" width="55" align="center"/>
@@ -142,10 +137,13 @@
       </el-table-column>
       <el-table-column label="单元" align="center" prop="unit" :show-overflow-tooltip="true" width="180"/>
       <el-table-column label="过滤网位置" align="center" prop="position" :show-overflow-tooltip="true" width="180"/>
-      <el-table-column label="P&ID号" align="center" prop="pidNo" :show-overflow-tooltip="true" width="180"/>
       <el-table-column label="数量" align="center" prop="filterNumber" :show-overflow-tooltip="true" width="180"/>
-      <el-table-column label="是否清理干净" align="center" prop="cleaning" :show-overflow-tooltip="true" width="180"/>
-      <el-table-column label="是否正确回装" align="center" prop="backLoading" :show-overflow-tooltip="true" width="180"/>
+      <el-table-column label="检查内容" align="center">
+        <el-table-column label="清理干净(是/否)" align="center" prop="cleaning" :show-overflow-tooltip="true"
+                         width="180"/>
+        <el-table-column label="正确回装(是/否)" align="center" prop="backLoading" :show-overflow-tooltip="true"
+                         width="180"/>
+      </el-table-column>
       <el-table-column label="确认人1" align="center" prop="confirmer1" :show-overflow-tooltip="true" width="180"/>
       <el-table-column label="确认人2" align="center" prop="confirmer2" :show-overflow-tooltip="true" width="180"/>
       <el-table-column label="完成日期" align="center" prop="confirmationDate" width="150">

+ 18 - 6
ui/src/views/pssr/pumpFill/index.vue

@@ -120,6 +120,11 @@
       <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
     </el-row>
 
+    <div style="width: 100%;text-align: center;margin-bottom: 15px">
+      <H2>机泵润滑油加注确认清单</H2><br>
+      <span>填写要求:根据现场检查机泵的润滑油或油脂加注情况,在检查内容中填写相应的检查结果,不符合要求的立即联系相关责任人按照要求进行整改。</span>
+    </div>
+
     <el-table v-loading="loading" :data="pumpFillList" @selection-change="handleSelectionChange" :height="clientHeight"
               border>
       <el-table-column type="selection" width="55" align="center"/>
@@ -133,11 +138,16 @@
       </el-table-column>
       <el-table-column label="单元" align="center" prop="unit" :show-overflow-tooltip="true" width="180"/>
       <el-table-column label="设备位号" align="center" prop="devNo" :show-overflow-tooltip="true" width="180"/>
-      <el-table-column label="润滑部位" align="center" prop="lubricatingPart" :show-overflow-tooltip="true" width="180"/>
-      <el-table-column label="润滑油或油脂加注完成" align="center" prop="fillingComplete"
-                       :show-overflow-tooltip="true" width="180"/>
-      <el-table-column label="润滑油泄漏" align="center" prop="lubricatingLeak" :show-overflow-tooltip="true" width="180"/>
-      <el-table-column label="油杯液位正常" align="center" prop="liquidNormal" :show-overflow-tooltip="true" width="180"/>
+      <el-table-column label="润滑部位" align="center" prop="lubricatingPart" :show-overflow-tooltip="true"
+                       width="180"/>
+      <el-table-column label="检查内容" align="center">
+      <el-table-column label="润滑油或油脂加注完成(是/否)" align="center" prop="fillingComplete"
+                       :show-overflow-tooltip="true" width="230"/>
+      <el-table-column label="润滑油泄漏(是/否)" align="center" prop="lubricatingLeak" :show-overflow-tooltip="true"
+                       width="180"/>
+      <el-table-column label="油杯液位正常(是/否)" align="center" prop="liquidNormal" :show-overflow-tooltip="true"
+                       width="180"/>
+      </el-table-column>
       <el-table-column label="确认人1" align="center" prop="confirmer1" :show-overflow-tooltip="true" width="180"/>
       <el-table-column label="确认人2" align="center" prop="confirmer2" :show-overflow-tooltip="true" width="180"/>
       <el-table-column label="完成日期" align="center" prop="confirmationDate" width="150">
@@ -262,7 +272,9 @@ import {
   addPumpFill,
   delPumpFill,
   exportPumpFill,
-  getPumpFill, handleConfirmPumpFill, handleTurnDownPumpFill,
+  getPumpFill,
+  handleConfirmPumpFill,
+  handleTurnDownPumpFill,
   importTemplate,
   listPumpFill,
   updatePumpFill

+ 11 - 3
ui/src/views/pssr/pumpOverhaul/index.vue

@@ -120,6 +120,11 @@
       <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
     </el-row>
 
+    <div style="width: 100%;text-align: center;margin-bottom: 15px">
+      <H2>机泵检修完成确认清单</H2><br>
+      <span>填写要求:检查现场离线检修的机泵是否正确回装,设备检修是否已经完成,在检查内容中填写相应的检查结果,不符合要求的立即联系相关责任人按照要求进行整改。</span>
+    </div>
+
     <el-table v-loading="loading" :data="pumpOverhaulList" @selection-change="handleSelectionChange"
               :height="clientHeight" border>
       <el-table-column type="selection" width="55" align="center"/>
@@ -133,9 +138,12 @@
       </el-table-column>
       <el-table-column label="单元" align="center" prop="unit" :show-overflow-tooltip="true" width="180"/>
       <el-table-column label="设备位号" align="center" prop="devNo" :show-overflow-tooltip="true" width="180"/>
-      <el-table-column label="正确回装" align="center" prop="backLoading" :show-overflow-tooltip="true" width="180"/>
-      <el-table-column label="设备检修完成" align="center" prop="overhaulDone" :show-overflow-tooltip="true"
-                       width="180"/>
+      <el-table-column label="检查内容" align="center">
+        <el-table-column label="正确回装(是/否)" align="center" prop="backLoading" :show-overflow-tooltip="true"
+                         width="180"/>
+        <el-table-column label="设备检修完成(是/否)" align="center" prop="overhaulDone" :show-overflow-tooltip="true"
+                         width="180"/>
+      </el-table-column>
       <el-table-column label="确认人1" align="center" prop="confirmer1" :show-overflow-tooltip="true" width="180"/>
       <el-table-column label="确认人2" align="center" prop="confirmer2" :show-overflow-tooltip="true" width="180"/>
       <el-table-column label="完成日期" align="center" prop="confirmationDate" width="150">

+ 16 - 16
ui/src/views/pssr/safetyBleed/index.vue

@@ -147,35 +147,35 @@
           <el-tag v-if="scope.row.approveStatus==2" type="success">已确认2</el-tag>
         </template>
       </el-table-column>
-      <el-table-column label="单元号" align="center" prop="unit" :show-overflow-tooltip="true" width="125"/>
-      <el-table-column label="P&ID图号" align="center" prop="pidNo" :show-overflow-tooltip="true" width="125"/>
-      <el-table-column label="紧急泄放阀位号" align="center" prop="devNo" :show-overflow-tooltip="true" width="125"/>
-      <el-table-column label="已经校验" align="center" prop="verify" :show-overflow-tooltip="true" width="125"/>
-      <el-table-column label="在有效期内" align="center" prop="inValidity" :show-overflow-tooltip="true" width="125"/>
+      <el-table-column label="单元号" align="center" prop="unit" :show-overflow-tooltip="true" width="180"/>
+      <el-table-column label="P&ID图号" align="center" prop="pidNo" :show-overflow-tooltip="true" width="180"/>
+      <el-table-column label="紧急泄放阀位号" align="center" prop="devNo" :show-overflow-tooltip="true" width="180"/>
+      <el-table-column label="已经校验(是/否)" align="center" prop="verify" :show-overflow-tooltip="true" width="180"/>
+      <el-table-column label="在有效期内(是/否)" align="center" prop="inValidity" :show-overflow-tooltip="true" width="180"/>
       <el-table-column label="安装位置" align="center" prop="installLocation" :show-overflow-tooltip="true"
-                       width="125"/>
-      <el-table-column label="安装位置准确" align="center" prop="installAccuracy" :show-overflow-tooltip="true"
-                       width="125"/>
-      <el-table-column label="投用" align="center" prop="putUse" :show-overflow-tooltip="true" width="180"/>
-      <el-table-column label="设定压力" align="center" prop="setPressure" :show-overflow-tooltip="true" width="125"/>
-      <el-table-column label="校验压力与设定压力一致" align="center" prop="uniformPressure"
-                       :show-overflow-tooltip="true" width="170"/>
-      <el-table-column label="确认人1" align="center" prop="confirmer1" :show-overflow-tooltip="true" width="125">
+                       width="180"/>
+      <el-table-column label="安装位置准确(是/否)" align="center" prop="installAccuracy" :show-overflow-tooltip="true"
+                       width="180"/>
+      <el-table-column label="投用(是/否)" align="center" prop="putUse" :show-overflow-tooltip="true" width="180"/>
+      <el-table-column label="设定压力(kpa)" align="center" prop="setPressure" :show-overflow-tooltip="true" width="180"/>
+      <el-table-column label="校验压力与设定压力一致(是/否)" align="center" prop="uniformPressure"
+                       :show-overflow-tooltip="true" width="230"/>
+      <el-table-column label="确认人1" align="center" prop="confirmer1" :show-overflow-tooltip="true" width="180">
         <template slot-scope="scope">
           <span>{{ userFormat(scope.row.confirmer1) }}</span>
         </template>
       </el-table-column>
-      <el-table-column label="确认人2" align="center" prop="confirmer2" :show-overflow-tooltip="true" width="125">
+      <el-table-column label="确认人2" align="center" prop="confirmer2" :show-overflow-tooltip="true" width="180">
         <template slot-scope="scope">
           <span>{{ userFormat(scope.row.confirmer2) }}</span>
         </template>
       </el-table-column>
-      <el-table-column label="时间" align="center" prop="confirmationTime" :show-overflow-tooltip="true" width="125">
+      <el-table-column label="时间" align="center" prop="confirmationTime" :show-overflow-tooltip="true" width="180">
         <template slot-scope="scope">
           <span>{{ parseTime(scope.row.confirmationDate, '{y}-{m}-{d}') }}</span>
         </template>
       </el-table-column>
-      <el-table-column label="备注" align="center" prop="remarks" :show-overflow-tooltip="true" width="125"/>
+      <el-table-column label="备注" align="center" prop="remarks" :show-overflow-tooltip="true" width="180"/>
       <el-table-column label="操作" align="center" fixed="right" v-if="isApprove==0" width="140"
                        class-name="small-padding fixed-width">
         <template slot-scope="scope">

+ 9 - 9
ui/src/views/pssr/safetyBreath/index.vue

@@ -150,16 +150,16 @@
       <el-table-column label="单元号" align="center" prop="unit" :show-overflow-tooltip="true" width="120"/>
       <el-table-column label="P&ID图号" align="center" prop="pidNo" :show-overflow-tooltip="true" width="120"/>
       <el-table-column label="呼吸阀位号" align="center" prop="devNo" :show-overflow-tooltip="true" width="120"/>
-      <el-table-column label="已经校验" align="center" prop="verify" :show-overflow-tooltip="true" width="120"/>
-      <el-table-column label="在有效期内" align="center" prop="inValidity" :show-overflow-tooltip="true" width="120"/>
+      <el-table-column label="已经校验(是/否)" align="center" prop="verify" :show-overflow-tooltip="true" width="180"/>
+      <el-table-column label="在有效期内(是/否)" align="center" prop="inValidity" :show-overflow-tooltip="true" width="180"/>
       <el-table-column label="安装位置" align="center" prop="installLocation" :show-overflow-tooltip="true"
-                       width="120"/>
-      <el-table-column label="安装位置准确" align="center" prop="installAccuracy" :show-overflow-tooltip="true"
-                       width="120"/>
-      <el-table-column label="投用" align="center" prop="putUse" :show-overflow-tooltip="true" width="180"/>
-      <el-table-column label="设定压力" align="center" prop="setPressure" :show-overflow-tooltip="true" width="120"/>
-      <el-table-column label="校验压力与设定压力一致" align="center" prop="uniformPressure"
-                       :show-overflow-tooltip="true" width="200"/>
+                       width="180"/>
+      <el-table-column label="安装位置准确(是/否)" align="center" prop="installAccuracy" :show-overflow-tooltip="true"
+                       width="180"/>
+      <el-table-column label="投用(是/否)" align="center" prop="putUse" :show-overflow-tooltip="true" width="180"/>
+      <el-table-column label="设定压力(Kpa)" align="center" prop="setPressure" :show-overflow-tooltip="true" width="180"/>
+      <el-table-column label="校验压力与设定压力一致(是/否)" align="center" prop="uniformPressure"
+                       :show-overflow-tooltip="true" width="230"/>
       <el-table-column label="确认人1" align="center" prop="confirmer1" :show-overflow-tooltip="true" width="120">
         <template slot-scope="scope">
           <span>{{ userFormat(scope.row.confirmer1) }}</span>

+ 11 - 11
ui/src/views/pssr/safetyBrust/index.vue

@@ -121,7 +121,7 @@
     </el-row>
 
     <div style="width: 100%;text-align: center;margin-bottom: 15px">
-      <h2>安全阀检查清单</h2>
+      <h2>爆破片检查清单</h2>
       <br>
       <span>检查要求:</span><br>
       <span>1、查看爆破片的安装位置是否正确,是(✔),否(×),不符合要求的,立即联系相关责任人按照要求进行整改;</span><br>
@@ -148,16 +148,16 @@
       <el-table-column label="安装位置描述" align="center" prop="installLocation" :show-overflow-tooltip="true"
                        width="120"/>
       <el-table-column label="检查内容" align="center">
-        <el-table-column label="爆破片的安装位置正确" align="center" prop="installAccuracy"
-                         :show-overflow-tooltip="true" width="170"/>
-        <el-table-column label="爆破片的安装方向正确" align="center" prop="rightDirection" :show-overflow-tooltip="true"
-                         width="160"/>
-        <el-table-column label="设定压力" align="center" prop="setPressure" :show-overflow-tooltip="true" width="120"/>
-        <el-table-column label="铭牌上压力和设定压力一致" align="center" prop="uniformPressure"
-                         :show-overflow-tooltip="true" width="200"/>
-        <el-table-column label="爆破片与安全阀之间的压力指示为“0kpa”" align="center" prop="is0kpa"
-                         :show-overflow-tooltip="true" width="270"/>
-        <el-table-column label="投用" align="center" prop="putUse" :show-overflow-tooltip="true" width="180"/>
+        <el-table-column label="爆破片的安装位置正确(是/否)" align="center" prop="installAccuracy"
+                         :show-overflow-tooltip="true" width="230"/>
+        <el-table-column label="爆破片的安装方向正确(是/否)" align="center" prop="rightDirection" :show-overflow-tooltip="true"
+                         width="230"/>
+        <el-table-column label="投用(是/否)" align="center" prop="putUse" :show-overflow-tooltip="true" width="180"/>
+        <el-table-column label="设定压力(Mpag)" align="center" prop="setPressure" :show-overflow-tooltip="true" width="180"/>
+        <el-table-column label="铭牌上压力和设定压力一致(是/否)" align="center" prop="uniformPressure"
+                         :show-overflow-tooltip="true" width="230"/>
+        <el-table-column label="爆破片与安全阀之间的压力指示为“0kpa”(是/否)" align="center" prop="is0kpa"
+                         :show-overflow-tooltip="true" width="320"/>
       </el-table-column>
       <el-table-column label="检查人1" align="center" prop="confirmer1" :show-overflow-tooltip="true" width="120">
         <template slot-scope="scope">

+ 6 - 6
ui/src/views/pssr/safetyFlamearrester/index.vue

@@ -142,16 +142,16 @@
         </template>
       </el-table-column>
       <el-table-column label="单元号" align="center" prop="unit" :show-overflow-tooltip="true" width="180"/>
-      <el-table-column label="紧急泄放阀位号" align="center" prop="devNo" :show-overflow-tooltip="true" width="180"/>
-      <el-table-column label="安装位置" align="center" prop="installLocation" :show-overflow-tooltip="true"
+      <el-table-column label="位号" align="center" prop="devNo" :show-overflow-tooltip="true" width="180"/>
+      <el-table-column label="安装位置描述" align="center" prop="installLocation" :show-overflow-tooltip="true"
                        width="180"/>
 
       <el-table-column label="检查内容" align="center">
-        <el-table-column label="流向标记与介质流向一致" align="center" prop="uniformFlow" :show-overflow-tooltip="true"
+        <el-table-column label="流向标记与介质流向一致(是/否)" align="center" prop="uniformFlow" :show-overflow-tooltip="true"
+                         width="230"/>
+        <el-table-column label="壳体和螺栓腐蚀(是/否)" align="center" prop="corrosion" :show-overflow-tooltip="true"
                          width="180"/>
-        <el-table-column label="壳体和螺栓腐蚀" align="center" prop="corrosion" :show-overflow-tooltip="true"
-                         width="180"/>
-        <el-table-column label="投用" align="center" prop="putUse" :show-overflow-tooltip="true" width="180"/>
+        <el-table-column label="投用(是/否)" align="center" prop="putUse" :show-overflow-tooltip="true" width="180"/>
       </el-table-column>
       <el-table-column label="检查人1" align="center" prop="confirmer1" :show-overflow-tooltip="true" width="180">
         <template slot-scope="scope">

+ 7 - 7
ui/src/views/pssr/safetyValve/index.vue

@@ -150,16 +150,16 @@
       <el-table-column label="P&ID图号" align="center" prop="pidNo" :show-overflow-tooltip="true" width="180"/>
       <el-table-column label="安全阀位号" align="center" prop="devNo" :show-overflow-tooltip="true" width="180"/>
       <el-table-column label="保护设备" align="center" prop="safetyDev" :show-overflow-tooltip="true" width="180"/>
-      <el-table-column label="已经校验" align="center" prop="verify" :show-overflow-tooltip="true" width="180"/>
-      <el-table-column label="在有效期内" align="center" prop="inValidity" :show-overflow-tooltip="true" width="180"/>
+      <el-table-column label="已经校验(是/否)" align="center" prop="verify" :show-overflow-tooltip="true" width="180"/>
+      <el-table-column label="在有效期内(是/否)" align="center" prop="inValidity" :show-overflow-tooltip="true" width="180"/>
       <el-table-column label="安装位置" align="center" prop="installLocation" :show-overflow-tooltip="true"
                        width="180"/>
-      <el-table-column label="安装位置准确" align="center" prop="installAccuracy" :show-overflow-tooltip="true"
+      <el-table-column label="安装位置准确(是/否)" align="center" prop="installAccuracy" :show-overflow-tooltip="true"
                        width="180"/>
-      <el-table-column label="投用" align="center" prop="putUse" :show-overflow-tooltip="true" width="180"/>
-      <el-table-column label="设定压力" align="center" prop="setPressure" :show-overflow-tooltip="true" width="180"/>
-      <el-table-column label="校验压力与设定压力一致" align="center" prop="uniformPressure"
-                       :show-overflow-tooltip="true" width="180"/>
+      <el-table-column label="投用(是/否)" align="center" prop="putUse" :show-overflow-tooltip="true" width="180"/>
+      <el-table-column label="设定压力(Mpa)" align="center" prop="setPressure" :show-overflow-tooltip="true" width="180"/>
+      <el-table-column label="校验压力与设定压力一致(是/否)" align="center" prop="uniformPressure"
+                       :show-overflow-tooltip="true" width="230"/>
       <el-table-column label="确认人1" align="center" prop="confirmer1" :show-overflow-tooltip="true" width="180">
         <template slot-scope="scope">
           <span>{{ userFormat(scope.row.confirmer1) }}</span>

+ 6 - 2
ui/src/views/pssr/torchvoc/index.vue

@@ -218,8 +218,12 @@
     </el-row>
 
     <div style="width: 100%;text-align: center;margin-bottom: 15px">
-      <H2 v-if="torchvocType == 1">蒸汽裂解装置火炬系统投用步骤确认清单</H2>
-      <H2 v-if="torchvocType == 2">蒸汽裂解装置VOC系统投用步骤确认清单</H2>
+      <H2 v-if="torchvocType == 1">火炬系统投用步骤确认清单</H2><br>
+      <span v-if="torchvocType == 1">火炬系统投用步骤确认正常完成的,确认人在“步骤状态”栏里打“✔”;<br>
+如果投用步骤未完成或者异常,确认人在“步骤状态”栏里打“×”,请联系相关责任人立即进行整改。</span>
+      <H2 v-if="torchvocType == 2">VOC系统投用步骤确认清单</H2><br>
+      <span v-if="torchvocType == 2">VOC系统投用步骤确认正常完成的,确认人在“步骤状态”栏里打“✔”;<br>
+如果投用步骤未完成或者异常,确认人在“步骤状态”栏里打“×”,请联系相关责任人立即进行整改。</span>
     </div>
 
     <el-table v-loading="loading" :data="torchvocList" @selection-change="handleSelectionChange" :height="clientHeight" border>