From e3608132cc667c16ea10f450807e0feddaf55d1f Mon Sep 17 00:00:00 2001
From: 陈泽平 <chenzeping>
Date: 星期日, 30 五月 2021 13:32:38 +0800
Subject: [PATCH] Merge branch 'develop' of http://xearth.cn:6600/r/wuyushui/SewerAndRainNetwork into develop
---
public/assets/images/map-pages/title_bg2.png | 0
src/components/base-page/enterprise-emergency/event-handling/DisposalProposed.vue | 141 ++++++-
src/components/panel/RightSearchPanel.vue | 124 ++++--
src/conf/Topic.js | 4
src/assets/css/map/map-panel-style.less | 21 +
src/components/helpers/MapManager.js | 5
src/views/popup/DynamicHeader/DynamicTable.vue | 43 ++
src/components/LayerController/modules/LcServiceLayer.vue | 44 ++
public/assets/images/map-pages/title_bg.png | 0
src/components/base-page/WasteWater/WasteWaterHoursChart.vue | 227 +++++++++--
src/components/base-page/enterprise-emergency/DisposalEvent.vue | 196 ++++++---
src/components/base-page/WasteWater/WasteWaterIndex.vue | 21
src/components/table/components/tabHandover.vue | 7
src/conf/Constants.js | 17
src/views/popup/DynamicHeader/TableColumn.vue | 24 +
src/components/base-page/PublicDataStandard.vue | 13
src/components/base-page/WasteWater/WasteWaterDayChart.vue | 243 +++++++++---
src/App.vue | 6
18 files changed, 868 insertions(+), 268 deletions(-)
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/src/App.vue b/src/App.vue
index 6b056a7..a2535d8 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.7) !important;
+}
</style>
diff --git a/src/assets/css/map/map-panel-style.less b/src/assets/css/map/map-panel-style.less
index 7ae3d48..1ec2a41 100644
--- a/src/assets/css/map/map-panel-style.less
+++ b/src/assets/css/map/map-panel-style.less
@@ -829,6 +829,27 @@
padding: 5px;
color: #f2f2f2;
}
+.el-collapse-item__header {
+ display: flex;
+ align-items: center;
+ height: 48px;
+ line-height: 48px;
+ background-color: @background-color;
+ color: @color;
+ cursor: pointer;
+ border-bottom: 1px solid @color;
+ font-size: 13px;
+ font-weight: 500;
+ transition: border-bottom-color .3s;
+ outline: 0;
+}
+.el-collapse-item__wrap{
+ background-color: @background-color;
+
+}
+.el-collapse-item__content{
+ color: @color;
+}
/************鎼滅储鏁版嵁鍒嗛〉鍔熻兘鎬绘暟閲忔牱寮忔坊鍔�************/
.page_total {
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/WasteWater/WasteWaterDayChart.vue b/src/components/base-page/WasteWater/WasteWaterDayChart.vue
index 1fcb2c9..8f0bce3 100644
--- a/src/components/base-page/WasteWater/WasteWaterDayChart.vue
+++ b/src/components/base-page/WasteWater/WasteWaterDayChart.vue
@@ -13,7 +13,14 @@
<el-option v-for="(item,index) in formData.regionList" :key="index" :label="item" :value="item"></el-option>
</el-select>
<el-button @click="querySearch()">鏌ヨ</el-button>
- <el-button>鏄庣粏琛�</el-button>
+ <el-popover
+ placement="top"
+ width="100%"
+ popper-class="popoverBoxStyle"
+ trigger="click">
+ <dynamic-table :tableData="tableData" :tableHeader="tableConfig" v-if="tableData"></dynamic-table>
+ <el-button slot="reference">鏄庣粏琛�</el-button>
+ </el-popover>
</div>
<div class="echarts-chart">
<div ref="echartsDay"></div>
@@ -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: { // 鎶樼嚎鐨勯鑹�
@@ -544,6 +636,43 @@
}
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
}
}
}
diff --git a/src/components/base-page/WasteWater/WasteWaterHoursChart.vue b/src/components/base-page/WasteWater/WasteWaterHoursChart.vue
index 2acfe80..6cdefb1 100644
--- a/src/components/base-page/WasteWater/WasteWaterHoursChart.vue
+++ b/src/components/base-page/WasteWater/WasteWaterHoursChart.vue
@@ -13,7 +13,14 @@
<el-option v-for="(item,index) in formData.regionList" :key="index" :label="item" :value="item"></el-option>
</el-select>
<el-button @click="querySearch()">鏌ヨ</el-button>
- <el-button>鏄庣粏琛�</el-button>
+ <el-popover
+ placement="top"
+ width="100%"
+ popper-class="popoverBoxStyle"
+ trigger="click">
+ <dynamic-table :tableData="tableData" :tableHeader="tableConfig" v-if="tableData"></dynamic-table>
+ <el-button slot="reference">鏄庣粏琛�</el-button>
+ </el-popover>
</div>
<div class="echarts-chart">
<div ref="echartsHour"></div>
@@ -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)
}
},
@@ -570,6 +656,43 @@
}
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
}
}
}
diff --git a/src/components/base-page/WasteWater/WasteWaterIndex.vue b/src/components/base-page/WasteWater/WasteWaterIndex.vue
index 0e8c77a..d5c3167 100644
--- a/src/components/base-page/WasteWater/WasteWaterIndex.vue
+++ b/src/components/base-page/WasteWater/WasteWaterIndex.vue
@@ -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/enterprise-emergency/DisposalEvent.vue b/src/components/base-page/enterprise-emergency/DisposalEvent.vue
index e7eb185..c7c4c15 100644
--- a/src/components/base-page/enterprise-emergency/DisposalEvent.vue
+++ b/src/components/base-page/enterprise-emergency/DisposalEvent.vue
@@ -1,72 +1,105 @@
<template>
- <div class="disposal-event">
- <h4 class="sub-title ">浜嬩欢鍩烘湰淇℃伅</h4>
- <div :model="form">
- <el-row>
- <el-col class="info-label" :span="6">浜嬩欢鍚嶇О锛�</el-col>
- <el-col class="info-text" :span="18">{{ form.nameOfEvent }}</el-col>
- </el-row>
- <el-row>
- <el-col class="info-label" :span="6">
- 浜嬩欢浣嶇疆锛�
- </el-col>
- <el-col class="info-text" :span="18">
- <label>{{ form.eventLocation }}</label>
- </el-col>
- </el-row>
- <el-row>
- <el-col class="info-label" :span="6">
- 浣嶇疆鎻忚堪锛�
- </el-col>
- <el-col class="info-text" :span="18">
- <label>{{ form.positionDesc }}</label>
- </el-col>
- </el-row>
- <el-row>
- <el-col class="info-label" :span="6">
- 浜嬩欢鍗曚綅锛�
- </el-col>
- <el-col class="info-text" :span="18">
- {{ form.incidentUnit }}
- </el-col>
- </el-row>
- <el-row>
- <el-col class="info-label" :span="6">
- 浜嬪彂鏃堕棿锛�
- </el-col>
- <el-col class="info-text" :span="18">
- {{ form.atTime }}
- </el-col>
- </el-row>
- <el-row>
- <el-col class="info-label" :span="6">浜嬩欢鎻忚堪锛�</el-col>
- <el-col class="info-text" :span="18">{{ form.eventDesc }}</el-col>
- </el-row>
- <el-row>
- <el-col class="info-label" span="6">闄勪欢锛�</el-col>
- <el-col class="info-text" :span="18"><a class="link-btn" href="javascript:">闄勪欢</a>
-
- <a class="link-btn" href="javascript:">闄勪欢</a>
- </el-col>
- </el-row>
+ <div>
+ <el-scrollbar >
+ <div class="disposal-event">
+<!-- <el-collapse v-model="activeNames" @change="handleChange">-->
+<!-- <el-collapse-item title="浜嬩欢鍩烘湰淇℃伅" name="1">-->
+ <div>
+ <h4 class="sub-title ">浜嬩欢鍩烘湰淇℃伅</h4>
+ <div :model="form">
+ <el-row>
+ <el-col class="info-label" :span="6">浜嬩欢鍚嶇О锛�</el-col>
+ <el-col class="info-text" :span="18">{{ form.nameOfEvent }}</el-col>
+ </el-row>
+ <el-row>
+ <el-col class="info-label" :span="6">
+ 浜嬩欢浣嶇疆锛�
+ </el-col>
+ <el-col class="info-text" :span="18">
+ <label>{{ form.eventLocation }}</label>
+ </el-col>
+ </el-row>
+ <el-row>
+ <el-col class="info-label" :span="6">
+ 浣嶇疆鎻忚堪锛�
+ </el-col>
+ <el-col class="info-text" :span="18">
+ <label>{{ form.positionDesc }}</label>
+ </el-col>
+ </el-row>
+ <el-row>
+ <el-col class="info-label" :span="6">
+ 浜嬩欢鍗曚綅锛�
+ </el-col>
+ <el-col class="info-text" :span="18">
+ {{ form.incidentUnit }}
+ </el-col>
+ </el-row>
+ <el-row>
+ <el-col class="info-label" :span="6">
+ 浜嬪彂鏃堕棿锛�
+ </el-col>
+ <el-col class="info-text" :span="18">
+ {{ form.atTime }}
+ </el-col>
+ </el-row>
+ <el-row>
+ <el-col class="info-label" :span="6">浜嬩欢鎻忚堪锛�</el-col>
+ <el-col class="info-text" :span="18">{{ form.eventDesc }}</el-col>
+ </el-row>
+ <el-row>
+ <el-col class="info-label" span="6">闄勪欢锛�</el-col>
+ <el-col class="info-text" :span="18"><a class="link-btn" href="javascript:">闄勪欢</a>
+
+ <a class="link-btn" href="javascript:">闄勪欢</a>
+ </el-col>
+ </el-row>
+ </div>
+ </div>
+<!-- </el-collapse-item>-->
+<!-- <el-collapse-item title="棰勬鍖归厤" name="2">-->
+ <div>
+<!-- <h3 class="sub-title">棰勬鍖归厤</h3>-->
+ <el-table :data="tableData" style="width: 100%">
+ <el-table-column prop="name" label="棰勬鍚嶇О"></el-table-column>
+ <el-table-column prop="define" label="棰勬瀹氫箟"></el-table-column>
+ <el-table-column prop="hierarchy" label="棰勬灞傜骇"></el-table-column>
+ <el-table-column prop="classification" label="棰勬鍒嗙被"></el-table-column>
+ <el-table-column label="闄勪欢">
+ <template>
+ <a class="link-btn" href="javascript:">棰勬</a>
+ </template>
+ </el-table-column>
+ </el-table>
+ </div>
+<!-- </el-collapse-item>-->
+<!-- <el-collapse-item title="鐜鍒嗘瀽鎶ュ憡" name="3">-->
+ <div>
+ <h3 class="sub-title">鐜鍒嗘瀽鎶ュ憡</h3>
+ <el-table :data="envTableData" style="width: 100%">
+ <el-table-column prop="no" label="搴忓彿"></el-table-column>
+ <el-table-column prop="radius" label="鏌ヨ鍗婂緞"></el-table-column>
+ <el-table-column prop="reporterTime" label="鐢熸垚鎶ュ憡鏃堕棿"></el-table-column>
+ <el-table-column prop="classification" label="鎿嶄綔">
+ <template slot-scope="scope" >
+ <el-button class="link-btn" @click="handleClickView(scope.row)" type="text" size="small">鏌ョ湅</el-button>
+ <el-button class="link-btn" @click="handleClickDownload(scope.row)" type="text" size="small">涓嬭浇</el-button>
+ </template>
+ </el-table-column>
+ </el-table>
+ </div>
+<!-- </el-collapse-item>-->
+<!-- </el-collapse>-->
+
</div>
- <h3 class="sub-title">棰勬鍖归厤</h3>
- <el-table :data="tableData" style="width: 100%">
- <el-table-column prop="name" label="棰勬鍚嶇О"></el-table-column>
- <el-table-column prop="define" label="棰勬瀹氫箟"></el-table-column>
- <el-table-column prop="hierarchy" label="棰勬灞傜骇"></el-table-column>
- <el-table-column prop="classification" label="棰勬鍒嗙被"></el-table-column>
- <el-table-column label="闄勪欢">
- <template>
- <a class="link-btn" href="javascript:">棰勬</a>
- </template>
- </el-table-column>
- </el-table>
+ </el-scrollbar>
<div class="event-management">
+ <el-input></el-input>
<el-button type="primary" size="mini" @click="ToManagement">寮�濮嬪垎鏋�</el-button>
<!-- <el-button size="mini">鍏抽棴</el-button>-->
</div>
</div>
+
</template>
<script>
@@ -77,6 +110,7 @@
name: 'DisposalEvent',
data () {
return {
+ activeNames: ['1'],
form: {
nameOfEvent: '***************浜嬩欢',
eventLocation: '**********瑁呯疆',
@@ -116,6 +150,23 @@
hierarchy: '鍩哄眰鍗曚綅',
classification: '鐢熶骇'
}
+ ],
+ envTableData: [
+ {
+ no: '1',
+ radius: '500m',
+ reporterTime: '2021-6-1 18:00:00',
+ data: [],
+ downloadUrl: ''
+ },
+ {
+ no: '2',
+ radius: '1km',
+ reporterTime: '2021-6-1 18:00:00',
+ data: [],
+ downloadUrl: ''
+ }
+
]
}
},
@@ -123,6 +174,15 @@
// 寮�濮嬪垎鏋�
ToManagement () {
eventBus.$emit('event-handling', {})
+ },
+ handleClickView (item) {
+ console.log(item)
+ },
+ handleClickDownload (item) {
+ console.log(item)
+ },
+ handleChange (val) {
+ console.log(val)
}
}
}
@@ -131,7 +191,7 @@
<style lang="less" scoped>
.disposal-event {
padding: 5px;
-
+height: 400px;
.fixed-width {
width: 3.2459893rem;
min-width: 3.2459893rem;
@@ -144,11 +204,6 @@
/deep/ .el-form-item__label {
color: @color;
font-size: 0.08rem;
- }
-
- .event-management {
- text-align: right;
- margin: 15px;
}
.sub-title {
@@ -170,5 +225,8 @@
text-align: left;
}
}
-
+.event-management {
+ text-align: right;
+ margin: 15px;
+}
</style>
diff --git a/src/components/base-page/enterprise-emergency/event-handling/DisposalProposed.vue b/src/components/base-page/enterprise-emergency/event-handling/DisposalProposed.vue
index 38c50ee..da459bf 100644
--- a/src/components/base-page/enterprise-emergency/event-handling/DisposalProposed.vue
+++ b/src/components/base-page/enterprise-emergency/event-handling/DisposalProposed.vue
@@ -1,24 +1,59 @@
<template>
- <div>
-<!-- <el-table ref="multipleTable" :data="tableData" tooltip-effect="dark" style="width: 100%">-->
-<!-- <el-table-column prop="define" label="寤鸿澶勭疆鎺柦" show-overflow-tooltip></el-table-column>-->
-<!-- <el-table-column type="selection" label="棰勮" width="55"></el-table-column>-->
+ <div class="">
+ <!-- <el-table ref="multipleTable" :data="tableData" tooltip-effect="dark" style="width: 100%">-->
+ <!-- <el-table-column prop="define" label="寤鸿澶勭疆鎺柦" show-overflow-tooltip></el-table-column>-->
+ <!-- <el-table-column type="selection" label="棰勮" width="55"></el-table-column>-->
-<!-- </el-table>-->
+ <!-- </el-table>-->
<div class="" style="padding: 5px;">
-<!-- <div v-for="o in tableData" :key="o" class="text item">-->
-<!-- {{ o.content }}-->
-<!-- </div>-->
+ <!-- <div v-for="o in tableData" :key="o" class="text item">-->
+ <!-- {{ o.content }}-->
+ <!-- </div>-->
<div>
- 1銆佸叧闂榾闂˙銆侀榾闂–锛屽涓婃父绠¢亾杩涜鎴祦锛涘叧闂榾闂―锛屽涓嬫父绠¢亾杩涜鎴祦
+ <h4 class="sub-title ">绠$嚎鍩烘湰淇℃伅</h4>
+ <div>
+ 浜嬩欢绠$嚎锛�
+ <div class="report-con">
+ 鐢熶骇1鍖虹绾緼锛屼粙璐ㄤ负鍚补姹℃按锛屽煁璁炬柟寮忎负鐩村煁锛屾潗璐ㄤ负鏃犵紳閽㈢锛岄檮灞炶鏂介榾闂ˋ銆�
+ </div>
+ 涓婃父绠$嚎
+ <div class="report-con">
+ 鐢熶骇2鍖虹绾緽锛屼粙璐ㄤ负鍚补姹℃按锛屽煁璁炬柟寮忎负鐩村煁锛屾潗璐ㄤ负鏃犵紳閽㈢锛岄檮灞炶鏂介榾闂˙
+ </div>
+ <div class="report-con">
+ 鐢熶骇2鍖虹绾緾锛屼粙璐ㄤ负鍚补姹℃按锛屽煁璁炬柟寮忎负鐩村煁锛屾潗璐ㄤ负鏃犵紳閽㈢锛岄檮灞炶鏂介榾闂–
+ </div>
+ 涓嬫父绠$嚎
+ <div class="report-con">
+ 鐢熶骇2鍖虹绾緿锛屼粙璐ㄤ负鍚补姹℃按锛屽煁璁炬柟寮忎负鐩村煁锛屾潗璐ㄤ负鏃犵紳閽㈢锛岄檮灞炶鏂介榾闂―
+ </div>
+ 浜嬩欢鑼冨洿鍐�
+ <div class="report-con">
+ 瑁呯疆鍖洪洦姘寸嚎锛屼粙璐ㄤ负闆ㄦ按绠$嚎锛屽煁璁炬柟寮忎负鏄庢矡 锛屾潗璐ㄤ负鏃犳按娉ワ紝闄勫睘璁炬柦鎴祦闂�
+ </div>
+ <div class="report-con">
+ 瑁呯疆鍖洪洦姘寸嚎锛屼粙璐ㄤ负闆ㄦ按绠$嚎锛屽煁璁炬柟寮忎负鏄庢矡 锛屾潗璐ㄤ负鏃犳按娉ワ紝闄勫睘璁炬柦鎴祦闂�
+ </div>
+ </div>
+ <div>
+ <h3 class="sub-title">鐜鍒嗘瀽鎶ュ憡</h3>
+ <el-table :data="envTableData" style="width: 100%">
+ <el-table-column prop="process" label="寤鸿澶勭疆鎺柦"></el-table-column>
+ <el-table-column prop="operation" label="鎿嶄綔">
+ <template slot-scope="scope">
+ <el-button class="link-btn" @click="handleClickView(scope.row)" type="text" size="mini">棰勮</el-button>
+ </template>
+ </el-table-column>
+ </el-table>
+ </div>
<div>
</div>
</div>
</div>
- <div >
-</div>
+ <div>
+ </div>
</div>
</template>
@@ -36,9 +71,25 @@
type: 'closeFM',
fmGxList: {
// 涓婃父闃�闂�
- syfm: [{ name: '闃�闂˙', lng: 114, lat: 32 }, { name: '闃�闂╝', lng: 114, lat: 32 }],
+ syfm: [{
+ name: '闃�闂˙',
+ lng: 114,
+ lat: 32
+ }, {
+ name: '闃�闂╝',
+ lng: 114,
+ lat: 32
+ }],
// 涓嬫父闃�闂�
- xyfm: [{ name: '闃�闂‥', lng: 114, lat: 32 }, { name: '闃�闂‵', lng: 114, lat: 32 }]
+ xyfm: [{
+ name: '闃�闂‥',
+ lng: 114,
+ lat: 32
+ }, {
+ name: '闃�闂‵',
+ lng: 114,
+ lat: 32
+ }]
}
}, {
no: 1,
@@ -47,9 +98,25 @@
type: 'closeFM',
fmGxList: {
// 涓婃父闃�闂�
- syfm: [{ name: '闃�闂˙', lng: 114, lat: 32 }, { name: '闃�闂╝', lng: 114, lat: 32 }],
+ syfm: [{
+ name: '闃�闂˙',
+ lng: 114,
+ lat: 32
+ }, {
+ name: '闃�闂╝',
+ lng: 114,
+ lat: 32
+ }],
// 涓嬫父闃�闂�
- xyfm: [{ name: '闃�闂‥', lng: 114, lat: 32 }, { name: '闃�闂‵', lng: 114, lat: 32 }]
+ xyfm: [{
+ name: '闃�闂‥',
+ lng: 114,
+ lat: 32
+ }, {
+ name: '闃�闂‵',
+ lng: 114,
+ lat: 32
+ }]
}
}, {
no: 1,
@@ -58,20 +125,54 @@
type: 'closeFM',
fmGxList: {
// 涓婃父闃�闂�
- syfm: [{ name: '闃�闂˙', lng: 114, lat: 32 }, { name: '闃�闂╝', lng: 114, lat: 32 }],
+ syfm: [{
+ name: '闃�闂˙',
+ lng: 114,
+ lat: 32
+ }, {
+ name: '闃�闂╝',
+ lng: 114,
+ lat: 32
+ }],
// 涓嬫父闃�闂�
- xyfm: [{ name: '闃�闂‥', lng: 114, lat: 32 }, { name: '闃�闂‵', lng: 114, lat: 32 }]
+ xyfm: [{
+ name: '闃�闂‥',
+ lng: 114,
+ lat: 32
+ }, {
+ name: '闃�闂‵',
+ lng: 114,
+ lat: 32
+ }]
}
- }]
+ }],
+ envTableData: [
+ {
+ process: '1銆佸叧闂榾闂˙銆侀榾闂–锛屽涓婃父绠¢亾杩涜鎴祦锛涘叧闂榾闂―锛屽涓嬫父绠¢亾杩涜鎴祦'
+ },
+ {
+ process: '2.閫氳繃璺ㄧ嚎/鏃佽矾锛圶XX姹℃按绠$嚎锛夎繘琛屽娴�'
+ }, {
+ process: '3.灞曠ず鍙楀奖鍝嶆薄姘寸绾垮強澶栨帓鍙�'
+ }
+ ]
}
},
methods: {
-
+ handleClickView (item) {
+ console.log(item)
+ },
+ handleClickDownload (item) {
+ console.log(item)
+ }
}
}
</script>
-<style scoped>
+<style lang="less" scoped>
+.report-con{
+ color: @color;
+}
</style>
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..e0b822c 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,7 +51,7 @@
<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'
@@ -61,8 +61,6 @@
import PipeChangesSearch from '@components/panel/topicSearch/pipeChangesSearch.vue'
import PipeInformationSearch from '@components/panel/topicSearch/pipeInformationSearch.vue'
import EnterpriseEmergencySearch from './topicSearch/EnterpriseEmergencySearch'
-
-import bus from '@/eventBus'
export default {
name: 'MonitorPanel',
@@ -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,26 +108,46 @@
})
})
}
- },
+ }, */
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
@@ -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/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..3abd745 100644
--- a/src/conf/Constants.js
+++ b/src/conf/Constants.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/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