215 lines
9.1 KiB
Plaintext
215 lines
9.1 KiB
Plaintext
@using BeWoPlanerMobil.Util
|
|
@using BeWoPlanerMobil.Util.ReportUtils
|
|
@model BeWoPlanerMobil.Models.ReportModel
|
|
|
|
@{
|
|
if(TempData[TempDataConstants.DoLogoutKey] is bool doLogout && doLogout)
|
|
{
|
|
<text>
|
|
<script type="text/javascript">
|
|
$("#second-logout-form").submit();
|
|
</script>
|
|
</text>
|
|
}
|
|
|
|
var plural = Model.ConfirmationReceiptObject.NumberOfServiceRecords > 1 ? "en" : string.Empty;
|
|
|
|
var leistungsplurarl = Model.ConfirmationReceiptObject.NumberOfServiceRecords > 1 ? "en" : string.Empty;
|
|
|
|
var sigInfo = $"Unterschrift{plural} von {Model.Quittierungsbelegsunterschriftenobjekt.PersonName} für {Model.Quittierungsbelegsunterschriftenobjekt.ServiceRecordCount} erbrachte Leistung{leistungsplurarl} von {Model.Quittierungsbelegsunterschriftenobjekt.CustomerName} ({Model.Quittierungsbelegsunterschriftenobjekt.TimeSpanInfo})";
|
|
}
|
|
|
|
<script type="text/javascript">
|
|
$(document).ready(function () {
|
|
try {
|
|
$(".left-col").width(getMaxWidth("left-col"));
|
|
} catch(error) {
|
|
showErrorPopup(error);
|
|
}
|
|
});
|
|
|
|
$(".signature-card").ready(function () {
|
|
try {
|
|
setTimeout(function () {
|
|
$(".signature-card").height(getMaxElementHeight("signature-card"));
|
|
}, 100);
|
|
} catch(error) {
|
|
showErrorPopup(error);
|
|
}
|
|
});
|
|
</script>
|
|
|
|
<div class="container-fluid lg-max-width">
|
|
<div class="row">
|
|
<div class="col">
|
|
<button type="button" class="btn btn-primary float-right" id="qb-sig-cancel-btn">
|
|
<span class="fas fa-times-circle"></span>
|
|
</button>
|
|
<h4 class="d-inline" id="qb-sig-info-col">@sigInfo</h4>
|
|
@{
|
|
|
|
var xyz = Model.Quittierungsbelegsunterschriftenobjekt;
|
|
|
|
var isEmployeeSignature = Model.Quittierungsbelegsunterschriftenobjekt.IsEmployeeSignature;
|
|
var cro = Model.ConfirmationReceiptObject.ConfirmationReceiptResultList.FirstOrDefault(f => f.CustomerOid.Equals(xyz.CustomerOid));
|
|
|
|
string message = null;
|
|
string message2 = null;
|
|
|
|
if(!(cro is null))
|
|
{
|
|
if(isEmployeeSignature)
|
|
{
|
|
if(cro.EmployeeSignatureState == SignatureState.Some)
|
|
{
|
|
message = "Es wurde eine Unterschrift für mehrere Termine geleistet. Danach ist mindestens ein Termin verändert worden oder neu dazugekommen.<br /><br />Ihre Unterschrift muss deshalb erneut erfolgen, um auf dem Quittierunsbeleg angezeigt zu werden.";
|
|
}
|
|
|
|
if(cro.EmployeeSignatureState == SignatureState.All)
|
|
{
|
|
message2 = "Es wurde für alle Termine eine Unterschrift hinterlegt.<br /><br />Die Unterschrift wird auf dem Quittierungsbeleg angezeigt.";
|
|
}
|
|
|
|
if(cro.EmployeeSignatureState == SignatureState.AllOwnServiceRecords)
|
|
{
|
|
// Wenn die eigenen Einträge unterschrieben sind, die der anderen Mitarbeiter aber noch nicht und daher wird auch auf dem QB keine Unterschrift angezeigt.
|
|
message = "Es wurden nicht für alle Einträge anderer Mitarbeiter eine Mitarbeiterunterschrift geleistet.<br /><br />Die Unterschrift wird nicht auf dem Quittierungsbeleg angezeigt.";
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if(cro.CustomerSignatureState == SignatureState.Some)
|
|
{
|
|
message = "Es wurde eine Unterschrift für mehrere Termine geleistet. Danach ist mindestens ein Termin verändert worden oder neu dazugekommen.<br /><br />Die Unterschrift des Klienten muss deshalb erneut erfolgen, um auf dem Quittierunsbeleg angezeigt zu werden.";
|
|
}
|
|
|
|
if(cro.CustomerSignatureState == SignatureState.All)
|
|
{
|
|
message2 = "Es wurde für alle Termine eine Unterschrift hinterlegt.<br /><br />Die Unterschrift wird auf dem Quittierungsbeleg angezeigt.";
|
|
}
|
|
}
|
|
}
|
|
}
|
|
@if(!(message is null))
|
|
{
|
|
<div class="alert alert-primary d-block w-100 mt-4" role="alert">
|
|
@Html.Raw(message)
|
|
</div>
|
|
}
|
|
|
|
@if(!(message2 is null))
|
|
{
|
|
<div class="alert alert-success d-block w-100 mt-4" role="alert">
|
|
@Html.Raw(message2)
|
|
</div>
|
|
}
|
|
</div>
|
|
</div>
|
|
<div id="qb-sig-container" class="row justify-content-center">
|
|
@functions
|
|
{
|
|
public string GetColumnClass()
|
|
{
|
|
// md: 1 -> 12, ab 2 -> 6
|
|
// lg: 1 -> 12, 2 -> 6, ab 3 -> 4
|
|
// xl: 1 -> 12, 2 -> 6, 3 -> 4, ab 4 -> 3
|
|
|
|
var count = Model.SelectedConfirmationReceiptSignatures.Count;
|
|
|
|
var colMd = string.Empty;
|
|
var colLg = string.Empty;
|
|
var colXl = string.Empty;
|
|
|
|
if(count < 2)
|
|
{
|
|
colMd += "12";
|
|
colLg += "3";
|
|
colXl += "4";
|
|
}
|
|
else
|
|
{
|
|
switch(count)
|
|
{
|
|
case 2:
|
|
colMd += "6";
|
|
colLg += "6";
|
|
colXl += "6";
|
|
break;
|
|
case 3:
|
|
colLg += "4";
|
|
colXl += "4";
|
|
break;
|
|
case 4:
|
|
colXl += "3";
|
|
break;
|
|
default:
|
|
colMd += "6";
|
|
colLg += "3";
|
|
colXl += "4";
|
|
break;
|
|
}
|
|
}
|
|
|
|
return $"col-sm-12 col-md-{colMd} col-lg-{colLg} col-xl-{colXl}";
|
|
}
|
|
}
|
|
|
|
@foreach(var signature in Model.SelectedConfirmationReceiptSignatures)
|
|
{
|
|
var blubb = $"{(signature.NumberOfServiceRecords == 1 ? "eine" : signature.NumberOfServiceRecords.ToString())} erbrachte Leistung{(signature.NumberOfServiceRecords != 1 ? "en" : string.Empty)}";
|
|
|
|
<div class="@GetColumnClass()">
|
|
<div class="card signature-card mt-4">
|
|
<div class="justify-content-center">
|
|
<img style="display: block; margin-left: auto; margin-right: auto; max-width: 100% !important;" src="@signature.ImageStr" alt="Unterschrift von @signature.PersonName geleistet am @signature.InsTsStr" />
|
|
</div>
|
|
<div class="card-body m-0 p-0" style="height: 0 !important;"></div>
|
|
<div class="card-footer">
|
|
<div class="row">
|
|
<div class="col-auto left-col">
|
|
Unterschrift von:
|
|
</div>
|
|
<div class="col">
|
|
@signature.PersonName
|
|
</div>
|
|
</div>
|
|
<div class="row">
|
|
<div class="col-auto left-col">
|
|
Geleistet am:
|
|
</div>
|
|
<div class="col">
|
|
@signature.InsTsStr
|
|
</div>
|
|
</div>
|
|
<div class="row">
|
|
<div class="col-auto left-col">
|
|
Geleistet für:
|
|
</div>
|
|
<div class="col">
|
|
@blubb
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
}
|
|
</div>
|
|
<div class="row mt-3 signingContent">
|
|
<div class="col">
|
|
<div class="alert alert-primary d-none" role="alert" id="qb-sig-override-alert">
|
|
Achtung, Sie sind dabei eine vorhandene Unterschrift zu ersetzen!
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="row mt-3 signingContent" id="qb-sig-canvas-row">
|
|
<div class="canvas-container" id="qb-sig-canvas-container">
|
|
<canvas id="qb-sig-sketch-pad" width="500" height="200" style="border: 1px solid #343A40" class="bg-white rounded"></canvas>
|
|
</div>
|
|
</div>
|
|
<div class="row signingContent">
|
|
<div class="col-12">
|
|
<button type="button" class="btn btn-primary float-right" id="qb-sig-save-btn">Speichern</button>
|
|
<button type="button" class="btn btn-secondary float-right mr-3" id="qb-sig-clear-canvas-btn">Neu</button>
|
|
</div>
|
|
</div>
|
|
</div> |