Вход Регистрация
Файл: protected/views/page/edit_step.php
Строк: 335
<?php $this->pageTitle $modelEditStep->name ' | Воронки'?>
<?php $correct_path 
'http://' $_SERVER["HTTP_HOST"]; ?>

<div class="clients-hat">
    <div class="settings-name">
        <?php echo CHtml::link('Настройки', array('page/settings_additional_field')); ?>
        <img src="/img/right-arrow-button.svg">
        <?php echo CHtml::link('Воронка', array('page/settings_steps')); ?>
        <img src="/img/right-arrow-button.svg">
        <? echo '#' $modelEditStep->id ': ' $modelEditStep->name?>
    </div>
    <div class="goback-link pull-right">
        <input class="btn_close" type="button" onclick="history.back();" value="❮  Назад "/>

    </div>
</div>

<main class="content full2" role="main">
    <?php
    $form 
$this->beginWidget('CActiveForm', array(
        
'id' => 'new-client',
        
'htmlOptions' => [
            
'class' => 'page-form'
        
]
    ));
    
?>
    <!--<form class="fly-validation" id="form-new-client" action="#" method="post">-->

    <? if ($isShowBlockSave) { ?>
        <script type="module">
            import {NotificationBar} from '/js/notificationBar.js';

            const notificationBar = new NotificationBar({
                type: 'success',
                title: 'Сохранено',
                description: 'Воронка успешно изменена'
            });
            notificationBar.show();
        </script>
    <? ?>

    <div class="edit_user_view">
        <div class="content-01">
            <div class="title_name_1">Настройка воронки</div>
            <div class="centre_settings">
                <table class="main_table_12">
                    <tr>
                        <td class="an_001" width="132">Воронка:<span class="star">*</span></td>
                        <td><?php echo $form->textField($modelEditStep'name', array('class' => 'form-control''autocomplete' => 'off''placeholder' => 'Имя воронки')); ?>
                            <?php echo $form->error($modelEditStep'name', array('class' => 'form-error')); ?>
                    </tr>
                    <tr id="defaultCheckBox">
                        <td class="an_001" width="132">По умолчанию:</td>
                        <td><?php echo $form->checkBox($modelEditStep'selected_default', array('class' => 'form-control_1 checkBox')); ?>
                            <?php echo $form->error($modelEditStep'selected_default', array('class' => 'form-error')); ?></td>
                    </tr>
                    <tr>
                        <td class="an_001" width="132">Порядок:<span class="star">*</span></td>
                        <td><?php echo $form->textField($modelEditStep'weight', array('class' => 'form-control''autocomplete' => 'off''placeholder' => '')); ?>
                            <?php echo $form->error($modelEditStep'weight', array('class' => 'form-error')); ?></td>
                    </tr>

                </table>
            </div>

            <div class="centre_setting_3">
                <div class="block-info" id="selectOptions">

                    <div class="block-row addSelectOption">
                        <div class="row-label">Этапы:<span class="star">*</span></div>
                        <div class="row-label label-weight">№:<span class="star">*</span></div>
                    </div>
                    <div class="block-options addSelectOption">
                        <? $count 1;
                        foreach (
$selectOptions as $value) { ?>
                            <div class="block-row">
                                <div class="row-input color-option_input">
                                    <? echo CHtml::textField('MainSteps[Select][' $count '][name]'$value['name'], ['maxlength' => 100'placeholder' => 'Этап ' $count'autocomplete' => 'off',]) ?>
                                </div>
                                <div class="row-input" id="colorSelect">
                                    <div class="jq-selectbox__select color-select"
                                         onclick="showDropDawnColor(event)">
                                        <div class="color-block"
                                             style="background-color: <? echo $value['color'?>">
                                            <input type="text" value="<? echo $value['color'?>" class="hide"
                                                   name="MainSteps[Select][<? echo $count ?>][color]">
                                            <input type="text" value="<? echo $value['id'?>" class="hide"
                                                   name="MainSteps[Select][<? echo $count ?>][id]">
                                        </div>
                                        <div class="jq-selectbox__trigger">
                                            <div class="jq-selectbox__trigger-arrow"></div>
                                        </div>
                                    </div>

                                    <div class="color-customDropDawnList-01 shortWidth hide">
                                        <ul>
                                            <?
                                            
foreach ($listColor as $key => $color) {
                                                echo 
"<li value='$key' onclick='changeColor(event, " '"' $color '"' ")'><div class='block-color' style='background-color:$color;width: 15px;height: 15px;'></div></li>";
                                            }
                                            
?>
                                        </ul>
                                    </div>
                                </div>
                                <div class="row-input input-weight">
                                    <? echo CHtml::textField('MainSteps[Select][' $count '][weight]'$value['weight'], ['maxlength' => 3'autocomplete' => 'off''class' => 'optionWeight''id' => "inputWeight"'pattern' => "^[ 0-9]+$"]) ?>
                                </div>
                                <div class="row-input">
                                    <img class="delDocument_set" onclick="deleteOption(event)"
                                         src="/img/cancel_newdoc.svg" alt="">
                                </div>
                            </div>
                            <? $count++;
                        } 
?>
                    </div>
                    <div class="block-row addSelectOption">
                        <a class="add" id="addOption" href="#">Добавить</a>
                    </div>
                    <? if ($modelEditStep->getError('selectError')) { ?>
                        <div class="block-row addSelectOption">
                            <div class="custom-error"><? echo $modelEditStep->getError('selectError'?></div>
                        </div>
                    <? ?>


                </div>
            </div>

            <div class="save_button">
                <?php echo CHtml::submitButton('Сохранить', array('class' => 'btn''id' => 'save')); ?>
                <div id="preloader"></div>
            </div>

            <? if ($user->roles[0]->name == 'admin' || $user->userRights[0]->delete_steps) { ?>
                <div class="function-delete delete_centre">
                    <a class="delete" href="#">Удалить воронку</a>
                </div>
                <div class="function-delete-confirm delete_centre" style="display: none;">

                    <ul class="horizontal_3">
                        <li class="big">Подтвердите удаление:</li>
                        <?
                        $labelType 
$type == 'clients' 'в этой воронке есть контакты' 'в воронке есть сделки';
                        foreach (
$useSelectOptions as $name => $useOptionCount) {
                            echo 
'<li class="big">-  <strong>' $name '</strong> (' $labelType ': ' $useOptionCount ')</li>';
                        } 
?>
                        <li style="padding-top: 9px;"> <?php echo CHtml::button("Удалить", array(
                                
'onClick' => 'window.location.href = "' Yii::app()->createUrl("page/Steps_delete",
                                        array(
"id" => $modelEditStep->id'type' => $type)) . '"',
                                
'class' => 'btn',
                            )); 
?>  </li>
                        <li><a href="#" class="cancel" style="margin-left: 10px;">Отмена</a>
                        </li>

                    </ul>
                </div>
            <? ?>

            <?php $this->endWidget(); ?>
        </div>
    </div>

    <div class="right-sidebar">
            <div class="title_name_2">Справка
                <div class="more"><img src="/img/external-link-symbol.svg"><a href="https://inclient.ru/category/help-crm/"
                                                                              target="_blank" style="color: #707070;">Подробнее</a>
                </div>
            </div>
            <div class="popup__form_actions">
                <p><strong>О воронках</strong></p>
                <br>
                <p><strong>Воронка в контактах</strong> — это путь в бизнес-процессе, который контакт проходит от
                    начального до завершающего этапа. Например, путь контакта может делиться на 3 этапа: 1) знакомство;
                    2) покупка; 3) повторная покупка.</p>
                <p><strong>Воронка в сделках</strong> — это воронка продаж, т.е. путь, который сделка проходит от начала
                    заинтересованности контакта до закрытия сделки с положительным или отрицательным результатом.</p>
                <details class="help_0">
                    <summary class="help_1">Отчеты по воронкам?</summary>
                    <p>Отчеты появятся в новых версиях срм. Следите за новостями на сайте <a href="https://inclient.ru"
                                                                                             target="_blank">inclient.ru</a>
                    </p>
                </details>
                <details class="help_0">
                    <summary class="help_1">Что будет, если удалить воронку?
                    </summary>
                    <p>Воронка удалится безвозвратно. Если воронка назначена для контакта или сделки, система
                        предупредит об этом при удалении
                    </p>
                </details>
            </div>
        </div>
</main>

<script src="http://code.jquery.com/ui/1.11.4/jquery-ui.js"></script>
<script>
    $("#new-client").submit(function () {
        $("#preloader").addClass('preloader');
        $("#save_and_create").hide();
        $("#save").hide();
    });

    deleteOption = function (event) {
        event.preventDefault();
        blockOption = event.path[2];
        blockListOptions = $('.block-options.addSelectOption');
        listOptions = blockListOptions.children();
        if (listOptions.length > 2) {
            blockOption.remove();
            changeShowButtonDelete();
        } else {
            alert('Невозможно удалить! В воронке должно быть не менее двух этапов')
        }
    };

    var listColor = <?echo json_encode($listColor)?>;
    var count = <?echo $count 1?>;
    changeShowButtonDelete();

    $('#addOption').click(function () {
        event.preventDefault();
        blockListOptions = $('.block-options.addSelectOption');
        listOptions = blockListOptions.children();
        Weights = $('.optionWeight');
        selectedColors = $('.color-block');
        listWeight = [];
        let newColor = listColor[0];
        // массив с весами
        for (var i = 0; i < Weights.length; i++) {
            listWeight.push(+Weights[i].value);
        }

        // массив с выбранными цветами
        let listSelectedColors = [];
        for (var j = 0; j < selectedColors.length; j++) {
            listSelectedColors.push(selectedColors[j].children[0].value);
        }

        for (var i = 0; i < listColor.length; i++) {
            if (listSelectedColors.indexOf(listColor[i]) == -1) {
                newColor = listColor[i];
            }
        }

        weigth = null;
        for (var i = 1; i <= listOptions.length; i++) {
            if (listWeight.indexOf(i) < 0) {
                weigth = i;
                break;
            }
        }

        count++;

        weigth = weigth || listOptions.length + 1;

        //цвет
        let color = '';
        for (var i = 0; i < listColor.length; i++) {
            color += '<li vlaue="' + i + '" onclick="changeColor(event,' + "'" + listColor[i] + "'" + ')"><div class="block-color" style="background-color:' + listColor[i] + '"></div></li>';
        }

        let colorSelect = "<div class="row-input"  id="colorSelect">n" +
            "                                        <div class="jq-selectbox__select color-select" onclick='showDropDawnColor(event)'>n" +
            "                                            <div class="color-block" style='background-color:" + newColor + "'> <input type="text" value='" + newColor + "' class="hide" name="MainSteps[Select][" + count + "][color]"> </div>n" +
            "                                            <div class="jq-selectbox__trigger">n" +
            "                                                <div class="jq-selectbox__trigger-arrow"></div>n" +
            "                                            </div>n" +
            "                                        </div>n" +
            "n" +
            "                                        <div class="color-customDropDawnList-01 shortWidth hide">n" +
            "                                            <ul>n" +
            color +
            "                                            </ul>n" +
            "                                        </div>n" +
            "                                    </div>"

        blockOption = '<div class="block-row">n' +
            '                                <div class="row-input color-option_input">n' +
            '                                    <input type="text" autocomplete="off" name="MainSteps[Select][' + count + '][name]" class="optionName" placeholder="Этап ' + count + '" maxlength="100">' +
            '                                </div>n' +
            colorSelect +
            '                                <div class="row-input input-weight">n' +
            '                                    <input type="text" autocomplete="off" name="MainSteps[Select][' + count + '][weight]" id="inputWeight" pattern="^[ 0-9]+$" maxlength="3" class="optionWeight" value="' + weigth + '">' +
            '                                </div>n' +
            '                                <div class="row-input">n' +
            '                                    <img class="delDocument_set" onclick="deleteOption(event)" src="/img/cancel_newdoc.svg" alt="">n' +
            '                                </div>n' +
            '                            </div>';
        blockListOptions.append(blockOption);
        changeShowButtonDelete();
    });

    function changeShowButtonDelete() {
        var listButtonDelete = $('.block-row').find('.delete');
        if (listButtonDelete.length <= 2) {
            $('.delete-option').addClass('hide');
            for (var i = 0; i <= listButtonDelete.length - 1; i++) {
                listButtonDelete[i].classList.add('hide');
            }
        } else {
            for (var i = 0; i <= listButtonDelete.length - 1; i++) {
                listButtonDelete[i].classList.remove('hide');
            }
        }
    }


    jQuery(function ($) {
        $(document).mouseup(function (e) { // событие клика по веб-документу
            if (!$(".color-customDropDawnList-01").is(e.target)) {
                $(".color-customDropDawnList-01").hide();
            }
        });
    });

    function showDropDawnColor(event) {
        let gh = event.target.closest('#colorSelect').children[1];
        gh.style.display = 'block';
    }

    // меняем цвет
    function changeColor(event, color) {
        let colorBlock = event.target.closest('#colorSelect').querySelector('.color-block'),
            inputColorBlock = colorBlock.querySelector('input');
        colorBlock.style.backgroundColor = color;
        inputColorBlock.value = color;
    }

</script>
Онлайн: 2
Реклама