mirror of
https://github.com/FH-Complete/FHC-Core.git
synced 2026-07-25 00:24:35 +00:00
Studierendenverwaltung Projektarbeit improvements: tabulator (supposedly) stores column changes, changed some phrases, projektarbeit download button is now shown when Projektbeurteilung extension is not installted, errors are displayed near input fields not in pop up, changed modal layout, Vertrag fields are now just text fields, validation errors are cleared
This commit is contained in:
@@ -102,6 +102,7 @@ export default {
|
||||
this.formData.note = null;
|
||||
this.formData.final = true;
|
||||
this.formData.anmerkung = null;
|
||||
this.$refs.formDetails.clearValidation();
|
||||
},
|
||||
getFormData(statusNew, studiensemester_kurzbz, additional_lehrveranstaltung_id/*, successCallback*/) {
|
||||
|
||||
|
||||
@@ -175,15 +175,14 @@ export default {
|
||||
frozen: true
|
||||
},
|
||||
],
|
||||
layout: 'fitDataFill',
|
||||
//layout: 'fitDataFill',
|
||||
height: 'auto',
|
||||
minHeight: '200',
|
||||
selectable: 1,
|
||||
index: 'projektarbeit_id',
|
||||
//persistenceMode:"cookie",
|
||||
//~ persistence:{
|
||||
//~ columns: true, //persist column layout
|
||||
//~ },
|
||||
persistence:{
|
||||
columns: true, //persist column layout
|
||||
},
|
||||
persistenceID: 'stv-details-projektarbeit'
|
||||
},
|
||||
tabulatorEvents: [
|
||||
@@ -356,11 +355,11 @@ export default {
|
||||
</template>
|
||||
|
||||
<div class="row">
|
||||
<div class="col-6">
|
||||
<div class="col-5">
|
||||
<projektarbeit-details ref="projektarbeitDetails" :student="student" @projekttyp-changed="setDefaultStunden">
|
||||
</projektarbeit-details>
|
||||
</div>
|
||||
<div class="col-6">
|
||||
<div class="col-7">
|
||||
<projektbetreuer ref="projektbetreuer" :config="config"></projektbetreuer>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
+19
-8
@@ -84,13 +84,16 @@ export default {
|
||||
frozen: true
|
||||
},
|
||||
],
|
||||
layout: 'fitDataFill',
|
||||
//layout: 'fitDataFill',
|
||||
layoutColumnsOnNewData: false,
|
||||
height: 'auto',
|
||||
minHeight: '100',
|
||||
selectable: true,
|
||||
selectable: 1,
|
||||
index: 'betreuer_id',
|
||||
persistence:{
|
||||
columns: true, //persist column layout
|
||||
},
|
||||
persistenceID: 'stv-details-projektbetreuer'
|
||||
},
|
||||
tabulatorEvents: [
|
||||
@@ -99,6 +102,13 @@ export default {
|
||||
handler: async() => {
|
||||
await this.$p.loadCategory(['global', 'person', 'stv', 'projektarbeit', 'ui']);
|
||||
}
|
||||
},
|
||||
{
|
||||
event: 'rowSelected',
|
||||
handler: row => {
|
||||
let data = row.getData();
|
||||
this.actionEditProjektbetreuer(data.projektarbeit_id, data.person_id, data.betreuerart_kurzbz);
|
||||
}
|
||||
}
|
||||
],
|
||||
formData: {
|
||||
@@ -156,7 +166,7 @@ export default {
|
||||
this.formData = betreuer;
|
||||
|
||||
// set download link
|
||||
if (betreuer.beurteilungDownloadLink) this.beurteilungDownloadLink = betreuer.beurteilungDownloadLink
|
||||
if (betreuer.beurteilungDownloadLink !== null) this.beurteilungDownloadLink = betreuer.beurteilungDownloadLink;
|
||||
|
||||
// set betreuer for autocomplete field
|
||||
this.autocompleteSelectedBetreuer = {
|
||||
@@ -279,15 +289,16 @@ export default {
|
||||
alleBetreuer.push(this.addAutoCompleteBetreuerToFormData(this.formData));
|
||||
}
|
||||
|
||||
return this.$api.call(ApiStvProjektbetreuer.validateProjektbetreuer(alleBetreuer));
|
||||
return this.$refs.formProjektbetreuer.call(ApiStvProjektbetreuer.validateProjektbetreuer(alleBetreuer));
|
||||
},
|
||||
resetForm() {
|
||||
this.formData = this.getDefaultFormData();
|
||||
this.beurteilungDownloadLink = null;
|
||||
if (this.beurteilungDownloadLink !== null) this.beurteilungDownloadLink = '';
|
||||
this.autocompleteSelectedBetreuer = null;
|
||||
this.initialFormData = null;
|
||||
if (this.projekttyp_kurzbz) this.setDefaultStunden(this.projekttyp_kurzbz);
|
||||
this.disableVertragFields(false);
|
||||
this.$refs.formProjektbetreuer.clearValidation();
|
||||
},
|
||||
resetModes() {
|
||||
this.newMode = false;
|
||||
@@ -417,7 +428,7 @@ export default {
|
||||
type="autocomplete"
|
||||
optionLabel="name"
|
||||
v-model="autocompleteSelectedBetreuer"
|
||||
name="betreuer"
|
||||
name="person_id"
|
||||
:suggestions="filteredBetreuer"
|
||||
@complete="searchBetreuer"
|
||||
:min-length="3"
|
||||
@@ -501,13 +512,13 @@ export default {
|
||||
<button class="btn btn-primary" v-show="betreuerFormOpened" @click="confirmProjektbetreuerAfterValidation">
|
||||
{{ $p.t('projektarbeit', 'betreuerBestaetigen') }}
|
||||
</button>
|
||||
<div class = "mt-5">
|
||||
<div class = "mt-5" v-if="beurteilungDownloadLink !== null">
|
||||
<div class="mb-1">
|
||||
<a :href="beurteilungDownloadLink" class="btn btn-primary d-block" :class="{ 'disabled' : !beurteilungDownloadLink || beurteilungDownloadLink == ''}">
|
||||
<a :href="beurteilungDownloadLink" class="btn btn-primary d-block" :class="{ 'disabled' : beurteilungDownloadLink === ''}">
|
||||
{{ $p.t('projektarbeit', 'projektbeurteilungErstellen') }}
|
||||
</a>
|
||||
</div>
|
||||
{{ autocompleteSelectedBetreuer?.person_id && (!beurteilungDownloadLink || beurteilungDownloadLink == '') ? $p.t('projektarbeit', 'projektarbeitNochNichtBeurteilt') : ''}}
|
||||
{{ autocompleteSelectedBetreuer?.person_id && beurteilungDownloadLink === '' ? $p.t('projektarbeit', 'projektarbeitNochNichtBeurteilt') : ''}}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
@@ -125,36 +125,22 @@ export default{
|
||||
<div class="mb-3">
|
||||
{{ betreuerProjektarbeit?.betreuerart_kurzbz && betreuerProjektarbeit?.vertrag_id == null ? ' – '+$p.t('lehre', 'nochKeinVertrag') : '' }}
|
||||
</div>
|
||||
<div class="row align-items-end mb-3">
|
||||
<form-input
|
||||
:label="$p.t('lehre', 'vertragsstatus')"
|
||||
type="text"
|
||||
readonly
|
||||
v-model="vertragsstatus"
|
||||
:style="{fontWeight: vertragsstatus === this.vertragsstatus_geaendert ? 'bold' : 'normal'}"
|
||||
name="vertragsstatus"
|
||||
/>
|
||||
</div>
|
||||
{{$p.t('lehre', 'vertragurfassung')}}
|
||||
<div class="row mb-3">
|
||||
<form-input
|
||||
:label="$p.t('lehre', 'semesterstunden')"
|
||||
type="text"
|
||||
readonly
|
||||
v-model="data.vertragsstunden"
|
||||
name="vertragsstunden"
|
||||
>
|
||||
</form-input>
|
||||
<div class="col-12">
|
||||
{{ $p.t('lehre', 'vertragsstatus') }}: {{ vertragsstatus }}
|
||||
</div>
|
||||
</div>
|
||||
<div class="row mb-3">
|
||||
<form-input
|
||||
:label="$p.t('lehre', 'studiensemester')"
|
||||
type="text"
|
||||
readonly
|
||||
v-model="data.vertragsstunden_studiensemester_kurzbz"
|
||||
name="vertragsstunden_studiensemester_kurzbz"
|
||||
>
|
||||
</form-input>
|
||||
<div class="col-12">
|
||||
{{$p.t('lehre', 'vertragurfassung')}}
|
||||
</div>
|
||||
</div>
|
||||
<div class="row mb-3">
|
||||
<div class="col-12">
|
||||
{{ $p.t('lehre', 'semesterstunden') }}: {{ data.vertragsstunden }}
|
||||
<br>
|
||||
<span class="text-capitalize">{{ $p.t('lehre', 'studiensemester') }}</span>: {{ data.vertragsstunden_studiensemester_kurzbz }}
|
||||
</div>
|
||||
</div>
|
||||
<div class="row mb-3" v-if="data?.vertragsstatus">
|
||||
<div class="col-12">
|
||||
@@ -164,7 +150,7 @@ export default{
|
||||
:disabled="vertragsstatus == vertragsstatus_storniert"
|
||||
@click="cancelVertrag"
|
||||
>
|
||||
{{ $p.t('lehre', 'stornieren') }}
|
||||
{{ $p.t('lehre', 'vertragStornieren') }}
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
Reference in New Issue
Block a user