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> |