hl-core 0.0.9-beta.28 → 0.0.9-beta.29

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.
@@ -488,7 +488,7 @@
488
488
  <base-btn :text="$dataStore.t('buttons.calcSum')" type="submit" @click.prevent="underwriterCalculate('sum')" :loading="isCalculating" />
489
489
  <base-btn :text="$dataStore.t('buttons.calcPremium')" type="submit" @click.prevent="underwriterCalculate('premium')" :loading="isCalculating" />
490
490
  </div>
491
- <Teleport v-if="isPanelOpen" to="#panel-actions">
491
+ <Teleport v-if="isPanelOpen" to="#right-panel-actions">
492
492
  <div :class="[$styles.scrollPage]" class="flex flex-col items-center">
493
493
  <base-rounded-input v-model.trim="searchQuery" :label="$dataStore.t('labels.search')" class="w-full p-2" :hide-details="true" />
494
494
  <div v-if="panelList && isPanelLoading === false" class="w-full flex flex-col gap-2 p-2">
@@ -504,7 +504,7 @@
504
504
  <base-loader v-if="isPanelLoading" class="absolute mt-10" :size="50" />
505
505
  </div>
506
506
  </Teleport>
507
- <Teleport v-if="isMultiplePanelOpen && calculatorForm.countries !== null" to="#panel-actions">
507
+ <Teleport v-if="isMultiplePanelOpen && calculatorForm.countries !== null" to="#right-panel-actions">
508
508
  <div :class="[$styles.scrollPage]" class="flex flex-col items-center">
509
509
  <base-rounded-input v-model.trim="searchQuery" :label="$dataStore.t('labels.search')" class="w-full p-2" :hide-details="true" />
510
510
  <v-fade-transition>
@@ -527,7 +527,7 @@
527
527
  <base-loader v-if="isPanelLoading" class="absolute mt-10" :size="50" />
528
528
  </div>
529
529
  </Teleport>
530
- <Teleport v-if="isTermsPanelOpen" to="#panel-actions">
530
+ <Teleport v-if="isTermsPanelOpen" to="#right-panel-actions">
531
531
  <div :class="[$styles.scrollPage]" class="flex flex-col items-center">
532
532
  <base-rounded-input v-model.trim="searchQuery" :label="$dataStore.t('labels.search')" class="w-full p-2" :hide-details="true" />
533
533
  <div v-if="panelList && isPanelLoading === false" class="w-full flex flex-col gap-2 p-2">
@@ -542,7 +542,7 @@
542
542
  <base-loader v-if="isPanelLoading" class="absolute mt-10" :size="50" />
543
543
  </div>
544
544
  </Teleport>
545
- <Teleport v-if="isFixInsAmountPanelOpen" to="#panel-actions">
545
+ <Teleport v-if="isFixInsAmountPanelOpen" to="#right-panel-actions">
546
546
  <div :class="[$styles.scrollPage]" class="flex flex-col items-center">
547
547
  <base-rounded-input v-model.trim="searchQuery" :label="$dataStore.t('labels.search')" class="w-full p-2" :hide-details="true" />
548
548
  <div class="w-full flex flex-col gap-2 p-2">
@@ -556,7 +556,7 @@
556
556
  </div>
557
557
  </div>
558
558
  </Teleport>
559
- <Teleport v-if="isCoverPeriodPanelOpen" to="#panel-actions">
559
+ <Teleport v-if="isCoverPeriodPanelOpen" to="#right-panel-actions">
560
560
  <div :class="[$styles.scrollPage]" class="flex flex-col items-center">
561
561
  <base-rounded-input v-model.trim="searchQuery" :label="$dataStore.t('labels.search')" class="w-full p-2" :hide-details="true" />
562
562
  <div class="w-full flex flex-col gap-2 p-2">
@@ -864,7 +864,7 @@ export default defineComponent({
864
864
  };
865
865
 
866
866
  const pickPanelValue = (item: Value) => {
867
- dataStore.panel.open = false;
867
+ dataStore.rightPanel.open = false;
868
868
  isPanelOpen.value = false;
869
869
  isMultiplePanelOpen.value = false;
870
870
  if (item.id === null) {
@@ -905,7 +905,7 @@ export default defineComponent({
905
905
  }
906
906
  };
907
907
  const pickTermValue = async (item: Value) => {
908
- dataStore.panel.open = false;
908
+ dataStore.rightPanel.open = false;
909
909
  isTermsPanelOpen.value = false;
910
910
  if (typeof currentIndex.value !== 'number') return;
911
911
  additionalTerms.value[currentIndex.value].coverSumId = item.id as string;
@@ -926,9 +926,9 @@ export default defineComponent({
926
926
  isFixInsAmountPanelOpen.value = false;
927
927
  isCoverPeriodPanelOpen.value = true;
928
928
  dataStore.panelAction = null;
929
- dataStore.panel.open = true;
929
+ dataStore.rightPanel.open = true;
930
930
  isMultiplePanelOpen.value = false;
931
- dataStore.panel.title = dataStore.t('clients.coveragePeriod');
931
+ dataStore.rightPanel.title = dataStore.t('clients.coveragePeriod');
932
932
  }
933
933
  }
934
934
  };
@@ -952,8 +952,8 @@ export default defineComponent({
952
952
  isFixInsAmountPanelOpen.value = false;
953
953
  isCoverPeriodPanelOpen.value = false;
954
954
  dataStore.panelAction = null;
955
- dataStore.panel.open = true;
956
- dataStore.panel.title = title;
955
+ dataStore.rightPanel.open = true;
956
+ dataStore.rightPanel.title = title;
957
957
  isMultiplePanelOpen.value = false;
958
958
 
959
959
  let newList = list;
@@ -992,8 +992,8 @@ export default defineComponent({
992
992
  }
993
993
 
994
994
  dataStore.panelAction = null;
995
- dataStore.panel.open = true;
996
- dataStore.panel.title = title;
995
+ dataStore.rightPanel.open = true;
996
+ dataStore.rightPanel.title = title;
997
997
 
998
998
  // @ts-ignore
999
999
  multiplePanelList.value = filterList(newList, key);
@@ -1005,7 +1005,7 @@ export default defineComponent({
1005
1005
  }
1006
1006
  };
1007
1007
  const closeMultiplePanel = (item?: CountryValue) => {
1008
- dataStore.panel.open = false;
1008
+ dataStore.rightPanel.open = false;
1009
1009
  isMultiplePanelOpen.value = false;
1010
1010
  if (!currentPanel.value) return;
1011
1011
  // @ts-ignore
@@ -1031,8 +1031,8 @@ export default defineComponent({
1031
1031
  isCoverPeriodPanelOpen.value = false;
1032
1032
  isTermsPanelOpen.value = true;
1033
1033
  dataStore.panelAction = null;
1034
- dataStore.panel.open = true;
1035
- dataStore.panel.title = title;
1034
+ dataStore.rightPanel.open = true;
1035
+ dataStore.rightPanel.title = title;
1036
1036
 
1037
1037
  let newList;
1038
1038
  if (asyncFunction) {
@@ -1057,8 +1057,8 @@ export default defineComponent({
1057
1057
  isCoverPeriodPanelOpen.value = false;
1058
1058
  isFixInsAmountPanelOpen.value = true;
1059
1059
  dataStore.panelAction = null;
1060
- dataStore.panel.open = true;
1061
- dataStore.panel.title = title;
1060
+ dataStore.rightPanel.open = true;
1061
+ dataStore.rightPanel.title = title;
1062
1062
  panelList.value = constants.fixInsAmount;
1063
1063
  fixInsValue.value = String(amount);
1064
1064
  } else {
@@ -1067,7 +1067,7 @@ export default defineComponent({
1067
1067
  };
1068
1068
 
1069
1069
  const pickfixInsValue = (item: Value) => {
1070
- dataStore.panel.open = false;
1070
+ dataStore.rightPanel.open = false;
1071
1071
  isFixInsAmountPanelOpen.value = false;
1072
1072
  if (typeof currentIndex.value !== 'number') return;
1073
1073
  additionalTerms.value[currentIndex.value].amount = Number(item.code);
@@ -1075,7 +1075,7 @@ export default defineComponent({
1075
1075
 
1076
1076
  const pickCoverPeriodValue = (item: Value) => {
1077
1077
  coverPeriodValue.value = item.code as string;
1078
- dataStore.panel.open = false;
1078
+ dataStore.rightPanel.open = false;
1079
1079
  isCoverPeriodPanelOpen.value = false;
1080
1080
  if (typeof currentIndex.value !== 'number') return;
1081
1081
  additionalTerms.value[currentIndex.value].coverPeriodCode = item.code as string;
@@ -1397,9 +1397,9 @@ export default defineComponent({
1397
1397
  },
1398
1398
  );
1399
1399
  watch(
1400
- () => dataStore.panel.open,
1400
+ () => dataStore.rightPanel.open,
1401
1401
  () => {
1402
- if (dataStore.panel.open === false) {
1402
+ if (dataStore.rightPanel.open === false) {
1403
1403
  isPanelOpen.value = false;
1404
1404
  isTermsPanelOpen.value = false;
1405
1405
  dataStore.panelAction = null;
@@ -27,13 +27,29 @@
27
27
  </div>
28
28
  </section>
29
29
  <section v-if="chooseSignActions">
30
- <div v-if="!isElectronicContract && !isPaperContract" :class="[$styles.flexColNav]">
31
- <base-btn :text="$dataStore.t('buttons.sendOnPaper')" @click="handleSignAction('paper')" />
32
- <base-btn :text="$dataStore.t('buttons.sendElectronically')" :disabled="true" @click="handleSignAction('electronic')" />
30
+ <div v-if="!isElectronicContract && !isPaperContract && !isScansDocuments" :class="[$styles.flexColNav]">
31
+ <base-btn :text="$dataStore.t('buttons.sendOnPaper')" :disabled="isPaperDisabled" @click="handleSignAction('paper')" />
32
+ <base-btn :text="$dataStore.t('buttons.sendElectronically')" :disabled="isElectronicDisabled" @click="handleSignAction('electronic')" />
33
+ <base-btn :text="$dataStore.t('buttons.generatePrintedForms')" :disabled="isScansDisabled" @click="handleSignAction('scans')" />
33
34
  </div>
34
35
  <div v-if="isPaperContract" :class="[$styles.flexColNav]">
35
36
  <base-btn :text="$dataStore.t('buttons.downloadContract')" :loading="$dataStore.isButtonsLoading" @click="generateDocument" />
36
37
  </div>
38
+ <div v-if="isScansDocuments" :class="[$styles.flexColNav]">
39
+ <base-btn :text="$dataStore.t('buttons.downloadStatement')" />
40
+ <base-btn :text="$dataStore.t('buttons.downloadContract')" />
41
+ <base-btn :text="$dataStore.t('buttons.downloadApplication')" />
42
+ <base-btn :text="$dataStore.t('buttons.downloadPowerOfAttorney')" />
43
+
44
+ <base-form-section class="mt-4 flex flex-col !gap-2" :title="$dataStore.t('clients.attachScansSignDocs')">
45
+ <base-file-input :label="$dataStore.t('labels.attachStatement')" @input.prevent="onFileChangeScans($event)" />
46
+ <base-file-input :label="$dataStore.t('labels.attachContract')" @input.prevent="onFileChangeScans($event)" />
47
+ <base-file-input :label="$dataStore.t('labels.attachApplication')" @input.prevent="onFileChangeScans($event)" />
48
+ <base-file-input :label="$dataStore.t('labels.attachPowerOfAttorney')" @input.prevent="onFileChangeScans($event)" />
49
+ </base-form-section>
50
+ <base-btn :text="$dataStore.t('buttons.sign')" :loading="$dataStore.isButtonsLoading" @click="sendFiles" />
51
+ <base-btn :text="$dataStore.t('buttons.cancel')" :btn="$styles.whiteBtn" @click="isScansDocuments = false" />
52
+ </div>
37
53
  </section>
38
54
  <section v-if="signingActions" class="relative">
39
55
  <base-fade-transition>
@@ -141,7 +157,7 @@
141
157
  </template>
142
158
 
143
159
  <script lang="ts">
144
- import { DocumentItem } from '../../composables/classes';
160
+ import { DocumentItem, Value } from '../../composables/classes';
145
161
 
146
162
  export default defineComponent({
147
163
  emits: ['task'],
@@ -152,6 +168,7 @@ export default defineComponent({
152
168
  const actionCause = ref<string>('');
153
169
  const loading = ref<boolean>(false);
154
170
  const isPaperContract = ref<boolean>(false);
171
+ const isScansDocuments = ref<boolean>(false);
155
172
  const isElectronicContract = ref<boolean>(true);
156
173
  const email = ref<string>('');
157
174
 
@@ -172,6 +189,8 @@ export default defineComponent({
172
189
  fileTypeCode: documentDict.value ? documentDict.value.code : '',
173
190
  });
174
191
  const affiliationFormData = ref(new FormData());
192
+ const scansFormData = ref(new FormData());
193
+ const scansFiles = ref<any[]>([]);
175
194
 
176
195
  const openSmsPanel = (signInfo: SignUrlType) => {
177
196
  if (signInfo) {
@@ -200,6 +219,42 @@ export default defineComponent({
200
219
  }
201
220
  }
202
221
  };
222
+
223
+ const onFileChangeScans = async (event: InputEvent) => {
224
+ if (event.target) {
225
+ const files = (event.target as HTMLInputElement).files;
226
+ if (files && files.length) {
227
+ const name = files[0].name.substring(0, files[0].name.indexOf('.'));
228
+ const selectedDocument = dataStore.dicFileTypeList.find((i: Value) => i.nameRu === String(name));
229
+ const data = {
230
+ processInstanceId: formStore.applicationData.processInstanceId,
231
+ fileTypeCode: selectedDocument ? selectedDocument.code : null,
232
+ fileTypeId: selectedDocument ? selectedDocument.id : null,
233
+ fileName: files[0].name,
234
+ };
235
+ scansFiles.value.push({
236
+ file: files[0],
237
+ fileData: JSON.stringify([data]),
238
+ });
239
+ }
240
+ }
241
+ };
242
+
243
+ const sendFiles = async () => {
244
+ if (scansFiles.value.length !== 4) {
245
+ dataStore.showToaster('warning', dataStore.t('toaster.notAllDocumentsAttached'));
246
+ return;
247
+ }
248
+ for (const item of scansFiles.value) {
249
+ scansFormData.value.append('file', item.file);
250
+ scansFormData.value.append('fileData', item.fileData);
251
+ await dataStore.uploadFiles(scansFormData.value);
252
+ scansFormData.value = new FormData();
253
+ }
254
+ closePanel();
255
+ dataStore.showToaster('success', dataStore.t('toaster.successOperation'));
256
+ await dataStore.handleTask(constants.actions.signed, route.params.taskId as string, actionCause.value);
257
+ };
203
258
  const submitForm = async () => {
204
259
  await vForm.value.validate().then(async (v: { valid: Boolean; errors: any }) => {
205
260
  if (v.valid) {
@@ -248,7 +303,7 @@ export default defineComponent({
248
303
 
249
304
  const onInit = async () => {
250
305
  if (dataStore.controls.hasChooseSign) {
251
- if (dataStore.isGons) {
306
+ if (dataStore.isGons || dataStore.isLifeBusiness) {
252
307
  isElectronicContract.value = false;
253
308
  }
254
309
  }
@@ -335,6 +390,24 @@ export default defineComponent({
335
390
  }
336
391
  return true;
337
392
  });
393
+ const isPaperDisabled = computed(() => {
394
+ if (dataStore.isGons) {
395
+ return false;
396
+ }
397
+ return true;
398
+ });
399
+ const isElectronicDisabled = computed(() => {
400
+ if (dataStore.isGons) {
401
+ return true;
402
+ }
403
+ return false;
404
+ });
405
+ const isScansDisabled = computed(() => {
406
+ if (dataStore.isGons) {
407
+ return true;
408
+ }
409
+ return false;
410
+ });
338
411
  const downloadTemplate = async () => {
339
412
  dataStore.panel.open = false;
340
413
  dataStore.panelAction = null;
@@ -351,7 +424,7 @@ export default defineComponent({
351
424
  });
352
425
  };
353
426
 
354
- const handleSignAction = async (type: 'paper' | 'electronic') => {
427
+ const handleSignAction = async (type: 'paper' | 'electronic' | 'scans') => {
355
428
  if (type === 'electronic') {
356
429
  await dataStore.signDocument();
357
430
  isElectronicContract.value = true;
@@ -359,6 +432,9 @@ export default defineComponent({
359
432
  if (type === 'paper') {
360
433
  isPaperContract.value = true;
361
434
  }
435
+ if (type === 'scans') {
436
+ isScansDocuments.value = true;
437
+ }
362
438
  };
363
439
 
364
440
  const generateDocument = async () => {
@@ -377,6 +453,7 @@ export default defineComponent({
377
453
  phoneNumber,
378
454
  selectedClient,
379
455
  isPaperContract,
456
+ isScansDocuments,
380
457
  email,
381
458
  // Functions
382
459
  closePanel,
@@ -387,6 +464,8 @@ export default defineComponent({
387
464
  onFileChange,
388
465
  downloadTemplate,
389
466
  sendTemplateToEmail,
467
+ onFileChangeScans,
468
+ sendFiles,
390
469
  // Computed
391
470
  buttonText,
392
471
  sendingActions,
@@ -406,6 +485,9 @@ export default defineComponent({
406
485
  isElectronicContract,
407
486
  handleSignAction,
408
487
  generateDocument,
488
+ isPaperDisabled,
489
+ isElectronicDisabled,
490
+ isScansDisabled,
409
491
  };
410
492
  },
411
493
  });
@@ -0,0 +1,7 @@
1
+ <script setup lang="ts">
2
+ const dataStore = useDataStore();
3
+
4
+ onUnmounted(() => {
5
+ dataStore.rightPanel.open = false;
6
+ });
7
+ </script>
@@ -946,7 +946,13 @@ export class DataStoreClass {
946
946
  open: boolean;
947
947
  overlay: boolean;
948
948
  title: string;
949
- clear: Function | void;
949
+ clear: () => void;
950
+ };
951
+ rightPanel: {
952
+ open: boolean;
953
+ overlay: boolean;
954
+ title: string;
955
+ clear: () => void;
950
956
  };
951
957
  historyPageIndex: number;
952
958
  historyPageSize: number;
@@ -1102,13 +1108,24 @@ export class DataStoreClass {
1102
1108
  open: false,
1103
1109
  overlay: false,
1104
1110
  title: '',
1105
- clear: function () {
1111
+ clear: () => {
1106
1112
  const panelActions = document.getElementById('panel-actions');
1107
1113
  if (panelActions) {
1108
1114
  panelActions.innerHTML = '';
1109
1115
  }
1110
1116
  },
1111
1117
  };
1118
+ this.rightPanel = {
1119
+ open: false,
1120
+ overlay: false,
1121
+ title: '',
1122
+ clear: () => {
1123
+ const panelActions = document.getElementById('right-panel-actions');
1124
+ if (panelActions) {
1125
+ panelActions.innerHTML = '';
1126
+ }
1127
+ },
1128
+ };
1112
1129
  this.panelAction = null;
1113
1130
  this.historyPageIndex = 1;
1114
1131
  this.historyPageSize = 10;
@@ -1211,7 +1228,6 @@ export class FormStoreClass {
1211
1228
  signedContractFormData: any;
1212
1229
  lfb: {
1213
1230
  clients: ClientV2[];
1214
- fixInsAmount: Value[];
1215
1231
  policyholder: MemberV2;
1216
1232
  hasAccidentIncidents: boolean;
1217
1233
  accidentIncidents: AccidentIncidents[];
@@ -1220,7 +1236,6 @@ export class FormStoreClass {
1220
1236
  beneficialOwnersIndex: number;
1221
1237
  isPolicyholderBeneficialOwner: boolean;
1222
1238
  clientId: string | null;
1223
- policyholderFile: any;
1224
1239
  };
1225
1240
  additionalInsuranceTerms: AddCover[];
1226
1241
  additionalInsuranceTermsWithout: AddCover[];
@@ -1318,7 +1333,6 @@ export class FormStoreClass {
1318
1333
  this.signedContractFormData = null;
1319
1334
  this.lfb = {
1320
1335
  clients: [],
1321
- fixInsAmount: [],
1322
1336
  policyholder: new MemberV2(),
1323
1337
  hasAccidentIncidents: true,
1324
1338
  policyholderActivities: [new PolicyholderActivity()],
@@ -1327,7 +1341,6 @@ export class FormStoreClass {
1327
1341
  isPolicyholderBeneficialOwner: false,
1328
1342
  accidentIncidents: [],
1329
1343
  clientId: null,
1330
- policyholderFile: null,
1331
1344
  };
1332
1345
  this.additionalInsuranceTerms = [];
1333
1346
  this.additionalInsuranceTermsWithout = [];
@@ -1414,121 +1427,125 @@ export class FormStoreClass {
1414
1427
  }
1415
1428
 
1416
1429
  export class MemberV2 {
1417
- personalData: {
1418
- iin: string | null;
1419
- phone: string | null;
1420
- email: string | null;
1421
- firstName: string | null;
1422
- middleName: string | null;
1423
- lastName: string | null;
1424
- birthDate: string | null;
1425
- citizenship: Value;
1426
- birthPlace: string | null;
1427
- resident: Value;
1428
- taxResidentCountry: Value;
1429
- showTaxResidentCountry: string | null;
1430
- };
1431
- identityCard?: {
1430
+ iin: string | null;
1431
+ phoneNumber: string | null;
1432
+ firstName: string | null;
1433
+ middleName: string | null;
1434
+ lastName: string | null;
1435
+ citizenship: Value;
1436
+ email: string | null;
1437
+ resident: Value;
1438
+ taxResidentCountry: Value;
1439
+ economySectorCode: Value;
1440
+ isActualAddressEqualLegalAddres: boolean;
1441
+ identityDocument?: {
1432
1442
  documentType: Value;
1433
1443
  documentNumber: string | null;
1434
1444
  series: string | null;
1435
- documentIssuer: Value;
1436
- validity: string | null;
1445
+ issuedBy: Value;
1446
+ validUntil: string | null;
1437
1447
  };
1438
- bankDetails: {
1448
+ bankInfo: {
1439
1449
  bin: string | null;
1440
1450
  bankName: Value;
1441
1451
  iik: string | null;
1442
1452
  bik: string | null;
1443
1453
  kbe: string | null;
1444
1454
  };
1445
- actualAddress: Address;
1446
- juridicalAddressCompany: Address;
1447
- clientPower: {
1448
- documentBasisOn: string | null;
1449
- documentBasisOnKz: string | null;
1450
- docNumber: string | null;
1455
+ address: Address;
1456
+ workDetails: {
1457
+ workplace: string | null;
1458
+ position: string | null;
1459
+ jobDuties: string | null;
1460
+ };
1461
+ companyAddress: Address;
1462
+ authorityDetails: {
1463
+ basis: string | null;
1464
+ documentNumber: string | null;
1451
1465
  date: string | null;
1452
1466
  };
1453
- position: string | null;
1454
- organizationData: {
1467
+ organizationInfo: {
1468
+ bin: string | null;
1455
1469
  organizationName: string | null;
1470
+ kbe: string | null;
1471
+ resident: Value;
1472
+ taxResidentCountry: Value;
1456
1473
  economySectorCode: Value;
1457
1474
  typeOfEconomicActivity: string | null;
1475
+ organizationPhone: string | null;
1476
+ organizationEmail: string | null;
1477
+ organizationInternetResource: string | null;
1478
+ organizationStartDate: string | null;
1479
+ activityTypes: {
1480
+ activityTypeName: string | null;
1481
+ empoloyeeCount: number | null;
1482
+ }[];
1458
1483
  };
1459
- jurAddressIsActualAddress: boolean;
1460
- quests?: {
1484
+ isLeader?: boolean;
1485
+ beneficalOwnerQuest?: {
1461
1486
  order: number;
1462
1487
  text: string | null;
1463
1488
  answer: boolean | null;
1464
1489
  }[];
1465
- isLeader?: boolean;
1466
- // insuredPolicyData: {
1467
- // insSum: 0;
1468
- // insSumWithLoad: 0;
1469
- // premium: 0;
1470
- // premiumWithLoad: 0;
1471
- // insuredRisk: {
1472
- // lifeMultiply: 0;
1473
- // lifeAdditive: 0;
1474
- // disabilityMultiply: 0;
1475
- // disabilityAdditive: 0;
1476
- // traumaTableMultiple: 0;
1477
- // accidentalLifeMultiply: 0;
1478
- // accidentalLifeAdditive: 0;
1479
- // criticalMultiply: 0;
1480
- // criticalAdditive: 0;
1481
- // };
1482
- // insuredCoverData: {
1483
- // coverTypeEnum: 1;
1484
- // premium: 0;
1485
- // }[];
1486
- // };
1487
1490
  constructor() {
1488
- this.personalData = {
1489
- iin: null,
1490
- phone: null,
1491
- email: null,
1492
- firstName: null,
1493
- middleName: null,
1494
- lastName: null,
1495
- birthDate: null,
1496
- citizenship: new Value(),
1497
- birthPlace: null,
1498
- resident: new Value(),
1499
- taxResidentCountry: new Value(),
1500
- showTaxResidentCountry: null,
1501
- };
1502
- this.identityCard = {
1491
+ this.iin = null;
1492
+ this.phoneNumber = null;
1493
+ this.firstName = null;
1494
+ this.middleName = null;
1495
+ this.lastName = null;
1496
+ this.citizenship = new Value();
1497
+ this.email = null;
1498
+ this.resident = new Value();
1499
+ this.taxResidentCountry = new Value();
1500
+ this.economySectorCode = new Value();
1501
+ this.isActualAddressEqualLegalAddres = true;
1502
+ this.identityDocument = {
1503
1503
  documentType: new Value(),
1504
1504
  documentNumber: null,
1505
1505
  series: null,
1506
- documentIssuer: new Value(),
1507
- validity: null,
1506
+ issuedBy: new Value(),
1507
+ validUntil: null,
1508
1508
  };
1509
- this.bankDetails = {
1509
+ this.bankInfo = {
1510
1510
  bin: null,
1511
1511
  bankName: new Value(),
1512
1512
  iik: null,
1513
1513
  bik: null,
1514
1514
  kbe: null,
1515
1515
  };
1516
- this.actualAddress = new Address();
1517
- this.juridicalAddressCompany = new Address();
1518
- this.clientPower = {
1519
- documentBasisOn: null,
1520
- documentBasisOnKz: null,
1521
- docNumber: null,
1516
+ this.address = new Address();
1517
+ this.workDetails = {
1518
+ workplace: null,
1519
+ position: null,
1520
+ jobDuties: null,
1521
+ };
1522
+ this.companyAddress = new Address();
1523
+ this.authorityDetails = {
1524
+ basis: null,
1525
+ documentNumber: null,
1522
1526
  date: null,
1523
1527
  };
1524
- this.position = null;
1525
- this.organizationData = {
1528
+ this.organizationInfo = {
1529
+ bin: null,
1526
1530
  organizationName: null,
1531
+ kbe: null,
1532
+ resident: new Value(),
1533
+ taxResidentCountry: new Value(),
1527
1534
  economySectorCode: new Value(),
1528
1535
  typeOfEconomicActivity: null,
1536
+ organizationPhone: null,
1537
+ organizationEmail: null,
1538
+ organizationInternetResource: null,
1539
+ organizationStartDate: null,
1540
+ activityTypes: [
1541
+ {
1542
+ activityTypeName: null,
1543
+ empoloyeeCount: null,
1544
+ },
1545
+ ],
1529
1546
  };
1530
- this.jurAddressIsActualAddress = true;
1531
- this.quests = [
1547
+ this.isLeader = true;
1548
+ this.beneficalOwnerQuest = [
1532
1549
  {
1533
1550
  order: 0,
1534
1551
  text: 'Отметка о наличии/отсутствии физического лица (лиц), которому прямо или косвенно принадлежат более 25 % долей участия в уставном капитале либо размещенных (за вычетом привилегированных и выкупленных обществом) акций юридического лица',
@@ -1545,30 +1562,6 @@ export class MemberV2 {
1545
1562
  answer: null,
1546
1563
  },
1547
1564
  ];
1548
- this.isLeader = true;
1549
- // this.insuredPolicyData = {
1550
- // insSum: 0,
1551
- // insSumWithLoad: 0,
1552
- // premium: 0,
1553
- // premiumWithLoad: 0,
1554
- // insuredRisk: {
1555
- // lifeMultiply: 0,
1556
- // lifeAdditive: 0,
1557
- // disabilityMultiply: 0,
1558
- // disabilityAdditive: 0,
1559
- // traumaTableMultiple: 0,
1560
- // accidentalLifeMultiply: 0,
1561
- // accidentalLifeAdditive: 0,
1562
- // criticalMultiply: 0,
1563
- // criticalAdditive: 0,
1564
- // },
1565
- // insuredCoverData: [
1566
- // {
1567
- // coverTypeEnum: 1,
1568
- // premium: 0,
1569
- // },
1570
- // ],
1571
- // };
1572
1565
  }
1573
1566
  }
1574
1567