@redneckz/wildless-cms-uni-blocks 0.14.916 → 0.14.918
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/bundle/bundle.umd.js +160 -121
- package/bundle/bundle.umd.min.js +1 -1
- package/bundle/components/ApplicationLeadForm/useInitApplicationLead.d.ts +0 -2
- package/bundle/retail/api/getDictionaries.d.ts +2 -0
- package/bundle/retail/components/Fields/BankEmployeeCodeField.d.ts +3 -1
- package/bundle/retail/hooks/useReferalProgramm.d.ts +1 -0
- package/bundle/retail/model/LeadFormState.d.ts +1 -1
- package/bundle/retail/model/NameFieldDef.d.ts +1 -1
- package/bundle/retail/utils/getOrganizationParams.d.ts +6 -0
- package/bundle/retail/validator/validators.d.ts +2 -0
- package/bundle/ui-kit/FormField/validators.d.ts +1 -0
- package/dist/components/ApplicationLeadForm/useApplicationLeadApi.js +3 -1
- package/dist/components/ApplicationLeadForm/useApplicationLeadApi.js.map +1 -1
- package/dist/components/ApplicationLeadForm/useInitApplicationLead.d.ts +0 -2
- package/dist/components/ApplicationLeadForm/useInitApplicationLead.js +5 -21
- package/dist/components/ApplicationLeadForm/useInitApplicationLead.js.map +1 -1
- package/dist/components/CreditCardForm/creditCardFormStepsData.js +21 -18
- package/dist/components/CreditCardForm/creditCardFormStepsData.js.map +1 -1
- package/dist/components/CreditCardForm/formStateMap.js +6 -0
- package/dist/components/CreditCardForm/formStateMap.js.map +1 -1
- package/dist/components/CreditForm/creditFormStepsData.js +14 -17
- package/dist/components/CreditForm/creditFormStepsData.js.map +1 -1
- package/dist/retail/adaptors/getPersonalInfoData.js +1 -9
- package/dist/retail/adaptors/getPersonalInfoData.js.map +1 -1
- package/dist/retail/api/getDictionaries.d.ts +2 -0
- package/dist/retail/api/getDictionaries.js +13 -0
- package/dist/retail/api/getDictionaries.js.map +1 -0
- package/dist/retail/components/DraftDialog/parseDraftTask.js +1 -0
- package/dist/retail/components/DraftDialog/parseDraftTask.js.map +1 -1
- package/dist/retail/components/Fields/AmountWorkersField.js +0 -8
- package/dist/retail/components/Fields/AmountWorkersField.js.map +1 -1
- package/dist/retail/components/Fields/BankEmployeeCodeField.d.ts +3 -1
- package/dist/retail/components/Fields/BankEmployeeCodeField.js +17 -2
- package/dist/retail/components/Fields/BankEmployeeCodeField.js.map +1 -1
- package/dist/retail/components/Fields/DaDataInnField.js +21 -8
- package/dist/retail/components/Fields/DaDataInnField.js.map +1 -1
- package/dist/retail/components/Fields/EmployerActivitiesField.js +0 -8
- package/dist/retail/components/Fields/EmployerActivitiesField.js.map +1 -1
- package/dist/retail/components/Fields/EmployerOrganizationField.js +0 -8
- package/dist/retail/components/Fields/EmployerOrganizationField.js.map +1 -1
- package/dist/retail/components/Fields/OrganizationField.js +0 -8
- package/dist/retail/components/Fields/OrganizationField.js.map +1 -1
- package/dist/retail/components/Fields/OrganizationNameField.js +12 -2
- package/dist/retail/components/Fields/OrganizationNameField.js.map +1 -1
- package/dist/retail/content.js +4 -11
- package/dist/retail/content.js.map +1 -1
- package/dist/retail/hooks/useReferalProgramm.d.ts +1 -0
- package/dist/retail/hooks/useReferalProgramm.js +43 -0
- package/dist/retail/hooks/useReferalProgramm.js.map +1 -0
- package/dist/retail/inputs.js +1 -1
- package/dist/retail/inputs.js.map +1 -1
- package/dist/retail/model/LeadFormState.d.ts +1 -1
- package/dist/retail/model/NameFieldDef.d.ts +1 -1
- package/dist/retail/utils/getMainFormStateMap.js +1 -6
- package/dist/retail/utils/getMainFormStateMap.js.map +1 -1
- package/dist/retail/utils/getOrganizationParams.d.ts +6 -0
- package/dist/retail/utils/getOrganizationParams.js +7 -1
- package/dist/retail/utils/getOrganizationParams.js.map +1 -1
- package/dist/retail/utils/updateOrganizationFields.js +2 -0
- package/dist/retail/utils/updateOrganizationFields.js.map +1 -1
- package/dist/retail/validator/getRetailFormValidator.js +2 -0
- package/dist/retail/validator/getRetailFormValidator.js.map +1 -1
- package/dist/retail/validator/validators.d.ts +2 -0
- package/dist/retail/validator/validators.js +6 -1
- package/dist/retail/validator/validators.js.map +1 -1
- package/dist/ui-kit/FormField/validators.d.ts +1 -0
- package/dist/ui-kit/FormField/validators.js +4 -3
- package/dist/ui-kit/FormField/validators.js.map +1 -1
- package/lib/components/ApplicationLeadForm/useApplicationLeadApi.js +3 -1
- package/lib/components/ApplicationLeadForm/useApplicationLeadApi.js.map +1 -1
- package/lib/components/ApplicationLeadForm/useInitApplicationLead.d.ts +0 -2
- package/lib/components/ApplicationLeadForm/useInitApplicationLead.js +5 -21
- package/lib/components/ApplicationLeadForm/useInitApplicationLead.js.map +1 -1
- package/lib/components/CreditCardForm/creditCardFormStepsData.js +21 -18
- package/lib/components/CreditCardForm/creditCardFormStepsData.js.map +1 -1
- package/lib/components/CreditCardForm/formStateMap.js +6 -0
- package/lib/components/CreditCardForm/formStateMap.js.map +1 -1
- package/lib/components/CreditForm/creditFormStepsData.js +14 -17
- package/lib/components/CreditForm/creditFormStepsData.js.map +1 -1
- package/lib/retail/adaptors/getPersonalInfoData.js +2 -10
- package/lib/retail/adaptors/getPersonalInfoData.js.map +1 -1
- package/lib/retail/api/getDictionaries.d.ts +2 -0
- package/lib/retail/api/getDictionaries.js +10 -0
- package/lib/retail/api/getDictionaries.js.map +1 -0
- package/lib/retail/components/DraftDialog/parseDraftTask.js +1 -0
- package/lib/retail/components/DraftDialog/parseDraftTask.js.map +1 -1
- package/lib/retail/components/Fields/AmountWorkersField.js +0 -8
- package/lib/retail/components/Fields/AmountWorkersField.js.map +1 -1
- package/lib/retail/components/Fields/BankEmployeeCodeField.d.ts +3 -1
- package/lib/retail/components/Fields/BankEmployeeCodeField.js +17 -2
- package/lib/retail/components/Fields/BankEmployeeCodeField.js.map +1 -1
- package/lib/retail/components/Fields/DaDataInnField.js +22 -9
- package/lib/retail/components/Fields/DaDataInnField.js.map +1 -1
- package/lib/retail/components/Fields/EmployerActivitiesField.js +0 -8
- package/lib/retail/components/Fields/EmployerActivitiesField.js.map +1 -1
- package/lib/retail/components/Fields/EmployerOrganizationField.js +0 -8
- package/lib/retail/components/Fields/EmployerOrganizationField.js.map +1 -1
- package/lib/retail/components/Fields/OrganizationField.js +0 -8
- package/lib/retail/components/Fields/OrganizationField.js.map +1 -1
- package/lib/retail/components/Fields/OrganizationNameField.js +13 -3
- package/lib/retail/components/Fields/OrganizationNameField.js.map +1 -1
- package/lib/retail/content.js +4 -11
- package/lib/retail/content.js.map +1 -1
- package/lib/retail/hooks/useReferalProgramm.d.ts +1 -0
- package/lib/retail/hooks/useReferalProgramm.js +40 -0
- package/lib/retail/hooks/useReferalProgramm.js.map +1 -0
- package/lib/retail/inputs.js +2 -2
- package/lib/retail/inputs.js.map +1 -1
- package/lib/retail/model/LeadFormState.d.ts +1 -1
- package/lib/retail/model/NameFieldDef.d.ts +1 -1
- package/lib/retail/utils/getMainFormStateMap.js +1 -6
- package/lib/retail/utils/getMainFormStateMap.js.map +1 -1
- package/lib/retail/utils/getOrganizationParams.d.ts +6 -0
- package/lib/retail/utils/getOrganizationParams.js +6 -0
- package/lib/retail/utils/getOrganizationParams.js.map +1 -1
- package/lib/retail/utils/updateOrganizationFields.js +2 -0
- package/lib/retail/utils/updateOrganizationFields.js.map +1 -1
- package/lib/retail/validator/getRetailFormValidator.js +3 -1
- package/lib/retail/validator/getRetailFormValidator.js.map +1 -1
- package/lib/retail/validator/validators.d.ts +2 -0
- package/lib/retail/validator/validators.js +3 -0
- package/lib/retail/validator/validators.js.map +1 -1
- package/lib/ui-kit/FormField/validators.d.ts +1 -0
- package/lib/ui-kit/FormField/validators.js +1 -1
- package/lib/ui-kit/FormField/validators.js.map +1 -1
- package/mobile/bundle/bundle.umd.js +160 -121
- package/mobile/bundle/bundle.umd.min.js +1 -1
- package/mobile/bundle/components/ApplicationLeadForm/useInitApplicationLead.d.ts +0 -2
- package/mobile/bundle/retail/api/getDictionaries.d.ts +2 -0
- package/mobile/bundle/retail/components/Fields/BankEmployeeCodeField.d.ts +3 -1
- package/mobile/bundle/retail/hooks/useReferalProgramm.d.ts +1 -0
- package/mobile/bundle/retail/model/LeadFormState.d.ts +1 -1
- package/mobile/bundle/retail/model/NameFieldDef.d.ts +1 -1
- package/mobile/bundle/retail/utils/getOrganizationParams.d.ts +6 -0
- package/mobile/bundle/retail/validator/validators.d.ts +2 -0
- package/mobile/bundle/ui-kit/FormField/validators.d.ts +1 -0
- package/mobile/dist/components/ApplicationLeadForm/useApplicationLeadApi.js +3 -1
- package/mobile/dist/components/ApplicationLeadForm/useApplicationLeadApi.js.map +1 -1
- package/mobile/dist/components/ApplicationLeadForm/useInitApplicationLead.d.ts +0 -2
- package/mobile/dist/components/ApplicationLeadForm/useInitApplicationLead.js +5 -21
- package/mobile/dist/components/ApplicationLeadForm/useInitApplicationLead.js.map +1 -1
- package/mobile/dist/components/CreditCardForm/creditCardFormStepsData.js +21 -18
- package/mobile/dist/components/CreditCardForm/creditCardFormStepsData.js.map +1 -1
- package/mobile/dist/components/CreditCardForm/formStateMap.js +6 -0
- package/mobile/dist/components/CreditCardForm/formStateMap.js.map +1 -1
- package/mobile/dist/components/CreditForm/creditFormStepsData.js +14 -17
- package/mobile/dist/components/CreditForm/creditFormStepsData.js.map +1 -1
- package/mobile/dist/retail/adaptors/getPersonalInfoData.js +1 -9
- package/mobile/dist/retail/adaptors/getPersonalInfoData.js.map +1 -1
- package/mobile/dist/retail/api/getDictionaries.d.ts +2 -0
- package/mobile/dist/retail/api/getDictionaries.js +13 -0
- package/mobile/dist/retail/api/getDictionaries.js.map +1 -0
- package/mobile/dist/retail/components/DraftDialog/parseDraftTask.js +1 -0
- package/mobile/dist/retail/components/DraftDialog/parseDraftTask.js.map +1 -1
- package/mobile/dist/retail/components/Fields/AmountWorkersField.js +0 -8
- package/mobile/dist/retail/components/Fields/AmountWorkersField.js.map +1 -1
- package/mobile/dist/retail/components/Fields/BankEmployeeCodeField.d.ts +3 -1
- package/mobile/dist/retail/components/Fields/BankEmployeeCodeField.js +17 -2
- package/mobile/dist/retail/components/Fields/BankEmployeeCodeField.js.map +1 -1
- package/mobile/dist/retail/components/Fields/DaDataInnField.js +21 -8
- package/mobile/dist/retail/components/Fields/DaDataInnField.js.map +1 -1
- package/mobile/dist/retail/components/Fields/EmployerActivitiesField.js +0 -8
- package/mobile/dist/retail/components/Fields/EmployerActivitiesField.js.map +1 -1
- package/mobile/dist/retail/components/Fields/EmployerOrganizationField.js +0 -8
- package/mobile/dist/retail/components/Fields/EmployerOrganizationField.js.map +1 -1
- package/mobile/dist/retail/components/Fields/OrganizationField.js +0 -8
- package/mobile/dist/retail/components/Fields/OrganizationField.js.map +1 -1
- package/mobile/dist/retail/components/Fields/OrganizationNameField.js +12 -2
- package/mobile/dist/retail/components/Fields/OrganizationNameField.js.map +1 -1
- package/mobile/dist/retail/content.js +4 -11
- package/mobile/dist/retail/content.js.map +1 -1
- package/mobile/dist/retail/hooks/useReferalProgramm.d.ts +1 -0
- package/mobile/dist/retail/hooks/useReferalProgramm.js +43 -0
- package/mobile/dist/retail/hooks/useReferalProgramm.js.map +1 -0
- package/mobile/dist/retail/inputs.js +1 -1
- package/mobile/dist/retail/inputs.js.map +1 -1
- package/mobile/dist/retail/model/LeadFormState.d.ts +1 -1
- package/mobile/dist/retail/model/NameFieldDef.d.ts +1 -1
- package/mobile/dist/retail/utils/getMainFormStateMap.js +1 -6
- package/mobile/dist/retail/utils/getMainFormStateMap.js.map +1 -1
- package/mobile/dist/retail/utils/getOrganizationParams.d.ts +6 -0
- package/mobile/dist/retail/utils/getOrganizationParams.js +7 -1
- package/mobile/dist/retail/utils/getOrganizationParams.js.map +1 -1
- package/mobile/dist/retail/utils/updateOrganizationFields.js +2 -0
- package/mobile/dist/retail/utils/updateOrganizationFields.js.map +1 -1
- package/mobile/dist/retail/validator/getRetailFormValidator.js +2 -0
- package/mobile/dist/retail/validator/getRetailFormValidator.js.map +1 -1
- package/mobile/dist/retail/validator/validators.d.ts +2 -0
- package/mobile/dist/retail/validator/validators.js +6 -1
- package/mobile/dist/retail/validator/validators.js.map +1 -1
- package/mobile/dist/ui-kit/FormField/validators.d.ts +1 -0
- package/mobile/dist/ui-kit/FormField/validators.js +4 -3
- package/mobile/dist/ui-kit/FormField/validators.js.map +1 -1
- package/mobile/lib/components/ApplicationLeadForm/useApplicationLeadApi.js +3 -1
- package/mobile/lib/components/ApplicationLeadForm/useApplicationLeadApi.js.map +1 -1
- package/mobile/lib/components/ApplicationLeadForm/useInitApplicationLead.d.ts +0 -2
- package/mobile/lib/components/ApplicationLeadForm/useInitApplicationLead.js +5 -21
- package/mobile/lib/components/ApplicationLeadForm/useInitApplicationLead.js.map +1 -1
- package/mobile/lib/components/CreditCardForm/creditCardFormStepsData.js +21 -18
- package/mobile/lib/components/CreditCardForm/creditCardFormStepsData.js.map +1 -1
- package/mobile/lib/components/CreditCardForm/formStateMap.js +6 -0
- package/mobile/lib/components/CreditCardForm/formStateMap.js.map +1 -1
- package/mobile/lib/components/CreditForm/creditFormStepsData.js +14 -17
- package/mobile/lib/components/CreditForm/creditFormStepsData.js.map +1 -1
- package/mobile/lib/retail/adaptors/getPersonalInfoData.js +2 -10
- package/mobile/lib/retail/adaptors/getPersonalInfoData.js.map +1 -1
- package/mobile/lib/retail/api/getDictionaries.d.ts +2 -0
- package/mobile/lib/retail/api/getDictionaries.js +10 -0
- package/mobile/lib/retail/api/getDictionaries.js.map +1 -0
- package/mobile/lib/retail/components/DraftDialog/parseDraftTask.js +1 -0
- package/mobile/lib/retail/components/DraftDialog/parseDraftTask.js.map +1 -1
- package/mobile/lib/retail/components/Fields/AmountWorkersField.js +0 -8
- package/mobile/lib/retail/components/Fields/AmountWorkersField.js.map +1 -1
- package/mobile/lib/retail/components/Fields/BankEmployeeCodeField.d.ts +3 -1
- package/mobile/lib/retail/components/Fields/BankEmployeeCodeField.js +17 -2
- package/mobile/lib/retail/components/Fields/BankEmployeeCodeField.js.map +1 -1
- package/mobile/lib/retail/components/Fields/DaDataInnField.js +22 -9
- package/mobile/lib/retail/components/Fields/DaDataInnField.js.map +1 -1
- package/mobile/lib/retail/components/Fields/EmployerActivitiesField.js +0 -8
- package/mobile/lib/retail/components/Fields/EmployerActivitiesField.js.map +1 -1
- package/mobile/lib/retail/components/Fields/EmployerOrganizationField.js +0 -8
- package/mobile/lib/retail/components/Fields/EmployerOrganizationField.js.map +1 -1
- package/mobile/lib/retail/components/Fields/OrganizationField.js +0 -8
- package/mobile/lib/retail/components/Fields/OrganizationField.js.map +1 -1
- package/mobile/lib/retail/components/Fields/OrganizationNameField.js +13 -3
- package/mobile/lib/retail/components/Fields/OrganizationNameField.js.map +1 -1
- package/mobile/lib/retail/content.js +4 -11
- package/mobile/lib/retail/content.js.map +1 -1
- package/mobile/lib/retail/hooks/useReferalProgramm.d.ts +1 -0
- package/mobile/lib/retail/hooks/useReferalProgramm.js +40 -0
- package/mobile/lib/retail/hooks/useReferalProgramm.js.map +1 -0
- package/mobile/lib/retail/inputs.js +2 -2
- package/mobile/lib/retail/inputs.js.map +1 -1
- package/mobile/lib/retail/model/LeadFormState.d.ts +1 -1
- package/mobile/lib/retail/model/NameFieldDef.d.ts +1 -1
- package/mobile/lib/retail/utils/getMainFormStateMap.js +1 -6
- package/mobile/lib/retail/utils/getMainFormStateMap.js.map +1 -1
- package/mobile/lib/retail/utils/getOrganizationParams.d.ts +6 -0
- package/mobile/lib/retail/utils/getOrganizationParams.js +6 -0
- package/mobile/lib/retail/utils/getOrganizationParams.js.map +1 -1
- package/mobile/lib/retail/utils/updateOrganizationFields.js +2 -0
- package/mobile/lib/retail/utils/updateOrganizationFields.js.map +1 -1
- package/mobile/lib/retail/validator/getRetailFormValidator.js +3 -1
- package/mobile/lib/retail/validator/getRetailFormValidator.js.map +1 -1
- package/mobile/lib/retail/validator/validators.d.ts +2 -0
- package/mobile/lib/retail/validator/validators.js +3 -0
- package/mobile/lib/retail/validator/validators.js.map +1 -1
- package/mobile/lib/ui-kit/FormField/validators.d.ts +1 -0
- package/mobile/lib/ui-kit/FormField/validators.js +1 -1
- package/mobile/lib/ui-kit/FormField/validators.js.map +1 -1
- package/mobile/src/components/ApplicationLeadForm/useApplicationLeadApi.tsx +3 -1
- package/mobile/src/components/ApplicationLeadForm/useInitApplicationLead.ts +6 -32
- package/mobile/src/components/CreditCardForm/creditCardFormStepsData.tsx +21 -18
- package/mobile/src/components/CreditCardForm/formStateMap.tsx +6 -0
- package/mobile/src/components/CreditForm/creditFormStepsData.tsx +14 -17
- package/mobile/src/retail/adaptors/getPersonalInfoData.tsx +1 -14
- package/mobile/src/retail/api/getDictionaries.ts +21 -0
- package/mobile/src/retail/components/DraftDialog/parseDraftTask.ts +1 -0
- package/mobile/src/retail/components/Fields/AmountWorkersField.tsx +0 -10
- package/mobile/src/retail/components/Fields/BankEmployeeCodeField.tsx +41 -9
- package/mobile/src/retail/components/Fields/DaDataInnField.tsx +28 -10
- package/mobile/src/retail/components/Fields/EmployerActivitiesField.tsx +0 -10
- package/mobile/src/retail/components/Fields/EmployerOrganizationField.tsx +0 -10
- package/mobile/src/retail/components/Fields/OrganizationField.tsx +0 -10
- package/mobile/src/retail/components/Fields/OrganizationNameField.tsx +17 -2
- package/mobile/src/retail/content.tsx +4 -11
- package/mobile/src/retail/hooks/useReferalProgramm.ts +45 -0
- package/mobile/src/retail/inputs.tsx +2 -2
- package/mobile/src/retail/model/LeadFormState.ts +1 -1
- package/mobile/src/retail/model/NameFieldDef.ts +1 -0
- package/mobile/src/retail/utils/getMainFormStateMap.ts +1 -6
- package/mobile/src/retail/utils/getOrganizationParams.ts +7 -0
- package/mobile/src/retail/utils/updateOrganizationFields.ts +2 -0
- package/mobile/src/retail/validator/getRetailFormValidator.ts +4 -0
- package/mobile/src/retail/validator/validators.ts +9 -0
- package/mobile/src/ui-kit/FormField/validators.ts +1 -1
- package/package.json +1 -1
- package/src/components/ApplicationLeadForm/useApplicationLeadApi.tsx +3 -1
- package/src/components/ApplicationLeadForm/useInitApplicationLead.ts +6 -32
- package/src/components/CreditCardForm/creditCardFormStepsData.tsx +21 -18
- package/src/components/CreditCardForm/formStateMap.tsx +6 -0
- package/src/components/CreditForm/creditFormStepsData.tsx +14 -17
- package/src/retail/adaptors/getPersonalInfoData.tsx +1 -14
- package/src/retail/api/getDictionaries.ts +21 -0
- package/src/retail/components/DraftDialog/parseDraftTask.ts +1 -0
- package/src/retail/components/Fields/AmountWorkersField.tsx +0 -10
- package/src/retail/components/Fields/BankEmployeeCodeField.tsx +41 -9
- package/src/retail/components/Fields/DaDataInnField.tsx +28 -10
- package/src/retail/components/Fields/EmployerActivitiesField.tsx +0 -10
- package/src/retail/components/Fields/EmployerOrganizationField.tsx +0 -10
- package/src/retail/components/Fields/OrganizationField.tsx +0 -10
- package/src/retail/components/Fields/OrganizationNameField.tsx +17 -2
- package/src/retail/content.tsx +4 -11
- package/src/retail/hooks/useReferalProgramm.ts +45 -0
- package/src/retail/inputs.tsx +2 -2
- package/src/retail/model/LeadFormState.ts +1 -1
- package/src/retail/model/NameFieldDef.ts +1 -0
- package/src/retail/utils/getMainFormStateMap.ts +1 -6
- package/src/retail/utils/getOrganizationParams.ts +7 -0
- package/src/retail/utils/updateOrganizationFields.ts +2 -0
- package/src/retail/validator/getRetailFormValidator.ts +4 -0
- package/src/retail/validator/validators.ts +9 -0
- package/src/ui-kit/FormField/validators.ts +1 -1
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { isValidInnLength } from '../../ui-kit/FormField/validators';
|
|
1
2
|
import { isCyrillic } from '../../utils/isCyrilic';
|
|
2
3
|
import { validator } from '../../validation/validator';
|
|
3
4
|
import { type Address } from '../model/LeadFormState';
|
|
@@ -135,3 +136,11 @@ export const validateDateFromBirth = (age: number, birthDate?: Date) =>
|
|
|
135
136
|
|
|
136
137
|
return false;
|
|
137
138
|
});
|
|
139
|
+
|
|
140
|
+
export const organizationNameValidator = (isDadataOrganization?: boolean) =>
|
|
141
|
+
validator((_: string) => Boolean(_) && Boolean(isDadataOrganization))(
|
|
142
|
+
'Укажите наименование организации',
|
|
143
|
+
);
|
|
144
|
+
|
|
145
|
+
export const organizationInnValidator = (isDadataOrganization?: boolean) =>
|
|
146
|
+
validator((_: string) => isValidInnLength(_) && Boolean(isDadataOrganization))('Укажите ИНН');
|
|
@@ -43,5 +43,5 @@ const emailValidate = (email: string) => /^[^\s@]+@[^\s@]+\.[a-zA-Z]{2,4}$/.test
|
|
|
43
43
|
export const emailValidator = (errorMsg: string) =>
|
|
44
44
|
validator((_: string) => emailValidate(_))(errorMsg);
|
|
45
45
|
|
|
46
|
-
const isValidInnLength = (value: string | undefined): boolean =>
|
|
46
|
+
export const isValidInnLength = (value: string | undefined): boolean =>
|
|
47
47
|
typeof value === 'string' && (value.length === 10 || value.length === 12);
|
package/package.json
CHANGED
|
@@ -24,6 +24,7 @@ import { type ProductType } from './ApplicationLeadFormContent';
|
|
|
24
24
|
import { productTypeToConsentsMap } from './consents';
|
|
25
25
|
import { getCreditLeadFormTaskData, getDebitLeadFormTaskData } from './getLeadFormTaskData';
|
|
26
26
|
import { type ApplicationLeadStore } from './useInitApplicationLead';
|
|
27
|
+
import { useLeadFormStore } from './useLeadFormStore';
|
|
27
28
|
import { useSaveUserData, type UserData } from './useSaveUserData';
|
|
28
29
|
import { useSendLeadFormAspects } from './useSendLeadFormAspects';
|
|
29
30
|
|
|
@@ -44,6 +45,7 @@ export const useApplicationLeadApi = ({
|
|
|
44
45
|
const [ok, setOK] = useState<boolean | undefined>();
|
|
45
46
|
const saveUserData = useSaveUserData();
|
|
46
47
|
const sessionStore = useSessionStore<ApplicationLeadStore>();
|
|
48
|
+
const leadFormStore = useLeadFormStore();
|
|
47
49
|
|
|
48
50
|
const sendAspects = useSendLeadFormAspects({ data });
|
|
49
51
|
const navigator = locationNavigator();
|
|
@@ -64,7 +66,7 @@ export const useApplicationLeadApi = ({
|
|
|
64
66
|
profile: { phone: formatPhone(transformedFormData.phone as string) },
|
|
65
67
|
});
|
|
66
68
|
|
|
67
|
-
const referalData =
|
|
69
|
+
const referalData = leadFormStore.referalData;
|
|
68
70
|
const marketingInfo = sessionStore.marketingInfo;
|
|
69
71
|
|
|
70
72
|
if (!profileId) {
|
|
@@ -4,8 +4,8 @@ import { useSessionStore } from '@redneckz/uni-jsx/lib/Store/useSessionStore';
|
|
|
4
4
|
import { useSetter } from '../../hooks/useSetter';
|
|
5
5
|
import { esiaRequestProfile } from '../../retail/api/esiaRequestProfile';
|
|
6
6
|
import { type MarketingInfo } from '../../retail/api/updateUserTask';
|
|
7
|
+
import { useReferalProgramm } from '../../retail/hooks/useReferalProgramm';
|
|
7
8
|
import { type LeadFormState } from '../../retail/model/LeadFormState';
|
|
8
|
-
import { type ReferalData } from '../../retail/model/ReferalData';
|
|
9
9
|
import { type FieldRetailDef } from '../../retail/model/RetailFormContent';
|
|
10
10
|
import { QUERY_STORAGE_KEY } from '../../utils/getSessionQuery';
|
|
11
11
|
import { EsiaStatuses, type ProductType } from './ApplicationLeadFormContent';
|
|
@@ -23,7 +23,6 @@ type InitApplicationLeadProps = {
|
|
|
23
23
|
|
|
24
24
|
export interface ApplicationLeadStore {
|
|
25
25
|
marketingInfo: MarketingInfo | null;
|
|
26
|
-
referalData: ReferalData | null;
|
|
27
26
|
}
|
|
28
27
|
|
|
29
28
|
export const useInitApplicationLead = ({
|
|
@@ -36,6 +35,7 @@ export const useInitApplicationLead = ({
|
|
|
36
35
|
const saveForm = useSetter(leadFormStore, 'leadForm');
|
|
37
36
|
const sessionStore = useSessionStore<ApplicationLeadStore>();
|
|
38
37
|
const queryFromStorage = globalThis.sessionStorage?.getItem(QUERY_STORAGE_KEY);
|
|
38
|
+
useReferalProgramm();
|
|
39
39
|
|
|
40
40
|
const initialFormState = useMemo(
|
|
41
41
|
() => getInitialFormState(inputs, leadFormStore.leadForm, esiaAuthSuccess),
|
|
@@ -69,20 +69,7 @@ export const useInitApplicationLead = ({
|
|
|
69
69
|
useEffect(() => {
|
|
70
70
|
leadFormStore.productType = productType;
|
|
71
71
|
|
|
72
|
-
|
|
73
|
-
queryFromStorage,
|
|
74
|
-
sessionStore,
|
|
75
|
-
);
|
|
76
|
-
|
|
77
|
-
if (referalCode) {
|
|
78
|
-
sessionStore.referalData = {
|
|
79
|
-
refererCode,
|
|
80
|
-
referalCode,
|
|
81
|
-
productId,
|
|
82
|
-
};
|
|
83
|
-
}
|
|
84
|
-
|
|
85
|
-
sessionStore.marketingInfo = marketingInfo;
|
|
72
|
+
sessionStore.marketingInfo = getMarketingInfo(queryFromStorage, sessionStore);
|
|
86
73
|
}, [queryFromStorage]);
|
|
87
74
|
|
|
88
75
|
useEffect(() => {
|
|
@@ -102,19 +89,13 @@ export const useInitApplicationLead = ({
|
|
|
102
89
|
return initialFormState;
|
|
103
90
|
};
|
|
104
91
|
|
|
105
|
-
const
|
|
106
|
-
queryFromStorage: string | null,
|
|
107
|
-
sessionStore: ApplicationLeadStore,
|
|
108
|
-
) => {
|
|
109
|
-
const referalData = sessionStore.referalData;
|
|
92
|
+
const getMarketingInfo = (queryFromStorage: string | null, sessionStore: ApplicationLeadStore) => {
|
|
110
93
|
const marketingInfoFromStorage = sessionStore.marketingInfo;
|
|
111
94
|
const queryStorage = new URLSearchParams(decodeURIComponent(queryFromStorage || ''));
|
|
112
95
|
|
|
113
96
|
const code = queryStorage.get('code');
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
const productId = code ? referalData?.productId : queryStorage.get('productId');
|
|
117
|
-
const marketingInfo = code
|
|
97
|
+
|
|
98
|
+
return code
|
|
118
99
|
? marketingInfoFromStorage
|
|
119
100
|
: {
|
|
120
101
|
utm_campaign: queryStorage.get('utm_campaign'),
|
|
@@ -125,11 +106,4 @@ const getLeadQueryParams = (
|
|
|
125
106
|
bannerId: queryStorage.get('bannerId'),
|
|
126
107
|
userId: queryStorage.get('userId'),
|
|
127
108
|
};
|
|
128
|
-
|
|
129
|
-
return {
|
|
130
|
-
referalCode,
|
|
131
|
-
refererCode,
|
|
132
|
-
productId,
|
|
133
|
-
marketingInfo,
|
|
134
|
-
};
|
|
135
109
|
};
|
|
@@ -60,29 +60,32 @@ const EMPLOYMENT_CONTENT: CreditCardSectionsProps[] = [
|
|
|
60
60
|
],
|
|
61
61
|
},
|
|
62
62
|
{
|
|
63
|
-
inputs: [
|
|
64
|
-
{ name: 'employment', required: true },
|
|
65
|
-
{ name: 'organizationName', required: true, dadata: true, filledByEsia: true },
|
|
66
|
-
],
|
|
63
|
+
inputs: [{ name: 'employment', required: true }],
|
|
67
64
|
},
|
|
68
65
|
{
|
|
69
66
|
columns: 2,
|
|
70
67
|
inputs: [
|
|
68
|
+
{ name: 'organizationName', required: true, dadata: true, filledByEsia: true },
|
|
71
69
|
{ name: 'inn', required: true, dadata: true, filledByEsia: true },
|
|
72
|
-
{ name: 'legalForm', required: true },
|
|
73
70
|
],
|
|
74
71
|
},
|
|
75
72
|
{
|
|
73
|
+
inputs: [{ name: 'amountWorkers', required: true }],
|
|
74
|
+
},
|
|
75
|
+
{
|
|
76
|
+
columns: 2,
|
|
76
77
|
inputs: [
|
|
77
|
-
{ name: '
|
|
78
|
-
{
|
|
78
|
+
{ name: 'employerActivities', required: true },
|
|
79
|
+
{
|
|
80
|
+
name: 'organizationPhone',
|
|
81
|
+
label: 'Телефон работодателя',
|
|
82
|
+
required: true,
|
|
83
|
+
},
|
|
79
84
|
],
|
|
80
85
|
},
|
|
81
86
|
{
|
|
82
87
|
columns: 2,
|
|
83
88
|
inputs: [
|
|
84
|
-
{ name: 'employerActivities', required: true },
|
|
85
|
-
{ name: 'employerOrganization', required: true },
|
|
86
89
|
{ name: 'generalSeniority', required: true, filledByEsia: true },
|
|
87
90
|
{ name: 'lastJobExperience', required: true, filledByEsia: true },
|
|
88
91
|
{ name: 'experience5Years', required: true, filledByEsia: true },
|
|
@@ -90,14 +93,7 @@ const EMPLOYMENT_CONTENT: CreditCardSectionsProps[] = [
|
|
|
90
93
|
],
|
|
91
94
|
},
|
|
92
95
|
{
|
|
93
|
-
inputs: [
|
|
94
|
-
{
|
|
95
|
-
name: 'organizationPhone',
|
|
96
|
-
label: 'Телефон работодателя',
|
|
97
|
-
required: true,
|
|
98
|
-
},
|
|
99
|
-
{ name: 'beginDate', required: true, filledByEsia: true },
|
|
100
|
-
],
|
|
96
|
+
inputs: [{ name: 'beginDate', required: true, filledByEsia: true }],
|
|
101
97
|
},
|
|
102
98
|
{
|
|
103
99
|
columns: 2,
|
|
@@ -231,13 +227,20 @@ const DELIVERY_CREDIT_CARD_CONTENT: CreditCardSectionsProps[] = [
|
|
|
231
227
|
values: ['office'],
|
|
232
228
|
},
|
|
233
229
|
},
|
|
230
|
+
],
|
|
231
|
+
},
|
|
232
|
+
{
|
|
233
|
+
columns: 2,
|
|
234
|
+
inputs: [
|
|
234
235
|
{
|
|
235
|
-
name: 'bankEmployeeCode',
|
|
236
236
|
condition: {
|
|
237
237
|
name: 'methodObtain',
|
|
238
238
|
values: ['office'],
|
|
239
239
|
},
|
|
240
240
|
},
|
|
241
|
+
{
|
|
242
|
+
name: 'bankEmployeeCode',
|
|
243
|
+
},
|
|
241
244
|
],
|
|
242
245
|
},
|
|
243
246
|
];
|
|
@@ -8,6 +8,12 @@ export const formStateMap: Partial<LeadFormState>[] = [
|
|
|
8
8
|
codeWord: '',
|
|
9
9
|
},
|
|
10
10
|
...getMainFormStateMap(),
|
|
11
|
+
{
|
|
12
|
+
bankruptcyFlg: false,
|
|
13
|
+
shareholderFlg: false,
|
|
14
|
+
legalEntityName: '',
|
|
15
|
+
creditInRshbCd: undefined,
|
|
16
|
+
},
|
|
11
17
|
{
|
|
12
18
|
regionRetail: { key: '', text: '' },
|
|
13
19
|
addressRetail: { key: '', text: '' },
|
|
@@ -44,38 +44,30 @@ const EMPLOYMENT_CONTENT: SectionsRetailProps[] = [
|
|
|
44
44
|
],
|
|
45
45
|
},
|
|
46
46
|
{
|
|
47
|
-
inputs: [
|
|
48
|
-
{ name: 'employment', required: true },
|
|
49
|
-
{ name: 'organizationName', required: true, dadata: true, filledByEsia: true },
|
|
50
|
-
],
|
|
47
|
+
inputs: [{ name: 'employment', required: true }],
|
|
51
48
|
},
|
|
52
49
|
{
|
|
53
50
|
columns: 2,
|
|
54
51
|
inputs: [
|
|
52
|
+
{ name: 'organizationName', required: true, dadata: true, filledByEsia: true },
|
|
55
53
|
{ name: 'inn', required: true, dadata: true, filledByEsia: true },
|
|
56
|
-
{ name: 'legalForm', required: true },
|
|
57
54
|
],
|
|
58
55
|
},
|
|
59
56
|
{
|
|
57
|
+
columns: 2,
|
|
60
58
|
inputs: [
|
|
61
|
-
{ name: 'organization', required: true },
|
|
62
59
|
{ name: 'amountWorkers', required: true },
|
|
60
|
+
{
|
|
61
|
+
name: 'organizationPhone',
|
|
62
|
+
label: 'Телефон работодателя',
|
|
63
|
+
required: true,
|
|
64
|
+
},
|
|
63
65
|
],
|
|
64
66
|
},
|
|
65
67
|
{
|
|
66
68
|
columns: 2,
|
|
67
69
|
inputs: [
|
|
68
|
-
{ name: 'employerOrganization', required: true },
|
|
69
70
|
{ name: 'jobsNumber', required: true, filledByEsia: true },
|
|
70
|
-
],
|
|
71
|
-
},
|
|
72
|
-
{
|
|
73
|
-
inputs: [
|
|
74
|
-
{
|
|
75
|
-
name: 'organizationPhone',
|
|
76
|
-
label: 'Телефон работодателя',
|
|
77
|
-
required: true,
|
|
78
|
-
},
|
|
79
71
|
{ name: 'beginDate', required: true, filledByEsia: true },
|
|
80
72
|
],
|
|
81
73
|
},
|
|
@@ -177,7 +169,12 @@ const DELIVERY_CREDIT_CONTENT: SectionsRetailProps[] = [
|
|
|
177
169
|
],
|
|
178
170
|
},
|
|
179
171
|
{
|
|
180
|
-
|
|
172
|
+
columns: 2,
|
|
173
|
+
inputs: [
|
|
174
|
+
{
|
|
175
|
+
name: 'bankEmployeeCode',
|
|
176
|
+
},
|
|
177
|
+
],
|
|
181
178
|
},
|
|
182
179
|
];
|
|
183
180
|
const CALCULATOR_CONTENT: SectionsRetailProps[] = [
|
|
@@ -1,17 +1,11 @@
|
|
|
1
1
|
import { formatDate } from '../../utils/formatDate';
|
|
2
|
-
import { formatPhone } from '../../utils/formatPhone';
|
|
3
2
|
import { type Participant } from '../api/updateUserTask';
|
|
4
3
|
import { type LeadFormState } from '../model/LeadFormState';
|
|
5
|
-
import { getParticipantAddresses
|
|
4
|
+
import { getParticipantAddresses } from './utils';
|
|
6
5
|
|
|
7
6
|
export const getPersonalInfoData = (formData: LeadFormState): Partial<Participant> => {
|
|
8
7
|
const {
|
|
9
|
-
name,
|
|
10
|
-
surname,
|
|
11
|
-
middleName,
|
|
12
8
|
limitedBirthday = '',
|
|
13
|
-
phone = '',
|
|
14
|
-
email,
|
|
15
9
|
sex,
|
|
16
10
|
birthPlace,
|
|
17
11
|
dulIssueDate = '',
|
|
@@ -29,9 +23,6 @@ export const getPersonalInfoData = (formData: LeadFormState): Partial<Participan
|
|
|
29
23
|
|
|
30
24
|
return {
|
|
31
25
|
birthDate: formatDate(limitedBirthday, true),
|
|
32
|
-
midname: middleName,
|
|
33
|
-
name,
|
|
34
|
-
surname,
|
|
35
26
|
birthPlace,
|
|
36
27
|
dulIssueDate: formatDate(dulIssueDate, true),
|
|
37
28
|
dulIssuedBy,
|
|
@@ -44,10 +35,6 @@ export const getPersonalInfoData = (formData: LeadFormState): Partial<Participan
|
|
|
44
35
|
: undefined,
|
|
45
36
|
homeMatchFlg: addressMatch,
|
|
46
37
|
houseTypeCd: housing,
|
|
47
|
-
participantContacts: getParticipantContacts({
|
|
48
|
-
phone: formatPhone(phone),
|
|
49
|
-
email,
|
|
50
|
-
}),
|
|
51
38
|
participantAddresses: getParticipantAddresses({
|
|
52
39
|
addressRegistration,
|
|
53
40
|
addressFact: addressMatch ? addressRegistration : addressFact,
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { type CreditFormDictionarySlice } from '../hooks/useRetailFormStore';
|
|
2
|
+
import { type DictionaryItem } from '../model/LeadFormData';
|
|
3
|
+
import { fetchRetailJSON } from './doRequest';
|
|
4
|
+
|
|
5
|
+
export const getDictionaries = (
|
|
6
|
+
dictionaries: Record<string, string>,
|
|
7
|
+
store: CreditFormDictionarySlice,
|
|
8
|
+
) => {
|
|
9
|
+
Promise.all(
|
|
10
|
+
Object.entries(dictionaries).map((dictionary) => {
|
|
11
|
+
const [fieldName, dictionaryName] = dictionary;
|
|
12
|
+
|
|
13
|
+
fetchRetailJSON<DictionaryItem[]>(
|
|
14
|
+
`/dictionary?dictionaryType=${encodeURIComponent(dictionaryName)}`,
|
|
15
|
+
'POST',
|
|
16
|
+
).then((res) => {
|
|
17
|
+
store[fieldName] = res;
|
|
18
|
+
});
|
|
19
|
+
}),
|
|
20
|
+
);
|
|
21
|
+
};
|
|
@@ -90,6 +90,7 @@ export const parseDraftTask = (task: Task): LeadFormState => {
|
|
|
90
90
|
employment: getSelectValue(employment, EMPLOYMENT_TYPE),
|
|
91
91
|
organizationName,
|
|
92
92
|
inn,
|
|
93
|
+
isDadataOrganization: Boolean(inn),
|
|
93
94
|
employerActivities: getSelectValue(employerActivities),
|
|
94
95
|
organization: getSelectValue(organization),
|
|
95
96
|
employerOrganization: getSelectValue(employerOrganization),
|
|
@@ -1,21 +1,11 @@
|
|
|
1
1
|
import { JSX } from '@redneckz/uni-jsx';
|
|
2
|
-
import { useEffect } from '@redneckz/uni-jsx/lib/hooks';
|
|
3
2
|
import { type CustomFieldProps } from '../../../ui-kit/FormField/CustomFieldProps';
|
|
4
|
-
import { useLeadFormData } from '../../hooks/useLeadFormData';
|
|
5
3
|
import { useRetailFormStore } from '../../hooks/useRetailFormStore';
|
|
6
4
|
import { SelectField } from './SelectField';
|
|
7
5
|
|
|
8
6
|
export const AmountWorkersField = JSX<CustomFieldProps>(({ field, input }) => {
|
|
9
|
-
const { data } = useLeadFormData('EMPLOYEES_NUMBER');
|
|
10
|
-
|
|
11
7
|
const store = useRetailFormStore();
|
|
12
8
|
|
|
13
|
-
useEffect(() => {
|
|
14
|
-
if (data) {
|
|
15
|
-
store.amountWorkers = data;
|
|
16
|
-
}
|
|
17
|
-
}, [data]);
|
|
18
|
-
|
|
19
9
|
return (
|
|
20
10
|
<SelectField
|
|
21
11
|
field={field}
|
|
@@ -1,13 +1,45 @@
|
|
|
1
1
|
import { JSX } from '@redneckz/uni-jsx';
|
|
2
|
+
import { useCallback, useState } from '@redneckz/uni-jsx/lib/hooks';
|
|
2
3
|
import { type CustomFieldProps } from '../../../ui-kit/FormField/CustomFieldProps';
|
|
4
|
+
import { type RadioButtonItem } from '../../../ui-kit/RadioButtonGroup/RadioButtonGroup';
|
|
5
|
+
import { RadioButtonGroupControl } from '../../../ui-kit/RadioButtonGroup/RadioButtonGroupControl';
|
|
3
6
|
import { DaDataInputControl } from '../DaDataInputControl/DaDataInputControl';
|
|
4
7
|
|
|
5
|
-
export const
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
)
|
|
8
|
+
export const BUTTON_TYPES: RadioButtonItem[] = [
|
|
9
|
+
{ id: 'true', text: 'Да' },
|
|
10
|
+
{ id: 'false', text: 'Нет' },
|
|
11
|
+
];
|
|
12
|
+
|
|
13
|
+
export const BankEmployeeCodeField = JSX<CustomFieldProps>(({ field, input }) => {
|
|
14
|
+
const [bankEmployeeFlg, setBankEmployeeFlg] = useState('');
|
|
15
|
+
|
|
16
|
+
const handleBankEmployeeFlgChange = useCallback((value: string) => {
|
|
17
|
+
setBankEmployeeFlg(value);
|
|
18
|
+
|
|
19
|
+
if (value === 'false') {
|
|
20
|
+
field('bankEmployeeCode')?.onChange?.(null);
|
|
21
|
+
}
|
|
22
|
+
}, []);
|
|
23
|
+
|
|
24
|
+
return (
|
|
25
|
+
<div className="flex flex-col md:flex-row">
|
|
26
|
+
<RadioButtonGroupControl
|
|
27
|
+
label="Мне помог сотрудник Банка"
|
|
28
|
+
orientation="horizontal"
|
|
29
|
+
items={BUTTON_TYPES}
|
|
30
|
+
value={bankEmployeeFlg}
|
|
31
|
+
onChange={handleBankEmployeeFlgChange}
|
|
32
|
+
/>
|
|
33
|
+
{bankEmployeeFlg === 'true' ? (
|
|
34
|
+
<DaDataInputControl
|
|
35
|
+
label="Код представителя Банка"
|
|
36
|
+
placeholder="Введите код"
|
|
37
|
+
isInteger={true}
|
|
38
|
+
maxLength={8}
|
|
39
|
+
{...field(input?.name ?? '')}
|
|
40
|
+
{...input}
|
|
41
|
+
/>
|
|
42
|
+
) : null}
|
|
43
|
+
</div>
|
|
44
|
+
);
|
|
45
|
+
});
|
|
@@ -1,23 +1,40 @@
|
|
|
1
1
|
import { JSX } from '@redneckz/uni-jsx';
|
|
2
|
-
import { useCallback, useEffect } from '@redneckz/uni-jsx/lib/hooks';
|
|
2
|
+
import { useCallback, useEffect, useState } from '@redneckz/uni-jsx/lib/hooks';
|
|
3
3
|
import { type CustomFieldProps } from '../../../ui-kit/FormField/CustomFieldProps';
|
|
4
4
|
import { type DaDataSuggestion } from '../../api/dadataHints/dadataHintsType';
|
|
5
|
+
import { getDictionaries } from '../../api/getDictionaries';
|
|
5
6
|
import { getOrganizationFromInn } from '../../api/getOrganizationFromInn';
|
|
6
7
|
import { useRetailFormStore, type CreditFormStoreSlice } from '../../hooks/useRetailFormStore';
|
|
8
|
+
import { organizationDictionaries } from '../../utils/getOrganizationParams';
|
|
7
9
|
import { isEsiaAuthorize } from '../../utils/isEsiaAuthorize';
|
|
8
10
|
import { updateOrganizationFields } from '../../utils/updateOrganizationFields';
|
|
9
11
|
import { DaDataInputControl } from '../DaDataInputControl/DaDataInputControl';
|
|
10
12
|
|
|
13
|
+
const NO_DADATA_ERROR_TEXT = 'Необходимо выбрать ИНН из выпадающего списка';
|
|
14
|
+
|
|
11
15
|
export const DaDataInnField = JSX<CustomFieldProps>(({ field, input }) => {
|
|
12
16
|
const store = useRetailFormStore();
|
|
17
|
+
const [errorText, setErrorText] = useState('');
|
|
13
18
|
const { employerActivities, employerOrganization, organization, amountWorkers } = store;
|
|
14
19
|
const esiaAccountTypeCd = field?.('esiaAccountTypeCd')?.value;
|
|
15
20
|
const inn = field?.('inn')?.value;
|
|
21
|
+
const fieldError = field?.('organizationName')?.error;
|
|
22
|
+
const isDadataOrganization = field('isDadataOrganization')?.value;
|
|
23
|
+
|
|
24
|
+
useEffect(() => {
|
|
25
|
+
setErrorText(fieldError && !isDadataOrganization ? NO_DADATA_ERROR_TEXT : '');
|
|
26
|
+
}, [isDadataOrganization, fieldError]);
|
|
16
27
|
|
|
17
28
|
const onDaDataChange = useCallback((item: DaDataSuggestion) => {
|
|
18
29
|
updateOrganizationFields(store, field, item);
|
|
19
30
|
}, []);
|
|
20
31
|
|
|
32
|
+
useEffect(() => {
|
|
33
|
+
(async () => {
|
|
34
|
+
await getDictionaries(organizationDictionaries, store);
|
|
35
|
+
})();
|
|
36
|
+
}, []);
|
|
37
|
+
|
|
21
38
|
useEffect(() => {
|
|
22
39
|
if (!esiaAccountTypeCd || !inn || !isDictionariesAlreadyLoad(store as CreditFormStoreSlice)) {
|
|
23
40
|
return;
|
|
@@ -30,6 +47,11 @@ export const DaDataInnField = JSX<CustomFieldProps>(({ field, input }) => {
|
|
|
30
47
|
})();
|
|
31
48
|
}, [employerActivities, employerOrganization, organization, amountWorkers]);
|
|
32
49
|
|
|
50
|
+
const onChange = useCallback((value: string) => {
|
|
51
|
+
field?.('inn')?.onChange?.(value);
|
|
52
|
+
field?.('isDadataOrganization')?.onChange?.(false);
|
|
53
|
+
}, []);
|
|
54
|
+
|
|
33
55
|
return (
|
|
34
56
|
<DaDataInputControl
|
|
35
57
|
label="ИНН"
|
|
@@ -39,18 +61,14 @@ export const DaDataInnField = JSX<CustomFieldProps>(({ field, input }) => {
|
|
|
39
61
|
{...field(input?.name ?? '')}
|
|
40
62
|
onDaDataChange={onDaDataChange}
|
|
41
63
|
disabled={isEsiaAuthorize(field, input)}
|
|
64
|
+
onChange={onChange}
|
|
65
|
+
error={errorText || field('inn')?.error}
|
|
42
66
|
/>
|
|
43
67
|
);
|
|
44
68
|
});
|
|
45
69
|
|
|
46
70
|
const isDictionariesAlreadyLoad = (store: CreditFormStoreSlice) => {
|
|
47
|
-
const { employerActivities, employerOrganization, organization, amountWorkers
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
return [
|
|
51
|
-
employerOrganization,
|
|
52
|
-
organization,
|
|
53
|
-
amountWorkers,
|
|
54
|
-
productType === 'creditCard' ? employerActivities : true,
|
|
55
|
-
].every(Boolean);
|
|
71
|
+
const { employerActivities, employerOrganization, organization, amountWorkers } = store;
|
|
72
|
+
|
|
73
|
+
return [employerOrganization, organization, amountWorkers, employerActivities].every(Boolean);
|
|
56
74
|
};
|
|
@@ -1,21 +1,11 @@
|
|
|
1
1
|
import { JSX } from '@redneckz/uni-jsx';
|
|
2
|
-
import { useEffect } from '@redneckz/uni-jsx/lib/hooks';
|
|
3
2
|
import { type CustomFieldProps } from '../../../ui-kit/FormField/CustomFieldProps';
|
|
4
|
-
import { useLeadFormData } from '../../hooks/useLeadFormData';
|
|
5
3
|
import { useRetailFormStore } from '../../hooks/useRetailFormStore';
|
|
6
4
|
import { SelectField } from './SelectField';
|
|
7
5
|
|
|
8
6
|
export const EmployerActivitiesField = JSX<CustomFieldProps>(({ field, input }) => {
|
|
9
|
-
const { data } = useLeadFormData('ORGANIZATION_ACTIVITY_TYPE');
|
|
10
|
-
|
|
11
7
|
const store = useRetailFormStore();
|
|
12
8
|
|
|
13
|
-
useEffect(() => {
|
|
14
|
-
if (data) {
|
|
15
|
-
store.employerActivities = data;
|
|
16
|
-
}
|
|
17
|
-
}, [data]);
|
|
18
|
-
|
|
19
9
|
return (
|
|
20
10
|
<SelectField
|
|
21
11
|
field={field}
|
|
@@ -1,21 +1,11 @@
|
|
|
1
1
|
import { JSX } from '@redneckz/uni-jsx';
|
|
2
|
-
import { useEffect } from '@redneckz/uni-jsx/lib/hooks';
|
|
3
2
|
import { type CustomFieldProps } from '../../../ui-kit/FormField/CustomFieldProps';
|
|
4
|
-
import { useLeadFormData } from '../../hooks/useLeadFormData';
|
|
5
3
|
import { useRetailFormStore } from '../../hooks/useRetailFormStore';
|
|
6
4
|
import { SelectField } from './SelectField';
|
|
7
5
|
|
|
8
6
|
export const EmployerOrganizationField = JSX<CustomFieldProps>(({ field, input }) => {
|
|
9
|
-
const { data } = useLeadFormData('ORGANIZATION_KIND');
|
|
10
|
-
|
|
11
7
|
const store = useRetailFormStore();
|
|
12
8
|
|
|
13
|
-
useEffect(() => {
|
|
14
|
-
if (data) {
|
|
15
|
-
store.employerOrganization = data;
|
|
16
|
-
}
|
|
17
|
-
}, [data]);
|
|
18
|
-
|
|
19
9
|
return (
|
|
20
10
|
<SelectField
|
|
21
11
|
field={field}
|
|
@@ -1,21 +1,11 @@
|
|
|
1
1
|
import { JSX } from '@redneckz/uni-jsx';
|
|
2
|
-
import { useEffect } from '@redneckz/uni-jsx/lib/hooks';
|
|
3
2
|
import { type CustomFieldProps } from '../../../ui-kit/FormField/CustomFieldProps';
|
|
4
|
-
import { useLeadFormData } from '../../hooks/useLeadFormData';
|
|
5
3
|
import { useRetailFormStore } from '../../hooks/useRetailFormStore';
|
|
6
4
|
import { SelectField } from './SelectField';
|
|
7
5
|
|
|
8
6
|
export const OrganizationField = JSX<CustomFieldProps>(({ field, input }) => {
|
|
9
|
-
const { data } = useLeadFormData('ORGANIZATION_TYPE');
|
|
10
|
-
|
|
11
7
|
const store = useRetailFormStore();
|
|
12
8
|
|
|
13
|
-
useEffect(() => {
|
|
14
|
-
if (data) {
|
|
15
|
-
store.organization = data;
|
|
16
|
-
}
|
|
17
|
-
}, [data]);
|
|
18
|
-
|
|
19
9
|
return (
|
|
20
10
|
<SelectField
|
|
21
11
|
field={field}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { JSX } from '@redneckz/uni-jsx';
|
|
2
|
-
import { useCallback } from '@redneckz/uni-jsx/lib/hooks';
|
|
2
|
+
import { useCallback, useEffect, useState } from '@redneckz/uni-jsx/lib/hooks';
|
|
3
3
|
import { type CustomFieldProps } from '../../../ui-kit/FormField/CustomFieldProps';
|
|
4
4
|
import { type DaDataSuggestion } from '../../api/dadataHints/dadataHintsType';
|
|
5
5
|
import { useRetailFormStore } from '../../hooks/useRetailFormStore';
|
|
@@ -7,14 +7,27 @@ import { isEsiaAuthorize } from '../../utils/isEsiaAuthorize';
|
|
|
7
7
|
import { updateOrganizationFields } from '../../utils/updateOrganizationFields';
|
|
8
8
|
import { DaDataInputControl } from '../DaDataInputControl/DaDataInputControl';
|
|
9
9
|
|
|
10
|
+
const NO_DADATA_ERROR_TEXT = 'Необходимо выбрать организацию из выпадающего списка';
|
|
11
|
+
|
|
10
12
|
export const OrganizationNameField = JSX<CustomFieldProps>(({ field, input }) => {
|
|
11
13
|
const store = useRetailFormStore();
|
|
14
|
+
const [errorText, setErrorText] = useState('');
|
|
15
|
+
const fieldError = field?.('organizationName')?.error;
|
|
16
|
+
const isDadataOrganization = field('isDadataOrganization')?.value;
|
|
17
|
+
|
|
18
|
+
useEffect(() => {
|
|
19
|
+
setErrorText(fieldError && !isDadataOrganization ? NO_DADATA_ERROR_TEXT : '');
|
|
20
|
+
}, [isDadataOrganization, fieldError]);
|
|
12
21
|
|
|
13
22
|
const onDaDataChange = useCallback((item: DaDataSuggestion) => {
|
|
14
|
-
field?.('inn')?.onChange?.(item.data?.inn);
|
|
15
23
|
updateOrganizationFields(store, field, item);
|
|
16
24
|
}, []);
|
|
17
25
|
|
|
26
|
+
const onChange = useCallback((value: string) => {
|
|
27
|
+
field?.('organizationName')?.onChange?.(value);
|
|
28
|
+
field?.('isDadataOrganization')?.onChange?.(false);
|
|
29
|
+
}, []);
|
|
30
|
+
|
|
18
31
|
return (
|
|
19
32
|
<DaDataInputControl
|
|
20
33
|
label="Наименование организации"
|
|
@@ -22,6 +35,8 @@ export const OrganizationNameField = JSX<CustomFieldProps>(({ field, input }) =>
|
|
|
22
35
|
{...field(input?.name ?? '')}
|
|
23
36
|
disabled={isEsiaAuthorize(field, input)}
|
|
24
37
|
onDaDataChange={onDaDataChange}
|
|
38
|
+
onChange={onChange}
|
|
39
|
+
error={errorText || field('organizationName')?.error}
|
|
25
40
|
/>
|
|
26
41
|
);
|
|
27
42
|
});
|
package/src/retail/content.tsx
CHANGED
|
@@ -6,21 +6,14 @@ export const PERSONAL_DATA: CreditCardSectionsProps[] = [
|
|
|
6
6
|
title: 'Персональные данные',
|
|
7
7
|
columns: 2,
|
|
8
8
|
inputs: [
|
|
9
|
-
{
|
|
10
|
-
name: 'surname',
|
|
11
|
-
required: true,
|
|
12
|
-
dadata: true,
|
|
13
|
-
filledByEsia: true,
|
|
14
|
-
},
|
|
15
|
-
{ name: 'name', required: true, dadata: true, filledByEsia: true },
|
|
16
|
-
{ name: 'middleName', dadata: true, filledByEsia: true },
|
|
17
|
-
{ name: 'sex', required: true },
|
|
18
9
|
{ name: 'limitedBirthday', required: true, filledByEsia: true },
|
|
19
10
|
{ name: 'birthPlace', required: true, filledByEsia: true },
|
|
20
|
-
{ name: 'phone', disabled: true, required: true },
|
|
21
|
-
{ name: 'email', required: true, dadata: true },
|
|
22
11
|
],
|
|
23
12
|
},
|
|
13
|
+
{
|
|
14
|
+
columns: 2,
|
|
15
|
+
inputs: [{ name: 'sex', required: true }],
|
|
16
|
+
},
|
|
24
17
|
{
|
|
25
18
|
title: 'Паспортные данные',
|
|
26
19
|
columns: 2,
|