diff --git a/mobile-uni/src/pages/user/learning/index.vue b/mobile-uni/src/pages/user/learning/index.vue index 2e18409c..be35aa27 100644 --- a/mobile-uni/src/pages/user/learning/index.vue +++ b/mobile-uni/src/pages/user/learning/index.vue @@ -1,17 +1,17 @@ @@ -346,6 +471,32 @@ const examLoading = ref(false); const requests = createPageRequestScope(); let visibleAccountKey = ''; +const activeTab = ref<'tasks' | 'sop' | 'exam'>('tasks'); + +const assignmentAccentClass = (source?: string) => { + if (source === 'daily') return 'accent-daily'; + if (source === 'retry') return 'accent-retry'; + return 'accent-practice'; +}; + +const assignmentTagClass = (source?: string) => { + if (source === 'daily') return 'tag-daily'; + if (source === 'retry') return 'tag-retry'; + return 'tag-practice'; +}; + +const assignmentTagIcon = (source?: string) => { + if (source === 'daily') return 'compose'; + if (source === 'retry') return 'refresh'; + return 'flag-filled'; +}; + +const assignmentTagColor = (source?: string) => { + if (source === 'daily') return '#2d80ff'; + if (source === 'retry') return '#d97706'; + return '#e60012'; +}; + const defaultTopic = computed(() => `${positionProfile.value.value} 岗前 SOP`); const topics = computed(() => buildLearningTopics( assignments.value, @@ -731,487 +882,507 @@ onUnload(invalidateRequests);