completed
This commit is contained in:
@@ -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') {
|
||||
|
||||
@@ -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;
|
||||
|
||||
|
||||
@@ -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 отсутствует (не авторизован)');
|
||||
}
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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 = {};
|
||||
}
|
||||
|
||||
21
public/ui.js
21
public/ui.js
@@ -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);
|
||||
|
||||
Reference in New Issue
Block a user