hl-core 0.0.9-beta.50 → 0.0.9-beta.52
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 +121 -3
- package/components/Form/ManagerAttachment.vue +1 -1
- package/components/Input/Datepicker.vue +5 -0
- package/components/Input/FormInput.vue +5 -0
- package/components/Input/RoundedSelect.vue +5 -0
- package/components/Pages/Auth.vue +9 -3
- package/components/Pages/Documents.vue +141 -52
- package/components/Pages/MemberForm.vue +247 -22
- package/components/Pages/ProductConditions.vue +210 -13
- package/components/Panel/PanelHandler.vue +220 -31
- package/composables/classes.ts +31 -3
- package/composables/constants.ts +11 -2
- package/composables/index.ts +44 -15
- package/locales/ru.json +84 -6
- package/package.json +4 -3
- package/store/data.store.ts +315 -35
- package/store/rules.ts +13 -0
- package/types/enum.ts +18 -0
- package/types/index.ts +6 -3
|
@@ -23,12 +23,32 @@
|
|
|
23
23
|
</div>
|
|
24
24
|
<v-btn class="ml-2" icon="mdi-plus !text-[24px]" @click="memberStore.addMember(whichForm)" size="small" color="#A0B3D8" variant="tonal" />
|
|
25
25
|
</div>
|
|
26
|
+
<base-form-section
|
|
27
|
+
v-if="$dataStore.hasFamilyTiesSection(whichForm)"
|
|
28
|
+
:title="$dataStore.t('pension.familyTies')"
|
|
29
|
+
:class="[memberSetting && memberSetting.has === true && memberSetting.isMultiple === true ? 'rounded-t-0 !mt-[-5px]' : 'mt-[14px]']"
|
|
30
|
+
>
|
|
31
|
+
<base-form-toggle v-model="isRelative" :disabled="isDisabled" :title="$dataStore.t('pension.ifHasRelationBeneficiary')" :has-border="false" :show-value="false" />
|
|
32
|
+
<base-fade-transition>
|
|
33
|
+
<div class="flex flex-col gap-[1px]" v-if="isRelative">
|
|
34
|
+
<base-panel-input
|
|
35
|
+
v-model="formStore.applicationData.insuredApp.iin"
|
|
36
|
+
:maska="$maska.iin"
|
|
37
|
+
:readonly="isDisabled"
|
|
38
|
+
:clearable="false"
|
|
39
|
+
:label="$dataStore.t('pension.insuredIIN')"
|
|
40
|
+
append-inner-icon="mdi mdi-chevron-right"
|
|
41
|
+
@append="searchMember"
|
|
42
|
+
/>
|
|
43
|
+
</div>
|
|
44
|
+
</base-fade-transition>
|
|
45
|
+
</base-form-section>
|
|
26
46
|
<base-form-section
|
|
27
47
|
:title="$dataStore.t('form.personalData')"
|
|
28
48
|
:class="[memberSetting && memberSetting.has === true && memberSetting.isMultiple === true ? 'rounded-t-0 !mt-[-5px]' : 'mt-[14px]']"
|
|
29
49
|
>
|
|
30
50
|
<base-panel-input
|
|
31
|
-
v-if="$dataStore.isLifetrip"
|
|
51
|
+
v-if="$dataStore.isLifetrip || $dataStore.isPension"
|
|
32
52
|
v-model="member.signOfResidency"
|
|
33
53
|
:value="member.signOfResidency?.nameRu"
|
|
34
54
|
:label="$dataStore.t('form.signOfResidency')"
|
|
@@ -50,7 +70,7 @@
|
|
|
50
70
|
:maska="$maska.phone"
|
|
51
71
|
:readonly="!!isDisabled || !!isIinPhoneDisabled"
|
|
52
72
|
:clearable="!isDisabled"
|
|
53
|
-
:append-inner-icon="otpCondition ? 'mdi mdi-phone-message' : ''"
|
|
73
|
+
:append-inner-icon="otpCondition ? `${$dataStore.isPension ? 'mdi-message-text' : 'mdi mdi-phone-message'}` : ''"
|
|
54
74
|
@append="openCustomPanel('otp')"
|
|
55
75
|
@keyup.enter.prevent="otpCondition ? openCustomPanel('otp') : null"
|
|
56
76
|
:rules="phoneRule"
|
|
@@ -115,7 +135,29 @@
|
|
|
115
135
|
:maska="$maska.date"
|
|
116
136
|
append-inner-icon="mdi mdi-calendar-blank-outline"
|
|
117
137
|
/>
|
|
118
|
-
<
|
|
138
|
+
<div v-if="$dataStore.isPension">
|
|
139
|
+
<base-panel-input
|
|
140
|
+
v-model="member.countryOfCitizenship"
|
|
141
|
+
:value="member.countryOfCitizenship?.nameRu"
|
|
142
|
+
:label="$dataStore.t('form.countryOfCitizenship')"
|
|
143
|
+
:readonly="isDisabled"
|
|
144
|
+
:clearable="!isDisabled"
|
|
145
|
+
:rules="$rules.objectRequired"
|
|
146
|
+
append-inner-icon="mdi mdi-chevron-right"
|
|
147
|
+
@append="openPanel($dataStore.t('form.countryOfCitizenship'), [], 'countryOfCitizenship', $dataStore.getCitizenshipCountries)"
|
|
148
|
+
/>
|
|
149
|
+
<base-panel-input
|
|
150
|
+
v-model="member.birthPlace"
|
|
151
|
+
:value="member.birthPlace?.nameRu"
|
|
152
|
+
:label="$dataStore.t('form.birthData')"
|
|
153
|
+
:readonly="isDisabled"
|
|
154
|
+
:clearable="!isDisabled"
|
|
155
|
+
:rules="$rules.objectRequired"
|
|
156
|
+
append-inner-icon="mdi mdi-chevron-right"
|
|
157
|
+
@append="openPanel($dataStore.t('form.Country'), [], 'birthPlace', $dataStore.getCountries)"
|
|
158
|
+
/>
|
|
159
|
+
</div>
|
|
160
|
+
<base-form-input v-if="!$dataStore.isPension" v-model="member.age" :label="$dataStore.t('form.age')" :readonly="true" :clearable="!isDisabled" :rules="ageRule" />
|
|
119
161
|
<base-panel-input
|
|
120
162
|
v-model="member.gender"
|
|
121
163
|
:value="member.gender?.nameRu"
|
|
@@ -157,6 +199,25 @@
|
|
|
157
199
|
:rules="$rules.required.concat($rules.numbers)"
|
|
158
200
|
/>
|
|
159
201
|
</base-form-section>
|
|
202
|
+
<base-form-section
|
|
203
|
+
v-if="$dataStore.isPension && (whichForm === formStore.insuredFormKey || whichForm === formStore.beneficiaryFormKey)"
|
|
204
|
+
:title="$dataStore.t('pension.disabilityInfo')"
|
|
205
|
+
>
|
|
206
|
+
<base-form-toggle v-model="member.isDisability" :title="$dataStore.t('pension.ifHasDisability')" :disabled="isDisabled" :has-border="false" />
|
|
207
|
+
<base-animation>
|
|
208
|
+
<base-panel-input
|
|
209
|
+
v-if="member.isDisability"
|
|
210
|
+
v-model="member.disabilityGroup"
|
|
211
|
+
:value="member.disabilityGroup?.nameRu"
|
|
212
|
+
:readonly="isDisabled"
|
|
213
|
+
:clearable="!isDisabled"
|
|
214
|
+
:label="$dataStore.t('pension.disabilityGroup')"
|
|
215
|
+
:rules="$rules.objectRequired"
|
|
216
|
+
append-inner-icon="mdi mdi-chevron-right"
|
|
217
|
+
@append="openPanel($dataStore.t('pension.disabilityGroup'), $dataStore.disabilityGroups, 'disabilityGroup', $dataStore.getDisabilityGroups)"
|
|
218
|
+
/>
|
|
219
|
+
</base-animation>
|
|
220
|
+
</base-form-section>
|
|
160
221
|
<base-form-section :title="$dataStore.t('policyholdersRepresentative.PowerOfAttorney')" v-if="whichForm === formStore.policyholdersRepresentativeFormKey">
|
|
161
222
|
<base-form-input
|
|
162
223
|
v-model.trim="member.fullNameRod"
|
|
@@ -333,7 +394,7 @@
|
|
|
333
394
|
<base-form-input v-model.trim="member.registrationMicroDistrict" :readonly="isDisabled" :clearable="!isDisabled" :label="$dataStore.t('form.MicroDistrict')" />
|
|
334
395
|
<base-form-input
|
|
335
396
|
v-model.trim="member.registrationStreet"
|
|
336
|
-
:rules="member.isInsuredUnderage ? [] : $rules.required"
|
|
397
|
+
:rules="member.isInsuredUnderage || $dataStore.isAULETTI || $dataStore.isAulettiParent ? [] : $rules.required"
|
|
337
398
|
:readonly="isDisabled"
|
|
338
399
|
:clearable="!isDisabled"
|
|
339
400
|
:label="$dataStore.t('form.Street')"
|
|
@@ -427,7 +488,7 @@
|
|
|
427
488
|
/>
|
|
428
489
|
</base-fade-transition>
|
|
429
490
|
<base-panel-input
|
|
430
|
-
v-if="!$dataStore.isLifetrip"
|
|
491
|
+
v-if="!$dataStore.isLifetrip && !$dataStore.isPension"
|
|
431
492
|
v-model="member.signOfResidency"
|
|
432
493
|
:value="member.signOfResidency?.nameRu"
|
|
433
494
|
:label="$dataStore.t('form.signOfResidency')"
|
|
@@ -464,7 +525,7 @@
|
|
|
464
525
|
v-if="hasSignOfIPDL"
|
|
465
526
|
v-model="member.signOfIPDL"
|
|
466
527
|
:value="member.signOfIPDL?.nameRu"
|
|
467
|
-
:label="$dataStore.t('form.signOfIPDL')"
|
|
528
|
+
:label="$dataStore.isPension ? $dataStore.t('form.signOfPDL') : $dataStore.t('form.signOfIPDL')"
|
|
468
529
|
:readonly="isDisabled"
|
|
469
530
|
:clearable="!isDisabled"
|
|
470
531
|
:rules="$rules.objectRequired"
|
|
@@ -472,6 +533,7 @@
|
|
|
472
533
|
@append="openPanel($dataStore.t('form.signOfIPDL'), $dataStore.ipdl, 'signOfIPDL')"
|
|
473
534
|
/>
|
|
474
535
|
<base-panel-input
|
|
536
|
+
v-if="!$dataStore.isPension"
|
|
475
537
|
v-model="member.countryOfCitizenship"
|
|
476
538
|
:value="member.countryOfCitizenship?.nameRu"
|
|
477
539
|
:label="$dataStore.t('form.countryOfCitizenship')"
|
|
@@ -503,6 +565,61 @@
|
|
|
503
565
|
@append="openPanel($dataStore.t('form.insurancePay'), $dataStore.insurancePay, 'insurancePay', $dataStore.getInsurancePay)"
|
|
504
566
|
/>
|
|
505
567
|
</base-form-section>
|
|
568
|
+
<base-form-section v-if="$dataStore.hasBankSection(whichForm)" :title="$dataStore.t('bankDetailsForm.title')">
|
|
569
|
+
<base-form-input
|
|
570
|
+
v-model="member.bankInfo.iik"
|
|
571
|
+
:label="$dataStore.t('clients.form.iik')"
|
|
572
|
+
:maska="$maska.iik"
|
|
573
|
+
:readonly="isDisabled"
|
|
574
|
+
:clearable="!isDisabled"
|
|
575
|
+
:rules="$rules.required.concat($rules.iik)"
|
|
576
|
+
/>
|
|
577
|
+
<base-panel-input
|
|
578
|
+
v-model="member.bankInfo.bankName"
|
|
579
|
+
:value="member.bankInfo.bankName.nameRu"
|
|
580
|
+
:label="$dataStore.t('clients.form.nameBank')"
|
|
581
|
+
:readonly="isDisabled"
|
|
582
|
+
:clearable="!isDisabled"
|
|
583
|
+
:rules="$rules.objectRequired"
|
|
584
|
+
append-inner-icon="mdi mdi-chevron-right"
|
|
585
|
+
@append="openPanel($dataStore.t('clients.form.nameBank'), [], 'bankInfo', $dataStore.getBanks, '', 'bankName')"
|
|
586
|
+
/>
|
|
587
|
+
<base-form-input
|
|
588
|
+
v-model.trim="member.bankInfo.bin"
|
|
589
|
+
:label="$dataStore.t('form.bin')"
|
|
590
|
+
:maska="$maska.iin"
|
|
591
|
+
:readonly="isDisabled"
|
|
592
|
+
:clearable="!isDisabled"
|
|
593
|
+
:rules="$rules.required.concat($rules.iinRight)"
|
|
594
|
+
/>
|
|
595
|
+
<base-form-input v-model="member.bankInfo.bik" :label="$dataStore.t('clients.form.bik')" :readonly="isDisabled" :clearable="!isDisabled" :rules="$rules.required" />
|
|
596
|
+
</base-form-section>
|
|
597
|
+
<base-form-section v-if="$dataStore.hasAdditionalDocumentsSection(whichForm)" :title="$dataStore.t('form.phDocuments')">
|
|
598
|
+
<base-file-input
|
|
599
|
+
:label="$dataStore.t('form.identyDocument')"
|
|
600
|
+
:disabled="isDisabled"
|
|
601
|
+
:clearable="!isDisabled"
|
|
602
|
+
icon="mdi-paperclip"
|
|
603
|
+
@input="attachFile($event, '1')"
|
|
604
|
+
:rules="$rules.required"
|
|
605
|
+
/>
|
|
606
|
+
<base-file-input
|
|
607
|
+
:label="$dataStore.t('form.bankStatement')"
|
|
608
|
+
:disabled="isDisabled"
|
|
609
|
+
:clearable="!isDisabled"
|
|
610
|
+
icon="mdi-paperclip"
|
|
611
|
+
@input="attachFile($event, '10')"
|
|
612
|
+
:rules="$rules.required"
|
|
613
|
+
/>
|
|
614
|
+
<base-file-input
|
|
615
|
+
:label="$dataStore.t('pension.ENPFnote')"
|
|
616
|
+
:disabled="isDisabled"
|
|
617
|
+
:clearable="!isDisabled"
|
|
618
|
+
icon="mdi-paperclip"
|
|
619
|
+
@input="attachFile($event, '8')"
|
|
620
|
+
:rules="$rules.required"
|
|
621
|
+
/>
|
|
622
|
+
</base-form-section>
|
|
506
623
|
<base-form-section :title="$dataStore.t('form.contactsData')" v-if="$dataStore.hasContactSection(whichForm)">
|
|
507
624
|
<base-form-input
|
|
508
625
|
v-model="member.homePhone"
|
|
@@ -635,6 +752,10 @@ export default {
|
|
|
635
752
|
const searchQuery = ref<string>('');
|
|
636
753
|
const fileData = ref<{ file: any }>();
|
|
637
754
|
const imageDataList = ref<string[]>([]);
|
|
755
|
+
const isRelative = ref<boolean>(false);
|
|
756
|
+
|
|
757
|
+
const currentPanelDeep = ref<string>();
|
|
758
|
+
const currentPanelSubDeep = ref<string>();
|
|
638
759
|
|
|
639
760
|
const memberSetting = computed(() => dataStore.members[memberStore.getMemberApplicationCode(whichForm.value)!]);
|
|
640
761
|
const hasOtp = computed(() => member.value.otpCode && member.value.otpCode.length === useMask().otp.length);
|
|
@@ -649,6 +770,10 @@ export default {
|
|
|
649
770
|
case formStore.policyholderFormKey:
|
|
650
771
|
return true;
|
|
651
772
|
case formStore.insuredFormKey:
|
|
773
|
+
if (dataStore.isPension) {
|
|
774
|
+
return true;
|
|
775
|
+
}
|
|
776
|
+
return route.params.taskId !== '0';
|
|
652
777
|
case formStore.beneficiaryFormKey:
|
|
653
778
|
case formStore.beneficialOwnerFormKey:
|
|
654
779
|
case formStore.policyholdersRepresentativeFormKey:
|
|
@@ -709,7 +834,7 @@ export default {
|
|
|
709
834
|
return false;
|
|
710
835
|
}
|
|
711
836
|
};
|
|
712
|
-
return dataStore.controls.hasGKB && !!dataStore.isTask() && perMemberCondition();
|
|
837
|
+
return dataStore.isAULETTI || dataStore.isAulettiParent ? false : dataStore.controls.hasGKB && !!dataStore.isTask() && perMemberCondition();
|
|
713
838
|
});
|
|
714
839
|
const hasDocumentReader = computed(() => {
|
|
715
840
|
return !!member.value.hasAgreement && !!isTask.value && (dataStore.isAULETTI || dataStore.isAulettiParent);
|
|
@@ -722,7 +847,7 @@ export default {
|
|
|
722
847
|
return true;
|
|
723
848
|
});
|
|
724
849
|
const hasRelationDegree = computed(() => {
|
|
725
|
-
if (dataStore.isLifetrip) {
|
|
850
|
+
if (dataStore.isLifetrip || dataStore.isPension) {
|
|
726
851
|
return false;
|
|
727
852
|
}
|
|
728
853
|
if ((whichForm.value === formStore.beneficiaryFormKey || whichForm.value === formStore.insuredFormKey) && member.value.iin !== formStore.policyholderForm.iin) {
|
|
@@ -731,7 +856,7 @@ export default {
|
|
|
731
856
|
return false;
|
|
732
857
|
});
|
|
733
858
|
const hasFamilyStatus = computed(() => {
|
|
734
|
-
if (dataStore.isLifetrip) {
|
|
859
|
+
if (dataStore.isLifetrip || dataStore.isPension) {
|
|
735
860
|
return false;
|
|
736
861
|
}
|
|
737
862
|
if (whichForm.value === formStore.beneficiaryFormKey) {
|
|
@@ -833,8 +958,10 @@ export default {
|
|
|
833
958
|
switch (whichForm.value) {
|
|
834
959
|
case formStore.policyholderFormKey:
|
|
835
960
|
return route.params.taskId === '0';
|
|
836
|
-
case formStore.policyholdersRepresentativeFormKey:
|
|
837
961
|
case formStore.insuredFormKey:
|
|
962
|
+
if (dataStore.isPension) return route.params.taskId === '0';
|
|
963
|
+
return route.query.id === '0';
|
|
964
|
+
case formStore.policyholdersRepresentativeFormKey:
|
|
838
965
|
case formStore.beneficiaryFormKey:
|
|
839
966
|
case formStore.beneficialOwnerFormKey:
|
|
840
967
|
return route.query.id === '0';
|
|
@@ -886,7 +1013,7 @@ export default {
|
|
|
886
1013
|
dataStore.rightPanel.open = true;
|
|
887
1014
|
};
|
|
888
1015
|
|
|
889
|
-
const openPanel = async (title: string, list: Value[], key: string, asyncFunction?: Function, filterKey?: string) => {
|
|
1016
|
+
const openPanel = async (title: string, list: Value[], key: string, asyncFunction?: Function, filterKey?: string, deepKey?: string, subDeepKey?: string) => {
|
|
890
1017
|
if (!isDisabled.value) {
|
|
891
1018
|
isSearchOpen.value = false;
|
|
892
1019
|
isDocumentOpen.value = false;
|
|
@@ -907,10 +1034,35 @@ export default {
|
|
|
907
1034
|
let newList = list;
|
|
908
1035
|
if (asyncFunction) {
|
|
909
1036
|
isPanelLoading.value = true;
|
|
910
|
-
|
|
1037
|
+
const filterKeys: any = {};
|
|
1038
|
+
if (!!subDeepKey) {
|
|
1039
|
+
filterKeys.key = key;
|
|
1040
|
+
filterKeys.deepKey = deepKey;
|
|
1041
|
+
filterKeys.subDeepKey = filterKey;
|
|
1042
|
+
} else {
|
|
1043
|
+
if (!!deepKey) {
|
|
1044
|
+
filterKeys.key = key;
|
|
1045
|
+
filterKeys.deepKey = filterKey;
|
|
1046
|
+
} else {
|
|
1047
|
+
filterKeys.key = filterKey;
|
|
1048
|
+
}
|
|
1049
|
+
}
|
|
1050
|
+
newList = await asyncFunction(filterKey, member.value, filterKeys);
|
|
911
1051
|
}
|
|
912
1052
|
panelList.value = filterList(newList, key);
|
|
913
|
-
panelValue.value =
|
|
1053
|
+
panelValue.value = !!deepKey
|
|
1054
|
+
? !!subDeepKey
|
|
1055
|
+
? //@ts-ignore
|
|
1056
|
+
member.value[currentPanel.value][deepKey as any][subDeepKey as any]
|
|
1057
|
+
: //@ts-ignore
|
|
1058
|
+
member.value[currentPanel.value][deepKey as any]
|
|
1059
|
+
: member.value[currentPanel.value];
|
|
1060
|
+
if (!!deepKey) {
|
|
1061
|
+
currentPanelDeep.value = deepKey;
|
|
1062
|
+
if (!!subDeepKey) {
|
|
1063
|
+
currentPanelSubDeep.value = subDeepKey;
|
|
1064
|
+
}
|
|
1065
|
+
}
|
|
914
1066
|
isPanelLoading.value = false;
|
|
915
1067
|
} else {
|
|
916
1068
|
dataStore.showToaster('error', dataStore.t('toaster.viewErrorText'));
|
|
@@ -934,11 +1086,24 @@ export default {
|
|
|
934
1086
|
};
|
|
935
1087
|
|
|
936
1088
|
const pickPanelValue = (item: Value) => {
|
|
1089
|
+
if (!currentPanel.value) return;
|
|
937
1090
|
if (formStore.isDisabled[whichForm.value as keyof typeof formStore.isDisabled] === false) {
|
|
938
1091
|
dataStore.rightPanel.open = false;
|
|
939
1092
|
isPanelOpen.value = false;
|
|
940
|
-
|
|
941
|
-
|
|
1093
|
+
if (!!currentPanelDeep.value) {
|
|
1094
|
+
if (!!currentPanelSubDeep.value) {
|
|
1095
|
+
//@ts-ignore
|
|
1096
|
+
member.value[currentPanel.value][currentPanelDeep.value][currentPanelSubDeep.value] = item.nameRu === null ? new Value() : item;
|
|
1097
|
+
} else {
|
|
1098
|
+
//@ts-ignore
|
|
1099
|
+
member.value[currentPanel.value][currentPanelDeep.value] = item.nameRu === null ? new Value() : item;
|
|
1100
|
+
}
|
|
1101
|
+
} else {
|
|
1102
|
+
// @ts-ignore
|
|
1103
|
+
member.value[currentPanel.value] = item.nameRu === null ? new Value() : item;
|
|
1104
|
+
}
|
|
1105
|
+
currentPanelDeep.value = '';
|
|
1106
|
+
currentPanelSubDeep.value = '';
|
|
942
1107
|
} else {
|
|
943
1108
|
dataStore.showToaster('error', dataStore.t('toaster.viewErrorText'));
|
|
944
1109
|
}
|
|
@@ -967,12 +1132,12 @@ export default {
|
|
|
967
1132
|
}
|
|
968
1133
|
};
|
|
969
1134
|
|
|
970
|
-
const attachFile = (event: InputEvent) => {
|
|
1135
|
+
const attachFile = (event: InputEvent, code?: string) => {
|
|
971
1136
|
if (event.target) {
|
|
972
|
-
fileData.value = { file: (event.target as HTMLInputElement).files };
|
|
1137
|
+
fileData.value = code ? { file: (event.target as HTMLInputElement).files } : { file: (event.target as HTMLInputElement).files };
|
|
973
1138
|
} else {
|
|
974
1139
|
if (event.dataTransfer) {
|
|
975
|
-
fileData.value = { file: (event.dataTransfer as DataTransfer).files };
|
|
1140
|
+
fileData.value = code ? { file: (event.dataTransfer as DataTransfer).files } : { file: (event.dataTransfer as DataTransfer).files };
|
|
976
1141
|
}
|
|
977
1142
|
}
|
|
978
1143
|
};
|
|
@@ -1191,10 +1356,10 @@ export default {
|
|
|
1191
1356
|
}
|
|
1192
1357
|
const isInsured = formStore.isPolicyholderInsured;
|
|
1193
1358
|
const remoteIsInsured = ref<boolean | null>(null);
|
|
1194
|
-
if (whichForm.value == formStore.policyholderFormKey) {
|
|
1359
|
+
if (whichForm.value == formStore.policyholderFormKey || (dataStore.isPension && whichForm.value == formStore.insuredFormKey)) {
|
|
1195
1360
|
if (route.params.taskId === '0') {
|
|
1196
1361
|
try {
|
|
1197
|
-
const taskId = await dataStore.startApplication(member.value);
|
|
1362
|
+
const taskId = await dataStore.startApplication(member.value, dataStore.isPension ? (String(route.query.type) === 'joint' ? 4 : 1) : undefined);
|
|
1198
1363
|
if (typeof taskId === 'string') {
|
|
1199
1364
|
await dataStore.getApplicationData(taskId, false, false, false, false);
|
|
1200
1365
|
remoteIsInsured.value = formStore.applicationData.clientApp.isInsured;
|
|
@@ -1243,6 +1408,25 @@ export default {
|
|
|
1243
1408
|
}
|
|
1244
1409
|
if (whichForm.value === formStore.insuredFormKey) {
|
|
1245
1410
|
wasInsuredAction.value = true;
|
|
1411
|
+
if (dataStore.isPension) {
|
|
1412
|
+
formStore.applicationData.pensionApp = {
|
|
1413
|
+
...formStore.applicationData.pensionApp,
|
|
1414
|
+
account: member.value.bankInfo.iik,
|
|
1415
|
+
bankBik: member.value.bankInfo.bik,
|
|
1416
|
+
bankBin: member.value.bankInfo.bankName.ids,
|
|
1417
|
+
bankId: member.value.bankInfo.bankName.id,
|
|
1418
|
+
bankName: member.value.bankInfo.bankName.nameRu,
|
|
1419
|
+
guaranteedPeriod: 0,
|
|
1420
|
+
amount: 0,
|
|
1421
|
+
compulsoryContractAmount: 0,
|
|
1422
|
+
voluntaryContractAmount: 0,
|
|
1423
|
+
ownFundsRaisAmount: 0,
|
|
1424
|
+
compulsoryProfContractAmount: 0,
|
|
1425
|
+
};
|
|
1426
|
+
const isApplicationSaved = await dataStore.setApplication(formStore.applicationData.pensionApp);
|
|
1427
|
+
if (isApplicationSaved === false) return;
|
|
1428
|
+
dataStore.showToaster('info', dataStore.t('toaster.needToRecalculate'), 5000);
|
|
1429
|
+
}
|
|
1246
1430
|
}
|
|
1247
1431
|
await router.replace({
|
|
1248
1432
|
name: route.name!,
|
|
@@ -1266,6 +1450,9 @@ export default {
|
|
|
1266
1450
|
};
|
|
1267
1451
|
|
|
1268
1452
|
const validateAgreement = () => {
|
|
1453
|
+
if (dataStore.isPension && whichForm.value === formStore.policyholdersRepresentativeFormKey) {
|
|
1454
|
+
return true;
|
|
1455
|
+
}
|
|
1269
1456
|
if (whichForm.value === formStore.beneficiaryFormKey) {
|
|
1270
1457
|
if (member.value.age !== null && Number(member.value.age) < 18) {
|
|
1271
1458
|
return true;
|
|
@@ -1309,6 +1496,22 @@ export default {
|
|
|
1309
1496
|
if (typeof ESBDResponse === 'object' && ESBDResponse.errorCode === 0) {
|
|
1310
1497
|
member.value.verifyType = 'ESBD';
|
|
1311
1498
|
member.value.verifyDate = ESBDResponse.verifiedDate;
|
|
1499
|
+
|
|
1500
|
+
if (member.value.bankInfo.iik.length === useMask().iik.length) {
|
|
1501
|
+
const isValidIik = await dataStore.checkAccountNumber(member.value.bankInfo.iik);
|
|
1502
|
+
if (isValidIik === false) {
|
|
1503
|
+
dataStore.showToaster('error', dataStore.t('error.notValidIik'));
|
|
1504
|
+
member.value.bankInfo.iik = '';
|
|
1505
|
+
isSubmittingForm.value = false;
|
|
1506
|
+
return;
|
|
1507
|
+
}
|
|
1508
|
+
if (formStore.applicationData.pensionApp) {
|
|
1509
|
+
formStore.applicationData.pensionApp.account = member.value.bankInfo.iik;
|
|
1510
|
+
formStore.applicationData.pensionApp.bankBik = member.value.bankInfo.bik;
|
|
1511
|
+
formStore.applicationData.pensionApp.bankBin = member.value.bankInfo.bin;
|
|
1512
|
+
formStore.applicationData.pensionApp.bankId = member.value.bankInfo.bankName.id;
|
|
1513
|
+
}
|
|
1514
|
+
}
|
|
1312
1515
|
const hasMemberSaved = await saveMember();
|
|
1313
1516
|
} else {
|
|
1314
1517
|
dataStore.isLoading = false;
|
|
@@ -1473,8 +1676,8 @@ export default {
|
|
|
1473
1676
|
// if (filteredDocuments && filteredDocuments.length) memberDocument.value = filteredDocuments[0];
|
|
1474
1677
|
}
|
|
1475
1678
|
await setDefaultValues();
|
|
1679
|
+
if (Number(formStore.applicationData.processCode) === 4) dataStore.members.insuredApp.isMultiple = true;
|
|
1476
1680
|
};
|
|
1477
|
-
|
|
1478
1681
|
onMounted(async () => {
|
|
1479
1682
|
await onInit();
|
|
1480
1683
|
});
|
|
@@ -1545,6 +1748,8 @@ export default {
|
|
|
1545
1748
|
isSearchOpen.value = false;
|
|
1546
1749
|
isOtpPanelOpen.value = false;
|
|
1547
1750
|
dataStore.panelAction = null;
|
|
1751
|
+
currentPanelDeep.value = '';
|
|
1752
|
+
currentPanelSubDeep.value = '';
|
|
1548
1753
|
}
|
|
1549
1754
|
},
|
|
1550
1755
|
{ immediate: true },
|
|
@@ -1579,6 +1784,26 @@ export default {
|
|
|
1579
1784
|
},
|
|
1580
1785
|
);
|
|
1581
1786
|
}
|
|
1787
|
+
if (dataStore.isPension) {
|
|
1788
|
+
watch(
|
|
1789
|
+
() => member.value.bankInfo.bankName,
|
|
1790
|
+
val => {
|
|
1791
|
+
if (val) {
|
|
1792
|
+
member.value.bankInfo.bik = val.code as string;
|
|
1793
|
+
member.value.bankInfo.bin = reformatIin(val.ids as string);
|
|
1794
|
+
}
|
|
1795
|
+
},
|
|
1796
|
+
);
|
|
1797
|
+
watch(
|
|
1798
|
+
() => member.value.isDisability,
|
|
1799
|
+
val => {
|
|
1800
|
+
if (!val) member.value.disabilityGroup = new Value();
|
|
1801
|
+
},
|
|
1802
|
+
{
|
|
1803
|
+
immediate: true,
|
|
1804
|
+
},
|
|
1805
|
+
);
|
|
1806
|
+
}
|
|
1582
1807
|
|
|
1583
1808
|
return {
|
|
1584
1809
|
// State
|
|
@@ -1605,8 +1830,8 @@ export default {
|
|
|
1605
1830
|
selectedIndex,
|
|
1606
1831
|
selectedFamilyMember,
|
|
1607
1832
|
sameAddress,
|
|
1833
|
+
isRelative,
|
|
1608
1834
|
imageDataList,
|
|
1609
|
-
|
|
1610
1835
|
// Computed
|
|
1611
1836
|
whichForm,
|
|
1612
1837
|
whichIndex,
|