single-chart.vue 3.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111
  1. <template>
  2. <view class="page-box">
  3. <back></back>
  4. <view class="children-box">
  5. <image class="children-avatar" :src="childreninfo.avatar"></image>
  6. <view class="children-msg">
  7. <view class="children-name">{{childreninfo.name}}</view>
  8. <view class="children-class">{{childreninfo.class}}</view>
  9. </view>
  10. </view>
  11. <!-- 数据分析模块 -->
  12. <view class="data-box">
  13. <view class="data-box-item" v-for="(item,index) in analysisData" :key="index" :style="{background: item.color}">
  14. <view class="item-text">{{item.title}}</view>
  15. <view class="item-number">{{item.data/0.01}}% 同学</view>
  16. <view class="analysis-box">
  17. <view v-if="item.data<0.4" class="t-icon t-icon-jiangbei-5"></view>
  18. <view v-if="item.data>=0.4 && item.data<0.7" class="t-icon t-icon-jiangbei-4"></view>
  19. <view v-if="item.data>=0.7" class="t-icon t-icon-jiangbei-3"></view>
  20. <view v-if="item.data<0.4" class="icon-text-item">要加把劲!</view>
  21. <view v-if="item.data>=0.4 && item.data<0.7" class="icon-text-item">再接再厉!</view>
  22. <view v-if="item.data>=0.7" class="icon-text-item">非常优秀!</view>
  23. </view>
  24. </view>
  25. </view>
  26. <!-- 图表列表 -->
  27. <!-- 近期成绩对比自身 -->
  28. <view class="chart-container">
  29. <view class="chart-name">
  30. <view class="t-icon t-icon-castle"></view>
  31. <text class="chart-name-text">近期成绩对比</text>
  32. </view>
  33. <view class="charts-box">
  34. <qiun-data-charts type="column" :chartData="gradeData.recentTestChart.recentComparison" :loadingType="4"
  35. tooltipFormat='tooltipScore' :canvas2d="true" canvasId="canvasId19998" />
  36. </view>
  37. </view>
  38. <!-- 单次排行分析 -->
  39. <view class="chart-container">
  40. <view class="chart-name">
  41. <view class="t-icon t-icon-waterfall"></view>
  42. <text class="chart-name-text">近期排行占比分析</text>
  43. </view>
  44. <view class="charts-box" style="margin: 20rpx 0 -20rpx 0;">
  45. <qiun-data-charts type="arcbar" :chartData="gradeData.recentTestChart.recentRank" :loadingType="4"
  46. tooltipFormat='tooltipScore' :canvas2d="true" canvasId="canvasId312412" />
  47. </view>
  48. </view>
  49. </view>
  50. </template>
  51. <script>
  52. import {
  53. mapState
  54. } from 'vuex'
  55. export default {
  56. computed: {
  57. ...mapState('m_children', ['childreninfo']),
  58. ...mapState('m_chart', ['gradeData'])
  59. },
  60. data() {
  61. return {
  62. //分析模块数据
  63. analysisData:
  64. [{
  65. title: '本次考试超过年级中:',
  66. data: '',
  67. color: '',
  68. },{
  69. title: '本次考试超过班级中:',
  70. data: '',
  71. color: '',
  72. }],
  73. };
  74. },
  75. methods: {
  76. getData(){
  77. this.analysisData[0].data =
  78. this.gradeData.recentTestChart.recentRank.series[0].data
  79. this.analysisData[1].data =
  80. this.gradeData.recentTestChart.recentRank.series[1].data
  81. this.analysisData[0].color =
  82. this.gradeData.recentTestChart.recentRank.series[0].color
  83. this.analysisData[1].color =
  84. this.gradeData.recentTestChart.recentRank.series[1].color
  85. }
  86. },
  87. onLoad() {
  88. this.getData()
  89. }
  90. }
  91. </script>
  92. <style lang="scss">
  93. @import '@/gradepkg/common/chartpage.scss';
  94. .page-box {
  95. background: $color-yellow;
  96. }
  97. </style>