<template>
|
<div class="public-bounced map-background" v-drag :style="style">
|
<div class="public-bounced-title panel-title" ref="publicBounced">
|
<span>{{title}}</span>
|
<i class="el-icon-circle-close" @click="max"></i>
|
<i class="el-icon-circle-close" @click="close"></i>
|
</div>
|
<div class="public-bounced-content" :id="id">
|
</div>
|
</div>
|
</template>
|
|
<script>
|
import helper from './helper/helper.js'
|
|
export default {
|
data () {
|
return {
|
cls: {
|
'vl-notify-iframe': true
|
},
|
style: {},
|
id: 'vlip' + new Date().getTime()
|
}
|
},
|
props: {
|
options: {
|
type: Object,
|
default: function () {
|
return {}
|
}
|
}
|
},
|
computed: {
|
},
|
async mounted () {
|
helper.hiddenScrollBar(this.options)
|
},
|
methods: {
|
close () {
|
this.layer.close(this.id)
|
},
|
init () {
|
const propsData = helper.deepClone(this.content.content.data) || {}
|
propsData.layerid = this.id
|
propsData.lydata = this.content.data
|
propsData.lyoption = this.options
|
const instance = new this.content.content({
|
// 具体参数信息,请参考vue源码
|
parent: this.content.parent,
|
propsData: propsData
|
})
|
instance.vm = instance.$mount()
|
document.getElementById(this.id).appendChild(instance.vm.$el)
|
},
|
max () {
|
// 最大化窗口
|
let height = document.documentElement.clientHeight
|
if (height % 2 === 1) {
|
height += 1
|
}
|
this.style = {
|
overflow: 'hidden',
|
left: '50%',
|
width: '100%',
|
height: height + 'px',
|
minHeight: '42px'
|
}
|
this.maxMiniState = 2
|
},
|
maxmini () { // 还原
|
document.getElementById(this.options.id).removeAttribute('style')
|
this.maxMiniState = 0
|
}
|
}
|
}
|
</script>
|
|
<style lang="less" scoped>
|
.public-bounced {
|
z-index: 2000;
|
position: absolute;
|
top: 35%;
|
left: 20%;
|
|
.public-bounced-title {
|
cursor: move;
|
height: 0.1rem;
|
padding: 10px 0;
|
display: flex;
|
align-items: center;
|
justify-content: space-between;
|
|
span {
|
color: #f4f7ff;
|
margin: 0 15px;
|
font-size: 14px;
|
}
|
|
i {
|
color: #C0C4CC;
|
margin: 0 15px;
|
font-size: 22px;
|
cursor: pointer;
|
}
|
|
i:hover {
|
color: #00fff6;
|
}
|
}
|
|
.public-bounced-content {
|
padding: 0.1rem;
|
display: flex;
|
//align-items: center;
|
//justify-content: space-around;
|
|
.public-bounced-content-left {
|
//width: 4.8rem;
|
}
|
|
.public-bounced-content-right {
|
//width: 3rem;
|
margin-left: 0.1rem;
|
}
|
}
|
}
|
</style>
|