修复
After Width: | Height: | Size: 232 B |
After Width: | Height: | Size: 523 B |
After Width: | Height: | Size: 613 B |
After Width: | Height: | Size: 233 B |
After Width: | Height: | Size: 800 B |
After Width: | Height: | Size: 742 B |
After Width: | Height: | Size: 161 B |
After Width: | Height: | Size: 21 KiB |
After Width: | Height: | Size: 74 KiB |
After Width: | Height: | Size: 9.0 KiB |
After Width: | Height: | Size: 159 B |
After Width: | Height: | Size: 953 B |
After Width: | Height: | Size: 37 KiB |
After Width: | Height: | Size: 448 B |
After Width: | Height: | Size: 1.5 KiB |
After Width: | Height: | Size: 160 B |
After Width: | Height: | Size: 439 B |
After Width: | Height: | Size: 515 B |
After Width: | Height: | Size: 578 B |
After Width: | Height: | Size: 2.2 KiB |
After Width: | Height: | Size: 510 B |
After Width: | Height: | Size: 2.1 KiB |
After Width: | Height: | Size: 12 KiB |
After Width: | Height: | Size: 500 B |
After Width: | Height: | Size: 4.8 KiB |
After Width: | Height: | Size: 406 B |
After Width: | Height: | Size: 605 B |
After Width: | Height: | Size: 2.5 KiB |
After Width: | Height: | Size: 538 B |
After Width: | Height: | Size: 2.0 KiB |
After Width: | Height: | Size: 482 B |
After Width: | Height: | Size: 268 B |
After Width: | Height: | Size: 523 B |
After Width: | Height: | Size: 305 KiB |
After Width: | Height: | Size: 1.6 KiB |
After Width: | Height: | Size: 3.4 KiB |
After Width: | Height: | Size: 162 B |
After Width: | Height: | Size: 267 B |
After Width: | Height: | Size: 827 B |
After Width: | Height: | Size: 5.4 KiB |
After Width: | Height: | Size: 570 B |
After Width: | Height: | Size: 439 B |
After Width: | Height: | Size: 469 B |
After Width: | Height: | Size: 20 KiB |
After Width: | Height: | Size: 369 B |
After Width: | Height: | Size: 332 B |
After Width: | Height: | Size: 34 KiB |
After Width: | Height: | Size: 3.8 KiB |
After Width: | Height: | Size: 535 B |
After Width: | Height: | Size: 1.3 KiB |
After Width: | Height: | Size: 937 B |
After Width: | Height: | Size: 179 B |
After Width: | Height: | Size: 370 B |
@ -388,60 +388,60 @@
|
||||
</AppLayout>
|
||||
</template>
|
||||
<script setup lang="ts">
|
||||
import { defineProps, defineEmits } from 'vue'
|
||||
import { defineEmits } from 'vue'
|
||||
import AppLayout from './layout/AppLayout.vue'
|
||||
|
||||
// 定义接口
|
||||
interface ExamOption {
|
||||
id: string
|
||||
text: string
|
||||
image?: string
|
||||
}
|
||||
// interface ExamOption {
|
||||
// id: string
|
||||
// text: string
|
||||
// image?: string
|
||||
// }
|
||||
|
||||
interface ExamQuestion {
|
||||
id: number
|
||||
title: string
|
||||
content: string
|
||||
options: ExamOption[]
|
||||
correctAnswers: string[]
|
||||
userAnswers: string[]
|
||||
isCorrect: boolean
|
||||
}
|
||||
// interface ExamQuestion {
|
||||
// id: number
|
||||
// title: string
|
||||
// content: string
|
||||
// options: ExamOption[]
|
||||
// correctAnswers: string[]
|
||||
// userAnswers: string[]
|
||||
// isCorrect: boolean
|
||||
// }
|
||||
|
||||
interface ExamDetail {
|
||||
id: number
|
||||
title: string
|
||||
examDate?: string
|
||||
practiceDate?: string
|
||||
duration: number
|
||||
totalQuestions: number
|
||||
correctCount: number
|
||||
wrongCount: number
|
||||
score: number
|
||||
questions: ExamQuestion[]
|
||||
}
|
||||
// interface ExamDetail {
|
||||
// id: number
|
||||
// title: string
|
||||
// examDate?: string
|
||||
// practiceDate?: string
|
||||
// duration: number
|
||||
// totalQuestions: number
|
||||
// correctCount: number
|
||||
// wrongCount: number
|
||||
// score: number
|
||||
// questions: ExamQuestion[]
|
||||
// }
|
||||
|
||||
// 定义props
|
||||
const props = defineProps<{
|
||||
currentExamDetail: ExamDetail
|
||||
currentDetailType: 'exam' | 'practice'
|
||||
}>()
|
||||
// const props = defineProps<{
|
||||
// currentExamDetail: ExamDetail
|
||||
// currentDetailType: 'exam' | 'practice'
|
||||
// }>()
|
||||
|
||||
// 定义emits
|
||||
const emit = defineEmits(['close'])
|
||||
|
||||
// 关闭考试详情
|
||||
const closeExamDetail = () => {
|
||||
emit('close')
|
||||
}
|
||||
|
||||
// 获取答题项的样式
|
||||
const getAnswerItemClass = (questionId: number) => {
|
||||
const question = props.currentExamDetail.questions.find(q => q.id === questionId)
|
||||
if (!question) return ''
|
||||
if (question.userAnswers.length === 0) return 'not-answered'
|
||||
return question.isCorrect ? 'correct' : 'wrong'
|
||||
}
|
||||
//const closeExamDetail = () => {
|
||||
// emit('close')
|
||||
//}
|
||||
//
|
||||
//// 获取答题项的样式
|
||||
//const getAnswerItemClass = (questionId: number) => {
|
||||
// const question = props.currentExamDetail.questions.find(q => q.id === questionId)
|
||||
// if (!question) return ''
|
||||
// if (question.userAnswers.length === 0) return 'not-answered'
|
||||
// return question.isCorrect ? 'correct' : 'wrong'
|
||||
//}
|
||||
</script>
|
||||
<style scoped>
|
||||
body * {
|
||||
|
@ -673,36 +673,36 @@ const partners = computed(() => [
|
||||
])
|
||||
|
||||
// 精选评论数据
|
||||
const featuredReviews = computed(() => [
|
||||
{
|
||||
id: 1,
|
||||
name: t('home.reviewsData.reviewer1.name'),
|
||||
title: t('home.reviewsData.reviewer1.title'),
|
||||
avatar: '/opinion/opioion1.png',
|
||||
content: t('home.reviewsData.reviewer1.content')
|
||||
},
|
||||
{
|
||||
id: 2,
|
||||
name: t('home.reviewsData.reviewer2.name'),
|
||||
title: t('home.reviewsData.reviewer2.title'),
|
||||
avatar: '/opinion/opioion2.png',
|
||||
content: t('home.reviewsData.reviewer2.content')
|
||||
},
|
||||
{
|
||||
id: 3,
|
||||
name: t('home.reviewsData.reviewer3.name'),
|
||||
title: t('home.reviewsData.reviewer3.title'),
|
||||
avatar: '/opinion/opioion3.png',
|
||||
content: t('home.reviewsData.reviewer3.content')
|
||||
},
|
||||
{
|
||||
id: 3,
|
||||
name: t('home.reviewsData.reviewer3.name'),
|
||||
title: t('home.reviewsData.reviewer3.title'),
|
||||
avatar: '/opinion/opioion3.png',
|
||||
content: t('home.reviewsData.reviewer3.content')
|
||||
}
|
||||
])
|
||||
// const featuredReviews = computed(() => [
|
||||
// {
|
||||
// id: 1,
|
||||
// name: t('home.reviewsData.reviewer1.name'),
|
||||
// title: t('home.reviewsData.reviewer1.title'),
|
||||
// avatar: '/opinion/opioion1.png',
|
||||
// content: t('home.reviewsData.reviewer1.content')
|
||||
// },
|
||||
// {
|
||||
// id: 2,
|
||||
// name: t('home.reviewsData.reviewer2.name'),
|
||||
// title: t('home.reviewsData.reviewer2.title'),
|
||||
// avatar: '/opinion/opioion2.png',
|
||||
// content: t('home.reviewsData.reviewer2.content')
|
||||
// },
|
||||
// {
|
||||
// id: 3,
|
||||
// name: t('home.reviewsData.reviewer3.name'),
|
||||
// title: t('home.reviewsData.reviewer3.title'),
|
||||
// avatar: '/opinion/opioion3.png',
|
||||
// content: t('home.reviewsData.reviewer3.content')
|
||||
// },
|
||||
// {
|
||||
// id: 3,
|
||||
// name: t('home.reviewsData.reviewer3.name'),
|
||||
// title: t('home.reviewsData.reviewer3.title'),
|
||||
// avatar: '/opinion/opioion3.png',
|
||||
// content: t('home.reviewsData.reviewer3.content')
|
||||
// }
|
||||
// ])
|
||||
|
||||
// 跳转到课程详情页面
|
||||
const goToCourseDetail = (courseId: number) => {
|
||||
|
@ -2263,9 +2263,9 @@ const getFileIcon = () => {
|
||||
}
|
||||
}
|
||||
|
||||
const createNewFolder = () => {
|
||||
message.info('新建文件夹功能开发中...')
|
||||
}
|
||||
// const createNewFolder = () => {
|
||||
// message.info('新建文件夹功能开发中...')
|
||||
// }
|
||||
|
||||
const renameFile = (fileId: number) => {
|
||||
message.info(`重命名文件 ${fileId}`)
|
||||
@ -2382,17 +2382,17 @@ const closeExamDetail = () => {
|
||||
currentDetailType.value = 'exam'
|
||||
}
|
||||
|
||||
// 获取答题卡项目的样式类
|
||||
const getAnswerItemClass = (index: number) => {
|
||||
// 模拟答题状态:前10题答对,第11-15题答错,其余未答
|
||||
if (index <= 10) {
|
||||
return 'correct'
|
||||
} else if (index <= 15) {
|
||||
return 'wrong'
|
||||
} else {
|
||||
return 'unanswered'
|
||||
}
|
||||
}
|
||||
// // 获取答题卡项目的样式类
|
||||
// const getAnswerItemClass = (index: number) => {
|
||||
// // 模拟答题状态:前10题答对,第11-15题答错,其余未答
|
||||
// if (index <= 10) {
|
||||
// return 'correct'
|
||||
// } else if (index <= 15) {
|
||||
// return 'wrong'
|
||||
// } else {
|
||||
// return 'unanswered'
|
||||
// }
|
||||
// }
|
||||
|
||||
// 查看作业详情
|
||||
const viewAssignmentDetail = (assignment: Assignment) => {
|
||||
|