Commit 813d4d64428327ee5d4d555560744c9fcef27758
1 parent
e3b0e3e7
批量设置答案添加输入
Showing
6 changed files
with
171 additions
and
21 deletions
src/components/backBox.vue
... | ... | @@ -11,10 +11,20 @@ |
11 | 11 | </template> |
12 | 12 | |
13 | 13 | <script> |
14 | +import BusEvent from "@/utils/busEvent"; | |
14 | 15 | export default { |
15 | 16 | name: "back", |
17 | + props:{ | |
18 | + params:{ | |
19 | + type:Object, | |
20 | + default:function(){ | |
21 | + return {} | |
22 | + } | |
23 | + } | |
24 | + }, | |
16 | 25 | methods: { |
17 | 26 | back() { |
27 | + BusEvent.$emit("querySel", this.params); | |
18 | 28 | this.$router.go(-1); |
19 | 29 | }, |
20 | 30 | }, | ... | ... |
src/components/setAnswer.vue
... | ... | @@ -90,8 +90,15 @@ |
90 | 90 | <p>{{ setSubPro(formAns.qusType) }}:</p> |
91 | 91 | <p class="ipt"> |
92 | 92 | <el-input |
93 | + v-if="formAns.qusType == 2 || formAns.qusType == 3" | |
93 | 94 | v-model="formAns.answerList" |
94 | - @keydown.native="keydownAnswer($event)" | |
95 | + @keydown.native="keydownAnswer($event, formAns.qusType)" | |
96 | + @input="setAllAnswer($event, formAns.qusType)" | |
97 | + ></el-input> | |
98 | + <el-input | |
99 | + v-if="formAns.qusType == 4" | |
100 | + v-model="formAns.answerList" | |
101 | + readonly="" | |
95 | 102 | ></el-input> |
96 | 103 | </p> |
97 | 104 | <p class="answer-box"> |
... | ... | @@ -195,7 +202,7 @@ export default { |
195 | 202 | let types = [{}]; |
196 | 203 | let addndex = 0; |
197 | 204 | this.FormQuestionList?.map((sub, index) => { |
198 | - if (!!sub.questionType && sub.questionType!=5) { | |
205 | + if (!!sub.questionType && sub.questionType != 5) { | |
199 | 206 | if (sub.questionType == types[addndex].qusType) { |
200 | 207 | //同类型批量答案+1 |
201 | 208 | types[addndex].subNum += 1; |
... | ... | @@ -220,7 +227,7 @@ export default { |
220 | 227 | //不同类型时如果原有类型数量大于等于5,保存批量答案 |
221 | 228 | types[addndex].endIndex = |
222 | 229 | this.questionList[index - 1].questionIndex; |
223 | - types[addndex].index = index-1; | |
230 | + types[addndex].index = index - 1; | |
224 | 231 | addndex += 1; |
225 | 232 | types[addndex] = {}; |
226 | 233 | } |
... | ... | @@ -300,8 +307,35 @@ export default { |
300 | 307 | } |
301 | 308 | return tit; |
302 | 309 | }, |
303 | - keydownAnswer(event) { | |
304 | - //快速答案设置禁止输入 | |
310 | + // keydownAnswer(event) { | |
311 | + // //快速答案设置禁止输入 | |
312 | + // if ( | |
313 | + // event.key == "Meta" || | |
314 | + // event.key == "CapsLock" || | |
315 | + // event.key == "Shift" || | |
316 | + // event.key == "Enter" || | |
317 | + // event.key == "Alt" || | |
318 | + // event.key == "Backspace" || | |
319 | + // event.key == "Delete" || | |
320 | + // event.key == "ArrowUp" || | |
321 | + // event.key == "ArrowDown" || | |
322 | + // event.key == "ArrowLeft" || | |
323 | + // event.key == "v" || | |
324 | + // event.key == "V" || | |
325 | + // event.key == "ArrowRight" | |
326 | + // ) { | |
327 | + // return; | |
328 | + // } else { | |
329 | + // event.returnValue = ""; | |
330 | + // } | |
331 | + // }, | |
332 | + keydownAnswer(event, type) { | |
333 | + let answerA = "ABCDEFG"; | |
334 | + let answer_a = "abcdefg"; | |
335 | + answerA = answerA.substring(0, this.formAns.subNum); | |
336 | + answer_a = answer_a.substring(0, this.formAns.subNum); | |
337 | + answerA += answer_a; | |
338 | + answerA = type == 2 ? answerA : answerA + ","; | |
305 | 339 | if ( |
306 | 340 | event.key == "Meta" || |
307 | 341 | event.key == "CapsLock" || |
... | ... | @@ -316,12 +350,22 @@ export default { |
316 | 350 | event.key == "v" || |
317 | 351 | event.key == "V" || |
318 | 352 | event.key == "ArrowRight" |
319 | - ) { | |
353 | + ) | |
320 | 354 | return; |
321 | - } else { | |
355 | + if (!answerA.includes(event.key)) { | |
322 | 356 | event.returnValue = ""; |
323 | 357 | } |
324 | 358 | }, |
359 | + setAllAnswer(event, type) { | |
360 | + let str = this.formAns.answerList; | |
361 | + let str2 = checkAnswer( | |
362 | + str, | |
363 | + type, | |
364 | + this.formAns.answerOptions.split(",").length, | |
365 | + this.formAns.subNum | |
366 | + ); | |
367 | + this.formAns.answerList = str2; | |
368 | + }, | |
325 | 369 | setAnswer(type, ans) { |
326 | 370 | let txt = ""; |
327 | 371 | if (type == 2) { |
... | ... | @@ -329,7 +373,7 @@ export default { |
329 | 373 | } else if (type == 3) { |
330 | 374 | txt = ans + ","; |
331 | 375 | } else if (type == 4) { |
332 | - txt = ans == 1 ? "✓" : "✗"; | |
376 | + txt = ans == 1 ? "✓" : ans == 2 ? "✗" : ""; | |
333 | 377 | } |
334 | 378 | return txt; |
335 | 379 | }, | ... | ... |
src/utils/busEvent.js
0 → 100644
src/views/examinationPaper/add.vue
... | ... | @@ -519,8 +519,15 @@ |
519 | 519 | <p>{{ setSubPro(formAns.qusType) }}:</p> |
520 | 520 | <p class="ipt"> |
521 | 521 | <el-input |
522 | + v-if="formAns.qusType ==2 ||formAns.qusType==3" | |
522 | 523 | v-model="formAns.answerList" |
523 | - @keydown.native="keydownAnswer($event)" | |
524 | + @keydown.native="keydownAnswer($event,formAns.qusType)" | |
525 | + @input="setAllAnswer($event, formAns.qusType)" | |
526 | + ></el-input> | |
527 | + <el-input | |
528 | + v-if="formAns.qusType ==4" | |
529 | + v-model="formAns.answerList" | |
530 | + readonly="" | |
524 | 531 | ></el-input> |
525 | 532 | </p> |
526 | 533 | <p class="answer-box"> |
... | ... | @@ -856,8 +863,35 @@ export default { |
856 | 863 | } |
857 | 864 | this.diaSetAns = false; |
858 | 865 | }, |
859 | - keydownAnswer(event) { | |
860 | - //快速答案设置禁止输入 | |
866 | + // keydownAnswer(event) { | |
867 | + // //快速答案设置禁止输入 | |
868 | + // if ( | |
869 | + // event.key == "Meta" || | |
870 | + // event.key == "CapsLock" || | |
871 | + // event.key == "Shift" || | |
872 | + // event.key == "Enter" || | |
873 | + // event.key == "Alt" || | |
874 | + // event.key == "Backspace" || | |
875 | + // event.key == "Delete" || | |
876 | + // event.key == "ArrowUp" || | |
877 | + // event.key == "ArrowDown" || | |
878 | + // event.key == "ArrowLeft" || | |
879 | + // event.key == "v" || | |
880 | + // event.key == "V" || | |
881 | + // event.key == "ArrowRight" | |
882 | + // ) { | |
883 | + // return; | |
884 | + // } else { | |
885 | + // event.returnValue = ""; | |
886 | + // } | |
887 | + // }, | |
888 | + keydownAnswer(event, type) { | |
889 | + let answerA = "ABCDEFG"; | |
890 | + let answer_a = "abcdefg"; | |
891 | + answerA = answerA.substring(0, this.formAns.subNum); | |
892 | + answer_a = answer_a.substring(0, this.formAns.subNum); | |
893 | + answerA += answer_a; | |
894 | + answerA = type == 2 ? answerA : answerA + ","; | |
861 | 895 | if ( |
862 | 896 | event.key == "Meta" || |
863 | 897 | event.key == "CapsLock" || |
... | ... | @@ -872,12 +906,22 @@ export default { |
872 | 906 | event.key == "v" || |
873 | 907 | event.key == "V" || |
874 | 908 | event.key == "ArrowRight" |
875 | - ) { | |
909 | + ) | |
876 | 910 | return; |
877 | - } else { | |
911 | + if (!answerA.includes(event.key)) { | |
878 | 912 | event.returnValue = ""; |
879 | 913 | } |
880 | 914 | }, |
915 | + setAllAnswer(event, type){ | |
916 | + let str = this.formAns.answerList; | |
917 | + let str2 = checkAnswer( | |
918 | + str, | |
919 | + type, | |
920 | + this.formAns.answerOptions.split(',').length, | |
921 | + this.formAns.subNum | |
922 | + ); | |
923 | + this.formAns.answerList = str2; | |
924 | + }, | |
881 | 925 | setAnswer(type, ans) { |
882 | 926 | let txt = ""; |
883 | 927 | if (type == 2) { | ... | ... |
src/views/login/index.vue
... | ... | @@ -95,8 +95,8 @@ export default { |
95 | 95 | loginForm: { |
96 | 96 | // username: "15911715665", |
97 | 97 | // password: "715665", |
98 | - username: "18314340313", | |
99 | - password: "Pw340313#", | |
98 | + // username: "18314340313", | |
99 | + // password: "Pw340313#", | |
100 | 100 | // username: "18687826606", |
101 | 101 | // password: "Pw826606#", |
102 | 102 | // username: "18893712576", | ... | ... |
src/views/test/editAnswer.vue
... | ... | @@ -220,8 +220,15 @@ |
220 | 220 | <p>{{ setSubPro(formAns.qusType) }}:</p> |
221 | 221 | <p class="ipt"> |
222 | 222 | <el-input |
223 | + v-if="formAns.qusType == 2 || formAns.qusType == 3" | |
223 | 224 | v-model="formAns.answerList" |
224 | - @keydown.native="keydownAnswer($event)" | |
225 | + @keydown.native="keydownAnswer($event, formAns.qusType)" | |
226 | + @input="setAllAnswer($event, formAns.qusType)" | |
227 | + ></el-input> | |
228 | + <el-input | |
229 | + v-if="formAns.qusType == 4" | |
230 | + v-model="formAns.answerList" | |
231 | + readonly="" | |
225 | 232 | ></el-input> |
226 | 233 | </p> |
227 | 234 | <p class="answer-box"> |
... | ... | @@ -377,8 +384,35 @@ export default { |
377 | 384 | |
378 | 385 | return txt; |
379 | 386 | }, |
380 | - keydownAnswer(event) { | |
381 | - //快速答案设置禁止输入 | |
387 | + // keydownAnswer(event) { | |
388 | + // //快速答案设置禁止输入 | |
389 | + // if ( | |
390 | + // event.key == "Meta" || | |
391 | + // event.key == "CapsLock" || | |
392 | + // event.key == "Shift" || | |
393 | + // event.key == "Enter" || | |
394 | + // event.key == "Alt" || | |
395 | + // event.key == "Backspace" || | |
396 | + // event.key == "Delete" || | |
397 | + // event.key == "ArrowUp" || | |
398 | + // event.key == "ArrowDown" || | |
399 | + // event.key == "ArrowLeft" || | |
400 | + // event.key == "v" || | |
401 | + // event.key == "V" || | |
402 | + // event.key == "ArrowRight" | |
403 | + // ) { | |
404 | + // return; | |
405 | + // } else { | |
406 | + // event.returnValue = ""; | |
407 | + // } | |
408 | + // }, | |
409 | + keydownAnswer(event, type) { | |
410 | + let answerA = "ABCDEFG"; | |
411 | + let answer_a = "abcdefg"; | |
412 | + answerA = answerA.substring(0, this.formAns.subNum); | |
413 | + answer_a = answer_a.substring(0, this.formAns.subNum); | |
414 | + answerA += answer_a; | |
415 | + answerA = type == 2 ? answerA : answerA + ","; | |
382 | 416 | if ( |
383 | 417 | event.key == "Meta" || |
384 | 418 | event.key == "CapsLock" || |
... | ... | @@ -393,12 +427,22 @@ export default { |
393 | 427 | event.key == "v" || |
394 | 428 | event.key == "V" || |
395 | 429 | event.key == "ArrowRight" |
396 | - ) { | |
430 | + ) | |
397 | 431 | return; |
398 | - } else { | |
432 | + if (!answerA.includes(event.key)) { | |
399 | 433 | event.returnValue = ""; |
400 | 434 | } |
401 | 435 | }, |
436 | + setAllAnswer(event, type){ | |
437 | + let str = this.formAns.answerList; | |
438 | + let str2 = checkAnswer( | |
439 | + str, | |
440 | + type, | |
441 | + this.formAns.answerOptions.split(',').length, | |
442 | + this.formAns.subNum | |
443 | + ); | |
444 | + this.formAns.answerList = str2; | |
445 | + }, | |
402 | 446 | setAnswer(type, ans) { |
403 | 447 | let txt = ""; |
404 | 448 | if (type == 2) { |
... | ... | @@ -406,7 +450,7 @@ export default { |
406 | 450 | } else if (type == 3) { |
407 | 451 | txt = ans + ","; |
408 | 452 | } else if (type == 4) { |
409 | - txt = ans == 1 ? "✓" : "✗"; | |
453 | + txt = ans == 1 ? "✓" : ans == 2 ? "✗" : ""; | |
410 | 454 | } |
411 | 455 | return txt; |
412 | 456 | }, | ... | ... |