feat: Implement Fast Request feature with file upload and request management

This commit is contained in:
2026-08-26 17:40:45 +03:30
parent ba734679cf
commit 2d96978c38
33 changed files with 1294 additions and 852 deletions
@@ -4,157 +4,17 @@ import UiCard from '../../../components/ui/UiCard.vue'
import TableGeneric from '../../../components/ui/TableGeneric.vue'
import EyeSvg from '../../../components/svg/eye.svg'
import { Link } from '@inertiajs/inertia-vue3'
import { ref } from 'vue'
import { useDocumentStore } from '../../../store/Document'
import { caseColumns } from '../../../data/casesTableColumns'
const documentStore = useDocumentStore();
const selectedItems = ref([])
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: 'کمتر از ۵ ساعت'
},
{
id: 6,
file_number: '1234567893',
status: 'در انتظار ثبت گزارش',
request_type: 'MRI',
requester: 'دکتر مریم مهدی‌پور',
registration_date: '۱۴۰۴/۰۳/۰۲ ۱۴:۱۸',
processing_deadline: 'کمتر از ۲۴ ساعت'
},
{
id: 7,
file_number: '1234567894',
status: 'در انتظار ثبت گزارش',
request_type: 'MRI',
requester: 'نام شخص و یا پزشک',
registration_date: '۱۴۰۴/۰۳/۰۲ ۱۴:۱۸',
processing_deadline: 'کمتر از ۵ ساعت'
},
{
id: 8,
file_number: '1234567893',
status: 'در انتظار ثبت گزارش',
request_type: 'MRI',
requester: 'دکتر مریم مهدی‌پور',
registration_date: '۱۴۰۴/۰۳/۰۲ ۱۴:۱۸',
processing_deadline: 'کمتر از ۲۴ ساعت'
},
{
id: 9,
file_number: '1234567894',
status: 'در انتظار ثبت گزارش',
request_type: 'MRI',
requester: 'نام شخص و یا پزشک',
registration_date: '۱۴۰۴/۰۳/۰۲ ۱۴:۱۸',
processing_deadline: 'کمتر از ۵ ساعت'
},
{
id: 7,
file_number: '1234567894',
status: 'در انتظار ثبت گزارش',
request_type: 'MRI',
requester: 'نام شخص و یا پزشک',
registration_date: '۱۴۰۴/۰۳/۰۲ ۱۴:۱۸',
processing_deadline: 'کمتر از ۵ ساعت'
},
{
id: 8,
file_number: '1234567893',
status: 'در انتظار ثبت گزارش',
request_type: 'MRI',
requester: 'دکتر مریم مهدی‌پور',
registration_date: '۱۴۰۴/۰۳/۰۲ ۱۴:۱۸',
processing_deadline: 'کمتر از ۲۴ ساعت'
},
{
id: 9,
file_number: '1234567894',
status: 'در انتظار ثبت گزارش',
request_type: 'MRI',
requester: 'نام شخص و یا پزشک',
registration_date: '۱۴۰۴/۰۳/۰۲ ۱۴:۱۸',
processing_deadline: 'کمتر از ۵ ساعت'
defineProps({
documents: {
type: Object,
required: true
}
])
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>
@@ -162,13 +22,13 @@ const columns = ref([
<UiCard title="کیس‌های در انتظار بررسی" variant="default" class="">
<TableGeneric
class="bg-white !rounded-2xl"
:data="data"
:data="documents.data"
customStyle="!text-[11px] !font-normal"
:searchable="false"
:columns="columns"
:columns="caseColumns"
:selectable="false"
:pagination="null"
:model-value="selectedItems"
:pagination="documents.meta"
:model-value="[]"
>
<template #column-actions="{ data }" class="">
<div class="flex items-center justify-end">