Compare commits

...

3 Commits

Author SHA256 Message Date
f035f60910 Add AddApplicant - Not Done Yet 2025-01-15 14:39:45 +01:00
f2969aeafe Merge branch 'main' into schnacke
refresh
2025-01-15 11:26:20 +01:00
8f41c240ac Test 2025-01-14 14:34:57 +01:00
8 changed files with 437 additions and 3 deletions

77
Gui/AddApplicant.qml Normal file
View File

@@ -0,0 +1,77 @@
import QtQuick
import QtQuick.Controls
import QtQuick.Layouts
ColumnLayout
{
anchors.fill: parent
Label
{
Layout.alignment: Qt.AlignHCenter | Qt.AlignTop
id: headline
text: qsTr("Mitarbeiter / Bewerber hinzufügen")
font.pixelSize: 35
}
RowLayout
{
Layout.fillWidth: true
ApplicantPersonalData
{
id: personalData
}
ColumnLayout
{
Layout.alignment: Qt.AlignTop
CheckBox
{
id: checkcontactdata
Layout.fillWidth: true
text: qsTr("Kontaktdaten")
checked: false
onCheckStateChanged:
{
contactData.visible = checked
}
}
ApplicantContactData
{
id: contactData
visible: false
}
CheckBox
{
id: checkbankdata
Layout.fillWidth: true
text: qsTr("Bankdaten")
checked: false
onCheckStateChanged:
{
bankData.visible = checked
}
}
ApplicantBankData
{
id: bankData
visible: false
}
ApplicantNationality
{
}
}
}
Item
{
Layout.fillHeight: true
}
}

View File

@@ -1,8 +1,7 @@
import QtQuick import QtQuick
import QtQuick.Controls import QtQuick.Controls
import QtQuick.Layouts import QtQuick.Layouts
//Oschkarischtverhaftetwegensexy
//Oschkarischtverhaftetwegennichtganzsosexy
GridLayout GridLayout
{ {
id: addContactLayout id: addContactLayout

29
Gui/ApplicantBankData.qml Normal file
View File

@@ -0,0 +1,29 @@
import QtQuick
import QtQuick.Controls
import QtQuick.Layouts
GridLayout
{
columns: 2
Label
{
text: qsTr("IBAN")
Layout.alignment: Qt.AlignRight
}
TextField
{
id: iban
Layout.fillWidth: true
}
Label
{
text: qsTr("Bank")
Layout.alignment: Qt.AlignRight
}
TextField
{
id: bankname
Layout.fillWidth: true
}
}

View File

@@ -0,0 +1,67 @@
import QtQuick
import QtQuick.Controls
import QtQuick.Layouts
GridLayout
{
id: contactData
columns: 2
Label
{
text: qsTr("Straße")
Layout.alignment: Qt.AlignRight
}
TextField
{
id: street
Layout.fillWidth: true
}
Label
{
text: qsTr("PLZ")
Layout.alignment: Qt.AlignRight
}
RowLayout
{
ComboBox
{
id: postcode
Layout.fillWidth: true
}
Label
{
text: qsTr("Ort")
}
ComboBox
{
id: city
Layout.fillWidth: true
}
}
Label
{
text: qsTr("Telefonnummer")
Layout.alignment: Qt.AlignRight
}
TextField
{
id: phonenumber
Layout.fillWidth: true
}
Label
{
text: qsTr("E-Mail")
Layout.alignment: Qt.AlignRight
}
TextField
{
id: email
Layout.fillWidth: true
}
}

View File

@@ -0,0 +1,92 @@
import QtQuick
import QtQuick.Controls
import QtQuick.Layouts
GridLayout
{
columns: 2
Label
{
text: qsTr("Staatsangehörigkeit Deutsch")
}
Row
{
RadioButton
{
id: radioyes
text: qsTr("Ja")
checked: true
}
RadioButton
{
id: radiono
text: qsTr("Nein")
}
}
Label
{
text: qsTr("Sozialversicherungs-Nr")
}
TextField
{
id: socialnumber
}
Label
{
text: qsTr("Steuer-ID")
}
TextField
{
id: taxnumber
}
Label
{
text: qsTr("Krankenkasse")
}
TextField
{
id: medicalinsurance
}
Item
{
Layout.columnSpan: 2
visible: radiono.checked
GridLayout
{
columns: 2
CheckBox
{
Layout.columnSpan: 2
text: qsTr("Arbeitserlaubnis")
}
Label
{
text: qsTr("Staatsangehörigkeit")
}
TextField
{
id: nationality
}
Label
{
text: qsTr("Pass gültig bis")
}
TextField
{
id: pass
}
Label
{
text: qsTr("Aufenthaltstitel gültig bis")
}
TextField
{
id: aufenthalt
}
}
}
}

View File

@@ -0,0 +1,165 @@
import QtQuick
import QtQuick.Controls
import QtQuick.Layouts
GridLayout
{
id: personalData
columns: 2
ButtonGroup
{
buttons: radio.children
}
Row
{
Layout.fillWidth: true
id: radio
Layout.columnSpan: 2
RadioButton
{
checked: true
text: qsTr("Bewerber")
}
RadioButton
{
text: qsTr("Mitarbeiter")
}
}
Label
{
text: qsTr("Anrede")
}
ComboBox
{
id: title
Layout.fillWidth: true
editable: false
model: [qsTr("Herr"), qsTr("Frau")]
}
Label
{
text: qsTr("Vorname")
}
TextField
{
id: firstname
Layout.fillWidth: true
placeholderText: "Pflichtfeld"
placeholderTextColor: "red"
}
Label
{
text: qsTr("Nachname")
}
TextField
{
id: lastname
Layout.fillWidth: true
placeholderText: "Pflichtfeld"
placeholderTextColor: "red"
}
Label
{
text: qsTr("Geburtsname")
}
TextField
{
id: birthname
Layout.fillWidth: true
}
Label
{
text: qsTr("Geburtsdatum")
}
TextField
{
id: birthday
Layout.fillWidth: true
placeholderText: qsTr("TT.MM.JJJJ")
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")
}
TextField
{
id: placeofbirth
Layout.fillWidth: true
}
Label
{
text: qsTr("Geschlecht")
}
ComboBox
{
id: gender
Layout.fillWidth: true
editable: false
model: [qsTr("Mann"), qsTr("Frau"), qsTr("Divers")]
}
Label
{
text: qsTr("Familienstand")
}
ComboBox
{
id: maritalstatus
Layout.fillWidth: true
editable: false
model: [qsTr("ledig"), qsTr("verheiratet"), qsTr("verwitwet"), qsTr("geschieden")]
}
Label
{
text: qsTr("Jobbeschreibung")
}
TextField
{
id: jobdescription
Layout.fillWidth: true
}
Label
{
text: qsTr("Arbeitsbeginn")
}
TextField
{
id: workstart
Layout.fillWidth: true
}
Label
{
text: qsTr("Bei Befristung Ende")
}
TextField
{
id: workend
Layout.fillWidth: true
}
Label
{
text: qsTr("Arbeitszeiten")
}
TextField
{
id: timetowork
Layout.fillWidth: true
}
}

View File

@@ -57,7 +57,7 @@ ApplicationWindow
} }
else else
{ {
if (db_con) appLoader.source= "LoginScreen.qml" if (db_con) appLoader.source= "AddApplicant.qml"
else appLoader.source= "NoDbConnection.qml" else appLoader.source= "NoDbConnection.qml"
} }
} }

View File

@@ -24,5 +24,10 @@
<file>Gui/ObjectAddOnContactPerson.qml</file> <file>Gui/ObjectAddOnContactPerson.qml</file>
<file>Gui/ObjectAddOnEmployee.qml</file> <file>Gui/ObjectAddOnEmployee.qml</file>
<file>Gui/AddObjectEmployee.qml</file> <file>Gui/AddObjectEmployee.qml</file>
<file>Gui/AddApplicant.qml</file>
<file>Gui/ApplicantPersonalData.qml</file>
<file>Gui/ApplicantContactData.qml</file>
<file>Gui/ApplicantBankData.qml</file>
<file>Gui/ApplicantNationality.qml</file>
</qresource> </qresource>
</RCC> </RCC>