diff --git a/public/js/apps/Cis/Profil.js b/public/js/apps/Cis/Profil.js index 8c3727401..5eac4db58 100644 --- a/public/js/apps/Cis/Profil.js +++ b/public/js/apps/Cis/Profil.js @@ -79,7 +79,7 @@ const app = Vue.createApp({

Es wurden keine oder mehrere Profile für {{this.notFoundUID}} gefunden

- + ` diff --git a/public/js/components/Cis/Profil/Base.js b/public/js/components/Cis/Profil/Base.js index 547b6da57..ce6ca16f5 100644 --- a/public/js/components/Cis/Profil/Base.js +++ b/public/js/components/Cis/Profil/Base.js @@ -491,7 +491,7 @@ export default {
- + {{email.email}}
diff --git a/public/js/components/Cis/Profil/MitarbeiterProfil.js b/public/js/components/Cis/Profil/MitarbeiterProfil.js index a4a008fe2..ce6ca16f5 100644 --- a/public/js/components/Cis/Profil/MitarbeiterProfil.js +++ b/public/js/components/Cis/Profil/MitarbeiterProfil.js @@ -1,27 +1,20 @@ import fhcapifactory from "../../../apps/api/fhcapifactory.js"; import { CoreFilterCmpt } from "../../../components/filter/Filter.js"; - - - - - export default { components: { CoreFilterCmpt, }, data() { return { - collapseIconFunktionen: true, collapseIconBetriebsmittel: true, funktionen_table_options: { - - height:300, - layout:"fitColumns", - responsiveLayout:"collapse", - responsiveLayoutCollapseUseFormatters:false, - responsiveLayoutCollapseFormatter:Vue.$collapseFormatter, + height: 300, + layout: "fitColumns", + responsiveLayout: "collapse", + responsiveLayoutCollapseUseFormatters: false, + responsiveLayoutCollapseFormatter: Vue.$collapseFormatter, data: [ { Bezeichnung: "", @@ -32,118 +25,146 @@ export default { }, ], columns: [ - //? option when wanting to hide the collapsed list - - { - title: "", + //? option when wanting to hide the collapsed list + + { + title: + "", field: "collapse", headerSort: false, - headerFilter:false, - formatter:"responsiveCollapse", - maxWidth:40, - headerClick:this.collapseFunction, - }, - { title: "Bezeichnung", field: "Bezeichnung", headerFilter: true,minWidth:200, }, + headerFilter: false, + formatter: "responsiveCollapse", + maxWidth: 40, + headerClick: this.collapseFunction, + }, + { + title: "Bezeichnung", + field: "Bezeichnung", + headerFilter: true, + minWidth: 200, + }, { title: "Organisationseinheit", field: "Organisationseinheit", - headerFilter: true,minWidth:200, - + headerFilter: true, + minWidth: 200, + }, + { + title: "Gültig_von", + field: "Gültig_von", + headerFilter: true, + resizable: true, + minWidth: 200, + }, + { + title: "Gültig_bis", + field: "Gültig_bis", + headerFilter: true, + resizable: true, + minWidth: 200, }, - { title: "Gültig_von", field: "Gültig_von", headerFilter: true, resizable:true,minWidth:200, }, - { title: "Gültig_bis", field: "Gültig_bis", headerFilter: true, resizable:true,minWidth:200, }, { title: "Wochenstunden", field: "Wochenstunden", headerFilter: true, - minWidth:200, + minWidth: 200, }, - ], }, betriebsmittel_table_options: { - - height:300, + height: 300, layout: "fitColumns", - responsiveLayout:"collapse", - responsiveLayoutCollapseUseFormatters:false, - responsiveLayoutCollapseFormatter:Vue.$collapseFormatter, + responsiveLayout: "collapse", + responsiveLayoutCollapseUseFormatters: false, + responsiveLayoutCollapseFormatter: Vue.$collapseFormatter, data: [{ betriebsmittel: "", Nummer: "", Ausgegeben_am: "" }], columns: [ { - title: "", + title: + "", field: "collapse", headerSort: false, - headerFilter:false, - formatter:"responsiveCollapse", - maxWidth:40, - headerClick:this.collapseFunction, - }, + headerFilter: false, + formatter: "responsiveCollapse", + maxWidth: 40, + headerClick: this.collapseFunction, + }, { title: "Betriebsmittel", field: "betriebsmittel", headerFilter: true, - minWidth:200, + minWidth: 200, + }, + { + title: "Nummer", + field: "Nummer", + headerFilter: true, + resizable: true, + minWidth: 200, }, - { title: "Nummer", field: "Nummer", headerFilter: true, resizable:true, minWidth:200, }, { title: "Ausgegeben_am", field: "Ausgegeben_am", headerFilter: true, - minWidth:200, + minWidth: 200, }, ], }, - }; }, - //? this is the prop passed to the dynamic component with the custom data of the view + //? this is the prop passed to the dynamic component with the custom data of the view props: ["data"], methods: { - - sperre_foto_function(value) { + sperre_foto_function() { if (!this.data) { return; } - fhcapifactory.UserData.sperre_foto_function(value).then((res) => { + fhcapifactory.UserData.sperre_foto_function(!this.data.foto_sperre).then((res) => { this.data.foto_sperre = res.data.foto_sperre; }); }, - collapseFunction (e, column){ - + collapseFunction(e, column) { //* the if of the column has to match with the name of the responsive data in the vue component this[e.target.id] = !this[e.target.id]; //* gets all event icons of the different rows to use the onClick event later - let allClickableIcons = column._column.cells.map(row => { + let allClickableIcons = column._column.cells.map((row) => { return row.element.children[0]; }); - + //* changes the icon that shows or hides all the collapsed columns //* if the replace function does not find the class to replace, it just simply returns false - if(this[e.target.id]){ - e.target.classList.replace("fa-angle-up","fa-angle-down"); - }else{ - e.target.classList.replace("fa-angle-down","fa-angle-up"); + if (this[e.target.id]) { + e.target.classList.replace("fa-angle-up", "fa-angle-down"); + } else { + e.target.classList.replace("fa-angle-down", "fa-angle-up"); } - + //* changes the icon for every collapsed column to open or closed - if(this[e.target.id]){ - allClickableIcons.filter(column => { + if (this[e.target.id]) { + allClickableIcons + .filter((column) => { return !column.classList.contains("open"); - }).forEach(col => {col.click();}) - }else{ - allClickableIcons.filter(column => { + }) + .forEach((col) => { + col.click(); + }); + } else { + allClickableIcons + .filter((column) => { return column.classList.contains("open"); - }).forEach(col => {col.click();}) - } + }) + .forEach((col) => { + col.click(); + }); + } + }, }, - }, - + computed: { refreshMailTo() { - return `mailto:info.mio@technikum-wien.at?subject=Datenkorrektur&body=Die%20Profildaten%20für%20User%20'${this.data.username}'%20sind%20nicht%20korrekt.%0DHier, die richtigen Daten:%0A%0ANachname:%20${this.data.nachname}%0AVorname:%20${this.data.vorname}%0AGeburtsdatum:${this.data.gebdatum}%0AGeburtsort:%20${this.data.gebort}%0ATitelPre:${this.data.titel}%20%0ATitelPost:${this.data.postnomen}%20%0A%0A***%0DPlatz für weitere (nicht angeführte Daten)%0D***%0A%0A[Bitte%20übermitteln%20Sie%20uns%20etwaige%20Dokumente%20zum%20Beleg%20der%20Änderung]` + return `mailto:info.mio@technikum-wien.at?subject=Datenkorrektur&body=Die%20Profildaten%20für%20User%20'${this.data.username}'%20sind%20nicht%20korrekt.%0DHier, die richtigen Daten:%0A%0ANachname:%20${this.data.nachname}%0AVorname:%20${this.data.vorname}%0AGeburtsdatum:${this.data.gebdatum}%0AGeburtsort:%20${this.data.gebort}%0ATitelPre:${this.data.titel}%20%0ATitelPost:${this.data.postnomen}%20%0A%0A***%0DPlatz für weitere (nicht angeführte Daten)%0D***%0A%0A[Bitte%20übermitteln%20Sie%20uns%20etwaige%20Dokumente%20zum%20Beleg%20der%20Änderung]`; }, get_image_base64_src() { @@ -152,39 +173,70 @@ export default { } return "data:image/jpeg;base64," + this.data.foto; }, - //? this computed function returns all the informations for the first column in the profil + //? this computed function returns all the informations for the first column in the profil personData() { if (!this.data) { return {}; } return { - Allgemein: { - - View:"MitarbeiterIn", - Username: this.data.username, - Anrede: this.data.anrede, - Titel: this.data.titel, - Vorname: this.data.vorname, - Nachname: this.data.nachname, - Postnomen: this.data.postnomen, - Geburtsdatum: this.data.gebdatum, - Geburtsort: this.data.gebort, - Kurzzeichen: this.data.kurzbz, - Telefon: this.data.telefonklappe, - Büro:this.data.ort_kurzbz, - - }, + Username: this.data.username, + Anrede: this.data.anrede, + Titel: this.data.titel, + Postnomen: this.data.postnomen, }; }, - //? this computed function returns the data for the second column in the profil + + personKontakt() { + if (!this.data) { + return {}; + } + + return { + emails: this.data.emails, + + }; + }, + + specialData() { + if (!this.data) { + return {}; + } + + return { + Geburtsdatum: this.data.gebdatum, + Geburtsort: this.data.gebort, + Kurzzeichen: this.data.kurzbz, + Telefon: this.data.telefonklappe, + Büro: this.data.ort_kurzbz, + }; + }, + + privateKontakte() { + if (!this.data) { + return {}; + } + + return this.data.kontakte; + + }, + + privateAdressen() { + if (!this.data) { + return {}; + } + + return this.data.adressen; + + }, + + kontaktInfo() { if (!this.data) { return {}; } return { - FhAusweisStatus: this.data.zutrittsdatum, emails: this.data.emails, Kontakte: this.data.kontakte, @@ -194,24 +246,17 @@ export default { }, mounted() { - this.$refs.betriebsmittelTable.tabulator.on('tableBuilt', () => { - - this.$refs.betriebsmittelTable.tabulator.setData(this.data.mittel); - - }) + this.$refs.betriebsmittelTable.tabulator.on("tableBuilt", () => { + this.$refs.betriebsmittelTable.tabulator.setData(this.data.mittel); + }); - this.$refs.funktionenTable.tabulator.on('tableBuilt', () => { - + this.$refs.funktionenTable.tabulator.on("tableBuilt", () => { this.$refs.funktionenTable.tabulator.setData(this.data.funktionen); - - - }) + }); }, - template: ` -
@@ -247,168 +292,173 @@ export default { +
+ + +
+
+
+ Der FH Ausweis ist am {{data.zutrittsdatum}} ausgegeben worden. +
+
+
+ +
+
-
- -
- - - -
-
- -
-
- - - - - - - - -
-
- - - -
-

Profilfoto gesperrt

- Sperre des Profilfotos aufheben -
- - Profilfoto sperren - - - - -
-
- - - - - - - - -
- - - - -
+ -
+
- -
+ + + + + + + + + + + + + + + +
+
+
+
- +
+ MitarbeiterIn +
-
- - -
-
{{wert}}
- -
-
- +
+ + + + + +
+
+
+ + + + +
+ + + +
+
+
+ +
+ + + + + +
+
+
+
+ + + +
+
+
+
+ + + +
+
+
+ + +
+ + + + + + + + +
+
+ + + +
+
+ + +
+ + +
- - +
+
+
+ + +
+ +
+ +
+ Mitarbeiter Information +
+
+
+
+
+ + +
+
+
+ +
+ +
+ +
- +
- -
- - -
+ -
- -
- - -
-
FH-Ausweis Status
-
{{"Der FH Ausweis ist am "+ wert+ " ausgegeben worden."}}
-
- - - - -
-
eMail
-
-
{{email.type}}: {{email.email}}
-
-
- - - -
-
Private Kontakte
-
-
-
{{element.kontakttyp + ": " + element.kontakt+" " }}
-
{{element?.anmerkung}}
-
- - -
-
-
-
- - - - -
-
Adressen
-
-
- {{element.strasse}} ({{element.adr_typ}})
{{ element.plz}} {{element.ort}} -
-
-
- -
- - -
-
- - -
+ @@ -416,9 +466,143 @@ export default {
+
+
+
- -
+ +
+
+ Mails +
+ +
+ + + +
+ + + + + + +
+
+
+ + {{email.email}} + + +
+
+
+ + + + + + + + + +
+ + +
+
+
+ + +
+
+
+
+ Private Kontakte +
+
+ +
+ +
+
+ + +
+
+
+
+ + +
+
+
+ + +
+
+ +
+
+
+
+ + + +
+
+
+
Private Adressen
+
+ +
+ +
+ + + +
+
+
+ + +
+
+ +
+
+ + +
+
+
+
+ + +
+
+
+
+ + +
+
+
+
+
+
+
+ + + + + +
+ + + + +
@@ -426,7 +610,7 @@ export default {
-
+

Sollten Ihre Daten nicht mehr aktuell sein, klicken Sie bitte hier

@@ -439,12 +623,12 @@ export default {
-
+
-
+
@@ -511,9 +695,21 @@ export default {
Sie sind Mitgglied in folgenden Verteilern:
-
- -
{{verteiler.beschreibung}}
+
+
+
+
+ + + +
+ +
+ +
+
{{verteiler.beschreibung}}
diff --git a/public/js/components/Cis/Profil/MitarbeiterViewProfil.js b/public/js/components/Cis/Profil/MitarbeiterViewProfil.js index 01e5fe9b5..d4b289c4e 100644 --- a/public/js/components/Cis/Profil/MitarbeiterViewProfil.js +++ b/public/js/components/Cis/Profil/MitarbeiterViewProfil.js @@ -115,36 +115,38 @@ export default { } return { - Allgemein: { - View:"MitarbeiterIn", - Username: this.data.username, - Anrede: this.data.anrede, - Titel: this.data.titel, - Vorname: this.data.vorname, - Nachname: this.data.nachname, - Postnomen: this.data.postnomen, - }, - - - SpecialInformation: { - Kurzzeichen: this.data.kurzbz, - Telefon: this.data.telefonklappe, - Büro:this.data.ort_kurzbz, - }, + Username: this.data.username, + Anrede: this.data.anrede, + Titel: this.data.titel, + Postnomen: this.data.postnomen, }; }, - //? this computed function returns the data for the second column in the profil - kontaktInfo() { + + personKontakt() { + if (!this.data) { + return {}; + } + + return { + emails: this.data.emails, + + }; + }, + + specialData() { if (!this.data) { return {}; } return { - emails: this.data.emails, - + Kurzzeichen: this.data.kurzbz, + Telefon: this.data.telefonklappe, + Büro: this.data.ort_kurzbz, }; }, + + }, mounted() { @@ -159,21 +161,25 @@ export default { }, template: ` + - - -
+
-
+

- +

@@ -187,105 +193,178 @@ export default {
+
+
+ + +
+
+
+ Der FH Ausweis ist am {{data.zutrittsdatum}} ausgegeben worden. +
+
+
+ +
+
-
- -
- - - - - - - -
-
- -
-
- - - - - - - - -
- - - - -
+ -
+
- -
-
+ + + + + + + + + + + + + +
+
+
+ +
+
+ MitarbeiterIn +
+
+ + -
- -
{{wert}}
- + + +
+ + + + + + +
+
+
+ + + + +
+ + +
+
+
+ +
+ + + + + +
+
+
+
- -
+ + +
+
+
+
+ + + +
+
+
+ + +
+ - + + + + +
+
+ + + +
+
+ +
- -
- - - - - - -
- - - - -
-
eMail
-
-
{{email.type}}: {{email.email}}
-
-
- - -
- - - - -
+
+
+
+
+ + +
+ +
+ +
+ Mitarbeiter Information +
+
+
+
+
+ + +
+
+
+ +
+ +
+ +
+ + + + + +
+ + + + + + + @@ -293,21 +372,98 @@ export default {
+
+
+
- -
+ +
+
+ Mails +
+ +
+ + + +
+ + + + + + +
+
+
+ + {{email.email}} + + +
+
+
+ + + + + + + + + +
+ + +
+
+
+ + + + +
+
+
+
+ + + + + +
+ + + + +
+ +
+
+

Sollten Ihre Daten nicht mehr aktuell sein, klicken Sie bitte hier

+
+
+ + + +
-
- +
+ +
+ + +
+
@@ -334,34 +490,69 @@ export default { -
+
-
+
-
Mailverteilers
-

Sie sind Mitgglied in folgenden Verteilern:

-
- -
{{verteiler.beschreibung}}
+
+
+ Mailverteilers +
+
+ +
Sie sind Mitgglied in folgenden Verteilern:
+
+
+
+
+ + + +
+ +
+ +
+
{{verteiler.beschreibung}}
+
+ +
+ +
@@ -381,6 +572,7 @@ export default {
- + + `, };