Commit def690b2e067cdebe8d4515ad30109cb2da7924a
1 parent
f5729396
批量设置答案
Showing
4 changed files
with
22 additions
and
34 deletions
src/components/setAnswer.vue
| @@ -133,11 +133,7 @@ | @@ -133,11 +133,7 @@ | ||
| 133 | > | 133 | > |
| 134 | <span | 134 | <span |
| 135 | class="answer-s active" | 135 | class="answer-s active" |
| 136 | - @click=" | ||
| 137 | - formAns.answerList.split(',').length < formAns.subNum | ||
| 138 | - ? (formAns.answerList += ',') | ||
| 139 | - : '' | ||
| 140 | - " | 136 | + @click="setMultiple(formAns, ',')" |
| 141 | >,</span | 137 | >,</span |
| 142 | > | 138 | > |
| 143 | </template> | 139 | </template> |
src/views/examinationPaper/add.vue
| @@ -500,6 +500,7 @@ | @@ -500,6 +500,7 @@ | ||
| 500 | questionForm.questionType == 3 || | 500 | questionForm.questionType == 3 || |
| 501 | questionForm.questionType == 6 | 501 | questionForm.questionType == 6 |
| 502 | " | 502 | " |
| 503 | + ref="formAnsIpt2" | ||
| 503 | v-model="questionForm.answerList" | 504 | v-model="questionForm.answerList" |
| 504 | @keydown.native=" | 505 | @keydown.native=" |
| 505 | keydownAnswer($event, questionForm.questionType, 1) | 506 | keydownAnswer($event, questionForm.questionType, 1) |
| @@ -541,18 +542,13 @@ | @@ -541,18 +542,13 @@ | ||
| 541 | v-if="opIdx < questionForm.selectNum" | 542 | v-if="opIdx < questionForm.selectNum" |
| 542 | class="answer-s active" | 543 | class="answer-s active" |
| 543 | :key="option" | 544 | :key="option" |
| 544 | - @click="setMultiple(questionForm, option)" | 545 | + @click="setMultiple(questionForm, option, 1)" |
| 545 | >{{ option }}</span | 546 | >{{ option }}</span |
| 546 | > | 547 | > |
| 547 | </template> | 548 | </template> |
| 548 | <span | 549 | <span |
| 549 | class="answer-s active" | 550 | class="answer-s active" |
| 550 | - @click=" | ||
| 551 | - questionForm.answerList.split(',').length < | ||
| 552 | - questionForm.number | ||
| 553 | - ? (questionForm.answerList += ',') | ||
| 554 | - : '' | ||
| 555 | - " | 551 | + @click="setMultiple(questionForm, ',', 1)" |
| 556 | >,</span | 552 | >,</span |
| 557 | > | 553 | > |
| 558 | </template> | 554 | </template> |
| @@ -774,16 +770,12 @@ | @@ -774,16 +770,12 @@ | ||
| 774 | class="answer-s active" | 770 | class="answer-s active" |
| 775 | v-for="option in formAns.answerOptions.split(',')" | 771 | v-for="option in formAns.answerOptions.split(',')" |
| 776 | :key="option" | 772 | :key="option" |
| 777 | - @click="setMultiple(formAns, option)" | 773 | + @click="setMultiple(formAns, option, 2)" |
| 778 | >{{ option }}</span | 774 | >{{ option }}</span |
| 779 | > | 775 | > |
| 780 | <span | 776 | <span |
| 781 | class="answer-s active" | 777 | class="answer-s active" |
| 782 | - @click=" | ||
| 783 | - formAns.answerList.split(',').length < formAns.subNum | ||
| 784 | - ? (formAns.answerList += ',') | ||
| 785 | - : '' | ||
| 786 | - " | 778 | + @click="setMultiple(formAns, ',', 2)" |
| 787 | >,</span | 779 | >,</span |
| 788 | > | 780 | > |
| 789 | </template> | 781 | </template> |
| @@ -1087,8 +1079,7 @@ export default { | @@ -1087,8 +1079,7 @@ export default { | ||
| 1087 | 1079 | ||
| 1088 | this.diaSetAns = true; | 1080 | this.diaSetAns = true; |
| 1089 | }, | 1081 | }, |
| 1090 | - insertTxtAndSetcursor(answerList, str) { | ||
| 1091 | - let element = this.$refs.formAnsIpt.$el.children[0]; // 获取到指定标签 | 1082 | + insertTxtAndSetcursor(element, answerList, str) { |
| 1092 | let startPos = element.selectionStart; // 获取光标开始的位置 | 1083 | let startPos = element.selectionStart; // 获取光标开始的位置 |
| 1093 | if (startPos === undefined) { | 1084 | if (startPos === undefined) { |
| 1094 | // 如果没有光标位置 不操作 | 1085 | // 如果没有光标位置 不操作 |
| @@ -1103,10 +1094,19 @@ export default { | @@ -1103,10 +1094,19 @@ export default { | ||
| 1103 | }; | 1094 | }; |
| 1104 | } | 1095 | } |
| 1105 | }, | 1096 | }, |
| 1106 | - setMultiple(obj, answer) { | 1097 | + setMultiple(obj, answer, type) { |
| 1107 | //多选答案设置 | 1098 | //多选答案设置 |
| 1108 | - let resault = this.insertTxtAndSetcursor(obj.answerList || "", answer); | 1099 | + let elements = |
| 1100 | + type == 1 | ||
| 1101 | + ? this.$refs["formAnsIpt2"].$el.children[0] | ||
| 1102 | + : this.$refs["formAnsIpt"].$el.children[0]; | ||
| 1103 | + let resault = this.insertTxtAndSetcursor( | ||
| 1104 | + elements, | ||
| 1105 | + obj.answerList || "", | ||
| 1106 | + answer | ||
| 1107 | + ); | ||
| 1109 | obj.answerList = resault.text; | 1108 | obj.answerList = resault.text; |
| 1109 | + console.log(resault.startPos); | ||
| 1110 | let str = obj.answerList; | 1110 | let str = obj.answerList; |
| 1111 | let str2; | 1111 | let str2; |
| 1112 | if (!!obj.answerOptions) { | 1112 | if (!!obj.answerOptions) { |
| @@ -1120,8 +1120,8 @@ export default { | @@ -1120,8 +1120,8 @@ export default { | ||
| 1120 | str2 = checkAnswer(str, 3, obj.selectNum, obj.answerList.length); | 1120 | str2 = checkAnswer(str, 3, obj.selectNum, obj.answerList.length); |
| 1121 | } | 1121 | } |
| 1122 | obj.answerList = str2; | 1122 | obj.answerList = str2; |
| 1123 | - this.$refs.formAnsIpt.$el.children[0].focus(); | ||
| 1124 | - this.$refs.formAnsIpt.$el.children[0].selectionStart = resault.startPos; | 1123 | + elements.focus(); |
| 1124 | + elements.selectionStart = resault.startPos; | ||
| 1125 | }, | 1125 | }, |
| 1126 | saveFormAns() { | 1126 | saveFormAns() { |
| 1127 | //批量修改答案 | 1127 | //批量修改答案 |
src/views/examinationPaper/edit.vue
| @@ -297,11 +297,7 @@ | @@ -297,11 +297,7 @@ | ||
| 297 | > | 297 | > |
| 298 | <span | 298 | <span |
| 299 | class="answer-s active" | 299 | class="answer-s active" |
| 300 | - @click=" | ||
| 301 | - formAns.answerList.split(',').length < formAns.subNum | ||
| 302 | - ? (formAns.answerList += ',') | ||
| 303 | - : '' | ||
| 304 | - " | 300 | + @click="setMultiple(formAns, ',')" |
| 305 | >,</span | 301 | >,</span |
| 306 | > | 302 | > |
| 307 | </template> | 303 | </template> |
src/views/test/editAnswer.vue
| @@ -281,11 +281,7 @@ | @@ -281,11 +281,7 @@ | ||
| 281 | > | 281 | > |
| 282 | <span | 282 | <span |
| 283 | class="answer-s active" | 283 | class="answer-s active" |
| 284 | - @click=" | ||
| 285 | - formAns.answerList.split(',').length < formAns.subNum | ||
| 286 | - ? (formAns.answerList += ',') | ||
| 287 | - : '' | ||
| 288 | - " | 284 | + @click="setMultiple(formAns, ',')" |
| 289 | >,</span | 285 | >,</span |
| 290 | > | 286 | > |
| 291 | </template> | 287 | </template> |