CRM система
Авторизация
{{ authError }}
Временно не доступна
Пользователь:
{{ currentUser.firstname }} (роль: {{ currentUser.role }})
Создать контакт
Фильтры: {{ activeContactFiltersCount }}
Фильтры выкл.
Список контактов
| Имя | Фамилия | Телефон | Описание | Адрес | Источник | Действия |
|---|---|---|---|---|---|---|
| {{ c.first_name }} | {{ c.last_name }} | {{ c.phone }} | {{ c.address }} | {{ c.contact_source_name || '' }} | ||
| Нет контактов | ||||||
Телефон:
{{ c.phone }}
{{ c.phone }}
Описание:
Адрес:
{{ c.address }}
{{ c.address }}
Источник:
{{ c.contact_source_name }}
{{ c.contact_source_name }}
Нет доп. информации
Нет контактов
Создать сделку
Этапы не настроены. Добавьте их в разделе «Этапы сделок».
-
{{ c.first_name }} {{ c.last_name }}📞 {{ c.phone }} · —
В списке только контакты типа «Клиент». (фильтрация применяется в логике, если нужно)
Если нужного контакта нет, вы можете создать его
.
Контактов пока нет.
Список сделок
| Название | Этап | Сумма | Контакт | Действия |
|---|---|---|---|---|
| {{ d.title }} | {{ dealStageMap[d.stage] || d.stage }} | {{ formatMoney(d.amount) }} | {{ d.first_name }} {{ d.last_name }} | |
| Нет сделок | ||||
Воронка продаж
Выберите воронку для отображения сделок.
Этапы для выбранной воронки не настроены. Добавьте их в разделе «Настройки → Воронки».
{{ stage.name }}
{{ d.undone_tasks_count && d.undone_tasks_count > 0 ? d.undone_tasks_count : '-' }}
{{ d.title || ('---') }}
{{ d.amount ? formatMoney(d.amount) : '---' }}
{{ d.first_name }} {{ d.last_name }}
Воронки продаж
{{ pipelineForm.id ? 'Редактировать воронку' : 'Создать воронку' }}
| ID | Название | По умолчанию | Создана | Действия |
|---|---|---|---|---|
| {{ p.id }} | {{ p.name }} | Да Нет | {{ p.created_at ? new Date(p.created_at).toLocaleString('ru-RU', { year: 'numeric', month: '2-digit', day: '2-digit', hour: '2-digit', minute: '2-digit' }) : '' }} | |
| Воронки не созданы | ||||
Этапы воронки
Этапы Новый (new), Успешно (done) и Не успешно (lost)
присутствуют во всех воронках, их нельзя удалить или менять порядок.
Добавить этап
| Название | Код | Порядок | Системный | Действия |
|---|---|---|---|---|
| {{ s.name }} ⋮⋮ {{ s.name }} | {{ s.code }} | {{ s.sort_order }} | Да Нет | |
| Этапы не заданы | ||||
Выберите воронку, чтобы настроить её этапы.
Отправить сообщение
История сообщений
| Контакт | Канал | Направление | Пользователь | Текст | Дата | Действия |
|---|---|---|---|---|---|---|
| {{ m.first_name }} {{ m.last_name }} | {{ m.channel }} | {{ m.direction }} | {{ m.username }} | {{ m.content }} | {{ new Date(m.created_at).toLocaleString('ru-RU', {year: 'numeric',month: '2-digit',day: '2-digit',hour: '2-digit',minute: '2-digit'}) }} | |
| Сообщений нет | ||||||
Создать задачу
Сделок ещё нет. Сначала создайте сделку во вкладке «Сделки».
Мои задачи -
| Сделка | Задача | Описание | Статус | Исполнитель | План | Факт | |
|---|---|---|---|---|---|---|---|
| {{ t.deal_title || '' }} | {{ t.title }} | {{ t.description }} | {{ t.executor_username || t.executor_id }} | {{ t.planned_at ? new Date(t.planned_at).toLocaleString('ru-RU', {year: 'numeric',month: '2-digit',day: '2-digit',hour: '2-digit',minute: '2-digit'}) : '' }} | {{ t.completed_at ? new Date(t.completed_at).toLocaleString('ru-RU', {year: 'numeric',month: '2-digit',day: '2-digit',hour: '2-digit',minute: '2-digit'}) : '' }} | ||
| Нет задач | |||||||
{{ t.title || 'Задача #' + t.id }}
Описание:
{{ t.description }}
{{ t.description }}
Исполнитель:
{{ t.executor_username || t.executor_id }}
{{ t.executor_username || t.executor_id }}
План:
{{ t.planned_at ? new Date(t.planned_at).toLocaleString('ru-RU', {year: 'numeric',month: '2-digit',day: '2-digit',hour: '2-digit',minute: '2-digit'}) : '—' }}
Факт:
{{ t.completed_at ? new Date(t.completed_at).toLocaleString('ru-RU', {year: 'numeric',month: '2-digit',day: '2-digit',hour: '2-digit',minute: '2-digit'}) : '—' }}
Нет задач
Настройки CRM
0 — показывать всегда. Сейчас используется для:
сделок в статусе done/lost и задач со статусом done.
Подключение аккаунта Telegram
Статус:
Подключен как {{ telegramConnect.user_display }}
Ожидается ввод кода
Не подключен
{{ telegramConnect.error }}
Подключение аккаунта Max
Для подключения аккаунта Max авторизуйтесь в веб‑версии https://web.max.ru/ и получите токен.
{{ maxConnect.statusText }}
{{ maxConnect.error }}
{{ (maxConnect.profile.display_name || maxConnect.profile.username || 'M').toString().substring(0,1).toUpperCase() }}
{{ maxConnect.profile.display_name || 'Профиль Max' }}
ID: {{ maxConnect.profile.id }}
username: {{ maxConnect.profile.username }}
{{ editUserForm.id ? 'Редактировать пользователя' : 'Создать пользователя' }}
Список пользователей
| ID | Логин | Роль | Имя | Фамилия | Подтв. | Блок. | Действия | |
|---|---|---|---|---|---|---|---|---|
| {{ user.id }} | {{ user.username }} | {{ user.role }} | {{ user.firstname }} | {{ user.lastname }} | {{ user.email }} | {{ user.approved ? 'Да' : 'Нет' }} | Заблокирован Активен | |
| Пользователи не найдены | ||||||||
Telegram – чтение диалогов -
Диалоги
Загрузка диалогов...
{{ telegramDialogsError }}
{{ (d.title || '?').substring(0, 1).toUpperCase() }}
{{ d.title || 'Без названия' }}
{{ d.type }}
Диалогов не найдено.
Сообщения
(диалог {{ selectedTelegramDialogId }})
{{ telegramSendError }}
Загрузка сообщений...
{{ telegramMessagesError }}
Выберите диалог слева, чтобы просмотреть сообщения.
{{ m.type || 'unknown' }}
{{ new Date(m.date).toLocaleString('ru-RU', {year: 'numeric',month: '2-digit',day: '2-digit',hour: '2-digit',minute: '2-digit'}) }}
{{ m.text }}
[Системное] {{ m.text || '' }}
[Фото]
{{ m.caption }}
[Документ]
{{ m.caption }}
[Видео]
{{ m.caption }}
[Голосовое сообщение]
[{{ m.type || 'прочее' }}] {{ m.text || m.caption || '' }}
Сообщений пока нет.
MAX — чтение диалогов
Диалоги MAX
{{ maxDialogsError }}
Загрузка диалогов...
{{ (d.title || 'M').substring(0, 1).toUpperCase() }}
{{ d.title || ('Диалог #' + d.id) }}
{{ d.type || 'DIALOG' }}
Диалогов не найдено.
Сообщения
(диалог {{ selectedMaxDialogId }})
{{ maxSendError }}
Загрузка сообщений...
{{ maxMessagesError }}
Выберите диалог слева, чтобы просмотреть сообщения.
{{ m.type || 'text' }}
{{ new Date(m.date).toLocaleTimeString('ru-RU', {
hour: '2-digit',
minute: '2-digit'
}) }}
{{ m.text }}
[{{ m.type }}] {{ m.text || m.caption || '' }}
Сообщений пока нет.
Добавить источник привлечения
Технический код. Можно не заполнять.
Чем меньше число, тем выше в списках.
Список источников
| Название | Код | Порядок | Действия |
|---|---|---|---|
| {{ s.name }} | {{ s.code }} | {{ s.sort_order }} | |
| Источники не заданы | |||
{{ adCostEditMode ? 'Редактировать расход на рекламу' : 'Добавить расход на рекламу' }}
Список расходов на рекламу
| ID | Дата | Сумма | Источник | |
|---|---|---|---|---|
| {{ c.id }} | {{ c.date ? new Date(c.date).toLocaleString('ru-RU', {year: 'numeric',month: '2-digit',day: '2-digit'}) : '' }} | {{ formatMoney(c.amount) }} | {{ c.contact_source_name }} | |
| Нет расходов | ||||
Фильтры статистики затрат
Таблица: затраты / контакты / сделки / цена лида
| Месяц | Источник | Затраты | Контакты | Сделки | Сумма сделок | Цена лида | Цена сделки | Затраты / сумма сделок |
|---|---|---|---|---|---|---|---|---|
| {{ r.month ? new Date(r.month).toLocaleDateString('ru-RU', {year:'numeric', month:'short'}) : '-' }} | {{ r.contact_source_name || '-' }} | {{ formatMoney(r.total_cost) || 0 }} | {{ Number(r.contacts_count) || 0 }} | {{ Number(r.deals_count) || 0 }} | {{ formatMoney(r.amount_sum) }} | {{ r.cost_per_lead != null && !isNaN(Number(r.cost_per_lead)) ? formatMoney(r.cost_per_lead) : '-' }} | {{ r.cost_per_deal != null && !isNaN(Number(r.cost_per_deal)) ? formatMoney(r.cost_per_deal) : '-' }} | {{ r.cost_per_amount != null && !isNaN(Number(r.cost_per_amount)) ? Number(r.cost_per_amount*100).toFixed(4) : '-' }} |
| Нет данных для отображения | ||||||||
Графики: по месяцам / по источникам
Нет данных для графиков
{{ globalError }}