onepsycho@163.com 1 рік тому
батько
коміт
a55b63acaa
1 змінених файлів з 12 додано та 6 видалено
  1. 12 6
      TEAMModelOS/ClientApp/src/common/BaseQuickPaper.vue

+ 12 - 6
TEAMModelOS/ClientApp/src/common/BaseQuickPaper.vue

@@ -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;
 						}