From 6eaf0e3ed3a8b40bc53382b949758b86a5da0de8 Mon Sep 17 00:00:00 2001 From: M_Kececi Date: Tue, 18 Aug 2026 13:23:10 +0300 Subject: [PATCH] Fix product performance grouped JSON build --- ui/src/pages/ProductionProductCostingHasCost.vue | 12 +++++++++++- ui/src/pages/ProductionProductCostingNoCost.vue | 10 +++++++++- 2 files changed, 20 insertions(+), 2 deletions(-) diff --git a/ui/src/pages/ProductionProductCostingHasCost.vue b/ui/src/pages/ProductionProductCostingHasCost.vue index 6fdaeb8..b8afefd 100644 --- a/ui/src/pages/ProductionProductCostingHasCost.vue +++ b/ui/src/pages/ProductionProductCostingHasCost.vue @@ -389,6 +389,16 @@ function escapeExcelCsvCell (value) { return `"${text.replace(/"/g, '""')}"` } +const excelNumericColumns = new Set(['lTutarTL', 'lTutarUSD', 'lTutarEURO']) + +function formatExcelCsvCell (col, rawValue, displayValue) { + if (excelNumericColumns.has(col?.name)) { + const numericValue = Number(rawValue) + if (Number.isFinite(numericValue)) return String(numericValue).replace('.', ',') + } + return escapeExcelCsvCell(displayValue) +} + function exportVisibleRows () { const visibleRows = Array.isArray(rows.value) ? rows.value : [] if (visibleRows.length === 0) return @@ -399,7 +409,7 @@ function exportVisibleRows () { ...visibleRows.map(row => exportColumns.map(col => { const rawValue = typeof col.field === 'function' ? col.field(row) : row?.[col.field] const displayValue = typeof col.format === 'function' ? col.format(rawValue, row) : rawValue - return escapeExcelCsvCell(displayValue) + return formatExcelCsvCell(col, rawValue, displayValue) }).join(';')) ] diff --git a/ui/src/pages/ProductionProductCostingNoCost.vue b/ui/src/pages/ProductionProductCostingNoCost.vue index 7bdc7fe..85b94dd 100644 --- a/ui/src/pages/ProductionProductCostingNoCost.vue +++ b/ui/src/pages/ProductionProductCostingNoCost.vue @@ -476,6 +476,14 @@ function escapeExcelCsvCell (value) { return `"${text.replace(/"/g, '""')}"` } +function formatExcelCsvCell (col, rawValue, displayValue) { + if (col?.name === 'lMMiktar_G') { + const numericValue = Number(rawValue) + if (Number.isFinite(numericValue)) return String(numericValue).replace('.', ',') + } + return escapeExcelCsvCell(displayValue) +} + function exportVisibleRows () { const visibleRows = Array.isArray(rows.value) ? rows.value : [] if (visibleRows.length === 0) { @@ -489,7 +497,7 @@ function exportVisibleRows () { ...visibleRows.map(row => exportColumns.map(col => { const rawValue = typeof col.field === 'function' ? col.field(row) : row?.[col.field] const displayValue = typeof col.format === 'function' ? col.format(rawValue, row) : rawValue - return escapeExcelCsvCell(displayValue) + return formatExcelCsvCell(col, rawValue, displayValue) }).join(';')) ]