Commit def690b2e067cdebe8d4515ad30109cb2da7924a

Authored by 梁保满
1 parent f5729396

批量设置答案

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>