diff --git a/index.html b/index.html index 6a5e3e2..cf1f8d7 100644 --- a/index.html +++ b/index.html @@ -69,6 +69,11 @@ body{font:15px/1.5 -apple-system,BlinkMacSystemFont,"Segoe UI",Inter,system-ui,s .notification .title{font-weight:600;margin-bottom:8px;color:var(--cyan)} .notification .message{color:var(--gray-500);font-size:14px} @keyframes slideIn{from{transform:translateX(100%);opacity:0}to{transform:translateX(0);opacity:1}} +.btn-save{background:var(--cyan);color:var(--ink);border:none;border-radius:6px;padding:6px 12px;font-size:12px;font-weight:600;cursor:pointer;transition:all 0.2s} +.btn-save:hover{background:#1be5ff} +.status-select,.priority-select{background:#2a2f3e;color:var(--white);border:1px solid rgba(255,255,255,0.1);border-radius:6px;padding:6px 10px;font-size:12px;cursor:pointer} +[contenteditable="true"]{background:rgba(255,255,255,0.05);border-radius:4px;padding:4px 8px;outline:none;transition:background 0.2s} +[contenteditable="true"]:focus{background:rgba(0,229,255,0.1)} @media(max-width:1024px){.sidebar{display:none}.main{margin-left:0}.stats{grid-template-columns:repeat(2,1fr)}.grid{grid-template-columns:1fr}} @media(max-width:640px){.stats{grid-template-columns:1fr}.header{flex-direction:column;align-items:flex-start;gap:8px}.actions{flex-wrap:wrap}} @@ -282,36 +287,41 @@ body{font:15px/1.5 -apple-system,BlinkMacSystemFont,"Segoe UI",Inter,system-ui,s Активных задач Выполнено за месяц Эффективность + Действия - - Айгуль К. - Специалист АХО - 8 - 34 + + Айгуль К. + Специалист АХО + 8 + 34 92% + - - Руслан М. - Техник - 6 - 28 + + Руслан М. + Техник + 6 + 28 88% + - - Динара С. - Документооборот - 5 - 42 + + Динара С. + Документооборот + 5 + 42 95% + - - Алексей В. - Кладовщик - 5 - 31 + + Алексей В. + Кладовщик + 5 + 31 78% + @@ -330,36 +340,65 @@ body{font:15px/1.5 -apple-system,BlinkMacSystemFont,"Segoe UI",Inter,system-ui,s Статус Срок Исполнитель + Действия - - Канцелярия для отдела - 45 000 ₸ - Ожидает - 18 июня - Айгуль + + Канцелярия для отдела + 45 000 ₸ + + + + 18 июня + Айгуль + - - Уборочные средства - 32 000 ₸ - Согласовано - 20 июня - Айгуль + + Уборочные средства + 32 000 ₸ + + + + 20 июня + Айгуль + - - Запчасти для кондиционера - 28 500 ₸ - Отклонено - 17 июня - Руслан + + Запчасти для кондиционера + 28 500 ₸ + + + + 17 июня + Руслан + - - Бумага для принтера - 18 000 ₸ - Согласовано - 22 июня - Динара + + Бумага для принтера + 18 000 ₸ + + + + 22 июня + Динара + @@ -378,36 +417,89 @@ body{font:15px/1.5 -apple-system,BlinkMacSystemFont,"Segoe UI",Inter,system-ui,s Приоритет Статус Дата подачи + Действия - - Переговорная №3 - Не работает кондиционер - Высокий - В работе - 15 июня + + Переговорная №3 + Не работает кондиционер + + + + + + + 15 июня + - - Офис 204 - Протекает кран - Средний - Назначен - 16 июня + + Офис 204 + Протекает кран + + + + + + + 16 июня + - - Коридор 2 этаж - Не горит свет - Высокий - Выполнено - 14 июня + + Коридор 2 этаж + Не горит свет + + + + + + + 14 июня + - - Склад - Заклинила дверь - Низкий - Ожидает - 18 июня + + Склад + Заклинила дверь + + + + + + + 18 июня + @@ -516,6 +608,42 @@ document.querySelectorAll('.employee-select').forEach(select => { } }); }); + +function saveEmployee(btn) { + const row = btn.closest('tr'); + const name = row.cells[0].textContent; + showNotification('Данные сотрудника "' + name + '" сохранены'); +} + +function savePurchase(btn) { + const row = btn.closest('tr'); + const name = row.cells[0].textContent; + showNotification('Закупка "' + name + '" обновлена'); +} + +function saveRequest(btn) { + const row = btn.closest('tr'); + const name = row.cells[0].textContent; + showNotification('Заявка "' + name + '" обновлена'); +} + +document.querySelectorAll('.status-select').forEach(select => { + select.addEventListener('change', function() { + const row = this.closest('tr'); + const name = row.cells[0].textContent; + const status = this.options[this.selectedIndex].text; + showNotification('Статус "' + name + '" изменён на: ' + status); + }); +}); + +document.querySelectorAll('.priority-select').forEach(select => { + select.addEventListener('change', function() { + const row = this.closest('tr'); + const name = row.cells[0].textContent; + const priority = this.options[this.selectedIndex].text; + showNotification('Приоритет "' + name + '" изменён на: ' + priority); + }); +});