<template> <!-- 报警分析统计 --> <div class="alarmAnaly"> <!-- 表格 --> <div class="tableBox animate__animated animate__zoomIn" v-if="tableData.length > 0"> <el-table v-loading="tableLoading" :data="tableData"> <el-table-column label="站点编号" prop="stCode" /> <el-table-column label="监测指标" prop="warnFactorName" /> <el-table-column label="监测值" prop="warnFactorValueName"> <template #default="{ row }"> <span>{{ row.warnFactorValueName }}</span> <!-- <span>{{ row.warnFactorValueName.substring(1, row.warnFactorValueName.length - 1) }}</span> --> </template> </el-table-column> <el-table-column label="警情类别" prop="warnLevel"> <template #default="scope"> <span>{{ scope.row.warnLevel == 'warn' ? '告警' : scope.row.warnLevel == 'early_warn' ? '预警' : '--' }}</span> </template> </el-table-column> <el-table-column label="警情阀值" prop="warnFormulaName" /> <el-table-column label="预警/报警数" prop="warnCount" /> <el-table-column label="累计预警时长(H)" prop="continueMinute" /> <!-- <el-table-column label="警情状态" prop="jobId" /> --> <el-table-column label="通讯时间" prop="warnDatetime" /> </el-table> <Pagination v-show="total > 0" :total="total" v-model:page="queryParams.pageNo" v-model:limit="queryParams.pageSize" @pagination="getList" /> </div> <!-- 暂无数据 --> <el-empty v-loading="tableLoading" :image-size="200" v-if="tableData.length == 0" /> </div> </template> <script setup> import { getAlarmAnalysis } from '@/api/dataAnalysis/syntherticData'; const props = defineProps({ searchDate: Array, stationCode: String, }); const { proxy } = getCurrentInstance(); const queryParams = reactive({ pageNo: 1, pageSize: 10, start: props.searchDate ? props.searchDate[0] : '', end: props.searchDate ? props.searchDate[1] : '', }); const total = ref(0); const tableData = ref([]); const tableLoading = ref(false); // 获取列表数据 function getList(code) { // console.log('报警分析---', props.stationCode); tableLoading.value = true; let params = { startTime: props.searchDate ? props.searchDate[0] : '', endTime: props.searchDate ? props.searchDate[1] : '', stCode: code, }; getAlarmAnalysis(params).then(res => { tableData.value = res.data; total.value = res.total; tableLoading.value = false; }); } // 初始化 onMounted(() => { getList(props.stationCode); }); defineExpose({ getList, }); onBeforeUnmount(() => {}); </script> <style lang="scss"> .alarmAnaly { width: 100%; .tableBox { .el-pagination { right: 25%; } .el-scrollbar { height: calc(100vh - 650px); } } } </style>