From 0ace25701a381cffeda6973a9459a5195058b23b Mon Sep 17 00:00:00 2001 From: YANGDL <114714267@qq.com> Date: 星期一, 01 三月 2021 20:20:18 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/master' --- src/views/popup/Popup.vue | 95 ++++++++++++++++++++++++++++++++++++----------- 1 files changed, 72 insertions(+), 23 deletions(-) diff --git a/src/views/popup/Popup.vue b/src/views/popup/Popup.vue index 83e359b..ac5d088 100644 --- a/src/views/popup/Popup.vue +++ b/src/views/popup/Popup.vue @@ -1,40 +1,83 @@ <template> - <div v-if="isShow" class="s-map-popup-panel" > - - <div> - {{ data }} - </div> - <div> - {{ data }} - </div> - <br> - <br> - <div> - {{ data }} - </div> - <br> - <br> - - <div> - {{ data }} - </div> - <el-button type="primary" @click="onClick">涓昏鎸夐挳</el-button> + <div id="popup" v-if="isShow" class="s-map-popup-panel"> + <el-tabs v-model="tabsValue" type="card" @edit="handleTabsEdit"> + <el-tab-pane + :key="item.name" + v-for="(item) in tabs" + :label="item.title" + :name="item.name" + > + <el-row v-for="(v,k) in filter" :key="k"> + <el-col :span="12">{{k}}</el-col> + <el-col :span="12">{{v}}</el-col> + </el-row> + </el-tab-pane> + </el-tabs> </div> </template> <script> // import '@/assets/css/map/map-popup.scss' +import { props } from '../../conf/Constants' + export default { name: 'Popup', data () { return { - + tabsValue: '1', + tabs: [{ + title: '姹¢洦姘�', + name: '1' + }], + tabIndex: 2, isShow: false, - data: '' + properties: {}, + props: props } }, - + 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 + } + } + }) + } + + this.editableTabsValue = activeName + this.editableTabs = tabs.filter(tab => tab.name !== targetName) + } + }, + setDatas (feature) { + this.properties = feature.properties + }, setShow () { // this.style.display='auto' this.data = 'adsfadfsadfsdafsdfsdfdsafsdafsdafa' @@ -50,4 +93,10 @@ <style lang="less" > @import '../../assets/css/map/map-popup.less'; +#popup{ + .el-tabs__content{ + max-height: 300px; + overflow: auto; + } +} </style> -- Gitblit v1.8.0