hl-core 0.0.9-beta.50 → 0.0.9-beta.51
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 +110 -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 +137 -52
- package/components/Pages/MemberForm.vue +240 -20
- package/components/Pages/ProductConditions.vue +178 -13
- package/components/Panel/PanelHandler.vue +201 -33
- package/composables/classes.ts +23 -0
- package/composables/constants.ts +14 -2
- package/composables/index.ts +21 -15
- package/locales/ru.json +72 -5
- package/package.json +4 -3
- package/store/data.store.ts +279 -33
- package/store/rules.ts +17 -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,27 @@
|
|
|
157
199
|
:rules="$rules.required.concat($rules.numbers)"
|
|
158
200
|
/>
|
|
159
201
|
</base-form-section>
|
|
202
|
+
|
|
203
|
+
<base-form-section
|
|
204
|
+
v-if="$dataStore.isPension && (whichForm === formStore.insuredFormKey || whichForm === formStore.beneficiaryFormKey)"
|
|
205
|
+
:title="$dataStore.t('pension.disabilityInfo')"
|
|
206
|
+
>
|
|
207
|
+
<base-form-toggle v-model="hasDisability" :title="$dataStore.t('pension.ifHasDisability')" :disabled="isDisabled" :has-border="false" />
|
|
208
|
+
<base-animation>
|
|
209
|
+
<div class="flex flex-col gap-[1px]" v-if="hasDisability">
|
|
210
|
+
<base-panel-input
|
|
211
|
+
v-model="member.disabilityGroup"
|
|
212
|
+
:value="member.disabilityGroup?.nameRu"
|
|
213
|
+
:readonly="isDisabled"
|
|
214
|
+
:clearable="!isDisabled"
|
|
215
|
+
:label="$dataStore.t('pension.disabilityGroup')"
|
|
216
|
+
:rules="$rules.objectRequired"
|
|
217
|
+
append-inner-icon="mdi mdi-chevron-right"
|
|
218
|
+
@append="openPanel($dataStore.t('pension.disabilityGroup'), $dataStore.disabilityGroups, 'disabilityGroup', $dataStore.getDisabilityGroups)"
|
|
219
|
+
/>
|
|
220
|
+
</div>
|
|
221
|
+
</base-animation>
|
|
222
|
+
</base-form-section>
|
|
160
223
|
<base-form-section :title="$dataStore.t('policyholdersRepresentative.PowerOfAttorney')" v-if="whichForm === formStore.policyholdersRepresentativeFormKey">
|
|
161
224
|
<base-form-input
|
|
162
225
|
v-model.trim="member.fullNameRod"
|
|
@@ -427,7 +490,7 @@
|
|
|
427
490
|
/>
|
|
428
491
|
</base-fade-transition>
|
|
429
492
|
<base-panel-input
|
|
430
|
-
v-if="!$dataStore.isLifetrip"
|
|
493
|
+
v-if="!$dataStore.isLifetrip && !$dataStore.isPension"
|
|
431
494
|
v-model="member.signOfResidency"
|
|
432
495
|
:value="member.signOfResidency?.nameRu"
|
|
433
496
|
:label="$dataStore.t('form.signOfResidency')"
|
|
@@ -464,7 +527,7 @@
|
|
|
464
527
|
v-if="hasSignOfIPDL"
|
|
465
528
|
v-model="member.signOfIPDL"
|
|
466
529
|
:value="member.signOfIPDL?.nameRu"
|
|
467
|
-
:label="$dataStore.t('form.signOfIPDL')"
|
|
530
|
+
:label="$dataStore.isPension ? $dataStore.t('form.signOfPDL') : $dataStore.t('form.signOfIPDL')"
|
|
468
531
|
:readonly="isDisabled"
|
|
469
532
|
:clearable="!isDisabled"
|
|
470
533
|
:rules="$rules.objectRequired"
|
|
@@ -472,6 +535,7 @@
|
|
|
472
535
|
@append="openPanel($dataStore.t('form.signOfIPDL'), $dataStore.ipdl, 'signOfIPDL')"
|
|
473
536
|
/>
|
|
474
537
|
<base-panel-input
|
|
538
|
+
v-if="!$dataStore.isPension"
|
|
475
539
|
v-model="member.countryOfCitizenship"
|
|
476
540
|
:value="member.countryOfCitizenship?.nameRu"
|
|
477
541
|
:label="$dataStore.t('form.countryOfCitizenship')"
|
|
@@ -503,6 +567,61 @@
|
|
|
503
567
|
@append="openPanel($dataStore.t('form.insurancePay'), $dataStore.insurancePay, 'insurancePay', $dataStore.getInsurancePay)"
|
|
504
568
|
/>
|
|
505
569
|
</base-form-section>
|
|
570
|
+
<base-form-section v-if="$dataStore.hasBankSection(whichForm)" :title="$dataStore.t('bankDetailsForm.title')">
|
|
571
|
+
<base-form-input
|
|
572
|
+
v-model="member.bankInfo.iik"
|
|
573
|
+
:label="$dataStore.t('clients.form.iik')"
|
|
574
|
+
:maska="$maska.iik"
|
|
575
|
+
:readonly="isDisabled"
|
|
576
|
+
:clearable="!isDisabled"
|
|
577
|
+
:rules="$rules.required.concat($rules.iik)"
|
|
578
|
+
/>
|
|
579
|
+
<base-panel-input
|
|
580
|
+
v-model="member.bankInfo.bankName"
|
|
581
|
+
:value="member.bankInfo.bankName.nameRu"
|
|
582
|
+
:label="$dataStore.t('clients.form.nameBank')"
|
|
583
|
+
:readonly="isDisabled"
|
|
584
|
+
:clearable="!isDisabled"
|
|
585
|
+
:rules="$rules.objectRequired"
|
|
586
|
+
append-inner-icon="mdi mdi-chevron-right"
|
|
587
|
+
@append="openPanel($dataStore.t('clients.form.nameBank'), [], 'bankInfo', $dataStore.getBanks, '', 'bankName')"
|
|
588
|
+
/>
|
|
589
|
+
<base-form-input
|
|
590
|
+
v-model.trim="member.bankInfo.bin"
|
|
591
|
+
:label="$dataStore.t('form.bin')"
|
|
592
|
+
:maska="$maska.iin"
|
|
593
|
+
:readonly="isDisabled"
|
|
594
|
+
:clearable="!isDisabled"
|
|
595
|
+
:rules="$rules.required.concat($rules.iinRight)"
|
|
596
|
+
/>
|
|
597
|
+
<base-form-input v-model="member.bankInfo.bik" :label="$dataStore.t('clients.form.bik')" :readonly="isDisabled" :clearable="!isDisabled" :rules="$rules.required" />
|
|
598
|
+
</base-form-section>
|
|
599
|
+
<base-form-section v-if="$dataStore.hasAdditionalDocumentsSection(whichForm)" :title="$dataStore.t('form.phDocuments')">
|
|
600
|
+
<base-file-input
|
|
601
|
+
:label="$dataStore.t('form.identyDocument')"
|
|
602
|
+
:disabled="isDisabled"
|
|
603
|
+
:clearable="!isDisabled"
|
|
604
|
+
icon="mdi-paperclip"
|
|
605
|
+
@input="attachFile($event, '1')"
|
|
606
|
+
:rules="$rules.required"
|
|
607
|
+
/>
|
|
608
|
+
<base-file-input
|
|
609
|
+
:label="$dataStore.t('form.bankStatement')"
|
|
610
|
+
:disabled="isDisabled"
|
|
611
|
+
:clearable="!isDisabled"
|
|
612
|
+
icon="mdi-paperclip"
|
|
613
|
+
@input="attachFile($event, '10')"
|
|
614
|
+
:rules="$rules.required"
|
|
615
|
+
/>
|
|
616
|
+
<base-file-input
|
|
617
|
+
:label="$dataStore.t('pension.ENPFnote')"
|
|
618
|
+
:disabled="isDisabled"
|
|
619
|
+
:clearable="!isDisabled"
|
|
620
|
+
icon="mdi-paperclip"
|
|
621
|
+
@input="attachFile($event, '8')"
|
|
622
|
+
:rules="$rules.required"
|
|
623
|
+
/>
|
|
624
|
+
</base-form-section>
|
|
506
625
|
<base-form-section :title="$dataStore.t('form.contactsData')" v-if="$dataStore.hasContactSection(whichForm)">
|
|
507
626
|
<base-form-input
|
|
508
627
|
v-model="member.homePhone"
|
|
@@ -635,6 +754,11 @@ export default {
|
|
|
635
754
|
const searchQuery = ref<string>('');
|
|
636
755
|
const fileData = ref<{ file: any }>();
|
|
637
756
|
const imageDataList = ref<string[]>([]);
|
|
757
|
+
const isRelative = ref<boolean>(false);
|
|
758
|
+
|
|
759
|
+
const currentPanelDeep = ref<string>();
|
|
760
|
+
const currentPanelSubDeep = ref<string>();
|
|
761
|
+
const hasDisability = ref<boolean>(false);
|
|
638
762
|
|
|
639
763
|
const memberSetting = computed(() => dataStore.members[memberStore.getMemberApplicationCode(whichForm.value)!]);
|
|
640
764
|
const hasOtp = computed(() => member.value.otpCode && member.value.otpCode.length === useMask().otp.length);
|
|
@@ -649,6 +773,10 @@ export default {
|
|
|
649
773
|
case formStore.policyholderFormKey:
|
|
650
774
|
return true;
|
|
651
775
|
case formStore.insuredFormKey:
|
|
776
|
+
if (dataStore.isPension) {
|
|
777
|
+
return true;
|
|
778
|
+
}
|
|
779
|
+
return route.params.taskId !== '0';
|
|
652
780
|
case formStore.beneficiaryFormKey:
|
|
653
781
|
case formStore.beneficialOwnerFormKey:
|
|
654
782
|
case formStore.policyholdersRepresentativeFormKey:
|
|
@@ -722,7 +850,7 @@ export default {
|
|
|
722
850
|
return true;
|
|
723
851
|
});
|
|
724
852
|
const hasRelationDegree = computed(() => {
|
|
725
|
-
if (dataStore.isLifetrip) {
|
|
853
|
+
if (dataStore.isLifetrip || dataStore.isPension) {
|
|
726
854
|
return false;
|
|
727
855
|
}
|
|
728
856
|
if ((whichForm.value === formStore.beneficiaryFormKey || whichForm.value === formStore.insuredFormKey) && member.value.iin !== formStore.policyholderForm.iin) {
|
|
@@ -731,7 +859,7 @@ export default {
|
|
|
731
859
|
return false;
|
|
732
860
|
});
|
|
733
861
|
const hasFamilyStatus = computed(() => {
|
|
734
|
-
if (dataStore.isLifetrip) {
|
|
862
|
+
if (dataStore.isLifetrip || dataStore.isPension) {
|
|
735
863
|
return false;
|
|
736
864
|
}
|
|
737
865
|
if (whichForm.value === formStore.beneficiaryFormKey) {
|
|
@@ -833,8 +961,10 @@ export default {
|
|
|
833
961
|
switch (whichForm.value) {
|
|
834
962
|
case formStore.policyholderFormKey:
|
|
835
963
|
return route.params.taskId === '0';
|
|
836
|
-
case formStore.policyholdersRepresentativeFormKey:
|
|
837
964
|
case formStore.insuredFormKey:
|
|
965
|
+
if (dataStore.isPension) return route.params.taskId === '0';
|
|
966
|
+
return route.query.id === '0';
|
|
967
|
+
case formStore.policyholdersRepresentativeFormKey:
|
|
838
968
|
case formStore.beneficiaryFormKey:
|
|
839
969
|
case formStore.beneficialOwnerFormKey:
|
|
840
970
|
return route.query.id === '0';
|
|
@@ -886,7 +1016,7 @@ export default {
|
|
|
886
1016
|
dataStore.rightPanel.open = true;
|
|
887
1017
|
};
|
|
888
1018
|
|
|
889
|
-
const openPanel = async (title: string, list: Value[], key: string, asyncFunction?: Function, filterKey?: string) => {
|
|
1019
|
+
const openPanel = async (title: string, list: Value[], key: string, asyncFunction?: Function, filterKey?: string, deepKey?: string, subDeepKey?: string) => {
|
|
890
1020
|
if (!isDisabled.value) {
|
|
891
1021
|
isSearchOpen.value = false;
|
|
892
1022
|
isDocumentOpen.value = false;
|
|
@@ -907,10 +1037,35 @@ export default {
|
|
|
907
1037
|
let newList = list;
|
|
908
1038
|
if (asyncFunction) {
|
|
909
1039
|
isPanelLoading.value = true;
|
|
910
|
-
|
|
1040
|
+
const filterKeys: any = {};
|
|
1041
|
+
if (!!subDeepKey) {
|
|
1042
|
+
filterKeys.key = key;
|
|
1043
|
+
filterKeys.deepKey = deepKey;
|
|
1044
|
+
filterKeys.subDeepKey = filterKey;
|
|
1045
|
+
} else {
|
|
1046
|
+
if (!!deepKey) {
|
|
1047
|
+
filterKeys.key = key;
|
|
1048
|
+
filterKeys.deepKey = filterKey;
|
|
1049
|
+
} else {
|
|
1050
|
+
filterKeys.key = filterKey;
|
|
1051
|
+
}
|
|
1052
|
+
}
|
|
1053
|
+
newList = await asyncFunction(filterKey, member.value, filterKeys);
|
|
911
1054
|
}
|
|
912
1055
|
panelList.value = filterList(newList, key);
|
|
913
|
-
panelValue.value =
|
|
1056
|
+
panelValue.value = !!deepKey
|
|
1057
|
+
? !!subDeepKey
|
|
1058
|
+
? //@ts-ignore
|
|
1059
|
+
member.value[currentPanel.value][deepKey as any][subDeepKey as any]
|
|
1060
|
+
: //@ts-ignore
|
|
1061
|
+
member.value[currentPanel.value][deepKey as any]
|
|
1062
|
+
: member.value[currentPanel.value];
|
|
1063
|
+
if (!!deepKey) {
|
|
1064
|
+
currentPanelDeep.value = deepKey;
|
|
1065
|
+
if (!!subDeepKey) {
|
|
1066
|
+
currentPanelSubDeep.value = subDeepKey;
|
|
1067
|
+
}
|
|
1068
|
+
}
|
|
914
1069
|
isPanelLoading.value = false;
|
|
915
1070
|
} else {
|
|
916
1071
|
dataStore.showToaster('error', dataStore.t('toaster.viewErrorText'));
|
|
@@ -934,11 +1089,24 @@ export default {
|
|
|
934
1089
|
};
|
|
935
1090
|
|
|
936
1091
|
const pickPanelValue = (item: Value) => {
|
|
1092
|
+
if (!currentPanel.value) return;
|
|
937
1093
|
if (formStore.isDisabled[whichForm.value as keyof typeof formStore.isDisabled] === false) {
|
|
938
1094
|
dataStore.rightPanel.open = false;
|
|
939
1095
|
isPanelOpen.value = false;
|
|
940
|
-
|
|
941
|
-
|
|
1096
|
+
if (!!currentPanelDeep.value) {
|
|
1097
|
+
if (!!currentPanelSubDeep.value) {
|
|
1098
|
+
//@ts-ignore
|
|
1099
|
+
member.value[currentPanel.value][currentPanelDeep.value][currentPanelSubDeep.value] = item.nameRu === null ? new Value() : item;
|
|
1100
|
+
} else {
|
|
1101
|
+
//@ts-ignore
|
|
1102
|
+
member.value[currentPanel.value][currentPanelDeep.value] = item.nameRu === null ? new Value() : item;
|
|
1103
|
+
}
|
|
1104
|
+
} else {
|
|
1105
|
+
// @ts-ignore
|
|
1106
|
+
member.value[currentPanel.value] = item.nameRu === null ? new Value() : item;
|
|
1107
|
+
}
|
|
1108
|
+
currentPanelDeep.value = '';
|
|
1109
|
+
currentPanelSubDeep.value = '';
|
|
942
1110
|
} else {
|
|
943
1111
|
dataStore.showToaster('error', dataStore.t('toaster.viewErrorText'));
|
|
944
1112
|
}
|
|
@@ -967,12 +1135,12 @@ export default {
|
|
|
967
1135
|
}
|
|
968
1136
|
};
|
|
969
1137
|
|
|
970
|
-
const attachFile = (event: InputEvent) => {
|
|
1138
|
+
const attachFile = (event: InputEvent, code?: string) => {
|
|
971
1139
|
if (event.target) {
|
|
972
|
-
fileData.value = { file: (event.target as HTMLInputElement).files };
|
|
1140
|
+
fileData.value = code ? { file: (event.target as HTMLInputElement).files } : { file: (event.target as HTMLInputElement).files };
|
|
973
1141
|
} else {
|
|
974
1142
|
if (event.dataTransfer) {
|
|
975
|
-
fileData.value = { file: (event.dataTransfer as DataTransfer).files };
|
|
1143
|
+
fileData.value = code ? { file: (event.dataTransfer as DataTransfer).files } : { file: (event.dataTransfer as DataTransfer).files };
|
|
976
1144
|
}
|
|
977
1145
|
}
|
|
978
1146
|
};
|
|
@@ -1191,10 +1359,10 @@ export default {
|
|
|
1191
1359
|
}
|
|
1192
1360
|
const isInsured = formStore.isPolicyholderInsured;
|
|
1193
1361
|
const remoteIsInsured = ref<boolean | null>(null);
|
|
1194
|
-
if (whichForm.value == formStore.policyholderFormKey) {
|
|
1362
|
+
if (whichForm.value == formStore.policyholderFormKey || (dataStore.isPension && whichForm.value == formStore.insuredFormKey)) {
|
|
1195
1363
|
if (route.params.taskId === '0') {
|
|
1196
1364
|
try {
|
|
1197
|
-
const taskId = await dataStore.startApplication(member.value);
|
|
1365
|
+
const taskId = await dataStore.startApplication(member.value, dataStore.isPension ? (String(route.query.type) === 'joint' ? 4 : 1) : undefined);
|
|
1198
1366
|
if (typeof taskId === 'string') {
|
|
1199
1367
|
await dataStore.getApplicationData(taskId, false, false, false, false);
|
|
1200
1368
|
remoteIsInsured.value = formStore.applicationData.clientApp.isInsured;
|
|
@@ -1243,6 +1411,25 @@ export default {
|
|
|
1243
1411
|
}
|
|
1244
1412
|
if (whichForm.value === formStore.insuredFormKey) {
|
|
1245
1413
|
wasInsuredAction.value = true;
|
|
1414
|
+
if (dataStore.isPension) {
|
|
1415
|
+
formStore.applicationData.pensionApp = {
|
|
1416
|
+
...formStore.applicationData.pensionApp,
|
|
1417
|
+
account: member.value.bankInfo.iik,
|
|
1418
|
+
bankBik: member.value.bankInfo.bik,
|
|
1419
|
+
bankBin: member.value.bankInfo.bankName.ids,
|
|
1420
|
+
bankId: member.value.bankInfo.bankName.id,
|
|
1421
|
+
bankName: member.value.bankInfo.bankName.nameRu,
|
|
1422
|
+
guaranteedPeriod: 0,
|
|
1423
|
+
amount: 0,
|
|
1424
|
+
compulsoryContractAmount: 0,
|
|
1425
|
+
voluntaryContractAmount: 0,
|
|
1426
|
+
ownFundsRaisAmount: 0,
|
|
1427
|
+
compulsoryProfContractAmount: 0,
|
|
1428
|
+
};
|
|
1429
|
+
const isApplicationSaved = await dataStore.setApplication();
|
|
1430
|
+
if (isApplicationSaved === false) return;
|
|
1431
|
+
dataStore.showToaster('info', dataStore.t('toaster.needToRecalculate'), 5000);
|
|
1432
|
+
}
|
|
1246
1433
|
}
|
|
1247
1434
|
await router.replace({
|
|
1248
1435
|
name: route.name!,
|
|
@@ -1266,6 +1453,9 @@ export default {
|
|
|
1266
1453
|
};
|
|
1267
1454
|
|
|
1268
1455
|
const validateAgreement = () => {
|
|
1456
|
+
if (dataStore.isPension && whichForm.value === formStore.policyholdersRepresentativeFormKey) {
|
|
1457
|
+
return true;
|
|
1458
|
+
}
|
|
1269
1459
|
if (whichForm.value === formStore.beneficiaryFormKey) {
|
|
1270
1460
|
if (member.value.age !== null && Number(member.value.age) < 18) {
|
|
1271
1461
|
return true;
|
|
@@ -1309,6 +1499,22 @@ export default {
|
|
|
1309
1499
|
if (typeof ESBDResponse === 'object' && ESBDResponse.errorCode === 0) {
|
|
1310
1500
|
member.value.verifyType = 'ESBD';
|
|
1311
1501
|
member.value.verifyDate = ESBDResponse.verifiedDate;
|
|
1502
|
+
|
|
1503
|
+
if (member.value.bankInfo.iik.length === useMask().iik.length) {
|
|
1504
|
+
const isValidIik = await dataStore.checkAccountNumber(member.value.bankInfo.iik);
|
|
1505
|
+
if (isValidIik === false) {
|
|
1506
|
+
dataStore.showToaster('error', dataStore.t('error.notValidIik'));
|
|
1507
|
+
member.value.bankInfo.iik = '';
|
|
1508
|
+
isSubmittingForm.value = false;
|
|
1509
|
+
return;
|
|
1510
|
+
}
|
|
1511
|
+
if (formStore.applicationData.pensionApp) {
|
|
1512
|
+
formStore.applicationData.pensionApp.account = member.value.bankInfo.iik;
|
|
1513
|
+
formStore.applicationData.pensionApp.bankBik = member.value.bankInfo.bik;
|
|
1514
|
+
formStore.applicationData.pensionApp.bankBin = member.value.bankInfo.bin;
|
|
1515
|
+
formStore.applicationData.pensionApp.bankId = member.value.bankInfo.bankName.id;
|
|
1516
|
+
}
|
|
1517
|
+
}
|
|
1312
1518
|
const hasMemberSaved = await saveMember();
|
|
1313
1519
|
} else {
|
|
1314
1520
|
dataStore.isLoading = false;
|
|
@@ -1473,8 +1679,8 @@ export default {
|
|
|
1473
1679
|
// if (filteredDocuments && filteredDocuments.length) memberDocument.value = filteredDocuments[0];
|
|
1474
1680
|
}
|
|
1475
1681
|
await setDefaultValues();
|
|
1682
|
+
if (Number(formStore.applicationData.processCode) === 4) dataStore.members.insuredApp.isMultiple = true;
|
|
1476
1683
|
};
|
|
1477
|
-
|
|
1478
1684
|
onMounted(async () => {
|
|
1479
1685
|
await onInit();
|
|
1480
1686
|
});
|
|
@@ -1545,6 +1751,8 @@ export default {
|
|
|
1545
1751
|
isSearchOpen.value = false;
|
|
1546
1752
|
isOtpPanelOpen.value = false;
|
|
1547
1753
|
dataStore.panelAction = null;
|
|
1754
|
+
currentPanelDeep.value = '';
|
|
1755
|
+
currentPanelSubDeep.value = '';
|
|
1548
1756
|
}
|
|
1549
1757
|
},
|
|
1550
1758
|
{ immediate: true },
|
|
@@ -1579,6 +1787,17 @@ export default {
|
|
|
1579
1787
|
},
|
|
1580
1788
|
);
|
|
1581
1789
|
}
|
|
1790
|
+
if (dataStore.isPension) {
|
|
1791
|
+
watch(
|
|
1792
|
+
() => member.value.bankInfo.bankName,
|
|
1793
|
+
val => {
|
|
1794
|
+
if (val) {
|
|
1795
|
+
member.value.bankInfo.bik = val.code as string;
|
|
1796
|
+
member.value.bankInfo.bin = reformatIin(val.ids as string);
|
|
1797
|
+
}
|
|
1798
|
+
},
|
|
1799
|
+
);
|
|
1800
|
+
}
|
|
1582
1801
|
|
|
1583
1802
|
return {
|
|
1584
1803
|
// State
|
|
@@ -1605,8 +1824,9 @@ export default {
|
|
|
1605
1824
|
selectedIndex,
|
|
1606
1825
|
selectedFamilyMember,
|
|
1607
1826
|
sameAddress,
|
|
1827
|
+
hasDisability,
|
|
1828
|
+
isRelative,
|
|
1608
1829
|
imageDataList,
|
|
1609
|
-
|
|
1610
1830
|
// Computed
|
|
1611
1831
|
whichForm,
|
|
1612
1832
|
whichIndex,
|