From 6868e6814581968b12db09bfdf89274d6c57d8c4 Mon Sep 17 00:00:00 2001 From: Johann Hoffmann Date: Thu, 9 Apr 2026 15:42:05 +0200 Subject: [PATCH] define datepickers to use ISO strings internally with model-type="yyyy-MM-dd" to avoid construction of new js dateobjects when deleting the value via text input, which could lead to a off by one day/timezone error when saving the date --- .../js/components/Cis/Abgabetool/AbgabeMitarbeiterDetail.js | 3 +++ public/js/components/Cis/Abgabetool/AbgabetoolAssistenz.js | 5 +++-- public/js/components/Cis/Abgabetool/AbgabetoolMitarbeiter.js | 5 +++-- 3 files changed, 9 insertions(+), 4 deletions(-) diff --git a/public/js/components/Cis/Abgabetool/AbgabeMitarbeiterDetail.js b/public/js/components/Cis/Abgabetool/AbgabeMitarbeiterDetail.js index 011e75145..9132bcfba 100644 --- a/public/js/components/Cis/Abgabetool/AbgabeMitarbeiterDetail.js +++ b/public/js/components/Cis/Abgabetool/AbgabeMitarbeiterDetail.js @@ -656,6 +656,7 @@ export const AbgabeMitarbeiterDetail = { :enable-time-picker="false" locale="de" format="dd.MM.yyyy" + model-type="yyyy-MM-dd" :text-input="true" auto-apply> @@ -806,6 +807,7 @@ export const AbgabeMitarbeiterDetail = { :enable-time-picker="false" locale="de" format="dd.MM.yyyy" + model-type="yyyy-MM-dd" :text-input="true" auto-apply> @@ -874,6 +876,7 @@ export const AbgabeMitarbeiterDetail = { :disabled="true" locale="de" format="dd.MM.yyyy" + model-type="yyyy-MM-dd" > diff --git a/public/js/components/Cis/Abgabetool/AbgabetoolAssistenz.js b/public/js/components/Cis/Abgabetool/AbgabetoolAssistenz.js index 6d93946e8..1a6e626bb 100644 --- a/public/js/components/Cis/Abgabetool/AbgabetoolAssistenz.js +++ b/public/js/components/Cis/Abgabetool/AbgabetoolAssistenz.js @@ -85,7 +85,7 @@ export const AbgabetoolAssistenz = { allowedNotenOptions: null, notenOptionsNonFinal: null, serienTermin: Vue.reactive({ - datum: new Date(), + datum: new Date().toISOString().split('T')[0], bezeichnung: { paabgabetyp_kurzbz: 'zwischen', bezeichnung: 'Zwischenabgabe' @@ -832,7 +832,7 @@ export const AbgabetoolAssistenz = { this.saving = true this.serienTermin.fixtermin = !this.serienTermin.invertedFixtermin this.$api.call(ApiAbgabe.postSerientermin( - this.serienTermin.datum.toISOString(), + this.serienTermin.datum, this.serienTermin.bezeichnung.paabgabetyp_kurzbz, this.serienTermin.bezeichnung.bezeichnung, this.serienTermin.kurzbz, @@ -1385,6 +1385,7 @@ export const AbgabetoolAssistenz = { :clearable="false" locale="de" format="dd.MM.yyyy" + model-type="yyyy-MM-dd" :enable-time-picker="false" :text-input="true" auto-apply> diff --git a/public/js/components/Cis/Abgabetool/AbgabetoolMitarbeiter.js b/public/js/components/Cis/Abgabetool/AbgabetoolMitarbeiter.js index 05feb187f..a2e88854f 100644 --- a/public/js/components/Cis/Abgabetool/AbgabetoolMitarbeiter.js +++ b/public/js/components/Cis/Abgabetool/AbgabetoolMitarbeiter.js @@ -57,7 +57,7 @@ export const AbgabetoolMitarbeiter = { allowedNotenOptions: null, notenOptionsNonFinal: null, serienTermin: Vue.reactive({ - datum: new Date(), + datum: new Date().toISOString().split('T')[0], bezeichnung: { paabgabetyp_kurzbz: 'zwischen', bezeichnung: 'Zwischenabgabe' @@ -712,7 +712,7 @@ export const AbgabetoolMitarbeiter = { addSeries() { this.saving = true this.$api.call(ApiAbgabe.postSerientermin( - this.serienTermin.datum.toISOString(), + this.serienTermin.datum, this.serienTermin.bezeichnung.paabgabetyp_kurzbz, this.serienTermin.bezeichnung.bezeichnung, this.serienTermin.kurzbz, @@ -1043,6 +1043,7 @@ export const AbgabetoolMitarbeiter = { :enable-time-picker="false" locale="de" format="dd.MM.yyyy" + model-type="yyyy-MM-dd" :text-input="true" auto-apply>