@pisell/private-materials 6.11.674 → 6.11.676
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/build/lowcode/assets-daily.json +11 -11
- package/build/lowcode/assets-dev.json +2 -2
- package/build/lowcode/assets-prod.json +11 -11
- package/build/lowcode/meta.js +1 -1
- package/build/lowcode/render/default/view.js +18 -18
- package/build/lowcode/view.js +18 -18
- package/es/components/bigSale/components/BookingFloatingPanel/useBookingPanelController.js +1 -0
- package/es/components/bigSale/components/TimeBar/index.js +1 -0
- package/es/components/bigSale/dialog.js +1 -0
- package/es/components/bigSale/hooks/useBigSaleContext.js +1 -0
- package/es/components/bigSale/hooks/useSelectFloorMapResourceForBigSale.js +1 -0
- package/es/components/bigSale/index.js +1 -0
- package/es/components/bigSale/templates/Kiosk/index.js +1 -0
- package/es/components/sharedSecondaryBigSale/SharedSecondaryBigSaleReceiver.js +1 -0
- package/es/index.js +2 -0
- package/es/plus/multiCurrencySettlement/index.js +1 -1
- package/es/plus/piPaymentOld/ui/eftpos/amount.js +6 -3
- package/es/plus/piPaymentOld/ui/eftpos/pages/DevicePage.js +9 -21
- package/es/plus/piPaymentUI/eftpos/amount.js +6 -3
- package/es/plus/piPaymentUI/eftpos/pages/DevicePage.js +9 -21
- package/es/plus/pisellReservation/data/bookingToReservationTables.js +1 -1
- package/es/plus/pisellReservation/floorMap/floorPlanApi.js +1 -1
- package/es/plus/pisellReservation/floorMap/reservationMock.js +1 -1
- package/es/plus/pisellReservation/index.js +17 -0
- package/es/plus/saasDevice/devicePasscodes/model.js +4 -4
- package/es/plus/saleDetail/Base.js +1 -0
- package/es/plus/saleDetail/components/Client/hooks/useClientSelectorProps.js +1 -0
- package/es/plus/saleDetail/components/DetailActions/index.js +1 -0
- package/es/plus/saleDetail/components/SummaryFinancialSections/index.js +1 -0
- package/es/plus/saleDetail/index.js +1 -0
- package/es/plus/saleDetail/tmpl/B/components/Dish/index.js +1 -0
- package/es/plus/saleDetail/tmpl/B/index.js +1 -0
- package/es/plus/salesSdk/index.js +53 -0
- package/es/plus/salesSdk/utils/addProductWithFlowDebounced.js +1 -1
- package/es/plus/salesSdk/utils/bookingDate.js +1 -1
- package/es/plus/salesSdk/utils/customerAuthGate.js +1 -1
- package/es/plus/salesSdk/utils/enrichCartLineHolderDisplay.js +1 -1
- package/es/plus/walletPassGallery/components/timelineSection/index.js +4 -4
- package/es/pro/Login2.0/AuthModal.d.ts +1 -1
- package/es/pro/Login2.0/index.d.ts +2 -2
- package/es/pro/Login2.0/shared/types.d.ts +1 -1
- package/es/pro/skuDetailModal/flow/modules/autoResolution.js +19 -3
- package/es/pro/skuDetailModal/flow/modules/time/index.js +78 -38
- package/es/pro/skuDetailModal/flow/modules/time/posCustomTime.js +17 -8
- package/es/pro/skuDetailModal/flow/types.d.ts +4 -0
- package/es/pro/skuDetailModal/index.js +36 -28
- package/lib/plus/piPaymentOld/ui/eftpos/amount.js +6 -2
- package/lib/plus/piPaymentOld/ui/eftpos/pages/DevicePage.js +9 -22
- package/lib/plus/piPaymentUI/eftpos/amount.js +6 -2
- package/lib/plus/piPaymentUI/eftpos/pages/DevicePage.js +9 -22
- package/lib/pro/skuDetailModal/flow/modules/autoResolution.js +19 -2
- package/lib/pro/skuDetailModal/flow/modules/time/index.js +76 -36
- package/lib/pro/skuDetailModal/flow/modules/time/posCustomTime.js +18 -9
- package/lib/pro/skuDetailModal/flow/types.d.ts +4 -0
- package/lib/pro/skuDetailModal/index.js +36 -28
- package/package.json +2 -2
- package/es/private-materials/lowcode/authmodal/meta.d.ts +0 -1
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import useEngineContext from "../../../../hooks/useEngineContext.js";
|
|
2
2
|
import { subscribeBookingDateChange } from "../../../../plus/salesSdk/utils/bookingDate.js";
|
|
3
|
+
import "../../../../plus/salesSdk/index.js";
|
|
3
4
|
import dayjs from "dayjs";
|
|
4
5
|
import { useCallback, useEffect, useState } from "react";
|
|
5
6
|
//#region src/components/bigSale/components/BookingFloatingPanel/useBookingPanelController.ts
|
|
@@ -4,6 +4,7 @@ import withResponsive from "../../../../responsive/withResponsive.js";
|
|
|
4
4
|
import useInitLocalesOnce from "../../../../hooks/useInitLocalesOnce.js";
|
|
5
5
|
import { subscribeBookingDateChange } from "../../../../plus/salesSdk/utils/bookingDate.js";
|
|
6
6
|
import { useSalesSdkBookingContext } from "../../../../plus/salesSdk/context/SalesSdkBookingContext.js";
|
|
7
|
+
import "../../../../plus/salesSdk/index.js";
|
|
7
8
|
import locales_default from "../../locales/index.js";
|
|
8
9
|
import dayjs from "dayjs";
|
|
9
10
|
import React, { forwardRef, useEffect, useImperativeHandle, useMemo, useRef, useState } from "react";
|
|
@@ -5,6 +5,7 @@ import { buildInitBookingContextParams, collectBookingIdsFromTempOrder } from ".
|
|
|
5
5
|
import { useSalesSdk } from "../../plus/salesSdk/hooks/useSalesSdk.js";
|
|
6
6
|
import { useSalesSdkCart } from "../../plus/salesSdk/hooks/useSalesSdkCart.js";
|
|
7
7
|
import { SalesSdkPrepareOrderSwitchContext, SalesSdkRootRefreshContext } from "../../plus/salesSdk/context/SalesSdkProvider.js";
|
|
8
|
+
import "../../plus/salesSdk/index.js";
|
|
8
9
|
import { seedDineInReservationToCart } from "../../plus/pisellReservation/utils/seedDineInReservationToCart.js";
|
|
9
10
|
import { isPersistedBigSaleOrderId } from "./utils/orderIdentity.js";
|
|
10
11
|
import BigSale from "./index.js";
|
|
@@ -4,6 +4,7 @@ import { useSalesSdkCustomer } from "../../../plus/salesSdk/hooks/useSalesSdkCus
|
|
|
4
4
|
import { useSalesSdkBookingContext } from "../../../plus/salesSdk/context/SalesSdkBookingContext.js";
|
|
5
5
|
import { useSalesSdkSummary } from "../../../plus/salesSdk/hooks/useSalesSdkSummary.js";
|
|
6
6
|
import { useSalesSdkProducts } from "../../../plus/salesSdk/hooks/useSalesSdkProducts.js";
|
|
7
|
+
import "../../../plus/salesSdk/index.js";
|
|
7
8
|
import { useMemo } from "react";
|
|
8
9
|
//#region src/components/bigSale/hooks/useBigSaleContext.ts
|
|
9
10
|
/**
|
|
@@ -3,6 +3,7 @@ import useEngineContext from "../../../hooks/useEngineContext.js";
|
|
|
3
3
|
import { buildInitBookingContextParams, collectBookingIdsFromTempOrder } from "../../../plus/salesSdk/utils/buildDefaultLoadProductsParams.js";
|
|
4
4
|
import { useSalesSdkUIHosts } from "../../../plus/salesSdk/context/SalesSdkUIHostsContext.js";
|
|
5
5
|
import { SalesSdkRootRefreshContext } from "../../../plus/salesSdk/context/SalesSdkProvider.js";
|
|
6
|
+
import "../../../plus/salesSdk/index.js";
|
|
6
7
|
import { resolveOrderIdForHostActions } from "../../../plus/pisellReservation/components/bookingDetailModal/bookingDetailHostActions.js";
|
|
7
8
|
import { usePicoCodingOpenData } from "../../../plus/pisellReservation/hooks/usePicoCodingOpenData.js";
|
|
8
9
|
import { buildReplacementBookingResourcesFromReservationRow } from "../../../plus/pisellReservation/utils/reservationTicketBookingHostParams.js";
|
|
@@ -8,6 +8,7 @@ import { useSalesSdk } from "../../plus/salesSdk/hooks/useSalesSdk.js";
|
|
|
8
8
|
import { useSalesSdkCustomer } from "../../plus/salesSdk/hooks/useSalesSdkCustomer.js";
|
|
9
9
|
import { SalesSdkProvider } from "../../plus/salesSdk/context/SalesSdkProvider.js";
|
|
10
10
|
import { SalesSdkBookingContextProvider } from "../../plus/salesSdk/context/SalesSdkBookingContext.js";
|
|
11
|
+
import "../../plus/salesSdk/index.js";
|
|
11
12
|
import { ResponsiveBigSaleBase } from "./Base.js";
|
|
12
13
|
import { isBigSaleProductSelectionFlowScene, resolveBigSaleSelectionFlowConfig } from "./selectionFlowConfig.js";
|
|
13
14
|
import { isKioskPresentation } from "./templateCapabilities.js";
|
|
@@ -9,6 +9,7 @@ import { resolvePaymentResultToastV2ViewModel } from "../../../checkout/componen
|
|
|
9
9
|
import PaymentResultToastV2_default from "../../../checkout/components/PaymentResultToastV2/index.js";
|
|
10
10
|
import { freePayApi } from "../../../Sales/Checkout/serve.js";
|
|
11
11
|
import { useSalesSdk } from "../../../../plus/salesSdk/hooks/useSalesSdk.js";
|
|
12
|
+
import "../../../../plus/salesSdk/index.js";
|
|
12
13
|
import { usePickSaleDetailContext } from "../../hooks/usePickSaleDetailContext.js";
|
|
13
14
|
import { resolveBigSaleAutoProductListPreferences } from "../../utils/productListPreferences.js";
|
|
14
15
|
import { resolveBigSaleProductDisplayConfig } from "../../hooks/useBigSaleProductListConfig.js";
|
|
@@ -2,6 +2,7 @@ import { _asyncToGenerator } from "../../_virtual/_@oxc-project_runtime@0.122.0/
|
|
|
2
2
|
import useEngineContext from "../../hooks/useEngineContext.js";
|
|
3
3
|
import { useSalesSdk } from "../../plus/salesSdk/hooks/useSalesSdk.js";
|
|
4
4
|
import { getTempOrderSyncPayload, shouldApplySharedTempOrderPayload } from "../../plus/salesSdk/tempOrderSync.js";
|
|
5
|
+
import "../../plus/salesSdk/index.js";
|
|
5
6
|
import { useEffect, useRef } from "react";
|
|
6
7
|
import { useMemoizedFn } from "ahooks";
|
|
7
8
|
//#region src/components/sharedSecondaryBigSale/SharedSecondaryBigSaleReceiver.tsx
|
package/es/index.js
CHANGED
|
@@ -86,6 +86,7 @@ import { useSalesSdkProducts } from "./plus/salesSdk/hooks/useSalesSdkProducts.j
|
|
|
86
86
|
import SalesSdkDemo from "./plus/salesSdk/demo/index.js";
|
|
87
87
|
import { useSalesSdkDish } from "./plus/salesSdk/hooks/useSalesSdkDish.js";
|
|
88
88
|
import { useSyncOsModule } from "./plus/salesSdk/hooks/useSyncOsModule.js";
|
|
89
|
+
import "./plus/salesSdk/index.js";
|
|
89
90
|
import BigSaleRightActionPanel from "./components/BigSaleRightActionPanel/index.js";
|
|
90
91
|
import ResponsiveWrapper from "./components/list/ResponsiveWrapper.js";
|
|
91
92
|
import { resolveBigSaleSelectionFlowConfig } from "./components/bigSale/selectionFlowConfig.js";
|
|
@@ -139,6 +140,7 @@ import PisellVenueControlPage from "./plus/pisellReservation/PisellVenueControlP
|
|
|
139
140
|
import PisellVenueWallPage from "./plus/pisellReservation/PisellVenueWallPage.js";
|
|
140
141
|
import PisellReservationTablePage from "./plus/pisellReservation/PisellReservationTablePage.js";
|
|
141
142
|
import SelectFloorMapResourceDialog from "./plus/pisellReservation/components/SelectFloorMapResourceDialog.js";
|
|
143
|
+
import "./plus/pisellReservation/index.js";
|
|
142
144
|
import { PisellTopology, PisellTopologyCore } from "./plus/pisellTopology/PisellTopology.js";
|
|
143
145
|
import cupProject_default from "./components/ecocup/cupProject/index.js";
|
|
144
146
|
import CupList from "./components/ecocup/cupList/index.js";
|
|
@@ -280,4 +280,4 @@ function attachSelectedSettlement(item, selectedSettlement) {
|
|
|
280
280
|
});
|
|
281
281
|
}
|
|
282
282
|
//#endregion
|
|
283
|
-
export { attachSelectedSettlement, buildSettlementPriceRows, createVirtualOnlySkuDisplayProduct, formatSettlementAmount, formatSettlementSelectionTotal, formatTempOrderSettlementAmount, getSettlementKey, getSettlementOptions, hasSettlementOptions, hasSufficientVirtualCurrencyBalance, isVirtualOnlySettlementProduct, isVirtualSettlementTempOrder, resolveConfiguredUnavailableReason, resolveLegalSettlementAddOnUnitPrice, resolveSettlementOptionEntries, resolveVirtualSettlementErrorMessage, showVirtualSettlementErrorToast };
|
|
283
|
+
export { attachSelectedSettlement, buildSettlementPriceRows, createVirtualOnlySkuDisplayProduct, findFirstVirtualCurrencyAsset, formatSettlementAmount, formatSettlementSelectionTotal, formatTempOrderSettlementAmount, getReservedVirtualSettlementAmount, getSettlementKey, getSettlementOptions, hasSettlementOptions, hasSufficientVirtualCurrencyBalance, isVirtualOnlySettlementProduct, isVirtualSettlementTempOrder, resolveConfiguredUnavailableReason, resolveLegalSettlementAddOnUnitPrice, resolveSettlementOptionEntries, resolveVirtualSettlementErrorMessage, showVirtualSettlementErrorToast };
|
|
@@ -15,8 +15,11 @@ const decimal = (value) => {
|
|
|
15
15
|
const readerSurcharge = (reader) => {
|
|
16
16
|
var _ref, _ref2, _ref3, _setting$surcharge_ra, _ref4, _ref5, _setting$surcharge_fi;
|
|
17
17
|
const setting = (reader === null || reader === void 0 ? void 0 : reader.setting) || {};
|
|
18
|
-
/**
|
|
19
|
-
|
|
18
|
+
/**
|
|
19
|
+
* useOriginSurcharge 表示由卡机收取原始手续费;surcharge=false 表示商户已关闭
|
|
20
|
+
* Pisell 手续费。两种场景都不得继续使用 Reader 中可能残留的历史费率。
|
|
21
|
+
*/
|
|
22
|
+
if (setting.useOriginSurcharge || setting.surcharge === false) return {
|
|
20
23
|
rate: 0,
|
|
21
24
|
fixed: 0
|
|
22
25
|
};
|
|
@@ -61,4 +64,4 @@ const updateEftposDraftAmount = (draft, input) => {
|
|
|
61
64
|
});
|
|
62
65
|
};
|
|
63
66
|
//#endregion
|
|
64
|
-
export { updateEftposDraftAmount };
|
|
67
|
+
export { buildPaymentAmountQuote, updateEftposDraftAmount };
|
|
@@ -1,23 +1,15 @@
|
|
|
1
1
|
import { EftposProvider, PaymentMode } from "../contracts/index.js";
|
|
2
|
+
import { buildPaymentAmountQuote } from "../amount.js";
|
|
2
3
|
import React from "react";
|
|
3
4
|
import { locales } from "@pisell/utils";
|
|
4
|
-
import Decimal from "decimal.js";
|
|
5
5
|
import ChevronRight from "@pisell/icon/es/ChevronRight";
|
|
6
6
|
//#region src/plus/piPaymentOld/ui/eftpos/pages/DevicePage.tsx
|
|
7
|
-
/** 转成 Decimal。 */
|
|
8
|
-
const toDecimal = (value) => {
|
|
9
|
-
try {
|
|
10
|
-
return new Decimal(value === void 0 || value === null || value === "" ? 0 : value);
|
|
11
|
-
} catch (_error) {
|
|
12
|
-
return new Decimal(0);
|
|
13
|
-
}
|
|
14
|
-
};
|
|
15
7
|
/** 从 reader setting 计算设备列表展示金额。 */
|
|
16
8
|
const resolveReaderPay = (reader, options) => {
|
|
17
|
-
var _ref, _ref2, _ref3, _setting$surcharge_ra, _ref4, _ref5, _setting$surcharge_fi;
|
|
18
9
|
/** pay/setting 均来自不同版本后端,读取时需要保持兼容。 */
|
|
19
10
|
const pay = reader.pay;
|
|
20
|
-
|
|
11
|
+
const setting = reader.setting || {};
|
|
12
|
+
if (pay && !setting.useOriginSurcharge && setting.surcharge !== false) {
|
|
21
13
|
var _pay$surRate, _pay$surMoney, _pay$surcharge;
|
|
22
14
|
return {
|
|
23
15
|
totalUnit: String(pay.totalUnit || pay.total || ""),
|
|
@@ -26,17 +18,13 @@ const resolveReaderPay = (reader, options) => {
|
|
|
26
18
|
surcharge: String((_pay$surcharge = pay.surcharge) !== null && _pay$surcharge !== void 0 ? _pay$surcharge : "")
|
|
27
19
|
};
|
|
28
20
|
}
|
|
29
|
-
|
|
30
|
-
const
|
|
31
|
-
const rate = setting.useOriginSurcharge ? new Decimal(0) : toDecimal((_ref = (_ref2 = (_ref3 = (_setting$surcharge_ra = setting.surcharge_rate) !== null && _setting$surcharge_ra !== void 0 ? _setting$surcharge_ra : setting.surRate) !== null && _ref3 !== void 0 ? _ref3 : setting.constant_rate) !== null && _ref2 !== void 0 ? _ref2 : setting.surcharge) !== null && _ref !== void 0 ? _ref : 0);
|
|
32
|
-
const fixed = setting.useOriginSurcharge ? new Decimal(0) : toDecimal((_ref4 = (_ref5 = (_setting$surcharge_fi = setting.surcharge_fixed) !== null && _setting$surcharge_fi !== void 0 ? _setting$surcharge_fi : setting.surMoney) !== null && _ref5 !== void 0 ? _ref5 : setting.constant_money) !== null && _ref4 !== void 0 ? _ref4 : 0);
|
|
33
|
-
/** 设备卡片展示的总手续费与最终扣款额,只用于选择前的预览。 */
|
|
34
|
-
const surcharge = amount.mul(rate.div(100)).add(fixed);
|
|
21
|
+
/** 设备预览与选择 Reader 后的实际支付报价必须使用同一套金额规则。 */
|
|
22
|
+
const quote = buildPaymentAmountQuote(options === null || options === void 0 ? void 0 : options.amount, options === null || options === void 0 ? void 0 : options.surcharge, reader);
|
|
35
23
|
return {
|
|
36
|
-
totalUnit:
|
|
37
|
-
surRate:
|
|
38
|
-
surMoney:
|
|
39
|
-
surcharge:
|
|
24
|
+
totalUnit: quote.total,
|
|
25
|
+
surRate: quote.surchargeRate,
|
|
26
|
+
surMoney: quote.surchargeFixed,
|
|
27
|
+
surcharge: quote.surchargeTotal
|
|
40
28
|
};
|
|
41
29
|
};
|
|
42
30
|
/** 获取 MX51 pairing id。 */
|
|
@@ -15,8 +15,11 @@ const decimal = (value) => {
|
|
|
15
15
|
const readerSurcharge = (reader) => {
|
|
16
16
|
var _ref, _ref2, _ref3, _setting$surcharge_ra, _ref4, _ref5, _setting$surcharge_fi;
|
|
17
17
|
const setting = (reader === null || reader === void 0 ? void 0 : reader.setting) || {};
|
|
18
|
-
/**
|
|
19
|
-
|
|
18
|
+
/**
|
|
19
|
+
* useOriginSurcharge 表示由卡机收取原始手续费;surcharge=false 表示商户已关闭
|
|
20
|
+
* Pisell 手续费。两种场景都不得继续使用 Reader 中可能残留的历史费率。
|
|
21
|
+
*/
|
|
22
|
+
if (setting.useOriginSurcharge || setting.surcharge === false) return {
|
|
20
23
|
rate: 0,
|
|
21
24
|
fixed: 0
|
|
22
25
|
};
|
|
@@ -61,4 +64,4 @@ const updateEftposDraftAmount = (draft, input) => {
|
|
|
61
64
|
});
|
|
62
65
|
};
|
|
63
66
|
//#endregion
|
|
64
|
-
export { updateEftposDraftAmount };
|
|
67
|
+
export { buildPaymentAmountQuote, updateEftposDraftAmount };
|
|
@@ -1,23 +1,15 @@
|
|
|
1
1
|
import { EftposProvider, PaymentMode } from "../contracts/index.js";
|
|
2
|
+
import { buildPaymentAmountQuote } from "../amount.js";
|
|
2
3
|
import React from "react";
|
|
3
4
|
import { locales } from "@pisell/utils";
|
|
4
|
-
import Decimal from "decimal.js";
|
|
5
5
|
import ChevronRight from "@pisell/icon/es/ChevronRight";
|
|
6
6
|
//#region src/plus/piPaymentUI/eftpos/pages/DevicePage.tsx
|
|
7
|
-
/** 转成 Decimal。 */
|
|
8
|
-
const toDecimal = (value) => {
|
|
9
|
-
try {
|
|
10
|
-
return new Decimal(value === void 0 || value === null || value === "" ? 0 : value);
|
|
11
|
-
} catch (_error) {
|
|
12
|
-
return new Decimal(0);
|
|
13
|
-
}
|
|
14
|
-
};
|
|
15
7
|
/** 从 reader setting 计算设备列表展示金额。 */
|
|
16
8
|
const resolveReaderPay = (reader, options) => {
|
|
17
|
-
var _ref, _ref2, _ref3, _setting$surcharge_ra, _ref4, _ref5, _setting$surcharge_fi;
|
|
18
9
|
/** pay/setting 均来自不同版本后端,读取时需要保持兼容。 */
|
|
19
10
|
const pay = reader.pay;
|
|
20
|
-
|
|
11
|
+
const setting = reader.setting || {};
|
|
12
|
+
if (pay && !setting.useOriginSurcharge && setting.surcharge !== false) {
|
|
21
13
|
var _pay$surRate, _pay$surMoney, _pay$surcharge;
|
|
22
14
|
return {
|
|
23
15
|
totalUnit: String(pay.totalUnit || pay.total || ""),
|
|
@@ -26,17 +18,13 @@ const resolveReaderPay = (reader, options) => {
|
|
|
26
18
|
surcharge: String((_pay$surcharge = pay.surcharge) !== null && _pay$surcharge !== void 0 ? _pay$surcharge : "")
|
|
27
19
|
};
|
|
28
20
|
}
|
|
29
|
-
|
|
30
|
-
const
|
|
31
|
-
const rate = setting.useOriginSurcharge ? new Decimal(0) : toDecimal((_ref = (_ref2 = (_ref3 = (_setting$surcharge_ra = setting.surcharge_rate) !== null && _setting$surcharge_ra !== void 0 ? _setting$surcharge_ra : setting.surRate) !== null && _ref3 !== void 0 ? _ref3 : setting.constant_rate) !== null && _ref2 !== void 0 ? _ref2 : setting.surcharge) !== null && _ref !== void 0 ? _ref : 0);
|
|
32
|
-
const fixed = setting.useOriginSurcharge ? new Decimal(0) : toDecimal((_ref4 = (_ref5 = (_setting$surcharge_fi = setting.surcharge_fixed) !== null && _setting$surcharge_fi !== void 0 ? _setting$surcharge_fi : setting.surMoney) !== null && _ref5 !== void 0 ? _ref5 : setting.constant_money) !== null && _ref4 !== void 0 ? _ref4 : 0);
|
|
33
|
-
/** 设备卡片展示的总手续费与最终扣款额,只用于选择前的预览。 */
|
|
34
|
-
const surcharge = amount.mul(rate.div(100)).add(fixed);
|
|
21
|
+
/** 设备预览与选择 Reader 后的实际支付报价必须使用同一套金额规则。 */
|
|
22
|
+
const quote = buildPaymentAmountQuote(options === null || options === void 0 ? void 0 : options.amount, options === null || options === void 0 ? void 0 : options.surcharge, reader);
|
|
35
23
|
return {
|
|
36
|
-
totalUnit:
|
|
37
|
-
surRate:
|
|
38
|
-
surMoney:
|
|
39
|
-
surcharge:
|
|
24
|
+
totalUnit: quote.total,
|
|
25
|
+
surRate: quote.surchargeRate,
|
|
26
|
+
surMoney: quote.surchargeFixed,
|
|
27
|
+
surcharge: quote.surchargeTotal
|
|
40
28
|
};
|
|
41
29
|
};
|
|
42
30
|
/** 获取 MX51 pairing id。 */
|
|
@@ -259,4 +259,4 @@ function bookingListToReservationTableRows(bookings) {
|
|
|
259
259
|
return rows;
|
|
260
260
|
}
|
|
261
261
|
//#endregion
|
|
262
|
-
export { applyHostResourceShellToBaseRow, bookingListToReservationTableRows, customerBrief, extractResourceRecordIds, filterBookingsByResourceIds, hostBookingUiPatchFromRecord, mergeBookingsForResourceRecord };
|
|
262
|
+
export { applyHostResourceShellToBaseRow, bookingListToReservationTableRows, customerBrief, extractResourceRecordIds, filterBookingsByResourceIds, hostBookingStatusToCardStatus, hostBookingUiPatchFromRecord, mergeBookingsForResourceRecord };
|
|
@@ -78,4 +78,4 @@ function toastFloorPlanLoadError(err) {
|
|
|
78
78
|
PisellToast({ content: err instanceof Error ? err.message : String(err) });
|
|
79
79
|
}
|
|
80
80
|
//#endregion
|
|
81
|
-
export { PISELL_RESERVATION_FLOOR_PLAN_CODE, ensureShopFloorPlanByCode, saveViewConfigToShopFloorPlan, shopLayoutToSceneElements$1 as shopLayoutToSceneElements, toastFloorPlanLoadError, toastFloorPlanSaveError, unsubscribeShopFloorPlanCodeQuery };
|
|
81
|
+
export { PISELL_RESERVATION_FLOOR_PLAN_CODE, buildDefaultReservationFloorPlanPostBody, ensureShopFloorPlanByCode, putShopFloorPlan, saveViewConfigToShopFloorPlan, shopLayoutToSceneElements$1 as shopLayoutToSceneElements, toastFloorPlanLoadError, toastFloorPlanSaveError, unsubscribeShopFloorPlanCodeQuery };
|
|
@@ -927,4 +927,4 @@ function getReservationDataSourceFormColumns() {
|
|
|
927
927
|
];
|
|
928
928
|
}
|
|
929
929
|
//#endregion
|
|
930
|
-
export { RESERVATION_BOUND_ROUND_TABLE_ELEMENT_KIND, RESERVATION_BOUND_TABLE_ELEMENT_KIND, applyReservationFloorMapLiveLabels, defaultReservationTableRows, getDefaultReservationFloorMapConfig, getReservationDataSourceFormColumns, getReservationFloorMapShellConfig, mergeFloorMapElementKindCategoriesWithDefaults, mergeFloorMapElementKindsWithDefaults };
|
|
930
|
+
export { RESERVATION_BOUND_ROUND_TABLE_ELEMENT_KIND, RESERVATION_BOUND_TABLE_ELEMENT_KIND, applyReservationFloorMapLiveLabels, defaultReservationSceneElements, defaultReservationTableRows, getDefaultReservationFloorMapConfig, getReservationDataSourceFormColumns, getReservationFloorMapShellConfig, mergeFloorMapElementKindCategoriesWithDefaults, mergeFloorMapElementKindsWithDefaults };
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import "./serve/formResourcePage.js";
|
|
2
|
+
import "./floorRoomCard/mapRowToFloorRoomCardData.js";
|
|
3
|
+
import "./floorRoomCard/ReservationFloorRoomCard.js";
|
|
4
|
+
import "./floorMap/reservationMock.js";
|
|
5
|
+
import "./floorMap/floorPlanApi.js";
|
|
6
|
+
import "./reservationConstants.js";
|
|
7
|
+
import "./data/bookingToReservationTables.js";
|
|
8
|
+
import "./data/formResourceToReservationTables.js";
|
|
9
|
+
import "./data/salesEmbeddedResourceToTableRows.js";
|
|
10
|
+
import "./floorMap/reservationCards.js";
|
|
11
|
+
import "./PisellReservation.js";
|
|
12
|
+
import "./PisellReservationBookingPage.js";
|
|
13
|
+
import "./PisellVenueControlPage.js";
|
|
14
|
+
import "./PisellVenueWallPage.js";
|
|
15
|
+
import "./PisellReservationTablePage.js";
|
|
16
|
+
import "./components/SelectFloorMapResourceDialog.js";
|
|
17
|
+
export {};
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import { _objectSpread2 } from "../../../_virtual/_@oxc-project_runtime@0.122.0/helpers/objectSpread2.js";
|
|
2
2
|
import dayjs from "dayjs";
|
|
3
|
-
import
|
|
4
|
-
import
|
|
3
|
+
import timezone from "dayjs/plugin/timezone";
|
|
4
|
+
import utc from "dayjs/plugin/utc";
|
|
5
5
|
//#region src/plus/saasDevice/devicePasscodes/model.ts
|
|
6
|
-
dayjs.extend(
|
|
7
|
-
dayjs.extend(
|
|
6
|
+
dayjs.extend(utc);
|
|
7
|
+
dayjs.extend(timezone);
|
|
8
8
|
const INITIAL_DEVICE_PASSCODE_STATE = {
|
|
9
9
|
deviceIds: [],
|
|
10
10
|
devicesById: {}
|
|
@@ -11,6 +11,7 @@ import { useSalesSdkCart } from "../salesSdk/hooks/useSalesSdkCart.js";
|
|
|
11
11
|
import { useSalesSdkCustomer } from "../salesSdk/hooks/useSalesSdkCustomer.js";
|
|
12
12
|
import { useSalesSdkBookingContext } from "../salesSdk/context/SalesSdkBookingContext.js";
|
|
13
13
|
import { useSalesSdkSummary } from "../salesSdk/hooks/useSalesSdkSummary.js";
|
|
14
|
+
import "../salesSdk/index.js";
|
|
14
15
|
import locales_default from "./locales.js";
|
|
15
16
|
import locales_default$1 from "./components/LineItem/locales.js";
|
|
16
17
|
import { SaleOrderActionBoundary } from "./actions/index.js";
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { _objectSpread2 } from "../../../../../_virtual/_@oxc-project_runtime@0.122.0/helpers/objectSpread2.js";
|
|
2
2
|
import useEngineContext from "../../../../../hooks/useEngineContext.js";
|
|
3
3
|
import { useSalesSdkBookingContext } from "../../../../salesSdk/context/SalesSdkBookingContext.js";
|
|
4
|
+
import "../../../../salesSdk/index.js";
|
|
4
5
|
import { useMemo } from "react";
|
|
5
6
|
import { useMemoizedFn } from "ahooks";
|
|
6
7
|
//#region src/plus/saleDetail/components/Client/hooks/useClientSelectorProps.ts
|
|
@@ -10,6 +10,7 @@ import { useSalesSdk } from "../../../salesSdk/hooks/useSalesSdk.js";
|
|
|
10
10
|
import { useSalesSdkCart } from "../../../salesSdk/hooks/useSalesSdkCart.js";
|
|
11
11
|
import { useSalesSdkGlobalScanActivity } from "../../../salesSdk/context/SalesSdkGlobalScanActivityContext.js";
|
|
12
12
|
import { useSalesSdkSummary } from "../../../salesSdk/hooks/useSalesSdkSummary.js";
|
|
13
|
+
import "../../../salesSdk/index.js";
|
|
13
14
|
import { resolveSaleDetailTempOrder } from "../../utils.js";
|
|
14
15
|
import { getNumericAmount, getSalesHostModule, resolveSaleDetailOrderIdFromSales, resolveSaleDetailOrderIdFromSalesResult, shouldCloseDialogAfterCheckout, updateLocalOrder } from "./utils.js";
|
|
15
16
|
import { getRemotePrintActions, getWristbandList } from "../../serve.js";
|
|
@@ -5,6 +5,7 @@ import { isAppliedPaymentRecord } from "../../../salesSdk/utils/paymentStatus.js
|
|
|
5
5
|
import { useSalesSdk } from "../../../salesSdk/hooks/useSalesSdk.js";
|
|
6
6
|
import { useSalesSdkCart } from "../../../salesSdk/hooks/useSalesSdkCart.js";
|
|
7
7
|
import { useSalesSdkSummary } from "../../../salesSdk/hooks/useSalesSdkSummary.js";
|
|
8
|
+
import "../../../salesSdk/index.js";
|
|
8
9
|
import { resolveSaleDetailTempOrder } from "../../utils.js";
|
|
9
10
|
import React, { memo, useMemo } from "react";
|
|
10
11
|
import { formatAmount, locales } from "@pisell/utils";
|
|
@@ -4,6 +4,7 @@ import { useSalesSdk } from "../salesSdk/hooks/useSalesSdk.js";
|
|
|
4
4
|
import { SalesSdkProvider } from "../salesSdk/context/SalesSdkProvider.js";
|
|
5
5
|
import { SalesSdkDishProvider } from "../salesSdk/context/SalesSdkDishContext.js";
|
|
6
6
|
import { SalesSdkBookingContextProvider } from "../salesSdk/context/SalesSdkBookingContext.js";
|
|
7
|
+
import "../salesSdk/index.js";
|
|
7
8
|
import Base_default from "./Base.js";
|
|
8
9
|
import React, { forwardRef, useImperativeHandle } from "react";
|
|
9
10
|
//#region src/plus/saleDetail/index.tsx
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import useStableInstanceId from "../../../../../../hooks/useStableInstanceId.js";
|
|
2
2
|
import { useSalesSdkDish } from "../../../../../salesSdk/hooks/useSalesSdkDish.js";
|
|
3
3
|
import { useCurrentSalesSdkDish } from "../../../../../salesSdk/hooks/useCurrentSalesSdkDish.js";
|
|
4
|
+
import "../../../../../salesSdk/index.js";
|
|
4
5
|
import { SaleDetailStatusOverview } from "../shared/StatusOverview.js";
|
|
5
6
|
import { DishGroupView } from "./DishGroupView.js";
|
|
6
7
|
import dayjs from "dayjs";
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { _objectSpread2 } from "../../../../_virtual/_@oxc-project_runtime@0.122.0/helpers/objectSpread2.js";
|
|
2
2
|
import useEngineContext from "../../../../hooks/useEngineContext.js";
|
|
3
3
|
import { useCurrentSalesSdkDish } from "../../../salesSdk/hooks/useCurrentSalesSdkDish.js";
|
|
4
|
+
import "../../../salesSdk/index.js";
|
|
4
5
|
import { getInternalNotesByScheduleEvent } from "../../serve.js";
|
|
5
6
|
import { TEMPLATE_B_PAY_ACTIONS, TEMPLATE_B_SUMMARY_ACTIONS } from "../../components/DetailActions/configs/index.js";
|
|
6
7
|
import { DetailActions } from "../../components/DetailActions/index.js";
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
import "./hosts/createInstanceHostBridge.js";
|
|
2
|
+
import "./holderConfirm/createHolderConfirmBridge.js";
|
|
3
|
+
import "./giftSelect/createGiftSelectBridge.js";
|
|
4
|
+
import "./context/SalesSdkHostBridgesContext.js";
|
|
5
|
+
import "./utils/formatHolderOptions.js";
|
|
6
|
+
import "./utils/enrichCartLineHolderDisplay.js";
|
|
7
|
+
import "./context/SalesSdkHolderContext.js";
|
|
8
|
+
import "../multiCurrencySettlement/index.js";
|
|
9
|
+
import "./utils/appendPromotionTags.js";
|
|
10
|
+
import "./context/SalesSdkUIHostsContext.js";
|
|
11
|
+
import "./utils/runAddProductFlow.js";
|
|
12
|
+
import "./components/showAddToCartToast.js";
|
|
13
|
+
import "./utils/resolveAddProductDebounceKey.js";
|
|
14
|
+
import "./utils/productSkuOptions.js";
|
|
15
|
+
import "./utils/identity.js";
|
|
16
|
+
import "./utils/resolveInCartQuantityForAddToast.js";
|
|
17
|
+
import "./utils/addProductWithFlowDebounced.js";
|
|
18
|
+
import "./utils/customerAuthGate.js";
|
|
19
|
+
import "./utils/bookingDate.js";
|
|
20
|
+
import "./utils/holderSubmitValidation.js";
|
|
21
|
+
import "./utils/removeOrderProducts.js";
|
|
22
|
+
import "./selectors.js";
|
|
23
|
+
import "./utils/enrich.js";
|
|
24
|
+
import "./giftSelect/createOpenGiftSelectHost.js";
|
|
25
|
+
import "./utils/ensureHoldersBeforeSubmit.js";
|
|
26
|
+
import "./hooks/useSalesSdk.js";
|
|
27
|
+
import "./bookingEditService/BookingEditServiceDrawer.js";
|
|
28
|
+
import "./hosts/BookingEditHostRenderer.js";
|
|
29
|
+
import "./hosts/CustomerAuthHostRenderer.js";
|
|
30
|
+
import "./hooks/useSalesSdkCart.js";
|
|
31
|
+
import "./hooks/useSalesSdkCustomer.js";
|
|
32
|
+
import "./normalProductDetail/NormalProductDetailHostRenderer.js";
|
|
33
|
+
import "./hosts/createOpenBookingEditHost.js";
|
|
34
|
+
import "./hosts/createOpenMultiDaySelectHost.js";
|
|
35
|
+
import "./hosts/createOpenHolderSelectHost.js";
|
|
36
|
+
import "./hosts/createOpenCustomerAuthHost.js";
|
|
37
|
+
import "./demo/hosts/legacyOpenProductDetail.js";
|
|
38
|
+
import "./hosts/createCompositeOpenProductDetailHost.js";
|
|
39
|
+
import "./normalProductDetail/createOpenNormalProductDetailHost.js";
|
|
40
|
+
import "./normalProductDetail/createOpenBookingSelectionFlowHost.js";
|
|
41
|
+
import "./giftSelect/GiftSelectModal.js";
|
|
42
|
+
import "./giftSelect/GiftSelectHostRenderer.js";
|
|
43
|
+
import "./allergy/AllergySelectionModal.js";
|
|
44
|
+
import "./context/SalesSdkProvider.js";
|
|
45
|
+
import "./context/SalesSdkDishContext.js";
|
|
46
|
+
import "./context/SalesSdkBookingContext.js";
|
|
47
|
+
import "./hooks/useSalesSdkSummary.js";
|
|
48
|
+
import "./hooks/useSalesSdkProducts.js";
|
|
49
|
+
import "./demo/index.js";
|
|
50
|
+
import "./hooks/useSalesSdkDish.js";
|
|
51
|
+
import "./hooks/useCurrentSalesSdkDish.js";
|
|
52
|
+
import "./hooks/useSyncOsModule.js";
|
|
53
|
+
export {};
|
|
@@ -31,4 +31,4 @@ function subscribeBookingDateChange(bookingTicket, callback) {
|
|
|
31
31
|
return typeof off === "function" ? off : () => {};
|
|
32
32
|
}
|
|
33
33
|
//#endregion
|
|
34
|
-
export { formatBookingDateTime, subscribeBookingDateChange };
|
|
34
|
+
export { BOOKING_CONTEXT_DATE_EVENT, formatBookingDateTime, subscribeBookingDateChange };
|
|
@@ -59,4 +59,4 @@ function normalizeCustomerAuthCustomer(value) {
|
|
|
59
59
|
return null;
|
|
60
60
|
}
|
|
61
61
|
//#endregion
|
|
62
|
-
export { isValidOrderCustomerId, normalizeCustomerAuthCustomer, resolveCustomerAuthCurrentCustomerId, shouldPromptCustomerAuthForProduct };
|
|
62
|
+
export { isHolderRequiredProduct, isValidOrderCustomerId, normalizeCustomerAuthCustomer, resolveCustomerAuthCurrentCustomerId, shouldPromptCustomerAuthForProduct };
|
|
@@ -71,4 +71,4 @@ function buildHolderListRequestKey(params) {
|
|
|
71
71
|
});
|
|
72
72
|
}
|
|
73
73
|
//#endregion
|
|
74
|
-
export { buildHolderListRequestKey, buildHolderListRequestParams, enrichCartBookingHolderDisplay, resolveHolderDisplayConfig };
|
|
74
|
+
export { buildHolderListRequestKey, buildHolderListRequestParams, enrichCartBookingHolderDisplay, pickHolderIdFromBooking, resolveHolderDisplayConfig };
|
|
@@ -5,12 +5,12 @@ import React, { useCallback, useEffect, useMemo, useRef } from "react";
|
|
|
5
5
|
import { locales } from "@pisell/utils";
|
|
6
6
|
import { Button, PisellEmpty, PisellModal, PisellStatisticList, Skeleton, Timeline, usePisellConfig } from "@pisell/materials";
|
|
7
7
|
import { useRequest } from "ahooks";
|
|
8
|
-
import
|
|
9
|
-
import
|
|
8
|
+
import timezone from "dayjs/plugin/timezone";
|
|
9
|
+
import utc from "dayjs/plugin/utc";
|
|
10
10
|
import "./index.less";
|
|
11
11
|
//#region src/plus/walletPassGallery/components/timelineSection/index.tsx
|
|
12
|
-
dayjs.extend(
|
|
13
|
-
dayjs.extend(
|
|
12
|
+
dayjs.extend(timezone);
|
|
13
|
+
dayjs.extend(utc);
|
|
14
14
|
const stateTimeUnix = 1723255863;
|
|
15
15
|
const POLL_INTERVAL = 2e3;
|
|
16
16
|
const POLL_MAX_TIMES = 5;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { AuthMethodType, VerificationMethod } from "./shared/types.js";
|
|
1
|
+
import { AuthMethodType, EmailAuthConfig, EmailRegistrationVerification, LoginFormData, OAuthConfig, PhoneAuthConfig, RegisterFormData, UIConfig, VerificationMethod } from "./shared/types.js";
|
|
2
2
|
import { Login2, Login2Config, Login2Events, Login2Props } from "./Login2.js";
|
|
3
3
|
import { Register2, Register2Config, Register2Events, Register2Props } from "./Register2.js";
|
|
4
|
-
import { AuthModal
|
|
4
|
+
import { AuthModal } from "./AuthModal.js";
|
|
@@ -226,4 +226,4 @@ interface RegisterFormData {
|
|
|
226
226
|
verification_token?: string;
|
|
227
227
|
}
|
|
228
228
|
//#endregion
|
|
229
|
-
export { AuthMethodType, EmailAuthConfig, LegalTermsConfig, LoginFormData, LoginMethodItem, OAuthConfig, PhoneAuthConfig, RegisterFormData, RegistrationMethodItem, UIConfig, VerificationMethod };
|
|
229
|
+
export { AuthMethodType, EmailAuthConfig, EmailRegistrationVerification, LegalTermsConfig, LoginFormData, LoginMethodItem, OAuthConfig, PhoneAuthConfig, RegisterFormData, RegistrationMethodItem, UIConfig, VerificationMethod };
|
|
@@ -2,6 +2,15 @@ import { isAvailabilityResourceNormallySelectable } from "../availabilityModel.j
|
|
|
2
2
|
import { resolveAvailabilityStatus } from "../../../../components/eventBooking/components/bookingAvailabilityCalendar/utils.js";
|
|
3
3
|
import { resolveResourceGroupMaxSelectable } from "./resource/model.js";
|
|
4
4
|
//#region src/pro/skuDetailModal/flow/modules/autoResolution.ts
|
|
5
|
+
/**
|
|
6
|
+
* POS 首屏自动推导 Session 时只认 UBS 返回顺序中的第一场。
|
|
7
|
+
* 缺省容量沿用旧兼容语义;明确无容量时不允许走自动确认。
|
|
8
|
+
*/
|
|
9
|
+
const resolveFirstPosSessionAutoCandidate = (candidates) => {
|
|
10
|
+
const firstCandidate = candidates[0];
|
|
11
|
+
if (!firstCandidate || firstCandidate.source !== "session_schedule" || firstCandidate.status !== "available" && firstCandidate.status !== "limited" || typeof firstCandidate.maxPartySize === "number" && firstCandidate.maxPartySize <= 0) return;
|
|
12
|
+
return firstCandidate;
|
|
13
|
+
};
|
|
5
14
|
const findFirstNormallyAvailableDate = (items) => items.find((item) => {
|
|
6
15
|
const status = resolveAvailabilityStatus(item) || "unavailable";
|
|
7
16
|
return status === "available" || status === "limited";
|
|
@@ -18,13 +27,20 @@ const validateAvailabilityDateAutoResolution = (context, module) => {
|
|
|
18
27
|
return startDate.isSame(endDate, "day") && (status === "available" || status === "limited");
|
|
19
28
|
};
|
|
20
29
|
const validateAvailabilityTimeAutoResolution = (context, module) => {
|
|
21
|
-
var _module$options2, _context$
|
|
30
|
+
var _module$options2, _context$draft$bookin, _context$services$isP, _context$services, _context$services$isP2, _context$services2;
|
|
22
31
|
if (((_module$options2 = module.options) === null || _module$options2 === void 0 ? void 0 : _module$options2.mode) !== "availability" || !context.services.availability) return false;
|
|
23
|
-
const
|
|
32
|
+
const data = context.getModuleData(module.key);
|
|
33
|
+
const candidate = data === null || data === void 0 ? void 0 : data.selectedCandidate;
|
|
24
34
|
const duration = context.draft.booking.duration;
|
|
25
35
|
if (!candidate || !context.draft.booking.startTime || !(typeof duration === "number" && duration > 0 || typeof duration === "string" && duration.length > 0) || String(((_context$draft$bookin = context.draft.booking.selectedCandidate) === null || _context$draft$bookin === void 0 ? void 0 : _context$draft$bookin.key) || "") !== String(candidate.key)) return false;
|
|
36
|
+
if (((_context$services$isP = (_context$services = context.services).isPosAutoResolutionActive) === null || _context$services$isP === void 0 ? void 0 : _context$services$isP.call(_context$services)) === true && (data === null || data === void 0 ? void 0 : data.posCustomTimeSelectionIntent) === "fallback") return false;
|
|
26
37
|
if (candidate.status !== "available" && candidate.status !== "limited") return false;
|
|
27
38
|
if (typeof candidate.maxPartySize === "number" && candidate.maxPartySize <= 0) return false;
|
|
39
|
+
if (((_context$services$isP2 = (_context$services2 = context.services).isPosAutoResolutionActive) === null || _context$services$isP2 === void 0 ? void 0 : _context$services$isP2.call(_context$services2)) === true && candidate.source === "session_schedule") {
|
|
40
|
+
var _data$timeSlots;
|
|
41
|
+
const firstCandidate = data === null || data === void 0 || (_data$timeSlots = data.timeSlots) === null || _data$timeSlots === void 0 || (_data$timeSlots = _data$timeSlots[0]) === null || _data$timeSlots === void 0 ? void 0 : _data$timeSlots.candidate;
|
|
42
|
+
if (!firstCandidate || resolveFirstPosSessionAutoCandidate([firstCandidate]) !== candidate) return false;
|
|
43
|
+
}
|
|
28
44
|
return context.steps.some((step) => step.modules.some((item) => item.type === "resource")) || Boolean(context.draft.booking.commitCandidate);
|
|
29
45
|
};
|
|
30
46
|
const validateAvailabilityResourceAutoResolution = (context, module) => {
|
|
@@ -60,4 +76,4 @@ const getDefaultCustomCapacitySelection = (capacityConfig) => (capacityConfig ==
|
|
|
60
76
|
})) : [];
|
|
61
77
|
const isHolderAutoResolved = ({ required, holderIds, quantity }) => !required || holderIds.length === quantity;
|
|
62
78
|
//#endregion
|
|
63
|
-
export { findFirstNormallyAvailableDate, getDefaultCustomCapacitySelection, isCapacityAutoResolved, isHolderAutoResolved, validateAvailabilityDateAutoResolution, validateAvailabilityResourceAutoResolution, validateAvailabilityTimeAutoResolution };
|
|
79
|
+
export { findFirstNormallyAvailableDate, getDefaultCustomCapacitySelection, isCapacityAutoResolved, isHolderAutoResolved, resolveFirstPosSessionAutoCandidate, validateAvailabilityDateAutoResolution, validateAvailabilityResourceAutoResolution, validateAvailabilityTimeAutoResolution };
|