checkfield ApplicantNationalInsurance and ApplicantVarious not ready yet

This commit is contained in:
2025-01-24 15:47:18 +01:00
parent ba08715c9a
commit 8e9fe46b96
4 changed files with 159 additions and 156 deletions

View File

@@ -3,166 +3,140 @@ import QtQuick.Controls
import QtQuick.Layouts
import "../js/qmldict.js" as JsLib
// 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
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
onClicked:
{
buttons: radio.children
checkFields()
personalData.requiredField()
}
}
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
ApplicantBankData
{
id: bankAccount
}
ApplicantNationalInsurance
{
id: nationalInsurance
}
ApplicantVarious
{
id: applicantVarious
}
}
}
}
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:
{
checkFields()
personalData.requiredField()
}
}
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
var new_applicant
if (radio.children[0].checked)
{
id: personalData
width: parent.width
new_applicant = JsLib.parseForm(personalData)
// business_model.addApplicant(new_business, 0)
// appLoader.source = "EmployeeTable.qml"
console.log(JSON.stringify (new_applicant))
}
}
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
// }
ApplicantBankData
{
id: bankAccount
}
ApplicantNationalInsurance
{
id: nationalInsurance
}
ApplicantVarious
{
id: applicantVarious
}
}
}
}
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:
{
var new_applicant
if (radio.children[0].checked)
{
new_applicant = JsLib.parseForm(personalData)
// business_model.addApplicant(new_business, 0)
// appLoader.source = "EmployeeTable.qml"
console.log(JSON.stringify (new_applicant))
}
else
{
// console.log(personalData, bankAccount, nationalInsurance, applicantVarious)
new_applicant = JsLib.parseForm(personalData, bankAccount, nationalInsurance, applicantVarious)
// var new_contact = JsLib.addApplicant(addContactLayout)
// contact_model.addContact(new_contact)
console.log(JSON.stringify (new_applicant))
}
}
}
}
Item
{
Layout.fillHeight: true
}
function checkFields()
{
if(radio.children[1].checked)
{
if(!personalData.checkPersonalField() || !bankAccount.checkBankField() )
saveBtn.enabled = false
else
saveBtn.enabled = true
{
// console.log(personalData, bankAccount, nationalInsurance, applicantVarious)
new_applicant = JsLib.parseForm(personalData, bankAccount, nationalInsurance, applicantVarious)
// var new_contact = JsLib.addApplicant(addContactLayout)
// contact_model.addContact(new_contact)
console.log(JSON.stringify (new_applicant))
}
}
else if (!personalData.checkPersonalField())
}
}
Item
{
Layout.fillHeight: true
}
function checkFields()
{
if(radio.children[1].checked)
{
if(!personalData.checkPersonalField() || !bankAccount.checkBankField() || !nationalInsurance.checkNationalInsuranceField() )
saveBtn.enabled = false
else
saveBtn.enabled = true
}
else if (!personalData.checkPersonalField())
saveBtn.enabled = false
else
saveBtn.enabled = true
}
//}
}

View File

@@ -32,6 +32,7 @@ GridLayout
Layout.fillWidth: true
placeholderText: "Pflichtfeld"
placeholderTextColor: "red"
onTextChanged: checkFields()
}
Label
{
@@ -44,13 +45,16 @@ GridLayout
property string name: "bank"
id: bankname
Layout.fillWidth: true
model: [qsTr("Sparkasse"),qsTr("Volksbank")]
model: ["",qsTr("Sparkasse"),qsTr("Volksbank")]
editable: true
onCurrentTextChanged: checkFields()
onEditTextChanged: checkFields()
}
function checkBankField()
{
// return (iban.text.trim() && bankname.text.trim())
return (iban.text.trim())
return (iban.text.trim() && (bankname.currentText.trim() || bankname.editText.trim()))
}
}

View File

@@ -34,6 +34,7 @@ GridLayout
Layout.fillWidth: true
placeholderText: "Pflichtfeld"
placeholderTextColor: "red"
onTextChanged: checkFields()
}
Label
@@ -48,6 +49,7 @@ GridLayout
Layout.fillWidth: true
placeholderText: "Pflichtfeld"
placeholderTextColor: "red"
onTextChanged: checkFields()
}
Label
@@ -62,6 +64,7 @@ GridLayout
Layout.fillWidth: true
placeholderText: "Pflichtfeld"
placeholderTextColor: "red"
onTextChanged: checkFields()
}
CheckBox
@@ -99,6 +102,14 @@ GridLayout
placeholderText: "Pflichtfeld"
placeholderTextColor: "red"
}
function checkNationalInsuranceField()
{
if (nation.currentText === "Deutschland")
{
return (socialnumber.text.trim() && taxnumber.text.trim() && medicalinsurance.text.trim())
}
}
}

View File

@@ -77,6 +77,7 @@ GridLayout
id: street
Layout.fillWidth: true
placeholderTextColor: "red"
onTextChanged: checkFields()
}
Label
@@ -90,6 +91,7 @@ GridLayout
id: houseno
Layout.fillWidth: true
placeholderTextColor: "red"
onTextChanged: checkFields()
}
Label
@@ -107,8 +109,8 @@ GridLayout
id: postcode
Layout.fillWidth: true
editable: true
onCurrentTextChanged: checkFields()
onEditTextChanged: checkFields()
onCurrentTextChanged: checkFields()
onActivated: currentValue
model: address_model
textRole: "display"
@@ -118,7 +120,7 @@ GridLayout
onCurrentIndexChanged: city.currentIndex = postcode.currentIndex
validator: RegularExpressionValidator
{
regularExpression: /([0-9]{1,5})/
regularExpression: /([^$][0-9]{1,4})/
}
}
@@ -157,6 +159,7 @@ GridLayout
Layout.fillWidth: true
placeholderTextColor: "red"
Layout.columnSpan: 3
onTextChanged: checkFields()
}
Label
{
@@ -170,6 +173,7 @@ GridLayout
Layout.fillWidth: true
placeholderTextColor: "red"
Layout.columnSpan: 3
onTextChanged: checkFields()
}
Label
{
@@ -183,6 +187,7 @@ GridLayout
Layout.fillWidth: true
placeholderTextColor: "red"
Layout.columnSpan: 3
onTextChanged: checkFields()
}
Label
{
@@ -214,6 +219,7 @@ GridLayout
visible: radio.children[1].checked
placeholderTextColor: "red"
Layout.columnSpan: 3
onTextChanged: checkFields()
}
Label
{
@@ -229,6 +235,7 @@ GridLayout
visible: radio.children[1].checked
placeholderTextColor: "red"
Layout.columnSpan: 3
onTextChanged: checkFields()
}
Label
{
@@ -244,6 +251,7 @@ GridLayout
visible: radio.children[1].checked
placeholderTextColor: "red"
Layout.columnSpan: 3
onTextChanged: checkFields()
}
Label
{
@@ -259,6 +267,7 @@ GridLayout
visible: radio.children[1].checked
placeholderTextColor: "red"
Layout.columnSpan: 3
onTextChanged: checkFields()
}
Label
{
@@ -272,6 +281,7 @@ GridLayout
Layout.fillWidth: true
placeholderTextColor: "red"
Layout.columnSpan: 3
onTextChanged: checkFields()
}
Item
@@ -287,8 +297,11 @@ GridLayout
}
else
{
console.log("Mitarbeiter")
return (firstname.text.trim() && lastname.text.trim())
return (firstname.text.trim() && lastname.text.trim() && street.text.trim() && houseno.text.trim()
&& (postcode.editText.trim() || postcode.currentText.trim())
&& (city.editText.trim() || city.currentText.trim()) && phonenumber.text.trim()
&& cellphone.text.trim() && email.text.trim() && jobdescription.text.trim()
&& workstart.text.trim() && workend.text.trim() && timetowork.text.trim() && briefAnrede.text.trim())
}
}
function requiredField()
@@ -303,5 +316,6 @@ GridLayout
workend.placeholderText = pf
timetowork.placeholderText = pf
briefAnrede.placeholderText = pf
houseno.placeholderText = pf
}
}