Merge remote-tracking branch 'origin/develop' into develop
# Conflicts:
# src/assets/css/map/_map-variable.less
4个文件已删除
7个文件已添加
35个文件已修改
2 文件已重命名
| | |
| | | import BasemapHelper from '@components/helpers/BasemapHelper' |
| | | import VectorLayerHelper from '@components/helpers/VectorLayerHelper' |
| | | // 初始化显示 |
| | | import ServiceLayerHelper from '@components/helpers/ServiceLayerHelper' |
| | | |
| | | import '@components/plugin/PathDrag' |
| | | // import '@components/plugin/PathDrag' |
| | | import MapConfig from '@/conf/MapConfig' |
| | | import '@components/plugin/PathDashFlow' // 流动线图 |
| | | import DownLoad from '@components/plugin/DownLoad' |
| | |
| | | window.map = map |
| | | window.L = L |
| | | |
| | | initTileLayersHelper(map) |
| | | |
| | | return map |
| | | } |
| | | |
| | |
| | | console.log(map) |
| | | return new BasemapHelper({ map }) |
| | | } |
| | | /** |
| | | * 业务底图初始化 |
| | | * @param map |
| | | * @param L |
| | | */ |
| | | const initTileLayersHelper = (map) => { |
| | | var serviceLayerHelper = new ServiceLayerHelper({ map }) |
| | | return serviceLayerHelper |
| | | } |
| | | |
| | | /** |
| | | * 矢量地图初始化 |
| | | * @param map |
| | |
| | | export default { |
| | | initMap, |
| | | initBasemapsHelper, |
| | | initTileLayersHelper, |
| | | initVectorLayersHelper |
| | | } |
| | |
| | | getSolidWasteSurveyDetail (data) { |
| | | return axios.get(mapUrl.getSolidWasteSurveyDetail, data) |
| | | }, |
| | | // 废气点加载 |
| | | getWasteGas (data) { |
| | | return axios.get(mapUrl.getWasteGas, data) |
| | | }, |
| | | // 废气明细表 |
| | | getWasteGasDetails (data) { |
| | | return axios.get(mapUrl.getWasteGasDetails, data) |
| | | }, |
| | | getWasteWater (data) { |
| | | return axios.get(mapUrl.getWasteWater, data) |
| | | }, |
| | |
| | | export const getSolidWasteSurveyDetail = $HOST + '/wasteSolid/getSolidWasteSurveyDetail' |
| | | |
| | | export const getWasteGas = $HOST + '/wasteGas/getWasteGas' |
| | | export const getWasteGasDetails = $HOST + '/wasteGas/getWasteGasMonitoringDetails' |
| | | |
| | | export const getWasteWater = $HOST + '/wasteWater/getWasteWater' |
| | | |
| | |
| | | @color: #00fff6; |
| | | @color-highlight: #fff700; |
| | | @color-gray: #C0C4CC; |
| | | @color-title: white; |
| | | @color-title: white;//标题色 |
| | | @color-over: white; |
| | | @color-tool: #C0C4CC; |
| | | @color-shadow: #00fff6; |
| | | @background-color: rgba(0, 16, 30, .5); |
| | | @background-color-light: rgba(40, 50, 100, .4); |
| | | @background-color-split: rgba(0, 255, 246, .14); |
| | | @background-color-tools: #1A4951; |
| | | @border-radius: .03rem; |
| | | @color-tool: #C0C4CC;//工具色 |
| | | @color-shadow: #00fff6;//显示颜色 |
| | | @background-color: rgba(0, 16, 30, .7);//背景填充色 |
| | | @background-color-light: rgba(40, 50, 100, .4);//光晕 |
| | | @background-color-split: rgba(0, 255, 246, .14);//分割线 |
| | | @background-color-tools: #1A4951;//工具箱 |
| | | @border-radius: .03rem;//倒角 |
| | | |
| | | @size-0:.08333rem; |
| | | @size-1: .125rem; |
| | |
| | | |
| | | .el-dialog__title { |
| | | padding: .03125rem .08333rem; |
| | | color: @color; |
| | | color: @color-title; |
| | | cursor: pointer; |
| | | flex-shrink: 0; |
| | | } |
| | |
| | | margin-left: 10px; |
| | | } |
| | | |
| | | .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{ |
| | | |
| | | } |
| | | .active-button{ |
| | | border: 0.00521rem solid #fff700 !important; |
| | | box-shadow: 0 0 0.03rem #fff700 !important; |
| | | color:#fff700 !important; |
| | | } |
| | | |
| | | /***************Company 图层 悬浮框样式。*********************************/ |
| | | .company-bindTooltip { |
| | |
| | | .el-table .cell, .el-table--border td:first-child .cell, .el-table--border th:first-child .cell { |
| | | /* padding-left: 10px; */ |
| | | text-align: center; |
| | | } |
| | | .el-table th>.cell { |
| | | color: #00fff6; |
| | | } |
| | | .el-table__row>td{ |
| | | border: none; |
| | | } |
| | | .el-table::before {//去掉最下面的那一条线 |
| | | height: 0; |
| | | } |
| | | .el-table td, .el-table th.is-leaf { |
| | | border: none; |
| | | } |
| | | .el-table .warning-row { |
| | | background: #28304d; |
| | | } |
| | | |
| | | .el-table .success-row { |
| | | background: #30455f; |
| | | } |
| | | /***********************************************动画效果************/ |
| | | .transition{ |
| | | transition: all .5s; |
| | | /* transform-origin: top left;*/ |
| | | animation: bounce-in .2s; |
| | | } |
| | | @keyframes bounce-in { |
| | | 0% { |
| | | transform: scale(0); |
| | | opacity: 0; |
| | | } |
| | | 100% { |
| | | transform: scale(1); |
| | | opacity: 1; |
| | | } |
| | | } |
| | | /**map 页面图标按钮*/ |
| | | .iconBtn { |
| | | width:0.26rem; |
| | | height: 0.26rem; |
| | | text-align: center; |
| | | background: rgba(0, 16, 30, 0.5); |
| | | cursor: pointer; |
| | | color: #00fff6; |
| | | border: 0.00521rem solid #00fff6; |
| | | box-shadow: 0 0 0.03rem #00fff6; |
| | | display: flex; |
| | | flex-direction: column; |
| | | justify-content: center; |
| | | justify-items: center; |
| | | border-radius: 0.03rem; |
| | | .icon{ |
| | | width: 20px; |
| | | margin: 0 auto; |
| | | } |
| | | |
| | | } |
| | |
| | | <el-tag>烟尘 : 6.93 标准 : 30</el-tag> |
| | | <el-tag>废气流量 : 120343.18</el-tag> |
| | | </div> |
| | | <div style="width:750px;height:260px;" id="echarts" ref="main"></div> |
| | | <div class="form-echrts"> |
| | | <div> |
| | | <el-button size="mini" round @click="dialogVisible = true">明细表</el-button> |
| | | <el-dialog :visible.sync="dialogVisible" |
| | | :append-to-body="true" |
| | | width="66%" |
| | | center |
| | | > |
| | | <div class="el-dialog-div" style="height: 600px"> |
| | | <public-detailed-list v-bind="$attrs"></public-detailed-list> |
| | | </div> |
| | | </el-dialog> |
| | | </div> |
| | | <div style="width:750px;height:260px;" id="echarts" ref="main"> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </template> |
| | | |
| | | <script> |
| | | import PublicDetailedList from '@components/BaseNav/PublicBounced/GasComponents/PublicDetailedList' |
| | | export default { |
| | | name: 'ECharts', |
| | | components: { |
| | | PublicDetailedList |
| | | }, |
| | | data () { |
| | | return { |
| | | dialogVisible: false |
| | | } |
| | | }, |
| | | methods: { |
| | | drawChart: function () { |
| | | const myChart = this.$echarts.init(this.$refs.main) |
| | |
| | | border: none; |
| | | padding: 0 15px; |
| | | } |
| | | #echarts{ |
| | | margin: 0; |
| | | padding: 0; |
| | | border: 1px solid #396d83; |
| | | margin: 10px 10px 10px 10px; |
| | | .form-echrts{ |
| | | width: 100%; |
| | | height: 100%; |
| | | border: 1px solid #396d83; |
| | | //margin: 10px 10px 10px 10px; |
| | | .el-dialog-div{ |
| | | //height: 50vh!important; |
| | | overflow: auto; |
| | | //overflow: hidden; |
| | | } |
| | | #echarts { |
| | | margin: 0; |
| | | padding: 0; |
| | | //border: 1px solid #396d83; |
| | | //margin: 10px 10px 10px 10px; |
| | | } |
| | | } |
| | | </style> |
| | |
| | | <li @click='tabTaggle("ECharts")'>月数据</li> |
| | | <li @click='tabTaggle("ECharts")'>人工数据</li> |
| | | </ul> |
| | | <component :is="currentTab"></component> |
| | | <component :is="currentTab" v-bind="$attrs"></component> |
| | | </div> |
| | | </template> |
| | | |
New file |
| | |
| | | <template> |
| | | <div class="PublicDetailedList"> |
| | | <el-table :data="tableData" max-height="600px"> |
| | | <el-table-column prop="OnLineMonEmissPointName" label="排放点"></el-table-column> |
| | | <el-table-column prop="MonTimeStr" label="监测时间"></el-table-column> |
| | | <el-table-column label="氮氧化物"> |
| | | <el-table-column prop="MonQty" label="浓度(mg/m³)"></el-table-column> |
| | | <el-table-column prop="OrglQty" label="折算值(mg/m³)"></el-table-column> |
| | | <el-table-column prop="ConvertQty" label="标准值(mg/m³)"></el-table-column> |
| | | <el-table-column prop="EmissQty" label="排放量(kg/h)"></el-table-column> |
| | | </el-table-column> |
| | | <el-table-column label="二氧化硫"> |
| | | <el-table-column prop="MonQty" label="浓度(mg/m³)"></el-table-column> |
| | | <el-table-column prop="OrglQty" label="折算值(mg/m³)"></el-table-column> |
| | | <el-table-column prop="ConvertQty" label="标准值(mg/m³)"></el-table-column> |
| | | <el-table-column prop="EmissQty" label="排放量(kg/h)"></el-table-column> |
| | | </el-table-column> |
| | | <el-table-column label="烟尘"> |
| | | <el-table-column prop="MonQty" label="浓度(mg/m³)"></el-table-column> |
| | | <el-table-column prop="OrglQty" label="折算值(mg/m³)"></el-table-column> |
| | | <el-table-column prop="ConvertQty" label="标准值(mg/m³)"></el-table-column> |
| | | <el-table-column prop="EmissQty" label="排放量(kg/h)"></el-table-column> |
| | | </el-table-column> |
| | | <el-table-column label="废气流量"> |
| | | <el-table-column prop="StdValue" label="气量"></el-table-column> |
| | | </el-table-column> |
| | | </el-table> |
| | | </div> |
| | | </template> |
| | | |
| | | <script> |
| | | export default { |
| | | name: 'PublicDetailedList', |
| | | data () { |
| | | return { |
| | | tableData: [] |
| | | } |
| | | }, |
| | | mounted () { |
| | | this.tableData = this.$attrs.getWasteGasDetails |
| | | console.log(this.$attrs.getWasteGasDetails) |
| | | } |
| | | } |
| | | |
| | | </script> |
| | | |
| | | <style scoped> |
| | | .PublicDetailedList{ |
| | | /*height: 100%*/ |
| | | } |
| | | </style> |
| | |
| | | <div class="border_corner border_corner_left_bottom"></div> |
| | | <div class="border_corner border_corner_right_bottom"></div> |
| | | <div class="main"> |
| | | <div class="main-video"> |
| | | <div class="main-table"> |
| | | <el-table |
| | | border |
| | | stripe='stripe' |
| | | :height="300" |
| | | tooltip-effect="dark" |
| | | :data="displayContentTableData" |
| | | :row-class-name="tableRowClassName" |
| | | > |
| | | <el-table-column prop="StoragePlaceId" label="序号"></el-table-column> |
| | | <el-table-column prop="StoragePlaceTypeName" label="类别"></el-table-column> |
| | | <el-table-column prop="StoragePlaceName" label="固废名称"></el-table-column> |
| | | <el-table-column prop="StorageZDMJ" label="代码"></el-table-column> |
| | | <el-table-column prop="StorageZCNL" label="产生量"></el-table-column> |
| | | <el-table-column prop="StorageZCL" label="储存量"></el-table-column> |
| | | <el-table-column prop="StorageZCNL" label="产生量(t)"></el-table-column> |
| | | <el-table-column prop="StorageZCL" label="储存量(t)"></el-table-column> |
| | | <el-table-column prop="StorageType" label="产生装置"></el-table-column> |
| | | </el-table> |
| | | </div> |
| | |
| | | this.$nextTick(() => { |
| | | this.displayContentTable.forEach(item => { |
| | | this.displayContentTableData = item |
| | | // console.log(item[0]) |
| | | }) |
| | | }) |
| | | }, |
| | | methods: { |
| | | tableRowClassName ({ |
| | | row, |
| | | rowIndex |
| | | }) { |
| | | if (rowIndex % 2 === 0) { |
| | | return 'warning-row' |
| | | } else if (rowIndex % 2 === 1) { |
| | | return 'success-row' |
| | | } |
| | | return '' |
| | | } |
| | | } |
| | | } |
| | | </script> |
| | | |
| | | <style lang="less" scoped> |
| | | |
| | | .win { |
| | | position: relative; |
| | | background-color: rgba(33, 41, 69, 0.9); |
| | | min-height: 300px; |
| | | } |
| | | |
| | | .main { |
| | | width: 100%; |
| | | height: 100%; |
| | | |
| | | .main-video { |
| | | .main-table { |
| | | width: 100%; |
| | | min-height: 195px; |
| | | //border: 1px @color solid; |
| | |
| | | } |
| | | } |
| | | } |
| | | |
| | | .border_corner { |
| | | z-index: 999; |
| | | position: absolute; |
| | | width: 14px; |
| | | height: 14px; |
| | | background: rgba(0, 0, 0, 0); |
| | | border: 1.5px solid #47d5ea; |
| | | border: 1px solid #47d5ea; |
| | | } |
| | | |
| | | .border_corner_left_top { |
| | |
| | | </el-row> |
| | | <el-row type="flex" class="row-bg" justify="space-around"> |
| | | <el-col :span="8">排放去向:{{ setWasteGasdata.EmissDirecti }}</el-col> |
| | | <el-col :span="8">控制级别名称:{{ setWasteGasdata.ContrLevelShowName }}</el-col> |
| | | <el-col :span="8">内/外排口:{{ setWasteGasdata.OrOutPortName }}</el-col> |
| | | <el-col :span="18">控制级别名称:{{ setWasteGasdata.ContrLevelShowName }}</el-col> |
| | | <el-col :span="18">内/外排口:{{ setWasteGasdata.OrOutPortName }}</el-col> |
| | | </el-row> |
| | | </div> |
| | | <div v-else-if="value === 'gufei'"> |
| | | <el-row type="flex" class="row-bg row-item-one" justify="space-around"> |
| | | <el-col :span="8">监测点名称:{{ displayContentTab2.StoragePlaceName }}</el-col> |
| | | <el-col :span="8">生产单位:{{ displayContentTab2.StoragePlaceName }}</el-col> |
| | | <el-col :span="8">排放类型加载:{{ displayContentTab2.DesignFloorArea }}</el-col> |
| | | </el-row> |
| | | <el-row type="flex" class="row-bg" justify="space-around"> |
| | | <el-col :span="8">排放去向:{{ displayContentTab2.StorageQty }}</el-col> |
| | | <el-col :span="8">控制级别名称:{{ displayContentTab2.SurplusFloorArea }}</el-col> |
| | | <el-col :span="8">内/外排口:{{ displayContentTab2.StorageDate }}</el-col> |
| | | </el-row> |
| | | </div> |
| | | <div v-else-if="value === 'gufei'"> |
| | | <ul> |
| | | <li>场所名称:{{ tabData.StoragePlaceName }}</li> |
| | | <li>贮存能力:{{ tabData.StorageQty }}(吨)</li> |
| | | <li>剩余贮存能力:{{ tabData.SurplusFloorArea }}(吨)</li> |
| | | <li>占地面积(㎡):{{ tabData.DesignFloorArea }}(㎡)</li> |
| | | <li>最近贮存日期:{{ tabData.StorageDate }}</li> |
| | | <li></li> |
| | | </ul> |
| | | </div> |
| | | <div v-else-if="value === 'feishui'"> |
| | | <el-row type="flex" class="row-bg row-item-one" justify="space-around"> |
| | | <el-col :span="8">监测点名称:{{ setWasteGasdata.Name }}</el-col> |
| | |
| | | props: ['displayContentTab', 'value', 'setWasteGasdata'], |
| | | data () { |
| | | return { |
| | | displayContentTab2: [] |
| | | tabData: [] |
| | | } |
| | | }, |
| | | mounted () { |
| | | this.$nextTick(() => { |
| | | this.displayContentTab.forEach(item => { |
| | | this.displayContentTab2 = item |
| | | // console.log(item) |
| | | }) |
| | | }) |
| | | this.processingData() |
| | | }, |
| | | methods: { |
| | | processingData () { |
| | | for (var i = 0; i < this.displayContentTab.length; i++) { |
| | | console.log(this.displayContentTab[i]) |
| | | this.tabData = this.displayContentTab[i] |
| | | } |
| | | } |
| | | } |
| | | } |
| | | </script> |
| | |
| | | |
| | | .win { |
| | | position: relative; |
| | | margin-bottom: 13px; |
| | | background-color: rgba(33, 41, 69,0.9); |
| | | margin-bottom: 10px; |
| | | background-color: rgba(33, 41, 69, 0.9); |
| | | } |
| | | |
| | | .main { |
| | | width: 100%; |
| | | height: 100%; |
| | | .main-matter{ |
| | | |
| | | .main-matter { |
| | | font-size: 13px; |
| | | font-weight: normal; |
| | | padding: 10px 6px; |
| | | //padding: 10px 6px; |
| | | min-height: 70px; |
| | | border: 1px solid #396d83; |
| | | .row-item-one{ |
| | | |
| | | .row-item-one { |
| | | margin-bottom: 7px; |
| | | } |
| | | |
| | | .el-row { |
| | | width: 100%; |
| | | color: #00d0f9; |
| | | display: flex; |
| | | font-size: 12px !important; |
| | | .el-col{ |
| | | |
| | | .el-col { |
| | | flex: 1; |
| | | width: 100%; |
| | | background-color: #243a55;; |
| | | background-color: #243a55; |
| | | text-align: center; |
| | | line-height: 28px; |
| | | margin-left: 6px; |
| | | border-radius: 4px; |
| | | &:nth-child(1){ |
| | | margin-left:0; |
| | | |
| | | &:nth-child(1) { |
| | | margin-left: 0; |
| | | } |
| | | } |
| | | } |
| | | |
| | | ul { |
| | | width: 100%; |
| | | height: 100%; |
| | | display: flex; |
| | | align-items: center; |
| | | justify-content: space-around; |
| | | flex-wrap: wrap; |
| | | line-height: 35px; |
| | | |
| | | li { |
| | | text-align: center; |
| | | width: 32%; |
| | | height: 30px; |
| | | margin: 5px auto; |
| | | background-color: #243a55; |
| | | color: #00d0f9; |
| | | border-radius: 4px; |
| | | } |
| | | |
| | | li:last-child { |
| | | visibility: hidden |
| | | } |
| | | } |
| | | } |
| | | } |
| | | .border_corner{ |
| | | |
| | | .border_corner { |
| | | z-index: 999; |
| | | position: absolute; |
| | | width: 10px; |
| | | height: 10px; |
| | | background: rgba(0,0,0,0); |
| | | border: 1.5px solid #47d5ea; |
| | | //height: 10px; |
| | | background: rgba(0, 0, 0, 0); |
| | | border: 1px solid #47d5ea; |
| | | } |
| | | .border_corner_left_top{ |
| | | |
| | | .border_corner_left_top { |
| | | top: 0; |
| | | left: 0; |
| | | border-right: none; |
| | | border-bottom: none; |
| | | } |
| | | .border_corner_right_top{ |
| | | |
| | | .border_corner_right_top { |
| | | top: 0; |
| | | right: 0; |
| | | border-left: none; |
| | | border-bottom: none; |
| | | } |
| | | .border_corner_left_bottom{ |
| | | |
| | | .border_corner_left_bottom { |
| | | bottom: 0; |
| | | left: 0; |
| | | border-right: none; |
| | | border-top: none; |
| | | } |
| | | .border_corner_right_bottom{ |
| | | |
| | | .border_corner_right_bottom { |
| | | bottom: 0; |
| | | right: 0; |
| | | border-left: none; |
| | |
| | | <div class="border_corner border_corner_left_bottom"></div> |
| | | <div class="border_corner border_corner_right_bottom"></div> |
| | | <div class="main"> |
| | | <div class="main-video"> |
| | | <!-- <div class="main-video">--> |
| | | <video controls> |
| | | <source src="movie.mp4" type="video/mp4"> |
| | | <source src="movie.ogg" type="video/ogg"> |
| | | </video> |
| | | </div> |
| | | <!-- </div>--> |
| | | </div> |
| | | </div> |
| | | </template> |
| | |
| | | .main { |
| | | border: 1px solid #396d83; |
| | | padding: 6px; |
| | | .main-video { |
| | | width: 100%; |
| | | height: 100%; |
| | | //.main-video { |
| | | height: 378px; |
| | | video { |
| | | width: 100%; |
| | | height: 100%; |
| | | height: 378px; |
| | | outline: none; |
| | | } |
| | | } |
| | | //} |
| | | } |
| | | .border_corner{ |
| | | z-index: 999; |
| | |
| | | width: 14px; |
| | | height: 14px; |
| | | background: rgba(0,0,0,0); |
| | | border: 1.5px solid #47d5ea; |
| | | border: 1px solid #47d5ea; |
| | | } |
| | | .border_corner_left_top{ |
| | | top: 0; |
| | |
| | | </div> |
| | | <div class="public-bounced-content"> |
| | | <div class="public-bounced-content-left"> |
| | | <PublicTabs :displayContentTab="displayContentTab" :value="value" |
| | | :setWasteGasdata="setWasteGasdata"></PublicTabs> |
| | | <public-tabs :displayContentTab="displayContentTab" :value="value" |
| | | :setWasteGasdata="setWasteGasdata"></public-tabs> |
| | | <div class="public-bounced-content-left-bottom"> |
| | | <PublicTable v-if="value === 'gufei'" :displayContentTable="displayContentTable"></PublicTable> |
| | | <PublicChart v-else></PublicChart> |
| | | <public-table v-if="value === 'gufei'" |
| | | :displayContentTable="displayContentTable"></public-table> |
| | | <public-chart v-else :getWasteGasDetails="getWasteGasDetails"></public-chart> |
| | | </div> |
| | | </div> |
| | | <div class="public-bounced-content-right"> |
| | | <PublicVideo></PublicVideo> |
| | | <public-video></public-video> |
| | | </div> |
| | | </div> |
| | | </div> |
| | |
| | | displayContentTab: '', |
| | | displayContentTable: '', |
| | | flag: false, |
| | | value: '' |
| | | value: '', |
| | | getWasteGasDetails: [] |
| | | } |
| | | }, |
| | | methods: { |
| | | setData (dataBasic, dataDetailed, value) { |
| | | this.flag = true |
| | | this.value = value |
| | | dataBasic.forEach(item => { |
| | | this.displayContentTitle = item.StoragePlaceName |
| | | }) |
| | |
| | | this.flag = true |
| | | this.value = value |
| | | }, |
| | | setGasData (data, value) { |
| | | setGasData (data, dataDetails, value) { |
| | | this.setWasteGasdata = data |
| | | this.getWasteGasDetails = dataDetails |
| | | // console.log(dataDetails) |
| | | this.displayContentTitle = data.Name |
| | | this.flag = true |
| | | this.value = value |
| | |
| | | <template> |
| | | <div class="float-panel"> |
| | | <div :class='["iconBtn",layerControllerVisible ? "active" : ""]' @click="showPanel"><span><img src="@assets/images/map-pages/icon/layer.png" alt="" width="26px" style="display: block;margin: auto"><span class="icon-name">图层</span></span></div> |
| | | <div :class='["float-panel",layerControllerVisible ? "active" : ""]' > |
| | | <div @click="showPanel" class="iconBtn transition" :class='layerControllerVisible ? "active-button" : ""' v-show="!layerControllerVisible" style="position: absolute;top:0;left: 0"> |
| | | <img src="@assets/images/map-pages/icon/layer.png" alt="" class="icon"> |
| | | <span class="icon-name">图层</span> |
| | | </div> |
| | | <transition name="fade"> |
| | | <div :class="'legend-content map-background'" style="position: absolute;left: 50px;top: 0" v-show="layerControllerVisible"> |
| | | <div :class="'legend-content map-background'" v-show="layerControllerVisible" style=" transform-origin: top left;"> |
| | | <lc-service-layer></lc-service-layer> |
| | | <buttom @click="showPanel" type="button" class="el-button special-button el-button--default el-icon-d-arrow-left"></buttom> |
| | | </div> |
| | | </transition> |
| | | </div> |
| | |
| | | |
| | | <script> |
| | | import '@assets/css/map/magic.min.css' |
| | | import presets from './layerControllerPresets' |
| | | |
| | | import iconSetting from '@/assets/images/map-pages/icon/setting.png' |
| | | import LcServiceLayer from './modules/LcServiceLayer' |
| | |
| | | } |
| | | } |
| | | }, |
| | | mounted () { |
| | | this.$nextTick(function () { |
| | | this.init() |
| | | }) |
| | | }, |
| | | methods: { |
| | | showPanel () { |
| | | this.layerControllerVisible = !this.layerControllerVisible |
| | | }, |
| | | init () { |
| | | this.initPreset() |
| | | }, |
| | | initPreset () { |
| | | if (this.preset !== 'default') { |
| | | const prmPreset = presets[this.preset] |
| | | Object.assign(this.layerControllerVisible, prmPreset) // 防止预设参数与默认参数不一致导致报错,如果没有按照您的配置发生改变,请检查拼写是否正确 |
| | | if (prmPreset === 'undefined') { |
| | | console.log('该图层控制面板的预设没有找到,请检查预设名称是否正确!') |
| | | } else { |
| | | this.$store.commit('updateLayerControllerVisible', this.layerControllerVisible) |
| | | } |
| | | } |
| | | }, |
| | | switchPanel () { |
| | | this.panelSwitch.main = !this.panelSwitch.main |
| | |
| | | <style lang="less"> |
| | | .float-panel { |
| | | position: absolute; |
| | | left: 2px; |
| | | top: 120px; |
| | | left: 0.14583rem; |
| | | top: 0.8rem; |
| | | height: auto; |
| | | font-size: 11px; |
| | | z-index: 1000; |
| | | display: flex; |
| | | |
| | | div { |
| | | color: #00fff6; |
| | | } |
| | | .iconBtn { |
| | | width:45px; |
| | | text-align: center; |
| | | background: rgba(0, 16, 30, 0.5); |
| | | cursor: pointer; |
| | | color: #00fff6; |
| | | border: 0.00521rem solid #00fff6; |
| | | box-shadow: 0 0 0.03rem #00fff6; |
| | | } |
| | | .active { |
| | | border: 0.00521rem solid #fff700; |
| | | box-shadow: 0 0 0.03rem #fff700; |
| | | |
| | | .iconBtn.active{ |
| | | display: none; |
| | | } |
| | | .title-border { |
| | | width: 100%; |
| | |
| | | .switch-head-down { |
| | | transform: rotateX(180deg); |
| | | transform-origin: 50% 50%; |
| | | transition: transform 0.5s linear 0s; |
| | | transition: transform 2s linear 0s; |
| | | } |
| | | |
| | | select { |
| | | background: transparent; |
| | | margin: 6px; |
| | |
| | | border-radius: 0px; |
| | | background: #0E3565; |
| | | } |
| | | .el-button--default{ |
| | | margin-left: 10px; |
| | | padding: 15px 3px; |
| | | background:@background-color; |
| | | color:@color-tool; |
| | | position: absolute; |
| | | top:0; |
| | | right: -26px; |
| | | } |
| | | .el-button--default:hover{ |
| | | background:@background-color; |
| | | } |
| | | .legend-content{ |
| | | width: 1.79167rem; |
| | | } |
| | | } |
| | | |
| | | </style> |
| | |
| | | this.clickListener = async (e) => { |
| | | // console.log(e) |
| | | this.animalService.pulseEffect(e.latlng) |
| | | // const dataValue = { |
| | | // StoragePlaceId: e.layer.options.test.StoragePlaceId |
| | | // } |
| | | // const result = await mapApi.getWasteGas(dataValue) |
| | | const dataValue = { |
| | | StoragePlaceId: e.layer.options.test.StoragePlaceId |
| | | } |
| | | 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, 'feiqi') |
| | | console.log(e.layer.options.test) |
| | | instance.setGasData(e.layer.options.test, result.Result.DataInfo, 'feiqi') |
| | | // console.log(e.layer.options.test) |
| | | instance.$mount() |
| | | document.body.appendChild(instance.$el) |
| | | this.setPanTo(e.latlng, 240) |
| | | } |
| | | // 不同类型图片加载 |
| | | this.differentTypes = (ContrLevel) => { |
| | |
| | | } |
| | | return effectOfChange |
| | | } |
| | | this.setPanTo = (pos, value) => { |
| | | var position = pos |
| | | position = window.map.latLngToLayerPoint(position) |
| | | position.y += value |
| | | position = window.map.layerPointToLatLng(position) |
| | | window.map.flyTo(position) |
| | | } |
| | | } |
| | |
| | | <div class="wms-panel"> |
| | | <el-scrollbar class="wms-panel-scrollbar"> |
| | | <div v-for="item in serviceLayers" :key="item.code" class="layerbox"> |
| | | <!-- 一级图层遍历 --> |
| | | <div> |
| | | <input type="checkbox" :name="'wmsLayer_'+item.code" :checked="item.checked" :value="item.code" @change="swAllLayers(item)"/>{{ item.name }} |
| | | <input type="checkbox" :name="'wmsLayer_'+item.code" :checked="item.checked" :value="item.code" |
| | | @change="swAllLayers(item)"/>{{ item.name }} |
| | | </div> |
| | | <div class="layerbox-item"> |
| | | <!-- 二级图层遍历 --> |
| | | <div class="basemap-layer-item" v-for="itm in item.layers" :key="itm.code"> |
| | | <input type="checkbox" |
| | | :name="'wmsSublayers_'+item.code+'_'+itm.code" |
| | | :checked="itm.checked" |
| | | :value="itm.code" |
| | | @change="swWmsLayer(itm)"/>{{ itm.name }} |
| | | <!-- 三级图层遍历 --> |
| | | <div style="width: 100%"> |
| | | <div class="basemap-layer-item" v-for="layer in itm.layers" :key="layer.code"> |
| | | <input type="checkbox" |
| | | :name="'wmsSublayers_'+item.code+'_'+layer.code" |
| | | :checked="layer.checked" |
| | | :value="layer.code" |
| | | @change="swWmsLayer(layer)"/>{{ layer.name }} |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </el-scrollbar> |
| | | </div> |
| | | <lc-service-layer-filter v-if="layerFilterVisible" ref="serviceLayerFilter"></lc-service-layer-filter> |
| | | <lc-service-layer-filter ref="serviceLayerFilter"></lc-service-layer-filter> |
| | | </div> |
| | | </template> |
| | | |
| | |
| | | export default { |
| | | name: 'LcServiceLayer', |
| | | components: { LcServiceLayerFilter }, |
| | | data () { |
| | | return { |
| | | layerFilterVisible: false |
| | | } |
| | | }, |
| | | computed: { |
| | | serviceLayers () { |
| | | return this.$store.state.map.serviceLayers.LayerSewersLine |
| | |
| | | } |
| | | // this.updateWms() |
| | | }, |
| | | swFilter (item) { |
| | | this.layerFilterVisible = !this.layerFilterVisible |
| | | }, |
| | | updateServiceLayerList () { |
| | | |
| | | }, |
| | |
| | | <style scoped lang="less"> |
| | | .inner-panel { |
| | | .title{ |
| | | color: #ffffff; |
| | | font-size: 16px; |
| | | font-weight: 600; |
| | | color: @color-title; |
| | | font-size: 18px; |
| | | margin: 10px; |
| | | text-align: center; |
| | | } |
| | | |
| | | .btn-filter { |
| | | cursor: pointer; |
| | | color: #ffffff; |
| | | } |
| | | |
| | | .wms-panel { |
| | | width: 1.79167rem; |
| | | |
| | | .wms-panel-scrollbar{ |
| | | height: 50vh; |
| | | width: 100%; |
| | |
| | | import store from '@/store' |
| | | import WfsLayerService from './WfsLayerService' |
| | | import BusiLayerService from './BusiLayerService' |
| | | import WmsLayerService from './WmsLayerService' |
| | |
| | | this.layers = {} |
| | | } |
| | | |
| | | init () { |
| | | init (layerConfig) { |
| | | // 1. 遍历layer config |
| | | var layerConfig = store.state.map.serviceLayers.LayerSewersLine |
| | | for (var i = 0, l = layerConfig.length; i < l; i++) { |
| | | var config = layerConfig[i] |
| | | var layers = config.layers |
| | | for (var j = 0; j < layers.length; j++) { |
| | | var childConfig = layers[j] |
| | | var checked = childConfig.checked |
| | | checked && this.load(childConfig) |
| | | } |
| | | layers && this.init(config.layers) |
| | | |
| | | var checked = config.checked |
| | | checked && this.load(config) |
| | | } |
| | | } |
| | | |
| | |
| | | * 加载业务数据图层 |
| | | */ |
| | | |
| | | import styles from '../../../conf/Styles' |
| | | import { STYLES } from '../../../conf/Constants' |
| | | import AjaxUtils from '../../../utils/AjaxUtils' |
| | | |
| | | class WfsLayerService { |
| | |
| | | this.L.geoJSON(features, { |
| | | style: function (feature) { |
| | | return { |
| | | fill: styles.defaultLineStyle.fill, |
| | | weight: styles.defaultLineStyle.weight, |
| | | fillColor: styles.defaultLineStyle.fillColor, |
| | | color: styles.defaultLineStyle.color, |
| | | fillOpacity: styles.defaultLineStyle.fillOpacity, |
| | | opacity: styles.defaultLineStyle.opacity, |
| | | dashArray: styles.defaultLineStyle.dashArray, |
| | | dashSpeed: styles.defaultLineStyle.dashSpeed |
| | | fill: STYLES.FILL, |
| | | weight: STYLES.WEIGHT, |
| | | fillColor: STYLES.FILL_COLOR, |
| | | color: STYLES.COLOR, |
| | | fillOpacity: STYLES.FILL_OPACITY, |
| | | opacity: STYLES.OPACITY, |
| | | dashArray: STYLES.DASH_ARRAY, |
| | | dashSpeed: STYLES.DASH_SPPED |
| | | } |
| | | }, |
| | | pointToLayer: (geoJsonPoint, latlng) => { |
| | |
| | | img: { |
| | | // url: 'assets/images/map/marker-icon.png', |
| | | url: '/assets/images/map/' + icon, |
| | | size: styles.defaultLineStyle.size |
| | | size: STYLES.ICON_SIZE |
| | | } |
| | | }) |
| | | }, |
| | |
| | | const icon = this.config.icon |
| | | const type = e.target.feature.geometry.type |
| | | if (type === 'LineString' || type === 'MultiLineString') { |
| | | layer.setStyle({ weight: styles.defaultLineStyle.weight, color: styles.defaultLineStyle.color }) |
| | | layer.setStyle({ weight: STYLES.WEIGHT, color: STYLES.COLOR }) |
| | | } |
| | | if (type === 'Point' || type === 'MultiPoint') { |
| | | layer.setStyle({ |
| | | img: { |
| | | url: '/assets/images/map/' + icon, |
| | | size: styles.defaultLineStyle.size |
| | | size: STYLES.ICON_SIZE |
| | | } |
| | | }) |
| | | } |
| | |
| | | <div class="container"> |
| | | <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)}" > |
| | | <el-tooltip :popper-class="'map-tooltip'" effect="dark" :content="item.name" placement="left"> |
| | | <li style=" "> |
| | | <li> |
| | | <!-- <span>{{item.name}}</span>--> |
| | | <!-- <div >--> |
| | | <img src="../../assets/images/map-pages/icon/sl.png" class="icon"> |
| | |
| | | <div :class="[isCollapse? 'btn-stretch':'btn-shrink']" ></div> |
| | | </div> |
| | | |
| | | <div :class="'search-container map-background'"> |
| | | <div class="el-message-box__content" style="padding:6px;font-size: 13px;"> |
| | | <component :title="title" :is="gcComp"></component> |
| | | </div> |
| | | <div :class="'search-container map-background'"> |
| | | <div class="el-message-box__content" style="padding:6px;font-size: 13px;"> |
| | | <component :title="title" :is="gcComp"></component> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </template> |
| | |
| | | |
| | | <style lang="less"> |
| | | .search-title{ |
| | | color: rgb(255, 255, 255); |
| | | font-size: 16px; |
| | | color:@color-title; |
| | | font-size: 18px; |
| | | margin: 5px; |
| | | } |
| | | .search-container { |
| | | position: relative; |
| | | width: 1.79167rem; |
| | | /*height: 5.6475rem;*/ |
| | | min-height: 80vh; |
| | | max-height: 90vh; |
| | | overflow: hidden; |
| | | } |
| | | .module-wrap{ |
| | |
| | | //top: 10px; |
| | | height: 0; |
| | | position: absolute; |
| | | top: .4rem; |
| | | right: .08333rem; |
| | | top: .46rem; |
| | | right: 0.14583rem; |
| | | z-index: 501; |
| | | display: -webkit-box; |
| | | display: -ms-flexbox; |
| | |
| | | display: inline-block; |
| | | position: relative; |
| | | padding-right: 5px; |
| | | color:#f5f5f5; |
| | | color:@color-shadow; |
| | | i{ |
| | | display: block; |
| | | width: 15px; |
| | |
| | | .el-radio.is-checked .levelOfRisk-type{color:#409EFF} |
| | | |
| | | .environmental-risk-list{ |
| | | border:1px solid @color; |
| | | margin-right: 10px; |
| | | margin-bottom: 15px; |
| | | position: relative; |
| | | cursor: pointer; |
| | | padding-left:50px; |
| | | padding-top:3px; |
| | | padding-bottom:3px; |
| | | color: #f5f5f5; |
| | | padding-top:5px; |
| | | 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: @background-color; |
| | | } |
| | | //.search-panel { |
| | | // border: #07325B; |
| | | // background-color: #07325B !important; |
| | |
| | | <template> |
| | | <div class="left-top-toolbox-panel"> |
| | | <div class="specific-tools"> |
| | | <el-button :class="selectGroup === true ?'active-button':''" class="el-button-choice" |
| | | @mouseover.enter.native="changeSelectMouse"> |
| | | <img src="@assets/images/map-pages/icon/toolbox/Selecd/tool.png" alt=""/> |
| | | <span class="span-default">工具</span> |
| | | <el-button :class="selectGroup === true ?'active-button':''" class="el-button-choice" @mouseover.enter.native="changeSelectMouse"> |
| | | <img src="@assets/images/map-pages/icon/toolbox/Selecd/tool.png" alt="" class="icon" /> |
| | | <span class="span-default">工具</span> |
| | | </el-button> |
| | | <transition name="animationChange"> |
| | | <el-row v-show="selectGroup" class="specific-tools-group"> |
| | |
| | | <img :src="itemT.iconChoose" :title="itemT.title" v-if="Selecd === indexT && checkedItem" alt=""/> |
| | | <img :src="itemT.icon" :title="itemT.title" alt="" v-else/> |
| | | </el-button> |
| | | <div class="base-map-inner-panel" v-show="item.index==='2'"> |
| | | <div v-for="item in basemapHelper.basemapList" :key="item.code" class="basemap-layer-item"> |
| | | <img class="base-map-img" width="50" height="50" :src="item.conf.icon_actived" :title="item.name" |
| | | @click="changeBasemap(item)" alt=""/> |
| | | <el-checkbox class="base-map-anno" name="basemap" v-model="item.conf.annotationCheck" |
| | | label="标注" @change="changeBasemap(item)"> |
| | | </el-checkbox> |
| | | </div> |
| | | </div> |
| | | <!-- <div class="base-map-inner-panel" v-show="item.index==='2'">--> |
| | | <!-- <div v-for="item in basemapHelper.basemapList" :key="item.code" class="basemap-layer-item">--> |
| | | <!-- <img class="base-map-img" width="50" height="50" :src="item.conf.icon_actived" :title="item.name"--> |
| | | <!-- @click="changeBasemap(item)" alt=""/>--> |
| | | <!-- <el-checkbox class="base-map-anno" name="basemap" v-model="item.conf.annotationCheck"--> |
| | | <!-- label="标注" @change="changeBasemap(item)">--> |
| | | <!-- </el-checkbox>--> |
| | | <!-- </div>--> |
| | | <!-- </div>--> |
| | | <lc-base-map v-show="item.index==='2'"></lc-base-map> |
| | | </el-popover> |
| | | <el-button @click="changeSelect" class="special-button"> |
| | | <i class="el-icon-d-arrow-left"></i> |
| | |
| | | </template> |
| | | |
| | | <script> |
| | | import LcBaseMap from '@components/LayerController/modules/LcBaseMap' |
| | | // 功能导航 |
| | | import plot from '@assets/images/map-pages/icon/toolbox/biaohui.png' |
| | | import polygon from '@assets/images/map-pages/icon/toolbox/celiang1.png' |
| | |
| | | |
| | | export default { |
| | | name: 'ToolBoxPanel', |
| | | components: { |
| | | LcBaseMap |
| | | }, |
| | | data () { |
| | | return { |
| | | isShow: [], |
| | | currentBaseMapCode: 'tianditu_img', |
| | | basemapList: [], |
| | | // currentBaseMapCode: 'tianditu_img', |
| | | // basemapList: [], |
| | | selectGroup: false, |
| | | drawLayer: null, |
| | | drawLayerArray: [], |
| | |
| | | ] |
| | | } |
| | | }, |
| | | computed: { |
| | | basemapHelper () { |
| | | return this.$store.state.map.basemapHelper |
| | | } |
| | | }, |
| | | methods: { |
| | | init (map) { |
| | | this.map = map |
| | | this.toolBoxPanelVisible = true |
| | | }, |
| | | changeBasemap (itm) { |
| | | this.active = -1 |
| | | const code = itm.code |
| | | this.basemapHelper.basemapList.forEach((item) => { |
| | | if (item.code === code) { |
| | | if (this.currentBaseMapCode == null || this.currentBaseMapCode !== code) { |
| | | this.currentBaseMapCode = code |
| | | this.basemapHelper.showBasemap(item.code, item.conf.annotationCheck, true) |
| | | } else { |
| | | this.basemapHelper.showBasemap(item.code, item.conf.annotationCheck, false) |
| | | } |
| | | |
| | | this.basemapHelper.basemapList.forEach((item) => { |
| | | item.layer.bringToBack() |
| | | }) |
| | | } |
| | | }) |
| | | }, |
| | | changeChoose (index) { |
| | | if (this.drawLayer == null) { |
| | |
| | | |
| | | .left-top-toolbox-panel { |
| | | position: absolute; |
| | | left: 0; |
| | | top: 15px; |
| | | left: 0.14583rem; |
| | | top: 0.11979rem; |
| | | z-index: 999; |
| | | |
| | | .specific-tools { |
| | |
| | | width: 45px; |
| | | height: 45px; |
| | | background: @background-color; |
| | | vertical-align: middle !important; |
| | | //vertical-align: middle !important; |
| | | |
| | | .base-map-img { |
| | | position: absolute; |
| | |
| | | .base-map-img:hover { |
| | | cursor: pointer; |
| | | } |
| | | |
| | | img { |
| | | width: 22px; |
| | | height: 22px; |
| | | } |
| | | |
| | | .span-default { |
| | | display: block; |
| | | color: @color-shadow; |
| | | font-size: 11px; |
| | | font-size: 10px; |
| | | } |
| | | |
| | | span { |
| | | display: block; |
| | | color: @color-over; |
| | | font-size: 11px; |
| | | font-size: 10px; |
| | | color: #0B89B5; |
| | | } |
| | | } |
| | | |
| | |
| | | left: 500px; |
| | | z-index: 999; |
| | | padding: 0; |
| | | margin: 0 0.015rem; |
| | | margin: 0; |
| | | margin-right:0.015rem; |
| | | width: 45px; |
| | | height: 45px; |
| | | background: @background-color; |
| | |
| | | |
| | | .specific-tools-group { |
| | | z-index: 1; |
| | | |
| | | .base-map-inner-panel { |
| | | display: flex; |
| | | justify-content: center; |
| | | align-items: center; |
| | | |
| | | .base-map-img { |
| | | position: absolute; |
| | | } |
| | | |
| | | .base-map-img-Tool:hover { |
| | | cursor: pointer; |
| | | } |
| | | |
| | | .base-map-anno-Tool { |
| | | position: absolute; |
| | | margin-left: 2px; |
| | | background-color: rgba(0, 0, 0, .5); |
| | | color: @color-over; |
| | | |
| | | .el-checkbox__label { |
| | | padding-left: 5px !important; |
| | | } |
| | | } |
| | | |
| | | .basemap-layer-item { |
| | | display: flex; |
| | | width: 50px; |
| | | height: 50px; |
| | | margin: 10px; |
| | | border: 2px solid white; |
| | | |
| | | input { |
| | | position: relative; |
| | | left: 0; |
| | | top: -53px; |
| | | } |
| | | |
| | | .basemap-layer-item-name { |
| | | position: relative; |
| | | left: 0; |
| | | top: -53px; |
| | | } |
| | | } |
| | | } |
| | | |
| | | .tools-panel-choose { |
| | | border: none; |
| | | box-shadow: 0 0 0.03rem @color-shadow; |
| | |
| | | <template> |
| | | <div class="sewers-search" v-if="gdVisible"> |
| | | <div class="query-search" v-if="gdVisible"> |
| | | <div class="search-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-select style="width: 100%" v-model="form.areaVal" @change="areaType" :popper-class="'select-down'"> |
| | | <el-option |
| | | v-for="item in areaTypeOptions" |
| | | :key="item.value" |
| | | :label="item.label" |
| | | :value="item.value"> |
| | | v-for="item in areaTypeOptions" |
| | | :key="item.value" |
| | | :label="item.label" |
| | | :value="item.value"> |
| | | </el-option> |
| | | </el-select> |
| | | </el-form-item> |
| | |
| | | </div> |
| | | </el-form> |
| | | </div> |
| | | <el-scrollbar style="height:300px"> |
| | | <div class="environmental-risk-list" ><!-- v-for="(item,index) in list" :key="index" --> |
| | | <el-scrollbar style="height:416.44px"> |
| | | <div class="environmental-risk-list hover" ><!-- v-for="(item,index) in list" :key="index" --> |
| | | <i class="state"></i> |
| | | <div> |
| | | <h3>###炼化部</h3> |
| | |
| | | <!-- <span class="location-btn" @click="handleLocation(item)">588</span> --> |
| | | <el-card class="footer-page" v-if="total > 10"> |
| | | <el-pagination |
| | | small |
| | | @current-change="handlePage" |
| | | :page-size=pageSize |
| | | layout="prev, pager, next" |
| | | :total=total |
| | | :current-page=current |
| | | class="warnPagination" |
| | | small |
| | | @current-change="handlePage" |
| | | :page-size=pageSize |
| | | layout="prev, pager, next" |
| | | :total=total |
| | | :current-page=current |
| | | class="warnPagination" |
| | | > |
| | | </el-pagination> |
| | | </el-card> |
| | |
| | | <template> |
| | | <div class="sewers-search" v-if="gdVisible"> |
| | | <div class="query-search" v-if="gdVisible"> |
| | | <div class="search-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-select style="width: 100%" v-model="form.areaVal" @change="areaType" :popper-class="'select-down'"> |
| | | <el-option |
| | | v-for="item in areaTypeOptions" |
| | | :key="item.value" |
| | | :label="item.label" |
| | | :value="item.value"> |
| | | v-for="item in areaTypeOptions" |
| | | :key="item.value" |
| | | :label="item.label" |
| | | :value="item.value"> |
| | | </el-option> |
| | | </el-select> |
| | | </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 |
| | | v-for="item in enterpriseTypeOptions" |
| | | :key="item.value" |
| | | :label="item.label" |
| | | :value="item.value"> |
| | | v-for="item in enterpriseTypeOptions" |
| | | :key="item.value" |
| | | :label="item.label" |
| | | :value="item.value"> |
| | | </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-option |
| | | v-for="item in enterpriseSubunitsTypeOptions" |
| | | :key="item.value" |
| | | :label="item.label" |
| | | :value="item.value"> |
| | | v-for="item in enterpriseSubunitsTypeOptions" |
| | | :key="item.value" |
| | | :label="item.label" |
| | | :value="item.value"> |
| | | </el-option> |
| | | </el-select> |
| | | </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}}<i :style="'background:'+item.color"></i></span></el-radio> |
| | | <el-radio v-for="(item,index) in levelOfRisk" :label="item.value" :key="index"><span class="levelOfRisk-type">{{item.name}}<i :style="'background:'+item.color"></i></span></el-radio> |
| | | </el-radio-group> |
| | | <div class="rightButtonSearch"> |
| | | <el-input v-model="form.keyword" size="mini" placeholder="在此输入关键字搜索"> |
| | |
| | | </div> |
| | | </el-form> |
| | | </div> |
| | | <el-scrollbar style="height:300px"> |
| | | <el-scrollbar style="height:264px"> |
| | | <div class="environmental-risk-list" v-for="(item,index) in 5" :key="index" ><!-- v-for="(item,index) in list" :key="index" --> |
| | | <i class="state"></i> |
| | | <div> |
| | | <h3>###炼化部</h3> |
| | | <p>所属部门:<span>炼化部</span></p> |
| | | <p>风险级别:<span>三级</span></p> |
| | | <h3>###炼化部</h3> |
| | | <p>所属部门:<span>炼化部</span></p> |
| | | <p>风险级别:<span>三级</span></p> |
| | | </div> |
| | | </div> |
| | | </el-scrollbar> |
| | | <!-- <span class="location-btn" @click="handleLocation(item)">588</span> --> |
| | | <el-card class="footer-page" v-if="total > 10"> |
| | | <el-pagination |
| | | small |
| | | @current-change="handlePage" |
| | | :page-size=pageSize |
| | | layout="prev, pager, next" |
| | | :total=total |
| | | :current-page=current |
| | | class="warnPagination" |
| | | small |
| | | @current-change="handlePage" |
| | | :page-size=pageSize |
| | | layout="prev, pager, next" |
| | | :total=total |
| | | :current-page=current |
| | | class="warnPagination" |
| | | > |
| | | </el-pagination> |
| | | </el-card> |
| | |
| | | <template> |
| | | <div class="sewers-search" v-if="gdVisible"> |
| | | <div class="query-search" v-if="gdVisible"> |
| | | <div class="search-title">{{title}}</div> |
| | | <div class="search-panel "> |
| | | <el-form ref="form" :model="form" label-width="90px" class="search-form"> |
| | |
| | | </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-option |
| | | v-for="item in enterpriseSubunitsTypeOptions" |
| | | :key="item.value" |
| | | :label="item.label" |
| | | :value="item.value"> |
| | | </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-option |
| | | v-for="item in enterpriseSubunitsTypeOptions" |
| | |
| | | { name: '正常', value: '2' }, |
| | | { name: '超标', value: '3' }, |
| | | { name: '异常', value: '4' }, |
| | | { name: '停产', value: '4' } |
| | | { name: '停产', value: '5' } |
| | | ] |
| | | } |
| | | }, |
| | |
| | | enterpriseSubunitsType (val) { |
| | | |
| | | }, |
| | | // 三级单位筛选 |
| | | async handleSearch () { |
| | | const param = { |
| | | pipelineType: this.form.pipelineType, |
| | |
| | | <!-- </el-form-item>--> |
| | | </el-form> |
| | | </div> |
| | | <el-scrollbar style="height:100%"> |
| | | <el-scrollbar style="height:380.44px;" > |
| | | <div class="B-TMD-table-list" v-for="(item,index) in list" :key="index"> |
| | | <div class="B-TMD-table-list-title"> |
| | | <div class="B-TMD-table-list-head"> |
| | |
| | | <!-- </el-form-item>--> |
| | | </el-form> |
| | | </div> |
| | | <el-scrollbar style="height:300px"> |
| | | <el-scrollbar style="height:416.44px"> |
| | | <div class="environmental-risk-list" ><!-- v-for="(item,index) in list" :key="index" --> |
| | | <i class="state"></i> |
| | | <div> |
| | |
| | | <template> |
| | | <div class="solidwaste-search" v-if="judgeVisible"> |
| | | <div class="search-title"> |
| | | <span>固废</span> |
| | | <!-- <span>{{ title }}</span>--> |
| | | </div> |
| | | <div class="sewers-search" v-if="judgeVisible"> |
| | | <div class="search-title">{{title}}</div> |
| | | <div class="search-panel "> |
| | | <el-form ref="form" :model="form" label-width="90px" class="search-form"> |
| | | <el-form-item v-for="(item,index) in solidWasteTypeOptions" :key="index" :label="item.label+':'" size="mini" |
| | |
| | | <el-input v-model="form.keyword" size="mini" placeholder="在此输入关键字搜索"></el-input> |
| | | <el-buttom class="el-icon-search" @click="handleSearch"></el-buttom> |
| | | </div> |
| | | <el-input v-model="form.keyword" size="mini" placeholder="在此输入关键字搜索"> |
| | | <i slot="suffix" class="search-btn el-input__icon el-icon-search" @click="handleSearch"></i> |
| | | </el-input> |
| | | </el-form> |
| | | <el-scrollbar style="height:500px"> |
| | | <div class="environmental-risk-list"> |
| | | <i class="state"></i> |
| | | <div> |
| | | <h3>###炼化部</h3> |
| | | <p>所属部门:<span>炼化部</span></p> |
| | | <p>风险级别:<span>三级</span></p> |
| | | </div> |
| | | </div> |
| | | <div class="environmental-risk-list"><!-- v-for="(item,index) in list" :key="index" --> |
| | | <i class="state"></i> |
| | | <div> |
| | | <h3>###炼化部</h3> |
| | | <p>所属部门:<span>炼化部</span></p> |
| | | <p>风险级别:<span>三级</span></p> |
| | | </div> |
| | | </div> |
| | | <div class="environmental-risk-list"><!-- v-for="(item,index) in list" :key="index" --> |
| | | <i class="state"></i> |
| | | <div> |
| | | <h3>###炼化部</h3> |
| | | <p>所属部门:<span>炼化部</span></p> |
| | | <p>风险级别:<span>三级</span></p> |
| | | </div> |
| | | </div> |
| | | <div class="environmental-risk-list"><!-- v-for="(item,index) in list" :key="index" --> |
| | | <i class="state"></i> |
| | | <div> |
| | | <h3>###炼化部</h3> |
| | | <p>所属部门:<span>炼化部</span></p> |
| | | <p>风险级别:<span>三级</span></p> |
| | | </div> |
| | | </div> |
| | | <div class="environmental-risk-list"><!-- v-for="(item,index) in list" :key="index" --> |
| | | <i class="state"></i> |
| | | <div> |
| | | <h3>###炼化部</h3> |
| | | <p>所属部门:<span>炼化部</span></p> |
| | | <p>风险级别:<span>三级</span></p> |
| | | </div> |
| | | </div> |
| | | <div class="environmental-risk-list"><!-- v-for="(item,index) in list" :key="index" --> |
| | | <i class="state"></i> |
| | | <div> |
| | | <h3>###炼化部</h3> |
| | | <p>所属部门:<span>炼化部</span></p> |
| | | <p>风险级别:<span>三级</span></p> |
| | | </div> |
| | | </div> |
| | | </el-scrollbar> |
| | | <!-- <el-card class="box-card"--> |
| | | <!-- v-for="(item,index) in searchDataDisplay"--> |
| | | <!-- :key="index">--> |
| | | <!-- <div>--> |
| | | <!-- {{ item.CompanyName }}--> |
| | | <!-- </div>--> |
| | | <!-- </el-card>--> |
| | | </div> |
| | | <!-- <el-scrollbar style="height:100%">--> |
| | | <!-- </el-scrollbar>--> |
| | | <el-scrollbar style="height:286.22px"> |
| | | <div class="environmental-risk-list" v-for="(item,index) in searchDataDisplay" :key="index" ><!-- v-for="(item,index) in list" :key="index" --> |
| | | <i class="state"></i> |
| | | <div> |
| | | <h3>###炼化部</h3> |
| | | <p>所属部门:<span>炼化部</span></p> |
| | | <p>风险级别:<span>三级</span></p> |
| | | </div> |
| | | </div> |
| | | </el-scrollbar> |
| | | </div> |
| | | </template> |
| | | |
| | |
| | | // 数据的传递 |
| | | transferData: '' |
| | | }, |
| | | // 数据搜索之后,存储数据的 |
| | | searchDataDisplay: [] |
| | | } |
| | | }, |
| | |
| | | </script> |
| | | |
| | | <style lang="less" scoped> |
| | | .el-radio.is-checked .levelOfRisk-type { |
| | | color: #409EFF |
| | | } |
| | | |
| | | .levelOfRisk { |
| | | padding-left: 20px |
| | | } |
| | | |
| | | .levelOfRisk .el-radio { |
| | | padding-bottom: 6px |
| | | } |
| | | |
| | | .environmental-risk-list { |
| | | border: 1px solid @color; |
| | | margin-right: 10px; |
| | | margin-bottom: 15px; |
| | | position: relative; |
| | | padding-left: 50px; |
| | | padding-top: 3px; |
| | | padding-bottom: 3px; |
| | | color: #f5f5f5; |
| | | |
| | | .state { |
| | | width: 30px; |
| | | height: 30px; |
| | | position: absolute; |
| | | top: 50%; |
| | | left: 10px; |
| | | margin-top: -15px; |
| | | border-radius: 50%; |
| | | box-shadow: 0 0 3px #000; |
| | | background: #0B3B6D; |
| | | } |
| | | } |
| | | |
| | | .el-input { |
| | | margin: 15px auto; |
| | | } |
| | | |
| | | </style> |
| | |
| | | <el-buttom class="el-icon-search" @click="handleSearch"></el-buttom> |
| | | </div> |
| | | </el-form> |
| | | <el-scrollbar style="height:300px"> |
| | | <div class="environmental-risk-list" ><!-- v-for="(item,index) in list" :key="index" --> |
| | | <i class="state"></i> |
| | | <div> |
| | | <h3>###炼化部</h3> |
| | | <p>所属部门:<span>炼化部</span></p> |
| | | <p>风险级别:<span>三级</span></p> |
| | | </div> |
| | | </div> |
| | | <div class="environmental-risk-list" ><!-- v-for="(item,index) in list" :key="index" --> |
| | | <i class="state"></i> |
| | | <div> |
| | | <h3>###炼化部</h3> |
| | | <p>所属部门:<span>炼化部</span></p> |
| | | <p>风险级别:<span>三级</span></p> |
| | | </div> |
| | | </div> |
| | | <div class="environmental-risk-list" ><!-- v-for="(item,index) in list" :key="index" --> |
| | | <i class="state"></i> |
| | | <div> |
| | | <h3>###炼化部</h3> |
| | | <p>所属部门:<span>炼化部</span></p> |
| | | <p>风险级别:<span>三级</span></p> |
| | | </div> |
| | | </div> |
| | | <div class="environmental-risk-list" ><!-- v-for="(item,index) in list" :key="index" --> |
| | | <i class="state"></i> |
| | | <div> |
| | | <h3>###炼化部</h3> |
| | | <p>所属部门:<span>炼化部</span></p> |
| | | <p>风险级别:<span>三级</span></p> |
| | | </div> |
| | | </div> |
| | | <div class="environmental-risk-list" ><!-- v-for="(item,index) in list" :key="index" --> |
| | | <i class="state"></i> |
| | | <div> |
| | | <h3>###炼化部</h3> |
| | | <p>所属部门:<span>炼化部</span></p> |
| | | <p>风险级别:<span>三级</span></p> |
| | | </div> |
| | | </div> |
| | | <div class="environmental-risk-list" ><!-- v-for="(item,index) in list" :key="index" --> |
| | | <i class="state"></i> |
| | | <div> |
| | | <h3>###炼化部</h3> |
| | | <p>所属部门:<span>炼化部</span></p> |
| | | <p>风险级别:<span>三级</span></p> |
| | | </div> |
| | | </div> |
| | | </el-scrollbar> |
| | | <div> |
| | | <!-- <el-card class="box-card" v-for="(item,index) in searchDataDisplay" :key="index">--> |
| | | <!-- <div v-if="total > 3">--> |
| | | <!-- {{ item.CompanyName }}--> |
| | | <!-- </div>--> |
| | | <!-- </el-card>--> |
| | | <el-card class="footer-page" v-if="total > 10"> |
| | | <el-pagination |
| | | small |
| | | @current-change="handlePage" |
| | | :page-size=pageSize |
| | | layout="prev, pager, next" |
| | | :total=total |
| | | :current-page=current |
| | | class="warnPagination" |
| | | > |
| | | </el-pagination> |
| | | </el-card> |
| | | <!-- <el-pagination--> |
| | | <!-- small--> |
| | | <!-- layout="prev, pager, next"--> |
| | | <!-- :total=total--> |
| | | <!-- :current-page=1--> |
| | | <!-- class="warnPagination"--> |
| | | <!-- >--> |
| | | <!-- </el-pagination>--> |
| | | </div> |
| | | <!-- <el-scrollbar style="height:100%">--> |
| | | <!-- <el-card class="footer-page">--> |
| | | <!-- <ul>--> |
| | | <!-- {{ searchDataDisplay }}--> |
| | | <!-- <li v-for="(item,index) in searchDataDisplay" :key="index">--> |
| | | <!-- {{ item.CompanyName }}--> |
| | | <!-- </li>--> |
| | | <!-- </ul>--> |
| | | <!-- </el-card>--> |
| | | <!-- <el-pagination--> |
| | | <!-- small--> |
| | | <!-- @current-change="handlePage"--> |
| | | <!-- :page-size=pageSize--> |
| | | <!-- layout="prev, pager, next"--> |
| | | <!-- :total=total--> |
| | | <!-- :current-page=current--> |
| | | <!-- class="warnPagination"--> |
| | | <!-- >--> |
| | | <!-- </el-pagination>--> |
| | | <!-- </el-card>--> |
| | | <!-- </el-scrollbar>--> |
| | | </div> |
| | | <el-scrollbar style="height:264px"> |
| | | <div class="environmental-risk-list" v-for="(item,index) in searchDataDisplay" :key="index" ><!-- v-for="(item,index) in list" :key="index" --> |
| | | <i class="state"></i> |
| | | <div> |
| | | <h3>###炼化部</h3> |
| | | <p>所属部门:<span>炼化部</span></p> |
| | | <p>风险级别:<span>三级</span></p> |
| | | </div> |
| | | </div> |
| | | </el-scrollbar> |
| | | </div> |
| | | </template> |
| | | |
| | |
| | | },
|
| | |
|
| | | _toggleTitle: function () {
|
| | | this.link.title = this.options.title[this._map.isFullscreen()]
|
| | | this.link.title = this.optionsthis._map.isFullscreen()]
|
| | | }
|
| | | })
|
| | |
|
| | |
| | | <template> |
| | | <div class="enterprise-panel"> |
| | | <div class="enterprise-function" @click="showWarnDialog()"> |
| | | <div :class='["iconBtn",warnVisible ? "active" : ""]'><span><img src="@/assets/images/map-pages/icon/map/warn.png" alt="" width="26px" style="display: block;margin: auto"><span class="icon-name">预报警</span></span></div> |
| | | <div :class='["iconBtn",warnVisible ? "active-button" : ""]'> |
| | | <img src="@/assets/images/map-pages/icon/map/warn.png" alt="" class="icon"> |
| | | <span class="icon-name">预报警</span> |
| | | <!-- <el-tooltip :popper-class="'map-tooltip'" effect="dark" content="预报警" placement="left"> |
| | | <img src="@/assets/images/map-pages/icon/map/warn.png" alt="" width="26px" style="display: block;margin: auto"> |
| | | |
| | | </el-tooltip> --> |
| | | </div> |
| | | </div> |
| | | <div class="enterprise-function" @click="showStatisDialog()"> |
| | | <div :class='["iconBtn",companyVisible ? "active" : ""]'><span><img src="@/assets/images/map-pages/icon/map/company.png" alt="" width="26px" style="display: block;margin: auto"><span class="icon-name">指标</span></span></div> |
| | | <div :class='["iconBtn",companyVisible ? "active-button" : ""]'> |
| | | <img src="@/assets/images/map-pages/icon/map/company.png" alt="" class="icon"> |
| | | <span class="icon-name">指标</span> |
| | | </div> |
| | | </div> |
| | | <Dialog ref="warnDialog" title="企业预警报警分类统计"> |
| | | <Dialog ref="warnDialog" title="企业预警报警分类统计" > |
| | | <warn></warn> |
| | | </Dialog> |
| | | <Dialog ref="indexStatisticsDialog" title="企业指标分类统计"> |
| | |
| | | this.$refs.indexStatisticsDialog.show() |
| | | this.companyVisible = true |
| | | } |
| | | }, |
| | | mounted () { |
| | | const that = this |
| | | this.$nextTick(() => { |
| | | this.$refs.warnDialog.$on('closeDialog', () => { |
| | | that.warnVisible = false |
| | | }) |
| | | this.$refs.indexStatisticsDialog.$on('closeDialog', () => { |
| | | that.companyVisible = false |
| | | }) |
| | | }) |
| | | } |
| | | } |
| | | </script> |
| | |
| | | <style lang="less" scoped> |
| | | .enterprise-panel{ |
| | | position: absolute; |
| | | right: 5px; |
| | | top:5px; |
| | | right: 0.14583rem; |
| | | top:0.11979rem; |
| | | z-index: 9999; |
| | | |
| | | .enterprise-function{ |
| | | width: 50px; |
| | | float: left; |
| | | cursor: pointer; |
| | | } |
| | | .iconBtn { |
| | | width:45px; |
| | | text-align: center; |
| | | background: rgba(0, 16, 30, 0.5); |
| | | cursor: pointer; |
| | | color: #00fff6; |
| | | border: 0.00521rem solid #00fff6; |
| | | box-shadow: 0 0 0.03rem #00fff6; |
| | | } |
| | | .active { |
| | | // border: 0.00521rem solid #fff700; |
| | | // box-shadow: 0 0 0.03rem #fff700; |
| | | .enterprise-function:not(:first-child){ |
| | | margin-left: 10px; |
| | | } |
| | | } |
| | | </style> |
| | |
| | | <template> |
| | | <div class="summary-sheets"> |
| | | <div :class='["iconBtn",summaryVisible ? "active" : ""]' @click="closeBtn"><span><img src="@assets/images/map-pages/icon/toolbox/table.png" alt="" width="26px" style="display: block;margin: auto"><span class="icon-name">统计表</span></span></div> |
| | | <div :class='["iconBtn",summaryVisible ? "active-button" : ""]' @click="closeBtn"> |
| | | <img src="@assets/images/map-pages/icon/toolbox/table.png" alt="" class="icon"> |
| | | <span class="icon-name">统计表</span> |
| | | </div> |
| | | <Dialog ref="summarySheets" title="企业指标分类统计"> |
| | | <tab-handover></tab-handover> |
| | | </Dialog > |
| | |
| | | // const summary = document.getElementById('summary') |
| | | // summary.style.display = 'none' |
| | | this.$refs.summarySheets.show() |
| | | this.summaryVisible = true |
| | | } |
| | | }, |
| | | mounted () { |
| | | const that = this |
| | | this.$nextTick(() => { |
| | | this.$refs.summarySheets.$on('closeDialog', () => { |
| | | that.summaryVisible = false |
| | | }) |
| | | }) |
| | | } |
| | | } |
| | | </script> |
| | |
| | | <style scoped lang="less"> |
| | | .summary-sheets { |
| | | position: absolute; |
| | | top: 70px; |
| | | left: 1px; |
| | | top: 0.46rem; |
| | | left: 0.14583rem; |
| | | /*width: 850px;*/ |
| | | /*height: 265px;*/ |
| | | z-index:500; |
| | | |
| | | /*color: #fff;*/ |
| | | .el-icon-c-scale-to-original { |
| | | width: 30px; |
| | | height: 30px; |
| | | font-size: 30px; |
| | | } |
| | | .iconBtn { |
| | | width:45px; |
| | | text-align: center; |
| | | background: rgba(0, 16, 30, 0.5); |
| | | cursor: pointer; |
| | | color: #00fff6; |
| | | border: 0.00521rem solid #00fff6; |
| | | box-shadow: 0 0 0.03rem #00fff6; |
| | | } |
| | | .active { |
| | | border: 0.00521rem solid #fff700; |
| | | box-shadow: 0 0 0.03rem #fff700; |
| | | } |
| | | } |
| | | </style> |
| | |
| | | sewersAreaGs: 'Company.js' |
| | | } |
| | | |
| | | export const STYLES = { |
| | | FILL: true, |
| | | WEIGHT: 3, |
| | | FILL_COLOR: '#73b2ff', |
| | | COLOR: '#73b2ff', |
| | | FILL_OPACITY: 0.2, |
| | | OPACITY: 1, |
| | | DASH_ARRAY: '4,4', |
| | | DASH_SPPED: -5, |
| | | ICON_SIZE: [20, 20] |
| | | } |
| | | |
| | | export const props = { |
| | | pipename: '管线名称', |
| | | pipecode: '管线编码', |
New file |
| | |
| | | /** |
| | | * 管线数据 |
| | | */ |
| | | import { LayerPipeLines } from './layers/LayerPipeLines' |
| | | import { LayerArea } from './layers/LayerArea' |
| | | import { LayerPk } from './layers/LayerPk' |
| | | |
| | | export const LayerPipeLine = { |
| | | code: 'sewersPipeLine', |
| | | name: '管线数据', |
| | | checked: true, |
| | | layers: [LayerPipeLines, LayerPk, LayerArea] |
| | | } |
New file |
| | |
| | | /** |
| | | * 区域 |
| | | */ |
| | | import { LayerWasteWater } from './layers/LayerWasteWater' |
| | | import { LayerWasteGas } from './layers/LayerWasteGas' |
| | | import { LayerWasteSolid } from './layers/LayerWasteSolid' |
| | | import { LayerAirQuality } from './layers/LayerAirQuality' |
| | | import { LayerEnvRisk } from './layers/LayerEnvRisk' |
| | | import { LayerSoilGroundWater } from './layers/LayerSoilGroundWater' |
| | | |
| | | export const LayerTopic = { |
| | | code: 'sewersTopic', |
| | | name: '专题图层', |
| | | checked: true, |
| | | layers: [LayerWasteWater, LayerWasteGas, LayerWasteSolid, LayerAirQuality, LayerEnvRisk, LayerSoilGroundWater] |
| | | } |
| | |
| | | import * as L from 'leaflet' |
| | | import TDT from './TDT' |
| | | import { LayerSewersPoint } from './layers/LayerSewers' |
| | | import { LayerWasteWater } from './layers/LayerWasteWater' |
| | | import { LayerSolidWaste } from './layers/LayerSolidWaste' |
| | | import { LayerWasteGas } from './layers/LayerWasteGas' |
| | | import { LayerPipeLine } from './layers/LayerPipeLine' |
| | | import { LayerArea } from './layers/LayerArea' |
| | | import { LayerPk } from './layers/LayerPk' |
| | | import { LayerFsss } from './layers/LayerFsss' |
| | | import { LayerHbss } from './layers/LayerHbss' |
| | | import { LayerTopic } from './LayerTopic' |
| | | import { LayerPipeLine } from './LayerPipeLine' |
| | | |
| | | const curWwwPath = window.document.location.href |
| | | const pathname = window.document.location.pathname |
| | |
| | | // center: [26, 104], |
| | | center: [38.828558921813965, 117.41676807403564], |
| | | // center: [29.454345703125, 113.40362548828125], |
| | | zoom: 14, |
| | | zoom: 5, |
| | | worldCopyJump: true, |
| | | inertia: true, |
| | | zoomControl: false, |
| | |
| | | IntranetBaseMaps: TDT.intranet, |
| | | InternetBaseMaps: TDT.internet, |
| | | Layers: { |
| | | LayerSewersLine: [LayerPipeLine, LayerFsss, LayerHbss, LayerArea, LayerPk, LayerWasteWater, LayerWasteGas, LayerSolidWaste], |
| | | LayerSewersLine: [LayerPipeLine, LayerTopic], |
| | | layerSewersPoint: LayerSewersPoint |
| | | } // 污雨水图层配置 |
| | | } |
New file |
| | |
| | | /** |
| | | * 区域 |
| | | */ |
| | | const APP_GIS_HOST_2 = 'http://xearth.cn:8088' |
| | | const WFS_URL = APP_GIS_HOST_2 + '/server/ogcserver/PipeLine/wfs' |
| | | export const LayerAirQuality = { |
| | | code: 'sewersAirQuality', |
| | | name: '空气质量', |
| | | checked: true, |
| | | layers: [ |
| | | { |
| | | code: 'airQualityStation', |
| | | name: '监测站', |
| | | sname: '监测站', // 表名 |
| | | checked: true, // 默认选中状态 |
| | | url: WFS_URL + '?TYPENAME=公司', |
| | | minZoom: 10 |
| | | } |
| | | ] |
| | | } |
New file |
| | |
| | | /** |
| | | * 流域 |
| | | */ |
| | | const APP_GIS_HOST_2 = 'http://xearth.cn:8088' |
| | | const WFS_URL = APP_GIS_HOST_2 + '/server/ogcserver/PipeLine/wfs' |
| | | export const LayerBasin = { |
| | | code: 'sewersBasin', |
| | | name: '区域图层', |
| | | checked: true, |
| | | layers: [ |
| | | { |
| | | code: 'basinCj', |
| | | name: '长江流域', |
| | | sname: '长江流域', // 表名 |
| | | checked: true, // 默认选中状态 |
| | | url: WFS_URL + '?TYPENAME=公司', |
| | | minZoom: 10 |
| | | }, |
| | | { |
| | | code: 'basinHh', |
| | | name: '黄河流域', |
| | | sname: '黄河流域', |
| | | checked: true, // 默认选中状态 |
| | | wfs: WFS_URL + '?TYPENAME=码头', |
| | | minZoom: 10 |
| | | }, |
| | | { |
| | | code: 'basinBh', |
| | | name: '渤海流域', |
| | | sname: '渤海流域', |
| | | checked: true, // 默认选中状态 |
| | | wfs: WFS_URL + '?TYPENAME=装置区', |
| | | minZoom: 10 |
| | | }, |
| | | { |
| | | code: 'basinQt', |
| | | name: '其他', |
| | | sname: '其他', |
| | | checked: true, // 默认选中状态 |
| | | wfs: WFS_URL + '?TYPENAME=装置区', |
| | | minZoom: 10 |
| | | } |
| | | ] |
| | | } |
New file |
| | |
| | | /** |
| | | * 环境风险 |
| | | */ |
| | | const APP_GIS_HOST_2 = 'http://xearth.cn:8088' |
| | | const WFS_URL = APP_GIS_HOST_2 + '/server/ogcserver/PipeLine/wfs' |
| | | export const LayerEnvRisk = { |
| | | code: 'sewersEnvRisk', |
| | | name: '环境风险', |
| | | checked: true, |
| | | layers: [ |
| | | { |
| | | code: 'envRiskChart', |
| | | name: '风险统计图', |
| | | sname: '风险统计图', // 表名 |
| | | checked: true, // 默认选中状态 |
| | | url: WFS_URL + '?TYPENAME=公司', |
| | | minZoom: 10 |
| | | }, |
| | | { |
| | | code: 'envRiskMaterial', |
| | | name: '物资库', |
| | | sname: '物资库', |
| | | checked: true, // 默认选中状态 |
| | | wfs: WFS_URL + '?TYPENAME=码头', |
| | | minZoom: 10 |
| | | }, |
| | | { |
| | | code: 'envRiskMajor', |
| | | name: '重大风险', |
| | | sname: '重大风险', |
| | | checked: true, // 默认选中状态 |
| | | wfs: WFS_URL + '?TYPENAME=装置区', |
| | | minZoom: 10 |
| | | }, |
| | | { |
| | | code: 'envRiskFirst', |
| | | name: '一级风险', |
| | | sname: '一级风险', |
| | | checked: true, // 默认选中状态 |
| | | wfs: WFS_URL + '?TYPENAME=装置区', |
| | | minZoom: 10 |
| | | }, |
| | | { |
| | | code: 'envRiskSecond', |
| | | name: '二级风险', |
| | | sname: '二级风险', |
| | | checked: true, // 默认选中状态 |
| | | wfs: WFS_URL + '?TYPENAME=装置区', |
| | | minZoom: 10 |
| | | } |
| | | ] |
| | | } |
File was renamed from src/conf/layers/LayerPipeLine.js |
| | |
| | | const APP_GIS_HOST_2 = 'http://xearth.cn:8088' |
| | | const WFS_URL = APP_GIS_HOST_2 + '/server/ogcserver/PipeLine/wfs' |
| | | |
| | | export const LayerPipeLine = { |
| | | code: 'sewersPipeLine', |
| | | export const LayerPipeLines = { |
| | | code: 'sewersPipeLines', |
| | | name: '管线', |
| | | checked: true, |
| | | layers: [ |
| | |
| | | checked: true, // 默认选中状态 |
| | | wfs: WFS_URL + '?TYPENAME=管网', |
| | | minZoom: 10, // 在指定级别显示 |
| | | childLayer: 'fsss,hbss' // 关联PointLayers |
| | | childLayer: 'sewersFsss,sewersHbss' // 关联PointLayers |
| | | }, |
| | | { |
| | | code: 'oilline', |
| | |
| | | checked: true, // 默认选中状态 |
| | | wfs: WFS_URL + '?TYPENAME=含油污水', |
| | | minZoom: 10, |
| | | childLayer: 'fsss,hbss' // 关联PointLayers |
| | | childLayer: 'sewersFsss,sewersHbss' // 关联PointLayers |
| | | }, |
| | | { |
| | | code: 'saltline', |
| | |
| | | checked: true, // 默认选中状态 |
| | | wfs: WFS_URL + '?TYPENAME=含盐污水', |
| | | minZoom: 10, |
| | | childLayer: 'fsss,hbss' // 关联PointLayers |
| | | childLayer: 'sewersFsss,sewersHbss' // 关联PointLayers |
| | | }, |
| | | { |
| | | code: 'alkaliline', |
| | |
| | | checked: true, // 默认选中状态 |
| | | wfs: WFS_URL + '?TYPENAME=含碱污水', |
| | | minZoom: 10, |
| | | childLayer: 'fsss,hbss' // 关联PointLayers |
| | | childLayer: 'sewersFsss,sewersHbss' // 关联PointLayers |
| | | }, |
| | | { |
| | | code: 'outlet', |
| | |
| | | checked: true, // 默认选中状态 |
| | | wfs: WFS_URL + '?TYPENAME=事故水', |
| | | minZoom: 10, |
| | | childLayer: 'fsss,hbss' // 关联PointLayers |
| | | childLayer: 'sewersFsss,sewersHbss' // 关联PointLayers |
| | | }, |
| | | { |
| | | code: 'loopline', |
| | |
| | | checked: true, // 默认选中状态 |
| | | wfs: WFS_URL + '?TYPENAME=循环水', |
| | | minZoom: 10, |
| | | childLayer: 'fsss,hbss' // 关联PointLayers |
| | | childLayer: 'sewersFsss,sewersHbss' // 关联PointLayers |
| | | }, |
| | | { |
| | | code: 'purifyline', |
| | |
| | | checked: true, // 默认选中状态 |
| | | wfs: WFS_URL + '?TYPENAME=净化水', |
| | | minZoom: 10, |
| | | childLayer: 'fsss,hbss' // 关联PointLayers |
| | | childLayer: 'sewersFsss,sewersHbss' // 关联PointLayers |
| | | }, |
| | | { |
| | | code: 'lifeline', |
| | |
| | | checked: true, // 默认选中状态 |
| | | wfs: WFS_URL + '?TYPENAME=生活污水', |
| | | minZoom: 10, |
| | | childLayer: 'fsss,hbss' // 关联PointLayers |
| | | childLayer: 'sewersFsss,sewersHbss' // 关联PointLayers |
| | | }, |
| | | { |
| | | code: 'areainfo', |
New file |
| | |
| | | /** |
| | | * 土壤及地下水 |
| | | */ |
| | | const APP_GIS_HOST_2 = 'http://xearth.cn:8088' |
| | | const WFS_URL = APP_GIS_HOST_2 + '/server/ogcserver/PipeLine/wfs' |
| | | export const LayerSoilGroundWater = { |
| | | code: 'sewersSoilGroundWater', |
| | | name: '土壤及地下水', |
| | | checked: true, |
| | | layers: [ |
| | | { |
| | | code: 'soil', |
| | | name: '土壤', |
| | | sname: '土壤', // 表名 |
| | | checked: true, // 默认选中状态 |
| | | url: WFS_URL + '?TYPENAME=公司', |
| | | minZoom: 10 |
| | | }, |
| | | { |
| | | code: 'groundWater', |
| | | name: '地下水', |
| | | sname: '地下水', |
| | | checked: true, // 默认选中状态 |
| | | wfs: WFS_URL + '?TYPENAME=码头', |
| | | minZoom: 10 |
| | | }, |
| | | { |
| | | code: 'firstRiskBlock', |
| | | name: '一级风险地块', |
| | | sname: '一级风险地块', |
| | | checked: true, // 默认选中状态 |
| | | wfs: WFS_URL + '?TYPENAME=装置区', |
| | | minZoom: 10 |
| | | }, |
| | | { |
| | | code: 'secondRiskBlock', |
| | | name: '二级风险地块', |
| | | sname: '二级风险地块', |
| | | checked: true, // 默认选中状态 |
| | | wfs: WFS_URL + '?TYPENAME=装置区', |
| | | minZoom: 10 |
| | | }, |
| | | { |
| | | code: 'threeRiskBlock', |
| | | name: '三级风险地块', |
| | | sname: '三级风险地块', |
| | | checked: true, // 默认选中状态 |
| | | wfs: WFS_URL + '?TYPENAME=装置区', |
| | | minZoom: 10 |
| | | } |
| | | ] |
| | | } |
File was renamed from src/conf/layers/LayerSolidWaste.js |
| | |
| | | * @type {string} |
| | | */ |
| | | |
| | | export const LayerSolidWaste = { |
| | | export const LayerWasteSolid = { |
| | | code: 'solidWaste', |
| | | name: '固废', |
| | | checked: true, |
| | |
| | | .el-button--primary{ |
| | | --primary{ |
| | | color: @dark--text-base; |
| | | background-color: @dark--button-primary-background-color; |
| | | border-color: @dark--primary-color; |
| | | } |
| | | |
| | | .el-button--primary:hover, .el-button--primary:focus{ |
| | | --primary:hover, --primary:focus{ |
| | | background: rgb(51, 163, 182); |
| | | border-color: rgb(81, 229, 253); |
| | | color: @dark--title-color; |
| | | } |
| | | |
| | | .el-button--primary:active{ |
| | | --primary:active{ |
| | | background: rgb(0, 126, 148); |
| | | border-color: rgb(34, 200, 228); |
| | | color: @dark--title-color; |
| | | outline: none; |
| | | } |
| | | |
| | | .el-button--primary.is-active{ |
| | | --primary.is-active{ |
| | | background: rgb(0, 126, 148); |
| | | border-color: rgb(34, 200, 228); |
| | | color: @dark--title-color; |
| | | } |
| | | |
| | | .el-button--primary.is-plain{ |
| | | --primary.is-plain{ |
| | | background: transparent; |
| | | border: 1px solid #198CA7; |
| | | color: rgb(31, 45, 61); |
| | | } |
| | | |
| | | .el-button--primary.is-plain:hover, .el-button--primary.is-plain:focus{ |
| | | --primary.is-plain:hover, --primary.is-plain:focus{ |
| | | background: transparent; |
| | | border-color: @dark--primary-color; |
| | | color: @dark--button-primary-background-color; |
| | |
| | | <popup ref="popup" @callPopup="callPopup"></popup> |
| | | <div id="map" ref="rootmap"> |
| | | </div> |
| | | <sgis-layer-controller :preset="'warningPreset'"> |
| | | <lc-basemap></lc-basemap> |
| | | <!-- <div class="barline"></div>--> |
| | | <lc-service-layer class="barline" v-if="lcServiceLayerVisible"></lc-service-layer> |
| | | </sgis-layer-controller> |
| | | <sgis-layer-controller></sgis-layer-controller> |
| | | <monitor-panel></monitor-panel> |
| | | <!-- <top-enterprise-panel></top-enterprise-panel>--> |
| | | <tool-box-panel ref="toolBox"></tool-box-panel> |
| | |
| | | import Sgis from '@src/Sgis' |
| | | // import mapConfig from '@/conf/MapConfig' |
| | | import SgisLayerController from '@components/LayerController/LayerController' |
| | | import LcBasemap from '@components/LayerController/modules/LcBaseMap' |
| | | import LcServiceLayer from '@components/LayerController/modules/LcServiceLayer' |
| | | import MonitorPanel from '@components/panel/RightSearchPanel' |
| | | // import TopEnterprisePanel from '@components/panel/TopEnterprisePanel' |
| | | import summarySheets from '@components/table/summarySheets.vue' |
| | |
| | | // import MenuSpecial from '@components/panel/MenuTopic' |
| | | import LegendPanel from '@components/panel/LegendPanel' |
| | | import Enterprise from '../components/table/enterprise' |
| | | // 底图业务js逻辑 |
| | | |
| | | import AddWasteWaterHelper from '@components/BaseNav/WasteWater/WasteWater' |
| | | import AddGasHelper from '@components/BaseNav/flueGas/flueGas' |
| | | // // 公共展示数据 |
| | | import PublicBounced from '@components/BaseNav/PublicBounced/PublicBounced' |
| | | import LayerFactory from '@components/LayerController/service/LayerFactory' |
| | |
| | | // TopEnterprisePanel, |
| | | SgisLayerController, |
| | | MonitorPanel, |
| | | LcBasemap, |
| | | LcServiceLayer, |
| | | Popup, |
| | | summarySheets, |
| | | PublicBounced |
| | |
| | | }) |
| | | }, |
| | | methods: { |
| | | AddGasHelper () { |
| | | const data = { |
| | | companyId: 3900100145, |
| | | id: '', |
| | | monType: 2, |
| | | userCode: 'wenchun.deng', |
| | | monDuration: '', |
| | | epName: '', |
| | | secdDeptId: '', |
| | | contrLevel: '', |
| | | dataStatus: '', |
| | | dataFlag: '', |
| | | runStatus: '', |
| | | emissTypeId: '' |
| | | } |
| | | const AddGas = new AddGasHelper({ map: this.map }) |
| | | AddGas.requestData(data) |
| | | AddGas.SetPlueGasContent(this.config, this.$refs.PublicBounced) |
| | | }, |
| | | ChangeWaterState () { |
| | | const data = { |
| | | companyId: 3900100145, |
| | | id: '', |
| | | monType: 1, |
| | | userCode: 'wenchun.deng', |
| | | monDuration: '', |
| | | epName: '', |
| | | secdDeptId: '', |
| | | contrLevel: '', |
| | | dataStatus: '', |
| | | dataFlag: '', |
| | | runStatus: '', |
| | | emissTypeId: '' |
| | | } |
| | | const AddWasteWater = new AddWasteWaterHelper({ map: this.map }) |
| | | AddWasteWater.requestData(data) |
| | | AddWasteWater.SetWasteWaterContent(this.config, this.$refs.PublicBounced) |
| | | }, |
| | | saveMapStatus () { |
| | | window.serviceLayerHelper = this.serviceLayerHelper |
| | | this.$store.commit('setMapObj', this.map) |
| | |
| | | L: window.L, |
| | | map: this.map |
| | | }) |
| | | layerFactory.init() |
| | | layerFactory.init(this.$store.state.map.serviceLayers.LayerSewersLine) |
| | | window.layerFactory = layerFactory |
| | | |
| | | this.basemapHelper = Sgis.initBasemapsHelper(this.map) // 初始化基础底图助手 |
| | | this.basemapHelper.initBasemap(this.config, false) // 第二个参数,表示是否内网底图 |
| | | |
| | | // this.serviceLayerHelper = Sgis.initTileLayersHelper(this.map) // 初始化业务底图助手 |
| | | // console.log('-------' + this.$refs.popup.$el) |
| | | // this.serviceLayerHelper.initServiceLayers(this.config, this.$refs.popup) |
| | | |
| | | this.vectorLayerHelper = Sgis.initVectorLayersHelper(this.map) // 初始化动态要素图层助手 |
| | | this.vectorLayerHelper.initVectorLayers(this.config) |
| | | |
| | |
| | | // this.setBasemapHelper(this.basemapHelper) |
| | | // this.setServiceLayerHelper(this.serviceLayerHelper) |
| | | // this.setVectorLayerHelper(this.vectorLayerHelper) |
| | | this.addMarker() |
| | | }, |
| | | addMarker () { |
| | | const L = this.L |
| | | var icon = new L.Icon({ |
| | | iconUrl: 'assets/images/map/marker-icon.png', |
| | | shadowUrl: 'assets/images/map/marker-shadow.png', |
| | | iconSize: [25, 41], |
| | | iconAnchor: [12, 41], |
| | | popupAnchor: [1, -34], |
| | | shadowSize: [41, 41] |
| | | }) |
| | | var marker = L.marker([32.2221, 118.7843], { |
| | | icon: icon |
| | | }).addTo(this.map) |
| | | .bindPopup(() => this.$refs.popup.$el, { |
| | | className: 's-map-popup', |
| | | minWidth: 300, |
| | | closeButton: false, |
| | | autoClose: false |
| | | }) |
| | | .bindTooltip('字体光晕效果t.', { |
| | | // permanent : true, |
| | | offset: [0, 0], // 偏移 |
| | | direction: 'right', // 放置位置 |
| | | // sticky:true,//是否标记在点上面 |
| | | className: 'anim-tooltip'// CSS控制 |
| | | }) |
| | | |
| | | marker.on('popupopen', this.onLayerClick) |
| | | }, |
| | | onLayerClick () { |
| | | this.$refs.popup.setShow() |
| | |
| | | import 'leaflet/dist/leaflet.css' |
| | | import Sgis from '@src/Sgis' |
| | | import PipeLineList from './PipeLineList' |
| | | import { mapMutations } from 'vuex' |
| | | |
| | | export default { |
| | | name: 'PipeLineIndex', |
| | |
| | | }) |
| | | }, |
| | | methods: { |
| | | ...mapMutations({ |
| | | setMapObj: 'setMapObj', |
| | | setLayerHelper: 'setLayerHelper' |
| | | }), |
| | | init () { |
| | | const mapcontainer = this.$refs.rootmap |
| | | this.mapObj = Sgis.initMap(mapcontainer) |
| | | this.basemapHelper = Sgis.initBasemaps(this.mapObj.map, this.mapObj.L) // 初始化底图 |
| | | this.vectorLayerHelper = Sgis.initLayers(this.mapObj.map, this.mapObj.L, {}, this.$nodeEnv) // 初始化业务图层 |
| | | this.setLayerHelper(this.vectorLayerHelper) |
| | | Sgis.initMap(mapcontainer) |
| | | return this.map |
| | | }, |
| | | setLayerHelper () { |
| | | |
| | | } |
| | | } |
| | | } |
| | |
| | | width="30%" |
| | | :modal="false" |
| | | :close-on-click-modal="false" |
| | | @close='closeDialog' |
| | | center> |
| | | <slot></slot> |
| | | </el-dialog> |
| | |
| | | methods: { |
| | | show () { |
| | | this.centerDialogVisible = true |
| | | }, |
| | | closeDialog () { |
| | | this.$emit('closeDialog') |
| | | } |
| | | } |
| | | } |