hl-core 0.0.8-beta.3 → 0.0.8-beta.30

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 (46) hide show
  1. package/api/index.ts +81 -18
  2. package/api/interceptors.ts +17 -13
  3. package/components/Dialog/Dialog.vue +7 -37
  4. package/components/Form/FormBlock.vue +65 -28
  5. package/components/Form/FormSection.vue +4 -1
  6. package/components/Form/ManagerAttachment.vue +197 -0
  7. package/components/Form/ProductConditionsBlock.vue +64 -12
  8. package/components/Input/Datepicker.vue +5 -1
  9. package/components/Input/FormInput.vue +28 -7
  10. package/components/Input/PanelInput.vue +5 -0
  11. package/components/Input/RoundedSelect.vue +137 -0
  12. package/components/Layout/Drawer.vue +1 -0
  13. package/components/Layout/Header.vue +40 -4
  14. package/components/Layout/SettingsPanel.vue +39 -9
  15. package/components/Menu/MenuHover.vue +30 -0
  16. package/components/Menu/MenuNav.vue +28 -11
  17. package/components/Menu/MenuNavItem.vue +5 -2
  18. package/components/Pages/Anketa.vue +38 -21
  19. package/components/Pages/Auth.vue +149 -30
  20. package/components/Pages/InvoiceInfo.vue +30 -0
  21. package/components/Pages/MemberForm.vue +381 -144
  22. package/components/Pages/ProductConditions.vue +496 -17
  23. package/components/Panel/PanelHandler.vue +75 -2
  24. package/components/Utilities/Chip.vue +27 -0
  25. package/components/Utilities/JsonViewer.vue +27 -0
  26. package/composables/classes.ts +165 -25
  27. package/composables/constants.ts +13 -1
  28. package/composables/index.ts +58 -2
  29. package/composables/styles.ts +9 -3
  30. package/configs/i18n.ts +19 -0
  31. package/layouts/default.vue +2 -2
  32. package/locales/en.json +583 -0
  33. package/locales/kz.json +583 -0
  34. package/locales/ru.json +585 -0
  35. package/nuxt.config.ts +8 -0
  36. package/package.json +15 -9
  37. package/pages/500.vue +1 -1
  38. package/pages/Token.vue +51 -0
  39. package/plugins/helperFunctionsPlugins.ts +3 -0
  40. package/plugins/storePlugin.ts +0 -1
  41. package/plugins/vuetifyPlugin.ts +8 -1
  42. package/store/data.store.js +705 -624
  43. package/store/member.store.ts +147 -22
  44. package/store/rules.js +41 -3
  45. package/types/index.ts +39 -0
  46. package/store/messages.ts +0 -434
@@ -2,14 +2,14 @@
2
2
  <section v-if="sendingActions">
3
3
  <div :class="[$libStyles.flexColNav]">
4
4
  <v-form ref="vForm">
5
- <base-rounded-input v-model="actionCause" placeholder="Причина" :rules="$rules.required"></base-rounded-input>
5
+ <base-rounded-input v-model.trim="actionCause" placeholder="Причина" :rules="$rules.required"></base-rounded-input>
6
6
  </v-form>
7
7
  <base-btn :text="buttonText" :loading="loading" @click="submitForm"></base-btn>
8
8
  </div>
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
  >
@@ -89,6 +89,27 @@
89
89
  </base-fade-transition>
90
90
  </div>
91
91
  </section>
92
+ <section v-if="affiliateActions">
93
+ <div :class="[$libStyles.flexColNav]">
94
+ <v-form ref="vForm">
95
+ <base-content-block class="flex flex-col gap-3">
96
+ <base-form-input v-model.trim="formStore.affilationResolution.number" :rules="$rules.required" :label="$t('form.documentNumber')"></base-form-input>
97
+ <base-form-input
98
+ v-model="formStore.affilationResolution.date"
99
+ :maska="$maska.date"
100
+ :rules="$rules.required"
101
+ :label="$t('form.date')"
102
+ append-inner-icon="mdi mdi-calendar-blank-outline"
103
+ ></base-form-input>
104
+ <base-file-input v-if="!affiliationDocument" @input.prevent="onFileChange($event)"></base-file-input>
105
+ <base-empty-form-field v-if="affiliationDocument" class="justify-between">
106
+ {{ `${affiliationDocument.fileTypeName} - ${affiliationDocument.fileName}` }}
107
+ <i class="cursor-pointer mdi mdi-file-document mr-6 text-[#a0b3d8] text-xl"></i> </base-empty-form-field
108
+ ></base-content-block>
109
+ </v-form>
110
+ <base-btn :text="buttonText" :loading="loading" @click="submitForm"></base-btn>
111
+ </div>
112
+ </section>
92
113
  </template>
93
114
 
94
115
  <script lang="ts">
@@ -103,6 +124,19 @@ export default defineComponent({
103
124
  const isSendNumberOpen = ref<boolean>(false);
104
125
  const phoneNumber = ref<string | null>(formStore.policyholderForm.phoneNumber ?? '');
105
126
  const selectedClient = ref<SignUrlType>();
127
+ const documentDict = computed(() => dataStore.dicFileTypeList.find(i => i.nameRu === 'Решение АС'));
128
+ const affiliationDocument = computed(() => formStore.signedDocumentList.find(file => file.fileTypeName === 'Решение АС'));
129
+ const affiliationData = ref<{
130
+ processInstanceId: string | number;
131
+ fileTypeId: string | number | null;
132
+ fileTypeCode: string | number | null;
133
+ fileName?: string | number | null;
134
+ }>({
135
+ processInstanceId: formStore.applicationData.processInstanceId,
136
+ fileTypeId: documentDict.value ? documentDict.value.id : '',
137
+ fileTypeCode: documentDict.value ? documentDict.value.code : '',
138
+ });
139
+ const affiliationFormData = ref(new FormData());
106
140
 
107
141
  const openSmsPanel = (signInfo: SignUrlType) => {
108
142
  if (signInfo) {
@@ -121,6 +155,17 @@ export default defineComponent({
121
155
  dataStore.panelAction = null;
122
156
  };
123
157
 
158
+ const onFileChange = (event: InputEvent) => {
159
+ if (event.target) {
160
+ const files = (event.target as HTMLInputElement).files;
161
+ if (files && files.length && files[0].name !== affiliationData.value.fileName) {
162
+ affiliationData.value.fileName = files[0].name;
163
+ affiliationFormData.value.append('file', files[0]);
164
+ affiliationFormData.value.append('fileData', JSON.stringify([affiliationData.value]));
165
+ }
166
+ }
167
+ };
168
+
124
169
  const submitForm = async () => {
125
170
  await vForm.value.validate().then(async (v: { valid: Boolean; errors: any }) => {
126
171
  if (v.valid) {
@@ -128,8 +173,21 @@ export default defineComponent({
128
173
  switch (dataStore.panelAction) {
129
174
  case constants.actions.pay:
130
175
  await dataStore.sendSMS('PayUrl', phoneNumber.value, formStore.epayLink);
176
+ break;
131
177
  case constants.actions.sign:
132
178
  await dataStore.sendSMS('SignUrl', phoneNumber.value, selectedClient.value?.uri);
179
+ break;
180
+ case constants.actions.affiliate:
181
+ formStore.affilationResolution.processInstanceId = formStore.applicationData.processInstanceId;
182
+ let uploaded, confirmed;
183
+ confirmed = await dataStore.setConfirmation();
184
+ if (affiliationData.value.fileName) {
185
+ uploaded = await dataStore.uploadFiles(affiliationFormData.value);
186
+ }
187
+ if ((affiliationData.value.fileName && confirmed && uploaded) || (!affiliationData.value.fileName && confirmed)) {
188
+ await handleTask();
189
+ }
190
+ break;
133
191
  default:
134
192
  await handleTask();
135
193
  }
@@ -157,6 +215,10 @@ export default defineComponent({
157
215
  return dataStore.t('buttons.sign');
158
216
  case constants.actions.pay:
159
217
  return dataStore.t('buttons.pay');
218
+ case constants.actions.register:
219
+ return dataStore.t('buttons.register');
220
+ case constants.actions.affiliate:
221
+ return dataStore.t('buttons.send');
160
222
  }
161
223
  });
162
224
 
@@ -176,9 +238,16 @@ export default defineComponent({
176
238
  const acceptAction = computed(() => dataStore.panelAction === constants.actions.accept);
177
239
  const signingActions = computed(() => dataStore.panelAction === constants.actions.sign);
178
240
  const payingActions = computed(() => dataStore.panelAction === constants.actions.pay);
241
+ const affiliateActions = computed(() => dataStore.panelAction === constants.actions.affiliate);
179
242
  const paymentPeriod = computed(() => formStore.productConditionsForm.paymentPeriod.nameRu);
180
243
  const insurancePremiumPerMonth = computed(() => dataStore.getNumberWithSpaces(formStore.productConditionsForm.insurancePremiumPerMonth));
181
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
+ });
182
251
 
183
252
  return {
184
253
  // State
@@ -196,6 +265,7 @@ export default defineComponent({
196
265
  handleTask,
197
266
  openSmsPanel,
198
267
  openEpayPanel,
268
+ onFileChange,
199
269
 
200
270
  // Computed
201
271
  buttonText,
@@ -203,9 +273,12 @@ export default defineComponent({
203
273
  signingActions,
204
274
  payingActions,
205
275
  acceptAction,
276
+ affiliateActions,
206
277
  paymentPeriod,
207
278
  insurancePremiumPerMonth,
208
279
  requestedSumInsured,
280
+ affiliationDocument,
281
+ hasConditionsInfo,
209
282
  };
210
283
  },
211
284
  });
@@ -0,0 +1,27 @@
1
+ <template>
2
+ <label v-if="chip && chip.title" class="transition-all leading-6 px-3 py-1 rounded-pill border-[1px] border-white mr-4 whitespace-nowrap" :class="[textSize, color]"
3
+ >{{ chip.title }}<v-tooltip v-if="chip.description" activator="parent" location="bottom" :max-width="maxWidth">{{ chip.description }}</v-tooltip></label
4
+ >
5
+ </template>
6
+
7
+ <script lang="ts">
8
+ export default defineComponent({
9
+ props: {
10
+ chip: {
11
+ type: Object as PropType<ChipComponent>,
12
+ },
13
+ color: {
14
+ type: String,
15
+ default: 'bg-[#A0B3D8] text-white group-hover:bg-white group-hover:!text-black',
16
+ },
17
+ textSize: {
18
+ type: String,
19
+ default: '!text-[10px]',
20
+ },
21
+ maxWidth: {
22
+ type: [String, Number],
23
+ default: 230,
24
+ },
25
+ },
26
+ });
27
+ </script>
@@ -0,0 +1,27 @@
1
+ <template>
2
+ <vue-json-pretty
3
+ :data="(data as JSONDataType)"
4
+ :show-icon="true"
5
+ :show-line="true"
6
+ :show-line-number="true"
7
+ :show-double-quotes="true"
8
+ :show-key-value-space="true"
9
+ :collapsed-on-click-brackets="true"
10
+ :deep="4"
11
+ ></vue-json-pretty>
12
+ </template>
13
+
14
+ <script lang="ts">
15
+ import VueJsonPretty from 'vue-json-pretty';
16
+ import 'vue-json-pretty/lib/styles.css';
17
+ import { JSONDataType } from 'vue-json-pretty/types/utils';
18
+
19
+ export default defineComponent({
20
+ components: { VueJsonPretty },
21
+ props: {
22
+ data: {
23
+ required: false,
24
+ },
25
+ },
26
+ });
27
+ </script>
@@ -16,6 +16,7 @@ class MenuItemConfig {
16
16
  disabled?: ComputedRef;
17
17
  color?: string;
18
18
  show?: ComputedRef;
19
+ chip?: ChipComponent;
19
20
 
20
21
  constructor(
21
22
  id: any = null,
@@ -30,6 +31,7 @@ class MenuItemConfig {
30
31
  disabled?: ComputedRef,
31
32
  color?: string,
32
33
  show?: ComputedRef,
34
+ chip?: ChipComponent,
33
35
  ) {
34
36
  this.id = id;
35
37
  this.title = title;
@@ -43,12 +45,13 @@ class MenuItemConfig {
43
45
  this.disabled = disabled;
44
46
  this.color = color;
45
47
  this.show = show;
48
+ this.chip = chip;
46
49
  }
47
50
  }
48
51
 
49
52
  export class MenuItem extends MenuItemConfig {
50
- constructor({ id, title, link, hasLine, description, url, initial, icon, action, disabled, color, show }: MenuItemConfig = new MenuItemConfig()) {
51
- super(id, title, link, hasLine, description, url, initial, icon, action, disabled, color, show);
53
+ constructor({ id, title, link, hasLine, description, url, initial, icon, action, disabled, color, show, chip }: MenuItemConfig = new MenuItemConfig()) {
54
+ super(id, title, link, hasLine, description, url, initial, icon, action, disabled, color, show, chip);
52
55
  }
53
56
  }
54
57
 
@@ -266,7 +269,7 @@ class Person {
266
269
  const date = this.formatDate(this.birthDate);
267
270
  if (date) {
268
271
  const age = Math.abs(new Date(Date.now() - new Date(date).getTime()).getUTCFullYear() - 1970);
269
- if (new Date(date) < new Date(Date.now()) && age > 0) {
272
+ if (new Date(date) < new Date(Date.now()) && age >= 0) {
270
273
  return age.toString();
271
274
  }
272
275
  } else {
@@ -356,6 +359,13 @@ export class Contragent extends Person {
356
359
  }
357
360
 
358
361
  export class Member extends Person {
362
+ response?: {
363
+ contragent?: any;
364
+ questionnaires?: any;
365
+ contacts?: any;
366
+ documents?: any;
367
+ addresses?: any;
368
+ };
359
369
  verifyType: any;
360
370
  verifyDate: any;
361
371
  postIndex: string | null;
@@ -421,6 +431,7 @@ export class Member extends Person {
421
431
  hasAgreement: boolean | null;
422
432
  otpTokenId: string | null;
423
433
  otpCode: string | null;
434
+ documentsList: UserDocument[];
424
435
  constructor(
425
436
  id = 0,
426
437
  type = 1,
@@ -488,6 +499,7 @@ export class Member extends Person {
488
499
  isNotary = false,
489
500
  ) {
490
501
  super(id, type, iin, longName, lastName, firstName, middleName, birthDate, gender, genderName, birthPlace, age);
502
+ this.documentsList = [];
491
503
  this.postIndex = null;
492
504
  this.isPdl = false;
493
505
  this.migrationCard = migrationCard;
@@ -679,7 +691,9 @@ export class ProductConditions {
679
691
  annualIncome: string | null;
680
692
  processIndexRate: Value;
681
693
  requestedSumInsured: number | string | null;
694
+ requestedSumInsuredInDollar: number | string | null;
682
695
  insurancePremiumPerMonth: number | string | null;
696
+ insurancePremiumPerMonthInDollar: number | string | null;
683
697
  establishingGroupDisabilityFromThirdYear: string | null;
684
698
  possibilityToChange: string | null;
685
699
  deathOfInsuredDueToAccident: Value;
@@ -700,6 +714,12 @@ export class ProductConditions {
700
714
  processTariff: Value;
701
715
  riskGroup: Value;
702
716
  riskGroup2: Value;
717
+ additionalConditionAnnuityPayments: boolean;
718
+ guaranteedPeriod: number | string | null;
719
+ typeAnnuityInsurance: Value;
720
+ termAnnuityPayments: number | string | null;
721
+ periodAnnuityPayment: Value;
722
+ amountAnnuityPayments: number | string | null;
703
723
  constructor(
704
724
  insuranceCase = null,
705
725
  coverPeriod = null,
@@ -729,7 +749,15 @@ export class ProductConditions {
729
749
  processTariff = new Value(),
730
750
  riskGroup = new Value(),
731
751
  riskGroup2 = new Value(),
752
+ additionalConditionAnnuityPayments = false,
753
+ guaranteedPeriod = null,
754
+ typeAnnuityInsurance = new Value(),
755
+ termAnnuityPayments = null,
756
+ periodAnnuityPayment = new Value(),
757
+ amountAnnuityPayments = null,
732
758
  ) {
759
+ this.requestedSumInsuredInDollar = null;
760
+ this.insurancePremiumPerMonthInDollar = null;
733
761
  this.signDate = null;
734
762
  this.birthDate = null;
735
763
  this.gender = new Value();
@@ -761,12 +789,42 @@ export class ProductConditions {
761
789
  this.processTariff = processTariff;
762
790
  this.riskGroup = riskGroup;
763
791
  this.riskGroup2 = riskGroup2;
792
+ this.additionalConditionAnnuityPayments = additionalConditionAnnuityPayments;
793
+ this.guaranteedPeriod = guaranteedPeriod;
794
+ this.typeAnnuityInsurance = typeAnnuityInsurance;
795
+ this.termAnnuityPayments = termAnnuityPayments;
796
+ this.periodAnnuityPayment = periodAnnuityPayment;
797
+ this.amountAnnuityPayments = amountAnnuityPayments;
798
+ }
799
+ }
800
+
801
+ export class MemberSettings {
802
+ has?: boolean;
803
+ isMultiple?: boolean;
804
+ required?: boolean;
805
+ limit?: number;
806
+ constructor(options?: { has?: boolean; isMultiple?: boolean; required?: boolean; limit?: number }) {
807
+ if (options) {
808
+ this.has = options.has;
809
+ this.isMultiple = options.isMultiple;
810
+ this.limit = options.limit;
811
+ if (this.has === true) {
812
+ this.required = options.required;
813
+ } else {
814
+ this.required = false;
815
+ }
816
+ }
764
817
  }
765
818
  }
766
819
 
767
820
  export class DataStoreClass {
768
821
  // IMP Контроллер фич
769
822
  controls: {
823
+ // Cтавит значения по дефолту полям
824
+ setDefaults: {
825
+ sectorCode: boolean;
826
+ percentage: boolean;
827
+ };
770
828
  // Проверка на роль при авторизации
771
829
  onAuth: boolean;
772
830
  // Согласие на главной странице
@@ -781,7 +839,19 @@ export class DataStoreClass {
781
839
  hasInsis: boolean;
782
840
  // Калькулятор без ввода данных
783
841
  hasCalculator: boolean;
842
+ // Блок прикрепления к менеджеру
843
+ hasAttachment: boolean;
844
+ // Решение АС
845
+ hasAffiliation: boolean;
784
846
  };
847
+ members: {
848
+ clientApp: MemberSettings;
849
+ insuredApp: MemberSettings;
850
+ beneficiaryApp: MemberSettings;
851
+ beneficialOwnerApp: MemberSettings;
852
+ spokesmanApp: MemberSettings;
853
+ };
854
+ iframeLoading: boolean;
785
855
  hasLayoutMargins: boolean;
786
856
  readonly product: string | null;
787
857
  showNav: boolean;
@@ -791,6 +861,7 @@ export class DataStoreClass {
791
861
  hasBack: boolean;
792
862
  loading: boolean;
793
863
  backIcon: string;
864
+ moreIcon: string;
794
865
  onBack: any;
795
866
  onLink: any;
796
867
  selectedItem: MenuItem;
@@ -828,6 +899,7 @@ export class DataStoreClass {
828
899
  documentIssuers: Value[];
829
900
  familyStatuses: Value[];
830
901
  relations: Value[];
902
+ insurancePay: Value[];
831
903
  questionRefs: Value[];
832
904
  residents: Value[];
833
905
  ipdl: Value[];
@@ -840,9 +912,11 @@ export class DataStoreClass {
840
912
  user: User;
841
913
  accessToken: string | null = null;
842
914
  refreshToken: string | null = null;
843
- processCoverTypeSum: any[];
844
- processIndexRate: any[];
845
- processPaymentPeriod: any[];
915
+ processCoverTypeSum: Value[];
916
+ processIndexRate: Value[];
917
+ processPaymentPeriod: Value[];
918
+ dicAnnuityTypeList: Value[];
919
+ processAnnuityPaymentPeriod: Value[];
846
920
  taskList: TaskListItem[];
847
921
  processHistory: TaskHistory[];
848
922
  contragentList: any[];
@@ -851,13 +925,50 @@ export class DataStoreClass {
851
925
  groupCode: string;
852
926
  userGroups: Item[];
853
927
  onMainPage: boolean;
854
- SaleChanellPolicyList: any[];
855
- RegionPolicyList: any[];
856
- ManagerPolicyList: any[];
857
- AgentDataList: any[];
858
- riskGroup: any[];
928
+ SaleChanellPolicy: Value[];
929
+ RegionPolicy: Value[];
930
+ ManagerPolicy: Value[];
931
+ AgentData: AgentData[];
932
+ riskGroup: Value[];
933
+ currencies: {
934
+ eur: number | null;
935
+ usd: number | null;
936
+ };
937
+ filters: {
938
+ show: (item: MenuItem) => boolean;
939
+ disabled: (item: MenuItem) => boolean;
940
+ };
859
941
  constructor() {
942
+ this.filters = {
943
+ show: (item: MenuItem) => {
944
+ if (typeof item.show === 'boolean') {
945
+ return item.show;
946
+ }
947
+ return true;
948
+ },
949
+ disabled: (item: MenuItem) => {
950
+ if (typeof item.disabled === 'boolean') {
951
+ return item.disabled;
952
+ }
953
+ return false;
954
+ },
955
+ };
956
+ this.currencies = {
957
+ eur: null,
958
+ usd: null,
959
+ };
960
+ this.members = {
961
+ clientApp: new MemberSettings(),
962
+ insuredApp: new MemberSettings(),
963
+ beneficiaryApp: new MemberSettings(),
964
+ beneficialOwnerApp: new MemberSettings(),
965
+ spokesmanApp: new MemberSettings(),
966
+ };
860
967
  this.controls = {
968
+ setDefaults: {
969
+ sectorCode: true,
970
+ percentage: true,
971
+ },
861
972
  onAuth: false,
862
973
  hasAnketa: true,
863
974
  hasAgreement: true,
@@ -865,15 +976,20 @@ export class DataStoreClass {
865
976
  hasGKB: false,
866
977
  hasInsis: false,
867
978
  hasCalculator: false,
979
+ hasAttachment: true,
980
+ hasAffiliation: true,
868
981
  };
982
+ this.iframeLoading = false;
869
983
  this.hasLayoutMargins = true;
870
984
  this.processIndexRate = [];
871
985
  this.processPaymentPeriod = [];
986
+ this.dicAnnuityTypeList = [];
987
+ this.processAnnuityPaymentPeriod = [];
872
988
  this.questionRefs = [];
873
- this.SaleChanellPolicyList = [];
874
- this.RegionPolicyList = [];
875
- this.ManagerPolicyList = [];
876
- this.AgentDataList = [];
989
+ this.SaleChanellPolicy = [];
990
+ this.RegionPolicy = [];
991
+ this.ManagerPolicy = [];
992
+ this.AgentData = [];
877
993
  this.product = import.meta.env.VITE_PRODUCT ? (import.meta.env.VITE_PRODUCT as string) : null;
878
994
  this.showNav = true;
879
995
  this.menuItems = [];
@@ -882,6 +998,7 @@ export class DataStoreClass {
882
998
  hasBack: false,
883
999
  loading: false,
884
1000
  backIcon: 'mdi-arrow-left',
1001
+ moreIcon: 'mdi-dots-vertical',
885
1002
  onBack: {},
886
1003
  onLink: {},
887
1004
  selectedItem: new MenuItem(),
@@ -924,6 +1041,7 @@ export class DataStoreClass {
924
1041
  this.documentIssuers = [];
925
1042
  this.familyStatuses = [];
926
1043
  this.relations = [];
1044
+ this.insurancePay = [];
927
1045
  this.residents = [];
928
1046
  this.ipdl = [new Value(1, null), new Value(2, 'Да'), new Value(3, 'Нет')];
929
1047
  this.economySectorCode = [];
@@ -949,27 +1067,36 @@ export class DataStoreClass {
949
1067
  id: '1',
950
1068
  nameKz: '',
951
1069
  nameRu: '1',
952
- isDefault: true,
1070
+ code: '',
1071
+ ids: '',
953
1072
  },
954
1073
  {
955
1074
  id: '2',
956
1075
  nameKz: '',
957
1076
  nameRu: '2',
1077
+ code: '',
1078
+ ids: '',
958
1079
  },
959
1080
  {
960
1081
  id: '3',
961
1082
  nameKz: '',
962
1083
  nameRu: '3',
1084
+ code: '',
1085
+ ids: '',
963
1086
  },
964
1087
  {
965
1088
  id: '4',
966
1089
  nameKz: '',
967
1090
  nameRu: '4',
1091
+ code: '',
1092
+ ids: '',
968
1093
  },
969
1094
  {
970
1095
  id: '5',
971
1096
  nameKz: '',
972
1097
  nameRu: '5',
1098
+ code: '',
1099
+ ids: '',
973
1100
  },
974
1101
  ];
975
1102
  }
@@ -980,32 +1107,34 @@ export class FormStoreClass {
980
1107
  additionalInsuranceTermsWithout: AddCover[];
981
1108
  signUrls: SignUrlType[];
982
1109
  epayLink: string | null;
1110
+ invoiceData: EpayResponse | null;
983
1111
  affilationResolution: {
984
1112
  id: string | number | null;
985
1113
  processInstanceId: string | number | null;
986
1114
  number: string | number | null;
987
1115
  date: string | number | null;
988
1116
  };
1117
+ finCenterData: {
1118
+ processInstanceId: string | number | null;
1119
+ regNumber: string | number | null;
1120
+ date: string | number | null;
1121
+ };
989
1122
  signedDocumentList: IDocument[];
990
1123
  surveyByHealthBase: AnketaFirst | null;
1124
+ surveyByHealthBasePolicyholder: AnketaFirst | null;
991
1125
  surveyByCriticalBase: AnketaFirst | null;
1126
+ surveyByCriticalBasePolicyholder: AnketaFirst | null;
992
1127
  surveyByHealthSecond: AnketaSecond[] | null;
993
1128
  surveyByCriticalSecond: AnketaSecond[] | null;
994
1129
  definedAnswersId: {
995
1130
  surveyByHealthBase: any;
996
1131
  surveyByCriticalBase: any;
1132
+ surveyByHealthBasePolicyholder: any;
1133
+ surveyByCriticalBasePolicyholder: any;
997
1134
  };
998
1135
  birthInfos: BirthInfoGKB[];
999
1136
  SaleChanellPolicy: Value;
1000
- AgentData: {
1001
- agentId: null;
1002
- manId: number;
1003
- fullName: string;
1004
- officeId: null;
1005
- officeCode: null;
1006
- saleChannel: string;
1007
- managerName: string;
1008
- };
1137
+ AgentData: AgentData;
1009
1138
  RegionPolicy: Value;
1010
1139
  ManagerPolicy: Value;
1011
1140
  isDisabled: {
@@ -1036,6 +1165,7 @@ export class FormStoreClass {
1036
1165
  beneficialOwnerApp?: any;
1037
1166
  spokesmanApp?: any;
1038
1167
  isTask?: boolean | null;
1168
+ policyAppDto?: any;
1039
1169
  };
1040
1170
  policyholderForm: PolicyholderForm;
1041
1171
  policyholderFormKey: string;
@@ -1061,20 +1191,30 @@ export class FormStoreClass {
1061
1191
  this.additionalInsuranceTermsWithout = [];
1062
1192
  this.signUrls = [];
1063
1193
  this.epayLink = null;
1194
+ this.invoiceData = null;
1064
1195
  this.affilationResolution = {
1065
1196
  id: null,
1066
1197
  processInstanceId: null,
1067
1198
  number: null,
1068
1199
  date: null,
1069
1200
  };
1201
+ this.finCenterData = {
1202
+ processInstanceId: null,
1203
+ regNumber: null,
1204
+ date: null,
1205
+ };
1070
1206
  this.signedDocumentList = [];
1071
1207
  this.surveyByHealthBase = null;
1208
+ this.surveyByHealthBasePolicyholder = null;
1072
1209
  this.surveyByCriticalBase = null;
1210
+ this.surveyByCriticalBasePolicyholder = null;
1073
1211
  this.surveyByHealthSecond = null;
1074
1212
  this.surveyByCriticalSecond = null;
1075
1213
  this.definedAnswersId = {
1076
1214
  surveyByHealthBase: {},
1077
1215
  surveyByCriticalBase: {},
1216
+ surveyByHealthBasePolicyholder: {},
1217
+ surveyByCriticalBasePolicyholder: {},
1078
1218
  };
1079
1219
  this.birthInfos = [];
1080
1220
  this.SaleChanellPolicy = new Value();
@@ -7,10 +7,13 @@ export const constants = Object.freeze({
7
7
  bolashak: 8,
8
8
  liferenta: 9,
9
9
  gons: 10,
10
+ halykkazyna: 11,
10
11
  },
11
12
 
12
13
  editableStatuses: ['StartForm', 'EditBeneficiaryForm', 'EditForm'],
13
14
  documentsLinkVisibleStatuses: ['DocumentsSignedFrom', 'UnderwriterForm', 'AffilationResolutionForm', 'Completed', 'InsurancePremiumOnlinePaid'],
15
+ returnStatementStatuses: ['DocumentsSignedFrom', 'ContractSignedFrom', 'WaitingInsurancePremiumForm', 'UnderwriterForm'],
16
+ cancelApplicationStatuses: ['StartForm', 'EditForm', 'EditBeneficiaryForm', 'WaitingInsurancePremiumForm', 'DocumentsSignedFrom', 'ContractSignedFrom'],
14
17
  gbdErrors: ['INVALID', 'TIMEOUT', 'ERROR', 'NOT_FOUND'],
15
18
  types: {
16
19
  string: 'string',
@@ -26,7 +29,7 @@ export const constants = Object.freeze({
26
29
  agentMycar: 'AgentMycar',
27
30
  analyst: 'Analyst',
28
31
  upk: 'UPK',
29
- financeCenter: 'FinanceCenter',
32
+ finCenter: 'FinCenter',
30
33
  supervisor: 'Supervisor',
31
34
  support: 'Support',
32
35
  managerHalykBank: 'ManagerHalykBank',
@@ -41,6 +44,9 @@ export const constants = Object.freeze({
41
44
  claim: 'claim',
42
45
  sign: 'sign',
43
46
  pay: 'pay',
47
+ register: 'register',
48
+ send: 'send',
49
+ affiliate: 'affiliate',
44
50
  },
45
51
  yearCases: [2, 0, 1, 1, 1, 2],
46
52
  yearTitles: ['год', 'года', 'лет'],
@@ -54,6 +60,7 @@ export const constants = Object.freeze({
54
60
  postActions: {
55
61
  font: 'font',
56
62
  route: 'route',
63
+ onRouteChange: 'onRouteChange',
57
64
  applicationCreated: 'applicationCreated',
58
65
  clipboard: 'clipboard',
59
66
  toHomePage: 'toHomePage',
@@ -62,5 +69,10 @@ export const constants = Object.freeze({
62
69
  DOMevent: 'DOMevent',
63
70
  Error401: 'Error401',
64
71
  Error500: 'Error500',
72
+ iframeLoaded: 'iframeLoaded',
73
+ },
74
+ currencySymbols: {
75
+ kzt: '₸',
76
+ usd: '$',
65
77
  },
66
78
  });