Blame view

src/views/basic/test/list.vue 19.8 KB
079cb4cf   梁保满   即时测导出
1
2
3
4
5
6
7
  <template>
    <div ref="main" class="page-container">
      <back-box v-show="!isDetail">
        <template slot="title">
          <span>即时测-数据报表</span>
        </template>
        <template slot="btns">
58744c8c   梁保满   即时测多班淡斑逻辑修改
8
9
10
11
12
13
14
15
16
17
18
19
20
21
          <el-tooltip
            v-if="!code && gdClass"
            effect="dark"
            content="已归档试卷"
            placement="bottom"
          >
            <el-button
              type="primary"
              icon="fa fa-archive"
              size="mini"
              plain
              circle
              @click="toArchiving"
            ></el-button>
079cb4cf   梁保满   即时测导出
22
23
24
25
          </el-tooltip>
        </template>
      </back-box>
      <div v-show="!isDetail" class="table-box" v-loading="loading">
1410e5cd   梁保满   即时测随堂问多班汇总逻辑
26
27
        <div>
          <p v-if="!isMultipleClass" class="btn-box">
0f3dca29   梁保满   教师格式化确认,报表列表添加去筛选按钮
28
            <el-button type="primary" round @click="linkToTest">筛选</el-button>
58744c8c   梁保满   即时测多班淡斑逻辑修改
29
30
31
            <el-button type="primary" round @click="linkToDetail2"
              >查看汇总报表</el-button
            >
079cb4cf   梁保满   即时测导出
32
          </p>
58744c8c   梁保满   即时测多班淡斑逻辑修改
33
34
35
36
37
          <el-table
            :data="tableData"
            :max-height="tableMaxHeight"
            border
            style="width: 100%"
58744c8c   梁保满   即时测多班淡斑逻辑修改
38
          >
1410e5cd   梁保满   即时测随堂问多班汇总逻辑
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
            <template v-if="isMultipleClass">
              <el-table-column
                prop="subjectName"
                label="科目"
                align="center"
              ></el-table-column>
              <el-table-column prop="classList" label="班级" align="center">
                <template slot-scope="scoped">
                  <span v-for="(item, index) in scoped.row.classNames">{{
                    `${index == 0 ? "" : "/"}` + item
                  }}</span>
                </template>
              </el-table-column>
              <el-table-column
                prop="title"
                label="试卷名称"
                align="center"
              ></el-table-column>
              <el-table-column
                prop="examPaperScore"
                label="卷面分"
                align="center"
              ></el-table-column>
              <el-table-column label="操作" align="center">
                <template slot-scope="scoped">
58744c8c   梁保满   即时测多班淡斑逻辑修改
64
65
66
67
                  <el-button
                    type="primary"
                    circle
                    size="mini"
1410e5cd   梁保满   即时测随堂问多班汇总逻辑
68
69
                    icon="el-icon-arrow-right"
                    @click="linkContrast(scoped.row)"
58744c8c   梁保满   即时测多班淡斑逻辑修改
70
                  ></el-button>
1410e5cd   梁保满   即时测随堂问多班汇总逻辑
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
                </template>
              </el-table-column>
            </template>
            <template v-if="!isMultipleClass">
              <el-table-column width="48">
                <template slot-scope="scope">
                  <el-checkbox
                    v-model="multipleSelection"
                    :label="scope.row.id"
                    :disabled="checkboxDisabled(scope.row)"
                    ><span></span
                  ></el-checkbox>
                </template>
              </el-table-column>
              <el-table-column
                prop="subjectName"
                label="科目"
                align="center"
              ></el-table-column>
              <el-table-column
                prop="className"
                label="班级"
                align="center"
              ></el-table-column>
              <el-table-column
                prop="title"
                label="试卷名称"
                align="center"
              ></el-table-column>
              <el-table-column
                prop="examPaperScore"
                label="卷面分"
                align="center"
              ></el-table-column>
              <el-table-column label="测验人数/班级人数" align="center">
                <template slot-scope="scoped">{{
                  `${scoped.row.answeredNum}/${scoped.row.classPersonNum}`
                }}</template>
              </el-table-column>
              <el-table-column
                prop="examStartTime"
                label="测验开始时间"
                align="center"
              ></el-table-column>
              <el-table-column label="操作" align="center">
                <template slot-scope="scoped">
58744c8c   梁保满   即时测多班淡斑逻辑修改
117
                  <el-tooltip
1410e5cd   梁保满   即时测随堂问多班汇总逻辑
118
                    v-if="
ab315758   梁保满   即时测主观题列表设置操作
119
120
121
                      scoped.row.answerNum != 0 ||
                      (scoped.row.recordStatus != 0 &&
                        scoped.row.subjectiveScore == scoped.row.examPaperScore)
1410e5cd   梁保满   即时测随堂问多班汇总逻辑
122
                    "
58744c8c   梁保满   即时测多班淡斑逻辑修改
123
                    effect="dark"
1410e5cd   梁保满   即时测随堂问多班汇总逻辑
124
                    content="详情"
58744c8c   梁保满   即时测多班淡斑逻辑修改
125
126
127
128
129
130
                    placement="top"
                  >
                    <el-button
                      type="primary"
                      circle
                      size="mini"
1410e5cd   梁保满   即时测随堂问多班汇总逻辑
131
132
                      icon="fa fa-arrow-right"
                      @click="linkTo(scoped.row)"
58744c8c   梁保满   即时测多班淡斑逻辑修改
133
                    ></el-button>
079cb4cf   梁保满   即时测导出
134
                  </el-tooltip>
ab315758   梁保满   即时测主观题列表设置操作
135
136
137
138
139
140
                  <template
                    v-if="
                      scoped.row.answerNum == 0 &&
                      scoped.row.subjectiveScore != scoped.row.examPaperScore
                    "
                  >
1410e5cd   梁保满   即时测随堂问多班汇总逻辑
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
                    <el-tooltip
                      v-if="role != 'ROLE_BANZHUREN'"
                      effect="dark"
                      content="设置答案"
                      placement="top"
                    >
                      <el-button
                        type="primary"
                        circle
                        size="mini"
                        icon="fa fa-file-text"
                        @click="edit(scoped.row)"
                      ></el-button>
                    </el-tooltip>
                    <template v-else>未设置答案</template>
                  </template>
861f5e84   梁保满   录分设置
157
                  <template
9f01990b   梁保满   答题录分设置条件
158
                    v-if="role != 'ROLE_BANZHUREN' && scoped.row.examPaperId != 0"
58744c8c   梁保满   即时测多班淡斑逻辑修改
159
                  >
861f5e84   梁保满   录分设置
160
                    <template>
d0935986   梁保满   录分层级问题
161
                      <el-popover placement="bottom" width="194" ref="popoverRef">
861f5e84   梁保满   录分设置
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
                        <div
                          style="display: flex"
                          v-loading="
                            scoped.row.showSelect == 0 ||
                            scoped.row.showSelect == 1
                              ? false
                              : true
                          "
                        >
                          <el-button
                            v-if="scoped.row.showSelect == 0"
                            size="mini"
                            @click="openScoreSet(scoped.row, 1)"
                            >录入总得分</el-button
                          >
                          <el-button
                            type="primary"
                            size="mini"
                            @click="openScoreSet(scoped.row, 2)"
                            >录入小题分</el-button
                          >
                        </div>
                        <el-button
                          class="remove-test"
                          slot="reference"
                          type="primary"
                          circle
                          size="mini"
                          @click="queryStatus(scoped.row)"
                          >分</el-button
                        >
                      </el-popover>
                    </template>
                  </template>
1410e5cd   梁保满   即时测随堂问多班汇总逻辑
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
                  <el-popconfirm
                    v-if="role != 'ROLE_BANZHUREN'"
                    title="确定删除吗?"
                    @confirm="removeReport(scoped.row, scoped.$index)"
                  >
                    <el-button
                      class="remove-test"
                      slot="reference"
                      type="danger"
                      circle
                      size="mini"
                      icon="el-icon-delete"
                      :loading="scoped.row.loading"
                    ></el-button>
                  </el-popconfirm>
                </template>
              </el-table-column>
            </template>
079cb4cf   梁保满   即时测导出
214
215
          </el-table>
          <div class="pagination-box">
58744c8c   梁保满   即时测多班淡斑逻辑修改
216
217
218
219
220
221
222
223
224
            <el-pagination
              small=""
              layout="total,prev, pager, next"
              :hide-on-single-page="true"
              :total="total"
              @current-change="changePage"
              :current-page="page"
              :page-size="size"
            >
079cb4cf   梁保满   即时测导出
225
226
            </el-pagination>
          </div>
58744c8c   梁保满   即时测多班淡斑逻辑修改
227
228
229
230
231
232
233
          <ScoreSet
            v-show="diaScoreSet"
            :diaScoreSet="diaScoreSet"
            :role="role"
            :id="examId"
            :title="examTitlt"
            :examScore="examScore"
861f5e84   梁保满   录分设置
234
235
            :showAllSetScore="showAllSetScore"
            :showSetScore="showSetScore"
58744c8c   梁保满   即时测多班淡斑逻辑修改
236
            @closeScoreSet="closeScoreSet"
b248db27   梁保满   课件模版区分,错别字修改,录分成功...
237
            @SuccessScoreSet="SuccessScoreSet"
58744c8c   梁保满   即时测多班淡斑逻辑修改
238
          />
079cb4cf   梁保满   即时测导出
239
        </div>
079cb4cf   梁保满   即时测导出
240
241
242
243
244
245
      </div>
      <router-view v-show="isDetail"></router-view>
    </div>
  </template>
  
  <script>
58744c8c   梁保满   即时测多班淡斑逻辑修改
246
  import ScoreSet from "./components/scoreSet.vue";
079cb4cf   梁保满   即时测导出
247
248
  export default {
    components: {
58744c8c   梁保满   即时测多班淡斑逻辑修改
249
      ScoreSet,
079cb4cf   梁保满   即时测导出
250
251
252
253
254
255
256
257
258
    },
    data() {
      return {
        code: "",
        gdClass: 0, //已归档班级数量
        tableMaxHeight: null,
        role: "",
        loading: false,
        diaScoreSet: false,
58744c8c   梁保满   即时测多班淡斑逻辑修改
259
260
261
        examId: "", //当前操作试卷
        examTitlt: "", //当前操作试卷名称
        examScore: 0, //当前操作试卷卷面总分
861f5e84   梁保满   录分设置
262
263
        showAllSetScore: false, //当前操作试卷可录总分分状态
        showSetScore: false, //当前操作试卷可录小题分状态
079cb4cf   梁保满   即时测导出
264
265
266
267
268
269
270
271
        query: {
          //搜索条件
          classId: [],
          subjectNames: [],
          startDay: "",
          endDay: "",
        },
        multipleSelection: [],
e9713b69   梁保满   备题支持无大题
272
        multipleSelectionObj: {},
079cb4cf   梁保满   即时测导出
273
274
275
276
277
278
279
280
281
        tableData: [],
        page: 1,
        size: 20,
        total: 0,
        isMultipleClass: false,
      };
    },
    computed: {
      isDetail: function () {
58744c8c   梁保满   即时测多班淡斑逻辑修改
282
283
284
        let bol = this.$route.name == "即时测报表分析" ? true : false;
        return bol;
      },
079cb4cf   梁保满   即时测导出
285
286
    },
    async created() {
7812e986   梁保满   班主任查看报表添加额外信息
287
      this.code = this.$store.getters.csCode;
58744c8c   梁保满   即时测多班淡斑逻辑修改
288
      this.init();
079cb4cf   梁保满   即时测导出
289
290
291
292
293
294
295
296
    },
    mounted() {
      this.tableMaxHeight = this.$refs.main.offsetHeight;
    },
    watch: {
      "$route.query.params": function (nVal) {
        let isFromTestDetail = sessionStorage.getItem("isFromTestDetail");
        if (!isFromTestDetail && nVal) {
58744c8c   梁保满   即时测多班淡斑逻辑修改
297
          this.init();
079cb4cf   梁保满   即时测导出
298
        }
58744c8c   梁保满   即时测多班淡斑逻辑修改
299
      },
e9713b69   梁保满   备题支持无大题
300
301
302
303
304
305
306
307
      multipleSelection: {
        handler: function (nVal) {
          this.multipleSelectionObj[this.page] = this.tableData.filter((item) =>
            nVal.includes(item.id)
          );
        },
        deep: true,
      },
079cb4cf   梁保满   即时测导出
308
309
310
311
    },
    methods: {
      //初始化
      init() {
58744c8c   梁保满   即时测多班淡斑逻辑修改
312
313
314
315
        const queryData = this.$route.query.params;
        queryData
          ? (this.query = { ...this.query, ...JSON.parse(queryData) })
          : "";
58744c8c   梁保满   即时测多班淡斑逻辑修改
316
317
        this.$store.commit("setClasses", this.query.classId.join(","));
        this.isMultipleClass = false;
079cb4cf   梁保满   即时测导出
318
319
320
321
        this.role =
          this.$store.getters.info.showRole ||
          this.$store.getters.info.permissions[0].role;
        if (this.role != "ROLE_PERSONAL") {
58744c8c   梁保满   即时测多班淡斑逻辑修改
322
          this._QueryGdClass();
079cb4cf   梁保满   即时测导出
323
        }
58744c8c   梁保满   即时测多班淡斑逻辑修改
324
325
326
327
        this.page = 1;
        this.total = 0;
        this.tableData = [];
        this._QueryData();
079cb4cf   梁保满   即时测导出
328
329
330
331
332
333
334
      },
      //归档列表
      toArchiving() {
        this.$router.push({
          path: "/testArchiving",
        });
      },
0f3dca29   梁保满   教师格式化确认,报表列表添加去筛选按钮
335
336
337
338
339
340
      //去筛选
      linkToTest() {
        this.$router.push({
          path: "/test",
        });
      },
079cb4cf   梁保满   即时测导出
341
342
343
344
345
346
347
348
349
      //跳转单卷分析
      linkTo(obj) {
        //去详情
        this.$router.push({
          path: "/testAnalysis",
          query: {
            id: obj.id,
            title: obj.title,
            score: obj.examPaperScore || 0,
ab315758   梁保满   即时测主观题列表设置操作
350
            type: 1, //试卷类型
22095aba   梁保满   接口联调
351
            subjectName: obj.subjectName,
861f5e84   梁保满   录分设置
352
            classIds: obj.classId,
58744c8c   梁保满   即时测多班淡斑逻辑修改
353
            params: this.$route.query.params,
03cd547e   梁保满   单体型以及其他类型试卷修改答案逻辑
354
            examType: obj.examPaperId == 0 ? 1 : 2,
079cb4cf   梁保满   即时测导出
355
356
357
358
359
360
          },
        });
      },
      //汇总跳转-多卷
      linkToDetail2() {
        if (this.multipleSelection.length == 0) {
58744c8c   梁保满   即时测多班淡斑逻辑修改
361
362
363
364
          this.$message.warning("请选择试卷!");
          return;
        }
        let subjectArr = [];
7222c2eb   梁保满   汇总前置条件修改,教学,行政可汇总
365
        let classIds = [];
b0cd2598   梁保满   fix:测试问题
366
        let multipleData = [];
e9713b69   梁保满   备题支持无大题
367
368
369
370
371
372
373
        let multipleSelectionData = [];
        Object.keys(this.multipleSelectionObj).map((keys) => {
          multipleSelectionData = multipleSelectionData.concat(
            this.multipleSelectionObj[keys]
          );
        });
        multipleSelectionData.map((item) => {
b0cd2598   梁保满   fix:测试问题
374
375
376
          if (this.multipleSelection.includes(item.id)) {
            subjectArr.push(item.subjectName);
            multipleData.push(item);
7222c2eb   梁保满   汇总前置条件修改,教学,行政可汇总
377
            classIds.push(item.classId);
b0cd2598   梁保满   fix:测试问题
378
          }
58744c8c   梁保满   即时测多班淡斑逻辑修改
379
380
        });
        subjectArr = [...new Set(subjectArr)];
7222c2eb   梁保满   汇总前置条件修改,教学,行政可汇总
381
        classIds = [...new Set(classIds)];
b0cd2598   梁保满   fix:测试问题
382
        if (this.multipleSelection.length == 1) {
68875fba   梁保满   即时测多班汇总(删除)
383
384
385
          this.$router.push({
            path: "/testAnalysis",
            query: {
b0cd2598   梁保满   fix:测试问题
386
              id: this.multipleSelection[0],
c410e3c4   梁保满   init
387
388
              title: multipleData[0].title,
              score: multipleData[0].examPaperScore || 0,
68875fba   梁保满   即时测多班汇总(删除)
389
390
              type: 1,
              subjectName: subjectArr.join(),
861f5e84   梁保满   录分设置
391
              classIds: classIds.join(),
68875fba   梁保满   即时测多班汇总(删除)
392
393
394
395
              params: this.$route.query.params,
            },
          });
        } else {
079cb4cf   梁保满   即时测导出
396
397
398
399
          //去详情
          this.$router.push({
            path: "/testAnalysis",
            query: {
b0cd2598   梁保满   fix:测试问题
400
              ids: this.multipleSelection.join(),
861f5e84   梁保满   录分设置
401
              classIds: classIds.join(),
68875fba   梁保满   即时测多班汇总(删除)
402
              type: subjectArr.length == 1 ? 2 : 3,
22095aba   梁保满   接口联调
403
              subjectName: subjectArr.join(),
58744c8c   梁保满   即时测多班淡斑逻辑修改
404
              params: this.$route.query.params,
079cb4cf   梁保满   即时测导出
405
406
            },
          });
079cb4cf   梁保满   即时测导出
407
408
409
410
        }
      },
      // 多班对比
      linkContrast(obj) {
079cb4cf   梁保满   即时测导出
411
412
413
        this.$router.push({
          path: "/testAnalysis",
          query: {
58744c8c   梁保满   即时测多班淡斑逻辑修改
414
415
            ids: obj.ids.join(","),
            classId: obj.classIds.join(","),
079cb4cf   梁保满   即时测导出
416
417
            subjectName: obj.subjectName,
            title: obj.title,
049db2b2   梁保满   接口联调
418
            type: 4,
c7461233   梁保满   多班对比传递页面总分
419
            examPaperScore: obj.examPaperScore,
58744c8c   梁保满   即时测多班淡斑逻辑修改
420
            params: this.$route.query.params,
079cb4cf   梁保满   即时测导出
421
422
423
          },
        });
      },
c3c2b127   梁保满   即时测多班汇总
424
425
      // 班主任教学班不能与行政班汇总
      checkboxDisabled(obj) {
e93f8636   梁保满   即使测列表角色权限操作问题
426
        if (obj.examStartTime) {
7222c2eb   梁保满   汇总前置条件修改,教学,行政可汇总
427
428
429
430
431
432
433
434
435
436
437
438
439
440
          // if (this.role == "ROLE_BANZHUREN") {
          //   let classId =
          //     (this.multipleSelectionObj[1] &&
          //       this.multipleSelectionObj[1][0]?.classId) ||
          //     "";
          //   if (classId) {
          //     return obj.classId == classId ? false : true;
          //   } else {
          //     return false;
          //   }
          // } else {
          //   return false;
          // }
          return false;
b248db27   梁保满   课件模版区分,错别字修改,录分成功...
441
        } else {
e93f8636   梁保满   即使测列表角色权限操作问题
442
          return true;
c3c2b127   梁保满   即时测多班汇总
443
444
        }
      },
079cb4cf   梁保满   即时测导出
445
446
447
      handleSelectionChange(val) {
        this.multipleSelection = val;
      },
861f5e84   梁保满   录分设置
448
449
450
451
452
453
454
455
456
457
458
459
460
461
      //已录分状态
      async queryStatus(obj) {
        const { data, status, info } = await this.$request.getScoreType({
          examId: obj.id,
        });
        if (status === 0) {
          // if (data == 1) {
          //   this.openScoreSet(obj, 2);
          // }
          obj.showSelect = data;
        } else {
          this.$message.error(info);
        }
      },
079cb4cf   梁保满   即时测导出
462
      //打开答卷录分
861f5e84   梁保满   录分设置
463
      openScoreSet(obj, type) {
d0935986   梁保满   录分层级问题
464
        this.$refs.main.click();
861f5e84   梁保满   录分设置
465
466
        this.showAllSetScore = type == 1 ? true : false;
        this.showSetScore = type == 2 ? true : false;
77da338a   梁保满   自测问题修改
467
        this.examId = String(obj.id);
079cb4cf   梁保满   即时测导出
468
        this.examTitlt = obj.title;
384a2a54   梁保满   请求头添加班主任信息,bug修改
469
        this.examScore = obj.examPaperScore;
079cb4cf   梁保满   即时测导出
470
471
472
473
        this.diaScoreSet = true;
      },
      //关闭设置分数
      closeScoreSet() {
58744c8c   梁保满   即时测多班淡斑逻辑修改
474
        this.diaScoreSet = false;
079cb4cf   梁保满   即时测导出
475
      },
b248db27   梁保满   课件模版区分,错别字修改,录分成功...
476
477
478
479
480
      //修改分数成功
      SuccessScoreSet() {
        this._QueryData();
        this.closeScoreSet();
      },
079cb4cf   梁保满   即时测导出
481
482
483
484
485
486
487
      //修改答案
      edit(item) {
        this.$router.push({
          path: "/examinationPaperEdit",
          query: {
            paperId: item.id,
            title: item.title,
ab315758   梁保满   即时测主观题列表设置操作
488
            type: 2, //搜索题目详情类型
7f5613f1   梁保满   设置答案问题
489
            examType: item.examPaperId == 0 ? 1 : 2,
079cb4cf   梁保满   即时测导出
490
491
492
          },
        });
      },
a9f5dfcf   梁保满   修改知识点匹配,删除即时测报表
493
494
495
496
497
498
499
500
      //删除即时测考试
      async removeReport(obj, index) {
        this.tableData[index].loading = true;
        const { data, status, info } = await this.$request.deleteReport({
          id: obj.id,
        });
        if (status === 0) {
          this.$message.success("删除成功!");
a736cb8b   梁保满   fix:教师管理班级权限问题,删除...
501
          this._QueryData();
a9f5dfcf   梁保满   修改知识点匹配,删除即时测报表
502
503
504
505
        } else {
          this.$message.error(info);
        }
      },
079cb4cf   梁保满   即时测导出
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
  
      async _QueryGdClass() {
        const fetchClassList =
          this.role == "ROLE_BANZHUREN"
            ? this.$request.cTClassList
            : this.$request.tClassList;
        const { data, status, info } = await fetchClassList({ status: 1 });
        if (status === 0) {
          this.gdClass = data?.list?.length || 0;
        } else {
          this.$message.error(info);
        }
      },
      changePage(page) {
        this.page = page;
        this._QueryData();
      },
      async _QueryData() {
        this.loading = true;
        let query = {};
        for (let key in this.query) {
          if (this.query[key] != "") {
58744c8c   梁保满   即时测多班淡斑逻辑修改
528
            if (key == "classId") {
7812e986   梁保满   班主任查看报表添加额外信息
529
              if (this.query.classId?.length == 1) {
58744c8c   梁保满   即时测多班淡斑逻辑修改
530
                query.classId = this.query[key][0];
22095aba   梁保满   接口联调
531
              } else {
58744c8c   梁保满   即时测多班淡斑逻辑修改
532
                query.classIds = [...this.query[key]];
22095aba   梁保满   接口联调
533
534
535
536
              }
            } else {
              query[key] = this.query[key];
            }
079cb4cf   梁保满   即时测导出
537
538
          }
        }
572de367   梁保满   多班对比问题
539
540
541
542
        let pageSize = this.size;
        if (this.query.classId?.length > 1) {
          pageSize = 9999;
        }
109a6161   梁保满   班主任汇总选择问题
543
        this.tableData = [];
58744c8c   梁保满   即时测多班淡斑逻辑修改
544
545
546
547
        const examReportList =
          this.role == "ROLE_PERSONAL"
            ? this.$request.pExamReportList
            : this.$request.examReportList;
079cb4cf   梁保满   即时测导出
548
549
550
        const { data, status, info } = await examReportList({
          ...query,
          page: this.page,
572de367   梁保满   多班对比问题
551
          size: pageSize,
079cb4cf   梁保满   即时测导出
552
553
554
        });
        this.loading = false;
        if (status === 0) {
58744c8c   梁保满   即时测多班淡斑逻辑修改
555
          if (this.role == "ROLE_BANZHUREN") {
1410e5cd   梁保满   即时测随堂问多班汇总逻辑
556
            this.isMultipleClass = false;
861f5e84   梁保满   录分设置
557
558
559
560
561
            this.tableData =
              data?.list?.map((item) => {
                item.showSelect = false;
                return item;
              }) || [];
58744c8c   梁保满   即时测多班淡斑逻辑修改
562
563
            this.total = data?.count || 0;
          } else {
1410e5cd   梁保满   即时测随堂问多班汇总逻辑
564
565
            if (this.query.classId.length > 1) {
              this.isMultipleClass = true;
58744c8c   梁保满   即时测多班淡斑逻辑修改
566
567
              //多班级
              let tableObj = {};
e93f8636   梁保满   即使测列表角色权限操作问题
568
569
570
571
572
              let dataList =
                data?.list?.filter((item) => {
                  return item.examStatus == 2;
                }) || [];
              dataList?.map((item) => {
b0cd2598   梁保满   fix:测试问题
573
                if (tableObj[item.examPaperId] && item.examPaperId != 0) {
58744c8c   梁保满   即时测多班淡斑逻辑修改
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
                  // 没有班级考试的添加
                  if (
                    !tableObj[item.examPaperId].classIds.includes(item.classId)
                  ) {
                    tableObj[item.examPaperId].ids.push(item.id);
                    tableObj[item.examPaperId].classIds.push(item.classId);
                    tableObj[item.examPaperId].classNames.push(item.className);
                  } else {
                    //已经考过班级的新的替换老的
                    let idx = tableObj[item.examPaperId].classIds.indexOf(
                      item.classId
                    );
                    if (tableObj[item.examPaperId].ids[idx] < item.id) {
                      tableObj[item.examPaperId].ids[idx] = [item.id];
                      tableObj[item.examPaperId].title = item.title;
                    }
384a2a54   梁保满   请求头添加班主任信息,bug修改
590
                  }
58744c8c   梁保满   即时测多班淡斑逻辑修改
591
592
593
594
595
596
597
598
599
600
                } else {
                  tableObj[item.examPaperId] = {
                    ids: [item.id],
                    examPaperId: item.examPaperId,
                    classIds: [item.classId],
                    classNames: [item.className],
                    title: item.title,
                    examPaperScore: item.examPaperScore,
                    subjectName: item.subjectName,
                  };
384a2a54   梁保满   请求头添加班主任信息,bug修改
601
                }
58744c8c   梁保满   即时测多班淡斑逻辑修改
602
603
604
605
              });
              Object.keys(tableObj).map((keys) => {
                if (tableObj[keys].classIds.length > 1) {
                  this.tableData.push(tableObj[keys]);
7812e986   梁保满   班主任查看报表添加额外信息
606
                }
58744c8c   梁保满   即时测多班淡斑逻辑修改
607
608
              });
            } else {
1410e5cd   梁保满   即时测随堂问多班汇总逻辑
609
              this.isMultipleClass = false;
861f5e84   梁保满   录分设置
610
611
612
613
614
              this.tableData =
                data?.list?.map((item) => {
                  item.showSelect = false;
                  return item;
                }) || [];
58744c8c   梁保满   即时测多班淡斑逻辑修改
615
616
              this.total = data?.count || 0;
            }
7812e986   梁保满   班主任查看报表添加额外信息
617
          }
079cb4cf   梁保满   即时测导出
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
        } else {
          this.$message.error(info);
        }
      },
    },
  };
  </script>
  
  <style>
  div::-webkit-scrollbar {
    width: 3px;
    height: 10px;
  }
  
  div::-webkit-scrollbar-thumb {
    border-radius: 10px;
    background-color: #ccc;
  }
  </style>
  <style lang="scss" scoped>
a9f5dfcf   梁保满   修改知识点匹配,删除即时测报表
638
639
640
641
  .remove-test {
    margin-left: 10px;
  }
  
079cb4cf   梁保满   即时测导出
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
  .page-container {
    position: relative;
    height: 100%;
  
    &.active {
      overflow: hidden;
    }
  }
  
  .table-box {
    margin: 20px;
    border-radius: 5px;
  
    :deep(.fa-arrow-right) {
      padding-left: 2px;
    }
  
    :deep(.fa-file-text) {
      padding-left: 2px;
    }
  }
  
  .down {
    padding-top: 16px;
  }
  
  .click-b {
    cursor: pointer;
    color: #409eff;
    text-decoration: underline;
  }
  
  .btn-box {
0f3dca29   梁保满   教师格式化确认,报表列表添加去筛选按钮
675
676
677
    display: flex;
    justify-content: space-between;
    padding: 0 12px 16px 0;
948b6a2c   梁保满   汇总按钮样式调整
678
679
680
    position: sticky;
    top: 4px;
    z-index: 10;
079cb4cf   梁保满   即时测导出
681
682
  }
  </style>