completed

This commit is contained in:
2026-03-04 14:37:11 +05:00
parent 0dd9ddfc96
commit 4456844e50
6 changed files with 35 additions and 25 deletions

View File

@@ -124,7 +124,7 @@ function reloadAllScripts() {
function loadScriptsSequentially(scripts, index) {
if (index >= scripts.length) {
console.log('✅ Все скрипты успешно перезагружены');
////console.log('✅ Все скрипты успешно перезагружены');
// Инициализация после загрузки всех скриптов
setTimeout(() => {
@@ -149,7 +149,7 @@ function loadScriptsSequentially(scripts, index) {
}
function initializeAfterReload() {
console.log('🚀 Инициализация интерфейса после перезагрузки...');
////console.log('🚀 Инициализация интерфейса после перезагрузки...');
// Создаем навигацию
if (typeof createNavigation === 'function') {

View File

@@ -1,5 +1,4 @@
// main.js - Главный файл инициализации
//let currentTaskView = 'all'; // 'all', 'my_assigned', 'assigned_to_me'
window.currentTaskView = 'all'; // 'all', 'my_assigned', 'assigned_to_me'
let allTasksCache = []; // Кэш всех задач
@@ -515,4 +514,5 @@ function showSection(sectionName) {
function showKanbanSection() {
showSection('kanban');
}
window.setupEventListeners = setupEventListeners;

View File

@@ -48,10 +48,10 @@ function createNavigation() {
if (!navbar) return;
// 👇 ДОБАВЛЯЕМ ПОДРОБНЫЕ ЛОГИ 👇
if (currentUser) {
console.log('ID:', currentUser.id);
console.log('ФИО:', currentUser.name);
console.log('Логин:', currentUser.login);
console.log('Роль:', currentUser.role);
//console.log('ID:', currentUser.id);
//console.log('ФИО:', currentUser.name);
//console.log('Логин:', currentUser.login);
//console.log('Роль:', currentUser.role);
} else {
console.log('currentUser отсутствует (не авторизован)');
}

View File

@@ -24,7 +24,7 @@
const data = await response.json();
if (data.user) {
currentUser = data.user;
console.log('✅ Signature: текущий пользователь', currentUser);
////console.log('✅ Signature: текущий пользователь', currentUser);
// Проверяем, является ли пользователь подписантом
await checkIfUserIsSigner();
@@ -51,7 +51,7 @@
signer.name === currentUser.name
);
console.log('✅ Signature: пользователь является подписантом?', isCurrentUserSigner);
////console.log('✅ Signature: пользователь является подписантом?', isCurrentUserSigner);
return isCurrentUserSigner;
} catch (error) {
console.error('❌ Signature: ошибка проверки подписанта', error);
@@ -145,13 +145,6 @@
if (response.ok) {
alert(`✅ Задача ${signers.length > 1 ? 'назначена подписантам' : 'переназначена подписанту'}`);
// Отправляем запрос на завершение для старого исполнителя
await fetch(`/api/tasks/${taskId}/status`, {
method: 'PUT',
headers: { 'Content-Type': 'application/json' },
body: JSON.stringify({ userId: oldUserId, status: 'completed' })
});
// Пробуем перезагрузить задачи разными способами
if (window.TasksType && typeof window.TasksType.loadTasks === 'function') {
window.TasksType.loadTasks();
@@ -338,7 +331,7 @@
};
}
console.log('✅ Signature module loaded. User is signer:', isCurrentUserSigner);
////console.log('✅ Signature module loaded. User is signer:', isCurrentUserSigner);
}
// Запускаем инициализацию после загрузки DOM

View File

@@ -52,7 +52,7 @@ async function loadTasks() {
url += params.join('&');
console.log('Загрузка задач с фильтрами:', url);
////console.log('Загрузка задач с фильтрами:', url);
const response = await fetch(url);
if (!response.ok) {
@@ -61,7 +61,7 @@ async function loadTasks() {
tasks = await response.json();
window.tasks = tasks; // синхронизируем глобальную переменную
console.log(`Загружено ${tasks.length} задач`);
//console.log(`Загружено ${tasks.length} задач`);
// Загружаем поля документа для задач типа "document"
await loadDocumentFieldsForTasks();
@@ -117,7 +117,7 @@ async function loadDocumentFieldsForTasks() {
return;
}
console.log(`Загрузка полей документов для ${documentTasks.length} задач`);
//console.log(`Загрузка полей документов для ${documentTasks.length} задач`);
// Загружаем поля для каждой задачи
for (const task of documentTasks) {
@@ -126,7 +126,7 @@ async function loadDocumentFieldsForTasks() {
if (docResponse.ok) {
const docData = await docResponse.json();
task.document_fields = docData.data || {};
console.log(`✅ Загружены поля для задачи ${task.id}:`, task.document_fields);
//console.log(`✅ Загружены поля для задачи ${task.id}:`, task.document_fields);
} else {
task.document_fields = {};
}

View File

@@ -108,12 +108,20 @@ function renderDocumentFields(taskId, fields) {
function renderTasks() {
const container = document.getElementById('tasks-list');
const showDeleted = document.getElementById('show-deleted')?.checked || false;
// Получаем выбранное значение из селекта статусов
const statusFilter = document.getElementById('status-filter')?.value;
let filteredTasks = window.tasks;
if (!showDeleted) {
filteredTasks = window.tasks.filter(task => task.status === 'active');
}
if (statusFilter !== 'completed') {
filteredTasks = filteredTasks.filter(task => {
const myAssignment = task.assignments?.find(a => parseInt(a.user_id) === currentUser.id);
return !myAssignment || myAssignment.status !== 'completed';
});
}
if (filteredTasks.length === 0) {
container.innerHTML = '<div class="loading">Задачи не найдены</div>';
return;
@@ -241,12 +249,21 @@ function renderTasksInContainer(containerId, tasksArray) {
const container = document.getElementById(containerId);
if (!container) return;
if (!tasksArray || tasksArray.length === 0) {
let filteredTasks = tasksArray;
if (containerId === 'runtasks-list' && window.currentTaskView === 'assigned_to_me' && currentUser) {
filteredTasks = tasksArray.filter(task => {
const myAssignment = task.assignments?.find(a => parseInt(a.user_id) === currentUser.id);
console.log('Task', task.id, 'myAssignment status:', myAssignment?.status);
return !myAssignment || myAssignment.status !== 'completed';
});
}
if (!filteredTasks || filteredTasks.length === 0) {
container.innerHTML = '<div class="loading">Задачи не найдены</div>';
return;
}
container.innerHTML = tasksArray.map(task => {
container.innerHTML = filteredTasks.map(task => {
const isExpanded = expandedTasks.has(task.id);
const overallStatus = getTaskOverallStatus(task);
const statusClass = getStatusClass(overallStatus);