<template> <!-- 排水体系 --> <div class="WSIndex"> <PanelDisplayHidden @showPanelChange="PanelChange"></PanelDisplayHidden> <Transition name="fade_left"> <div :class="['moduleBox', 'moduleBoxLeft']" v-show="!showPanel"> <!-- 顶部公共标题 --> <div class="CrumbesTitle"> <!-- 一级 --> <span class="crumbs" v-for="item in AllData.TitleName" :key="item.grade" v-show="item.abbreviation" @click="MBClick(item)" > {{ item.grade != 'one' ? '/' : '' }} {{ item.abbreviation ? item.abbreviation : '' }} </span> </div> <div class="modular1"> <div class="leve2Title"> {{ AllData.regionGrade == 'one' ? '排水户统计' : AllData.regionGrade == 'two' ? '排水户统计' : AllData.regionGrade == 'three' ? '排水户统计' : AllData.regionGrade == 'four' ? '水量统计' : '' }} {{ AllData.TjData1 ? `(${AllData.TjData1 + AllData.TjData1Unit})` : `` }} </div> <div class="modularBody"> <!-- v-if=" AllData.regionGrade == 'one' || AllData.regionGrade == 'two' || AllData.regionGrade == 'three' || AllData.regionGrade == 'four' " --> <DraBarCharts2Y :data="AllData.chartData1" :refresh="AllData.refresh1" :ClickData="AllData.ClickData1" ></DraBarCharts2Y> </div> </div> <div class="modular2"> <div class="leve2Title"> {{ AllData.regionGrade == 'one' ? '管网统计' : AllData.regionGrade == 'two' ? '管网统计' : AllData.regionGrade == 'three' ? '排水类别' : AllData.regionGrade == 'four' ? '排水类别' : '' }} {{ AllData.TjData2 ? `(${AllData.TjData2 + AllData.TjData2Unit})` : `` }} </div> <div class="modularBody"> <DraBarChartsLeft v-if=" AllData.regionGrade == 'one' || AllData.regionGrade == 'two' || AllData.regionGrade == 'three' || AllData.regionGrade == 'four' " :data="AllData.chartData2" :refresh="AllData.refresh2" :ClickData="AllData.ClickData2" ></DraBarChartsLeft> </div> </div> <div class="modular3"> <div class="leve2Title"> {{ AllData.regionGrade == 'one' ? '日污水水量' : AllData.regionGrade == 'two' ? '日污水水量' : AllData.regionGrade == 'three' ? '日水量统计' : AllData.regionGrade == 'four' ? '管网统计' : '' }} {{ AllData.TjData3 ? `(${AllData.TjData3 + AllData.TjData3Unit})` : `` }} </div> <div class="modularBody"> <DraBarCharts2Y v-if=" AllData.regionGrade == 'one' || AllData.regionGrade == 'two' || AllData.regionGrade == 'three' || AllData.regionGrade == 'four' " :data="AllData.chartData3" :refresh="AllData.refresh3" :ClickData="AllData.ClickData3" ></DraBarCharts2Y> </div> </div></div ></Transition> <!-- 右侧面板 --> <Transition name="fade_right"> <div :class="['moduleBox', 'moduleBoxRight']" v-show="!showPanel && AllData.RightShow && AllData.RightShowType == 'sewage_pipeline_quality'" > <!-- 顶部公共标题 --> <div class="CrumbesTitle"> <span class="crumbs2">{{ AllData.ClicksiteName }}</span> </div> <div class="modular1_right"> <RightCharts :data="AllData.chartDataRight" :refresh="AllData.refreshRight" v-if="AllData.refreshRight != 0" ></RightCharts> </div> <div class="modular2_right"> <div class="leve2Title">水量分析</div> <div class="modularBody"> <!-- 上游水量在接驳口时不展示 --> <div class="SLList"> <div class="SlList1P"> <el-tooltip :content="AllData.SLFX.upstreamSiteWaterYield + '万吨'" placement="top"> <span class="SlListNum">{{ AllData.SLFX.upstreamSiteWaterYield }}</span> </el-tooltip> <span class="SlListUnit">万吨</span> </div> <div class="SlList2P">收水量</div> </div> <div class="SLList"> <div class="SlList1P"> <el-tooltip :content="AllData.SLFX.siteWaterYield + '万吨'" placement="top"> <span class="SlListNum">{{ AllData.SLFX.siteWaterYield }}</span> </el-tooltip> <span class="SlListUnit">万吨</span> </div> <div class="SlList2P">当前站点水量</div> </div> </div> </div> <div class="modular3_right"> <div class="leve2Title">管网本底</div> <div class="modularBody"> <div class="ListInfo50"> <div class="ListInfo_label">类型:</div> <div class="ListInfo_value"> {{ AllData.GWBD.pointType == 'YS' ? '雨水管网' : AllData.GWBD.pointType == 'WS' ? '污水管网' : '--' }} </div> </div> <div class="ListInfo50"> <div class="ListInfo_label">设计编号:</div> <div class="ListInfo_value"> {{ AllData.GWBD.stAsName ? AllData.GWBD.stAsName : '--' }} </div> </div> <div class="ListInfo100"> <div class="ListInfo_label">管井编码:</div> <div class="ListInfo_value"> {{ AllData.GWBD.pointNumber ? AllData.GWBD.pointNumber : '--' }} </div> </div> <div class="ListInfo100"> <div class="ListInfo_label">站点编号:</div> <div class="ListInfo_value"> {{ AllData.GWBD.stCode ? AllData.GWBD.stCode : '--' }} </div> </div> <div class="ListInfo50"> <div class="ListInfo_label">年份:</div> <div class="ListInfo_value"> {{ AllData.GWBD.buildTime ? AllData.GWBD.buildTime : '--' }} </div> </div> <div class="ListInfo50"> <div class="ListInfo_label">管径:</div> <div class="ListInfo_value"> {{ AllData.GWBD.pipelineDiameter ? AllData.GWBD.pipelineDiameter : '--' }} </div> </div> <div class="ListInfo50"> <div class="ListInfo_label">材质:</div> <div class="ListInfo_value"> {{ AllData.GWBD.pipelineTexture ? AllData.GWBD.pipelineTexture : '--' }} </div> </div> <div class="ListInfo50"> <div class="ListInfo_label">缺陷类型:</div> <div class="ListInfo_value"> {{ AllData.GWBD.issueType ? AllData.GWBD.issueType : '--' }} </div> </div> <div class="ListInfo50"> <div class="ListInfo_label">标段片区:</div> <div class="ListInfo_value"> {{ AllData.GWBD.roadName ? AllData.GWBD.roadName : '--' }} </div> </div> <div class="ListInfo50"> <div class="ListInfo_label">末次运维:</div> <div class="ListInfo_value"> {{ AllData.GWBD.repairYear ? AllData.GWBD.repairYear : '--' }} </div> </div> </div> </div> </div> </Transition> <!-- 泵站信息 --> <Transition name="fade_right"> <div :class="['moduleBox', 'moduleBoxRight']" v-if="!showPanel && AllData.RightShow && AllData.RightShowType == 'sewage_pump_station_info'" > <!-- 顶部公共标题 --> <div class="CrumbesTitle"> <span class="crumbs2">{{ AllData.ClicksiteName }}</span> </div> <div class="modularRight2"> <BengZhanInfo :Datatype="AllData.RightShowType" :DataId="AllData.RightShowID" :Type="AllData.TypeID"></BengZhanInfo> </div> </div> </Transition> </div> </template> <script setup name="WSIndex"> import { ref, reactive, toRefs, onMounted, nextTick } from 'vue'; import bus from '@/bus'; // 引入接口 import * as MonitorAPI from '@/api/MonitoringAnalysis.js'; import moment from 'moment'; import { getEchart } from '@/api/MonitorAssetsOnMap'; // 引入echarts组件 // 纵向立体柱状体以及标线和折现 import DraBarCharts2Y from './components/DraBarCharts2Y.vue'; //横向的两组柱状图堆叠 import DraBarChartsLeft from './components/DraBarChartsLeft.vue'; // 右侧面板接入 import RightCharts from './components/RightCharts.vue'; import BengZhanInfo from './BengZhanRight.vue'; // 面板控制组件 import PanelDisplayHidden from '@/views/pictureOnMap/page/components/PanelDisplayHidden.vue'; const showPanel = ref(false); //面板展开收起 const PanelChange = val => { showPanel.value = val; }; const AllData = reactive({ TypeID: 'sewage', regionGrade: 'one', //分区级别(one:一级 || two:二级 || three:三级 || four:四级) regionName: '', //分区名称 waterRegionCode: '', //分区编号 RightShow: false, //右侧面板是否显示--基于是否选择站点进行判断 RightShowID: '', RightShowType: '', TitleName: [ { abbreviation: '高新区', //分区缩写-动态 id: '', //分区信息-动态 grade: 'one', //分区层级-静态(查询数据用) sort: 0, //面包屑的顺序 Name: '', //全称 }, { abbreviation: '', //分区缩写-动态 id: '', //分区信息-动态 grade: 'two', //分区层级-静态 sort: 1, //面包屑的顺序 Name: '', //全称 }, { abbreviation: '', //分区缩写-动态 id: '', //分区信息-动态 grade: 'three', //分区层级-静态 sort: 2, //面包屑的顺序 Name: '', //全称 }, { abbreviation: '', //分区缩写-动态 id: '', //分区信息-动态 grade: 'four', //分区层级-静态 sort: 3, //面包屑的顺序 Name: '', //全称 }, { abbreviation: '', //分区缩写-动态 id: '', //分区信息-动态 grade: 'five', //分区层级-静态 sort: 4, //面包屑的顺序 Name: '', //全称 }, ], // Ecahrts数据 // 河湖水情 chartData1: { // 一级 // xAxis: ["王家店", "花山", "龙王咀", "左岭", "豹澥", "汤逊湖"], //X轴数据 // y1_Unit: "m", //Y轴单位 // y2_Unit: "万方", //2号Y轴单位 // y2_show: true, //是否展示右侧的2号轴 // yAxis1_bar: ["60", "40", "50", "60", "80", "70"], //数据1 // yAxis1_bar_Name: "当前水位", //数据1的名称 // yAxis1_bar_index: 0, // yAxis2_bar: null, //数据2 // yAxis2_bar_Name: "", //数据1的名称 // yAxis2_bar_index: 0, // yAxis2_line: ["80", "90", "40", "50", "60", "60"], // yAxis2_line_Name: "设防水位", // yAxis2_line_Index: 0, // yAxis3_line: ["90", "98", "110", "80", "60", "70"], // yAxis3_line_Name: "库容量", // yAxis3_line_Index: 1, xAxis: [], //X轴数据 y1_Unit: '', //Y轴单位 y2_Unit: '', //Y轴单位 y2_show: false, yAxis1_bar: [], //数据1 yAxis1_bar_Name: '', //数据1的名称 yAxis1_bar_index: 0, yAxis2_bar: null, //数据2 yAxis2_bar_Name: '', //数据1的名称 yAxis2_bar_index: 0, yAxis2_line: null, yAxis2_line_Name: '', yAxis2_line_Index: 0, yAxis3_line: null, yAxis3_line_Name: '', yAxis3_line_Index: 0, }, refresh1: 0, ClickData1: 'dgtxg', // 流域管网 chartData2: { xAxis: [], yAxis: [], yAxis2: [], yAxis_Name: '', yAxis2_Name: '', }, refresh2: 0, ClickData2: 'dgtxg', // 河湖排口 chartData3: { // 三级 xAxis: [], //X轴数据 y1_Unit: '', //Y轴单位 y2_Unit: '', //Y轴单位 y2_show: false, yAxis1_bar: [], //数据1 yAxis1_bar_Name: '', //数据1的名称 yAxis1_bar_index: 0, yAxis2_bar: null, //数据2 yAxis2_bar_Name: '', //数据1的名称 yAxis2_bar_index: 0, yAxis2_line: null, yAxis2_line_Name: '', yAxis2_line_Index: 0, yAxis3_line: null, yAxis3_line_Name: '', yAxis3_line_Index: 0, }, refresh3: 0, ClickData3: 'dgtxg', GWBD: {}, SLFX: {}, chartDataRight: { yAxis: [], yAxis_Name: '降雨量(mm)', yAxis2: [], yAxis2_Name: '流速(m/s)', yAxis3: [], yAxis3_Name: '水深(m)', yAxis4: [], yAxis4_Name: '5分钟水量(m³)', xAxis: [], }, refreshRight: 0, ClicksiteName: '', TjData1: 0, TjData1Unit: '', TjData2: 0, TjData2Unit: '', TjData3: 0, TjData3Unit: '', }); // 面包屑点击事件 const MBClick = item => { console.log(item); AllData.RightShow = false; AllData.RightShowID = ''; AllData.RightShowType = ''; // 赋值需要进行echarts数据请求的数据 AllData.regionGrade = item.grade; AllData.regionName = item.Name; AllData.waterRegionCode = item.id; clearEchartsData(); // debugger; // 视角切换 if (item.sort == 0) { // 回到默认图层 newfiberMap.map.easeTo(newfiberMap.config_.params.init); bus.emit(mapInitBusName); AllData.regionGrade = 'one'; AllData.regionName = ''; AllData.waterRegionCode = ''; AllData.TitleName[1] = { abbreviation: '', Name: '', id: '', grade: 'two', sort: 1, }; AllData.TitleName[2] = { abbreviation: '', Name: '', id: '', grade: 'three', sort: 2, }; AllData.TitleName[3] = { abbreviation: '', Name: '', id: '', grade: 'four', sort: 3, }; AllData.TitleName[4] = { abbreviation: '', Name: '', id: '', grade: 'five', sort: 4, }; // 切换时进行数据请求,默认视角请求 getData1(); getData2(); getData3(); } if (item.sort == 1) { bus.emit('panelDataToMap', { name: item.Name, id: item.id, }); AllData.TitleName[2] = { abbreviation: '', Name: '', id: '', grade: 'three', sort: 2, }; AllData.TitleName[3] = { abbreviation: '', Name: '', id: '', grade: 'four', sort: 3, }; AllData.TitleName[4] = { abbreviation: '', Name: '', id: '', grade: 'five', sort: 4, }; // 切换时进行数据请求,默认视角请求 getData1(); getData2(); getData3(); } if (item.sort == 2) { bus.emit('panelDataToMap', { name: item.Name, id: item.id, }); AllData.TitleName[3] = { abbreviation: '', Name: '', id: '', grade: 'four', sort: 3, }; AllData.TitleName[4] = { abbreviation: '', Name: '', id: '', grade: 'five', sort: 4, }; // 切换时进行数据请求,默认视角请求 getData2(); getData3(); getData4(); } if (item.sort == 3) { bus.emit('panelDataToMap', { name: item.Name, id: item.id, }); AllData.TitleName[4] = { abbreviation: '', Name: '', id: '', grade: 'five', sort: 4, }; getData3(); getData1(); getData4(); } if (item.sort == 4) { bus.emit('panelDataToMap', { name: item.Name, id: item.id, }); } }; // 分区点击切换 const FenQuClick = Row => { console.log('FenQuClick', Row.properties, Row.layerId); //判断点击的是片区还是点位 if (Row.layerId == '排水分区') { // 片区 AllData.RightShow = false; AllData.RightShowID = false; AllData.RightShowType = '排水分区'; // if (!!!Row.properties.pid) return; // 原本是判断没有pid就不请求↑↑↑,现在gis图层数据改变,从而使用层级来判断↓↓↓ if (Row.properties.level == '4') return; // 请求面包屑的数据 let params = { regionType: AllData.TypeID, id: Number(Row.properties.pid || Row.properties.w_id), }; MonitorAPI.lineGrade(params).then(res => { if (res && res.code == 200) { // 污水 AllData.TitleName[0].abbreviation = '高新区'; AllData.TitleName[0].id = ''; //分区信息-动态 AllData.TitleName[0].grade = 'one'; //分区层级-静态 AllData.TitleName[0].sort = 0; //面包屑的顺序 AllData.TitleName[0].Name = ''; //全称 // 设置1 2 3 4 级分区 clearMianBaoData(); res.data.forEach(element => { if (element.grade == 'one') { AllData.TitleName[1] = { abbreviation: element.shortName ? element.shortName : element.name, id: element.id, grade: 'two', sort: 1, Name: element.name, }; } if (element.grade == 'two') { AllData.TitleName[2] = { abbreviation: element.shortName ? element.shortName : element.name, id: element.id, grade: 'three', sort: 2, Name: element.name, }; } if (element.grade == 'three') { AllData.TitleName[3] = { abbreviation: element.shortName ? element.shortName : element.name, id: element.id, grade: 'four', sort: 3, Name: element.name, }; } if (element.grade == 'four') { AllData.TitleName[4] = { abbreviation: element.shortName ? element.shortName : element.name, id: element.id, grade: 'five', sort: 4, Name: element.name, }; } }); // } // 赋值需要进行echarts数据请求的数据 AllData.regionGrade = res.data.length == 1 ? 'two' : res.data.length == 2 ? 'three' : res.data.length == 3 ? 'four' : 'five'; //分区级别(one:一级 || two:二级 || three:三级 || four:四级) AllData.regionName = AllData.TitleName[res.data.length].Name; AllData.waterRegionCode = AllData.TitleName[res.data.length].id; clearEchartsData(); if (AllData.regionGrade == 'two') { // 二级 console.log('二级'); getData1(); getData2(); getData3(); } else if (AllData.regionGrade == 'three') { // 三级 console.log('三级'); getData2(); getData3(); getData4(); } else if (AllData.regionGrade == 'four') { // 四级 console.log('四级'); getData3(); getData1(); getData4(); } else { // 五级 五级为排水单元,由上可知,因为没有pid 所以此方法无效 console.log('五级'); } } }); } else if (Row.layerId == 'point') { // 点位 if (AllData.RightShowID == Row.properties.id) { // 说明是同样的一个点点了两次,所以进行关闭 AllData.RightShow = false; AllData.RightShowID = ''; } else { // 管点 if (Row.properties.pointType == 'sewage_pipeline_quality') { AllData.ClicksiteName = Row.properties.name; AllData.RightShowID = Row.properties.id; AllData.RightShowType = 'sewage_pipeline_quality'; AllData.RightShow = true; // Row.properties.wellCode // 获取管网信息 console.log('Row', Row); if (!!Row.properties.wellCode) { MonitorAPI.pipelinePointPage({ pointNumber: Row.properties.wellCode, }).then(res => { if (res && res.code == 200) { AllData.GWBD = res.data[0]; } }); } else { AllData.GWBD = { pointType: '--', pointNumber: '--', stAsName: '--', stCode: '--', buildTime: '--', pipelineDiameter: '--', pipelineTexture: '--', issueType: '--', roadName: '--', repairYear: '--', }; } // 上下游水量分析 getDataSXY(Row.properties); // 获取echarts数据 // setTimeout(() => { AllData.chartDataRight = { yAxis: [], yAxis_Name: '降雨量(mm)', yAxis2: [], yAxis2_Name: '流速(m/s)', yAxis3: [], yAxis3_Name: '水深(m)', yAxis4: [], yAxis4_Name: '5分钟水量(m³)', xAxis: [], }; AllData.refreshRight = 0; GetRightCharts(Row.properties); // }, 900); } // 泵站 if (Row.properties.pointType == 'sewage_pump_station_info') { if (Row.properties.id == '') { // 不展示 AllData.ClicksiteName = ''; AllData.RightShow = false; AllData.RightShowID = ''; AllData.RightShowType = ''; } else { AllData.ClicksiteName = Row.properties.name; AllData.RightShowID = Row.properties.id; AllData.RightShowType = 'sewage_pump_station_info'; AllData.RightShow = true; } } // 污水处理厂 if (Row.properties.pointType == 'sewage_factory_info') { if (Row.properties.id == '') { // 不展示 AllData.ClicksiteName = ''; AllData.RightShow = false; AllData.RightShowID = ''; AllData.RightShowType = ''; } else { AllData.ClicksiteName = Row.properties.name; AllData.RightShowID = Row.properties.id; AllData.RightShowType = 'sewage_factory_info'; AllData.RightShow = true; } } } } }; // 清除面包屑的数据 const clearMianBaoData = () => { AllData.TitleName[1] = { abbreviation: '', Name: '', id: '', grade: 'two', sort: 1, }; AllData.TitleName[2] = { abbreviation: '', Name: '', id: '', grade: 'three', sort: 2, }; AllData.TitleName[3] = { abbreviation: '', Name: '', id: '', grade: 'four', sort: 3, }; AllData.TitleName[4] = { abbreviation: '', Name: '', id: '', grade: 'five', sort: 4, }; }; // 获取数据 徐云欣 一级界面的管网统计/二级界面的管网统计/四级界面的管网统计 const getData1 = () => { MonitorAPI.pipelineProblemStatistic({ regionGrade: AllData.regionGrade, //分区级别(one:一级 || two:二级 || three:三级 || four:四级 || five:五级) regionName: AllData.regionName, //分区名称 regionType: AllData.TypeID, //分区类型(sewage:污水 || rain:雨水) }).then(res => { if (res && res.code == 200) { if (AllData.regionGrade == 'one') { // 一级Ecahrts 名称 AllData.chartData2.yAxis_Name = '问题管网'; // 数据赋值 AllData.chartData2.xAxis = res.data.regionNameList; AllData.chartData2.yAxis = res.data.pipelineProblemLengthList; AllData.chartData2.yAxis2 = res.data.pipelineLengthList; AllData.chartData2.yAxis2_Name = '总长度'; AllData.chartData2.y1_Unit = 'km'; AllData.refresh2++; AllData.TjData2 = Number(res.data.pipelineLengthList.reduce((accu, curren) => Number(accu) + Number(curren))).toFixed(2); AllData.TjData2Unit = 'km'; } if (AllData.regionGrade == 'two') { // 二级Ecahrts 名称 AllData.chartData2.yAxis_Name = '问题管网'; // 数据赋值 AllData.chartData2.xAxis = res.data.regionNameList; AllData.chartData2.yAxis = res.data.pipelineProblemLengthList; AllData.chartData2.yAxis2 = res.data.pipelineLengthList; AllData.chartData2.yAxis2_Name = '总长度'; AllData.chartData2.y1_Unit = 'km'; AllData.refresh2++; AllData.TjData2 = Number(res.data.pipelineLengthList.reduce((accu, curren) => Number(accu) + Number(curren))).toFixed(2); AllData.TjData2Unit = 'km'; } if (AllData.regionGrade == 'four') { AllData.chartData3.xAxis = res.data.problemNameList; //X轴数据 AllData.chartData3.y1_Unit = 'km'; //Y轴单位 AllData.chartData3.y2_Unit = ''; //2号Y轴单位 AllData.chartData3.y2_show = false; //是否展示右侧的2号轴 AllData.chartData3.yAxis1_bar = res.data.pipelineProblemLengthList; //数据1 AllData.chartData3.yAxis1_bar_Name = '片区管网问题'; //数据1的名称 AllData.chartData3.yAxis1_bar_index = 0; AllData.chartData3.yAxis2_bar = null; //数据2 AllData.chartData3.yAxis2_bar_Name = ''; //数据1的名称 AllData.chartData3.yAxis2_bar_index = 0; AllData.chartData3.yAxis2_line = null; AllData.chartData3.yAxis2_line_Name = ''; AllData.chartData3.yAxis2_line_Index = 1; AllData.chartData3.yAxis3_line = null; AllData.chartData3.yAxis3_line_Name = ''; AllData.chartData3.yAxis3_line_Index = 1; AllData.refresh3++; AllData.TjData3 = Number( res.data.pipelineProblemLengthList.reduce((accu, curren) => Number(accu) + Number(curren)) ).toFixed(0); AllData.TjData3Unit = 'km'; // // 二级Ecahrts 名称 // AllData.chartData2.yAxis_Name = "问题管网"; // // 数据赋值 // AllData.chartData2.xAxis = res.data.regionNameList; // AllData.chartData2.yAxis = res.data.pipelineProblemLengthList; // AllData.chartData2.yAxis2 = res.data.pipelineLengthList; // AllData.chartData2.yAxis2_Name = "总长度"; // AllData.chartData2.y1_Unit = "km"; // AllData.refresh2++; // AllData.TjData2 = res.data.pipelineLengthList // .reduce((accu, curren) => Number(accu) + Number(curren)) // .toFixed(2); // AllData.TjData2Unit = "km"; } } }); }; // 获取数据 刘芳阳 一级界面的污水水量(日)/二级界面的污水水量(日)/三级界面的水量统计(日)/四级界面的排水量 const getData2 = () => { MonitorAPI.sewageWaterRegionWaterYieldAnalysis({ sewageWaterRegionId: AllData.waterRegionCode ? AllData.waterRegionCode : 0, }).then(res => { if (res && res.code == 200) { let XData = []; //片区名称 let data1 = []; //站点数 let data2 = []; //进水量 let data3 = []; //出水量 res.data.forEach(element => { XData.push(element.waterRegionName); data1.push(element.siteNum); data2.push(element.inWaterYield); data3.push(element.outWaterYield); }); if (AllData.regionGrade == 'one' || AllData.regionGrade == 'three') { AllData.chartData3.xAxis = XData; //X轴数据 AllData.chartData3.y1_Unit = '万方'; //Y轴单位 AllData.chartData3.y2_Unit = '个'; //2号Y轴单位 AllData.chartData3.y2_show = false; //是否展示右侧的2号轴 AllData.chartData3.yAxis1_bar = data2; //数据1 AllData.chartData3.yAxis1_bar_Name = '进水量'; //数据1的名称 AllData.chartData3.yAxis1_bar_index = 0; AllData.chartData3.yAxis2_bar = null; //数据2 AllData.chartData3.yAxis2_bar_Name = ''; //数据1的名称 AllData.chartData3.yAxis2_bar_index = 0; AllData.chartData3.yAxis2_line = null; AllData.chartData3.yAxis2_line_Name = ''; AllData.chartData3.yAxis2_line_Index = 1; AllData.chartData3.yAxis3_line = null; AllData.chartData3.yAxis3_line_Name = ''; AllData.chartData3.yAxis3_line_Index = 1; AllData.refresh3++; AllData.TjData3 = Number(data2.reduce((accu, curren) => Number(accu) + Number(curren))).toFixed(0); AllData.TjData3Unit = '万方'; } if (AllData.regionGrade == 'two') { AllData.chartData3.xAxis = XData; //X轴数据 AllData.chartData3.y1_Unit = '万方'; //Y轴单位 AllData.chartData3.y2_Unit = '个'; //2号Y轴单位 AllData.chartData3.y2_show = false; //是否展示右侧的2号轴 AllData.chartData3.yAxis1_bar = data2; //数据1 AllData.chartData3.yAxis1_bar_Name = '进水量'; //数据1的名称 AllData.chartData3.yAxis1_bar_index = 0; AllData.chartData3.yAxis2_bar = data3; //数据2 AllData.chartData3.yAxis2_bar_Name = '出水量'; //数据1的名称 AllData.chartData3.yAxis2_bar_index = 0; AllData.chartData3.yAxis2_line = null; AllData.chartData3.yAxis2_line_Name = ''; AllData.chartData3.yAxis2_line_Index = 1; AllData.chartData3.yAxis3_line = null; AllData.chartData3.yAxis3_line_Name = ''; AllData.chartData3.yAxis3_line_Index = 1; AllData.refresh3++; AllData.TjData3 = Number(data2.reduce((accu, curren) => Number(accu) + Number(curren))).toFixed(0); AllData.TjData3Unit = '万方'; } } }); }; // 获取数据 谢杨 一级界面的排水户统计/ 二级界面的排水户统计/ 三级界面的排水户统计 const getData3 = () => { MonitorAPI.queryDrainageUserInfo({ regionId: AllData.waterRegionCode, }).then(res => { if (res && res.code == 200) { if (AllData.regionGrade == 'one' || AllData.regionGrade == 'two' || AllData.regionGrade == 'three') { AllData.chartData1.xAxis = res.data.partitionName; //X轴数据 AllData.chartData1.y1_Unit = '个'; //Y轴单位 AllData.chartData1.y2_Unit = '个'; //2号Y轴单位 AllData.chartData1.y2_show = true; //是否展示右侧的2号轴 AllData.chartData1.yAxis1_bar = res.data.drainageNumber; //数据1 AllData.chartData1.yAxis1_bar_Name = '排水户'; //数据1的名称 AllData.chartData1.yAxis1_bar_index = 0; AllData.chartData1.yAxis2_bar = res.data.keyDrainageNumber; //数据2 AllData.chartData1.yAxis2_bar_Name = '重点排水户'; //数据1的名称 AllData.chartData1.yAxis2_bar_index = 0; AllData.chartData1.yAxis2_line = res.data.rtuNumber; AllData.chartData1.yAxis2_line_Name = '监测设备'; AllData.chartData1.yAxis2_line_Index = 1; AllData.chartData1.yAxis3_line = null; AllData.chartData1.yAxis3_line_Name = ''; AllData.chartData1.yAxis3_line_Index = 1; AllData.refresh1++; AllData.TjData1 = Number(res.data.drainageNumber.reduce((accu, curren) => Number(accu) + Number(curren))).toFixed(0); AllData.TjData1Unit = '个'; } if (AllData.regionGrade == 'four') { AllData.chartData1.xAxis = res.data.partitionName; //X轴数据 AllData.chartData1.y1_Unit = '万方'; //Y轴单位 AllData.chartData1.y2_Unit = '个'; //2号Y轴单位 AllData.chartData1.y2_show = false; //是否展示右侧的2号轴 AllData.chartData1.yAxis1_bar = res.data.drainageVolume; //数据1 AllData.chartData1.yAxis1_bar_Name = '可排水量'; //数据1的名称 AllData.chartData1.yAxis1_bar_index = 0; AllData.chartData1.yAxis2_bar = res.data.realTimeDrainage; //数据2 AllData.chartData1.yAxis2_bar_Name = '实时排水量'; //数据1的名称 AllData.chartData1.yAxis2_bar_index = 0; AllData.chartData1.yAxis2_line = null; AllData.chartData1.yAxis2_line_Name = ''; AllData.chartData1.yAxis2_line_Index = 1; AllData.chartData1.yAxis3_line = null; AllData.chartData1.yAxis3_line_Name = ''; AllData.chartData1.yAxis3_line_Index = 1; AllData.refresh1++; AllData.TjData1 = Number(res.data.drainageVolume.reduce((accu, curren) => Number(accu) + Number(curren))).toFixed(0); AllData.TjData1Unit = '万方'; } } }); }; // 获取数据 谢杨 三级界面的排水类别/四级界面的排水类别 const getData4 = () => { MonitorAPI.queryDrainageType({ regionId: AllData.waterRegionCode }).then(res => { if (res && res.code == 200) { if (AllData.regionGrade == 'three' || AllData.regionGrade == 'four') { // 三级Ecahrts 名称 AllData.chartData2.xAxis = res.data.typeName; AllData.chartData2.yAxis = null; AllData.chartData2.yAxis_Name = ''; AllData.chartData2.yAxis2 = res.data.typeNumber; AllData.chartData2.yAxis2_Name = '数量'; AllData.chartData2.y1_Unit = '个'; AllData.refresh2++; AllData.TjData1 = Number(res.data.typeNumber.reduce((accu, curren) => Number(accu) + Number(curren))).toFixed(0); AllData.TjData1Unit = '个'; } // 数据赋值 } }); }; // 获取数据 刘芳阳 上下游分析 const getDataSXY = row => { MonitorAPI.siteWaterYieldAnalysis({ stCode: row.stCode, stType: row.pointType, start: moment().format('YYYY-MM-DD') + ' 00:00:00', end: moment().format('YYYY-MM-DD') + ' 23:59:59', }).then(res => { if (res && res.code == 200) { AllData.SLFX = res.data; } }); }; const GetRightCharts = row => { getEchart({ stType: row.pointType, stCode: row.stCode, start: moment().format('YYYY-MM-DD') + ' 00:00:00', end: moment().format('YYYY-MM-DD') + ' 23:59:59', }).then(res => { if (res && res.code == 200) { res.data.datas.forEach(element => { switch (element.dataKey) { case 'z': AllData.chartDataRight.yAxis3 = element.datas; break; case 'va': AllData.chartDataRight.yAxis2 = element.datas; break; case 'pn05': AllData.chartDataRight.yAxis = element.datas; break; case 'sbl05': AllData.chartDataRight.yAxis4 = element.datas; } }); AllData.chartDataRight.xAxis = res.data.times; AllData.refreshRight++; } }); }; // 一级界面的河湖水情 // 清除本底分析echarts的数据 const clearEchartsData = () => { AllData.chartData1 = { xAxis: [], //X轴数据 y1_Unit: '', //Y轴单位 y2_Unit: '', //2号Y轴单位 y2_show: false, //是否展示右侧的2号轴 yAxis1_bar: null, //数据1 yAxis1_bar_Name: '', //数据1的名称 yAxis1_bar_index: 0, yAxis2_bar: null, //数据2 yAxis2_bar_Name: '', //数据1的名称 yAxis2_bar_index: 0, yAxis2_line: null, yAxis2_line_Name: '', yAxis2_line_Index: 0, yAxis3_line: null, yAxis3_line_Name: '', yAxis3_line_Index: 0, }; AllData.refresh1++; AllData.TjData1 = null; AllData.TjData1Unit = null; AllData.chartData3 = { xAxis: [], //X轴数据 y1_Unit: '', //Y轴单位 y2_Unit: '', //2号Y轴单位 y2_show: false, //是否展示右侧的2号轴 yAxis1_bar: null, //数据1 yAxis1_bar_Name: '', //数据1的名称 yAxis1_bar_index: 0, yAxis2_bar: null, //数据2 yAxis2_bar_Name: '', //数据1的名称 yAxis2_bar_index: 0, yAxis2_line: null, yAxis2_line_Name: '', yAxis2_line_Index: 0, yAxis3_line: null, yAxis3_line_Name: '', yAxis3_line_Index: 0, }; AllData.refresh3++; AllData.TjData3 = null; AllData.TjData3Unit = null; AllData.chartData2 = { xAxis: [], yAxis: [], yAxis2: [], yAxis_Name: '', yAxis2_Name: '', y1_Unit: 'km', }; AllData.refresh2++; AllData.TjData2 = null; AllData.TjData2Unit = null; }; onMounted(() => { let initeGLTimer = setInterval(() => { if (!newfiberMap) return; bus.on('FenQuClick', FenQuClick); getData1(); getData2(); getData3(); clearInterval(initeGLTimer); }, 100); }); onBeforeUnmount(() => { bus.off('FenQuClick'); }); </script> <style lang="scss" scoped> .WSIndex { .CrumbesTitle { width: 100%; height: 44px; background: url('@/assets/images/pictureOnMap/eachBgc.png') no-repeat center; background-size: 100% 100%; box-sizing: border-box; padding-left: 40px; display: flex; flex-direction: row; flex-wrap: nowrap; justify-content: flex-start; align-items: center; .crumbs { font-weight: bold; font-size: 20px; color: #ffffff; cursor: pointer; &:hover { color: #2291e1; } } .crumbs2 { font-weight: bold; font-size: 20px; color: #ffffff; overflow: hidden; text-overflow: ellipsis; /* 超出宽度200px后显示省略号 */ white-space: nowrap; /* 限制不允许换行 */ } } .modular1, .modular2, .modular3 { width: 100%; height: calc((100% - 50px) / 3); .modularBody { width: 100%; height: calc(100% - 50px); } } .modular1_right { width: 100%; height: calc(100% - 584px); } .modular2_right { width: 100%; height: 200px; .modularBody { width: 100%; height: calc(100% - 50px); display: flex; flex-direction: row; flex-wrap: nowrap; justify-content: space-evenly; align-items: center; .SLList { display: inline-block; width: 33.33%; height: 110px; box-sizing: border-box; padding: 15px 0; background-image: url('@/assets/images/pictureOnMap/SLFX.png'); background-repeat: no-repeat; background-size: contain; .SlList1P { width: 100%; height: 40px; line-height: 40px; text-align: center; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; .SlListNum { font-family: DINPro; font-weight: bold; font-size: 22px; color: #00fcff; } .SlListUnit { font-family: Source Han Sans CN; font-weight: 400; font-size: 16px; color: #ccdfff; } } .SlList2P { font-family: Source Han Sans CN; font-weight: 400; font-size: 16px; color: #ffffff; height: 40px; line-height: 40px; text-align: center; } } } } .modular3_right { width: 100%; height: 340px; .modularBody { width: 100%; height: calc(100% - 50px); .ListInfo100 { width: 100%; height: 38px; float: left; margin-top: 10px; display: flex; flex-direction: row; flex-wrap: nowrap; align-items: center; justify-content: flex-start; } .ListInfo50 { width: 50%; height: 38px; float: left; margin-top: 10px; display: flex; flex-direction: row; flex-wrap: nowrap; align-items: center; justify-content: flex-start; } .ListInfo_label { width: 75px; height: 38px; line-height: 38px; text-align: center; font-family: Source Han Sans CN; font-weight: bold; font-size: 14px; color: #ccdfff; } .ListInfo_value { width: calc(100% - 75px); height: 38px; line-height: 30px; background: #0d2359; border-radius: 6px; border: 1px solid #0b9bff; box-sizing: border-box; padding: 5px 5px 5px 10px; font-family: Source Han Sans CN; font-weight: 400; font-size: 14px; color: #00fcff; } } } .modularRight2 { width: 100%; height: calc(100% - 50px); overflow: auto; background: #0d2359; } } </style>