@pisell/private-materials 6.12.365 → 6.12.366
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 +1 -1
- package/build/lowcode/view.js +1 -1
- package/es/components/bigSale/hooks/useBigSaleProductListConfig.js +0 -1
- package/es/components/bigSale/templates/Kiosk/index.js +52 -30
- package/es/components/ticketBooking/components/addServiceVariant/addService.js +0 -1
- package/es/plus/salesSdk/types.d.ts +2 -0
- package/lib/components/bigSale/templates/Kiosk/index.js +52 -30
- package/lib/plus/salesSdk/types.d.ts +2 -0
- package/package.json +4 -4
- package/es/components/ticketBooking/components/ProductDisplayAdapter/index.js +0 -3
|
@@ -2,7 +2,6 @@ import { _objectSpread2 } from "../../../_virtual/_@oxc-project_runtime@0.122.0/
|
|
|
2
2
|
import { _objectWithoutProperties } from "../../../_virtual/_@oxc-project_runtime@0.122.0/helpers/objectWithoutProperties.js";
|
|
3
3
|
import { generateProductTabs, sortProductsByTabOrder } from "../../ticketBooking/components/ProductDisplayAdapter/utils.js";
|
|
4
4
|
import { ProductDisplayPresets } from "../../ticketBooking/components/ProductDisplayAdapter/types.js";
|
|
5
|
-
import "../../ticketBooking/components/ProductDisplayAdapter/index.js";
|
|
6
5
|
import { mergeBigSaleProductListPreferences } from "../utils/productListPreferences.js";
|
|
7
6
|
import { useMemo, useRef } from "react";
|
|
8
7
|
import isEqual from "lodash/isEqual";
|
|
@@ -34,6 +34,7 @@ import { resolveKioskDeferredSubmission } from "./deferredCheckout.js";
|
|
|
34
34
|
import React, { useCallback, useEffect, useMemo, useRef, useState } from "react";
|
|
35
35
|
import { Alert, Button, Modal, Spin } from "antd";
|
|
36
36
|
import { locales } from "@pisell/utils";
|
|
37
|
+
import { useToast } from "@pisell/materials";
|
|
37
38
|
import { ArrowLeftOutlined, CheckCircleFilled, PercentageOutlined } from "@ant-design/icons";
|
|
38
39
|
import "./index.less";
|
|
39
40
|
//#region src/components/bigSale/templates/Kiosk/index.tsx
|
|
@@ -231,6 +232,7 @@ function createKioskLoginContinuationHandler(options) {
|
|
|
231
232
|
function KioskBigSaleTemplate({ isActive = true, osKey, productListPreferencesChannel, context, mode, variant, kioskShellLayout = "single-screen", productLoadParams, businessCode, productDisplayConfig, productCatalogSessionKey, orderId, saleDetailModuleConfig, locale, onOrderComplete }) {
|
|
232
233
|
var _context$sales$bookin, _engineContext$appHel, _utils$getApp, _engineContext$appHel2;
|
|
233
234
|
locales.init(locales_default, locale || "en");
|
|
235
|
+
const Toast = useToast();
|
|
234
236
|
const engineContext = useEngineContext();
|
|
235
237
|
const enginePlatform = usePlatform();
|
|
236
238
|
const businessAvailability = useSalesSdkBusinessAvailability();
|
|
@@ -642,8 +644,24 @@ function KioskBigSaleTemplate({ isActive = true, osKey, productListPreferencesCh
|
|
|
642
644
|
}));
|
|
643
645
|
setView("failure");
|
|
644
646
|
};
|
|
647
|
+
const ensureRequiredProducts = function() {
|
|
648
|
+
var _ref5 = _asyncToGenerator(function* () {
|
|
649
|
+
const bookingTicket = context.sales.bookingTicket;
|
|
650
|
+
try {
|
|
651
|
+
if (bookingTicket === null || bookingTicket === void 0 ? void 0 : bookingTicket.validateRequiredProducts) yield bookingTicket.validateRequiredProducts();
|
|
652
|
+
return true;
|
|
653
|
+
} catch (error) {
|
|
654
|
+
Toast.info(error instanceof Error ? error.message : String(error));
|
|
655
|
+
setNavigableView("cart");
|
|
656
|
+
return false;
|
|
657
|
+
}
|
|
658
|
+
});
|
|
659
|
+
return function ensureRequiredProducts() {
|
|
660
|
+
return _ref5.apply(this, arguments);
|
|
661
|
+
};
|
|
662
|
+
}();
|
|
645
663
|
const performCheckout = function() {
|
|
646
|
-
var
|
|
664
|
+
var _ref23 = _asyncToGenerator(function* () {
|
|
647
665
|
if (checkoutOpeningRef.current || !shouldUseFulfillmentCheckout && isPickupTimingPending || cartItemCount === 0) return;
|
|
648
666
|
checkoutOpeningRef.current = true;
|
|
649
667
|
const openingScope = fulfillmentCheckout.captureScope();
|
|
@@ -652,18 +670,22 @@ function KioskBigSaleTemplate({ isActive = true, osKey, productListPreferencesCh
|
|
|
652
670
|
return isActiveRef.current && currentScope.handle === openingScope.handle && currentScope.scopeKey === openingScope.scopeKey && currentScope.identity === openingScope.identity;
|
|
653
671
|
};
|
|
654
672
|
const checkoutSubmitOptions = _objectSpread2(_objectSpread2({}, KIOSK_CHECKOUT_SUBMIT_OPTIONS), {}, { beforeSubmit: function() {
|
|
655
|
-
var
|
|
673
|
+
var _ref6 = _asyncToGenerator(function* () {
|
|
674
|
+
if (!isCurrentCheckoutRequest() || !(yield ensureRequiredProducts())) return false;
|
|
656
675
|
return isCurrentCheckoutRequest() && (yield businessAvailability.beginCheckout());
|
|
657
676
|
});
|
|
658
677
|
return function beforeSubmit() {
|
|
659
|
-
return
|
|
678
|
+
return _ref6.apply(this, arguments);
|
|
660
679
|
};
|
|
661
680
|
}() });
|
|
662
681
|
let deferredAttempt = false;
|
|
663
682
|
setIsCheckoutLoading(true);
|
|
664
683
|
try {
|
|
665
|
-
var
|
|
684
|
+
var _ref7, _context$sales$bookin6, _context$sales$bookin7, _context$sales$bookin8, _ref15, _context$sales$bookin13, _context$sales$bookin14, _context$sales$bookin15, _ref16, _ref17, _result$payload$payme, _result$payload, _result$data6;
|
|
666
685
|
if (!(yield businessAvailability.ensureCanShop())) return;
|
|
686
|
+
yield context.cart.waitForCartConsistency();
|
|
687
|
+
if (!isCurrentCheckoutRequest() || !(yield ensureRequiredProducts())) return;
|
|
688
|
+
if (!isCurrentCheckoutRequest()) return;
|
|
667
689
|
yield new Promise((resolve) => setTimeout(resolve, 0));
|
|
668
690
|
setPickupTimingError(void 0);
|
|
669
691
|
try {
|
|
@@ -687,7 +709,7 @@ function KioskBigSaleTemplate({ isActive = true, osKey, productListPreferencesCh
|
|
|
687
709
|
}
|
|
688
710
|
if (context.sales.contactInfo && !(yield context.sales.contactInfo.ensureComplete())) return;
|
|
689
711
|
if (!isCurrentCheckoutRequest()) return;
|
|
690
|
-
const liveTempOrder = (
|
|
712
|
+
const liveTempOrder = (_ref7 = (_context$sales$bookin6 = (_context$sales$bookin7 = context.sales.bookingTicket) === null || _context$sales$bookin7 === void 0 || (_context$sales$bookin8 = _context$sales$bookin7.getTempOrder) === null || _context$sales$bookin8 === void 0 ? void 0 : _context$sales$bookin8.call(_context$sales$bookin7)) !== null && _context$sales$bookin6 !== void 0 ? _context$sales$bookin6 : context.sales.tempOrder) !== null && _ref7 !== void 0 ? _ref7 : null;
|
|
691
713
|
if (businessAvailability.enabled && !businessAvailability.requirePaymentOnSubmit) {
|
|
692
714
|
deferredAttempt = true;
|
|
693
715
|
setSubmissionError(null);
|
|
@@ -696,8 +718,8 @@ function KioskBigSaleTemplate({ isActive = true, osKey, productListPreferencesCh
|
|
|
696
718
|
if (!isCurrentCheckoutRequest()) return;
|
|
697
719
|
const submitted = resolveKioskDeferredSubmission(result, liveTempOrder);
|
|
698
720
|
if (!submitted) {
|
|
699
|
-
var
|
|
700
|
-
throw new Error(String((
|
|
721
|
+
var _ref8, _ref9, _result$message, _result$data;
|
|
722
|
+
throw new Error(String((_ref8 = (_ref9 = (_result$message = result === null || result === void 0 ? void 0 : result.message) !== null && _result$message !== void 0 ? _result$message : result === null || result === void 0 ? void 0 : result.msg) !== null && _ref9 !== void 0 ? _ref9 : result === null || result === void 0 || (_result$data = result.data) === null || _result$data === void 0 ? void 0 : _result$data.message) !== null && _ref8 !== void 0 ? _ref8 : locales.getText("pisell2.big-sale.kiosk.submit-failure")));
|
|
701
723
|
}
|
|
702
724
|
if (platform === "pc" || platform === "h5" || shouldUseConsumerPayment) {
|
|
703
725
|
var _utils$history, _app$history3;
|
|
@@ -726,12 +748,12 @@ function KioskBigSaleTemplate({ isActive = true, osKey, productListPreferencesCh
|
|
|
726
748
|
return;
|
|
727
749
|
}
|
|
728
750
|
if (shouldUseConsumerPayment && context.sales.enableMultiCurrencySettlement && isVirtualSettlementTempOrder(liveTempOrder)) {
|
|
729
|
-
var
|
|
751
|
+
var _ref12, _ref13, _ref14, _result$data$total_am, _result$data3, _result$data4, _liveTempOrder$summar, _context$summary$summ, _context$sales$bookin11, _context$sales$bookin12, _utils$history2, _app$history4;
|
|
730
752
|
yield context.cart.waitForCartConsistency();
|
|
731
753
|
const result = yield context.cart.submit(void 0, checkoutSubmitOptions);
|
|
732
754
|
if (!isSalesOrderSubmitSuccess(result)) {
|
|
733
|
-
var
|
|
734
|
-
showCheckoutFailure(String((
|
|
755
|
+
var _ref10, _ref11, _result$message2, _result$data2;
|
|
756
|
+
showCheckoutFailure(String((_ref10 = (_ref11 = (_result$message2 = result === null || result === void 0 ? void 0 : result.message) !== null && _result$message2 !== void 0 ? _result$message2 : result === null || result === void 0 ? void 0 : result.msg) !== null && _ref11 !== void 0 ? _ref11 : result === null || result === void 0 || (_result$data2 = result.data) === null || _result$data2 === void 0 ? void 0 : _result$data2.message) !== null && _ref10 !== void 0 ? _ref10 : locales.getText("pisell2.big-sale.kiosk.payment-failure-description")));
|
|
735
757
|
return;
|
|
736
758
|
}
|
|
737
759
|
const orderId = resolveSaleDetailOrderIdFromSalesResult(context.sales, result);
|
|
@@ -739,7 +761,7 @@ function KioskBigSaleTemplate({ isActive = true, osKey, productListPreferencesCh
|
|
|
739
761
|
showCheckoutFailure(String(locales.getText("pisell2.big-sale.kiosk.payment-failure-description")));
|
|
740
762
|
return;
|
|
741
763
|
}
|
|
742
|
-
const totalAmount = (
|
|
764
|
+
const totalAmount = (_ref12 = (_ref13 = (_ref14 = (_result$data$total_am = result === null || result === void 0 || (_result$data3 = result.data) === null || _result$data3 === void 0 ? void 0 : _result$data3.total_amount) !== null && _result$data$total_am !== void 0 ? _result$data$total_am : result === null || result === void 0 || (_result$data4 = result.data) === null || _result$data4 === void 0 ? void 0 : _result$data4.expect_amount) !== null && _ref14 !== void 0 ? _ref14 : liveTempOrder === null || liveTempOrder === void 0 || (_liveTempOrder$summar = liveTempOrder.summary) === null || _liveTempOrder$summar === void 0 ? void 0 : _liveTempOrder$summar.total_amount) !== null && _ref13 !== void 0 ? _ref13 : (_context$summary$summ = context.summary.summary) === null || _context$summary$summ === void 0 ? void 0 : _context$summary$summ.total_amount) !== null && _ref12 !== void 0 ? _ref12 : 0;
|
|
743
765
|
yield context.sales.clearCartAndReset();
|
|
744
766
|
(_context$sales$bookin11 = context.sales.bookingTicket) === null || _context$sales$bookin11 === void 0 || (_context$sales$bookin12 = _context$sales$bookin11.clearSessionStorageOrderSnapshot) === null || _context$sales$bookin12 === void 0 || _context$sales$bookin12.call(_context$sales$bookin11);
|
|
745
767
|
persistKioskSessionView(context.sales.bookingTicket, "catalog");
|
|
@@ -750,8 +772,8 @@ function KioskBigSaleTemplate({ isActive = true, osKey, productListPreferencesCh
|
|
|
750
772
|
return;
|
|
751
773
|
}
|
|
752
774
|
yield context.cart.waitForCartConsistency();
|
|
753
|
-
const currentTempOrder = (
|
|
754
|
-
const currentSummary = (
|
|
775
|
+
const currentTempOrder = (_ref15 = (_context$sales$bookin13 = (_context$sales$bookin14 = context.sales.bookingTicket) === null || _context$sales$bookin14 === void 0 || (_context$sales$bookin15 = _context$sales$bookin14.getTempOrder) === null || _context$sales$bookin15 === void 0 ? void 0 : _context$sales$bookin15.call(_context$sales$bookin14)) !== null && _context$sales$bookin13 !== void 0 ? _context$sales$bookin13 : context.sales.tempOrder) !== null && _ref15 !== void 0 ? _ref15 : null;
|
|
776
|
+
const currentSummary = (_ref16 = (_ref17 = context.summary.summary) !== null && _ref17 !== void 0 ? _ref17 : currentTempOrder === null || currentTempOrder === void 0 ? void 0 : currentTempOrder.summary) !== null && _ref16 !== void 0 ? _ref16 : null;
|
|
755
777
|
const shouldCompleteNoPaymentInPage = isKioskPlatformZeroAmountCheckout(platform, currentSummary);
|
|
756
778
|
if (shouldUseConsumerPayment && !shouldCompleteNoPaymentInPage && typeof utils.action !== "function") throw new Error("[KioskBigSale] appHelper.utils.action is not available.");
|
|
757
779
|
if (shouldSubmitKioskOrderBeforeCheckout({
|
|
@@ -759,7 +781,7 @@ function KioskBigSaleTemplate({ isActive = true, osKey, productListPreferencesCh
|
|
|
759
781
|
summary: currentSummary,
|
|
760
782
|
shouldUseConsumerPayment
|
|
761
783
|
})) {
|
|
762
|
-
var _context$sales$bookin16, _context$sales$bookin17,
|
|
784
|
+
var _context$sales$bookin16, _context$sales$bookin17, _ref20, _context$sales$bookin18, _context$sales$bookin19, _context$sales$bookin20;
|
|
763
785
|
const walletAssetsState = (_context$sales$bookin16 = context.sales.bookingTicket) === null || _context$sales$bookin16 === void 0 || (_context$sales$bookin17 = _context$sales$bookin16.getWalletAssetsState) === null || _context$sales$bookin17 === void 0 ? void 0 : _context$sales$bookin17.call(_context$sales$bookin16);
|
|
764
786
|
const deferredWalletPaymentPlan = resolveKioskDeferredWalletPaymentPlan({
|
|
765
787
|
platform,
|
|
@@ -772,8 +794,8 @@ function KioskBigSaleTemplate({ isActive = true, osKey, productListPreferencesCh
|
|
|
772
794
|
if (shouldCompleteNoPaymentInPage) publishKioskCollaborationPreviewStatus(app, "checkout");
|
|
773
795
|
const result = yield context.cart.submit(submitParams, checkoutSubmitOptions);
|
|
774
796
|
if (!isSalesOrderSubmitSuccess(result)) {
|
|
775
|
-
var
|
|
776
|
-
showCheckoutFailure(String((
|
|
797
|
+
var _ref18, _ref19, _result$message3, _result$data5;
|
|
798
|
+
showCheckoutFailure(String((_ref18 = (_ref19 = (_result$message3 = result === null || result === void 0 ? void 0 : result.message) !== null && _result$message3 !== void 0 ? _result$message3 : result === null || result === void 0 ? void 0 : result.msg) !== null && _ref19 !== void 0 ? _ref19 : result === null || result === void 0 || (_result$data5 = result.data) === null || _result$data5 === void 0 ? void 0 : _result$data5.message) !== null && _ref18 !== void 0 ? _ref18 : locales.getText("pisell2.big-sale.kiosk.payment-failure-description")));
|
|
777
799
|
return;
|
|
778
800
|
}
|
|
779
801
|
const orderId = resolveSaleDetailOrderIdFromSalesResult(context.sales, result);
|
|
@@ -781,10 +803,10 @@ function KioskBigSaleTemplate({ isActive = true, osKey, productListPreferencesCh
|
|
|
781
803
|
showCheckoutFailure(String(locales.getText("pisell2.big-sale.kiosk.payment-failure-description")));
|
|
782
804
|
return;
|
|
783
805
|
}
|
|
784
|
-
const tempOrder = (
|
|
806
|
+
const tempOrder = (_ref20 = (_context$sales$bookin18 = (_context$sales$bookin19 = context.sales.bookingTicket) === null || _context$sales$bookin19 === void 0 || (_context$sales$bookin20 = _context$sales$bookin19.getTempOrder) === null || _context$sales$bookin20 === void 0 ? void 0 : _context$sales$bookin20.call(_context$sales$bookin19)) !== null && _context$sales$bookin18 !== void 0 ? _context$sales$bookin18 : context.sales.tempOrder) !== null && _ref20 !== void 0 ? _ref20 : null;
|
|
785
807
|
const totalAmount = resolveKioskSubmittedPayableAmount(result, tempOrder === null || tempOrder === void 0 ? void 0 : tempOrder.summary, context.summary.summary);
|
|
786
808
|
if (shouldCompleteNoPaymentInPage) {
|
|
787
|
-
var
|
|
809
|
+
var _ref21;
|
|
788
810
|
const validation = validateKioskNoPaymentSubmitResult({
|
|
789
811
|
result,
|
|
790
812
|
orderId,
|
|
@@ -796,7 +818,7 @@ function KioskBigSaleTemplate({ isActive = true, osKey, productListPreferencesCh
|
|
|
796
818
|
return;
|
|
797
819
|
}
|
|
798
820
|
setPaymentResult(resolveKioskNoPaymentResultViewModel({
|
|
799
|
-
summary: (
|
|
821
|
+
summary: (_ref21 = tempOrder === null || tempOrder === void 0 ? void 0 : tempOrder.summary) !== null && _ref21 !== void 0 ? _ref21 : currentSummary,
|
|
800
822
|
currencySymbol: (tempOrder === null || tempOrder === void 0 ? void 0 : tempOrder.currency_symbol) || "$"
|
|
801
823
|
}));
|
|
802
824
|
persistKioskSessionView(context.sales.bookingTicket, "catalog");
|
|
@@ -868,8 +890,8 @@ function KioskBigSaleTemplate({ isActive = true, osKey, productListPreferencesCh
|
|
|
868
890
|
if (nextPaymentResult.status !== "failed") persistKioskSessionView(context.sales.bookingTicket, "catalog");
|
|
869
891
|
setView(nextPaymentResult.status === "failed" ? "failure" : "success");
|
|
870
892
|
} else if ((result === null || result === void 0 ? void 0 : result.type) === "error" || (result === null || result === void 0 ? void 0 : result.status) === "failed") {
|
|
871
|
-
var
|
|
872
|
-
showCheckoutFailure((
|
|
893
|
+
var _ref22, _result$error, _result$payload2;
|
|
894
|
+
showCheckoutFailure((_ref22 = (_result$error = result === null || result === void 0 ? void 0 : result.error) !== null && _result$error !== void 0 ? _result$error : result === null || result === void 0 || (_result$payload2 = result.payload) === null || _result$payload2 === void 0 ? void 0 : _result$payload2.message) !== null && _ref22 !== void 0 ? _ref22 : locales.getText("pisell2.big-sale.kiosk.payment-failure-description"));
|
|
873
895
|
}
|
|
874
896
|
if (shouldCloseDialogAfterCheckout(result)) {
|
|
875
897
|
var _result$data7;
|
|
@@ -901,7 +923,7 @@ function KioskBigSaleTemplate({ isActive = true, osKey, productListPreferencesCh
|
|
|
901
923
|
}
|
|
902
924
|
});
|
|
903
925
|
return function performCheckout() {
|
|
904
|
-
return
|
|
926
|
+
return _ref23.apply(this, arguments);
|
|
905
927
|
};
|
|
906
928
|
}();
|
|
907
929
|
const hasSelectedCustomerVoucher = () => {
|
|
@@ -910,22 +932,22 @@ function KioskBigSaleTemplate({ isActive = true, osKey, productListPreferencesCh
|
|
|
910
932
|
return (runtimeDiscountList.length > 0 ? runtimeDiscountList : context.cart.discountList || []).some((discount) => isCustomerVoucher(discount) && Boolean(discount === null || discount === void 0 ? void 0 : discount.isSelected));
|
|
911
933
|
};
|
|
912
934
|
const hasAppliedWalletAsset = () => {
|
|
913
|
-
var _context$sales$bookin23, _context$sales$bookin24, _walletAssetsState$se, _walletAssetsState$se2, _walletAssetsState$se3, _walletAssetsState$se4, _walletAssetsState$co, _walletAssetsState$co2,
|
|
935
|
+
var _context$sales$bookin23, _context$sales$bookin24, _walletAssetsState$se, _walletAssetsState$se2, _walletAssetsState$se3, _walletAssetsState$se4, _walletAssetsState$co, _walletAssetsState$co2, _ref24, _context$sales$bookin25, _context$sales$bookin26, _context$sales$bookin27;
|
|
914
936
|
const walletAssetsState = (_context$sales$bookin23 = context.sales.bookingTicket) === null || _context$sales$bookin23 === void 0 || (_context$sales$bookin24 = _context$sales$bookin23.getWalletAssetsState) === null || _context$sales$bookin24 === void 0 ? void 0 : _context$sales$bookin24.call(_context$sales$bookin23);
|
|
915
937
|
if (((_walletAssetsState$se = walletAssetsState === null || walletAssetsState === void 0 || (_walletAssetsState$se2 = walletAssetsState.selectedIds) === null || _walletAssetsState$se2 === void 0 ? void 0 : _walletAssetsState$se2.length) !== null && _walletAssetsState$se !== void 0 ? _walletAssetsState$se : 0) > 0 || ((_walletAssetsState$se3 = walletAssetsState === null || walletAssetsState === void 0 || (_walletAssetsState$se4 = walletAssetsState.selectedItems) === null || _walletAssetsState$se4 === void 0 ? void 0 : _walletAssetsState$se4.length) !== null && _walletAssetsState$se3 !== void 0 ? _walletAssetsState$se3 : 0) > 0 || ((_walletAssetsState$co = walletAssetsState === null || walletAssetsState === void 0 || (_walletAssetsState$co2 = walletAssetsState.committedIds) === null || _walletAssetsState$co2 === void 0 ? void 0 : _walletAssetsState$co2.length) !== null && _walletAssetsState$co !== void 0 ? _walletAssetsState$co : 0) > 0) return true;
|
|
916
|
-
const tempOrder = (
|
|
938
|
+
const tempOrder = (_ref24 = (_context$sales$bookin25 = (_context$sales$bookin26 = context.sales.bookingTicket) === null || _context$sales$bookin26 === void 0 || (_context$sales$bookin27 = _context$sales$bookin26.getTempOrder) === null || _context$sales$bookin27 === void 0 ? void 0 : _context$sales$bookin27.call(_context$sales$bookin26)) !== null && _context$sales$bookin25 !== void 0 ? _context$sales$bookin25 : context.sales.tempOrder) !== null && _ref24 !== void 0 ? _ref24 : null;
|
|
917
939
|
return ((tempOrder === null || tempOrder === void 0 ? void 0 : tempOrder.payments) || []).some((payment) => {
|
|
918
940
|
const voucherId = payment === null || payment === void 0 ? void 0 : payment.voucher_id;
|
|
919
941
|
return voucherId !== void 0 && voucherId !== null && String(voucherId).trim() !== "" && Number(voucherId) !== 0;
|
|
920
942
|
});
|
|
921
943
|
};
|
|
922
944
|
const continueCheckout = () => {
|
|
923
|
-
var
|
|
945
|
+
var _ref25, _context$sales$bookin28, _context$sales$bookin29, _context$sales$bookin30;
|
|
924
946
|
if (businessAvailability.enabled && !businessAvailability.requirePaymentOnSubmit) {
|
|
925
947
|
performCheckout();
|
|
926
948
|
return;
|
|
927
949
|
}
|
|
928
|
-
const liveTempOrder = (
|
|
950
|
+
const liveTempOrder = (_ref25 = (_context$sales$bookin28 = (_context$sales$bookin29 = context.sales.bookingTicket) === null || _context$sales$bookin29 === void 0 || (_context$sales$bookin30 = _context$sales$bookin29.getTempOrder) === null || _context$sales$bookin30 === void 0 ? void 0 : _context$sales$bookin30.call(_context$sales$bookin29)) !== null && _context$sales$bookin28 !== void 0 ? _context$sales$bookin28 : context.sales.tempOrder) !== null && _ref25 !== void 0 ? _ref25 : null;
|
|
929
951
|
if (context.sales.enableMultiCurrencySettlement && isVirtualSettlementTempOrder(liveTempOrder)) {
|
|
930
952
|
performCheckout();
|
|
931
953
|
return;
|
|
@@ -939,7 +961,7 @@ function KioskBigSaleTemplate({ isActive = true, osKey, productListPreferencesCh
|
|
|
939
961
|
setIsVoucherReminderOpen(true);
|
|
940
962
|
};
|
|
941
963
|
const beginCheckoutWithFulfillment = function() {
|
|
942
|
-
var
|
|
964
|
+
var _ref26 = _asyncToGenerator(function* () {
|
|
943
965
|
if (!(yield businessAvailability.ensureCanShop())) return;
|
|
944
966
|
if (!shouldUseFulfillmentCheckout) {
|
|
945
967
|
continueCheckout();
|
|
@@ -958,11 +980,11 @@ function KioskBigSaleTemplate({ isActive = true, osKey, productListPreferencesCh
|
|
|
958
980
|
}
|
|
959
981
|
});
|
|
960
982
|
return function beginCheckoutWithFulfillment() {
|
|
961
|
-
return
|
|
983
|
+
return _ref26.apply(this, arguments);
|
|
962
984
|
};
|
|
963
985
|
}();
|
|
964
986
|
const handleCheckout = function() {
|
|
965
|
-
var
|
|
987
|
+
var _ref27 = _asyncToGenerator(function* () {
|
|
966
988
|
if (checkoutEntryOpeningRef.current || checkoutOpeningRef.current || checkoutLoginOpeningRef.current || fulfillmentOpeningRef.current) return;
|
|
967
989
|
checkoutEntryOpeningRef.current = true;
|
|
968
990
|
try {
|
|
@@ -1040,7 +1062,7 @@ function KioskBigSaleTemplate({ isActive = true, osKey, productListPreferencesCh
|
|
|
1040
1062
|
}
|
|
1041
1063
|
});
|
|
1042
1064
|
return function handleCheckout() {
|
|
1043
|
-
return
|
|
1065
|
+
return _ref27.apply(this, arguments);
|
|
1044
1066
|
};
|
|
1045
1067
|
}();
|
|
1046
1068
|
const handleUseVoucherBeforeCheckout = () => {
|
|
@@ -19,7 +19,6 @@ import { useProducts } from "../../hooks/pisellos/useProducts.js";
|
|
|
19
19
|
import { useService } from "../../../booking/info/service/serviceManager/index.js";
|
|
20
20
|
import ProductDisplayAdapter_default from "../ProductDisplayAdapter/ProductDisplayAdapter.js";
|
|
21
21
|
import { resolveProductDisplayConfig } from "../ProductDisplayAdapter/types.js";
|
|
22
|
-
import "../ProductDisplayAdapter/index.js";
|
|
23
22
|
import notAvailable_default from "../notAvailable/index.js";
|
|
24
23
|
import MultiDayTimeSelectModal from "./MultiDayTimeSelectModal.js";
|
|
25
24
|
import dayjs from "dayjs";
|
|
@@ -1080,6 +1080,8 @@ interface BookingTicketHandle extends PickupTimingHandle {
|
|
|
1080
1080
|
getOpenData?: () => Promise<Record<string, any> | null>;
|
|
1081
1081
|
getContactInfoConfig?: () => Promise<SalesContactInfoConfig>;
|
|
1082
1082
|
validateContactInfo?: () => Promise<void>;
|
|
1083
|
+
/** Online venue-ticket checkout: reject missing configured required products. */
|
|
1084
|
+
validateRequiredProducts?: () => Promise<void>;
|
|
1083
1085
|
/** 写入当前临时订单根字段 tempOrder.buzzer。 */
|
|
1084
1086
|
setPickupRef?: (buzzer: string) => string;
|
|
1085
1087
|
/** 将自助点餐固定为柜台取餐。 */
|
|
@@ -36,6 +36,7 @@ let react = require("react");
|
|
|
36
36
|
react = require_runtime.__toESM(react);
|
|
37
37
|
let antd = require("antd");
|
|
38
38
|
let _pisell_utils = require("@pisell/utils");
|
|
39
|
+
let _pisell_materials = require("@pisell/materials");
|
|
39
40
|
let _ant_design_icons = require("@ant-design/icons");
|
|
40
41
|
require("./index.less");
|
|
41
42
|
//#region src/components/bigSale/templates/Kiosk/index.tsx
|
|
@@ -233,6 +234,7 @@ function createKioskLoginContinuationHandler(options) {
|
|
|
233
234
|
function KioskBigSaleTemplate({ isActive = true, osKey, productListPreferencesChannel, context, mode, variant, kioskShellLayout = "single-screen", productLoadParams, businessCode, productDisplayConfig, productCatalogSessionKey, orderId, saleDetailModuleConfig, locale, onOrderComplete }) {
|
|
234
235
|
var _context$sales$bookin, _engineContext$appHel, _utils$getApp, _engineContext$appHel2;
|
|
235
236
|
_pisell_utils.locales.init(require_index$2.default, locale || "en");
|
|
237
|
+
const Toast = (0, _pisell_materials.useToast)();
|
|
236
238
|
const engineContext = require_useEngineContext.default();
|
|
237
239
|
const enginePlatform = require_useEngineContext.usePlatform();
|
|
238
240
|
const businessAvailability = require_SalesSdkBusinessAvailabilityContext.useSalesSdkBusinessAvailability();
|
|
@@ -644,8 +646,24 @@ function KioskBigSaleTemplate({ isActive = true, osKey, productListPreferencesCh
|
|
|
644
646
|
}));
|
|
645
647
|
setView("failure");
|
|
646
648
|
};
|
|
649
|
+
const ensureRequiredProducts = function() {
|
|
650
|
+
var _ref5 = require_asyncToGenerator._asyncToGenerator(function* () {
|
|
651
|
+
const bookingTicket = context.sales.bookingTicket;
|
|
652
|
+
try {
|
|
653
|
+
if (bookingTicket === null || bookingTicket === void 0 ? void 0 : bookingTicket.validateRequiredProducts) yield bookingTicket.validateRequiredProducts();
|
|
654
|
+
return true;
|
|
655
|
+
} catch (error) {
|
|
656
|
+
Toast.info(error instanceof Error ? error.message : String(error));
|
|
657
|
+
setNavigableView("cart");
|
|
658
|
+
return false;
|
|
659
|
+
}
|
|
660
|
+
});
|
|
661
|
+
return function ensureRequiredProducts() {
|
|
662
|
+
return _ref5.apply(this, arguments);
|
|
663
|
+
};
|
|
664
|
+
}();
|
|
647
665
|
const performCheckout = function() {
|
|
648
|
-
var
|
|
666
|
+
var _ref23 = require_asyncToGenerator._asyncToGenerator(function* () {
|
|
649
667
|
if (checkoutOpeningRef.current || !shouldUseFulfillmentCheckout && isPickupTimingPending || cartItemCount === 0) return;
|
|
650
668
|
checkoutOpeningRef.current = true;
|
|
651
669
|
const openingScope = fulfillmentCheckout.captureScope();
|
|
@@ -654,18 +672,22 @@ function KioskBigSaleTemplate({ isActive = true, osKey, productListPreferencesCh
|
|
|
654
672
|
return isActiveRef.current && currentScope.handle === openingScope.handle && currentScope.scopeKey === openingScope.scopeKey && currentScope.identity === openingScope.identity;
|
|
655
673
|
};
|
|
656
674
|
const checkoutSubmitOptions = require_objectSpread2._objectSpread2(require_objectSpread2._objectSpread2({}, KIOSK_CHECKOUT_SUBMIT_OPTIONS), {}, { beforeSubmit: function() {
|
|
657
|
-
var
|
|
675
|
+
var _ref6 = require_asyncToGenerator._asyncToGenerator(function* () {
|
|
676
|
+
if (!isCurrentCheckoutRequest() || !(yield ensureRequiredProducts())) return false;
|
|
658
677
|
return isCurrentCheckoutRequest() && (yield businessAvailability.beginCheckout());
|
|
659
678
|
});
|
|
660
679
|
return function beforeSubmit() {
|
|
661
|
-
return
|
|
680
|
+
return _ref6.apply(this, arguments);
|
|
662
681
|
};
|
|
663
682
|
}() });
|
|
664
683
|
let deferredAttempt = false;
|
|
665
684
|
setIsCheckoutLoading(true);
|
|
666
685
|
try {
|
|
667
|
-
var
|
|
686
|
+
var _ref7, _context$sales$bookin6, _context$sales$bookin7, _context$sales$bookin8, _ref15, _context$sales$bookin13, _context$sales$bookin14, _context$sales$bookin15, _ref16, _ref17, _result$payload$payme, _result$payload, _result$data6;
|
|
668
687
|
if (!(yield businessAvailability.ensureCanShop())) return;
|
|
688
|
+
yield context.cart.waitForCartConsistency();
|
|
689
|
+
if (!isCurrentCheckoutRequest() || !(yield ensureRequiredProducts())) return;
|
|
690
|
+
if (!isCurrentCheckoutRequest()) return;
|
|
669
691
|
yield new Promise((resolve) => setTimeout(resolve, 0));
|
|
670
692
|
setPickupTimingError(void 0);
|
|
671
693
|
try {
|
|
@@ -689,7 +711,7 @@ function KioskBigSaleTemplate({ isActive = true, osKey, productListPreferencesCh
|
|
|
689
711
|
}
|
|
690
712
|
if (context.sales.contactInfo && !(yield context.sales.contactInfo.ensureComplete())) return;
|
|
691
713
|
if (!isCurrentCheckoutRequest()) return;
|
|
692
|
-
const liveTempOrder = (
|
|
714
|
+
const liveTempOrder = (_ref7 = (_context$sales$bookin6 = (_context$sales$bookin7 = context.sales.bookingTicket) === null || _context$sales$bookin7 === void 0 || (_context$sales$bookin8 = _context$sales$bookin7.getTempOrder) === null || _context$sales$bookin8 === void 0 ? void 0 : _context$sales$bookin8.call(_context$sales$bookin7)) !== null && _context$sales$bookin6 !== void 0 ? _context$sales$bookin6 : context.sales.tempOrder) !== null && _ref7 !== void 0 ? _ref7 : null;
|
|
693
715
|
if (businessAvailability.enabled && !businessAvailability.requirePaymentOnSubmit) {
|
|
694
716
|
deferredAttempt = true;
|
|
695
717
|
setSubmissionError(null);
|
|
@@ -698,8 +720,8 @@ function KioskBigSaleTemplate({ isActive = true, osKey, productListPreferencesCh
|
|
|
698
720
|
if (!isCurrentCheckoutRequest()) return;
|
|
699
721
|
const submitted = require_deferredCheckout.resolveKioskDeferredSubmission(result, liveTempOrder);
|
|
700
722
|
if (!submitted) {
|
|
701
|
-
var
|
|
702
|
-
throw new Error(String((
|
|
723
|
+
var _ref8, _ref9, _result$message, _result$data;
|
|
724
|
+
throw new Error(String((_ref8 = (_ref9 = (_result$message = result === null || result === void 0 ? void 0 : result.message) !== null && _result$message !== void 0 ? _result$message : result === null || result === void 0 ? void 0 : result.msg) !== null && _ref9 !== void 0 ? _ref9 : result === null || result === void 0 || (_result$data = result.data) === null || _result$data === void 0 ? void 0 : _result$data.message) !== null && _ref8 !== void 0 ? _ref8 : _pisell_utils.locales.getText("pisell2.big-sale.kiosk.submit-failure")));
|
|
703
725
|
}
|
|
704
726
|
if (platform === "pc" || platform === "h5" || shouldUseConsumerPayment) {
|
|
705
727
|
var _utils$history, _app$history3;
|
|
@@ -728,12 +750,12 @@ function KioskBigSaleTemplate({ isActive = true, osKey, productListPreferencesCh
|
|
|
728
750
|
return;
|
|
729
751
|
}
|
|
730
752
|
if (shouldUseConsumerPayment && context.sales.enableMultiCurrencySettlement && require_index.isVirtualSettlementTempOrder(liveTempOrder)) {
|
|
731
|
-
var
|
|
753
|
+
var _ref12, _ref13, _ref14, _result$data$total_am, _result$data3, _result$data4, _liveTempOrder$summar, _context$summary$summ, _context$sales$bookin11, _context$sales$bookin12, _utils$history2, _app$history4;
|
|
732
754
|
yield context.cart.waitForCartConsistency();
|
|
733
755
|
const result = yield context.cart.submit(void 0, checkoutSubmitOptions);
|
|
734
756
|
if (!require_utils$1.isSalesOrderSubmitSuccess(result)) {
|
|
735
|
-
var
|
|
736
|
-
showCheckoutFailure(String((
|
|
757
|
+
var _ref10, _ref11, _result$message2, _result$data2;
|
|
758
|
+
showCheckoutFailure(String((_ref10 = (_ref11 = (_result$message2 = result === null || result === void 0 ? void 0 : result.message) !== null && _result$message2 !== void 0 ? _result$message2 : result === null || result === void 0 ? void 0 : result.msg) !== null && _ref11 !== void 0 ? _ref11 : result === null || result === void 0 || (_result$data2 = result.data) === null || _result$data2 === void 0 ? void 0 : _result$data2.message) !== null && _ref10 !== void 0 ? _ref10 : _pisell_utils.locales.getText("pisell2.big-sale.kiosk.payment-failure-description")));
|
|
737
759
|
return;
|
|
738
760
|
}
|
|
739
761
|
const orderId = require_utils$1.resolveSaleDetailOrderIdFromSalesResult(context.sales, result);
|
|
@@ -741,7 +763,7 @@ function KioskBigSaleTemplate({ isActive = true, osKey, productListPreferencesCh
|
|
|
741
763
|
showCheckoutFailure(String(_pisell_utils.locales.getText("pisell2.big-sale.kiosk.payment-failure-description")));
|
|
742
764
|
return;
|
|
743
765
|
}
|
|
744
|
-
const totalAmount = (
|
|
766
|
+
const totalAmount = (_ref12 = (_ref13 = (_ref14 = (_result$data$total_am = result === null || result === void 0 || (_result$data3 = result.data) === null || _result$data3 === void 0 ? void 0 : _result$data3.total_amount) !== null && _result$data$total_am !== void 0 ? _result$data$total_am : result === null || result === void 0 || (_result$data4 = result.data) === null || _result$data4 === void 0 ? void 0 : _result$data4.expect_amount) !== null && _ref14 !== void 0 ? _ref14 : liveTempOrder === null || liveTempOrder === void 0 || (_liveTempOrder$summar = liveTempOrder.summary) === null || _liveTempOrder$summar === void 0 ? void 0 : _liveTempOrder$summar.total_amount) !== null && _ref13 !== void 0 ? _ref13 : (_context$summary$summ = context.summary.summary) === null || _context$summary$summ === void 0 ? void 0 : _context$summary$summ.total_amount) !== null && _ref12 !== void 0 ? _ref12 : 0;
|
|
745
767
|
yield context.sales.clearCartAndReset();
|
|
746
768
|
(_context$sales$bookin11 = context.sales.bookingTicket) === null || _context$sales$bookin11 === void 0 || (_context$sales$bookin12 = _context$sales$bookin11.clearSessionStorageOrderSnapshot) === null || _context$sales$bookin12 === void 0 || _context$sales$bookin12.call(_context$sales$bookin11);
|
|
747
769
|
persistKioskSessionView(context.sales.bookingTicket, "catalog");
|
|
@@ -752,8 +774,8 @@ function KioskBigSaleTemplate({ isActive = true, osKey, productListPreferencesCh
|
|
|
752
774
|
return;
|
|
753
775
|
}
|
|
754
776
|
yield context.cart.waitForCartConsistency();
|
|
755
|
-
const currentTempOrder = (
|
|
756
|
-
const currentSummary = (
|
|
777
|
+
const currentTempOrder = (_ref15 = (_context$sales$bookin13 = (_context$sales$bookin14 = context.sales.bookingTicket) === null || _context$sales$bookin14 === void 0 || (_context$sales$bookin15 = _context$sales$bookin14.getTempOrder) === null || _context$sales$bookin15 === void 0 ? void 0 : _context$sales$bookin15.call(_context$sales$bookin14)) !== null && _context$sales$bookin13 !== void 0 ? _context$sales$bookin13 : context.sales.tempOrder) !== null && _ref15 !== void 0 ? _ref15 : null;
|
|
778
|
+
const currentSummary = (_ref16 = (_ref17 = context.summary.summary) !== null && _ref17 !== void 0 ? _ref17 : currentTempOrder === null || currentTempOrder === void 0 ? void 0 : currentTempOrder.summary) !== null && _ref16 !== void 0 ? _ref16 : null;
|
|
757
779
|
const shouldCompleteNoPaymentInPage = require_zeroAmountCheckout.isKioskPlatformZeroAmountCheckout(platform, currentSummary);
|
|
758
780
|
if (shouldUseConsumerPayment && !shouldCompleteNoPaymentInPage && typeof utils.action !== "function") throw new Error("[KioskBigSale] appHelper.utils.action is not available.");
|
|
759
781
|
if (require_zeroAmountCheckout.shouldSubmitKioskOrderBeforeCheckout({
|
|
@@ -761,7 +783,7 @@ function KioskBigSaleTemplate({ isActive = true, osKey, productListPreferencesCh
|
|
|
761
783
|
summary: currentSummary,
|
|
762
784
|
shouldUseConsumerPayment
|
|
763
785
|
})) {
|
|
764
|
-
var _context$sales$bookin16, _context$sales$bookin17,
|
|
786
|
+
var _context$sales$bookin16, _context$sales$bookin17, _ref20, _context$sales$bookin18, _context$sales$bookin19, _context$sales$bookin20;
|
|
765
787
|
const walletAssetsState = (_context$sales$bookin16 = context.sales.bookingTicket) === null || _context$sales$bookin16 === void 0 || (_context$sales$bookin17 = _context$sales$bookin16.getWalletAssetsState) === null || _context$sales$bookin17 === void 0 ? void 0 : _context$sales$bookin17.call(_context$sales$bookin16);
|
|
766
788
|
const deferredWalletPaymentPlan = resolveKioskDeferredWalletPaymentPlan({
|
|
767
789
|
platform,
|
|
@@ -774,8 +796,8 @@ function KioskBigSaleTemplate({ isActive = true, osKey, productListPreferencesCh
|
|
|
774
796
|
if (shouldCompleteNoPaymentInPage) publishKioskCollaborationPreviewStatus(app, "checkout");
|
|
775
797
|
const result = yield context.cart.submit(submitParams, checkoutSubmitOptions);
|
|
776
798
|
if (!require_utils$1.isSalesOrderSubmitSuccess(result)) {
|
|
777
|
-
var
|
|
778
|
-
showCheckoutFailure(String((
|
|
799
|
+
var _ref18, _ref19, _result$message3, _result$data5;
|
|
800
|
+
showCheckoutFailure(String((_ref18 = (_ref19 = (_result$message3 = result === null || result === void 0 ? void 0 : result.message) !== null && _result$message3 !== void 0 ? _result$message3 : result === null || result === void 0 ? void 0 : result.msg) !== null && _ref19 !== void 0 ? _ref19 : result === null || result === void 0 || (_result$data5 = result.data) === null || _result$data5 === void 0 ? void 0 : _result$data5.message) !== null && _ref18 !== void 0 ? _ref18 : _pisell_utils.locales.getText("pisell2.big-sale.kiosk.payment-failure-description")));
|
|
779
801
|
return;
|
|
780
802
|
}
|
|
781
803
|
const orderId = require_utils$1.resolveSaleDetailOrderIdFromSalesResult(context.sales, result);
|
|
@@ -783,10 +805,10 @@ function KioskBigSaleTemplate({ isActive = true, osKey, productListPreferencesCh
|
|
|
783
805
|
showCheckoutFailure(String(_pisell_utils.locales.getText("pisell2.big-sale.kiosk.payment-failure-description")));
|
|
784
806
|
return;
|
|
785
807
|
}
|
|
786
|
-
const tempOrder = (
|
|
808
|
+
const tempOrder = (_ref20 = (_context$sales$bookin18 = (_context$sales$bookin19 = context.sales.bookingTicket) === null || _context$sales$bookin19 === void 0 || (_context$sales$bookin20 = _context$sales$bookin19.getTempOrder) === null || _context$sales$bookin20 === void 0 ? void 0 : _context$sales$bookin20.call(_context$sales$bookin19)) !== null && _context$sales$bookin18 !== void 0 ? _context$sales$bookin18 : context.sales.tempOrder) !== null && _ref20 !== void 0 ? _ref20 : null;
|
|
787
809
|
const totalAmount = require_zeroAmountCheckout.resolveKioskSubmittedPayableAmount(result, tempOrder === null || tempOrder === void 0 ? void 0 : tempOrder.summary, context.summary.summary);
|
|
788
810
|
if (shouldCompleteNoPaymentInPage) {
|
|
789
|
-
var
|
|
811
|
+
var _ref21;
|
|
790
812
|
const validation = require_zeroAmountCheckout.validateKioskNoPaymentSubmitResult({
|
|
791
813
|
result,
|
|
792
814
|
orderId,
|
|
@@ -798,7 +820,7 @@ function KioskBigSaleTemplate({ isActive = true, osKey, productListPreferencesCh
|
|
|
798
820
|
return;
|
|
799
821
|
}
|
|
800
822
|
setPaymentResult(require_zeroAmountCheckout.resolveKioskNoPaymentResultViewModel({
|
|
801
|
-
summary: (
|
|
823
|
+
summary: (_ref21 = tempOrder === null || tempOrder === void 0 ? void 0 : tempOrder.summary) !== null && _ref21 !== void 0 ? _ref21 : currentSummary,
|
|
802
824
|
currencySymbol: (tempOrder === null || tempOrder === void 0 ? void 0 : tempOrder.currency_symbol) || "$"
|
|
803
825
|
}));
|
|
804
826
|
persistKioskSessionView(context.sales.bookingTicket, "catalog");
|
|
@@ -870,8 +892,8 @@ function KioskBigSaleTemplate({ isActive = true, osKey, productListPreferencesCh
|
|
|
870
892
|
if (nextPaymentResult.status !== "failed") persistKioskSessionView(context.sales.bookingTicket, "catalog");
|
|
871
893
|
setView(nextPaymentResult.status === "failed" ? "failure" : "success");
|
|
872
894
|
} else if ((result === null || result === void 0 ? void 0 : result.type) === "error" || (result === null || result === void 0 ? void 0 : result.status) === "failed") {
|
|
873
|
-
var
|
|
874
|
-
showCheckoutFailure((
|
|
895
|
+
var _ref22, _result$error, _result$payload2;
|
|
896
|
+
showCheckoutFailure((_ref22 = (_result$error = result === null || result === void 0 ? void 0 : result.error) !== null && _result$error !== void 0 ? _result$error : result === null || result === void 0 || (_result$payload2 = result.payload) === null || _result$payload2 === void 0 ? void 0 : _result$payload2.message) !== null && _ref22 !== void 0 ? _ref22 : _pisell_utils.locales.getText("pisell2.big-sale.kiosk.payment-failure-description"));
|
|
875
897
|
}
|
|
876
898
|
if (require_utils$1.shouldCloseDialogAfterCheckout(result)) {
|
|
877
899
|
var _result$data7;
|
|
@@ -903,7 +925,7 @@ function KioskBigSaleTemplate({ isActive = true, osKey, productListPreferencesCh
|
|
|
903
925
|
}
|
|
904
926
|
});
|
|
905
927
|
return function performCheckout() {
|
|
906
|
-
return
|
|
928
|
+
return _ref23.apply(this, arguments);
|
|
907
929
|
};
|
|
908
930
|
}();
|
|
909
931
|
const hasSelectedCustomerVoucher = () => {
|
|
@@ -912,22 +934,22 @@ function KioskBigSaleTemplate({ isActive = true, osKey, productListPreferencesCh
|
|
|
912
934
|
return (runtimeDiscountList.length > 0 ? runtimeDiscountList : context.cart.discountList || []).some((discount) => require_adapters.isCustomerVoucher(discount) && Boolean(discount === null || discount === void 0 ? void 0 : discount.isSelected));
|
|
913
935
|
};
|
|
914
936
|
const hasAppliedWalletAsset = () => {
|
|
915
|
-
var _context$sales$bookin23, _context$sales$bookin24, _walletAssetsState$se, _walletAssetsState$se2, _walletAssetsState$se3, _walletAssetsState$se4, _walletAssetsState$co, _walletAssetsState$co2,
|
|
937
|
+
var _context$sales$bookin23, _context$sales$bookin24, _walletAssetsState$se, _walletAssetsState$se2, _walletAssetsState$se3, _walletAssetsState$se4, _walletAssetsState$co, _walletAssetsState$co2, _ref24, _context$sales$bookin25, _context$sales$bookin26, _context$sales$bookin27;
|
|
916
938
|
const walletAssetsState = (_context$sales$bookin23 = context.sales.bookingTicket) === null || _context$sales$bookin23 === void 0 || (_context$sales$bookin24 = _context$sales$bookin23.getWalletAssetsState) === null || _context$sales$bookin24 === void 0 ? void 0 : _context$sales$bookin24.call(_context$sales$bookin23);
|
|
917
939
|
if (((_walletAssetsState$se = walletAssetsState === null || walletAssetsState === void 0 || (_walletAssetsState$se2 = walletAssetsState.selectedIds) === null || _walletAssetsState$se2 === void 0 ? void 0 : _walletAssetsState$se2.length) !== null && _walletAssetsState$se !== void 0 ? _walletAssetsState$se : 0) > 0 || ((_walletAssetsState$se3 = walletAssetsState === null || walletAssetsState === void 0 || (_walletAssetsState$se4 = walletAssetsState.selectedItems) === null || _walletAssetsState$se4 === void 0 ? void 0 : _walletAssetsState$se4.length) !== null && _walletAssetsState$se3 !== void 0 ? _walletAssetsState$se3 : 0) > 0 || ((_walletAssetsState$co = walletAssetsState === null || walletAssetsState === void 0 || (_walletAssetsState$co2 = walletAssetsState.committedIds) === null || _walletAssetsState$co2 === void 0 ? void 0 : _walletAssetsState$co2.length) !== null && _walletAssetsState$co !== void 0 ? _walletAssetsState$co : 0) > 0) return true;
|
|
918
|
-
const tempOrder = (
|
|
940
|
+
const tempOrder = (_ref24 = (_context$sales$bookin25 = (_context$sales$bookin26 = context.sales.bookingTicket) === null || _context$sales$bookin26 === void 0 || (_context$sales$bookin27 = _context$sales$bookin26.getTempOrder) === null || _context$sales$bookin27 === void 0 ? void 0 : _context$sales$bookin27.call(_context$sales$bookin26)) !== null && _context$sales$bookin25 !== void 0 ? _context$sales$bookin25 : context.sales.tempOrder) !== null && _ref24 !== void 0 ? _ref24 : null;
|
|
919
941
|
return ((tempOrder === null || tempOrder === void 0 ? void 0 : tempOrder.payments) || []).some((payment) => {
|
|
920
942
|
const voucherId = payment === null || payment === void 0 ? void 0 : payment.voucher_id;
|
|
921
943
|
return voucherId !== void 0 && voucherId !== null && String(voucherId).trim() !== "" && Number(voucherId) !== 0;
|
|
922
944
|
});
|
|
923
945
|
};
|
|
924
946
|
const continueCheckout = () => {
|
|
925
|
-
var
|
|
947
|
+
var _ref25, _context$sales$bookin28, _context$sales$bookin29, _context$sales$bookin30;
|
|
926
948
|
if (businessAvailability.enabled && !businessAvailability.requirePaymentOnSubmit) {
|
|
927
949
|
performCheckout();
|
|
928
950
|
return;
|
|
929
951
|
}
|
|
930
|
-
const liveTempOrder = (
|
|
952
|
+
const liveTempOrder = (_ref25 = (_context$sales$bookin28 = (_context$sales$bookin29 = context.sales.bookingTicket) === null || _context$sales$bookin29 === void 0 || (_context$sales$bookin30 = _context$sales$bookin29.getTempOrder) === null || _context$sales$bookin30 === void 0 ? void 0 : _context$sales$bookin30.call(_context$sales$bookin29)) !== null && _context$sales$bookin28 !== void 0 ? _context$sales$bookin28 : context.sales.tempOrder) !== null && _ref25 !== void 0 ? _ref25 : null;
|
|
931
953
|
if (context.sales.enableMultiCurrencySettlement && require_index.isVirtualSettlementTempOrder(liveTempOrder)) {
|
|
932
954
|
performCheckout();
|
|
933
955
|
return;
|
|
@@ -941,7 +963,7 @@ function KioskBigSaleTemplate({ isActive = true, osKey, productListPreferencesCh
|
|
|
941
963
|
setIsVoucherReminderOpen(true);
|
|
942
964
|
};
|
|
943
965
|
const beginCheckoutWithFulfillment = function() {
|
|
944
|
-
var
|
|
966
|
+
var _ref26 = require_asyncToGenerator._asyncToGenerator(function* () {
|
|
945
967
|
if (!(yield businessAvailability.ensureCanShop())) return;
|
|
946
968
|
if (!shouldUseFulfillmentCheckout) {
|
|
947
969
|
continueCheckout();
|
|
@@ -960,11 +982,11 @@ function KioskBigSaleTemplate({ isActive = true, osKey, productListPreferencesCh
|
|
|
960
982
|
}
|
|
961
983
|
});
|
|
962
984
|
return function beginCheckoutWithFulfillment() {
|
|
963
|
-
return
|
|
985
|
+
return _ref26.apply(this, arguments);
|
|
964
986
|
};
|
|
965
987
|
}();
|
|
966
988
|
const handleCheckout = function() {
|
|
967
|
-
var
|
|
989
|
+
var _ref27 = require_asyncToGenerator._asyncToGenerator(function* () {
|
|
968
990
|
if (checkoutEntryOpeningRef.current || checkoutOpeningRef.current || checkoutLoginOpeningRef.current || fulfillmentOpeningRef.current) return;
|
|
969
991
|
checkoutEntryOpeningRef.current = true;
|
|
970
992
|
try {
|
|
@@ -1042,7 +1064,7 @@ function KioskBigSaleTemplate({ isActive = true, osKey, productListPreferencesCh
|
|
|
1042
1064
|
}
|
|
1043
1065
|
});
|
|
1044
1066
|
return function handleCheckout() {
|
|
1045
|
-
return
|
|
1067
|
+
return _ref27.apply(this, arguments);
|
|
1046
1068
|
};
|
|
1047
1069
|
}();
|
|
1048
1070
|
const handleUseVoucherBeforeCheckout = () => {
|
|
@@ -1080,6 +1080,8 @@ interface BookingTicketHandle extends PickupTimingHandle {
|
|
|
1080
1080
|
getOpenData?: () => Promise<Record<string, any> | null>;
|
|
1081
1081
|
getContactInfoConfig?: () => Promise<SalesContactInfoConfig>;
|
|
1082
1082
|
validateContactInfo?: () => Promise<void>;
|
|
1083
|
+
/** Online venue-ticket checkout: reject missing configured required products. */
|
|
1084
|
+
validateRequiredProducts?: () => Promise<void>;
|
|
1083
1085
|
/** 写入当前临时订单根字段 tempOrder.buzzer。 */
|
|
1084
1086
|
setPickupRef?: (buzzer: string) => string;
|
|
1085
1087
|
/** 将自助点餐固定为柜台取餐。 */
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@pisell/private-materials",
|
|
3
|
-
"version": "6.12.
|
|
3
|
+
"version": "6.12.366",
|
|
4
4
|
"main": "./lib/index.js",
|
|
5
5
|
"module": "./es/index.js",
|
|
6
6
|
"types": "./lib/index.d.ts",
|
|
@@ -74,10 +74,10 @@
|
|
|
74
74
|
"styled-components": "^6.0.0-rc.3",
|
|
75
75
|
"use-sync-external-store": "^1.6.0",
|
|
76
76
|
"@pisell/pi-payment-sdk": "0.0.4",
|
|
77
|
-
"@pisell/materials": "6.12.87",
|
|
78
77
|
"@pisell/date-picker": "3.0.12",
|
|
79
|
-
"@pisell/
|
|
80
|
-
"@pisell/utils": "3.0.7"
|
|
78
|
+
"@pisell/materials": "6.12.87",
|
|
79
|
+
"@pisell/utils": "3.0.7",
|
|
80
|
+
"@pisell/icon": "0.0.11"
|
|
81
81
|
},
|
|
82
82
|
"peerDependencies": {
|
|
83
83
|
"react": "^18.0.0",
|