From 5395425ba59409622112facef8fa06e52846135d Mon Sep 17 00:00:00 2001 From: BianLzhaoMin <11485688+bianliangzhaomin123@user.noreply.gitee.com> Date: Mon, 7 Apr 2025 11:27:47 +0800 Subject: [PATCH] =?UTF-8?q?=E5=AE=89=E5=85=A8=E8=BF=9D=E7=AB=A0=E6=8E=A5?= =?UTF-8?q?=E5=8F=A3=E8=B0=83=E8=AF=95=E5=AE=8C=E6=88=90?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/hooks/useCommon.js | 34 ++ .../components/addAndEditForm.vue | 2 +- .../components/addAndEditForm.vue | 323 ++++++++++++------ src/pages/safetyViolations/index.vue | 6 +- .../safetyViolations/upload-record/index.vue | 120 ++++--- src/services/qualityInspection.js | 40 +++ src/services/safetyViolations.js | 27 ++ src/stores/index.js | 1 + src/stores/modules/common.js | 26 ++ src/utils/http.js | 4 +- 10 files changed, 438 insertions(+), 145 deletions(-) create mode 100644 src/hooks/useCommon.js create mode 100644 src/services/qualityInspection.js create mode 100644 src/stores/modules/common.js 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 @@