Zeithandling im Vertretungsplan angepasst, Marker für neue Zeilen eingefügt

This commit is contained in:
Daniel Spittank 2021-11-14 22:44:38 +01:00
parent 6250b17889
commit 420b4ef469
2 changed files with 25 additions and 15 deletions

View file

@ -59,6 +59,17 @@
<template v-slot:item.datum></template>
<template v-slot:header.datum></template>
<!-- Darstellung der Stunde (inkl. Badge für neue Einträge) -->
<template v-slot:item.stunde="{ item }">
<v-badge
color="yellow"
dot
:value="item.letzte_aenderung > vpDatumsgrenze"
>
{{ item.stunde }}
</v-badge>
</template>
<!-- Darstellung der Klasse -->
<template v-slot:item.klassen="{ item }">
<Klasse v-for="(k, i) in klassen(item.klassen)" :key="i" :id="k" />
@ -194,12 +205,12 @@ export default {
],
expanded:[],
datepicker: false,
vpDatum: new Date()
vpDatum: new Date(),
vpDatumsgrenze: 0 // Grenze für "neue" Einträge
};
},
props: {
vpUrl: String, // URL der GPU014,
startDatum: Date
},
computed: {
datumIso () {
@ -211,6 +222,7 @@ export default {
},
set: function (val) {
this.vpDatum = new Date(val)
this.vpDatumsgrenze = parseInt(this.vpDatum.toISOString().split('T')[0].replace(/-/g,'') + "0800")
}
},
today () {
@ -220,6 +232,17 @@ export default {
},
methods: {
async reload () {
// Datum aktualisieren
this.vpDatum = new Date()
this.vpDatumsgrenze = parseInt(this.vpDatum.toISOString().split('T')[0].replace(/-/g,'') + "0800")
// Wochenenden überspringen
if (this.vpDatum.getDay() === 6) {
// Samstag => Montag
this.vpDatum.setDate(this.vpDatum.getDate() + 2)
} else if (this.vpDatum.getDay() === 0) {
// Sonntag => Montag
this.vpDatum.setDate(this.vpDatum.getDate() + 1)
}
// Feldnamen definieren
const vpHeader = 'nr,datum,stunde,absenznr,id_unterricht,lehrkraft,lehrkraft_vertretung,fach,fach_statistik_id,fach_vertretung,fach_vertretung_statistik_id,raum,raum_vertretung,statistik_id,klassen,absenzgrund,anmerkung,art,klassen_vertretung,art_vertretung,letzte_aenderung,extra\n'
// Abrufen
@ -237,8 +260,6 @@ export default {
}
},
created () {
// Startdatum festlegen
if (typeof this.startDatum !== 'undefined') this.vpDatum = this.startDatum
// Vertretungsplan neu laden
this.reload()
}

View file

@ -41,7 +41,6 @@
>
<Vertretungsplan
vpUrl="/stundenplan/proxy.php?file=G014"
:startDatum="startDatum"
/>
</v-sheet>
</v-col>
@ -85,7 +84,6 @@ export default {
'Vertretungsplan',
'Stundenpläne'
],
startDatum: new Date()
}),
props: {
@ -97,14 +95,5 @@ export default {
Vertretungsplan
},
created: function () {
if (this.startDatum.getDay() === 6) {
// Samstag => Montag
this.startDatum.setDate(this.startDatum.getDate() + 2)
} else if (this.startDatum.getDay() === 0) {
// Sonntag => Montag
this.startDatum.setDate(this.startDatum.getDate() + 1)
}
}
}
</script>