派生自 wuyushui/SewerAndRainNetwork

wangqi
2021-03-12 0c9979075994d553695e1027b0d31566c838aff7
Merge remote-tracking branch 'origin/master'
2个文件已删除
9个文件已修改
231 ■■■■ 已修改文件
public/assets/css/map/custom-popup.css 36 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
public/assets/css/map/magic.min.css 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
public/index.html 4 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/App.vue 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/Sgis.js 25 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/assets/css/map/map-popup.less 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/components/LayerController/modules/LcServiceLayerFilter.vue 46 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/components/helpers/ServiceLayerHelper.js 31 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/components/panel/topicSearch/SewersSearch.vue 71 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/conf/Styles.js 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/MapTemplate.vue 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
public/assets/css/map/custom-popup.css
File was deleted
public/assets/css/map/magic.min.css
File was deleted
public/index.html
@@ -3,7 +3,9 @@
  <head>
    <meta charset="utf-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width,initial-scale=1.0">
<!--    <meta name="viewport" content="width=device-width,initial-scale=1.0">-->
      <meta name="viewport" content="width=device-width">
      <meta http-equiv="X-UA-Compatible" content="IE=11">
    <link rel="icon" href="<%= BASE_URL %>favicon.ico">
    <title><%= htmlWebpackPlugin.options.title %></title>
  </head>
src/App.vue
@@ -22,4 +22,11 @@
  padding: 0;
  overflow: hidden;
}
body .el-scrollbar__wrap {
  overflow-x: hidden;
}
body{
  -ms-overflow-style: none;
}
</style>
src/Sgis.js
@@ -4,18 +4,22 @@
import Editable from '@components/plugin/Editable'
import PathDrag from '@components/plugin/PathDrag'
import MagicMarker from '@components/plugin/MagicMarker'
import WmtsSupport from '@components/plugin/wmts_plugins'
// import MagicMarker from '@components/plugin/MagicMarker'
// import WmtsSupport from '@components/plugin/wmts_plugins'
import MapConfig from '@/conf/MapConfig'
// import DashFlow from '@components/plugin/PathDashFlow'
import CanvasMarkers from '@components/plugin/CanvasMarkers'
import FullScreen from '@components/plugin/FullScreen'
// 下载
import '@components/plugin/PathDashFlow' // 流动线图
// import CanvasMarkers from '@components/plugin/CanvasMarkers'
// import FullScreen from '@components/plugin/FullScreen'
import DownLoad from '@components/plugin/DownLoad'
// 测量
import LeafletMeasurePath from '@components/plugin/leaflet-measure-path/leaflet-measure-path'
import 'leaflet.markercluster'
// import 'leaflet-canvas-markers'
import './components/plugin/Leaflet.GridLayer.FadeOut' // 瓦片图层切换淡入淡出
import './components/plugin/leaflet-canvas-markers' // 画布marker
let map = null
const L = window.L
const initMap = (div) => {
@@ -26,13 +30,12 @@
  // Leaflet扩展代码
  Editable.init(L) // 图层编辑
  PathDrag.init(L) // 路径拖拽
  MagicMarker.init(L) // 动画Marker
  WmtsSupport.init(L) // 扩展,使支持WMTS
  // MagicMarker.init(L) // 动画Marker
  // WmtsSupport.init(L) // 扩展,使支持WMTS
  // CustomPopup.init(L) // 自定义弹出框
  // DashFlow.DashFlow(L) // 流动线图
  CanvasMarkers.init(L)// 画布图层
  // CanvasMarkers.init(L)// 画布图层
  // 全屏
  FullScreen.init(L)
  // FullScreen.init(L)
  // 下载
  DownLoad.init(L)
  LeafletMeasurePath.init(L)
src/assets/css/map/map-popup.less
@@ -7,8 +7,10 @@
        /*background-color: transparent;*/
        border: .00521rem solid @color;
        padding: .10417rem;
        -webkit-box-shadow: 0 0 0.03125rem 0 @color;
        box-shadow: 0 0 0.03125rem 0 @color;
        //-webkit-box-shadow: 0 0 0.03125rem 0 @color;
        //box-shadow: 0 0 0.03125rem 0 @color;
        -webkit-box-shadow: 0 0 10px 0 @color;
        box-shadow: 0 0 10px @color;
        border-radius: 1rem;
    }
src/components/LayerController/modules/LcServiceLayerFilter.vue
@@ -5,12 +5,14 @@
                <div class="title"><input type="checkbox" :value="item.code" :checked="item.checked"
                                          @change="swAllSubFilter(item)">{{item.name}}
                </div>
              <el-scrollbar style="height:100%">
                <div class="content">
                    <div v-for="filter in item.layers" :key="filter.code">
                        <input type="checkbox" :value="filter.code" :checked="filter.checked" @change="swSubFilter(item.url,filter)"><label
                            :title="filter.name">{{filter.name}}</label>
                    </div>
                </div>
              </el-scrollbar>
            </div>
        </div>
    </div>
@@ -92,7 +94,7 @@
                margin-right: 5px;
                .title {
                    height: '25px';
                    height: 25px;
                    background-color: #091331;
                    border: 1px solid #10488c;
                }
@@ -101,28 +103,28 @@
                    background-color: rgba(44, 62, 80, 0.6);
                    border: 1px solid #10488c;
                    max-height: 200px;
                    overflow-y: auto;
                    //overflow-y: hidden;
                }
                ::-webkit-scrollbar {
                    width: 7px;
                    height: 5px !important;
                }
                ::-webkit-scrollbar-thumb {
                    /*滚动条里面小方块*/
                    border-radius: 10px;
                    box-shadow: inset 0 0 5px rgba(0, 0, 0, 0.2);
                    background: #0661AE;
                    border: 1px solid transparent;
                }
                ::-webkit-scrollbar-track {
                    /*滚动条里面轨道*/
                    // box-shadow   : inset 0 0 5px rgba(0, 0, 0, 0.2);
                    border-radius: 0px;
                    background: #0E3565;
                }
                //
                //::-webkit-scrollbar {
                //    width: 7px;
                //    height: 5px !important;
                //}
                //
                //::-webkit-scrollbar-thumb {
                //    /*滚动条里面小方块*/
                //    border-radius: 10px;
                //    box-shadow: inset 0 0 5px rgba(0, 0, 0, 0.2);
                //    background: #0661AE;
                //    border: 1px solid transparent;
                //}
                //
                //::-webkit-scrollbar-track {
                //    /*滚动条里面轨道*/
                //    // box-shadow   : inset 0 0 5px rgba(0, 0, 0, 0.2);
                //    border-radius: 0px;
                //    background: #0E3565;
                //}
            }
        }
    }
src/components/helpers/ServiceLayerHelper.js
@@ -140,11 +140,10 @@
     * @param res
     */
  loadGeojson (res, opt) {
    var that = this
    var icon = opt.icon
    const featureGroup = that.L.featureGroup()
    const featureGroup = this.L.featureGroup()
    const featureList = []
    const geojson = that.L.geoJSON(res.features, {
    const geojson = this.L.geoJSON(res.features, {
      style: function (feature) {
        return {
          fill: styles.defaultLineStyle.fill,
@@ -157,8 +156,8 @@
          dashSpeed: styles.defaultLineStyle.dashSpeed
        }
      },
      pointToLayer: function (geoJsonPoint, latlng) {
        return that.L.canvasMarker(latlng,
      pointToLayer: (geoJsonPoint, latlng) => {
        return this.L.canvasMarker(latlng,
          {
            img: {
              // url: 'assets/images/map/marker-icon.png',
@@ -167,21 +166,19 @@
            }
          })
      },
      onEachFeature: function (feature, layer) {
        console.log(feature)
        console.log(layer)
      onEachFeature: (feature, layer) => {
        featureList.push(layer)
        layer.bindPopup(function (layer) {
          that.popupComp.setDatas(layer)
          that.popupComp.setShow()
          return that.popupComp.$el
        layer.bindPopup((layer) => {
          this.popupComp.setDatas(layer)
          this.popupComp.setShow()
          return this.popupComp.$el
        }, {
          className: 's-map-popup',
          minWidth: 300,
          closeButton: false,
          autoClose: false
        })
          .bindTooltip(function (layer) {
          .bindTooltip((layer) => {
            const nameId = layer.feature.id
            let name = ''
            if (nameId.indexOf('三通') !== -1 || nameId.indexOf('四通') !== -1 || nameId.indexOf('窨井') !== -1) {
@@ -194,7 +191,7 @@
            }
            return name
          }, { direction: 'bottom', offset: [0, 15], sticky: true })
          .on('mouseover', function (e) {
          .on('mouseover', (e) => {
            const type = e.target.feature.geometry.type
            if (type === 'LineString' || type === 'MultiLineString') {
              layer.setStyle({ weight: 8, color: '#00ffff' })
@@ -208,7 +205,7 @@
              layer.bringToFront()
            }
          }).on('mouseout', function (e) {
          }).on('mouseout', (e) => {
            const type = e.target.feature.geometry.type
            if (type === 'LineString' || type === 'MultiLineString') {
              layer.setStyle({ weight: styles.defaultLineStyle.weight, color: styles.defaultLineStyle.color })
@@ -225,8 +222,8 @@
      }
    })
    store.commit('addSewersDatas', geojson)
    featureGroup.addTo(that.map)
    that.setZIndex(featureGroup)
    featureGroup.addTo(this.map)
    this.setZIndex(featureGroup)
    return featureGroup
  }
src/components/panel/topicSearch/SewersSearch.vue
@@ -1,5 +1,5 @@
<template>
  <div class="sewers-search">
 <div class="sewers-search">
    <div class="el-message-box__content" style="padding:6px;font-size: 13px;">
      <div class="box__content" v-if="gdVisible">
        <div>
@@ -25,46 +25,47 @@
                  </el-option>
                </el-select>
              </el-form-item>
<!--              <el-form-item >-->
                <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-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-item >-->
              <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-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>
          </el-card>
          <el-scrollbar style="height:100%">
          <el-card class="search-result" >
            <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">
                  <div class="B-TMD-table-list-title-y"
                       :class="['B-TMD-table-list-title-y-nam', { 'warning': item.vehicleStatus==='910003' }, { 'offline': item.vehicleStatus==='910001' }]">
<!--                    <span>运单号:</span>-->
                    <!--                    <span>运单号:</span>-->
                    <span id="waybillNumber" class=""
                          :title="item.properties.pipename">
                                                <span class="location-btn" @click="handleLocation(item)">{{ item.properties.pipename }}</span>
                                            </span>
                  </div>
<!--                  <div class="B-TMD-table-list-title-c">-->
<!--                    {{ labelList[0] }}:-->
<!--                    <span id="plateNumber_p">-->
<!--                                                <span id="plateNumber_n"><a href="#">{{ item.properties.item.p1 }}</a></span>-->
<!--                                            </span>-->
<!--                  </div>-->
                  <!--                  <div class="B-TMD-table-list-title-c">-->
                  <!--                    {{ labelList[0] }}:-->
                  <!--                    <span id="plateNumber_p">-->
                  <!--                                                <span id="plateNumber_n"><a href="#">{{ item.properties.item.p1 }}</a></span>-->
                  <!--                                            </span>-->
                  <!--                  </div>-->
                </div>
<!--                <div class="B-TMD-table-icons" style="float:right">-->
<!--                  <ul>-->
<!--                    <li class="B-TMD-table-list-title-y-adress"-->
<!--                        @click="handleLocation(item)"></li>-->
<!--                    <li :class="[{'B-TMD-table-list-title-y-car': item.vehicleStatus ==='910002', 'B-TMD-table-list-title-y-car-offline': item.vehicleStatus ==='910001','B-TMD-table-list-title-y-car-warning': item.vehicleStatus==='910003' }]"></li>-->
<!--                  </ul>-->
<!--                </div>-->
                <!--                <div class="B-TMD-table-icons" style="float:right">-->
                <!--                  <ul>-->
                <!--                    <li class="B-TMD-table-list-title-y-adress"-->
                <!--                        @click="handleLocation(item)"></li>-->
                <!--                    <li :class="[{'B-TMD-table-list-title-y-car': item.vehicleStatus ==='910002', 'B-TMD-table-list-title-y-car-offline': item.vehicleStatus ==='910001','B-TMD-table-list-title-y-car-warning': item.vehicleStatus==='910003' }]"></li>-->
                <!--                  </ul>-->
                <!--                </div>-->
              </div>
              <div class="B-TMD-table-list-content">
@@ -72,17 +73,17 @@
                  <span>{{ itm.label }}:</span>
                  <span id="b_twe_loan" :title="item.properties[itm.key] ">{{ item.properties[itm.key] }}</span>
                </div>
<!--                <div><span>收货企业:</span> <span-->
<!--                    id="b_twe_loan1" :title="item.recvWarehouseName">{{ item.recvWarehouseName }}</span>-->
<!--                </div>-->
                <!--                <div><span>收货企业:</span> <span-->
                <!--                    id="b_twe_loan1" :title="item.recvWarehouseName">{{ item.recvWarehouseName }}</span>-->
                <!--                </div>-->
              </div>
<!--              <div class="B-TMD-table-list-bottom">-->
<!--                <div class="B-TMD-table-list-bottom-name">-->
<!--                  货物名称:<span :title="item.materialName">{{ item.materialName }}</span></div>-->
<!--              </div>-->
              <!--              <div class="B-TMD-table-list-bottom">-->
              <!--                <div class="B-TMD-table-list-bottom-name">-->
              <!--                  货物名称:<span :title="item.materialName">{{ item.materialName }}</span></div>-->
              <!--              </div>-->
            </div>
          </el-card>
          </el-scrollbar>
          <el-card class="footer-page" v-if="total > 10">
            <el-pagination
                small
src/conf/Styles.js
@@ -5,7 +5,7 @@
  color: '#73b2ff',
  fillOpacity: 0.2,
  opacity: 1,
  dashArray: '5,5',
  dashArray: '4,4',
  dashSpeed: -5,
  size: [20, 20]
}
src/views/MapTemplate.vue
@@ -81,7 +81,7 @@
      this.basemapHelper.initBasemap(this.config, false) // 第二个参数,表示是否内网底图
      this.serviceLayerHelper = Sgis.initTileLayersHelper(this.map) // 初始化业务底图助手
      console.log(this.$refs.popup.$el)
      console.log('-------' + this.$refs.popup.$el)
      this.serviceLayerHelper.initServiceLayers(this.config, this.$refs.popup)
      this.vectorLayerHelper = Sgis.initVectorLayersHelper(this.map) // 初始化动态要素图层助手