service.php 11.2 KB
<?php
    /**
     * @var User     $user
     * @var UserInfo $user_info
     * @var string[] $specialization
     * @var string[] $payment
     * @var string[] $currecnies
     */
    use common\models\Currency;
    use common\models\Specialization;
    use common\models\User;
    use common\models\UserInfo;
    use kartik\select2\Select2;
    use yii\helpers\ArrayHelper;
    use yii\helpers\Html;
    use yii\web\JsExpression;
    use yii\widgets\ActiveForm;

    $this->title = 'Услуги';
    $this->params[ 'breadcrumbs' ][] = $this->title;
?>
<div class="login-left-column-title style">
    <table cellpadding="0" cellspacing="0" border="0">
        <tr>
            <td><?= $this->title ?></td>
            <td style="font-size: 13px; color: #b7b7b7;padding-left: 15px;">Рекомендуем детально заполнить для исполнителя. Это сильно влияет на количество заказов.</td>
        </tr>
    </table>
</div>
<div class="admin-service-wr style">
    <?php
        $form = ActiveForm::begin();
    ?>
    <div class="input-blocks-wrapper">
        <div class="input-blocks admin-currency-first">
            <?= $form->field($user_info, 'salary', [
                'template' => "{label}<br /><span class='admn-input-txt'>от</span>{input}\n{hint}\n{error}",
                'options'  => [ 'class' => 'form-inline' ],
            ])
                ->label('Стоимость работ')
                ->textInput (['class'=> 'custom-input-2 custom-input-2-date','type'=>'number']);
            ?>
        </div>
        <div class="input-blocks admin-currency-second">
            <?=
            $form->field($user_info, 'salary_currency', [
                'template' => "{input}<span class='admn-input-txt' style='padding-top: 7px; display: block'>за час</span>\n{hint}\n{error}",
            ])
                ->label(false)
                ->dropDownList(Currency::getCurrencyDropdown());
            ?>
        </div>
    </div>
    
    <div class="input-blocks-wrapper admin-menu-list">
        <div class="input-blocks" style="width: 100%; margin-bottom: 5px">
            <label>Специализации</label>
            <div class="required"></div>
        </div>
        <div class="style">
            <ul class="content-menu-first">
                <?php foreach($specializations as $specialization): ?>
                    <li data-img="<?= $specialization->image ?>">
                        <span data-menu-bg="<?= $specialization->background ?>" style="background: <?= $specialization->background ?>"></span><a href="#"><?= $specialization->specialization_name ?></a>
                        <ul>
                            <?php foreach($specialization->children as $child_first): ?>

                                <?php if($child_first instanceof Specialization): ?>
                                    <li>
                                        <a href="#"><?= $child_first->specialization_name ?></a>
                                        <ul>
                                            <?php foreach($child_first->children as $child_second): ?>
                                                <?php if($child_first instanceof Specialization): ?>
                                                    <li>
                                                        <a href="#" title="<?= $child_second->specialization_name ?>">
                                                            <?= $form->field($user, "specializationInput[{$child_second->specialization_id}]", [
                                                                'template'     => '{input}{label}{hint}{error}',
                                                            ])
                                                                ->label('<span></span>' . $child_second->specialization_name)
                                                                ->checkbox([
                                                                    'value'   => $child_second->specialization_id,
                                                                    'label'   => NULL,
                                                                    'uncheck' => NULL,
                                                                    'class' => 'custom-check',
                                                                ], false) ?>
                                                        </a>
                                                    </li>
                                                <?php endif; ?>
                                            <?php endforeach; ?>
                                        </ul>
                                    </li>
                                <?php endif; ?>
                            <?php endforeach; ?>

                        </ul>
                    </li>
                <?php endforeach; ?>
            </ul>
        </div>
        <div class="style admn-menu-err">
            <div class="help-block">Необходимо выбрать хотя бы одну «специализацию».</div>
        </div>
    </div>

    <div class="admin-specialization-selected style"><ul></ul></div>

    <?php
    /* temporarily disabled
    ?>
    <div class="input-blocks-wrapper admin-city-array">
        <div class="input-blocks">
            <?= $form->field($user_info, 'geographies')
                     ->widget(Select2::classname(), [
                         'options'       => [
                             'placeholder' => 'Выбор города ...',
                             'multiple'    => true,
                         ],
                         'pluginOptions' => [
                             'allowClear'         => true,
                             'minimumInputLength' => 3,
                             'ajax'               => [
                                 'url'      => \yii\helpers\Url::to([ 'site/city' ]),
                                 '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; }'),
                         ],
                     ]); ?>
        </div>
    </div>
    <?php
    */
    ?>
    <div class="input-blocks-wrapper">
        <div class="input-blocks">
            <?= $form->field($user_info, 'guarantee', [
                'template' => "{label}<br />{input}<span class='admn-input-txt'>лет</span>\n{hint}\n{error}",
                'options'  => [ 'class' => 'form-inline' ],
            ])
                     ->label('Гарантия качества работ')
                     ->textInput([
                         'class' => 'custom-input-2 custom-input-2-date custom-input-2-margin-r',
                         'type'  => 'number',
                     ]) ?>
        </div>
    </div>

    <div class="input-blocks-wrapper">
        <div class="input-blocks">
            <?= $form->field($user_info, 'contract', [
                'template' => "{label}<br />{input}\n{hint}\n{error}",
                'options'  => [ 'class' => 'form-inline' ],
            ])
                     ->textInput([
                         'class' => 'custom-input-2 custom-input-2-margin-r',
                     ]) ?>
        </div>
    </div>

    <div class="input-blocks-wrapper">
        <div class="input-blocks">
            <?= $form->field($user_info, 'estimate', [
                'template' => "{label}<br />{input}\n{hint}\n{error}",
                'options'  => [ 'class' => 'form-inline' ],
            ])
                     ->textInput([
                         'class' => 'custom-input-2 custom-input-2-margin-r',
                     ]) ?>
        </div>
    </div>

    <div class="input-blocks-wrapper">
        <div class="input-blocks">
            <?= $form->field($user_info, 'purchase', [
                'template' => "{label}<br />{input}\n{hint}\n{error}",
                'options'  => [ 'class' => 'form-inline' ],
            ])
                     ->textInput([
                         'class' => 'custom-input-2 custom-input-2-margin-r',
                     ]) ?>
        </div>
    </div>
    <div class="input-blocks-wrapper">
        <div class="input-blocks">
            <?= $form->field($user_info, 'delivery', [
                'template' => "{label}<br />{input}\n{hint}\n{error}",
                'options'  => [ 'class' => 'form-inline' ],
            ])
                     ->textInput([
                         'class' => 'custom-input-2 custom-input-2-margin-r',
                     ]) ?>
        </div>
    </div>

    <div class="input-blocks-wrapper">
        <div class="input-blocks">
            <?= $form->field($user_info, 'prepayment', [
                'template' => "{label}<br />{input}<span class='admn-input-txt'>%</span>\n{hint}\n{error}",
                'options'  => [ 'class' => 'form-inline' ],
            ])
                     ->label('Минимальная предоплата за работы')
                     ->textInput([
                         'class' => 'custom-input-2 custom-input-2-date custom-input-2-margin-r',
                         'type'  => 'number',
                     ]) ?>
        </div>
    </div>

    <div class="input-blocks-wrapper style border-general">
        <div class="input-blocks">
            <?= $form->field($user, 'paymentInput', [ 'template' => "{label}\n{input}\n{error}" ])
                     ->label('Способы оплаты')
                     ->checkboxList($payment, [
                             'item' => function($index, $label, $name, $checked, $value) {
                                 $return = '<div class="admin-who-check-payment">';
                                 $return .= '<input class="custom-check" id="select_admin_payment' . $value . '" type="checkbox" name="' . $name . '" value="' . $value . '" ' . ( $checked ? "checked" : "" ) . ' >';
                                 $return .= '<label for="select_admin_payment' . $value . '" >';
                                 $return .= '<span></span>' . ucwords($label);
                                 $return .= '</label>';
                                 $return .= '</div>';
                                 return $return;
                             },
                         ]) ?>
        </div>
    </div>

    <div class="input-blocks-wrapper">
        <div class="admin-save-btn style admin-save-btn-fix-line">
            <?= Html::submitButton('Сохранить') ?>
        </div>
    </div>

    <?php
        $form->end();
    ?>
</div>
<script>
    $(document).ready(function(){
        $('.input-blocks.admin-currency-second select').change(function(){
            $(this).blur()
        })
    })
</script>