From 4adfa4774e09f3b388335bb8dee5dea518856e5b Mon Sep 17 00:00:00 2001
From: yangdelong <828900aaa>
Date: 星期日, 30 五月 2021 19:23:27 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/develop' into develop
---
public/assets/images/map-pages/title_bg2.png | 0
src/components/base-page/enterprise-emergency/events-reported/ReportLocationSearch.vue | 238 +++++--
src/conf/Topic.js | 4
dist.zip | 0
public/assets/images/map/governEquipment/govern_green.png | 0
src/api/mapApi.js | 4
src/views/popup/DynamicHeader/DynamicTable.vue | 43 +
public/assets/images/map-pages/title_bg.png | 0
src/components/base-page/WasteWater/WasteWaterHoursChart.vue | 271 ++++++-
src/conf/Constants.js | 25
src/conf/layers/LayerEnvRisk.js | 8
src/views/popup/DynamicHeader/TableColumn.vue | 24
src/components/base-page/PublicDataStandard.vue | 13
src/components/panel/topicSearch/WasteWaterSearch.vue | 86 +-
src/components/base-page/WasteWater/WasteWaterDayChart.vue | 287 +++++++--
src/components/base-page/enterprise-emergency/events-reported/EventsReported.vue | 4
src/components/base-page/PublicSector.vue | 1
src/components/panel/topicSearch/enterprise-emergency/EventQuery.vue | 2
src/components/base-page/WasteWater/WasteWaterRealChart.vue | 38 +
src/utils/utils.js | 2
src/components/panel/RightSearchPanel.vue | 136 ++-
src/components/LayerController/logic/WasteGas.js | 18
src/components/LayerController/logic/GovernEquipment.js | 93 +++
src/api/host.js | 3
src/components/base-page/WasteWater/PublicTabs.vue | 22
src/api/mapUrl.js | 10
src/components/helpers/MapManager.js | 5
src/components/LayerController/modules/LcServiceLayer.vue | 44 +
src/components/base-page/WasteWater/WasteWaterIndex.vue | 25
/dev/null | 36 -
src/components/base-page/enterprise-emergency/events-reported/ReportLocationPoint.vue | 115 ++-
src/components/table/components/tabHandover.vue | 7
src/components/LayerController/logic/WasteWater.js | 13
src/components/base-page/enterprise-emergency/events-reported/ReportLocationSection.vue | 146 ++-
public/assets/governEquipment.json | 22
src/App.vue | 6
src/components/panel/topicSearch/WasteGasSearch.vue | 71 +
37 files changed, 1,302 insertions(+), 520 deletions(-)
diff --git a/dist.zip b/dist.zip
new file mode 100644
index 0000000..1e1ad71
--- /dev/null
+++ b/dist.zip
Binary files differ
diff --git a/public/assets/governEquipment.json b/public/assets/governEquipment.json
new file mode 100644
index 0000000..17d1b68
--- /dev/null
+++ b/public/assets/governEquipment.json
@@ -0,0 +1,22 @@
+[
+ {
+ "no": 0,
+ "company": "鎵瓙鐭冲寲",
+ "plate": "鐐兼补鏉垮潡",
+ "unitName": "鑺崇儍鍘傘�佺偧娌瑰巶",
+ "governName": "纭:鍥炴敹娌荤悊璁炬柦",
+ "Longitude": 118.7936111111,
+ "Latitude": 32.2583305556,
+ "status": 1
+ },
+ {
+ "no": 1,
+ "company": "涓煩鐭冲寲",
+ "plate": "鐐兼补鏉垮潡",
+ "unitName": "鐐兼补浜岄儴",
+ "governName": "鍌寲瑁傚寲娌荤悊璁炬柦",
+ "Longitude": 114.44016,
+ "Latitude": 30.65305,
+ "status": 1
+ }
+]
diff --git a/public/assets/images/map-pages/title_bg.png b/public/assets/images/map-pages/title_bg.png
new file mode 100644
index 0000000..0f0b6cd
--- /dev/null
+++ b/public/assets/images/map-pages/title_bg.png
Binary files differ
diff --git a/public/assets/images/map-pages/title_bg2.png b/public/assets/images/map-pages/title_bg2.png
new file mode 100644
index 0000000..642a42f
--- /dev/null
+++ b/public/assets/images/map-pages/title_bg2.png
Binary files differ
diff --git a/public/assets/images/map/governEquipment/govern_green.png b/public/assets/images/map/governEquipment/govern_green.png
new file mode 100644
index 0000000..1b30b11
--- /dev/null
+++ b/public/assets/images/map/governEquipment/govern_green.png
Binary files differ
diff --git a/src/App.vue b/src/App.vue
index 6b056a7..1e6c2a3 100644
--- a/src/App.vue
+++ b/src/App.vue
@@ -29,5 +29,9 @@
-ms-overflow-style: none;
font-size: 12px;
}
-
+.popoverBoxStyle{
+ border: 0.00521rem solid #00fff6;
+ box-shadow: 0 0 0.03rem #00fff6;
+ background-color: rgba(0, 16, 30, 0.8) !important;
+}
</style>
diff --git a/src/api/host.js b/src/api/host.js
index 04d5a4f..919fce0 100644
--- a/src/api/host.js
+++ b/src/api/host.js
@@ -4,10 +4,11 @@
import { getSchemeHost } from '../utils/tools'
export const $HOST = getSchemeHost()
+// 鐜繚浜屾湡
+export const $HOSTII = 'http://10.246.162.140:8080'
// 绠$嚎鍒嗘瀽-绾夸笂
// export const $HOSTANALYSE = 'http://xearth.cn:6202'
export const $HOSTANALYSE = 'http://10.238.235.179:6202'
-
// 绠$嚎鍒嗘瀽-鏈湴
// export const $HOSTANALYSE = 'http://10.238.105.124:8089'
diff --git a/src/api/mapApi.js b/src/api/mapApi.js
index ae65d02..9654615 100644
--- a/src/api/mapApi.js
+++ b/src/api/mapApi.js
@@ -31,7 +31,7 @@
},
// 搴熸皵鐐瑰姞杞�
getWasteGas (data) {
- return axios.get(mapUrl.getWasteGas, data)
+ return axios.post(mapUrl.getWasteGas, qs.stringify(data), { 'Content-Type': 'application/x-www-form-urlencoded; charset=UTF-8' })
},
// 搴熸皵鏄庣粏琛�
getWasteGasDetails (data) {
@@ -54,7 +54,7 @@
return axios.get(mapUrl.getWasteWaterMonitoringDetails, data)
},
// 搴熸按鏃ユ暟鎹拰灏忔椂鏁版嵁鍙婃槑缁嗚〃
- getQueryOnlineMonData (data, setHeaders) {
+ getQueryOnlineMonData (data) {
return axios.post(mapUrl.getQueryOnlineMonData, qs.stringify(data), { 'Content-Type': 'application/x-www-form-urlencoded; charset=UTF-8' })
},
// 搴熸按浜哄伐鏁版嵁
diff --git a/src/api/mapUrl.js b/src/api/mapUrl.js
index 4ce8883..3b36f17 100644
--- a/src/api/mapUrl.js
+++ b/src/api/mapUrl.js
@@ -1,7 +1,7 @@
/**
* 璇ユ枃浠堕厤缃帴鍙g殑URL鍦板潃
*/
-import { $HOST, $HOSTANALYSE } from './host'
+import { $HOST, $HOSTII, $HOSTANALYSE } from './host'
export const GetUser = $HOST + '/user/getUser'
@@ -12,18 +12,18 @@
export const getSolidWasteSurveyDetail = $HOST + '/wasteSolid/getSolidWasteSurveyDetail'
// 搴熸皵
-export const getWasteGas = $HOST + '/wasteGas/getWasteGas'
+export const getWasteGas = $HOSTII + '/EPInterface/DataService/EPMapService.asmx/ObtainningConInfo'
export const getWasteGasDetails = $HOST + '/wasteGas/getWasteGasMonitoringDetails'
export const DataItems = $HOST + '/wasteGas/RTDB/DataItems' // 搴熸皵瀹炴椂鏁版嵁
export const getWasteGasMonData = $HOST + '/wasteGas/QueryOnlineMonData'
export const getWasteGasManualData = $HOST + '/wasteGas/QueryLabMonData'
// 搴熸按
-export const getWasteWater = 'http://10.246.162.140:8080/EPInterface/DataService/EPMapService.asmx/ObtainningConInfo' // 搴熸按鐐逛俊鎭�
+export const getWasteWater = $HOSTII + '/EPInterface/DataService/EPMapService.asmx/ObtainningConInfo' // 搴熸按鐐逛俊鎭�
export const getWasteWaterMonitoring = $HOST + '/wasteWater/getWasteWaterMonitoring' // 搴熸按鐩戞祴鏁版嵁
export const getWasteWaterMonitoringDetails = $HOST + '/wasteWater/getWasteWaterMonitoringDetails' // 搴熸按鐩戞祴鏁版嵁鏄庣粏琛�
-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 getQueryOnlineMonData = $HOSTII + '/EPInterface/DataService/EPMapService.asmx/QueryOnlineMonData' // 搴熸按鏃ユ暟鎹皬鏃舵暟鎹強鏄庣粏琛ㄦ暟鎹�
+export const getQueryLabMonData = $HOSTII + '/EPInterface/DataService/EPMapService.asmx/QueryLabMonData' // 浜哄伐鏁版嵁
export const getDataItems = $HOST + '/wasteWater/RTDB/DataItems' // 瀹炴椂鏁版嵁
// 鍏徃
diff --git a/src/components/LayerController/logic/GovernEquipment.js b/src/components/LayerController/logic/GovernEquipment.js
new file mode 100644
index 0000000..f5f174f
--- /dev/null
+++ b/src/components/LayerController/logic/GovernEquipment.js
@@ -0,0 +1,93 @@
+/**
+ * 姹℃煋婧�
+ */
+// 淇℃伅缁勪欢
+const GovernEquipmentIndex = require('../../base-page/RiskSource/RiskSourceIndex.vue').default
+// 浣跨敤灏佽鏂规硶
+const AnimalService = require('../service/AnimalService').default
+// 璇锋眰鎺ュ彛鏁版嵁
+const mapApi = require('../../../api/mapApi').default
+// 鍏叡鏂规硶 panTo() 寮曠敤
+const { setPanTo } = require('../../../utils/utils')
+
+const governGreen = '/assets/images/map/governEquipment/govern_green.png'
+
+module.exports = function () {
+ /**
+ * 鍒濆鍖栧苟鍔犺浇鍥惧眰
+ * @param L leaflet瀵硅薄
+ */
+ this.init = async (layer, L) => {
+ this.animalService = new AnimalService({
+ L: L,
+ layer: layer
+ })
+ const data = await mapApi.getGovernEquipment()
+ for (let i = 0; i < data.length; i++) {
+ const postion = [data[i].Latitude, data[i].Longitude] // 鍧愭爣
+ const iconUrl = this.governIconUrl(data[i].status) // 娌荤悊璁炬柦鍥炬爣
+ const marker = L.marker(postion, {
+ totransferData: data[i],
+ icon: L.icon({
+ iconUrl: iconUrl,
+ iconSize: [30, 30],
+ iconAnchor: [15, 15]
+ })
+ })
+ layer.addLayer(marker)
+ }
+ }
+
+ /**
+ * 鎻愮ず绐�
+ * @param layer
+ * @returns {string}
+ */
+ this.bindTooltip = (layer) => {
+ return layer.options.totransferData.governName
+ }
+
+ /**
+ * 淇℃伅寮圭獥
+ * @param e
+ */
+ this.clickListener = (e) => {
+ // 鑴夊啿鏁堟灉
+ this.animalService.pulseEffect(e.latlng)
+ // 淇℃伅寮圭獥骞崇Щ
+ setPanTo(e.latlng, 200)
+ // 寮规鏍囬
+ const title = e.layer.options.totransferData.Name
+ window.$layer.open({
+ content: {
+ comp: GovernEquipmentIndex, // 缁勪欢
+ parent: this, // 鐖剁粍浠�
+ data: { // 浼犻�掔殑鍙傛暟
+ riskSourceId: e.layer.options.totransferData.no
+ }
+ },
+ title: title // 鏍囬
+ })
+ }
+
+ /**
+ * 娌荤悊璁炬柦鍥炬爣閰嶇疆
+ * @param t
+ * @returns {string}
+ */
+ this.governIconUrl = (t) => {
+ let iconUrl = null
+ switch (t) {
+ case 1:
+ iconUrl = governGreen
+ break
+ case 2:
+ iconUrl = ''
+ break
+ default:
+ iconUrl = ''
+ break
+ }
+ return iconUrl
+ }
+}
diff --git a/src/components/LayerController/logic/SourcesPollution.js b/src/components/LayerController/logic/SourcesPollution.js
deleted file mode 100644
index 27899ce..0000000
--- a/src/components/LayerController/logic/SourcesPollution.js
+++ /dev/null
@@ -1,36 +0,0 @@
-/**
- * 姹℃煋婧�
- * */
-
-// 璇锋眰鎺ュ彛鏁版嵁
-const mapApi = require('../../../api/mapApi').default
-// 浣跨敤灏佽鏂规硶
-const AnimalService = require('../service/AnimalService').default
-
-module.exports = function () {
- this.init = async (layer, L) => {
- this.animalService = new AnimalService({
- L: L,
- layer: layer
- })
- const result = await mapApi.getSourcesPoll()
- // console.log(result)
- const resultData = result.Result.DataInfo || []
- const polygon = L.polygon(resultData, { color: 'yellow' })
- polygon.addTo(layer)
- }
- this.bindTooltip = (layer) => {
- return 'layer'
- }
- this.click = () => {
- window.$layer.open({
- content: {
- content: 'Popup', // 缁勪欢
- data: { // 浼犻�掔殑鍙傛暟
- datas: 'popupDatas'
- }
- },
- title: ''
- })
- }
-}
diff --git a/src/components/LayerController/logic/WasteGas.js b/src/components/LayerController/logic/WasteGas.js
index b591f19..8a2fa53 100644
--- a/src/components/LayerController/logic/WasteGas.js
+++ b/src/components/LayerController/logic/WasteGas.js
@@ -26,10 +26,22 @@
L: L,
layer: layer
})
- const res = await mapApi.getWasteGas()
- // console.log(res)
+ const param = {
+ companyId: 3900100145, // 浼佷笟缂栫爜
+ id: '',
+ monType: 2, // 搴熸皵
+ userCode: 'wenchun.deng', // 鐢ㄦ埛鍚嶇О
+ monDuration: '',
+ epName: '',
+ secdDeptId: '',
+ contrLevel: '',
+ dataStatus: '',
+ dataFlag: '',
+ runStatus: '',
+ emissTypeId: ''
+ }
+ const res = await mapApi.getWasteGas(param)
const data = res.Result.DataInfo || {}
- // console.log(data)
for (let i = 0; i < data.length; i++) {
// 缁忕含搴� 浣嶇疆
const positionX = data[i].Latitude
diff --git a/src/components/LayerController/logic/WasteWater.js b/src/components/LayerController/logic/WasteWater.js
index 29658e1..01cd150 100644
--- a/src/components/LayerController/logic/WasteWater.js
+++ b/src/components/LayerController/logic/WasteWater.js
@@ -27,11 +27,11 @@
L: L,
layer: layer
})
- const res = await mapApi.getWasteWater({
- companyId: 3900100145, // 浼佷笟鍚嶇О
+ const param = {
+ companyId: 3900100145, // 浼佷笟缂栫爜
id: '',
- monType: 1, // 鍊间负1鏌ヨ搴熸按
- userCode: 'wenchun.deng', // 瑙掕壊鍚嶇О
+ monType: 1, // 搴熸按
+ userCode: 'wenchun.deng', // 鐢ㄦ埛鍚嶇О
monDuration: '',
epName: '',
secdDeptId: '',
@@ -40,7 +40,8 @@
dataFlag: '',
runStatus: '',
emissTypeId: ''
- })
+ }
+ const res = await mapApi.getWasteWater(param)
const data = res.Result.DataInfo || {}
for (let i = 0; i < data.length; i++) {
// 缁忕含搴� 浣嶇疆
@@ -54,7 +55,7 @@
totransferData: data[i],
icon: L.icon({
iconUrl: iconUrl,
- iconSize: [35, 35],
+ iconSize: [30, 30],
iconAnchor: [15, 15]
})
})
diff --git a/src/components/LayerController/modules/LcServiceLayer.vue b/src/components/LayerController/modules/LcServiceLayer.vue
index acb38a6..eb0472f 100644
--- a/src/components/LayerController/modules/LcServiceLayer.vue
+++ b/src/components/LayerController/modules/LcServiceLayer.vue
@@ -7,17 +7,17 @@
<i class="downUp el-icon-caret-bottom" @click="item.isShow=!item.isShow" :class="item.isShow?'':'active'" ></i><!-- el-icon-arrow-down -->
<!-- 涓�绾у浘灞傞亶鍘� -->
<div style="padding-left:25px;padding-top:10px;color:#fff;font-size: 16px;">
- <input type="checkbox" :class="item.type==1?'active':''" :name="'wmsLayer_'+item.code" :checked="item.checked" :value="item.code" @change="swAllLayers(item)"/>{{ item.name }}
+ <input type="checkbox" :class="{ 'active': item.type === 1 }" :name="'wmsLayer_'+item.code" :checked="item.checked" :value="item.code" @change="swAllLayers(item)"/>{{ item.name }}
</div>
<div class="layerbox-item" v-show="item.isShow" >
<!-- 浜岀骇鍥惧眰閬嶅巻 -->
<div class="basemap-layer-item" v-for="(itm,index2) in item.layers" :key="index2" :class="!itm.layers?'felxs':''" >
- <input type="checkbox" :class="itm.type==1?'active':''" :name="'wmsSublayers_'+item.code+'_'+itm.code" :checked="itm.checked" :value="itm.code" @change="swAllLayers(itm)"/>{{ itm.name }}
+ <input type="checkbox" :class="{ 'active': itm.type === 1 }" :name="'wmsSublayers_'+item.code+'_'+itm.code" :checked="itm.checked" :value="itm.code" @change="swAllLayers(itm)"/>{{ itm.name }}
<!-- 涓夌骇鍥惧眰閬嶅巻 -->
<div class="layerbox-item-3" v-show="itm.layers">
<div class="basemap-layer-item" v-for="(layer,index3) in itm.layers" :key="index3">
<input type="checkbox"
- :class="layer.type==1?'active':''"
+ :class="{ 'active': layer.type === 1 }"
:name="'wmsSublayers_'+item.code+'_'+layer.code"
:checked="layer.checked"
:value="layer.code"
@@ -36,7 +36,7 @@
<script>
import LcServiceLayerFilter from '@components/LayerController/modules/LcServiceLayerFilter'
-import bus from '@/eventBus'
+
export default {
name: 'LcServiceLayer',
components: { LcServiceLayerFilter },
@@ -68,6 +68,8 @@
} else {
this.toggleLayer(item)
}
+ /* <<<<<<< HEAD
+ bus.$emit('changeSearchBar', item)
this.serviceLayers.forEach(function (item1, index1) {
if (item1.layers) {
item1.istrue = 0
@@ -112,6 +114,7 @@
// console.log(item1.layers.length, item1.istrue, item1.isfalse, item1.type)
}
})
+>>>>>>> de7390c66ef3e3fe316e804495a78d05a01f0160 */
// console.log(this.serviceLayers)
},
swLayers (configs, checked) {
@@ -126,6 +129,30 @@
}
}
},
+ setLayerType (configs, checkedSum) {
+ if (configs) {
+ for (let i = 0, len = configs.length; i < len; ++i) {
+ const config = configs[i]
+ const checked = config.checked
+ if (config.layers) {
+ checkedSum = this.setLayerType(config.layers, checkedSum || 0)
+ if (checkedSum === config.layers.length) {
+ config.type = 2
+ config.checked = true
+ } else if (checkedSum === 0) {
+ config.type = 0
+ config.checked = false
+ } else {
+ config.type = 1
+ }
+ checkedSum = 0
+ continue
+ }
+ checkedSum = checkedSum + (checked ? 1 : 0)
+ }
+ return checkedSum
+ }
+ },
toggleLayer (itm) {
if (itm.checked) {
window.layerFactory.show(itm)
@@ -134,6 +161,15 @@
}
// this.updateWms()
}
+ },
+ watch: {
+ serviceLayers: {
+ handler: function (val) {
+ this.setLayerType(val, 0)
+ },
+ immediate: true,
+ deep: true
+ }
}
}
</script>
diff --git a/src/components/base-page/PublicDataStandard.vue b/src/components/base-page/PublicDataStandard.vue
index df75eaf..164801f 100644
--- a/src/components/base-page/PublicDataStandard.vue
+++ b/src/components/base-page/PublicDataStandard.vue
@@ -7,7 +7,7 @@
<!-- <span class="grid-content">搴熸皵娴侀噺 : <i style="color: #e8ee0b">120343.18</i></span>-->
<span class="grid-content" v-for="item in dataStandard" :key="item.current.name">{{ item.current.name }} :
<i style="color: #e8ee0b">{{ item.current.val }}</i> {{
- item.standard.name ? item.standard.name + ':' : ''
+ item.standard.name && item.current.name.indexOf('娴侀噺') === -1 ? item.standard.name + ':' : ''
}} <i style="color: #fff">{{ item.standard.val }}</i></span>
</div>
</div>
@@ -16,6 +16,11 @@
<script>
export default {
name: 'PublicDataStandard',
+ watch: {
+ dataStandard (val, oldVal) {
+ this.dataStandard = val
+ }
+ },
props: {
dataStandard: {
type: Array,
@@ -31,12 +36,12 @@
.animation {
.information {
.grid-content {
- padding: 0.02rem;
- background-color: #2e4967;
+ padding: 0.03rem 0.08rem 0.03rem 0.08rem;
text-align: center;
border-radius: 0.02rem;
line-height: 0.15rem;
- margin: 0 0.05rem;
+ margin: 0 0.03rem;
+ box-shadow: 0 0 10px rgba(129,211,248,.35) inset;
}
}
}
diff --git a/src/components/base-page/PublicSector.vue b/src/components/base-page/PublicSector.vue
index 328b263..146c612 100644
--- a/src/components/base-page/PublicSector.vue
+++ b/src/components/base-page/PublicSector.vue
@@ -31,7 +31,6 @@
.public-bounced-content {
padding: 0.05rem;
- display: flex;
.public-bounced-content-left {
}
diff --git a/src/components/base-page/WasteWater/PublicTabs.vue b/src/components/base-page/WasteWater/PublicTabs.vue
index 4b5b9b1..1f08bb6 100644
--- a/src/components/base-page/WasteWater/PublicTabs.vue
+++ b/src/components/base-page/WasteWater/PublicTabs.vue
@@ -8,12 +8,12 @@
<div class="main-matter">
<div>
<ul>
- <li>鐩戞祴鐐瑰悕绉�:{{ storagePlaceId.Name }}</li>
- <li>鐢熶骇鍗曚綅:{{ storagePlaceId.porltName }}</li>
- <li>鎺掓斁绫诲瀷鍚嶇О:{{ storagePlaceId.MonTypeName }}</li>
- <li>鎺掓斁鍘诲悜:{{ storagePlaceId.EmissDirecti }}</li>
- <li>鎺у埗绾у埆鍚嶇О:{{ storagePlaceId.ContrLevelShowName }}</li>
- <li>鍐�/澶栨帓鏀惧彛:{{ storagePlaceId.OrOutPortName }}</li>
+ <li><span class="namer">鐩戞祴鐐瑰悕绉帮細</span>{{ storagePlaceId.Name }}</li>
+ <li><span class="namer">鐢熶骇鍗曚綅锛�</span>{{ storagePlaceId.porltName }}</li>
+ <li><span class="namer">鎺掓斁绫诲瀷鍚嶇О锛�</span>{{ storagePlaceId.MonTypeName }}</li>
+ <li><span class="namer">鎺掓斁鍘诲悜锛�</span>{{ storagePlaceId.EmissDirecti }}</li>
+ <li><span class="namer">鎺у埗绾у埆鍚嶇О锛�</span>{{ storagePlaceId.ContrLevelShowName }}</li>
+ <li><span class="namer">鍐�/澶栨帓鏀惧彛锛�</span>{{ storagePlaceId.OrOutPortName }}</li>
</ul>
</div>
</div>
@@ -60,14 +60,18 @@
li {
margin-bottom: 0.04rem;
- text-align: center;
min-width: 31%;
- background-color: #243a55;
- color: #00d0f9;
+ box-shadow: 0 0 10px rgba(129,211,248,.35) inset;
+ color: #00fff6;
border-radius: 0.02rem;
font-size: 0.08rem;
line-height: 0.09rem;
padding: 0.03rem .5%;
+ .namer{
+ display: inline-block;
+ width: .6rem;
+ text-align: right;
+ }
}
}
diff --git a/src/components/base-page/WasteWater/WasteWaterDayChart.vue b/src/components/base-page/WasteWater/WasteWaterDayChart.vue
index 1fcb2c9..808879d 100644
--- a/src/components/base-page/WasteWater/WasteWaterDayChart.vue
+++ b/src/components/base-page/WasteWater/WasteWaterDayChart.vue
@@ -1,5 +1,5 @@
<template>
- <div class="echarts-box">
+ <div id="wasteWaterDayChartBox" class="echarts-box">
<div class="tab-scroll">
<PublicDataStandard :dataStandard="dataStandard"></PublicDataStandard>
</div>
@@ -9,11 +9,18 @@
<span class="demonstration">缁撴潫鏃堕棿锛�</span>
<el-date-picker v-model="formData.timeEnd" value-format="yyyy-MM-dd" type="datetime" size="mini"></el-date-picker>
<span class="demonstration">閲囨牱鐐规暟锛�</span>
- <el-select v-model="formData.region" placeholder="璇烽�夋嫨" size="mini">
+ <el-select class="selectBox" v-model="formData.region" placeholder="璇烽�夋嫨" size="mini">
<el-option v-for="(item,index) in formData.regionList" :key="index" :label="item" :value="item"></el-option>
</el-select>
<el-button @click="querySearch()">鏌ヨ</el-button>
- <el-button>鏄庣粏琛�</el-button>
+ <el-popover
+ placement="top"
+ width="100%"
+ popper-class="popoverBoxStyle"
+ trigger="click">
+ <dynamic-table :tableData="tableData" :tableHeader="tableConfig" v-if="tableData"></dynamic-table>
+ <el-button slot="reference" id="mingxiBtn">鏄庣粏琛�</el-button>
+ </el-popover>
</div>
<div class="echarts-chart">
<div ref="echartsDay"></div>
@@ -26,56 +33,19 @@
import dayjs from 'dayjs'
import PublicDataStandard from '../PublicDataStandard'
import mapApi from '@/api/mapApi'
+import DynamicTable from '../../../views/popup/DynamicHeader/DynamicTable' // 澶氱骇琛ㄥご
export default {
name: 'WasteWaterDayChart',
components: {
- PublicDataStandard
+ PublicDataStandard,
+ DynamicTable
},
data () {
return {
// tab鏍忎紶閫掓帴鏀舵暟鎹�
- dataStandard: [
- {
- current: {
- name: '姘哀鍖栫墿',
- val: 29.93
- },
- standard: {
- name: '鏍囧噯',
- val: 100
- }
- },
- {
- current: {
- name: '浜屾哀鍖栫~',
- val: 17.34
- },
- standard: {
- name: '鏍囧噯',
- val: 50
- }
- },
- {
- current: {
- name: '鐑熷皹',
- val: 6.93
- },
- standard: {
- name: '鏍囧噯',
- val: 30
- }
- },
- {
- current: {
- name: '搴熸皵娴侀噺',
- val: 120
- },
- standard: {
- name: '',
- val: null
- }
- }],
+ dataStandard: [],
+ tableData: null,
formData: {
region: '25',
regionList: [25, 50, 75, 100],
@@ -86,7 +56,98 @@
dataType: 1,
jcdID: 1,
bzz: null,
- bzzList: []
+ bzzList: [],
+ // 琛ㄥご鏁版嵁
+ tableConfig: [
+ {
+ id: 100,
+ label: '鎺掓斁鐐�',
+ prop: 'OnLineMonEmissPointName'
+ },
+ {
+ id: 200,
+ label: '鐩戞祴鏃堕棿',
+ prop: 'MonTimeStr'
+ },
+ {
+ id: 300,
+ label: 'COD',
+ prop: 'PoltmtrlName',
+ children: [
+ {
+ id: 310,
+ label: '瀹炴祴鎺掓斁閲忥紙kg/h锛�',
+ prop: 'COD_EmissQty'
+ },
+ {
+ id: 320,
+ label: '瀹炴祴娴撳害锛坢g/l锛�',
+ prop: 'COD_MonQty'
+ },
+ {
+ id: 330,
+ label: '鏍囧噯鍊硷紙mg/l锛�',
+ prop: 'COD_StdValue'
+ }
+ ]
+ },
+ {
+ id: 400,
+ label: '姘ㄦ爱',
+ prop: 'PoltmtrlName',
+ children: [
+ {
+ id: 410,
+ label: '瀹炴祴鎺掓斁閲忥紙kg/h锛�',
+ prop: '姘ㄦ爱_EmissQty'
+ },
+ {
+ id: 420,
+ label: '瀹炴祴娴撳害锛坢g/l锛�',
+ prop: '姘ㄦ爱_MonQty'
+ },
+ {
+ id: 430,
+ label: '鏍囧噯鍊硷紙mg/l锛�',
+ prop: '姘ㄦ爱_StdValue'
+ }
+ ]
+ },
+ {
+ id: 500,
+ label: 'PH',
+ prop: 'PoltmtrlName',
+ children: [
+ {
+ id: 510,
+ label: '瀹炴祴鎺掓斁閲忥紙kg/h锛�',
+ prop: 'pH_EmissQty'
+ },
+ {
+ id: 520,
+ label: '瀹炴祴娴撳害锛坢g/l锛�',
+ prop: 'pH_MonQty'
+ },
+ {
+ id: 530,
+ label: '鏍囧噯鍊硷紙mg/l锛�',
+ prop: 'pH_StdValue'
+ }
+ ]
+ },
+ {
+ id: 600,
+ label: '搴熸按娴侀噺',
+ prop: '',
+ children: [
+ {
+ id: 610,
+ label: '瀹炴祴娴侀噺锛坢鲁/h锛�',
+ prop: '搴熸按娴侀噺_MonQty'
+ }
+ ]
+ }
+ ]
}
},
mounted () {
@@ -104,7 +165,7 @@
poltMtrlId: '',
emissTypeId: '',
onLineMonEmissPointId: 23,
- monItemId: 28,
+ monItemId: '28,31,35', // 鐩戞祴椤� COD銆佹皑姘�丳H
beginTime: this.formData.timeStart,
endTime: this.formData.timeEnd,
dataType: this.dataType
@@ -114,6 +175,8 @@
},
get24HourDate (res) {
if (res.length > 0) {
+ this.dataStandard = []
+ this.tableData = this.analysisResult(res) // 灏忔椂鏄庣粏琛ㄨВ鏋愮粨鏋�
// 澶勭悊鏁版嵁寮�濮�
const d = res
const nameList = [] // 瀛樻斁鍥句緥
@@ -148,19 +211,44 @@
if (nameList.length === 0) {
nameList.push(d[i].PoltmtrlName.trim())
dateList.push(strDate)
-
+ this.dataStandard.push({
+ current: {
+ name: d[i].PoltmtrlName.trim(),
+ val: ''
+ },
+ standard: {
+ name: '鏍囧噯',
+ val: ''
+ }
+ })
bzh.push(d[i].StdValue)
data = {
name: d[i].PoltmtrlName.trim(),
- data: [d[i].MonQty]
+ data: []
+ }
+ if (d[i].MonQty !== null) {
+ data.data.push(d[i].MonQty)
}
dataList.push(data)
} else if (nameList.indexOf(d[i].PoltmtrlName.trim()) < 0) {
nameList.push(d[i].PoltmtrlName)
bzh.push(d[i].StdValue)
+ this.dataStandard.push({
+ current: {
+ name: d[i].PoltmtrlName.trim(),
+ val: ''
+ },
+ standard: {
+ name: '鏍囧噯',
+ val: ''
+ }
+ })
data = {
name: d[i].PoltmtrlName.trim(),
- data: [d[i].MonQty]
+ data: []
+ }
+ if (d[i].MonQty !== null) {
+ data.data.push(d[i].MonQty)
}
dataList.push(data)
} else {
@@ -169,7 +257,7 @@
}
for (let j = 0; j < dataList.length; j++) {
if (d[i].PoltmtrlName.trim() === dataList[j].name) {
- dataList[j].data.push(d[i].MonQty)
+ if (d[i].MonQty !== null)dataList[j].data.push(d[i].MonQty)
}
}
}
@@ -265,7 +353,10 @@
}
ydatas.push(ydata)
}
-
+ for (var t = 0; t < this.dataStandard.length; t++) {
+ this.dataStandard[t].current.val = ydatas[t].data[ydatas[t].data.length - 1].toFixed(2)
+ this.dataStandard[t].standard.val = ydatas[t].bzz
+ }
const yname = '娴撳害(mg/l)'
this.effChartShow(legend, xdata, ydatas, yname, this.jcdID, this.datatype)
}
@@ -273,7 +364,6 @@
effChartShow (legend, xdata, ydatas, yname, jcdID, datatype) {
this.chart = this.$echarts.init(this.$refs.echartsDay)
this.chart.clear()
- // console.log(this.chart)
this.chart.clear()
let dataUnit = ''
if (datatype === 1) {
@@ -302,12 +392,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: { // 鎶樼嚎鐨勯鑹�
@@ -429,9 +521,12 @@
saveAsImage: {}
}
},
- grid: { // 缃戞牸
- top: '20%'
- // left: '5%'
+ grid: {
+ // 涓庣粷瀵瑰畾浣嶇浉浼硷紝top锛宭eft锛宺ight锛宐ottom 璁惧畾鏄牴鎹笂绾х洅瀛愬楂樻潵璁$畻
+ top: '20%',
+ left: '6%',
+ right: '6%',
+ bottom: '12%'
},
legend: {
data: legend
@@ -544,11 +639,75 @@
}
this.chart.setOption(option)
window.onresize = this.chart.resize
+ },
+ analysisResult (result) {
+ // 澶勭悊琛ㄦ牸澶�
+ const json = {}
+ const arr = []
+ // 澶勭悊琛ㄦ牸鍐呭
+ const bodyDataList = []
+ const dataMap = {}
+ for (let i = 0; i < result.length; i++) {
+ json[result[i].PoltmtrlName] = result[i].PoltmtrlName
+ const rgdata = result[i]
+ const timeTag = rgdata.MonTimeStr
+ if (!dataMap[timeTag]) {
+ dataMap[timeTag] = { MonTimeStr: '' + rgdata.MonTimeStr }
+ }
+ // 寰�鏁版嵁涓坊鍔犲睘鎬ф暟鎹�
+ const el = dataMap[timeTag]
+ el.OnLineMonEmissPointName = rgdata.OnLineMonEmissPointName
+ el[rgdata.PoltmtrlName + '_EmissQty'] = rgdata.EmissQty ? rgdata.EmissQty.toFixed(2) : '--'
+ el[rgdata.PoltmtrlName + '_MonQty'] = rgdata.MonQty ? rgdata.MonQty.toFixed(2) : '--'
+ el[rgdata.PoltmtrlName + '_StdValue'] = rgdata.StdValue ? rgdata.StdValue.toFixed(2) : '--'
+ }
+ let FSLLtemp = null
+ for (var key in json) {
+ if (key === '搴熸按娴侀噺' || key === '搴熸按') {
+ FSLLtemp = key
+ } else {
+ arr.push(key)
+ }
+ }
+ if (FSLLtemp != null) {
+ arr.push(FSLLtemp)
+ }
+ for (var p in dataMap) {
+ bodyDataList.push(dataMap[p])
+ }
+ return bodyDataList
}
}
}
</script>
-<style scoped lang="less">
-
+<style lang="less">
+#wasteWaterDayChartBox .echarts-form .el-input__inner {
+ background-color: rgba(0, 0, 0, 0);
+ height: .13rem;
+ border-color: #336fa4;
+}
+#wasteWaterDayChartBox .echarts-form{
+ margin-top: 1px
+}
+#wasteWaterDayChartBox .echarts-form .el-input__icon{
+ height: .13rem;
+ top: -.02rem;
+ right: -0.03rem;
+ position: absolute;
+ color: #00d0f9;
+}
+#wasteWaterDayChartBox .echarts-form .selectBox .el-input__icon:last-child{
+ top: .02rem;
+}
+#wasteWaterDayChartBox .echarts-form .selectBox .is-reverse{
+ top: -.02rem !important;
+}
+#wasteWaterDayChartBox .echarts-form .el-button{
+ background-color: rgba(0, 0, 0, 0);
+ height: .13rem;
+}
+#mingxiBtn{
+ margin-left: -.02rem;
+}
</style>
diff --git a/src/components/base-page/WasteWater/WasteWaterHoursChart.vue b/src/components/base-page/WasteWater/WasteWaterHoursChart.vue
index 2acfe80..a4b7d6c 100644
--- a/src/components/base-page/WasteWater/WasteWaterHoursChart.vue
+++ b/src/components/base-page/WasteWater/WasteWaterHoursChart.vue
@@ -1,5 +1,5 @@
<template>
- <div class="echarts-box">
+ <div id="wasteWaterHoursChartBox" class="echarts-box">
<div class="tab-scroll">
<PublicDataStandard :dataStandard="dataStandard"></PublicDataStandard>
</div>
@@ -9,11 +9,18 @@
<span class="demonstration">缁撴潫鏃堕棿锛�</span>
<el-date-picker v-model="formData.endTime" value-format="yyyy-MM-dd HH" type="datetime" size="mini"></el-date-picker>
<span class="demonstration">閲囨牱鐐规暟锛�</span>
- <el-select v-model="formData.region" placeholder="璇烽�夋嫨" size="mini">
+ <el-select class="selectBox" v-model="formData.region" placeholder="璇烽�夋嫨" size="mini">
<el-option v-for="(item,index) in formData.regionList" :key="index" :label="item" :value="item"></el-option>
</el-select>
<el-button @click="querySearch()">鏌ヨ</el-button>
- <el-button>鏄庣粏琛�</el-button>
+ <el-popover
+ placement="top"
+ width="100%"
+ popper-class="popoverBoxStyle"
+ trigger="click">
+ <dynamic-table :tableData="tableData" :tableHeader="tableConfig" v-if="tableData"></dynamic-table>
+ <el-button slot="reference" id="mingxiBtn">鏄庣粏琛�</el-button>
+ </el-popover>
</div>
<div class="echarts-chart">
<div ref="echartsHour"></div>
@@ -26,56 +33,21 @@
import PublicDataStandard from '../PublicDataStandard'
import dayjs from 'dayjs'
import mapApi from '../../../api/mapApi'
+import DynamicTable from '../../../views/popup/DynamicHeader/DynamicTable' // 澶氱骇琛ㄥご
export default {
name: 'WasteWaterHoursChart',
components: {
- PublicDataStandard
+ PublicDataStandard,
+ DynamicTable
},
data () {
return {
// tab鏍忎紶閫掓帴鏀舵暟鎹�
- dataStandard: [
- {
- current: {
- name: '姘哀鍖栫墿',
- val: 29.93
- },
- standard: {
- name: '鏍囧噯',
- val: 100
- }
- },
- {
- current: {
- name: '浜屾哀鍖栫~',
- val: 17.34
- },
- standard: {
- name: '鏍囧噯',
- val: 50
- }
- },
- {
- current: {
- name: '鐑熷皹',
- val: 6.93
- },
- standard: {
- name: '鏍囧噯',
- val: 30
- }
- },
- {
- current: {
- name: '搴熸皵娴侀噺',
- val: 123
- },
- standard: {
- name: '',
- val: null
- }
- }],
+ dataStandard: [],
+ popUpName: '',
+ tableData: null,
+ mingxiBoxHtml: '',
formData: {
region: '25',
regionList: [25, 50, 75, 100],
@@ -87,7 +59,98 @@
dataType: 2,
bzz: null,
bzzList: [],
- bz: ''
+ bz: '',
+ // 琛ㄥご鏁版嵁
+ tableConfig: [
+ {
+ id: 100,
+ label: '鎺掓斁鐐�',
+ prop: 'OnLineMonEmissPointName'
+ },
+ {
+ id: 200,
+ label: '鐩戞祴鏃堕棿',
+ prop: 'MonTimeStr'
+ },
+ {
+ id: 300,
+ label: 'COD',
+ prop: 'PoltmtrlName',
+ children: [
+ {
+ id: 310,
+ label: '瀹炴祴鎺掓斁閲忥紙kg/h锛�',
+ prop: 'COD_EmissQty'
+ },
+ {
+ id: 320,
+ label: '瀹炴祴娴撳害锛坢g/l锛�',
+ prop: 'COD_MonQty'
+ },
+ {
+ id: 330,
+ label: '鏍囧噯鍊硷紙mg/l锛�',
+ prop: 'COD_StdValue'
+ }
+ ]
+ },
+ {
+ id: 400,
+ label: '姘ㄦ爱',
+ prop: 'PoltmtrlName',
+ children: [
+ {
+ id: 410,
+ label: '瀹炴祴鎺掓斁閲忥紙kg/h锛�',
+ prop: '姘ㄦ爱_EmissQty'
+ },
+ {
+ id: 420,
+ label: '瀹炴祴娴撳害锛坢g/l锛�',
+ prop: '姘ㄦ爱_MonQty'
+ },
+ {
+ id: 430,
+ label: '鏍囧噯鍊硷紙mg/l锛�',
+ prop: '姘ㄦ爱_StdValue'
+ }
+ ]
+ },
+ {
+ id: 500,
+ label: 'PH',
+ prop: 'PoltmtrlName',
+ children: [
+ {
+ id: 510,
+ label: '瀹炴祴鎺掓斁閲忥紙kg/h锛�',
+ prop: 'pH_EmissQty'
+ },
+ {
+ id: 520,
+ label: '瀹炴祴娴撳害锛坢g/l锛�',
+ prop: 'pH_MonQty'
+ },
+ {
+ id: 530,
+ label: '鏍囧噯鍊硷紙mg/l锛�',
+ prop: 'pH_StdValue'
+ }
+ ]
+ },
+ {
+ id: 600,
+ label: '搴熸按娴侀噺',
+ prop: '',
+ children: [
+ {
+ id: 610,
+ label: '瀹炴祴娴侀噺锛坢鲁/h锛�',
+ prop: '搴熸按娴侀噺_MonQty'
+ }
+ ]
+ }
+ ]
}
},
mounted () {
@@ -105,18 +168,20 @@
poltMtrlId: '',
emissTypeId: '',
onLineMonEmissPointId: 23,
- monItemId: 28,
+ monItemId: '28,31,35', // 鐩戞祴椤� COD銆佹皑姘�丳H
beginTime: this.formData.startTime,
endTime: this.formData.endTime,
dataType: this.dataType
}
const result = (await mapApi.getQueryOnlineMonData(data)).Result.DataInfo
- // console.log(result)
+ this.popUpName = result[0].OnLineMonEmissPointName
this.get24HourDate(result)
},
// 缁樺埗灏忔椂鏁版嵁鎶樼嚎鍥�
get24HourDate (result) {
if (result.length > 0) {
+ this.dataStandard = []
+ this.tableData = this.analysisResult(result) // 灏忔椂鏄庣粏琛ㄨВ鏋愮粨鏋�
const d = result
const nameList = [] // 瀛樻斁鍥句緥
const dateList = [] // 瀛樻斁鏃堕棿
@@ -170,24 +235,43 @@
}
}
}
-
if (nameList.length === 0) {
nameList.push(d[i].PoltmtrlName.trim())
+ this.dataStandard.push({
+ current: {
+ name: d[i].PoltmtrlName.trim(),
+ val: 29.93
+ },
+ standard: {
+ name: '鏍囧噯',
+ val: 100
+ }
+ })
dateList.push(strDate)
if ((d[i].PoltmtrlName === '搴熸按娴侀噺' || d[i].PoltmtrlName === '搴熸按') && d[i].MonQty < 0) {
d[i].MonQty = 0
}
- data.push(d[i].MonQty)
+ if (d[i].MonQty !== null)data.push(d[i].MonQty)
bzh.push(d[i].StdValue)
} else if (nameList.indexOf(d[i].PoltmtrlName.trim()) < 0) {
nameList.push(d[i].PoltmtrlName)
+ this.dataStandard.push({
+ current: {
+ name: d[i].PoltmtrlName.trim(),
+ val: 29.93
+ },
+ standard: {
+ name: '鏍囧噯',
+ val: 100
+ }
+ })
bzh.push(d[i].StdValue)
dataList.push(data)
data = []
if ((d[i].PoltmtrlName === '搴熸按娴侀噺' || d[i].PoltmtrlName === '搴熸按') && d[i].MonQty < 0) {
d[i].MonQty = 0
}
- data.push(d[i].MonQty)
+ if (d[i].MonQty !== null)data.push(d[i].MonQty)
} else if (i === d.length - 1) {
if ((d[i].PoltmtrlName === '搴熸按娴侀噺' || d[i].PoltmtrlName === '搴熸按') && d[i].MonQty < 0) {
d[i].MonQty = 0
@@ -202,10 +286,9 @@
if ((d[i].PoltmtrlName === '搴熸按娴侀噺' || d[i].PoltmtrlName === '搴熸按') && d[i].MonQty < 0) {
d[i].MonQty = 0
}
- data.push(d[i].MonQty)
+ if (d[i].MonQty !== null)data.push(d[i].MonQty)
}
}
-
const newList = []
for (let i = 0; i < dataList.length; i++) {
@@ -291,7 +374,10 @@
// console.log(ydatas)
const yname = '娴撳害(mg/l)'
-
+ for (var t = 0; t < this.dataStandard.length; t++) {
+ this.dataStandard[t].current.val = ydatas[t].data[ydatas[t].data.length - 1].toFixed(2)
+ this.dataStandard[t].standard.val = ydatas[t].bzz
+ }
this.effChartShow(legend, xdata, ydatas, yname, this.jcdID, this.datatype)
}
},
@@ -455,12 +541,15 @@
saveAsImage: {}
}
},
- grid: { // 缃戞牸
- top: '20%'
- // left: '15%'
- },
legend: {
data: legend
+ },
+ grid: {
+ // 涓庣粷瀵瑰畾浣嶇浉浼硷紝top锛宭eft锛宺ight锛宐ottom 璁惧畾鏄牴鎹笂绾х洅瀛愬楂樻潵璁$畻
+ top: '20%',
+ left: '6%',
+ right: '6%',
+ bottom: '12%'
},
dataZoom: [{
type: 'inside',
@@ -570,11 +659,71 @@
}
this.chart.setOption(option)
window.onresize = this.chart.resize
+ },
+ analysisResult (result) {
+ // 澶勭悊琛ㄦ牸澶�
+ const json = {}
+ const arr = []
+ // 澶勭悊琛ㄦ牸鍐呭
+ const bodyDataList = []
+ const dataMap = {}
+ for (let i = 0; i < result.length; i++) {
+ json[result[i].PoltmtrlName] = result[i].PoltmtrlName
+ const rgdata = result[i]
+ const timeTag = rgdata.MonTimeStr
+ if (!dataMap[timeTag]) {
+ dataMap[timeTag] = { MonTimeStr: '' + rgdata.MonTimeStr }
+ }
+ // 寰�鏁版嵁涓坊鍔犲睘鎬ф暟鎹�
+ const el = dataMap[timeTag]
+ el.OnLineMonEmissPointName = rgdata.OnLineMonEmissPointName
+ el[rgdata.PoltmtrlName + '_EmissQty'] = rgdata.EmissQty ? rgdata.EmissQty.toFixed(2) : '--'
+ el[rgdata.PoltmtrlName + '_MonQty'] = rgdata.MonQty ? rgdata.MonQty.toFixed(2) : '--'
+ el[rgdata.PoltmtrlName + '_StdValue'] = rgdata.StdValue ? rgdata.StdValue.toFixed(2) : '--'
+ }
+ let FSLLtemp = null
+ for (var key in json) {
+ if (key === '搴熸按娴侀噺' || key === '搴熸按') {
+ FSLLtemp = key
+ } else {
+ arr.push(key)
+ }
+ }
+ if (FSLLtemp != null) {
+ arr.push(FSLLtemp)
+ }
+ for (var p in dataMap) {
+ bodyDataList.push(dataMap[p])
+ }
+ return bodyDataList
}
}
}
</script>
-
-<style scoped lang="less">
-
+<style>
+#wasteWaterHoursChartBox .echarts-form .el-input__inner {
+ background-color: rgba(0, 0, 0, 0);
+ height: .13rem;
+ border-color: #336fa4;
+}
+#wasteWaterHoursChartBox .echarts-form .el-input__icon{
+ height: .13rem;
+ top: -.02rem;
+ right: -0.03rem;
+ position: absolute;
+ color: #00d0f9;
+}
+#wasteWaterHoursChartBox .echarts-form .selectBox .el-input__icon:last-child{
+ top: .02rem;
+}
+#wasteWaterHoursChartBox .echarts-form .selectBox .is-reverse{
+ top: -.02rem !important;
+}
+#wasteWaterHoursChartBox .echarts-form .el-button{
+ background-color: rgba(0, 0, 0, 0);
+ height: .13rem;
+}
+#mingxiBtn{
+ margin-left: -.02rem;
+}
</style>
diff --git a/src/components/base-page/WasteWater/WasteWaterIndex.vue b/src/components/base-page/WasteWater/WasteWaterIndex.vue
index 0e8c77a..b8e3f42 100644
--- a/src/components/base-page/WasteWater/WasteWaterIndex.vue
+++ b/src/components/base-page/WasteWater/WasteWaterIndex.vue
@@ -28,9 +28,9 @@
<component :is="currentTab" ref="RealData"></component>
</div>
</template>
- <template v-slot:video>
+<!-- <template v-slot:video>
<public-video></public-video>
- </template>
+ </template>-->
</public-sector>
</template>
@@ -84,26 +84,26 @@
display: flex;
align-items: center;
justify-content: space-between;
- padding: 5px 0;
+ padding-left: 0.07rem;
border-bottom: 1px #243a55 solid;
-
.navigation-left {
display: flex;
align-items: center;
.uncheck {
- margin: 0 10px;
cursor: pointer;
- padding: 5px;
+ margin-left: -0.05rem;
+ width: .8rem;
+ padding: 6px 0;
/*border: 1px solid #2b87c8;*/
/*border-radius: 4px;*/
+ background-position: 0 0;
+ background-repeat: no-repeat;
+ background-size: 100% 100%;
+ background-image: url("../../../../public/assets/images/map-pages/title_bg.png");
text-align: center;
vertical-align: middle !important;
color: #fff;
- -webkit-transform: skew(30deg);
- -moz-transform: skew(30deg);
- -o-transform: skew(30deg);
- transform: skew(15deg);
}
.default-uncheck {
@@ -113,15 +113,13 @@
}
.hover {
- background-color: #0e539e;
+ background-image: url("../../../../public/assets/images/map-pages/title_bg2.png");
color: #ffffff;
cursor: pointer;
}
.hover:hover {
cursor: pointer;
- padding: 5px;
- border: 1px solid #5F9EA0;
border-radius: 4px;
text-align: center;
color: #F0FFFF;
@@ -129,7 +127,6 @@
}
.navigation-left :hover {
- background-color: #0e639e;
color: #fff;
cursor: pointer;
}
diff --git a/src/components/base-page/WasteWater/WasteWaterRealChart.vue b/src/components/base-page/WasteWater/WasteWaterRealChart.vue
index b332667..670b975 100644
--- a/src/components/base-page/WasteWater/WasteWaterRealChart.vue
+++ b/src/components/base-page/WasteWater/WasteWaterRealChart.vue
@@ -1,5 +1,5 @@
<template>
- <div class="echarts-box">
+ <div id="wasteWaterRealChartBox" class="echarts-box">
<div class="tab-scroll">
<PublicDataStandard :dataStandard="dataStandard"></PublicDataStandard>
</div>
@@ -9,7 +9,7 @@
<span class="demonstration">缁撴潫鏃堕棿锛�</span>
<el-date-picker v-model="formData.endTime" value-format="yyyy-MM-dd HH:mm:ss" type="datetime" size="mini"></el-date-picker>
<span class="demonstration">閲囨牱鐐规暟锛�</span>
- <el-select v-model="formData.region" placeholder="璇烽�夋嫨" size="mini">
+ <el-select class="selectBox" v-model="formData.region" placeholder="璇烽�夋嫨" size="mini">
<el-option v-for="(item,index) in formData.regionList" :key="index" :label="item" :value="item"></el-option>
</el-select>
<el-button @click="querySearch()">鏌ヨ</el-button>
@@ -502,7 +502,11 @@
}
},
grid: {
- top: '20%'
+ // 涓庣粷瀵瑰畾浣嶇浉浼硷紝top锛宭eft锛宺ight锛宐ottom 璁惧畾鏄牴鎹笂绾х洅瀛愬楂樻潵璁$畻
+ top: '20%',
+ left: '6%',
+ right: '6%',
+ bottom: '12%'
},
legend: {
data: this.legendList
@@ -610,6 +614,30 @@
}
</script>
-<style scoped lang="less">
-
+<style lang="less">
+#wasteWaterRealChartBox .echarts-form .el-input__inner {
+ background-color: rgba(0, 0, 0, 0);
+ height: .13rem;
+ border-color: #336fa4;
+}
+#wasteWaterRealChartBox .echarts-form{
+ margin-top: 1px
+}
+#wasteWaterRealChartBox .echarts-form .el-input__icon{
+ height: .13rem;
+ top: -.02rem;
+ right: -0.03rem;
+ position: absolute;
+ color: #00d0f9;
+}
+#wasteWaterRealChartBox .echarts-form .selectBox .el-input__icon:last-child{
+ top: .02rem;
+}
+#wasteWaterRealChartBox .echarts-form .selectBox .is-reverse{
+ top: -.02rem !important;
+}
+#wasteWaterRealChartBox .echarts-form .el-button{
+ background-color: rgba(0, 0, 0, 0);
+ height: .13rem;
+}
</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
index 85d1972..71adc84 100644
--- a/src/components/base-page/enterprise-emergency/events-reported/EventsReported.vue
+++ b/src/components/base-page/enterprise-emergency/events-reported/EventsReported.vue
@@ -127,8 +127,8 @@
</el-form-item>
</div>
<el-form-item class="confirmCancel">
- <el-button type="primary" @click="submitForm('ruleForm')">纭</el-button>
- <el-button @click="resetForm('ruleForm')">鍙栨秷</el-button>
+ <el-button type="primary" size="small" @click="submitForm('ruleForm')">纭</el-button>
+ <el-button size="small" @click="resetForm('ruleForm')">鍙栨秷</el-button>
</el-form-item>
</el-form>
<el-dialog
diff --git a/src/components/base-page/enterprise-emergency/events-reported/ReportLocationPoint.vue b/src/components/base-page/enterprise-emergency/events-reported/ReportLocationPoint.vue
index 96388b5..45d885a 100644
--- a/src/components/base-page/enterprise-emergency/events-reported/ReportLocationPoint.vue
+++ b/src/components/base-page/enterprise-emergency/events-reported/ReportLocationPoint.vue
@@ -1,30 +1,58 @@
<template>
<div class="location-lon-and-lat">
- <el-row class="place-box">
- <div class="place-left">
- <el-form :model="LongLatPos" label-width="90px">
+ <!-- <el-row>-->
+ <!-- <el-form :model="lonlatpos" label-width="60px">-->
+ <!-- <el-col :span="12">-->
+ <!-- <el-form-item label="缁忓害:">-->
+ <!-- <el-input type="text" v-model="lonlatpos.longPos"></el-input>-->
+ <!-- </el-form-item>-->
+ <!-- </el-col>-->
+ <!-- <el-col :span="12">-->
+ <!-- <el-form-item label="绾害:">-->
+ <!-- <el-input type="text" v-model="lonlatpos.latPos"></el-input>-->
+ <!-- </el-form-item>-->
+ <!-- </el-col>-->
+ <!-- </el-form>-->
+ <!-- <el-row>-->
+ <!-- <el-col :span="12" style="text-align: center;margin: 5px 0">-->
+ <!-- <el-button type="primary" size="small" @click="mapPoints">绮剧‘瀹氫綅</el-button>-->
+ <!-- </el-col>-->
+ <!-- <el-col :span="12" style="text-align: center;margin: 5px 0">-->
+ <!-- <el-button type="primary" size="small" @click="dataPoints">鏁版嵁璇嗗彇</el-button>-->
+ <!-- </el-col>-->
+ <!-- </el-row>-->
+ <!-- </el-row>-->
+ <el-form :model="lonlatpos" label-width="60px">
+ <el-row class="pipe-line-search">
+ <el-col :span="12">
<el-form-item label="缁忓害:">
- <el-input v-model="LongLatPos.longPos"></el-input>
+ <el-input v-model="lonlatpos.longPos"></el-input>
</el-form-item>
+ </el-col>
+ <el-col :span="12">
<el-form-item label="绾害:">
- <el-input v-model="LongLatPos.latPos"></el-input>
+ <el-input v-model="lonlatpos.latPos"></el-input>
</el-form-item>
- </el-form>
- </div>
- <div class="place-right">
- <el-button type="primary" size="small" @click="mapPoints">鐐瑰嚮瀹氫綅</el-button>
- <el-button type="primary" size="small" @click="dataPoints">鏁版嵁瀹氫綅</el-button>
- </div>
+ </el-col>
+ </el-row>
+ </el-form>
+ <el-row>
+ <el-col :span="12" style="text-align: center;margin: 5px 0">
+ <el-button type="primary" size="small" @click="mapPoints">绮剧‘瀹氫綅</el-button>
+ </el-col>
+ <el-col :span="12" style="text-align: center;margin: 5px 0">
+ <el-button type="primary" size="small" @click="dataPoints">鏁版嵁璇嗗彇</el-button>
+ </el-col>
</el-row>
- <div class="place-bottom" style="text-align: right;margin: 5px">
- <el-button type="primary" @click="confirm">纭</el-button>
- </div>
+ <el-row class="place-bottom" style="text-align: right;margin: 5px">
+ <el-button type="primary" @click="confirm" size="small">纭</el-button>
+ </el-row>
</div>
</template>
<script>
import { pulseEffect } from '../../../../utils/utils'
-import iconUrl from '../../../../../public/assets/images/map/loc.png'
+import iconUrl from '../../../../../public/assets/images/map/marker-icon.png'
import eventBus from '../../../../eventBus'
export default {
@@ -32,58 +60,67 @@
data () {
return {
// 缁忕含搴﹀畾浣�
- LongLatPos: {
+ lonlatpos: {
longPos: '',
latPos: ''
},
- marker: null
+ marker: window.L.layerGroup().addTo(window.map),
+ layersGroupArrList: []
}
},
methods: {
- // 鐐瑰嚮瀹氫綅
+ // 绮剧‘瀹氫綅
mapPoints () {
window.map.on('click', (e) => {
- this.LongLatPos.longPos = parseFloat(e.latlng.lng).toFixed(6)
- this.LongLatPos.latPos = parseFloat(e.latlng.lat).toFixed(6)
- const as = [this.LongLatPos.latPos, this.LongLatPos.longPos]
+ this.lonlatpos.longPos = parseFloat(e.latlng.lng).toFixed(8)
+ this.lonlatpos.latPos = parseFloat(e.latlng.lat).toFixed(8)
+ const as = [e.latlng.lat, e.latlng.lng]
// console.log(as)
window.map.setView(as, 17)
pulseEffect(as)
this.marker = window.L.marker(as, {
icon: window.L.icon({
iconUrl: iconUrl,
- iconSize: [30, 30],
- iconAnchor: [15, 15]
+ iconSize: [26, 40],
+ iconAnchor: [13, 20]
})
})
window.map.addLayer(this.marker)
+ this.layersGroupArrList.push(this.marker)
window.map.off('click')
})
},
// 閫氳繃鏁版嵁瀹氫綅
dataPoints () {
- const as = [this.LongLatPos.latPos, this.LongLatPos.longPos]
- // console.log(as)
- window.map.setView(as, 17)
- pulseEffect(as)
- this.marker = window.L.marker(as, {
- icon: window.L.icon({
- iconUrl: iconUrl,
- iconSize: [30, 30],
- iconAnchor: [15, 15]
+ // this.lonlatpos.latPos = ''
+ // this.lonlatpos.longPos = ''
+ if (this.lonlatpos.latPos !== '' && this.lonlatpos.longPos !== '') {
+ const as = [this.lonlatpos.latPos, this.lonlatpos.longPos]
+ window.map.setView(as, 17)
+ pulseEffect(as)
+ this.marker = window.L.marker(as, {
+ icon: window.L.icon({
+ iconUrl: iconUrl,
+ iconSize: [26, 40],
+ iconAnchor: [13, 20]
+ })
})
- })
- window.map.addLayer(this.marker)
- this.LongLatPos.latPos = ''
- this.LongLatPos.longPos = ''
+ window.map.addLayer(this.marker)
+ this.layersGroupArrList.push(this.marker)
+ } else {
+ this.$message('璇疯緭鍏ヨ瘑鍙栫粡绾害')
+ }
},
// 鐐瑰嚮纭鎸夐挳浜嬩欢
confirm () {
+ for (let i = 0; i < this.layersGroupArrList.length; i++) {
+ window.map.removeLayer(this.layersGroupArrList[i])
+ }
window.mapManager.clearHighlight()
- window.map.removeLayer(this.marker)
+ // window.map.removeLayer(this.marker)
eventBus.$emit('location-setChange', true)
- this.LongLatPos.longPos = ''
- this.LongLatPos.latPos = ''
+ this.lonlatpos.longPos = ''
+ this.lonlatpos.latPos = ''
}
}
}
diff --git a/src/components/base-page/enterprise-emergency/events-reported/ReportLocationSearch.vue b/src/components/base-page/enterprise-emergency/events-reported/ReportLocationSearch.vue
index 709627b..f160110 100644
--- a/src/components/base-page/enterprise-emergency/events-reported/ReportLocationSearch.vue
+++ b/src/components/base-page/enterprise-emergency/events-reported/ReportLocationSearch.vue
@@ -1,27 +1,54 @@
<template>
- <div class="click-location">
- <el-row>
- <el-input type="text" v-model="clickLocation" clearable @change="focusLocation"></el-input>
- </el-row>
- <el-scrollbar style="height:86.22px">
- <el-row v-for="(item,index) in searchList" :key="index" style="display: flex;align-items: center">
- <el-col :span="12">
- <span>{{ item.name }}</span>
- </el-col>
- <el-col :span="12">
- <el-button type="primary" size="mini" icon="el-icon-position" @click="locationMapClick(item)">瀹氫綅
- </el-button>
- </el-col>
- <!-- <el-pagination-->
- <!-- layout="prev, pager, next"-->
- <!-- :total="50">-->
- <!-- </el-pagination>-->
- </el-row>
- </el-scrollbar>
- <el-row style="text-align: right">
- <el-button type="primary" @click="confirm">纭</el-button>
- </el-row>
+ <div class="click-location">
+ <el-row>
+ <!-- clearable-->
+ <el-input type="text" v-model="clickLocation" @change="focusLocation">
+ <el-button slot="suffix" type="text" @click="focusLocation">
+ <img src="../../../../../public/assets/images/map/emergency/search.png" alt="">
+ </el-button>
+ </el-input>
+ </el-row>
+ <!-- <el-scrollbar style="height:250.34px">-->
+ <el-row v-for="(item,index) in searchList.slice((currentPage-1)*pageSize,currentPage*pageSize)" :key="index"
+ style="display: flex;align-items: center;margin: 0.1343rem 15px;text-align: left"
+ class="environmental-risk-list">
+ <el-col :span="4">
+ <img src="../../../../../public/assets/images/map/marker-icon.png" alt="" class="state"
+ style="background: none;margin: 0 15px">
+ </el-col>
+ <el-col :span="12">
+ <div class=search-list>
+ <!-- <h4 :class="activeNum===index?'hover':''" @click="handleLocation(index)">鍚嶇О锛�<h3 style="display: inline-block">{{ item.name }}</h3></h4>-->
+ <h3 :class="activeNum===index?'hover':''" @click="handleLocation(index)">鍚嶇О锛歿{ item.name }}</h3>
+ <p style="text-overflow: ellipsis;white-space: nowrap;overflow: hidden">鍦板潃锛�<span>{{ item.address }}</span>
+ <p>鐢佃瘽锛�<span>{{ item.phone }}</span></p>
+ </div>
+ </el-col>
+ <el-col :span="8" style="text-align: right">
+ <el-button type="primary" size="mini" icon="el-icon-position" @click="locationMapClick(item,index)">
+ 瀹氫綅
+ </el-button>
+ </el-col>
+ </el-row>
+ <!-- </el-scrollbar>-->
+ <!-- <el-card class="footer-page" >-->
+ <div v-if="total > 10">
+ <el-pagination
+ small
+ @current-change="handlePage"
+ :page-size=pageSize
+ :current-page.sync="currentPage"
+ layout="prev, pager, next"
+ :total=total
+ class="warnPagination"
+ >
+ </el-pagination>
</div>
+ <!-- </el-card>-->
+ <el-row style="text-align: right">
+ <el-button type="primary" size="small" @click="confirm">纭</el-button>
+ </el-row>
+ </div>
</template>
<script>
@@ -29,24 +56,36 @@
import { reportLocationSearch } from '../../../../api/request'
import { pulseEffect } from '../../../../utils/utils'
import eventBus from '../../../../eventBus'
-import iconUrl from '../../../../../public/assets/images/map/loc.png'
+import iconUrl from '../../../../../public/assets/images/map/marker-icon.png'
export default {
name: 'ReportLocationSearch',
data () {
return {
+ activeNum: -1,
// 鐐瑰嚮瀹氫綅缁戝畾鏁版嵁
clickLocation: '',
searchList: [],
- marker: null
+ marker: window.L.layerGroup().addTo(window.map),
+ layer: window.L.layerGroup().addTo(window.map),
+ layersGroupArrList: [],
+ total: 0,
+ // 鍒嗛〉 榛樿灞曠ず
+ currentPage: 1,
+ // 鍒嗛〉 姣忛〉澶氬皯鏁版嵁
+ pageSize: 3
}
},
methods: {
+ handlePage (currentPage) {
+ // this.focusLocation()
+ this.currentPage = currentPage
+ },
+ handleLocation (index) {
+ this.activeNum = index
+ },
// 鎼滅储瀹氫綅
focusLocation () {
- // console.log(this.clickLocation)
- // console.log(window.map.getZoom())
- // console.log(window.map.getBounds())
const getBoundsData = '' + window.map.getBounds()._southWest.lng + ',' + window.map.getBounds()._southWest.lat + ',' + window.map.getBounds()._northEast.lng + ',' + window.map.getBounds()._northEast.lat
const data = {
postStr: {
@@ -60,60 +99,47 @@
},
type: 'query'
}
- // console.log(data)
+ // $http.get('http://10.246.133.164//api/search?', data)
reportLocationSearch(data).then(res => {
// console.log(res)
this.searchList = res.pois
- // console.log(this.searchList)
- // const as = res.pois[0].lonlat.trim().split(' ')
- // window.map.setView([as[1], as[0]], 17)
- // pulseEffect([as[1], as[0]])
- // for (let i = 0; i < res.pois.length; i++) {
- // const as = res.pois[i].lonlat.trim().split(' ')
- // if (res.pois[i].name.indexOf(this.clickLocation) >= 0) {
- // window.map.setView([as[1], as[0]], 17)
- // pulseEffect([as[1], as[0]])
- // }
- // }
+ this.total = res.pois.length
+ // this.searchList = res.statistics.priorityCitys
+ // this.total = res.statistics.priorityCitys.length
})
- this.clickLocation = ''
},
// 鐐瑰嚮瀹氫綅
- locationMapClick (val) {
- console.log(val)
+ locationMapClick (val, index) {
+ this.activeNum = index
const ps = val.lonlat.trim().split(' ')
- // const htmls = '<div><ul><li>' + val.name + '</li> + <li>' + val.adress + '</li></ul></div>'
- // var myIcon = window.L.divIcon({
- // html: htmls,
- // className: 'company-bindTooltip',
- // iconSize: 16
- // })
- const htmls = '<div><ul><li>' + val.name + '</li> <br/> <li>' + val.address + '</li> <br/> <li>' + val.phone + '</li></ul></div>'
this.marker = window.L.marker([ps[1], ps[0]], {
icon: window.L.icon({
iconUrl: iconUrl,
- iconSize: [30, 30],
- iconAnchor: [15, 15]
+ iconSize: [26, 40],
+ iconAnchor: [13, 20]
})
- // icon: myIcon
})
- .bindTooltip(htmls, {
- // permanent: 'true',
+ .bindTooltip(val.name, {
+ permanent: 'true',
direction: 'bottom',
offset: [0, 10],
sticky: true,
className: ''
})
window.map.addLayer(this.marker)
+ this.layersGroupArrList.push(this.marker)
window.map.setView([ps[1], ps[0]], 17)
pulseEffect([ps[1], ps[0]])
},
// 鐐瑰嚮纭鎸夐挳浜嬩欢
confirm () {
window.mapManager.clearHighlight()
- window.map.removeLayer(this.marker)
+ for (let i = 0; i < this.layersGroupArrList.length; i++) {
+ window.map.removeLayer(this.layersGroupArrList[i])
+ }
this.searchList = []
this.clickLocation = ''
+ this.total = 0
eventBus.$emit('location-setChange', true)
}
}
@@ -121,27 +147,91 @@
</script>
<style lang="less" scoped>
- /*/deep/ .el-row {*/
- /* margin: 2px 0 !important;*/
- /* padding: 0;*/
- /* height: 10px;*/
- /* max-height: 10px;*/
- /*}*/
- .div-list-search {
+/*/deep/ .el-row {*/
+/* margin: 2px 0 !important;*/
+/* padding: 0;*/
+/* height: 10px;*/
+/* max-height: 10px;*/
+/*}*/
+.environmental-risk-list {
+ color: @color;
+ border-bottom: 1px solid rgba(0, 255, 246, 0.14);
- }
+ h3 {
+ font-size: 0.1rem;
+ }
+}
- .click-location {
- margin: 0 auto;
- text-align: center;
+/*<!--.environmental-risk-list:hover {-->*/
+/*<!-- color: @color-highlight;-->*/
+/*<!-- background: @background-color;-->*/
+/*<!--}-->*/
+.search-list {
+ h3:hover {
+ color: @color-highlight;
+ }
+}
- .el-input {
- width: 80%;
- margin: 15px auto;
- }
+.hover {
+ color: @color-highlight;
+}
- .el-button {
- margin: 15px auto;
- }
- }
+.click-location {
+ margin: 0 auto;
+ text-align: center;
+
+ .el-input {
+ width: 80%;
+ margin: 15px auto;
+ }
+}
+
+/deep/
+.warnPagination {
+ .btn-quicknext, .btn-quickprev {
+ color: #e4e8f1 !important;
+ background-color: transparent;
+ // border: 1px solid #25AECD;
+ border-left: 1px solid #25AECD;
+ border-bottom: 1px solid #25AECD;
+ border-top: 1px solid #25AECD;
+ color: #e4e8f1;
+ }
+
+ .el-pager li {
+ color: #e4e8f1;
+ background: transparent;
+ // border: 1px solid #25AECD;
+ border-left: 1px solid #25AECD;
+ border-bottom: 1px solid #25AECD;
+ border-top: 1px solid #25AECD;
+ }
+
+ .el-pager li.active {
+ border-color: #25AECD;
+ background-color: rgba(38, 222, 253, 0.3);
+ color: #e4e8f1;
+ }
+
+ .el-pager li:hover {
+ border-color: #25AECD;
+ background-color: rgba(38, 222, 253, 0.3);
+ color: #34e0ff;
+ }
+
+ .btn-prev {
+ background-color: transparent;
+ // border: 1px solid #25AECD;
+ border-left: 1px solid #25AECD;
+ border-bottom: 1px solid #25AECD;
+ border-top: 1px solid #25AECD;
+ color: #e4e8f1;
+ }
+
+ .btn-next {
+ background-color: transparent;
+ border: 1px solid #25AECD;
+ color: #e4e8f1;
+ }
+}
</style>
diff --git a/src/components/base-page/enterprise-emergency/events-reported/ReportLocationSection.vue b/src/components/base-page/enterprise-emergency/events-reported/ReportLocationSection.vue
index b7e9d69..9603092 100644
--- a/src/components/base-page/enterprise-emergency/events-reported/ReportLocationSection.vue
+++ b/src/components/base-page/enterprise-emergency/events-reported/ReportLocationSection.vue
@@ -1,30 +1,37 @@
<template>
<div class="ReportLocationSection">
- <el-form :model="form" label-width="90px">
+ <el-form :model="form" label-width="120px">
<el-row class="pipe-line-search">
- <el-col :span="12">
+ <el-col :span="18">
<el-form-item label="绠$嚎鍚嶇О:">
- <el-input v-model="form.pipeName">
+ <el-input v-model="form.pipeName" @change="pipelineSearch">
<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-col :span="6">
<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-col :span="24">
<el-form-item label="绠℃缂栫爜:">
<el-input v-model="form.sectionName" disabled></el-input>
</el-form-item>
</el-col>
+ </el-row>
+ <el-row>
<el-col :span="12">
- <el-form-item label="闄勫睘璁炬柦:">
+ <el-form-item label="闄勫睘璁炬柦缂栫爜:">
<el-input v-model="form.affiliatedFacilities" disabled></el-input>
+ </el-form-item>
+ </el-col>
+ <el-col :span="12">
+ <el-form-item label="闄勫睘璁炬柦绫诲瀷:">
+ <el-input v-model="form.affiliatedFacilitiesCode" disabled></el-input>
</el-form-item>
</el-col>
</el-row>
@@ -141,7 +148,7 @@
</el-card>
</div>
<el-row style="text-align: right;margin: 10px">
- <el-button type="primary" @click="confirm">纭</el-button>
+ <el-button type="primary" @click="confirm" size="small">纭</el-button>
</el-row>
</div>
</template>
@@ -160,7 +167,8 @@
form: {
pipeName: '',
sectionName: '',
- affiliatedFacilities: ''
+ affiliatedFacilities: '',
+ affiliatedFacilitiesCode: ''
},
// 绠$嚎鏌ヨ鏁版嵁鍒楄〃
tableList: [],
@@ -196,57 +204,73 @@
this.tableList = res.features
}
this.wfsHelper = new WfsHelper()
- this.form.pipeName = ''
+ // this.form.pipeName = ''
this.form.sectionName = ''
this.form.affiliatedFacilities = ''
+ this.form.affiliatedFacilitiesCode = ''
},
// 鐐瑰嚮绠$嚎鍒楄〃 灞曠ず绠℃鍐呭 鍜岄檮灞炶鏂藉唴瀹�
- async sectionShowClick (val) {
- console.log(val)
- // 濡傛灉 SectionAndAffFacTableJudge === true 鏄悳绱㈡暟鎹粨鏋滅殑鍒楄〃 鍙互杩涜 绠℃ 闄勫睘璁炬柦浜や簰 鐐瑰嚮瀹氫綅鏌ヨ缁撴灉 涓嶈繘琛岀偣鍑讳氦浜�
+ sectionShowClick (val) {
+ // console.log(val)
+ // this.SectionAndAffFacTableJudge = true
if (this.SectionAndAffFacTableJudge === true) {
- // 绠℃鏌ヨ
- 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')) {
- // for (let i = 0; i < resAffFac.features.length; i++) {
- // // console.log(resAffFac.features[i])
- // this.tableDataAffFac.push(resAffFac.features[i].properties)
- // }
- this.tableDataAffFac = resAffFac.features
- }
- this.wfsHelper = new WfsHelper()
+ this.searchSection(val)
+ this.searchAffFacData(val)
+ }
+ },
+ // 绠℃鏌ヨ
+ async searchSection (val) {
+ 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
+ }
+ },
+ // 闄勫睘璁炬柦鏌ヨ
+ async searchAffFacData (val) {
+ this.tableDataAffFac = []
+ const AffFacSearch = val.properties.pipecode
+ 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')) {
+ this.tableDataAffFac = resAffFac.features
+ }
+ },
+ // 鎼滅储鐨勫叕鍏辨柟娉曚紭鍖�
+ async publicSearch (searchVal, searchKeyword, searchTypeName, tableListData) {
+ tableListData = []
+ this.wfsHelper = new WfsHelper()
+ this.wfsHelper.clearFilter()
+ this.wfsHelper.setTypeName(searchTypeName)
+ this.wfsHelper.addLike(searchKeyword, searchVal)
+ this.wfsHelper.addEquals(searchKeyword, '\'' + searchVal + '\'')
+ const res = await AjaxUtils.GetDataAsynByUrl(this.wfsHelper.getUrl(), {})
+ // console.log(res)
+ if (res instanceof Object && Object.prototype.hasOwnProperty.call(res, 'features')) {
+ tableListData = res.features
}
},
// 鐐瑰嚮绠℃鍒楄〃 绠℃缂栫爜浼犻��
sectionCode (val) {
// console.log(val)
- this.form.sectionName = val.properties.pipecode
+ this.form.sectionName = val.properties.pipesegcode
},
// 鐐瑰嚮闄勫睘璁炬柦鍒楄〃 绠℃缂栫爜浼犻��
affFacName (val) {
- // console.log(val)
+ console.log(val)
+ // this.form.affiliatedFacilities = val.properties.code
this.form.affiliatedFacilities = val.properties.name
+ this.form.affiliatedFacilitiesCode = val.properties.type
},
// 瀹氫綅鍔熻兘
localAdr (val) {
@@ -258,23 +282,27 @@
pipeClickLocation () {
// 璁炬柦涓嶈繘琛� 绠$嚎琛ㄦ牸鏁版嵁鐨勭偣鍑讳氦浜�
this.SectionAndAffFacTableJudge = false
- // 鐐瑰嚮鑾峰彇鏁版嵁
- window.map.on('click', (e) => {
- // 鐐瑰嚮鍦板浘鍏抽棴寮规
- window.mapManager.clickDialogSwitch = false
- // 绠$嚎鐐瑰嚮鏁版嵁
- this.pipeData(e)
- // 绠℃鐐瑰嚮鏁版嵁
- this.sectionData(e)
- // 闄勫睘璁炬柦鏁版嵁
- this.affFacData(e)
- // 鍏抽棴鐐瑰嚮浜嬩欢
- window.map.off('click')
- })
+ if (this.SectionAndAffFacTableJudge === false) {
+ // 鐐瑰嚮鑾峰彇鏁版嵁
+ window.map.on('click', (e) => {
+ this.SectionAndAffFacTableJudge = false
+ // 鐐瑰嚮鍦板浘鍏抽棴寮规
+ window.mapManager.clickDialogSwitch = false
+ // 绠$嚎鐐瑰嚮鏁版嵁
+ this.pipeData(e)
+ // 绠℃鐐瑰嚮鏁版嵁
+ this.sectionData(e)
+ // 闄勫睘璁炬柦鏁版嵁
+ this.affFacData(e)
+ // 鍏抽棴鐐瑰嚮浜嬩欢
+ window.map.off('click')
+ })
+ }
// 鏁版嵁 閲嶆柊鑾峰彇 杩涜缃┖
this.form.pipeName = ''
this.form.sectionName = ''
this.form.affiliatedFacilities = ''
+ this.form.affiliatedFacilitiesCode = ''
this.tableList = []
this.tableListSection = []
this.tableDataAffFac = []
@@ -317,7 +345,7 @@
BBOX: window.map.getBounds().toBBoxString()
}, defaultWmsParams)
AjaxUtils.get4JsonDataByUrl(WMS_URL, wmsParams, (res) => {
- console.log(res)
+ // console.log(res)
for (let i = 0; i < res.data.features.length; i++) {
dataList.push(res.data.features[i])
}
diff --git a/src/components/helpers/MapManager.js b/src/components/helpers/MapManager.js
index eae4b26..c3ec889 100644
--- a/src/components/helpers/MapManager.js
+++ b/src/components/helpers/MapManager.js
@@ -44,7 +44,7 @@
var point = this.map.latLngToContainerPoint(latlng, this.map.getZoom())
const wmsLayerService = window.layerFactory.wmsLayerService
const layers = wmsLayerService.wmsLayerList.getLayers()
- // const filters = wmsLayerService.wmsLayerList.getFilters()
+ const filters = wmsLayerService.wmsLayerList.getFilters()
const wmsParams = Object.assign({
LAYERS: layers,
QUERY_LAYERS: layers,
@@ -54,6 +54,9 @@
Y: Math.round(point.y),
BBOX: this.map.getBounds().toBBoxString()
}, this.defaultWmsParams, params)
+ if (filters) {
+ wmsParams.CQL_FILTER = filters
+ }
AjaxUtils.get4JsonDataByUrl(WMS_URL, wmsParams, (res) => {
resolve(res.data)
})
diff --git a/src/components/panel/RightSearchPanel.vue b/src/components/panel/RightSearchPanel.vue
index 6df7286..2283ad0 100644
--- a/src/components/panel/RightSearchPanel.vue
+++ b/src/components/panel/RightSearchPanel.vue
@@ -12,7 +12,7 @@
</div>
</li>
</ul> -->
- <ul v-for="item in topicList" :key="item.name"
+ <ul v-for="item in list" :key="item.name"
:class="item.checked?'module-wrap map-btn-active':'module-wrap map-btn-unactive'"
@click="()=>{selected(item)}" v-show="item.isShow">
<el-tooltip :popper-class="'map-tooltip'" effect="dark" :content="item.name" placement="left">
@@ -51,10 +51,10 @@
<script>
import EnvRiskSearch from './topicSearch/EnvRiskSearch'
import DischargeSearch from './topicSearch/DischargeSearch'
-import { TopicList } from '../../conf/Topic'
+import { topicList } from '../../conf/Topic'
-import GasWasteSearch from '@components/panel/topicSearch/GasWasteSearch'
-import WaterWasteSearch from '@components/panel/topicSearch/WaterWasteSearch'
+import WasteGasSearch from '@components/panel/topicSearch/WasteGasSearch'
+import WasteWaterSearch from '@components/panel/topicSearch/WasteWaterSearch'
import SolidWasteSearch from '@components/panel/topicSearch/SolidWasteSearch'
import SewersSearch from '@components/panel/topicSearch/SewersSearch'
import SoilGroundWaterSearch from '@components/panel/topicSearch/SoilGroundWaterSearch.vue'
@@ -62,13 +62,11 @@
import PipeInformationSearch from '@components/panel/topicSearch/pipeInformationSearch.vue'
import EnterpriseEmergencySearch from './topicSearch/EnterpriseEmergencySearch'
-import bus from '@/eventBus'
-
export default {
name: 'MonitorPanel',
components: {
- GasWasteSearch,
- WaterWasteSearch,
+ WasteGasSearch,
+ WasteWaterSearch,
SolidWasteSearch,
EnvRiskSearch,
DischargeSearch,
@@ -78,7 +76,7 @@
return {
isShow: true,
topicMenu: [],
- topicList: TopicList,
+ list: topicList,
topicCheckedList: [],
isPanelVisible: false,
gcComp: SewersSearch,
@@ -91,7 +89,11 @@
selectGroup: false
}
},
- computed: {},
+ computed: {
+ serviceLayers () {
+ return this.$store.state.map.serviceLayers.LayerSewersLine
+ }
+ }, /*
watch: {
'$store.state.map.topic.topicCheckedList': function (newVal, oldVal) {
console.log(oldVal)
@@ -106,35 +108,55 @@
})
})
}
- },
+ }, */
methods: {
handleClose (done) {
console.log(done)
},
setSearchPanelChange () {
+ // 鎼滅储闈㈡澘娌℃湁鏄剧ず鏃讹紝灏嗘墍鏈変富棰橀�夋嫨鐘舵�佽缃负false
this.selectGroup = !this.selectGroup
if (!this.selectGroup) {
- this.topicList.forEach((itm) => {
+ this.list.forEach((itm) => {
itm.checked = false
})
}
},
+ unselected (val) {
+ // console.log(val)
+ this.selectGroup = true
+ this.list.forEach((itm) => {
+ if (itm.name === val.name) {
+ console.log(val.name)
+ itm.checked = false
+ itm.isShow = false
+ }
+ })
+ },
selected (val) {
// console.log(val)
- this.title = val.name
this.selectGroup = true
- this.topicList.forEach((itm) => {
- itm.checked = val.name === itm.name
+ this.list.forEach((itm) => {
+ if (itm.name === val.name) {
+ itm.isShow = true
+ itm.checked = true
+ } else {
+ itm.checked = false
+ }
})
+ this.setComp(val)
+ },
+ setComp (val) {
+ this.title = val.name
switch (val.name) {
case '姹℃煋婧�':
this.gcComp = DischargeSearch
break
case '搴熸按':
- this.gcComp = WaterWasteSearch
+ this.gcComp = WasteWaterSearch
break
case '搴熸皵':
- this.gcComp = GasWasteSearch
+ this.gcComp = WasteGasSearch
break
case '鍥哄簾':
this.gcComp = SolidWasteSearch
@@ -160,9 +182,6 @@
}
},
handlePage (page) {
- },
- handleGd () {
- this.title = '绠¢亾淇℃伅鏌ヨ'
},
toggleMonitorPanel () {
this.isCollapse = !this.isCollapse
@@ -204,37 +223,60 @@
// })
// }
},
- defaultLastOne () {
- let v = {}
- this.topicList.forEach((item) => {
- if (item.isShow) {
- v = item
+ containsLayer (layer) {
+ if (layer) {
+ for (let i = 0; i < layer.length; i++) {
+ const lay = layer[i]
+ const checked = lay.checked
+
+ for (let j = 0; j < this.list.length; j++) {
+ const topic = this.list[j]
+ if (lay.name === topic.name) {
+ if (lay.layers) {
+ const isChecked = this.isChecked(lay.layers)
+ if (isChecked) {
+ this.selected(topic)
+ } else {
+ this.unselected(topic)
+ }
+ } else if (checked) {
+ this.selected(topic)
+ }
+ break
+ }
+ }
+ this.containsLayer(lay.layers)
}
- })
- this.selected(v)
+ }
+ },
+ isChecked (layers) {
+ for (let i = 0; i < layers.length; i++) {
+ const layer = layers[i]
+ const checked = layer.checked
+ if (checked) {
+ return true
+ }
+ if (layer.layers) {
+ return this.isChecked(layer.layers)
+ }
+ }
+ return false
}
},
mounted () {
- const that = this
- bus.$on('changeSearchBar', function (obj) {
- that.gcComp = ''
- that.topicList.forEach((item) => {
- if (item.name === obj.name) {
- if (obj.type > 0) {
- item.isShow = true
- } else {
- item.isShow = false
- }
- // item.isShow = obj.checked
- if (item.isShow) {
- that.selected(item)
- } else {
- that.defaultLastOne()
- }
- }
- })
- })
- // console.log(that.topicList)
+ /* bus.$on('changeSearchBar', (obj) => {
+ const topic = this.search(this.serviceLayers, obj)
+ console.log('====' + JSON.stringify(topic))
+ }) */
+ },
+ watch: {
+ serviceLayers: {
+ handler: function (newVal, oldVal) {
+ this.containsLayer(newVal)
+ },
+ immediate: true,
+ deep: true
+ }
}
}
</script>
diff --git a/src/components/panel/topicSearch/GasWasteSearch.vue b/src/components/panel/topicSearch/WasteGasSearch.vue
similarity index 78%
rename from src/components/panel/topicSearch/GasWasteSearch.vue
rename to src/components/panel/topicSearch/WasteGasSearch.vue
index 57b7faa..4ca1a8d 100644
--- a/src/components/panel/topicSearch/GasWasteSearch.vue
+++ b/src/components/panel/topicSearch/WasteGasSearch.vue
@@ -3,7 +3,7 @@
<div class="panel-title">{{title}}</div>
<div class="search-panel ">
<el-form ref="form" :model="form" label-width="90px" class="search-form">
- <el-form-item label="鍖哄煙锛�" size="mini" class="search-panel-item">
+<!-- <el-form-item label="鍖哄煙锛�" size="mini" class="search-panel-item">
<el-select style="width: 100%" v-model="form.areaVal" @change="areaType" :popper-class="'select-down'">
<el-option
v-for="item in inareaTypeOptions"
@@ -12,7 +12,7 @@
:value="item.value">
</el-option>
</el-select>
- </el-form-item>
+ </el-form-item>-->
<el-form-item label="浼佷笟鍚嶇О锛�" size="mini">
<el-select style="width: 100%" v-model="form.enterpriseVal" @change="enterpriseType" :popper-class="'select-down'">
<el-option
@@ -23,8 +23,9 @@
</el-option>
</el-select>
</el-form-item>
- <el-form-item label="浜岀骇鍗曚綅锛�" size="mini">
- <el-select style="width: 100%" v-model="form.enterpriseSubunitsVal" @change="enterpriseSubunitsType" :popper-class="'select-down'">
+ <el-form-item label="鍗曚綅閮ㄩ棬锛�" size="mini">
+ <el-select style="width: 100%" v-model="form.enterpriseSubunitsVal" @change="enterpriseSubunitsType"
+ :popper-class="'select-down'">
<el-option
v-for="item in enterpriseSubunitsTypeOptions"
:key="item.value"
@@ -33,10 +34,11 @@
</el-option>
</el-select>
</el-form-item>
- <el-form-item label="涓夌骇鍗曚綅锛�" size="mini">
- <el-select style="width: 100%" v-model="form.enterpriseSubunitsVal" @change="enterpriseSubunitsType" :popper-class="'select-down'">
+ <el-form-item label="鎺у埗绾у埆锛�" size="mini">
+ <el-select style="width: 100%" v-model="form.enterpriseLevelVal" @change="enterpriseLevelType"
+ :popper-class="'select-down'">
<el-option
- v-for="item in enterpriseSubunitsTypeOptions"
+ v-for="item in enterpriseLevelTypeOptions"
:key="item.value"
:label="item.label"
:value="item.value">
@@ -45,7 +47,9 @@
</el-form-item>
<!-- <el-form-item label="椋庨櫓绾у埆" size="mini"></el-form-item>-->
<el-radio-group v-model="form.type" class="levelOfRisk">
- <el-radio v-for="(item,index) in levelOfRisk" :label="item.value" :key="index"><span class="levelOfRisk-type">{{item.name}}</span></el-radio>
+ <el-radio v-for="(item,index) in levelOfRisk" :label="item.value" :key="index">
+ <span class="levelOfRisk-type">{{item.name}}</span>
+ </el-radio>
</el-radio-group>
<!-- <el-form-item >-->
<div class="page_total">
@@ -74,8 +78,7 @@
<img src="../../../../public/assets/images/map/exhaust/fq_green2.png" alt="" class="state"/>
<div>
<h3>{{ item.Name }}</h3>
- <p>鎵�灞為儴闂細<span>{{ item.porltName }}</span></p>
- <p>椋庨櫓绾у埆锛�<span>涓夌骇</span></p>
+ <p>鎵�灞為儴闂細<span>{{ item.DeptSname }}</span></p>
</div>
</div>
@@ -108,7 +111,7 @@
import { pulseEffect, setPanTo } from '../../../utils/utils'
export default {
- name: 'GasWasteSearch',
+ name: 'WasteGasSearch',
props: ['title'],
data () {
return {
@@ -117,23 +120,31 @@
total: 0,
// 鍒嗛〉
pageSize: 10,
+ current: 1,
inareaTypeOptions: [],
enterpriseTypeOptions: [],
enterpriseSubunitsTypeOptions: [],
+ enterpriseLevelTypeOptions: [
+ { label: '鍥芥帶', value: '1' },
+ { label: '鐪佹帶', value: '2' },
+ { label: '甯傛帶', value: '3' },
+ { label: '鍏朵粬', value: '4' }
+ ],
form: {
areaVal: '',
enterpriseVal: '',
enterpriseSubunitsVal: '',
+ enterpriseLevelVal: '',
type: ''
},
- // pageSize: 10,
- // current: 1,
levelOfRisk: [
{ name: '鍏ㄩ儴', value: '1' },
{ name: '姝e父', value: '2' },
{ name: '瓒呮爣', value: '3' },
- { name: '寮傚父', value: '4' },
- { name: '鍋滀骇', value: '5' }
+ { name: '棰勮', value: '4' },
+ { name: '寮傚父', value: '5' },
+ { name: '缂哄け', value: '6' },
+ { name: '鍋滆繍', value: '7' }
]
}
},
@@ -144,13 +155,13 @@
this.handleSearch()
},
// 鍖哄煙绛涢��
- areaType (val) {
+ /* areaType (val) {
this.pipelineTypeOptions.forEach((itm) => {
if (val === itm.value) {
}
})
- },
+ }, */
// 浼佷笟绛涢��
enterpriseType (val) {
this.dataTypeOptions.forEach((itm) => {
@@ -163,17 +174,29 @@
enterpriseSubunitsType (val) {
},
- // 涓夌骇鍗曚綅绛涢��
+ // 鎺у埗绾у埆绛涢��
+ enterpriseLevelType (val) {
+
+ },
+
async handleSearch () {
const param = {
- pipelineType: this.form.pipelineType,
- dataType: this.form.dataType
+ companyId: 3900100145, // 浼佷笟缂栫爜
+ id: '',
+ monType: 2, // 搴熸皵
+ userCode: 'wenchun.deng', // 鐢ㄦ埛鍚嶇О
+ monDuration: '',
+ epName: '',
+ secdDeptId: '',
+ contrLevel: '',
+ dataStatus: '',
+ dataFlag: '',
+ runStatus: '',
+ emissTypeId: ''
}
- // console.log(param)
const res = await mapApi.getWasteGas(param)
- // console.log(res)
- this.list = res.Result.DataInfo
- console.log(this.list)
+ this.list = res.Result.DataInfo || {}
+ this.total = this.list.length
},
// 寮圭獥灞曠ず
async handleLocation (val) {
diff --git a/src/components/panel/topicSearch/WaterWasteSearch.vue b/src/components/panel/topicSearch/WasteWaterSearch.vue
similarity index 81%
rename from src/components/panel/topicSearch/WaterWasteSearch.vue
rename to src/components/panel/topicSearch/WasteWaterSearch.vue
index cb3343d..7d0df00 100644
--- a/src/components/panel/topicSearch/WaterWasteSearch.vue
+++ b/src/components/panel/topicSearch/WasteWaterSearch.vue
@@ -3,7 +3,7 @@
<div class="panel-title">{{title}}</div>
<div class="search-panel ">
<el-form ref="form" :model="form" label-width="90px" class="search-form">
- <el-form-item label="鍖哄煙锛�" size="mini" class="search-panel-item">
+<!-- <el-form-item label="鍖哄煙锛�" size="mini" class="search-panel-item">
<el-select style="width: 100%" v-model="form.areaVal" @change="areaType"
:popper-class="'select-down'">
<el-option
@@ -13,7 +13,7 @@
:value="item.value">
</el-option>
</el-select>
- </el-form-item>
+ </el-form-item>-->
<el-form-item label="浼佷笟鍚嶇О锛�" size="mini">
<el-select style="width: 100%" v-model="form.enterpriseVal" @change="enterpriseType"
:popper-class="'select-down'">
@@ -25,7 +25,7 @@
</el-option>
</el-select>
</el-form-item>
- <el-form-item label="浜岀骇鍗曚綅锛�" size="mini">
+ <el-form-item label="鍗曚綅閮ㄩ棬锛�" size="mini">
<el-select style="width: 100%" v-model="form.enterpriseSubunitsVal" @change="enterpriseSubunitsType"
:popper-class="'select-down'">
<el-option
@@ -36,11 +36,11 @@
</el-option>
</el-select>
</el-form-item>
- <el-form-item label="涓夌骇鍗曚綅锛�" size="mini">
- <el-select style="width: 100%" v-model="form.enterpriseSubunitsVal" @change="enterpriseSubunitsType"
+ <el-form-item label="鎺у埗绾у埆锛�" size="mini">
+ <el-select style="width: 100%" v-model="form.enterpriseLevelVal" @change="enterpriseLevelType"
:popper-class="'select-down'">
<el-option
- v-for="item in enterpriseSubunitsTypeOptions"
+ v-for="item in enterpriseLevelTypeOptions"
:key="item.value"
:label="item.label"
:value="item.value">
@@ -77,11 +77,10 @@
<el-scrollbar style="height:264px">
<div class="environmental-risk-list" v-for="(item,index) in list" :key="index"
@click="handleLocation(item)"><!-- -->
- <img src="../../../../public/assets/images/map/exhaust/fq_green2.png" alt="" class="state"/>
+ <img src="../../../../public/assets/images/map/wastewater/fs_bright_green.png" alt="" class="state"/>
<div>
<h3>{{ item.Name }}</h3>
- <p>鎵�灞為儴闂細<span>{{ item.porltName }}</span></p>
- <p>椋庨櫓绾у埆锛�<span>涓夌骇</span></p>
+ <p>鎵�灞為儴闂細<span>{{ item.DeptSname }}</span></p>
</div>
</div>
@@ -114,7 +113,7 @@
import { pulseEffect, setPanTo } from '../../../utils/utils'
export default {
- name: 'WaterWasteSearch',
+ name: 'WasteWaterSearch',
props: ['title'],
data () {
return {
@@ -124,40 +123,33 @@
total: 0,
// 鍒嗛〉
pageSize: 10,
+ current: 1,
inareaTypeOptions: [],
enterpriseTypeOptions: [],
enterpriseSubunitsTypeOptions: [],
+ enterpriseLevelTypeOptions: [
+ { label: '鍥芥帶', value: '1' },
+ { label: '鐪佹帶', value: '2' },
+ { label: '甯傛帶', value: '3' },
+ { label: '鍏朵粬', value: '4' }
+ ],
form: {
areaVal: '',
enterpriseVal: '',
enterpriseSubunitsVal: '',
+ enterpriseLevelVal: '',
type: '1'
},
- // pageSize: 10,
- // current: 1,
isWaybillHover: true,
isRouteHover: false,
levelOfRisk: [
- {
- name: '鍏ㄩ儴',
- value: '1'
- },
- {
- name: '姝e父',
- value: '2'
- },
- {
- name: '瓒呮爣',
- value: '3'
- },
- {
- name: '寮傚父',
- value: '4'
- },
- {
- name: '鍋滀骇',
- value: '5'
- }
+ { name: '鍏ㄩ儴', value: '1' },
+ { name: '姝e父', value: '2' },
+ { name: '瓒呮爣', value: '3' },
+ { name: '棰勮', value: '4' },
+ { name: '寮傚父', value: '5' },
+ { name: '缂哄け', value: '6' },
+ { name: '鍋滆繍', value: '7' }
]
}
},
@@ -168,13 +160,13 @@
this.handleSearch()
},
// 鍖哄煙绛涢��
- areaType (val) {
+ /* areaType (val) {
this.pipelineTypeOptions.forEach((itm) => {
if (val === itm.value) {
}
})
- },
+ }, */
// 浼佷笟绛涢��
enterpriseType (val) {
this.dataTypeOptions.forEach((itm) => {
@@ -187,17 +179,29 @@
enterpriseSubunitsType (val) {
},
- // 涓夌骇鍗曚綅绛涢��
+ // 鎺у埗绾у埆绛涢��
+ enterpriseLevelType (val) {
+
+ },
+
async handleSearch () {
const param = {
- pipelineType: this.form.pipelineType,
- dataType: this.form.dataType
+ companyId: 3900100145, // 浼佷笟缂栫爜
+ id: '',
+ monType: 1, // 搴熸按
+ userCode: 'wenchun.deng', // 鐢ㄦ埛鍚嶇О
+ monDuration: '',
+ epName: '',
+ secdDeptId: '',
+ contrLevel: '',
+ dataStatus: '',
+ dataFlag: '',
+ runStatus: '',
+ emissTypeId: ''
}
- // console.log(param)
const res = await mapApi.getWasteWater(param)
- // console.log(res)
- this.list = res.Result.DataInfo
- console.log(this.list)
+ this.list = res.Result.DataInfo || {}
+ this.total = this.list.length
},
// 寮圭獥灞曠ず
handleLocation (val) {
diff --git a/src/components/panel/topicSearch/enterprise-emergency/EventQuery.vue b/src/components/panel/topicSearch/enterprise-emergency/EventQuery.vue
index 860f6e1..c1b30ae 100644
--- a/src/components/panel/topicSearch/enterprise-emergency/EventQuery.vue
+++ b/src/components/panel/topicSearch/enterprise-emergency/EventQuery.vue
@@ -66,7 +66,7 @@
<i class="state"></i>
<div>
<h3>
- <span @click="disposalfx">浠跺悕绉�:XXX浜嬩欢</span>
+ <span @click="disposalfx">浜嬩欢鍚嶇О:XXX浜嬩欢</span>
<el-button class="rt btn00fff6" size="mini" style="margin-right: 0.04rem;"
@click="startAnalysis">
<span>寮�濮嬪垎鏋�</span>
diff --git a/src/components/table/components/tabHandover.vue b/src/components/table/components/tabHandover.vue
index 43896f1..c3e087a 100644
--- a/src/components/table/components/tabHandover.vue
+++ b/src/components/table/components/tabHandover.vue
@@ -19,8 +19,7 @@
import EnvironmentalRisk from '@components/table/components/EnvironmentalRisk'
import Pipeline from '@components/table/components/Pipeline'
import CorporateEmergency from '@components/table/components/CorporateEmergency'
-
-import { TopicList } from '../../../conf/Topic'
+import { topicList } from '../../../conf/Topic'
export default {
name: 'tabHandover',
components: {
@@ -37,8 +36,8 @@
return {
titleProp: '',
activeName: '姹℃煋婧�',
- topicList: TopicList, // tab椤�
- gcComp: PollutionSource // 榛樿鏄剧ず姹℃煋婧愬唴瀹�
+ topicList: topicList, // tab椤�
+ gcComp: PollutionSource
}
},
methods: {
diff --git a/src/conf/Constants.js b/src/conf/Constants.js
index 20c3f29..af7e312 100644
--- a/src/conf/Constants.js
+++ b/src/conf/Constants.js
@@ -17,12 +17,12 @@
}
export const logicMapper = {
- wasteGasPfk: 'WasteGas.js',
- wasteWaterPfk: 'WasteWater.js',
- wasteSolidCcd: 'WasteSolid.js',
+ wasteGasPfk: 'WasteGas.js', // 搴熸皵
+ wasteWaterPfk: 'WasteWater.js', // 搴熸按
+ wasteSolidCcd: 'WasteSolid.js', // 鍥哄簾
sewersAreaGs: 'Company.js',
pipesegment: 'PipeLineAnimal.js',
- pollutionSources: 'SourcesPollution.js',
+ pollutionSourcesZlss: 'GovernEquipment.js', // 姹℃煋婧�-娌荤悊璁炬柦
envRiskChart: 'EnvironmentRisk.js', // 椋庨櫓缁熻鍥�
envRiskMajor: 'RiskSource.js', // 閲嶅ぇ椋庨櫓婧�
envRiskFirst: 'RiskSource.js', // 涓�绾ч闄╂簮
@@ -65,7 +65,8 @@
emergencyesources: '搴旀�ョ墿璧�',
firefightingunit: '娑堥槻鍗曚綅',
unitareaboundary: '瑁呯疆鍖鸿竟鐣�',
- sensitivetarget: '鏁忔劅鐩爣'
+ sensitivetarget: '鏁忔劅鐩爣',
+ chokevalve: '鎴祦闂�'
}
export const LAYERPROPS = {
@@ -92,6 +93,7 @@
name: '绠$綉鍚嶇О',
linenumtype: '绠$嚎绫诲瀷',
pipename: '绠$嚎鍚嶇О',
+ subchaname: '鏀嚎鍚嶇О',
mediumtype: '杈撻�佷粙璐�',
length: '闀垮害(m)',
startposname: '璧风偣浣嶇疆鍚嶇О',
@@ -414,5 +416,18 @@
huncount: '甯歌浜哄彛鏁伴噺',
structureoridsitearea: '鍗犲湴闈㈢Н',
adminzonename: '琛屾斂闅跺睘'
+ },
+ // 鎴祦闂�
+ chokevalve: {
+ closurename: '鍚嶇О',
+ closurecode: '缂栫爜',
+ pointnumber: '娴嬬偣缂栧彿',
+ mediumtype: '浠嬭川',
+ size: '灏哄(m)',
+ operatingtype: '鎺у埗鏂瑰紡',
+ telephone: '鑱旂郴鐢佃瘽',
+ resperson: '璐熻矗浜�',
+ startdate: '鎶曠敤鏃ユ湡',
+ operationalstatus: '杩愯鐘舵��'
}
}
diff --git a/src/conf/Topic.js b/src/conf/Topic.js
index ff80c53..7f566af 100644
--- a/src/conf/Topic.js
+++ b/src/conf/Topic.js
@@ -12,10 +12,10 @@
EnterpriseEmergencySearch: () => import('@components/panel/topicSearch/EnterpriseEmergencySearch.vue')
}
-export const TopicList = [{
+export const topicList = [{
name: '姹℃煋婧�',
id: 1,
- check: false,
+ checked: false,
isShow: false,
icon: 'iconwuranyuan',
comp: ''
diff --git a/src/conf/layers/LayerEnvRisk.js b/src/conf/layers/LayerEnvRisk.js
index 1ca0e15..983fe54 100644
--- a/src/conf/layers/LayerEnvRisk.js
+++ b/src/conf/layers/LayerEnvRisk.js
@@ -26,7 +26,7 @@
name: '閲嶅ぇ椋庨櫓',
sname: '閲嶅ぇ椋庨櫓',
checked: false, // 榛樿閫変腑鐘舵��
- minZoom: 10,
+ // minZoom: 10,
color: 'red',
level: 0
},
@@ -36,7 +36,7 @@
sname: '涓�绾ч闄�',
checked: false, // 榛樿閫変腑鐘舵��
type: 0,
- minZoom: 10,
+ // minZoom: 10,
color: 'sandybrown',
level: 1
},
@@ -46,7 +46,7 @@
sname: '浜岀骇椋庨櫓',
checked: false,
type: 0,
- minZoom: 10,
+ // minZoom: 10,
color: 'yellow',
level: 2
},
@@ -56,7 +56,7 @@
sname: '涓夌骇椋庨櫓',
checked: false,
type: 0,
- minZoom: 10,
+ // minZoom: 10,
color: 'green',
level: 3
}
diff --git a/src/utils/utils.js b/src/utils/utils.js
index d8d5e40..c187b1c 100644
--- a/src/utils/utils.js
+++ b/src/utils/utils.js
@@ -27,7 +27,7 @@
* 鑴夊啿鏁堟灉
*/
export function pulseEffect (xy) {
- let times = 5
+ let times = 1000
const colors = ['#00f100', '#ff0000']
// 鎻掍欢 鏁堟灉瀹炵幇
var pulsingIcon = window.L.icon.pulse({
diff --git a/src/views/popup/DynamicHeader/DynamicTable.vue b/src/views/popup/DynamicHeader/DynamicTable.vue
new file mode 100644
index 0000000..a115ba1
--- /dev/null
+++ b/src/views/popup/DynamicHeader/DynamicTable.vue
@@ -0,0 +1,43 @@
+<template>
+ <el-table :data="tableData" border :height="height">
+ <template v-for="item in tableHeader">
+ <table-column v-if="item.children && item.children.length" :key="item.id" :coloumn-header="item"></table-column>
+ <el-table-column v-else :key="item.id" :label="item.label" :prop="item.prop" align="center"></el-table-column>
+ </template>
+ </el-table>
+</template>
+
+<script>
+import TableColumn from './TableColumn'
+export default {
+ props: {
+ // 琛ㄦ牸鐨勬暟鎹�
+ tableData: {
+ type: Array,
+ required: true
+ },
+ // 澶氱骇琛ㄥご鐨勬暟鎹�
+ tableHeader: {
+ type: Array,
+ required: true
+ },
+ // 琛ㄦ牸鐨勯珮搴�
+ height: {
+ type: String,
+ default: '340'
+ }
+ },
+ components: {
+ TableColumn
+ },
+ watch: {
+ tableData (val, oldVal) {
+ this.tableData = val
+ }
+ }
+}
+</script>
+
+<style scoped>
+
+</style>
diff --git a/src/views/popup/DynamicHeader/TableColumn.vue b/src/views/popup/DynamicHeader/TableColumn.vue
new file mode 100644
index 0000000..be2ea78
--- /dev/null
+++ b/src/views/popup/DynamicHeader/TableColumn.vue
@@ -0,0 +1,24 @@
+<template>
+ <el-table-column :label="coloumnHeader.label" :prop="coloumnHeader.label" align="center">
+ <template v-for="item in coloumnHeader.children">
+ <tableColumn v-if="item.children && item.children.length" :key="item.id" :coloumn-header="item"></tableColumn>
+ <el-table-column v-else :key="item.name" :label="item.label" :prop="item.prop" align="center"></el-table-column>
+ </template>
+ </el-table-column>
+</template>
+
+<script>
+export default {
+ name: 'tableColumn',
+ props: {
+ coloumnHeader: {
+ type: Object,
+ required: true
+ }
+ }
+}
+</script>
+
+<style scoped>
+
+</style>
--
Gitblit v1.8.0