<template>
  <div class='title'>
    <h1>学情统计</h1>
  </div>
  <div ref='pieChart1' style='height: 400px;' class='my-chart'></div>
  <div ref='pieChart2' style='height: 400px;' class='my-chart2'></div>
</template>
<script>
import * as echarts from 'echarts';
export default {
  name: 'MyGoal',
  data(){
    return{
      studytime:0,
      leavetime:0,
      finishtask:0,
      underfinishtask:0,
    }
  },
  mounted() {
    this.getuserstudy();
    const pieChart1Dom = this.$refs.pieChart1;
    const pieChart2Dom = this.$refs.pieChart2;
    const pieChart1Instance = echarts.init(pieChart1Dom);
    const pieChart2Instance = echarts.init(pieChart2Dom);
    const pieOptionStudy = {
      title: {
        text: '学习时长',
        x: 'center'
      },
      tooltip: {
        trigger: 'item',
        formatter: '{a} <br/>{b}: {c} ({d}%)'
      },
      legend: {
        orient: 'vertical',
        left: 10,
        data: ['学习时长', '中途离开时长 ']
      },
      series: [
        {
          name: '任务完成情况',
          type: 'pie',
          radius: ['50%', '70%'],
          avoidLabelOverlap: false,
          label: {
            show: false,
            position: 'center'
          },
          emphasis: {
            label: {
              show: true,
              fontSize: '30',
              fontWeight: 'bold'
            }
          },
          labelLine: {
            show: false
          },
          data: [
            {value: this.studytime, name: '学习时长'},
            {value: this.leavetime, name: '中途离开时长'}
          ]
        }
      ]
    };
    const pieOptionTask = {
      title: {
        text: '任务完成情况',
        x: 'center'
      },
      tooltip: {
        trigger: 'item',
        formatter: '{a} <br/>{b}: {c} ({d}%)'
      },
      legend: {
        orient: 'vertical',
        left: 10,
        data: ['已完成', '未完成']
      },
      series: [
        {
          name: '任务完成情况',
          type: 'pie',
          radius: ['50%', '70%'],
          avoidLabelOverlap: false,
          label: {
            show: false,
            position: 'center'
          },
          emphasis: {
            label: {
              show: true,
              fontSize: '30',
              fontWeight: 'bold'
            }
          },
          labelLine: {
            show: false
          },
          data: [
            {value: 16, name: '已完成'},
            {value: 4, name: '未完成'}
          ]
        }
      ]
    };
    pieChart1Instance.setOption(pieOptionStudy);
    pieChart2Instance.setOption(pieOptionTask);
  },
  methods:{
    getuserstudy(){
      this.$net.get('/task/notfinish').then(resp => {
            this.studytime=resp.data.data[0]
            this.leavetime=resp.data.data[1]
            this.finishtask=resp.data.data[2]
            this.underfinishtask=resp.data.data[3]
            console.log(this.leavetime)
            pieChart1Instance.setOption(pieOptionStudy);
        });
    }
  }
};
</script>
<style scoped>
.title {
  text-align: center;
  border-bottom: 2px solid black;
}
.my-chart {
  float: left;
  border: 2px solid white;
  margin-top: 150px;
  margin-left: 50px;
  width: 40%;
}
.my-chart2{
  float: right;
  border: 2px solid white;
  margin-top: 150px;
  margin-right: 50px;
  width: 40%;
}
</style>
学情统计图表 - 基于 ChatGPT Web 的学习数据可视化

原文地址: https://www.cveoy.top/t/topic/mD10 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录