$(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); $("
") .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= 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('
' + total + '
'); } 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 + ' приглашает вас
к совместной работе' + othersData[i].objects; } var part_text = 'Взять клиента ' + othersData[i].fio_client + ' в работу?'; if (othersData[i].req_id > 0) { part_text = 'Взять заявку ' + othersData[i].fio_client + ' в работу?'; } var html = '
' + '
' + '

' + text + '.

' + '

' + part_text + '

' + '
'; if (othersData[i].tr == 1 || $('#session_agency_id').val() == 11417) { html += 'Нет'; } html += 'Да' + '
' + '
' + '' + '
'; $('.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 = ``; $('.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 = ``; $('.confirm_mess').prepend(html); } }) } if (total > 0 && $("#confirm_button_group").length == 0) { var html = ''; html += '
'; html += '
'; html += 'Свернуть всё'; html += 'Принять всё'; html += '
'; $('.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('
' + total + '
'); } 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 = '
' + '
' + '

' + res[i].first_line + '

' + '

' + res[i].sec_line + '

' + '
' + 'Нет' + 'Да' + '
' + '
' + '' + '
'; $('.confirm_mess').prepend(html); } } if (total > 0 && $("#confirm_button_group").length == 0) { var html = ''; html += '
'; html += '
'; html += 'Свернуть всё'; html += 'Принять всё'; html += '
'; $('.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 += ``; $(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 += `
`; if (firstClient.can_edit) { html += ` ${firstClient.fio} `; } else { html += `

${firstClient.fio}

`; } if (data.clients_count > 1) { html += `
показать ещё ${data.clients_count - 1}+… `; } html += `
`; 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( $(`${el.total}`) ) }) }, }) } 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 = `
${percent}%
${countTd}
`; $('.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 = `
${percent}%
${countTd}
`; $('.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 = `
${percent}%
${countTd}
`; 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('
  • ' + temp_html + '
  • '); } }); } }); } 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 = '
    '+ ''+ '
    '; $('#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(''); $('#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 = '' + file['name'] + ''; form.find('.files .files-list').append('
  • ' + link + '
  • '); }); form.find('.files .files-list'); form.find('.files').show(); } }); form.find('[name="client_id"]').closest(".inputs").html(''); let non_sel = ''; 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(/
    /g, "\n")); $("#addEditNew").find('[name="comment_resolve"]').val(data.comment_resolve.replace(/
    /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(/
    /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 = ''; $("#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 = '
  • '+value.name+'' + '' + '' + '' + '' + '' + 'Удалить' + '' + '' + '
  • ' $('.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 = '
  • ' + ''+value.name+'' + '' + '' + '' + 'Удалить' + '' + '' + '
  • '; $('#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(/
    /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(//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 = ''; $("#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 = ''; $("#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 = ''; $("#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 = ''; 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(''); } 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(''); } else { $("#ms-new-client-object").closest(".inputs").html(''); } $("#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 = ''; $("#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(''); 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 = '' + res + ''; var html2 = '' + res + ''; $("#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, "
    "); 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 + '» обязательно к заполнению.
    '; $(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 += "Не заполнено поле Роль клиента
    "; 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 += "Не заполнено поле Тип клиента
    "; 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
    "; error = true; $('#addEditNew input[name="email"]').addClass('invalid'); } else { if(ac.validateEmail(email) === false){ text += "Неверный формат email
    "; error = true; $('#addEditNew input[name="email"]').addClass('invalid'); } else { $('#addEditNew input[name="email"]').removeClass('invalid'); } }*/ //console.log(source); if (isEmpty(source) || source == 0) { text += "Не выбран рекламный источник
    "; 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 += "

    Не заполнено поле: " + client_fields.clientFields[i].title + "

    "; $('#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(''); } 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 + '» обязательно к заполнению.
    '; $(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 + '» обязательно к заполнению.
    '; $(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 + '» обязательно к заполнению.
    '; $(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 += "Необходимо указать Кадастровый номер
    "; 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 += "Необходимо указать Кадастровый номер участка
    "; error = true; cadastralLand.addClass('invalid'); } else { cadastralLand.removeClass('invalid'); } } } if (!ob_operation_type) { text += "Необходимо указать раздел
    "; 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 += "Необходимо указать тип объекта
    "; 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 += "Необходимо указать срок
    "; 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 += "Необходимо указать адрес объекта
    "; 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 += "Необходимо указать этаж объекта
    "; 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 += "Необходимо заполнить поле Комнат
    "; } else { text += "Необходимо заполнить поле Всего комнат в квартире
    "; } error = true; $(form).find('[name="komnat"]').addClass('invalid'); } else { $(form).find('[name="komnat"]').removeClass('invalid'); } if (!ploshad_komn) { text += "Необходимо заполнить поле Площадь комнат
    "; 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 += "Необходимо заполнить поле Кол-во комнат в сделке
    "; $(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 += "Необходимо указать Тип комнат
    "; 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 += "Необходимо указать общую площадь
    "; 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 += "Необходимо указать площадь кухни
    "; 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 += "Необходимо указать информацию о ремонте
    "; 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 += "Необходимо указать общее количество этажей объекта
    "; 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 += "Необходимо указать площадь участка
    "; 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 += "Необходимо указать Использование земли
    "; 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 += "Необходимо указать общую площадь
    "; 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 += "Необходимо указать тип дома
    "; 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 += "Необходимо указать Планировку
    "; 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 += "Необходимо указать тип дома
    "; 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 += "Необходимо указать общую площадь
    "; 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 += "Необходимо указать площадь кухни
    "; 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 += "Необходимо указать информацию о ремонте
    "; 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 += "Необходимо указать информацию о ремонте
    "; 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 += "Необходимо указать информацию о материале стен
    "; 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 += "Необходимо указать тип дома
    "; 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 += "Необходимо указать материал дома
    "; 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 += "Необходимо указать тип сделки
    "; 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 += "Необходимо указать ЖК
    "; 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 += "Необходимо указать Срок сдачи
    "; 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 += "Необходимо указать цену
    "; 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 += "Необходимо указать Тип здания
    "; 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 += "Необходимо указать Категорию земли
    "; 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 += "Необходимо указать Вид разрешённого использования
    "; 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 += "Необходимо указать площадь в поле Участок
    "; 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 = ''; $(".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.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 = ''; $("#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 = ''; $("#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 = ''; $("#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 = ''; //$("#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(''); } 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(''); } else { $("#ms-new-client-object").closest(".inputs").html(''); } $("#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 = '
    '; $('#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 = ''; $("#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 = '
  • ' + '' + name_bank + '' + '' + '' + '' + '' + '' + 'Удалить' + '' + '' + '
  • '; $('.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 = ''; $("#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 = ''; $("#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 = '
  • ' + '' + name_bank + '' + '' + '' + '' + '' + '' + 'Удалить' + '' + '' + '
  • '; $('.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 = ''; $.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 { $('

    ').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 = ``; } $('#edit-object-price-popup').remove(); $(this).parent().append(`

    Изменить цену и комиссию

    Цена: *
    Цена в рублях для Avito
    руб.
    Наша комиссия:
    `); $("#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 = ""; // Дата изменения цены priceStats += ""; priceStats += '

    '; priceStats += new Date().toLocaleDateString('ru-RU', { day: '2-digit', month: '2-digit', year: 'numeric' }); priceStats += '

    '; priceStats += ""; // Информация о цене priceStats += ""; priceStats += '

    '; priceStats += new Intl.NumberFormat('ru-RU').format(data.stoim) + ' ' + currency + ''; priceStats += '

    '; priceStats += ""; priceStats += ""; $(`.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( `

    Kомиссия

    Текущая: ${new Intl.NumberFormat('ru-RU').format(price)} ${currency}
    ` ); } else { $(`#commission_stats_td__${data.id}`).prepend( `

    Kомиссия

    Текущая: ${new Intl.NumberFormat('ru-RU').format(price)} ${currency}
    ` ); } } else { $(`.commission--agency--${data.id}`).html( new Intl.NumberFormat('ru-RU').format(price) + ' ' + currency + '' ) } }, 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(''); $('#ms-new-funnel-partner-input').html(''); $('#ms-new-client-work-client-partner-input').html(''); $('#ms-new-funnel-client-partner-input').html(''); } }) 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 = ''; $("#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(''); else $("#ms-new-employee-partner").append(''); }); $("#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(/
    /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 = '
  • ' + '' + ' ' + file.filename + '' + '' + ' ' + '' + '' + '
  • '; $(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 = $(''); 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 = '
  • ' + ' ' + file.filename + '' + ' 
  • '; $(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(/
    /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 = '
  •  ' + file.filename + '
  • '; $(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 = '
  •  ' + file.filename + '
  • '; $(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('Поле «' + label + '» обязательно к заполнению.
    '); } }); 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('' + error + '
    ')); $("#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('Файл `' + filename + '`: ' + error[filename] + '
    '); }); }); $("#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('' + error + '
    ')); $("#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('Файл `' + filename + '`: ' + error[filename] + '
    '); }); }); $("#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 = '
    \n' + '
    Прикрепить файл:
    \n' + '
    \n' + '
    \n' + '
    '; $(this).closest('.form-block').before($(file_input)); }); $(document).delegate('#addNewEmployee #employee_add_file', 'click', function() { let file_input = '
    \n' + '
    Прикрепить файл:
    \n' + '
    \n' + '
    \n' + '
    '; $(this).closest('.form-block').before($(file_input)); }); //Заявки селект function req_fastselect(id, id_fas, req_ids) { $("#" + id).html(''); $("#" + id).html(''); $("#" + 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(''); } 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(''); } else { $("#ms-new-client-object").closest(".inputs").html(''); } $("#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 + ' '; $(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(' '); 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 += '
    ' + '' + ''+result[i]['name']+'
    ' + '
    '; } htmlPoup += ' data-id="'+result[i]['id']+'">'+result[i]['name']+'' + ''; 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 = '
    '+ '
    и ещё '+rest_tags+' шт.
    '+ '
    '; 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 += '
    '; html += '' + ''; html += '
    '; } $("#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 = ` ${(select.selectedIndex !== -1 ? select.options[select.selectedIndex].text : '')} `; // 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); } }); } }