hl-core 0.0.10-beta.40 → 0.0.10-beta.41
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 +7 -0
- package/components/Form/ManagerAttachment.vue +31 -2
- package/components/Pages/ProductConditions.vue +45 -7
- package/composables/classes.ts +10 -0
- package/composables/constants.ts +1 -0
- package/composables/index.ts +8 -3
- package/locales/ru.json +1 -0
- package/package.json +1 -1
- package/store/data.store.ts +47 -11
- package/types/enum.ts +1 -0
- package/types/index.ts +4 -1
package/api/base.api.ts
CHANGED
|
@@ -642,6 +642,13 @@ export class ApiClass {
|
|
|
642
642
|
url: `/Ekk/api/ContragentInsis/DictionaryItems/${dictName}?filter=${filterName}`,
|
|
643
643
|
});
|
|
644
644
|
}
|
|
645
|
+
|
|
646
|
+
async filterExecutorByRegion(dictName: string, filterName: string) {
|
|
647
|
+
return await this.axiosCall<Value[]>({
|
|
648
|
+
method: Methods.GET,
|
|
649
|
+
url: `/Ekk/api/ContragentInsis/DictionaryItems/${dictName}?filter=${filterName}`,
|
|
650
|
+
});
|
|
651
|
+
}
|
|
645
652
|
|
|
646
653
|
async setINSISWorkData(data: Types.InsisWorkDataApp) {
|
|
647
654
|
return await this.axiosCall({
|
|
@@ -55,6 +55,18 @@
|
|
|
55
55
|
append-inner-icon="mdi mdi-chevron-right"
|
|
56
56
|
@append="openPanel('AgentData', $dataStore.t('form.agent'))"
|
|
57
57
|
/>
|
|
58
|
+
<base-panel-input
|
|
59
|
+
v-if="isExecutorShown"
|
|
60
|
+
class="pl-1 pt-1"
|
|
61
|
+
v-model="formStore.ExecutorGPH"
|
|
62
|
+
:value="formStore.ExecutorGPH?.nameRu"
|
|
63
|
+
:readonly="isExecutorReadonly"
|
|
64
|
+
:clearable="!isExecutorReadonly"
|
|
65
|
+
:label="$dataStore.t('form.executor')"
|
|
66
|
+
:rules="$rules.objectRequired"
|
|
67
|
+
append-inner-icon="mdi mdi-chevron-right"
|
|
68
|
+
@append="openPanel('ExecutorGPH', $dataStore.t('form.executor'))"
|
|
69
|
+
/>
|
|
58
70
|
</v-form>
|
|
59
71
|
</v-expansion-panel-text>
|
|
60
72
|
</v-expansion-panel>
|
|
@@ -90,7 +102,10 @@
|
|
|
90
102
|
</div>
|
|
91
103
|
</div>
|
|
92
104
|
</div>
|
|
93
|
-
<div
|
|
105
|
+
<div
|
|
106
|
+
v-if="currentDictName === 'ManagerPolicy' || currentDictName === 'RegionPolicy' || currentDictName === 'SaleChanellPolicy' || currentDictName === 'ExecutorGPH'"
|
|
107
|
+
class="w-full flex flex-col gap-2 p-2"
|
|
108
|
+
>
|
|
94
109
|
<div v-for="(item, index) in $dataStore[currentDictName].filter(i => (i.nameRu as string).toLowerCase().includes(searchQuery.toLowerCase()))" :key="index">
|
|
95
110
|
<base-panel-select-item :key="index" :text="item.nameRu ?? ''" :selected="item.ids === (panelValue as Value).ids" @click="pickPanelValue(item)" />
|
|
96
111
|
</div>
|
|
@@ -120,7 +135,7 @@ export default defineComponent({
|
|
|
120
135
|
},
|
|
121
136
|
},
|
|
122
137
|
setup(props) {
|
|
123
|
-
type ManagerAttachmentFiels = 'SaleChanellPolicy' | 'RegionPolicy' | 'ManagerPolicy' | 'AgentData';
|
|
138
|
+
type ManagerAttachmentFiels = 'SaleChanellPolicy' | 'RegionPolicy' | 'ManagerPolicy' | 'AgentData' | 'ExecutorGPH';
|
|
124
139
|
type FieldTypes = Value | AgentData;
|
|
125
140
|
const route = useRoute();
|
|
126
141
|
const dataStore = useDataStore();
|
|
@@ -163,6 +178,12 @@ export default defineComponent({
|
|
|
163
178
|
}
|
|
164
179
|
return isReadonly.value;
|
|
165
180
|
});
|
|
181
|
+
const isExecutorReadonly = computed(() => {
|
|
182
|
+
if (!isReadonly.value) {
|
|
183
|
+
if (dataStore.isPension) return dataStore.isExecutor() || !dataStore.isInitiator();
|
|
184
|
+
}
|
|
185
|
+
return isReadonly.value;
|
|
186
|
+
});
|
|
166
187
|
const isSaleChanellShown = computed(() => {
|
|
167
188
|
if (dataStore.isGons) return !dataStore.isAgent();
|
|
168
189
|
return true;
|
|
@@ -178,6 +199,7 @@ export default defineComponent({
|
|
|
178
199
|
if (dataStore.isGons) return !dataStore.isAgent();
|
|
179
200
|
return true;
|
|
180
201
|
});
|
|
202
|
+
const isExecutorShown = dataStore.isPension;
|
|
181
203
|
const openPanel = async (currentDict: ManagerAttachmentFiels, title: string) => {
|
|
182
204
|
searchQuery.value = '';
|
|
183
205
|
if (dataStore.isTask() && !props.disabled) {
|
|
@@ -190,6 +212,10 @@ export default defineComponent({
|
|
|
190
212
|
isPanelLoading.value = true;
|
|
191
213
|
await dataStore.filterManagerByRegion(formStore.RegionPolicy.ids as string);
|
|
192
214
|
}
|
|
215
|
+
if (currentDict === 'ExecutorGPH' && formStore.RegionPolicy.ids) {
|
|
216
|
+
isPanelLoading.value = true;
|
|
217
|
+
await dataStore.filterExecutorByRegion(formStore.RegionPolicy.ids as string);
|
|
218
|
+
}
|
|
193
219
|
|
|
194
220
|
isPanelOpen.value = true;
|
|
195
221
|
panelValue.value = formStore[currentDict];
|
|
@@ -274,10 +300,13 @@ export default defineComponent({
|
|
|
274
300
|
isRegionReadonly,
|
|
275
301
|
isManagerReadonly,
|
|
276
302
|
isAgentReadonly,
|
|
303
|
+
isExecutorReadonly,
|
|
277
304
|
isSaleChanellShown,
|
|
278
305
|
isRegionShown,
|
|
279
306
|
isManagerShown,
|
|
280
307
|
isAgentShown,
|
|
308
|
+
isExecutorShown,
|
|
309
|
+
|
|
281
310
|
// Functions
|
|
282
311
|
openPanel,
|
|
283
312
|
searchAgent,
|
|
@@ -55,7 +55,7 @@
|
|
|
55
55
|
<base-form-input v-model="insured.gender.nameRu" class="mb-4" :label="$dataStore.t('form.gender')" :readonly="true" />
|
|
56
56
|
</div>
|
|
57
57
|
</base-form-section>
|
|
58
|
-
<base-form-section v-if="isUnderwriterRole && whichProduct !== 'pensionannuitynew' && whichProduct !== 'balam'" :title="$dataStore.t('recalculationInfo')">
|
|
58
|
+
<base-form-section v-if="isUnderwriterRole && whichProduct !== 'pensionannuitynew' && whichProduct !== 'balam' && whichProduct !== 'tumar'" :title="$dataStore.t('recalculationInfo')">
|
|
59
59
|
<base-form-input
|
|
60
60
|
v-model="productConditionsForm.lifeMultiply"
|
|
61
61
|
:maska="$maska.numbers"
|
|
@@ -223,6 +223,7 @@
|
|
|
223
223
|
@input="onInputFixInsSum"
|
|
224
224
|
/>
|
|
225
225
|
<base-form-input
|
|
226
|
+
v-if="hasRequestedSumInsured"
|
|
226
227
|
v-model="productConditionsForm.requestedSumInsured"
|
|
227
228
|
:readonly="isDisabledSum"
|
|
228
229
|
:clearable="!isDisabledSum"
|
|
@@ -244,6 +245,7 @@
|
|
|
244
245
|
@onClear="onClearSumDollar"
|
|
245
246
|
/>
|
|
246
247
|
<base-form-input
|
|
248
|
+
v-if="hasInsurancePremiumPerMonth"
|
|
247
249
|
v-model="productConditionsForm.insurancePremiumPerMonth"
|
|
248
250
|
:readonly="insurancePremiumPerMonthDisabled"
|
|
249
251
|
:clearable="!insurancePremiumPerMonthDisabled"
|
|
@@ -253,6 +255,22 @@
|
|
|
253
255
|
@input="onInputInsurancePremiumPerMonth"
|
|
254
256
|
@onClear="onClearPremium"
|
|
255
257
|
/>
|
|
258
|
+
<base-form-input
|
|
259
|
+
v-if="hasPaidOrRefund"
|
|
260
|
+
v-model="productConditionsForm.amountRefunded"
|
|
261
|
+
:readonly="isDisabledSum"
|
|
262
|
+
:clearable="!isDisabledSum"
|
|
263
|
+
:label="$dataStore.t('productConditionsForm.amountRefunded')"
|
|
264
|
+
:suffix="$constants.currencySymbols.kzt"
|
|
265
|
+
/>
|
|
266
|
+
<base-form-input
|
|
267
|
+
v-if="hasPaidOrRefund"
|
|
268
|
+
v-model="productConditionsForm.amountPaid"
|
|
269
|
+
:readonly="insurancePremiumPerMonthDisabled"
|
|
270
|
+
:clearable="!insurancePremiumPerMonthDisabled"
|
|
271
|
+
:label="$dataStore.t('productConditionsForm.amountPaid')"
|
|
272
|
+
:suffix="$constants.currencySymbols.kzt"
|
|
273
|
+
/>
|
|
256
274
|
<base-form-input
|
|
257
275
|
v-if="hasInsurancePremiumPerMonthInDollar"
|
|
258
276
|
v-model="productConditionsForm.insurancePremiumPerMonthInDollar"
|
|
@@ -896,6 +914,8 @@ export default defineComponent({
|
|
|
896
914
|
const whichSum = ref<'insurancePremiumPerMonth' | 'requestedSumInsured' | ''>('');
|
|
897
915
|
const panelCodeList = ['processcovertypesum', 'fixedinssum'];
|
|
898
916
|
const enabled = 'включено';
|
|
917
|
+
const amountRefunded = ref<string | number | null>(null);
|
|
918
|
+
const amountPaid = ref<string | number | null>(null);
|
|
899
919
|
|
|
900
920
|
const additionalTerms = ref<AddCover[]>([]);
|
|
901
921
|
|
|
@@ -1016,6 +1036,13 @@ export default defineComponent({
|
|
|
1016
1036
|
}
|
|
1017
1037
|
return true;
|
|
1018
1038
|
});
|
|
1039
|
+
|
|
1040
|
+
const hasRequestedSumInsured = computed(() => {
|
|
1041
|
+
if (formStore.lfb.add && (whichProduct.value === 'lifebusiness' || whichProduct.value === 'gns')) {
|
|
1042
|
+
return false;
|
|
1043
|
+
}
|
|
1044
|
+
return true;
|
|
1045
|
+
});
|
|
1019
1046
|
const hasRequestedSumInsuredInDollar = computed(() => {
|
|
1020
1047
|
if (whichProduct.value === 'halykkazyna') {
|
|
1021
1048
|
return true;
|
|
@@ -1025,6 +1052,12 @@ export default defineComponent({
|
|
|
1025
1052
|
}
|
|
1026
1053
|
return false;
|
|
1027
1054
|
});
|
|
1055
|
+
const hasInsurancePremiumPerMonth = computed(() => {
|
|
1056
|
+
if (formStore.lfb.add && (whichProduct.value === 'lifebusiness' || whichProduct.value === 'gns')) {
|
|
1057
|
+
return false;
|
|
1058
|
+
}
|
|
1059
|
+
return true;
|
|
1060
|
+
});
|
|
1028
1061
|
const hasInsurancePremiumPerMonthInDollar = computed(() => {
|
|
1029
1062
|
if (whichProduct.value === 'halykkazyna') {
|
|
1030
1063
|
return true;
|
|
@@ -1135,9 +1168,6 @@ export default defineComponent({
|
|
|
1135
1168
|
if (whichProduct.value === 'halykkazyna') {
|
|
1136
1169
|
return dataStore.t('productConditionsForm.requestedSumInsuredInTenge');
|
|
1137
1170
|
}
|
|
1138
|
-
if (formStore.lfb.add && (whichProduct.value === 'lifebusiness' || whichProduct.value === 'gns')) {
|
|
1139
|
-
return dataStore.t('productConditionsForm.amountRefunded');
|
|
1140
|
-
}
|
|
1141
1171
|
if (whichProduct.value === 'lifebusiness' || whichProduct.value === 'gns') {
|
|
1142
1172
|
return dataStore.t('productConditionsForm.totalRequestedSumInsured');
|
|
1143
1173
|
}
|
|
@@ -1150,9 +1180,6 @@ export default defineComponent({
|
|
|
1150
1180
|
return dataStore.t('productConditionsForm.coverPeriod');
|
|
1151
1181
|
});
|
|
1152
1182
|
const insurancePremiumPerMonthLabel = computed(() => {
|
|
1153
|
-
if (formStore.lfb.add && (whichProduct.value === 'lifebusiness' || whichProduct.value === 'gns')) {
|
|
1154
|
-
return dataStore.t('productConditionsForm.amountPaid');
|
|
1155
|
-
}
|
|
1156
1183
|
if (whichProduct.value === 'lifebusiness' || whichProduct.value === 'gns') {
|
|
1157
1184
|
return dataStore.t('productConditionsForm.totalInsurancePremiumAmountWithCommission');
|
|
1158
1185
|
}
|
|
@@ -1267,6 +1294,12 @@ export default defineComponent({
|
|
|
1267
1294
|
}
|
|
1268
1295
|
return false;
|
|
1269
1296
|
});
|
|
1297
|
+
const hasPaidOrRefund = computed(() => {
|
|
1298
|
+
if (formStore.lfb.add && (whichProduct.value === 'lifebusiness' || whichProduct.value === 'gns')) {
|
|
1299
|
+
return true;
|
|
1300
|
+
}
|
|
1301
|
+
return false;
|
|
1302
|
+
});
|
|
1270
1303
|
const hasDeathInsFromNS = computed(() => {
|
|
1271
1304
|
if (whichProduct.value === 'gns') {
|
|
1272
1305
|
return true;
|
|
@@ -2348,6 +2381,8 @@ export default defineComponent({
|
|
|
2348
2381
|
transferContractFirstPaymentDate,
|
|
2349
2382
|
enabled,
|
|
2350
2383
|
maxDate,
|
|
2384
|
+
amountPaid,
|
|
2385
|
+
amountRefunded,
|
|
2351
2386
|
transferMaxDate,
|
|
2352
2387
|
guaranteedPeriodList,
|
|
2353
2388
|
isEnpfSum,
|
|
@@ -2375,9 +2410,12 @@ export default defineComponent({
|
|
|
2375
2410
|
isUnderwriterRole,
|
|
2376
2411
|
hasProcessIndexRate,
|
|
2377
2412
|
hasPaymentPeriod,
|
|
2413
|
+
hasRequestedSumInsured,
|
|
2414
|
+
hasInsurancePremiumPerMonth,
|
|
2378
2415
|
hasRequestedSumInsuredInDollar,
|
|
2379
2416
|
hasInsurancePremiumPerMonthInDollar,
|
|
2380
2417
|
hasCurrency,
|
|
2418
|
+
hasPaidOrRefund,
|
|
2381
2419
|
hasContragentData,
|
|
2382
2420
|
hasAdbMultiply,
|
|
2383
2421
|
readonlyLifeAdditive,
|
package/composables/classes.ts
CHANGED
|
@@ -826,6 +826,8 @@ export class ProductConditions {
|
|
|
826
826
|
calculatorForm: CalculatorForm;
|
|
827
827
|
agentCommission: number | null;
|
|
828
828
|
fixInsSum: number | string | null;
|
|
829
|
+
amountRefunded: number | string | null;
|
|
830
|
+
amountPaid: number | string | null;
|
|
829
831
|
calcDate: string | null;
|
|
830
832
|
contractEndDate: string | null;
|
|
831
833
|
currency: Value;
|
|
@@ -874,6 +876,8 @@ export class ProductConditions {
|
|
|
874
876
|
calculatorForm = new CalculatorForm(),
|
|
875
877
|
agentCommission = null,
|
|
876
878
|
fixInsSum = null,
|
|
879
|
+
amountRefunded = null,
|
|
880
|
+
amountPaid = null,
|
|
877
881
|
calcDate = null,
|
|
878
882
|
contractEndDate = null,
|
|
879
883
|
currency = new Value(),
|
|
@@ -926,6 +930,8 @@ export class ProductConditions {
|
|
|
926
930
|
this.calculatorForm = calculatorForm;
|
|
927
931
|
this.agentCommission = agentCommission;
|
|
928
932
|
this.fixInsSum = fixInsSum;
|
|
933
|
+
this.amountRefunded = amountRefunded;
|
|
934
|
+
this.amountPaid = amountPaid;
|
|
929
935
|
this.calcDate = calcDate;
|
|
930
936
|
this.contractEndDate = contractEndDate;
|
|
931
937
|
this.currency = currency;
|
|
@@ -1101,6 +1107,7 @@ export class DataStoreClass {
|
|
|
1101
1107
|
SaleChanellPolicy: Value[];
|
|
1102
1108
|
RegionPolicy: Value[];
|
|
1103
1109
|
ManagerPolicy: Value[];
|
|
1110
|
+
ExecutorGPH: Value[];
|
|
1104
1111
|
AgentData: Types.AgentData[];
|
|
1105
1112
|
riskGroup: Value[];
|
|
1106
1113
|
DicCoverTypePeriod: Value[];
|
|
@@ -1184,6 +1191,7 @@ export class DataStoreClass {
|
|
|
1184
1191
|
this.SaleChanellPolicy = [];
|
|
1185
1192
|
this.RegionPolicy = [];
|
|
1186
1193
|
this.ManagerPolicy = [];
|
|
1194
|
+
this.ExecutorGPH = [];
|
|
1187
1195
|
this.AgentData = [];
|
|
1188
1196
|
this.DicCoverTypePeriod = [];
|
|
1189
1197
|
this.product = import.meta.env.VITE_PRODUCT ? (import.meta.env.VITE_PRODUCT as Types.Projects) : null;
|
|
@@ -1383,6 +1391,7 @@ export class FormStoreClass {
|
|
|
1383
1391
|
AgentData: Types.AgentData;
|
|
1384
1392
|
RegionPolicy: Value;
|
|
1385
1393
|
ManagerPolicy: Value;
|
|
1394
|
+
ExecutorGPH: Value;
|
|
1386
1395
|
isDisabled: {
|
|
1387
1396
|
policyholderForm: boolean;
|
|
1388
1397
|
beneficiaryForm: boolean;
|
|
@@ -1513,6 +1522,7 @@ export class FormStoreClass {
|
|
|
1513
1522
|
};
|
|
1514
1523
|
this.RegionPolicy = new Value();
|
|
1515
1524
|
this.ManagerPolicy = new Value();
|
|
1525
|
+
this.ExecutorGPH = new Value();
|
|
1516
1526
|
this.isDisabled = {
|
|
1517
1527
|
policyholderForm: true,
|
|
1518
1528
|
beneficiaryForm: true,
|
package/composables/constants.ts
CHANGED
package/composables/index.ts
CHANGED
|
@@ -733,7 +733,7 @@ export class RoleController {
|
|
|
733
733
|
const hasAccessByProduct = (() => {
|
|
734
734
|
const product = productFromExternal as Projects;
|
|
735
735
|
if (dataStore.isLifetrip || product === 'lifetrip') return this.isBranchDirector();
|
|
736
|
-
if (dataStore.isPension || product === 'pensionannuitynew') return this.isBranchDirector();
|
|
736
|
+
if (dataStore.isPension || product === 'pensionannuitynew') return this.isBranchDirector() || this.isExecutor();
|
|
737
737
|
if (dataStore.isLifeBusiness || product === 'lifebusiness') return this.isHeadManager() || this.isBranchDirector();
|
|
738
738
|
return false;
|
|
739
739
|
})();
|
|
@@ -841,6 +841,9 @@ export class RoleController {
|
|
|
841
841
|
isUrsp = () => {
|
|
842
842
|
return this.isRole(constants.roles.URSP);
|
|
843
843
|
};
|
|
844
|
+
isExecutor = () => {
|
|
845
|
+
return this.isRole(constants.roles.ExecutorGPH);
|
|
846
|
+
};
|
|
844
847
|
hasAccess = () => {
|
|
845
848
|
const baseAccessRoles = this.isAdmin() || this.isSupport() || this.isAnalyst() || this.isDrn();
|
|
846
849
|
return {
|
|
@@ -849,7 +852,7 @@ export class RoleController {
|
|
|
849
852
|
toAML: this.isCompliance() || baseAccessRoles,
|
|
850
853
|
toAULETTI: this.isAgentAuletti() || this.isManagerAuletti() || baseAccessRoles,
|
|
851
854
|
toLKA_A: this.isAgentAuletti() || baseAccessRoles,
|
|
852
|
-
toUU: this.isServiceManager() || this.isAccountant() || this.isAdjuster() || this.isHeadAdjuster() || baseAccessRoles,
|
|
855
|
+
toUU: this.isServiceManager() || this.isAccountant() || this.isAdjuster() || this.isHeadAdjuster() || this.isArchivist() || baseAccessRoles,
|
|
853
856
|
toDSO:
|
|
854
857
|
this.isDsuio() ||
|
|
855
858
|
this.isActuary() ||
|
|
@@ -891,7 +894,9 @@ export class RoleController {
|
|
|
891
894
|
this.isAccountantDirector() ||
|
|
892
895
|
this.isHeadAdjuster() ||
|
|
893
896
|
this.isHeadOfDso() ||
|
|
894
|
-
this.isUrsp()
|
|
897
|
+
this.isUrsp() ||
|
|
898
|
+
this.isExecutor() ||
|
|
899
|
+
this.isArchivist(),
|
|
895
900
|
};
|
|
896
901
|
};
|
|
897
902
|
}
|
package/locales/ru.json
CHANGED
|
@@ -1002,6 +1002,7 @@
|
|
|
1002
1002
|
"otpCode": "Код подтверждения",
|
|
1003
1003
|
"salesChanell": "Канал продаж",
|
|
1004
1004
|
"manager": "Менеджер",
|
|
1005
|
+
"executor": "Исполнитель",
|
|
1005
1006
|
"attachManager": "Менеджер",
|
|
1006
1007
|
"agent": "Агент",
|
|
1007
1008
|
"insurancePay": "Страховая выплата подлежит осуществлению",
|
package/package.json
CHANGED
package/store/data.store.ts
CHANGED
|
@@ -65,6 +65,7 @@ export const useDataStore = defineStore('data', {
|
|
|
65
65
|
isPrePension: state => state.product === 'prepensionannuity',
|
|
66
66
|
isCritical: state => state.product === 'criticalillness',
|
|
67
67
|
isBalam: state => state.product === 'balam',
|
|
68
|
+
isTumar: state => state.product === 'tumar',
|
|
68
69
|
isDSO: state => state.product === 'dso',
|
|
69
70
|
isUU: state => state.product === 'uu',
|
|
70
71
|
hasClientAnketa: state => Array.isArray(state.formStore.additionalInsuranceTerms) && state.formStore.additionalInsuranceTerms.find(i => i.coverTypeCode === 10),
|
|
@@ -1130,6 +1131,14 @@ export const useDataStore = defineStore('data', {
|
|
|
1130
1131
|
this.formStore.productConditionsForm.currency.code === 'KZT' ? null : getNumber(String(this.formStore.productConditionsForm.requestedSumInsuredInDollar));
|
|
1131
1132
|
conditionsData.policyAppDto.currencyExchangeRate = this.formStore.productConditionsForm.currency.code === 'KZT' ? null : this.currencies.usd;
|
|
1132
1133
|
conditionsData.policyAppDto.currency = this.formStore.productConditionsForm.currency.code as string;
|
|
1134
|
+
//@ts-ignore
|
|
1135
|
+
if (isNaN(String(this.formStore.productConditionsForm.requestedSumInsured).replace(/\s/g, ''))) {
|
|
1136
|
+
conditionsData.policyAppDto.amount = parseFloat(String(this.formStore.productConditionsForm.requestedSumInsured).replace(/\s/g, '').replace(',', '.'));
|
|
1137
|
+
}
|
|
1138
|
+
//@ts-ignore
|
|
1139
|
+
if (isNaN(String(this.formStore.productConditionsForm.insurancePremiumPerMonth).replace(/\s/g, ''))) {
|
|
1140
|
+
conditionsData.policyAppDto.premium = parseFloat(String(this.formStore.productConditionsForm.insurancePremiumPerMonth).replace(/\s/g, '').replace(',', '.'));
|
|
1141
|
+
}
|
|
1133
1142
|
}
|
|
1134
1143
|
if (this.isLiferenta) {
|
|
1135
1144
|
conditionsData.policyAppDto.guaranteedPaymentPeriod = this.formStore.productConditionsForm.guaranteedPeriod || 0;
|
|
@@ -1252,6 +1261,8 @@ export const useDataStore = defineStore('data', {
|
|
|
1252
1261
|
regionPolicyName: this.formStore.RegionPolicy.nameRu ?? '',
|
|
1253
1262
|
managerPolicy: this.formStore.ManagerPolicy.ids as string,
|
|
1254
1263
|
managerPolicyName: this.formStore.ManagerPolicy.nameRu ?? '',
|
|
1264
|
+
executorGPH: (this.formStore.ExecutorGPH.ids as string) ?? undefined,
|
|
1265
|
+
executorGPHName: this.formStore.ExecutorGPH.nameRu ?? undefined,
|
|
1255
1266
|
insuranceProgramType: this.formStore.applicationData.insisWorkDataApp.insuranceProgramType,
|
|
1256
1267
|
};
|
|
1257
1268
|
try {
|
|
@@ -1791,6 +1802,13 @@ export const useDataStore = defineStore('data', {
|
|
|
1791
1802
|
console.log(err);
|
|
1792
1803
|
}
|
|
1793
1804
|
},
|
|
1805
|
+
async filterExecutorByRegion(filterName: string) {
|
|
1806
|
+
try {
|
|
1807
|
+
this.ExecutorGPH = await this.api.filterExecutorByRegion('ExecutorGPH', filterName);
|
|
1808
|
+
} catch (err) {
|
|
1809
|
+
console.log(err);
|
|
1810
|
+
}
|
|
1811
|
+
},
|
|
1794
1812
|
async getUnderwritingCouncilData(id: string | number) {
|
|
1795
1813
|
try {
|
|
1796
1814
|
const response: any = await this.api.getUnderwritingCouncilData(id);
|
|
@@ -1909,6 +1927,14 @@ export const useDataStore = defineStore('data', {
|
|
|
1909
1927
|
calculationData.currencyExchangeRate = this.formStore.productConditionsForm.currency.code === 'KZT' ? null : this.currencies.usd;
|
|
1910
1928
|
|
|
1911
1929
|
calculationData.currency = this.formStore.productConditionsForm.currency.code as string;
|
|
1930
|
+
//@ts-ignore
|
|
1931
|
+
if (isNaN(String(this.formStore.productConditionsForm.requestedSumInsured).replace(/\s/g, ''))) {
|
|
1932
|
+
calculationData.amount = parseFloat(String(this.formStore.productConditionsForm.requestedSumInsured).replace(/\s/g, '').replace(',', '.'));
|
|
1933
|
+
}
|
|
1934
|
+
//@ts-ignore
|
|
1935
|
+
if (isNaN(String(this.formStore.productConditionsForm.insurancePremiumPerMonth).replace(/\s/g, ''))) {
|
|
1936
|
+
calculationData.premium = parseFloat(String(this.formStore.productConditionsForm.insurancePremiumPerMonth).replace(/\s/g, '').replace(',', '.'));
|
|
1937
|
+
}
|
|
1912
1938
|
}
|
|
1913
1939
|
if (this.isLiferenta || product === 'liferenta') {
|
|
1914
1940
|
calculationData.guaranteedPaymentPeriod = this.formStore.productConditionsForm.guaranteedPeriod || 0;
|
|
@@ -2018,12 +2044,14 @@ export const useDataStore = defineStore('data', {
|
|
|
2018
2044
|
this.formStore.lfb.clients = res;
|
|
2019
2045
|
}
|
|
2020
2046
|
if (this.formStore.lfb.add) {
|
|
2021
|
-
|
|
2022
|
-
|
|
2023
|
-
|
|
2047
|
+
this.formStore.productConditionsForm.insurancePremiumPerMonth = this.getNumberWithSpacesAfterComma(applicationData.policyAppDto.premium);
|
|
2048
|
+
this.formStore.productConditionsForm.requestedSumInsured = this.getNumberWithSpacesAfterComma(applicationData.policyAppDto.amount);
|
|
2049
|
+
if (applicationData.policyAppDto.mainPremiumWithCommission > 0) {
|
|
2050
|
+
this.formStore.productConditionsForm.amountPaid = this.getNumberWithSpacesAfterComma(applicationData.policyAppDto.mainPremiumWithCommission);
|
|
2051
|
+
this.formStore.productConditionsForm.amountRefunded = null;
|
|
2024
2052
|
} else {
|
|
2025
|
-
this.formStore.productConditionsForm.
|
|
2026
|
-
this.formStore.productConditionsForm.
|
|
2053
|
+
this.formStore.productConditionsForm.amountRefunded = this.getNumberWithSpacesAfterComma(applicationData.policyAppDto.mainPremiumWithCommission);
|
|
2054
|
+
this.formStore.productConditionsForm.amountPaid = null;
|
|
2027
2055
|
}
|
|
2028
2056
|
}
|
|
2029
2057
|
}
|
|
@@ -2162,6 +2190,8 @@ export const useDataStore = defineStore('data', {
|
|
|
2162
2190
|
this.formStore.RegionPolicy.ids = applicationData.insisWorkDataApp.regionPolicy;
|
|
2163
2191
|
this.formStore.ManagerPolicy.nameRu = applicationData.insisWorkDataApp.managerPolicyName;
|
|
2164
2192
|
this.formStore.ManagerPolicy.ids = applicationData.insisWorkDataApp.managerPolicy;
|
|
2193
|
+
this.formStore.ExecutorGPH.nameRu = applicationData.insisWorkDataApp.executorGPHName;
|
|
2194
|
+
this.formStore.ExecutorGPH.ids = applicationData.insisWorkDataApp.executorGPH;
|
|
2165
2195
|
this.formStore.SaleChanellPolicy.nameRu = applicationData.insisWorkDataApp.saleChanellPolicyName;
|
|
2166
2196
|
this.formStore.SaleChanellPolicy.ids = applicationData.insisWorkDataApp.saleChanellPolicy;
|
|
2167
2197
|
this.formStore.AgentData.fullName = applicationData.insisWorkDataApp.agentName;
|
|
@@ -3155,7 +3185,11 @@ export const useDataStore = defineStore('data', {
|
|
|
3155
3185
|
}
|
|
3156
3186
|
}
|
|
3157
3187
|
if (this.controls.hasAttachment) {
|
|
3158
|
-
const areValid =
|
|
3188
|
+
const areValid =
|
|
3189
|
+
this.formStore.SaleChanellPolicy.nameRu &&
|
|
3190
|
+
this.formStore.RegionPolicy.nameRu &&
|
|
3191
|
+
this.formStore.AgentData.fullName &&
|
|
3192
|
+
(this.isPension && this.isServiceManager() ? true : this.formStore.ManagerPolicy.nameRu);
|
|
3159
3193
|
if (areValid) {
|
|
3160
3194
|
if (this.isLifetrip && this.formStore.AgentData.fullName === 'Без агента') {
|
|
3161
3195
|
this.isLoading = false;
|
|
@@ -3770,12 +3804,14 @@ export const useDataStore = defineStore('data', {
|
|
|
3770
3804
|
this.formStore.productConditionsForm.contractEndDate = reformatDate(applicationData.parentPolicyDto.contractInsrEnd);
|
|
3771
3805
|
}
|
|
3772
3806
|
if (this.formStore.lfb.add) {
|
|
3807
|
+
this.formStore.productConditionsForm.insurancePremiumPerMonth = this.getNumberWithSpacesAfterComma(applicationData.policyAppDto.premium);
|
|
3808
|
+
this.formStore.productConditionsForm.requestedSumInsured = this.getNumberWithSpacesAfterComma(applicationData.policyAppDto.amount);
|
|
3773
3809
|
if (applicationData.policyAppDto.mainPremiumWithCommission > 0) {
|
|
3774
|
-
this.formStore.productConditionsForm.
|
|
3775
|
-
this.formStore.productConditionsForm.
|
|
3810
|
+
this.formStore.productConditionsForm.amountPaid = this.getNumberWithSpacesAfterComma(applicationData.policyAppDto.mainPremiumWithCommission);
|
|
3811
|
+
this.formStore.productConditionsForm.amountRefunded = null;
|
|
3776
3812
|
} else {
|
|
3777
|
-
this.formStore.productConditionsForm.
|
|
3778
|
-
this.formStore.productConditionsForm.
|
|
3813
|
+
this.formStore.productConditionsForm.amountRefunded = this.getNumberWithSpacesAfterComma(applicationData.policyAppDto.mainPremiumWithCommission);
|
|
3814
|
+
this.formStore.productConditionsForm.amountPaid = null;
|
|
3779
3815
|
}
|
|
3780
3816
|
}
|
|
3781
3817
|
} catch (err) {
|
|
@@ -4131,7 +4167,7 @@ export const useDataStore = defineStore('data', {
|
|
|
4131
4167
|
}
|
|
4132
4168
|
},
|
|
4133
4169
|
hasJobSection(whichForm: keyof typeof StoreMembers) {
|
|
4134
|
-
if (this.isLifetrip || this.isPension || this.isBalam) return false;
|
|
4170
|
+
if (this.isLifetrip || this.isPension || this.isBalam || this.isTumar) return false;
|
|
4135
4171
|
switch (whichForm) {
|
|
4136
4172
|
case this.formStore.beneficiaryFormKey:
|
|
4137
4173
|
case this.formStore.beneficialOwnerFormKey:
|
package/types/enum.ts
CHANGED
package/types/index.ts
CHANGED
|
@@ -32,7 +32,8 @@ export type Projects =
|
|
|
32
32
|
| 'lka-auletti'
|
|
33
33
|
| 'prepensionannuity'
|
|
34
34
|
| 'balam'
|
|
35
|
-
| 'criticalillness'
|
|
35
|
+
| 'criticalillness'
|
|
36
|
+
| 'tumar';
|
|
36
37
|
export type MemberKeys = keyof ReturnType<typeof useFormStore>;
|
|
37
38
|
export type MemberFormTypes = 'policyholderForm' | 'insuredForm' | 'beneficiaryForm' | 'beneficialOwnerForm' | 'policyholdersRepresentativeForm' | 'productConditionsForm';
|
|
38
39
|
export type SingleMember = 'policyholderForm' | 'policyholdersRepresentativeForm';
|
|
@@ -584,6 +585,8 @@ export type InsisWorkDataApp = {
|
|
|
584
585
|
regionPolicyName?: string;
|
|
585
586
|
managerPolicy?: string;
|
|
586
587
|
managerPolicyName?: string;
|
|
588
|
+
executorGPH?: string;
|
|
589
|
+
executorGPHName?: string;
|
|
587
590
|
insuranceProgramType?: string;
|
|
588
591
|
};
|
|
589
592
|
|