diff --git a/reading-platform-frontend/src/views/admin/courses/CourseDetailView.vue b/reading-platform-frontend/src/views/admin/courses/CourseDetailView.vue index 966dd4b..76f54ad 100644 --- a/reading-platform-frontend/src/views/admin/courses/CourseDetailView.vue +++ b/reading-platform-frontend/src/views/admin/courses/CourseDetailView.vue @@ -448,6 +448,7 @@ import { EnvironmentOutlined, } from '@ant-design/icons-vue'; import * as courseApi from '@/api/course'; +import { translateDomainTags } from '@/utils/tagMaps'; import FilePreviewModal from '@/components/FilePreviewModal.vue'; const router = useRouter(); @@ -527,12 +528,12 @@ const grades = computed(() => { } }); -// 领域标签 +// 领域标签(核心发展目标,翻译为中文) const domainTags = computed(() => { if (!course.value.domainTags) return []; try { const tags = JSON.parse(course.value.domainTags); - return tags; + return translateDomainTags(Array.isArray(tags) ? tags : []); } catch { return []; } diff --git a/reading-platform-frontend/src/views/school/courses/CourseDetailView.vue b/reading-platform-frontend/src/views/school/courses/CourseDetailView.vue index d0436ba..34f1ce1 100644 --- a/reading-platform-frontend/src/views/school/courses/CourseDetailView.vue +++ b/reading-platform-frontend/src/views/school/courses/CourseDetailView.vue @@ -457,6 +457,7 @@ import { EnvironmentOutlined, } from '@ant-design/icons-vue'; import * as schoolApi from '@/api/school'; +import { translateDomainTags } from '@/utils/tagMaps'; import FilePreviewModal from '@/components/FilePreviewModal.vue'; const router = useRouter(); @@ -539,14 +540,15 @@ const grades = computed(() => { } }); -// 领域标签 +// 领域标签(核心发展目标,翻译为中文) const domainTags = computed(() => { if (!course.value.domainTags) return []; try { const tags = JSON.parse(course.value.domainTags); - return Array.isArray(tags) ? tags : []; + const arr = Array.isArray(tags) ? tags : []; + return translateDomainTags(arr); } catch { - return Array.isArray(course.value.domainTags) ? course.value.domainTags : []; + return Array.isArray(course.value.domainTags) ? translateDomainTags(course.value.domainTags) : []; } }); diff --git a/reading-platform-frontend/src/views/teacher/courses/CourseDetailView.vue b/reading-platform-frontend/src/views/teacher/courses/CourseDetailView.vue index 1a380d8..2741b30 100644 --- a/reading-platform-frontend/src/views/teacher/courses/CourseDetailView.vue +++ b/reading-platform-frontend/src/views/teacher/courses/CourseDetailView.vue @@ -467,7 +467,7 @@ import { } from '@ant-design/icons-vue'; import { message } from 'ant-design-vue'; import * as teacherApi from '@/api/teacher'; -import { translateGradeTags } from '@/utils/tagMaps'; +import { translateGradeTags, translateDomainTags } from '@/utils/tagMaps'; import FilePreviewModal from '@/components/FilePreviewModal.vue'; const router = useRouter(); @@ -551,14 +551,15 @@ const grades = computed(() => { } }); -// 领域标签 +// 领域标签(核心发展目标,翻译为中文) const domainTags = computed(() => { if (!course.value.domainTags) return []; try { const tags = JSON.parse(course.value.domainTags); - return Array.isArray(tags) ? tags : []; + const arr = Array.isArray(tags) ? tags : []; + return translateDomainTags(arr); } catch { - return Array.isArray(course.value.domainTags) ? course.value.domainTags : []; + return Array.isArray(course.value.domainTags) ? translateDomainTags(course.value.domainTags) : []; } });