|
@@ -106,28 +106,35 @@
|
|
|
alt=""
|
|
|
/>
|
|
|
</div>
|
|
|
- <div class="zhBlockCon"><el-rate v-model="star"></el-rate></div>
|
|
|
+ <div class="zhBlockCon">
|
|
|
+ <div class="zhBlockCon">{{ star }} / 5.0</div>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ <div class="zhBlock">
|
|
|
+ <div class="zhBlockTit">
|
|
|
+ <span style="margin-right: 5px">包含学科</span
|
|
|
+ ><img
|
|
|
+ src="../../../assets/icon/exportPdfworks/infocircle.svg"
|
|
|
+ alt=""
|
|
|
+ />
|
|
|
+ </div>
|
|
|
+ <div class="zhBlockCon2">
|
|
|
+ <!-- <span>语文</span>
|
|
|
+ <span>数学</span>
|
|
|
+ <span>英语</span>
|
|
|
+ <span>化学</span>
|
|
|
+ <span>美术</span> -->
|
|
|
+ </div>
|
|
|
</div>
|
|
|
- <!-- <div class="zhBlock">
|
|
|
- <div class="zhBlockTit">
|
|
|
- <span style="margin-right: 5px">包含学科</span
|
|
|
- ><img src="../assets/img/infocircle.svg" alt="" />
|
|
|
- </div>
|
|
|
- <div class="zhBlockCon2">
|
|
|
- <span>语文</span>
|
|
|
- <span>数学</span>
|
|
|
- <span>英语</span>
|
|
|
- <span>化学</span>
|
|
|
- <span>美术</span>
|
|
|
- </div>
|
|
|
- </div> -->
|
|
|
</div>
|
|
|
- <div style="display: flex; height: 370px; margin: 10px 0">
|
|
|
- <div style="width: 50%">
|
|
|
- <div ref="chart" style="width: 100%; height: 360px"></div>
|
|
|
+ <div
|
|
|
+ style="display: flex;justify-content: space-between; height: 310px;margin-bottom: 30px"
|
|
|
+ >
|
|
|
+ <div class="zxt" style="width: 49%">
|
|
|
+ <div ref="chart" style="width: 100%; height: 300px"></div>
|
|
|
</div>
|
|
|
- <div style="width: 50%">
|
|
|
- <div ref="ringChart" style="height: 360px; width: 100%"></div>
|
|
|
+ <div class="zxt" style="width: 49%">
|
|
|
+ <div ref="ringChart" style="height: 300px; width: 100%"></div>
|
|
|
</div>
|
|
|
</div>
|
|
|
<!-- 作业提交率 -->
|
|
@@ -230,7 +237,7 @@ export default {
|
|
|
|
|
|
// 作业得分折线图开始
|
|
|
taskList: [], //每个阶段下有几个任务
|
|
|
- scoFoldLineData: [],
|
|
|
+ scoFoldLineData: [], //课程得分图数据
|
|
|
// 作业得分折线图结束
|
|
|
|
|
|
// 分数工具柱状图开始
|
|
@@ -395,9 +402,17 @@ export default {
|
|
|
for (let i = 0; i < this.tableData.length; i++) {
|
|
|
this.loading = true;
|
|
|
|
|
|
+ this.toolRatio = [
|
|
|
+ { name: "互动类", value: 0 },
|
|
|
+ { name: "思维类", value: 0 },
|
|
|
+ { name: "协作类", value: 0 },
|
|
|
+ { name: "测评类", value: 0 },
|
|
|
+ { name: "评价类", value: 0 },
|
|
|
+ { name: "编程类", value: 0 },
|
|
|
+ { name: "学科类", value: 0 }
|
|
|
+ ];
|
|
|
this.uid2 = this.tableData[i].userid;
|
|
|
this.worksDialogCon2 = this.tableData[i];
|
|
|
- // await this.getCourseDetail();
|
|
|
await this.getData();
|
|
|
let a = await this.getPdf2();
|
|
|
pdfList.push(a);
|
|
@@ -413,7 +428,7 @@ export default {
|
|
|
saveAs(content, _this.courseTit + "-学生报告汇总.zip");
|
|
|
});
|
|
|
|
|
|
- // this.$emit("update:worksDialog", false);
|
|
|
+ this.$emit("update:worksDialog", false);
|
|
|
// this.worksDialog = false;
|
|
|
},
|
|
|
// 压缩pdf
|
|
@@ -506,6 +521,7 @@ export default {
|
|
|
|
|
|
// 处理这个课程下的工具分类
|
|
|
let data = JSON.parse(res.data[0][0].chapters);
|
|
|
+
|
|
|
|
|
|
if (this.cState == 1) {
|
|
|
this.getDataStageMode(data);
|
|
@@ -528,6 +544,17 @@ export default {
|
|
|
},
|
|
|
// ai模式处理数据
|
|
|
getDataAiMode(data) {
|
|
|
+ this.toolData = [[], [], [], [], [], [], []];
|
|
|
+ this.taskList = []; //每个阶段下有几个任务
|
|
|
+ this.toolPercentage = [];
|
|
|
+ this.interact = [];
|
|
|
+ this.interactWork = [];
|
|
|
+ this.stuInterAllWork = [];
|
|
|
+ this.stuInterAllLike = [];
|
|
|
+ this.bdStuInterAllWork = [];
|
|
|
+ this.bdStuInterAllLike = [];
|
|
|
+ this.stageList = [];
|
|
|
+ this.stageListPer = [];
|
|
|
data.forEach((e, eInd) => {
|
|
|
let toolList = e.chapterInfo[0].taskJson;
|
|
|
toolList.forEach((i, iInd) => {
|
|
@@ -586,7 +613,9 @@ export default {
|
|
|
this.toolRatio[4].value = this.toolData[4].length;
|
|
|
this.toolRatio[5].value = this.toolData[5].length;
|
|
|
this.toolRatio[6].value = this.toolData[6].length;
|
|
|
-
|
|
|
+ this.toolRatio = this.toolRatio.filter(e => {
|
|
|
+ return e.value != 0;
|
|
|
+ });
|
|
|
// console.log("this.toolRatio[0]", this.toolRatio);
|
|
|
// 作业提交率折线图
|
|
|
let repeatWork = this.newArrFn(this.data3);
|
|
@@ -628,9 +657,21 @@ export default {
|
|
|
},
|
|
|
// 阶段模式处理数据
|
|
|
getDataStageMode(data) {
|
|
|
+ this.toolData = [[], [], [], [], [], [], []];
|
|
|
+ this.taskList = []; //每个阶段下有几个任务
|
|
|
+ this.toolPercentage = [];
|
|
|
+ this.interact = [];
|
|
|
+ this.interactWork = [];
|
|
|
+ this.stuInterAllWork = [];
|
|
|
+ this.stuInterAllLike = [];
|
|
|
+ this.bdStuInterAllWork = [];
|
|
|
+ this.bdStuInterAllLike = [];
|
|
|
+ this.stageList = [];
|
|
|
+ this.stageListPer = [];
|
|
|
+
|
|
|
data.forEach((e, eInd) => {
|
|
|
let toolList = e.chapterInfo[0].taskJson;
|
|
|
- this.toolPercentage[eInd] = [];
|
|
|
+ this.toolPercentage[eInd] = []; // 每个任务有的工具
|
|
|
// X轴数据
|
|
|
this.stageList.push("阶段" + (eInd * 1 + 1));
|
|
|
// 作业提交率基础数据
|
|
@@ -648,6 +689,8 @@ export default {
|
|
|
this.bdStuInterAllLike[eInd] = []; // 生生互动阶段被动点赞评论分类
|
|
|
|
|
|
// 每个阶段下有多少个任务
|
|
|
+ console.log("toolList", JSON.parse(JSON.stringify(toolList)));
|
|
|
+
|
|
|
this.taskList[eInd] = toolList;
|
|
|
|
|
|
toolList.forEach(i => {
|
|
@@ -691,7 +734,9 @@ export default {
|
|
|
this.toolRatio[4].value = this.toolData[4].length;
|
|
|
this.toolRatio[5].value = this.toolData[5].length;
|
|
|
this.toolRatio[6].value = this.toolData[6].length;
|
|
|
-
|
|
|
+ this.toolRatio = this.toolRatio.filter(e => {
|
|
|
+ return e.value != 0;
|
|
|
+ });
|
|
|
// 作业提交率折线图
|
|
|
let repeatWork = this.newArrFn(this.data3);
|
|
|
this.getFoldLineData(repeatWork);
|
|
@@ -814,15 +859,13 @@ export default {
|
|
|
);
|
|
|
});
|
|
|
this.scoFoldLineData = scoList;
|
|
|
- // console.log("this.scoFoldLineData", this.scoFoldLineData);
|
|
|
|
|
|
let zSco = 0;
|
|
|
this.scoFoldLineData.forEach(e => {
|
|
|
zSco += e * 1;
|
|
|
});
|
|
|
|
|
|
- this.star = (zSco / this.scoFoldLineData.length).toFixed(0) * 1;
|
|
|
- // console.log("this.star", this.star);
|
|
|
+ this.star = (zSco / this.scoFoldLineData.length).toFixed(1) * 1;
|
|
|
},
|
|
|
|
|
|
getFoldLineData(repeatWork) {
|
|
@@ -923,8 +966,7 @@ export default {
|
|
|
zSco += e * 1;
|
|
|
});
|
|
|
|
|
|
- this.star = (zSco / this.scoFoldLineData.length).toFixed(0) * 1;
|
|
|
- // console.log("this.star", this.star);
|
|
|
+ this.star = (zSco / this.scoFoldLineData.length).toFixed(1) * 1;
|
|
|
},
|
|
|
// 师生互动数据
|
|
|
getTeaStuHdAi(TeaStuHdData) {
|
|
@@ -1049,6 +1091,8 @@ export default {
|
|
|
labelLine: {
|
|
|
show: false
|
|
|
},
|
|
|
+ center: ["40%", "50%"], // 控制饼图的位置
|
|
|
+
|
|
|
data: this.toolRatio
|
|
|
}
|
|
|
]
|
|
@@ -1099,7 +1143,7 @@ export default {
|
|
|
const chart = echarts.init(this.$refs.cScoEcharts);
|
|
|
const option = {
|
|
|
title: {
|
|
|
- text: this.cState == 1?'阶段成绩':'任务成绩',
|
|
|
+ text: this.cState == 1 ? "阶段成绩" : "任务成绩",
|
|
|
left: "left",
|
|
|
textStyle: {
|
|
|
color: "rgba(140, 140, 140, 1)", // 标题颜色
|