295 lines
11 KiB
JavaScript
295 lines
11 KiB
JavaScript
var currentAppointment;
|
|
var selectedAppointmentOid, selectedAppointmentSubject, selectedAppointmentNotice, selectedAppointmentStartDate, selectedAppointmentEndDate, selectedAppointmentDate;
|
|
|
|
array2 = new Array();
|
|
appointments = new Array();
|
|
|
|
function saveOnlyKalender() {
|
|
if(navigator.onLine) {
|
|
clearLocalStorage(2);
|
|
|
|
localStorage.setItem("Kalenderdaten", currentAppointment);
|
|
|
|
location.reload();
|
|
}
|
|
}
|
|
|
|
function loadAppointments(newtoday) {
|
|
$.ajax({
|
|
type: "GET",
|
|
url: loadAppointmentsUrl,
|
|
data: { newtoday: newtoday },
|
|
success: function(json) {
|
|
var kalenderRec = $.parseJSON(json);
|
|
|
|
var html = "";
|
|
|
|
$("#KalenderTable").empty();
|
|
|
|
var i = 0;
|
|
$.each(kalenderRec, function(index, termin) {
|
|
var description = termin.Subject;
|
|
var startD = termin.StartDate;
|
|
var endD = termin.EndDate;
|
|
var date = new Date(startD);
|
|
var dateend = new Date(endD);
|
|
|
|
appointments[termin.SchedulerAppointmentOid] = termin;
|
|
|
|
//html += `<tr class="testklasse"><td class="kalender-td kalender-uhrzeit">${getHoursAndMinutesWithLeadingZeros(date)} - ${getHoursAndMinutesWithLeadingZeros(dateend)}</td><td class="kalender-td" onclick="appointmentOnClick(${termin.SchedulerAppointmentOid})">${description}</td></tr>`;
|
|
html += '<tr class="testklasse"><td class="kalender-td kalender-uhrzeit">' + getHoursAndMinutesWithLeadingZeros(date) + ' - ' + getHoursAndMinutesWithLeadingZeros(dateend) + '</td><td class="kalender-td" onclick="appointmentOnClick(' + termin.SchedulerAppointmentOid + ')">' + description + '</td></tr>';
|
|
|
|
i++;
|
|
});
|
|
|
|
$("#KalenderTable").append(html);
|
|
loadBeWoTask(newtoday);
|
|
}
|
|
});
|
|
}
|
|
|
|
function appointmentOnClick(appointmentOid) {
|
|
if(appointmentOid === null) {
|
|
return;
|
|
}
|
|
|
|
var selectedAppointment = appointments[appointmentOid];
|
|
|
|
if(selectedAppointment.RecurrenceInfo !== null) {
|
|
return;
|
|
}
|
|
|
|
var startDate = new Date(selectedAppointment.StartDate);
|
|
var endDate = new Date(selectedAppointment.EndDate);
|
|
|
|
var startTime = getHoursAndMinutesWithLeadingZeros(startDate);
|
|
var endTime = getHoursAndMinutesWithLeadingZeros(endDate);
|
|
|
|
window.selectedAppointmentOid = selectedAppointment.SchedulerAppointmentOid;
|
|
|
|
$("#AppointmentEditForm").css("display", "block");
|
|
$("#KalenderTable").css("display", "none");
|
|
$("#KalenderNavigation").css("display", "none");
|
|
$("#KalenderTableTask").css("display", "none");
|
|
$("#StartDate").val(getDateStringWithLeadingZeros(startDate));
|
|
$("#EndDate").val(getDateStringWithLeadingZeros(endDate));
|
|
|
|
$("#TerminStartZeit").val(startTime);
|
|
$("#TerminEndZeit").val(endTime);
|
|
$("#TerminBetreff").val(selectedAppointment.Subject);
|
|
$("#TerminNotiz").val(selectedAppointment.Description);
|
|
|
|
$("#TerminSpeichernAbbrechen").val("Schließen");
|
|
$("#TerminSpeichern").val("Speichern");
|
|
$("#TerminSpeichern").prop("disabled", true);
|
|
$("#TerminSpeichern").css("display", "inline");
|
|
|
|
$("#InsertAppointmentButton").css("display", "none");
|
|
}
|
|
|
|
function updateSelectedAppointment() {
|
|
$.ajax({
|
|
type: "POST",
|
|
url: updateAppointmentUrl,
|
|
data: {
|
|
oid: selectedAppointmentOid,
|
|
betreff: currentAppointment.subject,
|
|
notice: currentAppointment.notice,
|
|
startZeit: currentAppointment.startTime,
|
|
endZeit: currentAppointment.endTime,
|
|
day: currentAppointment.startDate,
|
|
endDate: currentAppointment.endDate
|
|
}, success: function() {
|
|
var dp = $("#KalenderDatumFormat").val();
|
|
var dateParts = dp.split(".");
|
|
var nextdatum2 = new Date(dateParts[2], (dateParts[1] - 1), dateParts[0]);
|
|
|
|
$("#KalenderDatum").val(toDateStringYearMonthDay(nextdatum2));
|
|
$("#KalenderDatumFormat").val(dp);
|
|
|
|
$("#AppointmentEditForm").css("display", "none");
|
|
$("#KalenderTable").css("display", "block");
|
|
$("#KalenderNavigation").css("display", "block");
|
|
$("#KalenderTableTask").css("display", "block");
|
|
|
|
loadAppointments(dp);
|
|
}
|
|
});
|
|
}
|
|
|
|
function updateAppointmentOnClick() {
|
|
if(checkAppointmentFields()) {
|
|
updateSelectedAppointment();
|
|
}
|
|
}
|
|
|
|
function checkAppointmentFields() {
|
|
var newAppointmentStartDate = $("#StartDate").val();
|
|
var newAppointmentEndDate = $("#EndDate").val();
|
|
var newAppointmentStartTime = $("#TerminStartZeit").val();
|
|
var newAppointmentEndTime = $("#TerminEndZeit").val();
|
|
var newAppointmentSubject = $("#TerminBetreff").val();
|
|
|
|
if(newAppointmentStartDate === "" || newAppointmentEndDate === "" || newAppointmentStartTime === "" || newAppointmentEndTime === "" || newAppointmentSubject === "") {
|
|
writeFatalErrorMessage("Bitte geben Sie Uhrzeit und Betreff ein.");
|
|
|
|
return false;
|
|
}
|
|
|
|
currentAppointment = new Appointment(newAppointmentStartDate, newAppointmentStartTime, newAppointmentEndTime, newAppointmentSubject, $("#TerminNotiz").val(), newAppointmentEndDate);
|
|
|
|
return true;
|
|
}
|
|
|
|
function insertAppointmentOnClick() {
|
|
if(checkAppointmentFields()) {
|
|
insertNewAppointment(currentAppointment.startDate, currentAppointment.startTime, currentAppointment.endTime, currentAppointment.subject, currentAppointment.notice, currentAppointment.endDate);
|
|
}
|
|
}
|
|
|
|
function insertNewAppointmentAfterCrash(pDay, pStartTime, pEndTime, pSubject, pNotice, pEndDate) {
|
|
$.ajax({
|
|
type: "GET",
|
|
url: insertAppointmentUrl,
|
|
data: {
|
|
pStartDate: pDay,
|
|
pStartTime: pStartTime,
|
|
pEndTime: pEndTime,
|
|
pSubject: pSubject,
|
|
pNotice: pNotice,
|
|
pEndDate: pEndDate
|
|
}, success: null, error: null
|
|
});
|
|
}
|
|
|
|
function insertNewAppointment(pStartDate, pStartTime, pEndTime, pSubject, pNotice, pEndDate) {
|
|
$.ajax({
|
|
type: "GET",
|
|
url: insertAppointmentUrl,
|
|
data: {
|
|
pStartDate: pStartDate,
|
|
pStartTime: pStartTime,
|
|
pEndTime: pEndTime,
|
|
pSubject: pSubject,
|
|
pNotice: pNotice,
|
|
pEndDate: pEndDate
|
|
}, success: function() {
|
|
$("#AppointmentEditForm").css("display", "none");
|
|
$("#KalenderTable").css("display", "block");
|
|
$("#KalenderNavigation").css("display", "block");
|
|
$("#KalenderTableTask").css("display", "block");
|
|
|
|
loadAppointments(pStartDate);
|
|
}, error: function() {
|
|
/*saveOnlyKalender();*/
|
|
}
|
|
});
|
|
}
|
|
|
|
function selectDate() {
|
|
var dp = $("#KalenderDatumFormat").val();
|
|
var dateParts = dp.split(".");
|
|
var nextdatum2 = new Date(dateParts[2], (dateParts[1] - 1), dateParts[0]);
|
|
|
|
$("#KalenderDatum").val(toDateStringYearMonthDay(nextdatum2));
|
|
$("#KalenderDatumFormat").val(dp);
|
|
|
|
loadAppointments(dp);
|
|
}
|
|
|
|
function previousDayButtonClick() {
|
|
var nextdatum = new Date($("#KalenderDatum").val());
|
|
nextdatum.setDate((nextdatum.getDate() - 1));
|
|
|
|
$("#KalenderDatum").val(toDateStringYearMonthDay(nextdatum));
|
|
|
|
var newtoday = getDateStringWithLeadingZeros(nextdatum);
|
|
|
|
$("#KalenderDatumFormat").val(newtoday);
|
|
|
|
loadAppointments(newtoday);
|
|
}
|
|
|
|
function loadBeWoTask(newtoday) {
|
|
$.ajax({
|
|
type: "GET",
|
|
url: loadBewoTasksUrl,
|
|
data: { newtoday: newtoday },
|
|
success: function(json) {
|
|
var kalenderRec = $.parseJSON(json);
|
|
var html = "";
|
|
|
|
$("#KalenderTableTask").empty();
|
|
|
|
var zahl = 0;
|
|
$.each(kalenderRec, function(index, termin) {
|
|
var description = termin.Title;
|
|
var date = new Date(termin.DueDate);
|
|
|
|
if(zahl === 0) {
|
|
html += "<thead><tr><th style='width: 150px; border-bottom: solid 1px #D8D8D8;'>Aufgaben</th><th style='width: 80%; border-bottom: solid 1px #D8D8D8;'></th></tr></thead>";
|
|
}
|
|
|
|
//var minutes = date.getMinutes() < 10 ? `0${date.getMinutes().toString()}` : date.getMinutes().toString();
|
|
//var hours = date.getHours() < 10 ? `0${date.getHours().toString()}` : date.getHours().toString();
|
|
|
|
var minutes = date.getMinutes() < 10 ? '0' + date.getMinutes().toString() : date.getMinutes.toString();
|
|
var hours = date.getHours() < 10 ? '0' + date.getHours().toString() : date.getHours().toString();
|
|
|
|
var farbe = "2B508B";
|
|
//html += `<tr><td style="width: 150px; border-bottom: solid 1px #D8D8D8;">${hours.fontcolor(farbe)}:${minutes.fontcolor(farbe)} </td><td style="width: 80%; border-bottom: solid 1px #D8D8D8;">${description}</td></tr>`;
|
|
html += '<tr><td style="width: 150px; border-bottom: solid 1px #D8D8D8;">'+hours.fontcolor(farbe)+':' + minutes.fontcolor(farbe) + ' </td><td style="width: 80%; border-bottom: solid 1px #D8D8D8;">' + description + '</td></tr>';
|
|
|
|
zahl++;
|
|
});
|
|
|
|
$("#KalenderTableTask").append(html);
|
|
}
|
|
});
|
|
}
|
|
|
|
function LoadOnly(i, x) {
|
|
var serviceRecord = localStorage.getItem("Zeitdaten");
|
|
var appointment = localStorage.getItem("Kalenderdaten");
|
|
|
|
if(serviceRecord !== null || appointment !== null) {
|
|
if(serviceRecord !== null && i === 1) {
|
|
if(serviceRecord.startTime !== "" && serviceRecord.endTime !== "" && serviceRecord.duration !== "" && serviceRecord.notice !== "" && serviceRecord.supportConceptIndex !== "" && serviceRecord.date !== "") {
|
|
writeFatalErrorMessage("Es ist ein nicht gespeicherter Eintrag vorhanden. Dieser wird nun an den Server gesendet.");
|
|
|
|
setTimeout(function() {
|
|
saveZeiterfassungAfterCrash(serviceRecord.date, serviceRecord.startTime, serviceRecord.endTime, serviceRecord.duration, serviceRecord.notice, serviceRecord.serviceCategory, serviceRecord.costBearer2SupportConceptOid, serviceRecord.notice2, serviceRecord.notice3, serviceRecord.notice4, serviceRecord.notice5, serviceRecord.endDate);
|
|
clearLocalStorage(1);
|
|
showServiceRecords();
|
|
}, timeOut);
|
|
}
|
|
}
|
|
|
|
if(kalenderdata !== null && x === 2) {
|
|
if (appointment !== null && appointment.isValid()) {
|
|
writeFatalErrorMessage("Es ist ein nicht gespeicherter Kalendereintrag vorhanden. Dieser wird nun an den Server gesendet.", 1);
|
|
|
|
setTimeout(function() {
|
|
insertNewAppointmentAfterCrash(appointment.startDate, appointment.startTime, appointment.endTime, appointment.subject, appointment.notice, appointment.endDate);
|
|
clearLocalStorage(2);
|
|
showServiceRecords();
|
|
}, timeOut);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
function nextDayButtonClick() {
|
|
var nextdatum = new Date($("#KalenderDatum").val() + "T00:00:00Z");
|
|
|
|
nextdatum.setDate((nextdatum.getDate() + 1));
|
|
|
|
$("#KalenderDatum").val(toDateStringYearMonthDay(nextdatum));
|
|
|
|
var newtoday = getDateStringWithLeadingZeros(nextdatum);
|
|
|
|
$("#KalenderDatumFormat").val(newtoday);
|
|
|
|
loadAppointments(newtoday);
|
|
} |