Добавить валидацию на кнопку Рассчитать:
если tbxDealerRewardSumm > 0 и
если selectDealerPerson = selectDealerBroker и tbxDealerBrokerRewardSumm > 0, то ругаться на selectDealerPerson
если selectDealerPerson = selectIndAgent и tbxIndAgentRewardSumm > 0, то ругаться на selectDealerPerson
если selectDealerPerson = selectCalcDoubleAgent и tbxCalcDoubleAgentRewardSumm > 0, то ругаться на selectDealerPerson
если selectDealerPerson = selectCalcBroker tbxCalcBrokerRewardSum > 0, то ругаться на selectDealerPerson
если selectDealerPerson = selectFinDepartment и tbxFinDepartmentRewardSumm > 0, то ругаться на selectDealerPerson
2.если tbxDealerBrokerRewardSumm > 0 и
если selectDealerBroker = selectDealerPerson и tbxDealerRewardSumm > 0, то ругаться на selectDealerBroker
если selectDealerBroker = selectIndAgent и tbxIndAgentRewardSumm > 0, то ругаться на selectDealerBroker
если selectDealerBroker = selectCalcDoubleAgent и tbxCalcDoubleAgentRewardSumm > 0, то ругаться на selectDealerBroker
если selectDealerBroker = selectCalcBroker tbxCalcBrokerRewardSum > 0, то ругаться на selectDealerBroker
если selectDealerBroker = selectFinDepartment и tbxFinDepartmentRewardSumm > 0, то ругаться на selectDealerBroker
3. если tbxIndAgentRewardSumm > 0 и
если selectIndAgent = selectDealerPerson и tbxDealerRewardSumm > 0, то ругаться на selectIndAgent
если selectIndAgent = selectDealerBroker и tbxDealerBrokerRewardSumm > 0, то ругаться на selectIndAgent
если selectIndAgent = selectCalcDoubleAgent и tbxCalcDoubleAgentRewardSumm > 0, то ругаться на selectIndAgent
если selectIndAgent = selectCalcBroker tbxCalcBrokerRewardSum > 0, то ругаться на selectIndAgent
если selectIndAgent = selectFinDepartment и tbxFinDepartmentRewardSumm > 0, то ругаться на selectIndAgent
4. если tbxCalcDoubleAgentRewardSumm > 0 и
если selectCalcDoubleAgent = selectDealerPerson и tbxDealerRewardSumm > 0, то ругаться на selectCalcDoubleAgent
если selectCalcDoubleAgent = selectDealerBroker и tbxDealerBrokerRewardSumm > 0, то ругаться на selectCalcDoubleAgent
если selectCalcDoubleAgent = sselectIndAgent и tbxIndAgentRewardSumm > 0, то ругаться на selectCalcDoubleAgent
если selectCalcDoubleAgent = selectCalcBroker tbxCalcBrokerRewardSum > 0, то ругаться на selectCalcDoubleAgent
если selectCalcDoubleAgent = selectFinDepartment и tbxFinDepartmentRewardSumm > 0, то ругаться на selectCalcDoubleAgent
5. если tbxCalcBrokerRewardSum > 0 и
если selectCalcBroker = selectDealerPerson и tbxDealerRewardSumm > 0, то ругаться на selectCalcBroker
если selectCalcBroker = selectDealerBroker и tbxDealerBrokerRewardSumm > 0, то ругаться на selectCalcBroker
если selectCalcBroker = sselectIndAgent и tbxIndAgentRewardSumm > 0, то ругаться на selectCalcBroker
если selectCalcBroker = selectCalcDoubleAgent и tbxCalcDoubleAgentRewardSumm > 0, то ругаться на selectCalcBroker
если selectCalcBroker = selectFinDepartment и tbxFinDepartmentRewardSumm > 0, то ругаться на selectCalcBroker
6. если tbxFinDepartmentRewardSumm > 0 и
если selectFinDepartment = selectDealerPerson и tbxDealerRewardSumm > 0, то ругаться на selectFinDepartment
если selectFinDepartment = selectDealerBroker и tbxDealerBrokerRewardSumm > 0, то ругаться на selectFinDepartment
если selectFinDepartment = sselectIndAgent и tbxIndAgentRewardSumm > 0, то ругаться на selectFinDepartment
если selectFinDepartment = selectCalcDoubleAgent и tbxCalcDoubleAgentRewardSumm > 0, то ругаться на selectFinDepartment
если selectFinDepartment = selectCalcBroker tbxCalcBrokerRewardSum > 0, то ругаться на selectFinDepartment
This commit is contained in:
parent
66f60bbb91
commit
5a6db6c837
@ -1,9 +1,10 @@
|
||||
/* eslint-disable max-len */
|
||||
/* eslint-disable @typescript-eslint/naming-convention */
|
||||
import { gql } from '@apollo/client';
|
||||
import dayjs from 'dayjs';
|
||||
import utc from 'dayjs/plugin/utc';
|
||||
import type * as CRMTypes from 'graphql/crm.types';
|
||||
import { reaction } from 'mobx';
|
||||
import { autorun, reaction } from 'mobx';
|
||||
import type { ReactionsContext } from 'process/types';
|
||||
import { makeDisposable } from 'tools/mobx';
|
||||
import * as createReactions from '../lib/create-reactions';
|
||||
@ -551,6 +552,8 @@ export function commonReactions({ store, apolloClient }: ReactionsContext) {
|
||||
}
|
||||
|
||||
export function validationReactions({ store, apolloClient }: ReactionsContext) {
|
||||
const { $calculation } = store;
|
||||
|
||||
createReactions.validateAgentRewardSumm(store, apolloClient, {
|
||||
rewardConditionField: 'selectIndAgentRewardCondition',
|
||||
rewardSummField: 'tbxIndAgentRewardSumm',
|
||||
@ -570,4 +573,140 @@ export function validationReactions({ store, apolloClient }: ReactionsContext) {
|
||||
rewardConditionField: 'selectFinDepartmentRewardCondtion',
|
||||
rewardSummField: 'tbxFinDepartmentRewardSumm',
|
||||
});
|
||||
|
||||
/** * Добавить валидацию на кнопку Рассчитать:
|
||||
если tbxDealerRewardSumm > 0 и
|
||||
если selectDealerPerson = selectDealerBroker и tbxDealerBrokerRewardSumm > 0, то ругаться на selectDealerPerson
|
||||
если selectDealerPerson = selectIndAgent и tbxIndAgentRewardSumm > 0, то ругаться на selectDealerPerson
|
||||
если selectDealerPerson = selectCalcDoubleAgent и tbxCalcDoubleAgentRewardSumm > 0, то ругаться на selectDealerPerson
|
||||
если selectDealerPerson = selectCalcBroker tbxCalcBrokerRewardSum > 0, то ругаться на selectDealerPerson
|
||||
если selectDealerPerson = selectFinDepartment и tbxFinDepartmentRewardSumm > 0, то ругаться на selectDealerPerson
|
||||
2.если tbxDealerBrokerRewardSumm > 0 и
|
||||
|
||||
если selectDealerBroker = selectDealerPerson и tbxDealerRewardSumm > 0, то ругаться на selectDealerBroker
|
||||
если selectDealerBroker = selectIndAgent и tbxIndAgentRewardSumm > 0, то ругаться на selectDealerBroker
|
||||
если selectDealerBroker = selectCalcDoubleAgent и tbxCalcDoubleAgentRewardSumm > 0, то ругаться на selectDealerBroker
|
||||
если selectDealerBroker = selectCalcBroker tbxCalcBrokerRewardSum > 0, то ругаться на selectDealerBroker
|
||||
если selectDealerBroker = selectFinDepartment и tbxFinDepartmentRewardSumm > 0, то ругаться на selectDealerBroker
|
||||
3. если tbxIndAgentRewardSumm > 0 и
|
||||
|
||||
если selectIndAgent = selectDealerPerson и tbxDealerRewardSumm > 0, то ругаться на selectIndAgent
|
||||
если selectIndAgent = selectDealerBroker и tbxDealerBrokerRewardSumm > 0, то ругаться на selectIndAgent
|
||||
если selectIndAgent = selectCalcDoubleAgent и tbxCalcDoubleAgentRewardSumm > 0, то ругаться на selectIndAgent
|
||||
если selectIndAgent = selectCalcBroker tbxCalcBrokerRewardSum > 0, то ругаться на selectIndAgent
|
||||
если selectIndAgent = selectFinDepartment и tbxFinDepartmentRewardSumm > 0, то ругаться на selectIndAgent
|
||||
4. если tbxCalcDoubleAgentRewardSumm > 0 и
|
||||
|
||||
если selectCalcDoubleAgent = selectDealerPerson и tbxDealerRewardSumm > 0, то ругаться на selectCalcDoubleAgent
|
||||
если selectCalcDoubleAgent = selectDealerBroker и tbxDealerBrokerRewardSumm > 0, то ругаться на selectCalcDoubleAgent
|
||||
если selectCalcDoubleAgent = sselectIndAgent и tbxIndAgentRewardSumm > 0, то ругаться на selectCalcDoubleAgent
|
||||
если selectCalcDoubleAgent = selectCalcBroker tbxCalcBrokerRewardSum > 0, то ругаться на selectCalcDoubleAgent
|
||||
если selectCalcDoubleAgent = selectFinDepartment и tbxFinDepartmentRewardSumm > 0, то ругаться на selectCalcDoubleAgent
|
||||
5. если tbxCalcBrokerRewardSum > 0 и
|
||||
|
||||
если selectCalcBroker = selectDealerPerson и tbxDealerRewardSumm > 0, то ругаться на selectCalcBroker
|
||||
если selectCalcBroker = selectDealerBroker и tbxDealerBrokerRewardSumm > 0, то ругаться на selectCalcBroker
|
||||
если selectCalcBroker = sselectIndAgent и tbxIndAgentRewardSumm > 0, то ругаться на selectCalcBroker
|
||||
если selectCalcBroker = selectCalcDoubleAgent и tbxCalcDoubleAgentRewardSumm > 0, то ругаться на selectCalcBroker
|
||||
если selectCalcBroker = selectFinDepartment и tbxFinDepartmentRewardSumm > 0, то ругаться на selectCalcBroker
|
||||
6. если tbxFinDepartmentRewardSumm > 0 и
|
||||
|
||||
если selectFinDepartment = selectDealerPerson и tbxDealerRewardSumm > 0, то ругаться на selectFinDepartment
|
||||
если selectFinDepartment = selectDealerBroker и tbxDealerBrokerRewardSumm > 0, то ругаться на selectFinDepartment
|
||||
если selectFinDepartment = sselectIndAgent и tbxIndAgentRewardSumm > 0, то ругаться на selectFinDepartment
|
||||
если selectFinDepartment = selectCalcDoubleAgent и tbxCalcDoubleAgentRewardSumm > 0, то ругаться на selectFinDepartment
|
||||
если selectFinDepartment = selectCalcBroker tbxCalcBrokerRewardSum > 0, то ругаться на selectFinDepartment
|
||||
*/
|
||||
|
||||
autorun(() => {
|
||||
const dealerRewardSumm = $calculation.element('tbxDealerRewardSumm').getValue();
|
||||
const dealerBrokerRewardSumm = $calculation.element('tbxDealerBrokerRewardSumm').getValue();
|
||||
const indAgentRewardSumm = $calculation.element('tbxIndAgentRewardSumm').getValue();
|
||||
const calcDoubleAgentRewardSumm = $calculation
|
||||
.element('tbxCalcDoubleAgentRewardSumm')
|
||||
.getValue();
|
||||
const calcBrokerRewardSum = $calculation.element('tbxCalcBrokerRewardSum').getValue();
|
||||
const finDepartmentRewardSumm = $calculation.element('tbxFinDepartmentRewardSumm').getValue();
|
||||
|
||||
const dealerPerson = $calculation.element('selectDealerPerson').getValue();
|
||||
const dealerBroker = $calculation.element('selectDealerBroker').getValue();
|
||||
const indAgent = $calculation.element('selectIndAgent').getValue();
|
||||
const calcDoubleAgent = $calculation.element('selectCalcDoubleAgent').getValue();
|
||||
const calcBroker = $calculation.element('selectCalcBroker').getValue();
|
||||
const calcFinDepartment = $calculation.element('selectCalcFinDepartment').getValue();
|
||||
|
||||
const message = 'Вы закладываете вознаграждение одному и тому же агенту дважды';
|
||||
|
||||
$calculation.element('selectDealerPerson').validate({
|
||||
invalid:
|
||||
dealerRewardSumm > 0 &&
|
||||
!!dealerPerson &&
|
||||
((dealerPerson === dealerBroker && dealerBrokerRewardSumm > 0) ||
|
||||
(dealerPerson === indAgent && indAgentRewardSumm > 0) ||
|
||||
(dealerPerson === calcDoubleAgent && calcDoubleAgentRewardSumm > 0) ||
|
||||
(dealerPerson === calcBroker && calcBrokerRewardSum > 0) ||
|
||||
(dealerPerson === calcFinDepartment && finDepartmentRewardSumm > 0)),
|
||||
message,
|
||||
});
|
||||
|
||||
$calculation.element('selectDealerBroker').validate({
|
||||
invalid:
|
||||
dealerBrokerRewardSumm > 0 &&
|
||||
!!dealerBroker &&
|
||||
((dealerBroker === dealerPerson && dealerRewardSumm > 0) ||
|
||||
(dealerBroker === indAgent && indAgentRewardSumm > 0) ||
|
||||
(dealerBroker === calcDoubleAgent && calcDoubleAgentRewardSumm > 0) ||
|
||||
(dealerBroker === calcBroker && calcBrokerRewardSum > 0) ||
|
||||
(dealerBroker === calcFinDepartment && finDepartmentRewardSumm > 0)),
|
||||
message,
|
||||
});
|
||||
|
||||
$calculation.element('selectIndAgent').validate({
|
||||
invalid:
|
||||
indAgentRewardSumm > 0 &&
|
||||
!!indAgent &&
|
||||
((indAgent === dealerPerson && dealerRewardSumm > 0) ||
|
||||
(indAgent === dealerBroker && dealerBrokerRewardSumm > 0) ||
|
||||
(indAgent === calcDoubleAgent && calcDoubleAgentRewardSumm > 0) ||
|
||||
(indAgent === calcBroker && calcBrokerRewardSum > 0) ||
|
||||
(indAgent === calcFinDepartment && finDepartmentRewardSumm > 0)),
|
||||
message,
|
||||
});
|
||||
|
||||
$calculation.element('selectCalcDoubleAgent').validate({
|
||||
invalid:
|
||||
calcDoubleAgentRewardSumm > 0 &&
|
||||
!!calcDoubleAgent &&
|
||||
((calcDoubleAgent === dealerPerson && dealerRewardSumm > 0) ||
|
||||
(calcDoubleAgent === dealerBroker && dealerBrokerRewardSumm > 0) ||
|
||||
(calcDoubleAgent === indAgent && indAgentRewardSumm > 0) ||
|
||||
(calcDoubleAgent === calcBroker && calcBrokerRewardSum > 0) ||
|
||||
(calcDoubleAgent === calcFinDepartment && finDepartmentRewardSumm > 0)),
|
||||
message,
|
||||
});
|
||||
|
||||
$calculation.element('selectCalcBroker').validate({
|
||||
invalid:
|
||||
calcBrokerRewardSum > 0 &&
|
||||
!!calcBroker &&
|
||||
((calcBroker === dealerPerson && dealerRewardSumm > 0) ||
|
||||
(calcBroker === dealerBroker && dealerBrokerRewardSumm > 0) ||
|
||||
(calcBroker === indAgent && indAgentRewardSumm > 0) ||
|
||||
(calcBroker === calcDoubleAgent && calcDoubleAgentRewardSumm > 0) ||
|
||||
(calcBroker === calcFinDepartment && finDepartmentRewardSumm > 0)),
|
||||
message,
|
||||
});
|
||||
|
||||
$calculation.element('selectCalcFinDepartment').validate({
|
||||
invalid:
|
||||
finDepartmentRewardSumm > 0 &&
|
||||
!!calcFinDepartment &&
|
||||
((calcFinDepartment === dealerPerson && dealerRewardSumm > 0) ||
|
||||
(calcFinDepartment === dealerBroker && dealerBrokerRewardSumm > 0) ||
|
||||
(calcFinDepartment === indAgent && indAgentRewardSumm > 0) ||
|
||||
(calcFinDepartment === calcDoubleAgent && calcDoubleAgentRewardSumm > 0) ||
|
||||
(calcFinDepartment === calcBroker && calcBrokerRewardSum > 0)),
|
||||
message,
|
||||
});
|
||||
});
|
||||
}
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user