Aggregate nested document title sums
This commit is contained in:
@@ -1152,20 +1152,27 @@ const documentTotal = computed(() => {
|
|||||||
|
|
||||||
let titleSums = {}
|
let titleSums = {}
|
||||||
let titleSumsTransfer = {}
|
let titleSumsTransfer = {}
|
||||||
let lastTitle = ""
|
let activeTitleKeys = []
|
||||||
let transferCounter = 0
|
let transferCounter = 0
|
||||||
|
|
||||||
itemInfo.value.rows.forEach(row => {
|
itemInfo.value.rows.forEach(row => {
|
||||||
if (row.mode === 'title') {
|
if (row.mode === 'title') {
|
||||||
let title = `${row.pos} - ${row.text}`
|
let title = `${row.pos} - ${row.text}`
|
||||||
|
const titleLevel = Math.min(Math.max(Number(row.titleLevel) || 1, 1), 3)
|
||||||
titleSums[title] = 0
|
titleSums[title] = 0
|
||||||
if (lastTitle) {
|
if (activeTitleKeys.some(Boolean)) {
|
||||||
titleSumsTransfer[title] = transferCounter
|
titleSumsTransfer[title] = transferCounter
|
||||||
}
|
}
|
||||||
lastTitle = title
|
activeTitleKeys = activeTitleKeys.slice(0, titleLevel - 1)
|
||||||
} else if (!['pagebreak', 'text'].includes(row.mode) && lastTitle !== "" && !row.optional && !row.alternative) {
|
activeTitleKeys[titleLevel - 1] = title
|
||||||
titleSums[lastTitle] = Number(titleSums[lastTitle]) + Number(Number(row.quantity) * Number(row.price) * (1 - Number(row.discountPercent) / 100))
|
activeTitleKeys = activeTitleKeys.slice(0, titleLevel)
|
||||||
transferCounter += Number(Number(row.quantity) * Number(row.price) * (1 - Number(row.discountPercent) / 100))
|
} else if (!['pagebreak', 'text'].includes(row.mode) && activeTitleKeys.some(Boolean) && !row.optional && !row.alternative) {
|
||||||
|
const rowSum = Number(Number(row.quantity) * Number(row.price) * (1 - Number(row.discountPercent) / 100))
|
||||||
|
|
||||||
|
activeTitleKeys.forEach(titleKey => {
|
||||||
|
titleSums[titleKey] = Number(titleSums[titleKey]) + rowSum
|
||||||
|
})
|
||||||
|
transferCounter += rowSum
|
||||||
console.log(transferCounter)
|
console.log(transferCounter)
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
|||||||
Reference in New Issue
Block a user