<template> <!-- 关联监测 --> <div class="guanlianjianceHeHu flex"> <!-- <div class="leftBtn flex flex-v flex-justcontent-spacearound"> <div class="btnClass" :class="item.value==activeValue?'activeBtn':'' " v-for="(item) in tabList" :key="item.value" @click="tabGLClick(item)">{{item.label}}</div> </div> --> <div class="flex-1 GLJCform"> <el-form :model="Search_form" label-width="auto" :inline="true"> <el-form-item label="监测点"> <el-select v-model="Search_form.stCode" @change="searchFun"> <el-option v-for="item in AllData.paikou" :key="item.stCode" :label="item.stName" :value="item.stCode" /> </el-select> </el-form-item> <el-form-item label="监测时间"> <el-date-picker @change="searchFun" v-model="Search_form.Timers" type="datetimerange" range-separator="至" :clearable="false" format="YYYY-MM-DD HH:mm" value-format="YYYY-MM-DD HH:mm" start-placeholder="开始时间" end-placeholder="结束时间" /> </el-form-item> <el-form-item> <el-button color="#0B9BFF" :icon="Search" @click="searchFun">搜索</el-button> </el-form-item> </el-form> <!-- <div class="popUpTable" v-loading="loading" element-loading-background="rgba(11, 18, 52, 0.3)"> <el-table :data="AllData.tableData" class="" stripe> <el-table-column prop="tt" label="观测时间"> </el-table-column> <el-table-column prop="zvalue" label="水位(m)" /> <el-table-column prop="time" label="水位趋势"> <template #default="scope"> <div v-html="scope.row.zvalueTrend"></div> </template> </el-table-column> <el-table-column prop="zamplitude" label="幅度" /> </el-table> <div class="paginationBox"> <el-pagination v-if="Search_form.query.total>0" layout="total, sizes, prev, pager, next, jumper" :page-size="Search_form.query.pageSize" :total="Search_form.query.total" @size-change="handleSizeChange" @current-change="handleCurrentChange" /> </div> </div> --> <div class="ChartHeight" v-loading="loadingEchart" element-loading-background="rgba(11, 18, 52, 0.3)"> <MonitoringAnalysisChart v-if="isEchart" :refresh="chartInfo2.refresh" :DataName="chartInfo2.DataName" :XAxis="chartInfo2.XAxis" :YAxis="chartInfo2.YAxis" :typeName="chartInfo2.typeName" :typeName2="chartInfo2.typeName2" :YAxis2="chartInfo2.YAxis2" :marklineJYL="chartInfo2.marklineJYL" :marklineSS="chartInfo2.marklineSS" XnameTop="-480" /> </div> </div> </div> </template> <script setup name="guanlianjianceHeHu"> import {ref,reactive,onMounted} from "vue" import { Search } from "@element-plus/icons-vue"; import { siteHistoryMonitorDataAnalysis } from '@/api/FloodControlAndDrainage'; import { getRELAList,getEchart } from '@/api/MonitorAssetsOnMap'; import MonitoringAnalysisChart from './MonitoringAnalysisChart.vue'; import moment from 'moment'; const { proxy } = getCurrentInstance(); const props = defineProps({ Getproperties:{ type: Object, } }); const loading=ref(false) const activeValue=ref('SW') const tabList=ref([ { label:'河湖水位监测', value:'SW' }, // { // label:'河湖水质监测', // value:'SZ' // }, ]) const AllData = reactive({ paikou:[], tableData:[] }) const Search_form = reactive({ stCode: "", Timers: [ moment().subtract(3, "day").format("YYYY-MM-DD HH:mm:ss"), moment().format("YYYY-MM-DD HH:mm:ss"), ], query: { pageNum: 1, pageSize: 10, total: 0, }, }); function searchFun(){ Search_form.query.pageNum=1 Search_form.query.pageSize=10 getDataEchart() } const tabGLClick=(e)=>{ activeValue.value=e.value } // 获取对应排口 function getpaikouData(){ let params={ dataCode:'lake_info', dataId:props.Getproperties.id } getRELAList(params).then(res => { if (res && res.code == 200) { AllData.paikou=res.data if(res.data?.length>0){ Search_form.stCode=res.data?.[0].stCode // getTableList() getDataEchart() } } }) } function getTableList(){ loading.value=true let params={ stCode:Search_form.stCode, // stCode:'0201460310', startTime:Search_form.Timers[0], endTime:Search_form.Timers[1], pageSize:Search_form.query.pageSize, pageNum:Search_form.query.pageNum, } siteHistoryMonitorDataAnalysis(params).then(res => { loading.value=false if (res && res.code == 200) { Search_form.query.total=res.total AllData.tableData=res.data } },(error)=>{ loading.value=false }) } const handleSizeChange = (val) => { Search_form.query.pageSize = val; console.log(Search_form.query); getTableList() }; const handleCurrentChange = (val) => { Search_form.query.pageNum = val; console.log(Search_form.query); getTableList() }; const chartInfo2=ref({ refresh: 1, // DataName: "", XAxis: [ ], typeName: '5分钟降雨量(mm)', typeName2: '水深(m)', YAxis: [], YAxis2: [], loading: false, marklineJYL:[], marklineSS:[], }) let isEchart=ref(false) let loadingEchart=ref(false) function getDataEchart(){ loadingEchart.value=true let params={ stType:props.Getproperties.stType, stCode:Search_form.stCode, start:Search_form.Timers[0], end:Search_form.Timers[1], } console.log('params',params); getEchart(params).then(res => { isEchart.value=true let res1={ "code":200, "msg":"操作成功", "data":{ "datas":[ { "dataKey":"z", "dataName":"黄海水位", "unit":"(m)", "datas":['0','0','1','0','2','0.5','0','0','0','0.2'], "cordonLineList":[ { "id":"1856620587907244131", "cordonId":"1856647503229968394", "lineName":"正常蓄水位", "lineValue":"1.3", "lineType":"2", "lineColor":"rgba(0, 255, 68, 1)", "systemDefault":"0", "code":"normal_water_level", "stConfig":"z", "calcType":"2", "relateRainSiteSt":"4201110002" }, { "id":"1856620587932409132", "cordonId":"1856647503229968394", "lineName":"设计洪水位", "lineValue":"1.8", "lineType":"1", "lineColor":"rgba(221, 255, 0, 1)", "systemDefault":"0", "code":"design_flood_level", "stConfig":"z", "calcType":"2", "relateRainSiteSt":"4201110002" }, { "id":"1856620587936604135", "cordonId":"1856647503229968394", "lineName":"校核洪水位", "lineValue":"1.98", "lineType":"1", "lineColor":"rgba(255, 191, 0, 1)", "systemDefault":"0", "code":"verify_flood_level", "stConfig":"z", "calcType":"2", "relateRainSiteSt":"4201110002" }, { "id":"1856620587936604134", "cordonId":"1856647503229968394", "lineName":"坝顶高程", "lineValue":"2.8", "lineType":"1", "lineColor":"rgba(255, 81, 0, 1)", "systemDefault":"0", "code":"dam_hight", "stConfig":"z", "calcType":"2", "relateRainSiteSt":"4201110002" } ] }, { "dataKey":"pn05", "dataName":"降雨量", "unit":"mm", "datas":['10','5','11','2','2','20','15','0','0','0.2'], "cordonLineList":[ ] } ], "times":['1732291200000','1732291200000','1732291800000','1732292100000','1732292400000','1732292700000','1732293000000','1732293300000','1732293600000','1732293900000',] } } console.log('监测分析统计res',res); loadingEchart.value=false if (res && res.code == 200) { let data=res.data let pn05Arr= data.datas.find(item => item.dataKey == 'pn05')||[] //降雨 let zArr= data.datas.find(item => item.dataKey == 'z')||[] //水深 if(pn05Arr){ chartInfo2.value.YAxis=pn05Arr.datas chartInfo2.value.marklineJYL=pn05Arr.cordonLineList } if(zArr){ chartInfo2.value.YAxis2=zArr.datas chartInfo2.value.marklineSS=zArr.cordonLineList } chartInfo2.value.XAxis=data.times // console.log('chartInfo2123',chartInfo2.value); chartInfo2.value.refresh = Math.random(); } },(error)=>{ loadingEchart.value=false }) } onMounted(() => { console.log('props.Getproperties.id',props.Getproperties); getpaikouData() if(props.Getproperties.daterange){ Search_form.Timers=props.Getproperties.daterange } }); </script> <style lang="scss" scoped> .guanlianjianceHeHu { height: 100%; padding:0 15px; .leftBtn { min-width: 120px; height: 100%; border-right: 1px solid #0d2359; padding-right: 10px; box-sizing: border-box; .btnClass { width: 100%; height: 40px; line-height: 40px; text-align: center; border: 1px solid #283179; color: #fff; font-size: 16px; border-radius: 3px; cursor: pointer; } .activeBtn { background: #409EFF; border: none; } } :deep(.GLJCform) { height: 110px; // width: 100%; width: calc(100% - 150px); padding-left: 10px; box-sizing: border-box; .el-form-item__label { font-weight: bold; font-size: 14px; color: #ccdfff; } .el-input__wrapper { background: #0d2359; border-radius: 6px; border: 1px solid #0b9bff; box-shadow: none; .el-input__inner { color: #8fbffe; } } .el-select { background: #0d2359; } .el-date-editor .el-range-input { color: #8fbffe; } .el-date-editor .el-range-separator,.el-date-editor .el-range__icon { color: #fff; } } .ChartHeight { width: 100%; height: 550px; } } </style>