hl-core 0.0.9-beta.1 → 0.0.9-beta.11

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.
Files changed (57) hide show
  1. package/api/index.ts +147 -147
  2. package/api/interceptors.ts +16 -14
  3. package/components/Button/Btn.vue +3 -3
  4. package/components/Complex/ContentBlock.vue +1 -1
  5. package/components/Complex/MessageBlock.vue +26 -0
  6. package/components/Complex/Page.vue +7 -1
  7. package/components/Complex/WhiteBlock.vue +7 -0
  8. package/components/Dialog/Dialog.vue +2 -2
  9. package/components/Dialog/FamilyDialog.vue +5 -5
  10. package/components/Form/FormBlock.vue +25 -27
  11. package/components/Form/FormSection.vue +2 -2
  12. package/components/Form/FormTextSection.vue +3 -3
  13. package/components/Form/FormToggle.vue +3 -3
  14. package/components/Form/ManagerAttachment.vue +55 -42
  15. package/components/Form/ProductConditionsBlock.vue +16 -16
  16. package/components/Input/EmptyFormField.vue +1 -1
  17. package/components/Input/FileInput.vue +0 -1
  18. package/components/Input/Monthpicker.vue +33 -0
  19. package/components/Input/RoundedEmptyField.vue +5 -0
  20. package/components/Input/RoundedSelect.vue +13 -0
  21. package/components/Layout/Drawer.vue +2 -1
  22. package/components/Layout/Header.vue +1 -1
  23. package/components/Layout/SettingsPanel.vue +5 -9
  24. package/components/List/ListEmpty.vue +1 -1
  25. package/components/Menu/MenuHover.vue +1 -1
  26. package/components/Menu/MenuNav.vue +1 -1
  27. package/components/Menu/MenuNavItem.vue +4 -4
  28. package/components/Pages/Anketa.vue +86 -45
  29. package/components/Pages/Auth.vue +9 -9
  30. package/components/Pages/ContragentForm.vue +505 -0
  31. package/components/Pages/Documents.vue +5 -5
  32. package/components/Pages/InvoiceInfo.vue +1 -1
  33. package/components/Pages/MemberForm.vue +35 -28
  34. package/components/Pages/ProductAgreement.vue +1 -3
  35. package/components/Pages/ProductConditions.vue +58 -21
  36. package/components/Panel/PanelHandler.vue +32 -15
  37. package/components/Panel/PanelSelectItem.vue +3 -3
  38. package/components/Utilities/IconBorder.vue +17 -0
  39. package/composables/axios.ts +1 -1
  40. package/composables/classes.ts +23 -11
  41. package/composables/constants.ts +5 -0
  42. package/composables/index.ts +30 -4
  43. package/composables/styles.ts +19 -9
  44. package/configs/i18n.ts +0 -2
  45. package/layouts/default.vue +5 -2
  46. package/layouts/full.vue +1 -1
  47. package/locales/ru.json +106 -2
  48. package/nuxt.config.ts +1 -1
  49. package/package.json +12 -21
  50. package/pages/500.vue +2 -2
  51. package/pages/Token.vue +1 -0
  52. package/plugins/helperFunctionsPlugins.ts +6 -7
  53. package/store/data.store.ts +111 -100
  54. package/store/rules.ts +12 -2
  55. package/types/index.ts +45 -27
  56. package/components/Button/BtnIcon.vue +0 -47
  57. package/locales/kz.json +0 -585
@@ -405,11 +405,11 @@ export class Member extends Person {
405
405
  registrationRegion: Value;
406
406
  registrationRegionType: Value;
407
407
  registrationCity: Value;
408
- registrationQuarter: string | null;
409
- registrationMicroDistrict: string | null;
410
- registrationStreet: string | null;
411
- registrationNumberHouse: string | null;
412
- registrationNumberApartment: string | null;
408
+ registrationQuarter?: string | null;
409
+ registrationMicroDistrict?: string | null;
410
+ registrationStreet?: string | null;
411
+ registrationNumberHouse?: string | null;
412
+ registrationNumberApartment?: string | null;
413
413
  birthRegion: Value;
414
414
  documentType: Value;
415
415
  documentNumber: string | null;
@@ -700,6 +700,11 @@ export class ProductConditions {
700
700
  termAnnuityPayments: number | string | null;
701
701
  periodAnnuityPayment: Value;
702
702
  amountAnnuityPayments: number | string | null;
703
+ isRecalculated: boolean;
704
+ totalAmount5: number | string | null;
705
+ totalAmount7: number | string | null;
706
+ statePremium5: number | string | null;
707
+ statePremium7: number | string | null;
703
708
  constructor(
704
709
  insuranceCase = null,
705
710
  coverPeriod = null,
@@ -735,6 +740,11 @@ export class ProductConditions {
735
740
  termAnnuityPayments = null,
736
741
  periodAnnuityPayment = new Value(),
737
742
  amountAnnuityPayments = null,
743
+ isRecalculated = false,
744
+ totalAmount5 = null,
745
+ totalAmount7 = null,
746
+ statePremium5 = null,
747
+ statePremium7 = null,
738
748
  ) {
739
749
  this.requestedSumInsuredInDollar = null;
740
750
  this.insurancePremiumPerMonthInDollar = null;
@@ -775,6 +785,11 @@ export class ProductConditions {
775
785
  this.termAnnuityPayments = termAnnuityPayments;
776
786
  this.periodAnnuityPayment = periodAnnuityPayment;
777
787
  this.amountAnnuityPayments = amountAnnuityPayments;
788
+ this.isRecalculated = isRecalculated;
789
+ this.totalAmount5 = totalAmount5;
790
+ this.totalAmount7 = totalAmount7;
791
+ this.statePremium5 = statePremium5;
792
+ this.statePremium7 = statePremium7;
778
793
  }
779
794
  }
780
795
 
@@ -811,6 +826,8 @@ export class DataStoreClass {
811
826
  hasAgreement: boolean;
812
827
  // Наличие анкеты
813
828
  hasAnketa: boolean;
829
+ // Обязательность доп анкеты
830
+ isSecondAnketaRequired: boolean;
814
831
  // Подтягивание с ГБДФЛ
815
832
  hasGBDFL: boolean;
816
833
  // Подтягивание с ГКБ
@@ -891,7 +908,6 @@ export class DataStoreClass {
891
908
  user: User;
892
909
  accessToken: string | null = null;
893
910
  refreshToken: string | null = null;
894
- processCoverTypeSum: Value[];
895
911
  processIndexRate: Value[];
896
912
  processPaymentPeriod: Value[];
897
913
  dicAnnuityTypeList: Value[];
@@ -950,6 +966,7 @@ export class DataStoreClass {
950
966
  },
951
967
  onAuth: false,
952
968
  hasAnketa: true,
969
+ isSecondAnketaRequired: true,
953
970
  hasAgreement: true,
954
971
  hasGBDFL: true,
955
972
  hasGKB: false,
@@ -1031,7 +1048,6 @@ export class DataStoreClass {
1031
1048
  this.user = new User();
1032
1049
  this.accessToken = null;
1033
1050
  this.refreshToken = null;
1034
- this.processCoverTypeSum = [];
1035
1051
  this.taskList = [];
1036
1052
  this.processHistory = [];
1037
1053
  this.contragentList = [];
@@ -1102,8 +1118,6 @@ export class FormStoreClass {
1102
1118
  surveyByHealthBasePolicyholder: AnketaFirst | null;
1103
1119
  surveyByCriticalBase: AnketaFirst | null;
1104
1120
  surveyByCriticalBasePolicyholder: AnketaFirst | null;
1105
- surveyByHealthSecond: AnketaSecond[] | null;
1106
- surveyByCriticalSecond: AnketaSecond[] | null;
1107
1121
  definedAnswersId: {
1108
1122
  surveyByHealthBase: any;
1109
1123
  surveyByCriticalBase: any;
@@ -1188,8 +1202,6 @@ export class FormStoreClass {
1188
1202
  this.surveyByHealthBasePolicyholder = null;
1189
1203
  this.surveyByCriticalBase = null;
1190
1204
  this.surveyByCriticalBasePolicyholder = null;
1191
- this.surveyByHealthSecond = null;
1192
- this.surveyByCriticalSecond = null;
1193
1205
  this.definedAnswersId = {
1194
1206
  surveyByHealthBase: {},
1195
1207
  surveyByCriticalBase: {},
@@ -9,6 +9,11 @@ export const constants = Object.freeze({
9
9
  liferenta: 9,
10
10
  gons: 10,
11
11
  halykkazyna: 11,
12
+ lifebusiness: 14,
13
+ },
14
+ amlProducts: {
15
+ checkcontragent: 1,
16
+ checkcontract: 2,
12
17
  },
13
18
  editableStatuses: [Statuses.StartForm, Statuses.EditBeneficiaryForm, Statuses.EditForm],
14
19
  documentsLinkVisibleStatuses: [
@@ -229,13 +229,19 @@ export const setAddressBeneficiary = (whichIndex: number, sameAddress: boolean)
229
229
  } else {
230
230
  if (beneficiary.response && beneficiary.response.addresses && beneficiary.response.addresses.length) {
231
231
  const benAddress = beneficiary.response.addresses;
232
- const country = dataStore.countries.find(i => (i.nameRu as string).match(new RegExp(benAddress[0].countryName, 'i')));
233
- const city = dataStore.cities.find(i => i.nameRu === benAddress[0].cityName.replace('г.', ''));
232
+ const countryName = benAddress[0].countryName;
233
+ const cityName = benAddress[0].cityName;
234
+ if (countryName) {
235
+ const country = dataStore.countries.find(i => (i.nameRu as string).match(new RegExp(countryName, 'i')));
236
+ beneficiary.registrationCountry = country ?? new Value();
237
+ }
238
+ if (cityName) {
239
+ const city = dataStore.cities.find(i => i.nameRu === cityName.replace('г.', ''));
240
+ beneficiary.registrationCity = city ?? new Value();
241
+ }
234
242
  const province = dataStore.states.find(i => i.ids === benAddress[0].stateCode);
235
243
  const localityType = dataStore.localityTypes.find(i => i.nameRu === benAddress[0].cityTypeName);
236
244
  const region = dataStore.regions.find(i => i.ids == benAddress[0].regionCode);
237
- beneficiary.registrationCountry = country ?? new Value();
238
- beneficiary.registrationCity = city ?? new Value();
239
245
  beneficiary.registrationMicroDistrict = beneficiary.response?.addresses[0].microRaion ?? '';
240
246
  beneficiary.registrationNumberApartment = beneficiary.response?.addresses[0].apartmentNumber ?? '';
241
247
  beneficiary.registrationNumberHouse = beneficiary.response?.addresses[0].blockNumber ?? '';
@@ -248,3 +254,23 @@ export const setAddressBeneficiary = (whichIndex: number, sameAddress: boolean)
248
254
  }
249
255
  }
250
256
  };
257
+
258
+ export const changeBridge = async (toBridge: 'efo' | 'lka', token: string) => {
259
+ const bridgeUrl = import.meta.env[`VITE_${toBridge.toUpperCase()}_URL`] as string;
260
+ if (!toBridge) return;
261
+ if (!bridgeUrl || !token) {
262
+ useDataStore().showToaster('error', `${useDataStore().t('toaster.noUrl')} [import.meta.env.VITE_${toBridge.toUpperCase()}_URL]`);
263
+ return;
264
+ }
265
+ window.open(`${bridgeUrl}/#/Token?token=${token}`, '_blank');
266
+ };
267
+
268
+ export const getFirstDayOfMonth = (year: number, month: number) => {
269
+ const date = new Date();
270
+ return new Date(year, month, 1, (date.getTimezoneOffset() / 60) * -1).toISOString();
271
+ };
272
+
273
+ export const getLastDayOfMonth = (year: number, month: number) => {
274
+ const date = new Date();
275
+ return new Date(year, month + 1, 0, (date.getTimezoneOffset() / 60) * -1).toISOString();
276
+ };
@@ -1,8 +1,8 @@
1
1
  export class Styles {
2
2
  // Base
3
- whiteBg: string = 'bg-white';
4
- whiteText: string = 'text-white';
5
- blackText: string = 'text-black';
3
+ whiteBg: string = 'bg-[#FFF]';
4
+ whiteText: string = '!text-[#FFF]';
5
+ blackText: string = '!text-[#000]';
6
6
  bodyBg: string = '!bg-[#F5F5F5]';
7
7
 
8
8
  whiteTextHover: string = 'hover:text-[#FFFFFF]';
@@ -11,7 +11,7 @@ export class Styles {
11
11
  blueBgHover: string = 'hover:bg-[#96abd6]';
12
12
  blueBgLight: string = 'bg-[#F3F6FC]';
13
13
  blueBgLightHover: string = 'hover:bg-[#f5f8fd]';
14
- blueText: string = 'text-[#A0B3D8]';
14
+ blueText: string = '!text-[#A0B3D8]';
15
15
  blueTextLight: string = 'text-[#F3F6FC]';
16
16
 
17
17
  // Green
@@ -23,13 +23,13 @@ export class Styles {
23
23
  greenBgLightHover: string = 'hover:bg-[#dbf0e4]';
24
24
 
25
25
  // Yellow
26
- yellowText: string = 'text-[#FAB31C]';
26
+ yellowText: string = '!text-[#FAB31C]';
27
27
  yellowBg: string = 'bg-[#FAB31C]';
28
28
  yellowBgHover: string = 'hover:bg-[#FAB31C]';
29
29
 
30
30
  // Grey
31
31
  greyBg: string = 'bg-[#B8B8B8]';
32
- greyText: string = 'text-[#B8B8B8]';
32
+ greyText: string = '!text-[#B8B8B8]';
33
33
  greyTextLight: string = 'text-[#B8B8B8]';
34
34
  greyIcon: string = 'text-[#DADADA]';
35
35
  greyIconBg: string = 'bg-[#DADADA]';
@@ -39,15 +39,22 @@ export class Styles {
39
39
  greyTextDark: string = 'text-[#9197A1]';
40
40
 
41
41
  // Red
42
- redText: string = 'text-[#FD2D39]';
42
+ redText: string = '!text-[#FD2D39]';
43
43
  redBg: string = 'bg-[#FF897D]';
44
44
  redBgHover: string = 'hover:bg-[#ff9b91]';
45
45
  // Error
46
46
  errorBg: string = 'bg-[#FF5449]';
47
- errorText: string = 'text-[#FF5449]';
47
+ errorText: string = '!text-[#FF5449]';
48
48
 
49
49
  // Border
50
50
  rounded: string = 'rounded-[8px]';
51
+ roundedT: string = 'rounded-t-[8px]';
52
+ roundedB: string = 'rounded-b-[8px]';
53
+ blueBorder: string = 'border-[1px] border-[#A0B3D8]';
54
+ blueLightBorder: string = 'border-[1px] border-[#F3F6FC]';
55
+ greenBorder: string = 'border-[1px] border-[#009C73]';
56
+ redBorder: string = 'border-[1px] border-[#FD2D39]';
57
+ yellowBorder: string = 'border-[1px] border-[#FAB31C]';
51
58
 
52
59
  // Text
53
60
  textSimple: string = 'text-[14px] leading-5';
@@ -63,6 +70,7 @@ export class Styles {
63
70
  redBtn: string;
64
71
  yellowBtn: string;
65
72
  whiteBtn: string;
73
+ whiteBtnBlueBr: string;
66
74
  blueLightBtn: string;
67
75
  greenLightBtn: string;
68
76
 
@@ -70,9 +78,10 @@ export class Styles {
70
78
  flexColNav: string;
71
79
  emptyBlockCol: string;
72
80
  scrollPage: string;
81
+ flexCenter: string = 'flex items-center justify-center';
73
82
 
74
83
  // Muted or disabled
75
- mutedText: string = 'text-[#99A3B3]';
84
+ mutedText: string = '!text-[#99A3B3]';
76
85
  disabled: string = 'cursor-not-allowed opacity-50';
77
86
 
78
87
  constructor() {
@@ -81,6 +90,7 @@ export class Styles {
81
90
  this.redBtn = `${this.redBg} ${this.whiteText} ${this.textTitle} ${this.rounded} w-full ${this.redBgHover}`;
82
91
  this.yellowBtn = `${this.yellowBg} ${this.whiteText} ${this.textTitle} ${this.rounded} w-full ${this.yellowBgHover}`;
83
92
  this.blueBtn = `${this.blueBg} ${this.whiteText} ${this.textTitle} ${this.rounded} w-full ${this.blueBgHover}`;
93
+ this.whiteBtnBlueBr = `${this.whiteBg} ${this.blueText} ${this.textTitle} ${this.rounded} w-full ${this.blueBgLightHover} ${this.blueBorder}`;
84
94
  this.whiteBtn = ` ${this.blackText} ${this.textTitle} ${this.rounded} w-full ${this.blueLightBgHover}`;
85
95
  this.blueLightBtn = `${this.blueBgLight} ${this.greyTextLight} ${this.textTitle} ${this.rounded} w-full ${this.blueBgLightHover}`;
86
96
  this.greenLightBtn = `${this.greenBgLight} ${this.greenText} ${this.textTitle} ${this.rounded} w-full ${this.greenBgLightHover}`;
package/configs/i18n.ts CHANGED
@@ -1,6 +1,5 @@
1
1
  import { createI18n } from 'vue-i18n';
2
2
  import ru from '../locales/ru.json';
3
- import kz from '../locales/kz.json';
4
3
 
5
4
  const instance = createI18n({
6
5
  legacy: false,
@@ -8,7 +7,6 @@ const instance = createI18n({
8
7
  locale: 'ru',
9
8
  messages: {
10
9
  ru,
11
- kz,
12
10
  },
13
11
  });
14
12
 
@@ -1,7 +1,7 @@
1
1
  <template>
2
2
  <div class="h-full z-[1]" :class="[$dataStore.hasLayoutMargins ? 'lg:mx-[22px] lg:my-[33px] lg:shadow-xl' : '']">
3
- <div :class="[$libStyles.greenBg]" class="hidden z-[-1] lg:block absolute left-0 top-0 h-[200px] w-full"></div>
4
- <section class="flex h-full" :class="$libStyles.blueBgLight">
3
+ <div :class="[$styles.greenBg]" class="hidden z-[-1] lg:block absolute left-0 top-0 h-[200px] w-full"></div>
4
+ <section class="flex h-full" :class="$styles.blueBgLight">
5
5
  <base-menu-nav
6
6
  v-if="$dataStore.showNav"
7
7
  :selected="$dataStore.menu.selectedItem"
@@ -72,4 +72,7 @@ label .v-label .v-field-label,
72
72
  /* line-height: v-bind('dataStore.fontSize*1 + "px"') !important; */
73
73
  padding-bottom: 3px;
74
74
  }
75
+ .v-card {
76
+ border-radius: 8px !important;
77
+ }
75
78
  </style>
package/layouts/full.vue CHANGED
@@ -1,6 +1,6 @@
1
1
  <template>
2
2
  <div class="h-full z-[1]" :class="[$dataStore.hasLayoutMargins ? 'lg:mx-[22px] lg:my-[33px] lg:shadow-xl' : '']">
3
- <div :class="[$libStyles.greenBg]" class="hidden lg:block absolute z-[-1] left-0 top-0 h-[200px] w-full"></div>
3
+ <div :class="[$styles.greenBg]" class="hidden lg:block absolute z-[-1] left-0 top-0 h-[200px] w-full"></div>
4
4
  <slot></slot>
5
5
  </div>
6
6
  </template>
package/locales/ru.json CHANGED
@@ -67,6 +67,7 @@
67
67
  "emptyHealthAnketa": "Не заполнены данные анкеты по здоровью Застрахованного",
68
68
  "emptyHealthAnketaPolicyholder": "Не заполнены данные анкеты по здоровью Страхователя",
69
69
  "emptyCriticalAnketa": "Не заполнены данные анкеты по критическому заболеванию Застрахованного",
70
+ "emptySecondAnketa": "Не заполнены вопросы доп. анкеты \"{text}\"",
70
71
  "successOperation": "Операция прошла успешно",
71
72
  "noAssignee": "Нужно взять задачу в работу",
72
73
  "canDoOnlyAssignee": "Задача в работе и у вас нету доступа",
@@ -83,6 +84,7 @@
83
84
  "documentNumberWasNotFilled": "Номер документа и дата не были заполнены",
84
85
  "valueShouldBeHigher": "Значение должно быть больше {text} процентов",
85
86
  "valueShouldBeBetween": "Значение должно быть в промежутке от {floor} до {ceil} процентов",
87
+ "recalculationMultiplyBetween": "Значение должно быть в промежутке от {floor} до {ceil} процентов",
86
88
  "needAgreement": "Нужно получить согласие контрагента",
87
89
  "successOtp": "Код подтверждения отправлен успешно",
88
90
  "hasSuccessOtp": "По контрагенту уже имеется согласие",
@@ -100,7 +102,16 @@
100
102
  "beneficialOwner": "бенефициарный собственник",
101
103
  "spokesman": "представитель страхователя",
102
104
  "noPermission": "У вас нет привилегии на запрос {text}",
103
- "courseChanged": "Изменился курс НБ РК, необходимо вернуть на доработку и сделать перерасчет"
105
+ "courseChanged": "Изменился курс НБ РК, необходимо вернуть на доработку и сделать перерасчет",
106
+ "noAmountBeforeTypeAndCountries": "Страховая сумма вычисляется после выбора полей типа поездки и страны поездки",
107
+ "noMaxDaysBeforePeriod": "Количество дней пребывания вычисляется после выбора поля периода",
108
+ "startMoreEnd": "Дата начала не должна превышать дату окончания поездки",
109
+ "passportNotFound": "Паспорт не найден",
110
+ "wrongInn": "Неправильный ИНН",
111
+ "underageShouldBeLess18": "Несовершеннолетний не может быть старше 18 лет",
112
+ "needAgent": "Поле агент должно быть заполнено",
113
+ "tripInsuredAmountCalculated": "Высчитана страховая сумма для выбора",
114
+ "calcSumForUnder":"Внимание! Требуется пересчет страховой суммы андеррайтером. Заявка будет направлена Андеррайтеру"
104
115
  },
105
116
  "buttons": {
106
117
  "dataInput": "Ввод данных",
@@ -252,6 +263,7 @@
252
263
  "recalculation": "Перерасчет",
253
264
  "survey": "Анкета",
254
265
  "calculationAnnuityPayments": "Расчет аннуитетных выплат",
266
+ "preliminaryCalculation":"Расчет предварительный. Требуется заполнить все необходимые данные",
255
267
  "productConditionsForm": {
256
268
  "coverPeriod": "Срок страхования",
257
269
  "payPeriod": "Период оплаты страховой премии",
@@ -260,6 +272,10 @@
260
272
  "requestedSumInsured": "Страховая сумма",
261
273
  "requestedSumInsuredInTenge": "Страховая сумма в тенге",
262
274
  "requestedSumInsuredInDollar": "Страховая сумма в долларах",
275
+ "totalAmount5":"Общая сумма (страховая сумма с учетом Гос. премии 5 %)",
276
+ "totalAmount7":"Общая сумма (страховая сумма с учетом Гос. премии 7 %)",
277
+ "statePremium5":"Гос. премия (5 %)",
278
+ "statePremium7":"Гос. премия (7 %)",
263
279
  "sumInsured": "Страховая сумма",
264
280
  "insurancePremiumPerMonth": "Страховая премия",
265
281
  "hint": "Сумма рассчитывается автоматически",
@@ -282,6 +298,25 @@
282
298
  "periodAnnuityPayment": "Запрашиваемый период аннуитетной выплаты",
283
299
  "amountAnnuityPayments": "Запрашиваемый размер аннуитетных выплат"
284
300
  },
301
+ "calculatorForm": {
302
+ "country": "Страна поездки",
303
+ "countries": "Страны поездки",
304
+ "purpose": "Цель поездки",
305
+ "workType": "Вид профессии",
306
+ "sportsType": "Вид спорта",
307
+ "type": "Тип поездки",
308
+ "days": "Количество дней пребывания",
309
+ "maxDays": "Максимальное число дней пребывания",
310
+ "age": "Возраст застрахованного",
311
+ "price": "Предварительная стоимость",
312
+ "premium": "Страховая премия",
313
+ "period": "Период страхования",
314
+ "professionType": "Тип профессии",
315
+ "amount": "Страховая сумма",
316
+ "continue": "Продолжить оформление",
317
+ "startDate": "Дата начала",
318
+ "endDate": "Дата окончания"
319
+ },
285
320
  "history": {
286
321
  "addRegNumber": "Номер",
287
322
  "number": "Номер заявки",
@@ -298,26 +333,42 @@
298
333
  "decision": "Статус",
299
334
  "userFullName": "Исполнитель"
300
335
  },
336
+ "aml": {
337
+ "contractSignDate": "Дата заключение контракта",
338
+ "contractEndDate": "Дата завершения контракта",
339
+ "insuranceEndPeriod": "Срок действия страховой защиты",
340
+ "payPeriods": "Период уплаты страховых взносов"
341
+ },
301
342
  "agent": {
343
+ "currency": "Валюта",
344
+ "programName": "Программа",
302
345
  "menu": "Меню",
303
346
  "main": "Главное",
304
347
  "reports": "Отчеты",
305
348
  "report": "Отчет",
306
349
  "notifications": "Уведомления",
307
350
  "support": "Тех. поддержка",
351
+ "makePolicy": "Заключить полис",
352
+ "done": "Оформлено",
353
+ "noChildAgents": "Отсутствуют суб-агенты",
308
354
  "agentsInfo": "Сведения о страховых агентах",
355
+ "personalData": "Личные данные",
309
356
  "info": "Данные об агенте",
357
+ "information": "Сведения",
310
358
  "about": "Сведения об Агенте",
311
359
  "level": "Уровень",
312
360
  "subAgents": "Суб-агенты",
313
- "done": "Оформлено договоров",
361
+ "doneStatements": "Оформлено договоров",
314
362
  "myContracts": "Оформлено договоров",
315
363
  "nextLevel": "Следующий уровень {text}",
316
364
  "leftMy": "Осталось оформить лично",
365
+ "leftGroup": "Осталось оформить группой",
317
366
  "leftAll": "Осталось оформить всего",
367
+ "leftAgents": "Осталось агентов {text} уровня",
318
368
  "donePolicies": "Оформлено полисов",
319
369
  "successStat": "Статистика успешных сделок",
320
370
  "doneMy": "Оформлено лично",
371
+ "doneGroup": "Оформлено группой",
321
372
  "doneAll": "Всего оформлено",
322
373
  "progressAll": "Прогресс за все время работы",
323
374
  "subagentsCalled": "Привлечено суб-агентов",
@@ -332,7 +383,42 @@
332
383
  "reportType": "Тип отчета",
333
384
  "reportFile": "Файл отчета",
334
385
  "reportDate": "Отчетная дата",
386
+ "agentPolicy": "Личные продажи",
335
387
  "paymentJournal": "Журнал оплаты",
388
+ "paySlip": "Расчетный лист",
389
+ "pay-slip": {
390
+ "formationDate": "Дата формирования",
391
+ "endPeriodLevel": "Уровень на конец периода",
392
+ "reportinPeriodFrom": "Отчетный период с {text}",
393
+ "reportinPeriodTo": "Отчетный период по {text}",
394
+ "unitCalculation": "Расчет единиц",
395
+ "selfUnit": "Личн.ед.",
396
+ "groupUnit": "Груп.ед.",
397
+ "allUnit": "Общ.ед.",
398
+ "unitFrom": "На начало",
399
+ "unitTo": "На конец",
400
+ "unitChange": "Изменения",
401
+ "unitInsLife": "Страхование жизни",
402
+ "unitTotalLife": "Общее страхование",
403
+ "unitCurrent": "Текущие начисления",
404
+ "calculationAward": "Расчет вознаграждения",
405
+ "selfPr": "Личн.пр.",
406
+ "groupPr": "Груп.пр.",
407
+ "allPr": "Общ.пр.",
408
+ "accrualsSummary": "Свод начислений по ветвям и анализ перекосов развития структуры",
409
+ "beginLevel": "Ур. на начало",
410
+ "endLevel": "Ур. на конец",
411
+ "currentUnit": "Ед. текущие",
412
+ "beginUnit": "Ед. на начало",
413
+ "endUnit": "Ед. на конец",
414
+ "personalAwards": "Персональное вознаграждение",
415
+ "groupAwards": "Групповое вознаграждение",
416
+ "payPeriod": "Периодич. оплаты",
417
+ "tarrifRate": "Тарифная ставка",
418
+ "beginRate": "Нач. единицы",
419
+ "beginAward": "Нач. вознагр.",
420
+ "activeYear": "Год действия"
421
+ },
336
422
  "journal": {
337
423
  "incomeKz": "Приходы KZT",
338
424
  "outcomeKz": "Расходы KZT",
@@ -344,6 +430,7 @@
344
430
  "unallocation": {
345
431
  "paymentId": "ID платежа",
346
432
  "voucherNumber": "Номер ваучера",
433
+ "voucherSum": "Сумма",
347
434
  "voucherDate": "Дата ваучера",
348
435
  "voucherStatus": "Статус ваучера"
349
436
  },
@@ -381,6 +468,17 @@
381
468
  "new": "Подать заявление"
382
469
  },
383
470
  "labels": {
471
+ "period": "Период",
472
+ "currentPerf": "Текущие показатели",
473
+ "premium": "Премия",
474
+ "currencySum": "Сумма валюты",
475
+ "contractNo": "Номер контракта",
476
+ "inAll": "Всего",
477
+ "sorting": "Сортировка",
478
+ "premiumSum": "Сумма премии",
479
+ "department": "Департамент",
480
+ "fromDate": "Дата с",
481
+ "toDate": "Дата по",
384
482
  "newVersion": "Новая версия",
385
483
  "code": "Код",
386
484
  "codes": "Коды",
@@ -393,6 +491,11 @@
393
491
  "dicts": "Справочники",
394
492
  "aml": "AML",
395
493
  "amlLong": "Противодействие отмыву денег",
494
+ "checkContract": "Присвоение уровня риска",
495
+ "checkContragent": "Проверка Контрагента",
496
+ "riskPoint": "Уровень риска",
497
+ "comment": "Комментарий",
498
+ "matchWith": "Совпадение по",
396
499
  "efoLong": "Единое фронтальное окно",
397
500
  "efo": "ЕФО",
398
501
  "lkaLong": "Личный кабинет Агента",
@@ -467,6 +570,7 @@
467
570
  "rules": {
468
571
  "required": "Поле обязательно",
469
572
  "cyrillic": "Поле должно содержать только кириллические символы",
573
+ "latin": "Поле должно содержать только латинские символы",
470
574
  "email": "Неправильный адрес электронной почты",
471
575
  "numbers": "Поле должно содержать только цифры",
472
576
  "numbersSymbols": "Поле должно содержать цифры",
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'],
9
+ modules: ['@pinia/nuxt', '@nuxtjs/tailwindcss', '@nuxt/devtools', '@vueuse/nuxt'],
10
10
 
11
11
  imports: {
12
12
  dirs: ['store', 'composables'],
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "hl-core",
3
- "version": "0.0.9-beta.1",
3
+ "version": "0.0.9-beta.11",
4
4
  "license": "MIT",
5
5
  "private": false,
6
6
  "main": "nuxt.config.ts",
@@ -28,31 +28,23 @@
28
28
  "dev": "nuxt dev",
29
29
  "generate": "nuxt generate",
30
30
  "preview": "nuxt preview",
31
+ "tk:all": "cd .. && cd baiterek && yarn typecheck && cd .. && cd bolashak && yarn typecheck && cd .. && cd calculator && yarn typecheck && cd .. && cd efo && yarn typecheck && cd .. && cd gons && yarn typecheck && cd .. && cd kazyna && yarn typecheck && cd .. && cd lifebusiness && yarn typecheck && cd .. && cd liferenta && yarn typecheck && cd .. && cd lifetrip && yarn typecheck && cd .. && cd core",
32
+ "i:all": "cd .. && cd baiterek && yarn && cd .. && cd bolashak && yarn && cd .. && cd calculator && yarn && cd .. && cd efo && yarn && cd .. && cd gons && yarn && cd .. && cd kazyna && yarn && cd .. && cd lifebusiness && yarn && cd .. && cd liferenta && yarn && cd .. && cd lifetrip && yarn && cd .. && cd core",
31
33
  "update:core": "git checkout -b %npm_package_version% && git add . && git commit -m \"%npm_package_version%\" && git push && git checkout main",
32
- "update:aml": "cd .. && cd aml && yarn && git checkout -b %npm_package_version% && git add . && git commit -m \"%npm_package_version%\" && git push && git checkout main && cd .. && cd core",
33
- "update:baiterek": "cd .. && cd baiterek && yarn && git checkout -b %npm_package_version% && git add . && git commit -m \"%npm_package_version%\" && git push && git checkout main && cd .. && cd core",
34
- "update:bolashak": "cd .. && cd bolashak && yarn && git checkout -b %npm_package_version% && git add . && git commit -m \"%npm_package_version%\" && git push && git checkout main && cd .. && cd core",
35
- "update:calculator": "cd .. && cd calculator && yarn && git checkout -b %npm_package_version% && git add . && git commit -m \"%npm_package_version%\" && git push && git checkout main && cd .. && cd core",
36
- "update:efo": "cd .. && cd efo && yarn && git checkout -b %npm_package_version% && git add . && git commit -m \"%npm_package_version%\" && git push && git checkout main && cd .. && cd core",
37
- "update:gons": "cd .. && cd gons && yarn && git checkout -b %npm_package_version% && git add . && git commit -m \"%npm_package_version%\" && git push && git checkout main && cd .. && cd core",
38
- "update:kazyna": "cd .. && cd kazyna && yarn && git checkout -b %npm_package_version% && git add . && git commit -m \"%npm_package_version%\" && git push && git checkout main && cd .. && cd core",
39
- "update:liferenta": "cd .. && cd liferenta && yarn && git checkout -b %npm_package_version% && git add . && git commit -m \"%npm_package_version%\" && git push && git checkout main && cd .. && cd core",
34
+ "update:aml": "cd ../../aml/aml && yarn && cd ../checkcontract && yarn && cd ../checkcontragent && yarn && cd.. && git checkout -b %npm_package_version% && git add . && git commit -m \"%npm_package_version%\" && git push && git checkout main && cd ../efo/core",
40
35
  "update:lka": "cd .. && cd lka && yarn && git checkout -b %npm_package_version% && git add . && git commit -m \"%npm_package_version%\" && git push && git checkout main && cd .. && cd core",
41
- "update:all": "yarn update:aml && yarn update:baiterek && yarn update:bolashak && yarn update:calculator && yarn update:efo && yarn update:gons && yarn update:kazyna && yarn update:liferenta && yarn update:lka",
42
- "pull:aml": "cd .. && cd aml && git pull && cd .. && cd core",
43
- "pull:baiterek": "cd .. && cd baiterek && git pull && cd .. && cd core",
44
- "pull:bolashak": "cd .. && cd bolashak && git pull && cd .. && cd core",
45
- "pull:calculator": "cd .. && cd calculator && git pull && cd .. && cd core",
46
- "pull:efo": "cd .. && cd efo && git pull && cd .. && cd core",
47
- "pull:gons": "cd .. && cd gons && git pull && cd .. && cd core",
48
- "pull:kazyna": "cd .. && cd kazyna && git pull && cd .. && cd core",
49
- "pull:liferenta": "cd .. && cd liferenta && git pull && cd .. && cd core",
50
- "pull:lka": "cd .. && cd lka && git pull && cd .. && cd core",
51
- "pull:all": "cd .. && cd aml && git pull && cd .. && cd baiterek && git pull && cd .. && cd bolashak && git pull && cd .. && cd calculator && git pull && cd .. && cd efo && git pull && cd .. && cd gons && git pull && cd .. && cd kazyna && git pull && cd .. && cd liferenta && git pull && cd .. && cd lka && git pull && cd ..",
36
+ "update:all": "yarn update:aml && yarn update:lka",
37
+ "pull:core": "git pull && git fetch",
38
+ "pull:aml": "cd ../../aml && git pull && cd ../efo/core",
39
+ "pull:lka": "cd ../../lka && git pull && cd ../efo/core",
40
+ "pull:all": "yarn pull:core && yarn pull:aml && yarn pull:lka",
52
41
  "typecheck": "nuxt typecheck"
53
42
  },
54
43
  "devDependencies": {
55
44
  "@nuxt/devtools": "^0.4.5",
45
+ "@vueuse/components": "^10.2.1",
46
+ "@vueuse/core": "^10.2.1",
47
+ "@vueuse/nuxt": "^10.2.1",
56
48
  "nuxt": "^3.6.2",
57
49
  "prettier": "^2.8.8"
58
50
  },
@@ -70,7 +62,6 @@
70
62
  "pinia": "^2.1.4",
71
63
  "typedoc": "^0.24.8",
72
64
  "typescript": "5.0.4",
73
- "v-idle-3": "^0.3.14",
74
65
  "vue-i18n": "^9.2.2",
75
66
  "vue-json-pretty": "^2.2.4",
76
67
  "vue-toastification": "^2.0.0-rc.5",
package/pages/500.vue CHANGED
@@ -1,5 +1,5 @@
1
1
  <template>
2
- <base-content class="!w-full flex-col justify-center items-center gap-[100px]" :class="[$libStyles.blueBgLight]">
2
+ <base-content class="!w-full flex-col justify-center items-center gap-[100px]" :class="[$styles.blueBgLight]">
3
3
  <svg class="w-[240px] lg:w-[330px]" draggable="false" width="277" height="99" viewBox="0 0 277 99" fill="none" xmlns="http://www.w3.org/2000/svg">
4
4
  <path
5
5
  fill-rule="evenodd"
@@ -39,7 +39,7 @@
39
39
  />
40
40
  </svg>
41
41
  <div class="text-center">
42
- <h2 :class="[$libStyles.blackText]" class="text-[26px] leading-5 mb-5">Сервис временно не доступен</h2>
42
+ <h2 :class="[$styles.blackText]" class="text-[26px] leading-5 mb-5">Сервис временно не доступен</h2>
43
43
  <p v-if="errorStack.length" class="mt-4 flex flex-col">
44
44
  <span v-for="(error, index) of errorStack" :key="error">
45
45
  <i v-if="index !== 0" class="mdi mdi-arrow-right"></i>
package/pages/Token.vue CHANGED
@@ -22,6 +22,7 @@ export default defineComponent({
22
22
  if (dataStore.isAML) {
23
23
  return 'Main';
24
24
  }
25
+ return 'index';
25
26
  };
26
27
 
27
28
  onMounted(async () => {
@@ -3,25 +3,24 @@ import { constants } from '../composables/constants';
3
3
  import { Styles } from '../composables/styles';
4
4
  import VueDatePicker from '@vuepic/vue-datepicker';
5
5
  import '@vuepic/vue-datepicker/dist/main.css';
6
- import Vidle from 'v-idle-3';
7
6
  import Maska from 'maska';
8
7
  import i18n from '../configs/i18n';
9
8
 
10
9
  export default defineNuxtPlugin(nuxtApp => {
11
- //@ts-ignore
12
- nuxtApp.vueApp.use(Vidle, {});
13
10
  nuxtApp.vueApp.use(Maska);
14
11
  nuxtApp.vueApp.use(i18n);
15
12
  nuxtApp.vueApp.component('VueDatePicker', VueDatePicker);
16
13
 
17
14
  return {
18
15
  provide: {
19
- capitalize: capitalize,
20
- getFullNameShorted: getFullNameShorted,
21
- libStyles: new Styles(),
16
+ env: useEnv(),
22
17
  maska: new Masks(),
23
- reformatIin: reformatIin,
18
+ styles: new Styles(),
24
19
  constants: constants,
20
+ capitalize: capitalize,
21
+ display: useDisplayInfo,
22
+ reformatIin: reformatIin,
23
+ getFullNameShorted: getFullNameShorted,
25
24
  },
26
25
  };
27
26
  });