intra_monitor/public/js/statuses.js
2026-03-18 14:19:29 +03:00

208 lines
8.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.

// ══════════════════════════════════════════════════════════════════
// ЕДИНЫЙ РЕЕСТР СТАТУСОВ
// Добавьте новый статус сюда — больше ничего менять не нужно.
// ══════════════════════════════════════════════════════════════════
//
// Поля объекта статуса:
// key — уникальный ключ (используется в БД, API, marksCache)
// chipClass — CSS-класс чипа фильтра (для цвета)
// chipLabel — текст на чипе фильтра
// chipDotColor — цвет точки на чипе (CSS-значение)
// badgeClass — CSS-класс бейджа статуса в таблице
// label — текст бейджа и тултипов
// sseLabel — текст в SSE-тосте
// exportLabel — текст в экспорте (CSV/TXT)
// btnClass — CSS-класс активной кнопки в боковой панели
// rowClass — CSS-класс строки таблицы
// btnIcon — иконка кнопки в боковой панели
// btnLabel — текст кнопки в боковой панели
// ispColor — цвет точки в inline-пикере статуса
// kbColor — цвет вспышки при нажатии клавиши
// kbShortcut — цифра-клавиша быстрого выбора (строка)
// clearOnUpdate — true: статус сбрасывается при обновлении задачи (режим сброса)
const MARKS_CONFIG = [
{
key: 'needs_reply',
chipClass: 'chip-reply',
chipLabel: 'Нужен ответ',
chipDotColor: 'var(--red)',
badgeClass: 'sb-reply',
label: 'Нужен ответ',
sseLabel: 'Нужно ответить',
exportLabel: 'Клиент ждет ответа',
btnClass: 'mbtn-reply',
rowClass: 'row-reply',
btnIcon: '✉',
btnLabel: 'Нужно ответить',
ispColor: 'var(--red)',
kbColor: '#ff4d4f',
kbShortcut: '1',
clearOnUpdate: true,
},
{
key: 'wait_client',
chipClass: 'chip-wait',
chipLabel: 'Ждём клиента',
chipDotColor: 'var(--orange)',
badgeClass: 'sb-wait',
label: 'Ждём клиента',
sseLabel: 'Ждём клиента',
exportLabel: 'Ждем клиента',
btnClass: 'mbtn-wait',
rowClass: 'row-wait',
btnIcon: '⏳',
btnLabel: 'Ждём клиента',
ispColor: 'var(--orange)',
kbColor: '#fa8c16',
kbShortcut: '2',
clearOnUpdate: false,
},
{
key: 'resolved',
chipClass: 'chip-resolved',
chipLabel: 'Можно закрыть',
chipDotColor: 'var(--green)',
badgeClass: 'sb-resolved',
label: 'Можно закрыть',
sseLabel: 'Можно закрыть',
exportLabel: 'Решено',
btnClass: 'mbtn-resolve',
rowClass: 'row-resolved',
btnIcon: '✓',
btnLabel: 'Можно Закрыть',
ispColor: 'var(--green)',
kbColor: '#52c41a',
kbShortcut: '3',
clearOnUpdate: false,
},
{
key: 'vyezdnye',
chipClass: 'chip-vyezdnye',
chipLabel: 'Не наша',
chipDotColor: 'var(--purple)',
badgeClass: 'sb-vyezdnye',
label: 'Не наша',
sseLabel: 'Не наша',
exportLabel: 'Не наша',
btnClass: 'mbtn-vyezdnye',
rowClass: 'row-vyezdnye',
btnIcon: '🚗',
btnLabel: 'Не наша',
ispColor: 'var(--purple)',
kbColor: '#722ed1',
kbShortcut: '4',
clearOnUpdate: false,
},
{
key: 'hidden',
chipClass: 'chip-hidden',
chipLabel: 'Скрытые',
chipDotColor: 'var(--text2)',
badgeClass: 'sb-hidden',
label: 'Скрыто',
sseLabel: 'Скрыто',
exportLabel: 'Скрыто',
btnClass: 'mbtn-hidden',
rowClass: 'row-hidden',
btnIcon: '⊘',
btnLabel: 'Скрыть',
ispColor: '#bbb',
kbColor: '#bbb',
kbShortcut: '6',
clearOnUpdate: false,
},
{
key: 'oborudovanie-fix',
chipClass: 'chip-oborudovanie-fix',
chipLabel: 'Клиент отправил',
chipDotColor: '#fa541c',
badgeClass: 'sb-oborudovanie-fix',
label: 'Клиент отправил оборудование',
sseLabel: 'Клиент отправил оборудование',
exportLabel: 'Клиент отправил оборудование',
btnClass: 'mbtn-oborudovanie-fix',
rowClass: 'row-oborudovanie-fix',
btnIcon: '📤',
btnLabel: 'Клиент отправил',
ispColor: '#fa541c',
kbColor: '#fa541c',
kbShortcut: '7',
clearOnUpdate: false,
},
{
key: 'oborudovanie-in-repair',
chipClass: 'chip-oborudovanie-in-repair',
chipLabel: 'В ремонте',
chipDotColor: '#13c2c2',
badgeClass: 'sb-oborudovanie-in-repair',
label: 'Оборудование в ремонте',
sseLabel: 'Оборудование в ремонте',
exportLabel: 'Оборудование в ремонте',
btnClass: 'mbtn-oborudovanie-in-repair',
rowClass: 'row-oborudovanie-in-repair',
btnIcon: '🔧',
btnLabel: 'В ремонте',
ispColor: '#13c2c2',
kbColor: '#13c2c2',
kbShortcut: '8',
clearOnUpdate: false,
},
{
key: 'oborudovanie-repair-done',
chipClass: 'chip-oborudovanie-repair-done',
chipLabel: 'Ремонт окончен',
chipDotColor: '#52c41a',
badgeClass: 'sb-oborudovanie-repair-done',
label: 'Ремонт окончен — ждёт отправки',
sseLabel: 'Ремонт окончен — ждёт отправки',
exportLabel: 'Ремонт окончен — ждёт отправки',
btnClass: 'mbtn-oborudovanie-repair-done',
rowClass: 'row-oborudovanie-repair-done',
btnIcon: '✅',
btnLabel: 'Ремонт окончен',
ispColor: '#52c41a',
kbColor: '#52c41a',
kbShortcut: '9',
clearOnUpdate: false,
},
{
key: 'oborudovanie-send-back',
chipClass: 'chip-oborudovanie-send-back',
chipLabel: 'Отправлено клиенту',
chipDotColor: '#1677ff',
badgeClass: 'sb-oborudovanie-send-back',
label: 'Оборудование отправлено клиенту',
sseLabel: 'Оборудование отправлено клиенту',
exportLabel: 'Оборудование отправлено клиенту',
btnClass: 'mbtn-oborudovanie-send-back',
rowClass: 'row-oborudovanie-send-back',
btnIcon: '🚚',
btnLabel: 'Отправлено клиенту',
ispColor: '#1677ff',
kbColor: '#1677ff',
kbShortcut: '0',
clearOnUpdate: false,
},
{
key: 'oborudovanie-returned',
chipClass: 'chip-oborudovanie-returned',
chipLabel: 'Клиент получил',
chipDotColor: '#722ed1',
badgeClass: 'sb-oborudovanie-returned',
label: 'Клиент получил оборудование',
sseLabel: 'Клиент получил оборудование',
exportLabel: 'Клиент получил оборудование',
btnClass: 'mbtn-oborudovanie-returned',
rowClass: 'row-oborudovanie-returned',
btnIcon: '🏠',
btnLabel: 'Клиент получил',
ispColor: '#722ed1',
kbColor: '#722ed1',
kbShortcut: '',
clearOnUpdate: false,
},
];
// Совместимость с Node.js (server.js использует require)
if (typeof module !== 'undefined') module.exports = MARKS_CONFIG;