169 lines
4.4 KiB
QML
169 lines
4.4 KiB
QML
import QtQuick
|
|
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
|
|
{
|
|
buttons: radio.children
|
|
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
|
|
{
|
|
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
|
|
// }
|
|
|
|
|
|
|
|
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
|
|
}
|
|
else if (!personalData.checkPersonalField())
|
|
saveBtn.enabled = false
|
|
else
|
|
saveBtn.enabled = true
|
|
}
|
|
}
|
|
//}
|
|
|