From 4c6f2df21a29048440a85e34dadcd4f1c75c179c Mon Sep 17 00:00:00 2001
From: zhanghua <314079846@qq.com>
Date: 星期一, 13 十一月 2023 17:32:24 +0800
Subject: [PATCH] 页面优化
---
src/views/smoke/realTime/components/tenHourData.vue | 83 +++++++
src/views/smoke/realTime/index.vue | 33 ++
src/assets/icons/svg/dailySum.svg | 1
src/assets/icons/svg/devices.svg | 1
src/assets/icons/svg/intimeData.svg | 1
src/assets/icons/svg/tenMinData.svg | 1
src/assets/icons/svg/tenHourData.svg | 1
src/views/smoke/realTime/components/intimeData.vue | 160 ++++++++++++++
src/api/smoke/statistics.js | 6
src/assets/imgs/normalLocale.png | 0
src/views/smoke/realTime/components/detectorDailySumDays.vue | 77 ++++++
src/views/smoke/realTime/components/devices.vue | 159 ++++++++++++++
src/views/smoke/realTime/components/tenMinData.vue | 106 +++++++++
13 files changed, 606 insertions(+), 23 deletions(-)
diff --git a/src/api/smoke/statistics.js b/src/api/smoke/statistics.js
index 3f5c296..4e50688 100644
--- a/src/api/smoke/statistics.js
+++ b/src/api/smoke/statistics.js
@@ -13,6 +13,10 @@
// 鐩戞祴鎶ヨ缁熻&杩愮淮鎯呭喌鎶ヨ〃
findCurAlarmList: (params) => {
return http.get('/sccg/smoke/statistics/listCurAlarm', params);
- }
+ },
+ // 妫�娴嬩华鎬讳綋鎯呭喌鎶ヨ〃 妗f
+ getDocument: (params) => {
+ return http.get('/sccg/smoke/statistics/detectorDailyStats/document', params);
+ }
}
\ No newline at end of file
diff --git a/src/assets/icons/svg/dailySum.svg b/src/assets/icons/svg/dailySum.svg
new file mode 100644
index 0000000..78faeaa
--- /dev/null
+++ b/src/assets/icons/svg/dailySum.svg
@@ -0,0 +1 @@
+<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1699864983138" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="4031" xmlns:xlink="http://www.w3.org/1999/xlink" width="16" height="16"><path d="M839.647708 1016.974416H184.352292a98.358181 98.358181 0 0 1-97.719492-98.358182V107.480583A98.358181 98.358181 0 0 1 184.352292 9.122402h383.213694a97.080802 97.080802 0 0 1 63.868948 24.90889l275.27517 243.979385a95.803423 95.803423 0 0 1 32.573164 72.810602v567.794955a98.358181 98.358181 0 0 1-99.63556 98.358182zM184.352292 74.907419a32.573164 32.573164 0 0 0-32.573164 32.573164v811.135651a32.573164 32.573164 0 0 0 32.573164 32.573164h655.295416a32.573164 32.573164 0 0 0 32.573164-32.573164V350.821279a30.657095 30.657095 0 0 0-10.857722-23.631512l-274.63648-243.979384a35.127922 35.127922 0 0 0-21.715442-8.302964z" fill="#323333" p-id="4032"></path><path d="M448.131051 354.653416H288.458679a33.211853 33.211853 0 0 1 0-63.868949H448.131051a33.211853 33.211853 0 1 1 0 63.868949zM667.840235 547.537641H288.458679a32.573164 32.573164 0 0 1 0-63.868949h379.381556a32.573164 32.573164 0 0 1 0 63.868949zM667.840235 741.060556H288.458679a33.211853 33.211853 0 0 1 0-63.868949h379.381556a33.211853 33.211853 0 0 1 0 63.868949zM883.078593 359.124242h-319.344744a32.573164 32.573164 0 0 1-33.211854-32.573164V42.334255a33.211853 33.211853 0 1 1 63.868949 0v251.643659h285.494202a32.573164 32.573164 0 1 1 0 63.868949z" fill="#323333" p-id="4033"></path></svg>
\ No newline at end of file
diff --git a/src/assets/icons/svg/devices.svg b/src/assets/icons/svg/devices.svg
new file mode 100644
index 0000000..5502266
--- /dev/null
+++ b/src/assets/icons/svg/devices.svg
@@ -0,0 +1 @@
+<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1699865143316" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="14890" xmlns:xlink="http://www.w3.org/1999/xlink" width="16" height="16"><path d="M827.733333 989.866667h-631.466666c-39.253333 0-71.68-32.426667-71.68-69.973334V172.373333C124.586667 133.12 157.013333 102.4 196.266667 102.4h158.72c13.653333 0 25.6 11.946667 25.6 25.6V170.666667h266.24V128c0-13.653333 11.946667-25.6 25.6-25.6h158.72c39.253333 0 71.68 32.426667 71.68 69.973333v745.813334c-3.413333 39.253333-35.84 71.68-75.093334 71.68z m-631.466666-836.266667c-10.24 0-20.48 8.533333-20.48 18.773333v745.813334c0 10.24 8.533333 18.773333 20.48 18.773333h633.173333c10.24 0 20.48-8.533333 20.48-18.773333V172.373333c0-10.24-8.533333-18.773333-20.48-18.773333h-133.12v42.666667c0 13.653333-11.946667 25.6-25.6 25.6H353.28c-13.653333 0-25.6-11.946667-25.6-25.6V153.6h-131.413333z" fill="#333333" p-id="14891"></path><path d="M670.72 221.866667H353.28c-13.653333 0-25.6-11.946667-25.6-25.6v-136.533334c0-13.653333 11.946667-25.6 25.6-25.6h317.44c13.653333 0 25.6 11.946667 25.6 25.6v136.533334c0 13.653333-11.946667 25.6-25.6 25.6z m-291.84-51.2h266.24V85.333333H378.88v85.333334zM443.733333 786.773333c-6.826667 0-13.653333-1.706667-18.773333-6.826666-10.24-10.24-10.24-25.6 0-35.84l136.533333-136.533334h-163.84c-10.24 0-20.48-6.826667-23.893333-15.36s-1.706667-20.48 5.12-27.306666l180.906667-180.906667c10.24-10.24 25.6-10.24 35.84 0s10.24 25.6 0 35.84l-136.533334 136.533333h163.84c10.24 0 20.48 6.826667 23.893334 15.36s1.706667 20.48-5.12 27.306667L462.506667 778.24c-5.12 5.12-11.946667 8.533333-18.773334 8.533333z" fill="#333333" p-id="14892"></path><path d="M723.626667 952.32H209.92c-20.48 0-35.84-17.066667-35.84-35.84V310.613333c0-20.48 17.066667-35.84 35.84-35.84h513.706667c20.48 0 35.84 17.066667 35.84 35.84v605.866667c0 20.48-15.36 35.84-35.84 35.84z" fill="#333333" opacity=".3" p-id="14893"></path></svg>
\ No newline at end of file
diff --git a/src/assets/icons/svg/intimeData.svg b/src/assets/icons/svg/intimeData.svg
new file mode 100644
index 0000000..2f612af
--- /dev/null
+++ b/src/assets/icons/svg/intimeData.svg
@@ -0,0 +1 @@
+<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1699865041092" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="9029" xmlns:xlink="http://www.w3.org/1999/xlink" width="16" height="16"><path d="M832 128v768H256V128h576m64-64H192v896h704V64z" p-id="9030"></path><path d="M161.3 296.2v-0.2H320v-40H161.3c-35.5 0-64.3 28.7-64.3 64s28.8 64 64.3 64h90v-40h-90v-0.2c-13.3 0-24.1-10.7-24.1-23.8 0-13.1 10.8-23.8 24.1-23.8zM161.3 488.2v-0.2H320v-40H161.3c-35.5 0-64.3 28.7-64.3 64s28.8 64 64.3 64h90v-40h-90v-0.2c-13.3 0-24.1-10.7-24.1-23.8 0-13.1 10.8-23.8 24.1-23.8zM161.3 680.2v-0.2H320v-40H161.3c-35.5 0-64.3 28.7-64.3 64s28.8 64 64.3 64h90v-40h-90v-0.2c-13.3 0-24.1-10.7-24.1-23.8 0-13.1 10.8-23.8 24.1-23.8z" p-id="9031"></path><path d="M320 277m-32 0a32 32 0 1 0 64 0 32 32 0 1 0-64 0Z" p-id="9032"></path><path d="M320 469m-32 0a32 32 0 1 0 64 0 32 32 0 1 0-64 0Z" p-id="9033"></path><path d="M320 662m-32 0a32 32 0 1 0 64 0 32 32 0 1 0-64 0Z" p-id="9034"></path><path d="M384 256h385v40H384zM384 384h385v40H384zM384 512h385v40H384zM384 640h256v40H384z" p-id="9035"></path></svg>
\ No newline at end of file
diff --git a/src/assets/icons/svg/tenHourData.svg b/src/assets/icons/svg/tenHourData.svg
new file mode 100644
index 0000000..70bc8ec
--- /dev/null
+++ b/src/assets/icons/svg/tenHourData.svg
@@ -0,0 +1 @@
+<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1699865094403" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="12027" xmlns:xlink="http://www.w3.org/1999/xlink" width="16" height="16"><path d="M896 928H128a32 32 0 0 1-32-32V128a32 32 0 0 1 64 0v736H896a32 32 0 0 1 0 64z" fill="#4D4D4D" p-id="12028"></path><path d="M352 896a32 32 0 0 1-32-32v-320a32 32 0 0 1 64 0v320a32 32 0 0 1-32 32zM576 896a32 32 0 0 1-32-32V448a32 32 0 0 1 64 0v416a32 32 0 0 1-32 32zM800 896a32 32 0 0 1-32-32V384a32 32 0 0 1 64 0v480a32 32 0 0 1-32 32zM256 416a32.64 32.64 0 0 1-25.6-12.8 32 32 0 0 1 6.4-44.8l256-192a31.36 31.36 0 0 1 41.6 0l108.8 108.16L876.8 102.4a32 32 0 1 1 38.4 51.2l-256 192a31.36 31.36 0 0 1-41.6-3.2L512 234.24 275.2 409.6a31.36 31.36 0 0 1-19.2 6.4z" fill="#4D4D4D" p-id="12029"></path></svg>
\ No newline at end of file
diff --git a/src/assets/icons/svg/tenMinData.svg b/src/assets/icons/svg/tenMinData.svg
new file mode 100644
index 0000000..adcb928
--- /dev/null
+++ b/src/assets/icons/svg/tenMinData.svg
@@ -0,0 +1 @@
+<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1699865071125" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="10975" xmlns:xlink="http://www.w3.org/1999/xlink" width="16" height="16"><path d="M426.666667 170.666667v682.666666h170.666666V170.666667h-170.666666zM170.666667 384v469.333333h170.666666V384H170.666667z m512 170.666667v298.666666h170.666666v-298.666666h-170.666666z" p-id="10976"></path></svg>
\ No newline at end of file
diff --git a/src/assets/imgs/normalLocale.png b/src/assets/imgs/normalLocale.png
new file mode 100644
index 0000000..0f54981
--- /dev/null
+++ b/src/assets/imgs/normalLocale.png
Binary files differ
diff --git a/src/views/smoke/realTime/components/detectorDailySumDays.vue b/src/views/smoke/realTime/components/detectorDailySumDays.vue
index 17bcab3..12e8fd8 100644
--- a/src/views/smoke/realTime/components/detectorDailySumDays.vue
+++ b/src/views/smoke/realTime/components/detectorDailySumDays.vue
@@ -1,13 +1,84 @@
<template>
-
+ <div>
+ <el-descriptions>
+ <el-descriptions-item label="椁愰ギ浼佷笟鍚嶇О:">{{
+ localeInfo.customer.Name
+ }}</el-descriptions-item>
+ <el-descriptions-item label="鑱旂郴浜�:">{{
+ localeInfo.customer.Contact
+ }}</el-descriptions-item>
+ <el-descriptions-item label="鑱旂郴鐢佃瘽:">{{
+ localeInfo.customer.Mobile
+ }}</el-descriptions-item>
+ <el-descriptions-item label="璇︾粏鍦板潃:">
+ {{ localeInfo.customer.Address }}
+ </el-descriptions-item>
+ <el-descriptions-item label="鐩戞祴鐐圭被鍨�:">
+ {{
+ localeInfo.customer.Typ == 4 ? '涓�鑸娴嬬偣' : '鍏朵粬'
+ }}</el-descriptions-item
+ >
+ <el-descriptions-item label="鎵�灞炲崟浣�:">
+ {{ localeInfo.customer.Org }}</el-descriptions-item
+ >
+ <el-descriptions-item label="鑿滅郴:"></el-descriptions-item>
+ <el-descriptions-item label="椋庨��:">
+ {{ localeInfo.locale.FanSpeed }}m/s
+ </el-descriptions-item>
+ <el-descriptions-item label="椋庨噺:">
+ {{ localeInfo.locale.FanQuantity }}m鲁/h</el-descriptions-item
+ >
+ <el-descriptions-item label="绠¢亾鎴潰闈㈢Н:">
+ {{ localeInfo.locale.PipeArea }}m虏</el-descriptions-item
+ >
+ <el-descriptions-item label="鐏跺ご鏁伴噺:">
+ {{ localeInfo.locale.StoveNum }}涓�</el-descriptions-item
+ >
+ <el-descriptions-item label="闆嗘皵缃╅潰绉�:">
+ {{ localeInfo.locale.StoveArea }}m虏</el-descriptions-item
+ >
+ </el-descriptions>
+ </div>
</template>
<script>
+import statisticsApi from "@/api/smoke/statistics";
export default {
+ data() {
+ return {
+ localeInfo: {}
+ }
+ },
+ created() {
+ this.getData();
+ },
+ methods: {
+ getData() {
+ let param = {
+ field: "detectorDailySumDays",
+ localeId: this.inTimeData.Lid
+ }
+ statisticsApi.getDocument(param).then(jsonStr => {
+ const res = JSON.parse(jsonStr)
+ debugger
+ this.localeInfo = res.Data
+ })
+
+ },
+
+ // 璁剧疆琛ㄦ牸鏂戦┈绾�
+ tableRowClassName({ row, rowIndex }) {
+ if ((rowIndex + 1) % 2 == 0) {
+ return "warning-row";
+ } else {
+ return "success-row";
+ }
+ return "";
+ },
+ },
+ props: ['inTimeData']
}
</script>
-
<style>
-
</style>
\ No newline at end of file
diff --git a/src/views/smoke/realTime/components/devices.vue b/src/views/smoke/realTime/components/devices.vue
index 17bcab3..20757f5 100644
--- a/src/views/smoke/realTime/components/devices.vue
+++ b/src/views/smoke/realTime/components/devices.vue
@@ -1,13 +1,166 @@
<template>
-
+ <div>
+ <div class="title">璁惧淇℃伅</div>
+ <div style="width: 100%; overflow-x: scroll">
+ <el-table
+ border
+ stripe
+ ref="multipleTable"
+ :header-cell-style="{
+ background: '#F5F5F5',
+ 'font-weight': '650',
+ 'line-height': '45px'
+ }"
+ :data="tableData"
+ :row-class-name="tableRowClassName"
+ >
+ <el-table-column prop="MN" label="璁惧缂栫爜" min-width="120px">
+ </el-table-column>
+ <el-table-column
+ prop="Locale.Name"
+ label="鐩戞祴鐐�"
+ min-width="150px"
+ >
+ </el-table-column>
+ <el-table-column
+ prop="LocaleNameStr"
+ label="鎵�灞炲崟浣�"
+ min-width="120px"
+ >
+ </el-table-column>
+ <el-table-column
+ prop="SubtypeStr"
+ label="璁惧绫诲瀷"
+ min-width="120px"
+ >
+ </el-table-column>
+ <el-table-column prop="ModelStr" label="鍨嬪彿" min-width="95px">
+ </el-table-column>
+ <el-table-column prop="Brand" label="鍝佺墝" min-width="95px">
+ </el-table-column>
+ <el-table-column prop="Sim" label="SIM鍗�" min-width="95px">
+ </el-table-column>
+ </el-table>
+ </div>
+
+ <div class="title">鐩戞祴鐐硅繍缁存儏鍐�</div>
+ <div style="width: 100%; overflow-x: scroll">
+ <el-table
+ border
+ stripe
+ ref="multipleTable"
+ :header-cell-style="{
+ background: '#F5F5F5',
+ 'font-weight': '650',
+ 'line-height': '45px'
+ }"
+ :data="tableData2"
+ :row-class-name="tableRowClassName"
+ >
+ <el-table-column prop="hour_str" label="鐩戞祴鐐�" width="100px">
+ </el-table-column>
+ <el-table-column
+ prop="hour_str"
+ label="鐩戞祴鐐瑰湴鍧�"
+ min-width="150px"
+ >
+ </el-table-column>
+ <el-table-column
+ prop="hour_str"
+ label="缁存姢绫诲瀷"
+ min-width="150px"
+ >
+ </el-table-column>
+ <el-table-column
+ prop="hour_str"
+ label="璁惧缂栧彿"
+ min-width="150px"
+ >
+ </el-table-column>
+ <el-table-column
+ prop="hour_str"
+ label="娲惧崟鏃ユ湡"
+ min-width="150px"
+ >
+ </el-table-column>
+ <el-table-column
+ prop="hour_str"
+ label="澶勭悊鏃ユ湡"
+ min-width="150px"
+ >
+ </el-table-column>
+ <el-table-column
+ prop="hour_str"
+ label="杩愮淮浜哄憳"
+ min-width="150px"
+ >
+ </el-table-column>
+ <el-table-column
+ prop="hour_str"
+ label="鎿嶄綔鐘舵��"
+ min-width="150px"
+ >
+ </el-table-column>
+ <el-table-column
+ prop="hour_str"
+ label="鏌ョ湅璇︽儏"
+ min-width="150px"
+ >
+ </el-table-column>
+ </el-table>
+ </div>
+ </div>
</template>
<script>
+import statisticsApi from "@/api/smoke/statistics";
export default {
+ data() {
+ return {
+ tableData: [],
+ tableData2: []
+ }
+ },
+ created() {
+ this.getData();
+ },
+ methods: {
+ getData() {
+ let param = {
+ field: "devices",
+ localeId: this.inTimeData.Lid
+ }
+ statisticsApi.getDocument(param).then(jsonStr => {
+ const res = JSON.parse(jsonStr)
+ let list = res.Data
+ list.forEach(o => {
+ o.LocaleNameStr = o.Locale.Name.substring(0, o.Locale.Name.length - 3)
+ o.SubtypeStr = o.Subtype == 3 ? '妫�娴嬩华璁惧' : '-'
+ o.ModelStr = o.Model == 2 ? 'MRJC-YY-A01' : '-'
+ });
+ this.tableData = list
+ })
+
+ },
+ // 璁剧疆琛ㄦ牸鏂戦┈绾�
+ tableRowClassName({ row, rowIndex }) {
+ if ((rowIndex + 1) % 2 == 0) {
+ return "warning-row";
+ } else {
+ return "success-row";
+ }
+ return "";
+ },
+ },
+ props: ['inTimeData']
}
</script>
-
<style>
-
+.title {
+ line-height: 1;
+ text-align: left;
+ font-size: 20px;
+ margin: 5px 0px;
+}
</style>
\ No newline at end of file
diff --git a/src/views/smoke/realTime/components/intimeData.vue b/src/views/smoke/realTime/components/intimeData.vue
index 17bcab3..c3bca4b 100644
--- a/src/views/smoke/realTime/components/intimeData.vue
+++ b/src/views/smoke/realTime/components/intimeData.vue
@@ -1,13 +1,169 @@
<template>
-
+ <div>
+ <div style="width: 100%; overflow-x: scroll">
+ <el-table
+ border
+ stripe
+ ref="multipleTable"
+ :header-cell-style="{
+ background: '#F5F5F5',
+ 'font-weight': '650',
+ 'line-height': '45px'
+ }"
+ :data="tableData"
+ :row-class-name="tableRowClassName"
+ >
+ <el-table-column label="搴忓彿" type="index" width="60px">
+ </el-table-column>
+ <el-table-column
+ prop="acquit_at_str"
+ label="閲囬泦鏃堕棿"
+ min-width="150px"
+ >
+ </el-table-column>
+ <el-table-column
+ prop="fan_status_str"
+ label="椋庢満鐘舵��"
+ min-width="120px"
+ >
+ </el-table-column>
+ <el-table-column
+ prop="hydrocarbon_conc"
+ label="椋庢満鐢垫祦锛圓锛�"
+ min-width="120px"
+ >
+ </el-table-column>
+ <el-table-column
+ prop="filter_status"
+ label="鍑�鍖栧櫒鐘舵��"
+ min-width="95px"
+ >
+ </el-table-column>
+ <el-table-column
+ prop="emissions_conc"
+ label="娌圭儫娴撳害(mg/m鲁)"
+ min-width="180px"
+ >
+ </el-table-column>
+ <el-table-column
+ prop="granule_conc"
+ label="棰楃矑鐗╂祿搴�(mg/m鲁)"
+ min-width="180px"
+ >
+ </el-table-column>
+ <el-table-column
+ prop="hydrocarbon_conc"
+ label="闈炵敳鐑锋�荤儍娴撳害(mg/m鲁)"
+ min-width="190px"
+ >
+ </el-table-column>
+ <el-table-column prop="status" label="璁惧鐘舵��" width="120px">
+ </el-table-column>
+ </el-table>
+ </div>
+ <div class="tools">
+ <div class="pagination">
+ <el-pagination
+ background
+ @prev-click="handlePrev"
+ @next-click="handleNext"
+ :current-page="currentPage"
+ layout="prev, pager, next"
+ :total="totalNum"
+ :page-size="pageSize"
+ @current-change="changeCurrentPage"
+ >
+ </el-pagination>
+ </div>
+ </div>
+ </div>
</template>
<script>
+import statisticsApi from "@/api/smoke/statistics";
export default {
+ data() {
+ return {
+ currentPage: 1,
+ pageSize: 20,
+ totalNum: 0,
+ tableData: []
+ }
+ },
+ created() {
+ this.getRealTimeList();
+ },
+ methods: {
+ getRealTimeList() {
+ let param = {
+ field: "intimeData",
+ localeId: this.inTimeData.Lid
+ }
+ statisticsApi.getDocument(param).then(jsonStr => {
+ const res = JSON.parse(jsonStr)
+ let list = res.Data.content
+ list.forEach(o => {
+ o.acquit_at_str = this.dateFormat(
+ "YYYY-mm-dd HH:MM:SS",
+ new Date(o.acquit_at * 1000)
+ );
+ o.fan_status_str = o.fan_status == '1' ? '寮�' : '鍏�'
+ o.status = '杈炬爣'
+ });
+ this.tableData = list
+ this.totalNum = res.Data.total
+ })
+ },
+ // 璁剧疆琛ㄦ牸鏂戦┈绾�
+ tableRowClassName({ row, rowIndex }) {
+ if ((rowIndex + 1) % 2 === 0) {
+ return "warning-row";
+ } else {
+ return "success-row";
+ }
+ },
+ // 褰撳墠椤垫敼鍙樿Е鍙戜簨浠�
+ changeCurrentPage(page) {
+ this.currentPage = page;
+ this.getRealTimeList();
+ },
+ // 涓婁竴椤电偣鍑讳簨浠�
+ handlePrev(page) {
+ this.currentPage = page;
+ this.getRealTimeList();
+ },
+ // 涓嬩竴椤电偣鍑讳簨浠�
+ handleNext(page) {
+ this.currentPage = page;
+ this.getRealTimeList();
+ },
+ dateFormat(fmt, date) {
+ let ret;
+ const opt = {
+ "Y+": date.getFullYear().toString(), // 骞�
+ "m+": (date.getMonth() + 1).toString(), // 鏈�
+ "d+": date.getDate().toString(), // 鏃�
+ "H+": date.getHours().toString(), // 鏃�
+ "M+": date.getMinutes().toString(), // 鍒�
+ "S+": date.getSeconds().toString(), // 绉�
+ // 鏈夊叾浠栨牸寮忓寲瀛楃闇�姹傚彲浠ョ户缁坊鍔狅紝蹇呴』杞寲鎴愬瓧绗︿覆
+ };
+ for (let k in opt) {
+ ret = new RegExp("(" + k + ")").exec(fmt);
+ if (ret) {
+ fmt = fmt.replace(
+ ret[1],
+ ret[1].length == 1 ? opt[k] : opt[k].padStart(ret[1].length, "0")
+ );
+ }
+ }
+ return fmt;
+ },
+ },
+ props: ['inTimeData']
}
</script>
<style>
-
</style>
\ No newline at end of file
diff --git a/src/views/smoke/realTime/components/tenHourData.vue b/src/views/smoke/realTime/components/tenHourData.vue
index 17bcab3..28e89c2 100644
--- a/src/views/smoke/realTime/components/tenHourData.vue
+++ b/src/views/smoke/realTime/components/tenHourData.vue
@@ -1,13 +1,90 @@
<template>
-
+ <div style="width: 100%; overflow-x: scroll">
+ <el-table
+ border
+ stripe
+ ref="multipleTable"
+ :header-cell-style="{
+ background: '#F5F5F5',
+ 'font-weight': '650',
+ 'line-height': '45px'
+ }"
+ :data="tableData"
+ :row-class-name="tableRowClassName"
+ >
+ <el-table-column label="搴忓彿" type="index" width="60px">
+ </el-table-column>
+ <el-table-column prop="hour_str" label="鏃堕棿" min-width="150px">
+ </el-table-column>
+ <el-table-column
+ prop="emissions_conc"
+ label="娌圭儫鎶樼畻娴撳害"
+ min-width="120px"
+ >
+ </el-table-column>
+ <el-table-column
+ prop="granule_conc"
+ label="棰楃矑鐗╂姌绠楁祿搴�"
+ min-width="120px"
+ >
+ </el-table-column>
+ <el-table-column
+ prop="hydrocarbon_conc"
+ label="闈炵敳鐑锋姌绠楁祿搴�"
+ min-width="95px"
+ >
+ </el-table-column>
+ <el-table-column
+ prop="status_str"
+ label="鎺掓斁鐘舵��"
+ min-width="180px"
+ >
+ </el-table-column>
+ </el-table>
+ </div>
</template>
<script>
+import statisticsApi from "@/api/smoke/statistics";
export default {
+ data() {
+ return {
+ tableData: []
+ }
+ },
+ created() {
+ this.getData();
+ },
+ methods: {
+ getData() {
+ let param = {
+ field: "tenHourData",
+ localeId: this.inTimeData.Lid
+ }
+ statisticsApi.getDocument(param).then(jsonStr => {
+ const res = JSON.parse(jsonStr)
+ let list = res.Data.list
+ list.forEach(o => {
+ o.hour_str = o.hour + '-' + (o.hour + 1) + '鐐�'
+ o.status_str = o.status == '0' ? '杈炬爣' : '瓒呮爣'
+ o.status = '杈炬爣'
+ });
+ this.tableData = list
+ })
+
+ },
+ // 璁剧疆琛ㄦ牸鏂戦┈绾�
+ tableRowClassName({ row, rowIndex }) {
+ if ((rowIndex + 1) % 2 === 0) {
+ return "warning-row";
+ } else {
+ return "success-row";
+ }
+ },
+ },
+ props: ['inTimeData']
}
</script>
-
<style>
-
</style>
\ No newline at end of file
diff --git a/src/views/smoke/realTime/components/tenMinData.vue b/src/views/smoke/realTime/components/tenMinData.vue
index 17bcab3..5ea24df 100644
--- a/src/views/smoke/realTime/components/tenMinData.vue
+++ b/src/views/smoke/realTime/components/tenMinData.vue
@@ -1,13 +1,113 @@
<template>
-
+ <div id="mychart" class="echart-foot"></div>
</template>
<script>
+import * as echarts from "echarts";
+import statisticsApi from "@/api/smoke/statistics";
export default {
+ data() {
+ return {
+ echarts: null,
+ }
+ },
+ created() {
+ this.getData();
+ },
+ methods: {
+ getData() {
+ let param = {
+ field: "tenMinData",
+ localeId: this.inTimeData.Lid
+ }
+ statisticsApi.getDocument(param).then(jsonStr => {
+ const res = JSON.parse(jsonStr)
+ let list = res.Data
+
+ let myecharts = echarts.init(document.getElementById("mychart"));
+
+ let times = this.getTimer('2020-01-01 00:00:00', 10, 144);
+ let data1 = [] // 娌圭儫娴撳害
+ let data2 = [] // 棰楃矑鐗╂祿搴�
+ let data3 = [] // 闈炵敳鐑锋�荤儍娴撳害
+ times.forEach((o, index) => {
+ if (list[index]) {
+ data1.push(list[index].emissions_conc);
+ data2.push(list[index].granule_conc);
+ data3.push(list[index].hydrocarbon_conc);
+ }
+ else {
+ data1.push(0);
+ data2.push(0);
+ data3.push(0);
+
+ }
+ });
+ // 缁樺埗鍥捐〃
+ myecharts.setOption({
+ title: {
+ text: '骞冲潎娴撳害mg/m鲁'
+ },
+ tooltip: {
+ trigger: 'axis'
+ },
+ legend: {
+ data: ['娌圭儫娴撳害', '棰楃矑鐗╂祿搴�', '闈炵敳鐑锋�荤儍娴撳害']
+ },
+ xAxis: {
+ type: 'category',
+ boundaryGap: false,
+ data: times
+ },
+ yAxis: {
+ type: 'value'
+ },
+ series: [
+ {
+ name: '娌圭儫娴撳害',
+ data: data1,
+ stack: 'Total',
+ type: "line",
+ },
+ {
+ name: '棰楃矑鐗╂祿搴�',
+ data: data2, stack: 'Total',
+ type: "line"
+ },
+ {
+ name: '闈炵敳鐑锋�荤儍娴撳害', stack: 'Total',
+ data: data3,
+ type: "line"
+ },
+ ],
+ });
+
+ })
+
+ },
+
+ getTimer(start, Timer, length) {
+ var lists = [];
+ var count = 0; //鍒濆鍊间负0
+ for (let j = 0; j < length; j++) {
+ count += 1;
+ var seconds = Date.parse(start); //鏍囧噯鏃堕棿杞绉掓暟
+ var totals = j * Timer * 60 * 1000 + seconds; //鍥哄畾鏃堕棿闂撮殧+寮�濮嬫椂闂寸殑鎬绘绉掓暟
+ var res = new Date(totals).toString().split(' ')[4];//姣鏁拌浆瀛楃涓诧紝鎴彇锛屽彇鍊�
+
+ lists.push(res)
+ }
+ return lists;
+ }
+
+ },
+ props: ['inTimeData']
}
</script>
-
<style>
-
+.echart-foot {
+ height: 400px;
+ width: 100%;
+}
</style>
\ No newline at end of file
diff --git a/src/views/smoke/realTime/index.vue b/src/views/smoke/realTime/index.vue
index c220764..d705494 100644
--- a/src/views/smoke/realTime/index.vue
+++ b/src/views/smoke/realTime/index.vue
@@ -17,11 +17,11 @@
>
<el-table-column label="搴忓彿" type="index" width="60px">
</el-table-column>
- <el-table-column prop="Locale" label="鐩戞祴鐐�" width="120px">
+ <el-table-column prop="Locale" label="鐩戞祴鐐�" min-width="120px">
</el-table-column>
- <el-table-column prop="Addr" label="瀹夎鍦板潃" width="180px">
+ <el-table-column prop="Addr" label="瀹夎鍦板潃" min-width="180px">
</el-table-column>
- <el-table-column prop="AcquitAtStr" label="閲囬泦鏃堕棿" width="100px">
+ <el-table-column prop="AcquitAtStr" label="閲囬泦鏃堕棿" min-width="100px">
</el-table-column>
<el-table-column prop="FanStatusStr" label="椋庢満鐘舵��" width="80px">
</el-table-column>
@@ -67,11 +67,20 @@
</el-table-column>
<el-table-column prop="OnlineStatusStr" label="鏁翠綋鐘舵��" width="80px">
</el-table-column>
- <el-table-column prop="operation" label="鎿嶄綔" width="550px">
+ <el-table-column prop="operation" label="鎿嶄綔" width="180px">
<template slot-scope="scope">
<div class="operation">
- <span @click="handleDetectorDailySumDays(scope.row)"
- >涓�鐐逛竴妗�</span
+ <i class="el-icon-document" @click="handleDetectorDailySumDays(scope.row)" title="涓�鐐逛竴妗�"></i>
+ <span class="line">|</span>
+ <i class="el-icon-notebook-1" @click="handleIntimeData(scope.row)" title="鏌ョ湅姣忓垎閽熸暟鎹�"></i>
+ <span class="line">|</span>
+ <i class="el-icon-s-data" @click="handleTenMinData(scope.row)" title="鏌ョ湅10min娴撳害"></i>
+ <span class="line">|</span>
+ <i class="el-icon-data-analysis" @click="handleTenHourData(scope.row)" title="鏌ョ湅灏忔椂鎶樼畻娴撳害"></i>
+ <span class="line">|</span>
+ <i class="el-icon-monitor" @click="handleDevices(scope.row)" title="鐩戞祴鐐硅澶囩鐞�"></i>
+ <!-- <span @click="handleDetectorDailySumDays(scope.row)"
+ ></span
>
<span class="line">|</span>
<span @click="handleIntimeData(scope.row)">鏌ョ湅姣忓垎閽熸暟鎹�</span>
@@ -82,7 +91,7 @@
>鏌ョ湅灏忔椂鎶樼畻娴撳害</span
>
<span class="line">|</span>
- <span @click="handleDevices(scope.row)">鐩戞祴鐐硅澶囩鐞�</span>
+ <span @click="handleDevices(scope.row)">鐩戞祴鐐硅澶囩鐞�</span> -->
</div>
</template>
</el-table-column>
@@ -109,6 +118,7 @@
width="80%"
>
<DetectorDailySumDays
+ title="涓�鐐逛竴妗�"
v-if="dialogDetectorDailySumDays"
@closeDialog="closeDialog"
:inTimeData="inTimeData"
@@ -123,6 +133,7 @@
>
<IntimeData
v-if="dialogIntimeData"
+ title="鍒嗛挓閲囬泦鏁版嵁"
@closeDialog="closeDialog"
:inTimeData="inTimeData"
></IntimeData>
@@ -136,6 +147,7 @@
>
<TenMinData
v-if="dialogTenMinData"
+ title="10min娴撳害鏇茬嚎"
@closeDialog="closeDialog"
:inTimeData="inTimeData"
></TenMinData>
@@ -143,6 +155,7 @@
<el-dialog
:destroy-on-close="true"
+ title="灏忔椂鎶樼畻娴撳害"
:visible.sync="dialogTenHourData"
width="80%"
>
@@ -156,6 +169,7 @@
<el-dialog
:destroy-on-close="true"
+ title="鐩戞祴鐐硅澶囩鐞�"
:visible.sync="dialogDevices"
width="80%"
>
@@ -409,11 +423,14 @@
.el-table {
.operation {
display: flex;
- color: var(--operation-color);
+ // color: var(--operation-color);
.line {
padding: 0 5px;
}
+ font-size: 20px;
+ cursor: pointer;
+ color: #666;
span:hover {
cursor: pointer;
}
--
Gitblit v1.8.0