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