diff --git a/Gui/AddApplicant.qml b/Gui/AddApplicant.qml new file mode 100644 index 0000000..ef4c905 --- /dev/null +++ b/Gui/AddApplicant.qml @@ -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 + } +} diff --git a/Gui/ApplicantBankData.qml b/Gui/ApplicantBankData.qml new file mode 100644 index 0000000..15d3855 --- /dev/null +++ b/Gui/ApplicantBankData.qml @@ -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 + } +} diff --git a/Gui/ApplicantContactData.qml b/Gui/ApplicantContactData.qml new file mode 100644 index 0000000..be62b06 --- /dev/null +++ b/Gui/ApplicantContactData.qml @@ -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 + } +} diff --git a/Gui/ApplicantNationality.qml b/Gui/ApplicantNationality.qml new file mode 100644 index 0000000..76ae599 --- /dev/null +++ b/Gui/ApplicantNationality.qml @@ -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 + } + } + } +} diff --git a/Gui/ApplicantPersonalData.qml b/Gui/ApplicantPersonalData.qml new file mode 100644 index 0000000..68b95e2 --- /dev/null +++ b/Gui/ApplicantPersonalData.qml @@ -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 + + } + +} diff --git a/Gui/main.qml b/Gui/main.qml index 593cf2b..ed248c1 100644 --- a/Gui/main.qml +++ b/Gui/main.qml @@ -57,7 +57,7 @@ ApplicationWindow } else { - if (db_con) appLoader.source= "LoginScreen.qml" + if (db_con) appLoader.source= "AddApplicant.qml" else appLoader.source= "NoDbConnection.qml" } } diff --git a/qml.qrc b/qml.qrc index 6825588..e0bcf03 100644 --- a/qml.qrc +++ b/qml.qrc @@ -24,5 +24,10 @@ Gui/ObjectAddOnContactPerson.qml Gui/ObjectAddOnEmployee.qml Gui/AddObjectEmployee.qml + Gui/AddApplicant.qml + Gui/ApplicantPersonalData.qml + Gui/ApplicantContactData.qml + Gui/ApplicantBankData.qml + Gui/ApplicantNationality.qml