Commit 6b3dde63f208122d9499d80c6f57662642e8df9a
1 parent
a748171a
随堂问,即时测没有数据显示-,其他交互优化
Showing
5 changed files
with
246 additions
and
69 deletions
src/views/basic/ask/components/answerQustion.vue
... | ... | @@ -29,16 +29,24 @@ |
29 | 29 | prop="correctAnswerTimes" |
30 | 30 | label="答对次数" |
31 | 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 | 40 | <el-table-column |
34 | 41 | prop="participationRate" |
35 | 42 | label="参与度" |
36 | 43 | sortable |
37 | 44 | align="center" |
38 | 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 | 50 | }}</template></el-table-column |
43 | 51 | > |
44 | 52 | <el-table-column |
... | ... | @@ -47,7 +55,9 @@ |
47 | 55 | sortable |
48 | 56 | align="center" |
49 | 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 | 61 | }}</template></el-table-column |
52 | 62 | > |
53 | 63 | <el-table-column |
... | ... | @@ -56,9 +66,10 @@ |
56 | 66 | sortable |
57 | 67 | align="center" |
58 | 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 | 73 | }}</template></el-table-column |
63 | 74 | > |
64 | 75 | <el-table-column |
... | ... | @@ -68,33 +79,41 @@ |
68 | 79 | align="center" |
69 | 80 | ><template slot-scope="scoped"> |
70 | 81 | <span :class="scoped.row['isRight' + index] ? '' : 'red'">{{ |
71 | - scoped.row["answer" + index] | |
82 | + scoped.row["answer" + index] || "-" | |
72 | 83 | }}</span> |
73 | 84 | </template> |
74 | 85 | </el-table-column> |
75 | 86 | </template> |
76 | 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 | 95 | <el-table-column |
83 | 96 | prop="correctAnswerTimes" |
84 | 97 | label="累计答对次数" |
85 | 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 | 106 | <el-table-column |
88 | 107 | prop="participationRate" |
89 | 108 | label="总参与度" |
90 | 109 | align="center" |
91 | 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 | 117 | <el-table-column |
99 | 118 | prop="participationRateRank" |
100 | 119 | label="总参与度班名" |
... | ... | @@ -102,7 +121,9 @@ |
102 | 121 | ></el-table-column> |
103 | 122 | <el-table-column prop="correctRate" label="总正确率" align="center" |
104 | 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 | 127 | }}</template></el-table-column |
107 | 128 | > |
108 | 129 | <el-table-column |
... | ... | @@ -110,15 +131,23 @@ |
110 | 131 | label="总正确率班名" |
111 | 132 | sortable |
112 | 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 | 142 | <el-table-column |
115 | 143 | prop="answerCorrectRate" |
116 | 144 | label="已答正确率" |
117 | 145 | align="center" |
118 | 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 | 151 | }}</template></el-table-column |
123 | 152 | > |
124 | 153 | <el-table-column label="查看折线图" align="center"> |
... | ... | @@ -145,38 +174,56 @@ |
145 | 174 | :label="index == 0 ? '总课时数' : '课时数'" |
146 | 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 | 183 | </el-table-column> |
149 | 184 | <el-table-column |
150 | 185 | align="center" |
151 | 186 | :label="index == 0 ? '总出题数' : '出题数'" |
152 | 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 | 195 | </el-table-column> |
155 | 196 | <el-table-column |
156 | 197 | align="center" |
157 | 198 | :label="index == 0 ? '总参与度' : '参与度'" |
158 | 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 | 205 | }}</template> |
169 | 206 | </el-table-column> |
170 | - <el-table-column | |
207 | + <!-- <el-table-column | |
171 | 208 | align="center" |
172 | 209 | :label="index == 0 ? '总正确率' : '正确率'" |
173 | 210 | :prop="'correctRate' + item" |
174 | 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 | 227 | }}</template> |
181 | 228 | </el-table-column> |
182 | 229 | </el-table-column> | ... | ... |
src/views/basic/ask/components/detail.vue
... | ... | @@ -8,7 +8,7 @@ |
8 | 8 | <li class="info-item">题目总数:{{ detail.questionNum }}</li> |
9 | 9 | <li class="info-item">答题总数:{{ detail.totalAnswersNum }}</li> |
10 | 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 | 12 | <li class="info-item">班级总正确率:{{ detail.classCorrectRate }}%</li> |
13 | 13 | <li class="info-item">已答总正确率:{{ detail.answerCorrectRate }}%</li> |
14 | 14 | <li class="info-item"> |
... | ... | @@ -21,7 +21,7 @@ |
21 | 21 | 课时名称:{{ detail.title }} |
22 | 22 | </li> |
23 | 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 | 25 | <li class="info-item"> |
26 | 26 | 反馈时长:{{ setDuration(detail.consumingDuration) }} |
27 | 27 | </li> | ... | ... |
src/views/basic/ask/components/interact.vue
1 | 1 | <template> |
2 | 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 | 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 | 50 | </template> |
13 | 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 | 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 | 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 | 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 | 111 | </el-table-column> |
23 | 112 | </el-table-column> |
24 | 113 | </template> |
... | ... | @@ -33,13 +122,12 @@ export default { |
33 | 122 | data() { |
34 | 123 | return { |
35 | 124 | phaseInter: [], //互动补充数据 |
36 | - } | |
125 | + }; | |
37 | 126 | }, |
38 | 127 | computed: { |
39 | 128 | resultData: function () { |
40 | - let resultData = [] | |
129 | + let resultData = []; | |
41 | 130 | if (this.tableData.length) { |
42 | - | |
43 | 131 | let subjectName = []; |
44 | 132 | resultData = this.tableData?.map((item) => { |
45 | 133 | let params = {}; |
... | ... | @@ -59,11 +147,11 @@ export default { |
59 | 147 | }); |
60 | 148 | this.phaseInter = [...subjectName]; |
61 | 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 | 157 | </script> | ... | ... |
src/views/basic/test/components/multipleSubTest.vue
... | ... | @@ -33,25 +33,53 @@ |
33 | 33 | label="测练数" |
34 | 34 | align="center" |
35 | 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 | 44 | <el-table-column |
38 | 45 | :prop="'participationCount' + item" |
39 | 46 | label="参与数" |
40 | 47 | align="center" |
41 | 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 | 57 | <el-table-column |
44 | 58 | :prop="'score' + item" |
45 | 59 | label="总分" |
46 | 60 | align="center" |
47 | 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 | 70 | <el-table-column |
50 | 71 | :prop="'classRank' + item" |
51 | 72 | label="班名" |
52 | 73 | align="center" |
53 | 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 | 83 | </el-table-column> |
56 | 84 | <el-table-column label="查看雷达图" align="center"> |
57 | 85 | <template slot-scope="scoped"> | ... | ... |
src/views/basic/test/components/multipleTest.vue
... | ... | @@ -29,14 +29,28 @@ |
29 | 29 | :label="index == 0 ? '总分' : '成绩'" |
30 | 30 | align="center" |
31 | 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 | 40 | <el-table-column |
34 | 41 | :prop="'classRank' + index" |
35 | 42 | label="班名" |
36 | 43 | align="center" |
37 | 44 | sortable |
38 | 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 | 54 | </el-table-column> |
41 | 55 | <el-table-column label="查看折线图" align="center"> |
42 | 56 | <template slot-scope="scoped"> | ... | ... |