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