diff --git a/src/views/sponeScreen/projectHM/XmOverallsis.vue b/src/views/sponeScreen/projectHM/XmOverallsis.vue index b1df761..9efe437 100644 --- a/src/views/sponeScreen/projectHM/XmOverallsis.vue +++ b/src/views/sponeScreen/projectHM/XmOverallsis.vue @@ -1,6 +1,26 @@ @@ -241,7 +309,6 @@ import * as echarts from 'echarts'; const { proxy } = getCurrentInstance(); const { rainfall_intensity } = proxy.useDict('rainfall_intensity'); //降雨强度 字典数据 -console.log(rainfall_intensity, 'rainfall_intensity'); import { siteReportRelationList, siteDataTree, getStationList, customizedRainReportDataNew } from '@/api/zongHeDD.js'; const rainCheckAll = ref(false); const rainIndeterminate = ref(false); @@ -249,7 +316,11 @@ const loadingText = ref('正在加载中...'); const rainList = ref([]); const projectList = ref([]); +const pipelineList = ref([]); +//运行图数据 +const pipePicCCLFile = ref([]); const projectDefaultKeys = ref([]); //默认选中的项目点 +const pipelineDefaultKeys = ref([]); //默认选中的管网点 //雨量站数据 const rainResult = ref({}); const raindatalist = ref([]); @@ -257,7 +328,11 @@ const projectResult = ref({}); const projectJlDtoList = ref([]); const projectdatalist = ref([]); - +//管网数据 +const pipeResult = ref({}); +const pipelinedatalist = ref([]); +//总结 +const summarizeResult = ref({}); const queryParams = ref({ pipelineData: [], waterloggingData: [], @@ -273,7 +348,7 @@ //重置 const resetQuery = () => { queryParams.value = { - // pipelineData: pipelineDefaultKeys.value, + pipelineData: pipelineDefaultKeys.value, // waterloggingData: [waterloggingList.value[0].stCode], rainData: [rainList.value[0].stCode], projectData: projectDefaultKeys.value, @@ -297,13 +372,17 @@ requestAll.push(siteReportRelationList({ siteType: 'waterlogging' })); requestAll.push(getStationList({ monitorTargetType: 'rainfall' })); let res = await Promise.all(requestAll); + pipelineList.value = res[0].data; + pipelineDefaultKeys.value = + pipelineList.value && pipelineList.value[0]['children'] && pipelineList.value[0]['children'].map(item => item.stCode); + console.log('pipelineDefaultKeys.value', pipelineDefaultKeys.value); projectList.value = res[1].data; projectDefaultKeys.value = projectList.value && projectList.value[0]['children'] && projectList.value[0]['children'].map(item => item.stCode); // waterloggingList.value = res[2].data; rainList.value = res[3].data; queryParams.value = { - // pipelineData: pipelineDefaultKeys.value, + pipelineData: pipelineDefaultKeys.value, // waterloggingData: [waterloggingList.value[0].stCode], rainData: [rainList.value[0].stCode], projectData: projectDefaultKeys.value, @@ -323,7 +402,7 @@ ...queryParams.value, // endTime: '2024-11-25 07:55:00', - // pipelineData: [], + // pipelineData: ['0913000057'], // projectData: ['0913000021'], // rainData: ['0913000001'], // startTime: '2024-11-24 08:00:00', @@ -334,20 +413,20 @@ // detailData.value = res.data; rainResult.value = res.data.rainResult; raindatalist.value = rainResult.value['rainList']; - // pipeResult.value = res.data.pipeResult - // pipePicCCLFile.value=res.data.pipePicCCLFile + pipeResult.value = res.data.pipeResult; + pipePicCCLFile.value = res.data.pipePicCCLFile; projectJlDtoList.value = res.data.projectJlDtoList; - // pipelinedatalist.value = res.data.pipeResult.totPipeAreasInfoList + pipelinedatalist.value = res.data.pipeResult.totPipeAreasInfoList; // waterLoggingResultDto.value = res.data.waterLoggingResultDto // loggingdatalist.value = waterLoggingResultDto.value['waterloggingStationList'] projectResult.value = res.data.projectResult; projectdatalist.value = projectResult.value['projectList']; console.log(projectdatalist.value, ' projectdatalist.value'); - // summarizeResult.value = res.data.summarizeResult + summarizeResult.value = res.data.summarizeResult; nextTick(() => { initEchartsZB(raindatalist.value); - // initEchartsZB2(pipelinedatalist.value) - // initEchartsZB3(pipelinedatalist.value) + initEchartsZB2(pipelinedatalist.value); + initEchartsZB3(pipelinedatalist.value); // initEchartsZB4(loggingdatalist.value) intProjectJYLLLChart(projectdatalist.value); intProjectLLXFWChart(projectdatalist.value); @@ -466,6 +545,73 @@ chart7.setOption(chartOption.option6); } }; +//雨量站--降雨量、流量 +const initEchartsZB2 = async datas => { + datas.forEach((item, index) => { + if (item.typicalProblems.dxwtList.length) { + let dxwtList = item.typicalProblems.dxwtList; + dxwtList.forEach((child, i) => { + let stCodeStr = `${item.areasCode}_${child.stCode}`; + var chart2 = echarts.init(document.getElementById(`JYLLChartOneBG_${stCodeStr}`)); + let xData = child.dataRainX.map(item => proxy.moment(item).format('HH:mm')); + let pipelineRainY = child.dataRainY; + let pipelineFlowY = child.dataSbl1Y; + var rainMaxNum = Math.max(...pipelineRainY); + var rainMinNum = Math.min(...pipelineRainY); + var flowMaxNum = Math.max(...pipelineFlowY); + var flowMinNum = Math.min(...pipelineFlowY); + chartOption.option5.xAxis.data = xData; + chartOption.option5.yAxis[0].min = (Number(flowMinNum) * 0.8).toFixed(1); + chartOption.option5.yAxis[0].max = (Number(flowMaxNum) * 1.5).toFixed(1); + chartOption.option5.yAxis[1].min = (Number(rainMinNum) * 0.8).toFixed(1); + chartOption.option5.yAxis[1].max = (Number(rainMaxNum) * 1.5).toFixed(1); + chartOption.option5.series[0].data = pipelineFlowY; + chartOption.option5.series[1].data = pipelineRainY; + if (xData.length > 0) { + chartOption.option5.graphic.invisible = true; + } else { + chartOption.option5.graphic.invisible = false; + } + chart2.clear(); + chart2.setOption(chartOption.option5); + }); + } + }); +}; +//雨量站--水位、流量 +const initEchartsZB3 = async datas => { + datas.forEach((item, index) => { + if (item.typicalProblems.dxwtList.length) { + let dxwtList = item.typicalProblems.dxwtList; + dxwtList.forEach((child, i) => { + let stCodeStr = `${item.areasCode}_${child.stCode}`; + var chart3 = echarts.init(document.getElementById(`SWLLChartOneBG_${stCodeStr}`)); + let xData = child.dataRainX.map(item => proxy.moment(item).format('HH:mm')); + let pipelineWaterlevelY = child.dataZY; + let pipelineFlowY = child.dataSbl1Y; + var levelMaxNum = Math.max(...pipelineWaterlevelY); + var levelMinNum = Math.min(...pipelineWaterlevelY); + var flowMaxNum = Math.max(...pipelineFlowY); + var flowMinNum = Math.min(...pipelineFlowY); + chartOption.option6.yAxis[0].min = (Number(flowMinNum) * 0.8).toFixed(1); + chartOption.option6.yAxis[0].max = (Number(flowMaxNum) * 1.5).toFixed(1); + chartOption.option6.yAxis[1].min = (Number(levelMinNum) * 0.8).toFixed(1); + chartOption.option6.yAxis[1].max = (Number(levelMaxNum) * 1.5).toFixed(1); + chartOption.option6.xAxis[0].data = xData; + chartOption.option6.series[0].data = pipelineFlowY; + chartOption.option6.series[1].data = pipelineWaterlevelY; + + if (xData.length > 0) { + chartOption.option6.graphic.invisible = true; + } else { + chartOption.option6.graphic.invisible = false; + } + chart3.clear(); + chart3.setOption(chartOption.option6); + }); + } + }); +}; //下载pdf const downloadPdf = () => { showLoading.value = true; diff --git a/src/views/sponeScreen/projectHM/XmOverallsis.vue b/src/views/sponeScreen/projectHM/XmOverallsis.vue index b1df761..9efe437 100644 --- a/src/views/sponeScreen/projectHM/XmOverallsis.vue +++ b/src/views/sponeScreen/projectHM/XmOverallsis.vue @@ -1,6 +1,26 @@ @@ -241,7 +309,6 @@ import * as echarts from 'echarts'; const { proxy } = getCurrentInstance(); const { rainfall_intensity } = proxy.useDict('rainfall_intensity'); //降雨强度 字典数据 -console.log(rainfall_intensity, 'rainfall_intensity'); import { siteReportRelationList, siteDataTree, getStationList, customizedRainReportDataNew } from '@/api/zongHeDD.js'; const rainCheckAll = ref(false); const rainIndeterminate = ref(false); @@ -249,7 +316,11 @@ const loadingText = ref('正在加载中...'); const rainList = ref([]); const projectList = ref([]); +const pipelineList = ref([]); +//运行图数据 +const pipePicCCLFile = ref([]); const projectDefaultKeys = ref([]); //默认选中的项目点 +const pipelineDefaultKeys = ref([]); //默认选中的管网点 //雨量站数据 const rainResult = ref({}); const raindatalist = ref([]); @@ -257,7 +328,11 @@ const projectResult = ref({}); const projectJlDtoList = ref([]); const projectdatalist = ref([]); - +//管网数据 +const pipeResult = ref({}); +const pipelinedatalist = ref([]); +//总结 +const summarizeResult = ref({}); const queryParams = ref({ pipelineData: [], waterloggingData: [], @@ -273,7 +348,7 @@ //重置 const resetQuery = () => { queryParams.value = { - // pipelineData: pipelineDefaultKeys.value, + pipelineData: pipelineDefaultKeys.value, // waterloggingData: [waterloggingList.value[0].stCode], rainData: [rainList.value[0].stCode], projectData: projectDefaultKeys.value, @@ -297,13 +372,17 @@ requestAll.push(siteReportRelationList({ siteType: 'waterlogging' })); requestAll.push(getStationList({ monitorTargetType: 'rainfall' })); let res = await Promise.all(requestAll); + pipelineList.value = res[0].data; + pipelineDefaultKeys.value = + pipelineList.value && pipelineList.value[0]['children'] && pipelineList.value[0]['children'].map(item => item.stCode); + console.log('pipelineDefaultKeys.value', pipelineDefaultKeys.value); projectList.value = res[1].data; projectDefaultKeys.value = projectList.value && projectList.value[0]['children'] && projectList.value[0]['children'].map(item => item.stCode); // waterloggingList.value = res[2].data; rainList.value = res[3].data; queryParams.value = { - // pipelineData: pipelineDefaultKeys.value, + pipelineData: pipelineDefaultKeys.value, // waterloggingData: [waterloggingList.value[0].stCode], rainData: [rainList.value[0].stCode], projectData: projectDefaultKeys.value, @@ -323,7 +402,7 @@ ...queryParams.value, // endTime: '2024-11-25 07:55:00', - // pipelineData: [], + // pipelineData: ['0913000057'], // projectData: ['0913000021'], // rainData: ['0913000001'], // startTime: '2024-11-24 08:00:00', @@ -334,20 +413,20 @@ // detailData.value = res.data; rainResult.value = res.data.rainResult; raindatalist.value = rainResult.value['rainList']; - // pipeResult.value = res.data.pipeResult - // pipePicCCLFile.value=res.data.pipePicCCLFile + pipeResult.value = res.data.pipeResult; + pipePicCCLFile.value = res.data.pipePicCCLFile; projectJlDtoList.value = res.data.projectJlDtoList; - // pipelinedatalist.value = res.data.pipeResult.totPipeAreasInfoList + pipelinedatalist.value = res.data.pipeResult.totPipeAreasInfoList; // waterLoggingResultDto.value = res.data.waterLoggingResultDto // loggingdatalist.value = waterLoggingResultDto.value['waterloggingStationList'] projectResult.value = res.data.projectResult; projectdatalist.value = projectResult.value['projectList']; console.log(projectdatalist.value, ' projectdatalist.value'); - // summarizeResult.value = res.data.summarizeResult + summarizeResult.value = res.data.summarizeResult; nextTick(() => { initEchartsZB(raindatalist.value); - // initEchartsZB2(pipelinedatalist.value) - // initEchartsZB3(pipelinedatalist.value) + initEchartsZB2(pipelinedatalist.value); + initEchartsZB3(pipelinedatalist.value); // initEchartsZB4(loggingdatalist.value) intProjectJYLLLChart(projectdatalist.value); intProjectLLXFWChart(projectdatalist.value); @@ -466,6 +545,73 @@ chart7.setOption(chartOption.option6); } }; +//雨量站--降雨量、流量 +const initEchartsZB2 = async datas => { + datas.forEach((item, index) => { + if (item.typicalProblems.dxwtList.length) { + let dxwtList = item.typicalProblems.dxwtList; + dxwtList.forEach((child, i) => { + let stCodeStr = `${item.areasCode}_${child.stCode}`; + var chart2 = echarts.init(document.getElementById(`JYLLChartOneBG_${stCodeStr}`)); + let xData = child.dataRainX.map(item => proxy.moment(item).format('HH:mm')); + let pipelineRainY = child.dataRainY; + let pipelineFlowY = child.dataSbl1Y; + var rainMaxNum = Math.max(...pipelineRainY); + var rainMinNum = Math.min(...pipelineRainY); + var flowMaxNum = Math.max(...pipelineFlowY); + var flowMinNum = Math.min(...pipelineFlowY); + chartOption.option5.xAxis.data = xData; + chartOption.option5.yAxis[0].min = (Number(flowMinNum) * 0.8).toFixed(1); + chartOption.option5.yAxis[0].max = (Number(flowMaxNum) * 1.5).toFixed(1); + chartOption.option5.yAxis[1].min = (Number(rainMinNum) * 0.8).toFixed(1); + chartOption.option5.yAxis[1].max = (Number(rainMaxNum) * 1.5).toFixed(1); + chartOption.option5.series[0].data = pipelineFlowY; + chartOption.option5.series[1].data = pipelineRainY; + if (xData.length > 0) { + chartOption.option5.graphic.invisible = true; + } else { + chartOption.option5.graphic.invisible = false; + } + chart2.clear(); + chart2.setOption(chartOption.option5); + }); + } + }); +}; +//雨量站--水位、流量 +const initEchartsZB3 = async datas => { + datas.forEach((item, index) => { + if (item.typicalProblems.dxwtList.length) { + let dxwtList = item.typicalProblems.dxwtList; + dxwtList.forEach((child, i) => { + let stCodeStr = `${item.areasCode}_${child.stCode}`; + var chart3 = echarts.init(document.getElementById(`SWLLChartOneBG_${stCodeStr}`)); + let xData = child.dataRainX.map(item => proxy.moment(item).format('HH:mm')); + let pipelineWaterlevelY = child.dataZY; + let pipelineFlowY = child.dataSbl1Y; + var levelMaxNum = Math.max(...pipelineWaterlevelY); + var levelMinNum = Math.min(...pipelineWaterlevelY); + var flowMaxNum = Math.max(...pipelineFlowY); + var flowMinNum = Math.min(...pipelineFlowY); + chartOption.option6.yAxis[0].min = (Number(flowMinNum) * 0.8).toFixed(1); + chartOption.option6.yAxis[0].max = (Number(flowMaxNum) * 1.5).toFixed(1); + chartOption.option6.yAxis[1].min = (Number(levelMinNum) * 0.8).toFixed(1); + chartOption.option6.yAxis[1].max = (Number(levelMaxNum) * 1.5).toFixed(1); + chartOption.option6.xAxis[0].data = xData; + chartOption.option6.series[0].data = pipelineFlowY; + chartOption.option6.series[1].data = pipelineWaterlevelY; + + if (xData.length > 0) { + chartOption.option6.graphic.invisible = true; + } else { + chartOption.option6.graphic.invisible = false; + } + chart3.clear(); + chart3.setOption(chartOption.option6); + }); + } + }); +}; //下载pdf const downloadPdf = () => { showLoading.value = true; diff --git a/src/views/sponeScreen/projectHM/Xmanalysis.vue b/src/views/sponeScreen/projectHM/Xmanalysis.vue index 7b0447a..d5df8a7 100644 --- a/src/views/sponeScreen/projectHM/Xmanalysis.vue +++ b/src/views/sponeScreen/projectHM/Xmanalysis.vue @@ -147,13 +147,13 @@ const handleQuery = () => { let timeObj = { // contrastTime: '', - realTime: '2024-11-24', + // realTime: '2024-11-24', // // projectCode: queryParams.value.isControllerRainSite == 1 ? '' : queryParams.value.belongArea, // projectCode: 'XMBH20240507-00010', // stCode: '', // status: '0', contrastTime: queryParams.value.contrastTime, - // realTime: localStorage.getItem('setRainDateKF'), + realTime: localStorage.getItem('setRainDateKF'), projectCode: queryParams.value.isControllerRainSite == 1 ? '' : queryParams.value.belongArea, stCode: queryParams.value.isControllerRainSite == 1 ? queryParams.value.stCode : '', status: queryParams.value.isControllerRainSite, @@ -204,9 +204,8 @@ //查询项目距离设施最近的相同一场雨的时间 const getProjectReportResult = () => { let data = { - // realTime: queryParams.value.realTime, - realTime: '2024-11-24', - + // realTime: '2024-11-24', + realTime: queryParams.value.realTime, status: queryParams.value.isControllerRainSite, projectCode: queryParams.value.isControllerRainSite == 1 ? '' : queryParams.value.belongArea, stCode: queryParams.value.isControllerRainSite == 1 ? queryParams.value.stCode : '',