From 860f23c95d5075cb5416d129118228e8c6e0563e Mon Sep 17 00:00:00 2001 From: Vladimir Date: Fri, 26 Jun 2026 14:32:43 +0300 Subject: [PATCH] Add autocomplete side when object type --- src/components/deal/DealModal.vue | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) diff --git a/src/components/deal/DealModal.vue b/src/components/deal/DealModal.vue index 730750e..2a46e96 100644 --- a/src/components/deal/DealModal.vue +++ b/src/components/deal/DealModal.vue @@ -930,6 +930,35 @@ watch(selectedRequisitionSideOneId, async (newId) => { await addResponsibleEmployee(requisitionSideOneDetails.value.who_work); } + // Автовыбор стороны 1 (Арендодатель/Продавец) по operation_type объекта + let operationType = null; + if (!isEditing.value && requisitionSideOneDetails.value.object_id) { + await fetchObjectSideOneDetails(`/objects/${requisitionSideOneDetails.value.object_id}`); + const objData = objectSideOneDetails.value; + if (objData && objData.success && objData.data?.operation_type !== undefined) { + operationType = objData.data.operation_type; + deal.value.side_one = operationType === 0 ? 'Арендодатель' : 'Продавец'; + } + } + + // Предвыбор стороны 2: первая подходящая заявка из отфильтрованного списка + if (!isEditing.value && !selectedRequisitionSideTwoId.value) { + const sideOneTypeId = requisitionSideOneDetails.value.type?.heir || requisitionSideOneDetails.value.type_id; + let filtered; + if (sideOneTypeId === 2) { + filtered = requisitionsList.value.filter(req => req.type_id !== 2); + } else { + filtered = requisitionsList.value.filter(req => req.type_id === 2); + } + if (filtered.length > 0) { + selectedRequisitionSideTwoId.value = filtered[0].id; + } + } + + // Автовыбор стороны 2 (Арендатор/Покупатель) по operation_type объекта + if (!isEditing.value && operationType !== null && !deal.value.side_two) { + deal.value.side_two = operationType === 0 ? 'Арендатор' : 'Покупатель'; + } } } catch (err) { console.error('Ошибка при загрузке данных:', err);