@pisell/private-materials 6.2.24 → 6.2.26
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 +9 -1
- package/build/lowcode/preview.js +8 -8
- package/build/lowcode/render/default/view.css +1 -1
- package/build/lowcode/render/default/view.js +9 -9
- package/build/lowcode/view.css +1 -1
- package/build/lowcode/view.js +9 -9
- package/es/businessModel/SalesModel/index.d.ts +0 -1
- package/es/components/Sales/Cart/index.js +1 -0
- package/es/components/appointmentBooking/components/Footer/index.d.ts +0 -1
- package/es/components/appointmentBooking/components/Guest/components/InformationOptionsModal/index.d.ts +0 -1
- package/es/components/booking/addons/index.js +4 -1
- package/es/components/booking/components/TabProduct/index.d.ts +0 -1
- package/es/components/booking/components/TabProduct/tabs/index.js +5 -1
- package/es/components/booking/components/actionButtons/index.js +395 -0
- package/es/components/booking/components/actionButtons/index.less +148 -0
- package/es/components/booking/components/browserSelect/index.js +1 -1
- package/es/components/booking/components/clearCartModal/index.js +50 -0
- package/es/components/booking/components/clearCartModal/index.less +109 -0
- package/es/components/booking/components/customSelect/index.js +1 -0
- package/es/components/booking/components/customiseItemModal/index.js +294 -0
- package/es/components/booking/components/customiseItemModal/index.less +606 -0
- package/es/components/booking/components/footer/amount.d.ts +1 -0
- package/es/components/booking/components/footer/amount.js +15 -3
- package/es/components/booking/components/footer/index.js +106 -39
- package/es/components/booking/components/footer/utils.js +52 -24
- package/es/components/booking/components/tabPane/index.js +86 -5
- package/es/components/booking/components/tabPane/index.less +75 -1
- package/es/components/booking/components/voucher/index.js +19 -8
- package/es/components/booking/components/voucher/index.less +1 -1
- package/es/components/booking/dashboard/index.js +10 -3
- package/es/components/booking/forms/model.js +5 -5
- package/es/components/booking/hooks/useClearCart.js +11 -8
- package/es/components/booking/hooks/useQuotation.js +17 -7
- package/es/components/booking/info/client/index.js +3 -2
- package/es/components/booking/info/dateRange/index.d.ts +0 -1
- package/es/components/booking/info/hooks/useInfoHolder.d.ts +1 -0
- package/es/components/booking/info/hooks/useInfoHolder.js +15 -7
- package/es/components/booking/info/index.less +18 -2
- package/es/components/booking/info/main.js +14 -15
- package/es/components/booking/info/service/Lists.js +41 -28
- package/es/components/booking/info/service/editService/BookingList/index.d.ts +0 -1
- package/es/components/booking/info/service/editService/constants.d.ts +1 -0
- package/es/components/booking/info/service/editService/constants.js +3 -0
- package/es/components/booking/info/service/editService/index.js +15 -10
- package/es/components/booking/info/service/like/index.js +1 -1
- package/es/components/booking/info/service/serviceItem/index.js +2 -2
- package/es/components/booking/info/service2/Lists.d.ts +0 -1
- package/es/components/booking/info/service2/utils.d.ts +4 -0
- package/es/components/booking/info/service2/utils.js +32 -23
- package/es/components/booking/info2/cartClientCard/index.js +343 -0
- package/es/components/booking/info2/cartClientCard/index.less +6 -0
- package/es/components/booking/info2/cartClientCard/locales.js +26 -0
- package/es/components/booking/info2/cartClientCard/types.js +1 -0
- package/es/components/booking/info2/cartClientCard/utils.js +7 -0
- package/es/components/booking/info2/index.js +41 -18
- package/es/components/booking/info2/service/addService/utils.js +6 -3
- package/es/components/booking/info2/service/addTimeModal/index.js +5 -1
- package/es/components/booking/info2/service/editNormalService/index.js +67 -0
- package/es/components/booking/info2/service/editService/Resources/index.js +5 -0
- package/es/components/booking/info2/service/editService/index.js +267 -171
- package/es/components/booking/info2/service/index.js +27 -18
- package/es/components/booking/info2/service/serviceItem/index.js +2 -2
- package/es/components/booking/info2/utilsByBooking.d.ts +1 -0
- package/es/components/booking/info2/utilsByBooking.js +26 -3
- package/es/components/booking/locales.js +99 -3
- package/es/components/booking/materiels/duration/index.js +9 -2
- package/es/components/booking/materiels/holder/index.d.ts +0 -1
- package/es/components/booking/materiels/startTime/index.js +1 -1
- package/es/components/booking/notes/NoteBlock/NoteItem/index.js +1 -1
- package/es/components/booking/notes/NoteBlock/index.js +11 -11
- package/es/components/booking/notes/addNote/index.js +52 -32
- package/es/components/booking/notes/addNote/index.less +53 -0
- package/es/components/booking/notes/model.js +5 -5
- package/es/components/booking/payments/model.js +5 -5
- package/es/components/eftposPay/amount.d.ts +1 -1
- package/es/components/eftposPay/device.d.ts +1 -1
- package/es/components/eftposPay/hooks.d.ts +2 -2
- package/es/components/eftposPay/store/index.d.ts +3 -3
- package/es/components/eventBooking/components/ErrorTip/index.d.ts +0 -1
- package/es/components/eventBooking/components/Provider/Cart/Deposit/index.d.ts +0 -1
- package/es/components/eventBooking/components/Provider/InformationOptionsModal/index.d.ts +0 -1
- package/es/components/eventBooking/components/bookingAvailabilityCalendar/components/CalendarDate/CalenDateWeek/CallToBook/index.d.ts +0 -1
- package/es/components/eventBooking/components/bookingAvailabilityCalendar/components/CalendarDate/CalenDateWeek/WeekItem/index.d.ts +0 -1
- package/es/components/eventBooking/components/bookingAvailabilityCalendar/components/CalendarDate/CalenDateWeek/index.d.ts +0 -1
- package/es/components/eventBooking/components/scheduleCalendar/calendarItem.d.ts +0 -1
- package/es/components/listComponent/index.js +5 -5
- package/es/components/pay/toC/PaymentMethods/StripePay/Stripe/components/SetupForm/index.d.ts +0 -1
- package/es/components/pay/toC/PaymentMethods/StripePay/Stripe/index.d.ts +0 -1
- package/es/components/pay/toC/WalletPassBlock/components/WalletUseList/index.d.ts +0 -1
- package/es/components/pisellSelectCustomerModal/RightPanel/Add/PhoneField/index.d.ts +0 -1
- package/es/components/productExtension/card/index.js +3 -3
- package/es/components/productExtension/fields/Actor/CutOffTime/index.js +1 -1
- package/es/components/productExtension/fields/Actor/index.d.ts +0 -1
- package/es/components/productExtension/fields/Forms/index.js +12 -12
- package/es/components/productExtension/fields/SelectProducts/ProductItemPreview/index.js +1 -1
- package/es/components/productExtension/fields/SelectProducts/server.js +2 -2
- package/es/components/productExtension/fields/SelectResourcesTable/server.js +2 -2
- package/es/components/productExtension/server.js +2 -2
- package/es/components/ruleSetting/ruleBorder/index.js +1 -1
- package/es/components/schedules/calendar/index.js +4 -4
- package/es/components/schedules/calendar/serve.js +2 -2
- package/es/components/schedules/components/CurrentDay/index.js +5 -5
- package/es/components/schedules/components/CurrentDay/serve.js +2 -2
- package/es/components/schedules/components/DropdownSort/index.js +1 -1
- package/es/components/schedules/components/ResourceList/index.js +1 -1
- package/es/components/schedules/components/Search/index.js +5 -5
- package/es/components/schedules/model.js +5 -5
- package/es/components/schedules/openHours/index.js +1 -1
- package/es/components/schedules/openHours/serve.js +2 -2
- package/es/components/schedules/products/ProductDetailDrawer/ProductDetail/MaxParticipantsModule/index.js +1 -1
- package/es/components/schedules/products/ProductDetailDrawer/ProductDetail/ResourcesModule/index.js +5 -5
- package/es/components/schedules/products/ProductDetailDrawer/ProductDetail/SchedulesModule/index.js +4 -4
- package/es/components/schedules/products/ProductDetailDrawer/index.js +3 -3
- package/es/components/schedules/products/serve.js +2 -2
- package/es/components/schedules/products/utils.js +5 -5
- package/es/components/schedules/resources/detail/detailContent.js +2 -2
- package/es/components/schedules/resources/detail/index.js +10 -10
- package/es/components/schedules/resources/list/index.js +2 -2
- package/es/components/schedules/resources/relationProduct/index.js +1 -1
- package/es/components/schedules/resources/serve.js +2 -2
- package/es/components/schedules/schedules/ScheduleDetailDrawer/index.js +9 -9
- package/es/components/schedules/utils.js +4 -4
- package/es/components/selectModal/index.js +2 -2
- package/es/components/shoppingCart/components/Cart/Product.js +62 -41
- package/es/components/shoppingCart/components/Cart/index.js +21 -18
- package/es/components/shoppingCart/components/Empty/index.d.ts +0 -1
- package/es/components/shoppingCart/components/Render/index.d.ts +0 -1
- package/es/components/subTotal/index.less +1 -1
- package/es/components/ticketBooking/components/addServiceVariant/addService.js +309 -351
- package/es/components/ticketBooking/components/addServiceVariant/utils.js +190 -0
- package/es/components/ticketBooking/components/bookingDataPanel/bookingDashboard/index.js +33 -0
- package/es/components/ticketBooking/components/bookingDataPanel/bookingDashboard/index.less +5 -0
- package/es/components/ticketBooking/components/bookingDataPanel/bookingList/index.js +213 -0
- package/es/components/ticketBooking/components/bookingDataPanel/bookingList/index.less +69 -0
- package/es/components/ticketBooking/components/bookingDataPanel/bookingList/utils.js +79 -0
- package/es/components/ticketBooking/components/bookingDataPanel/constants.js +25 -0
- package/es/components/ticketBooking/components/bookingDataPanel/index.js +74 -0
- package/es/components/ticketBooking/components/bookingDataPanel/index.less +61 -0
- package/es/components/ticketBooking/components/bookingDataPanel/pisellFloatingPanel/index.js +71 -0
- package/es/components/ticketBooking/components/bookingDataPanel/serve.js +0 -0
- package/es/components/ticketBooking/components/floatButtons/index.js +19 -0
- package/es/components/ticketBooking/components/floatButtons/index.less +17 -0
- package/es/components/ticketBooking/components/ticketBooking/index.js +208 -33
- package/es/components/ticketBooking/components/ticketBooking/index.less +28 -0
- package/es/components/ticketBooking/components/timeBar/index.d.ts +1 -0
- package/es/components/ticketBooking/components/timeBar/index.js +79 -68
- package/es/components/ticketBooking/hooks/pisellos/bookingTicket.js +5 -0
- package/es/components/ticketBooking/hooks/pisellos/index.js +3 -0
- package/es/components/ticketBooking/hooks/pisellos/useCustomer.js +244 -0
- package/es/components/ticketBooking/hooks/pisellos/useProducts.js +52 -0
- package/es/components/ticketBooking/hooks/pisellos/useScanCustomer.d.ts +5 -0
- package/es/components/ticketBooking/hooks/pisellos/useScanCustomer.js +30 -0
- package/es/components/ticketBooking/hooks/pisellos/useScanGlobal.d.ts +5 -0
- package/es/components/ticketBooking/hooks/pisellos/useScanGlobal.js +29 -0
- package/es/components/ticketBooking/hooks/pisellos/useScanGlobalHandle.js +49 -0
- package/es/components/ticketBooking/index.js +21 -3
- package/es/components/ticketBooking/locales.js +6 -3
- package/es/components/ticketBooking/serve.js +11 -11
- package/es/components/ticketBooking/utils/index.d.ts +39 -2
- package/es/components/ticketBooking/utils/index.js +104 -11
- package/es/components/workSpaceList/components/Modal/index.d.ts +0 -1
- package/es/components/workSpaceList/components/SearchWorkspaceAndBase/index.d.ts +0 -1
- package/es/hooks/useComponents.js +1 -1
- package/es/hooks/useToast.js +9 -0
- package/es/hooks/useTranslationOriginal.js +10 -0
- package/es/index.js +5 -1
- package/es/plus/clientCard/index.js +452 -0
- package/es/plus/clientCard/index.less +539 -0
- package/es/plus/clientCard/line/index.js +157 -0
- package/es/plus/clientCard/line/index.less +142 -0
- package/es/plus/clientCard/locales.js +17 -0
- package/es/plus/clientCard/types.js +1 -0
- package/es/plus/clientCard/utils.js +59 -0
- package/es/plus/clientName/index.js +18 -0
- package/es/plus/clientName/index.less +10 -0
- package/es/plus/clientName/type.js +1 -0
- package/es/plus/clientName/utils.js +18 -0
- package/es/plus/clinetSearch/Add/BirthdayField/index.js +277 -0
- package/es/plus/clinetSearch/Add/GenderField/index.js +18 -0
- package/es/plus/clinetSearch/Add/PhoneField/index.js +52 -0
- package/es/plus/clinetSearch/Add/PhoneField/serve.js +166 -0
- package/es/plus/clinetSearch/Add/index.js +212 -0
- package/es/plus/clinetSearch/Add/index.less +30 -0
- package/es/plus/clinetSearch/InfiniteScroll/InfiniteScroll.js +265 -0
- package/es/plus/clinetSearch/InfiniteScroll/index.js +1 -0
- package/es/plus/clinetSearch/InfiniteScroll/types.js +1 -0
- package/es/plus/clinetSearch/index.js +214 -0
- package/es/plus/clinetSearch/index.less +91 -0
- package/es/plus/clinetSearch/locales.js +101 -0
- package/es/plus/clinetSearch/serve.js +31 -0
- package/es/plus/clinetSearch/types.js +1 -0
- package/es/plus/noteModal/AddTempModal.js +64 -0
- package/es/plus/noteModal/index.js +199 -0
- package/es/plus/noteModal/index.less +168 -0
- package/es/plus/noteModal/locales.js +32 -0
- package/es/plus/noteModal/types.js +1 -0
- package/es/pro/comprehensiveSearch/camera.svg +4 -0
- package/es/pro/comprehensiveSearch/hooks/useNativeScanner.js +24 -0
- package/es/pro/comprehensiveSearch/hooks/useTerminalPeripherals.js +44 -0
- package/es/pro/comprehensiveSearch/index.js +342 -0
- package/es/pro/comprehensiveSearch/index.less +323 -0
- package/es/pro/comprehensiveSearch/locales.js +17 -0
- package/es/pro/comprehensiveSearch/types.js +1 -0
- package/es/pro/numberKeyboard/index.js +155 -0
- package/es/pro/numberKeyboard/index.less +25 -0
- package/es/pro/numberKeyboard/locales.js +11 -0
- package/es/pro/pisellNumberSelector/example.js +68 -0
- package/es/pro/pisellNumberSelector/index.js +231 -0
- package/es/pro/pisellNumberSelector/index.less +193 -0
- package/es/pro/pisellPhoneKeyboard/index.js +211 -0
- package/es/pro/pisellPhoneKeyboard/index.less +157 -0
- package/es/pro/pisellPhoneKeyboard/locales.js +11 -0
- package/es/pro/pisellPriceKeyboardModal/PisellPriceKeyboardModal.js +158 -0
- package/es/pro/pisellPriceKeyboardModal/PisellPriceKeyboardModal.less +13 -0
- package/es/pro/pisellPriceKeyboardModal/index.js +1 -0
- package/es/pro/pisellPriceKeyboardModal/types.js +1 -0
- package/es/pro/pisellPriceRadio/index.js +113 -0
- package/es/pro/pisellPriceRadio/index.less +158 -0
- package/es/pro/skuDetailModal/index.js +352 -0
- package/es/pro/skuDetailModal/index.less +236 -0
- package/es/pro/skuDetailModal/locales.js +47 -0
- package/es/pro/skuDetailModal/types.js +1 -0
- package/lib/businessModel/SalesModel/index.d.ts +0 -1
- package/lib/components/Sales/Cart/index.js +1 -0
- package/lib/components/appointmentBooking/components/Footer/index.d.ts +0 -1
- package/lib/components/appointmentBooking/components/Guest/components/InformationOptionsModal/index.d.ts +0 -1
- package/lib/components/booking/addons/index.js +4 -1
- package/lib/components/booking/components/TabProduct/index.d.ts +0 -1
- package/lib/components/booking/components/actionButtons/index.js +325 -0
- package/lib/components/booking/components/actionButtons/index.less +148 -0
- package/lib/components/booking/components/clearCartModal/index.js +80 -0
- package/lib/components/booking/components/clearCartModal/index.less +109 -0
- package/lib/components/booking/components/customSelect/index.js +1 -0
- package/lib/components/booking/components/customiseItemModal/index.js +279 -0
- package/lib/components/booking/components/customiseItemModal/index.less +606 -0
- package/lib/components/booking/components/footer/amount.d.ts +1 -0
- package/lib/components/booking/components/footer/amount.js +5 -3
- package/lib/components/booking/components/footer/index.js +93 -23
- package/lib/components/booking/components/footer/utils.js +38 -13
- package/lib/components/booking/components/tabPane/index.js +78 -4
- package/lib/components/booking/components/tabPane/index.less +75 -1
- package/lib/components/booking/components/voucher/index.js +18 -7
- package/lib/components/booking/components/voucher/index.less +1 -1
- package/lib/components/booking/dashboard/index.js +7 -2
- package/lib/components/booking/hooks/useClearCart.js +16 -13
- package/lib/components/booking/hooks/useQuotation.js +3 -1
- package/lib/components/booking/info/client/index.js +5 -4
- package/lib/components/booking/info/dateRange/index.d.ts +0 -1
- package/lib/components/booking/info/hooks/useInfoHolder.d.ts +1 -0
- package/lib/components/booking/info/hooks/useInfoHolder.js +16 -9
- package/lib/components/booking/info/index.less +18 -2
- package/lib/components/booking/info/main.js +12 -5
- package/lib/components/booking/info/service/Lists.js +41 -25
- package/lib/components/booking/info/service/editService/BookingList/index.d.ts +0 -1
- package/lib/components/booking/info/service/editService/constants.d.ts +1 -0
- package/lib/components/booking/info/service/editService/constants.js +31 -0
- package/lib/components/booking/info/service/editService/index.js +7 -1
- package/lib/components/booking/info/service/serviceItem/index.js +2 -2
- package/lib/components/booking/info/service2/Lists.d.ts +0 -1
- package/lib/components/booking/info/service2/utils.d.ts +4 -0
- package/lib/components/booking/info/service2/utils.js +31 -19
- package/lib/components/booking/info2/cartClientCard/index.js +298 -0
- package/lib/components/booking/info2/cartClientCard/index.less +6 -0
- package/lib/components/booking/info2/cartClientCard/locales.js +50 -0
- package/lib/components/booking/info2/cartClientCard/types.js +17 -0
- package/lib/components/booking/info2/cartClientCard/utils.js +37 -0
- package/lib/components/booking/info2/index.js +30 -9
- package/lib/components/booking/info2/service/addService/utils.js +4 -2
- package/lib/components/booking/info2/service/addTimeModal/index.js +4 -0
- package/lib/components/booking/info2/service/editNormalService/index.js +100 -0
- package/lib/components/booking/info2/service/editService/Resources/index.js +2 -0
- package/lib/components/booking/info2/service/editService/index.js +139 -74
- package/lib/components/booking/info2/service/index.js +16 -12
- package/lib/components/booking/info2/service/serviceItem/index.js +2 -2
- package/lib/components/booking/info2/utilsByBooking.d.ts +1 -0
- package/lib/components/booking/info2/utilsByBooking.js +23 -4
- package/lib/components/booking/locales.js +93 -3
- package/lib/components/booking/materiels/duration/index.js +7 -2
- package/lib/components/booking/materiels/holder/index.d.ts +0 -1
- package/lib/components/booking/notes/addNote/index.js +41 -23
- package/lib/components/booking/notes/addNote/index.less +53 -0
- package/lib/components/eftposPay/amount.d.ts +1 -1
- package/lib/components/eftposPay/device.d.ts +1 -1
- package/lib/components/eftposPay/hooks.d.ts +2 -2
- package/lib/components/eftposPay/store/index.d.ts +3 -3
- package/lib/components/eventBooking/components/ErrorTip/index.d.ts +0 -1
- package/lib/components/eventBooking/components/Provider/Cart/Deposit/index.d.ts +0 -1
- package/lib/components/eventBooking/components/Provider/InformationOptionsModal/index.d.ts +0 -1
- package/lib/components/eventBooking/components/bookingAvailabilityCalendar/components/CalendarDate/CalenDateWeek/CallToBook/index.d.ts +0 -1
- package/lib/components/eventBooking/components/bookingAvailabilityCalendar/components/CalendarDate/CalenDateWeek/WeekItem/index.d.ts +0 -1
- package/lib/components/eventBooking/components/bookingAvailabilityCalendar/components/CalendarDate/CalenDateWeek/index.d.ts +0 -1
- package/lib/components/eventBooking/components/scheduleCalendar/calendarItem.d.ts +0 -1
- package/lib/components/pay/toC/PaymentMethods/StripePay/Stripe/components/SetupForm/index.d.ts +0 -1
- package/lib/components/pay/toC/PaymentMethods/StripePay/Stripe/index.d.ts +0 -1
- package/lib/components/pay/toC/WalletPassBlock/components/WalletUseList/index.d.ts +0 -1
- package/lib/components/pisellSelectCustomerModal/RightPanel/Add/PhoneField/index.d.ts +0 -1
- package/lib/components/productExtension/fields/Actor/index.d.ts +0 -1
- package/lib/components/schedules/utils.js +1 -1
- package/lib/components/shoppingCart/components/Cart/Product.js +42 -21
- package/lib/components/shoppingCart/components/Cart/index.js +18 -15
- package/lib/components/shoppingCart/components/Empty/index.d.ts +0 -1
- package/lib/components/shoppingCart/components/Render/index.d.ts +0 -1
- package/lib/components/subTotal/index.less +1 -1
- package/lib/components/ticketBooking/components/addServiceVariant/addService.js +176 -248
- package/lib/components/ticketBooking/components/addServiceVariant/utils.js +173 -0
- package/lib/components/ticketBooking/components/bookingDataPanel/bookingDashboard/index.js +75 -0
- package/lib/components/ticketBooking/components/bookingDataPanel/bookingDashboard/index.less +5 -0
- package/lib/components/ticketBooking/components/bookingDataPanel/bookingList/index.js +210 -0
- package/lib/components/ticketBooking/components/bookingDataPanel/bookingList/index.less +69 -0
- package/lib/components/ticketBooking/components/bookingDataPanel/bookingList/utils.js +105 -0
- package/lib/components/ticketBooking/components/bookingDataPanel/constants.js +57 -0
- package/lib/components/ticketBooking/components/bookingDataPanel/index.js +113 -0
- package/lib/components/ticketBooking/components/bookingDataPanel/index.less +61 -0
- package/lib/components/ticketBooking/components/bookingDataPanel/pisellFloatingPanel/index.js +84 -0
- package/lib/components/ticketBooking/components/bookingDataPanel/serve.js +0 -0
- package/lib/components/ticketBooking/components/floatButtons/index.js +52 -0
- package/lib/components/ticketBooking/components/floatButtons/index.less +17 -0
- package/lib/components/ticketBooking/components/ticketBooking/index.js +228 -80
- package/lib/components/ticketBooking/components/ticketBooking/index.less +28 -0
- package/lib/components/ticketBooking/components/timeBar/index.d.ts +1 -0
- package/lib/components/ticketBooking/components/timeBar/index.js +100 -86
- package/lib/components/ticketBooking/hooks/pisellos/bookingTicket.js +33 -0
- package/lib/components/ticketBooking/hooks/pisellos/index.js +27 -0
- package/lib/components/ticketBooking/hooks/pisellos/useCustomer.js +144 -0
- package/lib/components/ticketBooking/hooks/pisellos/useProducts.js +47 -0
- package/lib/components/ticketBooking/hooks/pisellos/useScanCustomer.d.ts +5 -0
- package/lib/components/ticketBooking/hooks/pisellos/useScanCustomer.js +64 -0
- package/lib/components/ticketBooking/hooks/pisellos/useScanGlobal.d.ts +5 -0
- package/lib/components/ticketBooking/hooks/pisellos/useScanGlobal.js +65 -0
- package/lib/components/ticketBooking/hooks/pisellos/useScanGlobalHandle.js +83 -0
- package/lib/components/ticketBooking/index.js +31 -4
- package/lib/components/ticketBooking/locales.js +6 -3
- package/lib/components/ticketBooking/serve.js +11 -11
- package/lib/components/ticketBooking/utils/index.d.ts +39 -2
- package/lib/components/ticketBooking/utils/index.js +71 -10
- package/lib/components/workSpaceList/components/Modal/index.d.ts +0 -1
- package/lib/components/workSpaceList/components/SearchWorkspaceAndBase/index.d.ts +0 -1
- package/lib/hooks/useToast.js +42 -0
- package/lib/hooks/useTranslationOriginal.js +42 -0
- package/lib/index.js +12 -0
- package/lib/plus/clientCard/index.js +442 -0
- package/lib/plus/clientCard/index.less +539 -0
- package/lib/plus/clientCard/line/index.js +153 -0
- package/lib/plus/clientCard/line/index.less +142 -0
- package/lib/plus/clientCard/locales.js +41 -0
- package/lib/plus/clientCard/types.js +17 -0
- package/lib/plus/clientCard/utils.js +75 -0
- package/lib/plus/clientName/index.js +53 -0
- package/lib/plus/clientName/index.less +10 -0
- package/lib/plus/clientName/type.js +17 -0
- package/lib/plus/clientName/utils.js +43 -0
- package/lib/plus/clinetSearch/Add/BirthdayField/index.js +256 -0
- package/lib/plus/clinetSearch/Add/GenderField/index.js +52 -0
- package/lib/plus/clinetSearch/Add/PhoneField/index.js +78 -0
- package/lib/plus/clinetSearch/Add/PhoneField/serve.js +193 -0
- package/lib/plus/clinetSearch/Add/index.js +243 -0
- package/lib/plus/clinetSearch/Add/index.less +30 -0
- package/lib/plus/clinetSearch/InfiniteScroll/InfiniteScroll.js +235 -0
- package/lib/plus/clinetSearch/InfiniteScroll/index.js +35 -0
- package/lib/plus/clinetSearch/InfiniteScroll/types.js +17 -0
- package/lib/plus/clinetSearch/index.js +205 -0
- package/lib/plus/clinetSearch/index.less +91 -0
- package/lib/plus/clinetSearch/locales.js +125 -0
- package/lib/plus/clinetSearch/serve.js +33 -0
- package/lib/plus/clinetSearch/types.js +17 -0
- package/lib/plus/noteModal/AddTempModal.js +95 -0
- package/lib/plus/noteModal/index.js +199 -0
- package/lib/plus/noteModal/index.less +168 -0
- package/lib/plus/noteModal/locales.js +56 -0
- package/lib/plus/noteModal/types.js +17 -0
- package/lib/pro/comprehensiveSearch/camera.svg +4 -0
- package/lib/pro/comprehensiveSearch/hooks/useNativeScanner.js +56 -0
- package/lib/pro/comprehensiveSearch/hooks/useTerminalPeripherals.js +70 -0
- package/lib/pro/comprehensiveSearch/index.js +259 -0
- package/lib/pro/comprehensiveSearch/index.less +323 -0
- package/lib/pro/comprehensiveSearch/locales.js +41 -0
- package/lib/pro/comprehensiveSearch/types.js +17 -0
- package/lib/pro/numberKeyboard/index.js +182 -0
- package/lib/pro/numberKeyboard/index.less +25 -0
- package/lib/pro/numberKeyboard/locales.js +35 -0
- package/lib/pro/pisellNumberSelector/example.js +93 -0
- package/lib/pro/pisellNumberSelector/index.js +260 -0
- package/lib/pro/pisellNumberSelector/index.less +193 -0
- package/lib/pro/pisellPhoneKeyboard/index.js +220 -0
- package/lib/pro/pisellPhoneKeyboard/index.less +157 -0
- package/lib/pro/pisellPhoneKeyboard/locales.js +35 -0
- package/lib/pro/pisellPriceKeyboardModal/PisellPriceKeyboardModal.js +158 -0
- package/lib/pro/pisellPriceKeyboardModal/PisellPriceKeyboardModal.less +13 -0
- package/lib/pro/pisellPriceKeyboardModal/index.js +35 -0
- package/lib/pro/pisellPriceKeyboardModal/types.js +17 -0
- package/lib/pro/pisellPriceRadio/index.js +130 -0
- package/lib/pro/pisellPriceRadio/index.less +158 -0
- package/lib/pro/skuDetailModal/index.js +311 -0
- package/lib/pro/skuDetailModal/index.less +236 -0
- package/lib/pro/skuDetailModal/locales.js +71 -0
- package/lib/pro/skuDetailModal/types.js +17 -0
- package/lowcode/client-card/fragments/cardStyle.ts +63 -0
- package/lowcode/client-card/fragments/nameStyle.ts +34 -0
- package/lowcode/client-card/fragments/pisellAvatar.ts +87 -0
- package/lowcode/client-card/fragments/tagConfig.ts +88 -0
- package/lowcode/client-card/meta.ts +337 -0
- package/lowcode/comprehensive-search/meta.ts +261 -0
- package/package.json +26 -26
- package/es/components/Sales/Cart/index.d.ts +0 -53
- package/es/components/booking/addons/index.d.ts +0 -17
- package/es/components/booking/components/tabPane/index.d.ts +0 -4
- package/es/components/booking/components/voucher/index.d.ts +0 -3
- package/es/components/booking/dashboard/index.d.ts +0 -20
- package/es/components/booking/info/service/serviceItem/index.d.ts +0 -3
- package/es/components/booking/info2/service/serviceItem/index.d.ts +0 -3
- package/es/components/booking/locales.d.ts +0 -828
- package/es/components/booking/notes/addNote/index.d.ts +0 -3
- package/es/components/shoppingCart/type.d.ts +0 -48
- package/es/components/ticketBooking/locales.d.ts +0 -174
- package/es/components/ticketBooking/serve.d.ts +0 -287
- package/es/index.d.ts +0 -47
- package/lib/components/Sales/Cart/index.d.ts +0 -53
- package/lib/components/booking/addons/index.d.ts +0 -17
- package/lib/components/booking/components/tabPane/index.d.ts +0 -4
- package/lib/components/booking/components/voucher/index.d.ts +0 -3
- package/lib/components/booking/dashboard/index.d.ts +0 -20
- package/lib/components/booking/info/service/serviceItem/index.d.ts +0 -3
- package/lib/components/booking/info2/service/serviceItem/index.d.ts +0 -3
- package/lib/components/booking/locales.d.ts +0 -828
- package/lib/components/booking/notes/addNote/index.d.ts +0 -3
- package/lib/components/shoppingCart/type.d.ts +0 -48
- package/lib/components/ticketBooking/locales.d.ts +0 -174
- package/lib/components/ticketBooking/serve.d.ts +0 -287
- package/lib/index.d.ts +0 -47
@@ -0,0 +1,265 @@
|
|
1
|
+
function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
|
2
|
+
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
3
|
+
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
4
|
+
function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
5
|
+
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : String(i); }
|
6
|
+
function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
|
7
|
+
function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
|
8
|
+
function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
|
9
|
+
function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
|
10
|
+
function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
|
11
|
+
function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t.return && (u = t.return(), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }
|
12
|
+
function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
|
13
|
+
import React, { useRef, useEffect, useState, useCallback, useMemo } from 'react';
|
14
|
+
var InfiniteScroll = function InfiniteScroll(_ref) {
|
15
|
+
var dataLength = _ref.dataLength,
|
16
|
+
next = _ref.next,
|
17
|
+
hasMore = _ref.hasMore,
|
18
|
+
_ref$loader = _ref.loader,
|
19
|
+
loader = _ref$loader === void 0 ? /*#__PURE__*/React.createElement("div", null, "Loading...") : _ref$loader,
|
20
|
+
endMessage = _ref.endMessage,
|
21
|
+
height = _ref.height,
|
22
|
+
_ref$scrollThreshold = _ref.scrollThreshold,
|
23
|
+
scrollThreshold = _ref$scrollThreshold === void 0 ? 0.8 : _ref$scrollThreshold,
|
24
|
+
onScroll = _ref.onScroll,
|
25
|
+
style = _ref.style,
|
26
|
+
className = _ref.className,
|
27
|
+
scrollableTarget = _ref.scrollableTarget,
|
28
|
+
children = _ref.children,
|
29
|
+
_ref$inverse = _ref.inverse,
|
30
|
+
inverse = _ref$inverse === void 0 ? false : _ref$inverse;
|
31
|
+
var _useState = useState(false),
|
32
|
+
_useState2 = _slicedToArray(_useState, 2),
|
33
|
+
isLoading = _useState2[0],
|
34
|
+
setIsLoading = _useState2[1];
|
35
|
+
var containerRef = useRef(null);
|
36
|
+
var lastDataLength = useRef(dataLength);
|
37
|
+
var scrollTimeoutRef = useRef(null);
|
38
|
+
var isMountedRef = useRef(true);
|
39
|
+
var lastCallTimeRef = useRef(0);
|
40
|
+
|
41
|
+
// 节流函数
|
42
|
+
var throttle = useCallback(function (func, delay) {
|
43
|
+
return function () {
|
44
|
+
for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
|
45
|
+
args[_key] = arguments[_key];
|
46
|
+
}
|
47
|
+
if (scrollTimeoutRef.current) {
|
48
|
+
clearTimeout(scrollTimeoutRef.current);
|
49
|
+
}
|
50
|
+
scrollTimeoutRef.current = setTimeout(function () {
|
51
|
+
return func.apply(void 0, args);
|
52
|
+
}, delay);
|
53
|
+
};
|
54
|
+
}, []);
|
55
|
+
|
56
|
+
// 计算滚动阈值
|
57
|
+
var getScrollThreshold = useCallback(function () {
|
58
|
+
if (typeof scrollThreshold === 'string' && scrollThreshold.endsWith('px')) {
|
59
|
+
return parseInt(scrollThreshold.replace('px', ''), 10);
|
60
|
+
}
|
61
|
+
return typeof scrollThreshold === 'number' ? scrollThreshold : 0.8;
|
62
|
+
}, [scrollThreshold]);
|
63
|
+
|
64
|
+
// 检查是否需要加载更多
|
65
|
+
var checkScrollPosition = useCallback(function (element) {
|
66
|
+
if (!element || !hasMore || isLoading) return;
|
67
|
+
var threshold = getScrollThreshold();
|
68
|
+
var scrollTop = element.scrollTop,
|
69
|
+
scrollHeight = element.scrollHeight,
|
70
|
+
clientHeight = element.clientHeight;
|
71
|
+
|
72
|
+
// 防止无效的滚动值(但不直接返回,而是记录警告)
|
73
|
+
if (scrollHeight <= 0 || clientHeight <= 0) {
|
74
|
+
console.warn('InfiniteScroll: 检测到无效的滚动容器尺寸');
|
75
|
+
return;
|
76
|
+
}
|
77
|
+
|
78
|
+
// 防止scrollTop为负值(某些浏览器可能出现)
|
79
|
+
var normalizedScrollTop = Math.max(0, scrollTop);
|
80
|
+
var shouldLoadMore = false;
|
81
|
+
if (inverse) {
|
82
|
+
// 反向滚动模式:检查是否滚动到顶部
|
83
|
+
if (typeof threshold === 'number' && threshold < 1) {
|
84
|
+
// 百分比阈值
|
85
|
+
var scrollPercentage = normalizedScrollTop / scrollHeight;
|
86
|
+
shouldLoadMore = scrollPercentage <= 1 - threshold;
|
87
|
+
} else {
|
88
|
+
// 像素阈值
|
89
|
+
shouldLoadMore = normalizedScrollTop <= threshold;
|
90
|
+
}
|
91
|
+
} else {
|
92
|
+
// 正常滚动模式:检查是否滚动到底部
|
93
|
+
if (typeof threshold === 'number' && threshold < 1) {
|
94
|
+
// 百分比阈值
|
95
|
+
var _scrollPercentage = (normalizedScrollTop + clientHeight) / scrollHeight;
|
96
|
+
shouldLoadMore = _scrollPercentage >= threshold;
|
97
|
+
} else {
|
98
|
+
// 像素阈值
|
99
|
+
var remainingHeight = scrollHeight - normalizedScrollTop - clientHeight;
|
100
|
+
shouldLoadMore = remainingHeight <= threshold;
|
101
|
+
}
|
102
|
+
}
|
103
|
+
if (shouldLoadMore) {
|
104
|
+
var now = Date.now();
|
105
|
+
// 防重复调用机制:500ms内只允许一次调用
|
106
|
+
if (now - lastCallTimeRef.current < 500) {
|
107
|
+
return;
|
108
|
+
}
|
109
|
+
lastCallTimeRef.current = now;
|
110
|
+
setIsLoading(true);
|
111
|
+
try {
|
112
|
+
next();
|
113
|
+
} catch (error) {
|
114
|
+
console.error('InfiniteScroll: 加载更多数据时发生错误:', error);
|
115
|
+
if (isMountedRef.current) {
|
116
|
+
setIsLoading(false);
|
117
|
+
}
|
118
|
+
}
|
119
|
+
}
|
120
|
+
}, [hasMore, isLoading, next, getScrollThreshold, inverse]);
|
121
|
+
|
122
|
+
// 检查内容高度是否足够,如果不够则自动加载更多
|
123
|
+
var checkInitialLoad = useCallback(function () {
|
124
|
+
var element = scrollableTarget ? document.getElementById(scrollableTarget) : containerRef.current;
|
125
|
+
if (!element || !hasMore || isLoading) return;
|
126
|
+
var scrollHeight = element.scrollHeight,
|
127
|
+
clientHeight = element.clientHeight;
|
128
|
+
|
129
|
+
// 防止无效的容器尺寸
|
130
|
+
if (clientHeight <= 0) {
|
131
|
+
console.warn('InfiniteScroll: 容器高度无效,可能容器尚未渲染完成');
|
132
|
+
return;
|
133
|
+
}
|
134
|
+
|
135
|
+
// 如果内容高度不足以填满容器,或者没有任何内容,自动加载更多
|
136
|
+
var needsMoreContent = scrollHeight <= clientHeight || dataLength === 0;
|
137
|
+
if (needsMoreContent) {
|
138
|
+
var now = Date.now();
|
139
|
+
// 防重复调用机制:500ms内只允许一次调用
|
140
|
+
if (now - lastCallTimeRef.current < 500) {
|
141
|
+
return;
|
142
|
+
}
|
143
|
+
lastCallTimeRef.current = now;
|
144
|
+
setIsLoading(true);
|
145
|
+
try {
|
146
|
+
next();
|
147
|
+
} catch (error) {
|
148
|
+
console.error('InfiniteScroll: 初始加载时发生错误:', error);
|
149
|
+
if (isMountedRef.current) {
|
150
|
+
setIsLoading(false);
|
151
|
+
}
|
152
|
+
}
|
153
|
+
}
|
154
|
+
}, [hasMore, isLoading, next, scrollableTarget, dataLength]);
|
155
|
+
|
156
|
+
// 滚动事件处理(使用节流)
|
157
|
+
var handleScrollInternal = useCallback(function (event) {
|
158
|
+
try {
|
159
|
+
// 获取正确的滚动元素
|
160
|
+
var element = scrollableTarget ? document.getElementById(scrollableTarget) : event.target;
|
161
|
+
|
162
|
+
// 额外的安全检查
|
163
|
+
if (!element || typeof element.scrollTop === 'undefined') {
|
164
|
+
console.warn('InfiniteScroll: 无效的滚动目标元素');
|
165
|
+
return;
|
166
|
+
}
|
167
|
+
checkScrollPosition(element);
|
168
|
+
if (onScroll) {
|
169
|
+
onScroll(event);
|
170
|
+
}
|
171
|
+
} catch (error) {
|
172
|
+
console.error('InfiniteScroll: 滚动事件处理时发生错误:', error);
|
173
|
+
}
|
174
|
+
}, [checkScrollPosition, onScroll, scrollableTarget]);
|
175
|
+
var handleScroll = useMemo(function () {
|
176
|
+
return throttle(handleScrollInternal, 16);
|
177
|
+
},
|
178
|
+
// 约60fps
|
179
|
+
[throttle, handleScrollInternal]);
|
180
|
+
|
181
|
+
// 监听数据长度变化,重置加载状态
|
182
|
+
useEffect(function () {
|
183
|
+
if (dataLength !== lastDataLength.current) {
|
184
|
+
if (isMountedRef.current) {
|
185
|
+
setIsLoading(false);
|
186
|
+
}
|
187
|
+
lastDataLength.current = dataLength;
|
188
|
+
}
|
189
|
+
}, [dataLength]);
|
190
|
+
|
191
|
+
// 组件卸载时的清理
|
192
|
+
useEffect(function () {
|
193
|
+
return function () {
|
194
|
+
isMountedRef.current = false;
|
195
|
+
};
|
196
|
+
}, []);
|
197
|
+
|
198
|
+
// 清理定时器
|
199
|
+
useEffect(function () {
|
200
|
+
return function () {
|
201
|
+
if (scrollTimeoutRef.current) {
|
202
|
+
clearTimeout(scrollTimeoutRef.current);
|
203
|
+
}
|
204
|
+
};
|
205
|
+
}, []);
|
206
|
+
|
207
|
+
// 检查初始内容高度,确保首屏有足够内容
|
208
|
+
useEffect(function () {
|
209
|
+
// 使用setTimeout确保DOM已经渲染
|
210
|
+
var timeoutId = setTimeout(function () {
|
211
|
+
checkInitialLoad();
|
212
|
+
}, 100);
|
213
|
+
return function () {
|
214
|
+
return clearTimeout(timeoutId);
|
215
|
+
};
|
216
|
+
}, [checkInitialLoad, dataLength]);
|
217
|
+
|
218
|
+
// 当数据加载完成后,再次检查是否需要继续加载
|
219
|
+
useEffect(function () {
|
220
|
+
if (!isLoading && hasMore) {
|
221
|
+
var timeoutId = setTimeout(function () {
|
222
|
+
checkInitialLoad();
|
223
|
+
}, 100);
|
224
|
+
return function () {
|
225
|
+
return clearTimeout(timeoutId);
|
226
|
+
};
|
227
|
+
}
|
228
|
+
}, [isLoading, hasMore, checkInitialLoad]);
|
229
|
+
|
230
|
+
// 设置滚动监听
|
231
|
+
useEffect(function () {
|
232
|
+
var element = scrollableTarget ? document.getElementById(scrollableTarget) : containerRef.current;
|
233
|
+
if (!element) {
|
234
|
+
console.warn('InfiniteScroll: 无法找到滚动容器元素');
|
235
|
+
return;
|
236
|
+
}
|
237
|
+
|
238
|
+
// 使用类型安全的事件处理器
|
239
|
+
var scrollHandler = handleScroll;
|
240
|
+
element.addEventListener('scroll', scrollHandler, {
|
241
|
+
passive: true
|
242
|
+
});
|
243
|
+
return function () {
|
244
|
+
// 确保清理所有事件监听器
|
245
|
+
if (element) {
|
246
|
+
element.removeEventListener('scroll', scrollHandler);
|
247
|
+
}
|
248
|
+
};
|
249
|
+
}, [handleScroll, scrollableTarget]);
|
250
|
+
var containerStyle = useMemo(function () {
|
251
|
+
return _objectSpread(_objectSpread(_objectSpread({}, style), height && {
|
252
|
+
height: typeof height === 'number' ? "".concat(height, "px") : height,
|
253
|
+
overflowY: 'auto'
|
254
|
+
}), inverse && {
|
255
|
+
display: 'flex',
|
256
|
+
flexDirection: 'column-reverse'
|
257
|
+
});
|
258
|
+
}, [style, height, inverse]);
|
259
|
+
return /*#__PURE__*/React.createElement("div", {
|
260
|
+
ref: !scrollableTarget ? containerRef : undefined,
|
261
|
+
className: className,
|
262
|
+
style: containerStyle
|
263
|
+
}, inverse ? /*#__PURE__*/React.createElement(React.Fragment, null, isLoading && hasMore && loader, !hasMore && endMessage, children) : /*#__PURE__*/React.createElement(React.Fragment, null, children, isLoading && hasMore && loader, !hasMore && endMessage));
|
264
|
+
};
|
265
|
+
export default InfiniteScroll;
|
@@ -0,0 +1 @@
|
|
1
|
+
export { default } from "./InfiniteScroll";
|
@@ -0,0 +1 @@
|
|
1
|
+
export {};
|
@@ -0,0 +1,214 @@
|
|
1
|
+
var _excluded = ["onRowClick", "resultProps", "onAddClient", "hasMore", "onLoadMore"];
|
2
|
+
function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
|
3
|
+
function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
|
4
|
+
function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
|
5
|
+
function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
|
6
|
+
function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
|
7
|
+
function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t.return && (u = t.return(), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }
|
8
|
+
function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
|
9
|
+
function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
|
10
|
+
function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
|
11
|
+
import React, { forwardRef, useImperativeHandle, useRef, useState } from 'react';
|
12
|
+
import { Tag, List } from 'antd';
|
13
|
+
// @ts-ignore
|
14
|
+
import { locales } from '@pisell/utils';
|
15
|
+
import dayjs from 'dayjs';
|
16
|
+
import InfiniteScroll from "./InfiniteScroll";
|
17
|
+
import ComprehensiveSearch from "../../pro/comprehensiveSearch";
|
18
|
+
import ClientName from "../clientName";
|
19
|
+
import AddClient from "./Add";
|
20
|
+
import localeTexts from "./locales";
|
21
|
+
import useEngineContext from "../../hooks/useEngineContext";
|
22
|
+
import useTranslationOriginal from "../../hooks/useTranslationOriginal";
|
23
|
+
import "./index.less";
|
24
|
+
var ClientSearch = /*#__PURE__*/forwardRef(function (_ref, ref) {
|
25
|
+
var _context$appHelper;
|
26
|
+
var onRowClick = _ref.onRowClick,
|
27
|
+
resultProps = _ref.resultProps,
|
28
|
+
onAddClient = _ref.onAddClient,
|
29
|
+
hasMore = _ref.hasMore,
|
30
|
+
onLoadMore = _ref.onLoadMore,
|
31
|
+
props = _objectWithoutProperties(_ref, _excluded);
|
32
|
+
var _useState = useState(false),
|
33
|
+
_useState2 = _slicedToArray(_useState, 2),
|
34
|
+
modalVisible = _useState2[0],
|
35
|
+
setModalVisible = _useState2[1];
|
36
|
+
var comprehensiveSearchRef = useRef(null);
|
37
|
+
var addClientRef = useRef(null);
|
38
|
+
var scrollContainerRef = useRef(null);
|
39
|
+
var translationOriginal = useTranslationOriginal();
|
40
|
+
var context = useEngineContext();
|
41
|
+
locales.init(localeTexts, ((_context$appHelper = context.appHelper) === null || _context$appHelper === void 0 || (_context$appHelper = _context$appHelper.utils) === null || _context$appHelper === void 0 || (_context$appHelper = _context$appHelper.storage) === null || _context$appHelper === void 0 ? void 0 : _context$appHelper.get('umi_locale')) || 'en');
|
42
|
+
var handleAdd = function handleAdd() {
|
43
|
+
setModalVisible(true);
|
44
|
+
};
|
45
|
+
var handleModalCancel = function handleModalCancel() {
|
46
|
+
var _addClientRef$current;
|
47
|
+
setModalVisible(false);
|
48
|
+
(_addClientRef$current = addClientRef.current) === null || _addClientRef$current === void 0 || _addClientRef$current.reset();
|
49
|
+
};
|
50
|
+
|
51
|
+
// 渲染列表头部
|
52
|
+
var renderListHeader = function renderListHeader() {
|
53
|
+
return /*#__PURE__*/React.createElement("div", {
|
54
|
+
className: "client-search-list-header"
|
55
|
+
}, /*#__PURE__*/React.createElement("div", {
|
56
|
+
className: "header-item",
|
57
|
+
style: {
|
58
|
+
width: 110
|
59
|
+
}
|
60
|
+
}, locales.getText('pisell2.text.client-search.name')), /*#__PURE__*/React.createElement("div", {
|
61
|
+
className: "header-item",
|
62
|
+
style: {
|
63
|
+
width: 110
|
64
|
+
}
|
65
|
+
}, locales.getText('pisell2.text.client-search.register-time')), /*#__PURE__*/React.createElement("div", {
|
66
|
+
className: "header-item",
|
67
|
+
style: {
|
68
|
+
width: 120
|
69
|
+
}
|
70
|
+
}, locales.getText('pisell2.text.client-search.phone')), /*#__PURE__*/React.createElement("div", {
|
71
|
+
className: "header-item",
|
72
|
+
style: {
|
73
|
+
width: 135
|
74
|
+
}
|
75
|
+
}, locales.getText('pisell2.text.client-search.email')), /*#__PURE__*/React.createElement("div", {
|
76
|
+
className: "header-item",
|
77
|
+
style: {
|
78
|
+
width: 120
|
79
|
+
}
|
80
|
+
}, locales.getText('pisell2.text.client-search.membership')));
|
81
|
+
};
|
82
|
+
|
83
|
+
// 自定义结果展示组件
|
84
|
+
var renderResults = function renderResults(searchResults) {
|
85
|
+
return /*#__PURE__*/React.createElement(React.Fragment, null, searchResults !== null && searchResults !== void 0 && searchResults.length ? renderListHeader() : null, /*#__PURE__*/React.createElement("div", {
|
86
|
+
ref: scrollContainerRef,
|
87
|
+
id: "client-search_infinite-scroll",
|
88
|
+
style: {
|
89
|
+
height: 'calc(100% - 40px)',
|
90
|
+
overflowY: 'auto',
|
91
|
+
overflowX: 'hidden',
|
92
|
+
display: 'flex'
|
93
|
+
}
|
94
|
+
}, /*#__PURE__*/React.createElement(InfiniteScroll, {
|
95
|
+
dataLength: searchResults.length,
|
96
|
+
next: onLoadMore || function () {},
|
97
|
+
hasMore: hasMore || false,
|
98
|
+
style: {
|
99
|
+
width: '100%'
|
100
|
+
},
|
101
|
+
loader: /*#__PURE__*/React.createElement("div", {
|
102
|
+
style: {
|
103
|
+
textAlign: 'center',
|
104
|
+
padding: '20px',
|
105
|
+
color: '#999'
|
106
|
+
}
|
107
|
+
}, locales.getText('pisell2.text.loading')),
|
108
|
+
endMessage: /*#__PURE__*/React.createElement("div", {
|
109
|
+
style: {
|
110
|
+
textAlign: 'center',
|
111
|
+
color: '#999'
|
112
|
+
}
|
113
|
+
}, searchResults !== null && searchResults !== void 0 && searchResults.length ? locales.getText('pisell2.text.no-more-data') : null),
|
114
|
+
scrollableTarget: "client-search_infinite-scroll"
|
115
|
+
}, /*#__PURE__*/React.createElement(List, {
|
116
|
+
dataSource: searchResults,
|
117
|
+
renderItem: function renderItem(item, index) {
|
118
|
+
var _latest_wallet_detail;
|
119
|
+
var membershipText = (_latest_wallet_detail = item.latest_wallet_detail) === null || _latest_wallet_detail === void 0 || (_latest_wallet_detail = _latest_wallet_detail.wallet) === null || _latest_wallet_detail === void 0 ? void 0 : _latest_wallet_detail.name;
|
120
|
+
return /*#__PURE__*/React.createElement(List.Item, {
|
121
|
+
key: item.id,
|
122
|
+
className: "client-search-list-item"
|
123
|
+
}, /*#__PURE__*/React.createElement("div", {
|
124
|
+
className: "list-item-content",
|
125
|
+
onClick: function onClick() {
|
126
|
+
return onRowClick === null || onRowClick === void 0 ? void 0 : onRowClick(item, index || 0);
|
127
|
+
},
|
128
|
+
style: {
|
129
|
+
cursor: 'pointer'
|
130
|
+
}
|
131
|
+
}, /*#__PURE__*/React.createElement("div", {
|
132
|
+
className: "item-cell",
|
133
|
+
style: {
|
134
|
+
width: 110
|
135
|
+
}
|
136
|
+
}, /*#__PURE__*/React.createElement(ClientName, {
|
137
|
+
dataSource: item
|
138
|
+
})), /*#__PURE__*/React.createElement("div", {
|
139
|
+
className: "item-cell",
|
140
|
+
style: {
|
141
|
+
width: 110
|
142
|
+
}
|
143
|
+
}, dayjs(item.created_at).format('YYYY-MM-DD') || '-'), /*#__PURE__*/React.createElement("div", {
|
144
|
+
className: "item-cell",
|
145
|
+
style: {
|
146
|
+
width: 120
|
147
|
+
}
|
148
|
+
}, item.phone || '-'), /*#__PURE__*/React.createElement("div", {
|
149
|
+
className: "item-cell",
|
150
|
+
style: {
|
151
|
+
width: 135
|
152
|
+
}
|
153
|
+
}, /*#__PURE__*/React.createElement("div", {
|
154
|
+
style: {
|
155
|
+
overflow: 'hidden',
|
156
|
+
textOverflow: 'ellipsis',
|
157
|
+
whiteSpace: 'nowrap'
|
158
|
+
}
|
159
|
+
}, item.email || '-')), /*#__PURE__*/React.createElement("div", {
|
160
|
+
className: "item-cell",
|
161
|
+
style: {
|
162
|
+
width: 120
|
163
|
+
}
|
164
|
+
}, membershipText && translationOriginal !== null && translationOriginal !== void 0 && translationOriginal(membershipText) ? /*#__PURE__*/React.createElement(Tag, {
|
165
|
+
color: "gold",
|
166
|
+
style: {
|
167
|
+
overflow: 'hidden',
|
168
|
+
whiteSpace: 'nowrap',
|
169
|
+
textOverflow: 'ellipsis',
|
170
|
+
width: 'auto',
|
171
|
+
maxWidth: '100%',
|
172
|
+
display: 'inline-block',
|
173
|
+
borderRadius: 16,
|
174
|
+
marginRight: 0
|
175
|
+
}
|
176
|
+
}, translationOriginal === null || translationOriginal === void 0 ? void 0 : translationOriginal(membershipText)) : '-')));
|
177
|
+
}
|
178
|
+
}))));
|
179
|
+
};
|
180
|
+
var handleAddClient = function handleAddClient(record, isChecked) {
|
181
|
+
onAddClient === null || onAddClient === void 0 || onAddClient(record, isChecked);
|
182
|
+
handleModalCancel();
|
183
|
+
};
|
184
|
+
useImperativeHandle(ref, function () {
|
185
|
+
return {
|
186
|
+
setSearchKeyword: function setSearchKeyword(keyword) {
|
187
|
+
var _comprehensiveSearchR, _comprehensiveSearchR2;
|
188
|
+
(_comprehensiveSearchR = comprehensiveSearchRef.current) === null || _comprehensiveSearchR === void 0 || (_comprehensiveSearchR2 = _comprehensiveSearchR.setSearchKeyword) === null || _comprehensiveSearchR2 === void 0 || _comprehensiveSearchR2.call(_comprehensiveSearchR, keyword);
|
189
|
+
},
|
190
|
+
resetScrollPosition: function resetScrollPosition() {
|
191
|
+
if (scrollContainerRef.current) {
|
192
|
+
scrollContainerRef.current.scrollTop = 0;
|
193
|
+
}
|
194
|
+
}
|
195
|
+
};
|
196
|
+
});
|
197
|
+
return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(ComprehensiveSearch, _extends({}, props, {
|
198
|
+
ref: comprehensiveSearchRef,
|
199
|
+
renderType: "modal",
|
200
|
+
onAdd: handleAdd,
|
201
|
+
resultDisplay: renderResults
|
202
|
+
})), /*#__PURE__*/React.createElement(AddClient, {
|
203
|
+
containerProps: {
|
204
|
+
className: 'pisell-client-search__new-client-modal',
|
205
|
+
title: locales.getText('pisell2.text.create-new-client'),
|
206
|
+
open: modalVisible,
|
207
|
+
onCancel: handleModalCancel,
|
208
|
+
width: 680
|
209
|
+
},
|
210
|
+
onChange: handleAddClient,
|
211
|
+
ref: addClientRef
|
212
|
+
}));
|
213
|
+
});
|
214
|
+
export default ClientSearch;
|
@@ -0,0 +1,91 @@
|
|
1
|
+
.client-search-table {
|
2
|
+
.pisell-lowcode-table-tbody > tr {
|
3
|
+
cursor: pointer;
|
4
|
+
|
5
|
+
&:hover {
|
6
|
+
background-color: #f5f5f5;
|
7
|
+
}
|
8
|
+
}
|
9
|
+
|
10
|
+
.pisell-lowcode-table-thead > tr > th {
|
11
|
+
background-color: #fafafa;
|
12
|
+
font-weight: 600;
|
13
|
+
}
|
14
|
+
}
|
15
|
+
|
16
|
+
// List样式
|
17
|
+
.client-search-list-header {
|
18
|
+
display: flex;
|
19
|
+
background-color: #fafafa;
|
20
|
+
border-bottom: 1px solid #d9d9d9;
|
21
|
+
padding: 12px 16px;
|
22
|
+
font-weight: 600;
|
23
|
+
|
24
|
+
.header-item {
|
25
|
+
flex-shrink: 0;
|
26
|
+
padding-right: 16px;
|
27
|
+
color: rgba(0, 0, 0, 0.85);
|
28
|
+
font-size: 14px;
|
29
|
+
}
|
30
|
+
}
|
31
|
+
|
32
|
+
.client-search-list-item {
|
33
|
+
cursor: pointer;
|
34
|
+
border-bottom: 1px solid #f0f0f0;
|
35
|
+
padding: 0 !important;
|
36
|
+
|
37
|
+
&:hover {
|
38
|
+
background-color: #f5f5f5;
|
39
|
+
}
|
40
|
+
|
41
|
+
&:last-child {
|
42
|
+
border-bottom: none;
|
43
|
+
}
|
44
|
+
|
45
|
+
.list-item-content {
|
46
|
+
display: flex;
|
47
|
+
width: 100%;
|
48
|
+
padding: 12px 16px;
|
49
|
+
|
50
|
+
.item-cell {
|
51
|
+
flex-shrink: 0;
|
52
|
+
padding-right: 16px;
|
53
|
+
color: rgba(0, 0, 0, 0.85);
|
54
|
+
font-size: 14px;
|
55
|
+
display: flex;
|
56
|
+
align-items: center;
|
57
|
+
overflow: hidden;
|
58
|
+
display: inline-block;
|
59
|
+
text-overflow: ellipsis;
|
60
|
+
white-space: nowrap;
|
61
|
+
}
|
62
|
+
}
|
63
|
+
|
64
|
+
// 添加点击事件处理
|
65
|
+
.ant-list-item-meta {
|
66
|
+
pointer-events: none;
|
67
|
+
}
|
68
|
+
}
|
69
|
+
|
70
|
+
.client-search-form {
|
71
|
+
padding: 16px 0;
|
72
|
+
|
73
|
+
.ant-form-item {
|
74
|
+
margin-bottom: 16px;
|
75
|
+
}
|
76
|
+
|
77
|
+
.ant-input {
|
78
|
+
height: 40px;
|
79
|
+
}
|
80
|
+
}
|
81
|
+
|
82
|
+
.comprehensive-search {
|
83
|
+
.comprehensive-search__results-container {
|
84
|
+
.client-search-table {
|
85
|
+
.pisell-lowcode-table {
|
86
|
+
border: 1px solid #d9d9d9;
|
87
|
+
border-radius: 6px;
|
88
|
+
}
|
89
|
+
}
|
90
|
+
}
|
91
|
+
}
|
@@ -0,0 +1,101 @@
|
|
1
|
+
export default {
|
2
|
+
en: {
|
3
|
+
'pisell2.text.leave-empty-for-walk-in': 'Leave empty for Walk-In',
|
4
|
+
'pisell2.text.date-year-text': 'YYYY',
|
5
|
+
'pisell2.text.date-month-text': 'MM',
|
6
|
+
'pisell2.text.date-day-text': 'DD',
|
7
|
+
'pisell2.text.gender': 'Gender',
|
8
|
+
'pisell2.text.gender.male': 'Male',
|
9
|
+
'pisell2.text.gender.female': 'Female',
|
10
|
+
'pisell2.text.birthday': 'Birthday',
|
11
|
+
'pisell2.text.phone': 'Phone Number',
|
12
|
+
'pisell2.text.email': 'Email',
|
13
|
+
'pisell2.text.lastname': 'Last Name',
|
14
|
+
'pisell2.text.firstname': 'First Name',
|
15
|
+
'pisell2.text.email-error-message': 'Email format error',
|
16
|
+
'pisell2.text.notes': 'Note',
|
17
|
+
'pisell2.text.save': 'Save',
|
18
|
+
'pisell2.text.save-and-select': 'Save and select',
|
19
|
+
'pisell2.text.no-results-found': 'No results found.',
|
20
|
+
'pisell2.text.create-new-client': 'Create new client',
|
21
|
+
'pisell2.text.result-found': 'Result found',
|
22
|
+
'pisell2.text.personnel-list': 'Personnel list',
|
23
|
+
'pisell2.text.load-more': 'Load more',
|
24
|
+
'pisell2.text.add-client.confirm': 'Fill in at least one name, phone number and email address',
|
25
|
+
'pisell2.text.search-customer-by-phone-number': 'Search by phone number',
|
26
|
+
'pisell2.text.create': 'Create',
|
27
|
+
'pisell2.text.loading': 'Loading',
|
28
|
+
'pisell2.text.no-more-data': 'No More Data',
|
29
|
+
'pisell2.text.client-search.name': 'Name',
|
30
|
+
'pisell2.text.client-search.register-time': 'Registration Time',
|
31
|
+
'pisell2.text.client-search.phone': 'Phone Number',
|
32
|
+
'pisell2.text.client-search.email': 'Email Address',
|
33
|
+
'pisell2.text.client-search.membership': 'Membership'
|
34
|
+
},
|
35
|
+
'zh-CN': {
|
36
|
+
'pisell2.text.leave-empty-for-walk-in': '如未注册游客则留空',
|
37
|
+
'pisell2.text.date-year-text': '年',
|
38
|
+
'pisell2.text.date-month-text': '月',
|
39
|
+
'pisell2.text.date-day-text': '日',
|
40
|
+
'pisell2.text.gender': '性别',
|
41
|
+
'pisell2.text.gender.male': '男',
|
42
|
+
'pisell2.text.gender.female': '女',
|
43
|
+
'pisell2.text.birthday': '生日',
|
44
|
+
'pisell2.text.phone': '电话号码',
|
45
|
+
'pisell2.text.email': '电子邮箱',
|
46
|
+
'pisell2.text.lastname': '姓',
|
47
|
+
'pisell2.text.firstname': '名',
|
48
|
+
'pisell2.text.email-error-message': '电子邮件格式错误',
|
49
|
+
'pisell2.text.notes': '备注',
|
50
|
+
'pisell2.text.save': '保存',
|
51
|
+
'pisell2.text.save-and-select': '保存并选中',
|
52
|
+
'pisell2.text.no-results-found': '没有搜索到结果',
|
53
|
+
'pisell2.text.create-new-client': '创建新客户',
|
54
|
+
'pisell2.text.result-found': '搜索结果',
|
55
|
+
'pisell2.text.personnel-list': '客户列表',
|
56
|
+
'pisell2.text.add-client.confirm': '姓名,电话,邮箱至少填一个',
|
57
|
+
'pisell2.text.load-more': '加载更多',
|
58
|
+
'pisell2.text.search-customer-by-phone-number': '输入手机号搜索客户',
|
59
|
+
'pisell2.text.create': '创建',
|
60
|
+
'pisell2.text.loading': '加载中',
|
61
|
+
'pisell2.text.no-more-data': '没有更多数据了',
|
62
|
+
'pisell2.text.client-search.name': '姓名',
|
63
|
+
'pisell2.text.client-search.register-time': '注册时间',
|
64
|
+
'pisell2.text.client-search.phone': '电话号码',
|
65
|
+
'pisell2.text.client-search.email': '邮箱',
|
66
|
+
'pisell2.text.client-search.membership': '会员'
|
67
|
+
},
|
68
|
+
'zh-HK': {
|
69
|
+
'pisell2.text.leave-empty-for-walk-in': '如未註冊遊客則留空',
|
70
|
+
'pisell2.text.date-year-text': '年',
|
71
|
+
'pisell2.text.date-month-text': '月',
|
72
|
+
'pisell2.text.date-day-text': '日',
|
73
|
+
'pisell2.text.gender': '性别',
|
74
|
+
'pisell2.text.gender.male': '男',
|
75
|
+
'pisell2.text.gender.female': '女',
|
76
|
+
'pisell2.text.birthday': '生日',
|
77
|
+
'pisell2.text.phone': '電話號碼',
|
78
|
+
'pisell2.text.email': '電子郵箱',
|
79
|
+
'pisell2.text.lastname': '姓',
|
80
|
+
'pisell2.text.firstname': '名',
|
81
|
+
'pisell2.text.email-error-message': '電子郵件格式錯誤',
|
82
|
+
'pisell2.text.notes': '備註',
|
83
|
+
'pisell2.text.save': '保存',
|
84
|
+
'pisell2.text.save-and-select': '保存並選中',
|
85
|
+
'pisell2.text.no-results-found': '沒有搜索到客戶',
|
86
|
+
'pisell2.text.create-new-client': '創建新客戶',
|
87
|
+
'pisell2.text.result-found': '搜索結果',
|
88
|
+
'pisell2.text.personnel-list': '客戶列表',
|
89
|
+
'pisell2.text.add-client.confirm': '姓名,電話,郵箱至少填一個',
|
90
|
+
'pisell2.text.load-more': '加載更多',
|
91
|
+
'pisell2.text.search-customer-by-phone-number': '輸入手機號搜索客戶',
|
92
|
+
'pisell2.text.create': '創建',
|
93
|
+
'pisell2.text.loading': '載入中',
|
94
|
+
'pisell2.text.no-more-data': '沒有更多資料了',
|
95
|
+
'pisell2.text.client-search.name': '姓名',
|
96
|
+
'pisell2.text.client-search.register-time': '註冊時間',
|
97
|
+
'pisell2.text.client-search.phone': '電話號碼',
|
98
|
+
'pisell2.text.client-search.email': '電郵地址',
|
99
|
+
'pisell2.text.client-search.membership': '會員'
|
100
|
+
}
|
101
|
+
};
|