zhaobao 1 anno fa
parent
commit
b05adeca1d

+ 5 - 5
src/router/modules/iiot.js

@@ -95,12 +95,12 @@ const iiotRouter = [
         path: 'manager',
         component: () => import('@/views/iiot/sensor/manager.vue'),
         meta: { title: '传感器管理', icon: 'icon-common_equipment', noCache: true }
-      },
-      {
-        path: 'warnThreshold',
-        component: () => import('@/views/iiot/sensor/warnThreshold.vue'),
-        meta: { title: '传感器预警阈值', icon: 'icon-common_equipment', noCache: true }
       }
+      // ,{
+      //   path: 'warnThreshold',
+      //   component: () => import('@/views/iiot/sensor/warnThreshold.vue'),
+      //   meta: { title: '传感器预警阈值', icon: 'icon-common_equipment', noCache: true }
+      // }
     ]
   },
   // 大屏

+ 84 - 26
src/views/iiot/sensor/components/DeviceModel.vue

@@ -4,7 +4,7 @@
     :modal-append-to-body="false"
     :modal="false"
     :wrapper-closable="false"
-    size="42%"
+    size="45%"
     :visible.sync="dialogVisible"
   >
     <div class="form-wrap">
@@ -39,21 +39,10 @@
         <el-form-item label="设备类型" required>
           <span v-if="formData.goafDevTypename" style="color: #fff;">{{ formData.goafDevTypename }}</span>
           <span v-else style="color: #fff;padding-left: 12px;">设备类型</span>
-          <!-- <el-select
-            v-model="formData.goafDevTypeId"
-            style="width: 260px"
-          >
-            <el-option
-              v-for="item in sensorCats"
-              :key="item.sensorTypeId"
-              :value="item.sensorTypeId"
-              :label="item.sensorTypeName"
-            />
-          </el-select> -->
         </el-form-item>
-        <!-- <el-form-item label="检测间隔时间(分)" required>
-          <el-input-number v-model="formData.goafCheckTimeInterval" placeholder="检测间隔时间(分)" :controls="false" style="width: 100px;" />
-        </el-form-item> -->
+        <el-form-item label="传感器IP">
+          <el-input v-model="formData.goafSensorIp" placeholder="请输入传感器IP" style="width:260px" />
+        </el-form-item>
         <el-form-item label="波特率" required>
           <el-input-number v-model="formData.sensorBaudrate" placeholder="波特率" :controls="false" style="width: 100px;" />
         </el-form-item>
@@ -61,38 +50,83 @@
           <el-input v-model="formData.goafSensorLocation" placeholder="请输入安装地点" style="width:260px" />
         </el-form-item>
         <div class="flex-wrap">
-          <el-form-item label="X轴加速度阈值" required>
+          <el-form-item label="X轴加速度告警阈值" required>
             <el-input-number v-model="formData.thvAccX" placeholder="X轴加速度阈值" :controls="false" style="width: 100px;" />
           </el-form-item>
-          <el-form-item label="Y轴加速度阈值" required>
+          <el-form-item label="Y轴加速度告警阈值" required>
             <el-input-number v-model="formData.thvAccY" placeholder="Y轴加速度阈值" :controls="false" style="width: 100px;" />
           </el-form-item>
-          <el-form-item label="Z轴加速度阈值" required>
+          <el-form-item label="Z轴加速度告警阈值" required>
             <el-input-number v-model="formData.thvAccZ" placeholder="Z轴加速度阈值" :controls="false" style="width: 100px;" />
           </el-form-item>
         </div>
         <div class="flex-wrap">
-          <el-form-item label="X轴速度阈值" required>
+          <el-form-item label="X轴速度告警阈值" required>
             <el-input-number v-model="formData.thvVelX" placeholder="X轴速度阈值" :controls="false" style="width: 100px;" />
           </el-form-item>
-          <el-form-item label="Y轴速度阈值" required>
+          <el-form-item label="Y轴速度告警阈值" required>
             <el-input-number v-model="formData.thvVelY" placeholder="Y轴速度阈值" :controls="false" style="width: 100px;" />
           </el-form-item>
-          <el-form-item label="Z轴速度阈值" required>
+          <el-form-item label="Z轴速度告警阈值" required>
             <el-input-number v-model="formData.thvVelZ" placeholder="Z轴速度阈值" :controls="false" style="width: 100px;" />
           </el-form-item>
         </div>
         <div class="flex-wrap">
-          <el-form-item label="X轴位移阈值" required>
+          <el-form-item label="X轴位移告警阈值" required>
             <el-input-number v-model="formData.thvDisX" placeholder="X轴位移阈值" :controls="false" style="width: 100px;" />
           </el-form-item>
-          <el-form-item label="Y轴位移阈值" required>
+          <el-form-item label="Y轴位移告警阈值" required>
             <el-input-number v-model="formData.thvDisY" placeholder="Y轴位移阈值" :controls="false" style="width: 100px;" />
           </el-form-item>
-          <el-form-item label="Z轴位移阈值" required>
+          <el-form-item label="Z轴位移告警阈值" required>
             <el-input-number v-model="formData.thvDisZ" placeholder="Z轴位移阈值" :controls="false" style="width: 100px;" />
           </el-form-item>
         </div>
+
+        <div class="flex-wrap">
+          <el-form-item label="X轴一级预警阈值" required>
+            <el-input-number v-model="formData.ewAccX1" placeholder="X轴加速度阈值" :controls="false" style="width: 100px;" />
+          </el-form-item>
+          <el-form-item label="Y轴一级预警阈值" required>
+            <el-input-number v-model="formData.ewAccY1" placeholder="Y轴加速度阈值" :controls="false" style="width: 100px;" />
+          </el-form-item>
+          <el-form-item label="Z轴一级预警阈值" required>
+            <el-input-number v-model="formData.ewAccZ1" placeholder="Z轴加速度阈值" :controls="false" style="width: 100px;" />
+          </el-form-item>
+        </div>
+        <div class="flex-wrap">
+          <el-form-item label="X轴二级预警阈值" required>
+            <el-input-number v-model="formData.ewAccX2" placeholder="X轴加速度阈值" :controls="false" style="width: 100px;" />
+          </el-form-item>
+          <el-form-item label="Y轴二级预警阈值" required>
+            <el-input-number v-model="formData.ewAccY2" placeholder="Y轴加速度阈值" :controls="false" style="width: 100px;" />
+          </el-form-item>
+          <el-form-item label="Z轴二级预警阈值" required>
+            <el-input-number v-model="formData.ewAccZ2" placeholder="Z轴加速度阈值" :controls="false" style="width: 100px;" />
+          </el-form-item>
+        </div>
+        <div class="flex-wrap">
+          <el-form-item label="X轴三级预警阈值" required>
+            <el-input-number v-model="formData.ewAccX3" placeholder="X轴加速度阈值" :controls="false" style="width: 100px;" />
+          </el-form-item>
+          <el-form-item label="Y轴三级预警阈值" required>
+            <el-input-number v-model="formData.ewAccY3" placeholder="Y轴加速度阈值" :controls="false" style="width: 100px;" />
+          </el-form-item>
+          <el-form-item label="Z轴三级预警阈值" required>
+            <el-input-number v-model="formData.ewAccZ3" placeholder="Z轴加速度阈值" :controls="false" style="width: 100px;" />
+          </el-form-item>
+        </div>
+        <div class="flex-wrap">
+          <el-form-item label="X轴四级预警阈值" required>
+            <el-input-number v-model="formData.ewAccX4" placeholder="X轴加速度阈值" :controls="false" style="width: 100px;" />
+          </el-form-item>
+          <el-form-item label="Y轴四级预警阈值" required>
+            <el-input-number v-model="formData.ewAccY4" placeholder="Y轴加速度阈值" :controls="false" style="width: 100px;" />
+          </el-form-item>
+          <el-form-item label="Z轴四级预警阈值" required>
+            <el-input-number v-model="formData.ewAccZ4" placeholder="Z轴加速度阈值" :controls="false" style="width: 100px;" />
+          </el-form-item>
+        </div>
         <el-form-item label="温度阈值" required>
           <el-input-number v-model="formData.thvTemperature" placeholder="温度阈值" :controls="false" style="width: 100px;" />
         </el-form-item>
@@ -158,7 +192,19 @@ export default {
         'thvDisX': 0,
         'thvDisY': 0,
         'thvDisZ': 0,
-        'thvTemperature': 0
+        'thvTemperature': 0,
+        'ewAccX1': 0,
+        'ewAccX2': 0,
+        'ewAccX3': 0,
+        'ewAccX4': 0,
+        'ewAccY1': 0,
+        'ewAccY2': 0,
+        'ewAccY3': 0,
+        'ewAccY4': 0,
+        'ewAccZ1': 0,
+        'ewAccZ2': 0,
+        'ewAccZ3': 0,
+        'ewAccZ4': 0
       },
       rules: {},
       ctrlLevelList: [],
@@ -239,7 +285,19 @@ export default {
         'thvDisX': 0,
         'thvDisY': 0,
         'thvDisZ': 0,
-        'thvTemperature': 0
+        'thvTemperature': 0,
+        'ewAccX1': 0,
+        'ewAccX2': 0,
+        'ewAccX3': 0,
+        'ewAccX4': 0,
+        'ewAccY1': 0,
+        'ewAccY2': 0,
+        'ewAccY3': 0,
+        'ewAccY4': 0,
+        'ewAccZ1': 0,
+        'ewAccZ2': 0,
+        'ewAccZ3': 0,
+        'ewAccZ4': 0
       }
     },
     // 提交

+ 22 - 22
src/views/iiot/sensor/index.vue

@@ -13,17 +13,26 @@
       </el-col>
     </el-row>
     <el-card class="statistics-wrap">
-      <div slot="header" class="clearfix">
-        <span>全部传感器统计</span>
-      </div>
-      <el-row class="sensor-status-wrap" >
-        <el-col :span="12" style="height: 100%;" class="sensor-status-box">
-          <p>预警统计</p>
-          <sensor-status ref="sensor-status-lf" class="sensor-status" />
+      <el-row :gutter="20">
+        <el-col :span="12">
+          <el-card>
+            <div slot="header">
+              <span>告警统计</span>
+            </div>
+            <div class="sensor-status">
+              <sensor-status ref="sensor-status-lf" />
+            </div>
+          </el-card>
         </el-col>
-        <el-col :span="12" style="height: 100%;" class="sensor-status-box">
-          <p>告警统计</p>
-          <sensor-status ref="sensor-status" class="sensor-status" />
+        <el-col :span="12">
+          <el-card>
+            <div slot="header">
+              <span>预警统计</span>
+            </div>
+            <div class="sensor-status">
+              <sensor-status ref="sensor-status" />
+            </div>
+          </el-card>
         </el-col>
       </el-row>
     </el-card>
@@ -130,18 +139,9 @@ export default {
       .statistics-wrap{
         background-color:#113144;
         margin-top:5px;
-        .sensor-status-wrap{
-            width:1000px;
-            height:280px;
-        }
-        .sensor-status-box{
-          display: flex;
-          flex-direction: column;
-          justify-content: center;
-          align-items: flex-start;
-          .sensor-status{
-            flex: 1;
-          }
+        .sensor-status{
+            width:460px;
+            height:300px;
         }
       }
       ::v-deep {

+ 212 - 13
src/views/iiot/sensor/manager.vue

@@ -13,18 +13,32 @@
         <el-button type="primary" @click="handleAdd">新增</el-button>
       </el-col>
     </el-row>
-
+    <div class="tablefilter-wrap">
+      <el-dropdown :hide-on-click="false">
+        <span class="el-dropdown-link">
+          过滤器<i class="el-icon-arrow-down el-icon--right" />
+        </span>
+        <el-dropdown-menu slot="dropdown">
+          <el-dropdown-item>
+            <el-checkbox :value="true" @change="handleCheckAllChange">全选</el-checkbox>
+            <el-checkbox-group v-model="tablefilter" class="tablefilter-column">
+              <el-checkbox v-for=" item in tablefilters" :key="item.value" :label="item.value">{{ item.name }}</el-checkbox>
+            </el-checkbox-group>
+          </el-dropdown-item>
+        </el-dropdown-menu>
+      </el-dropdown>
+    </div>
     <el-row class="m-top-15">
       <el-table v-loading="listLoading" class="page-table" border fit :data="dataList">
-        <el-table-column type="index" label="序号" header-align="center" align="center" width="60" />
+        <el-table-column v-if="showColumn('index')" type="index" label="序号" header-align="center" align="center" width="60" />
         <el-table-column prop="goafSensorName" label="传感器名称" align="center" />
         <el-table-column prop="goafDevName" label="待测设备名称" align="center" />
         <el-table-column prop="goafDevTypename" label="待测设备类型" align="center" />
-        <el-table-column prop="goafSensorLocation" label="安装地点" align="center" />
-        <el-table-column prop="goafSensorIp" label="Ip地址" align="center" />
-        <el-table-column prop="goafCheckTimeInterval" label="监测间隔时间(分)" align="center" show-overflow-tooltip />
-        <el-table-column prop="goafInstallTime" label="安装时间" align="center" />
-        <el-table-column header-align="center" align="center" label="速度(mm/s)">
+        <el-table-column v-if="showColumn('location')" prop="goafSensorLocation" label="安装地点" align="center" />
+        <el-table-column v-if="showColumn('ip')" prop="goafSensorIp" label="Ip地址" align="center" />
+        <el-table-column v-if="showColumn('interval')" prop="goafCheckTimeInterval" label="监测间隔时间(分)" align="center" show-overflow-tooltip />
+        <el-table-column v-if="showColumn('time')" prop="goafInstallTime" label="安装时间" align="center" />
+        <el-table-column v-if="showColumn('vel')" header-align="center" align="center" label="速度告警阈值(mm/s)">
           <el-table-column
             header-align="center"
             align="center"
@@ -59,7 +73,7 @@
             </template>
           </el-table-column>
         </el-table-column>
-        <el-table-column header-align="center" label="加速度(m/s2)">
+        <el-table-column v-if="showColumn('acc')" header-align="center" label="加速度告警阈值(m/s2)">
           <el-table-column
             header-align="center"
             align="center"
@@ -90,11 +104,11 @@
             width="95"
           >
             <template v-slot="{row}">
-              <span>{{ parseFloat((row.thvAccX/100).toFixed(2)) }}</span>
+              <span>{{ parseFloat((row.thvAccZ/100).toFixed(2)) }}</span>
             </template>
           </el-table-column>
         </el-table-column>
-        <el-table-column header-align="center" label="位移(um)">
+        <el-table-column v-if="showColumn('dis')" header-align="center" label="位移告警阈值(um)">
           <el-table-column
             header-align="center"
             align="center"
@@ -125,12 +139,152 @@
             width="95"
           >
             <template v-slot="{row}">
-              <span>{{ row.thvDisX }}</span>
+              <span>{{ row.thvDisZ }}</span>
+            </template>
+          </el-table-column>
+        </el-table-column>
+        <el-table-column v-if="showColumn('level1')" header-align="center" label="一级预警阈值">
+          <el-table-column
+            header-align="center"
+            align="center"
+            prop="name"
+            label="X轴阈值"
+            width="95"
+          >
+            <template v-slot="{row}">
+              <span>{{ row.ewAccX1 }}</span>
+            </template>
+          </el-table-column>
+          <el-table-column
+            header-align="center"
+            align="center"
+            prop="name"
+            label="Y轴阈值"
+            width="95"
+          >
+            <template v-slot="{row}">
+              <span>{{ row.ewAccY1 }}</span>
+            </template>
+          </el-table-column>
+          <el-table-column
+            header-align="center"
+            align="center"
+            prop="name"
+            label="Z轴阈值"
+            width="95"
+          >
+            <template v-slot="{row}">
+              <span>{{ row.ewAccZ1 }}</span>
+            </template>
+          </el-table-column>
+        </el-table-column>
+        <el-table-column v-if="showColumn('level2')" header-align="center" label="二级预警阈值">
+          <el-table-column
+            header-align="center"
+            align="center"
+            prop="name"
+            label="X轴阈值"
+            width="95"
+          >
+            <template v-slot="{row}">
+              <span>{{ row.ewAccX2 }}</span>
+            </template>
+          </el-table-column>
+          <el-table-column
+            header-align="center"
+            align="center"
+            prop="name"
+            label="Y轴阈值"
+            width="95"
+          >
+            <template v-slot="{row}">
+              <span>{{ row.ewAccY2 }}</span>
+            </template>
+          </el-table-column>
+          <el-table-column
+            header-align="center"
+            align="center"
+            prop="name"
+            label="Z轴阈值"
+            width="95"
+          >
+            <template v-slot="{row}">
+              <span>{{ row.ewAccZ2 }}</span>
+            </template>
+          </el-table-column>
+        </el-table-column>
+        <el-table-column v-if="showColumn('level3')" header-align="center" label="三级预警阈值">
+          <el-table-column
+            header-align="center"
+            align="center"
+            prop="name"
+            label="X轴阈值"
+            width="95"
+          >
+            <template v-slot="{row}">
+              <span>{{ row.ewAccX3 }}</span>
+            </template>
+          </el-table-column>
+          <el-table-column
+            header-align="center"
+            align="center"
+            prop="name"
+            label="Y轴阈值"
+            width="95"
+          >
+            <template v-slot="{row}">
+              <span>{{ row.ewAccY3 }}</span>
+            </template>
+          </el-table-column>
+          <el-table-column
+            header-align="center"
+            align="center"
+            prop="name"
+            label="Z轴阈值"
+            width="95"
+          >
+            <template v-slot="{row}">
+              <span>{{ row.ewAccZ3 }}</span>
             </template>
           </el-table-column>
         </el-table-column>
-        <el-table-column prop="thvTemperature" label="温度阈值" align="center" />
-        <el-table-column label="操作" header-align="center" align="center" width="160">
+        <el-table-column v-if="showColumn('level4')" header-align="center" label="四级预警阈值">
+          <el-table-column
+            header-align="center"
+            align="center"
+            prop="name"
+            label="X轴阈值"
+            width="95"
+          >
+            <template v-slot="{row}">
+              <span>{{ row.ewAccX4 }}</span>
+            </template>
+          </el-table-column>
+          <el-table-column
+            header-align="center"
+            align="center"
+            prop="name"
+            label="Y轴阈值"
+            width="95"
+          >
+            <template v-slot="{row}">
+              <span>{{ row.ewAccY4 }}</span>
+            </template>
+          </el-table-column>
+          <el-table-column
+            header-align="center"
+            align="center"
+            prop="name"
+            label="Z轴阈值"
+            width="95"
+          >
+            <template v-slot="{row}">
+              <span>{{ row.ewAccZ4 }}</span>
+            </template>
+          </el-table-column>
+        </el-table-column>
+        <el-table-column v-if="showColumn('thvTemperature')" prop="thvTemperature" label="温度阈值" align="center" />
+        <el-table-column v-if="showColumn('handle')" label="操作" header-align="center" align="center" width="160">
           <template v-slot="{row}">
             <el-button size="mini" type="primary" icon="el-icon-edit" @click="handleUpdate(row)">修改</el-button>
             <el-button size="mini" type="danger" icon="el-icon-edit" @click="handleDelete(row)">删除</el-button>
@@ -155,6 +309,26 @@ export default {
   components: { Pagination, sensorModel },
   data() {
     return {
+      tablefilters: [
+        { name: '序号', value: 'index' },
+        // { name: '传感器名称', value: 'sensorName' },
+        // { name: '待测设备名称', value: 'devName' },
+        // { name: '待测设备类型', value: 'devTypename' },
+        { name: '安装地点', value: 'location' },
+        { name: '监测间隔时间', value: 'interval' },
+        { name: '安装时间', value: 'time' },
+        { name: 'IP', value: 'ip' },
+        { name: '速度', value: 'vel' },
+        { name: '加速度', value: 'acc' },
+        { name: '位移', value: 'dis' },
+        { name: '温度阈值', value: 'thvTemperature' },
+        { name: '一级预警阈值', value: 'level1' },
+        { name: '二级预警阈值', value: 'level2' },
+        { name: '三级预警阈值', value: 'level3' },
+        { name: '四级预警阈值', value: 'level4' },
+        { name: '操作', value: 'handle' }
+      ],
+      tablefilter: ['index', 'ip', 'interval', 'vel', 'acc', 'ang', 'dis', 'location', 'time', 'thvTemperature', 'handle', 'level1', 'level2', 'level3', 'level4'],
       dataList: [],
       total: 0,
       listLoading: false,
@@ -171,6 +345,16 @@ export default {
   methods: {
     // fetch data
     NumConvertLM,
+    showColumn(name) {
+      return this.tablefilter.includes(name)
+    },
+    handleCheckAllChange(bool) {
+      if (bool) {
+        this.tablefilter = this.tablefilters.map(item => item.value)
+        return
+      }
+      this.tablefilter = []
+    },
     getData() {
       this.listLoading = true
       getSensorByPage(this.conditions).then((resp) => {
@@ -222,6 +406,21 @@ export default {
 }
 </script>
 <style lang="scss" scoped>
+  ::v-deep{
+    .tablefilter-wrap{
+      text-align: right;
+      padding-top: 10px;
+    }
+    .tablefilter-column{
+          display: flex;
+          justify-content: center;
+          flex-direction: column;
+      }
+      .el-dropdown-link {
+          cursor: pointer;
+          color: #409EFF;
+      }
+  }
   .page-wrap{
       min-height:90vh;
       padding: 15px;

+ 201 - 20
src/views/iiot/sensor/warnThreshold.vue

@@ -1,30 +1,166 @@
 <template>
   <div class="page-wrap">
-    <el-row class="tool-bar">
-      <el-col :span="12" class="left">
-        <div class="content-title">
-          传感器配置
-        </div>
-      </el-col>
-      <el-col :span="12" class="right">
-        <el-input v-model="conditions.goafDevName" class="search-input m-right-15" placeholder="请输入设备名称">
-          <el-button slot="append" icon="el-icon-search" @click="getData()" />
-        </el-input>
-        <el-button type="primary" @click="handleAdd">新增</el-button>
-      </el-col>
-    </el-row>
-
+    <!-- <div class="tablefilter-wrap">
+      <el-dropdown :hide-on-click="false">
+        <span class="el-dropdown-link">
+          过滤器<i class="el-icon-arrow-down el-icon--right" />
+        </span>
+        <el-dropdown-menu slot="dropdown">
+          <el-dropdown-item>
+            <el-checkbox :value="true" @change="handleCheckAllChange">全选</el-checkbox>
+            <el-checkbox-group v-model="tablefilter" class="tablefilter-column">
+              <el-checkbox v-for=" item in tablefilters" :key="item.value" :label="item.value">{{ item.name }}</el-checkbox>
+            </el-checkbox-group>
+          </el-dropdown-item>
+        </el-dropdown-menu>
+      </el-dropdown>
+    </div> -->
     <el-row class="m-top-15">
       <el-table v-loading="listLoading" class="page-table" border fit :data="dataList">
-        <el-table-column type="index" label="序号" header-align="center" align="center" width="60" />
+        <el-table-column v-if="showColumn('index')" type="index" label="序号" header-align="center" align="center" width="60" />
         <el-table-column prop="goafSensorName" label="传感器名称" align="center" />
         <el-table-column prop="goafDevName" label="待测设备名称" align="center" />
         <el-table-column prop="goafDevTypename" label="待测设备类型" align="center" />
-        <el-table-column prop="goafSensorLocation" label="安装地点" align="center" />
-        <el-table-column prop="goafSensorIp" label="一级预警" align="center" />
-        <el-table-column prop="goafSensorIp" label="二级预警" align="center" />
-        <el-table-column prop="goafSensorIp" label="三级预警" align="center" />
-        <el-table-column prop="goafSensorIp" label="四级预警" align="center" />
+        <el-table-column v-if="showColumn('level1')" header-align="center" label="一级预警阈值">
+          <el-table-column
+            header-align="center"
+            align="center"
+            prop="name"
+            label="X轴阈值"
+            width="95"
+          >
+            <template v-slot="{row}">
+              <span>{{ row.ewAccX1 }}</span>
+            </template>
+          </el-table-column>
+          <el-table-column
+            header-align="center"
+            align="center"
+            prop="name"
+            label="Y轴阈值"
+            width="95"
+          >
+            <template v-slot="{row}">
+              <span>{{ row.ewAccY1 }}</span>
+            </template>
+          </el-table-column>
+          <el-table-column
+            header-align="center"
+            align="center"
+            prop="name"
+            label="Z轴阈值"
+            width="95"
+          >
+            <template v-slot="{row}">
+              <span>{{ row.ewAccZ1 }}</span>
+            </template>
+          </el-table-column>
+        </el-table-column>
+        <el-table-column v-if="showColumn('level2')" header-align="center" label="二级预警阈值">
+          <el-table-column
+            header-align="center"
+            align="center"
+            prop="name"
+            label="X轴阈值"
+            width="95"
+          >
+            <template v-slot="{row}">
+              <span>{{ row.ewAccX2 }}</span>
+            </template>
+          </el-table-column>
+          <el-table-column
+            header-align="center"
+            align="center"
+            prop="name"
+            label="Y轴阈值"
+            width="95"
+          >
+            <template v-slot="{row}">
+              <span>{{ row.ewAccY2 }}</span>
+            </template>
+          </el-table-column>
+          <el-table-column
+            header-align="center"
+            align="center"
+            prop="name"
+            label="Z轴阈值"
+            width="95"
+          >
+            <template v-slot="{row}">
+              <span>{{ row.ewAccZ2 }}</span>
+            </template>
+          </el-table-column>
+        </el-table-column>
+        <el-table-column v-if="showColumn('level3')" header-align="center" label="三级预警阈值">
+          <el-table-column
+            header-align="center"
+            align="center"
+            prop="name"
+            label="X轴阈值"
+            width="95"
+          >
+            <template v-slot="{row}">
+              <span>{{ row.ewAccX3 }}</span>
+            </template>
+          </el-table-column>
+          <el-table-column
+            header-align="center"
+            align="center"
+            prop="name"
+            label="Y轴阈值"
+            width="95"
+          >
+            <template v-slot="{row}">
+              <span>{{ row.ewAccY3 }}</span>
+            </template>
+          </el-table-column>
+          <el-table-column
+            header-align="center"
+            align="center"
+            prop="name"
+            label="Z轴阈值"
+            width="95"
+          >
+            <template v-slot="{row}">
+              <span>{{ row.ewAccZ3 }}</span>
+            </template>
+          </el-table-column>
+        </el-table-column>
+        <el-table-column v-if="showColumn('level4')" header-align="center" label="四级预警阈值">
+          <el-table-column
+            header-align="center"
+            align="center"
+            prop="name"
+            label="X轴阈值"
+            width="95"
+          >
+            <template v-slot="{row}">
+              <span>{{ row.ewAccX4 }}</span>
+            </template>
+          </el-table-column>
+          <el-table-column
+            header-align="center"
+            align="center"
+            prop="name"
+            label="Y轴阈值"
+            width="95"
+          >
+            <template v-slot="{row}">
+              <span>{{ row.ewAccY4 }}</span>
+            </template>
+          </el-table-column>
+          <el-table-column
+            header-align="center"
+            align="center"
+            prop="name"
+            label="Z轴阈值"
+            width="95"
+          >
+            <template v-slot="{row}">
+              <span>{{ row.ewAccZ4 }}</span>
+            </template>
+          </el-table-column>
+        </el-table-column>
       </el-table>
       <div class="pagination-container" style="float:right;margin-right:40px;">
         <pagination v-show="total>0" :total="total" :page.sync="conditions.page" :limit.sync="conditions.limit" @pagination="getData" />
@@ -44,6 +180,26 @@ export default {
   components: { Pagination, sensorModel },
   data() {
     return {
+      tablefilters: [
+        { name: '序号', value: 'index' },
+        // { name: '传感器名称', value: 'sensorName' },
+        // { name: '待测设备名称', value: 'devName' },
+        // { name: '待测设备类型', value: 'devTypename' },
+        { name: '安装地点', value: 'location' },
+        { name: '监测间隔时间', value: 'interval' },
+        { name: '安装时间', value: 'time' },
+        { name: 'IP', value: 'ip' },
+        { name: '速度', value: 'vel' },
+        { name: '加速度', value: 'acc' },
+        { name: '位移', value: 'dis' },
+        { name: '温度阈值', value: 'thvTemperature' },
+        { name: '一级预警阈值', value: 'level1' },
+        { name: '二级预警阈值', value: 'level2' },
+        { name: '三级预警阈值', value: 'level3' },
+        { name: '四级预警阈值', value: 'level4' },
+        { name: '操作', value: 'handle' }
+      ],
+      tablefilter: ['index', 'ip', 'interval', 'vel', 'acc', 'ang', 'dis', 'location', 'time', 'thvTemperature', 'handle', 'level1', 'level2', 'level3', 'level4'],
       dataList: [],
       total: 0,
       listLoading: false,
@@ -60,6 +216,16 @@ export default {
   methods: {
     // fetch data
     NumConvertLM,
+    showColumn(name) {
+      return this.tablefilter.includes(name)
+    },
+    handleCheckAllChange(bool) {
+      if (bool) {
+        this.tablefilter = this.tablefilters.map(item => item.value)
+        return
+      }
+      this.tablefilter = []
+    },
     getData() {
       this.listLoading = true
       getSensorByPage(this.conditions).then((resp) => {
@@ -111,6 +277,21 @@ export default {
 }
 </script>
   <style lang="scss" scoped>
+    ::v-deep{
+      .tablefilter-wrap{
+        text-align: right;
+        padding-top: 10px;
+      }
+      .tablefilter-column{
+            display: flex;
+            justify-content: center;
+            flex-direction: column;
+        }
+        .el-dropdown-link {
+            cursor: pointer;
+            color: #409EFF;
+        }
+    }
     .page-wrap{
         min-height:90vh;
         padding: 15px;