AddCustomer GUI created

This commit is contained in:
2024-11-12 15:42:21 +01:00
parent 5274fdb0c4
commit d7b2243919
17 changed files with 273 additions and 186 deletions

View File

@@ -2,221 +2,298 @@ import QtQuick
import QtQuick.Layouts import QtQuick.Layouts
import QtQuick.Controls import QtQuick.Controls
RowLayout ColumnLayout
{ {
ColumnLayout Layout.fillWidth: true
Layout.fillHeight: true
spacing: 15
Label
{ {
RowLayout text: qsTr("Kunden anlegen")
{ horizontalAlignment: Text.AlignHCenter
Label Layout.fillWidth: true
{ font.pixelSize: 35
text: "Firmenname" }
Layout.alignment: Qt.AlignRight CheckBox
{
} text: qsTr("Ansprechpartner hinzufügen")
TextField Layout.alignment: Qt.AlignRight
{ checked: false
onCheckStateChanged: addContactLayout.visible = checked
}
}
RowLayout
{
Label
{
text: "Street"
}
TextField
{
}
}
RowLayout
{
Label
{
text: "PLZ"
}
ComboBox
{
}
}
RowLayout
{
Label
{
text: "Ort"
}
TextField
{
}
}
RowLayout
{
Label
{
text: "Telefon"
}
TextField
{
}
}
RowLayout
{
Label
{
text: "E-Mail"
}
TextField
{
}
}
RowLayout
{
Label
{
text: "Homepage"
}
TextField
{
}
}
RowLayout
{
Label
{
text: "Geschäftsführer"
}
TextField
{
}
}
RowLayout
{
Label
{
text: "USt-IdNr"
}
TextField
{
}
}
} }
ColumnLayout RowLayout
{ {
RowLayout Layout.fillWidth: true
Layout.fillHeight: true
spacing: 45
GridLayout
{ {
columns: 2
Layout.fillWidth: true
Layout.fillHeight: true
rowSpacing: 9
Label Label
{ {
text: "Firmenname" text: qsTr("Firmenname")
Layout.alignment: Qt.AlignRight | Qt.AlignVCenter
}
TextField
{
id: firmenName
Layout.fillWidth: true
Layout.alignment: Qt.AlignVCenter
}
Label
{
text: qsTr("Straße")
Layout.alignment: Qt.AlignRight | Qt.AlignVCenter
}
TextField
{
id: street
Layout.fillWidth: true
}
Label
{
text: qsTr("PLZ")
Layout.alignment: Qt.AlignRight Layout.alignment: Qt.AlignRight
}
ComboBox
{
Layout.fillWidth: true
}
Label
{
text: qsTr("Ort")
Layout.alignment: Qt.AlignRight | Qt.AlignVCenter
} }
TextField TextField
{ {
id: location
Layout.fillWidth: true
} }
}
RowLayout
{
Label Label
{ {
text: "Street" text: qsTr("Telefon")
Layout.alignment: Qt.AlignRight | Qt.AlignVCenter
} }
TextField TextField
{ {
id: telephone
Layout.fillWidth: true
} }
}
RowLayout
{
Label Label
{ {
text: "PLZ" text: qsTr("E-Mail")
Layout.alignment: Qt.AlignRight
}
TextField
{
id: email
Layout.fillWidth: true
}
Label
{
text: qsTr("Homepage")
Layout.alignment: Qt.AlignRight
}
TextField
{
id: homepage
Layout.fillWidth: true
}
Label
{
text: qsTr("Geschäftsführer")
Layout.alignment: Qt.AlignRight
}
TextField
{
id: ceo
Layout.fillWidth: true
}
Label
{
text: qsTr("USt-IdNr")
Layout.alignment: Qt.AlignRight
}
TextField
{
id: taxno
Layout.fillWidth: true
}
Label
{
text: qsTr("Info")
Layout.alignment: Qt.AlignRight | Qt.AlignTop
}
ScrollView
{
Layout.fillWidth: true
Layout.preferredHeight: 100
TextArea
{
id: customerInfo
background: Rectangle
{
color: palette.base
border.color: customerInfo.activeFocus? palette.highlight: palette.base
}
}
}
}
GridLayout
{
id: addContactLayout
Layout.fillWidth: true
Layout.fillHeight: true
columns: 2
rowSpacing: 9
visible: false
Label
{
text: qsTr("Anrede")
Layout.alignment: Qt.AlignRight
} }
ComboBox ComboBox
{ {
id: title
Layout.fillWidth: true
} }
}
RowLayout
{
Label Label
{ {
text: "Ort" text: qsTr("Vorname")
Layout.alignment: Qt.AlignRight
} }
TextField TextField
{ {
id: firstname
Layout.fillWidth: true
} }
}
RowLayout
{
Label Label
{ {
text: "Telefon" text: qsTr("Nachname")
Layout.alignment: Qt.AlignRight
} }
TextField TextField
{ {
id: lastname
Layout.fillWidth: true
} }
}
RowLayout
{
Label Label
{ {
text: "E-Mail" text: qsTr("Position")
Layout.alignment: Qt.AlignRight
}
ComboBox
{
id: jobdescription
Layout.fillWidth: true
}
Label
{
text: qsTr("E-Mail")
Layout.alignment: Qt.AlignRight
} }
TextField TextField
{ {
id: emailcontact
Layout.fillWidth: true
} }
}
RowLayout
{
Label Label
{ {
text: "Homepage" text: qsTr("Telefon")
Layout.alignment: Qt.AlignRight
} }
TextField TextField
{ {
id: telephonecontact
Layout.fillWidth: true
} }
}
RowLayout
{
Label Label
{ {
text: "Geschäftsführer" text: qsTr("Geburtsdatum")
Layout.alignment: Qt.AlignRight
} }
TextField TextField
{ {
id: birthday
Layout.fillWidth: true
} }
}
RowLayout
{
Label Label
{ {
text: "USt-IdNr" text: qsTr("Priorität")
Layout.alignment: Qt.AlignRight
} }
TextField ComboBox
{ {
id: rank
Layout.fillWidth: true
} }
Label
{
text: qsTr("Info")
Layout.alignment: Qt.AlignRight | Qt.AlignTop
}
ScrollView
{
Layout.fillWidth: true
Layout.preferredHeight: 100
TextArea
{
id: contactInfo
background: Rectangle
{
color: palette.base
border.color: contactInfo.activeFocus? palette.highlight: palette.base
}
}
}
Item
{
height: birthday.height
}
}
}
RowLayout
{
Layout.fillHeight: true
Layout.alignment: Qt.AlignRight
Button
{
text: qsTr("Abbrechen")
onClicked: appLoader.source = "CustomerTables.qml"
}
Button
{
text: qsTr("Speichern")
} }
} }
Item Item
{ {
id: spacer id: spacer3
Layout.fillHeight: true Layout.fillHeight: true
} }
} }

View File

@@ -14,6 +14,17 @@ Item {
anchors.margins: 9 anchors.margins: 9
} }
Button
{
id: addBusinessBtn
icon.source: "../images/addbusiness.svg"
icon.color: "olive"
anchors.right: parent.right
flat: true
onClicked: appLoader.source = "AddCustomer.qml"
}
ColumnLayout ColumnLayout
{ {
id: tableColumn id: tableColumn

View File

@@ -3,10 +3,10 @@ import QtQuick.Controls
import QtQuick.Layouts import QtQuick.Layouts
Item RowLayout
{ {
id: searchBar id: searchBar
height: 30
TextField TextField
{ {
@@ -14,70 +14,69 @@ Item
placeholderText: qsTr("Suche") placeholderText: qsTr("Suche")
leftPadding: 3 leftPadding: 3
rightPadding: 3 rightPadding: 3
width: 300 Layout.preferredWidth: 300
Button Button
{ {
icon.source: "../images/search.svg" icon.source: "../images/search.svg"
icon.color: "olive" icon.color: "olive"
anchors.right: parent.right x: parent.x + parent.width - width
height: parent.height height: parent.height
flat: true flat: true
} }
}
Button Button
{ {
id: filterBtn id: filterBtn
icon.source: "../images/filter.svg" icon.source: "../images/filter.svg"
icon.color: "olive" icon.color: "olive"
anchors.left: searchField.right x: parent.x + parent.width
height: searchField.height height: searchField.height
flat: true flat: true
onClicked: filterPopup.open() onClicked: filterPopup.open()
} }
}
Popup Popup
{
id: filterPopup
x: filterBtn.x + filterBtn.width
y: filterBtn.y
width: 100
height: 150
modal: true
focus: true
closePolicy: Popup.CloseOnEscape | Popup.CloseOnPressOutsideParent
contentItem: Item
{ {
id: filterPopup ColumnLayout
x: filterBtn.x + filterBtn.width
y: filterBtn.y
width: 100
height: 150
modal: true
focus: true
closePolicy: Popup.CloseOnEscape | Popup.CloseOnPressOutsideParent
contentItem: Item
{ {
ColumnLayout anchors.fill: parent
//id: filterContent
Repeater
{ {
anchors.fill: parent model: availableFilters
//id: filterContent
Repeater CheckBox
{ {
model: availableFilters text: model.modelData
onClicked:
CheckBox
{ {
text: model.modelData setFilter(text, checkState)
onClicked:
{
setFilter(text, checkState)
}
} }
} }
} }
} }
} }
}
function setFilter(filter,activated) function setFilter(filter,activated)
{ {
console.log(filter) console.log(filter)
console.log(activated) console.log(activated)
} }
} }