zhaobao vor 1 Jahr
Ursprung
Commit
6552d8bf7e

+ 23 - 0
src/api/goaf/alarm.js

@@ -0,0 +1,23 @@
+
+import request from '@/utils/request'
+// 获取所有传感器
+export function getAlarm(params) {
+  return request({
+    url: '/goaf/goafsensoralarm/list',
+    params
+  })
+}
+// 分页获取传感器
+export function getAlarmByPage(params) {
+  return request({
+    url: '/goaf/goafsensoralarm/page',
+    params
+  })
+}
+// 大屏报警
+export function getBigScreenAlarm(params) {
+  return request({
+    url: '/goaf/goafsensoralarm/bigscreen/list',
+    params
+  })
+}

+ 75 - 68
src/views/bigScreen/home/components/DeviceInfo.vue

@@ -1,29 +1,66 @@
 <template>
 <template>
   <div class="item deviceInfo-wrap">
   <div class="item deviceInfo-wrap">
     <el-carousel indicator-position="none" :interval="10000">
     <el-carousel indicator-position="none" :interval="10000">
-      <el-carousel-item v-for="(item,idx) in data" :key="idx" class="carousel-item" height="100%">
+      <el-carousel-item v-for="(item,idx) in tableData" :key="idx" class="carousel-item" height="100%">
         <div class="device-item">
         <div class="device-item">
           <div class="title">
           <div class="title">
-            <span class="name">{{ item.name }}</span>
+            <span class="name">{{ item.goafDevTypename }}({{ item.goafDevName }}){{ item.goafSensorName }}</span>
+            <span>{{ item.sensorTemperature/10 }}℃</span>
           </div>
           </div>
           <div class="container">
           <div class="container">
             <div class="statistic-wrap">
             <div class="statistic-wrap">
-              <div v-for="(state,stIdx) in item.states" :key="stIdx" class="sta-item">
+              <div class="sta-item">
                 <div class="sta-item-lf">
                 <div class="sta-item-lf">
-                  <div class="sta-item-name">{{ state.name }}</div>
-                  <div class="sta-item-number">{{ state.num }}个</div>
+                  <div class="sta-item-name">当前运行状态</div>
+                  <div class="sta-item-number">
+                    <template v-if="item.goafSensorAlarmType">
+                      <div>告警</div>
+                      <span>级别:{{ item.goafSensorAlarmLevel |filtersLevel }}</span>
+                      <span style="padding-left: 10px;">类型:{{ item.goafSensorAlarmType }}</span>
+                    </template>
+                    <div v-else>正常</div>
+                  </div>
+                </div>
+                <!-- <div class="sta-item-icon" /> -->
+              </div>
+              <div class="sta-item">
+                <div class="sta-item-lf">
+                  <div class="sta-item-name">加速度(m/s2)</div>
+                  <div class="sta-item-number">
+                    <span>X轴:{{ parseFloat((item.accX/100).toFixed(2)) }}</span>
+                    <span>Y轴:{{ parseFloat((item.accY/100).toFixed(2)) }}</span>
+                    <span>Z轴:{{ parseFloat((item.accZ/100).toFixed(2)) }}</span>
+                  </div>
+                </div>
+              </div>
+              <div class="sta-item">
+                <div class="sta-item-lf">
+                  <div class="sta-item-name">速度(mm)</div>
+                  <div class="sta-item-number">
+                    <span>X轴:{{ parseFloat((item.velX/100).toFixed(2)) }}</span>
+                    <span>Y轴:{{ parseFloat((item.velY/100).toFixed(2)) }}</span>
+                    <span>Z轴:{{ parseFloat((item.velZ/100).toFixed(2)) }}</span>
+                  </div>
+                </div>
+              </div>
+              <div class="sta-item">
+                <div class="sta-item-lf">
+                  <div class="sta-item-name">位移(um)</div>
+                  <div class="sta-item-number">
+                    <span>X轴:{{ item.disX }}</span>
+                    <span>Y轴:{{ item.disY }}</span>
+                    <span>Z轴:{{ item.disZ }}</span>
+                  </div>
                 </div>
                 </div>
-                <div class="sta-item-icon" />
               </div>
               </div>
             </div>
             </div>
             <div class="device-info">
             <div class="device-info">
-              <h3>更新时间:{{ parseTime(item.info.time) }}</h3>
+              <h3>上报时间:{{ parseTime(item.goafDatareportTime) }}</h3>
               <div class="device-info-cont">
               <div class="device-info-cont">
-                <div class="i-item">温度:{{ item.info.temperature }}</div>
-                <div class="i-item">X轴{{ item.info.x }}</div>
-                <div class="i-item">Y轴:{{ item.info.y }}</div>
-                <div class="i-item">Z轴:{{ item.info.z }}</div>
-                <div class="i-item">电压:{{ item.info.v }}</div>
+                <div class="i-item">温度:{{ item.sensorTemperature/10 }}℃</div>
+                <div class="i-item">X轴倾角{{ parseFloat((item.angX/100).toFixed(2)) }}</div>
+                <div class="i-item">Y轴倾角:{{ parseFloat((item.angY/100).toFixed(2)) }}</div>
+                <div class="i-item">Z轴倾角:{{ parseFloat((item.angZ/100).toFixed(2)) }}</div>
               </div>
               </div>
             </div>
             </div>
           </div>
           </div>
@@ -36,65 +73,26 @@
 import { parseTime } from '@/utils'
 import { parseTime } from '@/utils'
 export default {
 export default {
   name: 'DeviceInfo',
   name: 'DeviceInfo',
+  filters: {
+    filtersLevel(val) {
+      const obj = { 0: '一般', 1: '重大' }
+      return obj[val] || '--'
+    }
+  },
   data() {
   data() {
     return {
     return {
-      data: []
+      data: [],
+      tableData: []
     }
     }
   },
   },
-  created() {
-    this.getData()
-  },
   methods: {
   methods: {
     parseTime,
     parseTime,
-    getData() {
-      const data = [
-        {
-          name: '发电机',
-          states: [
-            { name: '正常运转', num: 0, type: 1 },
-            { name: 'C级报警', num: 0, type: 2 },
-            { name: 'D级报警', num: 0, type: 3 },
-            { name: '离线报警', num: 0, type: 4 }
-          ],
-          info: {
-            time: new Date(),
-            temperature: '20',
-            x: '1', y: '2', z: '3',
-            v: 220
-          }
-        },
-        {
-          name: '热力传感器',
-          states: [
-            { name: '正常运转', num: 0, type: 1 },
-            { name: 'C级报警', num: 0, type: 2 },
-            { name: 'D级报警', num: 0, type: 3 },
-            { name: '离线报警', num: 0, type: 4 }
-          ],
-          info: {
-            time: new Date(),
-            temperature: '20',
-            x: '1', y: '2', z: '3',
-            v: 220
-          }
-        },
-        {
-          name: '空调',
-          states: [
-            { name: '正常运转', num: 0, type: 1 },
-            { name: 'C级报警', num: 0, type: 2 },
-            { name: 'D级报警', num: 0, type: 3 },
-            { name: '离线报警', num: 0, type: 4 }
-          ],
-          info: {
-            time: new Date(),
-            temperature: '20',
-            x: '1', y: '2', z: '3',
-            v: 220
-          }
-        }
-      ]
-      this.data = data
+    loadData(data) {
+      let tableData = []
+      for (let i = 0; i < data.length; i++) {
+        tableData = tableData.concat(data[i].goafSensorData.map((item, index) => { return { ...item, goafDevName: data[i].goafDevName, goafDevTypename: data[i].goafDevTypename } }))
+      }
+      this.tableData = tableData
     }
     }
   }
   }
 }
 }
@@ -104,14 +102,13 @@ export default {
     .statistic-wrap{
     .statistic-wrap{
         display: flex;
         display: flex;
         flex-wrap: wrap;
         flex-wrap: wrap;
-        padding-top: 10px;
+        padding-top: 8px;
     }
     }
     .sta-item{
     .sta-item{
         width: 44%;
         width: 44%;
         margin: 0 3% 10px 3%;
         margin: 0 3% 10px 3%;
         display: flex;
         display: flex;
         justify-content: center;
         justify-content: center;
-        align-items: center;
         padding: 10px 20px;
         padding: 10px 20px;
         box-sizing: border-box;
         box-sizing: border-box;
         color: #fff;
         color: #fff;
@@ -120,6 +117,11 @@ export default {
             flex: 1;
             flex: 1;
             .sta-item-number{
             .sta-item-number{
                 padding-top: 10px;
                 padding-top: 10px;
+                font-size: 10px;
+                line-height: 1.2;
+                span{
+                  padding-right: 8px;
+                }
             }
             }
         }
         }
         .sta-item-icon{
         .sta-item-icon{
@@ -138,15 +140,20 @@ export default {
         h3{
         h3{
             text-indent: 20px;
             text-indent: 20px;
             line-height: 1;
             line-height: 1;
-            padding: 12px 10px;
+            padding: 5px 10px;
             text-align: right;
             text-align: right;
             background-color: #071A29;
             background-color: #071A29;
+            margin: 0;
+            font-size: 14px;
         }
         }
         .device-info-cont{
         .device-info-cont{
             display: flex;
             display: flex;
             flex-wrap: wrap;
             flex-wrap: wrap;
+            padding-top: 5px;
             .i-item{
             .i-item{
                 padding-left: 10px;
                 padding-left: 10px;
+                margin-right: 10px;
+                font-size: 12px;
             }
             }
         }
         }
     }
     }

+ 15 - 24
src/views/bigScreen/home/components/DeviceState.vue

@@ -7,7 +7,7 @@
       <div class="device-item">
       <div class="device-item">
         <div class="graph-box">
         <div class="graph-box">
           <div class="graph n">
           <div class="graph n">
-            <span class="number">14台</span>
+            <span class="number">{{ normal }}台</span>
           </div>
           </div>
         </div>
         </div>
         <div class="name">正常</div>
         <div class="name">正常</div>
@@ -15,18 +15,18 @@
       <div class="device-item">
       <div class="device-item">
         <div class="graph-box">
         <div class="graph-box">
           <div class="graph c">
           <div class="graph c">
-            <span class="number">4台</span>
+            <span class="number">{{ level_1 }}台</span>
           </div>
           </div>
         </div>
         </div>
-        <div class="name">C级报警</div>
+        <div class="name">一般报警</div>
       </div>
       </div>
       <div class="device-item">
       <div class="device-item">
         <div class="graph-box">
         <div class="graph-box">
           <div class="graph d">
           <div class="graph d">
-            <span class="number">3台</span>
+            <span class="number">{{ level_2 }}台</span>
           </div>
           </div>
         </div>
         </div>
-        <div class="name">D级报警</div>
+        <div class="name">重大报警</div>
       </div>
       </div>
       <!-- <div class="device-item">
       <!-- <div class="device-item">
         <div class="graph-box">
         <div class="graph-box">
@@ -44,29 +44,20 @@ export default {
   name: 'DeviceState',
   name: 'DeviceState',
   data() {
   data() {
     return {
     return {
-      data: {
-        'goafHdangerLevelGeneralNum': 0,
-        'goafHdangerLevelLowerNum': 0,
-        'goafHdangerLevelMajorNum': 0,
-        'goafHdangerLevelSeriousNum': 0,
-        'goafHdangerStatusCancelNum': 0,
-        'goafHdangerStatusCompleteNum': 0,
-        'goafHdangerStatusToacceptNum': 0,
-        'goafHdangerStatusToforreviewlNum': 0,
-        'goafHdangerStatusTorectifyNum': 0,
-        'goafHdangerStatusTosubmitNum': 0
-      },
-      'rectify_rate': 0,
-      'total': 0
+      normal: 0,
+      level_1: 0,
+      level_2: 0
     }
     }
   },
   },
   methods: {
   methods: {
     loadData(data) {
     loadData(data) {
-      const total = data.goafHdangerLevelGeneralNum + data.goafHdangerLevelLowerNum + data.goafHdangerLevelMajorNum + data.goafHdangerLevelSeriousNum
-      const rectify_rate = total > 0 ? (data.goafHdangerStatusCompleteNum / total) : 0
-      this.data = data
-      this.total = total
-      this.rectify_rate = parseFloat((rectify_rate * 100).toFixed(1))
+      let tableData = []
+      for (let i = 0; i < data.length; i++) {
+        tableData = tableData.concat(data[i].goafSensorData.map((item, index) => { return { ...item, goafDevName: data[i].goafDevName, goafDevTypename: data[i].goafDevTypename } }))
+      }
+      this.normal = tableData.filter(item => !item.goafSensorAlarmType).length
+      this.level_1 = tableData.filter(item => item.goafSensorAlarmType && item.goafSensorAlarmLevel === 0).length
+      this.level_2 = tableData.filter(item => item.goafSensorAlarmType && item.goafSensorAlarmLevel === 2).length
     },
     },
     linkTo() {
     linkTo() {
       this.$router.push('/particulars/check')
       this.$router.push('/particulars/check')

+ 39 - 55
src/views/bigScreen/home/components/SensorStatusCircle.vue

@@ -34,7 +34,7 @@ export default {
         },
         },
         series: [
         series: [
           {
           {
-            name: '正常报警',
+            name: '正常',
             type: 'pie',
             type: 'pie',
             selectedMode: 'single',
             selectedMode: 'single',
             radius: ['65%', '70%'],
             radius: ['65%', '70%'],
@@ -47,12 +47,12 @@ export default {
               show: false
               show: false
             },
             },
             data: [
             data: [
-              { value: 0, name: '正常报警', itemStyle: { color: '#2affff' }},
-              { value: 0, name: '总数', itemStyle: { color: '#021a34' }}
+              { value: 0, name: '正常', itemStyle: { color: '#2affff' }},
+              { value: 0, name: '其他', itemStyle: { color: '#021a34' }}
             ]
             ]
           },
           },
           {
           {
-            name: 'C级报警',
+            name: '一般报警',
             type: 'pie',
             type: 'pie',
             clockWise: false,
             clockWise: false,
             selectedMode: 'single',
             selectedMode: 'single',
@@ -65,12 +65,12 @@ export default {
               show: false
               show: false
             },
             },
             data: [
             data: [
-              { value: 0, name: 'C级报警', itemStyle: { color: '#fac858' }},
-              { value: 0, name: '总数', itemStyle: { color: '#021a34' }}
+              { value: 0, name: '一般报警', itemStyle: { color: '#fac858' }},
+              { value: 0, name: '其他', itemStyle: { color: '#021a34' }}
             ]
             ]
           },
           },
           {
           {
-            name: 'D级报警',
+            name: '重大报警',
             type: 'pie',
             type: 'pie',
             clockWise: false,
             clockWise: false,
             selectedMode: 'single',
             selectedMode: 'single',
@@ -83,24 +83,24 @@ export default {
               show: false
               show: false
             },
             },
             data: [
             data: [
-              { value: 0, name: 'D级报警', itemStyle: { color: '#f44336' }},
-              { value: 0, name: '总数', itemStyle: { color: '#021a34' }}
-            ]
-          },
-          {
-            name: '离线报警',
-            type: 'pie',
-            clockWise: false,
-            radius: ['35%', '40%'],
-            center: ['25%', '50%'],
-            label: {
-              show: false
-            },
-            data: [
-              { value: 0, name: '离线报警', itemStyle: { color: '#5470c6' }},
-              { value: 0, name: '总数', itemStyle: { color: '#021a34' }}
+              { value: 0, name: '重大报警', itemStyle: { color: '#f44336' }},
+              { value: 0, name: '其他', itemStyle: { color: '#021a34' }}
             ]
             ]
           }
           }
+          // ,{
+          //   name: '离线报警',
+          //   type: 'pie',
+          //   clockWise: false,
+          //   radius: ['35%', '40%'],
+          //   center: ['25%', '50%'],
+          //   label: {
+          //     show: false
+          //   },
+          //   data: [
+          //     { value: 0, name: '离线报警', itemStyle: { color: '#5470c6' }},
+          //     { value: 0, name: '总数', itemStyle: { color: '#021a34' }}
+          //   ]
+          // }
         ]
         ]
       }
       }
     }
     }
@@ -108,7 +108,6 @@ export default {
   created() {
   created() {
     this.$nextTick(() => {
     this.$nextTick(() => {
       this.init()
       this.init()
-      this.reload()
     })
     })
   },
   },
   destroyed() {
   destroyed() {
@@ -125,23 +124,24 @@ export default {
       })
       })
       this.myChart = myChart
       this.myChart = myChart
     },
     },
-    reload() {
-      this.$nextTick(() => {
-        this.goafdevstatis()
-      })
-    },
-    goafdevstatis() {
+    loadData(data) {
+      let tableData = []
+      for (let i = 0; i < data.length; i++) {
+        tableData = tableData.concat(data[i].goafSensorData.map((item, index) => { return { ...item, goafDevName: data[i].goafDevName, goafDevTypename: data[i].goafDevTypename } }))
+      }
+      const normal = tableData.filter(item => !item.goafSensorAlarmType).length
+      const level_1 = tableData.filter(item => item.goafSensorAlarmType && item.goafSensorAlarmLevel === 0).length
+      const level_2 = tableData.filter(item => item.goafSensorAlarmType && item.goafSensorAlarmLevel === 2).length
+
       const option = JSON.parse(JSON.stringify(this.option))
       const option = JSON.parse(JSON.stringify(this.option))
-      const total = 1000
-      option.series[0].data[0].value = 600
-      option.series[1].data[0].value = 100
-      option.series[2].data[0].value = 80
-      option.series[3].data[0].value = 50
+      const total = tableData.length
+      option.series[0].data[0].value = normal
+      option.series[1].data[0].value = level_1
+      option.series[2].data[0].value = level_2
 
 
-      option.series[0].data[1].value = total
-      option.series[1].data[1].value = total
-      option.series[2].data[1].value = total
-      option.series[3].data[1].value = total
+      option.series[0].data[1].value = total - normal
+      option.series[1].data[1].value = total - level_1
+      option.series[2].data[1].value = total - level_2
       this.option = option
       this.option = option
       if (!this.myChart) {
       if (!this.myChart) {
         var chartDom = document.getElementById('sensor-status-chart-circle')
         var chartDom = document.getElementById('sensor-status-chart-circle')
@@ -149,22 +149,6 @@ export default {
         this.myChart = myChart
         this.myChart = myChart
       }
       }
       this.myChart.setOption(option)
       this.myChart.setOption(option)
-      // this.myChart.on('click', (params) => {
-      //   this.$router.push({
-      //     path: '/particulars/sensor',
-      //     query: {
-      //       id: '0'
-      //     }
-      //   })
-      // })
-    },
-    linkTo() {
-      this.$router.push({
-        path: '/particulars/sensor',
-        query: {
-          id: '0'
-        }
-      })
     }
     }
   }
   }
 }
 }

+ 33 - 21
src/views/bigScreen/home/components/SensorWarningInfo.vue

@@ -6,26 +6,29 @@
     </div>
     </div>
     <div class="container" :style="height?'height:'+height:''">
     <div class="container" :style="height?'height:'+height:''">
       <vueSeamlessScroll ref="seamlessScroll" :data="items" :class-option="defaultOption">
       <vueSeamlessScroll ref="seamlessScroll" :data="items" :class-option="defaultOption">
-        <table>
-          <tr class="report-title">
-            <td>预警名称</td>
-            <td>状态</td>
-            <td>等级</td>
-            <td>时间</td>
-          </tr>
-          <tr v-for="(item,index) in items" :key="index" class="report-item">
-            <td :title="item.hdangerTitle" style="max-width:200px;">{{ item.hdangerTitle }}</td>
-            <td :title="item.status">{{ dangerStatus(item.status) }}</td>
-            <td :title="item.level">{{ hdangerLevel(item.hdangerLevel) }}</td>
-            <td :title="item.time">{{ item.dangerDeadline }}</td>
-          </tr>
-        </table>
+        <div class="table-wrap">
+          <table>
+            <tr class="report-title">
+              <td>告警名称</td>
+              <td>类型</td>
+              <td>级别</td>
+              <td>时间</td>
+            </tr>
+            <tr v-for="(item,index) in items" :key="index" class="report-item">
+              <td :title="item.goafDevTypename+'【'+ item.goafDevName+'】上的传感器'+item.goafSensorName+'报警'">{{ item.goafDevTypename }}【{{ item.goafDevName }}】上的传感器{{ item.goafSensorName }}报警</td>
+              <td :title="item.goafSensorAlarmType" style="max-width: 90px;">{{ item.goafSensorAlarmType }}</td>
+              <td :title="AlarmLevel(item.goafSensorAlarmLevel)">{{ AlarmLevel(item.goafSensorAlarmLevel) }}</td>
+              <td :title="item.goafDatareportTime">{{ item.goafDatareportTime }}</td>
+            </tr>
+          </table>
+        </div>
+
       </vueSeamlessScroll>
       </vueSeamlessScroll>
     </div>
     </div>
   </div>
   </div>
 </template>
 </template>
 <script>
 <script>
-import { getDangerByList } from '@/api/goaf/dangerApi'
+import { getBigScreenAlarm } from '@/api/goaf/alarm'
 import vueSeamlessScroll from 'vue-seamless-scroll'
 import vueSeamlessScroll from 'vue-seamless-scroll'
 export default {
 export default {
   name: 'SensorWarningInfo',
   name: 'SensorWarningInfo',
@@ -61,14 +64,12 @@ export default {
       const status = ['待提交', '待评审', '待整改', '待验收', '完成']
       const status = ['待提交', '待评审', '待整改', '待验收', '完成']
       return val === -1 ? '撤销' : status[val]
       return val === -1 ? '撤销' : status[val]
     },
     },
-    hdangerLevel(val) {
-      const status = ['异常', '威胁', '危险', '危急']
-      return status[val] || '正常'
+    AlarmLevel(val) {
+      const obj = { 0: '一般', 1: '重大' }
+      return obj[val] || '--'
     },
     },
     load() {
     load() {
-      getDangerByList({
-        hdangerType: 1
-      }).then((res) => {
+      getBigScreenAlarm().then((res) => {
         this.total = res.data.length
         this.total = res.data.length
         this.items = res.data
         this.items = res.data
       })
       })
@@ -78,6 +79,17 @@ export default {
 </script>
 </script>
 <style lang="scss" scoped>
 <style lang="scss" scoped>
 .container{
 .container{
+
     height: 36vh !important;
     height: 36vh !important;
+    // .table-wrap{
+    //   overflow-x: auto;
+    //   table{
+    //     tr td{
+    //       border-left: 1px solid #2affff !important;
+    //       border-top: 1px solid #2affff !important;
+    //       font-size: 8px !important;
+    //     }
+    //   }
+    // }
 }
 }
 </style>
 </style>

+ 12 - 42
src/views/bigScreen/home/index.vue

@@ -1,16 +1,15 @@
 <template>
 <template>
   <div class="home-view">
   <div class="home-view">
     <div class="side-left">
     <div class="side-left">
-      <device-state ref="warning-statistics" />
-      <sensor-status-circle ref="check-warn-report" />
-      <device-info />
+      <device-state ref="device-state" />
+      <sensor-status-circle ref="sensor-status-circle" />
+      <device-info ref="device-info" />
     </div>
     </div>
     <div class="main">
     <div class="main">
       <Map ref="map" />
       <Map ref="map" />
     </div>
     </div>
     <div class="side-right">
     <div class="side-right">
       <sensor-status ref="sensor-status" />
       <sensor-status ref="sensor-status" />
-      <!-- <sensor-warning-statistics ref="sensor-warning-statistics" /> -->
       <sensor-warning-info ref="sensor-warning-info" height="60vh !important" />
       <sensor-warning-info ref="sensor-warning-info" height="60vh !important" />
     </div>
     </div>
   </div>
   </div>
@@ -19,8 +18,7 @@
 import mixins from '@/mixin/mqtt.js'
 import mixins from '@/mixin/mqtt.js'
 import { Uint8ArrayToString } from '@/utils'
 import { Uint8ArrayToString } from '@/utils'
 
 
-import { parseTime } from '@/utils'
-import { goafhdangerstatis } from '@/api/goaf/dangerApi'
+import { getSensorNewSensordata } from '@/api/goaf/sensor'
 import {
 import {
   SensorStatus,
   SensorStatus,
   // SensorWarningStatistics,
   // SensorWarningStatistics,
@@ -56,40 +54,22 @@ export default {
   methods: {
   methods: {
     init() {
     init() {
       this.initChart()
       this.initChart()
-      this.getWarniStatisticsdata()
       this.initMqtt({
       this.initMqtt({
         mqttResponse: this.mqttResponse
         mqttResponse: this.mqttResponse
       })
       })
+      getSensorNewSensordata().then((res) => {
+        const { data } = res
+        this.$nextTick(() => {
+          this.$refs['device-state'].loadData(data)
+          this.$refs['sensor-status-circle'].loadData(data)
+          this.$refs['device-info'].loadData(data)
+        })
+      })
     },
     },
     initChart() {
     initChart() {
-      const reportData = []
-      for (let i = 0; i < 20; i++) {
-        reportData.push({
-          'id': i + 1,
-          'name': '{Ⅲ号-770-32003}:有无渗水情况',
-          'status': '',
-          'level': '较大',
-          'time': parseTime(new Date())
-        })
-      }
-      this.reportData = reportData
       /** 更新chart */
       /** 更新chart */
       this.$nextTick(() => {
       this.$nextTick(() => {
         this.$refs['sensor-status'].reload()
         this.$refs['sensor-status'].reload()
-        // this.$refs['sensor-info-statistics'].init()
-      })
-    },
-    getWarniStatisticsdata() {
-      // 预警统计
-      goafhdangerstatis({
-        hdangerType: 0
-      }).then((res) => {
-        this.$refs['warning-statistics'].loadData(res.data)
-      })
-      goafhdangerstatis({
-        hdangerType: 1
-      }).then((res) => {
-        this.$refs['sensor-warning-statistics'].loadData(res.data)
       })
       })
     },
     },
     mqttResponse(topic, message) {
     mqttResponse(topic, message) {
@@ -99,18 +79,8 @@ export default {
       const data = message ? JSON.parse(Uint8ArrayToString(message)) : ''
       const data = message ? JSON.parse(Uint8ArrayToString(message)) : ''
       this.$nextTick(() => {
       this.$nextTick(() => {
         if (topic.includes('topic/goaf/waring/person')) {
         if (topic.includes('topic/goaf/waring/person')) {
-          goafhdangerstatis({
-            hdangerType: 0
-          }).then((res) => {
-            this.$refs['warning-statistics'].loadData(res.data)
-          })
           this.$refs['check-warn-report'].load()
           this.$refs['check-warn-report'].load()
         } else if (topic.includes('topic/goaf/waring/sensor')) {
         } else if (topic.includes('topic/goaf/waring/sensor')) {
-          goafhdangerstatis({
-            hdangerType: 1
-          }).then((res) => {
-            this.$refs['sensor-warning-statistics'].loadData(res.data)
-          })
           this.$refs['sensor-warning-info'].load()
           this.$refs['sensor-warning-info'].load()
         } else if (topic.includes('topic/goaf/fill/scale')) {
         } else if (topic.includes('topic/goaf/fill/scale')) {
           this.$refs.map.updateMapLayers(data.mapId)
           this.$refs.map.updateMapLayers(data.mapId)

+ 1 - 1
src/views/bigScreen/index.vue

@@ -28,7 +28,7 @@ export default {
       box-sizing: border-box;
       box-sizing: border-box;
       overflow: hidden;
       overflow: hidden;
       ::-webkit-scrollbar {
       ::-webkit-scrollbar {
-          height: 2px;
+          height: 4px;
           width: 4px;
           width: 4px;
       }
       }
       ::-webkit-scrollbar-corner {
       ::-webkit-scrollbar-corner {

+ 153 - 58
src/views/iiot/equipment/alarm.vue

@@ -7,153 +7,209 @@
         </div>
         </div>
       </el-col>
       </el-col>
       <el-col :span="12" class="right">
       <el-col :span="12" class="right">
-        <el-input v-model="conditions.goafDevName" class="search-input m-right-15" placeholder="请输入设备名称">
+        <el-input v-model="conditions.goafSensorName" class="search-input m-right-15" placeholder="请输入设备名称">
           <el-button slot="append" icon="el-icon-search" @click="getData()" />
           <el-button slot="append" icon="el-icon-search" @click="getData()" />
         </el-input>
         </el-input>
       </el-col>
       </el-col>
     </el-row>
     </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-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-row class="m-top-15">
       <el-table v-loading="listLoading" class="page-table" border fit :data="dataList">
       <el-table v-loading="listLoading" class="page-table" border fit :data="dataList">
         <el-table-column header-align="center" type="index" label="序号" align="center" width="60" />
         <el-table-column header-align="center" type="index" label="序号" align="center" width="60" />
-        <el-table-column header-align="center" align="center" prop="goafSensorName" label="设备名称" />
-        <el-table-column header-align="center" align="center" label="振动烈度(mm/s)">
+        <el-table-column header-align="center" align="center" prop="goafDevName" label="待测设备名称" />
+        <el-table-column header-align="center" align="center" prop="goafDevTypename" label="待测设备类型" />
+        <el-table-column header-align="center" align="center" prop="goafSensorName" label="传感器名称" />
+        <el-table-column v-if="showColumn('goafSensorAlarmType')" header-align="center" align="center" prop="goafSensorAlarmType" label="告警类型" />
+        <el-table-column v-if="showColumn('goafSensorAlarmLevel')" header-align="center" align="center" prop="goafSensorAlarmLevel" label="告警级别">
+          <template v-slot="{row}">
+            <span>{{ row.goafSensorAlarmLevel|filtersLevel }}</span>
+          </template>
+        </el-table-column>
+        <el-table-column v-if="showColumn('frequency')" header-align="center" align="center" label="频率(HZ)">
           <el-table-column
           <el-table-column
             header-align="center"
             header-align="center"
             align="center"
             align="center"
             prop="name"
             prop="name"
-            label="水平方向"
-            width="95"
+            label="X轴"
+            width="80"
           >
           >
             <template v-slot="{row}">
             <template v-slot="{row}">
-              <span>{{ parseFloat((row.FAlarmVelX/100).toFixed(2)) }}</span>
+              <span>{{ parseFloat((row.frequencyX/10).toFixed(2)) }}</span>
             </template>
             </template>
           </el-table-column>
           </el-table-column>
           <el-table-column
           <el-table-column
             header-align="center"
             header-align="center"
             align="center"
             align="center"
             prop="name"
             prop="name"
-            label="垂直方向"
-            width="95"
+            label="Y轴"
+            width="80"
           >
           >
             <template v-slot="{row}">
             <template v-slot="{row}">
-              <span>{{ parseFloat((row.FAlarmVelY/100).toFixed(2)) }}</span>
+              <span>{{ parseFloat((row.frequencyY/10).toFixed(2)) }}</span>
             </template>
             </template>
           </el-table-column>
           </el-table-column>
           <el-table-column
           <el-table-column
             header-align="center"
             header-align="center"
             align="center"
             align="center"
             prop="name"
             prop="name"
-            label="轴"
-            width="95"
+            label="Z轴"
+            width="80"
           >
           >
             <template v-slot="{row}">
             <template v-slot="{row}">
-              <span>{{ parseFloat((row.FAlarmVelZ/100).toFixed(2)) }}</span>
+              <span>{{ parseFloat((row.frequencyZ/10).toFixed(2)) }}</span>
             </template>
             </template>
           </el-table-column>
           </el-table-column>
         </el-table-column>
         </el-table-column>
-        <el-table-column header-align="center" label="速度(m/s2)">
+        <el-table-column v-if="showColumn('vel')" header-align="center" align="center" label="速度(mm/s)">
           <el-table-column
           <el-table-column
             header-align="center"
             header-align="center"
             align="center"
             align="center"
             prop="name"
             prop="name"
-            label="水平方向"
-            width="95"
+            label="X轴"
+            width="80"
           >
           >
             <template v-slot="{row}">
             <template v-slot="{row}">
-              <span>{{ row.FAlarmAccX }}</span>
+              <span>{{ parseFloat((row.velX/100).toFixed(2)) }}</span>
             </template>
             </template>
           </el-table-column>
           </el-table-column>
           <el-table-column
           <el-table-column
             header-align="center"
             header-align="center"
             align="center"
             align="center"
             prop="name"
             prop="name"
-            label="垂直方向"
-            width="95"
+            label="Y轴"
+            width="80"
           >
           >
             <template v-slot="{row}">
             <template v-slot="{row}">
-              <span>{{ row.FAlarmAccY }}</span>
+              <span>{{ parseFloat((row.velY/100).toFixed(2)) }}</span>
             </template>
             </template>
           </el-table-column>
           </el-table-column>
           <el-table-column
           <el-table-column
             header-align="center"
             header-align="center"
             align="center"
             align="center"
             prop="name"
             prop="name"
-            label="轴"
-            width="95"
+            label="Z轴"
+            width="80"
           >
           >
             <template v-slot="{row}">
             <template v-slot="{row}">
-              <span>{{ row.FAlarmAccZ }}</span>
+              <span>{{ parseFloat((row.velZ/100).toFixed(2)) }}</span>
             </template>
             </template>
           </el-table-column>
           </el-table-column>
         </el-table-column>
         </el-table-column>
-        <el-table-column header-align="center" label="位移(um)">
+        <el-table-column v-if="showColumn('acc')" header-align="center" label="加速度(m/s2)">
           <el-table-column
           <el-table-column
             header-align="center"
             header-align="center"
             align="center"
             align="center"
             prop="name"
             prop="name"
-            label="水平方向"
-            width="95"
+            label="X轴"
+            width="80"
           >
           >
             <template v-slot="{row}">
             <template v-slot="{row}">
-              <span>{{ row.FAlarmDisX }}</span>
+              <span>{{ parseFloat((row.accX/100).toFixed(2)) }}</span>
             </template>
             </template>
           </el-table-column>
           </el-table-column>
           <el-table-column
           <el-table-column
             header-align="center"
             header-align="center"
             align="center"
             align="center"
             prop="name"
             prop="name"
-            label="垂直方向"
-            width="95"
+            label="Y轴"
+            width="80"
           >
           >
             <template v-slot="{row}">
             <template v-slot="{row}">
-              <span>{{ row.FAlarmDisY }}</span>
+              <span>{{ parseFloat((row.accY/100).toFixed(2)) }}</span>
             </template>
             </template>
           </el-table-column>
           </el-table-column>
           <el-table-column
           <el-table-column
             header-align="center"
             header-align="center"
             align="center"
             align="center"
             prop="name"
             prop="name"
-            label="轴"
-            width="95"
+            label="Z轴"
+            width="80"
           >
           >
             <template v-slot="{row}">
             <template v-slot="{row}">
-              <span>{{ row.FAlarmDisZ }}</span>
+              <span>{{ parseFloat((row.accZ/100).toFixed(2)) }}</span>
             </template>
             </template>
           </el-table-column>
           </el-table-column>
         </el-table-column>
         </el-table-column>
-        <el-table-column header-align="center" align="center" label="振动烈度(mm/s)">
+        <el-table-column v-if="showColumn('dis')" header-align="center" label="位移(um)">
           <el-table-column
           <el-table-column
             header-align="center"
             header-align="center"
             align="center"
             align="center"
             prop="name"
             prop="name"
-            label="水平方向"
-            width="95"
+            label="X轴"
+            width="80"
           >
           >
             <template v-slot="{row}">
             <template v-slot="{row}">
-              <span>{{ parseFloat((row.frequencyX/10).toFixed(2)) }}</span>
+              <span>{{ row.disX }}</span>
             </template>
             </template>
           </el-table-column>
           </el-table-column>
           <el-table-column
           <el-table-column
             header-align="center"
             header-align="center"
             align="center"
             align="center"
             prop="name"
             prop="name"
-            label="垂直方向"
-            width="95"
+            label="Y轴"
+            width="80"
           >
           >
             <template v-slot="{row}">
             <template v-slot="{row}">
-              <span>{{ parseFloat((row.frequencyY/10).toFixed(2)) }}</span>
+              <span>{{ row.disY }}</span>
             </template>
             </template>
           </el-table-column>
           </el-table-column>
           <el-table-column
           <el-table-column
             header-align="center"
             header-align="center"
             align="center"
             align="center"
             prop="name"
             prop="name"
-            label="轴"
-            width="95"
+            label="Z轴"
+            width="80"
           >
           >
             <template v-slot="{row}">
             <template v-slot="{row}">
-              <span>{{ parseFloat((row.frequencyZ/10).toFixed(2)) }}</span>
+              <span>{{ row.disZ }}</span>
+            </template>
+          </el-table-column>
+        </el-table-column>
+        <el-table-column v-if="showColumn('ang')" header-align="center" align="center" label="倾角(°)">
+          <el-table-column
+            header-align="center"
+            align="center"
+            prop="name"
+            label="X轴"
+            width="80"
+          >
+            <template v-slot="{row}">
+              <span>{{ parseFloat((row.angX/100).toFixed(2)) }}</span>
+            </template>
+          </el-table-column>
+          <el-table-column
+            header-align="center"
+            align="center"
+            prop="name"
+            label="Y轴"
+            width="80"
+          >
+            <template v-slot="{row}">
+              <span>{{ parseFloat((row.angY/100).toFixed(2)) }}</span>
+            </template>
+          </el-table-column>
+          <el-table-column
+            header-align="center"
+            align="center"
+            prop="name"
+            label="Z轴"
+            width="80"
+          >
+            <template v-slot="{row}">
+              <span>{{ parseFloat((row.angZ/100).toFixed(2)) }}</span>
             </template>
             </template>
           </el-table-column>
           </el-table-column>
         </el-table-column>
         </el-table-column>
@@ -162,12 +218,12 @@
             <span>{{ parseFloat((row.sensorTemperature/10).toFixed(2)) }}</span>
             <span>{{ parseFloat((row.sensorTemperature/10).toFixed(2)) }}</span>
           </template>
           </template>
         </el-table-column>
         </el-table-column>
-        <el-table-column header-align="center" align="center" prop="goafDatareportTime" label="上传时间" />
-        <!-- <el-table-column label="操作" header-align="center" align="center" width="180">
+        <el-table-column v-if="showColumn('goafDatareportTime')" header-align="center" align="center" prop="goafDatareportTime" label="上传时间" />
+        <el-table-column label="操作" header-align="center" align="center" min-width="60">
           <template v-slot="{row}">
           <template v-slot="{row}">
-            <el-button size="mini" type="text" style="color:#1B81FF" @click="showDetail(row)">详情</el-button>
+            <el-button size="mini" type="text" style="color:#1B81FF" @click="showDetail(row)">波形</el-button>
           </template>
           </template>
-        </el-table-column> -->
+        </el-table-column>
       </el-table>
       </el-table>
       <div class="pagination-container" style="float:right;margin-right:40px;">
       <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" />
         <pagination v-show="total>0" :total="total" :page.sync="conditions.page" :limit.sync="conditions.limit" @pagination="getData" />
@@ -178,22 +234,40 @@
 </template>
 </template>
 
 
 <script>
 <script>
-import { getSensorDataByPage } from '@/api/goaf/sensor'
+import { getWavedata } from '@/api/goaf/sensor'
+import { getAlarmByPage } from '@/api/goaf/alarm'
 import { Pagination } from '@/components'
 import { Pagination } from '@/components'
 import { NumConvertLM } from '@/utils'
 import { NumConvertLM } from '@/utils'
 import MonitorChartDetail from './components/MonitorChartDetail'
 import MonitorChartDetail from './components/MonitorChartDetail'
 
 
 export default {
 export default {
   components: { Pagination, MonitorChartDetail },
   components: { Pagination, MonitorChartDetail },
+  filters: {
+    filtersLevel(val) {
+      const obj = { 0: '一般', 1: '重大' }
+      return obj[val] || '--'
+    }
+  },
   data() {
   data() {
     return {
     return {
       dataList: [],
       dataList: [],
       total: 0,
       total: 0,
+      tablefilters: [
+        { name: '告警类型', value: 'goafSensorAlarmType' },
+        { name: '告警级别', value: 'goafSensorAlarmLevel' },
+        { name: '频率', value: 'frequency' },
+        { name: '速度', value: 'vel' },
+        { name: '加速度', value: 'acc' },
+        { name: '倾角', value: 'ang' },
+        { name: '位移', value: 'dis' },
+        { name: '上传时间', value: 'goafDatareportTime' }
+      ],
+      tablefilter: ['frequency', 'vel', 'acc', 'ang', 'dis', 'goafDatareportTime', 'goafSensorAlarmType', 'goafSensorAlarmLevel'],
       listLoading: false,
       listLoading: false,
       conditions: {
       conditions: {
         page: 1,
         page: 1,
         limit: 10,
         limit: 10,
-        goafDevName: ''
+        goafSensorName: ''
       }
       }
     }
     }
   },
   },
@@ -203,9 +277,12 @@ export default {
   methods: {
   methods: {
     // fetch data
     // fetch data
     NumConvertLM,
     NumConvertLM,
+    showColumn(name) {
+      return this.tablefilter.includes(name)
+    },
     getData() {
     getData() {
       this.listLoading = true
       this.listLoading = true
-      getSensorDataByPage(this.conditions).then((resp) => {
+      getAlarmByPage(this.conditions).then((resp) => {
         this.listLoading = false
         this.listLoading = false
         const { code, msg, data, total } = resp
         const { code, msg, data, total } = resp
         if (code === 0) {
         if (code === 0) {
@@ -218,25 +295,43 @@ export default {
         console.log(error)
         console.log(error)
       })
       })
     },
     },
-    showDetail(data) {
-      const x = data.tdWaveValueX.split(',').map(item => parseFloat((item / 100).toFixed(2)))
-      const y = data.tdWaveValueY.split(',').map(item => parseFloat((item / 100).toFixed(2)))
-      const z = data.tdWaveValueZ.split(',').map(item => parseFloat((item / 100).toFixed(2)))
-      const params = { x, y, z }
-      this.$refs['chart-detail'].show(params)
+    showDetail(params) {
+      getWavedata(params.goafDataId).then((resp) => {
+        const { data } = resp
+        const x = data.tdWaveValueX.split(',').map(item => parseFloat((item / 100).toFixed(2)))
+        const y = data.tdWaveValueY.split(',').map(item => parseFloat((item / 100).toFixed(2)))
+        const z = data.tdWaveValueZ.split(',').map(item => parseFloat((item / 100).toFixed(2)))
+        const params = { x, y, z }
+        this.$refs['chart-detail'].show(params)
+      })
     }
     }
   }
   }
 }
 }
 </script>
 </script>
   <style lang="scss" scoped>
   <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{
   .page-wrap{
       min-height:90vh;
       min-height:90vh;
       padding: 15px;
       padding: 15px;
       background-color: #071A29;
       background-color: #071A29;
       ::v-deep {
       ::v-deep {
         .el-table thead.is-group th.el-table__cell{
         .el-table thead.is-group th.el-table__cell{
-        background-color: #132938;
-      }
+          background-color: #132938;
+        }
         .el-table__header-wrapper{
         .el-table__header-wrapper{
           border-bottom: 1px solid #5994bb;
           border-bottom: 1px solid #5994bb;
         }
         }

+ 3 - 3
src/views/iiot/equipment/components/MonitorChartDetail.vue

@@ -5,7 +5,7 @@
     :modal-append-to-body="false"
     :modal-append-to-body="false"
     :modal="false"
     :modal="false"
     :wrapper-closable="false"
     :wrapper-closable="false"
-    size="95%"
+    size="100%"
     :visible.sync="dialogVisible"
     :visible.sync="dialogVisible"
   >
   >
     <div v-if="dialogVisible" id="MonitorChartDetail" />
     <div v-if="dialogVisible" id="MonitorChartDetail" />
@@ -26,7 +26,7 @@ export default {
         grid: {
         grid: {
           left: '3%',
           left: '3%',
           right: '4%',
           right: '4%',
-          top: '40%',
+          top: '20%',
           bottom: '3%',
           bottom: '3%',
           containLabel: true
           containLabel: true
         },
         },
@@ -122,6 +122,6 @@ export default {
 <style>
 <style>
 #MonitorChartDetail{
 #MonitorChartDetail{
     width: 100%;
     width: 100%;
-    height: 350px;
+    height: 550px;
 }
 }
 </style>
 </style>

+ 51 - 15
src/views/iiot/equipment/monitor.vue

@@ -16,7 +16,8 @@
     <el-row class="m-top-15">
     <el-row class="m-top-15">
       <el-table v-loading="listLoading" class="page-table" border fit :data="dataList" :span-method="objectSpanMethod">
       <el-table v-loading="listLoading" class="page-table" border fit :data="dataList" :span-method="objectSpanMethod">
         <el-table-column header-align="center" type="index" label="序号" align="center" width="60" />
         <el-table-column header-align="center" type="index" label="序号" align="center" width="60" />
-        <el-table-column header-align="center" align="center" prop="goafDevName" label="设备名称" />
+        <el-table-column header-align="center" align="center" prop="goafDevName" label="被测设备名称" />
+        <el-table-column header-align="center" align="center" prop="goafDevTypename" label="被测设备类型" />
         <el-table-column header-align="center" align="center" prop="goafSensorName" label="传感器名称" />
         <el-table-column header-align="center" align="center" prop="goafSensorName" label="传感器名称" />
         <el-table-column header-align="center" align="center" label="频率(HZ)">
         <el-table-column header-align="center" align="center" label="频率(HZ)">
           <el-table-column
           <el-table-column
@@ -24,7 +25,7 @@
             align="center"
             align="center"
             prop="name"
             prop="name"
             label="水平方向"
             label="水平方向"
-            width="95"
+            width="80"
           >
           >
             <template v-slot="{row}">
             <template v-slot="{row}">
               <span>{{ parseFloat((row.frequencyX/10).toFixed(2)) }}</span>
               <span>{{ parseFloat((row.frequencyX/10).toFixed(2)) }}</span>
@@ -35,7 +36,7 @@
             align="center"
             align="center"
             prop="name"
             prop="name"
             label="垂直方向"
             label="垂直方向"
-            width="95"
+            width="80"
           >
           >
             <template v-slot="{row}">
             <template v-slot="{row}">
               <span>{{ parseFloat((row.frequencyY/10).toFixed(2)) }}</span>
               <span>{{ parseFloat((row.frequencyY/10).toFixed(2)) }}</span>
@@ -46,7 +47,7 @@
             align="center"
             align="center"
             prop="name"
             prop="name"
             label="轴向"
             label="轴向"
-            width="95"
+            width="80"
           >
           >
             <template v-slot="{row}">
             <template v-slot="{row}">
               <span>{{ parseFloat((row.frequencyZ/10).toFixed(2)) }}</span>
               <span>{{ parseFloat((row.frequencyZ/10).toFixed(2)) }}</span>
@@ -59,7 +60,7 @@
             align="center"
             align="center"
             prop="name"
             prop="name"
             label="水平方向"
             label="水平方向"
-            width="95"
+            width="80"
           >
           >
             <template v-slot="{row}">
             <template v-slot="{row}">
               <span>{{ parseFloat((row.velX/100).toFixed(2)) }}</span>
               <span>{{ parseFloat((row.velX/100).toFixed(2)) }}</span>
@@ -70,7 +71,7 @@
             align="center"
             align="center"
             prop="name"
             prop="name"
             label="垂直方向"
             label="垂直方向"
-            width="95"
+            width="80"
           >
           >
             <template v-slot="{row}">
             <template v-slot="{row}">
               <span>{{ parseFloat((row.velY/100).toFixed(2)) }}</span>
               <span>{{ parseFloat((row.velY/100).toFixed(2)) }}</span>
@@ -81,7 +82,7 @@
             align="center"
             align="center"
             prop="name"
             prop="name"
             label="轴向"
             label="轴向"
-            width="95"
+            width="80"
           >
           >
             <template v-slot="{row}">
             <template v-slot="{row}">
               <span>{{ parseFloat((row.velZ/100).toFixed(2)) }}</span>
               <span>{{ parseFloat((row.velZ/100).toFixed(2)) }}</span>
@@ -94,7 +95,7 @@
             align="center"
             align="center"
             prop="name"
             prop="name"
             label="水平方向"
             label="水平方向"
-            width="95"
+            width="80"
           >
           >
             <template v-slot="{row}">
             <template v-slot="{row}">
               <span>{{ parseFloat((row.accX/100).toFixed(2)) }}</span>
               <span>{{ parseFloat((row.accX/100).toFixed(2)) }}</span>
@@ -105,7 +106,7 @@
             align="center"
             align="center"
             prop="name"
             prop="name"
             label="垂直方向"
             label="垂直方向"
-            width="95"
+            width="80"
           >
           >
             <template v-slot="{row}">
             <template v-slot="{row}">
               <span>{{ parseFloat((row.accY/100).toFixed(2)) }}</span>
               <span>{{ parseFloat((row.accY/100).toFixed(2)) }}</span>
@@ -116,7 +117,7 @@
             align="center"
             align="center"
             prop="name"
             prop="name"
             label="轴向"
             label="轴向"
-            width="95"
+            width="80"
           >
           >
             <template v-slot="{row}">
             <template v-slot="{row}">
               <span>{{ parseFloat((row.accZ/100).toFixed(2)) }}</span>
               <span>{{ parseFloat((row.accZ/100).toFixed(2)) }}</span>
@@ -129,7 +130,7 @@
             align="center"
             align="center"
             prop="name"
             prop="name"
             label="水平方向"
             label="水平方向"
-            width="95"
+            width="80"
           >
           >
             <template v-slot="{row}">
             <template v-slot="{row}">
               <span>{{ row.disX }}</span>
               <span>{{ row.disX }}</span>
@@ -140,7 +141,7 @@
             align="center"
             align="center"
             prop="name"
             prop="name"
             label="垂直方向"
             label="垂直方向"
-            width="95"
+            width="80"
           >
           >
             <template v-slot="{row}">
             <template v-slot="{row}">
               <span>{{ row.disY }}</span>
               <span>{{ row.disY }}</span>
@@ -151,22 +152,57 @@
             align="center"
             align="center"
             prop="name"
             prop="name"
             label="轴向"
             label="轴向"
-            width="95"
+            width="80"
           >
           >
             <template v-slot="{row}">
             <template v-slot="{row}">
               <span>{{ row.disZ }}</span>
               <span>{{ row.disZ }}</span>
             </template>
             </template>
           </el-table-column>
           </el-table-column>
         </el-table-column>
         </el-table-column>
+        <el-table-column header-align="center" align="center" label="倾角(°)">
+          <el-table-column
+            header-align="center"
+            align="center"
+            prop="name"
+            label="X轴"
+            width="80"
+          >
+            <template v-slot="{row}">
+              <span>{{ parseFloat((row.angX/100).toFixed(2)) }}</span>
+            </template>
+          </el-table-column>
+          <el-table-column
+            header-align="center"
+            align="center"
+            prop="name"
+            label="Y轴"
+            width="80"
+          >
+            <template v-slot="{row}">
+              <span>{{ parseFloat((row.angY/100).toFixed(2)) }}</span>
+            </template>
+          </el-table-column>
+          <el-table-column
+            header-align="center"
+            align="center"
+            prop="name"
+            label="Z轴"
+            width="80"
+          >
+            <template v-slot="{row}">
+              <span>{{ parseFloat((row.angZ/100).toFixed(2)) }}</span>
+            </template>
+          </el-table-column>
+        </el-table-column>
         <el-table-column header-align="center" align="center" prop="sensorTemperature" label="温度(℃)">
         <el-table-column header-align="center" align="center" prop="sensorTemperature" label="温度(℃)">
           <template v-slot="{row}">
           <template v-slot="{row}">
             <span>{{ parseFloat((row.sensorTemperature/10).toFixed(2)) }}</span>
             <span>{{ parseFloat((row.sensorTemperature/10).toFixed(2)) }}</span>
           </template>
           </template>
         </el-table-column>
         </el-table-column>
         <el-table-column header-align="center" align="center" prop="goafDatareportTime" label="上传时间" />
         <el-table-column header-align="center" align="center" prop="goafDatareportTime" label="上传时间" />
-        <el-table-column label="操作" header-align="center" align="center" width="180">
+        <el-table-column label="操作" header-align="center" align="center" min-width="60">
           <template v-slot="{row}">
           <template v-slot="{row}">
-            <el-button size="mini" type="text" style="color:#1B81FF" @click="showDetail(row)">详情</el-button>
+            <el-button size="mini" type="text" style="color:#1B81FF" @click="showDetail(row)">波形</el-button>
           </template>
           </template>
         </el-table-column>
         </el-table-column>
       </el-table>
       </el-table>

+ 4 - 4
src/views/iiot/sensor/components/DeviceModel.vue

@@ -51,9 +51,9 @@
             />
             />
           </el-select> -->
           </el-select> -->
         </el-form-item>
         </el-form-item>
-        <el-form-item label="检测间隔时间(分)" required>
+        <!-- <el-form-item label="检测间隔时间(分)" required>
           <el-input-number v-model="formData.goafCheckTimeInterval" placeholder="检测间隔时间(分)" :controls="false" style="width: 100px;" />
           <el-input-number v-model="formData.goafCheckTimeInterval" placeholder="检测间隔时间(分)" :controls="false" style="width: 100px;" />
-        </el-form-item>
+        </el-form-item> -->
         <el-form-item label="波特率" required>
         <el-form-item label="波特率" required>
           <el-input-number v-model="formData.sensorBaudrate" placeholder="波特率" :controls="false" style="width: 100px;" />
           <el-input-number v-model="formData.sensorBaudrate" placeholder="波特率" :controls="false" style="width: 100px;" />
         </el-form-item>
         </el-form-item>
@@ -146,7 +146,7 @@ export default {
         'goafDevName': '',
         'goafDevName': '',
         'goafDevTypename': '',
         'goafDevTypename': '',
         'goafSensorLocation': '',
         'goafSensorLocation': '',
-        'goafCheckTimeInterval': '',
+        // 'goafCheckTimeInterval': '',
         'goafInstallTime': parseTime(new Date()),
         'goafInstallTime': parseTime(new Date()),
         'goafSensorStatus': 0,
         'goafSensorStatus': 0,
         'thvAccX': 0,
         'thvAccX': 0,
@@ -226,7 +226,7 @@ export default {
         'goafDevName': '',
         'goafDevName': '',
         'goafDevTypename': '',
         'goafDevTypename': '',
         'goafSensorLocation': '',
         'goafSensorLocation': '',
-        'goafCheckTimeInterval': '',
+        // 'goafCheckTimeInterval': '',
         'goafInstallTime': parseTime(new Date()),
         'goafInstallTime': parseTime(new Date()),
         'goafSensorStatus': 0,
         'goafSensorStatus': 0,
         'thvAccX': 0,
         'thvAccX': 0,