From e635b5b4edab0a000a0af533b6b36f7300c5fa42 Mon Sep 17 00:00:00 2001 From: quanyawei <401863037@qq.com> Date: Fri, 02 Feb 2024 10:07:00 +0800 Subject: [PATCH] fix:断线监控 --- src/views/onlineRate/index.vue | 81 +++++++++++++++++++++++++++------------- 1 files changed, 55 insertions(+), 26 deletions(-) diff --git a/src/views/onlineRate/index.vue b/src/views/onlineRate/index.vue index a8d6d0a..abe1530 100644 --- a/src/views/onlineRate/index.vue +++ b/src/views/onlineRate/index.vue @@ -19,22 +19,6 @@ /> </el-select> </el-form-item> - <el-form-item label="������:"> - <el-select - v-model="formInline.state" - clearable - placeholder="������������" - > - <el-option - label="������" - value="1" - /> - <el-option - label="������" - value="0" - /> - </el-select> - </el-form-item> <el-form-item> <el-radio-group v-model="time" @@ -58,6 +42,22 @@ @change="changeDay" /> </el-form-item> + <el-form-item label="������������:"> + <el-select + v-model="formInline.hourState" + clearable + placeholder="������������" + > + <el-option + label="������" + value="1" + /> + <el-option + label="������" + value="0" + /> + </el-select> + </el-form-item> <el-form-item> <el-button type="primary" @@ -69,7 +69,7 @@ </el-form> </div> <div> - <p>���������������{{ tableData.length }}������������ {{ onlineData }}��������������� <span :class=" onlineRate<90 ?'redClor':'greenClor'">{{ onlineRate }}%</span></p> + <p>���������������������<span class="greenClor">{{ macOnlineData.sum }}</span>������������<span class="greenClor">{{ macOnlineData.online }}</span>��������������� <span :class="Number(macOnlineData.onlineRate)<90 ?'redClor':'greenClor'">{{ macOnlineData.onlineRate }}%</span></p> <div> <el-table v-loading="loading" @@ -131,7 +131,11 @@ label="���������" width="100px" align="center" - /> + > + <template slot-scope="scope"> + <span :class=" scope.row.onlineRate<90 ?'redClor':'greenClor'">{{ scope.row.onlineRate }}%</span> + </template> + </el-table-column> <el-table-column prop="onlineTime" label-class-name="itemSpan" @@ -140,15 +144,15 @@ align="center" /> <el-table-column - prop="state" + prop="hourState" label-class-name="itemSpan" - label="������" - width="80px" + label="������������" + width="90px" align="center" > <template slot-scope="scope"> <el-button - v-if="scope.row.state === '0'" + v-if="scope.row.hourState === '0'" style="color:red;font-size:15px" type="text" > @@ -195,6 +199,7 @@ <script> import dayjs from 'dayjs' import detailBox from '@/views/onlineRate/detailBox' +import _ from 'lodash' export default { components: { detailBox @@ -203,12 +208,15 @@ return { formInline: { organizationId: '', + hourState: '', + state: '', startTime: dayjs().startOf('day').format('YYYY-MM-DD HH:mm'), endTime: dayjs().subtract(1, 'hour').format('YYYY-MM-DD HH:mm') }, time: '������', selectTime: '', macDate: {}, + macOnlineData: {}, orgData: [], tableData: [], handleShow: false, @@ -252,7 +260,7 @@ return this.tableData.filter(item => item.state !== '0').length || 0 }, onlineRate () { - return Math.floor((this.onlineData / this.tableData.length) * 100) || 0 + return (this.onlineData / this.tableData.length) * 100 || 0 } }, watch: { @@ -272,7 +280,8 @@ this.formInline.startTime = now.subtract(7, 'day').format('YYYY-MM-DD HH:mm') // ��������������������� } else if (newValue === '������') { this.selectTime = [] - this.formInline.startTime = now.format('YYYY-MM-DD HH:mm') + console.log('000', dayjs().startOf('day').format('YYYY-MM-DD HH:mm')) + this.formInline.startTime = dayjs().startOf('day').format('YYYY-MM-DD HH:mm') } } }, @@ -289,12 +298,17 @@ handleDetail (row) { console.log(row) this.handleShow = true - this.macDate = row + this.macDate = _.cloneDeep(row) this.macDate.startTime = this.formInline.startTime this.macDate.endTime = this.formInline.endTime }, handleSearch () { + this.getOnlineData() if (this.formInline.organizationId !== '') { + if (this.time === '������') { + this.formInline.startTime = dayjs().startOf('day').format('YYYY-MM-DD HH:mm') + this.formInline.endTime = dayjs().subtract(1, 'hour').format('YYYY-MM-DD HH:mm') + } this.loading = true this.$request({ url: '/onlineRate/page', @@ -304,7 +318,7 @@ } }) .then(res => { - this.tableData = res.data + this.tableData = res.data || [] this.loading = false }) .catch(err => { @@ -314,6 +328,21 @@ this.$message.warning('���������������������������') } }, + getOnlineData () { + this.$request({ + url: '/onlineRate/state', + method: 'get', + params: { + organizationId: this.formInline.organizationId + } + }) + .then(res => { + this.macOnlineData = res.data + }) + .catch(err => { + console.log(err) + }) + }, getOrganizationId () { this.$request({ url: '/organization/getOrganizationId', -- Gitblit v1.8.0