Newer
Older
GDT_FRONT / src / views / energy / energyStatistics.vue
[wangxitong] on 21 Jun 2022 1 KB first commit
<template>
  <div class="dashboard-container" style="background-color: white">
    <el-row>
      <el-col :span="8">
        <el-card shadow="never" class="card">
          <energy-num ref="energyNum"/>
        </el-card>
      </el-col>
      <el-col :span="8">
        <el-card shadow="never" class="card">
          <energy-year ref="energyYear"/>
        </el-card>
      </el-col>
      <el-col :span="8">
        <el-card shadow="never" class="card">
          <energy-month ref="energyYear"/>
        </el-card>
      </el-col>
    </el-row>
    <el-row>
      <el-col :span="6"  v-for="(item,index) in buildingList" :key="item.value">
        <el-card shadow="never" class="card">
          <energy-building :ref="'building'+index" :query="item"/>
        </el-card>
      </el-col>
    </el-row>
  </div>
</template>

<script>
  import { mapGetters } from 'vuex'
  import EnergyNum from "./components/energyNum";
  import EnergyYear from "./components/energyYear";
  import EnergyMonth from "./components/energyMonth";
  import { getDictByCode } from '@/api/system/dict'
  import EnergyBuilding from "./components/energyBuilding";

  export default {
    name: 'Dashboard',
    components: {
      EnergyBuilding,
      EnergyMonth,
      EnergyYear,
      EnergyNum
    },

    data(){
      return {
        buildingList:[]
      }
    },
    mounted() {
      this.fetchOptions()
    },
    methods: {
      fetchOptions(){
        getDictByCode('buildingType').then(response => {
          if (response.code === 200) {
            this.buildingList = response.data
          }
        })
      },
    }
  }
</script>

<style rel="stylesheet/scss" lang="scss" scoped>
  .card{
    margin: 0px;
  }
  .dashboard-container{
    .el-row{
      .el-col{
        margin-bottom: 10px;
      }
    }
  }
  .dashboard {
    &-container {
      padding: 10px 20px;
    }
    &-text {
      font-size: 30px;
      line-height: 46px;
    }
  }
</style>