Reines SQL holt die Unterschriftenwerte aus der ServiceRecordHistory-Tabelle
MoK:
Abwesenheiten bei Klienten angefangen. Nur im Debug-Modus sichtbar
1067 lines
58 KiB
Plaintext
1067 lines
58 KiB
Plaintext
@using BeWoPlanerMobil.Models;
|
|
@using BeWoPlanerMobil.Util
|
|
@using BS.Shared
|
|
|
|
@model CustomerModel
|
|
@{
|
|
ViewBag.Title = "Klient";
|
|
}
|
|
|
|
<script>
|
|
function closeReport() {
|
|
try {
|
|
$.get("@Url.Action("ResetReport")");
|
|
} catch (error) {
|
|
showErrorPopup(error);
|
|
}
|
|
}
|
|
|
|
$(function () {
|
|
$("#date-of-birth-picker").datetimepicker({
|
|
locale: "de",
|
|
format: "L"
|
|
});
|
|
});
|
|
|
|
$("#stammdaten-container").ready(function () {
|
|
var width = getMaxWidth("customer-prepend-text-eigenschaften");
|
|
if (width > 0) {
|
|
$(".customer-prepend-text-eigenschaften").width(width);
|
|
}
|
|
|
|
width = getMaxWidth("customer-prepend-text-adresse");
|
|
if (width > 0) {
|
|
$(".customer-prepend-text-adresse").width(width);
|
|
}
|
|
|
|
width = getMaxWidth("customer-prepend-text-rechnungsadresse");
|
|
if (width > 0) {
|
|
$(".customer-prepend-text-rechnungsadresse").width(width);
|
|
}
|
|
|
|
width = getMaxWidth("customer-prepend-text-kontakt");
|
|
if (width > 0) {
|
|
$(".customer-prepend-text-kontakt").width(width);
|
|
}
|
|
});
|
|
|
|
function submitStammdatenForm() {
|
|
try {
|
|
showSpinner();
|
|
$("#stammdaten-form").submit();
|
|
} catch (error) {
|
|
showErrorPopup(error);
|
|
}
|
|
}
|
|
|
|
(function () {
|
|
'use strict';
|
|
window.addEventListener('load', function () {
|
|
var forms = document.getElementsByClassName("needs-validation");
|
|
var validation = Array.prototype.filter.call(forms, function (form) {
|
|
form.addEventListener('submit', function (event) {
|
|
if (form.checkValidity() === false) {
|
|
hideSpinner();
|
|
event.preventDefault();
|
|
event.stopPropagation();
|
|
|
|
$([document.documentElement, document.body]).animate({
|
|
scrollTop: $("#stammdaten-container").offset().top
|
|
}, 10);
|
|
}
|
|
|
|
form.classList.add('was-validated');
|
|
}, false);
|
|
});
|
|
}, false);
|
|
})();
|
|
|
|
function submitReportTypeSelectionForm() {
|
|
try {
|
|
showSpinner();
|
|
var selectedReportType = $("#report-type-select").find(":selected").val();
|
|
$("#report-type-input").val(selectedReportType);
|
|
|
|
$("#medverordnungs-form").submit();
|
|
} catch (error) {
|
|
showErrorPopup(error);
|
|
}
|
|
}
|
|
|
|
function changeReportTypeSelection() {
|
|
try {
|
|
var selectedReportType = $("#report-type-select").find(":selected").val();
|
|
var historyList = $("#med-list-history-list");
|
|
$("#show-med-list-btn").prop("disabled", selectedReportType === "2");
|
|
|
|
|
|
if (selectedReportType !== "2") {
|
|
historyList.hide();
|
|
return;
|
|
}
|
|
|
|
historyList.removeClass("d-none");
|
|
historyList.show();
|
|
} catch (error) {
|
|
showErrorPopup(error);
|
|
}
|
|
}
|
|
|
|
function viewHistoryMedList(oid) {
|
|
try {
|
|
showSpinner();
|
|
$("#med-list-oid-view").val(oid);
|
|
$("#view-history-med-list").submit();
|
|
} catch (error) {
|
|
showErrorPopup(error);
|
|
}
|
|
}
|
|
|
|
function deleteHistoryMedList(oid, name) {
|
|
try {
|
|
showMessagePopupWithCallback("Löschen", "Sind Sie sicher, dass Sie die " + name + " löschen wollen?", function () {
|
|
showSpinner();
|
|
$("#med-list-oid-delete").val(oid);
|
|
$("#delete-history-med-list").submit();
|
|
});
|
|
} catch (error) {
|
|
showErrorPopup(error);
|
|
}
|
|
}
|
|
</script>
|
|
|
|
<div class="container mt-3">
|
|
<div class="row mb-3">
|
|
@if(AbstractModel.IsAllowedToSeeCustomerFilter)
|
|
{
|
|
<div class="col-md mb-2">
|
|
@using(Html.BeginForm("SetCustomerFilter", "Customer", FormMethod.Post))
|
|
{
|
|
@Html.DropDownListFor(m => m.SelectedCustomerFilter, Model.CustomerFilter, new { onchange = "submitForm(this)", @class = "custom-select" })
|
|
}
|
|
</div>
|
|
}
|
|
|
|
<div class="col-md">
|
|
@using(Html.BeginForm("SelectCustomer", "Customer", FormMethod.Post, new { id = "select-customer-form" }))
|
|
{
|
|
<div class="input-group">
|
|
<div class="input-group-prepend">
|
|
<span class="input-group-text">Klient</span>
|
|
</div>
|
|
@Html.DropDownListFor(m => m.SelectedCustomerOid, Model.CustomerListItems, new { onchange = "submitCustomerSelectionForm();", @class = "custom-select" })
|
|
</div>
|
|
}
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="container-fluid mt-3">
|
|
@if(Model?.SelectedJsonCustomer != null)
|
|
{
|
|
using(Html.BeginForm("UpdateCustomer", "Customer", FormMethod.Post, new { id = "stammdaten-form", @class = "needs-validation", novalidate = "novalidate" }))
|
|
{
|
|
var inputDisabled = !AbstractModel.HasRightToEditCustomers ? "disabled" : string.Empty;
|
|
|
|
<div class="row my-3" id="stammdaten-container">
|
|
<div class="col-sm-6 col-md-6 col-lg-3 mt-3">
|
|
<div class="card">
|
|
<div class="card-body pb-0">
|
|
<div class="card-title text-bewo-customer-card-header">
|
|
Eigenschaften
|
|
</div>
|
|
<div class="row">
|
|
<div class="form-group w-100">
|
|
<div class="input-group">
|
|
<div class="input-group-prepend">
|
|
<div class="input-group-text customer-prepend-text-eigenschaften">
|
|
Vorname
|
|
</div>
|
|
</div>
|
|
<input required @inputDisabled type="text" class="form-control" id="vorname" name="vorname" value="@Model.SelectedJsonCustomer.Vorname" />
|
|
<div class="invalid-feedback">
|
|
Dieses Feld darf nicht leer sein!
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="row">
|
|
<div class="form-group w-100">
|
|
<div class="input-group">
|
|
<div class="input-group-prepend">
|
|
<div class="input-group-text customer-prepend-text-eigenschaften">
|
|
Nachname
|
|
</div>
|
|
</div>
|
|
<input required @inputDisabled type="text" class="form-control" id="nachname" name="nachname" value="@Model.SelectedJsonCustomer.Nachname" />
|
|
<div class="invalid-feedback">
|
|
Dieses Feld darf nicht leer sein!
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="row">
|
|
<div class="form-group w-100">
|
|
<div class="input-group date" id="date-of-birth-picker" data-target-input="nearest">
|
|
<div class="input-group-prepend">
|
|
<div class="input-group-text customer-prepend-text-eigenschaften">
|
|
Geburtstag
|
|
</div>
|
|
</div>
|
|
<input type="text" @inputDisabled id="date-of-birth" name="geburtstag" class="form-control datetimepicker-input" data-target="#date-of-birth-picker" value="@Model.SelectedJsonCustomer.Geburtstag" />
|
|
<div class="input-group-append" data-target="#date-of-birth-picker" data-toggle="datetimepicker">
|
|
<div class="input-group-text px-2">
|
|
<i class="fas fa-clock"></i>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="row">
|
|
<div class="form-group w-100">
|
|
<div class="input-group">
|
|
<div class="input-group-prepend">
|
|
<div class="input-group-text customer-prepend-text-eigenschaften">
|
|
Geschlecht
|
|
</div>
|
|
</div>
|
|
@{
|
|
var selectedMale = Model.SelectedJsonCustomer.CustomerSex == Sex.Male ? "selected" : string.Empty;
|
|
var selectedFemale = Model.SelectedJsonCustomer.CustomerSex == Sex.Female ? "selected" : string.Empty;
|
|
var selectedDiverse = Model.SelectedJsonCustomer.CustomerSex == Sex.Divers ? "selected" : string.Empty;
|
|
var selectedNull = Model.SelectedJsonCustomer.CustomerSex is null ? "selected" : string.Empty;
|
|
}
|
|
|
|
<select class="custom-select" name="geschlecht" @inputDisabled>
|
|
<option value="-1" @selectedNull></option>
|
|
<option value="0" @selectedMale>Männlich</option>
|
|
<option value="1" @selectedFemale>Weiblich</option>
|
|
<option value="2" @selectedDiverse>Divers</option>
|
|
</select>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="col-sm-6 col-md-6 col-lg-3 mt-3">
|
|
<div class="card">
|
|
<div class="card-body pb-0">
|
|
<div class="card-title text-bewo-customer-card-header">
|
|
<a href="@Model.SelectedJsonCustomer.GoogleMapsLink" target="_blank" class="text-bewo-customer-card-header">Adresse<i class="fas fa-map-marker-alt ml-3"></i></a>
|
|
</div>
|
|
<div class="row">
|
|
<div class="form-group w-100">
|
|
<div class="input-group">
|
|
<div class="input-group-prepend">
|
|
<div class="input-group-text customer-prepend-text-adresse">
|
|
Adresszusatz
|
|
</div>
|
|
</div>
|
|
<input type="text" @inputDisabled class="form-control" id="adresszusatz" name="adresszusatz" value="@Model.SelectedJsonCustomer.Adresszusatz" />
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="row">
|
|
<div class="form-group w-100">
|
|
<div class="input-group">
|
|
<div class="input-group-prepend">
|
|
<div class="input-group-text customer-prepend-text-adresse">
|
|
Straße
|
|
</div>
|
|
</div>
|
|
<input type="text" @inputDisabled class="form-control" id="strasse" name="strasse" value="@Model.SelectedJsonCustomer.Strasse" />
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="row">
|
|
<div class="form-group w-100">
|
|
<div class="input-group">
|
|
<div class="input-group-prepend">
|
|
<div class="input-group-text customer-prepend-text-adresse">
|
|
PLZ
|
|
</div>
|
|
</div>
|
|
<input type="text" @inputDisabled class="form-control" id="plz" name="plz" value="@Model.SelectedJsonCustomer.Postleitzahl" />
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="row">
|
|
<div class="form-group w-100">
|
|
<div class="input-group">
|
|
<div class="input-group-prepend">
|
|
<div class="input-group-text customer-prepend-text-adresse">
|
|
Ort
|
|
</div>
|
|
</div>
|
|
<input type="text" @inputDisabled class="form-control" id="ort" name="ort" value="@Model.SelectedJsonCustomer.Ort" />
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="col-sm-6 col-md-6 col-lg-3 mt-3">
|
|
<div class="card">
|
|
<div class="card-body pb-0">
|
|
<div class="card-title text-bewo-customer-card-header">
|
|
Rechnungsadresse
|
|
</div>
|
|
<div class="row">
|
|
<div class="form-group w-100">
|
|
<div class="input-group">
|
|
<div class="input-group-prepend">
|
|
<div class="input-group-text customer-prepend-text-rechnungsadresse">
|
|
Name
|
|
</div>
|
|
</div>
|
|
<input type="text" @inputDisabled class="form-control" id="name-rechnungsadresse" name="name-rechnungsadresse" value="@Model.SelectedJsonCustomer.RechnungsadresseName" />
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="row">
|
|
<div class="form-group w-100">
|
|
<div class="input-group">
|
|
<div class="input-group-prepend">
|
|
<div class="input-group-text customer-prepend-text-rechnungsadresse">
|
|
Straße
|
|
</div>
|
|
</div>
|
|
<input type="text" @inputDisabled class="form-control" id="strasse-rechnungsadresse" name="strasse-rechnungsadresse" value="@Model.SelectedJsonCustomer.RechnungsadresseStrasse" />
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="row">
|
|
<div class="form-group w-100">
|
|
<div class="input-group">
|
|
<div class="input-group-prepend">
|
|
<div class="input-group-text customer-prepend-text-rechnungsadresse">
|
|
PLZ
|
|
</div>
|
|
</div>
|
|
<input type="text" @inputDisabled class="form-control" id="plz-rechnungsadresse" name="plz-rechnungsadresse" value="@Model.SelectedJsonCustomer.RechnungsadressePostleitzahl" />
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="row">
|
|
<div class="form-group w-100">
|
|
<div class="input-group">
|
|
<div class="input-group-prepend">
|
|
<div class="input-group-text customer-prepend-text-rechnungsadresse">
|
|
Ort
|
|
</div>
|
|
</div>
|
|
<input type="text" @inputDisabled class="form-control" id="ort-rechnungsadresse" name="ort-rechnungsadresse" value="@Model.SelectedJsonCustomer.RechnungsadresseOrt" />
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="col-sm-6 col-md-6 col-lg-3 mt-3">
|
|
<div class="card">
|
|
<div class="card-body pb-0">
|
|
<div class="card-title text-bewo-customer-card-header">
|
|
Kontakt
|
|
</div>
|
|
<div class="row">
|
|
<div class="form-group w-100">
|
|
<div class="input-group">
|
|
<div class="input-group-prepend">
|
|
<div class="input-group-text customer-prepend-text-kontakt">
|
|
Handy
|
|
</div>
|
|
</div>
|
|
<input type="text" @inputDisabled class="form-control" id="handy" name="handy" value="@Model.SelectedJsonCustomer.Handy" />
|
|
<div class="input-group-append">
|
|
<button type="button" class="btn btn-primary px-2" onclick="window.open('tel:@Model.SelectedJsonCustomer.Handy')">
|
|
<i class="fas fa-phone"></i>
|
|
</button>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="row">
|
|
<div class="form-group w-100">
|
|
<div class="input-group">
|
|
<div class="input-group-prepend">
|
|
<div class="input-group-text customer-prepend-text-kontakt">
|
|
Telefon
|
|
</div>
|
|
</div>
|
|
<input type="text" @inputDisabled class="form-control" id="telefon" name="telefon" value="@Model.SelectedJsonCustomer.Telefon" />
|
|
<div class="input-group-append">
|
|
<button type="button" class="btn btn-primary px-2" onclick="window.open('tel:@Model.SelectedJsonCustomer.Telefon')">
|
|
<i class="fas fa-phone"></i>
|
|
</button>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="row">
|
|
<div class="form-group w-100">
|
|
<div class="input-group">
|
|
<div class="input-group-prepend">
|
|
<div class="input-group-text customer-prepend-text-kontakt">
|
|
Fax
|
|
</div>
|
|
</div>
|
|
<input type="text" @inputDisabled class="form-control" id="fax" name="fax" value="@Model.SelectedJsonCustomer.Fax" />
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="row">
|
|
<div class="form-group w-100">
|
|
<div class="input-group">
|
|
<div class="input-group-prepend">
|
|
<div class="input-group-text customer-prepend-text-kontakt">
|
|
Mail
|
|
</div>
|
|
</div>
|
|
<input type="text" @inputDisabled class="form-control" id="mail" name="mail" value="@Model.SelectedJsonCustomer.EMail" />
|
|
<div class="input-group-append">
|
|
<button type="button" class="btn btn-primary px-2" onclick="window.open('mailto:@Model.SelectedJsonCustomer.EMail')">
|
|
<i class="fas fa-at"></i>
|
|
</button>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="col-sm-12 col-md-6 my-3">
|
|
<div class="card w-100 h-100">
|
|
<div class="card-header">
|
|
<div class="clearfix">
|
|
<h5 class="text-bewo-customer-card-header d-inline float-left">Kommentar</h5>
|
|
</div>
|
|
</div>
|
|
<div class="card-body">
|
|
<div class="container-fluid">
|
|
<textarea id="notice-textarea" @inputDisabled name="notiz" class="w-100" style="resize: vertical;">@Model.SelectedJsonCustomer.Kommentar</textarea>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
@if(AbstractModel.HasRightToEditCustomers)
|
|
{
|
|
<div class="col-12 my-3">
|
|
<button type="submit" class="btn btn-primary float-right w-100" onclick="showSpinner()">Speichern</button>
|
|
</div>
|
|
}
|
|
|
|
|
|
<div class="col-12">
|
|
<hr />
|
|
</div>
|
|
|
|
<!-- Aktenzeichen -->
|
|
@if(Model.SelectedJsonCustomer.ReferenceNumbers.Any())
|
|
{
|
|
<div class="col-sm-12 col-md-6 my-3">
|
|
<div class="card w-100 h-100">
|
|
<div class="card-header" onclick="cardHeaderClick('#chevron-customer-file-numbers', '#collapse-customer-file-numbers')">
|
|
<div class="d-inline-flex">
|
|
<i class="fas fa-chevron-down h-100 text-bewo-customer-card-header" id="chevron-customer-file-numbers"></i>
|
|
</div>
|
|
<div class="d-inline d-inline-flex text-bewo-customer-card-header h-100">
|
|
<button type="button" class="btn btn-link text-bewo-customer-card-header" style="font-size: 20px;">
|
|
Aktenzeichen pro Kostenträger
|
|
</button>
|
|
</div>
|
|
</div>
|
|
<div class="collapse" id="collapse-customer-file-numbers">
|
|
<div class="card-body">
|
|
<div class="container-fluid px-0">
|
|
<table class="table">
|
|
<thead>
|
|
<tr>
|
|
<th class="text-left">
|
|
Kostenträger
|
|
</th>
|
|
<th class="text-right">
|
|
Aktenzeichen
|
|
</th>
|
|
</tr>
|
|
</thead>
|
|
<tbody>
|
|
@foreach(var x in Model.SelectedJsonCustomer.ReferenceNumbers)
|
|
{
|
|
<tr>
|
|
<td class="text-left">
|
|
@x.Costbearer
|
|
</td>
|
|
<td class="text-right">
|
|
@x.ReferenceNumber
|
|
</td>
|
|
</tr>
|
|
}
|
|
</tbody>
|
|
</table>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
}
|
|
|
|
<!-- Umfeld -->
|
|
@if(Model.SelectedJsonCustomer.Umfeldpersonen.Any())
|
|
{
|
|
<div class="col-sm-12 col-md-6 my-3">
|
|
<div class="card w-100 h-100">
|
|
<div class="card-header" onclick="cardHeaderClick('#chevron-customer-umfeld', '#collapse-customer-umfeld')">
|
|
<div class="d-inline-flex">
|
|
<i class="fas fa-chevron-down h-100 text-bewo-customer-card-header" id="chevron-customer-umfeld"></i>
|
|
</div>
|
|
<div class="d-inline d-inline-flex text-bewo-customer-card-header h-100">
|
|
<button type="button" class="btn btn-link text-bewo-customer-card-header" style="font-size: 20px;">
|
|
Umfeld
|
|
</button>
|
|
</div>
|
|
</div>
|
|
<div class="collapse" id="collapse-customer-umfeld">
|
|
<div class="card-body">
|
|
<div class="container-fluid px-0">
|
|
@foreach(var umfeldPerson in Model.SelectedJsonCustomer.Umfeldpersonen)
|
|
{
|
|
<div class="card w-100 mb-3">
|
|
<div class="card-header" onclick="cardHeaderClick('#chevron-umfeldperson-@umfeldPerson.Customer2PersonOid', '#collapse-umfeldperson-@umfeldPerson.Customer2PersonOid')">
|
|
<div class="d-inline-flex">
|
|
<i class="fas fa-chevron-down h-100 text-primary" id="chevron-umfeldperson-@umfeldPerson.Customer2PersonOid"></i>
|
|
</div>
|
|
<div class="p2 d-inline-flex text-primary h-100">
|
|
<button type="button" class="btn btn-link">
|
|
@umfeldPerson.FormattedName
|
|
</button>
|
|
</div>
|
|
</div>
|
|
<div class="collapse" id="collapse-umfeldperson-@umfeldPerson.Customer2PersonOid">
|
|
<div class="card-body">
|
|
<div class="container-fluid">
|
|
<div class="row mb-3">
|
|
<div class="col text-secondary text-left">
|
|
Rolle:
|
|
</div>
|
|
<div class="col-auto text-right">
|
|
@umfeldPerson.Rolle
|
|
</div>
|
|
</div>
|
|
<div class="row mb-3">
|
|
<div class="col text-secondary text-left">
|
|
Adresse:
|
|
</div>
|
|
<div class="col-auto text-right">
|
|
@umfeldPerson.StrNameNr<br />@umfeldPerson.PLZOrt
|
|
</div>
|
|
</div>
|
|
<div class="row mb-3">
|
|
<div class="col text-secondary text-left">
|
|
Tel.:
|
|
</div>
|
|
<div class="col-auto text-right">
|
|
<a href="tel:@umfeldPerson.TelNr">@umfeldPerson.TelNr</a>
|
|
</div>
|
|
</div>
|
|
<div class="row mb-3">
|
|
<div class="col text-secondary text-left">
|
|
Mobil:
|
|
</div>
|
|
<div class="col-auto text-right">
|
|
<a href="tel:@umfeldPerson.Mobil">@umfeldPerson.Mobil</a>
|
|
</div>
|
|
</div>
|
|
<div class="row mb-3">
|
|
<div class="col text-secondary text-left">
|
|
E-Mail:
|
|
</div>
|
|
<div class="col-auto text-right">
|
|
<a href="mailto:@umfeldPerson.EMail">@umfeldPerson.EMail</a>
|
|
</div>
|
|
</div>
|
|
<div class="row mb-3">
|
|
<div class="col text-secondary text-left">
|
|
Fax:
|
|
</div>
|
|
<div class="col-auto text-right">
|
|
@umfeldPerson.Fax
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
}
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
}
|
|
|
|
<!-- Organisationen des Umfelds -->
|
|
@if(Model.SelectedJsonCustomer.Organisations.Any())
|
|
{
|
|
<div class="col-sm-12 col-md-6 my-3">
|
|
<div class="card w-100 h-100">
|
|
<div class="card-header" onclick="cardHeaderClick('#chevron-customer-orga-umfeld', '#collapse-customer-orga-umfeld')">
|
|
<div class="d-inline-flex">
|
|
<i class="fas fa-chevron-down h-100 text-bewo-customer-card-header h-100"></i>
|
|
</div>
|
|
<div class="d-inline d-inline-flex text-bewo-customer-card-header h-100">
|
|
<button type="button" class="btn btn-linh text-bewo-customer-card-header" style="font-size: 20px;">
|
|
Organisationen des Umfelds
|
|
</button>
|
|
</div>
|
|
</div>
|
|
<div class="collapse" id="collapse-customer-orga-umfeld">
|
|
<div class="card-body">
|
|
<div class="container-fluid px-0">
|
|
@foreach(var organisation in Model.SelectedJsonCustomer.Organisations)
|
|
{
|
|
<div class="card w-100 mb-3">
|
|
<div class="card-header" onclick="cardHeaderClick('#chevron-umfeldorganisation-@organisation.Customer2OrganisationOid', '#collapse-umfeldorganisation-@organisation.Customer2OrganisationOid')">
|
|
<div class="d-inline-flex">
|
|
<i class="fas fa-chevron-down h-100 text-primary" id="chevron-umfeldorganisation-@organisation.Customer2OrganisationOid"></i>
|
|
</div>
|
|
<div class="p2 d-inline-flex text-primary h-100">
|
|
<button type="button" class="btn btn-link">
|
|
@organisation.Name
|
|
</button>
|
|
</div>
|
|
</div>
|
|
<div class="collapse" id="collapse-umfeldorganisation-@organisation.Customer2OrganisationOid">
|
|
<div class="card-body">
|
|
<div class="container-fluid">
|
|
<div class="row mb-3">
|
|
<div class="col text-secondary text-left">
|
|
Ansprechpartner
|
|
</div>
|
|
<div class="col-auto text-right">
|
|
@organisation.ContactPerson
|
|
</div>
|
|
</div>
|
|
<div class="row mb-3">
|
|
<div class="col text-secondary text-left">
|
|
Rolle
|
|
</div>
|
|
<div class="col-auto text-right">
|
|
@organisation.Role
|
|
</div>
|
|
</div>
|
|
<div class="row mb-3">
|
|
<div class="col text-secondary text-left">
|
|
Adresse
|
|
</div>
|
|
<div class="col-auto text-right">
|
|
@organisation.StreetName
|
|
@if(!string.IsNullOrEmpty(organisation.StreetName) && !string.IsNullOrEmpty(organisation.ZipCode2Town))
|
|
{
|
|
<br />
|
|
}
|
|
@organisation.ZipCode2Town
|
|
</div>
|
|
</div>
|
|
<div class="row mb-3">
|
|
<div class="col text-secondary text-left">
|
|
Tel.:
|
|
</div>
|
|
<div class="col-auto text-right">
|
|
<a href="tel:@organisation.PhoneNumber">@organisation.PhoneNumber</a>
|
|
</div>
|
|
</div>
|
|
<div class="row mb-3">
|
|
<div class="col text-secondary text-left">
|
|
Fax:
|
|
</div>
|
|
<div class="col-auto text-right">
|
|
@organisation.FaxNumber
|
|
</div>
|
|
</div>
|
|
<div class="row mb-3">
|
|
<div class="col text-secondary text-left">
|
|
E-Mail:
|
|
</div>
|
|
<div class="col-auto text-right">
|
|
<a href="mailto:@organisation.Email">@organisation.Email</a>
|
|
</div>
|
|
</div>
|
|
<div class="row mb-3">
|
|
<div class="col text-secondary text-left">
|
|
Internet:
|
|
</div>
|
|
<div class="col-auto text-right">
|
|
<a href="@organisation.Website">@organisation.Website</a>
|
|
</div>
|
|
</div>
|
|
<div class="row mb-3">
|
|
<div class="col text-secondary text-left">
|
|
Info
|
|
</div>
|
|
<div class="col-auto text-right">
|
|
@organisation.Info
|
|
</div>
|
|
</div>
|
|
<div class="row mb-3">
|
|
<div class="col text-secondary text-left">
|
|
Notiz
|
|
</div>
|
|
<div class="col-auto text-right">
|
|
@organisation.Notice
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
}
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
}
|
|
|
|
<div class="col-12 my-3">
|
|
<div class="card w-100 h-100">
|
|
<div class="card-header" onclick="cardHeaderClick('#chevron-customer-documents', '#collapse-customer-documents')">
|
|
<div class="d-inline-flex">
|
|
<i class="fas fa-chevron-down h-100 text-bewo-customer-card-header" id="chevron-customer-documents"></i>
|
|
</div>
|
|
<div class="d-inline d-inline-flex text-bewo-customer-card-header h-100">
|
|
<button type="button" class="btn btn-link text-bewo-customer-card-header" style="font-size: 20px;">
|
|
Dokumente
|
|
</button>
|
|
</div>
|
|
</div>
|
|
<div class="collapse" id="collapse-customer-documents">
|
|
<div class="card-body">
|
|
<div class="container-fluid px-0">
|
|
@Html.Partial("DocumentPartial", Model)
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<!-- Medikamentenliste -->
|
|
@if(Html.IsInDebugMode() && AbstractModel.IsAllowedToSeeMedikamentenliste)
|
|
{
|
|
<div class="col-12 my-3">
|
|
<div class="card w-100">
|
|
<div class="card-header">
|
|
<h5 class="text-bewo-customer-card-header">Medikamentenverordnungen</h5>
|
|
</div>
|
|
<div class="card-body">
|
|
<div class="container-fluid px-0">
|
|
<div class="row">
|
|
<div class="col-sm-6 col-lg-auto mb-3">
|
|
@Html.DropDownListFor(m => m.SelectedReportType, Model.ReportTypeItems, new { @class = "custom-select", id = "report-type-select", onchange = "changeReportTypeSelection()" })
|
|
</div>
|
|
<div class="col-sm-6 col-lg-auto mb-3">
|
|
<button class="btn btn-primary" type="button" onclick="submitReportTypeSelectionForm();" id="show-med-list-btn">Bericht anzeigen</button>
|
|
</div>
|
|
<div class="col-sm-12 col-lg">
|
|
@if(!(Model.SelectedCustomer is null))
|
|
{
|
|
<table class="table d-none" id="med-list-history-list" style="table-layout: fixed !important;">
|
|
<thead>
|
|
<tr>
|
|
<th class="px-0">
|
|
Liste
|
|
</th>
|
|
<th>
|
|
Ersteller
|
|
</th>
|
|
<th class="px-0"></th>
|
|
</tr>
|
|
</thead>
|
|
<tbody>
|
|
@foreach(var list in Model.SelectedCustomer.Medikamentenverordnungslisten.Where(w => !w.Gueltig))
|
|
{
|
|
var listName = $"{(list.MedListType ? "Medikamentenverordnungsliste" : "Bedarfsmedikamentenverordnungsliste")} vom {list.ErstellDatum}";
|
|
var name = $"{listName} von {list.Ersteller}";
|
|
<tr>
|
|
<td class="px-0">
|
|
@listName
|
|
</td>
|
|
<td>
|
|
@list.Ersteller
|
|
</td>
|
|
<td class="px-0" style="text-align: right;">
|
|
<button type="button" class="btn btn-primary" onclick="viewHistoryMedList(@list.MedikamentenverordnungslistenOid)">
|
|
<i class="far fa-eye"></i>
|
|
</button>
|
|
<button type="button" class="btn btn-bewo-service-records" onclick="deleteHistoryMedList(@list.MedikamentenverordnungslistenOid, @name)">
|
|
<i class="fas fa-trash-alt"></i>
|
|
</button>
|
|
</td>
|
|
</tr>
|
|
}
|
|
</tbody>
|
|
</table>
|
|
}
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
}
|
|
|
|
<!-- Diagnosen -->
|
|
@if(AbstractModel.HasRightToViewDiagnosen && (Model.SelectedJsonCustomer.HasDiagnosen || Model.SelectedJsonCustomer.HasDisabilities || Model.SelectedJsonCustomer.HasSchwebi))
|
|
{
|
|
<div class="col-12 my-3">
|
|
<div class="card w-100 h-100">
|
|
<div class="card-header" onclick="cardHeaderClick('#chevron-customer-diagnosen', '#collapse-customer-diagnosen')">
|
|
<div class="d-inline-flex">
|
|
<i class="fas fa-chevron-down h-100 text-bewo-customer-card-header" id="chevron-customer-diagnosen"></i>
|
|
</div>
|
|
<div class="d-inline d-inline-flex text-bewo-customer-card-header h-100">
|
|
<button type="button" class="btn btn-link text-bewo-customer-card-header" style="font-size: 20px;">
|
|
Diagnosen
|
|
</button>
|
|
</div>
|
|
</div>
|
|
<div class="collapse" id="collapse-customer-diagnosen">
|
|
<div class="card-body">
|
|
@{
|
|
var hasDiagnosen = Model.SelectedJsonCustomer.HasDiagnosen;
|
|
var hasDisabilities = Model.SelectedJsonCustomer.HasDisabilities;
|
|
var diagnosenCol = hasDiagnosen && hasDisabilities ? "col-lg-6" : "col-lg-12";
|
|
var schwebiCol = hasDiagnosen ? "col-lg-6" : "col-lg-12";
|
|
}
|
|
<div class="row">
|
|
@if(hasDiagnosen)
|
|
{
|
|
<div class="@diagnosenCol">
|
|
<h6 class="text-primary">Diagnosen</h6>
|
|
<table class="table">
|
|
<thead>
|
|
<tr>
|
|
<th scope="col">ICD10</th>
|
|
<th scope="col">Beschreibung</th>
|
|
</tr>
|
|
</thead>
|
|
<tbody>
|
|
@foreach(var code2Text in Model.SelectedJsonCustomer.ICD10Diagnosen)
|
|
{
|
|
<tr>
|
|
<td>@code2Text.Key</td>
|
|
<td>@code2Text.Value</td>
|
|
</tr>
|
|
}
|
|
<tr>
|
|
<td>Medikation</td>
|
|
<td>@Model.SelectedCustomer.Medication</td>
|
|
</tr>
|
|
<tr>
|
|
<td>Bemerkungen</td>
|
|
<td>@Model.SelectedCustomer.Diagnosis</td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
</div>
|
|
}
|
|
@if(Model.SelectedJsonCustomer.HasSchwebi)
|
|
{
|
|
<div class="@schwebiCol">
|
|
<h6 class="text-primary">Schwerbehindertenausweis</h6>
|
|
<table class="table">
|
|
<tbody>
|
|
<tr>
|
|
<td>Aust. Vers. -amt</td>
|
|
<td>@Model.SelectedJsonCustomer.SchwebiAusstAmt</td>
|
|
</tr>
|
|
<tr>
|
|
<td>Ausweis unbefristet gültig</td>
|
|
<td>@Model.SelectedJsonCustomer.SchwebiIsUnlimited</td>
|
|
</tr>
|
|
<tr>
|
|
<td>Ausweis gültig von</td>
|
|
<td>@Model.SelectedJsonCustomer.SchwebiGueltigVon</td>
|
|
</tr>
|
|
<tr>
|
|
<td>Ausweis gültig bis</td>
|
|
<td>@Model.SelectedJsonCustomer.SchwebiGueltigBis</td>
|
|
</tr>
|
|
<tr>
|
|
<td>Beiblatt gültig bis</td>
|
|
<td>@Model.SelectedJsonCustomer.SchwebiBeiblattGueltigBis</td>
|
|
</tr>
|
|
<tr>
|
|
<td>Grad der Behinderung</td>
|
|
<td>@Model.SelectedJsonCustomer.SchwebiGradDerBehinderung</td>
|
|
</tr>
|
|
<tr>
|
|
<td>Merkzeichen</td>
|
|
<td>@Model.SelectedJsonCustomer.SchwebiMerkzeichen</td>
|
|
</tr>
|
|
<tr>
|
|
<td>Behinderungsart</td>
|
|
<td>@Model.SelectedJsonCustomer.SchwebiBehinderungsart</td>
|
|
</tr>
|
|
<tr>
|
|
<td>Pflegegrad</td>
|
|
<td>@Model.SelectedJsonCustomer.SchwebiPflegegrad</td>
|
|
</tr>
|
|
<tr>
|
|
<td>Aktenzeichen</td>
|
|
<td>@Model.SelectedJsonCustomer.SchwebiAktenzeichen</td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
</div>
|
|
}
|
|
</div>
|
|
@if(Model.SelectedJsonCustomer.HasDisabilities)
|
|
{
|
|
<div class="row">
|
|
<div class="col">
|
|
<h6 class="text-primary">Behinderungen</h6>
|
|
<table class="table">
|
|
<tbody>
|
|
@foreach(var behinderung in Model.SelectedCustomer.Disabilities)
|
|
{
|
|
<tr>
|
|
<td>@behinderung.DisplayName</td>
|
|
</tr>
|
|
}
|
|
</tbody>
|
|
</table>
|
|
</div>
|
|
</div>
|
|
}
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
}
|
|
|
|
@{
|
|
var isRelatedCustomer = Model.SelectedCustomerOid.HasValue && Model.Employee.RelatedCustomers.Any(cer => cer.Customer.CustomerOid.Equals(Model.SelectedCustomerOid.Value));
|
|
|
|
var isAllowedToViewBargeldkassen = AbstractModel.HasRightToViewAllCustomersBargeldkassen || (isRelatedCustomer && AbstractModel.HasRightToViewOwnCustomersBargeldkassen);
|
|
}
|
|
|
|
@if(Html.IsInDebugMode() && isAllowedToViewBargeldkassen && !(Model.Bargeldkassen is null) && Model.Bargeldkassen.Any())
|
|
{
|
|
<!-- Bargeldkassen -->
|
|
<div class="col-12 my-3">
|
|
<div class="card w-100 h-100">
|
|
<div class="card-header" onclick="cardHeaderClick2(this)">
|
|
<div class="d-inline-flex">
|
|
<i class="fas fa-chevron-down h-100 text-bewo-customer-card-header" id="chevron-customer-bargeldkassen"></i>
|
|
</div>
|
|
<div class="d-inline d-inline-flex text-bewo-customer-card-header h-100">
|
|
<button type="button" class="btn btn-link text-bewo-customer-card-header" style="font-size: 20px;">
|
|
Bargeldkassen
|
|
</button>
|
|
</div>
|
|
</div>
|
|
<div class="collapse" id="collapse-customer-bargeldkassen">
|
|
<div class="card-body">
|
|
<div class="container-fluid">
|
|
@Html.Partial("CustomerBargeldkassen", Model)
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
}
|
|
|
|
@if(Html.IsInDebugMode() && AbstractModel.HasRightToViewCustomerAbsenceTimes)
|
|
{
|
|
<div class="col-12 my-3">
|
|
<div class="card w-100 h-100 bg-bewo-dev">
|
|
<div class="card-header" onclick="cardHeaderClick('#chevron-customer-absencetimes', '#collapse-customer-absencetimes')">
|
|
<div class="d-inline-flex">
|
|
<i class="fas fa-chevron-down h-100 text-bewo-customer-card-header" id="chevron-customer-absencetimes"></i>
|
|
</div>
|
|
<div class="d-inline d-inline-flex text-bewo-customer-card-header h-100">
|
|
<button type="button" class="btn btn-link text-bewo-customer-card-header" style="font-size: 20px;">
|
|
Abwesenheiten
|
|
</button>
|
|
</div>
|
|
</div>
|
|
<!-- ToDo: Formular-Partial anlegen! -->
|
|
<div class="collapse" id="collapse-customer-absencetimes">
|
|
<div class="card-body">
|
|
<button type="button" class="btn btn-primary" data-toggle="modal" data-target="#customer-absence-times-form-popup" onclick="calcAbsenceTimePrependWidth()"></button>
|
|
<hr />
|
|
@Html.Partial("CustomerAbsenceTimePartial", Model)
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
}
|
|
|
|
</div>
|
|
}
|
|
}
|
|
</div>
|
|
|
|
@if(Html.IsInDebugMode() && AbstractModel.HasRightToViewCustomerAbsenceTimes)
|
|
{
|
|
<!-- ToDo: Popup für Abwesenheitsformular -->
|
|
<div class="modal" tabindex="-1" role="dialog" id="customer-absence-times-form-popup">
|
|
<div class="modal-dialog modal-lg" role="document">
|
|
<div class="modal-content">
|
|
<div class="modal-header">
|
|
<h5 class="modal-title">Abwesenheit hinzufügen</h5>
|
|
<button class="close" type="button" data-dismiss="modal" aria-label="close">
|
|
<span aria-hidden="true">×</span>
|
|
</button>
|
|
</div>
|
|
<div class="modal-body" id="modal-body">
|
|
@Html.Partial("CustomerAbsenceTimeFormPartial", Model)
|
|
</div>
|
|
<div class="modal-footer">
|
|
<button class="btn btn-primary" type="button" data-dismiss="modal" onclick="submitCustomerAbsenceTimesForm()">OK</button>
|
|
<button class="btn btn-secondary" type="button" data-dismiss="modal" onclick="clearCustomerAbsenceTimesForm()">Abbrechen</button>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
}
|
|
|
|
@if(!(Model?.Report is null) && Html.IsInDebugMode())
|
|
{
|
|
<div class="modal modal-fullscreen" tabindex="-1" role="dialog" id="report-popup">
|
|
<div class="modal-dialog" role="document">
|
|
<div class="modal-content">
|
|
<div class="modal-header" onclick="debugOnclick()">
|
|
<h5 class="modal-title">@Model.ReportName</h5>
|
|
<button type="button" class="close" data-dismiss="modal" onclick="closeReport()">
|
|
<span>×</span>
|
|
</button>
|
|
</div>
|
|
<div class="modal-body">
|
|
@Html.Partial("CustomerReportPartial", Model)
|
|
</div>
|
|
<div class="modal-footer">
|
|
<button type="button" class="btn btn-primary" data-dismiss="modal" onclick="closeReport()">Schließen</button>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
}
|
|
|
|
@using(Html.BeginForm("SelectReport", "Customer", FormMethod.Post, new { id = "medverordnungs-form" }))
|
|
{
|
|
<input type="hidden" name="report-type-input" id="report-type-input" />
|
|
}
|
|
|
|
@using(Html.BeginForm("ViewMedListFromHistoryList", "Customer", FormMethod.Post, new { id = "view-history-med-list" }))
|
|
{
|
|
<input type="hidden" name="med-list-oid" id="med-list-oid-view" />
|
|
}
|
|
|
|
@using(Html.BeginForm("DeleteMedListFromHistoryList", "Customer", FormMethod.Post, new { id = "delete-history-med-list" }))
|
|
{
|
|
<input type="hidden" name="med-list-oid" id="med-list-oid-delete" />
|
|
} |