hl-core 0.0.10-beta.41-3 → 0.0.10-beta.41-5

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.
Files changed (2) hide show
  1. package/composables/classes.ts +751 -722
  2. package/package.json +1 -1
@@ -51,7 +51,13 @@ class MenuItemConfig {
51
51
  }
52
52
  }
53
53
 
54
- export class Value {
54
+ class MenuItem extends MenuItemConfig {
55
+ constructor({ id, title, link, hasLine, description, url, initial, icon, action, disabled, color, show, chip }: MenuItemConfig = new MenuItemConfig()) {
56
+ super(id, title, link, hasLine, description, url, initial, icon, action, disabled, color, show, chip);
57
+ }
58
+ }
59
+
60
+ class Value {
55
61
  id: string | number | null;
56
62
  code: string | number | null;
57
63
  nameRu: string | null;
@@ -67,7 +73,7 @@ export class Value {
67
73
  }
68
74
  }
69
75
 
70
- export class CountryValue extends Value {
76
+ class CountryValue extends Value {
71
77
  countryTypeCode: string | number | null;
72
78
 
73
79
  constructor(countryTypeCode = null, ...args: any) {
@@ -76,7 +82,7 @@ export class CountryValue extends Value {
76
82
  }
77
83
  }
78
84
 
79
- export class IDocument {
85
+ class IDocument {
80
86
  id?: string;
81
87
  processInstanceId?: string;
82
88
  iin?: string;
@@ -128,7 +134,7 @@ export class IDocument {
128
134
  }
129
135
  }
130
136
 
131
- export class DocumentItem extends IDocument {
137
+ class DocumentItem extends IDocument {
132
138
  constructor(
133
139
  {
134
140
  id,
@@ -152,7 +158,7 @@ export class DocumentItem extends IDocument {
152
158
  }
153
159
  }
154
160
 
155
- export class MenuOption {
161
+ class MenuOption {
156
162
  text: string | null;
157
163
  subtitle: string | null;
158
164
  icon: string | null;
@@ -168,7 +174,7 @@ export class MenuOption {
168
174
  }
169
175
  }
170
176
 
171
- export const InitialColumns = (): {
177
+ const InitialColumns = (): {
172
178
  addRegNumber: boolean | null;
173
179
  number: boolean | null;
174
180
  iin: boolean | null;
@@ -190,7 +196,7 @@ export const InitialColumns = (): {
190
196
  };
191
197
  };
192
198
 
193
- export class User {
199
+ class User {
194
200
  login: string | null;
195
201
  password: string | null;
196
202
  roles: string[];
@@ -331,7 +337,7 @@ class Person {
331
337
  }
332
338
  }
333
339
 
334
- export class Contragent extends Person {
340
+ class Contragent extends Person {
335
341
  economySectorCode: Value;
336
342
  countryOfCitizenship: Value;
337
343
  countryOfTaxResidency: Value;
@@ -412,177 +418,498 @@ export class Contragent extends Person {
412
418
  }
413
419
  }
414
420
 
415
- export class CalculatorForm {
416
- country: Value;
417
- countries: CountryValue[] | null;
418
- purpose: Value;
419
- workType: Value;
420
- sportsType: Value;
421
- type: Value;
422
- days: string | number | null;
423
- maxDays: Value;
424
- age: string | null;
425
- price: string | null;
426
- professionType: Value;
427
- amount: Value;
428
- startDate: string | null;
429
- endDate: string | null;
430
- period: Value;
431
- currency: string | null;
432
-
433
- constructor() {
434
- this.country = new Value();
435
- this.countries = [];
436
- this.purpose = new Value();
437
- this.workType = new Value();
438
- this.sportsType = new Value();
439
- this.type = new Value();
440
- this.days = null;
441
- this.maxDays = new Value();
442
- this.age = null;
443
- this.price = null;
444
- this.professionType = new Value();
445
- this.amount = new Value();
446
- this.startDate = null;
447
- this.endDate = null;
448
- this.period = new Value();
449
- this.currency = null;
450
- }
451
- }
452
-
453
- export class ProductConditions {
454
- signDate: string | null;
455
- birthDate: string | null;
456
- gender: Value;
457
- insuranceCase: string | null;
458
- coverPeriod: number | null;
459
- payPeriod: number | null;
460
- termsOfInsurance: string | null;
461
- annualIncome: string | null;
462
- processIndexRate: Value;
463
- processGfot: Value;
421
+ class Member extends Person {
422
+ response?: {
423
+ contragent?: Types.ContragentType;
424
+ questionnaires?: Types.ContragentQuestionaries[];
425
+ contacts?: Types.ContragentContacts[];
426
+ documents?: Types.ContragentDocuments[];
427
+ addresses?: Types.ContragentAddress[];
428
+ };
429
+ verifyType: any;
430
+ verifyDate: any;
431
+ postIndex: string | null;
432
+ isPdl: boolean;
433
+ migrationCard: string | null;
434
+ migrationCardIssueDate: string | null;
435
+ migrationCardExpireDate: string | null;
436
+ confirmDocType: string | null;
437
+ confirmDocNumber: string | null;
438
+ confirmDocIssueDate: string | null;
439
+ confirmDocExpireDate: string | null;
440
+ notaryLongName: string | null;
441
+ notaryLicenseNumber: string | null;
442
+ notaryLicenseDate: string | null;
443
+ notaryLicenseIssuer: string | null;
444
+ jurLongName: string | null;
445
+ fullNameRod: string | null;
446
+ confirmDocTypeKz: string | null;
447
+ confirmDocTypeRod: string | null;
448
+ isNotary: boolean;
449
+ insurancePay: Value;
450
+ job: string | null;
451
+ jobPosition: string | null;
452
+ jobPlace: string | null;
453
+ positionCode: string | null;
454
+ registrationCountry: Value;
455
+ registrationProvince: Value;
456
+ registrationRegion: Value;
457
+ registrationRegionType: Value;
458
+ registrationCity: Value;
459
+ registrationQuarter?: string | null;
460
+ registrationMicroDistrict?: string | null;
461
+ registrationStreet?: string | null;
462
+ registrationNumberHouse?: string | null;
463
+ registrationNumberApartment?: string | null;
464
+ birthRegion: Value;
465
+ documentType: Value;
466
+ documentNumber: string | null;
467
+ documentIssuers: Types.Base.Document.IssuerOther;
468
+ documentDate: string | null;
469
+ documentExpire: string | null;
470
+ signOfResidency: Value;
471
+ signOfIPDL: Value;
472
+ countryOfCitizenship: Value;
473
+ countryOfTaxResidency: Value;
474
+ addTaxResidency: Value;
475
+ economySectorCode: Value;
476
+ phoneNumber: string | null;
477
+ homePhone: string | null;
478
+ email: string | null;
479
+ address: string | null;
480
+ familyStatus: Value;
481
+ isTerror: null;
482
+ relationDegree: Value;
483
+ isDisability: boolean;
484
+ disabilityGroup: Value | null;
485
+ percentageOfPayoutAmount: string | number | null;
486
+ _cyrPattern: RegExp;
487
+ _numPattern: RegExp;
488
+ _phonePattern: RegExp;
489
+ _emailPattern: RegExp;
490
+ gotFromInsis: boolean | null;
491
+ gosPersonData: Types.Api.GBD.Person | null;
492
+ parsedDocument: any;
493
+ hasAgreement: boolean | null;
494
+ otpTokenId: string | null;
495
+ otpCode: string;
496
+ documentsList: Types.ContragentDocuments[];
497
+ isInsuredUnderage?: boolean = false;
498
+ bankInfo: BankInfoClass;
464
499
  transferContractCompany: Value;
465
- requestedSumInsured: number | string | null;
466
- requestedSumInsuredInDollar: number | string | null;
467
- insurancePremiumPerMonth: number | string | null;
468
- insurancePremiumPerMonthInDollar: number | string | null;
469
- establishingGroupDisabilityFromThirdYear: string | null;
470
- possibilityToChange: string | null;
471
- deathOfInsuredDueToAccident: Value;
472
- establishingGroupDisability: Value;
473
- temporaryDisability: Value;
474
- bodyInjury: Value;
475
- criticalIllnessOfTheInsured: Value;
476
- paymentPeriod: Value;
477
- amountOfInsurancePremium: string | number | null;
478
- lifeMultiply: string | number | null;
479
- lifeAdditive: string | number | null;
480
- lifeMultiplyClient: string | number | null;
481
- lifeAdditiveClient: string | number | null;
482
- adbMultiply: string | number | null;
483
- adbAdditive: string | number | null;
484
- disabilityMultiply: string | number | null;
485
- disabilityAdditive: string | number | null;
486
- riskGroup: Value;
487
- riskGroup2: Value;
488
- additionalConditionAnnuityPayments: boolean;
489
- guaranteedPeriod: number | null;
490
- typeAnnuityInsurance: Value;
491
- termAnnuityPayments: number | string | null;
492
- periodAnnuityPayment: Value;
493
- amountAnnuityPayments: number | string | null;
494
- isRecalculated: boolean;
495
- totalAmount5: number | string | null;
496
- totalAmount7: number | string | null;
497
- statePremium5: number | string | null;
498
- statePremium7: number | string | null;
499
- calculatorForm: CalculatorForm;
500
- agentCommission: number | null;
501
- fixInsSum: number | string | null;
502
- amountRefunded: number | string | null;
503
- amountPaid: number | string | null;
504
- calcDate: string | null;
505
- contractEndDate: string | null;
506
- currency: Value;
500
+ digitalDocument: IDocument | null;
501
+ identityDocument: {
502
+ documentType: Value;
503
+ documentNumber: string | null;
504
+ issuedOn: string | null;
505
+ issuedBy: Value;
506
+ validUntil: string | null;
507
+ };
507
508
 
508
509
  constructor(
509
- insuranceCase = null,
510
- coverPeriod = null,
511
- payPeriod = null,
512
- termsOfInsurance = null,
513
- annualIncome = null,
514
- processIndexRate = new Value(),
515
- processGfot = new Value(),
516
- transferContractCompany = new Value(),
517
- requestedSumInsured = null,
518
- insurancePremiumPerMonth = null,
519
- establishingGroupDisabilityFromThirdYear = null,
520
- possibilityToChange = null,
521
- deathOfInsuredDueToAccident = new Value(),
522
- establishingGroupDisability = new Value(),
523
- temporaryDisability = new Value(),
524
- bodyInjury = new Value(),
525
- criticalIllnessOfTheInsured = new Value(),
526
- paymentPeriod = new Value(),
527
- amountOfInsurancePremium = null,
528
- lifeMultiply = null,
529
- lifeAdditive = null,
530
- lifeMultiplyClient = null,
531
- lifeAdditiveClient = null,
532
- adbMultiply = null,
533
- adbAdditive = null,
534
- disabilityMultiply = null,
535
- disabilityAdditive = null,
536
- riskGroup = new Value(),
537
- riskGroup2 = new Value(),
538
- additionalConditionAnnuityPayments = false,
539
- guaranteedPeriod = null,
540
- typeAnnuityInsurance = new Value(),
541
- termAnnuityPayments = null,
542
- periodAnnuityPayment = new Value(),
543
- amountAnnuityPayments = null,
544
- isRecalculated = false,
545
- totalAmount5 = null,
546
- totalAmount7 = null,
547
- statePremium5 = null,
548
- statePremium7 = null,
549
- calculatorForm = new CalculatorForm(),
550
- agentCommission = null,
551
- fixInsSum = null,
552
- amountRefunded = null,
553
- amountPaid = null,
554
- calcDate = null,
555
- contractEndDate = null,
556
- currency = new Value(),
557
- ) {
558
- this.requestedSumInsuredInDollar = null;
559
- this.insurancePremiumPerMonthInDollar = null;
560
- this.signDate = null;
561
- this.birthDate = null;
562
- this.gender = new Value();
563
- this.insuranceCase = insuranceCase;
564
- this.coverPeriod = coverPeriod;
565
- this.payPeriod = payPeriod;
566
- this.termsOfInsurance = termsOfInsurance;
567
- this.annualIncome = annualIncome;
568
- this.processIndexRate = processIndexRate;
569
- this.processGfot = processGfot;
570
- this.transferContractCompany = transferContractCompany;
571
- this.requestedSumInsured = requestedSumInsured;
572
- this.insurancePremiumPerMonth = insurancePremiumPerMonth;
573
- this.establishingGroupDisabilityFromThirdYear = establishingGroupDisabilityFromThirdYear;
574
- this.possibilityToChange = possibilityToChange;
575
- this.deathOfInsuredDueToAccident = deathOfInsuredDueToAccident;
576
- this.establishingGroupDisability = establishingGroupDisability;
577
- this.temporaryDisability = temporaryDisability;
578
- this.bodyInjury = bodyInjury;
579
- this.criticalIllnessOfTheInsured = criticalIllnessOfTheInsured;
580
- this.paymentPeriod = paymentPeriod;
581
- this.amountOfInsurancePremium = amountOfInsurancePremium;
582
- this.lifeMultiply = lifeMultiply;
583
- this.lifeAdditive = lifeAdditive;
584
- this.lifeMultiplyClient = lifeMultiplyClient;
585
- this.lifeAdditiveClient = lifeAdditiveClient;
510
+ id = 0,
511
+ type = 1,
512
+ iin = null,
513
+ phoneNumber = null,
514
+ longName = null,
515
+ lastName = null,
516
+ firstName = null,
517
+ middleName = null,
518
+ birthDate = null,
519
+ gender = new Value(),
520
+ genderName = null,
521
+ birthPlace = new Value(),
522
+ age = null,
523
+ registrationDate = null,
524
+ job = null,
525
+ jobPosition = null,
526
+ jobPlace = null,
527
+ positionCode = null,
528
+ registrationCountry = new Value(),
529
+ registrationProvince = new Value(),
530
+ registrationRegion = new Value(),
531
+ registrationRegionType = new Value(),
532
+ registrationCity = new Value(),
533
+ registrationQuarter = null,
534
+ registrationMicroDistrict = null,
535
+ registrationStreet = null,
536
+ registrationNumberHouse = null,
537
+ registrationNumberApartment = null,
538
+ birthRegion = new Value(),
539
+ documentType = new Value(),
540
+ documentNumber = null,
541
+ documentIssuers = new Value(),
542
+ documentDate = null,
543
+ documentExpire = null,
544
+ signOfResidency = new Value(),
545
+ signOfIPDL = new Value(),
546
+ isTerror = null,
547
+ countryOfCitizenship = new Value(),
548
+ countryOfTaxResidency = new Value(),
549
+ addTaxResidency = new Value(),
550
+ economySectorCode = new Value(),
551
+ homePhone = null,
552
+ email = null,
553
+ address = null,
554
+ familyStatus = new Value(),
555
+ relationDegree = new Value(),
556
+ isDisability = false,
557
+ disabilityGroupId = new Value(),
558
+ percentageOfPayoutAmount = null,
559
+ migrationCard = null,
560
+ migrationCardIssueDate = null,
561
+ migrationCardExpireDate = null,
562
+ confirmDocType = null,
563
+ confirmDocNumber = null,
564
+ confirmDocIssueDate = null,
565
+ confirmDocExpireDate = null,
566
+ notaryLongName = null,
567
+ notaryLicenseNumber = null,
568
+ notaryLicenseDate = null,
569
+ notaryLicenseIssuer = null,
570
+ jurLongName = null,
571
+ fullNameRod = null,
572
+ confirmDocTypeKz = null,
573
+ confirmDocTypeRod = null,
574
+ isNotary = false,
575
+ ) {
576
+ super(id, type, iin, longName, lastName, firstName, middleName, birthDate, gender, genderName, birthPlace, age);
577
+ this.documentsList = [];
578
+ this.postIndex = null;
579
+ this.isPdl = false;
580
+ this.migrationCard = migrationCard;
581
+ this.migrationCardIssueDate = migrationCardIssueDate;
582
+ this.migrationCardExpireDate = migrationCardExpireDate;
583
+ this.confirmDocType = confirmDocType;
584
+ this.confirmDocNumber = confirmDocNumber;
585
+ this.confirmDocIssueDate = confirmDocIssueDate;
586
+ this.confirmDocExpireDate = confirmDocExpireDate;
587
+ this.notaryLongName = notaryLongName;
588
+ this.notaryLicenseNumber = notaryLicenseNumber;
589
+ this.notaryLicenseDate = notaryLicenseDate;
590
+ this.notaryLicenseIssuer = notaryLicenseIssuer;
591
+ this.jurLongName = jurLongName;
592
+ this.fullNameRod = fullNameRod;
593
+ this.confirmDocTypeKz = confirmDocTypeKz;
594
+ this.confirmDocTypeRod = confirmDocTypeRod;
595
+ this.isNotary = isNotary;
596
+ this.insurancePay = new Value();
597
+ this.job = job;
598
+ this.jobPosition = jobPosition;
599
+ this.jobPlace = jobPlace;
600
+ this.positionCode = positionCode;
601
+ this.registrationCountry = registrationCountry;
602
+ this.registrationProvince = registrationProvince;
603
+ this.registrationRegion = registrationRegion;
604
+ this.registrationRegionType = registrationRegionType;
605
+ this.registrationCity = registrationCity;
606
+ this.registrationQuarter = registrationQuarter;
607
+ this.registrationMicroDistrict = registrationMicroDistrict;
608
+ this.registrationStreet = registrationStreet;
609
+ this.registrationNumberHouse = registrationNumberHouse;
610
+ this.registrationNumberApartment = registrationNumberApartment;
611
+ this.birthRegion = birthRegion;
612
+ this.documentType = documentType;
613
+ this.documentNumber = documentNumber;
614
+ this.documentIssuers = documentIssuers;
615
+ this.documentDate = documentDate;
616
+ this.documentExpire = documentExpire;
617
+ this.signOfResidency = signOfResidency;
618
+ this.signOfIPDL = signOfIPDL;
619
+ this.countryOfCitizenship = countryOfCitizenship;
620
+ this.countryOfTaxResidency = countryOfTaxResidency;
621
+ this.addTaxResidency = addTaxResidency;
622
+ this.economySectorCode = economySectorCode;
623
+ this.phoneNumber = phoneNumber;
624
+ this.homePhone = homePhone;
625
+ this.email = email;
626
+ this.otpTokenId = null;
627
+ this.otpCode = '';
628
+ this.address = address;
629
+ this.familyStatus = familyStatus;
630
+ this.isTerror = isTerror;
631
+ this.relationDegree = relationDegree;
632
+ this.isDisability = isDisability;
633
+ this.disabilityGroup = disabilityGroupId;
634
+ this.percentageOfPayoutAmount = percentageOfPayoutAmount;
635
+ this._cyrPattern = /[\u0400-\u04FF -]+/;
636
+ this._numPattern = /[0-9]+/;
637
+ this._phonePattern = /\(?([0-9]{3})\)?([ .-]?)([0-9]{3})\2([0-9]{4})/;
638
+ this._emailPattern = /.+@.+\..+/;
639
+ this.gotFromInsis = true;
640
+ this.gosPersonData = null;
641
+ this.parsedDocument = null;
642
+ this.hasAgreement = null;
643
+ this.bankInfo = new BankInfoClass();
644
+ this.transferContractCompany = new Value();
645
+ this.digitalDocument = null;
646
+ this.identityDocument = {
647
+ documentType: new Value(),
648
+ documentNumber: null,
649
+ issuedOn: null,
650
+ issuedBy: new Value(),
651
+ validUntil: null,
652
+ };
653
+ }
654
+
655
+ resetMember(clearIinAndPhone: boolean = true) {
656
+ super.resetPerson(clearIinAndPhone);
657
+ this.job = null;
658
+ this.jobPosition = null;
659
+ this.jobPlace = null;
660
+ this.positionCode = null;
661
+ this.registrationCountry = new Value();
662
+ this.registrationProvince = new Value();
663
+ this.registrationRegion = new Value();
664
+ this.registrationRegionType = new Value();
665
+ this.registrationCity = new Value();
666
+ this.registrationQuarter = null;
667
+ this.registrationMicroDistrict = null;
668
+ this.registrationStreet = null;
669
+ this.registrationNumberHouse = null;
670
+ this.registrationNumberApartment = null;
671
+ this.birthRegion = new Value();
672
+ this.documentType = new Value();
673
+ this.documentNumber = null;
674
+ this.documentIssuers = new Value();
675
+ this.documentDate = null;
676
+ this.documentExpire = null;
677
+ this.signOfResidency = new Value();
678
+ this.signOfIPDL = new Value();
679
+ this.countryOfCitizenship = new Value();
680
+ this.countryOfTaxResidency = new Value();
681
+ this.economySectorCode = new Value();
682
+ if (clearIinAndPhone === true) {
683
+ this.phoneNumber = null;
684
+ }
685
+ this.homePhone = null;
686
+ this.email = null;
687
+ this.address = null;
688
+ this.familyStatus = new Value();
689
+ this.isTerror = null;
690
+ this.relationDegree = new Value();
691
+ this.isDisability = false;
692
+ this.disabilityGroup = null;
693
+ this.percentageOfPayoutAmount = null;
694
+ this.gotFromInsis = true;
695
+ this.gosPersonData = null;
696
+ this.parsedDocument = null;
697
+ this.hasAgreement = null;
698
+ this.insurancePay = new Value();
699
+ this.migrationCard = null;
700
+ this.migrationCardIssueDate = null;
701
+ this.migrationCardExpireDate = null;
702
+ this.confirmDocType = null;
703
+ this.confirmDocNumber = null;
704
+ this.confirmDocIssueDate = null;
705
+ this.confirmDocExpireDate = null;
706
+ this.notaryLongName = null;
707
+ this.notaryLicenseNumber = null;
708
+ this.notaryLicenseDate = null;
709
+ this.notaryLicenseIssuer = null;
710
+ this.jurLongName = null;
711
+ this.fullNameRod = null;
712
+ this.confirmDocTypeKz = null;
713
+ this.confirmDocTypeRod = null;
714
+ this.isNotary = false;
715
+ }
716
+
717
+ getPattern(pattern: string) {
718
+ const key = `_${pattern}Pattern` as keyof typeof this;
719
+ return this[key];
720
+ }
721
+
722
+ validatedMessage(valid: any, msg = 'Обязательное поле') {
723
+ return {
724
+ error: valid,
725
+ msg,
726
+ };
727
+ }
728
+
729
+ validateFullName() {
730
+ return this.lastName !== null && this.firstName !== null;
731
+ }
732
+
733
+ getFullNameShorted() {
734
+ return this.validateFullName() ? `${this.lastName} ${this.firstName?.charAt(0)}. ${this.middleName != '' ? this.middleName?.charAt(0) + '.' : ''}` : null;
735
+ }
736
+
737
+ getFullName() {
738
+ return this.validateFullName() ? (this.lastName + ' ' + this.firstName + ' ' + this.middleName != '' ? this.middleName?.charAt(0) : '') : null;
739
+ }
740
+ }
741
+
742
+ class CalculatorForm {
743
+ country: Value;
744
+ countries: CountryValue[] | null;
745
+ purpose: Value;
746
+ workType: Value;
747
+ sportsType: Value;
748
+ type: Value;
749
+ days: string | number | null;
750
+ maxDays: Value;
751
+ age: string | null;
752
+ price: string | null;
753
+ professionType: Value;
754
+ amount: Value;
755
+ startDate: string | null;
756
+ endDate: string | null;
757
+ period: Value;
758
+ currency: string | null;
759
+
760
+ constructor() {
761
+ this.country = new Value();
762
+ this.countries = [];
763
+ this.purpose = new Value();
764
+ this.workType = new Value();
765
+ this.sportsType = new Value();
766
+ this.type = new Value();
767
+ this.days = null;
768
+ this.maxDays = new Value();
769
+ this.age = null;
770
+ this.price = null;
771
+ this.professionType = new Value();
772
+ this.amount = new Value();
773
+ this.startDate = null;
774
+ this.endDate = null;
775
+ this.period = new Value();
776
+ this.currency = null;
777
+ }
778
+ }
779
+
780
+ class ProductConditions {
781
+ signDate: string | null;
782
+ birthDate: string | null;
783
+ gender: Value;
784
+ insuranceCase: string | null;
785
+ coverPeriod: number | null;
786
+ payPeriod: number | null;
787
+ termsOfInsurance: string | null;
788
+ annualIncome: string | null;
789
+ processIndexRate: Value;
790
+ processGfot: Value;
791
+ transferContractCompany: Value;
792
+ requestedSumInsured: number | string | null;
793
+ requestedSumInsuredInDollar: number | string | null;
794
+ insurancePremiumPerMonth: number | string | null;
795
+ insurancePremiumPerMonthInDollar: number | string | null;
796
+ establishingGroupDisabilityFromThirdYear: string | null;
797
+ possibilityToChange: string | null;
798
+ deathOfInsuredDueToAccident: Value;
799
+ establishingGroupDisability: Value;
800
+ temporaryDisability: Value;
801
+ bodyInjury: Value;
802
+ criticalIllnessOfTheInsured: Value;
803
+ paymentPeriod: Value;
804
+ amountOfInsurancePremium: string | number | null;
805
+ lifeMultiply: string | number | null;
806
+ lifeAdditive: string | number | null;
807
+ lifeMultiplyClient: string | number | null;
808
+ lifeAdditiveClient: string | number | null;
809
+ adbMultiply: string | number | null;
810
+ adbAdditive: string | number | null;
811
+ disabilityMultiply: string | number | null;
812
+ disabilityAdditive: string | number | null;
813
+ riskGroup: Value;
814
+ riskGroup2: Value;
815
+ additionalConditionAnnuityPayments: boolean;
816
+ guaranteedPeriod: number | null;
817
+ typeAnnuityInsurance: Value;
818
+ termAnnuityPayments: number | string | null;
819
+ periodAnnuityPayment: Value;
820
+ amountAnnuityPayments: number | string | null;
821
+ isRecalculated: boolean;
822
+ totalAmount5: number | string | null;
823
+ totalAmount7: number | string | null;
824
+ statePremium5: number | string | null;
825
+ statePremium7: number | string | null;
826
+ calculatorForm: CalculatorForm;
827
+ agentCommission: number | null;
828
+ fixInsSum: number | string | null;
829
+ amountRefunded: number | string | null;
830
+ amountPaid: number | string | null;
831
+ calcDate: string | null;
832
+ contractEndDate: string | null;
833
+ currency: Value;
834
+
835
+ constructor(
836
+ insuranceCase = null,
837
+ coverPeriod = null,
838
+ payPeriod = null,
839
+ termsOfInsurance = null,
840
+ annualIncome = null,
841
+ processIndexRate = new Value(),
842
+ processGfot = new Value(),
843
+ transferContractCompany = new Value(),
844
+ requestedSumInsured = null,
845
+ insurancePremiumPerMonth = null,
846
+ establishingGroupDisabilityFromThirdYear = null,
847
+ possibilityToChange = null,
848
+ deathOfInsuredDueToAccident = new Value(),
849
+ establishingGroupDisability = new Value(),
850
+ temporaryDisability = new Value(),
851
+ bodyInjury = new Value(),
852
+ criticalIllnessOfTheInsured = new Value(),
853
+ paymentPeriod = new Value(),
854
+ amountOfInsurancePremium = null,
855
+ lifeMultiply = null,
856
+ lifeAdditive = null,
857
+ lifeMultiplyClient = null,
858
+ lifeAdditiveClient = null,
859
+ adbMultiply = null,
860
+ adbAdditive = null,
861
+ disabilityMultiply = null,
862
+ disabilityAdditive = null,
863
+ riskGroup = new Value(),
864
+ riskGroup2 = new Value(),
865
+ additionalConditionAnnuityPayments = false,
866
+ guaranteedPeriod = null,
867
+ typeAnnuityInsurance = new Value(),
868
+ termAnnuityPayments = null,
869
+ periodAnnuityPayment = new Value(),
870
+ amountAnnuityPayments = null,
871
+ isRecalculated = false,
872
+ totalAmount5 = null,
873
+ totalAmount7 = null,
874
+ statePremium5 = null,
875
+ statePremium7 = null,
876
+ calculatorForm = new CalculatorForm(),
877
+ agentCommission = null,
878
+ fixInsSum = null,
879
+ amountRefunded = null,
880
+ amountPaid = null,
881
+ calcDate = null,
882
+ contractEndDate = null,
883
+ currency = new Value(),
884
+ ) {
885
+ this.requestedSumInsuredInDollar = null;
886
+ this.insurancePremiumPerMonthInDollar = null;
887
+ this.signDate = null;
888
+ this.birthDate = null;
889
+ this.gender = new Value();
890
+ this.insuranceCase = insuranceCase;
891
+ this.coverPeriod = coverPeriod;
892
+ this.payPeriod = payPeriod;
893
+ this.termsOfInsurance = termsOfInsurance;
894
+ this.annualIncome = annualIncome;
895
+ this.processIndexRate = processIndexRate;
896
+ this.processGfot = processGfot;
897
+ this.transferContractCompany = transferContractCompany;
898
+ this.requestedSumInsured = requestedSumInsured;
899
+ this.insurancePremiumPerMonth = insurancePremiumPerMonth;
900
+ this.establishingGroupDisabilityFromThirdYear = establishingGroupDisabilityFromThirdYear;
901
+ this.possibilityToChange = possibilityToChange;
902
+ this.deathOfInsuredDueToAccident = deathOfInsuredDueToAccident;
903
+ this.establishingGroupDisability = establishingGroupDisability;
904
+ this.temporaryDisability = temporaryDisability;
905
+ this.bodyInjury = bodyInjury;
906
+ this.criticalIllnessOfTheInsured = criticalIllnessOfTheInsured;
907
+ this.paymentPeriod = paymentPeriod;
908
+ this.amountOfInsurancePremium = amountOfInsurancePremium;
909
+ this.lifeMultiply = lifeMultiply;
910
+ this.lifeAdditive = lifeAdditive;
911
+ this.lifeMultiplyClient = lifeMultiplyClient;
912
+ this.lifeAdditiveClient = lifeAdditiveClient;
586
913
  this.adbMultiply = adbMultiply;
587
914
  this.adbAdditive = adbAdditive;
588
915
  this.disabilityMultiply = disabilityMultiply;
@@ -625,7 +952,7 @@ export class ProductConditions {
625
952
  }
626
953
  }
627
954
 
628
- export class MemberSettings {
955
+ class MemberSettings {
629
956
  has?: boolean;
630
957
  isMultiple?: boolean;
631
958
  required?: boolean;
@@ -645,7 +972,7 @@ export class MemberSettings {
645
972
  }
646
973
  }
647
974
 
648
- export class DataStoreClass {
975
+ class DataStoreClass {
649
976
  projectConfig: Types.Utils.ProjectConfig | null;
650
977
  // IMP Контроллер фич
651
978
  controls: {
@@ -1013,7 +1340,7 @@ export class DataStoreClass {
1013
1340
  }
1014
1341
  }
1015
1342
 
1016
- export class FormStoreClass {
1343
+ class FormStoreClass {
1017
1344
  documentName: string | null;
1018
1345
  regNumber: string | null;
1019
1346
  policyNumber: string | null;
@@ -1251,7 +1578,7 @@ export class FormStoreClass {
1251
1578
  }
1252
1579
  }
1253
1580
 
1254
- export class Address {
1581
+ class Address {
1255
1582
  country: Value;
1256
1583
  region: Value;
1257
1584
  state: Value;
@@ -1266,571 +1593,273 @@ export class Address {
1266
1593
  longNameKz: string | null;
1267
1594
 
1268
1595
  constructor() {
1269
- this.country = new Value();
1270
- this.region = new Value();
1271
- this.state = new Value();
1272
- this.regionType = new Value();
1273
- this.city = new Value();
1274
- this.square = null;
1275
- this.microdistrict = null;
1276
- this.street = null;
1277
- this.houseNumber = null;
1278
- this.kato = null;
1279
- this.longName = null;
1280
- this.longNameKz = null;
1281
- }
1282
- }
1283
-
1284
- export class PolicyholderActivity {
1285
- activityTypeName: string | null;
1286
- empoloyeeCount: string | null;
1287
-
1288
- constructor() {
1289
- this.activityTypeName = null;
1290
- this.empoloyeeCount = null;
1291
- }
1292
- }
1293
-
1294
- export class BaseGroupClass {
1295
- id: string | number;
1296
- longName: string;
1297
- iin: string;
1298
- phoneNumber: string;
1299
- age: string;
1300
- name: string;
1301
- nameKz: string;
1302
- longNameKz: string;
1303
- citizenship: Value;
1304
- email: string;
1305
- resident: Value;
1306
- taxResidentCountry: Value;
1307
- addTaxResidency: Value;
1308
- economySectorCode: Value;
1309
- hasAttachedFile: boolean;
1310
- actualAddress: Address;
1311
- isActualAddressEqualLegalAddres: boolean;
1312
- legalAddress: Address;
1313
- identityDocument: {
1314
- documentType: Value;
1315
- documentNumber: string;
1316
- series: string;
1317
- issuedBy: Value;
1318
- issuedOn: string;
1319
- validUntil: string;
1320
- };
1321
- bankInfo: BankInfoClass;
1322
- kbe: string;
1323
-
1324
- constructor() {
1325
- this.id = 0;
1326
- this.longName = '';
1327
- this.iin = '';
1328
- this.phoneNumber = '';
1329
- this.age = '';
1330
- this.name = '';
1331
- this.nameKz = '';
1332
- this.longNameKz = '';
1333
- this.citizenship = new Value();
1334
- this.email = '';
1335
- this.resident = new Value();
1336
- this.taxResidentCountry = new Value();
1337
- this.addTaxResidency = new Value();
1338
- this.economySectorCode = new Value();
1339
- this.hasAttachedFile = false;
1340
- this.actualAddress = new Address();
1341
- this.isActualAddressEqualLegalAddres = true;
1342
- this.legalAddress = new Address();
1343
- this.identityDocument = {
1344
- documentType: new Value(),
1345
- documentNumber: '',
1346
- series: '',
1347
- issuedBy: new Value(),
1348
- issuedOn: '',
1349
- validUntil: '',
1350
- };
1351
- this.bankInfo = new BankInfoClass();
1352
- this.kbe = '';
1353
- }
1354
- }
1355
-
1356
- export class PhysGroupClass extends BaseGroupClass {
1357
- lastName: string;
1358
- firstName: string;
1359
- middleName: string;
1360
- birthDate: string;
1361
- gender: Value;
1362
- placeOfBirth: Value;
1363
- workDetails: { workplace: string; positionRu: string; positionKz: string; jobDuties: string };
1364
- hasContactPerson: boolean;
1365
- authorityDetails: {
1366
- basis: Value;
1367
- documentNumber: string | null;
1368
- date: string | null;
1369
- };
1370
-
1371
- constructor() {
1372
- super();
1373
- this.lastName = '';
1374
- this.firstName = '';
1375
- this.middleName = '';
1376
- this.birthDate = '';
1377
- this.gender = new Value();
1378
- this.placeOfBirth = new Value();
1379
- this.workDetails = { workplace: '', positionRu: '', positionKz: '', jobDuties: '' };
1380
- this.hasContactPerson = false;
1381
- this.authorityDetails = {
1382
- basis: new Value(),
1383
- documentNumber: null,
1384
- date: null,
1385
- };
1386
- }
1387
- }
1388
-
1389
- export class GroupMember extends PhysGroupClass {
1390
- isLeader: boolean;
1391
-
1392
- typeOfEconomicActivity: Value;
1393
- activityTypes: { activityTypeName: string; empoloyeeCount: number }[];
1394
- beneficalOwnerQuest: { order: number; text: string; answer: boolean | null }[];
1395
- authoritedPerson: PhysGroupClass;
1396
- insuredPolicyData: Types.InsuredPolicyType;
1397
-
1398
- constructor() {
1399
- super();
1400
- // Client
1401
- this.isLeader = false;
1402
- this.typeOfEconomicActivity = new Value();
1403
- this.activityTypes = [];
1404
- this.beneficalOwnerQuest = [
1405
- {
1406
- order: 0,
1407
- text: 'Отметка о наличии/отсутствии физического лица (лиц), которому прямо или косвенно принадлежат более 25 % долей участия в уставном капитале либо размещенных (за вычетом привилегированных и выкупленных обществом) акций юридического лица',
1408
- answer: null,
1409
- },
1410
- {
1411
- order: 1,
1412
- text: 'Отметка о наличии/отсутствии физического лица (лиц), осуществляющего контроль над юридическим лицом по иным основаниям',
1413
- answer: null,
1414
- },
1415
- {
1416
- order: 2,
1417
- text: 'Отметка о наличии/отсутствии физического лица (лиц) в интересах которого юридическим лицом устанавливаются деловые отношения (совершаются операции)',
1418
- answer: null,
1419
- },
1420
- ];
1421
- this.authoritedPerson = new PhysGroupClass();
1422
- // Insured
1423
- this.insuredPolicyData = {
1424
- insSum: 0,
1425
- insSumWithLoad: 0,
1426
- premium: 0,
1427
- premiumWithLoad: 0,
1428
- insuredRisk: {
1429
- lifeMultiply: 0,
1430
- lifeAdditive: 0,
1431
- disabilityMultiply: 0,
1432
- disabilityAdditive: 0,
1433
- traumaTableMultiple: 0,
1434
- accidentalLifeMultiply: 0,
1435
- accidentalLifeAdditive: 0,
1436
- criticalMultiply: 0,
1437
- criticalAdditive: 0,
1438
- },
1439
- insuredCoverData: [],
1440
- };
1441
- }
1442
- }
1443
-
1444
- export class BankInfoClass {
1445
- bankName: Value;
1446
- bin: string;
1447
- iik: string;
1448
- bik: string;
1449
- kbe: string;
1450
-
1451
- constructor() {
1452
- this.bankName = new Value();
1453
- this.bin = '';
1454
- this.iik = '';
1455
- this.bik = '';
1456
- this.kbe = '';
1457
- }
1458
- }
1459
-
1460
- export class PolicyholderClass {
1461
- isIpdl: boolean;
1462
- clientData: GroupMember;
1463
-
1464
- constructor() {
1465
- this.isIpdl = false;
1466
- this.clientData = new GroupMember();
1467
- }
1468
- }
1469
-
1470
- export class BeneficialOwner {
1471
- id: string;
1472
- isIpdl: boolean;
1473
- beneficialOwnerData: GroupMember;
1474
-
1475
- constructor() {
1476
- this.isIpdl = false;
1477
- this.beneficialOwnerData = new GroupMember();
1478
- this.id = '';
1479
- }
1480
- }
1481
-
1482
- export class TransferContract {
1483
- id: string | null;
1484
- transferContractIsOppv: boolean;
1485
- transferContractFirstPaymentDate: string;
1486
- transferContractAmount: number | string;
1487
- transferContractDate: string;
1488
- transferContractNumber: string;
1489
- transferContractRegNumber: string;
1490
- transferContract: boolean;
1491
- transferContractCompany: Value;
1492
- transferContractMonthCount: number | null;
1493
-
1494
- constructor() {
1495
- this.id = null;
1496
- this.transferContractIsOppv = false;
1497
- this.transferContractFirstPaymentDate = '';
1498
- this.transferContractAmount = 0;
1499
- this.transferContractDate = '';
1500
- this.transferContractNumber = '';
1501
- this.transferContract = false;
1502
- this.transferContractRegNumber = '';
1503
- this.transferContractCompany = new Value();
1504
- this.transferContractMonthCount = null;
1596
+ this.country = new Value();
1597
+ this.region = new Value();
1598
+ this.state = new Value();
1599
+ this.regionType = new Value();
1600
+ this.city = new Value();
1601
+ this.square = null;
1602
+ this.microdistrict = null;
1603
+ this.street = null;
1604
+ this.houseNumber = null;
1605
+ this.kato = null;
1606
+ this.longName = null;
1607
+ this.longNameKz = null;
1505
1608
  }
1506
1609
  }
1507
1610
 
1508
- export class RequiredDocument extends Value {
1509
- iin: string = '';
1510
- }
1611
+ class PolicyholderActivity {
1612
+ activityTypeName: string | null;
1613
+ empoloyeeCount: string | null;
1511
1614
 
1512
- export class MenuItem extends MenuItemConfig {
1513
- constructor({ id, title, link, hasLine, description, url, initial, icon, action, disabled, color, show, chip }: MenuItemConfig = new MenuItemConfig()) {
1514
- super(id, title, link, hasLine, description, url, initial, icon, action, disabled, color, show, chip);
1615
+ constructor() {
1616
+ this.activityTypeName = null;
1617
+ this.empoloyeeCount = null;
1515
1618
  }
1516
1619
  }
1517
- export class Member extends Person {
1518
- response?: {
1519
- contragent?: Types.ContragentType;
1520
- questionnaires?: Types.ContragentQuestionaries[];
1521
- contacts?: Types.ContragentContacts[];
1522
- documents?: Types.ContragentDocuments[];
1523
- addresses?: Types.ContragentAddress[];
1524
- };
1525
- verifyType: any;
1526
- verifyDate: any;
1527
- postIndex: string | null;
1528
- isPdl: boolean;
1529
- migrationCard: string | null;
1530
- migrationCardIssueDate: string | null;
1531
- migrationCardExpireDate: string | null;
1532
- confirmDocType: string | null;
1533
- confirmDocNumber: string | null;
1534
- confirmDocIssueDate: string | null;
1535
- confirmDocExpireDate: string | null;
1536
- notaryLongName: string | null;
1537
- notaryLicenseNumber: string | null;
1538
- notaryLicenseDate: string | null;
1539
- notaryLicenseIssuer: string | null;
1540
- jurLongName: string | null;
1541
- fullNameRod: string | null;
1542
- confirmDocTypeKz: string | null;
1543
- confirmDocTypeRod: string | null;
1544
- isNotary: boolean;
1545
- insurancePay: Value;
1546
- job: string | null;
1547
- jobPosition: string | null;
1548
- jobPlace: string | null;
1549
- positionCode: string | null;
1550
- registrationCountry: Value;
1551
- registrationProvince: Value;
1552
- registrationRegion: Value;
1553
- registrationRegionType: Value;
1554
- registrationCity: Value;
1555
- registrationQuarter?: string | null;
1556
- registrationMicroDistrict?: string | null;
1557
- registrationStreet?: string | null;
1558
- registrationNumberHouse?: string | null;
1559
- registrationNumberApartment?: string | null;
1560
- birthRegion: Value;
1561
- documentType: Value;
1562
- documentNumber: string | null;
1563
- documentIssuers: Types.Base.Document.IssuerOther;
1564
- documentDate: string | null;
1565
- documentExpire: string | null;
1566
- signOfResidency: Value;
1567
- signOfIPDL: Value;
1568
- countryOfCitizenship: Value;
1569
- countryOfTaxResidency: Value;
1620
+
1621
+ class BaseGroupClass {
1622
+ id: string | number;
1623
+ longName: string;
1624
+ iin: string;
1625
+ phoneNumber: string;
1626
+ age: string;
1627
+ name: string;
1628
+ nameKz: string;
1629
+ longNameKz: string;
1630
+ citizenship: Value;
1631
+ email: string;
1632
+ resident: Value;
1633
+ taxResidentCountry: Value;
1570
1634
  addTaxResidency: Value;
1571
1635
  economySectorCode: Value;
1572
- phoneNumber: string | null;
1573
- homePhone: string | null;
1574
- email: string | null;
1575
- address: string | null;
1576
- familyStatus: Value;
1577
- isTerror: null;
1578
- relationDegree: Value;
1579
- isDisability: boolean;
1580
- disabilityGroup: Value | null;
1581
- percentageOfPayoutAmount: string | number | null;
1582
- _cyrPattern: RegExp;
1583
- _numPattern: RegExp;
1584
- _phonePattern: RegExp;
1585
- _emailPattern: RegExp;
1586
- gotFromInsis: boolean | null;
1587
- gosPersonData: Types.Api.GBD.Person | null;
1588
- parsedDocument: any;
1589
- hasAgreement: boolean | null;
1590
- otpTokenId: string | null;
1591
- otpCode: string;
1592
- documentsList: Types.ContragentDocuments[];
1593
- isInsuredUnderage?: boolean = false;
1594
- bankInfo: BankInfoClass;
1595
- transferContractCompany: Value;
1596
- digitalDocument: IDocument | null;
1597
- identityDocument: {
1598
- documentType: Value;
1599
- documentNumber: string | null;
1600
- issuedOn: string | null;
1601
- issuedBy: Value;
1602
- validUntil: string | null;
1603
- };
1604
-
1605
- constructor(
1606
- id = 0,
1607
- type = 1,
1608
- iin = null,
1609
- phoneNumber = null,
1610
- longName = null,
1611
- lastName = null,
1612
- firstName = null,
1613
- middleName = null,
1614
- birthDate = null,
1615
- gender = new Value(),
1616
- genderName = null,
1617
- birthPlace = new Value(),
1618
- age = null,
1619
- registrationDate = null,
1620
- job = null,
1621
- jobPosition = null,
1622
- jobPlace = null,
1623
- positionCode = null,
1624
- registrationCountry = new Value(),
1625
- registrationProvince = new Value(),
1626
- registrationRegion = new Value(),
1627
- registrationRegionType = new Value(),
1628
- registrationCity = new Value(),
1629
- registrationQuarter = null,
1630
- registrationMicroDistrict = null,
1631
- registrationStreet = null,
1632
- registrationNumberHouse = null,
1633
- registrationNumberApartment = null,
1634
- birthRegion = new Value(),
1635
- documentType = new Value(),
1636
- documentNumber = null,
1637
- documentIssuers = new Value(),
1638
- documentDate = null,
1639
- documentExpire = null,
1640
- signOfResidency = new Value(),
1641
- signOfIPDL = new Value(),
1642
- isTerror = null,
1643
- countryOfCitizenship = new Value(),
1644
- countryOfTaxResidency = new Value(),
1645
- addTaxResidency = new Value(),
1646
- economySectorCode = new Value(),
1647
- homePhone = null,
1648
- email = null,
1649
- address = null,
1650
- familyStatus = new Value(),
1651
- relationDegree = new Value(),
1652
- isDisability = false,
1653
- disabilityGroupId = new Value(),
1654
- percentageOfPayoutAmount = null,
1655
- migrationCard = null,
1656
- migrationCardIssueDate = null,
1657
- migrationCardExpireDate = null,
1658
- confirmDocType = null,
1659
- confirmDocNumber = null,
1660
- confirmDocIssueDate = null,
1661
- confirmDocExpireDate = null,
1662
- notaryLongName = null,
1663
- notaryLicenseNumber = null,
1664
- notaryLicenseDate = null,
1665
- notaryLicenseIssuer = null,
1666
- jurLongName = null,
1667
- fullNameRod = null,
1668
- confirmDocTypeKz = null,
1669
- confirmDocTypeRod = null,
1670
- isNotary = false,
1671
- ) {
1672
- super(id, type, iin, longName, lastName, firstName, middleName, birthDate, gender, genderName, birthPlace, age);
1673
- this.documentsList = [];
1674
- this.postIndex = null;
1675
- this.isPdl = false;
1676
- this.migrationCard = migrationCard;
1677
- this.migrationCardIssueDate = migrationCardIssueDate;
1678
- this.migrationCardExpireDate = migrationCardExpireDate;
1679
- this.confirmDocType = confirmDocType;
1680
- this.confirmDocNumber = confirmDocNumber;
1681
- this.confirmDocIssueDate = confirmDocIssueDate;
1682
- this.confirmDocExpireDate = confirmDocExpireDate;
1683
- this.notaryLongName = notaryLongName;
1684
- this.notaryLicenseNumber = notaryLicenseNumber;
1685
- this.notaryLicenseDate = notaryLicenseDate;
1686
- this.notaryLicenseIssuer = notaryLicenseIssuer;
1687
- this.jurLongName = jurLongName;
1688
- this.fullNameRod = fullNameRod;
1689
- this.confirmDocTypeKz = confirmDocTypeKz;
1690
- this.confirmDocTypeRod = confirmDocTypeRod;
1691
- this.isNotary = isNotary;
1692
- this.insurancePay = new Value();
1693
- this.job = job;
1694
- this.jobPosition = jobPosition;
1695
- this.jobPlace = jobPlace;
1696
- this.positionCode = positionCode;
1697
- this.registrationCountry = registrationCountry;
1698
- this.registrationProvince = registrationProvince;
1699
- this.registrationRegion = registrationRegion;
1700
- this.registrationRegionType = registrationRegionType;
1701
- this.registrationCity = registrationCity;
1702
- this.registrationQuarter = registrationQuarter;
1703
- this.registrationMicroDistrict = registrationMicroDistrict;
1704
- this.registrationStreet = registrationStreet;
1705
- this.registrationNumberHouse = registrationNumberHouse;
1706
- this.registrationNumberApartment = registrationNumberApartment;
1707
- this.birthRegion = birthRegion;
1708
- this.documentType = documentType;
1709
- this.documentNumber = documentNumber;
1710
- this.documentIssuers = documentIssuers;
1711
- this.documentDate = documentDate;
1712
- this.documentExpire = documentExpire;
1713
- this.signOfResidency = signOfResidency;
1714
- this.signOfIPDL = signOfIPDL;
1715
- this.countryOfCitizenship = countryOfCitizenship;
1716
- this.countryOfTaxResidency = countryOfTaxResidency;
1717
- this.addTaxResidency = addTaxResidency;
1718
- this.economySectorCode = economySectorCode;
1719
- this.phoneNumber = phoneNumber;
1720
- this.homePhone = homePhone;
1721
- this.email = email;
1722
- this.otpTokenId = null;
1723
- this.otpCode = '';
1724
- this.address = address;
1725
- this.familyStatus = familyStatus;
1726
- this.isTerror = isTerror;
1727
- this.relationDegree = relationDegree;
1728
- this.isDisability = isDisability;
1729
- this.disabilityGroup = disabilityGroupId;
1730
- this.percentageOfPayoutAmount = percentageOfPayoutAmount;
1731
- this._cyrPattern = /[\u0400-\u04FF -]+/;
1732
- this._numPattern = /[0-9]+/;
1733
- this._phonePattern = /\(?([0-9]{3})\)?([ .-]?)([0-9]{3})\2([0-9]{4})/;
1734
- this._emailPattern = /.+@.+\..+/;
1735
- this.gotFromInsis = true;
1736
- this.gosPersonData = null;
1737
- this.parsedDocument = null;
1738
- this.hasAgreement = null;
1739
- this.bankInfo = new BankInfoClass();
1740
- this.transferContractCompany = new Value();
1741
- this.digitalDocument = null;
1636
+ hasAttachedFile: boolean;
1637
+ actualAddress: Address;
1638
+ isActualAddressEqualLegalAddres: boolean;
1639
+ legalAddress: Address;
1640
+ identityDocument: {
1641
+ documentType: Value;
1642
+ documentNumber: string;
1643
+ series: string;
1644
+ issuedBy: Value;
1645
+ issuedOn: string;
1646
+ validUntil: string;
1647
+ };
1648
+ bankInfo: BankInfoClass;
1649
+ kbe: string;
1650
+
1651
+ constructor() {
1652
+ this.id = 0;
1653
+ this.longName = '';
1654
+ this.iin = '';
1655
+ this.phoneNumber = '';
1656
+ this.age = '';
1657
+ this.name = '';
1658
+ this.nameKz = '';
1659
+ this.longNameKz = '';
1660
+ this.citizenship = new Value();
1661
+ this.email = '';
1662
+ this.resident = new Value();
1663
+ this.taxResidentCountry = new Value();
1664
+ this.addTaxResidency = new Value();
1665
+ this.economySectorCode = new Value();
1666
+ this.hasAttachedFile = false;
1667
+ this.actualAddress = new Address();
1668
+ this.isActualAddressEqualLegalAddres = true;
1669
+ this.legalAddress = new Address();
1742
1670
  this.identityDocument = {
1743
1671
  documentType: new Value(),
1744
- documentNumber: null,
1745
- issuedOn: null,
1672
+ documentNumber: '',
1673
+ series: '',
1746
1674
  issuedBy: new Value(),
1747
- validUntil: null,
1675
+ issuedOn: '',
1676
+ validUntil: '',
1748
1677
  };
1678
+ this.bankInfo = new BankInfoClass();
1679
+ this.kbe = '';
1749
1680
  }
1681
+ }
1750
1682
 
1751
- resetMember(clearIinAndPhone: boolean = true) {
1752
- super.resetPerson(clearIinAndPhone);
1753
- this.job = null;
1754
- this.jobPosition = null;
1755
- this.jobPlace = null;
1756
- this.positionCode = null;
1757
- this.registrationCountry = new Value();
1758
- this.registrationProvince = new Value();
1759
- this.registrationRegion = new Value();
1760
- this.registrationRegionType = new Value();
1761
- this.registrationCity = new Value();
1762
- this.registrationQuarter = null;
1763
- this.registrationMicroDistrict = null;
1764
- this.registrationStreet = null;
1765
- this.registrationNumberHouse = null;
1766
- this.registrationNumberApartment = null;
1767
- this.birthRegion = new Value();
1768
- this.documentType = new Value();
1769
- this.documentNumber = null;
1770
- this.documentIssuers = new Value();
1771
- this.documentDate = null;
1772
- this.documentExpire = null;
1773
- this.signOfResidency = new Value();
1774
- this.signOfIPDL = new Value();
1775
- this.countryOfCitizenship = new Value();
1776
- this.countryOfTaxResidency = new Value();
1777
- this.economySectorCode = new Value();
1778
- if (clearIinAndPhone === true) {
1779
- this.phoneNumber = null;
1780
- }
1781
- this.homePhone = null;
1782
- this.email = null;
1783
- this.address = null;
1784
- this.familyStatus = new Value();
1785
- this.isTerror = null;
1786
- this.relationDegree = new Value();
1787
- this.isDisability = false;
1788
- this.disabilityGroup = null;
1789
- this.percentageOfPayoutAmount = null;
1790
- this.gotFromInsis = true;
1791
- this.gosPersonData = null;
1792
- this.parsedDocument = null;
1793
- this.hasAgreement = null;
1794
- this.insurancePay = new Value();
1795
- this.migrationCard = null;
1796
- this.migrationCardIssueDate = null;
1797
- this.migrationCardExpireDate = null;
1798
- this.confirmDocType = null;
1799
- this.confirmDocNumber = null;
1800
- this.confirmDocIssueDate = null;
1801
- this.confirmDocExpireDate = null;
1802
- this.notaryLongName = null;
1803
- this.notaryLicenseNumber = null;
1804
- this.notaryLicenseDate = null;
1805
- this.notaryLicenseIssuer = null;
1806
- this.jurLongName = null;
1807
- this.fullNameRod = null;
1808
- this.confirmDocTypeKz = null;
1809
- this.confirmDocTypeRod = null;
1810
- this.isNotary = false;
1811
- }
1683
+ class PhysGroupClass extends BaseGroupClass {
1684
+ lastName: string;
1685
+ firstName: string;
1686
+ middleName: string;
1687
+ birthDate: string;
1688
+ gender: Value;
1689
+ placeOfBirth: Value;
1690
+ workDetails: { workplace: string; positionRu: string; positionKz: string; jobDuties: string };
1691
+ hasContactPerson: boolean;
1692
+ authorityDetails: {
1693
+ basis: Value;
1694
+ documentNumber: string | null;
1695
+ date: string | null;
1696
+ };
1812
1697
 
1813
- getPattern(pattern: string) {
1814
- const key = `_${pattern}Pattern` as keyof typeof this;
1815
- return this[key];
1698
+ constructor() {
1699
+ super();
1700
+ this.lastName = '';
1701
+ this.firstName = '';
1702
+ this.middleName = '';
1703
+ this.birthDate = '';
1704
+ this.gender = new Value();
1705
+ this.placeOfBirth = new Value();
1706
+ this.workDetails = { workplace: '', positionRu: '', positionKz: '', jobDuties: '' };
1707
+ this.hasContactPerson = false;
1708
+ this.authorityDetails = {
1709
+ basis: new Value(),
1710
+ documentNumber: null,
1711
+ date: null,
1712
+ };
1816
1713
  }
1714
+ }
1817
1715
 
1818
- validatedMessage(valid: any, msg = 'Обязательное поле') {
1819
- return {
1820
- error: valid,
1821
- msg,
1716
+ class GroupMember extends PhysGroupClass {
1717
+ isLeader: boolean;
1718
+
1719
+ typeOfEconomicActivity: Value;
1720
+ activityTypes: { activityTypeName: string; empoloyeeCount: number }[];
1721
+ beneficalOwnerQuest: { order: number; text: string; answer: boolean | null }[];
1722
+ authoritedPerson: PhysGroupClass;
1723
+ insuredPolicyData: Types.InsuredPolicyType;
1724
+
1725
+ constructor() {
1726
+ super();
1727
+ // Client
1728
+ this.isLeader = false;
1729
+ this.typeOfEconomicActivity = new Value();
1730
+ this.activityTypes = [];
1731
+ this.beneficalOwnerQuest = [
1732
+ {
1733
+ order: 0,
1734
+ text: 'Отметка о наличии/отсутствии физического лица (лиц), которому прямо или косвенно принадлежат более 25 % долей участия в уставном капитале либо размещенных (за вычетом привилегированных и выкупленных обществом) акций юридического лица',
1735
+ answer: null,
1736
+ },
1737
+ {
1738
+ order: 1,
1739
+ text: 'Отметка о наличии/отсутствии физического лица (лиц), осуществляющего контроль над юридическим лицом по иным основаниям',
1740
+ answer: null,
1741
+ },
1742
+ {
1743
+ order: 2,
1744
+ text: 'Отметка о наличии/отсутствии физического лица (лиц) в интересах которого юридическим лицом устанавливаются деловые отношения (совершаются операции)',
1745
+ answer: null,
1746
+ },
1747
+ ];
1748
+ this.authoritedPerson = new PhysGroupClass();
1749
+ // Insured
1750
+ this.insuredPolicyData = {
1751
+ insSum: 0,
1752
+ insSumWithLoad: 0,
1753
+ premium: 0,
1754
+ premiumWithLoad: 0,
1755
+ insuredRisk: {
1756
+ lifeMultiply: 0,
1757
+ lifeAdditive: 0,
1758
+ disabilityMultiply: 0,
1759
+ disabilityAdditive: 0,
1760
+ traumaTableMultiple: 0,
1761
+ accidentalLifeMultiply: 0,
1762
+ accidentalLifeAdditive: 0,
1763
+ criticalMultiply: 0,
1764
+ criticalAdditive: 0,
1765
+ },
1766
+ insuredCoverData: [],
1822
1767
  };
1823
1768
  }
1769
+ }
1770
+
1771
+ class BankInfoClass {
1772
+ bankName: Value;
1773
+ bin: string;
1774
+ iik: string;
1775
+ bik: string;
1776
+ kbe: string;
1777
+
1778
+ constructor() {
1779
+ this.bankName = new Value();
1780
+ this.bin = '';
1781
+ this.iik = '';
1782
+ this.bik = '';
1783
+ this.kbe = '';
1784
+ }
1785
+ }
1824
1786
 
1825
- validateFullName() {
1826
- return this.lastName !== null && this.firstName !== null;
1787
+ class PolicyholderClass {
1788
+ isIpdl: boolean;
1789
+ clientData: GroupMember;
1790
+
1791
+ constructor() {
1792
+ this.isIpdl = false;
1793
+ this.clientData = new GroupMember();
1827
1794
  }
1795
+ }
1828
1796
 
1829
- getFullNameShorted() {
1830
- return this.validateFullName() ? `${this.lastName} ${this.firstName?.charAt(0)}. ${this.middleName != '' ? this.middleName?.charAt(0) + '.' : ''}` : null;
1797
+ class BeneficialOwner {
1798
+ id: string;
1799
+ isIpdl: boolean;
1800
+ beneficialOwnerData: GroupMember;
1801
+
1802
+ constructor() {
1803
+ this.isIpdl = false;
1804
+ this.beneficialOwnerData = new GroupMember();
1805
+ this.id = '';
1831
1806
  }
1807
+ }
1832
1808
 
1833
- getFullName() {
1834
- return this.validateFullName() ? (this.lastName + ' ' + this.firstName + ' ' + this.middleName != '' ? this.middleName?.charAt(0) : '') : null;
1809
+ class TransferContract {
1810
+ id: string | null;
1811
+ transferContractIsOppv: boolean;
1812
+ transferContractFirstPaymentDate: string;
1813
+ transferContractAmount: number | string;
1814
+ transferContractDate: string;
1815
+ transferContractNumber: string;
1816
+ transferContractRegNumber: string;
1817
+ transferContract: boolean;
1818
+ transferContractCompany: Value;
1819
+ transferContractMonthCount: number | null;
1820
+
1821
+ constructor() {
1822
+ this.id = null;
1823
+ this.transferContractIsOppv = false;
1824
+ this.transferContractFirstPaymentDate = '';
1825
+ this.transferContractAmount = 0;
1826
+ this.transferContractDate = '';
1827
+ this.transferContractNumber = '';
1828
+ this.transferContract = false;
1829
+ this.transferContractRegNumber = '';
1830
+ this.transferContractCompany = new Value();
1831
+ this.transferContractMonthCount = null;
1835
1832
  }
1836
1833
  }
1834
+
1835
+ class RequiredDocument extends Value {
1836
+ iin: string = '';
1837
+ }
1838
+
1839
+ export {
1840
+ MenuItem,
1841
+ Value,
1842
+ CountryValue,
1843
+ IDocument,
1844
+ DocumentItem,
1845
+ MenuOption,
1846
+ InitialColumns,
1847
+ User,
1848
+ Contragent,
1849
+ Member,
1850
+ CalculatorForm,
1851
+ ProductConditions,
1852
+ MemberSettings,
1853
+ DataStoreClass,
1854
+ FormStoreClass,
1855
+ Address,
1856
+ PolicyholderActivity,
1857
+ BaseGroupClass,
1858
+ PhysGroupClass,
1859
+ GroupMember,
1860
+ BankInfoClass,
1861
+ PolicyholderClass,
1862
+ BeneficialOwner,
1863
+ TransferContract,
1864
+ RequiredDocument,
1865
+ };