From d37dc9cb6a611ac03d70b65f6e91e85824ede289 Mon Sep 17 00:00:00 2001
From: ZhangXianQiang <1135831638@qq.com>
Date: 星期四, 04 七月 2024 18:49:23 +0800
Subject: [PATCH] fix:修改简答题计算题
---
src/views/grade/components/answer-main/answer-determine/index.vue | 10 +-
src/views/grade/components/answer-main/answer-fill/index.vue | 9 +-
src/views/grade/components/answer-main/answer-count/index.vue | 62 +++++++++++++++++---
src/views/grade/components/answer-main/answer-short/index.vue | 65 ++++++++++++++++-----
4 files changed, 111 insertions(+), 35 deletions(-)
diff --git a/src/views/grade/components/answer-main/answer-count/index.vue b/src/views/grade/components/answer-main/answer-count/index.vue
index bca7347..7a57fe2 100644
--- a/src/views/grade/components/answer-main/answer-count/index.vue
+++ b/src/views/grade/components/answer-main/answer-count/index.vue
@@ -1,7 +1,7 @@
-<!-- 璁$畻棰� -->
+<!-- 绠�绛旈 -->
<template>
- <div class="answer-container w-full h-full">
- <el-scrollbar>
+ <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">
@@ -9,16 +9,34 @@
: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">姝g‘绛旀</div>
+ <div class="item-info" v-html="activeQuestion.questionAnswer"></div>
+ </div>
+
+ <div class="analysis-item text-gray-700">
+ <div class="item-label">瑙f瀽</div>
+ <div class="item-info" v-html="activeQuestion.analyze"></div>
+ </div>
+ </div>
+ </el-scrollbar>
</div>
</template>
<script setup>
-import { ref,watchEffect } from 'vue';
+import { ref,computed } from 'vue';
import { storeToRefs } from 'pinia';
import ExamInfo from '@/components/ExamInfo/index.vue';
-import { useExamStore } from '@/store/index.js';
-
-const examStore = useExamStore();
+import { useGradeStore } from '@/store/index.js';
+const gradeStore = useGradeStore();
const editorConfig = {
// 鍚庣鏈嶅姟鍦板潃锛屽悗绔鐞嗗弬鑰�
@@ -38,13 +56,37 @@
]
};
-const { currentType, currentIndex } = storeToRefs(examStore);
+const { currentType, currentIndex } = storeToRefs(gradeStore);
-const activeQuestion = ref(examStore.getActiveQuestion);
-const content = ref(activeQuestion.value.answer);
+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>
\ No newline at end of file
diff --git a/src/views/grade/components/answer-main/answer-determine/index.vue b/src/views/grade/components/answer-main/answer-determine/index.vue
index 5f23935..e29e3f8 100644
--- a/src/views/grade/components/answer-main/answer-determine/index.vue
+++ b/src/views/grade/components/answer-main/answer-determine/index.vue
@@ -1,6 +1,6 @@
<!-- 鍒ゆ柇棰� -->
<template>
- <div class="answer-container w-full h-full">
+ <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>
@@ -38,12 +38,12 @@
import { ref, computed } from 'vue';
import { storeToRefs } from 'pinia';
import ExamInfo from '@/components/ExamInfo/index.vue';
-import { useExamStore } from '@/store/index.js';
-const examStore = useExamStore();
+import { useGradeStore } from '@/store/index.js';
+const gradeStore = useGradeStore();
-const { currentType, currentIndex } = storeToRefs(examStore);
+const { currentType, currentIndex } = storeToRefs(gradeStore);
-const activeQuestion = ref(examStore.getActiveQuestion);
+const activeQuestion = ref(gradeStore.getActiveQuestion);
const answerState = (item) => {
diff --git a/src/views/grade/components/answer-main/answer-fill/index.vue b/src/views/grade/components/answer-main/answer-fill/index.vue
index 2546644..abe16cd 100644
--- a/src/views/grade/components/answer-main/answer-fill/index.vue
+++ b/src/views/grade/components/answer-main/answer-fill/index.vue
@@ -19,14 +19,13 @@
import { ref,computed } from 'vue';
import { storeToRefs } from 'pinia';
import ExamInfo from '@/components/ExamInfo/index.vue';
-import { useExamStore } from '@/store/index.js';
-const examStore = useExamStore();
+import { useGradeStore } from '@/store/index.js';
+const gradeStore = useGradeStore();
+const { currentType, currentIndex } = storeToRefs(useGradeStore);
-const { currentType, currentIndex } = storeToRefs(examStore);
-
-const activeQuestion = ref(examStore.getActiveQuestion);
+const activeQuestion = ref(examStore.useGradeStore);
const answerState = (item,index) => {
diff --git a/src/views/grade/components/answer-main/answer-short/index.vue b/src/views/grade/components/answer-main/answer-short/index.vue
index e5f4d49..7a57fe2 100644
--- a/src/views/grade/components/answer-main/answer-short/index.vue
+++ b/src/views/grade/components/answer-main/answer-short/index.vue
@@ -1,25 +1,42 @@
<!-- 绠�绛旈 -->
<template>
- <div class="answer-container w-full h-full">
- <el-scrollbar>
+ <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-button @click="testClick">鍐呭鏄剧ず</el-button>
+ </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">姝g‘绛旀</div>
+ <div class="item-info" v-html="activeQuestion.questionAnswer"></div>
+ </div>
+
+ <div class="analysis-item text-gray-700">
+ <div class="item-label">瑙f瀽</div>
+ <div class="item-info" v-html="activeQuestion.analyze"></div>
+ </div>
+ </div>
</el-scrollbar>
</div>
</template>
<script setup>
-import { ref,watchEffect } from 'vue';
+import { ref,computed } from 'vue';
import { storeToRefs } from 'pinia';
import ExamInfo from '@/components/ExamInfo/index.vue';
-import { useExamStore } from '@/store/index.js';
-
-const examStore = useExamStore();
+import { useGradeStore } from '@/store/index.js';
+const gradeStore = useGradeStore();
const editorConfig = {
// 鍚庣鏈嶅姟鍦板潃锛屽悗绔鐞嗗弬鑰�
@@ -39,19 +56,37 @@
]
};
-const { currentType, currentIndex } = storeToRefs(examStore);
+const { currentType, currentIndex } = storeToRefs(gradeStore);
-const activeQuestion = ref(examStore.getActiveQuestion);
-const content = ref(activeQuestion.value.answer);
+const activeQuestion = ref(gradeStore.getActiveQuestion);
+const content = ref(activeQuestion.value.questionAnswer);
-const testClick = () => {
- console.log(content.value);
-}
-watchEffect(() => {
- examStore.setQuestionAnswer(currentType.value, currentIndex.value, content.value);
+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>
\ No newline at end of file
--
Gitblit v1.8.0