From 360f252566e55aae61f0bb17469cb28955dc32bc Mon Sep 17 00:00:00 2001 From: ZhangXianQiang <1135831638@qq.com> Date: 星期二, 11 六月 2024 10:12:02 +0800 Subject: [PATCH] feat:答题切换 --- src/views/exam/components/answer-sheet/index.vue | 49 ++++++++++++++----------------------------------- 1 files changed, 14 insertions(+), 35 deletions(-) diff --git a/src/views/exam/components/answer-sheet/index.vue b/src/views/exam/components/answer-sheet/index.vue index eb8c60b..b25642b 100644 --- a/src/views/exam/components/answer-sheet/index.vue +++ b/src/views/exam/components/answer-sheet/index.vue @@ -1,12 +1,12 @@ <template> <div class="sheet-container w-full h-full"> <el-scrollbar> - <el-collapse v-model="activeNames" @change="handleChange"> - <template v-for="item in sheetList"> - <el-collapse-item :title="item.title" :name="item.type"> + <el-collapse v-model="activeNames"> + <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="index in item.total" @click="sheetClick(item,index)" :class="itemClass(item.type, index)"> - {{ index }} + <div class="sheet-item cursor-pointer flex justify-center items-center" v-for="question,index in item.questionList" @click="sheetClick(question,index)" :class="itemClass(item.questionType, index)"> + {{ index + 1 }} </div> </div> </el-collapse-item> @@ -18,45 +18,24 @@ <script setup> import { ref } from 'vue'; +import {storeToRefs} from 'pinia'; +import {useExamStore} from '@/store/index.js'; +const examStore = useExamStore(); -const categroy = ref(0); -const sheetIndex = ref(0); +const {examType, examDetail,currentType,currentIndex} = storeToRefs(examStore); const itemClass = (type,index) => { return { - active: categroy.value === type && sheetIndex.value === index + active: currentType.value === type && currentIndex.value === index } } - -const sheetList = ref([ - { - title: '鍗曢�夐', - type: 1, - total: 20, - }, - { - title: '澶氶�夐', - type: 2, - total: 20, - }, - { - title: '鍒ゆ柇棰�', - type: 3, - total: 20, - }, -]); - -const activeNames = ref(sheetList.value.map(item => item.type)); - - -const handleChange = () => { - -}; +const activeNames = ref(examDetail.value.map(item => item.questionType)); const sheetClick = (item, index) => { - categroy.value = item.type; - sheetIndex.value = index; + currentType.value = item.questionType; + currentIndex.value = index; + examStore.setActiveQuestion(item); } </script> -- Gitblit v1.8.0