Newer
Older
CloudBrainNew / src / views / cityConstruction / components / construction / components / peopleBar.vue
<!--
 * @Description: 各工种施工人员统计
 * @Author: 王晓颖
 * @Date:
 -->
<template>
  <single-layout title="各工种人员统计">
    <simple-bar-chart
      :id="options.id"
      :unit="options.unit"
      :height="options.height"
      :xAxisData="options.xAxisData"
      :seriesData="options.seriesData"
    />
  </single-layout>
</template>

<script>
import SingleLayout from '@/components/layout/singleLayout'
import SimpleBarChart from '@/components/barChart/simpleBarChart'
import {fetchStaffCountByType} from '@/api/cityManage'
import mockData from '../../../../../../static/plan.json'
export default {
  name: 'ConstructionPeopleBar',
  components: {SimpleBarChart, SingleLayout},
  data () {
    return {
      options: {
        id: 'construction_people_bar',
        height: '100%',
        width: '100%',
        unit: '人',
        xAxisData: [ '电工', '木工', '监工', '维修工', '管理'],
        seriesData: [ 0, 0, 0, 0, 0]
      }
    }
  },
  created () {
    // this.getData()
    this.options.xAxisData = mockData.staff.bar.xData
    this.options.seriesData = mockData.staff.bar.yData
  },
  methods: {
    getData () {
      fetchStaffCountByType().then(response => {
        if (response.code === 200) {
          const data = response.data
          this.options.xAxisData = data.map(item => { return item.type })
          this.options.seriesData = data.map(item => { return Number(item.value) })
          this.options.xAxisData.length = 10
          this.options.seriesData.length = 10
        }
      })
    }
  }
}
</script>

<style rel="stylesheet/scss" lang="scss" scoped>

</style>