No Description

index.vue 3.5KB

    <template> <div class="dashboard-editor-container"> <el-card class="box-card block-group"> <div slot="header" class="block-title"> <el-date-picker v-model="valueDate" type="date" value-format="yyyyMMdd" @change="changeDate"> </el-date-picker> <el-button type="primary" @click="getMonitorByDay">查询</el-button> </div> <el-row class="line-chart-box" v-if="alarmList.length"> <el-col :xs="24" :sm="24" :lg="24" v-for="item in alarmShowList" :key="item.index"> <lineChart2 :chartData="item"></lineChart2> </el-col> </el-row> <DefaultPage v-if="!alarmList.length"></DefaultPage> <div class="pagination-container"> <el-pagination background @current-change="handleCurrentChange" :current-page="pageNo" :page-size="pageSize" layout="prev, pager, next, jumper" :total="alarmList.length"> </el-pagination> </div> </el-card> </div> </template> <script> import '@/styles/roleuser.scss' import Cookies from 'js-cookie' import queryInfo from '@/utils/queryInfo' import { parseTime } from '@/utils' import { getMonitorByDay } from '@/api/bridgeInfo' import lineChart2 from '../lineChart/LineChart2' import DefaultPage from '@/components/DefaultPage' export default { data() { return { bridgeId: '', valueDate: new Date().toISOString().substring(0, 10).replace(/-/g, ''), serverSeqArr: [], alarmList: [], pageSize: 2, pageNo: 1 } }, components: { lineChart2, DefaultPage }, computed: { alarmShowList() { return this.alarmList.slice((this.pageNo - 1) * this.pageSize, this.pageNo * this.pageSize) } }, created() { this.bridgeId = Cookies.get('bridgeId') this.serverSeqArr = queryInfo.queryServers(this.bridgeId, true) if (this.serverSeqArr.length) { this.getMonitorByDay(this.serverSeqArr) } }, methods: { getMonitorByDay(arr) { var that = this var date = that.valueDate var param = { seq: arr, day: date } getMonitorByDay(param).then(res => { if (res.success && res.data) { var monitorList = [] for (let i = 0; i < res.data.length; i++) { var str = res.data[i].cid var monitorData = null for (let j = 0; j < monitorList.length; ++j) { if (str === monitorList[j].tit) { monitorData = monitorList[j] break } } if (!monitorData) { monitorData = { xData: [], seData: { max: [], min: [] } } monitorList.push(monitorData) monitorData.tit = str } monitorData.xData.push(parseTime(res.data[i].ctime, true, true)) monitorData.seData.max.push(res.data[i].hvalue) monitorData.seData.min.push(res.data[i].lvalue) } that.alarmList = monitorList } }) }, changeDate(val) { this.valueDate = val this.getMonitorByDay() }, handleCurrentChange(val) { this.pageNo = val } } } </script> <style rel="stylesheet/scss" lang="scss" scoped> .dashboard-editor-container .block-group .block-title{ justify-content: flex-start; .el-button{ padding: 12px 20px; margin-left: 15px; } } </style>