Commit 6b3dde63f208122d9499d80c6f57662642e8df9a

Authored by 梁保满
1 parent a748171a

随堂问,即时测没有数据显示-,其他交互优化

src/views/basic/ask/components/answerQustion.vue
@@ -29,16 +29,24 @@ @@ -29,16 +29,24 @@
29 prop="correctAnswerTimes" 29 prop="correctAnswerTimes"
30 label="答对次数" 30 label="答对次数"
31 align="center" 31 align="center"
32 - ></el-table-column> 32 + >
  33 + <template slot-scope="scoped">{{
  34 + scoped.row.correctAnswerTimes ||
  35 + Number(scoped.row.correctAnswerTimes) === 0
  36 + ? scoped.row.correctAnswerTimes
  37 + : "-"
  38 + }}</template>
  39 + </el-table-column>
33 <el-table-column 40 <el-table-column
34 prop="participationRate" 41 prop="participationRate"
35 label="参与度" 42 label="参与度"
36 sortable 43 sortable
37 align="center" 44 align="center"
38 ><template slot-scope="scoped">{{ 45 ><template slot-scope="scoped">{{
39 - `${scoped.row.participationRate}${  
40 - scoped.row.participationRate ? "%" : ""  
41 - }` 46 + scoped.row.participationRate ||
  47 + Number(scoped.row.participationRate) === 0
  48 + ? scoped.row.participationRate + "%"
  49 + : "-"
42 }}</template></el-table-column 50 }}</template></el-table-column
43 > 51 >
44 <el-table-column 52 <el-table-column
@@ -47,7 +55,9 @@ @@ -47,7 +55,9 @@
47 sortable 55 sortable
48 align="center" 56 align="center"
49 ><template slot-scope="scoped">{{ 57 ><template slot-scope="scoped">{{
50 - `${scoped.row.correctRate}${scoped.row.correctRate ? "%" : ""}` 58 + scoped.row.correctRate || Number(scoped.row.correctRate) === 0
  59 + ? scoped.row.correctRate + "%"
  60 + : "-"
51 }}</template></el-table-column 61 }}</template></el-table-column
52 > 62 >
53 <el-table-column 63 <el-table-column
@@ -56,9 +66,10 @@ @@ -56,9 +66,10 @@
56 sortable 66 sortable
57 align="center" 67 align="center"
58 ><template slot-scope="scoped">{{ 68 ><template slot-scope="scoped">{{
59 - `${scoped.row.answerCorrectRate}${  
60 - scoped.row.answerCorrectRate ? "%" : ""  
61 - }` 69 + scoped.row.answerCorrectRate ||
  70 + Number(scoped.row.answerCorrectRate) === 0
  71 + ? scoped.row.answerCorrectRate + "%"
  72 + : "-"
62 }}</template></el-table-column 73 }}</template></el-table-column
63 > 74 >
64 <el-table-column 75 <el-table-column
@@ -68,33 +79,41 @@ @@ -68,33 +79,41 @@
68 align="center" 79 align="center"
69 ><template slot-scope="scoped"> 80 ><template slot-scope="scoped">
70 <span :class="scoped.row['isRight' + index] ? '' : 'red'">{{ 81 <span :class="scoped.row['isRight' + index] ? '' : 'red'">{{
71 - scoped.row["answer" + index] 82 + scoped.row["answer" + index] || "-"
72 }}</span> 83 }}</span>
73 </template> 84 </template>
74 </el-table-column> 85 </el-table-column>
75 </template> 86 </template>
76 <template v-if="types == 2"> 87 <template v-if="types == 2">
77 - <el-table-column  
78 - prop="answerTimes"  
79 - label="累计答题次数"  
80 - align="center"  
81 - ></el-table-column> 88 + <el-table-column prop="answerTimes" label="累计答题次数" align="center">
  89 + <template slot-scope="scoped">{{
  90 + scoped.row.answerTimes || Number(scoped.row.answerTimes) === 0
  91 + ? scoped.row.answerTimes
  92 + : "-"
  93 + }}</template>
  94 + </el-table-column>
82 <el-table-column 95 <el-table-column
83 prop="correctAnswerTimes" 96 prop="correctAnswerTimes"
84 label="累计答对次数" 97 label="累计答对次数"
85 align="center" 98 align="center"
86 - ></el-table-column> 99 + ><template slot-scope="scoped">{{
  100 + scoped.row.correctAnswerTimes ||
  101 + Number(scoped.row.correctAnswerTimes) === 0
  102 + ? scoped.row.correctAnswerTimes
  103 + : "-"
  104 + }}</template></el-table-column
  105 + >
87 <el-table-column 106 <el-table-column
88 prop="participationRate" 107 prop="participationRate"
89 label="总参与度" 108 label="总参与度"
90 align="center" 109 align="center"
91 ><template slot-scope="scoped">{{ 110 ><template slot-scope="scoped">{{
92 - `${scoped.row.participationRate}${  
93 - scoped.row.participationRate ? "%" : ""  
94 - }`  
95 - }}</template></el-table-column  
96 - >  
97 - 111 + scoped.row.participationRate ||
  112 + Number(scoped.row.participationRate) === 0
  113 + ? scoped.row.participationRate + "%"
  114 + : "-"
  115 + }}</template>
  116 + </el-table-column>
98 <el-table-column 117 <el-table-column
99 prop="participationRateRank" 118 prop="participationRateRank"
100 label="总参与度班名" 119 label="总参与度班名"
@@ -102,7 +121,9 @@ @@ -102,7 +121,9 @@
102 ></el-table-column> 121 ></el-table-column>
103 <el-table-column prop="correctRate" label="总正确率" align="center" 122 <el-table-column prop="correctRate" label="总正确率" align="center"
104 ><template slot-scope="scoped">{{ 123 ><template slot-scope="scoped">{{
105 - `${scoped.row.correctRate}${scoped.row.correctRate ? "%" : ""}` 124 + scoped.row.correctRate || Number(scoped.row.correctRate) === 0
  125 + ? scoped.row.correctRate + "%"
  126 + : "-"
106 }}</template></el-table-column 127 }}</template></el-table-column
107 > 128 >
108 <el-table-column 129 <el-table-column
@@ -110,15 +131,23 @@ @@ -110,15 +131,23 @@
110 label="总正确率班名" 131 label="总正确率班名"
111 sortable 132 sortable
112 align="center" 133 align="center"
113 - ></el-table-column> 134 + >
  135 + <template slot-scope="scoped">{{
  136 + scoped.row.correctRateRank ||
  137 + Number(scoped.row.correctRateRank) === 0
  138 + ? scoped.row.correctRateRank
  139 + : "-"
  140 + }}</template>
  141 + </el-table-column>
114 <el-table-column 142 <el-table-column
115 prop="answerCorrectRate" 143 prop="answerCorrectRate"
116 label="已答正确率" 144 label="已答正确率"
117 align="center" 145 align="center"
118 ><template slot-scope="scoped">{{ 146 ><template slot-scope="scoped">{{
119 - `${scoped.row.answerCorrectRate}${  
120 - scoped.row.answerCorrectRate ? "%" : ""  
121 - }` 147 + scoped.row.answerCorrectRate ||
  148 + Number(scoped.row.answerCorrectRate) === 0
  149 + ? scoped.row.answerCorrectRate + "%"
  150 + : "-"
122 }}</template></el-table-column 151 }}</template></el-table-column
123 > 152 >
124 <el-table-column label="查看折线图" align="center"> 153 <el-table-column label="查看折线图" align="center">
@@ -145,38 +174,56 @@ @@ -145,38 +174,56 @@
145 :label="index == 0 ? '总课时数' : '课时数'" 174 :label="index == 0 ? '总课时数' : '课时数'"
146 :prop="'periodCount' + item" 175 :prop="'periodCount' + item"
147 > 176 >
  177 + <template slot-scope="scoped">{{
  178 + scoped.row["periodCount" + item] ||
  179 + Number(scoped.row["periodCount" + item]) === 0
  180 + ? scoped.row["periodCount" + item]
  181 + : "-"
  182 + }}</template>
148 </el-table-column> 183 </el-table-column>
149 <el-table-column 184 <el-table-column
150 align="center" 185 align="center"
151 :label="index == 0 ? '总出题数' : '出题数'" 186 :label="index == 0 ? '总出题数' : '出题数'"
152 :prop="'questionNum' + item" 187 :prop="'questionNum' + item"
153 > 188 >
  189 + <template slot-scope="scoped">{{
  190 + scoped.row["questionNum" + item] ||
  191 + Number(scoped.row["questionNum" + item]) === 0
  192 + ? scoped.row["questionNum" + item]
  193 + : "-"
  194 + }}</template>
154 </el-table-column> 195 </el-table-column>
155 <el-table-column 196 <el-table-column
156 align="center" 197 align="center"
157 :label="index == 0 ? '总参与度' : '参与度'" 198 :label="index == 0 ? '总参与度' : '参与度'"
158 :prop="'participationRate' + item" 199 :prop="'participationRate' + item"
159 - ><template slot-scope="scoped"  
160 - >{{  
161 - `${  
162 - scoped.row["participationRate" + item]  
163 - ? scoped.row["participationRate" + item] + "%"  
164 - : ""  
165 - }  
166 - `  
167 - }}{{ 200 + ><template slot-scope="scoped">{{
  201 + scoped.row["participationRate" + item] ||
  202 + Number(scoped.row["participationRate" + item]) === 0
  203 + ? scoped.row["participationRate" + item] + "%"
  204 + : "-"
168 }}</template> 205 }}</template>
169 </el-table-column> 206 </el-table-column>
170 - <el-table-column 207 + <!-- <el-table-column
171 align="center" 208 align="center"
172 :label="index == 0 ? '总正确率' : '正确率'" 209 :label="index == 0 ? '总正确率' : '正确率'"
173 :prop="'correctRate' + item" 210 :prop="'correctRate' + item"
174 ><template slot-scope="scoped">{{ 211 ><template slot-scope="scoped">{{
175 - `${  
176 - scoped.row["correctRate" + item]  
177 - ? scoped.row["correctRate" + item] + "%"  
178 - : ""  
179 - }` 212 + scoped.row["correctRate" + item] ||
  213 + Number(scoped.row["correctRate" + item]) === 0
  214 + ? scoped.row["correctRate" + item] + "%"
  215 + : "-"
  216 + }}</template>
  217 + </el-table-column> -->
  218 + <el-table-column
  219 + align="center"
  220 + :label="index == 0 ? '总正确率' : '正确率'"
  221 + :prop="'answerCorrectRate' + item"
  222 + ><template slot-scope="scoped">{{
  223 + scoped.row["answerCorrectRate" + item] ||
  224 + Number(scoped.row["answerCorrectRate" + item]) === 0
  225 + ? scoped.row["answerCorrectRate" + item] + "%"
  226 + : "-"
180 }}</template> 227 }}</template>
181 </el-table-column> 228 </el-table-column>
182 </el-table-column> 229 </el-table-column>
src/views/basic/ask/components/detail.vue
@@ -8,7 +8,7 @@ @@ -8,7 +8,7 @@
8 <li class="info-item">题目总数:{{ detail.questionNum }}</li> 8 <li class="info-item">题目总数:{{ detail.questionNum }}</li>
9 <li class="info-item">答题总数:{{ detail.totalAnswersNum }}</li> 9 <li class="info-item">答题总数:{{ detail.totalAnswersNum }}</li>
10 <li class="info-item">课时时长:{{ detail.duration }}</li> 10 <li class="info-item">课时时长:{{ detail.duration }}</li>
11 - <li class="info-item">总参与度:{{ detail.participationRate }}%</li> 11 + <li class="info-item">总参与度:{{ detail.participationRate }}%</li>
12 <li class="info-item">班级总正确率:{{ detail.classCorrectRate }}%</li> 12 <li class="info-item">班级总正确率:{{ detail.classCorrectRate }}%</li>
13 <li class="info-item">已答总正确率:{{ detail.answerCorrectRate }}%</li> 13 <li class="info-item">已答总正确率:{{ detail.answerCorrectRate }}%</li>
14 <li class="info-item"> 14 <li class="info-item">
@@ -21,7 +21,7 @@ @@ -21,7 +21,7 @@
21 课时名称:{{ detail.title }} 21 课时名称:{{ detail.title }}
22 </li> 22 </li>
23 <li class="info-item" v-else>课时总数:{{ id.length }}</li> 23 <li class="info-item" v-else>课时总数:{{ id.length }}</li>
24 - <li class="info-item">课时时长:{{ detail.duration }}分钟</li> 24 + <li class="info-item">课时时长:{{ detail.duration }}</li>
25 <li class="info-item"> 25 <li class="info-item">
26 反馈时长:{{ setDuration(detail.consumingDuration) }} 26 反馈时长:{{ setDuration(detail.consumingDuration) }}
27 </li> 27 </li>
src/views/basic/ask/components/interact.vue
1 <template> 1 <template>
2 <el-table :data="resultData" border style="width: 100%"> 2 <el-table :data="resultData" border style="width: 100%">
3 - <el-table-column prop="studentCode" label="学号" align="center"></el-table-column>  
4 - <el-table-column prop="studentName" label="姓名" align="center"></el-table-column> 3 + <el-table-column
  4 + prop="studentCode"
  5 + label="学号"
  6 + align="center"
  7 + ></el-table-column>
  8 + <el-table-column
  9 + prop="studentName"
  10 + label="姓名"
  11 + align="center"
  12 + ></el-table-column>
5 <template v-if="types != 3"> 13 <template v-if="types != 3">
6 - <el-table-column prop="rushAnswerTimes" label="抢答成功次数" sortable align="center"></el-table-column>  
7 - <el-table-column prop="rushAnswerCorrectTimes" label="答对次数" sortable align="center"></el-table-column>  
8 - <el-table-column prop="checkAnswerTimes" label="抽答次数" sortable align="center"></el-table-column>  
9 - <el-table-column prop="checkAnswerCorrectTimes" label="抽答答对次数" sortable align="center"></el-table-column>  
10 - <el-table-column prop="interactionsNum" label="参与得分" sortable align="center"></el-table-column>  
11 - <el-table-column prop="interactionsCorrectNum" label="对错得分" sortable align="center"></el-table-column> 14 + <el-table-column
  15 + prop="rushAnswerTimes"
  16 + label="抢答成功次数"
  17 + sortable
  18 + align="center"
  19 + ></el-table-column>
  20 + <el-table-column
  21 + prop="rushAnswerCorrectTimes"
  22 + label="答对次数"
  23 + sortable
  24 + align="center"
  25 + ></el-table-column>
  26 + <el-table-column
  27 + prop="checkAnswerTimes"
  28 + label="抽答次数"
  29 + sortable
  30 + align="center"
  31 + ></el-table-column>
  32 + <el-table-column
  33 + prop="checkAnswerCorrectTimes"
  34 + label="抽答答对次数"
  35 + sortable
  36 + align="center"
  37 + ></el-table-column>
  38 + <el-table-column
  39 + prop="interactionsNum"
  40 + label="参与得分"
  41 + sortable
  42 + align="center"
  43 + ></el-table-column>
  44 + <el-table-column
  45 + prop="interactionsCorrectNum"
  46 + label="对错得分"
  47 + sortable
  48 + align="center"
  49 + ></el-table-column>
12 </template> 50 </template>
13 <template v-else> 51 <template v-else>
14 - <el-table-column v-for="(item, index) in phaseInter" :key="index" :label="item" align="center">  
15 - <el-table-column align="center" v-if="index == 0" label="参与分" sortable :prop="'interactionsNum' + item"> 52 + <el-table-column
  53 + v-for="(item, index) in phaseInter"
  54 + :key="index"
  55 + :label="item"
  56 + align="center"
  57 + >
  58 + <el-table-column
  59 + align="center"
  60 + v-if="index == 0"
  61 + label="参与分"
  62 + sortable
  63 + :prop="'interactionsNum' + item"
  64 + >
  65 + <template slot-scope="scoped">{{
  66 + scoped.row["interactionsNum" + item] ||
  67 + Number(scoped.row["interactionsNum" + item]) === 0
  68 + ? scoped.row["interactionsNum" + item]
  69 + : "-"
  70 + }}</template>
16 </el-table-column> 71 </el-table-column>
17 - <el-table-column v-else align="center" label="互动数" :prop="'interactionsNum' + item"> 72 + <el-table-column
  73 + v-else
  74 + align="center"
  75 + label="互动数"
  76 + :prop="'interactionsNum' + item"
  77 + >
  78 + <template slot-scope="scoped">{{
  79 + scoped.row["interactionsNum" + item] ||
  80 + Number(scoped.row["interactionsNum" + item]) === 0
  81 + ? scoped.row["interactionsNum" + item]
  82 + : "-"
  83 + }}</template>
18 </el-table-column> 84 </el-table-column>
19 - <el-table-column v-if="index == 0" align="center" label="对错分" sortable :prop="'interactionsCorrectNum' + item"> 85 + <el-table-column
  86 + v-if="index == 0"
  87 + align="center"
  88 + label="对错分"
  89 + sortable
  90 + :prop="'interactionsCorrectNum' + item"
  91 + >
  92 + <template slot-scope="scoped">{{
  93 + scoped.row["interactionsCorrectNum" + item] ||
  94 + Number(scoped.row["interactionsCorrectNum" + item]) === 0
  95 + ? scoped.row["interactionsCorrectNum" + item]
  96 + : "-"
  97 + }}</template>
20 </el-table-column> 98 </el-table-column>
21 - <el-table-column v-else align="center" label="参与数" :prop="'interactionsCorrectNum' + item"> 99 + <el-table-column
  100 + v-else
  101 + align="center"
  102 + label="参与数"
  103 + :prop="'interactionsCorrectNum' + item"
  104 + >
  105 + <template slot-scope="scoped">{{
  106 + scoped.row["interactionsCorrectNum" + item] ||
  107 + Number(scoped.row["interactionsCorrectNum" + item]) === 0
  108 + ? scoped.row["interactionsCorrectNum" + item]
  109 + : "-"
  110 + }}</template>
22 </el-table-column> 111 </el-table-column>
23 </el-table-column> 112 </el-table-column>
24 </template> 113 </template>
@@ -33,13 +122,12 @@ export default { @@ -33,13 +122,12 @@ export default {
33 data() { 122 data() {
34 return { 123 return {
35 phaseInter: [], //互动补充数据 124 phaseInter: [], //互动补充数据
36 - } 125 + };
37 }, 126 },
38 computed: { 127 computed: {
39 resultData: function () { 128 resultData: function () {
40 - let resultData = [] 129 + let resultData = [];
41 if (this.tableData.length) { 130 if (this.tableData.length) {
42 -  
43 let subjectName = []; 131 let subjectName = [];
44 resultData = this.tableData?.map((item) => { 132 resultData = this.tableData?.map((item) => {
45 let params = {}; 133 let params = {};
@@ -59,11 +147,11 @@ export default { @@ -59,11 +147,11 @@ export default {
59 }); 147 });
60 this.phaseInter = [...subjectName]; 148 this.phaseInter = [...subjectName];
61 } else { 149 } else {
62 - resultData = []  
63 - this.optionsList = [] 150 + resultData = [];
  151 + this.optionsList = [];
64 } 152 }
65 - return resultData  
66 - } 153 + return resultData;
  154 + },
67 }, 155 },
68 }; 156 };
69 </script> 157 </script>
src/views/basic/test/components/multipleSubTest.vue
@@ -33,25 +33,53 @@ @@ -33,25 +33,53 @@
33 label="测练数" 33 label="测练数"
34 align="center" 34 align="center"
35 :class-name="index % 2 == 0 ? 'bg' : ''" 35 :class-name="index % 2 == 0 ? 'bg' : ''"
36 - ></el-table-column> 36 + >
  37 + <template slot-scope="scoped">{{
  38 + scoped.row["examCount" + item] ||
  39 + Number(scoped.row["examCount" + item]) === 0
  40 + ? scoped.row["examCount" + item]
  41 + : "-"
  42 + }}</template>
  43 + </el-table-column>
37 <el-table-column 44 <el-table-column
38 :prop="'participationCount' + item" 45 :prop="'participationCount' + item"
39 label="参与数" 46 label="参与数"
40 align="center" 47 align="center"
41 :class-name="index % 2 == 0 ? 'bg' : ''" 48 :class-name="index % 2 == 0 ? 'bg' : ''"
42 - ></el-table-column> 49 + >
  50 + <template slot-scope="scoped">{{
  51 + scoped.row["participationCount" + item] ||
  52 + Number(scoped.row["participationCount" + item]) === 0
  53 + ? scoped.row["participationCount" + item]
  54 + : "-"
  55 + }}</template>
  56 + </el-table-column>
43 <el-table-column 57 <el-table-column
44 :prop="'score' + item" 58 :prop="'score' + item"
45 label="总分" 59 label="总分"
46 align="center" 60 align="center"
47 :class-name="index % 2 == 0 ? 'bg' : ''" 61 :class-name="index % 2 == 0 ? 'bg' : ''"
48 - ></el-table-column> 62 + >
  63 + <template slot-scope="scoped">{{
  64 + scoped.row["score" + item] ||
  65 + Number(scoped.row["score" + item]) === 0
  66 + ? scoped.row["score" + item]
  67 + : "-"
  68 + }}</template>
  69 + </el-table-column>
49 <el-table-column 70 <el-table-column
50 :prop="'classRank' + item" 71 :prop="'classRank' + item"
51 label="班名" 72 label="班名"
52 align="center" 73 align="center"
53 :class-name="index % 2 == 0 ? 'bg' : ''" 74 :class-name="index % 2 == 0 ? 'bg' : ''"
54 - ></el-table-column> 75 + >
  76 + <template slot-scope="scoped">{{
  77 + scoped.row["classRank" + item] ||
  78 + Number(scoped.row["classRank" + item]) === 0
  79 + ? scoped.row["classRank" + item]
  80 + : "-"
  81 + }}</template>
  82 + </el-table-column>
55 </el-table-column> 83 </el-table-column>
56 <el-table-column label="查看雷达图" align="center"> 84 <el-table-column label="查看雷达图" align="center">
57 <template slot-scope="scoped"> 85 <template slot-scope="scoped">
src/views/basic/test/components/multipleTest.vue
@@ -29,14 +29,28 @@ @@ -29,14 +29,28 @@
29 :label="index == 0 ? '总分' : '成绩'" 29 :label="index == 0 ? '总分' : '成绩'"
30 align="center" 30 align="center"
31 :class-name="index % 2 == 0 ? 'bg' : ''" 31 :class-name="index % 2 == 0 ? 'bg' : ''"
32 - ></el-table-column> 32 + >
  33 + <template slot-scope="scoped">{{
  34 + scoped.row["score" + index] ||
  35 + Number(scoped.row["score" + index]) === 0
  36 + ? scoped.row["score" + index]
  37 + : "-"
  38 + }}</template>
  39 + </el-table-column>
33 <el-table-column 40 <el-table-column
34 :prop="'classRank' + index" 41 :prop="'classRank' + index"
35 label="班名" 42 label="班名"
36 align="center" 43 align="center"
37 sortable 44 sortable
38 :class-name="index % 2 == 0 ? 'bg' : ''" 45 :class-name="index % 2 == 0 ? 'bg' : ''"
39 - ></el-table-column> 46 + >
  47 + <template slot-scope="scoped">{{
  48 + scoped.row["classRank" + index] ||
  49 + Number(scoped.row["classRank" + index]) === 0
  50 + ? scoped.row["classRank" + index]
  51 + : "-"
  52 + }}</template>
  53 + </el-table-column>
40 </el-table-column> 54 </el-table-column>
41 <el-table-column label="查看折线图" align="center"> 55 <el-table-column label="查看折线图" align="center">
42 <template slot-scope="scoped"> 56 <template slot-scope="scoped">