Zeithandling im Vertretungsplan angepasst, Marker für neue Zeilen eingefügt
This commit is contained in:
parent
6250b17889
commit
420b4ef469
2 changed files with 25 additions and 15 deletions
|
@ -59,6 +59,17 @@
|
||||||
<template v-slot:item.datum></template>
|
<template v-slot:item.datum></template>
|
||||||
<template v-slot:header.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 -->
|
<!-- Darstellung der Klasse -->
|
||||||
<template v-slot:item.klassen="{ item }">
|
<template v-slot:item.klassen="{ item }">
|
||||||
<Klasse v-for="(k, i) in klassen(item.klassen)" :key="i" :id="k" />
|
<Klasse v-for="(k, i) in klassen(item.klassen)" :key="i" :id="k" />
|
||||||
|
@ -194,12 +205,12 @@ export default {
|
||||||
],
|
],
|
||||||
expanded:[],
|
expanded:[],
|
||||||
datepicker: false,
|
datepicker: false,
|
||||||
vpDatum: new Date()
|
vpDatum: new Date(),
|
||||||
|
vpDatumsgrenze: 0 // Grenze für "neue" Einträge
|
||||||
};
|
};
|
||||||
},
|
},
|
||||||
props: {
|
props: {
|
||||||
vpUrl: String, // URL der GPU014,
|
vpUrl: String, // URL der GPU014,
|
||||||
startDatum: Date
|
|
||||||
},
|
},
|
||||||
computed: {
|
computed: {
|
||||||
datumIso () {
|
datumIso () {
|
||||||
|
@ -211,6 +222,7 @@ export default {
|
||||||
},
|
},
|
||||||
set: function (val) {
|
set: function (val) {
|
||||||
this.vpDatum = new Date(val)
|
this.vpDatum = new Date(val)
|
||||||
|
this.vpDatumsgrenze = parseInt(this.vpDatum.toISOString().split('T')[0].replace(/-/g,'') + "0800")
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
today () {
|
today () {
|
||||||
|
@ -220,6 +232,17 @@ export default {
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
async reload () {
|
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
|
// 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'
|
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
|
// Abrufen
|
||||||
|
@ -237,8 +260,6 @@ export default {
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
created () {
|
created () {
|
||||||
// Startdatum festlegen
|
|
||||||
if (typeof this.startDatum !== 'undefined') this.vpDatum = this.startDatum
|
|
||||||
// Vertretungsplan neu laden
|
// Vertretungsplan neu laden
|
||||||
this.reload()
|
this.reload()
|
||||||
}
|
}
|
||||||
|
|
|
@ -41,7 +41,6 @@
|
||||||
>
|
>
|
||||||
<Vertretungsplan
|
<Vertretungsplan
|
||||||
vpUrl="/stundenplan/proxy.php?file=G014"
|
vpUrl="/stundenplan/proxy.php?file=G014"
|
||||||
:startDatum="startDatum"
|
|
||||||
/>
|
/>
|
||||||
</v-sheet>
|
</v-sheet>
|
||||||
</v-col>
|
</v-col>
|
||||||
|
@ -85,7 +84,6 @@ export default {
|
||||||
'Vertretungsplan',
|
'Vertretungsplan',
|
||||||
'Stundenpläne'
|
'Stundenpläne'
|
||||||
],
|
],
|
||||||
startDatum: new Date()
|
|
||||||
}),
|
}),
|
||||||
|
|
||||||
props: {
|
props: {
|
||||||
|
@ -97,14 +95,5 @@ export default {
|
||||||
Vertretungsplan
|
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>
|
</script>
|
Loading…
Reference in a new issue