@snabcentr/vue-ui-lib 5.6.1 → 5.7.4
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/dist/manifest.json +2 -2
- package/dist/release_notes.tmp +10 -3
- package/dist/sc-vue-ui-lib.css +1 -1
- package/dist/sc-vue-ui-lib.js +10389 -10179
- package/dist/sc-vue-ui-lib.js.map +1 -1
- package/dist/sc-vue-ui-lib.umd.cjs +171 -171
- package/dist/sc-vue-ui-lib.umd.cjs.map +1 -1
- package/dist/src/components/catalog/forms/set-client-price-form-item.vue.d.ts +11 -1
- package/dist/src/components/orders/simple/order-item-name.vue.d.ts +23 -4
- package/dist/src/components/orders/simple/order-product-info.vue.d.ts +9 -0
- package/dist/src/helpers/currency-helper.d.ts +17 -0
- package/dist/src/helpers/index.d.ts +3 -0
- package/dist/src/helpers/m2-price-helper.d.ts +46 -0
- package/dist/src/helpers/number-helper.d.ts +126 -0
- package/package.json +1 -1
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { CalculationTypeEnum, ICatalogableItem, IPriceCoefficient, IPriceUpdateData } from '@snabcentr/common-lib';
|
|
1
|
+
import { CalculationTypeEnum, ICatalogableItem, IPriceCoefficient, IPriceUpdateData, ProductData } from '@snabcentr/common-lib';
|
|
2
2
|
import { IDisabled, IValidationFeedbackProperties } from '../../../properties';
|
|
3
3
|
/**
|
|
4
4
|
* Компонент "Установка клиентской цены".
|
|
@@ -16,6 +16,11 @@ declare const _default: import('vue').DefineComponent<import('../../../propertie
|
|
|
16
16
|
* Текст для подписи поля.
|
|
17
17
|
*/
|
|
18
18
|
label?: string;
|
|
19
|
+
/**
|
|
20
|
+
* Опорный товар категории м², по ценам которого рассчитывается стоимость за м².
|
|
21
|
+
* Если указан для категории, вместе с коэффициентом и процентом отображается поле стоимости за м².
|
|
22
|
+
*/
|
|
23
|
+
m2ReferenceProduct?: ProductData;
|
|
19
24
|
/**
|
|
20
25
|
* Функция определения коэффициентов, недоступных для установки.
|
|
21
26
|
* Такие коэффициенты отображаются в списке, но отключены (disabled).
|
|
@@ -41,6 +46,11 @@ declare const _default: import('vue').DefineComponent<import('../../../propertie
|
|
|
41
46
|
* Текст для подписи поля.
|
|
42
47
|
*/
|
|
43
48
|
label?: string;
|
|
49
|
+
/**
|
|
50
|
+
* Опорный товар категории м², по ценам которого рассчитывается стоимость за м².
|
|
51
|
+
* Если указан для категории, вместе с коэффициентом и процентом отображается поле стоимости за м².
|
|
52
|
+
*/
|
|
53
|
+
m2ReferenceProduct?: ProductData;
|
|
44
54
|
/**
|
|
45
55
|
* Функция определения коэффициентов, недоступных для установки.
|
|
46
56
|
* Такие коэффициенты отображаются в списке, но отключены (disabled).
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { OrderItemBase } from '@snabcentr/common-lib';
|
|
2
2
|
/**
|
|
3
3
|
* Компонент отображения наименования позиции заказа в таблице.
|
|
4
4
|
*/
|
|
@@ -6,11 +6,30 @@ declare const _default: import('vue').DefineComponent<{
|
|
|
6
6
|
/**
|
|
7
7
|
* Данные о позиции заказа.
|
|
8
8
|
*/
|
|
9
|
-
item:
|
|
9
|
+
item: OrderItemBase<undefined, string | number>;
|
|
10
|
+
/**
|
|
11
|
+
* Признак отображения артикула товара.
|
|
12
|
+
*/
|
|
13
|
+
showCode?: boolean;
|
|
14
|
+
/**
|
|
15
|
+
* Признак неактивной позиции. Если не задан, позиция считается неактивной, когда она удалена или заменена другой.
|
|
16
|
+
*/
|
|
17
|
+
inactive?: boolean;
|
|
10
18
|
}, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<{
|
|
11
19
|
/**
|
|
12
20
|
* Данные о позиции заказа.
|
|
13
21
|
*/
|
|
14
|
-
item:
|
|
15
|
-
|
|
22
|
+
item: OrderItemBase<undefined, string | number>;
|
|
23
|
+
/**
|
|
24
|
+
* Признак отображения артикула товара.
|
|
25
|
+
*/
|
|
26
|
+
showCode?: boolean;
|
|
27
|
+
/**
|
|
28
|
+
* Признак неактивной позиции. Если не задан, позиция считается неактивной, когда она удалена или заменена другой.
|
|
29
|
+
*/
|
|
30
|
+
inactive?: boolean;
|
|
31
|
+
}> & Readonly<{}>, {
|
|
32
|
+
showCode: boolean;
|
|
33
|
+
inactive: boolean;
|
|
34
|
+
}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, HTMLDivElement>;
|
|
16
35
|
export default _default;
|
|
@@ -26,6 +26,10 @@ declare const _default: __VLS_WithTemplateSlots<import('vue').DefineComponent<{
|
|
|
26
26
|
* по завершении ввода, и на каждый введённый символ запрос не уходит.
|
|
27
27
|
*/
|
|
28
28
|
updateQuantityOnInput?: boolean;
|
|
29
|
+
/**
|
|
30
|
+
* Признак неактивной позиции (удалённой или заменённой): такая позиция приглушается и зачёркивается.
|
|
31
|
+
*/
|
|
32
|
+
inactive?: boolean;
|
|
29
33
|
}, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<{
|
|
30
34
|
/**
|
|
31
35
|
* Данные о продукте в заказе.
|
|
@@ -48,8 +52,13 @@ declare const _default: __VLS_WithTemplateSlots<import('vue').DefineComponent<{
|
|
|
48
52
|
* по завершении ввода, и на каждый введённый символ запрос не уходит.
|
|
49
53
|
*/
|
|
50
54
|
updateQuantityOnInput?: boolean;
|
|
55
|
+
/**
|
|
56
|
+
* Признак неактивной позиции (удалённой или заменённой): такая позиция приглушается и зачёркивается.
|
|
57
|
+
*/
|
|
58
|
+
inactive?: boolean;
|
|
51
59
|
}> & Readonly<{}>, {
|
|
52
60
|
eventEmitter: Emitter<IOrderEmits>;
|
|
61
|
+
inactive: boolean;
|
|
53
62
|
allowEdit: boolean;
|
|
54
63
|
updateQuantityOnInput: boolean;
|
|
55
64
|
}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, HTMLDivElement>, {
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { ICurrency } from '@snabcentr/common-lib';
|
|
2
|
+
/**
|
|
3
|
+
* Класс-помощник для работы с валютами.
|
|
4
|
+
*/
|
|
5
|
+
export declare class CurrencyHelper {
|
|
6
|
+
/**
|
|
7
|
+
* Возвращает валюту по умолчанию из справочника валют. Справочник загружается при первом обращении, до загрузки и без
|
|
8
|
+
* подключённого хранилища валюты нет.
|
|
9
|
+
*/
|
|
10
|
+
static getDefaultCurrency(): ICurrency | undefined;
|
|
11
|
+
/**
|
|
12
|
+
* Возвращает точность округления сумм в указанной валюте, а без валюты - в валюте по умолчанию.
|
|
13
|
+
*
|
|
14
|
+
* @param currency Валюта суммы.
|
|
15
|
+
*/
|
|
16
|
+
static getPrecision(currency?: Pick<ICurrency, 'precision'>): number | undefined;
|
|
17
|
+
}
|
|
@@ -1,9 +1,12 @@
|
|
|
1
1
|
export * from './app-version-helper';
|
|
2
2
|
export * from './content-helper';
|
|
3
|
+
export * from './currency-helper';
|
|
3
4
|
export * from './file-helper';
|
|
4
5
|
export * from './entity-name-helper';
|
|
5
6
|
export * from './input-helper';
|
|
7
|
+
export * from './number-helper';
|
|
6
8
|
export * from './pagination-items-prefix';
|
|
7
9
|
export * from './select-option-helper';
|
|
8
10
|
export * from './validators';
|
|
9
11
|
export * from './product-info-helper';
|
|
12
|
+
export * from './m2-price-helper';
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
import { ICategory, IPriceCoefficient, ProductData } from '@snabcentr/common-lib';
|
|
2
|
+
/**
|
|
3
|
+
* Класс-помощник для расчёта цен за м² для категорий, у которых разрешена установка цены исходя из стоимости м².
|
|
4
|
+
* Цена за м² категории рассчитывается по опорному товару: первому товару основной категории с заполненной шириной или длиной.
|
|
5
|
+
*/
|
|
6
|
+
export declare class M2PriceHelper {
|
|
7
|
+
/**
|
|
8
|
+
* Линейный размер товара в миллиметрах, используемый, если у товара не заполнены ширина или длина.
|
|
9
|
+
*/
|
|
10
|
+
private static readonly defaultLinearSizeMm;
|
|
11
|
+
/**
|
|
12
|
+
* Признак, что для категории разрешена установка цены исходя из стоимости м².
|
|
13
|
+
*
|
|
14
|
+
* @param category Данные о категории.
|
|
15
|
+
*/
|
|
16
|
+
static isM2Category(category: ICategory): boolean;
|
|
17
|
+
/**
|
|
18
|
+
* Возвращает опорный товар категории м²: первый товар основной категории с заполненной шириной или длиной.
|
|
19
|
+
* Возвращает `undefined`, если список товаров категории не загружен или такого товара нет.
|
|
20
|
+
*
|
|
21
|
+
* @param category Данные о категории.
|
|
22
|
+
*/
|
|
23
|
+
static findReferenceProduct(category: ICategory): ProductData | undefined;
|
|
24
|
+
/**
|
|
25
|
+
* Возвращает площадь товара в м². Если у товара не заполнены ширина или длина, вместо них используется 1 м.
|
|
26
|
+
*
|
|
27
|
+
* @param product Данные о товаре.
|
|
28
|
+
*/
|
|
29
|
+
static getSquare(product: ProductData): number;
|
|
30
|
+
/**
|
|
31
|
+
* Переводит стоимость товара в стоимость за м² по площади товара.
|
|
32
|
+
*
|
|
33
|
+
* @param cost Стоимость товара.
|
|
34
|
+
* @param product Данные о товаре.
|
|
35
|
+
*/
|
|
36
|
+
static toM2Cost(cost: number, product: ProductData): number;
|
|
37
|
+
/**
|
|
38
|
+
* Рассчитывает стоимость за м² товара для коэффициента цены с процентом надбавки.
|
|
39
|
+
* Без коэффициента расчёт ведётся от розничной цены. Возвращает `undefined`, если у товара нет цены для коэффициента.
|
|
40
|
+
*
|
|
41
|
+
* @param product Данные о товаре.
|
|
42
|
+
* @param priceCoefficient Коэффициент цены.
|
|
43
|
+
* @param increasePercent Процент надбавки к цене коэффициента.
|
|
44
|
+
*/
|
|
45
|
+
static calculateM2Cost(product: ProductData, priceCoefficient?: IPriceCoefficient, increasePercent?: number): number | undefined;
|
|
46
|
+
}
|
|
@@ -0,0 +1,126 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Класс-помощник для работы с дробными числами: округление с учётом погрешности дробной арифметики и форматирование сумм.
|
|
3
|
+
*/
|
|
4
|
+
export declare class NumberHelper {
|
|
5
|
+
/**
|
|
6
|
+
* Количество знаков после запятой в процентах изменения цены.
|
|
7
|
+
*/
|
|
8
|
+
static readonly percentFractionDigits = 5;
|
|
9
|
+
/**
|
|
10
|
+
* Наибольшее количество знаков после запятой в проценте на экране.
|
|
11
|
+
*/
|
|
12
|
+
static readonly percentDisplayFractionDigits = 2;
|
|
13
|
+
/**
|
|
14
|
+
* Наибольшее количество знаков после запятой в площади, м².
|
|
15
|
+
*/
|
|
16
|
+
static readonly areaFractionDigits = 4;
|
|
17
|
+
/**
|
|
18
|
+
* Количество знаков после запятой в географических координатах.
|
|
19
|
+
*/
|
|
20
|
+
static readonly coordinateFractionDigits = 6;
|
|
21
|
+
/**
|
|
22
|
+
* Количество значащих цифр, до которого обрезается погрешность дробной арифметики.
|
|
23
|
+
*/
|
|
24
|
+
static readonly significantDigits = 12;
|
|
25
|
+
/**
|
|
26
|
+
* Допустимая погрешность сравнения дробных чисел.
|
|
27
|
+
*/
|
|
28
|
+
static readonly epsilon = 0.000001;
|
|
29
|
+
/**
|
|
30
|
+
* Форматтеры денежных сумм по точности валюты.
|
|
31
|
+
*/
|
|
32
|
+
private static readonly moneyFormatters;
|
|
33
|
+
/**
|
|
34
|
+
* Форматтер площади.
|
|
35
|
+
*/
|
|
36
|
+
private static readonly areaFormatter;
|
|
37
|
+
/**
|
|
38
|
+
* Возвращает количество знаков после запятой в указанном числе.
|
|
39
|
+
*
|
|
40
|
+
* @param value Число, для которого нужно определить количество знаков после запятой.
|
|
41
|
+
*/
|
|
42
|
+
static getDecimalsCount(value: number): number;
|
|
43
|
+
/**
|
|
44
|
+
* Возвращает число без погрешности дробной арифметики: 2.9999999999999996 превращается в 3, 0.30000000000000004 в 0.3.
|
|
45
|
+
*
|
|
46
|
+
* @param value Число с возможной погрешностью.
|
|
47
|
+
*/
|
|
48
|
+
static normalize(value: number): number;
|
|
49
|
+
/**
|
|
50
|
+
* Возвращает произведение значения на шаг, округлённое до точности шага. Убирает погрешность дробной арифметики.
|
|
51
|
+
*
|
|
52
|
+
* @param value Множитель, обычно количество.
|
|
53
|
+
* @param step Шаг с нужной точностью, например длина одного отрезка.
|
|
54
|
+
*/
|
|
55
|
+
static multiplyByStep(value: number, step: number): number;
|
|
56
|
+
/**
|
|
57
|
+
* Возвращает частное от деления значения на шаг без погрешности дробной арифметики.
|
|
58
|
+
*
|
|
59
|
+
* @param value Делимое, обычно длина.
|
|
60
|
+
* @param step Шаг.
|
|
61
|
+
*/
|
|
62
|
+
static divideByStep(value: number, step: number): number;
|
|
63
|
+
/**
|
|
64
|
+
* Возвращает признак того, что значение кратно шагу с учётом погрешности дробной арифметики.
|
|
65
|
+
*
|
|
66
|
+
* @param value Значение.
|
|
67
|
+
* @param step Шаг.
|
|
68
|
+
*/
|
|
69
|
+
static isMultipleOf(value: number, step: number): boolean;
|
|
70
|
+
/**
|
|
71
|
+
* Возвращает признак того, что первое число меньше второго или равно ему с учётом погрешности дробной арифметики.
|
|
72
|
+
*
|
|
73
|
+
* @param value Первое число.
|
|
74
|
+
* @param other Второе число.
|
|
75
|
+
*/
|
|
76
|
+
static isLessOrEqual(value: number, other: number): boolean;
|
|
77
|
+
/**
|
|
78
|
+
* Возвращает географическую координату, округлённую до точности хранения.
|
|
79
|
+
*
|
|
80
|
+
* @param value Координата.
|
|
81
|
+
*/
|
|
82
|
+
static roundCoordinate(value: number): number;
|
|
83
|
+
/**
|
|
84
|
+
* Возвращает денежную сумму, округлённую до точности валюты. Пока точность неизвестна, убирает только погрешность дробной арифметики.
|
|
85
|
+
*
|
|
86
|
+
* @param value Денежная сумма.
|
|
87
|
+
* @param precision Точность валюты суммы, по умолчанию точность валюты по умолчанию из справочника валют.
|
|
88
|
+
*/
|
|
89
|
+
static roundMoney(value: number, precision?: number | undefined): number;
|
|
90
|
+
/**
|
|
91
|
+
* Возвращает денежную сумму, округлённую до точности валюты в меньшую сторону. Пока точность неизвестна, убирает только
|
|
92
|
+
* погрешность дробной арифметики.
|
|
93
|
+
*
|
|
94
|
+
* @param value Денежная сумма.
|
|
95
|
+
* @param precision Точность валюты суммы, по умолчанию точность валюты по умолчанию из справочника валют.
|
|
96
|
+
*/
|
|
97
|
+
static floorMoney(value: number, precision?: number | undefined): number;
|
|
98
|
+
/**
|
|
99
|
+
* Возвращает процент, округлённый до указанного количества знаков после запятой.
|
|
100
|
+
*
|
|
101
|
+
* @param value Процент.
|
|
102
|
+
* @param fractionDigits Количество знаков после запятой, по умолчанию {@link NumberHelper.percentFractionDigits}.
|
|
103
|
+
*/
|
|
104
|
+
static roundPercent(value: number, fractionDigits?: number): number;
|
|
105
|
+
/**
|
|
106
|
+
* Возвращает денежную сумму в виде строки с разделителями разрядов и количеством знаков после запятой по точности валюты.
|
|
107
|
+
* Пока точность неизвестна, выводит сумму без незначащих нулей.
|
|
108
|
+
*
|
|
109
|
+
* @param value Денежная сумма.
|
|
110
|
+
* @param precision Точность валюты суммы, по умолчанию точность валюты по умолчанию из справочника валют.
|
|
111
|
+
*/
|
|
112
|
+
static formatMoney(value: number, precision?: number | undefined): string;
|
|
113
|
+
/**
|
|
114
|
+
* Возвращает процент в виде строки с запятой и не более чем указанным количеством знаков после запятой, без незначащих нулей.
|
|
115
|
+
*
|
|
116
|
+
* @param value Процент.
|
|
117
|
+
* @param fractionDigits Наибольшее количество знаков после запятой, по умолчанию {@link NumberHelper.percentDisplayFractionDigits}.
|
|
118
|
+
*/
|
|
119
|
+
static formatPercent(value: number, fractionDigits?: number): string;
|
|
120
|
+
/**
|
|
121
|
+
* Возвращает площадь в виде строки с разделителями разрядов и не более чем четырьмя знаками после запятой.
|
|
122
|
+
*
|
|
123
|
+
* @param value Площадь, м².
|
|
124
|
+
*/
|
|
125
|
+
static formatArea(value: number): string;
|
|
126
|
+
}
|