hgh_admin/resources/js/store.js
2024-06-04 03:43:35 +05:00

403 lines
14 KiB
JavaScript

import axios from 'axios';
import { createStore } from 'vuex';
import {
APPOINTMENT_DETAILS_API,
LABS_DELETE_API,
LABS_LIST_API,
LABS_UPDATE_API,
MEETING_NOTES_API,
MEETING_PRESCREPTIONS_API,
PATIENT_DELETE_API,
PATIENT_LIST_API,
PATIENT_MEETING_LIST_API,
PATIENT_UPDATE_API,
PROVIDER_DELETE_API,
PROVIDER_LIST_API,
PROVIDER_UPDATE_API
} from './constants.js';
export default createStore({
state: {
isLoading: false,
patientList:[],
patientMeetingList:[],
providersList:[],
labsList:[],
singlePatientAppointment: null,
patientPrescription:null,
patientNotes: null,
},
mutations: {
setLoading(state, payload) {
console.log('payload');
state.isLoading = payload
},
setPtientList(state, payload) {
state.patientList = payload
},
setPtientMeetingList(state, payload) {
state.patientMeetingList = payload
},
setProvidersList(state, payload) {
state.providersList = payload
},
setLabsList(state, payload) {
state.labsList = payload
},
setPrescription(state, payload) {
state.patientPrescription = payload
},
setSinglePatientAppointment(state, payload) {
state.singlePatientAppointment = payload
},
setPatientNotes(state, payload) {
state.patientNotes = payload
},
},
actions: {
async updateIsLoading({ commit }, payload) {
commit('setLoading', payload)
},
async patientList({ commit }, payload) {
commit('setLoading', true)
console.log(localStorage.getItem('admin_access_token'))
await axios.post(PATIENT_LIST_API, {}, {
headers: {
'Authorization': `Bearer ${localStorage.getItem('admin_access_token')}`,
}
}) .then(response => {
commit('setLoading', false)
console.log('Response:', response.data.patients);
let dataArray =[]
for (let data of response.data.patients) {
let dataObject = {}
dataObject.name = data.first_name + ' ' + data.last_name
dataObject.first_name = data.first_name
dataObject.last_name = data.last_name
dataObject.email = data.email
dataObject.dob = data.dob
dataObject.phone_no = data.phone_no
dataObject.avatar = '',
dataObject.id = data.id,
dataArray.push(dataObject)
}
console.log(dataArray)
commit('setPtientList',dataArray)
})
.catch(error => {
commit('setLoading', false)
console.error('Error:', error);
});
},
async patientMeetingList({ commit }, payload) {
commit('setLoading', true)
console.log(localStorage.getItem('admin_access_token'))
await axios.post(PATIENT_MEETING_LIST_API+payload.id, {}, {
headers: {
'Authorization': `Bearer ${localStorage.getItem('admin_access_token')}`,
}
}) .then(response => {
commit('setLoading', false)
console.log('Meeting Response:', response.data.patients);
commit('setPtientMeetingList',response.data.patients);
})
.catch(error => {
commit('setLoading', false)
console.error('Error:', error);
});
},
async patientUpdate({ commit }, payload) {
commit('setLoading', true)
await axios.post(PATIENT_UPDATE_API+payload.id, {
first_name: payload.first_name,
last_name: payload.last_name,
email: payload.email,
phone_no: payload.phone_no,
dob: payload.dob,
}, {
headers: {
'Authorization': `Bearer ${localStorage.getItem('admin_access_token')}`,
}
}) .then(response => {
commit('setLoading', false)
console.log('Response:', response.data);
})
.catch(error => {
commit('setLoading', false)
console.error('Error:', error);
});
},
async patientDelete({ commit }, payload) {
commit('setLoading', true)
console.log(localStorage.getItem('admin_access_token'))
await axios.post(PATIENT_DELETE_API+payload.id, {}, {
headers: {
'Authorization': `Bearer ${localStorage.getItem('admin_access_token')}`,
}
}) .then(response => {
commit('setLoading', false)
console.log('Response:', response.data);
})
.catch(error => {
commit('setLoading', false)
console.error('Error:', error);
});
},
async providersList({ commit }, payload) {
commit('setLoading', true)
console.log(localStorage.getItem('admin_access_token'))
await axios.post(PROVIDER_LIST_API, {}, {
headers: {
'Authorization': `Bearer ${localStorage.getItem('admin_access_token')}`,
}
}) .then(response => {
commit('setLoading', false)
console.log('Response:', response.data.patients);
let dataArray =[]
for (let data of response.data.patients) {
let dataObject = {}
dataObject.name = data.first_name + ' ' + data.last_name
dataObject.first_name = data.first_name
dataObject.last_name = data.last_name
dataObject.email = data.email
// dataObject.dob = data.dob
dataObject.phone_no = data.phone_number
dataObject.avatar = '',
dataObject.id = data.id,
dataArray.push(dataObject)
}
console.log(dataArray)
commit('setProvidersList',dataArray)
})
.catch(error => {
commit('setLoading', false)
console.error('Error:', error);
});
},
async providerUpdate({ commit }, payload) {
commit('setLoading', true)
await axios.post(PROVIDER_UPDATE_API+payload.id, {
first_name: payload.first_name,
last_name: payload.last_name,
email: payload.email,
phone_number: payload.phone_no,
}, {
headers: {
'Authorization': `Bearer ${localStorage.getItem('admin_access_token')}`,
}
}) .then(response => {
commit('setLoading', false)
console.log('Response:', response.data);
})
.catch(error => {
commit('setLoading', false)
console.error('Error:', error);
});
},
async providerDelete({ commit }, payload) {
commit('setLoading', true)
console.log(localStorage.getItem('admin_access_token'))
await axios.post(PROVIDER_DELETE_API+payload.id, {}, {
headers: {
'Authorization': `Bearer ${localStorage.getItem('admin_access_token')}`,
}
}) .then(response => {
commit('setLoading', false)
console.log('Response:', response.data);
})
.catch(error => {
commit('setLoading', false)
console.error('Error:', error);
});
},
async labsList({ commit }, payload) {
commit('setLoading', true)
console.log(localStorage.getItem('admin_access_token'))
await axios.post(LABS_LIST_API, {}, {
headers: {
'Authorization': `Bearer ${localStorage.getItem('admin_access_token')}`,
}
}) .then(response => {
commit('setLoading', false)
console.log('Response:', response.data);
let dataArray =[]
for (let data of response.data.patients) {
let dataObject = {}
dataObject.name = data.name
dataObject.address = data.address
dataObject.slot_date = data.slot_date
dataObject.slot_time = data.slot_time
dataObject.appointment_id = data.appointment_id
dataObject.booking_time = data.booking_time
dataObject.contact_no = data.contact_no
dataObject.avatar = '',
dataObject.id = data.id,
dataArray.push(dataObject)
}
console.log(dataArray)
commit('setLabsList',dataArray)
})
.catch(error => {
commit('setLoading', false)
console.error('Error:', error);
});
},
async labUpdate({ commit }, payload) {
commit('setLoading', true)
await axios.post(LABS_UPDATE_API+payload.id, {
name: payload.name,
address: payload.address,
contact_no: payload.contact_no,
}, {
headers: {
'Authorization': `Bearer ${localStorage.getItem('admin_access_token')}`,
}
}) .then(response => {
commit('setLoading', false)
console.log('Response:', response.data);
})
.catch(error => {
commit('setLoading', false)
console.error('Error:', error);
});
},
async labDelete({ commit }, payload) {
commit('setLoading', true)
console.log(localStorage.getItem('admin_access_token'))
await axios.post(LABS_DELETE_API+payload.id, {}, {
headers: {
'Authorization': `Bearer ${localStorage.getItem('admin_access_token')}`,
}
}) .then(response => {
commit('setLoading', false)
console.log('Response:', response.data);
})
.catch(error => {
commit('setLoading', false)
console.error('Error:', error);
});
},
async getAppointmentByIdAgent ({commit,state},payload){
commit('setLoading', true)
await axios.post(APPOINTMENT_DETAILS_API+payload.patient_id + '/' + payload.appointment_id, {}, {
headers: {
'Authorization': `Bearer ${localStorage.getItem('admin_access_token')}`,
}
}) .then(response => {
commit('setLoading', false)
console.log('Response Notes:', response.data.data);
commit('setSinglePatientAppointment',response.data.data)
})
.catch(error => {
commit('setLoading', false)
console.error('Error:', error);
});
},
async getPrescriptions ({commit,state},payload){
commit('setLoading', true)
await axios.post(MEETING_PRESCREPTIONS_API+payload.patient_id + '/' + payload.appointment_id, {}, {
headers: {
'Authorization': `Bearer ${localStorage.getItem('admin_access_token')}`,
}
}) .then(response => {
commit('setLoading', false)
let doctor={}
let itemsPrescriptions=[]
for (let data of response.data) {
let dataObject = {}
dataObject.first_name = data.patient.first_name
dataObject.last_name = data.patient.last_name
dataObject.gender = data.patient.gender
dataObject.dob = data.patient.dob
dataObject.patient_address = data.patient.address+' '+ data.patient.city+' '+ data.patient.state +' ' +data.patient.country
dataObject.name = data.prescription.name
dataObject.brand = data.prescription.brand
dataObject.from = data.prescription.from
dataObject.direction_quantity = data.prescription.direction_quantity
dataObject.dosage = data.prescription.dosage
dataObject.quantity = data.prescription.quantity
dataObject.refill_quantity = data.prescription.refill_quantity
dataObject.actions = ''
dataObject.id = data.prescription.id
dataObject.comments = data.comments
dataObject.direction_one = data.direction_one
dataObject.direction_two = data.direction_two
dataObject.doctor = data.telemedPro
dataObject.status = data.status
dataObject.date = data.created_at
dataObject.agent_sign = data.telemedPro.name
dataObject.medical_license_number = data.telemedPro.medical_license_number
itemsPrescriptions.push(dataObject)
}
console.log('Response Notes:', response.data);
commit('setPrescription',itemsPrescriptions)
})
.catch(error => {
commit('setLoading', false)
commit('setPrescription',null)
console.error('Error:', error);
});
},
async getHistoryPatientNotes ({commit,state},payload){
commit('setLoading', true)
await axios.post(MEETING_NOTES_API+payload.patient_id + '/' + payload.appointment_id, {}, {
headers: {
'Authorization': `Bearer ${localStorage.getItem('admin_access_token')}`,
}
}) .then(response => {
commit('setLoading', false)
console.log('Response Notes:', response.data.data);
commit('setPatientNotes',response.data.data)
})
.catch(error => {
commit('setLoading', false)
console.error('Error:', error);
});
},
},
getters: {
getIsLoading(state){
return state.isLoading
},
getPatientList(state){
return state.patientList
},
getPatientMeetingList(state){
return state.patientMeetingList
},
getProvidersList(state){
return state.providersList
},
getLabsList(state){
return state.labsList
},
getSinglePatientAppointment(state){
return state.singlePatientAppointment
},
getPrescriptionList(state){
return state.patientPrescription
},
getPatientNotes(state){
return state.patientNotes
},
}
})