changed AddApplicant

This commit is contained in:
2025-01-28 13:45:02 +01:00
parent 8e9fe46b96
commit 538399b59a
5 changed files with 172 additions and 46 deletions

View File

@@ -127,7 +127,7 @@ ColumnLayout
{ {
if(radio.children[1].checked) if(radio.children[1].checked)
{ {
if(!personalData.checkPersonalField() || !bankAccount.checkBankField() || !nationalInsurance.checkNationalInsuranceField() ) if(!personalData.checkPersonalField())
saveBtn.enabled = false saveBtn.enabled = false
else else
saveBtn.enabled = true saveBtn.enabled = true

View File

@@ -6,6 +6,7 @@ GridLayout
{ {
id: bankAccount id: bankAccount
columns: 2 columns: 2
property alias jobstatus: title
Label Label
{ {
text: qsTr("Beschäftigungsverhältnis") text: qsTr("Beschäftigungsverhältnis")
@@ -30,15 +31,11 @@ GridLayout
property string name: "iban" property string name: "iban"
id: iban id: iban
Layout.fillWidth: true Layout.fillWidth: true
placeholderText: "Pflichtfeld"
placeholderTextColor: "red"
onTextChanged: checkFields()
} }
Label Label
{ {
text: qsTr("Bank") text: qsTr("Bank")
Layout.alignment: Qt.AlignRight Layout.alignment: Qt.AlignRight
} }
ComboBox ComboBox
{ {
@@ -47,15 +44,6 @@ GridLayout
Layout.fillWidth: true Layout.fillWidth: true
model: ["",qsTr("Sparkasse"),qsTr("Volksbank")] model: ["",qsTr("Sparkasse"),qsTr("Volksbank")]
editable: true editable: true
onCurrentTextChanged: checkFields()
onEditTextChanged: checkFields()
} }
function checkBankField()
{
return (iban.text.trim() && (bankname.currentText.trim() || bankname.editText.trim()))
}
} }

View File

@@ -32,9 +32,6 @@ GridLayout
property string name: "socialno" property string name: "socialno"
id: socialnumber id: socialnumber
Layout.fillWidth: true Layout.fillWidth: true
placeholderText: "Pflichtfeld"
placeholderTextColor: "red"
onTextChanged: checkFields()
} }
Label Label
@@ -47,9 +44,6 @@ GridLayout
property string name: "taxno" property string name: "taxno"
id: taxnumber id: taxnumber
Layout.fillWidth: true Layout.fillWidth: true
placeholderText: "Pflichtfeld"
placeholderTextColor: "red"
onTextChanged: checkFields()
} }
Label Label
@@ -62,21 +56,45 @@ GridLayout
property string name: "medicalinsurance" property string name: "medicalinsurance"
id: medicalinsurance id: medicalinsurance
Layout.fillWidth: true Layout.fillWidth: true
placeholderText: "Pflichtfeld" }
placeholderTextColor: "red" Label
onTextChanged: checkFields() {
text: qsTr("Knappschaft")
visible: bankAccount.jobstatus.currentText === "Minijob" ? 1:0
}
TextField
{
property string name: "knappschaft"
id: knappschaft
Layout.fillWidth: true
visible: bankAccount.jobstatus.currentText === "Minijob" ? 1:0
} }
CheckBox CheckBox
{ {
property string name: "worklicense" property string name: "worklicense"
id: worklicense
Layout.columnSpan: 2 Layout.columnSpan: 2
text: qsTr("Arbeitserlaubnis") text: qsTr("Arbeitserlaubnis")
visible: nation.currentText === "Deutschland"? false:true visible: nation.currentText === "Deutschland"? false:true
} }
Label Label
{ {
text: qsTr("Pass gültig bis") text: qsTr("Ausweis Nr.")
visible: nation.currentText === "Deutschland"? false:true
}
TextField
{
property string name: "passno"
id: passno
visible: nation.currentText === "Deutschland"? false:true
Layout.fillWidth: true
}
Label
{
text: qsTr("Ausweis gültig bis")
visible: nation.currentText === "Deutschland"? false:true visible: nation.currentText === "Deutschland"? false:true
} }
TextField TextField
@@ -85,8 +103,30 @@ GridLayout
id: passduration id: passduration
visible: nation.currentText === "Deutschland"? false:true visible: nation.currentText === "Deutschland"? false:true
Layout.fillWidth: true Layout.fillWidth: true
placeholderText: "Pflichtfeld" }
placeholderTextColor: "red" Label
{
text: qsTr("Ausstellungsort")
visible: nation.currentText === "Deutschland"? false:true
}
TextField
{
property string name: "exhibitionlocation"
id: exhibitionlocation
visible: nation.currentText === "Deutschland"? false:true
Layout.fillWidth: true
}
Label
{
text: qsTr("Ausgestellt am")
visible: nation.currentText === "Deutschland"? false:true
}
TextField
{
property string name: "exhibitdate"
id: exhibitdate
visible: nation.currentText === "Deutschland"? false:true
Layout.fillWidth: true
} }
Label Label
{ {
@@ -99,17 +139,8 @@ GridLayout
id: aufenthalt id: aufenthalt
visible: nation.currentText === "Deutschland"? false:true visible: nation.currentText === "Deutschland"? false:true
Layout.fillWidth: true Layout.fillWidth: true
placeholderText: "Pflichtfeld"
placeholderTextColor: "red"
} }
function checkNationalInsuranceField()
{
if (nation.currentText === "Deutschland")
{
return (socialnumber.text.trim() && taxnumber.text.trim() && medicalinsurance.text.trim())
}
}
} }

View File

@@ -92,6 +92,10 @@ GridLayout
Layout.fillWidth: true Layout.fillWidth: true
placeholderTextColor: "red" placeholderTextColor: "red"
onTextChanged: checkFields() onTextChanged: checkFields()
validator: RegularExpressionValidator
{
regularExpression: /([0-9a-zA-Z\-]{1,6})/
}
} }
Label Label
@@ -146,6 +150,61 @@ GridLayout
currentIndex: -1 currentIndex: -1
} }
Label
{
text: qsTr("Geburtsname")
Layout.alignment: Qt.AlignRight
visible: radio.children[1].checked
}
TextField
{
property string name: "birthname"
id: birthname
Layout.fillWidth: true
onTextChanged: checkFields()
Layout.columnSpan: 3
visible: radio.children[1].checked
}
Label
{
text: qsTr("Geburtsdatum")
Layout.alignment: Qt.AlignRight
visible: radio.children[1].checked
}
TextField
{
property string name: "birthday"
id: birthday
Layout.fillWidth: true
placeholderText: "Pflichtfeld"
placeholderTextColor: "red"
onTextChanged: checkFields()
Layout.columnSpan: 3
visible: radio.children[1].checked
validator: RegularExpressionValidator
{
regularExpression: /((^|)(0[1-9]{1}|[1-2]{1}[0-9]{1}|3[0-1]))\.((^|)(0[1-9]{1}|1[0-2]{1}))\.((^|)(196[0-9]{1}|19[7-9]{1}[0-9]{1}|20[0-9]{2}))/
}
}
Label
{
text: qsTr("Geburtsort")
Layout.alignment: Qt.AlignRight
visible: radio.children[1].checked
}
TextField
{
property string name: "placeofbirth"
id: placeofbirth
Layout.fillWidth: true
placeholderText: "Pflichtfeld"
placeholderTextColor: "red"
onTextChanged: checkFields()
Layout.columnSpan: 3
visible: radio.children[1].checked
}
Label Label
{ {
@@ -160,6 +219,10 @@ GridLayout
placeholderTextColor: "red" placeholderTextColor: "red"
Layout.columnSpan: 3 Layout.columnSpan: 3
onTextChanged: checkFields() onTextChanged: checkFields()
validator: RegularExpressionValidator
{
regularExpression: /([+0-9]{1})([0-9]{1,17})/
}
} }
Label Label
{ {
@@ -174,6 +237,10 @@ GridLayout
placeholderTextColor: "red" placeholderTextColor: "red"
Layout.columnSpan: 3 Layout.columnSpan: 3
onTextChanged: checkFields() onTextChanged: checkFields()
validator: RegularExpressionValidator
{
regularExpression: /([+0-9]{1})([0-9]{1,17})/
}
} }
Label Label
{ {
@@ -188,6 +255,10 @@ GridLayout
placeholderTextColor: "red" placeholderTextColor: "red"
Layout.columnSpan: 3 Layout.columnSpan: 3
onTextChanged: checkFields() onTextChanged: checkFields()
validator: RegularExpressionValidator
{
regularExpression: /([\+!#$%&\*\\/\=?\^_`\.{|}\~0-9A-Za-z]{1,185})@([0-9A-Za-z\.]{1,64})\.([a-zA-z]{2,5})/
}
} }
Label Label
{ {
@@ -206,6 +277,22 @@ GridLayout
Layout.columnSpan: 3 Layout.columnSpan: 3
} }
Label Label
{
text: qsTr("Stundenlohn")
Layout.alignment: Qt.AlignRight
visible: radio.children[1].checked
}
TextField
{
property string name: "salary"
id: salary
Layout.fillWidth: true
visible: radio.children[1].checked
placeholderTextColor: "red"
Layout.columnSpan: 3
onTextChanged: checkFields()
}
Label
{ {
text: qsTr("Jobbeschreibung") text: qsTr("Jobbeschreibung")
Layout.alignment: Qt.AlignRight Layout.alignment: Qt.AlignRight
@@ -236,6 +323,10 @@ GridLayout
placeholderTextColor: "red" placeholderTextColor: "red"
Layout.columnSpan: 3 Layout.columnSpan: 3
onTextChanged: checkFields() onTextChanged: checkFields()
validator: RegularExpressionValidator
{
regularExpression: /((^|)(0[1-9]{1}|[1-2]{1}[0-9]{1}|3[0-1]))\.((^|)(0[1-9]{1}|1[0-2]{1}))\.((^|)(196[0-9]{1}|19[7-9]{1}[0-9]{1}|20[0-9]{2}))/
}
} }
Label Label
{ {
@@ -252,22 +343,38 @@ GridLayout
placeholderTextColor: "red" placeholderTextColor: "red"
Layout.columnSpan: 3 Layout.columnSpan: 3
onTextChanged: checkFields() onTextChanged: checkFields()
validator: RegularExpressionValidator
{
regularExpression: /((^|)(0[1-9]{1}|[1-2]{1}[0-9]{1}|3[0-1]))\.((^|)(0[1-9]{1}|1[0-2]{1}))\.((^|)(196[0-9]{1}|19[7-9]{1}[0-9]{1}|20[0-9]{2}))/
}
} }
Label Label
{ {
text: qsTr("Arbeitszeiten") text: qsTr("Arbeitszeiten Tage")
Layout.alignment: Qt.AlignRight Layout.alignment: Qt.AlignRight
visible: radio.children[1].checked visible: radio.children[1].checked
} }
TextField ComboBox
{ {
property string name: "timework" property string name: "workdays"
id: timetowork id: workdays
Layout.fillWidth: true Layout.fillWidth: true
visible: radio.children[1].checked visible: radio.children[1].checked
placeholderTextColor: "red" model: ["1","2","3","4","5","6","7"]
Layout.columnSpan: 3 }
onTextChanged: checkFields() Label
{
text: qsTr("Stunden")
Layout.alignment: Qt.AlignRight
visible: radio.children[1].checked
}
ComboBox
{
property string name: "workhours"
id: workhours
Layout.fillWidth: true
visible: radio.children[1].checked
model: ["1","2","3","4","5","6","7","8"]
} }
Label Label
{ {
@@ -299,9 +406,10 @@ GridLayout
{ {
return (firstname.text.trim() && lastname.text.trim() && street.text.trim() && houseno.text.trim() return (firstname.text.trim() && lastname.text.trim() && street.text.trim() && houseno.text.trim()
&& (postcode.editText.trim() || postcode.currentText.trim()) && (postcode.editText.trim() || postcode.currentText.trim())
&& (city.editText.trim() || city.currentText.trim()) && phonenumber.text.trim() && (city.editText.trim() || city.currentText.trim())
&& birthday.text.trim() && phonenumber.text.trim()
&& cellphone.text.trim() && email.text.trim() && jobdescription.text.trim() && cellphone.text.trim() && email.text.trim() && jobdescription.text.trim()
&& workstart.text.trim() && workend.text.trim() && timetowork.text.trim() && briefAnrede.text.trim()) && workstart.text.trim() && workend.text.trim() && briefAnrede.text.trim())
} }
} }
function requiredField() function requiredField()
@@ -314,7 +422,6 @@ GridLayout
jobdescription.placeholderText = pf jobdescription.placeholderText = pf
workstart.placeholderText = pf workstart.placeholderText = pf
workend.placeholderText = pf workend.placeholderText = pf
timetowork.placeholderText = pf
briefAnrede.placeholderText = pf briefAnrede.placeholderText = pf
houseno.placeholderText = pf houseno.placeholderText = pf
} }

View File

@@ -6,6 +6,7 @@ GridLayout
{ {
id: applicantVarious id: applicantVarious
columns: 2 columns: 2
Label Label
{ {
text: qsTr("Grad der Behinderung") text: qsTr("Grad der Behinderung")
@@ -16,7 +17,6 @@ GridLayout
property string name: "behinderung" property string name: "behinderung"
id: behinderung id: behinderung
placeholderText: "0,0" placeholderText: "0,0"
Layout.fillWidth: true
} }
Label Label