индикатор загрузки в чеклист пользователей
This commit is contained in:
56
public/ui.js
56
public/ui.js
@@ -856,7 +856,7 @@ async function loadTaskFiles(taskId) {
|
||||
}
|
||||
|
||||
// Функция для выбора типа задачи
|
||||
async function selectTaskType(type) {
|
||||
async function selectTaskType_old(type) {
|
||||
// Убираем активный класс со всех кнопок
|
||||
document.querySelectorAll('.task-type-btn').forEach(btn => {
|
||||
btn.classList.remove('active');
|
||||
@@ -895,6 +895,60 @@ async function selectTaskType(type) {
|
||||
await loadUsers();
|
||||
}
|
||||
}
|
||||
// ui.js - обновить функцию selectTaskType
|
||||
async function selectTaskType(type) {
|
||||
// Убираем активный класс со всех кнопок
|
||||
document.querySelectorAll('.task-type-btn').forEach(btn => {
|
||||
btn.classList.remove('active');
|
||||
});
|
||||
|
||||
// Добавляем активный класс выбранной кнопке
|
||||
const selectedBtn = document.querySelector(`.task-type-btn[data-type="${type}"]`);
|
||||
if (selectedBtn) {
|
||||
selectedBtn.classList.add('active');
|
||||
}
|
||||
|
||||
// Устанавливаем значение в скрытое поле
|
||||
document.getElementById('task-type').value = type;
|
||||
|
||||
// Обновляем форму
|
||||
updateTaskFormBasedOnType(type);
|
||||
suggestDefaultTitle(type);
|
||||
|
||||
// Очищаем выбранных пользователей при смене типа
|
||||
selectedUsers = [];
|
||||
|
||||
// Показываем загрузку
|
||||
const checklist = document.getElementById('users-checklist');
|
||||
if (checklist) {
|
||||
checklist.innerHTML = '<div class="loading-spinner">⏳ Загрузка доступных пользователей...</div>';
|
||||
}
|
||||
|
||||
// Загружаем пользователей для выбранного типа
|
||||
try {
|
||||
if (type === 'document') {
|
||||
await reloadUsersForDocumentType();
|
||||
} else if (['it', 'ahch', 'psychologist', 'speech_therapist', 'hr', 'certificate', 'e_journal'].includes(type)) {
|
||||
const groupNames = {
|
||||
'it': 'ИТ специалист',
|
||||
'ahch': 'АХЧ',
|
||||
'psychologist': 'психолог',
|
||||
'speech_therapist': 'логопед',
|
||||
'hr': 'Диспетчер',
|
||||
'certificate': 'Администрация',
|
||||
'e_journal': 'Админ ЭЖ'
|
||||
};
|
||||
await reloadUsersForType(groupNames[type]);
|
||||
} else {
|
||||
await loadUsers();
|
||||
}
|
||||
} catch (error) {
|
||||
console.error('Ошибка загрузки пользователей:', error);
|
||||
if (checklist) {
|
||||
checklist.innerHTML = '<div class="error">Ошибка загрузки пользователей</div>';
|
||||
}
|
||||
}
|
||||
}
|
||||
// функция для перезагрузки пользователей для типа "document"
|
||||
async function reloadUsersForDocumentType() {
|
||||
try {
|
||||
|
||||
Reference in New Issue
Block a user