Browse Source

优化检验检查的缓存问题

lighter 1 year ago
parent
commit
2ce4b6f3f3

+ 12 - 12
src/store/index.js

@@ -13,11 +13,11 @@ export default createStore({
     homePageDoctors: [],
     appointmentInfo: {},
     examDateRange: [],
-    examIndexArray: [],
+    examIndexArrayMap: {},
     currentExamIndex: {},
-    testIndexArray: [],
-    pathologyIndexArray: [],
-    electroIndexArray: [],
+    testIndexArrayMap: [],
+    pathologyIndexArrayMap: [],
+    electroIndexArrayMap: [],
     currentPathologyIndex: {},
     currentElectroIndex: {},
     currentBook: {},
@@ -94,13 +94,13 @@ export default createStore({
     SET_HOMEPAGE_DOCTORS: (state, payload) => (state.homePageDoctors = payload),
     SET_APPOINTMENT_INFO: (state, payload) => (state.appointmentInfo = payload),
     SET_EXAM_DATE_RANGE: (state, payload) => (state.examDateRange = payload),
-    SET_EXAM_INDEX_ARRAY: (state, payload) => (state.examIndexArray = payload),
+    PUSH_EXAM_INDEX_ARRAY: (state, payload) => (state.examIndexArrayMap[payload.id] = payload.val),
     SET_CURRENT_EXAM_INDEX: (state, payload) => (state.currentExamIndex = payload),
     SET_CURRENT_PATHOLOGY_INDEX: (state, payload) => (state.currentPathologyIndex = payload),
     SET_CURRENT_ELECTRO_INDEX: (state, payload) => (state.currentElectroIndex = payload),
-    SET_TEST_INDEX_ARRAY: (state, payload) => (state.testIndexArray = payload),
-    SET_PATHOLOGY_INDEX_ARRAY: (state, payload) => (state.pathologyIndexArray = payload),
-    SET_ELECTRO_INDEX_ARRAY: (state, payload) => (state.electroIndexArray = payload),
+    PUSH_TEST_INDEX_ARRAY: (state, payload) => (state.testIndexArrayMap[payload.id] = payload.val),
+    PUSH_PATHOLOGY_INDEX_ARRAY: (state, payload) => (state.pathologyIndexArrayMap[payload.id] = payload.val),
+    PUSH_ELECTRO_INDEX_ARRAY: (state, payload) => (state.electroIndexArrayMap[payload.id] = payload.val),
     SET_CURRENT_BOOK: (state, payload) => (state.currentBook = payload),
     SET_YJ_REQ_NO: (state, payload) => (state.yjReqNo = payload),
     SET_PHYSICAL_EXAM_NEXT_PAGE: (state, payload) => (state.physicalExamNextPage = payload),
@@ -147,7 +147,7 @@ export default createStore({
     },
 
     storeExamIndexArray({ commit }, payload) {
-      commit('SET_EXAM_INDEX_ARRAY', payload['examIndexArray'])
+      commit('PUSH_EXAM_INDEX_ARRAY', payload)
     },
 
     storeCurrentBookItem({ commit }, payload) {
@@ -171,15 +171,15 @@ export default createStore({
     },
 
     storeTestIndexArray({commit}, payload) {
-      commit('SET_TEST_INDEX_ARRAY', payload['testIndexArray'])
+      commit('PUSH_TEST_INDEX_ARRAY', payload)
     },
     
     storePathologyIndexArray({ commit }, payload) {
-      commit('SET_PATHOLOGY_INDEX_ARRAY', payload['pathologyIndexArray'])
+      commit('PUSH_PATHOLOGY_INDEX_ARRAY', payload)
     },
     
     storeElectroIndexArray({ commit }, payload) {
-      commit('SET_ELECTRO_INDEX_ARRAY', payload['electroIndexArray'])
+      commit('PUSH_ELECTRO_INDEX_ARRAY', payload)
     },
 
     storeYjReqNo({commit}, payload) {

+ 3 - 2
src/views/hospital-service/check-exam/electrocardiogram/CheckElectroIndex.vue

@@ -110,7 +110,7 @@ const makeOffset = (offsetDays) => {
 
 const showDateRange = ref(false)
 const electroIndex = computed(() => {
-  return store.state.electroIndexArray
+  return store.state.electroIndexArrayMap[patientId] || []
 })
 
 const onConfirm = (values) => {
@@ -135,7 +135,8 @@ const queryElectroIndex = (start, end) => {
   checkElectroIndex(param).then((res) => {
     store.dispatch({
       type: 'storeElectroIndexArray',
-      electroIndexArray: res
+      id: patientId,
+      val: res
     })
   })
 }

+ 3 - 2
src/views/hospital-service/check-exam/exam/CheckExamIndex.vue

@@ -106,7 +106,7 @@ const makeOffset = (offsetDays) => {
 
 const showDateRange = ref(false)
 const examIndex = computed(() => {
-  return store.state.examIndexArray
+  return store.state.examIndexArrayMap[patientId] || []
 })
 
 const onConfirm = (values) => {
@@ -131,7 +131,8 @@ const queryInspectionIndex = (start, end) => {
   checkExamIndex(param).then((res) => {
     store.dispatch({
       type: 'storeExamIndexArray',
-      examIndexArray: res
+      id: patientId,
+      val: res
     })
   })
 }

+ 3 - 2
src/views/hospital-service/check-exam/pathology/CheckPathologyIndex.vue

@@ -110,7 +110,7 @@ const makeOffset = (offsetDays) => {
 
 const showDateRange = ref(false)
 const pathologyIndex = computed(() => {
-  return store.state.pathologyIndexArray
+  return store.state.pathologyIndexArrayMap[patientId] || []
 })
 
 const onConfirm = (values) => {
@@ -135,7 +135,8 @@ const queryPathologyIndex = (start, end) => {
   checkPathologyIndex(param).then((res) => {
     store.dispatch({
       type: 'storePathologyIndexArray',
-      pathologyIndexArray: res
+      id: patientId,
+      val: res
     })
   })
 }

+ 3 - 2
src/views/hospital-service/check-exam/test/CheckTestIndex.vue

@@ -109,7 +109,7 @@ const makeOffset = (offsetDays) => {
 
 const showDateRange = ref(false)
 const testIndex = computed(() => {
-  return store.state.testIndexArray
+  return store.state.testIndexArrayMap[patientId] || []
 })
 
 const onConfirm = (values) => {
@@ -134,7 +134,8 @@ const queryInspectionIndex = (start, end) => {
   checkTestIndex(param).then((res) => {
     store.dispatch({
       type: 'storeTestIndexArray',
-      testIndexArray: res
+      id: patientId,
+      val: res
     })
   })
 }