diff --git a/frontend/ruoyi-ui/src/views/business/school/components/ClassDialog.vue b/frontend/ruoyi-ui/src/views/business/school/components/ClassDialog.vue index 7669542..6b2c7c0 100644 --- a/frontend/ruoyi-ui/src/views/business/school/components/ClassDialog.vue +++ b/frontend/ruoyi-ui/src/views/business/school/components/ClassDialog.vue @@ -39,7 +39,10 @@ */ import { ElMessage } from 'element-plus' import { onMounted, ref } from 'vue' -import { addGradeClass, getClassOptions } from '@/api/pangu/school' +import { addGradeClass } from '@/api/pangu/school' +import useBaseDataStore from '@/store/modules/baseData' + +const baseDataStore = useBaseDataStore() const emit = defineEmits(['success']) @@ -59,18 +62,16 @@ const form = ref({ // 已有班级ID列表 const existingClassIds = ref([]) -// 获取班级选项 +// 获取班级选项(使用 Store 缓存) const fetchClassOptions = async () => { try { - const res = await getClassOptions() - if (res.code === 200) { - // 转换为选项格式 { value: classId, label: className } - classOptions.value = (res.data || []).map(item => ({ - value: item.classId, - label: item.className, - disabled: existingClassIds.value.includes(item.classId) - })) - } + const data = await baseDataStore.fetchClasses() + // 转换为选项格式 { value: classId, label: className } + classOptions.value = (data || []).map(item => ({ + value: item.classId, + label: item.className, + disabled: existingClassIds.value.includes(item.classId) + })) } catch (error) { console.error('获取班级选项失败:', error) } diff --git a/frontend/ruoyi-ui/src/views/business/school/components/GradeDialog.vue b/frontend/ruoyi-ui/src/views/business/school/components/GradeDialog.vue index 01e3220..ab4353d 100644 --- a/frontend/ruoyi-ui/src/views/business/school/components/GradeDialog.vue +++ b/frontend/ruoyi-ui/src/views/business/school/components/GradeDialog.vue @@ -39,7 +39,10 @@ */ import { ElMessage } from 'element-plus' import { onMounted, ref } from 'vue' -import { addSchoolGrade, getGradeOptions } from '@/api/pangu/school' +import { addSchoolGrade } from '@/api/pangu/school' +import useBaseDataStore from '@/store/modules/baseData' + +const baseDataStore = useBaseDataStore() const emit = defineEmits(['success']) @@ -58,18 +61,16 @@ const form = ref({ // 已有年级ID列表 const existingGradeIds = ref([]) -// 获取年级选项 +// 获取年级选项(使用 Store 缓存) const fetchGradeOptions = async () => { try { - const res = await getGradeOptions() - if (res.code === 200) { - // 转换为选项格式 { value: gradeId, label: gradeName } - gradeOptions.value = (res.data || []).map(item => ({ - value: item.gradeId, - label: item.gradeName, - disabled: existingGradeIds.value.includes(item.gradeId) - })) - } + const data = await baseDataStore.fetchGrades() + // 转换为选项格式 { value: gradeId, label: gradeName } + gradeOptions.value = (data || []).map(item => ({ + value: item.gradeId, + label: item.gradeName, + disabled: existingGradeIds.value.includes(item.gradeId) + })) } catch (error) { console.error('获取年级选项失败:', error) } diff --git a/frontend/ruoyi-ui/src/views/member/components/MemberDialog.vue b/frontend/ruoyi-ui/src/views/member/components/MemberDialog.vue index 47c88b9..1ea6052 100644 --- a/frontend/ruoyi-ui/src/views/member/components/MemberDialog.vue +++ b/frontend/ruoyi-ui/src/views/member/components/MemberDialog.vue @@ -147,10 +147,13 @@