|
@@ -1,7 +1,13 @@
|
|
|
<template>
|
|
|
<div id="detail">
|
|
|
<detail-frame :title="pageTitle" :returns="toReturns">
|
|
|
- <el-card :header="quest.name">
|
|
|
+ <el-card>
|
|
|
+ <template #header>
|
|
|
+ <span>{{ quest.name }}</span>
|
|
|
+ [<span>完成度:</span><span>{{ questionAnswer.percentage }}%</span> <span>已答:</span><span>{{ questionAnswer.yesAnswer }}</span> <span>未答:</span
|
|
|
+ ><span>{{ questionAnswer.noAnswer }}</span
|
|
|
+ >]
|
|
|
+ </template>
|
|
|
<el-tabs v-model="tabs" :stretch="true" type="card">
|
|
|
<el-tab-pane label="图表分析" name="chart">
|
|
|
<el-row
|
|
@@ -61,6 +67,7 @@ export default {
|
|
|
quest: {},
|
|
|
cdata: [], //具体数据
|
|
|
nodata: false,
|
|
|
+ questionAnswer: {},
|
|
|
};
|
|
|
},
|
|
|
created() {
|
|
@@ -78,8 +85,11 @@ export default {
|
|
|
this.$set(this, `nodata`, true);
|
|
|
}
|
|
|
let data = _.cloneDeep(_.get(res, 'data'));
|
|
|
+ console.log(data);
|
|
|
+ data = _.uniqBy(data, 'studentid');
|
|
|
let quests = _.cloneDeep(_.get(res.data, `question`, []));
|
|
|
let allAnswer = _.cloneDeep(ansres.data);
|
|
|
+ allAnswer = _.uniqBy(allAnswer, 'studentid');
|
|
|
let naa = _.flatten(allAnswer.map(i => i.answers)).map(i => {
|
|
|
i.answer = JSON.parse(i.answer);
|
|
|
return i;
|
|
@@ -91,6 +101,16 @@ export default {
|
|
|
this.$set(this, `quest`, sta);
|
|
|
//具体数据
|
|
|
let concreteData = this.getConcreteData(quests, allAnswer);
|
|
|
+ // 查学生,算已答未答
|
|
|
+ const { questionnaireid, ...stuquery } = this.querys;
|
|
|
+ let studentList = await this.studentQuery(stuquery);
|
|
|
+ let answerDta = {
|
|
|
+ yesAnswer: allAnswer.length,
|
|
|
+ noAnswer: studentList.total - allAnswer.length,
|
|
|
+ percentage: _.ceil(allAnswer.length / studentList.total, 4) * 100,
|
|
|
+ };
|
|
|
+ console.log(answerDta);
|
|
|
+ this.$set(this, `questionAnswer`, answerDta);
|
|
|
this.$set(this, `cdata`, concreteData);
|
|
|
}
|
|
|
},
|