Files
radicall/resources/js/Client/Pages/Dashboard/Dashboard.vue
T

151 lines
5.2 KiB
Vue

<script setup>
import ClientLayout from '../../layouts/ClientLayout.vue';
import ActivitiesWidget from '../../components/dashboard/ActivitiesWidget.vue';
import ActivitiesChart from '../../components/dashboard/ActivitiesChart.vue';
import TableGeneric from '../../components/ui/TableGeneric.vue';
import UiButton from '../../components/ui/UiButton.vue';
import EyeSvg from '../../components/svg/eye.svg';
import UiCard from '../../components/ui/UiCard.vue';
import RequestCard from '../../components/dashboard/RequestCard.vue';
import { ref } from 'vue';
import { Link } from '@inertiajs/inertia-vue3';
import FastRequestModal from '../../components/dashboard/FastRequestModal.vue';
const fastRequestModalVisible = ref(false);
const openFastRequestModal = () => {
fastRequestModalVisible.value = true;
}
defineProps({
user: {
type: Object,
required: true
}
})
const data = ref([
{
id: 1,
file_number: '1234567890',
status: 'مشاهده نشد',
request_type: 'CT',
requester: 'محراب اسماعیل‌نیا',
registration_date: '۱۴۰۴/۰۳/۰۲ ۱۴:۱۸',
processing_deadline: 'اتمام فرصت رسیدگی'
},
{
id: 2,
file_number: '1234567891',
status: 'مشاهده نشد',
request_type: 'CT',
requester: 'رضا گلیان',
registration_date: '۱۴۰۴/۰۳/۰۲ ۱۴:۱۸',
processing_deadline: '۵۳ دقیقه'
},
{
id: 3,
file_number: '1234567892',
status: 'مشاهده نشد',
request_type: 'MRI',
requester: 'دکتر مریم مهدی‌پور',
registration_date: '۱۴۰۴/۰۳/۰۲ ۱۴:۱۸',
processing_deadline: 'کمتر از ۳۲ ساعت'
},
{
id: 4,
file_number: '1234567893',
status: 'در انتظار ثبت گزارش',
request_type: 'MRI',
requester: 'دکتر مریم مهدی‌پور',
registration_date: '۱۴۰۴/۰۳/۰۲ ۱۴:۱۸',
processing_deadline: 'کمتر از ۲۴ ساعت'
},
{
id: 5,
file_number: '1234567894',
status: 'در انتظار ثبت گزارش',
request_type: 'MRI',
requester: 'نام شخص و یا پزشک',
registration_date: '۱۴۰۴/۰۳/۰۲ ۱۴:۱۸',
processing_deadline: 'کمتر از ۵ ساعت'
}
])
const columns = ref([
{
title: 'شماره پرونده',
key: 'file_number'
},
{
title: 'وضعیت',
key: 'status'
},
{
title: 'نوع درخواست',
key: 'request_type'
},
{
title: 'درخواست‌کننده',
key: 'requester'
},
{
title: 'تاریخ ثبت',
key: 'registration_date'
},
{
title: 'فرصت رسیدگی',
key: 'processing_deadline'
},
{
title: '',
key: 'actions',
width: 80,
style: 'grid grid-cols-1',
slot: true,
}
])
</script>
<template>
<ClientLayout>
<ActivitiesWidget />
<UiCard title="ثبت آنی درخواست جدید" variant="default" class="mt-4">
<p class="w-full flex items-center justify-start font-[400] text-[11px]">فقط چند قدم ساده برای ثبت درخواست کافیه.</p>
<div class="w-full h-[179px] grid grid-cols-5 gap-3 justify-start pt-[10px]">
<RequestCard title="CT Scan" icon="ct-scan" severity="primary" @click="openFastRequestModal"/>
<RequestCard title="MRI" icon="mri" severity="primary"/>
<RequestCard title="سونوگرافی" icon="sonography" severity="primary"/>
<RequestCard title="اکوکاردیوگرافی" icon="echo" severity="primary"/>
<RequestCard title="رادیولوژی" icon="radiology" severity="primary"/>
</div>
</UiCard>
<UiCard title="آخرین کیس‌های در انتظار بررسی" variant="default" class="mt-4">
<TableGeneric
class="bg-white !rounded-2xl"
:data="data"
customStyle="!text-[11px] !font-normal"
:searchable="false"
:columns="columns"
:selectable="false"
:pagination="null"
:model-value="[]"
>
<template #column-actions="{ data }" class="">
<div class="flex items-center justify-end">
<Link to="/dashboard/doctor/cases/1"
class="text-primary-500 bg-complement-100 flex items-center justify-end p-1.5 rounded-md"
>
<EyeSvg class="w-4 h-4 text-primary-500" />
</Link>
</div>
</template>
</TableGeneric>
</UiCard>
<UiCard title="خلاصه عملکرد شما" variant="default" class="mt-4">
<ActivitiesChart />
</UiCard>
<fast-request-modal v-model:visible="fastRequestModalVisible"></fast-request-modal>
</ClientLayout>
</template>