hl-core 0.0.9-beta.52 → 0.0.9-beta.54
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 +14 -7
- package/components/Form/ManagerAttachment.vue +31 -7
- package/components/Pages/Documents.vue +94 -19
- package/components/Pages/MemberForm.vue +2 -2
- package/components/Pages/ProductConditions.vue +10 -9
- package/components/Panel/PanelHandler.vue +53 -34
- package/composables/classes.ts +11 -10
- package/composables/constants.ts +21 -13
- package/composables/index.ts +6 -0
- package/locales/ru.json +4 -1
- package/package.json +3 -3
- package/store/data.store.ts +72 -46
- package/types/enum.ts +3 -1
- package/types/index.ts +11 -3
package/api/base.api.ts
CHANGED
|
@@ -959,13 +959,6 @@ export class ApiClass {
|
|
|
959
959
|
});
|
|
960
960
|
}
|
|
961
961
|
|
|
962
|
-
async getDocument(id: string) {
|
|
963
|
-
return await this.axiosCall<any>({
|
|
964
|
-
method: Methods.POST,
|
|
965
|
-
url: `/${this.productUrl}/api/Application/GetDocument/${id}`,
|
|
966
|
-
});
|
|
967
|
-
}
|
|
968
|
-
|
|
969
962
|
async uploadXml(data: any) {
|
|
970
963
|
return await this.axiosCall<void>({
|
|
971
964
|
url: `/File/api/Document/UploadXml`,
|
|
@@ -1050,4 +1043,18 @@ export class ApiClass {
|
|
|
1050
1043
|
data: data,
|
|
1051
1044
|
});
|
|
1052
1045
|
}
|
|
1046
|
+
|
|
1047
|
+
async getDocumentsByEdsXmlId(edsXmlId: string) {
|
|
1048
|
+
return await this.axiosCall<any>({
|
|
1049
|
+
method: Methods.GET,
|
|
1050
|
+
url: `/File/api/Sign/GetDocumentsByEdsXmlId/${edsXmlId}`,
|
|
1051
|
+
})
|
|
1052
|
+
}
|
|
1053
|
+
|
|
1054
|
+
async checkSign(id: string) {
|
|
1055
|
+
return await this.axiosCall<SignedState>({
|
|
1056
|
+
method: Methods.POST,
|
|
1057
|
+
url: `/${this.productUrl}/api/Application/CheckSign/${id}`,
|
|
1058
|
+
});
|
|
1059
|
+
}
|
|
1053
1060
|
}
|
|
@@ -8,6 +8,7 @@
|
|
|
8
8
|
<v-expansion-panel-text class="border-t-[1px] no-padding">
|
|
9
9
|
<v-form ref="vForm" class="flex flex-col divide-y">
|
|
10
10
|
<base-panel-input
|
|
11
|
+
v-if="isSaleChanellShown"
|
|
11
12
|
class="pl-1 pt-1"
|
|
12
13
|
v-model="formStore.SaleChanellPolicy"
|
|
13
14
|
:value="formStore.SaleChanellPolicy?.nameRu"
|
|
@@ -19,6 +20,7 @@
|
|
|
19
20
|
@append="openPanel('SaleChanellPolicy', $dataStore.t('form.salesChanell'))"
|
|
20
21
|
/>
|
|
21
22
|
<base-panel-input
|
|
23
|
+
v-if="isRegionShown"
|
|
22
24
|
class="pl-1 pt-1"
|
|
23
25
|
v-model="formStore.RegionPolicy"
|
|
24
26
|
:value="formStore.RegionPolicy?.nameRu"
|
|
@@ -30,6 +32,7 @@
|
|
|
30
32
|
@append="openPanel('RegionPolicy', $dataStore.t('form.Region'))"
|
|
31
33
|
/>
|
|
32
34
|
<base-panel-input
|
|
35
|
+
v-if="isManagerShown"
|
|
33
36
|
class="pl-1 pt-1"
|
|
34
37
|
v-model="formStore.ManagerPolicy"
|
|
35
38
|
:value="formStore.ManagerPolicy?.nameRu"
|
|
@@ -41,6 +44,7 @@
|
|
|
41
44
|
@append="openPanel('ManagerPolicy', $dataStore.t('form.manager'))"
|
|
42
45
|
/>
|
|
43
46
|
<base-panel-input
|
|
47
|
+
v-if="isAgentShown"
|
|
44
48
|
class="pl-1 pt-1"
|
|
45
49
|
v-model="formStore.AgentData"
|
|
46
50
|
:value="formStore.AgentData?.fullName"
|
|
@@ -134,22 +138,37 @@ export default defineComponent({
|
|
|
134
138
|
(route.params.taskId !== '0' && (!dataStore.isProcessEditable(formStore.applicationData.statusCode) || !dataStore.isTask())),
|
|
135
139
|
);
|
|
136
140
|
const isSaleChanellReadonly = computed(() => {
|
|
137
|
-
if (dataStore.isGons) return isReadonly.value
|
|
141
|
+
if (dataStore.isGons) return isReadonly.value && dataStore.isServiceManager();
|
|
138
142
|
return isReadonly.value;
|
|
139
143
|
});
|
|
140
144
|
const isRegionReadonly = computed(() => {
|
|
141
|
-
if (dataStore.isGons) return isReadonly.value
|
|
145
|
+
if (dataStore.isGons) return isReadonly.value && (dataStore.isServiceManager() || dataStore.isAgent());
|
|
142
146
|
return isReadonly.value;
|
|
143
147
|
});
|
|
144
148
|
const isManagerReadonly = computed(() => {
|
|
145
|
-
if (dataStore.isGons) return isReadonly.value
|
|
149
|
+
if (dataStore.isGons) return isReadonly.value && dataStore.isServiceManager();
|
|
146
150
|
return isReadonly.value;
|
|
147
151
|
});
|
|
148
152
|
const isAgentReadonly = computed(() => {
|
|
149
|
-
if (dataStore.isGons || dataStore.isPension) return isReadonly.value
|
|
153
|
+
if (dataStore.isGons || dataStore.isPension) return isReadonly.value && dataStore.isServiceManager();
|
|
150
154
|
return isReadonly.value;
|
|
151
155
|
});
|
|
152
|
-
|
|
156
|
+
const isSaleChanellShown = computed(() => {
|
|
157
|
+
if (dataStore.isGons) return dataStore.isServiceManager();
|
|
158
|
+
return true;
|
|
159
|
+
});
|
|
160
|
+
const isRegionShown = computed(() => {
|
|
161
|
+
if (dataStore.isGons) return dataStore.isServiceManager() || dataStore.isAgent();
|
|
162
|
+
return true;
|
|
163
|
+
});
|
|
164
|
+
const isManagerShown = computed(() => {
|
|
165
|
+
if (dataStore.isGons) return dataStore.isServiceManager();
|
|
166
|
+
return true;
|
|
167
|
+
});
|
|
168
|
+
const isAgentShown = computed(() => {
|
|
169
|
+
if (dataStore.isGons || dataStore.isPension) return dataStore.isServiceManager();
|
|
170
|
+
return true;
|
|
171
|
+
});
|
|
153
172
|
const openPanel = async (currentDict: ManagerAttachmentFiels, title: string) => {
|
|
154
173
|
searchQuery.value = '';
|
|
155
174
|
if (dataStore.isTask() && !props.disabled) {
|
|
@@ -204,7 +223,9 @@ export default defineComponent({
|
|
|
204
223
|
() => formStore.RegionPolicy,
|
|
205
224
|
(val, oldVal) => {
|
|
206
225
|
if (val.ids !== oldVal.ids) {
|
|
207
|
-
|
|
226
|
+
if (!dataStore.isGons) {
|
|
227
|
+
formStore.ManagerPolicy = new Value();
|
|
228
|
+
}
|
|
208
229
|
}
|
|
209
230
|
},
|
|
210
231
|
);
|
|
@@ -244,7 +265,10 @@ export default defineComponent({
|
|
|
244
265
|
isRegionReadonly,
|
|
245
266
|
isManagerReadonly,
|
|
246
267
|
isAgentReadonly,
|
|
247
|
-
|
|
268
|
+
isSaleChanellShown,
|
|
269
|
+
isRegionShown,
|
|
270
|
+
isManagerShown,
|
|
271
|
+
isAgentShown,
|
|
248
272
|
// Functions
|
|
249
273
|
openPanel,
|
|
250
274
|
searchAgent,
|
|
@@ -1,5 +1,11 @@
|
|
|
1
1
|
<template>
|
|
2
2
|
<section :class="[$styles.scrollPage]">
|
|
3
|
+
<base-form-section v-if="isUnderwriterDocuments" title="Загрузить документы для Андеррайтинга" class="mx-[10px] mt-[14px]">
|
|
4
|
+
<base-file-input :readonly="isDisabled || documentLoading" @input.prevent="onUnderFiles($event)" @onClear="onClearUnderFiles()" />
|
|
5
|
+
<base-animation>
|
|
6
|
+
<base-btn v-if="underDocumentsList && underDocumentsList.length" :loading="documentLoading" text="Загрузить" size="sm" class="mt-3" @click="uploadUnderFiles" />
|
|
7
|
+
</base-animation>
|
|
8
|
+
</base-form-section>
|
|
3
9
|
<section class="w-full px-[10px] pt-[14px] flex flex-col gap-2" v-if="formStore.signedDocumentList && formStore.signedDocumentList.length">
|
|
4
10
|
<base-content-block
|
|
5
11
|
v-if="$dataStore.isInitiator() && !$dataStore.isPension && $dataStore.controls.hasChooseSign && formStore.applicationData.statusCode === 'ContractSignedFrom'"
|
|
@@ -25,10 +31,7 @@
|
|
|
25
31
|
</div>
|
|
26
32
|
</base-content-block>
|
|
27
33
|
</section>
|
|
28
|
-
<div
|
|
29
|
-
v-if="(!formStore.signedDocumentList || !formStore.signedDocumentList.length)"
|
|
30
|
-
class="h-[calc(90vh-70px)] flex flex-col items-center justify-center gap-6"
|
|
31
|
-
>
|
|
34
|
+
<div v-if="!formStore.signedDocumentList || !formStore.signedDocumentList.length" class="h-[calc(90vh-70px)] flex flex-col items-center justify-center gap-6">
|
|
32
35
|
<svg xmlns="http://www.w3.org/2000/svg" width="125" height="131" viewBox="0 0 125 131" fill="none" class="cursor-help">
|
|
33
36
|
<path
|
|
34
37
|
fill-rule="evenodd"
|
|
@@ -52,26 +55,26 @@
|
|
|
52
55
|
<base-content-block :class="[$styles.textSimple]">
|
|
53
56
|
<h5 class="text-center font-medium mb-4">{{ $dataStore.t('labels.statements') }}</h5>
|
|
54
57
|
<div :class="[$styles.whiteBg, $styles.rounded]" class="p-2 h-12 flex items-center relative">
|
|
55
|
-
<span class="ml-2">Заявления на {{ processCode ==
|
|
58
|
+
<span class="ml-2">Заявления на {{ processCode == 19 ? 'страхование' : 'возврат' }}</span>
|
|
56
59
|
<i
|
|
57
60
|
class="transition-all cursor-pointer mdi mdi-paperclip pl-2 mr-3 border-l-[1px] text-xl absolute right-0"
|
|
58
61
|
:class="[$styles.greenTextHover]"
|
|
59
|
-
@click="$dataStore.generatePDFDocument(processCode ==
|
|
62
|
+
@click="$dataStore.generatePDFDocument(processCode == 19 ? 'PA_Statement' : 'PA_RefundStatement', '37')"
|
|
60
63
|
></i>
|
|
61
64
|
</div>
|
|
62
65
|
</base-content-block>
|
|
63
66
|
<base-content-block :class="[$styles.textSimple]">
|
|
64
67
|
<h5 class="text-center font-medium mb-4">{{ $dataStore.t('labels.contract') }}</h5>
|
|
65
68
|
<div :class="[$styles.whiteBg, $styles.rounded]" class="p-2 h-12 flex items-center relative">
|
|
66
|
-
<span class="ml-2">Договор {{ processCode ==
|
|
69
|
+
<span class="ml-2">Договор {{ processCode == 19 ? 'страхования' : 'возврата' }}</span>
|
|
67
70
|
<i
|
|
68
71
|
class="transition-all cursor-pointer mdi mdi-paperclip pl-2 mr-3 border-l-[1px] text-xl absolute right-0"
|
|
69
72
|
:class="[$styles.greenTextHover]"
|
|
70
|
-
@click="$dataStore.generatePDFDocument(processCode ==
|
|
73
|
+
@click="$dataStore.generatePDFDocument(processCode == 19 ? 'PA_Contract' : 'PA_RefundAgreement', '38')"
|
|
71
74
|
></i>
|
|
72
75
|
</div>
|
|
73
76
|
</base-content-block>
|
|
74
|
-
<base-content-block :class="[$styles.textSimple]" v-if="formStore.applicationData.statusCode !== 'StartForm' && processCode ==
|
|
77
|
+
<base-content-block :class="[$styles.textSimple]" v-if="formStore.applicationData.statusCode !== 'StartForm' && processCode == 19">
|
|
75
78
|
<h5 class="text-center font-medium mb-4">{{ $dataStore.t('pension.complianceFinMonitoring') }}</h5>
|
|
76
79
|
<div :class="[$styles.whiteBg, $styles.rounded]" class="p-2 h-12 flex items-center relative">
|
|
77
80
|
<span class="ml-2">{{ $dataStore.t('pension.complianceFinMonitoring') }}</span>
|
|
@@ -82,7 +85,7 @@
|
|
|
82
85
|
></i>
|
|
83
86
|
</div>
|
|
84
87
|
</base-content-block>
|
|
85
|
-
<base-content-block :class="[$styles.textSimple]" v-if="formStore.applicationData.statusCode === 'PreparationDossierForm' && processCode ==
|
|
88
|
+
<base-content-block :class="[$styles.textSimple]" v-if="formStore.applicationData.statusCode === 'PreparationDossierForm' && processCode == 19">
|
|
86
89
|
<h5 class="text-center font-medium mb-4">{{ $dataStore.t('pension.dossierPA') }}</h5>
|
|
87
90
|
<div :class="[$styles.whiteBg, $styles.rounded]" class="p-2 h-12 flex items-center relative">
|
|
88
91
|
<span class="ml-2">{{ $dataStore.t('pension.dossierPA') }}</span>
|
|
@@ -99,13 +102,9 @@
|
|
|
99
102
|
<div :class="[$styles.flexColNav]">
|
|
100
103
|
<base-btn :disabled="documentLoading" :loading="documentLoading" text="Открыть" @click="getFile('view')" />
|
|
101
104
|
<base-btn :disabled="documentLoading" :loading="documentLoading" text="Скачать" @click="getFile('download')" />
|
|
102
|
-
<base-
|
|
103
|
-
v-if="
|
|
104
|
-
|
|
105
|
-
:loading="documentLoading"
|
|
106
|
-
text="Удалить"
|
|
107
|
-
@click="deletionDialog = true"
|
|
108
|
-
/>
|
|
105
|
+
<base-animation>
|
|
106
|
+
<base-btn v-if="canDeleteFiles" :disabled="documentLoading" :loading="documentLoading" text="Удалить" @click="deletionDialog = true" />
|
|
107
|
+
</base-animation>
|
|
109
108
|
</div>
|
|
110
109
|
</base-fade-transition>
|
|
111
110
|
</Teleport>
|
|
@@ -123,6 +122,7 @@
|
|
|
123
122
|
|
|
124
123
|
<script lang="ts">
|
|
125
124
|
import { DocumentItem } from '../../composables/classes';
|
|
125
|
+
import { uuid } from 'vue-uuid';
|
|
126
126
|
|
|
127
127
|
export default defineComponent({
|
|
128
128
|
setup() {
|
|
@@ -149,6 +149,18 @@ export default defineComponent({
|
|
|
149
149
|
action: '',
|
|
150
150
|
text: '',
|
|
151
151
|
});
|
|
152
|
+
const underDocumentsList = ref<
|
|
153
|
+
{
|
|
154
|
+
file: File;
|
|
155
|
+
fileName: string;
|
|
156
|
+
identifier: string;
|
|
157
|
+
fileTypeId: string;
|
|
158
|
+
fileTypeCode: string;
|
|
159
|
+
fileTypeName: string;
|
|
160
|
+
processInstanceId: string;
|
|
161
|
+
}[]
|
|
162
|
+
>([]);
|
|
163
|
+
|
|
152
164
|
const object_list = computed(() => Object.values(formStore.signedDocumentList));
|
|
153
165
|
const unSignedList = computed(() => document_list.value.filter((doc: DocumentItem) => doc.signed === false || doc.signed === null));
|
|
154
166
|
const document_list = computed(() =>
|
|
@@ -161,6 +173,21 @@ export default defineComponent({
|
|
|
161
173
|
const showContract = computed(
|
|
162
174
|
() => formStore.applicationData && (formStore.applicationData.statusCode === 'Completed' || formStore.applicationData.statusCode === 'PreparationDossierForm'),
|
|
163
175
|
);
|
|
176
|
+
const isUnderwriterDocuments = computed(
|
|
177
|
+
() =>
|
|
178
|
+
(dataStore.isAULETTI || dataStore.isAulettiParent) &&
|
|
179
|
+
dataStore.isInitiator() &&
|
|
180
|
+
formStore.applicationData &&
|
|
181
|
+
(formStore.applicationData.statusCode === 'StartForm' || formStore.applicationData.statusCode === 'EditForm'),
|
|
182
|
+
);
|
|
183
|
+
const canDeleteFiles = computed(() => {
|
|
184
|
+
const baseCondition = dataStore.isTask() && dataStore.isInitiator() && dataStore.isProcessEditable(formStore.applicationData.statusCode);
|
|
185
|
+
if (dataStore.isAULETTI || dataStore.isAulettiParent) {
|
|
186
|
+
return baseCondition && (currentDocument.value ? currentDocument.value.fileTypeCode === '46' : false);
|
|
187
|
+
}
|
|
188
|
+
if (dataStore.isPension) return baseCondition;
|
|
189
|
+
return false;
|
|
190
|
+
});
|
|
164
191
|
|
|
165
192
|
const openPanel = async (document: DocumentItem) => {
|
|
166
193
|
dataStore.rightPanel.title = document.fileTypeName!;
|
|
@@ -188,6 +215,48 @@ export default defineComponent({
|
|
|
188
215
|
}
|
|
189
216
|
};
|
|
190
217
|
|
|
218
|
+
const onUnderFiles = async (event: InputEvent) => {
|
|
219
|
+
if (event.target || event.dataTransfer) {
|
|
220
|
+
const files = event.target ? (event.target as HTMLInputElement).files : (event.dataTransfer as DataTransfer).files;
|
|
221
|
+
if (files !== null) {
|
|
222
|
+
const underDocumentType = dataStore.dicFileTypeList.find(i => i.code === '46');
|
|
223
|
+
Object.values(files).map(file => {
|
|
224
|
+
const uuidV4 = uuid.v4();
|
|
225
|
+
underDocumentsList.value.push({
|
|
226
|
+
file: file,
|
|
227
|
+
identifier: `${uuidV4}${file.name.substring(file.name.lastIndexOf('.'))}`,
|
|
228
|
+
processInstanceId: String(formStore.applicationData.processInstanceId),
|
|
229
|
+
fileTypeId: underDocumentType ? String(underDocumentType.id) : '',
|
|
230
|
+
fileTypeCode: underDocumentType ? String(underDocumentType.code) : '',
|
|
231
|
+
fileTypeName: underDocumentType ? String(underDocumentType.nameRu) : '',
|
|
232
|
+
fileName: file.name ? file.name : underDocumentType ? String(underDocumentType.nameRu) : '',
|
|
233
|
+
});
|
|
234
|
+
});
|
|
235
|
+
}
|
|
236
|
+
}
|
|
237
|
+
};
|
|
238
|
+
|
|
239
|
+
const onClearUnderFiles = () => {
|
|
240
|
+
underDocumentsList.value = [];
|
|
241
|
+
};
|
|
242
|
+
|
|
243
|
+
const uploadUnderFiles = async () => {
|
|
244
|
+
if (underDocumentsList.value) {
|
|
245
|
+
documentLoading.value = true;
|
|
246
|
+
await Promise.allSettled(
|
|
247
|
+
Object.values(underDocumentsList.value).map(async value => {
|
|
248
|
+
const formData = new FormData();
|
|
249
|
+
formData.append('file', value.file);
|
|
250
|
+
formData.append('fileData', JSON.stringify([{ ...value, file: undefined }]));
|
|
251
|
+
await dataStore.uploadFiles(formData, false);
|
|
252
|
+
}),
|
|
253
|
+
);
|
|
254
|
+
onClearUnderFiles();
|
|
255
|
+
await dataStore.getSignedDocList(formStore.applicationData.processInstanceId);
|
|
256
|
+
documentLoading.value = false;
|
|
257
|
+
}
|
|
258
|
+
};
|
|
259
|
+
|
|
191
260
|
watch(
|
|
192
261
|
() => document_list.value,
|
|
193
262
|
() => {
|
|
@@ -246,16 +315,22 @@ export default defineComponent({
|
|
|
246
315
|
signedContract,
|
|
247
316
|
deletionDialog,
|
|
248
317
|
processCode,
|
|
318
|
+
underDocumentsList,
|
|
249
319
|
|
|
250
320
|
// Computed
|
|
251
321
|
isDisabled,
|
|
252
322
|
showContract,
|
|
323
|
+
canDeleteFiles,
|
|
324
|
+
isUnderwriterDocuments,
|
|
253
325
|
|
|
254
326
|
// Functions
|
|
255
|
-
openPanel,
|
|
256
327
|
getFile,
|
|
257
|
-
|
|
328
|
+
openPanel,
|
|
258
329
|
deleteFile,
|
|
330
|
+
onFileChange,
|
|
331
|
+
onUnderFiles,
|
|
332
|
+
uploadUnderFiles,
|
|
333
|
+
onClearUnderFiles,
|
|
259
334
|
};
|
|
260
335
|
},
|
|
261
336
|
});
|
|
@@ -460,7 +460,7 @@
|
|
|
460
460
|
v-model="member.documentIssuers"
|
|
461
461
|
:value="member.documentIssuers?.nameRu"
|
|
462
462
|
:label="$dataStore.t('form.documentIssuers')"
|
|
463
|
-
:readonly="isDisabled
|
|
463
|
+
:readonly="isDisabled"
|
|
464
464
|
:clearable="!isDisabled"
|
|
465
465
|
:rules="$rules.objectRequired"
|
|
466
466
|
append-inner-icon="mdi mdi-chevron-right"
|
|
@@ -1359,7 +1359,7 @@ export default {
|
|
|
1359
1359
|
if (whichForm.value == formStore.policyholderFormKey || (dataStore.isPension && whichForm.value == formStore.insuredFormKey)) {
|
|
1360
1360
|
if (route.params.taskId === '0') {
|
|
1361
1361
|
try {
|
|
1362
|
-
const taskId = await dataStore.startApplication(member.value, dataStore.isPension ? (String(route.query.type) === 'joint' ? 4 :
|
|
1362
|
+
const taskId = await dataStore.startApplication(member.value, dataStore.isPension ? (String(route.query.type) === 'joint' ? 4 : 19) : undefined);
|
|
1363
1363
|
if (typeof taskId === 'string') {
|
|
1364
1364
|
await dataStore.getApplicationData(taskId, false, false, false, false);
|
|
1365
1365
|
remoteIsInsured.value = formStore.applicationData.clientApp.isInsured;
|
|
@@ -9,7 +9,7 @@
|
|
|
9
9
|
icon="mdi-alert text-[#FCB016]"
|
|
10
10
|
></base-message-block>
|
|
11
11
|
<base-form-section
|
|
12
|
-
v-if="isUnderwriterRole && $dataStore.hasClientAnketa && $dataStore.isClientAnketaCondition && whichProduct !== '
|
|
12
|
+
v-if="isUnderwriterRole && $dataStore.hasClientAnketa && $dataStore.isClientAnketaCondition && whichProduct !== 'pensionannuitynew'"
|
|
13
13
|
:title="$dataStore.t('policyholderForm')"
|
|
14
14
|
>
|
|
15
15
|
<base-form-input
|
|
@@ -36,7 +36,7 @@
|
|
|
36
36
|
<base-form-input v-model="formStore.policyholderForm.gender.nameRu" class="mb-4" :label="$dataStore.t('form.gender')" :readonly="true" />
|
|
37
37
|
</base-form-section>
|
|
38
38
|
<base-form-section
|
|
39
|
-
v-if="isUnderwriterRole && $dataStore.members.insuredApp.has === true && whichProduct !== 'lifebusiness' && whichProduct !== 'gns' && whichProduct !== '
|
|
39
|
+
v-if="isUnderwriterRole && $dataStore.members.insuredApp.has === true && whichProduct !== 'lifebusiness' && whichProduct !== 'gns' && whichProduct !== 'pensionannuitynew'"
|
|
40
40
|
:title="$dataStore.t('insuredForm')"
|
|
41
41
|
>
|
|
42
42
|
<div v-for="(insured, index) of formStore.insuredForm" :key="index">
|
|
@@ -49,7 +49,7 @@
|
|
|
49
49
|
</div>
|
|
50
50
|
</base-form-section>
|
|
51
51
|
<base-form-section
|
|
52
|
-
v-if="isUnderwriterRole && whichProduct !== 'lifebusiness' && whichProduct !== 'gns' && whichProduct !== '
|
|
52
|
+
v-if="isUnderwriterRole && whichProduct !== 'lifebusiness' && whichProduct !== 'gns' && whichProduct !== 'pensionannuitynew'"
|
|
53
53
|
:title="$dataStore.t('recalculationInfo')"
|
|
54
54
|
>
|
|
55
55
|
<base-form-input
|
|
@@ -281,7 +281,7 @@
|
|
|
281
281
|
@append="openPanel($dataStore.t('productConditionsForm.processGfot'), $dataStore.processGfot, 'processGfot', $dataStore.getProcessGfot)"
|
|
282
282
|
/>
|
|
283
283
|
</base-form-section>
|
|
284
|
-
<section v-if="whichProduct === '
|
|
284
|
+
<section v-if="whichProduct === 'pensionannuitynew'">
|
|
285
285
|
<base-form-section :title="$dataStore.t('pension.compulsoryAmount&Prof')">
|
|
286
286
|
<base-form-input
|
|
287
287
|
v-model="pensionCalculationParams.compulsoryContractAmount"
|
|
@@ -383,6 +383,7 @@
|
|
|
383
383
|
class="pension-guaranteed-period"
|
|
384
384
|
:readonly="isDisabled"
|
|
385
385
|
:clearable="!isDisabled"
|
|
386
|
+
:rules="$rules.notZero"
|
|
386
387
|
:label="$dataStore.t('pension.guaranteedPeriod')"
|
|
387
388
|
:items="guaranteedPeriodList"
|
|
388
389
|
:hide-details="true"
|
|
@@ -971,7 +972,7 @@ export default defineComponent({
|
|
|
971
972
|
return isDisabled.value;
|
|
972
973
|
});
|
|
973
974
|
const hasDefault = computed(() => {
|
|
974
|
-
if (whichProduct.value === 'lifetrip' || whichProduct.value === '
|
|
975
|
+
if (whichProduct.value === 'lifetrip' || whichProduct.value === 'pensionannuitynew') {
|
|
975
976
|
return false;
|
|
976
977
|
}
|
|
977
978
|
return true;
|
|
@@ -1078,7 +1079,7 @@ export default defineComponent({
|
|
|
1078
1079
|
if (whichProduct.value === 'lifetrip') {
|
|
1079
1080
|
// @ts-ignore
|
|
1080
1081
|
calculatorForm[currentPanel.value] = item.nameRu === null ? new Value() : item;
|
|
1081
|
-
} else if (whichProduct.value === '
|
|
1082
|
+
} else if (whichProduct.value === 'pensionannuitynew') {
|
|
1082
1083
|
// @ts-ignore
|
|
1083
1084
|
pensionForm[currentPanel.value] = item.nameRu === null ? new Value() : item;
|
|
1084
1085
|
} else {
|
|
@@ -1429,7 +1430,7 @@ export default defineComponent({
|
|
|
1429
1430
|
} else {
|
|
1430
1431
|
await dataStore.calculatePrice();
|
|
1431
1432
|
}
|
|
1432
|
-
} else if (whichProduct.value === '
|
|
1433
|
+
} else if (whichProduct.value === 'pensionannuitynew') {
|
|
1433
1434
|
if (
|
|
1434
1435
|
pensionCalculationParams.value &&
|
|
1435
1436
|
pensionCalculationParams.value.compulsoryProfContractAmount &&
|
|
@@ -1578,7 +1579,7 @@ export default defineComponent({
|
|
|
1578
1579
|
if (dataStore.isCalculator) {
|
|
1579
1580
|
clearFields();
|
|
1580
1581
|
}
|
|
1581
|
-
if (whichProduct.value !== 'lifetrip' && whichProduct.value !== '
|
|
1582
|
+
if (whichProduct.value !== 'lifetrip' && whichProduct.value !== 'pensionannuitynew') {
|
|
1582
1583
|
if (
|
|
1583
1584
|
(dataStore.isCalculator || route.params.taskId === '0') &&
|
|
1584
1585
|
productConditionsForm.requestedSumInsured === null &&
|
|
@@ -1633,7 +1634,7 @@ export default defineComponent({
|
|
|
1633
1634
|
}, 0),
|
|
1634
1635
|
);
|
|
1635
1636
|
}
|
|
1636
|
-
if (whichProduct.value === '
|
|
1637
|
+
if (whichProduct.value === 'pensionannuitynew') {
|
|
1637
1638
|
contractDate.value = reformatDate(formStore.applicationData.pensionApp.contractDate);
|
|
1638
1639
|
dateOfBegin.value = reformatDate(formStore.applicationData.pensionApp.dateOfBegin);
|
|
1639
1640
|
transferContractDate.value = reformatDate(formStore.applicationData.pensionApp.transferContractDate);
|
|
@@ -34,7 +34,13 @@
|
|
|
34
34
|
<base-btn :text="$dataStore.t('buttons.sendElectronically')" :disabled="isElectronicDisabled" :loading="loading" @click="handleSignAction('electronic')" />
|
|
35
35
|
<base-btn :text="$dataStore.t('buttons.generatePrintedForms')" :disabled="isScansDisabled" :loading="loading" @click="handleSignAction('scans')" />
|
|
36
36
|
<base-btn :text="$dataStore.t('buttons.sendEgovMob')" :disabled="isQrDisabled" :loading="loading" @click="handleSignAction('qr')" />
|
|
37
|
-
<base-btn
|
|
37
|
+
<base-btn
|
|
38
|
+
v-if="$dataStore.isPension"
|
|
39
|
+
:text="$dataStore.t('buttons.signWithSignature')"
|
|
40
|
+
:disabled="isSignatureDisabled"
|
|
41
|
+
:loading="loading"
|
|
42
|
+
@click="handleSignAction('signature')"
|
|
43
|
+
/>
|
|
38
44
|
<base-btn
|
|
39
45
|
v-if="$dataStore.isPension"
|
|
40
46
|
:text="$dataStore.t('buttons.signWithSignatureXML')"
|
|
@@ -48,17 +54,19 @@
|
|
|
48
54
|
</div>
|
|
49
55
|
<div v-if="isScansDocuments" :class="[$styles.flexColNav]">
|
|
50
56
|
<div v-if="$dataStore.isPension">
|
|
51
|
-
<div v-if="processCode ==
|
|
52
|
-
<div v-if="formStore.applicationData.statusCode === '
|
|
57
|
+
<div v-if="processCode == 19">
|
|
58
|
+
<div v-if="formStore.applicationData.statusCode === 'HeadManagerForm' || formStore.applicationData.statusCode === 'ContractSignedFrom'">
|
|
53
59
|
<base-btn :text="$dataStore.t('buttons.downloadContract')" :loading="$dataStore.isButtonsLoading" @click="$dataStore.generatePDFDocument('PA_Contract', '38')" />
|
|
54
60
|
<base-form-section class="mt-4 flex flex-col !gap-2" :title="$dataStore.t('clients.attachScansSignDocs')">
|
|
55
61
|
<base-file-input :label="$dataStore.t('labels.attachContract')" @input.prevent="onFileChangeScans($event, 'pa_contract')" @onClear="onClearFile('pa_contract')" />
|
|
56
62
|
</base-form-section>
|
|
57
63
|
</div>
|
|
58
|
-
<div v-else>
|
|
64
|
+
<div v-else class="flex flex-col gap-2">
|
|
59
65
|
<base-btn :text="$dataStore.t('buttons.downloadStatement')" :loading="$dataStore.isButtonsLoading" @click="$dataStore.generatePDFDocument('PA_Statement', '37')" />
|
|
66
|
+
<base-btn :text="$dataStore.t('buttons.downloadAgreement')" :loading="$dataStore.isButtonsLoading" @click="$dataStore.generatePDFDocument('Agreement', '19')" />
|
|
60
67
|
<base-form-section class="mt-4 flex flex-col !gap-2" :title="$dataStore.t('clients.attachScansSignDocs')">
|
|
61
68
|
<base-file-input :label="$dataStore.t('labels.attachStatement')" @input.prevent="onFileChangeScans($event, 'pa_statement')" @onClear="onClearFile('pa_statement')" />
|
|
69
|
+
<base-file-input :label="$dataStore.t('labels.attachAgreement')" @input.prevent="onFileChangeScans($event, 'agreement')" @onClear="onClearFile('agreement')" />
|
|
62
70
|
</base-form-section>
|
|
63
71
|
</div>
|
|
64
72
|
</div>
|
|
@@ -88,7 +96,7 @@
|
|
|
88
96
|
</base-form-section>
|
|
89
97
|
</div>
|
|
90
98
|
</div>
|
|
91
|
-
<div v-else>
|
|
99
|
+
<div :class="[$styles.flexColNav]" v-else>
|
|
92
100
|
<base-btn :text="$dataStore.t('buttons.downloadStatement')" @click="downloadTemplate(constants.documentTypes.statement, 'docx')" />
|
|
93
101
|
<base-btn :text="$dataStore.t('buttons.downloadContract')" @click="downloadTemplate(constants.documentTypes.contract, 'doc')" />
|
|
94
102
|
<base-btn :text="$dataStore.t('buttons.downloadApplication')" @click="downloadTemplate(constants.documentTypes.application1, 'vnd.ms-excel')" />
|
|
@@ -277,7 +285,7 @@ export default defineComponent({
|
|
|
277
285
|
(pensionForm.compulsoryProfContractAmount && pensionForm.compulsoryProfContractAmount !== 0) ||
|
|
278
286
|
(pensionForm.voluntaryContractAmount && pensionForm.voluntaryContractAmount !== 0)),
|
|
279
287
|
);
|
|
280
|
-
const consentGiven = computed(() => !!formStore.signedDocumentList.find(i => i.fileTypeCode === '43')?.signed
|
|
288
|
+
const consentGiven = computed(() => !!formStore.signedDocumentList.find(i => i.fileTypeCode === '43')?.signed);
|
|
281
289
|
const affiliationDocument = computed(() => formStore.signedDocumentList.find((file: DocumentItem) => file.fileTypeName === 'Решение АС'));
|
|
282
290
|
const affiliationData = ref<{
|
|
283
291
|
processInstanceId: string | number;
|
|
@@ -324,7 +332,7 @@ export default defineComponent({
|
|
|
324
332
|
|
|
325
333
|
const onFileChangeScans = async (
|
|
326
334
|
event: InputEvent,
|
|
327
|
-
type: 'statement' | 'pa_statement' | 'pa_refundstatement' | 'contract' | 'pa_contract' | 'pa_refundagreement' | 'app' | 'attorney',
|
|
335
|
+
type: 'statement' | 'pa_statement' | 'pa_refundstatement' | 'contract' | 'pa_contract' | 'pa_refundagreement' | 'app' | 'attorney' | 'agreement',
|
|
328
336
|
) => {
|
|
329
337
|
if (event.target) {
|
|
330
338
|
const files = (event.target as HTMLInputElement).files;
|
|
@@ -344,13 +352,15 @@ export default defineComponent({
|
|
|
344
352
|
}
|
|
345
353
|
};
|
|
346
354
|
|
|
347
|
-
const onClearFile = async (
|
|
355
|
+
const onClearFile = async (
|
|
356
|
+
type: 'statement' | 'pa_statement' | 'pa_refundstatement' | 'contract' | 'pa_contract' | 'pa_refundagreement' | 'app' | 'attorney' | 'agreement',
|
|
357
|
+
) => {
|
|
348
358
|
const doc = await selectedDocument(type);
|
|
349
359
|
const result = scansFiles.value.filter(i => JSON.parse(i.fileData)[0].fileTypeCode !== doc.code);
|
|
350
360
|
scansFiles.value = result;
|
|
351
361
|
};
|
|
352
362
|
|
|
353
|
-
const selectedDocument = (type: 'statement' | 'pa_statement' | 'pa_refundstatement' | 'contract' | 'pa_contract' | 'pa_refundagreement' | 'app' | 'attorney') => {
|
|
363
|
+
const selectedDocument = (type: 'statement' | 'pa_statement' | 'pa_refundstatement' | 'contract' | 'pa_contract' | 'pa_refundagreement' | 'app' | 'attorney' | 'agreement') => {
|
|
354
364
|
let selectedDocument: any;
|
|
355
365
|
if (type === 'statement') {
|
|
356
366
|
selectedDocument = dataStore.dicFileTypeList.find((i: Value) => i.code === '32');
|
|
@@ -376,11 +386,20 @@ export default defineComponent({
|
|
|
376
386
|
if (type === 'attorney') {
|
|
377
387
|
selectedDocument = dataStore.dicFileTypeList.find((i: Value) => i.code === '34');
|
|
378
388
|
}
|
|
389
|
+
if (type === 'agreement') {
|
|
390
|
+
selectedDocument = dataStore.dicFileTypeList.find((i: Value) => i.code === '19');
|
|
391
|
+
}
|
|
379
392
|
return selectedDocument;
|
|
380
393
|
};
|
|
381
394
|
|
|
382
395
|
const sendFiles = async () => {
|
|
383
|
-
if (
|
|
396
|
+
if (
|
|
397
|
+
dataStore.isPension
|
|
398
|
+
? formStore.applicationData.statusCode === 'ContractSignedFrom'
|
|
399
|
+
? scansFiles.value.length !== 1
|
|
400
|
+
: scansFiles.value.length !== 2
|
|
401
|
+
: scansFiles.value.length !== 4
|
|
402
|
+
) {
|
|
384
403
|
dataStore.showToaster('warning', dataStore.t('toaster.notAllDocumentsAttached'));
|
|
385
404
|
return;
|
|
386
405
|
}
|
|
@@ -542,44 +561,39 @@ export default defineComponent({
|
|
|
542
561
|
return true;
|
|
543
562
|
});
|
|
544
563
|
const isElectronicDisabled = computed(() => {
|
|
545
|
-
if (dataStore.isGons) {
|
|
564
|
+
if (dataStore.isGons || dataStore.isLifeBusiness || dataStore.isGns || dataStore.isPension) {
|
|
546
565
|
return true;
|
|
547
566
|
}
|
|
548
|
-
if (formStore.applicationData.statusCode === 'ContractSignedByAuthorizedPerson') {
|
|
549
|
-
return true;
|
|
550
|
-
}
|
|
551
|
-
if (needsAgreement.value) {
|
|
552
|
-
if (!consentGiven.value && dataStore.isPension) {
|
|
553
|
-
return true;
|
|
554
|
-
}
|
|
555
|
-
}
|
|
556
567
|
return false;
|
|
557
568
|
});
|
|
558
569
|
const isScansDisabled = computed(() => {
|
|
559
570
|
if (dataStore.isGons) {
|
|
560
571
|
return true;
|
|
561
572
|
}
|
|
562
|
-
if (
|
|
563
|
-
|
|
564
|
-
return true;
|
|
565
|
-
}
|
|
573
|
+
if (!consentGiven.value && dataStore.isPension) {
|
|
574
|
+
return true;
|
|
566
575
|
}
|
|
567
576
|
return false;
|
|
568
577
|
});
|
|
569
578
|
const isQrDisabled = computed(() => {
|
|
570
|
-
if (
|
|
571
|
-
|
|
572
|
-
return true;
|
|
573
|
-
}
|
|
574
|
-
}
|
|
575
|
-
if (dataStore.isLifeBusiness || dataStore.isGns) {
|
|
576
|
-
return false;
|
|
579
|
+
if (dataStore.isPension) {
|
|
580
|
+
return !!needsAgreement.value && !consentGiven.value;
|
|
577
581
|
}
|
|
578
582
|
return true;
|
|
579
583
|
});
|
|
580
584
|
const isQrXmlDisabled = computed(() => {
|
|
581
|
-
if (
|
|
582
|
-
|
|
585
|
+
if (dataStore.isPension) {
|
|
586
|
+
if (consentGiven.value && needsAgreement.value) {
|
|
587
|
+
return false;
|
|
588
|
+
}
|
|
589
|
+
}
|
|
590
|
+
return true;
|
|
591
|
+
});
|
|
592
|
+
const isSignatureDisabled = computed(() => {
|
|
593
|
+
if (dataStore.isPension) {
|
|
594
|
+
if (!consentGiven.value) {
|
|
595
|
+
return false;
|
|
596
|
+
}
|
|
583
597
|
}
|
|
584
598
|
return true;
|
|
585
599
|
});
|
|
@@ -654,7 +668,7 @@ export default defineComponent({
|
|
|
654
668
|
};
|
|
655
669
|
|
|
656
670
|
const startConnection = async (uuid: string, groupId?: string) => {
|
|
657
|
-
connection.value = new HubConnectionBuilder().withUrl(
|
|
671
|
+
connection.value = new HubConnectionBuilder().withUrl(`${getStrValuePerEnv('qrHubUrl')}/${uuid}`).withAutomaticReconnect().build();
|
|
658
672
|
try {
|
|
659
673
|
await connection.value.start();
|
|
660
674
|
console.log('SignalR connection started.');
|
|
@@ -671,7 +685,7 @@ export default defineComponent({
|
|
|
671
685
|
await stopConnection();
|
|
672
686
|
} else {
|
|
673
687
|
console.log('message from SignalR', message);
|
|
674
|
-
if (message.signed) {
|
|
688
|
+
if (message.signed === true) {
|
|
675
689
|
isQrLoading.value = false;
|
|
676
690
|
qrUrl.value = '';
|
|
677
691
|
isQr.value = false;
|
|
@@ -690,6 +704,10 @@ export default defineComponent({
|
|
|
690
704
|
dataStore.showToaster('success', dataStore.t('pension.consentGiven'), 3000);
|
|
691
705
|
}
|
|
692
706
|
await stopConnection();
|
|
707
|
+
} else {
|
|
708
|
+
if (message.error) {
|
|
709
|
+
dataStore.showToaster('error', message.error, 3000);
|
|
710
|
+
}
|
|
693
711
|
}
|
|
694
712
|
}
|
|
695
713
|
});
|
|
@@ -831,6 +849,7 @@ export default defineComponent({
|
|
|
831
849
|
isScansDisabled,
|
|
832
850
|
isQrDisabled,
|
|
833
851
|
isQrXmlDisabled,
|
|
852
|
+
isSignatureDisabled,
|
|
834
853
|
choosePayActions,
|
|
835
854
|
consentGiven,
|
|
836
855
|
needsAgreement,
|
package/composables/classes.ts
CHANGED
|
@@ -1590,6 +1590,11 @@ export class PhysGroupClass extends BaseGroupClass {
|
|
|
1590
1590
|
placeOfBirth: Value;
|
|
1591
1591
|
workDetails: { workplace: string; position: string; jobDuties: string };
|
|
1592
1592
|
hasContactPerson: boolean;
|
|
1593
|
+
authorityDetails: {
|
|
1594
|
+
basis: Value;
|
|
1595
|
+
documentNumber: string | null;
|
|
1596
|
+
date: string | null;
|
|
1597
|
+
};
|
|
1593
1598
|
constructor() {
|
|
1594
1599
|
super();
|
|
1595
1600
|
this.lastName = '';
|
|
@@ -1600,16 +1605,17 @@ export class PhysGroupClass extends BaseGroupClass {
|
|
|
1600
1605
|
this.placeOfBirth = new Value();
|
|
1601
1606
|
this.workDetails = { workplace: '', position: '', jobDuties: '' };
|
|
1602
1607
|
this.hasContactPerson = false;
|
|
1608
|
+
this.authorityDetails = {
|
|
1609
|
+
basis: new Value(),
|
|
1610
|
+
documentNumber: null,
|
|
1611
|
+
date: null,
|
|
1612
|
+
};
|
|
1603
1613
|
}
|
|
1604
1614
|
}
|
|
1605
1615
|
|
|
1606
1616
|
export class GroupMember extends PhysGroupClass {
|
|
1607
1617
|
isLeader: boolean;
|
|
1608
|
-
|
|
1609
|
-
basis: Value;
|
|
1610
|
-
documentNumber: string | null;
|
|
1611
|
-
date: string | null;
|
|
1612
|
-
};
|
|
1618
|
+
|
|
1613
1619
|
typeOfEconomicActivity: Value;
|
|
1614
1620
|
activityTypes: { activityTypeName: string; empoloyeeCount: number }[];
|
|
1615
1621
|
beneficalOwnerQuest: { order: number; text: string; answer: boolean | null }[];
|
|
@@ -1619,11 +1625,6 @@ export class GroupMember extends PhysGroupClass {
|
|
|
1619
1625
|
super();
|
|
1620
1626
|
// Client
|
|
1621
1627
|
this.isLeader = false;
|
|
1622
|
-
this.authorityDetails = {
|
|
1623
|
-
basis: new Value(),
|
|
1624
|
-
documentNumber: null,
|
|
1625
|
-
date: null,
|
|
1626
|
-
};
|
|
1627
1628
|
this.typeOfEconomicActivity = new Value();
|
|
1628
1629
|
this.activityTypes = [];
|
|
1629
1630
|
this.beneficalOwnerQuest = [
|
package/composables/constants.ts
CHANGED
|
@@ -17,6 +17,7 @@ export const constants = Object.freeze({
|
|
|
17
17
|
amuletlife: 15,
|
|
18
18
|
gns: 16,
|
|
19
19
|
prepensionannuity: 18,
|
|
20
|
+
pensionannuitynew: 19,
|
|
20
21
|
},
|
|
21
22
|
amlProducts: {
|
|
22
23
|
checkcontragent: 1,
|
|
@@ -25,37 +26,44 @@ export const constants = Object.freeze({
|
|
|
25
26
|
extractedProducts: ['dso', 'uu'],
|
|
26
27
|
editableStatuses: [Statuses.StartForm, Statuses.EditBeneficiaryForm, Statuses.EditForm, Statuses.InputDataForm],
|
|
27
28
|
documentsLinkVisibleStatuses: [
|
|
28
|
-
Statuses.
|
|
29
|
-
Statuses.DocumentsSignedClientFrom,
|
|
29
|
+
Statuses.Completed,
|
|
30
30
|
Statuses.UnderwriterForm,
|
|
31
|
+
Statuses.DocumentsSignedFrom,
|
|
31
32
|
Statuses.AffilationResolutionForm,
|
|
32
|
-
Statuses.
|
|
33
|
+
Statuses.DocumentsSignedClientFrom,
|
|
33
34
|
Statuses.InsurancePremiumOnlinePaid,
|
|
34
35
|
],
|
|
35
36
|
returnStatementStatuses: [
|
|
36
|
-
Statuses.DocumentsSignedFrom,
|
|
37
|
-
Statuses.DocumentsSignedClientFrom,
|
|
38
|
-
Statuses.ContractSignedFrom,
|
|
39
|
-
Statuses.WaitingInsurancePremiumForm,
|
|
40
|
-
Statuses.UnderwriterForm,
|
|
41
37
|
Statuses.ApproveForm,
|
|
42
38
|
Statuses.ActuaryForm,
|
|
43
|
-
Statuses.ControllerDpForm,
|
|
44
39
|
Statuses.DsoUsnsForm,
|
|
45
40
|
Statuses.AccountantForm,
|
|
41
|
+
Statuses.UnderwriterForm,
|
|
42
|
+
Statuses.ControllerDpForm,
|
|
43
|
+
Statuses.ContractSignedFrom,
|
|
44
|
+
Statuses.DocumentsSignedFrom,
|
|
45
|
+
Statuses.DocumentsSignedClientFrom,
|
|
46
|
+
Statuses.WaitingInsurancePremiumForm,
|
|
46
47
|
],
|
|
47
48
|
cancelApplicationStatuses: [
|
|
48
|
-
Statuses.StartForm,
|
|
49
49
|
Statuses.EditForm,
|
|
50
|
+
Statuses.StartForm,
|
|
51
|
+
Statuses.ContractSignedFrom,
|
|
50
52
|
Statuses.EditBeneficiaryForm,
|
|
51
|
-
Statuses.WaitingInsurancePremiumForm,
|
|
52
53
|
Statuses.DocumentsSignedFrom,
|
|
54
|
+
Statuses.AttachAppContractForm,
|
|
55
|
+
Statuses.PreparationDossierForm,
|
|
53
56
|
Statuses.DocumentsSignedClientFrom,
|
|
57
|
+
Statuses.WaitingInsurancePremiumForm,
|
|
58
|
+
],
|
|
59
|
+
rejectApplicationStatuses: [
|
|
60
|
+
Statuses.StartForm,
|
|
61
|
+
Statuses.DsoUsnsForm,
|
|
62
|
+
Statuses.AccountantForm,
|
|
63
|
+
Statuses.HeadManagerForm,
|
|
54
64
|
Statuses.ContractSignedFrom,
|
|
55
65
|
Statuses.AttachAppContractForm,
|
|
56
|
-
Statuses.PreparationDossierForm,
|
|
57
66
|
],
|
|
58
|
-
rejectApplicationStatuses: [Statuses.StartForm, Statuses.AttachAppContractForm, Statuses.DsoUsnsForm, Statuses.AccountantForm, Statuses.ContractSignedByAuthorizedPerson, Statuses.ContractSignedFrom],
|
|
59
67
|
gbdErrors: ['INVALID', 'TIMEOUT', 'ERROR', 'NOT_FOUND'],
|
|
60
68
|
roles: Roles,
|
|
61
69
|
actions: Actions,
|
package/composables/index.ts
CHANGED
|
@@ -341,6 +341,7 @@ export const getLastDayOfMonth = (year: number, month: number) => {
|
|
|
341
341
|
};
|
|
342
342
|
|
|
343
343
|
type WhichValuePerEnv =
|
|
344
|
+
| 'qrHubUrl'
|
|
344
345
|
| 'qrGenUrl'
|
|
345
346
|
| 'qrXmlGenUrl'
|
|
346
347
|
| 'gatewayApiUrl'
|
|
@@ -358,6 +359,11 @@ export const getStrValuePerEnv = (which: WhichValuePerEnv) => {
|
|
|
358
359
|
[key in EnvModes]: string;
|
|
359
360
|
};
|
|
360
361
|
} = {
|
|
362
|
+
qrHubUrl: {
|
|
363
|
+
production: 'https://prod-sign.halyklife.kz/qrhub',
|
|
364
|
+
development: 'https://test-sign.halyklife.kz/qrhub',
|
|
365
|
+
test: 'https://test-sign.halyklife.kz/qrhub',
|
|
366
|
+
},
|
|
361
367
|
qrGenUrl: {
|
|
362
368
|
production: 'https://prod-sign.halyklife.kz/EgovQrCms',
|
|
363
369
|
development: 'https://test-sign.halyklife.kz/EgovQrCms',
|
package/locales/ru.json
CHANGED
|
@@ -218,6 +218,7 @@
|
|
|
218
218
|
"fromKGD": "КГД",
|
|
219
219
|
"generatePrintedForms": "Сформировать печатные формы",
|
|
220
220
|
"downloadStatement": "Скачать заявление",
|
|
221
|
+
"downloadAgreement": "Скачать согласие",
|
|
221
222
|
"downloadApplication": "Скачать приложение №1",
|
|
222
223
|
"downloadPowerOfAttorney": "Скачать доверенность",
|
|
223
224
|
"downloadPARefundStatement": "Скачать заявление на страхование возврат в ЕНПФ ПА",
|
|
@@ -445,7 +446,8 @@
|
|
|
445
446
|
"dateCreated": "Дата начала",
|
|
446
447
|
"factEndDate": "Дата завершения",
|
|
447
448
|
"decision": "Статус",
|
|
448
|
-
"userFullName": "Исполнитель"
|
|
449
|
+
"userFullName": "Исполнитель",
|
|
450
|
+
"stage":"Этап"
|
|
449
451
|
},
|
|
450
452
|
"aml": {
|
|
451
453
|
"contractSignDate": "Дата заключение контракта",
|
|
@@ -805,6 +807,7 @@
|
|
|
805
807
|
"inDetails": "Подробно",
|
|
806
808
|
"attachContract": "Вложить договор",
|
|
807
809
|
"attachStatement": "Вложить заявление",
|
|
810
|
+
"attachAgreement": "Вложить согласие",
|
|
808
811
|
"attachApplication": "Вложить приложение №1",
|
|
809
812
|
"attachPowerOfAttorney": "Вложить доверенность",
|
|
810
813
|
"noDocuments": "Нет документов для просмотра",
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "hl-core",
|
|
3
|
-
"version": "0.0.9-beta.
|
|
3
|
+
"version": "0.0.9-beta.54",
|
|
4
4
|
"license": "MIT",
|
|
5
5
|
"private": false,
|
|
6
6
|
"main": "nuxt.config.ts",
|
|
@@ -28,8 +28,8 @@
|
|
|
28
28
|
"dev": "nuxt dev",
|
|
29
29
|
"generate": "nuxt generate",
|
|
30
30
|
"preview": "nuxt preview",
|
|
31
|
-
"tk:all": "cd .. && cd amuletlife && yarn typecheck && cd .. && cd baiterek && yarn typecheck && cd .. && cd bolashak && yarn typecheck && cd .. && cd calc && yarn typecheck && cd .. && cd daskamkorlyk && yarn typecheck && cd .. && cd efo && yarn typecheck && cd .. && cd gons && yarn typecheck && cd .. && cd halykkazyna && yarn typecheck && cd .. && cd lifebusiness && yarn typecheck && cd .. && cd gns && yarn typecheck && cd .. && cd liferenta && yarn typecheck && cd .. && cd lifetrip && yarn typecheck && cd .. && cd
|
|
32
|
-
"i:all": "cd .. && cd amuletlife && yarn && cd .. && cd baiterek && yarn && cd .. && cd bolashak && yarn && cd .. && cd calc && yarn && cd .. && cd daskamkorlyk && yarn && cd .. && cd efo && yarn && cd .. && cd gons && yarn && cd .. && cd halykkazyna && yarn && cd .. && cd lifebusiness && yarn && cd .. && cd gns && yarn && cd .. && cd liferenta && yarn && cd .. && cd lifetrip && yarn && cd .. && cd
|
|
31
|
+
"tk:all": "cd .. && cd amuletlife && yarn typecheck && cd .. && cd baiterek && yarn typecheck && cd .. && cd bolashak && yarn typecheck && cd .. && cd calc && yarn typecheck && cd .. && cd daskamkorlyk && yarn typecheck && cd .. && cd efo && yarn typecheck && cd .. && cd gons && yarn typecheck && cd .. && cd halykkazyna && yarn typecheck && cd .. && cd lifebusiness && yarn typecheck && cd .. && cd gns && yarn typecheck && cd .. && cd liferenta && yarn typecheck && cd .. && cd lifetrip && yarn typecheck && cd .. && cd pensionannuitynew && yarn typecheck && cd .. && cd prepensionannuity && yarn typecheck && cd .. && cd core",
|
|
32
|
+
"i:all": "cd .. && cd amuletlife && yarn && cd .. && cd baiterek && yarn && cd .. && cd bolashak && yarn && cd .. && cd calc && yarn && cd .. && cd daskamkorlyk && yarn && cd .. && cd efo && yarn && cd .. && cd gons && yarn && cd .. && cd halykkazyna && yarn && cd .. && cd lifebusiness && yarn && cd .. && cd gns && yarn && cd .. && cd liferenta && yarn && cd .. && cd lifetrip && yarn && cd .. && cd pensionannuitynew && yarn && cd .. && cd prepensionannuity && yarn && cd .. && cd core",
|
|
33
33
|
"update:core": "git checkout -b %npm_package_version% && git add . && git commit -m \"%npm_package_version%\" && git push && git checkout main",
|
|
34
34
|
"update:aml": "cd ../../aml/aml && yarn && cd ../checkcontract && yarn && cd ../checkcontragent && yarn && cd.. && git checkout -b %npm_package_version% && git add . && git commit -m \"%npm_package_version%\" && git push && git checkout main && cd ../efo/core",
|
|
35
35
|
"update:lka": "cd .. && cd lka && yarn && git checkout -b %npm_package_version% && git add . && git commit -m \"%npm_package_version%\" && git push && git checkout main && cd .. && cd core",
|
package/store/data.store.ts
CHANGED
|
@@ -51,7 +51,7 @@ export const useDataStore = defineStore('data', {
|
|
|
51
51
|
isGons: state => state.product === 'gons',
|
|
52
52
|
isKazyna: state => state.product === 'halykkazyna',
|
|
53
53
|
isDas: state => state.product === 'daskamkorlyk',
|
|
54
|
-
isPension: state => state.product === '
|
|
54
|
+
isPension: state => state.product === 'pensionannuitynew',
|
|
55
55
|
isAmulet: state => state.product === 'amuletlife',
|
|
56
56
|
isGns: state => state.product === 'gns',
|
|
57
57
|
isCalculator: state => state.product === 'calculator',
|
|
@@ -256,6 +256,12 @@ export const useDataStore = defineStore('data', {
|
|
|
256
256
|
isAdjuster() {
|
|
257
257
|
return this.isRole(constants.roles.Adjuster);
|
|
258
258
|
},
|
|
259
|
+
isDsoDirector() {
|
|
260
|
+
return this.isRole(constants.roles.DsoDirector);
|
|
261
|
+
},
|
|
262
|
+
isAccountantDirector() {
|
|
263
|
+
return this.isRole(constants.roles.AccountantDirector);
|
|
264
|
+
},
|
|
259
265
|
isProcessEditable(statusCode?: keyof typeof Statuses) {
|
|
260
266
|
const getEditibleStatuses = () => {
|
|
261
267
|
const defaultStatuses = constants.editableStatuses;
|
|
@@ -1618,8 +1624,8 @@ export const useDataStore = defineStore('data', {
|
|
|
1618
1624
|
delete query.processCodes;
|
|
1619
1625
|
query.processCode = byOneProcess;
|
|
1620
1626
|
}
|
|
1621
|
-
if (byOneProcess ===
|
|
1622
|
-
query.processCodes = [
|
|
1627
|
+
if (byOneProcess === 19) {
|
|
1628
|
+
query.processCodes = [19, 2, 4];
|
|
1623
1629
|
delete query.processCode;
|
|
1624
1630
|
}
|
|
1625
1631
|
const taskList = await this.api.getTaskList(
|
|
@@ -2511,7 +2517,7 @@ export const useDataStore = defineStore('data', {
|
|
|
2511
2517
|
return [
|
|
2512
2518
|
{
|
|
2513
2519
|
processInstanceId: String(this.formStore.applicationData.processInstanceId),
|
|
2514
|
-
name: this.processCode ==
|
|
2520
|
+
name: this.processCode == 19 ? 'PA_Statement' : 'PA_RefundStatement',
|
|
2515
2521
|
format: 'pdf',
|
|
2516
2522
|
},
|
|
2517
2523
|
{
|
|
@@ -2521,7 +2527,7 @@ export const useDataStore = defineStore('data', {
|
|
|
2521
2527
|
},
|
|
2522
2528
|
];
|
|
2523
2529
|
}
|
|
2524
|
-
case '
|
|
2530
|
+
case 'HeadManagerForm':
|
|
2525
2531
|
return [
|
|
2526
2532
|
{
|
|
2527
2533
|
processInstanceId: String(this.formStore.applicationData.processInstanceId),
|
|
@@ -2531,6 +2537,11 @@ export const useDataStore = defineStore('data', {
|
|
|
2531
2537
|
];
|
|
2532
2538
|
default:
|
|
2533
2539
|
return [
|
|
2540
|
+
{
|
|
2541
|
+
processInstanceId: String(this.formStore.applicationData.processInstanceId),
|
|
2542
|
+
name: 'Agreement',
|
|
2543
|
+
format: 'pdf',
|
|
2544
|
+
},
|
|
2534
2545
|
{
|
|
2535
2546
|
processInstanceId: String(this.formStore.applicationData.processInstanceId),
|
|
2536
2547
|
name: 'Statement',
|
|
@@ -2548,19 +2559,20 @@ export const useDataStore = defineStore('data', {
|
|
|
2548
2559
|
return signData;
|
|
2549
2560
|
} else if (type === 'signature') {
|
|
2550
2561
|
const ncaLayerClient = new NCALayerClient();
|
|
2562
|
+
const formTemplate = new FormData();
|
|
2563
|
+
formTemplate.append('format', 'pdf');
|
|
2564
|
+
formTemplate.append('processInstanceId', String(this.formStore.applicationData.processInstanceId));
|
|
2551
2565
|
let activeTokens;
|
|
2552
2566
|
try {
|
|
2553
2567
|
await ncaLayerClient.connect();
|
|
2554
2568
|
activeTokens = await ncaLayerClient.getActiveTokens();
|
|
2555
2569
|
const storageType = activeTokens[0] || NCALayerClient.fileStorageType;
|
|
2556
|
-
if (this.formStore.applicationData.statusCode === '
|
|
2570
|
+
if (this.formStore.applicationData.statusCode === 'HeadManagerForm') {
|
|
2557
2571
|
const document = await this.generatePDFDocument('PAEnpf_Agreement', '40', 'pdf');
|
|
2558
2572
|
const base64EncodedSignature = await ncaLayerClient.basicsSignCMS(storageType, document, NCALayerClient.basicsCMSParams, NCALayerClient.basicsSignerSignAny);
|
|
2559
|
-
const formData =
|
|
2573
|
+
const formData = formTemplate;
|
|
2560
2574
|
formData.append('base64EncodedSignature', base64EncodedSignature);
|
|
2561
|
-
formData.append('processInstanceId', String(this.formStore.applicationData.processInstanceId));
|
|
2562
2575
|
formData.append('name', 'PAEnpf_Agreement');
|
|
2563
|
-
formData.append('format', 'pdf');
|
|
2564
2576
|
try {
|
|
2565
2577
|
await this.api.uploadDigitalCertifijcate(formData);
|
|
2566
2578
|
await this.handleTask('accept', String(this.formStore.applicationTaskId));
|
|
@@ -2571,11 +2583,9 @@ export const useDataStore = defineStore('data', {
|
|
|
2571
2583
|
} else if (this.formStore.applicationData.statusCode === 'ContractSignedFrom') {
|
|
2572
2584
|
const document = await this.generatePDFDocument('PA_Contract', '38', 'pdf');
|
|
2573
2585
|
const base64EncodedSignature = await ncaLayerClient.basicsSignCMS(storageType, document, NCALayerClient.basicsCMSParams, NCALayerClient.basicsSignerSignAny);
|
|
2574
|
-
const formData =
|
|
2586
|
+
const formData = formTemplate;
|
|
2575
2587
|
formData.append('base64EncodedSignature', base64EncodedSignature);
|
|
2576
|
-
formData.append('processInstanceId', String(this.formStore.applicationData.processInstanceId));
|
|
2577
2588
|
formData.append('name', 'PA_Contract');
|
|
2578
|
-
formData.append('format', 'pdf');
|
|
2579
2589
|
try {
|
|
2580
2590
|
await this.api.uploadDigitalCertifijcate(formData);
|
|
2581
2591
|
await this.handleTask('accept', String(this.formStore.applicationTaskId));
|
|
@@ -2584,31 +2594,48 @@ export const useDataStore = defineStore('data', {
|
|
|
2584
2594
|
return;
|
|
2585
2595
|
}
|
|
2586
2596
|
} else {
|
|
2587
|
-
|
|
2588
|
-
|
|
2589
|
-
|
|
2590
|
-
|
|
2591
|
-
|
|
2592
|
-
|
|
2593
|
-
|
|
2594
|
-
|
|
2595
|
-
|
|
2596
|
-
|
|
2597
|
-
|
|
2598
|
-
|
|
2599
|
-
|
|
2600
|
-
|
|
2601
|
-
|
|
2602
|
-
|
|
2603
|
-
|
|
2604
|
-
|
|
2597
|
+
if (!!this.formStore.signedDocumentList.find(i => i.fileTypeCode === '43')?.signed) {
|
|
2598
|
+
const statement = await this.generatePDFDocument('PA_Statement', '37', 'pdf');
|
|
2599
|
+
const statementSignature = await ncaLayerClient.basicsSignCMS(storageType, statement, NCALayerClient.basicsCMSParams, NCALayerClient.basicsSignerSignAny);
|
|
2600
|
+
const statementData = formTemplate;
|
|
2601
|
+
statementData.append('base64EncodedSignature', statementSignature);
|
|
2602
|
+
statementData.append('name', 'PA_Statement');
|
|
2603
|
+
await this.api.uploadDigitalCertifijcate(statementData);
|
|
2604
|
+
const agreement = await this.generatePDFDocument('Agreement', '19', 'pdf');
|
|
2605
|
+
const agreementSignature = await ncaLayerClient.basicsSignCMS(storageType, agreement, NCALayerClient.basicsCMSParams, NCALayerClient.basicsSignerSignAny);
|
|
2606
|
+
const agreementData = formTemplate;
|
|
2607
|
+
agreementData.append('base64EncodedSignature', agreementSignature);
|
|
2608
|
+
agreementData.append('name', 'Agreement');
|
|
2609
|
+
await this.api.uploadDigitalCertifijcate(agreementData);
|
|
2610
|
+
await this.handleTask('accept', String(this.formStore.applicationTaskId));
|
|
2611
|
+
} else {
|
|
2612
|
+
const document = {
|
|
2613
|
+
processInstanceId: String(this.formStore.applicationData.processInstanceId),
|
|
2614
|
+
name: 'PAEnpf_Agreement',
|
|
2615
|
+
format: 'xml',
|
|
2616
|
+
};
|
|
2617
|
+
const signData = await this.api.signXml([document]);
|
|
2618
|
+
const agreementXml = await this.api.getDocumentsByEdsXmlId(signData.data);
|
|
2619
|
+
const wnd = window.open('about:blank', '', '_blank');
|
|
2620
|
+
wnd?.document.write(agreementXml.data.document.documentXml);
|
|
2621
|
+
const signedAgreement = await ncaLayerClient.signXml(storageType, agreementXml.data.document.documentXml, 'SIGNATURE', '');
|
|
2622
|
+
const data = new FormData();
|
|
2623
|
+
data.append('processInstanceId', String(this.formStore.applicationData.processInstanceId));
|
|
2624
|
+
data.append('xmlData', signedAgreement);
|
|
2625
|
+
data.append('name', 'PAEnpf_Agreement');
|
|
2626
|
+
data.append('format', 'xml');
|
|
2627
|
+
data.append('EdsXmlId', signData.data);
|
|
2628
|
+
await this.api.uploadXml(data);
|
|
2629
|
+
await this.getSignedDocList(this.formStore.applicationData.processInstanceId);
|
|
2630
|
+
this.showToaster('success', this.t('pension.consentGiven'), 3000);
|
|
2631
|
+
}
|
|
2605
2632
|
}
|
|
2606
2633
|
} catch (error) {
|
|
2607
2634
|
this.showToaster('error', String(error));
|
|
2608
2635
|
return;
|
|
2609
2636
|
}
|
|
2610
2637
|
} else {
|
|
2611
|
-
if (this.processCode ===
|
|
2638
|
+
if (this.processCode === 19 || this.processCode === 2 || this.processCode === 4) {
|
|
2612
2639
|
const result = await this.api.signBts(data);
|
|
2613
2640
|
if (result.code === 0) this.formStore.signUrls = result.data;
|
|
2614
2641
|
} else {
|
|
@@ -2642,7 +2669,7 @@ export const useDataStore = defineStore('data', {
|
|
|
2642
2669
|
link.setAttribute('download', 'Договор страхования.pdf');
|
|
2643
2670
|
break;
|
|
2644
2671
|
case constants.documentTypes.application1:
|
|
2645
|
-
link.setAttribute('download', 'Приложение №1.
|
|
2672
|
+
link.setAttribute('download', 'Приложение №1.pdf');
|
|
2646
2673
|
break;
|
|
2647
2674
|
case constants.documentTypes.questionnaireInsured:
|
|
2648
2675
|
link.setAttribute('download', 'Анкета Застрахованного.docx');
|
|
@@ -3383,7 +3410,6 @@ export const useDataStore = defineStore('data', {
|
|
|
3383
3410
|
},
|
|
3384
3411
|
async startApplicationV2(data: PolicyholderClass) {
|
|
3385
3412
|
const policyholder = JSON.parse(JSON.stringify(data)) as any;
|
|
3386
|
-
if (!policyholder.clientData.iin) return false;
|
|
3387
3413
|
this.preparePersonData(policyholder);
|
|
3388
3414
|
keyDeleter(policyholder as PolicyholderClass, [
|
|
3389
3415
|
'clientData.beneficalOwnerQuest',
|
|
@@ -3460,7 +3486,7 @@ export const useDataStore = defineStore('data', {
|
|
|
3460
3486
|
this.formStore.lfb.policyholder.clientData.iin = reformatIin(clientData.iin);
|
|
3461
3487
|
this.formStore.lfb.policyholder.clientData.authoritedPerson.iin = reformatIin(clientData.authoritedPerson.iin);
|
|
3462
3488
|
this.formStore.lfb.clientId = clientId;
|
|
3463
|
-
this.formStore.lfb.policyholder.clientData.authorityDetails.date = reformatDate(clientData.authorityDetails.date);
|
|
3489
|
+
this.formStore.lfb.policyholder.clientData.authoritedPerson.authorityDetails.date = reformatDate(clientData.authoritedPerson.authorityDetails.date);
|
|
3464
3490
|
this.formStore.lfb.policyholder.clientData.authoritedPerson.birthDate = reformatDate(clientData.authoritedPerson.birthDate) ?? '';
|
|
3465
3491
|
this.formStore.lfb.policyholder.clientData.authoritedPerson.identityDocument.issuedOn = reformatDate(clientData.authoritedPerson.identityDocument.issuedOn) ?? '';
|
|
3466
3492
|
this.formStore.lfb.policyholder.clientData.authoritedPerson.identityDocument.validUntil = reformatDate(clientData.authoritedPerson.identityDocument.validUntil) ?? '';
|
|
@@ -3493,8 +3519,8 @@ export const useDataStore = defineStore('data', {
|
|
|
3493
3519
|
if (accidentIncidents && accidentIncidents.length) {
|
|
3494
3520
|
this.formStore.lfb.accidentIncidents = accidentIncidents;
|
|
3495
3521
|
this.formStore.lfb.accidentIncidents.forEach(incident => {
|
|
3496
|
-
incident.amount = incident.amount === 0 ?
|
|
3497
|
-
incident.count = incident.count === 0 ?
|
|
3522
|
+
incident.amount = incident.amount === 0 ? '' : incident.amount;
|
|
3523
|
+
incident.count = incident.count === 0 ? '' : incident.count;
|
|
3498
3524
|
});
|
|
3499
3525
|
}
|
|
3500
3526
|
|
|
@@ -3521,7 +3547,12 @@ export const useDataStore = defineStore('data', {
|
|
|
3521
3547
|
},
|
|
3522
3548
|
async saveAccidentIncidents(data: AccidentIncidents[]) {
|
|
3523
3549
|
try {
|
|
3524
|
-
const
|
|
3550
|
+
const dataCopy = JSON.parse(JSON.stringify(data));
|
|
3551
|
+
for (const incident of dataCopy) {
|
|
3552
|
+
incident.count = !!incident.count ? incident.count : 0;
|
|
3553
|
+
incident.amount = incident.amount ? incident.amount : 0;
|
|
3554
|
+
}
|
|
3555
|
+
const response = await this.api.saveAccidentIncidents(this.formStore.applicationData.processInstanceId, dataCopy);
|
|
3525
3556
|
return response;
|
|
3526
3557
|
} catch (err) {
|
|
3527
3558
|
return ErrorHandler(err);
|
|
@@ -3610,6 +3641,7 @@ export const useDataStore = defineStore('data', {
|
|
|
3610
3641
|
iin: reformatIin(client.iin),
|
|
3611
3642
|
insSum: client.insuredPolicyData.insSum,
|
|
3612
3643
|
premium: client.insuredPolicyData.premium,
|
|
3644
|
+
premiumWithLoad: client.insuredPolicyData.premiumWithLoad,
|
|
3613
3645
|
hasAttachedFile: client.hasAttachedFile,
|
|
3614
3646
|
};
|
|
3615
3647
|
});
|
|
@@ -3744,14 +3776,6 @@ export const useDataStore = defineStore('data', {
|
|
|
3744
3776
|
return ErrorHandler(err);
|
|
3745
3777
|
}
|
|
3746
3778
|
},
|
|
3747
|
-
async getDocument(id: string) {
|
|
3748
|
-
try {
|
|
3749
|
-
const response = await this.api.getDocument(id);
|
|
3750
|
-
return response;
|
|
3751
|
-
} catch (err) {
|
|
3752
|
-
return ErrorHandler(err);
|
|
3753
|
-
}
|
|
3754
|
-
},
|
|
3755
3779
|
async generateShortLink(url: string) {
|
|
3756
3780
|
try {
|
|
3757
3781
|
const response = await this.api.generateShortLink({
|
|
@@ -3863,7 +3887,9 @@ export const useDataStore = defineStore('data', {
|
|
|
3863
3887
|
this.isBranchDirector() ||
|
|
3864
3888
|
this.isUSNSACCINS() ||
|
|
3865
3889
|
this.isDsuio() ||
|
|
3866
|
-
this.isAdjuster()
|
|
3890
|
+
this.isAdjuster() ||
|
|
3891
|
+
this.isDsoDirector() ||
|
|
3892
|
+
this.isAccountantDirector(),
|
|
3867
3893
|
};
|
|
3868
3894
|
},
|
|
3869
3895
|
},
|
package/types/enum.ts
CHANGED
|
@@ -95,6 +95,8 @@ export enum Roles {
|
|
|
95
95
|
USNSACCINS = 'USNSACCINS',
|
|
96
96
|
Dsuio = 'Dsuio',
|
|
97
97
|
Adjuster = 'Adjuster',
|
|
98
|
+
DsoDirector = 'DsoDirector',
|
|
99
|
+
AccountantDirector = 'AccountantDirector',
|
|
98
100
|
}
|
|
99
101
|
|
|
100
102
|
export enum Statuses {
|
|
@@ -119,7 +121,7 @@ export enum Statuses {
|
|
|
119
121
|
ActuaryForm = 'ActuaryForm',
|
|
120
122
|
DsoUsnsForm = 'DsoUsnsForm',
|
|
121
123
|
AccountantForm = 'AccountantForm',
|
|
122
|
-
|
|
124
|
+
HeadManagerForm = 'HeadManagerForm',
|
|
123
125
|
}
|
|
124
126
|
|
|
125
127
|
export enum MemberCodes {
|
package/types/index.ts
CHANGED
|
@@ -25,7 +25,7 @@ declare global {
|
|
|
25
25
|
| 'daskamkorlyk'
|
|
26
26
|
| 'amuletlife'
|
|
27
27
|
| 'gns'
|
|
28
|
-
| '
|
|
28
|
+
| 'pensionannuitynew'
|
|
29
29
|
| 'dso'
|
|
30
30
|
| 'uu'
|
|
31
31
|
| 'auletti'
|
|
@@ -291,6 +291,7 @@ declare global {
|
|
|
291
291
|
birthDate: string;
|
|
292
292
|
insSum: number;
|
|
293
293
|
premium?: number;
|
|
294
|
+
premiumWithLoad?: number;
|
|
294
295
|
position?: string;
|
|
295
296
|
lifeMultiply?: number;
|
|
296
297
|
lifeAdditive?: number;
|
|
@@ -715,8 +716,8 @@ declare global {
|
|
|
715
716
|
coverTypeId: string | null;
|
|
716
717
|
coverTypeName: string | null;
|
|
717
718
|
coverTypeCode: number | null;
|
|
718
|
-
count: number |
|
|
719
|
-
amount: number |
|
|
719
|
+
count: number | string;
|
|
720
|
+
amount: number | string;
|
|
720
721
|
shortDescription: string | null;
|
|
721
722
|
};
|
|
722
723
|
|
|
@@ -754,4 +755,11 @@ declare global {
|
|
|
754
755
|
};
|
|
755
756
|
|
|
756
757
|
type ResponseStructure<T> = { code: 0; message: 'OK'; data: T };
|
|
758
|
+
|
|
759
|
+
type SignedState = {
|
|
760
|
+
isOnline: boolean;
|
|
761
|
+
signValue: number;
|
|
762
|
+
signName: string;
|
|
763
|
+
code: string;
|
|
764
|
+
};
|
|
757
765
|
}
|