Merge branch 'develop' of http://xearth.cn:6600/r/wuyushui/SewerAndRainNetwork into develop
# Conflicts:
# src/components/LayerController/modules/LcServiceLayer.vue
New file |
| | |
| | | [ |
| | | { |
| | | "no": 0, |
| | | "company": "扬子石化", |
| | | "plate": "炼油板块", |
| | | "unitName": "芳烃厂、炼油厂", |
| | | "governName": "硫磺回收治理设施", |
| | | "Longitude": 118.7936111111, |
| | | "Latitude": 32.2583305556, |
| | | "status": 1 |
| | | }, |
| | | { |
| | | "no": 1, |
| | | "company": "中韩石化", |
| | | "plate": "炼油板块", |
| | | "unitName": "炼油二部", |
| | | "governName": "催化裂化治理设施", |
| | | "Longitude": 114.44016, |
| | | "Latitude": 30.65305, |
| | | "status": 1 |
| | | } |
| | | ] |
| | |
| | | -ms-overflow-style: none; |
| | | font-size: 12px; |
| | | } |
| | | |
| | | .popoverBoxStyle{ |
| | | border: 0.00521rem solid #00fff6; |
| | | box-shadow: 0 0 0.03rem #00fff6; |
| | | background-color: rgba(0, 16, 30, 0.7) !important; |
| | | } |
| | | </style> |
| | |
| | | getSourcesPoll (data) { |
| | | return axios.get(mapUrl.getSourcesPoll, data) |
| | | }, |
| | | getGovernEquipment (data) { |
| | | return axios.get('/assets/governEquipment.json', data) |
| | | }, |
| | | getEnvironmentRisk (data) { |
| | | return axios.get('/assets/environmentRisk.json', data) |
| | | }, |
New file |
| | |
| | | /** |
| | | * 污染源 |
| | | */ |
| | | // 信息组件 |
| | | const GovernEquipmentIndex = require('../../base-page/RiskSource/RiskSourceIndex.vue').default |
| | | // 使用封装方法 |
| | | const AnimalService = require('../service/AnimalService').default |
| | | // 请求接口数据 |
| | | const mapApi = require('../../../api/mapApi').default |
| | | // 公共方法 panTo() 引用 |
| | | const { setPanTo } = require('../../../utils/utils') |
| | | |
| | | const governGreen = '/assets/images/map/governEquipment/govern_green.png' |
| | | |
| | | module.exports = function () { |
| | | /** |
| | | * 初始化并加载图层 |
| | | * @param L leaflet对象 |
| | | */ |
| | | this.init = async (layer, L) => { |
| | | this.animalService = new AnimalService({ |
| | | L: L, |
| | | layer: layer |
| | | }) |
| | | const data = await mapApi.getGovernEquipment() |
| | | for (let i = 0; i < data.length; i++) { |
| | | const postion = [data[i].Latitude, data[i].Longitude] // 坐标 |
| | | const iconUrl = this.governIconUrl(data[i].status) // 治理设施图标 |
| | | const marker = L.marker(postion, { |
| | | totransferData: data[i], |
| | | icon: L.icon({ |
| | | iconUrl: iconUrl, |
| | | iconSize: [30, 30], |
| | | iconAnchor: [15, 15] |
| | | }) |
| | | }) |
| | | layer.addLayer(marker) |
| | | } |
| | | } |
| | | |
| | | /** |
| | | * 提示窗 |
| | | * @param layer |
| | | * @returns {string} |
| | | */ |
| | | this.bindTooltip = (layer) => { |
| | | return layer.options.totransferData.governName |
| | | } |
| | | |
| | | /** |
| | | * 信息弹窗 |
| | | * @param e |
| | | */ |
| | | this.clickListener = (e) => { |
| | | // 脉冲效果 |
| | | this.animalService.pulseEffect(e.latlng) |
| | | // 信息弹窗平移 |
| | | setPanTo(e.latlng, 200) |
| | | // 弹框标题 |
| | | const title = e.layer.options.totransferData.Name |
| | | window.$layer.open({ |
| | | content: { |
| | | comp: GovernEquipmentIndex, // 组件 |
| | | parent: this, // 父组件 |
| | | data: { // 传递的参数 |
| | | riskSourceId: e.layer.options.totransferData.no |
| | | } |
| | | }, |
| | | title: title // 标题 |
| | | }) |
| | | } |
| | | |
| | | /** |
| | | * 治理设施图标配置 |
| | | * @param t |
| | | * @returns {string} |
| | | */ |
| | | this.governIconUrl = (t) => { |
| | | let iconUrl = null |
| | | switch (t) { |
| | | case 1: |
| | | iconUrl = governGreen |
| | | break |
| | | case 2: |
| | | iconUrl = '' |
| | | break |
| | | default: |
| | | iconUrl = '' |
| | | break |
| | | } |
| | | return iconUrl |
| | | } |
| | | } |
| | |
| | | |
| | | <script> |
| | | import LcServiceLayerFilter from '@components/LayerController/modules/LcServiceLayerFilter' |
| | | |
| | | export default { |
| | | name: 'LcServiceLayer', |
| | | components: { LcServiceLayerFilter }, |
| | |
| | | <!-- <span class="grid-content">废气流量 : <i style="color: #e8ee0b">120343.18</i></span>--> |
| | | <span class="grid-content" v-for="item in dataStandard" :key="item.current.name">{{ item.current.name }} : |
| | | <i style="color: #e8ee0b">{{ item.current.val }}</i> {{ |
| | | item.standard.name ? item.standard.name + ':' : '' |
| | | item.standard.name && item.current.name.indexOf('流量') === -1 ? item.standard.name + ':' : '' |
| | | }} <i style="color: #fff">{{ item.standard.val }}</i></span> |
| | | </div> |
| | | </div> |
| | |
| | | <script> |
| | | export default { |
| | | name: 'PublicDataStandard', |
| | | watch: { |
| | | dataStandard (val, oldVal) { |
| | | this.dataStandard = val |
| | | } |
| | | }, |
| | | props: { |
| | | dataStandard: { |
| | | type: Array, |
| | |
| | | .animation { |
| | | .information { |
| | | .grid-content { |
| | | padding: 0.02rem; |
| | | background-color: #2e4967; |
| | | padding: 0.03rem 0.08rem 0.03rem 0.08rem; |
| | | text-align: center; |
| | | border-radius: 0.02rem; |
| | | line-height: 0.15rem; |
| | | margin: 0 0.05rem; |
| | | margin: 0 0.03rem; |
| | | box-shadow: 0 0 10px rgba(129,211,248,.35) inset; |
| | | } |
| | | } |
| | | } |
| | |
| | | <el-option v-for="(item,index) in formData.regionList" :key="index" :label="item" :value="item"></el-option> |
| | | </el-select> |
| | | <el-button @click="querySearch()">查询</el-button> |
| | | <el-button>明细表</el-button> |
| | | <el-popover |
| | | placement="top" |
| | | width="100%" |
| | | popper-class="popoverBoxStyle" |
| | | trigger="click"> |
| | | <dynamic-table :tableData="tableData" :tableHeader="tableConfig" v-if="tableData"></dynamic-table> |
| | | <el-button slot="reference">明细表</el-button> |
| | | </el-popover> |
| | | </div> |
| | | <div class="echarts-chart"> |
| | | <div ref="echartsDay"></div> |
| | |
| | | import dayjs from 'dayjs' |
| | | import PublicDataStandard from '../PublicDataStandard' |
| | | import mapApi from '@/api/mapApi' |
| | | import DynamicTable from '../../../views/popup/DynamicHeader/DynamicTable' // 多级表头 |
| | | |
| | | export default { |
| | | name: 'WasteWaterDayChart', |
| | | components: { |
| | | PublicDataStandard |
| | | PublicDataStandard, |
| | | DynamicTable |
| | | }, |
| | | data () { |
| | | return { |
| | | // tab栏传递接收数据 |
| | | dataStandard: [ |
| | | { |
| | | current: { |
| | | name: '氮氧化物', |
| | | val: 29.93 |
| | | }, |
| | | standard: { |
| | | name: '标准', |
| | | val: 100 |
| | | } |
| | | }, |
| | | { |
| | | current: { |
| | | name: '二氧化硫', |
| | | val: 17.34 |
| | | }, |
| | | standard: { |
| | | name: '标准', |
| | | val: 50 |
| | | } |
| | | }, |
| | | { |
| | | current: { |
| | | name: '烟尘', |
| | | val: 6.93 |
| | | }, |
| | | standard: { |
| | | name: '标准', |
| | | val: 30 |
| | | } |
| | | }, |
| | | { |
| | | current: { |
| | | name: '废气流量', |
| | | val: 120 |
| | | }, |
| | | standard: { |
| | | name: '', |
| | | val: null |
| | | } |
| | | }], |
| | | dataStandard: [], |
| | | tableData: null, |
| | | formData: { |
| | | region: '25', |
| | | regionList: [25, 50, 75, 100], |
| | |
| | | dataType: 1, |
| | | jcdID: 1, |
| | | bzz: null, |
| | | bzzList: [] |
| | | bzzList: [], |
| | | // 表头数据 |
| | | tableConfig: [ |
| | | { |
| | | id: 100, |
| | | label: '排放点', |
| | | prop: 'OnLineMonEmissPointName' |
| | | }, |
| | | { |
| | | id: 200, |
| | | label: '监测时间', |
| | | prop: 'MonTimeStr' |
| | | }, |
| | | { |
| | | id: 300, |
| | | label: 'COD', |
| | | prop: 'PoltmtrlName', |
| | | children: [ |
| | | { |
| | | id: 310, |
| | | label: '实测排放量(kg/h)', |
| | | prop: 'COD_EmissQty' |
| | | }, |
| | | { |
| | | id: 320, |
| | | label: '实测浓度(mg/l)', |
| | | prop: 'COD_MonQty' |
| | | }, |
| | | { |
| | | id: 330, |
| | | label: '标准值(mg/l)', |
| | | prop: 'COD_StdValue' |
| | | } |
| | | ] |
| | | }, |
| | | { |
| | | id: 400, |
| | | label: '氨氮', |
| | | prop: 'PoltmtrlName', |
| | | children: [ |
| | | { |
| | | id: 410, |
| | | label: '实测排放量(kg/h)', |
| | | prop: '氨氮_EmissQty' |
| | | }, |
| | | { |
| | | id: 420, |
| | | label: '实测浓度(mg/l)', |
| | | prop: '氨氮_MonQty' |
| | | }, |
| | | { |
| | | id: 430, |
| | | label: '标准值(mg/l)', |
| | | prop: '氨氮_StdValue' |
| | | } |
| | | ] |
| | | }, |
| | | { |
| | | id: 500, |
| | | label: 'PH', |
| | | prop: 'PoltmtrlName', |
| | | children: [ |
| | | { |
| | | id: 510, |
| | | label: '实测排放量(kg/h)', |
| | | prop: 'pH_EmissQty' |
| | | }, |
| | | { |
| | | id: 520, |
| | | label: '实测浓度(mg/l)', |
| | | prop: 'pH_MonQty' |
| | | }, |
| | | { |
| | | id: 530, |
| | | label: '标准值(mg/l)', |
| | | prop: 'pH_StdValue' |
| | | } |
| | | ] |
| | | }, |
| | | { |
| | | id: 600, |
| | | label: '废水流量', |
| | | prop: '', |
| | | children: [ |
| | | { |
| | | id: 610, |
| | | label: '实测流量(m³/h)', |
| | | prop: '废水流量_MonQty' |
| | | } |
| | | ] |
| | | } |
| | | ] |
| | | } |
| | | }, |
| | | mounted () { |
| | |
| | | poltMtrlId: '', |
| | | emissTypeId: '', |
| | | onLineMonEmissPointId: 23, |
| | | monItemId: 28, |
| | | monItemId: '28,31,35', // 监测项 COD、氨氮、PH |
| | | beginTime: this.formData.timeStart, |
| | | endTime: this.formData.timeEnd, |
| | | dataType: this.dataType |
| | |
| | | }, |
| | | get24HourDate (res) { |
| | | if (res.length > 0) { |
| | | this.dataStandard = [] |
| | | this.tableData = this.analysisResult(res) // 小时明细表解析结果 |
| | | // 处理数据开始 |
| | | const d = res |
| | | const nameList = [] // 存放图例 |
| | |
| | | if (nameList.length === 0) { |
| | | nameList.push(d[i].PoltmtrlName.trim()) |
| | | dateList.push(strDate) |
| | | |
| | | this.dataStandard.push({ |
| | | current: { |
| | | name: d[i].PoltmtrlName.trim(), |
| | | val: '' |
| | | }, |
| | | standard: { |
| | | name: '标准', |
| | | val: '' |
| | | } |
| | | }) |
| | | bzh.push(d[i].StdValue) |
| | | data = { |
| | | name: d[i].PoltmtrlName.trim(), |
| | | data: [d[i].MonQty] |
| | | data: [] |
| | | } |
| | | if (d[i].MonQty !== null) { |
| | | data.data.push(d[i].MonQty) |
| | | } |
| | | dataList.push(data) |
| | | } else if (nameList.indexOf(d[i].PoltmtrlName.trim()) < 0) { |
| | | nameList.push(d[i].PoltmtrlName) |
| | | bzh.push(d[i].StdValue) |
| | | this.dataStandard.push({ |
| | | current: { |
| | | name: d[i].PoltmtrlName.trim(), |
| | | val: '' |
| | | }, |
| | | standard: { |
| | | name: '标准', |
| | | val: '' |
| | | } |
| | | }) |
| | | data = { |
| | | name: d[i].PoltmtrlName.trim(), |
| | | data: [d[i].MonQty] |
| | | data: [] |
| | | } |
| | | if (d[i].MonQty !== null) { |
| | | data.data.push(d[i].MonQty) |
| | | } |
| | | dataList.push(data) |
| | | } else { |
| | |
| | | } |
| | | for (let j = 0; j < dataList.length; j++) { |
| | | if (d[i].PoltmtrlName.trim() === dataList[j].name) { |
| | | dataList[j].data.push(d[i].MonQty) |
| | | if (d[i].MonQty !== null)dataList[j].data.push(d[i].MonQty) |
| | | } |
| | | } |
| | | } |
| | |
| | | } |
| | | ydatas.push(ydata) |
| | | } |
| | | |
| | | for (var t = 0; t < this.dataStandard.length; t++) { |
| | | this.dataStandard[t].current.val = ydatas[t].data[ydatas[t].data.length - 1].toFixed(2) |
| | | this.dataStandard[t].standard.val = ydatas[t].bzz |
| | | } |
| | | const yname = '浓度(mg/l)' |
| | | this.effChartShow(legend, xdata, ydatas, yname, this.jcdID, this.datatype) |
| | | } |
| | |
| | | effChartShow (legend, xdata, ydatas, yname, jcdID, datatype) { |
| | | this.chart = this.$echarts.init(this.$refs.echartsDay) |
| | | this.chart.clear() |
| | | // console.log(this.chart) |
| | | this.chart.clear() |
| | | let dataUnit = '' |
| | | if (datatype === 1) { |
| | |
| | | biaozhuiz = bzzList[i].bzhui |
| | | } |
| | | } |
| | | if (c.value) { |
| | | if (c.value[1] > biaozhuiz) { |
| | | return zdcbcolor |
| | | } else if (c.value[1] > biaozhuiz * 0.9) { |
| | | return '#FFA500' |
| | | } else { |
| | | return '#33c95f' |
| | | } |
| | | } |
| | | }, |
| | | lineStyle: { // 折线的颜色 |
| | |
| | | } |
| | | this.chart.setOption(option) |
| | | window.onresize = this.chart.resize |
| | | }, |
| | | analysisResult (result) { |
| | | // 处理表格头 |
| | | const json = {} |
| | | const arr = [] |
| | | // 处理表格内容 |
| | | const bodyDataList = [] |
| | | const dataMap = {} |
| | | for (let i = 0; i < result.length; i++) { |
| | | json[result[i].PoltmtrlName] = result[i].PoltmtrlName |
| | | const rgdata = result[i] |
| | | const timeTag = rgdata.MonTimeStr |
| | | if (!dataMap[timeTag]) { |
| | | dataMap[timeTag] = { MonTimeStr: '' + rgdata.MonTimeStr } |
| | | } |
| | | // 往数据中添加属性数据 |
| | | const el = dataMap[timeTag] |
| | | el.OnLineMonEmissPointName = rgdata.OnLineMonEmissPointName |
| | | el[rgdata.PoltmtrlName + '_EmissQty'] = rgdata.EmissQty ? rgdata.EmissQty.toFixed(2) : '--' |
| | | el[rgdata.PoltmtrlName + '_MonQty'] = rgdata.MonQty ? rgdata.MonQty.toFixed(2) : '--' |
| | | el[rgdata.PoltmtrlName + '_StdValue'] = rgdata.StdValue ? rgdata.StdValue.toFixed(2) : '--' |
| | | } |
| | | let FSLLtemp = null |
| | | for (var key in json) { |
| | | if (key === '废水流量' || key === '废水') { |
| | | FSLLtemp = key |
| | | } else { |
| | | arr.push(key) |
| | | } |
| | | } |
| | | if (FSLLtemp != null) { |
| | | arr.push(FSLLtemp) |
| | | } |
| | | for (var p in dataMap) { |
| | | bodyDataList.push(dataMap[p]) |
| | | } |
| | | return bodyDataList |
| | | } |
| | | } |
| | | } |
| | |
| | | <el-option v-for="(item,index) in formData.regionList" :key="index" :label="item" :value="item"></el-option> |
| | | </el-select> |
| | | <el-button @click="querySearch()">查询</el-button> |
| | | <el-button>明细表</el-button> |
| | | <el-popover |
| | | placement="top" |
| | | width="100%" |
| | | popper-class="popoverBoxStyle" |
| | | trigger="click"> |
| | | <dynamic-table :tableData="tableData" :tableHeader="tableConfig" v-if="tableData"></dynamic-table> |
| | | <el-button slot="reference">明细表</el-button> |
| | | </el-popover> |
| | | </div> |
| | | <div class="echarts-chart"> |
| | | <div ref="echartsHour"></div> |
| | |
| | | import PublicDataStandard from '../PublicDataStandard' |
| | | import dayjs from 'dayjs' |
| | | import mapApi from '../../../api/mapApi' |
| | | import DynamicTable from '../../../views/popup/DynamicHeader/DynamicTable' // 多级表头 |
| | | |
| | | export default { |
| | | name: 'WasteWaterHoursChart', |
| | | components: { |
| | | PublicDataStandard |
| | | PublicDataStandard, |
| | | DynamicTable |
| | | }, |
| | | data () { |
| | | return { |
| | | // tab栏传递接收数据 |
| | | dataStandard: [ |
| | | { |
| | | current: { |
| | | name: '氮氧化物', |
| | | val: 29.93 |
| | | }, |
| | | standard: { |
| | | name: '标准', |
| | | val: 100 |
| | | } |
| | | }, |
| | | { |
| | | current: { |
| | | name: '二氧化硫', |
| | | val: 17.34 |
| | | }, |
| | | standard: { |
| | | name: '标准', |
| | | val: 50 |
| | | } |
| | | }, |
| | | { |
| | | current: { |
| | | name: '烟尘', |
| | | val: 6.93 |
| | | }, |
| | | standard: { |
| | | name: '标准', |
| | | val: 30 |
| | | } |
| | | }, |
| | | { |
| | | current: { |
| | | name: '废气流量', |
| | | val: 123 |
| | | }, |
| | | standard: { |
| | | name: '', |
| | | val: null |
| | | } |
| | | }], |
| | | dataStandard: [], |
| | | popUpName: '', |
| | | tableData: null, |
| | | mingxiBoxHtml: '', |
| | | formData: { |
| | | region: '25', |
| | | regionList: [25, 50, 75, 100], |
| | |
| | | dataType: 2, |
| | | bzz: null, |
| | | bzzList: [], |
| | | bz: '' |
| | | bz: '', |
| | | // 表头数据 |
| | | tableConfig: [ |
| | | { |
| | | id: 100, |
| | | label: '排放点', |
| | | prop: 'OnLineMonEmissPointName' |
| | | }, |
| | | { |
| | | id: 200, |
| | | label: '监测时间', |
| | | prop: 'MonTimeStr' |
| | | }, |
| | | { |
| | | id: 300, |
| | | label: 'COD', |
| | | prop: 'PoltmtrlName', |
| | | children: [ |
| | | { |
| | | id: 310, |
| | | label: '实测排放量(kg/h)', |
| | | prop: 'COD_EmissQty' |
| | | }, |
| | | { |
| | | id: 320, |
| | | label: '实测浓度(mg/l)', |
| | | prop: 'COD_MonQty' |
| | | }, |
| | | { |
| | | id: 330, |
| | | label: '标准值(mg/l)', |
| | | prop: 'COD_StdValue' |
| | | } |
| | | ] |
| | | }, |
| | | { |
| | | id: 400, |
| | | label: '氨氮', |
| | | prop: 'PoltmtrlName', |
| | | children: [ |
| | | { |
| | | id: 410, |
| | | label: '实测排放量(kg/h)', |
| | | prop: '氨氮_EmissQty' |
| | | }, |
| | | { |
| | | id: 420, |
| | | label: '实测浓度(mg/l)', |
| | | prop: '氨氮_MonQty' |
| | | }, |
| | | { |
| | | id: 430, |
| | | label: '标准值(mg/l)', |
| | | prop: '氨氮_StdValue' |
| | | } |
| | | ] |
| | | }, |
| | | { |
| | | id: 500, |
| | | label: 'PH', |
| | | prop: 'PoltmtrlName', |
| | | children: [ |
| | | { |
| | | id: 510, |
| | | label: '实测排放量(kg/h)', |
| | | prop: 'pH_EmissQty' |
| | | }, |
| | | { |
| | | id: 520, |
| | | label: '实测浓度(mg/l)', |
| | | prop: 'pH_MonQty' |
| | | }, |
| | | { |
| | | id: 530, |
| | | label: '标准值(mg/l)', |
| | | prop: 'pH_StdValue' |
| | | } |
| | | ] |
| | | }, |
| | | { |
| | | id: 600, |
| | | label: '废水流量', |
| | | prop: '', |
| | | children: [ |
| | | { |
| | | id: 610, |
| | | label: '实测流量(m³/h)', |
| | | prop: '废水流量_MonQty' |
| | | } |
| | | ] |
| | | } |
| | | ] |
| | | } |
| | | }, |
| | | mounted () { |
| | |
| | | poltMtrlId: '', |
| | | emissTypeId: '', |
| | | onLineMonEmissPointId: 23, |
| | | monItemId: 28, |
| | | monItemId: '28,31,35', // 监测项 COD、氨氮、PH |
| | | beginTime: this.formData.startTime, |
| | | endTime: this.formData.endTime, |
| | | dataType: this.dataType |
| | | } |
| | | const result = (await mapApi.getQueryOnlineMonData(data)).Result.DataInfo |
| | | // console.log(result) |
| | | this.popUpName = result[0].OnLineMonEmissPointName |
| | | this.get24HourDate(result) |
| | | }, |
| | | // 绘制小时数据折线图 |
| | | get24HourDate (result) { |
| | | if (result.length > 0) { |
| | | this.dataStandard = [] |
| | | this.tableData = this.analysisResult(result) // 小时明细表解析结果 |
| | | const d = result |
| | | const nameList = [] // 存放图例 |
| | | const dateList = [] // 存放时间 |
| | |
| | | } |
| | | } |
| | | } |
| | | |
| | | if (nameList.length === 0) { |
| | | nameList.push(d[i].PoltmtrlName.trim()) |
| | | this.dataStandard.push({ |
| | | current: { |
| | | name: d[i].PoltmtrlName.trim(), |
| | | val: 29.93 |
| | | }, |
| | | standard: { |
| | | name: '标准', |
| | | val: 100 |
| | | } |
| | | }) |
| | | dateList.push(strDate) |
| | | if ((d[i].PoltmtrlName === '废水流量' || d[i].PoltmtrlName === '废水') && d[i].MonQty < 0) { |
| | | d[i].MonQty = 0 |
| | | } |
| | | data.push(d[i].MonQty) |
| | | if (d[i].MonQty !== null)data.push(d[i].MonQty) |
| | | bzh.push(d[i].StdValue) |
| | | } else if (nameList.indexOf(d[i].PoltmtrlName.trim()) < 0) { |
| | | nameList.push(d[i].PoltmtrlName) |
| | | this.dataStandard.push({ |
| | | current: { |
| | | name: d[i].PoltmtrlName.trim(), |
| | | val: 29.93 |
| | | }, |
| | | standard: { |
| | | name: '标准', |
| | | val: 100 |
| | | } |
| | | }) |
| | | bzh.push(d[i].StdValue) |
| | | dataList.push(data) |
| | | data = [] |
| | | if ((d[i].PoltmtrlName === '废水流量' || d[i].PoltmtrlName === '废水') && d[i].MonQty < 0) { |
| | | d[i].MonQty = 0 |
| | | } |
| | | data.push(d[i].MonQty) |
| | | if (d[i].MonQty !== null)data.push(d[i].MonQty) |
| | | } else if (i === d.length - 1) { |
| | | if ((d[i].PoltmtrlName === '废水流量' || d[i].PoltmtrlName === '废水') && d[i].MonQty < 0) { |
| | | d[i].MonQty = 0 |
| | |
| | | if ((d[i].PoltmtrlName === '废水流量' || d[i].PoltmtrlName === '废水') && d[i].MonQty < 0) { |
| | | d[i].MonQty = 0 |
| | | } |
| | | data.push(d[i].MonQty) |
| | | if (d[i].MonQty !== null)data.push(d[i].MonQty) |
| | | } |
| | | } |
| | | |
| | | const newList = [] |
| | | |
| | | for (let i = 0; i < dataList.length; i++) { |
| | |
| | | // console.log(ydatas) |
| | | |
| | | const yname = '浓度(mg/l)' |
| | | |
| | | for (var t = 0; t < this.dataStandard.length; t++) { |
| | | this.dataStandard[t].current.val = ydatas[t].data[ydatas[t].data.length - 1].toFixed(2) |
| | | this.dataStandard[t].standard.val = ydatas[t].bzz |
| | | } |
| | | this.effChartShow(legend, xdata, ydatas, yname, this.jcdID, this.datatype) |
| | | } |
| | | }, |
| | |
| | | } |
| | | this.chart.setOption(option) |
| | | window.onresize = this.chart.resize |
| | | }, |
| | | analysisResult (result) { |
| | | // 处理表格头 |
| | | const json = {} |
| | | const arr = [] |
| | | // 处理表格内容 |
| | | const bodyDataList = [] |
| | | const dataMap = {} |
| | | for (let i = 0; i < result.length; i++) { |
| | | json[result[i].PoltmtrlName] = result[i].PoltmtrlName |
| | | const rgdata = result[i] |
| | | const timeTag = rgdata.MonTimeStr |
| | | if (!dataMap[timeTag]) { |
| | | dataMap[timeTag] = { MonTimeStr: '' + rgdata.MonTimeStr } |
| | | } |
| | | // 往数据中添加属性数据 |
| | | const el = dataMap[timeTag] |
| | | el.OnLineMonEmissPointName = rgdata.OnLineMonEmissPointName |
| | | el[rgdata.PoltmtrlName + '_EmissQty'] = rgdata.EmissQty ? rgdata.EmissQty.toFixed(2) : '--' |
| | | el[rgdata.PoltmtrlName + '_MonQty'] = rgdata.MonQty ? rgdata.MonQty.toFixed(2) : '--' |
| | | el[rgdata.PoltmtrlName + '_StdValue'] = rgdata.StdValue ? rgdata.StdValue.toFixed(2) : '--' |
| | | } |
| | | let FSLLtemp = null |
| | | for (var key in json) { |
| | | if (key === '废水流量' || key === '废水') { |
| | | FSLLtemp = key |
| | | } else { |
| | | arr.push(key) |
| | | } |
| | | } |
| | | if (FSLLtemp != null) { |
| | | arr.push(FSLLtemp) |
| | | } |
| | | for (var p in dataMap) { |
| | | bodyDataList.push(dataMap[p]) |
| | | } |
| | | return bodyDataList |
| | | } |
| | | } |
| | | } |
| | |
| | | display: flex; |
| | | align-items: center; |
| | | justify-content: space-between; |
| | | padding: 5px 0; |
| | | padding-left: 0.07rem; |
| | | border-bottom: 1px #243a55 solid; |
| | | |
| | | .navigation-left { |
| | | display: flex; |
| | | align-items: center; |
| | | |
| | | .uncheck { |
| | | margin: 0 10px; |
| | | cursor: pointer; |
| | | padding: 5px; |
| | | margin-left: -0.05rem; |
| | | width: .8rem; |
| | | padding: 6px 0; |
| | | /*border: 1px solid #2b87c8;*/ |
| | | /*border-radius: 4px;*/ |
| | | background-position: 0 0; |
| | | background-repeat: no-repeat; |
| | | background-size: 100% 100%; |
| | | background-image: url("../../../../public/assets/images/map-pages/title_bg.png"); |
| | | text-align: center; |
| | | vertical-align: middle !important; |
| | | color: #fff; |
| | | -webkit-transform: skew(30deg); |
| | | -moz-transform: skew(30deg); |
| | | -o-transform: skew(30deg); |
| | | transform: skew(15deg); |
| | | } |
| | | |
| | | .default-uncheck { |
| | |
| | | } |
| | | |
| | | .hover { |
| | | background-color: #0e539e; |
| | | background-image: url("../../../../public/assets/images/map-pages/title_bg2.png"); |
| | | color: #ffffff; |
| | | cursor: pointer; |
| | | } |
| | | |
| | | .hover:hover { |
| | | cursor: pointer; |
| | | padding: 5px; |
| | | border: 1px solid #5F9EA0; |
| | | border-radius: 4px; |
| | | text-align: center; |
| | | color: #F0FFFF; |
| | |
| | | } |
| | | |
| | | .navigation-left :hover { |
| | | background-color: #0e639e; |
| | | color: #fff; |
| | | cursor: pointer; |
| | | } |
| | |
| | | </el-form-item> |
| | | </div> |
| | | <el-form-item class="confirmCancel"> |
| | | <el-button type="primary" @click="submitForm('ruleForm')">确认</el-button> |
| | | <el-button @click="resetForm('ruleForm')">取消</el-button> |
| | | <el-button type="primary" size="small" @click="submitForm('ruleForm')">确认</el-button> |
| | | <el-button size="small" @click="resetForm('ruleForm')">取消</el-button> |
| | | </el-form-item> |
| | | </el-form> |
| | | <el-dialog |
| | |
| | | <el-row class="place-box"> |
| | | <div class="place-left"> |
| | | <el-form :model="LongLatPos" label-width="90px"> |
| | | <el-form-item label="经度:"> |
| | | <el-row style="display: flex;align-items: center"> |
| | | <el-form-item label="经度:" style="display: inline-block"> |
| | | <el-col :span="20"> |
| | | <el-input v-model="LongLatPos.longPos"></el-input> |
| | | </el-col> |
| | | </el-form-item> |
| | | <el-col :span="4"> |
| | | <el-button type="primary" size="small" @click="mapPoints">点击定位</el-button> |
| | | </el-col> |
| | | </el-row> |
| | | <el-row style="display: flex;align-items: center"> |
| | | <el-form-item label="纬度:"> |
| | | <el-col :span="20"> |
| | | <el-input v-model="LongLatPos.latPos"></el-input> |
| | | </el-col> |
| | | </el-form-item> |
| | | <el-col :span="4"> |
| | | <el-button type="primary" size="small" @click="dataPoints">数据定位</el-button> |
| | | </el-col> |
| | | </el-row> |
| | | </el-form> |
| | | </div> |
| | | <div class="place-right"> |
| | | <el-button type="primary" size="small" @click="mapPoints">点击定位</el-button> |
| | | <el-button type="primary" size="small" @click="dataPoints">数据定位</el-button> |
| | | </div> |
| | | <!-- <div class="place-right">--> |
| | | <!-- <el-button type="primary" size="small" @click="mapPoints">点击定位</el-button>--> |
| | | <!-- <el-button type="primary" size="small" @click="dataPoints">数据定位</el-button>--> |
| | | <!-- </div>--> |
| | | </el-row> |
| | | <div class="place-bottom" style="text-align: right;margin: 5px"> |
| | | <el-button type="primary" @click="confirm">确认</el-button> |
| | | <el-button type="primary" @click="confirm" size="small">确认</el-button> |
| | | </div> |
| | | </div> |
| | | </template> |
| | | |
| | | <script> |
| | | import { pulseEffect } from '../../../../utils/utils' |
| | | import iconUrl from '../../../../../public/assets/images/map/loc.png' |
| | | import iconUrl from '../../../../../public/assets/images/map/marker-icon.png' |
| | | import eventBus from '../../../../eventBus' |
| | | |
| | | export default { |
| | |
| | | this.marker = window.L.marker(as, { |
| | | icon: window.L.icon({ |
| | | iconUrl: iconUrl, |
| | | iconSize: [30, 30], |
| | | iconSize: [25, 45], |
| | | iconAnchor: [15, 15] |
| | | }) |
| | | }) |
| | |
| | | <el-row> |
| | | <el-input type="text" v-model="clickLocation" clearable @change="focusLocation"></el-input> |
| | | </el-row> |
| | | <el-scrollbar style="height:86.22px"> |
| | | <el-row v-for="(item,index) in searchList" :key="index" style="display: flex;align-items: center"> |
| | | <el-col :span="12"> |
| | | <span>{{ item.name }}</span> |
| | | <!-- <el-scrollbar style="height:250.34px">--> |
| | | <el-row v-for="(item,index) in searchList.slice((currentPage-1)*pageSize,currentPage*pageSize)" :key="index" |
| | | style="display: flex;align-items: center;margin: 0.1343rem 15px;text-align: left" |
| | | class="environmental-risk-list"> |
| | | <el-col :span="4"> |
| | | <img src="../../../../../public/assets/images/map/marker-icon.png" alt="" class="state" |
| | | style="background: none;margin: 0 15px"> |
| | | </el-col> |
| | | <el-col :span="12"> |
| | | <el-button type="primary" size="mini" icon="el-icon-position" @click="locationMapClick(item)">定位 |
| | | <div class=search-list> |
| | | <!-- <h4 :class="activeNum===index?'hover':''" @click="handleLocation(index)">名称:<h3 style="display: inline-block">{{ item.name }}</h3></h4>--> |
| | | <h3 :class="activeNum===index?'hover':''" @click="handleLocation(index)">名称:{{ item.name }}</h3> |
| | | <p style="text-overflow: ellipsis;white-space: nowrap;overflow: hidden">地址:<span>{{ item.address }}</span> |
| | | <p>电话:<span>{{ item.phone }}</span></p> |
| | | </div> |
| | | </el-col> |
| | | <el-col :span="8" style="text-align: right"> |
| | | <el-button type="primary" size="mini" icon="el-icon-position" @click="locationMapClick(item,index)"> |
| | | 定位 |
| | | </el-button> |
| | | </el-col> |
| | | <!-- <el-pagination--> |
| | | <!-- layout="prev, pager, next"--> |
| | | <!-- :total="50">--> |
| | | <!-- </el-pagination>--> |
| | | </el-row> |
| | | </el-scrollbar> |
| | | <!-- </el-scrollbar>--> |
| | | <!-- <el-card class="footer-page" >--> |
| | | <div v-if="total > 10"> |
| | | <el-pagination |
| | | small |
| | | @current-change="handlePage" |
| | | :page-size=pageSize |
| | | :current-page.sync="currentPage" |
| | | layout="prev, pager, next" |
| | | :total=total |
| | | class="warnPagination" |
| | | > |
| | | </el-pagination> |
| | | </div> |
| | | <!-- </el-card>--> |
| | | <el-row style="text-align: right"> |
| | | <el-button type="primary" @click="confirm">确认</el-button> |
| | | <el-button type="primary" size="small" @click="confirm">确认</el-button> |
| | | </el-row> |
| | | </div> |
| | | </template> |
| | |
| | | import { reportLocationSearch } from '../../../../api/request' |
| | | import { pulseEffect } from '../../../../utils/utils' |
| | | import eventBus from '../../../../eventBus' |
| | | import iconUrl from '../../../../../public/assets/images/map/loc.png' |
| | | import iconUrl from '../../../../../public/assets/images/map/marker-icon.png' |
| | | |
| | | export default { |
| | | name: 'ReportLocationSearch', |
| | | data () { |
| | | return { |
| | | activeNum: -1, |
| | | // 点击定位绑定数据 |
| | | clickLocation: '', |
| | | searchList: [], |
| | | marker: null |
| | | marker: null, |
| | | total: 0, |
| | | // 分页 默认展示 |
| | | currentPage: 1, |
| | | // 分页 每页多少数据 |
| | | pageSize: 3 |
| | | } |
| | | }, |
| | | methods: { |
| | | handlePage (currentPage) { |
| | | // this.focusLocation() |
| | | this.currentPage = currentPage |
| | | }, |
| | | handleLocation (index) { |
| | | this.activeNum = index |
| | | }, |
| | | // 搜索定位 |
| | | focusLocation () { |
| | | // console.log(this.clickLocation) |
| | | // console.log(window.map.getZoom()) |
| | | // console.log(window.map.getBounds()) |
| | | const getBoundsData = '' + window.map.getBounds()._southWest.lng + ',' + window.map.getBounds()._southWest.lat + ',' + window.map.getBounds()._northEast.lng + ',' + window.map.getBounds()._northEast.lat |
| | | const data = { |
| | | postStr: { |
| | |
| | | }, |
| | | type: 'query' |
| | | } |
| | | // console.log(data) |
| | | reportLocationSearch(data).then(res => { |
| | | // console.log(res) |
| | | console.log(res) |
| | | this.searchList = res.pois |
| | | // console.log(this.searchList) |
| | | // const as = res.pois[0].lonlat.trim().split(' ') |
| | | // window.map.setView([as[1], as[0]], 17) |
| | | // pulseEffect([as[1], as[0]]) |
| | | // for (let i = 0; i < res.pois.length; i++) { |
| | | // const as = res.pois[i].lonlat.trim().split(' ') |
| | | // if (res.pois[i].name.indexOf(this.clickLocation) >= 0) { |
| | | // window.map.setView([as[1], as[0]], 17) |
| | | // pulseEffect([as[1], as[0]]) |
| | | // } |
| | | // } |
| | | this.total = res.pois.length |
| | | }) |
| | | this.clickLocation = '' |
| | | }, |
| | | // 点击定位 |
| | | locationMapClick (val) { |
| | | console.log(val) |
| | | locationMapClick (val, index) { |
| | | this.activeNum = index |
| | | // console.log(val) |
| | | const ps = val.lonlat.trim().split(' ') |
| | | // const htmls = '<div><ul><li>' + val.name + '</li> + <li>' + val.adress + '</li></ul></div>' |
| | | // const htmls = '<div><ul><li>' + val.name + '</li></ul></div>' |
| | | // var myIcon = window.L.divIcon({ |
| | | // html: htmls, |
| | | // className: 'company-bindTooltip', |
| | | // iconSize: 16 |
| | | // }) |
| | | const htmls = '<div><ul><li>' + val.name + '</li> <br/> <li>' + val.address + '</li> <br/> <li>' + val.phone + '</li></ul></div>' |
| | | this.marker = window.L.marker([ps[1], ps[0]], { |
| | | icon: window.L.icon({ |
| | | iconUrl: iconUrl, |
| | | iconSize: [30, 30], |
| | | iconSize: [25, 40], |
| | | iconAnchor: [15, 15] |
| | | }) |
| | | // icon: myIcon |
| | | }) |
| | | .bindTooltip(htmls, { |
| | | // permanent: 'true', |
| | | .bindTooltip(val.name, { |
| | | permanent: 'true', |
| | | direction: 'bottom', |
| | | offset: [0, 10], |
| | | sticky: true, |
| | |
| | | /* height: 10px;*/ |
| | | /* max-height: 10px;*/ |
| | | /*}*/ |
| | | .div-list-search { |
| | | .environmental-risk-list { |
| | | color: @color; |
| | | border-bottom: 1px solid rgba(0, 255, 246, 0.14); |
| | | |
| | | h3 { |
| | | font-size: 0.1rem; |
| | | } |
| | | } |
| | | |
| | | /*<!--.environmental-risk-list:hover {-->*/ |
| | | /*<!-- color: @color-highlight;-->*/ |
| | | /*<!-- background: @background-color;-->*/ |
| | | /*<!--}-->*/ |
| | | .search-list { |
| | | h3:hover { |
| | | color: @color-highlight; |
| | | } |
| | | } |
| | | |
| | | .hover { |
| | | color: @color-highlight; |
| | | } |
| | | |
| | | .click-location { |
| | |
| | | margin: 15px auto; |
| | | } |
| | | } |
| | | |
| | | /deep/ |
| | | .warnPagination { |
| | | .btn-quicknext, .btn-quickprev { |
| | | color: #e4e8f1 !important; |
| | | background-color: transparent; |
| | | // border: 1px solid #25AECD; |
| | | border-left: 1px solid #25AECD; |
| | | border-bottom: 1px solid #25AECD; |
| | | border-top: 1px solid #25AECD; |
| | | color: #e4e8f1; |
| | | } |
| | | |
| | | .el-pager li { |
| | | color: #e4e8f1; |
| | | background: transparent; |
| | | // border: 1px solid #25AECD; |
| | | border-left: 1px solid #25AECD; |
| | | border-bottom: 1px solid #25AECD; |
| | | border-top: 1px solid #25AECD; |
| | | } |
| | | |
| | | .el-pager li.active { |
| | | border-color: #25AECD; |
| | | background-color: rgba(38, 222, 253, 0.3); |
| | | color: #e4e8f1; |
| | | } |
| | | |
| | | .el-pager li:hover { |
| | | border-color: #25AECD; |
| | | background-color: rgba(38, 222, 253, 0.3); |
| | | color: #34e0ff; |
| | | } |
| | | |
| | | .btn-prev { |
| | | background-color: transparent; |
| | | // border: 1px solid #25AECD; |
| | | border-left: 1px solid #25AECD; |
| | | border-bottom: 1px solid #25AECD; |
| | | border-top: 1px solid #25AECD; |
| | | color: #e4e8f1; |
| | | } |
| | | |
| | | .btn-next { |
| | | background-color: transparent; |
| | | border: 1px solid #25AECD; |
| | | color: #e4e8f1; |
| | | } |
| | | } |
| | | </style> |
| | |
| | | <template> |
| | | <div class="ReportLocationSection"> |
| | | <el-form :model="form" label-width="90px"> |
| | | <el-form :model="form" label-width="120px"> |
| | | <el-row class="pipe-line-search"> |
| | | <el-col :span="12"> |
| | | <el-form-item label="管线名称:"> |
| | |
| | | </el-col> |
| | | </el-row> |
| | | <el-row> |
| | | <el-col :span="12"> |
| | | <el-col :span="24"> |
| | | <el-form-item label="管段编码:"> |
| | | <el-input v-model="form.sectionName" disabled></el-input> |
| | | </el-form-item> |
| | | </el-col> |
| | | </el-row> |
| | | <el-row> |
| | | <el-col :span="12"> |
| | | <el-form-item label="附属设施:"> |
| | | <el-form-item label="附属设施名称:"> |
| | | <el-input v-model="form.affiliatedFacilities" disabled></el-input> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="12"> |
| | | <el-form-item label="附属设施编码:"> |
| | | <el-input v-model="form.affiliatedFacilitiesCode" disabled></el-input> |
| | | </el-form-item> |
| | | </el-col> |
| | | </el-row> |
| | |
| | | </el-card> |
| | | </div> |
| | | <el-row style="text-align: right;margin: 10px"> |
| | | <el-button type="primary" @click="confirm">确认</el-button> |
| | | <el-button type="primary" @click="confirm" size="small">确认</el-button> |
| | | </el-row> |
| | | </div> |
| | | </template> |
| | |
| | | form: { |
| | | pipeName: '', |
| | | sectionName: '', |
| | | affiliatedFacilities: '' |
| | | affiliatedFacilities: '', |
| | | affiliatedFacilitiesCode: '' |
| | | }, |
| | | // 管线查询数据列表 |
| | | tableList: [], |
| | |
| | | this.tableList = res.features |
| | | } |
| | | this.wfsHelper = new WfsHelper() |
| | | this.form.pipeName = '' |
| | | // this.form.pipeName = '' |
| | | this.form.sectionName = '' |
| | | this.form.affiliatedFacilities = '' |
| | | this.form.affiliatedFacilitiesCode = '' |
| | | }, |
| | | // 点击管线列表 展示管段内容 和附属设施内容 |
| | | async sectionShowClick (val) { |
| | | console.log(val) |
| | | // 如果 SectionAndAffFacTableJudge === true 是搜索数据结果的列表 可以进行 管段 附属设施交互 点击定位查询结果 不进行点击交互 |
| | | sectionShowClick (val) { |
| | | // console.log(val) |
| | | // this.SectionAndAffFacTableJudge = true |
| | | if (this.SectionAndAffFacTableJudge === true) { |
| | | this.searchSection(val) |
| | | this.searchAffFacData(val) |
| | | } |
| | | }, |
| | | // 管段查询 |
| | | async searchSection (val) { |
| | | const sectionNameSearch = val.properties.pipename |
| | | this.tableListSection = [] |
| | | this.wfsHelper.clearFilter() |
| | |
| | | if (res instanceof Object && Object.prototype.hasOwnProperty.call(res, 'features')) { |
| | | this.tableListSection = res.features |
| | | } |
| | | this.wfsHelper = new WfsHelper() |
| | | }, |
| | | // 附属设施查询 |
| | | async searchAffFacData (val) { |
| | | this.tableDataAffFac = [] |
| | | const AffFacSearch = val.properties.pipecode |
| | | console.log(AffFacSearch) |
| | | this.wfsHelper.clearFilter() |
| | | this.wfsHelper.setTypeName(['sewer:view_pipeline']) |
| | | this.wfsHelper.addLike('pipecode', AffFacSearch) |
| | |
| | | const resAffFac = await AjaxUtils.GetDataAsynByUrl(this.wfsHelper.getUrl(), {}) |
| | | console.log(resAffFac) |
| | | if (resAffFac instanceof Object && Object.prototype.hasOwnProperty.call(resAffFac, 'features')) { |
| | | // for (let i = 0; i < resAffFac.features.length; i++) { |
| | | // // console.log(resAffFac.features[i]) |
| | | // this.tableDataAffFac.push(resAffFac.features[i].properties) |
| | | // } |
| | | this.tableDataAffFac = resAffFac.features |
| | | } |
| | | }, |
| | | // 搜索的公共方法优化 |
| | | async publicSearch (searchVal, searchKeyword, searchTypeName, tableListData) { |
| | | tableListData = [] |
| | | this.wfsHelper = new WfsHelper() |
| | | this.wfsHelper.clearFilter() |
| | | this.wfsHelper.setTypeName(searchTypeName) |
| | | this.wfsHelper.addLike(searchKeyword, searchVal) |
| | | this.wfsHelper.addEquals(searchKeyword, '\'' + searchVal + '\'') |
| | | const res = await AjaxUtils.GetDataAsynByUrl(this.wfsHelper.getUrl(), {}) |
| | | // console.log(res) |
| | | if (res instanceof Object && Object.prototype.hasOwnProperty.call(res, 'features')) { |
| | | tableListData = res.features |
| | | } |
| | | }, |
| | | // 点击管段列表 管段编码传递 |
| | | sectionCode (val) { |
| | | // console.log(val) |
| | | this.form.sectionName = val.properties.pipecode |
| | | this.form.sectionName = val.properties.pipesegcode |
| | | }, |
| | | // 点击附属设施列表 管段编码传递 |
| | | affFacName (val) { |
| | | // console.log(val) |
| | | console.log(val) |
| | | this.form.affiliatedFacilities = val.properties.name |
| | | this.form.affiliatedFacilitiesCode = val.properties.code |
| | | }, |
| | | // 定位功能 |
| | | localAdr (val) { |
| | |
| | | pipeClickLocation () { |
| | | // 设施不进行 管线表格数据的点击交互 |
| | | this.SectionAndAffFacTableJudge = false |
| | | if (this.SectionAndAffFacTableJudge === false) { |
| | | // 点击获取数据 |
| | | window.map.on('click', (e) => { |
| | | this.SectionAndAffFacTableJudge = false |
| | | // 点击地图关闭弹框 |
| | | window.mapManager.clickDialogSwitch = false |
| | | // 管线点击数据 |
| | |
| | | // 关闭点击事件 |
| | | window.map.off('click') |
| | | }) |
| | | } |
| | | // 数据 重新获取 进行置空 |
| | | this.form.pipeName = '' |
| | | this.form.sectionName = '' |
| | | this.form.affiliatedFacilities = '' |
| | | this.form.affiliatedFacilitiesCode = '' |
| | | this.tableList = [] |
| | | this.tableListSection = [] |
| | | this.tableDataAffFac = [] |
| | |
| | | BBOX: window.map.getBounds().toBBoxString() |
| | | }, defaultWmsParams) |
| | | AjaxUtils.get4JsonDataByUrl(WMS_URL, wmsParams, (res) => { |
| | | console.log(res) |
| | | // console.log(res) |
| | | for (let i = 0; i < res.data.features.length; i++) { |
| | | dataList.push(res.data.features[i]) |
| | | } |
| | |
| | | <i class="state"></i> |
| | | <div> |
| | | <h3> |
| | | <span @click="disposalfx">件名称:XXX事件</span> |
| | | <span @click="disposalfx">事件名称:XXX事件</span> |
| | | <el-button class="rt btn00fff6" size="mini" style="margin-right: 0.04rem;" |
| | | @click="startAnalysis"> |
| | | <span>开始分析</span> |
| | |
| | | import EnvironmentalRisk from '@components/table/components/EnvironmentalRisk' |
| | | import Pipeline from '@components/table/components/Pipeline' |
| | | import CorporateEmergency from '@components/table/components/CorporateEmergency' |
| | | import { TopicList } from '../../../conf/Topic' |
| | | import { topicList } from '../../../conf/Topic' |
| | | export default { |
| | | name: 'tabHandover', |
| | | components: { |
| | |
| | | return { |
| | | titleProp: '', |
| | | activeName: '污染源', |
| | | topicList: TopicList, // tab项 |
| | | topicList: topicList, // tab项 |
| | | gcComp: PollutionSource |
| | | } |
| | | }, |
| | |
| | | } |
| | | |
| | | export const logicMapper = { |
| | | wasteGasPfk: 'WasteGas.js', |
| | | wasteWaterPfk: 'WasteWater.js', |
| | | wasteSolidCcd: 'WasteSolid.js', |
| | | wasteGasPfk: 'WasteGas.js', // 废气 |
| | | wasteWaterPfk: 'WasteWater.js', // 废水 |
| | | wasteSolidCcd: 'WasteSolid.js', // 固废 |
| | | sewersAreaGs: 'Company.js', |
| | | pipesegment: 'PipeLineAnimal.js', |
| | | pollutionSources: 'SourcesPollution.js', |
| | | pollutionSourcesZlss: 'GovernEquipment.js', // 污染源-治理设施 |
| | | envRiskChart: 'EnvironmentRisk.js', // 风险统计图 |
| | | envRiskMajor: 'RiskSource.js', // 重大风险源 |
| | | envRiskFirst: 'RiskSource.js', // 一级风险源 |
| | |
| | | name: '重大风险', |
| | | sname: '重大风险', |
| | | checked: false, // 默认选中状态 |
| | | minZoom: 10, |
| | | // minZoom: 10, |
| | | color: 'red', |
| | | level: 0 |
| | | }, |
| | |
| | | sname: '一级风险', |
| | | checked: false, // 默认选中状态 |
| | | type: 0, |
| | | minZoom: 10, |
| | | // minZoom: 10, |
| | | color: 'sandybrown', |
| | | level: 1 |
| | | }, |
| | |
| | | sname: '二级风险', |
| | | checked: false, |
| | | type: 0, |
| | | minZoom: 10, |
| | | // minZoom: 10, |
| | | color: 'yellow', |
| | | level: 2 |
| | | }, |
| | |
| | | sname: '三级风险', |
| | | checked: false, |
| | | type: 0, |
| | | minZoom: 10, |
| | | // minZoom: 10, |
| | | color: 'green', |
| | | level: 3 |
| | | } |
New file |
| | |
| | | <template> |
| | | <el-table :data="tableData" border :height="height"> |
| | | <template v-for="item in tableHeader"> |
| | | <table-column v-if="item.children && item.children.length" :key="item.id" :coloumn-header="item"></table-column> |
| | | <el-table-column v-else :key="item.id" :label="item.label" :prop="item.prop" align="center"></el-table-column> |
| | | </template> |
| | | </el-table> |
| | | </template> |
| | | |
| | | <script> |
| | | import TableColumn from './TableColumn' |
| | | export default { |
| | | props: { |
| | | // 表格的数据 |
| | | tableData: { |
| | | type: Array, |
| | | required: true |
| | | }, |
| | | // 多级表头的数据 |
| | | tableHeader: { |
| | | type: Array, |
| | | required: true |
| | | }, |
| | | // 表格的高度 |
| | | height: { |
| | | type: String, |
| | | default: '340' |
| | | } |
| | | }, |
| | | components: { |
| | | TableColumn |
| | | }, |
| | | watch: { |
| | | tableData (val, oldVal) { |
| | | this.tableData = val |
| | | } |
| | | } |
| | | } |
| | | </script> |
| | | |
| | | <style scoped> |
| | | |
| | | </style> |
New file |
| | |
| | | <template> |
| | | <el-table-column :label="coloumnHeader.label" :prop="coloumnHeader.label" align="center"> |
| | | <template v-for="item in coloumnHeader.children"> |
| | | <tableColumn v-if="item.children && item.children.length" :key="item.id" :coloumn-header="item"></tableColumn> |
| | | <el-table-column v-else :key="item.name" :label="item.label" :prop="item.prop" align="center"></el-table-column> |
| | | </template> |
| | | </el-table-column> |
| | | </template> |
| | | |
| | | <script> |
| | | export default { |
| | | name: 'tableColumn', |
| | | props: { |
| | | coloumnHeader: { |
| | | type: Object, |
| | | required: true |
| | | } |
| | | } |
| | | } |
| | | </script> |
| | | |
| | | <style scoped> |
| | | |
| | | </style> |