@pisell/private-materials 6.4.55 → 6.4.57
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/index.js +1 -1
- package/build/lowcode/meta.js +2 -2
- package/build/lowcode/preview.js +7 -7
- package/build/lowcode/render/default/view.css +1 -1
- package/build/lowcode/render/default/view.js +7 -7
- package/build/lowcode/view.css +1 -1
- package/build/lowcode/view.js +7 -7
- package/es/components/appointmentBooking/components/Cart/Item/Total.d.ts +0 -1
- package/es/components/appointmentBooking/components/Cart/Item/index.d.ts +0 -1
- package/es/components/appointmentBooking/components/Cart/index.d.ts +0 -1
- package/es/components/appointmentBooking/components/Deposit/index.d.ts +0 -1
- package/es/components/appointmentBooking/components/Footer/index.d.ts +0 -1
- package/es/components/appointmentBooking/deposit/components/PolicyModal/index.d.ts +0 -1
- package/es/components/booking/components/TabProduct/index.d.ts +0 -1
- package/es/components/booking/components/TabProduct/productItem/index.d.ts +0 -1
- package/es/components/booking/components/actionButtons/index.js +15 -7
- package/es/components/booking/components/footer/amount.js +1 -1
- package/es/components/booking/components/footer/index.js +2 -2
- package/es/components/booking/components/footer/utils.js +8 -1
- package/es/components/booking/components/reloadResourceModal/index.d.ts +0 -1
- package/es/components/booking/components/voucher/index.js +23 -19
- package/es/components/booking/forms/footer.d.ts +0 -1
- package/es/components/booking/forms/sendModal/useSendModal.d.ts +0 -1
- package/es/components/booking/forms/single/index.d.ts +0 -1
- package/es/components/booking/info2/cartClientCard/index.js +7 -3
- package/es/components/booking/materiels/contacts/index.d.ts +0 -1
- package/es/components/checkout/PaymentModal.js +34 -28
- package/es/components/checkout/hooks/useWalletPass.js +36 -21
- package/es/components/eftpos/form/index.d.ts +0 -1
- package/es/components/eftpos/hooks.d.ts +0 -1
- package/es/components/eftpos/index.d.ts +0 -1
- package/es/components/eftpos/pos.d.ts +0 -1
- package/es/components/eftposPay/amount.d.ts +0 -1
- package/es/components/eftposPay/component/fail/failCustom.d.ts +0 -1
- package/es/components/eftposPay/component/fail/index.d.ts +0 -1
- package/es/components/eftposPay/component/fail/network.d.ts +0 -1
- package/es/components/eftposPay/component/fail/unknow.d.ts +0 -1
- package/es/components/eftposPay/component/manual/index.d.ts +0 -1
- package/es/components/eftposPay/component/signature/index.d.ts +0 -1
- package/es/components/eftposPay/hooks.d.ts +1 -1
- package/es/components/eftposPay/pay.d.ts +0 -1
- package/es/components/eftposPay/store/index.d.ts +2 -2
- package/es/components/eventBooking/components/Provider/Cart/Deposit/index.d.ts +0 -1
- package/es/components/eventBooking/components/Provider/Cart/Item/index.d.ts +0 -1
- package/es/components/eventBooking/components/Provider/Cart/index.d.ts +0 -1
- package/es/components/eventBooking/components/Provider/Content/index.d.ts +0 -1
- package/es/components/eventBooking/components/Provider/Event/index.d.ts +0 -1
- package/es/components/eventBooking/components/Provider/Footer/index.d.ts +0 -1
- package/es/components/eventBooking/components/Provider/Header/index.d.ts +0 -1
- package/es/components/eventBooking/components/Provider/Information/index.d.ts +0 -1
- package/es/components/eventBooking/components/Provider/Resource/index.d.ts +0 -1
- package/es/components/eventBooking/components/Provider/SelectHolderModal.d.ts +0 -1
- package/es/components/eventBooking/components/bookingDetailModal/components/BookingOptions.d.ts +0 -1
- package/es/components/eventBooking/components/bookingDetailModal/components/Resource.d.ts +0 -1
- package/es/components/eventBooking/components/bookingDetailModal/components/Schedule.d.ts +0 -1
- package/es/components/eventBooking/components/scheduleCalendar/ProductItem/index.d.ts +0 -1
- package/es/components/list/List.js +957 -0
- package/es/components/list/List.less +2 -0
- package/es/components/list/ResponsiveWrapper.js +130 -0
- package/es/components/list/TestResponsiveWrapper.js +816 -0
- package/es/components/list/TestResponsiveWrapper.less +968 -0
- package/es/components/list/components/EmptyState/EmptyState.js +75 -0
- package/es/components/list/components/EmptyState/EmptyState.less +121 -0
- package/es/components/list/components/EmptyState/index.js +1 -0
- package/es/components/list/components/ListItemSkeleton/ListItemSkeleton.js +39 -0
- package/es/components/list/components/ListItemSkeleton/ListItemSkeleton.less +29 -0
- package/es/components/list/components/ListItemSkeleton/index.js +2 -0
- package/es/components/list/components/Pagination/Pagination.js +240 -0
- package/es/components/list/components/Pagination/Pagination.less +439 -0
- package/es/components/list/components/Pagination/index.js +1 -0
- package/es/components/list/components/ScrollLoader/ScrollLoader.js +18 -0
- package/es/components/list/components/ScrollLoader/ScrollLoader.less +3 -0
- package/es/components/list/components/ScrollLoader/index.js +1 -0
- package/es/components/list/components/Tab/Tab.js +43 -0
- package/es/components/list/components/Tab/Tab.less +139 -0
- package/es/components/list/components/Tab/index.js +1 -0
- package/es/components/list/components/Tab/types.js +1 -0
- package/es/components/list/components/TabSkeleton/TabSkeleton.js +28 -0
- package/es/components/list/components/TabSkeleton/TabSkeleton.less +38 -0
- package/es/components/list/components/TabSkeleton/index.js +2 -0
- package/es/components/list/components/WaterfallList/WaterfallList.js +191 -0
- package/es/components/list/components/WaterfallList/WaterfallList.less +201 -0
- package/es/components/list/components/WaterfallList/index.js +1 -0
- package/es/components/list/examples/GroupedListExample.js +207 -0
- package/es/components/list/hooks/index.js +3 -0
- package/es/components/list/hooks/useDevice.js +102 -0
- package/es/components/list/hooks/useListState.js +176 -0
- package/es/components/list/hooks/useWaterfall.js +161 -0
- package/es/components/list/index.js +7 -0
- package/es/components/list/locales.js +107 -0
- package/es/components/list/styles/base.less +39 -0
- package/es/components/list/styles/content.less +416 -0
- package/es/components/list/styles/floatButton.less +107 -0
- package/es/components/list/styles/footer.less +49 -0
- package/es/components/list/styles/header.less +69 -0
- package/es/components/list/styles/responsive.less +166 -0
- package/es/components/list/types.js +1 -0
- package/es/components/list/utils/getText.js +150 -0
- package/es/components/list/utils/index.js +5 -0
- package/es/components/pay/toB/store/hooks.js +19 -5
- package/es/components/pay/toC/PaymentMethods/StripePay/Stripe/StripeSDK/index.d.ts +0 -1
- package/es/components/pay/toC/PaymentMethods/StripePay/Stripe/index.d.ts +0 -1
- package/es/components/pisellSelectCustomerModal/RightPanel/Add/index.d.ts +0 -1
- package/es/components/productExtension/fields/Actor/index.d.ts +0 -1
- package/es/components/productExtension/fields/Forms/index.d.ts +0 -1
- package/es/components/productExtension/fields/SelectProducts/ProductItem/index.d.ts +0 -1
- package/es/components/productExtension/fields/SelectProducts/index.d.ts +0 -1
- package/es/components/schedules/components/ScheduleList/index.d.ts +0 -1
- package/es/components/schedules/products/ProductDetailDrawer/ProductDetail/MaxParticipantsModule/index.d.ts +0 -1
- package/es/components/schedules/products/ProductDetailDrawer/ProductDetail/index.d.ts +0 -1
- package/es/components/schedules/products/ProductDetailDrawer/index.d.ts +0 -1
- package/es/components/schedules/products/index.d.ts +0 -1
- package/es/components/schedules/resources/index.d.ts +0 -1
- package/es/components/schedules/resources/relationProduct/index.d.ts +0 -1
- package/es/components/schedules/schedules/AllSchedules/index.d.ts +0 -1
- package/es/components/schedules/schedules/ScheduleDetailDrawer/index.d.ts +0 -1
- package/es/components/schedules/schedules/index.d.ts +0 -1
- package/es/components/shoppingCart/components/Render/index.d.ts +0 -1
- package/es/components/shoppingCart/index.d.ts +0 -1
- package/es/components/ticketBooking/components/ProductDisplayAdapter/ProductDisplayAdapter.js +143 -0
- package/es/components/ticketBooking/components/ProductDisplayAdapter/index.js +7 -0
- package/es/components/ticketBooking/components/ProductDisplayAdapter/index.less +41 -0
- package/es/components/ticketBooking/components/ProductDisplayAdapter/types.js +273 -0
- package/es/components/ticketBooking/components/ProductDisplayAdapter/utils.js +130 -0
- package/es/components/ticketBooking/components/addServiceVariant/addService.d.ts +20 -0
- package/es/components/ticketBooking/components/addServiceVariant/addService.js +46 -11
- package/es/components/ticketBooking/components/addServiceVariant/index.js +4 -2
- package/es/components/ticketBooking/components/menuBar/index.js +40 -17
- package/es/components/ticketBooking/components/menuBar/index.less +27 -1
- package/es/components/ticketBooking/components/ticketBooking/index.d.ts +6 -1
- package/es/components/ticketBooking/components/ticketBooking/index.js +66 -23
- package/es/components/ticketBooking/components/timeBar/index.less +1 -0
- package/es/components/ticketBooking/context/IsActiveContext.js +37 -0
- package/es/components/ticketBooking/context/OsKeyContext.js +37 -0
- package/es/components/ticketBooking/context/index.js +2 -0
- package/es/components/ticketBooking/hooks/pisellos/bookingTicket.js +13 -1
- package/es/components/ticketBooking/hooks/pisellos/index.js +2 -1
- package/es/components/ticketBooking/hooks/pisellos/useActiveExecute.js +50 -0
- package/es/components/ticketBooking/hooks/pisellos/useCustomer.js +12 -4
- package/es/components/ticketBooking/hooks/pisellos/useProducts.js +43 -9
- package/es/components/ticketBooking/hooks/pisellos/useScanCustomer.js +5 -2
- package/es/components/ticketBooking/hooks/pisellos/useScanGlobal.js +7 -2
- package/es/components/ticketBooking/hooks/pisellos/useShopDiscountModule.js +17 -0
- package/es/components/ticketBooking/index.d.ts +6 -0
- package/es/components/ticketBooking/index.js +86 -11
- package/es/components/ticketBooking/utils/index.js +50 -1
- package/es/components/ticketBooking/utils/productCache.js +184 -0
- package/es/components/wallet/hooks/useWalletCard.d.ts +0 -1
- package/es/index.js +3 -1
- package/es/plus/productSelect/ProductCard/SkuCard/SkuCardA1/index.js +11 -0
- package/es/plus/productSelect/ProductCard/SkuCard/SkuCardA1/index.less +8 -0
- package/es/plus/productSelect/ProductCard/SkuCard/SkuCardA2/index.js +11 -0
- package/es/plus/productSelect/ProductCard/SkuCard/SkuCardA2/index.less +17 -0
- package/es/plus/productSelect/ProductCard/SkuCard/SkuCardA5/index.js +11 -0
- package/es/plus/productSelect/ProductCard/SkuCard/SkuCardA5/index.less +17 -0
- package/es/plus/productSelect/ProductCard/SkuCard/SkuCardA9/index.js +11 -0
- package/es/plus/productSelect/ProductCard/SkuCard/SkuCardA9/index.less +17 -0
- package/es/plus/productSelect/ProductCard/SkuCard/SkuCardCustom/index.js +11 -0
- package/es/plus/productSelect/ProductCard/SkuCard/SkuCardCustom/index.less +2 -0
- package/es/plus/productSelect/ProductCard/SkuCard/components/Action/index.js +100 -0
- package/es/plus/productSelect/ProductCard/SkuCard/components/Action/index.less +8 -0
- package/es/plus/productSelect/ProductCard/SkuCard/components/Capacity/index.js +32 -0
- package/es/plus/productSelect/ProductCard/SkuCard/components/Capacity/index.less +3 -0
- package/es/plus/productSelect/ProductCard/SkuCard/components/CardCom/index.js +239 -0
- package/es/plus/productSelect/ProductCard/SkuCard/components/CardCom/index.less +44 -0
- package/es/plus/productSelect/ProductCard/SkuCard/components/CardMask/index.js +34 -0
- package/es/plus/productSelect/ProductCard/SkuCard/components/CardMask/index.less +14 -0
- package/es/plus/productSelect/ProductCard/SkuCard/components/CardMoreText/index.js +33 -0
- package/es/plus/productSelect/ProductCard/SkuCard/components/CardMoreText/index.less +30 -0
- package/es/plus/productSelect/ProductCard/SkuCard/components/CardWrapper/index.js +75 -0
- package/es/plus/productSelect/ProductCard/SkuCard/components/CardWrapper/index.less +46 -0
- package/es/plus/productSelect/ProductCard/SkuCard/components/Countdown/index.js +39 -0
- package/es/plus/productSelect/ProductCard/SkuCard/components/Countdown/index.less +9 -0
- package/es/plus/productSelect/ProductCard/SkuCard/components/Cover/index.js +53 -0
- package/es/plus/productSelect/ProductCard/SkuCard/components/Cover/index.less +31 -0
- package/es/plus/productSelect/ProductCard/SkuCard/components/Duration/index.js +31 -0
- package/es/plus/productSelect/ProductCard/SkuCard/components/Duration/index.less +3 -0
- package/es/plus/productSelect/ProductCard/SkuCard/components/Favorite/index.js +58 -0
- package/es/plus/productSelect/ProductCard/SkuCard/components/Favorite/index.less +11 -0
- package/es/plus/productSelect/ProductCard/SkuCard/components/MemberPrice/index.js +85 -0
- package/es/plus/productSelect/ProductCard/SkuCard/components/MemberPrice/index.less +24 -0
- package/es/plus/productSelect/ProductCard/SkuCard/components/Price/index.js +121 -0
- package/es/plus/productSelect/ProductCard/SkuCard/components/Price/index.less +57 -0
- package/es/plus/productSelect/ProductCard/SkuCard/components/Promotions/index.js +95 -0
- package/es/plus/productSelect/ProductCard/SkuCard/components/Promotions/index.less +18 -0
- package/es/plus/productSelect/ProductCard/SkuCard/components/Resource/index.js +31 -0
- package/es/plus/productSelect/ProductCard/SkuCard/components/Resource/index.less +3 -0
- package/es/plus/productSelect/ProductCard/SkuCard/components/Stock/index.js +47 -0
- package/es/plus/productSelect/ProductCard/SkuCard/components/Stock/index.less +3 -0
- package/es/plus/productSelect/ProductCard/SkuCard/components/SubTitle/index.js +34 -0
- package/es/plus/productSelect/ProductCard/SkuCard/components/SubTitle/index.less +13 -0
- package/es/plus/productSelect/ProductCard/SkuCard/components/Tags/index.js +95 -0
- package/es/plus/productSelect/ProductCard/SkuCard/components/Tags/index.less +18 -0
- package/es/plus/productSelect/ProductCard/SkuCard/components/Time/index.js +31 -0
- package/es/plus/productSelect/ProductCard/SkuCard/components/Time/index.less +3 -0
- package/es/plus/productSelect/ProductCard/SkuCard/components/Title/index.js +34 -0
- package/es/plus/productSelect/ProductCard/SkuCard/components/Title/index.less +13 -0
- package/es/plus/productSelect/ProductCard/SkuCard/components/TooltipTags/index.js +39 -0
- package/es/plus/productSelect/ProductCard/SkuCard/components/TooltipTags/index.less +22 -0
- package/es/plus/productSelect/ProductCard/SkuCard/components/WarningLists/index.js +20 -0
- package/es/plus/productSelect/ProductCard/SkuCard/components/WarningLists/index.less +20 -0
- package/es/plus/productSelect/ProductCard/SkuCard/hooks/useDynamicComponents.js +55 -0
- package/es/plus/productSelect/ProductCard/SkuCard/index.js +38 -0
- package/es/plus/productSelect/ProductCard/SkuCard/locales.js +41 -0
- package/es/plus/productSelect/ProductCard/SkuCard/status.js +481 -0
- package/es/plus/productSelect/ProductCard/SkuCard/type.js +1 -0
- package/es/plus/productSelect/ProductCard/SkuCard/utils.js +21 -0
- package/es/plus/productSelect/components/pisellPriceText/index.js +7 -5
- package/lib/components/appointmentBooking/components/Cart/Item/Total.d.ts +0 -1
- package/lib/components/appointmentBooking/components/Cart/Item/index.d.ts +0 -1
- package/lib/components/appointmentBooking/components/Cart/index.d.ts +0 -1
- package/lib/components/appointmentBooking/components/Deposit/index.d.ts +0 -1
- package/lib/components/appointmentBooking/components/Footer/index.d.ts +0 -1
- package/lib/components/appointmentBooking/deposit/components/PolicyModal/index.d.ts +0 -1
- package/lib/components/booking/components/TabProduct/index.d.ts +0 -1
- package/lib/components/booking/components/TabProduct/productItem/index.d.ts +0 -1
- package/lib/components/booking/components/actionButtons/index.js +22 -15
- package/lib/components/booking/components/footer/amount.js +1 -1
- package/lib/components/booking/components/footer/index.js +2 -2
- package/lib/components/booking/components/footer/utils.js +8 -1
- package/lib/components/booking/components/reloadResourceModal/index.d.ts +0 -1
- package/lib/components/booking/components/voucher/index.js +33 -40
- package/lib/components/booking/forms/footer.d.ts +0 -1
- package/lib/components/booking/forms/sendModal/useSendModal.d.ts +0 -1
- package/lib/components/booking/forms/single/index.d.ts +0 -1
- package/lib/components/booking/info2/cartClientCard/index.js +7 -3
- package/lib/components/booking/materiels/contacts/index.d.ts +0 -1
- package/lib/components/checkout/PaymentModal.js +20 -16
- package/lib/components/checkout/hooks/useWalletPass.js +57 -45
- package/lib/components/eftpos/form/index.d.ts +0 -1
- package/lib/components/eftpos/hooks.d.ts +0 -1
- package/lib/components/eftpos/index.d.ts +0 -1
- package/lib/components/eftpos/pos.d.ts +0 -1
- package/lib/components/eftposPay/amount.d.ts +0 -1
- package/lib/components/eftposPay/component/fail/failCustom.d.ts +0 -1
- package/lib/components/eftposPay/component/fail/index.d.ts +0 -1
- package/lib/components/eftposPay/component/fail/network.d.ts +0 -1
- package/lib/components/eftposPay/component/fail/unknow.d.ts +0 -1
- package/lib/components/eftposPay/component/manual/index.d.ts +0 -1
- package/lib/components/eftposPay/component/signature/index.d.ts +0 -1
- package/lib/components/eftposPay/hooks.d.ts +1 -1
- package/lib/components/eftposPay/pay.d.ts +0 -1
- package/lib/components/eftposPay/store/index.d.ts +2 -2
- package/lib/components/eventBooking/components/Provider/Cart/Deposit/index.d.ts +0 -1
- package/lib/components/eventBooking/components/Provider/Cart/Item/index.d.ts +0 -1
- package/lib/components/eventBooking/components/Provider/Cart/index.d.ts +0 -1
- package/lib/components/eventBooking/components/Provider/Content/index.d.ts +0 -1
- package/lib/components/eventBooking/components/Provider/Event/index.d.ts +0 -1
- package/lib/components/eventBooking/components/Provider/Footer/index.d.ts +0 -1
- package/lib/components/eventBooking/components/Provider/Header/index.d.ts +0 -1
- package/lib/components/eventBooking/components/Provider/Information/index.d.ts +0 -1
- package/lib/components/eventBooking/components/Provider/Resource/index.d.ts +0 -1
- package/lib/components/eventBooking/components/Provider/SelectHolderModal.d.ts +0 -1
- package/lib/components/eventBooking/components/bookingDetailModal/components/BookingOptions.d.ts +0 -1
- package/lib/components/eventBooking/components/bookingDetailModal/components/Resource.d.ts +0 -1
- package/lib/components/eventBooking/components/bookingDetailModal/components/Schedule.d.ts +0 -1
- package/lib/components/eventBooking/components/scheduleCalendar/ProductItem/index.d.ts +0 -1
- package/lib/components/list/List.js +771 -0
- package/lib/components/list/List.less +2 -0
- package/lib/components/list/ResponsiveWrapper.js +145 -0
- package/lib/components/list/TestResponsiveWrapper.js +493 -0
- package/lib/components/list/TestResponsiveWrapper.less +968 -0
- package/lib/components/list/components/EmptyState/EmptyState.js +75 -0
- package/lib/components/list/components/EmptyState/EmptyState.less +121 -0
- package/lib/components/list/components/EmptyState/index.js +35 -0
- package/lib/components/list/components/ListItemSkeleton/ListItemSkeleton.js +75 -0
- package/lib/components/list/components/ListItemSkeleton/ListItemSkeleton.less +29 -0
- package/lib/components/list/components/ListItemSkeleton/index.js +41 -0
- package/lib/components/list/components/Pagination/Pagination.js +205 -0
- package/lib/components/list/components/Pagination/Pagination.less +439 -0
- package/lib/components/list/components/Pagination/index.js +35 -0
- package/lib/components/list/components/ScrollLoader/ScrollLoader.js +37 -0
- package/lib/components/list/components/ScrollLoader/ScrollLoader.less +3 -0
- package/lib/components/list/components/ScrollLoader/index.js +35 -0
- package/lib/components/list/components/Tab/Tab.js +72 -0
- package/lib/components/list/components/Tab/Tab.less +139 -0
- package/lib/components/list/components/Tab/index.js +35 -0
- package/lib/components/list/components/Tab/types.js +17 -0
- package/lib/components/list/components/TabSkeleton/TabSkeleton.js +61 -0
- package/lib/components/list/components/TabSkeleton/TabSkeleton.less +38 -0
- package/lib/components/list/components/TabSkeleton/index.js +41 -0
- package/lib/components/list/components/WaterfallList/WaterfallList.js +178 -0
- package/lib/components/list/components/WaterfallList/WaterfallList.less +201 -0
- package/lib/components/list/components/WaterfallList/index.js +35 -0
- package/lib/components/list/examples/GroupedListExample.js +210 -0
- package/lib/components/list/hooks/index.js +47 -0
- package/lib/components/list/hooks/useDevice.js +96 -0
- package/lib/components/list/hooks/useListState.js +149 -0
- package/lib/components/list/hooks/useWaterfall.js +124 -0
- package/lib/components/list/index.js +60 -0
- package/lib/components/list/locales.js +113 -0
- package/lib/components/list/styles/base.less +39 -0
- package/lib/components/list/styles/content.less +416 -0
- package/lib/components/list/styles/floatButton.less +107 -0
- package/lib/components/list/styles/footer.less +49 -0
- package/lib/components/list/styles/header.less +69 -0
- package/lib/components/list/styles/responsive.less +166 -0
- package/lib/components/list/types.js +17 -0
- package/lib/components/list/utils/getText.js +95 -0
- package/lib/components/list/utils/index.js +43 -0
- package/lib/components/pay/toB/store/hooks.js +16 -8
- package/lib/components/pay/toC/PaymentMethods/StripePay/Stripe/StripeSDK/index.d.ts +0 -1
- package/lib/components/pay/toC/PaymentMethods/StripePay/Stripe/index.d.ts +0 -1
- package/lib/components/pisellSelectCustomerModal/RightPanel/Add/index.d.ts +0 -1
- package/lib/components/productExtension/fields/Actor/index.d.ts +0 -1
- package/lib/components/productExtension/fields/Forms/index.d.ts +0 -1
- package/lib/components/productExtension/fields/SelectProducts/ProductItem/index.d.ts +0 -1
- package/lib/components/productExtension/fields/SelectProducts/index.d.ts +0 -1
- package/lib/components/schedules/components/ScheduleList/index.d.ts +0 -1
- package/lib/components/schedules/products/ProductDetailDrawer/ProductDetail/MaxParticipantsModule/index.d.ts +0 -1
- package/lib/components/schedules/products/ProductDetailDrawer/ProductDetail/index.d.ts +0 -1
- package/lib/components/schedules/products/ProductDetailDrawer/index.d.ts +0 -1
- package/lib/components/schedules/products/index.d.ts +0 -1
- package/lib/components/schedules/resources/index.d.ts +0 -1
- package/lib/components/schedules/resources/relationProduct/index.d.ts +0 -1
- package/lib/components/schedules/schedules/AllSchedules/index.d.ts +0 -1
- package/lib/components/schedules/schedules/ScheduleDetailDrawer/index.d.ts +0 -1
- package/lib/components/schedules/schedules/index.d.ts +0 -1
- package/lib/components/shoppingCart/components/Render/index.d.ts +0 -1
- package/lib/components/shoppingCart/index.d.ts +0 -1
- package/lib/components/ticketBooking/components/ProductDisplayAdapter/ProductDisplayAdapter.js +165 -0
- package/lib/components/ticketBooking/components/ProductDisplayAdapter/index.js +45 -0
- package/lib/components/ticketBooking/components/ProductDisplayAdapter/index.less +41 -0
- package/lib/components/ticketBooking/components/ProductDisplayAdapter/types.js +247 -0
- package/lib/components/ticketBooking/components/ProductDisplayAdapter/utils.js +100 -0
- package/lib/components/ticketBooking/components/addServiceVariant/addService.d.ts +20 -0
- package/lib/components/ticketBooking/components/addServiceVariant/addService.js +45 -11
- package/lib/components/ticketBooking/components/addServiceVariant/index.js +3 -2
- package/lib/components/ticketBooking/components/menuBar/index.js +24 -18
- package/lib/components/ticketBooking/components/menuBar/index.less +27 -1
- package/lib/components/ticketBooking/components/ticketBooking/index.d.ts +6 -1
- package/lib/components/ticketBooking/components/ticketBooking/index.js +56 -25
- package/lib/components/ticketBooking/components/timeBar/index.less +1 -0
- package/lib/components/ticketBooking/context/IsActiveContext.js +56 -0
- package/lib/components/ticketBooking/context/OsKeyContext.js +56 -0
- package/lib/components/ticketBooking/context/index.js +44 -0
- package/lib/components/ticketBooking/hooks/pisellos/bookingTicket.js +5 -1
- package/lib/components/ticketBooking/hooks/pisellos/index.js +3 -1
- package/lib/components/ticketBooking/hooks/pisellos/useActiveExecute.js +47 -0
- package/lib/components/ticketBooking/hooks/pisellos/useCustomer.js +17 -10
- package/lib/components/ticketBooking/hooks/pisellos/useProducts.js +26 -4
- package/lib/components/ticketBooking/hooks/pisellos/useScanCustomer.js +4 -2
- package/lib/components/ticketBooking/hooks/pisellos/useScanGlobal.js +6 -2
- package/lib/components/ticketBooking/hooks/pisellos/useShopDiscountModule.js +37 -0
- package/lib/components/ticketBooking/index.d.ts +6 -0
- package/lib/components/ticketBooking/index.js +64 -8
- package/lib/components/ticketBooking/utils/index.js +70 -2
- package/lib/components/ticketBooking/utils/productCache.js +144 -0
- package/lib/components/wallet/hooks/useWalletCard.d.ts +0 -1
- package/lib/index.js +6 -0
- package/lib/plus/productSelect/ProductCard/SkuCard/SkuCardA1/index.js +42 -0
- package/lib/plus/productSelect/ProductCard/SkuCard/SkuCardA1/index.less +8 -0
- package/lib/plus/productSelect/ProductCard/SkuCard/SkuCardA2/index.js +42 -0
- package/lib/plus/productSelect/ProductCard/SkuCard/SkuCardA2/index.less +17 -0
- package/lib/plus/productSelect/ProductCard/SkuCard/SkuCardA5/index.js +42 -0
- package/lib/plus/productSelect/ProductCard/SkuCard/SkuCardA5/index.less +17 -0
- package/lib/plus/productSelect/ProductCard/SkuCard/SkuCardA9/index.js +42 -0
- package/lib/plus/productSelect/ProductCard/SkuCard/SkuCardA9/index.less +17 -0
- package/lib/plus/productSelect/ProductCard/SkuCard/SkuCardCustom/index.js +42 -0
- package/lib/plus/productSelect/ProductCard/SkuCard/SkuCardCustom/index.less +2 -0
- package/lib/plus/productSelect/ProductCard/SkuCard/components/Action/index.js +129 -0
- package/lib/plus/productSelect/ProductCard/SkuCard/components/Action/index.less +8 -0
- package/lib/plus/productSelect/ProductCard/SkuCard/components/Capacity/index.js +52 -0
- package/lib/plus/productSelect/ProductCard/SkuCard/components/Capacity/index.less +3 -0
- package/lib/plus/productSelect/ProductCard/SkuCard/components/CardCom/index.js +178 -0
- package/lib/plus/productSelect/ProductCard/SkuCard/components/CardCom/index.less +44 -0
- package/lib/plus/productSelect/ProductCard/SkuCard/components/CardMask/index.js +52 -0
- package/lib/plus/productSelect/ProductCard/SkuCard/components/CardMask/index.less +14 -0
- package/lib/plus/productSelect/ProductCard/SkuCard/components/CardMoreText/index.js +63 -0
- package/lib/plus/productSelect/ProductCard/SkuCard/components/CardMoreText/index.less +30 -0
- package/lib/plus/productSelect/ProductCard/SkuCard/components/CardWrapper/index.js +131 -0
- package/lib/plus/productSelect/ProductCard/SkuCard/components/CardWrapper/index.less +46 -0
- package/lib/plus/productSelect/ProductCard/SkuCard/components/Countdown/index.js +62 -0
- package/lib/plus/productSelect/ProductCard/SkuCard/components/Countdown/index.less +9 -0
- package/lib/plus/productSelect/ProductCard/SkuCard/components/Cover/index.js +78 -0
- package/lib/plus/productSelect/ProductCard/SkuCard/components/Cover/index.less +31 -0
- package/lib/plus/productSelect/ProductCard/SkuCard/components/Duration/index.js +51 -0
- package/lib/plus/productSelect/ProductCard/SkuCard/components/Duration/index.less +3 -0
- package/lib/plus/productSelect/ProductCard/SkuCard/components/Favorite/index.js +94 -0
- package/lib/plus/productSelect/ProductCard/SkuCard/components/Favorite/index.less +11 -0
- package/lib/plus/productSelect/ProductCard/SkuCard/components/MemberPrice/index.js +115 -0
- package/lib/plus/productSelect/ProductCard/SkuCard/components/MemberPrice/index.less +24 -0
- package/lib/plus/productSelect/ProductCard/SkuCard/components/Price/index.js +139 -0
- package/lib/plus/productSelect/ProductCard/SkuCard/components/Price/index.less +57 -0
- package/lib/plus/productSelect/ProductCard/SkuCard/components/Promotions/index.js +97 -0
- package/lib/plus/productSelect/ProductCard/SkuCard/components/Promotions/index.less +18 -0
- package/lib/plus/productSelect/ProductCard/SkuCard/components/Resource/index.js +51 -0
- package/lib/plus/productSelect/ProductCard/SkuCard/components/Resource/index.less +3 -0
- package/lib/plus/productSelect/ProductCard/SkuCard/components/Stock/index.js +58 -0
- package/lib/plus/productSelect/ProductCard/SkuCard/components/Stock/index.less +3 -0
- package/lib/plus/productSelect/ProductCard/SkuCard/components/SubTitle/index.js +56 -0
- package/lib/plus/productSelect/ProductCard/SkuCard/components/SubTitle/index.less +13 -0
- package/lib/plus/productSelect/ProductCard/SkuCard/components/Tags/index.js +97 -0
- package/lib/plus/productSelect/ProductCard/SkuCard/components/Tags/index.less +18 -0
- package/lib/plus/productSelect/ProductCard/SkuCard/components/Time/index.js +51 -0
- package/lib/plus/productSelect/ProductCard/SkuCard/components/Time/index.less +3 -0
- package/lib/plus/productSelect/ProductCard/SkuCard/components/Title/index.js +56 -0
- package/lib/plus/productSelect/ProductCard/SkuCard/components/Title/index.less +13 -0
- package/lib/plus/productSelect/ProductCard/SkuCard/components/TooltipTags/index.js +58 -0
- package/lib/plus/productSelect/ProductCard/SkuCard/components/TooltipTags/index.less +22 -0
- package/lib/plus/productSelect/ProductCard/SkuCard/components/WarningLists/index.js +49 -0
- package/lib/plus/productSelect/ProductCard/SkuCard/components/WarningLists/index.less +20 -0
- package/lib/plus/productSelect/ProductCard/SkuCard/hooks/useDynamicComponents.js +83 -0
- package/lib/plus/productSelect/ProductCard/SkuCard/index.js +68 -0
- package/lib/plus/productSelect/ProductCard/SkuCard/locales.js +65 -0
- package/lib/plus/productSelect/ProductCard/SkuCard/status.js +501 -0
- package/lib/plus/productSelect/ProductCard/SkuCard/type.js +17 -0
- package/lib/plus/productSelect/ProductCard/SkuCard/utils.js +37 -0
- package/lib/plus/productSelect/components/pisellPriceText/index.js +6 -5
- package/lowcode/sku-card/meta.ts +1812 -0
- package/lowcode/sku-card/snippets.ts +372 -0
- package/lowcode/sku-list/meta.ts +410 -0
- package/package.json +1 -1
- package/es/components/booking/components/actionButtons/index.d.ts +0 -31
- package/es/components/booking/components/footer/index.d.ts +0 -11
- package/es/components/booking/components/voucher/index.d.ts +0 -3
- package/es/components/booking/info2/cartClientCard/index.d.ts +0 -6
- package/es/components/checkout/hooks/useWalletPass.d.ts +0 -40
- package/es/components/pay/toB/store/hooks.d.ts +0 -15
- package/es/components/ticketBooking/components/addServiceVariant/index.d.ts +0 -6
- package/es/components/ticketBooking/components/menuBar/index.d.ts +0 -3
- package/es/components/ticketBooking/hooks/pisellos/bookingTicket.d.ts +0 -1
- package/es/components/ticketBooking/hooks/pisellos/index.d.ts +0 -3
- package/es/components/ticketBooking/hooks/pisellos/useCustomer.d.ts +0 -25
- package/es/components/ticketBooking/hooks/pisellos/useScanCustomer.d.ts +0 -5
- package/es/components/ticketBooking/hooks/pisellos/useScanGlobal.d.ts +0 -5
- package/es/components/ticketBooking/utils/index.d.ts +0 -62
- package/es/index.d.ts +0 -63
- package/es/plus/productSelect/components/pisellPriceText/index.d.ts +0 -12
- package/lib/components/booking/components/actionButtons/index.d.ts +0 -31
- package/lib/components/booking/components/footer/index.d.ts +0 -11
- package/lib/components/booking/components/voucher/index.d.ts +0 -3
- package/lib/components/booking/info2/cartClientCard/index.d.ts +0 -6
- package/lib/components/checkout/hooks/useWalletPass.d.ts +0 -40
- package/lib/components/pay/toB/store/hooks.d.ts +0 -15
- package/lib/components/ticketBooking/components/addServiceVariant/index.d.ts +0 -6
- package/lib/components/ticketBooking/components/menuBar/index.d.ts +0 -3
- package/lib/components/ticketBooking/hooks/pisellos/bookingTicket.d.ts +0 -1
- package/lib/components/ticketBooking/hooks/pisellos/index.d.ts +0 -3
- package/lib/components/ticketBooking/hooks/pisellos/useCustomer.d.ts +0 -25
- package/lib/components/ticketBooking/hooks/pisellos/useScanCustomer.d.ts +0 -5
- package/lib/components/ticketBooking/hooks/pisellos/useScanGlobal.d.ts +0 -5
- package/lib/components/ticketBooking/utils/index.d.ts +0 -62
- package/lib/index.d.ts +0 -63
- package/lib/plus/productSelect/components/pisellPriceText/index.d.ts +0 -12
|
@@ -28,6 +28,7 @@
|
|
|
28
28
|
display: flex;
|
|
29
29
|
flex-direction: column;
|
|
30
30
|
align-items: center;
|
|
31
|
+
gap: 12px;
|
|
31
32
|
|
|
32
33
|
.nav-item {
|
|
33
34
|
cursor: pointer;
|
|
@@ -38,10 +39,35 @@
|
|
|
38
39
|
justify-content: center;
|
|
39
40
|
align-items: center;
|
|
40
41
|
position: relative;
|
|
41
|
-
background:
|
|
42
|
+
background: transparent;
|
|
43
|
+
color: rgba(255, 255, 255, 0.75);
|
|
44
|
+
transition: all 0.3s ease;
|
|
45
|
+
|
|
46
|
+
svg {
|
|
47
|
+
transition: all 0.3s ease;
|
|
48
|
+
|
|
49
|
+
path {
|
|
50
|
+
stroke: rgba(255, 255, 255, 0.75);
|
|
51
|
+
transition: all 0.3s ease;
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
&:hover {
|
|
56
|
+
background: rgba(129, 87, 213, 0.1);
|
|
57
|
+
color: rgba(255, 255, 255, 0.95);
|
|
58
|
+
|
|
59
|
+
svg path {
|
|
60
|
+
stroke: rgba(255, 255, 255, 0.95);
|
|
61
|
+
}
|
|
62
|
+
}
|
|
42
63
|
|
|
43
64
|
&.active {
|
|
44
65
|
background: #8157d5;
|
|
66
|
+
color: #ffffff;
|
|
67
|
+
|
|
68
|
+
svg path {
|
|
69
|
+
stroke: #ffffff;
|
|
70
|
+
}
|
|
45
71
|
|
|
46
72
|
&::before {
|
|
47
73
|
display: block;
|
|
@@ -1,4 +1,9 @@
|
|
|
1
1
|
import './index.less';
|
|
2
|
+
import { ProductDisplayConfig, ProductDisplayPresetKey } from '../ProductDisplayAdapter/types';
|
|
2
3
|
export declare const _formatBookingDetail: (data: any, modalState: any) => any;
|
|
3
|
-
declare const TicketBooking: (
|
|
4
|
+
declare const TicketBooking: (props: {
|
|
5
|
+
productDisplayConfig?: ProductDisplayPresetKey | ProductDisplayConfig;
|
|
6
|
+
isShowTimeBar?: boolean;
|
|
7
|
+
isShowFloatButtons?: boolean;
|
|
8
|
+
}) => JSX.Element;
|
|
4
9
|
export default TicketBooking;
|
|
@@ -32,7 +32,7 @@ import dayjs from 'dayjs';
|
|
|
32
32
|
import useEngineContext from "../../../../hooks/useEngineContext";
|
|
33
33
|
import { useStore } from "../../miniRedux";
|
|
34
34
|
import BookingInfo from "../../../../components/booking/info";
|
|
35
|
-
import { formatDateToStr, getNextTimeSlice, getDisabledEdit, restoreProductOtherData, getIsParallelResourcesBooking, formatHolder } from "../../utils";
|
|
35
|
+
import { formatDateToStr, getNextTimeSlice, getDisabledEdit, restoreProductOtherData, getIsParallelResourcesBooking, formatHolder, getBoardConfigCache, setBoardConfigCache } from "../../utils";
|
|
36
36
|
import AddServiceVariant from "../addServiceVariant";
|
|
37
37
|
import TimeBar from "../timeBar";
|
|
38
38
|
import { formatProducts } from "../../../booking/info/service2/utils";
|
|
@@ -49,6 +49,9 @@ import { useCustomer } from "../../hooks/pisellos";
|
|
|
49
49
|
import { useMemoizedFn } from 'ahooks';
|
|
50
50
|
import useScanManager from "../../hooks/pisellos/useScanManager";
|
|
51
51
|
import { useDebounceFn } from 'ahooks';
|
|
52
|
+
import { useOsKey } from "../../context";
|
|
53
|
+
import { useIsActive } from "../../context/IsActiveContext";
|
|
54
|
+
import { useShopDiscountModule } from "../../hooks/pisellos/useShopDiscountModule";
|
|
52
55
|
export var _formatBookingDetail = function _formatBookingDetail(data, modalState) {
|
|
53
56
|
var _bookings$list, _bookings$list2;
|
|
54
57
|
var customer_id = data.customer_id,
|
|
@@ -218,8 +221,13 @@ var formatProductValues = function formatProductValues(data) {
|
|
|
218
221
|
});
|
|
219
222
|
});
|
|
220
223
|
};
|
|
221
|
-
var TicketBooking = function TicketBooking() {
|
|
224
|
+
var TicketBooking = function TicketBooking(props) {
|
|
222
225
|
var _engineContext$appHel2, _state$modalState2, _state$modalState4;
|
|
226
|
+
var productDisplayConfig = props.productDisplayConfig,
|
|
227
|
+
_props$isShowTimeBar = props.isShowTimeBar,
|
|
228
|
+
isShowTimeBar = _props$isShowTimeBar === void 0 ? true : _props$isShowTimeBar,
|
|
229
|
+
_props$isShowFloatBut = props.isShowFloatButtons,
|
|
230
|
+
isShowFloatButtons = _props$isShowFloatBut === void 0 ? true : _props$isShowFloatBut;
|
|
223
231
|
var _useStore = useStore(),
|
|
224
232
|
_useStore2 = _slicedToArray(_useStore, 2),
|
|
225
233
|
state = _useStore2[0],
|
|
@@ -244,6 +252,7 @@ var TicketBooking = function TicketBooking() {
|
|
|
244
252
|
var _listTimerRef = useRef();
|
|
245
253
|
var _timerRef = useRef();
|
|
246
254
|
var _callbackFnRef = useRef();
|
|
255
|
+
var _isFirstLoadBoardConfigRef = useRef(true); // 跟踪 boardConfig 是否首次加载
|
|
247
256
|
var _useState = useState(0),
|
|
248
257
|
_useState2 = _slicedToArray(_useState, 2),
|
|
249
258
|
activeBookingId = _useState2[0],
|
|
@@ -254,6 +263,9 @@ var TicketBooking = function TicketBooking() {
|
|
|
254
263
|
setShowTerminalUpgradeModal = _useState4[1];
|
|
255
264
|
var pisellFloatingPanelRef = useRef(null);
|
|
256
265
|
var closeRef = useRef(null);
|
|
266
|
+
var shopDiscount = useShopDiscountModule();
|
|
267
|
+
var isActive = useIsActive();
|
|
268
|
+
var osKey = useOsKey();
|
|
257
269
|
var bookingTicket = useBookingTicket();
|
|
258
270
|
var _useScanGlobal = useScanGlobal(),
|
|
259
271
|
openScan = _useScanGlobal.openScan,
|
|
@@ -302,16 +314,16 @@ var TicketBooking = function TicketBooking() {
|
|
|
302
314
|
}
|
|
303
315
|
}
|
|
304
316
|
});
|
|
305
|
-
useMemo(function () {
|
|
306
|
-
openScan(function (data) {
|
|
307
|
-
handleScan(data);
|
|
308
|
-
});
|
|
309
|
-
}, []);
|
|
310
317
|
useEffect(function () {
|
|
318
|
+
if (isActive) {
|
|
319
|
+
openScan(function (data) {
|
|
320
|
+
handleScan(data);
|
|
321
|
+
});
|
|
322
|
+
}
|
|
311
323
|
return function () {
|
|
312
324
|
closeScan();
|
|
313
325
|
};
|
|
314
|
-
}, []);
|
|
326
|
+
}, [isActive]);
|
|
315
327
|
var _useDebounceFn = useDebounceFn(function (type, orderId) {
|
|
316
328
|
// 支付成功后清空状态
|
|
317
329
|
try {
|
|
@@ -720,27 +732,57 @@ var TicketBooking = function TicketBooking() {
|
|
|
720
732
|
*/
|
|
721
733
|
var _getBoardConfig = /*#__PURE__*/function () {
|
|
722
734
|
var _ref2 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee2() {
|
|
723
|
-
var
|
|
724
|
-
var bookingConfigParams, data;
|
|
735
|
+
var bookingConfigParams, isHasCache, cachedBoardConfig, _cachedBoardConfig$co, data;
|
|
725
736
|
return _regeneratorRuntime().wrap(function _callee2$(_context2) {
|
|
726
737
|
while (1) switch (_context2.prev = _context2.next) {
|
|
727
738
|
case 0:
|
|
728
|
-
bookingConfigParams = state.bookingConfigParams;
|
|
729
|
-
|
|
739
|
+
bookingConfigParams = state.bookingConfigParams;
|
|
740
|
+
isHasCache = false; // 1. 如果是首次加载,尝试从缓存中获取数据
|
|
741
|
+
if (_isFirstLoadBoardConfigRef.current && osKey) {
|
|
742
|
+
cachedBoardConfig = getBoardConfigCache(osKey);
|
|
743
|
+
if (cachedBoardConfig) {
|
|
744
|
+
isHasCache = true;
|
|
745
|
+
// 先展示缓存数据
|
|
746
|
+
setState({
|
|
747
|
+
bookingConfig: cachedBoardConfig
|
|
748
|
+
});
|
|
749
|
+
console.log('[BoardConfigCache] 使用缓存数据展示');
|
|
750
|
+
|
|
751
|
+
// 如果缓存数据中有 quick_time 配置,也加载快捷时间产品
|
|
752
|
+
if (cachedBoardConfig !== null && cachedBoardConfig !== void 0 && (_cachedBoardConfig$co = cachedBoardConfig.config) !== null && _cachedBoardConfig$co !== void 0 && (_cachedBoardConfig$co = _cachedBoardConfig$co.information_tab) !== null && _cachedBoardConfig$co !== void 0 && (_cachedBoardConfig$co = _cachedBoardConfig$co.appointment_card) !== null && _cachedBoardConfig$co !== void 0 && _cachedBoardConfig$co.quick_time) {
|
|
753
|
+
_getAddTimeProducts();
|
|
754
|
+
}
|
|
755
|
+
}
|
|
756
|
+
_isFirstLoadBoardConfigRef.current = false;
|
|
757
|
+
}
|
|
758
|
+
|
|
759
|
+
// 2. 无论是否有缓存,都调用接口获取最新数据
|
|
760
|
+
_context2.prev = 3;
|
|
761
|
+
_context2.next = 6;
|
|
730
762
|
return getBookingConfig(_objectSpread({}, bookingConfigParams));
|
|
731
|
-
case
|
|
763
|
+
case 6:
|
|
732
764
|
data = _context2.sent;
|
|
733
|
-
if (
|
|
734
|
-
|
|
765
|
+
if (!isHasCache) {
|
|
766
|
+
setState({
|
|
767
|
+
bookingConfig: data
|
|
768
|
+
});
|
|
735
769
|
}
|
|
736
|
-
|
|
737
|
-
|
|
738
|
-
|
|
739
|
-
|
|
770
|
+
// 4. 将新数据缓存到 storage
|
|
771
|
+
if (osKey && data) {
|
|
772
|
+
setBoardConfigCache(osKey, data);
|
|
773
|
+
console.log('[BoardConfigCache] 已更新缓存');
|
|
774
|
+
}
|
|
775
|
+
_context2.next = 14;
|
|
776
|
+
break;
|
|
777
|
+
case 11:
|
|
778
|
+
_context2.prev = 11;
|
|
779
|
+
_context2.t0 = _context2["catch"](3);
|
|
780
|
+
console.error('[BoardConfigCache] 获取配置失败:', _context2.t0);
|
|
781
|
+
case 14:
|
|
740
782
|
case "end":
|
|
741
783
|
return _context2.stop();
|
|
742
784
|
}
|
|
743
|
-
}, _callee2);
|
|
785
|
+
}, _callee2, null, [[3, 11]]);
|
|
744
786
|
}));
|
|
745
787
|
return function _getBoardConfig() {
|
|
746
788
|
return _ref2.apply(this, arguments);
|
|
@@ -1265,10 +1307,11 @@ var TicketBooking = function TicketBooking() {
|
|
|
1265
1307
|
productExtensionType: state.productExtensionType,
|
|
1266
1308
|
isBookingTicket2: true
|
|
1267
1309
|
}),
|
|
1268
|
-
setGlobalState: _setModalState
|
|
1269
|
-
|
|
1310
|
+
setGlobalState: _setModalState,
|
|
1311
|
+
productDisplayConfig: productDisplayConfig
|
|
1312
|
+
}), isShowFloatButtons && /*#__PURE__*/React.createElement(FloatButtons, {
|
|
1270
1313
|
items: floatButtons
|
|
1271
|
-
})), /*#__PURE__*/React.createElement(TimeBar, {
|
|
1314
|
+
})), isShowTimeBar && /*#__PURE__*/React.createElement(TimeBar, {
|
|
1272
1315
|
onCreateClick: handleCreateClick,
|
|
1273
1316
|
setGlobalState: setState,
|
|
1274
1317
|
globalState: state,
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import React, { createContext, useContext } from 'react';
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* IsActive Context
|
|
5
|
+
* 用于在 TicketBooking 组件树中提供 isActive 状态
|
|
6
|
+
* isActive 用于标识当前组件是否处于激活状态
|
|
7
|
+
*/
|
|
8
|
+
|
|
9
|
+
var IsActiveContext = /*#__PURE__*/createContext({
|
|
10
|
+
isActive: true
|
|
11
|
+
});
|
|
12
|
+
/**
|
|
13
|
+
* IsActive Provider
|
|
14
|
+
* 提供 isActive 给子组件使用
|
|
15
|
+
*/
|
|
16
|
+
export var IsActiveProvider = function IsActiveProvider(_ref) {
|
|
17
|
+
var isActive = _ref.isActive,
|
|
18
|
+
children = _ref.children;
|
|
19
|
+
return /*#__PURE__*/React.createElement(IsActiveContext.Provider, {
|
|
20
|
+
value: {
|
|
21
|
+
isActive: isActive
|
|
22
|
+
}
|
|
23
|
+
}, children);
|
|
24
|
+
};
|
|
25
|
+
|
|
26
|
+
/**
|
|
27
|
+
* useIsActive Hook
|
|
28
|
+
* 在子组件中使用此 hook 获取 isActive 状态
|
|
29
|
+
*/
|
|
30
|
+
export var useIsActive = function useIsActive() {
|
|
31
|
+
var context = useContext(IsActiveContext);
|
|
32
|
+
if (!context) {
|
|
33
|
+
throw new Error('useIsActive must be used within an IsActiveProvider');
|
|
34
|
+
}
|
|
35
|
+
return context.isActive;
|
|
36
|
+
};
|
|
37
|
+
export default IsActiveContext;
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import React, { createContext, useContext } from 'react';
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* OsKey Context
|
|
5
|
+
* 用于在 TicketBooking 组件树中提供 pisellos 的 osKey
|
|
6
|
+
* osKey 用于区分不同页面使用同一个组件时的模块标识
|
|
7
|
+
*/
|
|
8
|
+
|
|
9
|
+
var OsKeyContext = /*#__PURE__*/createContext({
|
|
10
|
+
osKey: undefined
|
|
11
|
+
});
|
|
12
|
+
/**
|
|
13
|
+
* OsKey Provider
|
|
14
|
+
* 提供 osKey 给子组件使用
|
|
15
|
+
*/
|
|
16
|
+
export var OsKeyProvider = function OsKeyProvider(_ref) {
|
|
17
|
+
var osKey = _ref.osKey,
|
|
18
|
+
children = _ref.children;
|
|
19
|
+
return /*#__PURE__*/React.createElement(OsKeyContext.Provider, {
|
|
20
|
+
value: {
|
|
21
|
+
osKey: osKey
|
|
22
|
+
}
|
|
23
|
+
}, children);
|
|
24
|
+
};
|
|
25
|
+
|
|
26
|
+
/**
|
|
27
|
+
* useOsKey Hook
|
|
28
|
+
* 在子组件中使用此 hook 获取 osKey
|
|
29
|
+
*/
|
|
30
|
+
export var useOsKey = function useOsKey() {
|
|
31
|
+
var context = useContext(OsKeyContext);
|
|
32
|
+
if (!context) {
|
|
33
|
+
throw new Error('useOsKey must be used within an OsKeyProvider');
|
|
34
|
+
}
|
|
35
|
+
return (context === null || context === void 0 ? void 0 : context.osKey) || "ticket";
|
|
36
|
+
};
|
|
37
|
+
export default OsKeyContext;
|
|
@@ -1,5 +1,17 @@
|
|
|
1
1
|
import { usePisellOS } from "../../../../hooks/useEngineContext";
|
|
2
|
+
import { useOsKey } from "../../context/OsKeyContext";
|
|
3
|
+
import { getBookingTicketKey } from "../../utils";
|
|
4
|
+
|
|
5
|
+
/**
|
|
6
|
+
* useBookingTicket Hook
|
|
7
|
+
* 获取当前 TicketBooking 实例对应的 BookingTicket 模块
|
|
8
|
+
* 通过 osKey 区分不同页面的模块实例
|
|
9
|
+
*/
|
|
2
10
|
export var useBookingTicket = function useBookingTicket() {
|
|
3
11
|
var pisellOS = usePisellOS();
|
|
4
|
-
|
|
12
|
+
var osKey = useOsKey();
|
|
13
|
+
|
|
14
|
+
// 根据 osKey 生成模块名称
|
|
15
|
+
var moduleKey = getBookingTicketKey(osKey || 'ticket');
|
|
16
|
+
return pisellOS.getModule(moduleKey);
|
|
5
17
|
};
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
import { useMemoizedFn } from 'ahooks';
|
|
2
|
+
import { useRef, useEffect } from 'react';
|
|
3
|
+
import { useIsActive } from "../../context/IsActiveContext";
|
|
4
|
+
|
|
5
|
+
/**
|
|
6
|
+
* useActiveExecute Hook
|
|
7
|
+
* 返回一个函数,该函数接收一个回调函数,并返回一个包装后的函数
|
|
8
|
+
* 包装后的函数只在 isActive 为 true 时执行原始回调
|
|
9
|
+
*
|
|
10
|
+
* @example
|
|
11
|
+
* ```tsx
|
|
12
|
+
* const { executeIfActive } = useActiveExecute();
|
|
13
|
+
*
|
|
14
|
+
* // 创建一个包装函数用于事件监听
|
|
15
|
+
* const handleChange = (data) => {
|
|
16
|
+
* console.log('data:', data);
|
|
17
|
+
* };
|
|
18
|
+
*
|
|
19
|
+
* // 返回的函数会在被调用时检查 isActive
|
|
20
|
+
* pisellos.effects.on('event', executeIfActive(handleChange));
|
|
21
|
+
* ```
|
|
22
|
+
*/
|
|
23
|
+
export var useActiveExecute = function useActiveExecute() {
|
|
24
|
+
var isActive = useIsActive();
|
|
25
|
+
// 使用 ref 存储最新的 isActive 值,避免闭包陷阱
|
|
26
|
+
var isActiveRef = useRef(isActive);
|
|
27
|
+
|
|
28
|
+
// 每次 isActive 变化时更新 ref
|
|
29
|
+
useEffect(function () {
|
|
30
|
+
isActiveRef.current = isActive;
|
|
31
|
+
}, [isActive]);
|
|
32
|
+
|
|
33
|
+
/**
|
|
34
|
+
* executeIfActive 接收一个函数,返回一个包装后的函数
|
|
35
|
+
* 包装后的函数会接收所有参数,并在 isActive 为 true 时调用原始函数
|
|
36
|
+
*/
|
|
37
|
+
var executeIfActive = useMemoizedFn(function (fn) {
|
|
38
|
+
return function () {
|
|
39
|
+
// 使用 ref.current 获取最新的 isActive 值
|
|
40
|
+
if (!isActiveRef.current) return;
|
|
41
|
+
for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
|
|
42
|
+
args[_key] = arguments[_key];
|
|
43
|
+
}
|
|
44
|
+
return fn === null || fn === void 0 ? void 0 : fn.apply(void 0, args);
|
|
45
|
+
};
|
|
46
|
+
});
|
|
47
|
+
return {
|
|
48
|
+
executeIfActive: executeIfActive
|
|
49
|
+
};
|
|
50
|
+
};
|
|
@@ -17,9 +17,12 @@ import { useState, useEffect } from 'react';
|
|
|
17
17
|
import { useBookingTicket } from "./bookingTicket";
|
|
18
18
|
import { usePisellOS } from "../../../../hooks/useEngineContext";
|
|
19
19
|
import { useMemoizedFn } from 'ahooks';
|
|
20
|
+
import { useActiveExecute } from "./useActiveExecute";
|
|
20
21
|
export var useCustomer = function useCustomer(props) {
|
|
21
22
|
var bookingTicket = useBookingTicket();
|
|
22
23
|
var pisellos = usePisellOS();
|
|
24
|
+
var _useActiveExecute = useActiveExecute(),
|
|
25
|
+
executeIfActive = _useActiveExecute.executeIfActive;
|
|
23
26
|
|
|
24
27
|
// 客户列表
|
|
25
28
|
var _useState = useState([]),
|
|
@@ -59,10 +62,12 @@ export var useCustomer = function useCustomer(props) {
|
|
|
59
62
|
|
|
60
63
|
// 监听事件
|
|
61
64
|
useEffect(function () {
|
|
62
|
-
|
|
65
|
+
var _bookingTicket$store;
|
|
66
|
+
if (!bookingTicket) {
|
|
63
67
|
return;
|
|
64
68
|
}
|
|
65
|
-
var
|
|
69
|
+
var customerModule = bookingTicket === null || bookingTicket === void 0 || (_bookingTicket$store = bookingTicket.store) === null || _bookingTicket$store === void 0 ? void 0 : _bookingTicket$store.customer;
|
|
70
|
+
var wrappedOnCustomerListUpdate = executeIfActive(function (state) {
|
|
66
71
|
setCustomers(state.customerList);
|
|
67
72
|
setHasMore(state.hasMore);
|
|
68
73
|
setPagination(function (prev) {
|
|
@@ -73,14 +78,17 @@ export var useCustomer = function useCustomer(props) {
|
|
|
73
78
|
});
|
|
74
79
|
});
|
|
75
80
|
});
|
|
76
|
-
var
|
|
81
|
+
var wrappedOnCustomerSelected = executeIfActive(function (customer) {
|
|
77
82
|
var _props$changeCustomer;
|
|
78
83
|
setSelectedCustomer(customer);
|
|
79
84
|
(_props$changeCustomer = props.changeCustomerToGlobalState) === null || _props$changeCustomer === void 0 || _props$changeCustomer.call(props, customer);
|
|
80
85
|
});
|
|
81
|
-
var
|
|
86
|
+
var wrappedOnPaginationChange = executeIfActive(function (paginationInfo) {
|
|
82
87
|
setPagination(paginationInfo);
|
|
83
88
|
});
|
|
89
|
+
var unlisten1 = customerModule.effectsOn('onCustomerListUpdate', wrappedOnCustomerListUpdate);
|
|
90
|
+
var unlisten2 = customerModule.effectsOn('onCustomerSelected', wrappedOnCustomerSelected);
|
|
91
|
+
var unlisten3 = customerModule.effectsOn('onPaginationChange', wrappedOnPaginationChange);
|
|
84
92
|
return function () {
|
|
85
93
|
unlisten1();
|
|
86
94
|
unlisten2();
|
|
@@ -10,9 +10,12 @@ function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" !=
|
|
|
10
10
|
function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
|
|
11
11
|
import { useMemoizedFn } from 'ahooks';
|
|
12
12
|
import { useBookingTicket } from "./bookingTicket";
|
|
13
|
-
import { useState } from 'react';
|
|
13
|
+
import { useState, useRef } from 'react';
|
|
14
|
+
import { useOsKey } from "../../context/OsKeyContext";
|
|
15
|
+
import { getProductCache, setProductCache } from "../../utils/productCache";
|
|
14
16
|
export var useProducts = function useProducts() {
|
|
15
17
|
var bookingTicket = useBookingTicket();
|
|
18
|
+
var osKey = useOsKey();
|
|
16
19
|
var _useState = useState([]),
|
|
17
20
|
_useState2 = _slicedToArray(_useState, 2),
|
|
18
21
|
products = _useState2[0],
|
|
@@ -21,24 +24,55 @@ export var useProducts = function useProducts() {
|
|
|
21
24
|
_useState4 = _slicedToArray(_useState3, 2),
|
|
22
25
|
loading = _useState4[0],
|
|
23
26
|
setLoading = _useState4[1];
|
|
27
|
+
var isFirstLoadRef = useRef(true);
|
|
24
28
|
var getProducts = useMemoizedFn( /*#__PURE__*/function () {
|
|
25
29
|
var _ref = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee(params) {
|
|
26
|
-
var
|
|
30
|
+
var cachedProducts, freshProducts;
|
|
27
31
|
return _regeneratorRuntime().wrap(function _callee$(_context) {
|
|
28
32
|
while (1) switch (_context.prev = _context.next) {
|
|
29
33
|
case 0:
|
|
30
|
-
|
|
31
|
-
|
|
34
|
+
// 1. 如果是首次加载,尝试从缓存中获取数据
|
|
35
|
+
if (isFirstLoadRef.current && osKey) {
|
|
36
|
+
cachedProducts = getProductCache(osKey);
|
|
37
|
+
if (cachedProducts) {
|
|
38
|
+
// 先展示缓存数据
|
|
39
|
+
setProducts(cachedProducts);
|
|
40
|
+
setLoading(false);
|
|
41
|
+
}
|
|
42
|
+
isFirstLoadRef.current = false;
|
|
43
|
+
} else {
|
|
44
|
+
setLoading(true);
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
// 2. 无论是否有缓存,都调用接口获取最新数据
|
|
48
|
+
_context.prev = 1;
|
|
49
|
+
_context.next = 4;
|
|
32
50
|
return bookingTicket.loadProducts(params);
|
|
33
|
-
case
|
|
34
|
-
|
|
35
|
-
|
|
51
|
+
case 4:
|
|
52
|
+
freshProducts = _context.sent;
|
|
53
|
+
// 3. 更新展示数据
|
|
54
|
+
setProducts(freshProducts);
|
|
55
|
+
|
|
56
|
+
// 4. 将新数据缓存到 storage
|
|
57
|
+
if (osKey) {
|
|
58
|
+
setProductCache(osKey, freshProducts);
|
|
59
|
+
console.log('[ProductCache] 已更新缓存');
|
|
60
|
+
}
|
|
61
|
+
_context.next = 12;
|
|
62
|
+
break;
|
|
63
|
+
case 9:
|
|
64
|
+
_context.prev = 9;
|
|
65
|
+
_context.t0 = _context["catch"](1);
|
|
66
|
+
console.error('[ProductCache] 获取产品失败:', _context.t0);
|
|
67
|
+
case 12:
|
|
68
|
+
_context.prev = 12;
|
|
36
69
|
setLoading(false);
|
|
37
|
-
|
|
70
|
+
return _context.finish(12);
|
|
71
|
+
case 15:
|
|
38
72
|
case "end":
|
|
39
73
|
return _context.stop();
|
|
40
74
|
}
|
|
41
|
-
}, _callee);
|
|
75
|
+
}, _callee, null, [[1, 9, 12, 15]]);
|
|
42
76
|
}));
|
|
43
77
|
return function (_x) {
|
|
44
78
|
return _ref.apply(this, arguments);
|
|
@@ -3,13 +3,16 @@ import { locales } from "@pisell/utils";
|
|
|
3
3
|
import { useBookingTicket } from "./bookingTicket";
|
|
4
4
|
import { formatScanCustomer } from "../../utils";
|
|
5
5
|
import { useToast } from '@pisell/materials';
|
|
6
|
+
import { useActiveExecute } from "./useActiveExecute";
|
|
6
7
|
var useScanCustomer = function useScanCustomer() {
|
|
7
8
|
var bookingTicket = useBookingTicket();
|
|
8
9
|
var scanRef = useRef(null);
|
|
9
10
|
var Toast = useToast();
|
|
11
|
+
var _useActiveExecute = useActiveExecute(),
|
|
12
|
+
executeIfActive = _useActiveExecute.executeIfActive;
|
|
10
13
|
var handleScanCustomer = function handleScanCustomer(callback) {
|
|
11
14
|
console.log('handleScanCustomer>>>>>>>', callback);
|
|
12
|
-
scanRef.current = bookingTicket === null || bookingTicket === void 0 ? void 0 : bookingTicket.scanCustomerListener(function (data) {
|
|
15
|
+
scanRef.current = bookingTicket === null || bookingTicket === void 0 ? void 0 : bookingTicket.scanCustomerListener(executeIfActive(function (data) {
|
|
13
16
|
console.log('scanCustomerListener>>>>>>>', data);
|
|
14
17
|
if (data.status === 'failed') {
|
|
15
18
|
Toast.fail(locales.getText('pisell2.text.scan-global-failed'));
|
|
@@ -17,7 +20,7 @@ var useScanCustomer = function useScanCustomer() {
|
|
|
17
20
|
}
|
|
18
21
|
var customer = formatScanCustomer(data);
|
|
19
22
|
callback(customer);
|
|
20
|
-
});
|
|
23
|
+
}));
|
|
21
24
|
};
|
|
22
25
|
return {
|
|
23
26
|
openScan: handleScanCustomer,
|
|
@@ -3,12 +3,17 @@ import { useBookingTicket } from "./bookingTicket";
|
|
|
3
3
|
import { formatScanGlobal } from "../../utils";
|
|
4
4
|
import { useToast } from '@pisell/materials';
|
|
5
5
|
import { locales } from '@pisell/utils';
|
|
6
|
+
import { useActiveExecute } from "./useActiveExecute";
|
|
6
7
|
var useScanGlobal = function useScanGlobal() {
|
|
7
8
|
var bookingTicket = useBookingTicket();
|
|
8
9
|
var scanRef = useRef(null);
|
|
9
10
|
var Toast = useToast();
|
|
11
|
+
var _useActiveExecute = useActiveExecute(),
|
|
12
|
+
executeIfActive = _useActiveExecute.executeIfActive;
|
|
10
13
|
var handleScanGlobal = function handleScanGlobal(callback) {
|
|
11
|
-
|
|
14
|
+
var _bookingTicket$initPe;
|
|
15
|
+
bookingTicket === null || bookingTicket === void 0 || (_bookingTicket$initPe = bookingTicket.initPeripheralsListener) === null || _bookingTicket$initPe === void 0 || _bookingTicket$initPe.call(bookingTicket);
|
|
16
|
+
scanRef.current = bookingTicket === null || bookingTicket === void 0 ? void 0 : bookingTicket.scanGlobalListener(executeIfActive(function (data) {
|
|
12
17
|
console.log('scanGlobalListener>>>>>>>', data);
|
|
13
18
|
if (data.status === 'failed') {
|
|
14
19
|
Toast.fail(locales.getText('pisell2.text.scan-global-failed'));
|
|
@@ -16,7 +21,7 @@ var useScanGlobal = function useScanGlobal() {
|
|
|
16
21
|
}
|
|
17
22
|
var result = formatScanGlobal(data);
|
|
18
23
|
callback(result);
|
|
19
|
-
});
|
|
24
|
+
}));
|
|
20
25
|
};
|
|
21
26
|
return {
|
|
22
27
|
openScan: handleScanGlobal,
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { usePisellOS } from "../../../../hooks/useEngineContext";
|
|
2
|
+
import { useOsKey } from "../../context/OsKeyContext";
|
|
3
|
+
import { getShopDiscountKey } from "../../utils";
|
|
4
|
+
|
|
5
|
+
/**
|
|
6
|
+
* useShopDiscountModule Hook
|
|
7
|
+
* 获取当前 ShopDiscount 模块
|
|
8
|
+
* 通过 osKey 区分不同页面的模块实例
|
|
9
|
+
*/
|
|
10
|
+
export var useShopDiscountModule = function useShopDiscountModule() {
|
|
11
|
+
var pisellOS = usePisellOS();
|
|
12
|
+
var osKey = useOsKey();
|
|
13
|
+
|
|
14
|
+
// 根据 osKey 生成模块名称
|
|
15
|
+
var moduleKey = getShopDiscountKey(osKey || 'ticket');
|
|
16
|
+
return pisellOS.getModule(moduleKey);
|
|
17
|
+
};
|
|
@@ -1,8 +1,14 @@
|
|
|
1
|
+
import { ProductDisplayConfig, ProductDisplayPresetKey } from './components/ProductDisplayAdapter/types';
|
|
1
2
|
import './index.less';
|
|
2
3
|
interface TicketBookingProps {
|
|
3
4
|
productExtensionType: string[];
|
|
4
5
|
bookingConfigParams: Record<string, any>;
|
|
5
6
|
isShowMenuBar?: boolean;
|
|
7
|
+
isShowTimeBar?: boolean;
|
|
8
|
+
isShowFloatButtons?: boolean;
|
|
9
|
+
productDisplayConfig?: ProductDisplayPresetKey | ProductDisplayConfig;
|
|
10
|
+
isActive?: boolean;
|
|
11
|
+
rulesHooks?: any;
|
|
6
12
|
}
|
|
7
13
|
declare const _default: (props: TicketBookingProps) => JSX.Element;
|
|
8
14
|
export default _default;
|