1292 lines
46 KiB
JavaScript
1292 lines
46 KiB
JavaScript
|
|
Vue.config.devtools = true;
|
|||
|
|
var complexform = new Vue({
|
|||
|
|
el: '#complex_form',
|
|||
|
|
components: {
|
|||
|
|
vuejsDatepicker: window.vuejsDatepicker
|
|||
|
|
},
|
|||
|
|
data() {
|
|||
|
|
|
|||
|
|
return {
|
|||
|
|
ru: vdp_translation_ru.js,
|
|||
|
|
is_show: false,
|
|||
|
|
is_show_result: false,
|
|||
|
|
errorMes: false,
|
|||
|
|
errorText: '',
|
|||
|
|
id: 0,
|
|||
|
|
errors: { 'name': false, 'addres': false },
|
|||
|
|
OpenIndicator: {
|
|||
|
|
render: createElement => createElement('span', { class: { 'vueToggleSpan': true } }),
|
|||
|
|
},
|
|||
|
|
types_complex: [{ 'code': 0, 'name': '' }],
|
|||
|
|
number: null,
|
|||
|
|
regions: [{ 'code': 0, 'name': '' }],
|
|||
|
|
region_id: 0,
|
|||
|
|
region_id_user: 0,
|
|||
|
|
regions_list: [],
|
|||
|
|
country: [],
|
|||
|
|
country_list: [],
|
|||
|
|
house_types: [],
|
|||
|
|
house_material: [],
|
|||
|
|
kladr_ids: null,
|
|||
|
|
region_kladr: null,
|
|||
|
|
region_label: null,
|
|||
|
|
complex: {
|
|||
|
|
id: 0,
|
|||
|
|
type: 'complex',
|
|||
|
|
name: '',
|
|||
|
|
address: [],
|
|||
|
|
address_line: '',
|
|||
|
|
rf_region_id: '',
|
|||
|
|
country_id: 171,
|
|||
|
|
rf_region_rayon: '',
|
|||
|
|
rayon_id: '',
|
|||
|
|
city: '',
|
|||
|
|
street: '',
|
|||
|
|
korpus: '',
|
|||
|
|
dom: '',
|
|||
|
|
litera: '',
|
|||
|
|
kladr_id: '',
|
|||
|
|
region_kladr_id: '',
|
|||
|
|
latitude: '',
|
|||
|
|
longitude: '',
|
|||
|
|
lines: [],
|
|||
|
|
deadline: [],
|
|||
|
|
builder_id: null,
|
|||
|
|
images: [],
|
|||
|
|
payment_types: [],
|
|||
|
|
contract_type: '',
|
|||
|
|
housing_class_id: null,
|
|||
|
|
first_floor: '',
|
|||
|
|
last_floor: '',
|
|||
|
|
number_apartments: '',
|
|||
|
|
ceiling_height: '',
|
|||
|
|
decoration_id: null,
|
|||
|
|
parking: 0,
|
|||
|
|
closed_area: 0,
|
|||
|
|
protected_area: 0,
|
|||
|
|
concierge: 0,
|
|||
|
|
house_type: null,
|
|||
|
|
house_material: null,
|
|||
|
|
infrastructure: {
|
|||
|
|
'school': 0,
|
|||
|
|
'kindergarten': 0,
|
|||
|
|
'playgrounds': 0,
|
|||
|
|
'sportsgrounds': 0,
|
|||
|
|
'cafes': 0,
|
|||
|
|
'shops': 0,
|
|||
|
|
'beautysalons': 0,
|
|||
|
|
'fitnessclub': 0,
|
|||
|
|
'park': 0,
|
|||
|
|
'trc': 0,
|
|||
|
|
'commercialobjects': 0,
|
|||
|
|
},
|
|||
|
|
metros: [{
|
|||
|
|
'id': null,
|
|||
|
|
'subway_time': '',
|
|||
|
|
'subway_type': null,
|
|||
|
|
'metro_id' : ''
|
|||
|
|
}],
|
|||
|
|
dop: {
|
|||
|
|
domclick_id: null,
|
|||
|
|
title_desc: '',
|
|||
|
|
text_desc: '',
|
|||
|
|
title_desc_dop: '',
|
|||
|
|
text_desc_dop: '',
|
|||
|
|
url_video: '',
|
|||
|
|
type_video: null,
|
|||
|
|
UTP: [],
|
|||
|
|
UTP2: [],
|
|||
|
|
phone_op: '',
|
|||
|
|
phone_mobil_op: '',
|
|||
|
|
address_op: '',
|
|||
|
|
latitude_op: '',
|
|||
|
|
longitude_op: '',
|
|||
|
|
timezone_op: '',
|
|||
|
|
workdays_op: null,
|
|||
|
|
opentime_op: '',
|
|||
|
|
closetime_op: ''
|
|||
|
|
},
|
|||
|
|
actions: [],
|
|||
|
|
},
|
|||
|
|
metro_list: [],
|
|||
|
|
block_list: [],
|
|||
|
|
time_to_subway: [{ 'code': 1, 'name': 'пешком' }, { 'code': 2, 'name': 'на транспорте' }],
|
|||
|
|
check_blocks: false,
|
|||
|
|
block_id: 0,
|
|||
|
|
isInput: false,
|
|||
|
|
date_deadline: new Date(),
|
|||
|
|
format: "dd.MM.yyyy",
|
|||
|
|
mondayfirst: true,
|
|||
|
|
defaultDate: new Date(),
|
|||
|
|
mes_error_corpus: false,
|
|||
|
|
newCorpusName: '',
|
|||
|
|
newLineName: '',
|
|||
|
|
builders: [],
|
|||
|
|
builder_list: [],
|
|||
|
|
isInputBuilder: false,
|
|||
|
|
newBuilderName: '',
|
|||
|
|
newBuilderPhone: '',
|
|||
|
|
newBuilderLink: '',
|
|||
|
|
mes_error_builder: false,
|
|||
|
|
is_show_foto: false,
|
|||
|
|
images: [],
|
|||
|
|
swiper: null,
|
|||
|
|
swiper2: null,
|
|||
|
|
selectedFiles: [],
|
|||
|
|
progressUoload: [],
|
|||
|
|
classTypesFile: {
|
|||
|
|
'img': 'far fa-file-image',
|
|||
|
|
'png': 'far fa-file-image'
|
|||
|
|
},
|
|||
|
|
|
|||
|
|
isSelect: 0,
|
|||
|
|
paymentTypes: [],
|
|||
|
|
housingClass: [],
|
|||
|
|
decorations: [],
|
|||
|
|
types_video: [{ 'code': 'youtube', 'name': 'Youtube' }, { 'code': 'realtime', 'name': 'Realtime' }],
|
|||
|
|
isInputUTP: false,
|
|||
|
|
titleUTP: '',
|
|||
|
|
descUTP: '',
|
|||
|
|
imagesUTP: [],
|
|||
|
|
isInputUTP2: false,
|
|||
|
|
titleUTP2: '',
|
|||
|
|
descUTP2: '',
|
|||
|
|
imagesUTP2: [],
|
|||
|
|
status_corpus: [
|
|||
|
|
{ 'code': 1, 'name': 'Построен, но не сдан' },
|
|||
|
|
{ 'code': 2, 'name': 'Cдан в эксплуатацию' },
|
|||
|
|
{ 'code': 3, 'name': 'Cтроится' },
|
|||
|
|
{ 'code': 4, 'name': 'Построен и сдан' },
|
|||
|
|
],
|
|||
|
|
corpus_id: null,
|
|||
|
|
corpus_floors: null,
|
|||
|
|
corpus_floors_ready: null,
|
|||
|
|
corpus_fz_214: 0,
|
|||
|
|
corpus_status: null,
|
|||
|
|
workdays: ['Понедельник', 'Вторник', 'Среда', 'Четверг', 'Пятница', 'Суббота', 'Воскресенье'],
|
|||
|
|
}
|
|||
|
|
},
|
|||
|
|
methods: {
|
|||
|
|
|
|||
|
|
//Открытие
|
|||
|
|
open() {
|
|||
|
|
this.getBlocks();
|
|||
|
|
this.get_builders();
|
|||
|
|
this.getRegions();
|
|||
|
|
this.getCountry();
|
|||
|
|
this.getHouseTypes();
|
|||
|
|
this.getHouseMaterial();
|
|||
|
|
this.is_show = true;
|
|||
|
|
$('#complex_form .main-photo .photos').html('<input type=\"file\" name=\"photoComplex\" data-fileuploader-files=\"\" data-fileuploader-limit=\"40\" accept=\"image/jpg,image/jpeg,image/png\" multiple=\"\">');
|
|||
|
|
|
|||
|
|
fileUploaderSettingsComplex();
|
|||
|
|
$("body").addClass("lock");
|
|||
|
|
$('.jw__add-popup').removeClass('is__show');
|
|||
|
|
//this.get_photos_actions();
|
|||
|
|
},
|
|||
|
|
|
|||
|
|
//Список типов комплекосов
|
|||
|
|
getTypesComplex() {
|
|||
|
|
axios.post('/ajax/vue_ajax/complex_axios.php', {
|
|||
|
|
request: 'get_types_complex',
|
|||
|
|
|
|||
|
|
}, )
|
|||
|
|
.then((response) => {
|
|||
|
|
|
|||
|
|
var res = response.data;
|
|||
|
|
this.types_complex = res;
|
|||
|
|
})
|
|||
|
|
.catch(function(error) {
|
|||
|
|
console.log(error);
|
|||
|
|
});
|
|||
|
|
},
|
|||
|
|
|
|||
|
|
//Типы оплат
|
|||
|
|
getPaymentTypes() {
|
|||
|
|
axios.post('/ajax/vue_ajax/complex_axios.php', {
|
|||
|
|
request: 'get_payment_types',
|
|||
|
|
|
|||
|
|
}, )
|
|||
|
|
.then((response) => {
|
|||
|
|
|
|||
|
|
var res = response.data;
|
|||
|
|
this.paymentTypes = res;
|
|||
|
|
})
|
|||
|
|
.catch(function(error) {
|
|||
|
|
console.log(error);
|
|||
|
|
});
|
|||
|
|
},
|
|||
|
|
|
|||
|
|
//Класс жилья
|
|||
|
|
|
|||
|
|
getHousingClass() {
|
|||
|
|
axios.post('/ajax/vue_ajax/complex_axios.php', {
|
|||
|
|
request: 'get_housing_class',
|
|||
|
|
|
|||
|
|
}, )
|
|||
|
|
.then((response) => {
|
|||
|
|
|
|||
|
|
var res = response.data;
|
|||
|
|
this.housingClass = res;
|
|||
|
|
})
|
|||
|
|
.catch(function(error) {
|
|||
|
|
console.log(error);
|
|||
|
|
});
|
|||
|
|
},
|
|||
|
|
|
|||
|
|
//Тип дома
|
|||
|
|
getHouseTypes() {
|
|||
|
|
axios.post('/ajax/vue_ajax/complex_axios.php', {
|
|||
|
|
request: 'get_house_types',
|
|||
|
|
|
|||
|
|
}, )
|
|||
|
|
.then((response) => {
|
|||
|
|
|
|||
|
|
var res = response.data;
|
|||
|
|
this.house_types = res;
|
|||
|
|
})
|
|||
|
|
.catch(function(error) {
|
|||
|
|
console.log(error);
|
|||
|
|
});
|
|||
|
|
},
|
|||
|
|
|
|||
|
|
//Материал дома
|
|||
|
|
getHouseMaterial() {
|
|||
|
|
axios.post('/ajax/vue_ajax/complex_axios.php', {
|
|||
|
|
request: 'get_house_material',
|
|||
|
|
|
|||
|
|
}, )
|
|||
|
|
.then((response) => {
|
|||
|
|
|
|||
|
|
var res = response.data;
|
|||
|
|
this.house_material = res;
|
|||
|
|
})
|
|||
|
|
.catch(function(error) {
|
|||
|
|
console.log(error);
|
|||
|
|
});
|
|||
|
|
},
|
|||
|
|
|
|||
|
|
//Отделка
|
|||
|
|
getDecorations() {
|
|||
|
|
axios.post('/ajax/vue_ajax/complex_axios.php', {
|
|||
|
|
request: 'get_decorations',
|
|||
|
|
|
|||
|
|
}, )
|
|||
|
|
.then((response) => {
|
|||
|
|
|
|||
|
|
var res = response.data;
|
|||
|
|
this.decorations = res;
|
|||
|
|
})
|
|||
|
|
.catch(function(error) {
|
|||
|
|
console.log(error);
|
|||
|
|
});
|
|||
|
|
},
|
|||
|
|
|
|||
|
|
//Список регионов
|
|||
|
|
getRegions() {
|
|||
|
|
axios.post('/ajax/vue_ajax/complex_axios.php', {
|
|||
|
|
request: 'get_rf_regions',
|
|||
|
|
|
|||
|
|
}, )
|
|||
|
|
.then((response) => {
|
|||
|
|
console.log(response.data);
|
|||
|
|
var res = response.data;
|
|||
|
|
this.region_id = parseInt(res.region_id_user);
|
|||
|
|
this.region_id_user = parseInt(res.region_id_user);
|
|||
|
|
this.regions = res.regions;
|
|||
|
|
this.regions_list = res.regions_list;
|
|||
|
|
this.changeRegion();
|
|||
|
|
|
|||
|
|
|
|||
|
|
})
|
|||
|
|
.catch(function(error) {
|
|||
|
|
console.log(error);
|
|||
|
|
});
|
|||
|
|
},
|
|||
|
|
|
|||
|
|
//Список стран
|
|||
|
|
getCountry() {
|
|||
|
|
axios.post('/ajax/vue_ajax/complex_axios.php', {
|
|||
|
|
request: 'get_country',
|
|||
|
|
|
|||
|
|
}, )
|
|||
|
|
.then((response) => {
|
|||
|
|
// console.log(response.data);
|
|||
|
|
var res = response.data;
|
|||
|
|
|
|||
|
|
this.country = res.country;
|
|||
|
|
this.country_list = res.country_list;
|
|||
|
|
|
|||
|
|
})
|
|||
|
|
.catch(function(error) {
|
|||
|
|
console.log(error);
|
|||
|
|
});
|
|||
|
|
},
|
|||
|
|
|
|||
|
|
//Выбор региона
|
|||
|
|
changeRegion() {
|
|||
|
|
this.complex.rf_region_id = this.region_id;
|
|||
|
|
this.region_kladr = this.regions_list[this.region_id].kladr;
|
|||
|
|
this.region_label = this.regions_list[this.region_id].label;
|
|||
|
|
this.kladr_ids = this.getConstraints();
|
|||
|
|
this.getMetro();
|
|||
|
|
daDataInitComplex(this.kladr_ids);
|
|||
|
|
if (typeof setCenterComplex == 'function') {
|
|||
|
|
setCenterComplex();
|
|||
|
|
}
|
|||
|
|
},
|
|||
|
|
|
|||
|
|
//Выбор страны
|
|||
|
|
changeCountry() {
|
|||
|
|
if (this.complex.country_id != 171) {
|
|||
|
|
this.region_id = 0;
|
|||
|
|
daDataInitComplex([], this.country_list[this.complex.country_id].alpha2);
|
|||
|
|
setCenterComplex();
|
|||
|
|
} else {
|
|||
|
|
this.region_id = this.region_id_user;
|
|||
|
|
this.changeRegion();
|
|||
|
|
}
|
|||
|
|
},
|
|||
|
|
|
|||
|
|
join(arr /*, separator */ ) {
|
|||
|
|
var separator = arguments.length > 1 ? arguments[1] : ", ";
|
|||
|
|
return arr.filter(function(n) {
|
|||
|
|
return n
|
|||
|
|
}).join(separator);
|
|||
|
|
},
|
|||
|
|
|
|||
|
|
|
|||
|
|
processAddress(address) {
|
|||
|
|
|
|||
|
|
console.log(address);
|
|||
|
|
|
|||
|
|
//let form = $('.adres2 .more-block');
|
|||
|
|
|
|||
|
|
if (address.area_type_full == "район")
|
|||
|
|
|
|||
|
|
this.complex.rf_region_rayon = this.join([address.area, address.area_type], " ")
|
|||
|
|
|
|||
|
|
else
|
|||
|
|
|
|||
|
|
this.complex.rf_region_rayon = address.area;
|
|||
|
|
|
|||
|
|
|
|||
|
|
if (address.city_district)
|
|||
|
|
this.complex.rayon_id = address.city_district;
|
|||
|
|
else if (address.settlement && (!address.area && address.city))
|
|||
|
|
this.complex.rayon_id = this.join([address.settlement_type, address.settlement], " ");
|
|||
|
|
|
|||
|
|
if (address.settlement_type_full == "микрорайон")
|
|||
|
|
this.complex.rayon_id = this.join([address.settlement_type, address.settlement], " ");
|
|||
|
|
|
|||
|
|
if (address.city === address.region && address.settlement) {
|
|||
|
|
this.complex.rayon_id = this.join([address.settlement_type, address.settlement], " ");
|
|||
|
|
} else {
|
|||
|
|
if (address.city)
|
|||
|
|
this.complex.city = address.city
|
|||
|
|
else
|
|||
|
|
this.complex.city = this.join([address.settlement_type, address.settlement], " ");
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
if (address.street_type_full == "шоссе" || address.street_type_full == "проезд" || address.street_type_full == "переулок")
|
|||
|
|
this.complex.street = this.join([address.street, address.street_type], " ")
|
|||
|
|
|
|||
|
|
else
|
|||
|
|
this.complex.street = this.join([address.street_type, address.street], " ")
|
|||
|
|
|
|||
|
|
|
|||
|
|
if (address.house)
|
|||
|
|
this.complex.dom = address.house;
|
|||
|
|
else
|
|||
|
|
this.complex.dom = '';
|
|||
|
|
|
|||
|
|
if (address.block_type_full == "корпус")
|
|||
|
|
this.complex.korpus = address.block;
|
|||
|
|
else
|
|||
|
|
this.complex.korpus = '';
|
|||
|
|
|
|||
|
|
if (address.block_type_full == "литер" || address.block_type_full == "литера")
|
|||
|
|
this.complex.litera = address.block;
|
|||
|
|
else {
|
|||
|
|
this.complex.litera = '';
|
|||
|
|
|
|||
|
|
if (address.block_type_full == "строение")
|
|||
|
|
this.complex.litera = address.block;
|
|||
|
|
else
|
|||
|
|
this.complex.litera = '';
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
/*let region;
|
|||
|
|
if (address.region)
|
|||
|
|
region = address.region;
|
|||
|
|
else if (address.city)
|
|||
|
|
region = address.city;
|
|||
|
|
|
|||
|
|
if (region) {
|
|||
|
|
if (region === 'Омская') {
|
|||
|
|
$('select[name="id_rf_region"] option[data-label="омская область"]').prop('selected', true);
|
|||
|
|
} else {
|
|||
|
|
$('select[name="id_rf_region"] option[data-label*="' + region.toLowerCase() + '"]').prop('selected', true);
|
|||
|
|
}
|
|||
|
|
} else {
|
|||
|
|
$('select[name="id_rf_region"]').prop('selectedIndex', 0);
|
|||
|
|
}*/
|
|||
|
|
|
|||
|
|
this.complex.kladr_id = address.city_kladr_id;
|
|||
|
|
this.complex.region_kladr_id = address.region_kladr_id;
|
|||
|
|
|
|||
|
|
let geo_lat = address.geo_lat;
|
|||
|
|
if (typeof geo_lat !== "undefined" && geo_lat) {
|
|||
|
|
this.complex.latitude = geo_lat.replace(/[^\.\d]/g, '');
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
let geo_lon = address.geo_lon;
|
|||
|
|
if (typeof geo_lon !== "undefined" && geo_lon) {
|
|||
|
|
this.complex.longitude = geo_lon.replace(/[^\.\d]/g, '');
|
|||
|
|
}
|
|||
|
|
this.complex.address_line = $('#address_complex').val();
|
|||
|
|
},
|
|||
|
|
|
|||
|
|
|
|||
|
|
|
|||
|
|
// возвращает ограничение по КЛАДР региона для DaData
|
|||
|
|
getConstraints() {
|
|||
|
|
|
|||
|
|
let ids = new Array();
|
|||
|
|
if (this.region_kladr == 0 && this.region_label == 'москва и московская область') {
|
|||
|
|
ids.push({
|
|||
|
|
locations: {
|
|||
|
|
kladr_id: "7700000000000"
|
|||
|
|
},
|
|||
|
|
});
|
|||
|
|
ids.push({
|
|||
|
|
locations: {
|
|||
|
|
kladr_id: "5000000000000"
|
|||
|
|
},
|
|||
|
|
});
|
|||
|
|
} else if (this.region_kladr == 0 && this.region_label == 'санкт-петербург и ленинградская обл') {
|
|||
|
|
ids.push({
|
|||
|
|
locations: {
|
|||
|
|
kladr_id: "7800000000000"
|
|||
|
|
},
|
|||
|
|
});
|
|||
|
|
ids.push({
|
|||
|
|
locations: {
|
|||
|
|
kladr_id: "4700000000000"
|
|||
|
|
},
|
|||
|
|
});
|
|||
|
|
} else if (this.region_kladr == 0 && this.region_label == 'крым и севастополь') {
|
|||
|
|
ids.push({
|
|||
|
|
locations: {
|
|||
|
|
kladr_id: "9100000000000"
|
|||
|
|
},
|
|||
|
|
});
|
|||
|
|
ids.push({
|
|||
|
|
locations: {
|
|||
|
|
kladr_id: "9200000000000"
|
|||
|
|
},
|
|||
|
|
});
|
|||
|
|
} else {
|
|||
|
|
ids.push({
|
|||
|
|
locations: {
|
|||
|
|
kladr_id: this.region_kladr.toString()
|
|||
|
|
},
|
|||
|
|
});
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
return ids;
|
|||
|
|
},
|
|||
|
|
|
|||
|
|
//Метро
|
|||
|
|
changeMetro() {
|
|||
|
|
|
|||
|
|
},
|
|||
|
|
|
|||
|
|
getMetro() {
|
|||
|
|
return axios.post('/ajax/vue_ajax/complex_axios.php', {
|
|||
|
|
request: 'get_metro',
|
|||
|
|
region_id: this.region_id,
|
|||
|
|
}, )
|
|||
|
|
.then((response) => {
|
|||
|
|
|
|||
|
|
this.metro_list = response.data;
|
|||
|
|
|
|||
|
|
})
|
|||
|
|
.catch(function(error) {
|
|||
|
|
console.log(error);
|
|||
|
|
});
|
|||
|
|
},
|
|||
|
|
|
|||
|
|
//ЖК Новостройки
|
|||
|
|
getBlocks() {
|
|||
|
|
if (this.isEmpty(this.block_list) || this.isEmpty(this.blocks)) {
|
|||
|
|
axios.post('/ajax/vue_ajax/complex_axios.php', {
|
|||
|
|
request: 'get_blocks',
|
|||
|
|
}, )
|
|||
|
|
.then((response) => {
|
|||
|
|
var res = response.data;
|
|||
|
|
console.log(res);
|
|||
|
|
this.block_list = res.block_list;
|
|||
|
|
this.blocks = res.blocks;
|
|||
|
|
|
|||
|
|
})
|
|||
|
|
.catch(function(error) {
|
|||
|
|
console.log(error);
|
|||
|
|
});
|
|||
|
|
}
|
|||
|
|
},
|
|||
|
|
|
|||
|
|
checkBlocks() {
|
|||
|
|
this.errors.name = false;
|
|||
|
|
if (this.block_id > 0) {
|
|||
|
|
|
|||
|
|
this.complex.lines = this.blocks[this.block_id].lines;
|
|||
|
|
this.complex.lines = this.blocks[this.block_id].lines;
|
|||
|
|
this.complex.builder_id = this.blocks[this.block_id].builder_id;
|
|||
|
|
this.complex.name = this.blocks[this.block_id].name;
|
|||
|
|
} else {
|
|||
|
|
this.complex.lines = [];
|
|||
|
|
this.complex.builder_id = null;
|
|||
|
|
this.complex.name = '';
|
|||
|
|
}
|
|||
|
|
this.getPhoto();
|
|||
|
|
},
|
|||
|
|
|
|||
|
|
changeBlock() {
|
|||
|
|
this.complex.lines = [];
|
|||
|
|
this.complex.name = '';
|
|||
|
|
this.block_id = 0;
|
|||
|
|
this.complex.images = [];
|
|||
|
|
},
|
|||
|
|
|
|||
|
|
//Список фото
|
|||
|
|
getPhoto() {
|
|||
|
|
if (this.block_id > 0) {
|
|||
|
|
axios.post('/ajax/vue_ajax/complex_axios.php', {
|
|||
|
|
request: 'get_photos',
|
|||
|
|
block_id: this.block_id,
|
|||
|
|
}, )
|
|||
|
|
.then((response) => {
|
|||
|
|
var res = response.data;
|
|||
|
|
//console.log(res);
|
|||
|
|
$('#complex_form .main-photo .photos').html('<input type=\"file\" name=\"photoComplex\" data-fileuploader-files=\"\" data-fileuploader-limit=\"40\" accept=\"image/jpg,image/jpeg,image/png\" multiple=\"\">');
|
|||
|
|
|
|||
|
|
if (!this.isEmpty(res)) {
|
|||
|
|
$('input[name="photoComplex"]').attr("data-fileuploader-files", JSON.stringify(res));
|
|||
|
|
}
|
|||
|
|
fileUploaderSettingsComplex();
|
|||
|
|
|
|||
|
|
})
|
|||
|
|
.catch(function(error) {
|
|||
|
|
console.log(error);
|
|||
|
|
});
|
|||
|
|
} else {
|
|||
|
|
//this.complex.images = [];
|
|||
|
|
$('#complex_form .main-photo .photos').html('<input type=\"file\" name=\"photoComplex\" data-fileuploader-files=\"\" data-fileuploader-limit=\"40\" accept=\"image/jpg,image/jpeg,image/png\" multiple=\"\">');
|
|||
|
|
|
|||
|
|
fileUploaderSettingsComplex();
|
|||
|
|
}
|
|||
|
|
},
|
|||
|
|
|
|||
|
|
|
|||
|
|
//Редактирование очереди
|
|||
|
|
editLineSave(idLine) {
|
|||
|
|
this.lineClose(idLine);
|
|||
|
|
},
|
|||
|
|
|
|||
|
|
lineClose(idLine) {
|
|||
|
|
$('.ui-tooltip').remove();
|
|||
|
|
this.complex.lines[idLine].isEdit = false;
|
|||
|
|
this.complex.lines[idLine].isDiv = true;
|
|||
|
|
},
|
|||
|
|
|
|||
|
|
editLine(idLine) {
|
|||
|
|
|
|||
|
|
$('.ui-tooltip').remove();
|
|||
|
|
|
|||
|
|
this.complex.lines[idLine].isEdit = true;
|
|||
|
|
this.complex.lines[idLine].isDiv = false;
|
|||
|
|
},
|
|||
|
|
|
|||
|
|
//Редактирование корпуса
|
|||
|
|
editCorpus(idLine, idCorpus) {
|
|||
|
|
$('.ui-tooltip').remove();
|
|||
|
|
//console.log(this.complex.lines[idLine].corpuses[idCorpus]);
|
|||
|
|
this.complex.lines[idLine].corpuses[idCorpus].isEdit = true;
|
|||
|
|
this.complex.lines[idLine].corpuses[idCorpus].isDiv = false;
|
|||
|
|
this.complex.lines[idLine].corpuses[idCorpus].date = this.get_date(this.complex.lines[idLine].corpuses[idCorpus].deadline);
|
|||
|
|
},
|
|||
|
|
|
|||
|
|
corpusClose(idLine, idCorpus) {
|
|||
|
|
this.complex.lines[idLine].corpuses[idCorpus].isEdit = false;
|
|||
|
|
this.complex.lines[idLine].corpuses[idCorpus].isDiv = true;
|
|||
|
|
$('.ui-tooltip').remove();
|
|||
|
|
},
|
|||
|
|
|
|||
|
|
inputClose(idLine) {
|
|||
|
|
this.complex.lines[idLine].isInput = false;
|
|||
|
|
this.defaultDate = new Date();
|
|||
|
|
this.newCorpusName = '';
|
|||
|
|
$('.ui-tooltip').remove();
|
|||
|
|
},
|
|||
|
|
|
|||
|
|
inputLineClose() {
|
|||
|
|
this.isInput = false;
|
|||
|
|
this.newLineName = '';
|
|||
|
|
$('.ui-tooltip').remove();
|
|||
|
|
},
|
|||
|
|
|
|||
|
|
//Добавить очередь
|
|||
|
|
addLine() {
|
|||
|
|
if (this.isEmpty(this.newLineName)) {
|
|||
|
|
this.mes_error_corpus = true;
|
|||
|
|
} else {
|
|||
|
|
var res = { name: this.newLineName, isDiv: true, isEdit: false, corpuses: [], isInput: false, del: 0 }
|
|||
|
|
if (this.isEmpty(this.complex.lines)) {
|
|||
|
|
this.complex.lines = {};
|
|||
|
|
}
|
|||
|
|
complexform.$set(complexform.complex.lines, parseInt(this.newLineName), res);
|
|||
|
|
this.inputLineClose();
|
|||
|
|
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
},
|
|||
|
|
|
|||
|
|
//Открыть добавление корпуса
|
|||
|
|
openCorpusIsInput(idLine) {
|
|||
|
|
this.defaultDate = new Date();
|
|||
|
|
this.newCorpusName = '';
|
|||
|
|
this.corpus_id = null;
|
|||
|
|
this.corpus_floors = null;
|
|||
|
|
this.corpus_floors_ready = null;
|
|||
|
|
this.corpus_fz_214 = 0;
|
|||
|
|
this.corpus_status = null;
|
|||
|
|
for (var idL in this.complex.lines) {
|
|||
|
|
this.complex.lines[idL].isInput = false;
|
|||
|
|
}
|
|||
|
|
this.complex.lines[idLine].isInput = true;
|
|||
|
|
$('.ui-tooltip').remove();
|
|||
|
|
|
|||
|
|
},
|
|||
|
|
|
|||
|
|
|
|||
|
|
//Добавить корпус
|
|||
|
|
addCorpus(idLine) {
|
|||
|
|
if (this.isEmpty(this.newCorpusName)) {
|
|||
|
|
this.mes_error_corpus = true;
|
|||
|
|
} else {
|
|||
|
|
|
|||
|
|
axios.post('/ajax/vue_ajax/complex_axios.php', {
|
|||
|
|
request: 'convert_corpus',
|
|||
|
|
deadline: this.defaultDate,
|
|||
|
|
corpus: this.newCorpusName,
|
|||
|
|
corpus_id: this.corpus_id,
|
|||
|
|
corpus_floors: this.corpus_floors,
|
|||
|
|
corpus_floors_ready: this.corpus_floors_ready,
|
|||
|
|
corpus_fz_214: this.corpus_fz_214,
|
|||
|
|
corpus_status: this.corpus_status,
|
|||
|
|
|
|||
|
|
}, )
|
|||
|
|
.then((response) => {
|
|||
|
|
var res = response.data;
|
|||
|
|
// complexform.$set(complexform.complex.lines, parseInt(this.newLineName), res);
|
|||
|
|
res['del'] = 0;
|
|||
|
|
res['id'] = 0;
|
|||
|
|
this.complex.lines[idLine].corpuses.push(res);
|
|||
|
|
this.inputClose(idLine);
|
|||
|
|
$('.ui-tooltip').remove();
|
|||
|
|
|
|||
|
|
|
|||
|
|
})
|
|||
|
|
.catch(function(error) {
|
|||
|
|
console.log(error);
|
|||
|
|
});
|
|||
|
|
}
|
|||
|
|
},
|
|||
|
|
|
|||
|
|
//Редактировать корпус
|
|||
|
|
editCorpusSave(idLine, idCorpus) {
|
|||
|
|
var deadline = this.complex.lines[idLine].corpuses[idCorpus].date;
|
|||
|
|
var corpus = this.complex.lines[idLine].corpuses[idCorpus].corpus;
|
|||
|
|
var corpus_id = this.complex.lines[idLine].corpuses[idCorpus].corpus_id;
|
|||
|
|
var corpus_floors = this.complex.lines[idLine].corpuses[idCorpus].corpus_floors;
|
|||
|
|
var corpus_floors_ready = this.complex.lines[idLine].corpuses[idCorpus].corpus_floors_ready;
|
|||
|
|
var corpus_fz_214 = this.complex.lines[idLine].corpuses[idCorpus].corpus_fz_214;
|
|||
|
|
var corpus_status = this.complex.lines[idLine].corpuses[idCorpus].corpus_status;
|
|||
|
|
axios.post('/ajax/vue_ajax/complex_axios.php', {
|
|||
|
|
request: 'convert_corpus',
|
|||
|
|
deadline: deadline,
|
|||
|
|
corpus: corpus,
|
|||
|
|
corpus_id: corpus_id,
|
|||
|
|
corpus_floors: corpus_floors,
|
|||
|
|
corpus_floors_ready: corpus_floors_ready,
|
|||
|
|
corpus_fz_214: corpus_fz_214,
|
|||
|
|
corpus_status: corpus_status
|
|||
|
|
}, )
|
|||
|
|
.then((response) => {
|
|||
|
|
var res = response.data;
|
|||
|
|
//this.complex.lines[idLine].corpuses[idCorpus].id = res.id;
|
|||
|
|
this.complex.lines[idLine].corpuses[idCorpus].date = '';
|
|||
|
|
this.complex.lines[idLine].corpuses[idCorpus].corpus = res.corpus;
|
|||
|
|
this.complex.lines[idLine].corpuses[idCorpus].period = res.period;
|
|||
|
|
this.complex.lines[idLine].corpuses[idCorpus].deadline = res.deadline;
|
|||
|
|
this.complex.lines[idLine].corpuses[idCorpus].corpus_id = res.corpus_id;
|
|||
|
|
this.complex.lines[idLine].corpuses[idCorpus].corpus_floors = res.corpus_floors;
|
|||
|
|
this.complex.lines[idLine].corpuses[idCorpus].corpus_floors_ready = res.corpus_floors_ready;
|
|||
|
|
this.complex.lines[idLine].corpuses[idCorpus].corpus_fz_214 = res.corpus_fz_214;
|
|||
|
|
this.complex.lines[idLine].corpuses[idCorpus].corpus_status = res.corpus_status;
|
|||
|
|
this.complex.lines[idLine].corpuses[idCorpus].del = 0;
|
|||
|
|
this.corpusClose(idLine, idCorpus);
|
|||
|
|
|
|||
|
|
})
|
|||
|
|
.catch(function(error) {
|
|||
|
|
console.log(error);
|
|||
|
|
});
|
|||
|
|
|
|||
|
|
},
|
|||
|
|
|
|||
|
|
//Удалить корпус
|
|||
|
|
deleteCorpus(idLine, idCorpus) {
|
|||
|
|
$('.ui-tooltip').remove();
|
|||
|
|
this.complex.lines[idLine].corpuses[idCorpus].del = 1;
|
|||
|
|
},
|
|||
|
|
|
|||
|
|
//Удалить очередь
|
|||
|
|
deleteLine(idLine) {
|
|||
|
|
$('.ui-tooltip').remove();
|
|||
|
|
console.log(this.complex.lines[idLine].corpuses);
|
|||
|
|
for (let i in this.complex.lines[idLine].corpuses) {
|
|||
|
|
this.complex.lines[idLine].corpuses[i].del = 1;
|
|||
|
|
}
|
|||
|
|
this.complex.lines[idLine].del = 1;
|
|||
|
|
console.log(this.complex.lines);
|
|||
|
|
//this.complex.lines.splice(idLine, 1);
|
|||
|
|
},
|
|||
|
|
|
|||
|
|
//УТП
|
|||
|
|
openUTP() {
|
|||
|
|
this.isInputUTP = true;
|
|||
|
|
$('#complex_form .small-photo .photoUTP').html('<input type=\"file\" name=\"photoComplexUTP\" data-fileuploader-files=\"\" data-fileuploader-limit=\"10\" accept=\"image/jpg,image/jpeg,image/png\" multiple=\"\">');
|
|||
|
|
setTimeout(function() {
|
|||
|
|
fileUploaderSettingsComplex('UTP');
|
|||
|
|
}, 200);
|
|||
|
|
//photoUTP
|
|||
|
|
},
|
|||
|
|
|
|||
|
|
openUTP2() {
|
|||
|
|
this.isInputUTP2 = true;
|
|||
|
|
$('#complex_form .small-photo .photoUTP2').html('<input type=\"file\" name=\"photoComplexUTP2\" data-fileuploader-files=\"\" data-fileuploader-limit=\"10\" accept=\"image/jpg,image/jpeg,image/png\" multiple=\"\">');
|
|||
|
|
setTimeout(function() {
|
|||
|
|
fileUploaderSettingsComplex('UTP2');
|
|||
|
|
}, 200);
|
|||
|
|
//photoUTP*/
|
|||
|
|
},
|
|||
|
|
|
|||
|
|
inputUTPClose() {
|
|||
|
|
$('.ui-tooltip').remove();
|
|||
|
|
this.isInputUTP = false;
|
|||
|
|
this.titleUTP = '';
|
|||
|
|
this.descUTP = '';
|
|||
|
|
this.imagesUTP = [];
|
|||
|
|
},
|
|||
|
|
|
|||
|
|
inputUTPClose2() {
|
|||
|
|
$('.ui-tooltip').remove();
|
|||
|
|
this.isInputUTP2 = false;
|
|||
|
|
this.titleUTP2 = '';
|
|||
|
|
this.descUTP2 = '';
|
|||
|
|
this.imagesUTP2 = [];
|
|||
|
|
},
|
|||
|
|
|
|||
|
|
addUTP() {
|
|||
|
|
if (!this.isEmpty(this.titleUTP)) {
|
|||
|
|
$('.ui-tooltip').remove();
|
|||
|
|
var res = { title: this.titleUTP, desc: this.descUTP, isDiv: true, isEdit: false, images: [], imagesUTP: [], isInput: false }
|
|||
|
|
|
|||
|
|
if (this.isEmpty(this.complex.dop.UTP)) {
|
|||
|
|
this.complex.dop.UTP = [];
|
|||
|
|
}
|
|||
|
|
var photos = $("[name=fileuploader-list-photoComplexUTP]").val();
|
|||
|
|
|
|||
|
|
if (!this.isEmpty(photos)) {
|
|||
|
|
res.images = JSON.parse(photos);
|
|||
|
|
}
|
|||
|
|
if (!this.isEmpty(this.imagesUTP)) {
|
|||
|
|
res.imagesUTP = this.imagesUTP;
|
|||
|
|
}
|
|||
|
|
let index = this.complex.dop.UTP.length;
|
|||
|
|
this.$set(this.complex.dop.UTP, index, res);
|
|||
|
|
//complexform.complex.dop.UTP.push(res);
|
|||
|
|
}
|
|||
|
|
this.inputUTPClose();
|
|||
|
|
},
|
|||
|
|
|
|||
|
|
addUTP2() {
|
|||
|
|
if (!this.isEmpty(this.titleUTP2)) {
|
|||
|
|
$('.ui-tooltip').remove();
|
|||
|
|
var res = { title: this.titleUTP2, desc: this.descUTP2, isDiv: true, isEdit: false, images: [], imagesUTP: [], isInput: false }
|
|||
|
|
|
|||
|
|
if (this.isEmpty(this.complex.dop.UTP2)) {
|
|||
|
|
this.complex.dop.UTP2 = [];
|
|||
|
|
}
|
|||
|
|
var photos = $("[name=fileuploader-list-photoComplexUTP2]").val();
|
|||
|
|
|
|||
|
|
if (!this.isEmpty(photos)) {
|
|||
|
|
res.images = JSON.parse(photos);
|
|||
|
|
}
|
|||
|
|
if (!this.isEmpty(this.imagesUTP2)) {
|
|||
|
|
res.imagesUTP = this.imagesUTP2;
|
|||
|
|
}
|
|||
|
|
let index = this.complex.dop.UTP2.length;
|
|||
|
|
this.$set(this.complex.dop.UTP2, index, res);
|
|||
|
|
//complexform.complex.dop.UTP.push(res);
|
|||
|
|
}
|
|||
|
|
this.inputUTPClose2();
|
|||
|
|
},
|
|||
|
|
|
|||
|
|
deleteUTP(idUtp) {
|
|||
|
|
|
|||
|
|
$('.ui-tooltip').remove();
|
|||
|
|
this.complex.dop.UTP.splice(idUtp, 1);
|
|||
|
|
|
|||
|
|
},
|
|||
|
|
|
|||
|
|
deleteUTP2(idUtp) {
|
|||
|
|
|
|||
|
|
$('.ui-tooltip').remove();
|
|||
|
|
this.complex.dop.UTP2.splice(idUtp, 1);
|
|||
|
|
|
|||
|
|
},
|
|||
|
|
|
|||
|
|
editUTP(idUtp) {
|
|||
|
|
$('.ui-tooltip').remove();
|
|||
|
|
this.complex.dop.UTP[idUtp].isEdit = true;
|
|||
|
|
this.complex.dop.UTP[idUtp].isDiv = false;
|
|||
|
|
},
|
|||
|
|
|
|||
|
|
editUTP(idUtp) {
|
|||
|
|
$('.ui-tooltip').remove();
|
|||
|
|
this.complex.dop.UTP2[idUtp].isEdit = true;
|
|||
|
|
this.complex.dop.UTP2[idUtp].isDiv = false;
|
|||
|
|
},
|
|||
|
|
|
|||
|
|
//Акции
|
|||
|
|
add_action() {
|
|||
|
|
$('.ui-tooltip').remove();
|
|||
|
|
let index = this.complex.actions.length
|
|||
|
|
let res = { name: '', desc: '', link: '', images: [] };
|
|||
|
|
this.complex.actions.push(res);
|
|||
|
|
// $('#photoAction' + index).html('<input type=\"file\" name=\"photoComplexUTP\" data-fileuploader-files=\"\" data-fileuploader-limit=\"10\" accept=\"image/jpg,image/jpeg,image/png\" multiple=\"\">');
|
|||
|
|
setTimeout(function() {
|
|||
|
|
$('#photoAction' + index).html('<input type=\"file\" name=\"photoComplexAction\" data-fileuploader-files=\"\" data-fileuploader-limit=\"10\" accept=\"image/jpg,image/jpeg,image/png\" multiple=\"\">');
|
|||
|
|
|
|||
|
|
fileUploaderSettingsComplex('Action');
|
|||
|
|
}, 200);
|
|||
|
|
},
|
|||
|
|
del_action(actionId) {
|
|||
|
|
$('.ui-tooltip').remove();
|
|||
|
|
this.complex.actions.splice(actionId, 1);
|
|||
|
|
},
|
|||
|
|
get_photos_actions() {
|
|||
|
|
//setTimeout(function() { console.log(complexform.complex.actions); }, 2000);
|
|||
|
|
//console.log(this.complex);
|
|||
|
|
if (!this.isEmpty(this.complex.actions)) {
|
|||
|
|
//console.log(i);
|
|||
|
|
for (let i = 0; i < this.complex.actions.length; i++) {
|
|||
|
|
setTimeout(function() {
|
|||
|
|
//console.log(complexform.complex.actions[i].images);
|
|||
|
|
$('#photoAction' + i).html('<input type=\"file\" name=\"photoComplexAction\" data-fileuploader-files=\"\" data-fileuploader-limit=\"10\" accept=\"image/jpg,image/jpeg,image/png\" multiple=\"\">');
|
|||
|
|
if (!this.isEmpty(complexform.complex.actions[i].images)) {
|
|||
|
|
$('#photoAction' + i + ' input[name="photoComplexAction"]').attr("data-fileuploader-files", JSON.stringify(complexform.complex.actions[i].images));
|
|||
|
|
}
|
|||
|
|
fileUploaderSettingsComplex('Action');
|
|||
|
|
}, 500);
|
|||
|
|
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
},
|
|||
|
|
//Установка даты
|
|||
|
|
get_date(date) {
|
|||
|
|
var arrDate = date.split('.');
|
|||
|
|
var year = parseInt(arrDate[2]);
|
|||
|
|
var mes = parseInt(arrDate[1]) - 1;
|
|||
|
|
var day = parseInt(arrDate[0]);
|
|||
|
|
return new Date(year, mes, day);
|
|||
|
|
},
|
|||
|
|
|
|||
|
|
//Список застройщиков
|
|||
|
|
get_builders() {
|
|||
|
|
if (this.isEmpty(this.builder_list)) {
|
|||
|
|
axios.post('/ajax/vue_ajax/complex_axios.php', {
|
|||
|
|
request: 'get_builders',
|
|||
|
|
|
|||
|
|
}, )
|
|||
|
|
.then((response) => {
|
|||
|
|
var res = response.data;
|
|||
|
|
this.builders = res.list;
|
|||
|
|
this.builder_list = res.options;
|
|||
|
|
|
|||
|
|
|
|||
|
|
})
|
|||
|
|
.catch(function(error) {
|
|||
|
|
console.log(error);
|
|||
|
|
});
|
|||
|
|
}
|
|||
|
|
},
|
|||
|
|
|
|||
|
|
//Доп инфа для застройщика
|
|||
|
|
getInfoBuilder() {
|
|||
|
|
this.newBuilderPhone = '';
|
|||
|
|
this.newBuilderLink = '';
|
|||
|
|
if (this.complex.builder_id > 0) {
|
|||
|
|
|
|||
|
|
if (this.builders[this.complex.builder_id]) {
|
|||
|
|
this.newBuilderPhone = this.builders[this.complex.builder_id].phone;
|
|||
|
|
this.newBuilderLink = this.builders[this.complex.builder_id].link;
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
},
|
|||
|
|
|
|||
|
|
inputBuilderClose() {
|
|||
|
|
this.isInputBuilder = false;
|
|||
|
|
this.newBuilderName = '';
|
|||
|
|
$('.ui-tooltip').remove();
|
|||
|
|
},
|
|||
|
|
|
|||
|
|
addBuilder() {
|
|||
|
|
if (this.isEmpty(this.newBuilderName)) {
|
|||
|
|
this.mes_error_builder = true;
|
|||
|
|
} else {
|
|||
|
|
axios.post('/ajax/vue_ajax/complex_axios.php', {
|
|||
|
|
request: 'add_builder',
|
|||
|
|
name: this.newBuilderName,
|
|||
|
|
phone: this.newBuilderPhone,
|
|||
|
|
link: this.newBuilderLink,
|
|||
|
|
}, )
|
|||
|
|
.then((response) => {
|
|||
|
|
var res = response.data;
|
|||
|
|
//console.log(res);
|
|||
|
|
if (res.result == 'old') {
|
|||
|
|
this.complex.builder_id = res.builder_id;
|
|||
|
|
} else if (res.result == 'new') {
|
|||
|
|
this.builders = [];
|
|||
|
|
this.builder_list = [];
|
|||
|
|
this.get_builders();
|
|||
|
|
this.complex.builder_id = res.builder_id;
|
|||
|
|
|
|||
|
|
}
|
|||
|
|
this.inputBuilderClose();
|
|||
|
|
|
|||
|
|
})
|
|||
|
|
.catch(function(error) {
|
|||
|
|
console.log(error);
|
|||
|
|
});
|
|||
|
|
}
|
|||
|
|
},
|
|||
|
|
|
|||
|
|
//Закрытие
|
|||
|
|
closes() {
|
|||
|
|
this.is_show = false;
|
|||
|
|
this.clear();
|
|||
|
|
$("body").removeClass("lock");
|
|||
|
|
$('.jw__add-popup').removeClass('is__show');
|
|||
|
|
},
|
|||
|
|
|
|||
|
|
closes_foto() {
|
|||
|
|
this.is_show_foto = false;
|
|||
|
|
setTimeout(function() {
|
|||
|
|
$("body").addClass("lock");
|
|||
|
|
}, 300);
|
|||
|
|
|
|||
|
|
$('.jw__add-popup').removeClass('is__show');
|
|||
|
|
},
|
|||
|
|
|
|||
|
|
clearFiles() {
|
|||
|
|
this.selectedFiles = [];
|
|||
|
|
this.progressUoload = [];
|
|||
|
|
this.isSelect = 0;
|
|||
|
|
|
|||
|
|
},
|
|||
|
|
onFileSelected(event) {
|
|||
|
|
//console.log(event);
|
|||
|
|
var files = Array.from(event.target.files);
|
|||
|
|
var j = complexform.selectedFiles.length;
|
|||
|
|
this.isSelect = event.target.files.length;
|
|||
|
|
for (var i = 0; i < files.length; i++) {
|
|||
|
|
files[i].typeFile = complexform.typeFile(files[i].name);
|
|||
|
|
files[i].classFile = complexform.classTypesFile.undefined;
|
|||
|
|
files[i].guid = '';
|
|||
|
|
if (complexform.classTypesFile[files[i].typeFile]) {
|
|||
|
|
files[i].classFile = complexform.classTypesFile[files[i].typeFile];
|
|||
|
|
}
|
|||
|
|
var proc = { 'progress': 0, 'isUpload': false, 'uploads': false, 'isEdit': false, 'edit_name': '', 'real_name': files[i].name }
|
|||
|
|
complexform.$set(complexform.progressUoload, j, proc);
|
|||
|
|
complexform.$set(complexform.selectedFiles, j, files[i]);
|
|||
|
|
|
|||
|
|
complexform.onUpload(j, files[i]);
|
|||
|
|
j++;
|
|||
|
|
}
|
|||
|
|
},
|
|||
|
|
onUpload: function(index, file) {
|
|||
|
|
|
|||
|
|
complexform.$set(complexform.progressUoload[index], 'uploads', true);
|
|||
|
|
|
|||
|
|
let fd = new FormData();
|
|||
|
|
|
|||
|
|
fd.append('type_file', file.typeFile);
|
|||
|
|
fd.append('upload_complex', 1);
|
|||
|
|
fd.append('file', complexform.selectedFiles[index]);
|
|||
|
|
|
|||
|
|
axios.post('/ajax/vue_ajax/complex_upload_axios.php', fd, {
|
|||
|
|
onUploadProgress: progressEvent => {
|
|||
|
|
var pr = Math.ceil(progressEvent.loaded / progressEvent.total * 100);
|
|||
|
|
complexform.$set(complexform.progressUoload[index], 'progress', pr);
|
|||
|
|
}
|
|||
|
|
})
|
|||
|
|
.then((response) => {
|
|||
|
|
var res = response.data;
|
|||
|
|
if (res.filed) {
|
|||
|
|
|
|||
|
|
} else {
|
|||
|
|
complexform.$set(complexform.selectedFiles[index], 'guid', res.guid);
|
|||
|
|
complexform.$set(complexform.progressUoload[index], 'isUpload', true);
|
|||
|
|
complexform.$set(complexform.progressUoload[index], 'uploads', false);
|
|||
|
|
|
|||
|
|
this.complex.images.push(res.guid);
|
|||
|
|
if (this.swiper != null) {
|
|||
|
|
|
|||
|
|
this.swiper.destroy();
|
|||
|
|
this.swiper2.destroy();
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
setTimeout(function() {
|
|||
|
|
complexform.init_swiper(true);
|
|||
|
|
complexform.onDeleteFile(index);
|
|||
|
|
}, 500)
|
|||
|
|
}
|
|||
|
|
})
|
|||
|
|
.catch(function(error) {
|
|||
|
|
console.log(error);
|
|||
|
|
});
|
|||
|
|
|
|||
|
|
},
|
|||
|
|
onDeleteFile: function(index) {
|
|||
|
|
complexform.selectedFiles.splice(index, 1);
|
|||
|
|
$('.ui-tooltip').remove();
|
|||
|
|
complexform.progressUoload.splice(index, 1);
|
|||
|
|
/*if (file.guid != '') {
|
|||
|
|
axios.post('/ajax/vue_ajax/complex_axios.php', {
|
|||
|
|
request: 'deleteFile',
|
|||
|
|
funnelId: complexform.funnelId,
|
|||
|
|
guid: file.guid,
|
|||
|
|
type_file: file.typeFile
|
|||
|
|
|
|||
|
|
})
|
|||
|
|
}*/
|
|||
|
|
},
|
|||
|
|
|
|||
|
|
typeFile: function(nameFile) {
|
|||
|
|
var tchk = nameFile.lastIndexOf(".");
|
|||
|
|
|
|||
|
|
if (tchk != -1) {
|
|||
|
|
return nameFile.slice(tchk + 1);
|
|||
|
|
}
|
|||
|
|
return 'undefined';
|
|||
|
|
},
|
|||
|
|
|
|||
|
|
clear() {
|
|||
|
|
|
|||
|
|
this.errorMes = false;
|
|||
|
|
this.errorText = '';
|
|||
|
|
this.errors = [];
|
|||
|
|
this.type_complex = 'complex';
|
|||
|
|
this.errorMes = false;
|
|||
|
|
this.errorText = '';
|
|||
|
|
this.errors = { 'name': false, 'addres': false };
|
|||
|
|
this.block_id = 0;
|
|||
|
|
this.check_blocks = false;
|
|||
|
|
|
|||
|
|
this.complex = {
|
|||
|
|
id: 0,
|
|||
|
|
name: '',
|
|||
|
|
address_line: '',
|
|||
|
|
address: [],
|
|||
|
|
rf_region_id: '',
|
|||
|
|
country_id: 171,
|
|||
|
|
rf_region_rayon: '',
|
|||
|
|
rayon_id: '',
|
|||
|
|
city: '',
|
|||
|
|
street: '',
|
|||
|
|
korpus: '',
|
|||
|
|
dom: '',
|
|||
|
|
litera: '',
|
|||
|
|
kladr_id: '',
|
|||
|
|
region_kladr_id: '',
|
|||
|
|
latitude: '',
|
|||
|
|
longitude: '',
|
|||
|
|
deadline: [],
|
|||
|
|
builder_id: null,
|
|||
|
|
images: [],
|
|||
|
|
payment_types: [],
|
|||
|
|
contract_type: '',
|
|||
|
|
housing_class_id: null,
|
|||
|
|
first_floor: '',
|
|||
|
|
last_floor: '',
|
|||
|
|
number_apartments: '',
|
|||
|
|
ceiling_height: '',
|
|||
|
|
decoration_id: null,
|
|||
|
|
house_type: null,
|
|||
|
|
house_material: null,
|
|||
|
|
parking: 0,
|
|||
|
|
closed_area: 0,
|
|||
|
|
protected_area: 0,
|
|||
|
|
concierge: 0,
|
|||
|
|
infrastructure: {
|
|||
|
|
'school': 0,
|
|||
|
|
'kindergarten': 0,
|
|||
|
|
'playgrounds': 0,
|
|||
|
|
'sportsgrounds': 0,
|
|||
|
|
'cafes': 0,
|
|||
|
|
'shops': 0,
|
|||
|
|
'beautysalons': 0,
|
|||
|
|
'fitnessclub': 0,
|
|||
|
|
'park': 0,
|
|||
|
|
'trc': 0,
|
|||
|
|
'commercialobjects': 0,
|
|||
|
|
},
|
|||
|
|
metros: [{
|
|||
|
|
'id': null,
|
|||
|
|
'subway_time': '',
|
|||
|
|
'subway_type': null,
|
|||
|
|
'metro_id' : ''
|
|||
|
|
}],
|
|||
|
|
dop: {
|
|||
|
|
domclick_id: null,
|
|||
|
|
title_desc: '',
|
|||
|
|
text_desc: '',
|
|||
|
|
title_desc_dop: '',
|
|||
|
|
text_desc_dop: '',
|
|||
|
|
url_video: '',
|
|||
|
|
type_video: null,
|
|||
|
|
UTP: [],
|
|||
|
|
UTP2: [],
|
|||
|
|
phone_op: '',
|
|||
|
|
phone_mobil_op: '',
|
|||
|
|
address_op: '',
|
|||
|
|
latitude_op: '',
|
|||
|
|
longitude_op: '',
|
|||
|
|
timezone_op: '',
|
|||
|
|
workdays_op: null,
|
|||
|
|
opentime_op: '',
|
|||
|
|
closetime_op: ''
|
|||
|
|
},
|
|||
|
|
actions: [],
|
|||
|
|
|
|||
|
|
};
|
|||
|
|
|
|||
|
|
},
|
|||
|
|
|
|||
|
|
save() {
|
|||
|
|
this.errorMes = false;
|
|||
|
|
this.errorText = '';
|
|||
|
|
if (this.isEmpty(this.complex.name)) {
|
|||
|
|
this.errorMes = true;
|
|||
|
|
this.errorText += '<p>Введите название ЖК</p>';
|
|||
|
|
this.errors.name = true;
|
|||
|
|
}
|
|||
|
|
if (this.isEmpty(this.complex.address_line)) {
|
|||
|
|
this.errorMes = true;
|
|||
|
|
this.errorText += '<p>Введите адрес</p>';
|
|||
|
|
this.errors.addres = true;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
var photo = $("[name=fileuploader-list-photoComplex]").val();
|
|||
|
|
//console.log(photo);
|
|||
|
|
//console.log(this.complex);
|
|||
|
|
if (!this.isEmpty(this.complex.actions)) {
|
|||
|
|
//Sthis.errorMes = true;
|
|||
|
|
for (let i = 0; i < this.complex.actions.length; i++) {
|
|||
|
|
//console.log($('#photoAction' + i + ' [name=fileuploader-list-photoComplexAction]').val())
|
|||
|
|
if (!this.isEmpty($('#photoAction' + i + ' [name=fileuploader-list-photoComplexAction]').val())) {
|
|||
|
|
this.complex.actions[i].images = JSON.parse($('#photoAction' + i + ' [name=fileuploader-list-photoComplexAction]').val());
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
console.log(this.complex);
|
|||
|
|
if (!this.errorMes) {
|
|||
|
|
this.complex.address.address = this.complex.address_line;
|
|||
|
|
|
|||
|
|
axios.post('/ajax/vue_ajax/complex_axios.php', {
|
|||
|
|
request: 'save_complex',
|
|||
|
|
complex: this.complex,
|
|||
|
|
photo: photo,
|
|||
|
|
newBuilderPhone: this.newBuilderPhone,
|
|||
|
|
newBuilderLink: this.newBuilderLink,
|
|||
|
|
}, )
|
|||
|
|
.then((response) => {
|
|||
|
|
console.log(response.data);
|
|||
|
|
var res = response.data;
|
|||
|
|
|
|||
|
|
this.closes();
|
|||
|
|
this.is_show_result = true;
|
|||
|
|
if (document.location.pathname == '/complex_list.php') {
|
|||
|
|
complexsearchform.search_global();
|
|||
|
|
}
|
|||
|
|
})
|
|||
|
|
.catch(function(error) {
|
|||
|
|
console.log(error);
|
|||
|
|
});
|
|||
|
|
} else {
|
|||
|
|
$('.full_modal-bg').stop().animate({ scrollTop: 0 }, '500');
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
},
|
|||
|
|
|
|||
|
|
openComplexList() {
|
|||
|
|
if (document.location.pathname == '/complex_list.php') {
|
|||
|
|
//complexsearchform.search_global();
|
|||
|
|
} else {
|
|||
|
|
|
|||
|
|
window.location = '/complex_list.php';
|
|||
|
|
}
|
|||
|
|
this.is_show_result = false;
|
|||
|
|
},
|
|||
|
|
|
|||
|
|
|
|||
|
|
//Проверка на пустоту
|
|||
|
|
isEmpty(data) {
|
|||
|
|
if (typeof(data) === 'object') {
|
|||
|
|
if (JSON.stringify(data) === '{}' || JSON.stringify(data) === '[]') {
|
|||
|
|
return true;
|
|||
|
|
} else if (!data) {
|
|||
|
|
return true;
|
|||
|
|
}
|
|||
|
|
return false;
|
|||
|
|
} else if (typeof(data) === 'string') {
|
|||
|
|
if (!data.trim()) {
|
|||
|
|
return true;
|
|||
|
|
}
|
|||
|
|
return false;
|
|||
|
|
} else if (typeof(data) === 'undefined') {
|
|||
|
|
return true;
|
|||
|
|
} else {
|
|||
|
|
return false;
|
|||
|
|
}
|
|||
|
|
},
|
|||
|
|
|
|||
|
|
},
|
|||
|
|
mounted() {
|
|||
|
|
|
|||
|
|
},
|
|||
|
|
created: function() {
|
|||
|
|
|
|||
|
|
$("#complex_form").removeClass("hidden");
|
|||
|
|
this.getTypesComplex();
|
|||
|
|
|
|||
|
|
this.getPaymentTypes();
|
|||
|
|
this.getHousingClass();
|
|||
|
|
this.getDecorations();
|
|||
|
|
|
|||
|
|
}
|
|||
|
|
})
|