Add employee in GUI and set up a dictionary for it

This commit is contained in:
2025-01-15 09:35:54 +01:00
parent 80a269a729
commit 3eadad5d5b
3 changed files with 87 additions and 18 deletions

View File

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