<!-- 简答题 -->
|
<template>
|
<div class="answer-container w-full h-full flex">
|
<el-scrollbar class="flex-1 mr-4">
|
<ExamInfo class="mb-5" :questionIndex="currentIndex" :activeQuestion="activeQuestion"></ExamInfo>
|
|
<div class="answer-content">
|
<vue-ueditor-wrap v-model="content" editor-id="editor" :config="editorConfig"
|
:editorDependencies="['ueditor.config.js', 'ueditor.all.js']" />
|
</div>
|
</el-scrollbar>
|
|
<el-scrollbar class="flex-1 ml-4">
|
<div class="analysis-container">
|
<div class="analysis-item" :class="analysisState">
|
<div class="item-label">您的答案</div>
|
<div class="item-info" v-html="activeQuestion.answer"></div>
|
</div>
|
|
<div class="analysis-item analysis-right">
|
<div class="item-label">正确答案</div>
|
<div class="item-info" v-html="activeQuestion.questionAnswer"></div>
|
</div>
|
|
<div class="analysis-item text-gray-700">
|
<div class="item-label">解析</div>
|
<div class="item-info" v-html="activeQuestion.analyze"></div>
|
</div>
|
</div>
|
</el-scrollbar>
|
</div>
|
</template>
|
|
<script setup>
|
import { ref,computed } from 'vue';
|
import { storeToRefs } from 'pinia';
|
import ExamInfo from '@/components/ExamInfo/index.vue';
|
import { useGradeStore } from '@/store/index.js';
|
const gradeStore = useGradeStore();
|
|
const editorConfig = {
|
// 后端服务地址,后端处理参考
|
// https://open-doc.modstart.com/ueditor-plus/backend.html
|
serverUrl: '/api/path/to/server',
|
UEDITOR_HOME_URL: '/static/UEditorPlus/',
|
UEDITOR_CORS_URL: '/static/UEditorPlus/',
|
initialFrameWidth: '95%',
|
initialFrameHeight: 400,
|
toolbars: [
|
['fullscreen', 'undo','redo', '|', 'fontfamily', 'fontsize', '|',
|
'forecolor', 'backcolor', 'bold', 'italic', 'underline','strikethrough','|',
|
'removeformat', 'formatmatch', 'autotypeset', 'blockquote', 'pasteplain', '|',
|
'inserttable', 'deletetable', 'insertparagraph', 'insertrow', 'deleterow',
|
'insertcol', 'deletecol','mergecells','mergerow','mergecol', 'splittocells',
|
'splittorows','splittocols', '|', 'formula']
|
]
|
};
|
|
const { currentType, currentIndex } = storeToRefs(gradeStore);
|
|
const activeQuestion = ref(gradeStore.getActiveQuestion);
|
const content = ref(activeQuestion.value.questionAnswer);
|
|
const analysisState = computed(() => {
|
return {
|
'analysis-right': activeQuestion.value.isRight,
|
'analysis-wrong': !activeQuestion.value.isRight
|
};
|
})
|
</script>
|
|
<style lang="scss" scoped>
|
.answer-container {
|
--right-color: #67c23a;
|
--wrong-color: #f56c6c;
|
}
|
.analysis-item {
|
margin-bottom: 10px;
|
|
.item-label {
|
font-weight: bold;
|
}
|
}
|
|
.analysis-right {
|
color: var(--right-color);
|
}
|
|
.analysis-wrong {
|
color: var(--wrong-color);
|
}
|
</style>
|