hl-core 0.0.10-beta.6 → 0.0.10-beta.60
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/README.md +0 -2
- package/api/base.api.ts +357 -137
- package/api/interceptors.ts +3 -5
- package/components/Dialog/Dialog.vue +5 -1
- package/components/Dialog/FamilyDialog.vue +15 -4
- package/components/Form/DigitalDocument.vue +52 -0
- package/components/Form/FormSource.vue +30 -0
- package/components/Form/ManagerAttachment.vue +60 -11
- package/components/Form/ProductConditionsBlock.vue +12 -6
- package/components/Input/Datepicker.vue +5 -0
- package/components/Input/FileInput.vue +1 -1
- package/components/Input/FormInput.vue +7 -0
- package/components/Input/OtpInput.vue +25 -0
- package/components/Input/RoundedInput.vue +2 -0
- package/components/Input/RoundedSelect.vue +2 -0
- package/components/Input/TextAreaField.vue +71 -0
- package/components/Menu/MenuNav.vue +2 -1
- package/components/Pages/Anketa.vue +207 -176
- package/components/Pages/ContragentForm.vue +1 -1
- package/components/Pages/Documents.vue +486 -64
- package/components/Pages/MemberForm.vue +424 -182
- package/components/Pages/ProductConditions.vue +1180 -257
- package/components/Panel/PanelHandler.vue +319 -125
- package/components/Utilities/Chip.vue +1 -1
- package/components/Utilities/JsonViewer.vue +1 -2
- package/composables/classes.ts +125 -21
- package/composables/constants.ts +166 -1
- package/composables/index.ts +343 -9
- package/composables/styles.ts +8 -24
- package/configs/i18n.ts +2 -0
- package/configs/pwa.ts +1 -7
- package/layouts/clear.vue +1 -1
- package/layouts/default.vue +1 -1
- package/layouts/full.vue +1 -1
- package/locales/kz.json +1236 -0
- package/locales/ru.json +108 -20
- package/nuxt.config.ts +8 -6
- package/package.json +12 -12
- package/plugins/head.ts +7 -1
- package/plugins/helperFunctionsPlugins.ts +1 -0
- package/store/data.store.ts +948 -527
- package/store/member.store.ts +17 -6
- package/store/rules.ts +54 -3
- package/types/enum.ts +45 -2
- package/types/index.ts +115 -5
|
@@ -64,55 +64,70 @@
|
|
|
64
64
|
:title="$dataStore.t('isInsuredUnderage')"
|
|
65
65
|
:has-border="false"
|
|
66
66
|
/>
|
|
67
|
+
<base-panel-input
|
|
68
|
+
v-if="whichForm === formStore.beneficiaryFormKey && $dataStore.isGons"
|
|
69
|
+
v-model="member.chooseChild"
|
|
70
|
+
:value="member.chooseChild"
|
|
71
|
+
:label="$dataStore.t('form.chooseChild')"
|
|
72
|
+
:readonly="isDisabled"
|
|
73
|
+
:clearable="!isDisabled"
|
|
74
|
+
append-inner-icon="mdi mdi-chevron-right"
|
|
75
|
+
@append="searchMember($dataStore.t('form.chooseChild'))"
|
|
76
|
+
/>
|
|
67
77
|
<base-form-input
|
|
68
78
|
v-model="member.phoneNumber"
|
|
69
79
|
:label="$dataStore.t('form.phoneNumber')"
|
|
70
80
|
:maska="$maska.phone"
|
|
71
|
-
:readonly="!!isDisabled || !!isIinPhoneDisabled"
|
|
72
|
-
:clearable="!isDisabled"
|
|
81
|
+
:readonly="!!isDisabled || !!isIinPhoneDisabled || !!isDataFromGov"
|
|
82
|
+
:clearable="!isDisabled && !isIinPhoneDisabled && !isDataFromGov"
|
|
73
83
|
:append-inner-icon="otpCondition ? `${$dataStore.isPension ? 'mdi-message-text' : 'mdi mdi-phone-message'}` : ''"
|
|
74
84
|
@append="openCustomPanel('otp')"
|
|
75
85
|
@keyup.enter.prevent="otpCondition ? openCustomPanel('otp') : null"
|
|
76
86
|
:rules="phoneRule"
|
|
77
87
|
/>
|
|
78
|
-
<base-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
88
|
+
<base-animation>
|
|
89
|
+
<base-form-input
|
|
90
|
+
v-if="!isNonResident"
|
|
91
|
+
v-model="member.iin"
|
|
92
|
+
:label="$dataStore.t('form.iin')"
|
|
93
|
+
:maska="$maska.iin"
|
|
94
|
+
:readonly="!!isDisabled || !!isIinPhoneDisabled || !!member.parsedDocument?.iin || !!isDataFromGov"
|
|
95
|
+
:clearable="!isDisabled && !isIinPhoneDisabled && !member.parsedDocument?.iin && !isDataFromGov"
|
|
96
|
+
:append-inner-icon="hasMemberSearch || !isNonResident ? (hasDocumentReader ? 'mdi mdi-credit-card-scan-outline' : 'mdi mdi-magnify') : ''"
|
|
97
|
+
@append="searchMember"
|
|
98
|
+
@input="onIinInput"
|
|
99
|
+
:rules="isNonResident ? [] : $rules.required.concat($rules.iinRight)"
|
|
100
|
+
/>
|
|
101
|
+
</base-animation>
|
|
89
102
|
<base-form-input
|
|
90
103
|
v-model.trim="member.lastName"
|
|
91
|
-
:readonly="isDisabled ||
|
|
92
|
-
:clearable="!isDisabled"
|
|
104
|
+
:readonly="isDisabled || isDataFromGov || !!member.parsedDocument?.lastName"
|
|
105
|
+
:clearable="!isDisabled && !isDataFromGov && !member.parsedDocument?.lastName"
|
|
93
106
|
:label="$dataStore.t('form.lastName')"
|
|
94
107
|
:rules="$rules.required.concat($rules.cyrillic)"
|
|
95
108
|
/>
|
|
96
109
|
<base-form-input
|
|
97
110
|
v-model.trim="member.firstName"
|
|
98
|
-
:readonly="isDisabled ||
|
|
99
|
-
:clearable="!isDisabled"
|
|
111
|
+
:readonly="isDisabled || isDataFromGov || !!member.parsedDocument?.firstName"
|
|
112
|
+
:clearable="!isDisabled && !isDataFromGov && !member.parsedDocument?.firstName"
|
|
100
113
|
:label="$dataStore.t('form.firstName')"
|
|
101
114
|
:rules="$rules.required.concat($rules.cyrillic)"
|
|
115
|
+
:append-inner-icon="isNonResident ? 'mdi mdi-magnify' : ''"
|
|
116
|
+
@append="searchMember"
|
|
102
117
|
/>
|
|
103
118
|
<base-form-input
|
|
104
119
|
v-if="hasMiddleName"
|
|
105
120
|
v-model.trim="member.middleName"
|
|
106
|
-
:readonly="isDisabled ||
|
|
107
|
-
:clearable="!isDisabled"
|
|
121
|
+
:readonly="isDisabled || isDataFromGov || !!member.parsedDocument?.middleName"
|
|
122
|
+
:clearable="!isDisabled && !isDataFromGov && !member.parsedDocument?.middleName"
|
|
108
123
|
:label="$dataStore.t('form.middleName')"
|
|
109
124
|
:rules="$rules.cyrillicNonRequired"
|
|
110
125
|
/>
|
|
111
126
|
<base-form-input
|
|
112
127
|
v-if="$dataStore.isLifetrip"
|
|
113
128
|
v-model.trim="member.lastNameLat"
|
|
114
|
-
:readonly="isDisabled ||
|
|
115
|
-
:clearable="!isDisabled"
|
|
129
|
+
:readonly="isDisabled || isDataFromGov"
|
|
130
|
+
:clearable="!isDisabled && !isDataFromGov"
|
|
116
131
|
:label="$dataStore.t('form.lastNameLat')"
|
|
117
132
|
:rules="$rules.required.concat($rules.latin)"
|
|
118
133
|
:hint="$dataStore.t('labels.checkWithDoc')"
|
|
@@ -120,16 +135,16 @@
|
|
|
120
135
|
<base-form-input
|
|
121
136
|
v-if="$dataStore.isLifetrip"
|
|
122
137
|
v-model.trim="member.firstNameLat"
|
|
123
|
-
:readonly="isDisabled ||
|
|
124
|
-
:clearable="!isDisabled"
|
|
138
|
+
:readonly="isDisabled || isDataFromGov"
|
|
139
|
+
:clearable="!isDisabled && !isDataFromGov"
|
|
125
140
|
:label="$dataStore.t('form.firstNameLat')"
|
|
126
141
|
:rules="$rules.required.concat($rules.latin)"
|
|
127
142
|
:hint="$dataStore.t('labels.checkWithDoc')"
|
|
128
143
|
/>
|
|
129
144
|
<base-form-input
|
|
130
145
|
v-model="member.birthDate"
|
|
131
|
-
:readonly="isDisabled ||
|
|
132
|
-
:clearable="!isDisabled"
|
|
146
|
+
:readonly="isDisabled || isDataFromGov || !!member.parsedDocument?.birthDate"
|
|
147
|
+
:clearable="!isDisabled && !isDataFromGov && !member.parsedDocument?.birthDate"
|
|
133
148
|
:label="$dataStore.t('form.birthDate')"
|
|
134
149
|
:rules="birthDateRule"
|
|
135
150
|
:maska="$maska.date"
|
|
@@ -161,8 +176,8 @@
|
|
|
161
176
|
<base-panel-input
|
|
162
177
|
v-model="member.gender"
|
|
163
178
|
:value="member.gender?.nameRu"
|
|
164
|
-
:readonly="isDisabled ||
|
|
165
|
-
:clearable="!isDisabled && !
|
|
179
|
+
:readonly="isDisabled || isDataFromGov || !isChooseChild"
|
|
180
|
+
:clearable="(!isDisabled && !isDataFromGov) || !!isChooseChild"
|
|
166
181
|
:label="$dataStore.t('form.gender')"
|
|
167
182
|
:rules="$rules.objectRequired"
|
|
168
183
|
append-inner-icon="mdi mdi-chevron-right"
|
|
@@ -183,12 +198,12 @@
|
|
|
183
198
|
v-if="hasRelationDegree"
|
|
184
199
|
v-model="member.relationDegree"
|
|
185
200
|
:value="member.relationDegree?.nameRu"
|
|
186
|
-
:readonly="isDisabled"
|
|
187
|
-
:clearable="!isDisabled"
|
|
201
|
+
:readonly="isDisabled || !isChooseChild"
|
|
202
|
+
:clearable="!isDisabled || !!isChooseChild"
|
|
188
203
|
:label="$dataStore.t('form.relations')"
|
|
189
204
|
:rules="$rules.objectRequired"
|
|
190
205
|
append-inner-icon="mdi mdi-chevron-right"
|
|
191
|
-
@append="openPanel($dataStore.t('form.relations'),
|
|
206
|
+
@append="openPanel($dataStore.t('form.relations'), filteredRelationsData, 'relationDegree')"
|
|
192
207
|
/>
|
|
193
208
|
<base-form-input
|
|
194
209
|
v-if="whichForm === formStore.beneficiaryFormKey"
|
|
@@ -199,8 +214,11 @@
|
|
|
199
214
|
:rules="$rules.required.concat($rules.numbers)"
|
|
200
215
|
/>
|
|
201
216
|
</base-form-section>
|
|
202
|
-
<base-form-section
|
|
203
|
-
|
|
217
|
+
<base-form-section
|
|
218
|
+
v-if="$dataStore.isPension && (whichForm === formStore.insuredFormKey || $route.query.tab === 'slaveInsuredForm')"
|
|
219
|
+
:title="$dataStore.t('pension.disabilityInfo')"
|
|
220
|
+
>
|
|
221
|
+
<base-form-toggle v-model="member.isDisability" :title="$dataStore.t('pension.ifHasDisabilityAlways')" :disabled="isDisabled" :has-border="false" />
|
|
204
222
|
<base-animation>
|
|
205
223
|
<base-panel-input
|
|
206
224
|
v-if="member.isDisability"
|
|
@@ -256,8 +274,9 @@
|
|
|
256
274
|
:label="$dataStore.t('form.documentDate')"
|
|
257
275
|
:readonly="isDisabled"
|
|
258
276
|
:clearable="!isDisabled"
|
|
259
|
-
:rules="$rules.date"
|
|
277
|
+
:rules="$rules.date.concat($rules.checkPastOrToday)"
|
|
260
278
|
:maska="$maska.date"
|
|
279
|
+
:max-date="getToday()"
|
|
261
280
|
append-inner-icon="mdi mdi-calendar-blank-outline"
|
|
262
281
|
/>
|
|
263
282
|
<base-form-input
|
|
@@ -265,8 +284,9 @@
|
|
|
265
284
|
:label="$dataStore.t('form.documentExpire')"
|
|
266
285
|
:readonly="isDisabled"
|
|
267
286
|
:clearable="!isDisabled"
|
|
268
|
-
:rules="$rules.date"
|
|
287
|
+
:rules="$rules.date.concat($rules.checkTodayOrFuture)"
|
|
269
288
|
:maska="$maska.date"
|
|
289
|
+
:min-date="getToday()"
|
|
270
290
|
append-inner-icon="mdi mdi-calendar-blank-outline"
|
|
271
291
|
/>
|
|
272
292
|
<base-form-input v-model.trim="member.migrationCard" :label="$dataStore.t('policyholdersRepresentative.numberVisa')" />
|
|
@@ -331,10 +351,10 @@
|
|
|
331
351
|
v-if="hasWorkPositionDict"
|
|
332
352
|
v-model.trim="member.jobPosition"
|
|
333
353
|
:label="$dataStore.t('form.jobPosition')"
|
|
334
|
-
:readonly="isDisabled || member.positionCode !== 'other'"
|
|
335
354
|
:clearable="!isDisabled"
|
|
336
355
|
:rules="$rules.required"
|
|
337
356
|
append-inner-icon="mdi-chevron-right"
|
|
357
|
+
readonly
|
|
338
358
|
@click="openCustomPanel('workPosition')"
|
|
339
359
|
/>
|
|
340
360
|
<base-form-input
|
|
@@ -347,7 +367,7 @@
|
|
|
347
367
|
/>
|
|
348
368
|
<base-form-input v-model.trim="member.jobPlace" :label="$dataStore.t('form.jobPlace')" :readonly="isDisabled" :clearable="!isDisabled" :rules="$rules.required" />
|
|
349
369
|
</base-form-section>
|
|
350
|
-
<base-form-section :title="$dataStore.t('form.placeRegistration')"
|
|
370
|
+
<base-form-section :title="$dataStore.t('form.placeRegistration')">
|
|
351
371
|
<base-form-toggle v-if="hasSameAddressToggle" v-model="sameAddress" :disabled="isDisabled" :has-border="false" :title="$dataStore.t('form.sameAddress')" />
|
|
352
372
|
<base-panel-input
|
|
353
373
|
v-model="member.registrationCountry"
|
|
@@ -415,7 +435,7 @@
|
|
|
415
435
|
/>
|
|
416
436
|
<base-form-input
|
|
417
437
|
v-model.trim="member.registrationNumberHouse"
|
|
418
|
-
:rules="$rules.
|
|
438
|
+
:rules="[...$rules.required, $rules.lengthLimit(member.registrationNumberHouse, 10)]"
|
|
419
439
|
:readonly="isDisabled"
|
|
420
440
|
:clearable="!isDisabled"
|
|
421
441
|
:label="$dataStore.t('form.NumberHouse')"
|
|
@@ -447,7 +467,7 @@
|
|
|
447
467
|
@append="openPanel($dataStore.t('form.Region'), [], 'birthRegion', $dataStore.getRegions)"
|
|
448
468
|
/> -->
|
|
449
469
|
</base-form-section>
|
|
450
|
-
<base-form-section :title="$dataStore.t('form.documentData')"
|
|
470
|
+
<base-form-section :title="$dataStore.t('form.documentData')">
|
|
451
471
|
<base-panel-input
|
|
452
472
|
v-if="gbdDocuments && gbdDocuments.length"
|
|
453
473
|
value="Список документов из ГБДФЛ"
|
|
@@ -461,8 +481,8 @@
|
|
|
461
481
|
v-model="member.documentType"
|
|
462
482
|
:value="member.documentType?.nameRu"
|
|
463
483
|
:label="$dataStore.t('form.documentType')"
|
|
464
|
-
:readonly="isDisabled"
|
|
465
|
-
:clearable="!isDisabled"
|
|
484
|
+
:readonly="isDisabled || isDataFromGov"
|
|
485
|
+
:clearable="!isDisabled && !isDataFromGov"
|
|
466
486
|
:rules="$rules.objectRequired"
|
|
467
487
|
append-inner-icon="mdi mdi-chevron-right"
|
|
468
488
|
@append="openPanel($dataStore.t('form.documentType'), [], 'documentType', $dataStore.getDocumentTypes)"
|
|
@@ -470,8 +490,8 @@
|
|
|
470
490
|
<base-form-input
|
|
471
491
|
v-model.trim="member.documentNumber"
|
|
472
492
|
:label="$dataStore.t('form.documentNumber')"
|
|
473
|
-
:readonly="isDisabled || !!member.parsedDocument?.documentNumber"
|
|
474
|
-
:clearable="!isDisabled"
|
|
493
|
+
:readonly="isDisabled || !!member.parsedDocument?.documentNumber || isDataFromGov"
|
|
494
|
+
:clearable="!isDisabled && !member.parsedDocument?.documentNumber && !isDataFromGov"
|
|
475
495
|
:rules="$rules.required"
|
|
476
496
|
/>
|
|
477
497
|
<!-- <base-file-input v-if="!memberDocument" :disabled="isDisabled" :clearable="!isDisabled" @input="attachFile($event)" />
|
|
@@ -483,17 +503,42 @@
|
|
|
483
503
|
v-model="member.documentIssuers"
|
|
484
504
|
:value="member.documentIssuers?.nameRu"
|
|
485
505
|
:label="$dataStore.t('form.documentIssuers')"
|
|
486
|
-
:readonly="isDisabled || !!member.parsedDocument?.documentIssuer"
|
|
487
|
-
:clearable="!isDisabled"
|
|
506
|
+
:readonly="isDisabled || !!member.parsedDocument?.documentIssuer || isDataFromGov"
|
|
507
|
+
:clearable="!isDisabled && !member.parsedDocument?.documentIssuer && !isDataFromGov"
|
|
488
508
|
:rules="$rules.objectRequired"
|
|
489
509
|
append-inner-icon="mdi mdi-chevron-right"
|
|
490
510
|
@append="openPanel($dataStore.t('form.documentIssuers'), [], 'documentIssuers', $dataStore.getDocumentIssuers)"
|
|
491
511
|
/>
|
|
512
|
+
<base-animation>
|
|
513
|
+
<div v-if="hasIssuerOther" class="flex flex-col gap-[1px]">
|
|
514
|
+
<base-form-input
|
|
515
|
+
v-model="member.documentIssuers.issuerOtherName"
|
|
516
|
+
:label="$dataStore.t('form.issuerOtherName')"
|
|
517
|
+
:readonly="isDisabled"
|
|
518
|
+
:clearable="!isDisabled"
|
|
519
|
+
:rules="$rules.required.concat($rules.onlySymbols)"
|
|
520
|
+
/>
|
|
521
|
+
<base-form-input
|
|
522
|
+
v-model="member.documentIssuers.issuerOtherNameOrig"
|
|
523
|
+
:label="$dataStore.t('form.issuerOtherNameOrig')"
|
|
524
|
+
:readonly="isDisabled"
|
|
525
|
+
:clearable="!isDisabled"
|
|
526
|
+
:rules="$rules.required"
|
|
527
|
+
/>
|
|
528
|
+
<base-form-input
|
|
529
|
+
v-model="member.documentIssuers.issuerOtherNameRu"
|
|
530
|
+
:label="$dataStore.t('form.issuerOtherNameRu')"
|
|
531
|
+
:readonly="isDisabled"
|
|
532
|
+
:clearable="!isDisabled"
|
|
533
|
+
:rules="$rules.required.concat($rules.cyrillic)"
|
|
534
|
+
/>
|
|
535
|
+
</div>
|
|
536
|
+
</base-animation>
|
|
492
537
|
<base-form-input
|
|
493
538
|
v-model="member.documentDate"
|
|
494
539
|
:label="$dataStore.t('form.documentDate')"
|
|
495
|
-
:readonly="isDisabled || !!member.parsedDocument?.documentIssueDate"
|
|
496
|
-
:clearable="!isDisabled"
|
|
540
|
+
:readonly="isDisabled || !!member.parsedDocument?.documentIssueDate || isDataFromGov"
|
|
541
|
+
:clearable="!isDisabled && !member.parsedDocument?.documentIssueDate && !isDataFromGov"
|
|
497
542
|
:rules="$rules.required.concat($rules.date)"
|
|
498
543
|
:maska="$maska.date"
|
|
499
544
|
append-inner-icon="mdi mdi-calendar-blank-outline"
|
|
@@ -503,8 +548,8 @@
|
|
|
503
548
|
v-if="member.documentType.ids !== 'SBI'"
|
|
504
549
|
v-model="member.documentExpire"
|
|
505
550
|
:label="$dataStore.t('form.documentExpire')"
|
|
506
|
-
:readonly="isDisabled || !!member.parsedDocument?.documentExpireDate"
|
|
507
|
-
:clearable="!isDisabled"
|
|
551
|
+
:readonly="isDisabled || !!member.parsedDocument?.documentExpireDate || isDataFromGov"
|
|
552
|
+
:clearable="!isDisabled && !member.parsedDocument?.documentExpireDate && !isDataFromGov"
|
|
508
553
|
:rules="$rules.required.concat($rules.date)"
|
|
509
554
|
:maska="$maska.date"
|
|
510
555
|
append-inner-icon="mdi mdi-calendar-blank-outline"
|
|
@@ -601,47 +646,19 @@
|
|
|
601
646
|
v-model="member.bankInfo.bankName"
|
|
602
647
|
:value="member.bankInfo.bankName.nameRu"
|
|
603
648
|
:label="$dataStore.t('clients.form.nameBank')"
|
|
604
|
-
:readonly="
|
|
605
|
-
:clearable="
|
|
649
|
+
:readonly="true"
|
|
650
|
+
:clearable="false"
|
|
606
651
|
:rules="$rules.objectRequired"
|
|
607
|
-
append-inner-icon="mdi mdi-chevron-right"
|
|
608
|
-
@append="openPanel($dataStore.t('clients.form.nameBank'), [], 'bankInfo', $dataStore.getBanks, '', 'bankName')"
|
|
609
652
|
/>
|
|
610
653
|
<base-form-input
|
|
611
654
|
v-model.trim="member.bankInfo.bin"
|
|
612
|
-
:label="$dataStore.t('form.bin')"
|
|
613
655
|
:maska="$maska.iin"
|
|
614
|
-
:
|
|
615
|
-
:
|
|
656
|
+
:label="$dataStore.t('form.bin')"
|
|
657
|
+
:readonly="true"
|
|
658
|
+
:clearable="false"
|
|
616
659
|
:rules="$rules.required.concat($rules.iinRight)"
|
|
617
660
|
/>
|
|
618
|
-
<base-form-input v-model="member.bankInfo.bik" :label="$dataStore.t('clients.form.bik')" :readonly="
|
|
619
|
-
</base-form-section>
|
|
620
|
-
<base-form-section v-if="$dataStore.hasAdditionalDocumentsSection(whichForm)" :title="$dataStore.t('form.phDocuments')">
|
|
621
|
-
<base-file-input
|
|
622
|
-
:label="$dataStore.t('form.identyDocument')"
|
|
623
|
-
:disabled="isDisabled"
|
|
624
|
-
:clearable="!isDisabled"
|
|
625
|
-
icon="mdi-paperclip"
|
|
626
|
-
@input="attachFile($event, '1')"
|
|
627
|
-
:rules="$rules.required"
|
|
628
|
-
/>
|
|
629
|
-
<base-file-input
|
|
630
|
-
:label="$dataStore.t('form.bankStatement')"
|
|
631
|
-
:disabled="isDisabled"
|
|
632
|
-
:clearable="!isDisabled"
|
|
633
|
-
icon="mdi-paperclip"
|
|
634
|
-
@input="attachFile($event, '10')"
|
|
635
|
-
:rules="$rules.required"
|
|
636
|
-
/>
|
|
637
|
-
<base-file-input
|
|
638
|
-
:label="$dataStore.t('pension.ENPFnote')"
|
|
639
|
-
:disabled="isDisabled"
|
|
640
|
-
:clearable="!isDisabled"
|
|
641
|
-
icon="mdi-paperclip"
|
|
642
|
-
@input="attachFile($event, '8')"
|
|
643
|
-
:rules="$rules.required"
|
|
644
|
-
/>
|
|
661
|
+
<base-form-input v-model="member.bankInfo.bik" :label="$dataStore.t('clients.form.bik')" :readonly="true" :clearable="false" :rules="$rules.required" />
|
|
645
662
|
</base-form-section>
|
|
646
663
|
<base-form-section :title="$dataStore.t('form.contactsData')" v-if="$dataStore.hasContactSection(whichForm)">
|
|
647
664
|
<base-form-input
|
|
@@ -678,6 +695,7 @@
|
|
|
678
695
|
<base-btn v-if="hasGBDFL" :loading="isButtonLoading" :text="$dataStore.t('buttons.fromGBDFL')" @click="getContragentFromGBDFL" />
|
|
679
696
|
<base-btn v-if="hasInsis" :loading="isButtonLoading" :text="$dataStore.t('buttons.fromInsis')" @click="getContragent" />
|
|
680
697
|
<base-btn v-if="hasGKB" :loading="isButtonLoading" :text="$dataStore.t('buttons.fromGKB')" @click="getFamilyInfo" />
|
|
698
|
+
<base-btn v-if="isNonResident" :loading="isButtonLoading" :text="$dataStore.t('buttons.searchByFio')" @click="getContragent" />
|
|
681
699
|
<base-form-section v-if="hasDocumentReader" class="!mt-0">
|
|
682
700
|
<base-file-input
|
|
683
701
|
:disabled="isDisabled"
|
|
@@ -696,24 +714,22 @@
|
|
|
696
714
|
</Teleport>
|
|
697
715
|
<Teleport v-if="isDocumentOpen" to="#right-panel-actions">
|
|
698
716
|
<div :class="[$styles.flexColNav]">
|
|
699
|
-
<base-btn :disabled="documentLoading" :loading="documentLoading" text="Открыть" @click="
|
|
700
|
-
<base-btn :disabled="documentLoading" :loading="documentLoading" text="Скачать" @click="
|
|
717
|
+
<base-btn :disabled="documentLoading" :loading="documentLoading" text="Открыть" @click="getDoc('view')" />
|
|
718
|
+
<base-btn :disabled="documentLoading" :loading="documentLoading" text="Скачать" @click="getDoc('download')" />
|
|
701
719
|
</div>
|
|
702
720
|
</Teleport>
|
|
703
721
|
<Teleport v-if="isOtpPanelOpen && !member.hasAgreement" to="#right-panel-actions">
|
|
704
722
|
<div :class="[$styles.flexColNav]">
|
|
705
|
-
<base-
|
|
706
|
-
<
|
|
707
|
-
|
|
708
|
-
|
|
709
|
-
|
|
710
|
-
:
|
|
711
|
-
|
|
712
|
-
|
|
713
|
-
|
|
714
|
-
|
|
715
|
-
/>
|
|
716
|
-
</base-fade-transition>
|
|
723
|
+
<base-animation>
|
|
724
|
+
<div v-if="otpCondition && member.otpTokenId" class="flex flex-col">
|
|
725
|
+
<base-form-section class="mt-0 py-2">
|
|
726
|
+
<base-otp-input v-model="member.otpCode" :length="4" @keyup.enter.prevent="hasOtp && checkOtp()" @input="onOtpCodeInput" />
|
|
727
|
+
</base-form-section>
|
|
728
|
+
<span class="text-center cursor-pointer mt-2" :class="[$styles.mutedText]" @click="sendOtp(false)"
|
|
729
|
+
>Не получили код? <span class="underline underline-offset-2">Отправить код заново</span></span
|
|
730
|
+
>
|
|
731
|
+
</div>
|
|
732
|
+
</base-animation>
|
|
717
733
|
<base-btn v-if="!member.otpTokenId" :disabled="otpSending" :loading="otpSending" :text="$dataStore.t('buttons.sendOtp')" @click="sendOtp(false)" />
|
|
718
734
|
<base-btn v-if="member.otpTokenId" :disabled="otpSending" :loading="otpSending" :text="$dataStore.t('buttons.check')" @click="checkOtp()" />
|
|
719
735
|
</div>
|
|
@@ -721,12 +737,12 @@
|
|
|
721
737
|
<Teleport v-if="isPositionPanelOpen" to="#right-panel-actions">
|
|
722
738
|
<div :class="[$styles.scrollPage]" class="flex flex-col items-center">
|
|
723
739
|
<base-rounded-input
|
|
724
|
-
v-model="searchQuery"
|
|
725
|
-
|
|
740
|
+
v-model.trim="searchQuery"
|
|
741
|
+
label="Выполните поиск должностей"
|
|
726
742
|
class="w-full p-2"
|
|
727
743
|
:hide-details="searchQuery.length >= 4"
|
|
728
|
-
:rules="[searchQuery.length < 4 ? $dataStore.t('rules.searchQueryLen', { len:
|
|
729
|
-
|
|
744
|
+
:rules="[searchQuery.length < 4 ? $dataStore.t('rules.searchQueryLen', { len: 4 }) : true]"
|
|
745
|
+
append-inner-icon="mdi mdi-magnify"
|
|
730
746
|
@append="searchPositions"
|
|
731
747
|
/>
|
|
732
748
|
<base-animation>
|
|
@@ -745,7 +761,7 @@
|
|
|
745
761
|
/>
|
|
746
762
|
</div>
|
|
747
763
|
<div v-if="searchQuery && positionsList !== null && !positionsList.length && isPanelLoading === false" class="w-full flex flex-col items-center gap-2 px-2">
|
|
748
|
-
<base-btn :text="$dataStore.t('buttons.add')" @click="pickPosition({ workPositionName: searchQuery, workPositionCode: 'other' })" />
|
|
764
|
+
<!-- <base-btn :text="$dataStore.t('buttons.add')" @click="pickPosition({ workPositionName: searchQuery, workPositionCode: 'other' })" /> -->
|
|
749
765
|
<span :class="[$styles.mutedText]">{{ $dataStore.t('toaster.notFound') }}</span>
|
|
750
766
|
</div>
|
|
751
767
|
</base-animation>
|
|
@@ -765,7 +781,7 @@
|
|
|
765
781
|
/>
|
|
766
782
|
<base-dialog v-model="familyDialog" :subtitle="$dataStore.t('dialog.familyMember')" :icon="{ mdi: 'hand-pointing-up' }" actions="familyDialog">
|
|
767
783
|
<template #actions>
|
|
768
|
-
<base-family-dialog :selected="selectedFamilyMember" @selectFamilyMember="selectFamilyMember" @reset="closeFamilyDialog(true)" />
|
|
784
|
+
<base-family-dialog :selected="selectedFamilyMember" @selectFamilyMember="selectFamilyMember" @reset="closeFamilyDialog(true)" @addChild="addChild" />
|
|
769
785
|
</template>
|
|
770
786
|
</base-dialog>
|
|
771
787
|
<base-dialog v-model="documentChooseDialog" :subtitle="$dataStore.t('labels.chooseDoc')" :icon="{ mdi: 'file-document-outline' }" actions="documentChooseDialog">
|
|
@@ -783,6 +799,27 @@
|
|
|
783
799
|
<base-list-empty class="w-full" v-else @click="documentChooseDialog = false" />
|
|
784
800
|
</template>
|
|
785
801
|
</base-dialog>
|
|
802
|
+
<base-dialog
|
|
803
|
+
v-model="fioChooseDialog"
|
|
804
|
+
:title="$dataStore.t('pension.contragentSelect')"
|
|
805
|
+
:icon="{ mdi: 'format-list-bulleted-type', color: '#A0B3D8' }"
|
|
806
|
+
actions="fioChooseDialog"
|
|
807
|
+
:persistent="false"
|
|
808
|
+
>
|
|
809
|
+
<template #actions>
|
|
810
|
+
<v-list lines="two" v-if="contragents && contragents.length" class="w-full !py-0">
|
|
811
|
+
<v-list-item v-for="person of contragents" :key="person.id" @click="getContragentClick(person)">
|
|
812
|
+
<v-list-item-title :class="[$styles.greenText, $styles.textTitle]">
|
|
813
|
+
{{ person.longName }}
|
|
814
|
+
</v-list-item-title>
|
|
815
|
+
<v-list-item-subtitle :class="[$styles.textSimple]">
|
|
816
|
+
{{ reformatDate(person.birthDate) }} - {{ person.genderName }} - Рег: {{ reformatDate(person.registrationDate) }}
|
|
817
|
+
</v-list-item-subtitle>
|
|
818
|
+
</v-list-item>
|
|
819
|
+
</v-list>
|
|
820
|
+
<base-list-empty class="w-full" v-else @click="fioChooseDialog = false" />
|
|
821
|
+
</template>
|
|
822
|
+
</base-dialog>
|
|
786
823
|
</section>
|
|
787
824
|
<base-scroll-buttons @up="scrollForm('up')" @down="scrollForm('down')" />
|
|
788
825
|
</template>
|
|
@@ -790,8 +827,8 @@
|
|
|
790
827
|
<script lang="ts">
|
|
791
828
|
import { Value, DocumentItem, Member } from '../../composables/classes';
|
|
792
829
|
import { uuid } from 'vue-uuid';
|
|
793
|
-
import { StoreMembers,
|
|
794
|
-
import type { Api, Dicts, ESBDValidationType, FileActions, MultipleMember } from '../../types';
|
|
830
|
+
import { StoreMembers, CoreEnums } from '../../types/enum';
|
|
831
|
+
import type { Api, ContragentType, Dicts, ESBDValidationType, FileActions, MultipleMember } from '../../types';
|
|
795
832
|
|
|
796
833
|
export default {
|
|
797
834
|
setup() {
|
|
@@ -803,9 +840,10 @@ export default {
|
|
|
803
840
|
const memberStore = useMemberStore();
|
|
804
841
|
const whichForm = computed(() => route.query.tab as keyof typeof StoreMembers);
|
|
805
842
|
const whichIndex = computed(() => route.query.i as string);
|
|
806
|
-
const getMember = (whichForm: keyof typeof StoreMembers, whichIndex?: string) =>
|
|
843
|
+
const getMember = (whichForm: keyof typeof StoreMembers | 'slaveInsuredForm', whichIndex?: string) =>
|
|
844
|
+
memberStore.getMemberFromStore(whichForm, Number((whichIndex ? whichIndex : '0') as string))!;
|
|
807
845
|
const member = ref(getMember(whichForm.value, whichIndex.value));
|
|
808
|
-
const selectedFamilyMember = ref<Api.GKB.BirthInfo>({});
|
|
846
|
+
const selectedFamilyMember = ref<Api.GKB.BirthInfo | string>({});
|
|
809
847
|
const isPanelOpen = ref<boolean>(false);
|
|
810
848
|
const memberDocument = ref<DocumentItem>();
|
|
811
849
|
const isButtonLoading = ref<boolean>(false);
|
|
@@ -818,9 +856,12 @@ export default {
|
|
|
818
856
|
const isPositionPanelOpen = ref<boolean>(false);
|
|
819
857
|
const isPanelLoading = ref<boolean>(false);
|
|
820
858
|
const isChangingMember = ref<boolean>(false);
|
|
859
|
+
const isNonResident = computed(() => dataStore.isPension && member.value.signOfResidency.ids === '500011.2');
|
|
860
|
+
const isDataFromGov = computed(() => member.value.verifyType === 'GBDFL' || member.value.verifyType === 'ESBD' || !!member.value.gosPersonData);
|
|
821
861
|
const familyDialog = ref<boolean>(false);
|
|
822
862
|
const deletionDialog = ref<boolean>(false);
|
|
823
863
|
const documentChooseDialog = ref<boolean>(false);
|
|
864
|
+
const fioChooseDialog = ref<boolean>(false);
|
|
824
865
|
const selectedIndex = ref<number>(0);
|
|
825
866
|
const sameAddress = ref<boolean>(false);
|
|
826
867
|
const panelValue = ref<Value>(new Value());
|
|
@@ -831,16 +872,24 @@ export default {
|
|
|
831
872
|
const fileData = ref<{ file: any }>();
|
|
832
873
|
const imageDataList = ref<string[]>([]);
|
|
833
874
|
const isRelative = ref<boolean>(false);
|
|
834
|
-
|
|
875
|
+
const additionalDocuments = ref<any[]>([]);
|
|
876
|
+
const contragents = ref<ContragentType[]>([]);
|
|
877
|
+
const filteredRelationsData = ref<Value[]>(dataStore.relations);
|
|
835
878
|
const currentPanelDeep = ref<string>();
|
|
836
879
|
const currentPanelSubDeep = ref<string>();
|
|
837
|
-
|
|
838
880
|
const memberSetting = computed(() => dataStore.members[memberStore.getMemberApplicationCode(whichForm.value)!]);
|
|
839
881
|
const hasOtp = computed(() => member.value.otpCode && member.value.otpCode.length === useMask().otp.length);
|
|
840
882
|
const isDisabled = computed(() => !memberStore.isStatementEditible(whichForm.value));
|
|
883
|
+
const isChooseChild = computed(() => {
|
|
884
|
+
if (dataStore.isGons) return member.value.chooseChild === dataStore.t('form.addBeneficiary');
|
|
885
|
+
return true;
|
|
886
|
+
});
|
|
887
|
+
const getToday = (): Date => {
|
|
888
|
+
return new Date(new Date().setHours(0, 0, 0, 0));
|
|
889
|
+
};
|
|
890
|
+
|
|
841
891
|
const isTask = computed(() => route.params.taskId === '0' || dataStore.isTask());
|
|
842
892
|
const isIinPhoneDisabled = computed(() => member.value.hasAgreement);
|
|
843
|
-
const isFromGBD = computed(() => !!member.value.gosPersonData);
|
|
844
893
|
const gbdDocuments = computed(() => {
|
|
845
894
|
if (hasGBDFLDocSelection && !!member.value.gosPersonData && !!member.value.gosPersonData.documents) {
|
|
846
895
|
const documents = Array.isArray(member.value.gosPersonData.documents.document)
|
|
@@ -866,6 +915,7 @@ export default {
|
|
|
866
915
|
case formStore.policyholdersRepresentativeFormKey:
|
|
867
916
|
return route.params.taskId !== '0';
|
|
868
917
|
default:
|
|
918
|
+
if (route.query.tab === 'slaveInsuredForm') return true;
|
|
869
919
|
return false;
|
|
870
920
|
}
|
|
871
921
|
};
|
|
@@ -902,7 +952,7 @@ export default {
|
|
|
902
952
|
};
|
|
903
953
|
return dataStore.isAULETTI || dataStore.isAulettiParent ? false : dataStore.controls.hasGBDFL && perMemberCondition();
|
|
904
954
|
});
|
|
905
|
-
const hasGBDFLDocSelection = dataStore.isLifetrip
|
|
955
|
+
const hasGBDFLDocSelection = dataStore.isLifetrip;
|
|
906
956
|
const hasInsis = computed(() => dataStore.controls.hasInsis);
|
|
907
957
|
const hasGKB = computed(() => {
|
|
908
958
|
const perMemberCondition = () => {
|
|
@@ -973,7 +1023,8 @@ export default {
|
|
|
973
1023
|
(whichForm.value === formStore.beneficiaryFormKey && member.value.iin !== formStore.policyholderForm.iin) ||
|
|
974
1024
|
(dataStore.isLifetrip && whichForm.value === formStore.insuredFormKey && member.value.isInsuredUnderage),
|
|
975
1025
|
);
|
|
976
|
-
const hasWorkPositionDict =
|
|
1026
|
+
const hasWorkPositionDict = dataStore.isBaiterek;
|
|
1027
|
+
const hasIssuerOther = computed(() => (useEnv().isProduction ? dataStore.isPension : true) && member.value.documentIssuers && member.value.documentIssuers.nameRu === 'Другое');
|
|
977
1028
|
|
|
978
1029
|
const birthDateRule = computed(() => {
|
|
979
1030
|
const baseDateRule = dataStore.rules.required.concat(dataStore.rules.birthDate);
|
|
@@ -1048,16 +1099,18 @@ export default {
|
|
|
1048
1099
|
});
|
|
1049
1100
|
|
|
1050
1101
|
const getOtpConditionByMember = () => {
|
|
1051
|
-
|
|
1102
|
+
const which = whichForm.value as keyof typeof StoreMembers | 'slaveInsuredForm';
|
|
1103
|
+
switch (which) {
|
|
1052
1104
|
case formStore.policyholderFormKey:
|
|
1053
1105
|
return route.params.taskId === '0';
|
|
1054
1106
|
case formStore.insuredFormKey:
|
|
1055
|
-
|
|
1056
|
-
return route.query.id === '0';
|
|
1107
|
+
case 'slaveInsuredForm':
|
|
1057
1108
|
case formStore.policyholdersRepresentativeFormKey:
|
|
1058
1109
|
case formStore.beneficiaryFormKey:
|
|
1059
1110
|
case formStore.beneficialOwnerFormKey:
|
|
1060
1111
|
return route.query.id === '0';
|
|
1112
|
+
default:
|
|
1113
|
+
return dataStore.isPension && route.query.id === '0' && formStore.applicationData.processCode === 24;
|
|
1061
1114
|
}
|
|
1062
1115
|
};
|
|
1063
1116
|
const otpCondition = computed(() => {
|
|
@@ -1066,13 +1119,14 @@ export default {
|
|
|
1066
1119
|
if (whichForm.value === formStore.beneficiaryFormKey && member.value.age !== null && Number(member.value.age) < 18) return false;
|
|
1067
1120
|
if (dataStore.isLifetrip && whichForm.value === formStore.insuredFormKey && member.value.isInsuredUnderage) return false;
|
|
1068
1121
|
if (!member.value.phoneNumber || (member.value.phoneNumber && member.value.phoneNumber.length !== useMask().phone.length)) return false;
|
|
1122
|
+
if (route.query.tab === 'slaveInsuredForm' && route.query.id === '0') return true;
|
|
1069
1123
|
return getOtpConditionByMember();
|
|
1070
1124
|
});
|
|
1071
1125
|
|
|
1072
|
-
const searchMember = async () => {
|
|
1126
|
+
const searchMember = async (title: string = hasDocumentReader.value ? 'Получение данных со скана документа' : 'Поиск контрагента') => {
|
|
1073
1127
|
if (!isDisabled.value) {
|
|
1074
1128
|
dataStore.panelAction = null;
|
|
1075
|
-
dataStore.rightPanel.title =
|
|
1129
|
+
dataStore.rightPanel.title = title;
|
|
1076
1130
|
dataStore.rightPanel.open = true;
|
|
1077
1131
|
isSearchOpen.value = true;
|
|
1078
1132
|
isDocumentOpen.value = false;
|
|
@@ -1085,6 +1139,10 @@ export default {
|
|
|
1085
1139
|
};
|
|
1086
1140
|
|
|
1087
1141
|
const searchPositions = async () => {
|
|
1142
|
+
if (searchQuery.value.length < 4) {
|
|
1143
|
+
dataStore.showToaster('error', dataStore.t('rules.searchQueryLen', { len: 4 }));
|
|
1144
|
+
return;
|
|
1145
|
+
}
|
|
1088
1146
|
if (!isDisabled.value) {
|
|
1089
1147
|
isPanelLoading.value = true;
|
|
1090
1148
|
positionsList.value = await dataStore.getWorkPosition(searchQuery.value);
|
|
@@ -1123,6 +1181,7 @@ export default {
|
|
|
1123
1181
|
isPositionPanelOpen.value = false;
|
|
1124
1182
|
}
|
|
1125
1183
|
if (type === 'workPosition') {
|
|
1184
|
+
dataStore.rightPanel.title = dataStore.t('form.jobPosition');
|
|
1126
1185
|
isPositionPanelOpen.value = true;
|
|
1127
1186
|
isOtpPanelOpen.value = false;
|
|
1128
1187
|
isDocumentOpen.value = false;
|
|
@@ -1252,12 +1311,35 @@ export default {
|
|
|
1252
1311
|
}
|
|
1253
1312
|
};
|
|
1254
1313
|
|
|
1255
|
-
const
|
|
1314
|
+
const uploadAdditionalFiles = async (processInstanceId: string | number) => {
|
|
1315
|
+
const formData = new FormData();
|
|
1316
|
+
const information: any = [];
|
|
1317
|
+
const uuidV4 = uuid.v4();
|
|
1318
|
+
if (additionalDocuments.value) {
|
|
1319
|
+
Object.values(additionalDocuments.value).map((value: any) => {
|
|
1320
|
+
formData.append('file', value);
|
|
1321
|
+
const ext = value.name.substring(value.name.lastIndexOf('.'));
|
|
1322
|
+
const selectedDocument = dataStore.dicFileTypeList.find((i: Value) => i.code === value.code);
|
|
1323
|
+
information.push({
|
|
1324
|
+
identifier: `${uuidV4}${ext}`,
|
|
1325
|
+
iin: member.value.iin ? member.value.iin.replaceAll('-', '') : null,
|
|
1326
|
+
processInstanceId: processInstanceId,
|
|
1327
|
+
fileTypeCode: selectedDocument ? selectedDocument.code : null,
|
|
1328
|
+
fileTypeId: selectedDocument ? selectedDocument.id : null,
|
|
1329
|
+
fileName: value.name,
|
|
1330
|
+
});
|
|
1331
|
+
});
|
|
1332
|
+
formData.append('fileData', JSON.stringify(information));
|
|
1333
|
+
await dataStore.uploadFiles(formData, false);
|
|
1334
|
+
}
|
|
1335
|
+
};
|
|
1336
|
+
|
|
1337
|
+
const attachFile = (event: InputEvent) => {
|
|
1256
1338
|
if (event.target) {
|
|
1257
|
-
fileData.value =
|
|
1339
|
+
fileData.value = { file: (event.target as HTMLInputElement).files };
|
|
1258
1340
|
} else {
|
|
1259
1341
|
if (event.dataTransfer) {
|
|
1260
|
-
fileData.value =
|
|
1342
|
+
fileData.value = { file: (event.dataTransfer as DataTransfer).files };
|
|
1261
1343
|
}
|
|
1262
1344
|
}
|
|
1263
1345
|
};
|
|
@@ -1326,7 +1408,7 @@ export default {
|
|
|
1326
1408
|
if (parsedDocument.middleName) member.value.middleName = parsedDocument.middleName;
|
|
1327
1409
|
if (parsedDocument.fullName) member.value.longName = parsedDocument.fullName;
|
|
1328
1410
|
if (parsedDocument.documentName && parsedDocument.documentName.startsWith('Kazakhstan - Id Card')) {
|
|
1329
|
-
const documentType = dataStore.documentTypes.find((i: Value) => i.ids ===
|
|
1411
|
+
const documentType = dataStore.documentTypes.find((i: Value) => i.ids === CoreEnums.Insis.DocTypes['1UDL']);
|
|
1330
1412
|
if (documentType) member.value.documentType = documentType;
|
|
1331
1413
|
}
|
|
1332
1414
|
if (!!parsedDocument.documentIssuer) {
|
|
@@ -1351,11 +1433,11 @@ export default {
|
|
|
1351
1433
|
}
|
|
1352
1434
|
};
|
|
1353
1435
|
|
|
1354
|
-
const
|
|
1436
|
+
const getDoc = async (type: FileActions) => {
|
|
1355
1437
|
if (memberDocument.value) {
|
|
1356
1438
|
documentLoading.value = true;
|
|
1357
1439
|
const fileExtension = memberDocument.value.fileName!.match(/\.([0-9a-z]+)(?:[\?#]|$)/i)![1];
|
|
1358
|
-
await dataStore.
|
|
1440
|
+
await dataStore.getDoc(memberDocument.value, type, fileExtension);
|
|
1359
1441
|
documentLoading.value = false;
|
|
1360
1442
|
}
|
|
1361
1443
|
};
|
|
@@ -1368,6 +1450,9 @@ export default {
|
|
|
1368
1450
|
if (formStore.birthInfos.length !== 0) {
|
|
1369
1451
|
familyDialog.value = true;
|
|
1370
1452
|
}
|
|
1453
|
+
if (formStore.birthInfos.length === 0 && dataStore.isGons) {
|
|
1454
|
+
familyDialog.value = true;
|
|
1455
|
+
}
|
|
1371
1456
|
} else {
|
|
1372
1457
|
familyDialog.value = true;
|
|
1373
1458
|
}
|
|
@@ -1383,10 +1468,23 @@ export default {
|
|
|
1383
1468
|
isButtonLoading.value = false;
|
|
1384
1469
|
dataStore.rightPanel.open = false;
|
|
1385
1470
|
isSearchOpen.value = false;
|
|
1471
|
+
if (dataStore.isGons) {
|
|
1472
|
+
member.value.chooseChild = '';
|
|
1473
|
+
}
|
|
1474
|
+
};
|
|
1475
|
+
|
|
1476
|
+
const addChild = () => {
|
|
1477
|
+
member.value.resetMember();
|
|
1478
|
+
familyDialog.value = false;
|
|
1479
|
+
selectedFamilyMember.value = dataStore.t('form.addBeneficiary');
|
|
1480
|
+
isButtonLoading.value = false;
|
|
1481
|
+
dataStore.rightPanel.open = false;
|
|
1482
|
+
isSearchOpen.value = false;
|
|
1483
|
+
member.value.chooseChild = dataStore.t('form.addBeneficiary');
|
|
1386
1484
|
};
|
|
1387
1485
|
|
|
1388
1486
|
const selectFamilyMember = (familyMember: Api.GKB.BirthInfo) => {
|
|
1389
|
-
if (selectedFamilyMember.value && selectedFamilyMember.value.childIIN === familyMember.childIIN) {
|
|
1487
|
+
if (selectedFamilyMember.value && typeof selectedFamilyMember.value === 'object' && selectedFamilyMember.value.childIIN === familyMember.childIIN) {
|
|
1390
1488
|
selectedFamilyMember.value = {};
|
|
1391
1489
|
} else {
|
|
1392
1490
|
selectedFamilyMember.value = familyMember;
|
|
@@ -1395,6 +1493,19 @@ export default {
|
|
|
1395
1493
|
member.value.lastName = selectedFamilyMember.value.childSurName!;
|
|
1396
1494
|
member.value.middleName = selectedFamilyMember.value.childPatronymic ?? '';
|
|
1397
1495
|
member.value.birthDate = reformatDate(selectedFamilyMember.value.childBirthDate!);
|
|
1496
|
+
member.value.gender = dataStore.gender.find(i => {
|
|
1497
|
+
if (typeof selectedFamilyMember.value === 'object') {
|
|
1498
|
+
return i.id === selectedFamilyMember.value.childGender;
|
|
1499
|
+
}
|
|
1500
|
+
})!;
|
|
1501
|
+
member.value.relationDegree = dataStore.relations.find(i => {
|
|
1502
|
+
if (typeof selectedFamilyMember.value === 'object') {
|
|
1503
|
+
return selectedFamilyMember.value.childGender === 1 ? i.nameRu === 'Сын' : i.nameRu === 'Дочь';
|
|
1504
|
+
}
|
|
1505
|
+
})!;
|
|
1506
|
+
if (dataStore.isGons) {
|
|
1507
|
+
member.value.chooseChild = `${selectedFamilyMember.value.childSurName} ${selectedFamilyMember.value.childName} ${selectedFamilyMember.value.childPatronymic ? selectedFamilyMember.value.childPatronymic : ''}`;
|
|
1508
|
+
}
|
|
1398
1509
|
}
|
|
1399
1510
|
familyDialog.value = false;
|
|
1400
1511
|
isButtonLoading.value = false;
|
|
@@ -1430,7 +1541,9 @@ export default {
|
|
|
1430
1541
|
|
|
1431
1542
|
const selectGbdDocument = (document: Api.GBD.Document) => {
|
|
1432
1543
|
if (document) {
|
|
1433
|
-
const documentType = dataStore.documentTypes.find(
|
|
1544
|
+
const documentType = dataStore.documentTypes.find(
|
|
1545
|
+
(i: Value) => i.ids === Object.keys(CoreEnums.GBD.DocTypes)[Object.values(CoreEnums.GBD.DocTypes).indexOf(document.type.code)],
|
|
1546
|
+
);
|
|
1434
1547
|
if (documentType) member.value.documentType = documentType;
|
|
1435
1548
|
const documentNumber = document.number;
|
|
1436
1549
|
if (documentNumber) member.value.documentNumber = documentNumber;
|
|
@@ -1447,21 +1560,46 @@ export default {
|
|
|
1447
1560
|
isSearchOpen.value = false;
|
|
1448
1561
|
};
|
|
1449
1562
|
|
|
1563
|
+
const getContragentClick = async (contragent: ContragentType) => {
|
|
1564
|
+
isButtonLoading.value = true;
|
|
1565
|
+
await dataStore.serializeContragentData(member.value, contragent);
|
|
1566
|
+
fioChooseDialog.value = false;
|
|
1567
|
+
isButtonLoading.value = false;
|
|
1568
|
+
dataStore.rightPanel.open = false;
|
|
1569
|
+
isSearchOpen.value = false;
|
|
1570
|
+
};
|
|
1571
|
+
|
|
1450
1572
|
const getContragent = async () => {
|
|
1451
|
-
if (
|
|
1452
|
-
|
|
1453
|
-
|
|
1454
|
-
|
|
1455
|
-
|
|
1456
|
-
|
|
1457
|
-
|
|
1458
|
-
|
|
1459
|
-
|
|
1460
|
-
|
|
1461
|
-
|
|
1573
|
+
if (isNonResident.value) {
|
|
1574
|
+
if (!member.value.lastName || !member.value.firstName) {
|
|
1575
|
+
dataStore.showToaster('error', 'Заполните поля Имя и Фамилия', 3000);
|
|
1576
|
+
dataStore.rightPanel.open = false;
|
|
1577
|
+
isSearchOpen.value = false;
|
|
1578
|
+
return;
|
|
1579
|
+
}
|
|
1580
|
+
} else {
|
|
1581
|
+
if (member.value.hasAgreement !== true) {
|
|
1582
|
+
dataStore.showToaster('error', dataStore.t('toaster.needAgreement'), 3000);
|
|
1583
|
+
dataStore.rightPanel.open = false;
|
|
1584
|
+
isSearchOpen.value = false;
|
|
1585
|
+
return;
|
|
1586
|
+
}
|
|
1587
|
+
if (!member.value.iin || member.value.iin.length !== useMask().iin.length) {
|
|
1588
|
+
dataStore.showToaster('error', dataStore.t('toaster.errorFormField', { text: 'ИИН' }), 5000);
|
|
1589
|
+
dataStore.rightPanel.open = false;
|
|
1590
|
+
isSearchOpen.value = false;
|
|
1591
|
+
return;
|
|
1592
|
+
}
|
|
1462
1593
|
}
|
|
1463
1594
|
isButtonLoading.value = true;
|
|
1464
|
-
|
|
1595
|
+
if (isNonResident.value) {
|
|
1596
|
+
const response = await dataStore.getContragent(member.value, false);
|
|
1597
|
+
if (response) contragents.value = response.items;
|
|
1598
|
+
else dataStore.showToaster('error', 'Не найдено совпадений', 3000);
|
|
1599
|
+
fioChooseDialog.value = true;
|
|
1600
|
+
} else {
|
|
1601
|
+
await dataStore.getContragent(member.value, false);
|
|
1602
|
+
}
|
|
1465
1603
|
isButtonLoading.value = false;
|
|
1466
1604
|
dataStore.rightPanel.open = false;
|
|
1467
1605
|
isSearchOpen.value = false;
|
|
@@ -1497,10 +1635,11 @@ export default {
|
|
|
1497
1635
|
}
|
|
1498
1636
|
const isInsured = formStore.isPolicyholderInsured;
|
|
1499
1637
|
const remoteIsInsured = ref<boolean | null>(null);
|
|
1638
|
+
const isNewApplication = route.params.taskId === '0';
|
|
1500
1639
|
if (whichForm.value == formStore.policyholderFormKey || (dataStore.isPension && whichForm.value == formStore.insuredFormKey)) {
|
|
1501
1640
|
if (route.params.taskId === '0') {
|
|
1502
1641
|
try {
|
|
1503
|
-
const taskId = await dataStore.startApplication(member.value, dataStore.isPension ? (String(route.query.type) === 'joint' ?
|
|
1642
|
+
const taskId = await dataStore.startApplication(member.value, dataStore.isPension ? (String(route.query.type) === 'joint' ? 25 : 19) : undefined);
|
|
1504
1643
|
if (typeof taskId === 'string') {
|
|
1505
1644
|
await dataStore.getApplicationData(taskId, false, false, false, false);
|
|
1506
1645
|
remoteIsInsured.value = formStore.applicationData.clientApp.isInsured;
|
|
@@ -1524,6 +1663,13 @@ export default {
|
|
|
1524
1663
|
if (fileData.value && fileData.value.file) {
|
|
1525
1664
|
await uploadFile(formStore.applicationData.processInstanceId);
|
|
1526
1665
|
}
|
|
1666
|
+
if (additionalDocuments.value && additionalDocuments.value.length) {
|
|
1667
|
+
if (
|
|
1668
|
+
(!formStore.applicationData.isEnpfSum && formStore.applicationData?.pensionApp.transferContracts && formStore.applicationData?.pensionApp.transferContracts.length) ||
|
|
1669
|
+
(formStore.applicationData?.pensionApp.compulsoryProfMonthCount && formStore.applicationData?.pensionApp.compulsoryProfMonthCount >= 60)
|
|
1670
|
+
)
|
|
1671
|
+
await uploadAdditionalFiles(formStore.applicationData.processInstanceId);
|
|
1672
|
+
}
|
|
1527
1673
|
}
|
|
1528
1674
|
const memberFromApplicaiton = memberStore.getMemberFromApplication(whichForm.value, whichIndex.value ? Number(whichIndex.value) : undefined);
|
|
1529
1675
|
if (typeof member.value.id !== 'number' || (typeof member.value.id === 'number' && member.value.id > 0 === false)) {
|
|
@@ -1547,30 +1693,43 @@ export default {
|
|
|
1547
1693
|
}
|
|
1548
1694
|
}
|
|
1549
1695
|
}
|
|
1550
|
-
if (
|
|
1696
|
+
if (
|
|
1697
|
+
whichForm.value === formStore.insuredFormKey ||
|
|
1698
|
+
(memberFromApplicaiton &&
|
|
1699
|
+
memberFromApplicaiton.processInstanceId &&
|
|
1700
|
+
formStore.applicationData.slave &&
|
|
1701
|
+
memberFromApplicaiton.processInstanceId === formStore.applicationData.slave.processInstanceId)
|
|
1702
|
+
) {
|
|
1551
1703
|
wasInsuredAction.value = true;
|
|
1552
1704
|
if (dataStore.isPension) {
|
|
1553
|
-
|
|
1705
|
+
let data = {
|
|
1554
1706
|
...formStore.applicationData.pensionApp,
|
|
1555
|
-
|
|
1556
|
-
bankBik: member.value.bankInfo.bik,
|
|
1557
|
-
bankBin: member.value.bankInfo.bankName.ids,
|
|
1558
|
-
bankId: member.value.bankInfo.bankName.id,
|
|
1559
|
-
bankName: member.value.bankInfo.bankName.nameRu,
|
|
1560
|
-
guaranteedPeriod: 0,
|
|
1561
|
-
amount: 0,
|
|
1562
|
-
compulsoryContractAmount: 0,
|
|
1563
|
-
voluntaryContractAmount: 0,
|
|
1564
|
-
ownFundsRaisAmount: 0,
|
|
1565
|
-
compulsoryProfContractAmount: 0,
|
|
1707
|
+
slave: formStore.applicationData.slave?.pensionApp ?? undefined,
|
|
1566
1708
|
};
|
|
1567
|
-
const
|
|
1568
|
-
|
|
1569
|
-
|
|
1709
|
+
const bankinfo = {
|
|
1710
|
+
account: member.value.bankInfo.iik ?? '',
|
|
1711
|
+
bankBik: member.value.bankInfo.bik ?? '',
|
|
1712
|
+
bankBin: member.value.bankInfo.bin ? String(member.value.bankInfo.bin).replaceAll('-', '') : '',
|
|
1713
|
+
bankId: Number(member.value.bankInfo.bankName.id) ?? 0,
|
|
1714
|
+
bankName: member.value.bankInfo.bankName.nameRu ?? '',
|
|
1570
1715
|
};
|
|
1716
|
+
if (route.query.tab === 'slaveInsuredForm') {
|
|
1717
|
+
data.slave = { ...data.slave, ...bankinfo };
|
|
1718
|
+
} else {
|
|
1719
|
+
data = { ...data, ...bankinfo };
|
|
1720
|
+
}
|
|
1721
|
+
const pensionKeysWithSpace = ['compulsoryContractAmount', 'compulsoryProfContractAmount', 'voluntaryContractAmount', 'ownFundsRaisAmount'];
|
|
1722
|
+
pensionKeysWithSpace.forEach(key => {
|
|
1723
|
+
if (/\s/g.test(data[key]) === true) data[key] = formatSpacedNumber(data[key]);
|
|
1724
|
+
});
|
|
1725
|
+
if (data.slave)
|
|
1726
|
+
pensionKeysWithSpace.forEach(key => {
|
|
1727
|
+
if (/\s/g.test(data.slave[key]) === true) data.slave[key] = formatSpacedNumber(data.slave[key]);
|
|
1728
|
+
});
|
|
1571
1729
|
const isApplicationSaved = await dataStore.setApplication(data);
|
|
1730
|
+
if (!isNewApplication) dataStore.showToaster('info', dataStore.t('toaster.needToRecalculate'), 5000);
|
|
1572
1731
|
if (isApplicationSaved === false) return;
|
|
1573
|
-
dataStore.
|
|
1732
|
+
await dataStore.saveMember(member.value, 'Client', memberFromApplicaiton);
|
|
1574
1733
|
}
|
|
1575
1734
|
}
|
|
1576
1735
|
await router.replace({
|
|
@@ -1609,6 +1768,7 @@ export default {
|
|
|
1609
1768
|
}
|
|
1610
1769
|
}
|
|
1611
1770
|
if (member.value.hasAgreement !== true) {
|
|
1771
|
+
if (isNonResident.value) return true;
|
|
1612
1772
|
dataStore.showToaster('error', dataStore.t('toaster.needAgreement'));
|
|
1613
1773
|
return false;
|
|
1614
1774
|
}
|
|
@@ -1623,13 +1783,17 @@ export default {
|
|
|
1623
1783
|
isSubmittingForm.value = true;
|
|
1624
1784
|
const docType = member.value.documentType.ids;
|
|
1625
1785
|
if (
|
|
1786
|
+
!isNonResident.value &&
|
|
1626
1787
|
member.value.gotFromInsis === true &&
|
|
1627
|
-
(docType ===
|
|
1788
|
+
(docType === CoreEnums.Insis.DocTypes['1UDL'] ||
|
|
1789
|
+
docType === CoreEnums.Insis.DocTypes.SBI ||
|
|
1790
|
+
docType === CoreEnums.Insis.DocTypes.PS ||
|
|
1791
|
+
docType === CoreEnums.Insis.DocTypes.VNZ)
|
|
1628
1792
|
) {
|
|
1629
1793
|
dataStore.isLoading = true;
|
|
1630
1794
|
const docTypeCodes = {
|
|
1631
1795
|
'1UDL': 1,
|
|
1632
|
-
PS:
|
|
1796
|
+
PS: 11,
|
|
1633
1797
|
SBI: 3,
|
|
1634
1798
|
VNZ: 4,
|
|
1635
1799
|
};
|
|
@@ -1654,11 +1818,11 @@ export default {
|
|
|
1654
1818
|
isSubmittingForm.value = false;
|
|
1655
1819
|
return;
|
|
1656
1820
|
}
|
|
1657
|
-
if (formStore.
|
|
1658
|
-
formStore.
|
|
1659
|
-
formStore.
|
|
1660
|
-
formStore.
|
|
1661
|
-
formStore.
|
|
1821
|
+
if (formStore.pensionApp && whichForm.value === 'insuredForm') {
|
|
1822
|
+
formStore.pensionApp.account = member.value.bankInfo.iik;
|
|
1823
|
+
formStore.pensionApp.bankBik = member.value.bankInfo.bik;
|
|
1824
|
+
formStore.pensionApp.bankBin = member.value.bankInfo.bin;
|
|
1825
|
+
formStore.pensionApp.bankId = Number(member.value.bankInfo.bankName.id);
|
|
1662
1826
|
}
|
|
1663
1827
|
}
|
|
1664
1828
|
const hasMemberSaved = await saveMember();
|
|
@@ -1666,6 +1830,23 @@ export default {
|
|
|
1666
1830
|
dataStore.isLoading = false;
|
|
1667
1831
|
dataStore.showToaster('error', errorMessage, 5000);
|
|
1668
1832
|
}
|
|
1833
|
+
} else if (isNonResident.value) {
|
|
1834
|
+
if (member.value.bankInfo.iik.length === useMask().iik.length) {
|
|
1835
|
+
const isValidIik = await dataStore.checkAccountNumber(member.value.bankInfo.iik);
|
|
1836
|
+
if (isValidIik === false) {
|
|
1837
|
+
dataStore.showToaster('error', dataStore.t('error.notValidIik'));
|
|
1838
|
+
member.value.bankInfo.iik = '';
|
|
1839
|
+
isSubmittingForm.value = false;
|
|
1840
|
+
return;
|
|
1841
|
+
}
|
|
1842
|
+
if (formStore.pensionApp && whichForm.value === 'insuredForm') {
|
|
1843
|
+
formStore.pensionApp.account = member.value.bankInfo.iik;
|
|
1844
|
+
formStore.pensionApp.bankBik = member.value.bankInfo.bik;
|
|
1845
|
+
formStore.pensionApp.bankBin = member.value.bankInfo.bin;
|
|
1846
|
+
formStore.pensionApp.bankId = Number(member.value.bankInfo.bankName.id);
|
|
1847
|
+
}
|
|
1848
|
+
}
|
|
1849
|
+
const hasMemberSaved = await saveMember();
|
|
1669
1850
|
} else {
|
|
1670
1851
|
member.value.gotFromInsis = true;
|
|
1671
1852
|
const hasMemberSaved = await saveMember();
|
|
@@ -1819,14 +2000,21 @@ export default {
|
|
|
1819
2000
|
}
|
|
1820
2001
|
if (!member.value.id) {
|
|
1821
2002
|
await router.replace({ query: { ...route.query, id: 0 } });
|
|
2003
|
+
if (dataStore.isPension) {
|
|
2004
|
+
switch (whichForm.value) {
|
|
2005
|
+
case formStore.insuredFormKey:
|
|
2006
|
+
setSignOfResidency();
|
|
2007
|
+
break;
|
|
2008
|
+
}
|
|
2009
|
+
}
|
|
1822
2010
|
} else {
|
|
1823
2011
|
if (route.query.id !== String(member.value.id)) await router.replace({ query: { ...route.query, id: member.value.id } });
|
|
1824
2012
|
if (dataStore.isLifetrip) {
|
|
1825
2013
|
const documentByPriority = (() => {
|
|
1826
2014
|
if (whichForm.value !== formStore.policyholderFormKey || formStore.isPolicyholderInsured === true) {
|
|
1827
|
-
return member.value.documentsList.find(i => i.type ===
|
|
2015
|
+
return member.value.documentsList.find(i => i.type === CoreEnums.Insis.DocTypes.PS);
|
|
1828
2016
|
}
|
|
1829
|
-
return member.value.documentsList.find(i => i.type ===
|
|
2017
|
+
return member.value.documentsList.find(i => i.type === CoreEnums.Insis.DocTypes['1UDL']);
|
|
1830
2018
|
})();
|
|
1831
2019
|
const userDocument = documentByPriority ? documentByPriority : member.value.documentsList[0];
|
|
1832
2020
|
const documentType = dataStore.documentTypes.find((i: Value) => i.ids === userDocument.type);
|
|
@@ -1837,12 +2025,10 @@ export default {
|
|
|
1837
2025
|
member.value.documentDate = reformatDate(userDocument.issueDate);
|
|
1838
2026
|
member.value.documentExpire = reformatDate(userDocument.expireDate);
|
|
1839
2027
|
}
|
|
1840
|
-
|
|
1841
|
-
// const filteredDocuments: DocumentItem[] = dataStore.getFilesByIIN(member.value.iin!.replace(/-/g, '')) as DocumentItem[];
|
|
2028
|
+
// const filteredDocuments: DocumentItem[] = dataStore.getDocsByIIN(member.value.iin!.replace(/-/g, '')) as DocumentItem[];
|
|
1842
2029
|
// if (filteredDocuments && filteredDocuments.length) memberDocument.value = filteredDocuments[0];
|
|
1843
2030
|
}
|
|
1844
2031
|
await setDefaultValues();
|
|
1845
|
-
if (Number(formStore.applicationData.processCode) === 4) dataStore.members.insuredApp.isMultiple = true;
|
|
1846
2032
|
if (hasWorkPositionDict && member.value.positionCode === null) member.value.jobPosition = null;
|
|
1847
2033
|
};
|
|
1848
2034
|
onMounted(async () => {
|
|
@@ -1891,8 +2077,33 @@ export default {
|
|
|
1891
2077
|
},
|
|
1892
2078
|
);
|
|
1893
2079
|
|
|
2080
|
+
if (dataStore.isGons) {
|
|
2081
|
+
watch(
|
|
2082
|
+
() => member.value.chooseChild,
|
|
2083
|
+
val => {
|
|
2084
|
+
if (val === dataStore.t('form.addBeneficiary')) {
|
|
2085
|
+
const idsToFind = ['14', '15', '21', '20', '24', '25', '27'];
|
|
2086
|
+
const filteredData = dataStore.relations.filter(item => idsToFind.includes(item.ids as string));
|
|
2087
|
+
filteredRelationsData.value = filteredData;
|
|
2088
|
+
} else {
|
|
2089
|
+
filteredRelationsData.value = dataStore.relations;
|
|
2090
|
+
}
|
|
2091
|
+
},
|
|
2092
|
+
{ immediate: true },
|
|
2093
|
+
);
|
|
2094
|
+
}
|
|
2095
|
+
|
|
2096
|
+
watch(
|
|
2097
|
+
() => member.value.registrationProvince,
|
|
2098
|
+
(val, oldVal) => {
|
|
2099
|
+
if (val.nameRu !== null && val.nameRu !== oldVal.nameRu && val.ids !== member.value.registrationCity.code) {
|
|
2100
|
+
member.value.registrationCity = new Value();
|
|
2101
|
+
}
|
|
2102
|
+
},
|
|
2103
|
+
);
|
|
2104
|
+
|
|
1894
2105
|
const onIinInput = () => {
|
|
1895
|
-
if (!!member.value.iin && member.value.iin.length === useMask().iin.length && memberSetting.value
|
|
2106
|
+
if (!!member.value.iin && member.value.iin.length === useMask().iin.length && memberSetting.value?.isMultiple === true) {
|
|
1896
2107
|
const alreadyInStatement = formStore[whichForm.value as MultipleMember].findIndex((i: Member) => i.iin === member.value.iin);
|
|
1897
2108
|
if (alreadyInStatement !== -1 && alreadyInStatement !== Number(whichIndex.value)) {
|
|
1898
2109
|
dataStore.showToaster('error', dataStore.t('toaster.hasAlreadyMember'), 3000);
|
|
@@ -1933,13 +2144,14 @@ export default {
|
|
|
1933
2144
|
watch(
|
|
1934
2145
|
() => member.value.age,
|
|
1935
2146
|
val => {
|
|
1936
|
-
if (val
|
|
1937
|
-
if (member.value.hasAgreement !== true) {
|
|
2147
|
+
if (val) {
|
|
2148
|
+
if (Number(val) >= 18 && member.value.hasAgreement !== true) {
|
|
1938
2149
|
member.value.hasAgreement = false;
|
|
2150
|
+
} else {
|
|
2151
|
+
member.value.hasAgreement = true;
|
|
1939
2152
|
}
|
|
1940
|
-
} else {
|
|
1941
|
-
member.value.hasAgreement = true;
|
|
1942
2153
|
}
|
|
2154
|
+
|
|
1943
2155
|
member.value.isInsuredUnderage = Number(val) >= 18 ? false : true;
|
|
1944
2156
|
},
|
|
1945
2157
|
{ immediate: true },
|
|
@@ -1955,15 +2167,35 @@ export default {
|
|
|
1955
2167
|
);
|
|
1956
2168
|
}
|
|
1957
2169
|
if (dataStore.isPension) {
|
|
1958
|
-
|
|
1959
|
-
(
|
|
1960
|
-
|
|
1961
|
-
|
|
1962
|
-
|
|
1963
|
-
|
|
1964
|
-
|
|
1965
|
-
|
|
1966
|
-
|
|
2170
|
+
if (member.value.bankInfo) {
|
|
2171
|
+
watch(
|
|
2172
|
+
() => member.value.bankInfo.iik,
|
|
2173
|
+
async val => {
|
|
2174
|
+
if (val && val.length === 20) {
|
|
2175
|
+
if (
|
|
2176
|
+
route.query.tab === 'slaveInsuredForm'
|
|
2177
|
+
? formStore.insuredForm.some(i => i.bankInfo.iik === val)
|
|
2178
|
+
: formStore.applicationData.processCode === 25 && val === formStore.slaveInsuredForm.bankInfo.iik
|
|
2179
|
+
) {
|
|
2180
|
+
dataStore.showToaster('error', `ИИК: "${val}" уже имеется в заявке`);
|
|
2181
|
+
member.value.bankInfo = new BankInfoClass();
|
|
2182
|
+
return;
|
|
2183
|
+
}
|
|
2184
|
+
isButtonLoading.value = true;
|
|
2185
|
+
const bank = await dataStore.getBankByAccountNumber(val);
|
|
2186
|
+
if (bank) {
|
|
2187
|
+
member.value.bankInfo.bik = String(bank.code);
|
|
2188
|
+
member.value.bankInfo.bin = member.value.bankInfo.bankName.ids = reformatIin(String(bank.ids));
|
|
2189
|
+
member.value.bankInfo.bankName.nameRu = String(bank.nameRu);
|
|
2190
|
+
member.value.bankInfo.bankName.id = Number(bank.id);
|
|
2191
|
+
} else member.value.bankInfo = new BankInfoClass();
|
|
2192
|
+
isButtonLoading.value = false;
|
|
2193
|
+
} else if (!val) {
|
|
2194
|
+
member.value.bankInfo = new BankInfoClass();
|
|
2195
|
+
}
|
|
2196
|
+
},
|
|
2197
|
+
);
|
|
2198
|
+
}
|
|
1967
2199
|
watch(
|
|
1968
2200
|
() => member.value.isDisability,
|
|
1969
2201
|
val => {
|
|
@@ -2000,11 +2232,15 @@ export default {
|
|
|
2000
2232
|
familyDialog,
|
|
2001
2233
|
deletionDialog,
|
|
2002
2234
|
documentChooseDialog,
|
|
2235
|
+
fioChooseDialog,
|
|
2003
2236
|
selectedIndex,
|
|
2004
2237
|
selectedFamilyMember,
|
|
2005
2238
|
sameAddress,
|
|
2006
2239
|
isRelative,
|
|
2007
2240
|
imageDataList,
|
|
2241
|
+
contragents,
|
|
2242
|
+
filteredRelationsData,
|
|
2243
|
+
|
|
2008
2244
|
// Computed
|
|
2009
2245
|
whichForm,
|
|
2010
2246
|
whichIndex,
|
|
@@ -2014,7 +2250,6 @@ export default {
|
|
|
2014
2250
|
isDisabled,
|
|
2015
2251
|
isTask,
|
|
2016
2252
|
isIinPhoneDisabled,
|
|
2017
|
-
isFromGBD,
|
|
2018
2253
|
showSaveButton,
|
|
2019
2254
|
hasGBDFL,
|
|
2020
2255
|
hasInsis,
|
|
@@ -2026,10 +2261,14 @@ export default {
|
|
|
2026
2261
|
hasInsurancePay,
|
|
2027
2262
|
hasSignOfIPDL,
|
|
2028
2263
|
hasSameAddressToggle,
|
|
2264
|
+
hasIssuerOther,
|
|
2029
2265
|
hasMemberSearch,
|
|
2030
2266
|
hasWorkPositionDict,
|
|
2031
2267
|
gbdDocuments,
|
|
2032
2268
|
hasGBDFLDocSelection,
|
|
2269
|
+
isNonResident,
|
|
2270
|
+
isDataFromGov,
|
|
2271
|
+
isChooseChild,
|
|
2033
2272
|
|
|
2034
2273
|
// Rules
|
|
2035
2274
|
ageRule,
|
|
@@ -2038,6 +2277,8 @@ export default {
|
|
|
2038
2277
|
birthDateRule,
|
|
2039
2278
|
|
|
2040
2279
|
// Functions
|
|
2280
|
+
getToday,
|
|
2281
|
+
addChild,
|
|
2041
2282
|
searchMember,
|
|
2042
2283
|
openPanel,
|
|
2043
2284
|
openCustomPanel,
|
|
@@ -2051,7 +2292,7 @@ export default {
|
|
|
2051
2292
|
attachFile,
|
|
2052
2293
|
attachDocumentReader,
|
|
2053
2294
|
getDocumentReader,
|
|
2054
|
-
|
|
2295
|
+
getDoc,
|
|
2055
2296
|
selectFamilyMember,
|
|
2056
2297
|
closeFamilyDialog,
|
|
2057
2298
|
openDeletionDialog,
|
|
@@ -2063,6 +2304,7 @@ export default {
|
|
|
2063
2304
|
searchPositions,
|
|
2064
2305
|
selectGbdDocument,
|
|
2065
2306
|
pickPosition,
|
|
2307
|
+
getContragentClick,
|
|
2066
2308
|
};
|
|
2067
2309
|
},
|
|
2068
2310
|
};
|