|
@@ -45,7 +45,6 @@
|
|
|
</el-row>
|
|
|
</ul>
|
|
|
</header>
|
|
|
-
|
|
|
<section class="section">
|
|
|
<el-date-picker
|
|
|
v-model="value2"
|
|
@@ -58,12 +57,14 @@
|
|
|
align="right"
|
|
|
class="date-picker"
|
|
|
></el-date-picker>
|
|
|
- <article></article>
|
|
|
+ <article v-if="dateArr.length > 0">
|
|
|
+ <chart-a :dateArr="dateArr" :data="animalTempArr" class="charts"></chart-a>
|
|
|
+ <chart-b :dateArr="dateArr" :data="envTempArr" class="charts"></chart-b>
|
|
|
+ <chart-c :dateArr="dateArr" :data="batteryArr" class="charts"></chart-c>
|
|
|
+ </article>
|
|
|
+ <p v-else class="hint"> 当前时间段无数据... </p>
|
|
|
</section>
|
|
|
-
|
|
|
- <chart-a></chart-a>
|
|
|
- <hr />
|
|
|
- <chart-b :options="options"></chart-b>
|
|
|
+
|
|
|
</div>
|
|
|
</template>
|
|
|
|
|
@@ -71,75 +72,135 @@
|
|
|
import { reqReportList } from "@/api/groupManagment";
|
|
|
|
|
|
import chart from "./charts/chart";
|
|
|
-import chart_a from "./charts/chart1";
|
|
|
-import chart_b from "./charts/chart2";
|
|
|
+import chart_a from "./charts/chart_a";
|
|
|
+import chart_b from "./charts/chart_b";
|
|
|
+import chart_c from "./charts/chart_c";
|
|
|
import ae from "./charts/Ae";
|
|
|
|
|
|
const pickerOptions = {
|
|
|
shortcuts: [
|
|
|
{
|
|
|
- text: "最近一周",
|
|
|
+ text: "最近一小时",
|
|
|
onClick(picker) {
|
|
|
const end = new Date();
|
|
|
const start = new Date();
|
|
|
- start.setTime(start.getTime() - 3600 * 1000 * 24 * 7);
|
|
|
+ start.setTime(start.getTime() - 3600 * 1000 * 1);
|
|
|
+ picker.$emit("pick", [start, end]);
|
|
|
+ }
|
|
|
+ },
|
|
|
+ {
|
|
|
+ text: "最近半天",
|
|
|
+ onClick(picker) {
|
|
|
+ const end = new Date();
|
|
|
+ const start = new Date();
|
|
|
+ start.setTime(start.getTime() - 3600 * 1000 * 12);
|
|
|
+ picker.$emit("pick", [start, end]);
|
|
|
+ }
|
|
|
+ },
|
|
|
+ {
|
|
|
+ text: "最近一天",
|
|
|
+ onClick(picker) {
|
|
|
+ const end = new Date();
|
|
|
+ const start = new Date();
|
|
|
+ start.setTime(start.getTime() - 3600 * 1000 * 24);
|
|
|
picker.$emit("pick", [start, end]);
|
|
|
}
|
|
|
},
|
|
|
{
|
|
|
- text: "最近一个月",
|
|
|
+ text: "最近三天",
|
|
|
onClick(picker) {
|
|
|
const end = new Date();
|
|
|
const start = new Date();
|
|
|
- start.setTime(start.getTime() - 3600 * 1000 * 24 * 30);
|
|
|
+ start.setTime(start.getTime() - 3600 * 1000 * 24 * 3);
|
|
|
picker.$emit("pick", [start, end]);
|
|
|
}
|
|
|
},
|
|
|
{
|
|
|
- text: "最近三个月",
|
|
|
+ text: "最近一周",
|
|
|
onClick(picker) {
|
|
|
const end = new Date();
|
|
|
const start = new Date();
|
|
|
- start.setTime(start.getTime() - 3600 * 1000 * 24 * 90);
|
|
|
+ start.setTime(start.getTime() - 3600 * 1000 * 24 * 7);
|
|
|
picker.$emit("pick", [start, end]);
|
|
|
}
|
|
|
}
|
|
|
]
|
|
|
};
|
|
|
|
|
|
+// 格式 20200718 00:00:00
|
|
|
+const formatTime = function(time) {
|
|
|
+ let FullYear = time.getFullYear(),
|
|
|
+ Month = time.getMonth()<9?"0"+(time.getMonth()+1):time.getMonth(),
|
|
|
+ Day = time.getDate()<9?"0"+time.getDate():time.getDate(),
|
|
|
+ Time = time.toTimeString().substr(0,8)
|
|
|
+ return FullYear + Month + Day +' ' +Time
|
|
|
+}
|
|
|
+
|
|
|
export default {
|
|
|
name: "UnityTrace",
|
|
|
components: {
|
|
|
// chart,
|
|
|
"chart-a": chart_a,
|
|
|
- "chart-b": chart_b
|
|
|
+ "chart-b": chart_b,
|
|
|
+ "chart-c": chart_c,
|
|
|
},
|
|
|
data() {
|
|
|
return {
|
|
|
- options: {
|
|
|
- a: 9,
|
|
|
- b: 8
|
|
|
- },
|
|
|
+ dateArr: [],
|
|
|
+ animalTempArr: [],
|
|
|
+ envTempArr: [],
|
|
|
+ batteryArr: [],
|
|
|
pickerOptions,
|
|
|
- value2: null
|
|
|
+ value2: null,
|
|
|
+ timer_1: null,
|
|
|
+ SData: formatTime( new Date(new Date().getTime() - 3600 * 1000 * 6) ), // 默认最近六小时
|
|
|
+ EData: formatTime( new Date() )
|
|
|
};
|
|
|
},
|
|
|
- created() {},
|
|
|
+ created() {
|
|
|
+ // 一分钟更新一次 后端10分钟更新一次数据
|
|
|
+ this.getReportList({start:this.SData, end:this.EData})
|
|
|
+ this.timer_1 = setInterval(() => {
|
|
|
+ // this.getReportList({start:this.SData, end:this.EData})
|
|
|
+ console.log("getReportList")
|
|
|
+ }, 1000 * 60);
|
|
|
+ },
|
|
|
mounted() {},
|
|
|
- beforeDestroy() {},
|
|
|
+ beforeDestroy() {
|
|
|
+ window.clearInterval(this.timer_1)
|
|
|
+ },
|
|
|
methods: {
|
|
|
// 事件选择器值改变
|
|
|
pickerChange(value) {
|
|
|
- console.log(value);
|
|
|
+ let SData = formatTime(value[0])
|
|
|
+ let EData = formatTime(value[1])
|
|
|
+ this.SData = SData
|
|
|
+ this.EData = EData
|
|
|
+ console.log(SData, EData)
|
|
|
+ this.getReportList({start: SData, end: EData})
|
|
|
},
|
|
|
// 请求个体数据
|
|
|
- getReportList() {
|
|
|
- reqReportList()
|
|
|
+ getReportList(data) {
|
|
|
+ reqReportList(data)
|
|
|
.then(res => {
|
|
|
- console.log(res);
|
|
|
+ let dateArr = [],
|
|
|
+ animalTempArr = [],
|
|
|
+ envTempArr = [],
|
|
|
+ batteryArr = []
|
|
|
+ res.forEach((item, index) => {
|
|
|
+ dateArr.push(item.created)
|
|
|
+ animalTempArr.push(item.animalTemp)
|
|
|
+ batteryArr.push(item.battery*100)
|
|
|
+ envTempArr.push(item.envTemp)
|
|
|
+ });
|
|
|
+ this.dateArr = dateArr
|
|
|
+ this.animalTempArr = animalTempArr
|
|
|
+ this.envTempArr = envTempArr
|
|
|
+ this.batteryArr = batteryArr
|
|
|
+
|
|
|
})
|
|
|
.catch(err => {
|
|
|
- console.log("登录失败", err);
|
|
|
+ console.log( err);
|
|
|
});
|
|
|
},
|
|
|
}
|
|
@@ -175,6 +236,16 @@ export default {
|
|
|
margin-top: 30px;
|
|
|
margin-bottom: 20px;
|
|
|
}
|
|
|
+ .charts{
|
|
|
+ border-top: 1px solid #ccc;
|
|
|
+ padding-top: 25px;
|
|
|
+ }
|
|
|
+ .hint{
|
|
|
+ color: #555;
|
|
|
+ font-size: 25px;
|
|
|
+ padding-left: 25%;
|
|
|
+ padding-top: 30px;
|
|
|
+ }
|
|
|
}
|
|
|
}
|
|
|
</style>
|