diff --git a/ui/src/pages/ProductionProductCostingHasCostDetail.vue b/ui/src/pages/ProductionProductCostingHasCostDetail.vue index 0f859db..562b0c3 100644 --- a/ui/src/pages/ProductionProductCostingHasCostDetail.vue +++ b/ui/src/pages/ProductionProductCostingHasCostDetail.vue @@ -2891,8 +2891,9 @@ function syncGroupTotals () { groupTotals.value = detailGroups.value.map(group => ( (Array.isArray(group?.items) ? group.items : []).reduce((acc, row) => { if (!shouldIncludeRowInGroupTotal(group, row)) return acc - acc.tryTotal += resolveRowTRYTutar(row) - acc.usdTotal += resolveRowUSDTutar(row) + // Sub-header must mirror the amounts already rendered in the row. + acc.tryTotal += parseMoneyInput(row?.lTutar) + acc.usdTotal += parseMoneyInput(row?.usdTutar ?? row?.lTutarUSD) acc.quantity += resolveNumericRowQuantity(row) return acc }, { tryTotal: 0, usdTotal: 0, quantity: 0 }) @@ -3278,6 +3279,9 @@ function onRowQuantityInput (row, value) { function triggerUIUpdate () { syncGroupTotals() + nextTick(() => { + syncGroupTotals() + }) } function normalizeRowQuantityDisplay (row) {