perf: 其他页面使用 Store 缓存基础数据

- EducationDialog.vue: 区域树、学科列表使用 Store
- school/index.vue: 区域树使用 Store

所有基础数据调用统一使用 Store,命中缓存后秒加载
This commit is contained in:
神码-方晓辉 2026-02-03 17:25:10 +08:00
parent 4243f6581d
commit 81b1d5327b
2 changed files with 12 additions and 11 deletions

View File

@ -64,6 +64,9 @@
import request from '@/utils/request'
import { ElMessage } from 'element-plus'
import { reactive, ref } from 'vue'
import useBaseDataStore from '@/store/modules/baseData'
const baseDataStore = useBaseDataStore()
const emit = defineEmits(['success', 'add', 'update'])
@ -165,24 +168,22 @@ const resetForm = () => {
}
/**
* 加载区域树
* 加载区域树使用 Store 缓存
*/
const loadRegionTree = async () => {
try {
const res = await request.get('/business/region/tree')
regionTree.value = res.data || []
regionTree.value = await baseDataStore.fetchRegionTree()
} catch (e) {
regionTree.value = []
}
}
/**
* 加载学科列表
* 加载学科列表使用 Store 缓存
*/
const loadSubjectList = async () => {
try {
const res = await request.get('/business/subject/listAll')
subjectList.value = res.data || []
subjectList.value = await baseDataStore.fetchSubjects()
} catch (e) {
subjectList.value = []
}

View File

@ -132,6 +132,9 @@ import request from '@/utils/request'
import ClassDialog from './components/ClassDialog.vue'
import GradeDialog from './components/GradeDialog.vue'
import SchoolDialog from './components/SchoolDialog.vue'
import useBaseDataStore from '@/store/modules/baseData'
const baseDataStore = useBaseDataStore()
//
const treeRef = ref()
@ -166,12 +169,9 @@ const filterNode = (value, data) => {
return data.regionName.includes(value)
}
//
// 使 Store
const getRegionTree = async () => {
const res = await request.get('/business/region/tree')
if (res.code === 200) {
regionTree.value = res.data
}
regionTree.value = await baseDataStore.fetchRegionTree()
}
//