Klassenfarben in Vertretungsplan eingefügt
This commit is contained in:
parent
209454e313
commit
f7ec7d21bd
2 changed files with 111 additions and 0 deletions
97
src/components/Klasse.vue
Normal file
97
src/components/Klasse.vue
Normal file
|
@ -0,0 +1,97 @@
|
||||||
|
<template>
|
||||||
|
<span>
|
||||||
|
<v-chip
|
||||||
|
:class="cssClass"
|
||||||
|
v-if="id !== '' && typ === 'block'"
|
||||||
|
>
|
||||||
|
{{ (oberstufe) ? '' : stufe }}{{ zug }}
|
||||||
|
</v-chip>
|
||||||
|
<v-chip
|
||||||
|
:class="cssClass"
|
||||||
|
v-if="id !== '' && typ !== 'block'"
|
||||||
|
>
|
||||||
|
{{ (oberstufe) ? '' : stufe }}{{ zug }}
|
||||||
|
</v-chip>
|
||||||
|
</span>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
export default {
|
||||||
|
name: 'Klasse',
|
||||||
|
props: {
|
||||||
|
id: String,
|
||||||
|
typ: String
|
||||||
|
},
|
||||||
|
computed: {
|
||||||
|
stufe () {
|
||||||
|
if (this.id === 'Q2') {
|
||||||
|
return 13
|
||||||
|
} else if (this.id === 'Q1') {
|
||||||
|
return 12
|
||||||
|
} else if (this.id === 'EF') {
|
||||||
|
return 11
|
||||||
|
} else {
|
||||||
|
return parseInt(this.id)
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
|
zug () {
|
||||||
|
if (this.id === 'Q2') {
|
||||||
|
return this.id
|
||||||
|
} else if (this.id === 'Q1') {
|
||||||
|
return this.id
|
||||||
|
} else if (this.id === 'EF') {
|
||||||
|
return this.id
|
||||||
|
} else {
|
||||||
|
return this.id.replace(/\d*(\w)/, '$1')
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
|
oberstufe () {
|
||||||
|
return this.stufe > 10
|
||||||
|
},
|
||||||
|
|
||||||
|
color () {
|
||||||
|
var clr = ''
|
||||||
|
|
||||||
|
if (this.stufe === 13) {
|
||||||
|
clr = 'purple lighten-3'
|
||||||
|
} else if (this.stufe === 12) {
|
||||||
|
clr = 'purple lighten-2'
|
||||||
|
} else if (this.stufe === 11) {
|
||||||
|
clr = 'purple lighten-1'
|
||||||
|
} else if (this.stufe === 10) {
|
||||||
|
clr = 'pink '
|
||||||
|
} else if (this.stufe === 9) {
|
||||||
|
clr = 'blue '
|
||||||
|
} else if (this.stufe === 8) {
|
||||||
|
clr = 'green '
|
||||||
|
} else if (this.stufe === 7) {
|
||||||
|
clr = 'amber '
|
||||||
|
} else if (this.stufe === 6) {
|
||||||
|
clr = 'orange '
|
||||||
|
} else if (this.stufe === 5) {
|
||||||
|
clr = 'red '
|
||||||
|
}
|
||||||
|
|
||||||
|
return clr
|
||||||
|
},
|
||||||
|
|
||||||
|
cssClass () {
|
||||||
|
var cls = this.color
|
||||||
|
|
||||||
|
if (this.zug === 'A') {
|
||||||
|
cls = cls + ' lighten-1'
|
||||||
|
} else if (this.zug === 'B') {
|
||||||
|
cls = cls + ' lighten-2'
|
||||||
|
} else if (this.zug === 'C') {
|
||||||
|
cls = cls + ' lighten-3'
|
||||||
|
} else if (this.zug === 'D') {
|
||||||
|
cls = cls + ' lighten-4'
|
||||||
|
}
|
||||||
|
|
||||||
|
return cls
|
||||||
|
},
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</script>
|
|
@ -59,6 +59,11 @@
|
||||||
<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 Klasse -->
|
||||||
|
<template v-slot:item.klassen="{ item }">
|
||||||
|
<Klasse v-for="(k, i) in klassen(item.klassen)" :key="i" :id="k" />
|
||||||
|
</template>
|
||||||
|
|
||||||
<!-- Darstellung der Vertretungsart -->
|
<!-- Darstellung der Vertretungsart -->
|
||||||
<template v-slot:item.art_vertretung="{ item }">
|
<template v-slot:item.art_vertretung="{ item }">
|
||||||
{{ vertretungsart(item.art_vertretung) }}
|
{{ vertretungsart(item.art_vertretung) }}
|
||||||
|
@ -81,6 +86,8 @@
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
|
import Klasse from '@/components/Klasse.vue'
|
||||||
|
|
||||||
var vertretungsarten = {
|
var vertretungsarten = {
|
||||||
'T': 'verlegt',
|
'T': 'verlegt',
|
||||||
'F': 'verlegt von',
|
'F': 'verlegt von',
|
||||||
|
@ -96,8 +103,12 @@ var vertretungsarten = {
|
||||||
'E': 'Klausur',
|
'E': 'Klausur',
|
||||||
'': 'Vertretung'
|
'': 'Vertretung'
|
||||||
}
|
}
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
name: 'Vertretungsplan',
|
name: 'Vertretungsplan',
|
||||||
|
components: {
|
||||||
|
Klasse
|
||||||
|
},
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
vp: [],
|
vp: [],
|
||||||
|
@ -221,6 +232,9 @@ export default {
|
||||||
vertretungsart (code) {
|
vertretungsart (code) {
|
||||||
return vertretungsarten[code]
|
return vertretungsarten[code]
|
||||||
},
|
},
|
||||||
|
klassen (klassenString) {
|
||||||
|
return klassenString.split('~')
|
||||||
|
}
|
||||||
},
|
},
|
||||||
created () {
|
created () {
|
||||||
// Startdatum festlegen
|
// Startdatum festlegen
|
||||||
|
|
Loading…
Reference in a new issue