Виды и статусы заявок
Виды или типы заявок позволяют различать заявки по продаваемой продукции, оказываемым услугам или вообще разным типам обращений пользователей.
Статусы же помогают понять на какой стадии сейчас находится заявка: получена, в работе, ожидание оплаты и т.д.
Виды заявок
В меню видов заявок можно попасть из раздела Заявки и персоны в верхнем меню бота, нажав в выпадающем списке на Виды заявок.
После перехода к меню видов открывается таблица содержащая все типы заявок бота.
Здесь можно просматривать таблицу, создавать новые виды заявок (1), редактировать информацию о уже существующих и удалять их (2).
При нажатии на кнопку Создать открывается окно настройки вида заявки со следующими полями:
- Наименование - имя вида заявки;
- Заказ в магазине - если включить опцию, заявка с данным видом будет считаться заказом и относиться к функционалу магазина в боте.
После создания вид появится в таблице в меню видов с автоматически заданным ему Id. Тут его можно редактировать и удалить.
Редактирование видов включает в себя те же поля, что при создании.
Статусы заявок
В меню статусов заявок можно попасть из раздела Заявки и персоны в верхнем меню бота, нажав в выпадающем списке на Статусы заявок.
После перехода к меню статусов открывается таблица содержащая все статусы заявок бота.
Здесь можно просматривать таблицу, создавать новые статусы заявок (1), редактировать информацию о уже существующих, перемещать по приоритету и удалять их (2).
При нажатии на кнопку Создать открывается окно настройки статуса заявки со следующими полями:
- Наименование - имя статуса заявки;
- Тип - значение статуса в виде выпадающего списка. По сути это статусы по умолчанию ставящиеся в соответствие созданным статусам.
Поле Тип можно оставить не заполненным, если нет подходящего варианта. Это никак не повлияет на работу статусов.
После создания статус появится в таблице в меню статусов с автоматически заданным ему Id. Тут его можно редактировать и удалить.
Редактирование статусов включает в себя те же поля, что при создании.
JS методы для работы со
Со статусами заявок
Ктак статусам заявок можно обращаться из JS следующими методами:
У каждого объекта ScriptTicketStatus есть свои атрибуты и методы. Они расписаны в конце раздела.
Каждый из методов подробнее расписан ниже.
Перезагрузить все статусы из БД
ticketStatuses.reload()Описание:
Перезагружает все статусы из БД.
Возвращает:
bool - подтверждение перезагрузки.
Получить Laravel Collection
ticketStatuses.getCollection()Описание:
Возвращает коллекцию статусов заявок.
Возвращает:
?Collection - данные статусов в виде коллекции.
Пример:
let collection = ticketStatuses.find([['name', 'like', 'СТАТУС']], true);
status = collection.last();
status = status['_object'] ? status['_object'] : null;
lead.setAttr('7_status_from_collection', status ? status.name : null);
collection = collection.reload();
collection = ticketStatuses.getCollection();
statuses = collection.where('name', '=', 'статус 1');
status = statuses.first();
status = (status && status['_object']) ? status['_object'] : null;
lead.setAttr('8_status_from_collection', status ? status.name : null);Поиск статусов
ticketStatuses.find(array|object|null $where, bool $isReturnCollection = false)Описание:
Находит статусы соответствующие указанным данным.
Атрибуты:
Возвращает:
?ScriptTicketStatus - v8 обертка над моделью
или
Collection - данные статусов в виде коллекции.
Пример:
let statuses = ticketStatuses.find([['name', 'like', 'СТАТУС']]);
lead.setAttr('6_found_ticket_statuses_count', statuses.length);
let collection = ticketStatuses.find([['name', 'like', 'СТАТУС']], true);
status = collection.last();
status = status['_object'] ? status['_object'] : null;
lead.setAttr('7_status_from_collection', status ? status.name : null);Поиск статуса по ID
ticketStatuses.findById(string|int|null $id)Описание:
Находит статус соответствующий указанному id.
Атрибуты:
Возвращает:
?ScriptTicketStatus - v8 обертка над моделью
Пример:
let status = ticketStatuses.findById(1095);
lead.setAttr('2_found_ticket_status_by_id', status ? status.id : null);Поиск статуса по имени
ticketStatuses.findByName(string $name)Описание:
Находит статус соответствующий указанному имени.
Атрибуты:
Возвращает:
?ScriptTicketStatus - v8 обертка над моделью.
Пример:
let status = ticketStatuses.findByName('статус 1');
lead.setAttr('0_found_ticket_status_by_name', status ? status.id : null);Поиск статусов по имени
ticketStatuses.findAllByNames(string|array|object|null $names, string $operator = '=', bool $isReturnCollection = false)Описание:
Находит статусы соответствующие указанным именам.
Атрибуты:
Возвращает:
Collection - данные статусов в виде коллекции.
Пример:
let statuses = ticketStatuses.findAllByNames('статус', 'like');
lead.setAttr('1_found_ticket_status_by_names_like', statuses.length);
statuses = ticketStatuses.findAllByNames(['статус 1', 'Статус 2'], 'IN');
lead.setAttr('3_found_ticket_statuses_by_names_count', statuses.length);Поиск статусов по типу статуса
ticketStatuses.findAllByTypes(string|array|object|null $types, string $operator = '=', bool $isReturnCollection = false)Описание:
Находит статусы соответствующие указанным типам.
Атрибуты:
На данный момент поддерживаются следующие типы статусов:
Возвращает:
Collection - данные статусов в виде коллекции.
Пример:
var statuses = ticketStatuses.findAllByTypes(['ASSIGNED', 'NEW'], 'IN');
lead.setAttr('4_found_ticket_statuses_by_types_in_count', statuses.length);
statuses = ticketStatuses.findAllByTypes('ASSIGNED', 'like');
lead.setAttr('5_found_ticket_statuses_by_types_like_count', statuses.length);Атрибуты и методы ScriptTicketStatus
После получения ScriptTicketStatus над нимже можно работать с помощью следующих методов дляJS. полученияВсе необходимыхметоды значений:и их описание можно посмотреть в Справочнике по функциям JS
Получение элемента
Обновление
Получение даты создания
Получение даты обновления
Получение даты удаления





