hl-core 0.0.9-beta.5 → 0.0.9-beta.50
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/api/base.api.ts +935 -0
- package/api/index.ts +2 -620
- package/api/interceptors.ts +53 -14
- package/components/Button/Btn.vue +2 -2
- package/components/Complex/MessageBlock.vue +2 -2
- package/components/Complex/Page.vue +1 -1
- package/components/Dialog/Dialog.vue +60 -15
- package/components/Form/DynamicForm.vue +100 -0
- package/components/Form/FormBlock.vue +12 -3
- package/components/Form/FormData.vue +110 -0
- package/components/Form/FormSection.vue +3 -3
- package/components/Form/FormToggle.vue +25 -5
- package/components/Form/ManagerAttachment.vue +150 -86
- package/components/Form/ProductConditionsBlock.vue +59 -6
- package/components/Input/Datepicker.vue +39 -8
- package/components/Input/DynamicInput.vue +23 -0
- package/components/Input/FileInput.vue +25 -5
- package/components/Input/FormInput.vue +2 -4
- package/components/Input/Monthpicker.vue +34 -0
- package/components/Input/PanelInput.vue +5 -1
- package/components/Input/RoundedEmptyField.vue +5 -0
- package/components/Input/RoundedSelect.vue +13 -0
- package/components/Input/SwitchInput.vue +64 -0
- package/components/Input/TextInput.vue +160 -0
- package/components/Layout/Drawer.vue +17 -4
- package/components/Layout/Header.vue +23 -2
- package/components/Layout/Loader.vue +1 -1
- package/components/Layout/SettingsPanel.vue +13 -7
- package/components/Menu/InfoMenu.vue +35 -0
- package/components/Menu/MenuNav.vue +17 -2
- package/components/Pages/Anketa.vue +140 -52
- package/components/Pages/Auth.vue +42 -7
- package/components/Pages/ContragentForm.vue +124 -50
- package/components/Pages/Documents.vue +72 -7
- package/components/Pages/InvoiceInfo.vue +1 -1
- package/components/Pages/MemberForm.vue +369 -100
- package/components/Pages/ProductAgreement.vue +1 -8
- package/components/Pages/ProductConditions.vue +888 -181
- package/components/Panel/PanelHandler.vue +414 -45
- package/components/Panel/PanelSelectItem.vue +17 -2
- package/components/Panel/RightPanelCloser.vue +7 -0
- package/components/Transitions/Animation.vue +28 -0
- package/components/Utilities/Qr.vue +44 -0
- package/composables/axios.ts +1 -0
- package/composables/classes.ts +433 -8
- package/composables/constants.ts +102 -2
- package/composables/fields.ts +328 -0
- package/composables/index.ts +257 -12
- package/composables/styles.ts +29 -16
- package/layouts/default.vue +48 -3
- package/locales/ru.json +480 -14
- package/package.json +27 -24
- package/pages/Token.vue +1 -12
- package/plugins/vuetifyPlugin.ts +2 -0
- package/store/data.store.ts +1190 -248
- package/store/extractStore.ts +17 -0
- package/store/form.store.ts +13 -1
- package/store/member.store.ts +1 -1
- package/store/rules.ts +66 -5
- package/types/enum.ts +43 -0
- package/types/env.d.ts +1 -0
- package/types/form.ts +94 -0
- package/types/index.ts +254 -21
package/composables/classes.ts
CHANGED
|
@@ -71,6 +71,13 @@ export class Value {
|
|
|
71
71
|
this.ids = ids;
|
|
72
72
|
}
|
|
73
73
|
}
|
|
74
|
+
export class CountryValue extends Value {
|
|
75
|
+
countryTypeCode: string | number | null;
|
|
76
|
+
constructor(countryTypeCode = null, ...args: any) {
|
|
77
|
+
super(...args);
|
|
78
|
+
this.countryTypeCode = countryTypeCode;
|
|
79
|
+
}
|
|
80
|
+
}
|
|
74
81
|
|
|
75
82
|
export class IDocument {
|
|
76
83
|
id?: string;
|
|
@@ -194,6 +201,8 @@ class Person {
|
|
|
194
201
|
longName: string | null;
|
|
195
202
|
lastName: string | null;
|
|
196
203
|
firstName: string | null;
|
|
204
|
+
firstNameLat?: string | null;
|
|
205
|
+
lastNameLat?: string | null;
|
|
197
206
|
middleName: string | null;
|
|
198
207
|
birthDate: string | null;
|
|
199
208
|
gender: Value;
|
|
@@ -438,10 +447,12 @@ export class Member extends Person {
|
|
|
438
447
|
_emailPattern: RegExp;
|
|
439
448
|
gotFromInsis: boolean | null;
|
|
440
449
|
gosPersonData: any;
|
|
450
|
+
parsedDocument: any;
|
|
441
451
|
hasAgreement: boolean | null;
|
|
442
452
|
otpTokenId: string | null;
|
|
443
453
|
otpCode: string | null;
|
|
444
454
|
documentsList: ContragentDocuments[];
|
|
455
|
+
isInsuredUnderage?: boolean = false;
|
|
445
456
|
constructor(
|
|
446
457
|
id = 0,
|
|
447
458
|
type = 1,
|
|
@@ -566,12 +577,13 @@ export class Member extends Person {
|
|
|
566
577
|
this.isDisability = isDisability;
|
|
567
578
|
this.disabilityGroup = disabilityGroupId;
|
|
568
579
|
this.percentageOfPayoutAmount = percentageOfPayoutAmount;
|
|
569
|
-
this._cyrPattern = /[\u0400-\u04FF]+/;
|
|
580
|
+
this._cyrPattern = /[\u0400-\u04FF -]+/;
|
|
570
581
|
this._numPattern = /[0-9]+/;
|
|
571
582
|
this._phonePattern = /\(?([0-9]{3})\)?([ .-]?)([0-9]{3})\2([0-9]{4})/;
|
|
572
583
|
this._emailPattern = /.+@.+\..+/;
|
|
573
584
|
this.gotFromInsis = true;
|
|
574
585
|
this.gosPersonData = null;
|
|
586
|
+
this.parsedDocument = null;
|
|
575
587
|
this.hasAgreement = null;
|
|
576
588
|
}
|
|
577
589
|
|
|
@@ -615,6 +627,7 @@ export class Member extends Person {
|
|
|
615
627
|
this.percentageOfPayoutAmount = null;
|
|
616
628
|
this.gotFromInsis = true;
|
|
617
629
|
this.gosPersonData = null;
|
|
630
|
+
this.parsedDocument = null;
|
|
618
631
|
this.hasAgreement = null;
|
|
619
632
|
this.insurancePay = new Value();
|
|
620
633
|
this.migrationCard = null;
|
|
@@ -660,6 +673,43 @@ export class Member extends Person {
|
|
|
660
673
|
}
|
|
661
674
|
}
|
|
662
675
|
|
|
676
|
+
export class CalculatorForm {
|
|
677
|
+
country: Value;
|
|
678
|
+
countries: CountryValue[] | null;
|
|
679
|
+
purpose: Value;
|
|
680
|
+
workType: Value;
|
|
681
|
+
sportsType: Value;
|
|
682
|
+
type: Value;
|
|
683
|
+
days: string | number | null;
|
|
684
|
+
maxDays: Value;
|
|
685
|
+
age: string | null;
|
|
686
|
+
price: string | null;
|
|
687
|
+
professionType: Value;
|
|
688
|
+
amount: Value;
|
|
689
|
+
startDate: string | null;
|
|
690
|
+
endDate: string | null;
|
|
691
|
+
period: Value;
|
|
692
|
+
currency: string | null;
|
|
693
|
+
constructor() {
|
|
694
|
+
this.country = new Value();
|
|
695
|
+
this.countries = [];
|
|
696
|
+
this.purpose = new Value();
|
|
697
|
+
this.workType = new Value();
|
|
698
|
+
this.sportsType = new Value();
|
|
699
|
+
this.type = new Value();
|
|
700
|
+
this.days = null;
|
|
701
|
+
this.maxDays = new Value();
|
|
702
|
+
this.age = null;
|
|
703
|
+
this.price = null;
|
|
704
|
+
this.professionType = new Value();
|
|
705
|
+
this.amount = new Value();
|
|
706
|
+
this.startDate = null;
|
|
707
|
+
this.endDate = null;
|
|
708
|
+
this.period = new Value();
|
|
709
|
+
this.currency = null;
|
|
710
|
+
}
|
|
711
|
+
}
|
|
712
|
+
|
|
663
713
|
export class ProductConditions {
|
|
664
714
|
signDate: string | null;
|
|
665
715
|
birthDate: string | null;
|
|
@@ -670,6 +720,7 @@ export class ProductConditions {
|
|
|
670
720
|
termsOfInsurance: string | null;
|
|
671
721
|
annualIncome: string | null;
|
|
672
722
|
processIndexRate: Value;
|
|
723
|
+
processGfot: Value;
|
|
673
724
|
requestedSumInsured: number | string | null;
|
|
674
725
|
requestedSumInsuredInDollar: number | string | null;
|
|
675
726
|
insurancePremiumPerMonth: number | string | null;
|
|
@@ -700,6 +751,15 @@ export class ProductConditions {
|
|
|
700
751
|
termAnnuityPayments: number | string | null;
|
|
701
752
|
periodAnnuityPayment: Value;
|
|
702
753
|
amountAnnuityPayments: number | string | null;
|
|
754
|
+
isRecalculated: boolean;
|
|
755
|
+
totalAmount5: number | string | null;
|
|
756
|
+
totalAmount7: number | string | null;
|
|
757
|
+
statePremium5: number | string | null;
|
|
758
|
+
statePremium7: number | string | null;
|
|
759
|
+
calculatorForm: CalculatorForm;
|
|
760
|
+
agentCommission: number | null;
|
|
761
|
+
fixInsSum: number | string | null;
|
|
762
|
+
|
|
703
763
|
constructor(
|
|
704
764
|
insuranceCase = null,
|
|
705
765
|
coverPeriod = null,
|
|
@@ -707,6 +767,7 @@ export class ProductConditions {
|
|
|
707
767
|
termsOfInsurance = null,
|
|
708
768
|
annualIncome = null,
|
|
709
769
|
processIndexRate = new Value(),
|
|
770
|
+
processGfot = new Value(),
|
|
710
771
|
requestedSumInsured = null,
|
|
711
772
|
insurancePremiumPerMonth = null,
|
|
712
773
|
establishingGroupDisabilityFromThirdYear = null,
|
|
@@ -735,6 +796,14 @@ export class ProductConditions {
|
|
|
735
796
|
termAnnuityPayments = null,
|
|
736
797
|
periodAnnuityPayment = new Value(),
|
|
737
798
|
amountAnnuityPayments = null,
|
|
799
|
+
isRecalculated = false,
|
|
800
|
+
totalAmount5 = null,
|
|
801
|
+
totalAmount7 = null,
|
|
802
|
+
statePremium5 = null,
|
|
803
|
+
statePremium7 = null,
|
|
804
|
+
calculatorForm = new CalculatorForm(),
|
|
805
|
+
agentCommission = null,
|
|
806
|
+
fixInsSum = null,
|
|
738
807
|
) {
|
|
739
808
|
this.requestedSumInsuredInDollar = null;
|
|
740
809
|
this.insurancePremiumPerMonthInDollar = null;
|
|
@@ -747,6 +816,7 @@ export class ProductConditions {
|
|
|
747
816
|
this.termsOfInsurance = termsOfInsurance;
|
|
748
817
|
this.annualIncome = annualIncome;
|
|
749
818
|
this.processIndexRate = processIndexRate;
|
|
819
|
+
this.processGfot = processGfot;
|
|
750
820
|
this.requestedSumInsured = requestedSumInsured;
|
|
751
821
|
this.insurancePremiumPerMonth = insurancePremiumPerMonth;
|
|
752
822
|
this.establishingGroupDisabilityFromThirdYear = establishingGroupDisabilityFromThirdYear;
|
|
@@ -775,6 +845,27 @@ export class ProductConditions {
|
|
|
775
845
|
this.termAnnuityPayments = termAnnuityPayments;
|
|
776
846
|
this.periodAnnuityPayment = periodAnnuityPayment;
|
|
777
847
|
this.amountAnnuityPayments = amountAnnuityPayments;
|
|
848
|
+
this.isRecalculated = isRecalculated;
|
|
849
|
+
this.totalAmount5 = totalAmount5;
|
|
850
|
+
this.totalAmount7 = totalAmount7;
|
|
851
|
+
this.statePremium5 = statePremium5;
|
|
852
|
+
this.statePremium7 = statePremium7;
|
|
853
|
+
this.calculatorForm = calculatorForm;
|
|
854
|
+
this.agentCommission = agentCommission;
|
|
855
|
+
this.fixInsSum = fixInsSum;
|
|
856
|
+
}
|
|
857
|
+
getSingleTripDays() {
|
|
858
|
+
if (this.calculatorForm.startDate && this.calculatorForm.endDate) {
|
|
859
|
+
const date1 = formatDate(this.calculatorForm.startDate);
|
|
860
|
+
const date2 = formatDate(this.calculatorForm.endDate);
|
|
861
|
+
if (date1 && date2) {
|
|
862
|
+
const days = Math.ceil((date2.getTime() - date1.getTime()) / (1000 * 3600 * 24)) + 1;
|
|
863
|
+
if (days > 0) {
|
|
864
|
+
return days;
|
|
865
|
+
}
|
|
866
|
+
}
|
|
867
|
+
}
|
|
868
|
+
return null;
|
|
778
869
|
}
|
|
779
870
|
}
|
|
780
871
|
|
|
@@ -804,6 +895,9 @@ export class DataStoreClass {
|
|
|
804
895
|
setDefaults: {
|
|
805
896
|
sectorCode: boolean;
|
|
806
897
|
percentage: boolean;
|
|
898
|
+
signOfResidency: boolean;
|
|
899
|
+
countryOfTaxResidency: boolean;
|
|
900
|
+
countryOfCitizenship: boolean;
|
|
807
901
|
};
|
|
808
902
|
// Проверка на роль при авторизации
|
|
809
903
|
onAuth: boolean;
|
|
@@ -811,6 +905,8 @@ export class DataStoreClass {
|
|
|
811
905
|
hasAgreement: boolean;
|
|
812
906
|
// Наличие анкеты
|
|
813
907
|
hasAnketa: boolean;
|
|
908
|
+
// Обязательность доп анкеты
|
|
909
|
+
isSecondAnketaRequired: boolean;
|
|
814
910
|
// Подтягивание с ГБДФЛ
|
|
815
911
|
hasGBDFL: boolean;
|
|
816
912
|
// Подтягивание с ГКБ
|
|
@@ -823,6 +919,10 @@ export class DataStoreClass {
|
|
|
823
919
|
hasAttachment: boolean;
|
|
824
920
|
// Решение АС
|
|
825
921
|
hasAffiliation: boolean;
|
|
922
|
+
// Выбор метода подписания
|
|
923
|
+
hasChooseSign: boolean;
|
|
924
|
+
// Выбор метода оплаты
|
|
925
|
+
hasChoosePay: boolean;
|
|
826
926
|
};
|
|
827
927
|
members: {
|
|
828
928
|
clientApp: MemberSettings;
|
|
@@ -834,6 +934,7 @@ export class DataStoreClass {
|
|
|
834
934
|
iframeLoading: boolean;
|
|
835
935
|
hasLayoutMargins: boolean;
|
|
836
936
|
readonly product: Projects | null;
|
|
937
|
+
readonly parentProduct: 'efo' | 'auletti';
|
|
837
938
|
showNav: boolean;
|
|
838
939
|
menuItems: MenuItem[];
|
|
839
940
|
menu: {
|
|
@@ -842,6 +943,9 @@ export class DataStoreClass {
|
|
|
842
943
|
loading: boolean;
|
|
843
944
|
backIcon: string;
|
|
844
945
|
moreIcon: string;
|
|
946
|
+
hasInfo: boolean;
|
|
947
|
+
infoIcon: string;
|
|
948
|
+
infoItems: MenuItem[];
|
|
845
949
|
onBack: any;
|
|
846
950
|
onLink: any;
|
|
847
951
|
selectedItem: MenuItem;
|
|
@@ -858,7 +962,13 @@ export class DataStoreClass {
|
|
|
858
962
|
open: boolean;
|
|
859
963
|
overlay: boolean;
|
|
860
964
|
title: string;
|
|
861
|
-
clear:
|
|
965
|
+
clear: () => void;
|
|
966
|
+
};
|
|
967
|
+
rightPanel: {
|
|
968
|
+
open: boolean;
|
|
969
|
+
overlay: boolean;
|
|
970
|
+
title: string;
|
|
971
|
+
clear: () => void;
|
|
862
972
|
};
|
|
863
973
|
historyPageIndex: number;
|
|
864
974
|
historyPageSize: number;
|
|
@@ -879,12 +989,16 @@ export class DataStoreClass {
|
|
|
879
989
|
documentIssuers: Value[];
|
|
880
990
|
familyStatuses: Value[];
|
|
881
991
|
relations: Value[];
|
|
992
|
+
banks: Value[];
|
|
993
|
+
processTariff: Value[];
|
|
882
994
|
insurancePay: Value[];
|
|
883
995
|
questionRefs: Value[];
|
|
884
996
|
residents: Value[];
|
|
885
997
|
ipdl: Value[];
|
|
886
998
|
economySectorCode: Value[];
|
|
999
|
+
economicActivityType: Value[];
|
|
887
1000
|
gender: Value[];
|
|
1001
|
+
authorityBasis: Value[];
|
|
888
1002
|
fontSize: number;
|
|
889
1003
|
isFontChangerOpen: boolean = false;
|
|
890
1004
|
isLoading: boolean = false;
|
|
@@ -892,6 +1006,7 @@ export class DataStoreClass {
|
|
|
892
1006
|
accessToken: string | null = null;
|
|
893
1007
|
refreshToken: string | null = null;
|
|
894
1008
|
processIndexRate: Value[];
|
|
1009
|
+
processGfot: Value[];
|
|
895
1010
|
processPaymentPeriod: Value[];
|
|
896
1011
|
dicAnnuityTypeList: Value[];
|
|
897
1012
|
processAnnuityPaymentPeriod: Value[];
|
|
@@ -908,6 +1023,7 @@ export class DataStoreClass {
|
|
|
908
1023
|
ManagerPolicy: Value[];
|
|
909
1024
|
AgentData: AgentData[];
|
|
910
1025
|
riskGroup: Value[];
|
|
1026
|
+
DicCoverTypePeriod: Value[];
|
|
911
1027
|
currencies: {
|
|
912
1028
|
eur: number | null;
|
|
913
1029
|
usd: number | null;
|
|
@@ -916,6 +1032,17 @@ export class DataStoreClass {
|
|
|
916
1032
|
show: (item: MenuItem) => boolean;
|
|
917
1033
|
disabled: (item: MenuItem) => boolean;
|
|
918
1034
|
};
|
|
1035
|
+
amountArray: Value[];
|
|
1036
|
+
currency: string | number | null;
|
|
1037
|
+
periodArray: Value[];
|
|
1038
|
+
maxDaysAllArray: Value[];
|
|
1039
|
+
maxDaysFiltered: Value[];
|
|
1040
|
+
dicAllCountries: CountryValue[];
|
|
1041
|
+
dicCountries: CountryValue[];
|
|
1042
|
+
types: Value[];
|
|
1043
|
+
workTypes: Value[];
|
|
1044
|
+
sportsTypes: Value[];
|
|
1045
|
+
purposes: Value[];
|
|
919
1046
|
constructor() {
|
|
920
1047
|
this.filters = {
|
|
921
1048
|
show: (item: MenuItem) => {
|
|
@@ -946,9 +1073,13 @@ export class DataStoreClass {
|
|
|
946
1073
|
setDefaults: {
|
|
947
1074
|
sectorCode: true,
|
|
948
1075
|
percentage: true,
|
|
1076
|
+
signOfResidency: false,
|
|
1077
|
+
countryOfTaxResidency: false,
|
|
1078
|
+
countryOfCitizenship: false,
|
|
949
1079
|
},
|
|
950
1080
|
onAuth: false,
|
|
951
1081
|
hasAnketa: true,
|
|
1082
|
+
isSecondAnketaRequired: true,
|
|
952
1083
|
hasAgreement: true,
|
|
953
1084
|
hasGBDFL: true,
|
|
954
1085
|
hasGKB: false,
|
|
@@ -956,10 +1087,13 @@ export class DataStoreClass {
|
|
|
956
1087
|
hasCalculator: false,
|
|
957
1088
|
hasAttachment: true,
|
|
958
1089
|
hasAffiliation: true,
|
|
1090
|
+
hasChooseSign: false,
|
|
1091
|
+
hasChoosePay: false,
|
|
959
1092
|
};
|
|
960
1093
|
this.iframeLoading = false;
|
|
961
1094
|
this.hasLayoutMargins = true;
|
|
962
1095
|
this.processIndexRate = [];
|
|
1096
|
+
this.processGfot = [];
|
|
963
1097
|
this.processPaymentPeriod = [];
|
|
964
1098
|
this.dicAnnuityTypeList = [];
|
|
965
1099
|
this.processAnnuityPaymentPeriod = [];
|
|
@@ -968,7 +1102,9 @@ export class DataStoreClass {
|
|
|
968
1102
|
this.RegionPolicy = [];
|
|
969
1103
|
this.ManagerPolicy = [];
|
|
970
1104
|
this.AgentData = [];
|
|
1105
|
+
this.DicCoverTypePeriod = [];
|
|
971
1106
|
this.product = import.meta.env.VITE_PRODUCT ? (import.meta.env.VITE_PRODUCT as Projects) : null;
|
|
1107
|
+
this.parentProduct = import.meta.env.VITE_PARENT_PRODUCT ? import.meta.env.VITE_PARENT_PRODUCT : 'efo';
|
|
972
1108
|
this.showNav = true;
|
|
973
1109
|
this.menuItems = [];
|
|
974
1110
|
this.menu = {
|
|
@@ -977,6 +1113,9 @@ export class DataStoreClass {
|
|
|
977
1113
|
loading: false,
|
|
978
1114
|
backIcon: 'mdi-arrow-left',
|
|
979
1115
|
moreIcon: 'mdi-dots-vertical',
|
|
1116
|
+
hasInfo: false,
|
|
1117
|
+
infoIcon: 'mdi-information-outline',
|
|
1118
|
+
infoItems: [],
|
|
980
1119
|
onBack: {},
|
|
981
1120
|
onLink: {},
|
|
982
1121
|
selectedItem: new MenuItem(),
|
|
@@ -992,13 +1131,24 @@ export class DataStoreClass {
|
|
|
992
1131
|
open: false,
|
|
993
1132
|
overlay: false,
|
|
994
1133
|
title: '',
|
|
995
|
-
clear:
|
|
1134
|
+
clear: () => {
|
|
996
1135
|
const panelActions = document.getElementById('panel-actions');
|
|
997
1136
|
if (panelActions) {
|
|
998
1137
|
panelActions.innerHTML = '';
|
|
999
1138
|
}
|
|
1000
1139
|
},
|
|
1001
1140
|
};
|
|
1141
|
+
this.rightPanel = {
|
|
1142
|
+
open: false,
|
|
1143
|
+
overlay: false,
|
|
1144
|
+
title: '',
|
|
1145
|
+
clear: () => {
|
|
1146
|
+
const panelActions = document.getElementById('right-panel-actions');
|
|
1147
|
+
if (panelActions) {
|
|
1148
|
+
panelActions.innerHTML = '';
|
|
1149
|
+
}
|
|
1150
|
+
},
|
|
1151
|
+
};
|
|
1002
1152
|
this.panelAction = null;
|
|
1003
1153
|
this.historyPageIndex = 1;
|
|
1004
1154
|
this.historyPageSize = 10;
|
|
@@ -1019,11 +1169,15 @@ export class DataStoreClass {
|
|
|
1019
1169
|
this.documentIssuers = [];
|
|
1020
1170
|
this.familyStatuses = [];
|
|
1021
1171
|
this.relations = [];
|
|
1172
|
+
this.processTariff = [];
|
|
1173
|
+
this.banks = [];
|
|
1022
1174
|
this.insurancePay = [];
|
|
1023
1175
|
this.residents = [];
|
|
1024
1176
|
this.ipdl = [new Value(1, null), new Value(2, 'Да'), new Value(3, 'Нет')];
|
|
1025
1177
|
this.economySectorCode = [];
|
|
1178
|
+
this.economicActivityType = [];
|
|
1026
1179
|
this.gender = [new Value(0, null), new Value(1, 'Мужской'), new Value(2, 'Женский')];
|
|
1180
|
+
this.authorityBasis = [];
|
|
1027
1181
|
this.fontSize = 14;
|
|
1028
1182
|
this.isFontChangerOpen = false;
|
|
1029
1183
|
this.isLoading = false;
|
|
@@ -1075,10 +1229,41 @@ export class DataStoreClass {
|
|
|
1075
1229
|
ids: '',
|
|
1076
1230
|
},
|
|
1077
1231
|
];
|
|
1232
|
+
this.amountArray = [];
|
|
1233
|
+
this.currency = null;
|
|
1234
|
+
this.maxDaysAllArray = [];
|
|
1235
|
+
this.periodArray = [];
|
|
1236
|
+
this.maxDaysFiltered = [];
|
|
1237
|
+
this.dicCountries = [];
|
|
1238
|
+
this.dicAllCountries = [];
|
|
1239
|
+
this.types = [];
|
|
1240
|
+
this.purposes = [];
|
|
1241
|
+
this.workTypes = [];
|
|
1242
|
+
this.sportsTypes = [];
|
|
1078
1243
|
}
|
|
1079
1244
|
}
|
|
1080
1245
|
|
|
1081
1246
|
export class FormStoreClass {
|
|
1247
|
+
documentName: string | null;
|
|
1248
|
+
regNumber: string | null;
|
|
1249
|
+
policyNumber: string | null;
|
|
1250
|
+
contractDate: string | null;
|
|
1251
|
+
needToScanSignedContract: boolean;
|
|
1252
|
+
isUploadedSignedContract: boolean;
|
|
1253
|
+
signedContractFormData: any;
|
|
1254
|
+
lfb: {
|
|
1255
|
+
clients: ClientV2[];
|
|
1256
|
+
policyholder: PolicyholderClass;
|
|
1257
|
+
hasAccidentIncidents: boolean;
|
|
1258
|
+
accidentIncidents: AccidentIncidents[];
|
|
1259
|
+
policyholderActivities: PolicyholderActivity[];
|
|
1260
|
+
beneficialOwners: BeneficialOwner[];
|
|
1261
|
+
beneficialOwnersIndex: number;
|
|
1262
|
+
isPolicyholderBeneficialOwner: boolean;
|
|
1263
|
+
clientId: string | null;
|
|
1264
|
+
insuredFile: any;
|
|
1265
|
+
isPanelInside: boolean;
|
|
1266
|
+
};
|
|
1082
1267
|
additionalInsuranceTerms: AddCover[];
|
|
1083
1268
|
additionalInsuranceTermsWithout: AddCover[];
|
|
1084
1269
|
signUrls: SignUrlType[];
|
|
@@ -1100,8 +1285,6 @@ export class FormStoreClass {
|
|
|
1100
1285
|
surveyByHealthBasePolicyholder: AnketaFirst | null;
|
|
1101
1286
|
surveyByCriticalBase: AnketaFirst | null;
|
|
1102
1287
|
surveyByCriticalBasePolicyholder: AnketaFirst | null;
|
|
1103
|
-
surveyByHealthSecond: AnketaSecond[] | null;
|
|
1104
|
-
surveyByCriticalSecond: AnketaSecond[] | null;
|
|
1105
1288
|
definedAnswersId: {
|
|
1106
1289
|
surveyByHealthBase: any;
|
|
1107
1290
|
surveyByCriticalBase: any;
|
|
@@ -1120,12 +1303,15 @@ export class FormStoreClass {
|
|
|
1120
1303
|
insuredForm: boolean;
|
|
1121
1304
|
policyholdersRepresentativeForm: boolean;
|
|
1122
1305
|
productConditionsForm: boolean;
|
|
1306
|
+
calculatorForm: boolean;
|
|
1123
1307
|
recalculationForm: boolean;
|
|
1124
1308
|
surveyByHealthBase: boolean;
|
|
1125
1309
|
surveyByCriticalBase: boolean;
|
|
1126
1310
|
surveyByHealthBasePolicyholder: boolean;
|
|
1127
1311
|
surveyByCriticalBasePolicyholder: boolean;
|
|
1128
1312
|
insuranceDocument: boolean;
|
|
1313
|
+
policyholderActivitiesForm: boolean;
|
|
1314
|
+
accidentStatisticsForm: boolean;
|
|
1129
1315
|
};
|
|
1130
1316
|
isPolicyholderInsured: boolean = false;
|
|
1131
1317
|
isPolicyholderBeneficiary: boolean = false;
|
|
@@ -1134,6 +1320,7 @@ export class FormStoreClass {
|
|
|
1134
1320
|
isPolicyholderIPDL: boolean = false;
|
|
1135
1321
|
applicationData: {
|
|
1136
1322
|
processInstanceId: number | string;
|
|
1323
|
+
regNumber?: string;
|
|
1137
1324
|
statusCode?: keyof typeof Statuses;
|
|
1138
1325
|
clientApp?: any;
|
|
1139
1326
|
insuredApp?: any;
|
|
@@ -1164,7 +1351,27 @@ export class FormStoreClass {
|
|
|
1164
1351
|
questionnaireByCritical: any[];
|
|
1165
1352
|
canBeClaimed: boolean | null;
|
|
1166
1353
|
applicationTaskId: string | null;
|
|
1167
|
-
constructor(
|
|
1354
|
+
constructor() {
|
|
1355
|
+
this.regNumber = null;
|
|
1356
|
+
this.policyNumber = null;
|
|
1357
|
+
this.contractDate = null;
|
|
1358
|
+
this.documentName = null;
|
|
1359
|
+
this.isUploadedSignedContract = false;
|
|
1360
|
+
this.needToScanSignedContract = false;
|
|
1361
|
+
this.signedContractFormData = null;
|
|
1362
|
+
this.lfb = {
|
|
1363
|
+
clients: [],
|
|
1364
|
+
policyholder: new PolicyholderClass(),
|
|
1365
|
+
hasAccidentIncidents: true,
|
|
1366
|
+
policyholderActivities: [new PolicyholderActivity()],
|
|
1367
|
+
beneficialOwners: [new BeneficialOwner()],
|
|
1368
|
+
beneficialOwnersIndex: 0,
|
|
1369
|
+
isPolicyholderBeneficialOwner: false,
|
|
1370
|
+
accidentIncidents: [],
|
|
1371
|
+
clientId: null,
|
|
1372
|
+
insuredFile: null,
|
|
1373
|
+
isPanelInside: false,
|
|
1374
|
+
};
|
|
1168
1375
|
this.additionalInsuranceTerms = [];
|
|
1169
1376
|
this.additionalInsuranceTermsWithout = [];
|
|
1170
1377
|
this.signUrls = [];
|
|
@@ -1186,8 +1393,6 @@ export class FormStoreClass {
|
|
|
1186
1393
|
this.surveyByHealthBasePolicyholder = null;
|
|
1187
1394
|
this.surveyByCriticalBase = null;
|
|
1188
1395
|
this.surveyByCriticalBasePolicyholder = null;
|
|
1189
|
-
this.surveyByHealthSecond = null;
|
|
1190
|
-
this.surveyByCriticalSecond = null;
|
|
1191
1396
|
this.definedAnswersId = {
|
|
1192
1397
|
surveyByHealthBase: {},
|
|
1193
1398
|
surveyByCriticalBase: {},
|
|
@@ -1214,12 +1419,15 @@ export class FormStoreClass {
|
|
|
1214
1419
|
insuredForm: true,
|
|
1215
1420
|
policyholdersRepresentativeForm: true,
|
|
1216
1421
|
productConditionsForm: true,
|
|
1422
|
+
calculatorForm: true,
|
|
1217
1423
|
recalculationForm: true,
|
|
1218
1424
|
surveyByHealthBase: true,
|
|
1219
1425
|
surveyByCriticalBase: true,
|
|
1220
1426
|
surveyByHealthBasePolicyholder: true,
|
|
1221
1427
|
surveyByCriticalBasePolicyholder: true,
|
|
1222
1428
|
insuranceDocument: true,
|
|
1429
|
+
policyholderActivitiesForm: true,
|
|
1430
|
+
accidentStatisticsForm: true,
|
|
1223
1431
|
};
|
|
1224
1432
|
this.isPolicyholderInsured = false;
|
|
1225
1433
|
this.isPolicyholderBeneficiary = false;
|
|
@@ -1247,3 +1455,220 @@ export class FormStoreClass {
|
|
|
1247
1455
|
this.applicationTaskId = null;
|
|
1248
1456
|
}
|
|
1249
1457
|
}
|
|
1458
|
+
|
|
1459
|
+
export class Address {
|
|
1460
|
+
country: Value;
|
|
1461
|
+
region: Value;
|
|
1462
|
+
regionType: Value;
|
|
1463
|
+
city: Value;
|
|
1464
|
+
square: string | null;
|
|
1465
|
+
microdistrict: string | null;
|
|
1466
|
+
street: string | null;
|
|
1467
|
+
houseNumber: string | null;
|
|
1468
|
+
kato: string | null;
|
|
1469
|
+
longName: string | null;
|
|
1470
|
+
longNameKz: string | null;
|
|
1471
|
+
constructor() {
|
|
1472
|
+
this.country = new Value();
|
|
1473
|
+
this.region = new Value();
|
|
1474
|
+
this.regionType = new Value();
|
|
1475
|
+
this.city = new Value();
|
|
1476
|
+
this.square = null;
|
|
1477
|
+
this.microdistrict = null;
|
|
1478
|
+
this.street = null;
|
|
1479
|
+
this.houseNumber = null;
|
|
1480
|
+
this.kato = null;
|
|
1481
|
+
this.longName = null;
|
|
1482
|
+
this.longNameKz = null;
|
|
1483
|
+
}
|
|
1484
|
+
}
|
|
1485
|
+
|
|
1486
|
+
export class PolicyholderActivity {
|
|
1487
|
+
activityTypeName: string | null;
|
|
1488
|
+
empoloyeeCount: string | null;
|
|
1489
|
+
constructor() {
|
|
1490
|
+
this.activityTypeName = null;
|
|
1491
|
+
this.empoloyeeCount = null;
|
|
1492
|
+
}
|
|
1493
|
+
}
|
|
1494
|
+
|
|
1495
|
+
export class BaseGroupClass {
|
|
1496
|
+
id: string | number;
|
|
1497
|
+
longName: string;
|
|
1498
|
+
iin: string;
|
|
1499
|
+
phoneNumber: string;
|
|
1500
|
+
age: string;
|
|
1501
|
+
name: string;
|
|
1502
|
+
nameKz: string;
|
|
1503
|
+
longNameKz: string;
|
|
1504
|
+
citizenship: Value;
|
|
1505
|
+
email: string;
|
|
1506
|
+
resident: Value;
|
|
1507
|
+
taxResidentCountry: Value;
|
|
1508
|
+
addTaxResidency: Value;
|
|
1509
|
+
economySectorCode: Value;
|
|
1510
|
+
hasAttachedFile: boolean;
|
|
1511
|
+
actualAddress: Address;
|
|
1512
|
+
isActualAddressEqualLegalAddres: boolean;
|
|
1513
|
+
legalAddress: Address;
|
|
1514
|
+
identityDocument: {
|
|
1515
|
+
documentType: Value;
|
|
1516
|
+
documentNumber: string;
|
|
1517
|
+
series: string;
|
|
1518
|
+
issuedBy: Value;
|
|
1519
|
+
issuedOn: string;
|
|
1520
|
+
validUntil: string;
|
|
1521
|
+
};
|
|
1522
|
+
bankInfo: BankInfoClass;
|
|
1523
|
+
kbe: string;
|
|
1524
|
+
constructor() {
|
|
1525
|
+
this.id = 0;
|
|
1526
|
+
this.longName = '';
|
|
1527
|
+
this.iin = '';
|
|
1528
|
+
this.phoneNumber = '';
|
|
1529
|
+
this.age = '';
|
|
1530
|
+
this.name = '';
|
|
1531
|
+
this.nameKz = '';
|
|
1532
|
+
this.longNameKz = '';
|
|
1533
|
+
this.citizenship = new Value();
|
|
1534
|
+
this.email = '';
|
|
1535
|
+
this.resident = new Value();
|
|
1536
|
+
this.taxResidentCountry = new Value();
|
|
1537
|
+
this.addTaxResidency = new Value();
|
|
1538
|
+
this.economySectorCode = new Value();
|
|
1539
|
+
this.hasAttachedFile = false;
|
|
1540
|
+
this.actualAddress = new Address();
|
|
1541
|
+
this.isActualAddressEqualLegalAddres = true;
|
|
1542
|
+
this.legalAddress = new Address();
|
|
1543
|
+
this.identityDocument = {
|
|
1544
|
+
documentType: new Value(),
|
|
1545
|
+
documentNumber: '',
|
|
1546
|
+
series: '',
|
|
1547
|
+
issuedBy: new Value(),
|
|
1548
|
+
issuedOn: '',
|
|
1549
|
+
validUntil: '',
|
|
1550
|
+
};
|
|
1551
|
+
this.bankInfo = new BankInfoClass();
|
|
1552
|
+
this.kbe = '';
|
|
1553
|
+
}
|
|
1554
|
+
}
|
|
1555
|
+
|
|
1556
|
+
export class PhysGroupClass extends BaseGroupClass {
|
|
1557
|
+
lastName: string;
|
|
1558
|
+
firstName: string;
|
|
1559
|
+
middleName: string;
|
|
1560
|
+
birthDate: string;
|
|
1561
|
+
gender: Value;
|
|
1562
|
+
placeOfBirth: Value;
|
|
1563
|
+
workDetails: { workplace: string; position: string; jobDuties: string };
|
|
1564
|
+
hasContactPerson: boolean;
|
|
1565
|
+
constructor() {
|
|
1566
|
+
super();
|
|
1567
|
+
this.lastName = '';
|
|
1568
|
+
this.firstName = '';
|
|
1569
|
+
this.middleName = '';
|
|
1570
|
+
this.birthDate = '';
|
|
1571
|
+
this.gender = new Value();
|
|
1572
|
+
this.placeOfBirth = new Value();
|
|
1573
|
+
this.workDetails = { workplace: '', position: '', jobDuties: '' };
|
|
1574
|
+
this.hasContactPerson = false;
|
|
1575
|
+
}
|
|
1576
|
+
}
|
|
1577
|
+
|
|
1578
|
+
export class GroupMember extends PhysGroupClass {
|
|
1579
|
+
isLeader: boolean;
|
|
1580
|
+
authorityDetails: {
|
|
1581
|
+
basis: Value;
|
|
1582
|
+
documentNumber: string | null;
|
|
1583
|
+
date: string | null;
|
|
1584
|
+
};
|
|
1585
|
+
typeOfEconomicActivity: Value;
|
|
1586
|
+
activityTypes: { activityTypeName: string; empoloyeeCount: number }[];
|
|
1587
|
+
beneficalOwnerQuest: { order: number; text: string; answer: boolean | null }[];
|
|
1588
|
+
authoritedPerson: PhysGroupClass;
|
|
1589
|
+
insuredPolicyData: InsuredPolicyType;
|
|
1590
|
+
constructor() {
|
|
1591
|
+
super();
|
|
1592
|
+
// Client
|
|
1593
|
+
this.isLeader = false;
|
|
1594
|
+
this.authorityDetails = {
|
|
1595
|
+
basis: new Value(),
|
|
1596
|
+
documentNumber: null,
|
|
1597
|
+
date: null,
|
|
1598
|
+
};
|
|
1599
|
+
this.typeOfEconomicActivity = new Value();
|
|
1600
|
+
this.activityTypes = [];
|
|
1601
|
+
this.beneficalOwnerQuest = [
|
|
1602
|
+
{
|
|
1603
|
+
order: 0,
|
|
1604
|
+
text: 'Отметка о наличии/отсутствии физического лица (лиц), которому прямо или косвенно принадлежат более 25 % долей участия в уставном капитале либо размещенных (за вычетом привилегированных и выкупленных обществом) акций юридического лица',
|
|
1605
|
+
answer: null,
|
|
1606
|
+
},
|
|
1607
|
+
{
|
|
1608
|
+
order: 1,
|
|
1609
|
+
text: 'Отметка о наличии/отсутствии физического лица (лиц), осуществляющего контроль над юридическим лицом по иным основаниям',
|
|
1610
|
+
answer: null,
|
|
1611
|
+
},
|
|
1612
|
+
{
|
|
1613
|
+
order: 2,
|
|
1614
|
+
text: 'Отметка о наличии/отсутствии физического лица (лиц) в интересах которого юридическим лицом устанавливаются деловые отношения (совершаются операции)',
|
|
1615
|
+
answer: null,
|
|
1616
|
+
},
|
|
1617
|
+
];
|
|
1618
|
+
this.authoritedPerson = new PhysGroupClass();
|
|
1619
|
+
// Insured
|
|
1620
|
+
this.insuredPolicyData = {
|
|
1621
|
+
insSum: 0,
|
|
1622
|
+
insSumWithLoad: 0,
|
|
1623
|
+
premium: 0,
|
|
1624
|
+
premiumWithLoad: 0,
|
|
1625
|
+
insuredRisk: {
|
|
1626
|
+
lifeMultiply: 0,
|
|
1627
|
+
lifeAdditive: 0,
|
|
1628
|
+
disabilityMultiply: 0,
|
|
1629
|
+
disabilityAdditive: 0,
|
|
1630
|
+
traumaTableMultiple: 0,
|
|
1631
|
+
accidentalLifeMultiply: 0,
|
|
1632
|
+
accidentalLifeAdditive: 0,
|
|
1633
|
+
criticalMultiply: 0,
|
|
1634
|
+
criticalAdditive: 0,
|
|
1635
|
+
},
|
|
1636
|
+
insuredCoverData: [],
|
|
1637
|
+
};
|
|
1638
|
+
}
|
|
1639
|
+
}
|
|
1640
|
+
|
|
1641
|
+
export class BankInfoClass {
|
|
1642
|
+
bankName: Value;
|
|
1643
|
+
bin: string;
|
|
1644
|
+
iik: string;
|
|
1645
|
+
bik: string;
|
|
1646
|
+
kbe: string;
|
|
1647
|
+
constructor() {
|
|
1648
|
+
this.bankName = new Value();
|
|
1649
|
+
this.bin = '';
|
|
1650
|
+
this.iik = '';
|
|
1651
|
+
this.bik = '';
|
|
1652
|
+
this.kbe = '';
|
|
1653
|
+
}
|
|
1654
|
+
}
|
|
1655
|
+
|
|
1656
|
+
export class PolicyholderClass {
|
|
1657
|
+
isIpdl: boolean;
|
|
1658
|
+
clientData: GroupMember;
|
|
1659
|
+
constructor() {
|
|
1660
|
+
this.isIpdl = false;
|
|
1661
|
+
this.clientData = new GroupMember();
|
|
1662
|
+
}
|
|
1663
|
+
}
|
|
1664
|
+
|
|
1665
|
+
export class BeneficialOwner {
|
|
1666
|
+
id: string;
|
|
1667
|
+
isIpdl: boolean;
|
|
1668
|
+
beneficialOwnerData: GroupMember;
|
|
1669
|
+
constructor() {
|
|
1670
|
+
this.isIpdl = false;
|
|
1671
|
+
this.beneficialOwnerData = new GroupMember();
|
|
1672
|
+
this.id = '';
|
|
1673
|
+
}
|
|
1674
|
+
}
|