performer.php 9.96 KB
<?php

use common\models\Vacancy;
use kartik\select2\Select2;
use yii\helpers\ArrayHelper;
use \yii\helpers\Html;
use yii\helpers\Url;
use yii\jui\SliderInput;
use yii\web\JsExpression;
use yii\widgets\ActiveForm;
use yii\widgets\LinkSorter;
use yii\widgets\ListView;

/* @var $this yii\web\View */

$sort_array = $dataProvider->sort->getAttributeOrders();
$active_key = array_keys($sort_array)[0];
$active_value = $sort_array[$active_key];
$sort_name = (($active_value == 4)?'-':'').$active_key;



$this->title = 'My Yii Application';
?>

<div class="section-box content">
    <div class="section-box-22">
        <div class="box-wr">
            <div class="box-all">
                <div class="left-search-work">
                    <?php
                    $form = ActiveForm::begin(['options'=>['class'=>'search-work-form'],'action'=>[''], 'method'=>'get']);
                    ?>


                        <?= $form->field($model, 'city')
                            ->widget(Select2::classname(), [
                                'options'       => [ 'placeholder' => 'Выбор города ...' ],
                                '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; }'),
                                ],
                            ]); ?>


                        <?=
                            $form->field($model, 'specialization')
                                ->dropDownList($specialization, ['prompt' => 'Любая']);
                        ?>


                        <?=
                            $form->field($model, 'type')
                                ->dropDownList(['1'=>'Частное лицо','2'=>'Компания'], ['prompt' => 'Любой']);
                        ?>



                        <?=

                        $form->field ($model, 'working_conditions')
                            ->checkboxList (
                                [
                                    'guarantee' => 'С гарантией',
                                    'contract' => 'С договором',
                                    'estimate' => 'Со сметой',
                                    'prepayment' => 'Без предоплаты'
                                ],
                                [
                                    'item' => function($index, $label, $name, $checked, $value) {
                                        $return = '<div class="blocks-check-list">';
                                        $return .= '<input type="checkbox" '.($checked ? "checked" : "" ).' name="' . $name . '" class="check-search" value="' . $value . '" id="theme-'.$index.'">';
                                        $return .= '<label for="theme-'.$index.'"><span></span>'.$label.'</label>';
                                        $return .= '</div>';
                                        return $return;
                                    }
                                ]
                            );
                        ?>

                    <div class="blocks-check-list-wrapp">
                        <div id="slider-value"></div>
                        <?php
                        echo $form->field($model, 'rating', [
                            'template' => "{label}<br><div id='{$form->id}-rating'>{$model->rating}</div><br>{input}\n{hint}\n{error}",
                            'labelOptions' => [
                                'class' => 'blocks-check-title',
                            ],
                        ])
                            ->widget(SliderInput::className(), [
                                'clientOptions' => [
                                    'min'  => 0,
                                    'max'  => 5,
                                    'step' => 0.5,
                                ],
                                'clientEvents'  => [
                                    'slide' => "function( event, ui ) {
                                         $( '#{$form->id}-rating' ).text(ui.value);
                                         $('input[name=\"{$model->formName()}[rating]\"]').val(ui.value);

                                     }",
                                ],
                            ]);
                        ?>
                    </div>



                        <?=
                         $form->field($model, 'online', [
                            'options'  => [
                                'class' => 'blocks-check-list-wrapp',
                            ],
                            'template' => "<div class='blocks-check-title'>{label}</div>\n{input}\n{hint}\n{error}",
                        ])
                            ->radioList([
                                '' => 'Все',
                                1  => 'Онлайн',
                            ], [
                                'item'     => function($index, $label, $name, $checked, $value) use ($model) {
                                    return "<div class='blocks-check-list'><input type='radio' id='{$model->formName()}-{$index}' name='{$name}' class='check-search' value='{$value}' " . ($checked?'checked':'') . "><label for='{$model->formName()}-{$index}'><span></span>{$label}</label></div>";
                                },
                                'unselect' => NULL,
                            ]);
                        ?>



                        <?=
                        $form->field ($model, 'additional_parameters')
                        ->checkboxList (
                            [
                                'with_portfolio' => 'Только с портфолио',
                                'with_comments' => 'Только с отзывами',
                                'only_free' => 'Только свободные',
                            ],
                            [
                                'item' => function($index, $label, $name, $checked, $value) {
                                    $return = '<div class="blocks-check-list">';
                                    $return .= '<input type="checkbox" '.($checked ? "checked" : "" ).' name="' . $name . '" class="check-search" value="' . $value . '" id="theme2-'.$index.'">';
                                    $return .= '<label for="theme2-'.$index.'"><span></span>'.$label.'</label>';
                                    $return .= '</div>';
                                    return $return;
                                }
                            ]
                        );
                        ?>
                    <div class="blocks-check-list-submit">
                        <?= Html::submitInput('Найти') ?>
                    </div>

                   <?php
                    $form->end();
                   ?>
                </div>
                <div class="right-search-work">
                    <div class="search-worker-title style">Найти исполнителя</div>
                    <div class="search-worker-title-two style">Проектанты готовые приступить к работе <span><?= $dataProvider->totalCount ?></span></div>
                    <div class="search-worker-search-wr style">
                        <?php
                            $form2 = ActiveForm::begin(['method' => 'get', 'action' => [''], 'options' => ['class' => 'search-worker-form']]);
                        ?>

                        <?= $form2->field($model, 'search', ['options' => ['tag' => 'span']])->label(false)->textInput(['placeholder' => $model->getAttributeLabel('search')]);?>

                            <?= Html::submitInput('Найти');?>

                        <?php
                        $form2->end();
                        ?>


                        <?= Html::a('Добавить себя в каталог',Url::toRoute('accounts/service'),['class'=>'add-to-catalog-search-worker'])?>

                        <div class="search-worker-sort-wr style">
                            <div class="search-worker-sort">Сортировать:&nbsp;</div>
                            <ul>
                                <li class="activejob">
                                    <a href="#" data-sort-name="<?=$sort_name?>"></a>
                                    <div class="sidebar-droped-wr style">
                                        <?php
                                        echo LinkSorter::widget([
                                            'sort' => $dataProvider->sort,
                                        ]);
                                        ?>
                                    </div>
                                </li>
                            </ul>
                        </div>
                    </div>

                    <div class="search-worker-blocks-wr style">

                        <?=

                        ListView::widget( [
                            'dataProvider' => $dataProvider,
                            'itemView'=>'_performer_list_view',
                            'layout' => "{items}\n<div class='navi-buttons-wr style'>{pager}</div>"
                        ] );
                        ?>




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

</div>