diff --git a/index.html b/index.html index 5097521..8734501 100644 --- a/index.html +++ b/index.html @@ -597,14 +597,55 @@ document.querySelectorAll('.employee-select').forEach(select => { select.addEventListener('change', function() { const task = this.closest('.task'); const title = task.querySelector('.title').textContent; - const employee = this.value; + const newEmployee = this.value; + const meta = task.querySelector('.meta'); + const oldEmployee = meta.textContent.split('Исполнитель: ')[1]?.split(' •')[0] || ''; - if (employee) { - const meta = task.querySelector('.meta'); + if (newEmployee && oldEmployee !== newEmployee) { + // Обновляем текущую задачу const deadline = meta.textContent.split('•')[1] || ''; - meta.textContent = 'Исполнитель: ' + employee + ' •' + deadline; + meta.textContent = 'Исполнитель: ' + newEmployee + ' •' + deadline; - showNotification('Задача "' + title + '" назначена на ' + employee); + // Обновляем данные сотрудника во всех других задачах + document.querySelectorAll('.task .meta').forEach(m => { + if (m !== meta && m.textContent.includes('Исполнитель: ' + oldEmployee)) { + m.textContent = m.textContent.replace('Исполнитель: ' + oldEmployee, 'Исполнитель: ' + newEmployee); + } + }); + + // Обновляем данные в закупках + document.querySelectorAll('.table td').forEach(td => { + if (td.textContent.trim() === oldEmployee && td.nextElementSibling && !td.nextElementSibling.querySelector('select')) { + td.textContent = newEmployee; + } + }); + + // Обновляем данные в загрузке сотрудников + document.querySelectorAll('.employee .name').forEach(nameEl => { + if (nameEl.textContent.trim() === oldEmployee) { + nameEl.textContent = newEmployee; + } + }); + + // Обновляем selectы с сотрудниками + document.querySelectorAll('.employee-select').forEach(s => { + s.querySelectorAll('option').forEach(option => { + if (option.value === oldEmployee) { + option.value = newEmployee; + option.textContent = newEmployee; + } + }); + }); + + // Обновляем таблицу сотрудников + document.querySelectorAll('.table tr[data-employee-name]').forEach(row => { + if (row.dataset.employeeName === oldEmployee) { + row.dataset.employeeName = newEmployee; + row.cells[0].textContent = newEmployee; + } + }); + + showNotification('Сотрудник "' + oldEmployee + '" заменён на "' + newEmployee + '" во всех разделах'); } }); });