Browse Source

PSSR增加字段及逻辑优化

jiangbiao 5 months ago
parent
commit
8d267861ea
61 changed files with 1653 additions and 80 deletions
  1. 9 0
      master/src/main/java/com/ruoyi/project/process/domain/TMoc.java
  2. 23 16
      master/src/main/java/com/ruoyi/project/pssr/controller/TPssrInstrumentCalibrationController.java
  3. 22 4
      master/src/main/java/com/ruoyi/project/pssr/controller/TPssrMocController.java
  4. 27 0
      master/src/main/java/com/ruoyi/project/pssr/domain/TPssrInstrumentCalibration.java
  5. 1 1
      master/src/main/java/com/ruoyi/project/pssr/mapper/TPssrAboveallMapper.java
  6. 1 1
      master/src/main/java/com/ruoyi/project/pssr/mapper/TPssrAirtightMapper.java
  7. 1 1
      master/src/main/java/com/ruoyi/project/pssr/mapper/TPssrAlarmMapper.java
  8. 1 1
      master/src/main/java/com/ruoyi/project/pssr/mapper/TPssrAnalyzerMapper.java
  9. 1 1
      master/src/main/java/com/ruoyi/project/pssr/mapper/TPssrApproveMapper.java
  10. 1 1
      master/src/main/java/com/ruoyi/project/pssr/mapper/TPssrBlindMapper.java
  11. 1 1
      master/src/main/java/com/ruoyi/project/pssr/mapper/TPssrCircuitMapper.java
  12. 1 1
      master/src/main/java/com/ruoyi/project/pssr/mapper/TPssrCleaningMapper.java
  13. 1 1
      master/src/main/java/com/ruoyi/project/pssr/mapper/TPssrContentModelMapper.java
  14. 1 1
      master/src/main/java/com/ruoyi/project/pssr/mapper/TPssrFrameMapper.java
  15. 1 1
      master/src/main/java/com/ruoyi/project/pssr/mapper/TPssrFranklinismMapper.java
  16. 1 1
      master/src/main/java/com/ruoyi/project/pssr/mapper/TPssrGasdetectorMapper.java
  17. 1 1
      master/src/main/java/com/ruoyi/project/pssr/mapper/TPssrHygieneMapper.java
  18. 1 1
      master/src/main/java/com/ruoyi/project/pssr/mapper/TPssrInstrumentCalibrationMapper.java
  19. 1 1
      master/src/main/java/com/ruoyi/project/pssr/mapper/TPssrInstrumentTestMapper.java
  20. 1 1
      master/src/main/java/com/ruoyi/project/pssr/mapper/TPssrLaboratoryMapper.java
  21. 1 1
      master/src/main/java/com/ruoyi/project/pssr/mapper/TPssrLightingMapper.java
  22. 1 1
      master/src/main/java/com/ruoyi/project/pssr/mapper/TPssrLockMapper.java
  23. 1 1
      master/src/main/java/com/ruoyi/project/pssr/mapper/TPssrMaterialMapper.java
  24. 1 1
      master/src/main/java/com/ruoyi/project/pssr/mapper/TPssrMaterialRawMapper.java
  25. 1 1
      master/src/main/java/com/ruoyi/project/pssr/mapper/TPssrMeasureMapper.java
  26. 1 1
      master/src/main/java/com/ruoyi/project/pssr/mapper/TPssrMocMapper.java
  27. 1 1
      master/src/main/java/com/ruoyi/project/pssr/mapper/TPssrMotorMapper.java
  28. 1 1
      master/src/main/java/com/ruoyi/project/pssr/mapper/TPssrNitrogenMapper.java
  29. 1 1
      master/src/main/java/com/ruoyi/project/pssr/mapper/TPssrOverhaulExchangerMapper.java
  30. 1 1
      master/src/main/java/com/ruoyi/project/pssr/mapper/TPssrOverhaulFilterMapper.java
  31. 1 1
      master/src/main/java/com/ruoyi/project/pssr/mapper/TPssrOverhaulPipeMapper.java
  32. 1 1
      master/src/main/java/com/ruoyi/project/pssr/mapper/TPssrOverhaulPumpMapper.java
  33. 1 1
      master/src/main/java/com/ruoyi/project/pssr/mapper/TPssrOverhaulTowerMapper.java
  34. 1 1
      master/src/main/java/com/ruoyi/project/pssr/mapper/TPssrOverhaulValveMapper.java
  35. 1 1
      master/src/main/java/com/ruoyi/project/pssr/mapper/TPssrPipeMapper.java
  36. 1 1
      master/src/main/java/com/ruoyi/project/pssr/mapper/TPssrPowerMapper.java
  37. 1 1
      master/src/main/java/com/ruoyi/project/pssr/mapper/TPssrProgrammeMapper.java
  38. 1 1
      master/src/main/java/com/ruoyi/project/pssr/mapper/TPssrProtectionMapper.java
  39. 1 1
      master/src/main/java/com/ruoyi/project/pssr/mapper/TPssrPublicMapper.java
  40. 1 1
      master/src/main/java/com/ruoyi/project/pssr/mapper/TPssrPumpCleaningMapper.java
  41. 1 1
      master/src/main/java/com/ruoyi/project/pssr/mapper/TPssrPumpFillMapper.java
  42. 1 1
      master/src/main/java/com/ruoyi/project/pssr/mapper/TPssrPumpOverhaulMapper.java
  43. 1 1
      master/src/main/java/com/ruoyi/project/pssr/mapper/TPssrRegionMapper.java
  44. 1 1
      master/src/main/java/com/ruoyi/project/pssr/mapper/TPssrSafetyBleedMapper.java
  45. 1 1
      master/src/main/java/com/ruoyi/project/pssr/mapper/TPssrSafetyBreathMapper.java
  46. 1 1
      master/src/main/java/com/ruoyi/project/pssr/mapper/TPssrSafetyBrustMapper.java
  47. 1 1
      master/src/main/java/com/ruoyi/project/pssr/mapper/TPssrSafetyFlamearresterMapper.java
  48. 1 1
      master/src/main/java/com/ruoyi/project/pssr/mapper/TPssrSafetyValveMapper.java
  49. 1 1
      master/src/main/java/com/ruoyi/project/pssr/mapper/TPssrSubcontentMapper.java
  50. 1 1
      master/src/main/java/com/ruoyi/project/pssr/mapper/TPssrTorchvocMapper.java
  51. 1 1
      master/src/main/java/com/ruoyi/project/pssr/mapper/TPssrTurndownMapper.java
  52. 1 1
      master/src/main/java/com/ruoyi/project/pssr/mapper/TPssrVesselMapper.java
  53. 3 0
      master/src/main/resources/mybatis/process/TMocMapper.xml
  54. 17 1
      master/src/main/resources/mybatis/pssr/TPssrInstrumentCalibrationMapper.xml
  55. BIN
      master/src/main/resources/static/template/pssr/calibration.xlsx
  56. 10 8
      ui/src/views/pssr/instrumentCalibration/index.vue
  57. 736 0
      ui/src/views/pssr/instrumentCalibration/liquidometer.vue
  58. 742 0
      ui/src/views/pssr/instrumentCalibration/regulatingValve.vue
  59. 1 1
      ui/src/views/pssr/lighting/index.vue
  60. 0 1
      ui/src/views/pssr/region/index.vue
  61. 15 1
      ui/src/views/pssr/subitem/index.vue

+ 9 - 0
master/src/main/java/com/ruoyi/project/process/domain/TMoc.java

@@ -55,6 +55,7 @@ public class TMoc extends BaseEntity
     /** 区域 */
     @Excel(name = "区域")
     private String area;
+    private String[] areas;
 
     /** 仪表控制 */
     private String dashControl;
@@ -316,6 +317,14 @@ public class TMoc extends BaseEntity
     @Excel(name = "移除时间", width = 30, dateFormat = "yyyy-MM-dd")
     private Date removeTime;
 
+    public String[] getAreas() {
+        return areas;
+    }
+
+    public void setAreas(String[] areas) {
+        this.areas = areas;
+    }
+
     public Date getRemoveTime() {
         return removeTime;
     }

+ 23 - 16
master/src/main/java/com/ruoyi/project/pssr/controller/TPssrInstrumentCalibrationController.java

@@ -80,12 +80,11 @@ public class TPssrInstrumentCalibrationController extends BaseController {
      */
     @PreAuthorize("@ss.hasPermi('pssr:instrumentCalibration:add')")
     @PostMapping("/importData")
-    public AjaxResult importInterlockData(MultipartFile file, Long subId) throws IOException
-    {
+    public AjaxResult importInterlockData(MultipartFile file, Long subId) throws IOException {
         //获取操作人员ID
         Long userId = getUserId();
         //报错行数统计
-        List<Integer> failRow =new ArrayList<Integer>();
+        List<Integer> failRow = new ArrayList<Integer>();
         Workbook workbook = ExcelUtils.getWorkBook(file);
         Sheet sheet = workbook.getSheetAt(0);
         List<TPssrInstrumentCalibration> list = new ArrayList<TPssrInstrumentCalibration>();
@@ -111,14 +110,22 @@ public class TPssrInstrumentCalibrationController extends BaseController {
                         entity.setUnit(cellValue);
                     } else if (j == 1) {
                         entity.setDevNo(cellValue);
+                    } else if (j == 2) {
+                        if ("流量计".equals(cellValue)) {
+                            entity.setDevType("1");
+                        } else if ("调节阀".equals(cellValue)) {
+                            entity.setDevType("3");
+                        } else if ("液位计".equals(cellValue)) {
+                            entity.setDevType("2");
+                        }
                     }
                 }
                 entity.setCreaterCode(userId.toString());
                 logger.info("entity:" + entity);
                 list.add(entity);
-            }catch (Exception e){
+            } catch (Exception e) {
                 failNumber++;
-                failRow.add(i+1);
+                failRow.add(i + 1);
             }
         }
         int successNumber = 0;
@@ -129,16 +136,16 @@ public class TPssrInstrumentCalibrationController extends BaseController {
             try {
                 this.add(t);
                 successNumber++;
-            }catch (Exception e){
+            } catch (Exception e) {
                 failNumber++;
                 logger.info("e:" + e);
-                failRow.add(failNum+1);
+                failRow.add(failNum + 1);
             }
         }
         logger.info("list:" + JSON.toJSONString(list));
-        logger.info("successNumber:" +String.valueOf(successNumber));
-        logger.info("failNumber:" +String.valueOf(failNumber));
-        logger.info("failRow:" +String.valueOf(failRow));
+        logger.info("successNumber:" + String.valueOf(successNumber));
+        logger.info("failNumber:" + String.valueOf(failNumber));
+        logger.info("failRow:" + String.valueOf(failRow));
         return AjaxResult.success("导入成功行数:" + String.valueOf(successNumber));
     }
 
@@ -221,7 +228,7 @@ public class TPssrInstrumentCalibrationController extends BaseController {
                 num++;
                 rowIndex++;
             }
-            filename = "PSSR_23_仪表校验"  + ".xlsx";
+            filename = "PSSR_23_仪表校验" + ".xlsx";
             out = new FileOutputStream(ExcelUtil.getAbsoluteFile(filename));
             wb.write(out);
             wb.close();
@@ -240,8 +247,8 @@ public class TPssrInstrumentCalibrationController extends BaseController {
     public AjaxResult getInfo(@PathVariable("id") Long id) {
         TPssrInstrumentCalibration item = tPssrInstrumentCalibrationService.selectTPssrInstrumentCalibrationById(id);
         item.setFileList(tPssrFileService.selectTPssrFileListByItem(item.getSubId(), item.getId(), "ybjy"));
-            if (item.getApproveStatus() != 2)
-                item.setReason(tPssrTurndownService.selectTPssrTurndownByItem(item.getSubId(), item.getId(), "ybjy"));
+        if (item.getApproveStatus() != 2)
+            item.setReason(tPssrTurndownService.selectTPssrTurndownByItem(item.getSubId(), item.getId(), "ybjy"));
         return AjaxResult.success(item);
     }
 
@@ -252,7 +259,7 @@ public class TPssrInstrumentCalibrationController extends BaseController {
     @Log(title = "仪表校验", businessType = BusinessType.INSERT)
     @PostMapping
     public AjaxResult add(@RequestBody TPssrInstrumentCalibration tPssrInstrumentCalibration) {
-        if (StringUtils.isNotEmpty(tPssrInstrumentCalibration.getConfirm1())&&tPssrInstrumentCalibration.getConfirm1().equals(tPssrInstrumentCalibration.getConfirm2())) {
+        if (StringUtils.isNotEmpty(tPssrInstrumentCalibration.getConfirm1()) && tPssrInstrumentCalibration.getConfirm1().equals(tPssrInstrumentCalibration.getConfirm2())) {
             return AjaxResult.error("确认人不能为同一人,请重新选择!");
         }
         tPssrInstrumentCalibration.setApproveStatus(0L);
@@ -266,7 +273,7 @@ public class TPssrInstrumentCalibrationController extends BaseController {
     @Log(title = "仪表校验", businessType = BusinessType.UPDATE)
     @PutMapping
     public AjaxResult edit(@RequestBody TPssrInstrumentCalibration tPssrInstrumentCalibration) {
-        if (tPssrInstrumentCalibration.getConfirm1().equals(tPssrInstrumentCalibration.getConfirm2())){
+        if (tPssrInstrumentCalibration.getConfirm1().equals(tPssrInstrumentCalibration.getConfirm2())) {
             return AjaxResult.error("确认人不能为同一人,请重新选择!");
         }
         tPssrFileService.updateFileRelevance(tPssrInstrumentCalibration.getFileIds(), "ybjy", tPssrInstrumentCalibration.getId(), tPssrInstrumentCalibration.getSubId());
@@ -280,7 +287,7 @@ public class TPssrInstrumentCalibrationController extends BaseController {
     @Log(title = "仪表校验", businessType = BusinessType.UPDATE)
     @PutMapping("/editBatch")
     public AjaxResult editb(@RequestBody TPssrInstrumentCalibration tPssrInstrumentCalibration) {
-        if (tPssrInstrumentCalibration.getConfirm1().equals(tPssrInstrumentCalibration.getConfirm2())){
+        if (tPssrInstrumentCalibration.getConfirm1().equals(tPssrInstrumentCalibration.getConfirm2())) {
             return AjaxResult.error("确认人不能为同一人,请重新选择!");
         }
         return toAjax(tPssrInstrumentCalibrationMapper.updateTPssrInstrumentCalibrationByIds(tPssrInstrumentCalibration));

+ 22 - 4
master/src/main/java/com/ruoyi/project/pssr/controller/TPssrMocController.java

@@ -11,10 +11,7 @@ import com.ruoyi.framework.web.domain.AjaxResult;
 import com.ruoyi.framework.web.page.TableDataInfo;
 import com.ruoyi.project.process.domain.TMoc;
 import com.ruoyi.project.process.service.ITMocService;
-import com.ruoyi.project.pssr.domain.TPssrApprove;
-import com.ruoyi.project.pssr.domain.TPssrMoc;
-import com.ruoyi.project.pssr.domain.TPssrSubcontent;
-import com.ruoyi.project.pssr.domain.TPssrTurndown;
+import com.ruoyi.project.pssr.domain.*;
 import com.ruoyi.project.pssr.mapper.TPssrMocMapper;
 import com.ruoyi.project.pssr.service.*;
 import com.ruoyi.project.system.domain.SysUser;
@@ -67,6 +64,9 @@ public class TPssrMocController extends BaseController {
     @Autowired
     private ITPssrSubcontentService tPssrSubcontentService;
 
+    @Autowired
+    private ITPssrAboveallService tPssraboveallService;
+
     @Autowired
     private ITMocService tMocService;
 
@@ -201,9 +201,27 @@ public class TPssrMocController extends BaseController {
         if (StringUtils.isEmpty(tPssrMoc.getRemarks())) {
             tPssrMoc.setRemarks("TRA2025");
         }
+        TPssrSubcontent subcontent = tPssrSubcontentService.selectTPssrSubcontentById(tPssrMoc.getSubId());
+        TPssrAboveall tPssrAboveall = tPssraboveallService.selectTPssrAboveallById(subcontent.getAboveallId());
+
         TMoc tMoc = new TMoc();
         // 永久moc
 //        tMoc.setTimeliness("1");
+        if (tPssrAboveall.getRegion().equals("裂解")){
+            tMoc.setAreas(new String[]{"10","20","21","22"});
+        }
+        if (tPssrAboveall.getRegion().equals("压缩")){
+            tMoc.setAreas(new String[]{"12","20","21","22"});
+        }
+        if (tPssrAboveall.getRegion().equals("分离")){
+            tMoc.setAreas(new String[]{"14","20","21","22"});
+        }
+        if (tPssrAboveall.getRegion().equals("AEU")){
+            tMoc.setAreas(new String[]{"16","20","21","22"});
+        }
+        if (tPssrAboveall.getRegion().equals("PGU")){
+            tMoc.setAreas(new String[]{"18","20","21","22"});
+        }
         tMoc.setRemarks(tPssrMoc.getRemarks());
         for (TMoc moc : tMocService.selectTMocList(tMoc)) {
             TPssrMoc pssrMoc = new TPssrMoc();

+ 27 - 0
master/src/main/java/com/ruoyi/project/pssr/domain/TPssrInstrumentCalibration.java

@@ -111,6 +111,33 @@ public class TPssrInstrumentCalibration extends BaseEntity
     private List<TPssrFile> fileList;
 
     private String reason;
+    private String flowCheck;
+    private String fileCheck;
+    private String devType;
+
+    public String getFlowCheck() {
+        return flowCheck;
+    }
+
+    public void setFlowCheck(String flowCheck) {
+        this.flowCheck = flowCheck;
+    }
+
+    public String getFileCheck() {
+        return fileCheck;
+    }
+
+    public void setFileCheck(String fileCheck) {
+        this.fileCheck = fileCheck;
+    }
+
+    public String getDevType() {
+        return devType;
+    }
+
+    public void setDevType(String devType) {
+        this.devType = devType;
+    }
 
     public String getReason() {
         return reason;

+ 1 - 1
master/src/main/java/com/ruoyi/project/pssr/mapper/TPssrAboveallMapper.java

@@ -27,7 +27,7 @@ public interface TPssrAboveallMapper
      * @param tPssrAboveall PSSR
      * @return PSSR集合
      */
-    @DataScope(deptAlias = "d")
+
     public List<TPssrAboveall> selectTPssrAboveallList(TPssrAboveall tPssrAboveall);
 
     /**

+ 1 - 1
master/src/main/java/com/ruoyi/project/pssr/mapper/TPssrAirtightMapper.java

@@ -27,7 +27,7 @@ public interface TPssrAirtightMapper
      * @param tPssrAirtight 气密
      * @return 气密集合
      */
-    @DataScope(deptAlias = "d")
+    
     public List<TPssrAirtight> selectTPssrAirtightList(TPssrAirtight tPssrAirtight);
 
     /**

+ 1 - 1
master/src/main/java/com/ruoyi/project/pssr/mapper/TPssrAlarmMapper.java

@@ -27,7 +27,7 @@ public interface TPssrAlarmMapper
      * @param tPssrAlarm 报警联锁值确认
      * @return 报警联锁值确认集合
      */
-    @DataScope(deptAlias = "d")
+    
     public List<TPssrAlarm> selectTPssrAlarmList(TPssrAlarm tPssrAlarm);
 
     /**

+ 1 - 1
master/src/main/java/com/ruoyi/project/pssr/mapper/TPssrAnalyzerMapper.java

@@ -27,7 +27,7 @@ public interface TPssrAnalyzerMapper
      * @param tPssrAnalyzer 在线分析仪
      * @return 在线分析仪集合
      */
-    @DataScope(deptAlias = "d")
+    
     public List<TPssrAnalyzer> selectTPssrAnalyzerList(TPssrAnalyzer tPssrAnalyzer);
 
     /**

+ 1 - 1
master/src/main/java/com/ruoyi/project/pssr/mapper/TPssrApproveMapper.java

@@ -28,7 +28,7 @@ public interface TPssrApproveMapper
      * @param tPssrApprove pssr审批管理
      * @return pssr审批管理集合
      */
-    @DataScope(deptAlias = "d")
+    
     public List<TPssrApprove> selectTPssrApproveList(TPssrApprove tPssrApprove);
 
     /**

+ 1 - 1
master/src/main/java/com/ruoyi/project/pssr/mapper/TPssrBlindMapper.java

@@ -27,7 +27,7 @@ public interface TPssrBlindMapper
      * @param tPssrBlind 盲板
      * @return 盲板集合
      */
-    @DataScope(deptAlias = "d")
+    
     public List<TPssrBlind> selectTPssrBlindList(TPssrBlind tPssrBlind);
 
     /**

+ 1 - 1
master/src/main/java/com/ruoyi/project/pssr/mapper/TPssrCircuitMapper.java

@@ -27,7 +27,7 @@ public interface TPssrCircuitMapper
      * @param tPssrCircuit 短接
      * @return 短接集合
      */
-    @DataScope(deptAlias = "d")
+    
     public List<TPssrCircuit> selectTPssrCircuitList(TPssrCircuit tPssrCircuit);
 
     /**

+ 1 - 1
master/src/main/java/com/ruoyi/project/pssr/mapper/TPssrCleaningMapper.java

@@ -27,7 +27,7 @@ public interface TPssrCleaningMapper
      * @param tPssrCleaning 设备清洁
      * @return 设备清洁集合
      */
-    @DataScope(deptAlias = "d")
+    
     public List<TPssrCleaning> selectTPssrCleaningList(TPssrCleaning tPssrCleaning);
 
     /**

+ 1 - 1
master/src/main/java/com/ruoyi/project/pssr/mapper/TPssrContentModelMapper.java

@@ -27,7 +27,7 @@ public interface TPssrContentModelMapper
      * @param tPssrContentModel 开车条件确认模板
      * @return 开车条件确认模板集合
      */
-    @DataScope(deptAlias = "d")
+    
     public List<TPssrContentModel> selectTPssrContentModelList(TPssrContentModel tPssrContentModel);
 
     /**

+ 1 - 1
master/src/main/java/com/ruoyi/project/pssr/mapper/TPssrFrameMapper.java

@@ -27,7 +27,7 @@ public interface TPssrFrameMapper
      * @param tPssrFrame 支(吊)架
      * @return 支(吊)架集合
      */
-    @DataScope(deptAlias = "d")
+    
     public List<TPssrFrame> selectTPssrFrameList(TPssrFrame tPssrFrame);
 
     /**

+ 1 - 1
master/src/main/java/com/ruoyi/project/pssr/mapper/TPssrFranklinismMapper.java

@@ -27,7 +27,7 @@ public interface TPssrFranklinismMapper
      * @param tPssrFranklinism 静电接地,跨接
      * @return 静电接地,跨接集合
      */
-    @DataScope(deptAlias = "d")
+    
     public List<TPssrFranklinism> selectTPssrFranklinismList(TPssrFranklinism tPssrFranklinism);
 
     /**

+ 1 - 1
master/src/main/java/com/ruoyi/project/pssr/mapper/TPssrGasdetectorMapper.java

@@ -27,7 +27,7 @@ public interface TPssrGasdetectorMapper
      * @param tPssrGasdetector 气体检测器
      * @return 气体检测器集合
      */
-    @DataScope(deptAlias = "d")
+    
     public List<TPssrGasdetector> selectTPssrGasdetectorList(TPssrGasdetector tPssrGasdetector);
 
     /**

+ 1 - 1
master/src/main/java/com/ruoyi/project/pssr/mapper/TPssrHygieneMapper.java

@@ -27,7 +27,7 @@ public interface TPssrHygieneMapper
      * @param tPssrHygiene 现场卫生
      * @return 现场卫生集合
      */
-    @DataScope(deptAlias = "d")
+    
     public List<TPssrHygiene> selectTPssrHygieneList(TPssrHygiene tPssrHygiene);
 
     /**

+ 1 - 1
master/src/main/java/com/ruoyi/project/pssr/mapper/TPssrInstrumentCalibrationMapper.java

@@ -27,7 +27,7 @@ public interface TPssrInstrumentCalibrationMapper
      * @param tPssrInstrumentCalibration 仪校验
      * @return 仪校验集合
      */
-    @DataScope(deptAlias = "d")
+    
     public List<TPssrInstrumentCalibration> selectTPssrInstrumentCalibrationList(TPssrInstrumentCalibration tPssrInstrumentCalibration);
 
     /**

+ 1 - 1
master/src/main/java/com/ruoyi/project/pssr/mapper/TPssrInstrumentTestMapper.java

@@ -28,7 +28,7 @@ public interface TPssrInstrumentTestMapper
      * @param tPssrInstrumentTest 仪联锁测试
      * @return 仪联锁测试集合
      */
-    @DataScope(deptAlias = "d")
+    
     public List<TPssrInstrumentTest> selectTPssrInstrumentTestList(TPssrInstrumentTest tPssrInstrumentTest);
 
     /**

+ 1 - 1
master/src/main/java/com/ruoyi/project/pssr/mapper/TPssrLaboratoryMapper.java

@@ -27,7 +27,7 @@ public interface TPssrLaboratoryMapper
      * @param tPssrLaboratory 实验室
      * @return 实验室集合
      */
-    @DataScope(deptAlias = "d")
+    
     public List<TPssrLaboratory> selectTPssrLaboratoryList(TPssrLaboratory tPssrLaboratory);
 
     /**

+ 1 - 1
master/src/main/java/com/ruoyi/project/pssr/mapper/TPssrLightingMapper.java

@@ -27,7 +27,7 @@ public interface TPssrLightingMapper
      * @param tPssrLighting 照明
      * @return 照明集合
      */
-    @DataScope(deptAlias = "d")
+    
     public List<TPssrLighting> selectTPssrLightingList(TPssrLighting tPssrLighting);
 
     /**

+ 1 - 1
master/src/main/java/com/ruoyi/project/pssr/mapper/TPssrLockMapper.java

@@ -27,7 +27,7 @@ public interface TPssrLockMapper
      * @param tPssrLock 锁开锁关阀门状态
      * @return 锁开锁关阀门状态集合
      */
-    @DataScope(deptAlias = "d")
+    
     public List<TPssrLock> selectTPssrLockList(TPssrLock tPssrLock);
 
     /**

+ 1 - 1
master/src/main/java/com/ruoyi/project/pssr/mapper/TPssrMaterialMapper.java

@@ -28,7 +28,7 @@ public interface TPssrMaterialMapper
      * @param tPssrMaterial 原料
      * @return 原料集合
      */
-    @DataScope(deptAlias = "d")
+    
     public List<TPssrMaterial> selectTPssrMaterialList(TPssrMaterial tPssrMaterial);
 
     /**

+ 1 - 1
master/src/main/java/com/ruoyi/project/pssr/mapper/TPssrMaterialRawMapper.java

@@ -29,7 +29,7 @@ public interface TPssrMaterialRawMapper
      * @param tPssrMaterialRaw 原料
      * @return 原料集合
      */
-    @DataScope(deptAlias = "d")
+    
     public List<TPssrMaterialRaw> selectTPssrMaterialRawList(TPssrMaterialRaw tPssrMaterialRaw);
 
     /**

+ 1 - 1
master/src/main/java/com/ruoyi/project/pssr/mapper/TPssrMeasureMapper.java

@@ -27,7 +27,7 @@ public interface TPssrMeasureMapper
      * @param tPssrMeasure 人身防护
      * @return 人身防护集合
      */
-    @DataScope(deptAlias = "d")
+    
     public List<TPssrMeasure> selectTPssrMeasureList(TPssrMeasure tPssrMeasure);
 
     /**

+ 1 - 1
master/src/main/java/com/ruoyi/project/pssr/mapper/TPssrMocMapper.java

@@ -28,7 +28,7 @@ public interface TPssrMocMapper
      * @param tPssrMoc MOC完成确认清单
      * @return MOC完成确认清单集合
      */
-    @DataScope(deptAlias = "d")
+    
     public List<TPssrMoc> selectTPssrMocList(TPssrMoc tPssrMoc);
 
     /**

+ 1 - 1
master/src/main/java/com/ruoyi/project/pssr/mapper/TPssrMotorMapper.java

@@ -27,7 +27,7 @@ public interface TPssrMotorMapper
      * @param tPssrMotor 电机设备
      * @return 电机设备集合
      */
-    @DataScope(deptAlias = "d")
+    
     public List<TPssrMotor> selectTPssrMotorList(TPssrMotor tPssrMotor);
 
     /**

+ 1 - 1
master/src/main/java/com/ruoyi/project/pssr/mapper/TPssrNitrogenMapper.java

@@ -27,7 +27,7 @@ public interface TPssrNitrogenMapper
      * @param tPssrNitrogen 系统氮气置换
      * @return 系统氮气置换集合
      */
-    @DataScope(deptAlias = "d")
+    
     public List<TPssrNitrogen> selectTPssrNitrogenList(TPssrNitrogen tPssrNitrogen);
 
     /**

+ 1 - 1
master/src/main/java/com/ruoyi/project/pssr/mapper/TPssrOverhaulExchangerMapper.java

@@ -27,7 +27,7 @@ public interface TPssrOverhaulExchangerMapper
      * @param tPssrOverhaulExchanger 检修项目-换热器
      * @return 检修项目-换热器集合
      */
-    @DataScope(deptAlias = "d")
+    
     public List<TPssrOverhaulExchanger> selectTPssrOverhaulExchangerList(TPssrOverhaulExchanger tPssrOverhaulExchanger);
 
     public TPssrOverhaulExchanger selectAllConfirmedPersonBySubId(TPssrOverhaulExchanger tPssrOverhaulExchanger);

+ 1 - 1
master/src/main/java/com/ruoyi/project/pssr/mapper/TPssrOverhaulFilterMapper.java

@@ -27,7 +27,7 @@ public interface TPssrOverhaulFilterMapper
      * @param tPssrOverhaulFilter 检修项目-过滤器
      * @return 检修项目-过滤器集合
      */
-    @DataScope(deptAlias = "d")
+    
     public List<TPssrOverhaulFilter> selectTPssrOverhaulFilterList(TPssrOverhaulFilter tPssrOverhaulFilter);
 
     /**

+ 1 - 1
master/src/main/java/com/ruoyi/project/pssr/mapper/TPssrOverhaulPipeMapper.java

@@ -27,7 +27,7 @@ public interface TPssrOverhaulPipeMapper
      * @param tPssrOverhaulPipe 检修项目-管线
      * @return 检修项目-管线集合
      */
-    @DataScope(deptAlias = "d")
+    
     public List<TPssrOverhaulPipe> selectTPssrOverhaulPipeList(TPssrOverhaulPipe tPssrOverhaulPipe);
 
     /**

+ 1 - 1
master/src/main/java/com/ruoyi/project/pssr/mapper/TPssrOverhaulPumpMapper.java

@@ -27,7 +27,7 @@ public interface TPssrOverhaulPumpMapper
      * @param tPssrOverhaulPump 检修项目-泵
      * @return 检修项目-泵集合
      */
-    @DataScope(deptAlias = "d")
+    
     public List<TPssrOverhaulPump> selectTPssrOverhaulPumpList(TPssrOverhaulPump tPssrOverhaulPump);
 
     /**

+ 1 - 1
master/src/main/java/com/ruoyi/project/pssr/mapper/TPssrOverhaulTowerMapper.java

@@ -27,7 +27,7 @@ public interface TPssrOverhaulTowerMapper
      * @param tPssrOverhaulTower 检修项目-塔罐
      * @return 检修项目-塔罐集合
      */
-    @DataScope(deptAlias = "d")
+    
     public List<TPssrOverhaulTower> selectTPssrOverhaulTowerList(TPssrOverhaulTower tPssrOverhaulTower);
 
     /**

+ 1 - 1
master/src/main/java/com/ruoyi/project/pssr/mapper/TPssrOverhaulValveMapper.java

@@ -27,7 +27,7 @@ public interface TPssrOverhaulValveMapper
      * @param tPssrOverhaulValve 检修项目-阀门
      * @return 检修项目-阀门集合
      */
-    @DataScope(deptAlias = "d")
+    
     public List<TPssrOverhaulValve> selectTPssrOverhaulValveList(TPssrOverhaulValve tPssrOverhaulValve);
 
     /**

+ 1 - 1
master/src/main/java/com/ruoyi/project/pssr/mapper/TPssrPipeMapper.java

@@ -27,7 +27,7 @@ public interface TPssrPipeMapper
      * @param tPssrPipe 管道
      * @return 管道集合
      */
-    @DataScope(deptAlias = "d")
+    
     public List<TPssrPipe> selectTPssrPipeList(TPssrPipe tPssrPipe);
 
     /**

+ 1 - 1
master/src/main/java/com/ruoyi/project/pssr/mapper/TPssrPowerMapper.java

@@ -27,7 +27,7 @@ public interface TPssrPowerMapper
      * @param tPssrPower 临时电源
      * @return 临时电源集合
      */
-    @DataScope(deptAlias = "d")
+    
     public List<TPssrPower> selectTPssrPowerList(TPssrPower tPssrPower);
 
     /**

+ 1 - 1
master/src/main/java/com/ruoyi/project/pssr/mapper/TPssrProgrammeMapper.java

@@ -27,7 +27,7 @@ public interface TPssrProgrammeMapper
      * @param tPssrProgramme 开工方案
      * @return 开工方案集合
      */
-    @DataScope(deptAlias = "d")
+    
     public List<TPssrProgramme> selectTPssrProgrammeList(TPssrProgramme tPssrProgramme);
 
     /**

+ 1 - 1
master/src/main/java/com/ruoyi/project/pssr/mapper/TPssrProtectionMapper.java

@@ -27,7 +27,7 @@ public interface TPssrProtectionMapper
      * @param tPssrProtection 人身防护
      * @return 人身防护集合
      */
-    @DataScope(deptAlias = "d")
+    
     public List<TPssrProtection> selectTPssrProtectionList(TPssrProtection tPssrProtection);
 
     /**

+ 1 - 1
master/src/main/java/com/ruoyi/project/pssr/mapper/TPssrPublicMapper.java

@@ -27,7 +27,7 @@ public interface TPssrPublicMapper
      * @param tPssrPublic 公用工程
      * @return 公用工程集合
      */
-    @DataScope(deptAlias = "d")
+    
     public List<TPssrPublic> selectTPssrPublicList(TPssrPublic tPssrPublic);
 
     /**

+ 1 - 1
master/src/main/java/com/ruoyi/project/pssr/mapper/TPssrPumpCleaningMapper.java

@@ -27,7 +27,7 @@ public interface TPssrPumpCleaningMapper
      * @param tPssrPumpCleaning 机泵过滤器清理工作清单
      * @return 机泵过滤器清理工作清单集合
      */
-    @DataScope(deptAlias = "d")
+    
     public List<TPssrPumpCleaning> selectTPssrPumpCleaningList(TPssrPumpCleaning tPssrPumpCleaning);
 
     /**

+ 1 - 1
master/src/main/java/com/ruoyi/project/pssr/mapper/TPssrPumpFillMapper.java

@@ -27,7 +27,7 @@ public interface TPssrPumpFillMapper
      * @param tPssrPumpFill 机泵润滑油加注确认清单
      * @return 机泵润滑油加注确认清单集合
      */
-    @DataScope(deptAlias = "d")
+    
     public List<TPssrPumpFill> selectTPssrPumpFillList(TPssrPumpFill tPssrPumpFill);
 
     /**

+ 1 - 1
master/src/main/java/com/ruoyi/project/pssr/mapper/TPssrPumpOverhaulMapper.java

@@ -27,7 +27,7 @@ public interface TPssrPumpOverhaulMapper
      * @param tPssrPumpOverhaul 机泵检修完成确认清单
      * @return 机泵检修完成确认清单集合
      */
-    @DataScope(deptAlias = "d")
+    
     public List<TPssrPumpOverhaul> selectTPssrPumpOverhaulList(TPssrPumpOverhaul tPssrPumpOverhaul);
 
     /**

+ 1 - 1
master/src/main/java/com/ruoyi/project/pssr/mapper/TPssrRegionMapper.java

@@ -27,7 +27,7 @@ public interface TPssrRegionMapper
      * @param tPssrRegion pssr区域管理
      * @return pssr区域管理集合
      */
-    @DataScope(deptAlias = "d")
+    
     public List<TPssrRegion> selectTPssrRegionList(TPssrRegion tPssrRegion);
 
     /**

+ 1 - 1
master/src/main/java/com/ruoyi/project/pssr/mapper/TPssrSafetyBleedMapper.java

@@ -28,7 +28,7 @@ public interface TPssrSafetyBleedMapper
      * @param tPssrSafetyBleed 安全设施-紧急泄放阀
      * @return 安全设施-紧急泄放阀集合
      */
-    @DataScope(deptAlias = "d")
+    
     public List<TPssrSafetyBleed> selectTPssrSafetyBleedList(TPssrSafetyBleed tPssrSafetyBleed);
 
     /**

+ 1 - 1
master/src/main/java/com/ruoyi/project/pssr/mapper/TPssrSafetyBreathMapper.java

@@ -27,7 +27,7 @@ public interface TPssrSafetyBreathMapper
      * @param tPssrSafetyBreath 安全设施-呼吸阀
      * @return 安全设施-呼吸阀集合
      */
-    @DataScope(deptAlias = "d")
+    
     public List<TPssrSafetyBreath> selectTPssrSafetyBreathList(TPssrSafetyBreath tPssrSafetyBreath);
 
     /**

+ 1 - 1
master/src/main/java/com/ruoyi/project/pssr/mapper/TPssrSafetyBrustMapper.java

@@ -27,7 +27,7 @@ public interface TPssrSafetyBrustMapper
      * @param tPssrSafetyBrust 安全设施-爆破片
      * @return 安全设施-爆破片集合
      */
-    @DataScope(deptAlias = "d")
+    
     public List<TPssrSafetyBrust> selectTPssrSafetyBrustList(TPssrSafetyBrust tPssrSafetyBrust);
 
     /**

+ 1 - 1
master/src/main/java/com/ruoyi/project/pssr/mapper/TPssrSafetyFlamearresterMapper.java

@@ -27,7 +27,7 @@ public interface TPssrSafetyFlamearresterMapper
      * @param tPssrSafetyFlamearrester 安全设施-阻火器
      * @return 安全设施-阻火器集合
      */
-    @DataScope(deptAlias = "d")
+    
     public List<TPssrSafetyFlamearrester> selectTPssrSafetyFlamearresterList(TPssrSafetyFlamearrester tPssrSafetyFlamearrester);
 
     /**

+ 1 - 1
master/src/main/java/com/ruoyi/project/pssr/mapper/TPssrSafetyValveMapper.java

@@ -27,7 +27,7 @@ public interface TPssrSafetyValveMapper
      * @param tPssrSafetyValve 安全设施-安全阀
      * @return 安全设施-安全阀集合
      */
-    @DataScope(deptAlias = "d")
+    
     public List<TPssrSafetyValve> selectTPssrSafetyValveList(TPssrSafetyValve tPssrSafetyValve);
 
     /**

+ 1 - 1
master/src/main/java/com/ruoyi/project/pssr/mapper/TPssrSubcontentMapper.java

@@ -27,7 +27,7 @@ public interface TPssrSubcontentMapper
      * @param tPssrSubcontent 开车条件确认
      * @return 开车条件确认集合
      */
-    @DataScope(deptAlias = "d")
+    
     public List<TPssrSubcontent> selectTPssrSubcontentList(TPssrSubcontent tPssrSubcontent);
     public List<TPssrSubcontent> selectTPssrSubcontentListByForShort(TPssrSubcontent tPssrSubcontent);
 

+ 1 - 1
master/src/main/java/com/ruoyi/project/pssr/mapper/TPssrTorchvocMapper.java

@@ -27,7 +27,7 @@ public interface TPssrTorchvocMapper
      * @param tPssrTorchvoc 火炬,VOC系统
      * @return 火炬,VOC系统集合
      */
-    @DataScope(deptAlias = "d")
+    
     public List<TPssrTorchvoc> selectTPssrTorchvocList(TPssrTorchvoc tPssrTorchvoc);
 
     /**

+ 1 - 1
master/src/main/java/com/ruoyi/project/pssr/mapper/TPssrTurndownMapper.java

@@ -28,7 +28,7 @@ public interface TPssrTurndownMapper
      * @param tPssrTurndown PSSR驳回原因
      * @return PSSR驳回原因集合
      */
-    @DataScope(deptAlias = "d")
+    
     public List<TPssrTurndown> selectTPssrTurndownList(TPssrTurndown tPssrTurndown);
 
     /**

+ 1 - 1
master/src/main/java/com/ruoyi/project/pssr/mapper/TPssrVesselMapper.java

@@ -28,7 +28,7 @@ public interface TPssrVesselMapper
      * @param tPssrVessel 压力容器
      * @return 压力容器集合
      */
-    @DataScope(deptAlias = "d")
+    
     public List<TPssrVessel> selectTPssrVesselList(TPssrVessel tPssrVessel);
 
     /**

+ 3 - 0
master/src/main/resources/mybatis/process/TMocMapper.xml

@@ -97,6 +97,9 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
             <if test="significance != null  and significance != ''"> and significance like concat(concat('%', #{significance}), '%')</if>
             <if test="classification != null  and classification != ''"> and classification like concat(concat('%', #{classification}), '%')</if>
             <if test="area != null  and area != ''"> and area like concat(concat('%', #{area}), '%')</if>
+            <if test="areas != null"> and area in <foreach item="area" collection="areas" open="(" separator="," close=")">
+                #{area}
+            </foreach></if>
             <if test="dashControl != null  and dashControl != ''"> and dash_control like concat(concat('%', #{dashControl}), '%')</if>
             <if test="title != null  and title != ''"> and title like concat(concat('%', #{title}), '%')</if>
             <if test="owner != null  and owner != ''"> and owner like concat(concat('%', #{owner}), '%')</if>

+ 17 - 1
master/src/main/resources/mybatis/pssr/TPssrInstrumentCalibrationMapper.xml

@@ -29,10 +29,16 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         <result property="confirm2"    column="confirm2"    />
         <result property="confirm1Name"    column="confirm1_name"    />
         <result property="confirm2Name"    column="confirm2_name"    />
+        <result property="flowCheck"    column="flow_check"    />
+        <result property="fileCheck"    column="file_check"    />
+        <result property="devType"    column="dev_type"    />
     </resultMap>
 
     <sql id="selectTPssrInstrumentCalibrationVo">
-        select d.id, u1.nick_name confirm1_name, u2.nick_name confirm2_name, d.confirm1, d.confirm2, d.sub_id, d.approve_id, d.unit, d.dev_no, d.visual_inspection, d.installation_inspection, d.functional_check, d.meter_checker, d.process_validator, 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_instrument_calibration d
+        select d.flow_check,
+            d.file_check,
+            d.dev_type,
+d.id, u1.nick_name confirm1_name, u2.nick_name confirm2_name, d.confirm1, d.confirm2, d.sub_id, d.approve_id, d.unit, d.dev_no, d.visual_inspection, d.installation_inspection, d.functional_check, d.meter_checker, d.process_validator, 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_instrument_calibration d
       left join sys_dept s on s.dept_id = d.dept_id
       left join sys_user u1 on u1.user_id = d.CONFIRM1
       left join sys_user u2 on u2.user_id = d.CONFIRM2
@@ -47,6 +53,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         <include refid="selectTPssrInstrumentCalibrationVo"/>
         <where>
             <if test="subId != null "> and sub_id = #{subId}</if>
+            <if test="devType != null "> and dev_type = #{devType}</if>
             <if test="approveId != null "> and approve_id = #{approveId}</if>
             <if test="unit != null  and unit != ''"> and unit = #{unit}</if>
             <if test="devNo != null  and devNo != ''"> and dev_no = #{devNo}</if>
@@ -110,6 +117,9 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
             <if test="approveStatus != null">approve_status,</if>
             <if test="confirm1 != null">confirm1,</if>
             <if test="confirm2 != null">confirm2,</if>
+            <if test="flowCheck != null">flow_check,</if>
+            <if test="fileCheck != null">file_check,</if>
+            <if test="devType != null">dev_type,</if>
          </trim>
         <trim prefix="values (" suffix=")" suffixOverrides=",">
             <if test="id != null">#{id},</if>
@@ -133,6 +143,9 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
             <if test="approveStatus != null">#{approveStatus},</if>
             <if test="confirm1 != null">#{confirm1},</if>
             <if test="confirm2 != null">#{confirm2},</if>
+            <if test="flowCheck != null">#{flowCheck},</if>
+            <if test="fileCheck != null">#{fileCheck},</if>
+            <if test="devType != null">#{devType},</if>
          </trim>
     </insert>
 
@@ -159,6 +172,9 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
             <if test="approveStatus != null">approve_status = #{approveStatus},</if>
             <if test="confirm1 != null">confirm1 = #{confirm1},</if>
             <if test="confirm2 != null">confirm2 = #{confirm2},</if>
+            <if test="flowCheck != null">flow_check = #{flowCheck},</if>
+            <if test="fileCheck != null">file_check = #{fileCheck},</if>
+            <if test="devType != null">dev_type = #{devType},</if>
         </trim>
         where id = #{id}
     </update>

BIN
master/src/main/resources/static/template/pssr/calibration.xlsx


+ 10 - 8
ui/src/views/pssr/instrumentCalibration/index.vue

@@ -147,11 +147,11 @@
           <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="devNo" :show-overflow-tooltip="true"/>
-      <el-table-column label="外观检查" align="center" prop="visualInspection" :show-overflow-tooltip="true"/>
-      <el-table-column label="安装检查" align="center" prop="installationInspection" :show-overflow-tooltip="true"/>
-      <el-table-column label="功能检查" align="center" prop="functionalCheck" :show-overflow-tooltip="true"/>
+      <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="visualInspection" :show-overflow-tooltip="true" width="180"/>
+      <el-table-column label="安装检查" align="center" prop="installationInspection" :show-overflow-tooltip="true" width="180"/>
+      <el-table-column label="功能检查" align="center" prop="functionalCheck" :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">
@@ -169,9 +169,9 @@
           <span>{{ parseTime(scope.row.confirmationDate, '{y}-{m}-{d}') }}</span>
         </template>
       </el-table-column>
-      <el-table-column label="驳回原因" align="center" prop="reason" :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">
+      <el-table-column label="驳回原因" align="center" prop="reason" :show-overflow-tooltip="true" width="180"/>
+      <el-table-column label="备注" align="center" prop="remarks" :show-overflow-tooltip="true" width="180"/>
+      <el-table-column label="操作" align="center" fixed="right" class-name="small-padding fixed-width" width="180" v-if="isApprove==0">
         <template slot-scope="scope">
           <el-button
             size="mini"
@@ -459,6 +459,7 @@ export default {
         subId: this.subId,
         approveId: null,
         unit: null,
+        devType: '1',
         devNo: null,
         visualInspection: null,
         installationInspection: null,
@@ -526,6 +527,7 @@ export default {
         id: null,
         subId: this.subId,
         approveId: null,
+        devType: '1',
         unit: null,
         devNo: null,
         visualInspection: null,

+ 736 - 0
ui/src/views/pssr/instrumentCalibration/liquidometer.vue

@@ -0,0 +1,736 @@
+<template>
+  <div class="app-container">
+    <el-form :model="queryParams" ref="queryForm" :inline="true" v-show="showSearch" label-width="68px">
+      <el-form-item label="单元号" prop="unit">
+        <el-input
+          v-model="queryParams.unit"
+          placeholder="请输入单元号"
+          clearable
+          size="small"
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label="液位计位号" prop="devNo">
+        <el-input
+          v-model="queryParams.devNo"
+          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>
+      </el-form-item>
+    </el-form>
+
+    <el-row :gutter="10" class="mb8">
+      <el-col :span="1.5">
+        <el-button
+          type="primary"
+          icon="el-icon-plus"
+          size="mini"
+          @click="handleAdd"
+          v-hasPermi="['pssr:instrumentCalibration:add']"
+          v-if="isApprove==0"
+        >新增</el-button>
+      </el-col>
+      <el-col :span="1.5">
+        <el-button
+          type="success"
+          icon="el-icon-edit"
+          size="mini"
+          :disabled="single"
+          @click="handleUpdate"
+          v-hasPermi="['pssr:instrumentCalibration:edit']"
+          v-if="isApprove==0"
+        >修改</el-button>
+      </el-col>
+      <el-col :span="1.5">
+        <el-button
+          type="success"
+          icon="el-icon-edit"
+          size="mini"
+          :disabled="multiple"
+          @click="handleBatch"
+          v-if="isApprove==0"
+          v-hasPermi="['pssr:instrumentCalibration:edit']"
+        >批量修改
+        </el-button>
+      </el-col>
+      <el-col :span="1.5">
+        <el-button
+          type="danger"
+          icon="el-icon-delete"
+          size="mini"
+          :disabled="multiple"
+          @click="handleDelete"
+          v-hasPermi="['pssr:instrumentCalibration:remove']"
+          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:instrumentCalibration:edit']"
+          v-if="isApprove==0"
+        >导入</el-button>
+      </el-col>
+      <el-col :span="1.5">
+        <el-button
+          type="warning"
+          icon="el-icon-download"
+          size="mini"
+          @click="handleExport"
+          v-hasPermi="['pssr:instrumentCalibration:export']"
+          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:instrumentCalibration: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:instrumentCalibration:edit']"
+        >确认
+        </el-button>
+      </el-col>
+      <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:instrumentCalibration:edit']"
+        >驳回
+        </el-button>
+      </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>
+      检查要求:<br>
+      1.外观检查:液位计外观检查无明显瑕疵,设备完整良好;仪表位号牌齐全。现场检查符合要求的,在“外观检查”项中打”✔“,不符合打“×”。<br>
+      2.安装检查:液位计回装位置正确。现场检查符合要求的,在“安装检查”项中打”✔“,不符合打“×”。<br>
+      3.功能检查:液位计已经校验或清洗测试完成,功能完好;一次阀已经投用,具备使用条件。现场检查符合要求的,在“功能检查”项中打”✔“,不符合打“×”。<br>
+      以上检查中不符合要求的,必须按照该条检查内容的要求立即整改。如不能立即整改的,请立即汇报相关负责人并采取临时应对措施。<br>
+
+
+    </div>
+
+    <el-table v-loading="loading" :data="instrumentCalibrationList" @selection-change="handleSelectionChange" :height="clientHeight" border>
+      <el-table-column type="selection" width="55" align="center" />
+      <el-table-column label="审批状态" align="center" prop="approveStatus" width="100">
+        <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" width="180"/>
+      <el-table-column label="液位计位号" align="center" prop="devNo" :show-overflow-tooltip="true" width="180"/>
+      <el-table-column label="外观检查" align="center" prop="visualInspection" :show-overflow-tooltip="true" width="180"/>
+      <el-table-column label="安装检查" align="center" prop="installationInspection" :show-overflow-tooltip="true" width="180"/>
+      <el-table-column label="功能检查" align="center" prop="functionalCheck" :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>{{ scope.row.confirm1Name }}</span>
+        </template>
+      </el-table-column>
+      <el-table-column label="确认人2" align="center" prop="confirm2" :show-overflow-tooltip="true"
+                       width="150">
+        <template slot-scope="scope">
+          <span>{{ scope.row.confirm2Name }}</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="reason" :show-overflow-tooltip="true" width="180"/>
+      <el-table-column label="备注" align="center" prop="remarks" :show-overflow-tooltip="true" width="180"/>
+      <el-table-column label="操作" align="center" fixed="right" class-name="small-padding fixed-width" width="180" v-if="isApprove==0">
+        <template slot-scope="scope">
+          <el-button
+            size="mini"
+            type="text"
+            icon="el-icon-folder"
+
+            @click="handleDoc(scope.row)"
+          >附件
+          </el-button>
+          <el-button
+            size="mini"
+            type="text"
+            icon="el-icon-edit"
+            @click="handleUpdate(scope.row)"
+            v-hasPermi="['pssr:instrumentCalibration:edit']"
+          >修改</el-button>
+          <el-button
+            size="mini"
+            type="text"
+            icon="el-icon-delete"
+            @click="handleDelete(scope.row)"
+            v-hasPermi="['pssr:instrumentCalibration:remove']"
+          >删除</el-button>
+        </template>
+      </el-table-column>
+    </el-table>
+
+    <pagination
+      v-show="total>0"
+      :total="total"
+      :page.sync="queryParams.pageNum"
+      :limit.sync="queryParams.pageSize"
+      @pagination="getList"
+    />
+
+    <!-- 添加或修改仪校验对话框 -->
+    <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="单元号" prop="unit">
+          <el-input v-model="form.unit" placeholder="请输入单元号" />
+        </el-form-item>
+        <el-form-item label="液位计位号" prop="devNo">
+          <el-input v-model="form.devNo" placeholder="请输入液位计位号" />
+        </el-form-item>
+        <el-form-item label="外观检查" prop="visualInspection">
+          <el-radio v-model="form.visualInspection" label="✔" border>✔</el-radio>
+          <el-radio v-model="form.visualInspection" label="✖" border>✖</el-radio>
+        </el-form-item>
+        <el-form-item label="安装检查" prop="installationInspection">
+          <el-radio v-model="form.installationInspection" label="✔" border>✔</el-radio>
+          <el-radio v-model="form.installationInspection" label="✖" border>✖</el-radio>
+        </el-form-item>
+        <el-form-item label="功能检查" prop="functionalCheck">
+          <el-radio v-model="form.functionalCheck" label="✔" border>✔</el-radio>
+          <el-radio v-model="form.functionalCheck" label="✖" border>✖</el-radio>
+        </el-form-item>
+        <el-form-item label="确认人1" prop="confirm1">
+          <el-select v-model="form.confirm1" clearable filterable style="width: 100%;"
+                     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="确认人2" prop="confirm2">
+          <el-select v-model="form.confirm2" clearable filterable style="width: 100%;"
+                     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-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="批量修改" :visible.sync="openBatch" width="500px" append-to-body>
+      <el-form ref="form" :model="form" label-width="80px">
+        <el-form-item>
+          <span>已选择 {{ ids.length }} 条数据</span>
+        </el-form-item>
+        <el-form-item label="确认人1" prop="confirm1"
+                      v-if="isApprove==0">
+          <el-select v-model="form.confirm1" clearable filterable style="width: 100%;"
+                     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="确认人2" prop="confirm2"
+                      v-if="isApprove==0">
+          <el-select v-model="form.confirm2" clearable filterable style="width: 100%;"
+                     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="时间"  v-hasPermi="['pssr:date:edit']" prop="confirmationDate">
+          <el-date-picker clearable size="small" style="width: 200px"
+                          v-model="form.confirmationDate"
+                          type="date"
+                          value-format="yyyy-MM-dd"
+                          placeholder="选择时间">
+          </el-date-picker>
+        </el-form-item>
+        <el-form-item label="备注" prop="remarks">
+          <el-input v-model="form.remarks" placeholder="请输入备注"/>
+        </el-form-item>
+      </el-form>
+      <div slot="footer" class="dialog-footer">
+        <el-button type="primary" @click="submitFormBatch">确 定</el-button>
+        <el-button @click="cancelBatch">取 消</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"
+        :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>
+          <form ref="downloadFileForm" :action="upload.downloadAction" target="FORMSUBMIT">
+            <input name="type" :value="upload.type" hidden />
+          </form>
+        </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 v-dialogDrag :close-on-click-modal="false" :visible.sync="doc.open" append-to-body title="现场照片"
+               width="1000px">
+      <el-image v-for="file in doc.fileList" :key="file.id" :src="file.fileUrl" lazy></el-image>
+    </el-dialog>
+    <!-- 驳回原因对话框 -->
+    <el-dialog v-dialogDrag :close-on-click-modal="false" :visible.sync="reason.open" append-to-body title="驳回"
+               width="1000px">
+      <el-table  :data="items" border>
+        <el-table-column label="单元号" align="center" prop="unit" :show-overflow-tooltip="true"/>
+        <el-table-column label="液位计位号" align="center" prop="devNo" :show-overflow-tooltip="true"/>
+        <el-table-column label="驳回原因" align="center" prop="reason" :show-overflow-tooltip="true">
+          <template slot-scope="scope">
+            <el-input v-model="scope.row.reason" placeholder="请输入驳回原因"/>
+          </template>
+        </el-table-column>
+      </el-table>
+      <div slot="footer" class="dialog-footer">
+        <el-button type="primary" @click="submitReasonForm">确 定</el-button>
+        <el-button @click="reasonCancel">取 消</el-button>
+      </div>
+    </el-dialog>
+  </div>
+</template>
+
+<script>
+import {
+  addInstrumentCalibration,
+  delInstrumentCalibration,
+  exportInstrumentCalibration,
+  getInstrumentCalibration,
+  handleConfirmInstrumentCalibration,
+  handleTurnDownInstrumentCalibration,
+  importTemplate,
+  listInstrumentCalibration,
+  updateInstrumentCalibration,
+  updateInstrumentCalibrationBatch,
+} from "@/api/pssr/instrumentCalibration";
+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 {getPssrUser} from "@/api/pssr/aboveall";
+import {listFile} from "@/api/pssr/file";
+import {doApprove} from "@/api/pssr/approve";
+import {updateMaterialBatch} from "@/api/pssr/material";
+
+export default {
+  dicts:['pssr_approve_status'],
+  name: "liquidometer",
+  components: { Treeselect },
+  props: {
+    subId: {
+      type: Number,
+      default: 0
+    },
+    isApprove: {
+      type: Number,
+      default: 0
+    },
+  },
+  data() {
+    return {
+      reason: {
+        open: false
+      },
+      doc: {
+        file: "",
+        // 是否显示弹出层(报告附件)
+        open: false,
+        fileList: [],
+        queryParams: {
+          itemId: null,
+          subId: this.subId,
+          forShort: 'ybjy'
+        },
+      },
+      userOptions: [],
+      // 遮罩层
+      loading: true,
+      // 选中数组
+      ids: [],
+      items: [],
+      // 非单个禁用
+      single: true,
+      // 非多个禁用
+      multiple: true,
+      // 显示搜索条件
+      showSearch: false,
+      // 总条数
+      total: 0,
+      // 仪校验表格数据
+      instrumentCalibrationList: [],
+      // 弹出层标题
+      title: "",
+      // 部门树选项
+      deptOptions: undefined,
+      clientHeight:300,
+      // 是否显示弹出层
+      open: false,
+      openBatch: false,
+      // 用户导入参数
+      upload: {
+        //下载模板请求地址
+        downloadAction: process.env.VUE_APP_BASE_API + '/common/template',
+        //下载模板类型
+        type: 'calibration',
+        // 是否显示弹出层(用户导入)
+        open: false,
+        // 弹出层标题(用户导入)
+        title: "",
+        // 是否禁用上传
+        isUploading: false,
+        // 是否更新已经存在的用户数据
+        updateSupport: 0,
+        // 设置上传的请求头部
+        headers: { Authorization: "Bearer " + getToken() },
+        // 上传的地址
+        url: process.env.VUE_APP_BASE_API + "/pssr/instrumentCalibration/importData?subId=" + this.subId
+      },
+      // 查询参数
+      queryParams: {
+        pageNum: 1,
+        pageSize: 20,
+        subId: this.subId,
+        approveId: null,
+        unit: null,
+        devNo: null,
+        visualInspection: null,
+        installationInspection: null,
+        functionalCheck: null,
+        meterChecker: null,
+        devType: '2',
+        processValidator: null,
+        confirmationDate: null,
+        createrCode: null,
+        createdate: null,
+        updaterCode: null,
+        updatedate: null,
+        deptId: null,
+        remarks: null
+      },
+      // 表单参数
+      form: {},
+      // 表单校验
+      rules: {
+        confirm1: [{required: true, message: "人员不可为空", trigger: "blur"}],
+        confirm2: [{required: true, message: "人员不可为空", trigger: "blur"}],
+      }
+    };
+  },
+  watch: {
+    // 根据名称筛选部门树
+    deptName(val) {
+      this.$refs.tree.filter(val);
+    }
+  },
+  created() {
+    //设置表格高度对应屏幕高度
+    this.$nextTick(() => {
+      this.clientHeight = document.body.clientHeight - 350
+    })
+    this.getList();
+    this.getTreeselect();
+    getPssrUser({}).then(res => {
+      this.userOptions = res.data
+    });
+  },
+  methods: {
+    /** 查询仪校验列表 */
+    getList() {
+      this.loading = true;
+      listInstrumentCalibration(this.queryParams).then(response => {
+        this.instrumentCalibrationList = response.rows;
+        this.total = response.total;
+        this.loading = false;
+      });
+    },
+    /** 查询部门下拉树结构 */
+    getTreeselect() {
+      treeselect().then(response => {
+        this.deptOptions = response.data;
+      });
+    },
+    // 取消按钮
+    cancel() {
+      this.open = false;
+      this.reset();
+    },
+    // 表单重置
+    reset() {
+      this.form = {
+        id: null,
+        subId: this.subId,
+        approveId: null,
+        unit: null,
+        devNo: null,
+        visualInspection: null,
+        installationInspection: null,
+        functionalCheck: null,
+        meterChecker: null,
+        processValidator: null,
+        confirmationDate: null,
+        delFlag: null,
+        createrCode: null,
+        createdate: null,
+        devType: '2',
+        updaterCode: null,
+        updatedate: null,
+        deptId: null,
+        remarks: null
+      };
+      this.resetForm("form");
+    },
+    /** 搜索按钮操作 */
+    handleQuery() {
+      this.queryParams.pageNum = 1;
+      this.getList();
+    },
+    /** 重置按钮操作 */
+    resetQuery() {
+      this.resetForm("queryForm");
+      this.handleQuery();
+    },
+    // 多选框选中数据
+    handleSelectionChange(selection) {
+      this.items=selection;
+      this.ids = selection.map(item => item.id)
+      this.single = selection.length!==1
+      this.multiple = !selection.length
+    },
+    /** 新增按钮操作 */
+    handleAdd() {
+      this.reset();
+      this.open = true;
+      this.title = "添加仪校验";
+    },
+    /** 修改按钮操作 */
+    handleUpdate(row) {
+      this.reset();
+      const id = row.id || this.ids
+      getInstrumentCalibration(id).then(response => {
+        this.form = response.data;
+        this.open = true;
+        this.title = "修改仪校验";
+      });
+    },
+    /** 提交按钮 */
+    submitForm() {
+      this.$refs["form"].validate(valid => {
+        if (valid) {
+          if (this.form.id != null) {
+            updateInstrumentCalibration(this.form).then(response => {
+              this.msgSuccess("修改成功");
+              this.open = false;
+              this.getList();
+            });
+          } else {
+            addInstrumentCalibration(this.form).then(response => {
+              this.msgSuccess("新增成功");
+              this.open = false;
+              this.getList();
+            });
+          }
+        }
+      });
+    },
+    /** 删除按钮操作 */
+    handleDelete(row) {
+      const ids = row.id || this.ids;
+      this.$confirm('是否确认删除?', "警告", {
+        confirmButtonText: "确定",
+        cancelButtonText: "取消",
+        type: "warning"
+      }).then(function() {
+        return delInstrumentCalibration(ids);
+      }).then(() => {
+        this.getList();
+        this.msgSuccess("删除成功");
+      })
+    },
+    /** 导出按钮操作 */
+    handleExport() {
+      const queryParams = this.queryParams;
+      this.$confirm('是否确认导出所有仪校验数据项?', "警告", {
+        confirmButtonText: "确定",
+        cancelButtonText: "取消",
+        type: "warning"
+      }).then(function() {
+        return exportInstrumentCalibration(queryParams);
+      }).then(response => {
+        this.download(response.msg);
+      })
+    },
+    /** 导入按钮操作 */
+    handleImport() {
+      this.upload.title = "用户导入";
+      this.upload.open = true;
+    },
+    /** 下载模板操作 */
+    importTemplate() {
+      this.$refs['downloadFileForm'].submit()
+    },
+    // 文件上传中处理
+    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
+      }
+      handleConfirmInstrumentCalibration(data).then(res => {
+        this.msgSuccess("确认成功");
+        this.getList()
+        this.$emit('refreshHisList');
+      })
+    },
+    handleTurnDown(val) {
+      this.reason.open=true;
+    },
+    userFormat(userId) {
+      for (let item of this.userOptions) {
+        if (item.userId == userId) {
+          return item.nickName
+        }
+      }
+    },
+    /** 报告附件按钮操作 */
+    handleDoc(row) {
+      this.doc.fileList=[]
+      this.doc.open = true;
+      this.doc.queryParams.itemId = row.id
+      this.getFileList()
+    },
+    getFileList() {
+      listFile(this.doc.queryParams).then(response => {
+        this.doc.fileList = response.rows;
+        this.doc.fileList.forEach(item => {
+          item.fileUrl = process.env.VUE_APP_BASE_API + item.fileUrl;
+        });
+      });
+    },
+
+    reasonCancel() {
+      this.reason.open = false;
+    },
+    submitReasonForm(){
+      handleTurnDownInstrumentCalibration(this.items).then(res => {
+        this.msgSuccess("驳回成功");
+        this.reason.open = false;
+        this.$emit('refreshHisList');
+      })
+    },
+    handleBatch(){
+      this.reset();
+      this.openBatch = true
+    },
+    // 取消按钮
+    cancelBatch() {
+      this.openBatch = false;
+      this.reset();
+    },
+    /** 提交按钮 */
+    submitFormBatch() {
+      this.$refs["form"].validate(valid => {
+        if (valid) {
+          this.form.ids = this.ids
+          updateInstrumentCalibrationBatch(this.form).then(response => {
+            this.msgSuccess("修改成功");
+            this.openBatch = false;
+            this.getList();
+          });
+        }
+      });
+    },
+  }
+};
+</script>

+ 742 - 0
ui/src/views/pssr/instrumentCalibration/regulatingValve.vue

@@ -0,0 +1,742 @@
+<template>
+  <div class="app-container">
+    <el-form :model="queryParams" ref="queryForm" :inline="true" v-show="showSearch" label-width="68px">
+      <el-form-item label="单元号" prop="unit">
+        <el-input
+          v-model="queryParams.unit"
+          placeholder="请输入单元号"
+          clearable
+          size="small"
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label="调节阀位号" prop="devNo">
+        <el-input
+          v-model="queryParams.devNo"
+          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>
+      </el-form-item>
+    </el-form>
+
+    <el-row :gutter="10" class="mb8">
+      <el-col :span="1.5">
+        <el-button
+          type="primary"
+          icon="el-icon-plus"
+          size="mini"
+          @click="handleAdd"
+          v-hasPermi="['pssr:instrumentCalibration:add']"
+          v-if="isApprove==0"
+        >新增</el-button>
+      </el-col>
+      <el-col :span="1.5">
+        <el-button
+          type="success"
+          icon="el-icon-edit"
+          size="mini"
+          :disabled="single"
+          @click="handleUpdate"
+          v-hasPermi="['pssr:instrumentCalibration:edit']"
+          v-if="isApprove==0"
+        >修改</el-button>
+      </el-col>
+      <el-col :span="1.5">
+        <el-button
+          type="success"
+          icon="el-icon-edit"
+          size="mini"
+          :disabled="multiple"
+          @click="handleBatch"
+          v-if="isApprove==0"
+          v-hasPermi="['pssr:instrumentCalibration:edit']"
+        >批量修改
+        </el-button>
+      </el-col>
+      <el-col :span="1.5">
+        <el-button
+          type="danger"
+          icon="el-icon-delete"
+          size="mini"
+          :disabled="multiple"
+          @click="handleDelete"
+          v-hasPermi="['pssr:instrumentCalibration:remove']"
+          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:instrumentCalibration:edit']"
+                    v-if="isApprove==0"
+            >导入</el-button>
+        </el-col>
+      <el-col :span="1.5">
+        <el-button
+          type="warning"
+          icon="el-icon-download"
+          size="mini"
+          @click="handleExport"
+          v-hasPermi="['pssr:instrumentCalibration:export']"
+          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:instrumentCalibration: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:instrumentCalibration:edit']"
+        >确认
+        </el-button>
+      </el-col>
+      <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:instrumentCalibration:edit']"
+        >驳回
+        </el-button>
+      </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>
+      检查要求:<br>
+      1.外观检查:阀门外观检查无明显瑕疵,设备完整良好;电缆及保护套完好,敷设合理;仪表风管紧固,接头无泄漏;仪表位号牌齐全。现场检查符合要求的,在“外观检查”项中打”✔“,不符合打“×”。<br>
+      2.流向检查:阀门安装正确,阀门流向与管道介质流向一致。现场检查符合要求的,在“流向检查”项中打”✔“,不符合打“×”。<br>
+      3.附件检查:过滤减压阀完好,功能正常;定位器,电磁阀等其他附件完好。现场检查符合要求的,在“附件检查”项中打”✔“,不符合打“×”。<br>
+      4.功能检查:阀门行程调试正常;功能测试正常。现场检查符合要求的,在“附件检查”项中打”✔“,不符合打“×”。<br>
+      以上检查中不符合要求的,必须按照该条检查内容的要求立即整改。如不能立即整改的,请立即汇报相关负责人并采取临时应对措施。<br>
+    </div>
+
+    <el-table v-loading="loading" :data="instrumentCalibrationList" @selection-change="handleSelectionChange" :height="clientHeight" border>
+      <el-table-column type="selection" width="55" align="center" />
+      <el-table-column label="审批状态" align="center" prop="approveStatus" width="100">
+        <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" width="180"/>
+      <el-table-column label="调节阀位号" align="center" prop="devNo" :show-overflow-tooltip="true" width="180"/>
+      <el-table-column label="外观检查" align="center" prop="visualInspection" :show-overflow-tooltip="true" width="180"/>
+      <el-table-column label="流向检查" align="center" prop="flowCheck" :show-overflow-tooltip="true" width="180"/>
+      <el-table-column label="附件检查" align="center" prop="fileCheck" :show-overflow-tooltip="true" width="180"/>
+      <el-table-column label="功能检查" align="center" prop="functionalCheck" :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>{{ scope.row.confirm1Name }}</span>
+        </template>
+      </el-table-column>
+      <el-table-column label="确认人2" align="center" prop="confirm2" :show-overflow-tooltip="true"
+                       width="150">
+        <template slot-scope="scope">
+          <span>{{ scope.row.confirm2Name }}</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="reason" :show-overflow-tooltip="true" width="180"/>
+      <el-table-column label="备注" align="center" prop="remarks" :show-overflow-tooltip="true" width="180"/>
+      <el-table-column label="操作" align="center" fixed="right" class-name="small-padding fixed-width" width="180" v-if="isApprove==0">
+        <template slot-scope="scope">
+          <el-button
+            size="mini"
+            type="text"
+            icon="el-icon-folder"
+
+            @click="handleDoc(scope.row)"
+          >附件
+          </el-button>
+          <el-button
+            size="mini"
+            type="text"
+            icon="el-icon-edit"
+            @click="handleUpdate(scope.row)"
+            v-hasPermi="['pssr:instrumentCalibration:edit']"
+          >修改</el-button>
+          <el-button
+            size="mini"
+            type="text"
+            icon="el-icon-delete"
+            @click="handleDelete(scope.row)"
+            v-hasPermi="['pssr:instrumentCalibration:remove']"
+          >删除</el-button>
+        </template>
+      </el-table-column>
+    </el-table>
+
+    <pagination
+      v-show="total>0"
+      :total="total"
+      :page.sync="queryParams.pageNum"
+      :limit.sync="queryParams.pageSize"
+      @pagination="getList"
+    />
+
+    <!-- 添加或修改仪校验对话框 -->
+    <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="单元号" prop="unit">
+          <el-input v-model="form.unit" placeholder="请输入单元号" />
+        </el-form-item>
+        <el-form-item label="调节阀位号" prop="devNo">
+          <el-input v-model="form.devNo" placeholder="请输入调节阀位号" />
+        </el-form-item>
+        <el-form-item label="外观检查" prop="visualInspection">
+          <el-radio v-model="form.visualInspection" label="✔" border>✔</el-radio>
+          <el-radio v-model="form.visualInspection" label="✖" border>✖</el-radio>
+        </el-form-item>
+        <el-form-item label="流向检查" prop="flowCheck">
+          <el-radio v-model="form.flowCheck" label="✔" border>✔</el-radio>
+          <el-radio v-model="form.flowCheck" label="✖" border>✖</el-radio>
+        </el-form-item>
+        <el-form-item label="附件检查" prop="fileCheck">
+          <el-radio v-model="form.fileCheck" label="✔" border>✔</el-radio>
+          <el-radio v-model="form.fileCheck" label="✖" border>✖</el-radio>
+        </el-form-item>
+        <el-form-item label="功能检查" prop="functionalCheck">
+          <el-radio v-model="form.functionalCheck" label="✔" border>✔</el-radio>
+          <el-radio v-model="form.functionalCheck" label="✖" border>✖</el-radio>
+        </el-form-item>
+        <el-form-item label="确认人1" prop="confirm1">
+        <el-select v-model="form.confirm1" clearable filterable style="width: 100%;"
+                   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="确认人2" prop="confirm2">
+          <el-select v-model="form.confirm2" clearable filterable style="width: 100%;"
+                     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-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="批量修改" :visible.sync="openBatch" width="500px" append-to-body>
+      <el-form ref="form" :model="form" label-width="80px">
+        <el-form-item>
+          <span>已选择 {{ ids.length }} 条数据</span>
+        </el-form-item>
+        <el-form-item label="确认人1" prop="confirm1"
+                      v-if="isApprove==0">
+          <el-select v-model="form.confirm1" clearable filterable style="width: 100%;"
+                     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="确认人2" prop="confirm2"
+                      v-if="isApprove==0">
+          <el-select v-model="form.confirm2" clearable filterable style="width: 100%;"
+                     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="时间"  v-hasPermi="['pssr:date:edit']" prop="confirmationDate">
+          <el-date-picker clearable size="small" style="width: 200px"
+                          v-model="form.confirmationDate"
+                          type="date"
+                          value-format="yyyy-MM-dd"
+                          placeholder="选择时间">
+          </el-date-picker>
+        </el-form-item>
+        <el-form-item label="备注" prop="remarks">
+          <el-input v-model="form.remarks" placeholder="请输入备注"/>
+        </el-form-item>
+      </el-form>
+      <div slot="footer" class="dialog-footer">
+        <el-button type="primary" @click="submitFormBatch">确 定</el-button>
+        <el-button @click="cancelBatch">取 消</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"
+                  :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>
+                <form ref="downloadFileForm" :action="upload.downloadAction" target="FORMSUBMIT">
+                  <input name="type" :value="upload.type" hidden />
+                </form>
+              </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 v-dialogDrag :close-on-click-modal="false" :visible.sync="doc.open" append-to-body title="现场照片"
+               width="1000px">
+      <el-image v-for="file in doc.fileList" :key="file.id" :src="file.fileUrl" lazy></el-image>
+    </el-dialog>
+  <!-- 驳回原因对话框 -->
+    <el-dialog v-dialogDrag :close-on-click-modal="false" :visible.sync="reason.open" append-to-body title="驳回"
+               width="1000px">
+      <el-table  :data="items" border>
+        <el-table-column label="单元号" align="center" prop="unit" :show-overflow-tooltip="true"/>
+        <el-table-column label="调节阀位号" align="center" prop="devNo" :show-overflow-tooltip="true"/>
+        <el-table-column label="驳回原因" align="center" prop="reason" :show-overflow-tooltip="true">
+          <template slot-scope="scope">
+              <el-input v-model="scope.row.reason" placeholder="请输入驳回原因"/>
+          </template>
+        </el-table-column>
+      </el-table>
+      <div slot="footer" class="dialog-footer">
+        <el-button type="primary" @click="submitReasonForm">确 定</el-button>
+        <el-button @click="reasonCancel">取 消</el-button>
+      </div>
+    </el-dialog>
+</div>
+</template>
+
+<script>
+import {
+  addInstrumentCalibration,
+  delInstrumentCalibration,
+  exportInstrumentCalibration,
+  getInstrumentCalibration,
+  handleConfirmInstrumentCalibration,
+  handleTurnDownInstrumentCalibration,
+  importTemplate,
+  listInstrumentCalibration,
+  updateInstrumentCalibration,
+  updateInstrumentCalibrationBatch,
+} from "@/api/pssr/instrumentCalibration";
+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 {getPssrUser} from "@/api/pssr/aboveall";
+import {listFile} from "@/api/pssr/file";
+import {doApprove} from "@/api/pssr/approve";
+import {updateMaterialBatch} from "@/api/pssr/material";
+
+export default {
+  dicts:['pssr_approve_status'],
+  name: "regulatingValve",
+  components: { Treeselect },
+  props: {
+    subId: {
+      type: Number,
+      default: 0
+    },
+    isApprove: {
+      type: Number,
+      default: 0
+    },
+  },
+  data() {
+    return {
+      reason: {
+        open: false
+      },
+      doc: {
+        file: "",
+        // 是否显示弹出层(报告附件)
+        open: false,
+        fileList: [],
+        queryParams: {
+          itemId: null,
+          subId: this.subId,
+          forShort: 'ybjy'
+        },
+      },
+      userOptions: [],
+      // 遮罩层
+      loading: true,
+      // 选中数组
+      ids: [],
+      items: [],
+      // 非单个禁用
+      single: true,
+      // 非多个禁用
+      multiple: true,
+      // 显示搜索条件
+      showSearch: false,
+      // 总条数
+      total: 0,
+      // 仪校验表格数据
+      instrumentCalibrationList: [],
+      // 弹出层标题
+      title: "",
+      // 部门树选项
+      deptOptions: undefined,
+      clientHeight:300,
+      // 是否显示弹出层
+      open: false,
+      openBatch: false,
+        // 用户导入参数
+        upload: {
+          //下载模板请求地址
+          downloadAction: process.env.VUE_APP_BASE_API + '/common/template',
+          //下载模板类型
+          type: 'calibration',
+            // 是否显示弹出层(用户导入)
+            open: false,
+            // 弹出层标题(用户导入)
+            title: "",
+            // 是否禁用上传
+            isUploading: false,
+            // 是否更新已经存在的用户数据
+            updateSupport: 0,
+            // 设置上传的请求头部
+            headers: { Authorization: "Bearer " + getToken() },
+            // 上传的地址
+            url: process.env.VUE_APP_BASE_API + "/pssr/instrumentCalibration/importData?subId=" + this.subId
+        },
+      // 查询参数
+      queryParams: {
+        pageNum: 1,
+        pageSize: 20,
+        subId: this.subId,
+        approveId: null,
+        unit: null,
+        devNo: null,
+        visualInspection: null,
+        installationInspection: null,
+        functionalCheck: null,
+        meterChecker: null,
+        processValidator: null,
+        confirmationDate: null,
+        createrCode: null,
+        createdate: null,
+        updaterCode: null,
+        updatedate: null,
+        deptId: null,
+        devType: '3',
+        remarks: null
+      },
+      // 表单参数
+      form: {},
+      // 表单校验
+      rules: {
+        confirm1: [{required: true, message: "人员不可为空", trigger: "blur"}],
+        confirm2: [{required: true, message: "人员不可为空", trigger: "blur"}],
+      }
+    };
+  },
+  watch: {
+        // 根据名称筛选部门树
+        deptName(val) {
+            this.$refs.tree.filter(val);
+        }
+   },
+  created() {
+      //设置表格高度对应屏幕高度
+      this.$nextTick(() => {
+          this.clientHeight = document.body.clientHeight - 350
+      })
+    this.getList();
+    this.getTreeselect();
+    getPssrUser({}).then(res => {
+      this.userOptions = res.data
+    });
+  },
+  methods: {
+    /** 查询仪校验列表 */
+    getList() {
+      this.loading = true;
+      listInstrumentCalibration(this.queryParams).then(response => {
+        this.instrumentCalibrationList = response.rows;
+        this.total = response.total;
+        this.loading = false;
+      });
+    },
+     /** 查询部门下拉树结构 */
+     getTreeselect() {
+          treeselect().then(response => {
+              this.deptOptions = response.data;
+          });
+     },
+    // 取消按钮
+    cancel() {
+      this.open = false;
+      this.reset();
+    },
+    // 表单重置
+    reset() {
+      this.form = {
+        id: null,
+        subId: this.subId,
+        approveId: null,
+        unit: null,
+        devNo: null,
+        visualInspection: null,
+        installationInspection: null,
+        functionalCheck: null,
+        meterChecker: null,
+        processValidator: null,
+        confirmationDate: null,
+        delFlag: null,
+        createrCode: null,
+        createdate: null,
+        flowCheck: null,
+        fileCheck: null,
+        devType: '3',
+        updaterCode: null,
+        updatedate: null,
+        deptId: null,
+        remarks: null
+      };
+      this.resetForm("form");
+    },
+    /** 搜索按钮操作 */
+    handleQuery() {
+      this.queryParams.pageNum = 1;
+      this.getList();
+    },
+    /** 重置按钮操作 */
+    resetQuery() {
+      this.resetForm("queryForm");
+      this.handleQuery();
+    },
+    // 多选框选中数据
+    handleSelectionChange(selection) {
+      this.items=selection;
+      this.ids = selection.map(item => item.id)
+      this.single = selection.length!==1
+      this.multiple = !selection.length
+    },
+    /** 新增按钮操作 */
+    handleAdd() {
+      this.reset();
+      this.open = true;
+      this.title = "添加仪校验";
+    },
+    /** 修改按钮操作 */
+    handleUpdate(row) {
+      this.reset();
+      const id = row.id || this.ids
+      getInstrumentCalibration(id).then(response => {
+        this.form = response.data;
+        this.open = true;
+        this.title = "修改仪校验";
+      });
+    },
+    /** 提交按钮 */
+    submitForm() {
+      this.$refs["form"].validate(valid => {
+        if (valid) {
+          if (this.form.id != null) {
+            updateInstrumentCalibration(this.form).then(response => {
+              this.msgSuccess("修改成功");
+              this.open = false;
+              this.getList();
+            });
+          } else {
+            addInstrumentCalibration(this.form).then(response => {
+              this.msgSuccess("新增成功");
+              this.open = false;
+              this.getList();
+            });
+          }
+        }
+      });
+    },
+    /** 删除按钮操作 */
+    handleDelete(row) {
+      const ids = row.id || this.ids;
+      this.$confirm('是否确认删除?', "警告", {
+          confirmButtonText: "确定",
+          cancelButtonText: "取消",
+          type: "warning"
+        }).then(function() {
+          return delInstrumentCalibration(ids);
+        }).then(() => {
+          this.getList();
+          this.msgSuccess("删除成功");
+        })
+    },
+    /** 导出按钮操作 */
+    handleExport() {
+      const queryParams = this.queryParams;
+      this.$confirm('是否确认导出所有仪校验数据项?', "警告", {
+          confirmButtonText: "确定",
+          cancelButtonText: "取消",
+          type: "warning"
+        }).then(function() {
+          return exportInstrumentCalibration(queryParams);
+        }).then(response => {
+          this.download(response.msg);
+        })
+    },
+      /** 导入按钮操作 */
+      handleImport() {
+          this.upload.title = "用户导入";
+          this.upload.open = true;
+      },
+      /** 下载模板操作 */
+      importTemplate() {
+        this.$refs['downloadFileForm'].submit()
+      },
+      // 文件上传中处理
+      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
+      }
+      handleConfirmInstrumentCalibration(data).then(res => {
+        this.msgSuccess("确认成功");
+        this.getList()
+        this.$emit('refreshHisList');
+      })
+    },
+    handleTurnDown(val) {
+        this.reason.open=true;
+    },
+    userFormat(userId) {
+      for (let item of this.userOptions) {
+        if (item.userId == userId) {
+          return item.nickName
+        }
+      }
+    },
+    /** 报告附件按钮操作 */
+    handleDoc(row) {
+      this.doc.fileList=[]
+      this.doc.open = true;
+      this.doc.queryParams.itemId = row.id
+      this.getFileList()
+    },
+    getFileList() {
+      listFile(this.doc.queryParams).then(response => {
+        this.doc.fileList = response.rows;
+        this.doc.fileList.forEach(item => {
+          item.fileUrl = process.env.VUE_APP_BASE_API + item.fileUrl;
+        });
+      });
+    },
+
+    reasonCancel() {
+      this.reason.open = false;
+    },
+    submitReasonForm(){
+      handleTurnDownInstrumentCalibration(this.items).then(res => {
+        this.msgSuccess("驳回成功");
+        this.reason.open = false;
+        this.$emit('refreshHisList');
+      })
+    },
+    handleBatch(){
+      this.reset();
+      this.openBatch = true
+    },
+    // 取消按钮
+    cancelBatch() {
+      this.openBatch = false;
+      this.reset();
+    },
+    /** 提交按钮 */
+    submitFormBatch() {
+      this.$refs["form"].validate(valid => {
+        if (valid) {
+          this.form.ids = this.ids
+          updateInstrumentCalibrationBatch(this.form).then(response => {
+            this.msgSuccess("修改成功");
+            this.openBatch = false;
+            this.getList();
+          });
+        }
+      });
+    },
+  }
+};
+</script>

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

@@ -70,7 +70,7 @@
                     <!--v-hasPermi="['pssr:lighting:edit']"-->
                     <!--v-if="isApprove==0"-->
             <!--&gt;导入</el-button>-->
-        </el-col>
+<!--        </el-col>-->
       <el-col :span="1.5">
         <el-button
           type="warning"

+ 0 - 1
ui/src/views/pssr/region/index.vue

@@ -119,7 +119,6 @@
       <el-table-column label="单元" align="center" prop="unit" :show-overflow-tooltip="true"/>
       <el-table-column label="负责人" align="center" prop="chargePerson" :show-overflow-tooltip="true"
                        :formatter="userFormatter"/>
-      <el-table-column label="驳回原因" align="center" prop="reason" :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">
         <template slot-scope="scope">

+ 15 - 1
ui/src/views/pssr/subitem/index.vue

@@ -140,7 +140,17 @@
       </el-tabs>
     </div>
     <div v-if="sn=='ybjy'">
-      <instrument-calibration :sub-id="Number(si)" :is-approve="Number(isApprove)" @refreshHisList="refreshHisList"/>
+      <el-tabs v-model="activeName" @tab-click="handleClick">
+        <el-tab-pane label="调节阀" name="first">
+          <regulating-valve :sub-id="Number(si)" :is-approve="Number(isApprove)" @refreshHisList="refreshHisList"/>
+        </el-tab-pane>
+        <el-tab-pane label="液位计" name="second">
+          <liquidometer :sub-id="Number(si)" :is-approve="Number(isApprove)" @refreshHisList="refreshHisList"/>
+        </el-tab-pane>
+        <el-tab-pane label="流量计" name="thrid">
+          <instrument-calibration :sub-id="Number(si)" :is-approve="Number(isApprove)" @refreshHisList="refreshHisList"/>
+        </el-tab-pane>
+      </el-tabs>
     </div>
     <div v-if="sn=='yblscs'">
       <instrument-test :sub-id="Number(si)" :is-approve="Number(isApprove)" @refreshHisList="refreshHisList"/>
@@ -225,10 +235,14 @@ import Moc from "@/views/pssr/moc/index.vue";
 import Measure from "@/views/pssr/measure/index.vue";
 import MaterialRaw from "@/views/pssr/materialRaw/index.vue";
 import Vessel from "@/views/pssr/vessel/index.vue";
+import Liquidometer from "@/views/pssr/instrumentCalibration/liquidometer.vue";
+import RegulatingValve from "@/views/pssr/instrumentCalibration/regulatingValve.vue";
 
 export default {
   name: "Subitem",
   components: {
+    RegulatingValve,
+    Liquidometer,
     Vessel,
     MaterialRaw,
     Measure,