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.
- package/components/Complex/MessageBlock.vue +1 -1
- package/components/Complex/Page.vue +1 -1
- package/components/Form/ManagerAttachment.vue +42 -12
- package/components/Input/FileInput.vue +8 -2
- package/components/Layout/Drawer.vue +15 -3
- package/components/Layout/Header.vue +1 -1
- package/components/Menu/MenuNav.vue +2 -2
- package/components/Pages/Anketa.vue +6 -6
- package/components/Pages/ContragentForm.vue +6 -6
- package/components/Pages/Documents.vue +4 -6
- package/components/Pages/MemberForm.vue +26 -26
- package/components/Pages/ProductAgreement.vue +1 -8
- package/components/Pages/ProductConditions.vue +22 -22
- package/components/Panel/PanelHandler.vue +88 -6
- package/components/Panel/RightPanelCloser.vue +7 -0
- package/composables/classes.ts +101 -108
- package/layouts/default.vue +42 -3
- package/locales/ru.json +23 -8
- package/package.json +1 -1
- package/store/data.store.ts +18 -13
- package/types/index.ts +2 -2
|
@@ -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.
|
|
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.
|
|
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.
|
|
929
|
+
dataStore.rightPanel.open = true;
|
|
930
930
|
isMultiplePanelOpen.value = false;
|
|
931
|
-
dataStore.
|
|
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.
|
|
956
|
-
dataStore.
|
|
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.
|
|
996
|
-
dataStore.
|
|
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.
|
|
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.
|
|
1035
|
-
dataStore.
|
|
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.
|
|
1061
|
-
dataStore.
|
|
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.
|
|
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.
|
|
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.
|
|
1400
|
+
() => dataStore.rightPanel.open,
|
|
1401
1401
|
() => {
|
|
1402
|
-
if (dataStore.
|
|
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="
|
|
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
|
});
|
package/composables/classes.ts
CHANGED
|
@@ -946,7 +946,13 @@ export class DataStoreClass {
|
|
|
946
946
|
open: boolean;
|
|
947
947
|
overlay: boolean;
|
|
948
948
|
title: string;
|
|
949
|
-
clear:
|
|
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:
|
|
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
|
-
|
|
1418
|
-
|
|
1419
|
-
|
|
1420
|
-
|
|
1421
|
-
|
|
1422
|
-
|
|
1423
|
-
|
|
1424
|
-
|
|
1425
|
-
|
|
1426
|
-
|
|
1427
|
-
|
|
1428
|
-
|
|
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
|
-
|
|
1436
|
-
|
|
1445
|
+
issuedBy: Value;
|
|
1446
|
+
validUntil: string | null;
|
|
1437
1447
|
};
|
|
1438
|
-
|
|
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
|
-
|
|
1446
|
-
|
|
1447
|
-
|
|
1448
|
-
|
|
1449
|
-
|
|
1450
|
-
|
|
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
|
-
|
|
1454
|
-
|
|
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
|
-
|
|
1460
|
-
|
|
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.
|
|
1489
|
-
|
|
1490
|
-
|
|
1491
|
-
|
|
1492
|
-
|
|
1493
|
-
|
|
1494
|
-
|
|
1495
|
-
|
|
1496
|
-
|
|
1497
|
-
|
|
1498
|
-
|
|
1499
|
-
|
|
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
|
-
|
|
1507
|
-
|
|
1506
|
+
issuedBy: new Value(),
|
|
1507
|
+
validUntil: null,
|
|
1508
1508
|
};
|
|
1509
|
-
this.
|
|
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.
|
|
1517
|
-
this.
|
|
1518
|
-
|
|
1519
|
-
|
|
1520
|
-
|
|
1521
|
-
|
|
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.
|
|
1525
|
-
|
|
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.
|
|
1531
|
-
this.
|
|
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
|
|