65 lines
7.4 KiB
JavaScript
65 lines
7.4 KiB
JavaScript
// Начальные данные для демонстрации
|
||
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;
|