Api-PWA/DocuMed.PWA/Pages/MedicalHistoryActionPage.razor

108 lines
6.2 KiB
Plaintext

@page "/MedicalHistoryActionPage"
@inject NavigationManager NavigationManager
@inject IRestWrapper RestWrapper
@inject ISnackbar Snackbar
@inject IUserUtility UserUtility
<BasePageUi Title="افزودن یک شرحال جدید" Description="لطفا اطلاعات بیمار را با دقت کامل وارد کنید">
<div class="flex flex-col w-full h-full rounded-t-xl">
<MudCarousel class="w-full h-full overflow-x-hidden overflow-y-scroll" @ref="@ViewModel.Carousel" ShowArrows="false"
ShowBullets="false" EnableSwipeGesture="false" AutoCycle="false" TData="object">
<MudCarouselItem>
<div class="flex flex-col w-full h-full">
<MedicalHistoryActionStep1
@bind-ChiefComplaint="@ViewModel.PageDto.ChiefComplaint"
@bind-SelectedTemplate="@ViewModel.SelectedTemplate"
@bind-SelectedSection="@ViewModel.SelectedSelection"
@bind-PatientAge="@ViewModel.PageDto.Age"
@bind-PatientFirstName="@ViewModel.PageDto.FirstName"
@bind-PatientLastName="@ViewModel.PageDto.LastName"
/>
</div>
</MudCarouselItem>
<MudCarouselItem>
<div class="flex flex-col h-full">
<MedicalHistoryActionStep2 PiQuestions="@ViewModel.SelectedTemplateLDto.Questions.Where(q=>q.Part==MedicalHistoryPart.PresentIllness).ToList()"
@bind-PiDetail="@ViewModel.PageDto.PresentIllnessDetail"
PiAnswers="@ViewModel.PiAnswers" />
</div>
</MudCarouselItem>
<MudCarouselItem>
<div class="flex flex-col h-full">
<MedicalHistoryActionStep3 PdhQuestions="@ViewModel.SelectedTemplateLDto.Questions.Where(q=>q.Part==MedicalHistoryPart.PastDiseasesHistory).ToList()"
PdhAnswers="@ViewModel.PdhAnswers"
@bind-PdhDetail="@ViewModel.PageDto.PastDiseasesHistoryDetail"
PshAnswers="@ViewModel.PshAnswers"
PshQuestions="@ViewModel.SelectedTemplateLDto.Questions.Where(q=>q.Part==MedicalHistoryPart.PastSurgeryHistory).ToList()"
@bind-PshDetail="@ViewModel.PageDto.PastSurgeryHistoryDetail" />
</div>
</MudCarouselItem>
<MudCarouselItem>
<div class="flex flex-col h-full">
<MedicalHistoryActionStep4 DhQuestions="@ViewModel.SelectedTemplateLDto.Questions.Where(q=>q.Part==MedicalHistoryPart.DrugHistory).ToList()"
DhAnswers="@ViewModel.DhAnswers"
@bind-DhDetail="@ViewModel.PageDto.DrugHistoryDetail"
FhQuestions="@ViewModel.SelectedTemplateLDto.Questions.Where(q=>q.Part==MedicalHistoryPart.FamilyHistory).ToList()"
FhAnswers="@ViewModel.FhAnswers"
@bind-FhDetail="@ViewModel.PageDto.FamilyHistoryDetail"
HhQuestions="@ViewModel.SelectedTemplateLDto.Questions.Where(q=>q.Part==MedicalHistoryPart.AddictionHistory).ToList()"
HhAnswers="@ViewModel.HhAnswers"
@bind-HhDetail="@ViewModel.PageDto.AddictionHistoryDetail" />
</div>
</MudCarouselItem>
<MudCarouselItem>
<div class="flex flex-col h-full">
<MedicalHistoryActionStep5 GaQuestions="@ViewModel.SelectedTemplateLDto.Questions.Where(q=>q.Part==MedicalHistoryPart.GeneralAppearance).ToList()"
@bind-DiastolicBloodPressure="@ViewModel.PageDto.DiastolicBloodPressure"
@bind-PulseRate="@ViewModel.PageDto.PulseRate"
@bind-SPO2="@ViewModel.PageDto.SPO2"
@bind-SystolicBloodPressure="@ViewModel.PageDto.SystolicBloodPressure"
@bind-Temperature="@ViewModel.PageDto.Temperature"
@bind-GaDetail="@ViewModel.PageDto.GeneralAppearanceDetail"
@bind-RosDetail="@ViewModel.PageDto.SystemReviewDetail"/>
</div>
</MudCarouselItem>
<MudCarouselItem>
<div class="flex flex-col h-full">
<MedicalHistoryActionStep6 SubmittedOnClick="@ViewModel.CompleteCreateMedicalHistory" />
</div>
</MudCarouselItem>
</MudCarousel>
@if (!@ViewModel.MedicalHistorySubmitted)
{
<MudPaper class="bottom-0 left-0 fixed w-full bg-[--color-medicalhistory] px-3 pt-4 pb-3 rounded-t-xl flex flex-row">
@if (@ViewModel.CurrentStep == 4)
{
<MudButton @onclick="@ViewModel.CompleteStepClicked" Variant="Variant.Filled" Color="Color.Primary" IconSize="Size.Large" StartIcon="@Icons.Material.Filled.ChevronRight" class="font-extrabold rounded-full">تکمیل</MudButton>
}
else
{
<MudButton @onclick="@ViewModel.CompleteStepClicked" Variant="Variant.Outlined" IconSize="Size.Large"
StartIcon="@Icons.Material.Filled.ChevronRight" class="font-extrabold rounded-full">
مرحله بعد
</MudButton>
}
<p class="my-auto text-lg font-extrabold text-center grow">@ViewModel.StepCounter</p>
<MudButton @onclick="@ViewModel.RollBackStepClicked" IconSize="Size.Large" EndIcon="@Icons.Material.Filled.ChevronLeft"
class="font-extrabold rounded-full">مرحله قبل</MudButton>
</MudPaper>
}
</div>
</BasePageUi>
@code {
public MedicalHistoryActionPageViewModel ViewModel { get; set; }
protected override async Task OnInitializedAsync()
{
ViewModel = new MedicalHistoryActionPageViewModel(RestWrapper, NavigationManager, Snackbar, UserUtility);
await ViewModel.InitializeAsync();
await base.OnInitializedAsync();
}
}