12906 lines
509 KiB
JavaScript
12906 lines
509 KiB
JavaScript
$(function() {
|
||
$('.left-menu').slimScroll({
|
||
height: "100%",
|
||
position: "right",
|
||
size: "6px",
|
||
color: "#dcdcdc"
|
||
});
|
||
$('.fr-send-presentation__modal .inner').slimScroll({
|
||
height: "100%",
|
||
width: "100%",
|
||
position: "right",
|
||
size: "6px",
|
||
color: "#000",
|
||
disableFadeOut: true
|
||
});
|
||
$(document).tooltip({
|
||
show: {
|
||
duration: 200
|
||
},
|
||
position: {
|
||
my: "center bottom-10",
|
||
at: "center top",
|
||
collision: "flipfit",
|
||
using: function(position, feedback) {
|
||
$(this).css(position, feedback);
|
||
$("<div>")
|
||
.addClass("arrow")
|
||
.addClass(feedback.vertical)
|
||
.addClass(feedback.horizontal)
|
||
.appendTo(this);
|
||
}
|
||
}
|
||
});
|
||
});
|
||
|
||
testIfResendAllCanBeActive();
|
||
|
||
|
||
var add_knban = true;
|
||
var page_kanban = 1;
|
||
var phone2Index = 0;
|
||
|
||
$(function () {
|
||
var lastScrollTop = 0;
|
||
|
||
kanbanScrollHandler = async function () {
|
||
|
||
var st = $('#kanban___list').scrollTop();
|
||
if (st < lastScrollTop) {
|
||
} else {
|
||
checkTop();
|
||
if ($('.view-kanban.active').length > 0) {
|
||
|
||
|
||
|
||
var skroll_top = $('.kanban').scrollTop();
|
||
var hw = $('.kanban').height();
|
||
var top_kanban = $('.kanban__items-lists').offset().top;
|
||
|
||
var hk = $('.kanban__items-lists').height();
|
||
|
||
const divUl = $('.kanban__items-lists').find('.kanban__items-list');
|
||
|
||
if(divUl){
|
||
for(let i=0; i<divUl.length; i++){
|
||
if(i == 0){
|
||
// let divLi = $(divUl[i]).find('.block_li_kanban');
|
||
$(divUl[i]).addClass('no-heigth');
|
||
let heigthLi = $(divUl[i]).find('ul').height();
|
||
$(divUl[i]).removeClass('no-heigth');
|
||
|
||
/*console.log(clientHeight+scrollTop);
|
||
console.log(heigthLi);*/
|
||
|
||
|
||
if (skroll_top + hw >= heigthLi && add_knban) {
|
||
console.log('clients li');
|
||
add_knban = false;
|
||
page_kanban++;
|
||
get_list();
|
||
lastScrollTop = st;
|
||
|
||
}
|
||
}
|
||
}
|
||
}
|
||
|
||
if (document.location.pathname === '/clients.php') {
|
||
if (skroll_top + hw >= hk && add_knban) {
|
||
|
||
console.log('clients');
|
||
add_knban = false;
|
||
page_kanban++;
|
||
get_list();
|
||
lastScrollTop = st;
|
||
}
|
||
}
|
||
//console.log((skroll_top + hw)+' '+(top_kanban + hk));
|
||
}
|
||
}
|
||
//lastScrollTop = st;
|
||
};
|
||
});
|
||
|
||
function parseQueryString(queryString) {
|
||
if (!queryString) {
|
||
return false;
|
||
}
|
||
|
||
let queries = queryString.substr(1).split("&"),
|
||
params = {},
|
||
temp;
|
||
|
||
for (let i = 0, l = queries.length; i < l; i++) {
|
||
temp = queries[i].split('=');
|
||
if (temp[1] !== '') {
|
||
params[temp[0]] = temp[1];
|
||
}
|
||
}
|
||
return params;
|
||
}
|
||
|
||
function checkTop() {
|
||
if (localStorage['collapse_push'] > 0) {
|
||
$(".confirm_mess").css('top', '200px').css('width', '50px').css('height', '80px').css('overflow', 'hidden').css('position', 'fixed');
|
||
} else {
|
||
var bH = window.innerHeight;
|
||
var readmoreBlock = $(".confirm_mess");
|
||
if (readmoreBlock.length) {
|
||
var point = readmoreBlock.offset().top;
|
||
var heigthReadmore = readmoreBlock.height();
|
||
var windowTop = $(window).scrollTop();
|
||
readmoreBlock.css("top", (bH - heigthReadmore + windowTop) + "px").css('width', 'unset').css('height', 'unset').css('overflow', 'none').css('position', 'absolute');
|
||
}
|
||
}
|
||
}
|
||
|
||
function get_mes_clients() {
|
||
//console.log($('#session_user_id').val());
|
||
$.get("/ajax/getEventsClient.php?user_id=" + $('#session_user_id').val(), function(data) {
|
||
//console.log('Полученные события:', data);
|
||
data = JSON.parse(data);
|
||
var mainTotal = 0;
|
||
if(data.total !== undefined){
|
||
mainTotal = data.total;
|
||
} else {
|
||
mainTotal = data;
|
||
}
|
||
//console.log(mainTotal);
|
||
if (mainTotal != 0) {
|
||
const total = data.total;
|
||
let othersData = data.others || [];
|
||
const extension_reservations = data.extension_reservations || [];
|
||
const confirm_and_unconfirm_extension_reservations = data.confirm_and_unconfirm_extension_reservations || [];
|
||
|
||
// Получаем все существующие уведомления на странице
|
||
const existingNotifications = $('.confirm_mess .client-confirm[id^="client-confirm_message_other_"]');
|
||
|
||
// Собираем ID из DOM
|
||
const existingIds = Array.from(existingNotifications).map(el => el.id.replace('client-confirm_message_other_', ''));
|
||
|
||
// Собираем ID из новых данных
|
||
const newIds = othersData.map(item => item.id.toString());
|
||
|
||
// Находим ID, которых больше нет в новых данных
|
||
const removedIds = existingIds.filter(id => !newIds.includes(id));
|
||
|
||
// Удаляем устаревшие уведомления
|
||
removedIds.forEach(id => {
|
||
$('#client-confirm_message_other_' + id).remove();
|
||
});
|
||
|
||
if (localStorage['collapse_push'] > 0) {
|
||
$('.confirm_mess').html('<div id="total_confirm" class="client-confirm">' + total + '</div>');
|
||
|
||
} else {
|
||
$('.confirm_mess').html(""); // очистка, чтобы не дублировать
|
||
for (var i = 0; i < othersData.length; i++) {
|
||
if ($('.confirm_mess #client-confirm_message_other_' + othersData[i].id).length == 0) {
|
||
var text = othersData[i].post + ' ' + othersData[i].fio + ' передал вам клиента' + othersData[i].objects;
|
||
if (othersData[i].req_id > 0) {
|
||
text = othersData[i].post + ' ' + othersData[i].fio + ' передал вам заявку' + othersData[i].objects;
|
||
}
|
||
if (othersData[i].tr == 1) {
|
||
text = othersData[i].post + ' ' + othersData[i].fio + ' приглашает вас<br>к совместной работе' + othersData[i].objects;
|
||
}
|
||
var part_text = 'Взять клиента ' + othersData[i].fio_client + ' в работу?';
|
||
if (othersData[i].req_id > 0) {
|
||
part_text = 'Взять заявку ' + othersData[i].fio_client + ' в работу?';
|
||
}
|
||
var html = '<div class="client-confirm" id="client-confirm_message_other_' + othersData[i].id + '" style="margin: 0;">' +
|
||
'<div class="client-confirm__inner">' +
|
||
'<h3>' + text + '.</h3>' +
|
||
'<h3>' + part_text + '</h3>' +
|
||
'<div class="client-confirm__buttons">';
|
||
if (othersData[i].tr == 1 || $('#session_agency_id').val() == 11417) {
|
||
html += '<a class="unconfirmClient small-button" data-event="' + othersData[i].id + '" data-req="' + othersData[i].req_id + '" data-id="' + othersData[i].client_id + '" data-tr="' + othersData[i].tr + '" data-manager="' + othersData[i].in + '" href="javascript:{};">Нет</a>';
|
||
}
|
||
html += '<a class="confirmClient small-green-button" data-event="' + othersData[i].id + '" data-req="' + othersData[i].req_id + '" data-id="' + othersData[i].client_id + '" data-tr="' + othersData[i].tr + '" data-manager="' + othersData[i].from + '" href="javascript:{};">Да</a>' +
|
||
'</div>' +
|
||
'</div>' +
|
||
'<div class="client-confirm__preloader" id="client-confirm__preloader__' + othersData[i].client_id + '" style="display: none;">' +
|
||
'<img src="/images/ajax_preloader.gif">' +
|
||
'</div>' +
|
||
'</div>';
|
||
$('.confirm_mess').prepend(html);
|
||
|
||
}
|
||
}
|
||
|
||
if (extension_reservations.length)
|
||
{
|
||
extension_reservations.forEach((val, _) => {
|
||
if (!$('.confirm_mess #client-confirm_message_extension_reservation_' + val.id).length)
|
||
{
|
||
var html = `<div class="client-confirm client-message-extension-reservation" id="client-confirm_message_extension_reservation_${val.id}" style="max-width: 540px; margin: 0;">
|
||
<div class="client-confirm__inner">
|
||
<h3>${val.dop_text}</h3>
|
||
<div class="client-confirm__buttons" style="display: flex; justify-content: space-between;">
|
||
<div style="display: flex; gap: 10px; margin-right: 50px;">
|
||
<a class="confirm_extension_reservation small-green-button" id="confirm-extension_reservation-${val.id}" data-event="${val.id}" data-employees_no_required="${val.er_confirmation}" data-specify_comment="${val.specify_comment_confirm}" href="javascript:{};">Да</a>
|
||
<a class="unconfirm_extension_reservation small-button" id="unconfirm-extension_reservation-${val.id}" data-event="${val.id}" data-employees_no_required="${val.er_unconfirmation}" data-specify_comment="${val.specify_comment_unconfirm}" href="javascript:{};">Нет</a>
|
||
</div>
|
||
<a
|
||
style="border-radius: 6px; border-color: rgb(198, 132, 132); border-width: 1px; background-color: rgb(255 255 255 / 1); padding-left: 16px; padding-right: 16px; padding-top: 7px; padding-bottom: 7px; color: rgb(236 46 46 / 1);"
|
||
class="view_history_tasks" data-event="${val.id}" onclick="openClientEventsWindowNew(${val.client_id}, ${val.from}, 0, ${val.req_id}, false)" href="javascript:{};">Перейти в карточку заявки</a>
|
||
</div>
|
||
</div>
|
||
<div class="client-confirm__preloader" id="client-confirm__preloader__${val.client_id}" style="display: none;">
|
||
<img src="/images/ajax_preloader.gif">
|
||
</div>
|
||
</div>`;
|
||
|
||
$('.confirm_mess').prepend(html);
|
||
}
|
||
})
|
||
}
|
||
|
||
if (confirm_and_unconfirm_extension_reservations.length)
|
||
{
|
||
confirm_and_unconfirm_extension_reservations.forEach((val, _) => {
|
||
if (!$('.confirm_mess #client-confirm_and_unconfirm_extension_reservations_' + val.id).length)
|
||
{
|
||
var html = `<div class="client-confirm client-message-extension-reservation" id="client-confirm_and_unconfirm_extension_reservations_${val.id}" style="max-width: 540px; margin: 0;">
|
||
<div class="client-confirm__inner">
|
||
<h3>${val.dop_text}</h3>
|
||
<div class="client-confirm__buttons" style="display: flex; justify-content: space-between;">
|
||
<div style="display: flex; gap: 10px; margin-right: 50px;">
|
||
<a class="employee_confirming_extension_reservation small-green-button" id="employee-confirming-extension-reservation-${val.id}" data-event="${val.id}" href="javascript:{};">Принять</a>
|
||
<a class="employee_unconfirming_extension_reservation small-button" id="employee-confirming-extension-reservation-${val.id}" data-event="${val.id}" href="javascript:{};">Отказать</a>
|
||
</div>
|
||
<a
|
||
style="border-radius: 6px; border-color: rgb(198, 132, 132); border-width: 1px; background-color: rgb(255 255 255 / 1); padding-left: 16px; padding-right: 16px; padding-top: 7px; padding-bottom: 7px; color: rgb(236 46 46 / 1);"
|
||
class="view_history_tasks" data-event="${val.id}" onclick="openClientEventsWindowNew(${val.client_id}, ${val.from}, 0, ${val.req_id}, false)" href="javascript:{};">Перейти в карточку заявки</a>
|
||
</div>
|
||
</div>
|
||
<div class="client-confirm__preloader" id="client-confirm__preloader__${val.client_id}" style="display: none;">
|
||
<img src="/images/ajax_preloader.gif">
|
||
</div>
|
||
</div>`;
|
||
|
||
$('.confirm_mess').prepend(html);
|
||
}
|
||
})
|
||
}
|
||
|
||
if (total > 0 && $("#confirm_button_group").length == 0) {
|
||
var html = '';
|
||
html += '<div id="confirm_button_group" style="margin-top:0px; margin-bottom: 50px" class="client-confirm">';
|
||
html += '<div class="client-confirm__buttons">';
|
||
html += '<a class="confirmClient small-green-button" style="background: #EBBF5E; border: 1px solid #EBBF5E;" href="javascript:{};">Свернуть всё</a>';
|
||
html += '<a style="margin-left: 10px;" class="acceptAllClient small-green-button" href="javascript:{};">Принять всё</a>';
|
||
html += '</div></div>';
|
||
$('.confirm_mess').append(html);
|
||
}
|
||
}
|
||
} else {
|
||
let objects = $('.confirm_mess .object-confirm').length;
|
||
//console.log(objects);
|
||
if (objects == 0) {
|
||
$('.confirm_mess').html('');
|
||
}
|
||
}
|
||
checkTop();
|
||
});
|
||
|
||
}
|
||
|
||
|
||
|
||
function get_mes_objects() {
|
||
$.get("/ajax/getSendedObjects.php?user_id=" + $('#session_user_id').val(), function(data) {
|
||
// console.log(data);
|
||
|
||
$('.confirm_mess').css({
|
||
'max-width': '400px',
|
||
'width': '100%',
|
||
});
|
||
|
||
if (data != 0) {
|
||
var res = JSON.parse(data);
|
||
var total = res.length;
|
||
if (localStorage['collapse_push'] > 0) {
|
||
$('.confirm_mess').html('<div id="total_confirm" class="object-confirm">' + total + '</div>');
|
||
|
||
} else {
|
||
var res = JSON.parse(data);
|
||
for (var i = 0; i < res.length; i++) {
|
||
if ($('.confirm_mess #object-confirm_message' + res[i].id).length == 0) {
|
||
var html = '<div class="object-confirm" id="object-confirm_message' + res[i].id + '">' +
|
||
'<div class="object-confirm__inner">' +
|
||
'<h3>' + res[i].first_line + '</h3>' +
|
||
'<h3>' + res[i].sec_line + '</h3>' +
|
||
'<div class="object-confirm__buttons" id="object-confirm__buttons__' + res[i].id + '">' +
|
||
'<a class="unconfirmObject small-button" data-record-id="' + res[i].id + '" href="javascript:{};">Нет</a>' +
|
||
'<a class="confirmObject small-green-button" data-record-id="' + res[i].id + '" href="javascript:{};">Да</a>' +
|
||
'</div>' +
|
||
'</div>' +
|
||
'<div class="object-confirm__preloader" id="object-confirm__preloader__' + res[i].id + '" style="display: none;">' +
|
||
'<img src="/images/ajax_preloader.gif">' +
|
||
'</div>' +
|
||
'</div>';
|
||
$('.confirm_mess').prepend(html);
|
||
|
||
}
|
||
}
|
||
if (total > 0 && $("#confirm_button_group").length == 0) {
|
||
var html = '';
|
||
html += '<div id="confirm_button_group" style="margin-top:0px; margin-bottom: 50px" class="client-confirm">';
|
||
html += '<div class="client-confirm__buttons">';
|
||
html += '<a class="confirmClient small-green-button" style="background: #EBBF5E; border: 1px solid #EBBF5E;" href="javascript:{};">Свернуть всё</a>';
|
||
html += '<a style="margin-left: 10px;" class="acceptAllObjects small-green-button" href="javascript:{};">Принять всё</a>';
|
||
html += '</div></div>';
|
||
$('.confirm_mess').append(html);
|
||
}
|
||
}
|
||
} else {
|
||
let clients = $('.confirm_mess .client-confirm').length;
|
||
if (clients == 0) {
|
||
$('.confirm_mess').html('');
|
||
}
|
||
}
|
||
checkTop();
|
||
});
|
||
|
||
}
|
||
|
||
function get_objects_list(page, sort, param = {}) {
|
||
|
||
$('#objects').hide();
|
||
$('.object-content__preloader').show();
|
||
|
||
var page_script = window.location.pathname;
|
||
var is_custom = 0;
|
||
if(page_script == '/my-objects2.php'){
|
||
is_custom = 1
|
||
}
|
||
param.is_custom = is_custom;
|
||
|
||
if (page)
|
||
param.page = page;
|
||
|
||
if ($('.jw__page__tabs .tab.selected').length > 0) {
|
||
param.selected = $('.jw__page__tabs .tab.selected').attr('data-id');
|
||
} else {
|
||
param.selected = 'active';
|
||
}
|
||
|
||
var states = [];
|
||
if ($('#filter-ads-status-objects').val() !== null && $('#filter-ads-status-objects').val() != '') {
|
||
states = $('#filter-ads-status-objects').val();
|
||
}
|
||
|
||
$('.filter-popup-type').each(function() {
|
||
if ($(this).hasClass('active')) {
|
||
param[$(this).attr('data-id')] = 1;
|
||
}
|
||
});
|
||
|
||
if (param.rent && $('#objects').length) {
|
||
param.sale = 0;
|
||
window.history.pushState(null, null, "my-objects.php");
|
||
}
|
||
|
||
if (param.id_agent) {
|
||
param.sale = 0;
|
||
param.rent = 0;
|
||
}
|
||
|
||
if ($('.view-changer .view-adv-table.active').length > 0)
|
||
param.view = 'table';
|
||
else
|
||
param.view = 'list';
|
||
if(param.view == 'table'){
|
||
if(param.selected == 'active'){
|
||
$('.showAdvertMyObject').show();
|
||
} else {
|
||
$('.showAdvertMyObject').hide();
|
||
}
|
||
} else {
|
||
$('.showAdvertMyObject').hide();
|
||
}
|
||
|
||
if ($('#filter-object-employee').val() !== null && $('#filter-object-employee').val() != '')
|
||
param.filter_employee = JSON.stringify($('#filter-object-employee').val());
|
||
|
||
if ($('#filter-object-type').val() !== null && $('#filter-object-type').val() != '')
|
||
param.filter_type = JSON.stringify($('#filter-object-type').val());
|
||
|
||
if ($('#filter-object-activities').val() !== null && $('#filter-object-activities').val() != '')
|
||
param.filter_activities = JSON.stringify($('#filter-object-activities').val());
|
||
|
||
param.dealTypes = '';
|
||
if (param.sale && param.sale == 1) {
|
||
if ($('#filter-object-deal-type').val() !== null && $('#filter-object-deal-type').val() != '') {
|
||
param.dealTypes = JSON.stringify($('#filter-object-deal-type').val());
|
||
}
|
||
}
|
||
|
||
if ($('#objects_filter_cena_ot').val() != '')
|
||
param.object_cena_ot = $('#objects_filter_cena_ot').val();
|
||
if ($('#objects_filter_cena_do').val() != '')
|
||
param.object_cena_do = $('#objects_filter_cena_do').val();
|
||
if ($('#objects_filter_commission').val() != '')
|
||
param.object_commission = $('#objects_filter_commission').val();
|
||
if ($('#objects_filter_commission_to').val() != '')
|
||
param.object_commission_to = $('#objects_filter_commission_to').val();
|
||
if ($(".filter-obj-komnat").css('display') == 'block' && $('#objects_filter_komnat_from').val() != '')
|
||
param.object_komnat_from = $('#objects_filter_komnat_from').val();
|
||
if ($(".filter-obj-komnat").css('display') == 'block' && $('#objects_filter_komnat_to').val() != '')
|
||
param.object_komnat_to = $('#objects_filter_komnat_to').val();
|
||
|
||
if ($('#search_filter_input').val() != '')
|
||
param.search = $('#search_filter_input').val();
|
||
|
||
if (typeof param.id_agent !== "undefined")
|
||
param.id_agent = $('#session_user_id').val();
|
||
|
||
if (param.selected == 'potential' || param.selected == 'favor') {
|
||
$('.search-toolbar .selectedToOtherUser').hide();
|
||
$('.search-toolbar .showAddObjectsToArchiveWin').hide();
|
||
} else {
|
||
$('.search-toolbar .selectedToOtherUser').show();
|
||
if (param.selected == 'archive') {
|
||
$('.search-toolbar .showDeleteMyObjectsWindow').show();
|
||
$('.search-toolbar .selectedFromArchive').show();
|
||
$('.search-toolbar .showAddObjectsToArchiveWin').hide();
|
||
} else {
|
||
$('.search-toolbar .showDeleteMyObjectsWindow').hide();
|
||
$('.search-toolbar .selectedFromArchive').hide();
|
||
$('.search-toolbar .showAddObjectsToArchiveWin').show();
|
||
}
|
||
}
|
||
|
||
param.not_advert = states.includes('1') ? 1 : 0;
|
||
param.ads_errors = states.includes('3') ? 1 : 0;
|
||
param.ads_sended = states.includes('2') ? 1 : 0;
|
||
param.ads_good_adv = states.includes('4') ? 1 : 0;
|
||
param.removed_publication = states.includes('5') ? 1 : 0;
|
||
param.object_fields = $('#filter-object-fields').attr('data-active');
|
||
param.is_reports = $('#filter_is_reports').attr('data-active');
|
||
param.is_free = $('#filter_is_free').attr('data-active');
|
||
param.filter_is_package = $('#filter_is_package').attr('data-active');
|
||
param.addToAvitoFilter = 0;
|
||
param.addToCianFilter = 0;
|
||
param.addToDomClickFilter = 0;
|
||
param.addToEMLSFilter = 0;
|
||
param.addToYandexFilter = 0;
|
||
if ($('#filter_is_promotion').attr('data-active') > 0) {
|
||
let form = $('#searchPromotionForm');
|
||
|
||
param.avito_highlight = (form.find('[name="avito_highlight"]').prop('checked')) ? 1 : 0;
|
||
param.avito_xl = (form.find('[name="avito_xl"]').prop('checked')) ? 1 : 0;
|
||
param.avito_x2_1 = (form.find('[name="avito_x2_1"]').prop('checked')) ? 1 : 0;
|
||
param.avito_x2_7 = (form.find('[name="avito_x2_7"]').prop('checked')) ? 1 : 0;
|
||
param.avito_x5_1 = (form.find('[name="avito_x5_1"]').prop('checked')) ? 1 : 0;
|
||
param.avito_x5_7 = (form.find('[name="avito_x5_7"]').prop('checked')) ? 1 : 0;
|
||
param.avito_x10_1 = (form.find('[name="avito_x10_1"]').prop('checked')) ? 1 : 0;
|
||
param.avito_x10_7 = (form.find('[name="avito_x10_7"]').prop('checked')) ? 1 : 0;
|
||
param.cian_highlight = (form.find('[name="cian_highlight"]').prop('checked')) ? 1 : 0;
|
||
param.cian_standard = (form.find('[name="cian_standard"]').prop('checked')) ? 1 : 0;
|
||
param.cian_paid = (form.find('[name="cian_paid"]').prop('checked')) ? 1 : 0;
|
||
param.cian_premium = (form.find('[name="cian_premium"]').prop('checked')) ? 1 : 0;
|
||
param.cian_top3 = (form.find('[name="cian_top3"]').prop('checked')) ? 1 : 0;
|
||
param.cian_bet = form.find('[name="cian_bet"]').val();
|
||
param.cian_ignore_pkg = (form.find('[name="cian_ignore_pkg"]').prop('checked')) ? 1 : 0;
|
||
param.yandex_premium = (form.find('[name="yandex_premium"]').prop('checked')) ? 1 : 0;
|
||
param.yandex_raise = (form.find('[name="yandex_raise"]').prop('checked')) ? 1 : 0;
|
||
param.yandex_promotion = (form.find('[name="yandex_promotion"]').prop('checked')) ? 1 : 0;
|
||
param.domclick_express = (form.find('[name="domclick_express"]').prop('checked')) ? 1 : 0;
|
||
param.domclick_premium = (form.find('[name="domclick_premium"]').prop('checked')) ? 1 : 0;
|
||
param.domclick_top = (form.find('[name="domclick_top"]').prop('checked')) ? 1 : 0;
|
||
|
||
}
|
||
|
||
if ($('#addToAvitoFilter').hasClass('active')) {
|
||
param.addToAvitoFilter = 1;
|
||
}
|
||
if ($('#addToCianFilter').hasClass('active')) {
|
||
param.addToCianFilter = 1;
|
||
}
|
||
|
||
if ($('#addToDomClickFilter').hasClass('active')) {
|
||
param.addToDomClickFilter = 1;
|
||
}
|
||
|
||
if ($('#addToEMLSFilter').hasClass('active')) {
|
||
param.addToEMLSFilter = 1;
|
||
}
|
||
|
||
if ($('#addToYandexFilter').hasClass('active')) {
|
||
param.addToYandexFilter = 1;
|
||
}
|
||
|
||
param.filter_ads_state_objects = JSON.stringify(states)
|
||
|
||
if (typeof client_fields_filtr != "undefined") {
|
||
param.is_contract = client_fields_filtr.filtr.is_contract;
|
||
param.type_contract = client_fields_filtr.filtr.type_contract;
|
||
param.numder_contract = client_fields_filtr.filtr.numder_contract;
|
||
param.onDateContract = $('#contractClientOnDate').val();
|
||
param.offDateContract = $('#contractClientOffDate').val();
|
||
}
|
||
|
||
let query = parseQueryString(window.location.search);
|
||
if (typeof query === "object") {
|
||
var param_temp = query;
|
||
|
||
for (var i in param_temp) {
|
||
|
||
param[i] = param_temp[i];
|
||
}
|
||
}
|
||
|
||
|
||
if (localStorage['edit_object_prev_url'] && localStorage['edit_object_prev_url'] != 0) {
|
||
param = localStorage['param_get_object'];
|
||
|
||
} else {
|
||
localStorage['param_get_object'] = param;
|
||
}
|
||
|
||
if (sort) {
|
||
param.sort_order = sort;
|
||
} else {
|
||
if (sort === 0) {
|
||
param.sort_order = sort;
|
||
}
|
||
}
|
||
console.log(param);
|
||
$.post('/ajax/getObjectsView.php', param, function(data) {
|
||
|
||
$('#objects').html(data);
|
||
|
||
$('#objects .fotorama').fotorama();
|
||
$('#objects .fotorama').on('fotorama:ready', function(e, fotorama, extra) {
|
||
$('.object-content__preloader').hide();
|
||
});
|
||
|
||
if (typeof param.selected !== "undefined") {
|
||
$('.jw__page__tabs .tab').removeClass('selected');
|
||
$('.jw__page__tabs .tab[data-id="' + param.selected + '"]').addClass('selected');
|
||
}
|
||
|
||
$('.view-changer .view-adv-list, .view-changer .view-adv-table').removeClass('active');
|
||
if (param.view == 'list') {
|
||
$('.view-changer .view-adv-list').addClass('active');
|
||
} else if (param.view == 'table') {
|
||
$('.view-changer .view-adv-table').addClass('active');
|
||
}
|
||
|
||
$('.object-content__preloader').hide();
|
||
|
||
$('#objects').show();
|
||
get_bar_obj();
|
||
getReSearchObjectsCounts();
|
||
getClientsForObjects();
|
||
getTaskCountersForObjects();
|
||
});
|
||
}
|
||
|
||
function getClientsForObjects() {
|
||
const objectIds = [];
|
||
const elementsMap = {};
|
||
$('.object_clients').each(function() {
|
||
const objectId = $(this).data("oid");
|
||
if (objectId) {
|
||
objectIds.push(objectId);
|
||
elementsMap[objectId] = $(this);
|
||
}
|
||
});
|
||
|
||
if (objectIds.length === 0) return;
|
||
|
||
$.ajax({
|
||
url: "/ajax/getObjectClients.php",
|
||
method: "GET",
|
||
data: {
|
||
object_ids: objectIds.join(',')
|
||
},
|
||
dataType: 'json',
|
||
success: function(response) {
|
||
console.log(response);
|
||
if (response.success) {
|
||
// Обрабатываем данные для каждого объекта
|
||
response.data.forEach(objectData => {
|
||
const element = elementsMap[objectData.object_id];
|
||
if (element) {
|
||
element.html(renderClients(objectData));
|
||
}
|
||
});
|
||
}
|
||
getNoClientsForObjects(response.hidden_objects || []);
|
||
},
|
||
error: function(xhr, status, error) {
|
||
console.error("Error fetching clients data:", error);
|
||
getNoClientsForObjects([]);
|
||
}
|
||
});
|
||
}
|
||
|
||
function getNoClientsForObjects(hiddenObjects = []){
|
||
const hiddenObjectsSet = new Set(hiddenObjects.map(id => parseInt(id)));
|
||
const isSalePage = window.location.pathname.indexOf('/sale.php') !== -1;
|
||
$('.object_clients').each(function() {
|
||
const objectId = $(this).data("oid");
|
||
const allowEdit = $(this).attr("data-allow-edit");
|
||
if (objectId) {
|
||
const shouldHideButton = hiddenObjectsSet.has(objectId);
|
||
|
||
if($(this).find('.obj_client').length == 0 && allowEdit > 0 && !shouldHideButton && !isSalePage) {
|
||
let html = '';
|
||
html += `<div class="obj_client">`;
|
||
html += `
|
||
<b class="big">
|
||
<a
|
||
class="openClientReqBind" href="javascript:{}"><i class="ti-plus"></i>
|
||
<span>Добавить собственника</span>
|
||
</a>
|
||
</b>`;
|
||
html += `</div>`;
|
||
$(this).html(html);
|
||
} else if (shouldHideButton && $(this).find('.obj_client').length == 0) {
|
||
$(this).html('');
|
||
}
|
||
}
|
||
});
|
||
}
|
||
|
||
/**
|
||
* Возвращает tooltip-строку с контактами клиента в формате "телефон, email".
|
||
* Пустые/null значения пропускаются, запятая ставится только между РЕАЛЬНО заполненными полями.
|
||
* client = {phone: "+79...", email: "i@x.ru"} → "+79..., i@x.ru"
|
||
* client = {phone: "+79...", email: null} → "+79..."
|
||
* client = {phone: "+79...", email: "null"} → "+79..." (строка "null" из JSON тоже отсекается)
|
||
* client = {phone: null, email: "i@x.ru"} → "i@x.ru"
|
||
* client = {phone: null, email: null} → ""
|
||
*/
|
||
function buildClientContactsTooltip(client) {
|
||
const parts = [];
|
||
if (client.phone) parts.push(client.phone);
|
||
if (client.email && client.email !== 'null') parts.push(client.email);
|
||
return parts.join(', ');
|
||
}
|
||
|
||
function renderClients(data) {
|
||
let html = '';
|
||
const firstClient = data.clients[0];
|
||
|
||
html += `<div class="obj_client${!(data.clients_count > 1) ? ' no-more' : ''}">`;
|
||
|
||
if (firstClient.can_edit) {
|
||
html += `
|
||
<a href="javascript:void(0)" onclick="openClientEventsWindowNew(${firstClient.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="${buildClientContactsTooltip(firstClient)}"
|
||
data-id="${firstClient.id}" class="neweditClient" href="javascript:void(0)">
|
||
${firstClient.fio}
|
||
</a>
|
||
</b>`;
|
||
} else {
|
||
html += `
|
||
<a href="javascript:void(0)" onclick="openClientEventsWindowNew(${firstClient.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">
|
||
<p style="display: inline-block; text-overflow: ellipsis; white-space: nowrap; max-width: 180px; overflow: hidden; line-height: inherit; vertical-align: bottom;" title="${buildClientContactsTooltip(firstClient)}">
|
||
${firstClient.fio}
|
||
</p>
|
||
</b>`;
|
||
}
|
||
|
||
if (data.clients_count > 1) {
|
||
html += `
|
||
<br/>
|
||
<a href="javascript:void(0);" class="jw__clients_popup" data-id="${data.object_id}">
|
||
показать ещё ${data.clients_count - 1}+…
|
||
</a>
|
||
<div id="popup_clients__${data.object_id}" class="object-content__clients source-how">
|
||
<div class="jw__popup source-how__popup clients__popup">
|
||
<ul class="obj_client_list">`;
|
||
|
||
for (let i = 1; i < data.clients.length; i++) {
|
||
const client = data.clients[i];
|
||
html += `<li>`;
|
||
|
||
if (client.can_edit) {
|
||
html += `
|
||
<b class="big">
|
||
<a title="${buildClientContactsTooltip(client)}"
|
||
data-id="${client.id}" class="neweditClient" href="javascript:void(0)">
|
||
${client.fio}
|
||
</a>
|
||
</b>`;
|
||
if (client.phone) {
|
||
html += ` (<a href="tel:${client.phone}">${client.phone}</a>)`;
|
||
}
|
||
} else {
|
||
html += `
|
||
<b class="big">
|
||
<p title="${buildClientContactsTooltip(client)}">
|
||
<i title="История и Задачи (клиент)" class="fa fa-chalkboard-teacher"></i>
|
||
${client.fio}
|
||
</p>
|
||
</b>`;
|
||
}
|
||
|
||
html += `</li>`;
|
||
}
|
||
|
||
html += `
|
||
</ul>
|
||
</div>
|
||
</div>`;
|
||
}
|
||
|
||
html += `</div>`;
|
||
return html;
|
||
}
|
||
|
||
function getTaskCountersForObjects(container = '.jw__objects', item = '.jw__object') {
|
||
const ids = []
|
||
$(`${container} ${item}`).each(function() {
|
||
ids.push($(this).attr("id").replace("item", ""))
|
||
})
|
||
$.ajax({
|
||
url: `/ajax/getLogSummaryForEvents.php?object_ids=${JSON.stringify(ids)}`,
|
||
success: function(result) {
|
||
if (!result) return;
|
||
JSON.parse(result).map((el) => {
|
||
if (el.schedule_group === "1") {
|
||
el.color = 'dd6360';
|
||
} else if (el.schedule_group === "2") {
|
||
el.color = 'efcd81';
|
||
} else {
|
||
el.color = '4CAF50';
|
||
}
|
||
$(`${item}#item${el.object_id}`).find('.jw__action-button .tasks').append(
|
||
$(`<span class="counter" style="background: #${el.color}">${el.total}</span>`)
|
||
)
|
||
})
|
||
},
|
||
})
|
||
}
|
||
|
||
function get_funnels(funnel_id, section, use_custom) {
|
||
let filter = $('#crm_filter_left');
|
||
|
||
// Получаем состояния фильтров
|
||
const filter_stage_work = filter.find('#filter_stage_work').hasClass('active') ? 1 : 0;
|
||
const filter_stage_close = filter.find('#filter_stage_close').hasClass('active') ? 1 : 0;
|
||
const filter_stage_hit = filter.find('#filter_stage_hit').hasClass('active') ? 1 : 0;
|
||
const filter_stage_send = filter.find('#filter_stage_send').hasClass('active') ? 1 : 0;
|
||
const filter_stage_hot = filter.find('#filter_stage_hot').hasClass('active') ? 1 : 0;
|
||
const filter_confirm = filter.find('#filter_confirm').hasClass('active') ? 1 : 0;
|
||
|
||
// Проверяем, все ли фильтры равны 0
|
||
const allFiltersOff = (
|
||
filter_stage_work === 0 &&
|
||
filter_stage_close === 0 &&
|
||
filter_stage_hit === 0 &&
|
||
filter_stage_send === 0 &&
|
||
filter_stage_hot === 0 &&
|
||
filter_confirm === 0
|
||
);
|
||
|
||
return $.post('/ajax/getFunnels.php', {
|
||
funnel_id: funnel_id,
|
||
section: section,
|
||
use_custom: use_custom,
|
||
filter_stage_work: filter_stage_work,
|
||
filter_stage_close: filter_stage_close,
|
||
filter_stage_hit: filter_stage_hit,
|
||
filter_stage_send: filter_stage_send,
|
||
filter_stage_hot: filter_stage_hot,
|
||
filter_confirm: filter_confirm,
|
||
filter_emp: allFiltersOff ? 1 : 0, // добавляем filter_emp
|
||
}, function(data) {
|
||
$('#app_clients .funnels_client .funnels_list').replaceWith($(data));
|
||
}).promise();
|
||
}
|
||
|
||
function goToClientsPage(event, input) {
|
||
if (event.keyCode === 13) {
|
||
var pageNum = $(input).val();
|
||
|
||
if (pageNum) {
|
||
get_list(pageNum);
|
||
}
|
||
}
|
||
}
|
||
|
||
function applyChangesForFilter() {
|
||
get_list();
|
||
$('.crm__filter-popup').removeClass("is__show");
|
||
}
|
||
|
||
function get_params(){
|
||
var app_clients_li = $('#funnelIdClients').val();
|
||
var param = {};
|
||
param.get_list_count = 1;
|
||
param.all = 'all';
|
||
if ($('#order').prop("checked")) {
|
||
param.order = 1;
|
||
}
|
||
if ($('#todayTasks').prop("checked")) {
|
||
param.todayTasks = 1;
|
||
}
|
||
if ($('#overTasks').prop("checked")) {
|
||
param.overTasks = 1;
|
||
}
|
||
if ($('#isPartner').prop("checked")) {
|
||
param.isPartner = 1;
|
||
}
|
||
if ($('#noTasks').prop("checked")) {
|
||
param.noTasks = 1;
|
||
}
|
||
if ($('.filter-priority1').hasClass('active')) {
|
||
param.priority1 = 1;
|
||
}
|
||
if ($('.filter-priority2').hasClass('active')) {
|
||
param.priority2 = 1;
|
||
}
|
||
if ($('.filter-priority3').hasClass('active')) {
|
||
param.priority3 = 1;
|
||
}
|
||
if ($('.filter-priority4').hasClass('active')) {
|
||
param.priority4 = 1;
|
||
}
|
||
if (app_clients_li != '') {
|
||
param.funnel = app_clients_li;
|
||
}
|
||
if ($('#of_objects').val()) {
|
||
param.of_objects = $('#of_objects').val();
|
||
}
|
||
|
||
param.date_tasks = $('#date_tasks [name=date_tasks]:checked').val();
|
||
|
||
if (typeof client_fields_filtr != "undefined") {
|
||
param.fields = client_fields_filtr.filtr.fields;
|
||
param.is_contract = client_fields_filtr.filtr.is_contract;
|
||
param.type_contract = client_fields_filtr.filtr.type_contract;
|
||
param.numder_contract = client_fields_filtr.filtr.numder_contract;
|
||
param.onDateContract = $('#contractClientOnDate').val();
|
||
param.offDateContract = $('#contractClientOffDate').val();
|
||
}
|
||
|
||
|
||
var queryParams = parseQueryString(window.location.search);
|
||
if (queryParams) {
|
||
if (queryParams.emp !== undefined) {
|
||
param.emp = queryParams.emp;
|
||
}
|
||
if (queryParams.filter_stage !== undefined) {
|
||
param.filter_stage = queryParams.filter_stage;
|
||
}
|
||
if (queryParams.denial !== undefined) {
|
||
param.denial = queryParams.denial;
|
||
}
|
||
if (queryParams.objects !== undefined) {
|
||
param.objects = queryParams.objects;
|
||
}
|
||
if (queryParams.step !== undefined) {
|
||
param.step = queryParams.step;
|
||
}
|
||
if (queryParams.source !== undefined) {
|
||
param.source = queryParams.source;
|
||
}
|
||
if (queryParams.transmitted !== undefined) {
|
||
param.transmitted = queryParams.transmitted;
|
||
}
|
||
if (queryParams.accepted !== undefined) {
|
||
param.accepted = queryParams.accepted;
|
||
}
|
||
if (queryParams.expired_stages !== undefined) {
|
||
param.expired_stages = queryParams.expired_stages;
|
||
}
|
||
|
||
}
|
||
//console.log(queryParams);
|
||
if ($('#search_filter_input').val() != '') param.search = $('#search_filter_input').val();
|
||
var period = $('.ms-crm-client-period').val();
|
||
if (period && period != '') {
|
||
param.period = period;
|
||
}
|
||
if (period == 'period') {
|
||
param.onDate = $('#onDate').val();
|
||
param.offDate = $('#offDate').val();
|
||
}
|
||
$('.filter-popup-type').each(function() {
|
||
if ($(this).hasClass('active')) {
|
||
param[$(this).attr('id')] = 1;
|
||
}
|
||
});
|
||
if ($('#filter_emp').val() !== null && $('#filter_emp').val() != '') {
|
||
param.filter_emp = JSON.stringify($('#filter_emp').val());
|
||
}
|
||
if ($('#filter-client-type').val() !== null && $('#filter-client-type').val() != '') {
|
||
param.filter_client_type = JSON.stringify($('#filter-client-type').val());
|
||
}
|
||
|
||
if ($('#filter-client-objects-type').val() !== null && $('#filter-client-objects-type').val() != '') {
|
||
param.filter_client_objects_type = JSON.stringify($('#filter-client-objects-type').val());
|
||
}
|
||
|
||
if ($('#filter_source').val() !== null && $('#filter_source').val() != '') {
|
||
param.filter_source = JSON.stringify($('#filter_source').val());
|
||
}
|
||
|
||
if ($('#filter_partner').val() !== null && $('#filter_partner').val() != '') {
|
||
param.filter_partner = JSON.stringify($('#filter_partner').val());
|
||
}
|
||
|
||
if ($('#filter_activities').val() !== null && $('#filter_activities').val() != '') {
|
||
param.filter_activities = JSON.stringify($('#filter_activities').val());
|
||
}
|
||
|
||
if ($('#filter_client_rol').val() !== null && $('#ffilter_client_rol').val() != '') {
|
||
param.filter_client_rol = JSON.stringify($('#filter_client_rol').val());
|
||
}
|
||
|
||
if ($('#filter_etap').val() !== null && $('#filter_etap').val() != '') {
|
||
param.filter_etap = JSON.stringify($('#filter_etap').val());
|
||
}
|
||
|
||
if ($('#filter_denial_work').val() !== null && $('#filter_denial_work').val() != '') {
|
||
param.filter_denial_work = JSON.stringify($('#filter_denial_work').val());
|
||
}
|
||
|
||
var page = 1;
|
||
if (page) {
|
||
param.page = page;
|
||
}
|
||
|
||
|
||
// sort_order = 0;
|
||
param.sort_order = 0;
|
||
//}
|
||
|
||
//$('#sortOrder select[name="sort_order"]').prop('selectedIndex', sort_order);
|
||
|
||
if ($('.view-kanban.active').length > 0) {
|
||
ac.kanban = true;
|
||
param.kanban = 1;
|
||
param.kanban_page = page_kanban;
|
||
$('#groupClients').hide();
|
||
}
|
||
|
||
if ($('.view-list.active').length > 0) {
|
||
param.list_view = 1;
|
||
$('#groupClients').show();
|
||
}
|
||
|
||
if ($('.view-table.active').length > 0) {
|
||
param.table_view = 1;
|
||
$('#groupClients').hide();
|
||
}
|
||
|
||
return param;
|
||
}
|
||
|
||
function get_count_clients(){
|
||
let param = get_params();
|
||
$.post('/ajax/getClientsView.php', param, function(data) {
|
||
|
||
if(data){
|
||
let count = $('.kanban__rails[data-count]').data('count') || $('.clients[data-count]').data('count') || $('.crm__table[data-count]').data('count');
|
||
let res_count = JSON.parse(data);
|
||
|
||
Object.entries(res_count).forEach(([key, value]) => {
|
||
let index = key;
|
||
//$('.kanban__head').eq(index).find('.task-count').text(value);
|
||
let countTd = parseInt(value);
|
||
let rawPercent = (countTd / count) * 100 || 0;
|
||
const percent = Number.isInteger(rawPercent) ? rawPercent.toString() : rawPercent.toFixed(2) || 0;
|
||
const color = $('.stage-step-'+index).find('.task-count-percent').css('color') || '#43A047';
|
||
let htmlTd = `
|
||
<div class="circle-progress" style="background: conic-gradient(${color} 0% ${percent}%, #dfdfdf ${percent}% 100%);
|
||
-webkit-mask: radial-gradient(farthest-side, transparent calc(100% - 3px), black calc(100% - 3px));
|
||
mask: radial-gradient(farthest-side, transparent calc(100% - 3px), black calc(100% - 3px));">
|
||
</div>
|
||
<div style="color: ${color};"class="task-count-percent">${percent}%</div>
|
||
<div style="background-color: ${color};" class="task-count">${countTd}</div>
|
||
`;
|
||
$('.stage-step-'+index).find('.task-count-holder').html(htmlTd);
|
||
});
|
||
}
|
||
});
|
||
}
|
||
|
||
|
||
function get_list(page, sort_order, preloader) {
|
||
|
||
if (typeof preloader == "undefined")
|
||
preloader = true;
|
||
|
||
let funnel_id = $('#funnelIdClients').val();
|
||
let use_custom_funnel = $('#useCustomFunnel').val();
|
||
|
||
get_funnels(funnel_id, 'clients', use_custom_funnel);
|
||
|
||
$('#changeClientAllDiv').removeClass('active');
|
||
$('.changeClientInput').prop('checked', false);
|
||
|
||
if (preloader && !$('.view-changer .view-kanban.active').length) {
|
||
$('.object-content__preloader').show();
|
||
$('#clients_list').hide();
|
||
}
|
||
|
||
var app_clients_li = $('#funnelIdClients').val();
|
||
|
||
var param = {};
|
||
param.get_list = 'all';
|
||
param.all = 'all';
|
||
if ($('#order').prop("checked")) {
|
||
param.order = 1;
|
||
}
|
||
if ($('#todayTasks').prop("checked")) {
|
||
param.todayTasks = 1;
|
||
}
|
||
if ($('#overTasks').prop("checked")) {
|
||
param.overTasks = 1;
|
||
}
|
||
if ($('#isPartner').prop("checked")) {
|
||
param.isPartner = 1;
|
||
}
|
||
if ($('#noTasks').prop("checked")) {
|
||
param.noTasks = 1;
|
||
}
|
||
if ($('.filter-priority1').hasClass('active')) {
|
||
param.priority1 = 1;
|
||
}
|
||
if ($('.filter-priority2').hasClass('active')) {
|
||
param.priority2 = 1;
|
||
}
|
||
if ($('.filter-priority3').hasClass('active')) {
|
||
param.priority3 = 1;
|
||
}
|
||
if ($('.filter-priority4').hasClass('active')) {
|
||
param.priority4 = 1;
|
||
}
|
||
if (app_clients_li != '') {
|
||
param.funnel = app_clients_li;
|
||
}
|
||
if ($('#of_objects').val()) {
|
||
param.of_objects = $('#of_objects').val();
|
||
}
|
||
|
||
param.date_tasks = $('#date_tasks [name=date_tasks]:checked').val();
|
||
|
||
if (typeof client_fields_filtr != "undefined") {
|
||
param.fields = client_fields_filtr.filtr.fields;
|
||
param.is_contract = client_fields_filtr.filtr.is_contract;
|
||
param.type_contract = client_fields_filtr.filtr.type_contract;
|
||
param.numder_contract = client_fields_filtr.filtr.numder_contract;
|
||
param.onDateContract = $('#contractClientOnDate').val();
|
||
param.offDateContract = $('#contractClientOffDate').val();
|
||
}
|
||
|
||
|
||
var queryParams = parseQueryString(window.location.search);
|
||
if (queryParams) {
|
||
if (queryParams.emp !== undefined) {
|
||
param.emp = queryParams.emp;
|
||
}
|
||
if (queryParams.filter_stage !== undefined) {
|
||
param.filter_stage = queryParams.filter_stage;
|
||
}
|
||
if (queryParams.denial !== undefined) {
|
||
param.denial = queryParams.denial;
|
||
}
|
||
if (queryParams.objects !== undefined) {
|
||
param.objects = queryParams.objects;
|
||
}
|
||
if (queryParams.step !== undefined) {
|
||
param.step = queryParams.step;
|
||
}
|
||
if (queryParams.source !== undefined) {
|
||
param.source = queryParams.source;
|
||
}
|
||
if (queryParams.transmitted !== undefined) {
|
||
param.transmitted = queryParams.transmitted;
|
||
}
|
||
if (queryParams.accepted !== undefined) {
|
||
param.accepted = queryParams.accepted;
|
||
}
|
||
if (queryParams.expired_stages !== undefined) {
|
||
param.expired_stages = queryParams.expired_stages;
|
||
}
|
||
|
||
}
|
||
//console.log(queryParams);
|
||
if ($('#search_filter_input').val() != '') param.search = $('#search_filter_input').val();
|
||
var period = $('.ms-crm-client-period').val();
|
||
if (period && period != '') {
|
||
param.period = period;
|
||
}
|
||
if (period == 'period') {
|
||
param.onDate = $('#onDate').val();
|
||
param.offDate = $('#offDate').val();
|
||
}
|
||
$('.filter-popup-type').each(function() {
|
||
if ($(this).hasClass('active')) {
|
||
param[$(this).attr('id')] = 1;
|
||
}
|
||
});
|
||
if ($('#filter_emp').val() !== null && $('#filter_emp').val() != '') {
|
||
param.filter_emp = JSON.stringify($('#filter_emp').val());
|
||
}
|
||
if ($('#filter-client-type').val() !== null && $('#filter-client-type').val() != '') {
|
||
param.filter_client_type = JSON.stringify($('#filter-client-type').val());
|
||
}
|
||
|
||
if ($('#filter-client-objects-type').val() !== null && $('#filter-client-objects-type').val() != '') {
|
||
param.filter_client_objects_type = JSON.stringify($('#filter-client-objects-type').val());
|
||
}
|
||
|
||
if ($('#filter_source').val() !== null && $('#filter_source').val() != '') {
|
||
param.filter_source = JSON.stringify($('#filter_source').val());
|
||
}
|
||
|
||
if ($('#filter_partner').val() !== null && $('#filter_partner').val() != '') {
|
||
param.filter_partner = JSON.stringify($('#filter_partner').val());
|
||
}
|
||
|
||
if ($('#filter_activities').val() !== null && $('#filter_activities').val() != '') {
|
||
param.filter_activities = JSON.stringify($('#filter_activities').val());
|
||
}
|
||
|
||
if ($('#filter_client_rol').val() !== null && $('#ffilter_client_rol').val() != '') {
|
||
param.filter_client_rol = JSON.stringify($('#filter_client_rol').val());
|
||
}
|
||
|
||
if ($('#filter_etap').val() !== null && $('#filter_etap').val() != '') {
|
||
param.filter_etap = JSON.stringify($('#filter_etap').val());
|
||
}
|
||
|
||
if ($('#filter_denial_work').val() !== null && $('#filter_denial_work').val() != '') {
|
||
param.filter_denial_work = JSON.stringify($('#filter_denial_work').val());
|
||
}
|
||
|
||
//var page = -1;
|
||
if (page) {
|
||
param.page = page;
|
||
page_kanban = page;
|
||
}
|
||
|
||
if (sort_order) {
|
||
param.sort_order = sort_order;
|
||
} else {
|
||
sort_order = 0;
|
||
param.sort_order = sort_order;
|
||
}
|
||
|
||
//$('#sortOrder select[name="sort_order"]').prop('selectedIndex', sort_order);
|
||
|
||
if ($('.view-kanban.active').length > 0) {
|
||
ac.kanban = true;
|
||
param.kanban = 1;
|
||
param.kanban_page = page_kanban;
|
||
$('#groupClients').hide();
|
||
}
|
||
|
||
if ($('.view-list.active').length > 0) {
|
||
param.list_view = 1;
|
||
$('#groupClients').show();
|
||
}
|
||
|
||
if ($('.view-table.active').length > 0) {
|
||
param.table_view = 1;
|
||
$('#groupClients').hide();
|
||
}
|
||
|
||
$.post('/ajax/getClientsView.php', param, function(data) {
|
||
//console.log(data);
|
||
|
||
/* if (preloader)
|
||
$('.object-content__preloader').hide();*/
|
||
|
||
if ($('.view-kanban.active').length > 0 && page_kanban == 1) {
|
||
|
||
if($('#clients_list').length > 0){
|
||
$('#clients_list').html(data);
|
||
|
||
$(".kanban__sortable").sortable({
|
||
connectWith: ".connectedSortable",
|
||
helper: "clone",
|
||
placeholder: "is__highlight",
|
||
update: function(event, ui) {
|
||
|
||
var id = $('.funnels_client li.active').data("id");
|
||
var stage = $(ui.item).closest('.kanban__sortable').data("stage");
|
||
var idclient = $(ui.item).attr("id").replace("kanban_item_li_", "");
|
||
|
||
if (id === undefined || id === 0) {
|
||
//console.log($(event));
|
||
|
||
var turn = 0;
|
||
var turns = {};
|
||
$(ui.item).closest('.kanban__sortable').find('li').each(function(index) {
|
||
// console.log($(this).attr("id"));
|
||
if ($(this).attr("id") == "kanban_item_li_" + idclient) {
|
||
turn = (index + 1);
|
||
}
|
||
turns[$(this).attr("id").replace("kanban_item_li_", "")] = (index + 1);
|
||
});
|
||
|
||
if (stage === 8) {
|
||
if (!$("#del_client_bg").is(":visible")) {
|
||
$("#del_client_bg").fadeIn(500);
|
||
|
||
$("#del_client").toggle(10);
|
||
|
||
$("#del_client").find('input[name="id_funnel_client"]').val('0');
|
||
$("#del_client").find('input[name="id_del_client"]').val(idclient);
|
||
set_select_denial_work(0);
|
||
|
||
$("body").addClass("lock");
|
||
}
|
||
} else {
|
||
$.post('/ajax/addEditClient.php', {
|
||
stage_edit: stage,
|
||
id: idclient,
|
||
turn: JSON.stringify(turns)
|
||
},
|
||
function() {
|
||
delete param.get_list;
|
||
param.get_list_count = 1;
|
||
$.post('/ajax/getClientsView.php', param, function(data) {
|
||
|
||
if(data){
|
||
let count = $('.kanban__rails[data-count]').data('count') || $('.clients[data-count]').data('count') || $('.crm__table[data-count]').data('count');
|
||
let res_count = JSON.parse(data);
|
||
|
||
Object.entries(res_count).forEach(([key, value]) => {
|
||
let index = key - 1;
|
||
//$('.kanban__head').eq(index).find('.task-count').text(value);
|
||
let countTd = parseInt(value);
|
||
let rawPercent = (countTd / count) * 100 || 0;
|
||
const percent = Number.isInteger(rawPercent) ? rawPercent.toString() : rawPercent.toFixed(2) || 0;
|
||
const color = $('.kanban__head').eq(index).find('.task-count-percent').css('color') || '#43A047';
|
||
let htmlTd = `
|
||
<div class="circle-progress" style="background: conic-gradient(${color} 0% ${percent}%, #dfdfdf ${percent}% 100%);
|
||
-webkit-mask: radial-gradient(farthest-side, transparent calc(100% - 3px), black calc(100% - 3px));
|
||
mask: radial-gradient(farthest-side, transparent calc(100% - 3px), black calc(100% - 3px));">
|
||
</div>
|
||
<div style="color: ${color};"class="task-count-percent">${percent}%</div>
|
||
<div style="background-color: ${color};" class="task-count">${countTd}</div>
|
||
`;
|
||
$('.kanban__head').eq(index).find('.task-count-holder').html(htmlTd);
|
||
});
|
||
|
||
|
||
}
|
||
});
|
||
});
|
||
}
|
||
} else {
|
||
|
||
$.post('/ajax/funnel_step_check_close.php', { 'step': stage, 'client': idclient }, function(checkRes) {
|
||
//console.log(checkRes);
|
||
var resParsed = JSON.parse(checkRes);
|
||
if (resParsed.result === '0') {
|
||
//showAfterStageFail();
|
||
ac.clientId = idclient;
|
||
ac.openPrevStep();
|
||
//return;
|
||
//$(".kanban__sortable").sortable("cancel");
|
||
} else {
|
||
if (app_clients_li != '' && app_clients_li == 0) {
|
||
|
||
} else {
|
||
$.post('/ajax/funnel_step_close.php', {
|
||
'step': resParsed.etap,
|
||
'client': idclient
|
||
}, function(res) {
|
||
ac.closesStep = true;
|
||
ac.kanban = true;
|
||
ac.step = JSON.parse(res);
|
||
ac.clientId = idclient;
|
||
ac.stepId = resParsed.etap;
|
||
ac.openStep();
|
||
});
|
||
}
|
||
}
|
||
});
|
||
}
|
||
}
|
||
|
||
});
|
||
|
||
$('#kanban___list').on('scroll', kanbanScrollHandler);
|
||
$(".kanban__sortable").disableSelection();
|
||
|
||
$(".kanban").overscroll({
|
||
direction: 'horizontal',
|
||
cancelOn: '.kanban__item',
|
||
// dragHold: true,
|
||
captureWheel: true,
|
||
showThumbs: false
|
||
});
|
||
}
|
||
} else {
|
||
if ($('.view-kanban.active').length > 0 && page_kanban > 1) {
|
||
var res = JSON.parse(data);
|
||
//console.log(res.source);
|
||
if (res.source == 'done') {
|
||
for (var classUl in res) {
|
||
for (var li in res[classUl]) {
|
||
$('.' + classUl + ' ul').append(res[classUl][li]);
|
||
}
|
||
}
|
||
add_knban = true;
|
||
|
||
$('head').append(res.scriptToExec);
|
||
}
|
||
} else {
|
||
$('#clients_list').html(data);
|
||
$('#clients_list .clients').show();
|
||
check_client_all_filter();
|
||
}
|
||
}
|
||
|
||
let count = $('.kanban__rails[data-count]').data('count') || $('.clients[data-count]').data('count') || $('.crm__table[data-count]').data('count');
|
||
|
||
|
||
document.querySelectorAll('td.task-count').forEach(td => {
|
||
const countTd = parseFloat(td.textContent) || 0;
|
||
const newTd = document.createElement('td');
|
||
newTd.className = 'task-count-holder';
|
||
let rawPercent = (countTd / count) * 100 || 0;
|
||
const percent = Number.isInteger(rawPercent) ? rawPercent.toString() : rawPercent.toFixed(2) || 0;
|
||
const color = window.getComputedStyle(td).backgroundColor || '#00aaff';
|
||
|
||
newTd.innerHTML = `
|
||
<div class="circle-progress" style="background: conic-gradient(${color} 0% ${percent}%, #dfdfdf ${percent}% 100%);
|
||
-webkit-mask: radial-gradient(farthest-side, transparent calc(100% - 3px), black calc(100% - 3px));
|
||
mask: radial-gradient(farthest-side, transparent calc(100% - 3px), black calc(100% - 3px));">
|
||
</div>
|
||
<div style="color: ${color};"class="task-count-percent">${percent}%</div>
|
||
<div style="background-color: ${color};" class="task-count">${countTd}</div>
|
||
`;
|
||
|
||
td.replaceWith(newTd);
|
||
});
|
||
|
||
if (typeof count !== "undefined") {
|
||
$('#totalCount .text').text(count);
|
||
$('#totalCount').show();
|
||
} else {
|
||
$('#totalCount .text').text(0);
|
||
$('#totalCount').hide();
|
||
}
|
||
|
||
$('#clients_list').show();
|
||
});
|
||
|
||
}
|
||
|
||
function pagination(page) {
|
||
let sort_order = $('select[name=sort_order]').val();
|
||
get_list(page, sort_order);
|
||
}
|
||
|
||
var search_option = 0;
|
||
|
||
function show_options_search() {
|
||
var val = 0;
|
||
|
||
if ($('.ms-crm-client-period').val() != 'all') {
|
||
val++;
|
||
}
|
||
if ($('#order').prop("checked")) {
|
||
val++;
|
||
|
||
}
|
||
if ($('.filter-priority1').hasClass('active')) {
|
||
val++;
|
||
}
|
||
if ($('.filter-priority2').hasClass('active')) {
|
||
val++;
|
||
}
|
||
if ($('.filter-priority3').hasClass('active')) {
|
||
val++;
|
||
}
|
||
if ($('.filter-priority4').hasClass('active')) {
|
||
val++;
|
||
}
|
||
if ($('#noTasks').prop("checked")) {
|
||
val++;
|
||
|
||
}
|
||
$('.filter-popup-type').each(function() {
|
||
if ($(this).hasClass('active')) val++;
|
||
});
|
||
|
||
if ($('#filter_emp').val() && $('#filter_emp').val() != '') val++;
|
||
if ($('#filter-client-type').val() && $('#filter-client-type').val() != '') val++;
|
||
if ($('#filter-client-objects-type').val() && $('#filter-client-objects-type').val() != '') val++;
|
||
if ($('#filter_source').val() && $('#filter_source').val() != '') val++;
|
||
if ($('#filter_partner').val() && $('#filter_partner').val() != '') val++;
|
||
if ($('#filter_activities').val() && $('#filter_activities').val() != '') val++;
|
||
if ($('#filter_client_rol').val() && $('#filter_client_rol').val() != '') val++;
|
||
if ($('#filter_denial_work').val() && $('#filter_denial_work').val() != '') val++;
|
||
if ($('#filter_etap').val() && $('#filter_etap').val() != '') val++;
|
||
if ($('#of_objects').val() && $('#of_objects').val() != '') val++;
|
||
if (val > 0) {
|
||
$(".search-query-item.crm_clients").show();
|
||
var text = val + " опции";
|
||
if (val == 1) text = val + " опция";
|
||
if (val > 4) text = val + " опций";
|
||
$(".search-query-item.crm_clients span").text(text);
|
||
} else {
|
||
$(".search-query-item.crm_clients").hide();
|
||
}
|
||
}
|
||
|
||
function show_objects_options_search() {
|
||
let val = 0;
|
||
|
||
$('.filter-popup-type').each(function() {
|
||
if ($(this).hasClass('active')) val++;
|
||
});
|
||
|
||
if ($('#filter-object-employee').val() && $('#filter-object-employee').val() != '') val++;
|
||
if ($('#filter-object-type').val() && $('#filter-object-type').val() != '') val++;
|
||
if ($('#filter-object-activities').val() && $('#filter-object-activities').val() != '') val++;
|
||
if ($('#filter-object-deal-type').val() && $('#filter-object-deal-type').val() != '') val++;
|
||
if ($('#objects_filter_commission').val() && $('#objects_filter_commission').val() != '') val++;
|
||
if ($('#objects_filter_cena_ot').val() && $('#objects_filter_cena_ot').val() != '') val++;
|
||
if ($('#objects_filter_cena_do').val() && $('#objects_filter_cena_do').val() != '') val++;
|
||
if ($('#objects_filter_commission_to').val() && $('#objects_filter_commission_to').val() != '') val++;
|
||
if ($('#objects_filter_komnat_from').val() && $('#objects_filter_komnat_from').val() != '') val++;
|
||
if ($('#objects_filter_komnat_to').val() && $('#objects_filter_komnat_to').val() != '') val++;
|
||
if ($('#filter-not-advert[data-active="1"]').length) val++;
|
||
if ($('#filter-ads-errors[data-active="1"]').length) val++;
|
||
if ($('#filter-object-fields[data-active="1"]').length) val++;
|
||
if ($('#filter_is_reports[data-active="1"]').length) val++;
|
||
if ($('#filter_is_free[data-active="1"]').length) val++;
|
||
if ($('#filter_is_package[data-active="1"]').length) val++;
|
||
if ($('#filter_is_promotion[data-active="1"]').length) val++;
|
||
if ($('#addToAvitoFilter').hasClass('active')) {
|
||
val++;
|
||
}
|
||
if ($('#addToCianFilter').hasClass('active')) {
|
||
val++;
|
||
}
|
||
|
||
if ($('#addToDomClickFilter').hasClass('active')) {
|
||
val++;
|
||
}
|
||
|
||
if ($('#addToEMLSFilter').hasClass('active')) {
|
||
val++;
|
||
}
|
||
|
||
if ($('#addToYandexFilter').hasClass('active')) {
|
||
val++;
|
||
}
|
||
if (val >= 0) {
|
||
$(".search-query-item.crm_objects").show();
|
||
|
||
let text = val + " опции";
|
||
if (val == 1)
|
||
text = val + " опция";
|
||
|
||
if (val > 4)
|
||
text = val + " опций";
|
||
|
||
$(".search-query-item.crm_objects span").text(text);
|
||
}
|
||
}
|
||
|
||
function get_kanban_li(id, stage, priority) {
|
||
console.log(id);
|
||
console.log(stage);
|
||
if (typeof priority != 'undefined') {
|
||
document.getElementById('kanban_item_li_' + id).className = 'kanban__item p' + priority;
|
||
}
|
||
$.post("/ajax/getClientsView.php", { get_kanban_li: id }, function(data) {
|
||
//console.log(data);
|
||
$('#kanban_item_li_' + id).html(data);
|
||
var satage_parent = $('#kanban_item_li_' + id).closest('.connectedSortable').data("stage");
|
||
//console.log(satage_parent);
|
||
if (stage != satage_parent) {
|
||
var temp_html = $('#kanban_item_li_' + id).html();
|
||
var c = document.getElementById('kanban_item_li_' + id).classList.length > 1 ?
|
||
' ' + document.getElementById('kanban_item_li_' + id).classList[1] : '';
|
||
var p = priority ? ' p' + priority : c;
|
||
$('#kanban_item_li_' + id).remove();
|
||
$('.connectedSortable').each(function() {
|
||
if ($(this).data("stage") == stage) {
|
||
$(this).prepend('<li class="kanban__item' + p + '" id="kanban_item_li_' + id + '">' + temp_html + '</li>');
|
||
}
|
||
});
|
||
}
|
||
});
|
||
}
|
||
|
||
function salesPlanUser(id) {
|
||
|
||
//console.log(id);
|
||
|
||
$("#send_bg_plan").fadeIn(500);
|
||
|
||
$("#send_plan").show(10);
|
||
|
||
$("body").addClass("lock");
|
||
$('#send_bg_plan #user_sales_plan').val(id);
|
||
$('#send_bg_plan .monthPicker').datepicker().data('datepicker').selectDate(new Date());
|
||
|
||
getSalesPlan();
|
||
|
||
return false;
|
||
}
|
||
|
||
function getSalesPlan() {
|
||
var month = $("#month_sales_plan").val();
|
||
var year = $("#year_sales_plan").val();
|
||
var user_id = $('#send_bg_plan #user_sales_plan').val();
|
||
/*var html = '<div style="text-align:center" class="object-content__preloader">'+
|
||
'<img src="../images/ajax_preloader.gif">'+
|
||
'</div>';
|
||
$('#users_plans').html(html); */
|
||
$.post('/ajax/sales_plan.php', { get_users_plan: 'get_users_plan', month: month, year: year, user_id: user_id }, function(data) {
|
||
console.log(data);
|
||
if (data) {
|
||
var res = JSON.parse(data);
|
||
$('#send_plan input[name=plan]').val(res.summa);
|
||
$('#send_plan input[name=quantity]').val(res.quantity);
|
||
$('#send_plan .tabs__caption span').text(res.fio);
|
||
}
|
||
})
|
||
}
|
||
|
||
function openMes(id) {
|
||
$("#merepriation_bg").show();
|
||
$("#merepriation-history").show();
|
||
$("body").addClass("lock");
|
||
$.post('/ajax/getCharts.php', { event_id: id }, function(data) {
|
||
$('#merepriation-info-block').html(data);
|
||
});
|
||
}
|
||
|
||
function updateMes(id) {
|
||
if ($('#client-history__bg').css('display') == 'block') {
|
||
$.post('/ajax/getCharts.php', { update_event_id: id }, function(data) {
|
||
//console.log(data);
|
||
$('#chat_content_' + id).html(data);
|
||
});
|
||
} else {
|
||
openMes(id);
|
||
}
|
||
}
|
||
|
||
function initTaskWin() {
|
||
$('.datepicker-here').datepicker();
|
||
$('.ms-big-add-client').fastselect({
|
||
placeholder: 'Клиент'
|
||
});
|
||
$('#addTask .ms-crm-client-work').fastselect({
|
||
onItemCreate: function(item, model) {
|
||
if ($('#addTask .ms-crm-client-work').find('option[value=' + model.value + ']').hasClass('bolt')) {
|
||
$(item).addClass('bolt');
|
||
}
|
||
},
|
||
placeholder: 'Ответственный',
|
||
onItemSelect: function(item) {
|
||
var divId = 'addTask';
|
||
var mainDivClass = $('#' + divId + ' .tabs__caption .active').data("id");
|
||
var res = $('#' + divId + ' .tabs__content.' + mainDivClass + ' .ms-crm-client-work').val();
|
||
// $('.tabs__content.'+mainDivClass+' .ms-big-add-client').closest('.inputs').html('');
|
||
$.post('/ajax/getCharts.php', { getSelectClients: 'getSelectClients', responsible: JSON.stringify(res), user_id: $('#session_user_id').val(), users_admin: $('#session_user_admin').val() }, function(data) {
|
||
|
||
$('#' + divId + ' .tabs__content.' + mainDivClass + ' .ms-big-add-client').closest('.crm__filter-input').html(data);
|
||
$('#' + divId + ' .tabs__content.' + mainDivClass + ' .ms-big-add-client').fastselect({
|
||
placeholder: 'Клиент'
|
||
});
|
||
});
|
||
},
|
||
onItemDelete: function() {
|
||
var divId = 'addTask';
|
||
|
||
var mainDivClass = $('#' + divId + ' .tabs__caption .active').data("id");
|
||
var res = $('#' + divId + ' .tabs__content.' + mainDivClass + ' .ms-crm-client-work').val();
|
||
// $('.tabs__content.'+mainDivClass+' .ms-big-add-client').closest('.inputs').html('');
|
||
$.post('/ajax/getCharts.php', { getSelectClients: 'getSelectClients', responsible: JSON.stringify(res), user_id: $('#session_user_id').val(), users_admin: $('#session_user_admin').val() }, function(data) {
|
||
|
||
$('#' + divId + ' .tabs__content.' + mainDivClass + ' .ms-big-add-client').closest('.crm__filter-input').html(data);
|
||
$('#' + divId + ' .tabs__content.' + mainDivClass + ' .ms-big-add-client').fastselect({
|
||
placeholder: 'Клиент'
|
||
});
|
||
});
|
||
}
|
||
});
|
||
}
|
||
|
||
function cancelPartner(partnerId, clientId, reqId) {
|
||
if (confirm("Вы точно хотите отключить партнера?")) {
|
||
$.post('/ajax/cancelPartner.php', {
|
||
partnerId: partnerId,
|
||
clientId: clientId,
|
||
reqId: reqId
|
||
}, function() {
|
||
var url = '/ajax/getClientLogForEventsNew.php?id=' + clientId;
|
||
if (reqId > 0) {
|
||
url += '&req_id=' + reqId;
|
||
}
|
||
$.ajax({
|
||
url: url,
|
||
success: function(data) {
|
||
$('#client-info-block').html(data);
|
||
$('#client_history .history__chat-n').animate({
|
||
scrollTop: $('#client-info-block').prop("scrollHeight")
|
||
}, 500, function() {
|
||
$('#client_history .history__chat-n').slimScroll({ scrollTo: $('#client-info-block').prop("scrollHeight") + 'px' });
|
||
});
|
||
if ($('#calendar').length) {
|
||
$('#calendar').fullCalendar('refetchEvents');
|
||
}
|
||
}
|
||
});
|
||
});
|
||
}
|
||
}
|
||
|
||
function editEvent(id, type, client_id, req_id) {
|
||
$.ajax({
|
||
url: '/ajax/modals/addTaskWinContent.php',
|
||
success: function(data) {
|
||
$("#addTaskBg").html(data);
|
||
$('#addTask .event .otvetstven1').hide();
|
||
initTaskWin();
|
||
$("#addTaskBg").show();
|
||
$("#addTask").show();
|
||
$("body").addClass("lock");
|
||
$('#clientIdEvent').val('');
|
||
$('#callTelphin_1').prop('checked', false);
|
||
$('#intervalTo_1').hide();
|
||
$('#intervalToLabel_1').hide();
|
||
$('#spanFromInterval_1').hide();
|
||
$('.intervalBlock .label').css('float', 'left');
|
||
// console.log($('#addTask .tabs__caption li'));
|
||
$('#addTask .tabs__caption li').css('visibility', 'hidden');
|
||
if (type == 'even') {
|
||
$('#addTask .event').click();
|
||
$('#addTask .event').css('visibility', 'unset');
|
||
}
|
||
if (type == 'meet') {
|
||
$('#addTask .meet').click();
|
||
$('#addTask .meet').css('visibility', 'unset');
|
||
}
|
||
if (type == 'call') {
|
||
$('#addTask .call').click();
|
||
$('#addTask .call').css('visibility', 'unset');
|
||
}
|
||
if (type == 'show') {
|
||
$('#addTask .show').click();
|
||
$('#addTask .show').css('visibility', 'unset');
|
||
}
|
||
if (type == 'deal') {
|
||
$('#addTask .deal').click();
|
||
$('#addTask .deal').css('visibility', 'unset');
|
||
}
|
||
$('#addTask .modal-submit button').text('Сохранить');
|
||
$('#addTask .modal-submit button').removeAttr('data-id');
|
||
$('#addTask .modal-submit button').attr('data-id', id);
|
||
|
||
if (id == 0) {
|
||
if (type == 'even') {
|
||
var section = 'client';
|
||
var selector = '#addTask';
|
||
var id_par = 0;
|
||
$('#addTask .event #eventName').val('');
|
||
$('#addTask .event #dealComment').val('');
|
||
$('#addTask .event #dealDatetime').datepicker().data('datepicker').selectDate(new Date());
|
||
$('#addTask .event .otvetstven').hide();
|
||
$('#addTask .event .otvetstven1').show();
|
||
$('#addTask .event .klient').hide();
|
||
if (client_id) {
|
||
$('#clientIdEvent').val(client_id);
|
||
id_par = client_id;
|
||
}
|
||
if (req_id) {
|
||
section = 'req';
|
||
id_par = req_id;
|
||
$('#reqIdEvent').val(req_id);
|
||
}
|
||
get_select_who_work_task(selector, section, id_par);
|
||
}
|
||
} else {
|
||
$.post("/ajax/getEventForId.php", { event_id: id }, function(data) {
|
||
|
||
var res = JSON.parse(data);
|
||
if (type == 'even') {
|
||
$('#addTask .event #eventName').val(res.name);
|
||
$('#addTask .event #dealComment').val(res.comment);
|
||
$('#addTask .event #dealDatetime').datepicker().data('datepicker').selectDate(new Date(res.schedule_date));
|
||
$('#addTask .event .otvetstven').hide();
|
||
$('#addTask .event .klient').hide();
|
||
if (client_id) {
|
||
$('#clientIdEvent').val(client_id);
|
||
}
|
||
if (req_id) {
|
||
$('#reqIdEvent').val(req_id);
|
||
}
|
||
}
|
||
if (type == 'meet') {
|
||
$('#addTask .meet #meetDatetime').datepicker().data('datepicker').selectDate(new Date(res.schedule_date));
|
||
$('#addTask .meet #meetComment').val(res.comment);
|
||
$('#addTask .meet #meetAddress').val(res.address);
|
||
$('#addTask .meet .otvetstven').hide();
|
||
$('#addTask .meet .klient').hide();
|
||
}
|
||
if (type == 'call') {
|
||
$('#addTask .call #showDatetime').datepicker().data('datepicker').selectDate(new Date(res.schedule_date));
|
||
$('#addTask .call #callComment').val(res.comment);
|
||
$('#addTask .call .otvetstven').hide();
|
||
$('#addTask .call .klient').hide();
|
||
if (res.tracking && res.tracking == 1) {
|
||
$('#callTelphin_1').prop('checked', true);
|
||
$('#intervalTo_1').show();
|
||
$('#intervalToLabel_1').show();
|
||
$('#spanFromInterval_1').show();
|
||
$('#to_showDatetime_1').datepicker().data('datepicker').selectDate(new Date(res.schedule_date_to));
|
||
$('.intervalBlock .label').css('float', 'initial');
|
||
}
|
||
}
|
||
if (type == 'show') {
|
||
$('#addTask .show #meetDatetime').datepicker().data('datepicker').selectDate(new Date(res.schedule_date));
|
||
$('#addTask .show #meetComment').val(res.comment);
|
||
$('#addTask .show #meetAddress').val(res.address);
|
||
$('#addTask .show .otvetstven').hide();
|
||
$('#addTask .show .klient').hide();
|
||
}
|
||
if (type == 'deal') {
|
||
$('#addTask .deal #dealDatetime').datepicker().data('datepicker').selectDate(new Date(res.schedule_date));
|
||
$('#addTask .deal #dealComment').val(res.comment);
|
||
$('#addTask .deal #dealSum').val(res.sum);
|
||
$('#addTask .deal .otvetstven').hide();
|
||
$('#addTask .deal .klient').hide();
|
||
}
|
||
});
|
||
}
|
||
}
|
||
});
|
||
|
||
return false;
|
||
}
|
||
|
||
function editEventObj(id, type) {
|
||
|
||
if (type != 'comment') {
|
||
$("#addTaskBgObj").show();
|
||
$("#addTaskObj").show();
|
||
$("body").addClass("lock");
|
||
$('#addTaskObj .tabs__caption li').css('visibility', 'hidden');
|
||
$('#addTaskObj .action_obj_call').text('Сохранить');
|
||
|
||
$('#addTaskObj .action_obj_call').removeAttr('data-id');
|
||
$('#addTaskObj .action_obj_call').attr("data-id", id);
|
||
|
||
$('#addTaskObj .action_obj_call').removeAttr('data-type');
|
||
$('#addTaskObj .action_obj_call').attr("data-type", type);
|
||
}
|
||
if (type == 'even') {
|
||
$('#addTaskObj .event').click();
|
||
$('#addTaskObj .event').css('visibility', 'unset');
|
||
}
|
||
if (type == 'meet') {
|
||
$('#addTaskObj .meet').click();
|
||
$('#addTaskObj .meet').css('visibility', 'unset');
|
||
}
|
||
if (type == 'call') {
|
||
$('#addTaskObj .call').click();
|
||
$('#addTaskObj .call').css('visibility', 'unset');
|
||
}
|
||
if (type == 'show') {
|
||
$('#addTaskObj .show').click();
|
||
$('#addTaskObj .show').css('visibility', 'unset');
|
||
}
|
||
if (type == 'deal') {
|
||
$('#addTaskObj .deal').click();
|
||
$('#addTaskObj .deal').css('visibility', 'unset');
|
||
}
|
||
|
||
$('#addTaskObj .event').hide();
|
||
$('#addTaskObj .meet').hide();
|
||
$('#addTaskObj .call').hide();
|
||
$('#addTaskObj .show').hide();
|
||
$('#addTaskObj .deal').hide();
|
||
|
||
if (id == 0) {
|
||
if (type == 'even') {
|
||
$('#addTaskObj .event').show();
|
||
$('#addTaskObj .event #eventName').val('');
|
||
$('#addTaskObj .event #dealComment').val('');
|
||
$('#addTaskObj .event #dealDatetime').datepicker().data('datepicker').selectDate(new Date());
|
||
$('#addTaskObj .event .otvetstven').hide();
|
||
$('#addTaskObj .event .klient').hide();
|
||
/*if (client_id) {
|
||
$('#clientIdEvent').val(client_id);
|
||
}*/
|
||
}
|
||
} else {
|
||
|
||
$.post("/ajax/getEventForObjId.php", { event_id: id }, function(data) {
|
||
|
||
var res = JSON.parse(data);
|
||
//console.log(type);
|
||
//console.log(data);
|
||
|
||
$('#addTaskBgObj .action_obj_call').attr("data-objectid", res.object_id);
|
||
if (type == 'comment') {
|
||
if ($('#object-history').css('display') != 'none') {
|
||
|
||
$('#object-history .chat-form #cancelTextButton').click();
|
||
|
||
$('#object-history .chat-form #submitTextButton').attr('data-id', res.object_id);
|
||
$('#object-history .chat-form #submitTextButton').attr('data-event-id', res.id);
|
||
$('#object-history .chat-form #chatTextArea').val(res.comment);
|
||
$('#object-history .chat-form #cancelTextButton').show();
|
||
$('#object-history .chat-form .chat-textarea').css({ 'margin-left': "15px" });
|
||
$('#object-history .chat-form .submit').css({ 'width': "120px" });
|
||
$('#object-history .chat-form .task').hide();
|
||
if ($('#chat_content_' + res.id).length > 0) {
|
||
$('#chat_content_' + res.id).closest('.chat-block').css({
|
||
'opacity': "0.42",
|
||
'pointer-events': "none"
|
||
});
|
||
}
|
||
}
|
||
|
||
/*if (client_id) {
|
||
$('#clientIdEvent').val(client_id);
|
||
}*/
|
||
}
|
||
if (type == 'even') {
|
||
$('#addTaskObj .event').show();
|
||
$('#addTaskObj .event #eventName').val(res.name);
|
||
$('#addTaskObj .event #dealComment').val(res.comment);
|
||
$('#addTaskObj .event #dealDatetime').datepicker().data('datepicker').selectDate(new Date(res.schedule_date.replace(' ', 'T')));
|
||
$('#addTaskObj .event .otvetstven').hide();
|
||
$('#addTaskObj .event .klient').hide();
|
||
/*if (client_id) {
|
||
$('#clientIdEvent').val(client_id);
|
||
}*/
|
||
}
|
||
if (type == 'meet') {
|
||
$('#addTaskObj .meet').show();
|
||
$('#addTaskObj .meet #meetDatetime').datepicker().data('datepicker').selectDate(new Date(res.schedule_date.replace(' ', 'T')));
|
||
$('#addTaskObj .meet #meetComment').val(res.comment);
|
||
$('#addTaskObj .meet #meetAddress').val(res.address);
|
||
$('#addTaskObj .meet .otvetstven').hide();
|
||
$('#addTaskObj .meet .klient').hide();
|
||
}
|
||
if (type == 'call') {
|
||
$('#addTaskObj .call').show();
|
||
$('#addTaskObj .call .callDatetime').datepicker().data('datepicker').selectDate(new Date(res.schedule_date.replace(' ', 'T')));
|
||
$('#addTaskObj .call .callComment').val(res.comment);
|
||
$('#addTaskObj .call .otvetstven').hide();
|
||
$('#addTaskObj .call .klient').hide();
|
||
|
||
}
|
||
if (type == 'show') {
|
||
$('#addTaskObj .show').show();
|
||
$('#addTaskObj .show #showDatetime').datepicker().data('datepicker').selectDate(new Date(res.schedule_date.replace(' ', 'T')));
|
||
$('#addTaskObj .show #showComment').val(res.comment);
|
||
$('#addTaskObj .show #showAddress').val(res.address);
|
||
$('#addTaskObj .show .otvetstven').hide();
|
||
$('#addTaskObj .show .klient').hide();
|
||
$('#showRequisitionsEditInput').html('');
|
||
$("#showRequisitionsEditInput").html('<input type="text" id="showRequisitionsEdit" data-url="/ajax/lists/list_reqs_object.php?id=' + res.object_id + '" data-load-once="true">');
|
||
|
||
$('#showRequisitionsEdit').val(parseInt(res.req_id));
|
||
$("#showRequisitionsEdit").attr('data-initial-value', JSON.stringify(res.req));
|
||
$('#showRequisitionsEdit').fastselect({
|
||
placeholder: 'Заявка',
|
||
|
||
});
|
||
}
|
||
if (type == 'deal') {
|
||
$('#addTaskObj .deal').show();
|
||
$('#addTaskObj .deal #dealDatetime').datepicker().data('datepicker').selectDate(new Date(res.schedule_date.replace(' ', 'T')));
|
||
$('#addTaskObj .deal #dealComment').val(res.comment);
|
||
$('#addTaskObj .deal #dealSum').val(res.sum);
|
||
$('#addTaskObj .deal .otvetstven').hide();
|
||
$('#addTaskObj .deal .klient').hide();
|
||
}
|
||
|
||
});
|
||
}
|
||
return false;
|
||
|
||
}
|
||
|
||
function editNoteObj(id) {
|
||
$.post("/ajax/getNoteForObjId.php", { note_id: id }, function(data) {
|
||
let res = JSON.parse(data);
|
||
//console.log(data);
|
||
|
||
if ($('#object-notes').css('display') != 'none') {
|
||
|
||
$('#object-notes .chat-form #cancelTextButton2').click();
|
||
|
||
$('#object-notes .chat-form #submitTextButton2').attr('data-id', res.object_id);
|
||
$('#object-notes .chat-form #submitTextButton2').attr('data-note-id', res.id);
|
||
$('#object-notes .chat-form #chatTextArea2').val(res.message);
|
||
$('#object-notes .chat-form #cancelTextButton2').show();
|
||
$('#object-notes .chat-form .submit').css({ 'width': "120px" });
|
||
if ($('#chat_content_' + res.id).length > 0) {
|
||
$('#chat_content_' + res.id).closest('.chat-block').css({
|
||
'opacity': "0.42",
|
||
'pointer-events': "none"
|
||
});
|
||
}
|
||
}
|
||
});
|
||
|
||
return false;
|
||
}
|
||
|
||
function sendEventFiles() {
|
||
if ($(this).is(':disabled'))
|
||
return false;
|
||
|
||
let form = $('form#send_event_files_form');
|
||
let from = form.find('[name="from"]').val();
|
||
let event_id = form.find('[name="event_id"]').val();
|
||
let client_id = form.find('[name="client_id"]').val();
|
||
let email = form.find('[name="email"]').val();
|
||
let theme = form.find('[name="theme"]').val();
|
||
let text = form.find('[name="txt"]').val();
|
||
|
||
if (event_id && (client_id || email) && theme) {
|
||
|
||
$('#send_event_files_modal .modal-submit [type="button"]').addClass('loading');
|
||
|
||
$.post("/ajax/sendEventFiles.php", {
|
||
from: from,
|
||
event_id: event_id,
|
||
client_id: client_id,
|
||
email: email,
|
||
theme: theme,
|
||
text: text
|
||
}, function(data) {
|
||
//console.log(data);
|
||
var result = JSON.parse(data);
|
||
if (result.result == true) {
|
||
$('#send_event_files_modal .result_msg').text('Файл(ы) был(и) успешно отправлен(ы)!');
|
||
$('#send_event_files_modal .error_msg').hide();
|
||
$('#send_event_files_modal .error_msg').empty();
|
||
$('#send_event_files_modal .result_msg').show();
|
||
|
||
$('#send_event_files_modal .modal-submit [type="button"]').removeClass('loading');
|
||
setTimeout(() => {
|
||
$("#send_event_files_modal_bg").fadeOut(10);
|
||
$("#send_event_files_modal").toggle(10);
|
||
$("body").removeClass("lock");
|
||
}, 2000);
|
||
} else {
|
||
$('#send_event_files_modal .modal-submit [type="button"]').removeClass('loading');
|
||
$('#send_event_files_modal .error_msg').text('Произошла ошибка при отправке файла(ов).');
|
||
$('#send_event_files_modal .error_msg').show();
|
||
$('#send_event_files_modal .result_msg').hide();
|
||
$('#send_event_files_modal .result_msg').empty();
|
||
}
|
||
});
|
||
}
|
||
}
|
||
|
||
function sendEventFilesWin(id, from) {
|
||
let form = $('form#send_event_files_form');
|
||
form.find('[name="email"]').val('');
|
||
form.find('[name="theme"]').val('');
|
||
form.find('[name="txt"]').val('');
|
||
form.find('[name="event_id"]').val(id);
|
||
form.find('[name="from"]').val(from);
|
||
|
||
let user_id = $('#session_user_id').val();
|
||
let agency_id = $('#session_agency_id').val();
|
||
let client_id = $('.full_modal-bg.clients .chat-block .client').attr('id').replace('client__', '');
|
||
$("#send_event_files_modal_bg").css({
|
||
zIndex: 100002
|
||
});
|
||
|
||
$.get("/ajax/getEventFiles.php", {
|
||
event_id: id,
|
||
from: from
|
||
}, function(data) {
|
||
let result = JSON.parse(data);
|
||
if (result.length) {
|
||
$.each(result, function(indx, file) {
|
||
let link = '<a target="_blank" href="' + file['path'] + '" download>' + file['name'] + '</a>';
|
||
form.find('.files .files-list').append('<li>' + link + '</li>');
|
||
});
|
||
|
||
form.find('.files .files-list');
|
||
form.find('.files').show();
|
||
}
|
||
});
|
||
|
||
form.find('[name="client_id"]').closest(".inputs").html('<select name="client_id"></select>');
|
||
let non_sel = '<option value="0">Указать произвольный адрес эл. почты</option>';
|
||
form.find('[name="client_id"]').html(non_sel);
|
||
form.find('[name="client_id"]').fastselect({
|
||
placeholder: 'Выберите клиента'
|
||
});
|
||
|
||
$.get("/ajax/getInnerSources.php", {
|
||
user_id: user_id,
|
||
agency_id: agency_id,
|
||
section: 'clients',
|
||
required: 'email',
|
||
view: 'option'
|
||
}, function(result) {
|
||
if (result.length) {
|
||
|
||
form.find('[name="client_id"]').html(non_sel + result);
|
||
|
||
if (typeof client_id !== "undefined")
|
||
form.find('[name="client_id"] option[value="' + client_id + '"]').prop("selected", true);
|
||
|
||
form.find('[name="client_id"]').fastselect({
|
||
placeholder: 'Выберите клиента'
|
||
});
|
||
form.find('[name="client_id"]').closest(".inputs").find(".fstControls .fstResults .fstResultItem").first().css({ color: "red" });
|
||
|
||
form.find('[name="client_id"]').closest(".inputs").find(".fstControls input.hidenClass").attr('type', "text");
|
||
form.find('[name="client_id"]').closest(".inputs").find(".fstControls input.hidenClass").removeClass('hidenClass');
|
||
|
||
form.find('.client-id-input').fadeIn();
|
||
}
|
||
});
|
||
|
||
form.find('[name="client_id"] option').prop("selected", false);
|
||
$('#send_event_files_modal .modal-submit button[type="button"]').attr('disabled', 'disabled');
|
||
$('#send_event_files_modal .error_msg').empty();
|
||
$('#send_event_files_modal .error_msg').hide();
|
||
$('#send_event_files_modal .result_msg').empty();
|
||
$('#send_event_files_modal .result_msg').hide();
|
||
|
||
let as_client = true;
|
||
let selector = '[name="email"], [name="theme"]';
|
||
if (as_client)
|
||
selector = '[name="client_id"], [name="theme"]';
|
||
|
||
form.find('[name="client_id"]').on("change", function() {
|
||
if (parseInt($(this).val()) !== 0 && typeof $(this).val() !== "undefined") {
|
||
form.find('.email-input').fadeOut();
|
||
as_client = true;
|
||
} else {
|
||
form.find('.email-input').fadeIn();
|
||
as_client = false;
|
||
}
|
||
|
||
if (as_client)
|
||
selector = '[name="client_id"], [name="theme"]';
|
||
else
|
||
selector = '[name="email"], [name="theme"]';
|
||
|
||
});
|
||
|
||
form.find(selector).on("change", function() {
|
||
let valid = true;
|
||
let inputs = selector.split(',');
|
||
$.each(inputs, function(index, elemn) {
|
||
let value = form.find(elemn).val();
|
||
if (typeof value == "undefined" || parseInt(value) == 0) {
|
||
valid = false;
|
||
}
|
||
});
|
||
|
||
if (valid)
|
||
$('#send_event_files_modal .modal-submit button[type="button"]').removeAttr('disabled');
|
||
else
|
||
$('#send_event_files_modal .modal-submit button[type="button"]').attr('disabled', 'disabled');
|
||
|
||
});
|
||
|
||
$("#send_event_files_modal_bg").fadeIn(500);
|
||
$("#send_event_files_modal").toggle(10);
|
||
$("body").addClass("lock");
|
||
}
|
||
|
||
function deleteEvent(id, from) {
|
||
if (confirm("Вы точно хотите удалить эту задачу?")) {
|
||
$.post('/ajax/deleteEvent.php', {
|
||
deleteId: id,
|
||
from: from || null
|
||
}, function() {
|
||
if ($('#chat_content_' + id).length > 0) {
|
||
$('#chat_content_' + id).closest('.chat-block').remove();
|
||
}
|
||
$("#merepriation_bg").hide();
|
||
$("#merepriation-history").hide();
|
||
$("body").removeClass("lock");
|
||
getCalendar();
|
||
});
|
||
}
|
||
}
|
||
|
||
function showEventSubComment(id, from, event, sub_id) {
|
||
let comment_area = $('#addEventSubComment_' + id);
|
||
var subId = 0;
|
||
if (!isEmpty(sub_id)) {
|
||
subId = sub_id;
|
||
}
|
||
$('#addEventSubComment_' + id + ' .edit-btn.save').attr('data-sub', subId);
|
||
if (typeof comment_area !== "undefined") {
|
||
if ($('#addEventSubComment_' + id).is(':visible')) {
|
||
$('#addEventSubComment_' + id).hide();
|
||
} else {
|
||
$('#addEventSubComment_' + id).show();
|
||
}
|
||
|
||
if (event == "moderation") {
|
||
$('#addEventSubComment_' + id + ' textarea').html('');
|
||
$('#addEventSubComment_' + id + ' .sub_comment_who_work').show();
|
||
$.ajax({
|
||
url: '/ajax/dataClass/dataModerationClass.php',
|
||
method: "post",
|
||
data: {
|
||
'get_user_event_moderation': 1,
|
||
'event_id': id,
|
||
'sub_id': subId,
|
||
},
|
||
success: function(data) {
|
||
|
||
//console.log(data);
|
||
var res = JSON.parse(data);
|
||
$('#addEventSubComment_' + id + ' textarea').html(res.text);
|
||
|
||
|
||
$('#sub_comment_who_work_input_' + id).html(res.html);
|
||
$('#sub_comment_who_work_' + id).fastselect({
|
||
|
||
placeholder: 'Ответственные',
|
||
})
|
||
}
|
||
});
|
||
|
||
} else {
|
||
$('#addEventSubComment_' + id + ' .sub_comment_who_work').hide();
|
||
}
|
||
}
|
||
}
|
||
|
||
function addEventSubComment(id, from, id_object, req_id, type = null) {
|
||
user_for = 0;
|
||
if (!isEmpty(type) && type == 'moderation') {
|
||
user_for = $('#sub_comment_who_work_' + id).val();
|
||
}
|
||
var sub_id = 0;
|
||
if ($('#addEventSubComment_' + id + ' .edit-btn.save').attr('data-sub')) {
|
||
sub_id = $('#addEventSubComment_' + id + ' .edit-btn.save').attr('data-sub');
|
||
}
|
||
let comment_area = $('#sub_comment_' + id);
|
||
if (typeof comment_area !== "undefined") {
|
||
let sub_comment = comment_area.val();
|
||
$.post('/ajax/addEventSubComment.php', {
|
||
eventId: id,
|
||
reqId: req_id || null,
|
||
from: from || null,
|
||
sub_comment: sub_comment,
|
||
type: type,
|
||
user_for: user_for,
|
||
sub_id: sub_id,
|
||
}, function() {
|
||
$.ajax({
|
||
url: '/ajax/getObjectInfoForEvents.php?id=' + id_object,
|
||
success: function(data) {
|
||
$('#object-info-block').html(data);
|
||
|
||
$.ajax({
|
||
url: '/ajax/getLogForEvents.php?object_id=' + id_object,
|
||
success: function(data) {
|
||
$('#event-chat').html(data);
|
||
$('.history__chat').scrollTop($('#event-chat').prop("scrollHeight"));
|
||
}
|
||
});
|
||
|
||
setTimeout(function() {
|
||
$('#object-info-block .fotorama').fotorama();
|
||
initializeMapOnEventWindow();
|
||
}, 100);
|
||
}
|
||
});
|
||
});
|
||
}
|
||
}
|
||
|
||
function deleteEventSubComment(id, from, id_object, sub_id) {
|
||
var subId = 0;
|
||
if (!isEmpty(sub_id)) {
|
||
subId = sub_id;
|
||
}
|
||
if (confirm("Вы точно хотите удалить комментарий МОП?")) {
|
||
$.post('/ajax/deleteEventSubComment.php', {
|
||
eventId: id,
|
||
from: from || null,
|
||
sub_id: subId
|
||
}, function() {
|
||
$.ajax({
|
||
url: '/ajax/getObjectInfoForEvents.php?id=' + id_object,
|
||
success: function(data) {
|
||
$('#object-info-block').html(data);
|
||
|
||
$.ajax({
|
||
url: '/ajax/getLogForEvents.php?object_id=' + id_object,
|
||
success: function(data) {
|
||
$('#event-chat').html(data);
|
||
$('.history__chat').scrollTop($('#event-chat').prop("scrollHeight"));
|
||
}
|
||
});
|
||
|
||
setTimeout(function() {
|
||
$('#object-info-block .fotorama').fotorama();
|
||
initializeMapOnEventWindow();
|
||
}, 100);
|
||
}
|
||
});
|
||
});
|
||
}
|
||
}
|
||
|
||
function deleteNoteObj(id) {
|
||
if (confirm("Вы точно хотите удалить данное примечание?")) {
|
||
$.post('/ajax/deleteNote.php', {
|
||
deleteId: id
|
||
}, function() {
|
||
|
||
if ($('#chat_content_' + id).length > 0) {
|
||
|
||
let chat = $('#chat_content_' + id).closest('#object-notes');
|
||
let object_id = chat.find('#submitTextButton2').data('id');
|
||
$('#chat_content_' + id).closest('.chat-block').remove();
|
||
if (chat.find('.chat-block').length == 0)
|
||
$('.addEditNote[data-id="' + object_id + '"]').removeClass('haveNotes');
|
||
|
||
}
|
||
|
||
$("body").removeClass("lock");
|
||
});
|
||
}
|
||
}
|
||
|
||
//Отменить задачу
|
||
function cancelEvent(id) {
|
||
if (confirm("Вы точно хотите отменить эту задачу?")) {
|
||
$.post('/ajax/cancelEvent.php', { cancelId: id }, function() {
|
||
if ($('#chat_content_' + id).length > 0) {
|
||
$('#chat_content_' + id).closest('.chat-message').addClass('cancel');
|
||
}
|
||
$('#groupAB__' + id).attr("data-cancel", "1");
|
||
|
||
/*$("#merepriation_bg").hide();
|
||
$("#merepriation-history").hide();
|
||
$("body").removeClass("lock");*/
|
||
getCalendar();
|
||
});
|
||
}
|
||
}
|
||
|
||
//Для фильтра клиентов в отправке презентаций
|
||
function get_prz_clients(type = 0) {
|
||
var params = {};
|
||
var user_id = $('#komy_user_id').val();
|
||
var agency_id = $('#komy_agency_id').val();
|
||
var type_send = false;
|
||
params.prz_user = user_id;
|
||
params.prz_agency = agency_id;
|
||
params.type = type;
|
||
|
||
if ($('#filter-prz-responsible').val() !== null && $('#filter-prz-responsible').val() != '') {
|
||
params.filter_prz_responsible = JSON.stringify($('#filter-prz-responsible').val());
|
||
type_send = true;
|
||
}
|
||
|
||
if ($('#filter-prz-type').val() !== null && $('#filter-prz-type').val() != '') {
|
||
params.filter_prz_type = JSON.stringify($('#filter-prz-type').val());
|
||
type_send = true;
|
||
}
|
||
|
||
if ($('#filter_prz_source').val() !== null && $('#filter_prz_source').val() != '') {
|
||
params.filter_prz_source = JSON.stringify($('#filter_prz_source').val());
|
||
type_send = true;
|
||
}
|
||
|
||
if ($('#filter_prz_activities').val() !== null && $('#filter_prz_activities').val() != '') {
|
||
params.filter_prz_activities = JSON.stringify($('#filter_prz_activities').val());
|
||
type_send = true;
|
||
}
|
||
|
||
if ($('#filter_prz_rol').val() !== null && $('#filter_prz_rol').val() != '') {
|
||
params.filter_prz_rol = JSON.stringify($('#filter_prz_rol').val());
|
||
type_send = true;
|
||
}
|
||
|
||
$.post("/ajax/getPrzClients.php", params, function(res) {
|
||
if (type == 0) {
|
||
$('#komy').html(res);
|
||
$('#komy').select2({
|
||
language: "ru",
|
||
theme: "bootstrap",
|
||
placeholder: 'Выберите клиента(ов)...'
|
||
});
|
||
} else if (type == 1) {
|
||
if (type_send == true) {
|
||
$("#komy_list").val(res);
|
||
if (res.length > 0) {
|
||
$("#send_mail_btn").trigger('click');
|
||
} else {
|
||
$('#error_txt_filter').text('Клиентов не найдено!').show();
|
||
}
|
||
} else {
|
||
$("#komy_list").val("");
|
||
$('#error_txt_filter').text('Не выбраны фильтры!').show();
|
||
}
|
||
}
|
||
});
|
||
}
|
||
|
||
function renewClient(id_client) {
|
||
console.log({ id_client });
|
||
|
||
let params = {
|
||
client_id: id_client
|
||
|
||
};
|
||
$.post('/ajax/renewClients.php',
|
||
params,
|
||
function(data) {
|
||
let result = JSON.parse(data);
|
||
if (result.success == true) {
|
||
let sort_order = $('select[name=sort_order]').val();
|
||
let page = $('.pagination li.active a').text();
|
||
|
||
if ($('#client_history').css('display') != 'none') {
|
||
openClientEventsWindowNew(id_client, $('#session_to_send').val(), 1);
|
||
}
|
||
|
||
if ($('.view-kanban.active').length > 0) {
|
||
let stage = $('#kanban_item_li_' + id_client).closest('.kanban__sortable').data("stage");
|
||
get_kanban_li(id_client, stage, 0);
|
||
} else {
|
||
get_list(page, sort_order, false);
|
||
}
|
||
}
|
||
}
|
||
);
|
||
}
|
||
|
||
function renewReq(req_id) {
|
||
console.log(req_id);
|
||
|
||
let params = {
|
||
req_id: req_id,
|
||
};
|
||
$.post('ajax/renewReq.php',
|
||
params,
|
||
function(data) {
|
||
console.log({ data });
|
||
let result = JSON.parse(data);
|
||
if (result.success == true) {
|
||
let sort_order = $('select[name=sort_order]').val();
|
||
let page = $('.pagination li.active a').text();
|
||
|
||
if ($('#client_history').css('display') != 'none') {
|
||
openClientEventsWindowNew(null, $('#session_user_id').val(), 1, req_id);
|
||
}
|
||
|
||
if ($('.view-kanban.active').length > 0) {
|
||
requisitions.getList();
|
||
} else {
|
||
get_list(page, sort_order, false);
|
||
}
|
||
}
|
||
}
|
||
);
|
||
}
|
||
|
||
function isNationalPhone(phone) {
|
||
// hide_client_contacts: маска содержит звёздочки, автодетект не делаем —
|
||
// считаем телефон обычным (российским) и оставляем чекбокс выключенным.
|
||
if (typeof phone === 'string' && phone.indexOf('*') !== -1) {
|
||
return 0;
|
||
}
|
||
if (!phone.startsWith('+7')) {
|
||
return 1;
|
||
}
|
||
if (String(phone).replace(/[^0-9]/g,"").length !== 11) {
|
||
return 1;
|
||
}
|
||
return 0;
|
||
}
|
||
|
||
function renewClients(id_clients) {
|
||
//console.log({ id_clients });
|
||
|
||
var all = 0;
|
||
if ($('#changeClientAllFilter').prop('checked')) {
|
||
all = 1;
|
||
id_clients = ['all'];
|
||
}
|
||
let params = {
|
||
clients_id: id_clients,
|
||
all: all
|
||
};
|
||
$.post('/ajax/renewClients.php',
|
||
params,
|
||
function(data) {
|
||
console.log(data);
|
||
let result = JSON.parse(data);
|
||
if (result.success == true) {
|
||
let sort_order = $('select[name=sort_order]').val();
|
||
let page = $('.pagination li.active a').text();
|
||
get_list(page, sort_order, false);
|
||
}
|
||
}
|
||
);
|
||
}
|
||
|
||
function editClientNew(id, funnelId) {
|
||
// hide_client_contacts: возвращаем модалку в edit-режим (disabled+warning),
|
||
// т. к. add_client_new() в этой же сессии мог переключить её в add-режим.
|
||
setAddEditNewContactsState('edit');
|
||
if (typeof requisitions_client == 'object') {
|
||
requisitions_client.clientId = id;
|
||
}
|
||
if (typeof deals_client == 'object') {
|
||
deals_client.clientId = id;
|
||
}
|
||
|
||
//кастомные поля
|
||
|
||
if (typeof client_fields != "undefined") {
|
||
client_fields.client_id = id;
|
||
client_fields.getClientFields();
|
||
}
|
||
|
||
|
||
if ($('#client-history__bg').css('display') == 'block') {
|
||
$('#client-history__bg').css('zIndex', '99987');
|
||
|
||
}
|
||
$('#ms-new-client-source-input').closest(".form-block").show();
|
||
$('#liObject').removeClass('active').show();
|
||
$('#liReq').removeClass('active').show();
|
||
$('#liInnerDocs').removeClass('active').show();
|
||
$('#liInnerDocs .tabs-li__icon').text('6');
|
||
$('#liGlobal').click();
|
||
$('#addEditNew .error_msg').hide();
|
||
$('#addObjectClientForm').attr('href', '/add-object.php?sobstv_object=' + id);
|
||
|
||
$('#addEditNew .stagebar .stage').removeClass('active');
|
||
$('#addEditNew .form-block__hot-client').removeClass('active');
|
||
clearSelect();
|
||
$('#addEditNew .form-block [name=phone2]').each(function() {
|
||
$(this).closest('.form-block').remove();
|
||
});
|
||
$("#addEditNew").find('input').val("");
|
||
|
||
$("#addEditNew").find('textarea').val('');
|
||
|
||
$("#addEditNew select").val('');
|
||
|
||
$('#addEditNew select').parent('.fstElement').find('.fstChoiceRemove').each(function() {
|
||
$(this).click();
|
||
});
|
||
$('#addEditNew .form-block [name=phone2]').each(function() {
|
||
$(this).closest('.form-block').remove();
|
||
});
|
||
|
||
$('#rynok_1').prop('checked', true);
|
||
|
||
$('#addEditNew [name=yes_object]').prop('checked', false);
|
||
|
||
|
||
$('#addEditNew [name=yes_doc]').prop('checked', false);
|
||
|
||
|
||
$('#addEditNew [name=yes_bank]').prop('checked', false);
|
||
|
||
|
||
$('#addEditNew [name=yes_resolve]').prop('checked', false);
|
||
|
||
$('#addEditNew [name=yes_issue]').prop('checked', false);
|
||
|
||
$('#resolve_1').prop('checked', false);
|
||
|
||
$('#resolve_2').prop('checked', false);
|
||
|
||
$('#resolve_3').prop('checked', false);
|
||
|
||
$('.prodoc').addClass('hidden');
|
||
|
||
$('.probank').addClass('hidden');
|
||
|
||
$('.proresolve').addClass('hidden');
|
||
|
||
$('.proissue').addClass('hidden');
|
||
|
||
$('#addEditNew [name=summa_object]').val(0);
|
||
|
||
$('#addEditNew [name=relationship]').val('');
|
||
|
||
$("#addEditNew [name=age]").val('');
|
||
$("#addEditNew [name=co_borrower_fio]").val('');
|
||
$("#addEditNew [name=co_borrower_age]").val('');
|
||
$("#addEditNew [name=contacts]").val('');
|
||
$("#addEditNew [name=co_borrower_dohod]").val('');
|
||
$("#addEditNew [name=income]").val('');
|
||
$("#addEditNew [name=credit_load]").val('');
|
||
$('#persone_no_ip').prop('checked', true);
|
||
$('#persone_yes_ip').prop('checked', false);
|
||
$('#persone_gender_man').prop('checked', true);
|
||
$('#persone_gender_woman').prop('checked', false);
|
||
|
||
$("#union_clients_form_open").show();
|
||
$("#union_clients_form_open").attr("data-id",id);
|
||
|
||
|
||
$('#block_client_kredit .form-block').each(function() {
|
||
$(this).find('input[type=checkbox]').each(function() {
|
||
$(this).prop('checked', false);
|
||
});
|
||
$(this).find('input[type=radio]').each(function() {
|
||
$(this).prop('checked', false);
|
||
});
|
||
});
|
||
$('.probank ul').html('');
|
||
$('#proresolve-yes').html('');
|
||
$.get('/ajax/getIpoteka.php?id=' + id, { dataType: "json" }, function(datai) {
|
||
|
||
if (datai) {
|
||
var data = JSON.parse(datai);
|
||
console.log(data);
|
||
$('#rynok_' + data.rynok).prop('checked', true);
|
||
if (data.yes_object == 1) {
|
||
$('#addEditNew [name=yes_object]').prop('checked', true);
|
||
}
|
||
if (data.yes_doc == 1) {
|
||
$('#addEditNew [name=yes_doc]').prop('checked', true);
|
||
$('.prodoc').removeClass('hidden');
|
||
}
|
||
|
||
if (data.yes_bank == 1) {
|
||
$('#addEditNew [name=yes_bank]').prop('checked', true);
|
||
$('.probank').removeClass('hidden');
|
||
}
|
||
|
||
|
||
|
||
if (data.yes_resolve == 1) {
|
||
$('#addEditNew [name=yes_resolve]').prop('checked', true);
|
||
$('.proresolve').removeClass('hidden');
|
||
}
|
||
|
||
if (data.yes_resolve == 1) {
|
||
$('#addEditNew [name=yes_resolve]').prop('checked', true);
|
||
$('.proresolve').removeClass('hidden');
|
||
}
|
||
|
||
if (data.yes_issue == 1) {
|
||
$('#addEditNew [name=yes_issue]').prop('checked', true);
|
||
$('.proissue').removeClass('hidden');
|
||
}
|
||
|
||
|
||
if(!isEmpty(data.date_send_web_hook)){
|
||
$('#send_web_hook_date').text(data.date_send_web_hook).css('color', 'red');
|
||
} else {
|
||
$('#send_web_hook_date').text('').css('color', '#757575')
|
||
|
||
}
|
||
|
||
$("#addEditNew").find('input[name="ante_pr"]').val(data.ante_pr);
|
||
$("#addEditNew").find('input[name="ante_rub"]').val(data.ante_rub);
|
||
$("#addEditNew").find('textarea[name="comment"]').val(data.comment.replace(/<br>/g, "\n"));
|
||
$("#addEditNew").find('[name="comment_resolve"]').val(data.comment_resolve.replace(/<br>/g, "\n"));
|
||
$("#addEditNew").find('input[name="date_bank"]').val(data.date_bank);
|
||
$("#addEditNew").find('input[name="date_doc"]').val(data.date_doc);
|
||
$("#addEditNew").find('input[name="doc_komis"]').val(data.doc_komis);
|
||
$("#addEditNew").find('input[name="doc_komis_pr"]').val(data.doc_komis_pr);
|
||
$("#addEditNew").find('input[name="employee_bank"]').val(data.employee_bank);
|
||
$("#addEditNew").find('input[name="number_doc"]').val(data.number_doc);
|
||
$("#addEditNew").find('input[name="rate_issue"]').val(data.rate_issue);
|
||
$("#addEditNew").find('input[name="term_issue"]').val(data.term_issue);
|
||
$("#addEditNew").find('input[name="send_web_hook"]').prop('checked', false);
|
||
$("#addEditNew").find('input[name="relationship"]').val(data.relationship);
|
||
$("#addEditNew").find('input[name="summa_object"]').val(data.summa_object);
|
||
$("#addEditNew").find('input[name="age"]').val(data.age);
|
||
$("#addEditNew").find('input[name="co_borrower_fio"]').val(data.co_borrower_fio);
|
||
$("#addEditNew").find('input[name="co_borrower_age"]').val(data.co_borrower_age);
|
||
$("#addEditNew").find('input[name="contacts"]').val(data.contacts.replace(/<br>/g, "\n"));
|
||
$("#addEditNew").find('input[name="co_borrower_dohod"]').val(data.co_borrower_dohod);
|
||
$("#addEditNew").find('input[name="income"]').val(data.income);
|
||
$("#addEditNew").find('input[name="credit_load"]').val(data.credit_load);
|
||
|
||
var html = '<select id="ms-new-client-bank-issue" class="ms-new-client-bank-issue" multiple="multiple">' + $("#ms-new-client-bank-issue").html() + '</select>';
|
||
|
||
$("#ms-new-client-bank-issue").closest(".inputs").html(html);
|
||
if (data.bank_issue && data.bank_issue != 'null') {
|
||
var bank_issue = JSON.parse(data.bank_issue);
|
||
for (var i = 0; i < bank_issue.length; i++) {
|
||
$("#ms-new-client-bank-issue option[value=" + bank_issue[i] + "]").prop("selected", true)
|
||
}
|
||
}
|
||
$("#ms-new-client-bank-issue").fastselect({ placeholder: 'Банк выдачи' });
|
||
|
||
if (data.banks && data.banks != 'null') {
|
||
|
||
var banks = JSON.parse(data.banks);
|
||
|
||
Object.entries(banks).forEach(([key, value]) => {
|
||
|
||
if(!isEmpty(value)){
|
||
let li = '<li class="list_bank" id="list_bank_'+key+'"><span class="adv_activities" data-id="'+key+'" data-date="'+value.date+'" data-employee="'+value.employee+'">'+value.name+'</span>' +
|
||
'<a href="javascript:{};" class="fl-right delZayavka no-border tooltip tooltip-effect" data-id="'+key+'">' +
|
||
'<span class="simple-button tooltip-item">' +
|
||
'<i class="ti-close"></i>' +
|
||
'</span>' +
|
||
'<span class="tooltip-content tt-pdf clear">' +
|
||
'<b class="tooltip-text">Удалить</b>' +
|
||
'</span>' +
|
||
'</a>' +
|
||
'</li>'
|
||
$('.probank ul').append(li);
|
||
}
|
||
});
|
||
|
||
}
|
||
|
||
if (data.resolve && data.resolve != 'null') {
|
||
var resolve = JSON.parse(data.resolve);
|
||
Object.entries(resolve).forEach(([key, value]) => {
|
||
if(!isEmpty(value)){
|
||
let li = '<li class="list_bank" id="list_resolve_'+key+'">' +
|
||
'<span class="adv_activities" data-id="'+key+'" data-summa="'+value.summa+'" data-prstavka="'+value.prstavka+'" data-srok="'+value.srok+'" data-usloviya="'+value.usloviya+'">'+value.name+'</span>' +
|
||
'<a href="javascript:{};" class="fl-right delResolve no-border tooltip tooltip-effect" data-id="'+key+'">' +
|
||
'<span class="simple-button tooltip-item"><i class="ti-close"></i></span>' +
|
||
'<span class="tooltip-content tt-pdf clear">' +
|
||
'<b class="tooltip-text">Удалить</b>' +
|
||
'</span>' +
|
||
'</a>' +
|
||
'</li>';
|
||
$('#proresolve-yes').append(li);
|
||
}
|
||
});
|
||
|
||
}
|
||
var jc = null;
|
||
if (data.jc && data.jc != 'null') {
|
||
jc = JSON.parse(data.jc);
|
||
}
|
||
setSelectsFastselect('ms_new_blocks', jc, 'select_form_blocks.php', 'Жилые комплексы');
|
||
}
|
||
});
|
||
$.ajax({
|
||
url: '/ajax/getClient.php?id=' + id,
|
||
dataType: "json",
|
||
success: function(data) {
|
||
console.log(data);
|
||
if (funnelId > 0) {
|
||
$.post('/ajax/getStageBar.php', { client_id: id, funnel_id: funnelId }, function(result) {
|
||
|
||
$('#editClientStagebar').html(result);
|
||
});
|
||
} else {
|
||
|
||
var stage = (data.stage - 1);
|
||
// console.log(data.deleted);
|
||
if (data.deleted == 1) {
|
||
stage = 7;
|
||
}
|
||
$("#addEditNew .crm__small-stage").each(function(index) {
|
||
if (index <= stage) {
|
||
$(this).parent().addClass("active");
|
||
} else {
|
||
$(this).parent().removeClass("active");
|
||
}
|
||
});
|
||
}
|
||
|
||
$('#confirm').val(data.confirm);
|
||
|
||
if (data.hot > 0) {
|
||
$('#addEditNew .form-block__hot-client').addClass('active');
|
||
}
|
||
if (data.priority > 0) {
|
||
$('#addEditNew .form-block__p' + data.priority + '-client').addClass('active');
|
||
}
|
||
|
||
//$("#addEditNew .error_msg").next().html(data.fio);
|
||
$('#addEditNew .modal-title').html(data.fio);
|
||
|
||
$("#addEditNew").find('input[name="fio"]').val(data.fio);
|
||
|
||
$("#addEditNew").find('input[name="email"]').val(data.email);
|
||
|
||
$("#addEditNew").find('input[name="phone"]').val(data.phone);
|
||
|
||
// Явно ставим состояние свитчера — иначе при последовательном редактировании
|
||
// foreign → russian-клиента флажок может остаться в TRUE от предыдущей карточки.
|
||
// Для замаскированных значений isNationalPhone вернёт 0, переключатель не активируется.
|
||
$("#addEditNew").find('#national_phone').prop('checked', !!isNationalPhone(data.phone));
|
||
|
||
$("#addEditNew").find('input[name="budget"]').val(data.budget);
|
||
|
||
$("#addEditNew").find('[name="opis"]').val(data.opis.replace(/<br>/g, "\n"));
|
||
|
||
$("#addEditNew").find('input[name="id"]').val(data.id);
|
||
|
||
$("#addReqClientForm").attr("data-client", data.id);
|
||
|
||
$("#addEditNew").find('input[name="confirm"]').val(data.confirm);
|
||
|
||
$("#addEditNew").find('input[name="birthday"]').val(data.birthday);
|
||
|
||
if(data.persone_no_ip > 0) {
|
||
$('#persone_yes_ip').prop('checked', true);
|
||
$('.persone_yas_ip').removeClass('hidden');
|
||
$('.persone_no_ip').addClass('hidden');
|
||
}
|
||
// console.log(data.persone_info_bank,"vot zdes");
|
||
|
||
function normalizeContactText(rawHtml) {
|
||
return rawHtml
|
||
.replace(/<br\s*\/?>/gi, '\n')
|
||
.replace(/[^\S\r\n]{2,}/g, ' ')
|
||
.replace(/[\r\n]{2,}/g, '\n')
|
||
.replace(/[^\w\sА-Яа-яёЁ.,:()\-+]/g, '')
|
||
.trim();
|
||
}
|
||
|
||
|
||
|
||
if(data.persone_gender > 0) $('#persone_gender_woman').prop('checked', true);
|
||
$("#addEditNew").find('input[name="passport"]').val(data.passport);
|
||
$("#addEditNew").find('input[name="date_of_issue_passport"]').val(data.date_of_issue_passport);
|
||
$("#addEditNew").find('input[name="passport_issued_by"]').val(data.passport_issued_by);
|
||
$("#addEditNew").find('input[name="birthplace"]').val(data.birthplace);
|
||
$("#addEditNew").find('[name="registration_address"]').val(data.registration_address);
|
||
$("#addEditNew").find('[name="post_address"]').val(data.post_address);
|
||
$("#addEditNew").find('[name="persone_info_bank"]').val(normalizeContactText(data.persone_info_bank));
|
||
$("#addEditNew").find('input[name="persone_snils"]').val(data.persone_snils);
|
||
$("#addEditNew").find('input[name="persone_nationality"]').val(data.persone_nationality);
|
||
$("#addEditNew").find('input[name="persone_full_name"]').val(data.persone_full_name);
|
||
$("#addEditNew").find('input[name="persone_short_name"]').val(data.persone_short_name);
|
||
$("#addEditNew").find('input[name="persone_ogrn"]').val(data.persone_ogrn);
|
||
$("#addEditNew").find('input[name="persone_inn"]').val(data.persone_inn);
|
||
$("#addEditNew").find('input[name="persone_kpp"]').val(data.persone_kpp);
|
||
$("#addEditNew").find('[name="persone_legal_address"]').val(data.persone_legal_address);
|
||
$("#addEditNew").find('[name="persone_fact_address"]').val(data.persone_fact_address);
|
||
$("#addEditNew").find('input[name="persone_name_bank"]').val(data.persone_name_bank);
|
||
$("#addEditNew").find('input[name="persone_bik_bank"]').val(data.persone_bik_bank);
|
||
$("#addEditNew").find('input[name="persone_rs_bank"]').val(data.persone_rs_bank);
|
||
$("#addEditNew").find('input[name="persone_kors_bank"]').val(data.persone_kors_bank);
|
||
$("#addEditNew").find('input[name="persone_fio_rukovod"]').val(data.persone_fio_rukovod);
|
||
$("#addEditNew").find('input[name="persone_powers"]').val(data.persone_powers);
|
||
$("#addEditNew").find('input[name="persone_kod_podrazdelenia"]').val(data.persone_kod_podrazdelenia);
|
||
|
||
|
||
$('#of_objects').val(data.of_objects);
|
||
|
||
|
||
var html = '<select id="ms-new-client-type" multiple>' + $("#ms-new-client-type").html() + '</select>';
|
||
|
||
$("#ms-new-client-type").closest(".inputs").html(html);
|
||
if (data.work_type && data.work_type != 'null') {
|
||
var wor_type = JSON.parse(data.work_type);
|
||
for (var i = 0; i < wor_type.length; i++) {
|
||
$("#ms-new-client-type option[value='" + wor_type[i] + "']").prop("selected", true)
|
||
}
|
||
}
|
||
$("#ms-new-client-type").fastselect({
|
||
placeholder: 'Тип',
|
||
onItemDelete: function(item, val) {
|
||
if (typeof this.fastsearch.itemModels != 'undefined' && this.fastsearch.itemModels[4] !== undefined && !this.fastsearch.itemModels[4].selected) {
|
||
$('#ms-new-client-activities').parent('.fstElement').find('.fstChoiceRemove').each(function() {
|
||
$(this).click();
|
||
});
|
||
}
|
||
}
|
||
});
|
||
|
||
var html = '<select id="ms-new-client-rol" class="ms-crm-client-rol" multiple="multiple">' + $("#ms-new-client-rol").html() + '</select>';
|
||
|
||
$("#ms-new-client-rol").closest(".inputs").html(html);
|
||
if (data.role && data.role != 'null') {
|
||
let roleArray;
|
||
try {
|
||
roleArray = JSON.parse(data.role);
|
||
if (!Array.isArray(roleArray)) {
|
||
roleArray = [roleArray];
|
||
}
|
||
} catch (e) {
|
||
roleArray = [data.role];
|
||
}
|
||
for (var i = 0; i < roleArray.length; i++) {
|
||
var escapedRoleValue = roleArray[i].toString().replace(/'/g, "\\'");
|
||
$("#ms-new-client-rol option[value='" + escapedRoleValue + "']").prop("selected", true);
|
||
}
|
||
}
|
||
$("#ms-new-client-rol").fastselect({ placeholder: 'Роль клиента' });
|
||
|
||
|
||
var activities = null;
|
||
if (data.activities && data.activities != 'null') {
|
||
activities = JSON.parse(data.activities);
|
||
}
|
||
|
||
setSelectsFastselect('ms-new-client-activities', activities, 'select_form_activities.php', 'Теги');
|
||
|
||
var html = '<select id="ms-new-client-objects-type" class="ms-crm-client-object-type" multiple>' + $("#ms-new-client-objects-type").html() + '</select>';
|
||
$("#ms-new-client-objects-type").closest(".inputs").html(html);
|
||
//console.log(data.type);
|
||
if (data.type && data.type != 'null') {
|
||
var type = JSON.parse(data.type);
|
||
for (var i = 0; i < type.length; i++) {
|
||
$("#ms-new-client-objects-type option[value=" + type[i] + "]").prop("selected", true)
|
||
}
|
||
}
|
||
$("#ms-new-client-objects-type").fastselect({ placeholder: 'Тип недвижимости' });
|
||
|
||
|
||
var html = '<select id="ms-new-client-object" class="ms-crm-client-object-type" multiple>' + $("#ms-new-client-object").html() + '</select>';
|
||
if (data.objects && data.objects != 'null') {
|
||
$.post('/ajax/getClientsView.php', { get_clients_objects: data.objects, user_id: $('#sid').data("id") },
|
||
function(result) {
|
||
|
||
if (result == 0) {
|
||
$("#ms-new-client-object").closest(".inputs").html(html);
|
||
} else {
|
||
$("#ms-new-client-object").closest(".inputs").html('<select id="ms-new-client-object" class="ms-crm-client-object-type" multiple>' + result + '</select>');
|
||
}
|
||
var objects = JSON.parse(data.objects);
|
||
for (var i = 0; i < objects.length; i++) {
|
||
$("#ms-new-client-object option[value=" + objects[i] + "]").prop("selected", true);
|
||
}
|
||
$("#ms-new-client-object").fastselect({ placeholder: 'Объекты' });
|
||
}
|
||
);
|
||
|
||
} else {
|
||
$.post('/ajax/getClientsView.php', { get_clients_objects: '', user_id: $('#sid').data("id") },
|
||
function(result) {
|
||
// console.log(result);
|
||
if (result == 0) {
|
||
$("#ms-new-client-object").closest(".inputs").html('<select id="ms-new-client-object" class="ms-crm-client-object-type" multiple></select>');
|
||
} else {
|
||
$("#ms-new-client-object").closest(".inputs").html('<select id="ms-new-client-object" class="ms-crm-client-object-type" multiple>' + result + '</select>');
|
||
}
|
||
|
||
$("#ms-new-client-object").fastselect({ placeholder: 'Объекты' });
|
||
}
|
||
);
|
||
}
|
||
|
||
req_fastselect('ms-new-client-req-input', 'ms-new-client-req', data.req);
|
||
$.post('/ajax/getClientsView.php', { get_objects: data.objects, user_id: $('#sid').data("id"), to_send: $('#s_to_send').val() }, function(data) {
|
||
$('#addEditNew .jw__objects').html(data);
|
||
$('#addEditNew .fotorama').fotorama();
|
||
if (typeof koala_loader == "function") {
|
||
koala_loader();
|
||
}
|
||
});
|
||
|
||
var who_user = $('#sid').attr('data-id');
|
||
if (data.who_work) {
|
||
who_user = data.who_work;
|
||
}
|
||
setSelectsFastselect('ms-new-client-work', who_user, 'select_form_client-work.php', 'Ответственный');
|
||
|
||
var source_id = 0;
|
||
if (data.source) {
|
||
source_id = data.source;
|
||
}
|
||
if(data.source_see == 0){
|
||
setSelectsFastselect('ms-new-client-source', source_id, 'select_form_source.php', 'Источник');
|
||
$('#ms-new-client-source-input').closest(".form-block").hide();
|
||
} else
|
||
setSelectsFastselect('ms-new-client-source', source_id, 'select_form_source.php', 'Источник');
|
||
|
||
|
||
var emplode_id_ms = 0;
|
||
if (data.employee_id) {
|
||
emplode_id_ms = data.employee_id;
|
||
}
|
||
setSelectsFastselect('ms-new-client-partner', emplode_id_ms, 'select_form_partner.php', 'Партнёр');
|
||
|
||
|
||
var funnel_id = 0;
|
||
if (data.funnel_id) {
|
||
funnel_id = data.funnel_id;
|
||
}
|
||
setSelectsFastselect('ms-new-funnel', funnel_id, 'select_form_funnel.php', 'Воронка', 'client');
|
||
|
||
|
||
$("#ms-new-funnel").fastselect({ placeholder: 'Воронка' });
|
||
|
||
|
||
|
||
var html = '<select id="ms_new_bancks_credit" name="bancks_credit" class="ms_new_bancks_credit" multiple="">' + $("#ms_new_bancks_credit").html() + '</select>';
|
||
$("#ms_new_bancks_credit").closest(".inputs").html(html);
|
||
if (data.bancks_credit && (data.bancks_credit).toLowerCase() != 'null') {
|
||
var bancks_credit = JSON.parse(data.bancks_credit);
|
||
for (var i = 0; i < bancks_credit.length; i++) {
|
||
$("#ms_new_bancks_credit option[value=" + bancks_credit[i] + "]").prop("selected", true);
|
||
}
|
||
}
|
||
$("#ms_new_bancks_credit").fastselect({ placeholder: 'Банковский продукт' });
|
||
setSelectsFastselect('ms-new-client-bank-denial', null, 'select_form_bank-denial.php', 'Банк (отказ)');
|
||
setSelectsFastselect('ms-new-client-bank-revisal', null, 'select_form_bank-denial.php', 'Банк (пересмотр)');
|
||
setSelectsFastselect('ms-new-client-bank-issue', null, 'select_form_bank-denial.php', 'Банк выдачи');
|
||
|
||
$('#block_client_kredit .form-block').each(function() {
|
||
$(this).find('input[type=text]').each(function() {
|
||
if (data[$(this).attr('name')]) {
|
||
$(this).val(data[$(this).attr('name')]);
|
||
}
|
||
});
|
||
$(this).find('input[type=checkbox]').each(function() {
|
||
if (data[$(this).attr('name')] == 1) {
|
||
$(this).prop('checked', true);
|
||
}
|
||
});
|
||
$(this).find('input[type=radio]').each(function() {
|
||
if (data[$(this).attr('name')] == $(this).attr('id')) {
|
||
$(this).prop('checked', true);
|
||
}
|
||
});
|
||
});
|
||
|
||
if (data.phone2 && data.phone2 != 'null') {
|
||
var phone2 = JSON.parse(data.phone2);
|
||
if (phone2.length > 0) {
|
||
for (var i = 0; i < phone2.length; i++) {
|
||
var inputId = 'input_phone_' + phone2Index;
|
||
var checkboxId = 'checkbox_phone_' + phone2Index;
|
||
|
||
// hide_client_contacts: значение приходит как "+X *** *** ** **"
|
||
// — звёздочки в строке считаем явным признаком маски.
|
||
var isMaskedPhone2 = typeof phone2[i] === 'string' && phone2[i].indexOf('*') !== -1;
|
||
|
||
var formBloc = document.createElement('div');
|
||
formBloc.classList.add('form-block');
|
||
|
||
var labelDiv = document.createElement('div');
|
||
labelDiv.classList.add('label');
|
||
labelDiv.textContent = 'Дополнительный телефон';
|
||
|
||
formBloc.appendChild(labelDiv)
|
||
|
||
var inputsDiv = document.createElement('div');
|
||
inputsDiv.classList.add('inputs');
|
||
|
||
var inputPhone = document.createElement('input');
|
||
// Для замаскированных значений не подключаем phoneMask, иначе jQuery-плагин
|
||
// .mask("+79999999999") перезатрёт код страны на "+7".
|
||
if (isMaskedPhone2) {
|
||
inputPhone.classList.add('text');
|
||
inputPhone.disabled = true;
|
||
inputPhone.title = 'Контакты клиента скрыты для вашей учётной записи';
|
||
} else {
|
||
inputPhone.classList.add('text', 'phoneMask');
|
||
}
|
||
inputPhone.id = inputId;
|
||
inputPhone.type = 'text';
|
||
inputPhone.style.width = '400px';
|
||
inputPhone.name = 'phone2';
|
||
inputPhone.value = phone2[i];
|
||
|
||
inputsDiv.appendChild(inputPhone);
|
||
formBloc.appendChild(inputsDiv);
|
||
|
||
var checkboxDiv = document.createElement('div');
|
||
checkboxDiv.classList.add('checkbox', 'inline-block');
|
||
checkboxDiv.style = 'display: inline-block;min-height: unset; padding-left: 0px; margin-top: 0px; margin-bottom: 0px;';
|
||
|
||
var inputCheckbox = document.createElement('input');
|
||
inputCheckbox.id = checkboxId;
|
||
inputCheckbox.type = 'checkbox';
|
||
inputCheckbox.checked = !!(isNationalPhone(phone2[i]));
|
||
if (isMaskedPhone2) {
|
||
inputCheckbox.disabled = true;
|
||
}
|
||
|
||
checkboxDiv.appendChild(inputCheckbox);
|
||
|
||
var labelCheckbox = document.createElement('label');
|
||
labelCheckbox.classList.add('label', 'ml-5', 'whitespace-nowrap');
|
||
labelCheckbox.setAttribute('for', checkboxId);
|
||
labelCheckbox.textContent = 'Зарубежный телефон';
|
||
|
||
checkboxDiv.appendChild(labelCheckbox);
|
||
|
||
formBloc.appendChild(checkboxDiv);
|
||
|
||
inputCheckbox.addEventListener('change', function() {
|
||
if (inputCheckbox.checked) {
|
||
$('#' + inputId).unmask();
|
||
inputPhone.value = '+'
|
||
inputPhone.addEventListener('input', function() {
|
||
var phoneNumber = inputPhone.value;
|
||
|
||
// Проверка на наличие первого символа "+"
|
||
if (phoneNumber.startsWith('+')) {
|
||
// Удаление всех нецифровых символов, кроме "+"
|
||
phoneNumber = phoneNumber.replace(/[^\d+]/g, '');
|
||
inputPhone.value = phoneNumber;
|
||
} else {
|
||
inputPhone.value = '';
|
||
}
|
||
});
|
||
inputPhone.focus();
|
||
} else {
|
||
$('#' + inputId).mask("+79999999999");
|
||
inputPhone.focus();
|
||
}
|
||
});
|
||
|
||
$('#add_phone2').closest('.form-block').before(formBloc);
|
||
|
||
if (!isNationalPhone(phone2[i]) && !isMaskedPhone2) {
|
||
$('#' + inputId).mask("+79999999999");
|
||
}
|
||
|
||
phone2Index++;
|
||
}
|
||
}
|
||
}
|
||
|
||
$("#send_bg_new").fadeIn(500);
|
||
|
||
$("#send_new").toggle(10);
|
||
|
||
$('#send_log_new').hide();
|
||
|
||
$('#send_form_new').show();
|
||
|
||
$("body").addClass("lock");
|
||
|
||
get_contracts_client(id);
|
||
}
|
||
})
|
||
}
|
||
|
||
function advertsSwitch(elemn) {
|
||
let object_id = $(elemn).attr("data-id");
|
||
console.log(object_id);
|
||
let user_id = $("#session_user_id");
|
||
let state = $(elemn).is(":checked");
|
||
console.log(state);
|
||
/*if(object_id == 'all'){
|
||
state = !state;
|
||
}*/
|
||
if (!state) {
|
||
if (confirm("Убрать объект из рекламы? Если показ в рекламе уже был начат, то все ротации по объекту будут остановлены.")) {
|
||
$('#advertisings__' + object_id + ' .action-button').removeClass('active');
|
||
switchToAdvert(object_id, user_id, +state);
|
||
} else {
|
||
|
||
$(elemn).prop("checked", true);
|
||
}
|
||
return false;
|
||
} else if (state) {
|
||
switchToAdvert(object_id, user_id, +state);
|
||
}
|
||
|
||
return false;
|
||
}
|
||
|
||
function switchCanAdModr(elemn) {
|
||
let state = $(elemn).hasClass("active");
|
||
if (state) {
|
||
if (confirm("Убрать объект из рекламы? Если показ в рекламе уже был начат, то все ротации по объекту будут остановлены.")) {
|
||
switchCanAd(elemn);
|
||
} else {
|
||
// $(elemn).prop("checked", true);
|
||
}
|
||
return false;
|
||
} else if (!state) {
|
||
switchCanAd(elemn);
|
||
}
|
||
}
|
||
|
||
function switchCanAvitoAdModr(elemn) {
|
||
let state = $(elemn).hasClass("active");
|
||
if (state) {
|
||
if (confirm("Убрать объект из рекламы? Если показ в рекламе уже был начат, то все ротации по объекту будут остановлены.")) {
|
||
switchCanAvitoAd(elemn);
|
||
} else {
|
||
// $(elemn).prop("checked", true);
|
||
}
|
||
return false;
|
||
} else if (!state) {
|
||
switchCanAvitoAd(elemn);
|
||
}
|
||
}
|
||
|
||
function switchCanCianAdModr(elemn) {
|
||
let state = $(elemn).hasClass("active");
|
||
if (state) {
|
||
if (confirm("Убрать объект из рекламы? Если показ в рекламе уже был начат, то все ротации по объекту будут остановлены.")) {
|
||
switchCanCianAd(elemn);
|
||
} else {
|
||
// $(elemn).prop("checked", true);
|
||
}
|
||
return false;
|
||
} else if (!state) {
|
||
switchCanCianAd(elemn);
|
||
}
|
||
}
|
||
|
||
function switchDomAdModr(elemn) {
|
||
let state = $(elemn).hasClass("active");
|
||
if (state) {
|
||
if (confirm("Убрать объект из рекламы? Если показ в рекламе уже был начат, то все ротации по объекту будут остановлены.")) {
|
||
switchDomAd(elemn);
|
||
} else {
|
||
// $(elemn).prop("checked", true);
|
||
}
|
||
return false;
|
||
} else if (!state) {
|
||
switchDomAd(elemn);
|
||
}
|
||
}
|
||
|
||
function switchCanEmlsAdModr(elemn) {
|
||
let state = $(elemn).hasClass("active");
|
||
if (state) {
|
||
if (confirm("Убрать объект из рекламы? Если показ в рекламе уже был начат, то все ротации по объекту будут остановлены.")) {
|
||
switchCanEmlsAd(elemn);
|
||
} else {
|
||
// $(elemn).prop("checked", true);
|
||
}
|
||
return false;
|
||
} else if (!state) {
|
||
switchCanEmlsAd(elemn);
|
||
}
|
||
}
|
||
|
||
function switchBnAdModr(elemn) {
|
||
let state = $(elemn).hasClass("active");
|
||
if (state) {
|
||
if (confirm("Убрать объект из рекламы? Если показ в рекламе уже был начат, то все ротации по объекту будут остановлены.")) {
|
||
switchBnAd(elemn);
|
||
} else {
|
||
// $(elemn).prop("checked", true);
|
||
}
|
||
return false;
|
||
} else if (!state) {
|
||
switchBnAd(elemn);
|
||
}
|
||
}
|
||
|
||
function advertsModerationSwitch(elemn) {
|
||
let object_id = $(elemn).data("id");
|
||
//console.log(object_id);
|
||
let user_id = $("#session_user_id").val();
|
||
let state = $(elemn).prop("checked");
|
||
|
||
$(".actionAdv").hide();
|
||
|
||
$('#advertisings_moderation__' + object_id).show();
|
||
|
||
$(elemn).prop("checked", !state);
|
||
//if ($object_id > 0) {
|
||
$.ajax({
|
||
url: '/ajax/dataClass/dataModerationClass.php',
|
||
method: "post",
|
||
data: {
|
||
'get_user_moderation': 1,
|
||
'user_id': user_id,
|
||
'object_id': object_id,
|
||
},
|
||
success: function(data) {
|
||
|
||
// console.log(data);
|
||
var res = JSON.parse(data);
|
||
|
||
if (!isEmpty(res.modr) || !isEmpty(res.obj)) {
|
||
console.log(res.obj.add_to_avito_feed);
|
||
|
||
if (res.modr.add_to_yandex_feed > 0 || res.obj.add_to_yandex_feed > 0) {
|
||
$('#advertisings_moderation__' + object_id + ' .addToFreeAdv').addClass('active');
|
||
} else {
|
||
$('#advertisings_moderation__' + object_id + ' .addToFreeAdv').removeClass('active');
|
||
}
|
||
|
||
|
||
if (res.modr.add_to_avito_feed > 0 || res.obj.add_to_avito_feed > 0) {
|
||
|
||
$('#advertisings_moderation__' + object_id + ' .addToAvito').addClass('active');
|
||
} else {
|
||
$('#advertisings_moderation__' + object_id + ' .addToAvito').removeClass('active');
|
||
}
|
||
if (res.modr.add_to_cian_feed > 0 || res.obj.add_to_cian_feed > 0) {
|
||
$('#advertisings_moderation__' + object_id + ' .addToCian').addClass('active');
|
||
} else {
|
||
$('#advertisings_moderation__' + object_id + ' .addToCian').removeClass('active');
|
||
}
|
||
if (res.modr.add_to_domclick_feed > 0 || res.obj.add_to_domclick_feed > 0) {
|
||
$('#advertisings_moderation__' + object_id + ' .addToDomClick').addClass('active');
|
||
} else {
|
||
$('#advertisings_moderation__' + object_id + ' .addToDomClick').removeClass('active');
|
||
}
|
||
if (res.modr.add_to_emls_feed > 0 || res.obj.add_to_emls_feed > 0) {
|
||
$('#advertisings_moderation__' + object_id + ' .addToEMLS').addClass('active');
|
||
} else {
|
||
$('#advertisings_moderation__' + object_id + ' .addToEMLS').removeClass('active');
|
||
}
|
||
if (res.modr.add_to_bn_feed > 0 || res.obj.add_to_bn_feed > 0) {
|
||
$('#advertisings_moderation__' + object_id + ' .addToBn').addClass('active');
|
||
} else {
|
||
$('#advertisings_moderation__' + object_id + ' .addToBn').removeClass('active');
|
||
}
|
||
|
||
|
||
}
|
||
|
||
if (!isEmpty(res.modr)) {
|
||
$('#advertisings_moderation__' + object_id + ' .send_moderaion').hide();
|
||
$('#advertisings_moderation__' + object_id + ' .done_send_moderation').show();
|
||
if (res.modr.is_moderation == 1) {
|
||
$('#advertisings_moderation__' + object_id + ' .done_send_moderation').text("Подтверждено");
|
||
}
|
||
} else {
|
||
$('#advertisings_moderation__' + object_id + ' .send_moderaion').show();
|
||
$('#advertisings_moderation__' + object_id + ' .done_send_moderation').hide();
|
||
}
|
||
|
||
$('#moderation_who_work_input_' + object_id).html(res.html);
|
||
$('#moderation_who_work_' + object_id).fastselect({
|
||
|
||
placeholder: 'Ответственные',
|
||
})
|
||
}
|
||
});
|
||
|
||
|
||
return false;
|
||
}
|
||
|
||
function send_moderation(object_id) {
|
||
var arr_who_work = $('#moderation_who_work_' + object_id).val();
|
||
|
||
var select_place = false;
|
||
//console.log(arr_who_whork);
|
||
$('#advertisings_moderation__' + object_id + ' .actionJW').each(function() {
|
||
if ($(this).hasClass('active')) {
|
||
select_place = true;
|
||
}
|
||
});
|
||
if (!select_place) {
|
||
alert("Вы не выбрали рекламные площадки!");
|
||
} else if (isEmpty(arr_who_work)) {
|
||
alert("Не выбраны модераторы!");
|
||
} else {
|
||
var comment = $('#moderation_comment_' + object_id).val();
|
||
// console.log(comment);
|
||
$.ajax({
|
||
url: '/ajax/dataClass/dataModerationClass.php',
|
||
method: "post",
|
||
data: {
|
||
'send_moderation': 1,
|
||
'object_id': object_id,
|
||
'who_work': JSON.stringify(arr_who_work),
|
||
'comment': comment,
|
||
},
|
||
success: function(data) {
|
||
|
||
//console.log(data);
|
||
var res = JSON.parse(data);
|
||
if (res.result == 'done') {
|
||
$('#addToAdvertSwitcher__' + object_id).prop('checked', true);
|
||
$('#advertisings_moderation__' + object_id + ' .send_moderaion').hide();
|
||
$('#advertisings_moderation__' + object_id + ' .done_send_moderation').show();
|
||
$('#advertisings_moderation__' + object_id + ' .done_send_moderation').text("Отправлено");
|
||
}
|
||
}
|
||
});
|
||
}
|
||
}
|
||
|
||
function confirm_moderation(object_id) {
|
||
$.ajax({
|
||
url: '/ajax/dataClass/dataModerationClass.php',
|
||
method: "post",
|
||
data: {
|
||
'confirm_moderation': 1,
|
||
'object_id': object_id,
|
||
|
||
},
|
||
success: function(data) {
|
||
|
||
console.log(data);
|
||
var res = JSON.parse(data);
|
||
if (res.result == 'done') {
|
||
$('#addToAdvertSwitcher__' + object_id).prop('checked', true);
|
||
$('#advertisings__' + object_id + ' .send_moderaion').hide();
|
||
$('#advertisings__' + object_id + ' .done_send_moderation').show();
|
||
}
|
||
}
|
||
});
|
||
}
|
||
|
||
function check_metro_add_object() {
|
||
if ($('#country_list_add_object').val() == 171) {
|
||
if ($('.id_rf_region option:selected').val() === '1' || $('.id_rf_region option:selected').val() === '19' ||
|
||
$('.id_rf_region option:selected').val() === '37' || $('.id_rf_region option:selected').val() === '55' ||
|
||
$('.id_rf_region option:selected').val() === '57' || $('.id_rf_region option:selected').val() === '66' || $('.id_rf_region option:selected').val() === '69') {
|
||
$('.metro_spb').hide();
|
||
$('.metro_other').show();
|
||
$('.custom-time-metro').show();
|
||
} else if ($('.id_rf_region option:selected').val() === '2') {
|
||
$('.metro_spb').show();
|
||
$('.custom-time-metro').show();
|
||
$('.metro_other').hide();
|
||
} else {
|
||
$('.metro_spb').hide();
|
||
$('.metro_other').hide();
|
||
$('.custom-time-metro').hide();
|
||
}
|
||
} else {
|
||
$('.metro_spb').hide();
|
||
$('.metro_other').hide();
|
||
$('.custom-time-metro').hide();
|
||
}
|
||
}
|
||
|
||
function confirmOnClients(clients) {
|
||
var user_id = $('#session_user_id').val();
|
||
var all = 0;
|
||
if ($('#changeClientAllFilter').prop('checked')) {
|
||
all = 1;
|
||
}
|
||
|
||
|
||
var clients_id = clients;
|
||
axios.post('/ajax/ajax_vue_requisitions.php', {
|
||
request: 'confirm_on_clients',
|
||
clients_id: clients_id,
|
||
user_id: user_id,
|
||
all: all,
|
||
|
||
}, )
|
||
.then((response) => {
|
||
console.log(response.data);
|
||
let funnel_id = $('#funnelIdClients').val();
|
||
let use_custom_funnel = $('#useCustomFunnel').val();
|
||
let section = 'clients';
|
||
// if (req_id != 0) {
|
||
section = 'requisitions';
|
||
// if (document.location.pathname == '/requisitions.php') {
|
||
get_list();
|
||
// }
|
||
// }
|
||
//console.log('conf' + section);
|
||
// get_funnels(funnel_id, section, use_custom_funnel);
|
||
/*closeConfirmReq();
|
||
this.getList();*/
|
||
})
|
||
.catch(function(error) {
|
||
console.log(error);
|
||
});
|
||
}
|
||
|
||
function open_stagebars_funnels(reqId){
|
||
if($('#funnels_adjacent_a_req_'+reqId).hasClass('active_show')){
|
||
close_stagebars_funnels(reqId);
|
||
} else {
|
||
$('#funnels_adjacent_a_req_'+reqId).addClass('active_show');
|
||
$('#funnels_adjacent_list_req_'+reqId).show();
|
||
|
||
}
|
||
}
|
||
|
||
function close_stagebars_funnels(reqId){
|
||
$('#funnels_adjacent_a_req_'+reqId).removeClass('active_show');
|
||
$('#funnels_adjacent_list_req_'+reqId).hide();
|
||
}
|
||
|
||
|
||
function get_select_who_work_task(selector, section, id){
|
||
|
||
if(section == 'client' && id == 0){
|
||
id = $('#submitClientInfoTextButtonNew').attr('data-id');
|
||
}
|
||
|
||
if(section == 'object' && id == 0){
|
||
id = $('#submitTextButton').attr('data-id');
|
||
}
|
||
|
||
|
||
$(selector+" .check_who_work").html('<img src="../images/rocket-spinner.svg" width="45px">');
|
||
if(id > 0) {
|
||
//if ($(selector+" .check_who_work .who_work_tasks").length < 1) {
|
||
axios.post('/ajax/select_form_who_work_tasks.php',
|
||
{
|
||
id: id,
|
||
section: section
|
||
}
|
||
).then((response) => {
|
||
|
||
$(selector+" .check_who_work").html(response.data);
|
||
// $(selector+" .check_who_work .who_work_tasks").val(who_work);
|
||
$(selector+" .check_who_work .who_work_tasks").fastselect({
|
||
placeholder: 'Ответственный',
|
||
// onItemCreate: function() { $(this).find('.fstQueryInput').hide() },
|
||
});
|
||
})
|
||
.catch(function(error) {
|
||
console.log(error);
|
||
});
|
||
/* } else {
|
||
$(selector+" .check_who_work .who_work_tasks").fastselect().data('fastselect').destroy();
|
||
//$('#req-new-client-work-input').html(html);
|
||
//$(selector+" .check_who_work .who_work_tasks").val(who_work);
|
||
$(selector+" .check_who_work .who_work_tasks").fastselect({
|
||
placeholder: 'Ответственный',
|
||
onItemCreate: function() { $(this).find('.fstQueryInput').hide() },
|
||
});
|
||
}*/
|
||
}
|
||
}
|
||
|
||
function show_advert_all(){
|
||
$('.card-advert-all').removeClass('hidden');
|
||
$('#checkdox_avito_feed_all').prop('checked', true);
|
||
$('#checkdox_cian_feed_all').prop('checked', true);
|
||
$('#checkdox_yandex_feed_all').prop('checked', true);
|
||
$('#checkdox_dom_feed_all').prop('checked', true);
|
||
$('#checkdox_free_feed_all').prop('checked', true);
|
||
$('#checkdox_jcat_feed_all').prop('checked', true);
|
||
$('#checkdox_advert_all').prop('checked', true);
|
||
|
||
//$('#cian_promo_price_all').val('').attr('disabled', 'disabled');
|
||
}
|
||
|
||
function hide_advert_all() {
|
||
$('.card-advert-all').addClass('hidden');
|
||
}
|
||
|
||
$(document).ready(function() {
|
||
customSelect(".my-objects .card-advert-all select");
|
||
get_mes_clients();
|
||
get_mes_objects();
|
||
setInterval(get_mes_clients, 10000);
|
||
setInterval(get_mes_objects, 10000);
|
||
|
||
let area = $('body');
|
||
let areaHasLoaded = false;
|
||
|
||
if ($('.jw-new-residence').length)
|
||
area = $('.jw-new-residence');
|
||
|
||
/*if ($('.jw__objects').length)
|
||
area = $('.jw__objects');*/
|
||
|
||
if ($('.fr-system__objects').length)
|
||
area = $('.fr-system__objects');
|
||
|
||
if ($('.fr__users .users').length)
|
||
area = $('.fr__users .users');
|
||
|
||
if ($('.fr__users .partners').length)
|
||
area = $('.fr__users .partners');
|
||
|
||
if ($('.my-docs #docs_info_tab').length)
|
||
area = $('.my-docs #docs_info_tab');
|
||
|
||
/*if ($('.crm.new').length)
|
||
area = $('.crm.new');*/
|
||
|
||
if ($('#clients_list .clients').length)
|
||
area = $('#clients_list .clients');
|
||
|
||
/*if (area)
|
||
area.hide();*/
|
||
|
||
let preloaderDisabled = false;
|
||
if ($('.view-changer .view-kanban.active').length)
|
||
preloaderDisabled = true;
|
||
|
||
if (!area.hasClass('my-objects') && !area.hasClass('jw-clients') && !area.hasClass('jw-requisitions') && !area.hasClass('jw-agency-objects')) {
|
||
if (!preloaderDisabled) {
|
||
let loaderInterval = setInterval(() => {
|
||
if (area) {
|
||
//console.log({area});
|
||
if (
|
||
$('.object-content__preloader').css('display') == 'block' &&
|
||
!area.text().trim().length == 0
|
||
) {
|
||
$('.object-content__preloader').hide();
|
||
|
||
if (area.css('display') == 'none' || area.hasClass('hidden'))
|
||
area.show();
|
||
|
||
areaHasLoaded = true;
|
||
} else {
|
||
$('.object-content__preloader').show();
|
||
}
|
||
}
|
||
|
||
if (areaHasLoaded || area) {
|
||
$('.object-content__preloader').hide();
|
||
|
||
if (area) {
|
||
if (area.css('display') == 'none' || area.hasClass('hidden'))
|
||
area.show();
|
||
}
|
||
|
||
clearInterval(loaderInterval);
|
||
}
|
||
|
||
}, 600);
|
||
} else {
|
||
$('.object-content__preloader').hide();
|
||
}
|
||
}
|
||
|
||
$('body').on('click', '#confirm_button_group .confirmClient, .confirmExtensionRequisition, .unconfirmExtensionRequisition, .view_history_tasks', function() {
|
||
localStorage['collapse_push'] = 1;
|
||
checkTop();
|
||
$('.confirm_mess').html('');
|
||
get_mes_clients();
|
||
get_mes_objects();
|
||
});
|
||
|
||
$('body').on('click', '#total_confirm', function() {
|
||
localStorage['collapse_push'] = 0;
|
||
checkTop();
|
||
$('.confirm_mess').html('');
|
||
get_mes_clients();
|
||
get_mes_objects();
|
||
});
|
||
|
||
$('body').on('click', '.acceptAllClient', function () {
|
||
$('.confirm_mess .client-confirm[id^="client-confirm_message_other_"]').each(function () {
|
||
const messageId = $(this).attr('id').replace('client-confirm_message_other_', '');
|
||
const clientId = $(this).find('.confirmClient').attr('data-id');
|
||
const whoWork = $(this).find('.confirmClient').attr('data-manager');
|
||
const reqId = $(this).find('.confirmClient').attr('data-req');
|
||
const tr = $(this).find('.confirmClient').attr('data-tr');
|
||
|
||
//console.log({messageId, clientId, whoWork, reqId, tr});
|
||
|
||
// Убираем уведомление с экрана
|
||
$(this).remove();
|
||
|
||
// Формируем параметры запроса
|
||
let param = 'id=' + clientId +
|
||
'&who_work=' + whoWork +
|
||
'&tr=' + tr +
|
||
'&req_id=' + reqId;
|
||
|
||
// Отправляем AJAX-запрос на сервер
|
||
$.ajax({
|
||
url: '/ajax/confirmClient.php?' + param,
|
||
success: function(res) {
|
||
//console.log("Клиент принят", res);
|
||
|
||
// Обновляем интерфейс
|
||
let sort_order = $('select[name=sort_order]').val();
|
||
if ($('.pagination li.active a').text()) {
|
||
get_list($('.pagination li.active a').text(), sort_order, false);
|
||
} else {
|
||
get_list(null, sort_order, false);
|
||
}
|
||
|
||
// Удаляем бейджики
|
||
$("#menu_clients .jw__counter.new").remove();
|
||
$("#filter_confirm .counter").remove();
|
||
|
||
// Добавляем новые (если есть)
|
||
if (res != 0) {
|
||
var html = '<b class="jw__counter new">' + res + '</b>';
|
||
var html2 = '<span class="counter">' + res + '</span>';
|
||
$("#menu_clients span").after(html);
|
||
$("#filter_confirm a").after(html2);
|
||
}
|
||
|
||
// Обновляем воронки и уведомления
|
||
let funnel_id = $('#funnelIdClients').val();
|
||
let use_custom_funnel = $('#useCustomFunnel').val();
|
||
let section = 'clients';
|
||
if (reqId != 0) {
|
||
section = 'requisitions';
|
||
if (document.location.pathname == '/requisitions.php') {
|
||
requisitions.getList();
|
||
}
|
||
}
|
||
|
||
get_funnels(funnel_id, section, use_custom_funnel);
|
||
get_mes_clients(); // обновляем список уведомлений
|
||
}
|
||
});
|
||
});
|
||
|
||
// Удаляем кнопки "Свернуть всё" и "Принять всё", если уведомлений больше нет
|
||
if ($('.confirm_mess .object-confirm, .confirm_mess .client-confirm').length === 0) {
|
||
$('#confirm_button_group').remove();
|
||
}
|
||
|
||
checkTop();
|
||
});
|
||
|
||
$('body').on('click', '.acceptAllObjects', function () {
|
||
const $notifications = $('.confirm_mess .object-confirm');
|
||
const total = $notifications.length;
|
||
let completed = 0;
|
||
|
||
if (total === 0) {
|
||
alert("Нет объектов для принятия.");
|
||
return;
|
||
}
|
||
|
||
// Показываем прелоадер и скрываем кнопки
|
||
$notifications.each(function () {
|
||
const objectId = $(this).find('.confirmObject').attr('data-record-id');
|
||
|
||
if (objectId) {
|
||
$('#object-confirm__preloader__' + objectId).show();
|
||
$('#object-confirm__buttons__' + objectId).hide();
|
||
|
||
// Отправляем AJAX-запрос
|
||
$.ajax({
|
||
url: '/ajax/confirmObject.php?id=' + objectId,
|
||
success: function() {
|
||
console.log("Объект принят:", objectId);
|
||
completed++;
|
||
|
||
// Удаляем уведомление из DOM
|
||
$('#object-confirm_message' + objectId).remove();
|
||
|
||
// Если все запросы выполнены — перезагружаем страницу
|
||
if (completed === total) {
|
||
window.location.reload();
|
||
}
|
||
},
|
||
error: function() {
|
||
completed++;
|
||
if (completed === total) {
|
||
window.location.reload();
|
||
}
|
||
}
|
||
});
|
||
} else {
|
||
completed++;
|
||
}
|
||
});
|
||
|
||
// На случай, если все элементы не имеют `objectId` — избегаем бесконечного ожидания
|
||
if (total === completed) {
|
||
window.location.reload();
|
||
}
|
||
});
|
||
|
||
$(".complete-button").click(function() {
|
||
var id = $(this).attr('data-id');
|
||
$("#groupAB__" + id).toggleClass("active");
|
||
return false;
|
||
});
|
||
|
||
// Отправка формы добавлени/редактирования Клиента
|
||
$('#addEditNew').submit(function(e) {
|
||
e.preventDefault();
|
||
var ellada = $('#elladaAgency').attr("data-value");
|
||
var fio = $('#addEditNew [name=fio]').val();
|
||
var email = $('#addEditNew [name=email]').val();
|
||
var phone = $('#addEditNew [name=phone]').val();
|
||
var client_type = $("#ms-new-client-type").val();
|
||
|
||
var wazzap_chat_type = $("#wazzap_chat_type").val();
|
||
var wazzap_chat_id = $("#wazzap_chat_id").val();
|
||
var wazzap_channel_id = $("#wazzap_channel_id").val();
|
||
var wazzap_user_id = $("#wazzap_user_id").val();
|
||
var wazzap_integration_id = $("#wazzap_integration_id").val();
|
||
|
||
var client_rol = $("#ms-new-client-rol").val();
|
||
var property_type = $("#ms-new-client-objects-type").val();
|
||
var object_type = $("#ms-new-client-object").val();
|
||
|
||
var budget = $('#addEditNew [name=budget]').val();
|
||
var comment = $('#addEditNew [name=opis]').val().replace(/\n/g, "<br>");
|
||
|
||
var who_work = 0;
|
||
who_work = $("#ms-new-client-work").val();
|
||
var source = $("#ms-new-client-source").val();
|
||
var employee = $("#ms-new-client-partner").val();
|
||
|
||
var birthday = $('#addEditNew [name=birthday]').val();
|
||
var dArr = birthday.split(".");
|
||
var date = dArr[2] + "-" + dArr[1] + "-" + dArr[0];
|
||
var stage = 1;
|
||
$("#addEditNew .stagebar .stage.active .crm__small-stage").each(function() {
|
||
stage = $(this).data("stage");
|
||
});
|
||
var hot = 0
|
||
if ($('#addEditNew .form-block__hot-client').hasClass('active')) {
|
||
hot = 1;
|
||
}
|
||
var priority = 0
|
||
if ($('#addEditNew .form-block__p1-client').hasClass('active')) {
|
||
priority = 1;
|
||
}
|
||
if ($('#addEditNew .form-block__p2-client').hasClass('active')) {
|
||
priority = 2;
|
||
}
|
||
if ($('#addEditNew .form-block__p3-client').hasClass('active')) {
|
||
priority = 3;
|
||
}
|
||
if ($('#addEditNew .form-block__p4-client').hasClass('active')) {
|
||
priority = 4;
|
||
}
|
||
var id = $('#addEditNew [name=id]').val();
|
||
var confirm = 0;
|
||
confirm = $('#addEditNew #confirm').val();
|
||
var of_objects = $('#of_objects').val();
|
||
var phone2 = [];
|
||
$("#addEditNew [name=phone2]").each(function() {
|
||
if ($(this).val() != '') {
|
||
phone2.push($(this).val());
|
||
}
|
||
});
|
||
var objects = '';
|
||
if (object_type) {
|
||
objects = JSON.stringify(object_type);
|
||
}
|
||
var funnel_id = $("#ms-new-funnel").val();
|
||
// console.log(client_rol);
|
||
var text = "";
|
||
var error = false;
|
||
$(this).find('input, textarea, checkbox, select').each(function() {
|
||
if ($(this).attr('required') && $(this).val() === '') {
|
||
let label = $(this).closest('.form-block').find('label, .label').text();
|
||
text += 'Поле «' + label + '» обязательно к заполнению.<br/>';
|
||
$(this).addClass('invalid');
|
||
} else {
|
||
$(this).removeClass('invalid');
|
||
}
|
||
});
|
||
|
||
var id_reqs = '';
|
||
id_reqs = $("#ms-new-client-req").val();
|
||
var persone_no_ip = 0;
|
||
if($('#persone_yes_ip').prop('checked')){
|
||
persone_no_ip = 1;
|
||
}
|
||
|
||
var persone_gender = 0;
|
||
if($('#persone_gender_woman').prop('checked')){
|
||
persone_gender = 1;
|
||
}
|
||
|
||
var agencyID = $('#session_agency_id').val();
|
||
|
||
if (ellada === '0' && agencyID != 8257 && agencyID != 7384 && agencyID != 11082 && agencyID != 11082
|
||
&& agencyID != 12556 && agencyID != 13154 && agencyID != 14134 && agencyID != 11417
|
||
&& agencyID != 12028 && agencyID != 18237 && agencyID != 19111
|
||
&& agencyID != 19794 && agencyID != 22666) {
|
||
if (agencyID == 8435 && funnel_id == 283) {
|
||
|
||
} else {
|
||
if (client_rol == null) {
|
||
text += "Не заполнено поле Роль клиента<br>";
|
||
error = true;
|
||
$('#addEditNew #ms-new-client-rol').addClass('invalid');
|
||
$('#addEditNew #ms-new-client-rol').closest('.fstElement').addClass('invalid');
|
||
// $('#addEditNew .error_msg').html(text).show();
|
||
} else {
|
||
$('#addEditNew #ms-new-client-rol').removeClass('invalid');
|
||
$('#addEditNew #ms-new-client-rol').closest('.fstElement').removeClass('invalid');
|
||
}
|
||
if (client_type == null) {
|
||
text += "Не заполнено поле Тип клиента<br>";
|
||
error = true;
|
||
$('#addEditNew #ms-new-client-type').addClass('invalid');
|
||
$('#addEditNew #ms-new-client-type').closest('.fstElement').addClass('invalid');
|
||
//$('#addEditNew .error_msg').html(text).show();
|
||
} else {
|
||
$('#addEditNew #ms-new-client-type').removeClass('invalid');
|
||
$('#addEditNew #ms-new-client-type').closest('.fstElement').removeClass('invalid');
|
||
}
|
||
}
|
||
}
|
||
//Ввод обязательных полей для ПИА (email, рекламный источник)
|
||
if (agencyID == 4135 || agencyID == 7384 || agencyID == 7864 || agencyID == 13154 || agencyID ==19111) {
|
||
|
||
/*if(ac.isEmpty(email)){
|
||
text += "Не заполнено поле email<br>";
|
||
error = true;
|
||
$('#addEditNew input[name="email"]').addClass('invalid');
|
||
} else {
|
||
if(ac.validateEmail(email) === false){
|
||
text += "Неверный формат email<br>";
|
||
error = true;
|
||
$('#addEditNew input[name="email"]').addClass('invalid');
|
||
} else {
|
||
$('#addEditNew input[name="email"]').removeClass('invalid');
|
||
}
|
||
}*/
|
||
//console.log(source);
|
||
if (isEmpty(source) || source == 0) {
|
||
text += "Не выбран рекламный источник<br>";
|
||
error = true;
|
||
$('#addEditNew #ms-new-client-source').addClass('invalid');
|
||
$('#addEditNew #ms-new-client-source').closest('.fstElement').addClass('invalid');
|
||
} else {
|
||
$('#addEditNew #ms-new-client-source').removeClass('invalid');
|
||
$('#addEditNew #ms-new-client-source').closest('.fstElement').removeClass('invalid');
|
||
}
|
||
}
|
||
|
||
var poles = {};
|
||
|
||
if (typeof client_fields != "undefined") {
|
||
if (!client_fields.isEmpty(client_fields.clientFields)) {
|
||
for (var i = 0; i < client_fields.clientFields.length; i++) {
|
||
if (!client_fields.isEmpty(client_fields.fieldModels['model_' + client_fields.clientFields[i].id]) && client_fields.fieldModels['model_' + client_fields.clientFields[i].id]) {
|
||
|
||
if (client_fields.clientFields[i].type == 4) {
|
||
poles['model_' + client_fields.clientFields[i].id] = 1;
|
||
} else {
|
||
poles['model_' + client_fields.clientFields[i].id] = client_fields.fieldModels['model_' + client_fields.clientFields[i].id];
|
||
}
|
||
}
|
||
if (client_fields.clientFields[i].is_podgroup > 0) {
|
||
for (var j = 0; j < client_fields.clientFields[i].podgroups.length; j++) {
|
||
//console.log(client_fields.fieldModels['modelp_11']);
|
||
if (!client_fields.isEmpty(client_fields.fieldModels['modelp_' + client_fields.clientFields[i].podgroups[j].id]) && client_fields.fieldModels['modelp_' + client_fields.clientFields[i].podgroups[j].id]) {
|
||
if (client_fields.clientFields[i].podgroups[j].type == 4) {
|
||
poles['modelp_' + client_fields.clientFields[i].podgroups[j].id] = 1;
|
||
} else {
|
||
poles['modelp_' + client_fields.clientFields[i].podgroups[j].id] = client_fields.fieldModels['modelp_' + client_fields.clientFields[i].podgroups[j].id];
|
||
}
|
||
}
|
||
}
|
||
}
|
||
if (client_fields.clientFields[i].is_required > 0) {
|
||
if (client_fields.isEmpty(client_fields.fieldModels['model_' + client_fields.clientFields[i].id])) {
|
||
error = true;
|
||
text += "<p>Не заполнено поле: " + client_fields.clientFields[i].title + "</p>";
|
||
$('#custom_client_' + client_fields.clientFields[i].id).addClass('invalid');
|
||
} else {
|
||
$('#custom_client_' + client_fields.clientFields[i].id).removeClass('invalid');
|
||
}
|
||
}
|
||
|
||
}
|
||
|
||
}
|
||
}
|
||
|
||
var rynok = 1;
|
||
if ($('#rynok_2').prop('checked')) {
|
||
rynok = 2;
|
||
}
|
||
//console.log(rynok);
|
||
var yes_object = 0;
|
||
if ($('#addEditNew [name=yes_object]').prop('checked')) {
|
||
yes_object = 1;
|
||
}
|
||
|
||
var yes_doc = 0;
|
||
if ($('#addEditNew [name=yes_doc]').prop('checked')) {
|
||
yes_doc = 1;
|
||
}
|
||
|
||
var yes_bank = 0;
|
||
if ($('#addEditNew [name=yes_bank]').prop('checked')) {
|
||
yes_bank = 1;
|
||
}
|
||
|
||
var yes_resolve = 0;
|
||
if ($('#addEditNew [name=yes_resolve]').prop('checked')) {
|
||
yes_resolve = 1;
|
||
}
|
||
|
||
var send_web_hook = 0;
|
||
if ($('#addEditNew [name=send_web_hook]').prop('checked')) {
|
||
send_web_hook = 1;
|
||
}
|
||
|
||
var yes_issue = 0;
|
||
if ($('#addEditNew [name=yes_issue]').prop('checked')) {
|
||
yes_issue = 1;
|
||
}
|
||
|
||
var yes_brak = 0;
|
||
if ($('#addEditNew [name=yes_brak]').prop('checked')) {
|
||
yes_brak = 1;
|
||
}
|
||
|
||
var banks = {};
|
||
$('.probank .list_bank').each(function() {
|
||
var bank = {};
|
||
var bankid = $(this).find('.adv_activities').attr("data-id");
|
||
var bankname = $(this).find('.adv_activities').text();
|
||
var bankemp = $(this).find('.adv_activities').attr("data-employee");
|
||
var bankdate = $(this).find('.adv_activities').attr("data-date");
|
||
bank.employee = bankemp;
|
||
bank.date = bankdate;
|
||
bank.name = bankname;
|
||
banks[bankid] = bank;
|
||
});
|
||
|
||
var resolve = {};
|
||
$('.proresolve .list_bank').each(function() {
|
||
var resol = {};
|
||
var resolid = $(this).find('.adv_activities').attr("data-id");
|
||
var resolname = $(this).find('.adv_activities').text();
|
||
var resolsumma = $(this).find('.adv_activities').attr("data-summa");
|
||
var resolprstavka = $(this).find('.adv_activities').attr("data-prstavka");
|
||
var resolsrok = $(this).find('.adv_activities').attr("data-srok");
|
||
var resolusloviya = $(this).find('.adv_activities').attr("data-usloviya");
|
||
resol.name = resolname;
|
||
resol.summa = resolsumma;
|
||
resol.prstavka = resolprstavka;
|
||
resol.srok = resolsrok;
|
||
resol.usloviya = resolusloviya;
|
||
resolve[resolid] = resol;
|
||
});
|
||
|
||
var contracts = [];
|
||
$('#list_contracts_client_form div label').each(function() {
|
||
var contr = $(this).closest("div");
|
||
if (contr.length > 0 && contr.attr("data-client") == 0 && contr.attr("data-contract") == 0) {
|
||
contracts.push(JSON.parse(contr.attr("data-data")));
|
||
}
|
||
})
|
||
|
||
var params = {
|
||
add_edit_client: 'add_edit_client',
|
||
fio: fio,
|
||
email: email,
|
||
phone: phone,
|
||
phone2: JSON.stringify(phone2),
|
||
work_type: JSON.stringify(client_type),
|
||
role: JSON.stringify(client_rol),
|
||
activities: JSON.stringify($('#ms-new-client-activities').val()),
|
||
type: JSON.stringify(property_type),
|
||
objects: objects,
|
||
budget: budget,
|
||
opis: comment,
|
||
who_work: who_work,
|
||
source: source,
|
||
employee: employee,
|
||
birthday: date,
|
||
confirm: confirm,
|
||
status: stage,
|
||
stage: stage,
|
||
hot: hot,
|
||
priority: priority,
|
||
id: id,
|
||
of_objects: of_objects,
|
||
rynok: rynok,
|
||
yes_object: yes_object,
|
||
jc: JSON.stringify($('#ms_new_blocks').val()),
|
||
ante_pr: $('#addEditNew [name=ante_pr]').val(),
|
||
ante_rub: $('#addEditNew [name=ante_rub]').val(),
|
||
comment_ipoteka: $('#addEditNew [name=comment]').val(),
|
||
yes_doc: yes_doc,
|
||
number_doc: $('#addEditNew [name=number_doc]').val(),
|
||
date_doc: $('#addEditNew [name=date_doc]').val(),
|
||
doc_komis_pr: $('#addEditNew [name=doc_komis_pr]').val(),
|
||
doc_komis: $('#addEditNew [name=doc_komis]').val(),
|
||
yes_bank: yes_bank,
|
||
date_bank: $('#addEditNew [name=date_bank]').val(),
|
||
employee_bank: $('#addEditNew [name=employee_bank]').val(),
|
||
banks: JSON.stringify(banks),
|
||
yes_resolve: yes_resolve,
|
||
resolve: JSON.stringify(resolve),
|
||
comment_resolve: $('#addEditNew [name=comment_resolve]').val(),
|
||
yes_issue: yes_issue,
|
||
bank_issue: JSON.stringify($('#addEditNew #ms-new-client-bank-issue').val()),
|
||
rate_issue: $('#addEditNew [name=rate_issue]').val(),
|
||
term_issue: $('#addEditNew [name=term_issue]').val(),
|
||
send_web_hook: send_web_hook,
|
||
yes_brak: yes_brak,
|
||
relationship: $('#addEditNew [name=relationship]').val(),
|
||
summa_object: $('#addEditNew [name=summa_object]').val(),
|
||
age: $('#addEditNew [name=age]').val(),
|
||
co_borrower_fio: $('#addEditNew [name=co_borrower_fio]').val(),
|
||
co_borrower_age: $('#addEditNew [name=co_borrower_age]').val(),
|
||
contacts: $('#addEditNew [name=contacts]').val(),
|
||
co_borrower_dohod: $('#addEditNew [name=co_borrower_dohod]').val(),
|
||
income: $('#addEditNew [name=income]').val(),
|
||
credit_load: $('#addEditNew [name=credit_load]').val(),
|
||
contracts: JSON.stringify(contracts),
|
||
wazzap_chat_type: wazzap_chat_type,
|
||
wazzap_chat_id: wazzap_chat_id,
|
||
wazzap_channel_id: wazzap_channel_id,
|
||
wazzap_user_id: wazzap_user_id,
|
||
wazzap_integration_id: wazzap_integration_id,
|
||
persone_no_ip: persone_no_ip,
|
||
passport: $('#addEditNew [name=passport]').val(),
|
||
date_of_issue_passport: $('#addEditNew [name=date_of_issue_passport]').val(),
|
||
passport_issued_by: $('#addEditNew [name=passport_issued_by]').val(),
|
||
birthplace: $('#addEditNew [name=birthplace]').val(),
|
||
registration_address: $('#addEditNew [name=registration_address]').val(),
|
||
post_address: $('#addEditNew [name=post_address]').val(),
|
||
persone_info_bank: $('#addEditNew [name=persone_info_bank]').val(),
|
||
persone_snils: $('#addEditNew [name=persone_snils]').val(),
|
||
persone_nationality: $('#addEditNew [name=persone_nationality]').val(),
|
||
persone_gender: persone_gender,
|
||
persone_full_name: $('#addEditNew [name=persone_full_name]').val(),
|
||
persone_short_name: $('#addEditNew [name=persone_short_name]').val(),
|
||
persone_ogrn: $('#addEditNew [name=persone_ogrn]').val(),
|
||
persone_inn: $('#addEditNew [name=persone_inn]').val(),
|
||
persone_kpp: $('#addEditNew [name=persone_kpp]').val(),
|
||
persone_legal_address: $('#addEditNew [name=persone_legal_address]').val(),
|
||
persone_fact_address: $('#addEditNew [name=persone_fact_address]').val(),
|
||
persone_name_bank: $('#addEditNew [name=persone_name_bank]').val(),
|
||
persone_bik_bank: $('#addEditNew [name=persone_bik_bank]').val(),
|
||
persone_rs_bank: $('#addEditNew [name=persone_rs_bank]').val(),
|
||
persone_kors_bank: $('#addEditNew [name=persone_kors_bank]').val(),
|
||
persone_fio_rukovod: $('#addEditNew [name=persone_fio_rukovod]').val(),
|
||
persone_powers: $('#addEditNew [name=persone_powers]').val(),
|
||
persone_kod_podrazdelenia: $('#addEditNew [name=persone_kod_podrazdelenia]').val(),
|
||
id_reqs: id_reqs
|
||
|
||
}
|
||
|
||
if (funnel_id != '') {
|
||
params['funnel_id'] = funnel_id;
|
||
params['new_funnel_id'] = funnel_id;
|
||
|
||
//console.log(var stage = $('#kanban_item_li_' + id_client).closest('.kanban__sortable').data("stage"););
|
||
|
||
}
|
||
if ($("#ms-new-funnel").is(":visible")) {
|
||
params['new_funnel_id'] = $("#ms-new-funnel").val();
|
||
}
|
||
$('#block_client_kredit .form-block').each(function() {
|
||
$(this).find('select').each(function() {
|
||
params[$(this).attr('name')] = JSON.stringify($(this).val());
|
||
});
|
||
$(this).find('input[type=text]').each(function() {
|
||
params[$(this).attr('name')] = $(this).val();
|
||
});
|
||
$(this).find('input[type=checkbox]').each(function() {
|
||
if ($(this).prop('checked')) {
|
||
params[$(this).attr('name')] = 1;
|
||
} else {
|
||
params[$(this).attr('name')] = 0;
|
||
}
|
||
});
|
||
$(this).find('input[type=radio]:checked').each(function() {
|
||
params[$(this).attr('name')] = $(this).attr('id');
|
||
});
|
||
});
|
||
|
||
// Поля для заполнения интерактивных документов
|
||
$('#addEditNew input[name^="variables"]').each(function() {
|
||
params[$(this).attr('name')] = ((typeof $(this).val() !== "undefined") ? $(this).val() : "");
|
||
});
|
||
|
||
|
||
if (error) {
|
||
$('#addEditNew .error_msg').html(text).show();
|
||
|
||
if ($(this).find('.invalid:visible').length > 0) {
|
||
let offset = Math.abs($(this).offset().top - $(this).find('.invalid:visible').first().offset().top);
|
||
console.log(offset);
|
||
$('.full_modal-bg').stop().animate({ scrollTop: Math.round(offset) }, '300');
|
||
} else {
|
||
$('.full_modal-bg').stop().animate({ scrollTop: 0 }, '500');
|
||
}
|
||
|
||
} else {
|
||
|
||
if($('#session_user_id').val() == 5238 || $('#session_user_id').val() == 14050){
|
||
if(confirm == 0){
|
||
confirm_object_req_check.check_obj(id, who_work).then(data => {
|
||
console.log(data);
|
||
if(data != 0 && data.length > 0){
|
||
confirm_object_req_check.open();
|
||
} else {
|
||
save_client(params, funnel_id, poles);
|
||
}
|
||
});
|
||
} else {
|
||
save_client(params, funnel_id, poles);
|
||
}
|
||
/**/
|
||
|
||
} else {
|
||
$('#addEditNew .load-bar').removeClass('hidden');
|
||
$('#newClient').addClass('hidden');
|
||
//console.log(params);
|
||
$.post('/ajax/addEditClient.php',
|
||
params,
|
||
function(data) {
|
||
// console.log(data);
|
||
// console.log(funnel_id);
|
||
if (data > 1) {
|
||
//console.log(funnel_id);
|
||
if ($('.view-kanban.active').length > 0) {
|
||
if (id && id !== undefined) {
|
||
if (funnel_id != 0) {
|
||
stage = $('#kanban_item_li_' + id).closest('.kanban__sortable').data("stage");
|
||
//console.log(stage);
|
||
}
|
||
if(document.location.pathname == '/clients.php'){
|
||
get_kanban_li(id, stage, priority);
|
||
// console.log(funnel_id);
|
||
let globalFunnel = $('#funnelIdClients').val();
|
||
if(funnel_id != globalFunnel){
|
||
$(`#kanban_item_li_${id}`).hide();
|
||
get_count_clients();
|
||
}
|
||
}
|
||
} else {
|
||
let sort_order = $('select[name=sort_order]').val();
|
||
get_list(null, sort_order, false);
|
||
}
|
||
} else {
|
||
let sort_order = $('select[name=sort_order]').val();
|
||
if ($('.pagination li.active a').text()) {
|
||
get_list($('.pagination li.active a').text(), sort_order, false);
|
||
} else {
|
||
get_list(null, sort_order, false);
|
||
}
|
||
}
|
||
//Сохранение кастомных полей
|
||
|
||
if (typeof client_fields != "undefined") {
|
||
client_fields.addEditFields(poles, data);
|
||
}
|
||
// console.log(id_reqs.split(','));
|
||
if (id_reqs != '') {
|
||
if (document.location.pathname == '/requisitions.php') {
|
||
var reqs = id_reqs.split(',');
|
||
for (var req_id in reqs) {
|
||
if (!isNaN(parseInt(reqs[req_id]))) {
|
||
var req_client = requisitions.req['req' + reqs[req_id]];
|
||
|
||
if (req_client && !isEmpty(req_client.client)) {
|
||
requisitions.req['req' + reqs[req_id]].client.fio = fio;
|
||
}
|
||
}
|
||
|
||
}
|
||
//requisitions.getList();
|
||
//console.log()
|
||
//getClient(data, JSON.parse(id_reqs)[0]);
|
||
}
|
||
axios.post('/ajax/ajax_vue_requisitions.php', {
|
||
request: 'update_req',
|
||
req_id: id_reqs,
|
||
object_id: objects,
|
||
client_id: data,
|
||
|
||
},
|
||
|
||
)
|
||
.then((response) => {
|
||
//console.log(response.data);
|
||
// var res = response.data;
|
||
// this.closeReqform();
|
||
|
||
|
||
})
|
||
.catch(function(error) {
|
||
console.log(error);
|
||
});
|
||
}
|
||
|
||
if (window.location.pathname == '/add-object.php') {
|
||
|
||
getSelectClients(data);
|
||
add_object_new_client_input_vue(data);
|
||
|
||
}
|
||
|
||
if (window.location.pathname == '/my-objects.php' || window.location.pathname == '/agency-objects.php') {
|
||
|
||
add_object_new_client_input_vue(data);
|
||
|
||
}
|
||
|
||
if ($('#client-history__bg').css("display") == 'block') {
|
||
|
||
if(document.location.pathname == '/requisitions.php'){
|
||
if(parseInt($("#client_history").attr("data-active-req")) == id){
|
||
openClientEventsWindowNew(id, $('#session_to_send').val());
|
||
}
|
||
} else {
|
||
openClientEventsWindowNew(id, $('#session_to_send').val());
|
||
}
|
||
}
|
||
$('#send_bg_new').fadeOut(500);
|
||
$("#send_bg_new .edit-modal").toggle(10);
|
||
$("body").removeClass("lock");
|
||
var komy = 0;
|
||
$('#komy option').each(function() {
|
||
if ($(this).val() == email) komy++;
|
||
});
|
||
if (komy == 0) {
|
||
$('#komy').prepend('<option value="' + email + '">' + fio + '</option>');
|
||
}
|
||
|
||
if (typeof req_form == 'object') {
|
||
if (req_form.isClientForm) {
|
||
req_form.clientId = parseInt(data);
|
||
req_form.isClientForm = false;
|
||
req_form.openReqForm(1);
|
||
$('#req_form').removeAttr("style");
|
||
}
|
||
}
|
||
$('#addEditNew .load-bar').addClass('hidden');
|
||
$('#newClient').removeClass('hidden');
|
||
} else {
|
||
$('#addEditNew .error_msg').html(data).show();
|
||
//$('#addEditNew .error_msg').next().text('Клиент '+fio);
|
||
$('#addEditNew .modal-title').text('Клиент ' + fio);
|
||
$(".full_modal-bg").stop().animate({ scrollTop: 0 }, 500);
|
||
$('#addEditNew .load-bar').addClass('hidden');
|
||
$('#newClient').removeClass('hidden');
|
||
}
|
||
|
||
});
|
||
}
|
||
}
|
||
|
||
//console.log(fio);
|
||
return false;
|
||
});
|
||
|
||
$("body").on('click', '#send_bg_plan .closer', function() {
|
||
$("#send_bg_plan").fadeOut(500);
|
||
|
||
$("#send_plan").hide(10);
|
||
|
||
$("body").removeClass("lock");
|
||
|
||
|
||
return false;
|
||
});
|
||
|
||
$('body').on('click', '#liObject', function() {
|
||
$('#liGlobal').removeClass('active');
|
||
$('#liIpoteka').removeClass('active');
|
||
$('#liCredit').removeClass('active');
|
||
$('#liReq').removeClass('active');
|
||
$('#liDeals').removeClass('active');
|
||
$(this).addClass('active');
|
||
$('#addEditNew .tabs__content').hide();
|
||
$('#addEditNew .tabs__content:eq(1)').show();
|
||
|
||
});
|
||
|
||
$('body').on('click', '#liGlobal', function() {
|
||
$('#liObject').removeClass('active');
|
||
$('#liIpoteka').removeClass('active');
|
||
$('#liCredit').removeClass('active');
|
||
$('#liReq').removeClass('active');
|
||
$('#liInnerDocs').removeClass('active');
|
||
$('#liDeals').removeClass('active');
|
||
$(this).addClass('active');
|
||
$('#addEditNew .tabs__content').hide();
|
||
$('#addEditNew .tabs__content:eq(0)').show();
|
||
|
||
});
|
||
|
||
$('body').on('click', '#liIpoteka', function() {
|
||
$('#liObject').removeClass('active');
|
||
$('#liGlobal').removeClass('active');
|
||
$('#liCredit').removeClass('active');
|
||
$('#liReq').removeClass('active');
|
||
$('#liInnerDocs').removeClass('active');
|
||
$('#liDeals').removeClass('active');
|
||
$(this).addClass('active');
|
||
$('#addEditNew .tabs__content').hide();
|
||
$('#addEditNew .tabs__content:eq(2)').show();
|
||
|
||
});
|
||
|
||
$('body').on('click', '#liCredit', function() {
|
||
$('#liObject').removeClass('active');
|
||
$('#liGlobal').removeClass('active');
|
||
$('#liIpoteka').removeClass('active');
|
||
$('#liReq').removeClass('active');
|
||
$('#liInnerDocs').removeClass('active');
|
||
$('#liDeals').removeClass('active');
|
||
$(this).addClass('active');
|
||
$('#addEditNew .tabs__content').hide();
|
||
$('#addEditNew .tabs__content:eq(3)').show();
|
||
|
||
});
|
||
|
||
$('body').on('click', '#liReq', function() {
|
||
$('#liObject').removeClass('active');
|
||
$('#liGlobal').removeClass('active');
|
||
$('#liIpoteka').removeClass('active');
|
||
$('#liCredit').removeClass('active');
|
||
$('#liInnerDocs').removeClass('active');
|
||
$('#liDeals').removeClass('active');
|
||
$(this).addClass('active');
|
||
$('#addEditNew .tabs__content').hide();
|
||
$('#addEditNew .tabs__content:eq(4)').show();
|
||
if (typeof requisitions_client == 'object') {
|
||
requisitions_client.getList();
|
||
}
|
||
|
||
});
|
||
|
||
$('body').on('click', '#liDeals', function() {
|
||
$('#liObject').removeClass('active');
|
||
$('#liGlobal').removeClass('active');
|
||
$('#liIpoteka').removeClass('active');
|
||
$('#liCredit').removeClass('active');
|
||
$('#liReq').removeClass('active');
|
||
$('#liInnerDocs').removeClass('active');
|
||
$(this).addClass('active');
|
||
$('#addEditNew .tabs__content').hide();
|
||
$('#addEditNew .tabs__content:eq(6)').show();
|
||
if (typeof deals_client == 'object') {
|
||
deals_client.getList();
|
||
}
|
||
});
|
||
|
||
$('body').on('click', '#liInnerDocs', function() {
|
||
$('#liObject').removeClass('active');
|
||
$('#liGlobal').removeClass('active');
|
||
$('#liIpoteka').removeClass('active');
|
||
$('#liCredit').removeClass('active');
|
||
$('#liReq').removeClass('active');
|
||
$('#liDeals').removeClass('active');
|
||
$(this).addClass('active');
|
||
$('#addEditNew .tabs__content').hide();
|
||
$('#addEditNew .tabs__content:eq(5)').show();
|
||
|
||
let source_id = $('#addEditNew input[name="id"]').val();
|
||
getFormVariables("clients", source_id);
|
||
});
|
||
|
||
// Открыть блок с подробностями
|
||
$('body').on('click', '#clients_list .toggleClient', function() {
|
||
var id = $(this).data("id");
|
||
var user_allow_edit = $(this).data("allow-edit");
|
||
if ($('#client__' + id + ' .main-info').hasClass("hidden")) {
|
||
$.get("/ajax/getClientMainInfo.php?id=" + id + "&user_allow_edit=" + user_allow_edit, function(data) {
|
||
$('#client__' + id + ' .main-info').replaceWith(data);
|
||
$('#client__' + id + ' .main-info').toggleClass('hidden');
|
||
$('#client__' + id + ' .client_row').toggleClass('hidden');
|
||
});
|
||
} else {
|
||
$('#client__' + id + ' .main-info').toggleClass('hidden');
|
||
$('#client__' + id + ' .client_row').toggleClass('hidden');
|
||
}
|
||
});
|
||
|
||
// Кнопка добавить клиента
|
||
$('body').on('click', '.add_client_new', function() {
|
||
$("#addReqClientForm").hide();
|
||
var object = $(this).data("object");
|
||
var add_user = $(this).data("adduser");
|
||
|
||
var req_id = null;
|
||
if ($(this).attr("data-req")) {
|
||
req_id = $(this).attr("data-req");
|
||
}
|
||
|
||
var client_name = null;
|
||
if ($(this).attr("data-client-name")) {
|
||
client_name = $(this).attr("data-client-name");
|
||
}
|
||
add_client_new(object, add_user, req_id, client_name);
|
||
return false;
|
||
});
|
||
|
||
$('body').on('click', '.complete-action-button', function() {
|
||
var event_id = $(this).attr('id').replace('groupAB__', '');
|
||
var cancel = parseInt($(this).attr("data-cancel"));
|
||
//console.log(isNaN(cancel));
|
||
if (cancel == 0 || isNaN(cancel)) {
|
||
var done = 0;
|
||
$(this).toggleClass('active');
|
||
if ($(this).hasClass('active')) {
|
||
done = 1;
|
||
}
|
||
|
||
if (done == 0) {
|
||
$(this).closest('.chat-complete').find('.evCancel').removeClass('hidden');
|
||
} else {
|
||
$(this).closest('.chat-complete').find('.evCancel').addClass('hidden');
|
||
}
|
||
// console.log(done);
|
||
$.post('/ajax/addEditClient.php', { done_event: event_id, done: done }, function(data) {
|
||
getCalendar();
|
||
});
|
||
}
|
||
});
|
||
|
||
$('body').on('click', '.complete-action-button-obj', function() {
|
||
var event_id = $(this).attr('id').replace('groupAB__', '');
|
||
|
||
var done = 0;
|
||
$(this).toggleClass('active');
|
||
if ($(this).hasClass('active')) {
|
||
done = 1;
|
||
}
|
||
//console.log(done);
|
||
$.post('/ajax/addEditObject.php', { done_event: event_id, done: done }, function(data) {
|
||
//console.log(data);
|
||
|
||
if (typeof type_calendar == 'object') {
|
||
type_calendar = 'object';
|
||
}
|
||
getCalendar();
|
||
|
||
});
|
||
});
|
||
|
||
// Кнопка inssmart
|
||
|
||
$("body").on('click', '.openInssmartModule', () => {
|
||
$('#inssmart_modal').show();
|
||
$('#inssmart_modal').css('zIndex', '99987000');
|
||
});
|
||
|
||
$("body").on('click', '.ti-close', () => {
|
||
$("#inssmart_modal").hide();
|
||
});
|
||
|
||
//Кнопка редактирование
|
||
$("body").on('click', '.neweditClient', function() {
|
||
$('#addReqClientForm').show();
|
||
var id = $(this).attr('data-id');
|
||
var funnelId = $(this).data("funnel");
|
||
|
||
if (funnelId === undefined || funnelId == 0) {
|
||
$.post("/ajax/getFunnelFirst.php", function(dataf) {
|
||
console.log(dataf);
|
||
var res_funnels = JSON.parse(dataf);
|
||
|
||
|
||
if(res_funnels.is_stage == 0){
|
||
|
||
$('#is_show_funnel_null').val(0);
|
||
} else {
|
||
$('#is_show_funnel_null').val(1);
|
||
}
|
||
|
||
|
||
})
|
||
}
|
||
|
||
var req_id = 0;
|
||
if ($(this).attr("data-req")) {
|
||
req_id = $(this).attr("data-req");
|
||
}
|
||
if (req_id > 0) {
|
||
if (typeof requisitions == 'object') {
|
||
requisitions.getReq("req" + req_id);
|
||
} else if (typeof requisitions_client == 'object') {
|
||
requisitions_client.getReq("req" + req_id);
|
||
}
|
||
|
||
if ($('#client-history__bg').css('display') == 'block') {
|
||
$('#client-history__bg').css('zIndex', '99987');
|
||
|
||
}
|
||
|
||
} else {
|
||
editClientNew(id, funnelId);
|
||
}
|
||
return false;
|
||
|
||
});
|
||
|
||
// Возврат клиента из Закрытых
|
||
$("body").on('click', '.renewClient', function(e) {
|
||
e.preventDefault();
|
||
let id = $(this).attr('data-id');
|
||
if (confirm('Вы точно желаете восстановить этого клиента?')) {
|
||
renewClient(id);
|
||
}
|
||
return false;
|
||
});
|
||
|
||
// Возврат заявки из Закрытых
|
||
$("body").on('click', '.renewReq', function(e) {
|
||
e.preventDefault();
|
||
let id = $(this).attr('data-id');
|
||
if (confirm('Вы точно желаете восстановить эту заявку?')) {
|
||
renewReq(id, true);
|
||
}
|
||
return false;
|
||
});
|
||
|
||
// Отправка формы добавлени/редактирования Объекта
|
||
$('#upload-form [type="submit"]').on('click', function(e) {
|
||
e.preventDefault();
|
||
|
||
let form = $(this).closest('#upload-form');
|
||
let text = "";
|
||
let error = false;
|
||
$(form).find('input, textarea, checkbox, select').each(function() {
|
||
if ($(this).attr('required') && $(this).val() === '') {
|
||
let label = $(this).closest('.form-block').find('label, .label').text();
|
||
if (label)
|
||
text += 'Поле «' + label + '» обязательно к заполнению.<br/>';
|
||
|
||
$(this).addClass('invalid');
|
||
error = true;
|
||
} else {
|
||
$(this).removeClass('invalid');
|
||
}
|
||
});
|
||
|
||
$(form).find('#customFieldsInputsForm').find('input, textarea, checkbox').each(function() {
|
||
//console.log($(this).attr('name') + ': '+ $(this).val());
|
||
//if (!$(this).hasClass('invalid')) { // уже отвалидирован и не валиден
|
||
if ($(this).attr('required') && (!$(this).val() || $(this).val() === '')) {
|
||
let label = $(this).closest('.title-line').find('label, .label').text();
|
||
if (label)
|
||
text += 'Дополнительное поле «' + label + '» обязательно к заполнению.<br/>';
|
||
|
||
$(this).addClass('invalid');
|
||
error = true;
|
||
} else {
|
||
$(this).removeClass('invalid');
|
||
}
|
||
//}
|
||
});
|
||
|
||
$(form).find('#customFieldsInputsForm').find('select').each(function() {
|
||
//console.log($(this).attr('name') + ': '+ $(this).val());
|
||
//if (!$(this).closest('.fstElement').hasClass('invalid')) { // уже отвалидирован и не валиден
|
||
if (!$(this).val() || $(this).val() == 0)
|
||
$(this).val('');
|
||
|
||
if ($(this).attr('required') && (!$(this).val() || $(this).val() === '')) {
|
||
let label = $(this).closest('.title-line').find('label, .label').text();
|
||
if (label)
|
||
text += 'Дополнительное поле «' + label + '» обязательно к заполнению.<br/>';
|
||
|
||
$(this).closest('.fstElement').addClass('invalid');
|
||
error = true;
|
||
} else {
|
||
$(this).closest('.fstElement').removeClass('invalid');
|
||
}
|
||
//}
|
||
});
|
||
|
||
let ob_operation_type = $(form).find('[name="operation_type"]:checked').val();
|
||
let ob_type = $(form).find('[name="type"]:checked').val();
|
||
|
||
if ($('.cadastral-number').is(":visible")) {
|
||
if ($('input[name=cadastral_number]').is(":visible")) {
|
||
let cadastral = $('input[name=cadastral_number]');
|
||
if (($('#session_agency_id').val() === '13386' ||
|
||
(($('#session_agency_id').val() === '14794' || $('#session_agency_id').val() === '10982') && ob_type == 7) ||
|
||
($('#session_agency_id').val() === '12061' && ob_operation_type && ob_operation_type == 0 && ob_type && (ob_type == 1 || ob_type == 2 || ob_type == 3 || ob_type == 7))) && (!cadastral.val() || cadastral.val() === '')) {
|
||
text += "Необходимо указать Кадастровый номер<br>";
|
||
error = true;
|
||
|
||
cadastral.addClass('invalid');
|
||
} else {
|
||
cadastral.removeClass('invalid');
|
||
}
|
||
}
|
||
}
|
||
|
||
if ($('.cadastral-number-land').is(":visible")) {
|
||
if ($('input[name=cadastral_number_land]').is(":visible")) {
|
||
let cadastralLand = $('input[name=cadastral_number_land]');
|
||
if (($('#session_agency_id').val() === '13386' || (($('#session_agency_id').val() === '14794' || $('#session_agency_id').val() === '10982') && (ob_type == 3 || ob_type == 5)) ||
|
||
($('#session_agency_id').val() === '12061' && ob_operation_type && ob_type && (
|
||
(ob_operation_type == 0 && (ob_type == 1 || ob_type == 2 || ob_type == 3 || ob_type == 7)) ||
|
||
(ob_operation_type == 1 && (ob_type == 3 || ob_type == 7))
|
||
))) && (!cadastralLand.val() || cadastralLand.val() === '')) {
|
||
text += "Необходимо указать Кадастровый номер участка<br>";
|
||
error = true;
|
||
|
||
cadastralLand.addClass('invalid');
|
||
} else {
|
||
cadastralLand.removeClass('invalid');
|
||
}
|
||
}
|
||
}
|
||
|
||
if (!ob_operation_type) {
|
||
text += "Необходимо указать раздел<br>";
|
||
error = true;
|
||
$(form).find('[name="operation_type"]').closest('.button-row').addClass('invalid');
|
||
} else {
|
||
$(form).find('[name="operation_type"]').closest('.button-row').removeClass('invalid');
|
||
}
|
||
|
||
if (!ob_type) {
|
||
text += "Необходимо указать тип объекта<br>";
|
||
error = true;
|
||
$(form).find('[name="type"]').closest('.button-row').addClass('invalid');
|
||
} else {
|
||
$(form).find('[name="type"]').closest('.button-row').removeClass('invalid');
|
||
}
|
||
|
||
let ob_srok = $(form).find('[name="srok"]:checked').val();
|
||
if (ob_operation_type == 0 && !ob_srok) {
|
||
text += "Необходимо указать срок<br>";
|
||
error = true;
|
||
$(form).find('[name="srok"]').closest('.button-row').addClass('invalid');
|
||
} else {
|
||
$(form).find('[name="srok"]').closest('.button-row').removeClass('invalid');
|
||
}
|
||
|
||
let ob_adres = $(form).find('[name="adres"]').val();
|
||
let ob_address = $(form).find('[name="address"]').val();
|
||
if ((ob_address == 0 || typeof ob_address == "undefined") || (!ob_adres)) {
|
||
text += "Необходимо указать адрес объекта<br>";
|
||
error = true;
|
||
$(form).find('[name="address"]').addClass('invalid');
|
||
} else {
|
||
$(form).find('[name="address"]').removeClass('invalid');
|
||
}
|
||
|
||
let ob_comm_obj_id = $(form).find('[name="commercial_object_id"]:checked').val();
|
||
let ob_deal_type = $(form).find('[name="deal_type"]').val();
|
||
if (ob_type != 3 && ob_type != 5 && ob_type != 7 && ob_comm_obj_id != 6 && ob_comm_obj_id != 7 && ob_comm_obj_id != 9) {
|
||
let ob_etazh = $(form).find('[name="etazh"]').val();
|
||
if (ob_etazh == 0 || typeof ob_etazh == "undefined") {
|
||
text += "Необходимо указать этаж объекта<br>";
|
||
error = true;
|
||
$(form).find('[name="etazh"]').addClass('invalid');
|
||
} else {
|
||
$(form).find('[name="etazh"]').removeClass('invalid');
|
||
}
|
||
}
|
||
|
||
if (ob_type == 1 || ob_type == 2) {
|
||
let komnat = $(form).find('[name="komnat"]').val();
|
||
let ploshad_komn = $(form).find('[name="ploshad_komn"]').val();
|
||
|
||
if (!komnat) {
|
||
if (ob_type === 1) {
|
||
text += "Необходимо заполнить поле Комнат<br>";
|
||
} else {
|
||
text += "Необходимо заполнить поле Всего комнат в квартире<br>";
|
||
}
|
||
error = true;
|
||
$(form).find('[name="komnat"]').addClass('invalid');
|
||
} else {
|
||
$(form).find('[name="komnat"]').removeClass('invalid');
|
||
}
|
||
|
||
if (!ploshad_komn) {
|
||
text += "Необходимо заполнить поле Площадь комнат<br>";
|
||
error = true;
|
||
$(form).find('[name="ploshad_komn"]').addClass('invalid');
|
||
} else {
|
||
$(form).find('[name="ploshad_komn"]').removeClass('invalid');
|
||
}
|
||
}
|
||
|
||
if (ob_type == 2) {
|
||
let roomsCount = $(form).find('[name="vsego_komn"]').val();
|
||
if (!roomsCount) {
|
||
error = true;
|
||
text += "Необходимо заполнить поле Кол-во комнат в сделке<br>";
|
||
$(form).find('[name="vsego_komn"]').addClass('invalid');
|
||
} else {
|
||
$(form).find('[name="vsego_komn"]').removeClass('invalid');
|
||
}
|
||
}
|
||
|
||
$(form).find('.renovation-star').css('display', 'none');
|
||
if (ob_type == 1) {
|
||
let komType = $(form).find('[name="avito_room_type_id"]').val();
|
||
if (komType == 0 || typeof komType == "undefined") {
|
||
text += "Необходимо указать Тип комнат<br>";
|
||
error = true;
|
||
$(form).find('[name="avito_room_type_id"]').addClass('invalid');
|
||
} else {
|
||
$(form).find('[name="avito_room_type_id"]').removeClass('invalid');
|
||
}
|
||
|
||
if (ob_deal_type == 1 || ob_deal_type == 2)
|
||
{
|
||
// Get and clean the values
|
||
let ob_ploshad = parseFloat($(form).find('[name="ploshad"]').val().replace(/,/g, ""));
|
||
if (isNaN(ob_ploshad) || ob_ploshad <= 0) {
|
||
text += "Необходимо указать общую площадь<br>";
|
||
error = true;
|
||
$(form).find('[name="ploshad"]').addClass('invalid');
|
||
}
|
||
|
||
let ob_ploshad_k = parseFloat($(form).find('[name="ploshad_k"]').val().replace(/,/g, ""));
|
||
if (isNaN(ob_ploshad_k) || ob_ploshad_k <= 0) {
|
||
text += "Необходимо указать площадь кухни<br>";
|
||
error = true;
|
||
$(form).find('[name="ploshad_k"]').addClass('invalid');
|
||
}
|
||
|
||
let ob_renovation = $(form).find('[name="renovation"]').val();
|
||
if (ob_renovation <= 0 || typeof ob_renovation == "undefined") {
|
||
text += "Необходимо указать информацию о ремонте<br>";
|
||
error = true;
|
||
$(form).find('[name="renovation"]').addClass('invalid');
|
||
$(form).find('.renovation-star').css('display', 'inline-block');
|
||
}
|
||
}
|
||
}
|
||
|
||
if (ob_type != 7 && ob_comm_obj_id != 7 && ob_comm_obj_id != 9) {
|
||
let ob_etazhnost = $(form).find('[name="etazhnost"]').val();
|
||
if (ob_etazhnost == 0 || typeof ob_etazhnost == "undefined") {
|
||
text += "Необходимо указать общее количество этажей объекта<br>";
|
||
error = true;
|
||
$(form).find('[name="etazhnost"]').addClass('invalid');
|
||
} else {
|
||
$(form).find('[name="etazhnost"]').removeClass('invalid');
|
||
}
|
||
}
|
||
|
||
if (ob_type == 7 || ob_type == 3) {
|
||
let ob_land_area = $(form).find('[name="land_area"]').val();
|
||
if (ob_land_area == 0 || typeof ob_land_area == "undefined") {
|
||
text += "Необходимо указать площадь участка<br>";
|
||
error = true;
|
||
$(form).find('[name="land_area"]').addClass('invalid');
|
||
} else {
|
||
$(form).find('[name="land_area"]').removeClass('invalid');
|
||
}
|
||
}
|
||
|
||
if (ob_type == 7 || ob_type == 3 || ob_type == 5) {
|
||
let ob_land_ut = $(form).find('[name="land_usage_type_id"]').val();
|
||
if (ob_land_ut == 0 || typeof ob_land_ut == "undefined") {
|
||
text += "Необходимо указать Использование земли<br>";
|
||
error = true;
|
||
$(form).find('[name="land_usage_type_id"]').addClass('invalid');
|
||
} else {
|
||
$(form).find('[name="land_usage_type_id"]').removeClass('invalid');
|
||
}
|
||
}
|
||
|
||
if (ob_type == 3) {
|
||
let ob_ploshad = $(form).find('[name="ploshad"]').val();
|
||
if (ob_ploshad == 0 || typeof ob_ploshad == "undefined") {
|
||
text += "Необходимо указать общую площадь<br>";
|
||
error = true;
|
||
$(form).find('[name="ploshad"]').addClass('invalid');
|
||
} else {
|
||
12
|
||
$(form).find('[name="ploshad"]').removeClass('invalid');
|
||
}
|
||
|
||
let ob_house_category = $(form).find('[name="house_category"]:checked').val();
|
||
if (!ob_house_category) {
|
||
text += "Необходимо указать тип дома<br>";
|
||
error = true;
|
||
$(form).find('[name="house_category"]').closest('.button-row').addClass('invalid');
|
||
} else {
|
||
$(form).find('[name="house_category"]').closest('.button-row').removeClass('invalid');
|
||
}
|
||
}
|
||
|
||
if (ob_type == 4 && ob_comm_obj_id == 1) {
|
||
let ob_layout_id = $(form).find('[name="layout_id"]').val();
|
||
if (!ob_layout_id || ob_layout_id == 0) {
|
||
text += "Необходимо указать Планировку<br>";
|
||
error = true;
|
||
$(form).find('[name="layout_id"]').addClass('invalid');
|
||
} else {
|
||
$(form).find('[name="layout_id"]').removeClass('invalid');
|
||
}
|
||
}
|
||
|
||
if (ob_operation_type == 0) {
|
||
if (ob_type == 1 || ob_type == 2) {
|
||
let ob_house_type = $(form).find('[name="rent_house_type_id"]').val();
|
||
if (ob_house_type <= 0 || typeof ob_house_type == "undefined") {
|
||
text += "Необходимо указать тип дома<br>";
|
||
error = true;
|
||
$(form).find('[name="rent_house_type_id"]').addClass('invalid');
|
||
} else {
|
||
$(form).find('[name="rent_house_type_id"]').removeClass('invalid');
|
||
}
|
||
}
|
||
if (ob_type == 1) {
|
||
// Get and clean the values
|
||
let ob_ploshad = parseFloat($(form).find('[name="ploshad"]').val().replace(/,/g, ""));
|
||
if (isNaN(ob_ploshad) || ob_ploshad <= 0) {
|
||
text += "Необходимо указать общую площадь<br>";
|
||
error = true;
|
||
$(form).find('[name="ploshad"]').addClass('invalid');
|
||
}
|
||
|
||
let ob_ploshad_k = parseFloat($(form).find('[name="ploshad_k"]').val().replace(/,/g, ""));
|
||
if (isNaN(ob_ploshad_k) || ob_ploshad_k <= 0) {
|
||
text += "Необходимо указать площадь кухни<br>";
|
||
error = true;
|
||
$(form).find('[name="ploshad_k"]').addClass('invalid');
|
||
}
|
||
|
||
let ob_renovation = $(form).find('[name="renovation"]').val();
|
||
if (ob_renovation <= 0 || typeof ob_renovation == "undefined") {
|
||
text += "Необходимо указать информацию о ремонте<br>";
|
||
error = true;
|
||
$(form).find('[name="renovation"]').addClass('invalid');
|
||
$(form).find('.renovation-star').css('display', 'inline-block');
|
||
}
|
||
}
|
||
}
|
||
|
||
if (ob_type == 3 || ob_type == 5) {
|
||
let ob_renovation = $(form).find('[name="renovation"]').val();
|
||
if (ob_renovation <= 0 || typeof ob_renovation == "undefined") {
|
||
text += "Необходимо указать информацию о ремонте<br>";
|
||
error = true;
|
||
$(form).find('[name="renovation"]').addClass('invalid');
|
||
$(form).find('.renovation-star').css('display', 'inline-block');
|
||
}
|
||
|
||
let ob_country_wall_type = $(form).find('[name="country_wall_type_id"]').val();
|
||
if (ob_country_wall_type <= 0 || typeof ob_country_wall_type == "undefined") {
|
||
text += "Необходимо указать информацию о материале стен<br>";
|
||
error = true;
|
||
$(form).find('[name="country_wall_type_id"]').addClass('invalid');
|
||
}
|
||
}
|
||
|
||
if (ob_operation_type == 1) {
|
||
if (ob_type != 3 && ob_type != 4 && ob_type != 5 && ob_type != 7) {
|
||
|
||
let ob_house_type = $(form).find('[name="house_type"]').val();
|
||
if (ob_house_type == -1 || typeof ob_house_type == "undefined") {
|
||
text += "Необходимо указать тип дома<br>";
|
||
error = true;
|
||
$(form).find('[name="house_type"]').addClass('invalid');
|
||
} else {
|
||
$(form).find('[name="house_type"]').removeClass('invalid');
|
||
}
|
||
|
||
let ob_house_material = $(form).find('[name="house_material"]').val();
|
||
if (ob_house_material == -1 || typeof ob_house_material == "undefined") {
|
||
text += "Необходимо указать материал дома<br>";
|
||
error = true;
|
||
$(form).find('[name="house_material"]').addClass('invalid');
|
||
} else {
|
||
$(form).find('[name="house_material"]').removeClass('invalid');
|
||
}
|
||
}
|
||
|
||
if (ob_deal_type == -1 || typeof ob_deal_type == "undefined") {
|
||
text += "Необходимо указать тип сделки<br>";
|
||
error = true;
|
||
$(form).find('[name="deal_type"]').addClass('invalid');
|
||
} else {
|
||
$(form).find('[name="deal_type"]').removeClass('invalid');
|
||
}
|
||
}
|
||
|
||
if (ob_deal_type == 4 || ob_deal_type == 5 || ob_deal_type == 6) {
|
||
var complex_id = $('#complex_id').val();
|
||
let ob_newbuilding_id = $(form).find('[name="newbuilding_id"]').prop('value');
|
||
if (!ob_newbuilding_id && !(complex_id > 0)) {
|
||
text += "Необходимо указать ЖК<br>";
|
||
error = true;
|
||
$(form).find('[name="newbuilding_id"]').parent('.inputs-group').find('.select2').addClass('invalid');
|
||
} else {
|
||
$(form).find('[name="newbuilding_id"]').parent('.inputs-group').find('.select2').removeClass('invalid');
|
||
}
|
||
|
||
let ob_nb_end_date = $(form).find('[name="nb_end_date"]').val();
|
||
if (ob_nb_end_date == 0 || typeof ob_nb_end_date == "undefined") {
|
||
text += "Необходимо указать Срок сдачи<br>";
|
||
error = true;
|
||
$(form).find('[name="nb_end_date"]').addClass('invalid');
|
||
} else {
|
||
$(form).find('[name="nb_end_date"]').removeClass('invalid');
|
||
}
|
||
}
|
||
|
||
let ob_stoim_ot = $(form).find('[name="stoim_ot"]').val();
|
||
if (ob_stoim_ot == 0 || typeof ob_stoim_ot == "undefined") {
|
||
text += "Необходимо указать цену<br>";
|
||
error = true;
|
||
//$(form).find('[name="stoim_ot"]').addClass('invalid');
|
||
$(form).find('[name="stoim_ot"]').closest('.fr-input').addClass('invalid');
|
||
} else {
|
||
//$(form).find('[name="stoim_ot"]').removeClass('invalid');
|
||
$(form).find('[name="stoim_ot"]').closest('.fr-input').removeClass('invalid');
|
||
}
|
||
|
||
if (ob_type == 4 && ob_comm_obj_id != 7 && ob_comm_obj_id != 9) {
|
||
let ob_com_building_type = $(form).find('[name="commerc_building_type_id"]').val();
|
||
|
||
if (ob_com_building_type == 0 || typeof ob_com_building_type == "undefined") {
|
||
text += "Необходимо указать Тип здания<br>";
|
||
error = true;
|
||
$(form).find('[name="commerc_building_type_id"]').addClass('invalid');
|
||
} else {
|
||
$(form).find('[name="commerc_building_type_id"]').removeClass('invalid');
|
||
}
|
||
}
|
||
|
||
if (ob_type == 4 && ob_comm_obj_id == 9) {
|
||
let ob_land_category = Number($(form).find('[name="commerc_land_category_id"]').val());
|
||
if (!ob_land_category || ob_land_category === 0) {
|
||
text += "Необходимо указать Категорию земли<br>";
|
||
error = true;
|
||
$(form).find('[name="commerc_land_category_id"]').addClass('invalid');
|
||
} else {
|
||
$(form).find('[name="commerc_land_category_id"]').removeClass('invalid');
|
||
}
|
||
|
||
let ob_permitted_use = Number($(form).find('[name="commerc_permitted_use_id"]').val());
|
||
if (!ob_permitted_use || ob_permitted_use === 0) {
|
||
text += "Необходимо указать Вид разрешённого использования<br>";
|
||
error = true;
|
||
$(form).find('[name="commerc_permitted_use_id"]').addClass('invalid');
|
||
} else {
|
||
$(form).find('[name="commerc_permitted_use_id"]').removeClass('invalid');
|
||
}
|
||
|
||
let ob_commerc_site = Number($(form).find('[name="commerc_site"]').val());
|
||
if (!ob_commerc_site || ob_commerc_site === 0) {
|
||
text += "Необходимо указать площадь в поле Участок<br>";
|
||
error = true;
|
||
$(form).find('[name="commerc_site"]').addClass('invalid');
|
||
} else {
|
||
$(form).find('[name="commerc_site"]').removeClass('invalid');
|
||
}
|
||
}
|
||
|
||
if (error) {
|
||
$(form).find('.jw__error').html(text).show();
|
||
if ($(form).find('.invalid:visible').length > 0) {
|
||
let offset = $(form).find('.invalid:visible').first().offset().top - 40;
|
||
console.log(offset);
|
||
$('body,html').stop().animate({ scrollTop: Math.round(offset) }, '300');
|
||
} else {
|
||
$('body,html').stop().animate({ scrollTop: 0 }, '500');
|
||
}
|
||
} else {
|
||
$(".add-object-button").addClass("hidden");
|
||
$(".add-object-loader").removeClass("hidden");
|
||
form.submit();
|
||
}
|
||
|
||
return false;
|
||
});
|
||
|
||
|
||
|
||
$('#ms-new-client-type').fastselect({
|
||
placeholder: 'Тип'
|
||
});
|
||
|
||
$('.ms-crm-client-rol').fastselect({
|
||
placeholder: 'Роль клиента'
|
||
});
|
||
$('.ms-crm-client-source').fastselect({
|
||
placeholder: 'Источник',
|
||
|
||
});
|
||
|
||
$('.ms-new-client-activities').fastselect({
|
||
placeholder: 'Теги',
|
||
});
|
||
|
||
$('.ms-crm-client-stage').fastselect({
|
||
placeholder: 'Этап'
|
||
});
|
||
$('#ms-new-client-objects-type').fastselect({
|
||
placeholder: 'Тип недвижимости'
|
||
});
|
||
$('#ms-new-client-object').fastselect({
|
||
placeholder: 'Объекты'
|
||
});
|
||
$('#ms-new-client-work').fastselect({
|
||
|
||
placeholder: 'Ответственный',
|
||
onItemCreate: function() { $(this).find('.fstQueryInput').hide() },
|
||
onItemSelect: function() {
|
||
|
||
$('#addEditNew [name=confirm]').val("0");
|
||
}
|
||
|
||
});
|
||
|
||
$('.ms-big-add-client').fastselect({
|
||
placeholder: 'Клиент'
|
||
});
|
||
|
||
$('.ms-crm-client-period').fastselect({
|
||
placeholder: 'Период',
|
||
onItemSelect: function(item, val) {
|
||
if (val.value == 'period') {
|
||
$('.period').removeClass('hidden');
|
||
} else {
|
||
$('.period').addClass('hidden');
|
||
}
|
||
|
||
show_options_search();
|
||
page_kanban = 1;
|
||
add_knban = true;
|
||
//get_list();
|
||
|
||
}
|
||
});
|
||
|
||
$('#filter_denial_work').fastselect({
|
||
placeholder: 'Причина закрытия',
|
||
onItemSelect: function(item, val) {
|
||
show_options_search();
|
||
page_kanban = 1;
|
||
add_knban = true;
|
||
//get_list();
|
||
},
|
||
onItemDelete: function() {
|
||
show_options_search();
|
||
page_kanban = 1;
|
||
add_knban = true;
|
||
//get_list();
|
||
}
|
||
});
|
||
|
||
$('#filter_emp').fastselect({
|
||
placeholder: 'Ответственный',
|
||
onItemCreate: function(item, model) {
|
||
if ($('#filter_emp').find('option[value=' + model.value + ']').hasClass('bolt')) {
|
||
$(item).addClass('bolt');
|
||
}
|
||
},
|
||
onItemSelect: function() {
|
||
show_options_search();
|
||
page_kanban = 1;
|
||
add_knban = true;
|
||
//get_list();
|
||
},
|
||
onItemDelete: function() {
|
||
show_options_search();
|
||
page_kanban = 1;
|
||
add_knban = true;
|
||
//get_list();
|
||
}
|
||
|
||
});
|
||
$('#filter-client-objects-type').fastselect({
|
||
placeholder: 'Тип недвижимости',
|
||
onItemSelect: function() {
|
||
show_options_search();
|
||
page_kanban = 1;
|
||
add_knban = true;
|
||
//get_list();
|
||
},
|
||
onItemDelete: function() {
|
||
show_options_search();
|
||
page_kanban = 1;
|
||
add_knban = true;
|
||
//get_list();
|
||
}
|
||
});
|
||
$('#filter-client-type').fastselect({
|
||
placeholder: 'Тип',
|
||
onItemSelect: function() {
|
||
show_options_search();
|
||
page_kanban = 1;
|
||
add_knban = true;
|
||
//get_list();
|
||
},
|
||
onItemDelete: function() {
|
||
show_options_search();
|
||
page_kanban = 1;
|
||
add_knban = true;
|
||
//get_list();
|
||
}
|
||
});
|
||
$('#filter_source').fastselect({
|
||
placeholder: 'Источник',
|
||
onItemCreate: function(item, model) {
|
||
|
||
if ($('#filter_source').find('option[value=' + model.value + ']').hasClass('bolt')) {
|
||
$(item).addClass('bolt');
|
||
}
|
||
},
|
||
onItemSelect: function() {
|
||
show_options_search();
|
||
page_kanban = 1;
|
||
add_knban = true;
|
||
//get_list();
|
||
},
|
||
onItemDelete: function() {
|
||
show_options_search();
|
||
page_kanban = 1;
|
||
add_knban = true;
|
||
//get_list();
|
||
}
|
||
});
|
||
|
||
$('#filter_partner').fastselect({
|
||
placeholder: 'Партнёры',
|
||
onItemSelect: function() {
|
||
show_options_search();
|
||
page_kanban = 1;
|
||
add_knban = true;
|
||
//get_list();
|
||
this.$controls.find('.fstChoiceItem').each(function() {
|
||
let value = $(this).data('value');
|
||
let label = $('#filter_partner option[value="' + value + '"]').data("label");
|
||
if (label) {
|
||
this.childNodes[0].nodeValue = label;
|
||
}
|
||
});
|
||
},
|
||
onItemDelete: function() {
|
||
show_options_search();
|
||
page_kanban = 1;
|
||
add_knban = true;
|
||
//get_list();
|
||
}
|
||
});
|
||
|
||
$('#filter_partner').closest('.fstElement').find('.fstChoiceItem').each(function() {
|
||
let value = $(this).data('value');
|
||
let label = $('#filter_partner option[value="' + value + '"]').data("label");
|
||
if (label) {
|
||
this.childNodes[0].nodeValue = label;
|
||
}
|
||
});
|
||
|
||
$('#filter_activities').fastselect({
|
||
placeholder: 'Теги',
|
||
onItemSelect: function() {
|
||
show_options_search();
|
||
page_kanban = 1;
|
||
add_knban = true;
|
||
//get_list();
|
||
},
|
||
onItemDelete: function() {
|
||
show_options_search();
|
||
page_kanban = 1;
|
||
add_knban = true;
|
||
//get_list();
|
||
}
|
||
});
|
||
$('#filter_client_rol').fastselect({
|
||
placeholder: 'Роль клиента',
|
||
onItemSelect: function() {
|
||
show_options_search();
|
||
page_kanban = 1;
|
||
add_knban = true;
|
||
//get_list();
|
||
},
|
||
onItemDelete: function() {
|
||
show_options_search();
|
||
page_kanban = 1;
|
||
add_knban = true;
|
||
//get_list();
|
||
}
|
||
});
|
||
|
||
reCreateFilterEtapClients();
|
||
|
||
// Фильтр в Мои объекты
|
||
$('.fr-system__objects #filter-object-employee').fastselect({
|
||
placeholder: 'Ответственный',
|
||
onItemCreate: function(item, model) {
|
||
if ($('#filter-object-employee').find('option[value=' + model.value + ']').hasClass('bolt')) {
|
||
$(item).addClass('bolt');
|
||
}
|
||
},
|
||
onItemSelect: function() {
|
||
show_objects_options_search();
|
||
},
|
||
onItemDelete: function() {
|
||
show_objects_options_search();
|
||
}
|
||
});
|
||
$('.fr-system__objects #filter-object-type').fastselect({
|
||
placeholder: 'Тип объекта',
|
||
onItemSelect: function() {
|
||
checkType();
|
||
show_objects_options_search();
|
||
},
|
||
onItemDelete: function() {
|
||
checkType();
|
||
show_objects_options_search();
|
||
}
|
||
});
|
||
|
||
$('#country_list_add_object').fastselect({
|
||
placeholder: 'Страна',
|
||
onItemSelect: function(item, val) {
|
||
if (parseInt(val.value) == 171) {
|
||
$('#id_rf_region_add_object').show();
|
||
let region_kladr = $('[name="id_rf_region"] option:selected').data('kladr');
|
||
let region_label = $('[name="id_rf_region"] option:selected').data('label');
|
||
let new_kladr_ids = getConstraints(region_kladr, region_label);
|
||
daDataInit(new_kladr_ids);
|
||
} else {
|
||
$('#id_rf_region_add_object').hide();
|
||
var iso = $('#country_list_add_object [value=' + parseInt(val.value) + ']').attr("data-iso");
|
||
daDataInit([], iso);
|
||
}
|
||
check_metro_add_object();
|
||
|
||
},
|
||
onItemDelete: function(item, val) {
|
||
|
||
}
|
||
});
|
||
|
||
function checkType() {
|
||
if ($('.fr-system__objects #filter-object-type') && $('.fr-system__objects #filter-object-type').val()) {
|
||
$val = $('#filter-object-type').val();
|
||
if ($val.indexOf('Квартиры') >= 0) {
|
||
$('.filter-obj-komnat').show();
|
||
} else {
|
||
$('.filter-obj-komnat').hide();
|
||
}
|
||
} else {
|
||
$('.filter-obj-komnat').hide();
|
||
}
|
||
}
|
||
|
||
checkType();
|
||
|
||
$('.fr-system__objects #filter-not-advert').click(function() {
|
||
if ($('.fr-system__objects #filter-not-advert').attr('data-active') == 1) {
|
||
$('.fr-system__objects #filter-not-advert').attr('data-active', 0);
|
||
show_objects_options_search();
|
||
//get_objects_list();
|
||
} else {
|
||
$('.fr-system__objects #filter-not-advert').attr('data-active', 1);
|
||
show_objects_options_search();
|
||
//get_objects_list();
|
||
}
|
||
});
|
||
$('.fr-system__objects #filter_is_reports').click(function() {
|
||
if ($('.fr-system__objects #filter_is_reports').attr('data-active') == 1) {
|
||
$('.fr-system__objects #filter_is_reports').attr('data-active', 0);
|
||
show_objects_options_search();
|
||
//get_objects_list();
|
||
} else {
|
||
$('.fr-system__objects #filter_is_reports').attr('data-active', 1);
|
||
show_objects_options_search();
|
||
//get_objects_list();
|
||
}
|
||
});
|
||
$('.fr-system__objects #filter_is_free').click(function() {
|
||
if ($('.fr-system__objects #filter_is_free').attr('data-active') == 1) {
|
||
$('.fr-system__objects #filter_is_free').attr('data-active', 0);
|
||
show_objects_options_search();
|
||
//get_objects_list();
|
||
} else {
|
||
$('.fr-system__objects #filter_is_free').attr('data-active', 1);
|
||
show_objects_options_search();
|
||
//get_objects_list();
|
||
}
|
||
});
|
||
$('.fr-system__objects #filter_is_package').click(function() {
|
||
if ($('.fr-system__objects #filter_is_package').attr('data-active') == 1) {
|
||
$('.fr-system__objects #filter_is_package').attr('data-active', 0);
|
||
show_objects_options_search();
|
||
//get_objects_list();
|
||
} else {
|
||
$('.fr-system__objects #filter_is_package').attr('data-active', 1);
|
||
show_objects_options_search();
|
||
//get_objects_list();
|
||
}
|
||
});
|
||
|
||
$('.num-of-rooms #rn1').click(function() {
|
||
if ($('.num-of-rooms #rn1').attr('data-active') == 1) {
|
||
$('.num-of-rooms #rn1').attr('data-active', 0);
|
||
$('.num-of-rooms input[name=rn1]').val("0")
|
||
} else {
|
||
$('.num-of-rooms #rn1').attr('data-active', 1);
|
||
$('.num-of-rooms input[name=rn1]').val("1");
|
||
}
|
||
});
|
||
|
||
$('.num-of-rooms #rn2').click(function() {
|
||
if ($('.num-of-rooms #rn2').attr('data-active') == 1) {
|
||
$('.num-of-rooms #rn2').attr('data-active', 0);
|
||
$('.num-of-rooms input[name=rn2]').val("0")
|
||
} else {
|
||
$('.num-of-rooms #rn2').attr('data-active', 1);
|
||
$('.num-of-rooms input[name=rn2]').val("1");
|
||
}
|
||
});
|
||
|
||
$('.num-of-rooms #rn3').click(function() {
|
||
if ($('.num-of-rooms #rn3').attr('data-active') == 1) {
|
||
$('.num-of-rooms #rn3').attr('data-active', 0);
|
||
$('.num-of-rooms input[name=rn3]').val("0")
|
||
} else {
|
||
$('.num-of-rooms #rn3').attr('data-active', 1);
|
||
$('.num-of-rooms input[name=rn3]').val("1");
|
||
}
|
||
});
|
||
|
||
$('.num-of-rooms #rn4').click(function() {
|
||
if ($('.num-of-rooms #rn4').attr('data-active') == 1) {
|
||
$('.num-of-rooms #rn4').attr('data-active', 0);
|
||
$('.num-of-rooms input[name=rn4]').val("0")
|
||
} else {
|
||
$('.num-of-rooms #rn4').attr('data-active', 1);
|
||
$('.num-of-rooms input[name=rn4]').val("1");
|
||
}
|
||
});
|
||
|
||
$('.num-of-rooms #rnStudio').click(function() {
|
||
if ($('.num-of-rooms #rnStudio').attr('data-active') == 1) {
|
||
$('.num-of-rooms #rnStudio').attr('data-active', 0);
|
||
$('.num-of-rooms input[name=rnStudio]').val("0")
|
||
} else {
|
||
$('.num-of-rooms #rnStudio').attr('data-active', 1);
|
||
$('.num-of-rooms input[name=rnStudio]').val("1");
|
||
}
|
||
});
|
||
|
||
$('#addToAvitoFilter').click(function() {
|
||
console.log('tttttttttttttttttttt');
|
||
if ($('#addToAvitoFilter').hasClass('active')) {
|
||
$('#addToAvitoFilter').removeClass('active');
|
||
show_objects_options_search();
|
||
//get_objects_list();
|
||
} else {
|
||
$('#addToAvitoFilter').addClass('active');
|
||
show_objects_options_search();
|
||
//get_objects_list();
|
||
}
|
||
});
|
||
|
||
$('#addToCianFilter').click(function() {
|
||
if ($('#addToCianFilter').hasClass('active')) {
|
||
$('#addToCianFilter').removeClass('active');
|
||
show_objects_options_search();
|
||
//get_objects_list();
|
||
} else {
|
||
$('#addToCianFilter').addClass('active');
|
||
show_objects_options_search();
|
||
//get_objects_list();
|
||
}
|
||
});
|
||
|
||
$('#addToDomClickFilter').click(function() {
|
||
if ($('#addToDomClickFilter').hasClass('active')) {
|
||
$('#addToDomClickFilter').removeClass('active');
|
||
show_objects_options_search();
|
||
//get_objects_list();
|
||
} else {
|
||
$('#addToDomClickFilter').addClass('active');
|
||
show_objects_options_search();
|
||
//get_objects_list();
|
||
}
|
||
});
|
||
|
||
$('#addToEMLSFilter').click(function() {
|
||
if ($('#addToEMLSFilter').hasClass('active')) {
|
||
$('#addToEMLSFilter').removeClass('active');
|
||
show_objects_options_search();
|
||
//get_objects_list();
|
||
} else {
|
||
$('#addToEMLSFilter').addClass('active');
|
||
show_objects_options_search();
|
||
//get_objects_list();
|
||
}
|
||
});
|
||
|
||
$('#addToYandexFilter').click(function() {
|
||
if ($('#addToYandexFilter').hasClass('active')) {
|
||
$('#addToYandexFilter').removeClass('active');
|
||
show_objects_options_search();
|
||
//get_objects_list();
|
||
} else {
|
||
$('#addToYandexFilter').addClass('active');
|
||
show_objects_options_search();
|
||
//get_objects_list();
|
||
}
|
||
});
|
||
|
||
$('.fr-system__objects #filter-ads-errors').click(function() {
|
||
if ($('.fr-system__objects #filter-ads-errors').attr('data-active') == 1) {
|
||
$('.fr-system__objects #filter-ads-errors').attr('data-active', 0);
|
||
show_objects_options_search();
|
||
// get_objects_list();
|
||
} else {
|
||
$('.fr-system__objects #filter-ads-errors').attr('data-active', 1);
|
||
show_objects_options_search();
|
||
//get_objects_list();
|
||
}
|
||
});
|
||
$('.fr-system__objects #filter-object-fields').click(function() {
|
||
showObjectFieldsSearchModal('my-objects');
|
||
});
|
||
$('.fr-system__objects #filter-object-fields-reset').click(function() {
|
||
$.ajax({
|
||
url: '/ajax/unsetObjectFieldsFilter.php',
|
||
method: "get",
|
||
success: function() {
|
||
$('.fr-system__objects #filter-object-fields').attr('data-active', 0);
|
||
$('.fr-system__objects #filter-object-fields-reset').css('display', 'none');
|
||
show_objects_options_search();
|
||
get_objects_list();
|
||
},
|
||
error: function(XMLHttpRequest, textStatus, errorThrown) {
|
||
console.log("eRROR: " + errorThrown + "; status:" + textStatus);
|
||
}
|
||
});
|
||
});
|
||
|
||
$('.fr-system__objects #filter-object-activities').fastselect({
|
||
placeholder: 'Теги',
|
||
onItemSelect: function() {
|
||
show_objects_options_search();
|
||
},
|
||
onItemDelete: function() {
|
||
show_objects_options_search();
|
||
}
|
||
});
|
||
|
||
$('body').on('change', '.fr-system__objects #objects_filter_commission', function() {
|
||
show_objects_options_search();
|
||
});
|
||
$('body').on('change', '.fr-system__objects #objects_filter_cena_ot', function() {
|
||
show_objects_options_search();
|
||
});
|
||
$('body').on('change', '.fr-system__objects #objects_filter_cena_do', function() {
|
||
show_objects_options_search();
|
||
});
|
||
$('body').on('change', '.fr-system__objects #objects_filter_commission_to', function() {
|
||
show_objects_options_search();
|
||
});
|
||
|
||
$('body').on('change', '.fr-system__objects #objects_filter_komnat_from', function() {
|
||
show_objects_options_search();
|
||
});
|
||
$('body').on('change', '.fr-system__objects #objects_filter_komnat_to', function() {
|
||
show_objects_options_search();
|
||
});
|
||
|
||
// Фильтр в Реклама
|
||
$('.crm.new #filter-object-activities').fastselect({
|
||
placeholder: 'Теги'
|
||
});
|
||
|
||
//Фильтр в отправках презентаций
|
||
$('body').on('click', '#open_dop_list_clients', function() {
|
||
$('.block_filter_prz').toggleClass('hidden');
|
||
});
|
||
|
||
$('#filter-prz-responsible').fastselect({
|
||
placeholder: 'Ответственный',
|
||
onItemSelect: function() {
|
||
get_prz_clients();
|
||
},
|
||
onItemDelete: function() {
|
||
get_prz_clients();
|
||
}
|
||
});
|
||
$('#filter-prz-type').fastselect({
|
||
placeholder: 'Тип',
|
||
onItemSelect: function() {
|
||
get_prz_clients();
|
||
},
|
||
onItemDelete: function() {
|
||
get_prz_clients();
|
||
}
|
||
});
|
||
$('#filter_prz_activities').fastselect({
|
||
placeholder: 'Теги',
|
||
onItemSelect: function() {
|
||
get_prz_clients();
|
||
},
|
||
onItemDelete: function() {
|
||
get_prz_clients();
|
||
}
|
||
});
|
||
$('#filter_prz_rol').fastselect({
|
||
placeholder: 'Роль клиента',
|
||
onItemSelect: function() {
|
||
get_prz_clients();
|
||
},
|
||
onItemDelete: function() {
|
||
get_prz_clients();
|
||
}
|
||
});
|
||
$('#filter_prz_source').select2({
|
||
language: "ru",
|
||
theme: "bootstrap",
|
||
placeholder: 'Источник',
|
||
ajax: {
|
||
url: 'ajax/datasource/getAdvertisingSources.php',
|
||
dataType: 'json',
|
||
delay: 250,
|
||
data: function(params) {
|
||
return {
|
||
searchTerm: params.term,
|
||
page: params.page
|
||
};
|
||
},
|
||
processResults: function(data, params) {
|
||
params.page = params.page || 1;
|
||
|
||
return {
|
||
results: data.items,
|
||
pagination: {
|
||
pagination: {
|
||
more: false
|
||
}
|
||
}
|
||
};
|
||
},
|
||
type: "post"
|
||
}
|
||
});
|
||
$('#filter_prz_source').on("select2:select", function(e) { get_prz_clients(); });
|
||
$('#filter_prz_source').on("select2:unselect", function(e) { get_prz_clients(); });
|
||
$('body').on('click', '#filter_add_clients_btn', function() {
|
||
get_prz_clients(1);
|
||
});
|
||
|
||
//**************************************************************//
|
||
|
||
$("body").on('click', '.crm__small-stage', function(e) {
|
||
if ($(e.target).closest('#req_info').length > 0 || $(e.target).closest('#client_info').length > 0 || $(e.target).closest('.no_event_stagebars').length > 0 || $(this).hasClass('not_clicked')) {
|
||
|
||
} else {
|
||
var idStage = parseInt($(this).data("stage"));
|
||
var indexStage = parseInt($(this).data("stage")) - 1;
|
||
var elem = $(this);
|
||
var nextStage = $(this).next().text();
|
||
var idClient = 0;
|
||
var reqId = 0;
|
||
if (elem.closest('.client').length > 0) {
|
||
idClient = elem.closest('.client').attr('id').replace("client__", "");
|
||
if (idClient.indexOf("req") > -1) {
|
||
idClient = 0;
|
||
reqId = elem.closest('.client').attr('id').replace("req__", "");
|
||
|
||
}
|
||
} else {
|
||
|
||
|
||
idClient = $('#addEditNew .modal-submit [name=id]').val();
|
||
|
||
}
|
||
if (elem.attr("data-req")) {
|
||
reqId = elem.attr("data-req");
|
||
|
||
}
|
||
if (idStage == 8) {
|
||
$("#del_client_bg").fadeIn(500);
|
||
|
||
$("#del_client").toggle(10);
|
||
|
||
var id = idClient;
|
||
|
||
$("#del_client").find('input[name="id_del_client"]').val(id);
|
||
$("#del_client").find('input[name="id_funnel_client"]').val('0');
|
||
$("#del_client #id_del_req").val(reqId);
|
||
set_select_denial_work(reqId);
|
||
$("body").addClass("lock");
|
||
|
||
return false;
|
||
} else {
|
||
$.post('/ajax/addEditClient.php', {
|
||
stage_edit: idStage,
|
||
id: idClient,
|
||
id_req: reqId,
|
||
},
|
||
function(data) {
|
||
|
||
if (reqId > 0) {
|
||
if (typeof requisitions !== 'undefined' && requisitions.req['req' + reqId]) {
|
||
requisitions.req['req' + reqId].steps.stageId = indexStage + 1;
|
||
requisitions.req['req' + reqId].steps.stage = nextStage;
|
||
}
|
||
if (typeof reqobj !== 'undefined' && reqobj[reqId]) {
|
||
//console.log(reqobj);
|
||
reqobj[reqId].steps.stageId = indexStage + 1;
|
||
reqobj[reqId].steps.stage = nextStage;
|
||
}
|
||
|
||
}
|
||
elem.closest(".client-inner").find(".stagebar-title").text(nextStage);
|
||
|
||
$('#client__' + idClient + ' .stagebar-title').text(nextStage);
|
||
|
||
$('#client__' + idClient + ' .crm__small-stage').each(function(index) {
|
||
// console.log(index);
|
||
if (index <= indexStage) {
|
||
$(this).parent().addClass("active");
|
||
} else {
|
||
$(this).parent().removeClass("active");
|
||
}
|
||
});
|
||
|
||
elem.closest(".crm__small-stagebar").find(".crm__small-stage").each(function(index) {
|
||
// console.log(index);
|
||
if (index <= indexStage) {
|
||
$(this).parent().addClass("active");
|
||
} else {
|
||
$(this).parent().removeClass("active");
|
||
}
|
||
});
|
||
|
||
|
||
|
||
});
|
||
}
|
||
}
|
||
});
|
||
|
||
$('body').on('click', '.client_info', function() {
|
||
var id = $(this).attr("data-id");
|
||
client__info.open(id);
|
||
});
|
||
|
||
$("body").click(function(e) {
|
||
if (!$(e.target).hasClass('fstChoiceRemove')) {
|
||
if ($(e.target).closest(".crm__filter-popup").length == 0 && $(e.target).closest(".search-filter").length == 0 && $(e.target).closest(".datepicker--cell").length == 0 && $(e.target).closest('.datepicker').length == 0 && $(e.target).closest('.datepicker--nav-title').length == 0 && $(e.target).closest('.datepicker--nav-action').length == 0 && $(e.target).closest('.vs__selected').length == 0) $(".crm__filter-popup").removeClass("is__show").addClass("is__hide");
|
||
if ($(e.target).closest(".jw__add-popup").length == 0) $(".jw__add-popup").removeClass("is__show");
|
||
}
|
||
});
|
||
$("body").on('click', '.search-filter__filter', function(e) {
|
||
$(".crm__filter-popup").removeClass("is__hide").toggleClass("is__show");
|
||
});
|
||
$('.datepicker-here2').datepicker({
|
||
autoClose: 'true'
|
||
});
|
||
|
||
$('#dates_contract_client .datepicker-filter').datepicker({
|
||
autoClose: 'true',
|
||
onSelect: function() {
|
||
client_fields_filtr.checkFields();
|
||
}
|
||
});
|
||
|
||
$('body').on('click', '.jw__small-popup', function(e) {
|
||
if ($(e.target).closest('.contracts').length == 0){
|
||
var id = $(this).attr('data-id');
|
||
$(".jw__popup.actions-menu.show").removeClass("show");
|
||
|
||
if (typeof filtr !== 'undefined' && filtr.filtr && filtr.filtr.stages && filtr.filtr.stages.close == 1) {
|
||
$('.confirm__reqs').hide();
|
||
$('#transfer_reqs_closed').show();
|
||
} else {
|
||
$('.confirm__reqs').show();
|
||
$('#transfer_reqs_closed').hide();
|
||
}
|
||
$('#popup__clients .closed_all').show();
|
||
$('.confirm__clients').show();
|
||
|
||
if ((document.location.pathname == '/sale.php' || document.location.pathname == '/main.php')) {
|
||
console.log($("#popup__" + id + ' a').length);
|
||
var show = false;
|
||
if ($("#popup__" + id + ' a').length > 0) {
|
||
$("#popup__" + id + ' a').each(function() {
|
||
if (!$(this).hasClass('hidden')) {
|
||
show = true;
|
||
}
|
||
})
|
||
}
|
||
if (show) {
|
||
$("#popup__" + id).toggleClass("show");
|
||
}
|
||
} else {
|
||
|
||
$("#popup__" + id).toggleClass("show");
|
||
if($('#user_allow_edit_all').length > 0 && $('#user_allow_edit_all').val() == 0){
|
||
|
||
if(document.location.pathname == '/requisitions.php' && id == 'reqs'){
|
||
if(typeof filtr !== undefined){
|
||
if(filtr.filtr.stages.ahency > 0){
|
||
$('.confirm__reqs').hide();
|
||
$('.closed_all').hide();
|
||
}
|
||
}
|
||
} else if (document.location.pathname == '/clients.php' && id == 'clients'){
|
||
if($('#filter_work_ahency').length > 0 && $('#filter_work_ahency').hasClass('active')){
|
||
$('.confirm__clients').hide();
|
||
$('.closed_all').hide();
|
||
}
|
||
}
|
||
} else {
|
||
if (document.location.pathname == '/clients.php' && id == 'clients'){
|
||
if($('#filter_work_ahency').length > 0 && $('#filter_work_ahency').hasClass('active')){
|
||
|
||
$('.closed_all').hide();
|
||
}
|
||
}
|
||
}
|
||
}
|
||
}
|
||
return false;
|
||
});
|
||
|
||
$('body').on('click', '.jw__clients_popup', function() {
|
||
let id = $(this).attr('data-id');
|
||
$("#popup_clients__" + id + " > .jw__popup").toggleClass("show");
|
||
return false;
|
||
});
|
||
|
||
$("body").on('click', '.search-filter .filtrObjects.ti-search', function() {
|
||
get_objects_list();
|
||
});
|
||
|
||
$('body').on('click', '.search-filter .filtrObjects.ti-close', function() {
|
||
window.history.pushState(null, null, "my-objects.php");
|
||
$('#search_filter_input').val('');
|
||
get_objects_list();
|
||
});
|
||
|
||
$('body').on('click', '.search-query-item.crm_objects .ti-close', function() {
|
||
window.history.pushState(null, null, "my-objects.php");
|
||
|
||
$('.filter-popup-type').each(function() {
|
||
$(this).removeClass('active');
|
||
});
|
||
|
||
$("#searchPromotionBg").empty();
|
||
|
||
$('.___1').each(function() {
|
||
$(this).attr('data-active', '0');
|
||
});
|
||
|
||
$('.steel').each(function() {
|
||
$(this).attr('data-active', '0');
|
||
});
|
||
|
||
$('.action-button.actionJW.actionAdvButton').each(function() {
|
||
$(this).removeClass('active');
|
||
});
|
||
|
||
$('.filter-popup__right select[multiple]').each(function() {
|
||
$(this).parent('.fstElement').find('.fstChoiceRemove').each(function() {
|
||
$(this).click();
|
||
});
|
||
});
|
||
|
||
$('#objects_filter_cena_ot').val('');
|
||
$('#objects_filter_cena_do').val('');
|
||
$('#objects_filter_commission').val('');
|
||
$('#objects_filter_commission_to').val('');
|
||
$('#objects_filter_komnat_from').val('');
|
||
$('#objects_filter_komnat_to').val('');
|
||
|
||
show_objects_options_search();
|
||
get_objects_list();
|
||
});
|
||
|
||
|
||
//Поиск в Клиенты
|
||
$("body").on('click', '.filtrClient.ti-search', function() {
|
||
if ($(".view-kanban.active").length > 0) {
|
||
$('.view-kanban').removeClass('active');
|
||
$('.view-list').addClass('active');
|
||
|
||
}
|
||
window.history.pushState(null, null, "clients.php?funnelId=all");
|
||
$(".crm__filter-popup").addClass("is__hide").removeClass("is__show");
|
||
$('#funnelIdClients').val('all');
|
||
get_list();
|
||
});
|
||
|
||
$('body').on('click', '.crm__filter-popup .medium-button', function() {
|
||
$(".crm__filter-popup").addClass("is__hide").removeClass("is__show");
|
||
});
|
||
|
||
$('body').on('change', '#order', function() {
|
||
show_options_search();
|
||
page_kanban = 1;
|
||
add_knban = true;
|
||
//get_list();
|
||
});
|
||
|
||
$('body').on('change', '#of_objects', function() {
|
||
show_options_search();
|
||
page_kanban = 1;
|
||
add_knban = true;
|
||
//get_list();
|
||
});
|
||
|
||
$('body').on('change', '#noTasks', function() {
|
||
show_options_search();
|
||
page_kanban = 1;
|
||
add_knban = true;
|
||
//get_list();
|
||
});
|
||
|
||
$('body').on('change', '#todayTasks', function() {
|
||
show_options_search();
|
||
page_kanban = 1;
|
||
add_knban = true;
|
||
//get_list();
|
||
});
|
||
|
||
$('body').on('change', '#overTasks', function() {
|
||
show_options_search();
|
||
page_kanban = 1;
|
||
add_knban = true;
|
||
//get_list();
|
||
});
|
||
|
||
$('body').on('change', '#isPartner', function() {
|
||
show_options_search();
|
||
page_kanban = 1;
|
||
add_knban = true;
|
||
//get_list();
|
||
});
|
||
|
||
|
||
|
||
$('body').on('click', '.search-query-item.crm_clients .ti-close', function() {
|
||
window.history.pushState(null, null, "clients.php");
|
||
if (typeof client_fields_filtr != "undefined") {
|
||
client_fields_filtr.clearField();
|
||
}
|
||
if ($('.funnels_client li.active').length == 1) {
|
||
var funnelID = $(".funnels_client li.active").data("id");
|
||
window.history.pushState(null, null, "clients.php?funnelId=" + funnelID);
|
||
$('#funnelIdClients').val(funnelID);
|
||
}
|
||
$('#period').prop("checked", false);
|
||
$('.period').addClass('hidden');
|
||
var html = '<select class="ms-crm-client-period" >' + $(".ms-crm-client-period").html() + '</select>';
|
||
$(".ms-crm-client-period").closest(".crm__filter-input").html(html);
|
||
|
||
$('.ms-crm-client-period option[value=all]').prop("selected", true);
|
||
|
||
$('.ms-crm-client-period').fastselect({
|
||
placeholder: 'Период',
|
||
onItemSelect: function(item, val) {
|
||
if (val.value == 'period') {
|
||
$('.period').removeClass('hidden');
|
||
} else {
|
||
$('.period').addClass('hidden');
|
||
}
|
||
show_options_search();
|
||
page_kanban = 1;
|
||
add_knban = true;
|
||
get_list();
|
||
}
|
||
});
|
||
for (let i = 1; i <= 4; i++) {
|
||
$('.filter-priority' + i).removeClass('active');
|
||
}
|
||
$('.filter-popup-type').each(function() {
|
||
$(this).removeClass('active');
|
||
});
|
||
|
||
$('.filter-popup__right select[multiple]').each(function() {
|
||
$(this).parent('.fstElement').find('.fstChoiceRemove').each(function() {
|
||
$(this).click();
|
||
});
|
||
});
|
||
$('#order').prop('checked', false);
|
||
|
||
show_options_search();
|
||
page_kanban = 1;
|
||
add_knban = true;
|
||
get_list();
|
||
});
|
||
|
||
$('body').on('click', '.search-filter .filtrClient.ti-close', function() {
|
||
window.history.pushState(null, null, "clients.php");
|
||
|
||
if ($('.funnels_client li.active').length == 1) {
|
||
var funnelID = $(".funnels_client li.active").data("id");
|
||
window.history.pushState(null, null, "clients.php?funnelId=" + funnelID);
|
||
$('#funnelIdClients').val(funnelID);
|
||
}
|
||
$('#search_filter_input').val('');
|
||
page_kanban = 1;
|
||
add_knban = true;
|
||
get_list();
|
||
});
|
||
|
||
$('#date_tasks input').change(function() {
|
||
// console.log($(this).val());
|
||
//get_list();
|
||
});
|
||
|
||
$('body').on('click', '#filter_time .filter-popup-type', function(e) {
|
||
var isDates = false;
|
||
if ($(e.target).closest("#dates_period").length == 1) {
|
||
var id = 'dates';
|
||
$('#filter_time .filter-popup-type').each(function() {
|
||
|
||
if ($(this).attr('id') == id) {
|
||
if ($(this).hasClass('active')) {
|
||
isDates = true;
|
||
}
|
||
$(this).addClass('active');
|
||
} else {
|
||
//if((id == 'filter_stage_work' && $(this).attr('id') == 'filter_stage_hot') || (id == 'filter_stage_hot' && $(this).attr('id') == 'filter_stage_work')){}
|
||
//else {
|
||
$(this).removeClass('active');
|
||
//}
|
||
}
|
||
});
|
||
} else {
|
||
var id = $(this).attr('id');
|
||
|
||
$('#filter_time .filter-popup-type').each(function() {
|
||
|
||
if ($(this).attr('id') == id) {
|
||
$(this).toggleClass('active');
|
||
} else {
|
||
//if((id == 'filter_stage_work' && $(this).attr('id') == 'filter_stage_hot') || (id == 'filter_stage_hot' && $(this).attr('id') == 'filter_stage_work')){}
|
||
//else {
|
||
$(this).removeClass('active');
|
||
//}
|
||
}
|
||
});
|
||
}
|
||
var page = window.location.pathname;
|
||
|
||
if (page == '/clients.php') {
|
||
show_options_search();
|
||
page_kanban = 1;
|
||
add_knban = true;
|
||
get_list();
|
||
} else if (page == '/charts.php') {
|
||
show_options_search_charts();
|
||
/*if (!isDates) {
|
||
if ($('.tab.selected').data("tab") == 'stats') {
|
||
getStats();
|
||
} else if ($('.tab.selected').data("tab") == 'tasks') {
|
||
getCalendar();
|
||
} else if ($('.tab.selected').data("tab") == 'telephony') {
|
||
getTelephony();
|
||
} else if ($('.tab.selected').data("tab") == 'stats_objects') {
|
||
getStatsObjects();
|
||
} else if ($('.tab.selected').data("tab") == 'tasks_objects') {
|
||
getCalendarObject();
|
||
} else {
|
||
getDashboard(1);
|
||
}
|
||
}*/
|
||
}
|
||
});
|
||
|
||
$('body').on('click', '#filter_task .filter-popup-type', function(e) {
|
||
var isDates = false;
|
||
|
||
var id = $(this).attr('id');
|
||
|
||
$('#filter_task .filter-popup-type').each(function() {
|
||
|
||
if ($(this).attr('id') == id) {
|
||
$(this).toggleClass('active');
|
||
} else {
|
||
//if((id == 'filter_stage_work' && $(this).attr('id') == 'filter_stage_hot') || (id == 'filter_stage_hot' && $(this).attr('id') == 'filter_stage_work')){}
|
||
//else {
|
||
$(this).removeClass('active');
|
||
//}
|
||
}
|
||
});
|
||
|
||
var page = window.location.pathname;
|
||
|
||
if (page == '/clients.php') {
|
||
show_options_search();
|
||
page_kanban = 1;
|
||
add_knban = true;
|
||
get_list();
|
||
} else if (page == '/charts.php') {
|
||
show_options_search_charts();
|
||
if (!isDates) {
|
||
if ($('.tab.selected').data("tab") == 'stats') {
|
||
getStats();
|
||
} else if ($('.tab.selected').data("tab") == 'tasks') {
|
||
getCalendar();
|
||
} else if ($('.tab.selected').data("tab") == 'telephony') {
|
||
getTelephony();
|
||
} else if ($('.tab.selected').data("tab") == 'tasks_objects') {
|
||
getCalendarObject();
|
||
} else {
|
||
getDashboard();
|
||
}
|
||
}
|
||
}
|
||
});
|
||
|
||
$('body').on('click', '#crm_filter_left .filter-popup-type', function(e) {
|
||
var isDates = false;
|
||
|
||
var id = $(this).attr('id');
|
||
|
||
if (id == 'filter_stage_close' && !$(this).hasClass('active')) {
|
||
$('#date_tasks').removeClass('hidden');
|
||
$('#renew_all_reqs').removeClass('hidden');
|
||
$('#mass_take_from_closed').addClass('hidden');
|
||
} else {
|
||
$('#date_tasks').addClass('hidden');
|
||
$('#renew_all_reqs').addClass('hidden');
|
||
$('#mass_take_from_closed').removeClass('show');
|
||
}
|
||
|
||
$('#crm_filter_left .filter-popup-type').each(function() {
|
||
|
||
if ($(this).attr('id') == id) {
|
||
$(this).toggleClass('active');
|
||
} else {
|
||
//if((id == 'filter_stage_work' && $(this).attr('id') == 'filter_stage_hot') || (id == 'filter_stage_hot' && $(this).attr('id') == 'filter_stage_work')){}
|
||
//else {
|
||
$(this).removeClass('active');
|
||
//}
|
||
}
|
||
});
|
||
|
||
var page = window.location.pathname;
|
||
|
||
if (page == '/clients.php') {
|
||
show_options_search();
|
||
page_kanban = 1;
|
||
add_knban = true;
|
||
//get_list();
|
||
} else if (page == '/charts.php') {
|
||
show_options_search_charts();
|
||
if (!isDates) {
|
||
if ($('.tab.selected').data("tab") == 'stats') {
|
||
getStats();
|
||
} else if ($('.tab.selected').data("tab") == 'tasks') {
|
||
getCalendar();
|
||
} else if ($('.tab.selected').data("tab") == 'telephony') {
|
||
getTelephony();
|
||
} else {
|
||
getDashboard();
|
||
}
|
||
}
|
||
}
|
||
});
|
||
|
||
|
||
$("body").on('click', '#clients_list .client-events-new', function(e) {
|
||
|
||
e.stopPropagation();
|
||
|
||
$('.object-content__preloader').show();
|
||
|
||
var id_client = $(this).attr('data-id');
|
||
|
||
openClientEventsWindowNew(id_client, $('#session_to_send').val());
|
||
|
||
return false;
|
||
});
|
||
|
||
|
||
$(".jw__group-action-button").click(function() {
|
||
var id = $(this).attr('data-id');
|
||
$("#groupAB__" + id).toggleClass("active");
|
||
return false;
|
||
});
|
||
$(".form-block__hot-client").click(function() {
|
||
$(this).toggleClass("active");
|
||
return false;
|
||
});
|
||
$("#addEditNew .form-block__p1-client").click(function() {
|
||
const active = $(this).hasClass("active");
|
||
clearSelect();
|
||
if (!active) {
|
||
$(this).toggleClass("active");
|
||
}
|
||
return false;
|
||
});
|
||
$("#addEditNew .form-block__p2-client").click(function() {
|
||
const active = $(this).hasClass("active");
|
||
clearSelect();
|
||
if (!active) {
|
||
$(this).toggleClass("active");
|
||
}
|
||
return false;
|
||
});
|
||
$("#addEditNew .form-block__p3-client").click(function() {
|
||
const active = $(this).hasClass("active");
|
||
clearSelect();
|
||
if (!active) {
|
||
$(this).toggleClass("active");
|
||
}
|
||
return false;
|
||
});
|
||
$("#addEditNew .form-block__p4-client").click(function() {
|
||
const active = $(this).hasClass("active");
|
||
clearSelect();
|
||
if (!active) {
|
||
$(this).toggleClass("active");
|
||
}
|
||
return false;
|
||
});
|
||
$(".filter-priority1").click(function() {
|
||
$(this).toggleClass("active");
|
||
show_options_search();
|
||
page_kanban = 1;
|
||
add_knban = true;
|
||
//get_list();
|
||
show_options_search_charts();
|
||
//get_sourse_filter();
|
||
return false;
|
||
});
|
||
$(".filter-priority2").click(function() {
|
||
$(this).toggleClass("active");
|
||
show_options_search();
|
||
page_kanban = 1;
|
||
add_knban = true;
|
||
//get_list();
|
||
show_options_search_charts();
|
||
//get_sourse_filter();
|
||
return false;
|
||
});
|
||
$(".filter-priority3").click(function() {
|
||
$(this).toggleClass("active");
|
||
show_options_search();
|
||
page_kanban = 1;
|
||
add_knban = true;
|
||
//get_list();
|
||
show_options_search_charts();
|
||
//get_sourse_filter();
|
||
return false;
|
||
});
|
||
$(".filter-priority4").click(function() {
|
||
$(this).toggleClass("active");
|
||
show_options_search();
|
||
page_kanban = 1;
|
||
add_knban = true;
|
||
//get_list();
|
||
show_options_search_charts();
|
||
//get_sourse_filter();
|
||
return false;
|
||
});
|
||
$(".big-add-button").click(function() {
|
||
$(".jw__add-popup").toggleClass("is__show");
|
||
return false;
|
||
});
|
||
$("#jw__add-task, .jw__add-task").click(function() {
|
||
$(".jw__add-popup").removeClass("is__show");
|
||
$.ajax({
|
||
url: '/ajax/modals/addTaskWinContent.php',
|
||
success: function(data) {
|
||
$("#addTaskBg").html(data);
|
||
initTaskWin();
|
||
$("#addTaskBg").show();
|
||
$("#addTask").show();
|
||
$("body").addClass("lock");
|
||
$('#addTask .modal-submit button').removeAttr('data-id').text("Добавить");
|
||
$('#addTask .klient').show();
|
||
$('#addTask .otvetstven').show();
|
||
$('#addTask .otvetstven1').hide();
|
||
$('#addTask .tabs__caption li').css('visibility', 'unset');
|
||
}
|
||
});
|
||
|
||
return false;
|
||
});
|
||
$("#jw__add-event").click(function() {
|
||
$.ajax({
|
||
url: '/ajax/modals/addEventWinContent.php',
|
||
success: function(data) {
|
||
$("#addEventBg").html(data);
|
||
$('.datepicker-here').datepicker();
|
||
$('.ms-big-add-client').fastselect({
|
||
placeholder: 'Клиент'
|
||
});
|
||
$('#addEvent .ms-crm-client-work').fastselect({
|
||
placeholder: 'Ответственный',
|
||
onItemSelect: function(item) {
|
||
var divId = 'addEvent';
|
||
var mainDivClass = $('#' + divId + ' .tabs__caption .active').data("id");
|
||
var res = $('#' + divId + ' .tabs__content.' + mainDivClass + ' .ms-crm-client-work').val();
|
||
// $('.tabs__content.'+mainDivClass+' .ms-big-add-client').closest('.inputs').html('');
|
||
$.post('/ajax/getCharts.php', { getSelectClients: 'getSelectClients', responsible: JSON.stringify(res), user_id: $('#session_user_id').val(), users_admin: $('#session_user_admin').val() }, function(data) {
|
||
|
||
$('#' + divId + ' .tabs__content.' + mainDivClass + ' .ms-big-add-client').closest('.crm__filter-input').html(data);
|
||
$('#' + divId + ' .tabs__content.' + mainDivClass + ' .ms-big-add-client').fastselect({
|
||
placeholder: 'Клиент'
|
||
});
|
||
});
|
||
},
|
||
onItemDelete: function() {
|
||
var divId = 'addEvent';
|
||
|
||
var mainDivClass = $('#' + divId + ' .tabs__caption .active').data("id");
|
||
var res = $('#' + divId + ' .tabs__content.' + mainDivClass + ' .ms-crm-client-work').val();
|
||
// $('.tabs__content.'+mainDivClass+' .ms-big-add-client').closest('.inputs').html('');
|
||
$.post('/ajax/getCharts.php', { getSelectClients: 'getSelectClients', responsible: JSON.stringify(res), user_id: $('#session_user_id').val(), users_admin: $('#session_user_admin').val() }, function(data) {
|
||
|
||
$('#' + divId + ' .tabs__content.' + mainDivClass + ' .ms-big-add-client').closest('.crm__filter-input').html(data);
|
||
$('#' + divId + ' .tabs__content.' + mainDivClass + ' .ms-big-add-client').fastselect({
|
||
placeholder: 'Клиент'
|
||
});
|
||
});
|
||
}
|
||
});
|
||
$("#addEventBg").show();
|
||
$("#addEvent").show();
|
||
$("body").addClass("lock");
|
||
},
|
||
error: function(XMLHttpRequest, textStatus, errorThrown) {
|
||
console.log("eRROR: " + errorThrown + "; status:" + textStatus);
|
||
}
|
||
});
|
||
|
||
return false;
|
||
});
|
||
|
||
//Удаление
|
||
|
||
$('body').on('click', '#del_client_submit', function() {
|
||
var id_client = $('#del_client input[name=id_del_client]').val();
|
||
var req_id = $('#del_client #id_del_req').val();
|
||
var reason = $('#del_client [name=reason]').val();
|
||
var tempid = $('#del_client #temp_id').val();
|
||
var datazakl = $('#datazakl').val();
|
||
var dataZZ = datazakl['6']+datazakl['7']+datazakl['8']+datazakl['9']+'-'+datazakl['3']+datazakl['4']+'-'+datazakl['0']+datazakl['1']+'T00:00:00';
|
||
var param = { id_del_client: id_client, reason: reason, req_id: req_id, tempid: tempid };
|
||
|
||
$("#del_client_bg [name=reason]").val('');
|
||
|
||
if ($('#luck').prop('checked')) {
|
||
|
||
if (isNaN(parseInt($('#summa_sdelki').val()))) {
|
||
alert("Введите сумму сделки");
|
||
} else {
|
||
param.luck = 10;
|
||
param.summa = parseInt($('#summa_sdelki').val());
|
||
param.datazakl = Date.parse(dataZZ)
|
||
|
||
if (window.dealCloseData && window.dealCloseData.id) {
|
||
var factPayload = {};
|
||
var factPrice = $('#fact_contract_price').val();
|
||
var factCommission = $('#fact_agent_commission').val();
|
||
if (factPrice !== '') factPayload.contract_price = parseInt(factPrice) || 0;
|
||
if (factCommission !== '') factPayload.agent_commission = parseInt(factCommission) || 0;
|
||
if (Object.keys(factPayload).length > 0) {
|
||
$.ajax({
|
||
url: '/deal/index.php?path=deals/' + window.dealCloseData.id,
|
||
type: 'PUT',
|
||
contentType: 'application/json',
|
||
data: JSON.stringify(factPayload)
|
||
});
|
||
}
|
||
}
|
||
|
||
$.post('/ajax/delClient.php', param, function(data) {
|
||
//console.log(data)
|
||
$('#client__' + id_client + ' .stage').addClass('active');
|
||
$('#addEditNew .stage').addClass('active');
|
||
requisitions_client.getList();
|
||
$("#del_client_bg").fadeOut(500);
|
||
$("#del_client").toggle(10);
|
||
$("body").removeClass("lock");
|
||
//$('#client__'+id_client+' .stagebar-title').text('Закрыт');
|
||
//console.log($('#client_history').css('display'));
|
||
if ($('#client_history').css('display') != 'none') {
|
||
if (req_id > 0) {
|
||
openClientEventsWindowNew(0, $('#session_to_send').val(), 1, req_id);
|
||
} else {
|
||
openClientEventsWindowNew(id_client, $('#session_to_send').val(), 1);
|
||
}
|
||
}
|
||
if ($('.view-kanban.active').length > 0) {
|
||
|
||
var stage = $('#kanban_item_li_' + id_client).closest('.kanban__sortable').data("stage");
|
||
|
||
if (document.location.pathname == '/requisitions.php') {
|
||
requisitions.getList();
|
||
} else {
|
||
get_kanban_li(id_client, stage, 0);
|
||
}
|
||
} else {
|
||
if ($('#requisitions_list_object').css('display') == 'none') {
|
||
let sort_order = $('select[name=sort_order]').val();
|
||
get_list($('.pagination li.active a').text(), sort_order, false);
|
||
if (document.location.pathname == '/requisitions.php') {
|
||
requisitions.getList();
|
||
}
|
||
} else {
|
||
requisitions_object.getList();
|
||
|
||
}
|
||
}
|
||
$('#del_client #temp_id').val(0);
|
||
});
|
||
}
|
||
} else {
|
||
param.denial = $('#denial_work').val();
|
||
//console.log(reason);
|
||
if (reason == '') {
|
||
alert("Введите комментарий");
|
||
} else {
|
||
d = new Date;
|
||
dd = d.toISOString();
|
||
param.datazakl = Math.floor(Date.parse(dd.slice(0, -5)) / 1000)
|
||
param.note = 1
|
||
$.post('/ajax/delClient.php', param, function(data) {
|
||
console.log(data);
|
||
$('#client__' + id_client + ' .stage').addClass('active');
|
||
$('#addEditNew .stage').addClass('active');
|
||
requisitions_client.getList();
|
||
$("#del_client_bg").fadeOut(500);
|
||
$("#del_client").toggle(10);
|
||
$("body").removeClass("lock");
|
||
//$('#client__'+id_client+' .stagebar-title').text('Закрыт');
|
||
if ($('#client_history').css('display') != 'none') {
|
||
if (req_id > 0) {
|
||
openClientEventsWindowNew(0, $('#session_to_send').val(), 1, req_id);
|
||
} else {
|
||
openClientEventsWindowNew(id_client, $('#session_to_send').val(), 1);
|
||
}
|
||
}
|
||
if ($('.view-kanban.active').length > 0) {
|
||
var stage = $('#kanban_item_li_' + id_client).closest('.kanban__sortable').data("stage");
|
||
|
||
if (document.location.pathname == '/requisitions.php') {
|
||
requisitions.getList();
|
||
} else {
|
||
get_kanban_li(id_client, stage);
|
||
}
|
||
} else {
|
||
if ($('#requisitions_list_object').css('display') == 'none') {
|
||
let sort_order = $('select[name=sort_order]').val();
|
||
get_list($('.pagination li.active a').text(), sort_order, false);
|
||
if (document.location.pathname == '/requisitions.php') {
|
||
requisitions.getList();
|
||
}
|
||
} else {
|
||
requisitions_object.getList();
|
||
|
||
}
|
||
}
|
||
$('#del_client #temp_id').val(0);
|
||
});
|
||
}
|
||
}
|
||
get_list()
|
||
return false;
|
||
});
|
||
|
||
|
||
$('body').on('click', '#del_client .ti-close', function() {
|
||
var id_funnel_client = $('#del_client input[name=id_funnel_client]').val();
|
||
var id_client = $('#del_client input[name=id_del_client]').val();
|
||
var id_req = $('#del_client #id_del_req').val();
|
||
if (id_funnel_client > 0) {
|
||
$("body").removeClass("lock");
|
||
if (confirm("При закрытии этого окна этап будет открыт!!!")) {
|
||
axios.post('/ajax/ajax_vue_clients.php', {
|
||
request: 'openPrevStep',
|
||
client_id: id_client,
|
||
req_id: id_req,
|
||
}, )
|
||
.then(function(response) {
|
||
//console.log(response.data);
|
||
ac.stepPrev = response.data;
|
||
ac.saveOpenPrevStep();
|
||
$("#del_client_bg").hide(10);
|
||
$("#del_client").hide(10);
|
||
$('#del_client #temp_id').val(0);
|
||
})
|
||
.catch(function(error) {
|
||
console.log(error);
|
||
});
|
||
|
||
}
|
||
} else {
|
||
$("#del_client_bg").hide(10);
|
||
$("#del_client").hide(10);
|
||
$('#del_client #temp_id').val(0);
|
||
}
|
||
});
|
||
|
||
$('body').on('click', '#stats_objects_list__bg .ti-close', function() {
|
||
$("#stats_objects_list__bg").hide(10);
|
||
|
||
$("#stats_objects_list").hide(10);
|
||
$("body").removeClass("lock");
|
||
});
|
||
|
||
$("body").on("click", "#export_objects", function() {
|
||
var that = this;
|
||
let section = $(this).data('section');
|
||
let state = $(this).data('state');
|
||
if (state === 'ready') {
|
||
$(this).data('state', 'loading');
|
||
$("#export_objects_loader").show();
|
||
|
||
$.post("/ajax/export_excel_objects.php", {
|
||
section: section,
|
||
columns: JSON.stringify($("#object_list_table").bootstrapTable("getVisibleColumns")),
|
||
}, function(data) {
|
||
$(that).data('state', 'ready');
|
||
$("#export_objects_loader").hide();
|
||
console.debug(data);
|
||
let res = JSON.parse(data);
|
||
if (res.result == 'ok') {
|
||
let $a = $("<a />");
|
||
$a.attr("href", res.file);
|
||
$("body").append($a);
|
||
$a.attr("download", res.name);
|
||
$a[0].click();
|
||
$a.remove();
|
||
}
|
||
});
|
||
}
|
||
});
|
||
|
||
$('body').on('click', '#del_client_all_submit', function() {
|
||
var id_clients = $('#del_client_all input[name=id_del_clients]').val();
|
||
var clients = JSON.parse(id_clients);
|
||
|
||
var id_reqs = $('#del_client_all input[name=id_del_reqs]').val();
|
||
var reqs = JSON.parse(id_reqs);
|
||
var all = 0;
|
||
if ($("#del_client_all").find('input[name="del_all"]')) {
|
||
all = $("#del_client_all").find('input[name="del_all"]').val();
|
||
}
|
||
$("#del_client_all").find('input[name="del_all"]').val(0);
|
||
|
||
var ids = [];
|
||
|
||
|
||
var datazakl = $('#datazakl_all').val();
|
||
var dataZZ = datazakl['6']+datazakl['7']+datazakl['8']+datazakl['9']+'-'+datazakl['3']+datazakl['4']+'-'+datazakl['0']+datazakl['1']+'T00:00:00';
|
||
|
||
|
||
var reason = $('#del_client_all [name=reason]').val();
|
||
var param = { reason: reason };
|
||
|
||
if (clients != 0) {
|
||
|
||
if (localStorage['ids_exception_client']) {
|
||
var ids_exception_req = localStorage.getItem('ids_exception_client');
|
||
|
||
ids = JSON.parse(ids_exception_client);
|
||
}
|
||
param = { id_del_client_all: id_clients, reason: reason, all: all,ids_exception: ids};
|
||
} else if (reqs != 0) {
|
||
if (localStorage['ids_exception_req']) {
|
||
var ids_exception_req = localStorage.getItem('ids_exception_req');
|
||
|
||
ids = JSON.parse(ids_exception_req);
|
||
}
|
||
param = { id_del_req_all: id_reqs, reason: reason, all: all, ids_exception: ids };
|
||
}
|
||
|
||
//console.log(param);
|
||
$("#del_client_all [name=reason]").val('');
|
||
|
||
if ($('#luck_all').prop('checked')) {
|
||
|
||
if (isNaN(parseInt($('#summa_sdelki_all').val()))) {
|
||
alert("Введите сумму сделки");
|
||
} else {
|
||
param.luck = 10;
|
||
param.summa = parseInt($('#summa_sdelki_all').val());
|
||
param.datazakl = Date.parse(dataZZ)
|
||
|
||
$.post('/ajax/delClient.php', param, function(data) {
|
||
//$('#client__' + id_client + ' .stage').addClass('active');
|
||
console.log(reqs);
|
||
if (reqs != 0) {
|
||
|
||
requisitions.getList();
|
||
}
|
||
$('#addEditNew .stage').addClass('active');
|
||
$("#del_client_all_bg").fadeOut(500);
|
||
$("#del_client_all").toggle(10);
|
||
$("body").removeClass("lock");
|
||
//$('#client__'+id_client+' .stagebar-title').text('Закрыт');
|
||
//console.log($('#client_history').css('display'));
|
||
if ($('#client_history').css('display') != 'none') {
|
||
openClientEventsWindowNew(id_client, $('#session_to_send').val(), 1);
|
||
}
|
||
if ($('.view-kanban.active').length > 0) {
|
||
|
||
var stage = $('#kanban_item_li_' + id_client).closest('.kanban__sortable').data("stage");
|
||
|
||
get_kanban_li(id_client, stage, 0);
|
||
} else {
|
||
let sort_order = $('select[name=sort_order]').val();
|
||
get_list($('.pagination li.active a').text(), sort_order, false);
|
||
}
|
||
|
||
});
|
||
}
|
||
} else {
|
||
|
||
param.denial = $('#denial_work_all').val();
|
||
//console.log(reason);
|
||
if (reason == '') {
|
||
alert("Введите комментарий");
|
||
} else {
|
||
d = new Date;
|
||
dd = d.toISOString();
|
||
param.datazakl = Math.floor(Date.parse(dd.slice(0, -5)) / 1000)
|
||
param.note = 1
|
||
$.post('/ajax/delClient.php', param, function(data) {
|
||
//console.log(data);
|
||
if (reqs != 0) {
|
||
|
||
requisitions.getList();
|
||
}
|
||
//$('#client__' + id_client + ' .stage').addClass('active');
|
||
$('#addEditNew .stage').addClass('active');
|
||
$("#del_client_all_bg").fadeOut(500);
|
||
$("#del_client_all").toggle(10);
|
||
$("body").removeClass("lock");
|
||
//$('#client__'+id_client+' .stagebar-title').text('Закрыт');
|
||
if ($('#client_history').css('display') != 'none') {
|
||
openClientEventsWindowNew(id_client, $('#session_to_send').val(), 1);
|
||
}
|
||
if ($('.view-kanban.active').length > 0) {
|
||
var stage = $('#kanban_item_li_' + id_client).closest('.kanban__sortable').data("stage");
|
||
|
||
get_kanban_li(id_client, stage, 0);
|
||
} else {
|
||
let sort_order = $('select[name=sort_order]').val();
|
||
get_list($('.pagination li.active a').text(), sort_order, false);
|
||
}
|
||
|
||
});
|
||
}
|
||
}
|
||
return false;
|
||
});
|
||
|
||
|
||
$('body').on('click', '#del_client_all .ti-close', function() {
|
||
|
||
$("#del_client_all_bg").hide(10);
|
||
$("#del_client_all").hide(10);
|
||
|
||
});
|
||
|
||
$('body').on('click', '#scroll', function() {
|
||
$('#client_history .history__chat-n').animate({
|
||
scrollTop: 0
|
||
}, 500, function() {
|
||
$('#client_history .history__chat-n').animate({
|
||
scrollTop: $('#client-info-block').prop("scrollHeight")
|
||
}, 500);
|
||
});
|
||
});
|
||
|
||
$('body').on('click', '.show_object', function() {
|
||
var id_obj = [$(this).data("id")];
|
||
var id = $(this).data("client");
|
||
|
||
if (typeof requisitions_client == 'object') {
|
||
requisitions_client.clientId = id;
|
||
}
|
||
if (typeof deals_client == 'object') {
|
||
deals_client.clientId = id;
|
||
}
|
||
//console.log(id);
|
||
$('#liGlobal').removeClass('active').show();
|
||
$('#liObject').click();
|
||
$('#addEditNew .error_msg').hide();
|
||
|
||
|
||
$('#addEditNew .stagebar .stage').removeClass('active');
|
||
$('#addEditNew .form-block__hot-client').removeClass('active');
|
||
clearSelect();
|
||
|
||
$('#addEditNew select').parent('.fstElement').find('.fstChoiceRemove').each(function() {
|
||
$(this).click();
|
||
});
|
||
$('#addEditNew .form-block [name=phone2]').each(function() {
|
||
$(this).closest('.form-block').remove();
|
||
});
|
||
$('#persone_no_ip').prop('checked', true);
|
||
$('#persone_yes_ip').prop('checked', false);
|
||
$('#persone_gender_man').prop('checked', true);
|
||
$('#persone_gender_woman').prop('checked', false);
|
||
$('.persone_no_ip').removeClass('hidden');
|
||
$('.persone_yes_ip').addClass('hidden');
|
||
$.ajax({
|
||
url: '/ajax/getClient.php?id=' + id,
|
||
dataType: "json",
|
||
success: function(data) {
|
||
//console.log(data);
|
||
var stage = (data.stage - 1);
|
||
// console.log(data.deleted);
|
||
if (data.deleted == 1) {
|
||
stage = 6;
|
||
}
|
||
$("#addEditNew .crm__small-stage").each(function(index) {
|
||
if (index <= stage) {
|
||
$(this).parent().addClass("active");
|
||
} else {
|
||
$(this).parent().removeClass("active");
|
||
}
|
||
});
|
||
|
||
$('#confirm').val(data.confirm);
|
||
|
||
if (data.hot > 0) {
|
||
$('#addEditNew .form-block__hot-client').addClass('active');
|
||
}
|
||
for (let i = 1; i < 5; i++) {
|
||
$('#addEditNew .form-block__p' + i + '-client').removeClass('active');
|
||
}
|
||
if (data.priority > 0) {
|
||
$('#addEditNew .form-block__p' + data.priority + '-client').addClass('active');
|
||
}
|
||
|
||
//$("#addEditNew .error_msg").next().html(data.fio);
|
||
$('#addEditNew .modal-title').html(data.fio);
|
||
|
||
$("#addEditNew").find('input[name="fio"]').val(data.fio);
|
||
|
||
$("#addEditNew").find('input[name="email"]').val(data.email);
|
||
|
||
$("#addEditNew").find('input[name="phone"]').val(data.phone);
|
||
|
||
$("#addEditNew").find('input[name="budget"]').val(data.budget);
|
||
|
||
$("#addEditNew").find('[name="opis"]').val(data.opis);
|
||
|
||
$("#addEditNew").find('input[name="id"]').val(data.id);
|
||
|
||
$("#addReqClientForm").attr("data-client", data.id);
|
||
|
||
$("#addEditNew").find('input[name="confirm"]').val(data.confirm);
|
||
|
||
$("#addEditNew").find('input[name="birthday"]').val(data.birthday);
|
||
|
||
|
||
var html = '<select id="ms-new-client-type" multiple>' + $("#ms-new-client-type").html() + '</select>';
|
||
|
||
$("#ms-new-client-type").closest(".inputs").html(html);
|
||
if (data.work_type && data.work_type != 'null') {
|
||
var wor_type = JSON.parse(data.work_type);
|
||
for (var i = 0; i < wor_type.length; i++) {
|
||
$("#ms-new-client-type option[value='" + wor_type[i] + "']").prop("selected", true)
|
||
}
|
||
}
|
||
$("#ms-new-client-type").fastselect({
|
||
placeholder: 'Тип',
|
||
onItemDelete: function(item, val) {
|
||
if (!this.fastsearch.itemModels[4].selected) {
|
||
$('#ms-new-client-activities').parent('.fstElement').find('.fstChoiceRemove').each(function() {
|
||
$(this).click();
|
||
});
|
||
}
|
||
}
|
||
});
|
||
|
||
var html = '<select id="ms-new-client-rol" class="ms-crm-client-rol" multiple="multiple">' + $("#ms-new-client-rol").html() + '</select>';
|
||
|
||
$("#ms-new-client-rol").closest(".inputs").html(html);
|
||
if (data.role && data.role != 'null') {
|
||
var role = JSON.parse(data.role);
|
||
for (var i = 0; i < role.length; i++) {
|
||
$("#ms-new-client-rol option[value='" + role[i] + "']").prop("selected", true)
|
||
}
|
||
}
|
||
$("#ms-new-client-rol").fastselect({ placeholder: 'Роль клиента' });
|
||
|
||
var html = '<select id="ms-new-client-objects-type" class="ms-crm-client-object-type" multiple>' + $("#ms-new-client-objects-type").html() + '</select>';
|
||
$("#ms-new-client-objects-type").closest(".inputs").html(html);
|
||
|
||
if (data.type && data.type != 'null') {
|
||
var type = JSON.parse(data.type);
|
||
for (var i = 0; i < type.length; i++) {
|
||
$("#ms-new-client-objects-type option[value=" + type[i] + "]").prop("selected", true)
|
||
}
|
||
}
|
||
$("#ms-new-client-objects-type").fastselect({ placeholder: 'Тип недвижимости' });
|
||
|
||
var activities = null;
|
||
if (data.activities && data.activities != 'null') {
|
||
activities = JSON.parse(data.activities);
|
||
|
||
}
|
||
setSelectsFastselect('ms-new-client-activities', data.activities, 'select_form_activities.php', 'Теги');
|
||
|
||
var html = '<select id="ms-new-client-object" class="ms-crm-client-object-type" multiple>' + $("#ms-new-client-object").html() + '</select>';
|
||
//$("#ms-new-client-object").closest(".inputs").html(html);
|
||
if (data.objects && data.objects != 'null') {
|
||
$.post('/ajax/getClientsView.php', { get_clients_objects: data.objects, user_id: $('#sid').data("id") },
|
||
function(result) {
|
||
//console.log(result);
|
||
if (result == 0) {
|
||
$("#ms-new-client-object").closest(".inputs").html(html);
|
||
} else {
|
||
$("#ms-new-client-object").closest(".inputs").html('<select id="ms-new-client-object" class="ms-crm-client-object-type" multiple>' + result + '</select>');
|
||
}
|
||
var objects = JSON.parse(data.objects);
|
||
for (var i = 0; i < objects.length; i++) {
|
||
$("#ms-new-client-object option[value=" + objects[i] + "]").prop("selected", true);
|
||
}
|
||
$("#ms-new-client-object").fastselect({ placeholder: 'Объекты' });
|
||
}
|
||
);
|
||
|
||
} else {
|
||
$.post('/ajax/getClientsView.php', { get_clients_objects: '', user_id: $('#sid').data("id") },
|
||
function(result) {
|
||
|
||
if (result == 0) {
|
||
$("#ms-new-client-object").closest(".inputs").html('<select id="ms-new-client-object" class="ms-crm-client-object-type" multiple></select>');
|
||
} else {
|
||
$("#ms-new-client-object").closest(".inputs").html('<select id="ms-new-client-object" class="ms-crm-client-object-type" multiple>' + result + '</select>');
|
||
}
|
||
|
||
$("#ms-new-client-object").fastselect({ placeholder: 'Объекты' });
|
||
}
|
||
);
|
||
}
|
||
|
||
$.post('/ajax/getClientsView.php', { get_objects: data.objects, user_id: $('#sid').data("id"), to_send: $('#s_to_send').val() }, function(data) {
|
||
$('#addEditNew .jw__objects').html(data);
|
||
$('.fotorama').fotorama();
|
||
koala_loader();
|
||
});
|
||
var who_user = $('#sid').attr('data-id');
|
||
if (data.who_work) {
|
||
who_user = data.who_work;
|
||
}
|
||
|
||
setSelectsFastselect('ms-new-client-work', who_user, 'select_form_client-work.php', 'Ответственный');
|
||
|
||
var source_id = 0;
|
||
if (data.source) {
|
||
source_id = data.source;
|
||
}
|
||
setSelectsFastselect('ms-new-client-source', source_id, 'select_form_source.php', 'Источник');
|
||
|
||
var emplode_id_ms = 0;
|
||
if (data.employee_id) {
|
||
emplode_id_ms = data.employee_id;
|
||
}
|
||
setSelectsFastselect('ms-new-client-partner', emplode_id_ms, 'select_form_partner.php', 'Партнёр');
|
||
|
||
var funnel_id = 0;
|
||
if (data.funnel_id) {
|
||
funnel_id = data.funnel_id;
|
||
}
|
||
setSelectsFastselect('ms-new-funnel', funnel_id, 'select_form_funnel.php', 'Воронка', 'client');
|
||
|
||
|
||
$("#send_bg_new").fadeIn(500);
|
||
|
||
$("#send_new").toggle(10);
|
||
|
||
$('#send_log_new').hide();
|
||
|
||
$('#send_form_new').show();
|
||
|
||
$("body").addClass("lock");
|
||
get_contracts_client(id);
|
||
}
|
||
});
|
||
|
||
return false;
|
||
});
|
||
|
||
$('body').on('change', '#luck', function() {
|
||
var today = new Date().toLocaleDateString();
|
||
if ($(this).prop('checked')) {
|
||
$('#datazaklgr').show();
|
||
$('#summa_sdelki').show();
|
||
$('#denial_work').hide();
|
||
$('#denial_work').val(0);
|
||
$('#datazakl').val(today);
|
||
$('#denial_work-input').hide();
|
||
$('#denial_work').val(0);
|
||
} else {
|
||
$('#datazaklgr').hide();
|
||
$('#summa_sdelki').hide();
|
||
$('#denial_work').show();
|
||
$('#denial_work').val(1);
|
||
$('#denial_work-input').show();
|
||
$('#denial_work').val(0);
|
||
}
|
||
});
|
||
|
||
$('body').on('change', '#luck_all', function() {
|
||
var today = new Date().toLocaleDateString();
|
||
if ($(this).prop('checked')) {
|
||
$('#datazaklgr_all').show();
|
||
$('#summa_sdelki_all').show();
|
||
$('#denial_work_all').hide();
|
||
$('#denial_worka_all').val(0);
|
||
$('#datazakl_all').val(today);
|
||
$('#denial_work_all-input').hide();
|
||
} else {
|
||
$('#datazaklgr_all').hide();
|
||
$('#summa_sdelki_all').hide();
|
||
$('#denial_work_all').show();
|
||
$('#denial_work_all').val(1);
|
||
$('#denial_work_all-input').show();
|
||
}
|
||
});
|
||
|
||
$('body').on('click', '.reload_object', function() {
|
||
var id = $(this).data("id");
|
||
var item = '#item' + id;
|
||
// console.log(item);
|
||
$(item + ' .oneObj').addClass('hidden');
|
||
$(item + ' .object-content__preloader').removeClass('hidden');
|
||
$.post('/ajax/getClientsView.php', { get_object: id, to_send: $('#s_to_send').val() }, function(data) {
|
||
///console.log(data);
|
||
$(item).html(data);
|
||
$('#clients_list .clients').show();
|
||
$('.fotorama').fotorama();
|
||
koala_loader();
|
||
});
|
||
});
|
||
|
||
$("body").on('click', '.archive_my_object', function() {
|
||
var id = $(this).data("id");
|
||
var item = '#item' + id;
|
||
// console.log(item);
|
||
$(item + ' .oneObj').addClass('hidden');
|
||
$(item + ' .object-content__preloader').removeClass('hidden');
|
||
$.ajax({
|
||
url: '/ajax/archiveUserObject.php?objId=' + $(this).attr('data-id'),
|
||
success: function(data) {
|
||
$.post('/ajax/getClientsView.php', { get_object: id, to_send: $('#s_to_send').val() }, function(data) {
|
||
///console.log(data);
|
||
$(item).html(data);
|
||
$('#clients_list .clients').show();
|
||
$('.fotorama').fotorama();
|
||
koala_loader();
|
||
});
|
||
},
|
||
error: function(XMLHttpRequest, textStatus, errorThrown) {
|
||
console.log("eRROR: " + errorThrown);
|
||
}
|
||
});
|
||
});
|
||
|
||
$("body").on('click', '.un_archive_my_object', function() {
|
||
var id = $(this).data("id");
|
||
var item = '#item' + id;
|
||
// console.log(item);
|
||
$(item + ' .oneObj').addClass('hidden');
|
||
$(item + ' .object-content__preloader').removeClass('hidden');
|
||
$.ajax({
|
||
url: '/ajax/unArchiveUserObject.php?objId=' + $(this).attr('data-id'),
|
||
success: function(data) {
|
||
$.post('/ajax/getClientsView.php', { get_object: id, to_send: $('#s_to_send').val() }, function(data) {
|
||
///console.log(data);
|
||
$(item).html(data);
|
||
$('.fotorama').fotorama();
|
||
koala_loader();
|
||
});
|
||
},
|
||
error: function(XMLHttpRequest, textStatus, errorThrown) {
|
||
console.log("eRROR: " + errorThrown);
|
||
}
|
||
});
|
||
});
|
||
|
||
$("body").on('click', '.open_folder', function() {
|
||
var id = $(this).data("id");
|
||
$('.link' + id).toggleClass('hidden');
|
||
|
||
$('.history__results').slimScroll({
|
||
height: "300px",
|
||
width: "100%",
|
||
position: "right",
|
||
size: "8px",
|
||
color: "#585858",
|
||
alwaysVisible: false
|
||
});
|
||
|
||
$('.history__variants').slimScroll({
|
||
height: "50%",
|
||
width: "100%",
|
||
position: "right",
|
||
size: "8px",
|
||
color: "#585858",
|
||
alwaysVisible: true
|
||
});
|
||
|
||
$('.log_client').slimScroll({
|
||
height: "100%",
|
||
width: "34%",
|
||
position: "right",
|
||
size: "8px",
|
||
color: "#585858",
|
||
alwaysVisible: true
|
||
});
|
||
});
|
||
|
||
$("body").on('click', '.variants-search__action', function() {
|
||
var id = $(this).data("id");
|
||
var filter = $('.variants-search__input').val();
|
||
var html = '<div class="object-content__preloader" style="display: block;"><img src="../images/rocket-spinner.svg" width="96px"></div>';
|
||
$('#client_history .presentations').html(html);
|
||
if (filter != '') {
|
||
$.post('/ajax/getClientsView.php', { client_id: id, filter_pre: filter, to_send: $("#session_to_send").val() }, function(data) {
|
||
$('#client_history .presentations').html(data);
|
||
});
|
||
}
|
||
});
|
||
|
||
$("body").on('click', '.crm__filter-popup .closer', function() {
|
||
$('.crm__filter-popup').removeClass("is__show");
|
||
});
|
||
|
||
$("body").on("click", ".view-kanban", function() {
|
||
if ($('#funnelIdClients').val() == 'all' && document.location.pathname == '/requisitions.php') {
|
||
var funnelId = $('.funnels_client li.active').attr('data-id');
|
||
$('#funnelIdClients').val(funnelId);
|
||
window.history.pushState(null, null, "clients.php?funnelId=" + funnelId);
|
||
}
|
||
|
||
$(this).addClass('active');
|
||
$('.view-list').removeClass('active');
|
||
$('.view-table').removeClass('active');
|
||
$('#groupClients').hide();
|
||
if (document.location.pathname == '/requisitions.php') {
|
||
requisitions.view = 'kanban';
|
||
requisitions.page = 1;
|
||
requisitions.isPreloader = 1;
|
||
requisitions.getList();
|
||
|
||
} else {
|
||
get_list();
|
||
}
|
||
});
|
||
$("body").on("click", ".view-list", function() {
|
||
$(this).addClass('active');
|
||
$('.view-kanban').removeClass('active');
|
||
$('.view-table').removeClass('active');
|
||
$('#groupClients').show();
|
||
page_kanban = 1;
|
||
add_knban = true;
|
||
if (document.location.pathname == '/requisitions.php') {
|
||
requisitions.view = 'list';
|
||
requisitions.page = 1;
|
||
requisitions.isPreloader = 1;
|
||
|
||
requisitions.getList();
|
||
} else {
|
||
get_list();
|
||
}
|
||
});
|
||
$("body").on("click", ".view-table", function() {
|
||
$(this).addClass('active');
|
||
$('.view-kanban').removeClass('active');
|
||
$('.view-list').removeClass('active');
|
||
$('#groupClients').hide();
|
||
page_kanban = 1;
|
||
add_knban = true;
|
||
if (document.location.pathname == '/requisitions.php') {
|
||
requisitions.view = 'table';
|
||
requisitions.page = 1;
|
||
requisitions.isPreloader = 1;
|
||
|
||
requisitions.getList();
|
||
} else {
|
||
get_list();
|
||
}
|
||
});
|
||
$('body').on('click', '.kanban__item__add-task', function() {
|
||
var id = $(this).data("id");
|
||
$('#kanban_task_add_' + id).toggleClass("show");
|
||
$('#kanban_task_add_' + id).mouseover(function(e) {
|
||
e.preventDefault();
|
||
$('#kanban_task_add_' + id).addClass("show");
|
||
}).mouseleave(function(e) {
|
||
e.preventDefault();
|
||
$('#kanban_task_add_' + id).removeClass("show");
|
||
});
|
||
});
|
||
|
||
$(".monthPicker").datepicker({
|
||
dateFormat: 'MM yyyy',
|
||
autoClose: 'true',
|
||
view: "months",
|
||
minView: "months",
|
||
|
||
|
||
onSelect: function(dateText, inst) {
|
||
console.log(inst);
|
||
var month = new Date(inst).getMonth();
|
||
var year = new Date(inst).getFullYear();
|
||
// $(this).val($.datepicker.formatDate('MM yy', new Date(year, month, 1)));
|
||
$("#month_sales_plan").val(parseInt(month) + 1);
|
||
$("#year_sales_plan").val(year);
|
||
getSalesPlan();
|
||
}
|
||
});
|
||
|
||
/* $(".monthPicker").focus(function () {
|
||
$(".ui-datepicker-calendar").hide();
|
||
$("#ui-datepicker-div").position({
|
||
my: "center top",
|
||
at: "center bottom",
|
||
of: $(this)
|
||
});
|
||
});*/
|
||
|
||
$('body').on('submit', '#send_plan form', function() {
|
||
var arrPlan = {};
|
||
var month = $("#month_sales_plan").val();
|
||
var year = $("#year_sales_plan").val();
|
||
|
||
var user_id = $('#send_plan #user_sales_plan').val();
|
||
var summa = $('#send_plan [name=plan]').val();
|
||
var quantity = $('#send_plan [name=quantity]').val();
|
||
arrPlan[user_id] = summa;
|
||
$.post('/ajax/sales_plan.php', { users_plan: JSON.stringify(arrPlan), quantity: quantity, month: month, year: year }, function(data) {
|
||
$("#send_bg_plan").fadeOut(500);
|
||
|
||
$("#send_plan").hide(10);
|
||
|
||
$("body").removeClass("lock");
|
||
});
|
||
return false;
|
||
});
|
||
|
||
|
||
$('body').on('click', '#addTask .jw-tabs li', function() {
|
||
$('#addTask .jw-tabs li').removeClass('active');
|
||
var action = $(this).attr("class");
|
||
// var mainId = "#"+$(this).closest(".full_modal").attr("id");
|
||
// console.log(mainId);
|
||
$('#addTask .jw-tabs li.' + action).addClass('active');
|
||
$('#addTask .modal-inner .tabs__content').hide();
|
||
$('#addTask .modal-inner .tabs__content.' + action).show();
|
||
$('#addTask .modal-submit button').removeAttr("class");
|
||
$('#addTask .modal-submit button').addClass("action_" + action);
|
||
$('#addEvent .modal-submit button').removeAttr("class");
|
||
$('#addEvent .modal-submit button').addClass("action_" + action);
|
||
});
|
||
|
||
/*$('body').on('click', '#addTaskObj .jw-tabs li', function(){
|
||
$('#addTaskObj .jw-tabs li').removeClass('active');
|
||
var action = $(this).attr("class");
|
||
// var mainId = "#"+$(this).closest(".full_modal").attr("id");
|
||
// console.log(mainId);
|
||
$('#addTaskObj .jw-tabs li.'+action).addClass('active');
|
||
$('#addTaskObj .modal-inner .tabs__content').hide();
|
||
$('#addTaskObj .modal-inner .tabs__content.'+action).show();
|
||
$('#addTaskObj .modal-submit button').removeAttr("class");
|
||
$('#addTaskObj .modal-submit button').addClass("action_"+action);
|
||
});*/
|
||
|
||
$('body').on('click', '#addEvent .jw-tabs li', function() {
|
||
$('#addEvent .jw-tabs li').removeClass('active');
|
||
var action = $(this).attr("class");
|
||
// var mainId = "#"+$(this).closest(".full_modal").attr("id");
|
||
// console.log(mainId);
|
||
$('#addEvent .jw-tabs li.' + action).addClass('active');
|
||
$('#addEvent .modal-inner .tabs__content').hide();
|
||
$('#addEvent .modal-inner .tabs__content.' + action).show();
|
||
|
||
$('#addEvent .modal-submit button').removeAttr("class");
|
||
$('#addEvent .modal-submit button').addClass("action_" + action);
|
||
});
|
||
|
||
//Слежение за звонками телефонии свитчер
|
||
$("body").on('change', '#callTelphin', function() {
|
||
if ($(this).prop('checked')) {
|
||
$('#intervalTo').show();
|
||
$('#intervalToLabel').show();
|
||
$('#spanFromInterval').show();
|
||
$('#to_callDatetime').datepicker().data('datepicker').selectDate(new Date());
|
||
$('.intervalBlock .label').css('float', 'initial');
|
||
} else {
|
||
$('#intervalTo').hide();
|
||
$('#intervalToLabel').hide();
|
||
$('#spanFromInterval').hide();
|
||
$('.intervalBlock .label').css('float', 'left');
|
||
}
|
||
});
|
||
$("body").on('change', '#callTelphin_1', function() {
|
||
if ($(this).prop('checked')) {
|
||
$('#intervalTo_1').show();
|
||
$('#intervalToLabel_1').show();
|
||
$('#spanFromInterval_1').show();
|
||
$('#to_showDatetime_1').datepicker().data('datepicker').selectDate(new Date());
|
||
$('.intervalBlock .label').css('float', 'initial');
|
||
} else {
|
||
$('#intervalTo_1').hide();
|
||
$('#intervalToLabel_1').hide();
|
||
$('#spanFromInterval_1').hide();
|
||
$('.intervalBlock .label').css('float', 'left');
|
||
}
|
||
});
|
||
|
||
|
||
$("body").on('click', '.action_call', function(e) {
|
||
e.stopPropagation();
|
||
|
||
var mainId = "#" + $(this).closest(".full_modal").attr("id");
|
||
|
||
var text = $(mainId + ' .tabs__content.call #callComment').val();
|
||
|
||
var date = $(mainId + ' .tabs__content.call #showDatetime').datepicker().val();
|
||
|
||
var users_id = $(mainId + ' .tabs__content.call .ms-crm-client-work').val();
|
||
|
||
// при редактировании (data-id задан и не 0) поле «Ответственный» скрыто и не меняется — не требуем его
|
||
var isEdit = $(this).attr("data-id") !== undefined && $(this).attr("data-id") !== '0';
|
||
|
||
$(mainId + ' .tabs__content.call #showDatetime').removeClass('invalid');
|
||
$(mainId + ' .tabs__content.call .otvetstven').removeClass('invalid');
|
||
//console.log(date);
|
||
|
||
if (date && $.trim(date) && (isEdit || !isEmpty(users_id))) {
|
||
var id_client = $(mainId + ' .tabs__content.call .ms-big-add-client').val();
|
||
|
||
var data = {
|
||
"client_id": (!isEmpty(id_client) ? JSON.stringify(id_client) : ''),
|
||
"comment": text,
|
||
"schedule_date": date,
|
||
"users_id": JSON.stringify(users_id),
|
||
"type": 'call'
|
||
}
|
||
if (mainId == '#addEvent') {
|
||
data.noEvent = 1;
|
||
|
||
}
|
||
var event_id = false;
|
||
if ($(this).data("id") !== undefined) {
|
||
data.event_id = $(this).attr("data-id");
|
||
event_id = $(this).attr("data-id");
|
||
}
|
||
data.call_tracking = 0;
|
||
if ($('#callTelphin_1').length > 0) {
|
||
if ($('#callTelphin_1').prop('checked')) {
|
||
data.call_tracking = 1;
|
||
data.date_to = $(mainId + ' .tabs__content.call #to_showDatetime_1').datepicker().val();
|
||
}
|
||
}
|
||
$.ajax({
|
||
url: '/ajax/addEventsCabinet.php',
|
||
method: "post",
|
||
data: data,
|
||
success: function(d) {
|
||
console.log(d);
|
||
$("#addTaskBg").hide();
|
||
$("#addTask").hide();
|
||
$("#addEventBg").hide();
|
||
$("#addEvent").hide();
|
||
$("body").removeClass("lock");
|
||
if (event_id) { updateMes(event_id); }
|
||
getCalendar();
|
||
}
|
||
});
|
||
} else {
|
||
if(isEmpty($.trim(date))){
|
||
$(mainId + ' .tabs__content.call #showDatetime').addClass('invalid');
|
||
}
|
||
|
||
if(!isEdit && isEmpty(users_id)){
|
||
$(mainId + ' .tabs__content.call .otvetstven').addClass('invalid');
|
||
}
|
||
}
|
||
|
||
|
||
|
||
return false;
|
||
});
|
||
|
||
$("body").on('click', '.action_show', function(e) {
|
||
e.stopPropagation();
|
||
|
||
var mainId = "#" + $(this).closest(".full_modal").attr("id");
|
||
|
||
var text = $(mainId + ' .tabs__content.show #meetComment').val();
|
||
|
||
var date = $(mainId + ' .tabs__content.show #meetDatetime').datepicker().val();
|
||
|
||
var users_id = $(mainId + ' .tabs__content.show .ms-crm-client-work').val();
|
||
|
||
// при редактировании (data-id задан и не 0) поле «Ответственный» скрыто и не меняется — не требуем его
|
||
var isEdit = $(this).attr("data-id") !== undefined && $(this).attr("data-id") !== '0';
|
||
|
||
var address = $(mainId + ' .tabs__content.show #meetAddress').val();
|
||
$(mainId + ' .tabs__content.show #meetDatetime').removeClass('invalid');
|
||
$(mainId + ' .tabs__content.show .otvetstven').removeClass('invalid');
|
||
|
||
//console.log(date);
|
||
if (date && $.trim(date) && (isEdit || !isEmpty(users_id))) {
|
||
var id_client = $(mainId + ' .tabs__content.show .ms-big-add-client').val();
|
||
|
||
var data = {
|
||
"client_id": (!isEmpty(id_client) ? JSON.stringify(id_client) : ''),
|
||
"comment": text,
|
||
"schedule_date": date,
|
||
"users_id": JSON.stringify(users_id),
|
||
"type": 'show',
|
||
"address": address,
|
||
|
||
}
|
||
|
||
if (mainId == '#addEvent') {
|
||
data.noEvent = 1;
|
||
|
||
}
|
||
var event_id = false;
|
||
if ($(this).data("id") !== undefined) {
|
||
data.event_id = $(this).attr("data-id");
|
||
event_id = $(this).attr("data-id");
|
||
}
|
||
// console.log(data);
|
||
|
||
$.ajax({
|
||
url: '/ajax/addEventsCabinet.php',
|
||
method: "post",
|
||
data: data,
|
||
success: function(d) {
|
||
$("#addTaskBg").hide();
|
||
$("#addTask").hide();
|
||
$("#addEventBg").hide();
|
||
$("#addEvent").hide();
|
||
$("body").removeClass("lock");
|
||
if (event_id) { updateMes(event_id); }
|
||
getCalendar();
|
||
}
|
||
});
|
||
} else {
|
||
if(isEmpty($.trim(date))){
|
||
$(mainId + ' .tabs__content.show #meetDatetime').addClass('invalid');
|
||
}
|
||
|
||
if(!isEdit && isEmpty(users_id)){
|
||
$(mainId + ' .tabs__content.show .otvetstven').addClass('invalid');
|
||
}
|
||
}
|
||
|
||
|
||
|
||
return false;
|
||
});
|
||
|
||
$("body").on('click', '.action_meet', function(e) {
|
||
e.stopPropagation();
|
||
|
||
var mainId = "#" + $(this).closest(".full_modal").attr("id");
|
||
|
||
var text = $(mainId + ' .tabs__content.meet #meetComment').val();
|
||
|
||
var date = $(mainId + ' .tabs__content.meet #meetDatetime').datepicker().val();
|
||
|
||
var users_id = $(mainId + ' .tabs__content.meet .ms-crm-client-work').val();
|
||
|
||
// при редактировании (data-id задан и не 0) поле «Ответственный» скрыто и не меняется — не требуем его
|
||
var isEdit = $(this).attr("data-id") !== undefined && $(this).attr("data-id") !== '0';
|
||
|
||
var address = $(mainId + ' .tabs__content.meet #meetAddress').val();
|
||
|
||
$(mainId + ' .tabs__content.meet #meetDatetime').removeClass('invalid');
|
||
$(mainId + ' .tabs__content.meet .otvetstven').removeClass('invalid');
|
||
//console.log(date);
|
||
if (date && $.trim(date) && (isEdit || !isEmpty(users_id))) {
|
||
var id_client = $(mainId + ' .tabs__content.meet .ms-big-add-client').val();
|
||
|
||
var data = {
|
||
"client_id": (!isEmpty(id_client) ? JSON.stringify(id_client) : ''),
|
||
"comment": text,
|
||
"schedule_date": date,
|
||
"users_id": JSON.stringify(users_id),
|
||
"type": 'meet',
|
||
"address": address,
|
||
}
|
||
|
||
if (mainId == '#addEvent') {
|
||
data.noEvent = 1;
|
||
|
||
}
|
||
var event_id = false;
|
||
if ($(this).data("id") !== undefined) {
|
||
data.event_id = $(this).attr("data-id");
|
||
event_id = $(this).attr("data-id");
|
||
}
|
||
$.ajax({
|
||
url: '/ajax/addEventsCabinet.php',
|
||
method: "post",
|
||
data: data,
|
||
success: function(d) {
|
||
// console.log(d);
|
||
$("#addTaskBg").hide();
|
||
$("#addTask").hide();
|
||
$("#addEventBg").hide();
|
||
$("#addEvent").hide();
|
||
$("body").removeClass("lock");
|
||
if (event_id) { updateMes(event_id); }
|
||
getCalendar();
|
||
}
|
||
});
|
||
} else {
|
||
if(isEmpty($.trim(date))){
|
||
$(mainId + ' .tabs__content.meet #meetDatetime').addClass('invalid');
|
||
}
|
||
|
||
if(!isEdit && isEmpty(users_id)){
|
||
$(mainId + ' .tabs__content.meet .otvetstven').addClass('invalid');
|
||
}
|
||
}
|
||
|
||
return false;
|
||
});
|
||
|
||
$("body").on('click', '.action_deal', function(e) {
|
||
e.stopPropagation();
|
||
|
||
var mainId = "#" + $(this).closest(".full_modal").attr("id");
|
||
|
||
var text = $(mainId + ' .tabs__content.deal #dealComment').val();
|
||
|
||
var date = $(mainId + ' .tabs__content.deal #dealDatetime').datepicker().val();
|
||
|
||
var users_id = $(mainId + ' .tabs__content.deal .ms-crm-client-work').val();
|
||
|
||
// при редактировании (data-id задан и не 0) поле «Ответственный» скрыто и не меняется — не требуем его
|
||
var isEdit = $(this).attr("data-id") !== undefined && $(this).attr("data-id") !== '0';
|
||
|
||
var sum = $(mainId + ' .tabs__content.deal #dealSum').val();
|
||
|
||
$(mainId + ' .tabs__content.deal #dealDatetime').removeClass('invalid');
|
||
$(mainId + ' .tabs__content.deal .otvetstven').removeClass('invalid');
|
||
// console.log(date);
|
||
if (date && $.trim(date) && (isEdit || !isEmpty(users_id))) {
|
||
var id_client = $(mainId + ' .tabs__content.deal .ms-big-add-client').val();
|
||
|
||
var data = {
|
||
"client_id": (!isEmpty(id_client) ? JSON.stringify(id_client) : ''),
|
||
"comment": text,
|
||
"schedule_date": date,
|
||
"users_id": JSON.stringify(users_id),
|
||
"type": 'deal',
|
||
"sum": sum
|
||
}
|
||
|
||
if (mainId == '#addEvent') {
|
||
data.noEvent = 1;
|
||
|
||
}
|
||
var event_id = false;
|
||
if ($(this).data("id") !== undefined) {
|
||
data.event_id = $(this).attr("data-id");
|
||
event_id = $(this).attr("data-id");
|
||
}
|
||
//console.log(data);
|
||
|
||
$.ajax({
|
||
url: '/ajax/addEventsCabinet.php',
|
||
method: "post",
|
||
data: data,
|
||
success: function(data) {
|
||
$("#addTaskBg").hide();
|
||
$("#addTask").hide();
|
||
$("#addEventBg").hide();
|
||
$("#addEvent").hide();
|
||
$("body").removeClass("lock");
|
||
if (event_id) { updateMes(event_id); }
|
||
getCalendar();
|
||
}
|
||
});
|
||
} else {
|
||
if(isEmpty($.trim(date))){
|
||
$(mainId + ' .tabs__content.deal #dealDatetime').addClass('invalid');
|
||
}
|
||
|
||
if(!isEdit && isEmpty(users_id)){
|
||
$(mainId + ' .tabs__content.deal .otvetstven').addClass('invalid');
|
||
}
|
||
}
|
||
|
||
return false;
|
||
});
|
||
|
||
$("body").on('click', '.action_event', function(e) {
|
||
|
||
e.stopPropagation();
|
||
|
||
var mainId = "#" + $(this).closest(".full_modal").attr("id");
|
||
|
||
var text = $(mainId + ' .tabs__content.event #dealComment').val();
|
||
|
||
var date = $(mainId + ' .tabs__content.event #dealDatetime').datepicker().val();
|
||
|
||
var name = $(mainId + ' .tabs__content.event #eventName').val();
|
||
|
||
var users_id = $(mainId + ' .tabs__content.event .ms-crm-client-work').val();
|
||
|
||
// при редактировании (data-id задан и не 0) поле «Ответственный» скрыто и не меняется — не требуем его
|
||
var isEdit = $(this).attr("data-id") !== undefined && $(this).attr("data-id") !== '0';
|
||
|
||
$(mainId + ' .tabs__content.event #dealDatetime').removeClass('invalid');
|
||
$(mainId + ' .tabs__content.event .otvetstven').removeClass('invalid');
|
||
//console.log(mainId);
|
||
if (date && $.trim(date) && (isEdit || !isEmpty(users_id) || !isEmpty($('#addTask .who_work_tasks').val()))) {
|
||
var id_client = $(mainId + ' .tabs__content.event .ms-big-add-client').val();
|
||
|
||
var data = {
|
||
"client_id": (!isEmpty(id_client) ? JSON.stringify(id_client) : ''),
|
||
"comment": text,
|
||
"schedule_date": date,
|
||
"users_id": JSON.stringify(users_id),
|
||
"type": 'even',
|
||
"name": name,
|
||
"event_id": 0
|
||
}
|
||
|
||
if (mainId == '#addEvent') {
|
||
data.noEvent = 1;
|
||
|
||
}
|
||
var event_id = false;
|
||
|
||
if ($(this).attr("data-id") !== undefined) {
|
||
|
||
data.event_id = $(this).attr("data-id");
|
||
|
||
}
|
||
if ($('#clientIdEvent').val() !== undefined) {
|
||
data.clientId = $('#clientIdEvent').val();
|
||
}
|
||
if ($('#reqIdEvent').val() !== undefined) {
|
||
data.reqId = $('#reqIdEvent').val();
|
||
}
|
||
if ($('#userIdEvent').val() !== undefined) {
|
||
data.userId = $('#userIdEvent').val();
|
||
}
|
||
|
||
if($('#addTask .event .otvetstven1').is(":visible") && $('#addTask .who_work_tasks').val()){
|
||
data.who_work = $('#addTask .who_work_tasks').val();
|
||
}
|
||
//console.log(data);
|
||
|
||
$.ajax({
|
||
url: '/ajax/addEventsCabinet.php',
|
||
method: "post",
|
||
data: data,
|
||
success: function(r) {
|
||
//console.log(r);
|
||
$("#addTaskBg").hide();
|
||
$("#addTask").hide();
|
||
$("#addEventBg").hide();
|
||
$("#addEvent").hide();
|
||
$("body").removeClass("lock");
|
||
//console.log(event_id);
|
||
/*if(event_id){ updateMes(event_id);}
|
||
getCalendar();*/
|
||
var url = '/ajax/getClientLogForEventsNew.php?id=' + data.clientId;
|
||
if (data.reqId > 0) {
|
||
url += '&req_id=' + data.reqId;
|
||
}
|
||
$.ajax({
|
||
url: url,
|
||
success: function(data) {
|
||
$('#client-info-block').html(data);
|
||
$('#client_history .history__chat-n').animate({
|
||
scrollTop: $('#client-info-block').prop("scrollHeight")
|
||
}, 500, function() {
|
||
$('#client_history .history__chat-n').slimScroll({ scrollTo: $('#client-info-block').prop("scrollHeight") + 'px' });
|
||
});
|
||
if ($('#calendar').length) {
|
||
$('#calendar').fullCalendar('refetchEvents');
|
||
}
|
||
}
|
||
});
|
||
}
|
||
});
|
||
} else {
|
||
if(isEmpty($.trim(date))){
|
||
$(mainId + ' .tabs__content.event #dealDatetime').addClass('invalid');
|
||
}
|
||
|
||
if(!isEdit && isEmpty(users_id)){
|
||
$(mainId + ' .tabs__content.event .otvetstven').addClass('invalid');
|
||
}
|
||
}
|
||
|
||
return false;
|
||
});
|
||
|
||
|
||
$("body").on('click', '.action_obj_call', function(e) {
|
||
e.stopPropagation();
|
||
|
||
let form = $(this).closest(".full_modal");
|
||
let event_id = $(this).attr("data-id");
|
||
let id_object = $(this).attr("data-objectid");
|
||
let type = $(this).attr("data-type");
|
||
|
||
let date, name, comment, address, sum, req_id;
|
||
|
||
if (type == "even") {
|
||
date = form.find('.event #dealDatetime').datepicker().val();
|
||
name = form.find('.event #eventName').val();
|
||
comment = form.find('.event #dealComment').val();
|
||
} else if (type == "meet") {
|
||
date = form.find('.meet #meetDatetime').datepicker().val();
|
||
comment = form.find('.meet #meetComment').val();
|
||
address = form.find('.meet #meetAddress').val();
|
||
} else if (type == "call") {
|
||
date = form.find('.call .callDatetime').datepicker().val();
|
||
comment = form.find('.call .callComment').val();
|
||
} else if (type == "show") {
|
||
date = form.find('.show #showDatetime').datepicker().val();
|
||
comment = form.find('.show #showComment').val();
|
||
address = form.find('.show #showAddress').val();
|
||
req_id = $('#showRequisitionsEdit').val();
|
||
} else if (type == "deal") {
|
||
date = form.find('.deal #dealDatetime').datepicker().val();
|
||
comment = form.find('.deal #dealComment').val();
|
||
sum = form.find('.deal #dealSum').val();
|
||
}
|
||
|
||
let params = {
|
||
event_id: event_id,
|
||
object_id: id_object,
|
||
type: type,
|
||
schedule_date: date,
|
||
name: name,
|
||
comment: comment,
|
||
address: address,
|
||
sum: sum,
|
||
req_id: req_id,
|
||
};
|
||
//console.log(params);
|
||
|
||
$.ajax({
|
||
url: '/ajax/changeEventsObj.php',
|
||
method: "post",
|
||
data: params,
|
||
success: function(result) {
|
||
|
||
//console.log(result);
|
||
|
||
$("#addTaskBgObj").hide();
|
||
$("#addTaskObj").hide();
|
||
|
||
$("body").removeClass("lock");
|
||
$.ajax({
|
||
url: '/ajax/getObjectInfoForEvents.php?id=' + id_object,
|
||
success: function(data) {
|
||
$('#object-info-block').html(data);
|
||
|
||
$.ajax({
|
||
url: '/ajax/getLogForEvents.php?object_id=' + id_object,
|
||
success: function(data) {
|
||
$('#event-chat').html(data);
|
||
$('.history__chat').scrollTop($('#event-chat').prop("scrollHeight"));
|
||
}
|
||
});
|
||
|
||
setTimeout(function() {
|
||
$('#object-info-block .fotorama').fotorama();
|
||
initializeMapOnEventWindow();
|
||
}, 100);
|
||
}
|
||
});
|
||
}
|
||
});
|
||
|
||
return false;
|
||
});
|
||
|
||
$('body').on('click', '.search-query-item .ti-close', function() {
|
||
|
||
$('.filter-popup-type').each(function() {
|
||
$(this).removeClass('active');
|
||
});
|
||
for (let i = 1; i <= 4; i++) {
|
||
$('.filter-priority' + i).removeClass('active');
|
||
}
|
||
|
||
|
||
$('.filter-popup__right select[multiple]').each(function() {
|
||
$(this).parent('.fstElement').find('.fstChoiceRemove').each(function() {
|
||
$(this).click();
|
||
});
|
||
});
|
||
$('#order').prop('checked', false);
|
||
|
||
show_options_search_charts();
|
||
get_sourse_filter();
|
||
});
|
||
|
||
$('body').on('click', '#addTaskBgObj .closer', function() {
|
||
$("#addTaskBgObj").hide();
|
||
$("#addTaskObj").hide();
|
||
$("body").removeClass("lock");
|
||
});
|
||
|
||
$('body').on('click', '#merepriation_bg .closer', function() {
|
||
$("#merepriation_bg").hide();
|
||
$("#merepriation-history").hide();
|
||
$("body").removeClass("lock");
|
||
});
|
||
|
||
$('body').on('click', '#addTaskBg .closer', function() {
|
||
$("#addTaskBg").hide();
|
||
$("#addTask").hide();
|
||
$("body").removeClass("lock");
|
||
return false;
|
||
});
|
||
$('body').on('click', '#client-history__bg .closer', function() {
|
||
$('#client-history__bg').css('zIndex', '99988');
|
||
$('.chat-history__actions_new').removeClass('show');
|
||
$("#client-history__bg").hide(10);
|
||
$("#client_history").hide(10);
|
||
$("body").removeClass("lock");
|
||
return false;
|
||
});
|
||
|
||
$('body').on('click', '#addEventBg .closer', function() {
|
||
$("#addEventBg").hide();
|
||
$("#addEvent").hide();
|
||
$("body").removeClass("lock");
|
||
return false;
|
||
});
|
||
|
||
$('#addTask .ms-crm-client-work').fastselect({
|
||
onItemCreate: function(item, model) {
|
||
if ($('#addTask .ms-crm-client-work').find('option[value=' + model.value + ']').hasClass('bolt')) {
|
||
$(item).addClass('bolt');
|
||
}
|
||
},
|
||
placeholder: 'Ответственный',
|
||
onItemSelect: function(item) {
|
||
var divId = 'addTask';
|
||
var mainDivClass = $('#' + divId + ' .tabs__caption .active').data("id");
|
||
var res = $('#' + divId + ' .tabs__content.' + mainDivClass + ' .ms-crm-client-work').val();
|
||
// $('.tabs__content.'+mainDivClass+' .ms-big-add-client').closest('.inputs').html('');
|
||
$.post('/ajax/getCharts.php', { getSelectClients: 'getSelectClients', responsible: JSON.stringify(res), user_id: $('#session_user_id').val(), users_admin: $('#session_user_admin').val() }, function(data) {
|
||
|
||
$('#' + divId + ' .tabs__content.' + mainDivClass + ' .ms-big-add-client').closest('.crm__filter-input').html(data);
|
||
$('#' + divId + ' .tabs__content.' + mainDivClass + ' .ms-big-add-client').fastselect({
|
||
placeholder: 'Клиент'
|
||
});
|
||
});
|
||
},
|
||
onItemDelete: function() {
|
||
var divId = 'addTask';
|
||
|
||
var mainDivClass = $('#' + divId + ' .tabs__caption .active').data("id");
|
||
var res = $('#' + divId + ' .tabs__content.' + mainDivClass + ' .ms-crm-client-work').val();
|
||
// $('.tabs__content.'+mainDivClass+' .ms-big-add-client').closest('.inputs').html('');
|
||
$.post('/ajax/getCharts.php', { getSelectClients: 'getSelectClients', responsible: JSON.stringify(res), user_id: $('#session_user_id').val(), users_admin: $('#session_user_admin').val() }, function(data) {
|
||
|
||
$('#' + divId + ' .tabs__content.' + mainDivClass + ' .ms-big-add-client').closest('.crm__filter-input').html(data);
|
||
$('#' + divId + ' .tabs__content.' + mainDivClass + ' .ms-big-add-client').fastselect({
|
||
placeholder: 'Клиент'
|
||
});
|
||
});
|
||
}
|
||
});
|
||
|
||
|
||
|
||
$('#ms-new-client-bank').fastselect({
|
||
placeholder: 'Банк',
|
||
});
|
||
|
||
$('#ms-new-resolve-bank').fastselect({
|
||
placeholder: 'Банк',
|
||
});
|
||
|
||
/* $('#ms-new-client-bank-issue').fastselect({
|
||
placeholder: 'Банк выдачи',
|
||
});*/
|
||
|
||
|
||
/*$('#ms-new-client-bank-revisal').fastselect({
|
||
placeholder: 'Банк (пересмотр)',
|
||
});*/
|
||
|
||
|
||
$('#ms_new_bancks_credit').fastselect({
|
||
placeholder: 'Банковский продукт',
|
||
});
|
||
|
||
var mainPhoneInput = $('.phoneMask#phoneClient');
|
||
var mainPhoneCheckbox = $('#national_phone');
|
||
|
||
function handleInput() {
|
||
var mainPhoneNumber = mainPhoneInput.val();
|
||
|
||
// Проверка на наличие первого символа "+"
|
||
if (mainPhoneNumber.startsWith('+')) {
|
||
// Удаление всех нецифровых символов, кроме "+"
|
||
mainPhoneNumber = mainPhoneNumber.replace(/[^\d+]/g, '');
|
||
mainPhoneInput.val(mainPhoneNumber);
|
||
} else {
|
||
mainPhoneInput.value = '';
|
||
}
|
||
}
|
||
|
||
function handleCheckboxChange() {
|
||
if (mainPhoneCheckbox.prop('checked')) {
|
||
mainPhoneInput.unmask();
|
||
mainPhoneInput.val('+')
|
||
mainPhoneInput.on('input', handleInput);
|
||
mainPhoneInput.focus();
|
||
} else {
|
||
mainPhoneInput.off('input', handleInput);
|
||
mainPhoneInput.mask("+79999999999");
|
||
mainPhoneInput.focus();
|
||
}
|
||
}
|
||
|
||
mainPhoneCheckbox.on('change', handleCheckboxChange);
|
||
|
||
$('body').on('click', '#add_phone2', function() {
|
||
var inputId = 'input_phone_' + phone2Index;
|
||
var checkboxId = 'checkbox_phone_' + phone2Index;
|
||
|
||
var formBloc = document.createElement('div');
|
||
formBloc.classList.add('form-block');
|
||
|
||
var labelDiv = document.createElement('div');
|
||
labelDiv.classList.add('label');
|
||
labelDiv.textContent = 'Дополнительный телефон';
|
||
|
||
formBloc.appendChild(labelDiv)
|
||
|
||
var inputsDiv = document.createElement('div');
|
||
inputsDiv.classList.add('inputs');
|
||
|
||
var inputPhone = document.createElement('input');
|
||
inputPhone.classList.add('text', 'phoneMask');
|
||
inputPhone.id = inputId;
|
||
inputPhone.type = 'text';
|
||
inputPhone.style.width = '400px';
|
||
inputPhone.name = 'phone2';
|
||
inputPhone.value = '';
|
||
|
||
inputsDiv.appendChild(inputPhone);
|
||
formBloc.appendChild(inputsDiv);
|
||
|
||
var checkboxDiv = document.createElement('div');
|
||
checkboxDiv.classList.add('checkbox', 'inline-block');
|
||
checkboxDiv.style = 'display: inline-block;min-height: unset; padding-left: 0px; margin-top: 0px; margin-bottom: 0px;';
|
||
|
||
var inputCheckbox = document.createElement('input');
|
||
inputCheckbox.id = checkboxId;
|
||
inputCheckbox.type = 'checkbox';
|
||
|
||
checkboxDiv.appendChild(inputCheckbox);
|
||
|
||
var labelCheckbox = document.createElement('label');
|
||
labelCheckbox.classList.add('label', 'ml-5', 'whitespace-nowrap');
|
||
labelCheckbox.setAttribute('for', checkboxId);
|
||
labelCheckbox.textContent = 'Зарубежный телефон';
|
||
|
||
checkboxDiv.appendChild(labelCheckbox);
|
||
|
||
formBloc.appendChild(checkboxDiv);
|
||
|
||
inputCheckbox.addEventListener('change', function() {
|
||
if (inputCheckbox.checked) {
|
||
$('#' + inputId).unmask();
|
||
inputPhone.value = '+'
|
||
inputPhone.addEventListener('input', function() {
|
||
var phoneNumber = inputPhone.value;
|
||
|
||
// Проверка на наличие первого символа "+"
|
||
if (phoneNumber.startsWith('+')) {
|
||
// Удаление всех нецифровых символов, кроме "+"
|
||
phoneNumber = phoneNumber.replace(/[^\d+]/g, '');
|
||
inputPhone.value = phoneNumber;
|
||
} else {
|
||
inputPhone.value = '';
|
||
}
|
||
});
|
||
inputPhone.focus();
|
||
} else {
|
||
$('#' + inputId).mask("+79999999999");
|
||
inputPhone.focus();
|
||
}
|
||
});
|
||
|
||
$(this).closest('.form-block').before(formBloc);
|
||
$('#' + inputId).mask("+79999999999");
|
||
|
||
phone2Index++;
|
||
});
|
||
|
||
$('body').on('click', '#union_clients_form_open', function() {
|
||
var id = $(this).attr("data-id");
|
||
console.log(typeof union_clients);
|
||
if(typeof union_clients == 'object'){
|
||
union_clients.client_dop_id = id;
|
||
union_clients.open();
|
||
}
|
||
});
|
||
|
||
$('body').on('blur', '.phoneMask', function() {
|
||
var phone = $(this).val();
|
||
var id = $('#addEditNew [name=id]').val();
|
||
var funnel_id = $('.funnels_client .active').data("id");
|
||
|
||
if ($("#ms-new-funnel").is(":visible")) {
|
||
funnel_id = $("#ms-new-funnel").val();
|
||
}
|
||
|
||
if (phone != '' && phone != '+7__________' && phone != '+') {
|
||
$.post('/ajax/addEditClient.php', {
|
||
verifity_phone: phone,
|
||
funnel_id: funnel_id,
|
||
id: id
|
||
},
|
||
function(data) {
|
||
//console.log(data);
|
||
if (data != 0) {
|
||
$('#addEditNew .error_msg').html(data).show();
|
||
//$('#addEditNew .error_msg').next().text('Клиент '+fio);
|
||
$('#addEditNew .modal-title').text('Клиент ' + fio);
|
||
// $(".full_modal-bg").animate({ scrollTop: 0 }, 500);
|
||
}
|
||
|
||
});
|
||
}
|
||
|
||
});
|
||
|
||
$('body').on('change', '#ms-new-funnel', function() {
|
||
var hasPhoneMask = $('#phoneClient').hasClass('phoneMask');
|
||
var phone = $('#phoneClient').val();
|
||
var id = $('#addEditNew [name=id]').val();
|
||
var funnel_id = $("#ms-new-funnel").val();
|
||
|
||
if (hasPhoneMask && phone != '' && phone != '+7__________' && phone != '+') {
|
||
$.post('/ajax/addEditClient.php', {
|
||
verifity_phone: phone,
|
||
funnel_id: funnel_id,
|
||
id: id
|
||
},
|
||
function(data) {
|
||
//console.log(data);
|
||
if (data != 0) {
|
||
$('#addEditNew .error_msg').html(data).show();
|
||
} else {
|
||
$('#addEditNew .error_msg').html('').hide();
|
||
}
|
||
});
|
||
}
|
||
|
||
if ($("#ms-new-funnel").val() > 0) {
|
||
$('#addEditNew .stepsTable').hide();
|
||
}
|
||
});
|
||
|
||
$('body').on('focus', '#phoneClient', function() {
|
||
$('#addEditNew .error_msg').html('').hide();
|
||
});
|
||
|
||
$('body').on('change', '#yes_doc', function() {
|
||
if ($(this).prop('checked')) {
|
||
$('.prodoc').removeClass('hidden');
|
||
} else {
|
||
$('.prodoc').addClass('hidden');
|
||
}
|
||
});
|
||
|
||
$('body').on('change', '#yes_bank', function() {
|
||
//$('#addEditNew .stage-meet .crm__small-stage').click();
|
||
if ($(this).prop('checked')) {
|
||
$('.probank').removeClass('hidden');
|
||
} else {
|
||
$('.probank').addClass('hidden');
|
||
}
|
||
});
|
||
|
||
$('body').on('change', '#yes_resolve', function() {
|
||
$('#addEditNew .stage-meet .crm__small-stage').click();
|
||
if ($(this).prop('checked')) {
|
||
$('.proresolve').removeClass('hidden');
|
||
} else {
|
||
$('.proresolve').addClass('hidden');
|
||
}
|
||
});
|
||
|
||
$('body').on('change', '#yes_issue', function() {
|
||
$('#addEditNew .stage-meet .crm__small-stage').click();
|
||
if ($(this).prop('checked')) {
|
||
$('.proissue').removeClass('hidden');
|
||
} else {
|
||
$('.proissue').addClass('hidden');
|
||
}
|
||
});
|
||
|
||
$('body').on('change', '#rynok_1', function() {
|
||
if ($(this).prop('checked')) {
|
||
$('.prorynok').removeClass('hidden');
|
||
} else {
|
||
$('.prorynok').addClass('hidden');
|
||
}
|
||
});
|
||
|
||
$('body').on('change', '#rynok_2', function() {
|
||
if ($(this).prop('checked')) {
|
||
$('.prorynok').addClass('hidden');
|
||
} else {
|
||
$('.prorynok').removeClass('hidden');
|
||
}
|
||
});
|
||
|
||
$('body').on('change', '#persone_no_ip', function() {
|
||
|
||
if ($(this).prop('checked')) {
|
||
$('.persone_no_ip').removeClass('hidden');
|
||
$('.persone_yas_ip').addClass('hidden');
|
||
} else {
|
||
|
||
}
|
||
});
|
||
|
||
$('body').on('change', '#persone_yes_ip', function() {
|
||
|
||
if ($(this).prop('checked')) {
|
||
$('.persone_yas_ip').removeClass('hidden');
|
||
$('.persone_no_ip').addClass('hidden');
|
||
} else {
|
||
//$('.persone_yas_ip').addClass('hidden');
|
||
}
|
||
});
|
||
|
||
$('body').on('change', '#yes_brak', function() {
|
||
if ($(this).prop('checked')) {
|
||
$('.probrak').removeClass('hidden');
|
||
} else {
|
||
$('.probrak').addClass('hidden');
|
||
$('#yes_brak_doc').prop('checked', false);
|
||
}
|
||
});
|
||
|
||
$('body').on('change', '#yes_co_dohod', function() {
|
||
if ($(this).prop('checked')) {
|
||
$('.prosodohod').removeClass('hidden');
|
||
} else {
|
||
$('.prosodohod').addClass('hidden');
|
||
$('#co_borrower_dohod').val('');
|
||
}
|
||
});
|
||
|
||
|
||
$('body').on('change', '#yes_co_borrower', function() {
|
||
if ($(this).prop('checked')) {
|
||
$('.proborrower').removeClass('hidden');
|
||
} else {
|
||
$('.proborrower').addClass('hidden');
|
||
$('.proborrower input').val('');
|
||
}
|
||
});
|
||
|
||
$('body').on('click', '.probank .edit-btn', function() {
|
||
$.ajax({
|
||
url: '/ajax/modals/bankRequestWinContent.php',
|
||
success: function(data) {
|
||
$("#edit_bankcs_zayavka").html(data);
|
||
$('.datepicker-here2').datepicker({
|
||
autoClose: 'true'
|
||
});
|
||
$('#edit_bankcs_zayavka [name=employee]').val('');
|
||
$('#edit_bankcs_zayavka [name=date_bank]').data('datepicker').selectDate(new Date());
|
||
var html = '<select id="ms-new-client-bank" class="ms-new-client-bank">' + $("#ms-new-client-bank").html() + '</select>';
|
||
$("#ms-new-client-bank").closest(".inputs").html(html);
|
||
$("#ms-new-client-bank option:eq(0)").prop("selected", true);
|
||
$("#ms-new-client-bank").fastselect({ placeholder: 'Банк' });
|
||
|
||
$('#edit_bankcs_zayavka').fadeIn(500);
|
||
$("#edit_bankcs_zayavka .edit-modal").toggle(10);
|
||
},
|
||
error: function(XMLHttpRequest, textStatus, errorThrown) {
|
||
console.log("eRROR: " + errorThrown + "; status:" + textStatus);
|
||
}
|
||
});
|
||
|
||
return false;
|
||
});
|
||
|
||
$('body').on('click', '#edit_bankcs_zayavka .event-modal-close', function() {
|
||
$('#edit_bankcs_zayavka').fadeOut(500);
|
||
$("#edit_bankcs_zayavka .edit-modal").toggle(10);
|
||
setTimeout(function() { $("body").addClass("lock") }, 100);
|
||
|
||
//$("body").removeClass("lock");
|
||
|
||
});
|
||
|
||
$('body').on('click', '#edit_bankcs_zayavka .saved', function() {
|
||
var name_bank = $('#edit_bankcs_zayavka .fstToggleBtn').text();
|
||
var id_bank = $('#ms-new-client-bank').val();
|
||
var employee_bank = $('#edit_bankcs_zayavka input[name=employee]').val();
|
||
var date_bank = $('#edit_bankcs_zayavka [name=date_bank]').val();
|
||
if ($('#list_bank_' + id_bank).length > 0) {
|
||
$('#list_bank_' + id_bank + ' .adv_activities').text(name_bank);
|
||
$('#list_bank_' + id_bank + ' .adv_activities').data("employee", employee_bank);
|
||
$('#list_bank_' + id_bank + ' .adv_activities').data("date", date_bank);
|
||
} else {
|
||
var htmlli = '<li class="list_bank" id="list_bank_' + id_bank + '">' +
|
||
'<span class="adv_activities" data-id="' + id_bank + '" data-date="' + date_bank + '" data-employee="' + employee_bank + '">' + name_bank + '</span>' +
|
||
'<a href="javascript:{};" class="fl-right delZayavka no-border tooltip tooltip-effect" data-id="' + id_bank + '">' +
|
||
'<span class="simple-button tooltip-item">' +
|
||
'<i class="ti-close"></i>' +
|
||
'</span>' +
|
||
'<span class="tooltip-content tt-pdf clear">' +
|
||
'<b class="tooltip-text">Удалить</b>' +
|
||
'</span>' +
|
||
'</a>' +
|
||
'</li>';
|
||
$('.probank ul').append(htmlli);
|
||
}
|
||
$('#edit_bankcs_zayavka').fadeOut(500);
|
||
$("#edit_bankcs_zayavka .edit-modal").toggle(10);
|
||
setTimeout(function() { $("body").addClass("lock") }, 100);
|
||
return false;
|
||
});
|
||
|
||
$('body').on('click', '.probank .list_bank .adv_activities', function() {
|
||
var name_bank = $(this).text();
|
||
var id_bank = $(this).attr("data-id");
|
||
var employee_bank = $(this).attr("data-employee");
|
||
var date_bank = $(this).attr("data-date");
|
||
$.ajax({
|
||
url: '/ajax/modals/bankRequestWinContent.php',
|
||
success: function(data) {
|
||
$("#edit_bankcs_zayavka").html(data);
|
||
$('.datepicker-here2').datepicker({
|
||
autoClose: 'true'
|
||
});
|
||
|
||
|
||
var html = '<select id="ms-new-client-bank" class="ms-new-client-bank">' + $("#ms-new-client-bank").html() + '</select>';
|
||
$("#ms-new-client-bank").closest(".inputs").html(html);
|
||
$("#ms-new-client-bank [value=" + id_bank + "]").prop("selected", true);
|
||
$("#ms-new-client-bank").fastselect({ placeholder: 'Банк' });
|
||
$('#edit_bankcs_zayavka [name=employee]').val(employee_bank);
|
||
$('#edit_bankcs_zayavka [name=date_bank]').val(date_bank);
|
||
$('#edit_bankcs_zayavka').fadeIn(500);
|
||
$("#edit_bankcs_zayavka .edit-modal").toggle(10);
|
||
},
|
||
error: function(XMLHttpRequest, textStatus, errorThrown) {
|
||
console.log("eRROR: " + errorThrown + "; status:" + textStatus);
|
||
}
|
||
});
|
||
});
|
||
|
||
$('body').on('click', '.probank .delZayavka', function() {
|
||
var id = $(this).data("id");
|
||
$("#list_bank_" + id).remove();
|
||
});
|
||
|
||
$('body').on('click', '.proresolve .edit-btn', function() {
|
||
$.ajax({
|
||
url: '/ajax/modals/bankResolveWinContent.php',
|
||
success: function(data) {
|
||
$("#edit_bankcs_resolve").html(data);
|
||
$('.datepicker-here2').datepicker({
|
||
autoClose: 'true'
|
||
});
|
||
$('#edit_bankcs_resolve [name=summa]').val('');
|
||
$('#edit_bankcs_resolve [name=prstavka]').val('');
|
||
$('#edit_bankcs_resolve [name=srok]').val('');
|
||
$('#edit_bankcs_resolve [name=usloviya]').val('');
|
||
var html = '<select id="ms-new-resolve-bank" class="ms-new-resolve-bank">' + $("#ms-new-resolve-bank").html() + '</select>';
|
||
$("#ms-new-resolve-bank").closest(".inputs").html(html);
|
||
$("#ms-new-resolve-bank option:eq(0)").prop("selected", true);
|
||
$("#ms-new-resolve-bank").fastselect({ placeholder: 'Банк' });
|
||
|
||
$('#edit_bankcs_resolve').fadeIn(500);
|
||
$("#edit_bankcs_resolve .edit-modal").toggle(10);
|
||
},
|
||
error: function(XMLHttpRequest, textStatus, errorThrown) {
|
||
console.log("eRROR: " + errorThrown + "; status:" + textStatus);
|
||
}
|
||
});
|
||
|
||
return false;
|
||
});
|
||
|
||
$('body').on('click', '#edit_bankcs_resolve .event-modal-close', function() {
|
||
$('#edit_bankcs_resolve').fadeOut(500);
|
||
$("#edit_bankcs_resolve .edit-modal").toggle(10);
|
||
setTimeout(function() { $("body").addClass("lock") }, 100);
|
||
|
||
//$("body").removeClass("lock");
|
||
|
||
});
|
||
|
||
$('body').on('click', '#edit_bankcs_resolve .saved', function() {
|
||
var name_bank = $('#edit_bankcs_resolve .fstToggleBtn').text();
|
||
var id_bank = $('#ms-new-resolve-bank').val();
|
||
var summa = $('#edit_bankcs_resolve [name=summa]').val();
|
||
var prstavka = $('#edit_bankcs_resolve [name=prstavka]').val();
|
||
var srok = $('#edit_bankcs_resolve [name=srok]').val();
|
||
var usloviya = $('#edit_bankcs_resolve [name=usloviya]').val();
|
||
if ($('#list_resolve_' + id_bank).length > 0) {
|
||
$('#list_resolve_' + id_bank + ' .adv_activities').text(name_bank);
|
||
$('#list_resolve_' + id_bank + ' .adv_activities').data("summa", summa);
|
||
$('#list_resolve_' + id_bank + ' .adv_activities').data("prstavka", prstavka);
|
||
$('#list_resolve_' + id_bank + ' .adv_activities').data("srok", srok);
|
||
$('#list_resolve_' + id_bank + ' .adv_activities').data("usloviya", usloviya);
|
||
} else {
|
||
var htmlli = '<li class="list_bank" id="list_resolve_' + id_bank + '">' +
|
||
'<span class="adv_activities" data-id="' + id_bank + '" data-summa="' + summa + '" data-prstavka="' + prstavka + '" data-srok="' + srok + '" data-usloviya="' + usloviya + '">' + name_bank + '</span>' +
|
||
'<a href="javascript:{};" class="fl-right delResolve no-border tooltip tooltip-effect" data-id="' + id_bank + '">' +
|
||
'<span class="simple-button tooltip-item">' +
|
||
'<i class="ti-close"></i>' +
|
||
'</span>' +
|
||
'<span class="tooltip-content tt-pdf clear">' +
|
||
'<b class="tooltip-text">Удалить</b>' +
|
||
'</span>' +
|
||
'</a>' +
|
||
'</li>';
|
||
$('.proresolve ul').append(htmlli);
|
||
}
|
||
$('#edit_bankcs_resolve').fadeOut(500);
|
||
$("#edit_bankcs_resolve .edit-modal").toggle(10);
|
||
setTimeout(function() { $("body").addClass("lock") }, 100);
|
||
return false;
|
||
});
|
||
|
||
$('body').on('click', '.proresolve .list_bank .adv_activities', function() {
|
||
var name_bank = $(this).text();
|
||
var id_bank = $(this).attr("data-id");
|
||
var summa = $(this).attr("data-summa");
|
||
var prstavka = $(this).attr("data-prstavka");
|
||
var srok = $(this).attr("data-srok");
|
||
var usloviya = $(this).attr("data-usloviya");
|
||
var html = '<select id="ms-new-resolve-bank" class="ms-new-resolve-bank">' + $("#ms-new-resolve-bank").html() + '</select>';
|
||
|
||
$.ajax({
|
||
url: '/ajax/modals/bankResolveWinContent.php',
|
||
success: function(data) {
|
||
$("#edit_bankcs_resolve").html(data);
|
||
$('.datepicker-here2').datepicker({
|
||
autoClose: 'true'
|
||
});
|
||
$("#ms-new-resolve-bank").closest(".inputs").html(html);
|
||
$("#ms-new-resolve-bank [value=" + id_bank + "]").prop("selected", true);
|
||
$("#ms-new-resolve-bank").fastselect({ placeholder: 'Банк' });
|
||
$('#edit_bankcs_resolve [name=summa]').val(summa);
|
||
$('#edit_bankcs_resolve [name=prstavka]').val(prstavka);
|
||
$('#edit_bankcs_resolve [name=srok]').val(srok);
|
||
$('#edit_bankcs_resolve [name=usloviya]').val(usloviya);
|
||
$('#edit_bankcs_resolve').fadeIn(500);
|
||
$("#edit_bankcs_resolve .edit-modal").toggle(10);
|
||
},
|
||
error: function(XMLHttpRequest, textStatus, errorThrown) {
|
||
console.log("eRROR: " + errorThrown + "; status:" + textStatus);
|
||
}
|
||
});
|
||
});
|
||
|
||
$('body').on('click', '.proresolve .delResolve', function() {
|
||
var id = $(this).data("id");
|
||
$("#list_resolve_" + id).remove();
|
||
});
|
||
|
||
//*********часть для документов************//
|
||
$('body').on('click', '.dir.opened', function(e) {
|
||
if ($(e.target).closest(".docsfiles").length < 1) {
|
||
$(this).find('.docsfiles').toggleClass('hidden');
|
||
}
|
||
});
|
||
|
||
$('body').on('click', '.new_folder_add', function() {
|
||
$('#folder_add_bg').show(10);
|
||
$('#folder_add').show(10);
|
||
$("body").addClass("lock");
|
||
return false;
|
||
});
|
||
|
||
$('body').on('click', '#folder_add_bg .closer', function() {
|
||
$("#folder_add_bg").hide(10);
|
||
$("#folder_add").hide(10);
|
||
$("body").removeClass("lock");
|
||
return false;
|
||
});
|
||
|
||
$('#form_add_folder').submit(function() {
|
||
var name = $('#form_add_folder input[name=name]').val();
|
||
var user_id = $('#form_add_folder #folder_idUser').val();
|
||
var perm_folder = $('#form_add_folder #filter-perm-doc-type').val();
|
||
var params = {};
|
||
params.add_new_folder = name;
|
||
params.user_id = user_id;
|
||
params.permissions = perm_folder;
|
||
$.post('/ajax/folders.php', params, function(data) {
|
||
$("#folder_add_bg").hide(10);
|
||
$("#folder_add").hide(10);
|
||
$("body").removeClass("lock");
|
||
get_folders();
|
||
});
|
||
return false;
|
||
});
|
||
|
||
$('#filter-perm-doc-type').fastselect({
|
||
placeholder: 'Участники',
|
||
onItemSelect: function() {
|
||
show_options_search();
|
||
page_kanban = 1;
|
||
add_knban = true;
|
||
},
|
||
onItemDelete: function() {
|
||
show_options_search();
|
||
page_kanban = 1;
|
||
add_knban = true;
|
||
}
|
||
});
|
||
|
||
$('body').on('click', '.delFolder', function() {
|
||
var id = $(this).data("id");
|
||
if (confirm('Вы точно хотите безвозвратно удалить эту папку?')) {
|
||
$.post('/ajax/folders.php', { delete_folder: id }, function() {
|
||
$('#folder_id_' + id).remove();
|
||
});
|
||
}
|
||
});
|
||
|
||
$('body').on('click', '.add_doc', function() {
|
||
var id_folder = $(this).data("id");
|
||
var url = '/server/php/index.php?folder=' + id_folder;
|
||
$('#files_upload #files').html('');
|
||
$('#fileupload_folder_id').val(id_folder);
|
||
$('#progress .progress-bar').css(
|
||
'width',
|
||
'0%'
|
||
);
|
||
$('#fileupload').fileupload({
|
||
url: url,
|
||
dataType: 'json',
|
||
done: function(e, data) {
|
||
console.log(data.result);
|
||
$.each(data.result.files, function(index, file) {
|
||
if (file.error) {
|
||
alert(file.error);
|
||
} else {
|
||
$('<p/>').text(file.name).appendTo('#files');
|
||
}
|
||
});
|
||
$.post('/ajax/folders.php', { save_files: id_folder, files: JSON.stringify(data.result.files) }, function(data) {
|
||
// console.log(data);
|
||
get_folders(id_folder);
|
||
});
|
||
|
||
},
|
||
progressall: function(e, data) {
|
||
var progress = parseInt(data.loaded / data.total * 100, 10);
|
||
$('#progress .progress-bar').css(
|
||
'width',
|
||
progress + '%'
|
||
);
|
||
}
|
||
}).prop('disabled', !$.support.fileInput)
|
||
.parent().addClass($.support.fileInput ? undefined : 'disabled');
|
||
$('#files_upload').show(10);
|
||
$('#file_upload').show(10);
|
||
$("body").addClass("lock");
|
||
return false;
|
||
});
|
||
|
||
$('body').on('click', '#files_upload .closer', function() {
|
||
$("#files_upload").hide(10);
|
||
$("#file_upload").hide(10);
|
||
$("body").removeClass("lock");
|
||
return false;
|
||
});
|
||
$('body').on('click', '.delDocument', function() {
|
||
var id = $(this).data("id");
|
||
if (confirm('Вы точно хотите безвозвратно удалить этот документ?')) {
|
||
$.post('/ajax/folders.php', { delete_document: id }, function(data) {
|
||
console.log(data);
|
||
$('#agencyDocument_' + id).remove();
|
||
});
|
||
}
|
||
});
|
||
|
||
//Для объектов
|
||
$('body').on('input', '#etaz', function() {
|
||
var etaz = $(this).val();
|
||
if (etaz == 1) {
|
||
$('#block_etaz_first_type').removeClass('hidden');
|
||
} else {
|
||
$('#block_etaz_first_type').addClass('hidden');
|
||
$('#block_etaz_first_type select option:eq(0)').prop('selected', true);
|
||
}
|
||
});
|
||
|
||
//Новые воронки
|
||
$('body').on('click', '.funnels_client li', function(e) {
|
||
|
||
if ($(this).hasClass('quest_funnel')) {
|
||
//console.log(e.target);
|
||
} else {
|
||
if ($(this).closest('.isNoLoadPage').length > 0) {
|
||
//console.log('isNoLoadPage');
|
||
var id = $(this).attr("data-id");
|
||
$('.funnels_client li').removeClass('active');
|
||
$(this).addClass('active');
|
||
$('#funnelIdClients').val(id);
|
||
page_kanban = 1;
|
||
add_knban = true;
|
||
if (document.location.pathname == '/requisitions.php') {
|
||
window.history.pushState(null, null, "requisitions.php?funnelId=" + id);
|
||
requisitions.funnel_id = id;
|
||
requisitions.page = 1;
|
||
requisitions.getList();
|
||
} else {
|
||
if (document.location.pathname == '/clients.php') {
|
||
window.history.pushState(null, null, "clients.php?funnelId=" + id);
|
||
if(id == 0 && $(this).attr("data-stage") == 0){
|
||
$('.view-kanban').addClass('hidden');
|
||
if($('.view-kanban.active').length > 0){
|
||
$('.view-kanban').removeClass('active');
|
||
$('.view-list').addClass('active');
|
||
}
|
||
} else {
|
||
$('.view-kanban').removeClass('hidden');
|
||
}
|
||
|
||
//requisitions.funnel_id = id;
|
||
//requisitions.page = 1;
|
||
get_list();
|
||
}
|
||
}
|
||
|
||
} else {
|
||
var id = $(this).data("id");
|
||
var url = new URL(window.location.href);
|
||
url.searchParams.set('funnelId', id);
|
||
window.location.href = url.toString();
|
||
}
|
||
}
|
||
});
|
||
|
||
//Этапы воронок
|
||
$('body').on('click', '.crm__small-step', function(e) {
|
||
if($(e.target).closest('.list_stagebars').length > 0 || $(e.target).closest('.no_event_stagebars').length > 0 || $(this).hasClass('not_clicked')){
|
||
return;
|
||
}
|
||
|
||
var $clickedStep = $(this);
|
||
var stage = parseInt($(this).attr("data-stage"));
|
||
var client = $(this).attr("data-client");
|
||
var req = $(this).attr("data-req");
|
||
var adjacent = $(this).attr("data-adjacent");
|
||
var main = $(this).attr("data-main");
|
||
|
||
// Находим этапы текущей заявки
|
||
var $row = $clickedStep.closest('tr');
|
||
var stages = $row.find('.stage .crm__small-step');
|
||
|
||
// Индекс кликнутого этапа
|
||
var clickedIndex = stages.index(this);
|
||
|
||
// Индекс текущего активного этапа
|
||
var currentIndex = null;
|
||
stages.each(function(index) {
|
||
if ($(this).closest('.stage').hasClass('active')) {
|
||
currentIndex = index;
|
||
}
|
||
});
|
||
|
||
// Если нет активного этапа
|
||
if (currentIndex === null) {
|
||
var $firstStep = $(stages.get(0)); // первый этап
|
||
|
||
var firstStage = $firstStep.attr("data-stage");
|
||
var firstClient = $firstStep.attr("data-client");
|
||
var firstReq = $firstStep.attr("data-req");
|
||
var firstAdjacent = $firstStep.attr("data-adjacent");
|
||
var firstMain = $firstStep.attr("data-main");
|
||
|
||
// Если первый этап доступен (main == 1), то открываем его
|
||
if (firstMain == 1) {
|
||
$.post('/ajax/funnel_step_close.php', { 'step': firstStage, 'client': firstClient, 'req': req }, function(res) {
|
||
ac.closesStep = true;
|
||
ac.step = JSON.parse(res);
|
||
ac.clientId = firstClient;
|
||
ac.reqId = firstReq;
|
||
ac.stepId = firstStage;
|
||
ac.adjacentId = firstAdjacent;
|
||
ac.openStep();
|
||
});
|
||
} else {
|
||
error_mes('#step_funnel_error' + firstClient, 'Сначала откройте первый этап');
|
||
}
|
||
|
||
return;
|
||
}
|
||
|
||
if (clickedIndex <= currentIndex) {
|
||
|
||
if ($clickedStep.closest('.active').length == 1) {
|
||
error_mes('#step_funnel_error' + client, 'Этап закрыт');
|
||
ac.clientId = client;
|
||
ac.reqId = req;
|
||
ac.adjacentId = adjacent;
|
||
ac.openPrevStep();
|
||
return;
|
||
}
|
||
|
||
if (main == 0 && !$clickedStep.closest('.stage').prev().hasClass("active")) {
|
||
if(adjacent){
|
||
error_mes('#step_funnel_erroradjacent_' + adjacent, 'Нужно закрыть предыдущий этап');
|
||
} else if (client) {
|
||
error_mes('#step_funnel_error' + client, 'Нужно закрыть предыдущий этап');
|
||
} else if (req) {
|
||
error_mes('#step_funnel_errorreq' + req, 'Нужно закрыть предыдущий этап');
|
||
}
|
||
return;
|
||
}
|
||
|
||
$.post('/ajax/funnel_step_close.php', { 'step': stage, 'client': client, 'req': req }, function(res) {
|
||
ac.closesStep = true;
|
||
ac.step = JSON.parse(res);
|
||
ac.clientId = client;
|
||
ac.reqId = req;
|
||
ac.stepId = stage;
|
||
ac.adjacentId = adjacent;
|
||
ac.openStep();
|
||
});
|
||
|
||
return;
|
||
}
|
||
|
||
var nextIndex = currentIndex + 1;
|
||
var $nextStep = $(stages.get(nextIndex));
|
||
|
||
var nextStage = $nextStep.attr("data-stage");
|
||
var nextClient = $nextStep.attr("data-client");
|
||
var nextReq = $nextStep.attr("data-req");
|
||
var nextAdjacent = $nextStep.attr("data-adjacent");
|
||
|
||
$.post('/ajax/funnel_step_close.php', { 'step': nextStage, 'client': nextClient, 'req': req }, function(res) {
|
||
ac.closesStep = true;
|
||
ac.step = JSON.parse(res);
|
||
ac.clientId = nextClient;
|
||
ac.reqId = nextReq;
|
||
ac.stepId = nextStage;
|
||
ac.adjacentId = nextAdjacent;
|
||
ac.openStep();
|
||
});
|
||
});
|
||
|
||
//Партнер
|
||
$("body").on('click', '#client_add_partner', function() {
|
||
var req_id = 0;
|
||
if ($(this).attr("data-req")) {
|
||
req_id = parseInt($(this).attr("data-req"));
|
||
}
|
||
|
||
$("#chat-modal__bg__partner").fadeIn(500);
|
||
$("#chat-modal__partner").attr('data-type', 'client');
|
||
$("#chat-modal__partner").toggle(10);
|
||
$("body").addClass("lock");
|
||
partner.selectedEmploye = null;
|
||
partner.req_id = req_id;
|
||
partner.get__employe();
|
||
|
||
return false;
|
||
});
|
||
|
||
//Смежная воронка
|
||
$("body").on('click', '#client_add_adjacent', function() {
|
||
var req_id = 0;
|
||
var funnel_id = 0;
|
||
if ($(this).attr("data-req")) {
|
||
req_id = parseInt($(this).attr("data-req"));
|
||
}
|
||
|
||
if ($(this).attr("data-funnel")) {
|
||
funnel_id = parseInt($(this).attr("data-funnel"));
|
||
}
|
||
|
||
$("#chat-modal__bg__adjacent").fadeIn(500);
|
||
$("#chat-modal__adjacent").attr('data-type', 'client');
|
||
$("#chat-modal__adjacent").toggle(10);
|
||
$("body").addClass("lock");
|
||
adjacent.selectedEmploye = null;
|
||
adjacent.req_id = req_id;
|
||
adjacent.funnel_id = funnel_id;
|
||
adjacent.get_adjacent_funnels();
|
||
|
||
return false;
|
||
});
|
||
|
||
$("body").on('click', '#chat-modal__bg__partner .ti-close', function() {
|
||
|
||
close_partner_modal();
|
||
});
|
||
|
||
$("body").on('click', '#chat-modal__bg__adjacent .ti-close', function() {
|
||
|
||
close_adjacent_modal();
|
||
});
|
||
|
||
$('body').on('click', '.confirm__clients', function() {
|
||
var userId = $(this).data("id");
|
||
var clientsId = [];
|
||
var all = 0;
|
||
if ($('#changeClientAllFilter').prop('checked')) {
|
||
all = 1;
|
||
}
|
||
|
||
if (all == 0) {
|
||
|
||
$('.changeClientInput').each(function() {
|
||
if ($(this).prop('checked')) {
|
||
var id = $(this).attr('id').replace("changeClient", "");
|
||
if (id != 'All') {
|
||
clientsId.push(id);
|
||
}
|
||
}
|
||
});
|
||
|
||
|
||
console.log(clientsId);
|
||
|
||
if (clientsId.length == 0) {
|
||
alert("Нет выбранных клиентов");
|
||
} else {
|
||
console.log(userId);
|
||
changeUserClients_confirm(userId, clientsId);
|
||
}
|
||
} else {
|
||
changeUserClients_confirm(userId, clientsId);
|
||
}
|
||
});
|
||
|
||
$('body').on('click', '.confirm_on_clients', function() {
|
||
var userId = $('#session_user_id').val();
|
||
var clientsId = [];
|
||
var all = 0;
|
||
if ($('#changeClientAllFilter').prop('checked')) {
|
||
all = 1;
|
||
clientsId = ['all'];
|
||
}
|
||
|
||
if (all == 0) {
|
||
|
||
$('.changeClientInput').each(function() {
|
||
if ($(this).prop('checked')) {
|
||
var id = $(this).attr('id').replace("changeClient", "");
|
||
if (id != 'All') {
|
||
clientsId.push(id);
|
||
}
|
||
}
|
||
});
|
||
|
||
|
||
console.log(clientsId);
|
||
|
||
if (clientsId.length == 0) {
|
||
alert("Нет выбранных клиентов");
|
||
} else {
|
||
//console.log(userId);
|
||
|
||
open_confirmation__req_client('client', 'confirm_on', '');
|
||
|
||
|
||
}
|
||
} else {
|
||
|
||
open_confirmation__req_client('client', 'confirm_on', '');
|
||
|
||
}
|
||
})
|
||
|
||
$('body').on('click', '.funnel__clients', function() {
|
||
|
||
var all = 0;
|
||
if ($('#changeClientAllFilter').prop('checked')) {
|
||
all = 1;
|
||
}
|
||
|
||
if (all == 0) {
|
||
|
||
var clientsId = [];
|
||
$('.changeClientInput').each(function() {
|
||
if ($(this).prop('checked')) {
|
||
var id = $(this).attr('id').replace("changeClient", "");
|
||
if (id != 'AllFilter' && id != 'All')
|
||
clientsId.push(id);
|
||
}
|
||
});
|
||
|
||
|
||
console.log(clientsId);
|
||
|
||
if (clientsId.length == 0) {
|
||
alert("Нет выбранных клиентов");
|
||
} else {
|
||
|
||
funnelClients(clientsId);
|
||
}
|
||
} else {
|
||
funnelClients(clientsId);
|
||
}
|
||
});
|
||
|
||
|
||
//Закрытие нескольких клиентов
|
||
$("body").on('click', '.closed_all', function() {
|
||
var req = false;
|
||
if ($(this).attr('data-req')) {
|
||
req = true;
|
||
}
|
||
var clientsId = [];
|
||
var reqsId = [];
|
||
var all = 0;
|
||
|
||
|
||
if (req) {
|
||
if ($('#changeReqAllFilter').prop('checked')) {
|
||
all = 1;
|
||
}
|
||
$('.changeReqInput').each(function() {
|
||
if ($(this).prop('checked')) {
|
||
var id = $(this).attr('id').replace("changeReq", "");
|
||
if (id != 'All') {
|
||
reqsId.push(id);
|
||
}
|
||
}
|
||
});
|
||
} else {
|
||
if ($('#changeClientAllFilter').prop('checked')) {
|
||
all = 1;
|
||
}
|
||
$('.changeClientInput').each(function() {
|
||
if ($(this).prop('checked')) {
|
||
if (id != 'All') {
|
||
var id = $(this).attr('id').replace("changeClient", "");
|
||
|
||
clientsId.push(id);
|
||
}
|
||
}
|
||
});
|
||
}
|
||
|
||
|
||
if (!req) {
|
||
if (clientsId.length == 0 && all == 0) {
|
||
alert("Нет выбранных клиентов");
|
||
} else {
|
||
if (all == 1) {
|
||
clientsId.push('all');
|
||
}
|
||
|
||
$("#del_client_all").find('input[name="id_del_clients"]').val(JSON.stringify(clientsId));
|
||
$("#del_client_all").find('input[name="id_del_reqs"]').val(0);
|
||
open_confirmation__req_client('client', 'close_all', '');
|
||
|
||
}
|
||
} else {
|
||
if (reqsId.length == 0 && all == 0) {
|
||
alert("Нет выбранных заявок");
|
||
} else {
|
||
|
||
if (all == 1) {
|
||
reqsId.push('all');
|
||
}
|
||
|
||
|
||
$("#del_client_all").find('input[name="id_del_clients"]').val(0);
|
||
$("#del_client_all").find('input[name="id_del_reqs"]').val(JSON.stringify(reqsId));
|
||
open_confirmation__req_client('req', 'close_all', '');
|
||
|
||
}
|
||
}
|
||
|
||
|
||
return false;
|
||
|
||
});
|
||
|
||
//Открытие нескольких клиентов
|
||
$("body").on('click', '.renew_all', function() {
|
||
|
||
var clientsId = [];
|
||
var all = 0;
|
||
if ($('#changeClientAllFilter').prop('checked')) {
|
||
all = 1;
|
||
}
|
||
|
||
if (all == 0) {
|
||
$('.changeClientInput').each(function() {
|
||
if ($(this).prop('checked')) {
|
||
var id = $(this).attr('id').replace("changeClient", "");
|
||
clientsId.push(id);
|
||
}
|
||
});
|
||
console.log(clientsId);
|
||
|
||
if (clientsId.length == 0) {
|
||
alert("Нет выбранных клиентов");
|
||
} else {
|
||
|
||
open_confirmation__req_client('client', 'renew_all', '');
|
||
|
||
//renewClients(clientsId);
|
||
}
|
||
} else {
|
||
|
||
open_confirmation__req_client('client', 'renew_all', '');
|
||
|
||
}
|
||
|
||
return false;
|
||
});
|
||
|
||
$('body').click(function(e) {
|
||
if ($(e.target).closest('.jw__popup').length == 0 &&
|
||
$(e.target).closest('.fstChoiceItem').length == 0 &&
|
||
$(e.target).closest('.vs__deselect').length == 0 &&
|
||
$(e.target).closest('#requisitions_list').length == 0
|
||
) {
|
||
$('.jw__popup').removeClass('show');
|
||
}
|
||
|
||
if ($(e.target).closest('.actions-menu').length != 1) {
|
||
$('#popup__clients').removeClass('show');
|
||
}
|
||
});
|
||
|
||
$("body").on("click", ".cartClient", function() {
|
||
var client_id = $(this).data("id");
|
||
openClientEventsWindowNew(client_id, $('#session_to_send').val());
|
||
});
|
||
|
||
if (document.location.pathname != '/my-objects.php' && document.location.pathname != '/agency-objects.php') {
|
||
|
||
localStorage['edit_object_prev_url'] = 0;
|
||
}
|
||
|
||
$('body').on('click', '#show_no_all_objects_page .closer', function() {
|
||
$('#show_no_all_objects_page_bg').fadeOut(300);
|
||
$('#show_no_all_objects_page').toggle(100);
|
||
$("body").removeClass("lock");
|
||
|
||
return false;
|
||
});
|
||
|
||
$('body').on('click', '#bind_obj_req .closer', function() {
|
||
$('#bind_obj_req_bg').fadeOut(300);
|
||
$('#bind_obj_req').toggle(100);
|
||
$("body").removeClass("lock");
|
||
|
||
return false;
|
||
});
|
||
|
||
$("body").on('click', '#confirmation__req_client_bg .closer', function() {
|
||
close_confirmation__req_client();
|
||
|
||
});
|
||
|
||
$('#customFieldsFilters .block-title, #customFieldsInputsForm .block-title').click(function(event) {
|
||
$(this).parents('.fields-inputs').find('.fields').fadeOut(300);
|
||
$(this).parents('.fields-inputs').find(' .block-title').removeClass('active');
|
||
$(this).parents('.fields-inputs').find(' .block-title span').addClass('ti-angle-down').removeClass('ti-angle-up');
|
||
$(this).addClass('active');
|
||
|
||
if ($(this).next('.fields').css('display') == "none") {
|
||
$(this).find('span').addClass('ti-angle-up').removeClass('ti-angle-down');
|
||
$(this).next('.fields').fadeIn(300);
|
||
} else {
|
||
$(this).find('span').addClass('ti-angle-down').removeClass('ti-angle-up');
|
||
$(this).next('.fields').fadeOut(300);
|
||
}
|
||
});
|
||
//$('#customFieldsFilters .fields-inputs').first().find('.block-title').click();
|
||
$('#customFieldsInputsForm .block-title').first().click();
|
||
|
||
$('body').on('click', '#add_obj_clear_client', function() {
|
||
|
||
$('#object-new-client-req').addClass('hidden');
|
||
$('#object-new-client-req span').text('');
|
||
$('#object-new-client-req [name=sobstv_object_req]').val(0);
|
||
$('#object-new-client-req [name=sobstv_object_req_funnel]').val(0);
|
||
if ($('#object-new-client').length > 0) {
|
||
$('#object-new-client').fastselect().data('fastselect').destroy();
|
||
$('#object-new-client').val('');
|
||
$('#object-new-client').removeAttr('data-initial-value');
|
||
$('#object-new-client').data('initial-value', null);
|
||
$('#object-new-client').removeAttr('value');
|
||
$('.fstResultItem').removeClass('fstSelected');
|
||
|
||
$('#object-new-client').fastselect({
|
||
placeholder: 'Клиент',
|
||
initialValue: null,
|
||
onItemSelect: function(item, val) {
|
||
bindObjReq();
|
||
},
|
||
});
|
||
}
|
||
});
|
||
|
||
$('body').on('click', '#bind_obj_req .new_req', function() {
|
||
var client_id = $(this).attr('data-id');
|
||
console.log(client_id);
|
||
if (client_id > 0) {
|
||
$('#object-new-client-req').removeClass('hidden');
|
||
$('#object-new-client-req span').text("Будет создана новая заявка");
|
||
$('#object-new-client-req input[name=sobstv_object_req]').val('new');
|
||
var funnel_id = $('#bind_obj_req-funnel').val();
|
||
$('#object-new-client-req input[name=sobstv_object_req_funnel]').val(funnel_id);
|
||
}
|
||
$('#bind_obj_req_bg').fadeOut(300);
|
||
$('#bind_obj_req').fadeOut(100);
|
||
$("body").removeClass("lock");
|
||
|
||
return false;
|
||
|
||
})
|
||
|
||
$('body').on('click', '#bind_obj_req .old_req', function() {
|
||
var client_id = $(this).attr('data-id');
|
||
|
||
$('#bind_obj_req_bg').fadeOut(300);
|
||
$('#bind_obj_req').fadeOut(100);
|
||
$("body").removeClass("lock");
|
||
$('#liReq').click();
|
||
|
||
return false;
|
||
|
||
})
|
||
|
||
$('body').on('click', ".change_req", function(e) {
|
||
// console.log(e.target);
|
||
if ($(e.target).closest(".actions").length == 0 &&
|
||
$(e.target).closest(".crm__small-stagebar").length == 0 &&
|
||
!$(e.target).hasClass("toggleClient") &&
|
||
$(e.target).closest(".col").length == 0
|
||
) {
|
||
var index = $(this).attr("data-id");
|
||
|
||
var req_id = requisitions_client.req[index].id;
|
||
if($('#object-new-client-req').length > 0){
|
||
$('#object-new-client-req').removeClass('hidden');
|
||
$('#object-new-client-req span').text("Объект будет прикреплен к заявке " + requisitions_client.req[index].name);
|
||
$('#object-new-client-req [name=sobstv_object_req]').val(req_id);
|
||
}
|
||
|
||
if(typeof client_req_bind == 'object' && client_req_bind.is_show){
|
||
client_req_bind.change_req(requisitions_client.req[index]);
|
||
}
|
||
$('#send_bg_new').fadeOut(500);
|
||
$("#send_bg_new .edit-modal").fadeOut(10);
|
||
$("body").removeClass("lock");
|
||
|
||
}
|
||
|
||
})
|
||
|
||
$('body').on('click', '#client_req_list_open', function() {
|
||
$('#liReq').click();
|
||
})
|
||
|
||
$('body').on('click', '.add-new-complex', function() {
|
||
if (typeof complexform == 'object') {
|
||
complexform.open();
|
||
}
|
||
})
|
||
|
||
$('body').on('click', '#obj_my_obj_moderation', function() {
|
||
$('.active-ag').removeClass('selected');
|
||
$('#obj_my_obj_moderation').addClass('selected');
|
||
q__001();
|
||
})
|
||
|
||
$('body').on('click', '#obj_my_obj_no_moderation', function() {
|
||
$('.active-ag').removeClass('selected');
|
||
$('#obj_my_obj_no_moderation').addClass('selected');
|
||
q__001();
|
||
})
|
||
|
||
|
||
$("body").on("change", "#is_cian_bet", function(){
|
||
if($(this).prop('checked')){
|
||
$('#objects_filter_cian_bet_block').removeClass('hidden');
|
||
} else {
|
||
$('#objects_filter_cian_bet_block').addClass('hidden');
|
||
$('#objects_filter_cian_bet_ot').val('');
|
||
$('#objects_filter_cian_bet_do').val('');
|
||
}
|
||
})
|
||
|
||
$("body").on("change", "#checkdox_avito_feed_all", function(){
|
||
if($(this).prop('checked') === false){
|
||
switchCanAvitoAd(this);
|
||
}
|
||
})
|
||
|
||
$("body").on("change", "#checkdox_cian_feed_all", function(){
|
||
if($(this).prop('checked') === false){
|
||
switchCanCianAd(this);
|
||
}
|
||
})
|
||
|
||
$("body").on("change", "#checkdox_yandex_feed_all", function(){
|
||
if($(this).prop('checked') === false){
|
||
switchBnAd(this);
|
||
}
|
||
})
|
||
|
||
$("body").on("change", "#checkdox_dom_feed_all", function(){
|
||
if($(this).prop('checked') === false){
|
||
switchDomAd(this);
|
||
}
|
||
})
|
||
|
||
$("body").on("change", "#checkdox_free_feed_all", function(){
|
||
if($(this).prop('checked') === false){
|
||
switchCanAd(this);
|
||
}
|
||
})
|
||
|
||
$("body").on("change", "#checkdox_jcat_feed_all", function(){
|
||
if($(this).prop('checked') === false){
|
||
switchCanEmlsAd(this);
|
||
}
|
||
})
|
||
|
||
$("body").on("change", "#checkdox_advert_all", function(){
|
||
if($(this).prop('checked') === false){
|
||
advertsSwitch(this);
|
||
}
|
||
})
|
||
|
||
var is_change_cian_bet = false;
|
||
$("body").on('input', '.change_cian_bet', function(e) {
|
||
|
||
var object_id = this.getAttribute('data-id');
|
||
// console.log(object_id);
|
||
|
||
if (!is_change_cian_bet) {
|
||
is_change_cian_bet = true;
|
||
setTimeout(function(){
|
||
|
||
if(object_id > 0 || object_id == 'all') {
|
||
params = {};
|
||
params.object_id = object_id;
|
||
params.user_id = $('#session_user_id').val();
|
||
|
||
|
||
price = $('#cian_bet_input_promo_'+object_id).val();
|
||
if(isEmpty(price)) price = 0;
|
||
params.cian_bet = price;
|
||
$.ajax({
|
||
url: '/ajax/addPromotion.php',
|
||
method: "post",
|
||
data: params,
|
||
success: function(data) {
|
||
console.log(data);
|
||
//let results = JSON.parse(data);
|
||
is_change_cian_bet = false;
|
||
},
|
||
error: function(XMLHttpRequest, textStatus, errorThrown) {
|
||
console.log("eRROR: " + errorThrown + "; status:" + textStatus);
|
||
}
|
||
});
|
||
}
|
||
}, 2000);
|
||
}
|
||
})
|
||
|
||
|
||
var is_change_price = false;
|
||
$("body").on('input', '.change_price', function(e) {
|
||
|
||
var object_id = this.getAttribute('data-id');
|
||
// console.log(object_id);
|
||
var place = $(this).attr('data-place');
|
||
console.log(place);
|
||
if (!is_change_price) {
|
||
is_change_price = true;
|
||
setTimeout(function(){
|
||
|
||
if(object_id == 'all') {
|
||
params = {};
|
||
params.object_id = object_id;
|
||
params.user_id = $('#session_user_id').val();
|
||
|
||
if(place == 'cian'){
|
||
price = $('#cian_promo_price_all').val();
|
||
if(isEmpty(price)) price = 0;
|
||
params.cian_price = price;
|
||
}
|
||
|
||
if(place == 'avito'){
|
||
price = $('#avito_promo_price_all').val();
|
||
if(isEmpty(price)) price = 0;
|
||
params.avito_price = price;
|
||
}
|
||
|
||
if(place == 'yandex'){
|
||
price = $('#yandex_promo_price_all').val();
|
||
if(isEmpty(price)) price = 0;
|
||
params.yandex_price = price;
|
||
}
|
||
|
||
if(place == 'domclick'){
|
||
price = $('#domclick_promo_price_all').val();
|
||
if(isEmpty(price)) price = 0;
|
||
params.domclick_price = price;
|
||
}
|
||
|
||
$.ajax({
|
||
url: '/ajax/addPromotion.php',
|
||
method: "post",
|
||
data: params,
|
||
success: function(data) {
|
||
console.log(data);
|
||
//let results = JSON.parse(data);
|
||
is_change_price = false;
|
||
},
|
||
error: function(XMLHttpRequest, textStatus, errorThrown) {
|
||
console.log("eRROR: " + errorThrown + "; status:" + textStatus);
|
||
}
|
||
});
|
||
}
|
||
}, 2000);
|
||
}
|
||
})
|
||
|
||
|
||
$("body").on('click', '.open-edit-price', function () {
|
||
let agency_id = $('#session_agency_id').val();
|
||
const obj = JSON.parse($(this).attr('data-obj'));
|
||
const select_currency = obj && obj.prices && obj.prices.currency ? obj.prices.currency : 0;
|
||
const price_avito = obj && obj.prices && obj.prices.price_avito ? obj.prices.price_avito : '';
|
||
const commission_agency = obj && obj.commission_agency && obj.commission_agency ? obj.commission_agency : 0;
|
||
const commission_agency_type = obj && obj.commission_agency_type && obj.commission_agency_type ? obj.commission_agency_type : 'percent';
|
||
|
||
let currencyAznOptions = '';
|
||
if (agency_id == 20079) {
|
||
currencyAznOptions = `<option value="3" ${select_currency == 3 ? 'selected' : ''}>AZN</option>`;
|
||
}
|
||
|
||
$('#edit-object-price-popup').remove();
|
||
|
||
$(this).parent().append(`
|
||
<div style="width: 500px; position: absolute; background: white; z-index: 110; border: 1px solid rgb(67, 160, 71);display: flex ; flex-direction: column; top: -290px; left: 130px; box-shadow: rgba(0, 0, 0, 0.35) 0px 5px 15px;" id="edit-object-price-popup">
|
||
<div style="display: flex; justify-content: space-between;">
|
||
<h2 style="padding: 20px; width: unset;">
|
||
Изменить цену и комиссию
|
||
</h2>
|
||
<span class="pseudo-link closer"><i class="ti-close"></i></span>
|
||
</div>
|
||
<div class="form-block funnel-client-block" style="width: unset; display: flex; flex-direction: column; align-items: center; padding: 20px; margin: 0">
|
||
<div class="form-block">
|
||
<div class="line price" style="display: flex; justify-content: space-between; width: unset; border-right: unset;">
|
||
<div class="label">
|
||
<span>Цена: <span class="star" style="color: red; font-size: 20px;">*</span></span>
|
||
</div>
|
||
<div class="inputs" style="display: flex; width: 280px;">
|
||
<div class="fr-input fr-price" style="width: 200px; padding: 5px; margin-right: 4px;">
|
||
<input style="font-size: 18px; text-align: left;" type="text" id="stoim_ot" class="text price medium-input money-format" name="stoim_ot" placeholder="от" value="${(obj) ? obj.stoim : ''}">
|
||
</div>
|
||
|
||
<select style="font-size: 18px;" onchange="selectObjectPopupCurrencyPrice();" style="float:left;" id="select_currency_price" name="prices[currency]">
|
||
<option value="0" ${(select_currency == 0) ? 'selected' : ''}>RUB</option>
|
||
<option value="1" ${(select_currency == 1) ? 'selected' : ''}>USD</option>
|
||
<option value="2" ${(select_currency == 2) ? 'selected' : ''}>EUR</option>
|
||
${currencyAznOptions}
|
||
</select>
|
||
</div>
|
||
</div>
|
||
|
||
<div id="price_avito_rub" style="${select_currency == 0 ? 'display:none;' : 'display: flex;'} justify-content: space-between;">
|
||
<div class="label">
|
||
<span>Цена в рублях для Avito</span>
|
||
</div>
|
||
<div class="inputs" style="display: flex; width: auto; margin-top: 15px; margin-bottom: 15px;">
|
||
<div class="fr-input fr-price" style="width: 200px; padding: 5px; margin-right: 4px;">
|
||
<input style="font-size: 18px; text-align: left; width: 200px !important;" type="text" id="price_avito_rub_inp" class="text price medium-input money-format" name="prices[price_avito]"
|
||
value="${price_avito}"
|
||
>
|
||
</div>
|
||
|
||
<span class="area-label-right" style="font-size: 18px; width: 65px;">руб.</span>
|
||
</div>
|
||
</div>
|
||
|
||
<div class="commission-cost" style="display: flex; justify-content: space-between; width:">
|
||
<div class="label">
|
||
<span id="commission_agency-label">Наша комиссия:</span>
|
||
</div>
|
||
<div class="inputs" style="display: flex; width: 285px; height: 34px; unset; align-items: center;">
|
||
<div class="inputs-group" style="width: 200px; padding: 5px;">
|
||
<input type="number" style="float: left;" class="number text small-input rooms" min="0" max="100" step="0.01" name="commission_agency" id="commission_agency" value="${commission_agency}">
|
||
</div>
|
||
<select style="float:left;" id="commission_agency_type" name="commission_agency_type">
|
||
<option value="price" ${(commission_agency_type === 'price') ? 'selected' : ''}>Сумма</option>
|
||
<option value="percent" ${(commission_agency_type === 'percent') ? 'selected' : ''}>%</option>
|
||
</select>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
<button id="edit-object-price-button" data-obj='' class="big-button" type="submit">Сохранить</button>
|
||
</div>
|
||
`);
|
||
$("#edit-object-price-button").attr("data-obj", $(this).attr('data-obj'));
|
||
});
|
||
|
||
$("body").on('click', '#edit-object-price-popup .closer', function () {
|
||
$('#edit-object-price-popup').remove();
|
||
});
|
||
|
||
$("body").on('click', '#edit-object-price-button', function () {
|
||
const obj = JSON.parse($(this).attr('data-obj'));
|
||
const stoim_ot = parseInt($('#stoim_ot').val(), 10)
|
||
const currency = parseInt($('#select_currency_price').val(), 10)
|
||
const price_avito = parseInt($('#price_avito_rub_inp').val(), 10)
|
||
const commission_agency = $('#commission_agency').val()
|
||
const commission_agency_type = $('#commission_agency_type').val()
|
||
|
||
const params = {
|
||
...obj,
|
||
stoim_ot,
|
||
commission_agency,
|
||
commission_agency_type,
|
||
prices: {
|
||
...obj.prices,
|
||
price_avito,
|
||
currency,
|
||
}
|
||
}
|
||
|
||
if (currency == 0 && !stoim_ot) {
|
||
$('#stoim_ot').parent().addClass('invalid');
|
||
return;
|
||
} else if (currency !== 0 && (!stoim_ot || !price_avito)) {
|
||
if (!stoim_ot) {
|
||
$('#stoim_ot').parent().addClass('invalid');
|
||
}
|
||
if (!price_avito) {
|
||
$('#price_avito_rub_inp').parent().addClass('invalid')
|
||
}
|
||
|
||
return;
|
||
}
|
||
|
||
$.ajax({
|
||
url: '/ajax/ajax_edit_object.php',
|
||
method: "post",
|
||
data: params,
|
||
success: function(data) {
|
||
let currency = 'p';
|
||
|
||
data = JSON.parse(data)
|
||
if (data.prices.hasOwnProperty('currency')) {
|
||
if (parseInt(data.prices.currency, 10) === 1) {
|
||
currency = '$';
|
||
} else if (parseInt(data.prices.currency, 10) === 2) {
|
||
currency = '€';
|
||
}
|
||
}
|
||
|
||
if (stoim_ot != obj.stoim)
|
||
{
|
||
let priceStats = "<tr>";
|
||
|
||
// Дата изменения цены
|
||
priceStats += "<td nowrap>";
|
||
priceStats += '<p class="price-history">';
|
||
priceStats += new Date().toLocaleDateString('ru-RU', {
|
||
day: '2-digit',
|
||
month: '2-digit',
|
||
year: 'numeric'
|
||
});
|
||
priceStats += '</p>';
|
||
priceStats += "</td>";
|
||
|
||
// Информация о цене
|
||
priceStats += "<td nowrap>";
|
||
priceStats += '<p class="price-history">';
|
||
priceStats += new Intl.NumberFormat('ru-RU').format(data.stoim) + ' <span class="rub rub_small">' + currency + '</span>';
|
||
priceStats += '</p>';
|
||
priceStats += "</td>";
|
||
priceStats += "</tr>";
|
||
|
||
$(`.table_price_history--${data.id}`).append(priceStats)
|
||
}
|
||
|
||
$(`.stoim--${data.id}`).html(Math.round(data.stoim).toString().replace(/\B(?=(\d{3})+(?!\d))/g, ' '))
|
||
|
||
let price = data.commission_agency;
|
||
if (data.commission_agency_type === 'percent') {
|
||
price = (parseInt(data.stoim, 10) * parseFloat(data.commission_agency)) / 100;
|
||
}
|
||
|
||
if (data.type == 7) {
|
||
let stoim = parseFloat(data.stoim);
|
||
let landArea = parseFloat(data.land_area);
|
||
|
||
if (!isNaN(stoim) && !isNaN(landArea) && landArea > 0) {
|
||
let result = Math.round(stoim / landArea);
|
||
$(`.land_area--${data.id}`).html(result.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ' '));
|
||
}
|
||
}
|
||
else {
|
||
if (data.id && !isNaN(data.stoim) && !isNaN(data.ploshad) && data.ploshad > 0) {
|
||
let result = Math.round(data.stoim / data.ploshad);
|
||
$(`.ploshad--${data.id}`).html(result.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ' '));
|
||
}
|
||
}
|
||
|
||
$('#edit-object-price-popup').remove();
|
||
$(`.open-edit-price--${data.id}`).attr('data-obj', JSON.stringify(data))
|
||
|
||
if ($(`#commission_stats_td__${data.id}`).length > 0) {
|
||
$(`#commission_stats_div__${data.id}`).remove();
|
||
$(`#commission_stats_td__${data.id}`).css('width', '25%');
|
||
if ($(`#ti-info-alt--${data.id}`).length > 0) {
|
||
$(`#ti-info-alt--${data.id}`).after(
|
||
`
|
||
<div class="source-how" id="commission_stats_div__${data.id}">
|
||
<div class="source-how__button">
|
||
<i class="fa fa-percent"></i>
|
||
</div>
|
||
<div class="jw__popup source-how__popup"><p><b>Kомиссия</b></p>
|
||
<table class="table_commission_history">
|
||
<tbody>
|
||
<tr>
|
||
<td class="price-stats">Текущая:</td>
|
||
<td class="price-stats commission--agency--${data.id}">
|
||
${new Intl.NumberFormat('ru-RU').format(price)}
|
||
<span class="rub rub_small">${currency}</span>
|
||
</td>
|
||
</tr>
|
||
</tbody>
|
||
</table>
|
||
</div>
|
||
</div>
|
||
`
|
||
);
|
||
} else {
|
||
$(`#commission_stats_td__${data.id}`).prepend(
|
||
`
|
||
<div class="source-how" id="commission_stats_div__${data.id}">
|
||
<div class="source-how__button">
|
||
<i class="fa fa-percent"></i>
|
||
</div>
|
||
<div class="jw__popup source-how__popup"><p><b>Kомиссия</b></p>
|
||
<table class="table_commission_history">
|
||
<tbody>
|
||
<tr>
|
||
<td class="price-stats">Текущая:</td>
|
||
<td class="price-stats commission--agency--${data.id}">
|
||
${new Intl.NumberFormat('ru-RU').format(price)}
|
||
<span class="rub rub_small">${currency}</span>
|
||
</td>
|
||
</tr>
|
||
</tbody>
|
||
</table>
|
||
</div>
|
||
</div>
|
||
`
|
||
);
|
||
}
|
||
}
|
||
else {
|
||
$(`.commission--agency--${data.id}`).html(
|
||
new Intl.NumberFormat('ru-RU').format(price) + ' <span class="rub rub_small">' + currency + '</span>'
|
||
)
|
||
}
|
||
},
|
||
error: function(XMLHttpRequest, textStatus, errorThrown) {
|
||
console.error("error: " + errorThrown + "; status:" + textStatus);
|
||
}
|
||
});
|
||
})
|
||
|
||
|
||
$('body').on('click', '#edit_expected_commission_req', function(){
|
||
|
||
$('#edit_expected_commission_req').hide();
|
||
$('#edit_expected_commission_req_input').show();
|
||
$('#edit_expected_commission_req_save').show();
|
||
})
|
||
|
||
$('body').on('click', '#edit_expected_commission_req_save', function(){
|
||
let req_id = $(this).attr("data-id");
|
||
let value = $('#edit_expected_commission_req_input').val();
|
||
axios.post('/ajax/ajax_vue_requisitions.php', {
|
||
request: 'edit_req_finance_info',
|
||
field: 'expected_commission',
|
||
user_id: $('#session_user_id').val(),
|
||
req_id: req_id,
|
||
value: value
|
||
})
|
||
.then(function(response) {
|
||
console.log(response.data);
|
||
get_finance_info(req_id);
|
||
})
|
||
.catch(function(error) {
|
||
consle.error(error);
|
||
});
|
||
//get_finance_info(req_id);
|
||
})
|
||
|
||
$('body').on('click', '#edit_deposit_req', function(){
|
||
|
||
$('#edit_deposit_req').hide();
|
||
$('#edit_deposit_req_input').show();
|
||
$('#edit_deposit_req_save').show();
|
||
})
|
||
|
||
$('body').on('click', '#edit_deposit_req_save', function(){
|
||
let req_id = $(this).attr("data-id");
|
||
let value = $('#edit_deposit_req_input').val();
|
||
let deposit_id = $(this).attr("data-deposit");
|
||
axios.post('/ajax/ajax_vue_requisitions.php', {
|
||
request: 'edit_req_finance_info',
|
||
field: 'deposit',
|
||
user_id: $('#session_user_id').val(),
|
||
req_id: req_id,
|
||
value: value,
|
||
deposit_id: deposit_id
|
||
})
|
||
.then(function(response) {
|
||
console.log(response.data);
|
||
get_finance_info(req_id);
|
||
})
|
||
.catch(function(error) {
|
||
consle.error(error);
|
||
});
|
||
//get_finance_info(req_id);
|
||
})
|
||
|
||
$('body').on('click', '#toggle_block_expenses', function(){
|
||
console.log($('#div_toggle_block_expenses').css('display'));
|
||
if($('#div_toggle_block_expenses').css('display') == 'none')
|
||
$('#div_toggle_block_expenses').show();
|
||
else
|
||
$('#div_toggle_block_expenses').hide();
|
||
})
|
||
|
||
$('body').on('click', '.edit_expense_req', function(){
|
||
let id = $(this).attr("data-id");
|
||
$('#edit_expense_req_'+id).hide();
|
||
$('#edit_expense_req_input_'+id).show();
|
||
$('#edit_expense_req_save_'+id).show();
|
||
$('#edit_expense_req_textarea_'+id).show();
|
||
})
|
||
|
||
$('body').on('click', '.edit_expense_req_save', function(){
|
||
|
||
let req_id = $(this).attr("data-id");
|
||
|
||
let expense_id = $(this).attr("data-expense");
|
||
let value = $('#edit_expense_req_input_'+expense_id).val();
|
||
let comment = $('#edit_expense_req_textarea_'+expense_id).val();
|
||
axios.post('/ajax/ajax_vue_requisitions.php', {
|
||
request: 'edit_req_finance_info',
|
||
field: 'expense',
|
||
user_id: $('#session_user_id').val(),
|
||
req_id: req_id,
|
||
value: value,
|
||
comment: comment,
|
||
expense_id: expense_id
|
||
})
|
||
.then(function(response) {
|
||
console.log(response.data);
|
||
get_finance_info(req_id);
|
||
})
|
||
.catch(function(error) {
|
||
consle.error(error);
|
||
});
|
||
})
|
||
|
||
|
||
});
|
||
|
||
|
||
function view_changer_client(view){
|
||
console.log(view);
|
||
let temp_view = 'list';
|
||
$('.view_changer_client').each(function(){
|
||
if($(this).prop('checked')){
|
||
temp_view = $(this).attr('data-view');
|
||
}
|
||
});
|
||
|
||
if(view !== temp_view){
|
||
|
||
$('.view-changer .item-for-check').removeClass('active');
|
||
$('.view_changer_client').prop('checked', false);
|
||
switch (view){
|
||
case 'list' : {
|
||
$('#view_changer_client_list').prop('checked', true);
|
||
$('#view_checked_client_list').addClass('active');
|
||
$('.view-list').click();
|
||
break
|
||
}
|
||
case 'kanban' : {
|
||
$('#view_changer_client_kanban').prop('checked', true);
|
||
$('#view_checked_client_kanban').addClass('active');
|
||
$('.view-kanban').click();
|
||
break
|
||
}
|
||
case 'table' : {
|
||
$('#view_changer_client_table').prop('checked', true);
|
||
$('#view_checked_client_table').addClass('active');
|
||
$('.view-table').click();
|
||
break
|
||
}
|
||
}
|
||
|
||
axios.post('/ajax/ajax_vue_clients.php', {
|
||
request: 'set_view_page',
|
||
view: view,
|
||
}, ).then((response) => {
|
||
console.log(response.data);
|
||
//this.steps = response.data;
|
||
}).catch(function(error) {
|
||
console.error(error);
|
||
})
|
||
}
|
||
}
|
||
|
||
function to_check_client_all() {
|
||
$('#changeClientAllFilter').prop('checked', false);
|
||
$('#changeClientAllFilterDiv').removeClass('active');
|
||
if ($('#changeClientAll').prop('checked')) {
|
||
$('#changeClientAll').prop('checked', false);
|
||
$('#changeClientAllDiv').removeClass('active');
|
||
var check = false;
|
||
$('.changeClientInput').prop('checked', check);
|
||
$('.changeClientInput').each(function() {
|
||
var id = $(this).data("id");
|
||
$('#checked-clt' + id).removeClass('active');
|
||
});
|
||
$('#client_toltip_text').text("Выделить всех клиентов на странице");
|
||
} else {
|
||
$('#changeClientAll').prop('checked', true);
|
||
$('#changeClientAllDiv').addClass('active');
|
||
var check = true;
|
||
$('.changeClientInput').prop('checked', check);
|
||
$('.changeClientInput').each(function() {
|
||
var id = $(this).data("id");
|
||
$('#checked-clt' + id).addClass('active');
|
||
});
|
||
$('#client_toltip_text').text("Снять выделение у всех клиентов на странице");
|
||
}
|
||
}
|
||
|
||
function to_check_client_all_filter() {
|
||
$('#changeClientAll').prop('checked', false);
|
||
$('#changeClientAllDiv').removeClass('active');
|
||
var check = false;
|
||
$('.changeClientInput').prop('checked', check);
|
||
$('.changeClientInput').each(function() {
|
||
var id = $(this).attr("data-id");
|
||
$('#checked-clt' + id).removeClass('active');
|
||
});
|
||
$('#client_toltip_text').text("Выделить всех клиентов на странице");
|
||
//console.log($('#changeClientAllFilter').prop('checked'));
|
||
if ($('#changeClientAllFilter').prop('checked')) {
|
||
$('#changeClientAllFilter').prop('checked', false);
|
||
$('#changeClientAllFilterDiv').removeClass('active');
|
||
var check = false;
|
||
$('.changeClientInput').prop('checked', check);
|
||
$('.changeClientInput').each(function() {
|
||
var id = $(this).attr("data-id");
|
||
$('#checked-clt' + id).removeClass('active');
|
||
});
|
||
} else {
|
||
$('#changeClientAllFilter').prop('checked', true);
|
||
$('#changeClientAllFilterDiv').addClass('active');
|
||
check_client_all_filter();
|
||
}
|
||
}
|
||
|
||
function check_client_all_filter() {
|
||
if ($('#changeClientAllFilter').prop('checked')) {
|
||
var check = true;
|
||
$('.changeClientInput').prop('checked', check);
|
||
|
||
$('.changeClientInput').each(function() {
|
||
var id = $(this).attr("data-id");
|
||
if (id === undefined) {
|
||
$(this).prop('checked', false);
|
||
}
|
||
|
||
$('#checked-clt' + id).addClass('active');
|
||
});
|
||
}
|
||
}
|
||
|
||
function reCreateFilterEtapClients() {
|
||
$('#filter_etap').fastselect({
|
||
placeholder: 'Этап',
|
||
onItemSelect: function() {
|
||
show_options_search();
|
||
page_kanban = 1;
|
||
add_knban = true;
|
||
//get_list();
|
||
},
|
||
onItemDelete: function() {
|
||
show_options_search();
|
||
page_kanban = 1;
|
||
add_knban = true;
|
||
//get_list();
|
||
}
|
||
});
|
||
}
|
||
|
||
// Партнёры агенства
|
||
$(document).ready(function() {
|
||
|
||
function showEditPartner(reset, functionAfterShow) {
|
||
$.ajax({
|
||
url: '/ajax/modals/partnerAddEditWinContent.php',
|
||
success: function (data) {
|
||
$("#partner_form_bg").html(data);
|
||
let form = $("#partner_form");
|
||
form.find('.error_msg').hide();
|
||
form.toggle(10);
|
||
|
||
if (reset) {
|
||
form.find('form').trigger("reset");
|
||
form.find('textarea').empty();
|
||
form.find('#partner_files_list').empty();
|
||
form.find('[name="partner_id"]').val('');
|
||
form.find('.files input[type="file"]').closest('.form-block').remove();
|
||
form.find('.jw-tabs .tabs__caption li').removeClass('active');
|
||
form.find('.jw-tabs .tabs__caption li').first().addClass('active');
|
||
form.find('.jw-tabs .tabs__content').hide();
|
||
form.find('.jw-tabs .tabs__content').first().show();
|
||
}
|
||
if (functionAfterShow && (typeof functionAfterShow == "function")) {
|
||
functionAfterShow();
|
||
}
|
||
$("#partner_form_bg").fadeIn(500);
|
||
$("body").addClass("lock");
|
||
form.find('[name="show_complexes"]').change(function(){
|
||
if($(this).prop('checked')){
|
||
var who_user = $('#session_user_id').val();
|
||
var funnel_id = 0;
|
||
$('#ms-new-client-work-partner-input').closest('.form-block').show();
|
||
$('#ms-new-funnel-partner-input').closest('.form-block').show();
|
||
$('#ms-new-client-work-client-partner-input').closest('.form-block').show();
|
||
$('#ms-new-funnel-client-partner-input').closest('.form-block').show();
|
||
setSelectsFastselect('ms-new-client-work-partner', who_user, 'select_form_client-work.php', 'Ответственный');
|
||
setSelectsFastselect('ms-new-funnel-partner', funnel_id, 'select_form_funnel.php', 'Воронка', 'req');
|
||
setSelectsFastselect('ms-new-client-work-client-partner', who_user, 'select_form_client-work.php', 'Ответственный');
|
||
setSelectsFastselect('ms-new-funnel-client-partner', funnel_id, 'select_form_funnel.php', 'Воронка', 'client');
|
||
|
||
} else {
|
||
$('#ms-new-client-work-partner-input').closest('.form-block').hide();
|
||
$('#ms-new-funnel-partner-input').closest('.form-block').hide();
|
||
$('#ms-new-client-work-client-partner-input').closest('.form-block').hide();
|
||
$('#ms-new-funnel-client-partner-input').closest('.form-block').hide();
|
||
$('#ms-new-client-work-partner-input').html('<img src="../images/rocket-spinner.svg" width="45px">');
|
||
$('#ms-new-funnel-partner-input').html('<img src="../images/rocket-spinner.svg" width="45px">');
|
||
$('#ms-new-client-work-client-partner-input').html('<img src="../images/rocket-spinner.svg" width="45px">');
|
||
$('#ms-new-funnel-client-partner-input').html('<img src="../images/rocket-spinner.svg" width="45px">');
|
||
}
|
||
})
|
||
setTimeout(() => {
|
||
$("#partnerPhone1").mask("+79999999999");
|
||
$("#partnerPhone2").mask("+79999999999");
|
||
|
||
}, 1000);
|
||
},
|
||
error: function (XMLHttpRequest, textStatus, errorThrown) {
|
||
console.log("eRROR: " + errorThrown + "; status:" + textStatus);
|
||
}
|
||
});
|
||
}
|
||
|
||
function showEditEmployee(reset, functionAfterShow) {
|
||
$.ajax({
|
||
url: '/ajax/modals/employeeAddEditWinContent.php',
|
||
success: function(data) {
|
||
$("#employee_form_bg").html(data);
|
||
let form = $("#employee_form");
|
||
form.find('.error_msg').hide();
|
||
form.toggle(10);
|
||
|
||
if (reset) {
|
||
form.find('form').trigger("reset");
|
||
form.find('textarea').empty();
|
||
form.find('#employee_files_list').empty();
|
||
form.find('[name="employee_id"]').val('');
|
||
form.find('.files input[type="file"]').closest('.form-block').remove();
|
||
form.find('.jw-tabs .tabs__caption li').removeClass('active');
|
||
form.find('.jw-tabs .tabs__caption li').first().addClass('active');
|
||
form.find('.jw-tabs .tabs__content').hide();
|
||
form.find('.jw-tabs .tabs__content').first().show();
|
||
|
||
var html = '<select id="ms-new-employee-partner" name="partner_id" class="ms-crm-employee-partner">' + $("#ms-new-employee-partner").html() + '</select>';
|
||
$("#ms-new-employee-partner").closest(".inputs").html(html);
|
||
|
||
$.ajax({
|
||
url: '/ajax/getMyPartners.php',
|
||
success: function(results) {
|
||
let partners = JSON.parse(results);
|
||
|
||
$("#ms-new-employee-partner option:not(:eq(0))").remove();
|
||
partners.forEach(function(partner, indx) {
|
||
if (partner.resident)
|
||
$("#ms-new-employee-partner").append('<option value="' + partner.id + '">' + partner.name + ', ' + partner.resident + '</option>');
|
||
else
|
||
$("#ms-new-employee-partner").append('<option value="' + partner.id + '">' + partner.name + '</option>');
|
||
});
|
||
$("#ms-new-employee-partner option:eq(0)").prop("selected", true);
|
||
|
||
if (functionAfterShow && (typeof functionAfterShow == "function")) {
|
||
functionAfterShow();
|
||
}
|
||
$("#employee_form_bg").fadeIn(500);
|
||
$("body").addClass("lock");
|
||
setTimeout(() => {
|
||
$("#employeePhone1").mask("+79999999999");
|
||
$("#employeePhone2").mask("+79999999999");
|
||
}, 1000);
|
||
}
|
||
});
|
||
|
||
$("#ms-new-employee-partner").fastselect({ placeholder: 'Компания-партнёр' });
|
||
|
||
} else {
|
||
if (functionAfterShow && (typeof functionAfterShow == "function")) {
|
||
functionAfterShow();
|
||
}
|
||
$("#employee_form_bg").fadeIn(500);
|
||
$("body").addClass("lock");
|
||
setTimeout(() => {
|
||
$("#employeePhone1").mask("+79999999999");
|
||
$("#employeePhone2").mask("+79999999999");
|
||
}, 1000);
|
||
}
|
||
}
|
||
});
|
||
}
|
||
|
||
$("body").on('click', '#add_partner', function() {
|
||
showEditPartner(true, function() {});
|
||
return false;
|
||
});
|
||
|
||
$("body").on('click', '#add_employee', function() {
|
||
showEditEmployee(true, function() {});
|
||
return false;
|
||
});
|
||
|
||
$("body").on('click', '.editPartner', function() {
|
||
var id = $(this).attr('data-id');
|
||
showEditPartner(true, function() {
|
||
editPartner(id, '#addNewPartner');
|
||
});
|
||
return false;
|
||
});
|
||
|
||
$("body").on('click', '.editEmployee', function() {
|
||
var id = $(this).attr('data-id');
|
||
showEditEmployee(true, function() {
|
||
editEmployee(id, '#addNewEmployee');
|
||
});
|
||
return false;
|
||
});
|
||
|
||
$('body').on('click', '#partner_form_bg .ti-close', function() {
|
||
$("#partner_form_bg").hide(10);
|
||
$("#partner_form").hide(10);
|
||
$("body").removeClass("lock");
|
||
});
|
||
$('body').on('click', '#employee_form_bg .ti-close', function() {
|
||
$("#employee_form_bg").hide(10);
|
||
$("#employee_form").hide(10);
|
||
$("body").removeClass("lock");
|
||
});
|
||
$('body').on('click', '#partner_info_bg .ti-close', function() {
|
||
$("#partner_info_bg").hide(10);
|
||
$("#partner_info").hide(10);
|
||
$("body").removeClass("lock");
|
||
});
|
||
$('body').on('click', '#employee_info_bg .ti-close', function() {
|
||
$("#employee_info_bg").hide(10);
|
||
$("#employee_info").hide(10);
|
||
$("body").removeClass("lock");
|
||
});
|
||
$('body').on('click', '#user_info_bg .ti-close', function() {
|
||
$("#user_info_bg").hide(10);
|
||
$("#user_info").hide(10);
|
||
$("body").removeClass("lock");
|
||
});
|
||
|
||
$('body').on('click', '.openClientReqBind', function() {
|
||
if(typeof client_req_bind === 'object'){
|
||
let objectId = $(this).closest('.object_clients').attr("data-oid");
|
||
|
||
client_req_bind.objectId = parseInt(objectId);
|
||
client_req_bind.open();
|
||
}
|
||
});
|
||
});
|
||
|
||
function copyPassword(phone, passwd) {
|
||
if (typeof phone !== "undefined" && typeof passwd !== "undefined") {
|
||
let dummy = document.createElement("textarea");
|
||
document.body.appendChild(dummy);
|
||
dummy.value = "http://partner.piawork.ru/\r\n" + "Логин: " + $(phone).val() + "\r\nПароль: " + $(passwd).val() + "\r\n";
|
||
dummy.select();
|
||
document.execCommand("copy");
|
||
document.body.removeChild(dummy);
|
||
}
|
||
}
|
||
|
||
function generatePassword(selector, length, charset) {
|
||
|
||
let input,
|
||
passwd = "";
|
||
|
||
if (typeof selector !== "undefined")
|
||
input = $(selector);
|
||
|
||
if (typeof length === "undefined")
|
||
length = 12;
|
||
|
||
if (typeof charset === "undefined")
|
||
charset = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789";
|
||
|
||
for (let i = 0, n = charset.length; i < parseInt(length); ++i) {
|
||
passwd += charset.charAt(Math.floor(Math.random() * n));
|
||
}
|
||
|
||
if (input.length > 0) {
|
||
input.val(passwd);
|
||
let form = input.closest('form');
|
||
console.log(form);
|
||
console.log(form.find('input[name="phone"]').last().val());
|
||
if (form.find('input[name="phone"]').last().val()) {
|
||
form.find('a[data-rel="copy-password" ]').show();
|
||
} else {
|
||
form.find('a[data-rel="copy-password" ]').hide();
|
||
}
|
||
}
|
||
|
||
return passwd;
|
||
}
|
||
|
||
function editPartner(id, form) {
|
||
$.ajax({
|
||
url: '/ajax/getPartner.php?id=' + id,
|
||
success: function(results) {
|
||
|
||
let data = JSON.parse(results);
|
||
$(form).trigger("reset");
|
||
$(form).find('textarea').empty();
|
||
$(form).find('a[data-rel="copy-password" ]').hide();
|
||
$(form).find('.files input[type="file"]').closest('.form-block').remove();
|
||
$(form).find('.jw-tabs .tabs__caption li').removeClass('active');
|
||
$(form).find('.jw-tabs .tabs__caption li').first().addClass('active');
|
||
$(form).find('.jw-tabs .tabs__content').hide();
|
||
$(form).find('.jw-tabs .tabs__content').first().show();
|
||
|
||
if (data.name)
|
||
$(form).find('[name="name"]').val(data.name);
|
||
|
||
if (data.address)
|
||
$(form).find('[name="address"]').val(data.address);
|
||
|
||
if (data.resident)
|
||
$(form).find('[name="resident"]').val(data.resident);
|
||
|
||
if (data.details)
|
||
$(form).find('[name="details"]').html(data.details.replace(/<br ?\/?>/ig, "\n"));
|
||
|
||
if (data.fullname)
|
||
$(form).find('[name="fullname"]').val(data.fullname);
|
||
|
||
if (data.email)
|
||
$(form).find('[name="email"]').val(data.email);
|
||
|
||
if (data.phone)
|
||
$(form).find('[name="phone"]').val(data.phone);
|
||
|
||
if (data.position)
|
||
$(form).find('[name="position"]').val(data.position);
|
||
|
||
if (data.birthday)
|
||
$(form).find('[name="birthday"]').val(data.birthday);
|
||
|
||
if (data.birthday_notify == 1)
|
||
$(form).find('[name="birthday_notify"]').prop('checked', true);
|
||
|
||
if (data.show_funnels == 1)
|
||
$(form).find('[name="show_funnels"]').prop('checked', true);
|
||
|
||
if (data.show_cli_events == 1)
|
||
$(form).find('[name="show_cli_events"]').prop('checked', true);
|
||
|
||
if (data.show_req_events == 1)
|
||
$(form).find('[name="show_req_events"]').prop('checked', true);
|
||
if (data.props) {
|
||
if (data.props.legal_name) $(form).find('[name="legal_name"]').val(data.props.legal_name);
|
||
if (data.props.actual_address) $(form).find('[name="actual_address"]').val(data.props.actual_address);
|
||
if (data.props.legal_address) $(form).find('[name="legal_address"]').val(data.props.legal_address);
|
||
|
||
if (data.props.inn) $(form).find('[name="inn"]').val(data.props.inn);
|
||
if (data.props.ogrn) $(form).find('[name="ogrn"]').val(data.props.ogrn);
|
||
if (data.props.kpp) $(form).find('[name="kpp"]').val(data.props.kpp);
|
||
|
||
if (data.props.bank_name) $(form).find('[name="bank_name"]').val(data.props.bank_name);
|
||
if (data.props.bik) $(form).find('[name="bik"]').val(data.props.bik);
|
||
if (data.props.corr_account) $(form).find('[name="corr_account"]').val(data.props.corr_account);
|
||
if (data.props.settlement_account) $(form).find('[name="settlement_account"]').val(data.props.settlement_account);
|
||
|
||
if (data.props.ceo_full_name) $(form).find('[name="ceo_full_name"]').val(data.props.ceo_full_name);
|
||
}
|
||
|
||
//if (data.show_complexes == 1){
|
||
$(form).find('[name="show_complexes"]').prop('checked', true);
|
||
$('#ms-new-client-work-partner-input').closest('.form-block').show();
|
||
$('#ms-new-funnel-partner-input').closest('.form-block').show();
|
||
$('#ms-new-client-work-client-partner-input').closest('.form-block').show();
|
||
$('#ms-new-funnel-client-partner-input').closest('.form-block').show();
|
||
var who_user, who_user_client = $('#session_user_id').val();
|
||
var funnel_id, funnel_id_client = 0;
|
||
if(!isEmpty(data.funnel_id_req)){
|
||
funnel_id = data.funnel_id_req;
|
||
}
|
||
if(!isEmpty(data.who_work_req)){
|
||
who_user = data.who_work_req;
|
||
}
|
||
if(!isEmpty(data.funnel_id_client)){
|
||
funnel_id_client = data.funnel_id_client;
|
||
}
|
||
if(!isEmpty(data.who_work_client)){
|
||
who_user_client = data.who_work_client;
|
||
}
|
||
setSelectsFastselect('ms-new-client-work-partner', who_user, 'select_form_client-work.php', 'Ответственный');
|
||
setSelectsFastselect('ms-new-funnel-partner', funnel_id, 'select_form_funnel.php', 'Воронка', 'req');
|
||
setSelectsFastselect('ms-new-client-work-client-partner', who_user_client, 'select_form_client-work.php', 'Ответственный');
|
||
setSelectsFastselect('ms-new-funnel-client-partner', funnel_id_client, 'select_form_funnel.php', 'Воронка', 'client');
|
||
//}
|
||
|
||
if (data.instagram)
|
||
$(form).find('[name="instagram"]').val(data.instagram);
|
||
|
||
if (data.vkontakte)
|
||
$(form).find('[name="vkontakte"]').val(data.vkontakte);
|
||
|
||
if (data.telegram)
|
||
$(form).find('[name="telegram"]').val(data.telegram);
|
||
|
||
if (data.partner_id)
|
||
$(form).find('[name="partner_id"]').val(data.partner_id);
|
||
|
||
if (data.employee_id)
|
||
$(form).find('[name="employee_id"]').val(data.employee_id);
|
||
|
||
if (typeof data.files !== "undefined") {
|
||
if (data.files.length > 0) {
|
||
$(form).find('#partner_files_list').empty();
|
||
data.files.forEach(function(file, indx) {
|
||
let file_html =
|
||
'<li class="file">' +
|
||
'<a href="ajax/partner_files_download.php?id=' + file.id + '" title="Скачать файл">' +
|
||
'<span class="file-span ti-file"></span> <span class="file-name">' + file.filename + '</span>' +
|
||
'</a>' +
|
||
' <a href="javascript:{};" data-id="' + file.id + '" class="delFile no-border" title="Удалить файл">' +
|
||
'<span class="simple-button delete"><i class="jw-action-icon-delete"></i></span>' +
|
||
'</a>' +
|
||
'</li>';
|
||
$(form).find('#partner_files_list').append($(file_html));
|
||
});
|
||
}
|
||
}
|
||
}
|
||
});
|
||
}
|
||
|
||
function editEmployee(id, form) {
|
||
$.ajax({
|
||
url: '/ajax/getEmployee.php?id=' + id,
|
||
success: function(results) {
|
||
|
||
|
||
let data = JSON.parse(results);
|
||
//console.log(data);
|
||
|
||
$(form).trigger("reset");
|
||
$(form).find('textarea').empty();
|
||
$(form).find('.files input[type="file"]').closest('.form-block').remove();
|
||
$(form).find('.jw-tabs .tabs__caption li').removeClass('active');
|
||
$(form).find('.jw-tabs .tabs__caption li').first().addClass('active');
|
||
$(form).find('.jw-tabs .tabs__content').hide();
|
||
$(form).find('.jw-tabs .tabs__content').first().show();
|
||
|
||
if (data.fullname)
|
||
$(form).find('[name="fullname"]').val(data.fullname);
|
||
|
||
if (data.email)
|
||
$(form).find('[name="email"]').val(data.email);
|
||
|
||
if (data.phone)
|
||
$(form).find('[name="phone"]').val(data.phone);
|
||
|
||
if (data.position)
|
||
$(form).find('[name="position"]').val(data.position);
|
||
|
||
if (data.birthday)
|
||
$(form).find('[name="birthday"]').val(data.birthday);
|
||
|
||
if (data.birthday_notify == 1)
|
||
$(form).find('[name="birthday_notify"]').prop('checked', true);
|
||
|
||
if (data.instagram)
|
||
$(form).find('[name="instagram"]').val(data.instagram);
|
||
|
||
if (data.vkontakte)
|
||
$(form).find('[name="vkontakte"]').val(data.vkontakte);
|
||
|
||
if (data.telegram)
|
||
$(form).find('[name="telegram"]').val(data.telegram);
|
||
|
||
if (data.partner_id) {
|
||
$(form).find('[name="partner_id"]').val(data.partner_id);
|
||
}
|
||
|
||
if (data.employee_id)
|
||
$(form).find('[name="employee_id"]').val(data.employee_id);
|
||
|
||
if (data.partner_id) {
|
||
var html = $('<select id="ms-new-employee-partner" name="partner_id" class="ms-crm-employee-partner">' + $("#ms-new-employee-partner").html() + '</select>');
|
||
html.find("option[value=" + data.partner_id + "]").attr("selected", "selected");
|
||
$("#ms-new-employee-partner").closest(".inputs").html(html);
|
||
$("#ms-new-employee-partner").fastselect({ placeholder: 'Компания-партнёр2' });
|
||
}
|
||
|
||
if (data.files.length > 0) {
|
||
$(form).find('#employee_files_list').empty();
|
||
data.files.forEach(function(file, indx) {
|
||
let file_html = '<li class="file">' +
|
||
'<a href="' + file.path + '" title="Скачать файл" download><span class="file-span ti-file"></span> <span class="file-name">' + file.filename + '</span></a>' +
|
||
' <a href="javascript:{};" data-id="' + file.id + '" class="delFile no-border" title="Удалить файл"><span class="simple-button delete"><i class="jw-action-icon-delete"></i></span></a></li>';
|
||
$(form).find('#employee_files_list').append($(file_html));
|
||
});
|
||
}
|
||
}
|
||
});
|
||
}
|
||
|
||
function openPartnerInfoWindow(id) {
|
||
axios.get('/ajax/modals/partnerInfoWinContent.php').then((response) => {
|
||
$('#partner_info_bg').html(response.data);
|
||
$.ajax({
|
||
url: '/ajax/getPartner.php?id=' + id,
|
||
success: function(results) {
|
||
|
||
let data = JSON.parse(results);
|
||
let partner = $('#partner_details');
|
||
let employee = $('#employee_details');
|
||
$(partner).find('.form-block').show();
|
||
|
||
if (data.name)
|
||
$(partner).find('.partner_name').text(data.name);
|
||
else
|
||
$(partner).find('.partner_name').closest('.form-block').hide();
|
||
|
||
if (data.address)
|
||
$(partner).find('.partner_address').text(data.address);
|
||
else
|
||
$(partner).find('.partner_address').closest('.form-block').hide();
|
||
|
||
if (data.resident)
|
||
$(partner).find('.partner_resident').text(data.resident);
|
||
else
|
||
$(partner).find('.partner_resident').closest('.form-block').hide();
|
||
|
||
if (data.details)
|
||
$(partner).find('.partner_details').html(data.details.replace(/<br ?\/?>/ig, "\n"));
|
||
else
|
||
$(partner).find('.partner_details').closest('.form-block').hide();
|
||
|
||
if (data.fullname)
|
||
$(employee).find('.employee_fullname').text(data.fullname);
|
||
else
|
||
$(employee).find('.employee_fullname').closest('.form-block').hide();
|
||
|
||
if (data.email)
|
||
$(employee).find('.employee_email').text(data.email);
|
||
else
|
||
$(employee).find('.employee_email').closest('.form-block').hide();
|
||
|
||
if (data.phone)
|
||
$(employee).find('.employee_phone').text(data.phone);
|
||
else
|
||
$(employee).find('.employee_phone').closest('.form-block').hide();
|
||
|
||
if (data.position)
|
||
$(employee).find('.employee_position').text(data.position);
|
||
else
|
||
$(employee).find('.employee_position').closest('.form-block').hide();
|
||
|
||
if (data.birthday)
|
||
$(employee).find('.employee_birthday').text(data.birthday);
|
||
else
|
||
$(employee).find('.employee_birthday').closest('.form-block').hide();
|
||
|
||
|
||
if (data.instagram) {
|
||
$(employee).find('.employee_instagram a').attr('href', data.instagram);
|
||
$(employee).find('.employee_telegram').show();
|
||
} else {
|
||
$(employee).find('.employee_instagram').hide();
|
||
}
|
||
|
||
if (data.vkontakte) {
|
||
$(employee).find('.employee_vkontakte a').attr('href', data.vkontakte);
|
||
$(employee).find('.employee_telegram').show();
|
||
} else {
|
||
$(employee).find('.employee_vkontakte').hide();
|
||
}
|
||
|
||
if (data.telegram) {
|
||
$(employee).find('.employee_telegram a').attr('href', data.telegram);
|
||
$(employee).find('.employee_telegram').show();
|
||
} else {
|
||
$(employee).find('.employee_telegram').hide();
|
||
}
|
||
|
||
if (data.instagram || data.vkontakte || data.telegram)
|
||
$(employee).find('.employee_socials').show();
|
||
else
|
||
$(employee).find('.employee_socials').hide();
|
||
|
||
if (data.partner_id)
|
||
$(employee).find('.partner_id').text(data.partner_id);
|
||
else
|
||
$(employee).find('.partner_id').closest('.form-block').hide();
|
||
|
||
if (data.employee_id)
|
||
$(employee).find('.employee_id').text(data.employee_id);
|
||
else
|
||
$(employee).find('.employee_id').closest('.form-block').hide();
|
||
|
||
if (data.files.length > 0) {
|
||
$(employee).find('.employee_files').empty();
|
||
$(employee).find('.employee_files').closest('.form-block').show();
|
||
data.files.forEach(function(file, indx) {
|
||
let file_html = '<li class="file"><a href="' + file.path + '" title="Скачать файл" download><span class="file-span ti-file"></span> <span class="file-name">' + file.filename + '</span></a></li>';
|
||
$(employee).find('.employee_files').append($(file_html));
|
||
});
|
||
} else {
|
||
$(employee).find('.employee_files').closest('.form-block').hide();
|
||
}
|
||
|
||
$("#partner_info_bg").show(10);
|
||
$("#partner_info").show(10);
|
||
$("body").addClass("lock");
|
||
}
|
||
});
|
||
});
|
||
|
||
}
|
||
|
||
function openEmployeeInfoWindow(id) {
|
||
axios.get('/ajax/modals/employeeInfoWinContent.php').then((response) => {
|
||
$('#employee_info_bg').html(response.data);
|
||
$.ajax({
|
||
url: '/ajax/getEmployee.php?id=' + id,
|
||
success: function(results) {
|
||
|
||
let data = JSON.parse(results);
|
||
let employee = $('#details');
|
||
$(employee).find('.form-block').show();
|
||
|
||
if (data.partner.name && data.partner.resident)
|
||
$(employee).find('.employee_company').text(data.partner.name + ', ' + data.partner.resident);
|
||
else if (data.partner.name && !data.partner.resident)
|
||
$(employee).find('.employee_company').text(data.partner.name);
|
||
else
|
||
$(employee).find('.employee_company').closest('.form-block').hide();
|
||
|
||
if (data.fullname)
|
||
$(employee).find('.employee_fullname').text(data.fullname);
|
||
else
|
||
$(employee).find('.employee_fullname').closest('.form-block').hide();
|
||
|
||
if (data.email)
|
||
$(employee).find('.employee_email').text(data.email);
|
||
else
|
||
$(employee).find('.employee_email').closest('.form-block').hide();
|
||
|
||
if (data.phone)
|
||
$(employee).find('.employee_phone').text(data.phone);
|
||
else
|
||
$(employee).find('.employee_phone').closest('.form-block').hide();
|
||
|
||
if (data.position)
|
||
$(employee).find('.employee_position').text(data.position);
|
||
else
|
||
$(employee).find('.employee_position').closest('.form-block').hide();
|
||
|
||
if (data.birthday)
|
||
$(employee).find('.employee_birthday').text(data.birthday);
|
||
else
|
||
$(employee).find('.employee_birthday').closest('.form-block').hide();
|
||
|
||
if (data.instagram) {
|
||
$(employee).find('.employee_instagram a').attr('href', data.instagram);
|
||
$(employee).find('.employee_telegram').show();
|
||
} else {
|
||
$(employee).find('.employee_instagram').hide();
|
||
}
|
||
|
||
if (data.vkontakte) {
|
||
$(employee).find('.employee_vkontakte a').attr('href', data.vkontakte);
|
||
$(employee).find('.employee_telegram').show();
|
||
} else {
|
||
$(employee).find('.employee_vkontakte').hide();
|
||
}
|
||
|
||
if (data.telegram) {
|
||
$(employee).find('.employee_telegram a').attr('href', data.telegram);
|
||
$(employee).find('.employee_telegram').show();
|
||
} else {
|
||
$(employee).find('.employee_telegram').hide();
|
||
}
|
||
|
||
if (data.instagram || data.vkontakte || data.telegram)
|
||
$(employee).find('.employee_socials').show();
|
||
else
|
||
$(employee).find('.employee_socials').hide();
|
||
|
||
if (data.partner_id)
|
||
$(employee).find('.partner_id').text(data.partner_id);
|
||
else
|
||
$(employee).find('.partner_id').closest('.form-block').hide();
|
||
|
||
if (data.employee_id)
|
||
$(employee).find('.employee_id').text(data.employee_id);
|
||
else
|
||
$(employee).find('.employee_id').closest('.form-block').hide();
|
||
|
||
if (data.files.length > 0) {
|
||
$(employee).find('.employee_files').empty();
|
||
$(employee).find('.employee_files').closest('.form-block').show();
|
||
data.files.forEach(function(file, indx) {
|
||
let file_html = '<li class="file"><a href="' + file.path + '" title="Скачать файл" download><span class="file-span ti-file"></span> <span class="file-name">' + file.filename + '</span></a></li>';
|
||
$(employee).find('.employee_files').append($(file_html));
|
||
});
|
||
} else {
|
||
$(employee).find('.employee_files').closest('.form-block').hide();
|
||
}
|
||
|
||
$("#employee_info_bg").show(10);
|
||
$("#employee_info").show(10);
|
||
$("body").addClass("lock");
|
||
}
|
||
});
|
||
});
|
||
}
|
||
|
||
function openUserInfoWindow(id_user) {
|
||
axios.get('/ajax/modals/userInfoWinContent.php').then((response) => {
|
||
//console.log(response.data)
|
||
$('#user_info_bg').html(response.data);
|
||
$.post('/ajax/getUser.php', { 'user_id': id_user, 'section': "calendar" }, function(results) {
|
||
|
||
let data = JSON.parse(results);
|
||
//console.log(data);
|
||
|
||
let user_card = $('#user_card');
|
||
$(user_card).find('.form-block').show();
|
||
|
||
if (data.fio)
|
||
$(user_card).find('.user_fio').text(data.fio);
|
||
else
|
||
$(user_card).find('.user_fio').closest('.form-block').hide();
|
||
|
||
if (data.email)
|
||
$(user_card).find('.user_email').text(data.email);
|
||
else
|
||
$(user_card).find('.user_email').closest('.form-block').hide();
|
||
|
||
if (data.phone)
|
||
$(user_card).find('.user_phone').text(data.phone);
|
||
else
|
||
$(user_card).find('.user_phone').closest('.form-block').hide();
|
||
|
||
if (data.birthday)
|
||
$(user_card).find('.user_birthday').text(data.birthday);
|
||
else
|
||
$(user_card).find('.user_birthday').closest('.form-block').hide();
|
||
|
||
if (data.soc_vk) {
|
||
$(user_card).find('.user_soc_vk a').attr('href', data.soc_vk).show();
|
||
$(user_card).find('.user_soc_vk').show();
|
||
} else {
|
||
$(user_card).find('.user_soc_vk').hide();
|
||
}
|
||
|
||
if (data.soc_tg) {
|
||
$(user_card).find('.user_soc_tg a').attr('href', data.soc_tg).show();
|
||
$(user_card).find('.user_soc_tg').show();
|
||
} else {
|
||
$(user_card).find('.user_soc_tg').hide();
|
||
}
|
||
|
||
if (data.soc_fb) {
|
||
$(user_card).find('.user_soc_fb a').attr('href', data.soc_fb).show();
|
||
$(user_card).find('.user_soc_fb').show();
|
||
} else {
|
||
$(user_card).find('.user_soc_fb').hide();
|
||
}
|
||
|
||
if (data.soc_inst) {
|
||
$(user_card).find('.user_soc_inst a').attr('href', data.soc_inst).show();
|
||
$(user_card).find('.user_soc_inst').show();
|
||
} else {
|
||
$(user_card).find('.user_soc_inst').hide();
|
||
}
|
||
|
||
if (data.soc_tw) {
|
||
$(user_card).find('.user_soc_tw a').attr('href', data.soc_tw).show();
|
||
$(user_card).find('.user_soc_tw').show();
|
||
} else {
|
||
$(user_card).find('.user_soc_tw').hide();
|
||
}
|
||
|
||
if (data.soc_vk || data.soc_tg || data.soc_fb || data.soc_inst || data.soc_tw)
|
||
$(user_card).find('.user_socials').show();
|
||
else
|
||
$(user_card).find('.user_socials').hide();
|
||
|
||
$("#user_info_bg").show(10);
|
||
$("#user_info").show(10);
|
||
$("body").addClass("lock");
|
||
});
|
||
});
|
||
}
|
||
|
||
$(document).on('click', '#addNewPartner .delFile, #addNewEmployee .delFile', function (e) {
|
||
e.preventDefault();
|
||
var $btn = $(this);
|
||
var id = $btn.data('id');
|
||
if (!id) return;
|
||
$.get('/ajax/delPartnerFile.php', { id: id }, function (results) {
|
||
var data = null;
|
||
try { data = JSON.parse(results); } catch (e) {}
|
||
|
||
if (data === true || (data && data.ok === true)) {
|
||
$btn.closest('li.file').remove();
|
||
}
|
||
});
|
||
});
|
||
|
||
$(document).delegate('#addNewPartner input[name="phone"], #addNewEmployee input[name="phone"]', 'change', function(event) {
|
||
let input = $(event.target);
|
||
let form = input.closest('form');
|
||
let value = input.val();
|
||
console.log(value);
|
||
if (typeof value !== "undefined") {
|
||
form.find('input[name="phone"]').val(value);
|
||
if (form.find('input[name="passwd"]').val().length > 8 && form.find('input[name="passwd_repeat"]').val().length > 8) {
|
||
form.find('a[data-rel="copy-password" ]').show();
|
||
} else {
|
||
form.find('a[data-rel="copy-password" ]').hide();
|
||
}
|
||
}
|
||
});
|
||
|
||
$(document).delegate('#addNewPartner input[name="passwd_repeat"], #addNewEmployee input[name="passwd_repeat"]', 'change', function(event) {
|
||
let input = $(event.target);
|
||
let form = input.closest('form');
|
||
let value = input.val();
|
||
let value2 = form.find('input[name="passwd"]').val();
|
||
let value3 = form.find('input[name="phone"]').last().val();
|
||
if (typeof value !== "undefined") {
|
||
if (value && value == value2 && value3) {
|
||
form.find('a[data-rel="copy-password" ]').show();
|
||
} else {
|
||
form.find('a[data-rel="copy-password" ]').hide();
|
||
}
|
||
}
|
||
});
|
||
|
||
$(document).delegate('#newPartner, #newEmployee', 'click', function(event) {
|
||
event.preventDefault();
|
||
|
||
let errors = [];
|
||
let form = $(event.target).closest('form');
|
||
form.find('.error_msg').empty();
|
||
form.find('.error_msg').hide();
|
||
form.find('input, textarea, checkbox, select').each(function() {
|
||
if ($(this).attr('required') && $(this).val() === '') {
|
||
let label = $(this).closest('.form-block').find('label, .label').text();
|
||
errors.push('<span>Поле «' + label + '» обязательно к заполнению.</span><br/>');
|
||
}
|
||
});
|
||
|
||
if (form.attr('id') == "addNewPartner" && form.find('[name="partner_id"]').val()) {
|
||
if (!(form.find('[name="name"]').val() === '') &&
|
||
!(form.find('[name="resident"]').val() === '') &&
|
||
!(form.find('[name="adress"]').val() === '')
|
||
) {
|
||
form.find('.tabs__caption [data-target="head"]').click();
|
||
}
|
||
}
|
||
|
||
if (errors.length > 0) {
|
||
errors.forEach(error => form.find('.error_msg').append(error));
|
||
form.find('.error_msg').show(300);
|
||
} else {
|
||
form.find('.error_msg').hide();
|
||
form.submit();
|
||
}
|
||
});
|
||
|
||
$(document).delegate('.togglePartner', 'click', function(e) {
|
||
e.preventDefault();
|
||
let id = $(e.target).data('id');
|
||
if (typeof id !== "undefined") {
|
||
openPartnerInfoWindow(id);
|
||
}
|
||
});
|
||
|
||
$(document).delegate('.toggleEmployee', 'click', function(e) {
|
||
e.preventDefault();
|
||
let id = $(e.target).data('id');
|
||
if (typeof id !== "undefined") {
|
||
openEmployeeInfoWindow(id);
|
||
}
|
||
});
|
||
|
||
$(document).delegate('#partners .search-icon', 'click', function(event) {
|
||
var url = new URL(window.location.href);
|
||
let query = $('#partners .form-search [name="search"]').val();
|
||
if (query.length >= 3) {
|
||
url.searchParams.set('search', query);
|
||
window.location.href = url.toString();
|
||
}
|
||
});
|
||
|
||
$(document).delegate('#addNewPartner', 'submit', function(event) {
|
||
event.preventDefault();
|
||
|
||
$("#partner_form").find('.error_msg').empty();
|
||
$("#partner_form").find('a[data-rel="copy-password" ]').hide();
|
||
|
||
let form = $(this);
|
||
var formData = new FormData(form[0]);
|
||
$.ajax({
|
||
type: 'POST',
|
||
url: '/ajax/addEditPartner.php',
|
||
data: formData,
|
||
cache: false,
|
||
async: false,
|
||
contentType: false,
|
||
processData: false,
|
||
success: function(results) {
|
||
if (data = JSON.parse(results)) {
|
||
if (typeof data.errors !== "undefined") {
|
||
data.errors.forEach(error => form.find('.error_msg').append('<span>' + error + '</span><br/>'));
|
||
$("#partner_form").find('.error_msg').show(300);
|
||
} else if (data.uploaded_files.errors.length) {
|
||
let errors = data.uploaded_files.errors;
|
||
Object.keys(errors).forEach(function(key) {
|
||
let error = errors[key];
|
||
Object.keys(error).forEach(function(filename) {
|
||
form.find('.error_msg').append('<span>Файл `' + filename + '`: ' + error[filename] + '</span><br/>');
|
||
});
|
||
});
|
||
$("#partner_form").find('.error_msg').show(300);
|
||
} else {
|
||
$("#partner_form").find('.error_msg').empty();
|
||
if (data.partner_id) {
|
||
$('#partners .partner[data-partner-id="' + data.partner_id + '"]').addClass('loading');
|
||
$.get(window.location.href, function(html) {
|
||
let partner = $(html).find('#partners .partner[data-partner-id="' + data.partner_id + '"]');
|
||
if (partner)
|
||
$('#partners .partner[data-partner-id="' + data.partner_id + '"]').replaceWith(partner);
|
||
|
||
$('#partners .partner[data-partner-id="' + data.partner_id + '"]').removeClass('loading');
|
||
});
|
||
} else if (data.new_partner_id) {
|
||
$.get(window.location.href, function(html) {
|
||
let partner = $(html).find('#partners');
|
||
if (partner) {
|
||
$('#partners').replaceWith(partner);
|
||
$('#partners').fadeIn(500);
|
||
}
|
||
});
|
||
} else {
|
||
//window.location.reload(true);
|
||
}
|
||
$("#partner_form_bg").hide(10);
|
||
$("#partner_form").hide(10);
|
||
$("body").removeClass("lock");
|
||
}
|
||
}
|
||
},
|
||
error: function(XMLHttpRequest, textStatus, errorThrown) {
|
||
console.log("eRROR: " + errorThrown + "; status:" + textStatus);
|
||
return false;
|
||
}
|
||
});
|
||
|
||
return false;
|
||
});
|
||
|
||
function deletePartner(id) {
|
||
if (confirm("Вы точно хотите удалить этого партнёра?") && typeof id !== "undefined") {
|
||
$.post('/ajax/deletePartner.php', { partner_id: id }, function(results) {
|
||
let data = JSON.parse(results);
|
||
if (data) {
|
||
$.get(window.location.href, function(html) {
|
||
let partners = $(html).find('#partners');
|
||
if (partners) {
|
||
$('#partners').replaceWith(partners);
|
||
$('#partners').fadeIn(500);
|
||
}
|
||
});
|
||
}
|
||
});
|
||
}
|
||
}
|
||
|
||
function deleteEmployee(id) {
|
||
if (confirm("Вы точно хотите удалить этого сотрудника партнёра?") && typeof id !== "undefined") {
|
||
$.post('/ajax/deleteEmployee.php', { employee_id: id }, function(results) {
|
||
let data = JSON.parse(results);
|
||
if (data) {
|
||
$.get(window.location.href, function(html) {
|
||
let partners = $(html).find('#partners');
|
||
if (partners)
|
||
$('#partners').replaceWith(partners);
|
||
});
|
||
}
|
||
});
|
||
}
|
||
}
|
||
|
||
$(document).delegate('#partners .deletePartner', 'click', function() {
|
||
let id = $(this).data('id');
|
||
deletePartner(id);
|
||
});
|
||
|
||
$(document).delegate('#partners .deleteEmployee', 'click', function() {
|
||
let id = $(this).data('id');
|
||
deleteEmployee(id);
|
||
});
|
||
|
||
$(document).delegate('#addNewEmployee', 'submit', function(event) {
|
||
event.preventDefault();
|
||
|
||
$("#employee_form").find('.error_msg').empty();
|
||
$("#employee_form").find('a[data-rel="copy-password" ]').hide();
|
||
|
||
let form = $(this);
|
||
var formData = new FormData(form[0]);
|
||
|
||
$.ajax({
|
||
type: 'POST',
|
||
url: '/ajax/addEditEmployee.php',
|
||
data: formData,
|
||
cache: false,
|
||
async: false,
|
||
contentType: false,
|
||
processData: false,
|
||
success: function(results) {
|
||
//console.log(results);
|
||
if (data = JSON.parse(results)) {
|
||
//console.log(data);
|
||
if (typeof data.errors !== "undefined") {
|
||
data.errors.forEach(error => form.find('.error_msg').append('<span>' + error + '</span><br/>'));
|
||
$("#employee_form").find('.error_msg').show(300);
|
||
} else if (data.uploaded_files.errors.length) {
|
||
let errors = data.uploaded_files.errors;
|
||
Object.keys(errors).forEach(function(key) {
|
||
let error = errors[key];
|
||
Object.keys(error).forEach(function(filename) {
|
||
form.find('.error_msg').append('<span>Файл `' + filename + '`: ' + error[filename] + '</span><br/>');
|
||
});
|
||
});
|
||
$("#employee_form").find('.error_msg').show(300);
|
||
} else {
|
||
$("#employee_form").find('.error_msg').empty();
|
||
if (data.partner_id && data.new_employee_id) {
|
||
$('#partners .partner[data-partner-id="' + data.partner_id + '"]').addClass('loading');
|
||
$.get(window.location.href, function(html) {
|
||
let partner = $(html).find('#partners .partner[data-partner-id="' + data.partner_id + '"]');
|
||
if (partner)
|
||
$('#partners .partner[data-partner-id="' + data.partner_id + '"]').replaceWith(partner);
|
||
|
||
$('#partners .partner[data-partner-id="' + data.partner_id + '"]').removeClass('loading');
|
||
});
|
||
} else if (data.partner_id && data.employee_id) {
|
||
$('#partners .partner[data-partner-id="' + data.partner_id + '"]').addClass('loading');
|
||
$.get(window.location.href, function(html) {
|
||
let employee = $(html).find('#partners .partner[data-partner-id="' + data.partner_id + '"] .employees-list .partner[data-employee-id="' + data.employee_id + '"]');
|
||
let styles = $('#partners .partner[data-partner-id="' + data.partner_id + '"] .employees-list .partner[data-employee-id="' + data.employee_id + '"]').attr('style');
|
||
|
||
if (styles)
|
||
employee.attr('style', styles);
|
||
else
|
||
employee.removeAttr('style');
|
||
|
||
if (employee)
|
||
$('#partners .partner[data-partner-id="' + data.partner_id + '"] .employees-list .partner[data-employee-id="' + data.employee_id + '"]').replaceWith(employee);
|
||
|
||
$('#partners .partner[data-partner-id="' + data.partner_id + '"]').removeClass('loading');
|
||
});
|
||
} else {
|
||
//window.location.reload(true);
|
||
}
|
||
$("#employee_form_bg").hide(10);
|
||
$("#employee_form").hide(10);
|
||
$("body").removeClass("lock");
|
||
}
|
||
}
|
||
},
|
||
error: function(XMLHttpRequest, textStatus, errorThrown) {
|
||
console.log("eRROR: " + errorThrown + "; status:" + textStatus);
|
||
return false;
|
||
}
|
||
});
|
||
|
||
return false;
|
||
});
|
||
|
||
$(document).delegate('#addNewPartner .jw-tabs .tabs__caption li', 'click', function() {
|
||
let section = $('#addNewPartner');
|
||
let action = $(this).data('target');
|
||
section.find('.jw-tabs .tabs__caption li').removeClass('active');
|
||
section.find('.jw-tabs .tabs__caption li.' + action).addClass('active');
|
||
section.find('.modal-inner .tabs__content').hide();
|
||
section.find('.modal-inner .tabs__content.' + action).show();
|
||
});
|
||
|
||
$(document).delegate('#addNewEmployee .jw-tabs .tabs__caption li', 'click', function() {
|
||
let section = $('#addNewEmployee');
|
||
let action = $(this).data('target');
|
||
section.find('.jw-tabs .tabs__caption li').removeClass('active');
|
||
section.find('.jw-tabs .tabs__caption li.' + action).addClass('active');
|
||
section.find('.modal-inner .tabs__content').hide();
|
||
section.find('.modal-inner .tabs__content.' + action).show();
|
||
});
|
||
|
||
$(document).delegate('#addNewPartner #partner_add_file', 'click', function() {
|
||
let file_input = '<div class="form-block">\n' +
|
||
'<div class="label">Прикрепить файл:</div>\n' +
|
||
'<div class="inputs"><input type="file" class="file-input" name="files[]" style="width:400px;"></div>\n' +
|
||
'<div class="clear"></div>\n' +
|
||
'</div>';
|
||
$(this).closest('.form-block').before($(file_input));
|
||
});
|
||
|
||
$(document).delegate('#addNewEmployee #employee_add_file', 'click', function() {
|
||
let file_input = '<div class="form-block">\n' +
|
||
'<div class="label">Прикрепить файл:</div>\n' +
|
||
'<div class="inputs"><input type="file" class="file-input" name="files[]" style="width:400px;"></div>\n' +
|
||
'<div class="clear"></div>\n' +
|
||
'</div>';
|
||
$(this).closest('.form-block').before($(file_input));
|
||
});
|
||
|
||
//Заявки селект
|
||
function req_fastselect(id, id_fas, req_ids) {
|
||
$("#" + id).html('');
|
||
$("#" + id).html('<input type="text" multiple id="' + id_fas + '" data-url="/ajax/list_requisitions.php" data-load-once="true">');
|
||
$("#" + id_fas).val(req_ids);
|
||
if (req_ids != '') {
|
||
//console.log(req_ids);
|
||
$.post("/ajax/list_requisitions.php", { req: req_ids }, function(res) {
|
||
// console.log(res);
|
||
$("#" + id_fas).attr('data-initial-value', JSON.stringify(res));
|
||
$("#" + id_fas).fastselect({
|
||
placeholder: 'Заявки'
|
||
});
|
||
});
|
||
} else {
|
||
$("#" + id_fas).fastselect({
|
||
placeholder: 'Заявки'
|
||
});
|
||
}
|
||
}
|
||
|
||
function save_client(params, funnel_id, poles){
|
||
$('#addEditNew .load-bar').removeClass('hidden');
|
||
$('#newClient').addClass('hidden');
|
||
//console.log(params);
|
||
$.post('/ajax/addEditClient.php',
|
||
params,
|
||
function(data) {
|
||
// console.log(data);
|
||
|
||
if (data > 1) {
|
||
//console.log(funnel_id);
|
||
if ($('.view-kanban.active').length > 0) {
|
||
if (typeof id != 'undefined') {
|
||
if (funnel_id != 0) {
|
||
stage = $('#kanban_item_li_' + id).closest('.kanban__sortable').data("stage");
|
||
//console.log(stage);
|
||
}
|
||
if(document.location.pathname == '/clients.php'){
|
||
get_kanban_li(id, stage, priority);
|
||
// console.log(funnel_id);
|
||
let globalFunnel = $('#funnelIdClients').val();
|
||
if(funnel_id != globalFunnel){
|
||
$(`#kanban_item_li_${id}`).hide();
|
||
get_count_clients();
|
||
}
|
||
}
|
||
} else {
|
||
let sort_order = $('select[name=sort_order]').val();
|
||
get_list(null, sort_order, false);
|
||
}
|
||
} else {
|
||
let sort_order = $('select[name=sort_order]').val();
|
||
if ($('.pagination li.active a').text()) {
|
||
get_list($('.pagination li.active a').text(), sort_order, false);
|
||
} else {
|
||
get_list(null, sort_order, false);
|
||
}
|
||
}
|
||
//Сохранение кастомных полей
|
||
|
||
if (typeof client_fields != "undefined") {
|
||
client_fields.addEditFields(poles, data);
|
||
}
|
||
// console.log(id_reqs.split(','));
|
||
if (params.id_reqs != '') {
|
||
if (document.location.pathname == '/requisitions.php') {
|
||
var reqs = params.id_reqs.split(',');
|
||
for (var req_id in reqs) {
|
||
if (!isNaN(parseInt(reqs[req_id]))) {
|
||
var req_client = requisitions.req['req' + reqs[req_id]];
|
||
|
||
if (req_client && !isEmpty(req_client.client)) {
|
||
requisitions.req['req' + reqs[req_id]].client.fio = fio;
|
||
}
|
||
}
|
||
|
||
}
|
||
//requisitions.getList();
|
||
//console.log()
|
||
//getClient(data, JSON.parse(id_reqs)[0]);
|
||
}
|
||
axios.post('/ajax/ajax_vue_requisitions.php', {
|
||
request: 'update_req',
|
||
req_id: params.id_reqs,
|
||
object_id: params.objects,
|
||
client_id: data,
|
||
|
||
},
|
||
|
||
)
|
||
.then((response) => {
|
||
//console.log(response.data);
|
||
// var res = response.data;
|
||
// this.closeReqform();
|
||
|
||
|
||
})
|
||
.catch(function(error) {
|
||
console.log(error);
|
||
});
|
||
}
|
||
|
||
if (window.location.pathname == '/add-object.php') {
|
||
|
||
getSelectClients(data);
|
||
add_object_new_client_input_vue(data);
|
||
|
||
}
|
||
|
||
if (window.location.pathname == '/my-objects.php' || window.location.pathname == '/agency-objects.php') {
|
||
|
||
add_object_new_client_input_vue(data);
|
||
|
||
}
|
||
|
||
if ($('#client-history__bg').css("display") == 'block') {
|
||
|
||
if(document.location.pathname == '/requisitions.php'){
|
||
if(parseInt($("#client_history").attr("data-active-req")) == id){
|
||
openClientEventsWindowNew(id, $('#session_to_send').val());
|
||
}
|
||
} else {
|
||
openClientEventsWindowNew(id, $('#session_to_send').val());
|
||
}
|
||
}
|
||
$('#send_bg_new').fadeOut(500);
|
||
$("#send_bg_new .edit-modal").toggle(10);
|
||
$("body").removeClass("lock");
|
||
var komy = 0;
|
||
$('#komy option').each(function() {
|
||
if ($(this).val() == params.email) komy++;
|
||
});
|
||
if (komy == 0) {
|
||
$('#komy').prepend('<option value="' + params.email + '">' + params.fio + '</option>');
|
||
}
|
||
|
||
if (typeof req_form == 'object') {
|
||
if (req_form.isClientForm) {
|
||
req_form.clientId = parseInt(data);
|
||
req_form.isClientForm = false;
|
||
req_form.openReqForm(1);
|
||
$('#req_form').removeAttr("style");
|
||
}
|
||
}
|
||
$('#addEditNew .load-bar').addClass('hidden');
|
||
$('#newClient').removeClass('hidden');
|
||
} else {
|
||
$('#addEditNew .error_msg').html(data).show();
|
||
//$('#addEditNew .error_msg').next().text('Клиент '+fio);
|
||
$('#addEditNew .modal-title').text('Клиент ' + fio);
|
||
$(".full_modal-bg").stop().animate({ scrollTop: 0 }, 500);
|
||
$('#addEditNew .load-bar').addClass('hidden');
|
||
$('#newClient').removeClass('hidden');
|
||
}
|
||
|
||
});
|
||
}
|
||
|
||
/**
|
||
* hide_client_contacts: переключает состояние полей контактов клиента в модалке #send_new.
|
||
*
|
||
* Модалка #send_new / #addEditNew используется и для создания нового клиента (add_client_new),
|
||
* и для редактирования существующего (editClientNew). PHP-рендер задаёт статически disabled+warning
|
||
* для hide-юзера — это корректно для edit, но мешает create. Здесь динамически переключаем.
|
||
*
|
||
* mode='add' → enable полей email/phone/national_phone, hide warning, навешиваем phoneMask
|
||
* mode='edit' → если hide-юзер: disable полей + show warning + снимаем phoneMask (значение пишется
|
||
* "+X *** *** ** **", плагин маски его сломал бы).
|
||
*
|
||
* Зависит от window.shouldHideContacts() (см. js/contacts_visibility.js).
|
||
*/
|
||
function setAddEditNewContactsState(mode) {
|
||
var isHide = (typeof window.shouldHideContacts === 'function') && window.shouldHideContacts();
|
||
if (!isHide) return; // обычным юзерам нечего переключать — PHP отрендерил всё открытым
|
||
var $email = $('#addEditNew [name="email"]');
|
||
var $phone = $('#addEditNew #phoneClient');
|
||
var $natPh = $('#addEditNew [name="national_phone"]');
|
||
var $warning = $('#hideContactsWarning');
|
||
var disabledTitle = 'Контакты клиента скрыты для вашей учётной записи';
|
||
if (mode === 'add') {
|
||
$email.prop('disabled', false).removeAttr('title');
|
||
$phone.prop('disabled', false).removeAttr('title');
|
||
$natPh.prop('disabled', false);
|
||
$warning.hide();
|
||
// навешиваем jQuery-маску +7 для ручного ввода в новой форме
|
||
if (!$phone.hasClass('phoneMask')) {
|
||
$phone.addClass('phoneMask');
|
||
}
|
||
try { $phone.unmask(); } catch (e) {}
|
||
$phone.mask('+79999999999');
|
||
} else { // mode === 'edit'
|
||
$email.prop('disabled', true).attr('title', disabledTitle);
|
||
$phone.prop('disabled', true).attr('title', disabledTitle);
|
||
$natPh.prop('disabled', true);
|
||
$warning.show();
|
||
// снимаем маску, чтобы серверное "+X *** *** ** **" не превратилось в "+7"
|
||
try { $phone.unmask(); } catch (e) {}
|
||
$phone.removeClass('phoneMask');
|
||
}
|
||
}
|
||
|
||
function add_client_new(object, add_user, req_id, client_name) {
|
||
setAddEditNewContactsState('add');
|
||
if (req_id) {
|
||
if (typeof req_form == 'object') {
|
||
$('#req_form').css('zIndex', '99987');
|
||
req_form.isClientForm = true;
|
||
|
||
if (client_name !== null) {
|
||
$('#addEditNew [name="fio"]').val(client_name);
|
||
}
|
||
}
|
||
}
|
||
$("#addReqClientForm").attr("data-client", "new");
|
||
if (typeof client_fields != "undefined") {
|
||
client_fields.client_id = 0;
|
||
client_fields.getClientFields();
|
||
}
|
||
$('#send_web_hook_date').text('').css('color', '#757575');
|
||
$('#liObject').removeClass('active').hide();
|
||
$('#liReq').removeClass('active').hide();
|
||
$('#liInnerDocs').removeClass('active');
|
||
$('#liInnerDocs .tabs-li__icon').text('4');
|
||
$('#liGlobal').click();
|
||
$("#send_bg_new").fadeIn(500);
|
||
$("#send_new").toggle(10);
|
||
$('#send_log_new').hide();
|
||
$('#addObjectClientForm').attr('href', '/add-object.php');
|
||
$('#addEditNew .stagebar .stage').removeClass('active');
|
||
$('#addEditNew .stagebar .stage-new').addClass('active');
|
||
$('#addEditNew .stagebar .stage-work').addClass('active');
|
||
$("#addEditNew .form-block__hot-client").removeClass('active');
|
||
clearSelect();
|
||
req_fastselect('ms-new-client-req-input', 'ms-new-client-req', '');
|
||
$("#addEditNew").find('input').val("");
|
||
|
||
$("#addEditNew").find('textarea').val('');
|
||
$('#send_form').show();
|
||
$("#addEditNew select").val('');
|
||
|
||
$("#union_clients_form_open").attr("data-id", "");
|
||
$("#union_clients_form_open").hide();
|
||
|
||
$('.probank ul').html('');
|
||
$('#proresolve-yes').html('');
|
||
|
||
//инициализируем поля wazzap
|
||
if (typeof req_form == 'object') {
|
||
if (req_form.wazzap_chat_type) {
|
||
$('#addEditNew #wazzap_chat_type').val(req_form.wazzap_chat_type);
|
||
|
||
if (req_form.wazzap_chat_type === "whatsapp") {
|
||
$('#addEditNew [name="phone"]').val("+" + req_form.wazzap_chat_id);
|
||
}
|
||
}
|
||
if (req_form.wazzap_chat_id) {
|
||
$('#addEditNew #wazzap_chat_id').val(req_form.wazzap_chat_id);
|
||
}
|
||
if (req_form.wazzap_channel_id) {
|
||
$('#addEditNew #wazzap_channel_id').val(req_form.wazzap_channel_id);
|
||
}
|
||
if (req_form.wazzap_user_id) {
|
||
$('#addEditNew #wazzap_user_id').val(req_form.wazzap_user_id);
|
||
}
|
||
if (req_form.wazzap_integration_id) {
|
||
$('#addEditNew #wazzap_integration_id').val(req_form.wazzap_integration_id);
|
||
}
|
||
}
|
||
|
||
$('#addEditNew select').parent('.fstElement').find('.fstChoiceRemove').each(function() {
|
||
$(this).click();
|
||
});
|
||
$('#addEditNew .form-block [name=phone2]').each(function() {
|
||
$(this).closest('.form-block').remove();
|
||
});
|
||
|
||
$('#persone_no_ip').prop('checked', true);
|
||
$('#persone_yes_ip').prop('checked', false);
|
||
$('#persone_gender_man').prop('checked', true);
|
||
$('#persone_gender_woman').prop('checked', false);
|
||
$('.persone_no_ip').removeClass('hidden');
|
||
$('.persone_yas_ip').addClass('hidden');
|
||
|
||
$('#rynok_1').prop('checked', true);
|
||
|
||
$('#addEditNew [name=yes_object]').prop('checked', false);
|
||
|
||
|
||
$('#addEditNew [name=yes_doc]').prop('checked', false);
|
||
|
||
|
||
$('#addEditNew [name=yes_bank]').prop('checked', false);
|
||
|
||
|
||
$('#addEditNew [name=yes_resolve]').prop('checked', false);
|
||
|
||
$('#addEditNew [name=yes_issue]').prop('checked', false);
|
||
|
||
$('#resolve_1').prop('checked', false);
|
||
|
||
$('#resolve_2').prop('checked', false);
|
||
|
||
$('#resolve_3').prop('checked', false);
|
||
|
||
$('.prodoc').addClass('hidden');
|
||
|
||
$('.probank').addClass('hidden');
|
||
|
||
$('.proresolve').addClass('hidden');
|
||
|
||
$('.proissue').addClass('hidden');
|
||
|
||
$('#block_client_kredit .form-block').each(function() {
|
||
$(this).find('input[type=checkbox]').each(function() {
|
||
$(this).prop('checked', false);
|
||
});
|
||
$(this).find('input[type=radio]').each(function() {
|
||
if ($(this).attr('id') == 'no_yes_deduction_credit') {
|
||
$(this).prop('checked', true);
|
||
} else {
|
||
$(this).prop('checked', false);
|
||
}
|
||
});
|
||
});
|
||
|
||
var who_user = $('#sid').attr("data-id");
|
||
|
||
if (add_user !== undefined) {
|
||
who_user = add_user;
|
||
}
|
||
|
||
setSelectsFastselect('ms-new-client-work', who_user, 'select_form_client-work.php', 'Ответственный');
|
||
|
||
var source_id = 0;
|
||
if (object !== undefined) {
|
||
source_id = 10000;
|
||
}
|
||
setSelectsFastselect('ms-new-client-source', source_id, 'select_form_source.php', 'Источник');
|
||
|
||
var emplode_id_ms = 0;
|
||
setSelectsFastselect('ms-new-client-partner', emplode_id_ms, 'select_form_partner.php', 'Партнёр');
|
||
|
||
var funnel_id = $('.funnels_client .active').data("id");
|
||
if (funnel_id === undefined && $('#session_agency_id').val() == 7384) {
|
||
funnel_id = 75;
|
||
}
|
||
//console.log(funnel_id);
|
||
if (funnel_id === undefined || funnel_id == 0) {
|
||
$.post("/ajax/getFunnelFirst.php", function(dataf) {
|
||
//console.log(dataf);
|
||
var res_funnels = JSON.parse(dataf);
|
||
//if (funnel_id === undefined)
|
||
funnel_id = parseInt(res_funnels.funnel_id);
|
||
|
||
if(res_funnels.is_stage == 0){
|
||
|
||
$('#is_show_funnel_null').val(0);
|
||
} else {
|
||
$('#is_show_funnel_null').val(1);
|
||
}
|
||
|
||
setSelectsFastselect('ms-new-funnel', funnel_id, 'select_form_funnel.php', 'Воронка', 'client');
|
||
})
|
||
} else {
|
||
|
||
setSelectsFastselect('ms-new-funnel', funnel_id, 'select_form_funnel.php', 'Воронка', 'client');
|
||
}
|
||
|
||
|
||
if (object !== undefined) {
|
||
$('#of_objects').val(object);
|
||
$.post('/ajax/getNameObject.php', { id: object }, function(result) {
|
||
var text = ''; //Звонок по квартире/помещению/комнате , тип
|
||
if (result != '') {
|
||
text += 'Звонок по объекту ' + result;
|
||
}
|
||
|
||
$('#addEditNew [name=opis]').val(text);
|
||
});
|
||
} else {
|
||
$('#of_objects').val("0");
|
||
}
|
||
|
||
$('#ms-new-client-type').fastselect({
|
||
placeholder: 'Тип'
|
||
});
|
||
|
||
|
||
setSelectsFastselect('ms-new-client-activities', null, 'select_form_activities.php', 'Теги');
|
||
|
||
$('.ms-crm-client-rol').fastselect({
|
||
placeholder: 'Роль клиента'
|
||
});
|
||
|
||
$('#ms-new-client-objects-type').fastselect({
|
||
placeholder: 'Тип недвижимости'
|
||
});
|
||
|
||
|
||
setSelectsFastselect('ms_new_blocks', null, 'select_form_blocks.php', 'Жилые комплексы');
|
||
|
||
setSelectsFastselect('ms-new-client-bank-denial', null, 'select_form_bank-denial.php', 'Банк (отказ)');
|
||
setSelectsFastselect('ms-new-client-bank-revisal', null, 'select_form_bank-denial.php', 'Банк (пересмотр)');
|
||
setSelectsFastselect('ms-new-client-bank-issue', null, 'select_form_bank-denial.php', 'Банк выдачи');
|
||
|
||
$('#ms_new_bancks_credit').fastselect({
|
||
placeholder: 'Банковский продукт',
|
||
});
|
||
|
||
$.post('/ajax/getClientsView.php', { get_clients_objects: '', user_id: $('#sid').data("id") },
|
||
function(result) {
|
||
if (result == 0) {
|
||
$("#ms-new-client-object").closest(".inputs").html('<select id="ms-new-client-object" class="ms-crm-client-object-type" multiple></select>');
|
||
} else {
|
||
$("#ms-new-client-object").closest(".inputs").html('<select id="ms-new-client-object" class="ms-crm-client-object-type" multiple>' + result + '</select>');
|
||
}
|
||
|
||
$("#ms-new-client-object").fastselect({ placeholder: 'Объекты' });
|
||
}
|
||
);
|
||
|
||
|
||
$('#addEditNew #confirm').val("0");
|
||
$('#addEditNew .error_msg').hide();
|
||
$('#addEditNew .modal-title').text('Новый клиент');
|
||
$("body").addClass("lock");
|
||
get_contracts_client(0);
|
||
}
|
||
|
||
//Установка селектов
|
||
function setSelectsFastselect(selector, value, ajaxScript, name, section) {
|
||
var params = {};
|
||
params.selector = selector;
|
||
if (section) {
|
||
params.section = section;
|
||
}
|
||
if (selector == 'filter_charts_funnel') {
|
||
$('#filter_charts_funnel-input').html('');
|
||
}
|
||
//if ($('#' + selector).length < 1) {
|
||
axios.post('/ajax/' + ajaxScript,
|
||
params,
|
||
)
|
||
.then((response) => {
|
||
|
||
$('#' + selector + '-input').html(response.data);
|
||
if (value) {
|
||
$("#" + selector).val(value);
|
||
}
|
||
setFastselectPost(selector, name);
|
||
setSelectPost(selector);
|
||
})
|
||
.catch(function(error) {
|
||
console.log(error);
|
||
});
|
||
/*} else {
|
||
$('#' + selector).fastselect().data('fastselect').destroy();
|
||
|
||
if (value) {
|
||
$("#" + selector).val(value);
|
||
}
|
||
setFastselectPost(selector, name);
|
||
setSelectPost(selector);
|
||
}*/
|
||
}
|
||
|
||
|
||
//Функции после установки селекта
|
||
function setSelectPost(selector) {
|
||
switch (selector) {
|
||
case 'ms-new-funnel':
|
||
{
|
||
console.log($("#" + selector).val());
|
||
if ($("#" + selector).val() > 0) {
|
||
$('#addEditNew .stepsTable').hide();
|
||
} else {
|
||
if ($("#" + selector).val() == 0) {
|
||
if($('#is_show_funnel_null').val() > 0){
|
||
$('#addEditNew .stepsTable').show();
|
||
} else {
|
||
$('#addEditNew .stepsTable').hide();
|
||
}
|
||
}
|
||
}
|
||
break;
|
||
}
|
||
case 'ms-new-client-partner':
|
||
{
|
||
let partner_label = $("#" + selector + " option:selected").data("label");
|
||
if (partner_label)
|
||
$("#" + selector).closest(".inputs").find(".fstToggleBtn").text(partner_label);
|
||
|
||
$("#" + selector).closest(".inputs").find(".fstControls input.hidenClass").attr('type', "text");
|
||
$("#" + selector).closest(".inputs").find(".fstControls input.hidenClass").removeClass('hidenClass');
|
||
break;
|
||
}
|
||
}
|
||
}
|
||
|
||
|
||
//Fastselect для разных селектов после установки
|
||
function setFastselectPost(selector, name) {
|
||
switch (selector) {
|
||
case 'ms-new-client-work':
|
||
{
|
||
$('#' + selector).fastselect({
|
||
placeholder: name,
|
||
onItemCreate: function() { $(this).find('.fstQueryInput').hide() },
|
||
onItemSelect: function() {
|
||
$('#addEditNew [name=confirm]').val("0");
|
||
}
|
||
});
|
||
break;
|
||
}
|
||
case 'ms-new-client-partner':
|
||
{
|
||
$("#ms-new-client-partner").fastselect({
|
||
placeholder: name,
|
||
onItemCreate: function($item, itemModel) {
|
||
let partner_name = $("#" + selector + " option[value=" + itemModel.value + "]").data('partner');
|
||
itemModel.text = itemModel.text + ' <!-- ' + partner_name + ' -->';
|
||
|
||
$(this).find(".fstControls input.hidenClass").attr('type', "text");
|
||
$(this).find(".fstControls input.hidenClass").removeClass('hidenClass');
|
||
},
|
||
onItemSelect: function($item, itemModel) {
|
||
console.log($item, itemModel);
|
||
|
||
let partner_label = $("#" + selector + " option:selected").data("label");
|
||
if (partner_label)
|
||
$("#" + selector).closest(".inputs").find(".fstToggleBtn").text(partner_label);
|
||
|
||
$(this).find(".fstControls input.hidenClass").attr('type', "text");
|
||
$(this).find(".fstControls input.hidenClass").removeClass('hidenClass');
|
||
}
|
||
});
|
||
break;
|
||
}
|
||
case 'filter_charts_funnel':
|
||
{
|
||
$('#' + selector).fastselect({
|
||
placeholder: name,
|
||
onItemSelect: function() {
|
||
show_options_search_charts();
|
||
//get_sourse_filter();
|
||
},
|
||
onItemDelete: function() {
|
||
show_options_search_charts();
|
||
//get_sourse_filter();
|
||
}
|
||
});
|
||
break;
|
||
}
|
||
default:
|
||
{
|
||
$('#' + selector).fastselect({
|
||
placeholder: name,
|
||
|
||
});
|
||
break;
|
||
}
|
||
}
|
||
}
|
||
|
||
function close_partner_modal(clientId = 0, reqId = 0) {
|
||
|
||
$("#chat-modal__bg__partner").fadeOut(500);
|
||
$("#chat-modal__partner").toggle(10);
|
||
$("body").removeClass("lock");
|
||
if (clientId !== 0 && parseInt(clientId) > 0) {
|
||
$.ajax({
|
||
url: '/ajax/getClientLogForEventsNew.php?id=' + clientId,
|
||
success: function(data) {
|
||
$('#client-info-block').html(data);
|
||
$('#client_history .history__chat-n').animate({
|
||
scrollTop: $('#client-info-block').prop("scrollHeight")
|
||
}, 500, function() {
|
||
$('#client_history .history__chat-n').slimScroll({ scrollTo: $('#client-info-block').prop("scrollHeight") + 'px' });
|
||
});
|
||
if ($('#calendar').length) {
|
||
$('#calendar').fullCalendar('refetchEvents');
|
||
}
|
||
}
|
||
});
|
||
} else if (reqId > 0) {
|
||
if (typeof requisitions == 'object') {
|
||
requisitions.getList();
|
||
}
|
||
openClientEventsWindowNew(0, $('#session_to_send').val(), 0, reqId);
|
||
}
|
||
return false;
|
||
}
|
||
|
||
function close_adjacent_modal(clientId = 0, reqId = 0){
|
||
$("#chat-modal__bg__adjacent").fadeOut(500);
|
||
$("#chat-modal__adjacent").toggle(10);
|
||
$("body").removeClass("lock");
|
||
if (clientId !== 0 && parseInt(clientId) > 0) {
|
||
$.ajax({
|
||
url: '/ajax/getClientLogForEventsNew.php?id=' + clientId,
|
||
success: function(data) {
|
||
$('#client-info-block').html(data);
|
||
$('#client_history .history__chat-n').animate({
|
||
scrollTop: $('#client-info-block').prop("scrollHeight")
|
||
}, 500, function() {
|
||
$('#client_history .history__chat-n').slimScroll({ scrollTo: $('#client-info-block').prop("scrollHeight") + 'px' });
|
||
});
|
||
if ($('#calendar').length) {
|
||
$('#calendar').fullCalendar('refetchEvents');
|
||
}
|
||
}
|
||
});
|
||
} else if (reqId > 0) {
|
||
if (typeof requisitions == 'object') {
|
||
requisitions.getList();
|
||
}
|
||
openClientEventsWindowNew(0, $('#session_to_send').val(), 0, reqId);
|
||
}
|
||
return false;
|
||
}
|
||
|
||
function error_mes(id, mes) {
|
||
$(id).text(mes);
|
||
setTimeout(function() {
|
||
$(id).text('');
|
||
}, 3000);
|
||
}
|
||
|
||
function get_folders(id) {
|
||
$.post('/ajax/folders.php', { get_folders_all: 'all' }, function(data) {
|
||
//console.log(data);
|
||
$('#docs_info_tab').html(data);
|
||
if (id) {
|
||
$('#folder_id_' + id).find('.docsfiles').removeClass('hidden');
|
||
$("#files_upload").hide(10);
|
||
$("#file_upload").hide(10);
|
||
$("body").removeClass("lock");
|
||
return false;
|
||
}
|
||
});
|
||
}
|
||
|
||
function to_check_client_new(id) {
|
||
$('#changeClientAllFilter').prop('checked', false);
|
||
$('#changeClientAllFilterDiv').removeClass('active');
|
||
if ($('#changeClient' + id).prop('checked')) {
|
||
$('#changeClient' + id).prop('checked', false);
|
||
$('#checked-clt' + id).removeClass('active');
|
||
} else {
|
||
$('#changeClient' + id).prop('checked', true);
|
||
$('#checked-clt' + id).addClass('active');
|
||
}
|
||
|
||
}
|
||
|
||
function changeUserClients_confirm(userId, clientsId) {
|
||
$.ajax({
|
||
url: '/ajax/modals/confirmUserWinContent.php',
|
||
success: function(data) {
|
||
|
||
$("#confirm__user_bg").html(data);
|
||
$("#confirm__user_id").val(userId);
|
||
$("#confirm_clients_id").val(JSON.stringify(clientsId));
|
||
$("#confirm__who_work option").show();
|
||
$("#confirm__user_bg").fadeIn(500);
|
||
$("#confirm__user").fadeIn(10);
|
||
$("body").addClass("lock");
|
||
$('#confirm__who_work').fastselect({
|
||
placeholder: 'Новый ответственный',
|
||
onItemCreate: function(item, model) {
|
||
if ($('#confirm__who_work').find('option[value=' + model.value + ']').hasClass('bolt')) {
|
||
$(item).addClass('bolt');
|
||
}
|
||
},
|
||
|
||
});
|
||
},
|
||
error: function(XMLHttpRequest, textStatus, errorThrown) {
|
||
console.log("eRROR: " + errorThrown + "; status:" + textStatus);
|
||
}
|
||
});
|
||
}
|
||
|
||
function funnelClients(clientsId) {
|
||
$.ajax({
|
||
url: '/ajax/modals/funnelUserWinContent.php',
|
||
method: "post",
|
||
data: {
|
||
"clientsId": clientsId,
|
||
|
||
},
|
||
success: function(data) {
|
||
$("#funnel__user_bg").html(data);
|
||
$("#funnel_clients_id").val(JSON.stringify(clientsId));
|
||
$("#funnel__check option").show();
|
||
$("#funnel__user_bg").fadeIn(500);
|
||
$("#funnel__user").toggle(10);
|
||
$("body").addClass("lock");
|
||
},
|
||
error: function(XMLHttpRequest, textStatus, errorThrown) {
|
||
console.log("eRROR: " + errorThrown + "; status:" + textStatus);
|
||
}
|
||
});
|
||
}
|
||
|
||
function confirm__User(userId, newWhoWork, clientsId, confirm_obj = null) {
|
||
|
||
var all = 0;
|
||
if ($('#changeClientAllFilter').prop('checked')) {
|
||
all = 1;
|
||
}
|
||
|
||
$.ajax({
|
||
|
||
url: '/ajax/confirm__User.php',
|
||
method: "post",
|
||
data: {
|
||
"userId": userId,
|
||
"newWhoWork": newWhoWork,
|
||
"clientsId": clientsId,
|
||
"confirmObj": confirm_obj,
|
||
"all": all,
|
||
},
|
||
success: function(data) {
|
||
console.log(data);
|
||
if (data == '') {
|
||
get_list();
|
||
$("#confirm__user_bg").fadeOut(500);
|
||
|
||
$("#confirm__user").toggle(10);
|
||
|
||
$("body").removeClass("lock");
|
||
|
||
$('#popup__clients').removeClass('show');
|
||
|
||
} else {
|
||
alert(data.replace("error:", ""));
|
||
}
|
||
|
||
},
|
||
error: function(XMLHttpRequest, textStatus, errorThrown) {
|
||
console.log("eRROR: " + errorThrown + "; status:" + textStatus);
|
||
}
|
||
});
|
||
}
|
||
|
||
function clearSelect() {
|
||
for (let i = 1; i <= 4; i++) {
|
||
$('#addEditNew .form-block__p' + i + '-client').removeClass('active');
|
||
}
|
||
}
|
||
|
||
function funnelClientsConfirm(funnel_id, clientsId) {
|
||
console.log(funnel_id);
|
||
console.log(clientsId);
|
||
var all = 0;
|
||
if ($('#changeClientAllFilter').prop('checked')) {
|
||
all = 1;
|
||
}
|
||
$.ajax({
|
||
|
||
url: '/ajax/funnel_confirm.php',
|
||
method: "post",
|
||
data: {
|
||
"funnel_id": funnel_id,
|
||
"clientsId": clientsId,
|
||
"all": all,
|
||
},
|
||
success: function(data) {
|
||
console.log(data);
|
||
if (data == '') {
|
||
get_list();
|
||
$("#funnel__user_bg").fadeOut(500);
|
||
|
||
$("#funnel__user").toggle(10);
|
||
|
||
$("body").removeClass("lock");
|
||
|
||
$('#popup__clients').removeClass('show');
|
||
|
||
} else {
|
||
alert(data.replace("error:", ""));
|
||
}
|
||
|
||
},
|
||
error: function(XMLHttpRequest, textStatus, errorThrown) {
|
||
console.log("eRROR: " + errorThrown + "; status:" + textStatus);
|
||
}
|
||
});
|
||
}
|
||
|
||
//Модал нет доступа к рекламным объектам
|
||
function show_no_all_objects_page() {
|
||
$('#show_no_all_objects_page_bg').fadeIn(500);
|
||
$('#show_no_all_objects_page').toggle(300);
|
||
$("body").addClass("lock");
|
||
}
|
||
|
||
//открытие окна выбора тегов
|
||
function openChangeTags(id) {
|
||
|
||
$('.jw__popup.actions-tags:not([id="popup__tags_' + id + '"])').removeClass('show');
|
||
|
||
let popup = $('#popup__tags_' + id);
|
||
if (popup.hasClass('show'))
|
||
popup.removeClass('show');
|
||
else
|
||
popup.addClass('show');
|
||
|
||
if (popup.hasClass('show')) {
|
||
let tagsList = popup.find('#popup__activities_' + id).fastselect({
|
||
placeholder: 'Теги',
|
||
onItemCreate: function() {},
|
||
onItemSelect: function() {}
|
||
});
|
||
|
||
popup.find('.small-button').unbind('click');
|
||
popup.find('.small-button').click(function(e) {
|
||
let id = popup.attr('data-id');
|
||
let instance = popup.attr('data-for');
|
||
let tagsView = $('.jw__object.item#item' + id + ' .tags .tags-title');
|
||
let poapTagsView = $(`.jw__object.item#item${id} #popup__tags_list_${id} .inputs`);
|
||
|
||
if (instance == "clients"){
|
||
tagsView = $('.client#client__' + id + ' .tags .tags-title');
|
||
poapTagsView = $(`.client#client__${id} #popup__tags_list_${id} .inputs`);
|
||
}
|
||
|
||
let activities = tagsList.val();
|
||
|
||
$.post('/ajax/addActivities.php', {
|
||
id: id,
|
||
activities: activities,
|
||
instance: instance
|
||
}, function(data) {
|
||
|
||
let result = JSON.parse(data);
|
||
if (result.length > 0) {
|
||
tagsView.empty();
|
||
poapTagsView.empty();
|
||
//tagsView.append('<i class="ti-tag"></i> ');
|
||
let tag_key = 1;
|
||
let tags_visible = 0;
|
||
for (let i = 0; i < result.length; i++) {
|
||
if (result[i]['id'] && result[i]['name']) {
|
||
|
||
let htmlTag = '';
|
||
if(i<3){
|
||
htmlTag += '<div class="tag-block" style="z-index: '+tag_key;
|
||
|
||
}
|
||
let htmlPoup = '<div class="tag-block list-tags"';
|
||
|
||
|
||
|
||
if(!isEmpty(result[i]['color'])) {
|
||
if(i<3){
|
||
htmlTag += '; border: solid 1px '+ result[i]['color'];
|
||
}
|
||
htmlPoup += 'style="border: solid 1px '+ result[i]['color']+'"';
|
||
}
|
||
if(i<3){
|
||
htmlTag +='">' +
|
||
'<div class="tag-img"';
|
||
}
|
||
htmlPoup += '>'+
|
||
'<div class="tag-img"';
|
||
if(!isEmpty(result[i]['color'])) {
|
||
if(i<3){
|
||
htmlTag += ' style="background-color:'+result[i]['color']+'"';
|
||
}
|
||
htmlPoup += ' style="background-color:'+result[i]['color']+'"';
|
||
}
|
||
if(i<3){
|
||
htmlTag +='><img src="/images/tag.svg"/></div>' +
|
||
'<div class="tag-name">' +
|
||
'<span';
|
||
}
|
||
htmlPoup +='><img src="/images/tag.svg"/></div>' +
|
||
'<div class="tag-name">' +
|
||
'<span';
|
||
if(!isEmpty(result[i]['color'])) {
|
||
if(i<3){
|
||
htmlTag += ' style="color:'+result[i]['color']+'"';
|
||
}
|
||
htmlPoup += ' style="color:'+result[i]['color']+'"';
|
||
}
|
||
if(i<3){
|
||
htmlTag += ' data-id="'+result[i]['id']+'">'+result[i]['name']+'</span></div>' +
|
||
'</div>';
|
||
}
|
||
htmlPoup += ' data-id="'+result[i]['id']+'">'+result[i]['name']+'</span></div>' +
|
||
'</div>';
|
||
if(i<3){
|
||
tagsView.append(htmlTag);
|
||
tags_visible++;
|
||
}
|
||
|
||
|
||
poapTagsView.append(htmlPoup);
|
||
|
||
|
||
|
||
}
|
||
tag_key++;
|
||
}
|
||
|
||
if((tags_visible) < result.length){
|
||
let rest_tags = result.length - tags_visible;
|
||
htmlTag = '<div style="margin-left: 0px; border:none" class="tag-block">'+
|
||
'<div style="margin-top: 7px;" class="tag-name"><span style="color: #757575;">и ещё '+rest_tags+' шт.</span></div>'+
|
||
'</div>';
|
||
tagsView.append(htmlTag);
|
||
}
|
||
|
||
$('.jw__object.item#item' + id + ' .tags').removeClass('hidden');
|
||
$('.client#client__' + id + ' .tags').removeClass('hidden');
|
||
} else {
|
||
tagsView.empty();
|
||
$('.jw__object.item#item' + id + ' .tags').addClass('hidden');
|
||
$('.client#client__' + id + ' .tags').addClass('hidden');
|
||
poapTagsView.empty();
|
||
}
|
||
popup.removeClass('show');
|
||
});
|
||
});
|
||
}
|
||
}
|
||
|
||
function changeColorPicker(type){
|
||
if(type == 'add'){
|
||
let color = $('#addActivitesColorPicker input').val();
|
||
$('#addActivitesColorPicker').css('background', '').css('backgroundColor', color);
|
||
$('#colorAddActivites').val(color);
|
||
} else {
|
||
let color = $('#editActivitesColorPicker input').val();
|
||
$('#editActivitesColorPicker').css('background', '').css('backgroundColor', color);
|
||
$('#colorEditActivites').val(color);
|
||
}
|
||
}
|
||
|
||
//Открыть редактирование договора
|
||
function open_form_contract(id, contract_id, type, el) {
|
||
if (typeof contract_form != "undefined") {
|
||
contract_form.parent_type = type;
|
||
if (contract_id == -1) {
|
||
contract_id = $(el).attr("data-contract");
|
||
}
|
||
|
||
if (id == -1) {
|
||
id = parseInt($('#addEditNew [name=id]').val());
|
||
if (isNaN(id)) id = 0;
|
||
}
|
||
|
||
contract_form.parent_id = id;
|
||
contract_form.id = contract_id;
|
||
contract_form.open();
|
||
if (id == 0 && contract_id == 0) {
|
||
var data = $(el).closest('div').attr("data-data");
|
||
|
||
if (data) {
|
||
var con = JSON.parse(data);
|
||
var index = $(el).closest('div').attr("id").replace("contract_elem_client", "");
|
||
contract_form.number = con.number;
|
||
contract_form.type_contract = con.type;
|
||
contract_form.date_start = con.date_start;
|
||
contract_form.date_end = con.date_end;
|
||
contract_form.days_mes_end = con.days_mes_end;
|
||
contract_form.no_mes_end = con.no_mes_end;
|
||
contract_form.parent_index = index;
|
||
|
||
}
|
||
|
||
}
|
||
}
|
||
}
|
||
|
||
//список договоров в форме
|
||
function get_contracts_client(client_id) {
|
||
$("#list_contracts_client_form").html('');
|
||
if (client_id > 0) {
|
||
axios.post('/ajax/ajax_vue_requisitions.php', {
|
||
request: 'get_contracts',
|
||
parent_id: client_id,
|
||
type: 'client',
|
||
}, )
|
||
.then((response) => {
|
||
|
||
var res = response.data;
|
||
if (res.contracts.length > 0) {
|
||
|
||
var html = '';
|
||
for (var i = 0; i < res.contracts.length; i++) {
|
||
html += '<div data-client="' + client_id + '" data-contract="' + res.contracts[i].id + '" id="contract_elem_client' + i + '">';
|
||
html += '<label style="display: inline-block;">' +
|
||
'<a href="javascript:{};" onclick="open_form_contract(' + client_id + ', ' + res.contracts[i].id + ',\'client\', this)">' + res.contracts[i].name + '</a>' +
|
||
'</label>' +
|
||
'<a href="javascript:{};" onclick="deleteContract(' + i + ')" title="Удалить" style="padding: 6px 8px; border: none; line-height: 34px;"><i class="ti-trash"></i></a>';
|
||
html += '</div>';
|
||
}
|
||
|
||
|
||
$("#list_contracts_client_form").html(html);
|
||
}
|
||
|
||
})
|
||
.catch(function(error) {
|
||
console.log(error);
|
||
});
|
||
}
|
||
}
|
||
|
||
//Удаление договора
|
||
function deleteContract(index) {
|
||
if (confirm('Вы действительно хотите удалить этот договор?')) {
|
||
$('.ui-tooltip.ui-widget').remove();
|
||
var client_id = $('#contract_elem_client' + index).attr("data-client");
|
||
var contract_id = $('#contract_elem_client' + index).attr("data-contract");
|
||
$('#contract_elem_client' + index).remove();
|
||
|
||
if (client_id > 0 && contract_id > 0) {
|
||
if (typeof contract_form != "undefined") {
|
||
contract_form.delete(contract_id, 'client');
|
||
}
|
||
}
|
||
}
|
||
}
|
||
|
||
//Связка клиент-заявка-объект при добавлении объекта
|
||
function bindObjReq(clientId) {
|
||
|
||
$('#object-new-client-req').addClass('hidden');
|
||
$('#object-new-client-req span').text("");
|
||
$('#object-new-client-req [name=sobstv_object_req]').val(0);
|
||
$('#object-new-client-req [name=sobstv_object_req_funnel]').val(0);
|
||
$('#bind_obj_req .new_req').hide();
|
||
$('#bind_obj_req .error_req').hide();
|
||
|
||
var client_id = $("#object-new-client").val();
|
||
if ($("#object-new-client-vue").length > 0) {
|
||
client_id = $("#object-new-client-vue").val();
|
||
}
|
||
if (clientId > 0) {
|
||
client_id = clientId;
|
||
} else {
|
||
if (JSON.parse(client_id)[0]) {
|
||
client_id = JSON.parse(client_id)[0];
|
||
}
|
||
}
|
||
|
||
|
||
|
||
var object_id = 0;
|
||
if ($('#object-new-client-req [name=sobstv_object_req_object]')) {
|
||
object_id = parseInt($('#object-new-client-req [name=sobstv_object_req_object]').val());
|
||
}
|
||
|
||
if (object_id > 0) {
|
||
axios.post('/ajax/ajax_vue_requisitions.php', {
|
||
request: 'check_object',
|
||
agency_id: $('#session_agency_id').val(),
|
||
object_id: object_id,
|
||
req_id: $('#object-new-client-req [name=sobstv_object_req]').val(),
|
||
})
|
||
.then((response) => {
|
||
//console.log(response.data);
|
||
var res = response.data;
|
||
if (res['result'] == 'error') {
|
||
$('#bind_obj_req .error_req').show();
|
||
} else {
|
||
$('#bind_obj_req .new_req').show();
|
||
$('#bind_obj_req .new_req').attr("data-id", client_id);
|
||
}
|
||
|
||
})
|
||
.catch(function(error) {
|
||
console.log(error);
|
||
});
|
||
} else {
|
||
$('#bind_obj_req .new_req').show();
|
||
$('#bind_obj_req .new_req').attr("data-id", client_id);
|
||
}
|
||
|
||
//if(client_id > 0){
|
||
setSelectsFastselect('bind_obj_req-funnel', null, 'select_form_funnel.php', 'Воронка', 'req');
|
||
//$('#bind_obj_req .new_req').attr("data-id", client_id);
|
||
$('#bind_obj_req .old_req').attr("data-id", client_id);
|
||
$('#bind_obj_req_bg').fadeIn(300);
|
||
$('#bind_obj_req').toggle(100);
|
||
$("body").addClass("lock");
|
||
//}
|
||
}
|
||
|
||
//Открыть модл объекта
|
||
function openObjectModal(object_id, zindex) {
|
||
object_card.open(object_id, zindex);
|
||
}
|
||
|
||
//Проверка на пустату
|
||
function 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;
|
||
}
|
||
}
|
||
|
||
function recreateCols(columns) {
|
||
var result = [];
|
||
for (let i = 0, l = columns.length; i < l; i++) {
|
||
result[i] = {
|
||
visible : columns[i].visible,
|
||
id : columns[i].id,
|
||
text : columns[i].id
|
||
}
|
||
}
|
||
|
||
return result;
|
||
}
|
||
|
||
function open_confirmation__req_client(razdel, event, selector, confirm_obj=null){
|
||
console.log(confirm_obj);
|
||
$('#confirmation__req_client .loader').show();
|
||
$('#confirmation__req_client .no-loader').hide();
|
||
$('#confirmation__req_client .yes_confirmation').attr('data-razdel', razdel);
|
||
$('#confirmation__req_client .yes_confirmation').attr('data-event', event);
|
||
$('#confirmation__req_client .yes_confirmation').attr('data-selectort', selector);
|
||
$('#confirmation__req_client .yes_confirmation').attr('data-confirm-obj', confirm_obj);
|
||
if(selector != ''){
|
||
$('#'+selector).fadeOut(10);
|
||
$('#'+selector+'_bg').fadeOut(10);
|
||
if(selector == 'funnel__user_req'){
|
||
$('#funnel__user_bg_req').fadeOut(10);
|
||
}
|
||
}
|
||
var text = "Вы хотите";
|
||
if(event == 'confirm_user'){
|
||
text += " передать сотруднику ";
|
||
if(razdel == 'req'){
|
||
var user = $('#confirm__who_work_req').val();
|
||
|
||
if(user){
|
||
text += "«"+$('#confirm__who_work_req option[value="' + user + '"]').text()+"»";
|
||
}
|
||
}
|
||
if(razdel == 'client'){
|
||
var user = $('#confirm__who_work').val();
|
||
|
||
if(user){
|
||
text += "«"+$('#confirm__who_work option[value="' + user + '"]').text()+"»";
|
||
}
|
||
}
|
||
|
||
}
|
||
|
||
|
||
if(event == 'confirm_funnel'){
|
||
text += " переместить в воронку ";
|
||
if(razdel == 'req'){
|
||
var funnel = $('#funnel__check_req').val();
|
||
|
||
if(funnel){
|
||
text += "«"+$('#funnel__check_req option[value="' + funnel + '"]').text()+"»";
|
||
}
|
||
}
|
||
if(razdel == 'client'){
|
||
var funnel = $('#funnel__check').val();
|
||
|
||
if(funnel){
|
||
text += "«"+$('#funnel__check option[value="' + funnel + '"]').text()+"»";
|
||
}
|
||
}
|
||
|
||
}
|
||
|
||
if(event == 'confirm_on'){
|
||
text += " принять в работу ";
|
||
}
|
||
|
||
if(event == 'close_all'){
|
||
text += " закрыть ";
|
||
}
|
||
|
||
if(event == 'renew_all'){
|
||
text += ' открыть ';
|
||
}
|
||
|
||
if(event == 'take_from_closed_all'){
|
||
text += ' принять в работу ';
|
||
}
|
||
|
||
$('#confirmation__req_client .confirmation_event').text(text);
|
||
|
||
$('#confirmation__req_client_bg').fadeIn(10);
|
||
$('#confirmation__req_client').fadeIn(10);
|
||
$("body").addClass("lock");
|
||
|
||
|
||
var text_razdel = '';
|
||
var total_item = 0;
|
||
$('#confirmation__req_client .name_razdel').text(text_razdel);
|
||
if(razdel == 'req'){
|
||
text_razdel = "заявок";
|
||
}
|
||
if(razdel == 'client'){
|
||
text_razdel = "клиентов";
|
||
}
|
||
$('#confirmation__req_client .name_razdel').text(text_razdel);
|
||
var all = 0;
|
||
if ($('#changeReqAllFilter').prop('checked') || $('#changeClientAllFilter').prop('checked')) {
|
||
all = 1;
|
||
}
|
||
if(all == 0){
|
||
if(razdel == 'req'){
|
||
$('.changeReqInput').each(function() {
|
||
if ($(this).prop('checked')) {
|
||
var id = $(this).attr('id').replace("changeReq", "");
|
||
if (id != 'All') {
|
||
total_item++;
|
||
}
|
||
}
|
||
});
|
||
$('#confirmation__req_client .total_item').text(total_item);
|
||
}
|
||
if(razdel == 'client'){
|
||
$('.changeClientInput').each(function() {
|
||
if ($(this).prop('checked')) {
|
||
var id = $(this).attr('id').replace("changeClient", "");
|
||
if (id != 'All') {
|
||
total_item++;
|
||
}
|
||
}
|
||
});
|
||
$('#confirmation__req_client .total_item').text(total_item);
|
||
}
|
||
$('#confirmation__req_client .loader').hide();
|
||
$('#confirmation__req_client .no-loader').show();
|
||
|
||
|
||
} else {
|
||
var ids = [];
|
||
if (localStorage['ids_exception_req']) {
|
||
var ids_exception_req = localStorage.getItem('ids_exception_req');
|
||
|
||
ids = JSON.parse(ids_exception_req);
|
||
}
|
||
axios.post('/ajax/ajax_vue_requisitions.php', {
|
||
request: 'confirmation_total_item',
|
||
razdel: razdel,
|
||
ids_exception: ids,
|
||
}, )
|
||
.then((response) => {
|
||
console.log(response.data);
|
||
total_item = response.data;
|
||
$('#confirmation__req_client .total_item').text(total_item);
|
||
$('#confirmation__req_client .loader').hide();
|
||
$('#confirmation__req_client .no-loader').show();
|
||
})
|
||
.catch(function(error) {
|
||
console.log(error);
|
||
});
|
||
}
|
||
|
||
|
||
}
|
||
|
||
function close_confirmation__req_client(){
|
||
$('#changeReqAll').prop('checked', false);
|
||
$('#changeReqAllFilter').prop('checked', false);
|
||
$('#changeReqAllFilterDiv').removeClass('active');
|
||
$('#changeReqAllDiv').removeClass('active');
|
||
|
||
$('.changeReqInput').each(function(e) {
|
||
|
||
$(this).prop('checked', false);
|
||
var id = $(this).data("id");
|
||
$('#checked-clt' + id).removeClass('active');
|
||
|
||
});
|
||
|
||
$('#changeClientAll').prop('checked', false);
|
||
$('#changeClientAllFilter').prop('checked', false);
|
||
$('#changeClientAllFilterDiv').removeClass('active');
|
||
$('#changeClientAllDiv').removeClass('active');
|
||
|
||
$('.changeClientInput').each(function(e) {
|
||
|
||
$(this).prop('checked', false);
|
||
var id = $(this).data("id");
|
||
$('#checked-clt' + id).removeClass('active');
|
||
|
||
});
|
||
|
||
$('#confirmation__req_client .yes_confirmation').removeAttr('data-razdel');
|
||
$('#confirmation__req_client .yes_confirmation').removeAttr('data-event');
|
||
$('#confirmation__req_client .yes_confirmation').removeAttr('data-selectort');
|
||
|
||
$('#confirmation__req_client .loader').show();
|
||
$('#confirmation__req_client .no_loader').hide();
|
||
$('#confirmation__req_client_bg').fadeOut(300);
|
||
$('#confirmation__req_client').fadeOut(100);
|
||
$("body").removeClass("lock");
|
||
return false;
|
||
}
|
||
|
||
function no_confirmation(){
|
||
|
||
close_confirmation__req_client();
|
||
}
|
||
|
||
function yes_confirmation(){
|
||
var razdel = $('#confirmation__req_client .yes_confirmation').attr('data-razdel');
|
||
var event = $('#confirmation__req_client .yes_confirmation').attr('data-event');
|
||
var selector = $('#confirmation__req_client .yes_confirmation').attr('data-selectort');
|
||
var confirm_obj = $('#confirmation__req_client .yes_confirmation').attr('data-confirm-obj');
|
||
|
||
|
||
console.log(razdel);
|
||
console.log(event);
|
||
console.log(selector);
|
||
console.log(confirm_obj);
|
||
|
||
if(event == 'confirm_user'){
|
||
if(razdel == 'req'){
|
||
requisitions.confirm__User_req();
|
||
}
|
||
if(razdel == 'client'){
|
||
confirm__User(document.getElementById('confirm__user_id').value, document.getElementById('confirm__who_work').value, document.getElementById('confirm_clients_id').value, confirm_obj);
|
||
}
|
||
}
|
||
|
||
if(event == 'confirm_funnel'){
|
||
if(razdel == 'req'){
|
||
requisitions.funnelReqsConfirm();
|
||
}
|
||
if(razdel == 'client'){
|
||
funnelClientsConfirm(document.getElementById('funnel__check').value, document.getElementById('funnel_clients_id').value);
|
||
}
|
||
}
|
||
|
||
if(event == 'confirm_on'){
|
||
if(razdel == 'req'){
|
||
var reqsId = [];
|
||
var all = 0;
|
||
if ($('#changeReqAllFilter').prop('checked')) {
|
||
all = 1;
|
||
}
|
||
if (all == 0) {
|
||
$('.changeReqInput').each(function() {
|
||
if ($(this).prop('checked')) {
|
||
var id = $(this).attr('id').replace("changeReq", "");
|
||
if (id != 'All') {
|
||
reqsId.push(id);
|
||
}
|
||
}
|
||
});
|
||
confirmOnReqs(reqsId);
|
||
} else {
|
||
|
||
confirmOnReqs(reqsId);
|
||
|
||
}
|
||
}
|
||
if(razdel == 'client'){
|
||
var userId = $('#session_user_id').val();
|
||
var clientsId = [];
|
||
var all = 0;
|
||
if ($('#changeClientAllFilter').prop('checked')) {
|
||
all = 1;
|
||
clientsId = ['all'];
|
||
}
|
||
|
||
if (all == 0) {
|
||
|
||
$('.changeClientInput').each(function() {
|
||
if ($(this).prop('checked')) {
|
||
var id = $(this).attr('id').replace("changeClient", "");
|
||
if (id != 'All') {
|
||
clientsId.push(id);
|
||
}
|
||
}
|
||
});
|
||
|
||
|
||
console.log(clientsId);
|
||
|
||
if (clientsId.length == 0) {
|
||
alert("Нет выбранных клиентов");
|
||
} else {
|
||
|
||
confirmOnClients(clientsId);
|
||
}
|
||
} else {
|
||
|
||
confirmOnClients(clientsId);
|
||
|
||
}
|
||
}
|
||
}
|
||
if(event == 'close_all'){
|
||
$("#del_client_all_bg").fadeIn(500);
|
||
|
||
$("#del_client_all").toggle(10);
|
||
|
||
|
||
$("body").addClass("lock");
|
||
|
||
$('#summa_sdelki_all').val('');
|
||
|
||
$('#summa_sdelki_all').hide();
|
||
|
||
$('#luck_all').prop('checked', false);
|
||
|
||
$('#denial_work_all').show();
|
||
|
||
$('#denial_work_all').val(1);
|
||
var all = 0;
|
||
if(razdel == 'client'){
|
||
if ($('#changeClientAllFilter').prop('checked')) {
|
||
all = 1;
|
||
}
|
||
} else {
|
||
if ($('#changeReqAllFilter').prop('checked')) {
|
||
all = 1;
|
||
}
|
||
}
|
||
//console.log(all);
|
||
$("#del_client_all").find('input[name="del_all"]').val(all);
|
||
set_select_denial_work(0, true);
|
||
}
|
||
|
||
if(event == 'renew_all'){
|
||
if(razdel == 'req'){
|
||
|
||
var reqsId = [];
|
||
var all = 0;
|
||
if ($('#changeReqAllFilter').prop('checked')) {
|
||
all = 1;
|
||
}
|
||
if (all == 0) {
|
||
$('.changeReqInput').each(function() {
|
||
if ($(this).prop('checked')) {
|
||
var id = $(this).attr('id').replace("changeReq", "");
|
||
if (id != 'All') {
|
||
reqsId.push(id);
|
||
}
|
||
}
|
||
});
|
||
|
||
if (reqsId.length == 0) {
|
||
alert("Нет выбранных заявок");
|
||
} else {
|
||
console.log(reqsId);
|
||
|
||
requisitions.renewReqs(reqsId);
|
||
|
||
|
||
}
|
||
} else {
|
||
var user_id = $('#session_user_id').val();
|
||
|
||
requisitions.renewReqs(reqsId);
|
||
|
||
}
|
||
|
||
}
|
||
if(razdel == 'client'){
|
||
var clientsId = [];
|
||
var all = 0;
|
||
if ($('#changeClientAllFilter').prop('checked')) {
|
||
all = 1;
|
||
}
|
||
|
||
if (all == 0) {
|
||
$('.changeClientInput').each(function() {
|
||
if ($(this).prop('checked')) {
|
||
var id = $(this).attr('id').replace("changeClient", "");
|
||
clientsId.push(id);
|
||
}
|
||
});
|
||
console.log(clientsId);
|
||
|
||
if (clientsId.length == 0) {
|
||
alert("Нет выбранных клиентов");
|
||
} else {
|
||
|
||
renewClients(clientsId);
|
||
|
||
}
|
||
} else {
|
||
|
||
renewClients(clientsId);
|
||
|
||
}
|
||
}
|
||
}
|
||
|
||
if(event == 'take_from_closed_all'){
|
||
if(razdel == 'req'){
|
||
|
||
let reqsId = [];
|
||
let all = 0;
|
||
if ($('#changeReqAllFilter').prop('checked')) {
|
||
all = 1;
|
||
}
|
||
if (all == 0) {
|
||
$('.changeReqInput').each(function() {
|
||
if ($(this).prop('checked')) {
|
||
let id = $(this).attr('id').replace("changeReq", "");
|
||
if (id != 'All') {
|
||
reqsId.push(id);
|
||
}
|
||
}
|
||
});
|
||
|
||
if (reqsId.length == 0) {
|
||
alert("Нет выбранных заявок");
|
||
} else {
|
||
console.log(reqsId);
|
||
requisitions.takeFromClosedReqs(reqsId);
|
||
}
|
||
} else {
|
||
let user_id = $('#session_user_id').val();
|
||
requisitions.takeFromClosedReqs(reqsId);
|
||
}
|
||
|
||
}
|
||
}
|
||
|
||
|
||
close_confirmation__req_client();
|
||
}
|
||
|
||
function confirm__User_client(){
|
||
|
||
let confirm_obj = null;
|
||
if($('#is_confirm_object_all').length > 0){
|
||
if($('#is_confirm_object_all').prop('checked'))
|
||
confirm_obj = 1;
|
||
else
|
||
confirm_obj = 0;
|
||
}
|
||
open_confirmation__req_client('client', 'confirm_user', 'confirm__user', confirm_obj);
|
||
|
||
}
|
||
|
||
function funnel_Confirm_client(){
|
||
|
||
open_confirmation__req_client('client', 'confirm_funnel', 'funnel__user');
|
||
|
||
}
|
||
|
||
function save_key_telegramm(){
|
||
var key = $("#key_telegramm").val();
|
||
var user_id = $('#session_user_id').val();
|
||
axios.post('/ajax/ajax_vue_settings.php', {
|
||
request: 'save_key_telegramm',
|
||
key_telegramm: key,
|
||
user_id: user_id,
|
||
})
|
||
.then(function(response) {
|
||
|
||
alert("Код сохранен");
|
||
})
|
||
.catch(function(error) {
|
||
console.log(error);
|
||
});
|
||
}
|
||
|
||
function save_key_max(){
|
||
var key = $("#key_max").val();
|
||
var user_id = $('#session_user_id').val();
|
||
axios.post('/ajax/ajax_vue_settings.php', {
|
||
request: 'save_key_max',
|
||
key_max: key,
|
||
user_id: user_id,
|
||
})
|
||
.then(function(response) {
|
||
|
||
alert("Код сохранен");
|
||
})
|
||
.catch(function(error) {
|
||
console.log(error);
|
||
});
|
||
}
|
||
|
||
function open_modal_contract(object_id){
|
||
|
||
$('#popup__actions_contract_'+object_id).addClass('show');
|
||
var position = $('#actions_contract_'+object_id).position();
|
||
$('#popup__actions_contract_'+object_id).css('left', (position.left-80)+'px');
|
||
}
|
||
|
||
//удаление контракта в объектах
|
||
|
||
function deleteContractObject(object_id, contract_id, section) {
|
||
if (confirm('Вы действительно хотите удалить этот договор?')) {
|
||
$('.ui-tooltip.ui-widget').remove();
|
||
|
||
$('#contract_elem_object' + contract_id).remove();
|
||
if($('#popup__actions_contract_' + object_id + ' .contract_div').length == 0){
|
||
$('#actions_contract_'+object_id).hide();
|
||
}
|
||
|
||
if (object_id > 0 && contract_id > 0) {
|
||
if (typeof contract_form != "undefined") {
|
||
contract_form.delete(contract_id, section);
|
||
}
|
||
}
|
||
|
||
}
|
||
}
|
||
|
||
const defaultParams = {
|
||
containerClass: 'custom-select-container',
|
||
openerClass: 'custom-select-opener',
|
||
panelClass: 'custom-select-panel',
|
||
optionClass: 'custom-select-option',
|
||
optgroupClass: 'custom-select-optgroup',
|
||
isSelectedClass: 'is-selected',
|
||
hasFocusClass: 'has-focus',
|
||
isDisabledClass: 'is-disabled',
|
||
isOpenClass: 'is-open',
|
||
};
|
||
|
||
function builder(el, builderParams) {
|
||
const containerClass = 'customSelect';
|
||
let isOpen = false;
|
||
let uId = '';
|
||
const select = el;
|
||
let container;
|
||
let opener;
|
||
let focusedElement;
|
||
let selectedElement;
|
||
let panel;
|
||
let currLabel;
|
||
|
||
let resetSearchTimeout;
|
||
let searchKey = '';
|
||
|
||
//
|
||
// Inner Functions
|
||
//
|
||
|
||
// Sets the focused element with the neccessary classes substitutions
|
||
function setFocusedElement(cstOption) {
|
||
if (focusedElement) {
|
||
focusedElement.classList.remove(builderParams.hasFocusClass);
|
||
}
|
||
if (typeof cstOption !== 'undefined') {
|
||
focusedElement = cstOption;
|
||
focusedElement.classList.add(builderParams.hasFocusClass);
|
||
// Offset update: checks if the focused element is in the visible part of the panelClass
|
||
// if not dispatches a custom event
|
||
if (isOpen) {
|
||
if (cstOption.offsetTop < cstOption.offsetParent.scrollTop
|
||
|| cstOption.offsetTop >
|
||
(cstOption.offsetParent.scrollTop + cstOption.offsetParent.clientHeight)
|
||
- cstOption.clientHeight) {
|
||
cstOption.dispatchEvent(new CustomEvent('custom-select:focus-outside-panel', { bubbles: true }));
|
||
}
|
||
}
|
||
} else {
|
||
focusedElement = undefined;
|
||
}
|
||
}
|
||
|
||
// Reassigns the focused and selected custom option
|
||
// Updates the opener text
|
||
// IMPORTANT: the setSelectedElement function doesn't change the select value!
|
||
function setSelectedElement(cstOption) {
|
||
if (selectedElement) {
|
||
selectedElement.classList.remove(builderParams.isSelectedClass);
|
||
selectedElement.removeAttribute('id');
|
||
opener.removeAttribute('aria-activedescendant');
|
||
}
|
||
if (typeof cstOption !== 'undefined') {
|
||
cstOption.classList.add(builderParams.isSelectedClass);
|
||
cstOption.setAttribute('id', `${containerClass}-${uId}-selectedOption`);
|
||
opener.setAttribute('aria-activedescendant', `${containerClass}-${uId}-selectedOption`);
|
||
selectedElement = cstOption;
|
||
opener.children[0].textContent = selectedElement.customSelectOriginalOption.text;
|
||
} else {
|
||
selectedElement = undefined;
|
||
opener.children[0].textContent = '';
|
||
}
|
||
setFocusedElement(cstOption);
|
||
}
|
||
|
||
function setValue(value) {
|
||
// Gets the option with the provided value
|
||
let toSelect = select.querySelector(`option[value='${value}']`);
|
||
// If no option has the provided value get the first
|
||
if (!toSelect) {
|
||
[toSelect] = select.options;
|
||
}
|
||
// The option with the provided value becomes the selected one
|
||
// And changes the select current value
|
||
toSelect.selected = true;
|
||
|
||
setSelectedElement(select.options[select.selectedIndex].customSelectCstOption);
|
||
}
|
||
|
||
function moveFocuesedElement(direction) {
|
||
// Get all the .custom-select-options
|
||
// Get the index of the current focused one
|
||
const currentFocusedIndex =
|
||
[].indexOf.call(select.options, focusedElement.customSelectOriginalOption);
|
||
// If the next or prev custom option exist
|
||
// Sets it as the new focused one
|
||
if (select.options[currentFocusedIndex + direction]) {
|
||
setFocusedElement(select.options[currentFocusedIndex + direction].customSelectCstOption);
|
||
}
|
||
}
|
||
|
||
// Open/Close function (toggle)
|
||
function open(bool) {
|
||
// Open
|
||
if (bool || typeof bool === 'undefined') {
|
||
// If present closes an opened instance of the plugin
|
||
// Only one at time can be open
|
||
const openedCustomSelect =
|
||
document.querySelector(`.${containerClass}.${builderParams.isOpenClass}`);
|
||
if (openedCustomSelect) {
|
||
openedCustomSelect.customSelect.open = false;
|
||
}
|
||
|
||
// Opens only the clicked one
|
||
container.classList.add(builderParams.isOpenClass);
|
||
|
||
// aria-expanded update
|
||
container.classList.add(builderParams.isOpenClass);
|
||
opener.setAttribute('aria-expanded', 'true');
|
||
|
||
// Updates the scrollTop position of the panel in relation with the focused option
|
||
if (selectedElement) {
|
||
panel.scrollTop = selectedElement.offsetTop;
|
||
}
|
||
|
||
// Dispatches the custom event open
|
||
container.dispatchEvent(new CustomEvent('custom-select:open'));
|
||
|
||
// Sets the global state
|
||
isOpen = true;
|
||
|
||
// Close
|
||
} else {
|
||
// Removes the css classes
|
||
container.classList.remove(builderParams.isOpenClass);
|
||
|
||
// aria-expanded update
|
||
opener.setAttribute('aria-expanded', 'false');
|
||
|
||
// Sets the global state
|
||
isOpen = false;
|
||
|
||
// When closing the panel the focused custom option must be the selected one
|
||
setFocusedElement(selectedElement);
|
||
|
||
// Dispatches the custom event close
|
||
container.dispatchEvent(new CustomEvent('custom-select:close'));
|
||
}
|
||
return isOpen;
|
||
}
|
||
|
||
function clickEvent(e) {
|
||
// Opener click
|
||
if (e.target === opener || opener.contains(e.target)) {
|
||
if (isOpen) {
|
||
open(false);
|
||
} else {
|
||
open();
|
||
}
|
||
// Custom Option click
|
||
} else if (
|
||
e.target.classList
|
||
&& e.target.classList.contains(builderParams.optionClass)
|
||
&& panel.contains(e.target)) {
|
||
setSelectedElement(e.target);
|
||
// Sets the corrisponding select's option to selected updating the select's value too
|
||
selectedElement.customSelectOriginalOption.selected = true;
|
||
open(false);
|
||
// Triggers the native change event of the select
|
||
select.dispatchEvent(new CustomEvent('change'));
|
||
// click on label or select (click on label corrispond to select click)
|
||
} else if (e.target === select) {
|
||
// if the original select is focusable (for any external reason) let the focus
|
||
// else trigger the focus on opener
|
||
if (opener !== document.activeElement && select !== document.activeElement) {
|
||
opener.focus();
|
||
}
|
||
// Click outside the container closes the panel
|
||
} else if (isOpen && !container.contains(e.target)) {
|
||
open(false);
|
||
}
|
||
}
|
||
|
||
function mouseoverEvent(e) {
|
||
// On mouse move over and options it bacames the focused one
|
||
if (e.target.classList && e.target.classList.contains(builderParams.optionClass)) {
|
||
setFocusedElement(e.target);
|
||
}
|
||
}
|
||
|
||
function keydownEvent(e) {
|
||
if (!isOpen) {
|
||
// On "Arrow down", "Arrow up" and "Space" keys opens the panel
|
||
if (e.keyCode === 40 || e.keyCode === 38 || e.keyCode === 32) {
|
||
open();
|
||
}
|
||
} else {
|
||
switch (e.keyCode) {
|
||
case 13:
|
||
case 32:
|
||
// On "Enter" or "Space" selects the focused element as the selected one
|
||
setSelectedElement(focusedElement);
|
||
// Sets the corrisponding select's option to selected updating the select's value too
|
||
selectedElement.customSelectOriginalOption.selected = true;
|
||
// Triggers the native change event of the select
|
||
select.dispatchEvent(new CustomEvent('change'));
|
||
open(false);
|
||
break;
|
||
case 27:
|
||
// On "Escape" closes the panel
|
||
open(false);
|
||
break;
|
||
|
||
case 38:
|
||
// On "Arrow up" set focus to the prev option if present
|
||
moveFocuesedElement(-1);
|
||
break;
|
||
case 40:
|
||
// On "Arrow down" set focus to the next option if present
|
||
moveFocuesedElement(+1);
|
||
break;
|
||
default:
|
||
// search in panel (autocomplete)
|
||
if (e.keyCode >= 48 && e.keyCode <= 90) {
|
||
// clear existing reset timeout
|
||
if (resetSearchTimeout) {
|
||
clearTimeout(resetSearchTimeout);
|
||
}
|
||
|
||
// reset timeout for empty search key
|
||
resetSearchTimeout = setTimeout(() => {
|
||
searchKey = '';
|
||
}, 1500);
|
||
|
||
// update search keyword appending the current key
|
||
searchKey += String.fromCharCode(e.keyCode);
|
||
|
||
// search the element
|
||
for (let i = 0, l = select.options.length; i < l; i++) {
|
||
// removed cause not supported by IE:
|
||
// if (options[i].text.startsWith(searchKey))
|
||
if (select.options[i].text.toUpperCase().substr(0, searchKey.length) === searchKey) {
|
||
setFocusedElement(select.options[i].customSelectCstOption);
|
||
break;
|
||
}
|
||
}
|
||
}
|
||
break;
|
||
}
|
||
}
|
||
}
|
||
|
||
function changeEvent() {
|
||
const index = select.selectedIndex;
|
||
const element = index === -1 ? undefined : select.options[index].customSelectCstOption;
|
||
setSelectedElement(element);
|
||
if($(select).attr('data-id')){
|
||
var object_id = $(select).attr('data-id');
|
||
var val = select.value;
|
||
change_promo(object_id, val);
|
||
}
|
||
}
|
||
|
||
// When the option is outside the visible part of the opened panel, updates the scrollTop position
|
||
// This is the default behaviour
|
||
// To block it the plugin user must
|
||
// add a "custom-select:focus-outside-panel" eventListener on the panel
|
||
// with useCapture set to true
|
||
// and stopPropagation
|
||
function scrollToFocused(e) {
|
||
const currPanel = e.currentTarget;
|
||
const currOption = e.target;
|
||
// Up
|
||
if (currOption.offsetTop < currPanel.scrollTop) {
|
||
currPanel.scrollTop = currOption.offsetTop;
|
||
// Down
|
||
} else {
|
||
currPanel.scrollTop = (currOption.offsetTop + currOption.clientHeight)
|
||
- currPanel.clientHeight;
|
||
}
|
||
}
|
||
|
||
function addEvents() {
|
||
document.addEventListener('click', clickEvent);
|
||
panel.addEventListener('mouseover', mouseoverEvent);
|
||
panel.addEventListener('custom-select:focus-outside-panel', scrollToFocused);
|
||
select.addEventListener('change', changeEvent);
|
||
container.addEventListener('keydown', keydownEvent);
|
||
}
|
||
|
||
function removeEvents() {
|
||
document.removeEventListener('click', clickEvent);
|
||
panel.removeEventListener('mouseover', mouseoverEvent);
|
||
panel.removeEventListener('custom-select:focus-outside-panel', scrollToFocused);
|
||
select.removeEventListener('change', changeEvent);
|
||
container.removeEventListener('keydown', keydownEvent);
|
||
}
|
||
|
||
function disabled(bool) {
|
||
if (bool && !select.disabled) {
|
||
container.classList.add(builderParams.isDisabledClass);
|
||
select.disabled = true;
|
||
opener.removeAttribute('tabindex');
|
||
container.dispatchEvent(new CustomEvent('custom-select:disabled'));
|
||
removeEvents();
|
||
} else if (!bool && select.disabled) {
|
||
container.classList.remove(builderParams.isDisabledClass);
|
||
select.disabled = false;
|
||
opener.setAttribute('tabindex', '0');
|
||
container.dispatchEvent(new CustomEvent('custom-select:enabled'));
|
||
addEvents();
|
||
}
|
||
}
|
||
|
||
// Form a given select children DOM tree (options and optgroup),
|
||
// Creates the corresponding custom HTMLElements list (divs with different classes and attributes)
|
||
function parseMarkup(children) {
|
||
const nodeList = children;
|
||
const cstList = [];
|
||
|
||
if (typeof nodeList.length === 'undefined') {
|
||
throw new TypeError('Invalid Argument');
|
||
}
|
||
|
||
for (let i = 0, li = nodeList.length; i < li; i++) {
|
||
if (nodeList[i] instanceof HTMLElement && nodeList[i].tagName.toUpperCase() === 'OPTGROUP') {
|
||
const cstOptgroup = document.createElement('div');
|
||
cstOptgroup.classList.add(builderParams.optgroupClass);
|
||
cstOptgroup.setAttribute('data-label', nodeList[i].label);
|
||
|
||
// IMPORTANT: Stores in a property of the created custom option group
|
||
// a hook to the the corrisponding select's option group
|
||
cstOptgroup.customSelectOriginalOptgroup = nodeList[i];
|
||
|
||
// IMPORTANT: Stores in a property of select's option group
|
||
// a hook to the created custom option group
|
||
nodeList[i].customSelectCstOptgroup = cstOptgroup;
|
||
|
||
const subNodes = parseMarkup(nodeList[i].children);
|
||
for (let j = 0, lj = subNodes.length; j < lj; j++) {
|
||
cstOptgroup.appendChild(subNodes[j]);
|
||
}
|
||
|
||
cstList.push(cstOptgroup);
|
||
} else if (nodeList[i] instanceof HTMLElement
|
||
&& nodeList[i].tagName.toUpperCase() === 'OPTION') {
|
||
const cstOption = document.createElement('div');
|
||
cstOption.classList.add(builderParams.optionClass);
|
||
cstOption.textContent = nodeList[i].text;
|
||
cstOption.setAttribute('data-value', nodeList[i].value);
|
||
cstOption.setAttribute('role', 'option');
|
||
|
||
// IMPORTANT: Stores in a property of the created custom option
|
||
// a hook to the the corrisponding select's option
|
||
cstOption.customSelectOriginalOption = nodeList[i];
|
||
|
||
// IMPORTANT: Stores in a property of select's option
|
||
// a hook to the created custom option
|
||
nodeList[i].customSelectCstOption = cstOption;
|
||
|
||
// If the select's option is selected
|
||
if (nodeList[i].selected) {
|
||
setSelectedElement(cstOption);
|
||
}
|
||
cstList.push(cstOption);
|
||
} else {
|
||
throw new TypeError('Invalid Argument');
|
||
}
|
||
}
|
||
return cstList;
|
||
}
|
||
|
||
function append(nodePar, appendIntoOriginal, targetPar) {
|
||
let target;
|
||
if (typeof targetPar === 'undefined'
|
||
|| (targetPar === select)) {
|
||
target = panel;
|
||
} else if (targetPar instanceof HTMLElement
|
||
&& targetPar.tagName.toUpperCase() === 'OPTGROUP'
|
||
&& select.contains(targetPar)) {
|
||
target = targetPar.customSelectCstOptgroup;
|
||
} else {
|
||
throw new TypeError('Invalid Argument');
|
||
}
|
||
|
||
// If the node provided is a single HTMLElement it is stored in an array
|
||
const node = nodePar instanceof HTMLElement ? [nodePar] : nodePar;
|
||
|
||
// Injects the options|optgroup in the select
|
||
if (appendIntoOriginal) {
|
||
for (let i = 0, l = node.length; i < l; i++) {
|
||
if (target === panel) {
|
||
select.appendChild(node[i]);
|
||
} else {
|
||
target.customSelectOriginalOptgroup.appendChild(node[i]);
|
||
}
|
||
}
|
||
}
|
||
|
||
// The custom markup to append
|
||
const markupToInsert = parseMarkup(node);
|
||
|
||
// Injects the created DOM content in the panel
|
||
for (let i = 0, l = markupToInsert.length; i < l; i++) {
|
||
target.appendChild(markupToInsert[i]);
|
||
}
|
||
|
||
return node;
|
||
}
|
||
|
||
function insertBefore(node, targetPar) {
|
||
let target;
|
||
if (targetPar instanceof HTMLElement
|
||
&& targetPar.tagName.toUpperCase() === 'OPTION'
|
||
&& select.contains(targetPar)) {
|
||
target = targetPar.customSelectCstOption;
|
||
} else if (targetPar instanceof HTMLElement
|
||
&& targetPar.tagName.toUpperCase() === 'OPTGROUP'
|
||
&& select.contains(targetPar)) {
|
||
target = targetPar.customSelectCstOptgroup;
|
||
} else {
|
||
throw new TypeError('Invalid Argument');
|
||
}
|
||
|
||
// The custom markup to append
|
||
const markupToInsert = parseMarkup(node.length ? node : [node]);
|
||
|
||
target.parentNode.insertBefore(markupToInsert[0], target);
|
||
|
||
// Injects the option or optgroup node in the original select and returns the injected node
|
||
return targetPar.parentNode.insertBefore(node.length ? node[0] : node, targetPar);
|
||
}
|
||
|
||
function remove(node) {
|
||
let cstNode;
|
||
if (node instanceof HTMLElement
|
||
&& node.tagName.toUpperCase() === 'OPTION'
|
||
&& select.contains(node)) {
|
||
cstNode = node.customSelectCstOption;
|
||
} else if (node instanceof HTMLElement
|
||
&& node.tagName.toUpperCase() === 'OPTGROUP'
|
||
&& select.contains(node)) {
|
||
cstNode = node.customSelectCstOptgroup;
|
||
} else {
|
||
throw new TypeError('Invalid Argument');
|
||
}
|
||
cstNode.parentNode.removeChild(cstNode);
|
||
const removedNode = node.parentNode.removeChild(node);
|
||
changeEvent();
|
||
return removedNode;
|
||
}
|
||
|
||
function empty() {
|
||
const removed = [];
|
||
while (select.children.length) {
|
||
panel.removeChild(panel.children[0]);
|
||
removed.push(select.removeChild(select.children[0]));
|
||
}
|
||
setSelectedElement();
|
||
return removed;
|
||
}
|
||
|
||
function destroy() {
|
||
for (let i = 0, l = select.options.length; i < l; i++) {
|
||
delete select.options[i].customSelectCstOption;
|
||
}
|
||
const optGroup = select.getElementsByTagName('optgroup');
|
||
for (let i = 0, l = optGroup.length; i < l; i++) {
|
||
delete optGroup.customSelectCstOptgroup;
|
||
}
|
||
|
||
removeEvents();
|
||
|
||
return container.parentNode.replaceChild(select, container);
|
||
}
|
||
//
|
||
// Custom Select DOM tree creation
|
||
//
|
||
|
||
// Creates the container/wrapper
|
||
container = document.createElement('div');
|
||
container.classList.add(builderParams.containerClass, containerClass);
|
||
|
||
// Creates the opener
|
||
opener = document.createElement('span');
|
||
opener.className = builderParams.openerClass;
|
||
opener.setAttribute('role', 'combobox');
|
||
opener.setAttribute('aria-autocomplete', 'list');
|
||
opener.setAttribute('aria-expanded', 'false');
|
||
opener.innerHTML = `<span>
|
||
${(select.selectedIndex !== -1 ? select.options[select.selectedIndex].text : '')}
|
||
</span>`;
|
||
|
||
// Creates the panel
|
||
// and injects the markup of the select inside
|
||
// with some tag and attributes replacement
|
||
panel = document.createElement('div');
|
||
// Create random id
|
||
const possible = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789';
|
||
for (let i = 0; i < 5; i++) {
|
||
uId += possible.charAt(Math.floor(Math.random() * possible.length));
|
||
}
|
||
panel.id = `${containerClass}-${uId}-panel`;
|
||
panel.className = builderParams.panelClass;
|
||
panel.setAttribute('role', 'listbox');
|
||
opener.setAttribute('aria-owns', panel.id);
|
||
|
||
append(select.children, false);
|
||
|
||
// Injects the container in the original DOM position of the select
|
||
container.appendChild(opener);
|
||
select.parentNode.replaceChild(container, select);
|
||
container.appendChild(select);
|
||
container.appendChild(panel);
|
||
|
||
// ARIA labelledby - label
|
||
if (document.querySelector(`label[for="${select.id}"]`)) {
|
||
currLabel = document.querySelector(`label[for="${select.id}"]`);
|
||
} else if (container.parentNode.tagName.toUpperCase() === 'LABEL') {
|
||
currLabel = container.parentNode;
|
||
}
|
||
if (typeof currLabel !== 'undefined') {
|
||
currLabel.setAttribute('id', `${containerClass}-${uId}-label`);
|
||
opener.setAttribute('aria-labelledby', `${containerClass}-${uId}-label`);
|
||
}
|
||
|
||
// Event Init
|
||
if (select.disabled) {
|
||
container.classList.add(builderParams.isDisabledClass);
|
||
} else {
|
||
opener.setAttribute('tabindex', '0');
|
||
select.setAttribute('tabindex', '-1');
|
||
addEvents();
|
||
}
|
||
|
||
// Stores the plugin public exposed methods and properties, directly in the container HTMLElement
|
||
container.customSelect = {
|
||
get pluginOptions() { return builderParams; },
|
||
get open() { return isOpen; },
|
||
set open(bool) {
|
||
open(bool);
|
||
},
|
||
get disabled() { return select.disabled; },
|
||
set disabled(bool) {
|
||
disabled(bool);
|
||
},
|
||
get value() { return select.value; },
|
||
set value(val) {
|
||
setValue(val);
|
||
},
|
||
append: (node, target) => append(node, true, target),
|
||
insertBefore: (node, target) => insertBefore(node, target),
|
||
remove,
|
||
empty,
|
||
destroy,
|
||
opener,
|
||
select,
|
||
panel,
|
||
container,
|
||
};
|
||
|
||
// Stores the plugin directly in the original select
|
||
select.customSelect = container.customSelect;
|
||
|
||
// Returns the plugin instance, with the public exposed methods and properties
|
||
return container.customSelect;
|
||
}
|
||
|
||
function customSelect(element, customParams) {
|
||
// Overrides the default options with the ones provided by the user
|
||
const nodeList = [];
|
||
const selects = [];
|
||
|
||
return (function init() {
|
||
// The plugin is called on a single HTMLElement
|
||
if (element && element instanceof HTMLElement && element.tagName.toUpperCase() === 'SELECT') {
|
||
nodeList.push(element);
|
||
// The plugin is called on a selector
|
||
} else if (element && typeof element === 'string') {
|
||
const elementsList = document.querySelectorAll(element);
|
||
for (let i = 0, l = elementsList.length; i < l; ++i) {
|
||
if (elementsList[i] instanceof HTMLElement
|
||
&& elementsList[i].tagName.toUpperCase() === 'SELECT') {
|
||
nodeList.push(elementsList[i]);
|
||
}
|
||
}
|
||
// The plugin is called on any HTMLElements list (NodeList, HTMLCollection, Array, etc.)
|
||
} else if (element && element.length) {
|
||
for (let i = 0, l = element.length; i < l; ++i) {
|
||
if (element[i] instanceof HTMLElement
|
||
&& element[i].tagName.toUpperCase() === 'SELECT') {
|
||
nodeList.push(element[i]);
|
||
}
|
||
}
|
||
}
|
||
|
||
// Launches the plugin over every HTMLElement
|
||
// And stores every plugin instance
|
||
for (let i = 0, l = nodeList.length; i < l; ++i) {
|
||
selects.push(builder(nodeList[i], Object.assign({}, defaultParams, customParams)));
|
||
}
|
||
|
||
// Returns all plugin instances
|
||
return selects;
|
||
}());
|
||
}
|
||
|
||
function change_promo(object_id, val){
|
||
console.log(object_id, val);
|
||
|
||
var params = {};
|
||
if(object_id > 0 || object_id == 'all'){
|
||
params.object_id = object_id;
|
||
params.user_id = $('#session_user_id').val();
|
||
if(val.indexOf("avito_") != -1){
|
||
params.avito_highlight = (val == 'avito_highlight') ? 1 : 0;
|
||
params.avito_xl = (val == "avito_xl") ? 1 : 0;
|
||
params.avito_x2_1 = (val == "avito_x2_1") ? 1 : 0;
|
||
params.avito_x2_7 = (val == "avito_x2_7") ? 1 : 0;
|
||
params.avito_x5_1 = (val == "avito_x5_1") ? 1 : 0;
|
||
params.avito_x5_7 = (val == "avito_x5_7") ? 1 : 0;
|
||
params.avito_x10_1 = (val == "avito_x10_1") ? 1 : 0;
|
||
params.avito_x10_7 = (val == "avito_x10_7") ? 1 : 0;
|
||
}
|
||
|
||
if(val.indexOf("cian_") != -1 && val != 'cian_bet'){
|
||
if(object_id == 'all'){
|
||
$('#cian_promo_price_all').removeAttr('disabled');
|
||
}
|
||
params.cian_highlight = (val == 'cian_highlight') ? 1 : 0;
|
||
params.cian_standard = (val == 'cian_standard') ? 1 : 0;
|
||
params.cian_paid = (val == 'cian_paid') ? 1 : 0;
|
||
params.cian_premium = (val == 'cian_premium') ? 1 : 0;
|
||
params.cian_top3 = (val == 'cian_top3') ? 1 : 0;
|
||
params.cian_ignore_pkg = (val == 'cian_ignore_pkg') ? 1 : 0;
|
||
}
|
||
|
||
if(val == 'cian_bet'){
|
||
if(object_id == 'all'){
|
||
$('#cian_promo_price_all').removeAttr('disabled');
|
||
}
|
||
price = $('#cian_bet_input_promo_'+object_id).val();
|
||
if(isEmpty(price)) price = 0;
|
||
params.cian_bet = price;
|
||
}
|
||
|
||
if(val.indexOf("yandex_") != -1) {
|
||
params.yandex_premium = (val == "yandex_premium") ? 1 : 0;
|
||
params.yandex_raise = (val == "yandex_raise") ? 1 : 0;
|
||
params.yandex_promotion = (val == "yandex_promotion") ? 1 : 0;
|
||
}
|
||
|
||
if(val.indexOf("domclick_") != -1) {
|
||
params.domclick_express = (val == "domclick_express") ? 1 : 0;
|
||
params.domclick_premium = (val == "domclick_premium") ? 1 : 0;
|
||
params.domclick_top = (val == "domclick_top") ? 1 : 0;
|
||
}
|
||
|
||
/*params.cian_price = form.find('input[name="cian_price"]').val();
|
||
params.yandex_price = form.find('input[name="yandex_price"]').val();
|
||
params.domclick_price = form.find('input[name="domclick_price"]').val();*/
|
||
|
||
|
||
$.ajax({
|
||
url: '/ajax/addPromotion.php',
|
||
method: "post",
|
||
data: params,
|
||
success: function(data) {
|
||
// console.log(data);
|
||
//let results = JSON.parse(data);
|
||
|
||
if(val == 'cian_bet'){
|
||
is_change_cian_bet = false;
|
||
}
|
||
/*$("#addPromotionBg").hide();
|
||
$("#addPromotionBg").empty();
|
||
$("#addPromotion").hide();
|
||
$("body").removeClass("lock");*/
|
||
|
||
//console.log(results);
|
||
|
||
},
|
||
error: function(XMLHttpRequest, textStatus, errorThrown) {
|
||
console.log("eRROR: " + errorThrown + "; status:" + textStatus);
|
||
}
|
||
});
|
||
|
||
}
|
||
}
|