Class common\widgets\ReportLoader\ReportLoader

Inheritancecommon\widgets\ReportLoader\ReportLoader » yii\bootstrap\Widget

Виджет обработки и формирания отчетов.

Представляет из себя модальное окно со списом формирующихся и сформированных отчетов с возможностью скачивания для каждого пользователя.

Возможности виджета:

  • Паралельное формирование отчетов в независимости от обновления страницы в браузере;
  • Отображение процента выполнения отчета;
  • Формирование отчетов в PDF и Excel форматах;
  • Возможность подключить к common\widgets\GridView\GridView для выгрузки данных грида;
  • Возможность формировать отчеты по шаблонам составленных в формате Excel;
  • Возможность формировать отчеты по провайдерам данных \yii\data\ActiveDataProvider;
  • Возможность очищать, удалять, отменять выполнение отчетов.

Для работы виджета необходимо применить миграцию ReportLoader/migrations/m170604_042824_reportLoader.php

Таблица содержит следующие поля:

Имя поля таблицы Описание
rl_id Автоинкрементный идентификатор отчетов
rl_process_id Идентификатор пользователя или идентификатор сессии
rl_report_id Идентификатор вида отчета
rl_report_filename Путь файла отчета в файловой системе
rl_report_displayname Имя отчета (имя файла отчета)
rl_report_type Тип отчета (Excel2007 или PDF)
rl_status Статус выполнения отчета (1 - В процессе, 2 - Выполнен, 3 - Отменен)
rl_percent Процент выполнения отчета, от 0 до 100
rl_start Дата и время формирования отчета

Примеры использования:

Виджет необходимо разместить в главном представлении layout.php

   ...
   <?= ReportLoader::widget(['id' => 'wk-Report-Loader']) ?>
   ...

Пример формирования отчета с помощью шаблона: common\widgets\ReportLoader\ReportByTemplate.

Пример формирования отчета с помощью модели и провайдера данных: common\widgets\ReportLoader\ReportByModel

Пример использования виджета в common\widgets\GridView\GridView

Public Methods

Hide inherited methods

MethodDescriptionDefined By
init() Инициализация виджета. common\widgets\ReportLoader\ReportLoader
registerTranslations() Регистрация сообщений i18n common\widgets\ReportLoader\ReportLoader
run() Выполнение виджета common\widgets\ReportLoader\ReportLoader

Method Details

init() public method

Инициализация виджета.

public void init ( )
makeDialogMessages() protected method

protected void makeDialogMessages ( )
registerAssets() protected method

protected void registerAssets ( )
registerTranslations() public method

Регистрация сообщений i18n

public void registerTranslations ( )
run() public method

Выполнение виджета

public void run ( )