Blame view

src/views/ask/index.vue 21.2 KB
4c4f7640   梁保满   路由表,路由前端文件
1
  <template>
b769660c   梁保满   备课组题细节调整,随堂问列表页面开发完成
2
3
4
5
6
7
8
9
10
11
    <div>
      <back-box>
        <template slot="title">
          <span>问答-数据报表</span>
        </template>
      </back-box>
      <div class="answer-header">
        <div class="sel-box">
          <el-select
            class="sel"
d5987f6a   阿宝   组件修改答案
12
13
            v-model="query.classId"
            placeholder="选择班级"
b769660c   梁保满   备课组题细节调整,随堂问列表页面开发完成
14
15
16
17
18
19
20
            @change="changClazz"
          >
            <el-option
              v-for="item in classList"
              :key="item.value"
              :label="item.label"
              :value="item.value"
d5987f6a   阿宝   组件修改答案
21
            >
b769660c   梁保满   备课组题细节调整,随堂问列表页面开发完成
22
23
24
            </el-option>
          </el-select>
          <el-select
d5987f6a   阿宝   组件修改答案
25
            v-if="role == 'ROLE_BANZHUREN'"
b769660c   梁保满   备课组题细节调整,随堂问列表页面开发完成
26
27
            class="sel"
            multiple
9309dc5d   梁保满   任课老师接口完成
28
            v-model="query.subjectNames"
45504a95   阿宝   即时测页面,以及小题修改答案
29
            placeholder="选择科目"
b769660c   梁保满   备课组题细节调整,随堂问列表页面开发完成
30
31
32
33
34
35
36
37
38
39
40
41
42
            @change="_QueryData"
          >
            <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   梁保满   任课老师接口完成
43
            v-model="query.subjectNames"
45504a95   阿宝   即时测页面,以及小题修改答案
44
            placeholder="选择科目"
b769660c   梁保满   备课组题细节调整,随堂问列表页面开发完成
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
            @change="_QueryData"
          >
            <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']"
f356590c   阿宝   即时测列表,分析页面
79
              >本周</span
b769660c   梁保满   备课组题细节调整,随堂问列表页面开发完成
80
81
            >
            <span @click="setDate(3)" :class="[date == 3 ? 'active' : '', 's1']"
f356590c   阿宝   即时测列表,分析页面
82
83
84
85
              >本月</span
            >
            <span @click="setDate(4)" :class="[date == 4 ? 'active' : '', 's1']"
              >本季度</span
b769660c   梁保满   备课组题细节调整,随堂问列表页面开发完成
86
87
88
89
90
91
            >
          </p>
          <el-button type="primary" round @click="_QueryData()">筛选</el-button>
        </div>
      </div>
      <div class="table-box">
9309dc5d   梁保满   任课老师接口完成
92
93
94
95
96
        <el-radio-group
          v-model="tabIndex"
          @change="tabChange"
          style="margin-bottom: 20px"
        >
b769660c   梁保满   备课组题细节调整,随堂问列表页面开发完成
97
          <el-radio-button :label="1">单课时报表</el-radio-button>
9309dc5d   梁保满   任课老师接口完成
98
          <!-- <el-radio-button :label="2" v-if="this.role != 'ROLE_BANZHUREN'"
b769660c   梁保满   备课组题细节调整,随堂问列表页面开发完成
99
            >阶段问答报表</el-radio-button
9309dc5d   梁保满   任课老师接口完成
100
101
102
103
104
105
          > -->
          <el-radio-button :label="2" v-if="query.startDay != query.endDay"
            >阶段问答报表</el-radio-button
          >
          <el-radio-button :label="3" v-if="query.startDay != query.endDay"
            >阶段互动报表</el-radio-button
b769660c   梁保满   备课组题细节调整,随堂问列表页面开发完成
106
          >
b769660c   梁保满   备课组题细节调整,随堂问列表页面开发完成
107
        </el-radio-group>
9309dc5d   梁保满   任课老师接口完成
108
        <!-- <p class="table-tit" v-if="tabIndex != 1">
b769660c   梁保满   备课组题细节调整,随堂问列表页面开发完成
109
110
          <span>总课时数:10</span>
          <span>互动总数:22</span>
9309dc5d   梁保满   任课老师接口完成
111
        </p> -->
b769660c   梁保满   备课组题细节调整,随堂问列表页面开发完成
112
113
114
115
116
        <div v-if="tabIndex == 1">
          <el-table
            :data="tableData"
            border
            style="width: 100%"
9309dc5d   梁保满   任课老师接口完成
117
            @sort-change="sortChange"
b769660c   梁保满   备课组题细节调整,随堂问列表页面开发完成
118
119
          >
            <el-table-column
9309dc5d   梁保满   任课老师接口完成
120
              prop="title"
b769660c   梁保满   备课组题细节调整,随堂问列表页面开发完成
121
122
123
124
              label="课时"
              align="center"
            ></el-table-column>
            <el-table-column
9309dc5d   梁保满   任课老师接口完成
125
              prop="questionNum"
b769660c   梁保满   备课组题细节调整,随堂问列表页面开发完成
126
127
128
129
130
              label="题目总数"
              align="center"
              width="100"
            ></el-table-column>
            <el-table-column
9309dc5d   梁保满   任课老师接口完成
131
              prop="startTime"
b769660c   梁保满   备课组题细节调整,随堂问列表页面开发完成
132
133
134
135
              label="上课时间"
              align="center"
            ></el-table-column>
            <el-table-column
9309dc5d   梁保满   任课老师接口完成
136
              prop="participationRate"
b769660c   梁保满   备课组题细节调整,随堂问列表页面开发完成
137
              label="参与度"
9309dc5d   梁保满   任课老师接口完成
138
              sortable="custom"
b769660c   梁保满   备课组题细节调整,随堂问列表页面开发完成
139
              align="center"
9309dc5d   梁保满   任课老师接口完成
140
141
142
143
144
            >
              <template slot-scope="scoped"
                >{{ scoped.row.participationRate }}%</template
              ></el-table-column
            >
b769660c   梁保满   备课组题细节调整,随堂问列表页面开发完成
145
            <el-table-column
9309dc5d   梁保满   任课老师接口完成
146
              prop="answerCorrectRate"
b769660c   梁保满   备课组题细节调整,随堂问列表页面开发完成
147
              label="已答总正确率"
9309dc5d   梁保满   任课老师接口完成
148
              sortable="custom"
b769660c   梁保满   备课组题细节调整,随堂问列表页面开发完成
149
150
              align="center"
            >
9309dc5d   梁保满   任课老师接口完成
151
152
153
              <template slot-scope="scoped"
                >{{ scoped.row.answerCorrectRate }}%</template
              >
b769660c   梁保满   备课组题细节调整,随堂问列表页面开发完成
154
155
            </el-table-column>
            <el-table-column
9309dc5d   梁保满   任课老师接口完成
156
              prop="correctRate"
b769660c   梁保满   备课组题细节调整,随堂问列表页面开发完成
157
              label="班级总正确率"
9309dc5d   梁保满   任课老师接口完成
158
              sortable="custom"
b769660c   梁保满   备课组题细节调整,随堂问列表页面开发完成
159
              align="center"
9309dc5d   梁保满   任课老师接口完成
160
161
162
163
              ><template slot-scope="scoped"
                >{{ scoped.row.correctRate }}%</template
              ></el-table-column
            >
b769660c   梁保满   备课组题细节调整,随堂问列表页面开发完成
164
165
            <el-table-column label="操作" align="center">
              <template slot-scope="scoped">
45504a95   阿宝   即时测页面,以及小题修改答案
166
                <el-tooltip effect="dark" content="详情" placement="top">
b769660c   梁保满   备课组题细节调整,随堂问列表页面开发完成
167
168
169
170
171
172
173
174
                  <el-button
                    type="primary"
                    circle
                    size="mini"
                    icon="fa fa-arrow-right"
                    @click="linkTo(scoped.row)"
                  ></el-button>
                </el-tooltip>
45504a95   阿宝   即时测页面,以及小题修改答案
175
                <el-tooltip effect="dark" content="修改答案" placement="top">
b769660c   梁保满   备课组题细节调整,随堂问列表页面开发完成
176
177
178
179
180
181
182
183
184
185
186
187
188
189
                  <el-button
                    type="primary"
                    circle
                    size="mini"
                    icon="fa fa-file-text"
                    @click="edit(scoped.row)"
                  ></el-button>
                </el-tooltip>
              </template>
            </el-table-column>
          </el-table>
        </div>
        <div v-if="tabIndex == 2">
          <el-table
9309dc5d   梁保满   任课老师接口完成
190
            :data="tableData"
b769660c   梁保满   备课组题细节调整,随堂问列表页面开发完成
191
192
            border
            style="width: 100%"
9309dc5d   梁保满   任课老师接口完成
193
            :default-sort="{ prop: 'answerTimes', order: 'descending' }"
b769660c   梁保满   备课组题细节调整,随堂问列表页面开发完成
194
195
          >
            <el-table-column
9309dc5d   梁保满   任课老师接口完成
196
              prop="studentCode"
b769660c   梁保满   备课组题细节调整,随堂问列表页面开发完成
197
198
199
200
              label="学号"
              align="center"
            ></el-table-column>
            <el-table-column
9309dc5d   梁保满   任课老师接口完成
201
              prop="studentName"
b769660c   梁保满   备课组题细节调整,随堂问列表页面开发完成
202
203
204
205
206
              label="姓名"
              align="center"
              width="100"
            ></el-table-column>
            <el-table-column
9309dc5d   梁保满   任课老师接口完成
207
              prop="answerTimes"
b769660c   梁保满   备课组题细节调整,随堂问列表页面开发完成
208
209
210
211
212
              label="累计答题次数"
              sortable
              align="center"
            ></el-table-column>
            <el-table-column
9309dc5d   梁保满   任课老师接口完成
213
              prop="correctAnswerTimes"
b769660c   梁保满   备课组题细节调整,随堂问列表页面开发完成
214
215
216
217
218
              label="累计答对次数"
              sortable
              align="center"
            ></el-table-column>
            <el-table-column
9309dc5d   梁保满   任课老师接口完成
219
              prop="participationRate"
b769660c   梁保满   备课组题细节调整,随堂问列表页面开发完成
220
221
222
              label="总参与度"
              sortable
              align="center"
9309dc5d   梁保满   任课老师接口完成
223
224
225
226
227
            >
              <template slot-scope="scoped"
                >{{ scoped.row.participationRate }}%</template
              ></el-table-column
            >
b769660c   梁保满   备课组题细节调整,随堂问列表页面开发完成
228
            <el-table-column
9309dc5d   梁保满   任课老师接口完成
229
              prop="correctRate"
b769660c   梁保满   备课组题细节调整,随堂问列表页面开发完成
230
231
232
              label="总正确率"
              sortable
              align="center"
9309dc5d   梁保满   任课老师接口完成
233
234
235
236
237
            >
              <template slot-scope="scoped"
                >{{ scoped.row.correctRate }}%</template
              ></el-table-column
            >
b769660c   梁保满   备课组题细节调整,随堂问列表页面开发完成
238
            <el-table-column
9309dc5d   梁保满   任课老师接口完成
239
              prop="answerCorrectRate"
b769660c   梁保满   备课组题细节调整,随堂问列表页面开发完成
240
241
242
243
              label="已答总正确率"
              sortable
              align="center"
            >
9309dc5d   梁保满   任课老师接口完成
244
245
246
              <template slot-scope="scoped"
                >{{ scoped.row.answerCorrectRate }}%</template
              >
b769660c   梁保满   备课组题细节调整,随堂问列表页面开发完成
247
248
            </el-table-column>
            <el-table-column
9309dc5d   梁保满   任课老师接口完成
249
              prop="classRank"
b769660c   梁保满   备课组题细节调整,随堂问列表页面开发完成
250
251
252
253
254
255
256
257
              label="总正确率班排名"
              sortable
              align="center"
            ></el-table-column>
          </el-table>
        </div>
        <div v-if="tabIndex == 3">
          <el-table
9309dc5d   梁保满   任课老师接口完成
258
            :data="tableData"
b769660c   梁保满   备课组题细节调整,随堂问列表页面开发完成
259
260
            border
            style="width: 100%"
9309dc5d   梁保满   任课老师接口完成
261
            :default-sort="{ prop: 'answerTimes', order: 'descending' }"
b769660c   梁保满   备课组题细节调整,随堂问列表页面开发完成
262
263
          >
            <el-table-column
9309dc5d   梁保满   任课老师接口完成
264
              prop="studentCode"
b769660c   梁保满   备课组题细节调整,随堂问列表页面开发完成
265
266
267
268
              label="学号"
              align="center"
            ></el-table-column>
            <el-table-column
9309dc5d   梁保满   任课老师接口完成
269
              prop="studentName"
b769660c   梁保满   备课组题细节调整,随堂问列表页面开发完成
270
271
272
273
274
              label="姓名"
              align="center"
              width="100"
            ></el-table-column>
            <el-table-column
9309dc5d   梁保满   任课老师接口完成
275
              prop="rushAnswerTimes"
b769660c   梁保满   备课组题细节调整,随堂问列表页面开发完成
276
277
278
279
280
              label="抢答成功次数"
              sortable
              align="center"
            ></el-table-column>
            <el-table-column
9309dc5d   梁保满   任课老师接口完成
281
282
              prop="rushAnswerCorrectTimes"
              label="抢答答对次数"
b769660c   梁保满   备课组题细节调整,随堂问列表页面开发完成
283
284
285
286
              sortable
              align="center"
            ></el-table-column>
            <el-table-column
9309dc5d   梁保满   任课老师接口完成
287
              prop="checkAnswerTimes"
b769660c   梁保满   备课组题细节调整,随堂问列表页面开发完成
288
289
290
291
292
              label="抽答次数"
              sortable
              align="center"
            ></el-table-column>
            <el-table-column
9309dc5d   梁保满   任课老师接口完成
293
              prop="checkAnswerCorrectTimes"
b769660c   梁保满   备课组题细节调整,随堂问列表页面开发完成
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
              label="抽答答对次数"
              sortable
              align="center"
            ></el-table-column>
            <el-table-column
              prop="canyu"
              label="参与得分"
              sortable
              align="center"
            ></el-table-column>
            <el-table-column
              prop="duicuo"
              label="对错得分"
              sortable
              align="center"
            ></el-table-column>
          </el-table>
        </div>
9309dc5d   梁保满   任课老师接口完成
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
        <div class="pagination-box" v-show="tabIndex == 1">
          <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>
        <p class="down" v-if="tabIndex == 3 || tabIndex == 2">
          <el-button
            @click="exportData"
            type="info"
            plain
            round
            icon="fa fa-cloud-download"
            >导出报表</el-button
          >
b769660c   梁保满   备课组题细节调整,随堂问列表页面开发完成
333
334
        </p>
      </div>
9309dc5d   梁保满   任课老师接口完成
335
336
337
338
339
340
341
      <set-answer
        :diaVisible="dialogVisible"
        :questionList="form.questionList"
        :paperId="form.id"
        @saveSuccess="handleSuccess"
        @cancel="cancel"
      />
4c4f7640   梁保满   路由表,路由前端文件
342
343
344
345
    </div>
  </template>
  
  <script>
9309dc5d   梁保满   任课老师接口完成
346
  import { formatDate, deepClone, downloadFile } from "utils";
4c4f7640   梁保满   路由表,路由前端文件
347
  export default {
b769660c   梁保满   备课组题细节调整,随堂问列表页面开发完成
348
349
350
351
    data() {
      return {
        role: "",
        loading: false,
9309dc5d   梁保满   任课老师接口完成
352
        dialogVisible: false,
b769660c   梁保满   备课组题细节调整,随堂问列表页面开发完成
353
        form: { questionList: [] },
b769660c   梁保满   备课组题细节调整,随堂问列表页面开发完成
354
355
356
        date: "", //今天-昨天-本周
        query: {
          //搜索条件
d5987f6a   阿宝   组件修改答案
357
          classId: "",
9309dc5d   梁保满   任课老师接口完成
358
          subjectNames: "",
b769660c   梁保满   备课组题细节调整,随堂问列表页面开发完成
359
360
361
362
          startDay: "",
          endDay: "",
          day: "",
        },
9309dc5d   梁保满   任课老师接口完成
363
364
365
366
367
        custom: {
          //单课时排序
          orderField: null,
          orderType: null,
        },
b769660c   梁保满   备课组题细节调整,随堂问列表页面开发完成
368
369
370
        classList: [], //班级
        subjectList: [], //科目
        tabIndex: 1, //选项卡
9309dc5d   梁保满   任课老师接口完成
371
372
373
374
        tableData: [],
        page: 1,
        size: 20,
        total: 0,
b769660c   梁保满   备课组题细节调整,随堂问列表页面开发完成
375
376
377
      };
    },
    async created() {
9309dc5d   梁保满   任课老师接口完成
378
379
380
381
      this.role = this.$store.getters.info.permissions.find(
        (item) => item.roleName == this.$store.getters.info.showRoleName
      )?.role;
      this.query.subjectNames = this.role == "ROLE_BANZHUREN" ? [] : "";
d5987f6a   阿宝   组件修改答案
382
383
      await this._QueryClassList();
      await this._QuerySubjectList();
9309dc5d   梁保满   任课老师接口完成
384
      await this.setDate(1);
b769660c   梁保满   备课组题细节调整,随堂问列表页面开发完成
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
      let startDay = this.query?.startDay;
      if (!startDay) {
        this.query.startDay = new Date();
        this.query.endDay = new Date();
      }
    },
    methods: {
      linkTo(obj) {
        //去详情
        this.$router.push({
          path: "/askAnalysis",
          query: {
            id: obj.id,
          },
        });
      },
9309dc5d   梁保满   任课老师接口完成
401
      setDate(index) {
b769660c   梁保满   备课组题细节调整,随堂问列表页面开发完成
402
403
        const that = this;
        this.date = index == this.date ? "" : index;
f356590c   阿宝   即时测列表,分析页面
404
405
        let aYear = new Date().getFullYear();
        let aMonth = new Date().getMonth() + 1;
b769660c   梁保满   备课组题细节调整,随堂问列表页面开发完成
406
407
408
409
410
411
412
413
414
        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;
f356590c   阿宝   即时测列表,分析页面
415
          case 2:
b769660c   梁保满   备课组题细节调整,随堂问列表页面开发完成
416
417
418
419
420
            let day = new Date().getDay();
            if (day == 0) {
              //中国式星期天是一周的最后一天
              day = 7;
            }
f356590c   阿宝   即时测列表,分析页面
421
422
423
424
425
426
427
428
429
430
            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   梁保满   任课老师接口完成
431
            if (aMonth > 0 && aMonth < 4) {
f356590c   阿宝   即时测列表,分析页面
432
433
434
435
436
437
438
439
440
441
442
443
              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");
b769660c   梁保满   备课组题细节调整,随堂问列表页面开发完成
444
            break;
b769660c   梁保满   备课组题细节调整,随堂问列表页面开发完成
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
        }
        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   梁保满   任课老师接口完成
469
470
471
472
473
474
475
476
477
478
479
480
481
482
      async edit(item) {
        if (this.editLoading) return;
        this.editLoading = true;
        const { data, status, info } = await this.$request.periodQuestionList({
          periodId: item.id,
        });
        this.editLoading = false;
        if (status === 0) {
          this.form.id = item.id;
          this.form.questionList = (data.list && [...data.list]) || [];
          this.dialogVisible = true;
        } else {
          this.$message.error(info);
        }
b769660c   梁保满   备课组题细节调整,随堂问列表页面开发完成
483
      },
9309dc5d   梁保满   任课老师接口完成
484
485
      cancel() {
        this.dialogVisible = false;
d5987f6a   阿宝   组件修改答案
486
      },
9309dc5d   梁保满   任课老师接口完成
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
      handleSuccess() {
        this.dialogVisible = false;
      },
      tabChange() {
        this.page = 1;
        this._QueryData();
      },
      sortChange(obj) {
        this.custom.orderField =
          obj.prop == "participationRate"
            ? 1
            : obj.prop == "answerCorrectRate"
            ? 2
            : 3;
        this.custom.orderType = obj.order == "ascending" ? 0 : 1;
        this.page = 1;
        this._QueryData();
      },
      changePage(page) {
        this.page = page;
        this._QueryData();
b769660c   梁保满   备课组题细节调整,随堂问列表页面开发完成
508
509
510
      },
      async changClazz() {
        await this._QuerySubjectList();
9309dc5d   梁保满   任课老师接口完成
511
512
        // await this.setDate(1);
        this._QueryData()
b769660c   梁保满   备课组题细节调整,随堂问列表页面开发完成
513
514
      },
      async _QueryClassList() {
9309dc5d   梁保满   任课老师接口完成
515
516
517
518
519
        const fetchClassList =
          this.role == "ROLE_BANZHUREN"
            ? this.$request.cTClassList
            : this.$request.tClassList;
        const { data, status, info } = await fetchClassList();
d5987f6a   阿宝   组件修改答案
520
        if (status === 0) {
b769660c   梁保满   备课组题细节调整,随堂问列表页面开发完成
521
522
          this.classList = data.list.map((item) => {
            return {
d5987f6a   阿宝   组件修改答案
523
              value: item.classId,
45504a95   阿宝   即时测页面,以及小题修改答案
524
              label: item.className,
b769660c   梁保满   备课组题细节调整,随堂问列表页面开发完成
525
526
            };
          });
d5987f6a   阿宝   组件修改答案
527
          this.query.classId = this.classList[0]?.value;
b769660c   梁保满   备课组题细节调整,随堂问列表页面开发完成
528
        } else {
d5987f6a   阿宝   组件修改答案
529
          this.$message.error(info);
b769660c   梁保满   备课组题细节调整,随堂问列表页面开发完成
530
531
532
        }
      },
      async _QuerySubjectList() {
9309dc5d   梁保满   任课老师接口完成
533
534
535
536
537
538
539
540
        const fetchSubjectList =
          this.role == "ROLE_BANZHUREN"
            ? this.$request.cTSubjectList
            : this.$request.tSubjectList;
  
        const { data, status, info } = await fetchSubjectList({
          classId: this.query.classId,
        });
d5987f6a   阿宝   组件修改答案
541
        if (status === 0) {
9309dc5d   梁保满   任课老师接口完成
542
543
544
545
546
547
548
          this.subjectList =
            data.subjectNames?.map((item) => {
              return {
                value: item,
                label: item,
              };
            }) || [];
d5987f6a   阿宝   组件修改答案
549
          if (this.role == "ROLE_BANZHUREN") {
b769660c   梁保满   备课组题细节调整,随堂问列表页面开发完成
550
            this.subjectList.unshift({
9309dc5d   梁保满   任课老师接口完成
551
              value: "全部",
b769660c   梁保满   备课组题细节调整,随堂问列表页面开发完成
552
553
              label: "全部",
            });
9309dc5d   梁保满   任课老师接口完成
554
555
556
            this.query.subjectNames.push(this.subjectList[0]?.value);
          } else {
            this.query.subjectNames = this.subjectList[0]?.value;
b769660c   梁保满   备课组题细节调整,随堂问列表页面开发完成
557
          }
b769660c   梁保满   备课组题细节调整,随堂问列表页面开发完成
558
        } else {
d5987f6a   阿宝   组件修改答案
559
          this.$message.error(info);
b769660c   梁保满   备课组题细节调整,随堂问列表页面开发完成
560
561
562
        }
      },
      async _QueryData() {
9309dc5d   梁保满   任课老师接口完成
563
564
565
566
567
568
569
570
571
572
        if (this.tabIndex == 1) {
          this.periodReportList();
        } else if (this.tabIndex == 2) {
          this.phaseAnswerReport();
        } else if (this.tabIndex == 3) {
          this.phaseInteractiveReport();
        }
      },
      //分页查询课时报表列表
      async periodReportList() {
b769660c   梁保满   备课组题细节调整,随堂问列表页面开发完成
573
        this.loading = true;
b769660c   梁保满   备课组题细节调整,随堂问列表页面开发完成
574
575
576
577
578
579
        let query = {};
        for (let key in this.query) {
          if (this.query[key] != "") {
            query[key] = this.query[key];
          }
        }
9309dc5d   梁保满   任课老师接口完成
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
        if (this.custom.orderField !== null) {
          query = { ...query, ...this.custom };
        }
        if (this.role != "ROLE_BANZHUREN") {
          query.subjectNames = [query.subjectNames];
        } else {
          if (
            query["subjectNames"].length == 1 &&
            query["subjectNames"][0] == "全部"
          ) {
            query["subjectNames"] = this.subjectList.map((item) => {
              return item.value;
            });
            query["subjectNames"].shift();
          }
        }
        const { data, status, info } = await this.$request.periodReportList({
          ...query,
          page: this.page,
          size: this.size,
        });
        this.loading = false;
        if (status === 0) {
          this.tableData = (data?.list && [...data?.list]) || [];
          this.total = data.count;
        } else {
          this.$message.error(info);
        }
      },
      //查询阶段问答报表
      async phaseAnswerReport() {
        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 (
            query["subjectNames"].length == 1 &&
            query["subjectNames"][0] == "全部"
          ) {
            query["subjectNames"] = this.subjectList.map((item) => {
              return item.value;
            });
            query["subjectNames"].shift();
          }
        }
        const phaseAnswerReport =
          this.role == "ROLE_BANZHUREN"
            ? this.$request.cTPhaseAnswerReport
            : this.$request.phaseAnswerReport;
  
        const { data, status, info } = await phaseAnswerReport({
b769660c   梁保满   备课组题细节调整,随堂问列表页面开发完成
639
640
641
          ...query,
        });
        this.loading = false;
d5987f6a   阿宝   组件修改答案
642
        if (status === 0) {
9309dc5d   梁保满   任课老师接口完成
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
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
          this.tableData = (data?.list && [...data?.list]) || [];
          this.total = data.count;
        } else {
          this.$message.error(info);
        }
      },
      //查询阶段互动报表
      async phaseInteractiveReport() {
        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 (
            query["subjectNames"].length == 1 &&
            query["subjectNames"][0] == "全部"
          ) {
            query["subjectNames"] = this.subjectList.map((item) => {
              return item.value;
            });
            query["subjectNames"].shift();
          }
        }
        const phaseInteractiveReport =
          this.role == "ROLE_BANZHUREN"
            ? this.$request.cTPhaseInteractiveReport
            : this.$request.phaseInteractiveReport;
  
        const { data, status, info } = await phaseInteractiveReport({
          ...query,
        });
        this.loading = false;
        if (status === 0) {
          this.tableData = (data?.list && [...data?.list]) || [];
          this.total = data.count;
        } else {
          this.$message.error(info);
        }
      },
      //导出
      async exportData() {
        if ((this.exportLoading = true)) return;
        this.exportLoading = true;
        const { data, status, info } = await this.$request.exportData();
        this.exportLoading = false;
        if (data) {
          downloadFile("报表", data);
b769660c   梁保满   备课组题细节调整,随堂问列表页面开发完成
697
        } else {
d5987f6a   阿宝   组件修改答案
698
          this.$message.error(info);
b769660c   梁保满   备课组题细节调整,随堂问列表页面开发完成
699
700
701
702
        }
      },
    },
  };
4c4f7640   梁保满   路由表,路由前端文件
703
704
  </script>
  
b769660c   梁保满   备课组题细节调整,随堂问列表页面开发完成
705
706
707
708
709
710
711
712
713
714
715
716
717
  <style lang="scss" scoped>
  .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;
    }
  }
4c4f7640   梁保满   路由表,路由前端文件
718
  
b769660c   梁保满   备课组题细节调整,随堂问列表页面开发完成
719
720
721
722
723
724
725
726
727
728
729
  .fa-exchange {
    color: #667ffd;
    cursor: pointer;
    font-size: 16px;
    margin-left: 10px;
  }
  .dia-btn {
    border-radius: 20px;
    margin: 0 20px;
    padding: 10px 20px;
  }
d5987f6a   阿宝   组件修改答案
730
731
732
  .dia-tips {
    padding-bottom: 10px;
  }
b769660c   梁保满   备课组题细节调整,随堂问列表页面开发完成
733
734
735
736
  .dia-question-box {
    padding: 16px 16px 1px;
    background: #f8f8f8;
    border-radius: 10px;
d5987f6a   阿宝   组件修改答案
737
  
b769660c   梁保满   备课组题细节调整,随堂问列表页面开发完成
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
    .answer-s {
      width: 36px;
      height: 28px;
      cursor: pointer;
    }
  }
  .set-questions {
    display: flex;
    margin-bottom: 12px;
    width: 100%;
    .qs-num {
      flex-shrink: 0;
      margin-right: 10px;
    }
    .qs-options {
      flex: 1;
      .ipt {
        margin-bottom: 5px;
      }
    }
    .delButton {
      border-color: #ff6868;
      background: #ff6868 url("../../assets/images/arrow.png") no-repeat center;
      background-size: 19px;
      color: transparent;
    }
d5987f6a   阿宝   组件修改答案
764
    .ac {
b769660c   梁保满   备课组题细节调整,随堂问列表页面开发完成
765
766
      border-color: #ff6868;
      background: #ff6868;
d5987f6a   阿宝   组件修改答案
767
      color: #fff;
b769660c   梁保满   备课组题细节调整,随堂问列表页面开发完成
768
769
    }
  }
d5987f6a   阿宝   组件修改答案
770
771
  .down {
    padding-top: 16px;
b769660c   梁保满   备课组题细节调整,随堂问列表页面开发完成
772
  }
4c4f7640   梁保满   路由表,路由前端文件
773
  </style>