Commit 6b3dde63f208122d9499d80c6f57662642e8df9a

Authored by 梁保满
1 parent a748171a

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

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">
... ...