fixes
This commit is contained in:
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">
|
||||
|
@@ -93,6 +93,11 @@ const headers = [
|
||||
title: 'Phone',
|
||||
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 }">
|
||||
|
Reference in New Issue
Block a user