Fix Mitarbeiter Table
This commit is contained in:
@@ -6,7 +6,6 @@ import Qt.labs.qmlmodels
|
||||
Item {
|
||||
anchors.fill: parent
|
||||
property var availableFilters: ["Name", "Adresse", "PLZ", "Ort"]
|
||||
id: test
|
||||
|
||||
StackView
|
||||
{
|
||||
|
||||
@@ -4,11 +4,9 @@ import QtQuick.Controls
|
||||
import Qt.labs.qmlmodels
|
||||
|
||||
ColumnLayout {
|
||||
function viewCriterion(criterion) {
|
||||
business_model.viewCriterion(criterion.text);
|
||||
}
|
||||
|
||||
anchors.fill: parent
|
||||
spacing: Dimensions.l
|
||||
|
||||
Component.onCompleted: customersStack.pop()
|
||||
|
||||
@@ -32,22 +30,22 @@ ColumnLayout {
|
||||
selected: true
|
||||
}
|
||||
ListElement {
|
||||
name: "showProvider"
|
||||
name: "Interessent"
|
||||
text: qsTr("Interessent")
|
||||
selected: false
|
||||
}
|
||||
ListElement {
|
||||
name: "showClientele"
|
||||
name: "Kunde"
|
||||
text: qsTr("Kunde")
|
||||
selected: false
|
||||
}
|
||||
ListElement {
|
||||
name: "showProvider"
|
||||
name: "Lieferant"
|
||||
text: qsTr("Lieferant")
|
||||
selected: false
|
||||
}
|
||||
ListElement {
|
||||
name: "showFinished"
|
||||
name: "Erledigt"
|
||||
text: qsTr("Erledigt")
|
||||
selected: false
|
||||
}
|
||||
|
||||
@@ -3,16 +3,14 @@ import QtQuick.Layouts
|
||||
import QtQuick.Controls
|
||||
import Qt.labs.qmlmodels
|
||||
|
||||
Item {
|
||||
anchors.fill: parent
|
||||
|
||||
Item
|
||||
{
|
||||
StackView
|
||||
{
|
||||
StackView {
|
||||
id: employeesStack
|
||||
|
||||
anchors.fill: parent
|
||||
initialItem: "EmployeesTable.qml"
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -3,222 +3,195 @@ import QtQuick.Layouts
|
||||
import QtQuick.Controls
|
||||
import Qt.labs.qmlmodels
|
||||
|
||||
Item
|
||||
{
|
||||
ColumnLayout {
|
||||
property var availableFilters: ["Name", "Adresse", "PLZ", "Ort", "Status"]
|
||||
|
||||
SearchBar
|
||||
{
|
||||
id:searchBar
|
||||
anchors.margins: 9
|
||||
function viewEmployees(criterion) {
|
||||
employee_model.viewCriterion(criterion, showProcessed.checked, showFired.checked, showEveryone.checked);
|
||||
}
|
||||
|
||||
Button
|
||||
{
|
||||
anchors.fill: parent
|
||||
spacing: Dimensions.s
|
||||
|
||||
Component.onCompleted: employeesStack.pop()
|
||||
|
||||
RowLayout {
|
||||
Layout.fillWidth: true
|
||||
Layout.horizontalStretchFactor: 1
|
||||
spacing: Dimensions.l
|
||||
|
||||
SearchBar {
|
||||
}
|
||||
|
||||
QuickFilter {
|
||||
model: ListModel {
|
||||
ListElement {
|
||||
name: "Alle"
|
||||
selected: true
|
||||
text: qsTr("Alle")
|
||||
}
|
||||
ListElement {
|
||||
name: "Bewerber"
|
||||
selected: false
|
||||
text: qsTr("Bewerber")
|
||||
}
|
||||
ListElement {
|
||||
name: "Mitarbeiter"
|
||||
text: qsTr("Mitarbeiter")
|
||||
}
|
||||
}
|
||||
|
||||
onSelectedChanged: name => {
|
||||
viewEmployees(name);
|
||||
}
|
||||
}
|
||||
Button {
|
||||
id: addEmployeeBtn
|
||||
text: qsTr("Mitarbeiter Hinzufügen")
|
||||
|
||||
Layout.alignment: Qt.AlignRight
|
||||
icon.source: "qrc:/images/PlusCircle.svg"
|
||||
anchors.right: parent.right
|
||||
flat: true
|
||||
text: qsTr("Mitarbeiter Hinzufügen")
|
||||
|
||||
onClicked: appLoader.source = "AddApplicant.qml"
|
||||
}
|
||||
|
||||
ButtonGroup
|
||||
{
|
||||
id: criterion
|
||||
// buttons: criterion.children
|
||||
onClicked:
|
||||
{
|
||||
viewEmployees(criterion.checkedButton.text)
|
||||
}
|
||||
}
|
||||
|
||||
ColumnLayout
|
||||
{
|
||||
id: tableParent
|
||||
clip: true
|
||||
anchors
|
||||
{
|
||||
|
||||
top: searchBar.bottom
|
||||
bottom: parent.bottom
|
||||
left: parent.left
|
||||
right: parent.right
|
||||
}
|
||||
|
||||
RowLayout
|
||||
{
|
||||
RowLayout {
|
||||
id: viewCriterion
|
||||
|
||||
RadioButton
|
||||
{
|
||||
//id: showAll
|
||||
checked: true
|
||||
text: qsTr("Alle")
|
||||
ButtonGroup.group: criterion
|
||||
//onClicked: viewEmployees(showAll)
|
||||
}
|
||||
RadioButton
|
||||
{
|
||||
//id: showApplicant
|
||||
text: qsTr("Bewerber")
|
||||
ButtonGroup.group: criterion
|
||||
//onClicked: viewEmployees(showApplicant)
|
||||
}
|
||||
RadioButton
|
||||
{
|
||||
//id: showEmployee
|
||||
text: qsTr("Mitarbeiter")
|
||||
ButtonGroup.group: criterion
|
||||
//onClicked: viewEmployees(showEmployee)
|
||||
}
|
||||
|
||||
CheckBox
|
||||
{
|
||||
CheckBox {
|
||||
id: showEveryone
|
||||
text: qsTr("Alle Stati")
|
||||
|
||||
checked: true
|
||||
text: qsTr("Alle Stati")
|
||||
|
||||
onCheckedChanged: {
|
||||
showFired.checked = false;
|
||||
showProcessed.checked = false;
|
||||
}
|
||||
onClicked: viewEmployees(criterion.checkedButton.text)
|
||||
onCheckedChanged:
|
||||
{
|
||||
showFired.checked = false
|
||||
showProcessed.checked = false
|
||||
}
|
||||
}
|
||||
CheckBox
|
||||
{
|
||||
CheckBox {
|
||||
id: showProcessed
|
||||
|
||||
checked: false
|
||||
enabled: !showEveryone.checked
|
||||
text: qsTr("Erledigt")
|
||||
enabled: !showEveryone.checked
|
||||
checked: false
|
||||
onClicked:
|
||||
{
|
||||
showFired.checked = false
|
||||
viewEmployees(criterion.checkedButton.text)
|
||||
|
||||
onClicked: {
|
||||
showFired.checked = false;
|
||||
viewEmployees(criterion.checkedButton.text);
|
||||
}
|
||||
}
|
||||
CheckBox
|
||||
{
|
||||
CheckBox {
|
||||
id: showFired
|
||||
text: qsTr("Ausgeschieden")
|
||||
enabled: !showEveryone.checked
|
||||
|
||||
checked: false
|
||||
onClicked:
|
||||
{
|
||||
showProcessed.checked = false
|
||||
viewEmployees(criterion.checkedButton.text)
|
||||
}
|
||||
}
|
||||
enabled: !showEveryone.checked
|
||||
text: qsTr("Ausgeschieden")
|
||||
|
||||
onClicked: {
|
||||
showProcessed.checked = false;
|
||||
viewEmployees(criterion.checkedButton.text);
|
||||
}
|
||||
|
||||
HorizontalHeaderView
|
||||
{
|
||||
id: employeeTableHeader
|
||||
}
|
||||
}
|
||||
ColumnLayout {
|
||||
id: tableParent
|
||||
Layout.fillWidth: true
|
||||
syncView: appliEmpTable
|
||||
Layout.fillHeight: true
|
||||
Layout.verticalStretchFactor: 1
|
||||
|
||||
clip: true
|
||||
|
||||
HorizontalHeaderView {
|
||||
id: employeeTableHeader
|
||||
|
||||
Layout.fillWidth: true
|
||||
width: tableParent.width
|
||||
implicitHeight: 40
|
||||
movableColumns: true //@disable-check M16
|
||||
delegate: Rectangle
|
||||
{
|
||||
color: addEmployeeBtn.palette.alternateBase
|
||||
border.color: palette.base
|
||||
implicitHeight: 40
|
||||
syncView: appliEmpTable
|
||||
|
||||
delegate: Rectangle {
|
||||
Layout.fillWidth: true
|
||||
border.color: palette.base
|
||||
color: addEmployeeBtn.palette.alternateBase
|
||||
implicitHeight: 40
|
||||
implicitWidth: 1
|
||||
Text
|
||||
{
|
||||
text: model.display
|
||||
|
||||
Text {
|
||||
color: palette.text
|
||||
elide: Text.ElideRight
|
||||
width: parent.width
|
||||
height: parent.height
|
||||
horizontalAlignment: Text.AlignHCenter
|
||||
text: model.display
|
||||
verticalAlignment: Text.AlignVCenter
|
||||
color: palette.text
|
||||
width: parent.width
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
TableView
|
||||
{
|
||||
TableView {
|
||||
id: appliEmpTable
|
||||
//Layout.fillHeight: true
|
||||
height: tableParent.height - (viewCriterion.height + employeeTableHeader.height)
|
||||
|
||||
Layout.fillWidth: true
|
||||
Layout.fillHeight: true
|
||||
Layout.verticalStretchFactor: 1
|
||||
columnSpacing: 1
|
||||
rowSpacing: 2
|
||||
alternatingRows: true
|
||||
resizableColumns: true
|
||||
height: tableParent.height - employeeTableHeader.height
|
||||
model: employee_model
|
||||
resizableColumns: true
|
||||
rowSpacing: 2
|
||||
selectionBehavior: TableView.SelectRows
|
||||
|
||||
ScrollBar.vertical: ScrollBar
|
||||
{
|
||||
ScrollBar.vertical: ScrollBar {
|
||||
policy: appliEmpTable.contentHeight > appliEmpTable.height ? ScrollBar.AlwaysOn : ScrollBar.AlwaysOff
|
||||
}
|
||||
|
||||
selectionModel: ItemSelectionModel
|
||||
{
|
||||
id: selModel
|
||||
model: appliEmpTable.model
|
||||
}
|
||||
|
||||
|
||||
delegate:Rectangle
|
||||
{
|
||||
required property bool selected
|
||||
delegate: Rectangle {
|
||||
required property bool current
|
||||
implicitWidth: appliEmpTable.width / appliEmpTable.columns
|
||||
implicitHeight: 25
|
||||
color: selected
|
||||
? addEmployeeBtn.palette.highlight //palette.highlight
|
||||
: (appliEmpTable.alternatingRows && row % 2 !== 0
|
||||
? addEmployeeBtn.palette.base // palette.base
|
||||
required property bool selected
|
||||
|
||||
color: selected ? addEmployeeBtn.palette.highlight //palette.highlight
|
||||
: (appliEmpTable.alternatingRows && row % 2 !== 0 ? addEmployeeBtn.palette.base // palette.base
|
||||
: addEmployeeBtn.palette.alternateBase) //palette.alternateBase)
|
||||
|
||||
Text
|
||||
{
|
||||
text: (model.display === null || model.display === undefined)? "": model.display
|
||||
elide: Text.ElideRight
|
||||
width: parent.width
|
||||
height: parent.height
|
||||
verticalAlignment: Text.AlignVCenter
|
||||
leftPadding: 9 //@d isable-check M16
|
||||
implicitHeight: 25
|
||||
implicitWidth: appliEmpTable.width / appliEmpTable.columns
|
||||
|
||||
Text {
|
||||
color: palette.text
|
||||
|
||||
elide: Text.ElideRight
|
||||
height: parent.height
|
||||
leftPadding: 9 //@d isable-check M16
|
||||
text: (model.display === null || model.display === undefined) ? "" : model.display
|
||||
verticalAlignment: Text.AlignVCenter
|
||||
width: parent.width
|
||||
}
|
||||
|
||||
MouseArea
|
||||
{
|
||||
MouseArea {
|
||||
id: mouseArea
|
||||
|
||||
property bool hovered: false
|
||||
|
||||
anchors.fill: parent
|
||||
hoverEnabled: true
|
||||
|
||||
onDoubleClicked:
|
||||
{
|
||||
employeesStack.push("EmployeeDetails.qml", {selectedEmployee: row});
|
||||
}
|
||||
|
||||
onEntered:
|
||||
{
|
||||
appliEmpTable.selectionModel.select(appliEmpTable.model.index(row, 0), ItemSelectionModel.SelectCurrent | ItemSelectionModel.Rows)
|
||||
onDoubleClicked: {
|
||||
employeesStack.push("EmployeeDetails.qml", {
|
||||
selectedEmployee: row
|
||||
});
|
||||
}
|
||||
onEntered: {
|
||||
appliEmpTable.selectionModel.select(appliEmpTable.model.index(row, 0), ItemSelectionModel.SelectCurrent | ItemSelectionModel.Rows);
|
||||
}
|
||||
}
|
||||
}
|
||||
selectionModel: ItemSelectionModel {
|
||||
id: selModel
|
||||
|
||||
model: appliEmpTable.model
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Item
|
||||
{
|
||||
Item {
|
||||
Layout.fillWidth: true
|
||||
}
|
||||
}
|
||||
|
||||
function viewEmployees(criterion)
|
||||
{
|
||||
employee_model.viewCriterion(criterion, showProcessed.checked, showFired.checked, showEveryone.checked)
|
||||
}
|
||||
Component.onCompleted: employeesStack.pop()
|
||||
}
|
||||
|
||||
@@ -146,8 +146,7 @@ GridLayout
|
||||
}
|
||||
|
||||
TextField
|
||||
{
|
||||
id: gesamtnetto
|
||||
{id: gesamtnetto
|
||||
Layout.fillWidth: true
|
||||
Layout.columnSpan: 3
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user