statistics.vue 2.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788
  1. <template>
  2. <div class="main-card__body" v-loading="pageLoading">
  3. <h1 class="main-card__title">
  4. 平台统计
  5. </h1>
  6. <div class="main-card__chart" id="distributionChart"></div>
  7. <div class="main-card__chart" id="onlineChart"></div>
  8. </div>
  9. </template>
  10. <script>
  11. export default {
  12. name: "statistics",
  13. layout: 'admin',
  14. data(){
  15. return{
  16. pageLoading: false,
  17. distribution: [{
  18. name: '0分',
  19. value: 4
  20. }, {
  21. name: '1-59分',
  22. value: 19
  23. }, {
  24. name: '60-69分',
  25. value: 34
  26. }, {
  27. name: '70-84分',
  28. value: 70
  29. }, {
  30. name: '85-100分',
  31. value: 65
  32. }],
  33. online: [87, 23, 36, 167, 171, 90, 45],
  34. tests: [
  35. {}
  36. ]
  37. }
  38. },
  39. mounted(){
  40. this.initEcharts();
  41. },
  42. methods:{
  43. initEcharts(){
  44. let distributionChart = this.$echarts.init(document.getElementById('distributionChart'), 'light');
  45. distributionChart.setOption({
  46. title: {text: '本次测验得分分布情况', left: 'center'},
  47. tooltip: {
  48. trigger: 'item',
  49. },
  50. series: [{
  51. data: this.distribution,
  52. type: 'pie',
  53. radius: '65%',
  54. center: ['50%', '50%'],
  55. selectedMode: 'single',
  56. // areaStyle: {}
  57. }],
  58. });
  59. let onlineChart = this.$echarts.init(document.getElementById('onlineChart'), 'light');
  60. onlineChart.setOption({
  61. title: {text: '上周每日活跃人数图表', left: 'center'},
  62. tooltip: {
  63. trigger: 'item',
  64. },
  65. xAxis: {
  66. type: 'category',
  67. data: ['Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun']
  68. },
  69. yAxis: {
  70. type: 'value'
  71. },
  72. series: [{
  73. data: this.online,
  74. type: 'bar'
  75. }]
  76. });
  77. }
  78. }
  79. };
  80. </script>
  81. <style lang="scss" scoped>
  82. @import '~/assets/css/person.scss';
  83. </style>