_form.php 8.04 KB
<?php
    
    use kartik\select2\Select2;
    use yii\bootstrap\Html;
    use yii\helpers\Url;
    use yii\web\JsExpression;
    use yii\widgets\ActiveForm;
    
    /**
     * @var \yii\web\View              $this
     * @var \artbox\order\models\Order $model
     * @var array                      $labels
     * @var array                      $deliveries
     * @var array                      $payments
     * @var ActiveForm                 $form
     * @var bool $isCreate
     */
?>

<div class="order-form">
    
    <?php $form = ActiveForm::begin(); ?>
    <div class="x_panel">


    <?php
        //        if ($model->isNewRecord) {
        //            echo $form->field($model, 'user_id')
        //                      ->textInput();
        //        }
    ?>
        <div class="wrapp-blocks-edit-page">
            <?= $form->field($model, 'name')
                     ->textInput([ 'maxlength' => true , 'value' => strip_tags($model->name)]) ?>
        </div>
        <div class="wrapp-blocks-edit-page">
        </div>
        <div class="wrapp-blocks-edit-page">
            <?= $form->field($model, 'phone')
                     ->textInput([ 'maxlength' => true ]) ?>
        </div>
        <div class="wrapp-blocks-edit-page">
            <?= $form->field($model, 'email')
                     ->textInput([ 'maxlength' => true ]) ?>
        </div>
        <div class="wrapp-blocks-edit-page">
            <?= $form->field($model, 'city')
                     ->textInput([ 'maxlength' => true ]) ?>
        </div>
        <div class="wrapp-blocks-edit-page">
            <?= $form->field($model, 'address')
                     ->textInput([ 'maxlength' => true ]) ?>
        </div>
        <div class="wrapp-blocks-edit-page">
            <?= $form->field($model, 'comment')
                     ->textarea() ?>
        </div>
        <div class="wrapp-blocks-edit-page">
            <?= $form->field($model, 'label_id')
                ->widget(Select2::className(),[
                    'options'       => [
                        'placeholder' => \Yii::t('app', 'Выберите вариант метки'),
                    ],
                    'data'          => $labels,
                    'pluginOptions' => [
                        'allowClear' => true,
                    ],
                ]) ?>
        </div>
        <div class="wrapp-blocks-edit-page">
            <?= $form->field($model, 'delivery_id')
                ->widget(Select2::className(),[
                    'options'       => [
                        'placeholder' => \Yii::t('app', 'Выберите вариант доставки'),
                    ],
                    'data'          => $deliveries,
                    'pluginOptions' => [
                        'allowClear' => true,
                    ],
                ]) ?>
        </div>
        <div class="wrapp-blocks-edit-page">
            <?= $form->field($model, 'payment_id')
                     ->widget(Select2::className(),[
                         'options'       => [
                             'placeholder' => \Yii::t('app', 'Выберите вариант оплаты'),
                         ],
                         'data'          => $payments,
                         'pluginOptions' => [
                             'allowClear' => true,
                         ],
                     ]) ?>
        </div>
    </div>

    <div class="x_panel">
        <div class="order-product-container wrapp-blocks-edit-page">
    <div class="row">
        <div class="col-xs-12">
            <div class="row">
                <div class="col-md-9">
                    <label>Добавить еще товар</label>
                    <?php
                    echo Select2::widget(
                        [
                            'name'          => 'add-to-order',
                            'options'       => [
                                'placeholder' => \Yii::t('order', 'Select product'),
                            ],
                            'pluginOptions' => [
                                'allowClear'         => true,
                                'minimumInputLength' => 3,
                                'language'           => [
                                    'errorLoading' => new JsExpression(
                                        "function() {return '" . \Yii::t('order', 'Waiting for results') . "'; }"
                                    ),
                                ],
                                'ajax'               => [
                                    'url'      => Url::to([ 'product-list' ]),
                                    'dataType' => 'json',
                                    'data'     => new JsExpression('function(params) { return {q:params.term}; }'),
                                ],
                                'escapeMarkup'       => new JsExpression('function (markup) { return markup; }'),
                                'templateResult'     => new JsExpression('function(city) { return city.text; }'),
                                'templateSelection'  => new JsExpression('function (city) { return city.text; }'),
                            ],
                            'id'            => 'add-to-order',
                        ]
                    );
                    ?>
                </div>
                <div class="col-md-2">
                    <?php
                    $idInput = 'count-to-order';
                    echo '<label for="'.$idInput.'">КОЛ-ВО</label>';
                    echo Html::textInput(
                        'count-to-order',
                        1,
                        [
                            'class' => 'form-control',
                            'id'    => $idInput,
                        ]
                    );
                    ?>
                </div>
                <a class="variant-to-order  btn btn-success add-goods-order" href="#">
                    <i class="fa fa-plus"></i>
                </a>
            </div>
        </div>
    </div>

    <div id="order-product-pjax" class="row">
        <div class="col-xs-12 order-goods-th"<?=$isCreate ? ' style="display: none;"' : ''?>>
            <div class="row">
                <div class="col-md-7">
                    <?php
                    echo Html::tag('label', \Yii::t('order', 'Product'));
                    ?>
                </div>
                <div class="col-md-2">
                    <?php
                    echo Html::tag('label', \Yii::t('order', 'Price'));
                    ?>
                </div>
                <div class="col-md-2">
                    <?php
                    echo Html::tag('label', \Yii::t('order', 'Count'));
                    ?>
                </div>
            </div>
        </div>


      <div id="product-rows" class="col-xs-12">
          <?php
              $sum = 0;
              if (!$model->isNewRecord) {
                  foreach ($model->orderProducts as $index => $orderProduct) {
                      $sum += ( $orderProduct->count * $orderProduct->price );
                      echo $this->render(
                          '_order_product',
                          [
                              'orderProduct' => $orderProduct,
                              'price'        => $orderProduct->price,
                              'index'        => $index,
                              'variant'      => $orderProduct->variant,
                              'form'         => $form,
                          ]
                      );
                  }
    
              }
          ?>

      </div>
        <?php
            echo( " <div class='sum_all col-xs-12'>Итого: <strong id='total-sum'>" . $sum . "</strong></div>" );
         ?>
    </div>
  </div>
    </div>



    <div class="style buttons-page-wr">
        <?= Html::submitButton(
            $model->isNewRecord ? Yii::t('order', 'Create') : Yii::t('order', 'Update'),
            [ 'class' => $model->isNewRecord ? 'btn btn-success' : 'btn btn-success' ]
        ) ?>
    </div>
    
    <?php ActiveForm::end(); ?>

</div>