На изменение Тип предмета лизинга leaseObjectType, Категория ТС leaseObjectCategory, Тип ПТС typePTS или На кого регистрация ТС objectRegistration

Если objectRegistration = Лизингодатель (100000001) И Тип ПТС typePTS = Электронный (100000001) ,

то Категория в соответствии с ТР ТС 018/2011 objectCategoryTax открыто для редактирования

И в поле Категория в соответствии с ТР ТС 018/2011 objectCategoryTax осуществляется фильтр списка - в списке должны отражаться только те значения, которые содержатся в мультипиклисте evo_category_tr в Типе предмета лизинга, указанного в поле leaseObjectType, при условии что значение поля Категория ТС leaseObjectCategory = evo_category в Типе предмета лизинга.

иначе Категория в соответствии с ТР ТС 018/2011 objectCategoryTax = null, список для выбора пустой и закрыто для редактирования.
This commit is contained in:
vchikalkin 2023-04-05 12:44:40 +03:00
parent 75d60246ac
commit 41082f12fe

View File

@ -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,
}
);