|
@@ -9,7 +9,7 @@
|
|
|
{{ period.name }}
|
|
|
</Option>
|
|
|
</Select>
|
|
|
- <Select v-model="paperInfo.gradeIndex" multiple :placeholder="$t('evaluation.newExercise.gradePlaceholder')" style="width: 250px; margin-right: 15px; margin-top: 15px">
|
|
|
+ <Select v-model="paperInfo.gradeIndex" multiple :max-tag-count="2" :placeholder="$t('evaluation.newExercise.gradePlaceholder')" style="width: 250px; margin-right: 15px; margin-top: 15px">
|
|
|
<Option v-for="(grade, index) in gradeList" :value="index" :key="grade">
|
|
|
{{ grade }}
|
|
|
</Option>
|
|
@@ -365,7 +365,7 @@
|
|
|
type: item.type,
|
|
|
score: item.score || 10,
|
|
|
options: item.opts,
|
|
|
- answer: ["single", "multiple"].includes(item.type) && this.answerInputMode === "number" ? item.answer.map((k) => k.charCodeAt() - 64).join("") : item.answer[0],
|
|
|
+ answer: ["single", "multiple"].includes(item.type) && this.answerInputMode === "number" ? item.answer.map((k) => k.charCodeAt() - 64).join("") : (item.type === 'single' ? item.answer[0] : item.answer.join('')),
|
|
|
answerType: item.answerType,
|
|
|
answerLang: item.answerLang,
|
|
|
useAutoScore: item.useAutoScore
|
|
@@ -385,12 +385,17 @@
|
|
|
/* 针对多选强制排序 */
|
|
|
onOrderInputChange(item, index) {
|
|
|
if (item.type === "multiple") {
|
|
|
- let sortVal = item.answer
|
|
|
+ let sortVal = ''
|
|
|
+ if(this.answerInputMode === 'number'){
|
|
|
+ sortVal = item.answer
|
|
|
.replace(/[^0-9.]/g, "")
|
|
|
.split("")
|
|
|
.map((i) => Number(i))
|
|
|
.sort()
|
|
|
.join("");
|
|
|
+ }else{
|
|
|
+ sortVal = item.answer
|
|
|
+ }
|
|
|
this.$set(this.orderItemsArr[index], "answer", sortVal);
|
|
|
}
|
|
|
},
|
|
@@ -552,9 +557,9 @@
|
|
|
/* 获取自定义模式下的试题答案 */
|
|
|
getOrderItemAnswer(item) {
|
|
|
if (item.type === "single") {
|
|
|
- return [String.fromCharCode(64 + parseInt(item.answer))];
|
|
|
+ return this.answerInputMode === 'number' ? [String.fromCharCode(64 + parseInt(item.answer))] : [item.answer];
|
|
|
} else if (item.type === "multiple") {
|
|
|
- return item.answer.split("").map((i) => String.fromCharCode(64 + parseInt(i)));
|
|
|
+ return this.answerInputMode === 'number' ? item.answer.split("").map((i) => String.fromCharCode(64 + parseInt(i))) : item.answer.split("");
|
|
|
} else {
|
|
|
return [item.answer];
|
|
|
}
|
|
@@ -665,7 +670,8 @@
|
|
|
this.$Message.warning(this.$t("evaluation.quickPaper.tip10"));
|
|
|
return;
|
|
|
} else {
|
|
|
- if (this.orderItemsArr.some((i) => ["single", "multiple"].includes(i.type) && !i.answer.length)) {
|
|
|
+ console.error(this.orderItemsArr)
|
|
|
+ if (this.orderItemsArr.some((i) => ["single", "multiple"].includes(i.type) && !i.answer)) {
|
|
|
this.$Message.warning(this.$t("evaluation.exerciseList.noAnswerTip"));
|
|
|
return;
|
|
|
}
|