@zykjcommon/questions 0.0.16 → 0.0.18
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.env.production +1 -1
- package/dist/static/img/classify-bg-seaworld.5f078467.png +0 -0
- package/dist/static/img/classify-boxitem-bg.c3330518.png +0 -0
- package/dist/static/img/classify-green-item.6accbf0f.png +0 -0
- package/dist/static/img/classify-list-bg.6242e4ea.png +0 -0
- package/dist/zykjcommon-questions.common.js +1493 -41
- package/dist/zykjcommon-questions.css +1 -1
- package/dist/zykjcommon-questions.umd.js +1493 -41
- package/dist/zykjcommon-questions.umd.min.js +7 -4
- package/package.json +3 -2
- package/src/assets/img/classify-arrow-left.png +0 -0
- package/src/assets/img/classify-arrow-right.png +0 -0
- package/src/assets/img/classify-bg-seaworld.png +0 -0
- package/src/assets/img/classify-boxitem-bg.png +0 -0
- package/src/assets/img/classify-green-item.png +0 -0
- package/src/assets/img/classify-list-bg.png +0 -0
- package/src/assets/js/fun.js +44 -1
- package/src/assets/js/rem.js +14 -1
- package/src/assets/scss/questions/index.scss +182 -7
- package/src/common/const.ts +2 -1
- package/src/components/questions/Question_Classify.vue +294 -0
- package/src/components/questions/Question_Programming.vue +19 -3
- package/src/components/questions/buildEntry.js +4 -1
- package/src/components/questions/const.js +2 -1
- package/src/components/questions/developmentEntry.js +4 -1
- package/src/components/questions/entry.js +2 -1
- package/src/main.ts +8 -7
- package/src/router/exam.ts +11 -0
- package/src/views/exam/Exam.vue +120 -0
- package/src/views/exam/FullScreen.vue +292 -0
|
@@ -80,6 +80,10 @@ import {mapActions, mapState} from "vuex";
|
|
|
80
80
|
export default {
|
|
81
81
|
name: 'Question_Programming',
|
|
82
82
|
props: {
|
|
83
|
+
isEnterCodeByInit:{
|
|
84
|
+
type: Boolean,
|
|
85
|
+
default: false
|
|
86
|
+
},
|
|
83
87
|
urlQuery:{
|
|
84
88
|
type: String,
|
|
85
89
|
default: ''
|
|
@@ -116,6 +120,16 @@ export default {
|
|
|
116
120
|
immediate:true
|
|
117
121
|
})
|
|
118
122
|
},
|
|
123
|
+
created() {
|
|
124
|
+
//设置了后无需点击按钮直接进入编辑器
|
|
125
|
+
if(this.isEnterCodeByInit){
|
|
126
|
+
if(this.oss_temp_url){
|
|
127
|
+
this.startCode('2')
|
|
128
|
+
}else{
|
|
129
|
+
this.startCode('1')
|
|
130
|
+
}
|
|
131
|
+
}
|
|
132
|
+
},
|
|
119
133
|
data() {
|
|
120
134
|
return {
|
|
121
135
|
iframe:null,
|
|
@@ -253,8 +267,10 @@ export default {
|
|
|
253
267
|
//关闭iframe并且保存(考试中)
|
|
254
268
|
closeAndSave(res){
|
|
255
269
|
this.saveCodeOnly(res)
|
|
256
|
-
this.
|
|
257
|
-
|
|
270
|
+
if(!this.isEnterCodeByInit){
|
|
271
|
+
this.closeIframe()
|
|
272
|
+
}
|
|
273
|
+
this.$emit('closeAndSave',res)
|
|
258
274
|
},
|
|
259
275
|
saveCodeOnly(res){
|
|
260
276
|
let self = this
|
|
@@ -267,7 +283,7 @@ export default {
|
|
|
267
283
|
questionIndex:self.questionInfo.questionIndex - 1,
|
|
268
284
|
answered
|
|
269
285
|
})
|
|
270
|
-
this.$emit('saveCodeOnly')
|
|
286
|
+
this.$emit('saveCodeOnly',res)
|
|
271
287
|
},
|
|
272
288
|
uploadCodingFileSuccess(res){
|
|
273
289
|
this.code_file_oss_temp_path = res.codeFileOssTempPath
|
|
@@ -9,6 +9,7 @@ import Question_Reading from './Question_Reading.vue'
|
|
|
9
9
|
import Question_BriefAnswer from './Question_BriefAnswer.vue'
|
|
10
10
|
import Question_FillBlank from './Question_FillBlank.vue'
|
|
11
11
|
import Question_Programming from './Question_Programming.vue'
|
|
12
|
+
import Question_Classify from './Question_Classify.vue'
|
|
12
13
|
import {questionMapper} from "./const";
|
|
13
14
|
import fun from "../../assets/js/fun";
|
|
14
15
|
import storeOptions from './store'
|
|
@@ -126,13 +127,15 @@ export default function(store){
|
|
|
126
127
|
Vue.component('Question_BriefAnswer',Question_BriefAnswer)
|
|
127
128
|
Vue.component('Question_FillBlank',Question_FillBlank)
|
|
128
129
|
Vue.component('Question_Programming',Question_Programming)
|
|
130
|
+
Vue.component('Question_Classify',Question_Classify)
|
|
129
131
|
},
|
|
130
132
|
Question_SingleChoice,
|
|
131
133
|
Question_MultipleChoice,
|
|
132
134
|
Question_Reading,
|
|
133
135
|
Question_BriefAnswer,
|
|
134
136
|
Question_FillBlank,
|
|
135
|
-
Question_Programming
|
|
137
|
+
Question_Programming,
|
|
138
|
+
Question_Classify
|
|
136
139
|
}
|
|
137
140
|
}
|
|
138
141
|
|
|
@@ -8,6 +8,7 @@ import Question_Reading from './Question_Reading.vue'
|
|
|
8
8
|
import Question_BriefAnswer from './Question_BriefAnswer.vue'
|
|
9
9
|
import Question_FillBlank from './Question_FillBlank.vue'
|
|
10
10
|
import Question_Programming from './Question_Programming.vue'
|
|
11
|
+
import Question_Classify from './Question_Classify.vue'
|
|
11
12
|
import {questionMapper} from "./const";
|
|
12
13
|
import fun from "../../assets/js/fun";
|
|
13
14
|
import storeOptions from './store'
|
|
@@ -125,12 +126,14 @@ export default function(store){
|
|
|
125
126
|
Vue.component('Question_BriefAnswer',Question_BriefAnswer)
|
|
126
127
|
Vue.component('Question_FillBlank',Question_FillBlank)
|
|
127
128
|
Vue.component('Question_Programming',Question_Programming)
|
|
129
|
+
Vue.component('Question_Classify',Question_Classify)
|
|
128
130
|
},
|
|
129
131
|
Question_SingleChoice,
|
|
130
132
|
Question_MultipleChoice,
|
|
131
133
|
Question_Reading,
|
|
132
134
|
Question_BriefAnswer,
|
|
133
135
|
Question_FillBlank,
|
|
134
|
-
Question_Programming
|
|
136
|
+
Question_Programming,
|
|
137
|
+
Question_Classify
|
|
135
138
|
}
|
|
136
139
|
}
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Created by Allen Liu on 2023/7/19.
|
|
3
3
|
*/
|
|
4
|
-
|
|
4
|
+
|
|
5
|
+
import ZYKJQuestionsPlugin from "../../../dist/zykjcommon-questions.umd.min"
|
|
5
6
|
// import ZYKJQuestionsPluginDev from "./developmentEntry.js"
|
|
6
7
|
import fun from "../../assets/js/fun";
|
|
7
8
|
let version = fun.getVueVersion()
|
package/src/main.ts
CHANGED
|
@@ -1,9 +1,11 @@
|
|
|
1
|
+
import ZYKJQuestionsPlugin2 from "@zykjcommon/questions";
|
|
2
|
+
|
|
1
3
|
window.vm = {}
|
|
2
4
|
import {createApp,h} from 'vue'
|
|
3
5
|
import App from './App.vue'
|
|
4
6
|
import router from './router'
|
|
5
7
|
import store from './store'
|
|
6
|
-
import setRem from '@src/assets/js/rem'
|
|
8
|
+
import {setRem} from '@src/assets/js/rem'
|
|
7
9
|
import Loading from '@src/components/common/Loading.vue'
|
|
8
10
|
import ContentDialog from '@src/components/common/ContentDialog.vue'
|
|
9
11
|
import fun from "@src/assets/js/fun.js";
|
|
@@ -172,15 +174,14 @@ vueInstance.use(validationPlugin)
|
|
|
172
174
|
|
|
173
175
|
|
|
174
176
|
|
|
175
|
-
|
|
177
|
+
import ZYKJQuestionsPlugin from "@src/components/questions/developmentEntry.js"
|
|
176
178
|
// vueInstance.use((ZYKJQuestionsPlugin as any)(store))
|
|
177
|
-
// import '../dist/zykjcommon-questions.css';
|
|
178
179
|
|
|
179
|
-
import ZYKJQuestionsPlugin from "
|
|
180
|
-
// import ZYKJQuestionsPlugin from "@
|
|
180
|
+
// import ZYKJQuestionsPlugin from "../dist/zykjcommon-questions.umd.min"
|
|
181
|
+
// import ZYKJQuestionsPlugin from "@zykjcommon/questions"
|
|
181
182
|
vueInstance.use((ZYKJQuestionsPlugin as any)(store))
|
|
182
|
-
import '@zykjcommon/questions/
|
|
183
|
-
|
|
183
|
+
// import '@zykjcommon/questions/src/assets/scss/questions/index.scss';
|
|
184
|
+
import '@src/assets/scss/questions/index.scss';
|
|
184
185
|
|
|
185
186
|
// console.log(ZYKJQuestionsPlugin,111);
|
|
186
187
|
|
package/src/router/exam.ts
CHANGED
|
@@ -9,6 +9,8 @@ const ReviewPaper = () =>
|
|
|
9
9
|
import(/* webpackChunkName: "exam" */ "@src/views/exam/ReviewPaper.vue");
|
|
10
10
|
const ReviewQuestion = () =>
|
|
11
11
|
import(/* webpackChunkName: "exam" */ "@src/views/exam/ReviewQuestion.vue");
|
|
12
|
+
const FullScreen = () =>
|
|
13
|
+
import(/* webpackChunkName: "exam" */ "@src/views/exam/FullScreen.vue");
|
|
12
14
|
|
|
13
15
|
export default [
|
|
14
16
|
{
|
|
@@ -46,5 +48,14 @@ export default [
|
|
|
46
48
|
title: "预览试题",
|
|
47
49
|
keepAlive: false
|
|
48
50
|
}
|
|
51
|
+
},
|
|
52
|
+
{
|
|
53
|
+
path: "fullScreen",
|
|
54
|
+
name: "fullScreen",
|
|
55
|
+
component: FullScreen,
|
|
56
|
+
meta: {
|
|
57
|
+
title: "全屏类型题目",
|
|
58
|
+
keepAlive: false
|
|
59
|
+
}
|
|
49
60
|
}
|
|
50
61
|
]
|
package/src/views/exam/Exam.vue
CHANGED
|
@@ -138,6 +138,126 @@ export default defineComponent({
|
|
|
138
138
|
"have_not_auto_check_question": false,
|
|
139
139
|
"size": 23,
|
|
140
140
|
"question_list": [
|
|
141
|
+
{
|
|
142
|
+
"question_type_str": "分类题",
|
|
143
|
+
"data_mode": 1,
|
|
144
|
+
"correct_judge": "",
|
|
145
|
+
"is_auto_check": "",
|
|
146
|
+
"content": "[{\"<>\":\"p\",\"text\":\"He arrived here ________. The teacher felt ________.\"}]",
|
|
147
|
+
"correct_subjective_answer": "",
|
|
148
|
+
"auto_check": true,
|
|
149
|
+
"options_data": [
|
|
150
|
+
{
|
|
151
|
+
"file_url": "",
|
|
152
|
+
"content_type": 1,
|
|
153
|
+
"file_type": 0,
|
|
154
|
+
"name": "",
|
|
155
|
+
"id": 0,
|
|
156
|
+
"thumbnail_url": "",
|
|
157
|
+
"option_content": "late, angry"
|
|
158
|
+
},
|
|
159
|
+
{
|
|
160
|
+
"file_url": "",
|
|
161
|
+
"content_type": 1,
|
|
162
|
+
"file_type": 0,
|
|
163
|
+
"name": "",
|
|
164
|
+
"id": 0,
|
|
165
|
+
"thumbnail_url": "",
|
|
166
|
+
"option_content": "lately, angrily"
|
|
167
|
+
},
|
|
168
|
+
{
|
|
169
|
+
"file_url": "",
|
|
170
|
+
"content_type": 1,
|
|
171
|
+
"file_type": 0,
|
|
172
|
+
"name": "",
|
|
173
|
+
"id": 0,
|
|
174
|
+
"thumbnail_url": "",
|
|
175
|
+
"option_content": " late, angrily"
|
|
176
|
+
},
|
|
177
|
+
{
|
|
178
|
+
"file_url": "",
|
|
179
|
+
"content_type": 1,
|
|
180
|
+
"file_type": 0,
|
|
181
|
+
"name": "",
|
|
182
|
+
"id": 0,
|
|
183
|
+
"thumbnail_url": "",
|
|
184
|
+
"option_content": "lately, angry"
|
|
185
|
+
}
|
|
186
|
+
],
|
|
187
|
+
"score": "1.00",
|
|
188
|
+
"sub_questions": [],
|
|
189
|
+
"style_type": "SELECT_R-T",
|
|
190
|
+
"template_file_full_url": "",
|
|
191
|
+
"question_name": "He arrived here ________. The teacher felt ________.",
|
|
192
|
+
"correct_rate": "",
|
|
193
|
+
"knowledge_name": "词汇",
|
|
194
|
+
"page_location_list": [],
|
|
195
|
+
"code_type": 0,
|
|
196
|
+
"difficulty_level": "1",
|
|
197
|
+
"question_index": "",
|
|
198
|
+
"correct_single_index": 0,
|
|
199
|
+
"question_type": "17",
|
|
200
|
+
"media_resources": [],
|
|
201
|
+
"analysis": "",
|
|
202
|
+
"question_id": "13091",
|
|
203
|
+
"difficulty_level_str": "简单",
|
|
204
|
+
"update_date": "",
|
|
205
|
+
"exam_options_data": [
|
|
206
|
+
{
|
|
207
|
+
"data": {
|
|
208
|
+
"file_url": "",
|
|
209
|
+
"content_type": 1,
|
|
210
|
+
"file_type": 0,
|
|
211
|
+
"name": "",
|
|
212
|
+
"id": 0,
|
|
213
|
+
"thumbnail_url": "",
|
|
214
|
+
"option_content": "late, angry"
|
|
215
|
+
},
|
|
216
|
+
"index": 1
|
|
217
|
+
},
|
|
218
|
+
{
|
|
219
|
+
"data": {
|
|
220
|
+
"file_url": "",
|
|
221
|
+
"content_type": 1,
|
|
222
|
+
"file_type": 0,
|
|
223
|
+
"name": "",
|
|
224
|
+
"id": 0,
|
|
225
|
+
"thumbnail_url": "",
|
|
226
|
+
"option_content": "lately, angrily"
|
|
227
|
+
},
|
|
228
|
+
"index": 2
|
|
229
|
+
},
|
|
230
|
+
{
|
|
231
|
+
"data": {
|
|
232
|
+
"file_url": "",
|
|
233
|
+
"content_type": 1,
|
|
234
|
+
"file_type": 0,
|
|
235
|
+
"name": "",
|
|
236
|
+
"id": 0,
|
|
237
|
+
"thumbnail_url": "",
|
|
238
|
+
"option_content": " late, angrily"
|
|
239
|
+
},
|
|
240
|
+
"index": 3
|
|
241
|
+
},
|
|
242
|
+
{
|
|
243
|
+
"data": {
|
|
244
|
+
"file_url": "",
|
|
245
|
+
"content_type": 1,
|
|
246
|
+
"file_type": 0,
|
|
247
|
+
"name": "",
|
|
248
|
+
"id": 0,
|
|
249
|
+
"thumbnail_url": "",
|
|
250
|
+
"option_content": "lately, angry"
|
|
251
|
+
},
|
|
252
|
+
"index": 4
|
|
253
|
+
}
|
|
254
|
+
],
|
|
255
|
+
"exam_link_answer_data": [],
|
|
256
|
+
"reference_file_full_url": "",
|
|
257
|
+
"correct_multiple_index_set": [],
|
|
258
|
+
"hint": "Multiple choice.1",
|
|
259
|
+
"knowledge_id": "2"
|
|
260
|
+
},
|
|
141
261
|
{
|
|
142
262
|
"question_type_str": "编程题",
|
|
143
263
|
"data_mode": 1,
|
|
@@ -0,0 +1,292 @@
|
|
|
1
|
+
<template>
|
|
2
|
+
<div class="exam">
|
|
3
|
+
<QuestionHeader></QuestionHeader>
|
|
4
|
+
<div class="content-outter" style="overflow: inherit">
|
|
5
|
+
<component :is="responsiveObj.curQuestionInfo.questionComponent"
|
|
6
|
+
:bus="eventBus"
|
|
7
|
+
:questionInfo="responsiveObj.curQuestionInfo"
|
|
8
|
+
:ref="'question'"/>
|
|
9
|
+
</div>
|
|
10
|
+
<div class="footer"></div>
|
|
11
|
+
</div>
|
|
12
|
+
</template>
|
|
13
|
+
|
|
14
|
+
<script lang="ts">
|
|
15
|
+
import {defineComponent, ref, toRefs, reactive, watch, computed, onMounted,getCurrentInstance} from 'vue'
|
|
16
|
+
// import QuestionReader from '@src/components/questions/QuestionReader.js'
|
|
17
|
+
// import zykj_question_plugin from '@src/components/questions/entry.js'
|
|
18
|
+
import QuestionCard from '@src/components/exam/QuestionCard.vue'
|
|
19
|
+
import QuestionHeader from '@src/components/exam/QuestionHeader.vue'
|
|
20
|
+
import TimeCounter from '@src/components/exam/TimeCounter.vue'
|
|
21
|
+
import { useState as rootUseState } from 'vuex-composition-helpers'
|
|
22
|
+
import {createNamespacedHelpers} from 'vuex-composition-helpers';
|
|
23
|
+
import {useRouter,useRoute} from 'vue-router'
|
|
24
|
+
import fun from "@/assets/js/fun";
|
|
25
|
+
import bus from "@/assets/js/bus";
|
|
26
|
+
import {questionMapper} from '@src/common/const.ts'
|
|
27
|
+
// import zykj_question_plugin from "../../../dist/zykjcommon-questions.umd.min"
|
|
28
|
+
// console.log(zykj_question_plugin,99);
|
|
29
|
+
|
|
30
|
+
interface dataInterface{
|
|
31
|
+
showBlur:boolean,
|
|
32
|
+
examInfo:any,
|
|
33
|
+
warnVisible:boolean,
|
|
34
|
+
autoSubmitTimer:any,
|
|
35
|
+
routeName:string,
|
|
36
|
+
loading:boolean,
|
|
37
|
+
warnText:string,
|
|
38
|
+
eventBus:any,
|
|
39
|
+
token:string
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
interface responsiveData{
|
|
43
|
+
questionList:Array<any>,
|
|
44
|
+
resData:any,
|
|
45
|
+
curQuestionInfo:any
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
|
|
49
|
+
export default defineComponent({
|
|
50
|
+
components: {
|
|
51
|
+
// ...zykj_question_plugin,
|
|
52
|
+
// ...QuestionReader,
|
|
53
|
+
QuestionCard,
|
|
54
|
+
QuestionHeader,
|
|
55
|
+
TimeCounter,
|
|
56
|
+
// Question_SingleChoice:(zykj_question_plugin as any).Question_SingleChoice
|
|
57
|
+
},
|
|
58
|
+
setup(props,context) {
|
|
59
|
+
const {useState, useActions,useMutations} = createNamespacedHelpers('exam'); // specific module name
|
|
60
|
+
const {getExamPaperActions,resetExamActions} = useActions(['getExamPaperActions','resetExamActions'])
|
|
61
|
+
const {token} = rootUseState(['token'])
|
|
62
|
+
let {examInfo,userId} = useState(['examInfo','userId'])
|
|
63
|
+
let route = useRoute()
|
|
64
|
+
let router = useRouter()
|
|
65
|
+
const currentInstance:any = getCurrentInstance()
|
|
66
|
+
let _this = currentInstance.proxy
|
|
67
|
+
//不需要响应式或者写死的数据放里面
|
|
68
|
+
let data:dataInterface = reactive({
|
|
69
|
+
eventBus:bus,
|
|
70
|
+
showBlur:false,
|
|
71
|
+
examInfo,
|
|
72
|
+
autoSubmitTimer:null,
|
|
73
|
+
warnVisible:false,
|
|
74
|
+
routeName:route.name as string,
|
|
75
|
+
loading:false,
|
|
76
|
+
warnText:'',
|
|
77
|
+
token
|
|
78
|
+
})
|
|
79
|
+
|
|
80
|
+
//需要响应式放里面
|
|
81
|
+
let responsiveObj:{value:responsiveData} = ref({
|
|
82
|
+
questionList:[],
|
|
83
|
+
resData:{},
|
|
84
|
+
curQuestionInfo:{}
|
|
85
|
+
})
|
|
86
|
+
|
|
87
|
+
|
|
88
|
+
|
|
89
|
+
onMounted(()=>{
|
|
90
|
+
// resetExamActions({examId:29})
|
|
91
|
+
getExamPaper()
|
|
92
|
+
})
|
|
93
|
+
|
|
94
|
+
|
|
95
|
+
bus.$on('showBlur',()=>{
|
|
96
|
+
data.showBlur = true
|
|
97
|
+
})
|
|
98
|
+
|
|
99
|
+
|
|
100
|
+
function quitQuestion(){
|
|
101
|
+
fun.postMessageByType('close')
|
|
102
|
+
}
|
|
103
|
+
|
|
104
|
+
function getExamPaper(){
|
|
105
|
+
let res = {
|
|
106
|
+
"data": {
|
|
107
|
+
"examination_paper": {
|
|
108
|
+
"have_not_auto_check_question": false,
|
|
109
|
+
"size": 23,
|
|
110
|
+
"question_list": [
|
|
111
|
+
{
|
|
112
|
+
"question_type_str": "分类题",
|
|
113
|
+
"data_mode": 1,
|
|
114
|
+
"correct_judge": "",
|
|
115
|
+
"is_auto_check": "",
|
|
116
|
+
"content": "[{\"<>\":\"p\",\"text\":\"He arrived here ________. The teacher felt ________.\"}]",
|
|
117
|
+
"correct_subjective_answer": "",
|
|
118
|
+
"auto_check": true,
|
|
119
|
+
"options_data": [
|
|
120
|
+
{
|
|
121
|
+
"file_url": "",
|
|
122
|
+
"content_type": 1,
|
|
123
|
+
"file_type": 0,
|
|
124
|
+
"name": "",
|
|
125
|
+
"id": 0,
|
|
126
|
+
"thumbnail_url": "",
|
|
127
|
+
"option_content": "late, angry"
|
|
128
|
+
},
|
|
129
|
+
{
|
|
130
|
+
"file_url": "",
|
|
131
|
+
"content_type": 1,
|
|
132
|
+
"file_type": 0,
|
|
133
|
+
"name": "",
|
|
134
|
+
"id": 0,
|
|
135
|
+
"thumbnail_url": "",
|
|
136
|
+
"option_content": "lately, angrily"
|
|
137
|
+
},
|
|
138
|
+
{
|
|
139
|
+
"file_url": "",
|
|
140
|
+
"content_type": 1,
|
|
141
|
+
"file_type": 0,
|
|
142
|
+
"name": "",
|
|
143
|
+
"id": 0,
|
|
144
|
+
"thumbnail_url": "",
|
|
145
|
+
"option_content": " late, angrily"
|
|
146
|
+
},
|
|
147
|
+
{
|
|
148
|
+
"file_url": "",
|
|
149
|
+
"content_type": 1,
|
|
150
|
+
"file_type": 0,
|
|
151
|
+
"name": "",
|
|
152
|
+
"id": 0,
|
|
153
|
+
"thumbnail_url": "",
|
|
154
|
+
"option_content": "lately, angry"
|
|
155
|
+
}
|
|
156
|
+
],
|
|
157
|
+
"score": "1.00",
|
|
158
|
+
"sub_questions": [],
|
|
159
|
+
"style_type": "SELECT_R-T",
|
|
160
|
+
"template_file_full_url": "",
|
|
161
|
+
"question_name": "He arrived here ________. The teacher felt ________.",
|
|
162
|
+
"correct_rate": "",
|
|
163
|
+
"knowledge_name": "词汇",
|
|
164
|
+
"page_location_list": [],
|
|
165
|
+
"code_type": 0,
|
|
166
|
+
"difficulty_level": "1",
|
|
167
|
+
"question_index": "",
|
|
168
|
+
"correct_single_index": 0,
|
|
169
|
+
"question_type": "17",
|
|
170
|
+
"media_resources": [],
|
|
171
|
+
"analysis": "",
|
|
172
|
+
"question_id": "13091",
|
|
173
|
+
"difficulty_level_str": "简单",
|
|
174
|
+
"update_date": "",
|
|
175
|
+
"exam_options_data": [
|
|
176
|
+
{
|
|
177
|
+
"data": {
|
|
178
|
+
"file_url": "",
|
|
179
|
+
"content_type": 1,
|
|
180
|
+
"file_type": 0,
|
|
181
|
+
"name": "",
|
|
182
|
+
"id": 0,
|
|
183
|
+
"thumbnail_url": "",
|
|
184
|
+
"option_content": "late, angry"
|
|
185
|
+
},
|
|
186
|
+
"index": 1
|
|
187
|
+
},
|
|
188
|
+
{
|
|
189
|
+
"data": {
|
|
190
|
+
"file_url": "",
|
|
191
|
+
"content_type": 1,
|
|
192
|
+
"file_type": 0,
|
|
193
|
+
"name": "",
|
|
194
|
+
"id": 0,
|
|
195
|
+
"thumbnail_url": "",
|
|
196
|
+
"option_content": "lately, angrily"
|
|
197
|
+
},
|
|
198
|
+
"index": 2
|
|
199
|
+
},
|
|
200
|
+
{
|
|
201
|
+
"data": {
|
|
202
|
+
"file_url": "",
|
|
203
|
+
"content_type": 1,
|
|
204
|
+
"file_type": 0,
|
|
205
|
+
"name": "",
|
|
206
|
+
"id": 0,
|
|
207
|
+
"thumbnail_url": "",
|
|
208
|
+
"option_content": " late, angrily"
|
|
209
|
+
},
|
|
210
|
+
"index": 3
|
|
211
|
+
},
|
|
212
|
+
{
|
|
213
|
+
"data": {
|
|
214
|
+
"file_url": "",
|
|
215
|
+
"content_type": 1,
|
|
216
|
+
"file_type": 0,
|
|
217
|
+
"name": "",
|
|
218
|
+
"id": 0,
|
|
219
|
+
"thumbnail_url": "",
|
|
220
|
+
"option_content": "lately, angry"
|
|
221
|
+
},
|
|
222
|
+
"index": 4
|
|
223
|
+
}
|
|
224
|
+
],
|
|
225
|
+
"exam_link_answer_data": [],
|
|
226
|
+
"reference_file_full_url": "",
|
|
227
|
+
"correct_multiple_index_set": [],
|
|
228
|
+
"hint": "Multiple choice.1",
|
|
229
|
+
"knowledge_id": "2"
|
|
230
|
+
}
|
|
231
|
+
],
|
|
232
|
+
"examination_duration": 5400,
|
|
233
|
+
"examination_id": 495,
|
|
234
|
+
"examination_name": "校招考试(仿真数据,勿调整)",
|
|
235
|
+
"examination_record_id": 47288,
|
|
236
|
+
"skin_type": 1
|
|
237
|
+
},
|
|
238
|
+
"online_exam_name": "校招考试(仿真数据,勿调整)",
|
|
239
|
+
"remain_second": 59920,
|
|
240
|
+
"exam_description": "",
|
|
241
|
+
"applicant_simple_info": {
|
|
242
|
+
"applicant_id": "154",
|
|
243
|
+
"phone": "12345678905",
|
|
244
|
+
"applicant_name": "李老丹"
|
|
245
|
+
},
|
|
246
|
+
"answer_map": {}
|
|
247
|
+
},
|
|
248
|
+
"error_code": 0,
|
|
249
|
+
"message": "success",
|
|
250
|
+
"tid": "8f4f6e7b2287471fbc22ff5a3f4182e5.1822.16892350452200069",
|
|
251
|
+
"ts": 1689235045453
|
|
252
|
+
}
|
|
253
|
+
let {examination_paper,answer_map,remain_second} = res.data
|
|
254
|
+
let {question_list} = examination_paper
|
|
255
|
+
|
|
256
|
+
//todo 测试数据
|
|
257
|
+
responsiveObj.value.resData = res.data
|
|
258
|
+
responsiveObj.value.resData.remain_second = responsiveObj.value.resData.remain_second * 1000
|
|
259
|
+
// responsiveObj.value.resData.remain_second = 0
|
|
260
|
+
_this.parseQuestionListItem('exam',question_list,answer_map)
|
|
261
|
+
// responsiveObj.value.questionList = question_list.slice(0,1)
|
|
262
|
+
responsiveObj.value.questionList = question_list
|
|
263
|
+
responsiveObj.value.curQuestionInfo = question_list[0]
|
|
264
|
+
}
|
|
265
|
+
|
|
266
|
+
|
|
267
|
+
return {
|
|
268
|
+
...toRefs(data),
|
|
269
|
+
responsiveObj,
|
|
270
|
+
quitQuestion
|
|
271
|
+
}
|
|
272
|
+
}
|
|
273
|
+
})
|
|
274
|
+
</script>
|
|
275
|
+
<style lang="scss" scoped>
|
|
276
|
+
.showBlur{
|
|
277
|
+
filter:blur(5px);
|
|
278
|
+
}
|
|
279
|
+
.white-mask{
|
|
280
|
+
width: 100%;
|
|
281
|
+
height: 100%;
|
|
282
|
+
position: fixed;
|
|
283
|
+
left:0;
|
|
284
|
+
top:0;
|
|
285
|
+
z-index:666;
|
|
286
|
+
}
|
|
287
|
+
.footer{
|
|
288
|
+
width: 100%;
|
|
289
|
+
height: 60px;
|
|
290
|
+
background: rgb(252, 120, 38);
|
|
291
|
+
}
|
|
292
|
+
</style>
|