diff --git a/controllers/StatisticsController.php b/controllers/StatisticsController.php index 880f1fc..36486e4 100755 --- a/controllers/StatisticsController.php +++ b/controllers/StatisticsController.php @@ -68,8 +68,21 @@ ->andFilterWhere($labelFilter), ] ); + + $labelChartData1 = [ + 'labels' => array_keys($labelStatistics), + 'datasets' => [ + [ + 'label' => 'Заказов, шт.', + 'data' => ArrayHelper::getColumn($labelStatistics, 'count', false), + 'backgroundColor' => 'rgba(54, 162, 235, 0.2)', + 'borderColor' => 'rgba(54, 162, 235, 1)', + 'borderWidth' => 1, + ], + ], + ]; - $labelChartData = [ + $labelChartData2 = [ 'labels' => array_keys($labelStatistics), 'datasets' => [ [ @@ -81,14 +94,67 @@ ], ], ]; + + $labelChartData3 = [ + 'labels' => array_keys($labelStatistics), + 'datasets' => [ + [ + 'label' => 'Заказано товаров, шт.', + 'data' => ArrayHelper::getColumn($labelStatistics, 'products', false), + 'backgroundColor' => 'rgba(255, 206, 86, 0.2)', + 'borderColor' => 'rgba(255, 206, 86, 1)', + 'borderWidth' => 1, + ], + [ + 'label' => 'Уникальных товаров, шт.', + 'data' => ArrayHelper::getColumn($labelStatistics, 'unique', false), + 'backgroundColor' => 'rgba(75, 192, 192, 0.2)', + 'borderColor' => 'rgba(75, 192, 192, 1)', + 'borderWidth' => 1, + ], + ], + ]; + + $rejectStatistics = Order::getRejectionStatistics($dateFilter); + + $rejectChartData1 = [ + 'labels' => array_keys($rejectStatistics), + 'datasets' => [ + [ + 'label' => 'Заказов, шт.', + 'data' => ArrayHelper::getColumn($rejectStatistics, 'count', false), + 'backgroundColor' => 'rgba(153, 102, 255, 0.2)', + 'borderColor' => 'rgba(153, 102, 255, 1)', + 'borderWidth' => 1, + ], + ], + ]; + + $rejectChartData2 = [ + 'labels' => array_keys($rejectStatistics), + 'datasets' => [ + [ + 'label' => 'На сумму, грн.', + 'data' => ArrayHelper::getColumn($rejectStatistics, 'sum', false), + 'backgroundColor' => 'rgba(255, 159, 64, 0.2)', + 'borderColor' => 'rgba(255, 159, 64, 1)', + 'borderWidth' => 1, + ], + ], + ]; + return $this->render( 'index', [ 'labels' => $labels, 'labelStatistics' => $labelStatistics, - 'rejectionStatistics' => Order::getRejectionStatistics($dateFilter), + 'rejectionStatistics' => $rejectStatistics, 'dataProvider' => $dataProvider, - 'labelChartData' => $labelChartData, + 'labelChartData1' => $labelChartData1, + 'labelChartData2' => $labelChartData2, + 'labelChartData3' => $labelChartData3, + 'rejectChartData1' => $rejectChartData1, + 'rejectChartData2' => $rejectChartData2, 'dateValue' => empty($date_range) ? '' : $date_range, 'dataLabel' => empty($label) ? false : $label, ] diff --git a/views/statistics/index.php b/views/statistics/index.php index 37f394c..afbf6bc 100644 --- a/views/statistics/index.php +++ b/views/statistics/index.php @@ -17,7 +17,11 @@ * @var array $labelStatistics * @var array $rejectionStatistics * @var ActiveDataProvider $dataProvider - * @var array $labelChartData + * @var array $labelChartData1 + * @var array $labelChartData2 + * @var array $labelChartData3 + * @var array $rejectChartData1 + * @var array $rejectChartData2 * @var string $dateValue * @var int | boolean $dataLabel */ @@ -26,7 +30,7 @@