Commit 11a4e518b1adff87db4f4dba17217117b20bbaee

Authored by 梁保满
1 parent 5ab73359

背题组卷修改答案设置,即使测随堂问缓存问题

src/components/setAnswer.vue
@@ -86,7 +86,7 @@ @@ -86,7 +86,7 @@
86 width="400" 86 width="400"
87 :modal-append-to-body="false" 87 :modal-append-to-body="false"
88 > 88 >
89 - <div class="qs-options"> 89 + <div class="qs-options set-questions">
90 <p>{{ setSubPro(formAns.qusType) }}:</p> 90 <p>{{ setSubPro(formAns.qusType) }}:</p>
91 <p class="ipt"> 91 <p class="ipt">
92 <el-input 92 <el-input
@@ -158,6 +158,7 @@ @@ -158,6 +158,7 @@
158 @click="formAns.answerList = formAns.answerList.slice(0, -1)" 158 @click="formAns.answerList = formAns.answerList.slice(0, -1)"
159 >x</span 159 >x</span
160 > 160 >
  161 + <span class="answer-s ac" @click="formAns.answerList = ''">ac</span>
161 </p> 162 </p>
162 </div> 163 </div>
163 <div class="dialog-footer" slot="footer"> 164 <div class="dialog-footer" slot="footer">
@@ -262,6 +263,20 @@ export default { @@ -262,6 +263,20 @@ export default {
262 setFormAns(indexs) { 263 setFormAns(indexs) {
263 //初始化要修改的答案 264 //初始化要修改的答案
264 this.formAns = { ...this.FormQuestionList[indexs] }; 265 this.formAns = { ...this.FormQuestionList[indexs] };
  266 + let answerList = "";
  267 + this.FormQuestionList[index].map((item, subIdx) => {
  268 + answerList += this.setAnswer(item.questionType, item.correctAnswer);
  269 + if (subIdx != indexs) {
  270 + if (!!item.qusType) {
  271 + answerList = "";
  272 + }
  273 + } else {
  274 + if (item.qusType == 3) {
  275 + answerList = answerList.slice(0, -1);
  276 + }
  277 + this.formAns.answerList = answerList;
  278 + }
  279 + });
265 this.diaSetAns = true; 280 this.diaSetAns = true;
266 }, 281 },
267 saveFormAns() { 282 saveFormAns() {
src/store/index.js
@@ -170,6 +170,7 @@ const store = new Vuex.Store({ @@ -170,6 +170,7 @@ const store = new Vuex.Store({
170 children: [], 170 children: [],
171 }); 171 });
172 router.push({ path: "/" }); 172 router.push({ path: "/" });
  173 + window.location.reload()
173 }, 174 },
174 }, 175 },
175 getters: { 176 getters: {
src/utils/index.js
@@ -454,7 +454,7 @@ export function checkAnswer( @@ -454,7 +454,7 @@ export function checkAnswer(
454 //单选 454 //单选
455 console.log(s.length + " " + questionCount); 455 console.log(s.length + " " + questionCount);
456 if (s.length > questionCount) { 456 if (s.length > questionCount) {
457 - s = s.substring(0, questionCount+1); 457 + s = s.substring(0, questionCount);
458 } 458 }
459 } else if (questionType == 3) { 459 } else if (questionType == 3) {
460 //多选 460 //多选
src/views/examinationPaper/add.vue
@@ -115,7 +115,11 @@ @@ -115,7 +115,11 @@
115 <p class="add-type" v-for="item in tagList" :key="item.id"> 115 <p class="add-type" v-for="item in tagList" :key="item.id">
116 <el-row :gutter="10"> 116 <el-row :gutter="10">
117 <el-col :span="18" 117 <el-col :span="18"
118 - ><el-input v-model="item.typeName" :maxlength="10" placeholder="请输入答题卡类型名称"></el-input 118 + ><el-input
  119 + v-model="item.typeName"
  120 + :maxlength="10"
  121 + placeholder="请输入答题卡类型名称"
  122 + ></el-input
119 ></el-col> 123 ></el-col>
120 <el-col :span="6"> 124 <el-col :span="6">
121 <el-tooltip effect="dark" content="保存" placement="top"> 125 <el-tooltip effect="dark" content="保存" placement="top">
@@ -639,6 +643,9 @@ @@ -639,6 +643,9 @@
639 @click="formAns.answerList = formAns.answerList.slice(0, -1)" 643 @click="formAns.answerList = formAns.answerList.slice(0, -1)"
640 >x</span 644 >x</span
641 > 645 >
  646 + <span class="answer-s ac" @click="formAns.answerList = ''"
  647 + >ac</span
  648 + >
642 </p> 649 </p>
643 </div> 650 </div>
644 <div class="dialog-footer" slot="footer"> 651 <div class="dialog-footer" slot="footer">
@@ -875,6 +882,22 @@ export default { @@ -875,6 +882,22 @@ export default {
875 //初始化要修改的答案 882 //初始化要修改的答案
876 this.formAns = { ...this.form.questionList[index].subQuestions[indexs] }; 883 this.formAns = { ...this.form.questionList[index].subQuestions[indexs] };
877 this.formAns.listIndex = index; 884 this.formAns.listIndex = index;
  885 + this.formAns.answerList = [];
  886 + let answerList = "";
  887 + this.form.questionList[index].subQuestions.map((item, subIdx) => {
  888 + answerList += this.setAnswer(item.questionType, item.correctAnswer);
  889 + if (subIdx != indexs) {
  890 + if (!!item.qusType) {
  891 + answerList = "";
  892 + }
  893 + } else {
  894 + if (item.qusType == 3) {
  895 + answerList = answerList.slice(0, -1);
  896 + }
  897 + this.formAns.answerList = answerList;
  898 + }
  899 + });
  900 +
878 this.diaSetAns = true; 901 this.diaSetAns = true;
879 }, 902 },
880 setMultiple(obj, answer) { 903 setMultiple(obj, answer) {
@@ -1457,10 +1480,13 @@ export default { @@ -1457,10 +1480,13 @@ export default {
1457 background-size: 19px; 1480 background-size: 19px;
1458 color: transparent; 1481 color: transparent;
1459 } 1482 }
  1483 + .answer-s.ac{
  1484 + border:none;
  1485 + }
1460 .ac { 1486 .ac {
1461 border-color: #ff6868; 1487 border-color: #ff6868;
1462 background: #ff6868; 1488 background: #ff6868;
1463 - color: #fff; 1489 + color: #fff!important;
1464 } 1490 }
1465 } 1491 }
1466 1492
src/views/examinationPaper/edit.vue
@@ -227,7 +227,7 @@ @@ -227,7 +227,7 @@
227 width="400" 227 width="400"
228 :modal-append-to-body="false" 228 :modal-append-to-body="false"
229 > 229 >
230 - <div class="qs-options"> 230 + <div class="qs-options set-questions">
231 <p class="dia-tips"> 231 <p class="dia-tips">
232 请点击选项按钮设置答案,多选题题目之间用“,”隔开,若添加5道题:“AC,AD,BD,AC,CD” 232 请点击选项按钮设置答案,多选题题目之间用“,”隔开,若添加5道题:“AC,AD,BD,AC,CD”
233 </p> 233 </p>
@@ -302,6 +302,7 @@ @@ -302,6 +302,7 @@
302 @click="formAns.answerList = formAns.answerList.slice(0, -1)" 302 @click="formAns.answerList = formAns.answerList.slice(0, -1)"
303 >x</span 303 >x</span
304 > 304 >
  305 + <span class="answer-s ac" @click="formAns.answerList = ''">ac</span>
305 </p> 306 </p>
306 </div> 307 </div>
307 <div class="dialog-footer" slot="footer"> 308 <div class="dialog-footer" slot="footer">
@@ -492,9 +493,37 @@ export default { @@ -492,9 +493,37 @@ export default {
492 if (this.questionList[0].subQuestions) { 493 if (this.questionList[0].subQuestions) {
493 this.formAns = { ...this.questionList[index].subQuestions[indexs] }; 494 this.formAns = { ...this.questionList[index].subQuestions[indexs] };
494 this.formAns.listIndex = index; 495 this.formAns.listIndex = index;
  496 + let answerList = "";
  497 + this.questionList[index].subQuestions.map((item, subIdx) => {
  498 + answerList += this.setAnswer(item.questionType, item.correctAnswer);
  499 + if (subIdx != indexs) {
  500 + if (!!item.qusType) {
  501 + answerList = "";
  502 + }
  503 + } else {
  504 + if (item.qusType == 3) {
  505 + answerList = answerList.slice(0, -1);
  506 + }
  507 + this.formAns.answerList = answerList;
  508 + }
  509 + });
495 } else { 510 } else {
496 this.formAns = { ...this.questionList[indexs] }; 511 this.formAns = { ...this.questionList[indexs] };
497 this.formAns.listIndex = indexs; 512 this.formAns.listIndex = indexs;
  513 + let answerList = "";
  514 + this.questionList[index].map((item, subIdx) => {
  515 + answerList += this.setAnswer(item.questionType, item.correctAnswer);
  516 + if (subIdx != indexs) {
  517 + if (!!item.qusType) {
  518 + answerList = "";
  519 + }
  520 + } else {
  521 + if (item.qusType == 3) {
  522 + answerList = answerList.slice(0, -1);
  523 + }
  524 + this.formAns.answerList = answerList;
  525 + }
  526 + });
498 } 527 }
499 this.diaSetAns = true; 528 this.diaSetAns = true;
500 }, 529 },
@@ -819,9 +848,9 @@ export default { @@ -819,9 +848,9 @@ export default {
819 text-align: left; 848 text-align: left;
820 justify-content: flex-start; 849 justify-content: flex-start;
821 padding-left: 20px; 850 padding-left: 20px;
822 - .answer-s {  
823 - cursor: pointer;  
824 - } 851 + }
  852 + .answer-s {
  853 + cursor: pointer;
825 } 854 }
826 :deep(.el-select) { 855 :deep(.el-select) {
827 .el-input__inner { 856 .el-input__inner {
@@ -837,4 +866,15 @@ export default { @@ -837,4 +866,15 @@ export default {
837 } 866 }
838 } 867 }
839 } 868 }
  869 +.set-questions {
  870 + .answer-box {
  871 + .answer-s {
  872 + cursor: pointer;
  873 + user-select: none;
  874 + &:first-of-type {
  875 + margin-left: 0;
  876 + }
  877 + }
  878 + }
  879 +}
840 </style> 880 </style>
841 \ No newline at end of file 881 \ No newline at end of file
src/views/test/analysis.vue
@@ -297,7 +297,7 @@ @@ -297,7 +297,7 @@
297 align="center" 297 align="center"
298 v-for="(item, index) in questionList" 298 v-for="(item, index) in questionList"
299 :key="index" 299 :key="index"
300 - :label="'题目' + item.id" 300 + :label="'Q' + item.id"
301 :prop="'score' + item.id" 301 :prop="'score' + item.id"
302 > 302 >
303 </el-table-column> 303 </el-table-column>
@@ -337,7 +337,7 @@ @@ -337,7 +337,7 @@
337 align="center" 337 align="center"
338 v-for="(item, index) in questionList" 338 v-for="(item, index) in questionList"
339 :key="index" 339 :key="index"
340 - :label="'题目' + item.id" 340 + :label="'Q' + item.id"
341 > 341 >
342 <template slot-scope="scope"> 342 <template slot-scope="scope">
343 <span 343 <span
src/views/test/editAnswer.vue
@@ -128,7 +128,7 @@ @@ -128,7 +128,7 @@
128 subQuestions.subNum > 4 128 subQuestions.subNum > 4
129 " 129 "
130 > 130 >
131 - <el-button type="primary" @click="setFormAns(indexs, index)" 131 + <el-button type="primary" @click="setFormAns(indexs)"
132 >批量设置答案</el-button 132 >批量设置答案</el-button
133 > 133 >
134 </p> 134 </p>
@@ -288,6 +288,11 @@ @@ -288,6 +288,11 @@
288 @click="formAns.answerList = formAns.answerList.slice(0, -1)" 288 @click="formAns.answerList = formAns.answerList.slice(0, -1)"
289 >x</span 289 >x</span
290 > 290 >
  291 + <span
  292 + class="answer-s ac"
  293 + @click="formAns.answerList = ''"
  294 + >ac</span
  295 + >
291 </p> 296 </p>
292 </div> 297 </div>
293 <div class="dialog-footer" slot="footer"> 298 <div class="dialog-footer" slot="footer">
@@ -477,14 +482,42 @@ export default { @@ -477,14 +482,42 @@ export default {
477 sub.correctAnswer = arrs.sort().join(""); 482 sub.correctAnswer = arrs.sort().join("");
478 } 483 }
479 }, 484 },
480 - setFormAns(indexs, index) { 485 + setFormAns(indexs, index) {
481 //初始化要修改的答案 486 //初始化要修改的答案
482 if (this.questionList[0].subQuestions) { 487 if (this.questionList[0].subQuestions) {
483 this.formAns = { ...this.questionList[index].subQuestions[indexs] }; 488 this.formAns = { ...this.questionList[index].subQuestions[indexs] };
484 this.formAns.listIndex = index; 489 this.formAns.listIndex = index;
  490 + let answerList = "";
  491 + this.questionList[index].subQuestions.map((item, subIdx) => {
  492 + answerList += this.setAnswer(item.questionType, item.correctAnswer);
  493 + if (subIdx != indexs) {
  494 + if (!!item.qusType) {
  495 + answerList = "";
  496 + }
  497 + } else {
  498 + if (item.qusType == 3) {
  499 + answerList = answerList.slice(0, -1);
  500 + }
  501 + this.formAns.answerList = answerList;
  502 + }
  503 + });
485 } else { 504 } else {
486 this.formAns = { ...this.questionList[indexs] }; 505 this.formAns = { ...this.questionList[indexs] };
487 this.formAns.listIndex = indexs; 506 this.formAns.listIndex = indexs;
  507 + let answerList = "";
  508 + this.questionList[index].map((item, subIdx) => {
  509 + answerList += this.setAnswer(item.questionType, item.correctAnswer);
  510 + if (subIdx != indexs) {
  511 + if (!!item.qusType) {
  512 + answerList = "";
  513 + }
  514 + } else {
  515 + if (item.qusType == 3) {
  516 + answerList = answerList.slice(0, -1);
  517 + }
  518 + this.formAns.answerList = answerList;
  519 + }
  520 + });
488 } 521 }
489 this.diaSetAns = true; 522 this.diaSetAns = true;
490 }, 523 },