ly 2 vuotta sitten
vanhempi
commit
257006d756

+ 0 - 34
master/src/main/java/com/ruoyi/project/invoice/controller/TInvoiceBookingworkticketController.java

@@ -69,40 +69,6 @@ public class TInvoiceBookingworkticketController extends BaseController {
     @Resource
     private TInvoiceWorkcontentMapper tInvoiceWorkcontentMapper;
 
-
-    /**
-     * 查询预约作业票台账列表
-     */
-    @PreAuthorize("@ss.hasPermi('invoice:bookingworkticket:list')")
-    @GetMapping("/old")
-    public TableDataInfo list(TInvoiceBookingworkticket tInvoiceBookingworkticket) {
-        startPage();
-        List<TInvoiceWorkcontent> newtInvoiceWorkcontentList = new ArrayList<>();
-        List<TInvoiceWorkcontent> worktInvoiceWorkcontentList = new ArrayList<>();
-        List<TInvoiceBookingworkticket> bookingworkticketList = tInvoiceBookingworkticketService.selectTInvoiceBookingworkticketList(tInvoiceBookingworkticket);
-        ExecutorService executorService = Executors.newFixedThreadPool(20);
-        for (int i = 0; i < bookingworkticketList.size(); i++) {
-            int finalI = i;
-            executorService.execute(() -> {
-                //遍历每一条主表  找到所有的子表 根据每条子表 将主表也同步到每一条数据
-                TInvoiceBookingworkticket bookingworkticket = bookingworkticketList.get(finalI);
-                List<TInvoiceWorkcontent> workcontentList = tInvoiceBookingworkticketService.selectTInvoiceWorkcontentBybookingticketId(bookingworkticket.getId());
-                for (TInvoiceWorkcontent workcontent : workcontentList) {
-                    workcontent.setBookingworkticket(bookingworkticket);
-                    newtInvoiceWorkcontentList.add(workcontent);
-             /*  if(tInvoiceBookingworkticket.getWorkType()!=null&&tInvoiceBookingworkticket.getWorkType().toString().equals(workcontent.getWorkType().toString())){
-                   workcontent.setBookingworkticket(bookingworkticket);
-                   worktInvoiceWorkcontentList.add(workcontent);
-                   continue;
-               }*/
-                }
-            });
-        }
-        executorService.shutdown();
-        return getDataTable(newtInvoiceWorkcontentList, bookingworkticketList);
-
-    }
-
     /**
      * 筛选出不同作业类型的台账数据
      */

+ 0 - 1
master/src/main/java/com/ruoyi/project/invoice/service/impl/TInvoiceBookingworkticketServiceImpl.java

@@ -63,7 +63,6 @@ public class TInvoiceBookingworkticketServiceImpl extends ServiceImpl<TInvoiceBo
      * @return 预约作业票台账
      */
     @Override
-    @DataScope(deptAlias = "s", userAlias = "d")
     public List<TInvoiceBookingworkticket> selectTInvoiceBookingworkticketList(TInvoiceBookingworkticket tInvoiceBookingworkticket)
     {
         return tInvoiceBookingworkticketMapper.selectTInvoiceBookingworkticketList(tInvoiceBookingworkticket);

+ 233 - 160
master/src/main/java/com/ruoyi/project/sems/controller/TApproveController.java

@@ -4,12 +4,17 @@ import java.io.IOException;
 import java.io.OutputStream;
 import java.text.SimpleDateFormat;
 import java.util.*;
+import java.util.concurrent.CopyOnWriteArrayList;
+import java.util.concurrent.CountDownLatch;
+import java.util.concurrent.ExecutorService;
+import java.util.concurrent.Executors;
 
 import com.alibaba.fastjson.JSON;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.fasterxml.jackson.databind.ObjectMapper;
 import com.ruoyi.common.utils.document.DocumentHandler;
 import com.ruoyi.common.utils.document.PDFTemplateUtil;
+import com.ruoyi.framework.interceptor.annotation.RepeatSubmit;
 import com.ruoyi.project.approve.damain.DevTask;
 import com.ruoyi.project.listener.monthSemsApprove.*;
 import com.ruoyi.project.listener.semsApprove.*;
@@ -50,8 +55,7 @@ import javax.servlet.http.HttpServletResponse;
  */
 @RestController
 @RequestMapping("/sems/approve")
-public class TApproveController extends BaseController
-{
+public class TApproveController extends BaseController {
     @Autowired
     private ITApproveService tApproveService;
     @Autowired
@@ -84,13 +88,13 @@ public class TApproveController extends BaseController
     private ITReportYlgdService tReportYlgdService;
     @Autowired
     private ITReportMonthService tReportMonthService;
+
     /**
      * 查询特种设备申请列表
      */
     @PreAuthorize("@ss.hasPermi('sems:approve:list')")
     @GetMapping("/list")
-    public TableDataInfo list(TApprove tApprove)
-    {
+    public TableDataInfo list(TApprove tApprove) {
         startPage();
         List<TApprove> list = tApproveService.selectTApproveList(tApprove);
         return getDataTable(list);
@@ -118,8 +122,7 @@ public class TApproveController extends BaseController
     @PreAuthorize("@ss.hasPermi('sems:approve:export')")
     @Log(title = "特种设备申请", businessType = BusinessType.EXPORT)
     @GetMapping("/export")
-    public AjaxResult export(TApprove tApprove)
-    {
+    public AjaxResult export(TApprove tApprove) {
         List<TApprove> list = tApproveService.selectTApproveList(tApprove);
         ExcelUtil<TApprove> util = new ExcelUtil<TApprove>(TApprove.class);
         return util.exportExcel(list, "approve");
@@ -130,8 +133,7 @@ public class TApproveController extends BaseController
      */
     @PreAuthorize("@ss.hasPermi('sems:approve:query')")
     @GetMapping(value = "/{id}")
-    public AjaxResult getInfo(@PathVariable("id") Long id)
-    {
+    public AjaxResult getInfo(@PathVariable("id") Long id) {
         return AjaxResult.success(tApproveService.selectTApproveById(id));
     }
 
@@ -140,8 +142,7 @@ public class TApproveController extends BaseController
      */
     @Log(title = "特种设备申请", businessType = BusinessType.INSERT)
     @PostMapping
-    public AjaxResult add(@RequestBody TApprove tApprove)
-    {
+    public AjaxResult add(@RequestBody TApprove tApprove) {
         logger.info(JSON.toJSONString(tApprove));
         Long userid = getUserId();
         tApprove.setUserId(userid);
@@ -260,12 +261,16 @@ public class TApproveController extends BaseController
         String[] ids = null;
         if (tApprove.getApproveType() == 7) {
             ids = tApprove.getReportId().split(",");
-        }else if (tApprove.getApproveType() == 8) {
+        } else if (tApprove.getApproveType() == 8) {
             ids = tApprove.getMonthId().split(",");
-        }else {
+        } else {
             ids = tApprove.getDevId().split(",");
         }
-        List<Object> devList = new ArrayList<>();
+        CopyOnWriteArrayList<Object> devList = new CopyOnWriteArrayList<>();
+        //线程池
+        ExecutorService executorService = Executors.newFixedThreadPool(30);
+        final CountDownLatch latch = new CountDownLatch(ids.length); //相同线程数量的计数
+
         if (tApprove.getDevType() != null && tApprove.getApproveType() != 7) {
             switch (Integer.parseInt(tApprove.getDevType().toString())) {
                 case 1:
@@ -324,17 +329,34 @@ public class TApproveController extends BaseController
                     case "1":
                         for (String i : ids
                         ) {
-                            TReportYlrq reportYlrqEntity = tReportYlrqService.selectTReportYlrqById(Long.parseLong(i));
-                            reportYlrqEntity.setDevEntity(tSpecdevYlrqService.getById(reportYlrqEntity.getDevId()));
-                            devList.add(reportYlrqEntity);
+                            executorService.execute(() -> {
+                                //-- 业务模块
+                                try {
+                                    TReportYlrq reportYlrqEntity = tReportYlrqService.selectTReportYlrqById(Long.parseLong(i));
+                                    reportYlrqEntity.setDevEntity(tSpecdevYlrqService.getById(reportYlrqEntity.getDevId()));
+                                    devList.add(reportYlrqEntity);
+                                } catch (Exception e) {
+                                } finally {
+                                    latch.countDown(); //线程计数
+                                }
+                            });
                         }
                         break;
                     case "2":
                         for (String i : ids
                         ) {
-                            TReportYlgd reportYlgdEntity = tReportYlgdService.selectTReportYlgdById(Long.parseLong(i));
-                            reportYlgdEntity.setDevEntity(tSpecdevYlgdService.getById(reportYlgdEntity.getDevId()));
-                            devList.add(reportYlgdEntity);
+                            executorService.execute(() -> {
+                                //-- 业务模块
+                                try {
+                                    TReportYlgd reportYlgdEntity = tReportYlgdService.selectTReportYlgdById(Long.parseLong(i));
+                                    reportYlgdEntity.setDevEntity(tSpecdevYlgdService.getById(reportYlgdEntity.getDevId()));
+                                    devList.add(reportYlgdEntity);
+                                } catch (Exception e) {
+                                } finally {
+                                    latch.countDown(); //线程计数
+                                }
+                            });
+
                         }
                 }
                 break;
@@ -346,6 +368,12 @@ public class TApproveController extends BaseController
                     tApprove.setDevType(0l);
                 }
         }
+        try {
+            latch.await(); //线程计数完毕后继续执行
+        } catch (InterruptedException e) {
+            e.printStackTrace();
+        }
+        executorService.shutdown();
         tApprove.setDevList(devList);
         return AjaxResult.success(tApprove);
     }
@@ -358,14 +386,14 @@ public class TApproveController extends BaseController
     public AjaxResult handle(@RequestBody DevTask devTask) {
         Map<String, Object> param = new HashMap<>();
         //流程审批意见
-        String symbol= "";
+        String symbol = "";
         if (devTask.getComment() != "") {
             symbol = ",";
         }
         if (devTask.getCondition().equals("1")) {
-           /* devTask.setComment("通过" + symbol + devTask.getComment());*/
+            /* devTask.setComment("通过" + symbol + devTask.getComment());*/
             devTask.setComment("批准" + symbol + devTask.getComment());
-        }else if (devTask.getCondition().equals("0")) {
+        } else if (devTask.getCondition().equals("0")) {
             devTask.setComment("未通过" + symbol + devTask.getComment());
         }
         //使用任务服务完成任务(提交任务)
@@ -432,7 +460,7 @@ public class TApproveController extends BaseController
 
     @RequestMapping("/exportPDF")
     public AjaxResult exportWorld(@RequestParam String approveId, String processId, HttpServletRequest request, HttpServletResponse response) {
-        String pid =processId;
+        String pid = processId;
         logger.info("processId:" + JSON.toJSONString(pid));
         HistoricTaskInstanceQuery htiq = historyService.createHistoricTaskInstanceQuery();
         List<HistoricTaskInstance> htiLists = htiq.processInstanceId(pid).finished().orderByHistoricTaskInstanceEndTime().asc().list();
@@ -510,7 +538,7 @@ public class TApproveController extends BaseController
         }
         tApprove.setDevList(devList);
 
-        OutputStream out= null;
+        OutputStream out = null;
 
         try {
             out = response.getOutputStream();
@@ -528,13 +556,27 @@ public class TApproveController extends BaseController
             map.put("devCount", devCount);
             //申请类型
             String devType = "";
-            if (tApprove.getDevType() == 1){devType = "压力容器"; }
-            if (tApprove.getDevType() == 2){devType = "压力管道"; }
-            if (tApprove.getDevType() == 3){devType = "吊装设备"; }
-            if (tApprove.getDevType() == 4){devType = "锅炉"; }
-            if (tApprove.getDevType() == 5){devType = "电梯"; }
-            if (tApprove.getDevType() == 6){devType = "叉车"; }
-            if (tApprove.getDevType() == 7){devType = "空气罐"; }
+            if (tApprove.getDevType() == 1) {
+                devType = "压力容器";
+            }
+            if (tApprove.getDevType() == 2) {
+                devType = "压力管道";
+            }
+            if (tApprove.getDevType() == 3) {
+                devType = "吊装设备";
+            }
+            if (tApprove.getDevType() == 4) {
+                devType = "锅炉";
+            }
+            if (tApprove.getDevType() == 5) {
+                devType = "电梯";
+            }
+            if (tApprove.getDevType() == 6) {
+                devType = "叉车";
+            }
+            if (tApprove.getDevType() == 7) {
+                devType = "空气罐";
+            }
             //延期时间
             Date dd = tApprove.getDelayDate();
             SimpleDateFormat sd = new SimpleDateFormat("yyyy年MM月dd日");
@@ -547,14 +589,26 @@ public class TApproveController extends BaseController
             //申请单位会签
 
             logger.info(JSON.toJSONString(devTaskList));
-            for (int i = 0; i < devTaskList.size(); i ++){
+            for (int i = 0; i < devTaskList.size(); i++) {
                 ObjectMapper objectMapper = new ObjectMapper();
                 DevTask devTask = objectMapper.convertValue(devTaskList.get(i), DevTask.class);
                 String taskEndTime = sd.format(devTask.getTaskEndTime());
-                if (i == 0){map.put("equipmentMaintenance",devTask); map.put("emEndTime",taskEndTime); }//装置维修经理
-                if (i == 1){map.put("equipmentProcess",devTask); map.put("epEndTime",taskEndTime); }//装置工艺经理
-                if (i == 2){map.put("processDirector",devTask); map.put("pdEndTime",taskEndTime); }//工艺总监
-                if (i == 3){map.put("mechanicalMaintenance",devTask); map.put("mmEndTime",taskEndTime); }//机械维修总监
+                if (i == 0) {
+                    map.put("equipmentMaintenance", devTask);
+                    map.put("emEndTime", taskEndTime);
+                }//装置维修经理
+                if (i == 1) {
+                    map.put("equipmentProcess", devTask);
+                    map.put("epEndTime", taskEndTime);
+                }//装置工艺经理
+                if (i == 2) {
+                    map.put("processDirector", devTask);
+                    map.put("pdEndTime", taskEndTime);
+                }//工艺总监
+                if (i == 3) {
+                    map.put("mechanicalMaintenance", devTask);
+                    map.put("mmEndTime", taskEndTime);
+                }//机械维修总监
             }
             //注意 变量名要与xml中占位符保持一致
             map.put("delayReason", tApprove.getDelayReason().replaceAll("\n", "<p></p>"));
@@ -565,22 +619,36 @@ public class TApproveController extends BaseController
             map.put("userName", user.getNickName());
             map.put("createTime", createTime);
             logger.info("delayNotice:" + tApprove.getDelayNotice());
-            if(map== null)
+            if (map == null)
                 return AjaxResult.error("导出失败!");
             /*ExportWordUtils word =new ExportWordUtils("/freeMaker", "fmaker.ftl");  // 项目使用的spring boot 。/excel/questionnaire.ftl文件存放在src/main/resources目录下
             word.setHeader(request, response, encodeFilename("1.doc" ,request ));
             word.doExport(out, map);*/
-            if (tApprove.getDevType() == 1){ PDFTemplateUtil.exportPdf("ylrqFMaker.ftl", "压力容器延期检验报请备案函.pdf","" , map, response); }
-            if (tApprove.getDevType() == 2){ PDFTemplateUtil.exportPdf("ylgdFMaker.ftl", "压力管道延期检验报请备案函.pdf","" , map, response); }
-            if (tApprove.getDevType() == 3){ PDFTemplateUtil.exportPdf("dzsbFMaker.ftl", "吊装设备延期检验报请备案函.pdf","" , map, response); }
-            if (tApprove.getDevType() == 4){ PDFTemplateUtil.exportPdf("glFMaker.ftl", "锅炉延期检验报请备案函.pdf","" , map, response); }
-            if (tApprove.getDevType() == 5){ PDFTemplateUtil.exportPdf("dtFMaker.ftl", "电梯延期检验报请备案函.pdf","" , map, response); }
-            if (tApprove.getDevType() == 6){ PDFTemplateUtil.exportPdf("ccFMaker.ftl", "叉车延期检验报请备案函.pdf","" , map, response); }
-            if (tApprove.getDevType() == 7){ PDFTemplateUtil.exportPdf("tankFMaker.ftl", "空气罐延期检验报请备案函.pdf","" , map, response); }
+            if (tApprove.getDevType() == 1) {
+                PDFTemplateUtil.exportPdf("ylrqFMaker.ftl", "压力容器延期检验报请备案函.pdf", "", map, response);
+            }
+            if (tApprove.getDevType() == 2) {
+                PDFTemplateUtil.exportPdf("ylgdFMaker.ftl", "压力管道延期检验报请备案函.pdf", "", map, response);
+            }
+            if (tApprove.getDevType() == 3) {
+                PDFTemplateUtil.exportPdf("dzsbFMaker.ftl", "吊装设备延期检验报请备案函.pdf", "", map, response);
+            }
+            if (tApprove.getDevType() == 4) {
+                PDFTemplateUtil.exportPdf("glFMaker.ftl", "锅炉延期检验报请备案函.pdf", "", map, response);
+            }
+            if (tApprove.getDevType() == 5) {
+                PDFTemplateUtil.exportPdf("dtFMaker.ftl", "电梯延期检验报请备案函.pdf", "", map, response);
+            }
+            if (tApprove.getDevType() == 6) {
+                PDFTemplateUtil.exportPdf("ccFMaker.ftl", "叉车延期检验报请备案函.pdf", "", map, response);
+            }
+            if (tApprove.getDevType() == 7) {
+                PDFTemplateUtil.exportPdf("tankFMaker.ftl", "空气罐延期检验报请备案函.pdf", "", map, response);
+            }
         } catch (Exception e) {
             e.printStackTrace();
-        }finally {
-            if(out!=null)
+        } finally {
+            if (out != null)
                 try {
                     out.close();
                 } catch (IOException e) {
@@ -596,8 +664,7 @@ public class TApproveController extends BaseController
     @PreAuthorize("@ss.hasPermi('sems:approve:edit')")
     @Log(title = "特种设备申请", businessType = BusinessType.UPDATE)
     @PutMapping
-    public AjaxResult edit(@RequestBody TApprove tApprove)
-    {
+    public AjaxResult edit(@RequestBody TApprove tApprove) {
         return toAjax(tApproveService.updateTApprove(tApprove));
     }
 
@@ -606,9 +673,8 @@ public class TApproveController extends BaseController
      */
     @PreAuthorize("@ss.hasPermi('sems:approve:remove')")
     @Log(title = "特种设备申请", businessType = BusinessType.DELETE)
-	@DeleteMapping("/{ids}")
-    public AjaxResult remove(@PathVariable Long[] ids)
-    {
+    @DeleteMapping("/{ids}")
+    public AjaxResult remove(@PathVariable Long[] ids) {
         return toAjax(tApproveService.deleteTApproveByIds(ids));
     }
 
@@ -616,76 +682,83 @@ public class TApproveController extends BaseController
      * 年度检查报告任务申请
      */
     @RequestMapping("/year")
+    @RepeatSubmit
     public AjaxResult year(@RequestBody TApprove tApprove) {
-            //任务开始时间
-            long startTime = System.currentTimeMillis();
-            logger.info("任务申请" + JSON.toJSONString(tApprove));
-            Long userid = getUserId();
-            //审批编号
-            Date dt = new Date();
-            SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMddhhmmss");
-            String data = sdf.format(dt) + userid;
-            tApprove.setApNo(data);
-            tApprove.setUserId(userid);
-            tApproveService.insertTApprove(tApprove);
+        //任务开始时间
+        long startTime = System.currentTimeMillis();
+        logger.info("任务申请" + JSON.toJSONString(tApprove));
+        Long userid = getUserId();
+        //审批编号
+        Date dt = new Date();
+        SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMddhhmmss");
+        String data = sdf.format(dt) + userid;
+        tApprove.setApNo(data);
+        tApprove.setUserId(userid);
+        tApproveService.insertTApprove(tApprove);
 
-            //修改设备申请状态
-            String[] ids = tApprove.getReportId().split(",");
-            switch (tApprove.getDevType().toString()) {
-                case "1":
-                    for (String i : ids
-                    ) {
+        //修改设备申请状态
+        String[] ids = tApprove.getReportId().split(",");
+        ExecutorService executorService = Executors.newFixedThreadPool(30);
+
+        switch (tApprove.getDevType().toString()) {
+            case "1":
+                for (String i : ids
+                ) {
+                    executorService.execute(() -> {
                         TReportYlrq rq = tReportYlrqService.selectTReportYlrqById(Long.parseLong(i));
                         rq.setApproveStatus(7l);
                         rq.setApproveTime(new Date());
                         tReportYlrqService.updateTReportYlrq(rq);
-                    }
-                    break;
-                case "2":
-                    for (String i : ids
-                    ) {
+                    });
+                }
+                break;
+            case "2":
+                for (String i : ids
+                ) {
+                    executorService.execute(() -> {
                         TReportYlgd gd = tReportYlgdService.selectTReportYlgdById(Long.parseLong(i));
                         gd.setApproveStatus(7l);
                         gd.setApproveTime(new Date());
                         tReportYlgdService.updateTReportYlgd(gd);
-                    }
-            }
-
-            Map<String, Object> variables = new HashMap<>();
-            //开始工作流、监听
-            variables.put("endSucessListener", new YearEndSucessListener());
-            variables.put("endFaileListener", new YearEndFaileListener());
-            variables.put("inspectorsTaskCreateListener", new InspectorTaskCreateListener());
-            variables.put("auditorTaskCreateListener", new AuditorTaskCreateListener());
-            variables.put("approverTaskCreateListener", new ApproverTaskCreateListener());
-            //初始化会签人员
-            List<Long> inspectorlist = new ArrayList<>();
-            inspectorlist.add(tApprove.getInspectorOne());
-            inspectorlist.add(tApprove.getInspectorTwo());
-            inspectorlist.add(tApprove.getInspectorThree());
-            //条件表达式方法 一定要序列号
-            variables.put("inspectorlist", inspectorlist);
-            //审批人员设置
-            variables.put("auditor", tApprove.getAuditor());
-            variables.put("approver", tApprove.getApprover());
+                    });
+                }
+        }
+        executorService.shutdown();
+        Map<String, Object> variables = new HashMap<>();
+        //开始工作流、监听
+        variables.put("endSucessListener", new YearEndSucessListener());
+        variables.put("endFaileListener", new YearEndFaileListener());
+        variables.put("inspectorsTaskCreateListener", new InspectorTaskCreateListener());
+        variables.put("auditorTaskCreateListener", new AuditorTaskCreateListener());
+        variables.put("approverTaskCreateListener", new ApproverTaskCreateListener());
+        //初始化会签人员
+        List<Long> inspectorlist = new ArrayList<>();
+        inspectorlist.add(tApprove.getInspectorOne());
+        inspectorlist.add(tApprove.getInspectorTwo());
+        inspectorlist.add(tApprove.getInspectorThree());
+        //条件表达式方法 一定要序列号
+        variables.put("inspectorlist", inspectorlist);
+        //审批人员设置
+        variables.put("auditor", tApprove.getAuditor());
+        variables.put("approver", tApprove.getApprover());
 
-            long bussniseeKey = tApprove.getId();
-            logger.info("bussniseeKey:" + bussniseeKey);
-            Authentication.setAuthenticatedUserId(userid.toString());
-            //任务执行总时长
-            long times = System.currentTimeMillis() - startTime;
-            logger.debug("  总共耗时:" + times + "毫秒");
-            //采用key来启动流程定义并设置流程变量,返回流程实例
-            ProcessInstance pi = runtimeService.startProcessInstanceByKey("yearProcess", String.valueOf(bussniseeKey), variables);
-            logger.info("流程部署id:" + pi.getDeploymentId());
-            logger.info("流程定义id:" + pi.getProcessDefinitionId());
-            logger.info("流程实例id:" + pi.getProcessInstanceId());
-            logger.info("流程定义对象:" + pi.getProcessVariables());
-            tApprove.setProcessId(pi.getProcessInstanceId());
-            tApproveService.updateById(tApprove);
-            //任务执行总时长
-            long times2 = System.currentTimeMillis() - startTime;
-            logger.debug("  总共耗时:" + times2 + "毫秒");
+        long bussniseeKey = tApprove.getId();
+        logger.info("bussniseeKey:" + bussniseeKey);
+        Authentication.setAuthenticatedUserId(userid.toString());
+        //任务执行总时长
+        long times = System.currentTimeMillis() - startTime;
+        logger.debug("  总共耗时:" + times + "毫秒");
+        //采用key来启动流程定义并设置流程变量,返回流程实例
+        ProcessInstance pi = runtimeService.startProcessInstanceByKey("yearProcess", String.valueOf(bussniseeKey), variables);
+        logger.info("流程部署id:" + pi.getDeploymentId());
+        logger.info("流程定义id:" + pi.getProcessDefinitionId());
+        logger.info("流程实例id:" + pi.getProcessInstanceId());
+        logger.info("流程定义对象:" + pi.getProcessVariables());
+        tApprove.setProcessId(pi.getProcessInstanceId());
+        tApproveService.updateById(tApprove);
+        //任务执行总时长
+        long times2 = System.currentTimeMillis() - startTime;
+        logger.debug("  总共耗时:" + times2 + "毫秒");
         return AjaxResult.success();
     }
 
@@ -694,57 +767,57 @@ public class TApproveController extends BaseController
      */
     @RequestMapping("/month")
     public AjaxResult month(@RequestBody TApprove tApprove) {
-            //任务开始时间
-            long startTime = System.currentTimeMillis();
-            logger.info("任务申请" + JSON.toJSONString(tApprove));
-            Long userid = getUserId();
-            //审批编号
-            Date dt = new Date();
-            SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMddhhmmss");
-            String data = sdf.format(dt) + userid;
-            tApprove.setApNo(data);
-            tApprove.setUserId(userid);
-            tApproveService.insertTApprove(tApprove);
+        //任务开始时间
+        long startTime = System.currentTimeMillis();
+        logger.info("任务申请" + JSON.toJSONString(tApprove));
+        Long userid = getUserId();
+        //审批编号
+        Date dt = new Date();
+        SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMddhhmmss");
+        String data = sdf.format(dt) + userid;
+        tApprove.setApNo(data);
+        tApprove.setUserId(userid);
+        tApproveService.insertTApprove(tApprove);
 
-            //修改设备申请状态
-            String[] ids = tApprove.getMonthId().split(",");
-            for (String i : ids
-                ) {
-                TReportMonth tReportMonthEntity = tReportMonthService.selectTReportMonthById(Long.parseLong(i));
-                tReportMonthEntity.setApproveStatus(7l);
-                tReportMonthEntity.setApproveId(tApprove.getId().toString());
-                tReportMonthEntity.setApproveTime(new Date());
-                tReportMonthService.updateTReportMonth(tReportMonthEntity);
-                }
-            Map<String, Object> variables = new HashMap<>();
-            //开始工作流、监听
-            variables.put("endSucessListener", new MonthEndSucessListener());
-            variables.put("endFaileListener", new MonthEndFaileListener());
-            variables.put("mechanicalTaskCreateListener", new MechanicalTaskCreateListener());
-            variables.put("electricTaskCreateListener", new ElectricTaskCreateListener());
-            variables.put("craftTaskCreateListener", new CraftTaskCreateListener());
-            //审批人员设置
-            variables.put("mechanical", tApprove.getMechanical());
-            variables.put("electric", tApprove.getElectric());
-            variables.put("craft", tApprove.getCraft());
+        //修改设备申请状态
+        String[] ids = tApprove.getMonthId().split(",");
+        for (String i : ids
+        ) {
+            TReportMonth tReportMonthEntity = tReportMonthService.selectTReportMonthById(Long.parseLong(i));
+            tReportMonthEntity.setApproveStatus(7l);
+            tReportMonthEntity.setApproveId(tApprove.getId().toString());
+            tReportMonthEntity.setApproveTime(new Date());
+            tReportMonthService.updateTReportMonth(tReportMonthEntity);
+        }
+        Map<String, Object> variables = new HashMap<>();
+        //开始工作流、监听
+        variables.put("endSucessListener", new MonthEndSucessListener());
+        variables.put("endFaileListener", new MonthEndFaileListener());
+        variables.put("mechanicalTaskCreateListener", new MechanicalTaskCreateListener());
+        variables.put("electricTaskCreateListener", new ElectricTaskCreateListener());
+        variables.put("craftTaskCreateListener", new CraftTaskCreateListener());
+        //审批人员设置
+        variables.put("mechanical", tApprove.getMechanical());
+        variables.put("electric", tApprove.getElectric());
+        variables.put("craft", tApprove.getCraft());
 
-            long bussniseeKey = tApprove.getId();
-            logger.info("bussniseeKey:" + bussniseeKey);
-            Authentication.setAuthenticatedUserId(userid.toString());
-            //任务执行总时长
-            long times = System.currentTimeMillis() - startTime;
-            logger.debug("  总共耗时:" + times + "毫秒");
-            //采用key来启动流程定义并设置流程变量,返回流程实例
-            ProcessInstance pi = runtimeService.startProcessInstanceByKey("monthProcess", String.valueOf(bussniseeKey), variables);
-            logger.info("流程部署id:" + pi.getDeploymentId());
-            logger.info("流程定义id:" + pi.getProcessDefinitionId());
-            logger.info("流程实例id:" + pi.getProcessInstanceId());
-            logger.info("流程定义对象:" + pi.getProcessVariables());
-            tApprove.setProcessId(pi.getProcessInstanceId());
-            tApproveService.updateById(tApprove);
-            //任务执行总时长
-            long times2 = System.currentTimeMillis() - startTime;
-            logger.debug("  总共耗时:" + times2 + "毫秒");
-            return AjaxResult.success();
+        long bussniseeKey = tApprove.getId();
+        logger.info("bussniseeKey:" + bussniseeKey);
+        Authentication.setAuthenticatedUserId(userid.toString());
+        //任务执行总时长
+        long times = System.currentTimeMillis() - startTime;
+        logger.debug("  总共耗时:" + times + "毫秒");
+        //采用key来启动流程定义并设置流程变量,返回流程实例
+        ProcessInstance pi = runtimeService.startProcessInstanceByKey("monthProcess", String.valueOf(bussniseeKey), variables);
+        logger.info("流程部署id:" + pi.getDeploymentId());
+        logger.info("流程定义id:" + pi.getProcessDefinitionId());
+        logger.info("流程实例id:" + pi.getProcessInstanceId());
+        logger.info("流程定义对象:" + pi.getProcessVariables());
+        tApprove.setProcessId(pi.getProcessInstanceId());
+        tApproveService.updateById(tApprove);
+        //任务执行总时长
+        long times2 = System.currentTimeMillis() - startTime;
+        logger.debug("  总共耗时:" + times2 + "毫秒");
+        return AjaxResult.success();
     }
 }

+ 16 - 12
master/src/main/resources/mybatis/sems/TApproveMapper.xml

@@ -3,7 +3,7 @@
 PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
 "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
 <mapper namespace="com.ruoyi.project.sems.mapper.TApproveMapper">
-    
+
     <resultMap type="TApprove" id="TApproveResult">
         <result property="id"    column="id"    />
         <result property="userId"    column="user_id"    />
@@ -38,7 +38,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
 
     <select id="selectTApproveList" parameterType="TApprove" resultMap="TApproveResult">
         <include refid="selectTApproveVo"/>
-        <where>  
+        <where>
             <if test="userId != null "> and user_id = #{userId}</if>
             <if test="devId != null  and devId != ''"> and dev_id = #{devId}</if>
             <if test="devType != null "> and dev_type = #{devType}</if>
@@ -65,12 +65,12 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         <!-- 数据范围过滤 -->
         ${params.dataScope}
     </select>
-    
+
     <select id="selectTApproveById" parameterType="Long" resultMap="TApproveResult">
         <include refid="selectTApproveVo"/>
         where id = #{id}
     </select>
-        
+
     <insert id="insertTApprove" parameterType="TApprove">
         <selectKey keyProperty="id" resultType="long" order="BEFORE">
             SELECT seq_t_approve.NEXTVAL as id FROM DUAL
@@ -79,7 +79,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         <trim prefix="(" suffix=")" suffixOverrides=",">
             <if test="id != null">id,</if>
             <if test="userId != null">user_id,</if>
-            <if test="devId != null">dev_id,</if>
+
             <if test="devType != null">dev_type,</if>
             <if test="approveType != null">approve_type,</if>
             <if test="content != null">content,</if>
@@ -96,15 +96,17 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
             <if test="delayNotice != null">delay_notice,</if>
             <if test="apNo != null">ap_no,</if>
             <if test="checkDate != null">check_date,</if>
-            <if test="reportId != null">report_id,</if>
             <if test="monthId != null">month_id,</if>
             <if test="delFlag != null">del_flag,</if>
             <if test="deptId != null">dept_id,</if>
-         </trim>
+            <if test="devId != null">dev_id,</if>
+            <if test="reportId != null">report_id,</if>
+
+        </trim>
         <trim prefix="values (" suffix=")" suffixOverrides=",">
             <if test="id != null">#{id},</if>
             <if test="userId != null">#{userId},</if>
-            <if test="devId != null">#{devId},</if>
+
             <if test="devType != null">#{devType},</if>
             <if test="approveType != null">#{approveType},</if>
             <if test="content != null">#{content},</if>
@@ -121,11 +123,13 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
             <if test="delayNotice != null">#{delayNotice},</if>
             <if test="apNo != null">#{apNo},</if>
             <if test="checkDate != null">#{checkDate},</if>
-            <if test="reportId != null">#{reportId},</if>
             <if test="monthId != null">#{monthId},</if>
             <if test="delFlag != null">#{delFlag},</if>
             <if test="deptId != null">#{deptId},</if>
-         </trim>
+            <if test="devId != null">#{devId},</if>
+            <if test="reportId != null">#{reportId},</if>
+
+        </trim>
     </insert>
 
     <update id="updateTApprove" parameterType="TApprove">
@@ -216,5 +220,5 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         </if>
         GROUP BY ap.APPROVE_TYPE
     </select>
-    
-</mapper>
+
+</mapper>

+ 9 - 0
ui/babel.config.js

@@ -3,6 +3,15 @@ module.exports = {
     // https://github.com/vuejs/vue-cli/tree/master/packages/@vue/babel-preset-app
     '@vue/cli-plugin-babel/preset'
   ],
+  plugins:[
+    [
+      "component",
+      {
+        "libraryName":"umy-ui",
+        "styleLibraryName":"theme-chalk"
+      }
+    ]
+  ],
   'env': {
     'development': {
       // babel-plugin-dynamic-import-node plugin only does one thing by converting all import() to require().

+ 4 - 0
ui/package.json

@@ -55,12 +55,15 @@
     "js-beautify": "1.10.2",
     "js-cookie": "2.2.0",
     "jsencrypt": "3.0.0-rc.1",
+    "less": "^4.1.3",
+    "less-loader": "^11.1.0",
     "normalize.css": "7.0.0",
     "nprogress": "0.2.0",
     "path-to-regexp": "2.4.0",
     "quill": "1.3.7",
     "screenfull": "4.2.0",
     "sortablejs": "1.8.4",
+    "umy-ui": "^1.1.6",
     "vue": "2.6.10",
     "vue-awesome": "^4.0.2",
     "vue-count-to": "1.0.13",
@@ -81,6 +84,7 @@
     "autoprefixer": "9.5.1",
     "babel-eslint": "10.1.0",
     "babel-jest": "23.6.0",
+    "babel-plugin-component": "^1.1.1",
     "babel-plugin-dynamic-import-node": "2.3.3",
     "chalk": "2.4.2",
     "chokidar": "2.1.5",

+ 3 - 1
ui/src/main.js

@@ -39,6 +39,7 @@ import 'vue-awesome/icons/align-left.js';
 import '@/assets/iconfont/iconfont.css'
 import '@/assets/iconfont/iconfont.js'
 // 适配flex
+import { UTable, UTableColumn } from 'umy-ui';
 
 // 全局注册图标
 Vue.component('icon', Icon);
@@ -75,7 +76,8 @@ Vue.component('RightToolbar', RightToolbar)
 
 Vue.use(permission)
 Vue.use(dataV)
-
+Vue.use(UTable)
+Vue.use(UTableColumn)
 /**
  * If you don't want to use mock-server
  * you want to use MockJs for mock api

+ 323 - 316
ui/src/views/approve/pending/spec-detail.vue

@@ -2,76 +2,80 @@
   <el-dialog
     :title="!this.taskForm.taskId == '' ? $t('处理') : $t('详情')"
     :close-on-click-modal="false"
+    width="70%"
     :visible.sync="visible">
     <el-form :model="taskForm" :rules="dataRule" ref="dataForm" @keyup.enter.native="" label-width="80px">
       <el-form-item :label="$t('设备')">
-        <el-table
+        <u-table
           v-show="dataForm.approveType == 8"
           :data="devList"
           border
           style="width: 100%;">
-          <el-table-column :label="$t('装置名称')" align="center" prop="plantCode" :show-overflow-tooltip="true"/>
-          <el-table-column :label="$t('检查年月')" align="center" prop="checkMonth" width="100">
-          </el-table-column>
-          <el-table-column header-align="center" align="center" :label="$t('压力容器')">
-            <el-table-column :label="$t('容器单元')" align="center" prop="rqUnit" :show-overflow-tooltip="true"/>
-            <el-table-column :label="$t('容器本体')" align="center" prop="rqSelf" :formatter="rqSelfFormat" />
-            <el-table-column :label="$t('安全附件')" align="center" prop="rqSafe" :formatter="rqSafeFormat" />
-            <el-table-column :label="$t('安全保护装置')" align="center" prop="rqProtect" :formatter="rqProtectFormat" />
-            <el-table-column :label="$t('测量调控装置,紧急切断阀')" align="center" prop="rqControl" :formatter="rqControlFormat" />
-            <el-table-column :label="$t('附属仪器仪表')" align="center" prop="rqIns" :formatter="rqInsFormat" />
-            <el-table-column :label="$t('有无泄漏')" align="center" prop="rqOut" :formatter="rqOutFormat" />
-            <el-table-column :label="$t('其它情况描述')" align="center" prop="rqOther" :show-overflow-tooltip="true"/>
-            <el-table-column :label="$t('容器备注')" align="center" prop="rqRemark" :show-overflow-tooltip="true"/>
-          </el-table-column>
-          <el-table-column header-align="center" align="center" :label="$t('压力管道')">
-            <el-table-column :label="$t('管道区域/单元')" align="center" prop="gdUnit" :show-overflow-tooltip="true"/>
-            <el-table-column :label="$t('管道宏观')" align="center" prop="gdSelf" :formatter="gdSelfFormat" />
-            <el-table-column :label="$t('安全附件')" align="center" prop="gdSafe" :formatter="gdSafeFormat" />
-            <el-table-column :label="$t('测量调控装置')" align="center" prop="gdControl" :formatter="gdControlFormat" />
-            <el-table-column :label="$t('附属仪器仪表')" align="center" prop="gdIns" :formatter="gdInsFormat" />
-            <el-table-column :label="$t('有无泄漏')" align="center" prop="gdOut" :formatter="gdOutFormat" />
-            <el-table-column :label="$t('其它情况描述')" align="center" prop="gdOther" :show-overflow-tooltip="true"/>
-            <el-table-column :label="$t('管道备注')" align="center" prop="gdRemark" :show-overflow-tooltip="true"/>
-          </el-table-column>
-          <el-table-column header-align="center" align="center" :label="$t('锅炉')">
-            <el-table-column :label="$t('锅炉区域/单元')" align="center" prop="glUnit" :show-overflow-tooltip="true"/>
-            <el-table-column :label="$t('承压部件')" align="center" prop="glPressure" :formatter="glPressureFormat" />
-            <el-table-column :label="$t('安全附件')" align="center" prop="glSafe" :formatter="glSafeFormat" />
-            <el-table-column :label="$t('仪表及联锁保护装置')" align="center" prop="glIns" :formatter="glInsFormat" />
-            <el-table-column :label="$t('燃烧器')" align="center" prop="glBurn" :formatter="glBurnFormat" />
-            <el-table-column :label="$t('人员')+$t('证书')" align="center" prop="glCer" :formatter="glCerFormat" />
-            <el-table-column :label="$t('水质化验')" align="center" prop="glWater" :formatter="glWaterFormat" />
-            <el-table-column :label="$t('其它情况描述')" align="center" prop="glOther" :show-overflow-tooltip="true"/>
-            <el-table-column :label="$t('锅炉')+$t('备注')" align="center" prop="glRemark" :show-overflow-tooltip="true"/>
-          </el-table-column>
-        </el-table>
-        <el-table
+          <u-table-column :label="$t('装置名称')" align="center" prop="plantCode" :show-overflow-tooltip="true"/>
+          <u-table-column :label="$t('检查年月')" align="center" prop="checkMonth" width="100">
+          </u-table-column>
+          <u-table-column header-align="center" align="center" :label="$t('压力容器')">
+            <u-table-column :label="$t('容器单元')" align="center" prop="rqUnit" :show-overflow-tooltip="true"/>
+            <u-table-column :label="$t('容器本体')" align="center" prop="rqSelf" :formatter="rqSelfFormat" />
+            <u-table-column :label="$t('安全附件')" align="center" prop="rqSafe" :formatter="rqSafeFormat" />
+            <u-table-column :label="$t('安全保护装置')" align="center" prop="rqProtect" :formatter="rqProtectFormat" />
+            <u-table-column :label="$t('测量调控装置,紧急切断阀')" align="center" prop="rqControl" :formatter="rqControlFormat" />
+            <u-table-column :label="$t('附属仪器仪表')" align="center" prop="rqIns" :formatter="rqInsFormat" />
+            <u-table-column :label="$t('有无泄漏')" align="center" prop="rqOut" :formatter="rqOutFormat" />
+            <u-table-column :label="$t('其它情况描述')" align="center" prop="rqOther" :show-overflow-tooltip="true"/>
+            <u-table-column :label="$t('容器备注')" align="center" prop="rqRemark" :show-overflow-tooltip="true"/>
+          </u-table-column>
+          <u-table-column header-align="center" align="center" :label="$t('压力管道')">
+            <u-table-column :label="$t('管道区域/单元')" align="center" prop="gdUnit" :show-overflow-tooltip="true"/>
+            <u-table-column :label="$t('管道宏观')" align="center" prop="gdSelf" :formatter="gdSelfFormat" />
+            <u-table-column :label="$t('安全附件')" align="center" prop="gdSafe" :formatter="gdSafeFormat" />
+            <u-table-column :label="$t('测量调控装置')" align="center" prop="gdControl" :formatter="gdControlFormat" />
+            <u-table-column :label="$t('附属仪器仪表')" align="center" prop="gdIns" :formatter="gdInsFormat" />
+            <u-table-column :label="$t('有无泄漏')" align="center" prop="gdOut" :formatter="gdOutFormat" />
+            <u-table-column :label="$t('其它情况描述')" align="center" prop="gdOther" :show-overflow-tooltip="true"/>
+            <u-table-column :label="$t('管道备注')" align="center" prop="gdRemark" :show-overflow-tooltip="true"/>
+          </u-table-column>
+          <u-table-column header-align="center" align="center" :label="$t('锅炉')">
+            <u-table-column :label="$t('锅炉区域/单元')" align="center" prop="glUnit" :show-overflow-tooltip="true"/>
+            <u-table-column :label="$t('承压部件')" align="center" prop="glPressure" :formatter="glPressureFormat" />
+            <u-table-column :label="$t('安全附件')" align="center" prop="glSafe" :formatter="glSafeFormat" />
+            <u-table-column :label="$t('仪表及联锁保护装置')" align="center" prop="glIns" :formatter="glInsFormat" />
+            <u-table-column :label="$t('燃烧器')" align="center" prop="glBurn" :formatter="glBurnFormat" />
+            <u-table-column :label="$t('人员')+$t('证书')" align="center" prop="glCer" :formatter="glCerFormat" />
+            <u-table-column :label="$t('水质化验')" align="center" prop="glWater" :formatter="glWaterFormat" />
+            <u-table-column :label="$t('其它情况描述')" align="center" prop="glOther" :show-overflow-tooltip="true"/>
+            <u-table-column :label="$t('锅炉')+$t('备注')" align="center" prop="glRemark" :show-overflow-tooltip="true"/>
+          </u-table-column>
+        </u-table>
+        <u-table
           v-show="dataForm.approveType == 7 && dataForm.devType == 1"
+          use-virtual showBodyOverflow="title"
+          showHeaderOverflow="title"
+          max-height="500px"
           :data="devList"
           border
           style="width: 100%;">
-          <el-table-column :label="$t('装置')" align="center" fixed="left" prop="plantCode" :show-overflow-tooltip="true"/>
-          <el-table-column :label="$t('单元')" align="center" fixed="left" prop="unit" :show-overflow-tooltip="true"/>
-          <el-table-column :label="$t('位号')" align="center" fixed="left" prop="devno" :show-overflow-tooltip="true"/>
-          <el-table-column :label="$t('设备名称')" align="center" prop="devname" width="200" :show-overflow-tooltip="true"/>
-          <el-table-column :label="$t('使用证号码')" align="center" prop="useno" :show-overflow-tooltip="true"/>
-          <el-table-column :label="$t('注册编号')" align="center" prop="regno" :show-overflow-tooltip="true"/>
-          <el-table-column :label="$t('介质')" align="center" prop="medium" :show-overflow-tooltip="true" :render-header="renderHeader">
-          </el-table-column>
-          <el-table-column :label="$t('设计压力')+'(MPa)'" align="center" prop="desPressure" :show-overflow-tooltip="true" :render-header="renderHeader">
-          </el-table-column>
-          <el-table-column :label="$t('设计温度')+'(℃)'" align="center" prop="desTemp" :show-overflow-tooltip="true" :render-header="renderHeader">
-          </el-table-column>
-          <el-table-column :label="$t('操作压力')+'(MPa)'" align="center" prop="optPressure" :show-overflow-tooltip="true" :render-header="renderHeader">
-          </el-table-column>
-          <el-table-column :label="$t('操作温度')+'(℃)'" align="center" prop="optTemp" :show-overflow-tooltip="true" :render-header="renderHeader">
-          </el-table-column>
-          <el-table-column :label="$t('安全状况等级')" align="center" prop="safeClass" :show-overflow-tooltip="true"/>
-          <el-table-column :label="$t('下次定期检验日期')" align="center" prop="nextWarnDate" width="100">
-          </el-table-column>
-          <el-table-column  :label="$t('容器管理')" header-align="center">
-          <el-table-column
+          <u-table-column :label="$t('装置')" align="center" fixed="left" prop="plantCode" :show-overflow-tooltip="true"/>
+          <u-table-column :label="$t('单元')" align="center" fixed="left" prop="unit" :show-overflow-tooltip="true"/>
+          <u-table-column :label="$t('位号')" align="center" fixed="left" prop="devno" :show-overflow-tooltip="true"/>
+          <u-table-column :label="$t('设备名称')" align="center" prop="devname" width="200" :show-overflow-tooltip="true"/>
+          <u-table-column :label="$t('使用证号码')" align="center" prop="useno" :show-overflow-tooltip="true"/>
+          <u-table-column :label="$t('注册编号')" align="center" prop="regno" :show-overflow-tooltip="true"/>
+          <u-table-column :label="$t('介质')" align="center" prop="medium" :show-overflow-tooltip="true" :render-header="renderHeader">
+          </u-table-column>
+          <u-table-column :label="$t('设计压力')+'(MPa)'" align="center" prop="desPressure" :show-overflow-tooltip="true" :render-header="renderHeader">
+          </u-table-column>
+          <u-table-column :label="$t('设计温度')+'(℃)'" align="center" prop="desTemp" :show-overflow-tooltip="true" :render-header="renderHeader">
+          </u-table-column>
+          <u-table-column :label="$t('操作压力')+'(MPa)'" align="center" prop="optPressure" :show-overflow-tooltip="true" :render-header="renderHeader">
+          </u-table-column>
+          <u-table-column :label="$t('操作温度')+'(℃)'" align="center" prop="optTemp" :show-overflow-tooltip="true" :render-header="renderHeader">
+          </u-table-column>
+          <u-table-column :label="$t('安全状况等级')" align="center" prop="safeClass" :show-overflow-tooltip="true"/>
+          <u-table-column :label="$t('下次定期检验日期')" align="center" prop="nextWarnDate" width="100">
+          </u-table-column>
+          <u-table-column  :label="$t('容器管理')" header-align="center">
+          <u-table-column
             prop="pj1"
             header-align="center"
             align="center"
@@ -81,8 +85,8 @@
                 <span>1</span>
               </el-tooltip>
             </template>
-          </el-table-column>
-          <el-table-column
+          </u-table-column>
+          <u-table-column
             prop="pj2"
             header-align="center"
             align="center"
@@ -92,8 +96,8 @@
                 <span>2</span>
               </el-tooltip>
             </template>
-          </el-table-column>
-          <el-table-column
+          </u-table-column>
+          <u-table-column
             prop="pj3"
             header-align="center"
             align="center"
@@ -103,8 +107,8 @@
                 <span>3</span>
               </el-tooltip>
             </template>
-          </el-table-column>
-          <el-table-column
+          </u-table-column>
+          <u-table-column
             prop="pj4"
             header-align="center"
             align="center"
@@ -114,8 +118,8 @@
                 <span>4</span>
               </el-tooltip>
             </template>
-          </el-table-column>
-          <el-table-column
+          </u-table-column>
+          <u-table-column
             prop="pj5"
             header-align="center"
             align="center"
@@ -125,8 +129,8 @@
                 <span>5</span>
               </el-tooltip>
             </template>
-          </el-table-column>
-          <el-table-column
+          </u-table-column>
+          <u-table-column
             prop="pj6"
             header-align="center"
             align="center"
@@ -136,8 +140,8 @@
                 <span>6</span>
               </el-tooltip>
             </template>
-          </el-table-column>
-          <el-table-column
+          </u-table-column>
+          <u-table-column
             prop="pj7"
             header-align="center"
             align="center"
@@ -147,10 +151,10 @@
                 <span>7</span>
               </el-tooltip>
             </template>
-          </el-table-column>
-          </el-table-column>
-          <el-table-column  :label="$t('容器本体及运行情况')" header-align="center">
-            <el-table-column
+          </u-table-column>
+          </u-table-column>
+          <u-table-column  :label="$t('容器本体及运行情况')" header-align="center">
+            <u-table-column
               prop="pj8"
               header-align="center"
               align="center"
@@ -160,8 +164,8 @@
                   <span>8</span>
                 </el-tooltip>
               </template>
-            </el-table-column>
-            <el-table-column
+            </u-table-column>
+            <u-table-column
               prop="pj9"
               header-align="center"
               align="center"
@@ -171,8 +175,8 @@
                   <span>9</span>
                 </el-tooltip>
               </template>
-            </el-table-column>
-            <el-table-column
+            </u-table-column>
+            <u-table-column
               prop="pj10"
               header-align="center"
               align="center"
@@ -182,8 +186,8 @@
                   <span>10</span>
                 </el-tooltip>
               </template>
-            </el-table-column>
-            <el-table-column
+            </u-table-column>
+            <u-table-column
               prop="pj11"
               header-align="center"
               align="center"
@@ -193,8 +197,8 @@
                   <span>11</span>
                 </el-tooltip>
               </template>
-            </el-table-column>
-            <el-table-column
+            </u-table-column>
+            <u-table-column
               prop="pj12"
               header-align="center"
               align="center"
@@ -204,8 +208,8 @@
                   <span>12</span>
                 </el-tooltip>
               </template>
-            </el-table-column>
-            <el-table-column
+            </u-table-column>
+            <u-table-column
               prop="pj13"
               header-align="center"
               align="center"
@@ -215,8 +219,8 @@
                   <span>13</span>
                 </el-tooltip>
               </template>
-            </el-table-column>
-            <el-table-column
+            </u-table-column>
+            <u-table-column
               prop="pj14"
               header-align="center"
               align="center"
@@ -226,8 +230,8 @@
                   <span>14</span>
                 </el-tooltip>
               </template>
-            </el-table-column>
-            <el-table-column
+            </u-table-column>
+            <u-table-column
               prop="pj15"
               header-align="center"
               align="center"
@@ -237,8 +241,8 @@
                   <span>15</span>
                 </el-tooltip>
               </template>
-            </el-table-column>
-            <el-table-column
+            </u-table-column>
+            <u-table-column
               prop="pj16"
               header-align="center"
               align="center"
@@ -248,8 +252,8 @@
                   <span>16</span>
                 </el-tooltip>
               </template>
-            </el-table-column>
-            <el-table-column
+            </u-table-column>
+            <u-table-column
               prop="pj17"
               header-align="center"
               align="center"
@@ -259,8 +263,8 @@
                   <span>17</span>
                 </el-tooltip>
               </template>
-            </el-table-column>
-            <el-table-column
+            </u-table-column>
+            <u-table-column
               prop="pj18"
               header-align="center"
               align="center"
@@ -270,8 +274,8 @@
                   <span>18</span>
                 </el-tooltip>
               </template>
-            </el-table-column>
-            <el-table-column
+            </u-table-column>
+            <u-table-column
               prop="pj19"
               header-align="center"
               align="center"
@@ -281,8 +285,8 @@
                   <span>19</span>
                 </el-tooltip>
               </template>
-            </el-table-column>
-            <el-table-column
+            </u-table-column>
+            <u-table-column
               prop="pj20"
               header-align="center"
               align="center"
@@ -292,8 +296,8 @@
                   <span>20</span>
                 </el-tooltip>
               </template>
-            </el-table-column>
-            <el-table-column
+            </u-table-column>
+            <u-table-column
               prop="pj21"
               header-align="center"
               align="center"
@@ -303,8 +307,8 @@
                   <span>21</span>
                 </el-tooltip>
               </template>
-            </el-table-column>
-            <el-table-column
+            </u-table-column>
+            <u-table-column
               prop="pj22"
               header-align="center"
               align="center"
@@ -314,8 +318,8 @@
                   <span>22</span>
                 </el-tooltip>
               </template>
-            </el-table-column>
-            <el-table-column
+            </u-table-column>
+            <u-table-column
               prop="pj23"
               header-align="center"
               align="center"
@@ -325,8 +329,8 @@
                   <span>23</span>
                 </el-tooltip>
               </template>
-            </el-table-column>
-            <el-table-column
+            </u-table-column>
+            <u-table-column
               prop="pj24"
               header-align="center"
               align="center"
@@ -336,10 +340,10 @@
                   <span>24</span>
                 </el-tooltip>
               </template>
-            </el-table-column>
-          </el-table-column>
-          <el-table-column :label="$t('安全附件或设施')" header-align="center">
-            <el-table-column
+            </u-table-column>
+          </u-table-column>
+          <u-table-column :label="$t('安全附件或设施')" header-align="center">
+            <u-table-column
               prop="pj25"
               header-align="center"
               align="center"
@@ -349,8 +353,8 @@
                   <span>25</span>
                 </el-tooltip>
               </template>
-            </el-table-column>
-            <el-table-column
+            </u-table-column>
+            <u-table-column
               prop="pj26"
               header-align="center"
               align="center"
@@ -360,8 +364,8 @@
                   <span>26</span>
                 </el-tooltip>
               </template>
-            </el-table-column>
-            <el-table-column
+            </u-table-column>
+            <u-table-column
               prop="pj27"
               header-align="center"
               align="center"
@@ -371,8 +375,8 @@
                   <span>27</span>
                 </el-tooltip>
               </template>
-            </el-table-column>
-            <el-table-column
+            </u-table-column>
+            <u-table-column
               prop="pj28"
               header-align="center"
               align="center"
@@ -382,8 +386,8 @@
                   <span>28</span>
                 </el-tooltip>
               </template>
-            </el-table-column>
-            <el-table-column
+            </u-table-column>
+            <u-table-column
               prop="pj29"
               header-align="center"
               align="center"
@@ -393,8 +397,8 @@
                   <span>29</span>
                 </el-tooltip>
               </template>
-            </el-table-column>
-            <el-table-column
+            </u-table-column>
+            <u-table-column
               prop="pj30"
               header-align="center"
               align="center"
@@ -404,8 +408,8 @@
                   <span>30</span>
                 </el-tooltip>
               </template>
-            </el-table-column>
-            <el-table-column
+            </u-table-column>
+            <u-table-column
               prop="pj31"
               header-align="center"
               align="center"
@@ -415,10 +419,10 @@
                   <span>31</span>
                 </el-tooltip>
               </template>
-            </el-table-column>
-          </el-table-column>
-          <el-table-column :label="$t('其他')" header-align="center">
-            <el-table-column
+            </u-table-column>
+          </u-table-column>
+          <u-table-column :label="$t('其他')" header-align="center">
+            <u-table-column
               prop="pj32"
               header-align="center"
               align="center"
@@ -428,128 +432,131 @@
                   <span>32</span>
                 </el-tooltip>
               </template>
-            </el-table-column>
-          </el-table-column>
-          <el-table-column
+            </u-table-column>
+          </u-table-column>
+          <u-table-column
             prop="checkDate"
             header-align="center"
             align="center"
             :label="$t('检查日期')">
-          </el-table-column>
-          <el-table-column
+          </u-table-column>
+          <u-table-column
             prop="problem"
             header-align="center"
             align="center"
             :label="$t('问题及处理')">
-          </el-table-column>
-          <el-table-column
+          </u-table-column>
+          <u-table-column
             prop="con"
             header-align="center"
             align="center"
             :label="$t('结论')"
             :formatter="conFormat">
-          </el-table-column>
-          <el-table-column
+          </u-table-column>
+          <u-table-column
             prop="remarks"
             header-align="center"
             align="center"
             :label="$t('备注')">
-          </el-table-column>
-        </el-table>
-        <el-table
+          </u-table-column>
+        </u-table>
+        <u-table
           v-show="dataForm.approveType == 7 && dataForm.devType == 2"
           :data="devList"
+          use-virtual showBodyOverflow="title"
+          showHeaderOverflow="title"
+          max-height="500px"
           border
           style="width: 100%;">
-          <el-table-column
+          <u-table-column
             prop="devEntity.plantCode"
             header-align="center"
             align="center"
             :label="$t('装置名称')">
-          </el-table-column>
-          <el-table-column
+          </u-table-column>
+          <u-table-column
             prop="devEntity.unit"
             header-align="center"
             align="center"
             :label="$t('单元')">
-          </el-table-column>
-          <el-table-column
+          </u-table-column>
+          <u-table-column
             prop="devEntity.devname"
             header-align="center"
             align="center"
             :label="$t('管道名称')">
-          </el-table-column>
-          <el-table-column
+          </u-table-column>
+          <u-table-column
             prop="devEntity.devno"
             header-align="center"
             align="center"
             :label="$t('管道编号')">
-          </el-table-column>
-          <el-table-column
+          </u-table-column>
+          <u-table-column
             prop="devEntity.nextWarnDate"
             header-align="center"
             align="center"
             :label="$t('下次定期检验日期')">
-          </el-table-column>
-          <el-table-column
+          </u-table-column>
+          <u-table-column
             prop="grade"
             header-align="center"
             align="center"
             :label="$t('管道级别')">
-          </el-table-column>
-          <el-table-column
+          </u-table-column>
+          <u-table-column
             :label="$t('允许使用参数')"
             align="center">
-            <el-table-column
+            <u-table-column
               prop="medium"
               header-align="center"
               align="center"
               :label="$t('介质')">
-            </el-table-column>
-            <el-table-column
+            </u-table-column>
+            <u-table-column
               prop="desPressure"
               header-align="center"
               align="center"
               :label="$t('设计压力')+' (MPa)'">
-            </el-table-column>
-            <el-table-column
+            </u-table-column>
+            <u-table-column
               prop="desTemp"
               header-align="center"
               align="center"
               :label="$t('设计温度')+' (℃)'">
-            </el-table-column>
-            <el-table-column
+            </u-table-column>
+            <u-table-column
               prop="optPressure"
               header-align="center"
               align="center"
               :label="$t('操作压力')+' (MPa)'">
-            </el-table-column>
-            <el-table-column
+            </u-table-column>
+            <u-table-column
               prop="optTemp"
               header-align="center"
               align="center"
               :label="$t('操作温度')+' (℃)'">
-            </el-table-column>
-          </el-table-column>
-          <el-table-column
+            </u-table-column>
+          </u-table-column>
+          <u-table-column
             prop="checkUnit"
             header-align="center"
             align="center"
             :label="$t('检验单位')">
-          </el-table-column>
-          <el-table-column
+          </u-table-column>
+          <u-table-column
             prop="yearReportNo"
             header-align="center"
             align="center"
             :label="$t('报告编号')">
-          </el-table-column>
-          <el-table-column
+          </u-table-column>
+          <u-table-column
             prop="safeClass"
             header-align="center"
             align="center"
             :label="$t('安全等级')">
-          </el-table-column>
-          <el-table-column
+          </u-table-column>
+          <u-table-column
             prop="pj1"
             header-align="center"
             align="center"
@@ -559,8 +566,8 @@
                 <span>1</span>
               </el-tooltip>
             </template>
-          </el-table-column>
-          <el-table-column
+          </u-table-column>
+          <u-table-column
             prop="pj2"
             header-align="center"
             align="center"
@@ -570,8 +577,8 @@
                 <span>2</span>
               </el-tooltip>
             </template>
-          </el-table-column>
-          <el-table-column
+          </u-table-column>
+          <u-table-column
             prop="pj3"
             header-align="center"
             align="center"
@@ -581,8 +588,8 @@
                 <span>3</span>
               </el-tooltip>
             </template>
-          </el-table-column>
-          <el-table-column
+          </u-table-column>
+          <u-table-column
             prop="pj4"
             header-align="center"
             align="center"
@@ -592,8 +599,8 @@
                 <span>4</span>
               </el-tooltip>
             </template>
-          </el-table-column>
-          <el-table-column
+          </u-table-column>
+          <u-table-column
             prop="pj5"
             header-align="center"
             align="center"
@@ -603,12 +610,12 @@
                 <span>5</span>
               </el-tooltip>
             </template>
-          </el-table-column>
-          <el-table-column
+          </u-table-column>
+          <u-table-column
             :label="$t('安全附件及仪表')"
             align="center"
           >
-            <el-table-column
+            <u-table-column
               prop="pj6"
               header-align="center"
               align="center"
@@ -618,8 +625,8 @@
                   <span>6</span>
                 </el-tooltip>
               </template>
-            </el-table-column>
-            <el-table-column
+            </u-table-column>
+            <u-table-column
               prop="pj7"
               header-align="center"
               align="center"
@@ -629,8 +636,8 @@
                   <span>7</span>
                 </el-tooltip>
               </template>
-            </el-table-column>
-            <el-table-column
+            </u-table-column>
+            <u-table-column
               prop="pj8"
               header-align="center"
               align="center"
@@ -640,8 +647,8 @@
                   <span>8</span>
                 </el-tooltip>
               </template>
-            </el-table-column>
-            <el-table-column
+            </u-table-column>
+            <u-table-column
               prop="pj9"
               header-align="center"
               align="center"
@@ -651,8 +658,8 @@
                   <span>9</span>
                 </el-tooltip>
               </template>
-            </el-table-column>
-            <el-table-column
+            </u-table-column>
+            <u-table-column
               prop="pj10"
               header-align="center"
               align="center"
@@ -662,8 +669,8 @@
                   <span>10</span>
                 </el-tooltip>
               </template>
-            </el-table-column>
-            <el-table-column
+            </u-table-column>
+            <u-table-column
               prop="pj11"
               header-align="center"
               align="center"
@@ -673,9 +680,9 @@
                   <span>11</span>
                 </el-tooltip>
               </template>
-            </el-table-column>
-          </el-table-column>
-          <el-table-column
+            </u-table-column>
+          </u-table-column>
+          <u-table-column
             prop="pj12"
             header-align="center"
             align="center"
@@ -685,8 +692,8 @@
                 <span>12</span>
               </el-tooltip>
             </template>
-          </el-table-column>
-          <el-table-column
+          </u-table-column>
+          <u-table-column
             prop="pj13"
             header-align="center"
             align="center"
@@ -696,408 +703,408 @@
                 <span>13</span>
               </el-tooltip>
             </template>
-          </el-table-column>
-          <el-table-column
+          </u-table-column>
+          <u-table-column
             prop="checkDate"
             header-align="center"
             align="center"
             :label="$t('检查日期')">
-          </el-table-column>
-          <el-table-column
+          </u-table-column>
+          <u-table-column
             prop="nextCheckDate"
             header-align="center"
             align="center"
             :label="$t('下次年检日期')">
-          </el-table-column>
-          <el-table-column
+          </u-table-column>
+          <u-table-column
             prop="problem"
             header-align="center"
             align="center"
             :label="$t('问题及处理')">
-          </el-table-column>
-          <el-table-column
+          </u-table-column>
+          <u-table-column
             prop="con"
             header-align="center"
             align="center"
             :label="$t('结论')"
             :formatter="conFormat">
-          </el-table-column>
-        </el-table>
-        <el-table
+          </u-table-column>
+        </u-table>
+        <u-table
           v-show="dataForm.approveType != 7 && dataForm.devType == 1"
           :data="devList"
           border
           style="width: 100%; height: 95px">
-          <el-table-column
+          <u-table-column
             prop="plantCode"
             header-align="center"
             align="center"
             :label="$t('装置名称')">
-          </el-table-column>
-          <el-table-column
+          </u-table-column>
+          <u-table-column
             prop="devno"
             header-align="center"
             align="center"
             :label="$t('位号')">
-          </el-table-column>
-          <el-table-column
+          </u-table-column>
+          <u-table-column
             prop="devname"
             header-align="center"
             align="center"
             :show-overflow-tooltip="true"
             width="150"
             :label="$t('设备名称')">
-          </el-table-column>
-          <el-table-column
+          </u-table-column>
+          <u-table-column
             prop="useno"
             header-align="center"
             align="center"
             :show-overflow-tooltip="true"
             :label="$t('使用证编号')">
-          </el-table-column>
-          <el-table-column
+          </u-table-column>
+          <u-table-column
             prop="medium"
             header-align="center"
             align="center"
             :show-overflow-tooltip="true"
             :label="$t('介质')">
-          </el-table-column>
-          <el-table-column
+          </u-table-column>
+          <u-table-column
             prop="desPressure"
             header-align="center"
             align="center"
             :show-overflow-tooltip="true"
             :label="$t('设计压力')+' (MPa)'">
-          </el-table-column>
-          <el-table-column
+          </u-table-column>
+          <u-table-column
             prop="desTemp"
             header-align="center"
             align="center"
             :show-overflow-tooltip="true"
             :label="$t('设计温度')+' (℃)'">
-          </el-table-column>
-        </el-table>
-        <el-table
+          </u-table-column>
+        </u-table>
+        <u-table
           v-show="dataForm.approveType != 7 && dataForm.devType == 2"
           :data="devList"
           border
           style="width: 100%; height: 95px">
-          <el-table-column
+          <u-table-column
             prop="plantCode"
             header-align="center"
             align="center"
             width="100"
             :label="$t('装置名称')">
-          </el-table-column>
-          <el-table-column
+          </u-table-column>
+          <u-table-column
             prop="devno"
             header-align="center"
             align="center"
             width="120"
             :label="$t('位号')">
-          </el-table-column>
-          <el-table-column
+          </u-table-column>
+          <u-table-column
             prop="starting"
             header-align="center"
             align="center"
             width="100"
             :show-overflow-tooltip="true"
             :label="$t('起点')">
-          </el-table-column>
-          <el-table-column
+          </u-table-column>
+          <u-table-column
             prop="ending"
             header-align="center"
             align="center"
             width="100"
             :show-overflow-tooltip="true"
             :label="$t('终点')">
-          </el-table-column>
-          <el-table-column
+          </u-table-column>
+          <u-table-column
             prop="medium"
             header-align="center"
             align="center"
             width="100"
             :show-overflow-tooltip="true"
             :label="$t('介质')">
-          </el-table-column>
-          <el-table-column
+          </u-table-column>
+          <u-table-column
             prop="desPressure"
             header-align="center"
             align="center"
             :label="$t('设计压力')+' (MPa)'">
-          </el-table-column>
-          <el-table-column
+          </u-table-column>
+          <u-table-column
             prop="desTemp"
             header-align="center"
             align="center"
             :label="$t('设计温度')+' (℃)'">
-          </el-table-column>
-          <el-table-column
+          </u-table-column>
+          <u-table-column
             prop="optPressure"
             header-align="center"
             align="center"
             :label="$t('工作压力')+' (MPa)'">
-          </el-table-column>
-          <el-table-column
+          </u-table-column>
+          <u-table-column
             prop="optTemp"
             header-align="center"
             align="center"
             width="100"
             :show-overflow-tooltip="true"
             :label="$t('工作温度')+' (℃)'">
-          </el-table-column>
-        </el-table>
-        <el-table
+          </u-table-column>
+        </u-table>
+        <u-table
           v-show="dataForm.devType == 3"
           :data="devList"
           border
           style="width: 100%; height: 95px">
-          <el-table-column
+          <u-table-column
             prop="plantCode"
             header-align="center"
             align="center"
             :label="$t('装置名称')">
-          </el-table-column>
-          <el-table-column
+          </u-table-column>
+          <u-table-column
             prop="docno"
             header-align="center"
             align="center"
             :show-overflow-tooltip="true"
             :label="$t('档案号')">
-          </el-table-column>
-          <el-table-column
+          </u-table-column>
+          <u-table-column
             prop="devname"
             header-align="center"
             align="center"
             :show-overflow-tooltip="true"
             width="150"
             :label="$t('设备名称')">
-          </el-table-column>
-          <el-table-column
+          </u-table-column>
+          <u-table-column
             prop="capacity"
             header-align="center"
             align="center"
             :show-overflow-tooltip="true"
             :label="$t('起吊重量')+'(ton)'">
-          </el-table-column>
-          <el-table-column
+          </u-table-column>
+          <u-table-column
             prop="location"
             header-align="center"
             align="center"
             :show-overflow-tooltip="true"
             :label="$t('使用地点')">
-          </el-table-column>
-        </el-table>
-        <el-table
+          </u-table-column>
+        </u-table>
+        <u-table
           v-show="dataForm.devType == 4"
           :data="devList"
           border
           style="width: 100%; height: 95px">
-          <el-table-column
+          <u-table-column
             prop="plantCode"
             header-align="center"
             align="center"
             :show-overflow-tooltip="true"
             :label="$t('装置名称')">
-          </el-table-column>
-          <el-table-column
+          </u-table-column>
+          <u-table-column
             prop="devno"
             header-align="center"
             align="center"
             :show-overflow-tooltip="true"
             :label="$t('位号')">
-          </el-table-column>
-          <el-table-column
+          </u-table-column>
+          <u-table-column
             prop="devname"
             header-align="center"
             align="center"
             :show-overflow-tooltip="true"
             width="120"
             :label="$t('设备名称')">
-          </el-table-column>
-          <el-table-column
+          </u-table-column>
+          <u-table-column
             prop="useno"
             header-align="center"
             align="center"
             :show-overflow-tooltip="true"
             :label="$t('使用证编号')">
-          </el-table-column>
-          <el-table-column
+          </u-table-column>
+          <u-table-column
             prop="desTemp"
             header-align="center"
             align="center"
             :label="$t('设计温度')+' (℃)'">
-          </el-table-column>
-          <el-table-column
+          </u-table-column>
+          <u-table-column
             prop="desPressure"
             header-align="center"
             align="center"
             :label="$t('设计压力')+' (MPa)'">
-          </el-table-column>
-        </el-table>
-        <el-table
+          </u-table-column>
+        </u-table>
+        <u-table
           v-show="dataForm.devType == 5"
           :data="devList"
           border
           style="width: 100%; height: 95px">
-          <el-table-column
+          <u-table-column
             prop="plantCode"
             header-align="center"
             align="center"
             :label="$t('装置名称')">
-          </el-table-column>
-          <el-table-column
+          </u-table-column>
+          <u-table-column
             prop="docno"
             header-align="center"
             align="center"
             :label="$t('docNo')">
-          </el-table-column>
-          <el-table-column
+          </u-table-column>
+          <u-table-column
             prop="devname"
             header-align="center"
             align="center"
             :show-overflow-tooltip="true"
             width="150"
             :label="$t('设备名称')">
-          </el-table-column>
-          <el-table-column
+          </u-table-column>
+          <u-table-column
             prop="model"
             header-align="center"
             align="center"
             :show-overflow-tooltip="true"
             width="120"
             :label="$t('型号')">
-          </el-table-column>
-          <el-table-column
+          </u-table-column>
+          <u-table-column
             prop="location"
             header-align="center"
             align="center"
             :show-overflow-tooltip="true"
             :label="$t('使用地点')">
-          </el-table-column>
-        </el-table>
-        <el-table
+          </u-table-column>
+        </u-table>
+        <u-table
           v-show="dataForm.devType == 6"
           :data="devList"
           border
           style="width: 100%; height: 95px">
-          <el-table-column
+          <u-table-column
             prop="plantCode"
             header-align="center"
             align="center"
             :label="$t('装置名称')">
-          </el-table-column>
-          <el-table-column
+          </u-table-column>
+          <u-table-column
             prop="useDept"
             header-align="center"
             align="center"
             :label="$t('dept')">
-          </el-table-column>
-          <el-table-column
+          </u-table-column>
+          <u-table-column
             prop="carNo"
             header-align="center"
             align="center"
             :label="$t('plateNo')">
-          </el-table-column>
-          <el-table-column
+          </u-table-column>
+          <u-table-column
             prop="docno"
             header-align="center"
             align="center"
             :label="$t('docNo')">
-          </el-table-column>
-          <el-table-column
+          </u-table-column>
+          <u-table-column
             prop="model"
             header-align="center"
             align="center"
             :show-overflow-tooltip="true"
             width="120"
             :label="$t('model')">
-          </el-table-column>
-        </el-table>
-        <el-table
+          </u-table-column>
+        </u-table>
+        <u-table
           v-show="dataForm.devType == 7"
           :data="devList"
           border
           style="width: 100%; height: 95px">
-          <el-table-column
+          <u-table-column
             prop="plantCode"
             header-align="center"
             align="center"
             :label="$t('装置名称')">
-          </el-table-column>
-          <el-table-column
+          </u-table-column>
+          <u-table-column
             prop="unit"
             header-align="center"
             align="center"
             :label="$t('单元')">
-          </el-table-column>
-          <el-table-column
+          </u-table-column>
+          <u-table-column
             prop="devno"
             header-align="center"
             align="center"
             :label="$t('位号')">
-          </el-table-column>
-          <el-table-column
+          </u-table-column>
+          <u-table-column
             prop="devname"
             header-align="center"
             align="center"
             :label="$t('名称')">
-          </el-table-column>
-          <el-table-column
+          </u-table-column>
+          <u-table-column
             prop="createno"
             header-align="center"
             align="center"
             :label="$t('制造编号')">
-          </el-table-column>
-          <el-table-column
+          </u-table-column>
+          <u-table-column
             prop="indiameter"
             header-align="center"
             align="center"
             :show-overflow-tooltip="true"
             width="120"
             :label="$t('内径')+' mm'">
-          </el-table-column>
-          <el-table-column
+          </u-table-column>
+          <u-table-column
             prop="height"
             header-align="center"
             align="center"
             :show-overflow-tooltip="true"
             width="120"
             :label="$t('高(长)')+' mm'">
-          </el-table-column>
-          <el-table-column
+          </u-table-column>
+          <u-table-column
             prop="chickness"
             header-align="center"
             align="center"
             :show-overflow-tooltip="true"
             width="120"
             :label="$t('壁厚(mm)')">
-          </el-table-column>
-          <el-table-column
+          </u-table-column>
+          <u-table-column
             prop="volume"
             header-align="center"
             align="center"
             :show-overflow-tooltip="true"
             width="120"
             :label="$t('容积mm³')">
-          </el-table-column>
-          <el-table-column
+          </u-table-column>
+          <u-table-column
             prop="medium"
             header-align="center"
             align="center"
             :show-overflow-tooltip="true"
             width="120"
             :label="$t('介质')">
-          </el-table-column>
-          <el-table-column
+          </u-table-column>
+          <u-table-column
             prop="material"
             header-align="center"
             align="center"
             :show-overflow-tooltip="true"
             width="120"
             :label="$t('材料')">
-          </el-table-column>
-        </el-table>
+          </u-table-column>
+        </u-table>
         <el-button @click="recordHandle(devList,dataForm)" type="text" v-if="devList.length >1">{{$t('更多条目')}}</el-button>
       </el-form-item>
       <el-row>

+ 138 - 131
ui/src/views/sems/reportYlgd/index.vue

@@ -100,61 +100,63 @@
       <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
     </el-row>
 
-    <el-table v-loading="loading" ref="reportTable" :data="reportYlgdList" @selection-change="handleSelectionChange"
-              :height="clientHeight" border>
-      <el-table-column type="selection" width="55" align="center"/>
-      <el-table-column :label="$t('装置名称')" align="center" fixed="left" prop="plantCode" :show-overflow-tooltip="true"/>
-      <el-table-column :label="$t('单元')" align="center" fixed="left" prop="unit" :show-overflow-tooltip="true"/>
-      <el-table-column :label="$t('管道名称')" align="center" fixed="left" prop="devname" :show-overflow-tooltip="true"/>
-      <el-table-column :label="$t('管道编号')" align="center" fixed="left" prop="devno" :show-overflow-tooltip="true"/>
-      <el-table-column :label="$t('申请状态')" align="center" fixed="left" prop="approveStatus"
+    <u-table v-loading="loading" ref="tableRef" :data="reportYlgdList" @selection-change="handleSelectionChange"
+              :height="clientHeight" :row-key="row => { return row.id }" use-virtual showBodyOverflow="title"
+             showHeaderOverflow="title"
+              border>
+      <u-table-column type="selection" width="55" :reserve-selection="true" align="center"/>
+      <u-table-column :label="$t('装置名称')" align="center" fixed="left" prop="plantCode" :show-overflow-tooltip="true"/>
+      <u-table-column :label="$t('单元')" align="center" fixed="left" prop="unit" :show-overflow-tooltip="true"/>
+      <u-table-column :label="$t('管道名称')" align="center" fixed="left" prop="devname" :show-overflow-tooltip="true"/>
+      <u-table-column :label="$t('管道编号')" align="center" fixed="left" prop="devno" :show-overflow-tooltip="true"/>
+      <u-table-column :label="$t('申请状态')" align="center" fixed="left" prop="approveStatus"
                        :formatter="approveStatusFormat" :show-overflow-tooltip="true"/>
-      <el-table-column :label="$t('管道级别')" align="center" prop="grade" :show-overflow-tooltip="true"/>
-      <el-table-column :label="$t('介质')" align="center" prop="medium" :show-overflow-tooltip="true">
+      <u-table-column :label="$t('管道级别')" align="center" prop="grade" :show-overflow-tooltip="true"/>
+      <u-table-column :label="$t('介质')" align="center" prop="medium" :show-overflow-tooltip="true">
         <template slot-scope="scope">
           <el-input v-if="scope.row.isEdit" v-model="scope.row.medium" :placeholder="$t('请输入')+$t('介质')"/>
           <span v-else>{{ scope.row.medium }}</span>
         </template>
-      </el-table-column>
-      <el-table-column :label="$t('设计压力')+'(MPa)'" align="center" prop="desPressure" :show-overflow-tooltip="true">
+      </u-table-column>
+      <u-table-column :label="$t('设计压力')+'(MPa)'" align="center" prop="desPressure" :show-overflow-tooltip="true">
         <template slot-scope="scope">
           <el-input v-if="scope.row.isEdit" v-model="scope.row.desPressure"
                     :placeholder="$t('请输入')+$t('设计压力')+'(MPa)'"/>
           <span v-else>{{ scope.row.desPressure }}</span>
         </template>
-      </el-table-column>
-      <el-table-column :label="$t('设计温度')+'(℃)'" align="center" prop="desTemp" :show-overflow-tooltip="true">
+      </u-table-column>
+      <u-table-column :label="$t('设计温度')+'(℃)'" align="center" prop="desTemp" :show-overflow-tooltip="true">
         <template slot-scope="scope">
           <el-input v-if="scope.row.isEdit" v-model="scope.row.desTemp" :placeholder="$t('请输入')+$t('设计温度')+'(℃)'"/>
           <span v-else>{{ scope.row.desTemp }}</span>
         </template>
-      </el-table-column>
-      <el-table-column :label="$t('操作压力')+'(MPa)'" align="center" prop="optPressure" :show-overflow-tooltip="true">
+      </u-table-column>
+      <u-table-column :label="$t('操作压力')+'(MPa)'" align="center" prop="optPressure" :show-overflow-tooltip="true">
         <template slot-scope="scope">
           <el-input v-if="scope.row.isEdit" v-model="scope.row.optPressure"
                     :placeholder="$t('请输入')+$t('操作压力')+'(MPa)'"/>
           <span v-else>{{ scope.row.optPressure }}</span>
         </template>
-      </el-table-column>
-      <el-table-column :label="$t('操作温度')+'(℃)'" align="center" prop="optTemp" :show-overflow-tooltip="true">
+      </u-table-column>
+      <u-table-column :label="$t('操作温度')+'(℃)'" align="center" prop="optTemp" :show-overflow-tooltip="true">
         <template slot-scope="scope">
           <el-input v-if="scope.row.isEdit" v-model="scope.row.optTemp" :placeholder="$t('请输入')+$t('操作温度')+'(℃)'"/>
           <span v-else>{{ scope.row.optTemp }}</span>
         </template>
-      </el-table-column>
-      <el-table-column :label="$t('安全状况等级')" align="center" prop="safeClass" :show-overflow-tooltip="true"/>
-      <el-table-column :label="$t('下次定期检验日期')" align="center" prop="yearWarnDate" width="100">
+      </u-table-column>
+      <u-table-column :label="$t('安全状况等级')" align="center" prop="safeClass" :show-overflow-tooltip="true"/>
+      <u-table-column :label="$t('下次定期检验日期')" align="center" prop="yearWarnDate" width="100">
         <template slot-scope="scope">
           <span>{{ parseTime(scope.row.yearWarnDate, '{y}-{m}-{d}') }}</span>
         </template>
-      </el-table-column>
-      <el-table-column :label="$t('年检报告编号')" align="center" prop="yearReportNo" :show-overflow-tooltip="true">
+      </u-table-column>
+      <u-table-column :label="$t('年检报告编号')" align="center" prop="yearReportNo" :show-overflow-tooltip="true">
         <template slot-scope="scope">
           <el-input v-if="scope.row.isEdit" v-model="scope.row.yearReportNo" :placeholder="$t('请输入')+$t('年检报告编号')"/>
           <span v-else>{{ scope.row.yearReportNo }}</span>
         </template>
-      </el-table-column>
-      <el-table-column label="1" align="center" prop="pj1" :render-header="renderHeader">
+      </u-table-column>
+      <u-table-column label="1" align="center" prop="pj1" :render-header="renderHeader">
         <template slot-scope="scope">
           <el-select v-if="scope.row.isEdit" v-model="scope.row.pj1" :placeholder="$t('请选择')">
             <el-option
@@ -166,8 +168,8 @@
           </el-select>
           <span v-if="scope.row.isEdit === false && scope.row.pj1 != null">{{ pj1Format(scope.row) }}</span>
         </template>
-      </el-table-column>
-      <el-table-column label="2" align="center" prop="pj2" :render-header="renderHeader">
+      </u-table-column>
+      <u-table-column label="2" align="center" prop="pj2" :render-header="renderHeader">
         <template slot-scope="scope">
           <el-select v-if="scope.row.isEdit" v-model="scope.row.pj2" :placeholder="$t('请选择')">
             <el-option
@@ -179,8 +181,8 @@
           </el-select>
           <span v-if="scope.row.isEdit === false && scope.row.pj2 != null">{{ pj2Format(scope.row) }}</span>
         </template>
-      </el-table-column>
-      <el-table-column label="3" align="center" prop="pj3" :render-header="renderHeader">
+      </u-table-column>
+      <u-table-column label="3" align="center" prop="pj3" :render-header="renderHeader">
         <template slot-scope="scope">
           <el-select v-if="scope.row.isEdit" v-model="scope.row.pj3" :placeholder="$t('请选择')">
             <el-option
@@ -192,8 +194,8 @@
           </el-select>
           <span v-if="scope.row.isEdit === false && scope.row.pj3 != null">{{ pj3Format(scope.row) }}</span>
         </template>
-      </el-table-column>
-      <el-table-column label="4" align="center" prop="pj4" :render-header="renderHeader">
+      </u-table-column>
+      <u-table-column label="4" align="center" prop="pj4" :render-header="renderHeader">
         <template slot-scope="scope">
           <el-select v-if="scope.row.isEdit" v-model="scope.row.pj4" :placeholder="$t('请选择')">
             <el-option
@@ -205,8 +207,8 @@
           </el-select>
           <span v-if="scope.row.isEdit === false && scope.row.pj4 != null">{{ pj4Format(scope.row) }}</span>
         </template>
-      </el-table-column>
-      <el-table-column label="5" align="center" prop="pj5" :render-header="renderHeader">
+      </u-table-column>
+      <u-table-column label="5" align="center" prop="pj5" :render-header="renderHeader">
         <template slot-scope="scope">
           <el-select v-if="scope.row.isEdit" v-model="scope.row.pj5" :placeholder="$t('请选择')">
             <el-option
@@ -218,9 +220,9 @@
           </el-select>
           <span v-if="scope.row.isEdit === false && scope.row.pj5 != null">{{ pj5Format(scope.row) }}</span>
         </template>
-      </el-table-column>
-      <el-table-column :label="$t('安全附件仪表及检查情况')" align="center">
-        <el-table-column label="6" align="center" prop="pj6" :render-header="renderHeader">
+      </u-table-column>
+      <u-table-column :label="$t('安全附件仪表及检查情况')" align="center">
+        <u-table-column label="6" align="center" prop="pj6" :render-header="renderHeader">
           <template slot-scope="scope">
             <el-select v-if="scope.row.isEdit" v-model="scope.row.pj6" :placeholder="$t('请选择')">
               <el-option
@@ -232,8 +234,8 @@
             </el-select>
             <span v-if="scope.row.isEdit === false && scope.row.pj6 != null">{{ pj6Format(scope.row) }}</span>
           </template>
-        </el-table-column>
-        <el-table-column label="7" align="center" prop="pj7" :render-header="renderHeader">
+        </u-table-column>
+        <u-table-column label="7" align="center" prop="pj7" :render-header="renderHeader">
           <template slot-scope="scope">
             <el-select v-if="scope.row.isEdit" v-model="scope.row.pj7" :placeholder="$t('请选择')">
               <el-option
@@ -245,8 +247,8 @@
             </el-select>
             <span v-if="scope.row.isEdit === false && scope.row.pj7 != null">{{ pj7Format(scope.row) }}</span>
           </template>
-        </el-table-column>
-        <el-table-column label="8" align="center" prop="pj8" :render-header="renderHeader">
+        </u-table-column>
+        <u-table-column label="8" align="center" prop="pj8" :render-header="renderHeader">
           <template slot-scope="scope">
             <el-select v-if="scope.row.isEdit" v-model="scope.row.pj8" :placeholder="$t('请选择')">
               <el-option
@@ -258,8 +260,8 @@
             </el-select>
             <span v-if="scope.row.isEdit === false && scope.row.pj8 != null">{{ pj8Format(scope.row) }}</span>
           </template>
-        </el-table-column>
-        <el-table-column label="9" align="center" prop="pj9" :render-header="renderHeader">
+        </u-table-column>
+        <u-table-column label="9" align="center" prop="pj9" :render-header="renderHeader">
           <template slot-scope="scope">
             <el-select v-if="scope.row.isEdit" v-model="scope.row.pj9" :placeholder="$t('请选择')">
               <el-option
@@ -271,8 +273,8 @@
             </el-select>
             <span v-if="scope.row.isEdit === false && scope.row.pj9 != null">{{ pj9Format(scope.row) }}</span>
           </template>
-        </el-table-column>
-        <el-table-column label="10" align="center" prop="pj10" :render-header="renderHeader">
+        </u-table-column>
+        <u-table-column label="10" align="center" prop="pj10" :render-header="renderHeader">
           <template slot-scope="scope">
             <el-select v-if="scope.row.isEdit" v-model="scope.row.pj10" :placeholder="$t('请选择')">
               <el-option
@@ -284,8 +286,8 @@
             </el-select>
             <span v-if="scope.row.isEdit === false && scope.row.pj10 != null">{{ pj10Format(scope.row) }}</span>
           </template>
-        </el-table-column>
-        <el-table-column label="11" align="center" prop="pj11" :render-header="renderHeader">
+        </u-table-column>
+        <u-table-column label="11" align="center" prop="pj11" :render-header="renderHeader">
           <template slot-scope="scope">
             <el-select v-if="scope.row.isEdit" v-model="scope.row.pj11" :placeholder="$t('请选择')">
               <el-option
@@ -297,9 +299,9 @@
             </el-select>
             <span v-if="scope.row.isEdit === false && scope.row.pj11 != null">{{ pj11Format(scope.row) }}</span>
           </template>
-        </el-table-column>
-      </el-table-column>
-      <el-table-column label="12" align="center" prop="pj12" :render-header="renderHeader">
+        </u-table-column>
+      </u-table-column>
+      <u-table-column label="12" align="center" prop="pj12" :render-header="renderHeader">
         <template slot-scope="scope">
           <el-select v-if="scope.row.isEdit" v-model="scope.row.pj12" :placeholder="$t('请选择')">
             <el-option
@@ -311,8 +313,8 @@
           </el-select>
           <span v-if="scope.row.isEdit === false && scope.row.pj12 != null">{{ pj12Format(scope.row) }}</span>
         </template>
-      </el-table-column>
-      <el-table-column label="13" align="center" prop="pj13" :render-header="renderHeader">
+      </u-table-column>
+      <u-table-column label="13" align="center" prop="pj13" :render-header="renderHeader">
         <template slot-scope="scope">
           <el-select v-if="scope.row.isEdit" v-model="scope.row.pj13" :placeholder="$t('请选择')">
             <el-option
@@ -324,8 +326,8 @@
           </el-select>
           <span v-if="scope.row.isEdit === false && scope.row.pj13 != null">{{ pj13Format(scope.row) }}</span>
         </template>
-      </el-table-column>
-      <el-table-column label="14" align="center" prop="pj14" :render-header="renderHeader">
+      </u-table-column>
+      <u-table-column label="14" align="center" prop="pj14" :render-header="renderHeader">
         <template slot-scope="scope">
           <el-select v-if="scope.row.isEdit" v-model="scope.row.pj14" :placeholder="$t('请选择')">
             <el-option
@@ -337,8 +339,8 @@
           </el-select>
           <span v-if="scope.row.isEdit === false && scope.row.pj14 != null">{{ pj14Format(scope.row) }}</span>
         </template>
-      </el-table-column>
-      <el-table-column label="15" align="center" prop="pj15" :render-header="renderHeader">
+      </u-table-column>
+      <u-table-column label="15" align="center" prop="pj15" :render-header="renderHeader">
         <template slot-scope="scope">
           <el-select v-if="scope.row.isEdit" v-model="scope.row.pj15" :placeholder="$t('请选择')">
             <el-option
@@ -350,8 +352,8 @@
           </el-select>
           <span v-if="scope.row.isEdit === false && scope.row.pj15 != null">{{ pj15Format(scope.row) }}</span>
         </template>
-      </el-table-column>
-      <el-table-column label="16" align="center" prop="pj16" :render-header="renderHeader">
+      </u-table-column>
+      <u-table-column label="16" align="center" prop="pj16" :render-header="renderHeader">
         <template slot-scope="scope">
           <el-select v-if="scope.row.isEdit" v-model="scope.row.pj16" :placeholder="$t('请选择')">
             <el-option
@@ -363,8 +365,8 @@
           </el-select>
           <span v-if="scope.row.isEdit === false && scope.row.pj16 != null">{{ pj16Format(scope.row) }}</span>
         </template>
-      </el-table-column>
-      <el-table-column label="17" align="center" prop="pj17" :render-header="renderHeader">
+      </u-table-column>
+      <u-table-column label="17" align="center" prop="pj17" :render-header="renderHeader">
         <template slot-scope="scope">
           <el-select v-if="scope.row.isEdit" v-model="scope.row.pj17" :placeholder="$t('请选择')">
             <el-option
@@ -376,14 +378,14 @@
           </el-select>
           <span v-if="scope.row.isEdit === false && scope.row.pj17 != null">{{ pj17Format(scope.row) }}</span>
         </template>
-      </el-table-column>
-      <el-table-column :label="$t('备注')" align="center" prop="remarks" :show-overflow-tooltip="true">
+      </u-table-column>
+      <u-table-column :label="$t('备注')" align="center" prop="remarks" :show-overflow-tooltip="true">
         <template slot-scope="scope">
           <el-input v-if="scope.row.isEdit" v-model="scope.row.remarks" :placeholder="$t('请输入')+$t('备注')"/>
           <span v-else>{{ scope.row.remarks }}</span>
         </template>
-      </el-table-column>
-      <el-table-column :label="$t('检查日期')" align="center" prop="checkDate" width="100">
+      </u-table-column>
+      <u-table-column :label="$t('检查日期')" align="center" prop="checkDate" width="100">
         <template slot-scope="scope">
           <el-date-picker clearable size="small" style="width: 200px"
                           v-model="scope.row.checkDate"
@@ -394,8 +396,8 @@
           </el-date-picker>
           <span v-else>{{ parseTime(scope.row.checkDate, '{y}-{m}-{d}') }}</span>
         </template>
-      </el-table-column>
-      <el-table-column :label="$t('下次年度检查日期')" align="center" prop="nextCheckDate" width="100">
+      </u-table-column>
+      <u-table-column :label="$t('下次年度检查日期')" align="center" prop="nextCheckDate" width="100">
         <template slot-scope="scope">
           <el-date-picker clearable size="small" style="width: 200px"
                           v-model="scope.row.nextCheckDate"
@@ -406,14 +408,14 @@
           </el-date-picker>
           <span v-else>{{ parseTime(scope.row.nextCheckDate, '{y}-{m}-{d}') }}</span>
         </template>
-      </el-table-column>
-      <el-table-column :label="$t('问题及处理')" align="center" prop="problem" :show-overflow-tooltip="true">
+      </u-table-column>
+      <u-table-column :label="$t('问题及处理')" align="center" prop="problem" :show-overflow-tooltip="true">
         <template slot-scope="scope">
           <el-input v-if="scope.row.isEdit" v-model="scope.row.problem" :placeholder="$t('请输入')+$t('问题及处理')"/>
           <span v-else>{{ scope.row.problem }}</span>
         </template>
-      </el-table-column>
-      <el-table-column :label="$t('检查结论')" align="center" prop="con" :formatter="conFormat">
+      </u-table-column>
+      <u-table-column :label="$t('检查结论')" align="center" prop="con" :formatter="conFormat">
         <template slot-scope="scope">
           <el-select v-if="scope.row.isEdit" v-model="scope.row.con" :placeholder="$t('请选择')+$t('检查结论')">
             <el-option
@@ -425,9 +427,9 @@
           </el-select>
           <span v-if="scope.row.isEdit === false && scope.row.con != null">{{ conFormat(scope.row) }}</span>
         </template>
-      </el-table-column>
-      <el-table-column :label="$t('操作')" align="center" fixed="right" width="200"
-                       class-name="small-padding fixed-width">
+      </u-table-column>
+      <u-table-column :label="$t('操作')" align="center" fixed="right" width="200"
+                       class-name="small-padding">
         <template slot-scope="scope">
           <el-button
             size="mini"
@@ -472,12 +474,13 @@
           >{{ $t('取消') }}
           </el-button>
         </template>
-      </el-table-column>
-    </el-table>
+      </u-table-column>
+    </u-table>
 
     <pagination
       v-show="total>0"
       :total="total"
+      :page-sizes="[20,100,200,500]"
       :page.sync="queryParams.pageNum"
       :limit.sync="queryParams.pageSize"
       @pagination="getList"
@@ -486,68 +489,68 @@
     <!-- 历史报告对话框 -->
     <el-dialog v-dialogDrag :title="title" :visible.sync="open" width="1800px" append-to-body>
       <el-table :data="historyYlgdList" border>
-        <el-table-column :label="$t('生成时间')" align="center" prop="buildDate" fixed="left" width="100">
+        <u-table-column :label="$t('生成时间')" align="center" prop="buildDate" fixed="left" width="100">
           <template slot-scope="scope">
             <span>{{ parseTime(scope.row.buildDate, '{y}-{m}-{d}') }}</span>
           </template>
-        </el-table-column>
-        <el-table-column :label="$t('装置名称')" align="center" prop="plantCode" :show-overflow-tooltip="true"/>
-        <el-table-column :label="$t('单元')" align="center" prop="unit" :show-overflow-tooltip="true"/>
-        <el-table-column :label="$t('管道名称')" align="center" prop="devname" :show-overflow-tooltip="true"/>
-        <el-table-column :label="$t('管道编号')" align="center" prop="devno" :show-overflow-tooltip="true"/>
-        <el-table-column :label="$t('管道级别')" align="center" prop="grade" :show-overflow-tooltip="true"/>
-        <el-table-column :label="$t('介质')" align="center" prop="medium" :show-overflow-tooltip="true"/>
-        <el-table-column :label="$t('设计压力')+'(MPa)'" align="center" prop="desPressure" :show-overflow-tooltip="true"/>
-        <el-table-column :label="$t('设计温度')+'(℃)'" align="center" prop="desTemp" :show-overflow-tooltip="true"/>
-        <el-table-column :label="$t('操作压力')+'(MPa)'" align="center" prop="optPressure" :show-overflow-tooltip="true"/>
-        <el-table-column :label="$t('操作温度')+'(℃)'" align="center" prop="optTemp" :show-overflow-tooltip="true"/>
-        <el-table-column :label="$t('安全状况等级')" align="center" prop="safeClass" :show-overflow-tooltip="true"/>
-        <el-table-column :label="$t('下次定期检验日期')" align="center" prop="nextWarnDate" width="100">
+        </u-table-column>
+        <u-table-column :label="$t('装置名称')" align="center" prop="plantCode" :show-overflow-tooltip="true"/>
+        <u-table-column :label="$t('单元')" align="center" prop="unit" :show-overflow-tooltip="true"/>
+        <u-table-column :label="$t('管道名称')" align="center" prop="devname" :show-overflow-tooltip="true"/>
+        <u-table-column :label="$t('管道编号')" align="center" prop="devno" :show-overflow-tooltip="true"/>
+        <u-table-column :label="$t('管道级别')" align="center" prop="grade" :show-overflow-tooltip="true"/>
+        <u-table-column :label="$t('介质')" align="center" prop="medium" :show-overflow-tooltip="true"/>
+        <u-table-column :label="$t('设计压力')+'(MPa)'" align="center" prop="desPressure" :show-overflow-tooltip="true"/>
+        <u-table-column :label="$t('设计温度')+'(℃)'" align="center" prop="desTemp" :show-overflow-tooltip="true"/>
+        <u-table-column :label="$t('操作压力')+'(MPa)'" align="center" prop="optPressure" :show-overflow-tooltip="true"/>
+        <u-table-column :label="$t('操作温度')+'(℃)'" align="center" prop="optTemp" :show-overflow-tooltip="true"/>
+        <u-table-column :label="$t('安全状况等级')" align="center" prop="safeClass" :show-overflow-tooltip="true"/>
+        <u-table-column :label="$t('下次定期检验日期')" align="center" prop="nextWarnDate" width="100">
           <template slot-scope="scope">
             <span>{{ parseTime(scope.row.nextWarnDate, '{y}-{m}-{d}') }}</span>
           </template>
-        </el-table-column>
-        <el-table-column :label="$t('年检报告编号')" align="center" prop="yearReportNo" :show-overflow-tooltip="true"/>
-        <el-table-column label="1" align="center" prop="pj1" :render-header="renderHeader" :formatter="pj1Format"/>
-        <el-table-column label="2" align="center" prop="pj2" :render-header="renderHeader" :formatter="pj2Format"/>
-        <el-table-column label="3" align="center" prop="pj3" :render-header="renderHeader" :formatter="pj3Format"/>
-        <el-table-column label="4" align="center" prop="pj4" :render-header="renderHeader" :formatter="pj4Format"/>
-        <el-table-column label="5" align="center" prop="pj5" :render-header="renderHeader" :formatter="pj5Format"/>
-        <el-table-column :label="$t('安全附件仪表及检查情况')" align="center">
-          <el-table-column label="6" align="center" prop="pj6" :render-header="renderHeader" :formatter="pj6Format"/>
-          <el-table-column label="7" align="center" prop="pj7" :render-header="renderHeader" :formatter="pj7Format"/>
-          <el-table-column label="8" align="center" prop="pj8" :render-header="renderHeader" :formatter="pj8Format"/>
-          <el-table-column label="9" align="center" prop="pj9" :render-header="renderHeader" :formatter="pj9Format"/>
-          <el-table-column label="10" align="center" prop="pj10" :render-header="renderHeader" :formatter="pj10Format"/>
-          <el-table-column label="11" align="center" prop="pj11" :render-header="renderHeader" :formatter="pj11Format"/>
-        </el-table-column>
-        <el-table-column label="12" align="center" prop="pj12" :render-header="renderHeader" :formatter="pj12Format"/>
-        <el-table-column label="13" align="center" prop="pj13" :render-header="renderHeader" :formatter="pj13Format"/>
-        <el-table-column label="14" align="center" prop="pj14" :render-header="renderHeader" :formatter="pj14Format"/>
-        <el-table-column label="15" align="center" prop="pj15" :render-header="renderHeader" :formatter="pj15Format"/>
-        <el-table-column label="16" align="center" prop="pj16" :render-header="renderHeader" :formatter="pj16Format"/>
-        <el-table-column label="17" align="center" prop="pj17" :render-header="renderHeader" :formatter="pj17Format"/>
-        <el-table-column :label="$t('备注')" align="center" prop="remarks" :show-overflow-tooltip="true"/>
-        <el-table-column :label="$t('检查日期')" align="center" prop="checkDate" width="100">
+        </u-table-column>
+        <u-table-column :label="$t('年检报告编号')" align="center" prop="yearReportNo" :show-overflow-tooltip="true"/>
+        <u-table-column label="1" align="center" prop="pj1" :render-header="renderHeader" :formatter="pj1Format"/>
+        <u-table-column label="2" align="center" prop="pj2" :render-header="renderHeader" :formatter="pj2Format"/>
+        <u-table-column label="3" align="center" prop="pj3" :render-header="renderHeader" :formatter="pj3Format"/>
+        <u-table-column label="4" align="center" prop="pj4" :render-header="renderHeader" :formatter="pj4Format"/>
+        <u-table-column label="5" align="center" prop="pj5" :render-header="renderHeader" :formatter="pj5Format"/>
+        <u-table-column :label="$t('安全附件仪表及检查情况')" align="center">
+          <u-table-column label="6" align="center" prop="pj6" :render-header="renderHeader" :formatter="pj6Format"/>
+          <u-table-column label="7" align="center" prop="pj7" :render-header="renderHeader" :formatter="pj7Format"/>
+          <u-table-column label="8" align="center" prop="pj8" :render-header="renderHeader" :formatter="pj8Format"/>
+          <u-table-column label="9" align="center" prop="pj9" :render-header="renderHeader" :formatter="pj9Format"/>
+          <u-table-column label="10" align="center" prop="pj10" :render-header="renderHeader" :formatter="pj10Format"/>
+          <u-table-column label="11" align="center" prop="pj11" :render-header="renderHeader" :formatter="pj11Format"/>
+        </u-table-column>
+        <u-table-column label="12" align="center" prop="pj12" :render-header="renderHeader" :formatter="pj12Format"/>
+        <u-table-column label="13" align="center" prop="pj13" :render-header="renderHeader" :formatter="pj13Format"/>
+        <u-table-column label="14" align="center" prop="pj14" :render-header="renderHeader" :formatter="pj14Format"/>
+        <u-table-column label="15" align="center" prop="pj15" :render-header="renderHeader" :formatter="pj15Format"/>
+        <u-table-column label="16" align="center" prop="pj16" :render-header="renderHeader" :formatter="pj16Format"/>
+        <u-table-column label="17" align="center" prop="pj17" :render-header="renderHeader" :formatter="pj17Format"/>
+        <u-table-column :label="$t('备注')" align="center" prop="remarks" :show-overflow-tooltip="true"/>
+        <u-table-column :label="$t('检查日期')" align="center" prop="checkDate" width="100">
           <template slot-scope="scope">
             <span>{{ parseTime(scope.row.checkDate, '{y}-{m}-{d}') }}</span>
           </template>
-        </el-table-column>
-        <el-table-column :label="$t('下次年度检查日期')" align="center" prop="nextCheckDate" width="100">
+        </u-table-column>
+        <u-table-column :label="$t('下次年度检查日期')" align="center" prop="nextCheckDate" width="100">
           <template slot-scope="scope">
             <span>{{ parseTime(scope.row.nextCheckDate, '{y}-{m}-{d}') }}</span>
           </template>
-        </el-table-column>
-        <el-table-column :label="$t('问题及处理')" align="center" prop="problem" :show-overflow-tooltip="true"/>
-        <el-table-column :label="$t('检查结论')" align="center" prop="con" :formatter="conFormat"/>
-        <el-table-column :label="$t('操作')" align="center" fixed="right" width="120"
+        </u-table-column>
+        <u-table-column :label="$t('问题及处理')" align="center" prop="problem" :show-overflow-tooltip="true"/>
+        <u-table-column :label="$t('检查结论')" align="center" prop="con" :formatter="conFormat"/>
+        <u-table-column :label="$t('操作')" align="center" fixed="right" width="120"
                          class-name="small-padding fixed-width">
           <template slot-scope="scope">
             <el-button v-hasPermi="['sems:historyYlgd:export']" type="text" size="small"
                        @click="downloadReport(scope.row)">{{ $t('下载报告') }}
             </el-button>
           </template>
-        </el-table-column>
+        </u-table-column>
       </el-table>
       <form ref="downloadForm" :action="downloadAction" target="FORMSUBMIT">
         <input name="id" v-model="downloadForm.id" hidden/>
@@ -657,19 +660,19 @@
       <el-table
         :data="reportThirdList"
         style="width: 100%">
-        <el-table-column
+        <u-table-column
           prop="plantCode"
           :label="$t('装置名称')"
           width="100"
           :show-overflow-tooltip="true"
           align="center"/>
-        <el-table-column
+        <u-table-column
           prop="year"
           :label="$t('年份')"
           width="100"
           :show-overflow-tooltip="true"
           align="center"/>
-        <el-table-column
+        <u-table-column
           prop="fileName"
           :label="$t('文件名称')"
           width="300"
@@ -680,8 +683,8 @@
               <span>{{ scope.row.fileName }}</span>
             </a>
           </template>
-        </el-table-column>
-        <el-table-column :label="$t('操作')" align="center" fixed="right">
+        </u-table-column>
+        <u-table-column :label="$t('操作')" align="center" fixed="right">
           <template slot-scope="scope">
             <el-button
               size="mini"
@@ -692,7 +695,7 @@
             >{{ $t('删除') }}
             </el-button>
           </template>
-        </el-table-column>
+        </u-table-column>
       </el-table>
     </el-dialog>
   </div>
@@ -841,7 +844,7 @@ export default {
         unit: null,
         approveStatus: null,
         pageNum: 1,
-        pageSize: 20,
+        pageSize: 500,
         orderByColumn:"unit",
         isAsc:"asc",
       },
@@ -867,15 +870,16 @@ export default {
         devId: [
           {required: true, message: this.$t('设备id') + this.$t('不能为空'), trigger: "blur"}
         ],
-      }
+      },
     };
   },
   watch: {
     // 根据名称筛选部门树
     deptName(val) {
       this.$refs.tree.filter(val);
-    }
+    },
   },
+
   created() {
     //设置表格高度对应屏幕高度
     this.$nextTick(() => {
@@ -961,9 +965,10 @@ export default {
         });
         this.reportYlgdList = response.rows;
         this.total = response.total;
-        this.$nextTick(() => {
-          this.$refs.reportTable.doLayout(); // 解决表格错位
-        });
+
+        // this.$nextTick(() => {
+        //   this.$refs.tableRef.doLayout(); // 解决表格错位
+        // });
         this.loading = false;
       });
     },
@@ -1378,6 +1383,8 @@ export default {
       a.setAttribute('href', process.env.VUE_APP_BASE_API + url)
       a.click()
     },
-  }
+  },
+
 };
 </script>
+

+ 230 - 0
ui/src/views/sems/reportYlgd/index3.vue

@@ -0,0 +1,230 @@
+<template>
+  <el-table
+    :data="tableData"
+    ref="tableRef"
+    style="width: 900px"
+    max-height="380"
+    border
+    stripe
+    class="myTable"
+  >
+    <el-table-column
+      prop="date"
+      label="必要元素:"
+      min-width="150"
+      align="center"
+      fixed="left"
+    >
+    </el-table-column>
+    <el-table-column label="每一行高度必须相同">
+      <el-table-column
+        prop="name"
+        label="class不能为【myTable】"
+        min-width="180"
+        align="center"
+      >
+      </el-table-column>
+      <el-table-column label="ref不能为【tableRef】">
+        <el-table-column
+          prop="province"
+          label="省份"
+          min-width="150"
+          align="center"
+        >
+        </el-table-column>
+        <el-table-column
+          prop="city"
+          label="市区"
+          min-width="150"
+          align="center"
+        >
+        </el-table-column>
+        <el-table-column
+          prop="address"
+          label="地址"
+          min-width="150"
+          align="center"
+        >
+        </el-table-column>
+      </el-table-column>
+    </el-table-column>
+    <el-table-column label="操作" fixed="right" min-width="160" align="center">
+      <template>
+        <el-button size="mini">编辑</el-button>
+        <el-button size="mini" type="danger">删除</el-button>
+      </template>
+    </el-table-column>
+  </el-table>
+</template>
+
+<script>
+export default {
+  data() {
+    return {
+      tableData: [], // 需要渲染的数据
+      saveDATA: [], // 所有数据
+      tableRef: null, // 设置了滚动的那个盒子
+      tableWarp: null,
+      fixLeft: null,
+      fixRight: null,
+      tableFixedLeft: null,
+      tableFixedRight: null,
+      scrollTop: 0,
+      num: 0,
+      start: 0,
+      end: 42, // 3倍的pageList
+      starts: 0, // 备份[保持与上一样]
+      ends: 42, // 备份[保持与上一样]
+      pageList: 14, // 一屏显示
+      itemHeight: 41, // 每一行高度
+      timeOut: 400 // 延迟
+    }
+  },
+  watch: {
+    num: function(newV) {
+      // 因为初始化时已经添加了3屏的数据,所以只有当滚动到第3屏时才计算位移量
+      if (newV > 1) {
+        this.start = (newV - 1) * this.pageList
+        this.end = (newV + 2) * this.pageList
+        // 使用延时器会造成页面短暂白屏的问题,使用requestAnimationFrame则可以解决
+        // setTimeout(() => {
+        // // 计算偏移量
+        //   this.tableWarp.style.transform = `translateY(${this.start *
+        //     this.itemHeight}px)`
+        //   if (this.fixLeft) {
+        //     this.fixLeft.style.transform = `translateY(${this.start *
+        //       this.itemHeight}px)`
+        //   }
+        //   if (this.fixRight) {
+        //     this.fixRight.style.transform = `translateY(${this.start *
+        //       this.itemHeight}px)`
+        //   }
+        //   this.tableData = this.saveDATA.slice(this.start, this.end)
+        // }, this.timeOut)
+        requestAnimationFrame(() => {
+          // 计算偏移量
+          this.tableWarp.style.transform = `translateY(${this.start *
+          this.itemHeight}px)`
+          if (this.fixLeft) {
+            this.fixLeft.style.transform = `translateY(${this.start *
+            this.itemHeight}px)`
+          }
+          if (this.fixRight) {
+            this.fixRight.style.transform = `translateY(${this.start *
+            this.itemHeight}px)`
+          }
+          this.tableData = this.saveDATA.slice(this.start, this.end)
+        })
+      } else {
+        requestAnimationFrame(() => {
+          this.tableData = this.saveDATA.slice(this.starts, this.ends)
+          this.tableWarp.style.transform = `translateY(0px)`
+          if (this.fixLeft) {
+            this.fixLeft.style.transform = `translateY(0px)`
+          }
+          if (this.fixRight) {
+            this.fixRight.style.transform = `translateY(0px)`
+          }
+        })
+        // setTimeout(() => {
+        //   this.tableData = this.saveDATA.slice(this.starts, this.ends)
+        //   this.tableWarp.style.transform = `translateY(0px)`
+        //   if (this.fixLeft) {
+        //     this.fixLeft.style.transform = `translateY(0px)`
+        //   }
+        //   if (this.fixRight) {
+        //     this.fixRight.style.transform = `translateY(0px)`
+        //   }
+        // }, this.timeOut)
+      }
+    }
+  },
+  created() {
+    this.init()
+  },
+  mounted() {
+    this.$nextTick(() => {
+      // 设置了滚动的盒子
+      this.tableRef = this.$refs.tableRef.bodyWrapper
+      // 左侧固定列所在的盒子
+      this.tableFixedLeft = document.querySelector(
+        '.el-table .el-table__fixed .el-table__fixed-body-wrapper'
+      )
+      // 右侧固定列所在的盒子
+      this.tableFixedRight = document.querySelector(
+        '.el-table .el-table__fixed-right .el-table__fixed-body-wrapper'
+      )
+      /**
+       * fixed-left | 主体 | fixed-right
+       */
+        // 主体改造
+        // 创建内容盒子divWarpPar并且高度设置为所有数据所需要的总高度
+      let divWarpPar = document.createElement('div')
+      // 如果这里还没获取到saveDATA数据就渲染会导致内容盒子高度为0,可以通过监听saveDATA的长度后再设置一次高度
+      divWarpPar.style.height = this.saveDATA.length * this.itemHeight + 'px'
+      // 新创建的盒子divWarpChild
+      let divWarpChild = document.createElement('div')
+      divWarpChild.className = 'fix-warp'
+      // 把tableRef的第一个子元素移动到新创建的盒子divWarpChild中
+      divWarpChild.append(this.tableRef.children[0])
+      // 把divWarpChild添加到divWarpPar中,最把divWarpPar添加到tableRef中
+      divWarpPar.append(divWarpChild)
+      this.tableRef.append(divWarpPar)
+
+      // left改造
+      let divLeftPar = document.createElement('div')
+      divLeftPar.style.height = this.saveDATA.length * this.itemHeight + 'px'
+      let divLeftChild = document.createElement('div')
+      divLeftChild.className = 'fix-left'
+      this.tableFixedLeft &&
+      divLeftChild.append(this.tableFixedLeft.children[0])
+      divLeftPar.append(divLeftChild)
+      this.tableFixedLeft && this.tableFixedLeft.append(divLeftPar)
+
+      // right改造
+      let divRightPar = document.createElement('div')
+      divRightPar.style.height = this.saveDATA.length * this.itemHeight + 'px'
+      let divRightChild = document.createElement('div')
+      divRightChild.className = 'fix-right'
+      this.tableFixedRight &&
+      divRightChild.append(this.tableFixedRight.children[0])
+      divRightPar.append(divRightChild)
+      this.tableFixedRight && this.tableFixedRight.append(divRightPar)
+
+      // 被设置的transform元素
+      this.tableWarp = document.querySelector(
+        '.el-table .el-table__body-wrapper .fix-warp'
+      )
+      this.fixLeft = document.querySelector(
+        '.el-table .el-table__fixed .el-table__fixed-body-wrapper .fix-left'
+      )
+      this.fixRight = document.querySelector(
+        '.el-table .el-table__fixed-right .el-table__fixed-body-wrapper .fix-right'
+      )
+
+      this.tableRef.addEventListener('scroll', this.onScroll)
+    })
+  },
+  methods: {
+    init() {
+      this.saveDATA = []
+      for (let i = 0; i < 10000; i++) {
+        this.saveDATA.push({
+          date: i,
+          name: '王小虎' + i,
+          address: '1518',
+          province: 'github:',
+          city: 'divcssjs',
+          zip: 'divcssjs' + i
+        })
+      }
+      this.tableData = this.saveDATA.slice(this.start, this.end)
+    },
+    onScroll() {
+      this.scrollTop = this.tableRef.scrollTop
+      this.num = Math.floor(this.scrollTop / (this.itemHeight * this.pageList))
+    }
+  }
+}
+</script>
+

+ 72 - 68
ui/src/views/sems/reportYlgd/yearapprove.vue

@@ -3,106 +3,110 @@
   <el-dialog :title="$t('提交申请')" :visible.sync="visible" width="1200px" append-to-body>
     <el-form :model="dataForm" :rules="dataRule" ref="dataForm" @keyup.enter.native="" label-width="80px">
       <el-form-item :label="$t('申请设备')">
-        <el-table
+        <u-table
           :data="devList"
+          use-virtual
+          showBodyOverflow="title"
+          showHeaderOverflow="title"
+          max-height="500px"
           border
           style="width: 100%">
-          <el-table-column :label="$t('装置名称')" align="center" fixed="left" prop="plantCode" :show-overflow-tooltip="true"/>
-          <el-table-column :label="$t('单元')" align="center" fixed="left" prop="unit" :show-overflow-tooltip="true"/>
-          <el-table-column :label="$t('管道名称')" align="center" fixed="left" prop="devname" :show-overflow-tooltip="true"/>
-          <el-table-column :label="$t('管道编号')" align="center" fixed="left" prop="devno" :show-overflow-tooltip="true"/>
+          <u-table-column :label="$t('装置名称')" align="center" fixed="left" prop="plantCode" :show-overflow-tooltip="true"/>
+          <u-table-column :label="$t('单元')" align="center" fixed="left" prop="unit" :show-overflow-tooltip="true"/>
+          <u-table-column :label="$t('管道名称')" align="center" fixed="left" prop="devname" :show-overflow-tooltip="true"/>
+          <u-table-column :label="$t('管道编号')" align="center" fixed="left" prop="devno" :show-overflow-tooltip="true"/>
 
-          <el-table-column :label="$t('管道级别')" align="center" prop="grade" :show-overflow-tooltip="true"/>
-          <el-table-column :label="$t('介质')" align="center" prop="medium" :show-overflow-tooltip="true">
+          <u-table-column :label="$t('管道级别')" align="center" prop="grade" :show-overflow-tooltip="true"/>
+          <u-table-column :label="$t('介质')" align="center" prop="medium" :show-overflow-tooltip="true">
 
-          </el-table-column>
-          <el-table-column :label="$t('设计压力')+'(MPa)'" align="center" prop="desPressure" :show-overflow-tooltip="true">
+          </u-table-column>
+          <u-table-column :label="$t('设计压力')+'(MPa)'" align="center" prop="desPressure" :show-overflow-tooltip="true">
 
-          </el-table-column>
-          <el-table-column :label="$t('设计温度')+'(℃)'" align="center" prop="desTemp" :show-overflow-tooltip="true">
+          </u-table-column>
+          <u-table-column :label="$t('设计温度')+'(℃)'" align="center" prop="desTemp" :show-overflow-tooltip="true">
 
-          </el-table-column>
-          <el-table-column :label="$t('操作压力')+'(MPa)'" align="center" prop="optPressure" :show-overflow-tooltip="true">
+          </u-table-column>
+          <u-table-column :label="$t('操作压力')+'(MPa)'" align="center" prop="optPressure" :show-overflow-tooltip="true">
 
-          </el-table-column>
-          <el-table-column :label="$t('操作温度')+'(℃)'" align="center" prop="optTemp" :show-overflow-tooltip="true">
+          </u-table-column>
+          <u-table-column :label="$t('操作温度')+'(℃)'" align="center" prop="optTemp" :show-overflow-tooltip="true">
 
-          </el-table-column>
-          <el-table-column :label="$t('安全状况等级')" align="center" prop="safeClass" :show-overflow-tooltip="true"/>
-          <el-table-column :label="$t('下次定期检验日期')" align="center" prop="yearWarnDate" width="100">
+          </u-table-column>
+          <u-table-column :label="$t('安全状况等级')" align="center" prop="safeClass" :show-overflow-tooltip="true"/>
+          <u-table-column :label="$t('下次定期检验日期')" align="center" prop="yearWarnDate" width="100">
 
-          </el-table-column>
-          <el-table-column :label="$t('年检报告编号')" align="center" prop="yearReportNo" :show-overflow-tooltip="true">
+          </u-table-column>
+          <u-table-column :label="$t('年检报告编号')" align="center" prop="yearReportNo" :show-overflow-tooltip="true">
 
-          </el-table-column>
-          <el-table-column label="1" align="center" prop="pj1" :render-header="renderHeader">
+          </u-table-column>
+          <u-table-column label="1" align="center" prop="pj1" :render-header="renderHeader">
 
-          </el-table-column>
-          <el-table-column label="2" align="center" prop="pj2" :render-header="renderHeader">
+          </u-table-column>
+          <u-table-column label="2" align="center" prop="pj2" :render-header="renderHeader">
 
-          </el-table-column>
-          <el-table-column label="3" align="center" prop="pj3" :render-header="renderHeader">
+          </u-table-column>
+          <u-table-column label="3" align="center" prop="pj3" :render-header="renderHeader">
 
-          </el-table-column>
-          <el-table-column label="4" align="center" prop="pj4" :render-header="renderHeader">
+          </u-table-column>
+          <u-table-column label="4" align="center" prop="pj4" :render-header="renderHeader">
 
-          </el-table-column>
-          <el-table-column label="5" align="center" prop="pj5" :render-header="renderHeader">
+          </u-table-column>
+          <u-table-column label="5" align="center" prop="pj5" :render-header="renderHeader">
 
-          </el-table-column>
-          <el-table-column :label="$t('安全附件仪表及检查情况')" align="center">
-            <el-table-column label="6" align="center" prop="pj6" :render-header="renderHeader">
+          </u-table-column>
+          <u-table-column :label="$t('安全附件仪表及检查情况')" align="center">
+            <u-table-column label="6" align="center" prop="pj6" :render-header="renderHeader">
 
-            </el-table-column>
-            <el-table-column label="7" align="center" prop="pj7" :render-header="renderHeader">
+            </u-table-column>
+            <u-table-column label="7" align="center" prop="pj7" :render-header="renderHeader">
 
-            </el-table-column>
-            <el-table-column label="8" align="center" prop="pj8" :render-header="renderHeader">
+            </u-table-column>
+            <u-table-column label="8" align="center" prop="pj8" :render-header="renderHeader">
 
-            </el-table-column>
-            <el-table-column label="9" align="center" prop="pj9" :render-header="renderHeader">
+            </u-table-column>
+            <u-table-column label="9" align="center" prop="pj9" :render-header="renderHeader">
 
-            </el-table-column>
-            <el-table-column label="10" align="center" prop="pj10" :render-header="renderHeader">
+            </u-table-column>
+            <u-table-column label="10" align="center" prop="pj10" :render-header="renderHeader">
 
-            </el-table-column>
-            <el-table-column label="11" align="center" prop="pj11" :render-header="renderHeader">
+            </u-table-column>
+            <u-table-column label="11" align="center" prop="pj11" :render-header="renderHeader">
 
-            </el-table-column>
-          </el-table-column>
-          <el-table-column label="12" align="center" prop="pj12" :render-header="renderHeader">
+            </u-table-column>
+          </u-table-column>
+          <u-table-column label="12" align="center" prop="pj12" :render-header="renderHeader">
 
-          </el-table-column>
-          <el-table-column label="13" align="center" prop="pj13" :render-header="renderHeader">
+          </u-table-column>
+          <u-table-column label="13" align="center" prop="pj13" :render-header="renderHeader">
 
-          </el-table-column>
-          <el-table-column label="14" align="center" prop="pj14" :render-header="renderHeader">
+          </u-table-column>
+          <u-table-column label="14" align="center" prop="pj14" :render-header="renderHeader">
 
-          </el-table-column>
-          <el-table-column label="15" align="center" prop="pj15" :render-header="renderHeader">
+          </u-table-column>
+          <u-table-column label="15" align="center" prop="pj15" :render-header="renderHeader">
 
-          </el-table-column>
-          <el-table-column label="16" align="center" prop="pj16" :render-header="renderHeader">
+          </u-table-column>
+          <u-table-column label="16" align="center" prop="pj16" :render-header="renderHeader">
 
-          </el-table-column>
-          <el-table-column label="17" align="center" prop="pj17" :render-header="renderHeader">
-          </el-table-column>
-          <el-table-column :label="$t('备注')" align="center" prop="remarks" :show-overflow-tooltip="true">
+          </u-table-column>
+          <u-table-column label="17" align="center" prop="pj17" :render-header="renderHeader">
+          </u-table-column>
+          <u-table-column :label="$t('备注')" align="center" prop="remarks" :show-overflow-tooltip="true">
 
-          </el-table-column>
-          <el-table-column :label="$t('检查日期')" align="center" prop="checkDate" width="100">
+          </u-table-column>
+          <u-table-column :label="$t('检查日期')" align="center" prop="checkDate" width="100">
 
-          </el-table-column>
-          <el-table-column :label="$t('下次年度检查日期')" align="center" prop="nextCheckDate" width="100">
+          </u-table-column>
+          <u-table-column :label="$t('下次年度检查日期')" align="center" prop="nextCheckDate" width="100">
 
-          </el-table-column>
-          <el-table-column :label="$t('问题及处理')" align="center" prop="problem" :show-overflow-tooltip="true">
+          </u-table-column>
+          <u-table-column :label="$t('问题及处理')" align="center" prop="problem" :show-overflow-tooltip="true">
 
-          </el-table-column>
-          <el-table-column :label="$t('检查结论')" align="center" prop="con" :formatter="conFormat">
+          </u-table-column>
+          <u-table-column :label="$t('检查结论')" align="center" prop="con" :formatter="conFormat">
 
-          </el-table-column>
-        </el-table>
+          </u-table-column>
+        </u-table>
       </el-form-item>
       <el-form-item :label="$t('CTM检查人')" label-width="140" prop="inspectorOne">
         <el-select v-model="dataForm.inspectorOne" filterable :placeholder="$t('请选择')+$t('CTM检查人')">

+ 7 - 4
ui/src/views/sems/reportYlrq/index.vue

@@ -108,9 +108,11 @@
       <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
     </el-row>
 
-    <el-table v-loading="loading" ref="reportTable" :data="reportYlrqList" @selection-change="handleSelectionChange"
+    <el-table v-loading="loading" ref="reportTable" :data="reportYlrqList"
+              :row-key="row => { return row.id }"
+              @selection-change="handleSelectionChange"
               :height="clientHeight" border>
-      <el-table-column type="selection" width="55" align="center"/>
+      <el-table-column type="selection" width="55" :reserve-selection="true" align="center"/>
       <el-table-column :label="$t('装置')" align="center" fixed="left" prop="plantCode" :show-overflow-tooltip="true"/>
       <el-table-column :label="$t('单元')" align="center" fixed="left" prop="unit" :show-overflow-tooltip="true"/>
       <el-table-column :label="$t('位号')" align="center" fixed="left" prop="devno" :show-overflow-tooltip="true"/>
@@ -680,6 +682,7 @@
     <pagination
       v-show="total>0"
       :total="total"
+      :page-sizes="[20,100,300,500]"
       :page.sync="queryParams.pageNum"
       :limit.sync="queryParams.pageSize"
       @pagination="getList"
@@ -1053,14 +1056,14 @@ export default {
         approveStatus: null,
         devno: null,
         pageNum: 1,
-        pageSize: 20,
+        pageSize: 50,
         orderByColumn:"unit",
         isAsc:"asc",
       },
       // 查询参数
       queryHistoryParams: {
         pageNum: 1,
-        pageSize: 20,
+        pageSize: 50,
         reportId: null,
       },
       // 表单参数

+ 1 - 0
ui/src/views/sems/reportYlrq/yearapprove.vue

@@ -5,6 +5,7 @@
       <el-form-item :label="$t('申请设备')">
         <el-table
           :data="devList"
+          max-height="600px"
           border
           style="width: 100%">
           <el-table-column :label="$t('装置')" align="center" fixed="left" prop="plantCode" :show-overflow-tooltip="true"/>