employment.php 12.2 KB
<?php
    /**
     * @var Job[]    $job
     * @var UserInfo $user_info
     */
    use common\models\Job;
    use common\models\UserInfo;
    use mihaildev\ckeditor\CKEditor;
    use yii\helpers\Html;
    use yii\jui\DatePicker;
    use yii\widgets\ActiveForm;

    $this->title = 'Трудовой стаж';
    $this->params[ 'breadcrumbs' ][] = $this->title;
?>
<div class="login-left-column-title"><?= $this->title ?></div>
<?php
    $form = ActiveForm::begin();
    $current = array_shift($job);
?>
<div class="current_job_container style">
    <div class="login-left-column-title-two style">Текущее место работы:</div>
    <div class="current_job_inputs first_current_job_inputs border-general style">
        <div class="input-blocks-wrapper">
            <div class="input-blocks">
                <?= $form->field($current, '[0]name')
                         ->label('Название')
                         ->textInput([ 'class' => 'custom-input-2' ]); ?>
            </div>
        </div>

        <div class="input-blocks-wrapper hint-link">
            <div class="input-blocks">
                <?= $form->field($current, '[0]link')
                         ->label('Ссылка на компанию на сайте МФП')
                         ->hint('Пример: ' . $_SERVER[ 'HTTP_HOST' ] . '/company/common/1')
                         ->textInput([ 'class' => 'custom-input-2' ]); ?>
            </div>
        </div>

        <div class="input-blocks-wrapper">
            <div class="input-blocks">
                <?= $form->field($current, '[0]position')
                         ->label('Должность')
                         ->textInput([ 'class' => 'custom-input-2' ]); ?>
            </div>
        </div>

        <div class="input-blocks-wrapper">
            <div class="input-blocks">
                <?= $form->field($current, '[0]achievement')
                         ->widget(CKEditor::className(), [ 'editorOptions' => [ 'preset' => 'basic' ] ]); ?>
            </div>
        </div>

        <div class="input-blocks-wrapper">
            <div class="input-blocks">
                <?= $form->field($current, '[0]date_start', [ 'options' => [ 'class' => 'test2class' ] ])
                         ->label('Дата начала работы')
                         ->widget(DatePicker::className(), [
                             'options'       => [ 'class' => 'custom-input-2' ],
                             'language'      => 'ru',
                             'dateFormat'    => 'dd-MM-yyyy',
                             'clientOptions' => [
                                 'changeYear'  => true,
                                 'yearRange'   => 'c-20:c',
                                 'changeMonth' => true,
                             ],
                         ]); ?>
            </div>
        </div>

        <div class="input-blocks-wrapper admin-quantity-project">
            <div class="input-blocks">
                <?= $form->field($current, '[0]total_count')
                         ->label('Количество проектов, в которых принимали участие')
                         ->textInput([
                             'class' => 'custom-input-2 custom-input-2-date',
                             'type'  => 'number',
                         ]); ?>
                <div class="fix-quantity-project">
                    <?= $form->field($current, '[0]complete_count', [ 'enableClientValidation' => false ])
                             ->label('из них реализовано')
                             ->textInput([
                                 'class' => 'custom-input-2 custom-input-2-date no-client-validation',
                                 'type'  => 'number',
                             ]); ?>
                </div>
            </div>


        </div>

    </div>
    <div class="current_job_inputs border-general style">
        <div class="input-blocks-wrapper">
            <div class="input-blocks">
                <?= $form->field($user_info, 'experience')
                         ->label('Когда начали заниматься проектированием')
                         ->input('number', [
                             'class' => 'custom-input-2',
                             'min'   => '1950',
                             'max'   => date('Y'),
                         ]); ?>
            </div>
        </div>
    </div>
</div>
<div class="prev_job_container style">
    <div class="login-left-column-title-two previous-employment-wr style">Предыдущие места работы</div>
    <?php
        foreach($job as $index => $job_model) {
            ?>

            <div class='prev_job_inputs'>
                <div class="input-blocks-wrapper">
                    <div class="input-blocks">
                        <?= $form->field($job_model, '[' . ( $index + 1 ) . ']name')
                                 ->label('Название')
                                 ->textInput([ 'class' => 'custom-input-2' ]); ?>
                    </div>
                </div>

                <div class="input-blocks-wrapper hint-link">
                    <div class="input-blocks">
                        <?= $form->field($job_model, '[' . ( $index + 1 ) . ']link')
                                 ->label('Ссылка на компанию на сайте МФП')
                                 ->hint('Пример: ' . $_SERVER[ 'HTTP_HOST' ] . '/company/common/1')
                                 ->textInput([ 'class' => 'custom-input-2' ]); ?>
                    </div>
                </div>

                <div class="input-blocks-wrapper">
                    <div class="input-blocks">
                        <?= $form->field($job_model, '[' . ( $index + 1 ) . ']date_start')
                                 ->label('Дата начала работы')
                                 ->widget(DatePicker::className(), [
                                     'options'       => [ 'class' => 'custom-input-2' ],
                                     'language'      => 'ru',
                                     'dateFormat'    => 'dd-MM-yyyy',
                                     'clientOptions' => [
                                         'changeYear'  => true,
                                         'yearRange'   => 'c-20:c',
                                         'changeMonth' => true,
                                     ],
                                 ]); ?>
                    </div>
                </div>

                <div class="input-blocks-wrapper">
                    <div class="input-blocks">
                        <?= $form->field($job_model, '[' . ( $index + 1 ) . ']date_end')
                                 ->label('Дата окончания работы')
                                 ->widget(DatePicker::className(), [
                                     'options'       => [ 'class' => 'custom-input-2' ],
                                     'language'      => 'ru',
                                     'dateFormat'    => 'dd-MM-yyyy',
                                     'clientOptions' => [
                                         'changeYear'  => true,
                                         'yearRange'   => 'c-20:c',
                                         'changeMonth' => true,
                                     ],
                                 ]); ?>
                    </div>
                </div>

                <div class="input-blocks-wrapper">
                    <div class="input-blocks">
                        <?= $form->field($job_model, '[' . ( $index + 1 ) . ']position')
                                 ->label('Должность')
                                 ->textInput([ 'class' => 'custom-input-2' ]); ?>
                    </div>
                </div>

                <div class="input-blocks-wrapper">
                    <div class="input-blocks">
                        <?= $form->field($job_model, '[' . ( $index + 1 ) . ']achievement')
                                 ->widget(CKEditor::className(), [ 'editorOptions' => [ 'preset' => 'basic' ] ]); ?>
                    </div>
                </div>

                <div class="input-blocks-wrapper admin-quantity-project">
                    <div class="input-blocks">
                        <?= $form->field($job_model, '[' . ( $index + 1 ) . ']total_count')
                                 ->label('Количество проектов, в которых принимали участие')
                                 ->textInput([
                                     'class' => 'custom-input-2 custom-input-2-date',
                                     'type'  => 'number',
                                 ]); ?>
                        <div class="fix-quantity-project">
                            <?= $form->field($job_model, '[' . ( $index + 1 ) . ']complete_count', [ 'enableClientValidation' => false ])
                                     ->label('из них реализовано')
                                     ->textInput([
                                         'class' => 'custom-input-2 custom-input-2-date no-client-validation',
                                         'type'  => 'number',
                                     ]); ?>
                        </div>
                    </div>
                </div>
                <?= Html::button('', [ 'class' => 'remove_job_button' ]) ?>
            </div>
        <?php } ?>

</div>

<div class="add-field-employment fix_add-field-employment style">
    <?= Html::button('добавить еще место работы', [
        'id'    => 'add_job_button',
        'class' => 'btn',
    ]); ?>
</div>


<div class="input-blocks-wrapper">
    <div class="admin-save-btn skills-save-btn  style">
        <?= Html::submitButton('Сохранить', [ 'class' => 'input-blocks-wrapper button' ]) ?>
    </div>
</div>
<?php
    $form->end();
?>
<script>
    $(
        function()
        {
            var regexp = /^[\w]+\[(\d+)\].*$/;
            var prevEmploy = $('.prev_job_inputs').length
            if(prevEmploy < 1)
            {
                $('.prev_job_container').addClass('none-job-inputs')
                $('.add-field-employment').addClass('none-job-inputs')
            }
            $(document).on(
                'click', '#add_job_button', function()
                {
                    var inputs = $('.prev_job_inputs').last();
                    var name = $(inputs).find('input, textarea').first().attr('name');
                    var result = regexp.exec(name);
                    var lastindex;
                    if(result != null)
                    {
                        lastindex = result[1];
                    } else
                    {
                        lastindex = 0;
                        $('.prev_job_container').removeClass('none-job-inputs')
                        $('.add-field-employment').removeClass('none-job-inputs')
                    }
                    $.get(
                        '/accounts/get-form', {lastindex : lastindex}, function(data)
                        {
                            $('.prev_job_container')
                            .append($(data).find('.ajax-loaded').first().html());
                            $(data).filter('script').appendTo('body');
                        }
                    );

                }
            );
            $(document).on(
                'click', '.remove_job_button', function()
                {
                    $(this).parents('.prev_job_inputs').remove()
                    var prevEmploy = $('.prev_job_inputs').length
                    if(prevEmploy < 1)
                    {
                        $('.prev_job_container').addClass('none-job-inputs')
                        $('.add-field-employment').addClass('none-job-inputs')
                    }
                }
            );
        }
    );
</script>