|
@@ -1,5 +1,9 @@
|
|
|
<template>
|
|
|
- <div ref="chartContainer" style="width: 100%; height: 100%;"></div>
|
|
|
+ <div style="height: 100%;width: 100%;">
|
|
|
+ <div v-if="chartData.length" ref="chartContainer" style="width: 100%; height: 100%;"></div>
|
|
|
+ <div v-else style="display: flex;justify-content: center;
|
|
|
+ align-items: center;height: 100%;width: 100%;">暂无数据</div>
|
|
|
+ </div>
|
|
|
</template>
|
|
|
|
|
|
<script>
|
|
@@ -8,30 +12,7 @@ import * as echarts from "echarts";
|
|
|
export default {
|
|
|
// name: 'SubjectScatterChart',
|
|
|
props: ["alldata", "subject"],
|
|
|
- // props: {
|
|
|
- // // 数据格式:[{ subject: '语文', value: [x, y] }, ...]
|
|
|
- // chartData: {
|
|
|
- // type: Array,
|
|
|
- // default: () => [
|
|
|
- // { subject: '语文', value: [10.0, 8.04] },
|
|
|
- // { subject: '数学', value: [8.07, 6.95] },
|
|
|
- // { subject: '英语', value: [13.0, 7.58] },
|
|
|
- // ]
|
|
|
- // },
|
|
|
- // // 学科颜色配置
|
|
|
- // colors: {
|
|
|
- // type: Object,
|
|
|
- // default: () => ({
|
|
|
- // 语文: '#5470C6',
|
|
|
- // 数学: '#91CC75',
|
|
|
- // 英语: '#EE6666'
|
|
|
- // })
|
|
|
- // },
|
|
|
- // symbolSize: {
|
|
|
- // type: Number,
|
|
|
- // default: 16
|
|
|
- // }
|
|
|
- // },
|
|
|
+
|
|
|
data() {
|
|
|
return {
|
|
|
chart: null,
|
|
@@ -59,7 +40,8 @@ export default {
|
|
|
},
|
|
|
methods: {
|
|
|
startCom(val) {
|
|
|
- let data = JSON.parse(JSON.stringify(val));
|
|
|
+ let data = JSON.parse(JSON.stringify(val)).filter(e=> e.typeids);
|
|
|
+
|
|
|
let subject = JSON.parse(JSON.stringify(this.subject));
|
|
|
|
|
|
data.forEach(e => {
|
|
@@ -76,9 +58,8 @@ export default {
|
|
|
})
|
|
|
.filter(num => num === 72).length;
|
|
|
});
|
|
|
+ // console.log('data',data);
|
|
|
|
|
|
- // console.log("val", data);
|
|
|
- // console.log("subject", subject);
|
|
|
|
|
|
subject.forEach(e => {
|
|
|
let course = [];
|
|
@@ -100,14 +81,17 @@ export default {
|
|
|
subject: e.name,
|
|
|
value: [e.aitoolsum, e.worksum]
|
|
|
}));
|
|
|
+ this.chartData = this.chartData.filter(e=> e.value[0])
|
|
|
// console.log("this.chartData", this.chartData);
|
|
|
|
|
|
this.initChart();
|
|
|
},
|
|
|
|
|
|
initChart() {
|
|
|
- this.chart = echarts.init(this.$refs.chartContainer);
|
|
|
- this.updateChart();
|
|
|
+ this.$nextTick(() => {
|
|
|
+ this.chart = echarts.init(this.$refs.chartContainer);
|
|
|
+ this.updateChart();
|
|
|
+ })
|
|
|
},
|
|
|
generateSeries() {
|
|
|
// 按学科分组数据
|
|
@@ -130,8 +114,8 @@ export default {
|
|
|
trigger: "item",
|
|
|
formatter: params => {
|
|
|
return `${params.seriesName}<br/>
|
|
|
- X: ${params.value[0].toFixed(2)}<br/>
|
|
|
- Y: ${params.value[1].toFixed(2)}`;
|
|
|
+ 单节课AI迁入数量: ${params.value[0]}<br/>
|
|
|
+ 学生交互量: ${params.value[1]}`;
|
|
|
}
|
|
|
},
|
|
|
legend: {
|
|
@@ -142,8 +126,8 @@ export default {
|
|
|
padding: [10, 10] // 内边距
|
|
|
},
|
|
|
grid: {
|
|
|
- top: '23%', // 上边距,给图表留出空间
|
|
|
- left: 70
|
|
|
+ top: '15%', // 上边距,给图表留出空间
|
|
|
+ left: 50
|
|
|
},
|
|
|
xAxis: {
|
|
|
name: "单节课程AI迁入数量",
|