diff --git a/src/components/CreateEditComponents/CreateCourse.vue b/src/components/CreateEditComponents/CreateCourse.vue new file mode 100644 index 0000000000000000000000000000000000000000..9fa43533265463c93dc8845e31ffeeffc0824e80 --- /dev/null +++ b/src/components/CreateEditComponents/CreateCourse.vue @@ -0,0 +1,196 @@ +<template> + <div> + <div class="row col-md-12"> + <div id="content" class="content col-md-12"> + <form @submit="validateBeforeSubmit" class="col-md-10" style="margin-bottom: 20px"> + {{message}} + <div class="form-row"> + <div class="col-md-11 mb-3"> + <h1 class="formTitle" style="margin-top: 30px">Angebotsnummer</h1> + <div class="input_container"> + <input v-model="course.coursenumber" type="text" class="form-control inputField" placeholder="Angebotsnummer" aria-label="angebotsnummer" required> + </div> + </div> + </div> + <div class="form-row"> + <div class="col-md-11 mb-3"> + <h1 class="formTitle">Angebot</h1> + <div class="input_container"> + <input v-model="course.courseoffer" type="text" class="form-control inputField" placeholder="Angebot" aria-label="courseoffer" required> + </div> + </div> + </div> + <div class="form-row"> + <div class="col-md-11 mb-3"> + <h1 class="formTitle" style="margin-top: 10px">Kursname</h1> + <div class="input_container"> + <input v-model="course.coursename" type="text" class="form-control inputField" placeholder="Kursname" aria-label="coursename" required> + </div> + </div> + </div> + <div class="form-row"> + <div class="col-md-11 mb-3"> + <h1 class="formTitle" style="margin-top: 30px">Veranstaltungsart</h1> + <div class="input_container"> + <input v-model="course.eventtype" type="text" class="form-control inputField" placeholder="Veranstaltungsart" aria-label="eventtype" required> + </div> + </div> + </div> + <div class="form-row"> + <div class="col-md-11 mb-3"> + <h1 class="formTitle" style="margin-top: 10px">Kursdatum (yyyy-mm-dd)</h1> + <div class="input_container"> + <input name="coursedate" v-model="course.coursedate" class="form-control inputField" placeholder="Kursdatum" aria-label="coursedate" required> + </div> + </div> + </div> + <div class="form-row"> + <div class="col-md-11 mb-3"> + <h1 class="formTitle" style="margin-top: 10px">Thema</h1> + <div class="input_container"> + <input name="topic" v-model="course.topic" class="form-control inputField" placeholder="Thema" aria-label="topic" required> + </div> + </div> + </div> + <div class="form-row"> + <div class="col-md-11 mb-3"> + <h1 class="formTitle" style="margin-top: 10px">Kursort</h1> + <div class="input_container"> + <input name="courselocation" v-model="course.courselocation" class="form-control inputField" placeholder="Kursort" aria-label="courselocation" required> + </div> + </div> + </div> + <div class="form-row"> + <div class="col-md-11 mb-3"> + <h1 class="formTitle" style="margin-top: 10px">Begleitende Lehrkraft</h1> + <div class="input_container"> + <input name="accompanyingteacher" v-model="course.accompanyingteacher" class="form-control inputField" placeholder="Begleitende Lehrkraft" aria-label="accompanyingteacher" required> + </div> + </div> + </div> + <div class="form-row"> + <div class="col-md-11 mb-3"> + <h1 class="formTitle" style="margin-top: 10px">Betreuende Studenten</h1> + <div class="input_container"> + <input name="supervisingstudents" v-model="course.supervisingstudents" class="form-control inputField" placeholder="Betreuende Studenten" aria-label="supervisingstudents" required> + </div> + </div> + </div> + <div class="form-row"> + <div class="col-md-11 mb-3"> + <h1 class="formTitle" style="margin-top: 10px">Anzahl der Anwesenden</h1> + <div class="input_container"> + <input name="presentstudents" v-model="course.presentstudents" class="form-control inputField" placeholder="Anzahl der Anwesenden" aria-label="presentstudents" required> + </div> + </div> + </div> + <div class="form-row"> + <div class="col-md-11 mb-3"> + <h1 class="formTitle" style="margin-top: 10px">Anzahl der Angemeldeten</h1> + <div class="input_container"> + <input name="registeredstudents" v-model="course.registeredstudents" class="form-control inputField" placeholder="Anzahl der Angemeldeten" aria-label="registeredstudents" required> + </div> + </div> + </div> + <div class="form-row"> + <div class="col-md-11 mb-3"> + <h1 class="formTitle" style="margin-top: 10px">Kursleiter</h1> + <div class="input_container"> + <input name="instructor" v-model="course.instructor" class="form-control inputField" placeholder="Kursleiter" aria-label="instructor" required> + </div> + </div> + </div> + <div class="form-row"> + <div class="col-md-11 mb-3"> + <h1 class="formTitle" style="margin-top: 10px">Notiz</h1> + <div class="input_container"> + <input name="notefield" v-model="course.notefield" class="form-control inputField" placeholder="Notiz" aria-label="notefield" required> + </div> + </div> + </div> + <div class="form-row"> + <div class="col-md-11 mb-3"> + <button class="btn btn-primary btn-lg btn-block" style="margin-top: 20px; border-radius: 10px" type="button" @click="validateBeforeSubmit">Eintrag hinzufügen</button> + </div> + </div> h + <div class="row"> + <div class="col-md-12 mb-3"> + </div> + </div> + </form> + </div> + </div> + </div> +</template> + +<script> + import Course from "@/models/course"; + + export default { + name: "CreateCourse.vue", + + data(){ + return { + message: "", + course: new Course('', '', '', '', '', '', '', '', '', '', '', '', ''), + } + }, + + methods: { + validateBeforeSubmit() { + this.$validator.validate().then(isValid => { + if (isValid) { + console.log("isvalid") + this.$store.dispatch('course/insert', this.course).then( + data => { + this.message = data.message; + this.successful = true; + }, + error => { + this.message = (error.response && error.response.data) || error.message || error.toString(); + this.successful = false; + } + ); + } else { + + console.log("not isvalid") + } + }); + } + } + } +</script> + +<style scoped> + div.content { + background-color: whitesmoke; + position: fixed; + padding: 1px 16px; + height: 1000px; + overflow-y: auto; + } + + .formTitle { + font-size: 14px; + font-weight: 500; + color: #6B6C6F; + } + + .inputField { + height: 44px; + margin-top: 10px; + padding-left: 70px; + padding-right: 70px; + border-color: #DFE2E6; + border-width: 2px; + border-radius: 10px; + } + + .input_container { + position:relative; + } + + .btn { + margin-bottom: 200px; + } +</style> diff --git a/src/components/DynamicTable.vue b/src/components/DynamicTable.vue index 00740e06d162907cf859852b353d8542e85440af..02bb7b07a1dc723421f1a7cf4d32aa85afbd37a4 100644 --- a/src/components/DynamicTable.vue +++ b/src/components/DynamicTable.vue @@ -6,6 +6,7 @@ <input id="inpt_search" v-model="filter" type="text" class="search__input" placeholder="Suchen..." /> </div> <div class="entry_box-inner"> + <a href="src/components/CreateEditComponents/CreateCourse.vue"><button>neuen Eintrag hinzufügen</button></a> </div> </div> <table id="Table"> @@ -21,10 +22,12 @@ <th v-on:click="sortTable('kursname')"><img id="imgsortkursname" :src="require('../assets/'+sortImg)">Kursname</th> <th v-on:click="sortTable('veranstaltungsart')"><img id="imgsortveranstaltungsort" :src="require('../assets/'+sortImg)">Veranstaltungsart</th> <th v-on:click="sortTable('kursdatum')"><img id="imgsortkursdatum" :src="require('../assets/'+sortImg)">Kursdatum</th> + <th v-on:click="sortTable('thema')"><img id="imgsortthema" :src="require('../assets/'+sortImg)">Thema</th> <th v-on:click="sortTable('kursort')"><img id="imgsortkursort" :src="require('../assets/'+sortImg)">Kursort</th> <th v-on:click="sortTable('begleitendeLehrkraft')"><img id="imgsortbegleitendeLehrkraft" :src="require('../assets/'+sortImg)">begleitende Lehrkraft</th> <th v-on:click="sortTable('betreuendeStudenten')"><img id="imgsortbetreuendeStudenten" :src="require('../assets/'+sortImg)">betreuende Studenten</th> <th v-on:click="sortTable('anzahlderAnwesenden')"><img id="imgsortanzahlderAnwesenden" :src="require('../assets/'+sortImg)">Anzahl der Anwesenden</th> + <th v-on:click="sortTable('anzahlderAngemeldeten')"><img id="imgsortanzahlderAngemeldeten" :src="require('../assets/'+sortImg)">Anzahl der Angemeldeten</th> <th v-on:click="sortTable('kursleiter')"><img id="imgsortkursleiter" :src="require('../assets/'+sortImg)">Kursleiter</th> <th v-on:click="sortTable('notiz')"><img id="imgsortnotiz" :src="require('../assets/'+sortImg)">Notiz</th> </tr> @@ -40,10 +43,12 @@ <td style="padding-right:200px;">{{row.kursname}}</td> <td>{{row.veranstaltungsart}}</td> <td>{{row.kursdatum}}</td> + <td>{{row.thema}}</td> <td style="padding-right:200px;">{{row.kursort}}</td> <td>{{row.begleitendeLehrkraft}}</td> <td>{{row.betreuendeStudenten}}</td> <td>{{row.anzahlderAnwesenden}}</td> + <td>{{row.anzahlderAngemeldeten}}</td> <td>{{row.kursleiter}}</td> <td style="padding-right:300px;">{{row.notiz}}</td> </tr> @@ -57,11 +62,11 @@ export default { data: function() { return { rows: [ - {angebotsnummer: 232, angebot: "Biologie", kursname: 'Neurobiologie', veranstaltungsart: 'regulärer Kurs', kursdatum: '23.08.2020', kursort: 'T9 Hörsaal', begleitendeLehrkraft: 'Frau Muster', betreuendeStudenten: 'Max Miller', anzahlderAnwesenden: '34', kursleiter: 'Frau Test', notiz: ''}, - {angebotsnummer: 23342, angebot: "ABiologie", kursname: 'bNeukkkrobiologie', veranstaltungsart: 'regulärer Kurs', kursdatum: '22.08.2020', kursort: 'T9 Hörsaal', begleitendeLehrkraft: 'Frau Muster', betreuendeStudenten: 'Max Miller', anzahlderAnwesenden: '34', kursleiter: 'Frau Test', notiz: ''}, - {angebotsnummer: 22, angebot: "Ciologie", kursname: 'ANeurobkiologie', veranstaltungsart: 'regulärer Kurs', kursdatum: '21.08.2020', kursort: 'T9 Hörsaal', begleitendeLehrkraft: 'Frau Muster', betreuendeStudenten: 'Max Miller', anzahlderAnwesenden: '34', kursleiter: 'Frau Test', notiz: ''}, - {angebotsnummer: 1342, angebot: "Diologie", kursname: 'cNeukkkrobiologie', veranstaltungsart: 'regulärer Kurs', kursdatum: '23.07.2020', kursort: 'T9 Hörsaal', begleitendeLehrkraft: 'Frau Muster', betreuendeStudenten: 'Max Miller', anzahlderAnwesenden: '34', kursleiter: 'Frau Test', notiz: ''}, - {angebotsnummer: 132, angebot: "Bdologie", kursname: 'eNeurobiologie', veranstaltungsart: 'regulärer Kurs', kursdatum: '23.08.2021', kursort: 'T9 Hörsaal', begleitendeLehrkraft: 'Frau Muster', betreuendeStudenten: 'Max Miller', anzahlderAnwesenden: '34', kursleiter: 'Frau Test', notiz: ''}, + {angebotsnummer: 232, angebot: "Biologie", kursname: 'Neurobiologie', veranstaltungsart: 'regulärer Kurs', kursdatum: '23.08.2020', thema: '', kursort: 'T9 Hörsaal', begleitendeLehrkraft: 'Frau Muster', betreuendeStudenten: 'Max Miller', anzahlderAnwesenden: '34', anzahlderAngemeldeten: '12', kursleiter: 'Frau Test', notiz: ''}, + {angebotsnummer: 23342, angebot: "ABiologie", kursname: 'bNeukkkrobiologie', veranstaltungsart: 'regulärer Kurs', kursdatum: '22.08.2020', thema: '', kursort: 'T9 Hörsaal', begleitendeLehrkraft: 'Frau Muster', betreuendeStudenten: 'Max Miller', anzahlderAnwesenden: '34', anzahlderAngemeldeten: '12', kursleiter: 'Frau Test', notiz: ''}, + {angebotsnummer: 22, angebot: "Ciologie", kursname: 'ANeurobkiologie', veranstaltungsart: 'regulärer Kurs', kursdatum: '21.08.2020', thema: '', kursort: 'T9 Hörsaal', begleitendeLehrkraft: 'Frau Muster', betreuendeStudenten: 'Max Miller', anzahlderAnwesenden: '34', anzahlderAngemeldeten: '12', kursleiter: 'Frau Test', notiz: ''}, + {angebotsnummer: 1342, angebot: "Diologie", kursname: 'cNeukkkrobiologie', veranstaltungsart: 'regulärer Kurs', kursdatum: '23.07.2020', thema: '', kursort: 'T9 Hörsaal', begleitendeLehrkraft: 'Frau Muster', betreuendeStudenten: 'Max Miller', anzahlderAnwesenden: '34', anzahlderAngemeldeten: '12', kursleiter: 'Frau Test', notiz: ''}, + {angebotsnummer: 132, angebot: "Bdologie", kursname: 'eNeurobiologie', veranstaltungsart: 'regulärer Kurs', kursdatum: '23.08.2021', thema: '', kursort: 'T9 Hörsaal', begleitendeLehrkraft: 'Frau Muster', betreuendeStudenten: 'Max Miller', anzahlderAnwesenden: '34', anzahlderAngemeldeten: '12', kursleiter: 'Frau Test', notiz: ''}, ], filter:'', currentSort:'angebotsnummer', @@ -82,10 +87,12 @@ export default { document.getElementById("imgsortkursname").src = require('../assets/sort_def.svg'); document.getElementById("imgsortveranstaltungsort").src = require('../assets/sort_def.svg'); document.getElementById("imgsortkursdatum").src = require('../assets/sort_def.svg'); + document.getElementById("imgsortthema").src = require('../assets/sort_def.svg'); document.getElementById("imgsortkursort").src = require('../assets/sort_def.svg'); document.getElementById("imgsortbegleitendeLehrkraft").src = require('../assets/sort_def.svg'); document.getElementById("imgsortbetreuendeStudenten").src = require('../assets/sort_def.svg'); document.getElementById("imgsortanzahlderAnwesenden").src = require('../assets/sort_def.svg'); + document.getElementById("imgsortanzahlderAngemeldeten").src = require('../assets/sort_def.svg'); document.getElementById("imgsortkursleiter").src = require('../assets/sort_def.svg'); document.getElementById("imgsortnotiz").src = require('../assets/sort_def.svg'); break; @@ -95,10 +102,12 @@ export default { document.getElementById("imgsortkursname").src = require('../assets/sort_def.svg'); document.getElementById("imgsortveranstaltungsort").src = require('../assets/sort_def.svg'); document.getElementById("imgsortkursdatum").src = require('../assets/sort_def.svg'); + document.getElementById("imgsortthema").src = require('../assets/sort_def.svg'); document.getElementById("imgsortkursort").src = require('../assets/sort_def.svg'); document.getElementById("imgsortbegleitendeLehrkraft").src = require('../assets/sort_def.svg'); document.getElementById("imgsortbetreuendeStudenten").src = require('../assets/sort_def.svg'); document.getElementById("imgsortanzahlderAnwesenden").src = require('../assets/sort_def.svg'); + document.getElementById("imgsortanzahlderAngemeldeten").src = require('../assets/sort_def.svg'); document.getElementById("imgsortkursleiter").src = require('../assets/sort_def.svg'); document.getElementById("imgsortnotiz").src = require('../assets/sort_def.svg'); break; @@ -108,10 +117,12 @@ export default { document.getElementById("imgsortangebot").src = require('../assets/sort_def.svg'); document.getElementById("imgsortveranstaltungsort").src = require('../assets/sort_def.svg'); document.getElementById("imgsortkursdatum").src = require('../assets/sort_def.svg'); + document.getElementById("imgsortthema").src = require('../assets/sort_def.svg'); document.getElementById("imgsortkursort").src = require('../assets/sort_def.svg'); document.getElementById("imgsortbegleitendeLehrkraft").src = require('../assets/sort_def.svg'); document.getElementById("imgsortbetreuendeStudenten").src = require('../assets/sort_def.svg'); document.getElementById("imgsortanzahlderAnwesenden").src = require('../assets/sort_def.svg'); + document.getElementById("imgsortanzahlderAngemeldeten").src = require('../assets/sort_def.svg'); document.getElementById("imgsortkursleiter").src = require('../assets/sort_def.svg'); document.getElementById("imgsortnotiz").src = require('../assets/sort_def.svg'); break; @@ -121,10 +132,12 @@ export default { document.getElementById("imgsortangebot").src = require('../assets/sort_def.svg'); document.getElementById("imgsortkursname").src = require('../assets/sort_def.svg'); document.getElementById("imgsortkursdatum").src = require('../assets/sort_def.svg'); + document.getElementById("imgsortthema").src = require('../assets/sort_def.svg'); document.getElementById("imgsortkursort").src = require('../assets/sort_def.svg'); document.getElementById("imgsortbegleitendeLehrkraft").src = require('../assets/sort_def.svg'); document.getElementById("imgsortbetreuendeStudenten").src = require('../assets/sort_def.svg'); document.getElementById("imgsortanzahlderAnwesenden").src = require('../assets/sort_def.svg'); + document.getElementById("imgsortanzahlderAngemeldeten").src = require('../assets/sort_def.svg'); document.getElementById("imgsortkursleiter").src = require('../assets/sort_def.svg'); document.getElementById("imgsortnotiz").src = require('../assets/sort_def.svg'); break; @@ -134,10 +147,26 @@ export default { document.getElementById("imgsortangebot").src = require('../assets/sort_def.svg'); document.getElementById("imgsortkursname").src = require('../assets/sort_def.svg'); document.getElementById("imgsortveranstaltungsort").src = require('../assets/sort_def.svg'); + document.getElementById("imgsortthema").src = require('../assets/sort_def.svg'); document.getElementById("imgsortkursort").src = require('../assets/sort_def.svg'); document.getElementById("imgsortbegleitendeLehrkraft").src = require('../assets/sort_def.svg'); document.getElementById("imgsortbetreuendeStudenten").src = require('../assets/sort_def.svg'); document.getElementById("imgsortanzahlderAnwesenden").src = require('../assets/sort_def.svg'); + document.getElementById("imgsortanzahlderAngemeldeten").src = require('../assets/sort_def.svg'); + document.getElementById("imgsortkursleiter").src = require('../assets/sort_def.svg'); + document.getElementById("imgsortnotiz").src = require('../assets/sort_def.svg'); + break; + case 'thema': + document.getElementById("imgsortthema").src = require('../assets/sort_asc.svg'); + document.getElementById("imgsortangebotsnummer").src = require('../assets/sort_def.svg'); + document.getElementById("imgsortangebot").src = require('../assets/sort_def.svg'); + document.getElementById("imgsortkursname").src = require('../assets/sort_def.svg'); + document.getElementById("imgsortveranstaltungsort").src = require('../assets/sort_def.svg'); + document.getElementById("imgsortkursdatum").src = require('../assets/sort_def.svg'); + document.getElementById("imgsortbegleitendeLehrkraft").src = require('../assets/sort_def.svg'); + document.getElementById("imgsortbetreuendeStudenten").src = require('../assets/sort_def.svg'); + document.getElementById("imgsortanzahlderAnwesenden").src = require('../assets/sort_def.svg'); + document.getElementById("imgsortanzahlderAngemeldeten").src = require('../assets/sort_def.svg'); document.getElementById("imgsortkursleiter").src = require('../assets/sort_def.svg'); document.getElementById("imgsortnotiz").src = require('../assets/sort_def.svg'); break; @@ -148,9 +177,11 @@ export default { document.getElementById("imgsortkursname").src = require('../assets/sort_def.svg'); document.getElementById("imgsortveranstaltungsort").src = require('../assets/sort_def.svg'); document.getElementById("imgsortkursdatum").src = require('../assets/sort_def.svg'); + document.getElementById("imgsortthema").src = require('../assets/sort_def.svg'); document.getElementById("imgsortbegleitendeLehrkraft").src = require('../assets/sort_def.svg'); document.getElementById("imgsortbetreuendeStudenten").src = require('../assets/sort_def.svg'); document.getElementById("imgsortanzahlderAnwesenden").src = require('../assets/sort_def.svg'); + document.getElementById("imgsortanzahlderAngemeldeten").src = require('../assets/sort_def.svg'); document.getElementById("imgsortkursleiter").src = require('../assets/sort_def.svg'); document.getElementById("imgsortnotiz").src = require('../assets/sort_def.svg'); break; @@ -161,9 +192,11 @@ export default { document.getElementById("imgsortkursname").src = require('../assets/sort_def.svg'); document.getElementById("imgsortveranstaltungsort").src = require('../assets/sort_def.svg'); document.getElementById("imgsortkursdatum").src = require('../assets/sort_def.svg'); + document.getElementById("imgsortthema").src = require('../assets/sort_def.svg'); document.getElementById("imgsortkursort").src = require('../assets/sort_def.svg'); document.getElementById("imgsortbetreuendeStudenten").src = require('../assets/sort_def.svg'); document.getElementById("imgsortanzahlderAnwesenden").src = require('../assets/sort_def.svg'); + document.getElementById("imgsortanzahlderAngemeldeten").src = require('../assets/sort_def.svg'); document.getElementById("imgsortkursleiter").src = require('../assets/sort_def.svg'); document.getElementById("imgsortnotiz").src = require('../assets/sort_def.svg'); break; @@ -174,9 +207,11 @@ export default { document.getElementById("imgsortkursname").src = require('../assets/sort_def.svg'); document.getElementById("imgsortveranstaltungsort").src = require('../assets/sort_def.svg'); document.getElementById("imgsortkursdatum").src = require('../assets/sort_def.svg'); + document.getElementById("imgsortthema").src = require('../assets/sort_def.svg'); document.getElementById("imgsortkursort").src = require('../assets/sort_def.svg'); document.getElementById("imgsortbegleitendeLehrkraft").src = require('../assets/sort_def.svg'); document.getElementById("imgsortanzahlderAnwesenden").src = require('../assets/sort_def.svg'); + document.getElementById("imgsortanzahlderAngemeldeten").src = require('../assets/sort_def.svg'); document.getElementById("imgsortkursleiter").src = require('../assets/sort_def.svg'); document.getElementById("imgsortnotiz").src = require('../assets/sort_def.svg'); break; @@ -187,9 +222,26 @@ export default { document.getElementById("imgsortkursname").src = require('../assets/sort_def.svg'); document.getElementById("imgsortveranstaltungsort").src = require('../assets/sort_def.svg'); document.getElementById("imgsortkursdatum").src = require('../assets/sort_def.svg'); + document.getElementById("imgsortthema").src = require('../assets/sort_def.svg'); document.getElementById("imgsortkursort").src = require('../assets/sort_def.svg'); document.getElementById("imgsortbegleitendeLehrkraft").src = require('../assets/sort_def.svg'); document.getElementById("imgsortbetreuendeStudenten").src = require('../assets/sort_def.svg'); + document.getElementById("imgsortanzahlderAngemeldeten").src = require('../assets/sort_def.svg'); + document.getElementById("imgsortkursleiter").src = require('../assets/sort_def.svg'); + document.getElementById("imgsortnotiz").src = require('../assets/sort_def.svg'); + break; + case 'anzahlderAngemeldeten': + document.getElementById("imgsortanzahlderAngemeldeten").src = require('../assets/sort_asc.svg'); + document.getElementById("imgsortangebotsnummer").src = require('../assets/sort_def.svg'); + document.getElementById("imgsortangebot").src = require('../assets/sort_def.svg'); + document.getElementById("imgsortkursname").src = require('../assets/sort_def.svg'); + document.getElementById("imgsortveranstaltungsort").src = require('../assets/sort_def.svg'); + document.getElementById("imgsortkursdatum").src = require('../assets/sort_def.svg'); + document.getElementById("imgsortthema").src = require('../assets/sort_def.svg'); + document.getElementById("imgsortkursort").src = require('../assets/sort_def.svg'); + document.getElementById("imgsortbegleitendeLehrkraft").src = require('../assets/sort_def.svg'); + document.getElementById("imgsortbetreuendeStudenten").src = require('../assets/sort_def.svg'); + document.getElementById("imgsortanzahlderAnwesenden").src = require('../assets/sort_def.svg'); document.getElementById("imgsortkursleiter").src = require('../assets/sort_def.svg'); document.getElementById("imgsortnotiz").src = require('../assets/sort_def.svg'); break; @@ -200,10 +252,12 @@ export default { document.getElementById("imgsortkursname").src = require('../assets/sort_def.svg'); document.getElementById("imgsortveranstaltungsort").src = require('../assets/sort_def.svg'); document.getElementById("imgsortkursdatum").src = require('../assets/sort_def.svg'); + document.getElementById("imgsortthema").src = require('../assets/sort_def.svg'); document.getElementById("imgsortkursort").src = require('../assets/sort_def.svg'); document.getElementById("imgsortbegleitendeLehrkraft").src = require('../assets/sort_def.svg'); document.getElementById("imgsortbetreuendeStudenten").src = require('../assets/sort_def.svg'); document.getElementById("imgsortanzahlderAnwesenden").src = require('../assets/sort_def.svg'); + document.getElementById("imgsortanzahlderAngemeldeten").src = require('../assets/sort_def.svg'); document.getElementById("imgsortnotiz").src = require('../assets/sort_def.svg'); break; case 'notiz': @@ -213,11 +267,13 @@ export default { document.getElementById("imgsortkursname").src = require('../assets/sort_def.svg'); document.getElementById("imgsortveranstaltungsort").src = require('../assets/sort_def.svg'); document.getElementById("imgsortkursdatum").src = require('../assets/sort_def.svg'); + document.getElementById("imgsortthema").src = require('../assets/sort_def.svg'); document.getElementById("imgsortkursort").src = require('../assets/sort_def.svg'); document.getElementById("imgsortbegleitendeLehrkraft").src = require('../assets/sort_def.svg'); document.getElementById("imgsortbetreuendeStudenten").src = require('../assets/sort_def.svg'); document.getElementById("imgsortanzahlderAnwesenden").src = require('../assets/sort_def.svg'); document.getElementById("imgsortkursleiter").src = require('../assets/sort_def.svg'); + document.getElementById("imgsortanzahlderAngemeldeten").src = require('../assets/sort_def.svg'); break; } @@ -247,10 +303,12 @@ export default { document.getElementById("imgsortkursname").src = require('../assets/sort_def.svg'); document.getElementById("imgsortveranstaltungsort").src = require('../assets/sort_def.svg'); document.getElementById("imgsortkursdatum").src = require('../assets/sort_def.svg'); + document.getElementById("imgsortthema").src = require('../assets/sort_def.svg'); document.getElementById("imgsortkursort").src = require('../assets/sort_def.svg'); document.getElementById("imgsortbegleitendeLehrkraft").src = require('../assets/sort_def.svg'); document.getElementById("imgsortbetreuendeStudenten").src = require('../assets/sort_def.svg'); document.getElementById("imgsortanzahlderAnwesenden").src = require('../assets/sort_def.svg'); + document.getElementById("imgsortanzahlderAngemeldeten").src = require('../assets/sort_def.svg'); document.getElementById("imgsortkursleiter").src = require('../assets/sort_def.svg'); document.getElementById("imgsortnotiz").src = require('../assets/sort_def.svg'); break; @@ -260,10 +318,12 @@ export default { document.getElementById("imgsortkursname").src = require('../assets/sort_def.svg'); document.getElementById("imgsortveranstaltungsort").src = require('../assets/sort_def.svg'); document.getElementById("imgsortkursdatum").src = require('../assets/sort_def.svg'); + document.getElementById("imgsortthema").src = require('../assets/sort_def.svg'); document.getElementById("imgsortkursort").src = require('../assets/sort_def.svg'); document.getElementById("imgsortbegleitendeLehrkraft").src = require('../assets/sort_def.svg'); document.getElementById("imgsortbetreuendeStudenten").src = require('../assets/sort_def.svg'); document.getElementById("imgsortanzahlderAnwesenden").src = require('../assets/sort_def.svg'); + document.getElementById("imgsortanzahlderAngemeldeten").src = require('../assets/sort_def.svg'); document.getElementById("imgsortkursleiter").src = require('../assets/sort_def.svg'); document.getElementById("imgsortnotiz").src = require('../assets/sort_def.svg'); break; @@ -273,10 +333,12 @@ export default { document.getElementById("imgsortangebot").src = require('../assets/sort_def.svg'); document.getElementById("imgsortveranstaltungsort").src = require('../assets/sort_def.svg'); document.getElementById("imgsortkursdatum").src = require('../assets/sort_def.svg'); + document.getElementById("imgsortthema").src = require('../assets/sort_def.svg'); document.getElementById("imgsortkursort").src = require('../assets/sort_def.svg'); document.getElementById("imgsortbegleitendeLehrkraft").src = require('../assets/sort_def.svg'); document.getElementById("imgsortbetreuendeStudenten").src = require('../assets/sort_def.svg'); document.getElementById("imgsortanzahlderAnwesenden").src = require('../assets/sort_def.svg'); + document.getElementById("imgsortanzahlderAngemeldeten").src = require('../assets/sort_def.svg'); document.getElementById("imgsortkursleiter").src = require('../assets/sort_def.svg'); document.getElementById("imgsortnotiz").src = require('../assets/sort_def.svg'); break; @@ -286,10 +348,12 @@ export default { document.getElementById("imgsortangebot").src = require('../assets/sort_def.svg'); document.getElementById("imgsortkursname").src = require('../assets/sort_def.svg'); document.getElementById("imgsortkursdatum").src = require('../assets/sort_def.svg'); + document.getElementById("imgsortthema").src = require('../assets/sort_def.svg'); document.getElementById("imgsortkursort").src = require('../assets/sort_def.svg'); document.getElementById("imgsortbegleitendeLehrkraft").src = require('../assets/sort_def.svg'); document.getElementById("imgsortbetreuendeStudenten").src = require('../assets/sort_def.svg'); document.getElementById("imgsortanzahlderAnwesenden").src = require('../assets/sort_def.svg'); + document.getElementById("imgsortanzahlderAngemeldeten").src = require('../assets/sort_def.svg'); document.getElementById("imgsortkursleiter").src = require('../assets/sort_def.svg'); document.getElementById("imgsortnotiz").src = require('../assets/sort_def.svg'); break; @@ -298,11 +362,27 @@ export default { document.getElementById("imgsortangebotsnummer").src = require('../assets/sort_def.svg'); document.getElementById("imgsortangebot").src = require('../assets/sort_def.svg'); document.getElementById("imgsortkursname").src = require('../assets/sort_def.svg'); + document.getElementById("imgsortthema").src = require('../assets/sort_def.svg'); document.getElementById("imgsortveranstaltungsort").src = require('../assets/sort_def.svg'); document.getElementById("imgsortkursort").src = require('../assets/sort_def.svg'); document.getElementById("imgsortbegleitendeLehrkraft").src = require('../assets/sort_def.svg'); document.getElementById("imgsortbetreuendeStudenten").src = require('../assets/sort_def.svg'); document.getElementById("imgsortanzahlderAnwesenden").src = require('../assets/sort_def.svg'); + document.getElementById("imgsortanzahlderAngemeldeten").src = require('../assets/sort_def.svg'); + document.getElementById("imgsortkursleiter").src = require('../assets/sort_def.svg'); + document.getElementById("imgsortnotiz").src = require('../assets/sort_def.svg'); + break; + case 'thema': + document.getElementById("imgsortthema").src = require('../assets/sort_desc.svg'); + document.getElementById("imgsortangebotsnummer").src = require('../assets/sort_def.svg'); + document.getElementById("imgsortangebot").src = require('../assets/sort_def.svg'); + document.getElementById("imgsortkursname").src = require('../assets/sort_def.svg'); + document.getElementById("imgsortveranstaltungsort").src = require('../assets/sort_def.svg'); + document.getElementById("imgsortkursdatum").src = require('../assets/sort_def.svg'); + document.getElementById("imgsortbegleitendeLehrkraft").src = require('../assets/sort_def.svg'); + document.getElementById("imgsortbetreuendeStudenten").src = require('../assets/sort_def.svg'); + document.getElementById("imgsortanzahlderAnwesenden").src = require('../assets/sort_def.svg'); + document.getElementById("imgsortanzahlderAngemeldeten").src = require('../assets/sort_def.svg'); document.getElementById("imgsortkursleiter").src = require('../assets/sort_def.svg'); document.getElementById("imgsortnotiz").src = require('../assets/sort_def.svg'); break; @@ -313,9 +393,11 @@ export default { document.getElementById("imgsortkursname").src = require('../assets/sort_def.svg'); document.getElementById("imgsortveranstaltungsort").src = require('../assets/sort_def.svg'); document.getElementById("imgsortkursdatum").src = require('../assets/sort_def.svg'); + document.getElementById("imgsortthema").src = require('../assets/sort_def.svg'); document.getElementById("imgsortbegleitendeLehrkraft").src = require('../assets/sort_def.svg'); document.getElementById("imgsortbetreuendeStudenten").src = require('../assets/sort_def.svg'); document.getElementById("imgsortanzahlderAnwesenden").src = require('../assets/sort_def.svg'); + document.getElementById("imgsortanzahlderAngemeldeten").src = require('../assets/sort_def.svg'); document.getElementById("imgsortkursleiter").src = require('../assets/sort_def.svg'); document.getElementById("imgsortnotiz").src = require('../assets/sort_def.svg'); break; @@ -326,9 +408,11 @@ export default { document.getElementById("imgsortkursname").src = require('../assets/sort_def.svg'); document.getElementById("imgsortveranstaltungsort").src = require('../assets/sort_def.svg'); document.getElementById("imgsortkursdatum").src = require('../assets/sort_def.svg'); + document.getElementById("imgsortthema").src = require('../assets/sort_def.svg'); document.getElementById("imgsortkursort").src = require('../assets/sort_def.svg'); document.getElementById("imgsortbetreuendeStudenten").src = require('../assets/sort_def.svg'); document.getElementById("imgsortanzahlderAnwesenden").src = require('../assets/sort_def.svg'); + document.getElementById("imgsortanzahlderAngemeldeten").src = require('../assets/sort_def.svg'); document.getElementById("imgsortkursleiter").src = require('../assets/sort_def.svg'); document.getElementById("imgsortnotiz").src = require('../assets/sort_def.svg'); break; @@ -339,9 +423,11 @@ export default { document.getElementById("imgsortkursname").src = require('../assets/sort_def.svg'); document.getElementById("imgsortveranstaltungsort").src = require('../assets/sort_def.svg'); document.getElementById("imgsortkursdatum").src = require('../assets/sort_def.svg'); + document.getElementById("imgsortthema").src = require('../assets/sort_def.svg'); document.getElementById("imgsortkursort").src = require('../assets/sort_def.svg'); document.getElementById("imgsortbegleitendeLehrkraft").src = require('../assets/sort_def.svg'); document.getElementById("imgsortanzahlderAnwesenden").src = require('../assets/sort_def.svg'); + document.getElementById("imgsortanzahlderAngemeldeten").src = require('../assets/sort_def.svg'); document.getElementById("imgsortkursleiter").src = require('../assets/sort_def.svg'); document.getElementById("imgsortnotiz").src = require('../assets/sort_def.svg'); break; @@ -352,9 +438,11 @@ export default { document.getElementById("imgsortkursname").src = require('../assets/sort_def.svg'); document.getElementById("imgsortveranstaltungsort").src = require('../assets/sort_def.svg'); document.getElementById("imgsortkursdatum").src = require('../assets/sort_def.svg'); + document.getElementById("imgsortthema").src = require('../assets/sort_def.svg'); document.getElementById("imgsortkursort").src = require('../assets/sort_def.svg'); document.getElementById("imgsortbegleitendeLehrkraft").src = require('../assets/sort_def.svg'); document.getElementById("imgsortbetreuendeStudenten").src = require('../assets/sort_def.svg'); + document.getElementById("imgsortanzahlderAngemeldeten").src = require('../assets/sort_def.svg'); document.getElementById("imgsortkursleiter").src = require('../assets/sort_def.svg'); document.getElementById("imgsortnotiz").src = require('../assets/sort_def.svg'); break; @@ -365,10 +453,27 @@ export default { document.getElementById("imgsortkursname").src = require('../assets/sort_def.svg'); document.getElementById("imgsortveranstaltungsort").src = require('../assets/sort_def.svg'); document.getElementById("imgsortkursdatum").src = require('../assets/sort_def.svg'); + document.getElementById("imgsortthema").src = require('../assets/sort_def.svg'); document.getElementById("imgsortkursort").src = require('../assets/sort_def.svg'); document.getElementById("imgsortbegleitendeLehrkraft").src = require('../assets/sort_def.svg'); document.getElementById("imgsortbetreuendeStudenten").src = require('../assets/sort_def.svg'); document.getElementById("imgsortanzahlderAnwesenden").src = require('../assets/sort_def.svg'); + document.getElementById("imgsortanzahlderAngemeldeten").src = require('../assets/sort_def.svg'); + document.getElementById("imgsortnotiz").src = require('../assets/sort_def.svg'); + break; + case 'anzahlderAngemeldeten': + document.getElementById("imgsortanzahlderAngemeldeten").src = require('../assets/sort_desc.svg'); + document.getElementById("imgsortangebotsnummer").src = require('../assets/sort_def.svg'); + document.getElementById("imgsortangebot").src = require('../assets/sort_def.svg'); + document.getElementById("imgsortkursname").src = require('../assets/sort_def.svg'); + document.getElementById("imgsortveranstaltungsort").src = require('../assets/sort_def.svg'); + document.getElementById("imgsortkursdatum").src = require('../assets/sort_def.svg'); + document.getElementById("imgsortthema").src = require('../assets/sort_def.svg'); + document.getElementById("imgsortkursort").src = require('../assets/sort_def.svg'); + document.getElementById("imgsortbegleitendeLehrkraft").src = require('../assets/sort_def.svg'); + document.getElementById("imgsortbetreuendeStudenten").src = require('../assets/sort_def.svg'); + document.getElementById("imgsortanzahlderAnwesenden").src = require('../assets/sort_def.svg'); + document.getElementById("imgsortkursleiter").src = require('../assets/sort_def.svg'); document.getElementById("imgsortnotiz").src = require('../assets/sort_def.svg'); break; case 'notiz': @@ -378,10 +483,12 @@ export default { document.getElementById("imgsortkursname").src = require('../assets/sort_def.svg'); document.getElementById("imgsortveranstaltungsort").src = require('../assets/sort_def.svg'); document.getElementById("imgsortkursdatum").src = require('../assets/sort_def.svg'); + document.getElementById("imgsortthema").src = require('../assets/sort_def.svg'); document.getElementById("imgsortkursort").src = require('../assets/sort_def.svg'); document.getElementById("imgsortbegleitendeLehrkraft").src = require('../assets/sort_def.svg'); document.getElementById("imgsortbetreuendeStudenten").src = require('../assets/sort_def.svg'); document.getElementById("imgsortanzahlderAnwesenden").src = require('../assets/sort_def.svg'); + document.getElementById("imgsortanzahlderAngemeldeten").src = require('../assets/sort_def.svg'); document.getElementById("imgsortkursleiter").src = require('../assets/sort_def.svg'); break; } @@ -419,14 +526,17 @@ export default { const kursname = row.kursname.toLowerCase(); const veranstaltungsart = row.veranstaltungsart.toLowerCase(); const kursdatum = row.kursdatum.toLowerCase(); + const thema = row.thema.toLowerCase(); const kursort = row.kursort.toLowerCase(); const begleitendeLehrkraft = row.begleitendeLehrkraft.toLowerCase(); const betreuendeStudenten = row.betreuendeStudenten.toLowerCase(); + const anzahlderAnwesenden = row.anzahlderAnwesenden.toString(); + const anzahlderAngemeldeten = row.anzahlderAngemeldeten.toString(); const kursleiter = row.kursleiter.toLowerCase(); const notiz = row.notiz.toLowerCase(); const searchTerm = this.filter.toLowerCase(); - return angebotsnummer.includes(searchTerm) || angebot.includes(searchTerm) || kursname.includes(searchTerm) || veranstaltungsart.includes(searchTerm) || kursdatum.includes(searchTerm) || kursort.includes(searchTerm) || begleitendeLehrkraft.includes(searchTerm) || betreuendeStudenten.includes(searchTerm) || kursleiter.includes(searchTerm) || notiz.includes(searchTerm); + return angebotsnummer.includes(searchTerm) || angebot.includes(searchTerm) || kursname.includes(searchTerm) || veranstaltungsart.includes(searchTerm) || kursdatum.includes(searchTerm) || thema.includes(searchTerm) || kursort.includes(searchTerm) || begleitendeLehrkraft.includes(searchTerm) || betreuendeStudenten.includes(searchTerm) || betreuendeStudenten.includes(searchTerm) || anzahlderAnwesenden.includes(searchTerm) || anzahlderAngemeldeten.includes(searchTerm) || kursleiter.includes(searchTerm) || notiz.includes(searchTerm); }); } } diff --git a/src/components/Home.vue b/src/components/Home.vue index e6ad403022abaf6ca4e46c85c44678d58b24adac..9b39e583e8e12575fc42763c9acd5790c93ee53b 100644 --- a/src/components/Home.vue +++ b/src/components/Home.vue @@ -1,17 +1,17 @@ <template> <div id="content" class="content col-md-12"> - <DynamicTable></DynamicTable> + <CreateCourse></CreateCourse> </div> </template> <script> -import DynamicTable from '../components/DynamicTable.vue' +import CreateCourse from '../components/CreateEditComponents/CreateCourse.vue' export default { name: "Home", components: { - DynamicTable + CreateCourse }, created() { diff --git a/src/models/course.js b/src/models/course.js new file mode 100644 index 0000000000000000000000000000000000000000..3f6febec013ed54b7c9b4895b1c7b92b59ff5c6d --- /dev/null +++ b/src/models/course.js @@ -0,0 +1,19 @@ +export default class Course { + + constructor(coursenumber, courseoffer, coursename, eventtype, coursedate, topic, courselocation, accompanyingteacher, supervisingstudents, presentstudents, registeredstudents, instructor, notefield) { + this.coursenumber = coursenumber; + this.courseoffer = courseoffer; + this.coursename = coursename; + this.eventtype = eventtype; + this.coursedate = coursedate; + this.topic = topic; + this.courselocation = courselocation; + this.accompanyingteacher = accompanyingteacher; + this.supervisingstudents = supervisingstudents; + this.presentstudents = presentstudents; + this.registeredstudents = registeredstudents; + this.instructor = instructor; + this.notefield = notefield; + } + +} \ No newline at end of file diff --git a/src/services/course.service.js b/src/services/course.service.js new file mode 100644 index 0000000000000000000000000000000000000000..22683eef9eac80a57a5cf1200e6baf7c3b2cec85 --- /dev/null +++ b/src/services/course.service.js @@ -0,0 +1,34 @@ +import axios from 'axios'; +import authHeader from "@/services/auth-header"; + +const API_URL = 'http://localhost:9192/'; + +class CourseService { + + insert(course) { + return axios + .post(API_URL + 'insertCourse', { + angebotsnummer: course.coursenumber, + angebot: course.courseoffer, + kursname: course.coursename, + veranstaltungsart: course.eventtype, + kursdatum: course.coursedate, + thema: course.topic, + kursort: course.courselocation, + begleitendeLehrkraft: course.accompanyingteacher, + betreuendeStudenten: course.supervisingstudents, + anzahlderAnwesenden:course.presentstudents, + anzahlderAngemeldeten:course.registeredstudents, + kursleiter: course.instructor, + notiz: course.notefield + } + + ,{headers: authHeader() }) + .then(response => { + return response.data; + }); + } +} + + +export default new CourseService(); \ No newline at end of file diff --git a/src/store/course.module.js b/src/store/course.module.js new file mode 100644 index 0000000000000000000000000000000000000000..e16c693a46b6b662ac84aae362631bb2261bec45 --- /dev/null +++ b/src/store/course.module.js @@ -0,0 +1,33 @@ +import CourseService from '../services/course.service'; + +const initialState = null; + +export const course = { + + namespaced: true, + state: initialState, + actions: { + + insert({ commit }, course) { + return CourseService.insert(course).then( + response => { + commit('insertSuccess', response); + return Promise.resolve(response); + }, + error => { + commit('insertFailure'); + return Promise.reject(error); + } + ); + } + }, + + mutations: { + insertSuccess(state, response) { + state.response = response; + }, + insertFailure(state, response) { + state.response = response; + } + } +}; \ No newline at end of file diff --git a/src/store/index.js b/src/store/index.js index 1ee6edf3338487f53338a847e9ea9471cb71d867..292d729402de95dc73df683bb10ca0be64034516 100644 --- a/src/store/index.js +++ b/src/store/index.js @@ -3,12 +3,14 @@ import Vuex from 'vuex'; import { auth } from './auth.module'; import { user } from './user.module'; +import { course } from './course.module'; Vue.use(Vuex); export default new Vuex.Store({ modules: { auth, - user + user, + course } }); \ No newline at end of file