|
|
@@ -79,6 +79,7 @@
|
|
|
|
|
|
<script>
|
|
|
import { previewComponentList } from '@/views/book/courseware/data/bookType';
|
|
|
+import { SaveMyAnswer, GetMyAnswer, SaveAnswerMarking, GetAnswerMarking } from '@/api/book';
|
|
|
|
|
|
export default {
|
|
|
name: 'CoursewarePreview',
|
|
|
@@ -413,9 +414,9 @@ export default {
|
|
|
* @param {boolean} isShowRightAnswer 是否显示正确答案
|
|
|
* @param {boolean} disabled 是否禁用
|
|
|
*/
|
|
|
- simulateAnswer(isJudgingRightWrong, isShowRightAnswer, disabled = true) {
|
|
|
+ simulateAnswer(isJudgingRightWrong, isShowRightAnswer, disabled = true, answer = null) {
|
|
|
this.$refs.preview.forEach((item) => {
|
|
|
- item.showAnswer(isJudgingRightWrong, isShowRightAnswer, null, disabled);
|
|
|
+ item.showAnswer(isJudgingRightWrong, isShowRightAnswer, answer, disabled);
|
|
|
});
|
|
|
},
|
|
|
/**
|
|
|
@@ -714,6 +715,90 @@ export default {
|
|
|
});
|
|
|
}
|
|
|
},
|
|
|
+ /**
|
|
|
+ * 保存用户答案
|
|
|
+ * @param {string} task_id 任务ID
|
|
|
+ * @param {string} user_id 用户ID
|
|
|
+ * @param {string} courseware_id 课件ID
|
|
|
+ */
|
|
|
+ saveMyAnswer({ task_id, user_id, courseware_id }) {
|
|
|
+ let answer = {};
|
|
|
+ this.$refs.preview.forEach((item) => {
|
|
|
+ answer[item.id] = JSON.stringify(item.getAnswer());
|
|
|
+ });
|
|
|
+ SaveMyAnswer({
|
|
|
+ task_id,
|
|
|
+ user_id,
|
|
|
+ courseware_id,
|
|
|
+ answer: JSON.stringify(answer),
|
|
|
+ }).then(() => {
|
|
|
+ this.$message.success('答案保存成功');
|
|
|
+ });
|
|
|
+ },
|
|
|
+ /**
|
|
|
+ * 获取用户答案
|
|
|
+ * @param {string} task_id 任务ID
|
|
|
+ * @param {string} user_id 用户ID
|
|
|
+ * @param {string} courseware_id 课件ID
|
|
|
+ */
|
|
|
+ getMyAnswer({ task_id, user_id, courseware_id }) {
|
|
|
+ GetMyAnswer({
|
|
|
+ task_id,
|
|
|
+ user_id,
|
|
|
+ courseware_id,
|
|
|
+ }).then(({ answer }) => {
|
|
|
+ if (answer) {
|
|
|
+ let _answer = JSON.parse(answer);
|
|
|
+ this.$refs.preview.forEach((item) => {
|
|
|
+ let answerItem = _answer[item.id];
|
|
|
+ if (answerItem) {
|
|
|
+ item.showAnswer(true, true, JSON.parse(answerItem), true);
|
|
|
+ }
|
|
|
+ });
|
|
|
+ }
|
|
|
+ });
|
|
|
+ },
|
|
|
+ /**
|
|
|
+ * 保存答案批改
|
|
|
+ * @param {string} task_id 任务ID
|
|
|
+ * @param {string} user_id 用户ID
|
|
|
+ * @param {string} courseware_id 课件ID
|
|
|
+ */
|
|
|
+ saveAnswerMarking({ task_id, user_id, courseware_id }) {
|
|
|
+ let answer_marking = {};
|
|
|
+ this.$refs.preview.forEach((item) => {
|
|
|
+ answer_marking[item.id] = JSON.stringify(item.getAnswerCorrect());
|
|
|
+ });
|
|
|
+ SaveAnswerMarking({
|
|
|
+ task_id,
|
|
|
+ user_id,
|
|
|
+ courseware_id,
|
|
|
+ answer_marking: JSON.stringify(answer_marking),
|
|
|
+ });
|
|
|
+ },
|
|
|
+ /**
|
|
|
+ * 获取答案批改
|
|
|
+ * @param {string} task_id 任务ID
|
|
|
+ * @param {string} user_id 用户ID
|
|
|
+ * @param {string} courseware_id 课件ID
|
|
|
+ */
|
|
|
+ getAnswerMarking({ task_id, user_id, courseware_id }) {
|
|
|
+ GetAnswerMarking({
|
|
|
+ task_id,
|
|
|
+ user_id,
|
|
|
+ courseware_id,
|
|
|
+ }).then(({ answer_marking }) => {
|
|
|
+ if (answer_marking) {
|
|
|
+ let _answer_marking = JSON.parse(answer_marking);
|
|
|
+ this.$refs.preview.forEach((item) => {
|
|
|
+ let answerMarkingItem = _answer_marking[item.id];
|
|
|
+ if (answerMarkingItem) {
|
|
|
+ item.setAnswerCorrect(JSON.parse(answerMarkingItem));
|
|
|
+ }
|
|
|
+ });
|
|
|
+ }
|
|
|
+ });
|
|
|
+ },
|
|
|
},
|
|
|
};
|
|
|
</script>
|