派生自 wuyushui/SewerAndRainNetwork

徐旺旺
2021-05-06 392b411e0a19130ae9cb375c1fb8d2cbab5a4c14
popup改为弹窗
3个文件已修改
44 ■■■■■ 已修改文件
src/components/LayerController/service/WmsLayerService.js 16 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/MapTemplate.vue 7 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/popup/Popup.vue 21 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/components/LayerController/service/WmsLayerService.js
@@ -1,5 +1,6 @@
import AjaxUtils from '../../../utils/AjaxUtils'
import { PIPELINE_WMS } from '../../../conf/Constants'
import Popup from '@views/popup/Popup'
/**
 * todo 得考虑一个图层配置了多个 wmsLayers的情况
@@ -118,7 +119,7 @@
            var myIcon = this.L.divIcon({ className: 'my-div-icon' })
            this.L.marker(e.latlng, {
              icon: myIcon
            }).addTo(this.featureGroup)
            }).addTo(this.featureGroup)/*
              .bindPopup((layer) => {
                this.popupComp.setDatas(popupDatas)
                this.popupComp.setShow()
@@ -129,7 +130,18 @@
                closeButton: false,
                autoClose: false
              })
              .openPopup()
              .openPopup() */
            window.$layer.open({
              content: {
                content: Popup, // 组件
                data: { // 传递的参数
                  datas: popupDatas
                }
              },
              title: '' // 标题
            })
            // this.popupComp.setDatas(popupDatas)
            // this.popupComp.setShow()
          }
        })
      }
src/views/MapTemplate.vue
@@ -1,6 +1,6 @@
<template>
  <div class="full-screen">
    <popup ref="popup" @callPopup="callPopup"></popup>
    <!--<popup ref="popup" @callPopup="callPopup"></popup>-->
    <div id="map" ref="rootmap">
    </div>
    <sgis-layer-controller></sgis-layer-controller>
@@ -30,7 +30,6 @@
// import summarySheets from '@components/table/summarySheets.vue'
import SummarySheet from '@components/table/SummarySheet'
import ToolBoxPanel from '@components/panel/ToolBoxPanel'
import Popup from '@views/popup/Popup'
// import MenuSpecial from '@components/panel/MenuTopic'
import LegendPanel from '@components/panel/LegendPanel'
// import Enterprise from '../components/table/enterprise'
@@ -49,7 +48,6 @@
    // TopEnterprisePanel,
    SgisLayerController,
    MonitorPanel,
    Popup,
    // summarySheets,
    SummarySheet,
    PublicBounced
@@ -114,9 +112,6 @@
      // this.setBasemapHelper(this.basemapHelper)
      // this.setServiceLayerHelper(this.serviceLayerHelper)
      // this.setVectorLayerHelper(this.vectorLayerHelper)
    },
    onLayerClick () {
      this.$refs.popup.setShow()
    },
    callPopup (val) {
      console.log(val)
src/views/popup/Popup.vue
@@ -1,11 +1,11 @@
<template>
  <div id="popup" v-if="isShow" class="s-map-popup-panel">
    <el-tabs v-model="tabsValue" type="card">
  <div id="popup" class="s-map-popup-panel" style="min-width: 280px;max-width: 280px;padding: 0 10px">
    <el-tabs :value="0" type="card">
      <el-tab-pane
              :key="item.name"
              v-for="(item) in tabs"
              v-for="(item,index) in datas"
              :label="item.title"
              :name="item.name"
              :name="index"
      >
        <el-row v-for="(v,k) in filter(item.content)" :key="k">
          <el-col :span="12"><B>{{k}}:</B></el-col>
@@ -22,10 +22,10 @@
export default {
  name: 'Popup',
  props: ['datas'],
  data () {
    return {
      tabsValue: '',
      tabs: [],
      tabIndex: 2,
      isShow: false,
      properties: {},
@@ -47,18 +47,25 @@
    },
    setDatas (layer) {
      console.log(layer)
      this.tabs = layer
      this.datas = layer
      this.tabsValue = layer[0].name
    },
    setShow () {
      // this.style.display='auto'
      this.data = 'adsfadfsadfsdafsdfsdfdsafsdafsdafa'
      this.isShow = true
    },
    onClick () {
      const param = 1111
      this.$emit('callPopup', param)
    }
  },
  watch: {
    datas (newVal) {
      console.log(newVal)
      if (newVal != null) {
        this.tabsValue = newVal[0].name
      }
    }
  }
}
</script>