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);
+ });
+});