hl-core 0.0.8-beta.14 → 0.0.8-beta.16
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/index.ts +16 -1
- package/api/interceptors.ts +1 -1
- package/components/Form/ProductConditionsBlock.vue +56 -8
- package/components/Layout/SettingsPanel.vue +1 -1
- package/components/Pages/Auth.vue +147 -30
- package/components/Pages/MemberForm.vue +1 -1
- package/components/Pages/ProductConditions.vue +10 -0
- package/components/Panel/PanelHandler.vue +8 -1
- package/composables/classes.ts +11 -0
- package/composables/styles.ts +2 -0
- package/locales/en.json +125 -2
- package/locales/kz.json +126 -3
- package/locales/ru.json +126 -3
- package/package.json +1 -1
- package/pages/500.vue +1 -1
- package/store/data.store.js +34 -7
- package/types/index.ts +2 -0
package/api/index.ts
CHANGED
|
@@ -13,7 +13,7 @@ export class ApiClass {
|
|
|
13
13
|
|
|
14
14
|
private async axiosCall<T>(config: AxiosRequestConfig): Promise<T> {
|
|
15
15
|
const dataStore = useDataStore();
|
|
16
|
-
if ((
|
|
16
|
+
if ((dataStore.isBridge && !this.baseURL) || (!dataStore.isEFO && !dataStore.isAML && !dataStore.isLKA && (!this.baseURL || !this.productUrl))) {
|
|
17
17
|
console.error('No Axios baseURL or productURL');
|
|
18
18
|
}
|
|
19
19
|
const { data } = await useAxios(this.baseURL).request<T>(config);
|
|
@@ -283,6 +283,14 @@ export class ApiClass {
|
|
|
283
283
|
});
|
|
284
284
|
}
|
|
285
285
|
|
|
286
|
+
async registerNumber(data: RegNumberDataType): Promise<string> {
|
|
287
|
+
return this.axiosCall({
|
|
288
|
+
method: Methods.POST,
|
|
289
|
+
url: `/${this.productUrl}/api/Application/FinCenterRegNumberSave`,
|
|
290
|
+
data: data,
|
|
291
|
+
});
|
|
292
|
+
}
|
|
293
|
+
|
|
286
294
|
async sendSms(data: SmsDataType): Promise<void> {
|
|
287
295
|
return this.axiosCall({
|
|
288
296
|
method: Methods.POST,
|
|
@@ -411,6 +419,13 @@ export class ApiClass {
|
|
|
411
419
|
});
|
|
412
420
|
}
|
|
413
421
|
|
|
422
|
+
async getProcessHistoryLog(historyId: string) {
|
|
423
|
+
return this.axiosCall({
|
|
424
|
+
method: Methods.GET,
|
|
425
|
+
url: `/Arm/api/Bpm/ProcessHistoryLog/${historyId}`,
|
|
426
|
+
});
|
|
427
|
+
}
|
|
428
|
+
|
|
414
429
|
async createInvoice(processInstanceId: string, amount: number | string): Promise<string> {
|
|
415
430
|
return this.axiosCall({
|
|
416
431
|
method: Methods.POST,
|
package/api/interceptors.ts
CHANGED
|
@@ -21,7 +21,7 @@ export default function (axios: AxiosInstance) {
|
|
|
21
21
|
if (error.response.status === 401) {
|
|
22
22
|
dataStore.$reset();
|
|
23
23
|
localStorage.clear();
|
|
24
|
-
if (dataStore.
|
|
24
|
+
if (dataStore.isBridge) {
|
|
25
25
|
router.push({ name: 'Auth', query: { error: 401 } });
|
|
26
26
|
} else {
|
|
27
27
|
dataStore.sendToParent(constants.postActions.Error401, 401);
|
|
@@ -7,16 +7,20 @@
|
|
|
7
7
|
<p v-if="!!subtitle" :class="[$libStyles.greyText, $libStyles.textSimple]">{{ subtitle }}</p>
|
|
8
8
|
</div>
|
|
9
9
|
<div class="mt-6 grid grid-cols-3 lg:grid-cols-5 auto-rows-fr items-center">
|
|
10
|
-
<span :class="[$libStyles.textSimple]" class="font-medium">{{ $t('productConditionsForm.requestedSumInsured') }}</span>
|
|
11
|
-
<span :class="[$libStyles.textSimple]" class="font-medium">{{ $t('productConditionsForm.insurancePremiumPerMonth') }}</span>
|
|
12
|
-
<span :class="[$libStyles.textSimple]" class="font-medium
|
|
13
|
-
<span :class="[$libStyles.textSimple]" class="font-medium
|
|
10
|
+
<span v-if="hasSum" :class="[$libStyles.textSimple]" class="font-medium">{{ $t('productConditionsForm.requestedSumInsured') }}</span>
|
|
11
|
+
<span v-if="hasPremium" :class="[$libStyles.textSimple]" class="font-medium">{{ $t('productConditionsForm.insurancePremiumPerMonth') }}</span>
|
|
12
|
+
<span v-if="hasPolicyNumber" :class="[$libStyles.textSimple]" class="font-medium">{{ $t('buttons.InsuranceContract') }}</span>
|
|
13
|
+
<span v-if="hasContractDate" :class="[$libStyles.textSimple]" class="font-medium">{{ $t('productConditionsForm.contractDate') }}</span>
|
|
14
|
+
<span v-if="hasCoverPeriod" :class="[$libStyles.textSimple]" class="font-medium hidden lg:block">{{ $t('productConditionsForm.coverPeriod') }}</span>
|
|
15
|
+
<span v-if="hasPayPeriod" :class="[$libStyles.textSimple]" class="font-medium hidden lg:block">{{ $t('productConditionsForm.payPeriod') }}</span>
|
|
14
16
|
</div>
|
|
15
17
|
<div class="grid grid-cols-3 lg:grid-cols-5 auto-rows-fr items-center">
|
|
16
|
-
<span :class="[amount === null && $libStyles.emptyBlockCol]">{{ amount }} </span>
|
|
17
|
-
<span :class="[premium === null && $libStyles.emptyBlockCol]"> {{ premium }}</span>
|
|
18
|
-
<span :class="[
|
|
19
|
-
<span :class="[
|
|
18
|
+
<span v-if="hasSum" :class="[amount === null && $libStyles.emptyBlockCol]">{{ amount }} </span>
|
|
19
|
+
<span v-if="hasPremium" :class="[premium === null && $libStyles.emptyBlockCol]"> {{ premium }}</span>
|
|
20
|
+
<span v-if="hasPolicyNumber" :class="[policyNumber === null && $libStyles.emptyBlockCol]"> {{ policyNumber }}</span>
|
|
21
|
+
<span v-if="hasContractDate" :class="[policyNumber === null && $libStyles.emptyBlockCol]"> {{ contractDate }}</span>
|
|
22
|
+
<span v-if="hasCoverPeriod" :class="[coverPeriod === null && $libStyles.emptyBlockCol]" class="hidden lg:block">{{ coverPeriod }} </span>
|
|
23
|
+
<span v-if="hasPayPeriod" :class="[paymentPeriod === null && $libStyles.emptyBlockCol]" class="hidden lg:block">
|
|
20
24
|
{{ paymentPeriod }}
|
|
21
25
|
</span>
|
|
22
26
|
<div
|
|
@@ -43,6 +47,7 @@ export default defineComponent({
|
|
|
43
47
|
},
|
|
44
48
|
},
|
|
45
49
|
setup() {
|
|
50
|
+
const dataStore = useDataStore();
|
|
46
51
|
const formStore = useFormStore();
|
|
47
52
|
|
|
48
53
|
const amount = computed(() =>
|
|
@@ -51,12 +56,47 @@ export default defineComponent({
|
|
|
51
56
|
const premium = computed(() =>
|
|
52
57
|
formStore.productConditionsForm && formStore.productConditionsForm.insurancePremiumPerMonth ? formStore.productConditionsForm.insurancePremiumPerMonth : null,
|
|
53
58
|
);
|
|
59
|
+
const policyNumber = computed(() => (formStore.applicationData && formStore.applicationData.policyAppDto ? formStore.applicationData.policyAppDto.policyNumber : null));
|
|
60
|
+
const contractDate = computed(() =>
|
|
61
|
+
formStore.applicationData && formStore.applicationData.policyAppDto ? reformatDate(formStore.applicationData.policyAppDto.contractDate) : null,
|
|
62
|
+
);
|
|
54
63
|
const coverPeriod = computed(() => (formStore.productConditionsForm && formStore.productConditionsForm.coverPeriod ? formStore.productConditionsForm.coverPeriod : null));
|
|
55
64
|
const paymentPeriod = computed(() =>
|
|
56
65
|
formStore.productConditionsForm && formStore.productConditionsForm.paymentPeriod && !!formStore.productConditionsForm.paymentPeriod.nameRu
|
|
57
66
|
? formStore.productConditionsForm.paymentPeriod.nameRu
|
|
58
67
|
: null,
|
|
59
68
|
);
|
|
69
|
+
|
|
70
|
+
const hasSum = computed(() => {
|
|
71
|
+
return true;
|
|
72
|
+
});
|
|
73
|
+
const hasPremium = computed(() => {
|
|
74
|
+
return true;
|
|
75
|
+
});
|
|
76
|
+
const hasPolicyNumber = computed(() => {
|
|
77
|
+
if (dataStore.isFinCenter()) {
|
|
78
|
+
return true;
|
|
79
|
+
}
|
|
80
|
+
return false;
|
|
81
|
+
});
|
|
82
|
+
const hasContractDate = computed(() => {
|
|
83
|
+
if (dataStore.isFinCenter()) {
|
|
84
|
+
return true;
|
|
85
|
+
}
|
|
86
|
+
return false;
|
|
87
|
+
});
|
|
88
|
+
const hasCoverPeriod = computed(() => {
|
|
89
|
+
if (dataStore.isFinCenter()) {
|
|
90
|
+
return false;
|
|
91
|
+
}
|
|
92
|
+
return true;
|
|
93
|
+
});
|
|
94
|
+
const hasPayPeriod = computed(() => {
|
|
95
|
+
if (dataStore.isFinCenter()) {
|
|
96
|
+
return false;
|
|
97
|
+
}
|
|
98
|
+
return true;
|
|
99
|
+
});
|
|
60
100
|
return {
|
|
61
101
|
// State
|
|
62
102
|
formStore,
|
|
@@ -64,8 +104,16 @@ export default defineComponent({
|
|
|
64
104
|
// Computed
|
|
65
105
|
amount,
|
|
66
106
|
premium,
|
|
107
|
+
policyNumber,
|
|
108
|
+
contractDate,
|
|
67
109
|
coverPeriod,
|
|
68
110
|
paymentPeriod,
|
|
111
|
+
hasSum,
|
|
112
|
+
hasPremium,
|
|
113
|
+
hasPolicyNumber,
|
|
114
|
+
hasContractDate,
|
|
115
|
+
hasPayPeriod,
|
|
116
|
+
hasCoverPeriod,
|
|
69
117
|
};
|
|
70
118
|
},
|
|
71
119
|
});
|
|
@@ -34,7 +34,7 @@ const dataStore = useDataStore();
|
|
|
34
34
|
const handleFontSize = (action: 'increase' | 'decrease') => {
|
|
35
35
|
if (action === 'increase' && dataStore.fontSize < 24) dataStore.fontSize += 2;
|
|
36
36
|
if (action === 'decrease' && dataStore.fontSize > 14) dataStore.fontSize -= 2;
|
|
37
|
-
if (dataStore.
|
|
37
|
+
if (dataStore.isBridge) {
|
|
38
38
|
dataStore.sendToChild(constants.postActions.font, dataStore.fontSize);
|
|
39
39
|
} else {
|
|
40
40
|
dataStore.sendToParent(constants.postActions.font, dataStore.fontSize);
|
|
@@ -1,27 +1,88 @@
|
|
|
1
1
|
<template>
|
|
2
|
-
<section class="flex
|
|
3
|
-
<
|
|
4
|
-
|
|
5
|
-
<base-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
2
|
+
<section class="flex h-full" :class="$libStyles.blueBgLight">
|
|
3
|
+
<aside :class="{ '!hidden': !$display().lgAndUp.value }" class="w-full lg:w-1/4 bg-white flex flex-col justify-between border-r-2 relative px-8">
|
|
4
|
+
<img draggable="false" class="w-[50%] mt-8" src="~/assets/auth-logo.svg" />
|
|
5
|
+
<div class="self-center flex flex-col items-center justify-center base-auth">
|
|
6
|
+
<v-carousel :show-arrows="false" color="#009C73">
|
|
7
|
+
<v-carousel-item v-for="(item, index) of carouselItems" :key="index">
|
|
8
|
+
<img draggable="false" class="mx-auto" :src="item.img" />
|
|
9
|
+
<div class="flex flex-col items-center justify-center mt-12 mb-8 text-center">
|
|
10
|
+
<h2 class="text-[22px] font-medium mb-1">{{ item.title }}</h2>
|
|
11
|
+
<h4 class="text-[16px]">{{ item.subtitle }}</h4>
|
|
12
|
+
</div>
|
|
13
|
+
</v-carousel-item>
|
|
14
|
+
</v-carousel>
|
|
15
|
+
</div>
|
|
16
|
+
<base-btn :text="$t('buttons.more')" :disabled="true" class="mb-28"></base-btn>
|
|
17
|
+
</aside>
|
|
18
|
+
<section v-if="isLogin" class="w-full lg:w-3/4 flex flex-col justify-center">
|
|
19
|
+
<img :class="{ '!block': !$display().lgAndUp.value }" draggable="false" class="hidden w-2/4 sm:w-1/3 mb-10 self-center" src="~/assets/auth-logo.svg" />
|
|
20
|
+
<div class="flex flex-col items-center mb-8">
|
|
21
|
+
<h1 class="text-[28px] font-medium mb-1">{{ $t('labels.welcomeHL') }}</h1>
|
|
22
|
+
<span :class="[$libStyles.greyTextDark]" class="text-[16px]">{{ $t('labels.needAuth') }}</span>
|
|
23
|
+
</div>
|
|
24
|
+
<v-form ref="vForm" class="w-2/3 lg:w-[25vw] self-center">
|
|
25
|
+
<base-rounded-input
|
|
26
|
+
class="mb-1"
|
|
27
|
+
v-model="login"
|
|
28
|
+
:rules="$rules.required"
|
|
29
|
+
:loading="authLoading"
|
|
30
|
+
:placeholder="$t('buttons.userLogin')"
|
|
31
|
+
type="text"
|
|
32
|
+
@submitted="submitAuthForm"
|
|
33
|
+
></base-rounded-input>
|
|
34
|
+
<base-rounded-input
|
|
35
|
+
class="mb-1"
|
|
36
|
+
v-model="password"
|
|
37
|
+
:rules="$rules.required"
|
|
38
|
+
:loading="authLoading"
|
|
39
|
+
:placeholder="$t('buttons.password')"
|
|
40
|
+
:append-inner-icon="showPassword ? 'mdi-eye-outline' : 'mdi-eye-off-outline'"
|
|
41
|
+
@append="showPassword = !showPassword"
|
|
42
|
+
:type="showPassword ? ('' as InputTypes) : 'password'"
|
|
43
|
+
@submitted="submitAuthForm"
|
|
44
|
+
></base-rounded-input>
|
|
45
|
+
<span v-if="$dataStore.isLKA" class="inline-block w-full text-end mb-4" :class="[$libStyles.textSimple, $libStyles.greyTextDark]" @click="isLogin = false">{{
|
|
46
|
+
$t('labels.resetPassword')
|
|
47
|
+
}}</span>
|
|
48
|
+
<base-btn :text="$t('buttons.login')" :disabled="authLoading" :btn="$libStyles.greenBtn" @click="submitAuthForm"></base-btn>
|
|
49
|
+
</v-form>
|
|
50
|
+
</section>
|
|
51
|
+
<section v-if="isLogin === false" class="w-full lg:w-3/4 flex flex-col justify-center items-center">
|
|
52
|
+
<div class="flex flex-col items-center mb-4">
|
|
53
|
+
<h1 class="text-[28px] font-medium mb-1">{{ $t('labels.resetPassword') }}</h1>
|
|
54
|
+
<span :class="[$libStyles.greyTextDark]" class="text-[16px]">{{ $t('labels.resetType') }}</span>
|
|
55
|
+
</div>
|
|
56
|
+
<div class="p-[2px] mb-8 rounded-[12px] border-[1px]" :class="[$libStyles.whiteBg]">
|
|
57
|
+
<v-tabs v-model="resetPasswordType" density="compact" slider-color="#009c73" class="base-reset-password rounded-[12px] w-2/3 lg:w-[25vw]" :class="[$libStyles.whiteBg]">
|
|
58
|
+
<v-tab :ripple="false" value="phone"> {{ $t('form.phoneNumber') }} </v-tab>
|
|
59
|
+
<v-tab :ripple="false" value="email"> {{ $t('form.email') }} </v-tab>
|
|
60
|
+
</v-tabs>
|
|
61
|
+
</div>
|
|
62
|
+
<v-form ref="vForm" class="w-2/3 lg:w-[25vw] self-center">
|
|
63
|
+
<base-rounded-input
|
|
64
|
+
v-if="resetPasswordType === 'phone'"
|
|
65
|
+
v-model="phone"
|
|
66
|
+
:maska="$maska.phone"
|
|
67
|
+
:rules="$rules.required.concat($rules.phoneFormat)"
|
|
68
|
+
:loading="authLoading"
|
|
69
|
+
:placeholder="$t('form.phoneNumber')"
|
|
70
|
+
type="text"
|
|
71
|
+
@submitted="submitAuthForm"
|
|
72
|
+
></base-rounded-input>
|
|
73
|
+
<base-rounded-input
|
|
74
|
+
v-if="resetPasswordType === 'email'"
|
|
75
|
+
v-model="email"
|
|
76
|
+
:rules="$rules.required.concat($rules.email)"
|
|
77
|
+
:loading="authLoading"
|
|
78
|
+
:placeholder="$t('form.email')"
|
|
79
|
+
type="text"
|
|
80
|
+
@submitted="submitAuthForm"
|
|
81
|
+
></base-rounded-input>
|
|
82
|
+
<span class="inline-block w-full text-end mb-4" :class="[$libStyles.textSimple, $libStyles.greyTextDark]" @click="isLogin = true">{{ $t('buttons.login') }}</span>
|
|
83
|
+
<base-btn :text="$t('buttons.reset')" :disabled="authLoading" :btn="$libStyles.greenBtn" @click="submitAuthForm"></base-btn>
|
|
84
|
+
</v-form>
|
|
85
|
+
</section>
|
|
25
86
|
</section>
|
|
26
87
|
</template>
|
|
27
88
|
|
|
@@ -33,6 +94,11 @@ export default defineComponent({
|
|
|
33
94
|
const dataStore = useDataStore();
|
|
34
95
|
|
|
35
96
|
const vForm = ref<any>(null);
|
|
97
|
+
const isLogin = ref<boolean>(true);
|
|
98
|
+
const showPassword = ref<boolean>(false);
|
|
99
|
+
const phone = ref<string>();
|
|
100
|
+
const email = ref<string>();
|
|
101
|
+
const resetPasswordType = ref<string>();
|
|
36
102
|
|
|
37
103
|
const credentials = {
|
|
38
104
|
production: { login: '', password: '' },
|
|
@@ -41,6 +107,24 @@ export default defineComponent({
|
|
|
41
107
|
vercel: { login: '', password: 'asdqwe123' },
|
|
42
108
|
};
|
|
43
109
|
|
|
110
|
+
const carouselItems = [
|
|
111
|
+
{
|
|
112
|
+
title: 'Все полисы в один клик!',
|
|
113
|
+
subtitle: 'Мгновенный доступ к информации о ваших полисах',
|
|
114
|
+
img: '/left-side-1.png',
|
|
115
|
+
},
|
|
116
|
+
{
|
|
117
|
+
title: 'Все полисы в один клик!',
|
|
118
|
+
subtitle: 'Мгновенный доступ к информации о ваших полисах',
|
|
119
|
+
img: '/left-side-1.png',
|
|
120
|
+
},
|
|
121
|
+
{
|
|
122
|
+
title: 'Все полисы в один клик!',
|
|
123
|
+
subtitle: 'Мгновенный доступ к информации о ваших полисах',
|
|
124
|
+
img: '/left-side-1.png',
|
|
125
|
+
},
|
|
126
|
+
];
|
|
127
|
+
|
|
44
128
|
const useEnv = {
|
|
45
129
|
envMode: import.meta.env.VITE_MODE,
|
|
46
130
|
isDev: import.meta.env.VITE_MODE === 'development',
|
|
@@ -68,24 +152,57 @@ export default defineComponent({
|
|
|
68
152
|
const submitAuthForm = async () => {
|
|
69
153
|
await vForm.value.validate().then(async (v: { valid: Boolean; errors: any }) => {
|
|
70
154
|
if (v.valid) {
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
155
|
+
if (isLogin.value === true) {
|
|
156
|
+
authLoading.value = true;
|
|
157
|
+
await dataStore.loginUser(login.value, password.value, numAttempts.value);
|
|
158
|
+
numAttempts.value++;
|
|
159
|
+
authLoading.value = false;
|
|
160
|
+
if (!!dataStore.user.id) {
|
|
161
|
+
router.push({ name: 'index' });
|
|
162
|
+
}
|
|
163
|
+
} else {
|
|
164
|
+
// TODO Reset password
|
|
77
165
|
}
|
|
78
166
|
}
|
|
79
167
|
});
|
|
80
168
|
};
|
|
81
169
|
|
|
82
170
|
return {
|
|
171
|
+
// State
|
|
83
172
|
login,
|
|
84
|
-
password,
|
|
85
173
|
vForm,
|
|
174
|
+
phone,
|
|
175
|
+
email,
|
|
176
|
+
isLogin,
|
|
177
|
+
password,
|
|
86
178
|
authLoading,
|
|
179
|
+
showPassword,
|
|
180
|
+
carouselItems,
|
|
181
|
+
resetPasswordType,
|
|
182
|
+
|
|
183
|
+
// Functions
|
|
87
184
|
submitAuthForm,
|
|
88
185
|
};
|
|
89
186
|
},
|
|
90
187
|
});
|
|
91
188
|
</script>
|
|
189
|
+
|
|
190
|
+
<style>
|
|
191
|
+
.base-auth .v-carousel__controls {
|
|
192
|
+
background: white !important;
|
|
193
|
+
}
|
|
194
|
+
.base-reset-password .v-tab__slider {
|
|
195
|
+
z-index: -1;
|
|
196
|
+
height: 100% !important;
|
|
197
|
+
border-radius: 12px;
|
|
198
|
+
}
|
|
199
|
+
.base-reset-password .v-tab {
|
|
200
|
+
width: 50%;
|
|
201
|
+
color: #566681;
|
|
202
|
+
text-transform: unset;
|
|
203
|
+
font-size: 12px;
|
|
204
|
+
}
|
|
205
|
+
.base-reset-password .v-tab--selected {
|
|
206
|
+
color: white !important;
|
|
207
|
+
}
|
|
208
|
+
</style>
|
|
@@ -96,7 +96,7 @@
|
|
|
96
96
|
@append="openPanel($t('form.relations'), [], 'relationDegree', $dataStore.getRelationTypes)"
|
|
97
97
|
></base-panel-input>
|
|
98
98
|
<base-form-input
|
|
99
|
-
v-if="whichForm === formStore.beneficiaryFormKey
|
|
99
|
+
v-if="whichForm === formStore.beneficiaryFormKey"
|
|
100
100
|
v-model="member.percentageOfPayoutAmount"
|
|
101
101
|
:readonly="isDisabled"
|
|
102
102
|
:clearable="!isDisabled"
|
|
@@ -13,6 +13,16 @@
|
|
|
13
13
|
subtitle="Если несовершеннолетний не достиг возраста 14 лет - законному представителю в соответствии с законодательством Республики Казахстан"
|
|
14
14
|
></base-form-text-section>
|
|
15
15
|
</base-form-section>
|
|
16
|
+
<base-form-section v-if="isUnderwriterRole && $dataStore.members.insuredApp.has === true" :title="$t('insuredForm')">
|
|
17
|
+
<div v-for="(insured, index) of formStore.insuredForm" :key="index">
|
|
18
|
+
<base-form-input v-model="insured.longName" :label="$t('labels.insurerLongName')" :readonly="true"> </base-form-input>
|
|
19
|
+
<base-form-input v-model="insured.job" :label="$t('form.job')" :readonly="true"> </base-form-input>
|
|
20
|
+
<base-form-input v-model="insured.jobPosition" :label="$t('form.jobPosition')" :readonly="true"> </base-form-input>
|
|
21
|
+
<base-form-input v-model="insured.birthDate" :label="$t('form.birthDate')" :readonly="true"> </base-form-input>
|
|
22
|
+
<base-form-input v-model="insured.age" :label="$t('form.age')" :readonly="true"> </base-form-input>
|
|
23
|
+
<base-form-input v-model="insured.gender.nameRu" class="mb-4" :label="$t('form.gender')" :readonly="true"> </base-form-input>
|
|
24
|
+
</div>
|
|
25
|
+
</base-form-section>
|
|
16
26
|
<base-form-section v-if="isUnderwriterRole" :title="$t('recalculationInfo')">
|
|
17
27
|
<base-form-input
|
|
18
28
|
v-model="productConditionsForm.lifeMultiply"
|
|
@@ -9,7 +9,7 @@
|
|
|
9
9
|
</section>
|
|
10
10
|
<section v-if="acceptAction">
|
|
11
11
|
<div :class="[$libStyles.flexColNav]">
|
|
12
|
-
<base-content-block class="flex flex-col gap-3">
|
|
12
|
+
<base-content-block v-if="hasConditionsInfo" class="flex flex-col gap-3">
|
|
13
13
|
<span
|
|
14
14
|
>{{ `Сумма страховой премии ${paymentPeriod}:` }} <b>{{ `${insurancePremiumPerMonth}₸` }}</b></span
|
|
15
15
|
>
|
|
@@ -242,6 +242,12 @@ export default defineComponent({
|
|
|
242
242
|
const paymentPeriod = computed(() => formStore.productConditionsForm.paymentPeriod.nameRu);
|
|
243
243
|
const insurancePremiumPerMonth = computed(() => dataStore.getNumberWithSpaces(formStore.productConditionsForm.insurancePremiumPerMonth));
|
|
244
244
|
const requestedSumInsured = computed(() => dataStore.getNumberWithSpaces(formStore.productConditionsForm.requestedSumInsured));
|
|
245
|
+
const hasConditionsInfo = computed(() => {
|
|
246
|
+
if (dataStore.isFinCenter()) {
|
|
247
|
+
return false;
|
|
248
|
+
}
|
|
249
|
+
return true;
|
|
250
|
+
});
|
|
245
251
|
|
|
246
252
|
return {
|
|
247
253
|
// State
|
|
@@ -272,6 +278,7 @@ export default defineComponent({
|
|
|
272
278
|
insurancePremiumPerMonth,
|
|
273
279
|
requestedSumInsured,
|
|
274
280
|
affiliationDocument,
|
|
281
|
+
hasConditionsInfo,
|
|
275
282
|
};
|
|
276
283
|
},
|
|
277
284
|
});
|
package/composables/classes.ts
CHANGED
|
@@ -1066,6 +1066,11 @@ export class FormStoreClass {
|
|
|
1066
1066
|
number: string | number | null;
|
|
1067
1067
|
date: string | number | null;
|
|
1068
1068
|
};
|
|
1069
|
+
finCenterData: {
|
|
1070
|
+
processInstanceId: string | number | null;
|
|
1071
|
+
regNumber: string | number | null;
|
|
1072
|
+
date: string | number | null;
|
|
1073
|
+
};
|
|
1069
1074
|
signedDocumentList: IDocument[];
|
|
1070
1075
|
surveyByHealthBase: AnketaFirst | null;
|
|
1071
1076
|
surveyByCriticalBase: AnketaFirst | null;
|
|
@@ -1108,6 +1113,7 @@ export class FormStoreClass {
|
|
|
1108
1113
|
beneficialOwnerApp?: any;
|
|
1109
1114
|
spokesmanApp?: any;
|
|
1110
1115
|
isTask?: boolean | null;
|
|
1116
|
+
policyAppDto?: any;
|
|
1111
1117
|
};
|
|
1112
1118
|
policyholderForm: PolicyholderForm;
|
|
1113
1119
|
policyholderFormKey: string;
|
|
@@ -1140,6 +1146,11 @@ export class FormStoreClass {
|
|
|
1140
1146
|
number: null,
|
|
1141
1147
|
date: null,
|
|
1142
1148
|
};
|
|
1149
|
+
this.finCenterData = {
|
|
1150
|
+
processInstanceId: null,
|
|
1151
|
+
regNumber: null,
|
|
1152
|
+
date: null,
|
|
1153
|
+
};
|
|
1143
1154
|
this.signedDocumentList = [];
|
|
1144
1155
|
this.surveyByHealthBase = null;
|
|
1145
1156
|
this.surveyByCriticalBase = null;
|
package/composables/styles.ts
CHANGED
|
@@ -36,6 +36,8 @@ export class Styles {
|
|
|
36
36
|
greyBtnBg: string = 'bg-[#EEE6E6]';
|
|
37
37
|
greyBtnDisabledBg: string = 'bg-[#919191]';
|
|
38
38
|
blueLightBgHover: string = 'hover:bg-[#F3F6FC]';
|
|
39
|
+
greyTextDark: string = 'text-[#9197A1]';
|
|
40
|
+
|
|
39
41
|
// Red
|
|
40
42
|
redText: string = 'text-[#FF897D]';
|
|
41
43
|
redBg: string = 'bg-[#FF897D]';
|
package/locales/en.json
CHANGED
|
@@ -141,7 +141,9 @@
|
|
|
141
141
|
"register": "Registration reestr number",
|
|
142
142
|
"send": "Send",
|
|
143
143
|
"toStatement": "Continue checkout",
|
|
144
|
-
"affiliate": "Attach Underwriter CD"
|
|
144
|
+
"affiliate": "Attach Underwriter CD",
|
|
145
|
+
"more": "More",
|
|
146
|
+
"reset": "Reset"
|
|
145
147
|
},
|
|
146
148
|
"dialog": {
|
|
147
149
|
"title": "Confirmation",
|
|
@@ -251,7 +253,8 @@
|
|
|
251
253
|
"insurancePremiumAmount": "Insurance Premium Amount",
|
|
252
254
|
"insurancePremiumAmountInDollar": "Amount of the Insurance premium (insurance fee) in dollars",
|
|
253
255
|
"coverPeriodFrom2to22": "Cover Period (from 2y to 20y)",
|
|
254
|
-
"dollarExchangeRateNBRK": "NBRK dollar exchange rate"
|
|
256
|
+
"dollarExchangeRateNBRK": "NBRK dollar exchange rate",
|
|
257
|
+
"contractDate": "Contract date"
|
|
255
258
|
},
|
|
256
259
|
"history": {
|
|
257
260
|
"addRegNumber": "Number",
|
|
@@ -268,7 +271,127 @@
|
|
|
268
271
|
"decision": "Status",
|
|
269
272
|
"userFullName": "Assignee"
|
|
270
273
|
},
|
|
274
|
+
"agent": {
|
|
275
|
+
"menu": "Меню",
|
|
276
|
+
"main": "Главное",
|
|
277
|
+
"reports": "Отчеты",
|
|
278
|
+
"report": "Отчет",
|
|
279
|
+
"notifications": "Уведомления",
|
|
280
|
+
"support": "Тех. поддержка",
|
|
281
|
+
"agentsInfo": "Сведения о страховых агентах",
|
|
282
|
+
"info": "Данные об агенте",
|
|
283
|
+
"about": "Сведения об Агенте",
|
|
284
|
+
"level": "Уровень",
|
|
285
|
+
"subAgents": "Суб-агенты",
|
|
286
|
+
"done": "Оформлено договоров",
|
|
287
|
+
"myContracts": "Оформлено договоров",
|
|
288
|
+
"nextLevel": "Следующий уровень {text}",
|
|
289
|
+
"leftMy": "Осталось оформить лично",
|
|
290
|
+
"leftAll": "Осталось оформить всего",
|
|
291
|
+
"donePolicies": "Оформлено полисов",
|
|
292
|
+
"successStat": "Статистика успешных сделок",
|
|
293
|
+
"doneMy": "Оформлено лично",
|
|
294
|
+
"doneAll": "Всего оформлено",
|
|
295
|
+
"progressAll": "Прогресс за все время работы",
|
|
296
|
+
"subagentsCalled": "Привлечено суб-агентов",
|
|
297
|
+
"myActivity": "Моя активность",
|
|
298
|
+
"teamActivity": "Активность команды",
|
|
299
|
+
"careerUp": "Карьерная лестница",
|
|
300
|
+
"direction": "Дирекция",
|
|
301
|
+
"leader": "Руководитель",
|
|
302
|
+
"agentic": "Агенство",
|
|
303
|
+
"agentCurator": "Куратор агента",
|
|
304
|
+
"agentId": "ID агента",
|
|
305
|
+
"reportType": "Тип отчета",
|
|
306
|
+
"reportFile": "Файл отчета",
|
|
307
|
+
"reportDate": "Отчетная дата",
|
|
308
|
+
"paymentJournal": "Журнал оплаты",
|
|
309
|
+
"journal": {
|
|
310
|
+
"incomeKz": "Приходы KZT",
|
|
311
|
+
"outcomeKz": "Расходы KZT",
|
|
312
|
+
"leftKz": "Остаток KZT",
|
|
313
|
+
"description": "Описание",
|
|
314
|
+
"delayMonth": "Месяц просрочки"
|
|
315
|
+
},
|
|
316
|
+
"unallocatedPayments": "Нераспределенные платежи",
|
|
317
|
+
"unallocation": {
|
|
318
|
+
"paymentId": "ID платежа",
|
|
319
|
+
"voucherNumber": "Номер ваучера",
|
|
320
|
+
"voucherDate": "Дата ваучера",
|
|
321
|
+
"voucherStatus": "Статус ваучера"
|
|
322
|
+
},
|
|
323
|
+
"unpaidPremiums": "Неоплаченные премии",
|
|
324
|
+
"unpaidDelay": "Просрочка",
|
|
325
|
+
"reportText": {
|
|
326
|
+
"reward": "Награда",
|
|
327
|
+
"cuWith": "Общие единицы с",
|
|
328
|
+
"cuBy": "Общие единицы по",
|
|
329
|
+
"puWith": "Личные единицы с",
|
|
330
|
+
"puBy": "Личные единицы по",
|
|
331
|
+
"minLevel": "Минимальный уровень",
|
|
332
|
+
"minNumOfSubs": "Мин. количество подчиненных",
|
|
333
|
+
"subsLevel": "Уровни подчиненных",
|
|
334
|
+
"daysAfter": "Дни после договора"
|
|
335
|
+
},
|
|
336
|
+
"supportText": {
|
|
337
|
+
"toChat": "Чат с тех. поддержкой"
|
|
338
|
+
},
|
|
339
|
+
"test": {
|
|
340
|
+
"testing": "Тестирование",
|
|
341
|
+
"results": "Результаты тестирования",
|
|
342
|
+
"type": "Вид тестирования",
|
|
343
|
+
"date": "Дата прохождения тестирования",
|
|
344
|
+
"resultInProcents": "Результат тестирования в процентах"
|
|
345
|
+
}
|
|
346
|
+
},
|
|
347
|
+
"jobApplication": {
|
|
348
|
+
"title": "Заявление на трудоустройсво",
|
|
349
|
+
"sent": "Заявление отправлено в страховую компанию",
|
|
350
|
+
"whichRegion": "Агентом какого региона вы хотите стать",
|
|
351
|
+
"requisites": "Реквизиты",
|
|
352
|
+
"conductReport": "Справка о несудимости",
|
|
353
|
+
"diplom": "Диплом",
|
|
354
|
+
"new": "Подать заявление"
|
|
355
|
+
},
|
|
271
356
|
"labels": {
|
|
357
|
+
"photo": "Фото",
|
|
358
|
+
"attachPhoto": "Вложить фото",
|
|
359
|
+
"form": "Форма",
|
|
360
|
+
"toSign": "Отправить на подпись",
|
|
361
|
+
"contract": "Договор",
|
|
362
|
+
"sections": "Разделы",
|
|
363
|
+
"chat": "Чат",
|
|
364
|
+
"today": "Сегодня",
|
|
365
|
+
"message": "Сообщение",
|
|
366
|
+
"category": "Категория",
|
|
367
|
+
"debt": "Долг",
|
|
368
|
+
"premiumDate": "Дата премии",
|
|
369
|
+
"delayDays": "Дни просрочки",
|
|
370
|
+
"dischargeDate": "Дата выписки",
|
|
371
|
+
"covering": "Покрытие",
|
|
372
|
+
"agentsContacts": "Контакты агента",
|
|
373
|
+
"clientsContacts": "Контакты страхователя",
|
|
374
|
+
"agentNumber": "Номер агента",
|
|
375
|
+
"additionalStatus": "Дополнительный статус",
|
|
376
|
+
"activeTime": "Время действия",
|
|
377
|
+
"statementNumber": "Номер заявления",
|
|
378
|
+
"dogovorDate": "Дата договора",
|
|
379
|
+
"dateCreated": "Дата создания",
|
|
380
|
+
"fileName": "Имя файла",
|
|
381
|
+
"reset": "Сбросить",
|
|
382
|
+
"toExcel": "Экспорт в Excel",
|
|
383
|
+
"condition": "Условие",
|
|
384
|
+
"bet": "Ставка",
|
|
385
|
+
"statistics": "Статистика",
|
|
386
|
+
"progressBar": "Шкала прогресса",
|
|
387
|
+
"toAgent": "Оформить",
|
|
388
|
+
"notification": "Уведомление",
|
|
389
|
+
"news": "Новости",
|
|
390
|
+
"profile": "Профиль",
|
|
391
|
+
"needAuth": "You are required to authorize",
|
|
392
|
+
"welcomeHL": "Welcome to Halyk Life",
|
|
393
|
+
"resetType": "Pick resetting method",
|
|
394
|
+
"resetPassword": "Forgot password?",
|
|
272
395
|
"search": "Search",
|
|
273
396
|
"searchByIIN": "Search by IIN",
|
|
274
397
|
"chooseScannedDoc": "Choose scanned document",
|
package/locales/kz.json
CHANGED
|
@@ -96,7 +96,7 @@
|
|
|
96
96
|
"add": "Добавить",
|
|
97
97
|
"userLogin": "Логин",
|
|
98
98
|
"password": "Пароль",
|
|
99
|
-
"login": "
|
|
99
|
+
"login": "Войти в систему",
|
|
100
100
|
"save": "Сохранить",
|
|
101
101
|
"back": "Назад",
|
|
102
102
|
"sign": "Подписать",
|
|
@@ -141,7 +141,9 @@
|
|
|
141
141
|
"register": "Укажите номер регистрации реестра",
|
|
142
142
|
"send": "Отправить",
|
|
143
143
|
"toStatement": "Продолжить оформление",
|
|
144
|
-
"affiliate": "Добавить решение АС"
|
|
144
|
+
"affiliate": "Добавить решение АС",
|
|
145
|
+
"more": "Подробнее",
|
|
146
|
+
"reset": "Восстановить"
|
|
145
147
|
},
|
|
146
148
|
"dialog": {
|
|
147
149
|
"title": "Подтверждение",
|
|
@@ -251,7 +253,8 @@
|
|
|
251
253
|
"coverPeriodFrom2to22": "Срок страхования (от 2-х до 20 лет)",
|
|
252
254
|
"insurancePremiumAmount": "Размер Страховой премии (страховой взнос)",
|
|
253
255
|
"insurancePremiumAmountInDollar": "Размер Страховой премии (страховой взнос) в долларах",
|
|
254
|
-
"dollarExchangeRateNBRK": "Курс доллара НБРК"
|
|
256
|
+
"dollarExchangeRateNBRK": "Курс доллара НБРК",
|
|
257
|
+
"contractDate": "Дата контракта"
|
|
255
258
|
},
|
|
256
259
|
"history": {
|
|
257
260
|
"addRegNumber": "Номер",
|
|
@@ -268,7 +271,127 @@
|
|
|
268
271
|
"decision": "Статус",
|
|
269
272
|
"userFullName": "Исполнитель"
|
|
270
273
|
},
|
|
274
|
+
"agent": {
|
|
275
|
+
"menu": "Меню",
|
|
276
|
+
"main": "Главное",
|
|
277
|
+
"reports": "Отчеты",
|
|
278
|
+
"report": "Отчет",
|
|
279
|
+
"notifications": "Уведомления",
|
|
280
|
+
"support": "Тех. поддержка",
|
|
281
|
+
"agentsInfo": "Сведения о страховых агентах",
|
|
282
|
+
"info": "Данные об агенте",
|
|
283
|
+
"about": "Сведения об Агенте",
|
|
284
|
+
"level": "Уровень",
|
|
285
|
+
"subAgents": "Суб-агенты",
|
|
286
|
+
"done": "Оформлено договоров",
|
|
287
|
+
"myContracts": "Оформлено договоров",
|
|
288
|
+
"nextLevel": "Следующий уровень {text}",
|
|
289
|
+
"leftMy": "Осталось оформить лично",
|
|
290
|
+
"leftAll": "Осталось оформить всего",
|
|
291
|
+
"donePolicies": "Оформлено полисов",
|
|
292
|
+
"successStat": "Статистика успешных сделок",
|
|
293
|
+
"doneMy": "Оформлено лично",
|
|
294
|
+
"doneAll": "Всего оформлено",
|
|
295
|
+
"progressAll": "Прогресс за все время работы",
|
|
296
|
+
"subagentsCalled": "Привлечено суб-агентов",
|
|
297
|
+
"myActivity": "Моя активность",
|
|
298
|
+
"teamActivity": "Активность команды",
|
|
299
|
+
"careerUp": "Карьерная лестница",
|
|
300
|
+
"direction": "Дирекция",
|
|
301
|
+
"leader": "Руководитель",
|
|
302
|
+
"agentic": "Агенство",
|
|
303
|
+
"agentCurator": "Куратор агента",
|
|
304
|
+
"agentId": "ID агента",
|
|
305
|
+
"reportType": "Тип отчета",
|
|
306
|
+
"reportFile": "Файл отчета",
|
|
307
|
+
"reportDate": "Отчетная дата",
|
|
308
|
+
"paymentJournal": "Журнал оплаты",
|
|
309
|
+
"journal": {
|
|
310
|
+
"incomeKz": "Приходы KZT",
|
|
311
|
+
"outcomeKz": "Расходы KZT",
|
|
312
|
+
"leftKz": "Остаток KZT",
|
|
313
|
+
"description": "Описание",
|
|
314
|
+
"delayMonth": "Месяц просрочки"
|
|
315
|
+
},
|
|
316
|
+
"unallocatedPayments": "Нераспределенные платежи",
|
|
317
|
+
"unallocation": {
|
|
318
|
+
"paymentId": "ID платежа",
|
|
319
|
+
"voucherNumber": "Номер ваучера",
|
|
320
|
+
"voucherDate": "Дата ваучера",
|
|
321
|
+
"voucherStatus": "Статус ваучера"
|
|
322
|
+
},
|
|
323
|
+
"unpaidPremiums": "Неоплаченные премии",
|
|
324
|
+
"unpaidDelay": "Просрочка",
|
|
325
|
+
"reportText": {
|
|
326
|
+
"reward": "Награда",
|
|
327
|
+
"cuWith": "Общие единицы с",
|
|
328
|
+
"cuBy": "Общие единицы по",
|
|
329
|
+
"puWith": "Личные единицы с",
|
|
330
|
+
"puBy": "Личные единицы по",
|
|
331
|
+
"minLevel": "Минимальный уровень",
|
|
332
|
+
"minNumOfSubs": "Мин. количество подчиненных",
|
|
333
|
+
"subsLevel": "Уровни подчиненных",
|
|
334
|
+
"daysAfter": "Дни после договора"
|
|
335
|
+
},
|
|
336
|
+
"supportText": {
|
|
337
|
+
"toChat": "Чат с тех. поддержкой"
|
|
338
|
+
},
|
|
339
|
+
"test": {
|
|
340
|
+
"testing": "Тестирование",
|
|
341
|
+
"results": "Результаты тестирования",
|
|
342
|
+
"type": "Вид тестирования",
|
|
343
|
+
"date": "Дата прохождения тестирования",
|
|
344
|
+
"resultInProcents": "Результат тестирования в процентах"
|
|
345
|
+
}
|
|
346
|
+
},
|
|
347
|
+
"jobApplication": {
|
|
348
|
+
"title": "Заявление на трудоустройсво",
|
|
349
|
+
"sent": "Заявление отправлено в страховую компанию",
|
|
350
|
+
"whichRegion": "Агентом какого региона вы хотите стать",
|
|
351
|
+
"requisites": "Реквизиты",
|
|
352
|
+
"conductReport": "Справка о несудимости",
|
|
353
|
+
"diplom": "Диплом",
|
|
354
|
+
"new": "Подать заявление"
|
|
355
|
+
},
|
|
271
356
|
"labels": {
|
|
357
|
+
"photo": "Фото",
|
|
358
|
+
"attachPhoto": "Вложить фото",
|
|
359
|
+
"form": "Форма",
|
|
360
|
+
"toSign": "Отправить на подпись",
|
|
361
|
+
"contract": "Договор",
|
|
362
|
+
"sections": "Разделы",
|
|
363
|
+
"chat": "Чат",
|
|
364
|
+
"today": "Сегодня",
|
|
365
|
+
"message": "Сообщение",
|
|
366
|
+
"category": "Категория",
|
|
367
|
+
"debt": "Долг",
|
|
368
|
+
"premiumDate": "Дата премии",
|
|
369
|
+
"delayDays": "Дни просрочки",
|
|
370
|
+
"dischargeDate": "Дата выписки",
|
|
371
|
+
"covering": "Покрытие",
|
|
372
|
+
"agentsContacts": "Контакты агента",
|
|
373
|
+
"clientsContacts": "Контакты страхователя",
|
|
374
|
+
"agentNumber": "Номер агента",
|
|
375
|
+
"additionalStatus": "Дополнительный статус",
|
|
376
|
+
"activeTime": "Время действия",
|
|
377
|
+
"statementNumber": "Номер заявления",
|
|
378
|
+
"dogovorDate": "Дата договора",
|
|
379
|
+
"dateCreated": "Дата создания",
|
|
380
|
+
"fileName": "Имя файла",
|
|
381
|
+
"reset": "Сбросить",
|
|
382
|
+
"toExcel": "Экспорт в Excel",
|
|
383
|
+
"condition": "Условие",
|
|
384
|
+
"bet": "Ставка",
|
|
385
|
+
"statistics": "Статистика",
|
|
386
|
+
"progressBar": "Шкала прогресса",
|
|
387
|
+
"toAgent": "Оформить",
|
|
388
|
+
"notification": "Уведомление",
|
|
389
|
+
"news": "Новости",
|
|
390
|
+
"profile": "Профиль",
|
|
391
|
+
"needAuth": "Для получения доступа Вам необходимо авторизоваться",
|
|
392
|
+
"welcomeHL": "Добро пожаловать в Halyk Life",
|
|
393
|
+
"resetType": "Выберите способ восстановление пароля",
|
|
394
|
+
"resetPassword": "Забыли пароль?",
|
|
272
395
|
"search": "Поиск",
|
|
273
396
|
"searchByIIN": "Поиск по ИИН",
|
|
274
397
|
"chooseScannedDoc": "Выбрать отсканированный документ",
|
package/locales/ru.json
CHANGED
|
@@ -96,7 +96,7 @@
|
|
|
96
96
|
"add": "Добавить",
|
|
97
97
|
"userLogin": "Логин",
|
|
98
98
|
"password": "Пароль",
|
|
99
|
-
"login": "
|
|
99
|
+
"login": "Войти в систему",
|
|
100
100
|
"save": "Сохранить",
|
|
101
101
|
"back": "Назад",
|
|
102
102
|
"sign": "Подписать",
|
|
@@ -141,7 +141,9 @@
|
|
|
141
141
|
"register": "Укажите номер регистрации реестра",
|
|
142
142
|
"send": "Отправить",
|
|
143
143
|
"toStatement": "Продолжить оформление",
|
|
144
|
-
"affiliate": "Добавить решение АС"
|
|
144
|
+
"affiliate": "Добавить решение АС",
|
|
145
|
+
"more": "Подробнее",
|
|
146
|
+
"reset": "Восстановить"
|
|
145
147
|
},
|
|
146
148
|
"dialog": {
|
|
147
149
|
"title": "Подтверждение",
|
|
@@ -251,7 +253,8 @@
|
|
|
251
253
|
"coverPeriodFrom2to22": "Срок страхования (от 2-х до 20 лет)",
|
|
252
254
|
"insurancePremiumAmount": "Размер Страховой премии (страховой взнос)",
|
|
253
255
|
"insurancePremiumAmountInDollar": "Размер Страховой премии (страховой взнос) в долларах",
|
|
254
|
-
"dollarExchangeRateNBRK": "Курс доллара НБРК"
|
|
256
|
+
"dollarExchangeRateNBRK": "Курс доллара НБРК",
|
|
257
|
+
"contractDate": "Дата контракта"
|
|
255
258
|
},
|
|
256
259
|
"history": {
|
|
257
260
|
"addRegNumber": "Номер",
|
|
@@ -268,7 +271,127 @@
|
|
|
268
271
|
"decision": "Статус",
|
|
269
272
|
"userFullName": "Исполнитель"
|
|
270
273
|
},
|
|
274
|
+
"agent": {
|
|
275
|
+
"menu": "Меню",
|
|
276
|
+
"main": "Главное",
|
|
277
|
+
"reports": "Отчеты",
|
|
278
|
+
"report": "Отчет",
|
|
279
|
+
"notifications": "Уведомления",
|
|
280
|
+
"support": "Тех. поддержка",
|
|
281
|
+
"agentsInfo": "Сведения о страховых агентах",
|
|
282
|
+
"info": "Данные об агенте",
|
|
283
|
+
"about": "Сведения об Агенте",
|
|
284
|
+
"level": "Уровень",
|
|
285
|
+
"subAgents": "Суб-агенты",
|
|
286
|
+
"done": "Оформлено договоров",
|
|
287
|
+
"myContracts": "Оформлено договоров",
|
|
288
|
+
"nextLevel": "Следующий уровень {text}",
|
|
289
|
+
"leftMy": "Осталось оформить лично",
|
|
290
|
+
"leftAll": "Осталось оформить всего",
|
|
291
|
+
"donePolicies": "Оформлено полисов",
|
|
292
|
+
"successStat": "Статистика успешных сделок",
|
|
293
|
+
"doneMy": "Оформлено лично",
|
|
294
|
+
"doneAll": "Всего оформлено",
|
|
295
|
+
"progressAll": "Прогресс за все время работы",
|
|
296
|
+
"subagentsCalled": "Привлечено суб-агентов",
|
|
297
|
+
"myActivity": "Моя активность",
|
|
298
|
+
"teamActivity": "Активность команды",
|
|
299
|
+
"careerUp": "Карьерная лестница",
|
|
300
|
+
"direction": "Дирекция",
|
|
301
|
+
"leader": "Руководитель",
|
|
302
|
+
"agentic": "Агенство",
|
|
303
|
+
"agentCurator": "Куратор агента",
|
|
304
|
+
"agentId": "ID агента",
|
|
305
|
+
"reportType": "Тип отчета",
|
|
306
|
+
"reportFile": "Файл отчета",
|
|
307
|
+
"reportDate": "Отчетная дата",
|
|
308
|
+
"paymentJournal": "Журнал оплаты",
|
|
309
|
+
"journal": {
|
|
310
|
+
"incomeKz": "Приходы KZT",
|
|
311
|
+
"outcomeKz": "Расходы KZT",
|
|
312
|
+
"leftKz": "Остаток KZT",
|
|
313
|
+
"description": "Описание",
|
|
314
|
+
"delayMonth": "Месяц просрочки"
|
|
315
|
+
},
|
|
316
|
+
"unallocatedPayments": "Нераспределенные платежи",
|
|
317
|
+
"unallocation": {
|
|
318
|
+
"paymentId": "ID платежа",
|
|
319
|
+
"voucherNumber": "Номер ваучера",
|
|
320
|
+
"voucherDate": "Дата ваучера",
|
|
321
|
+
"voucherStatus": "Статус ваучера"
|
|
322
|
+
},
|
|
323
|
+
"unpaidPremiums": "Неоплаченные премии",
|
|
324
|
+
"unpaidDelay": "Просрочка",
|
|
325
|
+
"reportText": {
|
|
326
|
+
"reward": "Награда",
|
|
327
|
+
"cuWith": "Общие единицы с",
|
|
328
|
+
"cuBy": "Общие единицы по",
|
|
329
|
+
"puWith": "Личные единицы с",
|
|
330
|
+
"puBy": "Личные единицы по",
|
|
331
|
+
"minLevel": "Минимальный уровень",
|
|
332
|
+
"minNumOfSubs": "Мин. количество подчиненных",
|
|
333
|
+
"subsLevel": "Уровни подчиненных",
|
|
334
|
+
"daysAfter": "Дни после договора"
|
|
335
|
+
},
|
|
336
|
+
"supportText": {
|
|
337
|
+
"toChat": "Чат с тех. поддержкой"
|
|
338
|
+
},
|
|
339
|
+
"test": {
|
|
340
|
+
"testing": "Тестирование",
|
|
341
|
+
"results": "Результаты тестирования",
|
|
342
|
+
"type": "Вид тестирования",
|
|
343
|
+
"date": "Дата прохождения тестирования",
|
|
344
|
+
"resultInProcents": "Результат тестирования в процентах"
|
|
345
|
+
}
|
|
346
|
+
},
|
|
347
|
+
"jobApplication": {
|
|
348
|
+
"title": "Заявление на трудоустройсво",
|
|
349
|
+
"sent": "Заявление отправлено в страховую компанию",
|
|
350
|
+
"whichRegion": "Агентом какого региона вы хотите стать",
|
|
351
|
+
"requisites": "Реквизиты",
|
|
352
|
+
"conductReport": "Справка о несудимости",
|
|
353
|
+
"diplom": "Диплом",
|
|
354
|
+
"new": "Подать заявление"
|
|
355
|
+
},
|
|
271
356
|
"labels": {
|
|
357
|
+
"photo": "Фото",
|
|
358
|
+
"attachPhoto": "Вложить фото",
|
|
359
|
+
"form": "Форма",
|
|
360
|
+
"toSign": "Отправить на подпись",
|
|
361
|
+
"contract": "Договор",
|
|
362
|
+
"sections": "Разделы",
|
|
363
|
+
"chat": "Чат",
|
|
364
|
+
"today": "Сегодня",
|
|
365
|
+
"message": "Сообщение",
|
|
366
|
+
"category": "Категория",
|
|
367
|
+
"debt": "Долг",
|
|
368
|
+
"premiumDate": "Дата премии",
|
|
369
|
+
"delayDays": "Дни просрочки",
|
|
370
|
+
"dischargeDate": "Дата выписки",
|
|
371
|
+
"covering": "Покрытие",
|
|
372
|
+
"agentsContacts": "Контакты агента",
|
|
373
|
+
"clientsContacts": "Контакты страхователя",
|
|
374
|
+
"agentNumber": "Номер агента",
|
|
375
|
+
"additionalStatus": "Дополнительный статус",
|
|
376
|
+
"activeTime": "Время действия",
|
|
377
|
+
"statementNumber": "Номер заявления",
|
|
378
|
+
"dogovorDate": "Дата договора",
|
|
379
|
+
"dateCreated": "Дата создания",
|
|
380
|
+
"fileName": "Имя файла",
|
|
381
|
+
"reset": "Сбросить",
|
|
382
|
+
"toExcel": "Экспорт в Excel",
|
|
383
|
+
"condition": "Условие",
|
|
384
|
+
"bet": "Ставка",
|
|
385
|
+
"statistics": "Статистика",
|
|
386
|
+
"progressBar": "Шкала прогресса",
|
|
387
|
+
"toAgent": "Оформить",
|
|
388
|
+
"notification": "Уведомление",
|
|
389
|
+
"news": "Новости",
|
|
390
|
+
"profile": "Профиль",
|
|
391
|
+
"needAuth": "Для получения доступа Вам необходимо авторизоваться",
|
|
392
|
+
"welcomeHL": "Добро пожаловать в Halyk Life",
|
|
393
|
+
"resetType": "Выберите способ восстановление пароля",
|
|
394
|
+
"resetPassword": "Забыли пароль?",
|
|
272
395
|
"search": "Поиск",
|
|
273
396
|
"searchByIIN": "Поиск по ИИН",
|
|
274
397
|
"chooseScannedDoc": "Выбрать отсканированный документ",
|
package/package.json
CHANGED
package/pages/500.vue
CHANGED
package/store/data.store.js
CHANGED
|
@@ -32,6 +32,8 @@ export const useDataStore = defineStore('data', {
|
|
|
32
32
|
getters: {
|
|
33
33
|
isEFO: state => state.product === 'efo',
|
|
34
34
|
isAML: state => state.product === 'aml',
|
|
35
|
+
isLKA: state => state.product === 'lka',
|
|
36
|
+
isBridge: state => state.product === 'efo' || state.product === 'aml' || state.product === 'lka',
|
|
35
37
|
isBaiterek: state => state.product === 'baiterek',
|
|
36
38
|
isBolashak: state => state.product === 'bolashak',
|
|
37
39
|
isMycar: state => state.product === 'mycar',
|
|
@@ -65,7 +67,7 @@ export const useDataStore = defineStore('data', {
|
|
|
65
67
|
},
|
|
66
68
|
copyToClipboard(text) {
|
|
67
69
|
if (typeof text === 'string' || typeof text === 'number') {
|
|
68
|
-
if (this.
|
|
70
|
+
if (this.isBridge) {
|
|
69
71
|
navigator.clipboard.writeText(text);
|
|
70
72
|
} else {
|
|
71
73
|
this.sendToParent(constants.postActions.clipboard, text);
|
|
@@ -1275,8 +1277,7 @@ export const useDataStore = defineStore('data', {
|
|
|
1275
1277
|
this.showToaster('success', this.t('toaster.successSaved'));
|
|
1276
1278
|
return true;
|
|
1277
1279
|
} catch (err) {
|
|
1278
|
-
|
|
1279
|
-
return false;
|
|
1280
|
+
return ErrorHandler(err);
|
|
1280
1281
|
} finally {
|
|
1281
1282
|
this.isLoading = false;
|
|
1282
1283
|
}
|
|
@@ -1483,6 +1484,12 @@ export const useDataStore = defineStore('data', {
|
|
|
1483
1484
|
const beneficiaryPolicyholderIndex = beneficiaryData.findIndex(i => i.insisId === clientData.insisId);
|
|
1484
1485
|
this.formStore.isPolicyholderBeneficiary = beneficiaryPolicyholderIndex !== -1;
|
|
1485
1486
|
|
|
1487
|
+
if ('finCenterData' in applicationData && !!applicationData.finCenterData) {
|
|
1488
|
+
this.formStore.finCenterData = applicationData.finCenterData;
|
|
1489
|
+
this.formStore.finCenterData.regNumber = applicationData.finCenterData.regNumber;
|
|
1490
|
+
this.formStore.finCenterData.date = reformatDate(applicationData.finCenterData.date);
|
|
1491
|
+
}
|
|
1492
|
+
|
|
1486
1493
|
if (fetchMembers) {
|
|
1487
1494
|
let allMembers = [
|
|
1488
1495
|
{
|
|
@@ -1639,6 +1646,13 @@ export const useDataStore = defineStore('data', {
|
|
|
1639
1646
|
this.isLoading = false;
|
|
1640
1647
|
}
|
|
1641
1648
|
},
|
|
1649
|
+
async getProcessHistoryLog(taskId) {
|
|
1650
|
+
try {
|
|
1651
|
+
return await this.api.getProcessHistoryLog(taskId);
|
|
1652
|
+
} catch (err) {
|
|
1653
|
+
ErrorHandler(err);
|
|
1654
|
+
}
|
|
1655
|
+
},
|
|
1642
1656
|
async setApplication() {
|
|
1643
1657
|
try {
|
|
1644
1658
|
await this.api.setApplication(this.formStore.applicationData);
|
|
@@ -1823,6 +1837,22 @@ export const useDataStore = defineStore('data', {
|
|
|
1823
1837
|
ErrorHandler(err);
|
|
1824
1838
|
}
|
|
1825
1839
|
},
|
|
1840
|
+
async registerNumber() {
|
|
1841
|
+
try {
|
|
1842
|
+
this.isLoading = true;
|
|
1843
|
+
const data = {
|
|
1844
|
+
processInstanceId: this.formStore.applicationData.processInstanceId,
|
|
1845
|
+
regNumber: this.formStore.finCenterData.regNumber,
|
|
1846
|
+
date: this.formStore.finCenterData.date,
|
|
1847
|
+
};
|
|
1848
|
+
const result = await this.api.registerNumber(data);
|
|
1849
|
+
return result;
|
|
1850
|
+
} catch (err) {
|
|
1851
|
+
return ErrorHandler(err);
|
|
1852
|
+
} finally {
|
|
1853
|
+
this.isLoading = false;
|
|
1854
|
+
}
|
|
1855
|
+
},
|
|
1826
1856
|
async sendSMS(type, phoneNumber, text) {
|
|
1827
1857
|
if (!type || !phoneNumber || !text) return;
|
|
1828
1858
|
const smsData = {
|
|
@@ -1910,7 +1940,7 @@ export const useDataStore = defineStore('data', {
|
|
|
1910
1940
|
const sumOfPercentage = localMembers.reduce((sum, member) => {
|
|
1911
1941
|
return sum + Number(member.percentageOfPayoutAmount);
|
|
1912
1942
|
}, 0);
|
|
1913
|
-
if (sumOfPercentage !== 100
|
|
1943
|
+
if (sumOfPercentage !== 100) {
|
|
1914
1944
|
this.showToaster('error', this.t('toaster.errorSumOrPercentage'), 3000);
|
|
1915
1945
|
return false;
|
|
1916
1946
|
}
|
|
@@ -2344,9 +2374,6 @@ export const useDataStore = defineStore('data', {
|
|
|
2344
2374
|
}
|
|
2345
2375
|
},
|
|
2346
2376
|
hasPercentageOfPayoutAmount() {
|
|
2347
|
-
if (this.isKazyna) {
|
|
2348
|
-
return false;
|
|
2349
|
-
}
|
|
2350
2377
|
return true;
|
|
2351
2378
|
},
|
|
2352
2379
|
canViewInvoiceInfo() {
|