process/agents: add rewardSumm validation :
* Если RewardSumm= 0 И в списке RewardCondition есть запись, * у которой evo_reward_condition.evo_agency_agreementid. Обязательная выплата АВ (evo_required_reward) = True, * то поле RewardSumm обводить красной рамкой * и выводить ошибку "Согласно Агентскому договору обязательна выплата АВ. Заложите АВ в расчет"
This commit is contained in:
parent
96ab658f93
commit
11e60367ab
@ -272,7 +272,7 @@ export type GetRewardConditionQueryVariables = Exact<{
|
||||
}>;
|
||||
|
||||
|
||||
export type GetRewardConditionQuery = { __typename?: 'Query', evo_reward_condition: { __typename?: 'evo_reward_condition', evo_reward_summ: number | null, evo_reduce_reward: boolean | null, evo_min_reward_summ: number | null } | null };
|
||||
export type GetRewardConditionQuery = { __typename?: 'Query', evo_reward_condition: { __typename?: 'evo_reward_condition', evo_reward_summ: number | null, evo_reduce_reward: boolean | null, evo_min_reward_summ: number | null, evo_agency_agreementidData: { __typename?: 'evo_agency_agreement', evo_required_reward: boolean | null } | null } | null };
|
||||
|
||||
export type GetAgentAccountIdFromLeadQueryVariables = Exact<{
|
||||
leadid: Scalars['Uuid'];
|
||||
|
||||
@ -140,6 +140,9 @@ const QUERY_GET_REWARD_CONDITION = gql`
|
||||
evo_reward_summ
|
||||
evo_reduce_reward
|
||||
evo_min_reward_summ
|
||||
evo_agency_agreementidData {
|
||||
evo_required_reward
|
||||
}
|
||||
}
|
||||
}
|
||||
`;
|
||||
@ -158,7 +161,7 @@ export function validateAgentRewardSumm(
|
||||
const validationHelper = new ValidationHelper();
|
||||
|
||||
reaction(
|
||||
() => $calculation.element(rewardSummField).getValue() as number,
|
||||
() => $calculation.element(rewardSummField).getValue(),
|
||||
async (rewardSumm) => {
|
||||
const conditionId = $calculation.element(rewardConditionField).getValue();
|
||||
if (!conditionId) {
|
||||
@ -225,6 +228,18 @@ export function validateAgentRewardSumm(
|
||||
validationHelper.add(removeError);
|
||||
});
|
||||
}
|
||||
|
||||
$calculation
|
||||
.element(rewardSummField)
|
||||
.validate({
|
||||
invalid:
|
||||
evo_reward_condition?.evo_agency_agreementidData?.evo_required_reward === true &&
|
||||
rewardSumm === 0,
|
||||
message: 'Согласно агентскому договору обязательна выплата АВ. Заложите АВ в расчет',
|
||||
})
|
||||
.err((removeError) => {
|
||||
validationHelper.add(removeError);
|
||||
});
|
||||
}
|
||||
);
|
||||
}
|
||||
|
||||
@ -480,16 +480,6 @@ export function commonReactions({ store, apolloClient }: ReactionsContext) {
|
||||
}
|
||||
|
||||
export function validationReactions({ store, apolloClient }: ReactionsContext) {
|
||||
createReactions.validateAgentRewardSumm(store, apolloClient, {
|
||||
rewardConditionField: 'selectDealerRewardCondition',
|
||||
rewardSummField: 'tbxDealerRewardSumm',
|
||||
});
|
||||
|
||||
createReactions.validateAgentRewardSumm(store, apolloClient, {
|
||||
rewardConditionField: 'selectDealerBrokerRewardCondition',
|
||||
rewardSummField: 'tbxDealerBrokerRewardSumm',
|
||||
});
|
||||
|
||||
createReactions.validateAgentRewardSumm(store, apolloClient, {
|
||||
rewardConditionField: 'selectIndAgentRewardCondition',
|
||||
rewardSummField: 'tbxIndAgentRewardSumm',
|
||||
|
||||
@ -172,4 +172,14 @@ export function commonReactions({ store, apolloClient }: ReactionsContext) {
|
||||
);
|
||||
}
|
||||
|
||||
export function validationReactions({ store, apolloClient }: ReactionsContext) {}
|
||||
export function validationReactions({ store, apolloClient }: ReactionsContext) {
|
||||
createReactions.validateAgentRewardSumm(store, apolloClient, {
|
||||
rewardConditionField: 'selectDealerRewardCondition',
|
||||
rewardSummField: 'tbxDealerRewardSumm',
|
||||
});
|
||||
|
||||
createReactions.validateAgentRewardSumm(store, apolloClient, {
|
||||
rewardConditionField: 'selectDealerBrokerRewardCondition',
|
||||
rewardSummField: 'tbxDealerBrokerRewardSumm',
|
||||
});
|
||||
}
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user