controller
Код: Выделить всё
public function actionUserQualityMark()
{
$this->setPageTitle("Оценка сервиса");
$report = new StatisticForm();
$report->datebegin = date("d.m.Y", strtotime("-1 day"));
$report->params['mark'] = UserQualityMark::MARK_NEGATIVE;
$report->params['search'] = '';
$report->params['negative'] = -1;
$report->attributes = Yii::app()->getRequest()->getParam(StatisticForm::class);
$this->render('userQualityMarkBase', [ 'report' => $report ]);
}
Код: Выделить всё
<?php
/**
* @var StatisticController $this
* @var StatisticForm $report
* @var \application\models\statistics\UserQualityMarkStatistic $result
* @var TbActiveForm $form
* @var $loading_form
* @var $error_form
*/
$form = $this->beginWidget('booster.widgets.TbActiveForm', [
'id' => 'widget_user_quality_mark',
'type' => 'inline',
'enableClientValidation' => true,
'enableAjaxValidation' => false,
'clientOptions' => [ 'validateOnSubmit' => true ]
]);
echo CHtml::openTag('center');
echo CHtml::openTag('div');
echo $form->datePickerGroup($report, 'datebegin', [
'labelOptions' => ['label' => 'Период отчета с: '],
'prepend' => '<i class="glyphicon glyphicon-calendar"></i>',
'widgetOptions' => [
'htmlOptions' => [
'id' => 'datebegin',
'class' => 'input-small',
'placeholder' => 'ДД.ММ.ГГГГ'
]
]
]);
echo $form->datePickerGroup($report, 'dateend', [
'labelOptions' => ['label' => 'Период отчета с: '],
'prepend' => '<i class="glyphicon glyphicon-calendar"></i>',
'widgetOptions' => [
'htmlOptions' => [
'id' => 'dateend',
'class' => 'input-small',
'placeholder' => 'ДД.ММ.ГГГГ'
]
]
]);
echo $form->dropDownListGroup($report, "mid", [
'labelOptions' => ['style' => 'font-weight: 700;'],
'widgetOptions' => [
'data' => [
-4 => 'Чат',
-3 => 'Документы',
-2 => 'Заполнение',
-1 => 'Сайт',
0 => 'Все'
] + array_map(
function ($data) {
return $data['name'];
},
ManagersSchedule::getManagersList()
),
'htmlOptions' => ['prompt' => 'Выберите консультанта ...']
]
]);
echo $form->dropDownListGroup($report, 'pid', [
'widgetOptions' => [ 'data' => $report->getPartnerList()]
]);
echo CHtml::closeTag('div');
echo CHtml::openTag('div', [ 'style' => 'margin-top: 10px;']);
echo 'Поиск по ID, телефон, почта, фамилии: ';
echo $form->textField($report, 'params[search]', [
'class'=>'find-id form-control',
// 'id'=>'findId',
'style'=>'margin-right:10px'
]);
echo $form->dropDownListGroup($report, 'params[mark]', [
'widgetOptions' => [
'data' => [ -1 => 'Выберите оценку ...' ] + UserQualityMark::getMark()
]
]);
echo $form->dropDownListGroup($report, 'params[negative]', [
'widgetOptions' => [
'data' => [ -1 => 'Выберите причину негатива ...' ] + UserQualityMark::getNegativeList()
]
]);
echo CHtml::submitButton('Обновить', ['id'=>'refresh', 'class' => 'btn btn-default']);
CHtml::closeTag('div');
echo CHtml::closeTag('center');
$this->endWidget();
$mark = new \application\models\statistics\UserQualityMarkStatistic();
$mark->attributes = $report->attributes;
echo CHtml::openTag('div', ['id' => 'userQualityMark']);
$this->renderPartial('partial/_userQualityMark', [
'result' => $mark,
'dataProvider' => new CArrayDataProvider($mark->dataProvider(), [
'pagination' => [ 'pageSize' => 10 ]
]),
'widgetColumns' => $mark->widgetColumns()
]);
echo CHtml::closeTag('div');
Код: Выделить всё
$this->widget('booster.widgets.TbExtendedGridView', [
'id' => 'mark-grid',
'type' => 'striped bordered condensed',
'ajaxType' => 'POST',
'ajaxUrl' => Yii::app()->createUrl(Yii::app()->getRequest()->requestUri),
'beforeAjaxUpdate'=> 'function(id,options) {
var stf = {
datebegin: jQuery("#datebegin").val(),
dateend: jQuery("#dateend").val(),
mid: jQuery("#StatisticForm_mid").val(),
pid: jQuery("#StatisticForm_pid").val(),
params: {
search: jQuery("#StatisticForm_params_search").val(),
mark: jQuery("#application_models_statistics_UserQualityMarkStatistic_params_mark").val(),
negative: jQuery("#application_models_statistics_UserQualityMarkStatistic_params_negative").val()
}
};
options.data = {
"application_models_statistics_UserQualityMarkStatistic" : stf,
"NCSRF" : "'.Yii::app()->request->getCsrfToken().'"
}; }',
'dataProvider' => $dataProvider,
'columns' => $widgetColumns,
]);