[AVP] Персональный менеджер задач администратора (avp_users_tasks)

Важно! В процессе работы над модулем Документация будет правится чаще и быстрее тут:

Что дает модуль

В процессе работы вдохновился решением управления задачами из CRM Б24 (сократим слово-которое-нельзя-называть), но так как там многие возможности порезали и продолжают резать до сих пор - поэтому и встал вопрос собственной реализации. Поэтому на некоторых приведенных скриншотах можно встретить много общего с тем, как это реализовано в вышеназванной CRM.

Таскбар

На каждой странице (кроме диспатчей, исключенных в настройках модуля) - показывается бар персональных задач администратора, включающий: задачи для принятия решения (выполненные задачи,назначенные администратором другим пользователям с проверкой после исполнения, для принятия решения: принять или отклонить и вернуть на доработку), просроченные задачи, задачи на сегодня, кнопка перехода на канбан со всеми задачами, новые задачи/комментарии, кнопка быстрого добавления задачи.


%D0%B7%D0%B0%D0%B3%D1%80%D1%83%D0%B6%D0%B5%D0%BD%D0%BD%D0%BE%D0%B52
Рис.1 Панель задач на десктопе и мобильном устройстве

При нажатии на кнопку “На проверку”, “Просрочены”, “Сегодня” или “Новые” - открывается всплывающее модальное окно со списком задач данной категории.

Окно сохраняет свой вид и на мобильных устройствах, но расположено будет уже по всей ширине.

В этом окне отображаются задачи выбранной временной категории. Каждая задача отображается отдельным блоком. Блок задачи содержит:

  • Название задачи (является ссылкой для открытия окна самой задачи).
  • Назначенная группа задач или проект (иконка открытой папки, показывается, если назначена).
  • На сколько задача просрочена, или сколько времени осталось до ее завершения (красный или голубой цвет).
  • Иконка календаря и крайний срок выполнения задачи, если он назначен, иначе - “Без срока”.
  • Иконка человека, кто и кому назначил данную задачу.

Справа идут иконки (информационные и для управления):

  • факел (обычное - серый, важная задача - красный);
  • чек - задача содержит чек-лист, включая прогресс исполнения (в разработке);
  • дискета - наличие прикрепленных файлов;
  • флажок - кнопка завершения задачи из списка;
  • иконка редактирования - кнопка редактирования задачи, если показывается, если для пользователя редактирование доступно. По умолчанию - редактировать задачу может только ее создатель;
  • иконка комментариев: серая (нет комментариев), голубая (есть комментарии), зеленая (есть непрочитанные комментарии).

Окно списка задач закрывается либо по крестику в верхнем правом углу, либо по клику/табу вне области окна (затемнению).

Модальное окно задачи содержит:

  • Название задачи, с иконкой важности задачи в начале. Важная задача помечена иконкой красного цвета.
  • Страница привязки задачи. Если задача создается через форму быстрого создания задачи (см. ниже), в задаче сохраняется адрес страницы и ее название. Под названием задачи пишется название такой страницы и ссылка на нее. Таким образом, находясь в любом месте админки, открыв задачу, можно нажать на эту ссылку, и перейти на страницу, к которой привязана задача (например, заказ, товар или покупатель), причем задача снова окажется открытой.
  • Ниже - группа задач / проект, если есть.
  • Текст задачи, включая постановщика задачи и дату / время создания. Позже в этом же поле будет расположен интерактивный чек-лист (в разработке).
  • Раскрывающийся список прикрепленных файлов, если они есть (в разработке).
  • Раскрывающийся блок “Дополнительно” (см. ниже).
  • Блок комментариев. Системные комментарии - во всю ширину, темный оттенок, дата и время. Ваши комментарии - прижаты слева. Комментарии других участников задачи - прижаты вправо.
  • Поле ввода комментария.
  • Кнопки, состав кнопок меняется от типа задачи и вашей роли. “Добавить” - присутствует всегда. “Добавить и завершить” - видна только постановщику и исполнителям. После ее нажатия кнопка пропадает у всех, у постановщика появляются кнопки “Добавить и принять” и “Добавить и отклонить” (если задача была поставлена с обязательной проверкой после исполнения). Если принять - задача будет полностью завершена. Если отклонить - задача снова появится у исполнителей.

В блоке дополнительно перечислены все участники задачи (по их ролям), а также даты создания, начала исполнения (если есть), крайнего срока, и фактической даты завершения, если задача завершена. Также доступна кнопка для редактирования задачи (для постановщика, либо для всех участников, если разрешено при создании/редактировании задачи).

Форма быстрого добавления новой задачи особых комментариев не требует.

То есть для быстрого создания задачи достаточно ввести название задачи (поле “Кратко”) и нажать “Сохранить”. В этом случае задача будет назначена самому себе, на сегодня. Также, если явно или не явно Вы назначаете задачу самому себе - даже если чекбокс “Требуется проверить выполнение” установлен, он снимается. Если Вы назначаете задачу себе и другому администратору/группе и нужна проверка - вы будете удалены из исполнителей. Если нажать “Очистить (без срока)” - поле “Выполнить до” будет очищено и задача попадет в раздел “Без срока”.

По кнопке “Мои задачи” переходим на канбан, на котором все ваши задачи распределены по времени выполнения (крайнего срока).

Канбан - сроки

Канбан - сроки представляет собой таблицу с колонками На проверку, Просрочено, Сегодня, Завтра, Текущая неделя, Следующая неделя, Позднее, Без срока. Каждая колонка имеет свою окраску. Кроме того, в колонке На проверку: сначала идут завершенные задачи (с белым фоном), то есть те задачи, которые были завершены постановщиком или исполнителями, затем задачи, над которыми еще идет работа. Также в этой колонке находятся задачи, которые Вы наблюдаете, такие задачи помечены иконкой глаза рядом с названием, а также надписью “наблюдаю” внизу блока (рядом со связкой постановщик → исполнитель).


Канбан прокручен влево


Канбан прокручен вправо

На текущий момент смена крайнего срока происходит путем редактирования задачи. В планах - внедрить перетаскивание задач между колонками. Также в ближайших планах встроить быстрое создание задачи по иконке “+” под названием колонки.

avp_ut_5

Также в планах сделать и другие виды отображения (смотри на изображении выше).

Завершенные задачи

Список завершенных задач в ближайшее время получит таблицу с чекбоксами выбора строк для массового применения действия (пока только удаления), а также постраничное отображение.

Из интересного здесь - колонка Операции. значки означают:

  • серый чек - задача выполнена и закрыта, задача была поставлена без проверки;
  • зеленый чек - задача была поставлена с проверкой, выполнена, проверена постановщиком и принята, закрыта;
  • желтый треугольник - задача была постановлена другим администратором, вы были исполнителем или наблюдателем, сейчас задача находится на проверке.
    Иконка корзины - удалить задачу.
    Иконка копирования - создать новую задачу на основе данной.
    Удалить или скопировать можно только задачу, для которой Вы являетесь владельцем (постановщик задачи).

Форма создания/редактирования задачи


Вид окна создания задачи по умолчанию


Вид окна создания задачи, когда развернуты все дополнительные секции

Поле проект/группа задач позволяет либо выбрать существующее название, либо ввести новое (по кнопке “+” появится поле для ввода нового названия:

Напоминания - пока не работают.
В ближайших планах:

  • повторяющиеся задачи;
  • зависимые задачи (следующая, предыдущая, мультизависимость - для диаграммы Ганта, следующая задача начинается после завершения предыдущих).

Установка

Модуль avp_users_tasks устанавливается из архива.

  • 1 путь. Модули - Управление модулями - “+”(Загрузить и установить модуль).
  • 2 путь. Загрузить содержимое архива в корневую директорию установленного магазина - архив имеет всю необходимую структуру папок.
    Порядок установки/переустановки (для установки просто пропускаем все шаги, связанные с предыдущей версией):
  1. Удаляем модуль, предварительно убедившись, что чекбокс в настройках модуля “Удалить все связанные данные при удалении модуля” - снят. Так Вы сохраните все свои данные при удалении модуля.
  2. Если у Вас установлен модуль [AVP} Бэкап настроек модулей (avp_backup_settings_addons) - Вам не надо выписывать настройки, чтобы при установке внести их обратно - модуль с настройками по умолчанию при удалении модуля создает бэкап настроек, а при его установке - восстанавливает настройки из последнего из сохраненных бэкапов.
  3. Устанавливаем модуль одним из вышеуказанных способов. Если необходимо - возвращаем настройки.

Настройка

В процессе работы над модулем все настройки писал через файл config.php. Те настройки, которые можно менять в процессе работы, также скоро перенесу в настройки модуля.

Работа с модулем

Итак, кратко. На данный момент:

  • Вы можете составить свой собственный план работ - для этого идеально подходит быстрое создание задачи. Вводите заголовок, если требуется более развернутое описание - дополняете, выбираете дату, Сохранить. Так создается задача самому себе.
  • Вы находитесь на странице товара, какие-то данные надо изменить или дополнить, это может сделать например работник склада. Вы открываете быстрое создание задачи, пишете что надо сделать, выбираете исполнителя, нажимаете сохранить. По умолчанию всегда ставится обязательная проверка. Это значит, что исполнитель увидит задачу на сегодня (по закрепленной в задаче ссылке может перейти на страницу товара, если это необходимо), например снимет размеры упаковки с товара, запишет их комментарием к задаче или сам заполнит поля в товаре и нажмет Добавить и завершить. У ваз задача появится на кнопке На проверку. Если Вас всё устраивает, Вы принимаете полученные данные и нажимаете Добавить и принять. Если Вы считаете, что данные недостоверны или неправильны - нажимаете Добавить и отклонить, и задача снова появится у исполнителя в задачах на сегодня.
  • Если Вам не нужен ответ, например Вы просто хотите разослать сотрудникам приглашение на обсуждение какого-то вопроса, создаете быструю задачу без проверки.
  • Лайф-хак: задачей можно организовать чат между двумя и более сотрудниками, особенно актуально это будет, когда закончу доработку отображения новых сообщений на баре.
  • Можно сделать копию из завершенной задачи (ручной аналог находящихся в разработке повторяющихся задач).
5 лайков

Если решение интересно, принимаю предложения и комментарии. Нужна еще примерно неделя, чтобы вычистить код, убрать тексты в языковые переменные, и предложить в текущей реализации. На текущем этапе функционал в активной до / разработке.

1 лайк

Выглядит заманчиво. Надо бы потрогать. Сколько стоит?
Как вариант можно добавить стоимость задачи в деньгах. Т.е. сколько получит исполнитель. И чтобы исполнитель мог рядом как то свою стоимость вписать, если потратил больше времени. И потом отчёт формировать. У нас например все контентщики получают почасовку за трудно измеримые действия или фиксированное за каждый товар.

1 лайк

Ага… Тогда надо кнопки Начинаю выполнение и Пауза добавлять. И тогда учет времени надо выводить в отдельную функциональность. Однако я не уверен, что это массово будет нужно, но трудозатратно.

1 лайк

Вот ещё вопрос: насколько надо или нет для задачи кроме даты крайнего срока ставить время, к которому надо завершить задачу? Не стал вводить, так как у встроенного в карт календаря выбора даты для поля времени нет ни маски, ни какой проверки введенного времени, в результате можно вести все что угодно и это приводит к непредсказуемым результатам.

Это для любителей дедлайна?
Срок и крайний срок? Имхо лишнее.
По вопросу выше конкретно у нас тайминг ручками на доверии. Но ваш вариант лучше. Потом ещё попристаю к вам в этом направлении.
А пока можно просто выгрузк в Эксель кто что делал?

Как вариант, можно реализовать также как в Б24, возможностью добавлять к задаче пользовательские поля. Если без отчёта, то стоимость можно написать в задаче, а исполнитель свой вариант стоимости - в комментарии.

ну если делать все по серьезному, впиливайте функционал лога для рута (админов отдельной группы) данные когда человек в целом открывает список задач (дата время) конкретную карточку, чтобы можно было видеть, что человек в целом не заглядывал даже в работу.

Честно не читал текст, по этому не знаю что там с удалением, но удалять нельзя перевод в архив, который опять же видит рут и тд, комментарии аналогично.

Так же может там холдеры какие нибудь типа (тут звездочки)123456 система при выводе заменяет цифры на
123456 (Название товара [ссылка на товар в админки])
Номера телефонов аналогично которые на поиск пользователя по телефону ведет.

1 лайк

Интересное и углублённое решение может оказаться для мультивендоров, где участвует много персонала и пользователи создают много разных вопросов (задач)… которые со временем требуется делегировать разным отделам (специалистам)— в CS Cart Multivendor есть функция «написать администратору» и только ему… то есть нет выбора типа вопроса с настройкой емэйл уведомлений по типу вопроса — встроенный механизм CS Cart генерит номер id ticket’а и круто связать эти 2 системы:
— сделать так чтоб администратор смог конвертировать в таск уже в этой новой системе по желанию нажав спец-кнопку или автоматически в глобальных настройках
— и дальше уведомление об ответах и дальнейшая коммуникация с пользователем происходила бы уже внутри новой системы

Ну это так… мечта перфекциониста

Собственно, это список новых задач и новых комментариев для пользователя. Когда для него появляется новая задача - будет (вернее уже пишется, как и для непрочитанных комментариев), запись в таблице, которая удаляется когда он откроет задачу.
Отсюда, если взять список непрочитанных задач и сообщений - можно понять как пользователь с ними работает.

Собственно, это список “Завершенные задачи”. Бывают задачи, которые для истории ну никак не важны, в любом случае, решение по удалению задачи может принять только Постановщик, но никак не исполнитель.

Не совсем понял модель реализации.

Очень интересное предложение, но лично для меня трудно реализуемое, ввиду отсутствия у меня MV :slight_smile:

Сейчас это можно сделать по другому: администратор открывает тикет (кстати, это отдельное окно или всплывающее?) и создает с этой страницы быструю задачу, назначая ее конкретному специалисту: займись мол этим тикетом.
Специалист открывает задачу, в ней ссылка, по которой он переходит прямо в тикет и в нем работает.
Соответственно да, тикету может не хватать поля, как для заказа: Назначено менеджеру.

просто если цифры по бокам имеют 2 звездочки, значит это product_id и когда делаете вывод это информации нужно прогнать через обработчик и вставить там данные по товарам и тд.

а зачем?

ну ставите задачу контенщику сделать такие-то товары, или задача менеджер принял по телефону запрос и просто указывает ИД / Артикул а система сама заменяет

1 лайк

как сейчас: захожу на страницу товара, быстрая задача - перечисляю что надо сделать
контентщик открывает задачу - в задаче автоматом проставленная ссылка страницы, на которой была создана задача - нажимает и попадает на товар над которым надо работать (задача остается открытой)

на артикул/ название / ссылка? все такие я не понимаю сценарий когда это требуется для задачи (не решаемо простым путем)?

Версия 2.1.1
Список завершенных задач:

  • выбор задач для применения массовой операции
  • постраничный вывод

Отображение задачи:

  • Прикрепление файла/ов к задаче, с отображением названия файла, автора файла, размера файла и даты и времени загрузки
  • Удаление файла из задачи
  • При загрузке файла с именем, которое уже есть на сервере - дополнение названия файла индексом
  • разные иконки для просмотра и скачивания файла (просмотр, если браузер позволяет просмативать тип файла)
  • При переходе с задачи из канбана на привязанную к задаче страницу (даже если задача не входит в отображаемые группы: просроченные, сегодня, на проверку) - задача открывается для просмотра
  • загрузка и удаление файлов происходит без перезагрузки страницы
    при удалении задачи - прикрепленные файлы удаляются
  • объем прикрепленного файла показывается в зависимости от размера в байтах, кило- или мега- байтах

3 лайка

Круто, когда будет готов модуль? Или уже?

3 лайка

Модуль готов?)

1 лайк