<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-close" style="font-size: 16px;" @click="close"></i>
|
</div>
|
<div class="public-bounced-content" :id="id"></div>
|
</div>
|
</template>
|
|
<script>
|
import helper from './helper/helper.js'
|
import '../../../utils/dragBoxes'
|
|
export default {
|
data () {
|
return {
|
style: {},
|
id: 'sewer_layeropen_' + new Date().getTime()
|
}
|
},
|
props: {
|
options: {
|
type: Object,
|
default: function () {
|
return {}
|
}
|
}
|
},
|
computed: {},
|
mounted () {
|
let left = this.left
|
let top = this.top
|
if (left > 0) {
|
left = left + 'px'
|
}
|
if (top > 0) {
|
top = top + 'px'
|
}
|
this.style = {
|
left: left || '25%',
|
top: top || '35%'
|
}
|
},
|
methods: {
|
close () {
|
this.layer.close(this.id)
|
},
|
init () {
|
const propsData = helper.deepClone(this.content.data) || {}
|
// console.log(propsData)
|
const instance = new this.content.comp({
|
// 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;
|
|
.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: 16px;
|
}
|
|
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>
|