index.php 6.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155
  1. <?php
  2. use dosamigos\chartjs\ChartJs;
  3. use yii\helpers\Html;
  4. use \yii\widgets\ActiveForm;
  5. use \kartik\date\DatePicker;
  6. ?>
  7. <div class="auctions-index">
  8. <div class="panel panel-primary">
  9. <div class="panel-heading"><span class="glyphicon glyphicon-th-large"></span><strong> <?= Html::encode($this->title) ?></strong></div>
  10. <div class="panel-body">
  11. <p>
  12. <?=Yii::t('app', 'Total count - {count}', ['count' => $total])?>
  13. </p>
  14. <?php $form = ActiveForm::begin([
  15. 'method' => 'get',
  16. ]); ?>
  17. <div class="row">
  18. <div class="col-xs-6">
  19. <?= $form->field($searchModel, 'month')->widget(DatePicker::className(),[
  20. 'removeButton' => false,
  21. 'pluginOptions' => [
  22. 'autoclose'=>true,
  23. 'format' => 'yyyy.mm',
  24. 'viewMode' => 'months',
  25. 'minViewMode' => "months",
  26. 'locale' => [ 'format' => 'yyyy.mm', 'dateFormat' => 'yy-mm-dd', ]
  27. ],
  28. ])->label(false); ?>
  29. </div>
  30. <div class="col-xs-6">
  31. <div class="form-group">
  32. <?= Html::submitButton(Yii::t('app', 'Confirm'), ['class' => 'btn btn-primary'])?>
  33. </div>
  34. </div>
  35. </div>
  36. <?php ActiveForm::end(); ?>
  37. <div class="row">
  38. <div class="col-xs-12">
  39. <h2><?= Yii::t('app', 'Registered users per month'); ?></h2>
  40. <?= ChartJs::widget([
  41. 'type' => 'line',
  42. 'options' => [
  43. 'height' => 70,
  44. ],
  45. 'clientOptions' => [
  46. 'scales' => [
  47. 'yAxes' => [[
  48. 'ticks' => [
  49. 'stepSize' => 1
  50. ]
  51. ]]
  52. ]
  53. ],
  54. 'data' => [
  55. 'labels' => fillCount(countDayInMonth($searchModel)),
  56. 'datasets' => [
  57. [
  58. 'label' => Yii::t('app', 'Selected month'),
  59. 'backgroundColor' => "rgba(179,181,198,0.2)",
  60. 'borderColor' => "rgba(179,181,198,1)",
  61. 'pointBackgroundColor' => "rgba(179,181,198,1)",
  62. 'pointBorderColor' => "#fff",
  63. 'pointHoverBackgroundColor' => "#fff",
  64. 'pointHoverBorderColor' => "rgba(179,181,198,1)",
  65. 'data' => $users
  66. ],
  67. ]
  68. ]
  69. ]); ?>
  70. <hr>
  71. </div>
  72. <div class="col-xs-12">
  73. <h2><?= Yii::t('app', 'Auctions by status per month'); ?></h2>
  74. <?= ChartJs::widget([
  75. 'type' => 'line',
  76. 'options' => [
  77. 'height' => 70,
  78. ],
  79. 'clientOptions' => [
  80. 'scales' => [
  81. 'yAxes' => [[
  82. 'ticks' => [
  83. 'stepSize' => 1
  84. ]
  85. ]]
  86. ]
  87. ],
  88. 'data' => [
  89. 'labels' => fillCount(countDayInMonth($searchModel)),
  90. 'datasets' => $auctions
  91. ]
  92. ]); ?>
  93. <hr>
  94. </div>
  95. </div>
  96. <div class="row">
  97. <div class="col-xs-12">
  98. <hr>
  99. </div>
  100. <div class="col-md-6">
  101. <h2><?= Yii::t('app', 'Auctions by category'); ?></h2>
  102. <?= ChartJs::widget([
  103. 'type' => 'pie',
  104. 'options' => [
  105. 'height' => 90,
  106. ],
  107. 'clientOptions' => [
  108. 'legend' => [
  109. 'position' => 'left'
  110. ]
  111. ],
  112. 'data' => [
  113. 'labels' => $categories['labels'],
  114. 'datasets' => [
  115. [
  116. 'data' => $categories['data'],
  117. 'backgroundColor' => $categories['backgroundColor'],
  118. ]
  119. ]
  120. ]
  121. ]); ?>
  122. </div>
  123. <div class="col-md-6">
  124. <h2><?= Yii::t('app', 'Subscriptions by category'); ?></h2>
  125. <?= ChartJs::widget([
  126. 'type' => 'pie',
  127. 'options' => [
  128. 'height' => 90,
  129. ],
  130. 'clientOptions' => [
  131. 'legend' => [
  132. 'position' => 'left'
  133. ]
  134. ],
  135. 'data' => [
  136. 'labels' => $subscriptions['labels'],
  137. 'datasets' => [
  138. [
  139. 'data' => $subscriptions['data'],
  140. 'backgroundColor' => $subscriptions['backgroundColor'],
  141. ]
  142. ]
  143. ]
  144. ]); ?>
  145. </div>
  146. </div>
  147. </div>
  148. </div>
  149. </div>