From 392b411e0a19130ae9cb375c1fb8d2cbab5a4c14 Mon Sep 17 00:00:00 2001
From: 徐旺旺 <11530253@qq.com>
Date: 星期四, 06 五月 2021 16:55:19 +0800
Subject: [PATCH] popup改为弹窗

---
 src/components/LayerController/service/WmsLayerService.js |   16 ++++++++++++++--
 src/views/MapTemplate.vue                                 |    7 +------
 src/views/popup/Popup.vue                                 |   21 ++++++++++++++-------
 3 files changed, 29 insertions(+), 15 deletions(-)

diff --git a/src/components/LayerController/service/WmsLayerService.js b/src/components/LayerController/service/WmsLayerService.js
index 9e6d2f5..38758ff 100644
--- a/src/components/LayerController/service/WmsLayerService.js
+++ b/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()
           }
         })
       }
diff --git a/src/views/MapTemplate.vue b/src/views/MapTemplate.vue
index 51c3ab4..d0bffe7 100644
--- a/src/views/MapTemplate.vue
+++ b/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)
diff --git a/src/views/popup/Popup.vue b/src/views/popup/Popup.vue
index 8e8b877..a67a49f 100644
--- a/src/views/popup/Popup.vue
+++ b/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>

--
Gitblit v1.8.0