4c4f7640
梁保满
路由表,路由前端文件
|
1
|
<template>
|
dbbfc6c5
梁保满
飞书优化及bug
|
2
|
<div ref="main" class="page-container" :class="dialogVisible ? 'active' : ''">
|
f356590c
阿宝
即时测列表,分析页面
|
3
4
5
6
7
8
9
10
11
12
13
|
<back-box>
<template slot="title">
<span>即时测-数据报表</span>
</template>
</back-box>
<div class="answer-header">
<div class="sel-box">
<el-select
class="sel"
v-model="query.classId"
placeholder="选择班级"
|
f356590c
阿宝
即时测列表,分析页面
|
14
15
16
17
18
19
20
21
22
23
24
25
26
|
>
<el-option
v-for="item in classList"
:key="item.value"
:label="item.label"
:value="item.value"
>
</el-option>
</el-select>
<el-select
v-if="role == 'ROLE_BANZHUREN'"
class="sel"
multiple
|
9309dc5d
梁保满
任课老师接口完成
|
27
|
v-model="query.subjectNames"
|
45504a95
阿宝
即时测页面,以及小题修改答案
|
28
|
placeholder="选择科目"
|
dbbfc6c5
梁保满
飞书优化及bug
|
29
|
@change="changeSub"
|
f356590c
阿宝
即时测列表,分析页面
|
30
31
32
33
34
35
36
37
38
39
40
41
|
>
<el-option
v-for="item in subjectList"
:key="item.value"
:label="item.label"
:value="item.value"
>
</el-option>
</el-select>
<el-select
v-else
class="sel"
|
9309dc5d
梁保满
任课老师接口完成
|
42
|
v-model="query.subjectNames"
|
45504a95
阿宝
即时测页面,以及小题修改答案
|
43
|
placeholder="选择科目"
|
f356590c
阿宝
即时测列表,分析页面
|
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
|
>
<el-option
v-for="item in subjectList"
:key="item.value"
:label="item.label"
:value="item.value"
>
</el-option>
</el-select>
<div class="d1">
<el-date-picker
v-model="query.startDay"
type="date"
@change="handleChangeTimeStart"
placeholder="选择日期时间"
value-format="yyyy-MM-dd"
>
</el-date-picker>
~
<el-date-picker
v-model="query.endDay"
type="date"
placeholder="选择日期时间"
@change="handleChangeTimeEnd"
value-format="yyyy-MM-dd"
>
</el-date-picker>
</div>
<p class="p1">
<span @click="setDate(1)" :class="[date == 1 ? 'active' : '', 's1']"
>今天</span
>
<span @click="setDate(2)" :class="[date == 2 ? 'active' : '', 's1']"
>本周</span
>
<span @click="setDate(3)" :class="[date == 3 ? 'active' : '', 's1']"
>本月</span
>
<span @click="setDate(4)" :class="[date == 4 ? 'active' : '', 's1']"
>本季度</span
>
</p>
<el-button type="primary" round @click="_QueryData()">筛选</el-button>
</div>
</div>
<div class="table-box">
|
9309dc5d
梁保满
任课老师接口完成
|
90
91
92
93
94
|
<el-radio-group
v-model="tabIndex"
@change="changeTab"
style="margin-bottom: 20px"
>
|
f356590c
阿宝
即时测列表,分析页面
|
95
96
97
|
<el-radio-button :label="1">单卷测练报表</el-radio-button>
<el-radio-button :label="2">阶段测练报表</el-radio-button>
</el-radio-group>
|
8ea67428
梁保满
飞书bug
|
98
|
<div v-show="tabIndex == 1" v-loading="loading">
|
9309dc5d
梁保满
任课老师接口完成
|
99
|
<el-table :data="tableData" border style="width: 100%">
|
f356590c
阿宝
即时测列表,分析页面
|
100
101
102
103
104
105
|
<el-table-column
prop="title"
label="试卷名称"
align="center"
></el-table-column>
<el-table-column
|
9309dc5d
梁保满
任课老师接口完成
|
106
|
prop="examPaperScore"
|
f356590c
阿宝
即时测列表,分析页面
|
107
108
109
110
|
label="卷面分"
align="center"
width="100"
></el-table-column>
|
8ea67428
梁保满
飞书bug
|
111
112
113
114
115
|
<el-table-column prop="answeredNum" label="测验人数" align="center"
><template slot-scope="scoped">{{
`${scoped.row.answeredNum}/${scoped.row.classPersonNum}`
}}</template></el-table-column
>
|
f356590c
阿宝
即时测列表,分析页面
|
116
|
<el-table-column
|
9309dc5d
梁保满
任课老师接口完成
|
117
|
prop="examStartTime"
|
f356590c
阿宝
即时测列表,分析页面
|
118
119
120
|
label="测验时间"
align="center"
></el-table-column>
|
8ea67428
梁保满
飞书bug
|
121
122
123
124
|
<el-table-column prop="avgScore" label="班平均分" align="center"
><template slot-scope="scoped">{{
scoped.row.subjectiveScore == scoped.row.examPaperScore ||
scoped.row.answerNum == 0
|
dbbfc6c5
梁保满
飞书优化及bug
|
125
|
? "-"
|
8ea67428
梁保满
飞书bug
|
126
127
128
129
130
131
132
|
: scoped.row.avgScore
}}</template></el-table-column
>
<el-table-column prop="highestScore" label="班最高分" align="center"
><template slot-scope="scoped">{{
scoped.row.subjectiveScore == scoped.row.examPaperScore ||
scoped.row.answerNum == 0
|
dbbfc6c5
梁保满
飞书优化及bug
|
133
|
? "-"
|
8ea67428
梁保满
飞书bug
|
134
135
136
137
138
139
140
|
: scoped.row.highestScore
}}</template></el-table-column
>
<el-table-column prop="lowestScore" label="班最低分" align="center"
><template slot-scope="scoped">{{
scoped.row.subjectiveScore == scoped.row.examPaperScore ||
scoped.row.answerNum == 0
|
dbbfc6c5
梁保满
飞书优化及bug
|
141
|
? "-"
|
8ea67428
梁保满
飞书bug
|
142
143
144
|
: scoped.row.lowestScore
}}</template></el-table-column
>
|
f356590c
阿宝
即时测列表,分析页面
|
145
|
<el-table-column
|
9309dc5d
梁保满
任课老师接口完成
|
146
|
prop="excellenRate"
|
f356590c
阿宝
即时测列表,分析页面
|
147
148
149
|
label="优秀数(率)"
sortable
align="center"
|
8ea67428
梁保满
飞书bug
|
150
151
152
|
><template slot-scope="scoped">{{
scoped.row.subjectiveScore == scoped.row.examPaperScore ||
scoped.row.answerNum == 0
|
dbbfc6c5
梁保满
飞书优化及bug
|
153
154
|
? "-"
: scoped.row.excellenNum?`${scoped.row.excellenNum}/${scoped.row.excellenRate}%`:scoped.row.excellenNum
|
8ea67428
梁保满
飞书bug
|
155
|
}}</template></el-table-column
|
f356590c
阿宝
即时测列表,分析页面
|
156
157
|
>
<el-table-column
|
9309dc5d
梁保满
任课老师接口完成
|
158
|
prop="goodRate"
|
f356590c
阿宝
即时测列表,分析页面
|
159
160
161
162
|
label="良好数(率)"
sortable
align="center"
><template slot-scope="scoped"
|
8ea67428
梁保满
飞书bug
|
163
164
165
|
>{{
scoped.row.subjectiveScore == scoped.row.examPaperScore ||
scoped.row.answerNum == 0
|
dbbfc6c5
梁保满
飞书优化及bug
|
166
167
|
? "-"
: scoped.row.goodNum?`${scoped.row.goodNum}/${scoped.row.goodRate}%`:scoped.row.goodNum
|
8ea67428
梁保满
飞书bug
|
168
169
|
}}
</template></el-table-column
|
f356590c
阿宝
即时测列表,分析页面
|
170
171
|
>
<el-table-column
|
9309dc5d
梁保满
任课老师接口完成
|
172
|
prop="passRate"
|
f356590c
阿宝
即时测列表,分析页面
|
173
174
175
176
|
label="及格数(率)"
sortable
align="center"
><template slot-scope="scoped"
|
8ea67428
梁保满
飞书bug
|
177
178
179
|
>{{
scoped.row.subjectiveScore == scoped.row.examPaperScore ||
scoped.row.answerNum == 0
|
dbbfc6c5
梁保满
飞书优化及bug
|
180
181
|
? "-"
: scoped.row.passNum?`${scoped.row.passNum}/${scoped.row.passRate}%`:scoped.row.passNum
|
8ea67428
梁保满
飞书bug
|
182
183
|
}}
</template></el-table-column
|
f356590c
阿宝
即时测列表,分析页面
|
184
185
|
>
<el-table-column
|
9309dc5d
梁保满
任课老师接口完成
|
186
|
prop="failedRate"
|
f356590c
阿宝
即时测列表,分析页面
|
187
188
189
|
label="不及格数(率)"
sortable
align="center"
|
8ea67428
梁保满
飞书bug
|
190
191
192
|
><template slot-scope="scoped">{{
scoped.row.subjectiveScore == scoped.row.examPaperScore ||
scoped.row.answerNum == 0
|
dbbfc6c5
梁保满
飞书优化及bug
|
193
194
|
? "-"
: scoped.row.failedNum?`${scoped.row.failedNum}/${scoped.row.failedRate}%`:scoped.row.failedNum
|
8ea67428
梁保满
飞书bug
|
195
|
}}</template></el-table-column
|
f356590c
阿宝
即时测列表,分析页面
|
196
197
198
|
>
<el-table-column label="操作" align="center">
<template slot-scope="scoped">
|
8ea67428
梁保满
飞书bug
|
199
200
201
202
203
204
|
<el-tooltip
v-if="scoped.row.answerNum != 0"
effect="dark"
content="详情"
placement="top"
>
|
f356590c
阿宝
即时测列表,分析页面
|
205
206
207
208
209
210
211
212
|
<el-button
type="primary"
circle
size="mini"
icon="fa fa-arrow-right"
@click="linkTo(scoped.row)"
></el-button>
</el-tooltip>
|
8ea67428
梁保满
飞书bug
|
213
214
215
216
217
218
|
<el-tooltip
v-else
effect="dark"
content="修改答案"
placement="top"
>
|
f356590c
阿宝
即时测列表,分析页面
|
219
220
221
222
223
224
225
226
|
<el-button
type="primary"
circle
size="mini"
icon="fa fa-file-text"
@click="edit(scoped.row)"
></el-button>
</el-tooltip>
|
8ea67428
梁保满
飞书bug
|
227
228
229
230
231
232
233
234
235
236
237
238
239
240
|
<el-tooltip
v-if="scoped.row.subjectiveScore == scoped.row.examPaperScore"
effect="dark"
content="导入主观题"
placement="top"
>
<el-button
type="primary"
circle
size="mini"
icon="fa fa-cloud"
@click="uploadSJ(scoped.row)"
></el-button>
</el-tooltip>
|
f356590c
阿宝
即时测列表,分析页面
|
241
242
243
|
</template>
</el-table-column>
</el-table>
|
9309dc5d
梁保满
任课老师接口完成
|
244
245
246
247
248
249
250
251
252
253
254
255
|
<div class="pagination-box">
<el-pagination
small=""
layout="total,prev, pager, next"
:hide-on-single-page="true"
:total="total"
@current-change="changePage"
:current-page="page"
:page-size="size"
>
</el-pagination>
</div>
|
f356590c
阿宝
即时测列表,分析页面
|
256
|
</div>
|
8ea67428
梁保满
飞书bug
|
257
258
259
260
261
262
263
|
<div v-show="tabIndex == 2" v-loading="loading">
<el-table
v-if="role == 'ROLE_JIAOSHI'"
:data="tableData"
border
style="width: 100%"
>
|
f356590c
阿宝
即时测列表,分析页面
|
264
|
<el-table-column
|
9309dc5d
梁保满
任课老师接口完成
|
265
|
prop="studentCode"
|
f356590c
阿宝
即时测列表,分析页面
|
266
267
268
269
270
|
label="学号"
align="center"
fixed
></el-table-column>
<el-table-column
|
9309dc5d
梁保满
任课老师接口完成
|
271
|
prop="studentName"
|
f356590c
阿宝
即时测列表,分析页面
|
272
273
274
275
|
label="姓名"
fixed
align="center"
></el-table-column>
|
f356590c
阿宝
即时测列表,分析页面
|
276
277
278
279
280
281
282
|
<el-table-column
align="center"
v-for="(item, index) in answerList"
:key="index"
:label="item.title"
>
<el-table-column
|
9309dc5d
梁保满
任课老师接口完成
|
283
|
:prop="'score' + index"
|
8ea67428
梁保满
飞书bug
|
284
|
:label="index == 0 ? '总分' : '成绩'"
|
f356590c
阿宝
即时测列表,分析页面
|
285
286
287
|
align="center"
></el-table-column>
<el-table-column
|
9309dc5d
梁保满
任课老师接口完成
|
288
|
:prop="'classRank' + index"
|
f356590c
阿宝
即时测列表,分析页面
|
289
290
291
292
293
|
label="班名"
align="center"
></el-table-column>
</el-table-column>
</el-table>
|
dbbfc6c5
梁保满
飞书优化及bug
|
294
|
<el-table :max-height="tableMaxHeight" v-else :data="tableData" border style="width: 100%">
|
8ea67428
梁保满
飞书bug
|
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
|
<el-table-column
prop="studentCode"
label="学号"
align="center"
fixed
></el-table-column>
<el-table-column
prop="studentName"
label="姓名"
fixed
align="center"
></el-table-column>
<el-table-column
align="center"
v-for="(item, index) in answerList"
:key="index"
:label="item"
>
<el-table-column
:prop="'examCount' + item"
label="测练数"
align="center"
></el-table-column>
<el-table-column
:prop="'participationCount' + item"
label="参与数"
align="center"
></el-table-column>
<el-table-column
:prop="'score' + item"
label="总分"
align="center"
></el-table-column>
<el-table-column
:prop="'classRank' + item"
label="班名"
align="center"
></el-table-column>
</el-table-column>
</el-table>
|
f356590c
阿宝
即时测列表,分析页面
|
335
336
337
338
339
340
341
|
</div>
<p class="down" v-if="tabIndex == 2">
<el-button type="info" plain round icon="fa fa-cloud-download"
>导出报表</el-button
>
</p>
</div>
|
8ea67428
梁保满
飞书bug
|
342
343
344
345
346
347
348
349
350
351
352
353
354
355
|
<el-dialog title="导入主观题分数" :visible.sync="diaUp" width="600">
<up-load :url="url" :examId="examId" fileName="教师名单">
<template slot="down">
<p class="down-txt">
第一步:下载模板并编辑完成学生分数
<el-link type="danger" @click="downExcel">模板下载</el-link> 。
</p>
<p class="down-txt">第二步:上传完成编辑的模板文件并导入。</p>
</template>
</up-load>
<div class="dialog-footer" slot="footer">
<el-button @click="diaUp = false">取 消</el-button>
</div>
</el-dialog>
|
aed43d3a
阿宝
即时测修改答案
|
356
|
<div class="edit-dia" v-show="dialogVisible" height="100%">
|
9309dc5d
梁保满
任课老师接口完成
|
357
|
<editAnswer
|
8ea67428
梁保满
飞书bug
|
358
|
ref="editAnswer"
|
9309dc5d
梁保满
任课老师接口完成
|
359
360
361
362
363
|
:title="form.title"
:score="form.examPaperScore"
@cancel="cancel"
@saveSuccess="saveSuccess"
/>
|
aed43d3a
阿宝
即时测修改答案
|
364
|
</div>
|
4c4f7640
梁保满
路由表,路由前端文件
|
365
366
367
368
|
</div>
</template>
<script>
|
8ea67428
梁保满
飞书bug
|
369
|
import { formatDate, downloadFile } from "utils";
|
9309dc5d
梁保满
任课老师接口完成
|
370
|
import editAnswer from "./editAnswer.vue";
|
4c4f7640
梁保满
路由表,路由前端文件
|
371
|
export default {
|
9309dc5d
梁保满
任课老师接口完成
|
372
|
components: { editAnswer },
|
f356590c
阿宝
即时测列表,分析页面
|
373
374
|
data() {
return {
|
dbbfc6c5
梁保满
飞书优化及bug
|
375
|
tableMaxHeight:300,
|
f356590c
阿宝
即时测列表,分析页面
|
376
377
|
role: "",
loading: false,
|
8ea67428
梁保满
飞书bug
|
378
379
380
|
diaUp: false,
url: "/api_html/teaching/importSubjectiveScore",
examId: "",
|
f356590c
阿宝
即时测列表,分析页面
|
381
|
dialogVisible: false,
|
9309dc5d
梁保满
任课老师接口完成
|
382
383
384
385
|
form: {
id: "",
title: "",
examPaperScore: "",
|
aed43d3a
阿宝
即时测修改答案
|
386
|
},
|
f356590c
阿宝
即时测列表,分析页面
|
387
388
389
390
|
date: "", //今天-昨天-本周
query: {
//搜索条件
classId: "",
|
9309dc5d
梁保满
任课老师接口完成
|
391
|
subjectNames: "",
|
f356590c
阿宝
即时测列表,分析页面
|
392
393
394
395
396
397
398
|
startDay: "",
endDay: "",
day: "",
},
classList: [], //班级
subjectList: [], //科目
tabIndex: 1, //选项卡
|
9309dc5d
梁保满
任课老师接口完成
|
399
400
401
402
403
|
tableData: [],
answerList: [], //设置多卷内容供tableStage表格数据用
page: 1,
size: 20,
total: 0,
|
f356590c
阿宝
即时测列表,分析页面
|
404
405
406
|
};
},
async created() {
|
45504a95
阿宝
即时测页面,以及小题修改答案
|
407
408
409
|
this.role = this.$store.getters.info.permissions.find(
(item) => item.roleName == this.$store.getters.info.showRoleName
)?.role;
|
f356590c
阿宝
即时测列表,分析页面
|
410
411
|
await this._QueryClassList();
await this._QuerySubjectList();
|
9309dc5d
梁保满
任课老师接口完成
|
412
|
await this.setDate(1);
|
f356590c
阿宝
即时测列表,分析页面
|
413
414
415
416
417
418
419
|
let startDay = this.query?.startDay;
if (!startDay) {
this.query.startDay = new Date();
this.query.endDay = new Date();
}
},
methods: {
|
dbbfc6c5
梁保满
飞书优化及bug
|
420
421
422
423
424
425
426
427
428
429
430
|
changeSub(val) {
let sub;
if (val && val.length) {
let leng = val.length - 1;
sub = val[leng];
}
console.log(val)
this.query.subjectNames = val.filter((item) => {
return sub != "全部" ? item != "全部" : item == "全部";
});
},
|
f356590c
阿宝
即时测列表,分析页面
|
431
432
433
434
435
436
|
linkTo(obj) {
//去详情
this.$router.push({
path: "/testAnalysis",
query: {
id: obj.id,
|
9309dc5d
梁保满
任课老师接口完成
|
437
438
|
title: obj.title,
score: obj.examPaperScore,
|
f356590c
阿宝
即时测列表,分析页面
|
439
440
441
|
},
});
},
|
8ea67428
梁保满
飞书bug
|
442
443
444
445
|
uploadSJ(obj) {
this.examId = obj.id;
this.diaUp = true;
},
|
9309dc5d
梁保满
任课老师接口完成
|
446
447
|
cancel() {
this.dialogVisible = false;
|
aed43d3a
阿宝
即时测修改答案
|
448
|
},
|
9309dc5d
梁保满
任课老师接口完成
|
449
450
451
|
saveSuccess() {
this.dialogVisible = false;
this._QueryData();
|
aed43d3a
阿宝
即时测修改答案
|
452
|
},
|
f356590c
阿宝
即时测列表,分析页面
|
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
|
setDate(index) {
const that = this;
this.date = index == this.date ? "" : index;
let aYear = new Date().getFullYear();
let aMonth = new Date().getMonth() + 1;
that.query.day = "";
that.query.startDay = "";
that.query.endDay = "";
switch (index) {
case 1:
that.query.day = formatDate(new Date(), "yyyy-MM-dd");
that.query.startDay = that.query.day;
that.query.endDay = that.query.day;
break;
case 2:
let day = new Date().getDay();
if (day == 0) {
//中国式星期天是一周的最后一天
day = 7;
}
|
8ea67428
梁保满
飞书bug
|
473
|
day--;
|
f356590c
阿宝
即时测列表,分析页面
|
474
475
476
477
478
479
480
481
482
483
|
let aTime = new Date().getTime() - 24 * 60 * 60 * 1000 * day;
that.query.startDay = formatDate(new Date(aTime), "yyyy-MM-dd");
that.query.endDay = formatDate(new Date(), "yyyy-MM-dd");
break;
case 3:
aMonth = aMonth < 10 ? "0" + aMonth : aMonth;
that.query.startDay = `${aYear}-${aMonth}-01`;
that.query.endDay = formatDate(new Date(), "yyyy-MM-dd");
break;
case 4:
|
9309dc5d
梁保满
任课老师接口完成
|
484
|
if (aMonth > 0 && aMonth < 4) {
|
f356590c
阿宝
即时测列表,分析页面
|
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
|
aMonth = "01";
} else if (aMonth > 3 && aMonth < 7) {
aMonth = "04";
} else if (aMonth > 6 && aMonth < 10) {
aMonth = "07";
} else {
aMonth = "10";
}
aMonth = aMonth < 10 ? "0" + aMonth : aMonth;
that.query.startDay = `${aYear}-${aMonth}-01`;
that.query.endDay = formatDate(new Date(), "yyyy-MM-dd");
break;
}
this.page = 1;
this._QueryData();
},
handleChangeTimeStart(val) {
this.query.day = "";
this.date = "";
if (this.query.endDay) {
if (new Date(val).getTime() > new Date(this.query.endDay).getTime()) {
this.$message.error("任务结束时间不能任务开始时间前面,请重新设置");
this.query.startDay = "";
}
}
},
handleChangeTimeEnd(val) {
this.query.day = "";
this.date = "";
if (this.query.startDay) {
if (new Date(val).getTime() < new Date(this.query.startDay).getTime()) {
this.$message.error("任务结束时间不能任务开始时间前面,请重新设置");
this.query.endDay = "";
}
}
},
|
9309dc5d
梁保满
任课老师接口完成
|
522
523
524
|
changePage(page) {
this.page = page;
this._QueryData();
|
aed43d3a
阿宝
即时测修改答案
|
525
|
},
|
f356590c
阿宝
即时测列表,分析页面
|
526
|
edit(item) {
|
9309dc5d
梁保满
任课老师接口完成
|
527
|
this.form = { ...item };
|
8ea67428
梁保满
飞书bug
|
528
|
this.$refs.editAnswer.edit(this.form.id);
|
f356590c
阿宝
即时测列表,分析页面
|
529
530
|
this.dialogVisible = true;
},
|
9309dc5d
梁保满
任课老师接口完成
|
531
|
changeTab() {
|
dbbfc6c5
梁保满
飞书优化及bug
|
532
|
this.tableMaxHeight = this.$refs.main.offsetHeight-100
|
9309dc5d
梁保满
任课老师接口完成
|
533
534
|
this.page = 1;
this._QueryData();
|
aed43d3a
阿宝
即时测修改答案
|
535
|
},
|
8ea67428
梁保满
飞书bug
|
536
537
538
539
540
541
542
543
544
545
546
547
548
|
async downExcel() {
let data = await this.$request.subjectiveScoreTemplate({
examId: this.id,
});
if (data && !data.code) {
let blob = new Blob([data], {
type: "application/vnd.ms-excel;charset=utf-8",
});
downloadFile(`主观题模版.xlsx`, blob);
} else {
this.$message.error(data.message);
}
},
|
f356590c
阿宝
即时测列表,分析页面
|
549
|
async changClazz() {
|
9309dc5d
梁保满
任课老师接口完成
|
550
|
this.page = 1;
|
f356590c
阿宝
即时测列表,分析页面
|
551
|
await this._QuerySubjectList();
|
9309dc5d
梁保满
任课老师接口完成
|
552
|
await this._QueryData();
|
f356590c
阿宝
即时测列表,分析页面
|
553
554
|
},
async _QueryClassList() {
|
9309dc5d
梁保满
任课老师接口完成
|
555
556
557
558
559
|
const fetchClassList =
this.role == "ROLE_BANZHUREN"
? this.$request.cTClassList
: this.$request.tClassList;
const { data, status, info } = await fetchClassList();
|
f356590c
阿宝
即时测列表,分析页面
|
560
561
562
563
|
if (status === 0) {
this.classList = data.list.map((item) => {
return {
value: item.classId,
|
45504a95
阿宝
即时测页面,以及小题修改答案
|
564
|
label: item.className,
|
f356590c
阿宝
即时测列表,分析页面
|
565
566
567
568
569
570
571
572
|
};
});
this.query.classId = this.classList[0]?.value;
} else {
this.$message.error(info);
}
},
async _QuerySubjectList() {
|
9309dc5d
梁保满
任课老师接口完成
|
573
574
575
576
577
578
|
const fetchSubjectList =
this.role == "ROLE_BANZHUREN"
? this.$request.cTSubjectList
: this.$request.tSubjectList;
const { data, status, info } = await fetchSubjectList({
|
f356590c
阿宝
即时测列表,分析页面
|
579
580
581
582
|
classId: this.query.classId,
});
if (status === 0) {
this.subjectList =
|
45504a95
阿宝
即时测页面,以及小题修改答案
|
583
|
data.subjectNames?.map((item) => {
|
f356590c
阿宝
即时测列表,分析页面
|
584
|
return {
|
45504a95
阿宝
即时测页面,以及小题修改答案
|
585
586
|
value: item,
label: item,
|
f356590c
阿宝
即时测列表,分析页面
|
587
588
|
};
}) || [];
|
aed43d3a
阿宝
即时测修改答案
|
589
|
if (this.role == "ROLE_BANZHUREN") {
|
f356590c
阿宝
即时测列表,分析页面
|
590
|
this.subjectList.unshift({
|
9309dc5d
梁保满
任课老师接口完成
|
591
|
value: "全部",
|
f356590c
阿宝
即时测列表,分析页面
|
592
593
|
label: "全部",
});
|
9309dc5d
梁保满
任课老师接口完成
|
594
|
this.query.subjectNames.push(this.subjectList[0]?.value);
|
aed43d3a
阿宝
即时测修改答案
|
595
|
} else {
|
9309dc5d
梁保满
任课老师接口完成
|
596
|
this.query.subjectNames = this.subjectList[0]?.value;
|
f356590c
阿宝
即时测列表,分析页面
|
597
|
}
|
f356590c
阿宝
即时测列表,分析页面
|
598
599
600
601
602
|
} else {
this.$message.error(info);
}
},
async _QueryData() {
|
9309dc5d
梁保满
任课老师接口完成
|
603
604
605
606
607
608
609
610
611
|
this.tableData = [];
if (this.tabIndex == 1) {
this.examReportList();
} else {
this.phaseExamReport();
}
},
//单卷测练
async examReportList() {
|
f356590c
阿宝
即时测列表,分析页面
|
612
|
this.loading = true;
|
f356590c
阿宝
即时测列表,分析页面
|
613
614
615
616
617
618
|
let query = {};
for (let key in this.query) {
if (this.query[key] != "") {
query[key] = this.query[key];
}
}
|
9309dc5d
梁保满
任课老师接口完成
|
619
620
621
622
|
if (this.role != "ROLE_BANZHUREN") {
query.subjectNames = [query.subjectNames];
} else {
if (
|
8ea67428
梁保满
飞书bug
|
623
|
query["subjectNames"] &&
|
9309dc5d
梁保满
任课老师接口完成
|
624
625
626
627
628
629
630
|
query["subjectNames"].length == 1 &&
query["subjectNames"][0] == "全部"
) {
query["subjectNames"] = this.subjectList.map((item) => {
return item.value;
});
query["subjectNames"].shift();
|
dbbfc6c5
梁保满
飞书优化及bug
|
631
632
633
634
|
}
if (!query["subjectNames"]) {
this.$message.warning("请选择科目");
return;
|
9309dc5d
梁保满
任课老师接口完成
|
635
636
637
|
}
}
const { data, status, info } = await this.$request.examReportList({
|
f356590c
阿宝
即时测列表,分析页面
|
638
|
...query,
|
9309dc5d
梁保满
任课老师接口完成
|
639
640
|
page: this.page,
size: this.size,
|
f356590c
阿宝
即时测列表,分析页面
|
641
642
643
|
});
this.loading = false;
if (status === 0) {
|
9309dc5d
梁保满
任课老师接口完成
|
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
|
this.tableData = (data?.list && [...data?.list]) || [];
this.total = data.count;
} else {
this.$message.error(info);
}
},
//多卷测练
async phaseExamReport() {
this.loading = true;
let query = {};
for (let key in this.query) {
if (this.query[key] != "") {
if (key == "subjectNames" && this.role != "ROLE_BANZHUREN") {
query["subjectName"] = this.query[key];
} else {
query[key] = this.query[key];
}
}
}
if (this.role == "ROLE_BANZHUREN") {
if (
|
8ea67428
梁保满
飞书bug
|
665
666
|
query["subjectNames"] &&
query["subjectNames"]?.length == 1 &&
|
9309dc5d
梁保满
任课老师接口完成
|
667
668
669
670
671
|
query["subjectNames"][0] == "全部"
) {
query["subjectNames"] = this.subjectList.map((item) => {
return item.value;
});
|
8ea67428
梁保满
飞书bug
|
672
|
query["subjectNames"]?.shift();
|
9309dc5d
梁保满
任课老师接口完成
|
673
674
675
676
677
678
679
680
681
682
683
684
|
}
}
const phaseExamReport =
this.role == "ROLE_BANZHUREN"
? this.$request.cTPhaseExamReport
: this.$request.phaseExamReport;
const { data, status, info } = await phaseExamReport({
...query,
});
this.loading = false;
if (status === 0) {
this.total = data.count;
|
8ea67428
梁保满
飞书bug
|
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
|
if (this.role == "ROLE_BANZHUREN") {
let subjectName = [];
this.tableData = data?.list.map((item) => {
let params = {};
item.dataList.map((items, index) => {
if (!subjectName.includes(items.subjectName)) {
subjectName.push(items.subjectName);
}
params["examCount" + items.subjectName] = items.examCount;
params["participationCount" + items.subjectName] =
items.participationCount;
params["score" + items.subjectName] = items.score;
params["classRank" + items.subjectName] = items.classRank;
});
return {
...item,
...params,
};
});
this.answerList = [...subjectName];
} else {
let dataIdsList = [],
dataList = [];
data?.list.map((item) => {
item.examList.map((items) => {
|
9309dc5d
梁保满
任课老师接口完成
|
710
711
712
713
|
if (!dataIdsList.includes(items.title)) {
dataIdsList.push(items.title);
dataList.push(items);
}
|
8ea67428
梁保满
飞书bug
|
714
|
});
|
9309dc5d
梁保满
任课老师接口完成
|
715
|
});
|
8ea67428
梁保满
飞书bug
|
716
717
718
719
720
721
722
|
console.log(dataList);
this.tableData = data?.list.map((item) => {
let params = {};
dataIdsList.map((ids, index) => {
params["score" + index] = "--";
params["classRank" + index] = "--";
item.examList.map((items) => {
|
9309dc5d
梁保满
任课老师接口完成
|
723
724
725
726
|
if (items.title == ids) {
params["score" + index] = items.score;
params["classRank" + index] = items.classRank;
}
|
8ea67428
梁保满
飞书bug
|
727
|
});
|
9309dc5d
梁保满
任课老师接口完成
|
728
|
});
|
8ea67428
梁保满
飞书bug
|
729
730
731
732
|
return {
...item,
...params,
};
|
9309dc5d
梁保满
任课老师接口完成
|
733
|
});
|
8ea67428
梁保满
飞书bug
|
734
735
|
this.answerList = dataList;
}
|
f356590c
阿宝
即时测列表,分析页面
|
736
737
738
739
740
741
|
} else {
this.$message.error(info);
}
},
},
};
|
4c4f7640
梁保满
路由表,路由前端文件
|
742
743
|
</script>
|
9309dc5d
梁保满
任课老师接口完成
|
744
745
746
747
748
749
750
751
752
753
|
<style>
div::-webkit-scrollbar {
width: 3px;
height: 10px;
}
div::-webkit-scrollbar-thumb {
border-radius: 10px;
background-color: #ccc;
}
</style>
|
f356590c
阿宝
即时测列表,分析页面
|
754
|
<style lang="scss" scoped>
|
9309dc5d
梁保满
任课老师接口完成
|
755
756
|
.page-container {
position: relative;
|
dbbfc6c5
梁保满
飞书优化及bug
|
757
|
min-height: 100%;
|
9309dc5d
梁保满
任课老师接口完成
|
758
|
&.active {
|
9309dc5d
梁保满
任课老师接口完成
|
759
760
761
|
overflow: hidden;
}
}
|
f356590c
阿宝
即时测列表,分析页面
|
762
763
764
765
766
767
768
769
770
771
772
773
|
.table-box {
margin: 0 20px;
padding: 16px;
background: #f8f8f8;
border-radius: 5px;
:deep(.fa-arrow-right) {
padding-left: 2px;
}
:deep(.fa-file-text) {
padding-left: 2px;
}
}
|
f356590c
阿宝
即时测列表,分析页面
|
774
775
776
|
.down {
padding-top: 16px;
}
|
aed43d3a
阿宝
即时测修改答案
|
777
778
779
780
781
782
783
|
.edit-dia {
position: absolute;
left: 0;
top: 0;
right: 0;
bottom: 0;
width: 100%;
|
9309dc5d
梁保满
任课老师接口完成
|
784
|
height: calc(100vh - 70px);
|
aed43d3a
阿宝
即时测修改答案
|
785
786
787
|
background: #fff;
overflow-y: auto;
z-index: 10;
|
aed43d3a
阿宝
即时测修改答案
|
788
|
}
|
4c4f7640
梁保满
路由表,路由前端文件
|
789
|
</style>
|