682 lines
35 KiB
Plaintext
682 lines
35 KiB
Plaintext
@using BeWoPlanerMobil.Util
|
|
@using BS.Shared
|
|
@using BS.Shared.DataContracts
|
|
@using BS.Shared.DataContracts.Compact
|
|
@model BeWoPlanerMobil.Models.ReportViewerModel
|
|
|
|
@{
|
|
if(TempData[TempDataConstants.DoLogoutKey] is bool doLogout && doLogout)
|
|
{
|
|
<text>
|
|
<script type="text/javascript">
|
|
$("#second-logout-form").submit();
|
|
</script>
|
|
</text>
|
|
}
|
|
}
|
|
|
|
<script type="text/javascript">
|
|
$(function () {
|
|
$("#query-date-picker").datetimepicker({
|
|
locale: "de",
|
|
format: "L"
|
|
});
|
|
|
|
$("#query-date-range-start-picker").datetimepicker({
|
|
locale: "de",
|
|
format: "L"
|
|
});
|
|
|
|
$("#query-date-range-end-picker").datetimepicker({
|
|
locale: "de",
|
|
format: "L"
|
|
});
|
|
});
|
|
|
|
$(document).ready(function() {
|
|
try {
|
|
window.calcPrependWidth();
|
|
} catch (error) {
|
|
window.showErrorPopup(error);
|
|
}
|
|
});
|
|
|
|
function selectCostBearer2SupportConceptRel(relOid, parameterType, parameterOid) {
|
|
try {
|
|
$("#berichte-form-container").load("@Url.Action("SelectQueryParameter")", {objectOid: relOid, parameterType: parameterType, parameterOid: parameterOid});
|
|
} catch (error) {
|
|
window.showErrorPopup(error);
|
|
}
|
|
}
|
|
|
|
function selectMonth(parameterType, parameterOid) {
|
|
try {
|
|
const selectedMonth = $("#month-select").find(":selected").val().toString();
|
|
const selectedYear = $("#month-year-select").find(":selected").val().toString();
|
|
|
|
$("#berichte-form-container").load("@Url.Action("SelectQueryParameter")", {objectOid: null, parameterType: parameterType, parameterOid: parameterOid, textValue: `${selectedMonth}_${selectedYear}`});
|
|
} catch(error) {
|
|
window.showErrorPopup(error);
|
|
}
|
|
}
|
|
|
|
function selectYear(parameterType, parameterOid) {
|
|
try {
|
|
const selectedYear = $("#month-year-select").find(":selected").val();
|
|
|
|
$("#berichte-form-container").load("@Url.Action("SelectQueryParameter")", {objectOid: null, parameterType: parameterType, parameterOid: parameterOid, textValue: selectedYear.toString()});
|
|
} catch(error) {
|
|
window.showErrorPopup(error);
|
|
}
|
|
}
|
|
|
|
function onDropdownParameterInput(element) {
|
|
try {
|
|
var searchText = $(element).val();
|
|
|
|
const id = $(element).attr("id");
|
|
|
|
let prefix = "";
|
|
|
|
if (id !== undefined && id !== null && id.includes("-")) {
|
|
const splitId = id.split("-");
|
|
|
|
if(splitId.length > 1) {
|
|
prefix = splitId[1];
|
|
}
|
|
}
|
|
|
|
if(searchText === null || searchText === undefined || searchText.length === 0) {
|
|
$(`#query-${prefix}-dropdown-menu .dropdown-item`).show();
|
|
return;
|
|
}
|
|
|
|
const menuItems = $(`#query-${prefix}-dropdown-menu .dropdown-item`);
|
|
|
|
menuItems.hide();
|
|
|
|
$.each(menuItems,
|
|
function (index, item) {
|
|
const itemText = $(item).text().toLowerCase();
|
|
|
|
if(itemText.includes(searchText.toLowerCase())) {
|
|
$(item).show();
|
|
}
|
|
});
|
|
} catch(error) {
|
|
window.showErrorPopup(error);
|
|
}
|
|
}
|
|
|
|
function resetDropdownParameterSearch(prefix) {
|
|
try {
|
|
$(`#query-${prefix}-search-input`).val("");
|
|
$(`#query-${prefix}-dropdown-menu .dropdown-item`).show();
|
|
|
|
const e = window.event;
|
|
e.cancelBubble = true;
|
|
if(e.stopPropagation) {
|
|
e.stopPropagation();
|
|
}
|
|
} catch(error) {
|
|
window.showErrorPopup(error);
|
|
}
|
|
}
|
|
|
|
function selectEmployeeParameter(element, employeeOid, parameterType, parameterOid) {
|
|
try {
|
|
$("#query-employee-popup").modal("hide");
|
|
|
|
$("#berichte-form-container").load("@Url.Action("SelectQueryParameter")", {objectOid: employeeOid, parameterType: parameterType, parameterOid: parameterOid});
|
|
} catch(error) {
|
|
window.showErrorPopup(error);
|
|
}
|
|
}
|
|
|
|
function selectCustomerParameter(element, customerOid, parameterType, parameterOid) {
|
|
try {
|
|
$("#query-customer-popup").modal("hide");
|
|
|
|
$("#berichte-form-container").load("@Url.Action("SelectQueryParameter")", {objectOid: customerOid, parameterType: parameterType, parameterOid: parameterOid});
|
|
} catch(error) {
|
|
window.showErrorPopup(error);
|
|
}
|
|
}
|
|
|
|
function selectOrganizationParameter(element, organizationOid, parameterType, parameterOid) {
|
|
try {
|
|
$("#query-organization-popup").modal("hide");
|
|
|
|
$("#berichte-form-container").load("@Url.Action("SelectQueryParameter")", {objectOid: organizationOid, parameterType: parameterType, parameterOid: parameterOid});
|
|
} catch(error) {
|
|
window.showErrorPopup(error);
|
|
}
|
|
}
|
|
|
|
function selectServiceCategoryParameter(element, parameterType, parameterOid) {
|
|
try {
|
|
const serviceCategoryOid = $(element).find(":selected").val();
|
|
|
|
$("#berichte-form-container").load("@Url.Action("SelectQueryParameter")", {objectOid: serviceCategoryOid, parameterType: parameterType, parameterOid: parameterOid});
|
|
} catch(error) {
|
|
window.showErrorPopup(error);
|
|
}
|
|
}
|
|
|
|
function selectTeamParameter(element, teamOid, parameterType, parameterOid) {
|
|
try {
|
|
$("#query-team-popup").modal("hide");
|
|
|
|
$("#berichte-form-container").load("@Url.Action("SelectQueryParameter")", {objectOid: teamOid, parameterType: parameterType, parameterOid: parameterOid});
|
|
} catch(error) {
|
|
window.showErrorPopup(error);
|
|
}
|
|
}
|
|
|
|
function selectValueListEntry(element, parameterType, parameterOid) {
|
|
try {
|
|
$("#berichte-form-container").load("@Url.Action("SelectQueryParameter")", {objectOid: $(element).find(":selected").val(), parameterType: parameterType, parameterOid: parameterOid});
|
|
} catch(error) {
|
|
window.showErrorPopup(error);
|
|
}
|
|
}
|
|
|
|
function selectQueryText(element, parameterType, parameterOid) {
|
|
try {
|
|
$("#berichte-form-container").load("@Url.Action("SelectQueryParameter")", {objectOid: null, parameterType: parameterType, parameterOid: parameterOid, textValue: $(element).val()});
|
|
} catch(error) {
|
|
window.showErrorPopup(error);
|
|
}
|
|
}
|
|
|
|
function selectQueryDate(element, parameterType, parameterOid) {
|
|
try {
|
|
$("#berichte-form-container").load("@Url.Action("SelectQueryParameter")", {objectOid: null, parameterType: parameterType, parameterOid: parameterOid, textValue: $(element).val().toString()});
|
|
} catch(error) {
|
|
window.showErrorPopup(error);
|
|
}
|
|
}
|
|
|
|
function selectQueryDateRange(parameterType, parameterOid) {
|
|
try {
|
|
const start = $("#query-date-range-start").val().toString();
|
|
const end = $("#query-date-range-end").val().toString();
|
|
|
|
if(!start || !end) {
|
|
return;
|
|
}
|
|
|
|
$("#berichte-form-container").load("@Url.Action("SelectQueryParameter")", {objectOid: null, parameterType: parameterType, parameterOid: parameterOid, textValue: `${start}_${end}`});
|
|
} catch(error) {
|
|
window.showErrorPopup(error);
|
|
}
|
|
}
|
|
|
|
function executeQueryButtonClick() {
|
|
try {
|
|
showSpinner();
|
|
$("#msk-report-container").load("@Url.Action("ExecuteQuery")",
|
|
function () {
|
|
hideSpinner();
|
|
$("#bewo-report-popup").modal("show");
|
|
});
|
|
} catch(error) {
|
|
window.showErrorPopup(error);
|
|
}
|
|
}
|
|
</script>
|
|
|
|
@if(Model.SelectedQuery != null && Model.SelectedQuery.Parameter != null && Model.SelectedQuery.Parameter.Count > 0)
|
|
{
|
|
<div>
|
|
<hr />
|
|
@for(var i = 0; i < Model.SelectedQuery.Parameter.Count; i++)
|
|
{
|
|
var parameter = Model.SelectedQuery.Parameter[i];
|
|
|
|
if(parameter?.QueryParameterOid is null)
|
|
{
|
|
continue;
|
|
}
|
|
|
|
var parameterType = (int) parameter.ParamType;
|
|
var parameterOid = parameter.QueryParameterOid.Value;
|
|
|
|
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 class="col-md">
|
|
<div class="container p-0">
|
|
<div class="row">
|
|
<div class="col mb-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 font-weight-bold">Hilfeplanauswahl</h5>
|
|
<button type="button" class="close" data-dismiss="modal" onclick="resetSupportConceptSearch()">
|
|
<span>×</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, @parameterType, @parameterOid)" 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:
|
|
<div class="form-row">
|
|
<div class="col-md mb-3">
|
|
@{
|
|
var employeeButtonValue = "Mitarbeiter";
|
|
|
|
if(Model.SelectedValues.ContainsKey(parameterOid) && Model.SelectedValues[parameterOid].Parameter is CompactEmployeeDC selectedEmployee)
|
|
{
|
|
employeeButtonValue = selectedEmployee.DetailDescription;
|
|
}
|
|
}
|
|
|
|
@Html.PopupWithSearchForIFilterables(Model.AllEmployeesForQueries, "selectEmployeeParameter", $"{parameterType}, {parameterOid}", employeeButtonValue, "query-employee-popup", false, true, true, true)
|
|
</div>
|
|
</div>
|
|
break;
|
|
case QueryParameterType.Customer:
|
|
<div class="form-row">
|
|
<div class="col-md mb-3">
|
|
@{
|
|
var customerButtonValue = "Klient";
|
|
|
|
if(Model.SelectedValues.ContainsKey(parameterOid))
|
|
{
|
|
if(Model.SelectedValues[parameterOid].Parameter is CompactCustomerDC selectedCustomer)
|
|
{
|
|
customerButtonValue = selectedCustomer.DetailDescription;
|
|
}
|
|
}
|
|
}
|
|
|
|
@Html.PopupWithSearchForIFilterables(Model.AllCustomersForQueries, "selectCustomerParameter", $"{parameterType}, {parameterOid}", customerButtonValue, "query-customer-popup", false, true, true, true)
|
|
</div>
|
|
</div>
|
|
break;
|
|
case QueryParameterType.Month:
|
|
<div class="form-row">
|
|
<div class="col-md">
|
|
<div class="form-group">
|
|
<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(@parameterType, @parameterOid)">
|
|
@foreach(var month in Model.Months)
|
|
{
|
|
var selected = string.Empty;
|
|
|
|
if(Model.SelectedValues.ContainsKey(parameterOid))
|
|
{
|
|
if(Model.SelectedValues[parameterOid].Parameter is DateTime monthDate && month.Value.Equals(monthDate.Month.ToString()))
|
|
{
|
|
selected = "selected";
|
|
}
|
|
}
|
|
else
|
|
{
|
|
var lastMonth = DateTime.Today.AddMonths(-1);
|
|
var selectedMonth = lastMonth.Month.ToString();
|
|
|
|
if(selectedMonth.Equals(month.Text))
|
|
{
|
|
selected = "selected";
|
|
}
|
|
}
|
|
|
|
<option value="@month.Value" @selected>@month.Text</option>
|
|
}
|
|
</select>
|
|
<select class="custom-select" id="month-year-select" onchange="selectMonth(@parameterType, @parameterOid)">
|
|
@foreach(var year in MobileUtils.Years)
|
|
{
|
|
var selected = string.Empty;
|
|
|
|
if(Model.SelectedValues.ContainsKey(parameterOid) && Model.SelectedValues[parameterOid].Parameter is DateTime selectedYear)
|
|
{
|
|
if(year.Equals(selectedYear.Year))
|
|
{
|
|
selected = "selected";
|
|
}
|
|
}
|
|
else
|
|
{
|
|
var lastMonth = DateTime.Today.AddMonths(-1);
|
|
var selectedYear2 = lastMonth.Year;
|
|
|
|
selected = year.Equals(selectedYear2) ? "selected" : string.Empty;
|
|
}
|
|
|
|
<option value="@year" @selected>@year</option>
|
|
}
|
|
</select>
|
|
</div>
|
|
</div>
|
|
|
|
</div>
|
|
</div>
|
|
break;
|
|
case QueryParameterType.Date:
|
|
var dateValue = string.Empty;
|
|
if(Model.SelectedValues.ContainsKey(parameterOid) && Model.SelectedValues[parameterOid].Parameter is DateTime queryDate)
|
|
{
|
|
dateValue = queryDate.ToString("dd.MM.yyyy");
|
|
}
|
|
|
|
<div class="form-row">
|
|
<div class="col-md">
|
|
<div class="form-group">
|
|
<div class="input-group date" id="query-date-picker" data-target-input="nearest">
|
|
<div class="input-group-prepend">
|
|
<div class="input-group-text prepend-input-group-text">
|
|
Datum
|
|
</div>
|
|
</div>
|
|
<input onfocusout="selectQueryDate(this, @parameterType, @parameterOid)" type="text" id="query-date" value="@dateValue" name="query-date" class="form-control datetimepicker-input" data-target="#query-date-picker" data-toggle="datetimepicker" />
|
|
<div class="input-group-append" data-target="#query-date-picker" data-toggle="datetimepicker">
|
|
<div class="input-group-text px-2">
|
|
<i class="fas fa-calendar-alt"></i>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
break;
|
|
case QueryParameterType.DateRange:
|
|
var startValue = string.Empty;
|
|
var endValue = string.Empty;
|
|
|
|
if(Model.SelectedValues.ContainsKey(parameterOid) && Model.SelectedValues[parameterOid].Parameter is BS.Shared.Core.DateTimeSpan dateTimeSpan)
|
|
{
|
|
startValue = dateTimeSpan.StartDate.ToString("dd.MM.yyyy");
|
|
endValue = dateTimeSpan.EndDate.ToString("dd.MM.yyyy");
|
|
}
|
|
<div class="form-row">
|
|
<div class="col-md">
|
|
<div class="form-group">
|
|
<div class="input-group date" id="query-date-range-start-picker" data-target-input="nearest">
|
|
<div class="input-group-prepend">
|
|
<div class="input-group-text prepend-input-group-text">
|
|
Zeitraum
|
|
</div>
|
|
</div>
|
|
<input onfocusout="selectQueryDateRange(@parameterType, @parameterOid)" value="@startValue" type="text" id="query-date-range-start" name="query-date-range-start" class="form-control datetimepicker-input" data-target="#query-date-range-start-picker" data-toggle="datetimepicker" />
|
|
<div class="input-group-append" data-target="#query-date-range-start-picker" data-toggle="datetimepicker">
|
|
<div class="input-group-text px-2">
|
|
<i class="fas fa-calendar-alt"></i>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="col-md">
|
|
<div class="form-group">
|
|
<div class="input-group date" id="query-date-range-end-picker" data-target-input="nearest">
|
|
<input onfocusout="selectQueryDateRange(@parameterType, @parameterOid)" value="@endValue" type="text" id="query-date-range-end" name="query-date-range-end" class="form-control datetimepicker-input" data-target="#query-date-range-end-picker" data-toggle="datetimepicker" />
|
|
<div class="input-group-append" data-target="#query-date-range-end-picker" data-toggle="datetimepicker">
|
|
<div class="input-group-text px-2">
|
|
<i class="fas fa-calendar-alt"></i>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
break;
|
|
case QueryParameterType.Team:
|
|
<div class="form-row">
|
|
<div class="col-md mb-3">
|
|
@{
|
|
var teamButtonValue = "Team";
|
|
|
|
if(Model.SelectedValues.ContainsKey(parameterOid) && Model.SelectedValues[parameterOid].Parameter is CompactTeamDC selectedTeam)
|
|
{
|
|
teamButtonValue = selectedTeam.Name;
|
|
}
|
|
}
|
|
|
|
@Html.PopupWithSearchForIFilterables(Model.AllTeamsForQueries, "selectTeamParameter", $"{parameterType}, {parameterOid}", teamButtonValue, "query-team-popup", false, true, true, true)
|
|
</div>
|
|
</div>
|
|
break;
|
|
case QueryParameterType.ServiceCategory:
|
|
<div class="form-row">
|
|
<div class="col-md">
|
|
<div class="form-group">
|
|
<div class="input-group">
|
|
<div class="input-group-prepend">
|
|
<div class="input-group-text prepend-input-group-text">
|
|
Kategorie
|
|
</div>
|
|
</div>
|
|
<select class="custom-select" id="category-@i-select" onchange="selectServiceCategoryParameter(this, @parameterType, @parameterOid)">
|
|
<option value="0"></option>
|
|
|
|
@foreach(var category in Model.AllServiceCategoriesForQueries)
|
|
{
|
|
var selected = string.Empty;
|
|
|
|
if(Model.SelectedValues.ContainsKey(parameterOid))
|
|
{
|
|
if(Model.SelectedValues[parameterOid].Parameter is ServiceCategoryDC serviceCategory && serviceCategory.Equals(category))
|
|
{
|
|
selected = "selected";
|
|
}
|
|
}
|
|
|
|
<option value="@category.ServiceCategoryOid" @selected>@category.Name</option>
|
|
}
|
|
</select>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
break;
|
|
case QueryParameterType.Text:
|
|
<div class="form-row">
|
|
<div class="col-md">
|
|
<div class="form-group">
|
|
<div class="input-group">
|
|
<div class="input-group-prepend">
|
|
<div class="input-group-text prepend-input-group-text">
|
|
Text
|
|
</div>
|
|
</div>
|
|
@{
|
|
var selectedText = Model.SelectedValues.ContainsKey(parameterOid) ? Model.SelectedValues[parameterOid].Parameter.ToString() : string.Empty;
|
|
}
|
|
<input class="form-control w-100" value="@selectedText" type="text" id="query-text" name="query-text" onchange="selectQueryText(this, @parameterType, @parameterOid)" />
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
break;
|
|
case QueryParameterType.Year:
|
|
<div class="form-row">
|
|
<div class="col-md">
|
|
<div class="form-group">
|
|
<div class="input-group">
|
|
<div class="input-group-prepend">
|
|
<div class="input-group-text prepend-input-group-text">
|
|
Jahr
|
|
</div>
|
|
</div>
|
|
<select class="custom-select" id="year-select" onchange="selectYear(@parameterType, @parameterOid)">
|
|
@foreach(var year in MobileUtils.Years)
|
|
{
|
|
var selected = string.Empty;
|
|
|
|
if(Model.SelectedValues.ContainsKey(parameterOid))
|
|
{
|
|
if(Model.SelectedValues[parameterOid].Parameter is int selectedYear && year.Equals(selectedYear))
|
|
{
|
|
selected = "selected";
|
|
}
|
|
}
|
|
|
|
<option value="@MobileUtils.Years.IndexOf(year)" @selected>@year</option>
|
|
}
|
|
</select>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
break;
|
|
case QueryParameterType.ValueListEntryType:
|
|
<div class="form-row">
|
|
<div class="col-md">
|
|
<div class="form-group">
|
|
<div class="input-group">
|
|
<div class="input-group-prepend">
|
|
<div class="input-group-text">
|
|
@{
|
|
var parameterName = parameter.Name;
|
|
if(parameter.Name.Contains("_"))
|
|
{
|
|
var splitName = parameter.Name.Split('_');
|
|
parameterName = string.Empty;
|
|
for(var j = 0; j < splitName.Length - 1; j++)
|
|
{
|
|
parameterName += splitName[j];
|
|
}
|
|
}
|
|
|
|
ValueListEntryDC selectedValueListEntry = null;
|
|
if(Model.SelectedValues.ContainsKey(parameterOid) && Model.SelectedValues[parameterOid].Parameter is ValueListEntryDC vle)
|
|
{
|
|
selectedValueListEntry = vle;
|
|
}
|
|
}
|
|
|
|
@parameterName
|
|
</div>
|
|
</div>
|
|
<select class="custom-select" id="value-list-entry-@i-select" onchange="selectValueListEntry(this, @parameterType, @parameter.QueryParameterOid)">
|
|
<option value="0"></option>
|
|
|
|
@foreach(var valueListEntry in Model.ValueListEntryTypes2ValueListEntries[Model.GetValueListEntryTypeByQueryParameter(parameter.Name)])
|
|
{
|
|
var selected = string.Empty;
|
|
|
|
if(selectedValueListEntry?.Equals(valueListEntry) ?? false)
|
|
{
|
|
selected = "selected";
|
|
}
|
|
|
|
<option value="@valueListEntry.ValueListEntryOid" @selected>@valueListEntry.DisplayName</option>
|
|
}
|
|
</select>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
break;
|
|
case QueryParameterType.Organisation:
|
|
<div class="form-row">
|
|
<div class="col-md mb-3">
|
|
<div class="dropdown">
|
|
@{
|
|
var organizationButtonValue = "Organisation";
|
|
|
|
if(Model.SelectedValues.ContainsKey(parameterOid))
|
|
{
|
|
if(Model.SelectedValues[parameterOid].Parameter is CompactOrganisationDC selectedOrganisation)
|
|
{
|
|
organizationButtonValue = selectedOrganisation.DetailDescription;
|
|
}
|
|
}
|
|
}
|
|
|
|
@Html.PopupWithSearchForIFilterables(Model.AllOrganisationForQuery, "selectOrganizationParameter", $"{parameterType}, {parameterOid}", organizationButtonValue, "query-organization-popup", false, true, true, true)
|
|
</div>
|
|
</div>
|
|
</div>
|
|
break;
|
|
case QueryParameterType.Custom:
|
|
<div class="form-row">
|
|
<div class="col-md">
|
|
<div class="form-group">
|
|
<div class="input-group">
|
|
<div class="input-group-prepend">
|
|
<div class="input-group-text">
|
|
@parameter.Name
|
|
</div>
|
|
</div>
|
|
<select class="custom-select" id="query-custom-parameter-select" name="query-custom-parameter-select">
|
|
@foreach(var x in parameter.CustomValues)
|
|
{
|
|
<option value="@x">@x</option>
|
|
}
|
|
</select>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
break;
|
|
}
|
|
}
|
|
|
|
<hr />
|
|
<div class="form-row">
|
|
<div class="col-md">
|
|
<button class="btn btn-primary" type="button" onclick="executeQueryButtonClick()">Bericht öffnen</button>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
} |