144 lines
3.7 KiB
QML
144 lines
3.7 KiB
QML
import QtQuick
|
|
import QtQuick.Controls
|
|
import QtQuick.Layouts
|
|
import "../../js/qmldict.js" as JsLib
|
|
|
|
ColumnLayout {
|
|
id: colPar
|
|
|
|
function checkFields() {
|
|
if (radio.children[1].checked) {
|
|
if (!personalData.checkPersonalField())
|
|
saveBtn.enabled = false;
|
|
else
|
|
saveBtn.enabled = true;
|
|
} else if (!personalData.checkPersonalField())
|
|
saveBtn.enabled = false;
|
|
else
|
|
saveBtn.enabled = true;
|
|
}
|
|
function onAddNewEmployee(added) {
|
|
if (added)
|
|
console.log('addedsuccesfully');
|
|
else
|
|
console.log('failedtoadd');
|
|
contentStack.pop();
|
|
}
|
|
|
|
Layout.fillHeight: true
|
|
Layout.fillWidth: true
|
|
anchors.fill: parent
|
|
implicitWidth: parent.width
|
|
|
|
Component.onCompleted: {
|
|
employee_model.addedNewEmployee.connect(onAddNewEmployee);
|
|
}
|
|
|
|
Label {
|
|
id: headline
|
|
|
|
Layout.alignment: Qt.AlignHCenter | Qt.AlignTop
|
|
font.pixelSize: 35
|
|
text: qsTr("Mitarbeiter / Bewerber hinzufügen")
|
|
}
|
|
ButtonGroup {
|
|
buttons: radio.children
|
|
|
|
onClicked: {
|
|
checkFields();
|
|
personalData.requiredField();
|
|
}
|
|
}
|
|
Row {
|
|
id: radio
|
|
|
|
Layout.fillWidth: true
|
|
|
|
//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
|
|
|
|
//implicitWidth: parent.width
|
|
ApplicantPersonalData {
|
|
id: personalData
|
|
|
|
width: parent.width
|
|
}
|
|
}
|
|
Frame {
|
|
Layout.alignment: Qt.AlignTop
|
|
Layout.fillWidth: true
|
|
visible: radio.children[1].checked
|
|
|
|
ColumnLayout {
|
|
Layout.alignment: Qt.AlignTop
|
|
implicitWidth: parent.width
|
|
|
|
ApplicantBankData {
|
|
id: bankAccount
|
|
|
|
}
|
|
ApplicantNationalInsurance {
|
|
id: nationalInsurance
|
|
|
|
}
|
|
ApplicantVarious {
|
|
id: applicantVarious
|
|
|
|
}
|
|
}
|
|
}
|
|
}
|
|
Item {
|
|
Layout.fillHeight: true
|
|
}
|
|
RowLayout {
|
|
Layout.alignment: Qt.AlignRight
|
|
Layout.fillWidth: true
|
|
|
|
Button {
|
|
text: qsTr("Abbrechen")
|
|
|
|
onClicked: contentStack.pop()
|
|
}
|
|
Button {
|
|
id: saveBtn
|
|
|
|
enabled: false
|
|
text: qsTr("Speichern")
|
|
|
|
onClicked: {
|
|
var new_applicant;
|
|
if (radio.children[0].checked) {
|
|
// Ein Bewerber
|
|
new_applicant = JsLib.parseForm(personalData);
|
|
employee_model.addEmployee(new_applicant, true);
|
|
// appLoader.source = "EmployeeTable.qml"
|
|
// console.log(JSON.stringify (new_applicant))
|
|
} else {
|
|
// Ein Mitarbeiter
|
|
// console.log(personalData, bankAccount, nationalInsurance, applicantVarious)
|
|
new_applicant = JsLib.parseForm(personalData, bankAccount, nationalInsurance, applicantVarious);
|
|
employee_model.addEmployee(new_applicant, false);
|
|
// var new_contact = JsLib.addApplicant(addContactLayout)
|
|
// contact_model.addContact(new_contact)
|
|
// console.log(JSON.stringify (new_applicant))
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|