@pisell/private-materials 6.4.56 → 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 -12
- 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 +6 -6
- package/es/components/Sales/Summary/utils.d.ts +1 -1
- package/es/components/appointmentBooking/components/Guest/components/InformationOptionsModal/index.d.ts +1 -0
- package/es/components/booking/addons/model.d.ts +10 -1
- package/es/components/booking/components/TabProduct/selectProductItem/index.d.ts +1 -0
- package/es/components/booking/components/actionButtons/index.js +15 -7
- package/es/components/booking/components/collapsibleList/utils.d.ts +1 -0
- package/es/components/booking/components/emptyBooking/index.d.ts +1 -0
- package/es/components/booking/components/footer/FooterMenus/index.d.ts +1 -0
- 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 +7 -2
- package/es/components/booking/components/formItemChildrenWrap/index.d.ts +1 -0
- package/es/components/booking/components/voucher/index.js +23 -19
- package/es/components/booking/forms/model.d.ts +10 -1
- package/es/components/booking/forms/table/index.d.ts +1 -0
- package/es/components/booking/hooks/useClearCart.d.ts +1 -0
- package/es/components/booking/info/clientVariant/hooks/useClientFn.d.ts +1 -0
- package/es/components/booking/info/clientVariant/hooks/useIsLowSpeedNetwork.d.ts +1 -0
- package/es/components/booking/info/date/index.d.ts +1 -0
- package/es/components/booking/info/dateRange/index.d.ts +1 -0
- package/es/components/booking/info/model.d.ts +10 -1
- package/es/components/booking/info/service/actions/index.d.ts +1 -0
- package/es/components/booking/info/service/addService/utils.d.ts +1 -1
- package/es/components/booking/info/service/like/index.d.ts +1 -0
- package/es/components/booking/info/service2/utils.d.ts +1 -1
- package/es/components/booking/info2/cartClientCard/index.js +7 -3
- package/es/components/booking/info2/service/actions/index.d.ts +1 -0
- package/es/components/booking/info2/service/addService/utils.d.ts +1 -1
- package/es/components/booking/materiels/duration/index.d.ts +1 -0
- package/es/components/booking/materiels/holder/index.d.ts +1 -0
- package/es/components/booking/materiels/startTime/index.d.ts +1 -0
- package/es/components/booking/model.d.ts +9 -1
- package/es/components/booking/notes/NoteBlock/NoteItem/index.d.ts +1 -0
- package/es/components/booking/notes/model.d.ts +10 -1
- package/es/components/booking/payments/model.d.ts +10 -1
- package/es/components/booking/utils.d.ts +2 -2
- package/es/components/checkout/PaymentModal.js +17 -12
- package/es/components/checkout/hooks/useWalletPass.js +36 -21
- package/es/components/eftpos/deviceList/index.d.ts +1 -0
- package/es/components/eftpos/group/index.d.ts +1 -0
- package/es/components/eftpos/icon/apiKey.d.ts +1 -0
- package/es/components/eftpos/icon/device.d.ts +1 -0
- package/es/components/eftpos/receipt/index.d.ts +1 -0
- package/es/components/eftposPay/amount.d.ts +1 -1
- package/es/components/eftposPay/component/alert/warn.d.ts +1 -0
- package/es/components/eftposPay/component/header/titlebar.d.ts +1 -0
- package/es/components/eftposPay/component/step/index.d.ts +1 -0
- package/es/components/eftposPay/component/step/step.d.ts +1 -0
- package/es/components/eftposPay/device.d.ts +1 -1
- package/es/components/eftposPay/hooks.d.ts +2 -2
- package/es/components/eftposPay/payo/config.d.ts +1 -0
- package/es/components/eftposPay/store/index.d.ts +5 -5
- package/es/components/eftposPay/tip.d.ts +1 -0
- package/es/components/eftposPay/tyro/hooks.d.ts +1 -0
- package/es/components/eftposPay/windcave/receiptAction.d.ts +1 -0
- package/es/components/eftposPay/windcave/windcave.d.ts +1 -0
- package/es/components/eventBooking/components/ErrorTip/index.d.ts +1 -0
- package/es/components/eventBooking/components/Provider/EmptyHolderModal/index.d.ts +1 -0
- package/es/components/eventBooking/components/Provider/InformationOptionsModal/index.d.ts +1 -0
- package/es/components/eventBooking/components/Provider/OrderProductModal/index.d.ts +1 -0
- package/es/components/eventBooking/components/Provider/RemoveOptionConfirmModal.d.ts +1 -0
- package/es/components/eventBooking/components/bookingAvailabilityCalendar/components/CalendarDate/CalenDateStatus/index.d.ts +1 -0
- package/es/components/eventBooking/components/bookingAvailabilityCalendar/components/CalendarDate/CalenDateWeek/WeekItem/index.d.ts +1 -0
- package/es/components/eventBooking/components/bookingAvailabilityCalendar/components/CalendarDate/CalenDateWeek/index.d.ts +1 -0
- package/es/components/eventBooking/components/bookingAvailabilityCalendar/components/CalendarDate/Item/DayItem/index.d.ts +1 -0
- package/es/components/eventBooking/components/bookingAvailabilityCalendar/components/CalendarDate/Item/index.d.ts +1 -0
- package/es/components/eventBooking/components/bookingAvailabilityCalendar/components/CalendarDate/Status/index.d.ts +1 -0
- package/es/components/eventBooking/components/scheduleCalendar/components/ScheduleTimeItem/index.d.ts +1 -0
- 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/login/index.d.ts +1 -0
- package/es/components/pay/toB/store/hooks.js +19 -5
- package/es/components/pay/toC/PaymentMethods/StripePay/Stripe/components/SetupForm/index.d.ts +1 -0
- package/es/components/pay/toC/WalletPassBlock/components/WalletUseList/index.d.ts +1 -0
- package/es/components/pay/toC/model.d.ts +9 -1
- package/es/components/pisellSelectCustomerModal/RightPanel/Add/BirthdayField/index.d.ts +1 -0
- package/es/components/pisellSelectCustomerModal/RightPanel/Add/GenderField/index.d.ts +1 -0
- package/es/components/pisellSelectCustomerModal/RightPanel/List/index.d.ts +1 -0
- package/es/components/productExtension/fields/SelectProducts/ProductItemPreview/index.d.ts +1 -0
- package/es/components/productExtension/fields/SelectResourcesTable/index.d.ts +1 -0
- package/es/components/ruleSetting/ruleBorder/index.d.ts +1 -0
- package/es/components/schedules/calendar/calendarItem.d.ts +1 -0
- package/es/components/schedules/calendar/index.d.ts +1 -0
- package/es/components/schedules/components/CurrentDay/index.d.ts +1 -0
- package/es/components/schedules/components/ScheduleDetailList/index.d.ts +1 -0
- package/es/components/schedules/model.d.ts +9 -1
- package/es/components/schedules/products/ProductDetailDrawer/ProductDetail/ResourcesModule/index.d.ts +1 -0
- package/es/components/schedules/products/ProductDetailDrawer/ProductDetailByDate/index.d.ts +1 -0
- package/es/components/schedules/products/list/ProductItem/index.d.ts +1 -0
- package/es/components/schedules/products/list/index.d.ts +1 -0
- package/es/components/schedules/resources/list/index.d.ts +1 -0
- package/es/components/shoppingCart/components/Empty/index.d.ts +1 -0
- package/es/components/shoppingCart/hooks/useAddService.d.ts +1 -0
- package/es/components/shoppingCart/hooks/useClearCart.d.ts +1 -0
- 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/Detail/model.d.ts +13 -1
- package/es/components/wallet/DiscountCard/model.d.ts +14 -1
- package/es/components/wallet/PointCard/model.d.ts +13 -1
- package/es/components/wallet/RechargeableCard/model.d.ts +29 -1
- package/es/components/wallet/Voucher/model.d.ts +13 -1
- package/es/components/wallet/model.d.ts +9 -1
- package/es/components/workSpaceList/components/Modal/index.d.ts +1 -0
- package/es/hooks/usePaymentLogger.d.ts +1 -0
- 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/es/plus/saasCreateOrganization/components/Header.d.ts +1 -0
- package/es/plus/saasRegister/components/EntryEmail.d.ts +1 -0
- package/es/plus/saasRegister/components/EntryInfo.d.ts +1 -0
- package/es/plus/saasRegister/components/GoLogin.d.ts +1 -0
- package/es/plus/saasRegister/components/Header.d.ts +1 -0
- package/es/plus/saasRegister/components/VerifyError.d.ts +1 -0
- package/es/plus/saasRegister/components/VerifyingLink.d.ts +1 -0
- package/es/plus/saasRegister/components/VertifyEmail.d.ts +1 -0
- package/lib/components/Sales/Summary/utils.d.ts +1 -1
- package/lib/components/appointmentBooking/components/Guest/components/InformationOptionsModal/index.d.ts +1 -0
- package/lib/components/booking/addons/model.d.ts +10 -1
- package/lib/components/booking/components/TabProduct/selectProductItem/index.d.ts +1 -0
- package/lib/components/booking/components/actionButtons/index.js +22 -15
- package/lib/components/booking/components/collapsibleList/utils.d.ts +1 -0
- package/lib/components/booking/components/emptyBooking/index.d.ts +1 -0
- package/lib/components/booking/components/footer/FooterMenus/index.d.ts +1 -0
- 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 +7 -2
- package/lib/components/booking/components/formItemChildrenWrap/index.d.ts +1 -0
- package/lib/components/booking/components/voucher/index.js +33 -40
- package/lib/components/booking/forms/model.d.ts +10 -1
- package/lib/components/booking/forms/table/index.d.ts +1 -0
- package/lib/components/booking/hooks/useClearCart.d.ts +1 -0
- package/lib/components/booking/info/clientVariant/hooks/useClientFn.d.ts +1 -0
- package/lib/components/booking/info/clientVariant/hooks/useIsLowSpeedNetwork.d.ts +1 -0
- package/lib/components/booking/info/date/index.d.ts +1 -0
- package/lib/components/booking/info/dateRange/index.d.ts +1 -0
- package/lib/components/booking/info/model.d.ts +10 -1
- package/lib/components/booking/info/service/actions/index.d.ts +1 -0
- package/lib/components/booking/info/service/addService/utils.d.ts +1 -1
- package/lib/components/booking/info/service/like/index.d.ts +1 -0
- package/lib/components/booking/info/service2/utils.d.ts +1 -1
- package/lib/components/booking/info2/cartClientCard/index.js +7 -3
- package/lib/components/booking/info2/service/actions/index.d.ts +1 -0
- package/lib/components/booking/info2/service/addService/utils.d.ts +1 -1
- package/lib/components/booking/materiels/duration/index.d.ts +1 -0
- package/lib/components/booking/materiels/holder/index.d.ts +1 -0
- package/lib/components/booking/materiels/startTime/index.d.ts +1 -0
- package/lib/components/booking/model.d.ts +9 -1
- package/lib/components/booking/notes/NoteBlock/NoteItem/index.d.ts +1 -0
- package/lib/components/booking/notes/model.d.ts +10 -1
- package/lib/components/booking/payments/model.d.ts +10 -1
- package/lib/components/booking/utils.d.ts +2 -2
- package/lib/components/checkout/PaymentModal.js +15 -12
- package/lib/components/checkout/hooks/useWalletPass.js +57 -45
- package/lib/components/eftpos/deviceList/index.d.ts +1 -0
- package/lib/components/eftpos/group/index.d.ts +1 -0
- package/lib/components/eftpos/icon/apiKey.d.ts +1 -0
- package/lib/components/eftpos/icon/device.d.ts +1 -0
- package/lib/components/eftpos/receipt/index.d.ts +1 -0
- package/lib/components/eftposPay/amount.d.ts +1 -1
- package/lib/components/eftposPay/component/alert/warn.d.ts +1 -0
- package/lib/components/eftposPay/component/header/titlebar.d.ts +1 -0
- package/lib/components/eftposPay/component/step/index.d.ts +1 -0
- package/lib/components/eftposPay/component/step/step.d.ts +1 -0
- package/lib/components/eftposPay/device.d.ts +1 -1
- package/lib/components/eftposPay/hooks.d.ts +2 -2
- package/lib/components/eftposPay/payo/config.d.ts +1 -0
- package/lib/components/eftposPay/store/index.d.ts +5 -5
- package/lib/components/eftposPay/tip.d.ts +1 -0
- package/lib/components/eftposPay/tyro/hooks.d.ts +1 -0
- package/lib/components/eftposPay/windcave/receiptAction.d.ts +1 -0
- package/lib/components/eftposPay/windcave/windcave.d.ts +1 -0
- package/lib/components/eventBooking/components/ErrorTip/index.d.ts +1 -0
- package/lib/components/eventBooking/components/Provider/EmptyHolderModal/index.d.ts +1 -0
- package/lib/components/eventBooking/components/Provider/InformationOptionsModal/index.d.ts +1 -0
- package/lib/components/eventBooking/components/Provider/OrderProductModal/index.d.ts +1 -0
- package/lib/components/eventBooking/components/Provider/RemoveOptionConfirmModal.d.ts +1 -0
- package/lib/components/eventBooking/components/bookingAvailabilityCalendar/components/CalendarDate/CalenDateStatus/index.d.ts +1 -0
- package/lib/components/eventBooking/components/bookingAvailabilityCalendar/components/CalendarDate/CalenDateWeek/WeekItem/index.d.ts +1 -0
- package/lib/components/eventBooking/components/bookingAvailabilityCalendar/components/CalendarDate/CalenDateWeek/index.d.ts +1 -0
- package/lib/components/eventBooking/components/bookingAvailabilityCalendar/components/CalendarDate/Item/DayItem/index.d.ts +1 -0
- package/lib/components/eventBooking/components/bookingAvailabilityCalendar/components/CalendarDate/Item/index.d.ts +1 -0
- package/lib/components/eventBooking/components/bookingAvailabilityCalendar/components/CalendarDate/Status/index.d.ts +1 -0
- package/lib/components/eventBooking/components/scheduleCalendar/components/ScheduleTimeItem/index.d.ts +1 -0
- 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/login/index.d.ts +1 -0
- package/lib/components/pay/toB/store/hooks.js +16 -8
- package/lib/components/pay/toC/PaymentMethods/StripePay/Stripe/components/SetupForm/index.d.ts +1 -0
- package/lib/components/pay/toC/WalletPassBlock/components/WalletUseList/index.d.ts +1 -0
- package/lib/components/pay/toC/model.d.ts +9 -1
- package/lib/components/pisellSelectCustomerModal/RightPanel/Add/BirthdayField/index.d.ts +1 -0
- package/lib/components/pisellSelectCustomerModal/RightPanel/Add/GenderField/index.d.ts +1 -0
- package/lib/components/pisellSelectCustomerModal/RightPanel/List/index.d.ts +1 -0
- package/lib/components/productExtension/fields/SelectProducts/ProductItemPreview/index.d.ts +1 -0
- package/lib/components/productExtension/fields/SelectResourcesTable/index.d.ts +1 -0
- package/lib/components/ruleSetting/ruleBorder/index.d.ts +1 -0
- package/lib/components/schedules/calendar/calendarItem.d.ts +1 -0
- package/lib/components/schedules/calendar/index.d.ts +1 -0
- package/lib/components/schedules/components/CurrentDay/index.d.ts +1 -0
- package/lib/components/schedules/components/ScheduleDetailList/index.d.ts +1 -0
- package/lib/components/schedules/model.d.ts +9 -1
- package/lib/components/schedules/products/ProductDetailDrawer/ProductDetail/ResourcesModule/index.d.ts +1 -0
- package/lib/components/schedules/products/ProductDetailDrawer/ProductDetailByDate/index.d.ts +1 -0
- package/lib/components/schedules/products/list/ProductItem/index.d.ts +1 -0
- package/lib/components/schedules/products/list/index.d.ts +1 -0
- package/lib/components/schedules/resources/list/index.d.ts +1 -0
- package/lib/components/shoppingCart/components/Empty/index.d.ts +1 -0
- package/lib/components/shoppingCart/hooks/useAddService.d.ts +1 -0
- package/lib/components/shoppingCart/hooks/useClearCart.d.ts +1 -0
- 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/Detail/model.d.ts +13 -1
- package/lib/components/wallet/DiscountCard/model.d.ts +14 -1
- package/lib/components/wallet/PointCard/model.d.ts +13 -1
- package/lib/components/wallet/RechargeableCard/model.d.ts +29 -1
- package/lib/components/wallet/Voucher/model.d.ts +13 -1
- package/lib/components/wallet/model.d.ts +9 -1
- package/lib/components/workSpaceList/components/Modal/index.d.ts +1 -0
- package/lib/hooks/usePaymentLogger.d.ts +1 -0
- 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/lib/plus/saasCreateOrganization/components/Header.d.ts +1 -0
- package/lib/plus/saasRegister/components/EntryEmail.d.ts +1 -0
- package/lib/plus/saasRegister/components/EntryInfo.d.ts +1 -0
- package/lib/plus/saasRegister/components/GoLogin.d.ts +1 -0
- package/lib/plus/saasRegister/components/Header.d.ts +1 -0
- package/lib/plus/saasRegister/components/VerifyError.d.ts +1 -0
- package/lib/plus/saasRegister/components/VerifyingLink.d.ts +1 -0
- package/lib/plus/saasRegister/components/VertifyEmail.d.ts +1 -0
- 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 +12 -12
- 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
|
@@ -26,7 +26,7 @@ import { getProductExtend } from "../../../booking/info2/service/addService/util
|
|
|
26
26
|
import { holderId, isDaysBooking, isNormalProductByDurationSchedule } from "../../../booking/info/service2/utils";
|
|
27
27
|
import { isBooking4Shop } from "../../../booking/info/utils";
|
|
28
28
|
import { useService } from "../../../booking/info/service/serviceManager";
|
|
29
|
-
import
|
|
29
|
+
import ProductDisplayAdapter, { resolveProductDisplayConfig } from "../ProductDisplayAdapter";
|
|
30
30
|
import "./index.less";
|
|
31
31
|
import { addService, addServiceScroll, createSimpleCacheItem, genServiceKey, getIsShowNumber, isSameProduct } from "../../utils";
|
|
32
32
|
import NotAvailable from "../notAvailable";
|
|
@@ -34,6 +34,7 @@ import dayjs from 'dayjs';
|
|
|
34
34
|
import { useProducts } from "../../hooks/pisellos";
|
|
35
35
|
import { createCacheItem, genValues, isBundle, isOption, setHandleSetService } from "./utils";
|
|
36
36
|
import { useToast } from '@pisell/materials';
|
|
37
|
+
import { useIsActive } from "../../context/IsActiveContext";
|
|
37
38
|
var productListLayout = {
|
|
38
39
|
grid: true,
|
|
39
40
|
config: '12:12'
|
|
@@ -52,11 +53,13 @@ var AddSerivce = function AddSerivce(props) {
|
|
|
52
53
|
state = props.state,
|
|
53
54
|
dispatch = props.dispatch,
|
|
54
55
|
_props$renderMode = props.renderMode,
|
|
55
|
-
renderMode = _props$renderMode === void 0 ? 'current' : _props$renderMode
|
|
56
|
+
renderMode = _props$renderMode === void 0 ? 'current' : _props$renderMode,
|
|
57
|
+
productDisplayConfig = props.productDisplayConfig;
|
|
56
58
|
var context = useEngineContext();
|
|
57
59
|
var notAvailableRef = useRef(null);
|
|
58
60
|
var isLoadedServiceRef = useRef(false);
|
|
59
61
|
request.setRequest(context.appHelper.utils.request);
|
|
62
|
+
var isActive = useIsActive();
|
|
60
63
|
var Toast = useToast();
|
|
61
64
|
var _useService = useService({
|
|
62
65
|
renderMode: renderMode,
|
|
@@ -71,12 +74,25 @@ var AddSerivce = function AddSerivce(props) {
|
|
|
71
74
|
_useState2 = _slicedToArray(_useState, 2),
|
|
72
75
|
currentProduct = _useState2[0],
|
|
73
76
|
setCurrentProduct = _useState2[1];
|
|
77
|
+
var _useState3 = useState(true),
|
|
78
|
+
_useState4 = _slicedToArray(_useState3, 2),
|
|
79
|
+
firstLoading = _useState4[0],
|
|
80
|
+
setFirstLoading = _useState4[1];
|
|
74
81
|
var stateRef = useRef(state);
|
|
75
82
|
stateRef.current = state;
|
|
76
83
|
var _useProducts = useProducts(),
|
|
77
84
|
getProducts = _useProducts.getProducts,
|
|
78
85
|
products = _useProducts.products,
|
|
79
86
|
loading = _useProducts.loading;
|
|
87
|
+
useEffect(function () {
|
|
88
|
+
var timer = setTimeout(function () {
|
|
89
|
+
setFirstLoading(false);
|
|
90
|
+
}, 300);
|
|
91
|
+
return function () {
|
|
92
|
+
clearTimeout(timer);
|
|
93
|
+
};
|
|
94
|
+
}, []);
|
|
95
|
+
|
|
80
96
|
// 组件卸载时清理所有定时器
|
|
81
97
|
useEffect(function () {
|
|
82
98
|
return function () {
|
|
@@ -140,8 +156,10 @@ var AddSerivce = function AddSerivce(props) {
|
|
|
140
156
|
});
|
|
141
157
|
});
|
|
142
158
|
useMemo(function () {
|
|
143
|
-
|
|
144
|
-
|
|
159
|
+
if (isActive) {
|
|
160
|
+
setHandleSetService(scanAddService);
|
|
161
|
+
}
|
|
162
|
+
}, [isActive]);
|
|
145
163
|
|
|
146
164
|
/*
|
|
147
165
|
const removeNotAvailableService = (list: any) => {
|
|
@@ -543,20 +561,37 @@ var AddSerivce = function AddSerivce(props) {
|
|
|
543
561
|
});
|
|
544
562
|
}
|
|
545
563
|
}, [renderMode, currentDate, customerId, menuList, currentDatetime]);
|
|
564
|
+
|
|
565
|
+
// 产品展示配置,支持字符串预设或完整配置对象
|
|
566
|
+
var finalDisplayConfig = useMemo(function () {
|
|
567
|
+
// 解析配置(支持字符串或对象)
|
|
568
|
+
var resolvedConfig = resolveProductDisplayConfig(productDisplayConfig);
|
|
569
|
+
|
|
570
|
+
// 如果是 ProductSelect 模式,合并默认的 layout 和 setting
|
|
571
|
+
if (resolvedConfig.displayMode === 'product-select') {
|
|
572
|
+
var _resolvedConfig$produ, _resolvedConfig$produ2;
|
|
573
|
+
return _objectSpread(_objectSpread({}, resolvedConfig), {}, {
|
|
574
|
+
productSelectConfig: _objectSpread(_objectSpread({}, resolvedConfig.productSelectConfig), {}, {
|
|
575
|
+
layout: ((_resolvedConfig$produ = resolvedConfig.productSelectConfig) === null || _resolvedConfig$produ === void 0 ? void 0 : _resolvedConfig$produ.layout) || productListLayout,
|
|
576
|
+
productListSetting: ((_resolvedConfig$produ2 = resolvedConfig.productSelectConfig) === null || _resolvedConfig$produ2 === void 0 ? void 0 : _resolvedConfig$produ2.productListSetting) || productListSetting
|
|
577
|
+
})
|
|
578
|
+
});
|
|
579
|
+
}
|
|
580
|
+
return resolvedConfig;
|
|
581
|
+
}, [productDisplayConfig]);
|
|
546
582
|
return useMemo(function () {
|
|
547
583
|
if (renderMode === 'current') {
|
|
548
|
-
return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(
|
|
584
|
+
return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(ProductDisplayAdapter, {
|
|
585
|
+
config: finalDisplayConfig,
|
|
549
586
|
dataSource: renderList,
|
|
550
|
-
|
|
551
|
-
|
|
552
|
-
|
|
553
|
-
loading: !renderList.length && loading,
|
|
554
|
-
productListSetting: productListSetting
|
|
587
|
+
loading: !renderList.length && loading || firstLoading,
|
|
588
|
+
currentProductId: currentProduct === null || currentProduct === void 0 ? void 0 : currentProduct.id,
|
|
589
|
+
onSelectProduct: handleSelectProduct
|
|
555
590
|
}), /*#__PURE__*/React.createElement(NotAvailable, {
|
|
556
591
|
ref: notAvailableRef
|
|
557
592
|
}));
|
|
558
593
|
}
|
|
559
594
|
return null;
|
|
560
|
-
}, [state.service.addModal, locales, renderList, state.amountSymbol, state.renderType, state === null || state === void 0 ? void 0 : state.activeCartId, holderId(state), loading, currentProduct, isBooking4]);
|
|
595
|
+
}, [state.service.addModal, locales, renderList, state.amountSymbol, state.renderType, state === null || state === void 0 ? void 0 : state.activeCartId, holderId(state), loading, currentProduct, isBooking4, finalDisplayConfig]);
|
|
561
596
|
};
|
|
562
597
|
export default AddSerivce;
|
|
@@ -8,7 +8,8 @@ import React, { useRef } from 'react';
|
|
|
8
8
|
import AddService from "./addService";
|
|
9
9
|
var AddServiceVariant = function AddServiceVariant(props) {
|
|
10
10
|
var globalState = props.globalState,
|
|
11
|
-
setGlobalState = props.setGlobalState
|
|
11
|
+
setGlobalState = props.setGlobalState,
|
|
12
|
+
productDisplayConfig = props.productDisplayConfig;
|
|
12
13
|
var stateRef = useRef(globalState);
|
|
13
14
|
stateRef.current = globalState;
|
|
14
15
|
var dispatch = function dispatch(_ref) {
|
|
@@ -22,7 +23,8 @@ var AddServiceVariant = function AddServiceVariant(props) {
|
|
|
22
23
|
};
|
|
23
24
|
return /*#__PURE__*/React.createElement(AddService, {
|
|
24
25
|
state: globalState,
|
|
25
|
-
dispatch: dispatch
|
|
26
|
+
dispatch: dispatch,
|
|
27
|
+
productDisplayConfig: productDisplayConfig
|
|
26
28
|
});
|
|
27
29
|
};
|
|
28
30
|
export default AddServiceVariant;
|
|
@@ -4,9 +4,33 @@ import "./index.less";
|
|
|
4
4
|
import { Menu } from 'antd';
|
|
5
5
|
import { SettingOutlined } from '@ant-design/icons';
|
|
6
6
|
import { locales } from '@pisell/utils';
|
|
7
|
-
import { ConfigProvider } from '@pisell/materials';
|
|
8
|
-
var index = function index() {
|
|
7
|
+
import { ConfigProvider, Iconfont } from '@pisell/materials';
|
|
8
|
+
var index = function index(props) {
|
|
9
|
+
var _props$activeNavKey = props.activeNavKey,
|
|
10
|
+
activeNavKey = _props$activeNavKey === void 0 ? 'ticket' : _props$activeNavKey,
|
|
11
|
+
onNavChange = props.onNavChange;
|
|
9
12
|
var status = useNetworkStatus();
|
|
13
|
+
|
|
14
|
+
// 导航项配置
|
|
15
|
+
var navItems = [{
|
|
16
|
+
key: 'ticket',
|
|
17
|
+
icon: /*#__PURE__*/React.createElement(Iconfont, {
|
|
18
|
+
type: "pisell2-ticket",
|
|
19
|
+
style: {
|
|
20
|
+
fontSize: 32
|
|
21
|
+
}
|
|
22
|
+
}),
|
|
23
|
+
label: ''
|
|
24
|
+
}, {
|
|
25
|
+
key: 'food',
|
|
26
|
+
label: '',
|
|
27
|
+
icon: /*#__PURE__*/React.createElement(Iconfont, {
|
|
28
|
+
type: "pisell2-food",
|
|
29
|
+
style: {
|
|
30
|
+
fontSize: 32
|
|
31
|
+
}
|
|
32
|
+
})
|
|
33
|
+
}];
|
|
10
34
|
var items = [{
|
|
11
35
|
key: '1',
|
|
12
36
|
icon: /*#__PURE__*/React.createElement(SettingOutlined, null),
|
|
@@ -43,6 +67,11 @@ var index = function index() {
|
|
|
43
67
|
window.location.href = '/login';
|
|
44
68
|
}
|
|
45
69
|
};
|
|
70
|
+
|
|
71
|
+
// 处理导航项点击
|
|
72
|
+
var handleNavClick = function handleNavClick(key) {
|
|
73
|
+
onNavChange === null || onNavChange === void 0 || onNavChange(key);
|
|
74
|
+
};
|
|
46
75
|
return /*#__PURE__*/React.createElement("div", {
|
|
47
76
|
className: "pisell-ticket-booking-menu-bar"
|
|
48
77
|
}, /*#__PURE__*/React.createElement("div", null, /*#__PURE__*/React.createElement("div", {
|
|
@@ -58,21 +87,15 @@ var index = function index() {
|
|
|
58
87
|
fill: "#8157D5"
|
|
59
88
|
}))), /*#__PURE__*/React.createElement("div", {
|
|
60
89
|
className: "nav-wrapper"
|
|
61
|
-
},
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
}, /*#__PURE__*/React.createElement("
|
|
70
|
-
d: "M13.8 7.05078V5.48828M13.8 14.082V12.5195M13.8 21.1133V19.5508M6.12 0.800781H27.88C29.6722 0.800781 30.5683 0.800781 31.2528 1.14139C31.8549 1.44099 32.3444 1.91905 32.6512 2.50706C33 3.17554 33 4.05062 33 5.80078V7.83203C29.9072 7.83203 27.4 10.2805 27.4 13.3008C27.4 16.3211 29.9072 18.7695 33 18.7695V20.8008C33 22.5509 33 23.426 32.6512 24.0945C32.3444 24.6825 31.8549 25.1606 31.2528 25.4602C30.5683 25.8008 29.6722 25.8008 27.88 25.8008H6.12C4.32783 25.8008 3.43175 25.8008 2.74723 25.4602C2.14511 25.1606 1.65557 24.6825 1.34878 24.0945C1 23.426 1 22.5509 1 20.8008V18.7695C4.09279 18.7695 6.6 16.3211 6.6 13.3008C6.6 10.2805 4.09279 7.83203 1 7.83203V5.80078C1 4.05062 1 3.17554 1.34878 2.50706C1.65557 1.91905 2.14511 1.44099 2.74723 1.14139C3.43175 0.800781 4.32783 0.800781 6.12 0.800781Z",
|
|
71
|
-
stroke: "white",
|
|
72
|
-
"stroke-width": "1.5",
|
|
73
|
-
"stroke-linecap": "round",
|
|
74
|
-
"stroke-linejoin": "round"
|
|
75
|
-
}))))), /*#__PURE__*/React.createElement("div", {
|
|
90
|
+
}, navItems.map(function (navItem) {
|
|
91
|
+
return /*#__PURE__*/React.createElement("div", {
|
|
92
|
+
key: navItem.key,
|
|
93
|
+
className: "nav-item ".concat(activeNavKey === navItem.key ? 'active' : ''),
|
|
94
|
+
onClick: function onClick() {
|
|
95
|
+
return handleNavClick(navItem.key);
|
|
96
|
+
}
|
|
97
|
+
}, navItem.icon && navItem.icon, navItem.label && navItem.label);
|
|
98
|
+
}))), /*#__PURE__*/React.createElement("div", {
|
|
76
99
|
className: "menu-wrapper"
|
|
77
100
|
}, /*#__PURE__*/React.createElement(ConfigProvider, {
|
|
78
101
|
theme: {
|
|
@@ -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();
|