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