complete design for submission flow

This commit is contained in:
2026-01-06 16:20:17 +03:30
parent f602ba68e3
commit 954947af77
12 changed files with 497 additions and 49 deletions
@@ -1,21 +1,13 @@
<script setup>
import { convertEnglishToPersian } from '../../utils/numberUtils';
import UiButton from '../../components/ui/UiButton.vue';
import CtScanIcon from '../../components/svg/ctScanIcon.svg';
import MriIcon from '../../components/svg/mriIcon.svg';
import SonographyIcon from '../../components/svg/sonographyIcon.svg';
import ECOIcon from '../../components/svg/ecoIcon.svg';
import RadiologyIcon from '../../components/svg/radiologyIcon.svg';
import { computed } from 'vue';
import { ref, computed } from 'vue';
import Dialog from 'primevue/dialog';
import { ref } from 'vue';
import ProgressBar from 'primevue/progressbar';
import RequestCard from './RequestCard.vue';
const value1 = ref(50);
const value2 = ref(0);
const value3 = ref(0);
const value4 = ref(0);
import RequestType from './fastRequest/RequestType.vue';
import RequestCase from './fastRequest/RequestCase.vue';
import RequestDetails from './fastRequest/RequestDetails.vue';
import RequestDoctor from './fastRequest/RequestDoctor.vue';
import RequestReview from './fastRequest/RequestReview.vue';
const props = defineProps({
title: {
@@ -28,6 +20,25 @@
}
});
const step = ref(1);
const stepRef = ref(null);
const steps = ref({
1: RequestType,
2: RequestCase,
3: RequestDetails,
4: RequestDoctor,
5: RequestReview,
});
const currentStepComponent = computed(() => {
return steps.value[step.value] || RequestType
});
const handleNext = () => {
step.value++;
}
</script>
@@ -74,18 +85,10 @@
<span class="text-[10px] font-[600] text-[#7188AD]">مرور نهایی</span>
</div>
</div>
<div class="w-full space-y-3 py-6">
<p class="h-[17px] flex items-center justify-start text-[11px] font-[600] text-[#3E4C63]">نوع درخواست خود را مشخص کنید</p>
<div class="w-full h-[133px] grid grid-cols-5 gap-3 justify-start">
<RequestCard v-model="selectedCt" title="CT Scan" icon="ct-scan" severity="primary" :selectable="true"/>
<RequestCard v-model="selectedCt" title="MRI" icon="mri" severity="primary" :selectable="true"/>
<RequestCard v-model="selectedCt" title="سونوگرافی" icon="sonography" severity="primary" :selectable="true"/>
<RequestCard v-model="selectedCt" title="اکوکاردیوگرافی" icon="echo" severity="primary" :selectable="true"/>
<RequestCard v-model="selectedCt" title="رادیولوژی" icon="radiology" severity="primary" :selectable="true"/>
</div>
</div>
<component :is="currentStepComponent" ref="stepRef" @validated="onValidated"/>
<div class="w-full pt-3 flex items-center justify-end border-t border-[#EBEBEB]">
<ui-button label="تایید و مرحله بعد" severity="success" size="small" />
<ui-button label="تایید و مرحله بعد" severity="success" size="small" @click="handleNext" />
</div>
</Dialog>