effects: with modal
This commit is contained in:
parent
12f8e93fc2
commit
86817d4928
@ -3,7 +3,7 @@ const modalData = { modal: { isModalVisible: false, modalText: undefined } };
|
||||
const modalActions = {
|
||||
showModal(text) {
|
||||
this.modal.modalText = text;
|
||||
this.modal.isModalVisible = false;
|
||||
this.modal.isModalVisible = true;
|
||||
},
|
||||
closeModal() {
|
||||
this.modal.isModalVisible = false;
|
||||
|
||||
@ -170,10 +170,15 @@ const reactionEffects: IReactionEffect[] = [
|
||||
entityName: 'account',
|
||||
where: { accountid: opportunity.evo_accountid },
|
||||
}).then(accounts => {
|
||||
calculationStore.setValue(
|
||||
'clientRisk',
|
||||
accounts[0].evo_client_riskid || null,
|
||||
);
|
||||
if (
|
||||
accounts &&
|
||||
accounts.length > 0 &&
|
||||
accounts[0].evo_client_riskid
|
||||
)
|
||||
calculationStore.setValue(
|
||||
'clientRisk',
|
||||
accounts[0].evo_client_riskid || null,
|
||||
);
|
||||
});
|
||||
}
|
||||
}
|
||||
@ -215,6 +220,75 @@ const reactionEffects: IReactionEffect[] = [
|
||||
},
|
||||
}),
|
||||
|
||||
calculationStore => ({
|
||||
expression: () => {
|
||||
const { channel } = calculationStore.values;
|
||||
return channel;
|
||||
},
|
||||
effect: channel => {
|
||||
switch (channel) {
|
||||
case 100000000:
|
||||
calculationStore.setStatus('selectSupplier', Status.Default);
|
||||
calculationStore.setStatus('selectAgent', Status.Default);
|
||||
|
||||
calculationStore.setStatus('selectFinDepartment', Status.Disabled);
|
||||
calculationStore.setValue('finDepartment', undefined);
|
||||
|
||||
calculationStore.setStatus('selectBroker', Status.Disabled);
|
||||
calculationStore.setValue('broker', undefined);
|
||||
break;
|
||||
|
||||
case 100000001:
|
||||
calculationStore.setStatus('selectSupplier', Status.Default);
|
||||
calculationStore.setStatus('selectAgent', Status.Default);
|
||||
|
||||
calculationStore.setStatus('selectFinDepartment', Status.Default);
|
||||
|
||||
calculationStore.setStatus('selectBroker', Status.Disabled);
|
||||
calculationStore.setValue('broker', undefined);
|
||||
break;
|
||||
case 100000002:
|
||||
calculationStore.setStatus('selectSupplier', Status.Disabled);
|
||||
calculationStore.setValue('supplier', undefined);
|
||||
|
||||
calculationStore.setStatus('selectAgent', Status.Default);
|
||||
|
||||
calculationStore.setStatus('selectFinDepartment', Status.Disabled);
|
||||
calculationStore.setValue('finDepartment', undefined);
|
||||
|
||||
calculationStore.setStatus('selectBroker', Status.Disabled);
|
||||
calculationStore.setValue('broker', undefined);
|
||||
break;
|
||||
case 100000003:
|
||||
calculationStore.setStatus('selectSupplier', Status.Disabled);
|
||||
calculationStore.setValue('supplier', undefined);
|
||||
|
||||
calculationStore.setStatus('selectAgent', Status.Default);
|
||||
calculationStore.setValue('agent', undefined);
|
||||
|
||||
calculationStore.setStatus('selectFinDepartment', Status.Disabled);
|
||||
calculationStore.setValue('finDepartment', undefined);
|
||||
|
||||
calculationStore.setStatus('selectBroker', Status.Default);
|
||||
break;
|
||||
case 100000004:
|
||||
default:
|
||||
calculationStore.setStatus('selectSupplier', Status.Disabled);
|
||||
calculationStore.setValue('supplier', undefined);
|
||||
|
||||
calculationStore.setStatus('selectAgent', Status.Disabled);
|
||||
calculationStore.setValue('agent', undefined);
|
||||
|
||||
calculationStore.setStatus('selectFinDepartment', Status.Disabled);
|
||||
calculationStore.setValue('finDepartment', undefined);
|
||||
|
||||
calculationStore.setStatus('selectBroker', Status.Disabled);
|
||||
calculationStore.setValue('broker', undefined);
|
||||
break;
|
||||
}
|
||||
},
|
||||
}),
|
||||
|
||||
calculationStore => ({
|
||||
expression: () => {
|
||||
const { newClient } = calculationStore.values;
|
||||
@ -566,69 +640,158 @@ const reactionEffects: IReactionEffect[] = [
|
||||
|
||||
calculationStore => ({
|
||||
expression: () => {
|
||||
const { channel } = calculationStore.values;
|
||||
return channel;
|
||||
const { indAgentRewardSumm } = calculationStore.values;
|
||||
return indAgentRewardSumm;
|
||||
},
|
||||
effect: channel => {
|
||||
switch (channel) {
|
||||
case 100000000:
|
||||
calculationStore.setStatus('selectSupplier', Status.Default);
|
||||
calculationStore.setStatus('selectAgent', Status.Default);
|
||||
effect: indAgentRewardSumm => {
|
||||
const indAgentRewardConditionId =
|
||||
calculationStore.values.indAgentRewardCondition;
|
||||
if (indAgentRewardConditionId) {
|
||||
const indAgentRewardCondition = calculationStore.options.selectIndAgentRewardCondition?.find(
|
||||
x => x.evo_reward_conditionid === indAgentRewardConditionId,
|
||||
);
|
||||
if (indAgentRewardCondition) {
|
||||
if (
|
||||
!indAgentRewardCondition.evo_reduce_reward &&
|
||||
indAgentRewardCondition.evo_reward_summ
|
||||
) {
|
||||
if (indAgentRewardSumm < indAgentRewardCondition.evo_reward_summ) {
|
||||
calculationStore.showModal(
|
||||
'Вознаграждение агента ФЛ указано меньше условия по агентскому договору! \nЗначение установлено по условию договора.',
|
||||
);
|
||||
}
|
||||
}
|
||||
if (indAgentRewardCondition.evo_reward_summ) {
|
||||
if (indAgentRewardSumm > indAgentRewardCondition.evo_reward_summ) {
|
||||
calculationStore.showModal(
|
||||
'Вознаграждение агента ФЛ указано больше условия по агентскому договору! \nЗначение установлено по условию договора.',
|
||||
);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
}),
|
||||
|
||||
calculationStore.setStatus('selectFinDepartment', Status.Disabled);
|
||||
calculationStore.setValue('finDepartment', undefined);
|
||||
calculationStore => ({
|
||||
expression: () => {
|
||||
const { calcDoubleAgentRewardSumm } = calculationStore.values;
|
||||
return calcDoubleAgentRewardSumm;
|
||||
},
|
||||
effect: calcDoubleAgentRewardSumm => {
|
||||
const calcDoubleAgentRewardConditionId =
|
||||
calculationStore.values.calcDoubleAgentRewardCondition;
|
||||
if (calcDoubleAgentRewardConditionId) {
|
||||
const selectCalcDoubleAgentRewardCondition = calculationStore.options.selectCalcDoubleAgentRewardCondition?.find(
|
||||
x => x.evo_reward_conditionid === calcDoubleAgentRewardConditionId,
|
||||
);
|
||||
if (selectCalcDoubleAgentRewardCondition) {
|
||||
if (
|
||||
!selectCalcDoubleAgentRewardCondition.evo_reduce_reward &&
|
||||
selectCalcDoubleAgentRewardCondition.evo_reward_summ
|
||||
) {
|
||||
if (
|
||||
calcDoubleAgentRewardSumm <
|
||||
selectCalcDoubleAgentRewardCondition.evo_reward_summ
|
||||
) {
|
||||
calculationStore.showModal(
|
||||
'Вознаграждение двойного агента указано меньше условия по агентскому договору! \nЗначение установлено по условию договора.',
|
||||
);
|
||||
}
|
||||
}
|
||||
if (selectCalcDoubleAgentRewardCondition.evo_reward_summ) {
|
||||
if (
|
||||
calcDoubleAgentRewardSumm >
|
||||
selectCalcDoubleAgentRewardCondition.evo_reward_summ
|
||||
) {
|
||||
calculationStore.showModal(
|
||||
'Вознаграждение двойного агента указано больше условия по агентскому договору! \nЗначение установлено по условию договора.',
|
||||
);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
}),
|
||||
|
||||
calculationStore.setStatus('selectBroker', Status.Disabled);
|
||||
calculationStore.setValue('broker', undefined);
|
||||
break;
|
||||
calculationStore => ({
|
||||
expression: () => {
|
||||
const { calcBrokerRewardSum } = calculationStore.values;
|
||||
return calcBrokerRewardSum;
|
||||
},
|
||||
effect: calcBrokerRewardSum => {
|
||||
const calcBrokerRewardConditionId =
|
||||
calculationStore.values.calcBrokerRewardCondition;
|
||||
if (calcBrokerRewardConditionId) {
|
||||
const selectCalcBrokerRewardCondition = calculationStore.options.selectCalcBrokerRewardCondition?.find(
|
||||
x => x.evo_reward_conditionid === calcBrokerRewardConditionId,
|
||||
);
|
||||
if (selectCalcBrokerRewardCondition) {
|
||||
if (
|
||||
!selectCalcBrokerRewardCondition.evo_reduce_reward &&
|
||||
selectCalcBrokerRewardCondition.evo_reward_summ
|
||||
) {
|
||||
if (
|
||||
calcBrokerRewardSum <
|
||||
selectCalcBrokerRewardCondition.evo_reward_summ
|
||||
) {
|
||||
calculationStore.showModal(
|
||||
'Вознаграждение брокера указано меньше условия по агентскому договору! \nЗначение установлено по условию договора.',
|
||||
);
|
||||
}
|
||||
}
|
||||
if (selectCalcBrokerRewardCondition.evo_reward_summ) {
|
||||
if (
|
||||
calcBrokerRewardSum >
|
||||
selectCalcBrokerRewardCondition.evo_reward_summ
|
||||
) {
|
||||
calculationStore.showModal(
|
||||
'Вознаграждение брокера указано больше условия по агентскому договору! \nЗначение установлено по условию договора.',
|
||||
);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
}),
|
||||
|
||||
case 100000001:
|
||||
calculationStore.setStatus('selectSupplier', Status.Default);
|
||||
calculationStore.setStatus('selectAgent', Status.Default);
|
||||
|
||||
calculationStore.setStatus('selectFinDepartment', Status.Default);
|
||||
|
||||
calculationStore.setStatus('selectBroker', Status.Disabled);
|
||||
calculationStore.setValue('broker', undefined);
|
||||
break;
|
||||
case 100000002:
|
||||
calculationStore.setStatus('selectSupplier', Status.Disabled);
|
||||
calculationStore.setValue('supplier', undefined);
|
||||
|
||||
calculationStore.setStatus('selectAgent', Status.Default);
|
||||
|
||||
calculationStore.setStatus('selectFinDepartment', Status.Disabled);
|
||||
calculationStore.setValue('finDepartment', undefined);
|
||||
|
||||
calculationStore.setStatus('selectBroker', Status.Disabled);
|
||||
calculationStore.setValue('broker', undefined);
|
||||
break;
|
||||
case 100000003:
|
||||
calculationStore.setStatus('selectSupplier', Status.Disabled);
|
||||
calculationStore.setValue('supplier', undefined);
|
||||
|
||||
calculationStore.setStatus('selectAgent', Status.Default);
|
||||
calculationStore.setValue('agent', undefined);
|
||||
|
||||
calculationStore.setStatus('selectFinDepartment', Status.Disabled);
|
||||
calculationStore.setValue('finDepartment', undefined);
|
||||
|
||||
calculationStore.setStatus('selectBroker', Status.Default);
|
||||
break;
|
||||
case 100000004:
|
||||
default:
|
||||
calculationStore.setStatus('selectSupplier', Status.Disabled);
|
||||
calculationStore.setValue('supplier', undefined);
|
||||
|
||||
calculationStore.setStatus('selectAgent', Status.Disabled);
|
||||
calculationStore.setValue('agent', undefined);
|
||||
|
||||
calculationStore.setStatus('selectFinDepartment', Status.Disabled);
|
||||
calculationStore.setValue('finDepartment', undefined);
|
||||
|
||||
calculationStore.setStatus('selectBroker', Status.Disabled);
|
||||
calculationStore.setValue('broker', undefined);
|
||||
break;
|
||||
calculationStore => ({
|
||||
expression: () => {
|
||||
const { finDepartmentRewardSumm } = calculationStore.values;
|
||||
return finDepartmentRewardSumm;
|
||||
},
|
||||
effect: finDepartmentRewardSumm => {
|
||||
const finDepartmentRewardCondtionid =
|
||||
calculationStore.values.finDepartmentRewardCondtion;
|
||||
if (finDepartmentRewardCondtionid) {
|
||||
const selectFinDepartmentRewardCondtion = calculationStore.options.selectFinDepartmentRewardCondtion?.find(
|
||||
x => x.evo_reward_conditionid === finDepartmentRewardCondtionid,
|
||||
);
|
||||
if (selectFinDepartmentRewardCondtion) {
|
||||
if (
|
||||
!selectFinDepartmentRewardCondtion.evo_reduce_reward &&
|
||||
selectFinDepartmentRewardCondtion.evo_reward_summ
|
||||
) {
|
||||
if (
|
||||
finDepartmentRewardSumm <
|
||||
selectFinDepartmentRewardCondtion.evo_reward_summ
|
||||
) {
|
||||
calculationStore.showModal(
|
||||
'Вознаграждение финотдела указано меньше условия по агентскому договору! \nЗначение установлено по условию договора.',
|
||||
);
|
||||
}
|
||||
}
|
||||
if (selectFinDepartmentRewardCondtion.evo_reward_summ) {
|
||||
if (
|
||||
finDepartmentRewardSumm >
|
||||
selectFinDepartmentRewardCondtion.evo_reward_summ
|
||||
) {
|
||||
calculationStore.showModal(
|
||||
'Вознаграждение финотдела указано больше условия по агентскому договору! \nЗначение установлено по условию договора.',
|
||||
);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
}),
|
||||
|
||||
@ -353,6 +353,7 @@ const entityFakeData: {
|
||||
evo_reward_conditionid: REWARD_CONDITION_2_ID,
|
||||
evo_name: 'Не более 2%',
|
||||
evo_reward_summ: 2,
|
||||
evo_reduce_reward: true,
|
||||
},
|
||||
{
|
||||
statecode: 0,
|
||||
@ -367,34 +368,37 @@ const entityFakeData: {
|
||||
evo_reward_conditionid: REWARD_CONDITION_4_ID,
|
||||
evo_name: 'Не более 10%',
|
||||
evo_reward_summ: 10,
|
||||
evo_reduce_reward: true,
|
||||
},
|
||||
{
|
||||
statecode: 0,
|
||||
evo_agent_accountid: ACCOUNT_5_ID,
|
||||
evo_reward_conditionid: REWARD_CONDITION_5_ID,
|
||||
evo_name: 'Не более 15%',
|
||||
evo_reward_summ: 15,
|
||||
evo_name: 'Не более 7%',
|
||||
evo_reward_summ: 7,
|
||||
},
|
||||
{
|
||||
statecode: 0,
|
||||
evo_agent_accountid: ACCOUNT_5_ID,
|
||||
evo_reward_conditionid: REWARD_CONDITION_6_ID,
|
||||
evo_name: 'Не более 20%',
|
||||
evo_reward_summ: 20,
|
||||
evo_name: 'Не более 8%',
|
||||
evo_reward_summ: 8,
|
||||
evo_reduce_reward: true,
|
||||
},
|
||||
{
|
||||
statecode: 0,
|
||||
evo_agent_accountid: ACCOUNT_4_ID,
|
||||
evo_reward_conditionid: REWARD_CONDITION_7_ID,
|
||||
evo_name: 'Не более 30%',
|
||||
evo_reward_summ: 30,
|
||||
evo_name: 'Не более 3%',
|
||||
evo_reward_summ: 3,
|
||||
},
|
||||
{
|
||||
statecode: 0,
|
||||
evo_agent_accountid: ACCOUNT_4_ID,
|
||||
evo_reward_conditionid: REWARD_CONDITION_8_ID,
|
||||
evo_name: 'Не более 40%',
|
||||
evo_reward_summ: 40,
|
||||
evo_name: 'Не более 4%',
|
||||
evo_reward_summ: 4,
|
||||
evo_reduce_reward: true,
|
||||
},
|
||||
],
|
||||
};
|
||||
|
||||
@ -91,6 +91,7 @@ export interface IEvoRewardCondition extends IBaseOption {
|
||||
evo_double_agent_accountid?: string;
|
||||
evo_reward_summ?: number;
|
||||
statecode?: number;
|
||||
evo_reduce_reward?: boolean;
|
||||
}
|
||||
|
||||
export interface IEvoGPSBrand extends IBaseOption {
|
||||
|
||||
Reference in New Issue
Block a user