Joywork/complex_objects.php
2026-05-22 21:21:54 +03:00

1221 lines
86 KiB
PHP
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<?php
require_once($_SERVER['DOCUMENT_ROOT']."/config.php");
if(!$_SESSION['id']) {
header("location:index.php");
die("Доступ запрещён!");
}
require($_SERVER['DOCUMENT_ROOT']."/templates/new-header.php");
error_reporting(E_ALL | E_STRICT);
ini_set('display_errors', 1);
include $_SERVER['DOCUMENT_ROOT'] . '/import/obj/ImportRecord.php';
include $_SERVER['DOCUMENT_ROOT'] . '/import/helper/Date.php';
include $_SERVER['DOCUMENT_ROOT'] . '/import/Clock/Clock.php';
include $_SERVER['DOCUMENT_ROOT'] . '/import/Clock/RealtimeClock.php';
?>
<style>
.jw__layout-content .main-title {
padding: 20px 0 22px 35px;
position: relative;
z-index: 99;
border-bottom: 1px solid #dedede;
background: #fff;
}
.search__tabs {
padding: 0 35px !important;
position: relative;
z-index: 99;
background: #fff;
}
.jw__layout .content-top {
z-index: 100;
}
.show_form {
padding: 12px 35px 15px;
margin: 0;
text-align: center;
font-size: 15px;
color: #757575;
cursor: pointer;
background: -moz-linear-gradient(top, #f8f8f8, #fff);
background: -webkit-linear-gradient(top, #f8f8f8, #fff);
background: -o-linear-gradient(top, #f8f8f8, #fff);
background: -ms-linear-gradient(top, #f8f8f8, #fff);
background: linear-gradient(top, #f8f8f8, #fff);
border-bottom: 1px solid #dedede;
}
.show_form i {
position: relative;
top: 2px;
margin-left: 5px;
font-size: 17px;
opacity: .7;
}
.show_form:hover i {
opacity: 1;
}
#complex_objects_page .jw__object .actions-menu:before{
/*right: 130px;*/
display:none;
}
.fr-system__objects .view-changer .view-adv-list svg {
width: 37px;
height: 37px;
margin-top: 2px;
}
.fr-system__objects .view-changer .view-adv-table svg {
width: 37px;
height: 37px;
margin-top: 2px;
}
.fr-system__objects .view-changer {
display: -webkit-box;
display: -ms-flexbox;
display: flex;
-webkit-box-pack: start;
-ms-flex-pack: start;
justify-content: flex-end;
-webkit-box-align: center;
-ms-flex-align: center;
align-items: center;
padding: 0 35px 0 0;
margin: 0 0 0 auto;
}
.fr-system__objects .view-changer div svg {
display: inline-block;
}
.fr-system__objects .view-changer svg path {
fill: #757575;
}
.fr-system__objects .view-changer div {
height: 40px;
margin-left: 25px;
cursor: pointer;
position: relative;
-webkit-transition: all .35s linear;
transition: all .35s linear;
}
.fr-system__objects .view-changer a {
border-bottom: 0;
}
.fr-system__objects .view-changer div span {
display: inline-block;
vertical-align: top;
font-size: 16px;
margin: 10px 0 0 9px;
color: #757575;
border-bottom: 1px solid #dedede;
}
.fr-system__objects .view-changer div:hover svg path {
fill: #237ef7;
}
.fr-system__objects .view-changer div:hover span {
color: #237ef7 !important;
border-color: #3a8efa !important;
}
.fr-system__objects .view-changer .active span, .crm .view-changer .active:hover span{
color: rgb(67,160,71) !important;
font-weight: 600;
border-bottom: 0;
}
</style>
<div class="content-right new">
<div class="inner hidden" id="complex_objects_page">
<div class="main-title">
<h1 v-if="!isEmpty(complex.name)" v-html="'&laquo;'+complex.name+'&raquo;'"></h1>
<h1 v-else>Загрузка...</h1>
</div>
<div class="jw__page__tabs type__tabs fr-system__objects">
<table>
<tr>
<td style="width: 90%">
<?php
if (!$hasRestrictedAccess) {?>
<a v-if="!isEmpty(complex.id) && complex.id > 0" :href="'/add-object.php?complex_id='+complex.id" class="tab tab__new-object " style="padding-left: 35px;">
<i class="ti-plus"></i><span>Добавить объект в комплекс</span>
</a>
<?php } else {
$db_sphinx = new MysqlPdo(hstsph2, null, null, null, true, '9306');
$sql_count = "SELECT id
FROM objects
WHERE del=0 AND id_add_user = {$user->id}
LIMIT 10 OPTION max_matches=10";
$vsego = $db_sphinx->num_rows($db_sphinx->query($sql_count, true));
if($vsego >= 3) {
?>
<a href="javascript:{}" class="tab_pasive tab__new-object" onclick="trialperiod.modalObj();" style="padding-left: 35px;">
<i class="ti-plus"></i><span>Добавить объект в комплекс</span>
</a>
<?php
} else {
?>
<a v-if="!isEmpty(complex.id)" :href="'/add-object.php?complex_id='+complex.id" class="tab tab__new-object" style="padding-left: 35px;">
<i class="ti-plus"></i><span>Добавить объект в комплекс</span>
</a>
<?php
}?>
<?php } ?>
</td>
<td style="width:300px;">
<div class="view-changer" style="white-space: nowrap;">
<div class="view-adv-table" :class="{'active': view_complex == 'table'}" @click="changeView('table')">
<a href="javascript:{};">
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" id="Layer_1" x="0px" y="0px" viewBox="0 0 512 512" xml:space="preserve"><g><g><path d="M0,74.672V224h512V74.672H0z M496,208H16V90.672h480V208z" fill="#757575"></path></g></g><g><g><path d="M0,288v128h128V288H0z M112,400H16v-96h96V400z" fill="#757575"></path></g></g><g><g><path d="M192,288v128h128V288H192z M304,400h-96v-96h96V400z" fill="#757575"></path></g></g><g><g><path d="M384,288v128h128V288H384z M496,400h-96v-96h96V400z" fill="#757575"></path></g></g></svg>
<span>Таблица</span>
</a>
</div>
<div class="view-adv-list" :class="{'active': view_complex == 'list'}" @click="changeView('list')">
<a href="javascript:{};">
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" id="Layer_1" x="0px" y="0px" viewBox="0 0 512 512" xml:space="preserve"><g><g><path d="M0,74.672V224h512V74.672H0z M496,208H16V90.672h480V208z" fill="#757575"></path></g></g><g><g><path d="M0,288v149.328h512V288H0z M496,421.328H16V304h480V421.328z" fill="#757575"></path></g></g></svg>
<span>Список</span>
</a>
</div>
</div>
</td>
</tr>
</table>
</div>
<div class="show_form" style="display: none;">Развернуть форму<i class="ti-angle-double-down"></i></div>
<div class="main-form" style="border-bottom: 1px solid #dedede; border-top: none; display: none;">
<form id="f-system-search-form" action="">
<div class="control-group" style="padding-top: 25px;">
<div class="control">
<div class="form-search__main-label small-label"><span>Площадь:</span></div>
<div class="control-inputs">
<div class="inputs-group">
<input type="number" class="text small-input no-mrg-left" min="0" max="1000" name="sq_all_ot" placeholder="от" value="">
<input type="number" class="text small-input" min="0" max="1000" name="sq_all_do" placeholder="до" value="">
<span class="form-label with-pad">&nbsp;м<sup>2</sup></span>
</div>
</div>
</div>
</div>
<div class="control-group" style="padding-top: 0; padding-bottom: 0;">
<div class="control">
<div class="form-search__main-label small-label">
<span>Цена:</span>
</div>
<div class="control-inputs">
<div class="inputs-group">
<div class="fr-input fr-price">
<input type="text" id="stoim_ot" class="text price medium-input no-mrg-left money-format" name="stoim_ot" placeholder="от" value="">
<div class="fr-ui-slider slider_newbuiding1" id="e-form-slider"></div>
</div>
<div class="fr-input fr-price second">
<input type="text" id="stoim_do" class="text price medium-input money-format" name="stoim_do" placeholder="до" value="">
<div class="fr-ui-slider slider_newbuiding2" id="e-form-slider"></div>
</div>
<span class="form-label with-pad">&nbsp;<span class="rub">p</span></span>
<div class="clear"></div>
</div>
</div>
</div>
</div>
<div class="control-group" style="padding-top: 0;padding-bottom: 0;"><div class="switch__filter button-row" style="padding-top:20px;margin-right:10px;"><div class="form-search__main-label small-label"><span>Период по:</span></div>
<input type="radio" class="hidden--radio" id="field_dt" name="period" value="" >
<div class="selector-button typeCategory ">
<span></span>
<label for="field_dt" class="label-overlay">&nbsp;</label>
</div>
<div class="clear"></div></div></div>
<div class="control-group" style="padding-top: 0;padding-bottom: 0;"><div class="switch__filter button-row" style="padding-top:20px;margin-right:10px;"><div class="form-search__main-label small-label"><span>Отделка:</span></div>
<input type="radio" class="hidden--radio" id="field_dt" name="dec_type" value="">
<div class="selector-button operation_type ">
<span></span>
<label for="field_dt" class="label-overlay">&nbsp;</label>
</div>
<div class="clear"></div>
</div>
</div>
<div class="control-group" style="padding-top: 0;padding-bottom: 0px;">
<div class="switch__filter button-row" style="padding-top:20px;margin-right:10px;">
<div class="form-search__main-label small-label"><span>Тип:</span></div>
<input type="checkbox" class="hidden--radio" id="field_rt" name="obj_type[]" value="" >
<div class="selector-button obj-type ">
<span></span>
<label for="field_rt" class="label-overlay">&nbsp;</label>
</div>
<div class="clear"></div>
</div>
</div>
<div class="control-group" style="padding-top: 25px; padding-bottom: 30px;">
<div class="control">
<div class="form-search__main-label small-label"><span>Этаж:</span></div>
<div class="control-inputs">
<div class="inputs-group">
<input type="number" class="text small-input no-mrg-left" min="0" max="100" name="flat_floor_ot" placeholder="от" value="">
<input type="number" class="text small-input" min="0" max="100" name="flat_floor_do" placeholder="до" value="">
</div>
</div>
</div>
</div>
<div class="control-group last-level" style="margin-top: 0;">
<input type="hidden" name="hide_form" value="1">
<input type="hidden" name="blockId" value="">
<input type="hidden" name="do_search" value="1">
<button id="search" class="button-fl-left big-button" type="submit">Найти</button>
<div class="load-bar hidden" style="top: auto !important;">
<div class="bar"></div>
<div class="bar"></div>
<div class="bar"></div>
<div class="load-bar__center">
<span class="load-bar__loading">Поиск...</span>
</div>
</div>
<div class="clear"></div>
</div>
<div class="clear"></div>
</form>
</div>
<div class="jw__NB" style="background: none;">
<div style="padding-left: 35px;font-size: 18px; font-weight: bold; margin-bottom:15px;">
<a href="/complex_list.php">Вернуться к списку комплексов</a>
</div>
<div v-show="isPreloader===1" style="text-align:center; margin-top: 25px;" class="object-content__preloader">
<img src="../images/rocket-spinner.svg" width="96px">
</div>
<div v-show="isPreloader===0">
<div class="jw__NB__flat-list" style="background:#ffffff; margin-bottom: 20px" v-if="view_complex == 'table'">
<table>
<thead>
<tr>
<th colspan="9">Квартиры в комплексе</th>
<th colspan="3">Площадь</th>
<th colspan="2">Стоимость</th>
<th colspan="1"></th>
<th colspan="1"></th>
</tr>
<tr>
<th class="flat__pdf">PDF</th>
<th>Корпус</th>
<th class="flat__srok">Срок сдачи</th>
<th>Очередь</th>
<th class="flat__num">№</th>
<th class="flat__type">Тип</th>
<th>Этаж</th>
<th>Подъезд</th>
<th class="flat__with-border">Общая</th>
<th>Комнат</th>
<th>Кухни</th>
<th class="flat__with-border">При 100%</th>
<th>Базовая</th>
<th class="flat__with-border">Отделка</th>
<th class="flat__with-border">Действия</th>
</tr>
</thead>
<tbody v-show="!isEmpty(complex.objects)">
<tr v-for="(obj, obj_id) in complex.objects" @click="showInfoObject($event, obj.id)" :data-FlatId="obj.id" :data-FlatNum="obj_id">
<td class="flat__pdf">
<input type="checkbox" class="form-control to_send_input" :id="'to_send'+obj.id">
<div class="action-button sendPDF to_send" :id="'to_send_button'+obj.id" :data-id="obj.id">
<span class="get_pdf" title="К отправке">pdf</span>
</div>
</td>
<td v-html="obj.korpus"></td>
<td class="flat__srok" v-html="obj.nb_end_date"></td>
<td v-html=obj.line></td>
<td class="flat__num" v-html="obj.flat_number"></td>
<td class="flat__type" v-html="obj.type_k"></td>
<td v-html="obj.etazh"></td>
<td v-html="obj.entrance_number"></td>
<td class="flat__with-border" v-html="obj.ploshad"></td>
<td v-html="obj.ploshad_komn"></td>
<td v-html="obj.ploshad_k"></td>
<td style="white-space: nowrap;" class="flat__with-border" v-html="obj.price"></td>
<td style="white-space: nowrap;" v-html="obj.price"></td>
<td class="flat__with-border" v-html="obj.decaration"></td>
<td class="flat__with-border jw__object compact" style="display:table-cell">
<div class="object-content__actions" style="padding:0; border-bottom: none;">
<div class="actions-menu__icons" style="float: left;">
<span class="jw__small-popup ti-more-alt" :data-id="'actions_'+obj.id"></span>
<div class="jw__popup actions-menu" :id="'popup__actions_'+obj.id">
<div class="actions-menu__inner">
<a href="javascript:{}" class="ad-report" :data-id="obj.id"><span>Отчет по рекламе</span></a>
<a href="javascript:{}" class="advertisingCosts" :data-id="obj.id"><span>Затраты на рекламу</span></a>
<a target="_blank" :href="'/cabinet-edit.php?id='+obj.id"><span>Кабинет клиента</span></a>
<a href="javascript:{};" class="editMyObject" :data-id="obj.id" data-page="1" :data-complexid="complex.id"><span>Редактировать</span></a>
</div>
</div>
</div>
</div>
</td>
</tr>
</tbody>
</table>
</div>
<div class="jw__objects" v-else-if="view_complex == 'list'">
<div class="f-system_pagination" style="margin-top: 15px;margin-bottom: 15px;">
<!--<table style="width: 100%">
<tbody><tr>
<td>
<ul class="pagination">
<div class="clear"></div>
</ul>
</td>
<td>
<div style="position:relative;display: none;float:right;margin-top:10px;">
<div id="objectsSortOrder" class="form-block" style="float: right; width: 435px;">
<div class="label" style="width: 120px;">Сортировка:</div>
<div class="inputs" style="width: 68%;">
<select name="my_objects_sort_order" style="width:100%;margin-top:3px;">
<option value="0" selected="">Дата изм. от нового к старому</option>
<option value="1">Дата изм. от старого к новому</option>
<option value="2">Дата доб. от нового к старому</option>
<option value="3">Дата доб. от старого к новому</option>
</select>
</div>
</div>
</div>
</td>
</tr>
</tbody></table>-->
</div>
<div v-for="(obj, obj_id) in complex.objects" class="jw__object item item-new marketplace compact ap" :id="'item'+obj.id">
<div class="object-images" :data-id="obj.id" :id="'photos'+obj.id">
<div v-if="obj.id_add_user>0 || obj.fbn_id>0 || obj.ads_agent>0" class="arrow_box">Агент</div>
<div v-else class="arrow_box">Собственник</div>
<div v-if="isEmpty(obj.photos) && isEmpty(obj.plan)" class="no-image">
<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;" 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 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 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"/>
</g>
</svg>
</div>
</div>
<div class="object-content">
<div class="object-content__actions">
<div class="date">
<template v-show="obj.archive != 1 || obj.operation_type == 1">
<span :title="obj.date" v-html="obj.date"></span>
</template>
<template v-if="obj.operation_type == 0">
<span :title="obj.SROK_AREND" v-html="obj.SROK_AREND"></span>
</template>
<template v-else-if="obj.operation_type == 1">
<span title="Продается">Продается</span>
</template>
<span class="jw-id" :title="'ID '+obj.id" v-html="'ID&nbsp;'+obj.id"></span>
</div>
<div class="actions-menu__icons">
<span class="jw__small-popup ti-more-alt" :data-id="'actions_2'+obj.id"></span>
<div class="jw__popup actions-menu" :id="'popup__actions_2'+obj.id">
<div class="actions-menu__inner">
<a v-if="obj.id_add_user > 0" href="javascript:{}" class="advertisingCosts" :data-id="obj.id"><span>Затраты на рекламу</span></a>
<a v-if="obj.id_add_user == user_id" :data-id="obj.id" class="copyMyObject" href="javascript:{}"><span>Копировать</span></a>
<a v-if="obj.id_add_user == user_id" target="_blank" :href="'/cabinet-edit.php?id='+obj.id"><span>Кабинет клиента</span></a>
<a href="javascript:{};" v-if="obj.id_add_user == user_id" class="editMyObject" :data-id="obj.id" :data-complexid="complex.id" data-page="1"><span>Редактировать</span></a>
<a v-if="obj.archive != 1" href="javascript:{};" :onclick="'req_form.openFormObj('+obj.id+', '+obj.id_add_user+');'" :data-object="obj.id"><span>Создать заявку</span></a>
<template v-else>
<a v-if="obj.canDeleteOwn" href="javascript:void();" class="deleteMyObject" :data-id="obj.id"><span>Удалить</span></a>
</template>
<a v-if="obj.filesTotal > 0" href="javascript:{}" :onclick="'fileslist.open('+obj.id+', \'object\')'" class="showDoc"><span>Документы</span></a>
</div>
</div>
</div>
<div class="clear"></div>
</div>
<div class="object-content__name">
<h2>
<div class="jw__group-action-button" :onClick="'to_check_new('+obj.id+')'">
<input type="checkbox" :id="'checked'+obj.id" class="" data-id="">
<div class="group-action-button item-for-check" :id="'checked-eye'+obj.id" :data-id="obj.id">
<span class="check-button-box"></span>
<span class="check"></span>
</div>
</div>
<label>
<input type="checkbox" :onclick="'to_favor('+obj.id+');'" :id="'favorite'+obj.id" class="favorite-input">
<span class="ti-heart" :id="'favorite-star'+obj.id"></span>
</label>
<a href="javascript:{}" :onclick="'openObjectModal('+obj.id+')'" class="edit-link" :title="obj.nazv" v-html="obj.nazv">
</a>
<div class="preloader"></div>
</h2>
<div class="clear"></div>
</div>
<div class="object-content__info-row">
<table>
<tr>
<td class="place">
<div class="inner">
<div class="subway">
<template v-if="!isEmpty(obj.mtr)">
<div class="subway-station">
<span class="subway-logo"></span>
<span>{{ obj.mtr[0] }}</span>
</div>
<div v-if="obj.mtr.length > 1" class="all-stations">
<span class="jw__small-popup ti-more-alt"
:data-id="obj.id"></span>
<div class="jw__popup subway-stations"
:id="'popup__'+obj.id">
<div class="subway-stations__inner">
<div v-for="(metro_res, k) in obj.mtr" v-if="k>0" class="subway-station">
<span>{{ metro_res }}</span>
</div>
</div>
</div>
</div>
</template>
</div>
<div class="district" v-if="!isEmpty(obj.rayon)"><span v-html="obj.rayon"></span></div>
<template v-if="obj.peshkom>0 || obj.transport>0">
<div v-if="obj.peshkom>0" class="time"><span>{{ obj.peshkom }} минут пешком</span></div>
<div v-if="obj.transport>0" class="time"><span>{{ obj.transport }} минут на транспорте</span></div>
</template>
<div class="address">
<span v-html="obj.address"></span>
</div>
</div>
</td>
<td class="room">
<div class="inner">
<template v-if="obj.type == 7">
<div v-if="obj.land_area * 1 != 0" class="square"><span>{{ obj.land_area * 1 }} cоток</span></div>
<div v-if="!isEmpty(obj.land_usage_name)" class="square"><span>{{ obj.land_usage_name }}</span></div>';
</template>
<template v-else>
<template v-if="obj.type == 3 || obj.type == 5">
<div v-if="obj.ploshad * 1 != 0" class="square"><span>{{ obj.ploshad * 1 }} кв. м</span></div>
<div v-if="obj.land_area * 1 > 0" class="live-square"><span>Участка: {{ obj.land_area * 1 }} cоток</span></div>
<template v-if="obj.house_category > 0">
<div class="live-square">
<span v-if="obj.house_category == 1">Вид объекта: Дача</span>
<span v-else-if="obj.house_category == 2">Вид объекта: Коттедж</span>
<span v-else-if="obj.house_category == 3">Вид объекта: Таунхаус</span>
<span v-else-if="obj.house_category == 4">Вид объекта: Дом</span>
</div>
</template>
</template>
<template v-else>
<div v-if="obj.ploshad * 1 != 0" class="square"><span>{{ obj.ploshad * 1 }} кв. м</span></div>
<template v-if="obj.type != 4">
<div v-if="obj.ploshad_komn > 0" class="live-square"><span>Жилая: {{ obj.ploshad_komn }} кв. м</span></div>
</template>
<div v-if="obj.ploshad_k * 1 != 0" class="kitchen-square"><span>Кухни: {{ obj.ploshad_k * 1 }} кв. м</span></div>
<div v-if="!isEmpty(obj.land_usage_name) && obj.land_usage_name != 0" class="square"><span>{{ obj.land_usage_name }}</span></div>
<template v-if="obj.type_category == 6">
<div class="floor">
<span v-if="(obj.etazh_iz * 1) != 0">Всего этажей:&nbsp;{{ obj.etazh_iz }}</span>
</div>
</template>
<template v-else>
<template v-if="(obj.etazh * 1) != 0" >
<div v-if="obj.type == 3" class="floor">
<span v-if = "obj.etazh_iz * 1 != 0">{{ obj.etazh_iz}} этажей</span>
</div>
<div v-else class="floor">
<span>{{obj.etazh}}
<template v-if="obj.etazh_iz * 1 != 0">&nbsp;из&nbsp;{{ obj.etazh_iz }}</template>
</span>
</div>
</template>
</template>
</template>
</template>
</div>
</td>
<template v-if="obj.holod>0 || obj.stirka>0 || obj.tv>0 || obj.mebel>0">
<td class="features">
<div class="icons">
<span v-if="obj.holod>0" class="jw-icon-object-technology"></span>
<span v-if="obj.stirka>0" class="jw-icon-object-dryer"></span>
<span v-if="obj.tv>0" class="jw-icon-object-technology-1"></span>
<span v-if="obj.mebel>0" class="jw-icon-object-armchair"></span>
</div>
</td>
</template>
<template v-if="!isEmpty(obj.clientsArrayCurrent)">
<td style="text-align:right;">
<div class="obj_client" :class="{'no-more': obj.clientsArrayCurrent.length > 1}">
<template>
<a href="javascript:{}" :onclick="'openClientEventsWindowNew('+obj.clientsArrayCurrent[0].id+', $(\'#session_to_send\').val(), 0);'" style="border-bottom: none; font-size: 18px; margin-right: 3px;">
<i title="История и Задачи (клиент)" class="fa fa-chalkboard-teacher"></i>
</a>
<b class="big">
<a :title="obj.clientsArrayCurrent[0].email + ', ' + obj.clientsArrayCurrent[0].phone" :data-id="obj.clientsArrayCurrent[0].id" class="neweditClient" href="javascript:{}">
{{ obj.clientsArrayCurrent[0].fio }}
</a>
</b>
</template>
<template>
<br/>
<a href="javascript:{};" class="jw__clients_popup" :data-id="obj.id">показать ещё {{ (obj.clientsArrayCurrent.length-1) }} +…</a>
<div :id="'popup_clients__'+obj.id" class="object-content__clients source-how">
<div class="jw__popup source-how__popup clients__popup">
<ul class="obj_client_list">
<li v-for="(client, indexClient) in obj.clientsArrayCurrent" v-if="indexClient > 0">
<b class="big">
<a :title="client.email + ', ' + client.phone" :data-id="client.id" class="neweditClient" href="javascript:{}" v-html="client.fio">
</a>
</b>
<a v-if="!isEmpty(client.phone)" :href="'tel:'+client.phone">{{ client.phone }}</a>
</li>
</ul>
</div>
</div>
</template>
</div>
</td>
</template>
</tr>
</table>
</div>
<div class="object-content__main-actions">
<div class="jw__action-button">
<input type="checkbox" class="form-control to_send_input" :id="'to_send'+obj.id">
<div class="action-button sendPDF to_send" :class="{'active': obj.isPdf == 1 }" :id="'to_send_button'+obj.id" :data-id="obj.id">
<span class="get_pdf" title="К отправке">pdf</span>
</div>
</div>
<div class="jw__action-button">
<div title="Пост в Вконтакте" class="action-button addVkPost" :data-id="obj.id">
<img src="/images/vk-small-logo.png">
</div>
</div>
<div v-if="!isEmpty(obj.photos)" class="jw__action-button">
<div title="Скачать фотографии" class="action-button actionJW download-photo" :data-id="obj.id">
<i class="ti-download"></i>
</div>
</div>
<div class="jw__action-button">
<div class="action-button actionJW tasks add-event" :data-id="obj.id">
Задачи
</div>
</div>
<div class="jw__action-button">
<div class="action-button actionJW addEditNote" :class="{'haveNotes': obj.notes>0}" :data-id="obj.id" title="Примечания по объекту">
<i class="ti-pencil-alt"></i>
</div>
</div>
<template v-if="obj.id_add_user == user_id">
<div v-if="parseInt(obj.archive) != 1" class="jw__action-button">
<div title="Поместить в архив" class="action-button actionJW addToArchive archiveMyObject"
:data-id="obj.id">
<i class="ti-folder"></i>
</div>
</div>
<div v-else class="jw__action-button">
<div title="Восстановить" class="action-button actionJW returnObject unArchiveMyObject"
:data-id="obj.id">
<i class="ti-back-right"></i>
</div>
</div>
</template>
<div v-if="obj.requestsCount>0" class="jw__action-button">
<a style="border-bottom: none;" target="_blank" :data-id="obj.id" class="openListReq">
<div title="Заявки по объекту" class="action-button actionJW">
{{ obj.requestsCount }}
</div>
</a>
</div>
<template v-if="obj.showAds && parseInt(obj.archive) != 1">
<div class="jw__action-button">
<div class="action-button actionJW advertisingBtn" title="Рекламировать" :data-id="obj.id" :data-archive="obj.archive">
Реклама
</div>
</div>
<div :id="'advertisings__'+obj.id" class="object-content__sub-actions actionAdv" style="display:none;">
<div class="closer"><a href="javascript:{}"><img src="/images/close_modal.svg"></a></div>
<table>
<tbody>
<tr>
<td style="padding-bottom: 10px">
<div class="jw__action-button with-check" style="width: 112px; text-align: center;">
<div class="action-button actionJW actionAdvButton addToZipalInfo" onclick="showWithReportsInfo();">
С отчетами
</div>
</div>
<div class="jw__action-button with-check" style="width: 112px; text-align: center;">
<div class="action-button actionJW actionAdvButton addToFreeAdv" :class="{'active': obj.add_to_yandex_feed > 0}"
onclick="switchCanAd(this);" :data-id="obj.id" title="">Бесплатные</div>
</div>
<div class="source-list">
<div class="source-list__button">
<i class="ti-help-alt"></i>
</div>
<div class="jw__popup source-list__popup">
<ul>
<li>Egent.ru</li>
<li>Chastnik.ru</li>
<li>QP.ru</li>
<li>Realtymag.ru</li>
<li>Rentzilla.ru</li>
<li>Kvmeter.ru</li>
<li>Rucountry.ru</li>
<li>Bestru.ru</li>
<li>Gde.ru</li>
<li>G-N.ru</li>
<li>Nedvrf.ru</li>
<li>Квартиры-домики.рф</li>
<li>baza.estate</li>
<li>Restate.ru</li>
<li>Akula.com</li>
</ul>
</div>
</div>
</td>
</tr>
<tr>
<td style="padding-bottom: 10px">
<div class="jw__action-button with-check" style="width: 112px; text-align: center;">
<div class="action-button actionJW actionAdvButton addToAvito" :class="{'active':obj.add_to_avito_feed>0}" onclick="switchCanAvitoAd(this);" :data-id="obj.id" :data-budget="is_budget" title="Необходимо наличие магазина Avito">
<img class="bBnru" src="/images/avito.svg" :data-id="obj.id">
</div>
</div>
<div class="jw__action-button with-check" style="width: 112px; text-align: center;">
<div class="action-button actionJW actionAdvButton addToCian" :class="{'active':obj.add_to_cian_feed>0}"
onclick="switchCanCianAd(this)" :data-id="obj.id" :data-budget="is_budget"
title="Необходимо наличие аккаутна на cian.ru">
<img class="bRealCian" src="/images/cian.png">
</div>
</div>
<div class="jw__action-button with-check" style="width: 112px; text-align: center;">
<div style="padding-left: 8px;" class="action-button actionJW actionAdvButton advPack"
onclick="showPackagesWindow(this)" :data-id="obj.id"
title="Рекламные пакеты">
Пакеты
</div>
</div>
</td>
</tr>
<tr>
<td>
<div class="jw__action-button with-check" style="width: 112px; text-align: center;">
<div class="action-button actionJW actionAdvButton addToDomClick" :class="{'active': obj.add_to_domclick_feed>0}" onclick="switchDomAd(this);" :data-id="obj.id" :data-budget="is_budget" title="Размещение на Домклик">
<img class="bBnru" style="top: 5px;" src="/images/domcl.jpg" :data-id="obj.id">
</div>
</div>
<div class="jw__action-button with-check" style="width: 112px; text-align: center;">
<div class="action-button actionJW actionAdvButton addToEMLS" :class="{'active': obj.add_to_emls_feed>0}" onclick="switchCanEmlsAd(this)" :data-id="obj.id" :data-budget="is_budget" title="Необходимо наличие регистрации Jcat">
<img class="bCian" src="/images/jcat.png">
</div>
</div>
<div class="jw__action-button with-check" style="width: 112px; text-align: center;">
<div class="action-button actionJW actionAdvButton addToBn" :class="{'active': obj.add_to_bn_feed>0}" onclick="switchBnAd(this);" :data-id="obj.id" :data-budget="is_budget">
<img class="bBnru" src="/images/yandex.png">
</div>
</div>
<div class="source-how" style="padding-top: 10px;">
<div class="source-how__button">
<i class="ti-info-alt" title=""></i>
</div>
<div class="jw__popup source-how__popup">
<p>Для подключения ДомКлик, Avito, Domofond, EMLS, ЦИАН и BN свяжитесь с нами по телефону +7 812 765-08-01</p>
</div>
</div>
</td>
</tr>
</tbody>
</table>
<div class="clear"></div>
</div>
<!--<div class="checkbox small">
<input name="use_in_advert" :id="'addToAdvertSwitcher__'+obj.id" onchange="advertsSwitch(this);" type="checkbox" value="1" :data-id="obj.id" :checked="obj.use_in_advert > 0">
<label :for="'addToAdvertSwitcher__'+obj.id">В рекламу</label>
</div>-->
</template>
<template>
<div class="checkbox small">
<input name="use_in_advert" :id="'addToAdvertSwitcher__'+obj.id" onchange="advertsSwitch(this);" type="checkbox" value="1" :data-id="obj.id" :checked="obj.use_in_advert > 0">
<label :for="'addToAdvertSwitcher__'+obj.id">В рекламу</label>
</div>
</template>
<div class="clear"></div>
</div>
<div class="object-content__price-user-map">
<table>
<tr>
<td class="price"><span class="n">
<span>
{{ obj.stoim_format }}<span class="rub">p</span>
<div v-if="!isEmpty(obj.objPriceHistory) || (parseInt(obj.prep_price) > 0 || parseInt(obj.start_price) > 0 || parseInt(obj.fact_price) > 0)" class="source-how">
<div class="source-how__button">
<i class="ti-info-alt" title=""></i>
</div>
<div class="jw__popup source-how__popup">
<template v-if="parseInt(obj.prep_price) > 0 || parseInt(obj.start_price) > 0 || parseInt(obj.fact_price) > 0">
<p><b>Данные оценки</b></p>
<table class="table_price_history">
<tr v-if="parseInt(obj.prep_price) > 0">
<td class="price-stats">Предварительная:</td>
<td class="price-stats">{{ obj.prep_price }}<span class="rub rub_small">p</span></td>
</tr>
<tr v-if="parseInt(obj.start_price) > 0">
<td class="price-stats">Начальная:</td>
<td class="price-stats">{{ obj.start_price }} <span class="rub rub_small">p</span></td>
</tr>
<tr v-if="parseInt(obj.fact_price) > 0">
<td class="price-stats">Фактическая:</td>
<td class="price-stats">{{ obj.fact_price }} <span class="rub rub_small">p</span></td>
</tr>
</table>
</template>
<template v-if="!isEmpty(obj.objPriceHistory)">
<p>&nbsp;</p>
<p><b>Статистика изменения цены</b></p>
<table class='table_price_history'>
<tr><th><p class='price-history'>Дата</p></th><th><p class='price-history'>Цена</p></th></tr>
<tr v-for="priceHistory in obj.objPriceHistory">
<td nowrap>
<p class="price-history">{{ priceHistory.date_change_price }}</p>
</td>
<td nowrap>
<p class="price-history">
<template v-if="obj.operation_type == 0">
<span v-if="parseInt(priceHistory.price_ku) != 0">{{ priceHistory.price }} <span class="rub rub_small">p</span>+ку({{ priceHistory.price_ku }})</span>
<span v-else>{{ priceHistory.price }} <span class="rub rub_small">p</span>+ку</span>
</template>
<template v-else>
<span>{{ priceHistory.price }}<span class="rub rub_small">p</span></span>
</template>
</p>
</td>
</tr>
</table>
</template>
</div>
</div>
<span :class="{'prim':obj.operation_type == 1}">{{ obj.stoim_prim }}</span>
</td>
<td style="font-size:15px;min-width:150px;padding-left:20px;" v-if="obj.commission > 0">
Комиссия <br>
{{ obj.commission }}%
</td>
<td class="desc_map">
<div class="jw__action-links">
<div class="action-link open_can_map" :data-id="obj.id">На карте</div>
<div class="action-link edit_opis" :data-id="obj.id">Описание</div>
<div class='hidden_opis' :id="'block_opis'+obj.id" style="height:auto;">
<div :id="'opis'+obj.id" style="width:100%;overflow-y:auto;max-height:360px;">{{ obj.opis }}</div>
<button class='fr-btn edit-btn steel save_opis' style='line-height: normal;' :data-id="obj.id">Закрыть</button>
</div>
</div>
</td>
<td v-if="obj.fbn_id>0">
<img src="/images/logo_arsp.PNG" width="50">
</td>
<td class="user">
<div style="max-height: 40px;overflow: hidden;"
:title="obj.sobstv" v-html="obj.sobstv">
</div>
</td>
<td class="phone">
{{ obj.phone }}
</td>
</tr>
</table>
</div>
</div>
<div class="clear"></div>
<div class="hide-info">
<div class="map_object popup_window"></div>
</div>
</div>
</div>
<div v-show="all_pages > 1" class="f-system_pagination"><center><ul class="pagination">
<template v-if="page==1">
<li class=active><a href='javascript:{}'>1</a></li>
</template>
<template v-else>
<li><a href="javascript:{}" @click="pagin(prevPage)" :data-page="prevPage">&laquo;</a></li>
<li><a href="javascript:{}" @click="pagin(1)" data-page="1">1</a></li>
</template>
<template v-if="all_pages > 8 && page > 4">
<li><a href="javascript:{}">...</a></li>
</template>
<template v-for="pp in pagePagin">
<li :class="{active:pp==page}"><a href="javascript:{}" @click="pagin(pp)" :data-page="pp">{{pp}}</a></li>
</template>
<template v-if="all_pages > 8 && page < all_pages - 4">
<li><a href="javascript:{}">...</a></li>
</template>
<template v-if="page == all_pages">
<li class="active"><a href="javascript:{}" @click="pagin(all_pages)" :data-page="all_pages">{{all_pages}}</a></li>
</template>
<template v-else>
<li><a href="javascript:{}" @click="pagin(all_pages)" :data-page="all_pages">{{all_pages}}</a></li>
<li><a href="javascript:{}" @click="pagin(page+1)" data-page="page+1">&raquo;</a></li>
</template>
</ul></center>
</div>
</div>
<?php
/*
echo '<div class="f-system_pagination" style="margin-top: 15px;"><ul class="pagination">';
if($all_pages > 1) {
num_of_pages($page, $all_pages, $str_url_add);
}
echo '</ul><div class="clear"></div></div>';
echo "<p style=\"font-size: 9px;float: right;padding-right: 10px;\">На портале используется дополненная и переработанная информация из системы ABC недвижимость</p>";
*/
?>
</div>
<div class="full_modal-bg hidden" v-show="show_info_object">
<span class="pseudo-link closer event-modal-closer" @click="closeInfoObject">
<i class="ti-close"></i>
</span>
<div class="full_modal flat__modal" v-show="show_info_object">
<div class="flat__inner">
<div class="flat__top">
<h2 v-html="'Объект ID: '+object_info.id"></h2>
<button class="booking JWbutton button" data-id="" data-FlatNum="" >Забронировать</button>
</div>
<div class="jw-tabs">
<ul class="tabs__caption">
<li @click="changeTab('object')" :class="{'active': tab=='object'}"><span>Объект</span></li>
<li @click="changeTab('complex')" :class="{'active': tab=='complex'}"><span>О комплексе</span></li>
</ul>
<div>
<div v-show="tab == 'object'" class="tabs__content">
<div v-if="isEmpty(object_info)" style="text-align:center; margin-top: 25px;">
<img src="../images/rocket-spinner.svg" width="96px">
</div>
<div v-else class="left flat__info">
<div class="row comission">
<div class="row-head">Название объекта</div>
<div class="row-min">
<div class="proc">{{ object_info.nazv }}</div>
</div>
</div>
<div class="row">
<div class="NB__label">Корпус</div>
<div class="NB__value">{{ object_info.korpus }}</div>
</div>
<div class="row">
<div class="NB__label">Этаж</div>
<div class="NB__value">{{ object_info.etazh }}</div>
</div>
<div class="row">
<div class="NB__label">Отделка</div>
<div class="NB__value">{{ complex.decoration }}</div>
</div>
<div class="row">
<div class="NB__label">Высота потолков</div>
<div class="NB__value">{{ complex.ceiling_height }}</div>
</div>
<div class="row">
<div class="row-head">Площадь</div>
<div class="row-min">
<div class="NB__label">общая</div>
<div class="NB__value">{{ object_info.ploshad }}</div>
</div>
<div class="row-min">
<div class="NB__label">комнат</div>
<div class="NB__value">{{ object_info.ploshad_komn }}</div>
</div>
<div class="row-min">
<div class="NB__label">кухни</div>
<div class="NB__value">{{ object_info.ploshad_k }}</div>
</div>
</div>
<div class="row">
<div class="row-head">Оплата</div>
<div class="row-min">
<div class="NB__label">при 100% опл.</div>
<div class="NB__value">{{ object_info.price }} <span class="rub">p</span></div>
</div>
</div>
</div>
<div class="right flat__images">
<div v-if="!isEmpty(object_info.plan)" class="flat__image">
<img :src="object_info.plan" alt="Планировка объекта">
</div>
<div v-else-if="!isEmpty(object_info.photos)" class="flat__image">
<img :src="object_info.photos[0]" alt="Планировка объекта">
</div>
</div>
<div class="clear"></div>
</div>
<div v-show="tab == 'complex'" class="tabs__content">
<div v-if="!isEmpty(object_info)" class="left">
<div class="row">
<div class="NB__label">Адрес</div>
<div
class="NB__value address">{{ complex.address.address }}
</div>
</div>
<div class="row">
<div class="NB__label">Метро</div>
<div class="NB__value">
{{ complex.metro.metro}}
&nbsp;
<span v-if="complex.subway_distance == 1" class="time">{{ complex.subway_time }} минут пешком</span>
<span v-else class="time">{{ complex.subway_time }} минут на транспорте</span>
</div>
</div>
<div class="row">
<div class="NB__label">№ дома</div>
<div class="NB__value">{{ complex.address.dom }}</div>
</div>
<div class="row">
<div class="NB__label">Корпус - срок сдачи</div>
<div class="NB__value">
<div v-for="corpus in complex.corpuses" class="rules">
<span>Очередь {{ corpus.line }}.&nbsp;</span>
<span>Корпус {{ corpus.corpus }}</span>
<span>&nbsp;-&nbsp;{{ corpus.deadline }}</span>
</div>
</div>
</div>
<div class="row">
<div class="NB__label">Этажей</div>
<div class="NB__value">{{ complex.last_floor }}</div>
</div>
<div class="row">
<div class="NB__label">Застройщик</div>
<div class="NB__value">{{ complex.builder.name }}</div>
</div>
<div class="row">
<div class="NB__label">Тип оплаты</div>
<template v-if="!isEmpty(complex.payment_types)">
<div v-for="pay in JSON.parse(complex.payment_types)" class="NB__value">{{ paymentTypes2[pay] }}</div>
</template>
<template v-else>
<div class="NB__value">-</div>
</template>
</div>
<div class="row">
<div class="NB__label">Тип договора</div>
<div class="NB__value">{{ complex.contract_type }}</div>
</div>
<div class="row">
<div class="NB__label">Число квартир</div>
<div class="NB__value">{{ complex.builder.name }}</div>
</div>
<div class="row">
<div class="NB__label">Высота потолков</div>
<div class="NB__value">{{ complex.ceiling_height }}</div>
</div>
<div class="row">
<div class="NB__label">Отделка</div>
<div class="NB__value">{{ complex.decoration }}</div>
</div>
<div class="row">
<div class="NB__label">Число квартир</div>
<div class="NB__value">{{ complex.number_apartments }}</div>
</div>
<div class="row">
<div class="NB__label">Тип дома</div>
<div class="NB__value">{{ complex.house_type_name }}</div>
</div>
<div class="row">
<div class="NB__label">Материал дома</div>
<div class="NB__value">{{ complex.house_material_name }}</div>
</div>
<div v-if="complex.parking > 0" class="row">
<div class="NB__label">Паркинг</div>
<div class="NB__value">Да</div>
</div>
<div v-if="complex.closed_area > 0" class="row">
<div class="NB__label">Закрытая территория</div>
<div class="NB__value">Да</div>
</div>
<div v-if="complex.protected_area > 0" class="row">
<div class="NB__label">Охраняемая территория</div>
<div class="NB__value">Да</div>
</div>
<div v-if="complex.concierge > 0" class="row">
<div class="NB__label">Консьерж</div>
<div class="NB__value">Да</div>
</div>
<div v-if="!isEmpty(complex.infrastructure)" class="row">
<div class="NB__label">Инфраструктура</div>
<div style="color:rgb(67, 160, 71);" class="NB__value">
<span v-if="complex.infrastructure.school" title="Школа"><i class="fa-solid fa-school"></i></span>
<span v-if="complex.infrastructure.kindergarten" title="Детский сад"><i class="fa-solid fa-children"></i></span>
<span v-if="complex.infrastructure.playgrounds" title="Детские площадки"><i class="fa-solid fa-baby-carriage"></i></span>
<span v-if="complex.infrastructure.sportsgrounds" title="Спортивные площадки"><i class="fa-solid fa-basketball"></i></span>
<span v-if="complex.infrastructure.cafes" title="Кафе/рестораны"><i class="fa-solid fa-burger"></i></span>
<span v-if="complex.infrastructure.shops" title="Магазины"><i class="fa-solid fa-shop"></i></span>
<span v-if="complex.infrastructure.beautysalons" title="Салоны красоты"><i class="fa-solid fa-house-user"></i></span>
<span v-if="complex.infrastructure.fitnessclub" title="Фитнес-клуб"><i class="fa-solid fa-dumbbell"></i></span>
<span v-if="complex.infrastructure.park" title="Парк"><i class="fa-solid fa-tree"></i></span>
<span v-if="complex.infrastructure.trc" title="ТРЦ"><i class="fa-solid fa-icons"></i></span>
<span v-if="complex.infrastructure.commercialobjects" title="Коммерческие объекты"><i class="fa-solid fa-building-user"></i></span>
</div>
</div>
</div>
<div class="right">
<div class="NB__images">
<div class="fotorama" data-fit="cover" data-nav="false" data-allowfullscreen="true" data-height="350px" data-width="100%">
<img v-for="image in complex.images" :src="image.image">
</div>
</div>
<div class="NB__description">
</div>
<div class="NB__map">
<div id="map_canvas_complex" style="width: 100%; height: 350px;"></div>
</div>
</div>
<div class="clear"></div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<?php require($_SERVER['DOCUMENT_ROOT']."/templates/footer.php"); ?>
<script type="text/javascript" src="/js/vue_scripts/complex_objects_page_vue.js?<?=filemtime($_SERVER['DOCUMENT_ROOT'].'/js/vue_scripts/complex_objects_page_vue.js')?>"></script>