Newer
Older
CloudBrainNew / src / views / mapViews / Map3D.vue
wangxitong on 29 Apr 2021 4 KB 0429 submit
<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>