From 3534feff4ba350071c07a2a484882de63b232e71 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=BC=A0=E5=93=B2=E9=93=9C?= <9490856+zhangzhetong@user.noreply.gitee.com> Date: Sun, 12 Oct 2025 23:07:15 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E6=8D=A2=E8=B4=A6=E5=8F=B7=E6=8A=A5?= =?UTF-8?q?=E9=94=99?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../class-analysis/AverageScoreChart.vue | 12 ++++++---- .../marking/composables/useMarkingData.ts | 7 +++--- src/composables/useDict.ts | 5 ++-- src/composables/useUserId.ts | 7 ++++++ src/pages/class-analysis/question-detail.vue | 8 ++++--- .../class-analysis/question-score-detail.vue | 6 +++-- src/pages/index/score.vue | 24 +++++++++++-------- src/pages/marking/detail.vue | 3 ++- src/pages/marking/index.vue | 3 ++- src/pages/marking/marking-progress.vue | 5 ++-- src/pages/marking/marking-quality.vue | 5 ++-- src/pages/marking/review.vue | 5 ++-- 12 files changed, 57 insertions(+), 33 deletions(-) create mode 100644 src/composables/useUserId.ts diff --git a/src/components/class-analysis/AverageScoreChart.vue b/src/components/class-analysis/AverageScoreChart.vue index 9a1bb40..98ea4ae 100644 --- a/src/components/class-analysis/AverageScoreChart.vue +++ b/src/components/class-analysis/AverageScoreChart.vue @@ -4,6 +4,7 @@ import type * as API from '@/service/types' import { useQuery } from '@tanstack/vue-query' import UniEcharts from 'uni-echarts' import { computed, ref, watch } from 'vue' +import { useUserId } from '@/composables/useUserId' import { teacherAnalysisTrendUsingPost } from '@/service/laoshichengjifenxi' import { useHomeStore } from '@/store/home' @@ -74,15 +75,16 @@ const { isLoading: loading, refetch: refetchData, } = useQuery({ - queryKey: computed(() => [ + queryKey: [ 'class-trend', + useUserId(), homeStore.selectedClassId, homeStore.selectedGradeKey, - compareClassId.value, - compareClassGradeKey.value, + compareClassId, + compareClassGradeKey, props.selectedSubjectId, - topN.value, - ]), + topN, + ], queryFn: async () => { const response = await teacherAnalysisTrendUsingPost({ body: { diff --git a/src/components/marking/composables/useMarkingData.ts b/src/components/marking/composables/useMarkingData.ts index b14949b..1b6a3e7 100644 --- a/src/components/marking/composables/useMarkingData.ts +++ b/src/components/marking/composables/useMarkingData.ts @@ -4,6 +4,7 @@ import { useQuery, useQueryClient } from '@tanstack/vue-query' import { useDebounceFn, useThrottleFn } from '@vueuse/core' import { computed, inject, provide, readonly, ref, watch } from 'vue' import { examMarkingTaskApi } from '@/api' +import { useUserId } from '@/composables/useUserId' export interface MarkingSubmitData { score: number @@ -62,7 +63,7 @@ function createMarkingData(options: UseMarkingDataOptions) { error: questionError, refetch: refetchQuestion, } = useQuery({ - queryKey: computed(() => ['marking-question', taskId.value]), + queryKey: ['marking-question', taskId, useUserId()], queryFn: async () => examMarkingTaskApi.questionDetail(taskId.value), enabled: computed(() => !!taskId.value), gcTime: 0, @@ -73,7 +74,7 @@ function createMarkingData(options: UseMarkingDataOptions) { data: questionsListData, refetch: refetchQuestionsList, } = useQuery({ - queryKey: computed(() => ['marking-questions-list', examId?.value, subjectId?.value]), + queryKey: ['marking-questions-list', examId, subjectId, useUserId()], queryFn: async () => examMarkingTaskApi.byQuestionList({ exam_id: examId!.value!, exam_subject_id: subjectId!.value!, @@ -87,7 +88,7 @@ function createMarkingData(options: UseMarkingDataOptions) { data: avgScoreData, refetch: refetchAvgScore, } = useQuery({ - queryKey: computed(() => ['marking-avg-score', questionId.value, taskId.value]), + queryKey: ['marking-avg-score', questionId, taskId, useUserId()], queryFn: async () => examMarkingTaskApi.questionTaskAverageScoreComparisonDetail( questionId.value, taskId.value, diff --git a/src/composables/useDict.ts b/src/composables/useDict.ts index 69060a7..6bfbf7b 100644 --- a/src/composables/useDict.ts +++ b/src/composables/useDict.ts @@ -2,6 +2,7 @@ import type { DictionaryItem } from '@/service/types' import { useQuery, useQueryClient } from '@tanstack/vue-query' import { computed, readonly } from 'vue' import { dictionaryItemsUsingGet } from '@/service' +import { useUserId } from './useUserId' export type DictOptions = Array<{ label: string, value: string }> @@ -29,7 +30,7 @@ export function useDict() { */ const useDictOptionsQuery = (dictCode: string) => { return useQuery({ - queryKey: ['dict', dictCode], + queryKey: ['dict', dictCode, useUserId()], queryFn: async (): Promise => { try { const response = await dictionaryItemsUsingGet({ @@ -71,7 +72,7 @@ export function useDict() { // 通过query获取数据 return queryClient.fetchQuery({ - queryKey: ['dict', dictCode], + queryKey: ['dict', dictCode, useUserId()], queryFn: async (): Promise => { try { const response = await dictionaryItemsUsingGet({ diff --git a/src/composables/useUserId.ts b/src/composables/useUserId.ts new file mode 100644 index 0000000..2fa29b7 --- /dev/null +++ b/src/composables/useUserId.ts @@ -0,0 +1,7 @@ +import { useUserStore } from '@/store' + +export function useUserId() { + const userStore = useUserStore() + const userId = computed(() => userStore.info.id) + return userId +} diff --git a/src/pages/class-analysis/question-detail.vue b/src/pages/class-analysis/question-detail.vue index eb8d585..77c3451 100644 --- a/src/pages/class-analysis/question-detail.vue +++ b/src/pages/class-analysis/question-detail.vue @@ -13,6 +13,7 @@ import { useQuery } from '@tanstack/vue-query' import { computed, onMounted, ref } from 'vue' import QuestionDetailPopup from '@/components/class-analysis/QuestionDetailPopup.vue' import QuestionDetailTable from '@/components/class-analysis/QuestionDetailTable.vue' +import { useUserId } from '@/composables/useUserId' import { teacherAnalysisQuestionDetailUsingPost, teacherAnalysisQuestionScoreDetailUsingPost } from '@/service/laoshixiaotichengjifenxi' import { useHomeStore } from '@/store/home' @@ -34,13 +35,14 @@ const { data: questionDetailData, isLoading: loading, } = useQuery({ - queryKey: computed(() => [ + queryKey: [ 'question-detail', - selectedExamId.value, + useUserId(), + selectedExamId, homeStore.selectedGradeKey, homeStore.selectedClassId, homeStore.selectedSubjectId, - ]), + ], queryFn: async () => { const response = await teacherAnalysisQuestionDetailUsingPost({ body: { diff --git a/src/pages/class-analysis/question-score-detail.vue b/src/pages/class-analysis/question-score-detail.vue index 1723e1c..137a0d7 100644 --- a/src/pages/class-analysis/question-score-detail.vue +++ b/src/pages/class-analysis/question-score-detail.vue @@ -10,6 +10,7 @@