@redneckz/wildless-cms-uni-blocks 0.14.964 → 0.14.965
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/bundle/bundle.umd.js +146 -30
- package/bundle/bundle.umd.min.js +1 -1
- package/bundle/retail/api/getTaskStatus.d.ts +3 -1
- package/bundle/retail/components/Fields/SelectField.d.ts +2 -0
- package/bundle/retail/model/LeadFormState.d.ts +1 -0
- package/bundle/retail/model/NameFieldDef.d.ts +1 -1
- package/bundle/ui-kit/DatePicker/Calendar.d.ts +1 -0
- package/bundle/ui-kit/DatePicker/DatePicker.d.ts +1 -0
- package/bundle/ui-kit/DatePicker/DatePickerControl.d.ts +1 -0
- package/bundle/ui-kit/DatePicker/renderCalendarCells.d.ts +2 -1
- package/dist/components/DebitForm/DebitFormStatusTracker.js +6 -5
- package/dist/components/DebitForm/DebitFormStatusTracker.js.map +1 -1
- package/dist/components/DebitForm/DebitFormStepsData.js +67 -1
- package/dist/components/DebitForm/DebitFormStepsData.js.map +1 -1
- package/dist/components/DebitForm/formStateMap.js +1 -0
- package/dist/components/DebitForm/formStateMap.js.map +1 -1
- package/dist/components/DebitForm/useDebitFormAPI.js +1 -1
- package/dist/components/DebitForm/useDebitFormAPI.js.map +1 -1
- package/dist/retail/api/getTaskStatus.d.ts +3 -1
- package/dist/retail/api/getTaskStatus.js +2 -0
- package/dist/retail/api/getTaskStatus.js.map +1 -1
- package/dist/retail/components/Fields/CardCategoryField.js +18 -4
- package/dist/retail/components/Fields/CardCategoryField.js.map +1 -1
- package/dist/retail/components/Fields/DeliveryDateFiels.js +18 -1
- package/dist/retail/components/Fields/DeliveryDateFiels.js.map +1 -1
- package/dist/retail/components/Fields/DeliveryTimeField.js +14 -4
- package/dist/retail/components/Fields/DeliveryTimeField.js.map +1 -1
- package/dist/retail/components/Fields/RegionRetailField.js +4 -4
- package/dist/retail/components/Fields/RegionRetailField.js.map +1 -1
- package/dist/retail/components/Fields/SelectField.d.ts +2 -0
- package/dist/retail/components/Fields/SelectField.js +2 -2
- package/dist/retail/components/Fields/SelectField.js.map +1 -1
- package/dist/retail/model/LeadFormState.d.ts +1 -0
- package/dist/retail/model/NameFieldDef.d.ts +1 -1
- package/dist/ui-kit/DatePicker/Calendar.d.ts +1 -0
- package/dist/ui-kit/DatePicker/Calendar.js +2 -1
- package/dist/ui-kit/DatePicker/Calendar.js.map +1 -1
- package/dist/ui-kit/DatePicker/DatePicker.d.ts +1 -0
- package/dist/ui-kit/DatePicker/DatePicker.js +2 -2
- package/dist/ui-kit/DatePicker/DatePicker.js.map +1 -1
- package/dist/ui-kit/DatePicker/DatePickerControl.d.ts +1 -0
- package/dist/ui-kit/DatePicker/DatePickerControl.js.map +1 -1
- package/dist/ui-kit/DatePicker/renderCalendarCells.d.ts +2 -1
- package/dist/ui-kit/DatePicker/renderCalendarCells.js +13 -4
- package/dist/ui-kit/DatePicker/renderCalendarCells.js.map +1 -1
- package/lib/components/DebitForm/DebitFormStatusTracker.js +6 -5
- package/lib/components/DebitForm/DebitFormStatusTracker.js.map +1 -1
- package/lib/components/DebitForm/DebitFormStepsData.js +67 -1
- package/lib/components/DebitForm/DebitFormStepsData.js.map +1 -1
- package/lib/components/DebitForm/formStateMap.js +1 -0
- package/lib/components/DebitForm/formStateMap.js.map +1 -1
- package/lib/components/DebitForm/useDebitFormAPI.js +1 -1
- package/lib/components/DebitForm/useDebitFormAPI.js.map +1 -1
- package/lib/retail/api/getTaskStatus.d.ts +3 -1
- package/lib/retail/api/getTaskStatus.js +2 -0
- package/lib/retail/api/getTaskStatus.js.map +1 -1
- package/lib/retail/components/Fields/CardCategoryField.js +18 -4
- package/lib/retail/components/Fields/CardCategoryField.js.map +1 -1
- package/lib/retail/components/Fields/DeliveryDateFiels.js +18 -1
- package/lib/retail/components/Fields/DeliveryDateFiels.js.map +1 -1
- package/lib/retail/components/Fields/DeliveryTimeField.js +14 -4
- package/lib/retail/components/Fields/DeliveryTimeField.js.map +1 -1
- package/lib/retail/components/Fields/RegionRetailField.js +4 -4
- package/lib/retail/components/Fields/RegionRetailField.js.map +1 -1
- package/lib/retail/components/Fields/SelectField.d.ts +2 -0
- package/lib/retail/components/Fields/SelectField.js +2 -2
- package/lib/retail/components/Fields/SelectField.js.map +1 -1
- package/lib/retail/model/LeadFormState.d.ts +1 -0
- package/lib/retail/model/NameFieldDef.d.ts +1 -1
- package/lib/ui-kit/DatePicker/Calendar.d.ts +1 -0
- package/lib/ui-kit/DatePicker/Calendar.js +2 -1
- package/lib/ui-kit/DatePicker/Calendar.js.map +1 -1
- package/lib/ui-kit/DatePicker/DatePicker.d.ts +1 -0
- package/lib/ui-kit/DatePicker/DatePicker.js +2 -2
- package/lib/ui-kit/DatePicker/DatePicker.js.map +1 -1
- package/lib/ui-kit/DatePicker/DatePickerControl.d.ts +1 -0
- package/lib/ui-kit/DatePicker/DatePickerControl.js.map +1 -1
- package/lib/ui-kit/DatePicker/renderCalendarCells.d.ts +2 -1
- package/lib/ui-kit/DatePicker/renderCalendarCells.js +13 -4
- package/lib/ui-kit/DatePicker/renderCalendarCells.js.map +1 -1
- package/mobile/bundle/bundle.umd.js +146 -30
- package/mobile/bundle/bundle.umd.min.js +1 -1
- package/mobile/bundle/retail/api/getTaskStatus.d.ts +3 -1
- package/mobile/bundle/retail/components/Fields/SelectField.d.ts +2 -0
- package/mobile/bundle/retail/model/LeadFormState.d.ts +1 -0
- package/mobile/bundle/retail/model/NameFieldDef.d.ts +1 -1
- package/mobile/bundle/ui-kit/DatePicker/Calendar.d.ts +1 -0
- package/mobile/bundle/ui-kit/DatePicker/DatePicker.d.ts +1 -0
- package/mobile/bundle/ui-kit/DatePicker/DatePickerControl.d.ts +1 -0
- package/mobile/bundle/ui-kit/DatePicker/renderCalendarCells.d.ts +2 -1
- package/mobile/dist/components/DebitForm/DebitFormStatusTracker.js +6 -5
- package/mobile/dist/components/DebitForm/DebitFormStatusTracker.js.map +1 -1
- package/mobile/dist/components/DebitForm/DebitFormStepsData.js +67 -1
- package/mobile/dist/components/DebitForm/DebitFormStepsData.js.map +1 -1
- package/mobile/dist/components/DebitForm/formStateMap.js +1 -0
- package/mobile/dist/components/DebitForm/formStateMap.js.map +1 -1
- package/mobile/dist/components/DebitForm/useDebitFormAPI.js +1 -1
- package/mobile/dist/components/DebitForm/useDebitFormAPI.js.map +1 -1
- package/mobile/dist/retail/api/getTaskStatus.d.ts +3 -1
- package/mobile/dist/retail/api/getTaskStatus.js +2 -0
- package/mobile/dist/retail/api/getTaskStatus.js.map +1 -1
- package/mobile/dist/retail/components/Fields/CardCategoryField.js +18 -4
- package/mobile/dist/retail/components/Fields/CardCategoryField.js.map +1 -1
- package/mobile/dist/retail/components/Fields/DeliveryDateFiels.js +18 -1
- package/mobile/dist/retail/components/Fields/DeliveryDateFiels.js.map +1 -1
- package/mobile/dist/retail/components/Fields/DeliveryTimeField.js +14 -4
- package/mobile/dist/retail/components/Fields/DeliveryTimeField.js.map +1 -1
- package/mobile/dist/retail/components/Fields/RegionRetailField.js +4 -4
- package/mobile/dist/retail/components/Fields/RegionRetailField.js.map +1 -1
- package/mobile/dist/retail/components/Fields/SelectField.d.ts +2 -0
- package/mobile/dist/retail/components/Fields/SelectField.js +2 -2
- package/mobile/dist/retail/components/Fields/SelectField.js.map +1 -1
- package/mobile/dist/retail/model/LeadFormState.d.ts +1 -0
- package/mobile/dist/retail/model/NameFieldDef.d.ts +1 -1
- package/mobile/dist/ui-kit/DatePicker/Calendar.d.ts +1 -0
- package/mobile/dist/ui-kit/DatePicker/Calendar.js +2 -1
- package/mobile/dist/ui-kit/DatePicker/Calendar.js.map +1 -1
- package/mobile/dist/ui-kit/DatePicker/DatePicker.d.ts +1 -0
- package/mobile/dist/ui-kit/DatePicker/DatePicker.js +2 -2
- package/mobile/dist/ui-kit/DatePicker/DatePicker.js.map +1 -1
- package/mobile/dist/ui-kit/DatePicker/DatePickerControl.d.ts +1 -0
- package/mobile/dist/ui-kit/DatePicker/DatePickerControl.js.map +1 -1
- package/mobile/dist/ui-kit/DatePicker/renderCalendarCells.d.ts +2 -1
- package/mobile/dist/ui-kit/DatePicker/renderCalendarCells.js +13 -4
- package/mobile/dist/ui-kit/DatePicker/renderCalendarCells.js.map +1 -1
- package/mobile/lib/components/DebitForm/DebitFormStatusTracker.js +6 -5
- package/mobile/lib/components/DebitForm/DebitFormStatusTracker.js.map +1 -1
- package/mobile/lib/components/DebitForm/DebitFormStepsData.js +67 -1
- package/mobile/lib/components/DebitForm/DebitFormStepsData.js.map +1 -1
- package/mobile/lib/components/DebitForm/formStateMap.js +1 -0
- package/mobile/lib/components/DebitForm/formStateMap.js.map +1 -1
- package/mobile/lib/components/DebitForm/useDebitFormAPI.js +1 -1
- package/mobile/lib/components/DebitForm/useDebitFormAPI.js.map +1 -1
- package/mobile/lib/retail/api/getTaskStatus.d.ts +3 -1
- package/mobile/lib/retail/api/getTaskStatus.js +2 -0
- package/mobile/lib/retail/api/getTaskStatus.js.map +1 -1
- package/mobile/lib/retail/components/Fields/CardCategoryField.js +18 -4
- package/mobile/lib/retail/components/Fields/CardCategoryField.js.map +1 -1
- package/mobile/lib/retail/components/Fields/DeliveryDateFiels.js +18 -1
- package/mobile/lib/retail/components/Fields/DeliveryDateFiels.js.map +1 -1
- package/mobile/lib/retail/components/Fields/DeliveryTimeField.js +14 -4
- package/mobile/lib/retail/components/Fields/DeliveryTimeField.js.map +1 -1
- package/mobile/lib/retail/components/Fields/RegionRetailField.js +4 -4
- package/mobile/lib/retail/components/Fields/RegionRetailField.js.map +1 -1
- package/mobile/lib/retail/components/Fields/SelectField.d.ts +2 -0
- package/mobile/lib/retail/components/Fields/SelectField.js +2 -2
- package/mobile/lib/retail/components/Fields/SelectField.js.map +1 -1
- package/mobile/lib/retail/model/LeadFormState.d.ts +1 -0
- package/mobile/lib/retail/model/NameFieldDef.d.ts +1 -1
- package/mobile/lib/ui-kit/DatePicker/Calendar.d.ts +1 -0
- package/mobile/lib/ui-kit/DatePicker/Calendar.js +2 -1
- package/mobile/lib/ui-kit/DatePicker/Calendar.js.map +1 -1
- package/mobile/lib/ui-kit/DatePicker/DatePicker.d.ts +1 -0
- package/mobile/lib/ui-kit/DatePicker/DatePicker.js +2 -2
- package/mobile/lib/ui-kit/DatePicker/DatePicker.js.map +1 -1
- package/mobile/lib/ui-kit/DatePicker/DatePickerControl.d.ts +1 -0
- package/mobile/lib/ui-kit/DatePicker/DatePickerControl.js.map +1 -1
- package/mobile/lib/ui-kit/DatePicker/renderCalendarCells.d.ts +2 -1
- package/mobile/lib/ui-kit/DatePicker/renderCalendarCells.js +13 -4
- package/mobile/lib/ui-kit/DatePicker/renderCalendarCells.js.map +1 -1
- package/mobile/src/components/DebitForm/DebitFormStatusTracker.tsx +6 -6
- package/mobile/src/components/DebitForm/DebitFormStepsData.tsx +67 -1
- package/mobile/src/components/DebitForm/formStateMap.tsx +1 -0
- package/mobile/src/components/DebitForm/useDebitFormAPI.tsx +1 -1
- package/mobile/src/retail/api/getTaskStatus.ts +2 -0
- package/mobile/src/retail/components/Fields/CardCategoryField.tsx +24 -3
- package/mobile/src/retail/components/Fields/DeliveryDateFiels.tsx +29 -3
- package/mobile/src/retail/components/Fields/DeliveryTimeField.tsx +16 -8
- package/mobile/src/retail/components/Fields/RegionRetailField.tsx +5 -5
- package/mobile/src/retail/components/Fields/SelectField.tsx +3 -0
- package/mobile/src/retail/model/LeadFormState.ts +1 -0
- package/mobile/src/retail/model/NameFieldDef.ts +1 -0
- package/mobile/src/ui-kit/DatePicker/Calendar.tsx +3 -1
- package/mobile/src/ui-kit/DatePicker/DatePicker.tsx +13 -1
- package/mobile/src/ui-kit/DatePicker/DatePickerControl.tsx +1 -0
- package/mobile/src/ui-kit/DatePicker/renderCalendarCells.tsx +18 -5
- package/package.json +1 -1
- package/src/components/DebitForm/DebitFormStatusTracker.tsx +6 -6
- package/src/components/DebitForm/DebitFormStepsData.tsx +67 -1
- package/src/components/DebitForm/formStateMap.tsx +1 -0
- package/src/components/DebitForm/useDebitFormAPI.tsx +1 -1
- package/src/retail/api/getTaskStatus.ts +2 -0
- package/src/retail/components/Fields/CardCategoryField.tsx +24 -3
- package/src/retail/components/Fields/DeliveryDateFiels.tsx +29 -3
- package/src/retail/components/Fields/DeliveryTimeField.tsx +16 -8
- package/src/retail/components/Fields/RegionRetailField.tsx +5 -5
- package/src/retail/components/Fields/SelectField.tsx +3 -0
- package/src/retail/model/LeadFormState.ts +1 -0
- package/src/retail/model/NameFieldDef.ts +1 -0
- package/src/ui-kit/DatePicker/Calendar.tsx +3 -1
- package/src/ui-kit/DatePicker/DatePicker.tsx +13 -1
- package/src/ui-kit/DatePicker/DatePickerControl.tsx +1 -0
- package/src/ui-kit/DatePicker/renderCalendarCells.tsx +18 -5
package/package.json
CHANGED
|
@@ -22,12 +22,10 @@ export const DebitFormStatusTracker = JSX(() => {
|
|
|
22
22
|
signalType: 'FIND_PERSON_SIGNAL',
|
|
23
23
|
taskId,
|
|
24
24
|
});
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
}));
|
|
30
|
-
|
|
25
|
+
await sendSignalToProcess({
|
|
26
|
+
signalType: 'SET_PERSON_SIGNAL',
|
|
27
|
+
taskId,
|
|
28
|
+
});
|
|
31
29
|
setStatus(statusCd || STATUS_TYPE.notFound);
|
|
32
30
|
})();
|
|
33
31
|
}, [taskId]);
|
|
@@ -40,6 +38,8 @@ const renderStatus = (status: STATUS_TYPE, isOffice: boolean, isSalaryCard: bool
|
|
|
40
38
|
IN_PROCESS: <PendingStatusContent />,
|
|
41
39
|
NOT_FOUND: <FailedStatusContent />,
|
|
42
40
|
CLIENT_NOT_OK: <FailedStatusContent />,
|
|
41
|
+
NEW_CLIENT: <SuccessStatusContent isOffice={isOffice} />,
|
|
42
|
+
CLIENT_FOUND: <SuccessStatusContent isOffice={isOffice} />,
|
|
43
43
|
DBO_CLIENT: isSalaryCard ? <SalaryDboClientStatusContent /> : <DboClientStatusContent />,
|
|
44
44
|
PRE_DECISION: <SuccessStatusContent isOffice={isOffice} />, //
|
|
45
45
|
};
|
|
@@ -67,6 +67,30 @@ export const DELIVERY_DEBIT_CARD_CONTENT: SectionsRetailProps[] = [
|
|
|
67
67
|
},
|
|
68
68
|
],
|
|
69
69
|
},
|
|
70
|
+
{
|
|
71
|
+
inputs: [
|
|
72
|
+
{
|
|
73
|
+
name: 'deliveryDate',
|
|
74
|
+
condition: {
|
|
75
|
+
name: 'methodObtain',
|
|
76
|
+
values: ['courier'],
|
|
77
|
+
},
|
|
78
|
+
required: true,
|
|
79
|
+
},
|
|
80
|
+
],
|
|
81
|
+
},
|
|
82
|
+
{
|
|
83
|
+
inputs: [
|
|
84
|
+
{
|
|
85
|
+
name: 'deliveryTime',
|
|
86
|
+
condition: {
|
|
87
|
+
name: 'methodObtain',
|
|
88
|
+
values: ['courier'],
|
|
89
|
+
},
|
|
90
|
+
required: true,
|
|
91
|
+
},
|
|
92
|
+
],
|
|
93
|
+
},
|
|
70
94
|
{
|
|
71
95
|
inputs: [
|
|
72
96
|
{
|
|
@@ -143,6 +167,20 @@ const DEBIT_PERSONAL_INFO_CONTENT: SectionsRetailProps[] = [
|
|
|
143
167
|
},
|
|
144
168
|
],
|
|
145
169
|
},
|
|
170
|
+
{
|
|
171
|
+
inputs: [
|
|
172
|
+
{
|
|
173
|
+
name: 'infoCard',
|
|
174
|
+
condition: {
|
|
175
|
+
name: 'methodObtain',
|
|
176
|
+
values: ['courier'],
|
|
177
|
+
},
|
|
178
|
+
label:
|
|
179
|
+
// eslint-disable-next-line max-len
|
|
180
|
+
'Проверьте полученные данные с портала Государственных услуг. При наличии ошибки, закройте заявку и оформите заявку заново без авторизации через портал Государственных услуг.',
|
|
181
|
+
},
|
|
182
|
+
],
|
|
183
|
+
},
|
|
146
184
|
];
|
|
147
185
|
const DEBIT_CARD_CONTENT: SectionsRetailProps[] = [
|
|
148
186
|
{
|
|
@@ -159,16 +197,40 @@ const DEBIT_CARD_CONTENT: SectionsRetailProps[] = [
|
|
|
159
197
|
{
|
|
160
198
|
title: 'Отображение на карте',
|
|
161
199
|
inputs: [],
|
|
200
|
+
condition: {
|
|
201
|
+
name: 'isMomentDebitCard',
|
|
202
|
+
values: [false],
|
|
203
|
+
},
|
|
162
204
|
},
|
|
163
205
|
{
|
|
164
206
|
columns: 2,
|
|
165
|
-
inputs: [
|
|
207
|
+
inputs: [
|
|
208
|
+
{
|
|
209
|
+
name: 'latinName',
|
|
210
|
+
condition: {
|
|
211
|
+
name: 'isMomentDebitCard',
|
|
212
|
+
values: [false],
|
|
213
|
+
},
|
|
214
|
+
},
|
|
215
|
+
{
|
|
216
|
+
name: 'latinSurname',
|
|
217
|
+
required: true,
|
|
218
|
+
condition: {
|
|
219
|
+
name: 'isMomentDebitCard',
|
|
220
|
+
values: [false],
|
|
221
|
+
},
|
|
222
|
+
},
|
|
223
|
+
],
|
|
166
224
|
},
|
|
167
225
|
{
|
|
168
226
|
inputs: [
|
|
169
227
|
{
|
|
170
228
|
name: 'infoCard',
|
|
171
229
|
label: 'Проверьте корректность заполненных полей, при необходимости внесите изменения.',
|
|
230
|
+
condition: {
|
|
231
|
+
name: 'isMomentDebitCard',
|
|
232
|
+
values: [false],
|
|
233
|
+
},
|
|
172
234
|
},
|
|
173
235
|
],
|
|
174
236
|
},
|
|
@@ -182,6 +244,10 @@ const DEBIT_CARD_CONTENT: SectionsRetailProps[] = [
|
|
|
182
244
|
label:
|
|
183
245
|
// eslint-disable-next-line max-len
|
|
184
246
|
'Количество символов ограничивается 20. При этом, если фамилия и имя на карте содержит более 21 символа, то необходимо сократить имя и указывать на карте только первую букву имени и фамилию, если при таком сокращении фамилия и имя не умещается в количество символов – 20, то указывать только фамилию.',
|
|
247
|
+
condition: {
|
|
248
|
+
name: 'isMomentDebitCard',
|
|
249
|
+
values: [false],
|
|
250
|
+
},
|
|
185
251
|
},
|
|
186
252
|
],
|
|
187
253
|
},
|
|
@@ -5,13 +5,19 @@ import { type CustomFieldProps } from '../../../ui-kit/FormField/CustomFieldProp
|
|
|
5
5
|
import { InfoCard } from '../../../ui-kit/InfoCard/InfoCard';
|
|
6
6
|
import { type Option } from '../../../ui-kit/Select/Option';
|
|
7
7
|
import { getCardTypes, type CardTypeData } from '../../api/getCardTypes';
|
|
8
|
+
import { useRetailFormStore } from '../../hooks/useRetailFormStore';
|
|
8
9
|
import { SelectField } from './SelectField';
|
|
9
10
|
|
|
10
11
|
export const CardCategoryField = JSX<CustomFieldProps>(({ field, input }) => {
|
|
11
12
|
const [cardTypes, setCardTypes] = useState<CardTypeData[]>([]);
|
|
12
13
|
const [programId] = useLocalStorage<string>('programId');
|
|
14
|
+
const { productType } = useRetailFormStore();
|
|
15
|
+
const isSalaryCard = programId === '38';
|
|
16
|
+
const isDebit = productType === 'debitCard';
|
|
17
|
+
const isEsiaAuth = Boolean(field('esiaAccountTypeCd')?.value?.key);
|
|
13
18
|
const { value: selectedCardCategory, onChange: cardCategoryChange } = field('cardCategory');
|
|
14
19
|
const selectedPaymentSystem = field('paymentSystem')?.value?.key;
|
|
20
|
+
const handleChangeIsMomentDebitCard = field('isMomentDebitCard')?.onChange;
|
|
15
21
|
|
|
16
22
|
const getCardCategoryValue = useCallback(
|
|
17
23
|
(fetchedCardTypes: CardTypeData[]) =>
|
|
@@ -24,14 +30,23 @@ export const CardCategoryField = JSX<CustomFieldProps>(({ field, input }) => {
|
|
|
24
30
|
[],
|
|
25
31
|
);
|
|
26
32
|
|
|
33
|
+
const onChange = useCallback((value: Option) => {
|
|
34
|
+
cardCategoryChange?.(value);
|
|
35
|
+
handleChangeIsMomentDebitCard?.(value?.text?.toLowerCase()?.includes('неимен'));
|
|
36
|
+
}, []);
|
|
37
|
+
|
|
27
38
|
useEffect(() => {
|
|
28
39
|
if (selectedPaymentSystem && programId) {
|
|
29
40
|
(async () => {
|
|
30
41
|
const fetchedCardTypes = await getCardTypes(selectedPaymentSystem as string, programId);
|
|
31
|
-
|
|
42
|
+
const actualCardTypes =
|
|
43
|
+
isDebit && !isEsiaAuth && !isSalaryCard
|
|
44
|
+
? excludeSomeСategoriesCards(fetchedCardTypes)
|
|
45
|
+
: fetchedCardTypes;
|
|
46
|
+
setCardTypes(actualCardTypes);
|
|
32
47
|
|
|
33
|
-
if (!isValidCardCategory(
|
|
34
|
-
cardCategoryChange?.(getCardCategoryValue(
|
|
48
|
+
if (!isValidCardCategory(actualCardTypes, selectedCardCategory as Option)) {
|
|
49
|
+
cardCategoryChange?.(getCardCategoryValue(actualCardTypes));
|
|
35
50
|
}
|
|
36
51
|
})();
|
|
37
52
|
}
|
|
@@ -50,6 +65,7 @@ export const CardCategoryField = JSX<CustomFieldProps>(({ field, input }) => {
|
|
|
50
65
|
label="Категория карты"
|
|
51
66
|
fieldName="cardCategory"
|
|
52
67
|
input={input}
|
|
68
|
+
onChange={onChange}
|
|
53
69
|
/>
|
|
54
70
|
{description ? <InfoCard __html={description} /> : null}
|
|
55
71
|
</div>
|
|
@@ -58,3 +74,8 @@ export const CardCategoryField = JSX<CustomFieldProps>(({ field, input }) => {
|
|
|
58
74
|
|
|
59
75
|
const isValidCardCategory = (cardTypes: CardTypeData[], selectedCardCategory: Option | null) =>
|
|
60
76
|
cardTypes.some((cardType) => cardType.key === selectedCardCategory?.key);
|
|
77
|
+
|
|
78
|
+
const excludeSomeСategoriesCards = (cardTypes: CardTypeData[]) =>
|
|
79
|
+
cardTypes.filter(
|
|
80
|
+
(cardType) => cardType.value && cardType.value.toLowerCase().includes(' именная'),
|
|
81
|
+
);
|
|
@@ -1,7 +1,33 @@
|
|
|
1
1
|
import { JSX } from '@redneckz/uni-jsx';
|
|
2
|
+
import { useMemo } from '@redneckz/uni-jsx/lib/hooks';
|
|
2
3
|
import { DatePickerControl } from '../../../ui-kit/DatePicker/DatePickerControl';
|
|
3
4
|
import { type CustomFieldProps } from '../../../ui-kit/FormField/CustomFieldProps';
|
|
5
|
+
import { useLeadFormData } from '../../hooks/useLeadFormData';
|
|
6
|
+
import { useRetailFormStore } from '../../hooks/useRetailFormStore';
|
|
4
7
|
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
)
|
|
8
|
+
const MIN_DATE = new Date(Date.now() + 1 * 24 * 60 * 60 * 1000);
|
|
9
|
+
|
|
10
|
+
export const DeliveryDateFiels = JSX<CustomFieldProps>(({ field, input }) => {
|
|
11
|
+
const { productType } = useRetailFormStore();
|
|
12
|
+
const isDebit = productType === 'debitCard';
|
|
13
|
+
const minDate = isDebit ? MIN_DATE : new Date();
|
|
14
|
+
const { data } = useLeadFormData('DAYS_DELIVERY_SETTINGS');
|
|
15
|
+
|
|
16
|
+
const weekends: number[] = useMemo(() => {
|
|
17
|
+
const weekendItem = data?.find((item) => item.key === 'WEEKEND');
|
|
18
|
+
if (weekendItem && weekendItem.value) {
|
|
19
|
+
return weekendItem.value.split(',').map(Number);
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
return [];
|
|
23
|
+
}, [data]);
|
|
24
|
+
|
|
25
|
+
return (
|
|
26
|
+
<DatePickerControl
|
|
27
|
+
label="Дата доставки"
|
|
28
|
+
{...field(input?.name ?? '')}
|
|
29
|
+
minDate={minDate}
|
|
30
|
+
weekends={isDebit ? weekends : []}
|
|
31
|
+
/>
|
|
32
|
+
);
|
|
33
|
+
});
|
|
@@ -4,17 +4,25 @@ import { type CustomFieldProps } from '../../../ui-kit/FormField/CustomFieldProp
|
|
|
4
4
|
import { type RadioButtonItem } from '../../../ui-kit/RadioButtonGroup/RadioButtonGroup';
|
|
5
5
|
import { RadioButtonGroupControl } from '../../../ui-kit/RadioButtonGroup/RadioButtonGroupControl';
|
|
6
6
|
import { useLeadFormData } from '../../hooks/useLeadFormData';
|
|
7
|
+
import { useRetailFormStore } from '../../hooks/useRetailFormStore';
|
|
7
8
|
|
|
8
9
|
export const DeliveryTimeField = JSX<CustomFieldProps>(({ field, input }) => {
|
|
10
|
+
const { productType } = useRetailFormStore();
|
|
11
|
+
const isDebit = productType === 'debitCard';
|
|
9
12
|
const { data } = useLeadFormData('COURIER_DELIVERY_TIME');
|
|
10
|
-
const
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
[
|
|
17
|
-
|
|
13
|
+
const creditDeliveryTime = ['TIME_1', 'TIME_2', 'TIME_3'];
|
|
14
|
+
const debitDeliveryTime = ['TIME_4', 'TIME_5'];
|
|
15
|
+
|
|
16
|
+
const deliveryTime: RadioButtonItem[] = useMemo(() => {
|
|
17
|
+
const allowedTimes = isDebit ? debitDeliveryTime : creditDeliveryTime;
|
|
18
|
+
|
|
19
|
+
return (data || [])
|
|
20
|
+
.filter((item) => item.key && allowedTimes.includes(item.key))
|
|
21
|
+
.map((item) => ({
|
|
22
|
+
id: item.key as string,
|
|
23
|
+
text: item.value,
|
|
24
|
+
}));
|
|
25
|
+
}, [data, isDebit]);
|
|
18
26
|
|
|
19
27
|
return (
|
|
20
28
|
<RadioButtonGroupControl
|
|
@@ -10,12 +10,11 @@ import { useLeadFormData } from '../../hooks/useLeadFormData';
|
|
|
10
10
|
import { useRetailFormStore } from '../../hooks/useRetailFormStore';
|
|
11
11
|
|
|
12
12
|
export const RegionRetailField = JSX<CustomFieldProps>(({ field, input }) => {
|
|
13
|
-
const {
|
|
13
|
+
const { productType } = useRetailFormStore();
|
|
14
14
|
const { data: regions } = useLeadFormData('REGION_RF');
|
|
15
15
|
const { data: regionsDelivery } = useAsyncData('regionsDelivery', getRegionsCardDelivery);
|
|
16
16
|
const { data: productSettings } = useLeadFormData(getCurrentProductSettings(productType));
|
|
17
|
-
|
|
18
|
-
const isSalaryCard = programId === '38';
|
|
17
|
+
const isEsiaAuth = field('esiaAccountTypeCd')?.value?.key;
|
|
19
18
|
const formatRegions = regions?.map(({ key, value }) => ({ key, text: value }));
|
|
20
19
|
const isDeliveryActive =
|
|
21
20
|
productSettings?.find((_) => _?.key === 'DELIVERY_ACTIVE')?.value === 'true';
|
|
@@ -28,12 +27,13 @@ export const RegionRetailField = JSX<CustomFieldProps>(({ field, input }) => {
|
|
|
28
27
|
const regionHasDelivery =
|
|
29
28
|
isDeliveryActive &&
|
|
30
29
|
regionsDelivery?.find((_) => _.regionCode === value.key)?.deliveryFlg &&
|
|
31
|
-
|
|
30
|
+
Boolean(isEsiaAuth);
|
|
31
|
+
|
|
32
32
|
handleChangeRegionHasDelivery?.(regionHasDelivery);
|
|
33
33
|
handleChangeMethodObtain?.(regionHasDelivery ? 'courier' : 'office');
|
|
34
34
|
handleChangeRegion?.(value);
|
|
35
35
|
},
|
|
36
|
-
[regionsDelivery, isDeliveryActive],
|
|
36
|
+
[regionsDelivery, isDeliveryActive, isEsiaAuth],
|
|
37
37
|
);
|
|
38
38
|
|
|
39
39
|
return (
|
|
@@ -18,6 +18,7 @@ export interface SelectFieldProps
|
|
|
18
18
|
fieldName: string;
|
|
19
19
|
isSearch?: boolean;
|
|
20
20
|
isManualInput?: boolean;
|
|
21
|
+
onChange?: (value: Option) => void;
|
|
21
22
|
}
|
|
22
23
|
|
|
23
24
|
export const SelectField = UniBlock<SelectFieldProps>(
|
|
@@ -28,6 +29,7 @@ export const SelectField = UniBlock<SelectFieldProps>(
|
|
|
28
29
|
placeholder = 'Выберите из списка',
|
|
29
30
|
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
30
31
|
options,
|
|
32
|
+
onChange,
|
|
31
33
|
...rest
|
|
32
34
|
}) => {
|
|
33
35
|
const leadOptions: Option[] =
|
|
@@ -42,6 +44,7 @@ export const SelectField = UniBlock<SelectFieldProps>(
|
|
|
42
44
|
options={leadOptions}
|
|
43
45
|
{...field(fieldName)}
|
|
44
46
|
{...rest}
|
|
47
|
+
onChange={onChange ?? field(fieldName)?.onChange}
|
|
45
48
|
/>
|
|
46
49
|
);
|
|
47
50
|
},
|
|
@@ -11,11 +11,12 @@ interface CalendarProps {
|
|
|
11
11
|
currentYear: number;
|
|
12
12
|
min?: Date;
|
|
13
13
|
max?: Date;
|
|
14
|
+
weekends?: number[];
|
|
14
15
|
onDateSelect?: (date: Date) => void;
|
|
15
16
|
}
|
|
16
17
|
|
|
17
18
|
export const Calendar = JSX<CalendarProps>(
|
|
18
|
-
({ today, currentMonth, currentYear, min, max, onDateSelect = noop }) => {
|
|
19
|
+
({ today, currentMonth, currentYear, min, max, weekends, onDateSelect = noop }) => {
|
|
19
20
|
const { firstDayOfWeek, totalDays } = useMemo(
|
|
20
21
|
() => ({
|
|
21
22
|
firstDayOfWeek: new Date(currentYear, currentMonth, 1).getDay() - 1,
|
|
@@ -44,6 +45,7 @@ export const Calendar = JSX<CalendarProps>(
|
|
|
44
45
|
currentMonth,
|
|
45
46
|
min,
|
|
46
47
|
max,
|
|
48
|
+
weekends,
|
|
47
49
|
onDateClick: onDateSelect,
|
|
48
50
|
})}
|
|
49
51
|
</tbody>
|
|
@@ -34,11 +34,22 @@ interface DatePickerProps extends ControlProps<Date>, ComponentType, LabelProps,
|
|
|
34
34
|
minDate?: Date;
|
|
35
35
|
maxDate?: Date;
|
|
36
36
|
valid?: boolean;
|
|
37
|
+
weekends?: number[];
|
|
37
38
|
}
|
|
38
39
|
|
|
39
40
|
export const DatePicker = JSX<DatePickerProps>(
|
|
40
41
|
// eslint-disable-next-line max-lines-per-function
|
|
41
|
-
({
|
|
42
|
+
({
|
|
43
|
+
className = '',
|
|
44
|
+
label = '',
|
|
45
|
+
value,
|
|
46
|
+
valid = true,
|
|
47
|
+
minDate,
|
|
48
|
+
maxDate,
|
|
49
|
+
disabled,
|
|
50
|
+
weekends,
|
|
51
|
+
onChange,
|
|
52
|
+
}) => {
|
|
42
53
|
const [isCalendarVisible, { setValue, setFalse: hideCalendar }] = useBool(false);
|
|
43
54
|
const [selectedMonth, setSelectedMonth] = useState(value?.getMonth() || new Date().getMonth());
|
|
44
55
|
const [selectedYear, setSelectedYear] = useState(
|
|
@@ -120,6 +131,7 @@ export const DatePicker = JSX<DatePickerProps>(
|
|
|
120
131
|
currentYear={selectedYear}
|
|
121
132
|
min={minDate}
|
|
122
133
|
max={maxDate}
|
|
134
|
+
weekends={weekends}
|
|
123
135
|
onDateSelect={handleDateSelect}
|
|
124
136
|
/>
|
|
125
137
|
</div>
|
|
@@ -9,6 +9,7 @@ import { DatePicker } from './DatePicker';
|
|
|
9
9
|
export interface DatePickerControlProps extends DefaultControlType, ControlProps<Date> {
|
|
10
10
|
minDate?: Date;
|
|
11
11
|
maxDate?: Date;
|
|
12
|
+
weekends?: number[];
|
|
12
13
|
}
|
|
13
14
|
|
|
14
15
|
export const DatePickerControl = JSX<DatePickerControlProps>(
|
|
@@ -12,6 +12,7 @@ interface RenderCalendarCellsParams {
|
|
|
12
12
|
currentMonth: number;
|
|
13
13
|
min?: Date;
|
|
14
14
|
max?: Date;
|
|
15
|
+
weekends?: number[];
|
|
15
16
|
onDateClick: (date: Date) => void;
|
|
16
17
|
}
|
|
17
18
|
|
|
@@ -23,11 +24,11 @@ export const renderCalendarCells = ({
|
|
|
23
24
|
currentYear,
|
|
24
25
|
min,
|
|
25
26
|
max,
|
|
27
|
+
weekends,
|
|
26
28
|
onDateClick,
|
|
27
29
|
}: RenderCalendarCellsParams) => {
|
|
28
30
|
const calendarCells: VNode = [];
|
|
29
31
|
let dayCounter = 1;
|
|
30
|
-
|
|
31
32
|
for (let i = 0; i < DAY_COUNT; i++) {
|
|
32
33
|
const rowCells: VNode = [];
|
|
33
34
|
|
|
@@ -40,12 +41,15 @@ export const renderCalendarCells = ({
|
|
|
40
41
|
const currentDate = new Date(currentYear, currentMonth, dayCounter);
|
|
41
42
|
const isToday = checkIsToday(currentDate, today);
|
|
42
43
|
const isDisabled = checkIsDisabled(currentDate, min, max);
|
|
44
|
+
const isWeekend = checkIsWeekend(currentDate, weekends);
|
|
45
|
+
|
|
46
|
+
const isBlocked = isDisabled || isWeekend;
|
|
43
47
|
|
|
44
48
|
rowCells.push(
|
|
45
49
|
<td key={`day-${dayCounter}`}>
|
|
46
50
|
<div
|
|
47
|
-
className={getDayStyles(isToday,
|
|
48
|
-
onClick={() => !
|
|
51
|
+
className={getDayStyles(isToday, isBlocked)}
|
|
52
|
+
onClick={() => !isBlocked && onDateClick(currentDate)}
|
|
49
53
|
>
|
|
50
54
|
{dayCounter}
|
|
51
55
|
</div>
|
|
@@ -68,11 +72,20 @@ const checkIsToday = (currentDate: Date, today: Date | undefined) =>
|
|
|
68
72
|
const checkIsDisabled = (currentDate: Date, min: Date | undefined, max: Date | undefined) =>
|
|
69
73
|
(min && currentDate.getTime() < min.getTime()) || (max && currentDate.getTime() > max.getTime());
|
|
70
74
|
|
|
71
|
-
const
|
|
75
|
+
const checkIsWeekend = (currentDate: Date, weekends?: number[]) => {
|
|
76
|
+
if (!weekends || weekends.length === 0) {
|
|
77
|
+
return false;
|
|
78
|
+
}
|
|
79
|
+
const dayOfWeek = currentDate.getDay() === 0 ? 7 : currentDate.getDay();
|
|
80
|
+
|
|
81
|
+
return weekends.includes(dayOfWeek);
|
|
82
|
+
};
|
|
83
|
+
|
|
84
|
+
const getDayStyles = (isToday = false, isBlocked = false) =>
|
|
72
85
|
style(
|
|
73
86
|
'p-s text-center rounded-md border',
|
|
74
87
|
{
|
|
75
88
|
'border-transparent hover:bg-gray': !isToday,
|
|
76
89
|
},
|
|
77
|
-
|
|
90
|
+
isBlocked ? 'text-gray hover:bg-transparent' : 'cursor-pointer',
|
|
78
91
|
);
|