1262 lines
96 KiB
PHP
1262 lines
96 KiB
PHP
|
|
<link href="/css/jquery.fileuploader.css?version=6" media="all" rel="stylesheet">
|
|||
|
|
<link href="/css/all2.min.css" rel="stylesheet" />
|
|||
|
|
<link href="https://cdn.jsdelivr.net/npm/suggestions-jquery@20.3.0/dist/css/suggestions.min.css" rel="stylesheet" />
|
|||
|
|
|
|||
|
|
|
|||
|
|
<link
|
|||
|
|
rel="stylesheet"
|
|||
|
|
href="https://cdn.jsdelivr.net/npm/swiper@8.4.7/swiper-bundle.min.css"
|
|||
|
|
/>
|
|||
|
|
|
|||
|
|
|
|||
|
|
<style>
|
|||
|
|
.swiper {
|
|||
|
|
width: 100%;
|
|||
|
|
height: 100%;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
.swiper-slide {
|
|||
|
|
text-align: center;
|
|||
|
|
font-size: 18px;
|
|||
|
|
background: #fff;
|
|||
|
|
|
|||
|
|
/* Center slide text vertically */
|
|||
|
|
display: -webkit-box;
|
|||
|
|
display: -ms-flexbox;
|
|||
|
|
display: -webkit-flex;
|
|||
|
|
display: flex;
|
|||
|
|
-webkit-box-pack: center;
|
|||
|
|
-ms-flex-pack: center;
|
|||
|
|
-webkit-justify-content: center;
|
|||
|
|
justify-content: center;
|
|||
|
|
-webkit-box-align: center;
|
|||
|
|
-ms-flex-align: center;
|
|||
|
|
-webkit-align-items: center;
|
|||
|
|
align-items: center;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
.swiper-slide img {
|
|||
|
|
display: block;
|
|||
|
|
width: 100%;
|
|||
|
|
height: 100%;
|
|||
|
|
object-fit: cover;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
|
|||
|
|
.swiper {
|
|||
|
|
width: 100%;
|
|||
|
|
height: 300px;
|
|||
|
|
margin-left: auto;
|
|||
|
|
margin-right: auto;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
.swiper-slide {
|
|||
|
|
background-size: cover;
|
|||
|
|
background-position: center;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
.complex-slider {
|
|||
|
|
height: 80%;
|
|||
|
|
width: 100%;
|
|||
|
|
max-width: 500px;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
.complex-slider-thumbs {
|
|||
|
|
height: 20%;
|
|||
|
|
box-sizing: border-box;
|
|||
|
|
padding: 10px 0;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
.complex-slider-thumbs .swiper-slide {
|
|||
|
|
width: 16.6%;
|
|||
|
|
height: 100%;
|
|||
|
|
opacity: 0.4;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
.complex-slider-thumbs .swiper-slide-thumb-active {
|
|||
|
|
opacity: 1;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
.swiper-slide img {
|
|||
|
|
display: block;
|
|||
|
|
width: 100%;
|
|||
|
|
height: 100%;
|
|||
|
|
object-fit: cover;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
.complex-slider .complex-slider-button-next, .complex-slider .complex-slider-button-prev {
|
|||
|
|
border: 2px solid #fff;
|
|||
|
|
border-radius: 50%;
|
|||
|
|
width: 40px;
|
|||
|
|
height: 40px;
|
|||
|
|
background-image: url(../cabinet/assets/img/slider-arr.svg);
|
|||
|
|
background-repeat: no-repeat;
|
|||
|
|
background-size: 10px 21px;
|
|||
|
|
background-position: center;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
.complex-slider .complex-slider-button-next {
|
|||
|
|
transform: rotate(180deg);
|
|||
|
|
}
|
|||
|
|
</style>
|
|||
|
|
|
|||
|
|
<div id="complex_form" class="hidden">
|
|||
|
|
<div class="full_modal-bg" style="z-index: 99998;" v-show="is_show">
|
|||
|
|
<span class="pseudo-link closer"><i class="ti-close" @click="closes()"></i></span>
|
|||
|
|
<div class="full_modal edit-modal new-client__modal" style="max-width: 1050px;">
|
|||
|
|
<div class="form-validate">
|
|||
|
|
<div class="modal-inner">
|
|||
|
|
<div v-if="errorMes" class="error_msg" v-html="errorText"></div>
|
|||
|
|
<h2 v-if="id == 0">Добавить комплекс</h2>
|
|||
|
|
<h2 v-else>Изменить данные комплекса</h2>
|
|||
|
|
<input type="hidden" :value="id" id="id_complex"/>
|
|||
|
|
<div class="jv-tabs">
|
|||
|
|
<div>
|
|||
|
|
|
|||
|
|
<div class="form-block">
|
|||
|
|
<div class="label">Тип комплекса</div>
|
|||
|
|
<div class="inputs">
|
|||
|
|
<v-select :components="{OpenIndicator}" transition="" class="vue_select" :class="{'invalid': errors.type == 1}" style="width: 450px; border: none;" :options="types_complex" :reduce="name => name.code" label="name" v-model="complex.type"/>
|
|||
|
|
</div>
|
|||
|
|
<div class="" style="clear: both; padding-top: 8px; margin-left: 23%;" wfd-invisible="true"></div>
|
|||
|
|
</div>
|
|||
|
|
|
|||
|
|
<div class="form-block">
|
|||
|
|
<div class="label">ID комплекса в базе Домклик</div>
|
|||
|
|
<div class="inputs">
|
|||
|
|
|
|||
|
|
<input class="select text small-input rooms" placeholder="Введите ID" type="text" v-model="complex.dop.domclick_id" v style="width: 450px;"/>
|
|||
|
|
|
|||
|
|
|
|||
|
|
</div>
|
|||
|
|
<div class="" style="clear: both; padding-top: 8px; margin-left: 23%;" wfd-invisible="true"></div>
|
|||
|
|
</div>
|
|||
|
|
|
|||
|
|
<div class="form-block">
|
|||
|
|
|
|||
|
|
<div class="label"><span>Страна:</span></div>
|
|||
|
|
<div class="inputs">
|
|||
|
|
<v-select :components="{OpenIndicator}" @input="changeCountry" transition="" class="vue_select" style="width: 450px; border: none;" :options="country" :reduce="name => name.code" label="name" v-model="complex.country_id"/>
|
|||
|
|
|
|||
|
|
</div>
|
|||
|
|
</div>
|
|||
|
|
|
|||
|
|
<div class="form-block" v-show="complex.country_id == 171">
|
|||
|
|
|
|||
|
|
<div class="label"><span>Название субъекта РФ (регион):</span></div>
|
|||
|
|
<div class="inputs">
|
|||
|
|
<v-select :components="{OpenIndicator}" @input="changeRegion" transition="" class="vue_select" :class="{'invalid': errors.type == 1}" style="width: 450px; border: none;" :options="regions" :reduce="name => name.code" label="name" v-model="region_id"/>
|
|||
|
|
|
|||
|
|
</div>
|
|||
|
|
</div>
|
|||
|
|
|
|||
|
|
<div class="clear"></div>
|
|||
|
|
|
|||
|
|
<div class="form-block">
|
|||
|
|
<div class="label">
|
|||
|
|
<span>Адрес</span>
|
|||
|
|
</div>
|
|||
|
|
<div class="inputs">
|
|||
|
|
|
|||
|
|
<table>
|
|||
|
|
<tr>
|
|||
|
|
<td>
|
|||
|
|
<div class="adres2">
|
|||
|
|
<div class="inputs">
|
|||
|
|
<div class="inputs-group">
|
|||
|
|
<table>
|
|||
|
|
<tr>
|
|||
|
|
<td>
|
|||
|
|
|
|||
|
|
<input id="address_complex" @input="errors.addres = false" class="select text small-input rooms" :class="{'invalid': errors.addres}" placeholder="Введите адрес" v-model="complex.address_line" type="text" value="" style="width: 450px;"/>
|
|||
|
|
|
|||
|
|
</td>
|
|||
|
|
|
|||
|
|
</tr>
|
|||
|
|
</table>
|
|||
|
|
|
|||
|
|
<input type="hidden" name="region_kladr_id" value="">
|
|||
|
|
</div>
|
|||
|
|
<div class="clear"></div>
|
|||
|
|
<div class="inputs-group">
|
|||
|
|
<div style="margin: 10px 5px;">
|
|||
|
|
<a href="javascript:{}" class="hide-btn" onclick="$('.more-block').slideToggle('slow', function() {if ($('.more-block').is(':visible')) {$('.hide-btn').text('Скрыть форму');} else {$('.hide-btn').text('Редактировать адрес');}});return false;">Редактировать адрес</a>
|
|||
|
|
</div>
|
|||
|
|
<div class="more-block" style="display:none;margin-left:5px;">
|
|||
|
|
<div class="line">
|
|||
|
|
<div class="">
|
|||
|
|
<div class="label" style="width: 160px;"><span>Район региона:</span></div>
|
|||
|
|
<div class="inputs">
|
|||
|
|
<div class="inputs-group">
|
|||
|
|
<input style="width: 262px;" type="text" placeholder="Район" class="text small-input" value="" v-model="complex.rf_region_rayon">
|
|||
|
|
<div class="clear"></div>
|
|||
|
|
</div>
|
|||
|
|
</div>
|
|||
|
|
</div>
|
|||
|
|
</div>
|
|||
|
|
<div class="line">
|
|||
|
|
<div class="">
|
|||
|
|
<div class="label" style="width: 160px;"><span>Населенный пункт:</span></div>
|
|||
|
|
<div class="inputs">
|
|||
|
|
<div class="inputs-group">
|
|||
|
|
<input style="width: 262px;" type="text" placeholder="Населенный пункт" class="text small-input" v-model="complex.city" value="">
|
|||
|
|
<div class="clear"></div>
|
|||
|
|
</div>
|
|||
|
|
</div>
|
|||
|
|
</div>
|
|||
|
|
</div>
|
|||
|
|
|
|||
|
|
<div class="line">
|
|||
|
|
<div class="">
|
|||
|
|
<div class="label" style="width: 160px;"><span>Район города:</span></div>
|
|||
|
|
<div class="inputs">
|
|||
|
|
<div class="inputs-group">
|
|||
|
|
<input style="width: 262px;" type="text" placeholder="Район города" class="text small-input" v-model="complex.rayon_id" value="">
|
|||
|
|
<div class="clear"></div>
|
|||
|
|
</div>
|
|||
|
|
</div>
|
|||
|
|
</div>
|
|||
|
|
</div>
|
|||
|
|
<div class="line">
|
|||
|
|
<div class="">
|
|||
|
|
<div class="label" style="width: 160px;"><span>Улица:</span></div>
|
|||
|
|
<div class="inputs">
|
|||
|
|
<div class="inputs-group">
|
|||
|
|
<input style="width: 262px;" type="text" placeholder="Улица" class="text small-input" v-model="complex.street" value="">
|
|||
|
|
<div class="clear"></div>
|
|||
|
|
</div>
|
|||
|
|
</div>
|
|||
|
|
</div>
|
|||
|
|
</div>
|
|||
|
|
<div class="line">
|
|||
|
|
<div class="">
|
|||
|
|
<div class="label" style="width: 160px;"><span>№ дома:</span></div>
|
|||
|
|
<div class="inputs">
|
|||
|
|
<div class="inputs-group">
|
|||
|
|
<input style="width: 262px;" type="text" placeholder="№дома" class="text small-input" v-model="complex.dom" value="">
|
|||
|
|
<div class="clear"></div>
|
|||
|
|
</div>
|
|||
|
|
</div>
|
|||
|
|
</div>
|
|||
|
|
</div>
|
|||
|
|
<div class="line">
|
|||
|
|
<div class="">
|
|||
|
|
<div class="label" style="width: 160px;"><span>Корпус:</span></div>
|
|||
|
|
<div class="inputs">
|
|||
|
|
<div class="inputs-group">
|
|||
|
|
<input style="width: 262px;" type="text" placeholder="Корпус" class="text small-input" v-model="complex.korpus" value="">
|
|||
|
|
<div class="clear"></div>
|
|||
|
|
</div>
|
|||
|
|
</div>
|
|||
|
|
</div>
|
|||
|
|
</div>
|
|||
|
|
<div class="line">
|
|||
|
|
<div class="">
|
|||
|
|
<div class="label" style="width: 160px;"><span>Литера:</span></div>
|
|||
|
|
<div class="inputs">
|
|||
|
|
<div class="inputs-group">
|
|||
|
|
<input style="width: 262px;" type="text" placeholder="Литера" class="text small-input" v-model="complex.litera" value="">
|
|||
|
|
<div class="clear"></div>
|
|||
|
|
</div>
|
|||
|
|
</div>
|
|||
|
|
</div>
|
|||
|
|
</div>
|
|||
|
|
<div class="line">
|
|||
|
|
<div class="">
|
|||
|
|
<div class="label" style="width: 160px;"><span>Широта:</span></div>
|
|||
|
|
<div class="inputs">
|
|||
|
|
<div class="inputs-group">
|
|||
|
|
<input style="width: 262px;" type="text" placeholder="Широта" class="text small-input" v-model="complex.latitude" value="">
|
|||
|
|
<div class="clear"></div>
|
|||
|
|
</div>
|
|||
|
|
</div>
|
|||
|
|
</div>
|
|||
|
|
</div>
|
|||
|
|
<div class="line">
|
|||
|
|
<div class="">
|
|||
|
|
<div class="label" style="width: 160px;"><span>Долгота:</span></div>
|
|||
|
|
<div class="inputs">
|
|||
|
|
<div class="inputs-group">
|
|||
|
|
<input style="width: 262px;" type="text" placeholder="Долгота" class="text small-input" v-model="complex.longitude" value="">
|
|||
|
|
<div class="clear"></div>
|
|||
|
|
</div>
|
|||
|
|
</div>
|
|||
|
|
</div>
|
|||
|
|
</div>
|
|||
|
|
<!-- div class="line">
|
|||
|
|
<div class="">
|
|||
|
|
<a href="#" onclick="$('#map-modal').show();$('#after_map').show();return false;">Уточнить координаты на карте</a>
|
|||
|
|
</div>
|
|||
|
|
</div -->
|
|||
|
|
<input v-model="complex.kladr_id" class="kladr_id" type="hidden" value="">
|
|||
|
|
</div>
|
|||
|
|
<div style="margin: 10px 5px;">
|
|||
|
|
<div class="">
|
|||
|
|
<a href="#" onclick="$('#map-modal-complex').show();$('#after_map-complex').show();return false;">Уточнить координаты на карте</a>
|
|||
|
|
</div>
|
|||
|
|
</div>
|
|||
|
|
<div class="clear"></div>
|
|||
|
|
</div>
|
|||
|
|
</div>
|
|||
|
|
</div>
|
|||
|
|
</td>
|
|||
|
|
</tr>
|
|||
|
|
</table>
|
|||
|
|
|
|||
|
|
|
|||
|
|
<div class="f__modal-bg" id="map-modal-complex" style=" display: none;">
|
|||
|
|
<span class="pseudo-link closer"><i class="ti-close"></i></span>
|
|||
|
|
<div class="f__modal sign" id="after_map-complex" style=" display: none; padding-bottom: 0;">
|
|||
|
|
|
|||
|
|
<div class="f-col">
|
|||
|
|
<div class="f-col-6">
|
|||
|
|
|
|||
|
|
<div class="bg-danger" style="font-size:1.2em; border-radius:5px; text-align:center;">
|
|||
|
|
<div id="map-complex" style="height: 300px;padding-bottom: 40px;"></div>
|
|||
|
|
</div>
|
|||
|
|
<div style="width:240px;margin: 0px auto 15px auto;text-align: center;">
|
|||
|
|
<a href="javascript:{}" onclick="$('#map-modal-complex').hide();$('#after_map-complex').hide();return false;" class="fr-btn medium-button">Закрыть</a></div>
|
|||
|
|
</div>
|
|||
|
|
|
|||
|
|
<div class="f-col-3"> </div>
|
|||
|
|
|
|||
|
|
<div class="clear"></div>
|
|||
|
|
|
|||
|
|
</div>
|
|||
|
|
|
|||
|
|
</div>
|
|||
|
|
|
|||
|
|
</div>
|
|||
|
|
</div>
|
|||
|
|
|
|||
|
|
</div>
|
|||
|
|
|
|||
|
|
|
|||
|
|
|
|||
|
|
<div class="clear"></div>
|
|||
|
|
<div class="form-block" v-show="!isEmpty(metro_list) && complex.country_id == 171">
|
|||
|
|
<div class="metro">
|
|||
|
|
<div class="subway ">
|
|||
|
|
<div class="label">
|
|||
|
|
<span>Метро:</span>
|
|||
|
|
</div>
|
|||
|
|
<div class="state-group inputs">
|
|||
|
|
<div class="tate new">
|
|||
|
|
<div class="control" style="width:inherit !important">
|
|||
|
|
<div class="jw-search__multiple-select">
|
|||
|
|
<v-select :components="{OpenIndicator}" @input="changeMetro" transition="" class="vue_select" style="width: 450px;border: none;" :options="metro_list" :reduce="name => name.code" label="name" v-model="complex.metros[0].metro_id"/>
|
|||
|
|
|
|||
|
|
</div>
|
|||
|
|
</div>
|
|||
|
|
<div class="clear"></div>
|
|||
|
|
</div>
|
|||
|
|
</div>
|
|||
|
|
<div class="clear"></div>
|
|||
|
|
</div>
|
|||
|
|
</div>
|
|||
|
|
</div>
|
|||
|
|
<div class="form-block" v-show="!isEmpty(metro_list) && complex.country_id == 171">
|
|||
|
|
<div class="custom_time_metro" >
|
|||
|
|
<div class="time-to-subway">
|
|||
|
|
<div class="label">
|
|||
|
|
<span>До метро:</span>
|
|||
|
|
</div>
|
|||
|
|
<div class="inputs">
|
|||
|
|
<div class="inputs-group">
|
|||
|
|
<input type="text" class="text minut small-input" style="width:150px" placeholder="не более" v-model="complex.metros[0].subway_time">
|
|||
|
|
<span class="form-label with-pad">минут</span>
|
|||
|
|
<v-select :components="{OpenIndicator}" transition="" class="vue_select" style="width: 200px;border: none;display:inline-block;margin-left:5px;" :options="time_to_subway" :reduce="name => name.code" label="name" v-model="complex.metros[0].subway_type"/>
|
|||
|
|
|
|||
|
|
</div>
|
|||
|
|
</div>
|
|||
|
|
<div class="clear"></div>
|
|||
|
|
</div>
|
|||
|
|
</div>
|
|||
|
|
|
|||
|
|
</div>
|
|||
|
|
<div class="clear"></div>
|
|||
|
|
<div class="form-block">
|
|||
|
|
<div class="label">Название комплекса</div>
|
|||
|
|
<div class="checkbox">
|
|||
|
|
<input id="check_blocks" @change="changeBlock" type="checkbox" :checked="Boolean(check_blocks)" v-model="check_blocks">
|
|||
|
|
<label class="label" style="white-space: pre;" for="check_blocks">Выбрать из новостроек</label>
|
|||
|
|
</div>
|
|||
|
|
</div>
|
|||
|
|
<div class="form-block" v-if="check_blocks">
|
|||
|
|
<div class="label">Выбирите ЖК</div>
|
|||
|
|
<div class="inputs">
|
|||
|
|
<v-select :components="{OpenIndicator}" transition="" @input="checkBlocks" class="vue_select" :class="{'invalid': errors.name}" style="width: 450px; border: none;" :options="block_list" :reduce="name => name.code" label="name" v-model="block_id"/>
|
|||
|
|
</div>
|
|||
|
|
</div>
|
|||
|
|
<div class="form-block" v-else>
|
|||
|
|
<div class="label">Название:</div>
|
|||
|
|
<div class="inputs">
|
|||
|
|
<input class="select text small-input rooms" @input="errors.name = false" placeholder="Введите название" v-model="complex.name" :class="{'invalid': errors.name}" type="text" value="" style="width: 450px;"/>
|
|||
|
|
</div>
|
|||
|
|
</div>
|
|||
|
|
<div class="form-block">
|
|||
|
|
<div class="label">Основное описание ЖК</div>
|
|||
|
|
<div class="inputs">
|
|||
|
|
<div class="inputs-group">
|
|||
|
|
<input class="select text small-input rooms" placeholder="Заголовок описания..." v-model="complex.dop.title_desc" type="text" value="" style="width: 450px;"/>
|
|||
|
|
<div class="clear"></div>
|
|||
|
|
|
|||
|
|
</div>
|
|||
|
|
<div style="margin-top:15px" class="inputs-group">
|
|||
|
|
|
|||
|
|
<textarea rows="5" class="text" placeholder="Описание..." v-model="complex.dop.text_desc" style="width: 450px"></textarea>
|
|||
|
|
<div class="clear"></div>
|
|||
|
|
</div>
|
|||
|
|
</div>
|
|||
|
|
</div>
|
|||
|
|
<div class="form-block">
|
|||
|
|
<div class="label">Второстепенное описание ЖК</div>
|
|||
|
|
<div class="inputs">
|
|||
|
|
<div class="inputs-group">
|
|||
|
|
<input class="select text small-input rooms" placeholder="Заголовок описания..." v-model="complex.dop.title_desc_dop" type="text" value="" style="width: 450px;"/>
|
|||
|
|
<div class="clear"></div>
|
|||
|
|
|
|||
|
|
</div>
|
|||
|
|
<div style="margin-top:15px" class="inputs-group">
|
|||
|
|
|
|||
|
|
<textarea rows="5" class="text" placeholder="Описание..." v-model="complex.dop.text_desc_dop" style="width: 450px"></textarea>
|
|||
|
|
<div class="clear"></div>
|
|||
|
|
</div>
|
|||
|
|
</div>
|
|||
|
|
</div>
|
|||
|
|
|
|||
|
|
<div class="form-block">
|
|||
|
|
<div class="label">Видео ЖК</div>
|
|||
|
|
<div class="inputs">
|
|||
|
|
<div class="inputs-group">
|
|||
|
|
<input class="select text small-input rooms" placeholder="Ссылка на видео..." v-model="complex.dop.url_video" type="text" value="" style="width: 450px;"/>
|
|||
|
|
<div class="clear"></div>
|
|||
|
|
|
|||
|
|
</div>
|
|||
|
|
<div style="margin-top:15px" class="inputs-group">
|
|||
|
|
<v-select :components="{OpenIndicator}" transition="" placeholder="Тип видео..." class="vue_select" :class="{'invalid': errors.name}" style="width: 450px; border: none;" :options="types_video" :reduce="name => name.code" label="name" v-model="complex.dop.type_video"/>
|
|||
|
|
<div class="clear"></div>
|
|||
|
|
</div>
|
|||
|
|
</div>
|
|||
|
|
</div>
|
|||
|
|
|
|||
|
|
<div class="form-block">
|
|||
|
|
<div class="label">Главные УТП</div>
|
|||
|
|
<div class="inputs dop_settings">
|
|||
|
|
<ul class="pole_select_value pole_end_etap">
|
|||
|
|
|
|||
|
|
|
|||
|
|
<template v-for="(utp, idUtp) in complex.dop.UTP">
|
|||
|
|
|
|||
|
|
<li v-if="utp.isEdit">
|
|||
|
|
<div>
|
|||
|
|
<label>Заголовок УТП</label>
|
|||
|
|
<input v-model.trim="utp.title" style="width:200px;" type="text"/>
|
|||
|
|
</div>
|
|||
|
|
<div>
|
|||
|
|
<label>Описание УТП</label>
|
|||
|
|
<textarea rows="3" v-model="utp.desc"></textarea>
|
|||
|
|
</div>
|
|||
|
|
<div style="margin-top: 37px">
|
|||
|
|
<a class="faplus" href="javascript:{}" @click="editLineSave(idLine)" title="Сохранить"><i class="far fa-save"></i></a>
|
|||
|
|
</div>
|
|||
|
|
<div style="margin-top: 37px; margin-left: 5px;">
|
|||
|
|
<a @click="lineClose(idLine)" class="fatrash" href="javascript:{}" title="Закрыть"><i class="fa fa-times"></i></a>
|
|||
|
|
</div>
|
|||
|
|
|
|||
|
|
<div class="clear"></div>
|
|||
|
|
</li>
|
|||
|
|
<li v-if="utp.isDiv">
|
|||
|
|
<div style="float: none">
|
|||
|
|
<span style="float: left; margin-top: 7px; margin-right: 5px;">{{ idUtp+1 }}. </span>
|
|||
|
|
<label>{{ utp.title }}</label>
|
|||
|
|
<span style="margin: 4px 4px 0px 0px">{{ utp.desc }} </span>
|
|||
|
|
<div class="clear"></div>
|
|||
|
|
<template v-if="!isEmpty(utp.imagesUTP)">
|
|||
|
|
<label>Фото</label>
|
|||
|
|
<div style="margin-right: 15px">
|
|||
|
|
<img v-for="imageSrc in utp.imagesUTP" :src="imageSrc" width="100" height="100" style="border: 1px solid #dedede; margin-right: 10px">
|
|||
|
|
|
|||
|
|
</div>
|
|||
|
|
</template>
|
|||
|
|
|
|||
|
|
<!--<a title="Изменить значение" @click="editUTP(idUtp)" class="faplus" href="javascript:{}"><i class="fas fa-pencil-alt"></i></a>-->
|
|||
|
|
<a class="fatrash"><i @click="deleteUTP(idUtp)" title="Удалить значение" class="fas fa-trash"></i></a>
|
|||
|
|
<div class="clear"></div>
|
|||
|
|
</div>
|
|||
|
|
|
|||
|
|
|
|||
|
|
</li>
|
|||
|
|
|
|||
|
|
</template>
|
|||
|
|
|
|||
|
|
|
|||
|
|
<li class="pole_li" v-if="isInputUTP">
|
|||
|
|
<div>
|
|||
|
|
<label>Заголовок УТП</label>
|
|||
|
|
<input v-model.trim="titleUTP" style="width:250px;" type="text" value=""/>
|
|||
|
|
</div>
|
|||
|
|
<div>
|
|||
|
|
<label>Описание УТП</label>
|
|||
|
|
<textarea rows="3" v-model="descUTP"></textarea>
|
|||
|
|
|
|||
|
|
</div>
|
|||
|
|
<div style="margin-top: 37px;">
|
|||
|
|
<a @click="addUTP" class="faplus" href="javascript:{}" title="Сохранить"><i class="far fa-save"></i></a>
|
|||
|
|
</div>
|
|||
|
|
<div style="margin-top: 37px; margin-left: 5px;">
|
|||
|
|
<a @click="inputUTPClose" class="fatrash" href="javascript:{}" title="Закрыть"><i class="fa fa-times"></i></a>
|
|||
|
|
</div>
|
|||
|
|
<div>
|
|||
|
|
<label>Фото</label>
|
|||
|
|
<div class="inputs small-photo">
|
|||
|
|
|
|||
|
|
<div class="photoUTP">
|
|||
|
|
<input type="file" name="photoComplexUTP" data-fileuploader-files='' data-fileuploader-limit="10" accept="image/jpg,image/jpeg,image/png" multiple="">
|
|||
|
|
</div>
|
|||
|
|
|
|||
|
|
|
|||
|
|
</div>
|
|||
|
|
</div>
|
|||
|
|
|
|||
|
|
|
|||
|
|
<div class="clear"></div>
|
|||
|
|
</li>
|
|||
|
|
<li class="liPlus">
|
|||
|
|
<a class="faplus" href="javascript:{}" title="Добавить УТП" @click="openUTP">
|
|||
|
|
<i class="fas fa-plus"></i>
|
|||
|
|
</a>
|
|||
|
|
</li>
|
|||
|
|
</ul>
|
|||
|
|
</div>
|
|||
|
|
</div>
|
|||
|
|
|
|||
|
|
<div class="form-block">
|
|||
|
|
<div class="label">Второстепенные УТП</div>
|
|||
|
|
<div class="inputs dop_settings">
|
|||
|
|
<ul class="pole_select_value pole_end_etap">
|
|||
|
|
|
|||
|
|
|
|||
|
|
<template v-for="(utp, idUtp) in complex.dop.UTP2">
|
|||
|
|
|
|||
|
|
<li v-if="utp.isEdit">
|
|||
|
|
<div>
|
|||
|
|
<label>Заголовок УТП</label>
|
|||
|
|
<input v-model.trim="utp.title" style="width:200px;" type="text"/>
|
|||
|
|
</div>
|
|||
|
|
<div>
|
|||
|
|
<label>Описание УТП</label>
|
|||
|
|
<textarea rows="3" v-model="utp.desc"></textarea>
|
|||
|
|
</div>
|
|||
|
|
<div style="margin-top: 37px">
|
|||
|
|
<a class="faplus" href="javascript:{}" @click="editLineSave(idLine)" title="Сохранить"><i class="far fa-save"></i></a>
|
|||
|
|
</div>
|
|||
|
|
<div style="margin-top: 37px; margin-left: 5px;">
|
|||
|
|
<a @click="lineClose(idLine)" class="fatrash" href="javascript:{}" title="Закрыть"><i class="fa fa-times"></i></a>
|
|||
|
|
</div>
|
|||
|
|
|
|||
|
|
<div class="clear"></div>
|
|||
|
|
</li>
|
|||
|
|
<li v-if="utp.isDiv">
|
|||
|
|
<div style="float: none">
|
|||
|
|
<span style="float: left; margin-top: 7px; margin-right: 5px;">{{ idUtp+1 }}. </span>
|
|||
|
|
<label>{{ utp.title }}</label>
|
|||
|
|
<span style="margin: 4px 4px 0px 0px">{{ utp.desc }} </span>
|
|||
|
|
<div class="clear"></div>
|
|||
|
|
<template v-if="!isEmpty(utp.imagesUTP)">
|
|||
|
|
<label>Фото</label>
|
|||
|
|
<div style="margin-right: 15px">
|
|||
|
|
<img v-for="imageSrc in utp.imagesUTP" :src="imageSrc" width="100" height="100" style="border: 1px solid #dedede; margin-right: 10px">
|
|||
|
|
|
|||
|
|
</div>
|
|||
|
|
</template>
|
|||
|
|
|
|||
|
|
<!--<a title="Изменить значение" @click="editUTP(idUtp)" class="faplus" href="javascript:{}"><i class="fas fa-pencil-alt"></i></a>-->
|
|||
|
|
<a class="fatrash"><i @click="deleteUTP2(idUtp)" title="Удалить значение" class="fas fa-trash"></i></a>
|
|||
|
|
<div class="clear"></div>
|
|||
|
|
</div>
|
|||
|
|
|
|||
|
|
|
|||
|
|
</li>
|
|||
|
|
|
|||
|
|
</template>
|
|||
|
|
|
|||
|
|
|
|||
|
|
<li class="pole_li" v-if="isInputUTP2">
|
|||
|
|
<div>
|
|||
|
|
<label>Заголовок УТП</label>
|
|||
|
|
<input v-model.trim="titleUTP2" style="width:250px;" type="text" value=""/>
|
|||
|
|
</div>
|
|||
|
|
<div>
|
|||
|
|
<label>Описание УТП</label>
|
|||
|
|
<textarea rows="3" v-model="descUTP2"></textarea>
|
|||
|
|
|
|||
|
|
</div>
|
|||
|
|
<div style="margin-top: 37px;">
|
|||
|
|
<a @click="addUTP2" class="faplus" href="javascript:{}" title="Сохранить"><i class="far fa-save"></i></a>
|
|||
|
|
</div>
|
|||
|
|
<div style="margin-top: 37px; margin-left: 5px;">
|
|||
|
|
<a @click="inputUTPClose2" class="fatrash" href="javascript:{}" title="Закрыть"><i class="fa fa-times"></i></a>
|
|||
|
|
</div>
|
|||
|
|
<div>
|
|||
|
|
<label>Фото</label>
|
|||
|
|
<div class="inputs small-photo">
|
|||
|
|
|
|||
|
|
<div class="photoUTP2">
|
|||
|
|
<input type="file" name="photoComplexUTP2" data-fileuploader-files='' data-fileuploader-limit="10" accept="image/jpg,image/jpeg,image/png" multiple="">
|
|||
|
|
</div>
|
|||
|
|
|
|||
|
|
|
|||
|
|
</div>
|
|||
|
|
</div>
|
|||
|
|
|
|||
|
|
|
|||
|
|
<div class="clear"></div>
|
|||
|
|
</li>
|
|||
|
|
<li class="liPlus">
|
|||
|
|
<a class="faplus" href="javascript:{}" title="Добавить УТП" @click="openUTP2">
|
|||
|
|
<i class="fas fa-plus"></i>
|
|||
|
|
</a>
|
|||
|
|
</li>
|
|||
|
|
</ul>
|
|||
|
|
</div>
|
|||
|
|
</div>
|
|||
|
|
|
|||
|
|
<div class="form-block">
|
|||
|
|
<div class="label">Очередь:</div>
|
|||
|
|
|
|||
|
|
<div class="inputs dop_settings">
|
|||
|
|
|
|||
|
|
<ul class="pole_select_value pole_end_etap">
|
|||
|
|
<template v-for="(line, idLine) in complex.lines">
|
|||
|
|
|
|||
|
|
<li v-if="line.isEdit">
|
|||
|
|
<div>
|
|||
|
|
<label>Очередь</label>
|
|||
|
|
<input v-model.number="line.name" @input="mes_error_corpus = false" :class="{'invalid': mes_error_corpus}" style="width:200px;" type="number" value=""/>
|
|||
|
|
</div>
|
|||
|
|
|
|||
|
|
<div style="margin-top: 37px">
|
|||
|
|
<a class="faplus" href="javascript:{}" @click="editLineSave(idLine)" title="Сохранить"><i class="far fa-save"></i></a>
|
|||
|
|
</div>
|
|||
|
|
<div style="margin-top: 37px; margin-left: 5px;">
|
|||
|
|
<a @click="lineClose(idLine)" class="fatrash" href="javascript:{}" title="Закрыть"><i class="fa fa-times"></i></a>
|
|||
|
|
</div>
|
|||
|
|
<div class="clear"></div>
|
|||
|
|
</li>
|
|||
|
|
<li v-if="line.isDiv && line.del == 0">
|
|||
|
|
<div style="margin: 4px 4px 0px 0px">{{ line.name }} очередь</div>
|
|||
|
|
<a title="Изменить значение" @click="editLine(idLine)" class="faplus" href="javascript:{}"><i class="fas fa-pencil-alt"></i></a>
|
|||
|
|
<a class="fatrash"><i @click="deleteLine(idLine)" title="Удалить значение" class="fas fa-trash"></i></a>
|
|||
|
|
<div class="clear"></div>
|
|||
|
|
<template v-if="!isEmpty(line.corpuses)">
|
|||
|
|
<ul style="margin-left:30px;" class="pole_select_value pole_end_etap">
|
|||
|
|
<template v-for="(corpus, idCorpus) in line.corpuses">
|
|||
|
|
<li class="pole_li" v-if="corpus.isDiv && corpus.del==0">
|
|||
|
|
<div style="margin: 4px 4px 0px 0px">Корпус {{ corpus.corpus }} - {{ corpus.period }}</div>
|
|||
|
|
<a title="Изменить значение" @click="editCorpus(idLine,idCorpus)" class="faplus" href="javascript:{}"><i class="fas fa-pencil-alt"></i></a>
|
|||
|
|
<a @click="deleteCorpus(idLine,idCorpus)" class="fatrash"><i title="Удалить значение" class="fas fa-trash"></i></a>
|
|||
|
|
<div class="clear"></div>
|
|||
|
|
</li>
|
|||
|
|
<li class="pole_li" v-if="corpus.isEdit">
|
|||
|
|
<div>
|
|||
|
|
<label>Корпус</label>
|
|||
|
|
<input v-model="corpus.corpus" @input="mes_error_corpus = false" :class="{'invalid': mes_error_corpus}" style="width:200px;" type="text" value=""/>
|
|||
|
|
</div>
|
|||
|
|
<div style="margin-left: 5px;">
|
|||
|
|
<label>Дата сдачи</label>
|
|||
|
|
|
|||
|
|
<vuejs-datepicker v-model="corpus.date" :full-month-name="true" :language="ru" :format="format" :monday-first="mondayfirst"></vuejs-datepicker>
|
|||
|
|
</div>
|
|||
|
|
<div>
|
|||
|
|
<label>ID корпуса Домклик</label>
|
|||
|
|
<input v-model="corpus.corpus_id" type="text"/>
|
|||
|
|
</div>
|
|||
|
|
|
|||
|
|
<div>
|
|||
|
|
<label>Этажей всего</label>
|
|||
|
|
<input v-model="corpus.corpus_floors" type="number"/>
|
|||
|
|
</div>
|
|||
|
|
<div>
|
|||
|
|
<label>Построено этажей</label>
|
|||
|
|
<input v-model="corpus.corpus_floors_ready" type="number"/>
|
|||
|
|
</div>
|
|||
|
|
<div style="height:50px;">
|
|||
|
|
<label>Соответствие ФЗ-214</label>
|
|||
|
|
<div class="checkbox">
|
|||
|
|
<input v-model="corpus.corpus_fz_214" id="is_fz_214" true-value="1" false-value="0" type="checkbox">
|
|||
|
|
<label class="label" style="white-space: pre;" for="is_fz_214"></label>
|
|||
|
|
</div>
|
|||
|
|
</div>
|
|||
|
|
<div style="margin-right: 15px">
|
|||
|
|
<label>Статус корпуса</label>
|
|||
|
|
|
|||
|
|
<v-select v-model="corpus.corpus_status" :components="{OpenIndicator}" transition="" class="vue_select" style="width: 300px; border: none;" :options="status_corpus" :reduce="name => name.code" label="name"/>
|
|||
|
|
|
|||
|
|
|
|||
|
|
</div>
|
|||
|
|
<div style="margin-top: 37px">
|
|||
|
|
<a class="faplus" href="javascript:{}" @click="editCorpusSave(idLine,idCorpus)" title="Сохранить"><i class="far fa-save"></i></a>
|
|||
|
|
</div>
|
|||
|
|
<div style="margin-top: 37px; margin-left: 5px;">
|
|||
|
|
<a @click="corpusClose(idLine,idCorpus)" class="fatrash" href="javascript:{}" title="Закрыть"><i class="fa fa-times"></i></a>
|
|||
|
|
</div>
|
|||
|
|
<div class="clear"></div>
|
|||
|
|
</li>
|
|||
|
|
</template>
|
|||
|
|
<li class="pole_li" v-if="line.isInput">
|
|||
|
|
<div>
|
|||
|
|
<label>Корпус</label>
|
|||
|
|
<input v-model="newCorpusName" @input="mes_error_corpus = false" :class="{'invalid': mes_error_corpus}" type="text" value=""/>
|
|||
|
|
</div>
|
|||
|
|
<div style="margin-left: 5px;">
|
|||
|
|
<label>Дата сдачи</label>
|
|||
|
|
|
|||
|
|
<div>
|
|||
|
|
<vuejs-datepicker v-model="defaultDate" :full-month-name="true" :language="ru" :format="format" :monday-first="mondayfirst"></vuejs-datepicker>
|
|||
|
|
</div>
|
|||
|
|
</div>
|
|||
|
|
|
|||
|
|
<div>
|
|||
|
|
<label>ID корпуса Домклик</label>
|
|||
|
|
<input v-model="corpus_id" type="text"/>
|
|||
|
|
</div>
|
|||
|
|
|
|||
|
|
<div>
|
|||
|
|
<label>Этажей всего</label>
|
|||
|
|
<input v-model="corpus_floors" type="number"/>
|
|||
|
|
</div>
|
|||
|
|
<div>
|
|||
|
|
<label>Построено этажей</label>
|
|||
|
|
<input v-model="corpus_floors_ready" type="number"/>
|
|||
|
|
</div>
|
|||
|
|
<div style="height:50px;">
|
|||
|
|
<label>Соответствие ФЗ-214</label>
|
|||
|
|
<div class="checkbox">
|
|||
|
|
<input v-model="corpus_fz_214" id="is_fz_214" true-value="1" false-value="0" type="checkbox">
|
|||
|
|
<label class="label" style="white-space: pre;" for="is_fz_214"></label>
|
|||
|
|
</div>
|
|||
|
|
</div>
|
|||
|
|
<div style="margin-right: 15px">
|
|||
|
|
<label>Статус корпуса</label>
|
|||
|
|
|
|||
|
|
<v-select v-model="corpus_status" :components="{OpenIndicator}" transition="" class="vue_select" style="width: 300px; border: none;" :options="status_corpus" :reduce="name => name.code" label="name"/>
|
|||
|
|
|
|||
|
|
|
|||
|
|
</div>
|
|||
|
|
<div style="margin-top: 37px;">
|
|||
|
|
<a @click="addCorpus(idLine)" class="faplus" href="javascript:{}" title="Сохранить"><i class="far fa-save"></i></a>
|
|||
|
|
</div>
|
|||
|
|
<div style="margin-top: 37px; margin-left: 5px;">
|
|||
|
|
<a @click="inputClose(idLine)" class="fatrash" href="javascript:{}" title="Закрыть"><i class="fa fa-times"></i></a>
|
|||
|
|
</div>
|
|||
|
|
<div class="clear"></div>
|
|||
|
|
</li>
|
|||
|
|
<li class="liPlus"><a class="faplus" href="javascript:{}" title="Добавить корпус" @click="openCorpusIsInput(idLine)"><i class="fas fa-plus"></i></a></li>
|
|||
|
|
</ul>
|
|||
|
|
</template>
|
|||
|
|
<template v-else>
|
|||
|
|
<li class="pole_li" v-if="line.isInput">
|
|||
|
|
<div>
|
|||
|
|
<label>Корпус</label>
|
|||
|
|
<input v-model="newCorpusName" @input="mes_error_corpus = false" :class="{'invalid': mes_error_corpus}" style="width:250px;" type="text" value=""/>
|
|||
|
|
</div>
|
|||
|
|
<div style="margin-left: 5px;">
|
|||
|
|
<label>Дата сдачи</label>
|
|||
|
|
|
|||
|
|
<div>
|
|||
|
|
<vuejs-datepicker v-model="defaultDate" :full-month-name="true" :language="ru" :format="format" :monday-first="mondayfirst"></vuejs-datepicker>
|
|||
|
|
</div>
|
|||
|
|
</div>
|
|||
|
|
<div>
|
|||
|
|
<label>ID корпуса Домклик</label>
|
|||
|
|
<input v-model="corpus_id" type="text"/>
|
|||
|
|
</div>
|
|||
|
|
|
|||
|
|
<div>
|
|||
|
|
<label>Этажей всего</label>
|
|||
|
|
<input v-model="corpus_floors" type="number"/>
|
|||
|
|
</div>
|
|||
|
|
<div>
|
|||
|
|
<label>Построено этажей</label>
|
|||
|
|
<input v-model="corpus_floors_ready" type="number"/>
|
|||
|
|
</div>
|
|||
|
|
<div style="height:50px;">
|
|||
|
|
<label>Соответствие ФЗ-214</label>
|
|||
|
|
<div class="checkbox">
|
|||
|
|
<input v-model="corpus_fz_214" id="is_fz_214" true-value="1" false-value="0" type="checkbox">
|
|||
|
|
<label class="label" style="white-space: pre;" for="is_fz_214"></label>
|
|||
|
|
</div>
|
|||
|
|
</div>
|
|||
|
|
<div style="margin-right: 15px">
|
|||
|
|
<label>Статус корпуса</label>
|
|||
|
|
|
|||
|
|
<v-select v-model="corpus_status" :components="{OpenIndicator}" transition="" class="vue_select" style="width: 300px; border: none;" :options="status_corpus" :reduce="name => name.code" label="name"/>
|
|||
|
|
|
|||
|
|
|
|||
|
|
</div>
|
|||
|
|
<div style="margin-top: 37px;">
|
|||
|
|
<a @click="addCorpus(idLine)" class="faplus" href="javascript:{}" title="Сохранить"><i class="far fa-save"></i></a>
|
|||
|
|
</div>
|
|||
|
|
<div style="margin-top: 37px; margin-left: 5px;">
|
|||
|
|
<a @click="inputClose(idLine)" class="fatrash" href="javascript:{}" title="Закрыть"><i class="fa fa-times"></i></a>
|
|||
|
|
</div>
|
|||
|
|
<div class="clear"></div>
|
|||
|
|
</li>
|
|||
|
|
<li class="liPlus"><a class="faplus" href="javascript:{}" title="Добавить корпус" @click="openCorpusIsInput(idLine)"><i class="fas fa-plus"></i></a></li>
|
|||
|
|
</template>
|
|||
|
|
</li>
|
|||
|
|
|
|||
|
|
</template>
|
|||
|
|
<li class="pole_li" v-if="isInput">
|
|||
|
|
<div>
|
|||
|
|
<label>Очередь</label>
|
|||
|
|
<input v-model.number="newLineName" @input="mes_error_corpus = false" :class="{'invalid': mes_error_corpus}" style="width:250px;" type="number" value=""/>
|
|||
|
|
</div>
|
|||
|
|
|
|||
|
|
<div style="margin-top: 37px;">
|
|||
|
|
<a @click="addLine" class="faplus" href="javascript:{}" title="Сохранить"><i class="far fa-save"></i></a>
|
|||
|
|
</div>
|
|||
|
|
<div style="margin-top: 37px; margin-left: 5px;">
|
|||
|
|
<a @click="inputLineClose" class="fatrash" href="javascript:{}" title="Закрыть"><i class="fa fa-times"></i></a>
|
|||
|
|
</div>
|
|||
|
|
<div class="clear"></div>
|
|||
|
|
</li>
|
|||
|
|
<li class="liPlus"><a class="faplus" href="javascript:{}" title="Добавить очередь" @click="isInput = true"><i class="fas fa-plus"></i></a></li>
|
|||
|
|
</ul>
|
|||
|
|
</div>
|
|||
|
|
</div>
|
|||
|
|
<div class="form-block">
|
|||
|
|
<div class="label">Акции</div>
|
|||
|
|
<div class="inputs" style="padding-top: 15px;">
|
|||
|
|
<a type="button" @click="add_action" href="javascript:{}" class="green_button">Добавить акцию</a>
|
|||
|
|
</div>
|
|||
|
|
<div class="clear"></div>
|
|||
|
|
</div>
|
|||
|
|
<div v-show="complex.actions.length > 0" class="form-block">
|
|||
|
|
<div class="label">Список акций</div>
|
|||
|
|
<div class="inputs">
|
|||
|
|
<ul class="pole_end_etap">
|
|||
|
|
<li v-for="(action, actionId) in complex.actions" class="pole_li" style="width: 470px !important; border: 1px dotted #e0e0e0 !important; padding: 5px !important;">
|
|||
|
|
<div class="divLiLeft">
|
|||
|
|
<label>Название</label>
|
|||
|
|
<input type="text" v-model="action.name">
|
|||
|
|
</div>
|
|||
|
|
<div class="divLiLeft" style="margin-right: 10px">
|
|||
|
|
<label>Описание</label>
|
|||
|
|
<textarea rows="3" v-model="action.desc"></textarea>
|
|||
|
|
</div>
|
|||
|
|
|
|||
|
|
<div class="divLiLeft">
|
|||
|
|
<a title="Удалить" @click="del_action(actionId)" class="no-border fatrash">
|
|||
|
|
<i class="fas fa-trash"></i>
|
|||
|
|
</a>
|
|||
|
|
</div>
|
|||
|
|
<div class="divLiLeft" style="margin-right: 10px">
|
|||
|
|
<label title="Время простановки задачи от наступления этапа">Ссылка на акцию на сайте застройщика</label>
|
|||
|
|
<input type="text" v-model="action.link">
|
|||
|
|
</div>
|
|||
|
|
<div class="divLiLeft" style="margin-right: 10px">
|
|||
|
|
<label>Изображение</label>
|
|||
|
|
<div class="inputs small-photo">
|
|||
|
|
|
|||
|
|
<div :id="'photoAction'+actionId" class="photo_actions">
|
|||
|
|
|
|||
|
|
</div>
|
|||
|
|
|
|||
|
|
|
|||
|
|
</div>
|
|||
|
|
|
|||
|
|
</div>
|
|||
|
|
</li>
|
|||
|
|
</ul>
|
|||
|
|
</div>
|
|||
|
|
</div>
|
|||
|
|
<div class="form-block">
|
|||
|
|
<div class="label">Информация об офисе продаж</div>
|
|||
|
|
<div class="inputs">
|
|||
|
|
<div class="inputs-group">
|
|||
|
|
<input class="select text small-input rooms" placeholder="Телефон отдела продаж..." v-model="complex.dop.phone_op" type="text" value="" style="width: 450px;"/>
|
|||
|
|
<div class="clear"></div>
|
|||
|
|
|
|||
|
|
</div>
|
|||
|
|
<div style="margin-top:15px" class="inputs-group">
|
|||
|
|
<input class="select text small-input rooms" placeholder="Мобильный телефон ДомКлик PRO..." v-model="complex.dop.phone_mobil_op" type="text" value="" style="width: 450px;"/>
|
|||
|
|
<div class="clear"></div>
|
|||
|
|
</div>
|
|||
|
|
<div style="margin-top:15px" class="inputs-group">
|
|||
|
|
<input class="select text small-input rooms" placeholder="Адрес отдела продаж..." v-model="complex.dop.address_op" type="text" value="" style="width: 450px;"/>
|
|||
|
|
<div class="clear"></div>
|
|||
|
|
|
|||
|
|
</div>
|
|||
|
|
<div style="margin-top:15px" class="inputs-group">
|
|||
|
|
<input class="select text small-input rooms" placeholder="Широта офиса продаж..." v-model="complex.dop.latitude_op" type="text" value="" style="width: 450px;"/>
|
|||
|
|
<div class="clear"></div>
|
|||
|
|
</div>
|
|||
|
|
<div style="margin-top:15px" class="inputs-group">
|
|||
|
|
<input class="select text small-input rooms" placeholder="Долгота офиса продаж..." v-model="complex.dop.longitude_op" type="text" value="" style="width: 450px;"/>
|
|||
|
|
<div class="clear"></div>
|
|||
|
|
</div>
|
|||
|
|
<div style="margin-top:15px" class="inputs-group">
|
|||
|
|
<input class="select text small-input rooms" placeholder="Часовой пояс по Гринвичу..." v-model="complex.dop.timezone_op" type="text" value="" style="width: 450px;"/>
|
|||
|
|
<div class="clear"></div>
|
|||
|
|
</div>
|
|||
|
|
<div style="margin-top:15px" class="inputs-group">
|
|||
|
|
<v-select :components="{OpenIndicator}" multiple transition="" placeholder="Рабочие дни..." class="vue_select" style="width: 450px; border: none;" :options="workdays" v-model="complex.dop.workdays_op"/>
|
|||
|
|
<div class="clear"></div>
|
|||
|
|
</div>
|
|||
|
|
<div style="margin-top:15px" class="inputs-group">
|
|||
|
|
<input class="select text small-input rooms" placeholder="Время открытия..." v-model="complex.dop.opentime_op" type="text" value="" style="width: 450px;"/>
|
|||
|
|
<div class="clear"></div>
|
|||
|
|
</div>
|
|||
|
|
<div style="margin-top:15px" class="inputs-group">
|
|||
|
|
<input class="select text small-input rooms" placeholder="Время закрытия..." v-model="complex.dop.closetime_op" type="text" value="" style="width: 450px;"/>
|
|||
|
|
<div class="clear"></div>
|
|||
|
|
</div>
|
|||
|
|
</div>
|
|||
|
|
</div>
|
|||
|
|
<div class="form-block">
|
|||
|
|
<div class="label">Название застройщика</div>
|
|||
|
|
<div class="inputs">
|
|||
|
|
<div style="margin-bottom: 20px;">
|
|||
|
|
<v-select :components="{OpenIndicator}" transition="" class="vue_select" style="width: 450px; border: none;" :options="builder_list" :reduce="name => name.code" label="name" @input="getInfoBuilder" v-model="complex.builder_id"/>
|
|||
|
|
<div class="clear"></div>
|
|||
|
|
</div>
|
|||
|
|
<div class="inputs dop_settings">
|
|||
|
|
<ul class="pole_select_value pole_end_etap">
|
|||
|
|
<li class="pole_li" v-if="isInputBuilder">
|
|||
|
|
<div style="width: 300px;">
|
|||
|
|
<label style="width: 90px;">Название</label>
|
|||
|
|
<input v-model="newBuilderName" @input="mes_error_builder = false" :class="{'invalid': mes_error_builder}" style="width:350px;" type="text" value=""/>
|
|||
|
|
</div>
|
|||
|
|
<div style="margin-top: 37px;">
|
|||
|
|
<a @click="addBuilder" class="faplus" href="javascript:{}" title="Сохранить"><i class="far fa-save"></i></a>
|
|||
|
|
</div>
|
|||
|
|
<div style="margin-top: 37px; margin-left: 5px;">
|
|||
|
|
<a @click="inputBuilderClose" class="fatrash" href="javascript:{}" title="Закрыть"><i class="fa fa-times"></i></a>
|
|||
|
|
</div>
|
|||
|
|
<div class="clear"></div>
|
|||
|
|
</li>
|
|||
|
|
<li class="liPlus"><a class="faplus" href="javascript:{}" title="Добавить застройщика" @click="isInputBuilder = true"><i class="fas fa-plus"></i></a></li>
|
|||
|
|
</ul>
|
|||
|
|
</div>
|
|||
|
|
</div>
|
|||
|
|
</div>
|
|||
|
|
<div class="form-block">
|
|||
|
|
<div class="label">Телефон застройщика</div>
|
|||
|
|
<div class="inputs">
|
|||
|
|
<input v-model="newBuilderPhone" style="width:350px;" type="text" value=""/>
|
|||
|
|
</div>
|
|||
|
|
</div>
|
|||
|
|
<div class="form-block">
|
|||
|
|
<div class="label">Ссылка на сайт застройщика</div>
|
|||
|
|
<div class="inputs">
|
|||
|
|
<input v-model="newBuilderLink" style="width:350px;" type="text" value=""/>
|
|||
|
|
</div>
|
|||
|
|
</div>
|
|||
|
|
<div class="form-block">
|
|||
|
|
<div class="label">Тип оплаты</div>
|
|||
|
|
<div class="inputs">
|
|||
|
|
<v-select :components="{OpenIndicator}" transition="" multiple="multiple" class="vue_select" :class="{'invalid': errors.type == 1}" style="width: 450px; border: none;" :options="paymentTypes" :reduce="name => name.code" label="name" v-model="complex.payment_types"/>
|
|||
|
|
|
|||
|
|
</div>
|
|||
|
|
<div class="clear"></div>
|
|||
|
|
</div>
|
|||
|
|
<div class="form-block">
|
|||
|
|
<div class="label">Тип договора</div>
|
|||
|
|
<div class="inputs">
|
|||
|
|
<input class="select text small-input rooms" v-model="complex.contract_type" type="text" value="" style="width: 450px;"/>
|
|||
|
|
</div>
|
|||
|
|
<div class="clear"></div>
|
|||
|
|
</div>
|
|||
|
|
<div class="form-block">
|
|||
|
|
<div class="label">Класс жилья</div>
|
|||
|
|
<div class="inputs">
|
|||
|
|
<v-select :components="{OpenIndicator}" transition="" class="vue_select" :class="{'invalid': errors.type == 1}" style="width: 450px; border: none;" :options="housingClass" :reduce="name => name.code" label="name" v-model="complex.housing_class_id"/>
|
|||
|
|
|
|||
|
|
</div>
|
|||
|
|
<div class="clear"></div>
|
|||
|
|
</div>
|
|||
|
|
<div class="form-block">
|
|||
|
|
<div class="label">Этажность</div>
|
|||
|
|
<div class="inputs">
|
|||
|
|
<div class="inputs-group">
|
|||
|
|
<span style="margin: 10px 15px; float:left;" class="form-label with-pad">От</span>
|
|||
|
|
<input class="select text small-input rooms" placeholder="Первый этаж" v-model="complex.first_floor" style="width: 150px;" type="number"/>
|
|||
|
|
<span style="margin: 10px 15px; float:left;" class="form-label with-pad">до</span>
|
|||
|
|
<input class="select text small-input rooms" type="number" placeholder="Последний этаж" style="width: 150px;" v-model="complex.last_floor">
|
|||
|
|
</div>
|
|||
|
|
</div>
|
|||
|
|
<div class="clear"></div>
|
|||
|
|
</div>
|
|||
|
|
<div class="form-block">
|
|||
|
|
<div class="label">Число квартир </div>
|
|||
|
|
<div class="inputs">
|
|||
|
|
<input class="select text small-input rooms" v-model="complex.number_apartments" type="number" value="" style="width: 450px;"/>
|
|||
|
|
</div>
|
|||
|
|
<div class="clear"></div>
|
|||
|
|
</div>
|
|||
|
|
|
|||
|
|
<div class="form-block">
|
|||
|
|
<div class="label">Высота потолков </div>
|
|||
|
|
<div class="inputs">
|
|||
|
|
<input class="select text small-input rooms" v-model="complex.ceiling_height" type="number" value="" style="width: 450px;"/>
|
|||
|
|
</div>
|
|||
|
|
<div class="clear"></div>
|
|||
|
|
</div>
|
|||
|
|
|
|||
|
|
<div class="form-block">
|
|||
|
|
<div class="label">Отделка </div>
|
|||
|
|
<div class="inputs">
|
|||
|
|
<v-select :components="{OpenIndicator}" transition="" class="vue_select" style="width: 450px; border: none;" :options="decorations" :reduce="name => name.code" label="name" v-model="complex.decoration_id"/>
|
|||
|
|
|
|||
|
|
</div>
|
|||
|
|
<div class="clear"></div>
|
|||
|
|
</div>
|
|||
|
|
|
|||
|
|
<div class="form-block">
|
|||
|
|
<div class="label">Тип дома</div>
|
|||
|
|
<div class="inputs">
|
|||
|
|
<v-select :components="{OpenIndicator}" transition="" class="vue_select" style="width: 450px; border: none;" :options="house_types" :reduce="name => name.code" label="name" v-model="complex.house_type"/>
|
|||
|
|
|
|||
|
|
</div>
|
|||
|
|
<div class="clear"></div>
|
|||
|
|
</div>
|
|||
|
|
|
|||
|
|
<div class="form-block">
|
|||
|
|
<div class="label">Материал дома</div>
|
|||
|
|
<div class="inputs">
|
|||
|
|
<v-select :components="{OpenIndicator}" transition="" class="vue_select" style="width: 450px; border: none;" :options="house_material" :reduce="name => name.code" label="name" v-model="complex.house_material"/>
|
|||
|
|
|
|||
|
|
</div>
|
|||
|
|
<div class="clear"></div>
|
|||
|
|
</div>
|
|||
|
|
|
|||
|
|
<div class="form-block">
|
|||
|
|
<div class="label">Паркинг </div>
|
|||
|
|
<div class="checkbox">
|
|||
|
|
<input id="is_Parking" type="checkbox" :checked="Boolean(complex.parking)" v-model="complex.parking">
|
|||
|
|
<label class="label" style="white-space: pre;" for="is_Parking">Нет/Да</label>
|
|||
|
|
</div>
|
|||
|
|
</div>
|
|||
|
|
|
|||
|
|
<div class="form-block">
|
|||
|
|
<div class="label">Закрытая территория </div>
|
|||
|
|
<div class="checkbox">
|
|||
|
|
<input id="is_closed_area" type="checkbox" :checked="Boolean(complex.closed_area)" v-model="complex.closed_area">
|
|||
|
|
<label class="label" style="white-space: pre;" for="is_closed_area">Нет/Да</label>
|
|||
|
|
</div>
|
|||
|
|
</div>
|
|||
|
|
|
|||
|
|
<div class="form-block">
|
|||
|
|
<div class="label">Охраняемая территория </div>
|
|||
|
|
<div class="checkbox">
|
|||
|
|
<input id="is_protected_area" type="checkbox" :checked="Boolean(complex.protected_area)" v-model="complex.protected_area">
|
|||
|
|
<label class="label" style="white-space: pre;" for="is_protected_area">Нет/Да</label>
|
|||
|
|
</div>
|
|||
|
|
</div>
|
|||
|
|
|
|||
|
|
<div class="form-block">
|
|||
|
|
<div class="label">Консьерж </div>
|
|||
|
|
<div class="checkbox">
|
|||
|
|
<input id="is_concierge" type="checkbox" :checked="Boolean(complex.concierge)" v-model="complex.concierge">
|
|||
|
|
<label class="label" style="white-space: pre;" for="is_concierge">Нет/Да</label>
|
|||
|
|
</div>
|
|||
|
|
</div>
|
|||
|
|
<div class="form-block">
|
|||
|
|
<div class="label">Дополнительная информация </div>
|
|||
|
|
|
|||
|
|
</div>
|
|||
|
|
<div class="form-block">
|
|||
|
|
<div class="label">Инфраструктура: </div>
|
|||
|
|
<div class="inputs">
|
|||
|
|
<div class="inputs-group">
|
|||
|
|
<table class="complex_table_checbox">
|
|||
|
|
<tr>
|
|||
|
|
<td>
|
|||
|
|
<input id="is_school" type="checkbox" true-value="1" false-value="0" v-model="complex.infrastructure.school">
|
|||
|
|
<label title="Школа" for="is_school" :class="{'active': complex.infrastructure.school>0}"><i class="fa-solid fa-school"></i></label>
|
|||
|
|
</td>
|
|||
|
|
<td>
|
|||
|
|
<input type="checkbox" true-value="1" id="is_kindergarten" false-value="0" v-model="complex.infrastructure.kindergarten">
|
|||
|
|
<label title="Детский сад" for="is_kindergarten" :class="{'active': complex.infrastructure.kindergarten>0}"><i class="fa-solid fa-children"></i></label>
|
|||
|
|
</td>
|
|||
|
|
<td>
|
|||
|
|
<input type="checkbox" id="is_playgrounds" true-value="1" false-value="0" v-model="complex.infrastructure.playgrounds">
|
|||
|
|
<label title="Детские площадки" for="is_playgrounds" :class="{'active': complex.infrastructure.playgrounds>0}"><i class="fa-solid fa-baby-carriage"></i></label>
|
|||
|
|
</td>
|
|||
|
|
<td>
|
|||
|
|
<input type="checkbox" id="is_sportsgrounds" true-value="1" false-value="0" v-model="complex.infrastructure.sportsgrounds">
|
|||
|
|
<label title="Спортивные площадки" for="is_sportsgrounds" :class="{'active': complex.infrastructure.sportsgrounds>0}"><i class="fa-solid fa-basketball"></i></label>
|
|||
|
|
</td>
|
|||
|
|
</tr>
|
|||
|
|
<tr>
|
|||
|
|
<td>
|
|||
|
|
<input type="checkbox" id="is_cafes" true-value="1" false-value="0" v-model="complex.infrastructure.cafes">
|
|||
|
|
<label title="Кафе/рестораны" for="is_cafes" :class="{'active': complex.infrastructure.cafes>0}"><i class="fa-solid fa-burger"></i></label>
|
|||
|
|
</td>
|
|||
|
|
<td>
|
|||
|
|
<input type="checkbox" true-value="1" false-value="0" id="is_shops" v-model="complex.infrastructure.shops">
|
|||
|
|
<label title="Магазины" for="is_shops" :class="{'active': complex.infrastructure.shops>0}"><i class="fa-solid fa-shop"></i></label>
|
|||
|
|
</td>
|
|||
|
|
<td>
|
|||
|
|
<input type="checkbox" true-value="1" false-value="0" id="is_beautysalons" v-model="complex.infrastructure.beautysalons">
|
|||
|
|
<label title="Салоны красоты" for="is_beautysalons" :class="{'active': complex.infrastructure.beautysalons>0}"><i class="fa-solid fa-house-user"></i></label>
|
|||
|
|
</td>
|
|||
|
|
<td>
|
|||
|
|
<input type="checkbox" true-value="1" false-value="0" id="is_fitnessclub" v-model="complex.infrastructure.fitnessclub">
|
|||
|
|
<label title="Фитнес-клуб" for="is_fitnessclub" :class="{'active': complex.infrastructure.fitnessclub>0}"><i class="fa-solid fa-dumbbell"></i></label>
|
|||
|
|
</td>
|
|||
|
|
</tr>
|
|||
|
|
<tr>
|
|||
|
|
|
|||
|
|
<td>
|
|||
|
|
<input type="checkbox" true-value="1" false-value="0" id="is_park" v-model="complex.infrastructure.park">
|
|||
|
|
<label title="Парк" for="is_park" :class="{'active': complex.infrastructure.park>0}"><i class="fa-solid fa-tree"></i></label>
|
|||
|
|
</td>
|
|||
|
|
<td>
|
|||
|
|
<input type="checkbox" true-value="1" false-value="0" id="is_trc" v-model="complex.infrastructure.trc">
|
|||
|
|
<label title="ТРЦ" for="is_trc" :class="{'active': complex.infrastructure.trc>0}"><i class="fa-solid fa-icons"></i></label>
|
|||
|
|
</td>
|
|||
|
|
<td>
|
|||
|
|
<input type="checkbox" true-value="1" false-value="0" id="is_commercialobjects" v-model="complex.infrastructure.commercialobjects">
|
|||
|
|
<label title="Коммерческие объекты" for="is_commercialobjects" :class="{'active': complex.infrastructure.commercialobjects>0}"><i class="fa-solid fa-building-user"></i></label>
|
|||
|
|
</td>
|
|||
|
|
<td></td>
|
|||
|
|
</tr>
|
|||
|
|
|
|||
|
|
</table>
|
|||
|
|
|
|||
|
|
</div>
|
|||
|
|
</div>
|
|||
|
|
</div>
|
|||
|
|
<div class="block last-block">
|
|||
|
|
<h2>Фотографии</h2>
|
|||
|
|
<div class="inputs main-photo">
|
|||
|
|
|
|||
|
|
<div class="photos">
|
|||
|
|
<input type="file" name="photoComplex" data-fileuploader-files='' data-fileuploader-limit="40" accept="image/jpg,image/jpeg,image/png" multiple="">
|
|||
|
|
</div>
|
|||
|
|
<div class="clear"></div>
|
|||
|
|
|
|||
|
|
</div>
|
|||
|
|
</div>
|
|||
|
|
|
|||
|
|
</div>
|
|||
|
|
</div>
|
|||
|
|
</div>
|
|||
|
|
</div>
|
|||
|
|
<div class="modal-submit">
|
|||
|
|
<button @click="save" type="button">Сохранить <i class="ti-angle-right"></i></button>
|
|||
|
|
</div>
|
|||
|
|
</div>
|
|||
|
|
</div>
|
|||
|
|
<div class="f__modal-bg" v-show="is_show_result" style="z-index: 99999;">
|
|||
|
|
|
|||
|
|
<div class="f__modal full-modal" style="padding-bottom: 20px" v-show="is_show_result">
|
|||
|
|
<span class="pseudo-link closer" @click="is_show_result = false"><i class="ti-close"></i></span>
|
|||
|
|
<div style="font-size:18px; padding-bottom: 15px;">
|
|||
|
|
Комплекс добавлен
|
|||
|
|
</div>
|
|||
|
|
|
|||
|
|
|
|||
|
|
<button type="button" @click="openComplexList" style="margin-bottom:7px;" class="new_req green_button">
|
|||
|
|
Перейти к комплексам
|
|||
|
|
</button>
|
|||
|
|
|
|||
|
|
</div>
|
|||
|
|
</div>
|
|||
|
|
<div class="full_modal-bg" style="z-index: 99999;" v-show="is_show_foto">
|
|||
|
|
<span class="pseudo-link closer"><i class="ti-close" @click="closes_foto"></i></span>
|
|||
|
|
<div class="full_modal edit-modal new-client__modal" style="max-width: 1050px; margin: 30px auto 140px;">
|
|||
|
|
<div class="form-validate">
|
|||
|
|
<div class="modal-inner">
|
|||
|
|
<div v-if="errorMes" class="error_msg" v-html="errorText"></div>
|
|||
|
|
<h2>Фото комплекса</h2>
|
|||
|
|
<div v-show="isEmpty(complex.images)">
|
|||
|
|
<div class="no-image" style="height: 250px; border: none;">
|
|||
|
|
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" id="Capa_1" x="0px" y="0px" width="130px" height="130px" viewBox="0 0 217.267 217.267" style="enable-background:new 0 0 217.267 217.267; top: 50px;" xml:space="preserve">
|
|||
|
|
<g>
|
|||
|
|
<path d="M163.627,138.057c1.94,0,3.505-1.564,3.505-3.505V83.749c0-1.937-1.564-3.504-3.505-3.504 c-1.937,0-3.504,1.567-3.504,3.504v50.803C160.123,136.493,161.69,138.057,163.627,138.057z" fill="#506979"></path>
|
|||
|
|
<path d="M108.633,0C48.73,0,0,48.732,0,108.633c0,29.931,12.167,57.071,31.816,76.738c0.014,0.014,0.017,0.034,0.031,0.048 s0.032,0.018,0.046,0.031c19.666,19.646,46.807,31.815,76.74,31.815c59.901,0,108.634-48.731,108.634-108.633S168.531,0,108.633,0 z M108.633,7.009c26.758,0,51.12,10.416,69.285,27.379l-26.936,26.938H52.564c-9.661,0-17.521,7.861-17.521,17.521v59.573 c0,9.661,7.861,17.521,17.521,17.521h3.805l-21.979,21.978C17.42,159.753,7.009,135.394,7.009,108.633 C7.009,52.599,52.595,7.009,108.633,7.009z M86.196,108.63c0-12.363,10.056-22.42,22.417-22.42c4.921,0,9.466,1.615,13.172,4.313 l-1.875,1.875c-3.207-2.24-7.094-3.564-11.297-3.564c-10.913,0-19.789,8.879-19.789,19.792c0,4.195,1.321,8.09,3.559,11.3 l-1.874,1.868C87.811,118.095,86.196,113.554,86.196,108.63z M131.034,108.63c0,12.364-10.054,22.418-22.418,22.418 c-4.915,0-9.449-1.608-13.145-4.298l1.874-1.876c3.203,2.231,7.082,3.546,11.274,3.546c10.91,0,19.794-8.877,19.794-19.791 c0-4.187-1.321-8.071-3.549-11.272l1.875-1.875C129.433,99.181,131.034,103.717,131.034,108.63z M95.833,108.63 c0-7.051,5.735-12.784,12.78-12.784c2.257,0,4.347,0.639,6.184,1.668l-17.304,17.306C96.469,112.972,95.833,110.885,95.833,108.63 z M121.397,108.63c0,7.049-5.735,12.782-12.781,12.782c-2.244,0-4.322-0.633-6.158-1.652l17.29-17.289 C120.769,104.31,121.397,106.383,121.397,108.63z M90.467,131.753c5.005,3.936,11.298,6.311,18.146,6.311 c16.229,0,29.431-13.206,29.431-29.431c0-6.848-2.375-13.141-6.311-18.149l22.148-22.146h10.814 c5.797,0,10.513,4.717,10.513,10.513v59.573c0,5.797-4.716,10.513-10.513,10.513H73.289L90.467,131.753z M126.784,85.523 c-5.007-3.948-11.311-6.326-18.168-6.326c-16.23,0-29.426,13.204-29.426,29.429c0,6.858,2.375,13.158,6.321,18.172l-22.136,22.135 H52.561c-5.797,0-10.513-4.716-10.513-10.514V78.847c0-5.795,4.716-10.513,10.513-10.513h91.413L126.784,85.523z M108.633,210.257 c-26.759,0-51.12-10.417-69.287-27.377l26.934-26.939h98.422c9.66,0,17.521-7.86,17.521-17.521V78.847 c0-9.661-7.861-17.521-17.521-17.521h-3.806l21.977-21.979c16.968,18.17,27.381,42.529,27.381,69.287 C210.258,164.667,164.667,210.257,108.633,210.257z" fill="#506979"></path>
|
|||
|
|
<path d="M53.002,54.317h23.654c1.937,0,3.504-1.567,3.504-3.504s-1.567-3.504-3.504-3.504H53.002 c-1.938,0-3.504,1.567-3.504,3.504S51.064,54.317,53.002,54.317z" fill="#506979"></path>
|
|||
|
|
</g>
|
|||
|
|
</svg>
|
|||
|
|
<div class="clear"></div>
|
|||
|
|
</div>
|
|||
|
|
</div>
|
|||
|
|
|
|||
|
|
<div v-show="!isEmpty(complex.images)">
|
|||
|
|
<div
|
|||
|
|
style="--swiper-navigation-color: #fff; --swiper-pagination-color: #fff"
|
|||
|
|
class="swiper complex-slider"
|
|||
|
|
>
|
|||
|
|
<div class="swiper-wrapper">
|
|||
|
|
<div v-for="(img, index) in complex.images" class="swiper-slide">
|
|||
|
|
<img :src="img" />
|
|||
|
|
</div>
|
|||
|
|
|
|||
|
|
</div>
|
|||
|
|
<div class="swiper-button-prev complex-slider-button-prev"> </div>
|
|||
|
|
<div class="swiper-button-next complex-slider-button-next"></div>
|
|||
|
|
</div>
|
|||
|
|
<div thumbsSlider="" class="swiper complex-slider-thumbs">
|
|||
|
|
<div class="swiper-wrapper">
|
|||
|
|
<div v-for="(img, index) in complex.images" class="swiper-slide">
|
|||
|
|
<img :src="img" />
|
|||
|
|
</div>
|
|||
|
|
</div>
|
|||
|
|
</div>
|
|||
|
|
</div>
|
|||
|
|
|
|||
|
|
<div class="form-block">
|
|||
|
|
<div class="label">Добавить фото</div>
|
|||
|
|
<div class="inputs">
|
|||
|
|
<div class="dropbox">
|
|||
|
|
<input type="file" @input="onFileSelected" multiple="multiple" class="input-file" style="width: 400px;">
|
|||
|
|
<p>
|
|||
|
|
Выберите файл(ы)
|
|||
|
|
</p>
|
|||
|
|
</div>
|
|||
|
|
</div>
|
|||
|
|
<div class="clear"></div>
|
|||
|
|
</div>
|
|||
|
|
|
|||
|
|
<div v-show="progressUoload.length > 0" class="form-block">
|
|||
|
|
<div class="label">Список файлов</div>
|
|||
|
|
<div class="inputs" style="width: 400px;">
|
|||
|
|
<div class="list_files" v-for="(file, infile) in selectedFiles">
|
|||
|
|
<div v-show="!progressUoload[infile].isEdit">
|
|||
|
|
<label class="label_file"><i v-bind:class=" [ file.classFile, {active: progressUoload[infile].isUpload} ]"></i>{{ progressUoload[infile].real_name }}</label>
|
|||
|
|
|
|||
|
|
<a title="Загрузить" v-bind:class="{ hidden : progressUoload[infile].isUpload}" @click="onUpload(infile, file)" class="no-border faupload"><i class="fas fa-upload"></i></a>
|
|||
|
|
<a title="Изменить имя файла" @click="onEditFile(infile,file)" class="no-border faplus"><i class="ti-pencil"></i></a>
|
|||
|
|
<a title="Удалить" @click="onDeleteFile(infile,file)" class="no-border fatrash"><i class="fas fa-trash"></i></a>
|
|||
|
|
<vue-simple-progress v-if="progressUoload[infile].uploads" bar-color="#e2574c" :val="progressUoload[infile].progress" :text="progressUoload[infile].progress + '%'"></vue-simple-progress>
|
|||
|
|
</div>
|
|||
|
|
<div v-show=" progressUoload[infile].isEdit">
|
|||
|
|
<input style="width:80%; float:left; font-size: 14px;" type="text" v-model="progressUoload[infile].edit_name">
|
|||
|
|
<a class="faplus" @click="saveEdit(infile)" style="border-bottom: none; float:left; margin-left: 5px; margin-top:7px;" title="Сохранить" href="javascript:{}"><i class="fas fa-check"></i></a>
|
|||
|
|
</div>
|
|||
|
|
</div>
|
|||
|
|
</div>
|
|||
|
|
<div class="clear"></div>
|
|||
|
|
</div>
|
|||
|
|
|
|||
|
|
</div>
|
|||
|
|
</div>
|
|||
|
|
</div>
|
|||
|
|
</div>
|
|||
|
|
</div>
|
|||
|
|
<script src="/js/locale/translations/ru.js"></script>
|
|||
|
|
<script type="text/javascript" src="/js/vue-simple-progress.min.js"></script>
|
|||
|
|
<script type="text/javascript" src="/js/vuejs-datepicker.min.js"></script>
|
|||
|
|
<script src="https://cdn.jsdelivr.net/npm/swiper@8/swiper-bundle.min.js"></script>
|
|||
|
|
<script type="text/javascript" src="/js/complex.js?<?=filemtime($_SERVER['DOCUMENT_ROOT'].'/js/complex.js')?>"></script>
|
|||
|
|
<script src="/js/jquery.fileuploader.js" type="text/javascript"></script>
|
|||
|
|
<script src="/js/custom-uploader-complex.js?version=2" type="text/javascript"></script>
|
|||
|
|
<script type="text/javascript" src="/js/vue_scripts/complex_form_vue.js?<?=filemtime($_SERVER['DOCUMENT_ROOT'].'/js/vue_scripts/complex_form_vue.js')?>"></script>
|
|||
|
|
<script src="https://cdn.jsdelivr.net/npm/suggestions-jquery@latest/dist/js/jquery.suggestions.min.js"></script>
|
|||
|
|
<script type="text/javascript" src="https://api-maps.yandex.ru/2.1/?apikey=692f0a05-cb88-4158-88b9-06bc0dc93004&load=package.standard&lang=ru-RU&ns=yandexMapComplex&onload=onYandexMapInitComplex" async></script>
|
|||
|
|
|