gis噪声质量统计

This commit is contained in:
weicw
2022-01-25 13:36:47 +08:00
parent 96920c3e1b
commit 81fe18d67c
4 changed files with 50 additions and 30 deletions

View File

@@ -57,6 +57,7 @@ const updateRoadNoise = function (data) {
const pageRoadNoiseStatisticUrl = '/sound/road/noise/statistic'; const pageRoadNoiseStatisticUrl = '/sound/road/noise/statistic';
const pageRoadNoiseCompare = '/sound/road/noise/statistic/compare'; const pageRoadNoiseCompare = '/sound/road/noise/statistic/compare';
const roadNoiseYearEnd = '/sound/road/noise/statistic/yearEnd'; const roadNoiseYearEnd = '/sound/road/noise/statistic/yearEnd';
const roadNoiseYear = '/sound/road/noise/statistic/year';
const getHistoryyears = function () { const getHistoryyears = function () {
return axios.get("/sound/road/noise/history-year") return axios.get("/sound/road/noise/history-year")
} }
@@ -68,6 +69,10 @@ const getGisBase = function(data){
return axios.get("/sound/road/noise/gis",{params:data}) return axios.get("/sound/road/noise/gis",{params:data})
} }
const statisticLevelYear = function (params){
return axios.get(roadNoiseYear,{params})
}
const getGisArea = function(data){ const getGisArea = function(data){
return axios.get("/sound/road/noise/gis/area",{params:data}) return axios.get("/sound/road/noise/gis/area",{params:data})
} }
@@ -100,5 +105,6 @@ export {
getGisArea, getGisArea,
roadNoiseYearEnd, roadNoiseYearEnd,
getTrendChart, getTrendChart,
getPlaceByRegionLevel getPlaceByRegionLevel,
statisticLevelYear
} }

View File

@@ -1,5 +1,5 @@
<template> <template>
<div class="map-table-container " :style="{'right':type1 == 1 ? '0px':'-500px'}"> <div class="map-table-container " :style="{'right':type1 == 1 ? '0px':'-550px'}">
<a-card title="监测数据 dB(A)" :headStyle="{'padding':'0px 5px'}" <a-card title="监测数据 dB(A)" :headStyle="{'padding':'0px 5px'}"
:bodyStyle="{'padding':'0px 5px','height':'200px','overFlow':'scroll'}"> :bodyStyle="{'padding':'0px 5px','height':'200px','overFlow':'scroll'}">
<div class="left-close-button" @click="showTable(0)" v-if="type1 == 1"> <div class="left-close-button" @click="showTable(0)" v-if="type1 == 1">
@@ -68,7 +68,7 @@ export default {
<style scoped > <style scoped >
.map-table-container { .map-table-container {
box-sizing: border-box; box-sizing: border-box;
width: 500px; width: 550px;
padding: 10px; padding: 10px;
position: absolute; position: absolute;
bottom: 0px; bottom: 0px;

View File

@@ -1,17 +1,16 @@
<template> <template>
<div class="map-table-container " :style="{'right':type1 == 1 ? '0px':'-500px'}"> <div class="map-table-container " :style="{'right':type1 == 1 ? '0px':'-550px'}">
<a-card title="道路交通噪声点位" :headStyle="{'padding':'0px 5px'}" <a-card title="道路交通噪声质量等级" :headStyle="{'padding':'0px 5px'}"
:bodyStyle="{'padding':'0px 5px','height':'200px','overFlow':'scroll'}"> :bodyStyle="{'padding':'0px 5px','height':'200px','overFlow':'scroll'}">
<div class="left-close-button" @click="showTable(0)" v-if="type1 == 1"> <div class="left-close-button" @click="showTable(0)" v-if="type1 == 1">
<img src="https://sqtt.oss-cn-qingdao.aliyuncs.com/Uploads/image/goods/2022-01-08/61d8e51ac94d2.png" alt="" <img src="https://sqtt.oss-cn-qingdao.aliyuncs.com/Uploads/image/goods/2022-01-08/61d8e51ac94d2.png" alt=""
style="width: 30px;height: 30px"> style="width: 30px;height: 30px">
</div> </div>
<div class="left-close-button" @click="showTable(1)" v-if="type1 == 0"> <div class="left-close-button" @click="showTable(1)" v-if="type1 == 0">
<img src="https://sqtt.oss-cn-qingdao.aliyuncs.com/Uploads/image/goods/2022-01-08/61d8e83754c7e.png" alt="" <img src="https://sqtt.oss-cn-qingdao.aliyuncs.com/Uploads/image/goods/2022-01-08/61d8e83754c7e.png" alt=""
style="width: 30px;height: 30px"> style="width: 30px;height: 30px">
</div> </div>
<a-table :columns="columns" :data-source="rowData" size="mini" :scroll="{y:150,x:500}" :pagination="false"> <a-table :columns="columns" :data-source="rowData" size="small" row-key="place" :scroll="{y:150,x:500}" :pagination="false">
</a-table> </a-table>
</a-card> </a-card>
</div> </div>
@@ -21,26 +20,25 @@
const columns = [ const columns = [
{ {
title: '点位名称', title: '区域',
dataIndex: 'place',
},
{
title: '点位等级',
className: 'regionLevel',
dataIndex: 'regionLevel',
},
{
title: '所属地区',
dataIndex: 'area', dataIndex: 'area',
}, },
{ {
title: '所属路段', title: '测点数量',
dataIndex: 'road', dataIndex: 'placeTotal',
}, },
{ {
title: '噪声 dB(A)', title: '道路总长',
dataIndex: 'roadLengthTotal',
},
{
title: 'LEQ',
dataIndex: 'leq', dataIndex: 'leq',
}, },
{
title: '质量等级',
dataIndex: 'level',
},
]; ];
export default { export default {
props: { props: {
@@ -68,10 +66,11 @@ export default {
<style scoped> <style scoped>
.map-table-container { .map-table-container {
box-sizing: border-box; box-sizing: border-box;
width: 500px; width: 550px;
padding: 10px; padding: 10px;
position: absolute; position: absolute;
bottom: 300px; /*bottom: 300px;*/
top: 50px;
transition: right 0.8s; transition: right 0.8s;
} }
@@ -85,7 +84,7 @@ export default {
background-color: #fff; background-color: #fff;
position: absolute; position: absolute;
left: -40px; left: -40px;
bottom: 0; top: 0;
display: flex; display: flex;
justify-content: center; justify-content: center;
align-items: center; align-items: center;

View File

@@ -9,9 +9,7 @@
<a-select @change="whereChange" name="year" v-model:value="where.monitorYear"> <a-select @change="whereChange" name="year" v-model:value="where.monitorYear">
<a-select-option v-for="item in yearOptions" :key="item.value"> <a-select-option v-for="item in yearOptions" :key="item.value">
{{ {{item.label }}
item.label
}}
</a-select-option> </a-select-option>
</a-select> </a-select>
<a-radio-group @change="whereChange" name="area" v-model:value="where.regionLevel"> <a-radio-group @change="whereChange" name="area" v-model:value="where.regionLevel">
@@ -28,19 +26,20 @@
<div id="map" ref="map" style="overflow: hidden"></div> <div id="map" ref="map" style="overflow: hidden"></div>
<tip-tool :flag="tipFlag" :x="currentX" :y="currentY" :data="tipData"></tip-tool> <tip-tool :flag="tipFlag" :x="currentX" :y="currentY" :data="tipData"></tip-tool>
<mapNominal :param="nominalList"></mapNominal> <mapNominal :param="nominalList"></mapNominal>
<!-- <map-table-center :rowData="pointData"></map-table-center>--> <map-table-center :rowData="levelData"></map-table-center>
<map-table :rowData="pointData"></map-table> <map-table :rowData="pointData"></map-table>
</div> </div>
</template> </template>
<script> <script>
import { import {
getGisBase, getGisBase,
getColumnOptions getColumnOptions,
statisticLevelYear
} from "@/api/ecology/noise/road-sound"; } from "@/api/ecology/noise/road-sound";
import tipTool from "@/views/components/tipTool"; import tipTool from "@/views/components/tipTool";
import mapNominal from "@/views/components/mapNominal"; import mapNominal from "@/views/components/mapNominal";
import mapTable from "@/views/components/mapTable"; import mapTable from "@/views/components/mapTable";
// import mapTableCenter from "@/views/components/mapTableCenter"; import mapTableCenter from "@/views/components/mapTableCenter";
let scene = null; let scene = null;
let pointLayer = null; let pointLayer = null;
@@ -51,7 +50,7 @@ export default {
tipTool, tipTool,
mapNominal, mapNominal,
mapTable, mapTable,
// mapTableCenter mapTableCenter
}, },
data() { data() {
return { return {
@@ -64,6 +63,7 @@ export default {
}, },
map: {}, map: {},
pointData: [], pointData: [],
levelData:[],
currentY: 0, currentY: 0,
currentX: 30000, currentX: 30000,
tipFlag: false, tipFlag: false,
@@ -251,6 +251,21 @@ export default {
if (scene && pointLayer) { if (scene && pointLayer) {
scene.removeLayer(pointLayer) scene.removeLayer(pointLayer)
} }
statisticLevelYear(this.where).then(res=>{
this.levelData = [];
if (res.data.code == 0 && res.data.data.length > 0) {
res.data.data.sort((a,b)=>{
if(a.area == "南宁市"){
return 1
}
if(b.area == "南宁市"){
return -1
}
return 0
})
that.levelData = res.data.data
}
})
getGisBase(this.where).then((res) => { getGisBase(this.where).then((res) => {
that.pointData = [] that.pointData = []
that.dataSource = [] that.dataSource = []