mirror of
https://github.com/FH-Complete/FHC-Core.git
synced 2026-07-16 22:42:16 +00:00
- refactor sum points
- create green row background for current RT
This commit is contained in:
@@ -74,6 +74,12 @@ html.fs_huge {
|
||||
color: var(--gray-500);
|
||||
}
|
||||
|
||||
/* Aufnahme Termine: background color green*/
|
||||
.stv-details-admission-table .row-green{
|
||||
background-color: lightgreen !important;
|
||||
//color: var(--green-200);
|
||||
}
|
||||
|
||||
/* Dropdown Toolbar Interessent, submenu */
|
||||
.dropend .dropdown-toggle.d-flex::after {
|
||||
height: 0;
|
||||
|
||||
+46
-2
@@ -35,13 +35,49 @@ export default {
|
||||
student: Object
|
||||
},
|
||||
data() {
|
||||
let self = this;
|
||||
return {
|
||||
tabulatorOptions: {
|
||||
ajaxURL: 'dummy',
|
||||
ajaxRequestFunc: () => this.$api.call(
|
||||
ApiStvAdmissionDates.getAufnahmetermine(this.student.person_id)
|
||||
),
|
||||
ajaxResponse: (url, params, response) => response.data,
|
||||
ajaxResponse: (url, params, response) => {
|
||||
const data = response.data;
|
||||
|
||||
const filtered = data.filter(item =>
|
||||
item.studiengangkurzbzlang === this.student.studiengang ||
|
||||
item.stg_kuerzel === this.student.studiengang
|
||||
);
|
||||
|
||||
if (filtered.length > 0) {
|
||||
filtered.sort((a, b) =>
|
||||
this.parseSemester(b.studiensemester) - this.parseSemester(a.studiensemester)
|
||||
);
|
||||
self.youngestSemester = filtered[0].studiensemester;
|
||||
} else {
|
||||
self.youngestSemester = null;
|
||||
}
|
||||
|
||||
return data;
|
||||
},
|
||||
rowFormatter: function(row) {
|
||||
let data = row.getData(); // get data for this row
|
||||
|
||||
if (data.studiengangkurzbzlang == self.student.studiengang &&
|
||||
data.studiensemester === self.youngestSemester) {
|
||||
let cells = row.getCells();
|
||||
|
||||
cells.forEach((c) => {
|
||||
c.getElement().classList.add("row-green");
|
||||
}
|
||||
|
||||
);
|
||||
}
|
||||
},
|
||||
dataLoaded: function() {
|
||||
this.redraw(true);
|
||||
},
|
||||
columns: [
|
||||
{title: "rt_id", field: "rt_id", visible: false},
|
||||
{title: "rt_person_id", field: "rt_person_id", visible: false},
|
||||
@@ -187,7 +223,8 @@ export default {
|
||||
listPlacementTests: [],
|
||||
listStudyPlans: [],
|
||||
filterOnlyFutureTestsSet: false,
|
||||
filteredPlacementTests: []
|
||||
filteredPlacementTests: [],
|
||||
youngestSemester: null
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
@@ -331,6 +368,13 @@ export default {
|
||||
resetForm() {
|
||||
this.formData = {};
|
||||
},
|
||||
parseSemester(semester) {
|
||||
const type = semester.slice(0, 2).toUpperCase(); // "WS" or "SS"
|
||||
const year = parseInt(semester.slice(2), 10);
|
||||
|
||||
// WS > SS
|
||||
return year * 10 + (type === 'SS' ? 1 : 2);
|
||||
}
|
||||
},
|
||||
created() {
|
||||
this.$api
|
||||
|
||||
+25
-3
@@ -49,12 +49,34 @@ export default {
|
||||
.then(result => {
|
||||
this.listAufnahmetermine = result.data;
|
||||
|
||||
//TODO(Manu) check logic Fas STG
|
||||
const hasMatch = this.listAufnahmetermine
|
||||
.some(item => item.studiengangkurzbzlang === this.student.studiengang);
|
||||
if(!hasMatch){
|
||||
this.formData.rt_gesamtpunkte = 0;
|
||||
this.$fhcAlert.alertError("Studiengang nicht enthalten: " + this.student.studiengang);
|
||||
return;
|
||||
}
|
||||
|
||||
const listAufnahmetermineFiltered = this.listAufnahmetermine
|
||||
.filter(item => item.studiengangkurzbzlang == this.student.studiengang)
|
||||
.sort((a, b) => this.parseSemester(b.studiensemester) - this.parseSemester(a.studiensemester));
|
||||
const elementSemYoungest = listAufnahmetermineFiltered[0];
|
||||
|
||||
this.formData.rt_gesamtpunkte = elementSemYoungest.punkte;
|
||||
let pointsSemStg = 0;
|
||||
|
||||
if(listAufnahmetermineFiltered.length > 0){
|
||||
|
||||
const youngestSemester = listAufnahmetermineFiltered[0].studiensemester;
|
||||
|
||||
//sum of all rt-points of studiengang of youngest sem
|
||||
pointsSemStg = listAufnahmetermineFiltered
|
||||
.filter(item => item.studiensemester === youngestSemester)
|
||||
.reduce((sum, item) => sum + (Number(item.punkte) || 0), 0);
|
||||
}
|
||||
else
|
||||
pointsSemStg = 0;
|
||||
|
||||
this.formData.rt_gesamtpunkte = pointsSemStg;
|
||||
|
||||
})
|
||||
.catch(this.$fhcAlert.handleSystemError);
|
||||
@@ -91,7 +113,7 @@ export default {
|
||||
},
|
||||
template: `
|
||||
<div class="stv-details-admission-header-placement h-100 pb-3">
|
||||
<h4>{{ $p.t('lehre', 'studiengang') }}</h4>
|
||||
<h4>{{ $p.t('lehre', 'studiengang') }}</h4> {{student.studiengang}}
|
||||
|
||||
<form-form class="mt-3" ref="formRtGesamtData" @submit.prevent>
|
||||
<div v-if="showAufnahmegruppen" class="row mb-3">
|
||||
|
||||
Reference in New Issue
Block a user