hl-core 0.0.9-beta.4 → 0.0.9-beta.41

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 (61) hide show
  1. package/api/base.api.ts +904 -0
  2. package/api/index.ts +2 -620
  3. package/api/interceptors.ts +58 -14
  4. package/components/Button/Btn.vue +2 -2
  5. package/components/Complex/MessageBlock.vue +2 -2
  6. package/components/Complex/Page.vue +1 -1
  7. package/components/Dialog/Dialog.vue +60 -15
  8. package/components/Form/DynamicForm.vue +100 -0
  9. package/components/Form/FormBlock.vue +12 -3
  10. package/components/Form/FormData.vue +114 -0
  11. package/components/Form/FormToggle.vue +9 -3
  12. package/components/Form/ManagerAttachment.vue +150 -86
  13. package/components/Form/ProductConditionsBlock.vue +59 -6
  14. package/components/Input/Datepicker.vue +1 -8
  15. package/components/Input/DynamicInput.vue +23 -0
  16. package/components/Input/FileInput.vue +16 -4
  17. package/components/Input/FormInput.vue +1 -3
  18. package/components/Input/Monthpicker.vue +34 -0
  19. package/components/Input/PanelInput.vue +5 -1
  20. package/components/Input/RoundedEmptyField.vue +5 -0
  21. package/components/Input/RoundedSelect.vue +13 -0
  22. package/components/Input/SwitchInput.vue +64 -0
  23. package/components/Input/TextInput.vue +159 -0
  24. package/components/Layout/Drawer.vue +17 -4
  25. package/components/Layout/Header.vue +23 -2
  26. package/components/Layout/SettingsPanel.vue +13 -7
  27. package/components/Menu/InfoMenu.vue +35 -0
  28. package/components/Menu/MenuNav.vue +17 -2
  29. package/components/Pages/Anketa.vue +140 -52
  30. package/components/Pages/Auth.vue +12 -1
  31. package/components/Pages/ContragentForm.vue +129 -50
  32. package/components/Pages/Documents.vue +72 -7
  33. package/components/Pages/InvoiceInfo.vue +1 -1
  34. package/components/Pages/MemberForm.vue +269 -96
  35. package/components/Pages/ProductAgreement.vue +1 -8
  36. package/components/Pages/ProductConditions.vue +798 -168
  37. package/components/Panel/PanelHandler.vue +373 -45
  38. package/components/Panel/PanelSelectItem.vue +17 -2
  39. package/components/Panel/RightPanelCloser.vue +7 -0
  40. package/components/Transitions/Animation.vue +28 -0
  41. package/composables/axios.ts +2 -1
  42. package/composables/classes.ts +415 -8
  43. package/composables/constants.ts +65 -2
  44. package/composables/fields.ts +291 -0
  45. package/composables/index.ts +58 -5
  46. package/composables/styles.ts +22 -10
  47. package/layouts/default.vue +48 -3
  48. package/locales/ru.json +460 -12
  49. package/nuxt.config.ts +1 -1
  50. package/package.json +25 -22
  51. package/pages/Token.vue +1 -12
  52. package/plugins/helperFunctionsPlugins.ts +0 -3
  53. package/plugins/vuetifyPlugin.ts +2 -0
  54. package/store/data.store.ts +1031 -224
  55. package/store/extractStore.ts +17 -0
  56. package/store/form.store.ts +13 -1
  57. package/store/member.store.ts +1 -1
  58. package/store/rules.ts +53 -5
  59. package/types/enum.ts +37 -0
  60. package/types/form.ts +94 -0
  61. package/types/index.ts +216 -20
@@ -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;
@@ -442,6 +451,7 @@ export class Member extends Person {
442
451
  otpTokenId: string | null;
443
452
  otpCode: string | null;
444
453
  documentsList: ContragentDocuments[];
454
+ isInsuredUnderage?: boolean = false;
445
455
  constructor(
446
456
  id = 0,
447
457
  type = 1,
@@ -566,7 +576,7 @@ export class Member extends Person {
566
576
  this.isDisability = isDisability;
567
577
  this.disabilityGroup = disabilityGroupId;
568
578
  this.percentageOfPayoutAmount = percentageOfPayoutAmount;
569
- this._cyrPattern = /[\u0400-\u04FF]+/;
579
+ this._cyrPattern = /[\u0400-\u04FF -]+/;
570
580
  this._numPattern = /[0-9]+/;
571
581
  this._phonePattern = /\(?([0-9]{3})\)?([ .-]?)([0-9]{3})\2([0-9]{4})/;
572
582
  this._emailPattern = /.+@.+\..+/;
@@ -660,6 +670,43 @@ export class Member extends Person {
660
670
  }
661
671
  }
662
672
 
673
+ export class CalculatorForm {
674
+ country: Value;
675
+ countries: CountryValue[] | null;
676
+ purpose: Value;
677
+ workType: Value;
678
+ sportsType: Value;
679
+ type: Value;
680
+ days: string | number | null;
681
+ maxDays: Value;
682
+ age: string | null;
683
+ price: string | null;
684
+ professionType: Value;
685
+ amount: Value;
686
+ startDate: string | null;
687
+ endDate: string | null;
688
+ period: Value;
689
+ currency: string | null;
690
+ constructor() {
691
+ this.country = new Value();
692
+ this.countries = [];
693
+ this.purpose = new Value();
694
+ this.workType = new Value();
695
+ this.sportsType = new Value();
696
+ this.type = new Value();
697
+ this.days = null;
698
+ this.maxDays = new Value();
699
+ this.age = null;
700
+ this.price = null;
701
+ this.professionType = new Value();
702
+ this.amount = new Value();
703
+ this.startDate = null;
704
+ this.endDate = null;
705
+ this.period = new Value();
706
+ this.currency = null;
707
+ }
708
+ }
709
+
663
710
  export class ProductConditions {
664
711
  signDate: string | null;
665
712
  birthDate: string | null;
@@ -670,6 +717,7 @@ export class ProductConditions {
670
717
  termsOfInsurance: string | null;
671
718
  annualIncome: string | null;
672
719
  processIndexRate: Value;
720
+ processGfot: Value;
673
721
  requestedSumInsured: number | string | null;
674
722
  requestedSumInsuredInDollar: number | string | null;
675
723
  insurancePremiumPerMonth: number | string | null;
@@ -700,6 +748,12 @@ export class ProductConditions {
700
748
  termAnnuityPayments: number | string | null;
701
749
  periodAnnuityPayment: Value;
702
750
  amountAnnuityPayments: number | string | null;
751
+ isRecalculated: boolean;
752
+ totalAmount5: number | string | null;
753
+ totalAmount7: number | string | null;
754
+ statePremium5: number | string | null;
755
+ statePremium7: number | string | null;
756
+ calculatorForm: CalculatorForm;
703
757
  constructor(
704
758
  insuranceCase = null,
705
759
  coverPeriod = null,
@@ -707,6 +761,7 @@ export class ProductConditions {
707
761
  termsOfInsurance = null,
708
762
  annualIncome = null,
709
763
  processIndexRate = new Value(),
764
+ processGfot = new Value(),
710
765
  requestedSumInsured = null,
711
766
  insurancePremiumPerMonth = null,
712
767
  establishingGroupDisabilityFromThirdYear = null,
@@ -735,6 +790,12 @@ export class ProductConditions {
735
790
  termAnnuityPayments = null,
736
791
  periodAnnuityPayment = new Value(),
737
792
  amountAnnuityPayments = null,
793
+ isRecalculated = false,
794
+ totalAmount5 = null,
795
+ totalAmount7 = null,
796
+ statePremium5 = null,
797
+ statePremium7 = null,
798
+ calculatorForm = new CalculatorForm(),
738
799
  ) {
739
800
  this.requestedSumInsuredInDollar = null;
740
801
  this.insurancePremiumPerMonthInDollar = null;
@@ -747,6 +808,7 @@ export class ProductConditions {
747
808
  this.termsOfInsurance = termsOfInsurance;
748
809
  this.annualIncome = annualIncome;
749
810
  this.processIndexRate = processIndexRate;
811
+ this.processGfot = processGfot;
750
812
  this.requestedSumInsured = requestedSumInsured;
751
813
  this.insurancePremiumPerMonth = insurancePremiumPerMonth;
752
814
  this.establishingGroupDisabilityFromThirdYear = establishingGroupDisabilityFromThirdYear;
@@ -775,6 +837,25 @@ export class ProductConditions {
775
837
  this.termAnnuityPayments = termAnnuityPayments;
776
838
  this.periodAnnuityPayment = periodAnnuityPayment;
777
839
  this.amountAnnuityPayments = amountAnnuityPayments;
840
+ this.isRecalculated = isRecalculated;
841
+ this.totalAmount5 = totalAmount5;
842
+ this.totalAmount7 = totalAmount7;
843
+ this.statePremium5 = statePremium5;
844
+ this.statePremium7 = statePremium7;
845
+ this.calculatorForm = calculatorForm;
846
+ }
847
+ getSingleTripDays() {
848
+ if (this.calculatorForm.startDate && this.calculatorForm.endDate) {
849
+ const date1 = formatDate(this.calculatorForm.startDate);
850
+ const date2 = formatDate(this.calculatorForm.endDate);
851
+ if (date1 && date2) {
852
+ const days = Math.ceil((date2.getTime() - date1.getTime()) / (1000 * 3600 * 24)) + 1;
853
+ if (days > 0) {
854
+ return days;
855
+ }
856
+ }
857
+ }
858
+ return null;
778
859
  }
779
860
  }
780
861
 
@@ -804,6 +885,9 @@ export class DataStoreClass {
804
885
  setDefaults: {
805
886
  sectorCode: boolean;
806
887
  percentage: boolean;
888
+ signOfResidency: boolean;
889
+ countryOfTaxResidency: boolean;
890
+ countryOfCitizenship: boolean;
807
891
  };
808
892
  // Проверка на роль при авторизации
809
893
  onAuth: boolean;
@@ -811,6 +895,8 @@ export class DataStoreClass {
811
895
  hasAgreement: boolean;
812
896
  // Наличие анкеты
813
897
  hasAnketa: boolean;
898
+ // Обязательность доп анкеты
899
+ isSecondAnketaRequired: boolean;
814
900
  // Подтягивание с ГБДФЛ
815
901
  hasGBDFL: boolean;
816
902
  // Подтягивание с ГКБ
@@ -823,6 +909,8 @@ export class DataStoreClass {
823
909
  hasAttachment: boolean;
824
910
  // Решение АС
825
911
  hasAffiliation: boolean;
912
+ // Выбор метода подписания
913
+ hasChooseSign: boolean;
826
914
  };
827
915
  members: {
828
916
  clientApp: MemberSettings;
@@ -842,6 +930,9 @@ export class DataStoreClass {
842
930
  loading: boolean;
843
931
  backIcon: string;
844
932
  moreIcon: string;
933
+ hasInfo: boolean;
934
+ infoIcon: string;
935
+ infoItems: MenuItem[];
845
936
  onBack: any;
846
937
  onLink: any;
847
938
  selectedItem: MenuItem;
@@ -858,7 +949,13 @@ export class DataStoreClass {
858
949
  open: boolean;
859
950
  overlay: boolean;
860
951
  title: string;
861
- clear: Function | void;
952
+ clear: () => void;
953
+ };
954
+ rightPanel: {
955
+ open: boolean;
956
+ overlay: boolean;
957
+ title: string;
958
+ clear: () => void;
862
959
  };
863
960
  historyPageIndex: number;
864
961
  historyPageSize: number;
@@ -879,12 +976,16 @@ export class DataStoreClass {
879
976
  documentIssuers: Value[];
880
977
  familyStatuses: Value[];
881
978
  relations: Value[];
979
+ banks: Value[];
980
+ processTariff: Value[];
882
981
  insurancePay: Value[];
883
982
  questionRefs: Value[];
884
983
  residents: Value[];
885
984
  ipdl: Value[];
886
985
  economySectorCode: Value[];
986
+ economicActivityType: Value[];
887
987
  gender: Value[];
988
+ authorityBasis: Value[];
888
989
  fontSize: number;
889
990
  isFontChangerOpen: boolean = false;
890
991
  isLoading: boolean = false;
@@ -892,6 +993,7 @@ export class DataStoreClass {
892
993
  accessToken: string | null = null;
893
994
  refreshToken: string | null = null;
894
995
  processIndexRate: Value[];
996
+ processGfot: Value[];
895
997
  processPaymentPeriod: Value[];
896
998
  dicAnnuityTypeList: Value[];
897
999
  processAnnuityPaymentPeriod: Value[];
@@ -908,6 +1010,7 @@ export class DataStoreClass {
908
1010
  ManagerPolicy: Value[];
909
1011
  AgentData: AgentData[];
910
1012
  riskGroup: Value[];
1013
+ DicCoverTypePeriod: Value[];
911
1014
  currencies: {
912
1015
  eur: number | null;
913
1016
  usd: number | null;
@@ -916,6 +1019,17 @@ export class DataStoreClass {
916
1019
  show: (item: MenuItem) => boolean;
917
1020
  disabled: (item: MenuItem) => boolean;
918
1021
  };
1022
+ amountArray: Value[];
1023
+ currency: string | number | null;
1024
+ periodArray: Value[];
1025
+ maxDaysAllArray: Value[];
1026
+ maxDaysFiltered: Value[];
1027
+ dicAllCountries: CountryValue[];
1028
+ dicCountries: CountryValue[];
1029
+ types: Value[];
1030
+ workTypes: Value[];
1031
+ sportsTypes: Value[];
1032
+ purposes: Value[];
919
1033
  constructor() {
920
1034
  this.filters = {
921
1035
  show: (item: MenuItem) => {
@@ -946,9 +1060,13 @@ export class DataStoreClass {
946
1060
  setDefaults: {
947
1061
  sectorCode: true,
948
1062
  percentage: true,
1063
+ signOfResidency: false,
1064
+ countryOfTaxResidency: false,
1065
+ countryOfCitizenship: false,
949
1066
  },
950
1067
  onAuth: false,
951
1068
  hasAnketa: true,
1069
+ isSecondAnketaRequired: true,
952
1070
  hasAgreement: true,
953
1071
  hasGBDFL: true,
954
1072
  hasGKB: false,
@@ -956,10 +1074,12 @@ export class DataStoreClass {
956
1074
  hasCalculator: false,
957
1075
  hasAttachment: true,
958
1076
  hasAffiliation: true,
1077
+ hasChooseSign: false,
959
1078
  };
960
1079
  this.iframeLoading = false;
961
1080
  this.hasLayoutMargins = true;
962
1081
  this.processIndexRate = [];
1082
+ this.processGfot = [];
963
1083
  this.processPaymentPeriod = [];
964
1084
  this.dicAnnuityTypeList = [];
965
1085
  this.processAnnuityPaymentPeriod = [];
@@ -968,6 +1088,7 @@ export class DataStoreClass {
968
1088
  this.RegionPolicy = [];
969
1089
  this.ManagerPolicy = [];
970
1090
  this.AgentData = [];
1091
+ this.DicCoverTypePeriod = [];
971
1092
  this.product = import.meta.env.VITE_PRODUCT ? (import.meta.env.VITE_PRODUCT as Projects) : null;
972
1093
  this.showNav = true;
973
1094
  this.menuItems = [];
@@ -977,6 +1098,9 @@ export class DataStoreClass {
977
1098
  loading: false,
978
1099
  backIcon: 'mdi-arrow-left',
979
1100
  moreIcon: 'mdi-dots-vertical',
1101
+ hasInfo: false,
1102
+ infoIcon: 'mdi-information-outline',
1103
+ infoItems: [],
980
1104
  onBack: {},
981
1105
  onLink: {},
982
1106
  selectedItem: new MenuItem(),
@@ -992,13 +1116,24 @@ export class DataStoreClass {
992
1116
  open: false,
993
1117
  overlay: false,
994
1118
  title: '',
995
- clear: function () {
1119
+ clear: () => {
996
1120
  const panelActions = document.getElementById('panel-actions');
997
1121
  if (panelActions) {
998
1122
  panelActions.innerHTML = '';
999
1123
  }
1000
1124
  },
1001
1125
  };
1126
+ this.rightPanel = {
1127
+ open: false,
1128
+ overlay: false,
1129
+ title: '',
1130
+ clear: () => {
1131
+ const panelActions = document.getElementById('right-panel-actions');
1132
+ if (panelActions) {
1133
+ panelActions.innerHTML = '';
1134
+ }
1135
+ },
1136
+ };
1002
1137
  this.panelAction = null;
1003
1138
  this.historyPageIndex = 1;
1004
1139
  this.historyPageSize = 10;
@@ -1019,11 +1154,15 @@ export class DataStoreClass {
1019
1154
  this.documentIssuers = [];
1020
1155
  this.familyStatuses = [];
1021
1156
  this.relations = [];
1157
+ this.processTariff = [];
1158
+ this.banks = [];
1022
1159
  this.insurancePay = [];
1023
1160
  this.residents = [];
1024
1161
  this.ipdl = [new Value(1, null), new Value(2, 'Да'), new Value(3, 'Нет')];
1025
1162
  this.economySectorCode = [];
1163
+ this.economicActivityType = [];
1026
1164
  this.gender = [new Value(0, null), new Value(1, 'Мужской'), new Value(2, 'Женский')];
1165
+ this.authorityBasis = [];
1027
1166
  this.fontSize = 14;
1028
1167
  this.isFontChangerOpen = false;
1029
1168
  this.isLoading = false;
@@ -1075,10 +1214,47 @@ export class DataStoreClass {
1075
1214
  ids: '',
1076
1215
  },
1077
1216
  ];
1217
+ this.amountArray = [];
1218
+ this.currency = null;
1219
+ this.maxDaysAllArray = [];
1220
+ this.periodArray = [];
1221
+ this.maxDaysFiltered = [];
1222
+ this.dicCountries = [];
1223
+ this.dicAllCountries = [];
1224
+ this.types = [];
1225
+ this.purposes = [];
1226
+ this.workTypes = [];
1227
+ this.sportsTypes = [];
1078
1228
  }
1079
1229
  }
1080
1230
 
1081
1231
  export class FormStoreClass {
1232
+ documentName: string | null;
1233
+ regNumber: string | null;
1234
+ policyNumber: string | null;
1235
+ contractDate: string | null;
1236
+ needToScanSignedContract: boolean;
1237
+ isUploadedSignedContract: boolean;
1238
+ signedContractFormData: any;
1239
+ lfb: {
1240
+ clients: ClientV2[];
1241
+ policyholder: {
1242
+ isIpdl: boolean;
1243
+ clientData: {
1244
+ company: MemberV2;
1245
+ authoritedPerson: MemberV2;
1246
+ };
1247
+ };
1248
+ hasAccidentIncidents: boolean;
1249
+ accidentIncidents: AccidentIncidents[];
1250
+ policyholderActivities: PolicyholderActivity[];
1251
+ beneficialOwners: BeneficialOwner[];
1252
+ beneficialOwnersIndex: number;
1253
+ isPolicyholderBeneficialOwner: boolean;
1254
+ clientId: string | null;
1255
+ insuredFile: any;
1256
+ isPanelInside: boolean;
1257
+ };
1082
1258
  additionalInsuranceTerms: AddCover[];
1083
1259
  additionalInsuranceTermsWithout: AddCover[];
1084
1260
  signUrls: SignUrlType[];
@@ -1100,8 +1276,6 @@ export class FormStoreClass {
1100
1276
  surveyByHealthBasePolicyholder: AnketaFirst | null;
1101
1277
  surveyByCriticalBase: AnketaFirst | null;
1102
1278
  surveyByCriticalBasePolicyholder: AnketaFirst | null;
1103
- surveyByHealthSecond: AnketaSecond[] | null;
1104
- surveyByCriticalSecond: AnketaSecond[] | null;
1105
1279
  definedAnswersId: {
1106
1280
  surveyByHealthBase: any;
1107
1281
  surveyByCriticalBase: any;
@@ -1120,12 +1294,15 @@ export class FormStoreClass {
1120
1294
  insuredForm: boolean;
1121
1295
  policyholdersRepresentativeForm: boolean;
1122
1296
  productConditionsForm: boolean;
1297
+ calculatorForm: boolean;
1123
1298
  recalculationForm: boolean;
1124
1299
  surveyByHealthBase: boolean;
1125
1300
  surveyByCriticalBase: boolean;
1126
1301
  surveyByHealthBasePolicyholder: boolean;
1127
1302
  surveyByCriticalBasePolicyholder: boolean;
1128
1303
  insuranceDocument: boolean;
1304
+ policyholderActivitiesForm: boolean;
1305
+ accidentStatisticsForm: boolean;
1129
1306
  };
1130
1307
  isPolicyholderInsured: boolean = false;
1131
1308
  isPolicyholderBeneficiary: boolean = false;
@@ -1134,6 +1311,7 @@ export class FormStoreClass {
1134
1311
  isPolicyholderIPDL: boolean = false;
1135
1312
  applicationData: {
1136
1313
  processInstanceId: number | string;
1314
+ regNumber?: string;
1137
1315
  statusCode?: keyof typeof Statuses;
1138
1316
  clientApp?: any;
1139
1317
  insuredApp?: any;
@@ -1164,7 +1342,33 @@ export class FormStoreClass {
1164
1342
  questionnaireByCritical: any[];
1165
1343
  canBeClaimed: boolean | null;
1166
1344
  applicationTaskId: string | null;
1167
- constructor(procuctConditionsTitle?: string) {
1345
+ constructor() {
1346
+ this.regNumber = null;
1347
+ this.policyNumber = null;
1348
+ this.contractDate = null;
1349
+ this.documentName = null;
1350
+ this.isUploadedSignedContract = false;
1351
+ this.needToScanSignedContract = false;
1352
+ this.signedContractFormData = null;
1353
+ this.lfb = {
1354
+ clients: [],
1355
+ policyholder: {
1356
+ isIpdl: false,
1357
+ clientData: {
1358
+ company: new MemberV2(),
1359
+ authoritedPerson: new MemberV2(),
1360
+ },
1361
+ },
1362
+ hasAccidentIncidents: true,
1363
+ policyholderActivities: [new PolicyholderActivity()],
1364
+ beneficialOwners: [new BeneficialOwner()],
1365
+ beneficialOwnersIndex: 0,
1366
+ isPolicyholderBeneficialOwner: false,
1367
+ accidentIncidents: [],
1368
+ clientId: null,
1369
+ insuredFile: null,
1370
+ isPanelInside: false,
1371
+ };
1168
1372
  this.additionalInsuranceTerms = [];
1169
1373
  this.additionalInsuranceTermsWithout = [];
1170
1374
  this.signUrls = [];
@@ -1186,8 +1390,6 @@ export class FormStoreClass {
1186
1390
  this.surveyByHealthBasePolicyholder = null;
1187
1391
  this.surveyByCriticalBase = null;
1188
1392
  this.surveyByCriticalBasePolicyholder = null;
1189
- this.surveyByHealthSecond = null;
1190
- this.surveyByCriticalSecond = null;
1191
1393
  this.definedAnswersId = {
1192
1394
  surveyByHealthBase: {},
1193
1395
  surveyByCriticalBase: {},
@@ -1214,12 +1416,15 @@ export class FormStoreClass {
1214
1416
  insuredForm: true,
1215
1417
  policyholdersRepresentativeForm: true,
1216
1418
  productConditionsForm: true,
1419
+ calculatorForm: true,
1217
1420
  recalculationForm: true,
1218
1421
  surveyByHealthBase: true,
1219
1422
  surveyByCriticalBase: true,
1220
1423
  surveyByHealthBasePolicyholder: true,
1221
1424
  surveyByCriticalBasePolicyholder: true,
1222
1425
  insuranceDocument: true,
1426
+ policyholderActivitiesForm: true,
1427
+ accidentStatisticsForm: true,
1223
1428
  };
1224
1429
  this.isPolicyholderInsured = false;
1225
1430
  this.isPolicyholderBeneficiary = false;
@@ -1247,3 +1452,205 @@ export class FormStoreClass {
1247
1452
  this.applicationTaskId = null;
1248
1453
  }
1249
1454
  }
1455
+
1456
+ export class MemberV2 {
1457
+ iin: string | null;
1458
+ phoneNumber: string | null;
1459
+ firstName?: string | null;
1460
+ middleName?: string | null;
1461
+ lastName?: string | null;
1462
+ name?: string | null;
1463
+ longName?: string | null;
1464
+ nameKz?: string | null;
1465
+ longNameKz?: string | null;
1466
+ citizenship: Value;
1467
+ email: string | null;
1468
+ resident: Value;
1469
+ taxResidentCountry: Value;
1470
+ economySectorCode: Value;
1471
+ isActualAddressEqualLegalAddres: boolean;
1472
+ identityDocument?: {
1473
+ documentType: Value;
1474
+ documentNumber: string | null;
1475
+ series: string | null;
1476
+ issuedBy: Value;
1477
+ validUntil: string | null;
1478
+ };
1479
+ bankInfo: {
1480
+ bin: string | null;
1481
+ bankName: Value;
1482
+ iik: string | null;
1483
+ bik: string | null;
1484
+ kbe: string | null;
1485
+ };
1486
+ workDetails?: {
1487
+ workplace: string | null;
1488
+ position: string | null;
1489
+ jobDuties: string | null;
1490
+ };
1491
+ authorityDetails: {
1492
+ basis: string | null;
1493
+ documentNumber: string | null;
1494
+ date: string | null;
1495
+ };
1496
+ kbe: string | null;
1497
+ typeOfEconomicActivity: Value;
1498
+ legalAddress: Address;
1499
+ actualAddress: Address;
1500
+ activityTypes: {
1501
+ activityTypeName: string | null;
1502
+ empoloyeeCount: number | null;
1503
+ }[];
1504
+ isLeader?: boolean;
1505
+ beneficalOwnerQuest?: {
1506
+ order: number;
1507
+ text: string | null;
1508
+ answer: boolean | null;
1509
+ }[];
1510
+ constructor() {
1511
+ this.iin = null;
1512
+ this.phoneNumber = null;
1513
+ this.firstName = null;
1514
+ this.middleName = null;
1515
+ this.lastName = null;
1516
+ this.name = null;
1517
+ this.longName = null;
1518
+ this.nameKz = null;
1519
+ this.longNameKz = null;
1520
+ this.citizenship = new Value();
1521
+ this.email = null;
1522
+ this.resident = new Value();
1523
+ this.taxResidentCountry = new Value();
1524
+ this.economySectorCode = new Value();
1525
+ this.isActualAddressEqualLegalAddres = true;
1526
+ this.identityDocument = {
1527
+ documentType: new Value(),
1528
+ documentNumber: null,
1529
+ series: null,
1530
+ issuedBy: new Value(),
1531
+ validUntil: null,
1532
+ };
1533
+ this.bankInfo = {
1534
+ bin: null,
1535
+ bankName: new Value(),
1536
+ iik: null,
1537
+ bik: null,
1538
+ kbe: null,
1539
+ };
1540
+ this.workDetails = {
1541
+ workplace: null,
1542
+ position: null,
1543
+ jobDuties: null,
1544
+ };
1545
+ this.authorityDetails = {
1546
+ basis: null,
1547
+ documentNumber: null,
1548
+ date: null,
1549
+ };
1550
+ this.kbe = null;
1551
+ this.typeOfEconomicActivity = new Value();
1552
+ this.legalAddress = new Address();
1553
+ this.actualAddress = new Address();
1554
+ this.activityTypes = [
1555
+ {
1556
+ activityTypeName: null,
1557
+ empoloyeeCount: null,
1558
+ },
1559
+ ];
1560
+ this.isLeader = false;
1561
+ this.beneficalOwnerQuest = [
1562
+ {
1563
+ order: 0,
1564
+ text: 'Отметка о наличии/отсутствии физического лица (лиц), которому прямо или косвенно принадлежат более 25 % долей участия в уставном капитале либо размещенных (за вычетом привилегированных и выкупленных обществом) акций юридического лица',
1565
+ answer: null,
1566
+ },
1567
+ {
1568
+ order: 1,
1569
+ text: 'Отметка о наличии/отсутствии физического лица (лиц), осуществляющего контроль над юридическим лицом по иным основаниям',
1570
+ answer: null,
1571
+ },
1572
+ {
1573
+ order: 2,
1574
+ text: 'Отметка о наличии/отсутствии физического лица (лиц) в интересах которого юридическим лицом устанавливаются деловые отношения (совершаются операции)',
1575
+ answer: null,
1576
+ },
1577
+ ];
1578
+ }
1579
+ }
1580
+
1581
+ export class Address {
1582
+ country: Value;
1583
+ region: Value;
1584
+ regionType: Value;
1585
+ city: Value;
1586
+ square: string | null;
1587
+ microdistrict: string | null;
1588
+ street: string | null;
1589
+ houseNumber: string | null;
1590
+ kato: string | null;
1591
+ constructor() {
1592
+ this.country = new Value();
1593
+ this.region = new Value();
1594
+ this.regionType = new Value();
1595
+ this.city = new Value();
1596
+ this.square = null;
1597
+ this.microdistrict = null;
1598
+ this.street = null;
1599
+ this.houseNumber = null;
1600
+ this.kato = null;
1601
+ }
1602
+ }
1603
+
1604
+ export class PolicyholderActivity {
1605
+ activityTypeName: string | null;
1606
+ empoloyeeCount: string | null;
1607
+ constructor() {
1608
+ this.activityTypeName = null;
1609
+ this.empoloyeeCount = null;
1610
+ }
1611
+ }
1612
+
1613
+ export class BeneficialOwner {
1614
+ id: string | null;
1615
+ processInstanceId: string | number;
1616
+ insisId: number;
1617
+ iin: string | null;
1618
+ longName: string | null;
1619
+ isIpdl: boolean;
1620
+ isTerror: boolean;
1621
+ isIpdlCompliance: boolean;
1622
+ isTerrorCompliance: boolean;
1623
+ personType: number;
1624
+ lastName: string | null;
1625
+ firstName: string | null;
1626
+ middleName: string | null;
1627
+ countryId: string | null;
1628
+ countryName: string | null;
1629
+ residentId: string | null;
1630
+ residentName: string | null;
1631
+ taxResidentId: string | null;
1632
+ taxResidentName: string | null;
1633
+ beneficialOwnerData: MemberV2;
1634
+ constructor() {
1635
+ this.id = null;
1636
+ this.processInstanceId = 0;
1637
+ this.insisId = 0;
1638
+ this.iin = null;
1639
+ this.longName = null;
1640
+ this.isIpdl = false;
1641
+ this.isTerror = true;
1642
+ this.isIpdlCompliance = true;
1643
+ this.isTerrorCompliance = true;
1644
+ this.personType = 0;
1645
+ this.lastName = null;
1646
+ this.firstName = null;
1647
+ this.middleName = null;
1648
+ this.countryId = null;
1649
+ this.countryName = null;
1650
+ this.residentId = null;
1651
+ this.residentName = null;
1652
+ this.taxResidentId = null;
1653
+ this.taxResidentName = null;
1654
+ this.beneficialOwnerData = new MemberV2();
1655
+ }
1656
+ }