Newer
Older
GDT_FRONT / src / views / energy / energyStatistics.vue
wangxitong on 9 Feb 2023 1 KB 0209
<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 v-for="(item,index) in buildingList" :key="item.value" :span="6">
        <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>