This commit is contained in:
mac 2026-06-26 14:34:58 +03:00
parent 3f9ce67f31
commit f593915c05

View File

@ -427,6 +427,19 @@ if($_SESSION['id'])
<div class="full_modal-bg" id="save_autosearch_fields_bg" style="display: none; z-index: 99999;"></div> <div class="full_modal-bg" id="save_autosearch_fields_bg" style="display: none; z-index: 99999;"></div>
<div class="full_modal-bg" id="delete_my_objects_bg" style="display: none"></div> <div class="full_modal-bg" id="delete_my_objects_bg" style="display: none"></div>
<div class="full_modal-bg" id="add_objects_to_archive_bg" style="display: none"></div> <div class="full_modal-bg" id="add_objects_to_archive_bg" style="display: none"></div>
<!-- Переиспользуемая модалка подтверждения действия (замена нативного confirm()). -->
<!-- z-index 100000 поверх вложенных модалок; стили .jw_confirm_* в base.css; управляется window.jwConfirm() в js/main.js. -->
<div class="full_modal-bg" id="jw_confirm_bg" style="display: none; z-index: 100000;">
<div class="jw_confirm_dialog" id="jw_confirm" style="display: none;">
<span class="jw_confirm_closer"><i class="ti-close"></i></span>
<h2 id="jw_confirm_title">Подтверждение действия</h2>
<div class="jw_confirm_text" id="jw_confirm_text"></div>
<div class="jw_confirm_actions">
<button type="button" class="jw_confirm_cancel">Отмена</button>
<button type="button" id="jw_confirm_ok" class="jw_confirm_ok">Подтвердить</button>
</div>
</div>
</div>
<div class="f__modal-bg" id="adv_select_time_bg" style="display: none;"></div> <div class="f__modal-bg" id="adv_select_time_bg" style="display: none;"></div>
<div class="f__modal-bg" id="after_complaint_bg" style="display: none;"></div> <div class="f__modal-bg" id="after_complaint_bg" style="display: none;"></div>
@ -4185,13 +4198,11 @@ $user_id = $_SESSION['id'];
}); });
function renderDealCloseContent() { function renderDealCloseContent() {
var d = window.dealCloseData; var d = window.dealCloseData;
console.log('[DEAL_CLOSE] renderDealCloseContent called, dealCloseData:', d);
if (!d) { console.log('[DEAL_CLOSE] dealCloseData is null/undefined'); return; } if (!d) { console.log('[DEAL_CLOSE] dealCloseData is null/undefined'); return; }
var html = ''; var html = '';
if (d.title) html += '<div style="margin-bottom: 8px;"><span style="font-weight: 500;">Название:</span> ' + d.title + '</div>'; if (d.title) html += '<div style="margin-bottom: 8px;"><span style="font-weight: 500;">Название:</span> ' + d.title + '</div>';
if (d.contract_price) html += '<div style="margin-bottom: 8px;"><span style="font-weight: 500;">Сумма в договоре:</span> ' + Number(d.contract_price).toLocaleString('ru-RU') + ' руб.</div>'; if (d.contract_price) html += '<div style="margin-bottom: 8px;"><span style="font-weight: 500;">Сумма в договоре:</span> ' + Number(d.contract_price).toLocaleString('ru-RU') + ' руб.</div>';
if (d.agent_commission) html += '<div style="margin-bottom: 8px;"><span style="font-weight: 500;">Комиссия агента:</span> ' + Number(d.agent_commission).toLocaleString('ru-RU') + ' руб.</div>'; if (d.agent_commission) html += '<div style="margin-bottom: 8px;"><span style="font-weight: 500;">Комиссия агента:</span> ' + Number(d.agent_commission).toLocaleString('ru-RU') + ' руб.</div>';
console.log('[DEAL_CLOSE] basic html:', html);
$('#deal_close_content').html(html); $('#deal_close_content').html(html);
// Собираем ID заявок и объектов // Собираем ID заявок и объектов
@ -4201,14 +4212,12 @@ $user_id = $_SESSION['id'];
var objIds = []; var objIds = [];
if (d.side_one_object_id) objIds.push(d.side_one_object_id); if (d.side_one_object_id) objIds.push(d.side_one_object_id);
if (d.side_two_object_id) objIds.push(d.side_two_object_id); if (d.side_two_object_id) objIds.push(d.side_two_object_id);
console.log('[DEAL_CLOSE] reqIds:', reqIds, 'objIds:', objIds);
var pending = 0; var pending = 0;
if (reqIds.length > 0) pending++; if (reqIds.length > 0) pending++;
if (objIds.length > 0) pending++; if (objIds.length > 0) pending++;
if (pending === 0) { if (pending === 0) {
console.log('[DEAL_CLOSE] no reqs or objects, rendering fact data');
renderFactData(d); renderFactData(d);
return; return;
} }
@ -4217,7 +4226,6 @@ $user_id = $_SESSION['id'];
var objData = null; var objData = null;
function tryRender() { function tryRender() {
console.log('[DEAL_CLOSE] tryRender called, reqData:', reqData, 'objData:', objData);
if (reqData !== null && objData !== null) { if (reqData !== null && objData !== null) {
if (reqData.length > 0) { if (reqData.length > 0) {
var reqHtml = '<div style="margin-top: 10px;"><b>Связанные заявки:</b></div>'; var reqHtml = '<div style="margin-top: 10px;"><b>Связанные заявки:</b></div>';
@ -4226,7 +4234,6 @@ $user_id = $_SESSION['id'];
reqHtml += req.deleted == 1 ? ' <span style="color: #43A047;">✓ закрыта</span>' : ' <span style="color: #f57c00;">открыта</span>'; reqHtml += req.deleted == 1 ? ' <span style="color: #43A047;">✓ закрыта</span>' : ' <span style="color: #f57c00;">открыта</span>';
reqHtml += '</div>'; reqHtml += '</div>';
}); });
console.log('[DEAL_CLOSE] appending reqHtml:', reqHtml);
$('#deal_close_content').append(reqHtml); $('#deal_close_content').append(reqHtml);
} else { } else {
console.log('[DEAL_CLOSE] no requisitions found'); console.log('[DEAL_CLOSE] no requisitions found');
@ -4236,7 +4243,6 @@ $user_id = $_SESSION['id'];
objData.forEach(function(obj) { objData.forEach(function(obj) {
objHtml += '<div style="padding: 3px 0;">' + obj.nazv + ' <span style="color: #999;">' + obj.adres + '</span></div>'; objHtml += '<div style="padding: 3px 0;">' + obj.nazv + ' <span style="color: #999;">' + obj.adres + '</span></div>';
}); });
console.log('[DEAL_CLOSE] appending objHtml:', objHtml);
$('#deal_close_content').append(objHtml); $('#deal_close_content').append(objHtml);
} else { } else {
console.log('[DEAL_CLOSE] no objects found'); console.log('[DEAL_CLOSE] no objects found');
@ -4246,7 +4252,6 @@ $user_id = $_SESSION['id'];
} }
if (reqIds.length > 0) { if (reqIds.length > 0) {
console.log('[DEAL_CLOSE] loading requisitions...');
$.ajax({ $.ajax({
url: '/ajax/ajax_vue_requisitions.php', url: '/ajax/ajax_vue_requisitions.php',
type: 'POST', type: 'POST',
@ -4254,19 +4259,16 @@ $user_id = $_SESSION['id'];
dataType: 'json', dataType: 'json',
data: JSON.stringify({ request: 'get_deals_linked_reqs', req_ids: reqIds }), data: JSON.stringify({ request: 'get_deals_linked_reqs', req_ids: reqIds }),
success: function(reqRes) { success: function(reqRes) {
console.log('[DEAL_CLOSE] requisitions response:', reqRes);
reqData = reqRes.reqs || []; reqData = reqRes.reqs || [];
tryRender(); tryRender();
}, },
error: function(xhr, status, error) { error: function(xhr, status, error) {
console.log('[DEAL_CLOSE] requisitions error:', status, error);
reqData = []; reqData = [];
tryRender(); tryRender();
} }
}); });
} }
if (objIds.length > 0) { if (objIds.length > 0) {
console.log('[DEAL_CLOSE] loading objects...');
$.ajax({ $.ajax({
url: '/ajax/ajax_vue_requisitions.php', url: '/ajax/ajax_vue_requisitions.php',
type: 'POST', type: 'POST',
@ -4288,7 +4290,6 @@ $user_id = $_SESSION['id'];
} }
function renderFactData(d) { function renderFactData(d) {
console.log('[DEAL_CLOSE] renderFactData called');
var html = '<div style="margin-top: 12px; padding-top: 10px; border-top: 1px solid #e0e0e0;"><b>Фактические данные</b></div>'; var html = '<div style="margin-top: 12px; padding-top: 10px; border-top: 1px solid #e0e0e0;"><b>Фактические данные</b></div>';
html += '<div style="display:flex;flex-wrap:wrap;gap:8px 16px;margin-top:8px;">'; html += '<div style="display:flex;flex-wrap:wrap;gap:8px 16px;margin-top:8px;">';
@ -5686,12 +5687,12 @@ $user_id = $_SESSION['id'];
</div> </div>
<div class="clear"></div> <div class="clear"></div>
<?php if (in_array((int)$_SESSION['id'], $allowed_users_deal)) { ?> <?php if (in_array((int)$_SESSION['id'], $allowed_users_deal)) { ?>
<div v-if="isRequisitionHasDeal" class="form-block" style="margin-top: 10px;"> <div v-if="isRequisitionHasDeal" class="form-block" style="margin-top: 10px;">
<div class="checkbox"> <div class="checkbox">
<input id="cancel_deal_prev" type="checkbox" v-model="cancelDealOnPrev"> <input id="cancel_deal_prev" type="checkbox" v-model="cancelDealOnPrev">
<label for="cancel_deal_prev">Отменить созданную сделку</label> <label for="cancel_deal_prev">Отменить созданную сделку</label>
</div>
</div> </div>
</div>
<?php } ?> <?php } ?>
</div> </div>
<div class="modal-submit"> <div class="modal-submit">