diff --git a/excel-editor.js b/excel-editor.js index 1e6c13f..a521421 100644 --- a/excel-editor.js +++ b/excel-editor.js @@ -153,11 +153,11 @@ function populateFieldSelectors() { } }); - // Создаём первую строку сопоставления - addMappingRow(); + // Автоматически создаём сопоставления для "Продуктовые предложения" и "Абонент" + setupDefaultMappings(); } -function addMappingRow() { +function addMappingRow(templateField = '', mainField = '') { const container = document.getElementById('column-mappings'); const mainFields = Object.keys(mainData[0] || {}); const templateFields = Object.keys(templateData[0] || {}); @@ -171,13 +171,15 @@ function addMappingRow() { // Заполняем столбец шаблона let templateOptions = ''; templateFields.forEach(field => { - templateOptions += ''; + const selected = field === templateField ? 'selected' : ''; + templateOptions += ''; }); // Заполняем столбец основного файла let mainOptions = ''; mainFields.forEach(field => { - mainOptions += ''; + const selected = field === mainField ? 'selected' : ''; + mainOptions += ''; }); row.innerHTML = ` @@ -201,6 +203,30 @@ function addMappingRow() { processMapping(); } +function setupDefaultMappings() { + // Автоматически создаём сопоставления для конкретных полей + const mainFields = Object.keys(mainData[0] || {}); + const templateFields = Object.keys(templateData[0] || {}); + + // Сопоставление 1: "Продуктовые предложения" (шаблон) <- "Продуктовое предложения" (основной) + const templateProductField = templateFields.find(f => f.toLowerCase().includes('продуктов')); + const mainProductField = mainFields.find(f => f.toLowerCase().includes('продуктов')); + + if (templateProductField && mainProductField) { + addMappingRow(templateProductField, mainProductField); + console.log('Добавлено сопоставление:', templateProductField, '<-', mainProductField); + } + + // Сопоставление 2: "Абонент" (шаблон) <- "Абонент" (основной) + const templateAbonentField = templateFields.find(f => f.toLowerCase().includes('абонент')); + const mainAbonentField = mainFields.find(f => f.toLowerCase().includes('абонент')); + + if (templateAbonentField && mainAbonentField) { + addMappingRow(templateAbonentField, mainAbonentField); + console.log('Добавлено сопоставление:', templateAbonentField, '<-', mainAbonentField); + } +} + function removeMappingRow(rowId) { const row = document.getElementById(rowId); if (row) {