|
@@ -73,48 +73,15 @@ import {
|
|
|
|
|
|
import StartQuestion from './components/StartQuestion.vue';
|
|
|
import AnswerReport from './components/AnswerReport.vue';
|
|
|
-
|
|
|
-import SelectPreview from '@/views/exercise_questions/preview/SelectPreview.vue';
|
|
|
-import JudgePreview from '@/views/exercise_questions/preview/JudgePreview.vue';
|
|
|
-import MatchingPreview from '@/views/exercise_questions/preview/MatchingPreview.vue';
|
|
|
-import ChinesePreview from '@/views/exercise_questions/preview/ChinesePreview.vue';
|
|
|
-import WritePreview from '../preview/WritePreview.vue';
|
|
|
-import FillPreview from '../preview/FillPreview.vue';
|
|
|
-import ReadAloudPreview from '../preview/ReadAloudPreview.vue';
|
|
|
-import DialoguePreview from '../preview/DialoguePreview.vue';
|
|
|
-import TalkPictruePreview from '../preview/TalkPictruePreview.vue';
|
|
|
-import ChooseTonePreview from '../preview/ChooseTonePreview.vue';
|
|
|
-import RepeatPreview from '../preview/RepeatPreview.vue';
|
|
|
-import ReadPreview from '../preview/ReadPreview.vue';
|
|
|
-import SortPreview from '../preview/SortPreview.vue';
|
|
|
-import ListenSelectPreview from '../preview/ListenSelectPreview.vue';
|
|
|
-import ListenFillPreview from '../preview/ListenFillPreview.vue';
|
|
|
-import ListenJudgePreview from '../preview/ListenJudgePreview.vue';
|
|
|
-import WordCardPreview from '../preview/WordCardPreview.vue';
|
|
|
+import PreviewQuestionTypeMixin from '../data/PreviewQuestionTypeMixin';
|
|
|
|
|
|
export default {
|
|
|
name: 'AnswerPage',
|
|
|
components: {
|
|
|
- SelectPreview,
|
|
|
- JudgePreview,
|
|
|
- MatchingPreview,
|
|
|
- ChinesePreview,
|
|
|
- WritePreview,
|
|
|
- FillPreview,
|
|
|
- ReadAloudPreview,
|
|
|
- DialoguePreview,
|
|
|
- TalkPictruePreview,
|
|
|
- ChooseTonePreview,
|
|
|
- RepeatPreview,
|
|
|
- ReadPreview,
|
|
|
- SortPreview,
|
|
|
- ListenSelectPreview,
|
|
|
- ListenFillPreview,
|
|
|
- ListenJudgePreview,
|
|
|
- WordCardPreview,
|
|
|
StartQuestion,
|
|
|
AnswerReport,
|
|
|
},
|
|
|
+ mixins: [PreviewQuestionTypeMixin],
|
|
|
data() {
|
|
|
const { id, share_record_id } = this.$route.query;
|
|
|
|
|
@@ -138,27 +105,7 @@ export default {
|
|
|
answer_time_limit_minute: 30, // 答题时间限制
|
|
|
time: 1800,
|
|
|
isSubmit: false,
|
|
|
- answerComponents: {
|
|
|
- select: SelectPreview,
|
|
|
- judge: JudgePreview,
|
|
|
- matching: MatchingPreview,
|
|
|
- chinese: ChinesePreview,
|
|
|
- write: WritePreview,
|
|
|
- fill: FillPreview,
|
|
|
- read_aloud: ReadAloudPreview,
|
|
|
- dialogue: DialoguePreview,
|
|
|
- talk_picture: TalkPictruePreview,
|
|
|
- choose_tone: ChooseTonePreview,
|
|
|
- repeat: RepeatPreview,
|
|
|
- read: ReadPreview,
|
|
|
- sort: SortPreview,
|
|
|
- listen_select: ListenSelectPreview,
|
|
|
- listen_fill: ListenFillPreview,
|
|
|
- listen_judge: ListenJudgePreview,
|
|
|
- word_card: WordCardPreview,
|
|
|
- },
|
|
|
curQuestionPage: '', // 当前问题页面
|
|
|
-
|
|
|
isAnnotations: false, // 是否显示批注
|
|
|
};
|
|
|
},
|
|
@@ -243,7 +190,7 @@ export default {
|
|
|
this.curQuestionPage =
|
|
|
this.questionList.length === 0 || this.curQuestionIndex < 0
|
|
|
? ''
|
|
|
- : this.answerComponents[this.questionList[this.curQuestionIndex].type];
|
|
|
+ : this.previewComponents[this.questionList[this.curQuestionIndex].type];
|
|
|
})
|
|
|
.catch(() => {});
|
|
|
},
|