Files
BeWoPlaner/BeWoPlanerMobil/Views/ReportViewer/BerichteFormPartialView.cshtml
Lyndon Jetten a75991e805 MoK: Reports werden alle in einem einzigen PartialView angezeigt und das AbstractModel von dem alle Model erben, hat die Report- und ReportTitle-Eigenschaften.
ServiceRecords werden wie im FaC validiert, d.h. dass Arbeitszeiten und Pausenzeiten keine Überschneidungswarnung bekommen.
2024-07-24 16:45:56 +02:00

210 lines
9.5 KiB
Plaintext

@using BeWoPlanerMobil.Util
@using BS.Shared
@model BeWoPlanerMobil.Models.ReportViewerModel
@{
if(TempData[TempDataConstants.DoLogoutKey] is bool doLogout && doLogout)
{
<text>
<script type="text/javascript">
$("#second-logout-form").submit();
</script>
</text>
}
}
@*
Formular-Inputs:
1. SupportConcept wie in SingleBookingFormPartial.cshtml
2. Employee
3. Customer
4. Team
5. Organisation
6. Month
7. Year (DateTime.Now.Year - 10 bis DateTime.Now.Year + 1)
8. Date
9. DateRange (Start & Ende)
10. ValueListEntry, z.B. Betreuungsart_8 -> Name: Betreuungsart, ValueListEntryType: 8
11. ServiceCategory
12. Custom
13. Text
// ToDo: Beim Auswählen eines Hilfeplans etc. berichte-form-container neu laden!
*@
<script type="text/javascript">
function selectCostBearer2SupportConceptRel(relOid) {
try {
$("#berichte-form-container").load("@Url.Action("SelectCostBearer2SupportConceptRel")", {relOid: relOid});
} catch (error) {
showErrorPopup(error);
}
}
function selectMonth() {
try {
var selectedMonth = $("#month-select").find(":selected").val();
$("#berichte-form-container").load("@Url.Action("SelectMonth")", {selectedMonth: selectedMonth});
} catch(error) {
showErrorPopup(error);
}
}
function selectYear() {
try {
var selectedYear = $("#year-select").find(":selected").val();
$("#berichte-form-container").load("@Url.Action("SelectYear")", {selectedYear: selectedYear});
} catch(error) {
showErrorPopup(error);
}
}
</script>
@if(Model.SelectedQuery != null && Model.SelectedQuery.Parameter != null && Model.SelectedQuery.Parameter.Count > 0)
{
<div class="mt-3">
@foreach(var parameter in Model.SelectedQuery.Parameter)
{
switch(parameter.ParamType)
{
case QueryParameterType.SupportConcept:
var selectedSuportConceptTimeSpanColorClass = Model.SelectedCostBearer2SupportConceptRelListObject.IsAboutToExpire ? "text-bewo-is-about-to-expire" : Model.SelectedCostBearer2SupportConceptRelListObject.ExpiresInThreeMonthsOrLess ? "text-bewo-expires-in-three-months" : "text-dark";
<div class="form-row">
<div>
<div class="container p-0">
<div class="row">
<div class="col mt-3">
<div class="list-group">
<a href="#" class="list-group-item flex-column align-items-start no-underline" data-toggle="modal" data-target="#supportConceptList">
<div class="d-flex">
<h5 class="mb-1 text-dark text-left" id="selectedSupportConceptCustomerInfo">@Model.SelectedCostBearer2SupportConceptRelListObject.NameAndDateOfBirth</h5>
</div>
<p class="mb-1 text-left @selectedSuportConceptTimeSpanColorClass" id="selectedSupportConceptInfo">
@Model.SelectedCostBearer2SupportConceptRelListObject.SupportConceptTimeSpan
</p>
</a>
</div>
</div>
</div>
</div>
</div>
</div>
<div class="modal" role="dialog" tabindex="-1" id="supportConceptList">
<div class="modal-dialog text-center modal-dialog-scrollable" role="document">
<div class="modal-content">
<div class="modal-header">
<h5 class="modal-title">Hilfeplanauswahl</h5>
<button type="button" class="close" data-dismiss="modal" onclick="resetSupportConceptSearch()">
<span>&times;</span>
</button>
</div>
<div class="modal-body">
<!-- Hilfeplansuche -->
<div class="input-group mb-3">
<input class="form-control w-100" type="text" placeholder="Suchen..." oninput="supportConceptSearchOnChange()" id="support-concept-search-input" />
<div class="input-group-append">
<button class="btn btn-outline-secondary" type="button" onclick="resetSupportConceptSearch()">
<span class="fas fa-times-circle"></span>
</button>
</div>
</div>
<hr />
<!-- Hilfeplanliste -->
<div class="list-group">
@foreach(var supportConceptListObject in Model.CostBearer2SupportConceptRelListObjects)
{
var timeSpanColorClass = supportConceptListObject.IsAboutToExpire ? "text-bewo-is-about-to-expire" : supportConceptListObject.ExpiresInThreeMonthsOrLess ? "text-bewo-expires-in-three-months" : "text-dark";
<a href="#" class="list-group-item flex-column align-items-start no-underline blubb-test" onclick="selectCostBearer2SupportConceptRel(@supportConceptListObject.CostBearer2SupportConceptOid)" data-dismiss="modal">
<div class="justify-content-between">
<h5 class="mb-1 text-dark text-left supportconcept-name-header">
@supportConceptListObject.NameAndDateOfBirth
</h5>
</div>
<p class="mb-1 text-left @timeSpanColorClass">
@supportConceptListObject.SupportConceptTimeSpan
</p>
</a>
}
</div>
</div>
</div>
</div>
</div>
break;
case QueryParameterType.Employee:
break;
case QueryParameterType.Customer:
break;
case QueryParameterType.Month:
<div class="form-row">
<div class="col-md">
<div class="form-group my-2">
<div class="input-group">
<div class="input-group-prepend">
<div class="input-group-text prepend-input-group-text">
Monat
</div>
</div>
<select class="custom-select" id="month-select" onchange="selectMonth()">
@foreach(var month in Model.Months)
{
var selected = Model.SelectedMonthForBericht != null && month.Equals(Model.SelectedMonthForBericht) ? " selected" : string.Empty;
<option value="@month.Value"@selected>@month.Text</option>
}
</select>
<select class="custom-select" id="year-select" onchange="selectYear()">
@foreach(var year in MobileUtils.Years)
{
var selected = Model.SelectedYearForBericht.HasValue && year.Equals(Model.SelectedYearForBericht.Value) ? " selected" : string.Empty;
<option value="@MobileUtils.Years.IndexOf(year)"@selected>@year</option>
}
</select>
</div>
</div>
</div>
</div>
break;
case QueryParameterType.Date:
break;
case QueryParameterType.DateRange:
break;
case QueryParameterType.Team:
break;
case QueryParameterType.CostCenter:
break;
case QueryParameterType.ServiceCategory:
break;
case QueryParameterType.ServiceDescription:
break;
case QueryParameterType.Text:
break;
case QueryParameterType.Year:
break;
case QueryParameterType.CurrentUser:
break;
case QueryParameterType.CurrentEmployee:
break;
case QueryParameterType.ValueListEntryType:
break;
case QueryParameterType.Organisation:
break;
case QueryParameterType.Custom:
break;
}
}
</div>
}