From 4df0471b7dff0494625ff09969b1a13b5359a26e Mon Sep 17 00:00:00 2001
From: XingChuan <m17600301067@163.com>
Date: 星期一, 31 五月 2021 22:41:47 +0800
Subject: [PATCH] 统计表弹框UI优化;增加点击企业名称缩放至企业;二级表展示功能优化。

---
 src/views/popup/Popup.vue |  108 ++++++++++++++++++++++++------------------------------
 1 files changed, 48 insertions(+), 60 deletions(-)

diff --git a/src/views/popup/Popup.vue b/src/views/popup/Popup.vue
index 02703b5..242aea0 100644
--- a/src/views/popup/Popup.vue
+++ b/src/views/popup/Popup.vue
@@ -1,16 +1,32 @@
 <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 type="card" v-model="tabIndex" @tab-click="handleClick">
       <el-tab-pane
-              :key="item.name"
-              v-for="(item) in tabs"
+              :key="index"
+              v-for="(item,index) in datas"
               :label="item.title"
-              :name="item.name"
+              :name="index.toString()"
       >
-        <el-row v-for="(v,k) in filter" :key="k">
-          <el-col :span="10"><B>{{k}}锛�</B></el-col>
-          <el-col :span="14">{{v}}</el-col>
+        <el-row v-for="(item,key)  in item.content" :key="key">
+          <el-col :span="12"><B>{{key}}锛�</B></el-col>
+          <el-col :span="12">{{item}}</el-col>
         </el-row>
+        <el-table v-if="item.tableList"
+                :data="item.tableList"
+                style="width: 100%">
+          <el-table-column
+                  prop="pipesegcode"
+                  label="绠℃缂栫爜">
+          </el-table-column>
+          <el-table-column
+                  prop="startpointdepth"
+                  label="璧风偣鍩嬫繁(m)">
+          </el-table-column>
+          <el-table-column
+                  prop="startpointz"
+                  label="璧风偣楂樼▼(m)">
+          </el-table-column>
+        </el-table>
       </el-tab-pane>
     </el-tabs>
   </div>
@@ -18,76 +34,48 @@
 
 <script>
 // import '@/assets/css/map/map-popup.scss'
-import { props } from '../../conf/Constants'
+
+import { highlight } from '../../components/helpers/LocateHelper'
 
 export default {
   name: 'Popup',
+  props: ['datas'],
   data () {
     return {
-      tabsValue: '1',
-      tabs: [],
-      tabIndex: 2,
+      tabsValue: '',
+      tabIndex: 0,
       isShow: false,
-      properties: {},
-      props: props
+      properties: {}
     }
   },
   computed: {
-    filter () {
-      var obj = {}
-      for (const key in this.properties) {
-        if (this.props[key]) {
-          obj[this.props[key]] = this.properties[key]
-        }
-      }
-      return obj
-    }
   },
   methods: {
-    handleTabsEdit (targetName, action) {
-      if (action === 'add') {
-        const newTabName = ++this.tabIndex + ''
-        this.editableTabs.push({
-          title: 'New Tab',
-          name: newTabName,
-          content: 'New Tab content'
-        })
-        this.editableTabsValue = newTabName
-      }
-      if (action === 'remove') {
-        const tabs = this.editableTabs
-        let activeName = this.editableTabsValue
-        if (activeName === targetName) {
-          tabs.forEach((tab, index) => {
-            if (tab.name === targetName) {
-              const nextTab = tabs[index + 1] || tabs[index - 1]
-              if (nextTab) {
-                activeName = nextTab.name
-              }
-            }
-          })
+    filter (content) {
+      var obj = {}
+      for (const key in content) {
+        if (this.props[key]) {
+          obj[this.props[key]] = content[key]
         }
-
-        this.editableTabsValue = activeName
-        this.editableTabs = tabs.filter(tab => tab.name !== targetName)
       }
-    },
-    setDatas (layer) {
-      console.log(layer)
-      this.tabs = [{
-        title: layer.feature.properties.name || layer.feature.id,
-        name: '1'
-      }]
-      this.properties = layer.feature.properties
+      // console.log(obj)
+      return obj
     },
     setShow () {
       // this.style.display='auto'
-      this.data = 'adsfadfsadfsdafsdfsdfdsafsdafsdafa'
       this.isShow = true
     },
-    onClick () {
-      const param = 1111
-      this.$emit('callPopup', param)
+    handleClick (tab, event) {
+      const data = this.datas[this.tabIndex]
+      const feature = data.feature
+      highlight(feature)
+    }
+  },
+  watch: {
+    datas (newVal) {
+      if (newVal != null) {
+        this.tabsValue = newVal[0].name
+      }
     }
   }
 }

--
Gitblit v1.8.0