hl-core 0.0.9-beta.53 → 0.0.9-beta.55
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 +77 -9
- package/components/Form/FormData.vue +1 -1
- package/components/Form/ManagerAttachment.vue +31 -7
- package/components/Layout/SettingsPanel.vue +5 -2
- package/components/Pages/Documents.vue +9 -2
- package/components/Pages/MemberForm.vue +95 -9
- package/components/Pages/ProductConditions.vue +20 -5
- package/components/Panel/PanelHandler.vue +59 -39
- package/components/Transitions/Animation.vue +2 -2
- package/composables/classes.ts +6 -0
- package/composables/constants.ts +22 -15
- package/composables/fields.ts +2 -2
- package/composables/index.ts +6 -0
- package/layouts/clear.vue +21 -0
- package/layouts/default.vue +17 -0
- package/layouts/full.vue +21 -0
- package/locales/ru.json +12 -7
- package/nuxt.config.ts +1 -4
- package/package.json +2 -1
- package/store/data.store.ts +104 -53
- package/types/enum.ts +1 -1
- package/types/env.d.ts +1 -0
- package/types/index.ts +35 -5
|
@@ -33,10 +33,16 @@
|
|
|
33
33
|
<base-btn :text="$dataStore.t('buttons.sendOnPaper')" :disabled="isPaperDisabled" :loading="loading" @click="handleSignAction('paper')" />
|
|
34
34
|
<base-btn :text="$dataStore.t('buttons.sendElectronically')" :disabled="isElectronicDisabled" :loading="loading" @click="handleSignAction('electronic')" />
|
|
35
35
|
<base-btn :text="$dataStore.t('buttons.generatePrintedForms')" :disabled="isScansDisabled" :loading="loading" @click="handleSignAction('scans')" />
|
|
36
|
-
<base-btn :text="$dataStore.t('buttons.sendEgovMob')" :disabled="isQrDisabled" :loading="loading" @click="handleSignAction('qr')" />
|
|
37
|
-
<base-btn v-if="$dataStore.isPension" :text="$dataStore.t('buttons.signWithSignature')" :loading="loading" @click="handleSignAction('signature')" />
|
|
36
|
+
<base-btn v-if="!useEnv().isProduction" :text="$dataStore.t('buttons.sendEgovMob')" :disabled="isQrDisabled" :loading="loading" @click="handleSignAction('qr')" />
|
|
38
37
|
<base-btn
|
|
39
38
|
v-if="$dataStore.isPension"
|
|
39
|
+
:text="$dataStore.t('buttons.signWithSignature')"
|
|
40
|
+
:disabled="isSignatureDisabled"
|
|
41
|
+
:loading="loading"
|
|
42
|
+
@click="handleSignAction('signature')"
|
|
43
|
+
/>
|
|
44
|
+
<base-btn
|
|
45
|
+
v-if="$dataStore.isPension && !useEnv().isProduction"
|
|
40
46
|
:text="$dataStore.t('buttons.signWithSignatureXML')"
|
|
41
47
|
:disabled="isQrXmlDisabled"
|
|
42
48
|
:loading="loading"
|
|
@@ -49,20 +55,22 @@
|
|
|
49
55
|
<div v-if="isScansDocuments" :class="[$styles.flexColNav]">
|
|
50
56
|
<div v-if="$dataStore.isPension">
|
|
51
57
|
<div v-if="processCode == 19">
|
|
52
|
-
<div v-if="formStore.applicationData.statusCode === '
|
|
58
|
+
<div v-if="formStore.applicationData.statusCode === 'HeadManagerForm' || formStore.applicationData.statusCode === 'ContractSignedFrom'">
|
|
53
59
|
<base-btn :text="$dataStore.t('buttons.downloadContract')" :loading="$dataStore.isButtonsLoading" @click="$dataStore.generatePDFDocument('PA_Contract', '38')" />
|
|
54
60
|
<base-form-section class="mt-4 flex flex-col !gap-2" :title="$dataStore.t('clients.attachScansSignDocs')">
|
|
55
61
|
<base-file-input :label="$dataStore.t('labels.attachContract')" @input.prevent="onFileChangeScans($event, 'pa_contract')" @onClear="onClearFile('pa_contract')" />
|
|
56
62
|
</base-form-section>
|
|
57
63
|
</div>
|
|
58
|
-
<div v-else>
|
|
64
|
+
<div v-else class="flex flex-col gap-2">
|
|
59
65
|
<base-btn :text="$dataStore.t('buttons.downloadStatement')" :loading="$dataStore.isButtonsLoading" @click="$dataStore.generatePDFDocument('PA_Statement', '37')" />
|
|
66
|
+
<base-btn :text="$dataStore.t('buttons.downloadAgreement')" :loading="$dataStore.isButtonsLoading" @click="$dataStore.generatePDFDocument('Agreement', '19')" />
|
|
60
67
|
<base-form-section class="mt-4 flex flex-col !gap-2" :title="$dataStore.t('clients.attachScansSignDocs')">
|
|
61
68
|
<base-file-input :label="$dataStore.t('labels.attachStatement')" @input.prevent="onFileChangeScans($event, 'pa_statement')" @onClear="onClearFile('pa_statement')" />
|
|
69
|
+
<base-file-input :label="$dataStore.t('labels.attachAgreement')" @input.prevent="onFileChangeScans($event, 'agreement')" @onClear="onClearFile('agreement')" />
|
|
62
70
|
</base-form-section>
|
|
63
71
|
</div>
|
|
64
72
|
</div>
|
|
65
|
-
<div v-if="processCode == 2">
|
|
73
|
+
<div v-if="processCode == 2" class="flex flex-col gap-2">
|
|
66
74
|
<base-btn
|
|
67
75
|
:text="$dataStore.t('buttons.downloadPARefundStatement')"
|
|
68
76
|
:loading="$dataStore.isButtonsLoading"
|
|
@@ -270,14 +278,7 @@ export default defineComponent({
|
|
|
270
278
|
const selectedClient = ref<SignUrlType>();
|
|
271
279
|
const documentDict = computed(() => dataStore.dicFileTypeList.find(i => i.nameRu === 'Решение АС'));
|
|
272
280
|
const pensionForm = formStore.applicationData?.pensionApp ?? undefined;
|
|
273
|
-
const
|
|
274
|
-
() =>
|
|
275
|
-
formStore.applicationData.statusCode === 'ContractSignedFrom' &&
|
|
276
|
-
((pensionForm.compulsoryContractAmount && pensionForm.compulsoryContractAmount !== 0) ||
|
|
277
|
-
(pensionForm.compulsoryProfContractAmount && pensionForm.compulsoryProfContractAmount !== 0) ||
|
|
278
|
-
(pensionForm.voluntaryContractAmount && pensionForm.voluntaryContractAmount !== 0)),
|
|
279
|
-
);
|
|
280
|
-
const consentGiven = computed(() => !!formStore.signedDocumentList.find(i => i.fileTypeCode === '43')?.signed && needsAgreement.value);
|
|
281
|
+
const consentGiven = computed(() => !!formStore.signedDocumentList.find(i => i.fileTypeCode === '43' && i.signed === true));
|
|
281
282
|
const affiliationDocument = computed(() => formStore.signedDocumentList.find((file: DocumentItem) => file.fileTypeName === 'Решение АС'));
|
|
282
283
|
const affiliationData = ref<{
|
|
283
284
|
processInstanceId: string | number;
|
|
@@ -324,7 +325,7 @@ export default defineComponent({
|
|
|
324
325
|
|
|
325
326
|
const onFileChangeScans = async (
|
|
326
327
|
event: InputEvent,
|
|
327
|
-
type: 'statement' | 'pa_statement' | 'pa_refundstatement' | 'contract' | 'pa_contract' | 'pa_refundagreement' | 'app' | 'attorney',
|
|
328
|
+
type: 'statement' | 'pa_statement' | 'pa_refundstatement' | 'contract' | 'pa_contract' | 'pa_refundagreement' | 'app' | 'attorney' | 'agreement',
|
|
328
329
|
) => {
|
|
329
330
|
if (event.target) {
|
|
330
331
|
const files = (event.target as HTMLInputElement).files;
|
|
@@ -344,13 +345,15 @@ export default defineComponent({
|
|
|
344
345
|
}
|
|
345
346
|
};
|
|
346
347
|
|
|
347
|
-
const onClearFile = async (
|
|
348
|
+
const onClearFile = async (
|
|
349
|
+
type: 'statement' | 'pa_statement' | 'pa_refundstatement' | 'contract' | 'pa_contract' | 'pa_refundagreement' | 'app' | 'attorney' | 'agreement',
|
|
350
|
+
) => {
|
|
348
351
|
const doc = await selectedDocument(type);
|
|
349
352
|
const result = scansFiles.value.filter(i => JSON.parse(i.fileData)[0].fileTypeCode !== doc.code);
|
|
350
353
|
scansFiles.value = result;
|
|
351
354
|
};
|
|
352
355
|
|
|
353
|
-
const selectedDocument = (type: 'statement' | 'pa_statement' | 'pa_refundstatement' | 'contract' | 'pa_contract' | 'pa_refundagreement' | 'app' | 'attorney') => {
|
|
356
|
+
const selectedDocument = (type: 'statement' | 'pa_statement' | 'pa_refundstatement' | 'contract' | 'pa_contract' | 'pa_refundagreement' | 'app' | 'attorney' | 'agreement') => {
|
|
354
357
|
let selectedDocument: any;
|
|
355
358
|
if (type === 'statement') {
|
|
356
359
|
selectedDocument = dataStore.dicFileTypeList.find((i: Value) => i.code === '32');
|
|
@@ -376,11 +379,20 @@ export default defineComponent({
|
|
|
376
379
|
if (type === 'attorney') {
|
|
377
380
|
selectedDocument = dataStore.dicFileTypeList.find((i: Value) => i.code === '34');
|
|
378
381
|
}
|
|
382
|
+
if (type === 'agreement') {
|
|
383
|
+
selectedDocument = dataStore.dicFileTypeList.find((i: Value) => i.code === '19');
|
|
384
|
+
}
|
|
379
385
|
return selectedDocument;
|
|
380
386
|
};
|
|
381
387
|
|
|
382
388
|
const sendFiles = async () => {
|
|
383
|
-
if (
|
|
389
|
+
if (
|
|
390
|
+
dataStore.isPension
|
|
391
|
+
? formStore.applicationData.statusCode === 'ContractSignedFrom'
|
|
392
|
+
? scansFiles.value.length !== 1
|
|
393
|
+
: scansFiles.value.length !== 2
|
|
394
|
+
: scansFiles.value.length !== 4
|
|
395
|
+
) {
|
|
384
396
|
dataStore.showToaster('warning', dataStore.t('toaster.notAllDocumentsAttached'));
|
|
385
397
|
return;
|
|
386
398
|
}
|
|
@@ -542,40 +554,37 @@ export default defineComponent({
|
|
|
542
554
|
return true;
|
|
543
555
|
});
|
|
544
556
|
const isElectronicDisabled = computed(() => {
|
|
545
|
-
if (dataStore.isGons || dataStore.isLifeBusiness || dataStore.isGns) {
|
|
546
|
-
return true;
|
|
547
|
-
}
|
|
548
|
-
if (formStore.applicationData.statusCode === 'ContractSignedByAuthorizedPerson') {
|
|
557
|
+
if (dataStore.isGons || dataStore.isLifeBusiness || dataStore.isGns || dataStore.isPension) {
|
|
549
558
|
return true;
|
|
550
559
|
}
|
|
551
|
-
if (needsAgreement.value) {
|
|
552
|
-
if (!consentGiven.value && dataStore.isPension) {
|
|
553
|
-
return true;
|
|
554
|
-
}
|
|
555
|
-
}
|
|
556
560
|
return false;
|
|
557
561
|
});
|
|
558
562
|
const isScansDisabled = computed(() => {
|
|
559
563
|
if (dataStore.isGons) {
|
|
560
564
|
return true;
|
|
561
565
|
}
|
|
562
|
-
if (
|
|
563
|
-
|
|
564
|
-
return true;
|
|
565
|
-
}
|
|
566
|
+
if ((!consentGiven.value || formStore.applicationData.statusCode === 'HeadManagerForm') && dataStore.isPension && processCode !== 2) {
|
|
567
|
+
return true;
|
|
566
568
|
}
|
|
567
569
|
return false;
|
|
568
570
|
});
|
|
569
571
|
const isQrDisabled = computed(() => {
|
|
570
|
-
if (
|
|
571
|
-
|
|
572
|
-
return true;
|
|
573
|
-
}
|
|
572
|
+
if (consentGiven.value && dataStore.isPension && processCode !== 2) {
|
|
573
|
+
return false;
|
|
574
574
|
}
|
|
575
575
|
return true;
|
|
576
576
|
});
|
|
577
577
|
const isQrXmlDisabled = computed(() => {
|
|
578
|
-
if (consentGiven.value &&
|
|
578
|
+
if (!consentGiven.value && dataStore.isPension && processCode !== 2) {
|
|
579
|
+
return false;
|
|
580
|
+
}
|
|
581
|
+
if (dataStore.isLifeBusiness || dataStore.isGns) {
|
|
582
|
+
return false;
|
|
583
|
+
}
|
|
584
|
+
return true;
|
|
585
|
+
});
|
|
586
|
+
const isSignatureDisabled = computed(() => {
|
|
587
|
+
if ((!consentGiven.value || formStore.applicationData.statusCode === 'HeadManagerForm') && dataStore.isPension && processCode !== 2) {
|
|
579
588
|
return false;
|
|
580
589
|
}
|
|
581
590
|
return true;
|
|
@@ -651,7 +660,10 @@ export default defineComponent({
|
|
|
651
660
|
};
|
|
652
661
|
|
|
653
662
|
const startConnection = async (uuid: string, groupId?: string) => {
|
|
654
|
-
connection.value = new HubConnectionBuilder()
|
|
663
|
+
connection.value = new HubConnectionBuilder()
|
|
664
|
+
.withUrl(`${getStrValuePerEnv('qrHubUrl')}/${uuid}`)
|
|
665
|
+
.withAutomaticReconnect()
|
|
666
|
+
.build();
|
|
655
667
|
try {
|
|
656
668
|
await connection.value.start();
|
|
657
669
|
console.log('SignalR connection started.');
|
|
@@ -660,7 +672,11 @@ export default defineComponent({
|
|
|
660
672
|
isQrLoading.value = true;
|
|
661
673
|
} else if (message === 'Signed') {
|
|
662
674
|
isQrLoading.value = false;
|
|
663
|
-
|
|
675
|
+
if (dataStore.isPension) {
|
|
676
|
+
dataStore.showToaster('info', dataStore.t('pension.signInProcess'));
|
|
677
|
+
} else {
|
|
678
|
+
dataStore.showToaster('success', dataStore.t('sign.successQrSigned'));
|
|
679
|
+
}
|
|
664
680
|
qrUrl.value = '';
|
|
665
681
|
isQr.value = false;
|
|
666
682
|
dataStore.panel.open = false;
|
|
@@ -668,7 +684,7 @@ export default defineComponent({
|
|
|
668
684
|
await stopConnection();
|
|
669
685
|
} else {
|
|
670
686
|
console.log('message from SignalR', message);
|
|
671
|
-
if (message.signed) {
|
|
687
|
+
if (message.signed === true) {
|
|
672
688
|
isQrLoading.value = false;
|
|
673
689
|
qrUrl.value = '';
|
|
674
690
|
isQr.value = false;
|
|
@@ -687,6 +703,10 @@ export default defineComponent({
|
|
|
687
703
|
dataStore.showToaster('success', dataStore.t('pension.consentGiven'), 3000);
|
|
688
704
|
}
|
|
689
705
|
await stopConnection();
|
|
706
|
+
} else {
|
|
707
|
+
if (message.error) {
|
|
708
|
+
dataStore.showToaster('error', message.error, 3000);
|
|
709
|
+
}
|
|
690
710
|
}
|
|
691
711
|
}
|
|
692
712
|
});
|
|
@@ -828,9 +848,9 @@ export default defineComponent({
|
|
|
828
848
|
isScansDisabled,
|
|
829
849
|
isQrDisabled,
|
|
830
850
|
isQrXmlDisabled,
|
|
851
|
+
isSignatureDisabled,
|
|
831
852
|
choosePayActions,
|
|
832
853
|
consentGiven,
|
|
833
|
-
needsAgreement,
|
|
834
854
|
};
|
|
835
855
|
},
|
|
836
856
|
});
|
|
@@ -8,12 +8,12 @@
|
|
|
8
8
|
<script setup lang="ts">
|
|
9
9
|
defineProps({
|
|
10
10
|
type: {
|
|
11
|
-
type: String as PropType<VuetifyAnimations>,
|
|
11
|
+
type: String as PropType<Utils.VuetifyAnimations>,
|
|
12
12
|
default: 'expand',
|
|
13
13
|
},
|
|
14
14
|
});
|
|
15
15
|
|
|
16
|
-
const vuetifyAnimations: { [key in VuetifyAnimations]: string } = {
|
|
16
|
+
const vuetifyAnimations: { [key in Utils.VuetifyAnimations]: string } = {
|
|
17
17
|
expand: 'v-expand-transition',
|
|
18
18
|
fab: 'v-fab-transition',
|
|
19
19
|
fade: 'v-fade-transition',
|
package/composables/classes.ts
CHANGED
|
@@ -409,6 +409,7 @@ export class Member extends Person {
|
|
|
409
409
|
job: string | null;
|
|
410
410
|
jobPosition: string | null;
|
|
411
411
|
jobPlace: string | null;
|
|
412
|
+
positionCode: string | null;
|
|
412
413
|
registrationCountry: Value;
|
|
413
414
|
registrationProvince: Value;
|
|
414
415
|
registrationRegion: Value;
|
|
@@ -480,6 +481,7 @@ export class Member extends Person {
|
|
|
480
481
|
job = null,
|
|
481
482
|
jobPosition = null,
|
|
482
483
|
jobPlace = null,
|
|
484
|
+
positionCode = null,
|
|
483
485
|
registrationCountry = new Value(),
|
|
484
486
|
registrationProvince = new Value(),
|
|
485
487
|
registrationRegion = new Value(),
|
|
@@ -552,6 +554,7 @@ export class Member extends Person {
|
|
|
552
554
|
this.job = job;
|
|
553
555
|
this.jobPosition = jobPosition;
|
|
554
556
|
this.jobPlace = jobPlace;
|
|
557
|
+
this.positionCode = positionCode;
|
|
555
558
|
this.registrationCountry = registrationCountry;
|
|
556
559
|
this.registrationProvince = registrationProvince;
|
|
557
560
|
this.registrationRegion = registrationRegion;
|
|
@@ -610,6 +613,7 @@ export class Member extends Person {
|
|
|
610
613
|
this.job = null;
|
|
611
614
|
this.jobPosition = null;
|
|
612
615
|
this.jobPlace = null;
|
|
616
|
+
this.positionCode = null;
|
|
613
617
|
this.registrationCountry = new Value();
|
|
614
618
|
this.registrationProvince = new Value();
|
|
615
619
|
this.registrationRegion = new Value();
|
|
@@ -910,6 +914,7 @@ export class MemberSettings {
|
|
|
910
914
|
}
|
|
911
915
|
|
|
912
916
|
export class DataStoreClass {
|
|
917
|
+
projectConfig: Utils.ProjectConfig | null;
|
|
913
918
|
// IMP Контроллер фич
|
|
914
919
|
controls: {
|
|
915
920
|
// Cтавит значения по дефолту полям
|
|
@@ -1067,6 +1072,7 @@ export class DataStoreClass {
|
|
|
1067
1072
|
sportsTypes: Value[];
|
|
1068
1073
|
purposes: Value[];
|
|
1069
1074
|
constructor() {
|
|
1075
|
+
this.projectConfig = null;
|
|
1070
1076
|
this.filters = {
|
|
1071
1077
|
show: (item: MenuItem) => {
|
|
1072
1078
|
if (typeof item.show === 'boolean') {
|
package/composables/constants.ts
CHANGED
|
@@ -3,9 +3,9 @@ import { Actions, PostActions, Roles, Statuses } from '../types/enum';
|
|
|
3
3
|
export const constants = Object.freeze({
|
|
4
4
|
products: {
|
|
5
5
|
pensionannuity: 1,
|
|
6
|
-
|
|
7
|
-
pa_joint: 4,
|
|
6
|
+
pensionannuityrefund: 2,
|
|
8
7
|
baiterek: 3,
|
|
8
|
+
pensionannuityjoint: 4,
|
|
9
9
|
halykmycar: 5,
|
|
10
10
|
lifetrip: 7,
|
|
11
11
|
bolashak: 8,
|
|
@@ -26,37 +26,44 @@ export const constants = Object.freeze({
|
|
|
26
26
|
extractedProducts: ['dso', 'uu'],
|
|
27
27
|
editableStatuses: [Statuses.StartForm, Statuses.EditBeneficiaryForm, Statuses.EditForm, Statuses.InputDataForm],
|
|
28
28
|
documentsLinkVisibleStatuses: [
|
|
29
|
-
Statuses.
|
|
30
|
-
Statuses.DocumentsSignedClientFrom,
|
|
29
|
+
Statuses.Completed,
|
|
31
30
|
Statuses.UnderwriterForm,
|
|
31
|
+
Statuses.DocumentsSignedFrom,
|
|
32
32
|
Statuses.AffilationResolutionForm,
|
|
33
|
-
Statuses.
|
|
33
|
+
Statuses.DocumentsSignedClientFrom,
|
|
34
34
|
Statuses.InsurancePremiumOnlinePaid,
|
|
35
35
|
],
|
|
36
36
|
returnStatementStatuses: [
|
|
37
|
-
Statuses.DocumentsSignedFrom,
|
|
38
|
-
Statuses.DocumentsSignedClientFrom,
|
|
39
|
-
Statuses.ContractSignedFrom,
|
|
40
|
-
Statuses.WaitingInsurancePremiumForm,
|
|
41
|
-
Statuses.UnderwriterForm,
|
|
42
37
|
Statuses.ApproveForm,
|
|
43
38
|
Statuses.ActuaryForm,
|
|
44
|
-
Statuses.ControllerDpForm,
|
|
45
39
|
Statuses.DsoUsnsForm,
|
|
46
40
|
Statuses.AccountantForm,
|
|
41
|
+
Statuses.UnderwriterForm,
|
|
42
|
+
Statuses.ControllerDpForm,
|
|
43
|
+
Statuses.ContractSignedFrom,
|
|
44
|
+
Statuses.DocumentsSignedFrom,
|
|
45
|
+
Statuses.DocumentsSignedClientFrom,
|
|
46
|
+
Statuses.WaitingInsurancePremiumForm,
|
|
47
47
|
],
|
|
48
48
|
cancelApplicationStatuses: [
|
|
49
|
-
Statuses.StartForm,
|
|
50
49
|
Statuses.EditForm,
|
|
50
|
+
Statuses.StartForm,
|
|
51
|
+
Statuses.ContractSignedFrom,
|
|
51
52
|
Statuses.EditBeneficiaryForm,
|
|
52
|
-
Statuses.WaitingInsurancePremiumForm,
|
|
53
53
|
Statuses.DocumentsSignedFrom,
|
|
54
|
+
Statuses.AttachAppContractForm,
|
|
55
|
+
Statuses.PreparationDossierForm,
|
|
54
56
|
Statuses.DocumentsSignedClientFrom,
|
|
57
|
+
Statuses.WaitingInsurancePremiumForm,
|
|
58
|
+
],
|
|
59
|
+
rejectApplicationStatuses: [
|
|
60
|
+
Statuses.StartForm,
|
|
61
|
+
Statuses.DsoUsnsForm,
|
|
62
|
+
Statuses.AccountantForm,
|
|
63
|
+
Statuses.HeadManagerForm,
|
|
55
64
|
Statuses.ContractSignedFrom,
|
|
56
65
|
Statuses.AttachAppContractForm,
|
|
57
|
-
Statuses.PreparationDossierForm,
|
|
58
66
|
],
|
|
59
|
-
rejectApplicationStatuses: [Statuses.StartForm, Statuses.AttachAppContractForm, Statuses.DsoUsnsForm, Statuses.AccountantForm, Statuses.ContractSignedByAuthorizedPerson, Statuses.ContractSignedFrom],
|
|
60
67
|
gbdErrors: ['INVALID', 'TIMEOUT', 'ERROR', 'NOT_FOUND'],
|
|
61
68
|
roles: Roles,
|
|
62
69
|
actions: Actions,
|
package/composables/fields.ts
CHANGED
|
@@ -205,9 +205,9 @@ export class BaseFields {
|
|
|
205
205
|
|
|
206
206
|
export class FormBlockLabel {
|
|
207
207
|
text: string;
|
|
208
|
-
size: LabelSize = 1;
|
|
208
|
+
size: Utils.LabelSize = 1;
|
|
209
209
|
hideOnMobile: boolean = false;
|
|
210
|
-
constructor(options: { text: string; size?: LabelSize; hideOnMobile?: boolean }) {
|
|
210
|
+
constructor(options: { text: string; size?: Utils.LabelSize; hideOnMobile?: boolean }) {
|
|
211
211
|
this.text = options.text;
|
|
212
212
|
if (typeof options.size === 'number') this.size = options.size;
|
|
213
213
|
if (typeof options.hideOnMobile === 'boolean') this.hideOnMobile = options.hideOnMobile;
|
package/composables/index.ts
CHANGED
|
@@ -341,6 +341,7 @@ export const getLastDayOfMonth = (year: number, month: number) => {
|
|
|
341
341
|
};
|
|
342
342
|
|
|
343
343
|
type WhichValuePerEnv =
|
|
344
|
+
| 'qrHubUrl'
|
|
344
345
|
| 'qrGenUrl'
|
|
345
346
|
| 'qrXmlGenUrl'
|
|
346
347
|
| 'gatewayApiUrl'
|
|
@@ -358,6 +359,11 @@ export const getStrValuePerEnv = (which: WhichValuePerEnv) => {
|
|
|
358
359
|
[key in EnvModes]: string;
|
|
359
360
|
};
|
|
360
361
|
} = {
|
|
362
|
+
qrHubUrl: {
|
|
363
|
+
production: 'https://prod-sign.halyklife.kz/qrhub',
|
|
364
|
+
development: 'https://test-sign.halyklife.kz/qrhub',
|
|
365
|
+
test: 'https://test-sign.halyklife.kz/qrhub',
|
|
366
|
+
},
|
|
361
367
|
qrGenUrl: {
|
|
362
368
|
production: 'https://prod-sign.halyklife.kz/EgovQrCms',
|
|
363
369
|
development: 'https://test-sign.halyklife.kz/EgovQrCms',
|
package/layouts/clear.vue
CHANGED
|
@@ -1,3 +1,24 @@
|
|
|
1
1
|
<template>
|
|
2
2
|
<div class="h-full w-full"><slot></slot></div>
|
|
3
3
|
</template>
|
|
4
|
+
|
|
5
|
+
<script setup lang="ts">
|
|
6
|
+
const dataStore = useDataStore();
|
|
7
|
+
const { $pwa } = useNuxtApp();
|
|
8
|
+
|
|
9
|
+
const onInit = async () => {
|
|
10
|
+
const projectConfig = dataStore.projectConfig;
|
|
11
|
+
if (!useEnv().isProduction && process.env.NODE_ENV === 'production' && $pwa && projectConfig === null) {
|
|
12
|
+
const hasConfig = await dataStore.getProjectConfig();
|
|
13
|
+
if (hasConfig === true) {
|
|
14
|
+
const commitVersion = String(import.meta.env.VITE_COMMIT_VERSION);
|
|
15
|
+
if (dataStore.projectConfig !== null && commitVersion !== dataStore.projectConfig.version) {
|
|
16
|
+
//@ts-ignore
|
|
17
|
+
await $pwa.updateServiceWorker();
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
};
|
|
22
|
+
|
|
23
|
+
onInit();
|
|
24
|
+
</script>
|
package/layouts/default.vue
CHANGED
|
@@ -35,6 +35,7 @@
|
|
|
35
35
|
<script setup lang="ts">
|
|
36
36
|
import { MenuItem } from '../composables/classes';
|
|
37
37
|
const dataStore = useDataStore();
|
|
38
|
+
const { $pwa } = useNuxtApp();
|
|
38
39
|
|
|
39
40
|
const openSettings = async () => {
|
|
40
41
|
dataStore.settings.open = true;
|
|
@@ -49,6 +50,22 @@ const onBack = async (item: MenuItem) => {
|
|
|
49
50
|
if (dataStore.menu.onBack) await dataStore.menu.onBack(item);
|
|
50
51
|
};
|
|
51
52
|
|
|
53
|
+
const onInit = async () => {
|
|
54
|
+
const projectConfig = dataStore.projectConfig;
|
|
55
|
+
if (!useEnv().isProduction && process.env.NODE_ENV === 'production' && $pwa && projectConfig === null) {
|
|
56
|
+
const hasConfig = await dataStore.getProjectConfig();
|
|
57
|
+
if (hasConfig === true) {
|
|
58
|
+
const commitVersion = String(import.meta.env.VITE_COMMIT_VERSION);
|
|
59
|
+
if (dataStore.projectConfig !== null && commitVersion !== dataStore.projectConfig.version) {
|
|
60
|
+
//@ts-ignore
|
|
61
|
+
await $pwa.updateServiceWorker();
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
};
|
|
66
|
+
|
|
67
|
+
onInit();
|
|
68
|
+
|
|
52
69
|
watch(
|
|
53
70
|
() => dataStore.settings.open,
|
|
54
71
|
() => {
|
package/layouts/full.vue
CHANGED
|
@@ -4,3 +4,24 @@
|
|
|
4
4
|
<slot></slot>
|
|
5
5
|
</div>
|
|
6
6
|
</template>
|
|
7
|
+
|
|
8
|
+
<script setup lang="ts">
|
|
9
|
+
const dataStore = useDataStore();
|
|
10
|
+
const { $pwa } = useNuxtApp();
|
|
11
|
+
|
|
12
|
+
const onInit = async () => {
|
|
13
|
+
const projectConfig = dataStore.projectConfig;
|
|
14
|
+
if (!useEnv().isProduction && process.env.NODE_ENV === 'production' && $pwa && projectConfig === null) {
|
|
15
|
+
const hasConfig = await dataStore.getProjectConfig();
|
|
16
|
+
if (hasConfig === true) {
|
|
17
|
+
const commitVersion = String(import.meta.env.VITE_COMMIT_VERSION);
|
|
18
|
+
if (dataStore.projectConfig !== null && commitVersion !== dataStore.projectConfig.version) {
|
|
19
|
+
//@ts-ignore
|
|
20
|
+
await $pwa.updateServiceWorker();
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
};
|
|
25
|
+
|
|
26
|
+
onInit();
|
|
27
|
+
</script>
|
package/locales/ru.json
CHANGED
|
@@ -218,6 +218,7 @@
|
|
|
218
218
|
"fromKGD": "КГД",
|
|
219
219
|
"generatePrintedForms": "Сформировать печатные формы",
|
|
220
220
|
"downloadStatement": "Скачать заявление",
|
|
221
|
+
"downloadAgreement": "Скачать согласие",
|
|
221
222
|
"downloadApplication": "Скачать приложение №1",
|
|
222
223
|
"downloadPowerOfAttorney": "Скачать доверенность",
|
|
223
224
|
"downloadPARefundStatement": "Скачать заявление на страхование возврат в ЕНПФ ПА",
|
|
@@ -233,7 +234,8 @@
|
|
|
233
234
|
"generateConract": "Сгенерировать Договор",
|
|
234
235
|
"signContract": "Заключить Договор",
|
|
235
236
|
"sendDosie": "Отправить досье",
|
|
236
|
-
"downloadPaymentInvoice": "Скачать счет на оплату"
|
|
237
|
+
"downloadPaymentInvoice": "Скачать счет на оплату",
|
|
238
|
+
"copyToClient": "Скопировать ссылку для клиента"
|
|
237
239
|
},
|
|
238
240
|
"dialog": {
|
|
239
241
|
"title": "Подтверждение",
|
|
@@ -270,9 +272,9 @@
|
|
|
270
272
|
"toApprove": "Вы действительно хотите отправить на согласование?",
|
|
271
273
|
"affiliate": "Вы действительно хотите добавить решение андеррайтингового совета?",
|
|
272
274
|
"choosePay": "Вы действительно хотите выбрать метод оплаты?",
|
|
273
|
-
"searchBeneficiary":"Выполните поиск договоров по ИИН Выгодоприобретателя",
|
|
274
|
-
"searchFoundBeneficiary":"По данному ИИН уже имеется договор. Создание заявки по продукту “ГОНС” - невозможно.",
|
|
275
|
-
"searchNotFoundBeneficiary":"По данному ИИН договор не найден. Нажмите “Создать” для создания новой заявки по продукту “ГОНС”"
|
|
275
|
+
"searchBeneficiary": "Выполните поиск договоров по ИИН Выгодоприобретателя",
|
|
276
|
+
"searchFoundBeneficiary": "По данному ИИН уже имеется договор. Создание заявки по продукту “ГОНС” - невозможно.",
|
|
277
|
+
"searchNotFoundBeneficiary": "По данному ИИН договор не найден. Нажмите “Создать” для создания новой заявки по продукту “ГОНС”"
|
|
276
278
|
},
|
|
277
279
|
"sign": {
|
|
278
280
|
"chooseDoc": "Выберите документы для подписание",
|
|
@@ -446,7 +448,7 @@
|
|
|
446
448
|
"factEndDate": "Дата завершения",
|
|
447
449
|
"decision": "Статус",
|
|
448
450
|
"userFullName": "Исполнитель",
|
|
449
|
-
"stage":"Этап"
|
|
451
|
+
"stage": "Этап"
|
|
450
452
|
},
|
|
451
453
|
"aml": {
|
|
452
454
|
"contractSignDate": "Дата заключение контракта",
|
|
@@ -571,7 +573,8 @@
|
|
|
571
573
|
"companyName": "Наименование компании по страхованию жизни",
|
|
572
574
|
"bankInvalid": "Некорректные банковские данные",
|
|
573
575
|
"globalId": "Уникальный номер договора (globalId)",
|
|
574
|
-
"oppvMonthsCheck": "ВНИМАНИЕ! НЕОБХОДИМО ПРОВЕРИТЬ НАЛИЧИЕ ОТЧИСЛЕНИЙ 60 МЕСЯЦЕВ ПО ПРИЗНАКУ 'ОППВ'"
|
|
576
|
+
"oppvMonthsCheck": "ВНИМАНИЕ! НЕОБХОДИМО ПРОВЕРИТЬ НАЛИЧИЕ ОТЧИСЛЕНИЙ 60 МЕСЯЦЕВ ПО ПРИЗНАКУ 'ОППВ'",
|
|
577
|
+
"signInProcess": "Документы в подписании - 1 минута"
|
|
575
578
|
},
|
|
576
579
|
"agent": {
|
|
577
580
|
"currency": "Валюта",
|
|
@@ -806,6 +809,7 @@
|
|
|
806
809
|
"inDetails": "Подробно",
|
|
807
810
|
"attachContract": "Вложить договор",
|
|
808
811
|
"attachStatement": "Вложить заявление",
|
|
812
|
+
"attachAgreement": "Вложить согласие",
|
|
809
813
|
"attachApplication": "Вложить приложение №1",
|
|
810
814
|
"attachPowerOfAttorney": "Вложить доверенность",
|
|
811
815
|
"noDocuments": "Нет документов для просмотра",
|
|
@@ -854,7 +858,8 @@
|
|
|
854
858
|
"dataInPast": "Срок действия документа истек",
|
|
855
859
|
"agentCommission": "Агентская комиссия не должно превышать 50",
|
|
856
860
|
"agePrePensionInsured": "Пороговое значение по возрасту с 55 по 63",
|
|
857
|
-
"checkDate": "Укажите корректную дату"
|
|
861
|
+
"checkDate": "Укажите корректную дату",
|
|
862
|
+
"searchQueryLen": "Поиск должности должен осуществляться по запросу не менее чем из {len} символов"
|
|
858
863
|
},
|
|
859
864
|
"code": "КСЭ",
|
|
860
865
|
"fontSize": "Размер шрифта",
|
package/nuxt.config.ts
CHANGED
|
@@ -6,7 +6,7 @@ import VueI18nVitePlugin from '@intlify/unplugin-vue-i18n/vite';
|
|
|
6
6
|
export default defineNuxtConfig({
|
|
7
7
|
ssr: false,
|
|
8
8
|
spaLoadingTemplate: false,
|
|
9
|
-
modules: ['@pinia/nuxt', '@nuxtjs/tailwindcss', '@nuxt/devtools', '@vueuse/nuxt'],
|
|
9
|
+
modules: ['@pinia/nuxt', '@nuxtjs/tailwindcss', '@nuxt/devtools', '@vueuse/nuxt', '@vite-pwa/nuxt'],
|
|
10
10
|
|
|
11
11
|
imports: {
|
|
12
12
|
dirs: ['store', 'composables'],
|
|
@@ -17,9 +17,6 @@ export default defineNuxtConfig({
|
|
|
17
17
|
},
|
|
18
18
|
|
|
19
19
|
vite: {
|
|
20
|
-
build: {
|
|
21
|
-
minify: false,
|
|
22
|
-
},
|
|
23
20
|
resolve: {
|
|
24
21
|
alias: [
|
|
25
22
|
{
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "hl-core",
|
|
3
|
-
"version": "0.0.9-beta.
|
|
3
|
+
"version": "0.0.9-beta.55",
|
|
4
4
|
"license": "MIT",
|
|
5
5
|
"private": false,
|
|
6
6
|
"main": "nuxt.config.ts",
|
|
@@ -55,6 +55,7 @@
|
|
|
55
55
|
"@nuxtjs/tailwindcss": "6.8.0",
|
|
56
56
|
"@pinia/nuxt": "0.4.11",
|
|
57
57
|
"@regulaforensics/document-reader-webclient": "6.9.5",
|
|
58
|
+
"@vite-pwa/nuxt": "0.2.3",
|
|
58
59
|
"@vuepic/vue-datepicker": "7.2.0",
|
|
59
60
|
"animate.css": "4.1.1",
|
|
60
61
|
"axios": "1.4.0",
|