diff --git a/src/hooks/useCommon.js b/src/hooks/useCommon.js new file mode 100644 index 0000000..882b0c6 --- /dev/null +++ b/src/hooks/useCommon.js @@ -0,0 +1,34 @@ +import { ref } from 'vue' +import { getProjectApi, getMajorApi } from '@/services/common' +import { useCommonStore } from '@/stores/index' +const commonStore = useCommonStore() + +export default function getProjectAndMajorData() { + // 定义公共 hooks 把项目数据和专业数据 return出去 + const projectList = ref([]) + const majorList = ref([]) + + // 先从store里面判断之前是否已经存过 如果没有存则发起请求获取数据并存入store里面 当存过之后 其他页面使用时则无需再重复发起请求获取 + + async function getData() { + // 项目数据 + if (!commonStore.projectList || commonStore.projectList.length < 1) { + const { data: result } = await getProjectApi({}) + commonStore.setProjectList(result) + projectList.value = result + } else { + projectList.value = commonStore.projectList + } + + // 专业数据 + if (!commonStore.majorList || commonStore.majorList.length < 1) { + const { data: res } = await getMajorApi() + commonStore.setMajorList(res) + majorList.value = res + } else { + majorList.value = commonStore.majorList + } + } + + return { getData, projectList, majorList } +} diff --git a/src/pages/qualityInspection/components/addAndEditForm.vue b/src/pages/qualityInspection/components/addAndEditForm.vue index c77e424..462b67c 100644 --- a/src/pages/qualityInspection/components/addAndEditForm.vue +++ b/src/pages/qualityInspection/components/addAndEditForm.vue @@ -47,7 +47,7 @@ - + - + @@ -233,10 +236,15 @@