<template>
|
<div class="msgBox">
|
|
<div class="aside-title">
|
<div>故障信息</div>
|
<div @click="sendDataToParent()" class="closeMsg">
|
X
|
</div>
|
</div>
|
<div class="menuTable">
|
<table>
|
<tr>
|
<th style="width: 100px;">设备名称</th>
|
<th>设备位置</th>
|
<th style="width: 100px;">操作</th>
|
</tr>
|
<tr v-for="(item, indx) in $store.state.mapLayers.msgList" :key="indx">
|
<td>{{ item.msg }}</td>
|
<td>{{ item.point }}</td>
|
<td>
|
<el-button @click="handleClick(item)" type="text" size="small">查看</el-button>
|
<!-- <el-button @click="handleClick2(item)" type="text" size="small">分发</el-button> -->
|
</td>
|
</tr>
|
</table>
|
</div>
|
|
</div>
|
</template>
|
|
<script>
|
import mapConfig from '../../assets/js/mapSdk/mapConfig';
|
|
|
export default {
|
components: {
|
|
},
|
props: {
|
|
},
|
data() {
|
return {
|
label: null,
|
}
|
},
|
watch: {
|
|
},
|
mounted() {
|
|
},
|
methods: {
|
sendDataToParent() {
|
this.removeLabel();
|
console.log(23);
|
|
this.$emit('childData', '子组件数据');
|
|
},
|
removeLabel() {
|
if (this.label) {
|
this.label.removeFromMap()
|
this.label = null;
|
}
|
},
|
handleClick(item) {
|
this.removeLabel();
|
const point = mapConfig.getWKTParse(item.point)
|
this.label = earthCtrl.factory.createLabel({
|
lon: point.coordinates[0],
|
lat: point.coordinates[1],
|
alt: 40,
|
text: item.msg,
|
image: config.sdkImg + 'Workers/image/mark.png',
|
// 文本偏移量
|
pixelOffset: new SmartEarth.Cesium.Cartesian2(0, -50),
|
// 图片偏移量
|
iPixelOffset: new SmartEarth.Cesium.Cartesian2(0, -20)
|
});
|
earthCtrl.userScene.flyTo(this.label)
|
},
|
handleClick2(item) {
|
|
},
|
setMsgClose() {
|
|
}
|
|
}
|
}
|
</script>
|
|
<style lang="scss" scoped>
|
.msgBox {
|
width: 100%;
|
height: 100%;
|
background: url(~@/assets/images/Screen/chartbg.png) no-repeat;
|
background-size: 100% 100%;
|
position: relative;
|
border-radius: 5px;
|
display: flex;
|
flex-direction: column;
|
|
.aside-title {
|
box-sizing: border-box;
|
padding-left: 30px;
|
font-size: 15px;
|
font-family: YouSheBiaoTiHei, YouSheBiaoTiHei-Regular;
|
color: #fff;
|
width: 100%;
|
height: 45px;
|
line-height: 45px;
|
background-size: 100% 100%;
|
background-repeat: no-repeat;
|
display: flex;
|
|
.closeMsg {
|
margin-left: 64%;
|
cursor: pointer;
|
}
|
|
.closeMsg :hover {
|
color: #409EFF;
|
}
|
|
}
|
|
.menuTable {
|
margin: 5px;
|
margin-top: 10px;
|
text-align: center;
|
flex: 1;
|
overflow: auto;
|
|
table {
|
width: 100%;
|
color: white;
|
|
th {
|
text-align: center;
|
|
}
|
|
td {
|
line-height: 30px;
|
border-bottom: 1px solid #409EFF;
|
;
|
}
|
}
|
}
|
}
|
|
/*滚动条整体样式*/
|
::-webkit-scrollbar {
|
/*高宽分别对应横竖滚动条的尺寸*/
|
width: 5px;
|
height: 1px;
|
}
|
|
/*滚动条里面小方块*/
|
::-webkit-scrollbar-thumb {
|
border-radius: 5px;
|
-webkit-box-shadow: inset 0 0 5px rgba(0, 0, 0, 0.2);
|
background: #409EFF;
|
}
|
|
/*滚动条里面轨道*/
|
::-webkit-scrollbar-track {
|
-webkit-box-shadow: inset 0 0 5px rgba(0, 0, 0, 0.2);
|
border-radius: 10px;
|
background: rgba(237, 237, 237, .1);
|
}
|
</style>
|