diff --git a/Gui/AddApplicant.qml b/Gui/AddApplicant.qml index ef4c905..aefcb6b 100644 --- a/Gui/AddApplicant.qml +++ b/Gui/AddApplicant.qml @@ -2,76 +2,163 @@ import QtQuick import QtQuick.Controls import QtQuick.Layouts -ColumnLayout -{ - anchors.fill: parent - Label +// ScrollView +// { +// anchors.fill: parent +// ScrollBar.vertical: ScrollBar +// { +// policy: ScrollBar.AlwaysOn +// } + ColumnLayout { - Layout.alignment: Qt.AlignHCenter | Qt.AlignTop - id: headline - text: qsTr("Mitarbeiter / Bewerber hinzufügen") - font.pixelSize: 35 - - } - RowLayout - { - Layout.fillWidth: true - ApplicantPersonalData + id: colPar + anchors.fill: parent + Label { - id: personalData + Layout.alignment: Qt.AlignHCenter | Qt.AlignTop + id: headline + text: qsTr("Mitarbeiter / Bewerber hinzufügen") + font.pixelSize: 35 } - ColumnLayout + ButtonGroup { - 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 - { - - } - - - - + buttons: radio.children } + Row + { + Layout.fillWidth: true + id: radio + Layout.columnSpan: 2 + RadioButton + { + checked: true + text: qsTr("Bewerber") + } + RadioButton + { + text: qsTr("Mitarbeiter") + } + } + RowLayout + { + Layout.fillWidth: true + spacing: 50 + Frame + { + Layout.alignment: Qt.AlignTop + Layout.fillWidth: true + ApplicantPersonalData + { + id: personalData + width: parent.width + } + } + Frame + { + Layout.alignment: Qt.AlignTop + Layout.fillWidth: true + visible: radio.children[1].checked + ColumnLayout + { + Layout.alignment: Qt.AlignTop + width: parent.width + // CheckBox + // { + // id: checkcontactdata + // Layout.fillWidth: true + // text: qsTr("Kontaktdaten") + // checked: false + // } + // ApplicantContactData + // { + // visible: checkcontactdata.checked + // } + + CheckBox + { + id: checkbankdata + Layout.fillWidth: true + text: qsTr("Bankdaten") + checked: false + } + + ApplicantBankData + { + id: checkbankData + visible: checkbankdata.checked + } + + ApplicantNationalInsurance + { + + } + + CheckBox + { + id: miniJobber + Layout.fillWidth: true + text: qsTr("Minijob") + checked: false + } + + ApplicantMiniJob + { + id: miniJob + visible: miniJobber.checked + } + + ApplicantVarious + { + // Layout.margins: + // { + // top: 30 + // } + } + } + } + } + + Item + { + Layout.fillHeight: true + } + + RowLayout + { + Layout.fillHeight: true + Layout.alignment: Qt.AlignRight + Button + { + text: qsTr("Abbrechen") + onClicked: appLoader.source = "EmployeeTable.qml" + } + Button + { + id: saveBtn + text: qsTr("Speichern") + enabled: false + // onClicked: + // { + // if (!checkAddContact.checked) + // { + // new_business = JsLib.addBusiness(customerView) + // business_model.addBusiness(new_business, 0) + // appLoader.source = "EmployeeTable.qml" + // } + // else + // { + // new_business = JsLib.addBusiness(customerView) + // var new_contact = JsLib.addBusiness(addContactLayout) + // contact_model.addContact(new_contact) + // } + // } + } + } } - Item - { - Layout.fillHeight: true - } -} +//} + diff --git a/Gui/AddContact.qml b/Gui/AddContact.qml index 6e37ff7..ee198cc 100644 --- a/Gui/AddContact.qml +++ b/Gui/AddContact.qml @@ -2,15 +2,19 @@ import QtQuick import QtQuick.Controls import QtQuick.Layouts +Frame +{ + Layout.alignment: Qt.AlignTop + Layout.fillWidth: true GridLayout { id: addContactLayout - Layout.fillWidth: true - Layout.fillHeight: true - Layout.alignment: Qt.AlignTop + anchors.fill: parent + // Layout.fillWidth: true + // Layout.fillHeight: true + // Layout.alignment: Qt.AlignTop columns: 2 rowSpacing: 9 - visible: false property alias fname: firstname property alias lname: lastname @@ -195,3 +199,4 @@ GridLayout } } } +} diff --git a/Gui/AddCustomer.qml b/Gui/AddCustomer.qml index 66e896c..c89e416 100644 --- a/Gui/AddCustomer.qml +++ b/Gui/AddCustomer.qml @@ -26,7 +26,6 @@ ColumnLayout checked: false onCheckStateChanged: { - addContactLayout.visible = checked checkFields() } } @@ -37,15 +36,21 @@ ColumnLayout Layout.fillWidth: true Layout.fillHeight: true spacing: 45 - - CustomerView + Frame { - id: customerView + Layout.alignment: Qt.AlignTop + Layout.fillWidth: true + CustomerView + { + id: customerView + width: parent.width + } } AddContact { - id: addContactLayout + //id: addContactLayout + visible: checkAddContact.checked } } RowLayout diff --git a/Gui/AddObject.qml b/Gui/AddObject.qml index 8986f8a..b3b8bb9 100644 --- a/Gui/AddObject.qml +++ b/Gui/AddObject.qml @@ -26,7 +26,6 @@ ColumnLayout checked: false onCheckStateChanged: { - addObjectLayout.visible = checked //checkFields() } } @@ -38,14 +37,21 @@ ColumnLayout Layout.fillHeight: true spacing: 45 - ObjectView + Frame { - id: objectView + Layout.alignment: Qt.AlignTop + Layout.fillWidth: true + ObjectView + { + id: objectView + width: parent.width + } } ObjectAddOns { id: addObjectLayout + visible: checkAddObject.checked } } RowLayout diff --git a/Gui/ApplicantBirthData.qml b/Gui/ApplicantBirthData.qml new file mode 100644 index 0000000..47756b4 --- /dev/null +++ b/Gui/ApplicantBirthData.qml @@ -0,0 +1,50 @@ +import QtQuick + +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")] +} diff --git a/Gui/ApplicantContactData.qml b/Gui/ApplicantContactData.qml index be62b06..3245d1a 100644 --- a/Gui/ApplicantContactData.qml +++ b/Gui/ApplicantContactData.qml @@ -10,7 +10,7 @@ GridLayout { text: qsTr("Straße") Layout.alignment: Qt.AlignRight - } + } TextField { id: street @@ -23,9 +23,6 @@ GridLayout } RowLayout { - - - ComboBox { id: postcode diff --git a/Gui/ApplicantMiniJob.qml b/Gui/ApplicantMiniJob.qml new file mode 100644 index 0000000..4b7770d --- /dev/null +++ b/Gui/ApplicantMiniJob.qml @@ -0,0 +1,19 @@ +import QtQuick +import QtQuick.Controls +import QtQuick.Layouts + +GridLayout +{ + columns: 2 + Label + { + text: qsTr("Knappschaft") + } + + TextField + { + id: knappschaft + Layout.fillWidth: true + } +} + diff --git a/Gui/ApplicantNationalInsurance.qml b/Gui/ApplicantNationalInsurance.qml new file mode 100644 index 0000000..0ad13db --- /dev/null +++ b/Gui/ApplicantNationalInsurance.qml @@ -0,0 +1,106 @@ +import QtQuick +import QtQuick.Controls +import QtQuick.Layouts + +GridLayout +{ + columns: 2 + + Label + { + text: qsTr("Staatsangehörigkeit Deutsch") + } + + Row + { + Layout.fillWidth: true + Layout.alignment: Qt.AlignLeft + RadioButton + { + id: radioyes + text: qsTr("Ja") + checked: true + } + + RadioButton + { + id: radiono + text: qsTr("Nein") + } + } + + Label + { + text: qsTr("Sozialversicherungs-Nr") + } + + TextField + { + id: socialnumber + Layout.fillWidth: true + } + + Label + { + text: qsTr("Steuer-ID") + } + + TextField + { + id: taxnumber + Layout.fillWidth: true + } + + Label + { + text: qsTr("Krankenkasse") + } + + TextField + { + id: medicalinsurance + Layout.fillWidth: true + } + + CheckBox + { + Layout.columnSpan: 2 + text: qsTr("Arbeitserlaubnis") + visible: radiono.checked + } + Label + { + text: qsTr("Staatsangehörigkeit") + visible: radiono.checked + } + TextField + { + id: nationality + visible: radiono.checked + Layout.fillWidth: true + } + Label + { + text: qsTr("Pass gültig bis") + visible: radiono.checked + } + TextField + { + id: pass + visible: radiono.checked + Layout.fillWidth: true + } + Label + { + text: qsTr("Aufenthaltstitel gültig bis") + visible: radiono.checked + } + TextField + { + id: aufenthalt + visible: radiono.checked + Layout.fillWidth: true + } +} + + diff --git a/Gui/ApplicantNationality.qml b/Gui/ApplicantNationality.qml index 76ae599..3528433 100644 --- a/Gui/ApplicantNationality.qml +++ b/Gui/ApplicantNationality.qml @@ -2,91 +2,36 @@ import QtQuick import QtQuick.Controls import QtQuick.Layouts - -GridLayout -{ - columns: 2 - Label + CheckBox { - 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 - } - } + 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 index 68b95e2..296173a 100644 --- a/Gui/ApplicantPersonalData.qml +++ b/Gui/ApplicantPersonalData.qml @@ -7,30 +7,10 @@ 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") + Layout.alignment: Qt.AlignRight } ComboBox { @@ -38,10 +18,12 @@ GridLayout Layout.fillWidth: true editable: false model: [qsTr("Herr"), qsTr("Frau")] + onCurrentTextChanged: briefAnrede.text = title.currentText === "Herr"? "Sehr geehrter " + title.currentText + ",": "Sehr geehrte " + title.currentText + "," } Label { text: qsTr("Vorname") + Layout.alignment: Qt.AlignRight } TextField { @@ -54,6 +36,7 @@ GridLayout Label { text: qsTr("Nachname") + Layout.alignment: Qt.AlignRight } TextField { @@ -65,54 +48,65 @@ GridLayout } Label { - text: qsTr("Geburtsname") + text: qsTr("Straße") + Layout.alignment: Qt.AlignRight } TextField { - id: birthname + id: street Layout.fillWidth: true - - } Label { - text: qsTr("Geburtsdatum") + text: qsTr("PLZ") + Layout.alignment: Qt.AlignRight } - TextField + RowLayout { - id: birthday - Layout.fillWidth: true - placeholderText: qsTr("TT.MM.JJJJ") - validator: RegularExpressionValidator - + ComboBox { - 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}))/ + id: postcode + Layout.fillWidth: true + } + + + Label + { + text: qsTr("Ort") + Layout.alignment: Qt.AlignRight + + } + ComboBox + { + id: city + Layout.fillWidth: true } } Label { - text: qsTr("Geburtsort") + text: qsTr("Telefonnummer") + Layout.alignment: Qt.AlignRight } TextField { - id: placeofbirth + id: phonenumber Layout.fillWidth: true - } Label { - text: qsTr("Geschlecht") + text: qsTr("E-Mail") + Layout.alignment: Qt.AlignRight } - ComboBox + TextField { - id: gender + id: email Layout.fillWidth: true - editable: false - model: [qsTr("Mann"), qsTr("Frau"), qsTr("Divers")] } Label { text: qsTr("Familienstand") + Layout.alignment: Qt.AlignRight + visible: radio.children[1].checked } ComboBox { @@ -120,46 +114,71 @@ GridLayout Layout.fillWidth: true editable: false model: [qsTr("ledig"), qsTr("verheiratet"), qsTr("verwitwet"), qsTr("geschieden")] + visible: radio.children[1].checked } Label { text: qsTr("Jobbeschreibung") + Layout.alignment: Qt.AlignRight + visible: radio.children[1].checked } TextField { id: jobdescription Layout.fillWidth: true - + visible: radio.children[1].checked } Label { text: qsTr("Arbeitsbeginn") + Layout.alignment: Qt.AlignRight + visible: radio.children[1].checked } TextField { id: workstart Layout.fillWidth: true - + visible: radio.children[1].checked } Label { text: qsTr("Bei Befristung Ende") + Layout.alignment: Qt.AlignRight + visible: radio.children[1].checked } TextField { id: workend Layout.fillWidth: true - + visible: radio.children[1].checked } Label { text: qsTr("Arbeitszeiten") + Layout.alignment: Qt.AlignRight + visible: radio.children[1].checked } TextField { id: timetowork Layout.fillWidth: true + visible: radio.children[1].checked + } + Label + { + text: qsTr("Briefanrede") + Layout.alignment: Qt.AlignRight + } + TextField + { + id: briefAnrede + Layout.fillWidth: true + } + Item + { + Layout.fillHeight: true + Layout.columnSpan: 2 } } diff --git a/Gui/ApplicantVarious.qml b/Gui/ApplicantVarious.qml new file mode 100644 index 0000000..00ade7d --- /dev/null +++ b/Gui/ApplicantVarious.qml @@ -0,0 +1,53 @@ +import QtQuick +import QtQuick.Controls +import QtQuick.Layouts + +GridLayout +{ + columns: 2 + Label + { + text: qsTr("Grad der Behinderung") + } + + TextField + { + id: behinderung + placeholderText: "0,0" + Layout.fillWidth: true + } + + Label + { + text: qsTr("Disponent") + } + + TextField + { + id: disponent + Layout.fillWidth: true + } + + Label + { + text: qsTr("Kostenstelle") + } + + TextField + { + id: kostenstelle + Layout.fillWidth: true + } + + Label + { + text: qsTr("Fremdlohn-Nr.") + } + + TextField + { + id: fremdLohnNummer + Layout.fillWidth: true + } +} + diff --git a/Gui/EmployeeTable.qml b/Gui/EmployeeTable.qml index 9123ad4..068b4ca 100644 --- a/Gui/EmployeeTable.qml +++ b/Gui/EmployeeTable.qml @@ -13,6 +13,16 @@ Item { anchors.margins: 9 } + Button + { + id: addEmployeeBtn + icon.source: "qrc:/images/addbusiness.svg" + icon.color: "olive" + anchors.right: parent.right + flat: true + onClicked: appLoader.source = "AddApplicant.qml" + } + ColumnLayout { anchors @@ -94,7 +104,7 @@ Item { Text { Layout.fillWidth: true - text: model.display + text: model.display? model.display: "" } diff --git a/Gui/ObjectAddOns.qml b/Gui/ObjectAddOns.qml index ce3d4ea..007dbe1 100644 --- a/Gui/ObjectAddOns.qml +++ b/Gui/ObjectAddOns.qml @@ -1,21 +1,26 @@ import QtQuick import QtQuick.Layouts +import QtQuick.Controls -ColumnLayout +Frame { - id: addObjectLayout - visible: false - - ObjectAddOnEmployee + Layout.alignment: Qt.AlignTop + Layout.fillWidth: true + ColumnLayout { - id: oaoemployee - } - ObjectAddOnContactPerson - { - id: oaocontactperson - } - Item - { - Layout.fillHeight: true + id: addObjectLayout + width: parent.width + ObjectAddOnEmployee + { + id: oaoemployee + } + ObjectAddOnContactPerson + { + id: oaocontactperson + } + Item + { + Layout.fillHeight: true + } } } diff --git a/Gui/main.qml b/Gui/main.qml index ed248c1..593cf2b 100644 --- a/Gui/main.qml +++ b/Gui/main.qml @@ -57,7 +57,7 @@ ApplicationWindow } else { - if (db_con) appLoader.source= "AddApplicant.qml" + if (db_con) appLoader.source= "LoginScreen.qml" else appLoader.source= "NoDbConnection.qml" } } diff --git a/qml.qrc b/qml.qrc index e0bcf03..d701366 100644 --- a/qml.qrc +++ b/qml.qrc @@ -29,5 +29,9 @@ Gui/ApplicantContactData.qml Gui/ApplicantBankData.qml Gui/ApplicantNationality.qml + Gui/ApplicantNationalInsurance.qml + Gui/ApplicantMiniJob.qml + Gui/ApplicantVarious.qml + Gui/ApplicantBirthData.qml