Blame view

src/views/examinationPaper/index.vue 24.2 KB
77ebf04d   梁保满   个人版
1
2
3
4
5
6
7
  <template>
    <div>
      <back-box>
        <template slot="title">
          <span>备题组卷</span>
        </template>
        <template slot="btns">
b0cd2598   梁保满   fix:测试问题
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>
799818f7   梁保满   背题组卷
22
          </el-tooltip>
77ebf04d   梁保满   个人版
23
24
        </template>
      </back-box>
6192eba8   梁保满   引用上传文件组件问题,备题组卷顶部
25
26
      <div class="examinationPaper-type">
        <el-button-group>
b0cd2598   梁保满   fix:测试问题
27
28
29
30
31
32
33
34
35
36
37
38
          <el-button
            size="large"
            :type="query.type == 1 ? 'primary' : 'default'"
            @click="changPaperType(1)"
            >备题</el-button
          >
          <el-button
            size="large"
            :type="query.type == 2 ? 'primary' : 'default'"
            @click="changPaperType(2)"
            >组卷</el-button
          >
6192eba8   梁保满   引用上传文件组件问题,备题组卷顶部
39
        </el-button-group>
77ebf04d   梁保满   个人版
40
  
6192eba8   梁保满   引用上传文件组件问题,备题组卷顶部
41
        <p>
b0cd2598   梁保满   fix:测试问题
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
          <el-button
            v-if="query.type == 1"
            type="primary"
            size="mini"
            icon="el-icon-plus"
            round
            @click="diaUp = true"
          >
            导入课件</el-button
          >
  
          <el-dropdown
            v-if="query.type == 2"
            trigger="click"
            @command="handleAdd"
          >
            <el-button type="primary" size="mini" icon="el-icon-plus" round
              >添加试卷</el-button
            >
6192eba8   梁保满   引用上传文件组件问题,备题组卷顶部
61
62
            <el-dropdown-menu slot="dropdown">
              <el-dropdown-item :command="1">导入试卷</el-dropdown-item>
49a203f1   梁保满   添加试卷流程绣花
63
              <el-dropdown-item :command="2">创建答题卡</el-dropdown-item>
6192eba8   梁保满   引用上传文件组件问题,备题组卷顶部
64
65
66
67
            </el-dropdown-menu>
          </el-dropdown>
        </p>
      </div>
77ebf04d   梁保满   个人版
68
69
      <div class="answer-header">
        <div class="sel-box">
b0cd2598   梁保满   fix:测试问题
70
71
72
73
74
75
76
77
78
79
80
81
          <el-select
            class="sel"
            v-model="query.classId"
            placeholder="选择班级"
            @change="changClazz"
          >
            <el-option
              v-for="item in classList"
              :key="item.value"
              :label="item.label"
              :value="item.value"
            >
77ebf04d   梁保满   个人版
82
83
            </el-option>
          </el-select>
b0cd2598   梁保满   fix:测试问题
84
85
86
87
88
89
90
91
92
93
94
95
          <el-select
            class="sel"
            v-model="query.subjectName"
            placeholder="选择科目"
            @change="getData(false)"
          >
            <el-option
              v-for="item in subjectList"
              :key="item.value"
              :label="item.label"
              :value="item.value"
            >
77ebf04d   梁保满   个人版
96
97
            </el-option>
          </el-select>
b0cd2598   梁保满   fix:测试问题
98
99
100
101
102
103
104
105
106
107
108
109
110
          <el-select
            v-if="query.type == 2"
            class="sel"
            v-model="query.tagId"
            placeholder="选择类型"
            @change="getData(false)"
          >
            <el-option
              v-for="item in typeList"
              :key="item.label"
              :label="item.label"
              :value="item.value"
              >{{ item.label }}
ce278878   梁保满   2-2 bugfix
111
112
            </el-option>
          </el-select>
b0cd2598   梁保满   fix:测试问题
113
114
115
116
117
118
119
120
121
122
123
          <el-input
            placeholder="试卷名称"
            v-model="query.title"
            class="input-with-select"
            @keyup.enter.native="getData(true)"
          >
            <el-button
              slot="append"
              icon="el-icon-search"
              @click="getData(true)"
            ></el-button>
77ebf04d   梁保满   个人版
124
125
126
127
          </el-input>
        </div>
      </div>
      <p class="tips" v-show="archivedTotal">
cffc1a98   梁保满   3-8BUG
128
        <span>回收站内已有{{ archivedTotal }}份答题卡,</span>
77ebf04d   梁保满   个人版
129
130
        <router-link to="/examinationPaperRecycle">点击查看&gt;&gt;</router-link>
      </p>
352c53cc   梁保满   上传word回传数据
131
132
      <div class="content">
        <p class="tab-box">
b0cd2598   梁保满   fix:测试问题
133
134
135
136
137
138
139
140
141
142
          <span
            :class="['tab-s', query.share == 0 ? 'active' : '']"
            @click="changShare(0)"
            >我自编的 ({{ totalCount.my }})</span
          >
          <span
            :class="['tab-s', query.share == 1 ? 'active' : '']"
            @click="changShare(1)"
            >年级共享的 ({{ totalCount.share }})</span
          >
352c53cc   梁保满   上传word回传数据
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
        </p>
        <ul v-if="tableData && tableData.length" v-loading="loading">
          <li class="item" v-for="item in tableData" :key="item.id">
            <div class="pic-box">
              <p class="i-box"><i class="fa fa-map-o"></i></p>
              <p class="ids">{{ item.id }}</p>
            </div>
            <div class="info">
              <p class="title">
                {{ item.title }}
                <span class="label" v-if="!!item.tag">{{ item.tag }}</span>
              </p>
              <p class="num">
                总题数:{{ item.questionNum }}
                <em class="s-line">|</em>
77da338a   梁保满   自测问题修改
158
159
160
161
                <template v-if="query.type == 2">
                  预计时长:{{ item.examsDuration }}
                  <em class="s-line">|</em>
                </template>
352c53cc   梁保满   上传word回传数据
162
163
                <template v-if="role != 'ROLE_PERSONAL'">
                  授课端同步:
b0cd2598   梁保满   fix:测试问题
164
165
166
167
168
169
170
171
172
                  <span
                    class="clazz"
                    v-for="(clazzChild, indexs) in item.classList"
                    :key="clazzChild.classId"
                    :class="clazzChild.keepStatus == 1 ? 'active' : ''"
                    >{{
                      `${clazzChild.className}${
                        indexs != item.classList.length - 1 ? "、" : ""
                      }`
352c53cc   梁保满   上传word回传数据
173
                    }}
b0cd2598   梁保满   fix:测试问题
174
175
176
177
178
179
180
181
182
183
184
185
186
187
                    <i
                      v-if="clazzChild.keepStatus == 1"
                      class="el-icon-success"
                    ></i
                  ></span>
                  <el-tooltip
                    effect="dark"
                    content="刷新同步状态"
                    placement="right"
                  >
                    <i
                      class="icon-refresh el-icon-refresh"
                      @click="refreshStic"
                    ></i>
352c53cc   梁保满   上传word回传数据
188
189
190
191
                  </el-tooltip>
                </template>
              </p>
              <p class="person">
b0cd2598   梁保满   fix:测试问题
192
193
                {{ item.realName }}<em class="s-line">|</em
                ><span class="date">{{ item.modifiedTime }}</span>
352c53cc   梁保满   上传word回传数据
194
195
196
197
              </p>
            </div>
            <div class="btn-box">
              <el-tooltip effect="dark" content="修改答案" placement="bottom">
b0cd2598   梁保满   fix:测试问题
198
199
200
201
202
203
204
205
                <el-button
                  class="edit"
                  type="primary"
                  size="mini"
                  circle
                  icon="el-icon-edit"
                  @click="toEdit(item)"
                ></el-button>
352c53cc   梁保满   上传word回传数据
206
              </el-tooltip>
b0cd2598   梁保满   fix:测试问题
207
208
209
210
211
212
213
214
215
216
              <el-dropdown
                trigger="click"
                @command="handleDropdownClick($event, item)"
              >
                <el-button
                  type="info"
                  size="mini"
                  circle
                  icon="el-icon-more"
                ></el-button>
352c53cc   梁保满   上传word回传数据
217
                <el-dropdown-menu slot="dropdown">
b0cd2598   梁保满   fix:测试问题
218
219
220
221
222
                  <el-dropdown-item
                    :command="1"
                    v-if="userName == item.realName && role != 'ROLE_PERSONAL'"
                    >修改分享范围</el-dropdown-item
                  >
ce278878   梁保满   2-2 bugfix
223
                  <el-dropdown-item :command="2">复制</el-dropdown-item>
b0cd2598   梁保满   fix:测试问题
224
225
226
                  <el-dropdown-item v-show="query.share == 0" :command="3"
                    >放入回收站</el-dropdown-item
                  >
352c53cc   梁保满   上传word回传数据
227
228
229
230
231
232
                </el-dropdown-menu>
              </el-dropdown>
            </div>
          </li>
        </ul>
        <div class="pagination-box">
b0cd2598   梁保满   fix:测试问题
233
234
235
236
237
238
239
240
241
          <el-pagination
            small=""
            layout="total,prev, pager, next"
            :hide-on-single-page="true"
            :total="total"
            @current-change="changePage"
            :current-page="page"
            :page-size="size"
          >
352c53cc   梁保满   上传word回传数据
242
243
          </el-pagination>
        </div>
b0cd2598   梁保满   fix:测试问题
244
245
246
247
248
        <el-empty
          v-if="!loading && tableData.length == 0"
          content="没有更多数据"
          :image-size="100"
        ></el-empty>
77ebf04d   梁保满   个人版
249
      </div>
352c53cc   梁保满   上传word回传数据
250
  
b0cd2598   梁保满   fix:测试问题
251
252
253
254
255
256
      <el-dialog
        :close-on-click-modal="false"
        title="选择分享范围"
        :visible.sync="dialogVisible"
        width="400px"
      >
e371f2dc   梁保满   软件下载,学校,班级老师等报表导入...
257
258
259
260
261
262
263
264
265
266
267
268
269
        <el-form :model="shareForm" :rules="shareRulesForm" label-width="160px">
          <el-form-item prop="share" label="分享范围:">
            <el-radio-group v-model="shareForm.sharingType">
              <el-radio :label="0">任课班级分享</el-radio>
              <el-radio :label="1">全年级分享</el-radio>
            </el-radio-group>
          </el-form-item>
        </el-form>
        <div slot="footer" class="dialog-footer">
          <el-button type="primary" @click="saveShare">确 定</el-button>
          <el-button @click="dialogVisible = false">取 消</el-button>
        </div>
      </el-dialog>
b0cd2598   梁保满   fix:测试问题
270
271
272
273
274
275
276
277
278
279
280
281
      <el-dialog
        :close-on-click-modal="false"
        title="上传word文档"
        :visible.sync="diaUp"
        width="600px"
      >
        <upload
          :url="url"
          :params="{ type: query.type }"
          @upSuccess="upSuccess"
          fileName="下载"
        >
49a203f1   梁保满   添加试卷流程绣花
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
          <div class="down-box p0" slot="down">
            <p class="down-head" v-if="query.type == 1">
              <span>第一步:</span>
              <el-link type="primary" @click="downExcel">下载模板,</el-link>
              <span
                >或者导出菁优网试卷/组卷网(学科网)试卷;
                为保证第三方试卷导入成功,请注意参考导出示例:</span
              >
              <span class="img-box">
                <el-image
                  class="img"
                  :src="examplePic"
                  :preview-src-list="examplePicList"
                >
                </el-image>
bd6ad607   梁保满   查看图片
297
298
299
300
301
302
303
304
305
306
                菁优网示例 </span
              >/
              <span class="img-box">
                <el-image
                  class="img"
                  :src="examplePic2"
                  :preview-src-list="examplePicList2"
                >
                </el-image>
                组卷网(学科网)示例。
49a203f1   梁保满   添加试卷流程绣花
307
308
309
310
311
312
              </span>
            </p>
            <p class="down-head" v-if="query.type == 2">
              <span
                >第一步:导出菁优网试卷/组卷网(学科网)试卷;为保证第三方试卷导入成功,请注意参考导出示例:</span
              >
4d5235d7   梁保满   学生,教师修改,顶部返回备题组卷记...
313
              <span class="img-box">
b0cd2598   梁保满   fix:测试问题
314
315
316
317
318
                <el-image
                  class="img"
                  :src="examplePic"
                  :preview-src-list="examplePicList"
                >
4d5235d7   梁保满   学生,教师修改,顶部返回备题组卷记...
319
                </el-image>
bd6ad607   梁保满   查看图片
320
321
322
323
324
325
326
327
328
329
330
                菁优网示例
              </span>
              /
              <span class="img-box">
                <el-image
                  class="img"
                  :src="examplePic2"
                  :preview-src-list="examplePicList2"
                >
                </el-image>
                组卷网(学科网)示例。
4d5235d7   梁保满   学生,教师修改,顶部返回备题组卷记...
331
              </span>
6192eba8   梁保满   引用上传文件组件问题,备题组卷顶部
332
333
334
335
336
337
338
339
            </p>
            <p>第二步:上传完成编辑好的试卷。</p>
          </div>
        </upload>
        <div class="dialog-footer" slot="footer">
          <el-button @click="diaUp = false">取 消</el-button>
        </div>
      </el-dialog>
77ebf04d   梁保满   个人版
340
341
342
343
    </div>
  </template>
  
  <script>
23659274   梁保满   备题接口对接
344
  import { downloadFile } from "@/utils";
5f80d60e   梁保满   备题试卷模版
345
  import axios from "axios";
b0cd2598   梁保满   fix:测试问题
346
  import example from "@/assets/images/example.jpg";
49a203f1   梁保满   添加试卷流程绣花
347
  import example2 from "@/assets/images/example2.png";
77ebf04d   梁保满   个人版
348
349
350
351
  export default {
    name: "examinationPaper",
    data() {
      return {
e5e4a3e6   梁保满   v1.3
352
        code: "",
47a01cb6   梁保满   v1.3测试问题
353
        gdClass: 0, //已归档班级数量
77ebf04d   梁保满   个人版
354
355
        loading: false,
        userName: "",
e371f2dc   梁保满   软件下载,学校,班级老师等报表导入...
356
        dialogVisible: false,
77ebf04d   梁保满   个人版
357
358
359
        query: {
          classId: "",
          subjectName: "",
ce278878   梁保满   2-2 bugfix
360
          tagId: "",
77ebf04d   梁保满   个人版
361
          title: "",
352c53cc   梁保满   上传word回传数据
362
          type: 1, //试卷类型
3ca58022   梁保满   修改添加组卷题目解析,知识点梳理等
363
          share: 0, //分享类型
77ebf04d   梁保满   个人版
364
365
366
        },
        classList: [],
        subjectList: [],
ce278878   梁保满   2-2 bugfix
367
        typeList: [],
77ebf04d   梁保满   个人版
368
        archivedTotal: 0, //已归档答题卡数量
6192eba8   梁保满   引用上传文件组件问题,备题组卷顶部
369
        tableData: [],
e371f2dc   梁保满   软件下载,学校,班级老师等报表导入...
370
371
372
373
374
375
376
377
378
        shareForm: {
          id: "",
          sharingType: 0, //0-任课班级/1-全年级
        },
        shareRulesForm: {
          sharingType: [
            { required: true, message: "选择分享范围", trigger: "blur" },
          ],
        },
77ebf04d   梁保满   个人版
379
380
381
        total: 0,
        page: 1,
        size: 20,
6192eba8   梁保满   引用上传文件组件问题,备题组卷顶部
382
383
  
        // v1.5
b0cd2598   梁保满   fix:测试问题
384
385
        totalCount: {
          //数量统计
352c53cc   梁保满   上传word回传数据
386
387
388
          my: 0,
          share: 0,
        },
b0cd2598   梁保满   fix:测试问题
389
390
        diaUp: false, //上传word弹窗开关
        url: "/api_html/common/paper/upload", //上传文档地址
4d5235d7   梁保满   学生,教师修改,顶部返回备题组卷记...
391
        examplePic: example,
bd6ad607   梁保满   查看图片
392
393
394
        examplePic2: example2,
        examplePicList: [example],
        examplePicList2: [example2],
77ebf04d   梁保满   个人版
395
396
397
      };
    },
    async created() {
7812e986   梁保满   班主任查看报表添加额外信息
398
      this.code = this.$store.getters.csCode;
e371f2dc   梁保满   软件下载,学校,班级老师等报表导入...
399
400
401
      this.role =
        this.$store.getters.info.showRole ||
        this.$store.getters.info.permissions[0].role;
77ebf04d   梁保满   个人版
402
      this.userName = this.$store.getters.info.name || "";
77da338a   梁保满   自测问题修改
403
404
      this.query.type = this.$route.query.type || 1;
      this.query.share = this.$route.query.share || 0;
b0cd2598   梁保满   fix:测试问题
405
      this._QueryClassList2();
352c53cc   梁保满   上传word回传数据
406
407
408
409
      await this._QueryClassList();
      if (!this.query.classId) {
        return;
      }
b0cd2598   梁保满   fix:测试问题
410
      this._QueryTypeList();
352c53cc   梁保满   上传word回传数据
411
412
      await this._QuerySubjectList();
      this._QueryData();
77ebf04d   梁保满   个人版
413
414
    },
    methods: {
e371f2dc   梁保满   软件下载,学校,班级老师等报表导入...
415
      refreshStic() {
77da338a   梁保满   自测问题修改
416
417
418
        this.loading = true;
        setTimeout(() => {
          this._QueryData();
e371f2dc   梁保满   软件下载,学校,班级老师等报表导入...
419
420
        }, 500);
      },
e5e4a3e6   梁保满   v1.3
421
422
423
424
425
      toArchiving() {
        this.$router.push({
          path: "/examinationPaperArchiving",
        });
      },
ce278878   梁保满   2-2 bugfix
426
      //去组卷
77ebf04d   梁保满   个人版
427
      toAdd(query) {
c3cdce9c   梁保满   bug
428
429
430
431
        if (!this.query.classId) {
          this.$message.warning("没有任课班级,请先设置。");
          return;
        }
77ebf04d   梁保满   个人版
432
433
        let routerItem = {
          path: "/examinationPaperAdd",
384a2a54   梁保满   请求头添加班主任信息,bug修改
434
435
436
437
          query: {
            ...query,
            listType: this.query.type,
            listShare: this.query.share,
b0cd2598   梁保满   fix:测试问题
438
439
            subjectName: this.query.subjectName,
          },
77ebf04d   梁保满   个人版
440
        };
77ebf04d   梁保满   个人版
441
442
        this.$router.push(routerItem);
      },
ce278878   梁保满   2-2 bugfix
443
444
      //去备题
      toAddQs(query) {
3ca58022   梁保满   修改添加组卷题目解析,知识点梳理等
445
446
447
448
449
        if (!this.query.classId) {
          this.$message.warning("没有任课班级,请先设置。");
          return;
        }
        let routerItem = {
ce278878   梁保满   2-2 bugfix
450
          path: "/examinationPaperAddQs",
384a2a54   梁保满   请求头添加班主任信息,bug修改
451
452
453
454
          query: {
            ...query,
            listType: this.query.type,
            listShare: this.query.share,
03cd547e   梁保满   单体型以及其他类型试卷修改答案逻辑
455
            subjectName: this.query.subjectName,
b0cd2598   梁保满   fix:测试问题
456
          },
3ca58022   梁保满   修改添加组卷题目解析,知识点梳理等
457
        };
3ca58022   梁保满   修改添加组卷题目解析,知识点梳理等
458
459
        this.$router.push(routerItem);
      },
77ebf04d   梁保满   个人版
460
461
462
463
464
      toEdit(item) {
        this.$router.push({
          path: "/examinationPaperEdit",
          query: {
            paperId: item.id,
b0cd2598   梁保满   fix:测试问题
465
            paperType: this.query.type,
77ebf04d   梁保满   个人版
466
467
468
          },
        });
      },
b0cd2598   梁保满   fix:测试问题
469
470
      handleDropdownClick(value, item) {
        //更多
77ebf04d   梁保满   个人版
471
472
        const that = this;
        switch (value) {
e371f2dc   梁保满   软件下载,学校,班级老师等报表导入...
473
474
475
476
477
478
          case 1:
            //修改分享范围
            that.shareForm.id = item.id;
            that.shareForm.sharingType = item.sharingType;
            that.dialogVisible = true;
            break;
77ebf04d   梁保满   个人版
479
480
          case 2:
            //复制
98dec083   梁保满   复制试卷问题,题干列表样式,题目解...
481
            if (that.query.type == 2) {
ce278878   梁保满   2-2 bugfix
482
483
484
485
              that.toAdd({ type: 2, paperId: item.id });
            } else {
              that.toAddQs({ type: 2, paperId: item.id });
            }
77ebf04d   梁保满   个人版
486
487
488
489
490
491
492
            break;
          case 3:
            //归档
            that.recovery(item);
            break;
        }
      },
3ca58022   梁保满   修改添加组卷题目解析,知识点梳理等
493
      changPaperType(type) {
b0cd2598   梁保满   fix:测试问题
494
495
496
        this.query.type = type;
        this.query.tagId = "";
        this.changShare(0);
3ca58022   梁保满   修改添加组卷题目解析,知识点梳理等
497
      },
77ebf04d   梁保满   个人版
498
499
500
501
      changePage(page) {
        this.page = page;
        this._QueryData(this.query.title);
      },
352c53cc   梁保满   上传word回传数据
502
      //修改分享范围
e371f2dc   梁保满   软件下载,学校,班级老师等报表导入...
503
      async saveShare() {
e371f2dc   梁保满   软件下载,学校,班级老师等报表导入...
504
505
506
507
508
509
510
511
512
513
514
515
516
517
        const { data, status, info } = await this.$request.modifyPaper({
          paperId: this.shareForm.id,
          sharingType: this.shareForm.sharingType,
        });
        if (status === 0) {
          this.shareForm.id = "";
          this.shareForm.sharingType = 1;
          this.dialogVisible = false;
          this.$message.success(info);
          this._QueryData(this.query.title == "");
        } else {
          this.$message.error(info);
        }
      },
352c53cc   梁保满   上传word回传数据
518
      //归档
77ebf04d   梁保满   个人版
519
      async recovery(item) {
e371f2dc   梁保满   软件下载,学校,班级老师等报表导入...
520
521
522
523
524
        let modifyPaper =
          this.role == "ROLE_PERSONAL"
            ? this.$request.pModifyPaper
            : this.$request.modifyPaper;
        const { data, status, info } = await modifyPaper({
77ebf04d   梁保满   个人版
525
526
527
528
          paperId: item.id,
          status: 2,
        });
        if (status === 0) {
352c53cc   梁保满   上传word回传数据
529
          let type = this.query.title ? true : false;
77ebf04d   梁保满   个人版
530
531
532
533
534
535
          this.page = 1;
          this._QueryData(type);
        } else {
          this.$message.error(info);
        }
      },
352c53cc   梁保满   上传word回传数据
536
537
      //根据试卷名称查找
      async getData(bool) {
3ca58022   梁保满   修改添加组卷题目解析,知识点梳理等
538
        this.page = 1;
352c53cc   梁保满   上传word回传数据
539
        this._QueryData(bool);
352c53cc   梁保满   上传word回传数据
540
      },
77ebf04d   梁保满   个人版
541
542
      //切换班级
      async changClazz() {
3ca58022   梁保满   修改添加组卷题目解析,知识点梳理等
543
        this.page = 1;
ce278878   梁保满   2-2 bugfix
544
        if (this.query.type == 2) {
b0cd2598   梁保满   fix:测试问题
545
          await this._QueryTypeList();
ce278878   梁保满   2-2 bugfix
546
        }
77ebf04d   梁保满   个人版
547
        await this._QuerySubjectList();
77ebf04d   梁保满   个人版
548
        this._QueryData(false);
352c53cc   梁保满   上传word回传数据
549
550
      },
      //切换类型
3ca58022   梁保满   修改添加组卷题目解析,知识点梳理等
551
      async changShare(share) {
b0cd2598   梁保满   fix:测试问题
552
        this.query.share = share;
352c53cc   梁保满   上传word回传数据
553
        this.page = 1;
4d5235d7   梁保满   学生,教师修改,顶部返回备题组卷记...
554
555
556
557
558
        this.$router.replace({
          name: "examinationPaper",
          query: {
            type: this.query.type,
            share: this.query.share,
b0cd2598   梁保满   fix:测试问题
559
560
          },
        });
352c53cc   梁保满   上传word回传数据
561
        this._QueryData(false);
77ebf04d   梁保满   个人版
562
      },
47a01cb6   梁保满   v1.3测试问题
563
564
565
566
567
568
569
570
571
572
573
574
575
      // 查找班级
      async _QueryClassList2() {
        this.loading = true;
        let fetchClassList =
          this.role == "ROLE_PERSONAL"
            ? this.$request.pClassList
            : this.$request.fetchClassList;
  
        const { data, status, info } = await fetchClassList({ status: 1 });
        if (status === 0) {
          this.gdClass = data?.list?.length || 0;
        } else {
          this.$message.error(info);
77ebf04d   梁保满   个人版
576
577
578
579
580
        }
      },
      // 查找班级
      async _QueryClassList() {
        this.loading = true;
e371f2dc   梁保满   软件下载,学校,班级老师等报表导入...
581
582
583
584
585
586
        let fetchClassList =
          this.role == "ROLE_PERSONAL"
            ? this.$request.pClassList
            : this.$request.fetchClassList;
  
        const { data, status, info } = await fetchClassList();
77ebf04d   梁保满   个人版
587
588
589
590
591
        if (status === 0) {
          if (!!data.list) {
            this.classList =
              data.list?.map((item) => {
                return {
e371f2dc   梁保满   软件下载,学校,班级老师等报表导入...
592
                  value: this.role == "ROLE_PERSONAL" ? item.id : item.classId,
77ebf04d   梁保满   个人版
593
594
595
596
597
598
599
600
601
602
603
                  label: item.className,
                };
              }) || [];
            this.query.classId = this.classList[0]?.value;
          }
        } else {
          this.$message.error(info);
        }
      },
      // 查找科目
      async _QuerySubjectList() {
34b574e0   梁保满   细节优化
604
        if (!this.query.classId) return;
e371f2dc   梁保满   软件下载,学校,班级老师等报表导入...
605
606
607
608
609
610
        let fetchSubjectList =
          this.role == "ROLE_PERSONAL"
            ? this.$request.pSubjectList
            : this.$request.fetchSubjectList;
  
        const { data, status, info } = await fetchSubjectList({
77ebf04d   梁保满   个人版
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
          classId: this.query.classId,
        });
        if (status === 0) {
          this.subjectList =
            data.subjectNames?.map((item) => {
              return {
                value: item,
                label: item,
              };
            }) || [];
          this.query.subjectName = this.subjectList[0]?.value;
        } else {
          this.$message.error(info);
        }
      },
ce278878   梁保满   2-2 bugfix
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
      // 查找答题卡类型
      async _QueryTypeList() {
        if (!this.query.classId) return;
        let fetchTypeNames =
          this.role == "ROLE_PERSONAL"
            ? this.$request.pPaperTagList
            : this.$request.fetchTypeNames;
  
        const { data, status, info } = await fetchTypeNames({
          classId: this.query.classId,
          type: 0,
        });
        if (status === 0) {
          this.typeList =
            data.list.map((item) => {
              return {
                value: item.tagId,
                label: item.tag,
              };
            }) || [];
          this.typeList.unshift({
            value: "",
            label: "请选择标签",
          });
b0cd2598   梁保满   fix:测试问题
650
          this.query.tagId = "";
ce278878   梁保满   2-2 bugfix
651
652
653
654
        } else {
          this.$message.error(info);
        }
      },
77ebf04d   梁保满   个人版
655
      async _QueryData(type) {
34b574e0   梁保满   细节优化
656
        if (!this.query.classId) return;
77ebf04d   梁保满   个人版
657
658
659
660
661
        this.loading = true;
        //获取答题卡列表
        let query = {};
        if (!type) {
          this.query.title = "";
77ebf04d   梁保满   个人版
662
        }
3ca58022   梁保满   修改添加组卷题目解析,知识点梳理等
663
        query = { ...this.query };
77ebf04d   梁保满   个人版
664
        for (let key in query) {
3ca58022   梁保满   修改添加组卷题目解析,知识点梳理等
665
          if (!query[key] && query[key] !== 0) {
b0cd2598   梁保满   fix:测试问题
666
            delete query[key];
77ebf04d   梁保满   个人版
667
668
669
670
671
672
673
674
675
          }
        }
        if (!query.classId) {
          this.total = 0;
          this.tableData = [];
          this.loading = false;
          return;
        }
        this.loading = true;
e371f2dc   梁保满   软件下载,学校,班级老师等报表导入...
676
677
678
679
680
681
        let fetchPaperList =
          this.role == "ROLE_PERSONAL"
            ? this.$request.pPaperList
            : this.$request.fetchPaperList;
  
        const { data, status, info } = await fetchPaperList({
77ebf04d   梁保满   个人版
682
683
684
685
686
687
688
          ...query,
          status: 1,
          page: this.page,
          size: this.size,
        });
        this.loading = false;
        if (status === 0) {
e17ec739   梁保满   随堂问,即时测导出爆表修改
689
690
          this.totalCount.my = data?.myCount || 0;
          this.totalCount.share = data?.gradeCount || 0;
77ebf04d   梁保满   个人版
691
692
693
694
695
696
697
          this.archivedTotal = data.archivedTotal;
          this.total = data.total;
          this.tableData = (data.list && [...data.list]) || [];
        } else {
          this.$message.error(info);
        }
      },
6192eba8   梁保满   引用上传文件组件问题,备题组卷顶部
698
  
6192eba8   梁保满   引用上传文件组件问题,备题组卷顶部
699
700
      //v1.5
      upSuccess(res) {
352c53cc   梁保满   上传word回传数据
701
702
703
704
705
706
707
708
709
710
        if (res.status == 0) {
          //导入成功
          this.$message.closeAll();
          this.$message({
            showClose: true,
            message: `${res.info}`,
            type: "success",
            duration: 2000,
          });
          this.diaUp = false;
b0cd2598   梁保满   fix:测试问题
711
          let params = JSON.stringify(res.data);
3ca58022   梁保满   修改添加组卷题目解析,知识点梳理等
712
          if (this.query.type == 2) {
b0cd2598   梁保满   fix:测试问题
713
            this.toAdd({ params, isUpload: 1 });
3ca58022   梁保满   修改添加组卷题目解析,知识点梳理等
714
          } else {
b0cd2598   梁保满   fix:测试问题
715
            this.toAddQs({ params });
3ca58022   梁保满   修改添加组卷题目解析,知识点梳理等
716
          }
352c53cc   梁保满   上传word回传数据
717
        }
6192eba8   梁保满   引用上传文件组件问题,备题组卷顶部
718
719
720
      },
      handleAdd(value) {
        if (value == 2) {
b0cd2598   梁保满   fix:测试问题
721
          this.toAdd();
6192eba8   梁保满   引用上传文件组件问题,备题组卷顶部
722
        } else {
b0cd2598   梁保满   fix:测试问题
723
          this.diaUp = true;
6192eba8   梁保满   引用上传文件组件问题,备题组卷顶部
724
725
726
        }
      },
  
6192eba8   梁保满   引用上传文件组件问题,备题组卷顶部
727
      async downExcel() {
b248db27   梁保满   课件模版区分,错别字修改,录分成功...
728
729
730
731
732
733
734
735
        let url;
        let that = this;
        if (that.query.type == 1) {
          url = "static/课件模板.docx";
        } else {
          url = "static/试卷模板.docx";
        }
        axios(url, {
b0cd2598   梁保满   fix:测试问题
736
737
          responseType: "arraybuffer",
        }).then((res) => {
5f80d60e   梁保满   备题试卷模版
738
739
          let blob = new Blob([res.data], {
            type: "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet",
6192eba8   梁保满   引用上传文件组件问题,备题组卷顶部
740
          });
b248db27   梁保满   课件模版区分,错别字修改,录分成功...
741
742
743
744
          downloadFile(
            that.query.type == 1 ? "课件模板.docx" : "试卷模板.docx",
            blob
          );
b0cd2598   梁保满   fix:测试问题
745
        });
6192eba8   梁保满   引用上传文件组件问题,备题组卷顶部
746
      },
77ebf04d   梁保满   个人版
747
748
749
750
751
    },
  };
  </script>
  
  <style scoped lang="scss">
49a203f1   梁保满   添加试卷流程绣花
752
753
754
755
756
757
758
759
760
761
  .down-box {
    padding-left: 20px;
    .down-head {
      display: block;
      span,
      a {
        vertical-align: middle;
      }
    }
  }
77ebf04d   梁保满   个人版
762
763
764
765
766
767
768
769
  .tips {
    display: flex;
    padding-left: 30px;
    line-height: 16px;
    font-size: 14px;
    color: #999;
    margin-bottom: 10px;
  }
6192eba8   梁保满   引用上传文件组件问题,备题组卷顶部
770
  
77ebf04d   梁保满   个人版
771
772
773
774
775
  .content {
    margin: 0 20px;
    background: #f8f8f8;
    padding: 12px;
    border-radius: 20px;
6192eba8   梁保满   引用上传文件组件问题,备题组卷顶部
776
  
77ebf04d   梁保满   个人版
777
778
779
780
781
782
783
784
785
786
    .item {
      display: flex;
      align-items: center;
      width: 100%;
      overflow: hidden;
      box-sizing: border-box;
      padding: 12px;
      border-radius: 20px;
      background: #fff;
      margin-bottom: 12px;
6192eba8   梁保满   引用上传文件组件问题,备题组卷顶部
787
  
77ebf04d   梁保满   个人版
788
789
790
      &:last-of-type {
        margin-bottom: 0;
      }
6192eba8   梁保满   引用上传文件组件问题,备题组卷顶部
791
  
77ebf04d   梁保满   个人版
792
793
794
795
796
797
798
799
800
801
      .pic-box {
        width: 80px;
        height: 80px;
        border-radius: 10px;
        margin-right: 10px;
        flex-shrink: 0;
        background: #667ffd;
        text-align: center;
        color: #fff;
        font-weight: 500;
6192eba8   梁保满   引用上传文件组件问题,备题组卷顶部
802
  
77ebf04d   梁保满   个人版
803
804
805
806
807
808
        .i-box {
          padding-top: 10px;
          font-size: 32px;
          margin-bottom: 3px;
        }
      }
6192eba8   梁保满   引用上传文件组件问题,备题组卷顶部
809
  
77ebf04d   梁保满   个人版
810
811
812
813
814
815
816
      .info {
        min-height: 80px;
        flex: 1;
        overflow: hidden;
        display: flex;
        flex-direction: column;
        justify-content: space-between;
6192eba8   梁保满   引用上传文件组件问题,备题组卷顶部
817
  
77ebf04d   梁保满   个人版
818
819
820
821
        .s-line {
          padding: 0 5px;
          color: #e2e2e2;
        }
6192eba8   梁保满   引用上传文件组件问题,备题组卷顶部
822
  
77ebf04d   梁保满   个人版
823
824
825
826
        .title {
          font-size: 16px;
          color: #222;
          font-weight: 500;
6192eba8   梁保满   引用上传文件组件问题,备题组卷顶部
827
  
77ebf04d   梁保满   个人版
828
829
830
831
832
833
834
835
836
837
838
          .label {
            display: inline-block;
            font-size: 12px;
            color: #2e9afe;
            line-height: 16px;
            padding: 0 10px;
            border: 1px solid #2e9afe;
            border-radius: 10px;
            transform: translateY(-2px);
          }
        }
6192eba8   梁保满   引用上传文件组件问题,备题组卷顶部
839
  
77ebf04d   梁保满   个人版
840
841
842
843
        .person {
          color: #666;
        }
      }
6192eba8   梁保满   引用上传文件组件问题,备题组卷顶部
844
  
77ebf04d   梁保满   个人版
845
846
847
848
849
      .clazz {
        font-size: 14px;
        font-weight: 500;
        position: relative;
        position: relative;
6192eba8   梁保满   引用上传文件组件问题,备题组卷顶部
850
  
77ebf04d   梁保满   个人版
851
852
853
        &.active {
          color: #667ffd;
        }
6192eba8   梁保满   引用上传文件组件问题,备题组卷顶部
854
  
77ebf04d   梁保满   个人版
855
856
857
858
859
860
        .el-icon-success {
          position: absolute;
          right: 0;
          top: -5px;
          color: #667ffd;
        }
6192eba8   梁保满   引用上传文件组件问题,备题组卷顶部
861
  
77ebf04d   梁保满   个人版
862
863
864
865
866
867
        &:last-of-type {
          .el-icon-success {
            right: -18px;
          }
        }
      }
6192eba8   梁保满   引用上传文件组件问题,备题组卷顶部
868
  
77ebf04d   梁保满   个人版
869
870
      .btn-box {
        flex-shrink: 0;
6192eba8   梁保满   引用上传文件组件问题,备题组卷顶部
871
  
77ebf04d   梁保满   个人版
872
873
874
875
        .edit {
          margin-right: 12px;
        }
      }
6192eba8   梁保满   引用上传文件组件问题,备题组卷顶部
876
  
e371f2dc   梁保满   软件下载,学校,班级老师等报表导入...
877
878
      .icon-refresh {
        margin-left: 20px;
77ebf04d   梁保满   个人版
879
        cursor: pointer;
6192eba8   梁保满   引用上传文件组件问题,备题组卷顶部
880
  
e371f2dc   梁保满   软件下载,学校,班级老师等报表导入...
881
882
        &:hover {
          color: #2e9afe;
77ebf04d   梁保满   个人版
883
884
885
886
        }
      }
    }
  }
6192eba8   梁保满   引用上传文件组件问题,备题组卷顶部
887
  
77ebf04d   梁保满   个人版
888
889
890
891
892
  .answer-header {
    .sel-box {
      .sel {
        min-width: 160px;
      }
6192eba8   梁保满   引用上传文件组件问题,备题组卷顶部
893
  
77ebf04d   梁保满   个人版
894
895
896
897
898
      :deep(.el-cascader__tags) {
        flex-wrap: nowrap;
      }
    }
  }
6192eba8   梁保满   引用上传文件组件问题,备题组卷顶部
899
  
77ebf04d   梁保满   个人版
900
901
  .dialog-footer {
    text-align: center;
6192eba8   梁保满   引用上传文件组件问题,备题组卷顶部
902
  
77ebf04d   梁保满   个人版
903
904
905
906
907
908
    :deep(.el-button) {
      border-radius: 20px;
      padding: 8px 20px 7px;
      margin: 0 12px;
    }
  }
6192eba8   梁保满   引用上传文件组件问题,备题组卷顶部
909
910
911
912
913
914
915
916
917
  
  // v1.5
  .examinationPaper-type {
    padding: 16px 40px 0 20px;
    width: 100%;
    box-sizing: border-box;
    display: flex;
    justify-content: space-between;
  }
352c53cc   梁保满   上传word回传数据
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
  
  .content {
    .tab-box {
      padding-bottom: 10px;
  
      .tab-s {
        margin: 0 10px;
        font-size: 17px;
        line-height: 24px;
        font-weight: 500;
        cursor: pointer;
  
        &:hover {
          color: #667ffd;
        }
  
        &.active {
          color: #667ffd;
b0cd2598   梁保满   fix:测试问题
936
          border-bottom: 1px solid #667ffd;
352c53cc   梁保满   上传word回传数据
937
938
939
940
        }
      }
    }
  }
4d5235d7   梁保满   学生,教师修改,顶部返回备题组卷记...
941
942
943
944
945
946
947
948
  
  .down-head {
    display: flex;
    align-items: center;
    line-height: 22px;
  
    .img-box {
      position: relative;
03cd547e   梁保满   单体型以及其他类型试卷修改答案逻辑
949
      color: #409eff;
4d5235d7   梁保满   学生,教师修改,顶部返回备题组卷记...
950
951
952
953
954
955
  
      .img {
        position: absolute;
        left: -1px;
        top: -1px;
        opacity: 0;
bd6ad607   梁保满   查看图片
956
        width: 100%;
4d5235d7   梁保满   学生,教师修改,顶部返回备题组卷记...
957
958
959
960
        height: 22px;
      }
    }
  }
77ebf04d   梁保满   个人版
961
  </style>