Newer
Older
CloudBrainNew / src / views / cityConstruction / components / plan / trafficCountBar.vue
wangxitong on 29 Apr 2021 1 KB 0429 submit
<!--
 * @Description: 交通设施统计
 * @Author: 王晓颖
 * @Date:2020-11-30 17:07:53
 -->
<template>
  <chart-layout title="交通设施" @click="getData">
    <div style="width: 100%;height:100%;padding:0.1rem">
      <div class="progressBox">
        <Legend :list="[['竣工', '#bd273c '], ['规划', '#0197ff']]" />
        <div v-for="(value,index) in data" :key="index">
          <ProgressBar2 :data="value" :labelWidth=".4" />
        </div>
      </div>
    </div>
  </chart-layout>
</template>

<script>
import Legend from '@/components/legend/Legend'
import ProgressBar2 from '@/components/progressBar/ProgressBar2'
import ChartLayout from '@/components/layout/chartLayout'
import {fetchTrafficCount} from '@/api/cityManage'
import Corner2 from '@/components/corner/Corner2'
export default {
  name: 'trafficCountBar',
  components: {Corner2, ChartLayout, ProgressBar2, Legend},
  data () {
    return {
      data: [
        {title: '交通路口', num1: 0, num2: 0, percentage: 0},
        {title: '高速公路', num1: 0, num2: 0, percentage: 0},
        {title: '公交站台', num1: 0, num2: 0, percentage: 0},
        {title: '停车场', num1: 0, num2: 0, percentage: 0},
        {title: '停车位', num1: 0, num2: 0, percentage: 0}
      ]
    }
  },
  created () {
    this.getData()
  },
  methods: {
    getData () {
      fetchTrafficCount().then(response => {
        if (response.code === 200) {
          const dataFilter = []
          const data = response.data
          for (const item of data) {
            dataFilter.push({
              title: item.name,
              num1: item.complete,
              num2: item.plan,
              percentage: 100 * item.complete / item.plan
            })
          }
          this.data = dataFilter
        }
      })
    }
  }
}
</script>

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

</style>