This commit is contained in:
Muhammad Shahzad 2024-06-05 22:58:34 +05:00
parent 7e451af7a2
commit 1342de520d
5 changed files with 191 additions and 49 deletions

View File

@ -1,55 +1,131 @@
<script setup>
import LogisticsCardStatistics from '@/views/apps/logistics/LogisticsCardStatistics.vue'
import LogisticsDeliveryExpectations from '@/views/apps/logistics/LogisticsDeliveryExpectations.vue'
import LogisticsDeliveryPerformance from '@/views/apps/logistics/LogisticsDeliveryPerformance.vue'
import LogisticsOrderByCountries from '@/views/apps/logistics/LogisticsOrderByCountries.vue'
import LogisticsOverviewTable from '@/views/apps/logistics/LogisticsOverviewTable.vue'
import LogisticsShipmentStatistics from '@/views/apps/logistics/LogisticsShipmentStatistics.vue'
import LogisticsVehicleOverview from '@/views/apps/logistics/LogisticsVehicleOverview.vue'
import AnalyticsAward from '@/views/dashboards/analytics/AnalyticsAward.vue'
import AnalyticsDepositWithdraw from '@/views/dashboards/analytics/AnalyticsDepositWithdraw.vue'
import AnalyticsPerformance from '@/views/dashboards/analytics/AnalyticsPerformance.vue'
import AnalyticsSalesByCountries from '@/views/dashboards/analytics/AnalyticsSalesByCountries.vue'
import AnalyticsSessionBarCharts from '@/views/dashboards/analytics/AnalyticsSessionsBarCharts.vue'
import AnalyticsTotalEarning from '@/views/dashboards/analytics/AnalyticsTotalEarning.vue'
import AnalyticsTotalProfit from '@/views/dashboards/analytics/AnalyticsTotalProfit.vue'
import AnalyticsTransactions from '@/views/dashboards/analytics/AnalyticsTransactions.vue'
import AnalyticsUserTable from '@/views/dashboards/analytics/AnalyticsUserTable.vue'
import AnalyticsWeeklyOverview from '@/views/dashboards/analytics/AnalyticsWeeklyOverview.vue'
const totalProfit = {
title: 'Total Profit',
color: 'secondary',
icon: 'ri-pie-chart-2-line',
stats: '$25.6k',
change: 42,
subtitle: 'Weekly Project',
}
const newProject = {
title: 'New Project',
color: 'primary',
icon: 'ri-file-word-2-line',
stats: '862',
change: -18,
subtitle: 'Yearly Project',
}
</script>
<template>
<VRow class="match-height">
<VCol cols="12">
<LogisticsCardStatistics />
</VCol>
<VCol
cols="12"
md="6"
md="4"
>
<LogisticsVehicleOverview />
<AnalyticsAward />
</VCol>
<VCol
cols="12"
md="6"
md="8"
>
<LogisticsShipmentStatistics />
<AnalyticsTransactions />
</VCol>
<VCol
cols="12"
md="4"
sm="6"
>
<AnalyticsWeeklyOverview />
</VCol>
<VCol
cols="12"
md="4"
sm="6"
>
<AnalyticsTotalEarning />
</VCol>
<VCol
cols="12"
md="4"
>
<LogisticsDeliveryPerformance />
<VRow class="match-height">
<VCol
cols="12"
sm="6"
>
<AnalyticsTotalProfit />
</VCol>
<VCol
cols="12"
sm="6"
>
<CardStatisticsVertical v-bind="totalProfit" />
</VCol>
<VCol
cols="12"
sm="6"
>
<CardStatisticsVertical v-bind="newProject" />
</VCol>
<VCol
cols="12"
sm="6"
>
<AnalyticsSessionBarCharts />
</VCol>
</VRow>
</VCol>
<VCol
cols="12"
md="4"
>
<LogisticsDeliveryExpectations />
<AnalyticsPerformance />
</VCol>
<VCol
cols="12"
md="8"
>
<AnalyticsDepositWithdraw />
</VCol>
<VCol
cols="12"
md="4"
>
<LogisticsOrderByCountries />
<AnalyticsSalesByCountries />
</VCol>
<VCol cols="12">
<LogisticsOverviewTable />
<VCol
cols="12"
md="8"
>
<AnalyticsUserTable />
</VCol>
</VRow>
</template>
<style lang="scss">
@use "@core-scss/template/libs/apex-chart.scss";
</style>

View File

@ -58,7 +58,18 @@ const formatDateDate = (date) => {
};
return messageDate.toLocaleDateString('en-US', options).replace(/\//g, '-');
};
const breadcrums = [
{
title: 'Meeting',
disabled: false,
to: '/admin/patient/meetings/'+patientId,
},
{
title: 'Notes',
disabled: false,
}
];
const downloadFile = (fileUrl) => {
const link = document.createElement('a');
link.href = fileUrl;
@ -70,32 +81,70 @@ const downloadFile = (fileUrl) => {
</script>
<template>
<VCard title="Notes">
<VList class="pb-0" lines="two" v-if="notes.length > 0">
<template v-for="(p_note, index) in notes" :key="index">
<VListItem class="pb-0">
<VListItemTitle>
<span class="pb-0">{{ p_note.note }}</span>
<span v-if="p_note.file_url" style="font-size: 12px;float: right;">
<a type="button" @click="downloadFile(p_note.file_url)">
<VIcon>ri-file-download-line</VIcon>
</a>
</span>
<p class="text-start fs-5 mb-0 pb-0 text-grey">
<small>{{ p_note.doctor }}</small>
</p>
<p class="text-end fs-5 mb-0 pb-0 text-grey"><small>{{ p_note.date }}</small></p>
</VListItemTitle>
</VListItem>
<VDivider v-if="index !== notes.length - 1" />
<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>
</VList>
<template v-else>
<VCard>
<VAlert border="start" color="#003152" variant="tonal">
<div class="text-center">No data found</div>
</VAlert>
</VCard>
</template>
</VCard>
</v-breadcrumbs>
<VCard title="Notes">
<VCardText>
<VTimeline
side="end"
align="start"
line-inset="8"
truncate-line="both"
density="compact"
>
<!-- SECTION Timeline Item: Flight -->
<template v-for="(p_note, index) in notes" :key="index">
<VTimelineItem
dot-color="primary"
size="x-small"
>
<!-- 👉 Header -->
<div class="d-flex justify-space-between align-center gap-2 flex-wrap">
<span class="app-timeline-title">
{{p_note.note}}
</span>
<span class="app-timeline-meta">{{ p_note.date }}</span>
<!-- <span></span> -->
</div>
<!-- 👉 Content -->
<div class="app-timeline-text mb-1">
<span>{{ p_note.doctor }}</span>
<VIcon
size="20"
icon="tabler-arrow-right"
class="mx-2 flip-in-rtl"
/>
<!-- <span>Heathrow Airport, London</span> -->
</div>
<!-- <p class="app-timeline-meta mb-2">
6:30 AM
</p> -->
<!-- <div class="app-timeline-text d-flex align-center gap-2">
<div>
<VImg
:src="pdf"
:width="22"
/>
</div>
<span>booking-card.pdf</span>
</div> -->
</VTimelineItem>
</template>
<!-- !SECTION -->
<!-- !SECTION -->
</VTimeline>
</VCardText>
</VCard>
</template>

View File

@ -136,8 +136,25 @@ const close = () => {
prescriptionIndex.value = -1
prescriptionItem.value = { ...defaultItem.value }
}
const breadcrums = [
{
title: 'Meeting',
disabled: false,
to: '/admin/patient/meetings/'+patientId,
},
{
title: 'Prescription',
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-if="itemsPrescriptions">
<v-card title="Prescriptions" v-if="prescription">

View File

@ -162,7 +162,7 @@ const options = [
>
<template #activator="{ props }">
<i class="ri-more-2-line cursor-pointer" v-bind="props"></i>
<i class="ri-more-2-line cursor-pointer" style="font-size: 32px;" v-bind="props"></i>
</template>

View File

@ -36,7 +36,7 @@ export const routes = [
{
path: '/admin/dashboard',
name: 'admin-dashboard',
component: () => import('@/pages/dashboards/crm.vue'),
component: () => import('@/pages/dashboards/analytics.vue'),
},
{
path: '/admin/patients',