tehnicheskoe-zadanie-na-razr/data.js

65 lines
7.4 KiB
JavaScript
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

// Начальные данные для демонстрации
const INITIAL_DATA = {
reviews: [
{ id: 1, date: '2026-08-15', direction: 'automation', rating: 4, type: 'propose', comment: 'Процесс согласования документов занимает слишком много времени', anonymous: false, department: 'it', status: 'new' },
{ id: 2, date: '2026-08-16', direction: 'training', rating: 5, type: 'thank', comment: 'Отличный курс по лидерству! Очень полезно для развития', anonymous: false, department: 'hr', status: 'review' },
{ id: 3, date: '2026-08-17', direction: 'discipline', rating: 3, type: 'attention', comment: 'Частые переработки в конце месяца из-за поздних отчетов', anonymous: true, department: 'finance', status: 'new' },
{ id: 4, date: '2026-08-18', direction: 'adaptation', rating: 4, type: 'propose', comment: 'Хорошо бы добавить больше материалов по продуктам компании', anonymous: false, department: 'sales', status: 'accepted' },
{ id: 5, date: '2026-08-19', direction: 'automation', rating: 5, type: 'propose', comment: 'Автоматизация отчетности через Excel макросы сэкономила 4 часа в неделю', anonymous: false, department: 'it', status: 'implement' },
{ id: 6, date: '2026-08-20', direction: 'innovation', rating: 4, type: 'propose', comment: 'Предлагаю внедрить систему электронных подписей для внутренних документов', anonymous: false, department: 'procurement', status: 'new' },
{ id: 7, date: '2026-08-20', direction: 'training', rating: 2, type: 'attention', comment: 'Мало курсов по цифровым инструментам для начинающих', anonymous: true, department: 'support', status: 'review' },
{ id: 8, date: '2026-08-21', direction: 'other', rating: 5, type: 'thank', comment: 'Благодарю за гибкий график в период ремонта офиса', anonymous: false, department: 'hr', status: 'done' }
],
ideas: [
{ id: 1, title: 'Внедрение электронного документооборота', problem: 'Согласование бумажных документов занимает 5-7 дней', solution: 'Перейти на систему электронного документооборота с цифровой подписью', effect: 'Сокращение времени согласования до 1-2 дней', category: 'automation', department: 'it', votes: 24, comments: 8, status: 'implement', anonymous: false, author: 'Алексей К.', date: '2026-08-10' },
{ id: 2, title: 'Мобильное приложение для записи на обучение', problem: 'Сложно найти и записаться на курсы через портал', solution: 'Сделать простое мобильное приложение с каталогом и записью в один клик', effect: 'Увеличение количества записей на 30%', category: 'automation', department: 'hr', votes: 18, comments: 5, status: 'review', anonymous: false, author: 'Мария С.', date: '2026-08-12' },
{ id: 3, title: 'Система наставничества для новых сотрудников', problem: 'Новички долго адаптируются, нет единого подхода', solution: 'Закрепить опытных сотрудников как наставников с мотивацией', effect: 'Сокращение адаптации с 3 до 1.5 месяцев', category: 'process', department: 'hr', votes: 31, comments: 12, status: 'accepted', anonymous: false, author: 'Дмитрий В.', date: '2026-08-08' },
{ id: 4, title: 'Автоматическое формирование отчетов', problem: 'Ежемесячные отчеты собираются вручную из разных систем', solution: 'Настроить автоматическую выгрузку и консолидацию данных', effect: 'Экономия 8 часов в месяц на сотрудника', category: 'automation', department: 'finance', votes: 42, comments: 15, status: 'new', anonymous: false, author: 'Анна П.', date: '2026-08-18' },
{ id: 5, title: 'Чат-бот для ответов на частые вопросы HR', problem: 'HR-отдел перегружен однотипными вопросами', solution: 'Внедрить бота с базой знаний по политикам и процедурам', effect: 'Разгрузка HR на 40%, ответы 24/7', category: 'automation', department: 'hr', votes: 27, comments: 9, status: 'done', anonymous: false, author: 'Сергей Л.', date: '2026-07-25' },
{ id: 6, title: 'Оптимизация закупок канцелярии', problem: 'Заказ канцелярии через множество согласований', solution: 'Ввести квартальные лимиты и автоматический заказ', effect: 'Снижение затрат на 15%', category: 'cost', department: 'procurement', votes: 15, comments: 4, status: 'rejected', anonymous: false, author: 'Ольга Н.', date: '2026-08-05' }
],
surveys: [
{ id: 1, type: 'week1', date: '2026-08-15', tasks: 4, support: 5, comment: 'Всё отлично, коллеги помогают' },
{ id: 2, type: 'month1', date: '2026-08-10', tasks: 5, support: 4, comment: 'Хотелось бы больше тренингов' },
{ id: 3, type: 'probation', date: '2026-08-05', tasks: 4, support: 4, comment: 'Адаптация прошла успешно' }
],
automation: [
{ id: 1, process: 'Согласование отпусков', department: 'hr', problem: 'Бумажные заявления теряются', solution: 'Электронная форма с маршрутом согласования', effect: 'time', date: '2026-08-14', status: 'new' },
{ id: 2, process: 'Отчёт по продажам', department: 'sales', problem: 'Ручной сбор данных из CRM', solution: 'Автоматическая выгрузка раз в неделю', effect: 'errors', date: '2026-08-16', status: 'review' }
],
profile: {
name: 'Александр Иванов',
department: 'IT Департамент',
position: 'Ведущий специалист',
tenure: '2 года 3 месяца'
},
settings: {
engagementIndex: 78,
engagementTrend: 'up', // up, stable, down
totalEmployees: 245,
departments: ['hr', 'it', 'finance', 'procurement', 'sales', 'support']
}
};
// Загрузка данных из localStorage или использование начальных
function loadData() {
const stored = localStorage.getItem('pulseData');
if (stored) {
return JSON.parse(stored);
}
return INITIAL_DATA;
}
// Сохранение данных в localStorage
function saveData(data) {
localStorage.setItem('pulseData', JSON.stringify(data));
}
// Глобальный объект данных
let appData = loadData();
// Экспорт для использования в app.js
window.appData = appData;
window.loadData = loadData;
window.saveData = saveData;