initial commit

This commit is contained in:
Inshal
2024-10-25 01:02:11 +05:00
commit 6e65bc3a62
1710 changed files with 273609 additions and 0 deletions

View File

@@ -0,0 +1,287 @@
<script setup>
import { defineProps } from 'vue';
const panel = ref(0)
const error = ref();
const isMark = ref();
const isShipped = ref(true);
const isShippedColor = ref('secondary');
const isDelivered = ref(true);
const isDeliveredColor = ref('secondary');
const isTransit = ref(true);
const isTransitColor = ref('secondary');
const isReceived = ref(true);
const isReceivedColor = ref('secondary');
const isResults = ref(true);
const isResultsColor = ref('secondary');
const props = defineProps({
itemProps: {
type: String,
required: false,
},
})
const isthis = computed(async () => {
if (props.itemProps == 'shipped') {
isShipped.value = false;
isShippedColor.value = "rgb(var(--v-theme-yellow))";
}
if (props.itemProps == 'delivered') {
isShipped.value = false;
isShippedColor.value = "rgb(var(--v-theme-yellow))";
isDelivered.value = false;
isDeliveredColor.value = "rgb(var(--v-theme-yellow))";
}
if (props.itemProps == 'transit') {
isShipped.value = false;
isShippedColor.value = "rgb(var(--v-theme-yellow))";
isDelivered.value = false;
isDeliveredColor.value = "rgb(var(--v-theme-yellow))";
isTransit.value = false;
isTransitColor.value = "rgb(var(--v-theme-yellow))";
}
if (props.itemProps == 'received') {
isShipped.value = false;
isShippedColor.value = "rgb(var(--v-theme-yellow))";
isDelivered.value = false;
isDeliveredColor.value = "rgb(var(--v-theme-yellow))";
isTransit.value = false;
isTransitColor.value = "rgb(var(--v-theme-yellow))";
isReceived.value = false;
isReceivedColor.value = "rgb(var(--v-theme-yellow))";
}
if (props.itemProps == 'result') {
isShipped.value = false;
isShippedColor.value = "rgb(var(--v-theme-yellow))";
isResults.value = false;
isResultsColor.value = "rgb(var(--v-theme-yellow))";
isReceived.value = false;
isReceivedColor.value = "rgb(var(--v-theme-yellow))";
isTransit.value = false;
isTransitColor.value = "rgb(var(--v-theme-yellow))";
isDelivered.value = false;
isDeliveredColor.value = "rgb(var(--v-theme-yellow))";
}
});
</script>
<template>
<!-- <VCard class="text-center text-sm-start"> -->
<VRow no-gutters v-if="isthis">
<VCol>
<VExpansionPanels v-model="panel">
<VExpansionPanel>
<VExpansionPanelTitle variant="tonal">
<span class="font-color"><b>Lab Kit </b> <br><br>
<p> Status:{{ props.itemProps }}
</p>
<p>Test Kit Tracking : To you </p>
</span>
</VExpansionPanelTitle>
<VExpansionPanelText>
<h2 class="text-start">Results</h2>
<VCardText>
<VTimeline side="end" align="start" line-inset="8" truncate-line="both" density="compact">
<!-- SECTION Timeline Item: Flight -->
<VTimelineItem dot-color="rgb(var(--v-theme-yellow))" color="error" icon="tabler-check"
size="small">
<!-- 👉 Header -->
<div class="d-flex justify-space-between align-center gap-2 flex-wrap">
<span class="app-timeline-title">
<b>Ordered Hormone Test Kit</b><br><br>
</span>
</div>
</VTimelineItem>
<!-- !SECTION -->
<VTimelineItem :dot-color="isShippedColor" :color="isShippedColor" icon="tabler-check"
size="small">
<template #icon v-if="isShipped">
2
</template>
<!-- 👉 Header -->
<div class="d-flex justify-space-between align-center flex-wrap mb-1">
<div class="app-timeline-title">
<b>Shipped Hormone Test Kit</b>
</div>
</div>
</VTimelineItem>
<!-- SECTION Timeline Item: Interview Schedule -->
<VTimelineItem :dot-color="isDeliveredColor" :color="isDeliveredColor"
icon="tabler-check" size="small">
<template #icon v-if="isDelivered">
3
</template>
<!-- 👉 Header -->
<div class="d-flex justify-space-between align-center flex-wrap mb-1">
<div>
<b>Delivered Hormone Test Kit</b>
</div>
</div>
</VTimelineItem>
<VTimelineItem :dot-color="isTransitColor" :color="isTransitColor" icon="tabler-check"
size="small">
<template #icon v-if="isTransit">
4
</template>
<!-- <template #icon>
<VIcon size="20" icon="tabler-circle-check" color="error" />
</template> -->
<!-- 👉 Header -->
<div class="d-flex justify-space-between align-center flex-wrap mb-1 ">
<div>
<b>Hormone Test Kit in Transit</b>
</div>
</div>
</VTimelineItem>
<VTimelineItem :dot-color="isReceivedColor" :color="isReceivedColor" icon="tabler-check"
size="small">
<template #icon v-if="isReceived">
5
</template>
<!-- 👉 Header -->
<div class="d-flex justify-space-between align-center flex-wrap mb-1">
<div>
<b>Lab Received Hormone Test Kit</b>
</div>
</div>
</VTimelineItem>
<VTimelineItem :dot-color="isResultsColor" :color="isResultsColor" icon="tabler-check"
size="small">
<template #icon v-if="isResults">
6
</template>
<!-- 👉 Header -->
<div class="d-flex justify-space-between align-center flex-wrap mb-1">
<div>
<b>Provider Reviewed Test Results</b>
</div>
</div>
</VTimelineItem>
<!-- !SECTION -->
</VTimeline>
</VCardText>
</VExpansionPanelText>
</VExpansionPanel>
</VExpansionPanels>
</VCol>
</VRow>
<!-- </VCard> -->
</template>
<style lang="scss" scoped>
.v-timeline .v-timeline-divider__inner-dot {
background-color: white !important;
}
.font-color {
color: #fff;
}
button.v-expansion-panel-title {
background-color: rgb(var(--v-theme-yellow)) !important;
color: #fff;
}
button.v-expansion-panel-title.bg-secondary {
background-color: rgb(var(--v-theme-yellow)) !important;
color: #fff;
}
button.v-expansion-panel-title {
background-color: rgb(var(--v-theme-yellow)) !important;
color: #fff;
}
button.v-expansion-panel-title.v-expansion-panel-title--active {
background-color: rgb(var(--v-theme-yellow)) !important;
color: #fff;
}
span.v-expansion-panel-title__icon {
color: #fff
}
.v-expansion-panel {
background-color: #fff;
border-radius: 16px;
box-shadow: 0px 4px 12px rgba(0, 0, 0, 0.1);
margin-bottom: 10px;
overflow: hidden;
transition: box-shadow 0.3s ease;
}
.v-expansion-panel:hover {
box-shadow: 0px 6px 16px rgba(0, 0, 0, 0.15);
}
.v-expansion-panel-title {
padding: 15px;
font-size: 13px;
font-weight: 600;
color: #333;
cursor: pointer;
display: flex;
justify-content: space-between;
align-items: center;
transition: background-color 0.3s ease, color 0.3s ease;
}
.v-expansion-panel-title.pt-0 {
padding-top: 0;
}
// .v-expansion-panel-title:hover {
// background-color: #f9f9f9;
// color: #222;
// }
.v-expansion-panel-title .mdi {
font-size: 20px;
color: #666;
transition: transform 0.3s ease, color 0.3s ease;
}
.v-expansion-panel-title.v-expansion-panel-title--active .mdi {
transform: rotate(180deg);
color: #222;
}
.v-expansion-panel-text {
padding: 10px 15px;
font-size: 13px;
color: #555;
border-top: 1px solid #eee;
}
.v-expansion-panel-text .d-flex {
margin-bottom: 24px;
}
.v-expansion-panel-text .d-flex>div {
flex: 1;
}
.v-expansion-panel-text p {
margin-bottom: 16px;
font-size: 14px;
}
.v-expansion-panel-text h3 {
font-size: 20px;
font-weight: 600;
margin-bottom: 16px;
color: #333;
}
</style>

View File

@@ -0,0 +1,342 @@
<script setup>
import { computed, defineProps, ref } from 'vue';
const props = defineProps({
date: {
type: String,
required: true,
},
time: {
type: String,
required: true,
},
timezone: {
type: String,
required: true,
},
timeDiff: {
type: String,
//required: true,
},
callEnd: {
type: String,
//required: true,
}
})
const isDisableMeeting = ref(true);
const panel = ref(0)
const isMeetingEnable = computed(() => {
console.log("computed", props.timeDiff);
isAgentCall();
});
const isAgentCall = () => {
let meetingTime = props.timeDiff;
console.log("onMounted", meetingTime);
isDisableMeeting.value = true;
if (meetingTime === "0 days 0 hours 0 minutes 0 seconds") {
console.log("meetingTime", meetingTime);
isDisableMeeting.value = true;
// dsdsf
}
}
</script>
<template>
<VCard class="text-center text-sm-start">
<VRow no-gutters>
<VCol>
<VExpansionPanels v-model="panel">
<VExpansionPanel>
<VExpansionPanelTitle variant="tonal" color="primary">
<span><b>Lab Kit with a Virtual Provider Consultation. {{ isMeetingEnable }}</b> <br><br>
<p>{{ date }} Status: InProcess <br>
</p>
<p>Test Kit Tracking : <Routerview to="/"> To you</Routerview> / <Routerview to="/trt">
back
to Lab
</Routerview>
</p>
</span>
</VExpansionPanelTitle>
<VExpansionPanelText>
<VCardText>
<VTimeline side="end" align="start" line-inset="8" truncate-line="both"
density="compact">
<!-- SECTION Timeline Item: Flight -->
<VTimelineItem dot-color="rgb(var(--v-theme-yellow))" icon="tabler-check"
size="small">
<!-- 👉 Header -->
<div class="d-flex justify-space-between align-center gap-2 flex-wrap">
<span class="app-timeline-title">
<b>Medical History Form Completed</b><br><br>
</span>
</div>
</VTimelineItem>
<!-- !SECTION -->
<VTimelineItem dot-color="rgb(var(--v-theme-yellow))" icon="tabler-check"
size="small">
<!-- 👉 Header -->
<div class="d-flex justify-space-between align-center flex-wrap mb-1">
<div class="app-timeline-title">
<b>Online Consultation Scheduled</b><br><br>
</div>
</div>
</VTimelineItem>
<!-- SECTION Timeline Item: Interview Schedule -->
<VTimelineItem dot-color="rgb(var(--v-theme-yellow))" icon="tabler-check"
size="small">
<template #icon>
3
</template>
<!-- 👉 Header -->
<div class="d-flex justify-space-between align-center flex-wrap mb-1">
<div class="app-timeline-title">
<b>eClinic Schedule is Confirmed for {{ date }}</b>
</div>
</div>
<div class="d-flex justify-space-between align-center flex-wrap">
<!-- 👉 Avatar & Personal Info -->
<div class="d-flex align-center mt-2">
<div class="d-flex flex-column">
<p class="text-sm font-weight-medium text-high-emphasis mb-0">
Your virtual consultation with your HGH provider is set for
<b>{{
props.date }}, at {{ props.time }} , {{ props.timezone
}}</b> On
the appointment day, we will send you an
email containing the link
to join, along
with useful tips for preparation. If you have any inquiries or
need
to reschedule, feel free
to reach out via text at (223) 124-5533.
</p>
</div>
</div>
<RouterLink v-if="!isDisableMeeting" to="/queue">
<VBtn class="mt-3" color="rgb(var(--v-theme-yellow))">
Go to Meeting Test{{ callEnd }}
</VBtn>
</RouterLink>
<span v-else>
<VBtn class="mt-3" color="rgb(var(--v-theme-yellow))" disabled>Go to
Meeting Disabled
</VBtn>
</span>
<!-- <RouterLink to="/meeting">
<VBtn class="mt-3" color="error" :disabled="isDisableMeeting">Go to Meeting
</VBtn>
</RouterLink> -->
<!-- Person Actions -->
</div>
</VTimelineItem>
<VTimelineItem dot-color="rgb(var(--v-theme-yellow))"
color="rgb(var(--v-theme-yellow))" icon="tabler-check" size="small">
<template #icon>
4
</template>
<!-- <template #icon>
<VIcon size="20" icon="tabler-circle-check" color="error" />
</template> -->
<!-- 👉 Header -->
<div class="d-flex justify-space-between align-center flex-wrap mb-1">
<div>
<b>eClicnic Attented</b><br><br>
</div>
</div>
</VTimelineItem>
<VTimelineItem dot-color="rgb(var(--v-theme-yellow))"
color="rgb(var(--v-theme-yellow))" icon="tabler-check" size="small">
<template #icon>
5
</template>
<!-- 👉 Header -->
<div class="d-flex justify-space-between align-center flex-wrap mb-1">
<div>
<b>Medication Ordered</b>
</div>
</div>
</VTimelineItem>
<VTimelineItem dot-color="rgb(var(--v-theme-yellow))"
color="rgb(var(--v-theme-yellow))" icon="tabler-check" size="small">
<template #icon>
6
</template>
<!-- 👉 Header -->
<div class="d-flex justify-space-between align-center flex-wrap mb-1">
<div>
<b>Medication Shipped</b>
</div>
</div>
</VTimelineItem>
<VTimelineItem dot-color="rgb(var(--v-theme-yellow))"
color="rgb(var(--v-theme-yellow))" icon="tabler-check" size="small">
<template #icon>
7
</template>
<!-- 👉 Header -->
<div class="d-flex justify-space-between align-center flex-wrap mb-1">
<div>
<b>Medication Delivered</b>
</div>
</div>
</VTimelineItem>
<!-- !SECTION -->
</VTimeline>
</VCardText>
</VExpansionPanelText>
</VExpansionPanel>
</VExpansionPanels>
<VCardTitle class="text-start">Latest Labs <RouterLink to="/">
<span>(See all)</span>
</RouterLink>
</VCardTitle>
<VExpansionPanels class="mt-2">
<VExpansionPanel>
<VExpansionPanelTitle variant="tonal" color="rgb(var(--v-theme-yellow))">
<span><b>Lab Kit </b> <br><br>
<p>{{ date }} Status: Ordered <br>
</p>
<p>Test Kit Tracking : <Routerview to="/"> To you</Routerview> / <Routerview to="/trt">
back
to Lab
</Routerview>
</p>
</span>
</VExpansionPanelTitle>
<VExpansionPanelText>
<h2 class="text-start">Results</h2>
<VCardText>
<VTimeline side="end" align="start" line-inset="8" truncate-line="both"
density="compact">
<!-- SECTION Timeline Item: Flight -->
<VTimelineItem dot-color="rgb(var(--v-theme-yellow))" icon="tabler-check"
size="small">
<!-- 👉 Header -->
<div class="d-flex justify-space-between align-center gap-2 flex-wrap">
<span class="app-timeline-title">
<b>Ordered Hormone Test Kit</b><br><br>
</span>
</div>
</VTimelineItem>
<!-- !SECTION -->
<VTimelineItem dot-color="rgb(var(--v-theme-yellow))" icon="tabler-check"
size="small">
<!-- 👉 Header -->
<div class="d-flex justify-space-between align-center flex-wrap mb-1">
<div class="app-timeline-title">
<b>Shipped Hormone Test Kit</b><br><br>
</div>
</div>
</VTimelineItem>
<!-- SECTION Timeline Item: Interview Schedule -->
<VTimelineItem dot-color="rgb(var(--v-theme-yellow))" icon="tabler-check"
size="small">
<!-- 👉 Header -->
<div class="d-flex justify-space-between align-center flex-wrap mb-1">
<div class="app-timeline-title">
<b>Delivered Hormone Test Kit</b><br><br>
</div>
</div>
</VTimelineItem>
<VTimelineItem dot-color="rgb(var(--v-theme-yellow))" color="error"
icon="tabler-check" size="small">
<template #icon>
4
</template>
<!-- <template #icon>
<VIcon size="20" icon="tabler-circle-check" color="error" />
</template> -->
<!-- 👉 Header -->
<div class="d-flex justify-space-between align-center flex-wrap mb-1 ">
<div>
<b>Hormone Test Kit in Transit</b><br><br>
</div>
</div>
</VTimelineItem>
<VTimelineItem dot-color="secondary" color="primary" icon="tabler-check"
size="small">
<template #icon>
5
</template>
<!-- 👉 Header -->
<div class="d-flex justify-space-between align-center flex-wrap mb-1">
<div>
<b>Lab Received Hormone Test Kit</b>
</div>
</div>
</VTimelineItem>
<VTimelineItem dot-color="secondary" color="primary" icon="tabler-check"
size="small">
<template #icon>
6
</template>
<!-- 👉 Header -->
<div class="d-flex justify-space-between align-center flex-wrap mb-1">
<div>
<b>Provider Reviewed Test Results</b>
</div>
</div>
</VTimelineItem>
<!-- !SECTION -->
</VTimeline>
</VCardText>
</VExpansionPanelText>
</VExpansionPanel>
</VExpansionPanels>
</VCol>
</VRow>
</VCard>
</template>
<style lang="scss" scoped>
.v-timeline .v-timeline-divider__inner-dot {
background-color: white !important;
}
button.v-expansion-panel-title {
background-color: rgb(var(--v-theme-yellow)) !important;
color: #fff;
}
button.v-expansion-panel-title.bg-secondary {
background-color: rgb(var(--v-theme-yellow)) !important;
color: #fff;
}
button.v-expansion-panel-title {
background-color: rgb(var(--v-theme-yellow)) !important;
color: #fff;
}
span.v-expansion-panel-title__icon {
color: #fff
}
</style>

View File

@@ -0,0 +1,420 @@
<script setup>
import { computed, defineProps, nextTick, ref } from 'vue';
const isMeetingEnable = ref(false);
const eClinicSchedule = ref(false);
const eClicnicAttented = ref(true)
const eClicnicAttentedColor = ref('secondary')
const isMeetingEnd = ref(true);
const meetingInFuture = ref(true);
const props = defineProps({
date: {
type: String,
required: true,
},
orderid: {
type: String,
required: true,
},
time: {
type: String,
required: true,
},
timezone: {
type: String,
required: true,
},
timeDiff: {
type: String,
//required: true,
},
showShipment: {
type: String,
required: true,
},
iscallEnd: {
type: String,
required: true,
}
})
const panel = ref(0)
const treatmentPlan = computed(() => {
let appDate = formatDateToISO(props.date);
let appTime = convertTo24Hour(props.time);
console.log("PlanCallend", props.iscallEnd, props.timeDiff, props.date, props.time, appDate, appTime, isDateTimeInFuture(props.date, props.time));
meetingInFuture.value = isDateTimeInFuture(props.date, props.time)
iscallEnd();
})
const iscallEnd = async () => {
if (props.iscallEnd && !meetingInFuture.value) {
isMeetingEnable.value = false;
eClinicSchedule.value = false;
eClicnicAttentedColor.value = 'rgb(var(--v-theme-yellow))';
isMeetingEnd.value = false;
console.log('Bth Conditin');
}
else if (props.iscallEnd) { // Call has been end
isMeetingEnable.value = false;
eClinicSchedule.value = false;
isMeetingEnd.value = false;
eClicnicAttentedColor.value = 'rgb(var(--v-theme-yellow))';
console.log('callEnd');
} else if (!meetingInFuture.value) { // Patient can Join Meeting
isMeetingEnable.value = true;
console.log('timeDiff');
} else { // Call has been end
console.log('else');
isMeetingEnable.value = false;
eClinicSchedule.value = true;
isMeetingEnd.value = true;
}
await nextTick();
// isAgentCall();
};
const isDateTimeInFuture = (dateString, timeString) => {
// Combine the date and time strings into a datetime string
const dateTimeString = dateString + " " + timeString;
// Convert the datetime string into a Date object
const eventDateTime = new Date(dateTimeString);
// Get the current date and time
const now = new Date();
// Compare the eventDateTime with the current date and time
return eventDateTime > now;
};
const formatDateToISO = (dateString) => {
const date = new Date(dateString);
const year = date.getFullYear();
const month = String(date.getMonth() + 1).padStart(2, '0');
const day = String(date.getDate()).padStart(2, '0');
return `${year}-${month}-${day}`;
}
const convertTo24Hour = (time12h) => {
const [time, period] = time12h.split(' ');
const [hours, minutes] = time.split(':');
let hours24;
if (period === 'AM') {
hours24 = hours === '12' ? '00' : hours.padStart(2, '0');
} else {
hours24 = hours === '12' ? '12' : String(parseInt(hours, 10) + 12).padStart(2, '0');
}
return `${hours24}:${minutes}:00`;
};
// const isMeetingEnable = computed(() => {
// console.log("computed", props.timeDiff);
// });
// const isAgentCall = () => {
// let meetingTime = props.timeDiff;
// console.log("onMounted", meetingTime);
// isDisableMeeting.value = true;
// if (meetingTime == "0 days 0 hours 0 minutes 0 seconds") {
// return false;
// console.log("meetingTime", meetingTime);
// } else {
// isDisableMeeting.value = false;
// }
// }
const togglePanel = (index) => {
return panel.value = 0;
}
</script>
<template>
<!-- <VCard class="text-center text-sm-start mb-2"> -->
<VRow no-gutters>
<VCol>
<div v-if="treatmentPlan">
</div>
<VExpansionPanels v-model="panel" bg="rgb(var(--v-theme-yellow))">
<VExpansionPanel @click.native.stop="togglePanel(0)" :disabled="true">
<VExpansionPanelTitle variant=" tonal" color="secondary">
<span class="font-color"><b>Lab Kit with a Virtual Provider Consultation. </b> <br><br>
<p>Order# {{ props.orderid }}</p>
<p>Appiontment: {{ date }} {{ props.time }} <br>
</p>
</span>
</VExpansionPanelTitle collapse-icon="mdi-chevron-right" expand-icon="mdi-chevron-down">
<VExpansionPanelText class="px-0 py-0">
<!-- <VCardText class="pt-0 px-0" variant=" tonal" color="white"
style="background-color: rgb(var(--v-theme-yellow)); padding-left:0">
<span class="font-color"><b>Lab Kit with a Virtual Provider Consultation. </b>
<p>{{ date }} Status: InProcess <br>
</p>
<p>Test Kit Tracking : <Routerview to="/"> To you</Routerview>
</p>
</span>
</VCardText> -->
<VCardText>
<VTimeline side="end" align="start" line-inset="8" truncate-line="both" density="compact">
<!-- SECTION Timeline Item: Flight -->
<VTimelineItem dot-color="rgb(var(--v-theme-yellow))" icon="tabler-check" size="small">
<!-- 👉 Header -->
<div class="d-flex justify-space-between align-center gap-2 flex-wrap">
<span class="app-timeline-title">
<b>Medical History Form Completed</b><br><br>
</span>
</div>
</VTimelineItem>
<!-- !SECTION -->
<VTimelineItem dot-color="rgb(var(--v-theme-yellow))" icon="tabler-check" size="small">
<!-- 👉 Header -->
<div class="d-flex justify-space-between align-center flex-wrap mb-1">
<div class="app-timeline-title">
<b>Online Consultation Scheduled</b><br><br>
</div>
</div>
</VTimelineItem>
<!-- SECTION Timeline Item: Interview Schedule -->
<VTimelineItem dot-color="rgb(var(--v-theme-yellow))" icon="tabler-check" size="small">
<template #icon v-if="eClinicSchedule">
3
</template>
<!-- 👉 Header -->
<div class="d-flex justify-space-between align-center flex-wrap mb-1">
<div class="app-timeline-title">
<b>eClinic Schedule is Confirmed for {{ date }}</b>
</div>
</div>
<div class="justify-space-between align-center flex-wrap" v-if="isMeetingEnd">
<!-- 👉 Avatar & Personal Info -->
<div class="align-center mt-2">
<div class="d-flex flex-column">
<p
class="text-sm font-weight-medium text-high-emphasis mb-0 text-justify">
Your virtual consultation with your HGH provider is set for
<b>{{
props.date }}, at {{ props.time }} , {{ props.timezone
}}</b> On
the appointment day, we will send you an
email containing the link
to join, along
with useful tips for preparation. If you have any inquiries or
need
to reschedule, feel free
to reach out via text at (223) 124-5533.
</p>
</div>
</div>
<!-- <RouterLink v-if="!isDisableMeeting" to="/queue">
<VBtn class="mt-3" color="error">Go to Meeting
</VBtn>
</RouterLink> -->
<RouterLink v-if="isMeetingEnable" to="/queue" target="_blank">
<VBtn class="mt-3" color="rgb(var(--v-theme-yellow))">
Go to Meeting
</VBtn>
</RouterLink>
<span v-else>
<VBtn class="mt-3" color="rgb(var(--v-theme-yellow))" disabled>Go to Meeting
</VBtn>
</span>
</div>
</VTimelineItem>
<VTimelineItem :dot-color="eClicnicAttentedColor" :color="eClicnicAttentedColor"
icon="tabler-check" size="small">
<template #icon v-if="eClicnicAttented">
4
</template>
<!-- <template #icon>
<VIcon size="20" icon="tabler-circle-check" color="error" />
</template> -->
<!-- 👉 Header -->
<div class="d-flex justify-space-between align-center flex-wrap mb-1">
<div class="app-timeline-title">
<b>eClicnic Attented</b><br><br>
</div>
</div>
</VTimelineItem>
<VTimelineItem dot-color="secondary" color="secondary" icon="tabler-check" size="small">
<template #icon>
5
</template>
<!-- 👉 Header -->
<div class="d-flex justify-space-between align-center flex-wrap mb-1">
<div class="app-timeline-title">
<b>Medication Ordered</b>
</div>
</div>
</VTimelineItem>
<VTimelineItem dot-color="secondary" color="secondary" icon="tabler-check" size="small">
<template #icon>
6
</template>
<!-- 👉 Header -->
<div class="d-flex justify-space-between align-center flex-wrap mb-1">
<div class="app-timeline-title">
<b>Medication Shipped</b>
</div>
</div>
</VTimelineItem>
<VTimelineItem dot-color="secondary" color="secondary" icon="tabler-check" size="small">
<template #icon>
7
</template>
<!-- 👉 Header -->
<div class="d-flex justify-space-between align-center flex-wrap mb-1">
<div class="app-timeline-title">
<b>Medication Delivered</b>
</div>
</div>
</VTimelineItem>
<!-- !SECTION -->
</VTimeline>
<VRow class="mt-4" v-if="props.showShipment">
<VCol cols="12" md="8">
<h3 class="mb-4">Treatment Plan</h3>
<VDivider></VDivider>
<h4 class="mt-4">Lab Kit</h4>
</VCol>
<VCol cols="12" md="4">
<h3 class="mb-4">Shipment Address:</h3>
<p>{{ props.showShipment }}</p>
<RouterLink class="text-primary" to="/">
Edit Address
</RouterLink>
</VCol>
</VRow>
</VCardText>
</VExpansionPanelText>
</VExpansionPanel>
</VExpansionPanels>
</VCol>
</VRow>
<!-- </VCard> -->
</template>
<style lang="scss" scoped>
.v-timeline .v-timeline-divider__inner-dot {
background-color: rgb(var(--v-theme-yellow)) !important;
}
.font-color {
color: rgb(var(--v-theme-yellow)) #32475cde;
}
button.v-expansion-panel-title {
background-color: rgb(var(--v-theme-yellow)) !important;
color: #fff;
}
button.v-expansion-panel-title.bg-secondary {
background-color: rgb(var(--v-theme-yellow)) !important;
color: #fff;
}
button.v-expansion-panel-title {
background-color: rgb(var(--v-theme-yellow)) !important;
color: #fff;
}
.v-expansion-panel-text__wrapper {
padding: 0 !important;
}
button.v-expansion-panel-title.v-expansion-panel-title--active {
background-color: rgb(var(--v-theme-yellow)) !important;
color: #fff;
}
span.v-expansion-panel-title__icon {
color: rgb(var(--v-theme-yellow)) !important;
display: none !important;
}
.v-expansion-panel {
background-color: #fff;
border-radius: 10px;
box-shadow: 0px 4px 12px rgba(0, 0, 0, 0.1);
margin-bottom: 10px;
overflow: hidden;
transition: box-shadow 0.3s ease;
}
.v-expansion-panel:hover {
box-shadow: 0px 6px 16px rgba(0, 0, 0, 0.15);
}
.v-expansion-panel-title {
padding: 15px;
font-size: 13px;
font-weight: 600;
color: #333;
cursor: pointer;
display: flex;
justify-content: space-between;
align-items: center;
transition: background-color 0.3s ease, color 0.3s ease;
}
.v-expansion-panel-title.pt-0 {
padding-top: 0;
}
// .v-expansion-panel-title:hover {
// background-color: #f9f9f9;
// color: #222;
// }
.v-expansion-panel-title .mdi {
font-size: 20px;
color: #666;
transition: transform 0.3s ease, color 0.3s ease;
}
.v-expansion-panel-title.v-expansion-panel-title--active .mdi {
transform: rotate(180deg);
color: #222;
}
.v-expansion-panel-text {
padding: 10px 15px;
font-size: 13px;
color: #555;
border-top: 1px solid #eee;
}
.v-expansion-panel-text .d-flex {
margin-bottom: 24px;
}
.v-expansion-panel-text .d-flex>div {
flex: 1;
}
.v-expansion-panel-text p {
margin-bottom: 16px;
font-size: 14px;
}
.v-expansion-panel-text h3 {
font-size: 20px;
font-weight: 600;
margin-bottom: 16px;
color: #333;
}
</style>