effect: recalcWithRevision
This commit is contained in:
parent
231331a5bd
commit
6eb64b6bfc
@ -1775,6 +1775,68 @@ const reactionEffects: IReactionEffect[] = [
|
||||
calculationStore.setValue('maxPriceChange', maxPriceChange);
|
||||
},
|
||||
}),
|
||||
|
||||
calculationStore => ({
|
||||
expression: () => {
|
||||
const { recalcWithRevision } = calculationStore.values;
|
||||
return recalcWithRevision;
|
||||
},
|
||||
effect: recalcWithRevision => {
|
||||
if (recalcWithRevision === true) {
|
||||
calculationStore.setStatus('selectLead', Status.Disabled);
|
||||
calculationStore.setStatus('selectOpportunity', Status.Disabled);
|
||||
calculationStore.setStatus('selectQuote', Status.Disabled);
|
||||
} else {
|
||||
calculationStore.setStatus('selectLead', Status.Default);
|
||||
calculationStore.setStatus('selectOpportunity', Status.Default);
|
||||
calculationStore.setStatus('selectQuote', Status.Default);
|
||||
}
|
||||
},
|
||||
}),
|
||||
|
||||
calculationStore => ({
|
||||
expression: () => {
|
||||
const {
|
||||
supplierDiscountRub,
|
||||
leaseObjectPrice,
|
||||
supplierCurrency,
|
||||
} = calculationStore.values;
|
||||
return [supplierDiscountRub, leaseObjectPrice, supplierCurrency];
|
||||
},
|
||||
effect: ([supplierDiscountRub, leaseObjectPrice, supplierCurrencyId]) => {
|
||||
const { recalcWithRevision, maxPriceChange } = calculationStore.values;
|
||||
if (recalcWithRevision === false) {
|
||||
return;
|
||||
}
|
||||
|
||||
const supplierCurrency = calculationStore
|
||||
.getOptions('selectSupplierCurrency')
|
||||
.find(x => x.transactioncurrencyid === supplierCurrencyId);
|
||||
const evo_currencychange = calculationStore
|
||||
.getStaticData('evo_currencychange')
|
||||
?.find(x => x.evo_ref_transactioncurrency === supplierCurrencyId);
|
||||
const evo_currencychangeValue =
|
||||
(evo_currencychange && evo_currencychange.evo_currencychange) || 0;
|
||||
let price = calcPrice(
|
||||
supplierCurrency?.isocurrencycode,
|
||||
leaseObjectPrice,
|
||||
evo_currencychangeValue,
|
||||
);
|
||||
|
||||
if (price - supplierDiscountRub > maxPriceChange) {
|
||||
calculationStore.setValidation('tbxLeaseObjectPrice', false);
|
||||
openNotification({
|
||||
type: 'error',
|
||||
title: 'Ошибка',
|
||||
description:
|
||||
'Указанная стоимость предмета лизинга больше возмножного изменения стоимости предмета лизинга при пересчете без пересмотра.' +
|
||||
'Уменьшите стоимость предмета лизинга',
|
||||
})();
|
||||
} else {
|
||||
calculationStore.setValidation('tbxLeaseObjectPrice', true);
|
||||
}
|
||||
},
|
||||
}),
|
||||
];
|
||||
|
||||
export default reactionEffects;
|
||||
|
||||
Reference in New Issue
Block a user