|
@@ -1,68 +1,110 @@
|
|
|
-<template>
|
|
|
- <view class="page-box">
|
|
|
- <back></back>
|
|
|
-
|
|
|
- <view class="children-box">
|
|
|
- <image class="children-avatar" :src="childreninfo.avatar"></image>
|
|
|
- <view class="children-msg">
|
|
|
- <view class="children-name">{{childreninfo.name}}</view>
|
|
|
- <view class="children-class">{{childreninfo.class}}</view>
|
|
|
- </view>
|
|
|
- </view>
|
|
|
-
|
|
|
- <!-- 图表列表 -->
|
|
|
- <!-- 总成绩排行走势 -->
|
|
|
- <view class="chart-container">
|
|
|
- <view class="chart-name">
|
|
|
- <view class="t-icon t-icon-fields"></view>
|
|
|
- <text class="chart-name-text">{{semester}} 排行占比走势对比</text>
|
|
|
- </view>
|
|
|
- <view class="charts-box">
|
|
|
- <qiun-data-charts type="area" :chartData="gradeData.rankChart.semesterRank" :loadingType="4"
|
|
|
- tooltipFormat='tooltipPercent' :canvas2d="true" canvasId="canvasId931234"/>
|
|
|
- </view>
|
|
|
- </view>
|
|
|
- <!-- 单科排行走势 -->
|
|
|
- <view class="chart-container">
|
|
|
- <view class="chart-name">
|
|
|
- <view class="t-icon t-icon-forest"></view>
|
|
|
- <text class="chart-name-text">单科排行占比走势对比</text>
|
|
|
- </view>
|
|
|
- <view class="charts-box">
|
|
|
- <qiun-data-charts type="area" :chartData="gradeData.rankChart.semesterSubjectRank" :loadingType="4"
|
|
|
- tooltipFormat='tooltipPercent' :canvas2d="true" canvasId="canvasId931870"/>
|
|
|
- </view>
|
|
|
- </view>
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
- </view>
|
|
|
-</template>
|
|
|
-
|
|
|
-<script>
|
|
|
- import {
|
|
|
- mapState
|
|
|
- } from 'vuex'
|
|
|
-
|
|
|
- export default {
|
|
|
- computed: {
|
|
|
- ...mapState('m_children', ['childreninfo', 'semester']),
|
|
|
- ...mapState('m_chart', ['gradeData'])
|
|
|
- },
|
|
|
- data() {
|
|
|
- return {};
|
|
|
- },
|
|
|
- methods: {
|
|
|
-
|
|
|
- },
|
|
|
- onLoad() {}
|
|
|
- }
|
|
|
-</script>
|
|
|
-
|
|
|
-<style lang="scss">
|
|
|
- @import '@/gradepkg/common/chartpage.scss';
|
|
|
-
|
|
|
- .page-box {
|
|
|
- background: linear-gradient($color-pink, $page-background-color);
|
|
|
- }
|
|
|
+<template>
|
|
|
+ <view class="page-box">
|
|
|
+ <back></back>
|
|
|
+
|
|
|
+ <view class="children-box">
|
|
|
+ <image class="children-avatar" :src="childreninfo.avatar"></image>
|
|
|
+ <view class="children-msg">
|
|
|
+ <view class="children-name">{{childreninfo.name}}</view>
|
|
|
+ <view class="children-class">{{childreninfo.class}}</view>
|
|
|
+ </view>
|
|
|
+ </view>
|
|
|
+
|
|
|
+ <!-- 数据分析模块 -->
|
|
|
+ <view class="data-box">
|
|
|
+ <view class="data-box-item" v-for="(item,index) in analysisData" :key="index"
|
|
|
+ :style="{background: item.color}">
|
|
|
+ <view class="item-text">{{item.title}}</view>
|
|
|
+ <view class="item-number">{{item.data}}%的同学</view>
|
|
|
+ <view class="analysis-box">
|
|
|
+ <view v-if="item.data<40" class="t-icon t-icon-jiangbei-5"></view>
|
|
|
+ <view v-if="item.data>=40 && item.data<70" class="t-icon t-icon-jiangbei-4"></view>
|
|
|
+ <view v-if="item.data>=70" class="t-icon t-icon-jiangbei-3"></view>
|
|
|
+ <view v-if="item.data<40" class="icon-text-item">要加把劲!</view>
|
|
|
+ <view v-if="item.data>=40 && item.data<70" class="icon-text-item">再接再厉!</view>
|
|
|
+ <view v-if="item.data>=70" class="icon-text-item">非常优秀!</view>
|
|
|
+ </view>
|
|
|
+ </view>
|
|
|
+ </view>
|
|
|
+
|
|
|
+ <!-- 图表列表 -->
|
|
|
+ <!-- 总成绩排行走势 -->
|
|
|
+ <view class="chart-container">
|
|
|
+ <view class="chart-name">
|
|
|
+ <view class="t-icon t-icon-fields"></view>
|
|
|
+ <text class="chart-name-text">{{semester}} 排行占比走势对比</text>
|
|
|
+ </view>
|
|
|
+ <view class="charts-box">
|
|
|
+ <qiun-data-charts type="area" :chartData="gradeData.rankChart.semesterRank" :loadingType="4"
|
|
|
+ tooltipFormat='tooltipPercent' :canvas2d="true" canvasId="canvasId931234" />
|
|
|
+ </view>
|
|
|
+ </view>
|
|
|
+ <!-- 单科排行走势 -->
|
|
|
+ <view class="chart-container">
|
|
|
+ <view class="chart-name">
|
|
|
+ <view class="t-icon t-icon-forest"></view>
|
|
|
+ <text class="chart-name-text">单科排行占比走势对比</text>
|
|
|
+ </view>
|
|
|
+ <view class="charts-box">
|
|
|
+ <qiun-data-charts type="area" :chartData="gradeData.rankChart.semesterSubjectRank" :loadingType="4"
|
|
|
+ tooltipFormat='tooltipPercent' :canvas2d="true" canvasId="canvasId931870" />
|
|
|
+ </view>
|
|
|
+ </view>
|
|
|
+ </view>
|
|
|
+</template>
|
|
|
+
|
|
|
+<script>
|
|
|
+ import {
|
|
|
+ mapState
|
|
|
+ } from 'vuex'
|
|
|
+
|
|
|
+ export default {
|
|
|
+ computed: {
|
|
|
+ ...mapState('m_children', ['childreninfo', 'semester']),
|
|
|
+ ...mapState('m_chart', ['gradeData'])
|
|
|
+ },
|
|
|
+ data() {
|
|
|
+ return {
|
|
|
+ analysisData:
|
|
|
+ [{
|
|
|
+ title: '学期平均排行超年级:',
|
|
|
+ data: '',
|
|
|
+ color: '#0080ff',
|
|
|
+ }, {
|
|
|
+ title: '学期平均排行超班级:',
|
|
|
+ data: '',
|
|
|
+ color: '#ff8caf',
|
|
|
+ }],
|
|
|
+
|
|
|
+
|
|
|
+ };
|
|
|
+ },
|
|
|
+ methods: {
|
|
|
+ //获得分析模块数据
|
|
|
+ getData() {
|
|
|
+ //学期平均排行占比
|
|
|
+ //求和函数封装
|
|
|
+ function arrSum(array) {
|
|
|
+ let cont = 0
|
|
|
+ for (let i = 0; i < array.length; i++) {
|
|
|
+ cont += array[i]
|
|
|
+ }
|
|
|
+ return cont;
|
|
|
+ }
|
|
|
+ //平均超班级
|
|
|
+ this.analysisData[1].data = parseInt(arrSum(this.gradeData.rankChart.semesterRank.series[1].data) / this.gradeData
|
|
|
+ .rankChart.semesterRank.series[1].data.length)
|
|
|
+ //平均超年级
|
|
|
+ this.analysisData[0].data = parseInt(arrSum(this.gradeData.rankChart.semesterRank.series[0].data) / this.gradeData
|
|
|
+ .rankChart.semesterRank.series[0].data.length)
|
|
|
+ }
|
|
|
+ },
|
|
|
+ onLoad() {
|
|
|
+ this.getData()
|
|
|
+ }
|
|
|
+ }
|
|
|
+</script>
|
|
|
+
|
|
|
+<style lang="scss">
|
|
|
+ @import '@/gradepkg/common/chartpage.scss';
|
|
|
</style>
|