From 621bb4b3869d1a4fde9a9aa3126ac9de1071cacb Mon Sep 17 00:00:00 2001 From: Nurs Date: Thu, 17 Sep 2026 04:07:27 +0000 Subject: [PATCH] =?UTF-8?q?=D0=90=D0=B2=D1=82=D0=BE-=D1=81=D0=BE=D0=BF?= =?UTF-8?q?=D0=BE=D1=81=D1=82=D0=B0=D0=B2=D0=BB=D0=B5=D0=BD=D0=B8=D0=B5:?= =?UTF-8?q?=20=D0=9F=D1=80=D0=BE=D0=B4=D1=83=D0=BA=D1=82=D0=BE=D0=B2=D1=8B?= =?UTF-8?q?=D0=B5=20=D0=BF=D1=80=D0=B5=D0=B4=D0=BB=D0=BE=D0=B6=D0=B5=D0=BD?= =?UTF-8?q?=D0=B8=D1=8F=20=D0=B8=20=D0=90=D0=B1=D0=BE=D0=BD=D0=B5=D0=BD?= =?UTF-8?q?=D1=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- excel-editor.js | 36 +++++++++++++++++++++++++++++++----- 1 file changed, 31 insertions(+), 5 deletions(-) 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) {