Reines SQL holt die Unterschriftenwerte aus der ServiceRecordHistory-Tabelle
MoK:
Abwesenheiten bei Klienten angefangen. Nur im Debug-Modus sichtbar
240 lines
9.4 KiB
Plaintext
240 lines
9.4 KiB
Plaintext
@using BeWoPlanerMobil.Models
|
|
@model BeWoPlanerMobil.Models.ReportViewerModel
|
|
|
|
<script type="text/javascript">
|
|
function reportFilterOnChange() {
|
|
try {
|
|
//team oder mitarbeiter
|
|
toggleMitarbeiterstundenForm();
|
|
} catch (error) {
|
|
showErrorPopup(error);
|
|
}
|
|
}
|
|
|
|
function allEmployeesCbOnClick() {
|
|
try {
|
|
var isChecked = $("#msk-all-employees-cb").is(':checked');
|
|
|
|
$("#msk-employee-list").toggle(isChecked);
|
|
|
|
if(isChecked) {
|
|
$("#msk-form-warning").hide();
|
|
}
|
|
} catch (error) {
|
|
showErrorPopup(error);
|
|
}
|
|
}
|
|
|
|
function allTeamsCbOnClick() {
|
|
try {
|
|
var isChecked = $("#msk-all-teams-cb").is(':checked');
|
|
|
|
$("#msk-team-list").toggle(isChecked);
|
|
|
|
if (isChecked) {
|
|
$("#msk-form-warning").hide();
|
|
}
|
|
} catch (error) {
|
|
showErrorPopup(error);
|
|
}
|
|
}
|
|
|
|
function createMitarbeiterstundenkontoReport() {
|
|
try {
|
|
var formWarning = $("#msk-form-warning");
|
|
formWarning.hide();
|
|
formWarning.empty();
|
|
|
|
var month = $("#msk-month-select :selected").val();
|
|
var year = $("#msk-year-select :selected").val();
|
|
|
|
var allEmployees = $("#msk-all-employees-cb").is(':checked');
|
|
var allTeams = $("#msk-all-teams-cb").is(':checked');
|
|
|
|
var employeeOid = $("#msk-employee-select :selected").val();
|
|
var teamOid = $("#msk-team-select :selected").val();
|
|
|
|
var ansicht = 0;
|
|
|
|
if ($("#msk-tagesansicht-cb").length) {
|
|
ansicht = $("#msk-tagesansicht-cb").is('checked') ? 1 : 0;
|
|
} else {
|
|
switch ($("input[name=msk-ansichtsradio]:checked").attr("id")) {
|
|
case "msk-tagesansichtsradio":
|
|
ansicht = 1;
|
|
break;
|
|
case "msk-jahresansichtsradio":
|
|
ansicht = 2;
|
|
break;
|
|
default:
|
|
ansicht = 0;
|
|
break;
|
|
}
|
|
}
|
|
|
|
var teamForm = $("#msk-team-form");
|
|
var employeeForm = $("#msk-employee-form");
|
|
|
|
var isEmployeeFormSelected = employeeForm.css("display") === "block" || employeeForm.css("display") === "none" && (teamForm.css("display") === "none" || teamForm.length === 0);
|
|
|
|
var parameterString = month + ";" + year + ";" + isEmployeeFormSelected + ";";
|
|
|
|
if(isEmployeeFormSelected) {
|
|
if (allEmployees === false && employeeOid === "0") {
|
|
formWarning.removeClass("d-none");
|
|
formWarning.html("Bitte wählen Sie einen Mitarbeiter aus.");
|
|
formWarning.show();
|
|
return;
|
|
} else {
|
|
parameterString += allEmployees + ";" + employeeOid;
|
|
}
|
|
} else {
|
|
if (allTeams === false && teamOid === "0") {
|
|
formWarning.removeClass("d-none");
|
|
formWarning.html("Bitte wählen Sie ein Team aus.");
|
|
formWarning.show();
|
|
return;
|
|
} else {
|
|
parameterString += allTeams + ";" + teamOid;
|
|
}
|
|
}
|
|
|
|
parameterString += ";" + ansicht;
|
|
|
|
showSpinner();
|
|
$("#msk-report-container").load("@Url.Action("LoadMitarbeiterstundenkonto")", { parameters: parameterString }, function() {
|
|
hideSpinner();
|
|
});
|
|
} catch (error) {
|
|
showErrorPopup(error);
|
|
}
|
|
}
|
|
</script>
|
|
|
|
|
|
@*ToDo: Bis auf weiteres nur Mitarbeiterstundenkonto anzeigen!*@
|
|
@*@if(Model.SelectedReportType == ReportType.Berichte)
|
|
{
|
|
@Html.DropDownListFor(model => model.SelectedCustomReport, Model.CustomReports, new { @class = "custom-select", id = "msk-customReportSelect", onchange = "loadCustomReport()" })
|
|
}*@
|
|
|
|
@if(Model.SelectedReportType == ReportType.Mitarbeiterstundenkonto && AbstractModel.HasRightToViewMitarbeiterstundenkonto)
|
|
{
|
|
<div id="report-form-container">
|
|
<div class="form-row">
|
|
<div class="col">
|
|
<div class="alert alert-danger d-none w-100" role="alert" id="msk-form-warning">
|
|
|
|
</div>
|
|
</div>
|
|
</div>
|
|
@if(AbstractModel.HasRightMitarbeiterstundenkontoViewAll || AbstractModel.HasRightMitarbeiterstundenkontoViewTeams)
|
|
{
|
|
<div class="form-row">
|
|
<div class="col">
|
|
<div class="form-check">
|
|
<input class="form-check-input" type="radio" name="filterRadio" id="msk-filterForEmployeesRadio" onchange="reportFilterOnChange()" checked/>
|
|
<label for="msk-filterForEmployeesRadio">Nach Mitarbeiter filtern</label>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="form-row">
|
|
<div class="col">
|
|
<div class="form-check">
|
|
<input class="form-check-input" type="radio" name="filterRadio" id="msk-filterForTeamsRadio" onchange="reportFilterOnChange()"/>
|
|
<label for="msk-filterForTeamsRadio">Nach Teams filtern</label>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
}
|
|
|
|
<div id="msk-employee-form">
|
|
@if(AbstractModel.HasRightMitarbeiterstundenkontoViewAll)
|
|
{
|
|
<div class="form-row">
|
|
<div class="col">
|
|
<div class="form-group form-check">
|
|
<input type="checkbox" class="form-check-input" id="msk-all-employees-cb"/>
|
|
<label class="form-check-label" for="msk-all-employees-cb" onclick="allEmployeesCbOnClick()">Alle Mitarbeiter</label>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
}
|
|
<div class="form-row" id="msk-employee-list">
|
|
<div class="col">
|
|
@Html.DropDownListFor(model => model.SelectedEmployeeOid, Model.Employees, new { @class = "custom-select mb-3", id = "msk-employee-select" })
|
|
</div>
|
|
</div>
|
|
</div>
|
|
@if(AbstractModel.HasRightMitarbeiterstundenkontoViewAll || AbstractModel.HasRightMitarbeiterstundenkontoViewTeams)
|
|
{
|
|
<div id="msk-team-form">
|
|
<div class="form-row">
|
|
<div class="col">
|
|
<div class="form-group form-check">
|
|
<input type="checkbox" class="form-check-input" id="msk-all-teams-cb"/>
|
|
<label class="form-check-label" for="msk-all-teams-cb" onclick="allTeamsCbOnClick()">Alle Teams</label>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="form-row" id="msk-team-list">
|
|
<div class="col">
|
|
@Html.DropDownListFor(model => model.SelectedTeamOid, Model.Teams, new { @class = "custom-select mb-3", id = "msk-team-select" })
|
|
</div>
|
|
</div>
|
|
</div>
|
|
}
|
|
|
|
<div class="form-row">
|
|
<div class="col">
|
|
@Html.DropDownListFor(model => model.SelectedMonth, Model.Months, new { @class = "custom-select mb-3", id = "msk-month-select" })
|
|
</div>
|
|
<div class="col">
|
|
@Html.DropDownListFor(model => model.SelectedYear, Model.Years, new { @class = "custom-select mb-3", id = "msk-year-select" })
|
|
</div>
|
|
</div>
|
|
<div class="form-row">
|
|
@{
|
|
var str = BS.Shared.Translation.Translator.Translate("StundenkontoTagesansicht");
|
|
}
|
|
|
|
@if(str == "StundenkontoTagesansicht")
|
|
{
|
|
<div class="col-4">
|
|
<div class="form-check">
|
|
<input class="form-check-input" type="radio" name="msk-ansichtsradio" id="msk-tagesansichtsradio"/>
|
|
<label for="msk-tagesansichtsradio">Tag</label>
|
|
</div>
|
|
</div>
|
|
<div class="col-4">
|
|
<div class="form-check">
|
|
<input class="form-check-input" type="radio" name="msk-ansichtsradio" id="msk-monatsansichtsradio" checked/>
|
|
<label for="msk-monatsansichtsradio">Monat</label>
|
|
</div>
|
|
</div>
|
|
<div class="col-4">
|
|
<div class="form-check">
|
|
<input class="form-check-input" type="radio" name="msk-ansichtsradio" id="msk-jahresansichtsradio"/>
|
|
<label for="msk-jahresansichtsradio">Jahr</label>
|
|
</div>
|
|
</div>
|
|
}
|
|
else
|
|
{
|
|
<div class="col">
|
|
<div class="form-group form-check">
|
|
<input type="checkbox" class="form-check-input" id="msk-tagesansicht-cb"/>
|
|
<label class="form-check-label" for="msk-tagesansicht-cb">@str</label>
|
|
</div>
|
|
</div>
|
|
}
|
|
</div>
|
|
<div class="form-row">
|
|
<div class="col">
|
|
<button type="button" class="btn btn-primary w-100" onclick="createMitarbeiterstundenkontoReport()">Erstellen</button>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
}
|