DatePicker yii2 с 2 или более рендеринга на одной странице - PullRequest
0 голосов
/ 10 октября 2019

У меня есть одна страница, которая на этой странице имеет 2-5 различных страниц рендеринга, в этом случае я хочу использовать средство выбора даты, чтобы я мог фильтровать данные на одной странице, используя в этом случае средство выбора даты

Я использовал хардкорный код -> andWhere (['log_date' => '2019-07-24']), и он успешно отображал данные, но только на одной из страниц рендеринга

$logs = DeviceLog::find()
            ->andWhere(['id_device' => $model->id_device])
                        ->andWhere(['log_date'=> '2019-07-24'])
            ->orderBy('log_time DESC')
            ->all();

enterописание изображения здесь

<?php

use app\common\helpers\Timeanddate;
use app\models\DeviceLog;
use yii\helpers\Html;
use yii\widgets\DetailView;
use dosamigos\chartjs\ChartJs;
use yii\helpers\ArrayHelper;
use dosamigos\datepicker\DatePicker;
use yii\widgets\ActiveForm;

/* @var $this yii\web\View */
/* @var $model app\models\Device */
$logs = DeviceLog::find()
    ->where(['id_device' => $model->id_device])
    ->andWhere(['log_time'=> "2019-07-26 01:19:24"])
//    ->orderBy('log_time DESC')
    ->all();
$sumbu_x_data = array();
$sumbu_y_data = array();
foreach($logs as $log){
    //Label Sumbu X
    $sumbu_x_data[] = Timeanddate::getTimeOnly($log->log_time);
    $sumbu_y_data[] = $log->value1;
}
$this->title = $model->device_name;
$this->params['breadcrumbs'][] = ['label' => 'Devices', 'url' => ['index']];
$this->params['breadcrumbs'][] = $this->title;
\yii\web\YiiAsset::register($this);

$this->registerJs(
        "$('#submit').on('click', function() {
                    var nameofmil = $('#datepicker').val();
                    alert(nameofmill)
//                  $('#komennotif').html(\"<div class='loader'></div>\");

//                  $.post(\""."\",
//                  {
//                      is: \""."\",
//                      isa: \""."\",
//                      name: nameofmil,
//                      lat: latitude,
//                      long: longitude,
//                      status: \"ok\"
//                  },
//                  function(data, status){
//                      $.pjax({container: '#pjax-grid-view'})
////                        $('#komennotif').html(data);
//                  });
                });"
)

?>

<?php


?>

<div class="device-view box box-primary">
    <?php /*<h1><?= Html::encode($this->title) ?></h1>*/ ?>


    <?= DetailView::widget([
        'model' => $model,
        'attributes' => [
            //'id_device',
            'device_name',
            'device_id',
            'address',
            'param1',
            //'param2',
            // 'param3',

//            'last_value1',
//            'last_value2',
//            'last_value3',
//            'last_update',
            // 'last_value4',
        ],
    ]) ?>

</div>
<div class="row">
    <div class="col-md-6">
        <div class="box">
            <div class="box-header with-border">
                <h3 class="box-title">Grafik Harian <?= $this->title = $model->device_name; ?></h3>
            </div>
            <!-- /.box-header -->
            <div class="box-body">
                <div class="row">
                    <div class="col-md-12">
                        <?php
                        $form = ActiveForm::begin([
                            'method' => 'post',
                            'enableClientScript' => false
                        ]);
                        ?>
                        <?= '<label class="control-label">Select Date Range</label>'; ?>
                        <?= DatePicker::widget([
                            'name' => 'Test',
//                            'model' => $model,
//                            'value' => $log_date,
                            'id' => 'datepicker',
                            'template' => '{addon}{input}',
                            'options' => ['class' => 'form-control', 'autocomplete' => 'off'],
                            'clientOptions' => [
                                'autoclose' => true,
                                'showOn' => 'button',
                                'orientation' => 'bottom',
                                'format' => 'yyyy-mm-dd'

                            ],
                                                ]);?>
                        <br>
                        <?php echo Html::submitButton('Submit') ?>



                    </div>
                    <?php ActiveForm::end(); ?>
                </div>
            </div>
        </div>
    </div>
</div>
<div class="row">
    <div class="col-md-12">
        <div class="box">
            <div class="box-header with-border">
                <h3 class="box-title">Grafik Harian <?= $this->title = $model->device_name; ?></h3>

                <div class="box-tools pull-right">
                    <button type="button" class="btn btn-box-tool" data-widget="collapse"><i class="fa fa-minus"></i>
                    </button>
                   </div>
            </div>
            <!-- /.box-header -->
            <div class="box-body">
                <div class="row">
                    <div class="col-md-6">
                        <?= $this->render('harian/_graph_curah_hujan', [
                                'model' => $model,
                        ]) ?>
                    </div>
                    <div class="col-md-6">
                        <?= $this->render('harian/_graph_butir_hujan', [
                                    'model' => $model,
                            ]) ?>
                    </div>
                 </div>
                </div>

            </div>
                </div>
            </div>

<!--// Diagram Pie-->
<div class="row">
    <div class="col-md-12">
        <div class="box">
            <div class="box-header with-border">
                <h3 class="box-title">Grafik Harian <?= $this->title = $model->device_name; ?></h3>

                <div class="box-tools pull-right">
                    <button type="button" class="btn btn-box-tool" data-widget="collapse"><i class="fa fa-minus"></i>
                    </button>
                </div>
            </div>
            <!-- /.box-header -->
            <div class="box-body">
                <div class="row">
                     <div class="col-md-6">
                            <?= $this->render('harian/_graph_diameter_butir', [
                                    'model' => $model,
                            ]) ?>
                    </div>
                    <div class="col-md-6">
                        <?= $this->render('harian/_graph_intensitas_hujan', [
                            'model' => $model,
                        ]) ?>
                    </div>
                </div>
            </div>

        </div>
    </div>
</div>
<div class="row">
    <div class="col-md-12">
        <div class="box">
            <div class="box-header with-border">
                <h3 class="box-title">Grafik Harian <?= $this->title = $model->device_name; ?></h3>
                    <br>
                <div class="box-tools pull-right">
                    <button type="button" class="btn btn-box-tool" data-widget="collapse"><i class="fa fa-minus"></i>
                    </button>
                </div>
            </div>
            <!-- /.box-header -->
            <br>
            <div class="box-body">
                <div class="row">
                    <div class="col-md-12">
                        <?= $this->render('harian/_graph_diameter_butir_pie', [
                            'model' => $model,
                        ]) ?>
                    </div>

                </div>
            </div>

        </div>
    </div>
</div>

как использовать 1 средство выбора даты для фильтрации всех данных на одной странице

...