|
@@ -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
|
|
@@ -63,6 +69,7 @@ export default {
|
|
|
quest: {},
|
|
|
cdata: [], //具体数据
|
|
|
nodata: false,
|
|
|
+ questionAnswer: {},
|
|
|
};
|
|
|
},
|
|
|
created() {
|
|
@@ -72,7 +79,7 @@ export default {
|
|
|
...questionnaire(['fetch']),
|
|
|
...questionanswer(['query']),
|
|
|
...setting({ getSetting: 'fetch' }),
|
|
|
- ...student(['findList']),
|
|
|
+ ...student({ findList: 'findList', studentQuery: 'query' }),
|
|
|
async search() {
|
|
|
let res = await this.fetch(this.querys.questionnaireid);
|
|
|
if (!this.$checkRes(res)) return;
|
|
@@ -96,6 +103,16 @@ export default {
|
|
|
//具体数据
|
|
|
let concreteData = this.getConcreteData(quests, allAnswer);
|
|
|
this.$set(this, `cdata`, concreteData);
|
|
|
+ // 查学生,算已答未答
|
|
|
+ const { questionnaireid, ...stuquery } = this.querys;
|
|
|
+ let studentList = await this.studentQuery(stuquery);
|
|
|
+ let answerDta = {
|
|
|
+ yesAnswer: ansres.total,
|
|
|
+ noAnswer: studentList.total - ansres.total,
|
|
|
+ percentage: _.ceil(ansres.total / studentList.total, 4) * 100,
|
|
|
+ };
|
|
|
+ console.log(answerDta);
|
|
|
+ this.$set(this, `questionAnswer`, answerDta);
|
|
|
}
|
|
|
},
|
|
|
//获取图表分析部分
|