diff --git a/src/components/deal/DealModal.vue b/src/components/deal/DealModal.vue index a97e808..8a96ae1 100644 --- a/src/components/deal/DealModal.vue +++ b/src/components/deal/DealModal.vue @@ -934,10 +934,13 @@ onMounted(async () => { watch(selectedRequisitionSideOneId, async (newId, oldId) => { if (newId != null) { // Убираем who_work старой заявки стороны 1 из requisitionEmployees - if (oldId) { - const oldRequisition = originalRequisitionsList.value.find(r => r.id === oldId); - if (oldRequisition?.who_work) { - requisitionEmployees.value = requisitionEmployees.value.filter(e => e.id !== oldRequisition.who_work); + if (oldId && selectedRequisitionSideOne.value) { + const oldWhoWork = selectedRequisitionSideOne.value.who_work; + if (oldWhoWork) { + const otherSideWhoWork = selectedRequisitionSideTwo.value?.who_work; + if (oldWhoWork !== otherSideWhoWork) { + requisitionEmployees.value = requisitionEmployees.value.filter(e => e.id !== oldWhoWork); + } } } @@ -985,9 +988,15 @@ watch(selectedRequisitionSideTwoId, async (newId, oldId) => { deal.value.side_two_object_id = null; // Убираем who_work старой заявки стороны 2 из requisitionEmployees - const oldRequisition = originalRequisitionsList.value.find(r => r.id === oldId); - if (oldRequisition?.who_work) { - requisitionEmployees.value = requisitionEmployees.value.filter(e => e.id !== oldRequisition.who_work); + if (oldId && selectedRequisitionSideTwo.value) { + const oldWhoWork = selectedRequisitionSideTwo.value.who_work; + if (oldWhoWork) { + // Не удаляем если этот сотрудник — who_work другой стороны + const otherSideWhoWork = selectedRequisitionSideOne.value?.who_work; + if (oldWhoWork !== otherSideWhoWork) { + requisitionEmployees.value = requisitionEmployees.value.filter(e => e.id !== oldWhoWork); + } + } } } @@ -1094,7 +1103,10 @@ const requisitionEmployees = ref([]); const manualEmployees = ref([]); const selectedEmployees = computed(() => { - return [...requisitionEmployees.value, ...manualEmployees.value]; + const sideOneWhoWork = selectedRequisitionSideOne.value?.who_work; + const sideOneEmp = sideOneWhoWork ? requisitionEmployees.value.filter(e => e.id === sideOneWhoWork) : []; + const otherRequisitionEmps = requisitionEmployees.value.filter(e => !sideOneWhoWork || e.id !== sideOneWhoWork); + return [...sideOneEmp, ...otherRequisitionEmps, ...manualEmployees.value]; }); const isWhoWork = (employeeId) => {