<template> <div class="data-watch"> <el-card class="box-card"> <div class="lcl-title">实时预报警</div> <div class="mt20"> <el-select v-model="queryParams.monType" placeholder="请选择设备类型" class="mr10" clearable @change="divSelectChange" > <el-option v-for="item in SelectOptions" :key="item.value" :label="item.label" :value="item.value" > </el-option> </el-select> <!-- <el-button type="primary" icon="el-icon-search" size="medium" @click="handleQuery" >搜索</el-button > --> <!-- <el-button size="medium" @click="makeChart">生成曲线</el-button> --> </div> </el-card> <el-card class="mt10 box-card"> <div class="lcl-title">预警报警数据列表</div> <div class="mt10" id=" radar-table"> <el-table :data="NbwyTableData" border stripe style="width: 100%" :header-cell-style="{ textAlign: 'center', height: '20px', }" :row-style="{ height: '20px' }" > <el-table-column align="center" type="index" width="50" label="序号"> </el-table-column> <el-table-column align="center" prop="monNumber" label="监测编号"> </el-table-column> <el-table-column align="center" prop="pointName" label="监测点位"> </el-table-column> <el-table-column align="center" prop="monDept" label="深度"> </el-table-column> <el-table-column align="center" prop="monValueA" label="监测值-a"> </el-table-column> <el-table-column align="center" prop="monValueB" label="监测值-b"> </el-table-column> <el-table-column align="center" prop="monDept" label="位移值(mm)"> </el-table-column> <el-table-column align="center" prop="monAlarmLevel" label="预警状态"> </el-table-column> <el-table-column align="center" prop="createTime" label="监测时间"> </el-table-column> <el-table-column align="center" prop="monStatus" label="工作状态"> <template slot-scope="scope"> <span v-if="scope.row.monStatus == 0">正常</span> <span v-if="scope.row.monStatus == 1">停止</span> </template> </el-table-column> </el-table> <!-- <pagination v-show="total > 0" :total="total" :page.sync="queryParams.pageNum" :limit.sync="queryParams.pageSize" @pagination="getList" /> --> </div> </el-card> <el-dialog title="" :visible.sync="dialogVisibleChart" width="50%"> <div class="chart"> <ChartsForLine :ChartsForLineParant="chartAllData" class="nbnb" /> </div> </el-dialog> </div> </template> <script> import ChartsForLine from "@/components/lclEcharts/ChartsForLine"; import { dataAlarmreal, monDic } from "@/api/lclApi/lclapi"; export default { components: { ChartsForLine, }, data() { return { // 遮罩层 loading: true, deviceSelectList: [ { monName: "1-1测斜仪", monNumber: "1-1测斜仪", }, ], monNumber: "", // 查询参数 queryParams: { pageNum: 1, pageSize: 999999, monType: null, }, // 总条数 total: 0, NbwyTableData: [ { createTime: "2023-03-11 19:06:20", updateTime: "2023-03-11 08:38:13", monStatus: 0, pointName: 0, id: 14, monNumber: "2#沉降仪", monValueA: "0.2", monValueB: "0.21", monAlarmStatus: 0, monDept: "10m/20m", }, ], dialogVisibleChart: false, chartAllData: { legendItem: ["a", "b"], xAxisData: ["q", "p"], yData: [], chartId: "chart", color: ["#f7af0b", "#05f57a", "#f40852"], chartType: "line", axisLabel: "#0562AF", itemColor: "rgba(42,148,226,1)", unit: "mm", bgc: "#fff", grid: { left: "10%", right: "5%", bottom: "10%", top: "15%", z: 22, }, showlegend: false, }, SelectOptions: [ { label: "表面位移", value: "1" }, { label: "内部位移", value: "2" }, { label: "地表裂缝", value: "3" }, { label: "支护结构", value: "4" }, { label: "土(墙)体土压力", value: "5" }, { label: "地下水位", value: "6" }, { label: "渗水压力", value: "7" }, { label: "爆破振动", value: "8" }, { label: "智能监测机器人", value: "9" }, { label: "降雨量", value: "10" }, { label: "地面隆起", value: "11" }, ], }; }, created() { this.dialogVisibleChart = true; }, mounted() { this.$nextTick(() => { this.dialogVisibleChart = false; // this.monDicData(); this.getList(); }); }, methods: { /** 搜索按钮操作 */ handleQuery() {}, // getRealList() { // displacementreal().then((res) => { // if (res && res.code === 200 && res.rows) { // this.NbwyTableData = res.rows; // this.total = res.total; // } // }); // }, //当前表格 getList() { let that = this; dataAlarmreal(this.queryParams).then((res) => { if (res && res.code === 200 && res.rows) { this.NbwyTableData = res.rows; this.total = res.total; } }); // .then(() => { // that.chartAllData.legendItem = []; // that.chartAllData.xAxisData = []; // that.chartAllData.yData = []; // that.chartAllData.legendItem = that.NbwyTableData.map( // (v) => v.monName // ); // that.chartAllData.xAxisData = that.NbwyTableData.map( // (v) => v.createTime // ); // let aaa = that.NbwyTableData.map((v) => Number(v.disValue)); // that.chartAllData.yData.push(aaa); // // for(let i=0;i<that.chartAllData.length;i++){ // // that.chartAllData.yData.push // // } // }); }, // 数据监测: 设备管理 monDicData() { monDic({ monType: 2 }).then((res) => { if (res && res.code === 200 && res.rows) { this.deviceSelectList = res.rows; } }); }, //下拉框 divSelectChange(e) { console.log(e); this.queryParams.monType = e; this.queryParams.pageNum = 1; this.getList(); }, makeChart() { if (this.queryParams.monType) { this.getList(); this.dialogVisibleChart = true; } else { this.$modal.msgWarning("请选择设备查看"); } }, }, }; </script> <style lang="scss" scoped> .data-watch { width: 100%; min-height: 100%; // border-radius: 10px; // background-color: teal; .box-card { width: 100%; .lcl-title { font-size: 22px; font-family: Source Han Sans CN; font-weight: 400; color: #333333; line-height: 30px; position: relative; padding-left: 10px; &:before { content: ""; position: absolute; left: 0px; top: 4px; width: 6px; height: 22px; background: #0d85f4; } } } } .chart { width: 100%; min-height: 70vh; border: 1px solid teal; overflow: hidden; .nbnb { width: 100%; height: 70vh !important; } } </style>