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 @@