| | |
| | | // 初始化显示 |
| | | import MapConfig from '@/conf/MapConfig' |
| | | import MapConfig from './conf/MapConfig' |
| | | import '@components/plugin/PathDashFlow' // 流动线图 |
| | | import DownLoad from '@components/plugin/DownLoad' |
| | | import DownLoad from './components/plugin/DownLoad' |
| | | // 测量 |
| | | import '@components/plugin/leaflet-measure-path/leaflet-measure-path' |
| | | |
| | |
| | | import '@/components/plugin/magicMarker.css' |
| | | import '@components/plugin/pulse/Pulse' // marker 外圈波 |
| | | import '@components/plugin/pulse/Pulse.css' // marker 外圈波 css |
| | | import BasemapHelper from '@components/helpers/BasemapHelper' |
| | | import VectorLayerHelper from '@components/helpers/VectorLayerHelper' |
| | | |
| | | // import eventBus from '@/eventBus' |
| | | import eventBus from './eventBus' |
| | | import BasemapHelper from './components/helpers/BasemapHelper' |
| | | import VectorLayerHelper from './components/helpers/VectorLayerHelper' |
| | | // import eventBus from './eventBus' |
| | | |
| | | let map = null |
| | | const L = window.L |
| | |
| | | console.log(event, a, b) |
| | | }) |
| | | |
| | | eventBus.$emit('map-obj', map) |
| | | // eventBus.$emit('map-obj', map) |
| | | |
| | | window.map = map |
| | | window.L = L |
New file |
| | |
| | | <template> |
| | | <!-- <div class="public-chart">--> |
| | | <div style="width:800px;height:200px;" ref="publicChart"></div> |
| | | <!-- </div>--> |
| | | </template> |
| | | |
| | | <script> |
| | | export default { |
| | | name: 'PublicChart', |
| | | props: { |
| | | propsData: { |
| | | type: Object, |
| | | default: () => { |
| | | return {} |
| | | } |
| | | } |
| | | }, |
| | | data () { |
| | | return { |
| | | publicChart: null |
| | | } |
| | | }, |
| | | mounted () { |
| | | this.$nextTick(() => { |
| | | this.publicChart = this.$echarts.init(this.$refs.publicChart) |
| | | this.publicChart.clear() |
| | | this.publicChart.setOption(this.propsData) |
| | | window.onresize = this.publicChart.resize() |
| | | }) |
| | | }, |
| | | methods: {} |
| | | } |
| | | </script> |
| | | |
| | | <style lang="less" scoped> |
| | | |
| | | </style> |
| | |
| | | for (var l = 0; l < nameList.length; l++) { |
| | | var obj |
| | | var iconurl |
| | | if (nameList[l] === 'COD') { |
| | | if (nameList[l] === '二氧化硫') { |
| | | iconurl = 'image://../assets/imgs/legend/SO2.png' |
| | | } else if (nameList[l] === '氨氮') { |
| | | } else if (nameList[l] === '氮氧化物') { |
| | | iconurl = 'image://../assets/imgs/legend/NOX.png' |
| | | } else if (nameList[l] === '总磷') { |
| | | } else if (nameList[l] === '烟尘') { |
| | | iconurl = 'image://../assets/imgs/legend/YanChen.png' |
| | | } else if (nameList[l] === '总氮') { |
| | | iconurl = 'image://../assets/imgs/legend/zongdan.png' |
| | | } else if (nameList[l] === '非甲烷总烃') { |
| | | iconurl = 'image://../assets/imgs/legend/grn.png' |
| | | } else if (nameList[l] === '温度') { |
| | | iconurl = 'image://../assets/imgs/legend/WenDu.png' |
| | | } else { |
| | | iconurl = 'image://../assets/imgs/legend/VOCs.png' |
| | | } |
| | |
| | | if (nameList[j] === 'COD') { |
| | | zdcbcolor = 'red' |
| | | zxcolor = '#fff21c' |
| | | } else if (nameList[j] === '氨氮') { |
| | | } else if (nameList[j] === '氮氧化物') { |
| | | zdcbcolor = 'red' |
| | | zxcolor = '#00B0F0' |
| | | } else if (nameList[j] === '总磷') { |
| | | zdcbcolor = 'red' |
| | | zxcolor = '#f48183' |
| | | } else if (nameList[j] === '总氮') { |
| | | } else if (nameList[j] === '废气流量') { |
| | | zdcbcolor = 'red' |
| | | zxcolor = '#d9f2f4' |
| | | zxcolor = '#70ff49' |
| | | } else { |
| | | zdcbcolor = 'red' |
| | | zxcolor = '#9ACD32' |
| | | zxcolor = '#d9f2f4' |
| | | } |
| | | |
| | | let sdata = [] |
| | |
| | | maker = '<span style="display:inline-block;margin-right:5px;border-radius:10px;width:10px;height:10px;background-color:#f48183;"></span>' |
| | | } else if (seriesName === '温度') { |
| | | maker = '<span style="display:inline-block;margin-right:5px;border-radius:10px;width:10px;height:10px;background-color:#F206FF;"></span>' |
| | | } else { |
| | | maker = '<span style="display:inline-block;margin-right:5px;border-radius:10px;width:10px;height:10px;background-color:#4ec99c;"></span>' |
| | | } else if (seriesName === '废气流量') { |
| | | maker = '<span style="display:inline-block;margin-right:5px;border-radius:10px;width:10px;height:10px;background-color:#70ff49;"></span>' |
| | | } |
| | | s += maker + seriesName + ':' + valueFliter + '<br />' |
| | | } |
| | |
| | | type: 'value', |
| | | name: dataUnit, |
| | | max: function (value) { |
| | | const ma = value.max > 120 ? value.max : 120 |
| | | const ma = value.max > 12 ? value.max : 120 |
| | | return parseInt(ma) |
| | | }, |
| | | axisLabel: { |
| | |
| | | iconurl = 'image://../assets/imgs/legend/grn.png' |
| | | } else if (nameList[l] === '温度') { |
| | | iconurl = 'image://../assets/imgs/legend/WenDu.png' |
| | | } else { |
| | | } else if (nameList[l] === '废气流量') { |
| | | iconurl = 'image://../assets/imgs/legend/VOCs.png' |
| | | } |
| | | |
| | |
| | | if (nameList[j] === '二氧化硫') { |
| | | zdcbcolor = 'red' |
| | | zxcolor = '#fff21c' |
| | | } else if (nameList[j] === '氨氮') { |
| | | } else if (nameList[j] === '氮氧化物') { |
| | | zdcbcolor = 'red' |
| | | zxcolor = '#00B0F0' |
| | | } else if (nameList[j] === '烟尘') { |
| | | zdcbcolor = 'red' |
| | | zxcolor = '#f48183' |
| | | } else if (nameList[j] === '温度') { |
| | | } else if (nameList[j] === '废气流量') { |
| | | zdcbcolor = 'red' |
| | | zxcolor = '#F206FF' |
| | | } else { |
| | | zdcbcolor = 'red' |
| | | zxcolor = '#9ACD32' |
| | | zxcolor = '#52ff3f' |
| | | } |
| | | const ydata = { |
| | | name: nameList[j], |
| | |
| | | maker = '<span style="display:inline-block;margin-right:5px;border-radius:10px;width:10px;height:10px;background-color:#f48183;"></span>' |
| | | } else if (seriesName === '温度') { |
| | | maker = '<span style="display:inline-block;margin-right:5px;border-radius:10px;width:10px;height:10px;background-color:#F206FF;"></span>' |
| | | } else { |
| | | } else if (seriesName === '废气流量') { |
| | | maker = '<span style="display:inline-block;margin-right:5px;border-radius:10px;width:10px;height:10px;background-color:#4ec99c;"></span>' |
| | | } |
| | | s += maker + seriesName + ':' + valueFliter + '<br />' |
| | |
| | | type: 'value', |
| | | name: dataUnit, |
| | | max: function (value) { |
| | | const ma = value.max > 120 ? value.max : 120 |
| | | const ma = value.max > 12 ? value.max : 12 |
| | | return parseInt(ma) |
| | | }, |
| | | axisLabel: { |
| | |
| | | </div> |
| | | <div class="echarts-chart"> |
| | | <div style="width:5rem;height:1.5rem;" ref="echarts"></div> |
| | | <!-- <public-chart :propsData="propsData"></public-chart>--> |
| | | </div> |
| | | </div> |
| | | </template> |
| | | |
| | | <script> |
| | | |
| | | // import PublicChart from '../PublicChart' |
| | | import PublicDataStandard from '../PublicDataStandard' |
| | | import mapApi from '../../../api/mapApi' |
| | | import 'dayjs/locale/es' |
| | |
| | | export default { |
| | | name: 'WasteGasRealChart', |
| | | components: { |
| | | // PublicChart, |
| | | PublicDataStandard |
| | | }, |
| | | data () { |
| | |
| | | val: null |
| | | } |
| | | }], |
| | | propsData: {}, |
| | | |
| | | // 开始 /结束 时间 和采样点值的绑定值数据 |
| | | formData: { |
| | |
| | | const nameListTemp = [ |
| | | { |
| | | 'TJIP45.y2h508CEMS01NOX': '氮氧化物', |
| | | 'TJIP45.y2h508CEMS01SO2': '烟尘', |
| | | 'TJIP45.y2h508CEMS01F': '二氧化磷', |
| | | 'TJIP45.y2h508CEMS01PM': 'ph' |
| | | 'TJIP45.y2h508CEMS01SO2': '氧含量', |
| | | 'TJIP45.y2h508CEMS01F': '温度', |
| | | 'TJIP45.y2h508CEMS01PM': '废气流量' |
| | | // 'TJIP45.lscl2tb552AI10710': '二氧化碳' |
| | | } |
| | | ] |
| | |
| | | for (let l = 0; l < nameList.length; l++) { |
| | | let obj |
| | | let iconUrl |
| | | if (nameList[l] === 'ph') { |
| | | if (nameList[l] === '温度') { |
| | | iconUrl = 'image://../assets/imgs/legend/WenDu.png' |
| | | } else if (nameList[l] === '氮氧化物') { |
| | | iconUrl = 'image://../assets/imgs/legend/NOX.png' |
| | | } else if (nameList[l] === '烟尘') { |
| | | iconUrl = 'image://../assets/imgs/legend/zongdan.png' |
| | | } else if (nameList[l] === '二氧化磷') { |
| | | iconUrl = 'image://../assets/imgs/legend/YanChen.png' |
| | | } else if (nameList[l] === '二氧化碳') { |
| | | } else if (nameList[l] === '氧含量') { |
| | | iconUrl = 'image://../assets/imgs/legend/VOCs.png' |
| | | } else if (nameList[l] === '废气流量') { |
| | | iconUrl = 'image://../assets/imgs/legend/VOCs.png' |
| | | } |
| | | |
| | |
| | | |
| | | for (let j = 0; j < nameList.length; j++) { |
| | | let zdcbcolor, zxcolor |
| | | if (nameList[j] === 'ph') { |
| | | if (nameList[j] === '温度') { |
| | | zdcbcolor = 'red' |
| | | zxcolor = '#f206ff' |
| | | } else if (nameList[j] === '烟尘') { |
| | |
| | | } else if (nameList[j] === '氮氧化物') { |
| | | zdcbcolor = 'red' |
| | | zxcolor = '#00B0F0' |
| | | } else if (nameList[j] === '二氧化碳') { |
| | | } else if (nameList[j] === '废气流量') { |
| | | zdcbcolor = 'red' |
| | | zxcolor = '#9ACD32' |
| | | } else if (nameList[j] === '二氧化磷') { |
| | | } else if (nameList[j] === '氧含量') { |
| | | zdcbcolor = 'red' |
| | | zxcolor = '#f48183' |
| | | zxcolor = '#008000' |
| | | } |
| | | let ydata |
| | | // 临时数据 |
| | |
| | | let maker = params[i].marker |
| | | let colo = '' |
| | | switch (seriesName) { |
| | | case 'ph': |
| | | case '温度': |
| | | colo = '#f206ff' |
| | | break |
| | | case '氮氧化物': |
| | |
| | | case '烟尘': |
| | | colo = '#e0ffff' |
| | | break |
| | | case '二氧化碳': |
| | | case '废气流量': |
| | | colo = '#9ACD32' |
| | | break |
| | | case '二氧化磷': |
| | | colo = '#f48183' |
| | | case '氧含量': |
| | | colo = '#008000' |
| | | break |
| | | default: |
| | | colo = '' |
| | |
| | | // temp 临时数据判断方法 |
| | | const tempList = [ |
| | | { |
| | | 'TJIP45.lscl2tbAIA-10505-1': '氮氧化物', |
| | | 'TJIP45.lscl2tbAIA-10505-2': '烟尘', |
| | | 'TJIP45.lscl2tb552AISA11202A': '二氧化磷', |
| | | 'TJIP45.lscl2tb552AISA11201B': 'pH', |
| | | 'TJIP45.lscl2tb552AI10710': '二氧化碳' |
| | | 'TJIP45.lscl2tb552AISA11201B': 'COD', |
| | | 'TJIP45.lscl2tbAIA-10505-1': '氨氮', |
| | | 'TJIP45.lscl2tbAIA-10505-2': '总磷', |
| | | 'TJIP45.lscl2tb552AI10710': '总氮', |
| | | 'TJIP45.lscl2tb552AISA11202A': '废水流量' |
| | | } |
| | | ] |
| | | // 指标 |
| | |
| | | for (let l = 0; l < this.nameList.length; l++) { |
| | | let obj |
| | | let IconUrl |
| | | if (this.nameList[l] === 'pH') { |
| | | IconUrl = 'image://../assets/imgs/legend/WenDu.png' |
| | | } else if (this.nameList[l] === '氮氧化物') { |
| | | if (this.nameList[l] === 'COD') { |
| | | IconUrl = 'image://../assets/imgs/legend/SO2.png' |
| | | } else if (this.nameList[l] === '氨氮') { |
| | | IconUrl = 'image://../assets/imgs/legend/NOX.png' |
| | | } else if (this.nameList[l] === '烟尘') { |
| | | IconUrl = 'image://../assets/imgs/legend/zongdan.png' |
| | | } else if (this.nameList[l] === '二氧化碳') { |
| | | } else if (this.nameList[l] === '总磷') { |
| | | IconUrl = 'image://../assets/imgs/legend/YanChen.png' |
| | | } else if (this.nameList[l] === '二氧化磷') { |
| | | } else if (this.nameList[l] === '总氮') { |
| | | IconUrl = 'image://../assets/imgs/legend/zongdan.png' |
| | | } else if (this.nameList[l] === '废水流量') { |
| | | IconUrl = 'image://../assets/imgs/legend/VOCs.png' |
| | | } |
| | | if (this.nameList[l] === '废水' || this.nameList[l] === '废水流量') { // 将废水流量排到数组最后 |
| | |
| | | this.ydatas = [] |
| | | for (let j = 0; j < this.nameList.length; j++) { |
| | | let zdcbcolor, zxcolor |
| | | if (this.nameList[j] === 'pH') { |
| | | if (this.nameList[j] === 'COD') { |
| | | zdcbcolor = 'red' |
| | | zxcolor = '#900090' |
| | | zxcolor = '#ffff00' |
| | | } else if (this.nameList[j] === '氨氮') { |
| | | zdcbcolor = 'red' |
| | | zxcolor = '#00B0F0' |
| | | } else if (this.nameList[j] === '烟尘') { |
| | | } else if (this.nameList[j] === '总磷') { |
| | | zdcbcolor = 'red' |
| | | zxcolor = '#f48183' |
| | | } else if (this.nameList[j] === '总氮') { |
| | | zdcbcolor = 'red' |
| | | zxcolor = '#e0ffff' |
| | | } else { |
| | | } else if (this.nameList[j] === '废水流量') { |
| | | zdcbcolor = 'red' |
| | | zxcolor = '#9ACD32' |
| | | } |
| | |
| | | // 临时数据 |
| | | const BBZMAPPING = { |
| | | COD: 35, |
| | | pH: 9, |
| | | 总氮: 15, |
| | | 氨氮: 30, |
| | | 总磷: 0.3, |
| | | 氨氮: 3 |
| | | 总氮: 15, |
| | | 废水流量: 3 |
| | | } |
| | | for (let m = 0; m < this.RealTimeDataList.length; m++) { |
| | | let stdValue = null |
| | |
| | | let maker = params[i].marker |
| | | let colo = '' |
| | | switch (seriesName) { |
| | | case 'pH': |
| | | colo = '#900090' |
| | | case 'COD': |
| | | colo = '#ffff00' |
| | | break |
| | | case '二氧化碳': |
| | | case '氨氮': |
| | | colo = '#00B0F0' |
| | | break |
| | | case '烟尘': |
| | | case '总氮': |
| | | colo = '#e0ffff' |
| | | break |
| | | case '氮氧化物': |
| | | case '废水流量': |
| | | colo = '#9ACD32' |
| | | break |
| | | case '二氧化磷': |
| | | case '总磷': |
| | | colo = '#f48183' |
| | | break |
| | | default: |
| | |
| | | } |
| | | }, |
| | | grid: { // 网格 |
| | | top: '20%' |
| | | top: '20%', |
| | | left: '15%' |
| | | }, |
| | | legend: { |
| | | data: legend |
| | |
| | | type: 'value', |
| | | name: yname, |
| | | max: function (value) { |
| | | return parseInt(value.max + 30) |
| | | return parseInt(value.max + 3) |
| | | }, |
| | | axisLabel: { |
| | | formatter: '{value}', |
| | |
| | | for (var j in configs) { |
| | | const config = configs[j] |
| | | const checked = config.checked |
| | | console.log(zoom) |
| | | console.log(k) |
| | | // console.log(zoom) |
| | | // console.log(k) |
| | | if (checked && zoom > k) { |
| | | this.show(config) |
| | | } else if (checked && zoom < k) { |
| | |
| | | this.findLayerById(layer.getLayers(), id) |
| | | } else { |
| | | layer.eachLayer(function (layer) { |
| | | console.log(layer) |
| | | // console.log(layer) |
| | | }) |
| | | } |
| | | } |
| | |
| | | title="根据起始、结束管段进行连通性分析">清除 |
| | | </el-button> |
| | | <el-scrollbar style="height:450px"> |
| | | <el-card shadow="hover"> <!-- style="height: 300px"--> |
| | | <span class="clearfixs">起始管段</span> |
| | | <el-card shadow="hover"> |
| | | <span class="fixed-style">起始管段</span> |
| | | <el-table |
| | | ref="singleTable" |
| | | highlight-current-row |
| | |
| | | </template> |
| | | </el-table-column> |
| | | </el-table> |
| | | <span class="clearfixs">结束管段</span> |
| | | <span class="fixed-style">结束管段</span> |
| | | <el-table |
| | | max-height="200" |
| | | highlight-current-row |
| | |
| | | </template> |
| | | </el-table-column> |
| | | </el-table> |
| | | <span class="clearfixs">分析结果:<span style="color: red;">{{ currentLinkIsTrue }}</span></span> |
| | | <span class="fixed-style">分析结果:<span style="color: red;">{{ currentLinkIsTrue }}</span></span> |
| | | <el-table |
| | | highlight-current-row |
| | | max-height="200" |
| | |
| | | <el-button type="primary" @click="handleClick" size="mini" style="margin-bottom: 5px;" title="清除绘制">清除 |
| | | </el-button> |
| | | <el-card shadow="hover"> |
| | | <span class="clearfixs">发生爆裂的管段</span> |
| | | <span class="fixed-style">发生爆裂的管段</span> |
| | | <el-table |
| | | ref="singleTable" |
| | | highlight-current-row |
| | |
| | | </template> |
| | | </el-table-column> |
| | | </el-table> |
| | | <span class="clearfixs">需要关闭的阀门</span> |
| | | <span class="fixed-style">需要关闭的阀门</span> |
| | | <el-table |
| | | highlight-current-row |
| | | :data="bgFm" |
| | |
| | | <el-button type="primary" @click="jdmClear" size="mini" style="margin-bottom: 5px;" title="清除截断面分析结果">清除 |
| | | </el-button> |
| | | <el-card class="box-card"> |
| | | <div slot="header" class="clearfixs"> |
| | | <div slot="header" class="fixed-style"> |
| | | <span>管线查询结果</span> |
| | | </div> |
| | | <el-table |
| | |
| | | </el-table> |
| | | </el-card> |
| | | <el-card class="box-card"> |
| | | <div slot="header" class="clearfixs"> |
| | | <div slot="header" class="fixed-style"> |
| | | <span>断面图</span> |
| | | </div> |
| | | <span v-show="!myChartShow" style="color: #909399;font-size: 12px;">暂无数据</span> |
| | |
| | | <script> |
| | | |
| | | import eventBus from '../../../../eventBus' |
| | | // import main from "../leaflet/app/main" |
| | | import DrawLine from './AnalysisChoose/DrawLine' |
| | | import mapApi from '../../../../api/mapApi' |
| | | |
| | |
| | | // 地图点击类型 first连通性点击 second爆管点击 third流向点击 fourth横断面 |
| | | activeName: 'first', |
| | | measure: null, |
| | | map: null, |
| | | map: window.map, |
| | | |
| | | myChart: null, |
| | | myChartShow: false, |
| | | flowPipeLine: null, |
| | | |
| | | // 用于判断 |
| | | currentSelectStart: null, |
| | | currentSelectEnd: null, |
| | | currentSelectStartLine: null, |
| | |
| | | } |
| | | }, |
| | | mounted () { |
| | | // 初始化echarts图表 |
| | | this.myChart = this.$echarts.init(this.$refs.myChart) |
| | | // 全局map传递 || this.map = window.map |
| | | this.map = window.map |
| | | // 使用 DrwLine方法 |
| | | eventBus.$on('draw-hdm-line', (points) => { |
| | | this.getHdmPoint(points) |
| | |
| | | |
| | | // 流向地图上点击 |
| | | selectPipeLine () { |
| | | this.map.on('click', this.selectClick) |
| | | window.map.on('click', this.selectClick) |
| | | }, |
| | | // 地图上点击回调 |
| | | selectClick (e) { |
| | | this.map.off('click', this.selectClick) |
| | | window.map.off('click', this.selectClick) |
| | | const point = [e.latlng.lng, e.latlng.lat] |
| | | console.log(point) |
| | | this.getPipeLine(point) |
| | |
| | | |
| | | // 流向数据请求 |
| | | async getPipeLine (point) { |
| | | const param = { |
| | | x: point[0], |
| | | y: point[1], |
| | | radius: 3 |
| | | } |
| | | console.log(param) |
| | | // const param = { |
| | | // x: point[0], |
| | | // y: point[1], |
| | | // radius: 3 |
| | | // } |
| | | // console.log(param) |
| | | |
| | | // 根据参数请求接口数据 |
| | | // const res = await api.getPipeline(param) |
| | |
| | | console.log('正流向显示') |
| | | console.log(e) |
| | | |
| | | // 清除流向方法 |
| | | this.clearLX() |
| | | // const param = { |
| | | // points: e.data, |
| | |
| | | // 横断面数据请求 |
| | | async getHdmPoint (line) { |
| | | console.log('横断面的绘制线') |
| | | console.table(line) |
| | | // console.table(line) |
| | | // 横断面数据 |
| | | this.hdmParam = { |
| | | x1: line[0].lng, |
| | | y1: line[0].lat, |
| | |
| | | padding: 0; |
| | | } |
| | | |
| | | /deep/ .clearfixs { |
| | | /deep/ .fixed-style { |
| | | display: inline-block; |
| | | color: #ffffff; |
| | | margin: 15px; |