fixes
This commit is contained in:
parent
ac6640ba0e
commit
110e4b46ca
@ -9,6 +9,11 @@ export const PATIENT_MEETING_LIST_API = MAIN_DOMAIN + "/api/admin/get-meeting-h
|
||||
export const PATIENT_UPDATE_API = MAIN_DOMAIN + "/api/admin/patient-update/"
|
||||
export const PATIENT_DELETE_API = MAIN_DOMAIN + "/api/admin/patient-delete/"
|
||||
|
||||
|
||||
export const PATIENT_LABKIT_LIST_API = MAIN_DOMAIN + "/api/admin/patient-labkit-list/"
|
||||
export const PATIENT_LABKIT_STATUS_UPDATE_API = MAIN_DOMAIN + "/api/admin/labkit-status-update/"
|
||||
|
||||
|
||||
export const PROVIDER_LIST_API = MAIN_DOMAIN + "/api/admin/telemed-pro-list"
|
||||
export const PROVIDER_INFO_API = MAIN_DOMAIN + "/api/admin/telemed-pro/"
|
||||
export const PROVIDER_UPDATE_API = MAIN_DOMAIN + "/api/admin/telemed-pro-update/"
|
||||
|
171
resources/js/pages/pages/patient-labkits/labkit.vue
Normal file
171
resources/js/pages/pages/patient-labkits/labkit.vue
Normal file
@ -0,0 +1,171 @@
|
||||
<script setup>
|
||||
import { onBeforeMount, onMounted, onUnmounted } from 'vue';
|
||||
import { useRoute, useRouter } from 'vue-router';
|
||||
import { useStore } from 'vuex';
|
||||
const store = useStore()
|
||||
const route = useRoute()
|
||||
const router = useRouter()
|
||||
const patientId = route.params.patient_id;
|
||||
const search = ref('')
|
||||
const getSelectedCart = ref('');
|
||||
const patientLabKitList = ref([])
|
||||
const getIsTonalSnackbarVisible = ref(false);
|
||||
const labkitStatus = ref('');
|
||||
|
||||
|
||||
|
||||
onBeforeMount(async () => {});
|
||||
onMounted(async () => {
|
||||
store.dispatch('updateIsLoading', true)
|
||||
await store.dispatch('patientLabKitList', {
|
||||
patient_id : patientId
|
||||
})
|
||||
console.log('patientLabKitList',store.getters.getPatientLabKitList.cart)
|
||||
store.dispatch('updateIsLoading', false)
|
||||
|
||||
});
|
||||
const getPatientLabKitList = computed(async () => {
|
||||
patientLabKitList.value = store.getters.getPatientLabKitList.cart;
|
||||
|
||||
return patientLabKitList.value;
|
||||
|
||||
});
|
||||
|
||||
const onChange = (id)=> {
|
||||
getSelectedCart.value = id;
|
||||
|
||||
}
|
||||
const onStatusChange = async(status) => {
|
||||
console.log('Selected status:', status, getSelectedCart.value);
|
||||
store.dispatch('updateIsLoading', true)
|
||||
await store.dispatch('updateLabkitListStatus', {
|
||||
cart_id : getSelectedCart.value,
|
||||
status: status
|
||||
})
|
||||
labkitStatus.value = store.getters.getPatientLabKitStatus.status;
|
||||
getIsTonalSnackbarVisible.value = true;
|
||||
};
|
||||
|
||||
onUnmounted(async () => {});
|
||||
const headers = [
|
||||
{
|
||||
title: 'NAME',
|
||||
key: 'first_name',
|
||||
},
|
||||
{
|
||||
title: 'Address',
|
||||
key: 'shipping_address1',
|
||||
},
|
||||
{
|
||||
title: 'Amount',
|
||||
key: 'shipping_amount',
|
||||
},
|
||||
{
|
||||
title: 'Status',
|
||||
key: 'status',
|
||||
},
|
||||
]
|
||||
const breadcrums = [
|
||||
{
|
||||
title: 'Patient',
|
||||
disabled: false,
|
||||
to: '/admin/patients',
|
||||
},
|
||||
{
|
||||
title: 'Labkit',
|
||||
disabled: false,
|
||||
}
|
||||
|
||||
];
|
||||
|
||||
|
||||
</script>
|
||||
|
||||
<template>
|
||||
<v-breadcrumbs :items="breadcrums" class="text-primary pt-0 pb-0 mb-5">
|
||||
<template v-slot:divider style="padding-top:0px; padding-bottom:0px">
|
||||
>
|
||||
</template>
|
||||
</v-breadcrumbs>
|
||||
<v-row>
|
||||
<VSnackbar v-model="getIsTonalSnackbarVisible" :timeout="5000" location="top end" variant="flat"
|
||||
color="success">
|
||||
<VIcon
|
||||
class="ri-success-line success-icon"
|
||||
/> {{labkitStatus }}
|
||||
</VSnackbar>
|
||||
<v-col cols="12" md="12" v-if="getPatientLabKitList">
|
||||
<v-card title="LabKits">
|
||||
<VCardText >
|
||||
<VRow>
|
||||
<VCol
|
||||
cols="12"
|
||||
offset-md="8"
|
||||
md="4"
|
||||
>
|
||||
<VTextField
|
||||
v-model="search"
|
||||
label="Search"
|
||||
placeholder="Search ..."
|
||||
append-inner-icon="ri-search-line"
|
||||
single-line
|
||||
hide-details
|
||||
dense
|
||||
outlined
|
||||
/>
|
||||
</VCol>
|
||||
</VRow>
|
||||
</VCardText>
|
||||
<VDataTable
|
||||
:headers="headers"
|
||||
:items="patientLabKitList"
|
||||
:search="search"
|
||||
:items-per-page="5"
|
||||
class="text-no-wrap"
|
||||
>
|
||||
<template #item.id="{ item }">
|
||||
{{ item.id }}
|
||||
</template>
|
||||
<!-- full name -->
|
||||
<template #item.first_name="{ item }">
|
||||
<div class="d-flex align-center">
|
||||
|
||||
|
||||
<span>{{ item.first_name }} {{ item.last_name }}</span>
|
||||
|
||||
</div>
|
||||
</template>
|
||||
<template #item.shipping_address1="{ item }">
|
||||
<div class="d-flex align-center">
|
||||
|
||||
|
||||
<span>{{ item.shipping_address1 }},
|
||||
{{ item.shipping_address2 }},
|
||||
{{ item.shipping_city }},
|
||||
{{item.shipping_state}},
|
||||
{{ item.shipping_zipcode}},
|
||||
{{ item.shipping_country }}
|
||||
</span>
|
||||
|
||||
</div>
|
||||
</template>
|
||||
|
||||
|
||||
|
||||
|
||||
<!-- status -->
|
||||
<template #item.status="{ item }">
|
||||
<VSelect
|
||||
v-model="item.status"
|
||||
placeholder="Status"
|
||||
:items="['Pending', 'Shipped', 'Delivered', 'Transit', 'Recevied', 'Result']"
|
||||
@update:model-value="onStatusChange"
|
||||
@click="onChange(item.id)"
|
||||
density="comfortable"
|
||||
/>
|
||||
</template>
|
||||
</VDataTable>
|
||||
</v-card>
|
||||
</v-col>
|
||||
</v-row>
|
||||
</template>
|
@ -122,9 +122,26 @@ const options = [
|
||||
},
|
||||
|
||||
]
|
||||
const breadcrums = [
|
||||
{
|
||||
title: 'Patient',
|
||||
disabled: false,
|
||||
to: '/admin/patients',
|
||||
},
|
||||
{
|
||||
title: 'Meetings',
|
||||
disabled: false,
|
||||
}
|
||||
|
||||
];
|
||||
</script>
|
||||
|
||||
<template>
|
||||
<v-breadcrumbs :items="breadcrums" class="text-primary pt-0 pb-0 mb-5">
|
||||
<template v-slot:divider style="padding-top:0px; padding-bottom:0px">
|
||||
>
|
||||
</template>
|
||||
</v-breadcrumbs>
|
||||
<v-row>
|
||||
<v-col cols="12" md="12">
|
||||
<v-card title="Meetings">
|
||||
|
@ -94,6 +94,11 @@ const headers = [
|
||||
key: 'phone_no',
|
||||
},
|
||||
|
||||
{
|
||||
title: 'Lab Kit',
|
||||
key: 'labkit',
|
||||
},
|
||||
|
||||
|
||||
|
||||
{
|
||||
@ -208,6 +213,9 @@ function changeFormat(dateFormat) {
|
||||
console.log("formattedDate",formattedDate)
|
||||
return formattedDate;
|
||||
}
|
||||
const LabKit = (item)=> {
|
||||
router.push('/admin/patients/labkit/'+item.id);
|
||||
}
|
||||
|
||||
</script>
|
||||
|
||||
@ -272,6 +280,8 @@ function changeFormat(dateFormat) {
|
||||
</div>
|
||||
</template>
|
||||
|
||||
|
||||
|
||||
<!-- status -->
|
||||
<template #item.status="{ item }">
|
||||
<VChip
|
||||
@ -281,6 +291,9 @@ function changeFormat(dateFormat) {
|
||||
{{ resolveStatusVariant(item.status).text }}
|
||||
</VChip>
|
||||
</template>
|
||||
<template #item.labkit="{ item }">
|
||||
<div class="text-primary cursor-pointer" @click="LabKit(item)"> LabKits</div>
|
||||
</template>
|
||||
|
||||
<!-- Actions -->
|
||||
<template #item.actions="{ item }">
|
||||
|
@ -43,6 +43,11 @@ export const routes = [
|
||||
name: 'admin-patients',
|
||||
component: () => import('@/pages/patients/patients.vue'),
|
||||
},
|
||||
{
|
||||
path: '/admin/patients/labkit/:patient_id',
|
||||
name: 'admin-patients-labkit',
|
||||
component: () => import('@/pages/pages/patient-labkits/labkit.vue'),
|
||||
},
|
||||
{
|
||||
path: '/admin/patient/meetings/:id',
|
||||
name: 'admin-patient-meeitngs',
|
||||
|
@ -17,6 +17,8 @@ import {
|
||||
MEETING_NOTES_API,
|
||||
MEETING_PRESCREPTIONS_API,
|
||||
PATIENT_DELETE_API,
|
||||
PATIENT_LABKIT_LIST_API,
|
||||
PATIENT_LABKIT_STATUS_UPDATE_API,
|
||||
PATIENT_LIST_API,
|
||||
PATIENT_MEETING_LIST_API,
|
||||
PATIENT_UPDATE_API,
|
||||
@ -28,7 +30,6 @@ import {
|
||||
} from './constants.js';
|
||||
|
||||
|
||||
|
||||
export default createStore({
|
||||
state: {
|
||||
isLoading: false,
|
||||
@ -36,9 +37,11 @@ export default createStore({
|
||||
isSuccessMsg: false,
|
||||
patientList:[],
|
||||
patientMeetingList: [],
|
||||
patientLabKitList:[],
|
||||
providerMeetingList:[],
|
||||
providersList:[],
|
||||
labsList:[],
|
||||
patientLabKitStatus:'',
|
||||
singlePatientAppointment: null,
|
||||
patientPrescription:null,
|
||||
patientNotes: null,
|
||||
@ -86,8 +89,11 @@ export default createStore({
|
||||
setPtientMeetingList(state, payload) {
|
||||
state.patientMeetingList = payload
|
||||
},
|
||||
setProviderMeetingList(state, payload) {
|
||||
state.providerMeetingList = payload
|
||||
setPtientMeetingList(state, payload) {
|
||||
state.patientMeetingList = payload
|
||||
},
|
||||
setPatientLabKitList(state, payload) {
|
||||
state.patientLabKitList = payload
|
||||
},
|
||||
setProvidersList(state, payload) {
|
||||
state.providersList = payload
|
||||
@ -115,7 +121,12 @@ export default createStore({
|
||||
},
|
||||
setSiteSetting(state, payload) {
|
||||
state.siteSetting = payload
|
||||
},
|
||||
setPatientLabKitStatus(state, payload) {
|
||||
state.patientLabKitStatus = payload
|
||||
}
|
||||
|
||||
|
||||
},
|
||||
actions: {
|
||||
|
||||
@ -372,6 +383,39 @@ export default createStore({
|
||||
console.error('Error:', error);
|
||||
});
|
||||
},
|
||||
async patientLabKitList ({commit,state},payload){
|
||||
commit('setLoading', true)
|
||||
await axios.post(PATIENT_LABKIT_LIST_API+payload.patient_id ,{}, {
|
||||
headers: {
|
||||
'Authorization': `Bearer ${localStorage.getItem('admin_access_token')}`,
|
||||
}
|
||||
}) .then(response => {
|
||||
commit('setLoading', false)
|
||||
console.log('Response Labkit:', response.data);
|
||||
commit('setPatientLabKitList',response.data)
|
||||
})
|
||||
.catch(error => {
|
||||
commit('setLoading', false)
|
||||
console.error('Error:', error);
|
||||
});
|
||||
},
|
||||
async updateLabkitListStatus ({commit,state},payload){
|
||||
commit('setLoading', true)
|
||||
await axios.post(PATIENT_LABKIT_STATUS_UPDATE_API+payload.cart_id ,{
|
||||
status:payload.status
|
||||
}, {
|
||||
headers: {
|
||||
'Authorization': `Bearer ${localStorage.getItem('admin_access_token')}`,
|
||||
}
|
||||
}) .then(response => {
|
||||
commit('setLoading', false)
|
||||
commit('setPatientLabKitStatus',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, {}, {
|
||||
@ -380,7 +424,6 @@ export default createStore({
|
||||
}
|
||||
}) .then(response => {
|
||||
commit('setLoading', false)
|
||||
console.log('Response Notes:', response.data.data);
|
||||
commit('setSinglePatientAppointment',response.data.data)
|
||||
})
|
||||
.catch(error => {
|
||||
@ -443,7 +486,6 @@ export default createStore({
|
||||
}
|
||||
}) .then(response => {
|
||||
commit('setLoading', false)
|
||||
console.log('Response Notes:', response.data.data);
|
||||
commit('setPatientNotes',response.data.data)
|
||||
})
|
||||
.catch(error => {
|
||||
@ -739,7 +781,12 @@ export default createStore({
|
||||
getProviderMeetingList(state){
|
||||
return state.providerMeetingList
|
||||
},
|
||||
|
||||
getPatientLabKitList(state){
|
||||
return state.patientLabKitList
|
||||
},
|
||||
getPatientLabKitStatus(state){
|
||||
return state.patientLabKitStatus
|
||||
},
|
||||
getProvidersList(state){
|
||||
return state.providersList
|
||||
},
|
||||
@ -770,5 +817,6 @@ export default createStore({
|
||||
getCheckLoginExpire(state){
|
||||
return state.checkLoginExpire
|
||||
},
|
||||
|
||||
}
|
||||
})
|
||||
|
Loading…
Reference in New Issue
Block a user