From 41082f12fe7c7bac73daa70c2ae7b2d50fa16a10 Mon Sep 17 00:00:00 2001 From: vchikalkin Date: Wed, 5 Apr 2023 12:44:40 +0300 Subject: [PATCH] =?UTF-8?q?=D0=9D=D0=B0=20=D0=B8=D0=B7=D0=BC=D0=B5=D0=BD?= =?UTF-8?q?=D0=B5=D0=BD=D0=B8=D0=B5=20=D0=A2=D0=B8=D0=BF=20=D0=BF=D1=80?= =?UTF-8?q?=D0=B5=D0=B4=D0=BC=D0=B5=D1=82=D0=B0=20=D0=BB=D0=B8=D0=B7=D0=B8?= =?UTF-8?q?=D0=BD=D0=B3=D0=B0=20leaseObjectType,=20=D0=9A=D0=B0=D1=82?= =?UTF-8?q?=D0=B5=D0=B3=D0=BE=D1=80=D0=B8=D1=8F=20=D0=A2=D0=A1=20leaseObje?= =?UTF-8?q?ctCategory,=20=D0=A2=D0=B8=D0=BF=20=D0=9F=D0=A2=D0=A1=20typePTS?= =?UTF-8?q?=20=D0=B8=D0=BB=D0=B8=20=20=D0=9D=D0=B0=20=D0=BA=D0=BE=D0=B3?= =?UTF-8?q?=D0=BE=20=D1=80=D0=B5=D0=B3=D0=B8=D1=81=D1=82=D1=80=D0=B0=D1=86?= =?UTF-8?q?=D0=B8=D1=8F=20=D0=A2=D0=A1=20objectRegistration?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Если objectRegistration = Лизингодатель (100000001) И Тип ПТС typePTS = Электронный (100000001) , то Категория в соответствии с ТР ТС 018/2011 objectCategoryTax открыто для редактирования И в поле Категория в соответствии с ТР ТС 018/2011 objectCategoryTax осуществляется фильтр списка - в списке должны отражаться только те значения, которые содержатся в мультипиклисте evo_category_tr в Типе предмета лизинга, указанного в поле leaseObjectType, при условии что значение поля Категория ТС leaseObjectCategory = evo_category в Типе предмета лизинга. иначе Категория в соответствии с ТР ТС 018/2011 objectCategoryTax = null, список для выбора пустой и закрыто для редактирования. --- apps/web/process/gibdd/reactions.ts | 47 +++++++++++++++-------------- 1 file changed, 24 insertions(+), 23 deletions(-) diff --git a/apps/web/process/gibdd/reactions.ts b/apps/web/process/gibdd/reactions.ts index 701f66a..6425c90 100644 --- a/apps/web/process/gibdd/reactions.ts +++ b/apps/web/process/gibdd/reactions.ts @@ -96,30 +96,31 @@ export function common({ store, apolloClient, queryClient }: ProcessContext) { typePTS, objectRegistration, }) => { - if (objectRegistration === 100_000_001 && typePTS === 100_000_001) { - $calculation.element('selectObjectCategoryTax').unblock(); - if (leaseObjectTypeId) { - const { - data: { evo_leasingobject_type }, - } = await apolloClient.query({ - query: CRMTypes.GetLeaseObjectTypeDocument, - variables: { leaseObjectTypeId }, - }); - if (leaseObjectCategory && leaseObjectCategory === evo_leasingobject_type?.evo_category) { - $calculation - .element('selectObjectCategoryTax') - .setOptions( - selectObjectCategoryTax.filter((option) => - evo_leasingobject_type?.evo_category_tr?.includes(option.value) - ) - ); - } else { - $calculation.element('selectObjectCategoryTax').resetOptions(); - } - } - } else { - $calculation.element('selectObjectCategoryTax').resetValue().block(); + if (!(objectRegistration === 100_000_001 && typePTS === 100_000_001) || !leaseObjectTypeId) { + $calculation.element('selectObjectCategoryTax').resetOptions().resetValue().block(); + + return; } + + const { + data: { evo_leasingobject_type }, + } = await apolloClient.query({ + query: CRMTypes.GetLeaseObjectTypeDocument, + variables: { leaseObjectTypeId }, + }); + if (leaseObjectCategory && leaseObjectCategory === evo_leasingobject_type?.evo_category) { + $calculation + .element('selectObjectCategoryTax') + .setOptions( + selectObjectCategoryTax.filter((option) => + evo_leasingobject_type?.evo_category_tr?.includes(option.value) + ) + ) + .unblock(); + } + }, + { + fireImmediately: true, } );