change leaseObjectCount filling from kp
This commit is contained in:
parent
8e929a1d2b
commit
cbc5941e7d
@ -49,7 +49,12 @@ const loadKpReaction: IReactionEffect = calculationStore => ({
|
||||
if (!quoteId) {
|
||||
return;
|
||||
}
|
||||
const { lead, opportunity, recalcWithRevision } = calculationStore.values;
|
||||
const {
|
||||
lead,
|
||||
opportunity,
|
||||
recalcWithRevision,
|
||||
leaseObjectCount,
|
||||
} = calculationStore.values;
|
||||
|
||||
calculationStore.setStatus('selectQuote', ElementStatus.Disabled);
|
||||
calculationStore.setStatus('btnCalculate', ElementStatus.Disabled);
|
||||
@ -209,12 +214,6 @@ const loadKpReaction: IReactionEffect = calculationStore => ({
|
||||
}),
|
||||
);
|
||||
|
||||
const tbxLeaseObjectCount = {
|
||||
leaseObjectCount: calculationStore.values.recalcWithRevision
|
||||
? quote.evo_recalc_limit
|
||||
: quote.evo_object_count,
|
||||
};
|
||||
|
||||
const rate = calculationStore.getOptions('selectRate');
|
||||
const target_rate = rate.find(x => x.evo_rateid === quote.evo_rateid);
|
||||
|
||||
@ -223,12 +222,12 @@ const loadKpReaction: IReactionEffect = calculationStore => ({
|
||||
...newValues,
|
||||
product: base_product?.evo_id,
|
||||
...addProducts,
|
||||
...tbxLeaseObjectCount,
|
||||
rate: target_rate?.evo_id,
|
||||
lead,
|
||||
opportunity,
|
||||
quote: quoteId,
|
||||
recalcWithRevision,
|
||||
leaseObjectCount,
|
||||
});
|
||||
|
||||
message.success({
|
||||
|
||||
@ -27,8 +27,6 @@ export default gql`
|
||||
evo_first_payment_perc
|
||||
evo_last_payment_perc
|
||||
evo_quotename
|
||||
evo_recalc_limit
|
||||
evo_object_count
|
||||
evo_rateid
|
||||
}
|
||||
}
|
||||
|
||||
@ -170,7 +170,7 @@ const reactionEffects: IReactionEffect[] = [
|
||||
}
|
||||
},
|
||||
}),
|
||||
|
||||
|
||||
calculationStore => ({
|
||||
expression: () => {
|
||||
const { firstPaymentPerc, recalcWithRevision } = calculationStore.values;
|
||||
@ -201,6 +201,59 @@ const reactionEffects: IReactionEffect[] = [
|
||||
}
|
||||
},
|
||||
}),
|
||||
|
||||
calculationStore => ({
|
||||
expression: () => {
|
||||
const { leaseObjectCount, recalcWithRevision } = calculationStore.values;
|
||||
return { leaseObjectCount, recalcWithRevision };
|
||||
},
|
||||
effect: ({ leaseObjectCount, recalcWithRevision }) => {
|
||||
if (!recalcWithRevision) {
|
||||
calculationStore.setValidation('tbxLeaseObjectCount', undefined);
|
||||
return;
|
||||
}
|
||||
|
||||
const { quote: quoteId } = calculationStore.values;
|
||||
const quote = calculationStore.options.selectQuote?.find(
|
||||
x => x.quoteid === quoteId,
|
||||
);
|
||||
|
||||
if (quote && quote.evo_recalc_limit) {
|
||||
if (leaseObjectCount > quote.evo_recalc_limit) {
|
||||
calculationStore.setValidation('tbxLeaseObjectCount', false);
|
||||
openNotification({
|
||||
type: 'error',
|
||||
title: 'Ошибка',
|
||||
description:
|
||||
'Количество ПЛ превышает лимит пересчета без пересмотра',
|
||||
})();
|
||||
} else {
|
||||
calculationStore.setValidation('tbxLeaseObjectCount', undefined);
|
||||
}
|
||||
}
|
||||
},
|
||||
}),
|
||||
|
||||
calculationStore => ({
|
||||
expression: () => {
|
||||
const { quote, recalcWithRevision } = calculationStore.values;
|
||||
return [quote, recalcWithRevision];
|
||||
},
|
||||
effect: ([quoteId, recalcWithRevision]) => {
|
||||
const quote = calculationStore.options.selectQuote?.find(
|
||||
x => x.quoteid === quoteId,
|
||||
);
|
||||
if (recalcWithRevision) {
|
||||
if (quote && quote.evo_recalc_limit) {
|
||||
calculationStore.setValue('leaseObjectCount', quote.evo_recalc_limit);
|
||||
}
|
||||
} else {
|
||||
if (quote && quote.evo_object_count) {
|
||||
calculationStore.setValue('leaseObjectCount', quote.evo_object_count);
|
||||
}
|
||||
}
|
||||
},
|
||||
}),
|
||||
];
|
||||
|
||||
export default reactionEffects;
|
||||
|
||||
@ -57,6 +57,7 @@ export default [
|
||||
evo_quotename
|
||||
quotenumber
|
||||
evo_recalc_limit
|
||||
evo_object_count
|
||||
evo_approved_first_payment
|
||||
evo_statuscode: evo_statuscodeidData {
|
||||
evo_id
|
||||
|
||||
Reference in New Issue
Block a user