| 
					
				 | 
			
			
				@@ -8,7 +8,7 @@ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       </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-button slot="append" icon="el-icon-search" @click="init()" /> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         </el-input> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       </el-col> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     </el-row> 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -17,20 +17,40 @@ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         <span>设备当前状态统计</span> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       </div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       <div class="overview-status-wrap"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        <overview-status /> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        <overview-status ref="overview-status" /> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       </div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     </el-card> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     <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 prop="goafSensorName" label="传感器编码" /> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        <el-table-column prop="goafDevName" label="设备名称" /> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        <el-table-column prop="goafDevTypename" label="设备类型" /> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        <el-table-column prop="goafSensorLocation" label="安装地点" /> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        <el-table-column prop="goafSensorStatus" label="状态" /> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        <el-table-column prop="goafDevLocation" label="一般告警" /> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        <el-table-column prop="goafDevLocation" label="严重告警" /> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        <el-table-column prop="goafInstallTime" label="安装时间" /> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        <el-table-column prop="goafDevTypename" label="设备类型" align="center" /> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        <el-table-column prop="goafDevName" label="设备名称" align="center" /> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        <el-table-column prop="goafSensorName" label="传感器名称" align="center" /> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        <el-table-column header-align="center" align="center" prop="goafSensorStatus" label="是否在线"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          <template v-slot="{row}"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            <span>{{ row.goafSensorStatus===0?'离线': "在线" }}</span> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          </template> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        </el-table-column> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        <el-table-column header-align="center" align="center" prop="goafSensorAlarmType" label="运行状态"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          <template v-slot="{row}"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            <span v-if="row.goafSensorAlarmType">告警</span> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            <span v-else>正常</span> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          </template> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        </el-table-column> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        <el-table-column header-align="center" align="center" prop="goafSensorAlarmLevel" label="告警级别"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          <template v-slot="{row}"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            <span v-if="row.goafSensorAlarmType">{{ row.goafSensorAlarmLevel===0?'一般': "严重" }}</span> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            <span v-else /> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          </template> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        </el-table-column> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        <el-table-column header-align="center" align="center" prop="goafSensorAlarmType" label="告警类型"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          <template v-slot="{row}"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            <span v-if="row.goafSensorAlarmType">{{ row.goafSensorAlarmType }}</span> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            <span v-else /> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          </template> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        </el-table-column> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        <el-table-column prop="goafSensorLocation" label="安装地点" align="center" /> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        <el-table-column prop="goafInstallTime" label="安装时间" align="center" /> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       </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" /> 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -40,7 +60,8 @@ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 </template> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 <script> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-import { getSensorByPage } from '@/api/goaf/sensor' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import { getSensorOverview } from '@/api/goaf/alarm' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+// import { getSensorByPage } from '@/api/goaf/sensor' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import { Pagination } from '@/components' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import { NumConvertLM } from '@/utils' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import OverviewStatus from './components/OverviewStatus' 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -49,6 +70,7 @@ export default { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   data() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     return { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       dataList: [], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      tableData: [], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       total: 0, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       listLoading: false, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       conditions: { 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -59,26 +81,63 @@ export default { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   created() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    this.getData() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    this.init() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   methods: { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     // fetch data 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     NumConvertLM, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    init() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      this.getSensorOverview() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    // getData() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    //   this.listLoading = true 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    //   this.getSensorOverview() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    //   getSensorByPage(this.conditions).then((resp) => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    //     this.listLoading = false 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    //     const { code, msg, total, data } = resp 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    //     if (code === 0) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    //       this.dataList = data 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    //       this.total = total 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    //     } else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    //       this.$message.error(msg) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    //     } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    //   }).catch((error) => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    //     console.log(error) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    //   }) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    // }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     getData() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      this.listLoading = true 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      getSensorByPage(this.conditions).then((resp) => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        this.listLoading = false 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        const { code, msg, total, data } = resp 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        if (code === 0) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-          this.dataList = data 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-          this.total = total 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        } else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-          this.$message.error(msg) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      const tableData = JSON.parse(JSON.stringify(this.tableData)) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      const page = this.conditions.page 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      const limit = this.conditions.limit 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      const items = tableData.filter((item, index) => (index >= (page - 1) * limit) && (index < page * limit)) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      this.dataList = items 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    getSensorOverview() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      getSensorOverview().then((resp) => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        const { data } = resp 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        let tableData = [] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        for (let i = 0; i < data.length; i++) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          tableData = tableData.concat(data[i].goafSensoralarmOverviewDto.map((item, index) => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            return { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              ...item, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              goafDevName: data[i].goafDevName, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              goafDevTypename: data[i].goafDevTypename, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              goafInstallTime: data[i].goafInstallTime 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          })) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      }).catch((error) => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        console.log(error) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        this.tableData = tableData 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        this.total = tableData.length 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        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 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        this.$nextTick(() => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          this.$refs['overview-status'].setChart(normal, level_1, level_2) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        }) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        this.getData() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       }) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 </script> 
			 |