Nur VGL-Seiten

This commit is contained in:
Frederik Beimgraben 2025-07-24 00:28:52 +02:00
parent 2b1944ead0
commit f865f0bf5f

View File

@ -3,507 +3,118 @@
% Input Validation: Summe % Input Validation: Summe
\newcommand{\validateCurrency}{\detokenize{ \newcommand{\validateCurrency}{\detokenize{
var amount = String(event.value ?? "0").replaceAll(".", "").replaceAll(",", "."); var amount = String(event.value ?? "0").replaceAll(".", "").replaceAll(",", ".");
if (amount && (isNaN(amount) || parseFloat(amount) < 0)) { if (amount && (isNaN(amount) || parseFloat(amount) < 0)) {
app.alert("Ungueltiger Betrag: " + event.value + ". Bitte geben Sie eine gueltige Zahl ein."); app.alert("Ungueltiger Betrag: " + event.value + ". Bitte geben Sie eine gueltige Zahl ein.");
event.rc = false; event.rc = false;
} else { } else {
event.value = parseFloat(amount).toLocaleString("de-DE", { minimumFractionDigits: 2, maximumFractionDigits: 2 }); event.value = parseFloat(amount).toLocaleString("de-DE", { minimumFractionDigits: 2, maximumFractionDigits: 2 });
} }
}} }}
\begin{Form}[action=http://localhost:5000/,method=post] \begin{Form}[action=http://localhost:5000/,method=post]
\paPage{QSM Allgemeiner Teil}{ \paPage{Vergleichsangebote}{
% Abschnitt 1: Antragsteller : entweder Institution oder Person % Auswahl der Position in der Kostenaufstellung, für die Vergleichsangebote eingereicht werden; Bezeichnung des benötigten Angebots
% -> aktiviert/deaktiviert zugehörige Felder (über radio buttons) mit JavaScript \vspace{-2em}
\FormSection{Antragsteller}{% \FormSection{}{%
% Radio buttons : horizontal oben % Nebeneinander: Links Position, rechts Bezeichnung; Tabellenzelle; Ohne Überschrift; Ohne Bezeichner (Inhalt des Drop-downs enthält "Position #")
\begin{tabular}{@{}p{0.3\textwidth}p{0.35\textwidth}p{0.35\textwidth}@{}} \begin{tabular}{@{}p{0.1\textwidth}p{0.92\textwidth}@{}}
\textbf{Art des Antragstellers} & \raisebox{-1pt}{\ChoiceMenu[ \textbf{Position} & \textbf{Bezeichnung} \\
radio, \CustomChoiceMenuDefault{pa-offer-position}{}{width=\linewidth,default=-}{
name=pa-applicant-type, -=-,
width=1em, Pos. 1=1,
height=1em, Pos. 2=2,
radiosymbol=\ding{108} Pos. 3=3,
]{}{=person}} Person & \raisebox{-1pt}{\ChoiceMenu[ Pos. 4=4,
radio, Pos. 5=5,
name=pa-applicant-type, Pos. 6=6,
width=1em, Pos. 7=7,
height=1em, Pos. 8=8,
radiosymbol=\ding{108} Pos. 9=9,
]{}{=institution}} Institution Pos. 10=10,
\end{tabular}\vspace{-1em} Pos. 11=11,
} Pos. 12=12,
Pos. 13=13,
Pos. 14=14,
Pos. 15=15,
Pos. 16=16,
Pos. 17=17,
Pos. 18=18,
Pos. 19=19,
Pos. 20=20,
Pos. 21=21,
Pos. 22=22,
Pos. 23=23,
Pos. 24=24
} & \CustomTextFieldDefault{pa-offer-name}{}{Bezeichnung}{width=\linewidth} \\
\end{tabular}
}
\FormSection{Institution (sofern vorhanden)}{%
% Radio buttons : horizontal oben
\begin{tabular}{@{}p{0.3\textwidth}p{0.35\textwidth}p{0.35\textwidth}@{}}
\textbf{Art der Institution} & \multicolumn{2}{p{0.73\textwidth}}{
\CustomChoiceMenuDefault{pa-institution-type}{}{width=\linewidth,default=-,value=-}{-,Fachschaft=stud-fs,STUPA-Referat=stud-rf,Studentische Hochschulgruppe=stud-hg,Fakultät=faculty,Hochschuleinrichtung=hs-institution}
} \\
\textbf{Name der Institution} & \multicolumn{2}{p{0.73\textwidth}}{
\CustomTextFieldDefault{pa-institution}{}{Institution}{width=\linewidth}
} \\
\end{tabular}
}
% Validate: E-Mail-Adresse \FormSection{Angebot 1 (bevorzugt)}{%
\newcommand{\validateEmail}{\detokenize{ \begin{tabular}{@{}p{0.3\textwidth}p{0.35\textwidth}p{0.35\textwidth}@{}}
var email = event.value; \textbf{Bezeichnung} & \multicolumn{2}{p{0.73\textwidth}}{
if (email && !/^[a-zA-Z0-9._\%+-]+@[a-zA-Z0-9.-]+\\.[a-zA-Z]{2,}$/.test(email)) { /*$*/ \CustomTextFieldDefault{pa-offer-1-provider}{}{Anbieter}{width=\linewidth}
app.alert("Ungueltige E-Mail-Adresse: " + email + ". Bitte geben Sie eine gueltige E-Mail-Adresse ein."); } \\
event.rc = false; \textbf{Angebotssumme} & & \hspace{\fill} \CustomTextFieldDefault{pa-offer-1-amount-euro}{}{Angebotssumme (\euro)}{width=6em,align=2,default={0,00},validate=\validateCurrency}~\euro \\
} \end{tabular}
}} \vspace{0.5em}\\
\textbf{Kommentar / Begründung:}\vspace{0.5em}\\
% Abschnitt 2: Ansprechperson \TextField[
\FormSection{Ansprechperson}{% name=pa-offer-1-comment,
\begin{tabular}{@{}p{0.3\textwidth}p{0.35\textwidth}p{0.35\textwidth}@{}} multiline,
\textbf{Vorname, Name} & \CustomTextFieldDefault{pa-first-name}{}{Vorname}{width=\linewidth} & \CustomTextFieldDefault{pa-last-name}{}{Nachname}{width=\linewidth} \\ width=1.055\textwidth,
\textbf{Fakultät} & \multicolumn{2}{p{0.73\textwidth}}{ height=3\baselineskip,
\CustomChoiceMenuDefault{pa-course}{}{width=\linewidth,default=-}{-,INF,ESB,LS,TEC,TEX,NXT} bordercolor=black,
} \\ backgroundcolor=white,
\textbf{Rolle} & \multicolumn{2}{p{0.73\textwidth}}{ charsize=12pt,
\CustomChoiceMenuDefault{pa-role}{}{width=\linewidth,default=-}{-,Student,Professor,Mitarbeiter,ASTA,Referatsleitung,Fachschaftsvorstand} align=0,
} \\ readonly=\isReadOnlyVariant
\textbf{E-Mail-Adresse} & \multicolumn{2}{p{0.73\textwidth}}{ ]{}\vspace{-1.5em}
\CustomTextFieldDefault{pa-email}{}{E-Mail-Addresse}{width=\linewidth,validate=\validateEmail} }
} \\
\end{tabular}
}
% Abschnitt 3: Allgmeine Informationen zum Projekt
\FormSection{Allgemeine Informationen zum Projekt}{%
% Validate: Teilnehmerzahl >= 0 und integer
\newcommand{\validateParticipants}{\detokenize{
if (isNaN(event.value) || parseInt(event.value) != parseFloat(event.value) || parseInt(event.value) < 0) {
app.alert("Ungueltige Teilnehmerzahl: " + event.value + ". Bitte geben Sie eine positive ganze Zahl ein.");
event.rc = false;
}
}}
\begin{tabular}{@{}p{0.3\textwidth}p{0.35\textwidth}p{0.35\textwidth}@{}} \FormSection{Angebot 2}{%
\textbf{Projektname} & \multicolumn{2}{p{0.73\textwidth}}{ \begin{tabular}{@{}p{0.3\textwidth}p{0.35\textwidth}p{0.35\textwidth}@{}}
\CustomTextFieldDefault{pa-project-name}{}{Projektname}{width=\linewidth} \textbf{Bezeichnung} & \multicolumn{2}{p{0.73\textwidth}}{
} \\ \CustomTextFieldDefault{pa-offer-2-provider}{}{Anbieter}{width=\linewidth}
% Sofern zutreffend: Bekannte Anzahl der Teilnehmer } \\
\multicolumn{2}{p{0.667\textwidth}}{\hspace{-6pt}\textbf{Anzahl der stud. Teilnehmer (sofern bekannt)}} & { \textbf{Angebotssumme} & & \hspace{\fill} \CustomTextFieldDefault{pa-offer-2-amount-euro}{}{Angebotssumme (\euro)}{width=6em,align=2,default={0,00},validate=\validateCurrency}~\euro \\
\CustomTextFieldDefault{pa-participants}{}{Anzahl der Teilnehmer}{width=\linewidth,align=2,default=0,validate=\validateParticipants} \end{tabular}
} \\ \vspace{0.5em}\\
\textbf{Teilnehmende Fakultäten} & \multicolumn{2}{p{0.73\textwidth}}{ \textbf{Kommentar:}\vspace{0.5em}\\
%\CustomChoiceMenuDefault{pa-participing-faculties}{}{width=\linewidth,default=-}{-,Hochschulöffentlich=ALL,INF,ESB,LS,TEC,TEX,NXT} \TextField[
\raisebox{-1pt}{\CheckBox[ name=pa-offer-2-comment,
radio, multiline,
name=pa-participating-faculties-inf, width=1.055\textwidth,
width=1em, height=2\baselineskip,
height=1em bordercolor=black,
]{}} INF\quad backgroundcolor=white,
\raisebox{-1pt}{\CheckBox[ charsize=12pt,
radio, align=0,
name=pa-participating-faculties-esb, readonly=\isReadOnlyVariant
width=1em, ]{}\vspace{-1.5em}
height=1em }
]{}} ESB\quad
\raisebox{-1pt}{\CheckBox[
radio,
name=pa-participating-faculties-ls,
width=1em,
height=1em
]{}} LS\quad
\raisebox{-1pt}{\CheckBox[
radio,
name=pa-participating-faculties-tec,
width=1em,
height=1em
]{}} TEC\quad
\raisebox{-1pt}{\CheckBox[
radio,
name=pa-participating-faculties-tex,
width=1em,
height=1em
]{}} TEX\quad
\raisebox{-1pt}{\CheckBox[
radio,
name=pa-participating-faculties-nxt,
width=1em,
height=1em
]{}} NXT\quad
\raisebox{-1pt}{\CheckBox[
radio,
name=pa-participating-faculties-open,
width=1em,
height=1em
]{}} Öffentlich
} \\
\end{tabular}
% Input Validation: Date \FormSection{Angebot 3}{%
\newcommand{\validateStartDate}{\detokenize{ \begin{tabular}{@{}p{0.3\textwidth}p{0.35\textwidth}p{0.35\textwidth}@{}}
if (event.value != "JJJJ-MM") { \textbf{Bezeichnung} & \multicolumn{2}{p{0.73\textwidth}}{
var date = new Date(event.value); \CustomTextFieldDefault{pa-offer-3-provider}{}{Anbieter}{width=\linewidth}
if (date == "Invalid Date") { } \\
app.alert("Ungueltiges Datum: " + event.value + ". Bitte geben Sie ein gueltiges Datum im Format JJJJ-MM ein."); \textbf{Angebotssumme} & & \hspace{\fill} \CustomTextFieldDefault{pa-offer-3-amount-euro}{}{Angebotssumme (\euro)}{width=6em,align=2,default={0,00},validate=\validateCurrency}~\euro \\
event.rc = false; \end{tabular}
} else { \vspace{0.5em}\\
event.value = date.toISOString().slice(0, 7); \textbf{Kommentar:}\vspace{0.5em}\\
} \TextField[
if (this.getField("pa-end-date").value != "JJJJ-MM") { name=pa-offer-3-comment,
var endDate = new Date(this.getField("pa-end-date").value); multiline,
if (date >= endDate) { width=1.055\textwidth,
app.alert("Das Startdatum muss vor dem Enddatum liegen."); height=2\baselineskip,
event.rc = false; bordercolor=black,
} backgroundcolor=white,
} charsize=12pt,
} align=0,
}} readonly=\isReadOnlyVariant
]{}\vspace{-1.5em}
% Input Validation: End Date }
\newcommand{\validateEndDate}{\detokenize{ }
if (event.value != "JJJJ-MM") { \end{Form}
var date = new Date(event.value);
if (date == "Invalid Date") {
app.alert("Ungueltiges Datum: " + event.value + ". Bitte geben Sie ein gueltiges Datum im Format JJJJ-MM ein.");
event.rc = false;
} else {
event.value = date.toISOString().slice(0, 7);
}
if (this.getField("pa-start-date").value != "JJJJ-MM") {
var startDate = new Date(this.getField("pa-start-date").value);
if (startDate >= date) {
app.alert("Das Enddatum muss nach dem Startdatum liegen.");
event.rc = false;
}
}
}
}}
\begin{tabular}{@{}p{0.3\textwidth}p{0.35\textwidth}p{0.35\textwidth}@{}}
\textbf{Antragssumme (insg.)} & & \hspace{\fill} \CustomTextFieldDefault{pa-requested-amount-euro-sum}{}{Antragssumme (\euro)}{width=6em,align=2,default={0,00},validate=\validateCurrency}~\euro \\
\textbf{Projektzeitraum (von, bis)} & & \hspace{\fill} \CustomTextFieldDefault{pa-start-date}{}{von}{width=0.4\linewidth,default=JJJJ-MM,align=1,validate=\validateStartDate} \CustomTextFieldDefault{pa-end-date}{}{bis}{width=0.4\linewidth,default=JJJJ-MM,align=1,validate=\validateEndDate}{\BeginAccSupp{ActualText=}\color{white}~\euro\EndAccSupp{}} \\
\end{tabular}
}
\FormSection{Art der Maßnahme}{
\vspace{0.5em}
\begin{minipage}{1.05\textwidth}
\setstretch{1.0}\color{black}\dinfont\small
Sofern die Maßnahme eine bekannte Art der Finanzierung nach VWV darstellt, kann diese zur besseren Einordnung angegeben werden.
\vspace{1em}
\end{minipage}
% Drop-down menu
\CustomChoiceMenuDefault{pa-qsm-financing}{}{width=1.05\textwidth,default=-}{
{Finanzierung zusätzlicher Lehr- und Seminarangebote=vwv-3-2-1-1},
{Fachspezifische Studienprojekte=vwv-3-2-1-2},
{Hochschuldidaktische Fort- und Weiterbildungsmaßnahmen=vwv-3-2-1-3},
{Verbesserung/Ausbau von Serviceeinrichtungen sowie Infrastruktur=vwv-3-2-2-1},
{Lehr- und Lernmaterialien=vwv-3-2-2-2},
{Durchführung von Exkursionen=vwv-3-2-2-3},
{Finanzierung von infrastrukturellen Begleit- und Anpassungsmaßnahmen=vwv-3-2-2-4},
{Verbesserung der Beratungsangebote für Studierende=vwv-3-2-3-1},
{Studium Generale und fachübergreifende Lehrangebote=vwv-3-2-3-2},
{Sonstige Maßnahmen im Interesse der Studierendenschaft=vwv-3-2-3-3}
}\vspace{-1em}
}
% \Submit{Absenden}
}
\paPage{QSM Projektbeschreibung}{
\FormSection{Projektbeschreibung}{%
\vspace{0.5em}
\begin{minipage}{1.05\textwidth}
\setstretch{1.0}\color{black}\dinfont\small
Bitte beschreiben Sie hier das Projekt, die Ziele und die geplanten Maßnahmen.
\vspace{1em}
\end{minipage}
% Textfeld für die Projektbeschreibung
\TextField[
name=pa-project-description,
multiline,
width=1.055\textwidth,
height=26\baselineskip,
bordercolor=black,
backgroundcolor=white,
charsize=12pt,
align=0,
readonly=\isReadOnlyVariant
]{}\vspace{-1.5em}
}
}
% Seite für Kostenaufstellung
\iffalse
Tabelle mit:
- Index (hardcoded)
- Bezeichnung
- Kosten (Euro)
Hinweis, dass pro Position ein Beiblatt Vergleichsangebote eingereicht werden muss.
\fi
\paPage{QSM Kostenaufstellung}{
\FormSection{Kostenaufstellung}{%
\vspace{0.5em}
\begin{minipage}{1.05\textwidth}
\setstretch{1.0}\color{black}\dinfont\small
Bitte tragen Sie hier die Kosten für das Projekt ein.
Pro Position muss ein Beiblatt Vergleichsangebote eingereicht werden.
\vspace{1em}
\end{minipage}
% JS-Code to update cell on blur of any number field
\newcommand{\updateSum}{\detokenize{
var total = 0;
for (var i = 1; i <= 24; i++) {
var amountField = this.getField("pa-cost-" + i + "-amount-euro");
if (amountField) {
var amount = String(amountField.value ?? "0").replaceAll(".", "").replaceAll(",", ".");
var value = parseFloat(amount) || 0;
total += value;
amountField.value = value.toLocaleString("de-DE", { minimumFractionDigits: 2, maximumFractionDigits: 2 });
}
}
this.getField("pa-requested-amount-euro-sum").value = total.toLocaleString("de-DE", { minimumFractionDigits: 2, maximumFractionDigits: 2 });
}}
\newcommand{\validateAndUpdateSum}{
\validateCurrency
\updateSum
}
% Tabelle für die Kostenaufstellung
\begin{tabular}{@{}p{0.02\textwidth}p{0.82\textwidth}p{0.16\textwidth}@{}}
% Index
\textbf{\#} & \multicolumn{1}{c}{\textbf{Bezeichnung}} & \multicolumn{1}{c}{\textbf{Kosten (\euro)}} \\
% Insg. 24 Positionen
1 & \CustomTextFieldDefault{pa-cost-1-name}{}{Bezeichnung}{width=\linewidth} & \CustomTextFieldDefault{pa-cost-1-amount-euro}{}{Kosten}{width=6em,align=2,default={0,00},onblur=\updateSum,validate=\validateAndUpdateSum} \\
2 & \CustomTextFieldDefault{pa-cost-2-name}{}{Bezeichnung}{width=\linewidth} & \CustomTextFieldDefault{pa-cost-2-amount-euro}{}{Kosten}{width=6em,align=2,default={0,00},onblur=\updateSum,validate=\validateAndUpdateSum} \\
3 & \CustomTextFieldDefault{pa-cost-3-name}{}{Bezeichnung}{width=\linewidth} & \CustomTextFieldDefault{pa-cost-3-amount-euro}{}{Kosten}{width=6em,align=2,default={0,00},onblur=\updateSum,validate=\validateAndUpdateSum} \\
4 & \CustomTextFieldDefault{pa-cost-4-name}{}{Bezeichnung}{width=\linewidth} & \CustomTextFieldDefault{pa-cost-4-amount-euro}{}{Kosten}{width=6em,align=2,default={0,00},onblur=\updateSum,validate=\validateAndUpdateSum} \\
5 & \CustomTextFieldDefault{pa-cost-5-name}{}{Bezeichnung}{width=\linewidth} & \CustomTextFieldDefault{pa-cost-5-amount-euro}{}{Kosten}{width=6em,align=2,default={0,00},onblur=\updateSum,validate=\validateAndUpdateSum} \\
6 & \CustomTextFieldDefault{pa-cost-6-name}{}{Bezeichnung}{width=\linewidth} & \CustomTextFieldDefault{pa-cost-6-amount-euro}{}{Kosten}{width=6em,align=2,default={0,00},onblur=\updateSum,validate=\validateAndUpdateSum} \\
7 & \CustomTextFieldDefault{pa-cost-7-name}{}{Bezeichnung}{width=\linewidth} & \CustomTextFieldDefault{pa-cost-7-amount-euro}{}{Kosten}{width=6em,align=2,default={0,00},onblur=\updateSum,validate=\validateAndUpdateSum} \\
8 & \CustomTextFieldDefault{pa-cost-8-name}{}{Bezeichnung}{width=\linewidth} & \CustomTextFieldDefault{pa-cost-8-amount-euro}{}{Kosten}{width=6em,align=2,default={0,00},onblur=\updateSum,validate=\validateAndUpdateSum} \\
9 & \CustomTextFieldDefault{pa-cost-9-name}{}{Bezeichnung}{width=\linewidth} & \CustomTextFieldDefault{pa-cost-9-amount-euro}{}{Kosten}{width=6em,align=2,default={0,00},onblur=\updateSum,validate=\validateAndUpdateSum} \\
10 & \CustomTextFieldDefault{pa-cost-10-name}{}{Bezeichnung}{width=\linewidth} & \CustomTextFieldDefault{pa-cost-10-amount-euro}{}{Kosten}{width=6em,align=2,default={0,00},onblur=\updateSum,validate=\validateAndUpdateSum} \\
11 & \CustomTextFieldDefault{pa-cost-11-name}{}{Bezeichnung}{width=\linewidth} & \CustomTextFieldDefault{pa-cost-11-amount-euro}{}{Kosten}{width=6em,align=2,default={0,00},onblur=\updateSum,validate=\validateAndUpdateSum} \\
12 & \CustomTextFieldDefault{pa-cost-12-name}{}{Bezeichnung}{width=\linewidth} & \CustomTextFieldDefault{pa-cost-12-amount-euro}{}{Kosten}{width=6em,align=2,default={0,00},onblur=\updateSum,validate=\validateAndUpdateSum} \\
13 & \CustomTextFieldDefault{pa-cost-13-name}{}{Bezeichnung}{width=\linewidth} & \CustomTextFieldDefault{pa-cost-13-amount-euro}{}{Kosten}{width=6em,align=2,default={0,00},onblur=\updateSum,validate=\validateAndUpdateSum} \\
14 & \CustomTextFieldDefault{pa-cost-14-name}{}{Bezeichnung}{width=\linewidth} & \CustomTextFieldDefault{pa-cost-14-amount-euro}{}{Kosten}{width=6em,align=2,default={0,00},onblur=\updateSum,validate=\validateAndUpdateSum} \\
15 & \CustomTextFieldDefault{pa-cost-15-name}{}{Bezeichnung}{width=\linewidth} & \CustomTextFieldDefault{pa-cost-15-amount-euro}{}{Kosten}{width=6em,align=2,default={0,00},onblur=\updateSum,validate=\validateAndUpdateSum} \\
16 & \CustomTextFieldDefault{pa-cost-16-name}{}{Bezeichnung}{width=\linewidth} & \CustomTextFieldDefault{pa-cost-16-amount-euro}{}{Kosten}{width=6em,align=2,default={0,00},onblur=\updateSum,validate=\validateAndUpdateSum} \\
17 & \CustomTextFieldDefault{pa-cost-17-name}{}{Bezeichnung}{width=\linewidth} & \CustomTextFieldDefault{pa-cost-17-amount-euro}{}{Kosten}{width=6em,align=2,default={0,00},onblur=\updateSum,validate=\validateAndUpdateSum} \\
18 & \CustomTextFieldDefault{pa-cost-18-name}{}{Bezeichnung}{width=\linewidth} & \CustomTextFieldDefault{pa-cost-18-amount-euro}{}{Kosten}{width=6em,align=2,default={0,00},onblur=\updateSum,validate=\validateAndUpdateSum} \\
19 & \CustomTextFieldDefault{pa-cost-19-name}{}{Bezeichnung}{width=\linewidth} & \CustomTextFieldDefault{pa-cost-19-amount-euro}{}{Kosten}{width=6em,align=2,default={0,00},onblur=\updateSum,validate=\validateAndUpdateSum} \\
20 & \CustomTextFieldDefault{pa-cost-20-name}{}{Bezeichnung}{width=\linewidth} & \CustomTextFieldDefault{pa-cost-20-amount-euro}{}{Kosten}{width=6em,align=2,default={0,00},onblur=\updateSum,validate=\validateAndUpdateSum} \\
21 & \CustomTextFieldDefault{pa-cost-21-name}{}{Bezeichnung}{width=\linewidth} & \CustomTextFieldDefault{pa-cost-21-amount-euro}{}{Kosten}{width=6em,align=2,default={0,00},onblur=\updateSum,validate=\validateAndUpdateSum} \\
22 & \CustomTextFieldDefault{pa-cost-22-name}{}{Bezeichnung}{width=\linewidth} & \CustomTextFieldDefault{pa-cost-22-amount-euro}{}{Kosten}{width=6em,align=2,default={0,00},onblur=\updateSum,validate=\validateAndUpdateSum} \\
23 & \CustomTextFieldDefault{pa-cost-23-name}{}{Bezeichnung}{width=\linewidth} & \CustomTextFieldDefault{pa-cost-23-amount-euro}{}{Kosten}{width=6em,align=2,default={0,00},onblur=\updateSum,validate=\validateAndUpdateSum} \\
24 & \CustomTextFieldDefault{pa-cost-24-name}{}{Bezeichnung}{width=\linewidth} & \CustomTextFieldDefault{pa-cost-24-amount-euro}{}{Kosten}{width=6em,align=2,default={0,00},onblur=\updateSum,validate=\validateAndUpdateSum} \\
\textbf{$\Sigma$} & & \CustomTextFieldDefault{pa-requested-amount-euro-sum}{}{Summe}{width=6em,align=2,default={0,00},validate=\validateCurrency} \\
\end{tabular}
}
}
\paPage{QSM Checklisten}{
\FormSection{Checkliste: QS-Mittel}{
\vspace{0.5em}
\begin{minipage}{1.05\textwidth}
\setstretch{1.0}\color{black}\dinfont
Durch QS-Mittel finanzierte Projekte müssen der \href{https://www.landesrecht-bw.de/bsbw/document/VVBW-VVBW000034426}{Verwaltungsvorschrift des Landes} über die Verwendung selbiger entsprechen.
Dieses Beiblatt dient der Sicherstellung, dass die Anforderungen erfüllt werden.
\vspace{1em}
\end{minipage}
%% Tabelle; Checkboxen auf rechter Seite, Text links
\begin{tabular}{@{}p{\textwidth}p{0.05\textwidth}@{}}
% Der Antrag beinhaltet keine zeitlich unbefristeten Stellenfinanzierungen
\textbf{Die Maßnahme beinhaltet keine zeitlich unbefristeten Stellenfinanzierungen} & \raisebox{-1pt}{\CheckBox[
name=pa-qsm-stellenfinanzierungen,
width=1em,
height=1em
]{}} \\
% Die Maßnahme kommt den Studierenden zugute (vgl. VWV)
\textbf{Die Maßnahme kommt den Studierenden zugute (vgl. VWV)} & \raisebox{-1pt}{\CheckBox[
name=pa-qsm-studierende,
width=1em,
height=1em
]{}} \\
% Es findet keine individuelle Förderung von Studierenden statt
\textbf{Es findet keine individuelle Förderung von Studierenden statt} & \raisebox{-1pt}{\CheckBox[
name=pa-qsm-individuell,
width=1em,
height=1em
]{}} \\
\end{tabular}
}
\FormSection{Checkliste: Exkursionen}{
%% Tabelle; Checkboxen auf rechter Seite, Text links
\begin{tabular}{@{}p{\textwidth}p{0.05\textwidth}@{}}
% Der Antrag beinhaltet keine zeitlich unbefristeten Stellenfinanzierungen
\textbf{Die Exkursion wurde von der Fakultät genehmigt} & \raisebox{-1pt}{\CheckBox[
name=pa-qsm-exkursion-genehmigt,
width=1em,
height=1em
]{}} \\
% Die Maßnahme kommt den Studierenden zugute (vgl. VWV)
\textbf{Die Exkursion wird maßgeblich von der Fakultät bezuschusst} & \raisebox{-1pt}{\CheckBox[
name=pa-qsm-exkursion-bezuschusst,
width=1em,
height=1em
]{}}
\end{tabular}
}
% Bekannte Arten der Finanzierung nach VWV; Sofern die Maßnahme eine bekannte Art der Finanzierung nach VWV darstellt, kann diese zur besseren Einordnung angegeben werden.
% Diese sind:
% (Stufe 1)
% - Finanzierung zusätzlicher, auch fachübergreifender Lehr- und Seminarangebote
% - Fachspezifische Studienprojekte
% - Hochschuldidaktische Fort- und Weiterbildungsmaßnahmen
% (Stufe 2)
% - Verbesserung sowie Ausbau der Angebote von Serviceeinrichtungen der Hochschule sowie der lehr- und lernbezogenen Infrastruktur
% - Lehr- und Lernmaterialien
% - Durchführung von Exkursionen im Pflicht- und Wahlpflichtbereich sowie Exkursionen zur Vertiefung des Lehrinhalts
% - Finanzierung von infrastrukturellen Begleit- und Anpassungsmaßnahmen
% (Stufe 3)
% - Verbesserung der Beratungsangebote für Studierende
% - Studium Generale, fachübergreifende Lehrangebote
% - Sonstige Maßnahmen, die mittelbar der Verbesserung der Qualität von Studium und Lehre dienen und die Vielfalt der Studierendenschaft und Studienangebote widerspiegeln, hochschulübergreifende Projekte
%
% Falls keine zutrifft, muss eine Begründung, warum die Maßnahme trotzdem förderungswürdig ist, angegeben werden.
\FormSection{Checkliste: Anhänge}{
\vspace{0.5em}
\begin{minipage}{1.05\textwidth}
\setstretch{1.0}\color{black}\dinfont
Hier bitte alle mit dem Dokument eingereichten Dokumente ankreuzen:
\vspace{1em}
\end{minipage}
\begin{tabular}{@{}p{\textwidth}p{0.05\textwidth}@{}}
\textbf{Beiblatt Vergleichsangebote} & \raisebox{-1pt}{\CheckBox[
name=pa-anh-vergleichsangebote,
width=1em,
height=1em
]{}} \\
Jeweils ein Formular pro Position siehe Kostenaufstellung & \\
\textbf{Genehmigter Exkursionsantrag der Fakultät} & \raisebox{-1pt}{\CheckBox[
name=pa-anh-fakultaet,
width=1em,
height=1em
]{}} \\
Nur bei Exkursionen kann je nach Fakultät unterschiedlich sein &
\end{tabular}
}
% \Submit{Absenden}
}
\paPage{Vergleichsangebote}{
% Auswahl der Position in der Kostenaufstellung, für die Vergleichsangebote eingereicht werden; Bezeichnung des benötigten Angebots
\vspace{-2em}
\FormSection{}{%
% Nebeneinander: Links Position, rechts Bezeichnung; Tabellenzelle; Ohne Überschrift; Ohne Bezeichner (Inhalt des Drop-downs enthält "Position #")
\begin{tabular}{@{}p{0.1\textwidth}p{0.92\textwidth}@{}}
\textbf{Position} & \textbf{Bezeichnung} \\
\CustomChoiceMenuDefault{pa-offer-position}{}{width=\linewidth,default=-}{
-=-,
Pos. 1=1,
Pos. 2=2,
Pos. 3=3,
Pos. 4=4,
Pos. 5=5,
Pos. 6=6,
Pos. 7=7,
Pos. 8=8,
Pos. 9=9,
Pos. 10=10,
Pos. 11=11,
Pos. 12=12,
Pos. 13=13,
Pos. 14=14,
Pos. 15=15,
Pos. 16=16,
Pos. 17=17,
Pos. 18=18,
Pos. 19=19,
Pos. 20=20,
Pos. 21=21,
Pos. 22=22,
Pos. 23=23,
Pos. 24=24
} & \CustomTextFieldDefault{pa-offer-name}{}{Bezeichnung}{width=\linewidth} \\
\end{tabular}
}
\FormSection{Angebot 1 (bevorzugt)}{%
\begin{tabular}{@{}p{0.3\textwidth}p{0.35\textwidth}p{0.35\textwidth}@{}}
\textbf{Bezeichnung} & \multicolumn{2}{p{0.73\textwidth}}{
\CustomTextFieldDefault{pa-offer-1-provider}{}{Anbieter}{width=\linewidth}
} \\
\textbf{Angebotssumme} & & \hspace{\fill} \CustomTextFieldDefault{pa-offer-1-amount-euro}{}{Angebotssumme (\euro)}{width=6em,align=2,default={0,00},validate=\validateCurrency}~\euro \\
\end{tabular}
\vspace{0.5em}\\
\textbf{Kommentar / Begründung:}\vspace{0.5em}\\
\TextField[
name=pa-offer-1-comment,
multiline,
width=1.055\textwidth,
height=3\baselineskip,
bordercolor=black,
backgroundcolor=white,
charsize=12pt,
align=0,
readonly=\isReadOnlyVariant
]{}\vspace{-1.5em}
}
\FormSection{Angebot 2}{%
\begin{tabular}{@{}p{0.3\textwidth}p{0.35\textwidth}p{0.35\textwidth}@{}}
\textbf{Bezeichnung} & \multicolumn{2}{p{0.73\textwidth}}{
\CustomTextFieldDefault{pa-offer-2-provider}{}{Anbieter}{width=\linewidth}
} \\
\textbf{Angebotssumme} & & \hspace{\fill} \CustomTextFieldDefault{pa-offer-2-amount-euro}{}{Angebotssumme (\euro)}{width=6em,align=2,default={0,00},validate=\validateCurrency}~\euro \\
\end{tabular}
\vspace{0.5em}\\
\textbf{Kommentar:}\vspace{0.5em}\\
\TextField[
name=pa-offer-2-comment,
multiline,
width=1.055\textwidth,
height=2\baselineskip,
bordercolor=black,
backgroundcolor=white,
charsize=12pt,
align=0,
readonly=\isReadOnlyVariant
]{}\vspace{-1.5em}
}
\FormSection{Angebot 3}{%
\begin{tabular}{@{}p{0.3\textwidth}p{0.35\textwidth}p{0.35\textwidth}@{}}
\textbf{Bezeichnung} & \multicolumn{2}{p{0.73\textwidth}}{
\CustomTextFieldDefault{pa-offer-3-provider}{}{Anbieter}{width=\linewidth}
} \\
\textbf{Angebotssumme} & & \hspace{\fill} \CustomTextFieldDefault{pa-offer-3-amount-euro}{}{Angebotssumme (\euro)}{width=6em,align=2,default={0,00},validate=\validateCurrency}~\euro \\
\end{tabular}
\vspace{0.5em}\\
\textbf{Kommentar:}\vspace{0.5em}\\
\TextField[
name=pa-offer-3-comment,
multiline,
width=1.055\textwidth,
height=2\baselineskip,
bordercolor=black,
backgroundcolor=white,
charsize=12pt,
align=0,
readonly=\isReadOnlyVariant
]{}\vspace{-1.5em}
}
}
\end{Form}