4c4f7640
梁保满
路由表,路由前端文件
|
1
|
<template>
|
ca39cc52
阿宝
飞书问题处理
|
2
|
<div ref="content" class="content-box">
|
13b58a42
梁保满
备题组卷部分前端页面基本完成
|
3
4
|
<back-box>
<template slot="title">
|
8af7657f
梁保满
修改添加备题,组卷
|
5
|
<span>导入课件</span>
|
13b58a42
梁保满
备题组卷部分前端页面基本完成
|
6
7
8
|
</template>
</back-box>
<div class="content">
|
6192eba8
梁保满
引用上传文件组件问题,备题组卷顶部
|
9
|
<el-steps :active="step" finish-status="success" simple style="margin: 20px 0">
|
13b58a42
梁保满
备题组卷部分前端页面基本完成
|
10
11
|
<el-step title="基础信息" icon="el-icon-edit"></el-step>
<el-step title="题目编辑" icon="el-icon-tickets"></el-step>
|
8af7657f
梁保满
修改添加备题,组卷
|
12
|
<el-step title="课件预览" icon="el-icon-edit-outline"></el-step>
|
13b58a42
梁保满
备题组卷部分前端页面基本完成
|
13
14
|
</el-steps>
<div v-show="step == 0">
|
6192eba8
梁保满
引用上传文件组件问题,备题组卷顶部
|
15
|
<el-form ref="forms" :model="form" :rules="formRules" label-width="140px">
|
8af7657f
梁保满
修改添加备题,组卷
|
16
|
<el-form-item label="课件名称:" prop="title">
|
23659274
梁保满
备题接口对接
|
17
|
<el-input class="sel2" type="text" placeholder="请输入答题卡名称" v-model.trim="form.title" maxlength="50" size="45"
|
6192eba8
梁保满
引用上传文件组件问题,备题组卷顶部
|
18
|
show-word-limit>
|
ca39cc52
阿宝
飞书问题处理
|
19
|
</el-input>
|
13b58a42
梁保满
备题组卷部分前端页面基本完成
|
20
|
</el-form-item>
|
6192eba8
梁保满
引用上传文件组件问题,备题组卷顶部
|
21
22
23
|
<el-form-item v-if="role != 'ROLE_PERSONAL'" label="年级:" prop="gradeName">
<el-select class="sel" v-model="form.gradeName" placeholder="" @change="changeGrade">
<el-option v-for="item in gradeList" :key="item" :label="item" :value="item">
|
13b58a42
梁保满
备题组卷部分前端页面基本完成
|
24
25
26
|
</el-option>
</el-select>
</el-form-item>
|
ee6e7628
梁保满
备题组卷借口数据对接调整
|
27
28
|
<el-form-item label="科目:" prop="subjectName">
<el-select class="sel" v-model="form.subjectName" placeholder="">
|
6192eba8
梁保满
引用上传文件组件问题,备题组卷顶部
|
29
30
|
<el-option v-for="item in subjectList" :key="item.value" :label="item.label" :value="item.value">{{
item.label }}
|
13b58a42
梁保满
备题组卷部分前端页面基本完成
|
31
32
33
|
</el-option>
</el-select>
</el-form-item>
|
6192eba8
梁保满
引用上传文件组件问题,备题组卷顶部
|
34
|
<el-form-item v-if="role != 'ROLE_PERSONAL'" label="分享范围:" prop="sharingType">
|
ee6e7628
梁保满
备题组卷借口数据对接调整
|
35
|
<el-radio-group v-model="form.sharingType">
|
f356590c
阿宝
即时测列表,分析页面
|
36
37
|
<el-radio :label="0">任课班级分享</el-radio>
<el-radio :label="1">全年级分享</el-radio>
|
13b58a42
梁保满
备题组卷部分前端页面基本完成
|
38
39
40
41
|
</el-radio-group>
</el-form-item>
</el-form>
<div class="btn-box">
|
6192eba8
梁保满
引用上传文件组件问题,备题组卷顶部
|
42
|
<el-button type="danger" plain round @click="linkBack">取消</el-button>
|
13b58a42
梁保满
备题组卷部分前端页面基本完成
|
43
44
|
<el-button type="primary" round @click="setStep1">下一步</el-button>
</div>
|
13b58a42
梁保满
备题组卷部分前端页面基本完成
|
45
46
|
</div>
<div v-show="step == 1">
|
f26ecfa4
阿宝
测试bug
|
47
48
|
<div class="answer-title">
<p class="name">{{ form.title }}</p>
|
f26ecfa4
阿宝
测试bug
|
49
|
</div>
|
8af7657f
梁保满
修改添加备题,组卷
|
50
|
<div class="question-box">
|
f5729396
梁保满
批量设置答案
|
51
52
53
54
55
56
57
|
<ul class="questions-ul">
<li class="sub-questions">
<div class="qs-num">题号</div>
<div class="qs-type">题型</div>
<div class="qs-score">分数</div>
<div class="qs-partScore">漏选得分</div>
<div class="qs-options qs-options2">选项设置</div>
|
8af7657f
梁保满
修改添加备题,组卷
|
58
|
<div class="qs-upload">提干</div>
|
cb6ceaa8
梁保满
添加备题,组卷参数调整
|
59
|
<div class="qs-upload">题目解析</div>
|
23659274
梁保满
备题接口对接
|
60
61
|
<div class="qs-upload" v-if="knowledgeData.length">知识点</div>
<div class="qs-set">操作</div>
|
f5729396
梁保满
批量设置答案
|
62
|
</li>
|
f5729396
梁保满
批量设置答案
|
63
|
</ul>
|
c6f2a550
梁保满
创建备题组卷,修改备题
|
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
|
<template v-for="(question, index) in form.questionList">
<ul class="questions-ul">
<li v-for="(subQuestions, indexs) in question.subQuestions" :key="indexs">
<p class="set-ans-btn" v-if="subQuestions.qusType &&
subQuestions.subNum &&
subQuestions.subNum > 4
">
<el-button type="primary" @click="setFormAns(indexs, index)">批量设置答案</el-button>
</p>
<div v-else class="sub-questions">
<div class="qs-num">
{{ setNum(index, indexs, subQuestions) }}
</div>
<div class="qs-type">
<el-select v-model="subQuestions.questionType" placeholder="选择题目类型"
@change="changeSubQuestions($event, subQuestions)">
<el-option v-for="options in questionOptions" :label="options.label"
:value="options.value"></el-option>
</el-select>
</div>
<div class="qs-score">
<el-input-number class="number-ipt" size="medium" :min="1" :max="200" :precision="2"
v-model="subQuestions.score" label="单题分值"></el-input-number>
</div>
<div class="qs-partScore">
<p v-if="subQuestions.questionType != 3">--</p>
<el-input-number class="number-ipt" v-else size="medium" :min="0" :precision="2"
:max="subQuestions.score" :step="0.5" v-model="subQuestions.partScore"
label="漏选得分"></el-input-number>
</div>
<div class="qs-options qs-options2">
<p v-if="subQuestions.questionType == 5">--</p>
<p v-if="subQuestions.questionType == 4" class="answer-box">
<span class="answer-s" :class="subQuestions.correctAnswer == 1 ? 'active' : ''"
@click="subQuestions.correctAnswer = 1">✓</span>
<span class="answer-s" :class="subQuestions.correctAnswer == 2 ? 'active' : ''"
@click="subQuestions.correctAnswer = 2">✗</span>
</p>
<p v-if="subQuestions.questionType == 3" class="answer-box">
<span class="answer-s" v-for="option in subQuestions.answerOptions.split(',')" :class="subQuestions.correctAnswer?.includes(option)
? 'active'
: ''
" :key="option" @click="changAnswer(subQuestions, option)">{{ option }}</span>
</p>
<p v-if="subQuestions.questionType == 2" class="answer-box">
<span class="answer-s" v-for="option in subQuestions.answerOptions.split(',')" :class="subQuestions.correctAnswer == option ? 'active' : ''
" :key="option" @click="subQuestions.correctAnswer = option">{{ option }}</span>
</p>
|
77da338a
梁保满
自测问题修改
|
112
113
114
115
116
117
118
119
|
<p v-if="subQuestions.questionType == 3 ||
subQuestions.questionType == 2
" class="answer-box answer-box2">
<el-button size="mini" type="primary" icon="el-icon-plus" circle
@click="addOptions(subQuestions)"></el-button>
<el-button size="mini" type="primary" icon="el-icon-minus" round circle
@click="removeOptions(subQuestions)"></el-button>
</p>
|
c6f2a550
梁保满
创建备题组卷,修改备题
|
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
|
</div>
<div class="qs-upload">
<el-popover placement="right" width="600" trigger="click">
<div class="screenshot-box">
<iframe class="screenshot"
v-if="subQuestions.screenshot && subQuestions.screenshot.includes('html')"
:src="subQuestions.screenshot"></iframe>
<img class="screenshot screenshot-img"
v-if="subQuestions.screenshot && !subQuestions.screenshot.includes('html')"
:src="subQuestions.screenshot" alt="">
<p style="textAlign:center"><el-button type="primary" round size="mini" icon="el-icon-upload"
@click="openStem(subQuestions, index, indexs, 1)">{{ subQuestions.answerScreenshot ? "重新选择图片"
: "上传题干" }}</el-button>
</p>
</div>
<el-button slot="reference" class="icon-tickets" type="primary" circle size="mini"
icon="el-icon-tickets"></el-button>
</el-popover>
</div>
<div class="qs-upload">
<el-popover placement="right" width="600" trigger="click">
<div class="screenshot-box">
<iframe class="screenshot"
v-if="subQuestions.answerScreenshot && subQuestions.answerScreenshot.includes('html')"
:src="subQuestions.answerScreenshot"></iframe>
<img class="screenshot screenshot-img"
v-if="subQuestions.answerScreenshot && !subQuestions.answerScreenshot.includes('html')"
:src="subQuestions.answerScreenshot" alt="">
<p style="textAlign:center"><el-button type="primary" round size="mini" icon="el-icon-upload"
@click="openStem(subQuestions, index, indexs, 2)">{{ subQuestions.answerScreenshot ? "重新选择图片"
: "上传题目解析" }}</el-button>
</p>
</div>
<el-button slot="reference" class="icon-tickets" type="primary" circle size="mini"
icon="el-icon-tickets"></el-button>
</el-popover>
</div>
<div class="qs-upload" v-if="knowledgeData.length">
<el-button type="primary" circle size="mini" icon="el-icon-price-tag"
@click="openKnowledge(subQuestions, index, indexs)"></el-button>
</div>
<div class="qs-set">
<el-popconfirm title="确定删除这道题吗?" @confirm="delTabData(indexs, index)">
<el-button slot="reference" class="delete" type="danger" size="mini" circle
icon="el-icon-delete"></el-button>
</el-popconfirm>
</div>
</div>
</li>
</ul>
</template>
|
3ba60a63
梁保满
发卡补卡,设备状态上传下载接口联调
|
172
|
</div>
|
6192eba8
梁保满
引用上传文件组件问题,备题组卷顶部
|
173
174
|
<el-dialog :close-on-click-modal="false" title="批量设置答案" :visible.sync="diaSetAns" width="400"
:modal-append-to-body="false">
|
3ba60a63
梁保满
发卡补卡,设备状态上传下载接口联调
|
175
176
177
178
179
180
|
<div class="qs-options">
<p class="dia-tips">
请点击选项按钮设置答案,多选题题目之间用“,”隔开,若添加5道题:“AC,AD,BD,AC,CD”
</p>
<p>{{ setSubPro(formAns.qusType) }}:</p>
<p class="ipt">
|
6192eba8
梁保满
引用上传文件组件问题,备题组卷顶部
|
181
|
<el-input v-if="formAns.qusType == 2 || formAns.qusType == 3" ref="formAnsIpt" v-model="formAns.answerList"
|
3ba60a63
梁保满
发卡补卡,设备状态上传下载接口联调
|
182
|
@keydown.native="keydownAnswer($event, formAns.qusType)"
|
6192eba8
梁保满
引用上传文件组件问题,备题组卷顶部
|
183
184
|
@input="setAllAnswer($event, formAns.qusType)"></el-input>
<el-input v-if="formAns.qusType == 4" v-model="formAns.answerList" readonly=""></el-input>
|
3ba60a63
梁保满
发卡补卡,设备状态上传下载接口联调
|
185
186
187
|
</p>
<p class="answer-box">
<template v-if="formAns.qusType == 4">
|
6192eba8
梁保满
引用上传文件组件问题,备题组卷顶部
|
188
189
190
191
192
193
194
195
196
197
|
<span class="answer-s active" @click="
formAns.answerList.length < formAns.subNum
? (formAns.answerList += '✓')
: ''
">✓</span>
<span class="answer-s active" @click="
formAns.answerList.length < formAns.subNum
? (formAns.answerList += '✗')
: ''
">✗</span>
|
3ba60a63
梁保满
发卡补卡,设备状态上传下载接口联调
|
198
199
|
</template>
<template v-if="formAns.qusType == 3">
|
6192eba8
梁保满
引用上传文件组件问题,备题组卷顶部
|
200
201
202
|
<span class="answer-s active" v-for="option in formAns.answerOptions.split(',')" :key="option"
@click="setMultiple(formAns, option, 2)">{{ option }}</span>
<span class="answer-s active" @click="setMultiple(formAns, ',', 2)">,</span>
|
3ba60a63
梁保满
发卡补卡,设备状态上传下载接口联调
|
203
|
</template>
|
21dfdeae
梁保满
平台管理员
|
204
|
<template v-if="formAns.qusType == 2">
|
6192eba8
梁保满
引用上传文件组件问题,备题组卷顶部
|
205
206
207
208
209
|
<span class="answer-s active" v-for="option in formAns.answerOptions.split(',')" :key="option" @click="
formAns.answerList.length < formAns.subNum
? (formAns.answerList += option)
: ''
">{{ option }}</span>
|
3ba60a63
梁保满
发卡补卡,设备状态上传下载接口联调
|
210
|
</template>
|
6192eba8
梁保满
引用上传文件组件问题,备题组卷顶部
|
211
212
|
<span class="answer-s delButton" @click="formAns.answerList = formAns.answerList.slice(0, -1)">x</span>
<span class="answer-s ac" @click="formAns.answerList = ''">ac</span>
|
3ba60a63
梁保满
发卡补卡,设备状态上传下载接口联调
|
213
214
215
216
217
218
219
|
</p>
</div>
<div class="dialog-footer" slot="footer">
<el-button @click="saveFormAns">确 定</el-button>
<el-button @click="diaSetAns = false">取 消</el-button>
</div>
</el-dialog>
|
13b58a42
梁保满
备题组卷部分前端页面基本完成
|
220
|
<div class="btn-box">
|
6192eba8
梁保满
引用上传文件组件问题,备题组卷顶部
|
221
|
<el-button type="danger" plain round @click="linkBack">取消</el-button>
|
8af7657f
梁保满
修改添加备题,组卷
|
222
223
|
<el-button round @click="step = 0">上一步</el-button>
<el-button type="primary" round @click="toStep(2)">下一步</el-button>
|
13b58a42
梁保满
备题组卷部分前端页面基本完成
|
224
|
</div>
|
cb6ceaa8
梁保满
添加备题,组卷参数调整
|
225
226
|
<el-dialog :close-on-click-modal="false" :title="stem.type == 1 ? '上传题干' : '上传题目解析'" :visible.sync="dialogStem"
v-if="dialogStem" width="500">
|
8af7657f
梁保满
修改添加备题,组卷
|
227
|
<div class="upload-box">
|
cb6ceaa8
梁保满
添加备题,组卷参数调整
|
228
229
230
231
232
233
234
|
<template v-show="stem.type == 1">
<img v-if="stem.screenshot && !stem.screenshot.includes('html')" :src="stem.screenshot" class="stem-pic" />
</template>
<template v-show="stem.type == 2">
<img v-if="stem.answerScreenshot && !stem.answerScreenshot.includes('html')" :src="stem.answerScreenshot"
class="stem-pic" />
</template>
|
8af7657f
梁保满
修改添加备题,组卷
|
235
236
|
<el-upload class="upload-demo" action="http://121.40.127.171/file/uploadImg" :limit="1"
:on-success="upSuccess" :on-error="upError" accept="image/*">
|
cb6ceaa8
梁保满
添加备题,组卷参数调整
|
237
|
<el-button v-show="stem.type == 1" size="small" type="primary">{{
|
8af7657f
梁保满
修改添加备题,组卷
|
238
239
|
stem.screenshot && !stem.screenshot.includes('html') ? "重新上传" : "选择照片"
}}</el-button>
|
cb6ceaa8
梁保满
添加备题,组卷参数调整
|
240
241
242
|
<el-button v-show="stem.type == 2" size="small" type="primary">{{
stem.answerScreenshot && !stem.answerScreenshot.includes('html') ? "重新上传" : "选择照片"
}}</el-button>
|
8af7657f
梁保满
修改添加备题,组卷
|
243
244
245
246
247
248
|
</el-upload>
</div>
<div slot="footer">
<el-button @click="dialogStem = false">确定</el-button>
</div>
</el-dialog>
|
cb6ceaa8
梁保满
添加备题,组卷参数调整
|
249
250
251
252
253
254
255
256
257
258
259
260
261
262
|
<el-dialog :close-on-click-modal="false" title="知识点" :visible.sync="dialogKnowledge" width="500">
<div>
<el-form ref="form" :model="stem" label-width="160px">
<el-form-item label="知识点:">
<el-cascader size="small" filterable :show-all-levels="false" collapse clearable placeholder="选择知识点"
v-model="stem.knowledge" :options="knowledgeData" :props="{ expandTrigger: 'hover' }"></el-cascader>
</el-form-item>
</el-form>
</div>
<div slot="footer">
<el-button @click="dialogKnowledge = false">取 消</el-button>
<el-button type="primary" @click="setKnowledge">确 定</el-button>
</div>
</el-dialog>
|
13b58a42
梁保满
备题组卷部分前端页面基本完成
|
263
|
</div>
|
8af7657f
梁保满
修改添加备题,组卷
|
264
265
266
|
<div v-show="step == 2">
<div class="answer-title">
<p class="name">{{ form.title }}</p>
|
6192eba8
梁保满
引用上传文件组件问题,备题组卷顶部
|
267
|
</div>
|
8af7657f
梁保满
修改添加备题,组卷
|
268
|
<div class="question-box">
|
c6f2a550
梁保满
创建备题组卷,修改备题
|
269
270
271
272
273
274
275
276
277
|
<template v-for="question in form.questionList">
<div class="screenshot-box" v-for="subQuestions in question.subQuestions">
<iframe class="screenshot" v-if="subQuestions.screenshot && subQuestions.screenshot.includes('html')"
:src="subQuestions.screenshot"></iframe>
<img class="screenshot screenshot-img"
v-if="subQuestions.screenshot && !subQuestions.screenshot.includes('html')" :src="subQuestions.screenshot"
alt="">
</div>
</template>
|
6192eba8
梁保满
引用上传文件组件问题,备题组卷顶部
|
278
|
</div>
|
8af7657f
梁保满
修改添加备题,组卷
|
279
280
281
282
283
284
|
<div class="btn-box">
<el-button type="danger" plain round @click="linkBack">取消</el-button>
<el-button round @click="toStep(1)">上一步</el-button>
<el-button type="primary" round @click="save">保存</el-button>
</div>
</div>
|
13b58a42
梁保满
备题组卷部分前端页面基本完成
|
285
286
|
</div>
</div>
|
4c4f7640
梁保满
路由表,路由前端文件
|
287
288
289
|
</template>
<script>
|
533a17d8
梁保满
备题组卷添加批量设置答案
|
290
|
import { deepClone, checkAnswer } from "utils";
|
cb6ceaa8
梁保满
添加备题,组卷参数调整
|
291
|
import knowledgeList from "assets/js/knowledgeList.js";
|
4c4f7640
梁保满
路由表,路由前端文件
|
292
|
export default {
|
13b58a42
梁保满
备题组卷部分前端页面基本完成
|
293
294
|
data() {
return {
|
6192eba8
梁保满
引用上传文件组件问题,备题组卷顶部
|
295
|
role: "",
|
13b58a42
梁保满
备题组卷部分前端页面基本完成
|
296
|
step: 0, //步骤
|
cb6ceaa8
梁保满
添加备题,组卷参数调整
|
297
|
gradeClassList: [], //年级-班级数据
|
13b58a42
梁保满
备题组卷部分前端页面基本完成
|
298
299
|
gradeList: [], //年级
subjectList: [], //科目
|
13b58a42
梁保满
备题组卷部分前端页面基本完成
|
300
301
302
|
form: {
//答题卡详情
title: "",
|
6192eba8
梁保满
引用上传文件组件问题,备题组卷顶部
|
303
|
gradeName: "",
|
8af7657f
梁保满
修改添加备题,组卷
|
304
|
subjectName: "",
|
6192eba8
梁保满
引用上传文件组件问题,备题组卷顶部
|
305
|
sharingType: 0,
|
8af7657f
梁保满
修改添加备题,组卷
|
306
|
questionList: [],
|
13b58a42
梁保满
备题组卷部分前端页面基本完成
|
307
308
309
310
311
312
313
|
},
formRules: {
//答题卡验证
title: [
{ required: true, message: "请输入答题卡名称", trigger: "blur" },
{
min: 1,
|
23659274
梁保满
备题接口对接
|
314
315
|
max: 50,
message: "长度在 1 到 50 个字符",
|
13b58a42
梁保满
备题组卷部分前端页面基本完成
|
316
317
318
|
trigger: "blur",
},
],
|
8af7657f
梁保满
修改添加备题,组卷
|
319
320
321
|
gradeName: [
{ required: true, message: "请选择年级", trigger: "blur" },
],
|
ee6e7628
梁保满
备题组卷借口数据对接调整
|
322
323
324
|
subjectName: [
{ required: true, message: "请选择科目", trigger: "blur" },
],
|
13b58a42
梁保满
备题组卷部分前端页面基本完成
|
325
|
},
|
6192eba8
梁保满
引用上传文件组件问题,备题组卷顶部
|
326
|
diaSetAns: false, //答案开关
|
cb6ceaa8
梁保满
添加备题,组卷参数调整
|
327
|
dialogKnowledge: false, //知识点
|
6192eba8
梁保满
引用上传文件组件问题,备题组卷顶部
|
328
|
dialogStem: false, //截图开关
|
533a17d8
梁保满
备题组卷添加批量设置答案
|
329
|
formAns: {
|
c6f2a550
梁保满
创建备题组卷,修改备题
|
330
331
|
listIndex: 0, //大题位置
endIndex: 0, //相同题目最后一位题目的questionIndex
|
98f6a547
梁保满
创建答题卡,统计答题信息
|
332
|
index: 0, //相同题目最后一位题目的位置
|
533a17d8
梁保满
备题组卷添加批量设置答案
|
333
334
335
336
337
|
qusType: "", //题目类型
subNum: 0, //数量
answerOptions: [], //答案选项
answerList: "", //答案列表-字符串
},
|
6192eba8
梁保满
引用上传文件组件问题,备题组卷顶部
|
338
|
stem: {
|
cb6ceaa8
梁保满
添加备题,组卷参数调整
|
339
|
type: 1,
|
6192eba8
梁保满
引用上传文件组件问题,备题组卷顶部
|
340
|
index: 0, //大题位置
|
c6f2a550
梁保满
创建备题组卷,修改备题
|
341
|
indexs: 0, //小题位置
|
8af7657f
梁保满
修改添加备题,组卷
|
342
|
screenshot: "", //题干图片地址
|
cb6ceaa8
梁保满
添加备题,组卷参数调整
|
343
344
|
answerScreenshot: "", //题目解析图片地址
knowledge: [], //知识点
|
6192eba8
梁保满
引用上传文件组件问题,备题组卷顶部
|
345
346
|
},
type: 1, //1-创建,2-复制答题卡
|
6192eba8
梁保满
引用上传文件组件问题,备题组卷顶部
|
347
348
349
350
351
352
353
|
questionOptions: [
{ label: "单选题", value: 2 },
{ label: "多选题", value: 3 },
{ label: "判断题", value: 4 },
{ label: "主观题", value: 5 },
],
rightOptions: ["A", "B", "C", "D", "E", "F", "G", "H", "I", "J"],
|
cb6ceaa8
梁保满
添加备题,组卷参数调整
|
354
|
knowledgeList: { ...knowledgeList }
|
13b58a42
梁保满
备题组卷部分前端页面基本完成
|
355
356
|
};
},
|
23659274
梁保满
备题接口对接
|
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
|
computed: {
// 知识点列表 根据学段-科目筛选
knowledgeData: function () {
let jsons = []
if (this.form.gradeName && this.form.subjectName) {
let sectionName = ""
this.gradeClassList.map(item => {
if (this.form.gradeName == item.gradeName) {
sectionName = item.sectionName
}
})
if (sectionName && Object.keys(this.knowledgeList).includes(sectionName)) {
if (Object.keys(this.knowledgeList[sectionName]).includes(this.form.subjectName)) {
jsons = this.knowledgeList[sectionName][this.form.subjectName]
}
}
}
return jsons
},
},
watch: {
step: function () {
this.$nextTick(function () {
this.$refs.content.scrollTop = 0;
});
},
},
|
5424ef82
梁保满
接口调整
|
384
|
async created() {
|
f26ecfa4
阿宝
测试bug
|
385
|
this.type = this.$route.query.type ? this.$route.query.type : 1;
|
6192eba8
梁保满
引用上传文件组件问题,备题组卷顶部
|
386
387
388
|
this.role =
this.$store.getters.info.showRole ||
this.$store.getters.info.permissions[0].role;
|
8af7657f
梁保满
修改添加备题,组卷
|
389
390
391
392
393
394
|
let params = this.$route.query.params && JSON.parse(this.$route.query.params) || null
this.form.title = params?.name
this.form.id = params?.id
this.form.sharingType = params?.sharingType || 0
this.formatData(params)
console.log(this.form)
|
6192eba8
梁保满
引用上传文件组件问题,备题组卷顶部
|
395
396
397
398
399
400
|
if (this.role != "ROLE_PERSONAL") {
this.formRules.gradeName = [
{ required: true, message: "请选择年级", trigger: "blur" },
];
await this._GradeList();
}
|
8f573b82
阿宝
组卷接口联调
|
401
|
await this._QuerySubjectList(this.gradeList[0]);
|
13b58a42
梁保满
备题组卷部分前端页面基本完成
|
402
|
if (this.type == 2) {
|
ee6e7628
梁保满
备题组卷借口数据对接调整
|
403
|
this._QueryDetail();
|
13b58a42
梁保满
备题组卷部分前端页面基本完成
|
404
405
406
|
}
},
methods: {
|
8af7657f
梁保满
修改添加备题,组卷
|
407
|
// v1.5
|
6192eba8
梁保满
引用上传文件组件问题,备题组卷顶部
|
408
|
//上传截图
|
c6f2a550
梁保满
创建备题组卷,修改备题
|
409
|
openStem(obj, index, indexs, type) {
|
6192eba8
梁保满
引用上传文件组件问题,备题组卷顶部
|
410
|
this.stem.index = index;
|
c6f2a550
梁保满
创建备题组卷,修改备题
|
411
412
|
this.stem.indexs = indexs;
this.stem.type = type;
|
cb6ceaa8
梁保满
添加备题,组卷参数调整
|
413
414
415
416
417
418
419
|
if (type == 1) {
this.stem.screenshot = obj.screenshot || "";
this.stem.answerScreenshot = "";
} else {
this.stem.answerScreenshot = obj.answerScreenshot || "";
this.stem.screenshot = "";
}
|
c6f2a550
梁保满
创建备题组卷,修改备题
|
420
|
|
6192eba8
梁保满
引用上传文件组件问题,备题组卷顶部
|
421
422
|
this.dialogStem = true;
},
|
c6f2a550
梁保满
创建备题组卷,修改备题
|
423
424
425
|
// 图片上传成功
upSuccess(res) {
|
6192eba8
梁保满
引用上传文件组件问题,备题组卷顶部
|
426
|
if (res && res.status == 0) {
|
cb6ceaa8
梁保满
添加备题,组卷参数调整
|
427
428
|
if (this.stem.type == 1) {
this.stem.screenshot = res.data.url;
|
c6f2a550
梁保满
创建备题组卷,修改备题
|
429
|
this.form.questionList[this.stem.index].subQuestions[this.stem.indexs].screenshot = this.stem.screenshot;
|
cb6ceaa8
梁保满
添加备题,组卷参数调整
|
430
431
|
} else {
this.stem.answerScreenshot = res.data.url;
|
c6f2a550
梁保满
创建备题组卷,修改备题
|
432
|
this.form.questionList[this.stem.index].subQuestions[this.stem.indexs].answerScreenshot = this.stem.answerScreenshot;
|
cb6ceaa8
梁保满
添加备题,组卷参数调整
|
433
|
}
|
6192eba8
梁保满
引用上传文件组件问题,备题组卷顶部
|
434
435
436
437
438
439
440
441
442
|
this.$message.success("上传成功");
} else {
this.$message.error(res.info);
}
},
upError(res) {
this.$message.error("上传失败");
},
|
cb6ceaa8
梁保满
添加备题,组卷参数调整
|
443
444
445
|
// 知识点
openKnowledge(obj, index) {
this.stem.index = index;
|
c6f2a550
梁保满
创建备题组卷,修改备题
|
446
|
this.stem.indexs = indexs;
|
cb6ceaa8
梁保满
添加备题,组卷参数调整
|
447
|
let knowledgeArr = (obj.knowledge && obj.knowledge.split(",")) || [];
|
c6f2a550
梁保满
创建备题组卷,修改备题
|
448
449
|
console.log(obj.knowledge)
console.log(knowledgeArr)
|
cb6ceaa8
梁保满
添加备题,组卷参数调整
|
450
451
452
453
454
455
456
457
|
this.stem.knowledge = knowledgeArr.map(item => {
return item.split("#")
})
this.dialogKnowledge = true;
},
// 知识点
setKnowledge() {
let knowledge = this.stem.knowledge.join(",");
|
c6f2a550
梁保满
创建备题组卷,修改备题
|
458
459
460
|
this.form.questionList[this.stem.index].subQuestions[
this.stem.indexs
].knowledge = knowledge.map(item => {
|
cb6ceaa8
梁保满
添加备题,组卷参数调整
|
461
462
463
464
465
|
item = item.join("#")
})
this.dialogKnowledge = false;
},
|
8af7657f
梁保满
修改添加备题,组卷
|
466
|
//end
|
13b58a42
梁保满
备题组卷部分前端页面基本完成
|
467
468
|
linkBack() {
this.$confirm(
|
8af7657f
梁保满
修改添加备题,组卷
|
469
470
|
(this.type == 2 ? "修改复制的" : "导入的") +
"课件未保存,确认退出吗?",
|
13b58a42
梁保满
备题组卷部分前端页面基本完成
|
471
472
473
474
475
476
477
478
479
480
481
482
|
"提示",
{
confirmButtonText: "取消",
cancelButtonText: "确定",
confirmButtonClass: "el-button--danger1",
cancelButtonClass: "el-button--primary",
showClose: false,
roundButton: true,
center: true,
type: "warning",
}
)
|
6192eba8
梁保满
引用上传文件组件问题,备题组卷顶部
|
483
|
.then(() => { })
|
13b58a42
梁保满
备题组卷部分前端页面基本完成
|
484
485
486
487
488
489
|
.catch(() => {
this.$router.push({
path: "/examinationPaper",
});
});
},
|
c6f2a550
梁保满
创建备题组卷,修改备题
|
490
|
//转换题型显示方式
|
13b58a42
梁保满
备题组卷部分前端页面基本完成
|
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
|
setSubPro(type) {
let tit;
switch (type) {
case 2:
tit = "单选题";
break;
case 3:
tit = "多选题";
break;
case 4:
tit = "判断题";
break;
case 5:
tit = "主观题";
break;
}
return tit;
},
|
c6f2a550
梁保满
创建备题组卷,修改备题
|
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
|
//计算题号
setNum(index, indexs, sub) {
let lengths = 0;//所在大题之前的所有小题数量
let subIndex = 0;//所在大题的位置
for (let i = 0; i < index; i++) {
let subArr = this.form.questionList[i].subQuestions.filter((item) => {
return !!item.questionType;
});
lengths += subArr.length;
}
for (let i = 0; i < indexs; i++) {
if (!!this.form.questionList[index].subQuestions[i].questionType) {
subIndex += 1;
}
}
return lengths + subIndex + 1;
},
|
8af7657f
梁保满
修改添加备题,组卷
|
526
527
|
//整理问题
formateQuestion() {
|
8af7657f
梁保满
修改添加备题,组卷
|
528
|
this.formatQuestionList()
|
c6f2a550
梁保满
创建备题组卷,修改备题
|
529
530
531
532
533
|
this.form.questionList?.map((item) => {
let types = [{}];
let addndex = 0;
item.subQuestions?.map((sub, index) => {
if (!!sub.questionType) {
|
8af7657f
梁保满
修改添加备题,组卷
|
534
|
if (
|
c6f2a550
梁保满
创建备题组卷,修改备题
|
535
536
|
sub.questionType == types[addndex].qusType &&
sub.questionType != 5
|
8af7657f
梁保满
修改添加备题,组卷
|
537
|
) {
|
c6f2a550
梁保满
创建备题组卷,修改备题
|
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
|
//同类型批量答案+1
types[addndex].subNum += 1;
if (
types[addndex].answerOptions.length < sub.answerOptions.length
) {
types[addndex].answerOptions = sub.answerOptions;
}
// types[addndex].answerList += this.setAnswer(
// sub.questionType,
// sub.correctAnswer
// );
types[addndex].answerList = "";
if (index == item.subQuestions.length - 1) {
//循环最后类型数量大于等于5,保存批量答案
if (types[addndex].subNum && types[addndex].subNum >= 5) {
types[addndex].endIndex = sub.questionIndex;
types[addndex].index = index;
}
}
} else {
if (types[addndex].subNum && types[addndex].subNum >= 5) {
//不同类型时如果原有类型数量大于等于5,保存批量答案
types[addndex].endIndex =
item.subQuestions[index - 1].questionIndex;
types[addndex].index = index - 1;
addndex += 1;
types[addndex] = {};
}
//不同类型初始化批量答案
types[addndex].qusType = sub.questionType;
types[addndex].subNum = 1;
|
8af7657f
梁保满
修改添加备题,组卷
|
570
|
types[addndex].answerOptions = sub.answerOptions;
|
c6f2a550
梁保满
创建备题组卷,修改备题
|
571
|
types[addndex].answerList = "";
|
8af7657f
梁保满
修改添加备题,组卷
|
572
|
}
|
c6f2a550
梁保满
创建备题组卷,修改备题
|
573
574
575
576
577
578
579
580
581
|
}
});
for (let i = 0; i < types.length; i++) {
if (types[i].subNum >= 5) {
item.subQuestions?.splice(
types[i].index + i + 1,
0,
deepClone(types[i])
);
|
8af7657f
梁保满
修改添加备题,组卷
|
582
|
}
|
533a17d8
梁保满
备题组卷添加批量设置答案
|
583
|
}
|
0e46bc25
梁保满
优化
|
584
|
});
|
3ba60a63
梁保满
发卡补卡,设备状态上传下载接口联调
|
585
|
},
|
6192eba8
梁保满
引用上传文件组件问题,备题组卷顶部
|
586
|
//初始化要修改的答案
|
c6f2a550
梁保满
创建备题组卷,修改备题
|
587
588
589
|
setFormAns(indexs, index) {
this.formAns = { ...this.form.questionList[index].subQuestions[indexs] };
this.formAns.listIndex = index;
|
11a4e518
梁保满
背题组卷修改答案设置,即使测随堂问...
|
590
|
let answerList = "";
|
c6f2a550
梁保满
创建备题组卷,修改备题
|
591
592
593
|
let startIndex = indexs - this.formAns.subNum; //批量设置大难开始位置
this.form.questionList[index].subQuestions.map((item, subIdx) => {
if (subIdx >= startIndex && subIdx < indexs) {
|
f5729396
梁保满
批量设置答案
|
594
|
answerList += this.setAnswer(item.questionType, item.correctAnswer);
|
c6f2a550
梁保满
创建备题组卷,修改备题
|
595
|
|
8af7657f
梁保满
修改添加备题,组卷
|
596
597
|
if (item.qusType == 3) {
answerList = answerList.slice(0, -1);
|
11a4e518
梁保满
背题组卷修改答案设置,即使测随堂问...
|
598
|
}
|
11a4e518
梁保满
背题组卷修改答案设置,即使测随堂问...
|
599
600
|
}
});
|
c6f2a550
梁保满
创建备题组卷,修改备题
|
601
602
|
this.formAns.answerList = answerList;
|
533a17d8
梁保满
备题组卷添加批量设置答案
|
603
604
|
this.diaSetAns = true;
},
|
def690b2
梁保满
批量设置答案
|
605
|
insertTxtAndSetcursor(element, answerList, str) {
|
f5729396
梁保满
批量设置答案
|
606
607
608
609
610
611
612
613
614
615
616
617
618
619
|
let startPos = element.selectionStart; // 获取光标开始的位置
if (startPos === undefined) {
// 如果没有光标位置 不操作
return answerList;
} else {
return {
text:
answerList.substring(0, startPos) +
str +
answerList.substring(startPos), // 将文本插入
startPos: startPos + str.length,
};
}
},
|
77da338a
梁保满
自测问题修改
|
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
|
//添加选项
addOptions(subQuestions) {
let length = subQuestions.answerOptions.split(",").length;
if (length > 9) return;
subQuestions.selectNum = length + 1;
subQuestions.answerOptions = this.rightOptions
.slice(0, subQuestions.selectNum)
.join(",");
},
//删除选项
removeOptions(subQuestions) {
let length = subQuestions.answerOptions.split(",").length;
if (length < 3) return;
subQuestions.selectNum = length - 1;
subQuestions.answerOptions = this.rightOptions
.slice(0, subQuestions.selectNum)
.join(",");
subQuestions.correctAnswer = subQuestions.correctAnswer.slice(
0,
subQuestions.selectNum
);
},
|
6192eba8
梁保满
引用上传文件组件问题,备题组卷顶部
|
642
|
//多选答案设置
|
def690b2
梁保满
批量设置答案
|
643
|
setMultiple(obj, answer, type) {
|
def690b2
梁保满
批量设置答案
|
644
645
646
647
648
649
650
651
652
|
let elements =
type == 1
? this.$refs["formAnsIpt2"].$el.children[0]
: this.$refs["formAnsIpt"].$el.children[0];
let resault = this.insertTxtAndSetcursor(
elements,
obj.answerList || "",
answer
);
|
f5729396
梁保满
批量设置答案
|
653
|
obj.answerList = resault.text;
|
533a17d8
梁保满
备题组卷添加批量设置答案
|
654
|
let str = obj.answerList;
|
3ba60a63
梁保满
发卡补卡,设备状态上传下载接口联调
|
655
656
657
658
659
660
|
let str2;
if (!!obj.answerOptions) {
str2 = checkAnswer(
str,
3,
obj.answerOptions.split(",").length,
|
b2d3d803
梁保满
批量设置答案优化
|
661
|
obj.subNum
|
3ba60a63
梁保满
发卡补卡,设备状态上传下载接口联调
|
662
663
|
);
} else {
|
b2d3d803
梁保满
批量设置答案优化
|
664
|
str2 = checkAnswer(str, 3, obj.selectNum, obj.number);
|
3ba60a63
梁保满
发卡补卡,设备状态上传下载接口联调
|
665
|
}
|
533a17d8
梁保满
备题组卷添加批量设置答案
|
666
|
obj.answerList = str2;
|
def690b2
梁保满
批量设置答案
|
667
668
|
elements.focus();
elements.selectionStart = resault.startPos;
|
533a17d8
梁保满
备题组卷添加批量设置答案
|
669
|
},
|
6192eba8
梁保满
引用上传文件组件问题,备题组卷顶部
|
670
|
//批量修改答案
|
533a17d8
梁保满
备题组卷添加批量设置答案
|
671
|
saveFormAns() {
|
533a17d8
梁保满
备题组卷添加批量设置答案
|
672
673
|
let EndIndex;
let subNum = this.formAns.subNum - 1;
|
c6f2a550
梁保满
创建备题组卷,修改备题
|
674
|
this.form.questionList[this.formAns.listIndex].subQuestions.some(
|
533a17d8
梁保满
备题组卷添加批量设置答案
|
675
|
(item, index) => {
|
c6f2a550
梁保满
创建备题组卷,修改备题
|
676
|
if (this.formAns.endIndex == item.questionIndex) {
|
533a17d8
梁保满
备题组卷添加批量设置答案
|
677
|
EndIndex = index;
|
533a17d8
梁保满
备题组卷添加批量设置答案
|
678
|
}
|
c6f2a550
梁保满
创建备题组卷,修改备题
|
679
|
return this.formAns.endIndex == item.questionIndex
|
533a17d8
梁保满
备题组卷添加批量设置答案
|
680
681
|
}
);
|
533a17d8
梁保满
备题组卷添加批量设置答案
|
682
683
684
|
for (let i = 0; i <= subNum; i++) {
let correctAnswer = "";
if (this.formAns.qusType == 2) {
|
f5729396
梁保满
批量设置答案
|
685
|
correctAnswer = this.formAns.answerList[subNum - i] || "";
|
533a17d8
梁保满
备题组卷添加批量设置答案
|
686
|
} else if (this.formAns.qusType == 3) {
|
f5729396
梁保满
批量设置答案
|
687
|
correctAnswer = this.formAns.answerList.split(",")[subNum - i] || "";
|
533a17d8
梁保满
备题组卷添加批量设置答案
|
688
|
} else if (this.formAns.qusType == 4) {
|
503b6063
梁保满
判断题答案选项
|
689
690
691
692
|
correctAnswer =
this.formAns.answerList[subNum - i] == "✓"
? 1
: this.formAns.answerList[subNum - i] == "✗"
|
6192eba8
梁保满
引用上传文件组件问题,备题组卷顶部
|
693
694
|
? 2
: "";
|
533a17d8
梁保满
备题组卷添加批量设置答案
|
695
|
}
|
c6f2a550
梁保满
创建备题组卷,修改备题
|
696
|
this.form.questionList[this.formAns.listIndex].subQuestions[
|
533a17d8
梁保满
备题组卷添加批量设置答案
|
697
698
699
700
701
|
EndIndex - i
].correctAnswer = correctAnswer;
}
this.diaSetAns = false;
},
|
8af7657f
梁保满
修改添加备题,组卷
|
702
|
keydownAnswer(event, type) {
|
6192eba8
梁保满
引用上传文件组件问题,备题组卷顶部
|
703
704
|
let answerA = "ABCDEFGHIJ";
let answer_a = "abcdefghij";
|
8af7657f
梁保满
修改添加备题,组卷
|
705
706
707
708
|
answerA = answerA.substring(0, this.formAns.subNum);
answer_a = answer_a.substring(0, this.formAns.subNum);
|
813d4d64
梁保满
批量设置答案添加输入
|
709
710
|
answerA += answer_a;
answerA = type == 2 ? answerA : answerA + ",";
|
533a17d8
梁保满
备题组卷添加批量设置答案
|
711
712
713
714
715
716
717
718
719
720
721
722
723
724
|
if (
event.key == "Meta" ||
event.key == "CapsLock" ||
event.key == "Shift" ||
event.key == "Enter" ||
event.key == "Alt" ||
event.key == "Backspace" ||
event.key == "Delete" ||
event.key == "ArrowUp" ||
event.key == "ArrowDown" ||
event.key == "ArrowLeft" ||
event.key == "v" ||
event.key == "V" ||
event.key == "ArrowRight"
|
813d4d64
梁保满
批量设置答案添加输入
|
725
|
)
|
533a17d8
梁保满
备题组卷添加批量设置答案
|
726
|
return;
|
813d4d64
梁保满
批量设置答案添加输入
|
727
|
if (!answerA.includes(event.key)) {
|
533a17d8
梁保满
备题组卷添加批量设置答案
|
728
729
730
|
event.returnValue = "";
}
},
|
8af7657f
梁保满
修改添加备题,组卷
|
731
732
733
734
735
736
737
738
739
740
741
|
setAllAnswer(event, type) {
let str = this.formAns.answerList;
let str2 = checkAnswer(
str,
type,
this.formAns.answerOptions.split(",").length,
this.formAns.subNum
);
this.formAns.answerList = str2;
|
813d4d64
梁保满
批量设置答案添加输入
|
742
|
},
|
533a17d8
梁保满
备题组卷添加批量设置答案
|
743
744
745
|
setAnswer(type, ans) {
let txt = "";
if (type == 2) {
|
c6f2a550
梁保满
创建备题组卷,修改备题
|
746
|
txt = ans || "";
|
533a17d8
梁保满
备题组卷添加批量设置答案
|
747
|
} else if (type == 3) {
|
c6f2a550
梁保满
创建备题组卷,修改备题
|
748
|
txt = (ans || "") + ",";
|
533a17d8
梁保满
备题组卷添加批量设置答案
|
749
|
} else if (type == 4) {
|
d32e461c
梁保满
备题组卷
|
750
|
txt = ans == 1 ? "✓" : ans == 2 ? "✗" : "";
|
533a17d8
梁保满
备题组卷添加批量设置答案
|
751
752
753
|
}
return txt;
},
|
8af7657f
梁保满
修改添加备题,组卷
|
754
|
toStep(step) {
|
533a17d8
梁保满
备题组卷添加批量设置答案
|
755
|
this.formatQuestionList();
|
8af7657f
梁保满
修改添加备题,组卷
|
756
|
this.step = step;
|
cb6ceaa8
梁保满
添加备题,组卷参数调整
|
757
|
if (step == 1) {
|
8af7657f
梁保满
修改添加备题,组卷
|
758
759
|
this.formateQuestion()
}
|
533a17d8
梁保满
备题组卷添加批量设置答案
|
760
|
},
|
13b58a42
梁保满
备题组卷部分前端页面基本完成
|
761
|
setStep1() {
|
6192eba8
梁保满
引用上传文件组件问题,备题组卷顶部
|
762
763
764
765
|
if (this.subjectList.length == 0) {
this.$message.warning("暂无绑定年级信息,请先联系管理员设置。");
return;
}
|
13b58a42
梁保满
备题组卷部分前端页面基本完成
|
766
767
768
|
this.$refs["forms"].validate((valid) => {
// 验证通过:保存
if (valid) {
|
8af7657f
梁保满
修改添加备题,组卷
|
769
|
this.formateQuestion()
|
13b58a42
梁保满
备题组卷部分前端页面基本完成
|
770
771
772
773
774
775
776
|
this.step = 1;
} else {
this.$message.error("数据有误,请检查!");
return false;
}
});
},
|
8af7657f
梁保满
修改添加备题,组卷
|
777
|
|
6192eba8
梁保满
引用上传文件组件问题,备题组卷顶部
|
778
|
//删除批量操作数据
|
533a17d8
梁保满
备题组卷添加批量设置答案
|
779
780
|
formatQuestionList() {
for (let i = 0; i < this.form.questionList.length; i++) {
|
c6f2a550
梁保满
创建备题组卷,修改备题
|
781
782
783
784
785
786
787
788
|
for (
let j = 0;
j < this.form.questionList[i].subQuestions?.length;
j++
) {
if (this.form.questionList[i].subQuestions[j]?.qusType) {
this.form.questionList[i].subQuestions?.splice(j, 1);
}
|
3ba60a63
梁保满
发卡补卡,设备状态上传下载接口联调
|
789
|
}
|
13b58a42
梁保满
备题组卷部分前端页面基本完成
|
790
|
}
|
13b58a42
梁保满
备题组卷部分前端页面基本完成
|
791
|
},
|
8af7657f
梁保满
修改添加备题,组卷
|
792
|
//删除题
|
c6f2a550
梁保满
创建备题组卷,修改备题
|
793
794
|
delTabData(subIndex, index) {
this.form.questionList[index].subQuestions.splice(subIndex, 1);
|
8af7657f
梁保满
修改添加备题,组卷
|
795
|
this.formateQuestion()
|
13b58a42
梁保满
备题组卷部分前端页面基本完成
|
796
|
},
|
23659274
梁保满
备题接口对接
|
797
|
//切换题型
|
13b58a42
梁保满
备题组卷部分前端页面基本完成
|
798
|
changeSubQuestions(val, subQuestions) {
|
13b58a42
梁保满
备题组卷部分前端页面基本完成
|
799
800
801
802
803
804
805
|
const that = this;
subQuestions.score = 1;
subQuestions.partScore = 0;
subQuestions.correctAnswer = "";
subQuestions.selectNum = 4;
switch (val) {
case 2:
|
8f573b82
阿宝
组卷接口联调
|
806
807
808
|
subQuestions.answerOptions = that.rightOptions
.slice(0, subQuestions.selectNum)
.join(",");
|
13b58a42
梁保满
备题组卷部分前端页面基本完成
|
809
810
|
break;
case 3:
|
8f573b82
阿宝
组卷接口联调
|
811
812
813
|
subQuestions.answerOptions = that.rightOptions
.slice(0, subQuestions.selectNum)
.join(",");
|
13b58a42
梁保满
备题组卷部分前端页面基本完成
|
814
815
|
break;
case 4:
|
503b6063
梁保满
判断题答案选项
|
816
817
818
|
subQuestions.selectNum = 0;
subQuestions.answerOptions = "1,2";
break;
|
13b58a42
梁保满
备题组卷部分前端页面基本完成
|
819
820
821
822
|
case 5:
subQuestions.selectNum = 0;
break;
}
|
c6f2a550
梁保满
创建备题组卷,修改备题
|
823
|
this.formateQuestion()
|
13b58a42
梁保满
备题组卷部分前端页面基本完成
|
824
|
},
|
6192eba8
梁保满
引用上传文件组件问题,备题组卷顶部
|
825
|
//设置多选答案
|
13b58a42
梁保满
备题组卷部分前端页面基本完成
|
826
|
changAnswer(sub, option) {
|
13b58a42
梁保满
备题组卷部分前端页面基本完成
|
827
828
829
830
831
832
833
834
835
|
let str = new RegExp(option, "g");
if (sub.correctAnswer?.includes(option)) {
sub.correctAnswer = sub.correctAnswer.replace(str, "");
} else {
let arrs = (sub.correctAnswer && sub.correctAnswer.split("")) || [];
arrs.push(option);
sub.correctAnswer = arrs.sort().join("");
}
},
|
8af7657f
梁保满
修改添加备题,组卷
|
836
837
838
839
|
|
13b58a42
梁保满
备题组卷部分前端页面基本完成
|
840
|
async save() {
|
8f573b82
阿宝
组卷接口联调
|
841
842
|
if (this.saveLoading) return;
this.saveLoading = true;
|
533a17d8
梁保满
备题组卷添加批量设置答案
|
843
|
this.formatQuestionList();
|
f5729396
梁保满
批量设置答案
|
844
|
let formDatas = deepClone(this.form);
|
6192eba8
梁保满
引用上传文件组件问题,备题组卷顶部
|
845
846
847
848
849
|
let addPaper =
this.role == "ROLE_PERSONAL"
? this.$request.pAddPaper
: this.$request.addPaper;
const { data, status, info } = await addPaper({
|
8af7657f
梁保满
修改添加备题,组卷
|
850
|
type: 1,
|
3ba60a63
梁保满
发卡补卡,设备状态上传下载接口联调
|
851
|
...formDatas,
|
13b58a42
梁保满
备题组卷部分前端页面基本完成
|
852
|
});
|
8f573b82
阿宝
组卷接口联调
|
853
|
this.saveLoading = false;
|
ee6e7628
梁保满
备题组卷借口数据对接调整
|
854
|
if (status == 0) {
|
13b58a42
梁保满
备题组卷部分前端页面基本完成
|
855
|
this.$router.push({
|
ee6e7628
梁保满
备题组卷借口数据对接调整
|
856
857
|
path: "/examinationPaper",
});
|
13b58a42
梁保满
备题组卷部分前端页面基本完成
|
858
|
} else {
|
6fffbd55
阿宝
组卷接口调整
|
859
|
this.$message.error(info);
|
13b58a42
梁保满
备题组卷部分前端页面基本完成
|
860
861
862
863
864
865
|
}
},
async changeGrade() {
//切换年级查询科目
this._QuerySubjectList(this.form.gradeName);
},
|
8af7657f
梁保满
修改添加备题,组卷
|
866
|
|
13b58a42
梁保满
备题组卷部分前端页面基本完成
|
867
868
|
async _GradeList() {
//查询年级列表
|
cb6ceaa8
梁保满
添加备题,组卷参数调整
|
869
870
871
872
873
874
875
876
877
|
// const { data, status, info } = await this.$request.fetchGradeList();
// 查找班级
let fetchClassList =
this.role == "ROLE_PERSONAL"
? this.$request.pClassList
: this.$request.fetchClassList;
const { data, status, info } = await fetchClassList();
|
ee6e7628
梁保满
备题组卷借口数据对接调整
|
878
|
if (status == 0) {
|
cb6ceaa8
梁保满
添加备题,组卷参数调整
|
879
880
881
882
883
884
885
886
|
this.gradeClassList = data.list?.map((item) => {
console.log(!this.gradeList.includes(item.gradeName))
if (!this.gradeList.includes(item.gradeName)) {
this.gradeList.push(item.gradeName)
}
return item
})
// this.gradeList = (data.gradeNames && [...data.gradeNames]) || [];
|
13b58a42
梁保满
备题组卷部分前端页面基本完成
|
887
888
889
|
if (this.type != 2) {
this.form.gradeName = this.gradeList[0];
}
|
13b58a42
梁保满
备题组卷部分前端页面基本完成
|
890
|
} else {
|
6fffbd55
阿宝
组卷接口调整
|
891
|
this.$message.error(info);
|
13b58a42
梁保满
备题组卷部分前端页面基本完成
|
892
893
|
}
},
|
5424ef82
梁保满
接口调整
|
894
|
async _QuerySubjectList(grade) {
|
13b58a42
梁保满
备题组卷部分前端页面基本完成
|
895
|
//查询科目列表
|
6192eba8
梁保满
引用上传文件组件问题,备题组卷顶部
|
896
897
898
899
900
901
902
903
904
905
906
907
|
if (!grade) {
return;
}
let query = {};
let fetchSubjectList =
this.role == "ROLE_PERSONAL"
? this.$request.pSubjectList
: this.$request.fetchSubjectList;
if (this.role != "ROLE_PERSONAL") {
query.gradeName = grade;
}
const { data, status, info } = await fetchSubjectList({ ...query });
|
ee6e7628
梁保满
备题组卷借口数据对接调整
|
908
|
if (status === 0) {
|
f26ecfa4
阿宝
测试bug
|
909
910
911
|
this.subjectList =
data.subjectNames?.map((item) => {
return {
|
6192eba8
梁保满
引用上传文件组件问题,备题组卷顶部
|
912
913
|
value: this.role == "ROLE_PERSONAL" ? item.subjectName : item,
label: this.role == "ROLE_PERSONAL" ? item.subjectName : item,
|
f26ecfa4
阿宝
测试bug
|
914
915
|
};
}) || [];
|
ee6e7628
梁保满
备题组卷借口数据对接调整
|
916
917
|
if (this.subjectList.length) {
this.form.subjectName = this.subjectList[0].value;
|
13b58a42
梁保满
备题组卷部分前端页面基本完成
|
918
|
}
|
13b58a42
梁保满
备题组卷部分前端页面基本完成
|
919
|
} else {
|
6fffbd55
阿宝
组卷接口调整
|
920
|
this.$message.error(info);
|
13b58a42
梁保满
备题组卷部分前端页面基本完成
|
921
922
|
}
},
|
ee6e7628
梁保满
备题组卷借口数据对接调整
|
923
|
async _QueryDetail() {
|
03bce046
梁保满
个人版调整
|
924
|
//查询答题卡详情
|
6192eba8
梁保满
引用上传文件组件问题,备题组卷顶部
|
925
926
927
928
929
|
let fetchPaperDetail =
this.role == "ROLE_PERSONAL"
? this.$request.pPaperDetail
: this.$request.fetchPaperDetail;
const { data, status, info } = await fetchPaperDetail({
|
ee6e7628
梁保满
备题组卷借口数据对接调整
|
930
931
932
|
paperId: this.$route.query.paperId,
});
if (status == 0) {
|
f26ecfa4
阿宝
测试bug
|
933
|
this.form.title = data.title + "_副本";
|
6192eba8
梁保满
引用上传文件组件问题,备题组卷顶部
|
934
935
|
if (this.role != "ROLE_PERSONAL") {
this.form.sharingType = data.sharingType;
|
6192eba8
梁保满
引用上传文件组件问题,备题组卷顶部
|
936
|
}
|
8af7657f
梁保满
修改添加备题,组卷
|
937
|
this.formatData(data)
|
ee6e7628
梁保满
备题组卷借口数据对接调整
|
938
|
} else {
|
6fffbd55
阿宝
组卷接口调整
|
939
|
this.$message.error(info);
|
ee6e7628
梁保满
备题组卷借口数据对接调整
|
940
941
|
}
},
|
8af7657f
梁保满
修改添加备题,组卷
|
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
|
formatData(data) {
if (this.subjectList.length) {
this.subjectList.map((item) => {
if (item.label == data.subjectName) {
this.form.subjectName = item.value;
}
});
} else {
this.form.subjectName = "";
}
if (this.role != "ROLE_PERSONAL") {
if (this.gradeList.length) {
this.gradeList.map((item) => {
if (item == data.gradeName) {
this.form.gradeName = data.gradeName;
}
});
} else {
this.form.gradeName = "";
}
}
this.form.questionList = data.questionList?.map((item) => {
|
c6f2a550
梁保满
创建备题组卷,修改备题
|
965
966
967
968
969
970
971
972
973
974
975
|
let subQuestions =
item.subQuestions?.map((items) => {
return {
...items,
selectNum: items.answerOptions?.split(",").length,
answerOptions: items.answerOptions || "A,B,C,D",
screenshot: items.screenshot || "",
correctAnswer: items.correctAnswer || "",
knowledge: items.knowledge || "",
};
}) || [];
|
8af7657f
梁保满
修改添加备题,组卷
|
976
|
return {
|
c6f2a550
梁保满
创建备题组卷,修改备题
|
977
978
979
980
|
questionTitle: item.questionTitle,
subQuestions: subQuestions,
show: false,
};
|
8af7657f
梁保满
修改添加备题,组卷
|
981
982
|
});
}
|
13b58a42
梁保满
备题组卷部分前端页面基本完成
|
983
984
985
|
},
};
</script>
|
8af7657f
梁保满
修改添加备题,组卷
|
986
987
|
<style>
.screenshot-box {
|
c6f2a550
梁保满
创建备题组卷,修改备题
|
988
|
width: 600px;
|
8af7657f
梁保满
修改添加备题,组卷
|
989
|
}
|
4c4f7640
梁保满
路由表,路由前端文件
|
990
|
|
8af7657f
梁保满
修改添加备题,组卷
|
991
992
993
994
|
.screenshot {
width: 100%;
box-shadow: none;
border: none;
|
c6f2a550
梁保满
创建备题组卷,修改备题
|
995
|
height: 400px;
|
8af7657f
梁保满
修改添加备题,组卷
|
996
997
998
999
1000
1001
1002
1003
1004
1005
|
}
.screenshot-img {
display: block;
width: auto;
max-width: 100%;
margin: 0 auto;
margin-bottom: 10px;
}
</style>
|
13b58a42
梁保满
备题组卷部分前端页面基本完成
|
1006
1007
1008
1009
|
<style lang="scss" scoped>
.red {
color: #f30;
}
|
6192eba8
梁保满
引用上传文件组件问题,备题组卷顶部
|
1010
|
|
533a17d8
梁保满
备题组卷添加批量设置答案
|
1011
1012
|
.qs-options {
flex: 1;
|
6192eba8
梁保满
引用上传文件组件问题,备题组卷顶部
|
1013
|
|
533a17d8
梁保满
备题组卷添加批量设置答案
|
1014
1015
1016
|
.ipt {
margin-bottom: 5px;
}
|
6192eba8
梁保满
引用上传文件组件问题,备题组卷顶部
|
1017
|
|
533a17d8
梁保满
备题组卷添加批量设置答案
|
1018
1019
1020
1021
|
.answer-box {
.answer-s {
cursor: pointer;
user-select: none;
|
6192eba8
梁保满
引用上传文件组件问题,备题组卷顶部
|
1022
1023
|
margin-bottom: 10px;
|
533a17d8
梁保满
备题组卷添加批量设置答案
|
1024
1025
1026
1027
1028
|
&:first-of-type {
margin-left: 0;
}
}
}
|
6192eba8
梁保满
引用上传文件组件问题,备题组卷顶部
|
1029
1030
1031
1032
1033
|
.answer-box2 {
margin-bottom: 10px;
}
|
533a17d8
梁保满
备题组卷添加批量设置答案
|
1034
1035
1036
|
.delButton {
text-indent: -9999999px;
border-color: #ff6868;
|
6192eba8
梁保满
引用上传文件组件问题,备题组卷顶部
|
1037
|
background: #ff6868 url("../../assets/images/arrow.png") no-repeat center;
|
533a17d8
梁保满
备题组卷添加批量设置答案
|
1038
1039
1040
|
background-size: 19px;
color: transparent;
}
|
6192eba8
梁保满
引用上传文件组件问题,备题组卷顶部
|
1041
|
|
3ba60a63
梁保满
发卡补卡,设备状态上传下载接口联调
|
1042
1043
|
.answer-s.ac {
border: none;
|
11a4e518
梁保满
背题组卷修改答案设置,即使测随堂问...
|
1044
|
}
|
6192eba8
梁保满
引用上传文件组件问题,备题组卷顶部
|
1045
|
|
533a17d8
梁保满
备题组卷添加批量设置答案
|
1046
1047
1048
|
.ac {
border-color: #ff6868;
background: #ff6868;
|
3ba60a63
梁保满
发卡补卡,设备状态上传下载接口联调
|
1049
|
color: #fff !important;
|
533a17d8
梁保满
备题组卷添加批量设置答案
|
1050
1051
1052
|
}
}
|
255e2506
梁保满
飞书bug及优化
|
1053
1054
|
.sel2 {
width: 480px;
|
e5ff81a1
阿宝
集团管理员接口
|
1055
|
}
|
6192eba8
梁保满
引用上传文件组件问题,备题组卷顶部
|
1056
|
|
533a17d8
梁保满
备题组卷添加批量设置答案
|
1057
1058
1059
1060
1061
1062
1063
|
.set-ans-btn {
width: 100%;
padding: 10px 0 10px 630px;
box-sizing: border-box;
border-right: 1px solid #e2e2e2;
border-bottom: 1px solid #e2e2e2;
}
|
6192eba8
梁保满
引用上传文件组件问题,备题组卷顶部
|
1064
|
|
255e2506
梁保满
飞书bug及优化
|
1065
1066
1067
|
.content-box {
width: 100%;
height: 100%;
|
ca39cc52
阿宝
飞书问题处理
|
1068
1069
|
overflow-y: auto;
}
|
6192eba8
梁保满
引用上传文件组件问题,备题组卷顶部
|
1070
|
|
13b58a42
梁保满
备题组卷部分前端页面基本完成
|
1071
1072
1073
|
.content {
width: 100%;
box-sizing: border-box;
|
6192eba8
梁保满
引用上传文件组件问题,备题组卷顶部
|
1074
1075
|
padding: 0 24px;
|
13b58a42
梁保满
备题组卷部分前端页面基本完成
|
1076
1077
1078
|
.ml-20 {
margin-left: 20px;
}
|
6192eba8
梁保满
引用上传文件组件问题,备题组卷顶部
|
1079
|
|
13b58a42
梁保满
备题组卷部分前端页面基本完成
|
1080
1081
1082
1083
1084
|
.btn-box {
text-align: right;
margin-left: 140px;
}
}
|
6192eba8
梁保满
引用上传文件组件问题,备题组卷顶部
|
1085
|
|
13b58a42
梁保满
备题组卷部分前端页面基本完成
|
1086
1087
1088
1089
1090
1091
1092
|
.dia-content {
.dia-tit {
font-size: 20px;
color: #333;
font-weight: 700;
text-align: center;
}
|
6192eba8
梁保满
引用上传文件组件问题,备题组卷顶部
|
1093
|
|
13b58a42
梁保满
备题组卷部分前端页面基本完成
|
1094
|
.add-type {
|
818e50d7
梁保满
标签删除,修改
|
1095
1096
|
width: 100%;
margin-bottom: 10px;
|
6192eba8
梁保满
引用上传文件组件问题,备题组卷顶部
|
1097
|
|
818e50d7
梁保满
标签删除,修改
|
1098
1099
1100
1101
|
.js-set {
margin: 2.5px 10px 0 0;
font-size: 14px;
}
|
13b58a42
梁保满
备题组卷部分前端页面基本完成
|
1102
|
}
|
6192eba8
梁保满
引用上传文件组件问题,备题组卷顶部
|
1103
|
|
13b58a42
梁保满
备题组卷部分前端页面基本完成
|
1104
1105
1106
1107
|
.add-btn {
margin-left: 20px;
}
}
|
6192eba8
梁保满
引用上传文件组件问题,备题组卷顶部
|
1108
|
|
13b58a42
梁保满
备题组卷部分前端页面基本完成
|
1109
1110
1111
1112
1113
|
.el-message-box {
:deep(.el-button--default) {
color: #fff;
}
}
|
6192eba8
梁保满
引用上传文件组件问题,备题组卷顶部
|
1114
|
|
13b58a42
梁保满
备题组卷部分前端页面基本完成
|
1115
1116
1117
1118
|
.add-box {
display: flex;
justify-content: center;
align-items: center;
|
6192eba8
梁保满
引用上传文件组件问题,备题组卷顶部
|
1119
|
|
13b58a42
梁保满
备题组卷部分前端页面基本完成
|
1120
1121
1122
1123
1124
1125
1126
1127
|
.add-question {
display: flex;
justify-content: center;
align-items: center;
font-size: 16px;
font-weight: bolder;
padding: 2px;
cursor: pointer;
|
6192eba8
梁保满
引用上传文件组件问题,备题组卷顶部
|
1128
|
|
13b58a42
梁保满
备题组卷部分前端页面基本完成
|
1129
1130
1131
|
.s1 {
margin-left: 6px;
}
|
6192eba8
梁保满
引用上传文件组件问题,备题组卷顶部
|
1132
|
|
13b58a42
梁保满
备题组卷部分前端页面基本完成
|
1133
1134
1135
1136
|
:deep(.el-icon-plus) {
font-size: 24px;
font-weight: 900;
}
|
6192eba8
梁保满
引用上传文件组件问题,备题组卷顶部
|
1137
|
|
13b58a42
梁保满
备题组卷部分前端页面基本完成
|
1138
1139
1140
1141
1142
|
:deep(.el-button--mini.is-circle) {
padding: 3px;
}
}
}
|
6192eba8
梁保满
引用上传文件组件问题,备题组卷顶部
|
1143
|
|
13b58a42
梁保满
备题组卷部分前端页面基本完成
|
1144
1145
|
.dialog-footer {
text-align: center;
|
6192eba8
梁保满
引用上传文件组件问题,备题组卷顶部
|
1146
|
|
13b58a42
梁保满
备题组卷部分前端页面基本完成
|
1147
1148
1149
1150
1151
1152
|
:deep(.el-button) {
border-radius: 20px;
padding: 8px 20px 7px;
margin: 0 12px;
}
}
|
6192eba8
梁保满
引用上传文件组件问题,备题组卷顶部
|
1153
|
|
3ba60a63
梁保满
发卡补卡,设备状态上传下载接口联调
|
1154
1155
|
.question-box {
margin-bottom: 20px;
|
8af7657f
梁保满
修改添加备题,组卷
|
1156
1157
1158
1159
1160
1161
1162
1163
1164
1165
|
.screenshot-box {
width: 100%;
border: 1px solid #e2e2e2;
margin-bottom: 20px;
.screenshot-img {
margin: 0;
}
}
|
3ba60a63
梁保满
发卡补卡,设备状态上传下载接口联调
|
1166
|
}
|
6192eba8
梁保满
引用上传文件组件问题,备题组卷顶部
|
1167
|
|
13b58a42
梁保满
备题组卷部分前端页面基本完成
|
1168
1169
|
.question-title {
line-height: 40px;
|
3ba60a63
梁保满
发卡补卡,设备状态上传下载接口联调
|
1170
1171
1172
|
display: flex;
align-items: center;
margin-bottom: 12px;
|
6192eba8
梁保满
引用上传文件组件问题,备题组卷顶部
|
1173
|
|
503b6063
梁保满
判断题答案选项
|
1174
|
.m20 {
|
6192eba8
梁保满
引用上传文件组件问题,备题组卷顶部
|
1175
|
margin: 0 20px;
|
d32e461c
梁保满
备题组卷
|
1176
|
}
|
6192eba8
梁保满
引用上传文件组件问题,备题组卷顶部
|
1177
|
|
13b58a42
梁保满
备题组卷部分前端页面基本完成
|
1178
1179
1180
|
.ipt {
width: 300px;
margin: 0 16px 0 10px;
|
6192eba8
梁保满
引用上传文件组件问题,备题组卷顶部
|
1181
|
|
13b58a42
梁保满
备题组卷部分前端页面基本完成
|
1182
1183
1184
1185
1186
1187
|
:deep(.el-input__inner) {
border-radius: 20px;
border-color: #667ffd;
background: rgba($color: #667ffd, $alpha: 0.05);
}
}
|
6192eba8
梁保满
引用上传文件组件问题,备题组卷顶部
|
1188
|
|
13b58a42
梁保满
备题组卷部分前端页面基本完成
|
1189
1190
1191
|
.delete {
margin-right: 8px;
}
|
6192eba8
梁保满
引用上传文件组件问题,备题组卷顶部
|
1192
|
|
13b58a42
梁保满
备题组卷部分前端页面基本完成
|
1193
1194
1195
1196
1197
|
.title-txt {
margin-right: 20px;
font-size: 16px;
font-weight: 700;
}
|
6192eba8
梁保满
引用上传文件组件问题,备题组卷顶部
|
1198
|
|
3ba60a63
梁保满
发卡补卡,设备状态上传下载接口联调
|
1199
1200
1201
1202
1203
1204
|
.el-icon-caret-right {
font-size: 24px;
color: #888;
transition: all 0.4s;
margin-right: 12px;
cursor: pointer;
|
6192eba8
梁保满
引用上传文件组件问题,备题组卷顶部
|
1205
|
|
3ba60a63
梁保满
发卡补卡,设备状态上传下载接口联调
|
1206
1207
1208
1209
1210
|
&.active {
transform: rotate(90deg);
}
}
}
|
6192eba8
梁保满
引用上传文件组件问题,备题组卷顶部
|
1211
|
|
3ba60a63
梁保满
发卡补卡,设备状态上传下载接口联调
|
1212
1213
|
.questions-ul {
border-left: 1px solid #e2e2e2;
|
c6f2a550
梁保满
创建备题组卷,修改备题
|
1214
1215
1216
1217
|
&:first-child {
border-top: 1px solid #e2e2e2;
}
|
13b58a42
梁保满
备题组卷部分前端页面基本完成
|
1218
|
}
|
6192eba8
梁保满
引用上传文件组件问题,备题组卷顶部
|
1219
|
|
13b58a42
梁保满
备题组卷部分前端页面基本完成
|
1220
1221
1222
|
.el-input-number {
width: 140px;
}
|
6192eba8
梁保满
引用上传文件组件问题,备题组卷顶部
|
1223
|
|
f26ecfa4
阿宝
测试bug
|
1224
1225
1226
1227
1228
1229
|
.answer-title {
text-align: center;
font-size: 20px;
color: #333;
font-weight: 700;
padding-bottom: 20px;
|
6192eba8
梁保满
引用上传文件组件问题,备题组卷顶部
|
1230
|
|
f26ecfa4
阿宝
测试bug
|
1231
1232
1233
1234
1235
1236
|
.totals {
font-size: 16px;
color: #888;
font-weight: normal;
}
}
|
6192eba8
梁保满
引用上传文件组件问题,备题组卷顶部
|
1237
|
|
13b58a42
梁保满
备题组卷部分前端页面基本完成
|
1238
1239
1240
1241
1242
1243
1244
1245
1246
1247
1248
1249
|
.answer-box {
.answer-s {
display: inline-block;
width: 30px;
height: 30px;
border: 1px solid #e2e2e2;
border-radius: 3px;
margin: 0 6px;
font-size: 16px;
color: #333;
text-align: center;
line-height: 30px;
|
6192eba8
梁保满
引用上传文件组件问题,备题组卷顶部
|
1250
|
|
13b58a42
梁保满
备题组卷部分前端页面基本完成
|
1251
1252
1253
1254
1255
1256
1257
|
&.active {
background: #5e78fa;
border-color: #5e78fa;
color: #fff;
}
}
}
|
6192eba8
梁保满
引用上传文件组件问题,备题组卷顶部
|
1258
|
|
255e2506
梁保满
飞书bug及优化
|
1259
1260
1261
1262
1263
1264
1265
1266
1267
1268
1269
1270
1271
|
.qs-options {
.answer-s {
display: inline-block;
width: 30px;
height: 30px;
border: 1px solid #e2e2e2;
border-radius: 3px;
margin: 0 6px;
font-size: 16px;
color: #333;
text-align: center;
line-height: 30px;
cursor: pointer;
|
6192eba8
梁保满
引用上传文件组件问题,备题组卷顶部
|
1272
|
|
255e2506
梁保满
飞书bug及优化
|
1273
1274
1275
1276
1277
1278
1279
|
&.active {
background: #5e78fa;
border-color: #5e78fa;
color: #fff;
}
}
}
|
6192eba8
梁保满
引用上传文件组件问题,备题组卷顶部
|
1280
|
|
13b58a42
梁保满
备题组卷部分前端页面基本完成
|
1281
1282
1283
1284
|
.sub-questions {
width: 100%;
display: flex;
border-bottom: 1px solid #e2e2e2;
|
6192eba8
梁保满
引用上传文件组件问题,备题组卷顶部
|
1285
1286
|
&>div {
|
13b58a42
梁保满
备题组卷部分前端页面基本完成
|
1287
1288
1289
1290
1291
1292
1293
1294
|
min-height: 40px;
padding: 5px;
flex-shrink: 0;
border-right: 1px solid #e2e2e2;
display: flex;
justify-content: center;
align-items: center;
}
|
6192eba8
梁保满
引用上传文件组件问题,备题组卷顶部
|
1295
|
|
13b58a42
梁保满
备题组卷部分前端页面基本完成
|
1296
|
.qs-num {
|
6192eba8
梁保满
引用上传文件组件问题,备题组卷顶部
|
1297
|
width: 70px;
|
13b58a42
梁保满
备题组卷部分前端页面基本完成
|
1298
|
}
|
6192eba8
梁保满
引用上传文件组件问题,备题组卷顶部
|
1299
|
|
13b58a42
梁保满
备题组卷部分前端页面基本完成
|
1300
1301
1302
|
.qs-type {
width: 160px;
}
|
6192eba8
梁保满
引用上传文件组件问题,备题组卷顶部
|
1303
|
|
13b58a42
梁保满
备题组卷部分前端页面基本完成
|
1304
1305
1306
1307
|
.qs-score,
.qs-partScore {
width: 160px;
}
|
6192eba8
梁保满
引用上传文件组件问题,备题组卷顶部
|
1308
|
|
13b58a42
梁保满
备题组卷部分前端页面基本完成
|
1309
1310
1311
|
.qs-options {
flex: 1;
}
|
cb6ceaa8
梁保满
添加备题,组卷参数调整
|
1312
1313
|
.qs-upload {
|
8af7657f
梁保满
修改添加备题,组卷
|
1314
1315
|
width: 60px;
}
|
cb6ceaa8
梁保满
添加备题,组卷参数调整
|
1316
|
|
13b58a42
梁保满
备题组卷部分前端页面基本完成
|
1317
|
.qs-set {
|
6192eba8
梁保满
引用上传文件组件问题,备题组卷顶部
|
1318
|
width: 60px;
|
13b58a42
梁保满
备题组卷部分前端页面基本完成
|
1319
|
}
|
6192eba8
梁保满
引用上传文件组件问题,备题组卷顶部
|
1320
|
|
13b58a42
梁保满
备题组卷部分前端页面基本完成
|
1321
1322
1323
1324
|
.qs-options2 {
text-align: left;
justify-content: flex-start;
padding-left: 20px;
|
6192eba8
梁保满
引用上传文件组件问题,备题组卷顶部
|
1325
|
|
13b58a42
梁保满
备题组卷部分前端页面基本完成
|
1326
1327
1328
1329
|
.answer-s {
cursor: pointer;
}
}
|
6192eba8
梁保满
引用上传文件组件问题,备题组卷顶部
|
1330
|
|
13b58a42
梁保满
备题组卷部分前端页面基本完成
|
1331
1332
1333
1334
1335
1336
1337
1338
1339
|
:deep(.el-select) {
.el-input__inner {
border-radius: 20px;
border-color: #667ffd;
width: 150px;
height: 32px;
line-height: 32px;
background: rgba($color: #667ffd, $alpha: 0.05);
}
|
6192eba8
梁保满
引用上传文件组件问题,备题组卷顶部
|
1340
|
|
13b58a42
梁保满
备题组卷部分前端页面基本完成
|
1341
1342
1343
1344
1345
|
.el-input__icon {
line-height: 32px;
}
}
}
|
6192eba8
梁保满
引用上传文件组件问题,备题组卷顶部
|
1346
1347
1348
1349
1350
1351
1352
1353
1354
|
.upload-box {
.upload-demo {
text-align: center;
}
.stem-pic {
display: block;
margin: 0 auto 20px;
|
77da338a
梁保满
自测问题修改
|
1355
1356
|
max-width: 100%;
max-height: 200px;
|
6192eba8
梁保满
引用上传文件组件问题,备题组卷顶部
|
1357
1358
1359
|
object-fit: cover;
}
}
|
4c4f7640
梁保满
路由表,路由前端文件
|
1360
|
</style>
|