Newer
Older
CloudBrainNew / src / views / mapViews / Map3D.vue
StephanieGitHub on 4 Feb 2021 4 KB first commit
<template>
  <div class="panel-container">
    <div style="width: 98%;height: 97%;margin: 0 2%; position:relative;">
      <div class="mapBox" id="cesiumContainer"></div>
      <div style="width: 100%;height:100%; position: relative;">
        <div class="totalBox">
          <ul>
            <li v-for="(value,index) in totalData" :key="index"  @click="changeStatus('Map2D')">
              <p>{{value.name}}</p>
              <h3>{{value.num}}</h3>
            </li>
          </ul>
        </div>
        <div class="dataBox">
          <div class="dataBox-left">
            <DataList :data="ggxxjc" :head="['设备类型','数值']" title="公共信息基础" />
            <DataList :data="ykt" :head="['设备类型','数值']" title="一卡通" />
          </div>
          <div class="dataBox-center">
            <DataListColumn2 :data="wlwpt" :head="['设备类型','数值', '设备类型','数值']" title="物联网平台" />
          </div>
          <div class="dataBox-right">
            <DataList :data="mh" :head="['设备类型','数值']" title="门户" />
            <DataList :data="dsjpt" :head="['设备类型','数值']" title="大数据平台" />
            <DataList :data="sppt" :head="['设备类型','数值']" title="视频平台" />
          </div>
        </div>
      </div>
    </div>
  </div>
</template>
<script>
import { mapActions } from 'vuex'
import DataList from '@/components/DataList'
import DataListColumn2 from '@/components/DataListColumn2'
export default {
  components:{
    DataList,
    DataListColumn2
  },
  data() {
    return {
      totalData:[
        { name: "面积", num: "100" },
        { name: "门户接入", num: "100" },
        { name: "一卡通用户", num: "100" },
        { name: "数据共享", num: "100" },
        { name: "物联网", num: "100" },
        { name: "视频", num: "100" },
        { name: "云资源", num: "100" }
      ],
      // 公共信息基础
      ggxxjc: [
        { name: "虚拟机", num: "100" },
        { name: "cpu", num: "100" },
        { name: "内存", num: "100" },
        { name: "存储", num: "100" },
        { name: "带宽", num: "100" },
      ],
      //一卡通
      ykt: [
        { name: "注册数", num: "100" },
        { name: "资源接入数", num: "100" },
        { name: "订单数", num: "100" },
        { name: "缴费总金额", num: "100" },
      ],
      //物联网平台
      wlwpt: [
        { name: "IC门禁", num: "100" },
        { name: "标识器", num: "100" },
        { name: "微型图书馆", num: "100" },
        { name: "燃气感应仪", num: "100" },
        { name: "停车感应器", num: "100" },
        { name: "燃气感应仪", num: "100" },
        { name: "测速仪器", num: "100" },
      ],
      //门户
      mh:[
        { name: "注册用户数", num: "100" },
        { name: "平台接入数", num: "100" },
        { name: "统一认证数", num: "100" }
      ],
      //大数据平台
      dsjpt:[
        { name: "数据共享次数", num: "100" },
        { name: "数据交换次数", num: "100" },
        { name: "数据交换次数", num: "100" }
      ],
      //视频平台
      sppt:[
        { name: "视频总数", num: "100" },
        { name: "球形数", num: "100" },
        { name: "枪形数", num: "100" }
      ],
    };
  },
  created() {},
  mounted() {
    this.initMap()
  },
  methods: {
    ...mapActions(['changeStatus']),
    initMap(){
      var viewer = new Cesium.Viewer('cesiumContainer');
      // var scene = viewer.scene,
      //   promise = scene.open('http://10.18.0.30:8090/iserver/services/3D-SanWeiChangJing/rest/realspace');
    }
  }
};
</script>

<style scoped>
#cesiumContainer {
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
  width: 100%;
  margin: 0;
  overflow: hidden;
  padding: 0;
  font-family: sans-serif;
  z-index: 1;
}
.panel-container {
  width: 100%;
  flex: 1.1 !important;
  height: 100%;
  overflow: auto;
}
.mapBox{
  width: 100%;
  position:absolute;
  top: 0;
  bottom:0;
}
.totalBox{
  padding-top: .1rem;
}
.totalBox li{
  z-index: 9;
}
.totalBox ul{
  display: flex;
  justify-content: space-evenly;
  
} 
.totalBox ul li p{
  font-size: .07rem;
}
.totalBox ul li h3{
  font-size: .2rem;
  font-family: DS-DigitalBold;
}
.totalBox ul li:nth-last-child(1) h3{
  color:#52bd4b;
}
.totalBox ul li:nth-last-child(2) h3{
  color:#d33c41;
}
.totalBox ul li:nth-last-child(3) h3{
  color:#3deef8;
}
.totalBox ul li:nth-last-child(4) h3{
  color:#ce14cd;
}
.totalBox ul li:nth-last-child(5) h3{
  color:#ffbe00;
}
.totalBox ul li:nth-last-child(6) h3{
  color:#beff0a;
}
.totalBox ul li:nth-last-child(7) h3{
  color:#52bd4b;
}
.dataBox{
  width: 100%;
  position: absolute;
  bottom: 0;
  display: flex;
  align-items: flex-end;
}
.dataBox-left, .dataBox-right{
  width: 25%;
  float:left;
  z-index: 9;
}
.dataBox-left>div, .dataBox-right>div{
  margin-bottom: .1rem;
}
.dataBox-left>div:last-child, .dataBox-right>div:last-child{
  margin-bottom: 0;
}
.dataBox-center{
  width: 46%;
  float:left;
  margin: 0 2%;
  z-index: 9;
}
</style>