فهرست منبع

LY sems 模糊查询 u-table优化

ly 2 سال پیش
والد
کامیت
298abe897c

+ 26 - 5
master/src/main/java/com/ruoyi/project/sems/controller/TSpecdevYlgdController.java

@@ -6,6 +6,7 @@ import java.io.OutputStream;
 import java.text.SimpleDateFormat;
 import java.util.ArrayList;
 import java.util.List;
+import java.util.concurrent.CopyOnWriteArrayList;
 import java.util.concurrent.CountDownLatch;
 import java.util.concurrent.ExecutorService;
 import java.util.concurrent.Executors;
@@ -15,6 +16,7 @@ import com.alibaba.fastjson.JSON;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.ruoyi.common.utils.DateUtils;
 import com.ruoyi.common.utils.file.ExcelUtils;
+import com.ruoyi.framework.interceptor.annotation.RepeatSubmit;
 import com.ruoyi.project.sems.domain.*;
 import com.ruoyi.project.sems.service.ITSpecCheckService;
 import com.ruoyi.project.system.domain.SysDept;
@@ -460,17 +462,36 @@ public class TSpecdevYlgdController extends BaseController {
         return AjaxResult.success(String.valueOf(successNumber), failRow);
     }
 
-    @GetMapping("/exportDevList")
-    public AjaxResult exportbmy(ParamData params) throws IOException {
+    @PostMapping("/exportDevList")
+    @RepeatSubmit
+    public AjaxResult exportDevList(@RequestBody ParamData params) throws IOException {
         logger.info(JSON.toJSONString(params));
         String id = params.getIds();
         String[] ids = id.split(",");
-        List<TSpecdevYlgd> list = new ArrayList<>();
+        CopyOnWriteArrayList<TSpecdevYlgd> list = new CopyOnWriteArrayList<>();
+        //线程池
+        ExecutorService executorService = Executors.newFixedThreadPool(40);
+        final CountDownLatch latch = new CountDownLatch(ids.length); //相同线程数量的计数
         for (String i : ids
         ) {
-            TSpecdevYlgd t = tSpecdevYlgdService.getById(i);
-            list.add(t);
+            executorService.execute(() -> {
+                //-- 业务模块
+                try {
+                    TSpecdevYlgd t = tSpecdevYlgdService.getById(i);
+                    list.add(t);
+                } catch (Exception e) {
+                    logger.info("e:" + e);
+                }finally {
+                    latch.countDown(); //线程计数
+                }
+            });
         }
+        try {
+            latch.await(); //线程计数完毕后继续执行
+        } catch (InterruptedException e) {
+            e.printStackTrace();
+        }
+        executorService.shutdown();
         SXSSFWorkbook wb = new SXSSFWorkbook(1000);
         CellStyle wrapStyle = wb.createCellStyle();
         wrapStyle.setWrapText(true);    //设置自动换行

+ 30 - 5
master/src/main/java/com/ruoyi/project/sems/controller/TSpecdevYlrqController.java

@@ -7,13 +7,19 @@ import java.text.ParseException;
 import java.text.SimpleDateFormat;
 import java.util.ArrayList;
 import java.util.List;
+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.ruoyi.common.utils.DateUtils;
 import com.ruoyi.common.utils.file.ExcelUtils;
+import com.ruoyi.framework.interceptor.annotation.RepeatSubmit;
 import com.ruoyi.project.sems.domain.ParamData;
 import com.ruoyi.project.sems.domain.TSpecCheck;
+import com.ruoyi.project.sems.domain.TSpecdevYlgd;
 import com.ruoyi.project.sems.service.ITSpecCheckService;
 import com.ruoyi.project.system.domain.SysDept;
 import com.ruoyi.project.system.domain.SysDictData;
@@ -469,17 +475,36 @@ public class TSpecdevYlrqController extends BaseController
         return AjaxResult.success(String.valueOf(successNumber), failRow);
     }
 
-    @GetMapping("/exportDevList")
-    public AjaxResult exportbmy(ParamData params) throws IOException {
+    @PostMapping("/exportDevList")
+    @RepeatSubmit
+    public AjaxResult exportDevList(@RequestBody ParamData params) throws IOException {
         logger.info(JSON.toJSONString(params));
         String id = params.getIds();
         String[] ids = id.split(",");
-        List<TSpecdevYlrq> list = new ArrayList<>();
+        CopyOnWriteArrayList<TSpecdevYlrq> list = new CopyOnWriteArrayList<>();
+        //线程池
+        ExecutorService executorService = Executors.newFixedThreadPool(40);
+        final CountDownLatch latch = new CountDownLatch(ids.length); //相同线程数量的计数
         for (String i : ids
         ) {
-            TSpecdevYlrq t = tSpecdevYlrqService.getById(i);
-            list.add(t);
+            executorService.execute(() -> {
+                //-- 业务模块
+                try {
+                    TSpecdevYlrq t = tSpecdevYlrqService.getById(i);
+                    list.add(t);
+                } catch (Exception e) {
+                    logger.info("e:" + e);
+                }finally {
+                    latch.countDown(); //线程计数
+                }
+            });
+        }
+        try {
+            latch.await(); //线程计数完毕后继续执行
+        } catch (InterruptedException e) {
+            e.printStackTrace();
         }
+        executorService.shutdown();
         SXSSFWorkbook wb = new SXSSFWorkbook(1000);
         CellStyle wrapStyle = wb.createCellStyle();
         wrapStyle.setWrapText(true);    //设置自动换行

+ 4 - 4
master/src/main/resources/mybatis/sems/TSpecdevCcMapper.xml

@@ -77,11 +77,11 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
     <select id="selectTSpecdevCcList" parameterType="TSpecdevCc" resultMap="TSpecdevCcResult">
         <include refid="selectTSpecdevCcVo"/>
         <where>
-            <if test="plantCode != null  and plantCode != ''"> and plant_code = #{plantCode}</if>
-            <if test="unit != null  and unit != ''"> and unit = #{unit}</if>
-            <if test="carNo != null  and carNo != ''"> and car_no = #{carNo}</if>
+            <if test="plantCode != null  and plantCode != ''"> and plant_code like concat(concat('%',  #{plantCode}), '%')</if>
+            <if test="unit != null  and unit != ''"> and unit  like concat(concat('%',  #{unit}), '%')</if>
+            <if test="carNo != null  and carNo != ''"> and car_no like concat(concat('%', #{carNo}), '%')</if>
             <if test="devname != null  and devname != ''"> and devname like concat(concat('%', #{devname}), '%')</if>
-            <if test="devno != null  and devno != ''"> and devno = #{devno}</if>
+            <if test="devno != null  and devno != ''"> and devno like concat(concat('%', #{devno}), '%')</if>
             <if test="status != null "> and d.status = #{status}</if>
             <if test="approveStatus != null ">and approve_status = #{approveStatus}</if>
             <if test="warnFlag != null ">and warn_Flag = #{warnFlag}</if>

+ 3 - 3
master/src/main/resources/mybatis/sems/TSpecdevDtMapper.xml

@@ -59,10 +59,10 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
     <select id="selectTSpecdevDtList" parameterType="TSpecdevDt" resultMap="TSpecdevDtResult">
         <include refid="selectTSpecdevDtVo"/>
         <where>
-            <if test="plantCode != null  and plantCode != ''"> and plant_code = #{plantCode}</if>
-            <if test="unit != null  and unit != ''"> and unit = #{unit}</if>
+            <if test="plantCode != null  and plantCode != ''"> and plant_code devname like concat(concat('%', #{plantCode}), '%')</if>
+            <if test="unit != null  and unit != ''"> and unit like concat(concat('%', #{unit}), '%')</if>
             <if test="devname != null  and devname != ''"> and devname like concat(concat('%', #{devname}), '%')</if>
-            <if test="devno != null  and devno != ''"> and devno = #{devno}</if>
+            <if test="devno != null  and devno != ''"> and devno like concat(concat('%', #{devno}), '%')</if>
             <if test="status != null "> and d.status = #{status}</if>
             <if test="approveStatus != null ">and approve_status = #{approveStatus}</if>
             <if test="warnFlag != null ">and warn_Flag = #{warnFlag}</if>

+ 3 - 3
master/src/main/resources/mybatis/sems/TSpecdevDzsbMapper.xml

@@ -58,10 +58,10 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
     <select id="selectTSpecdevDzsbList" parameterType="TSpecdevDzsb" resultMap="TSpecdevDzsbResult">
         <include refid="selectTSpecdevDzsbVo"/>
         <where>
-            <if test="plantCode != null  and plantCode != ''"> and plant_code = #{plantCode}</if>
-            <if test="unit != null  and unit != ''"> and unit = #{unit}</if>
+            <if test="plantCode != null  and plantCode != ''"> and plant_code like concat(concat('%', #{plantCode}), '%')</if>
+            <if test="unit != null  and unit != ''"> and unit like concat(concat('%', #{unit}), '%') </if>
             <if test="devname != null  and devname != ''"> and devname like concat(concat('%', #{devname}), '%')</if>
-            <if test="devno != null  and devno != ''"> and devno = #{devno}</if>
+            <if test="devno != null  and devno != ''"> and devno like concat(concat('%', #{devno}), '%') </if>
             <if test="submitdate != null "> and submitdate = #{submitdate}</if>
             <if test="status != null "> and d.status = #{status}</if>
             <if test="approveStatus != null ">and approve_status = #{approveStatus}</if>

+ 5 - 5
master/src/main/resources/mybatis/sems/TSpecdevGlMapper.xml

@@ -62,12 +62,12 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
     <select id="selectTSpecdevGlList" parameterType="TSpecdevGl" resultMap="TSpecdevGlResult">
         <include refid="selectTSpecdevGlVo"/>
         <where>
-            <if test="plantCode != null  and plantCode != ''"> and plant_code = #{plantCode}</if>
-            <if test="unit != null  and unit != ''"> and unit = #{unit}</if>
+            <if test="plantCode != null  and plantCode != ''"> and plant_code like concat(concat('%', #{plantCode}), '%') </if>
+            <if test="unit != null  and unit != ''"> and unit like concat(concat('%', #{unit}), '%') </if>
             <if test="devname != null  and devname != ''"> and devname like concat(concat('%', #{devname}), '%')</if>
-            <if test="devno != null  and devno != ''"> and devno = #{devno}</if>
-            <if test="regno != null  and regno != ''"> and regno = #{regno}</if>
-            <if test="useno != null  and useno != ''"> and useno = #{useno}</if>
+            <if test="devno != null  and devno != ''"> and devno like concat(concat('%', #{devno}), '%') </if>
+            <if test="regno != null  and regno != ''"> and regno like concat(concat('%', #{regno}), '%') </if>
+            <if test="useno != null  and useno != ''"> and useno like concat(concat('%', #{useno}), '%') </if>
             <if test="warnDate != null "> and warn_date = #{warnDate}</if>
             <if test="nextWarnDate != null "> and next_warn_date = #{nextWarnDate}</if>
             <if test="warnFlag != null "> and warn_flag = #{warnFlag}</if>

+ 9 - 9
master/src/main/resources/mybatis/sems/TSpecdevYlgdMapper.xml

@@ -127,17 +127,17 @@
     <select id="selectTSpecdevYlgdList" parameterType="TSpecdevYlgd" resultMap="TSpecdevYlgdResult">
         <include refid="selectTSpecdevYlgdVo"/>
         <where>
-            <if test="plantCode != null  and plantCode != ''">and plant_code = #{plantCode}</if>
-            <if test="unit != null  and unit != ''">and unit = #{unit}</if>
+            <if test="plantCode != null  and plantCode != ''">and plant_code like concat(concat('%', #{plantCode}), '%') </if>
+            <if test="unit != null  and unit != ''">and unit like concat(concat('%', #{unit}), '%') </if>
             <if test="devname != null  and devname != ''">and devname like concat(concat('%', #{devname}), '%')</if>
-            <if test="devno != null  and devno != ''">and devno = #{devno}</if>
+            <if test="devno != null  and devno != ''">and devno like concat(concat('%', #{devno}), '%') </if>
             <if test="submitdate != null ">and submitdate = #{submitdate}</if>
-            <if test="material != null  and material != ''">and material = #{material}</if>
-            <if test="dia != null  and dia != ''">and dia = #{dia}</if>
-            <if test="scheduleNo != null  and scheduleNo != ''">and schedule_no = #{scheduleNo}</if>
-            <if test="length != null  and length != ''">and length = #{length}</if>
-            <if test="starting != null  and starting != ''">and starting = #{starting}</if>
-            <if test="ending != null  and ending != ''">and ending = #{ending}</if>
+            <if test="material != null  and material != ''">and material like concat(concat('%', #{material}), '%') </if>
+            <if test="dia != null  and dia != ''">and dia like concat(concat('%', #{dia}), '%') </if>
+            <if test="scheduleNo != null  and scheduleNo != ''">and schedule_no like concat(concat('%', #{scheduleNo}), '%') </if>
+            <if test="length != null  and length != ''">and length like concat(concat('%', #{length}), '%') </if>
+            <if test="starting != null  and starting != ''">and starting like concat(concat('%', #{starting}), '%') </if>
+            <if test="ending != null  and ending != ''">and ending like concat(concat('%', #{ending}), '%') </if>
             <if test="desPressure != null  and desPressure != ''">and des_pressure = #{desPressure}</if>
             <if test="desTemp != null  and desTemp != ''">and des_temp = #{desTemp}</if>
             <if test="optPressure != null  and optPressure != ''">and opt_pressure = #{optPressure}</if>

+ 3 - 3
master/src/main/resources/mybatis/sems/TSpecdevYlrqMapper.xml

@@ -129,10 +129,10 @@
     <select id="selectTSpecdevYlrqList" parameterType="TSpecdevYlrq" resultMap="TSpecdevYlrqResult">
         <include refid="selectTSpecdevYlrqVo"/>
         <where>
-            <if test="plantCode != null  and plantCode != ''">and plant_code = #{plantCode}</if>
-            <if test="unit != null  and unit != ''">and unit = #{unit}</if>
+            <if test="plantCode != null  and plantCode != ''">and plant_code like concat(concat('%', #{plantCode}), '%') </if>
+            <if test="unit != null  and unit != ''">and unit like concat(concat('%', #{unit}), '%') </if>
             <if test="devname != null  and devname != ''">and devname like concat(concat('%', #{devname}), '%')</if>
-            <if test="devno != null  and devno != ''">and devno = #{devno}</if>
+            <if test="devno != null  and devno != ''">and devno like concat(concat('%', #{devno}), '%') </if>
             <if test="status != null ">and d.status = #{status}</if>
             <if test="approveStatus != null ">and approve_status = #{approveStatus}</if>
             <if test="warnFlag != null ">and warn_Flag = #{warnFlag}</if>

+ 2 - 2
ui/src/api/sems/specYlgd.js

@@ -75,8 +75,8 @@ export function exportSpecYlgd(query) {
 export function exportSpecList(query) {
   return request({
     url: '/sems/specYlgd/exportDevList',
-    method: 'get',
-    params: query
+    method: 'post',
+    data: query
   })
 }
 

+ 2 - 2
ui/src/api/sems/specYlrq.js

@@ -75,8 +75,8 @@ export function exportSpecYlrq(query) {
 export function exportSpecList(query) {
   return request({
     url: '/sems/specYlrq/exportDevList',
-    method: 'get',
-    params: query
+    method: 'post',
+    data: query
   })
 }
 

+ 12 - 11
ui/src/views/sems/reportYlgd/index.vue

@@ -101,16 +101,17 @@
     </el-row>
 
     <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>
+             :height="clientHeight" :row-key="row => { return row.id }"
+             use-virtual
+             showBodyOverflow="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"/>
+                      :formatter="approveStatusFormat" :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">
@@ -429,7 +430,7 @@
         </template>
       </u-table-column>
       <u-table-column :label="$t('操作')" align="center" fixed="right" width="200"
-                       class-name="small-padding">
+                      class-name="small-padding">
         <template slot-scope="scope">
           <el-button
             size="mini"
@@ -487,7 +488,7 @@
     />
 
     <!-- 历史报告对话框 -->
-    <el-dialog v-dialogDrag :title="title" :visible.sync="open" width="1800px" append-to-body>
+    <el-dialog v-dialogDrag :title="title" :visible.sync="open" width="90%" append-to-body>
       <el-table :data="historyYlgdList" border>
         <u-table-column :label="$t('生成时间')" align="center" prop="buildDate" fixed="left" width="100">
           <template slot-scope="scope">
@@ -544,7 +545,7 @@
         <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">
+                        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('下载报告') }}
@@ -715,7 +716,7 @@ import {getToken} from "@/utils/auth";
 import Treeselect from "@riophae/vue-treeselect";
 import "@riophae/vue-treeselect/dist/vue-treeselect.css";
 import YearApprove from './yearapprove'
-import {listTReportThird,delReportThird} from "@/api/sems/tReportThird";
+import {listTReportThird, delReportThird} from "@/api/sems/tReportThird";
 import {mylistPlant} from "@/api/system/plant";
 
 export default {
@@ -844,9 +845,9 @@ export default {
         unit: null,
         approveStatus: null,
         pageNum: 1,
-        pageSize: 500,
-        orderByColumn:"unit",
-        isAsc:"asc",
+        pageSize: 20,
+        orderByColumn: "unit",
+        isAsc: "asc",
       },
       // 查询历史报告参数
       queryHistoryParams: {

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

@@ -1,230 +0,0 @@
-<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>
-

+ 111 - 109
ui/src/views/sems/reportYlrq/index.vue

@@ -108,57 +108,59 @@
       <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
     </el-row>
 
-    <el-table v-loading="loading" ref="reportTable" :data="reportYlrqList"
+    <u-table v-loading="loading" ref="reportTable" :data="reportYlrqList"
               :row-key="row => { return row.id }"
               @selection-change="handleSelectionChange"
+              use-virtual
+              showBodyOverflow="title"
               :height="clientHeight" border>
-      <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"/>
-      <el-table-column :label="$t('申请状态')" align="center" fixed="left" prop="approveStatus"
+      <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="devno" :show-overflow-tooltip="true"/>
+      <u-table-column :label="$t('申请状态')" align="center" fixed="left" prop="approveStatus"
                        :formatter="approveStatusFormat"/>
-      <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">
+      <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">
         <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" :render-header="renderHeader">
+      </u-table-column>
+      <u-table-column :label="$t('设计压力')+'(MPa)'" align="center" prop="desPressure" :show-overflow-tooltip="true" :render-header="renderHeader">
         <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" :render-header="renderHeader">
+      </u-table-column>
+      <u-table-column :label="$t('设计温度')+'(℃)'" align="center" prop="desTemp" :show-overflow-tooltip="true" :render-header="renderHeader">
         <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" :render-header="renderHeader">
+      </u-table-column>
+      <u-table-column :label="$t('操作压力')+'(MPa)'" align="center" prop="optPressure" :show-overflow-tooltip="true" :render-header="renderHeader">
         <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" :render-header="renderHeader">
+      </u-table-column>
+      <u-table-column :label="$t('操作温度')+'(℃)'" align="center" prop="optTemp" :show-overflow-tooltip="true" :render-header="renderHeader">
         <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="nextWarnDate" 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="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('容器管理')" header-align="center">
-        <el-table-column label="1" align="center" prop="pj1" :render-header="renderHeader">
+      </u-table-column>
+      <u-table-column :label="$t('容器管理')" header-align="center">
+        <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
@@ -170,8 +172,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
@@ -183,8 +185,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
@@ -196,8 +198,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
@@ -209,8 +211,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
@@ -222,8 +224,8 @@
             </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="6" align="center" prop="pj6" :render-header="renderHeader">
+        </u-table-column>
+        <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
@@ -235,8 +237,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
@@ -248,10 +250,10 @@
             </el-select>
             <span v-if="scope.row.isEdit === false && scope.row.pj7 != null">{{ pj7Format(scope.row) }}</span>
           </template>
-        </el-table-column>
-      </el-table-column>
-      <el-table-column :label="$t('本体及运行情况')" header-align="center">
-        <el-table-column label="8" align="center" prop="pj8" :render-header="renderHeader">
+        </u-table-column>
+      </u-table-column>
+      <u-table-column :label="$t('本体及运行情况')" header-align="center">
+        <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
@@ -263,8 +265,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
@@ -276,8 +278,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
@@ -289,8 +291,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
@@ -302,8 +304,8 @@
             </el-select>
             <span v-if="scope.row.isEdit === false && scope.row.pj11 != null">{{ pj11Format(scope.row) }}</span>
           </template>
-        </el-table-column>
-        <el-table-column label="12" align="center" prop="pj12" :render-header="renderHeader">
+        </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
@@ -315,8 +317,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
@@ -328,8 +330,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
@@ -341,8 +343,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
@@ -354,8 +356,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
@@ -367,8 +369,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
@@ -380,8 +382,8 @@
             </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="18" align="center" prop="pj18" :render-header="renderHeader">
+        </u-table-column>
+        <u-table-column label="18" align="center" prop="pj18" :render-header="renderHeader">
           <template slot-scope="scope">
             <el-select v-if="scope.row.isEdit" v-model="scope.row.pj18" :placeholder="$t('请选择')">
               <el-option
@@ -393,8 +395,8 @@
             </el-select>
             <span v-if="scope.row.isEdit === false && scope.row.pj18 != null">{{ pj18Format(scope.row) }}</span>
           </template>
-        </el-table-column>
-        <el-table-column label="19" align="center" prop="pj19" :render-header="renderHeader">
+        </u-table-column>
+        <u-table-column label="19" align="center" prop="pj19" :render-header="renderHeader">
           <template slot-scope="scope">
             <el-select v-if="scope.row.isEdit" v-model="scope.row.pj19" :placeholder="$t('请选择')">
               <el-option
@@ -406,8 +408,8 @@
             </el-select>
             <span v-if="scope.row.isEdit === false && scope.row.pj19 != null">{{ pj19Format(scope.row) }}</span>
           </template>
-        </el-table-column>
-        <el-table-column label="20" align="center" prop="pj20" :render-header="renderHeader">
+        </u-table-column>
+        <u-table-column label="20" align="center" prop="pj20" :render-header="renderHeader">
           <template slot-scope="scope">
             <el-select v-if="scope.row.isEdit" v-model="scope.row.pj20" :placeholder="$t('请选择')">
               <el-option
@@ -419,8 +421,8 @@
             </el-select>
             <span v-if="scope.row.isEdit === false && scope.row.pj20 != null">{{ pj20Format(scope.row) }}</span>
           </template>
-        </el-table-column>
-        <el-table-column label="21" align="center" prop="pj21" :render-header="renderHeader">
+        </u-table-column>
+        <u-table-column label="21" align="center" prop="pj21" :render-header="renderHeader">
           <template slot-scope="scope">
             <el-select v-if="scope.row.isEdit" v-model="scope.row.pj21" :placeholder="$t('请选择')">
               <el-option
@@ -432,8 +434,8 @@
             </el-select>
             <span v-if="scope.row.isEdit === false && scope.row.pj21 != null">{{ pj21Format(scope.row) }}</span>
           </template>
-        </el-table-column>
-        <el-table-column label="22" align="center" prop="pj22" :render-header="renderHeader">
+        </u-table-column>
+        <u-table-column label="22" align="center" prop="pj22" :render-header="renderHeader">
           <template slot-scope="scope">
             <el-select v-if="scope.row.isEdit" v-model="scope.row.pj22" :placeholder="$t('请选择')">
               <el-option
@@ -445,8 +447,8 @@
             </el-select>
             <span v-if="scope.row.isEdit === false && scope.row.pj22 != null">{{ pj22Format(scope.row) }}</span>
           </template>
-        </el-table-column>
-        <el-table-column label="23" align="center" prop="pj23" :render-header="renderHeader">
+        </u-table-column>
+        <u-table-column label="23" align="center" prop="pj23" :render-header="renderHeader">
           <template slot-scope="scope">
             <el-select v-if="scope.row.isEdit" v-model="scope.row.pj23" :placeholder="$t('请选择')">
               <el-option
@@ -458,8 +460,8 @@
             </el-select>
             <span v-if="scope.row.isEdit === false && scope.row.pj23 != null">{{ pj23Format(scope.row) }}</span>
           </template>
-        </el-table-column>
-        <el-table-column label="24" align="center" prop="pj24" :render-header="renderHeader">
+        </u-table-column>
+        <u-table-column label="24" align="center" prop="pj24" :render-header="renderHeader">
           <template slot-scope="scope">
             <el-select v-if="scope.row.isEdit" v-model="scope.row.pj24" :placeholder="$t('请选择')">
               <el-option
@@ -471,10 +473,10 @@
             </el-select>
             <span v-if="scope.row.isEdit === false && scope.row.pj24 != null">{{ pj24Format(scope.row) }}</span>
           </template>
-        </el-table-column>
-      </el-table-column>
-      <el-table-column :label="$t('安全附件及设施')" header-align="center">
-        <el-table-column label="25" align="center" prop="pj25" :render-header="renderHeader">
+        </u-table-column>
+      </u-table-column>
+      <u-table-column :label="$t('安全附件及设施')" header-align="center">
+        <u-table-column label="25" align="center" prop="pj25" :render-header="renderHeader">
           <template slot-scope="scope">
             <el-select v-if="scope.row.isEdit" v-model="scope.row.pj25" :placeholder="$t('请选择')">
               <el-option
@@ -486,8 +488,8 @@
             </el-select>
             <span v-if="scope.row.isEdit === false && scope.row.pj25 != null">{{ pj25Format(scope.row) }}</span>
           </template>
-        </el-table-column>
-        <el-table-column label="26" align="center" prop="pj26" :render-header="renderHeader">
+        </u-table-column>
+        <u-table-column label="26" align="center" prop="pj26" :render-header="renderHeader">
           <template slot-scope="scope">
             <el-select v-if="scope.row.isEdit" v-model="scope.row.pj26" :placeholder="$t('请选择')">
               <el-option
@@ -499,8 +501,8 @@
             </el-select>
             <span v-if="scope.row.isEdit === false && scope.row.pj26 != null">{{ pj26Format(scope.row) }}</span>
           </template>
-        </el-table-column>
-        <el-table-column label="27" align="center" prop="pj27" :render-header="renderHeader">
+        </u-table-column>
+        <u-table-column label="27" align="center" prop="pj27" :render-header="renderHeader">
           <template slot-scope="scope">
             <el-select v-if="scope.row.isEdit" v-model="scope.row.pj27" :placeholder="$t('请选择')">
               <el-option
@@ -512,8 +514,8 @@
             </el-select>
             <span v-if="scope.row.isEdit === false && scope.row.pj27 != null">{{ pj27Format(scope.row) }}</span>
           </template>
-        </el-table-column>
-        <el-table-column label="28" align="center" prop="pj28" :render-header="renderHeader">
+        </u-table-column>
+        <u-table-column label="28" align="center" prop="pj28" :render-header="renderHeader">
           <template slot-scope="scope">
             <el-select v-if="scope.row.isEdit" v-model="scope.row.pj28" :placeholder="$t('请选择')">
               <el-option
@@ -525,8 +527,8 @@
             </el-select>
             <span v-if="scope.row.isEdit === false && scope.row.pj28 != null">{{ pj28Format(scope.row) }}</span>
           </template>
-        </el-table-column>
-        <el-table-column label="29" align="center" prop="pj29" :render-header="renderHeader">
+        </u-table-column>
+        <u-table-column label="29" align="center" prop="pj29" :render-header="renderHeader">
           <template slot-scope="scope">
             <el-select v-if="scope.row.isEdit" v-model="scope.row.pj29" :placeholder="$t('请选择')">
               <el-option
@@ -538,8 +540,8 @@
             </el-select>
             <span v-if="scope.row.isEdit === false && scope.row.pj29 != null">{{ pj29Format(scope.row) }}</span>
           </template>
-        </el-table-column>
-        <el-table-column label="30" align="center" prop="pj30" :render-header="renderHeader">
+        </u-table-column>
+        <u-table-column label="30" align="center" prop="pj30" :render-header="renderHeader">
           <template slot-scope="scope">
             <el-select v-if="scope.row.isEdit" v-model="scope.row.pj30" :placeholder="$t('请选择')">
               <el-option
@@ -551,8 +553,8 @@
             </el-select>
             <span v-if="scope.row.isEdit === false && scope.row.pj30 != null">{{ pj30Format(scope.row) }}</span>
           </template>
-        </el-table-column>
-        <el-table-column label="31" align="center" prop="pj31" :render-header="renderHeader">
+        </u-table-column>
+        <u-table-column label="31" align="center" prop="pj31" :render-header="renderHeader">
           <template slot-scope="scope">
             <el-select v-if="scope.row.isEdit" v-model="scope.row.pj31" :placeholder="$t('请选择')">
               <el-option
@@ -564,10 +566,10 @@
             </el-select>
             <span v-if="scope.row.isEdit === false && scope.row.pj31 != null">{{ pj31Format(scope.row) }}</span>
           </template>
-        </el-table-column>
-      </el-table-column>
-      <el-table-column :label="$t('其他')" header-align="center">
-        <el-table-column label="32" align="center" prop="pj32" :render-header="renderHeader">
+        </u-table-column>
+      </u-table-column>
+      <u-table-column :label="$t('其他')" header-align="center">
+        <u-table-column label="32" align="center" prop="pj32" :render-header="renderHeader">
           <template slot-scope="scope">
             <el-select v-if="scope.row.isEdit" v-model="scope.row.pj32" :placeholder="$t('请选择')">
               <el-option
@@ -579,15 +581,15 @@
             </el-select>
             <span v-if="scope.row.isEdit === false && scope.row.pj32 != null">{{ pj32Format(scope.row) }}</span>
           </template>
-        </el-table-column>
-      </el-table-column>
-      <el-table-column :label="$t('备注')" align="center" prop="remarks" :show-overflow-tooltip="true">
+        </u-table-column>
+      </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"
@@ -598,8 +600,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"
@@ -610,14 +612,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
@@ -629,9 +631,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"
@@ -676,8 +678,8 @@
           >{{ $t('取消') }}
           </el-button>
         </template>
-      </el-table-column>
-    </el-table>
+      </u-table-column>
+    </u-table>
 
     <pagination
       v-show="total>0"
@@ -688,7 +690,7 @@
       @pagination="getList"
     />
     <!-- 历史报告对话框 -->
-    <el-dialog v-dialogDrag :title="title" :visible.sync="open" width="1800px" append-to-body>
+    <el-dialog v-dialogDrag :title="title" :visible.sync="open" width="90%" append-to-body>
       <el-table :data="historyYlrqList" border>
         <el-table-column :label="$t('生成时间')" align="center" prop="buildDate" fixed="left" width="100">
           <template slot-scope="scope">

+ 2 - 2
ui/src/views/sems/specCc/index.vue

@@ -140,8 +140,8 @@
     </el-row>
 
     <el-table v-loading="loading" ref="deviceTable" :data="specCcList" @selection-change="handleSelectionChange"
-              :height="clientHeight" border :cell-style="tableCellStyle" @sort-change="sortList">
-      <el-table-column type="selection" width="55" align="center" fixed="left"/>
+              :height="clientHeight" :row-key="row => { return row.id }" border :cell-style="tableCellStyle" @sort-change="sortList">
+      <el-table-column type="selection" :reserve-selection="true" width="55" align="center" fixed="left"/>
       <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="useDept" :show-overflow-tooltip="true"/>

+ 2 - 2
ui/src/views/sems/specDt/index.vue

@@ -150,8 +150,8 @@
     </el-row>
 
     <el-table v-loading="loading" ref="deviceTable" :data="specDtList" @selection-change="handleSelectionChange"
-              :height="clientHeight" border :cell-style="tableCellStyle"  @sort-change="sortList">
-      <el-table-column type="selection" width="55" align="center"  fixed="left" />
+              :height="clientHeight" :row-key="row => { return row.id }" border :cell-style="tableCellStyle"  @sort-change="sortList">
+      <el-table-column type="selection" width="55" :reserve-selection="true" align="center"  fixed="left" />
       <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="docno" :show-overflow-tooltip="true"/>

+ 2 - 2
ui/src/views/sems/specDzsb/index.vue

@@ -150,8 +150,8 @@
     </el-row>
 
     <el-table v-loading="loading" ref="deviceTable" :data="specDzsbList" @selection-change="handleSelectionChange"
-              :height="clientHeight" border :cell-style="tableCellStyle" @sort-change="sortList">
-      <el-table-column type="selection" width="55" align="center" />
+              :height="clientHeight" :row-key="row => { return row.id }" border :cell-style="tableCellStyle" @sort-change="sortList">
+      <el-table-column type="selection" :reserve-selection="true" 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="plantMaint" :show-overflow-tooltip="true"/>

+ 2 - 2
ui/src/views/sems/specGl/index.vue

@@ -159,8 +159,8 @@
     </el-row>
 
     <el-table v-loading="loading" ref="deviceTable" :data="specGlList" @selection-change="handleSelectionChange"
-              :height="clientHeight" border :cell-style="tableCellStyle" @sort-change="sortList">
-      <el-table-column type="selection" width="55" align="center"  fixed="left" />
+              :height="clientHeight" :row-key="row => { return row.id }" border :cell-style="tableCellStyle" @sort-change="sortList">
+      <el-table-column type="selection" width="55" :reserve-selection="true" align="center"  fixed="left" />
       <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="status" :formatter="statusFormat" />

+ 67 - 61
ui/src/views/sems/specYlgd/index.vue

@@ -210,77 +210,83 @@
 	  <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
     </el-row>
 
-    <el-table v-loading="loading" ref="deviceTable" :data="specYlgdList" @selection-change="handleSelectionChange" :height="clientHeight"
-              :cell-style="tableCellStyle" border @sort-change="sortList">
-      <el-table-column type="selection" width="55" align="center"  fixed="left" />
-      <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="plantMaint" :show-overflow-tooltip="true"/>
-      <el-table-column :label="$t('装置维修工程师')" align="center" fixed="left"  prop="engineer" :show-overflow-tooltip="true"/>
-      <el-table-column :label="$t('状态')" align="center" fixed="left"  prop="status" :formatter="statusFormat" />
-      <el-table-column :label="$t('申请状态')" align="center" fixed="left"  prop="approveStatus" :formatter="approveStatusFormat" />
-      <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" prop="regno" :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="grade" :show-overflow-tooltip="true"/>
-      <el-table-column :label="$t('设计单位')" align="center" prop="designer" :show-overflow-tooltip="true"/>
-      <el-table-column :label="$t('安装单位')" align="center" prop="installer" :show-overflow-tooltip="true"/>
-      <el-table-column :label="$t('安装年月')" align="center" prop="installDate" width="100">
+    <u-table v-loading="loading" ref="deviceTable" :data="specYlgdList"
+              @selection-change="handleSelectionChange" :height="clientHeight"
+             :row-height="75"
+              :cell-style="tableCellStyle"
+              :row-key="row => { return row.id }"
+              use-virtual
+              showBodyOverflow="title"
+              border @sort-change="sortList">
+      <u-table-column type="selection" :reserve-selection="true" width="55" align="center"  fixed="left" />
+      <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="plantMaint" :show-overflow-tooltip="true"/>
+      <u-table-column :label="$t('装置维修工程师')" align="center" fixed="left"  prop="engineer" :show-overflow-tooltip="true"/>
+      <u-table-column :label="$t('状态')" align="center" fixed="left"  prop="status" :formatter="statusFormat" />
+      <u-table-column :label="$t('申请状态')" align="center" fixed="left"  prop="approveStatus" :formatter="approveStatusFormat" />
+      <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" prop="regno" :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="grade" :show-overflow-tooltip="true"/>
+      <u-table-column :label="$t('设计单位')" align="center" prop="designer" :show-overflow-tooltip="true"/>
+      <u-table-column :label="$t('安装单位')" align="center" prop="installer" :show-overflow-tooltip="true"/>
+      <u-table-column :label="$t('安装年月')" align="center" prop="installDate" width="100">
         <template slot-scope="scope">
           <span>{{ parseTime(scope.row.installDate, '{y}-{m}') }}</span>
         </template>
-      </el-table-column>
-      <el-table-column :label="$t('投用年月')" align="center" prop="submitdate" width="100">
+      </u-table-column>
+      <u-table-column :label="$t('投用年月')" align="center" prop="submitdate" width="100">
         <template slot-scope="scope">
           <span>{{ parseTime(scope.row.submitdate, '{y}-{m}') }}</span>
         </template>
-      </el-table-column>
-      <el-table-column :label="$t('材质')" align="center" prop="material" :show-overflow-tooltip="true"/>
-      <el-table-column :label="$t('公称直径')" align="center" prop="dia" :show-overflow-tooltip="true"/>
-      <el-table-column :label="$t('壁厚(mm)')" align="center" prop="scheduleNo" :show-overflow-tooltip="true"/>
-      <el-table-column :label="$t('长度')+'(m)'" align="center" prop="length" :show-overflow-tooltip="true"/>
-      <el-table-column :label="$t('焊口数量')" align="center" prop="weldNumber" :show-overflow-tooltip="true"/>
-      <el-table-column :label="$t('起点')" align="center" prop="starting" :show-overflow-tooltip="true"/>
-      <el-table-column :label="$t('终点')" align="center" prop="ending" :show-overflow-tooltip="true"/>
-      <el-table-column :label="$t('敷设方式')" align="center" prop="layingMethod" :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('工作压力')+'(MPa)'" align="center" prop="optPressure" :show-overflow-tooltip="true"/>
-      <el-table-column :label="$t('设计温度')+'(℃)'" align="center" prop="desTemp" :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="adiabatic" :show-overflow-tooltip="true"/>
-<!--      <el-table-column :label="$t('防腐层代码')" align="center" prop="antiCorrosion" :show-overflow-tooltip="true"/>-->
-      <el-table-column :label="$t('是否涉危化品')" align="center" prop="isDanger" :show-overflow-tooltip="true"/>
-      <el-table-column :label="$t('检验单位')" align="center" prop="checkUnit" :show-overflow-tooltip="true"/>
+      </u-table-column>
+      <u-table-column :label="$t('材质')" align="center" prop="material" :show-overflow-tooltip="true"/>
+      <u-table-column :label="$t('公称直径')" align="center" prop="dia" :show-overflow-tooltip="true"/>
+      <u-table-column :label="$t('壁厚(mm)')" align="center" prop="scheduleNo" :show-overflow-tooltip="true"/>
+      <u-table-column :label="$t('长度')+'(m)'" align="center" prop="length" :show-overflow-tooltip="true"/>
+      <u-table-column :label="$t('焊口数量')" align="center" prop="weldNumber" :show-overflow-tooltip="true"/>
+      <u-table-column :label="$t('起点')" align="center" prop="starting" :show-overflow-tooltip="true"/>
+      <u-table-column :label="$t('终点')" align="center" prop="ending" :show-overflow-tooltip="true"/>
+      <u-table-column :label="$t('敷设方式')" align="center" prop="layingMethod" :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('工作压力')+'(MPa)'" align="center" prop="optPressure" :show-overflow-tooltip="true"/>
+      <u-table-column :label="$t('设计温度')+'(℃)'" align="center" prop="desTemp" :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="adiabatic" :show-overflow-tooltip="true"/>
+<!--      <u-table-column :label="$t('防腐层代码')" align="center" prop="antiCorrosion" :show-overflow-tooltip="true"/>-->
+      <u-table-column :label="$t('是否涉危化品')" align="center" prop="isDanger" :show-overflow-tooltip="true"/>
+      <u-table-column :label="$t('检验单位')" align="center" prop="checkUnit" :show-overflow-tooltip="true"/>
 
-      <el-table-column :label="$t('定期检验日期')" align="center" prop="warnDate" width="100">
+      <u-table-column :label="$t('定期检验日期')" align="center" prop="warnDate" width="100">
         <template slot-scope="scope">
           <span>{{ parseTime(scope.row.warnDate, '{y}-{m}-{d}') }}</span>
         </template>
-      </el-table-column>
-      <el-table-column :label="$t('安全状况等级')" align="center" prop="safeClass" :show-overflow-tooltip="true"/>
+      </u-table-column>
+      <u-table-column :label="$t('安全状况等级')" align="center" prop="safeClass" :show-overflow-tooltip="true"/>
 
-      <el-table-column :label="$t('下次定期检验日期')" align="center" prop="nextWarnDate" width="100" sortable="custom">
+      <u-table-column :label="$t('下次定期检验日期')" align="center" prop="nextWarnDate" width="100" sortable="custom">
         <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="reportNo" :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="reportNo" :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="checkConclusion" :show-overflow-tooltip="true"/>
-      <el-table-column :label="$t('下次年度检查日期')" align="center" prop="yearNextWarnDate" width="100">
+      </u-table-column>
+      <u-table-column :label="$t('年度检查结论')" align="center" prop="checkConclusion" :show-overflow-tooltip="true"/>
+      <u-table-column :label="$t('下次年度检查日期')" align="center" prop="yearNextWarnDate" width="100">
         <template slot-scope="scope">
           <span>{{ parseTime(scope.row.yearNextWarnDate, '{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="$t('备注')" align="center" prop="remarks" :show-overflow-tooltip="true"/>
-      <el-table-column :label="$t('操作')" align="center" fixed="right" width="140" class-name="small-padding fixed-width">
+      </u-table-column>
+      <u-table-column :label="$t('年度检查报告编号')" align="center" prop="yearReportNo" :show-overflow-tooltip="true"/>
+      <u-table-column :label="$t('备注')" align="center" prop="remarks" :show-overflow-tooltip="true"/>
+      <u-table-column :label="$t('操作')" align="center" fixed="right" width="140" class-name="small-padding fixed-width">
         <template slot-scope="scope">
           <el-button
             type="text"
@@ -307,8 +313,8 @@
             @click="hisReform(scope.row)"
           >{{ $t('改造记录') }}</el-button>
         </template>
-      </el-table-column>
-    </el-table>
+      </u-table-column>
+    </u-table>
 
     <pagination
       v-show="total>0"
@@ -1243,17 +1249,17 @@ export default {
     },
     //位号颜色变换
     tableCellStyle({ row, column, rowIndex, columnIndex }) {
-      if (columnIndex == 8 && row.isRepeat == 1){
-        return "color:rgba(255, 26, 26, 0.98);"
+      if (columnIndex == 8 && row.isRepeat == 1) {
+        return {'color': 'rgba(255, 26, 26, 0.98)'}
       }
-      if (row.warnFlag == 1){
-        return "background-color:rgba(255, 255,153, 0.5);"
+      if (row.warnFlag == 1) {
+        return {'background-color': 'rgba(255, 255,153, 0.5)'}
       }
-      if (row.warnFlag == 2){
-        return "background-color:rgba(255, 180, 68, 0.5);"
+      if (row.warnFlag == 2) {
+        return {'background-color': 'rgba(255, 180, 68, 0.5)'}
       }
-      if (row.warnFlag == 3){
-        return "background-color:rgba(255, 68,68, 0.5);"
+      if (row.warnFlag == 3) {
+        return {'background-color': 'rgba(255, 68,68, 0.5)'}
       }
     },
     //element表格排序

+ 55 - 52
ui/src/views/sems/specYlrq/index.vue

@@ -156,84 +156,88 @@
       <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
     </el-row>
 
-    <el-table v-loading="loading" ref="deviceTable" :data="specYlrqList" @selection-change="handleSelectionChange"
+    <u-table v-loading="loading" ref="deviceTable" :data="specYlrqList" @selection-change="handleSelectionChange"
               :height="clientHeight"
+              :row-key="row => { return row.id }"
+              use-virtual
+              showBodyOverflow="title"
+              :row-height="75"
               :cell-style="tableCellStyle" border @sort-change="sortList">
-      <el-table-column type="selection" width="55" align="center" fixed="left"/>
-      <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="plantMaint"
+      <u-table-column type="selection" :reserve-selection="true" width="55" align="center" fixed="left"/>
+      <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="plantMaint"
                        :show-overflow-tooltip="true"/>
-      <el-table-column :label="$t('装置维修工程师')" align="center" fixed="left" prop="engineer"
+      <u-table-column :label="$t('装置维修工程师')" align="center" fixed="left" prop="engineer"
                        :show-overflow-tooltip="true"/>
-      <el-table-column :label="$t('状态')" align="center" fixed="left" prop="status" :formatter="statusFormat"/>
-      <el-table-column :label="$t('申请状态')" align="center" fixed="left" prop="approveStatus"
+      <u-table-column :label="$t('状态')" align="center" fixed="left" prop="status" :formatter="statusFormat"/>
+      <u-table-column :label="$t('申请状态')" align="center" fixed="left" prop="approveStatus"
                        :formatter="approveStatusFormat"/>
-      <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="devno" :show-overflow-tooltip="true">
         <!--        <template slot-scope="scope" >
                   <a :class="tableRowClassName(scope.row)"></a>
                 </template>-->
-      </el-table-column>
+      </u-table-column>
 
-      <el-table-column :label="$t('设备名称')" align="center" prop="devname" width="200" :show-overflow-tooltip="true"/>
-      <el-table-column :label="$t('设备出厂编号')" align="center" prop="factoryNo" :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="vesselType" :show-overflow-tooltip="true"/>
-      <el-table-column :label="$t('制造单位')" align="center" prop="createUnit" :show-overflow-tooltip="true"/>
-      <el-table-column :label="$t('国家')" align="center" prop="nation" :show-overflow-tooltip="true"/>
-      <el-table-column :label="$t('外形尺寸(直径*长(高)*厚(mm))')" align="center" prop="outSize" :show-overflow-tooltip="true"/>
-      <el-table-column :label="$t('材料')" align="center" prop="material" :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="factoryNo" :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="vesselType" :show-overflow-tooltip="true"/>
+      <u-table-column :label="$t('制造单位')" align="center" prop="createUnit" :show-overflow-tooltip="true"/>
+      <u-table-column :label="$t('国家')" align="center" prop="nation" :show-overflow-tooltip="true"/>
+      <u-table-column :label="$t('外形尺寸(直径*长(高)*厚(mm))')" align="center" prop="outSize" :show-overflow-tooltip="true"/>
+      <u-table-column :label="$t('材料')" align="center" prop="material" :show-overflow-tooltip="true"
                        :render-header="renderHeader"/>
-      <el-table-column :label="$t('介质')" align="center" prop="medium" :show-overflow-tooltip="true"
+      <u-table-column :label="$t('介质')" align="center" prop="medium" :show-overflow-tooltip="true"
                        :render-header="renderHeader"/>
-      <el-table-column :label="$t('设计压力')+'(MPa)'" align="center" prop="desPressure" :show-overflow-tooltip="true"
+      <u-table-column :label="$t('设计压力')+'(MPa)'" align="center" prop="desPressure" :show-overflow-tooltip="true"
                        :render-header="renderHeader"/>
-      <el-table-column :label="$t('操作压力')+'(MPa)'" align="center" prop="optPressure" :show-overflow-tooltip="true"
+      <u-table-column :label="$t('操作压力')+'(MPa)'" align="center" prop="optPressure" :show-overflow-tooltip="true"
                        :render-header="renderHeader"/>
-      <el-table-column :label="$t('设计温度')+'(℃)'" align="center" prop="desTemp" :show-overflow-tooltip="true"
+      <u-table-column :label="$t('设计温度')+'(℃)'" align="center" prop="desTemp" :show-overflow-tooltip="true"
                        :render-header="renderHeader"/>
-      <el-table-column :label="$t('操作温度')+'(℃)'" align="center" prop="optTemp" :show-overflow-tooltip="true"
+      <u-table-column :label="$t('操作温度')+'(℃)'" align="center" prop="optTemp" :show-overflow-tooltip="true"
                        :render-header="renderHeader"/>
-      <el-table-column :label="$t('投用日期')" align="center" prop="submitdate" width="100">
+      <u-table-column :label="$t('投用日期')" align="center" prop="submitdate" width="100">
         <template slot-scope="scope">
           <span>{{ parseTime(scope.row.submitdate, '{y}-{m}-{d}') }}</span>
         </template>
-      </el-table-column>
-      <el-table-column :label="$t('是否涉危化品')" align="center" prop="isDanger" :show-overflow-tooltip="true"/>
-      <el-table-column :label="$t('设计使用年限')" align="center" prop="desYear" :show-overflow-tooltip="true"/>
-      <el-table-column :label="$t('是否达到设计使用年限')" align="center" prop="isOverlife" :show-overflow-tooltip="true"/>
-      <el-table-column :label="$t('检验单位')" align="center" prop="checkUnit" :show-overflow-tooltip="true"/>
-      <el-table-column :label="$t('定期检验日期')" align="center" prop="warnDate" width="100">
+      </u-table-column>
+      <u-table-column :label="$t('是否涉危化品')" align="center" prop="isDanger" :show-overflow-tooltip="true"/>
+      <u-table-column :label="$t('设计使用年限')" align="center" prop="desYear" :show-overflow-tooltip="true"/>
+      <u-table-column :label="$t('是否达到设计使用年限')" align="center" prop="isOverlife" :show-overflow-tooltip="true"/>
+      <u-table-column :label="$t('检验单位')" align="center" prop="checkUnit" :show-overflow-tooltip="true"/>
+      <u-table-column :label="$t('定期检验日期')" align="center" prop="warnDate" width="100">
         <template slot-scope="scope">
           <span>{{ parseTime(scope.row.warnDate, '{y}-{m}-{d}') }}</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="nextWarnDate" width="100" sortable="custom">
+      </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" sortable="custom">
         <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="reportNo" :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="reportNo" :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>
+      </u-table-column>
 
-      <el-table-column :label="$t('年度检查结论')" align="center" prop="checkConclusion" :show-overflow-tooltip="true"/>
-      <el-table-column :label="$t('下次年度检查日期')" align="center" prop="yearNextWarnDate" width="100">
+      <u-table-column :label="$t('年度检查结论')" align="center" prop="checkConclusion" :show-overflow-tooltip="true"/>
+      <u-table-column :label="$t('下次年度检查日期')" align="center" prop="yearNextWarnDate" width="100">
         <template slot-scope="scope">
           <span>{{ parseTime(scope.row.yearNextWarnDate, '{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="$t('部门编号')" align="center" prop="deptId" :show-overflow-tooltip="true"/>-->
-      <el-table-column :label="$t('备注')" align="center" prop="remarks" :show-overflow-tooltip="true"/>
+      </u-table-column>
+      <u-table-column :label="$t('年度检查报告编号')" align="center" prop="yearReportNo" :show-overflow-tooltip="true"/>
+      <!--      <u-table-column :label="$t('部门编号')" align="center" prop="deptId" :show-overflow-tooltip="true"/>-->
+      <u-table-column :label="$t('备注')" align="center" prop="remarks" :show-overflow-tooltip="true"/>
 
 
-      <el-table-column :label="$t('操作')" align="center" fixed="right" width="140"
+      <u-table-column :label="$t('操作')" align="center" fixed="right" width="140"
                        class-name="small-padding fixed-width">
         <template slot-scope="scope">
           <el-button
@@ -265,8 +269,8 @@
           >{{ $t('改造记录') }}
           </el-button>
         </template>
-      </el-table-column>
-    </el-table>
+      </u-table-column>
+    </u-table>
 
     <pagination
       v-show="total>0"
@@ -1183,18 +1187,17 @@ export default {
     }*/
     //位号颜色变换
     tableCellStyle({row, column, rowIndex, columnIndex}) {
-
       if (columnIndex == 7 && row.isRepeat == 1) {
-        return "color:rgba(255, 26, 26, 0.98);"
+        return {'color': 'rgba(255, 26, 26, 0.98)'}
       }
       if (row.warnFlag == 1) {
-        return "background-color:rgba(255, 255,153, 0.5);"
+        return {'background-color': 'rgba(255, 255,153, 0.5)'}
       }
       if (row.warnFlag == 2) {
-        return "background-color:rgba(255, 180, 68, 0.5);"
+        return {'background-color': 'rgba(255, 180, 68, 0.5)'}
       }
       if (row.warnFlag == 3) {
-        return "background-color:rgba(255, 68,68, 0.5);"
+        return {'background-color': 'rgba(255, 68,68, 0.5)'}
       }
     },
 //element表格排序