Commit 813d4d64428327ee5d4d555560744c9fcef27758

Authored by 梁保满
1 parent e3b0e3e7

批量设置答案添加输入

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
  1 +// busEvent.js
  2 +import Vue from 'vue'
  3 +
  4 +/**
  5 + * 非父子组件传值
  6 + */
  7 +var BusEvent = new Vue({});
  8 +export default BusEvent;
0 9 \ No newline at end of file
... ...
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 },
... ...