import axios from 'axios'; import { createStore } from 'vuex'; import { ADMIN_GET_SITE_SETTING, ADMIN_LOGIN_DETAIL, ADMIN_UPDATE_PASSWORD, ADMIN_UPDATE_SITE_SETTING, APPOINTMENT_DETAILS_API, LABS_DELETE_API, LABS_LIST_API, LABS_UPDATE_API, MEDICINE_ADD_QUESTIONERIES_EXCEL_API, MEDICINE_DELETE_API, MEDICINE_LIST_API, MEDICINE_SAVE_API, MEDICINE_UPDATE_API, MEETING_NOTES_API, MEETING_PRESCREPTIONS_API, PATIENT_DELETE_API, PATIENT_LIST_API, PATIENT_MEETING_LIST_API, PATIENT_UPDATE_API, PROFILE_UPDATE_API, PROVIDER_DELETE_API, PROVIDER_LIST_API, PROVIDER_MEETING_LIST_API, PROVIDER_UPDATE_API } from './constants.js'; export default createStore({ state: { isLoading: false, isErrorMsg: false, isSuccessMsg: false, patientList:[], patientMeetingList: [], providerMeetingList:[], providersList:[], labsList:[], singlePatientAppointment: null, patientPrescription:null, patientNotes: null, medicineList: [], questioneriesList: [], adminDetail: null, siteSetting: null, showMessage:null }, mutations: { setLoading(state, payload) { console.log('payload'); state.isLoading = payload }, setErrorMsg(state, payload) { console.log('payload'); state.isErrorMsg = payload }, setSuccessMsg(state, payload) { console.log('payload'); state.isSuccessMsg = payload }, setShowMsg(state, payload) { console.log('payload'); state.showMessage = payload }, setPtientList(state, payload) { state.patientList = payload }, setPtientMeetingList(state, payload) { state.patientMeetingList = payload }, setProviderMeetingList(state, payload) { state.providerMeetingList = 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 }, setMedicineList(state, payload) { state.medicineList = payload }, setQuestionersList(state, payload) { state.questioneriesList = payload }, setAdminDetail(state, payload) { state.adminDetail = payload }, setSiteSetting(state, payload) { state.siteSetting = 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 providerMeetingList({ commit }, payload) { commit('setLoading', true) console.log(localStorage.getItem('admin_access_token')) await axios.post(PROVIDER_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('setProviderMeetingList',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); }); }, async medicineList({ commit }, payload) { commit('setLoading', true) console.log(localStorage.getItem('admin_access_token')) await axios.post(MEDICINE_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.medicines) { // let dataObject = {} // dataObject.title = data.title // dataObject.slug = data.slug // dataObject.price = data.price // 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('setMedicineList',response.data.medicines) }) .catch(error => { commit('setLoading', false) console.error('Error:', error); }); }, async medicineUpdate({ commit }, payload) { commit('setLoading', true) await axios.post(MEDICINE_UPDATE_API+payload.id, { title: payload.title, slug: payload.slug, list_one_title: payload.list_one_title, list_sub_title: payload.list_sub_title, list_two_title: payload.list_two_title, price: payload.price, currency: payload.currency, excel: payload.excel, image:payload.image }, { 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 medicineDelete({ commit }, payload) { commit('setLoading', true) console.log(localStorage.getItem('admin_access_token')) await axios.post(MEDICINE_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 questioneriesListExcel({ commit }, payload) { commit('setLoading', true) console.log(localStorage.getItem('admin_access_token')) await axios.post(MEDICINE_ADD_QUESTIONERIES_EXCEL_API, {}, { headers: { 'Authorization': `Bearer ${localStorage.getItem('admin_access_token')}`, } }) .then(response => { commit('setLoading', false) console.log('Response:', response.data); commit('setQuestionersList',response.data.medicines) }) .catch(error => { commit('setLoading', false) console.error('Error:', error); }); }, async medicineAdd({ commit }, payload) { commit('setLoading', true) // const formData = new FormData() // formData.append('title', defaultItem.value.title) // formData.append('slug', defaultItem.value.slug) // formData.append('list_one_title', defaultItem.value.list_one_title) // formData.append('list_sub_title', defaultItem.value.list_sub_title) // formData.append('list_two_title', defaultItem.value.list_two_title) // formData.append('price', defaultItem.value.price) // formData.append('currency', currencySign.value) // formData.append('image', imageBase64.value) await axios.post(MEDICINE_SAVE_API, { title: payload.title, slug: payload.slug, list_one_title: payload.list_one_title, list_sub_title: payload.list_sub_title, list_two_title: payload.list_two_title, price: payload.price, currency: payload.currency, excel: payload.excel, image:payload.image }, { headers: { 'Content-Type': 'multipart/form-data', '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 adminDetial({ commit }, payload) { commit('setLoading', true) await axios.post(ADMIN_LOGIN_DETAIL, {}, { headers: { 'Authorization': `Bearer ${localStorage.getItem('admin_access_token')}`, } }) .then(response => { commit('setLoading', false) console.log('Response:', response.data); commit('setAdminDetail',response.data.admin_details) }) .catch(error => { commit('setLoading', false) console.error('Error:', error); }); }, async siteSetting({ commit }, payload) { commit('setLoading', true) await axios.post(ADMIN_GET_SITE_SETTING, {}, { headers: { 'Authorization': `Bearer ${localStorage.getItem('admin_access_token')}`, } }) .then(response => { commit('setLoading', false) console.log('Response:', response.data.settings_data); commit('setSiteSetting',response.data.settings_data) }) .catch(error => { commit('setLoading', false) console.error('Error:', error); }); }, async siteSettingUpdate({ commit }, payload) { commit('setLoading', true) await axios.post(ADMIN_UPDATE_SITE_SETTING+payload.id, { plan_main_title: payload.plan_main_title, plan_description: payload.plan_description, header_title: payload.header_title, footer_text: payload.footer_text, domain_name: payload.domain_name, logo:payload.logo, favicon:payload.favicon//imageBase64.value }, { headers: { 'Content-Type': 'multipart/form-data', '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 adminPasswordUpadate({ commit }, payload) { commit('setLoading', true) await axios.post(ADMIN_UPDATE_PASSWORD, { password: payload.password, new_password : payload.new_password , confirm_password : payload.confirm_password , }, { headers: { 'Authorization': `Bearer ${localStorage.getItem('admin_access_token')}`, } }) .then(response => { commit('setLoading', false) console.log('Response:', response.data); if (response.data.status == 'error') { commit('setErrorMsg', true) console.log('Response:', response.data.msg); commit('setShowMsg', response.data.msg) } }) .catch(error => { commit('setLoading', false) console.error('Error:', error); }); }, async profileUpdate({ commit }, payload) { commit('setLoading', true) await axios.post(PROFILE_UPDATE_API, { first_name: payload.name, last_name:payload.last_name, phone_no: payload.phone_no, image:payload.image }, { headers: { 'Content-Type': 'multipart/form-data', '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); }); }, }, getters: { getIsLoading(state){ return state.isLoading }, getErrorMsg(state) { console.log('payload'); return state.isErrorMsg }, getSuccessMsg(state) { console.log('payload'); return state.isSuccessMsg }, getShowMsg(state) { console.log('payload'); return state.showMessage }, getPatientList(state){ return state.patientList }, getPatientMeetingList(state){ return state.patientMeetingList }, getProviderMeetingList(state){ return state.providerMeetingList }, 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 }, getMedcineList(state){ return state.medicineList }, getQuestioneriesList(state){ return state.questioneriesList }, getAdminDetail(state){ return state.adminDetail }, getSiteSetting(state){ return state.siteSetting }, } })