Merge remote-tracking branch 'origin/develop' into develop
| | |
| | | }, |
| | | "dependencies": { |
| | | "@jiaminghi/data-view": "^2.10.0", |
| | | "axios": "^0.18.0", |
| | | "axios": "^0.21.1", |
| | | "babel-polyfill": "^6.26.0", |
| | | "core-js": "^3.6.5", |
| | | "dayjs": "^1.10.4", |
| | |
| | | getWasteGasMonData (data) { |
| | | return axios.get(mapUrl.getWasteGasMonData, data) |
| | | }, |
| | | // 废气人工数据 |
| | | getWasteGasManualData (data) { |
| | | return axios.get(mapUrl.getWasteGasManualData, data) |
| | | }, |
| | | // 废水点 |
| | | getWasteWater (data) { |
| | | return axios.get(mapUrl.getWasteWater, data) |
| | |
| | | export const getWasteGasDetails = $HOST + '/wasteGas/getWasteGasMonitoringDetails' |
| | | export const DataItems = $HOST + '/wasteWater/RTDB/DataItems' |
| | | export const getWasteGasMonData = $HOST + '/wasteGas/QueryOnlineMonData' |
| | | export const getWasteGasManualData = $HOST + '/wasteGas/QueryLabMonData' |
| | | |
| | | export const getWasteWater = $HOST + '/wasteWater/getWasteWater' // 废水点信息 |
| | | export const getWasteWaterMonitoring = $HOST + '/wasteWater/getWasteWaterMonitoring' // 废水监测数据 |
| | |
| | | @import "_map-variable"; |
| | | |
| | | .leaflet-container, |
| | | html,body{ |
| | | // font-family: 'Microsoft YaHei'; |
| | | font: 12px/1.5 "Microsoft YaHei", Arial, Helvetica, sans-serif; |
| | | } |
| | | |
| | | /*全局设置***********/ |
| | | h1, h2, h3, h4, h5, h6, ul, li, p { |
| | | padding: 0; |
| | |
| | | list-style: none; |
| | | } |
| | | |
| | | i{font-style: normal} |
| | | i { |
| | | font-style: normal |
| | | } |
| | | |
| | | .el-button--primary { |
| | | color: @color; |
| | |
| | | .el-scrollbar__wrap{ |
| | | |
| | | } |
| | | |
| | | .el-scrollbar__wrap::-webkit-scrollbar { |
| | | /*滚动条整体样式*/ |
| | | width : 5px; /*高宽分别对应横竖滚动条的尺寸*/ |
| | | height: 1px; |
| | | } |
| | | |
| | | .el-scrollbar__wrap::-webkit-scrollbar-thumb { |
| | | /*滚动条里面小方块*/ |
| | | border-radius : 10px; |
| | | background: none; |
| | | } |
| | | |
| | | .el-scrollbar__wrap::-webkit-scrollbar-track { |
| | | /*滚动条里面轨道*/ |
| | | box-shadow : inset 0 0 5px rgba(0, 0, 0, 0.2); |
| | | background : none; |
| | | border-radius: 10px; |
| | | } |
| | | |
| | | #el-scrollbar__wrap::-webkit-scrollbar-button { /*滚动条两端的按钮,可以用display:none让其不显示,也可以添加背景图片,颜色改变显示效果(位置2)*/ |
| | | background: #74D334; |
| | | } |
| | | |
| | | /*******************操作按钮点击选中整体样式******************************/ |
| | | .el-button{ |
| | | |
| | | } |
| | | |
| | | .hover-bottom:hover, |
| | | .active-button{ |
| | | border: 0.00521rem solid #fff700 !important; |
| | |
| | | display: flex; |
| | | justify-content: center; |
| | | justify-items: center; |
| | | img{display: block;width: 30px;height: 30px;margin-left: -15px;margin-top: -15px} |
| | | |
| | | img { |
| | | display: block; |
| | | width: 30px; |
| | | height: 30px; |
| | | margin-left: -15px; |
| | | margin-top: -15px |
| | | } |
| | | |
| | | ul{ |
| | | width: 120px; |
| | | margin-left: -60px; |
| | |
| | | position: absolute; |
| | | top:20px; |
| | | left:0; |
| | | |
| | | li{ |
| | | position: absolute; |
| | | top:0; |
| | |
| | | } |
| | | } |
| | | } |
| | | |
| | | /*.company-bindTooltip { |
| | | //background: @background-color-split; |
| | | background: none; |
| | |
| | | /*************** PublicTable 表格样式。*********************************/ |
| | | |
| | | .el-table{ |
| | | border-bottom: 1px solid #fff; |
| | | border: 1px solid #396d83 !important; |
| | | |
| | | .el-table__body-wrapper::-webkit-scrollbar { |
| | | width: 0; |
| | | height: 0; |
| | | background: none; |
| | | } |
| | | |
| | | .cell{ |
| | | padding: 0 3px !important; |
| | | |
| | | i{ |
| | | display: block; |
| | | font-style: normal; |
| | |
| | | } |
| | | } |
| | | } |
| | | |
| | | .el-table--border th{ |
| | | border-right: none; |
| | | border-left: 1px solid #ddd; |
| | | } |
| | | .el-table--border th.gutter{border-left: none} |
| | | |
| | | .el-table--border th.gutter { |
| | | border-left: none |
| | | } |
| | | |
| | | .el-table .cell, .el-table--border td:first-child .cell, .el-table--border th:first-child .cell { |
| | | |
| | | text-align: center; |
| | | } |
| | | |
| | | .el-table th>.cell { |
| | | border: 1px #396d83 solid; |
| | | color: #00fff6; |
| | | } |
| | | |
| | | .el-table__row>td{ |
| | | border: none; |
| | | } |
| | | |
| | | .el-table::before {//去掉最下面的那一条线 |
| | | height: 0; |
| | | } |
| | | |
| | | .el-table td, .el-table th.is-leaf { |
| | | font-size: 0.08rem; |
| | | } |
| | |
| | | .el-table .success-row { |
| | | background: #30455f; |
| | | } |
| | | |
| | | .el-table tbody tr:hover>td { |
| | | background-color:#28304d !important; |
| | | } |
| | | |
| | | //修改表格高度 |
| | | .el-table td { |
| | | padding: 0!important; |
| | |
| | | /* transform-origin: top left;*/ |
| | | animation: bounce-in .2s; |
| | | } |
| | | |
| | | @keyframes bounce-in { |
| | | 0% { |
| | | transform: scale(0); |
| | |
| | | opacity: 1; |
| | | } |
| | | } |
| | | |
| | | /**map 页面图标按钮*/ |
| | | .iconBtn { |
| | | width:0.26rem; |
| | |
| | | justify-content: center; |
| | | justify-items: center; |
| | | border-radius: 0.03rem; |
| | | |
| | | .icon{ |
| | | width: 20px; |
| | | margin: 0 auto; |
| | |
| | | } |
| | | |
| | | } |
| | | |
| | | .panel-title{ |
| | | color: @color-title; |
| | | font-size: 18px; |
| | |
| | | background: @background-color; |
| | | border-color:@color; |
| | | color:@color; |
| | | |
| | | .el-picker-panel__body-wrapper{ |
| | | background: @background-color; |
| | | } |
| | | |
| | | .el-input__inner{ |
| | | background:@background-color; |
| | | border-color:@color; |
| | | } |
| | | |
| | | .el-date-table td.today span{ |
| | | color:@color-highlight; |
| | | } |
| | | |
| | | .el-picker-panel__footer{ |
| | | background: @background-color; |
| | | border-top-color:@color; |
| | | } |
| | | |
| | | .el-date-table th{ |
| | | border-bottom-color:@color; |
| | | } |
| | | |
| | | .el-button{ |
| | | background: @background-color; |
| | | color:@color; |
| | | border-color:@color; |
| | | } |
| | | |
| | | .el-button--text{ |
| | | padding: 7px 15px; |
| | | } |
| | | |
| | | .el-button:hover{ |
| | | background: @background-color; |
| | | color:@color-highlight; |
| | | border-color:@color-highlight; |
| | | } |
| | | |
| | | .el-input__inner{ |
| | | color:#fff; |
| | | text-align: center; |
| | | } |
| | | |
| | | .el-date-picker__time-header{ |
| | | border-bottom-color:@background-color-split; |
| | | } |
| | | .el-date-picker__header-label{color:#fff} |
| | | |
| | | .el-date-picker__header-label { |
| | | color: #fff |
| | | } |
| | | } |
| | | |
| | | .el-select-dropdown{ |
| | | background: @background-color; |
| | | border-color:@color; |
| | | color:@color; |
| | | |
| | | .el-select-dropdown__item{ |
| | | color:#fff; |
| | | } |
| | | |
| | | .el-select-dropdown__item.hover{ |
| | | background: @background-color; |
| | | box-shadow: 0 0 5px @color-highlight inset; |
| | | } |
| | | |
| | | .el-select-dropdown__item.selected{ |
| | | color:@color-highlight; |
| | | } |
| | | } |
| | | |
| | | /***********************************************右侧管线相关************/ |
| | | .el-tabs__header { |
| | | background: none; |
| | | } |
| | | |
| | | .el-tabs--top .el-tabs__item.is-top:nth-child(2) { |
| | | padding-left: 20px; |
| | | } |
| | | .el-tabs--border-card { |
| | | background: none; |
| | | border: none; |
| | | box-shadow: none; |
| | | } |
| | | .el-tabs--border-card>.el-tabs__header { |
| | | background: none; |
| | | border-bottom: none; |
| | | margin: 0; |
| | | } |
| | | .el-tabs--border-card>.el-tabs__header .el-tabs__item.is-active { |
| | | color: #409EFF; |
| | | background: none; |
| | | border: none; |
| | | } |
| | | .el-tabs--border-card>.el-tabs__header .el-tabs__item { |
| | | border: none; |
| | | } |
| | | .panel-right ::-webkit-scrollbar-thumb { |
| | | background: none; |
| | | border: none; |
| | | } |
| | | .el-card { |
| | | margin-top: 15px; |
| | | background: rgba(0, 16, 30, 0.5); |
| | | border: 0.00521rem solid @color; |
| | | box-shadow: 0 0 0.03rem @color; |
| | | } |
| | | .clearfix { |
| | | display: inline-block; |
| | | color: #ffffff; |
| | | margin: 15px 0; |
| | | } |
New file |
| | |
| | | <template> |
| | | <!-- <el-table :data="tableData" style="width:730px" height="200px">--> |
| | | <!-- <el-table-column v-for="(item, index) in tableLabel" :key="index" :prop="item.prop"--> |
| | | <!-- :label="item.label">--> |
| | | <!-- <el-table-column v-for="(item1, index1) in item.label" :key="index1" :prop="item1.prop" :label="item1.label">--> |
| | | <!-- </el-table-column>--> |
| | | <!-- </el-table-column>--> |
| | | <!-- </el-table>--> |
| | | <el-table |
| | | :data="tableData" |
| | | style="width: 100%;height: 100%"> |
| | | <el-table-column |
| | | prop="tableData.LabMonTime" |
| | | label="检测时间"> |
| | | </el-table-column> |
| | | <el-table-column |
| | | label="氮氧化物"> |
| | | <el-table-column |
| | | prop="tableData.MonItemId" |
| | | label="监测值"> |
| | | </el-table-column> |
| | | <el-table-column |
| | | prop="tableData.LabMonTime" |
| | | label="标准值"> |
| | | </el-table-column> |
| | | </el-table-column> |
| | | <el-table-column |
| | | label="二氧化硫"> |
| | | <el-table-column |
| | | prop="tableData.MonItemId" |
| | | label="监测值"> |
| | | </el-table-column> |
| | | <el-table-column |
| | | prop="tableData.LabMonTime" |
| | | label="标准值"> |
| | | </el-table-column> |
| | | </el-table-column> |
| | | <el-table-column |
| | | label="烟尘"> |
| | | <el-table-column |
| | | prop="tableData.MonItemId" |
| | | label="监测值"> |
| | | </el-table-column> |
| | | <el-table-column |
| | | prop="tableData.LabMonTime" |
| | | label="标准值"> |
| | | </el-table-column> |
| | | </el-table-column> |
| | | <el-table-column |
| | | label="黑度"> |
| | | <el-table-column |
| | | prop="tableData.MonItemId" |
| | | label="监测值"> |
| | | </el-table-column> |
| | | <el-table-column |
| | | prop="tableData.LabMonTime" |
| | | label="标准值"> |
| | | </el-table-column> |
| | | </el-table-column> |
| | | </el-table> |
| | | </template> |
| | | |
| | | <script> |
| | | export default { |
| | | name: 'EChartsTable', |
| | | data () { |
| | | return { |
| | | // tableLabel: [ |
| | | // { |
| | | // label: '检测时间', |
| | | // prop: 'StoragePlaceId' |
| | | // }, |
| | | // { |
| | | // label: '二氧化硫', |
| | | // prop: [ |
| | | // { |
| | | // label: '监测值', |
| | | // NOMonitor: '' |
| | | // }, |
| | | // { |
| | | // label: '标准值', |
| | | // NOtandard: '' |
| | | // }] |
| | | // }, |
| | | // { |
| | | // label: '氮氧化物', |
| | | // prop: [ |
| | | // { |
| | | // label: '监测值', |
| | | // NOMonitor: '' |
| | | // }, |
| | | // { |
| | | // label: '标准值', |
| | | // NOtandard: '' |
| | | // }] |
| | | // }, |
| | | // { |
| | | // label: '烟尘', |
| | | // prop: [ |
| | | // { |
| | | // label: '监测值', |
| | | // NOMonitor: '' |
| | | // }, |
| | | // { |
| | | // label: '标准值', |
| | | // NOtandard: '' |
| | | // }] |
| | | // }, |
| | | // { |
| | | // label: '黑度', |
| | | // prop: [ |
| | | // { |
| | | // label: '监测值', |
| | | // NOMonitor: '' |
| | | // }, |
| | | // { |
| | | // label: '标准值', |
| | | // NOtandard: '' |
| | | // }] |
| | | // } |
| | | // ], |
| | | tableData: [] |
| | | } |
| | | }, |
| | | created () { |
| | | this.$nextTick(() => { |
| | | this.$attrs.ManualData.forEach(item => { |
| | | this.tableData = [...item] |
| | | }) |
| | | this.tableData.LabMonTime = 100 |
| | | console.log(this.tableData) |
| | | }) |
| | | } |
| | | } |
| | | |
| | | </script> |
| | | |
| | | <style scoped> |
| | | |
| | | </style> |
| | |
| | | <li @click='tabTaggle("ECharts")'>实时数据</li> |
| | | <li @click='tabTaggle("EChartsHour")'>小时数据</li> |
| | | <li @click='tabTaggle("EChartsDate")'>日数据</li> |
| | | <li @click='tabTaggle("EChartsDate")'>人工数据</li> |
| | | <li @click='tabTaggle("EChartsTable")'>人工数据</li> |
| | | </ul> |
| | | <div class="legend" > |
| | | <span >正常</span> |
| | |
| | | import ECharts from './Echarts' |
| | | // import EChartsDate from './EChartsDate' |
| | | import EChartsHourWasteWater from './EChartsHourWasteWater' |
| | | import EChartsTable from '@components/BaseNav/PublicBounced/GasComponents/EChartsTable' |
| | | |
| | | export default { |
| | | name: 'PublicChart', |
| | |
| | | EChartsDate, |
| | | ECharts, |
| | | // EChartsDate |
| | | EChartsHourWasteWater |
| | | EChartsHourWasteWater, |
| | | EChartsTable |
| | | }, |
| | | data () { |
| | | return { |
| | |
| | | methods: { |
| | | processingData () { |
| | | for (var i = 0; i < this.displayContentTab.length; i++) { |
| | | console.log(this.displayContentTab[i]) |
| | | // console.log(this.displayContentTab[i]) |
| | | this.tabData = this.displayContentTab[i] |
| | | } |
| | | } |
| | |
| | | <template> |
| | | <div class="public-bounced map-background" v-drag v-if="flag"> |
| | | <div class="public-bounced map-background" v-drag v-show="flag"> |
| | | <div class="public-bounced-title panel-title" ref="publicBounced"> |
| | | <span>{{ displayContentTitle }}</span> |
| | | <i class="el-icon-circle-close" @click="closePopup"></i> |
| | |
| | | :value="value" |
| | | :getQueryOnlineMonData="getQueryOnlineMonData" |
| | | :getWasteWaterMonitoringDetails='getWasteWaterMonitoringDetails' |
| | | :ManualData="ManualData" |
| | | ref="PublicChart" |
| | | > |
| | | </public-chart> |
| | |
| | | export default { |
| | | name: 'PublicBounced', |
| | | components: { |
| | | // Echarts, |
| | | PublicTabs, |
| | | PublicTable, |
| | | PublicChart, |
| | |
| | | value: '', |
| | | getWasteGasDetails: [], |
| | | getWasteWaterMonitoringDetails: [], |
| | | getQueryOnlineMonData: [] |
| | | getQueryOnlineMonData: [], |
| | | ManualData: [] |
| | | // getGasQueryOnlineMonData: [] |
| | | } |
| | | }, |
| | |
| | | this.flag = true |
| | | this.value = value |
| | | }, |
| | | setGasData (data, dataDetails, GasHourData, value) { |
| | | setGasData (data, dataDetails, GasHourData, ManualData, value) { |
| | | this.setWasteGasdata = data |
| | | this.getWasteGasDetails = dataDetails |
| | | this.getQueryOnlineMonData = GasHourData |
| | | this.ManualData = ManualData |
| | | console.log(this.getQueryOnlineMonData) |
| | | this.displayContentTitle = data.Name |
| | | this.flag = true |
| | |
| | | |
| | | // 绑定弹框实例 |
| | | const PublicBounced = window.Vue.extend(publicBounced) |
| | | const instance = new PublicBounced() |
| | | instance.$mount() |
| | | const instance = new PublicBounced().$mount() |
| | | document.body.appendChild(instance.$el) |
| | | // document.body.removeChild(instance.$el) |
| | | // 通过方法 向绑定弹框传递数据 |
| | | instance.setData(resultBasic.Result.DataInfo, resultDetailed.Result.DataInfo, 'gufei') |
| | | /* flyTo()弹出框平移事件 */ |
| | |
| | | endTime: '2020-04-07 15:13:20', |
| | | dataType: '1' |
| | | } |
| | | const GasManualData = { |
| | | companyId: '3900100145', |
| | | labMonPointId: '219', |
| | | beginTime: '2020-04-06 15:13:20', |
| | | endTime: ' 2020-04-07 15:13:20' |
| | | } |
| | | const ManualData = await mapApi.getWasteGasManualData(GasManualData) |
| | | console.log(ManualData) |
| | | const Mondata = await mapApi.getWasteGasMonData(GasOnlinedata) |
| | | console.log(Mondata) |
| | | // console.log(Mondata) |
| | | const result = await mapApi.getWasteGasDetails(dataValue) |
| | | // console.log(result.Result.DataInfo) |
| | | const PublicBounced = window.Vue.extend(publicBounced) |
| | | const instance = new PublicBounced() |
| | | instance.setGasData(e.layer.options.test, result.Result.DataInfo, Mondata.Result.DataInfo, 'feiqi') |
| | | instance.setGasData(e.layer.options.test, result.Result.DataInfo, Mondata.Result.DataInfo, ManualData.Result.DataInfo, 'feiqi') |
| | | // console.log(e.layer.options.test) |
| | | instance.$mount() |
| | | document.body.appendChild(instance.$el) |
| | |
| | | |
| | | var checked = config.checked |
| | | checked && this.load(config) |
| | | checked && this.toggleZoomByConfnig(config) |
| | | } |
| | | } |
| | | } |
| | | |
| | | /** |
| | | * 控制显示的级别 |
| | | * @param layerConfig |
| | | */ |
| | | initEvent (layerConfig) { |
| | | this.map.on('zoomend ', (e) => this.toggleZoomByLayer(layerConfig)) |
| | | } |
| | | |
| | | toggleZoomByLayer (layerConfig) { |
| | | var config = layerConfig |
| | | if (Array.isArray(layerConfig)) { |
| | | for (var i = 0, l = layerConfig.length; i < l; i++) { |
| | | config = layerConfig[i] |
| | | var layers = config.layers |
| | | var childLayer = config.childLayer |
| | | layers && this.toggleZoomByLayer(layers) |
| | | childLayer && this.toggleZoomByLayer(childLayer) |
| | | this.toggleZoomByConfnig(config) |
| | | } |
| | | } else { |
| | | this.toggleZoomByConfnig(layerConfig) |
| | | } |
| | | } |
| | | |
| | | toggleZoomByConfnig (config) { |
| | | const zoom = this.map.getZoom() |
| | | var checked = config.checked |
| | | if (checked && config.minZoom) { |
| | | if (zoom > config.minZoom) { |
| | | this.show(config) |
| | | } else { |
| | | this.hide(config) |
| | | } |
| | | } |
| | | } |
| | |
| | | this.setZIndex(layer.getLayers()) |
| | | } else { |
| | | if (layer.feature && (layer.feature.geometry.type === 'LineString' || layer.feature.geometry.type === 'MultiLineString')) { |
| | | layer.bringToBack() |
| | | layer.bringToBack && layer.bringToBack() |
| | | } else { |
| | | layer.bringToFront() |
| | | layer.bringToFront && layer.bringToFront() |
| | | } |
| | | } |
| | | } |
| | |
| | | </div> |
| | | </li> |
| | | </ul> --> |
| | | <ul v-for="item in topicList" :key="item.name" :class="item.checked?'module-wrap map-btn-active':'module-wrap map-btn-unactive'" @click="()=>{selected(item)}" v-show="item.isShow" > |
| | | <ul v-for="item in topicList" :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"> |
| | | <li> |
| | | <img src="../../assets/images/map-pages/icon/sl.png" class="icon"> |
| | |
| | | import SewersSearch from '@components/panel/topicSearch/SewersSearch' |
| | | import SoilGroundWaterSearch from '@components/panel/topicSearch/SoilGroundWaterSearch.vue' |
| | | import bus from '@/eventBus' |
| | | |
| | | export default { |
| | | name: 'MonitorPanel', |
| | | components: { GasWasteSearch, WaterWasteSearch, SolidWasteSearch, EnvRiskSearch, DischargeSearch }, |
| | | components: { |
| | | GasWasteSearch, |
| | | WaterWasteSearch, |
| | | SolidWasteSearch, |
| | | EnvRiskSearch, |
| | | DischargeSearch |
| | | }, |
| | | data () { |
| | | return { |
| | | isShow: true, |
| | |
| | | transform-origin: top right; |
| | | animation: bounce-in .2s; |
| | | } |
| | | |
| | | .searchPanelChange-leave-active { |
| | | transform-origin: top right; |
| | | animation: bounce-in .2s reverse; |
| | | } |
| | | |
| | | .search-container { |
| | | position: relative; |
| | | width: 1.79167rem; |
| | | //width: 1.79167rem; |
| | | width: 4.7rem; |
| | | /* height: 5.6475rem;*/ |
| | | overflow: hidden; |
| | | } |
| | | |
| | | .module-wrap{ |
| | | width: 0.15rem; |
| | | height: 0.15rem; |
| | |
| | | cursor: pointer; |
| | | position: relative; |
| | | line-height: 0.15rem; |
| | | |
| | | li{ |
| | | margin: 0.00521rem 0; |
| | | text-align: center; |
| | | |
| | | img{ |
| | | width: 0.1rem; |
| | | height: 0.1rem; |
| | |
| | | } |
| | | } |
| | | } |
| | | |
| | | .panel-right { |
| | | display: inline-flex; |
| | | //width: 322px; |
| | |
| | | border-radius: 50%; |
| | | z-index: 999; |
| | | } |
| | | |
| | | .el-button--default.special-button:hover{ |
| | | background:@background-color; |
| | | border:1px solid @color; |
| | | box-shadow: 0 0 2px @color; |
| | | color:@color; |
| | | } |
| | | |
| | | .el-form-item__label { |
| | | color: rgb(52, 224, 255); |
| | | color: @color; |
| | |
| | | text-overflow: ellipsis; |
| | | white-space: nowrap; |
| | | } |
| | | |
| | | .panel-fold-btn{ |
| | | overflow: hidden; |
| | | position: absolute; |
| | |
| | | /*right: 0px;*/ |
| | | background-color: rgba(5,24,66,.8); |
| | | border-radius: 10px 0 0 10px; |
| | | |
| | | .btn-stretch { |
| | | //width: 20px; |
| | | //height: 40px; |
| | |
| | | transition: transform 1s linear; |
| | | /*transition: 3s linear;*/ |
| | | } |
| | | |
| | | .btn-shrink { |
| | | width: 20px; |
| | | height: 40px; |
| | |
| | | font-size: 12px; |
| | | background-color: #0B3B6D; |
| | | } |
| | | |
| | | .tab-item:hover{ |
| | | cursor: pointer; |
| | | } |
| | | |
| | | .panel-tab { |
| | | position: relative; |
| | | z-index: 500; |
| | | margin-right: .025rem; |
| | | |
| | | .container{ |
| | | max-height: 3.125rem; |
| | | overflow: hidden; |
| | |
| | | //background: url('../../assets/images/map-pages/icon/bgc.png') no-repeat; |
| | | //background-size: 100% 98%; |
| | | } |
| | | |
| | | .a{ |
| | | transform: translateX(328px); |
| | | transition: transform 3s linear; |
| | | } |
| | | |
| | | .panel_searchTotal { |
| | | font-size: 12px; |
| | | float: right; |
| | |
| | | display: grid; |
| | | font-size: 18px; |
| | | } |
| | | |
| | | /*input 点击搜索样式*/ |
| | | |
| | | .rightButtonSearch{ |
| | | display: flex; |
| | | justify-content: space-between; |
| | | align-items: center; |
| | | .el-input{margin-right: 10px} |
| | | |
| | | .el-input { |
| | | margin-right: 10px |
| | | } |
| | | |
| | | .el-icon-search{ |
| | | width: 40px; |
| | | border:1px solid @color; |
| | |
| | | padding:0; |
| | | } |
| | | } |
| | | |
| | | /*单选按钮样式*/ |
| | | .levelOfRisk{padding-left:20px} |
| | | .levelOfRisk .el-radio{padding-bottom:6px} |
| | | |
| | | .levelOfRisk { |
| | | padding-left: 20px |
| | | } |
| | | |
| | | .levelOfRisk .el-radio { |
| | | padding-bottom: 6px |
| | | } |
| | | |
| | | .levelOfRisk-type{ |
| | | display: inline-block; |
| | | position: relative; |
| | | padding-right: 5px; |
| | | color:@color-shadow; |
| | | |
| | | i{ |
| | | display: block; |
| | | width: 15px; |
| | |
| | | margin-top: -5px; |
| | | } |
| | | } |
| | | .el-radio.is-checked .levelOfRisk-type{color:#409EFF} |
| | | |
| | | .el-radio.is-checked .levelOfRisk-type { |
| | | color: #409EFF |
| | | } |
| | | |
| | | .environmental-risk-list{ |
| | | position: relative; |
| | |
| | | padding-bottom:5px; |
| | | color: @color-shadow; |
| | | border-bottom:1px solid @background-color-split; |
| | | |
| | | .state{ |
| | | width: 30px; |
| | | height: 30px; |
| | |
| | | background: #0B3B6D; |
| | | } |
| | | } |
| | | |
| | | .environmental-risk-list.hover, |
| | | .environmental-risk-list:hover{ |
| | | color:@color-over; |
| | |
| | | background-color: #061e51 !important; |
| | | } |
| | | } |
| | | |
| | | .unfold { |
| | | transform: translateX(332px); |
| | | transition: transform 0.5s linear; |
| | | } |
| | | |
| | | .shrink { |
| | | transform: translateX(0px); |
| | | transition: transform 0.5s linear; |
| | | } |
| | | |
| | | /******************以下公共部分**********/ |
| | | |
| | | .sewers-search{ |
| | | position: relative; |
| | | overflow: hidden; |
| | | .panel-title{} |
| | | |
| | | .panel-title { |
| | | } |
| | | |
| | | .search-panel{ |
| | | background-color: transparent; |
| | | padding: 10px; |
| | |
| | | color: @color-gray; |
| | | font-size: 0.01rem; |
| | | padding:0 15px; |
| | | |
| | | .el-select .el-input.is-focus .el-input__inner{ |
| | | border-color: @color; |
| | | } |
| | | } |
| | | .el-input__inner{background: none;color:#fff;font-size: 14px;border-radius: 0; border-color: @color;background: rgba(0,16,30,.5);} |
| | | |
| | | .el-input__inner { |
| | | background: none; |
| | | color: #fff; |
| | | font-size: 14px; |
| | | border-radius: 0; |
| | | border-color: @color; |
| | | background: rgba(0, 16, 30, .5); |
| | | } |
| | | } |
| | | |
| | | .search-btn{ |
| | | |
| | | } |
| | | |
| | | //location-btn{ |
| | | // |
| | | //} |
| | |
| | | <template> |
| | | <div class="sewers-search" v-if="gdVisible"> |
| | | <div class="panel-title">{{title}}</div> |
| | | <el-tabs v-model="activeName" @tab-click="handleClick"> |
| | | <el-tab-pane label="查询" name="first"> |
| | | <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-select style="width: 100%" v-model="form.pipelineType" @change="handlePipelineType" :popper-class="'select-down'"> |
| | | <el-select style="width: 100%" v-model="form.pipelineType" @change="handlePipelineType" |
| | | :popper-class="'select-down'"> |
| | | <el-option |
| | | v-for="item in pipelineTypeOptions" |
| | | :key="item.value" |
| | |
| | | </el-select> |
| | | </el-form-item> |
| | | <el-form-item :label="form.pipelineType+':'" size="mini"> |
| | | <el-select style="width: 100%" v-model="form.dataType" @change="handleDataType" :popper-class="'select-down'"> |
| | | <el-select style="width: 100%" v-model="form.dataType" @change="handleDataType" |
| | | :popper-class="'select-down'"> |
| | | <el-option |
| | | v-for="item in dataTypeOptions" |
| | | :key="item.value" |
| | |
| | | </el-option> |
| | | </el-select> |
| | | </el-form-item> |
| | | <!-- <el-form-item >--> |
| | | <div class="rightButtonSearch"> |
| | | <el-input v-model="form.keyword" size="mini" placeholder="在此输入关键字搜索"> |
| | | <!-- <el-button slot="append" icon="el-icon-search" size="mini"></el-button>--> |
| | | <!-- <i slot="prefix" class="el-input__icon el-icon-search"></i>--> |
| | | <!-- <i slot="suffix" class="search-btn el-input__icon el-icon-search" @click="handleSearch"></i> --> |
| | | </el-input> |
| | | <el-button class="el-icon-search" @click="handleSearch"></el-button> |
| | | </div> |
| | | <!-- </el-form-item>--> |
| | | <!-- <el-form-item>--> |
| | | <!-- <input type="button" class="btn-ok" @click="handleSearch" value="查询">--> |
| | | <!-- <input type="button" class="btn-reset" @click="handleSearch" value="重置">--> |
| | | <!-- </el-form-item>--> |
| | | </el-form> |
| | | </div> |
| | | <el-scrollbar style="height:380.44px;" > |
| | | <div class="environmental-risk-list" v-for="(item,index) in list" :key="index" > |
| | | <!-- <i class="state"></i> --> |
| | | <div @click="handleLocation(item)"> |
| | | <h3 class="B-TMD-table-list-title-y" :class="['B-TMD-table-list-title-y-nam', { 'warning': item.vehicleStatus==='910003' }, { 'offline': item.vehicleStatus==='910001' }]" >{{ item.properties.pipename }}</h3> |
| | | <h3 class="B-TMD-table-list-title-y" |
| | | :class="['B-TMD-table-list-title-y-nam', { 'warning': item.vehicleStatus==='910003' }, { 'offline': item.vehicleStatus==='910001' }]"> |
| | | {{ item.properties.pipename }}</h3> |
| | | <p v-for="itm in labelList" :key="itm.label"> |
| | | <span>{{ itm.label }}:</span> |
| | | <span :title="item.properties[itm.key] ">{{ item.properties[itm.key] }}</span> |
| | |
| | | > |
| | | </el-pagination> |
| | | </el-card> |
| | | </el-tab-pane> |
| | | <el-tab-pane label="分析" name="second"> |
| | | <SewersAnalysis></SewersAnalysis> |
| | | </el-tab-pane> |
| | | <el-tab-pane label="历史" name="third">历史</el-tab-pane> |
| | | </el-tabs> |
| | | </div> |
| | | <!-- <div class="monitor2" v-if="hbVisible">--> |
| | | <!-- <env-protect-search></env-protect-search>--> |
| | | <!-- </div>--> |
| | | <!-- <div class="monitor2" v-if="pkVisible">--> |
| | | <!-- <discharge-search></discharge-search>--> |
| | | <!-- </div>--> |
| | | </template> |
| | | |
| | | <script> |
| | |
| | | |
| | | import WfsHelper from '@components/helpers/WfsHelper' |
| | | import AjaxUtils from '@utils/AjaxUtils' |
| | | |
| | | // 引入分析组件内容 |
| | | import SewersAnalysis from '@components/panel/topicSearch/SewersSelect/SewersAnalysis' |
| | | |
| | | export default { |
| | | name: 'SewersSearch', |
| | | components: { |
| | | SewersAnalysis |
| | | }, |
| | | data () { |
| | | return { |
| | | activeName: 'first', |
| | | gdVisible: true, |
| | | list: [], |
| | | labelList: PipelineTypeOptions[0].labelList, |
| | |
| | | }, |
| | | props: ['title'], |
| | | methods: { |
| | | handleClick (tab, event) { |
| | | console.log(tab, event) |
| | | }, |
| | | handlePipelineType (val) { |
| | | this.pipelineTypeOptions.forEach((itm) => { |
| | | if (val === itm.value) { |
New file |
| | |
| | | <template> |
| | | <div class="connectivity"> |
| | | <el-row> |
| | | <el-button type="primary" size="mini">起始管段</el-button> |
| | | <el-button type="primary" size="mini">结束管段</el-button> |
| | | <el-button type="primary" size="mini">连通性分析</el-button> |
| | | <el-button type="primary" size="mini">清除</el-button> |
| | | </el-row> |
| | | <el-card class="box-card"> |
| | | <span class="clearfix">起始管段</span> |
| | | <el-table |
| | | :data="tableData" |
| | | style="width: 100%"> |
| | | <el-table-column |
| | | prop="date" |
| | | label="管线名称" |
| | | width="180"> |
| | | </el-table-column> |
| | | <el-table-column |
| | | prop="name" |
| | | label="管线类型" |
| | | width="180"> |
| | | </el-table-column> |
| | | <el-table-column |
| | | prop="address" |
| | | label="操作"> |
| | | </el-table-column> |
| | | </el-table> |
| | | <span class="clearfix">结束管段</span> |
| | | <el-table |
| | | :data="tableData" |
| | | style="width: 100%"> |
| | | <el-table-column |
| | | prop="date" |
| | | label="管线名称" |
| | | width="180"> |
| | | </el-table-column> |
| | | <el-table-column |
| | | prop="name" |
| | | label="管线类型" |
| | | width="180"> |
| | | </el-table-column> |
| | | <el-table-column |
| | | prop="address" |
| | | label="操作"> |
| | | </el-table-column> |
| | | </el-table> |
| | | <span class="clearfix">分析结果</span> |
| | | <el-table |
| | | :data="tableData" |
| | | style="width: 100%"> |
| | | <el-table-column |
| | | prop="date" |
| | | label="管线名称" |
| | | width="180"> |
| | | </el-table-column> |
| | | <el-table-column |
| | | prop="name" |
| | | label="管线类型" |
| | | width="180"> |
| | | </el-table-column> |
| | | <el-table-column |
| | | prop="address" |
| | | label="操作"> |
| | | </el-table-column> |
| | | </el-table> |
| | | </el-card> |
| | | </div> |
| | | </template> |
| | | |
| | | <script> |
| | | export default { |
| | | name: 'Connectivity', |
| | | data () { |
| | | return { |
| | | tableData: [] |
| | | } |
| | | } |
| | | } |
| | | </script> |
| | | |
| | | <style lang="less" scoped> |
| | | </style> |
New file |
| | |
| | | <template> |
| | | <div class="connectivity"> |
| | | <el-row> |
| | | <el-button type="primary" size="mini">绘制线段</el-button> |
| | | <el-button type="primary" size="mini">截断面分析</el-button> |
| | | <el-button type="primary" size="mini">清除</el-button> |
| | | </el-row> |
| | | <el-card class="box-card"> |
| | | <span class="clearfix">管线查询结果</span> |
| | | <el-table |
| | | :data="tableData" |
| | | style="width: 100%"> |
| | | <el-table-column |
| | | prop="date" |
| | | label="管线名称" |
| | | width="180"> |
| | | </el-table-column> |
| | | <el-table-column |
| | | prop="name" |
| | | label="管线类型" |
| | | width="180"> |
| | | </el-table-column> |
| | | <el-table-column |
| | | prop="address" |
| | | label="操作"> |
| | | </el-table-column> |
| | | </el-table> |
| | | <span class="clearfix">断面图</span> |
| | | <div class="cross-section"> |
| | | <span>暂无数据</span> |
| | | </div> |
| | | </el-card> |
| | | </div> |
| | | </template> |
| | | |
| | | <script> |
| | | export default { |
| | | name: 'CrossSectional', |
| | | data () { |
| | | return { |
| | | tableData: [] |
| | | } |
| | | } |
| | | } |
| | | </script> |
| | | |
| | | <style lang="less" scoped> |
| | | .cross-section { |
| | | background: rgba(0, 16, 30, 0.5); |
| | | border: 0.00521rem solid @color; |
| | | box-shadow: 0 0 0.03rem @color; |
| | | color: #ffffff; |
| | | width: 100%; |
| | | height: 50px; |
| | | border-radius: 3px; |
| | | text-align: center; |
| | | line-height: 50px; |
| | | } |
| | | </style> |
New file |
| | |
| | | <template> |
| | | <div class="connectivity"> |
| | | <el-row> |
| | | <el-button type="primary" size="mini">选择管段</el-button> |
| | | </el-row> |
| | | <el-card class="box-card"> |
| | | <el-table |
| | | :data="tableData" |
| | | style="width: 100%"> |
| | | <el-table-column |
| | | prop="date" |
| | | label="管线名称" |
| | | width="180"> |
| | | </el-table-column> |
| | | <el-table-column |
| | | prop="name" |
| | | label="管线类型" |
| | | width="180"> |
| | | </el-table-column> |
| | | <el-table-column |
| | | prop="address" |
| | | label="操作"> |
| | | </el-table-column> |
| | | </el-table> |
| | | <span class="clearfix">分析结果</span> |
| | | <el-table |
| | | :data="tableData" |
| | | style="width: 100%"> |
| | | <el-table-column |
| | | prop="date" |
| | | label="管线名称" |
| | | width="180"> |
| | | </el-table-column> |
| | | <el-table-column |
| | | prop="name" |
| | | label="管线类型" |
| | | width="180"> |
| | | </el-table-column> |
| | | <el-table-column |
| | | prop="address" |
| | | label="操作"> |
| | | </el-table-column> |
| | | </el-table> |
| | | </el-card> |
| | | </div> |
| | | </template> |
| | | |
| | | <script> |
| | | export default { |
| | | name: 'Flow', |
| | | data () { |
| | | return { |
| | | tableData: [] |
| | | } |
| | | } |
| | | } |
| | | </script> |
| | | |
| | | <style lang="less" scoped> |
| | | |
| | | </style> |
New file |
| | |
| | | <template> |
| | | <div class="connectivity"> |
| | | <el-row> |
| | | <span class="tube-span">爆管(相关开关)</span> |
| | | <el-button type="primary" size="mini">选择管线</el-button> |
| | | <el-button type="primary" size="mini">清除</el-button> |
| | | </el-row> |
| | | <el-card class="box-card"> |
| | | <span class="clearfix">发生爆裂的管段</span> |
| | | <el-table |
| | | :data="tableData" |
| | | style="width: 100%"> |
| | | <el-table-column |
| | | prop="date" |
| | | label="管线名称" |
| | | width="180"> |
| | | </el-table-column> |
| | | <el-table-column |
| | | prop="name" |
| | | label="管线类型" |
| | | width="180"> |
| | | </el-table-column> |
| | | <el-table-column |
| | | prop="address" |
| | | label="操作"> |
| | | </el-table-column> |
| | | </el-table> |
| | | <span class="clearfix">需要关闭的阀门</span> |
| | | <el-table |
| | | :data="tableData" |
| | | style="width: 100%"> |
| | | <el-table-column |
| | | prop="date" |
| | | label="管线名称" |
| | | width="180"> |
| | | </el-table-column> |
| | | <el-table-column |
| | | prop="name" |
| | | label="管线类型" |
| | | width="180"> |
| | | </el-table-column> |
| | | <el-table-column |
| | | prop="address" |
| | | label="操作"> |
| | | </el-table-column> |
| | | </el-table> |
| | | </el-card> |
| | | </div> |
| | | </template> |
| | | |
| | | <script> |
| | | export default { |
| | | name: 'Tube', |
| | | data () { |
| | | return { |
| | | tableData: [] |
| | | } |
| | | } |
| | | } |
| | | </script> |
| | | |
| | | <style lang="less" scoped> |
| | | .tube-span { |
| | | color: #ffffff !important; |
| | | font-size: 14px; |
| | | margin: 0 15px; |
| | | } |
| | | </style> |
New file |
| | |
| | | <template> |
| | | <div class="sewers-analysis-tab"> |
| | | <el-tabs v-model="activeName" type="border-card" @tab-click="handleClick"> |
| | | <el-tab-pane label="连通性" name="first"> |
| | | <Connectivity></Connectivity> |
| | | </el-tab-pane> |
| | | <el-tab-pane label="爆管" name="second"> |
| | | <Tube></Tube> |
| | | </el-tab-pane> |
| | | <el-tab-pane label="流向" name="third"> |
| | | <Flow></Flow> |
| | | </el-tab-pane> |
| | | <el-tab-pane label="横断面" name="four"> |
| | | <CrossSectional></CrossSectional> |
| | | </el-tab-pane> |
| | | </el-tabs> |
| | | </div> |
| | | </template> |
| | | |
| | | <script> |
| | | import Connectivity from '@components/panel/topicSearch/SewersSelect/AnalysisChoose/Connectivity' |
| | | import Tube from '@components/panel/topicSearch/SewersSelect/AnalysisChoose/Tube' |
| | | import Flow from '@components/panel/topicSearch/SewersSelect/AnalysisChoose/Flow' |
| | | import CrossSectional from '@components/panel/topicSearch/SewersSelect/AnalysisChoose/CrossSectional' |
| | | |
| | | export default { |
| | | name: 'SewersFirstTab', |
| | | components: { |
| | | Connectivity, |
| | | Tube, |
| | | Flow, |
| | | CrossSectional |
| | | }, |
| | | data () { |
| | | return { |
| | | activeName: 'first' |
| | | } |
| | | }, |
| | | methods: { |
| | | handleClick (tab, event) { |
| | | console.log(tab, event) |
| | | } |
| | | } |
| | | } |
| | | </script> |
| | | |
| | | <style lang="less" scoped> |
| | | </style> |
| | |
| | | name: '公司', |
| | | sname: '公司', // 表名 |
| | | checked: true, // 默认选中状态 |
| | | url: WFS_URL + '?TYPENAME=公司', |
| | | minZoom: 10 |
| | | url: WFS_URL + '?TYPENAME=公司' |
| | | }, |
| | | { |
| | | code: 'sewersAreaMt', |
| | | name: '码头', |
| | | sname: '码头', |
| | | checked: true, // 默认选中状态 |
| | | wfs: WFS_URL + '?TYPENAME=码头', |
| | | minZoom: 10 |
| | | wfs: WFS_URL + '?TYPENAME=码头' |
| | | }, |
| | | { |
| | | code: 'sewersAreaZz', |
| | | name: '装置区', |
| | | sname: '装置区', |
| | | checked: true, // 默认选中状态 |
| | | wfs: WFS_URL + '?TYPENAME=装置区', |
| | | minZoom: 10 |
| | | wfs: WFS_URL + '?TYPENAME=装置区' |
| | | } |
| | | ] |
| | | } |
| | |
| | | name: '长江流域', |
| | | sname: '长江流域', // 表名 |
| | | checked: true, // 默认选中状态 |
| | | url: WFS_URL + '?TYPENAME=公司', |
| | | minZoom: 10 |
| | | url: WFS_URL + '?TYPENAME=公司' |
| | | }, |
| | | { |
| | | code: 'basinHh', |
| | | name: '黄河流域', |
| | | sname: '黄河流域', |
| | | checked: true, // 默认选中状态 |
| | | wfs: WFS_URL + '?TYPENAME=码头', |
| | | minZoom: 10 |
| | | wfs: WFS_URL + '?TYPENAME=码头' |
| | | }, |
| | | { |
| | | code: 'basinBh', |
| | | name: '渤海流域', |
| | | sname: '渤海流域', |
| | | checked: true, // 默认选中状态 |
| | | wfs: WFS_URL + '?TYPENAME=装置区', |
| | | minZoom: 10 |
| | | wfs: WFS_URL + '?TYPENAME=装置区' |
| | | }, |
| | | { |
| | | code: 'basinQt', |
| | | name: '其他', |
| | | sname: '其他', |
| | | checked: true, // 默认选中状态 |
| | | wfs: WFS_URL + '?TYPENAME=装置区', |
| | | minZoom: 10 |
| | | wfs: WFS_URL + '?TYPENAME=装置区' |
| | | } |
| | | ] |
| | | } |
| | |
| | | * 区域 |
| | | */ |
| | | const APP_GIS_HOST_2 = 'http://xearth.cn:8088' |
| | | const WFS_URL = APP_GIS_HOST_2 + '/server/ogcserver/PipeLine/wfs' |
| | | const WFS_URL = APP_GIS_HOST_2 + '/server/ogcserver/PipeLine2/wfs' |
| | | export const LayerFsss = { |
| | | code: 'sewersFsss', |
| | | name: '附属设施', |
| | | checked: false, // 默认选中状态 |
| | | layers: [ |
| | | { |
| | | code: 'pipeSection', |
| | | name: '管段', |
| | | sname: '管段', |
| | | checked: false, |
| | | minZoom: 15, |
| | | wfs: WFS_URL + '?TYPENAME=管段' |
| | | }, |
| | | { |
| | | code: 'fourlink', |
| | | name: '四通', |
| | | sname: '四通', |
| | | checked: true, |
| | | minZoom: 10, |
| | | minZoom: 15, |
| | | wfs: WFS_URL + '?TYPENAME=四通', |
| | | icon: 'sewers/四通.png' |
| | | }, |
| | |
| | | name: '三通', |
| | | sname: '三通', |
| | | checked: false, |
| | | minZoom: 10, |
| | | minZoom: 15, |
| | | wfs: WFS_URL + '?TYPENAME=三通', |
| | | icon: 'sewers/三通.png' |
| | | }, |
| | |
| | | * 区域 |
| | | */ |
| | | const APP_GIS_HOST_2 = 'http://xearth.cn:8088' |
| | | const WFS_URL = APP_GIS_HOST_2 + '/server/ogcserver/PipeLine/wfs' |
| | | const WFS_URL = APP_GIS_HOST_2 + '/server/ogcserver/PipeLine2/wfs' |
| | | export const LayerHbss = { |
| | | code: 'sewersHbss', |
| | | name: '环保设施', |
| | |
| | | import { LayerFsss } from './LayerFsss' |
| | | |
| | | const APP_GIS_HOST_2 = 'http://xearth.cn:8088' |
| | | const WFS_URL = APP_GIS_HOST_2 + '/server/ogcserver/PipeLine/wfs' |
| | | const WFS_URL = APP_GIS_HOST_2 + '/server/ogcserver/PipeLine2/wfs' |
| | | |
| | | export const LayerPipeLines = { |
| | | code: 'sewersPipeLines', |
| | |
| | | /** |
| | | * todo 准备删除此文件!!!! |
| | | * @type {string} |
| | | */ |
| | | |
| | | const APP_GIS_HOST_2 = 'http://xearth.cn:8088' |
| | | export const LayerSewersPoint = [ |
| | | { |
| | |
| | | map: this.map |
| | | }) |
| | | layerFactory.init(this.$store.state.map.serviceLayers.LayerSewersLine) |
| | | layerFactory.init(this.$store.state.map.serviceLayers.layerSewersPoint) |
| | | layerFactory.initEvent(this.$store.state.map.serviceLayers.LayerSewersLine) |
| | | window.layerFactory = layerFactory |
| | | |
| | | this.basemapHelper = Sgis.initBasemapsHelper(this.map) // 初始化基础底图助手 |