diff --git a/Gui/AddObjectEmployee.qml b/Gui/AddObjectEmployee.qml index f78a74d..52a68e6 100644 --- a/Gui/AddObjectEmployee.qml +++ b/Gui/AddObjectEmployee.qml @@ -3,7 +3,7 @@ import QtQuick.Layouts import QtQuick.Controls ApplicationWindow { - id: addmitarbeiter + id: addMitarbeiter title: qsTr("Objekt - Neuer Mitarbeiter") ColumnLayout @@ -31,6 +31,7 @@ ApplicationWindow } TextField { + id: assignee Layout.fillWidth: true } Label @@ -40,6 +41,7 @@ ApplicationWindow } TextField { + id: wage Layout.fillWidth: true } Label @@ -49,6 +51,7 @@ ApplicationWindow } TextField { + id: duration Layout.fillWidth: true } Label @@ -58,6 +61,7 @@ ApplicationWindow } TextField { + id: cleanDays Layout.fillWidth: true } Label @@ -67,6 +71,7 @@ ApplicationWindow } TextField { + id: tasks Layout.fillWidth: true } Label @@ -76,6 +81,7 @@ ApplicationWindow } TextField { + id: output Layout.fillWidth: true } } @@ -90,11 +96,30 @@ ApplicationWindow Button { text: qsTr("Abbrechen") + onClicked: addMitarbeiter.close() } Button { text: qsTr("Hinzufügen") + onClicked: + { + if (assignee.text.trim() !== "" && duration.text.trim() !== "" && wage.text.trim() !== "" && cleanDays.text.trim() !== "" && tasks.text.trim() !== "" && output.text.trim() !== "") + { + var ne = { + "assignee": assignee.text.trim(), + "duration": duration.text.trim(), + "wage": wage.text.trim(), + "cleandays": cleanDays.text.trim(), + "tasks": tasks.text.trim(), + "output": output.text.trim(), + }; + addMitarbeiter.addNewEmployee(ne) + addMitarbeiter.close() + } + } } } } + + signal addNewEmployee(var new_employee) } diff --git a/Gui/ObjectAddOnContactPerson.qml b/Gui/ObjectAddOnContactPerson.qml index 7b39aaf..7740599 100644 --- a/Gui/ObjectAddOnContactPerson.qml +++ b/Gui/ObjectAddOnContactPerson.qml @@ -182,7 +182,6 @@ GridLayout ListView { id: contactView - //Layout.fillWidth: true implicitHeight: parent.height model: contactModel @@ -191,8 +190,6 @@ GridLayout delegate: Item { width: parent.width - //color: firstname.palette.base - //border.color: firstname.activeFocus? firstname.palette.highlight: firstname.palette.base height: 15 Row diff --git a/Gui/ObjectAddOnEmployee.qml b/Gui/ObjectAddOnEmployee.qml index 6bec906..990dd7f 100644 --- a/Gui/ObjectAddOnEmployee.qml +++ b/Gui/ObjectAddOnEmployee.qml @@ -4,7 +4,8 @@ import QtQuick.Controls GridLayout { - property var employeens: null + property var employeeForm: null + property var employees: null id: oaoemployee columns: 2 rows: 4 @@ -19,6 +20,23 @@ GridLayout id: employeeModel } + Component + { + id: employeesHeader + Row + { + Text + { + id: empName + text: qsTr("Mitarbeiter") + width: 175 + font.bold: true + horizontalAlignment: Text.AlignHCenter + color: "yellow" + } + } + } + Rectangle { Layout.fillWidth: true @@ -28,21 +46,26 @@ GridLayout border.color: mitarbeiterhin.activeFocus? mitarbeiterhin.palette.highlight: mitarbeiterhin.palette.base ListView { - id: mitarbeitertext - model: ListModel{ListElement {name: "Mitarbeiter1"} ListElement{name: "Mitarbeiter2"}} - delegate: Item + id: employeesList + //anchors.fill: parent + implicitHeight: parent.height + + model: employeeModel + + header: employeesHeader + + delegate: Row { + width: 200 + height: 15 + padding: 7 Text { - text: model.name + text: model.namens + color: "yellow" } } - // wrapMode: TextEdit.Wrap - // background: Rectangle - // { - // color: mitarbeiterhin.palette.base - // border.color: mitarbeiterhin.activeFocus? mitarbeiterhin.palette.highlight: mitarbeiterhin.palette.base - // } + } } RowLayout @@ -63,19 +86,43 @@ GridLayout Button { id: mitarbeiterhin - property var neuermitarbeiter: undefined text: qsTr("Mitarbeiter hinzufügen") onClicked: { var nm = Qt.createComponent("AddObjectEmployee.qml") if (nm.status === Component.Ready) { - neuermitarbeiter = nm.createObject (appWindow, {width: 600, height: 400}) - neuermitarbeiter.show() + employeeForm = nm.createObject (appWindow, {width: 600, height: 400}) + employeeForm.addNewEmployee.connect(onAddEmployee) + employeeForm.show() } + else console.log(nm.errorString()) } } } + + function onAddEmployee(new_employee) + { + var num_employees = 0 + + if (employees === null || employees === undefined) employees = {} + else num_employees = Object.keys(employees).length; + + employees[num_employees] = {} + employees[num_employees]["assignee"] = new_employee["assignee"]; + employees[num_employees]["duration"] = new_employee["duration"]; + employees[num_employees]["wage"] = new_employee["wage"]; + employees[num_employees]["cleandays"] = new_employee["cleandays"]; + employees[num_employees]["tasks"] = new_employee["tasks"]; + employees[num_employees]["output"] = new_employee["output"]; + + employeeModel.append({namens: new_employee["assignee"]}); + + console.log(employeeModel.get(num_employees).namens) + + console.log(new_employee["assignee"]) + console.log(JSON.stringify(new_employee)) + } }