Merge remote-tracking branch 'origin/develop' into develop
# Conflicts:
# src/components/base-page/enterprise-emergency/event-handling/DisposalProposed.vue
# src/components/base-page/enterprise-emergency/event-handling/EventHandling.vue
# src/components/panel/topicSearch/enterprise-emergency/EventQuery.vue
3个文件已删除
22个文件已添加
24个文件已修改
1 文件已重命名
New file |
| | |
| | | [ |
| | | { |
| | | "UserName": "集团名称", |
| | | "WasteWaters": "", |
| | | "AddOutPut": "", |
| | | "MonthOutPut": "", |
| | | "NH4NPut": "", |
| | | "NH4NMonth": "", |
| | | "normal": "", |
| | | "overProof": "", |
| | | "Abnormal": "", |
| | | "StopProduction": "", |
| | | "deficiency": "" |
| | | }, |
| | | { |
| | | "UserName": "天津石化", |
| | | "WasteWaters": "116.6", |
| | | "AddOutPut": "58", |
| | | "MonthOutPut": "13", |
| | | "NH4NPut": "58", |
| | | "NH4NMonth": "13", |
| | | "normal": "21", |
| | | "overProof": "2", |
| | | "Abnormal": "2", |
| | | "StopProduction": "2", |
| | | "deficiency": "2" |
| | | }, |
| | | { |
| | | "UserName": "xxxx炼化3", |
| | | "WasteWaters": "116", |
| | | "MonthOutPut": "13", |
| | | "NH4NPut": "58", |
| | | "NH4NMonth": "13", |
| | | "normal": "21", |
| | | "overProof": "2", |
| | | "Abnormal": "2", |
| | | "StopProduction": "2", |
| | | "deficiency": "2" |
| | | }, |
| | | { |
| | | "UserName": "xxxx4", |
| | | "WasteWaters": "116", |
| | | "AddOutPut": "58", |
| | | "MonthOutPut": "13", |
| | | "NH4NPut": "58", |
| | | "NH4NMonth": "13", |
| | | "normal": "21", |
| | | "overProof": "2", |
| | | "Abnormal": "2", |
| | | "StopProduction": "2", |
| | | "deficiency": "2" |
| | | } |
| | | ] |
New file |
| | |
| | | [ |
| | | [ |
| | | { |
| | | "no": 1, |
| | | "company": "扬子石化", |
| | | "plate": "炼油板块", |
| | | "unitname": "芳烃厂、炼油厂", |
| | | "riskname": "硫回收装置大量酸性气紧急排放环境风险", |
| | | "depiction": "R/Q描述:115.48。\nM值描述:30分。1. 氧化工艺, 10;2.1# 硫回收装置雨水系统防控措施不完善, 10 分;3. 硫回收装置毒性气体处置装备不完善, 10 分。 E界定因素: E1。 环境风险源周边5km范围内居住区、 医疗卫生机构、 文化教育机构、 科研单位、 行政机关、 企事业单位、 商场、 公园等人口总数5万人以上; 或0 .5 km范围内社会人口总数大于1000人。 ", |
| | | "after": "R4(115.48)M1(10)E1", |
| | | "Longitude": 118.7936111111, |
| | | "Latitude": 32.2583305556, |
| | | "iconType": 1 |
| | | }, |
| | | { |
| | | "no": 2, |
| | | "company": "扬子石化", |
| | | "plate": "化工板块", |
| | | "unitname": "水厂", |
| | | "riskname": "净一污水处理装置超标排放风险", |
| | | "depiction": "1.环境风险物质数量与临界量比值评估\n环境风险物质为:COD大于10000mg/L的废液,总量250t,临界值10t,R=25,计为R3。 2. 环境风险控制水平M评估( 1) 设备质量管理评估: 存在设备超期使用或降等级使用, M值计10;( 2) 环境风险监测预警措施评估: 环境监测因子不完善, M值计5;( 3) 环境风险防控措施有效性评估: 环境风险源具备有效的手动紧急关断措施, M值计3; 事故水储存能力不够, M值计10; 汇总M = 28, 15≤ M < 30, 环境风险控制水平为M2类。 3. 环境风险受体敏感性E评估 1# 排口处于长江水体, 下游10km范围内有饮用水水源保护区特殊生态系统等多类环境风险受体, 受体风险类型E1。 ", |
| | | "after": "R3(25)M1(10)E1", |
| | | "Longitude": 118.8174111111, |
| | | "Latitude": 32.2429611111, |
| | | "iconType": 1 |
| | | } |
| | | ],[ |
| | | { |
| | | "no": 1, |
| | | "company": "长岭炼化", |
| | | "plate": "化工板块", |
| | | "unitname": "化工部", |
| | | "riskname": "环氧丙烷联合装置", |
| | | "depiction": "R描述:90.4585 M值描述:25 1、涉及易燃易爆物质 10 2、一般生产安全事故隐患未完成整改(环氧丙烷(甲B类液体)的装车未采用液下装卸车鹤管已在设计;甲醇加氢反应器无安全设施项目正在设计;双氧水装置萃取塔紧急排放不当项目已在设计;环氧丙烷反应器紧急排放风险已制定预案。) 10 3、所在厂区清净雨水通过自流方式排出厂界 5 E界定因素:排水进入受纳河流最大流速时,24小时流经范围内涉跨国界或省界的E1", |
| | | "after": "R3(90)M2(25)E1", |
| | | "Longitude": 113.36571, |
| | | "Latitude": 29.54677, |
| | | "iconType": 2 |
| | | }, |
| | | { |
| | | "no": 2, |
| | | "company": "长岭炼化", |
| | | "plate": "化工板块", |
| | | "unitname": "港口部", |
| | | "riskname": "码头(0708#油品)", |
| | | "depiction": "R/Q描述:Q值:29.18 M值描述:M值:30 1、未按规定或政府要求设置环境风险物质泄漏监测预警措施,5; 2紧急切断阀为手动操作方式,5; 3、作业区污水收集措施不完善,10; 4、驳位至陆地管道悬空,引桥防泄漏措施不完善,10。 E界定因素:码头位于长江沿岸,24小时流经范围跨省(至湖北)", |
| | | "after": "Q3(29)M3(30)E1", |
| | | "Longitude": 113.2917, |
| | | "Latitude": 29.60036, |
| | | "iconType": 2 |
| | | } |
| | | ],[ |
| | | { |
| | | "no": 1, |
| | | "company": "长岭炼化", |
| | | "plate": "化工板块", |
| | | "unitname": "港口部", |
| | | "riskname": "码头(0506#油品)", |
| | | "depiction": "R/Q描述:Q值:19.71 M值描述:M值:30 1、未按规定或政府要求设置环境风险物质泄漏监测预警措施,5; 2紧急切断阀为手动操作方式,5; 3、作业区污水收集措施不完善,10; 4、驳位至陆地管道悬空,引桥防泄漏措施不完善,10。 E界定因素:码头位于长江沿岸,24小时流经范围跨省(至湖北)", |
| | | "after": "Q3(19)M3(30)E1", |
| | | "Longitude": 113.27935, |
| | | "Latitude": 29.59832, |
| | | "iconType": 3 |
| | | }, |
| | | { |
| | | "no": 2, |
| | | "company": "长岭炼化", |
| | | "plate": "化工板块", |
| | | "unitname": "港口部", |
| | | "riskname": "码头(0506#化学品)", |
| | | "depiction": "R/Q描述:2.108。M值描述:30分。1.未按规定或政府要求设置环境风险物质泄漏监测预警措施,5分;2.紧急切断阀为手动操作方式,5分;3.作业区污水收集措施不完善,10分;4.驳位至陆地管道悬空,引桥防泄漏措施不完善,10分。E界定因素:码头位于长江沿岸,24小时流经范围跨省(至湖北)。", |
| | | "after": "R3(2.1)M3(30)E2", |
| | | "Longitude": 113.28155, |
| | | "Latitude": 29.59842, |
| | | "iconType": 3 |
| | | } |
| | | ],[ |
| | | { |
| | | "no": 1, |
| | | "company": "中韩石化", |
| | | "plate": "炼油板块", |
| | | "unitname": "炼油二部", |
| | | "riskname": "1#催化裂化装置", |
| | | "depiction": "R值:1#催化承担中石化武汉分公司重质油加工任务,评级为R3。M值:装置涉及危险工艺,裂解(裂化)工艺,高温,工艺温度≥300℃,10分;雨水排放口非提升排放,5分:评为M2。E值:环境受体为长江,下游10km阳逻电厂取水口;判为E1。", |
| | | "after": "R3M2E1", |
| | | "Longitude": 114.44016, |
| | | "Latitude": 30.65305, |
| | | "iconType": 4 |
| | | } |
| | | ] |
| | | ] |
New file |
| | |
| | | [ |
| | | { |
| | | "date": "集团公司", |
| | | "name": "35", |
| | | "province": "23", |
| | | "city": "11", |
| | | "address": 235, |
| | | "zip": 23 |
| | | }, |
| | | { |
| | | "date": "天津石化", |
| | | "name": 32, |
| | | "province": 33, |
| | | "city": 44, |
| | | "address": 53, |
| | | "zip": 200333 |
| | | }, |
| | | { |
| | | "date": "济南炼化", |
| | | "name": 35, |
| | | "province": 13, |
| | | "city": 33, |
| | | "address": 44, |
| | | "zip": 200333 |
| | | } |
| | | ] |
New file |
| | |
| | | [ |
| | | { |
| | | "date": "集团公司", |
| | | "name": 1, |
| | | "province": 1, |
| | | "city": 0, |
| | | "address": 1, |
| | | "zip": 0 |
| | | }, |
| | | { |
| | | "date": "天津石化", |
| | | "name": 1, |
| | | "province": 0, |
| | | "city": 1, |
| | | "address": 1, |
| | | "zip": 2 |
| | | }, |
| | | { |
| | | "date": "XXX炼化", |
| | | "name": 1, |
| | | "province": 2, |
| | | "city": 0, |
| | | "address": 0, |
| | | "zip": 1 |
| | | }, |
| | | { |
| | | "date": "XXX炼化2", |
| | | "name": 1, |
| | | "province": 2, |
| | | "city": 0, |
| | | "address": 0, |
| | | "zip": 1 |
| | | } |
| | | ] |
New file |
| | |
| | | [ |
| | | { |
| | | "UserName": "集团公司", |
| | | "ProductionFacilities": 45, |
| | | "GovernanceFacilities": 32 |
| | | }, |
| | | { |
| | | "UserName": "北京石油", |
| | | "ProductionFacilities": 22, |
| | | "GovernanceFacilities": 14 |
| | | }, |
| | | { |
| | | "UserName": "天津石化", |
| | | "ProductionFacilities": 3, |
| | | "GovernanceFacilities": 12 |
| | | }, |
| | | { |
| | | "UserName": "贵州石油", |
| | | "ProductionFacilities": 10, |
| | | "GovernanceFacilities": 6 |
| | | } |
| | | ] |
New file |
| | |
| | | [ |
| | | { |
| | | UserName: '集团名称', |
| | | WasteWaters: '', |
| | | AddOutPut: '', |
| | | MonthOutPut: '', |
| | | NH4NPut: '', |
| | | NH4NMonth: '', |
| | | normal: '', |
| | | overProof: '', |
| | | Abnormal: '', |
| | | StopProduction: '', |
| | | deficiency: '' |
| | | }, |
| | | { |
| | | UserName: '天津石化', |
| | | WasteWaters: '116.6', |
| | | AddOutPut: '58.3', |
| | | MonthOutPut: '13.1', |
| | | NH4NPut: '58.3', |
| | | NH4NMonth: '13.1', |
| | | normal: '21', |
| | | overProof: '2', |
| | | Abnormal: '2', |
| | | StopProduction: '2', |
| | | deficiency: '2' |
| | | }, |
| | | { |
| | | UserName: 'xxxx炼化3', |
| | | WasteWaters: '116.6', |
| | | MonthOutPut: '13.1', |
| | | NH4NPut: '58.3', |
| | | NH4NMonth: '13.1', |
| | | normal: '21', |
| | | overProof: '2', |
| | | Abnormal: '2', |
| | | StopProduction: '2', |
| | | deficiency: '2' |
| | | }, |
| | | { |
| | | UserName: 'xxxx4', |
| | | WasteWaters: '116.6', |
| | | AddOutPut: '58.3', |
| | | MonthOutPut: '13.1', |
| | | NH4NPut: '58.3', |
| | | NH4NMonth: '13.1', |
| | | normal: '21', |
| | | overProof: '2', |
| | | Abnormal: '2', |
| | | StopProduction: '2', |
| | | deficiency: '2' |
| | | } |
| | | ] |
New file |
| | |
| | | [ |
| | | { |
| | | "date": "集团公司", |
| | | "name": 1, |
| | | "province": 1, |
| | | "city": 0, |
| | | "address": 1, |
| | | "zip": 0 |
| | | }, |
| | | { |
| | | "date": "天津石化", |
| | | "name": 1, |
| | | "province": 0, |
| | | "city": 1, |
| | | "address": 1, |
| | | "zip": 2 |
| | | }, |
| | | { |
| | | "date": "XXX炼化", |
| | | "name": 1, |
| | | "province": 2, |
| | | "city": 0, |
| | | "address": 0, |
| | | "zip": 1 |
| | | }, |
| | | { |
| | | "date": "XXX炼化2", |
| | | "name": 1, |
| | | "province": 2, |
| | | "city": 0, |
| | | "address": 0, |
| | | "zip": 1 |
| | | } |
| | | ] |
New file |
| | |
| | | [ |
| | | { |
| | | "UserName": "集团名称", |
| | | "WasteWaters": "", |
| | | "AddOutPut": "", |
| | | "MonthOutPut": "", |
| | | "NH4NPut": "", |
| | | "NH4NMonth": "", |
| | | "normal": "", |
| | | "overProof": "", |
| | | "Abnormal": "", |
| | | "StopProduction": "", |
| | | "deficiency": "" |
| | | }, |
| | | { |
| | | "UserName": "天津石化", |
| | | "WasteWaters": "116.6", |
| | | "AddOutPut": "58.3", |
| | | "MonthOutPut": "13.1", |
| | | "NH4NPut": "58.3", |
| | | "NH4NMonth": "13.1", |
| | | "normal": "21", |
| | | "overProof": "2", |
| | | "Abnormal": "2", |
| | | "StopProduction": "2", |
| | | "deficiency": "2" |
| | | }, |
| | | { |
| | | "UserName": "xxxx炼化3", |
| | | "WasteWaters": "116.6", |
| | | "MonthOutPut": "13.1", |
| | | "NH4NPut": "58.3", |
| | | "NH4NMonth": "13.1", |
| | | "normal": "21", |
| | | "overProof": "2", |
| | | "Abnormal": "2", |
| | | "StopProduction": "2", |
| | | "deficiency": "2" |
| | | }, |
| | | { |
| | | "UserName": "xxxx4", |
| | | "WasteWaters": "116.6", |
| | | "AddOutPut": "58.3", |
| | | "MonthOutPut": "13.1", |
| | | "NH4NPut": "58.3", |
| | | "NH4NMonth": "13.1", |
| | | "normal": "21", |
| | | "overProof": "2", |
| | | "Abnormal": "2", |
| | | "StopProduction": "2", |
| | | "deficiency": "2" |
| | | } |
| | | ] |
New file |
| | |
| | | [ |
| | | { |
| | | "UserName": "集团名称", |
| | | "WasteWaters": "", |
| | | "AddOutPut": "", |
| | | "MonthOutPut": "", |
| | | "NH4NPut": "", |
| | | "NH4NMonth": "", |
| | | "normal": "", |
| | | "overProof": "", |
| | | "Abnormal": "", |
| | | "StopProduction": "", |
| | | "deficiency": "" |
| | | }, |
| | | { |
| | | "UserName": "天津石化", |
| | | "WasteWaters": "116.6", |
| | | "AddOutPut": "58.3", |
| | | "MonthOutPut": "13.1", |
| | | "NH4NPut": "58.3", |
| | | "NH4NMonth": "13.1", |
| | | "normal": "21", |
| | | "overProof": "2", |
| | | "Abnormal": "2", |
| | | "StopProduction": "2", |
| | | "deficiency": "2" |
| | | }, |
| | | { |
| | | "UserName": "xxxx炼化3", |
| | | "WasteWaters": "116.6", |
| | | "MonthOutPut": "13.1", |
| | | "NH4NPut": "58.3", |
| | | "NH4NMonth": "13.1", |
| | | "normal": "21", |
| | | "overProof": "2", |
| | | "Abnormal": "2", |
| | | "StopProduction": "2", |
| | | "deficiency": "2" |
| | | }, |
| | | { |
| | | "UserName": "xxxx4", |
| | | "WasteWaters": "116.6", |
| | | "AddOutPut": "58.3", |
| | | "MonthOutPut": "13.1", |
| | | "NH4NPut": "58.3", |
| | | "NH4NMonth": "13.1", |
| | | "normal": "21", |
| | | "overProof": "2", |
| | | "Abnormal": "2", |
| | | "StopProduction": "2", |
| | | "deficiency": "2" |
| | | } |
| | | ] |
| | |
| | | // 测试环境IP:http://10.238.221.113 |
| | | import axios from '@utils/axios' |
| | | import * as mapUrl from './mapUrl' |
| | | import qs from 'qs' // 解析参数 |
| | | |
| | | /** |
| | | * 该方法配置 |
| | |
| | | }, |
| | | // 废水点 |
| | | getWasteWater (data) { |
| | | return axios.get(mapUrl.getWasteWater, data) |
| | | return axios.post(mapUrl.getWasteWater, qs.stringify(data), { 'Content-Type': 'application/x-www-form-urlencoded; charset=UTF-8' }) |
| | | }, |
| | | // 废水点明细表 |
| | | getWasteWaterMonitoringDetails (data) { |
| | | return axios.get(mapUrl.getWasteWaterMonitoringDetails, data) |
| | | }, |
| | | // 废水日数据和小时数据及明细表 |
| | | getQueryOnlineMonData (data) { |
| | | return axios.get(mapUrl.getQueryOnlineMonData, data) |
| | | getQueryOnlineMonData (data, setHeaders) { |
| | | return axios.post(mapUrl.getQueryOnlineMonData, qs.stringify(data), { 'Content-Type': 'application/x-www-form-urlencoded; charset=UTF-8' }) |
| | | }, |
| | | // 废水人工数据 |
| | | getQueryLabMonData (data) { |
| | | return axios.get(mapUrl.getQueryLabMonData, data) |
| | | return axios.post(mapUrl.getQueryLabMonData, qs.stringify(data), { 'Content-Type': 'application/x-www-form-urlencoded; charset=UTF-8' }) |
| | | }, |
| | | // 废水实时数据 |
| | | getDataItems (data) { |
| | |
| | | getSourcesPoll (data) { |
| | | return axios.get(mapUrl.getSourcesPoll, data) |
| | | }, |
| | | getRiskEnterprise (data) { |
| | | return axios.get('/assets/riskEnterprise.json', data) |
| | | getEnvironmentRisk (data) { |
| | | return axios.get('/assets/environmentRisk.json', data) |
| | | }, |
| | | getEnvironmentRiskPoint (data) { |
| | | return axios.get('/assets/environmentRiskPoint.json', data) |
| | | }, |
| | | getPollutionSourceStatistics (data) { |
| | | return axios.get('/assets/pollutionSource.json', data) |
| | | }, |
| | | getWasteWaterStatistics (data) { |
| | | return axios.get('/assets/wasteWater.json', data) |
| | | }, |
| | | getWasteGasStatistics (data) { |
| | | return axios.get('/assets/wasteGas.json', data) |
| | | }, |
| | | getSolidWasteStatistics (data) { |
| | | return axios.get('/assets/wasteGas.json', data) |
| | | }, |
| | | getEnvironmentalRiskStatistics (data) { |
| | | return axios.get('/assets/pollutionSource.json', data) |
| | | }, |
| | | getIndexStatistics (data) { |
| | | return axios.get('/assets/indexStatistics.json', data) |
| | | }, |
| | | getwarnStatistics (data) { |
| | | return axios.get('/assets/warn.json', data) |
| | | }, |
| | | getPipelineStatistics (data) { |
| | | return axios.get('/assets/pipeline.json', data) |
| | | }, |
| | | getCorporateEmergencyStatistics (data) { |
| | | return axios.get('/assets/corporateEmergency.json', data) |
| | | } |
| | | } |
| | |
| | | export const getWasteGasManualData = $HOST + '/wasteGas/QueryLabMonData' |
| | | |
| | | // 废水 |
| | | export const getWasteWater = $HOST + '/wasteWater/getWasteWater' // 废水点信息 |
| | | export const getWasteWater = 'http://10.246.162.140:8080/EPInterface/DataService/EPMapService.asmx/ObtainningConInfo' // 废水点信息 |
| | | export const getWasteWaterMonitoring = $HOST + '/wasteWater/getWasteWaterMonitoring' // 废水监测数据 |
| | | export const getWasteWaterMonitoringDetails = $HOST + '/wasteWater/getWasteWaterMonitoringDetails' // 废水监测数据明细表 |
| | | export const getQueryOnlineMonData = $HOST + '/wasteWater/QueryOnlineMonData' // 废水日数据小时数据及明细表数据 |
| | | export const getQueryLabMonData = $HOST + '/wasteWater/QueryLabMonData' // 人工数据 |
| | | export const getQueryOnlineMonData = 'http://10.246.162.140:8080/EPInterface/DataService/EPMapService.asmx/QueryOnlineMonData' // 废水日数据小时数据及明细表数据 |
| | | export const getQueryLabMonData = 'http://10.246.162.140:8080/EPInterface/DataService/EPMapService.asmx/QueryLabMonData' // 人工数据 |
| | | export const getDataItems = $HOST + '/wasteWater/RTDB/DataItems' // 实时数据 |
| | | |
| | | // 公司 |
| | |
| | | } |
| | | }) |
| | | } |
| | | export function reportLocationSearch (data = {}) { |
| | | return $http.get('http://10.246.133.164//api/search?', data) |
| | | } |
| | |
| | | /** |
| | | * 环境风险 |
| | | * 环境风险统计图 |
| | | */ |
| | | // const EnvironmentRiskIndex = require('@components/base-page/').default |
| | | |
| | | // 请求接口数据 |
| | | const mapApi = require('../../../api/mapApi').default |
| | | // 使用封装方法 |
| | |
| | | const echarts = require('echarts/lib/echarts') |
| | | |
| | | module.exports = function () { |
| | | let animalService = null |
| | | // 环形统计图数组 |
| | | let riskLayerGroup = null |
| | | |
| | | /** |
| | | * 返回marker对象数组 |
| | | * 初始化图层数组 |
| | | * @param L leaflet对象 |
| | | */ |
| | | this.init = async (layer, L) => { |
| | | this.animalService = new AnimalService({ |
| | | animalService = new AnimalService({ |
| | | L: L, |
| | | layer: layer |
| | | }) |
| | | const result = await mapApi.getRiskEnterprise() |
| | | } |
| | | |
| | | /** |
| | | * 加载图层 |
| | | * @returns {Promise<void>} |
| | | */ |
| | | this.start = async () => { |
| | | if (riskLayerGroup) { // 图层全选时,清理图层数组并重新加载 |
| | | riskLayerGroup.remove() |
| | | riskLayerGroup = null |
| | | } |
| | | riskLayerGroup = animalService.L.featureGroup().addTo(animalService.layer) |
| | | const result = await mapApi.getEnvironmentRisk() |
| | | const features = result.features |
| | | for (var i = 0; i < features.length; i++) { |
| | | for (let i = 0; i < features.length; i++) { |
| | | const feature = features[i] |
| | | const geometry = feature.geometry |
| | | const properties = feature.properties |
| | | const qyId = properties.QY_ID |
| | | // const qyJc = properties.QY_JC |
| | | const distract = properties.DISTRACT |
| | | const coordinates = geometry.coordinates |
| | | if (distract !== '长江沿线') { |
| | | continue |
| | | } |
| | | const bgMarker = L.marker([coordinates[1], coordinates[0]], { |
| | | icon: L.divIcon({ |
| | | animalService.L.marker([coordinates[1], coordinates[0]], { |
| | | icon: animalService.L.divIcon({ |
| | | className: '', |
| | | iconAnchor: [15, 45], |
| | | iconSize: [40, 40], |
| | | html: '<div style="width: 40px; height: 40px; background-color: rgba(255,255,255,1); position: relative; border-radius: 50%;"></div>' |
| | | }) |
| | | }) |
| | | layer.addLayer(bgMarker) |
| | | const chartMarker = L.marker([coordinates[1], coordinates[0]], { |
| | | icon: L.divIcon({ |
| | | }).addTo(riskLayerGroup) |
| | | animalService.L.marker([coordinates[1], coordinates[0]], { |
| | | icon: animalService.L.divIcon({ |
| | | className: '', |
| | | iconAnchor: [30, 60], |
| | | iconSize: [70, 70], |
| | | html: '<div id="qy_id_' + qyId + '" style="width: 70px; height: 70px; background-color: transparent; position: relative; border-radius: 50%;"></div>' |
| | | }) |
| | | }) |
| | | layer.addLayer(chartMarker) |
| | | }).addTo(riskLayerGroup) |
| | | chartRender(properties) |
| | | } |
| | | } |
| | | |
| | | /** |
| | | * tips |
| | | * @param layer |
| | | * @returns {string} |
| | | * 清除图层 |
| | | */ |
| | | this.bindTooltip = (layer) => { |
| | | |
| | | this.destory = () => { |
| | | if (riskLayerGroup) { |
| | | riskLayerGroup.remove() |
| | | riskLayerGroup = null |
| | | } |
| | | } |
| | | |
| | | /** |
| | | * 点击弹窗 |
| | | * @param e |
| | | */ |
| | | this.clickListener = (e) => { |
| | | |
| | | } |
| | | |
| | | /** |
| | | * 环形饼图 |
| | | * Echarts环形饼图 |
| | | * @param properties |
| | | */ |
| | | function chartRender (properties) { |
| | | const qyId = properties.QY_ID |
| | | const qyjc = properties.QY_JC |
| | | // const qyQc = properties.QY_QC |
| | | const num = properties.QY_NUM |
| | | const oneLevel = properties.QY_ONELEVEL |
| | | const twoLevel = properties.QY_TWOLEVEL |
| | |
| | | }] |
| | | } |
| | | o.setOption(option) |
| | | /* o.on('click', function (params) { |
| | | map.flyTo(L.latLng([params.data.y, params.data.x]), 15) |
| | | }) */ |
| | | } |
| | | } |
New file |
| | |
| | | /** |
| | | * 环境风险源 |
| | | */ |
| | | // 信息组件 |
| | | const RiskSourceIndex = require('../../../components/base-page/WasteSolid/WasteSolidIndex.vue').default |
| | | const riskRed = '/assets/images/map/environmentRisk/risk_red.png' |
| | | const riskSandybrown = '/assets/images/map/environmentRisk/risk_sandybrown.png' |
| | | const riskYellow = '/assets/images/map/environmentRisk/risk_yellow.png' |
| | | const riskGreen = '/assets/images/map/environmentRisk/risk_green.png' |
| | | // 公共方法 panTo() 引用 |
| | | const { setPanTo } = require('../../../utils/utils') |
| | | // 请求接口数据 |
| | | const mapApi = require('../../../api/mapApi').default |
| | | // 使用封装方法 |
| | | const AnimalService = require('../service/AnimalService').default |
| | | |
| | | module.exports = function () { |
| | | /** |
| | | * 初始化并加载图层 |
| | | * @param L leaflet对象 |
| | | */ |
| | | this.init = async (layer, L, config) => { |
| | | this.animalService = new AnimalService({ |
| | | L: L, |
| | | layer: layer |
| | | }) |
| | | const result = await mapApi.getEnvironmentRiskPoint() // 数据 |
| | | const data = result[config.level] // 此处级别对应data数组下标,作为参数取数标识 |
| | | for (let i = 0; i < data.length; i++) { |
| | | const postion = [data[i].Latitude, data[i].Longitude] // 坐标 |
| | | const iconUrl = this.riskIconUrl(data[i].iconType) // 风险源图标 |
| | | const marker = L.marker(postion, { |
| | | totransferData: data[i], |
| | | icon: L.icon({ |
| | | iconUrl: iconUrl, |
| | | iconSize: [20, 20], |
| | | iconAnchor: [10, 10] |
| | | }) |
| | | }) |
| | | layer.addLayer(marker) |
| | | } |
| | | } |
| | | |
| | | /** |
| | | * 提示窗 |
| | | * @param layer |
| | | * @returns {string} |
| | | */ |
| | | this.bindTooltip = (layer) => { |
| | | return layer.options.totransferData.riskname |
| | | } |
| | | |
| | | /** |
| | | * 信息弹窗 |
| | | * @param e |
| | | */ |
| | | this.clickListener = (e) => { |
| | | // 点击marker的pulse()光波 |
| | | this.animalService.pulseEffect(e.latlng) |
| | | /* flyTo()弹出框平移事件 */ |
| | | setPanTo(e.latlng, 200) |
| | | // 弹框标题 |
| | | const title = e.layer.options.totransferData.Name |
| | | window.$layer.open({ |
| | | content: { |
| | | comp: RiskSourceIndex, // 组件 |
| | | parent: this, // 父组件 |
| | | data: { // 传递的参数 |
| | | storagePlaceId: e.layer.options.totransferData.StoragePlaceId |
| | | } |
| | | }, |
| | | title: title // 标题 |
| | | }) |
| | | } |
| | | |
| | | // 图标配置 |
| | | this.riskIconUrl = (t) => { |
| | | let iconUrl = null |
| | | switch (t) { |
| | | case 1: |
| | | iconUrl = riskRed |
| | | break |
| | | case 2: |
| | | iconUrl = riskSandybrown |
| | | break |
| | | case 3: |
| | | iconUrl = riskYellow |
| | | break |
| | | case 4: |
| | | iconUrl = riskGreen |
| | | break |
| | | default: |
| | | iconUrl = riskGreen |
| | | break |
| | | } |
| | | return iconUrl |
| | | } |
| | | } |
| | |
| | | L: L, |
| | | layer: layer |
| | | }) |
| | | const res = await mapApi.getWasteWater() |
| | | const res = await mapApi.getWasteWater({ |
| | | companyId: 3900100145, // 企业名称 |
| | | id: '', |
| | | monType: 1, // 值为1查询废水 |
| | | userCode: 'wenchun.deng', // 角色名称 |
| | | monDuration: '', |
| | | epName: '', |
| | | secdDeptId: '', |
| | | contrLevel: '', |
| | | dataStatus: '', |
| | | dataFlag: '', |
| | | runStatus: '', |
| | | emissTypeId: '' |
| | | }) |
| | | const data = res.Result.DataInfo || {} |
| | | for (let i = 0; i < data.length; i++) { |
| | | // 经纬度 位置 |
| | |
| | | item1.type = 1 // 半选 |
| | | } |
| | | if (item1.name === '企业应急') { |
| | | console.log(item1) |
| | | // console.log(item1) |
| | | bus.$emit('changeSearchBar', item1) |
| | | } |
| | | // console.log(item1.layers.length, item1.istrue, item1.isfalse, item1.type) |
| | |
| | | layer.addTo(this.map) |
| | | } |
| | | } else { |
| | | logic && logic.init(this.addLayer(config), this.L) |
| | | logic && logic.init(this.addLayer(config), this.L, config) |
| | | } |
| | | logic && logic.start && logic.start() |
| | | this.wmsLayerService && this.wmsLayerService.add(config) |
| | |
| | | methods: { |
| | | async initdetail () { |
| | | const timeEnd = dayjs().format('YYYY-MM-DD HH:mm:ss') |
| | | const timeStart = dayjs().subtract(3, 'minute').format('YYYY-MM-DD HH:mm:ss') |
| | | var timeStart = null |
| | | var oDate = new Date() |
| | | var year = oDate.getFullYear() |
| | | if ((year % 4 === 0 && year % 100 !== 0) || year % 400 === 0) { // 判断是平年还是闰年 |
| | | timeStart = dayjs().subtract(366, 'day').format('YYYY-MM-DD HH:mm:ss') |
| | | } else { |
| | | timeStart = dayjs().subtract(365, 'day').format('YYYY-MM-DD HH:mm:ss') |
| | | } |
| | | const data = { |
| | | poltSourceId: '', |
| | | poltMtrlId: '', |
| | | companyCode: '', |
| | | emissTypeId: '', |
| | | monItemId: 28, |
| | | companyId: 3900100145, |
| | | labMonPointId: 219, |
| | | beginTime: timeStart, |
| | |
| | | // console.log(result) |
| | | this.tableData = result |
| | | for (let i = 0; i < result.length; i++) { |
| | | console.log(result[i].LabMonValue) |
| | | if (result[i].LabMonValue === '0') { |
| | | return '-' |
| | | } |
| | |
| | | }, |
| | | async draw24Chart () { |
| | | const data = { |
| | | poltSourceId: '', |
| | | poltMtrlId: '', |
| | | emissTypeId: '', |
| | | onLineMonEmissPointId: 23, |
| | | monItemId: 28, |
| | | beginTime: this.formData.timeStart, |
| | |
| | | formData: { |
| | | region: '25', |
| | | regionList: [25, 50, 75, 100], |
| | | startTime: dayjs().subtract(16, 'hour').format('YYYY-MM-DD HH'), |
| | | endTime: dayjs().format('YYYY-MM-DD HH') |
| | | startTime: dayjs().subtract(24, 'hour').format('YYYY-MM-DD HH:mm:ss'), |
| | | endTime: dayjs().format('YYYY-MM-DD HH:mm:ss') |
| | | }, |
| | | chart: null, |
| | | jcdID: 1, |
| | |
| | | // 初始化数据请求 |
| | | async draw24Chart () { |
| | | const data = { |
| | | poltSourceId: '', |
| | | poltMtrlId: '', |
| | | emissTypeId: '', |
| | | onLineMonEmissPointId: 23, |
| | | monItemId: 28, |
| | | beginTime: this.formData.startTime, |
| | |
| | | biaozhuiz = bzzList[i].bzhui |
| | | } |
| | | } |
| | | if (c.value[1] > biaozhuiz) { |
| | | return zdcbcolor |
| | | } else if (c.value[1] > biaozhuiz * 0.9) { |
| | | return '#FFA500' |
| | | } else { |
| | | return '#33c95f' |
| | | if (c.value) { |
| | | if (c.value[1] > biaozhuiz) { |
| | | return zdcbcolor |
| | | } else if (c.value[1] > biaozhuiz * 0.9) { |
| | | return '#FFA500' |
| | | } else { |
| | | return '#33c95f' |
| | | } |
| | | } |
| | | }, |
| | | lineStyle: { // 折线的颜色 |
New file |
| | |
| | | <template> |
| | | <div class="event-report"> |
| | | <el-form :model="ruleForm" ref="ruleForm" label-width="90px" class="search-form"> |
| | | <!-- 事件名称--> |
| | | <el-form-item class="input-event-name" label="事件名称" prop="nameOfEvent"> |
| | | <el-input |
| | | v-model="ruleForm.nameOfEvent" |
| | | placeholder="将事件命名" |
| | | ></el-input> |
| | | </el-form-item> |
| | | <!-- 事件类型--> |
| | | <el-form-item label="事件类型" prop="eventOfType"> |
| | | <el-radio-group v-model="ruleForm.eventOfType"> |
| | | <el-col :span="8" v-for="(item,index) in ruleForm.eventOfTypeList" :key="index" |
| | | :style="{margin:'5px 0'}"> |
| | | <el-radio :label="item.value"> |
| | | <span>{{ item.name }}</span> |
| | | </el-radio> |
| | | </el-col> |
| | | </el-radio-group> |
| | | </el-form-item> |
| | | <!-- 事件等级--> |
| | | <el-form-item label="事件分级" prop="eventOfLevel"> |
| | | <el-radio-group v-model="ruleForm.eventOfLevel"> |
| | | <el-col :span="8" v-for="(item,index) in ruleForm.eventOfLevelList" :key="index" |
| | | :style="{margin:'5px 0'}"> |
| | | <el-radio :label="item.value"> |
| | | <span>{{ item.name }}</span> |
| | | </el-radio> |
| | | </el-col> |
| | | </el-radio-group> |
| | | </el-form-item> |
| | | <el-row> |
| | | <!-- 事发单位--> |
| | | <el-col :span="12"> |
| | | <el-form-item label="事发单位" prop="unit"> |
| | | <el-select v-model="ruleForm.unit" placeholder="单位,装置选择"> |
| | | <el-option |
| | | v-for="item in ruleForm.unitList" |
| | | :key="item.value" |
| | | :label="item.label" |
| | | :value="item.value"> |
| | | </el-option> |
| | | </el-select> |
| | | </el-form-item> |
| | | </el-col> |
| | | <!-- 事发时间--> |
| | | <el-col :span="12"> |
| | | <el-form-item class="search-panel-item" label="事发时间" prop="atTime"> |
| | | <el-date-picker |
| | | v-model="ruleForm.atTime" |
| | | type="datetime" |
| | | placeholder="年/月/日"> |
| | | </el-date-picker> |
| | | </el-form-item> |
| | | </el-col> |
| | | </el-row> |
| | | <el-row> |
| | | <!-- 事发位置--> |
| | | <el-col :span="12"> |
| | | <el-form-item label="事发位置" prop="positionOf"> |
| | | <el-input v-model="ruleForm.positionOf" clearable> |
| | | <!-- <el-button slot="suffix" type="text" class="el-icon-location-information"--> |
| | | <!-- @click="locationInfo"></el-button>--> |
| | | <el-button style="padding-right:10px;" slot="suffix" type="text" |
| | | @click="locationInfo"> |
| | | <img src="../../../../../public/assets/images/map/loc.png" alt=""> |
| | | </el-button> |
| | | </el-input> |
| | | </el-form-item> |
| | | </el-col> |
| | | <!-- 位置描述--> |
| | | <el-col :span="12"> |
| | | <el-form-item label="位置描述" prop="positionDescription"> |
| | | <el-input v-model="ruleForm.positionDescription"></el-input> |
| | | </el-form-item> |
| | | </el-col> |
| | | </el-row> |
| | | <el-row> |
| | | <!-- 管线名称--> |
| | | <el-col :span="12"> |
| | | <el-form-item label="管线名称" prop="lineName" class="search-panel-item"> |
| | | <el-input disabled v-model="ruleForm.lineName" placeholder="自动带出不可修改" |
| | | class="report-input"></el-input> |
| | | </el-form-item> |
| | | </el-col> |
| | | <!-- 管线类型--> |
| | | <el-col :span="12"> |
| | | <el-form-item label="管线类型" prop="lineType"> |
| | | <label>{{ ruleForm.lineTypeText }}</label> |
| | | </el-form-item> |
| | | </el-col> |
| | | </el-row> |
| | | <!-- 点击上传--> |
| | | <el-form-item label="附件上传" prop="upload"> |
| | | <el-upload |
| | | class="upload-demo" |
| | | action="uploadAction" |
| | | multiple |
| | | :limit="3" |
| | | :file-list="fileList"> |
| | | <el-button size="small" type="primary">点击上传</el-button> |
| | | </el-upload> |
| | | </el-form-item> |
| | | <!-- 消息推送--> |
| | | <el-form-item label="消息推送" prop="beingPush"> |
| | | <el-checkbox-group v-model="ruleForm.beingPushed" @change="infoChange"> |
| | | <el-checkbox v-for="item in ruleForm.beingPushList" |
| | | :key="item.name" |
| | | :label="item.name" |
| | | > |
| | | </el-checkbox> |
| | | </el-checkbox-group> |
| | | </el-form-item> |
| | | <!-- // 描述 接收 展示、隐藏--> |
| | | <div v-show="wayTo" class="way-to"> |
| | | <el-form-item label="事件描述" prop="desc"> |
| | | <el-input type="textarea" resize="none" v-model="ruleForm.desc" |
| | | placeholder="带出事件类型,事件位置,事件单位,事件时间等字段自动生产一部分描述"> |
| | | </el-input> |
| | | <el-button type="primary">一键<br/>生成</el-button> |
| | | </el-form-item> |
| | | <el-form-item label="接收人员" prop="receiveOne"> |
| | | <el-input type="textarea" resize="none" v-model="ruleForm.receiveOne" |
| | | placeholder="张三;李四,"></el-input> |
| | | <el-button type="primary">+</el-button> |
| | | </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-form-item> |
| | | </el-form> |
| | | <el-dialog |
| | | custom-class="event-report-dialog" |
| | | title="事发位置定位" |
| | | :visible.sync="dialogLocation" |
| | | :append-to-body="true" |
| | | :modal="false" |
| | | v-dialogDrag |
| | | > |
| | | <ReportLocation @locationClick="getlocaltionClick"></ReportLocation> |
| | | </el-dialog> |
| | | </div> |
| | | </template> |
| | | <!-- :rules="rules"--> |
| | | <!-- :show-close="false"--> |
| | | <script> |
| | | |
| | | import ReportLocation from './ReportLocation' |
| | | import eventBus from '../../../../eventBus' |
| | | |
| | | export default { |
| | | name: 'EventsReported', |
| | | components: { |
| | | ReportLocation |
| | | }, |
| | | data () { |
| | | return { |
| | | // 表单绑定数据 |
| | | ruleForm: { |
| | | // 事件名称 绑定数据 |
| | | nameOfEvent: '', |
| | | // 事件类型 绑定数据值 |
| | | eventOfType: '', |
| | | // 事件类型可选择数据radio 绑定数据 |
| | | eventOfTypeList: [ |
| | | { |
| | | name: '海(水)上溢油污染', |
| | | value: 1 |
| | | }, |
| | | { |
| | | name: '油气管道泄漏污染', |
| | | value: 2 |
| | | }, |
| | | { |
| | | name: '辐射污染', |
| | | value: 3 |
| | | }, |
| | | { |
| | | name: '生态环境破坏', |
| | | value: 4 |
| | | }, |
| | | { |
| | | name: '其他', |
| | | value: 5 |
| | | } |
| | | ], |
| | | // 事件等级 |
| | | eventOfLevel: '', |
| | | // 事件等级可选择数据radio 绑定数据 |
| | | eventOfLevelList: [ |
| | | { |
| | | name: '特别重大环境事件', |
| | | value: 1 |
| | | }, |
| | | { |
| | | name: '重大环境事件', |
| | | value: 2 |
| | | }, |
| | | { |
| | | name: '较大环境事件', |
| | | value: 3 |
| | | }, |
| | | { |
| | | name: '一般A级', |
| | | value: 4 |
| | | }, |
| | | { |
| | | name: '一般B级', |
| | | value: 5 |
| | | }, |
| | | { |
| | | name: '一般C级', |
| | | value: 6 |
| | | } |
| | | ], |
| | | // 事发单位 绑定数据值 |
| | | unit: '', |
| | | unitList: [ |
| | | { |
| | | label: '扬子', |
| | | value: '1' |
| | | }, |
| | | { |
| | | label: '南京', |
| | | value: '2' |
| | | } |
| | | ], |
| | | // 事发时间 绑定数据 |
| | | atTime: '', |
| | | // 事发位置 |
| | | positionOf: '', |
| | | // 位置描述 |
| | | positionDescription: '', |
| | | // 管线名称 |
| | | lineName: '', |
| | | // 管线类型 |
| | | lineType: '', |
| | | lineTypeText: '自动带出不可修改', |
| | | // 消息推送 |
| | | beingPushed: [], |
| | | beingPushList: [ |
| | | { |
| | | name: '短信推送', |
| | | value: false |
| | | }, |
| | | { |
| | | name: '手机应用推送', |
| | | value: false |
| | | } |
| | | ], |
| | | // 事件描述 |
| | | desc: '', |
| | | // 接收人员 |
| | | receiveOne: '' |
| | | }, |
| | | // 上传列表 |
| | | fileList: [], |
| | | // 上传地址 |
| | | uploadAction: '', |
| | | // 表单验证 |
| | | // rules: { |
| | | // // 事件名称校验 |
| | | // nameOfEvent: [ |
| | | // { |
| | | // required: true, |
| | | // message: '请输入活动名称', |
| | | // trigger: 'blur' |
| | | // } |
| | | // ], |
| | | // // 事件类型校验 |
| | | // eventOfType: [ |
| | | // { |
| | | // required: true, |
| | | // message: '请选择事件类型', |
| | | // trigger: 'blur' |
| | | // } |
| | | // ], |
| | | // // 事件等级校验 |
| | | // eventOfLevel: [ |
| | | // { |
| | | // required: true, |
| | | // message: '请选择事件等级', |
| | | // trigger: 'blur' |
| | | // } |
| | | // ], |
| | | // // 事发单位 绑定数据值 |
| | | // unit: [ |
| | | // { |
| | | // required: true, |
| | | // message: '请选择活动区域', |
| | | // trigger: 'change' |
| | | // } |
| | | // ], |
| | | // // 事发时间 |
| | | // atTime: [ |
| | | // { |
| | | // required: true, |
| | | // message: '请选择活动资源', |
| | | // trigger: 'change' |
| | | // } |
| | | // ], |
| | | // // 事件位置校验 |
| | | // positionOf: [ |
| | | // { |
| | | // required: true, |
| | | // message: '请输入活动位置', |
| | | // trigger: 'blur' |
| | | // } |
| | | // ], |
| | | // // 位置描述校验 |
| | | // positionDescription: [ |
| | | // { |
| | | // required: true, |
| | | // message: '请输入位置描述', |
| | | // trigger: 'blur' |
| | | // } |
| | | // ], |
| | | // // 管线名称 |
| | | // lineName: [], |
| | | // // 管线类型 |
| | | // lineType: [] |
| | | // }, |
| | | // 描述 接收 => 展示/隐藏 |
| | | wayTo: false, |
| | | // 定位位置选择弹框 |
| | | dialogLocation: false |
| | | } |
| | | }, |
| | | mounted () { |
| | | eventBus.$on('location-setChange', (obj) => { |
| | | if (obj) { |
| | | this.dialogLocation = false |
| | | } |
| | | }) |
| | | }, |
| | | methods: { |
| | | // 接收子组件传递的数据 |
| | | getlocaltionClick (val) { |
| | | // console.log(val) |
| | | this.ruleForm.positionOf = val.latPos + '-' + val.longPos |
| | | this.dialogLocation = !this.dialogLocation |
| | | }, |
| | | // 消息推送 选择推送的对象 |
| | | infoChange () { |
| | | if (this.ruleForm.beingPushed.indexOf('短信推送') > -1 || this.ruleForm.beingPushed.indexOf('手机应用推送') > -1) { |
| | | this.wayTo = true |
| | | } else { |
| | | this.wayTo = false |
| | | } |
| | | }, |
| | | // 点击定位 进行位置选择 |
| | | locationInfo () { |
| | | this.dialogLocation = !this.dialogLocation |
| | | }, |
| | | // 表单的确认按钮点击事件 |
| | | submitForm (formName) { |
| | | this.$refs[formName].validate((valid) => { |
| | | if (valid) { |
| | | // alert('submit!') |
| | | this.$message({ |
| | | message: '事件上报提交成功', |
| | | type: 'success' |
| | | }) |
| | | } else { |
| | | this.$message('事件上报提交失败') |
| | | return false |
| | | } |
| | | }) |
| | | // this.$refs[formName].resetFields() |
| | | eventBus.$emit('event-report-popup', false) |
| | | }, |
| | | // form表单的取消按钮点击事件 重置信息 |
| | | resetForm (formName) { |
| | | this.$refs[formName].resetFields() |
| | | eventBus.$emit('event-report-popup', false) |
| | | } |
| | | } |
| | | } |
| | | </script> |
| | | |
| | | <style lang="less" scoped> |
| | | |
| | | /*/deep/ .el-dialog .el-dialog--center {*/ |
| | | /* margin-top: 1rem !important;*/ |
| | | /* margin-left: 6.4rem !important;*/ |
| | | /*}*/ |
| | | |
| | | /deep/ .event-report-dialog { |
| | | left: 5rem; |
| | | top: 1rem; |
| | | margin-top: 2rem; |
| | | margin-left: 2rem; |
| | | } |
| | | |
| | | /deep/ .el-dialog { |
| | | left: 5rem; |
| | | top: 1rem; |
| | | width: 3.087834rem; |
| | | } |
| | | |
| | | .event-report { |
| | | margin: 0 5px !important; |
| | | } |
| | | |
| | | .way-to { |
| | | /deep/ .el-form-item__content { |
| | | display: flex; |
| | | } |
| | | } |
| | | |
| | | /deep/ .el-form-item { |
| | | margin: 2px 0 !important; |
| | | color: #00fff6 !important; |
| | | } |
| | | |
| | | /deep/ .el-textarea__inner { |
| | | height: 0.28rem !important; |
| | | max-height: 0.45rem !important; |
| | | width: 2rem; |
| | | color: darkgrey; |
| | | border: solid 1px #00fff6; |
| | | background-color: rgba(0, 255, 246, 0.14); |
| | | outline: none; |
| | | font-size: 0.01rem; |
| | | } |
| | | |
| | | /deep/ .el-checkbox__label { |
| | | color: #00fff6 !important; |
| | | } |
| | | |
| | | /deep/ .el-icon-time:before { |
| | | content: " "; |
| | | } |
| | | |
| | | /deep/ input { |
| | | border-radius: 0; |
| | | background-color: rgba(0, 255, 246, 0.14); |
| | | border: solid 1px #00fff6; |
| | | color: #C0C4CC; |
| | | font-size: 0.01rem; |
| | | } |
| | | |
| | | /deep/ .el-input.is-disabled .el-input__inner { |
| | | color: #C0C4CC; |
| | | font-size: 0.01rem; |
| | | border-radius: 4px; |
| | | background: @background-color; |
| | | border-color: @color; |
| | | } |
| | | |
| | | /deep/ .el-input__inner { |
| | | height: 0.2rem !important; |
| | | border-radius: 5px; |
| | | background: rgba(0, 16, 30, 0.5); |
| | | } |
| | | |
| | | /deep/ .el-form-item__label { |
| | | color: @color; |
| | | } |
| | | |
| | | /deep/ .el-radio__label { |
| | | color: @color; |
| | | } |
| | | |
| | | .confirmCancel { |
| | | text-align: right; |
| | | margin: 0.071234rem !important; |
| | | } |
| | | </style> |
New file |
| | |
| | | <template> |
| | | <div class="report-location-box"> |
| | | <el-tabs v-model="activeName"> |
| | | <el-tab-pane label="搜索定位" name="first"> |
| | | <ReportLocationSearch></ReportLocationSearch> |
| | | </el-tab-pane> |
| | | <el-tab-pane label="管段定位" name="second"> |
| | | <ReportLocationSection></ReportLocationSection> |
| | | </el-tab-pane> |
| | | <el-tab-pane label="经纬度定位" name="third"> |
| | | <el-row class="place-box"> |
| | | <div class="place-left"> |
| | | <el-form :model="LongLatPos" label-width="90px"> |
| | | <el-form-item label="经度:"> |
| | | <el-input v-model="LongLatPos.longPos"></el-input> |
| | | </el-form-item> |
| | | <el-form-item label="纬度:"> |
| | | <el-input v-model="LongLatPos.latPos"></el-input> |
| | | </el-form-item> |
| | | </el-form> |
| | | </div> |
| | | <div class="place-right"> |
| | | <el-button type="primary" @click="mapPoints">定位</el-button> |
| | | </div> |
| | | </el-row> |
| | | <div class="place-bottom" style="text-align: center;margin: 5px"> |
| | | <el-button type="primary" @click="confirm">确认</el-button> |
| | | </div> |
| | | </el-tab-pane> |
| | | </el-tabs> |
| | | </div> |
| | | </template> |
| | | |
| | | <script> |
| | | // import eventBus from '../../../../eventBus' |
| | | // 管段定位组件 |
| | | import ReportLocationSection from './ReportLocationSection' |
| | | import ReportLocationSearch from './ReportLocationSearch' |
| | | |
| | | import iconUrl from '../../../../../public/assets/images/map/loc.png' |
| | | |
| | | export default { |
| | | name: 'ReportLocation', |
| | | components: { |
| | | ReportLocationSearch, |
| | | ReportLocationSection |
| | | }, |
| | | data () { |
| | | return { |
| | | // active tab切换 |
| | | activeName: 'first', |
| | | // 经纬度定位 |
| | | LongLatPos: { |
| | | longPos: '', |
| | | latPos: '' |
| | | } |
| | | } |
| | | }, |
| | | // mounted () { |
| | | // // 接收规定 每次重新选择定位 都指定 选择第一个开始 |
| | | // eventBus.$on('tab-change', (obj) => { |
| | | // this.activeName = obj |
| | | // }) |
| | | // }, |
| | | methods: { |
| | | // 地图上点击 |
| | | selectPipeLine () { |
| | | window.map.on('click', this.selectClick) |
| | | // window.mapManager.clickDialogSwitch = false |
| | | }, |
| | | // 地图上点击回调 |
| | | selectClick (e) { |
| | | window.map.off('click', this.selectClick) |
| | | // const point = [e.latlng.lng, e.latlng.lat] |
| | | const pointX = e.latlng.lng |
| | | const pointY = e.latlng.lat |
| | | // let marker = window.L.marker(point,{ |
| | | // |
| | | // }) |
| | | this.clickLocation = '\'' + pointX + '\'' + pointY + '' |
| | | this.mapPointResult(e) |
| | | }, |
| | | mapPointResult (e) { |
| | | console.log(e) |
| | | this.LongLatPos.longPos = e.latlng.lng |
| | | this.LongLatPos.latPos = e.latlng.lat |
| | | const as = [e.latlng.lat, e.latlng.lng] |
| | | // console.log(as) |
| | | const marker = window.L.marker(as, { |
| | | icon: window.L.icon({ |
| | | iconUrl: iconUrl, |
| | | iconSize: [30, 30], |
| | | iconAnchor: [15, 15] |
| | | }) |
| | | }) |
| | | window.map.addLayer(marker) |
| | | }, |
| | | // 获得焦点 进行定位 |
| | | focusLocation () { |
| | | this.selectPipeLine() |
| | | }, |
| | | // 经纬度定位 |
| | | mapPoints () { |
| | | this.selectPipeLine() |
| | | }, |
| | | // 点击确认按钮事件 |
| | | confirm () { |
| | | // 通过子组件向父组件传递数据 |
| | | this.$emit('locationClick', this.LongLatPos) |
| | | this.clickLocation = '' |
| | | this.LongLatPos.longPos = '' |
| | | this.LongLatPos.latPos = '' |
| | | } |
| | | } |
| | | } |
| | | </script> |
| | | |
| | | <style lang="less" scoped> |
| | | .place-box { |
| | | display: flex; |
| | | align-items: center; |
| | | justify-content: space-around; |
| | | } |
| | | |
| | | .place { |
| | | text-align: center; |
| | | |
| | | .place-top { |
| | | display: flex; |
| | | align-items: center; |
| | | justify-content: space-around; |
| | | |
| | | .place-right { |
| | | .el-button { |
| | | margin: 15px; |
| | | } |
| | | } |
| | | } |
| | | |
| | | .place-bottom { |
| | | .el-button { |
| | | /*margin: 15px;*/ |
| | | } |
| | | } |
| | | } |
| | | </style> |
New file |
| | |
| | | <template> |
| | | <div class="click-location"> |
| | | <el-row> |
| | | <el-input type="text" v-model="clickLocation" clearable @change="focusLocation"></el-input> |
| | | </el-row> |
| | | <el-row> |
| | | <el-button type="primary" @click="confirm" style="text-align: right">确认</el-button> |
| | | </el-row> |
| | | </div> |
| | | </template> |
| | | |
| | | <script> |
| | | |
| | | import { reportLocationSearch } from '../../../../api/request' |
| | | import { pulseEffect } from '../../../../utils/utils' |
| | | import eventBus from '../../../../eventBus' |
| | | export default { |
| | | name: 'ReportLocationSearch', |
| | | data () { |
| | | return { |
| | | // 点击定位绑定数据 |
| | | clickLocation: '' |
| | | } |
| | | }, |
| | | methods: { |
| | | // 获得焦点 进行定位 |
| | | 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: { |
| | | keyWord: this.clickLocation, |
| | | level: window.map.getZoom(), |
| | | mapBound: getBoundsData, |
| | | queryType: 7, |
| | | count: 14, |
| | | start: 0, |
| | | queryTerminal: 10000 |
| | | }, |
| | | type: 'query' |
| | | } |
| | | // console.log(data) |
| | | reportLocationSearch(data).then(res => { |
| | | console.log(res) |
| | | // 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]]) |
| | | } |
| | | } |
| | | }) |
| | | }, |
| | | // 点击确认按钮事件 |
| | | confirm () { |
| | | // 通过子组件向父组件传递数据 |
| | | // this.$emit('locationClick', this.LongLatPos) |
| | | eventBus.$emit('location-setChange', true) |
| | | // console.log('搜索定位') |
| | | } |
| | | } |
| | | } |
| | | </script> |
| | | |
| | | <style lang="less" scoped> |
| | | .click-location { |
| | | margin: 0 auto; |
| | | text-align: center; |
| | | |
| | | .el-input { |
| | | width: 80%; |
| | | margin: 15px auto; |
| | | } |
| | | |
| | | .el-button { |
| | | margin: 15px auto; |
| | | } |
| | | } |
| | | </style> |
New file |
| | |
| | | <template> |
| | | <div class="ReportLocationSection"> |
| | | <el-form :model="form" label-width="90px"> |
| | | <el-row class="pipe-line-search"> |
| | | <el-col :span="12"> |
| | | <el-form-item label="管线名称:"> |
| | | <el-input v-model="form.pipeName"> |
| | | <el-button style="padding-right:10px;" slot="suffix" type="text" @click="pipelineSearch"> |
| | | <img src="../../../../../public/assets/images/map/emergency/search.png" alt=""> |
| | | </el-button> |
| | | </el-input> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="8"> |
| | | <el-button type="primary" size="small" icon="el-icon-location-outline" @click="pipeClickLocation">定位 |
| | | </el-button> |
| | | </el-col> |
| | | </el-row> |
| | | <el-row> |
| | | <el-col :span="12"> |
| | | <el-form-item label="管段编码:"> |
| | | <el-input v-model="form.sectionName" disabled></el-input> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="12"> |
| | | <el-form-item label="附属设施:"> |
| | | <el-input v-model="form.affiliatedFacilities" disabled></el-input> |
| | | </el-form-item> |
| | | </el-col> |
| | | </el-row> |
| | | </el-form> |
| | | <div class="pipe-table" v-show="this.tableList.length>=1"> |
| | | <el-card> |
| | | <span class="fixed-style" style="display: block">管线名称</span> |
| | | <el-table |
| | | :data="tableList" |
| | | border |
| | | height="120" |
| | | max-height="140" |
| | | @row-click="sectionShowClick" |
| | | style="width: 100%"> |
| | | <el-table-column |
| | | label="序号" |
| | | type="index" |
| | | > |
| | | </el-table-column> |
| | | <el-table-column |
| | | show-overflow-tooltip |
| | | prop="properties.pipename" |
| | | label="管线名称"> |
| | | </el-table-column> |
| | | <el-table-column |
| | | show-overflow-tooltip |
| | | prop="properties.subchaname" |
| | | label="支线名称"> |
| | | </el-table-column> |
| | | <el-table-column |
| | | show-overflow-tooltip |
| | | prop="properties.mediumtype" |
| | | label="管线类型"> |
| | | </el-table-column> |
| | | <el-table-column width="40" fixed="right" label="操作"> |
| | | <template slot-scope="scope"> |
| | | <el-button @click="localAdr(scope.row)" type="text" size="small">定位</el-button> |
| | | </template> |
| | | </el-table-column> |
| | | </el-table> |
| | | </el-card> |
| | | <el-card> |
| | | <span class="fixed-style" style="display: block">管段列表</span> |
| | | <el-table |
| | | :data="tableListSection" |
| | | border |
| | | @row-click="sectionCode" |
| | | height="100" |
| | | max-height="100" |
| | | style="width: 100%"> |
| | | <el-table-column |
| | | show-overflow-tooltip |
| | | prop="properties.pipesegcode" |
| | | label="管段编码"> |
| | | </el-table-column> |
| | | <el-table-column |
| | | show-overflow-tooltip |
| | | prop="properties.startpointnumber" |
| | | label="起点探查号"> |
| | | </el-table-column> |
| | | <el-table-column |
| | | show-overflow-tooltip |
| | | prop="properties.endpointnumber" |
| | | label="终点探查号"> |
| | | </el-table-column> |
| | | <el-table-column |
| | | show-overflow-tooltip |
| | | prop="properties.material" |
| | | label="材质"> |
| | | </el-table-column> |
| | | <el-table-column |
| | | show-overflow-tooltip |
| | | prop="properties.embeddingmode" |
| | | label="埋设方式"> |
| | | </el-table-column> |
| | | <el-table-column width="40" fixed="right" label="操作"> |
| | | <template slot-scope="scope"> |
| | | <el-button @click="localAdr(scope.row)" type="text" size="small">定位</el-button> |
| | | </template> |
| | | </el-table-column> |
| | | </el-table> |
| | | <span class="fixed-style" style="display: block">附属设施列表</span> |
| | | <el-table |
| | | :data="tableDataAffFac" |
| | | border |
| | | @row-click="affFacName" |
| | | height="120" |
| | | max-height="140" |
| | | style="width: 100%"> |
| | | <el-table-column |
| | | show-overflow-tooltip |
| | | width="150" |
| | | prop="properties.code" |
| | | label="编号"> |
| | | </el-table-column> |
| | | <el-table-column |
| | | show-overflow-tooltip |
| | | width="150" |
| | | prop="properties.name" |
| | | label="附属设施名称"> |
| | | </el-table-column> |
| | | <el-table-column |
| | | width="150" |
| | | show-overflow-tooltip |
| | | prop="properties.type" |
| | | label="类型"> |
| | | </el-table-column> |
| | | <el-table-column width="90" fixed="right" label="操作"> |
| | | <template slot-scope="scope"> |
| | | <el-button @click="localAdr(scope.row)" type="text" size="small">定位</el-button> |
| | | </template> |
| | | </el-table-column> |
| | | </el-table> |
| | | </el-card> |
| | | </div> |
| | | <el-row style="text-align: right;margin: 10px"> |
| | | <el-button type="primary" @click="confirm">确认</el-button> |
| | | </el-row> |
| | | </div> |
| | | </template> |
| | | |
| | | <script> |
| | | |
| | | // import { pulseEffect } from '../../../../utils/utils' |
| | | // import mapApi from '../../../../api/mapApi' |
| | | import WfsHelper from '@components/helpers/WfsHelper' |
| | | import AjaxUtils from '@utils/AjaxUtils' |
| | | import { fitBounds, highlight } from '../../../../components/helpers/LocateHelper' |
| | | import eventBus from '../../../../eventBus' |
| | | import { WMS_URL } from '../../../../conf/Constants' |
| | | |
| | | export default { |
| | | name: 'ReportLocationSection', |
| | | data () { |
| | | return { |
| | | form: { |
| | | pipeName: '', |
| | | sectionName: '', |
| | | affiliatedFacilities: '' |
| | | }, |
| | | // 管线查询数据列表 |
| | | tableList: [], |
| | | // 管段查询数据列表 |
| | | tableListSection: [], |
| | | // 附属设施查询列表数据 |
| | | tableDataAffFac: [], |
| | | // 定义类型判断 if 是搜索到的数据可以进行管线选择 else 点击定位选择的管线不可以进行选择 |
| | | SectionAndAffFacTableJudge: false |
| | | } |
| | | }, |
| | | mounted () { |
| | | this.wfsHelper = new WfsHelper() |
| | | }, |
| | | methods: { |
| | | // 点击管线列表 展示管段内容 和附属设施内容 |
| | | async sectionShowClick (val) { |
| | | console.log(val) |
| | | // 如果 SectionAndAffFacTableJudge === true 是搜索数据结果的列表 可以进行 管段 附属设施交互 点击定位查询结果 不进行点击交互 |
| | | if (this.SectionAndAffFacTableJudge === true) { |
| | | // 管段查询 |
| | | const sectionNameSearch = val.properties.pipename |
| | | this.tableListSection = [] |
| | | this.wfsHelper.clearFilter() |
| | | this.wfsHelper.setTypeName(['sewer:pipesegment']) |
| | | this.wfsHelper.addLike('pipename', sectionNameSearch) |
| | | this.wfsHelper.addEquals('pipename', '\'' + sectionNameSearch + '\'') |
| | | const res = await AjaxUtils.GetDataAsynByUrl(this.wfsHelper.getUrl(), {}) |
| | | // console.log(res) |
| | | if (res instanceof Object && Object.prototype.hasOwnProperty.call(res, 'features')) { |
| | | this.tableListSection = res.features |
| | | } |
| | | this.wfsHelper = new WfsHelper() |
| | | // 附属设施查询 |
| | | this.tableDataAffFac = [] |
| | | const AffFacSearch = val.properties.pipecode |
| | | console.log(AffFacSearch) |
| | | this.wfsHelper.clearFilter() |
| | | this.wfsHelper.setTypeName(['sewer:view_pipeline']) |
| | | this.wfsHelper.addLike('pipecode', AffFacSearch) |
| | | // this.wfsHelper.addEquals('type', '\'' + AffFacSearch + '\'') |
| | | const resAffFac = await AjaxUtils.GetDataAsynByUrl(this.wfsHelper.getUrl(), {}) |
| | | console.log(resAffFac) |
| | | if (resAffFac instanceof Object && Object.prototype.hasOwnProperty.call(resAffFac, 'features')) { |
| | | // console.log(resAffFac.features) |
| | | // for (let i = 0; i < resAffFac.features.length; i++) { |
| | | // console.log(resAffFac.features[i]) |
| | | // } |
| | | this.tableDataAffFac = resAffFac.features |
| | | } |
| | | this.wfsHelper = new WfsHelper() |
| | | } |
| | | }, |
| | | // 点击管段列表 管段编码传递 |
| | | sectionCode (val) { |
| | | // console.log(val) |
| | | this.form.sectionName = val.properties.pipecode |
| | | }, |
| | | // 点击附属设施列表 管段编码传递 |
| | | affFacName (val) { |
| | | // console.log(val) |
| | | this.form.affiliatedFacilities = val.properties.name |
| | | }, |
| | | // 定位功能 |
| | | localAdr (val) { |
| | | // console.log(val) |
| | | fitBounds(val) |
| | | highlight(val) |
| | | }, |
| | | // 管线 点击定位管段的选择功能 |
| | | pipeClickLocation () { |
| | | // 设施不进行 管线表格数据的点击交互 |
| | | this.SectionAndAffFacTableJudge = false |
| | | window.mapManager.clickDialogSwitch = false |
| | | // this.tableList = [] |
| | | // 点击获取数据 |
| | | window.map.on('click', (e) => { |
| | | // window.mapManager.loadWfsDatas(e.latlng).then((res) => { |
| | | // console.log(res) |
| | | // for (let i = 0; i < res.features.length; i++) { |
| | | // this.tableList.push(res.features[i]) |
| | | // this.tableListSection.push(res.features[i]) |
| | | // this.tableDataAffFac.push(res.features[i]) |
| | | // } |
| | | // }) |
| | | // return new Promise((resolve, reject) => { |
| | | const size = window.map.getSize() |
| | | var point = window.map.latLngToContainerPoint(e.latlng, window.map.getZoom()) |
| | | const wmsParams = Object.assign({ |
| | | LAYERS: 'pipeline_group', |
| | | QUERY_LAYERS: 'pipeline_group', |
| | | WIDTH: size.x, |
| | | HEIGHT: size.y, |
| | | X: Math.round(point.x), |
| | | Y: Math.round(point.y), |
| | | BBOX: window.map.getBounds().toBBoxString() |
| | | }, { |
| | | VERSION: '1.1.1', |
| | | SERVICE: 'WMS', |
| | | REQUEST: 'GetFeatureInfo', |
| | | // bbox: bbox, |
| | | FORMAT: 'image/png', |
| | | INFO_FORMAT: 'application/json', |
| | | TRANSPARENT: true, |
| | | FEATURE_COUNT: 50, |
| | | SRS: 'EPSG:4326', |
| | | EXCEPTIONS: 'application/vnd.ogc.se_inimage' |
| | | }) |
| | | AjaxUtils.get4JsonDataByUrl(WMS_URL, wmsParams, (res) => { |
| | | console.log(res) |
| | | for (let i = 0; i < res.data.features.length; i++) { |
| | | // console.log(res.data.features[i]) |
| | | this.tableList.push(res.data.features[i]) |
| | | } |
| | | }) |
| | | // 管段 |
| | | this.sectionData(e) |
| | | // 附属设施 |
| | | this.affFacData(e) |
| | | // }) |
| | | }) |
| | | // 数据 重新获取 进行置空 |
| | | this.tableList = [] |
| | | this.tableListSection = [] |
| | | this.form.pipeName = '' |
| | | this.tableDataAffFac = [] |
| | | this.form.sectionName = '' |
| | | this.form.affiliatedFacilities = '' |
| | | }, |
| | | // 点击定位 擦寻管段 |
| | | sectionData (e) { |
| | | const size = window.map.getSize() |
| | | var point = window.map.latLngToContainerPoint(e.latlng, window.map.getZoom()) |
| | | const wmsParams = Object.assign({ |
| | | LAYERS: 'sewer:pipesegment', |
| | | QUERY_LAYERS: 'sewer:pipesegment', |
| | | WIDTH: size.x, |
| | | HEIGHT: size.y, |
| | | X: Math.round(point.x), |
| | | Y: Math.round(point.y), |
| | | BBOX: window.map.getBounds().toBBoxString() |
| | | }, { |
| | | VERSION: '1.1.1', |
| | | SERVICE: 'WMS', |
| | | REQUEST: 'GetFeatureInfo', |
| | | // bbox: bbox, |
| | | FORMAT: 'image/png', |
| | | INFO_FORMAT: 'application/json', |
| | | TRANSPARENT: true, |
| | | FEATURE_COUNT: 50, |
| | | SRS: 'EPSG:4326', |
| | | EXCEPTIONS: 'application/vnd.ogc.se_inimage' |
| | | }) |
| | | AjaxUtils.get4JsonDataByUrl(WMS_URL, wmsParams, (res) => { |
| | | // console.log(res) |
| | | for (let i = 0; i < res.data.features.length; i++) { |
| | | this.tableListSection.push(res.data.features[i]) |
| | | } |
| | | }) |
| | | }, |
| | | // 附属设施 |
| | | affFacData (e) { |
| | | const size = window.map.getSize() |
| | | var point = window.map.latLngToContainerPoint(e.latlng, window.map.getZoom()) |
| | | const wmsParams = Object.assign({ |
| | | LAYERS: 'sewer:view_pipeline', |
| | | QUERY_LAYERS: 'sewer:view_pipeline', |
| | | // LAYERS: 'pipeline_fs', |
| | | // QUERY_LAYERS: 'pipeline_fs', |
| | | WIDTH: size.x, |
| | | HEIGHT: size.y, |
| | | X: Math.round(point.x), |
| | | Y: Math.round(point.y), |
| | | BBOX: window.map.getBounds().toBBoxString() |
| | | }, { |
| | | VERSION: '1.1.1', |
| | | SERVICE: 'WMS', |
| | | REQUEST: 'GetFeatureInfo', |
| | | // bbox: bbox, |
| | | FORMAT: 'image/png', |
| | | INFO_FORMAT: 'application/json', |
| | | TRANSPARENT: true, |
| | | FEATURE_COUNT: 50, |
| | | SRS: 'EPSG:4326', |
| | | EXCEPTIONS: 'application/vnd.ogc.se_inimage' |
| | | }) |
| | | AjaxUtils.get4JsonDataByUrl(WMS_URL, wmsParams, (res) => { |
| | | // console.log(res) |
| | | for (let i = 0; i < res.data.features.length; i++) { |
| | | this.tableDataAffFac.push(res.data.features[i]) |
| | | } |
| | | }) |
| | | }, |
| | | // 管线搜索 |
| | | async pipelineSearch () { |
| | | this.SectionAndAffFacTableJudge = true |
| | | this.tableList = [] |
| | | this.tableListSection = [] |
| | | this.tableDataAffFac = [] |
| | | this.wfsHelper.clearFilter() |
| | | this.wfsHelper.setTypeName(['sewer:pipeline']) |
| | | if (this.form.pipeName) { |
| | | this.wfsHelper.addLike('subchaname', this.form.pipeName) |
| | | } |
| | | // this.wfsHelper.addEquals('pipename', '\'' + this.form.pipeName + '\'') |
| | | const res = await AjaxUtils.GetDataAsynByUrl(this.wfsHelper.getUrl(), {}) |
| | | // console.log(res) |
| | | if (res instanceof Object && Object.prototype.hasOwnProperty.call(res, 'features')) { |
| | | this.total = res.totalFeatures |
| | | // console.log(res.features) |
| | | this.tableList = res.features |
| | | } |
| | | this.wfsHelper = new WfsHelper() |
| | | this.form.pipeName = '' |
| | | this.form.sectionName = '' |
| | | this.form.affiliatedFacilities = '' |
| | | }, |
| | | // 点击确认 |
| | | confirm () { |
| | | // console.log('点击确定选择完成') |
| | | eventBus.$emit('location-setChange', true) |
| | | this.form.pipeName = '' |
| | | this.form.sectionName = '' |
| | | this.form.affiliatedFacilities = '' |
| | | this.tableList = [] |
| | | this.tableListSection = [] |
| | | this.tableDataAffFac = [] |
| | | this.SectionAndAffFacTableJudge = false |
| | | } |
| | | } |
| | | } |
| | | </script> |
| | | |
| | | <style lang="less" scoped> |
| | | /*/deep/ .el-input {*/ |
| | | /* width: 0.74353rem;*/ |
| | | /*}*/ |
| | | |
| | | .pipe-line-search { |
| | | display: flex; |
| | | align-items: center; |
| | | |
| | | .el-button { |
| | | margin: 0 15px; |
| | | } |
| | | } |
| | | |
| | | .pipe-table { |
| | | /*display: flex;*/ |
| | | /*align-items: center;*/ |
| | | /*justify-content: space-around;*/ |
| | | |
| | | /deep/ .el-card { |
| | | /*width: 1.39523rem;*/ |
| | | /*max-width: 1.39523rem;*/ |
| | | /*height: 0.9343rem;*/ |
| | | /*max-height: 0.9343rem;*/ |
| | | |
| | | .el-table { |
| | | margin: 0.05345rem auto; |
| | | } |
| | | } |
| | | } |
| | | |
| | | .fixed-style { |
| | | color: @color; |
| | | } |
| | | |
| | | /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="message"> |
| | | <el-tooltip :popper-class="'message-btn'" effect="dark" content="通知" placement="left"> |
| | | <el-tooltip id="notification" :popper-class="'message-btn'" effect="dark" content="通知" placement="left"> |
| | | <div :class='["iconBtn",selectGroup === true ? "active-button" : ""]' @click="changeSelectMouse" > |
| | | <i class="icon el-icon-bell" ></i> |
| | | </div> |
| | |
| | | this.selectGroup = !this.selectGroup |
| | | this.isShowMessage = this.selectGroup |
| | | if (this.selectGroup) { |
| | | document.querySelector('#notification').style.opacity = '0' |
| | | this.isShow = [] |
| | | } else { |
| | | this.isShow = !this.isShow |
| | |
| | | handleClose (done) { |
| | | this.selectGroup = false |
| | | this.isShowMessage = false |
| | | document.querySelector('#notification').style.opacity = '1' |
| | | } |
| | | } |
| | | } |
| | |
| | | .dialogMessage{ |
| | | /deep/ .el-dialog{ |
| | | width: 30vw; |
| | | left: 60%; |
| | | right: 0.14583rem; |
| | | top: 0.11979rem; |
| | | } |
| | | .conclusion{ |
| | | text-indent:2em; |
| | |
| | | // } |
| | | // const _this = this |
| | | const res = await AjaxUtils.GetDataAsynByUrl(this.wfsHelper.getUrl(), {}) |
| | | console.log(res) |
| | | if (res instanceof Object && Object.prototype.hasOwnProperty.call(res, 'features')) { |
| | | this.total = res.totalFeatures |
| | | this.list = res.features |
| | |
| | | <template> |
| | | <div class="search-panel"> |
| | | <el-form ref="form" :model="form" label-width="90px" class="search-form"> |
| | | <el-form ref="form" :model="form" label-width="90px" class="search-form"> |
| | | <el-form-item label="企业名称:" size="mini" class="search-panel-item"> |
| | | <el-select style="width: 100%" v-model="form.pipelineType" @change="handlePipelineType" |
| | | :popper-class="'select-down'"> |
| | | <el-option |
| | | v-for="item in items" |
| | | :key="item.code" |
| | | :label="item.name" |
| | | :value="item.name"> |
| | | </el-option> |
| | | </el-select> |
| | | </el-form-item> |
| | | <el-form-item label="事件状态:" size="mini"> |
| | | <el-select style="width: 100%" v-model="form.dataType" value-key="code" |
| | | :popper-class="'select-down'" @change="handleDataType"> |
| | | <el-option |
| | | v-for="item in subItems" |
| | | :key="item.code" |
| | | :label="item.name" |
| | | :value="item"> |
| | | </el-option> |
| | | </el-select> |
| | | </el-form-item> |
| | | <el-form-item label="事件类型:"> |
| | | <el-radio-group v-model="form.transferData" class="levelOfRisk"> |
| | | <el-radio v-for="(item,index) in form.levelOfRisk" :label="item.value" :key="index" |
| | | @change="redioChange(item.name)"> |
| | | <span class="levelOfRisk-type">{{ item.name }}</span> |
| | | </el-radio> |
| | | </el-radio-group> |
| | | </el-form-item> |
| | | <el-button type="primary" small @click="dialogVisibleChange">事件上报</el-button> |
| | | <div class="page_total"> |
| | | <p>共计 |
| | | <span>{{total}}</span> |
| | | 条记录 |
| | | </p> |
| | | </div> |
| | | <div class="rightButtonSearch"> |
| | | <el-input v-model="form.keyword" size="mini" placeholder="在此输入关键字搜索"></el-input> |
| | | <el-button class="el-icon-search" @click="handleSearch"></el-button> |
| | | </div> |
| | | </el-form> |
| | | <el-form-item label="企业名称:" size="mini" class="search-panel-item"> |
| | | <el-select style="width: 100%" v-model="form.pipelineType" @change="handlePipelineType" |
| | | :popper-class="'select-down'"> |
| | | <el-option |
| | | v-for="item in items" |
| | | :key="item.code" |
| | | :label="item.name" |
| | | :value="item.name"> |
| | | </el-option> |
| | | </el-select> |
| | | </el-form-item> |
| | | <el-form-item label="事件状态:" size="mini"> |
| | | <el-select style="width: 100%" v-model="form.dataType" value-key="code" |
| | | :popper-class="'select-down'" @change="handleDataType"> |
| | | <el-option |
| | | v-for="item in subItems" |
| | | :key="item.code" |
| | | :label="item.name" |
| | | :value="item"> |
| | | </el-option> |
| | | </el-select> |
| | | </el-form-item> |
| | | <el-form-item label="事件类型:"> |
| | | <el-radio-group v-model="form.transferData" class="levelOfRisk"> |
| | | <el-radio v-for="(item,index) in form.levelOfRisk" :label="item.value" :key="index" |
| | | @change="redioChange(item.name)"> |
| | | <span class="levelOfRisk-type">{{ item.name }}</span> |
| | | </el-radio> |
| | | </el-radio-group> |
| | | </el-form-item> |
| | | <el-button type="primary" small @click="dialogVisibleChange">事件上报</el-button> |
| | | <div class="page_total"> |
| | | <p>共计 |
| | | <span>{{total}}</span> |
| | | 条记录 |
| | | </p> |
| | | </div> |
| | | <div class="rightButtonSearch"> |
| | | <el-input v-model="form.keyword" size="mini" placeholder="在此输入关键字搜索"></el-input> |
| | | <el-button class="el-icon-search" @click="handleSearch"></el-button> |
| | | </div> |
| | | </el-form> |
| | | <el-scrollbar style="height:286.22px"> |
| | | <!-- <div class="environmental-risk-list" v-for="(item,index) in list" :key="index" :class="activeNum===index?'hover':''" @click="accordPopup(item)">--> |
| | |
| | | </el-scrollbar> |
| | | <div class="event-report"> |
| | | <el-dialog |
| | | custom-class="el-dialog--center" |
| | | custom-class="event-report-dialog" |
| | | title="事件上报" |
| | | :visible.sync="dialogVisible" |
| | | :append-to-body="true" |
| | | :modal="false" |
| | | v-dialogDragBottom |
| | | v-dialogDrag |
| | | > |
| | | <EventsReported></EventsReported> |
| | | </el-dialog> |
| | | </div> |
| | | <!-- <Dialog ref="EReported" title="事件上报2">--> |
| | | <!-- <EventsReported></EventsReported>--> |
| | | <!-- </Dialog>--> |
| | | </div> |
| | | </template> |
| | | |
| | |
| | | // import WfsHelper from '@components/helpers/WfsHelper' |
| | | // import AjaxUtils from '@utils/AjaxUtils' |
| | | |
| | | // import DisposalEvent from '../../../base-page/enterprise-emergency/DisposalEvent' |
| | | import DisposalEvent from '../../../base-page/enterprise-emergency/DisposalEvent' |
| | | import EventHandling from '@components/base-page/enterprise-emergency/event-handling/EventHandling' |
| | | // import eventBus from '../../../../eventBus' |
| | | import EventsReported from '../../../../components/base-page/enterprise-emergency/EventsReported' |
| | | |
| | | // import Dialog from '../../../../views/popup/Dialog' |
| | | import eventBus from '../../../../eventBus' |
| | | import EventsReported from '../../../base-page/enterprise-emergency/events-reported/EventsReported' |
| | | |
| | | export default { |
| | | name: 'EventQuery', |
| | | components: { |
| | | // Dialog, |
| | | EventsReported |
| | | }, |
| | | data () { |
| | | return { |
| | | dialogVisible: false, |
| | | reportIncident: false, |
| | | list: [], |
| | | total: 0, |
| | | activeNum: -1, |
| | |
| | | }, |
| | | mounted () { |
| | | // this.wfsHelper = new WfsHelper() |
| | | eventBus.$on('event-report-popup', (obj) => { |
| | | this.dialogVisible = obj |
| | | }) |
| | | }, |
| | | methods: { |
| | | dialogVisibleChange () { |
| | |
| | | </script> |
| | | |
| | | <style lang="less" scoped> |
| | | /*/deep/ .event-report-dialog {*/ |
| | | /* left: 3rem;*/ |
| | | /* top: 1rem;*/ |
| | | /*}*/ |
| | | /*.event-report {*/ |
| | | /deep/ .el-dialog--center { |
| | | /*left: 2rem !important;*/ |
| | | margin-left: 2rem !important; |
| | | margin-top: 0.73979rem !important; |
| | | /*bottom: 0 !important;*/ |
| | | } |
| | | //} |
| | | /*.event-report {*/ |
| | | /deep/ .el-dialog { |
| | | /*width: 30%;*/ |
| | | width: 550px; |
| | | /deep/ .el-dialog { |
| | | width: 3.343545rem; |
| | | } |
| | | /*}*/ |
| | | |
| | | /deep/ .event-report-dialog { |
| | | left: 3rem; |
| | | top: 1rem; |
| | | margin-top: 2rem; |
| | | margin-left: 2rem; |
| | | } |
| | | </style> |
New file |
| | |
| | | <template> |
| | | <div class="Pipeline"> |
| | | <el-table class="tableBox" :data="tableData" border> |
| | | <el-table-column width="30px" label=""> |
| | | <template> |
| | | <i class="el-icon-caret-right"></i> |
| | | <span style="margin-left: 10px"></span> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column label="序号" width="60px" type="index"></el-table-column> |
| | | <el-table-column prop="UserName" label="企业名称"></el-table-column> |
| | | <el-table-column prop="WasteWaters" label="应急预案数量(个)"></el-table-column> |
| | | <el-table-column prop="AddOutPut" label="应急预案备案号"></el-table-column> |
| | | <el-table-column prop="MonthOutPut" label="应急物资存放点"></el-table-column> |
| | | <el-table-column prop="NH4NPut" label="环保事件(个)"></el-table-column> |
| | | <el-table-column prop="NH4NMonth" label="环保处罚(个)"></el-table-column> |
| | | <el-table-column prop="normal" label="处罚金额(万元)"></el-table-column> |
| | | </el-table> |
| | | </div> |
| | | </template> |
| | | |
| | | <script> |
| | | import mapApi from '@/api/mapApi' |
| | | export default { |
| | | name: 'CorporateEmergency', |
| | | data () { |
| | | return { |
| | | tableData: null |
| | | } |
| | | }, |
| | | async mounted () { |
| | | this.tableData = await mapApi.getCorporateEmergencyStatistics() |
| | | } |
| | | } |
| | | </script> |
| | | |
| | | <style scoped> |
| | | |
| | | </style> |
New file |
| | |
| | | <template> |
| | | <div class="PollutionSource"> |
| | | <el-table class="tableBox" :data="tableData" :header-cell-style="tableHeaderColor" :cell-style="rowClass" border> |
| | | <el-table-column width="30px" label=""> |
| | | <template> |
| | | <i class="el-icon-caret-right"></i> |
| | | <span style="margin-left: 10px"></span> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column label="序号" width="60px" type="index"></el-table-column> |
| | | <el-table-column prop="UserName" label="企业名称"></el-table-column> |
| | | <el-table-column prop="ProductionFacilities" label="一级风险源(个)"></el-table-column> |
| | | <el-table-column prop="GovernanceFacilities" label="二级风险源(个)"></el-table-column> |
| | | <el-table-column prop="GovernanceFacilities" label="三级风险源(个)"></el-table-column> |
| | | <el-table-column prop="GovernanceFacilities" label="应急物资存放点"></el-table-column> |
| | | </el-table> |
| | | </div> |
| | | </template> |
| | | |
| | | <script> |
| | | import mapApi from '@/api/mapApi' |
| | | export default { |
| | | name: 'AirQuality', |
| | | data () { |
| | | return { |
| | | tableData: null |
| | | } |
| | | }, |
| | | async mounted () { |
| | | this.tableData = await mapApi.getEnvironmentalRiskStatistics() |
| | | }, |
| | | methods: { |
| | | tableHeaderColor ({ row, column, owIndex, columnIndex }) { |
| | | // return 'background-color: rgba(26, 73, 81, 0.901960784313726);color:#fff;font-wight:500;font-size:12px;text-align:center;height:0px' |
| | | }, |
| | | // 表头样式设置 |
| | | rowClass () { |
| | | // return 'text-align: center;background-color: rgba(26, 73, 81, 0.901960784313726);color:#fff;width:64px' |
| | | } |
| | | } |
| | | } |
| | | </script> |
| | | |
| | | <style scoped> |
| | | |
| | | </style> |
| | |
| | | </template> |
| | | |
| | | <script> |
| | | |
| | | import mapApi from '@/api/mapApi' |
| | | export default { |
| | | name: 'IndexStatistics', |
| | | data () { |
| | | return { |
| | | titleProp: '', |
| | | activeName: 'first', |
| | | tableData: [{ |
| | | date: '集团公司', |
| | | name: '35', |
| | | province: '23', |
| | | city: '11', |
| | | address: 235, |
| | | zip: 23 |
| | | }, { |
| | | date: '天津石化', |
| | | name: 32, |
| | | province: 33, |
| | | city: 44, |
| | | address: 53, |
| | | zip: 200333 |
| | | }, { |
| | | date: '济南炼化', |
| | | name: 35, |
| | | province: 13, |
| | | city: 33, |
| | | address: 44, |
| | | zip: 200333 |
| | | }] |
| | | tableData: null |
| | | } |
| | | }, |
| | | async mounted () { |
| | | this.tableData = await mapApi.getIndexStatistics() |
| | | }, |
| | | methods: { |
| | | refsDatatitle (item) { |
| | | this.titleProp = item |
New file |
| | |
| | | <template> |
| | | <div class="Pipeline"> |
| | | <el-table class="tableBox" :data="tableData" border> |
| | | <el-table-column width="30px" label=""> |
| | | <template> |
| | | <i class="el-icon-caret-right"></i> |
| | | <span style="margin-left: 10px"></span> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column label="序号" width="60px" type="index"></el-table-column> |
| | | <el-table-column prop="date" label="企业名称"></el-table-column> |
| | | <el-table-column prop="name" label="管线总长度(km)"></el-table-column> |
| | | <el-table-column prop="province" label="周边环境 "></el-table-column> |
| | | <el-table-column prop="city" label="拦截设施"></el-table-column> |
| | | <el-table-column prop="address" label="内外排口"></el-table-column> |
| | | </el-table> |
| | | </div> |
| | | </template> |
| | | |
| | | <script> |
| | | import mapApi from '@/api/mapApi' |
| | | export default { |
| | | name: 'Pipeline', |
| | | data () { |
| | | return { |
| | | tableData: null |
| | | } |
| | | }, |
| | | async mounted () { |
| | | this.tableData = await mapApi.getPipelineStatistics() |
| | | } |
| | | } |
| | | </script> |
| | | |
| | | <style scoped> |
| | | |
| | | </style> |
New file |
| | |
| | | <template> |
| | | <div class="PollutionSource"> |
| | | <el-table class="tableBox" :data="tableData" :header-cell-style="tableHeaderColor" :cell-style="rowClass" border> |
| | | <el-table-column width="30px" label=""> |
| | | <template> |
| | | <i class="el-icon-caret-right"></i> |
| | | <span style="margin-left: 10px"></span> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column label="序号" width="60px" type="index"></el-table-column> |
| | | <el-table-column prop="UserName" label="企业名称"></el-table-column> |
| | | <el-table-column prop="ProductionFacilities" label="生产设施"></el-table-column> |
| | | <el-table-column prop="GovernanceFacilities" label="治理设施"></el-table-column> |
| | | </el-table> |
| | | </div> |
| | | </template> |
| | | |
| | | <script> |
| | | import mapApi from '@/api/mapApi' |
| | | export default { |
| | | name: 'AirQuality', |
| | | data () { |
| | | return { |
| | | tableData: null |
| | | } |
| | | }, |
| | | async mounted () { |
| | | this.tableData = await mapApi.getPollutionSourceStatistics() |
| | | }, |
| | | methods: { |
| | | tableHeaderColor ({ row, column, owIndex, columnIndex }) { |
| | | // return 'background-color: rgba(26, 73, 81, 0.901960784313726);color:#fff;font-wight:500;font-size:12px;text-align:center;height:0px' |
| | | }, |
| | | // 表头样式设置 |
| | | rowClass () { |
| | | // return 'text-align: center;background-color: rgba(26, 73, 81, 0.901960784313726);color:#fff;width:64px' |
| | | } |
| | | } |
| | | } |
| | | </script> |
| | | |
| | | <style scoped> |
| | | |
| | | </style> |
| | |
| | | <template> |
| | | <div class="waste-water"> |
| | | <el-table class="tableBox" :data="tableData" style="width: 100%" @cell-click="handle"> |
| | | <el-table class="tableBox" :data="SolidWastetableDataList" style="width: 100%" @cell-click="handle"> |
| | | <el-table-column width="30px" label=""> |
| | | <template slot-scope="{row,$index}"> |
| | | <el-popover placement="bottom" trigger="click" :disabled="!isShowIcon" popper-class="popovers"> |
| | |
| | | <script> |
| | | // import ChemicalWastewater from './componented/ChemicalWastewater' |
| | | import Refinery from '@components/table/components/componented/refinery' |
| | | import mapApi from '@/api/mapApi' |
| | | // import MissingAlarm from '@components/table/components/componented/MissingAlarm' |
| | | export default { |
| | | name: 'WasteWater', |
| | |
| | | return { |
| | | isActive: '', |
| | | isShowIcon: false, |
| | | tableData: [{ |
| | | UserName: '集团名称', |
| | | WasteWaters: '', |
| | | AddOutPut: '', |
| | | MonthOutPut: '', |
| | | NH4NPut: '', |
| | | NH4NMonth: '', |
| | | normal: '', |
| | | overProof: '', |
| | | Abnormal: '', |
| | | StopProduction: '', |
| | | deficiency: '' |
| | | }, { |
| | | UserName: '天津石化', |
| | | WasteWaters: '116.6', |
| | | AddOutPut: '58.3', |
| | | MonthOutPut: '13.1', |
| | | NH4NPut: '58.3', |
| | | NH4NMonth: '13.1', |
| | | normal: '21', |
| | | overProof: '2', |
| | | Abnormal: '2', |
| | | StopProduction: '2', |
| | | deficiency: '2' |
| | | }, { |
| | | UserName: 'xxxx炼化3', |
| | | WasteWaters: '116.6', |
| | | MonthOutPut: '13.1', |
| | | NH4NPut: '58.3', |
| | | NH4NMonth: '13.1', |
| | | normal: '21', |
| | | overProof: '2', |
| | | Abnormal: '2', |
| | | StopProduction: '2', |
| | | deficiency: '2' |
| | | }, { |
| | | UserName: 'xxxx4', |
| | | WasteWaters: '116.6', |
| | | AddOutPut: '58.3', |
| | | MonthOutPut: '13.1', |
| | | NH4NPut: '58.3', |
| | | NH4NMonth: '13.1', |
| | | normal: '21', |
| | | overProof: '2', |
| | | Abnormal: '2', |
| | | StopProduction: '2', |
| | | deficiency: '2' |
| | | |
| | | }], |
| | | tableHeader1: [ |
| | | { name: '企业名称', width: '140', propS: 'value1' }, |
| | | { name: '地块名称', width: '140', propS: 'value2' }, |
| | |
| | | ] |
| | | } |
| | | }, |
| | | async mounted () { |
| | | this.tableData = await mapApi.getSolidWasteStatistics() |
| | | }, |
| | | methods: { |
| | | tableHeaderColor ({ row, column, owIndex, columnIndex }) { |
| | | // return 'background-color: rgba(26, 73, 81, 0.901960784313726);color:#fff;font-wight:500;font-size:12px;text-align:center;height:0px' |
| | |
| | | </template> |
| | | |
| | | <script> |
| | | import mapApi from '@/api/mapApi' |
| | | export default { |
| | | data () { |
| | | return { |
| | | titleProp: '', |
| | | activeName: 'first', |
| | | tableData: [{ |
| | | date: '集团公司', |
| | | name: 1, |
| | | province: 1, |
| | | city: 0, |
| | | address: 1, |
| | | zip: 0 |
| | | }, { |
| | | date: '天津石化', |
| | | name: 1, |
| | | province: 0, |
| | | city: 1, |
| | | address: 1, |
| | | zip: 2 |
| | | }, { |
| | | date: 'XXX炼化', |
| | | name: 1, |
| | | province: 2, |
| | | city: 0, |
| | | address: 0, |
| | | zip: 1 |
| | | }, { |
| | | date: 'XXX炼化2', |
| | | name: 1, |
| | | province: 2, |
| | | city: 0, |
| | | address: 0, |
| | | zip: 1 |
| | | }] |
| | | tableData: null |
| | | } |
| | | }, |
| | | async mounted () { |
| | | this.tableData = await mapApi.getwarnStatistics() |
| | | }, |
| | | methods: { |
| | | refsDatatitle (item) { |
| | | this.titleProp = item |
| | |
| | | import ChemicalWastewater from '@components/table/components/componented/ChemicalWastewater' |
| | | import Refinery from '@components/table/components/componented/refinery' |
| | | import MissingAlarm from '@components/table/components/componented/MissingAlarm' |
| | | import mapApi from '@/api/mapApi' |
| | | export default { |
| | | name: 'WasteGas', |
| | | components: { |
| | |
| | | return { |
| | | isActive: '', |
| | | isShowIcon: false, |
| | | tableData: [{ |
| | | UserName: '集团名称', |
| | | WasteWaters: '', |
| | | AddOutPut: '', |
| | | MonthOutPut: '', |
| | | NH4NPut: '', |
| | | NH4NMonth: '', |
| | | normal: '', |
| | | overProof: '', |
| | | Abnormal: '', |
| | | StopProduction: '', |
| | | deficiency: '' |
| | | }, { |
| | | UserName: '天津石化', |
| | | WasteWaters: '116.6', |
| | | AddOutPut: '58.3', |
| | | MonthOutPut: '13.1', |
| | | NH4NPut: '58.3', |
| | | NH4NMonth: '13.1', |
| | | normal: '21', |
| | | overProof: '2', |
| | | Abnormal: '2', |
| | | StopProduction: '2', |
| | | deficiency: '2' |
| | | }, { |
| | | UserName: 'xxxx炼化3', |
| | | WasteWaters: '116.6', |
| | | MonthOutPut: '13.1', |
| | | NH4NPut: '58.3', |
| | | NH4NMonth: '13.1', |
| | | normal: '21', |
| | | overProof: '2', |
| | | Abnormal: '2', |
| | | StopProduction: '2', |
| | | deficiency: '2' |
| | | }, { |
| | | UserName: 'xxxx4', |
| | | WasteWaters: '116.6', |
| | | AddOutPut: '58.3', |
| | | MonthOutPut: '13.1', |
| | | NH4NPut: '58.3', |
| | | NH4NMonth: '13.1', |
| | | normal: '21', |
| | | overProof: '2', |
| | | Abnormal: '2', |
| | | StopProduction: '2', |
| | | deficiency: '2' |
| | | |
| | | }], |
| | | tableData: null, |
| | | tableHeader1: [ |
| | | { name: '排放点', width: '140', propS: 'value1' }, |
| | | { name: '单位部门', width: '80', propS: 'value2' }, |
| | |
| | | ] |
| | | } |
| | | }, |
| | | async mounted () { |
| | | this.tableData = await mapApi.getWasteGasStatistics() |
| | | }, |
| | | methods: { |
| | | tableHeaderColor ({ columnIndex }) { |
| | | // return 'background-color: rgba(26, 73, 81, 0.901960784313726);color:#fff;font-wight:500;font-size:12px;text-align:center;height:0px' |
| | |
| | | import ChemicalWastewater from './componented/ChemicalWastewater' |
| | | import Refinery from '@components/table/components/componented/refinery' |
| | | import MissingAlarm from '@components/table/components/componented/MissingAlarm' |
| | | import mapApi from '@/api/mapApi' |
| | | export default { |
| | | name: 'WasteWater', |
| | | components: { |
| | |
| | | return { |
| | | isActive: '', |
| | | isShowIcon: false, |
| | | tableData: [{ |
| | | UserName: '集团名称', |
| | | WasteWaters: '', |
| | | AddOutPut: '', |
| | | MonthOutPut: '', |
| | | NH4NPut: '', |
| | | NH4NMonth: '', |
| | | normal: '', |
| | | overProof: '', |
| | | Abnormal: '', |
| | | StopProduction: '', |
| | | deficiency: '' |
| | | }, { |
| | | UserName: '天津石化', |
| | | WasteWaters: '116.6', |
| | | AddOutPut: '58.3', |
| | | MonthOutPut: '13.1', |
| | | NH4NPut: '58.3', |
| | | NH4NMonth: '13.1', |
| | | normal: '21', |
| | | overProof: '2', |
| | | Abnormal: '2', |
| | | StopProduction: '2', |
| | | deficiency: '2' |
| | | }, { |
| | | UserName: 'xxxx炼化3', |
| | | WasteWaters: '116.6', |
| | | MonthOutPut: '13.1', |
| | | NH4NPut: '58.3', |
| | | NH4NMonth: '13.1', |
| | | normal: '21', |
| | | overProof: '2', |
| | | Abnormal: '2', |
| | | StopProduction: '2', |
| | | deficiency: '2' |
| | | }, { |
| | | UserName: 'xxxx4', |
| | | WasteWaters: '116.6', |
| | | AddOutPut: '58.3', |
| | | MonthOutPut: '13.1', |
| | | NH4NPut: '58.3', |
| | | NH4NMonth: '13.1', |
| | | normal: '21', |
| | | overProof: '2', |
| | | Abnormal: '2', |
| | | StopProduction: '2', |
| | | deficiency: '2' |
| | | |
| | | }] |
| | | tableData: null |
| | | } |
| | | }, |
| | | async mounted () { |
| | | this.tableData = await mapApi.getWasteWaterStatistics() |
| | | }, |
| | | methods: { |
| | | tableHeaderColor ({ row, column, owIndex, columnIndex }) { |
| | | // return 'background-color: rgba(26, 73, 81, 0.901960784313726);color:#fff;font-wight:500;font-size:12px;text-align:center;height:0px' |
| | |
| | | import SoilGroundwater from '@components/table/components/SoilGroundwater' |
| | | import WasteGas from '@components/table/components/WasteGas' |
| | | import SolidWaste from '@components/table/components/WasteSolid' |
| | | import AirQuality from '@components/table/components/AirQuality' |
| | | import PollutionSource from '@components/table/components/PollutionSource' |
| | | 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' |
| | | |
| | | export default { |
| | | name: 'tabHandover', |
| | | components: { |
| | |
| | | // WasteGas, |
| | | // SoilGroundwater, |
| | | SolidWaste, |
| | | AirQuality |
| | | PollutionSource, |
| | | EnvironmentalRisk, |
| | | Pipeline, |
| | | CorporateEmergency |
| | | }, |
| | | data () { |
| | | return { |
| | | titleProp: '', |
| | | activeName: 'gcComp', |
| | | topicList: TopicList, |
| | | gcComp: AirQuality |
| | | activeName: '污染源', |
| | | topicList: TopicList, // tab项 |
| | | gcComp: PollutionSource // 默认显示污染源内容 |
| | | } |
| | | }, |
| | | methods: { |
| | |
| | | this.titleProp = item |
| | | }, |
| | | handleClick (tab, event) { |
| | | console.log(tab.label) |
| | | switch (tab.label) { |
| | | case '污染源': |
| | | this.gcComp = AirQuality |
| | | this.gcComp = PollutionSource |
| | | break |
| | | case '废水': |
| | | this.gcComp = WasteWater |
| | |
| | | this.gcComp = SolidWaste |
| | | break |
| | | case '环境风险': |
| | | this.gcComp = AirQuality |
| | | this.gcComp = EnvironmentalRisk |
| | | break |
| | | case '土壤及地下水': |
| | | this.gcComp = SoilGroundwater |
| | | break |
| | | case '管线': |
| | | this.gcComp = AirQuality |
| | | this.gcComp = Pipeline |
| | | break |
| | | case '企业应急': |
| | | this.gcComp = CorporateEmergency |
| | | break |
| | | } |
| | | } |
| | |
| | | sewersAreaGs: 'Company.js', |
| | | pipesegment: 'PipeLineAnimal.js', |
| | | pollutionSources: 'SourcesPollution.js', |
| | | envRiskChart: 'EnvironmentRisk.js' |
| | | envRiskChart: 'EnvironmentRisk.js', // 风险统计图 |
| | | envRiskMajor: 'RiskSource.js', // 重大风险源 |
| | | envRiskFirst: 'RiskSource.js', // 一级风险源 |
| | | envRiskSecond: 'RiskSource.js', // 二级风险源 |
| | | envRiskThird: 'RiskSource.js' // 三级风险源 |
| | | } |
| | | |
| | | export const STYLES = { |
| | |
| | | isShow: false, |
| | | icon: 'iconditu', |
| | | comp: '' |
| | | }, { |
| | | }, /* { |
| | | name: '土壤及地下水', |
| | | id: 6, |
| | | checked: false, |
| | | isShow: false, |
| | | icon: 'icondxs_green', |
| | | comp: '' |
| | | }, { |
| | | } */ { |
| | | name: '管线', |
| | | id: 7, |
| | | checked: false, |
| | |
| | | isShow: false, |
| | | icon: 'iconqiye', |
| | | comp: '' |
| | | }/* { |
| | | } /* { |
| | | name: '管道变更', |
| | | id: 8, |
| | | checked: false, |
| | |
| | | checked: false, // 默认选中状态 |
| | | color: '' |
| | | }, |
| | | { |
| | | code: 'envRiskMaterial', |
| | | name: '物资库', |
| | | sname: '物资库', |
| | | checked: false, // 默认选中状态 |
| | | color: '' |
| | | }, |
| | | // { |
| | | // code: 'envRiskMaterial', |
| | | // name: '物资库', |
| | | // sname: '物资库', |
| | | // checked: false, // 默认选中状态 |
| | | // color: '' |
| | | // }, |
| | | { |
| | | code: 'envRiskMajor', |
| | | name: '重大风险', |
| | | sname: '重大风险', |
| | | checked: false, // 默认选中状态 |
| | | minZoom: 10, |
| | | color: 'red' |
| | | color: 'red', |
| | | level: 0 |
| | | }, |
| | | { |
| | | code: 'envRiskFirst', |
| | |
| | | checked: false, // 默认选中状态 |
| | | type: 0, |
| | | minZoom: 10, |
| | | color: 'sandybrown' |
| | | color: 'sandybrown', |
| | | level: 1 |
| | | }, |
| | | { |
| | | code: 'envRiskSecond', |
| | |
| | | checked: false, |
| | | type: 0, |
| | | minZoom: 10, |
| | | color: 'yellow' |
| | | color: 'yellow', |
| | | level: 2 |
| | | }, |
| | | { |
| | | code: 'envRiskThird', |
| | |
| | | checked: false, |
| | | type: 0, |
| | | minZoom: 10, |
| | | color: 'green' |
| | | color: 'green', |
| | | level: 3 |
| | | } |
| | | ] |
| | | } |
| | |
| | | params: $T.filterParams(params) |
| | | }) |
| | | } |
| | | $http.post = function (url, data = {}) { |
| | | $http.post = function (url, data = {}, setHeaders) { |
| | | return Service({ |
| | | url: url, |
| | | method: 'post', |
| | | data: data |
| | | data: data, |
| | | headers: setHeaders || { 'Content-Type': 'application/json; charset=UTF-8' } |
| | | }) |
| | | } |
| | | $http.put = function (url, data = {}) { |
| | |
| | | import Emergency from '@components/emergency/index' |
| | | import MapManager from '../components/helpers/MapManager' |
| | | import Message from '@components/message/index' |
| | | import EventsReported from '../components/base-page/enterprise-emergency/EventsReported' |
| | | import EventsReported from '../components/base-page/enterprise-emergency/events-reported/EventsReported' |
| | | |
| | | export default { |
| | | name: 'MapTemplate', |