lighter 1 year ago
parent
commit
f983a1caf1

+ 8 - 2
src/App.vue

@@ -26,11 +26,17 @@ function getScreenSize() {
 }
 
 {
-  store.commit('SET_SCREENSIZE', getScreenSize())
+  store.dispatch({
+    type: 'storeScreenSize',
+    windowSize: getScreenSize()
+  })
   let localCards = localStorage.getItem('patientCards')
   if (localCards) {
     let cardList = JSON.parse(localCards)
-    store.commit('SET_PATIENTCARDS', cardList)
+    store.dispatch({
+      type: 'storePatientCardsOnly',
+      cards: cardList
+    })
   }
 }
 

+ 74 - 41
src/store/index.js

@@ -12,7 +12,6 @@ export default createStore({
     patientCards: [],
     homePageDoctors: [],
     appointmentInfo: {},
-    currentExamDate: null,
     examDateRange: [],
     examIndexArray: [],
     currentExamIndex: {},
@@ -21,46 +20,15 @@ export default createStore({
     electroIndexArray: [],
     currentPathologyIndex: {},
     currentElectroIndex: {},
-    covidExamIdCard: null,
-    covidExamIndexes: [],
     currentBook: {},
     yjReqNo: null,
     physicalExamNextPage: 1,
     physicalExamListFinished: false,
     physicalExamIndexes: [],
-    currentTjid: null,
     appointmentManagementActiveTab: 'unpaid',
     createOrderRequest: {},
   },
 
-  mutations: {
-    SET_LOADING: (state, payload) => (state.loading = payload),
-    SET_SCREENSIZE: (state, payload) => (state.screenSize = payload),
-    SET_PATIENTCARDS: (state, payload) => (state.patientCards = payload),
-    SET_HOMEPAGEDOCTORS: (state, payload) => (state.homePageDoctors = payload),
-    SET_APPOINTMENTINFO: (state, payload) => (state.appointmentInfo = payload),
-    SET_CURRENTEXAMDATE: (state, payload) => (state.currentExamDate = payload),
-    SET_EXAMDATERANGE: (state, payload) => (state.examDateRange = payload),
-    SET_EXAMINDEXARRAY: (state, payload) => (state.examIndexArray = payload),
-    SET_CURRENTEXAMINDEX: (state, payload) => (state.currentExamIndex = payload),
-    SET_CURRENTPATHOLOGYINDEX: (state, payload) => (state.currentPathologyIndex = payload),
-    SET_CURRENTELECTROINDEX: (state, payload) => (state.currentElectroIndex = payload),
-    SET_TESTINDEXARRAY: (state, payload) => (state.testIndexArray = payload),
-    SET_PATHOLOGYINDEXARRAY: (state, payload) => (state.pathologyIndexArray = payload),
-    SET_ELECTROINDEXARRAY: (state, payload) => (state.electroIndexArray = payload),
-
-    SET_COVIDEXAMIDCARD: (state, payload) => (state.covidExamIdCard = payload),
-    SET_COVIDEXAMINDEXES: (state, payload) => (state.covidExamIndexes = payload),
-    SET_CURRENTBOOK: (state, payload) => (state.currentBook = payload),
-    SET_YJREQNO: (state, payload) => (state.yjReqNo = payload),
-    SET_PHYSICALEXAMNEXTPAGE: (state, payload) => (state.physicalExamNextPage = payload),
-    SET_PHYSICALEXAMLISTFINISHED: (state, payload) => (state.physicalExamListFinished = payload),
-    SET_PHYSICALEXAMINDEXES: (state, payload) => (state.physicalExamIndexes = payload),
-    SET_CURRENTTJID: (state, payload) => (state.currentTjid = payload),
-    SET_APPOINTMENTMANAGEMENTACTIVETAB: (state, payload) => {state.appointmentManagementActiveTab = payload},
-    CREATE_ORDER_REQUEST: (state, payload) => (state.createOrderRequest = payload),
-  },
-
   getters: {
     patientCards(state) {
       return state.patientCards
@@ -118,8 +86,35 @@ export default createStore({
       return state.currentElectroIndex
     }
   },
+  
+  mutations: {
+    SET_LOADING: (state, payload) => (state.loading = payload),
+    SET_SCREEN_SIZE: (state, payload) => (state.screenSize = payload),
+    SET_PATIENT_CARDS: (state, payload) => (state.patientCards = payload),
+    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),
+    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),
+    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),
+    SET_PHYSICAL_EXAM_LIST_FINISHED: (state, payload) => (state.physicalExamListFinished = payload),
+    SET_PHYSICAL_EXAM_INDEXES: (state, payload) => (state.physicalExamIndexes = payload),
+    SET_APPOINTMENT_MANAGEMENT_ACTIVE_TAB: (state, payload) => {state.appointmentManagementActiveTab = payload},
+    CREATE_ORDER_REQUEST: (state, payload) => (state.createOrderRequest = payload),
+  },
+
 
   actions: {
+    storeScreenSize({ commit }, payload) {
+      commit('SET_SCREEN_SIZE', payload['screenSize'])
+    },
     storePatientCards({commit}, payload) {
       if (payload['cards'].length === 0) {
         showDialog({
@@ -133,24 +128,30 @@ export default createStore({
           item['value'] = item['patientId']
         });
         localStorage.setItem('patientCards', JSON.stringify(payload['cards']))
-        commit('SET_PATIENTCARDS', payload['cards'])
+        commit('SET_PATIENT_CARDS', payload['cards'])
       }
     },
-
+    storePatientCardsOnly({ commit }, payload) {
+      commit('SET_PATIENT_CARDS', payload['cards'])
+    },
     storeHomepageDoctors({ commit }, payload) {
-      commit('SET_HOMEPAGEDOCTORS', payload['doctorList'])
+      commit('SET_HOMEPAGE_DOCTORS', payload['doctorList'])
     },
 
     storeAppointmentInfo({ commit }, payload) {
-      commit('SET_APPOINTMENTINFO', payload['appointmentInfo'])
+      commit('SET_APPOINTMENT_INFO', payload['appointmentInfo'])
     },
 
     storeExamDateRange({ commit }, payload) {
-      commit('SET_EXAMDATERANGE', payload['dateRange'])
+      commit('SET_EXAM_DATE_RANGE', payload['dateRange'])
+    },
+
+    storeExamIndexArray({ commit }, payload) {
+      commit('SET_EXAM_INDEX_ARRAY', payload['examIndexArray'])
     },
 
     storeCurrentBookItem({ commit }, payload) {
-      commit('SET_CURRENTBOOK', payload['bookItem'])
+      commit('SET_CURRENT_BOOK', payload['bookItem'])
     },
 
     storeCreateOrderRequest({ commit }, payload) {
@@ -158,15 +159,47 @@ export default createStore({
     },
 
     storeCurrentExamIndex({ commit }, payload) {
-      commit('SET_CURRENTEXAMINDEX', payload['currentExamIndex'])
+      commit('SET_CURRENT_EXAM_INDEX', payload['currentExamIndex'])
     },
 
     storeCurrentPathologyIndex({ commit }, payload) {
-      commit('SET_CURRENTPATHOLOGYINDEX', payload['currentPathologyIndex'])
+      commit('SET_CURRENT_PATHOLOGY_INDEX', payload['currentPathologyIndex'])
     },
 
     storeCurrentElectroIndex({ commit }, payload) {
-      commit('SET_CURRENTELECTROINDEX', payload['currentElectroIndex'])
+      commit('SET_CURRENT_ELECTRO_INDEX', payload['currentElectroIndex'])
+    },
+
+    storeTestIndexArray({commit}, payload) {
+      commit('SET_TEST_INDEX_ARRAY', payload['testIndexArray'])
+    },
+    
+    storePathologyIndexArray({ commit }, payload) {
+      commit('SET_PATHOLOGY_INDEX_ARRAY', payload['pathologyIndexArray'])
+    },
+    
+    storeElectroIndexArray({ commit }, payload) {
+      commit('SET_ELECTRO_INDEX_ARRAY', payload['electroIndexArray'])
+    },
+
+    storeYjReqNo({commit}, payload) {
+      commit('SET_YJ_REQ_NO', payload['yjReqNo'])
+    },
+
+    storePhysicalExamNextPage({commit}, payload) {
+      commit('SET_PHYSICAL_EXAM_NEXT_PAGE', payload['physicalExamNextPage'])
+    },
+
+    storePhysicalExamListFinished({commit}, payload) {
+      commit('SET_PHYSICAL_EXAM_LIST_FINISHED', payload['physicalExamListFinished'])
+    },
+
+    storePhysicalExamIndexes({commit}, payload) {
+      commit('SET_PHYSICAL_EXAM_INDEXES', payload['physicalExamIndexes'])
+    },
+
+    storeAppointmentManagementActiveTab({commit}, payload) {
+      commit('SET_APPOINTMENT_MANAGEMENT_ACTIVE_TAB', payload['appointmentManagementActiveTab'])
     },
   },
 })

+ 4 - 1
src/utils/wx-pay.js

@@ -4,7 +4,10 @@ export function wxPay(param) {
     return new Promise((resolve, reject) => {
         createPayOrder(param).then((res) => {
             if (res.yjReqNo) {
-                store.commit('SET_YJREQNO', null)
+                store.dispatch({
+                    type: 'storeYjReqNo',
+                    yjReqNo: null
+                })
             }
             if (param.totalFee === 0) {
                 queryOrderState(res.tradeNo).then((response) => {

+ 4 - 1
src/views/hospital-service/appointment/management/AppointmentManagement.vue

@@ -26,6 +26,9 @@ const router = useRouter()
 const patientId = router.currentRoute.value.params.patientId
 
 const handleTabChange = (val) => {
-  store.commit('SET_APPOINTMENTMANAGEMENTACTIVETAB', val.name)
+  store.dispatch({
+    type: 'storeAppointmentManagementActiveTab',
+    appointmentManagementActiveTab: val.name
+  })
 }
 </script>

+ 1 - 11
src/views/hospital-service/check-exam/SelectExamPatient.vue

@@ -8,16 +8,6 @@
   </window-size>
 </template>
 
-<script>
-import { onMounted } from 'vue'
-import store from '../../../store'
+<script setup>
 import SelectCard from "../../../components/select-card/index.vue";
-export default {
-  components: {SelectCard},
-  setup() {
-    onMounted(() => {
-      store.commit('SET_EXAMINDEXARRAY', [])
-    })
-  },
-}
 </script>

+ 4 - 1
src/views/hospital-service/check-exam/electrocardiogram/CheckElectroIndex.vue

@@ -133,7 +133,10 @@ const queryElectroIndex = (start, end) => {
     reqEndTime: end,
   }
   checkElectroIndex(param).then((res) => {
-    store.commit('SET_ELECTROINDEXARRAY', res)
+    store.dispatch({
+      type: 'storeElectroIndexArray',
+      electroIndexArray: res
+    })
   })
 }
 

+ 4 - 1
src/views/hospital-service/check-exam/exam/CheckExamIndex.vue

@@ -129,7 +129,10 @@ const queryInspectionIndex = (start, end) => {
     reqEndTime: end,
   }
   checkExamIndex(param).then((res) => {
-    store.commit('SET_EXAMINDEXARRAY', res)
+    store.dispatch({
+      type: 'storeExamIndexArray',
+      examIndexArray: res
+    })
   })
 }
 

+ 4 - 1
src/views/hospital-service/check-exam/pathology/CheckPathologyIndex.vue

@@ -133,7 +133,10 @@ const queryPathologyIndex = (start, end) => {
     reqEndTime: end,
   }
   checkPathologyIndex(param).then((res) => {
-    store.commit('SET_PATHOLOGYINDEXARRAY', res)
+    store.dispatch({
+      type: 'storePathologyIndexArray',
+      pathologyIndexArray: res
+    })
   })
 }
 

+ 4 - 1
src/views/hospital-service/check-exam/test/CheckTestIndex.vue

@@ -132,7 +132,10 @@ const queryInspectionIndex = (start, end) => {
     reqEndTime: end,
   }
   checkTestIndex(param).then((res) => {
-    store.commit('SET_TESTINDEXARRAY', res)
+    store.dispatch({
+      type: 'storeTestIndexArray',
+      testIndexArray: res
+    })
   })
 }
 

+ 4 - 1
src/views/hospital-service/health-cart/BookExam.vue

@@ -69,7 +69,10 @@ const beforeExecuteBook = () => {
 const executeBook = () => {
   showTips.value = false
   saveBookPrescription(bookItem).then((res) => {
-    store.commit('SET_YJREQNO', res)
+    store.dispatch({
+      type: 'storeYjReqNo',
+      yjReqNo: res
+    })
     showToast({
       message: '自助开单成功。',
       position: 'top',

+ 29 - 20
src/views/hospital-service/physical-exam/PhysicalExamIndex.vue

@@ -18,33 +18,33 @@
     </div>
   </window-size>
 </template>
-<script setup lang="ts">
+<script setup>
 import {getPhysicalCheckIndex} from '../../../api/physical-exam.js'
-import {RouteParamValue, useRouter} from "vue-router";
+import {useRouter} from "vue-router";
 import {onMounted, ref, Ref} from "vue";
 import {useStore} from "vuex";
 import axios from "axios";
 import leaveWx from '../../../assets/leave_weixin.png'
 import {showToast} from "vant";
 
-const store: object = useStore();
-const router: object = useRouter();
-const patientId: string | RouteParamValue[] = router.currentRoute.value.params.patientId;
+const store = useStore();
+const router = useRouter();
+const patientId = router.currentRoute.value.params.patientId;
 
-const listBoxStyle: object = {
+const listBoxStyle = {
   height: store.state.screenSize.h - 100 + 'px',
   overflowY: 'scroll'
 }
 
-const idCard: Ref<string> = ref();
-const idCardTemp: Ref<string> = ref();
-const nextPage: Ref<number> = ref(1);
+const idCard = ref();
+const idCardTemp = ref();
+const nextPage = ref(1);
 
-const listLoading: Ref<boolean> = ref(false);
-const listFinished: Ref<boolean> = ref(false);
-const examIndexes: Ref<[]> = ref([]);
+const listLoading = ref(false);
+const listFinished = ref(false);
+const examIndexes = ref([]);
 
-const onLoadingList = (): void => {
+const onLoadingList = () => {
   if (idCard.value) {
     fetchIndexData()
   } else {
@@ -52,7 +52,7 @@ const onLoadingList = (): void => {
   }
 };
 
-const handleClickSearch = (): void => {
+const handleClickSearch = () => {
   if (idCard.value !== idCardTemp.value) {
     listFinished.value = false
     nextPage.value = 1
@@ -65,21 +65,30 @@ const handleClickSearch = (): void => {
   fetchIndexData()
 }
 
-const fetchIndexData = (): void => {
+const fetchIndexData = () => {
   getPhysicalCheckIndex({idCard: idCard.value, patNo: patientId, pageNo: nextPage.value}).then(index => {
     listLoading.value = false
     listFinished.value = index['pageInfo'].nextPage === 0;
     examIndexes.value = examIndexes.value.concat(index['rows'])
     if (index['pageInfo'].nextPage > 0) {
       nextPage.value = index['pageInfo'].nextPage
-      store.commit('SET_PHYSICALEXAMNEXTPAGE', nextPage.value)
+      store.dispatch({
+        type: 'storePhysicalExamNextPage',
+        physicalExamNextPage: nextPage.value
+      })
     }
-    store.commit('SET_PHYSICALEXAMLISTFINISHED', listFinished.value)
-    store.commit('SET_PHYSICALEXAMINDEXES', examIndexes.value)
+    store.dispatch({
+      type: 'storePhysicalExamListFinished',
+      physicalExamListFinished: listFinished.value
+    })
+    store.dispatch({
+      type: 'storePhysicalExamIndexes',
+      physicalExamIndexes: examIndexes.value
+    })
   });
 }
 
-const handleClickIndex = (tjIndex:object): void => {
+const handleClickIndex = (tjIndex) => {
   const fileName = (tjIndex['工作单位'] ? tjIndex['工作单位'] : '长沙泰和医院体检报告' ) + '.pdf'
   axios({
     method: 'post',
@@ -114,7 +123,7 @@ const judgeWeChatBrowser = () => {
   return ua.match(/MicroMessenger/i) == "micromessenger";
 }
 
-onMounted((): void => {
+onMounted(() => {
   isWxBrowser.value = judgeWeChatBrowser()
   nextPage.value = store.state.physicalExamNextPage;
   examIndexes.value = store.state.physicalExamIndexes

+ 4 - 1
src/views/public-pages/Cashier.vue

@@ -118,7 +118,10 @@ function makeMoneyStyle(m) {
 function weChatPay() {
   createPayOrder(createOrderRequest).then((order) => {
     createOrderRequest.tradeNo = order.tradeNo
-    store.commit('SET_YJREQNO', null)
+    store.dispatch({
+      type: 'storeYjReqNo',
+      yjReqNo: null
+    })
     if (createOrderRequest.cashpayAmt === 0) {
       queryOrderTradeState(order.tradeNo)
     } else {