Checkboxen sind nicht mehr winzig klein im Chrome

This commit is contained in:
Lyndon
2019-04-17 17:01:37 +02:00
parent eb2ba3f1f6
commit 19678aa365
8 changed files with 404 additions and 286 deletions

View File

@@ -15,8 +15,7 @@ using BS.Shared.DataContracts.Compact;
using BS.Shared.Extensions;
using BS.Shared.Translation;
using ChatController.ChatKlassen;
using ChatController.Klassen;
using ChatController.LoginKlassen;
using Button = System.Windows.Controls.Button;
using MessageBox = System.Windows.MessageBox;
using Panel = System.Windows.Controls.Panel;
@@ -96,7 +95,7 @@ namespace BeWo.ownChat
private void ChatMainControl_OnClickContextMenuItem(string menuItem)
{
var aktuellerKontakt = ChatMainControl.GetAktuellenKontakt();
var aktuellerKontakt = ChatMainControl.GetCurrentContact();
if (aktuellerKontakt != null)
{
@@ -237,7 +236,7 @@ namespace BeWo.ownChat
private void SpeichereMessageInfosInDatenBank()
{
var liste = ChatMainControl.UebergebeMessageInfoDatenFuerDb();
var liste = ChatMainControl.GetContactsWithoutUnreadMessages();
if (liste.Count != 0)
{
@@ -270,7 +269,7 @@ namespace BeWo.ownChat
}
}
ChatMainControl.ErhalteMessageInfoVonDb(aa);
ChatMainControl.ResetNumberOfUnreadMessages(aa);
}
}

View File

@@ -747,6 +747,36 @@ input[type="checkbox"] {
padding: .5em;
}
.see-thru-popup-container-visible {
display: block;
position: absolute;
width: 100%;
height: 100%;
z-index: 899;
top: 0;
left: 0;
bottom: 0;
right: 0;
background-color: #bbbbbb;
opacity: 0.5;
overflow: hidden;
}
.visible-popup-div {
width: auto;
height: auto;
position: absolute;
background-color: #ffffff;
border: 1px solid #FF5A00;
margin: auto;
z-index: 900;
padding: 0;
top: 0;
bottom: 0;
left: 0;
right: 0;
overflow-y: scroll;
}
.see-thru-popup-container {
display: none;
@@ -929,3 +959,8 @@ input[type="checkbox"] {
display: inline;
padding: 0;
}
.showSignatureButton {
width: auto;
padding: 7.5px 15px;
}

View File

@@ -2665,5 +2665,36 @@ namespace BeWoPlanerMobil.Controllers
return _LeerzeichenFuerGetMethoden;
}
[HttpPost]
[Authorize]
public ActionResult LoadSignatureImage(FormCollection pFormCollection)
{
if(Model == null)
{
return RedirectToActionPermanent("Index", "Login");
}
var isParsingSuccessful = long.TryParse(pFormCollection["signatureOidHolder"], out var signatureOid);
if(isParsingSuccessful)
{
Model.SignatureImage = OperationsService.GetSignature(signatureOid).DataBild;
}
return RedirectToActionPermanent("Main");
}
[Authorize]
public string ResetSignatureImage()
{
if(Model == null)
{
return _LeerzeichenFuerGetMethoden;
}
Model.SignatureImage = null;
return _LeerzeichenFuerGetMethoden;
}
}
}

View File

@@ -329,7 +329,9 @@ namespace BeWoPlanerMobil.Models
return allCostBearerRelations;
}
}
}
public string SignatureImage { get; set; }
}
public class CustomSelectListItem
{

View File

@@ -226,4 +226,15 @@ function loescheUnterschrift(canvas, ctx) {
function preloadData(serviceRecordOid) {
initSignatureInfo(serviceRecordOid);
}
function showSignature() {
$("#signatureLoadingForm").submit();
}
function hideSignatureImagePopup() {
$("#signaturePopupDiv").hide();
$("#signatureImagePopupDivContainer").hide();
makeAjaxCall("GET", window.resetSignatureImage, null, null, null);
}

View File

@@ -13,7 +13,7 @@
<div id="colorRibbon"></div>
<div id="menu-div" style="display: none; position: absolute; right: 0; z-index: 10;">
<ul class="dark-bg">
<li class="menu-item menu-link" onclick="showCustomers()" @{if(!MainModel.IsAllowedToSeeCustomers) { @Html.Raw("style='display: none;'") }}>
<li class="menu-item menu-link" onclick="showCustomers()" @{if (!MainModel.IsAllowedToSeeCustomers) { @Html.Raw("style='display: none;'") }}>
<img src="@Url.Content("~/Content/images/klientenicon.svg")" alt="K" class="menu-img" />Klienten
</li>
@@ -27,7 +27,7 @@
<li class="menu-item">
<img src="@Url.Content("~/Content/images/abmeldeicon.svg")" alt="A" class="abmelden-img" />
@using(Html.BeginForm("Logout", "Main", FormMethod.Post, new { id = "logout-form" }))
@using (Html.BeginForm("Logout", "Main", FormMethod.Post, new { id = "logout-form" }))
{
<input type="submit" value="Abmelden" class="logout-btn" onclick="clearRecords(); showSanduhr();" />
}
@@ -40,72 +40,72 @@
<div id="zeiterfassung">
<div class="margin-div" style="overflow: hidden;">
@using(Html.BeginForm("SetShowOnlyOwnSupportConcepts", "Main", FormMethod.Post))
@using (Html.BeginForm("SetShowOnlyOwnSupportConcepts", "Main", FormMethod.Post))
{
@Html.CheckBoxFor(m => m.ShowOnlyOwnSupportConcepts, new { onchange = "showSanduhr();this.form.submit();", id = "ShowOnlyOwnSupportConceptsCheckBox" })
@Html.LabelFor(m => m.ShowOnlyOwnSupportConcepts, new { id = "LabelForShowOnlyOwnSupporConceptsCB", onclick= "topkek()" })
@Html.LabelFor(m => m.ShowOnlyOwnSupportConcepts, new { id = "LabelForShowOnlyOwnSupporConceptsCB", onclick = "topkek()" })
}
@using(Html.BeginForm("SetShowExpiredSupportConcepts", "Main", FormMethod.Post))
@using (Html.BeginForm("SetShowExpiredSupportConcepts", "Main", FormMethod.Post))
{
@Html.CheckBoxFor(m => m.ShowExpiredSupportConcepts, new { onchange = "showSanduhr();this.form.submit();", id = "ShowExpiredSupportConceptsCheckBox" })
@Html.LabelFor(m => m.ShowExpiredSupportConcepts, new { id = "LabelForShowExpiredSupportConceptsCB" })
}
@{
var shouldShowGroupBookingForm = "display: none";
@{
var shouldShowGroupBookingForm = "display: none";
if(MainModel.HasRightForGroupBookings)
{
shouldShowGroupBookingForm = "display: block";
if (MainModel.HasRightForGroupBookings)
{
shouldShowGroupBookingForm = "display: block";
}
var groupBookingElementDisplayValue = "display: none";
if (Model.IsInGroupBookingMode)
{
groupBookingElementDisplayValue = "display: block";
}
}
var groupBookingElementDisplayValue = "display: none";
if(Model.IsInGroupBookingMode)
{
groupBookingElementDisplayValue = "display: block";
}
}
@using(Html.BeginForm("SetGroupBookingMode", "Main", FormMethod.Post, new { id = "groupBookingForm", style = shouldShowGroupBookingForm }))
@using (Html.BeginForm("SetGroupBookingMode", "Main", FormMethod.Post, new { id = "groupBookingForm", style = shouldShowGroupBookingForm }))
{
@Html.CheckBoxFor(m => m.IsInGroupBookingMode, new { onchange = "showSanduhr();this.form.submit();", id = "changeBookingModeCheckBox" })
@Html.LabelFor(m => m.IsInGroupBookingMode, new { id = "labelForChangeBookingModeCheckBox" })
}
<input id="groupBookingOpenPopupBtn" type="button" value="Hilfepläne und Gruppen" onclick="openGroupBookingDiv()" style="@groupBookingElementDisplayValue;" />
<div style="@groupBookingElementDisplayValue">
<table id="groupBookingSelectionTable">
@{ var counter = 0; }
@foreach (var x in Model.SelectedRelations)
{
<tr class="groupBookingSelectionTableRow" id="groupSelectionRow_@x.Value">
<td class="groupBookingSelectionLeftCell" style="@{ if(counter == Model.SelectedRelations.Count() - 1) { @Html.Raw("border-bottom: none;") } }">
<p class="groupBookingPTag">@x.Text1</p>
<br />
<p class="groupBookingPTag" style="color: @x.TextColor;">@x.Text2</p>
<input type="hidden" value="@x.Value" name="RelOidHolder" />
</td>
<td class="groupBookingSelectionRightCell" style="@{ if(counter == Model.SelectedRelations.Count() - 1) { @Html.Raw("border-bottom: none;") } }">
<input type="button" class="remove_btn" value="" onclick="removeSupportConceptViaGet(@x.Value)" />
</td>
</tr>
counter++;
}
</table>
</div>
<input id="groupBookingOpenPopupBtn" type="button" value="Hilfepläne und Gruppen" onclick="openGroupBookingDiv()" style="@groupBookingElementDisplayValue;" />
<input id="groupBookingOpenEmployeeSelectionPopupBtn" type="button" value="Mitarbeiter" onclick="openEmployeePopup()" style="@groupBookingElementDisplayValue;" />
<div style="@groupBookingElementDisplayValue">
<table id="groupBookingSelectionTable">
@{ var counter = 0; }
@foreach (var x in Model.SelectedRelations)
{
<tr class="groupBookingSelectionTableRow" id="groupSelectionRow_@x.Value">
<td class="groupBookingSelectionLeftCell" style="@{ if(counter == Model.SelectedRelations.Count() - 1) { @Html.Raw("border-bottom: none;") } }">
<p class="groupBookingPTag">@x.Text1</p>
<br />
<p class="groupBookingPTag" style="color: @x.TextColor;">@x.Text2</p>
<input type="hidden" value="@x.Value" name="RelOidHolder" />
</td>
<td class="groupBookingSelectionRightCell" style="@{ if(counter == Model.SelectedRelations.Count() - 1) { @Html.Raw("border-bottom: none;") } }">
<input type="button" class="remove_btn" value="" onclick="removeSupportConceptViaGet(@x.Value)" />
</td>
</tr>
counter++;
}
</table>
</div>
<input id="groupBookingOpenEmployeeSelectionPopupBtn" type="button" value="Mitarbeiter" onclick="openEmployeePopup()" style="@groupBookingElementDisplayValue;" />
@{
var shouldShowSingleBookingElements = "display: block";
if(Model.IsInGroupBookingMode)
if (Model.IsInGroupBookingMode)
{
shouldShowSingleBookingElements = "display: none";
}
}
@using(Html.BeginForm("SelectSupportConcept", "Main", FormMethod.Post, new { id = "selectSCForm", style = shouldShowSingleBookingElements }))
@using (Html.BeginForm("SelectSupportConcept", "Main", FormMethod.Post, new { id = "selectSCForm", style = shouldShowSingleBookingElements }))
{
<table>
<tr>
@@ -131,14 +131,14 @@
</div>
</div>
<div @{if(!MainModel.IsAllowedToCreateOrEditRecord) { @Html.Raw("style='height: 0; overflow: hidden; position: absolute;'") }}>
<div @{if (!MainModel.IsAllowedToCreateOrEditRecord) { @Html.Raw("style='height: 0; overflow: hidden; position: absolute;'") }}>
<input type="hidden" id="isInEditModeIndicator" value="@(Model.IsInEditingMode ? Html.Raw("true") : Html.Raw("false"))" />
<input type="hidden" id="selectedServiceCategoryOidHolder" value="@{ if(Model.IsInEditingMode && Model.SelectedServiceRecord != null) { @Html.Raw(Model.SelectedServiceRecord.ServiceDescription.Category.ServiceCategoryOid.ToString()) } }" />
<input type="hidden" id="selectedServiceDescriptionOidHolder" value="@{ if(Model.IsInEditingMode && Model.SelectedServiceRecord != null) { @Html.Raw(Model.SelectedServiceRecord.ServiceDescription.ServiceDescriptionOid.ToString()) } }" />
@using(Html.BeginForm("CreateServiceRecord", "Main", FormMethod.Post, new { id = "createSRForm" }))
@using (Html.BeginForm("CreateServiceRecord", "Main", FormMethod.Post, new { id = "createSRForm" }))
{
<table>
<tr @{ if(Model.SelectedSupportConcept == null || Model.SelectedSupportConcept.Goals.Count == 0 || Model.IsInGroupBookingMode) { @Html.Raw("style='display: none;'") } else { @Html.Raw("style='display: table-row;'") } }>
<tr @{ if (Model.SelectedSupportConcept == null || Model.SelectedSupportConcept.Goals.Count == 0 || Model.IsInGroupBookingMode) { @Html.Raw("style='display: none;'") } else { @Html.Raw("style='display: table-row;'") } }>
<td colspan="2">
<div class="collapsible-container">
<input type="button" id="kollabier-btn1" class="toggle-btn" value="Ziele" disabled />
@@ -170,7 +170,7 @@
<tr>
<td colspan="2">
<div class="input-wrapper cell-content">
<input type="text" id="datum_textbox" name="Datum" class="date-input-css floating-label-input" required disabled @{if(Model.IsInEditingMode && Model.IsInGroupBookingMode && Model.SelectedServiceRecord != null && Model.SelectedServiceRecord.Start != null) { @Html.Raw("value='" + Model.SelectedServiceRecord.Start.Value.ToString("dd.MM.yyyy") + "'") }} />
<input type="text" id="datum_textbox" name="Datum" class="date-input-css floating-label-input" required disabled @{if (Model.IsInEditingMode && Model.IsInGroupBookingMode && Model.SelectedServiceRecord != null && Model.SelectedServiceRecord.Start != null) { @Html.Raw("value='" + Model.SelectedServiceRecord.Start.Value.ToString("dd.MM.yyyy") + "'") }} />
<label class="floating-label" for="datum_textbox">Startdatum</label>
</div>
</td>
@@ -178,7 +178,7 @@
<tr>
<td colspan="2">
<div class="input-wrapper cell-content" id="EndDate_div" style="display: none">
<input type="text" id="enddatum_textbox" name="Enddatum" class="date-input-css floating-label-input edit-form-input" required disabled onchange="actualDurationWithEndDate()" @{if(Model.IsInEditingMode && Model.IsInGroupBookingMode && Model.SelectedServiceRecord != null && Model.SelectedServiceRecord.End != null) { @Html.Raw("value='" + Model.SelectedServiceRecord.End.Value.ToString("dd.MM.yyyy") + "'") }} />
<input type="text" id="enddatum_textbox" name="Enddatum" class="date-input-css floating-label-input edit-form-input" required disabled onchange="actualDurationWithEndDate()" @{if (Model.IsInEditingMode && Model.IsInGroupBookingMode && Model.SelectedServiceRecord != null && Model.SelectedServiceRecord.End != null) { @Html.Raw("value='" + Model.SelectedServiceRecord.End.Value.ToString("dd.MM.yyyy") + "'") }} />
<label class="floating-label" for="enddatum_textbox">Enddatum</label>
</div>
</td>
@@ -191,13 +191,13 @@
<tr>
<td>
<div class="input-wrapper cell-content" id="start-cell">
<input class="not-required-input edit-form-input" type="text" id="start_textbox" name="Start" disabled @{if(Model.IsInEditingMode && Model.IsInGroupBookingMode && Model.SelectedServiceRecord != null && Model.SelectedServiceRecord.Start != null) { @Html.Raw("value=\"" + Model.SelectedServiceRecord.Start.Value.ToString("HH:mm") + "\"") }} />
<input class="not-required-input edit-form-input" type="text" id="start_textbox" name="Start" disabled @{if (Model.IsInEditingMode && Model.IsInGroupBookingMode && Model.SelectedServiceRecord != null && Model.SelectedServiceRecord.Start != null) { @Html.Raw("value=\"" + Model.SelectedServiceRecord.Start.Value.ToString("HH:mm") + "\"") }} />
<label for="start_textbox">Von</label>
</div>
</td>
<td>
<div class="input-wrapper cell-content" id="end-cell">
<input class="not-required-input edit-form-input" type="text" id="ende_textbox" name="Ende" disabled @{if(Model.IsInEditingMode && Model.IsInGroupBookingMode && Model.SelectedServiceRecord != null && Model.SelectedServiceRecord.End != null) { @Html.Raw("value=\"" + Model.SelectedServiceRecord.End.Value.ToString("HH:mm") + "\"") }} />
<input class="not-required-input edit-form-input" type="text" id="ende_textbox" name="Ende" disabled @{if (Model.IsInEditingMode && Model.IsInGroupBookingMode && Model.SelectedServiceRecord != null && Model.SelectedServiceRecord.End != null) { @Html.Raw("value=\"" + Model.SelectedServiceRecord.End.Value.ToString("HH:mm") + "\"") }} />
<label for="ende_textbox">Bis</label>
</div>
</td>
@@ -205,15 +205,15 @@
<tr>
<td colspan="2">
<div class="input-wrapper cell-content">
<input class="not-required-input edit-form-input" type="text" id="duration_textbox" name="Dauer" disabled @{if(Model.IsInEditingMode && Model.IsInGroupBookingMode && Model.SelectedServiceRecord != null && Model.SelectedServiceRecord.GroupRoundedDuration != null) { @Html.Raw("value=\"" + Model.SelectedServiceRecord.GroupRoundedDuration.Value.ToString("###0.#") + "\"") }} />
<input class="not-required-input edit-form-input" type="text" id="duration_textbox" name="Dauer" disabled @{if (Model.IsInEditingMode && Model.IsInGroupBookingMode && Model.SelectedServiceRecord != null && Model.SelectedServiceRecord.GroupRoundedDuration != null) { @Html.Raw("value=\"" + Model.SelectedServiceRecord.GroupRoundedDuration.Value.ToString("###0.#") + "\"") }} />
<label for="duration_textbox">Dauer</label>
</div>
</td>
</tr>
<tr @{ if(!Model.ShowDistanceField) { @Html.Raw("style='display: none;'") }}>
<tr @{ if (!Model.ShowDistanceField) { @Html.Raw("style='display: none;'") }}>
<td colspan="2">
<div class="input-wrapper cell-content">
<input class="not-required-input edit-form-input" type="number" id="distance_textbox" name="Distanz" disabled @{if(Model.IsInEditingMode && Model.IsInGroupBookingMode && Model.SelectedServiceRecord != null && Model.SelectedServiceRecord.DistanceInMeter != null) { @Html.Raw("value=\"" + Model.SelectedServiceRecord.DistanceInMeter + "\"") }} />
<input class="not-required-input edit-form-input" type="number" id="distance_textbox" name="Distanz" disabled @{if (Model.IsInEditingMode && Model.IsInGroupBookingMode && Model.SelectedServiceRecord != null && Model.SelectedServiceRecord.DistanceInMeter != null) { @Html.Raw("value=\"" + Model.SelectedServiceRecord.DistanceInMeter + "\"") }} />
<label for="distance_textbox">Gefahrene Kilometer</label>
</div>
</td>
@@ -294,22 +294,22 @@
@{
var shouldShowServiceRecordList = "display: block";
if(Model.IsInGroupBookingMode && !Model.IsInEditingMode)
if (Model.IsInGroupBookingMode && !Model.IsInEditingMode)
{
shouldShowServiceRecordList = "display: none";
}
}
@using(Html.BeginForm("LoadServiceRecords", "Main", FormMethod.Post, new { id = "selectSCForm2", style = shouldShowServiceRecordList }))
@using (Html.BeginForm("LoadServiceRecords", "Main", FormMethod.Post, new { id = "selectSCForm2", style = shouldShowServiceRecordList }))
{
<div class="combobox-label-parent" id="recordLoader_select_container" style="min-width: 120px">
<div class="disabled-select-container" id="record-loader-select-container">
<select class="dropdownlist-for" id="recordLoader_select" onchange="showSanduhr();$('#serviceRecords').empty();this.form.submit();" name="Records" disabled>
<option value="-1"></option>
<option value="7" @{if(Model.Zeitraum == 7) { @Html.Raw("selected") }}>Letzte 7 Tage</option>
<option value="30" @{if(Model.Zeitraum == 30) { @Html.Raw("selected") }}>Letzte 30 Tage</option>
<option value="90" @{if(Model.Zeitraum == 90) { @Html.Raw("selected") }}>Letzte 90 Tage</option>
<option value="0" @{if(Model.Zeitraum == 0) { @Html.Raw("selected") }}>Alle</option>
<option value="7" @{if (Model.Zeitraum == 7) { @Html.Raw("selected") }}>Letzte 7 Tage</option>
<option value="30" @{if (Model.Zeitraum == 30) { @Html.Raw("selected") }}>Letzte 30 Tage</option>
<option value="90" @{if (Model.Zeitraum == 90) { @Html.Raw("selected") }}>Letzte 90 Tage</option>
<option value="0" @{if (Model.Zeitraum == 0) { @Html.Raw("selected") }}>Alle</option>
</select>
</div>
</div>
@@ -319,11 +319,11 @@
<hr />
<div class="margin-div" id="serviceRecords" style="@shouldShowServiceRecordList">
@foreach(var record in Model.ServiceRecords)
@foreach (var record in Model.ServiceRecords)
{
<div class="collapsible-container">
<input type="button" class="toggle-btn" value="@{
var gruppenInfo = "";
<input type="button" class="toggle-btn" value="@{
var gruppenInfo = string.Empty;
if (record.GroupOid != null)
{
@@ -335,8 +335,8 @@
if(record.Start.Value.Date != record.End.Value.Date) {
@(record.Start.Value.ToString("dd.MM.yyyy") + " "+ record.Start.Value.ToString(" HH:mm") + " - " + record.End.Value.ToString("dd.MM.yyyy") + " " + record.End.Value.ToString("HH:mm") + (record.GroupOid != null ? gruppenInfo : ""))
} else {
@(record.Start.Value.ToString("dd.MM.yyyy") + " " + record.Start.Value.ToString(" HH:mm") + " - " + record.End.Value.ToString("HH:mm") + (record.GroupOid != null ? gruppenInfo : ""))
}
@(record.Start.Value.ToString("dd.MM.yyyy") + " " + record.Start.Value.ToString(" HH:mm") + " - " + record.End.Value.ToString("HH:mm") + (record.GroupOid != null ? gruppenInfo : ""))
}
}
else
{
@@ -347,61 +347,72 @@
@(Html.Raw(" ✔"))
}
}" @(record.GroupOid != null ? Html.Raw("style=\"background-color: #FDC784;\"") : Html.Raw("")) />
<div style="display: none;" @(record.GroupOid != null ? Html.Raw("class=\"kollabierbarGruppenbuchung\"") : Html.Raw("class=\"kollabierbar\""))>
<div style="display: none;" @(record.GroupOid != null ? Html.Raw("class=\"kollabierbarGruppenbuchung\"") : Html.Raw("class=\"kollabierbar\""))>
<table>
<tbody>
<tr class="testklasse">
<td colspan="2">
@using(Html.BeginForm("SetSelectedGroupServiceRecord", "Main", FormMethod.Post, new {id = "editGroupServiceRecord_" + record.ServiceRecordOid.Value}))
{
<input type="text" value="@(record.ServiceRecordOid.Value)" name="hiddenElement" style="display: none"/>
}
<input type="button" class="edit-button" onclick="@("showSanduhr();" + (record.GroupOid == null ? "selectServiceRecord('" + record.ServiceRecordOid + "')" : "selectGroupBookingForEditing('" + record.ServiceRecordOid + "')"))" @{if(!MainModel.IsEditBtnVisible) { @Html.Raw("style=\"display: none;\"") }}/>
@*<input type="button" class="edit-button" onclick="@("showSanduhr();" + ("selectServiceRecord('" + record.ServiceRecordOid) + "')")" @{if(!MainModel.IsEditBtnVisible || record.GroupOid != null) { @Html.Raw("style=\"display: none;\"") }}/>*@
<input type="button" onclick="@("togglePopup('" + record.ServiceRecordOid + "')")" class="delete-button" @{if(!MainModel.IsDeleteBtnVisible) { @Html.Raw("style=\"display: none;\"") }}/>
@{if((record.SignatureOid == null || record.SignatureOid.Equals("")) && Model.ShowSignature)
{
<input type="button" onclick="@("showUnterschrift(" + record.ServiceRecordOid + ")")" value="Unterschreiben" class="unterschreiben" style="color: #ff5a00; font-weight: bold; font-size: large"/>
}
}
</td>
</tr>
<tr class="testklasse">
<td class="recordHeader">Minuten (gerundet):</td>
<td>
@{
var rd = MobileUtils.GetDecimalValueWithMaxDecimal(record.RoundedDuration, 2);
if(record.ServiceDescription.Category.Percentage > 0 && record.ServiceDescription.Category.Percentage < 100)
<tr class="testklasse">
<td colspan="2">
@using (Html.BeginForm("SetSelectedGroupServiceRecord", "Main", FormMethod.Post, new { id = "editGroupServiceRecord_" + record.ServiceRecordOid.Value }))
{
rd = rd * record.ServiceDescription.Category.Percentage / 100;
<input type="text" value="@(record.ServiceRecordOid.Value)" name="hiddenElement" style="display: none" />
}
<input type="button" class="edit-button" onclick="@("showSanduhr();" + (record.GroupOid == null ? "selectServiceRecord('" + record.ServiceRecordOid + "')" : "selectGroupBookingForEditing('" + record.ServiceRecordOid + "')"))" @{if (!MainModel.IsEditBtnVisible) { @Html.Raw("style=\"display: none;\"") }} />
@*<input type="button" class="edit-button" onclick="@("showSanduhr();" + ("selectServiceRecord('" + record.ServiceRecordOid) + "')")" @{if(!MainModel.IsEditBtnVisible || record.GroupOid != null) { @Html.Raw("style=\"display: none;\"") }}/>*@
<input type="button" onclick="@("togglePopup('" + record.ServiceRecordOid + "')")" class="delete-button" @{if (!MainModel.IsDeleteBtnVisible) { @Html.Raw("style=\"display: none;\"") }} />
@{if ((record.SignatureOid == null || record.SignatureOid.Equals("")) && Model.ShowSignature)
{
<input type="button" onclick="@("showUnterschrift(" + record.ServiceRecordOid + ")")" value="Unterschreiben" class="unterschreiben" style="color: #ff5a00; font-weight: bold; font-size: large" />
}
}
@(record.GroupOid != null ? string.Format("{0:###0.#} ({0:###0.#})", rd) : string.Format("{0:###0.#} ({1:###0.#})", (record.End.Value - record.Start.Value).TotalMinutes, rd))
@{
if (record.SignatureOid.HasValue)
{
using (Html.BeginForm("LoadSignatureImage", "Main", FormMethod.Post, new { id = "signatureLoadingForm", style = "display:inline;" }))
{
<input type="hidden" value="@(record.SignatureOid.Value)" name="signatureOidHolder" />
<input type="button" onclick="showSignature()" value="Unterschrift" class="showSignatureButton" />
}
}
}
</td>
</tr>
<tr class="testklasse">
<td class="recordHeader">Minuten (gerundet):</td>
<td>
@{
var rd = MobileUtils.GetDecimalValueWithMaxDecimal(record.RoundedDuration, 2);
if (record.ServiceDescription.Category.Percentage > 0 && record.ServiceDescription.Category.Percentage < 100)
{
rd = rd * record.ServiceDescription.Category.Percentage / 100;
}
@(record.GroupOid != null ? string.Format("{0:###0.#} ({0:###0.#})", rd) : string.Format("{0:###0.#} ({1:###0.#})", (record.End.Value - record.Start.Value).TotalMinutes, rd))
}
</td>
</tr>
@{
if (Model.ShowDistanceField && record.DistanceInMeter != null && record.DistanceInMeter.Value > 0)
{
<tr class="testklasse">
<td class="recordHeader">Gefahrene Kilometer:</td>
<td>@record.DistanceInMeter.ToString()</td>
</tr>
}
</td>
</tr>
@{
if(Model.ShowDistanceField && record.DistanceInMeter != null && record.DistanceInMeter.Value > 0)
{
<tr class="testklasse">
<td class="recordHeader">Gefahrene Kilometer:</td>
<td>@record.DistanceInMeter.ToString()</td>
</tr>
}
}
<tr class="testklasse" style="@{if (record.Goals != null && record.Goals.Count == 0) {@("display: none;")}}">
<td class="recordHeader">Ziele:</td>
<td>
@{
if(record.Goals != null)
if (record.Goals != null)
{
foreach(var goal in record.Goals)
foreach (var goal in record.Goals)
{
@(goal.TypeDescription)
if(record.Goals.IndexOf(goal) < record.Goals.Count - 1)
if (record.Goals.IndexOf(goal) < record.Goals.Count - 1)
{
@(", ")
}
@@ -427,39 +438,39 @@
<td>@record.InsertedOn</td>
</tr>
@{
if(Model.Dokutypes.Length >= 1)
{
<tr class="testklasse" >
<td class="recordHeader">@Model.Dokutypes[0].TypeDescription:</td>
<td>@record.Notice</td>
</tr>
@{
if (Model.Dokutypes.Length >= 1)
{
<tr class="testklasse">
<td class="recordHeader">@Model.Dokutypes[0].TypeDescription:</td>
<td>@record.Notice</td>
</tr>
}
else if (record.Notice2 == null && record.Notice3 == null && record.Notice4 == null && record.Notice5 == null && Model.Dokutypes.Length == 0)
{
<tr class="testklasse">
<td class="recordHeader">Dokumentation:</td>
<td>@record.Notice</td>
</tr>
}
else if (record.Notice2 != null || record.Notice3 != null || record.Notice4 != null || record.Notice5 != null)
{
<tr class="testklasse">
<td class="recordHeader">Dokumentation:</td>
<td>@record.Notice</td>
</tr>
}
}
else if (record.Notice2 == null && record.Notice3 == null && record.Notice4 == null && record.Notice5 == null && Model.Dokutypes.Length == 0)
{
<tr class="testklasse" >
<td class="recordHeader">Dokumentation:</td>
<td>@record.Notice</td>
</tr>
}
else if (record.Notice2 != null || record.Notice3 != null || record.Notice4 != null || record.Notice5 != null)
{
<tr class="testklasse">
<td class="recordHeader">Dokumentation:</td>
<td>@record.Notice</td>
</tr>
}
}
@{if(record.Notice2 != null)
@{if (record.Notice2 != null)
{
if (Model.Dokutypes.Length >= 2)
{
if (!record.Notice2.Equals("") && Model.Dokutypes[1] != null)
{
<tr class="testklasse">
<td class="recordHeader">@Model.Dokutypes[1].TypeDescription:</td>
<td> @record.Notice2</td>
</tr>
{
<tr class="testklasse">
<td class="recordHeader">@Model.Dokutypes[1].TypeDescription:</td>
<td> @record.Notice2</td>
</tr>
}
}
else if (!record.Notice2.Equals(""))
@@ -467,23 +478,23 @@
<tr class="testklasse">
<td class="recordHeader">Dokumentation 2:</td>
<td> @record.Notice2</td>
</tr>
</tr>
}
}
if(record.Notice3 != null)
}
if (record.Notice3 != null)
{
if(Model.Dokutypes.Length >= 3)
{
if(!record.Notice3.Equals("") && Model.Dokutypes[2] != null)
if (Model.Dokutypes.Length >= 3)
{
if (!record.Notice3.Equals("") && Model.Dokutypes[2] != null)
{
<tr class="testklasse">
<td class="recordHeader">@Model.Dokutypes[2].TypeDescription:</td>
<td> @record.Notice3</td>
</tr>
<tr class="testklasse">
<td class="recordHeader">@Model.Dokutypes[2].TypeDescription:</td>
<td> @record.Notice3</td>
</tr>
}
}
else if(!record.Notice3.Equals(""))
else if (!record.Notice3.Equals(""))
{
<tr class="testklasse">
<td class="recordHeader">Dokumentation 3:</td>
@@ -491,70 +502,71 @@
</tr>
}
}
if(record.Notice4 != null)
{
if(Model.Dokutypes.Length >= 4)
{
if(!record.Notice4.Equals("") && Model.Dokutypes[3] != null)
{
<tr class="testklasse">
if (record.Notice4 != null)
{
if (Model.Dokutypes.Length >= 4)
{
if (!record.Notice4.Equals("") && Model.Dokutypes[3] != null)
{
<tr class="testklasse">
<td class="recordHeader">@Model.Dokutypes[3].TypeDescription:</td>
<td> @record.Notice4</td>
</tr>
}
}
else if(!record.Notice4.Equals(""))
{
<tr class="testklasse">
</tr>
}
}
else if (!record.Notice4.Equals(""))
{
<tr class="testklasse">
<td class="recordHeader">Dokumentation 4:</td>
<td> @record.Notice4</td>
</tr>
}
}
if(record.Notice5 != null)
{
if(Model.Dokutypes.Length == 5)
{
if(!record.Notice5.Equals("") && Model.Dokutypes[4] != null)
{
</tr>
}
}
if (record.Notice5 != null)
{
if (Model.Dokutypes.Length == 5)
{
if (!record.Notice5.Equals("") && Model.Dokutypes[4] != null)
{
<tr class="testklasse">
<td class="recordHeader">@Model.Dokutypes[4].TypeDescription:</td>
<td> @record.Notice5</td>
</tr>
}
}
else if(!record.Notice5.Equals(""))
{
<tr class="testklasse">
}
}
else if (!record.Notice5.Equals(""))
{
<tr class="testklasse">
<td class="recordHeader">Dokumentation 5:</td>
<td> @record.Notice5</td>
</tr>
}
}
}
@{if(Model.ShowSignature)
{
<tr class="testklasse">
<td class="recordHeader">Unterschrieben:</td>
<td>@{if(record.SignatureOid == null || record.SignatureOid < 1)
{
@Html.Raw("NEIN")
}
else
{
@Html.Raw("JA")
}
</tr>
}
}
}
@{if (Model.ShowSignature)
{
<tr class="testklasse">
<td class="recordHeader">Unterschrieben:</td>
<td>
@{if (record.SignatureOid == null || record.SignatureOid < 1)
{
@Html.Raw("NEIN")
}
else
{
@Html.Raw("JA")
}
}
</td>
</tr>}
}
</tr>}
}
</tbody>
</table>
</div>
</div>
</div>
}
</div>
</div>
@@ -593,7 +605,7 @@
<p id="SuccessPopupText" class="center-aligned-text-element"></p>
<div id="SuccessPopupBtnDiv" class="center-aligned-text-element">
<input type="button" id="SuccessPopupOkBtn" class="SuccessPopupOkBtn" value="OK" onclick="toggleSuccessPopup(''), location.reload()" />
<input type="button" class="SuccessPopupUSchrift" value="Unterschreiben" onclick="showUnterschrift('', 1)"/>
<input type="button" class="SuccessPopupUSchrift" value="Unterschreiben" onclick="showUnterschrift('', 1)" />
</div>
</div>
@@ -618,36 +630,36 @@
<button id="leftBtn" class="tab-links" onclick="openGroupBookingTab(true)">Hilfepläne</button>
<button id="rightBtn" class="tab-links" onclick="openGroupBookingTab(false)">Gruppen</button>
</div>
<div id="leftContent" class="tab-content">
<table>
@foreach(var hp in Model.SupporConceptListItemsForGroupBooking)
{
<tr>
<td style="width: 1px; white-space: nowrap;">
<input type="checkbox" value="@hp.Value" name="costbearer2supportconcept_@hp.Value" id="costbearer2supportconcept_@hp.Value" @if(Model.SelectedCostbearerRelOids.Contains(long.Parse(hp.Value))) { @Html.Raw("checked=\"checked\"") } />
</td>
<td class="group-booking-text-cell">
@hp.Text
</td>
</tr>
}
</table>
</div>
<div id="rightContent" class="tab-content">
<table>
@foreach(var gruppe in Model.GroupOfPeopleListItems)
{
<tr>
<td style="width: 1px; white-space: nowrap;">
<input type="checkbox" value="@gruppe.Value" name="group_@gruppe.Value" id="group_@gruppe.Value" @if(Model.SelectedGroupOfPeopleOids.Contains(long.Parse(gruppe.Value))) { @Html.Raw("checked=\"checked\"") } />
</td>
<td class="group-booking-text-cell">
@gruppe.Text
</td>
</tr>
}
</table>
</div>
<div id="leftContent" class="tab-content">
<table>
@foreach (var hp in Model.SupporConceptListItemsForGroupBooking)
{
<tr>
<td style="width: 1%; white-space: nowrap;">
<input type="checkbox" value="@hp.Value" name="costbearer2supportconcept_@hp.Value" id="costbearer2supportconcept_@hp.Value" @if (Model.SelectedCostbearerRelOids.Contains(long.Parse(hp.Value))) { @Html.Raw("checked=\"checked\"") } />
</td>
<td class="group-booking-text-cell">
@hp.Text
</td>
</tr>
}
</table>
</div>
<div id="rightContent" class="tab-content">
<table>
@foreach (var gruppe in Model.GroupOfPeopleListItems)
{
<tr>
<td style="width: 1px; white-space: nowrap;">
<input type="checkbox" value="@gruppe.Value" name="group_@gruppe.Value" id="group_@gruppe.Value" @if (Model.SelectedGroupOfPeopleOids.Contains(long.Parse(gruppe.Value))) { @Html.Raw("checked=\"checked\"") } />
</td>
<td class="group-booking-text-cell">
@gruppe.Text
</td>
</tr>
}
</table>
</div>
</div>
<input type="button" onclick="addSupportConcepts()" value="Hinzufügen" />
</div>
@@ -655,15 +667,15 @@
<div id="employeePopupContainer" class="see-thru-popup-container" onclick="hideEmployeePopup()"></div>
<div id="employeePopupDiv" class="group-booking-popup-div">
<div id="employeeCollapsible" class="collapsible-group-booking">
@using(Html.BeginForm("AddEmployeesToGroupBooking", "Main", FormMethod.Post, new { id = "groupBookingEmployeeSelectionForm" }))
@using (Html.BeginForm("AddEmployeesToGroupBooking", "Main", FormMethod.Post, new { id = "groupBookingEmployeeSelectionForm" }))
{
var i = 0;
<table id="groupBookingEmployeeTable">
@foreach(var ma in Model.EmployeeListItems)
@foreach (var ma in Model.EmployeeListItems)
{
<tr>
<td style="width: 1px; white-space: nowrap;">
<input type="checkbox" value="@ma.Value" name="employee_@i" id="employee_@i" @if(Model.SelectedEmployees.Any(a => a.EmployeeOid == long.Parse(ma.Value))) {@Html.Raw("checked=\"checked\"")} />
<td style="width: 1%; white-space: nowrap;">
<input type="checkbox" value="@ma.Value" name="employee_@i" id="employee_@i" @if (Model.SelectedEmployees.Any(a => a.EmployeeOid == long.Parse(ma.Value))) { @Html.Raw("checked=\"checked\"") } />
</td>
<td class="group-booking-text-cell">
@ma.Text
@@ -677,6 +689,16 @@
<input type="button" onclick="addEmployees()" value="Hinzufügen" />
</div>
@{
if (!string.IsNullOrEmpty(Model.SignatureImage))
{
<div id="signatureImagePopupDivContainer" class="see-thru-popup-container-visible" onclick="hideSignatureImagePopup()"></div>
<div id="signaturePopupDiv" class="visible-popup-div" style="height: 30%; width: 90%">
<img src="@(Model.SignatureImage)" alt="Unterschrift" />
</div>
}
}
<div id="klienten">
<div class="combobox-label-parent">
@Html.LabelFor(m => m.SelectedCustomerOid)
@@ -811,13 +833,13 @@
</table>
</div>-->
</div>
<div style="padding-right: 1em;" id="kommentarContainer">
<h4 style="display: inline; color: #AB4A07;">Kommentar</h4>
<hr />
<pre data-bind="text: kommentar"></pre>
</div>
<div style="padding-right: 1em;" id="umfeldContainer">
<h4 style="display: inline; color: #AB4A07;">Umfeld</h4>
<hr />
@@ -827,47 +849,47 @@
<div style="display: none;" class="kollabierbar">
<table class="width-inheriting-table">
<tbody>
<tr class="testklasse">
<td class="customer-td">Rolle:</td>
<td class="contentTd" data-bind="text: umfrolle"></td>
</tr>
<tr class="testklasse">
<td class="customer-td">Adresse:</td>
<td class="contentTd" data-bind="text: umfstrnr"></td>
</tr>
<tr class="testklasse">
<td class="customer-td"></td>
<td class="contentTd" data-bind="text: umfplzort"></td>
</tr>
<tr class="testklasse">
<td class="customer-td">Tel.:</td>
<td class="contentTd">
<a style="color: black" data-bind="attr: { href: umftelnr, title: nurtelnr }, text: nurtelnr"></a>
</td>
</tr>
<tr class="testklasse">
<td class="customer-td">Mobil:</td>
<td class="contentTd">
<a style="color: black" data-bind="attr: { href: umfmobil, title: nurmobil }, text: nurmobil"></a>
</td>
</tr>
<tr class="testklasse">
<td class="customer-td">E-Mail</td>
<td class="contentTd">
<a style="color: black" data-bind="attr: { href: umfemail, title: nuremail }, text: nuremail"></a>
</td>
</tr>
<tr class="testklasse">
<td class="customer-td">Fax:</td>
<td class="contentTd" data-bind="text: umffax"></td>
</tr>
<tr class="testklasse">
<td class="customer-td">Rolle:</td>
<td class="contentTd" data-bind="text: umfrolle"></td>
</tr>
<tr class="testklasse">
<td class="customer-td">Adresse:</td>
<td class="contentTd" data-bind="text: umfstrnr"></td>
</tr>
<tr class="testklasse">
<td class="customer-td"></td>
<td class="contentTd" data-bind="text: umfplzort"></td>
</tr>
<tr class="testklasse">
<td class="customer-td">Tel.:</td>
<td class="contentTd">
<a style="color: black" data-bind="attr: { href: umftelnr, title: nurtelnr }, text: nurtelnr"></a>
</td>
</tr>
<tr class="testklasse">
<td class="customer-td">Mobil:</td>
<td class="contentTd">
<a style="color: black" data-bind="attr: { href: umfmobil, title: nurmobil }, text: nurmobil"></a>
</td>
</tr>
<tr class="testklasse">
<td class="customer-td">E-Mail</td>
<td class="contentTd">
<a style="color: black" data-bind="attr: { href: umfemail, title: nuremail }, text: nuremail"></a>
</td>
</tr>
<tr class="testklasse">
<td class="customer-td">Fax:</td>
<td class="contentTd" data-bind="text: umffax"></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
</div>
</div>
<div id="Kalender">
@@ -902,7 +924,7 @@
</td>
<td>
<div class="input-wrapper cell-content" style="margin-top: 1em; margin-left: .15em">
<input class="floating-label-input" id="TerminStartZeit" name="Startzeit" onchange="showUsAendern()"/>
<input class="floating-label-input" id="TerminStartZeit" name="Startzeit" onchange="showUsAendern()" />
<label class="floating-label" for="TerminStartZeit"></label>
</div>
</td>
@@ -958,8 +980,8 @@
<h4 id="validationPopupTitle" class="center-aligned-text-element" style="padding-top: 0;">Validierung</h4>
<p id="validationPopupText" class="center-aligned-text-element"></p>
<div id="validationPopupBtnDiv" class="center-aligned-text-element" style="margin: 0; padding: 0;">
<input type="button" id="validationBtn1" class="popupBtn" value="OK" onclick="submitCreationForm()" />
<input type="button" id="validationBtn2" class="popupBtn" value="Abbrechen" onclick="hideValidationPopup()" />
<input type="button" id="validationBtn1" class="popupBtn" value="OK" onclick="submitCreationForm()" />
<input type="button" id="validationBtn2" class="popupBtn" value="Abbrechen" onclick="hideValidationPopup()" />
</div>
</div>
@@ -975,31 +997,31 @@
<input class="floating-label-input" id="UnterschriftDatum" readonly name="Datum/Uhrzeit" />
<input id="SaveRecordOID" readonly name="OID" style="display: none" />
<p id="Geologie"></p>
<input type="button" style="width: 100px;" onclick="loescheUnterschrift(canvas, ctx)" value="Neu" />
<input type="button" style="width: 100px;" onclick="speichereUnterschrift()" value="Speichern" />
<input type="button" style="width: 100px;" onclick="backToZeiterfassung()" value="Abbrechen" />
</div>
<div>
<canvas id="sketchpad" height="150" style="cursor: default; border-color: black; margin-top: 1em;" width="325"></canvas>
</div>
</div>
<div id="SupportStatistik" style="display: none" align="center" >
<div id="SupportStatistik" style="display: none" align="center">
<div>
<h5 id="StatisticUberschrift" name="uberschrift"></h5>
<p id="supportConceptStatisticsProvided"></p>
<p id="supportConceptStatisticsApproved"></p>
<p id="supportConceptStatisticsFree"></p>
</div>
<div id="statisticsChartContainer">
<canvas id="myChart" scaleheight="65%" scalewidth="65%"></canvas>
<input type="button" value="Zurück" onclick="goBackToZeiterfassung(), location.reload()" style="width: 100%;" />
</div>
</div>
@@ -1045,8 +1067,9 @@
resetGroupBookingModeViaGETUrl = '@Url.Action("ResetGroupBookingModeViaGET")';
addSupportConceptCostBearerRelationsToGroupBookingUrl = '@Url.Action("AddSupportConceptCostBearerRelationsToGroupBooking")';
removeSupportConceptCostBearerRelationFromGroupBookingUrl = '@Url.Action("RemoveSupportConceptCostBearerRelationFromGroupBooking")';
addEmployeesToGroupBookingUrl = '@Url.Action("AddEmployeesToGroupBooking")';
addEmployeesToGroupBookingUrl = '@Url.Action("AddEmployeesToGroupBooking")';
resetSignatureImage = '@Url.Action("ResetSignatureImage")';
var isServiceRecordNoticeMandatory = '@(Model.IsServiceRecordNoticeMandatory)'.toLowerCase() === "true";

View File

@@ -787,5 +787,9 @@ namespace BeWo.Service.ServiceContracts
[FaultContract(typeof(BeWoFault))]
[OperationContract]
void SaveSbdConfig(SbdConfigDC config);
[FaultContract(typeof(BeWoFault))]
[OperationContract]
SignatureDC GetSignature(long pSignatureOid);
}
}

View File

@@ -5461,6 +5461,19 @@ namespace BeWo.Service.ServiceImplementations
return $"<TextBlock xmlns =\"http://schemas.microsoft.com/winfx/2006/xaml/presentation\" Grid.Row=\"0\" TextAlignment=\"Center\" FontWeight=\"Bold\" TextWrapping=\"Wrap\" Background=\"Transparent\" FontSize=\"14\" Margin=\"3\" Foreground=\"Red\" HorizontalAlignment=\"Center\" Text=\"{actualTextMessage}\"/>";
}
public SignatureDC GetSignature(long pSignatureOid)
{
try
{
var lOriginal = DAOFactory.GenericDAO.LoadByID<Signature>(pSignatureOid);
return MapperFactory.SignatureDC_Signature.MapToNewDC(lOriginal);
}
catch (Exception e)
{
throw Utils.CreateBeWoFaultException(e);
}
}
}
}