Compare commits

..

7 Commits

Author SHA256 Message Date
705bffc8d3 New employee to object as combobox 2025-01-17 11:06:07 +01:00
e94a9f9900 GUI in frames and other applicant-related stuff 2025-01-16 11:17:57 +01:00
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
3fc795f962 Merge branch 'Oschkarlädzumbrunchein'
haiabubu
2025-01-15 09:49:14 +01:00
416b9cb5b1 Contactperson aligned 2025-01-15 09:48:17 +01:00
8f41c240ac Test 2025-01-14 14:34:57 +01:00
17 changed files with 788 additions and 39 deletions

164
Gui/AddApplicant.qml Normal file
View File

@@ -0,0 +1,164 @@
import QtQuick
import QtQuick.Controls
import QtQuick.Layouts
// ScrollView
// {
// anchors.fill: parent
// ScrollBar.vertical: ScrollBar
// {
// policy: ScrollBar.AlwaysOn
// }
ColumnLayout
{
id: colPar
anchors.fill: parent
Label
{
Layout.alignment: Qt.AlignHCenter | Qt.AlignTop
id: headline
text: qsTr("Mitarbeiter / Bewerber hinzufügen")
font.pixelSize: 35
}
ButtonGroup
{
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)
// }
// }
}
}
}
//}

View File

@@ -1,17 +1,20 @@
import QtQuick
import QtQuick.Controls
import QtQuick.Layouts
//Oschkarischtverhaftetwegensexy
//Oschkarischtverhaftetwegennichtganzsosexy
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
@@ -196,3 +199,4 @@ GridLayout
}
}
}
}

View File

@@ -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

View File

@@ -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

View File

@@ -29,7 +29,7 @@ ApplicationWindow
text: qsTr("Eingesetzter Mitarbeiter")
Layout.alignment: Qt.AlignRight
}
TextField
ComboBox
{
id: assignee
Layout.fillWidth: true
@@ -103,10 +103,10 @@ ApplicationWindow
text: qsTr("Hinzufügen")
onClicked:
{
if (assignee.text.trim() !== "" && duration.text.trim() !== "" && wage.text.trim() !== "" && cleanDays.text.trim() !== "" && tasks.text.trim() !== "" && output.text.trim() !== "")
if (duration.text.trim() !== "" && wage.text.trim() !== "" && cleanDays.text.trim() !== "" && tasks.text.trim() !== "" && output.text.trim() !== "")
{
var ne = {
"assignee": assignee.text.trim(),
"assignee": assignee.currentText,
"duration": duration.text.trim(),
"wage": wage.text.trim(),
"cleandays": cleanDays.text.trim(),

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,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")]
}

View File

@@ -0,0 +1,64 @@
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
}
}

19
Gui/ApplicantMiniJob.qml Normal file
View File

@@ -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
}
}

View File

@@ -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
}
}

View File

@@ -0,0 +1,37 @@
import QtQuick
import QtQuick.Controls
import QtQuick.Layouts
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,185 @@
import QtQuick
import QtQuick.Controls
import QtQuick.Layouts
GridLayout
{
id: personalData
columns: 2
Label
{
text: qsTr("Anrede")
Layout.alignment: Qt.AlignRight
}
ComboBox
{
id: title
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
{
id: firstname
Layout.fillWidth: true
placeholderText: "Pflichtfeld"
placeholderTextColor: "red"
}
Label
{
text: qsTr("Nachname")
Layout.alignment: Qt.AlignRight
}
TextField
{
id: lastname
Layout.fillWidth: true
placeholderText: "Pflichtfeld"
placeholderTextColor: "red"
}
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")
Layout.alignment: Qt.AlignRight
}
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
}
Label
{
text: qsTr("Familienstand")
Layout.alignment: Qt.AlignRight
visible: radio.children[1].checked
}
ComboBox
{
id: maritalstatus
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
}
}

53
Gui/ApplicantVarious.qml Normal file
View File

@@ -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
}
}

View File

@@ -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: ""
}

View File

@@ -147,8 +147,8 @@ GridLayout
text: qsTr("Name")
width: 175
font.bold: true
horizontalAlignment: Text.AlignHCenter
color: "yellow"
horizontalAlignment: Text.AlignLeft
color: "black"
}
Text
@@ -157,8 +157,8 @@ GridLayout
text: qsTr("Telefon")
width: 100
font.bold: true
horizontalAlignment: Text.AlignHCenter
color: "yellow"
horizontalAlignment: Text.AlignLeft
color: "black"
}
Text
@@ -167,8 +167,8 @@ GridLayout
text: qsTr("Position")
width: 150
font.bold: true
horizontalAlignment: Text.AlignHCenter
color: "yellow"
horizontalAlignment: Text.AlignLeft
color: "black"
}
}
}
@@ -194,21 +194,24 @@ GridLayout
Row
{
spacing: 9
//spacing: 9
Text
{
text: model.name
width: 175
horizontalAlignment: Text.AlignLeft
}
Text
{
text: model.phone
width: 100
horizontalAlignment: Text.AlignLeft
}
Text
{
text: model.posizion
width: 150
horizontalAlignment: Text.AlignLeft
}
}
}

View File

@@ -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
}
}
}

View File

@@ -24,5 +24,14 @@
<file>Gui/ObjectAddOnContactPerson.qml</file>
<file>Gui/ObjectAddOnEmployee.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>
<file>Gui/ApplicantNationalInsurance.qml</file>
<file>Gui/ApplicantMiniJob.qml</file>
<file>Gui/ApplicantVarious.qml</file>
<file>Gui/ApplicantBirthData.qml</file>
</qresource>
</RCC>