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 | }, | ... | ... |