import { ref, computed } from 'vue'; import { defineStore } from 'pinia'; export const useExamStore = defineStore('exam', () => { const examInfo = ref({ examId: 1, examName: '考试名称', examType: '考试类型', examStatus: '考试状态', examStartTime: '2021-01-01', examEndTime: '2021-01-01', }); const examType = ref({ 1: '单选题', 2: '多选题', }); const currentType = ref(1); const currentIndex = ref(0); const examDetail = ref([ { questionType: 1, questionList: [ { "id": null, "questionType": 1, "gradeLevel": null, "subjectId": 2, "title": "1+1=?123", "items": [ { "prefix": "A", "content": "1" }, { "prefix": "B", "content": "2" }, { "prefix": "C", "content": "3" }, { "prefix": "D", "content": "4" } ], "analyze": "问小朋友", "correct": "", "score": "", "difficult": 5 }, { "id": null, "questionType": 1, "gradeLevel": null, "subjectId": 2, "title": "1+1=?", "items": [ { "prefix": "A", "content": "1" }, { "prefix": "B", "content": "2" }, { "prefix": "C", "content": "3" }, { "prefix": "D", "content": "4" } ], "analyze": "问小朋友", "correct": "", "score": "", "difficult": 5 } ] }, { questionType: 2, questionList: [ { "id": null, "questionType": 1, "gradeLevel": null, "subjectId": 2, "title": "1+1=?", "items": [ { "prefix": "A", "content": "1" }, { "prefix": "B", "content": "2" }, { "prefix": "C", "content": "3" }, { "prefix": "D", "content": "4" } ], "analyze": "问小朋友", "correct": "", "score": "", "difficult": 5 }, { "id": null, "questionType": 1, "gradeLevel": null, "subjectId": 2, "title": "1+1=?", "items": [ { "prefix": "A", "content": "1" }, { "prefix": "B", "content": "2" }, { "prefix": "C", "content": "3" }, { "prefix": "D", "content": "4" } ], "analyze": "问小朋友", "correct": "", "score": "", "difficult": 5 } ] } ]); const activeQuestion = ref(null); const getActiveQuestion = computed(() => { const temp = examDetail.value.find(item => item.questionType === currentType.value); if(temp) { return temp.questionList[currentIndex.value]; } }) const setExamInfo = (info) => { examInfo.value = info; }; const setExamDetail = (detail) => { 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) { temp.questionList[index].correct = answer; } }; return { examInfo, examDetail, examType, activeQuestion, currentType, currentIndex, getActiveQuestion, setExamInfo, setExamDetail, setActiveQuestion, setQuestionAnswer }; });