From ab67ac318199d53b7c0aa25765bbb1801b8b1e86 Mon Sep 17 00:00:00 2001
From: shuishen <1109946754@qq.com>
Date: Tue, 07 Nov 2023 15:00:14 +0800
Subject: [PATCH] 考试逻辑的更改
---
src/components/Subjects/MultipleChoices/index.vue | 170 ++++++++++++++++++++++++++++----------------------------
1 files changed, 85 insertions(+), 85 deletions(-)
diff --git a/src/components/Subjects/MultipleChoices/index.vue b/src/components/Subjects/MultipleChoices/index.vue
index 0cdf8bf..9bb7bc5 100644
--- a/src/components/Subjects/MultipleChoices/index.vue
+++ b/src/components/Subjects/MultipleChoices/index.vue
@@ -1,101 +1,101 @@
+<!--
+ * @Author: shuishen 1109946754@qq.com
+ * @Date: 2023-11-06 10:15:36
+ * @LastEditors: shuishen 1109946754@qq.com
+ * @LastEditTime: 2023-11-07 14:43:28
+ * @FilePath: \zhba_exam\src\components\Subjects\MultipleChoices\index.vue
+ * @Description:
+ *
+ * Copyright (c) 2023 by shuishen, All Rights Reserved.
+-->
<template>
- <div>
- <div class="subject-content">
- <div class="subject-title">
- {{ index }}
- <span class="subject-title-content" v-html="subjectInfo.subjectName" />
- <span class="subject-title-content titlesss">
- ( 多选题 <span
- v-if="subjectInfo.score !== undefined && subjectInfo.score !== 0"
- > {{ subjectInfo.score }}分 </span
- >)
- </span>
- </div>
+ <div>
+ <div class="subject-content">
+ <div class="subject-title">
+ {{ index }}
+ <span class="subject-title-content" v-html="subjectInfo.subjectName" />
+ <span class="subject-title-content titlesss">
+ ( 多选题 <span v-if="subjectInfo.score !== undefined && subjectInfo.score !== 0"> {{
+ subjectInfo.score }}分 </span>)
+ </span>
+ </div>
- <ul class="subject-options" v-for="option in options" :key="option.id">
- <li class="subject-option">
- <input
- class="toggle"
- type="checkbox"
- :checked="isChecked(option.optionName)"
- :id="'option' + option.id"
- @change="toggleOption($event, option)"
- />
- <label :for="'option' + option.id">
- <span class="subject-option-prefix"
- >{{ option.optionName + "." }} </span
- >
- <span v-html="option.optionContent" class="subject-option-prefix" />
- </label>
- </li>
- </ul>
+ <ul class="subject-options" v-for="option in options" :key="option.id">
+ <li class="subject-option">
+ <input class="toggle" type="checkbox" :checked="isChecked(option.optionName)" :id="'option' + option.id"
+ @change="toggleOption($event, option)" />
+ <label :for="'option' + option.id">
+ <span class="subject-option-prefix">{{ option.optionName + "." }} </span>
+ <span v-html="option.optionContent" class="subject-option-prefix" />
+ </label>
+ </li>
+ </ul>
+ </div>
</div>
- </div>
</template>
<script>
export default {
- name: "MultipleChoices",
- data() {
- return {
- subjectCount: 0,
- subjectInfo: {
- subjectName: "",
- score: 0,
- },
- options: [],
- userAnswer: [],
- index: "",
- };
- },
- watch: {},
- methods: {
- getAnswer() {
- return this.userAnswer.join(",");
- },
- setAnswer(answer) {
- // if (isNotEmpty(answer)) {
- this.userAnswer = answer.split(",");
- // }
- },
- setSubjectInfo(subject, subjectCount, index) {
- this.subjectCount = subjectCount;
- this.subjectInfo = subject;
- if (subject.hasOwnProperty("examSubjectOptions")) {
- this.options = subject.examSubjectOptions;
- }
- if (subject.hasOwnProperty("answer")) {
- this.setAnswer(subject.answer);
- }
- this.index = index + ".";
- },
- getSubjectInfo() {
- this.subjectInfo.options = this.options;
- return this.subjectInfo;
- },
- // 选中选项
- toggleOption($event, option) {
- if ($event.target.checked) {
- if (!this.userAnswer.includes(option.optionName)) {
- this.userAnswer.push(option.optionName);
+ name: "MultipleChoices",
+ data () {
+ return {
+ subjectCount: 0,
+ subjectInfo: {
+ subjectName: "",
+ score: 0,
+ },
+ options: [],
+ userAnswer: [],
+ index: "",
}
- } else {
- this.userAnswer.splice(
- this.userAnswer.findIndex((item) => item === option.optionName),
- 1
- );
- }
},
- isChecked(optionName) {
- return this.userAnswer.includes(optionName);
+ watch: {},
+ methods: {
+ getAnswer () {
+ return this.userAnswer.join(",")
+ },
+ setAnswer (answer) {
+ this.userAnswer = []
+ },
+ setSubjectInfo (subject, subjectCount, index) {
+ this.subjectCount = subjectCount
+ this.subjectInfo = subject
+ if (subject.hasOwnProperty("examSubjectOptions")) {
+ this.options = subject.examSubjectOptions
+ }
+ if (subject.hasOwnProperty("answer")) {
+ this.setAnswer(subject.answer)
+ }
+ this.index = index + "."
+ },
+ getSubjectInfo () {
+ this.subjectInfo.options = this.options
+ return this.subjectInfo
+ },
+ // 选中选项
+ toggleOption ($event, option) {
+ if ($event.target.checked) {
+ if (!this.userAnswer.includes(option.optionName)) {
+ this.userAnswer.push(option.optionName)
+ }
+ } else {
+ this.userAnswer.splice(
+ this.userAnswer.findIndex((item) => item === option.optionName),
+ 1
+ )
+ }
+ },
+ isChecked (optionName) {
+ return this.userAnswer.includes(optionName)
+ },
},
- },
-};
+}
</script>
<style lang="scss" scoped>
@import "../../../assets/css/subject.scss";
-.subject-options > li label {
- line-height: 36px !important;
+
+.subject-options>li label {
+ line-height: 36px !important;
}
</style>
--
Gitblit v1.9.3