hl-core 0.0.10-beta.37 → 0.0.10-beta.39
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 +10 -0
- package/components/Input/TextAreaField.vue +71 -0
- package/components/Pages/Anketa.vue +2 -2
- package/components/Pages/MemberForm.vue +2 -2
- package/components/Panel/PanelHandler.vue +23 -9
- package/composables/classes.ts +2 -0
- package/composables/index.ts +29 -1
- package/locales/ru.json +1 -0
- package/package.json +1 -1
- package/store/data.store.ts +24 -17
- package/store/rules.ts +1 -0
- package/types/enum.ts +3 -1
package/api/base.api.ts
CHANGED
|
@@ -1039,6 +1039,16 @@ export class ApiClass {
|
|
|
1039
1039
|
});
|
|
1040
1040
|
}
|
|
1041
1041
|
|
|
1042
|
+
async getParentApplication(bin: string) {
|
|
1043
|
+
return await this.axiosCall<any>({
|
|
1044
|
+
method: Methods.GET,
|
|
1045
|
+
url: `/${this.productUrl}/api/Application/GetParentApplication`,
|
|
1046
|
+
params: {
|
|
1047
|
+
bin,
|
|
1048
|
+
},
|
|
1049
|
+
});
|
|
1050
|
+
}
|
|
1051
|
+
|
|
1042
1052
|
pensionannuityNew = {
|
|
1043
1053
|
base: '/pensionannuityNew',
|
|
1044
1054
|
getEnpfRedirectUrl: async (id: string) => {
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
<template>
|
|
2
|
+
<v-textarea
|
|
3
|
+
class="form-input"
|
|
4
|
+
:label="label"
|
|
5
|
+
:model-value="modelValue"
|
|
6
|
+
:disabled="disabled"
|
|
7
|
+
:variant="variant"
|
|
8
|
+
:readonly="props.readonly"
|
|
9
|
+
:color="color"
|
|
10
|
+
:rows="rows"
|
|
11
|
+
@update:modelValue="$emit('update:modelValue', $event)"
|
|
12
|
+
auto-grow
|
|
13
|
+
></v-textarea>
|
|
14
|
+
</template>
|
|
15
|
+
|
|
16
|
+
<script lang="ts">
|
|
17
|
+
import type { InputVariants } from '../../types';
|
|
18
|
+
|
|
19
|
+
export default defineComponent({
|
|
20
|
+
props: {
|
|
21
|
+
modelValue: {
|
|
22
|
+
required: false,
|
|
23
|
+
},
|
|
24
|
+
label: {
|
|
25
|
+
type: String,
|
|
26
|
+
default: '',
|
|
27
|
+
},
|
|
28
|
+
disabled: {
|
|
29
|
+
type: Boolean,
|
|
30
|
+
default: false,
|
|
31
|
+
},
|
|
32
|
+
variant: {
|
|
33
|
+
type: String as PropType<InputVariants>,
|
|
34
|
+
default: 'solo',
|
|
35
|
+
},
|
|
36
|
+
readonly: {
|
|
37
|
+
type: Boolean,
|
|
38
|
+
default: false,
|
|
39
|
+
},
|
|
40
|
+
color: {
|
|
41
|
+
type: String,
|
|
42
|
+
default: '#009c73',
|
|
43
|
+
},
|
|
44
|
+
rows: {
|
|
45
|
+
type: Number,
|
|
46
|
+
default: 5,
|
|
47
|
+
},
|
|
48
|
+
},
|
|
49
|
+
emits: ['update:modelValue'],
|
|
50
|
+
|
|
51
|
+
setup(props, { emit }) {
|
|
52
|
+
return {
|
|
53
|
+
props,
|
|
54
|
+
};
|
|
55
|
+
},
|
|
56
|
+
});
|
|
57
|
+
</script>
|
|
58
|
+
|
|
59
|
+
<style>
|
|
60
|
+
.form-input input:focus {
|
|
61
|
+
border: none !important;
|
|
62
|
+
outline: none !important;
|
|
63
|
+
}
|
|
64
|
+
.form-input .v-field {
|
|
65
|
+
box-shadow: none;
|
|
66
|
+
font-size: 14px;
|
|
67
|
+
}
|
|
68
|
+
.form-input .v-label.v-field-label {
|
|
69
|
+
top: 20px;
|
|
70
|
+
}
|
|
71
|
+
</style>
|
|
@@ -422,7 +422,7 @@ export default defineComponent({
|
|
|
422
422
|
if (firstQuestionList.value) {
|
|
423
423
|
if (answerToAll.value) {
|
|
424
424
|
firstQuestionList.value.forEach((question: AnketaBody, index: number) => {
|
|
425
|
-
if (question.first.answerType === 'T') {
|
|
425
|
+
if (question.first.answerType === 'T' || question.first.answerType === 'D') {
|
|
426
426
|
firstQuestionList.value![index].first.answerName = 'Нет' as AnswerName;
|
|
427
427
|
}
|
|
428
428
|
});
|
|
@@ -432,7 +432,7 @@ export default defineComponent({
|
|
|
432
432
|
}
|
|
433
433
|
} else {
|
|
434
434
|
firstQuestionList.value.forEach((question: AnketaBody, index: number) => {
|
|
435
|
-
if (question.first.answerType === 'T') {
|
|
435
|
+
if (question.first.answerType === 'T' || question.first.answerType === 'D') {
|
|
436
436
|
firstQuestionList.value![index].first.answerName = null;
|
|
437
437
|
}
|
|
438
438
|
});
|
|
@@ -208,7 +208,7 @@
|
|
|
208
208
|
v-if="$dataStore.isPension && (whichForm === formStore.insuredFormKey || $route.query.tab === 'slaveInsuredForm')"
|
|
209
209
|
:title="$dataStore.t('pension.disabilityInfo')"
|
|
210
210
|
>
|
|
211
|
-
<base-form-toggle v-model="member.isDisability" :title="$dataStore.t('pension.
|
|
211
|
+
<base-form-toggle v-model="member.isDisability" :title="$dataStore.t('pension.ifHasDisabilityAlways')" :disabled="isDisabled" :has-border="false" />
|
|
212
212
|
<base-animation>
|
|
213
213
|
<base-panel-input
|
|
214
214
|
v-if="member.isDisability"
|
|
@@ -1676,7 +1676,7 @@ export default {
|
|
|
1676
1676
|
});
|
|
1677
1677
|
if (data.slave)
|
|
1678
1678
|
pensionKeysWithSpace.forEach(key => {
|
|
1679
|
-
if (/\s/g.test(data.slave[key]) === true) data.slave[key] =
|
|
1679
|
+
if (/\s/g.test(data.slave[key]) === true) data.slave[key] = formatSpacedNumber(data.slave[key]);
|
|
1680
1680
|
});
|
|
1681
1681
|
const isApplicationSaved = await dataStore.setApplication(data);
|
|
1682
1682
|
if (!isNewApplication) dataStore.showToaster('info', dataStore.t('toaster.needToRecalculate'), 5000);
|
|
@@ -58,7 +58,7 @@
|
|
|
58
58
|
<base-file-input :label="$dataStore.t('labels.attachPowerOfAttorney')" @input.prevent="onFileChangeScans($event, 'attorney')" @onClear="onClearFile('attorney')" />
|
|
59
59
|
</base-form-section>
|
|
60
60
|
</div>
|
|
61
|
-
<base-btn :text="$dataStore.t('buttons.sign')" :loading="$dataStore.isButtonsLoading" @click="isNewSign ? sendFilesNew() : sendFiles()" />
|
|
61
|
+
<base-btn :text="$dataStore.t('buttons.sign')" :loading="$dataStore.isButtonsLoading || loading" @click="isNewSign ? sendFilesNew() : sendFiles()" />
|
|
62
62
|
<base-btn :text="$dataStore.t('buttons.cancel')" :btn="$styles.whiteBtn" @click="isScansDocuments = false" />
|
|
63
63
|
</div>
|
|
64
64
|
<div v-if="isQr" :class="[$styles.flexColNav]">
|
|
@@ -123,7 +123,7 @@
|
|
|
123
123
|
</section>
|
|
124
124
|
<section v-if="choosePayActions">
|
|
125
125
|
<div v-if="!isEpayPay && !isOfflinePay" :class="[$styles.flexColNav]">
|
|
126
|
-
<base-btn :text="$dataStore.t('buttons.payEpay')" :loading="loading" @click="handlePayAction('epay')" />
|
|
126
|
+
<base-btn v-if="hasEpayPay" :text="$dataStore.t('buttons.payEpay')" :loading="loading" @click="handlePayAction('epay')" />
|
|
127
127
|
<base-btn :text="$dataStore.t('buttons.payOffline')" :loading="loading" @click="handlePayAction('offline')" />
|
|
128
128
|
</div>
|
|
129
129
|
<div v-if="isOfflinePay" :class="[$styles.flexColNav]">
|
|
@@ -449,6 +449,7 @@ export default defineComponent({
|
|
|
449
449
|
};
|
|
450
450
|
|
|
451
451
|
const sendFiles = async () => {
|
|
452
|
+
loading.value = true;
|
|
452
453
|
if (scansFiles.value.length !== 4) {
|
|
453
454
|
dataStore.showToaster('warning', dataStore.t('toaster.notAllDocumentsAttached'));
|
|
454
455
|
return;
|
|
@@ -462,6 +463,7 @@ export default defineComponent({
|
|
|
462
463
|
closePanel();
|
|
463
464
|
dataStore.showToaster('success', dataStore.t('toaster.successOperation'));
|
|
464
465
|
await dataStore.handleTask(constants.actions.signed, route.params.taskId as string, 'scans');
|
|
466
|
+
loading.value = false;
|
|
465
467
|
};
|
|
466
468
|
const submitForm = async () => {
|
|
467
469
|
await vForm.value.validate().then(async (v: { valid: Boolean; errors: any }) => {
|
|
@@ -647,6 +649,12 @@ export default defineComponent({
|
|
|
647
649
|
const isSignatureDisabled = computed(() => {
|
|
648
650
|
return true;
|
|
649
651
|
});
|
|
652
|
+
const hasEpayPay = computed(() => {
|
|
653
|
+
if (dataStore.isLifeBusiness || dataStore.isGns) {
|
|
654
|
+
return false;
|
|
655
|
+
}
|
|
656
|
+
return true;
|
|
657
|
+
});
|
|
650
658
|
const downloadTemplate = async (documentType: number, fileType: string) => {
|
|
651
659
|
await dataStore.downloadTemplate(documentType, fileType, formStore.applicationData.processInstanceId);
|
|
652
660
|
};
|
|
@@ -892,14 +900,19 @@ export default defineComponent({
|
|
|
892
900
|
isQr.value = true;
|
|
893
901
|
break;
|
|
894
902
|
case CoreEnums.Sign.Types.nclayer:
|
|
895
|
-
for (let
|
|
896
|
-
const
|
|
897
|
-
if (
|
|
898
|
-
dataStore.
|
|
899
|
-
|
|
903
|
+
for (let each of file.filter((i: any) => i.isSigned !== true)) {
|
|
904
|
+
const signingFile = signOptions.value.signIds.find((i: any) => Number(i.fileType) === Number(each.fileType));
|
|
905
|
+
if (signingFile) {
|
|
906
|
+
const response = await dataStore.nclayerSign(signingFile.id, signType, Number(each.fileType) === 43);
|
|
907
|
+
if (response === null) {
|
|
908
|
+
dataStore.showToaster('error', 'Ошибка при подключении к приложению «NCALayer». Убедитесь, что запустили приложение «NCALayer»', 10000);
|
|
909
|
+
break;
|
|
910
|
+
}
|
|
911
|
+
if (!response) break;
|
|
912
|
+
if (response === true) dataStore.showToaster('success', 'Подписание прошло успешно');
|
|
913
|
+
} else {
|
|
914
|
+
dataStore.showToaster('error', 'Не найдены данные для подписания файла');
|
|
900
915
|
}
|
|
901
|
-
if (!response) break;
|
|
902
|
-
if (response === true) dataStore.showToaster('success', 'Подписание прошло успешно');
|
|
903
916
|
}
|
|
904
917
|
break;
|
|
905
918
|
default:
|
|
@@ -1003,6 +1016,7 @@ export default defineComponent({
|
|
|
1003
1016
|
getFileNew,
|
|
1004
1017
|
inSigningOrder,
|
|
1005
1018
|
isNewSign,
|
|
1019
|
+
hasEpayPay,
|
|
1006
1020
|
};
|
|
1007
1021
|
},
|
|
1008
1022
|
});
|
package/composables/classes.ts
CHANGED
|
@@ -1564,6 +1564,7 @@ export class FormStoreClass {
|
|
|
1564
1564
|
export class Address {
|
|
1565
1565
|
country: Value;
|
|
1566
1566
|
region: Value;
|
|
1567
|
+
state: Value;
|
|
1567
1568
|
regionType: Value;
|
|
1568
1569
|
city: Value;
|
|
1569
1570
|
square: string | null;
|
|
@@ -1577,6 +1578,7 @@ export class Address {
|
|
|
1577
1578
|
constructor() {
|
|
1578
1579
|
this.country = new Value();
|
|
1579
1580
|
this.region = new Value();
|
|
1581
|
+
this.state = new Value();
|
|
1580
1582
|
this.regionType = new Value();
|
|
1581
1583
|
this.city = new Value();
|
|
1582
1584
|
this.square = null;
|
package/composables/index.ts
CHANGED
|
@@ -89,6 +89,29 @@ export const reformatDate = (date: string) => {
|
|
|
89
89
|
}
|
|
90
90
|
};
|
|
91
91
|
|
|
92
|
+
export const reformatDateWithHours = (date: string) => {
|
|
93
|
+
if (date) {
|
|
94
|
+
const data = new Date(date);
|
|
95
|
+
let day: string | number = data.getDate();
|
|
96
|
+
let month: string | number = data.getMonth() + 1;
|
|
97
|
+
let hour: string | number = data.getHours();
|
|
98
|
+
let minute: string | number = data.getMinutes();
|
|
99
|
+
if (month < 10) {
|
|
100
|
+
month = '0' + month;
|
|
101
|
+
}
|
|
102
|
+
if (day < 10) {
|
|
103
|
+
day = '0' + day;
|
|
104
|
+
}
|
|
105
|
+
if (minute < 10) {
|
|
106
|
+
minute = '0' + minute;
|
|
107
|
+
}
|
|
108
|
+
const year = data.getFullYear();
|
|
109
|
+
return `${day}.${month}.${year} - ${hour}:${minute}`;
|
|
110
|
+
} else {
|
|
111
|
+
return null;
|
|
112
|
+
}
|
|
113
|
+
};
|
|
114
|
+
|
|
92
115
|
export const reformatIin = (iin: string) => {
|
|
93
116
|
if (!!iin) {
|
|
94
117
|
const matched = iin.match(/.{1,3}/g);
|
|
@@ -806,6 +829,9 @@ export class RoleController {
|
|
|
806
829
|
isDsoDirector = () => {
|
|
807
830
|
return this.isRole(constants.roles.DsoDirector);
|
|
808
831
|
};
|
|
832
|
+
isArchivist = () => {
|
|
833
|
+
return this.isRole(constants.roles.Archivist);
|
|
834
|
+
};
|
|
809
835
|
isAccountantDirector = () => {
|
|
810
836
|
return this.isRole(constants.roles.AccountantDirector);
|
|
811
837
|
};
|
|
@@ -815,6 +841,9 @@ export class RoleController {
|
|
|
815
841
|
isUrsp = () => {
|
|
816
842
|
return this.isRole(constants.roles.URSP);
|
|
817
843
|
};
|
|
844
|
+
isArchivist = () => {
|
|
845
|
+
return this.isRole(constants.roles.Archivist);
|
|
846
|
+
};
|
|
818
847
|
hasAccess = () => {
|
|
819
848
|
const baseAccessRoles = this.isAdmin() || this.isSupport() || this.isAnalyst() || this.isDrn();
|
|
820
849
|
return {
|
|
@@ -826,7 +855,6 @@ export class RoleController {
|
|
|
826
855
|
toUU: this.isServiceManager() || this.isAccountant() || this.isAdjuster() || this.isHeadAdjuster() || baseAccessRoles,
|
|
827
856
|
toDSO:
|
|
828
857
|
this.isDsuio() ||
|
|
829
|
-
this.isManager() ||
|
|
830
858
|
this.isActuary() ||
|
|
831
859
|
this.isHeadOfDso() ||
|
|
832
860
|
this.isAccountant() ||
|
package/locales/ru.json
CHANGED
|
@@ -560,6 +560,7 @@
|
|
|
560
560
|
"paymentsDate": "Дата начала аннуитетных выплат",
|
|
561
561
|
"paymentsPeriod": "Период страховых выплат",
|
|
562
562
|
"ifHasDisability": "Включите, если у Страхователя есть инвалидность",
|
|
563
|
+
"ifHasDisabilityAlways": "Включите, если у Страхователя бессрочная инвалидность",
|
|
563
564
|
"disabilityInfo": "Данные об инвалидности",
|
|
564
565
|
"disabilityGroup": "Группа инвалидности",
|
|
565
566
|
"compulsoryContractAmount": "Обязательные пенсионные взносы, в тенге",
|
package/package.json
CHANGED
package/store/data.store.ts
CHANGED
|
@@ -3,7 +3,7 @@ import { rules } from './rules';
|
|
|
3
3
|
import { i18n } from '../configs/i18n';
|
|
4
4
|
import { Toast, Types as ToastTypes, Positions, ToastOptions } from './toast';
|
|
5
5
|
import { isValidGUID, yearEnding, jwtDecode, ErrorHandler, getKeyWithPattern, getNumber, getAgeByBirthDate, RoleController, ProcessController, sanitize } from '../composables';
|
|
6
|
-
import { DataStoreClass, DocumentItem, Member, Value, CountryValue, PolicyholderActivity, BeneficialOwner, PolicyholderClass } from '../composables/classes';
|
|
6
|
+
import { DataStoreClass, DocumentItem, Member, Value, CountryValue, PolicyholderActivity, BeneficialOwner, PolicyholderClass, GroupMember } from '../composables/classes';
|
|
7
7
|
import { ApiClass } from '../api';
|
|
8
8
|
import { useFormStore } from './form.store';
|
|
9
9
|
import { AxiosError } from 'axios';
|
|
@@ -3689,12 +3689,6 @@ export const useDataStore = defineStore('data', {
|
|
|
3689
3689
|
this.formStore.applicationData = applicationData;
|
|
3690
3690
|
this.formStore.regNumber = applicationData.regNumber;
|
|
3691
3691
|
this.formStore.additionalInsuranceTerms = applicationData.addCoverDto;
|
|
3692
|
-
|
|
3693
|
-
if (localStorage.getItem('add') === 'true' || this.formStore.applicationData.parentPolicyDto !== null) {
|
|
3694
|
-
this.formStore.lfb.add = true;
|
|
3695
|
-
this.formStore.lfb.policyholder.clientData.iin = localStorage.getItem('bin') as string;
|
|
3696
|
-
}
|
|
3697
|
-
|
|
3698
3692
|
this.formStore.canBeClaimed = await this.api.isClaimTask(taskId);
|
|
3699
3693
|
this.formStore.applicationTaskId = taskId;
|
|
3700
3694
|
this.formStore.RegionPolicy.nameRu = applicationData.insisWorkDataApp.regionPolicyName;
|
|
@@ -3715,17 +3709,8 @@ export const useDataStore = defineStore('data', {
|
|
|
3715
3709
|
|
|
3716
3710
|
this.formStore.applicationData.processInstanceId = applicationData.processInstanceId;
|
|
3717
3711
|
this.formStore.lfb.policyholder.isIpdl = applicationData.clientApp.isIpdl;
|
|
3718
|
-
this.formStore.lfb.policyholder.clientData = clientData;
|
|
3719
|
-
this.formStore.lfb.policyholder.clientData.authoritedPerson = clientData.authoritedPerson;
|
|
3720
|
-
this.formStore.lfb.policyholder.clientData.iin = reformatIin(clientData.iin);
|
|
3721
|
-
this.formStore.lfb.policyholder.clientData.authoritedPerson.iin = reformatIin(clientData.authoritedPerson.iin);
|
|
3722
3712
|
this.formStore.lfb.clientId = clientId;
|
|
3723
|
-
this.
|
|
3724
|
-
this.formStore.lfb.policyholder.clientData.authoritedPerson.birthDate = reformatDate(clientData.authoritedPerson.birthDate) ?? '';
|
|
3725
|
-
this.formStore.lfb.policyholder.clientData.authoritedPerson.identityDocument.issuedOn = reformatDate(clientData.authoritedPerson.identityDocument.issuedOn) ?? '';
|
|
3726
|
-
this.formStore.lfb.policyholder.clientData.authoritedPerson.identityDocument.validUntil = reformatDate(clientData.authoritedPerson.identityDocument.validUntil) ?? '';
|
|
3727
|
-
const gender = this.gender.find((i: Value) => i.id === clientData.authoritedPerson.gender);
|
|
3728
|
-
this.formStore.lfb.policyholder.clientData.authoritedPerson.gender = gender ? gender : new Value();
|
|
3713
|
+
this.getClientData(clientData);
|
|
3729
3714
|
|
|
3730
3715
|
if (clientData && clientData.activityTypes !== null) {
|
|
3731
3716
|
this.formStore.lfb.policyholderActivities = clientData.activityTypes;
|
|
@@ -4123,6 +4108,28 @@ export const useDataStore = defineStore('data', {
|
|
|
4123
4108
|
return ErrorHandler(err);
|
|
4124
4109
|
}
|
|
4125
4110
|
},
|
|
4111
|
+
getClientData(clientData: GroupMember) {
|
|
4112
|
+
this.formStore.lfb.policyholder.clientData = clientData;
|
|
4113
|
+
this.formStore.lfb.policyholder.clientData.authoritedPerson = clientData.authoritedPerson;
|
|
4114
|
+
this.formStore.lfb.policyholder.clientData.iin = reformatIin(clientData.iin);
|
|
4115
|
+
this.formStore.lfb.policyholder.clientData.authoritedPerson.iin = reformatIin(clientData.authoritedPerson.iin);
|
|
4116
|
+
this.formStore.lfb.policyholder.clientData.authoritedPerson.authorityDetails.date = reformatDate(clientData.authoritedPerson.authorityDetails.date as string);
|
|
4117
|
+
this.formStore.lfb.policyholder.clientData.authoritedPerson.birthDate = reformatDate(clientData.authoritedPerson.birthDate) ?? '';
|
|
4118
|
+
this.formStore.lfb.policyholder.clientData.authoritedPerson.identityDocument.issuedOn = reformatDate(clientData.authoritedPerson.identityDocument.issuedOn) ?? '';
|
|
4119
|
+
this.formStore.lfb.policyholder.clientData.authoritedPerson.identityDocument.validUntil = reformatDate(clientData.authoritedPerson.identityDocument.validUntil) ?? '';
|
|
4120
|
+
const gender = this.gender.find((i: Value) => i.id === Number(clientData.authoritedPerson.gender));
|
|
4121
|
+
this.formStore.lfb.policyholder.clientData.authoritedPerson.gender = gender ? gender : new Value();
|
|
4122
|
+
},
|
|
4123
|
+
async getParentApplication(bin: string) {
|
|
4124
|
+
try {
|
|
4125
|
+
const response = await this.api.getParentApplication(bin);
|
|
4126
|
+
if (response) {
|
|
4127
|
+
this.getClientData(response.clientApp.clientData);
|
|
4128
|
+
}
|
|
4129
|
+
} catch (err) {
|
|
4130
|
+
return ErrorHandler(err);
|
|
4131
|
+
}
|
|
4132
|
+
},
|
|
4126
4133
|
hasJobSection(whichForm: keyof typeof StoreMembers) {
|
|
4127
4134
|
if (this.isLifetrip || this.isPension || this.isBalam) return false;
|
|
4128
4135
|
switch (whichForm) {
|
package/store/rules.ts
CHANGED
|
@@ -6,6 +6,7 @@ const t = i18n.t;
|
|
|
6
6
|
export const rules = {
|
|
7
7
|
recalculationMultiply: [(v: any) => (v !== null && v !== '' && v >= 100) || t('toaster.valueShouldBeHigher', { text: '100' })],
|
|
8
8
|
recalculationMultiplyBetween: [(v: any) => (v !== null && v !== '' && v >= 100 && v <= 200) || t('toaster.recalculationMultiplyBetween', { floor: '100', ceil: '200' })],
|
|
9
|
+
recalculationMultiplyBetween50And200: [(v: any) => (v !== null && v !== '' && v >= 50 && v <= 200) || t('toaster.recalculationMultiplyBetween', { floor: '50', ceil: '200' })],
|
|
9
10
|
recalculationAdditive: [(v: any) => (v !== null && v !== '' && v <= 100 && v >= 0) || t('toaster.valueShouldBeBetween', { floor: '0', ceil: '100' })],
|
|
10
11
|
required: [(v: any) => !!v || t('rules.required')],
|
|
11
12
|
notZero: [(v: any) => Number(v) !== 0 || 'Не может быть равно нулю'],
|
package/types/enum.ts
CHANGED
|
@@ -62,7 +62,7 @@ export enum Actions {
|
|
|
62
62
|
annulmentCustom = 'annulmentCustom',
|
|
63
63
|
|
|
64
64
|
otrs = 'otrs',
|
|
65
|
-
otrsCustom = 'otrsCustom'
|
|
65
|
+
otrsCustom = 'otrsCustom',
|
|
66
66
|
}
|
|
67
67
|
|
|
68
68
|
export enum PostActions {
|
|
@@ -112,10 +112,12 @@ export enum Roles {
|
|
|
112
112
|
SettlementLosses = 'SettlementLosses',
|
|
113
113
|
HeadSettlementLosses = 'HeadSettlementLosses',
|
|
114
114
|
DsoDirector = 'DsoDirector',
|
|
115
|
+
Archivist = 'Archivist',
|
|
115
116
|
AccountantDirector = 'AccountantDirector',
|
|
116
117
|
ManagerAuletti = 'ManagerAuletti',
|
|
117
118
|
HeadOfDso = 'HeadOfDso',
|
|
118
119
|
URSP = 'URSP',
|
|
120
|
+
Archivist = 'Archivist',
|
|
119
121
|
}
|
|
120
122
|
|
|
121
123
|
export enum Statuses {
|