| src/components/Subjects/Choices/index.vue | ●●●●● patch | view | raw | blame | history | |
| src/components/Subjects/Judgement/index.vue | ●●●●● patch | view | raw | blame | history | |
| src/components/Subjects/MultipleChoices/index.vue | ●●●●● patch | view | raw | blame | history | |
| src/components/Subjects/PracticalOperation/index.vue | ●●●●● patch | view | raw | blame | history | |
| src/styles/element-ui.scss | ●●●●● patch | view | raw | blame | history |
src/components/Subjects/Choices/index.vue
@@ -4,7 +4,7 @@ <div class="subject-title"> {{ index }} <span class="subject-title-content" v-html="subjectInfo.subjectName" /> <span class="subject-title-content"> <span class="subject-title-content titlesss"> ( 单选题 <span v-if="subjectInfo.score !== undefined && subjectInfo.score !== 0" > {{ subjectInfo.score }}分 </span src/components/Subjects/Judgement/index.vue
@@ -1,80 +1,84 @@ <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"> ( 判断题 <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="userAnswer === option.optionName" :id="'option' + option.id" @change="toggleOption(option)"> <label :for="'option' + option.id"> <span class="subject-option-prefix">{{ option.optionName }} </span> </label> </li> </ul> </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="userAnswer === option.optionName" :id="'option' + option.id" @change="toggleOption(option)" /> <label :for="'option' + option.id"> <span class="subject-option-prefix" >{{ option.optionName }} </span > </label> </li> </ul> </div> </div> </template> <script> export default { name: 'Judgement', data () { return { subjectCount: 0, subjectInfo: { subjectName: '', score: 0 }, options: [ { id: 1, optionName: '正确' }, { id: 2, optionName: '错误' } ], userAnswer: '', index: '' } name: "Judgement", data() { return { subjectCount: 0, subjectInfo: { subjectName: "", score: 0, }, options: [ { id: 1, optionName: "正确" }, { id: 2, optionName: "错误" }, ], userAnswer: "", index: "", }; }, methods: { getAnswer() { return this.userAnswer; }, methods: { getAnswer () { return this.userAnswer }, setAnswer (answer) { this.userAnswer = answer }, setSubjectInfo (subject, subjectCount, index) { this.subjectCount = subjectCount this.subjectInfo = subject if (subject.hasOwnProperty('answer')) { this.setAnswer(subject.answer) } this.index = index + '.' }, getSubjectInfo () { this.subjectInfo.options = this.options return this.subjectInfo }, // 选中选项 toggleOption (option) { this.userAnswer = option.optionName } } } setAnswer(answer) { this.userAnswer = answer; }, setSubjectInfo(subject, subjectCount, index) { this.subjectCount = subjectCount; this.subjectInfo = subject; if (subject.hasOwnProperty("answer")) { this.setAnswer(subject.answer); } this.index = index + "."; }, getSubjectInfo() { this.subjectInfo.options = this.options; return this.subjectInfo; }, // 选中选项 toggleOption(option) { this.userAnswer = option.optionName; }, }, }; </script> <style lang="scss" scoped> @import '../../../assets/css/subject.scss'; @import "../../../assets/css/subject.scss"; .subject-options > li label { line-height: 36px !important; line-height: 36px !important; } </style> src/components/Subjects/MultipleChoices/index.vue
@@ -1,98 +1,101 @@ <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"> ( 多选题 <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> </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> </div> </div> </template> <script> export default { name: 'MultipleChoices', data () { return { subjectCount: 0, subjectInfo: { subjectName: '', score: 0 }, options: [], userAnswer: [], index: '' } name: "MultipleChoices", data() { return { subjectCount: 0, subjectInfo: { subjectName: "", score: 0, }, options: [], userAnswer: [], index: "", }; }, watch: {}, methods: { getAnswer() { return this.userAnswer.join(","); }, watch: { setAnswer(answer) { // if (isNotEmpty(answer)) { this.userAnswer = answer.split(","); // } }, 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) } } else { this.userAnswer.splice(this.userAnswer.findIndex(item => item === option.optionName), 1) } }, isChecked (optionName) { return this.userAnswer.includes(optionName) 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'; @import "../../../assets/css/subject.scss"; .subject-options > li label { line-height: 36px !important; line-height: 36px !important; } </style> src/components/Subjects/PracticalOperation/index.vue
@@ -4,7 +4,7 @@ <div class="subject-title"> {{ index }} <span class="subject-title-content" v-html="subjectInfo.subjectName" /> <span class="subject-title-content"> <span class="subject-title-content titlesss"> ( 实操题 <span v-if="subjectInfo.score !== undefined && subjectInfo.score !== 0" > {{ subjectInfo.score }}分 </span src/styles/element-ui.scss
@@ -221,3 +221,7 @@ .login-custom { } .subject-title-content.titlesss { font-weight: 700 !important; }