From 3054bbce49457c82df9ad32523f3a0186e268d6f Mon Sep 17 00:00:00 2001 From: yangdelong <828900aaa> Date: 星期五, 28 五月 2021 21:17:08 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/develop' into develop --- src/components/table/components/CorporateEmergency.vue | 39 src/components/base-page/enterprise-emergency/events-reported/ReportLocationSearch.vue | 84 + src/conf/Topic.js | 6 src/components/LayerController/logic/RiskSource.js | 98 ++ public/assets/environmentRiskPoint.json | 91 + src/components/table/components/IndexStatistics.vue | 28 src/api/mapApi.js | 43 src/components/base-page/WasteWater/Detail.vue | 15 public/assets/images/map/environmentRisk/risk_sandybrown.png | 0 src/components/table/components/EnvironmentalRisk.vue | 46 src/components/base-page/WasteWater/WasteWaterHoursChart.vue | 21 src/components/table/components/Pipeline.vue | 37 public/assets/images/map/environmentRisk/risk_green.png | 0 src/components/table/components/PollutionSource.vue | 44 src/components/table/components/SoilGroundwater.vue | 55 - src/conf/Constants.js | 6 src/conf/layers/LayerEnvRisk.js | 26 src/utils/axios.js | 5 public/assets/soilGroundwater.json | 53 + src/components/base-page/WasteWater/WasteWaterDayChart.vue | 3 src/components/base-page/enterprise-emergency/events-reported/EventsReported.vue | 471 +++++++++ src/components/panel/topicSearch/enterprise-emergency/EventQuery.vue | 128 +- public/assets/pipeline.json | 34 src/components/table/components/Warn.vue | 34 public/assets/environmentRisk.json | 0 src/api/request.js | 3 src/components/LayerController/logic/EnvironmentRisk.js | 68 src/views/MapTemplate.vue | 2 src/components/LayerController/service/LayerFactory.js | 2 public/assets/wasteWater.json | 53 + src/api/mapUrl.js | 6 src/components/LayerController/modules/LcServiceLayer.vue | 2 public/assets/images/map/environmentRisk/risk_yellow.png | 0 src/components/base-page/enterprise-emergency/events-reported/ReportLocation.vue | 146 +++ public/assets/wasteGas.json | 53 + /dev/null | 365 ------- public/assets/indexStatistics.json | 26 public/assets/warn.json | 34 src/components/table/components/tabHandover.vue | 27 src/components/message/index.vue | 7 src/components/table/components/WasteWater.vue | 54 - src/components/LayerController/logic/WasteWater.js | 15 src/components/base-page/enterprise-emergency/events-reported/ReportLocationSection.vue | 483 ++++++++++ src/components/table/components/WasteGas.vue | 54 - src/components/panel/topicSearch/SewersSearch.vue | 1 public/assets/images/map/environmentRisk/risk_red.png | 0 public/assets/corporateEmergency.json | 53 + public/assets/pollutionSource.json | 22 48 files changed, 2,126 insertions(+), 717 deletions(-) diff --git a/public/assets/corporateEmergency.json b/public/assets/corporateEmergency.json new file mode 100644 index 0000000..1067828 --- /dev/null +++ b/public/assets/corporateEmergency.json @@ -0,0 +1,53 @@ +[ + { + "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" + } +] \ No newline at end of file diff --git a/public/assets/riskEnterprise.json b/public/assets/environmentRisk.json similarity index 100% rename from public/assets/riskEnterprise.json rename to public/assets/environmentRisk.json diff --git a/public/assets/environmentRiskPoint.json b/public/assets/environmentRiskPoint.json new file mode 100644 index 0000000..a8da368 --- /dev/null +++ b/public/assets/environmentRiskPoint.json @@ -0,0 +1,91 @@ +[ + [ + { + "no": 1, + "company": "鎵瓙鐭冲寲", + "plate": "鐐兼补鏉垮潡", + "unitname": "鑺崇儍鍘傘�佺偧娌瑰巶", + "riskname": "纭洖鏀惰缃ぇ閲忛吀鎬ф皵绱ф�ユ帓鏀剧幆澧冮闄�", + "depiction": "R/Q鎻忚堪锛�115.48銆俓nM鍊兼弿杩帮細30鍒嗐��1. 姘у寲宸ヨ壓锛� 10锛�2.1# 纭洖鏀惰缃洦姘寸郴缁熼槻鎺ф帾鏂戒笉瀹屽杽锛� 10 鍒嗭紱3. 纭洖鏀惰缃瘨鎬ф皵浣撳缃澶囦笉瀹屽杽锛� 10 鍒嗐�� E鐣屽畾鍥犵礌锛� E1銆� 鐜椋庨櫓婧愬懆杈�5km鑼冨洿鍐呭眳浣忓尯銆� 鍖荤枟鍗敓鏈烘瀯銆� 鏂囧寲鏁欒偛鏈烘瀯銆� 绉戠爺鍗曚綅銆� 琛屾斂鏈哄叧銆� 浼佷簨涓氬崟浣嶃�� 鍟嗗満銆� 鍏洯绛変汉鍙f�绘暟5涓囦汉浠ヤ笂锛� 鎴�0 .5 km鑼冨洿鍐呯ぞ浼氫汉鍙f�绘暟澶т簬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锛孯=25锛岃涓篟3銆� 2. 鐜椋庨櫓鎺у埗姘村钩M璇勪及锛� 1锛� 璁惧璐ㄩ噺绠$悊璇勪及锛� 瀛樺湪璁惧瓒呮湡浣跨敤鎴栭檷绛夌骇浣跨敤锛� M鍊艰10锛涳紙 2锛� 鐜椋庨櫓鐩戞祴棰勮鎺柦璇勪及锛� 鐜鐩戞祴鍥犲瓙涓嶅畬鍠勶紝 M鍊艰5锛涳紙 3锛� 鐜椋庨櫓闃叉帶鎺柦鏈夋晥鎬ц瘎浼帮細 鐜椋庨櫓婧愬叿澶囨湁鏁堢殑鎵嬪姩绱ф�ュ叧鏂帾鏂斤紝 M鍊艰3锛� 浜嬫晠姘村偍瀛樿兘鍔涗笉澶燂紝 M鍊艰10锛� 姹囨�籑 = 28锛� 15鈮� M < 30锛� 鐜椋庨櫓鎺у埗姘村钩涓篗2绫汇�� 3. 鐜椋庨櫓鍙椾綋鏁忔劅鎬璇勪及 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銆佷竴鑸敓浜у畨鍏ㄤ簨鏁呴殣鎮f湭瀹屾垚鏁存敼(鐜哀涓欑兎锛堢敳B绫绘恫浣擄級鐨勮杞︽湭閲囩敤娑蹭笅瑁呭嵏杞﹂工绠″凡鍦ㄨ璁★紱鐢查唶鍔犳阿鍙嶅簲鍣ㄦ棤瀹夊叏璁炬柦椤圭洰姝e湪璁捐锛涘弻姘ф按瑁呯疆钀冨彇濉旂揣鎬ユ帓鏀句笉褰撻」鐩凡鍦ㄨ璁★紱鐜哀涓欑兎鍙嶅簲鍣ㄧ揣鎬ユ帓鏀鹃闄╁凡鍒跺畾棰勬銆�) 10 3銆佹墍鍦ㄥ巶鍖烘竻鍑�闆ㄦ按閫氳繃鑷祦鏂瑰紡鎺掑嚭鍘傜晫 5 E鐣屽畾鍥犵礌锛氭帓姘磋繘鍏ュ彈绾虫渤娴佹渶澶ф祦閫熸椂锛�24灏忔椂娴佺粡鑼冨洿鍐呮秹璺ㄥ浗鐣屾垨鐪佺晫鐨凟1", + "after": "R3(90)M2(25)E1", + "Longitude": 113.36571, + "Latitude": 29.54677, + "iconType": 2 + }, + { + "no": 2, + "company": "闀垮箔鐐煎寲", + "plate": "鍖栧伐鏉垮潡", + "unitname": "娓彛閮�", + "riskname": "鐮佸ご锛�0708#娌瑰搧锛�", + "depiction": "R/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鎻忚堪锛歈鍊硷細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銆侻鍊兼弿杩帮細30鍒嗐��1.鏈寜瑙勫畾鎴栨斂搴滆姹傝缃幆澧冮闄╃墿璐ㄦ硠婕忕洃娴嬮璀︽帾鏂斤紝5鍒嗭紱2.绱ф�ュ垏鏂榾涓烘墜鍔ㄦ搷浣滄柟寮忥紝5鍒嗭紱3.浣滀笟鍖烘薄姘存敹闆嗘帾鏂戒笉瀹屽杽锛�10鍒嗭紱4.椹充綅鑷抽檰鍦扮閬撴偓绌猴紝寮曟ˉ闃叉硠婕忔帾鏂戒笉瀹屽杽锛�10鍒嗐�侲鐣屽畾鍥犵礌锛氱爜澶翠綅浜庨暱姹熸部宀革紝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#鍌寲鎵挎媴涓煶鍖栨姹夊垎鍏徃閲嶈川娌瑰姞宸ヤ换鍔★紝璇勭骇涓篟3銆侻鍊硷細瑁呯疆娑夊強鍗遍櫓宸ヨ壓锛岃瑙o紙瑁傚寲锛夊伐鑹猴紝楂樻俯锛屽伐鑹烘俯搴︹墺300鈩冿紝10鍒嗭紱闆ㄦ按鎺掓斁鍙i潪鎻愬崌鎺掓斁锛�5鍒嗭細璇勪负M2銆侲鍊硷細鐜鍙椾綋涓洪暱姹燂紝涓嬫父10km闃抽�荤數鍘傚彇姘村彛锛涘垽涓篍1銆�", + "after": "R3M2E1", + "Longitude": 114.44016, + "Latitude": 30.65305, + "iconType": 4 + } + ] +] diff --git a/public/assets/images/map/environmentRisk/risk_green.png b/public/assets/images/map/environmentRisk/risk_green.png new file mode 100644 index 0000000..b315c3a --- /dev/null +++ b/public/assets/images/map/environmentRisk/risk_green.png Binary files differ diff --git a/public/assets/images/map/environmentRisk/risk_red.png b/public/assets/images/map/environmentRisk/risk_red.png new file mode 100644 index 0000000..30d9e9e --- /dev/null +++ b/public/assets/images/map/environmentRisk/risk_red.png Binary files differ diff --git a/public/assets/images/map/environmentRisk/risk_sandybrown.png b/public/assets/images/map/environmentRisk/risk_sandybrown.png new file mode 100644 index 0000000..ac16400 --- /dev/null +++ b/public/assets/images/map/environmentRisk/risk_sandybrown.png Binary files differ diff --git a/public/assets/images/map/environmentRisk/risk_yellow.png b/public/assets/images/map/environmentRisk/risk_yellow.png new file mode 100644 index 0000000..1104396 --- /dev/null +++ b/public/assets/images/map/environmentRisk/risk_yellow.png Binary files differ diff --git a/public/assets/indexStatistics.json b/public/assets/indexStatistics.json new file mode 100644 index 0000000..7ff8888 --- /dev/null +++ b/public/assets/indexStatistics.json @@ -0,0 +1,26 @@ +[ + { + "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 + } +] \ No newline at end of file diff --git a/public/assets/pipeline.json b/public/assets/pipeline.json new file mode 100644 index 0000000..923c277 --- /dev/null +++ b/public/assets/pipeline.json @@ -0,0 +1,34 @@ +[ + { + "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 + } +] \ No newline at end of file diff --git a/public/assets/pollutionSource.json b/public/assets/pollutionSource.json new file mode 100644 index 0000000..716e990 --- /dev/null +++ b/public/assets/pollutionSource.json @@ -0,0 +1,22 @@ +[ + { + "UserName": "闆嗗洟鍏徃", + "ProductionFacilities": 45, + "GovernanceFacilities": 32 + }, + { + "UserName": "鍖椾含鐭虫补", + "ProductionFacilities": 22, + "GovernanceFacilities": 14 + }, + { + "UserName": "澶╂触鐭冲寲", + "ProductionFacilities": 3, + "GovernanceFacilities": 12 + }, + { + "UserName": "璐靛窞鐭虫补", + "ProductionFacilities": 10, + "GovernanceFacilities": 6 + } +] \ No newline at end of file diff --git a/public/assets/soilGroundwater.json b/public/assets/soilGroundwater.json new file mode 100644 index 0000000..e74333e --- /dev/null +++ b/public/assets/soilGroundwater.json @@ -0,0 +1,53 @@ +[ + { + 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' + } +] \ No newline at end of file diff --git a/public/assets/warn.json b/public/assets/warn.json new file mode 100644 index 0000000..923c277 --- /dev/null +++ b/public/assets/warn.json @@ -0,0 +1,34 @@ +[ + { + "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 + } +] \ No newline at end of file diff --git a/public/assets/wasteGas.json b/public/assets/wasteGas.json new file mode 100644 index 0000000..2ffbdf6 --- /dev/null +++ b/public/assets/wasteGas.json @@ -0,0 +1,53 @@ +[ + { + "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" + } +] \ No newline at end of file diff --git a/public/assets/wasteWater.json b/public/assets/wasteWater.json new file mode 100644 index 0000000..2ffbdf6 --- /dev/null +++ b/public/assets/wasteWater.json @@ -0,0 +1,53 @@ +[ + { + "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" + } +] \ No newline at end of file diff --git a/src/api/mapApi.js b/src/api/mapApi.js index 4cec69b..ae65d02 100644 --- a/src/api/mapApi.js +++ b/src/api/mapApi.js @@ -4,6 +4,7 @@ // 娴嬭瘯鐜IP锛歨ttp://10.238.221.113 import axios from '@utils/axios' import * as mapUrl from './mapUrl' +import qs from 'qs' // 瑙f瀽鍙傛暟 /** * 璇ユ柟娉曢厤缃� @@ -46,19 +47,19 @@ }, // 搴熸按鐐� 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) { @@ -89,7 +90,37 @@ 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) } } diff --git a/src/api/mapUrl.js b/src/api/mapUrl.js index b29d8aa..4ce8883 100644 --- a/src/api/mapUrl.js +++ b/src/api/mapUrl.js @@ -19,11 +19,11 @@ 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' // 瀹炴椂鏁版嵁 // 鍏徃 diff --git a/src/api/request.js b/src/api/request.js index acdca70..0ac2c24 100644 --- a/src/api/request.js +++ b/src/api/request.js @@ -23,3 +23,6 @@ } }) } +export function reportLocationSearch (data = {}) { + return $http.get('http://10.246.133.164//api/search?', data) +} diff --git a/src/components/LayerController/logic/EnvironmentRisk.js b/src/components/LayerController/logic/EnvironmentRisk.js index df5cc76..ae50da3 100644 --- a/src/components/LayerController/logic/EnvironmentRisk.js +++ b/src/components/LayerController/logic/EnvironmentRisk.js @@ -1,8 +1,6 @@ /** - * 鐜椋庨櫓 + * 鐜椋庨櫓缁熻鍥� */ -// const EnvironmentRiskIndex = require('@components/base-page/').default - // 璇锋眰鎺ュ彛鏁版嵁 const mapApi = require('../../../api/mapApi').default // 浣跨敤灏佽鏂规硶 @@ -11,75 +9,80 @@ 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 @@ -140,8 +143,5 @@ }] } o.setOption(option) - /* o.on('click', function (params) { - map.flyTo(L.latLng([params.data.y, params.data.x]), 15) - }) */ } } diff --git a/src/components/LayerController/logic/RiskSource.js b/src/components/LayerController/logic/RiskSource.js new file mode 100644 index 0000000..2f1f882 --- /dev/null +++ b/src/components/LayerController/logic/RiskSource.js @@ -0,0 +1,98 @@ +/** + * 鐜椋庨櫓婧� + */ +// 淇℃伅缁勪欢 +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鐨刾ulse()鍏夋尝 + 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 + } +} diff --git a/src/components/LayerController/logic/WasteWater.js b/src/components/LayerController/logic/WasteWater.js index 09cc1f9..29658e1 100644 --- a/src/components/LayerController/logic/WasteWater.js +++ b/src/components/LayerController/logic/WasteWater.js @@ -27,7 +27,20 @@ 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++) { // 缁忕含搴� 浣嶇疆 diff --git a/src/components/LayerController/modules/LcServiceLayer.vue b/src/components/LayerController/modules/LcServiceLayer.vue index ef7dc4d..acb38a6 100644 --- a/src/components/LayerController/modules/LcServiceLayer.vue +++ b/src/components/LayerController/modules/LcServiceLayer.vue @@ -106,7 +106,7 @@ 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) diff --git a/src/components/LayerController/service/LayerFactory.js b/src/components/LayerController/service/LayerFactory.js index c586a1c..f7230ba 100644 --- a/src/components/LayerController/service/LayerFactory.js +++ b/src/components/LayerController/service/LayerFactory.js @@ -132,7 +132,7 @@ 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) diff --git a/src/components/base-page/WasteWater/Detail.vue b/src/components/base-page/WasteWater/Detail.vue index 5dc823d..91a92be 100644 --- a/src/components/base-page/WasteWater/Detail.vue +++ b/src/components/base-page/WasteWater/Detail.vue @@ -62,8 +62,20 @@ 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, @@ -73,7 +85,6 @@ // 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 '-' } diff --git a/src/components/base-page/WasteWater/WasteWaterDayChart.vue b/src/components/base-page/WasteWater/WasteWaterDayChart.vue index 02244e7..1fcb2c9 100644 --- a/src/components/base-page/WasteWater/WasteWaterDayChart.vue +++ b/src/components/base-page/WasteWater/WasteWaterDayChart.vue @@ -100,6 +100,9 @@ }, async draw24Chart () { const data = { + poltSourceId: '', + poltMtrlId: '', + emissTypeId: '', onLineMonEmissPointId: 23, monItemId: 28, beginTime: this.formData.timeStart, diff --git a/src/components/base-page/WasteWater/WasteWaterHoursChart.vue b/src/components/base-page/WasteWater/WasteWaterHoursChart.vue index 765f402..2acfe80 100644 --- a/src/components/base-page/WasteWater/WasteWaterHoursChart.vue +++ b/src/components/base-page/WasteWater/WasteWaterHoursChart.vue @@ -79,8 +79,8 @@ 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, @@ -101,6 +101,9 @@ // 鍒濆鍖栨暟鎹姹� async draw24Chart () { const data = { + poltSourceId: '', + poltMtrlId: '', + emissTypeId: '', onLineMonEmissPointId: 23, monItemId: 28, beginTime: this.formData.startTime, @@ -327,12 +330,14 @@ 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: { // 鎶樼嚎鐨勯鑹� diff --git a/src/components/base-page/enterprise-emergency/EventsReported.vue b/src/components/base-page/enterprise-emergency/EventsReported.vue deleted file mode 100644 index fcc52d7..0000000 --- a/src/components/base-page/enterprise-emergency/EventsReported.vue +++ /dev/null @@ -1,467 +0,0 @@ -<template> - <div class="event-report"> -<!-- :rules="rules"--> -<!-- :show-close="false"--> - <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="el-dialog--center" - :visible.sync="dialogLocation" - :append-to-body="true" - :modal="false" - v-dialogDragBottom - > - <ReportLocation @locationClick="getlocaltionClick"></ReportLocation> - </el-dialog> - </div> -</template> - -<script> - -import ReportLocation from '../../../components/base-page/enterprise-emergency/ReportLocation' - -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: '涓�鑸珹绾�', - value: 4 - }, - { - name: '涓�鑸珺绾�', - value: 5 - }, - { - name: '涓�鑸珻绾�', - 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 - } - }, - 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() - }, - // form琛ㄥ崟鐨勫彇娑堟寜閽偣鍑讳簨浠� 閲嶇疆淇℃伅 - resetForm (formName) { - this.$refs[formName].resetFields() - } - } -} -</script> - -<style lang="less" scoped> - - .event-report { - margin: 0 10px !important; - } - - /deep/ .el-dialog--center { - /*left: 5.3rem !important;*/ - margin-top: 0.13979rem !important; - margin-left: 5.5rem !important; - } - - /*.event-report-dialog {*/ - /* left: 2rem !important;*/ - /* top: 0.73979rem !important;*/ - /*}*/ - - /deep/ .el-dialog { - width: 20%; - } - /deep/.el-dialog__header { - /*display: none;*/ - /*max-height: 0.05rem !important;*/ - border: none !important; - } - - .way-to { - /deep/ .el-form-item__content { - display: flex; - /*.el-button {*/ - /* margin-right: 30px;*/ - /*}*/ - } - } - - /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 { - /*width: 145px;*/ - 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> diff --git a/src/components/base-page/enterprise-emergency/ReportFile.vue b/src/components/base-page/enterprise-emergency/ReportFile.vue deleted file mode 100644 index efa0e23..0000000 --- a/src/components/base-page/enterprise-emergency/ReportFile.vue +++ /dev/null @@ -1,139 +0,0 @@ -<template> - <div class="report-file-box"> - <el-row style="margin: 5px 15px"> - <el-form ref="form" :model="form" label-width="80px"> - <el-col :span="12"> - <el-form-item label="绠$嚎鍚嶇О"> - <el-input v-model="form.pipeName"> - <el-button style="padding-right:10px;" slot="suffix" type="text"> - <img src="../../../../public/assets/images/map/emergency/search.png" alt=""> - </el-button> - </el-input> - </el-form-item> - </el-col> - <el-col :span="12"> - <el-form-item label="绠℃缂栫爜"> - <el-input v-model="form.pipeCode"> - <el-button style="padding-right:10px;" slot="suffix" type="text"> - <img src="../../../../public/assets/images/map/emergency/search.png" alt=""> - </el-button> - </el-input> - </el-form-item> - </el-col> - </el-form> - </el-row> - <div v-for="(item,index) in folderList" :key="index"> - <div class="fold-box"> - <img :src="item.fold" alt="" @click="fileAccord(item)"/> - <span @click="fileAccord(item)">{{ item.introduce }}</span> - </div> - <div v-for="(ite,ind) in item.items" :key="ind" v-show="item.fileCode" class="file"> - <div class="file-left"> - <img :src="ite.file" alt="" @click="codeAccord(ite)"/> - <span @click="codeAccord(ite)">{{ite.introduce}}</span> - </div> - <div class="file-right"> - <span v-show="ite.fileCode">{{item.code}}</span> - </div> - </div> - </div> - </div> -</template> - -<script> -import eventBus from '../../../eventBus' -import foldPng from '../../../../public/assets/images/map/emergency/fold.png' -import filePng from '../../../../public/assets/images/map/emergency/file.png' - -export default { - name: 'ReportFile', - data () { - return { - pipelineFile: false, - form: { - pipeName: '', - pipeCode: '' - }, - folderList: [ - { - fold: foldPng, - introduce: '鐢熶骇涓�鍖�', - code: '400001', - fileCode: false, - items: [ - { - file: filePng, - introduce: '绠$嚎A', - code: '1000001', - fileCode: false - }, - { - file: filePng, - introduce: '绠$嚎B', - code: '2000002', - fileCode: false - } - ] - }, - { - fold: foldPng, - introduce: '鐢熶骇浜屽尯', - code: '400002', - fileCode: false, - items: [ - { - file: filePng, - introduce: '绠$嚎C', - code: '3000003', - fileCode: false - }, - { - file: filePng, - introduce: '绠$嚎D', - code: '4000004', - fileCode: false - } - ] - } - ] - } - }, - mounted () { - eventBus.$on('pipelineFile-choose', (obj) => { - // console.log(obj) - this.pipelineFile = obj - }) - }, - methods: { - fileAccord (item) { - item.fileCode = !item.fileCode - }, - codeAccord (item) { - item.fileCode = !item.fileCode - } - } -} -</script> - -<style lang="less" scoped> - - .file { - display: flex; - align-items: center; - justify-content: space-evenly; - } - - /deep/ .el-input__inner { - border-radius: 5px; - background: rgba(0, 16, 30, 0.5); - border-color: @color; - } - - /deep/ .el-form-item__label { - color: @color; - } - - /deep/ .el-radio__label { - color: @color; - } -</style> diff --git a/src/components/base-page/enterprise-emergency/ReportLocation.vue b/src/components/base-page/enterprise-emergency/ReportLocation.vue deleted file mode 100644 index cff83dc..0000000 --- a/src/components/base-page/enterprise-emergency/ReportLocation.vue +++ /dev/null @@ -1,365 +0,0 @@ -<template> - <div class="report-location-box"> - <div class="report-location"> - <el-tabs v-model="activeName"> - <el-tab-pane label="鐐瑰嚮瀹氫綅" name="first"> - <div class="click-location"> - <el-row> - <el-input type="text" v-model="clickLocation" clearable @focus="focusLocation"></el-input> - </el-row> - <el-row> - <el-button type="primary" @click="confirm">纭</el-button> - </el-row> - </div> - </el-tab-pane> - <el-tab-pane label="绠℃瀹氫綅" name="second"> - <div class="place"> - <div class="place-top"> - <!-- <div class="place-left">--> - <el-form :model="linePos" label-width="90px"> - <el-row class="elrow"> - <el-col :span="16"> -<!-- 绠℃缂栫爜--> - <el-form-item label="绠$嚎鍚嶇О:"> - <el-input v-model="linePos.lineName"></el-input> - </el-form-item> - </el-col> - <el-col :span="8" style="vertical-align: middle !important;"> - <el-button type="primary" size="mini" @click="fileChoose">...</el-button> - <el-button type="primary" size="mini" @click="tableAccod">鎼滅储</el-button> - </el-col> - </el-row> - <el-form-item label="闄勫睘璁炬柦:"> - <el-select v-model="linePos.affFac"> - <el-option - v-for="item in linePos.affFacList" - :key="item.code" - :label="item.name" - :value="item.code"> - </el-option> - </el-select> - </el-form-item> - </el-form> - </div> - <div class="place-bottom"> - <el-button type="primary" @click="confirm">纭</el-button> - </div> - </div> - <div class="pipe-table" v-show="pipeTable"> - <el-table - :data="tableData.slice((currentPage-1)*pageSize,currentPage*pageSize)" - border - style="width: 100%"> - <el-table-column - prop="number" - label="搴忓彿"> - </el-table-column> - <el-table-column - prop="seares" - label="鎼滅储缁撴灉"> - </el-table-column> - <el-table-column - prop="restype" - label="缁撴灉绫诲瀷"> - </el-table-column> - </el-table> - <!-- <el-card class="footer-page" v-if="total >= 0">--> - <el-pagination - mini - @size-change="handleSizeChange" - @current-change="handlePage" - :page-size=pageSize - :current-page="currentPage" - layout="prev, pager, next" - :total=total - class="warnPagination" - > - </el-pagination> - <!-- </el-card>--> - </div> - </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"> - <el-button type="primary" @click="confirm">纭</el-button> - </div> - </el-tab-pane> - </el-tabs> - </div> - <el-dialog - custom-class="el-dialog--center" - :visible.sync="dialogFile" - :append-to-body="true" - :modal="false" - v-dialogDragBottom - > - <ReportFile></ReportFile> - </el-dialog> - </div> -</template> - -<script> -import eventBus from '../../../eventBus' -import ReportFile from '../../../components/base-page/enterprise-emergency/ReportFile' - -import { LayerFsss } from '../../../conf/layers/LayerFsss' - -export default { - name: 'ReportLocation', - components: { - ReportFile - }, - data () { - return { - dialogFile: false, - pipelineFile: false, - // active tab鍒囨崲 - activeName: 'first', - // 绠℃鏌ヨtable - pipeTable: false, - // 鍒嗛〉鍔熻兘 - pageSize: 3, - total: 0, - currentPage: 1, - // 鐐瑰嚮瀹氫綅缁戝畾鏁版嵁 - clickLocation: '', - // 缁忕含搴﹀畾浣� - LongLatPos: { - longPos: '', - latPos: '' - }, - // 绠℃瀹氫綅 - linePos: { - lineName: '', - affFac: '', - affFacList: LayerFsss.layers - }, - tableData: [ - { - number: 1, - seares: '20璺洦姘寸绾�', - restype: '绠$嚎鍚嶇О' - }, { - number: 2, - seares: '20璺洦姘寸绾�', - restype: '绠$嚎鍚嶇О' - }, { - number: 3, - seares: '100020', - restype: '绠℃缂栫爜' - }, - { - number: 4, - seares: '20璺洦姘寸绾�', - restype: '绠$嚎鍚嶇О' - }, { - number: 5, - seares: '20璺洦姘寸绾�', - restype: '绠$嚎鍚嶇О' - }, { - number: 6, - seares: '100020', - restype: '绠℃缂栫爜' - } - ] - } - }, - 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 - this.clickLocation = '\'' + pointX + '\'' + pointY + '' - this.mapPointResult(e) - }, - mapPointResult (e) { - console.log(e) - this.LongLatPos.longPos = e.latlng.lng - this.LongLatPos.latPos = e.latlng.lat - }, - // 鑾峰緱鐒︾偣 杩涜瀹氫綅 - focusLocation () { - this.selectPipeLine() - }, - // 缁忕含搴﹀畾浣� - mapPoints () { - this.selectPipeLine() - }, - // 鍒嗛〉鍔熻兘 currentPage 鏀瑰彉鏃朵細瑙﹀彂 - handlePage (val) { - // console.log(val) - this.currentPage = val - }, - // 鍒嗛〉鍔熻兘 pageSize 鏀瑰彉鏃朵細瑙﹀彂 - handleSizeChange (val) { - // console.log(val) - this.pageSize = val - }, - // 鐐瑰嚮鏂囦欢閫夋嫨 鏄剧ず绗笁绾ч〉闈� 杩涜绠$嚎/娈甸�夋嫨 - fileChoose () { - this.dialogFile = !this.dialogFile - }, - // 鐐瑰嚮纭鎸夐挳浜嬩欢 - confirm () { - // 閫氳繃瀛愮粍浠跺悜鐖剁粍浠朵紶閫掓暟鎹� - this.$emit('locationClick', this.LongLatPos) - this.clickLocation = '' - this.LongLatPos.longPos = '' - this.LongLatPos.latPos = '' - }, - // 绠℃鏌ヨ琛ㄦ牸灞曠ず - tableAccod () { - this.pipeTable = !this.pipeTable - } - } -} -</script> - -<style lang="less" scoped> - - /deep/ .el-dialog--center { - /*left: 2rem !important;*/ - margin-left: 8rem !important; - margin-top: 0.13979rem !important; - } - - /deep/ .el-dialog { - width: 20%; - } - - .place-box { - display: flex; - align-items: center; - justify-content: space-around; - } - - #pane-third { - text-align: center; - } - - /*/deep/ .el-dialog .el-dialog__header {*/ - /* display: none;*/ - /*}*/ - /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; - } - } - - .elrow { - display: flex; - align-items: center; - justify-content: space-around; - } - - .event-report-dialog { - min-width: 1.94532rem; - max-width: 1.94532rem; - } - - .click-location { - margin: 0 auto; - text-align: center; - - .el-input { - width: 80%; - margin: 15px auto; - } - - .el-button { - margin: 15px auto; - } - } - - .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> diff --git a/src/components/base-page/enterprise-emergency/events-reported/EventsReported.vue b/src/components/base-page/enterprise-emergency/events-reported/EventsReported.vue new file mode 100644 index 0000000..b94555a --- /dev/null +++ b/src/components/base-page/enterprise-emergency/events-reported/EventsReported.vue @@ -0,0 +1,471 @@ +<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: '涓�鑸珹绾�', + value: 4 + }, + { + name: '涓�鑸珺绾�', + value: 5 + }, + { + name: '涓�鑸珻绾�', + 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> diff --git a/src/components/base-page/enterprise-emergency/events-reported/ReportLocation.vue b/src/components/base-page/enterprise-emergency/events-reported/ReportLocation.vue new file mode 100644 index 0000000..3e8e096 --- /dev/null +++ b/src/components/base-page/enterprise-emergency/events-reported/ReportLocation.vue @@ -0,0 +1,146 @@ +<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> diff --git a/src/components/base-page/enterprise-emergency/events-reported/ReportLocationSearch.vue b/src/components/base-page/enterprise-emergency/events-reported/ReportLocationSearch.vue new file mode 100644 index 0000000..71d6826 --- /dev/null +++ b/src/components/base-page/enterprise-emergency/events-reported/ReportLocationSearch.vue @@ -0,0 +1,84 @@ +<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> diff --git a/src/components/base-page/enterprise-emergency/events-reported/ReportLocationSection.vue b/src/components/base-page/enterprise-emergency/events-reported/ReportLocationSection.vue new file mode 100644 index 0000000..d8bc7be --- /dev/null +++ b/src/components/base-page/enterprise-emergency/events-reported/ReportLocationSection.vue @@ -0,0 +1,483 @@ +<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> diff --git a/src/components/message/index.vue b/src/components/message/index.vue index 3f6c687..f3741d8 100644 --- a/src/components/message/index.vue +++ b/src/components/message/index.vue @@ -1,6 +1,6 @@ <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> @@ -71,6 +71,7 @@ this.selectGroup = !this.selectGroup this.isShowMessage = this.selectGroup if (this.selectGroup) { + document.querySelector('#notification').style.opacity = '0' this.isShow = [] } else { this.isShow = !this.isShow @@ -88,6 +89,7 @@ handleClose (done) { this.selectGroup = false this.isShowMessage = false + document.querySelector('#notification').style.opacity = '1' } } } @@ -102,7 +104,8 @@ .dialogMessage{ /deep/ .el-dialog{ width: 30vw; - left: 60%; + right: 0.14583rem; + top: 0.11979rem; } .conclusion{ text-indent:2em; diff --git a/src/components/panel/topicSearch/SewersSearch.vue b/src/components/panel/topicSearch/SewersSearch.vue index 7eedeb7..dfa3a7c 100644 --- a/src/components/panel/topicSearch/SewersSearch.vue +++ b/src/components/panel/topicSearch/SewersSearch.vue @@ -193,6 +193,7 @@ // } // 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 diff --git a/src/components/panel/topicSearch/enterprise-emergency/EventQuery.vue b/src/components/panel/topicSearch/enterprise-emergency/EventQuery.vue index eb250a3..8df379d 100644 --- a/src/components/panel/topicSearch/enterprise-emergency/EventQuery.vue +++ b/src/components/panel/topicSearch/enterprise-emergency/EventQuery.vue @@ -1,49 +1,47 @@ <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)">--> @@ -92,19 +90,16 @@ </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> @@ -113,23 +108,19 @@ // 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, @@ -156,6 +147,9 @@ }, mounted () { // this.wfsHelper = new WfsHelper() + eventBus.$on('event-report-popup', (obj) => { + this.dialogVisible = obj + }) }, methods: { dialogVisibleChange () { @@ -229,18 +223,20 @@ </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> diff --git a/src/components/table/components/CorporateEmergency.vue b/src/components/table/components/CorporateEmergency.vue new file mode 100644 index 0000000..0609e51 --- /dev/null +++ b/src/components/table/components/CorporateEmergency.vue @@ -0,0 +1,39 @@ +<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> diff --git a/src/components/table/components/EnvironmentalRisk.vue b/src/components/table/components/EnvironmentalRisk.vue new file mode 100644 index 0000000..d67c894 --- /dev/null +++ b/src/components/table/components/EnvironmentalRisk.vue @@ -0,0 +1,46 @@ +<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> diff --git a/src/components/table/components/IndexStatistics.vue b/src/components/table/components/IndexStatistics.vue index ef47519..f5d31f0 100644 --- a/src/components/table/components/IndexStatistics.vue +++ b/src/components/table/components/IndexStatistics.vue @@ -66,37 +66,19 @@ </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 diff --git a/src/components/table/components/Pipeline.vue b/src/components/table/components/Pipeline.vue new file mode 100644 index 0000000..619ff80 --- /dev/null +++ b/src/components/table/components/Pipeline.vue @@ -0,0 +1,37 @@ +<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> diff --git a/src/components/table/components/PollutionSource.vue b/src/components/table/components/PollutionSource.vue new file mode 100644 index 0000000..474e1dc --- /dev/null +++ b/src/components/table/components/PollutionSource.vue @@ -0,0 +1,44 @@ +<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> diff --git a/src/components/table/components/SoilGroundwater.vue b/src/components/table/components/SoilGroundwater.vue index cad6f79..6c3538b 100644 --- a/src/components/table/components/SoilGroundwater.vue +++ b/src/components/table/components/SoilGroundwater.vue @@ -1,6 +1,6 @@ <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"> @@ -84,6 +84,7 @@ <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', @@ -96,55 +97,6 @@ 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' }, @@ -165,6 +117,9 @@ ] } }, + 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' diff --git a/src/components/table/components/Warn.vue b/src/components/table/components/Warn.vue index 0308373..f5f12e8 100644 --- a/src/components/table/components/Warn.vue +++ b/src/components/table/components/Warn.vue @@ -149,42 +149,18 @@ </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 diff --git a/src/components/table/components/WasteGas.vue b/src/components/table/components/WasteGas.vue index 1bbe3b1..86a5779 100644 --- a/src/components/table/components/WasteGas.vue +++ b/src/components/table/components/WasteGas.vue @@ -63,6 +63,7 @@ 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: { @@ -74,55 +75,7 @@ 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' }, @@ -137,6 +90,9 @@ ] } }, + 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' diff --git a/src/components/table/components/WasteWater.vue b/src/components/table/components/WasteWater.vue index a4c51fd..6540b1a 100644 --- a/src/components/table/components/WasteWater.vue +++ b/src/components/table/components/WasteWater.vue @@ -70,6 +70,7 @@ 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: { @@ -81,57 +82,12 @@ 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' diff --git a/src/components/table/components/tabHandover.vue b/src/components/table/components/tabHandover.vue index 1665928..43896f1 100644 --- a/src/components/table/components/tabHandover.vue +++ b/src/components/table/components/tabHandover.vue @@ -15,10 +15,12 @@ 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: { @@ -26,14 +28,17 @@ // WasteGas, // SoilGroundwater, SolidWaste, - AirQuality + PollutionSource, + EnvironmentalRisk, + Pipeline, + CorporateEmergency }, data () { return { titleProp: '', - activeName: 'gcComp', - topicList: TopicList, - gcComp: AirQuality + activeName: '姹℃煋婧�', + topicList: TopicList, // tab椤� + gcComp: PollutionSource // 榛樿鏄剧ず姹℃煋婧愬唴瀹� } }, methods: { @@ -41,10 +46,9 @@ 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 @@ -56,13 +60,16 @@ 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 } } diff --git a/src/conf/Constants.js b/src/conf/Constants.js index 5f41f64..20c3f29 100644 --- a/src/conf/Constants.js +++ b/src/conf/Constants.js @@ -23,7 +23,11 @@ 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 = { diff --git a/src/conf/Topic.js b/src/conf/Topic.js index 8e4e0d7..ff80c53 100644 --- a/src/conf/Topic.js +++ b/src/conf/Topic.js @@ -47,14 +47,14 @@ isShow: false, icon: 'iconditu', comp: '' -}, { +}, /* { name: '鍦熷¥鍙婂湴涓嬫按', id: 6, checked: false, isShow: false, icon: 'icondxs_green', comp: '' -}, { +} */ { name: '绠$嚎', id: 7, checked: false, @@ -68,7 +68,7 @@ isShow: false, icon: 'iconqiye', comp: '' -}/* { +} /* { name: '绠¢亾鍙樻洿', id: 8, checked: false, diff --git a/src/conf/layers/LayerEnvRisk.js b/src/conf/layers/LayerEnvRisk.js index aeb0937..1ca0e15 100644 --- a/src/conf/layers/LayerEnvRisk.js +++ b/src/conf/layers/LayerEnvRisk.js @@ -14,20 +14,21 @@ 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', @@ -36,7 +37,8 @@ checked: false, // 榛樿閫変腑鐘舵�� type: 0, minZoom: 10, - color: 'sandybrown' + color: 'sandybrown', + level: 1 }, { code: 'envRiskSecond', @@ -45,7 +47,8 @@ checked: false, type: 0, minZoom: 10, - color: 'yellow' + color: 'yellow', + level: 2 }, { code: 'envRiskThird', @@ -54,7 +57,8 @@ checked: false, type: 0, minZoom: 10, - color: 'green' + color: 'green', + level: 3 } ] } diff --git a/src/utils/axios.js b/src/utils/axios.js index 47300fe..cca3604 100644 --- a/src/utils/axios.js +++ b/src/utils/axios.js @@ -191,11 +191,12 @@ 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 = {}) { diff --git a/src/views/MapTemplate.vue b/src/views/MapTemplate.vue index d5d363d..cfd9a1c 100644 --- a/src/views/MapTemplate.vue +++ b/src/views/MapTemplate.vue @@ -44,7 +44,7 @@ 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', -- Gitblit v1.8.0