ZhangXianQiang
2024-06-19 d95c23683388adbb8bd511f6d5da52bbec16ffd0
feat(考试):答题卡选项状态变化
3个文件已修改
18 ■■■■■ 已修改文件
src/store/modules/exam.js 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/exam/components/answer-main/answer-single/index.vue 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/exam/components/answer-sheet/index.vue 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/store/modules/exam.js
@@ -165,10 +165,6 @@
    examDetail.value = detail;
  };
  const setActiveQuestion = (detail) => {
    activeQuestion.value = detail;
  };
  const setQuestionAnswer = (type, index, answer) => {
    const temp = examDetail.value.find(item => item.questionType === type);
    if(temp) {
@@ -187,7 +183,6 @@
    getActiveQuestion,
    setExamInfo,
    setExamDetail,
    setActiveQuestion,
    setQuestionAnswer
  };
});
src/views/exam/components/answer-main/answer-single/index.vue
@@ -16,13 +16,13 @@
</template>
<script setup>
import { ref, onMounted } from 'vue';
import { ref } from 'vue';
import {storeToRefs} from 'pinia';
import ExamInfo from '@/components/ExamInfo/index.vue';
import {useExamStore} from '@/store/index.js';
const examStore = useExamStore();
const {currentType,currentIndex,examDetail} = storeToRefs(examStore);
const {currentType,currentIndex} = storeToRefs(examStore);
const activeQuestion = ref(examStore.getActiveQuestion);
src/views/exam/components/answer-sheet/index.vue
@@ -5,7 +5,7 @@
        <template v-for="item in examDetail">
          <el-collapse-item :title="examType[item.questionType]" :name="item.questionType">
            <div class="sheet-list grid grid-cols-5 gap-4 justify-items-center">
              <div class="sheet-item cursor-pointer flex justify-center items-center" v-for="question,index in item.questionList" @click="sheetClick(item.questionType,index)" :class="itemClass(item,item.questionType, index)">
              <div class="sheet-item cursor-pointer flex justify-center items-center" v-for="question,index in item.questionList" @click="sheetClick(item.questionType,index)" :class="itemClass(question,item.questionType, index)">
                {{ index + 1 }}
              </div>
            </div>
@@ -17,12 +17,14 @@
</template>
<script setup>
import { ref } from 'vue';
import { ref,watchEffect } from 'vue';
import {storeToRefs} from 'pinia';
import {useExamStore} from '@/store/index.js';
const examStore = useExamStore();
const {examType, examDetail,currentType,currentIndex} = storeToRefs(examStore);
const activeNames = ref(examDetail.value.map(item => item.questionType));
const itemClass = (question,type,index) => {
  return {
@@ -31,12 +33,11 @@
  }
}
const activeNames = ref(examDetail.value.map(item => item.questionType));
const sheetClick = (type,index) => {
  currentType.value = type;
  currentIndex.value = index;
}
</script>
<style lang="scss" scoped>