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