@pisell/private-materials 6.3.138 → 6.3.140
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 +153 -426
- package/build/lowcode/render/default/view.css +1 -1
- package/build/lowcode/render/default/view.js +8 -8
- package/build/lowcode/view.css +1 -1
- package/build/lowcode/view.js +10 -10
- package/es/businessModel/SalesModel/index.d.ts +0 -1
- package/es/components/authentication/admin/ChannelAuthSetting/OnlineShopAuth/index.js +24 -5
- package/es/components/authentication/admin/ChannelAuthSetting/index.js +1 -1
- 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/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/formItemChildrenWrap/index.d.ts +1 -0
- package/es/components/booking/components/reloadResourceModal/index.d.ts +1 -0
- package/es/components/booking/deposit/index.d.ts +0 -1
- 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/info/addServiceVariant/index.d.ts +0 -1
- package/es/components/booking/info/clientVariant/hooks/useIsLowSpeedNetwork.d.ts +1 -0
- package/es/components/booking/info/hooks/useInfoHolder.d.ts +0 -1
- package/es/components/booking/info/index.d.ts +0 -1
- package/es/components/booking/info/model.d.ts +10 -1
- package/es/components/booking/info/service/Lists.d.ts +0 -1
- package/es/components/booking/info/service/addService/index.d.ts +0 -1
- package/es/components/booking/info/service/addTimeModal/index.d.ts +0 -1
- package/es/components/booking/info/service/like/index.d.ts +1 -0
- package/es/components/booking/info/service/serviceList/index.d.ts +0 -1
- package/es/components/booking/info/service2/Lists.d.ts +0 -1
- package/es/components/booking/info2/service/addTimeModal/index.d.ts +0 -1
- package/es/components/booking/info2/service/serviceList/index.d.ts +0 -1
- package/es/components/booking/materiels/contacts/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/ecocup/components/CupInfoCard/index.d.ts +1 -0
- package/es/components/ecocup/components/CustomerCard/index.d.ts +1 -0
- package/es/components/eftpos/deviceList/index.d.ts +1 -0
- package/es/components/eftpos/form/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/pos.d.ts +1 -0
- package/es/components/eftpos/receipt/index.d.ts +1 -0
- package/es/components/eftposPay/app.d.ts +0 -1
- package/es/components/eftposPay/component/alert/warn.d.ts +1 -0
- package/es/components/eftposPay/component/fail/failCustom.d.ts +0 -1
- package/es/components/eftposPay/component/fail/network.d.ts +1 -0
- package/es/components/eftposPay/component/fail/unknow.d.ts +1 -0
- package/es/components/eftposPay/component/header/titlebar.d.ts +1 -0
- package/es/components/eftposPay/component/signature/index.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 +0 -1
- package/es/components/eftposPay/index.d.ts +0 -1
- package/es/components/eftposPay/linkly/index.d.ts +0 -1
- package/es/components/eftposPay/pay.d.ts +0 -1
- package/es/components/eftposPay/payo/config.d.ts +1 -0
- 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/Provider/Content/index.d.ts +0 -1
- package/es/components/eventBooking/components/bookingAvailabilityCalendar/components/CalendarDate/CalenDateStatus/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/ProductItem/index.d.ts +1 -0
- package/es/components/eventBooking/index.d.ts +0 -1
- package/es/components/login/index.d.ts +1 -0
- package/es/components/pay/toC/PaymentMethods/MWCreditCard/tds2.js +7 -5
- package/es/components/pay/toC/PaymentMethods/StripePay/Stripe/StripeSDK/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/Add/PhoneField/index.d.ts +0 -1
- package/es/components/pisellSelectCustomerModal/RightPanel/index.d.ts +0 -1
- package/es/components/productExtension/fields/SelectProducts/ProductItemPreview/index.d.ts +1 -0
- package/es/components/productExtension/index.d.ts +0 -1
- package/es/components/ruleSetting/index.d.ts +0 -1
- package/es/components/ruleSetting/ruleBorder/index.d.ts +1 -0
- package/es/components/scanOrder/components/Cart/index.d.ts +2 -0
- package/es/components/scanOrder/components/Cart/index.js +181 -76
- package/es/components/scanOrder/components/Cart/index.less +72 -13
- package/es/components/scanOrder/components/Check/index.js +261 -75
- package/es/components/scanOrder/components/Check/index.less +30 -0
- package/es/components/scanOrder/components/Content/index.js +382 -144
- package/es/components/scanOrder/components/Footer/index.d.ts +2 -0
- package/es/components/scanOrder/components/Footer/index.js +4 -2
- package/es/components/scanOrder/components/Footer/index.less +16 -7
- package/es/components/scanOrder/components/FulfillmentMode/index.d.ts +11 -0
- package/es/components/scanOrder/components/FulfillmentMode/index.js +90 -0
- package/es/components/scanOrder/components/FulfillmentMode/index.less +40 -0
- package/es/components/scanOrder/components/ManualPickupRefModal/index.d.ts +16 -0
- package/es/components/scanOrder/components/ManualPickupRefModal/index.js +87 -0
- package/es/components/scanOrder/components/ManualPickupRefModal/index.less +61 -0
- package/es/components/scanOrder/components/Menu/index.d.ts +11 -0
- package/es/components/scanOrder/components/Menu/index.js +140 -169
- package/es/components/scanOrder/components/Voucher/index.d.ts +8 -0
- package/es/components/scanOrder/components/Voucher/index.js +250 -0
- package/es/components/scanOrder/context.js +123 -3
- package/es/components/scanOrder/hooks.js +4 -1
- package/es/components/scanOrder/locales.d.ts +120 -0
- package/es/components/scanOrder/locales.js +120 -0
- package/es/components/scanOrder/types.d.ts +33 -0
- package/es/components/scanOrder/utils/toShoppingCartProducts.d.ts +1 -0
- package/es/components/scanOrder/utils/toShoppingCartProducts.js +137 -9
- package/es/components/scanOrder/utils/transformProductDetail.js +21 -4
- 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/components/ScheduleList/index.d.ts +1 -0
- package/es/components/schedules/model.d.ts +9 -1
- package/es/components/schedules/products/ProductDetailDrawer/ProductDetail/MaxParticipantsModule/index.d.ts +1 -0
- package/es/components/schedules/products/ProductDetailDrawer/ProductDetail/ResourcesModule/index.d.ts +1 -0
- package/es/components/schedules/products/ProductDetailDrawer/ProductDetail/index.d.ts +1 -0
- package/es/components/schedules/products/ProductDetailDrawer/ProductDetailByDate/index.d.ts +1 -0
- package/es/components/schedules/products/ProductDetailDrawer/index.d.ts +1 -0
- package/es/components/schedules/products/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/index.d.ts +1 -0
- package/es/components/schedules/resources/list/index.d.ts +1 -0
- package/es/components/schedules/resources/relationProduct/index.d.ts +1 -0
- package/es/components/schedules/schedules/AllSchedules/index.d.ts +1 -0
- package/es/components/schedules/schedules/ScheduleDetailDrawer/index.d.ts +1 -0
- package/es/components/schedules/schedules/index.d.ts +1 -0
- package/es/components/systemSettings/registry/components/GroupModal.js +8 -1
- package/es/components/systemSettings/registry/components/ItemModal.js +3 -0
- package/es/components/systemSettings/registry/index.js +3 -1
- package/es/components/systemSettings/registry/services.d.ts +2 -0
- package/es/components/systemSettings/registry/types.d.ts +3 -0
- package/es/components/ticketBooking/components/addServiceVariant/index.d.ts +0 -1
- package/es/components/venueBooking/components/Addons/index.js +42 -33
- package/es/components/venueBooking/components/Cart/index.js +26 -14
- package/es/components/venueBooking/components/VenueSelection/components/TimeGrid.js +129 -17
- package/es/components/venueBooking/context.js +6 -6
- package/es/components/venueBooking/hooks.d.ts +16 -3
- package/es/components/venueBooking/hooks.js +16 -4
- package/es/components/venueBooking/types.d.ts +19 -2
- package/es/hooks/usePaymentLogger.d.ts +1 -0
- package/es/index.d.ts +1 -1
- package/es/index.js +1 -1
- package/es/plus/clientName/index.d.ts +1 -0
- package/es/plus/clinetSearch/Add/BirthdayField/index.d.ts +1 -0
- package/es/plus/clinetSearch/Add/GenderField/index.d.ts +1 -0
- package/es/plus/pisellReservation/floorRoomCard/views/RoomCardIcons.d.ts +1 -0
- package/es/plus/pisellSalesManagement/hooks/useSalesGridData.d.ts +1 -0
- 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/skuOptionsSelection/components/NormalCard/index.d.ts +1 -0
- package/es/plus/skuOptionsSelection/components/TitleExtra/index.d.ts +1 -0
- package/es/plus/skuOptionsSelection/components/VariantCard/index.d.ts +1 -0
- package/es/plus/walletEditor/components/relationProduct/index.d.ts +1 -0
- package/es/pro/Selector/demo.d.ts +1 -0
- package/lib/businessModel/SalesModel/index.d.ts +0 -1
- package/lib/components/authentication/admin/ChannelAuthSetting/OnlineShopAuth/index.js +19 -4
- package/lib/components/authentication/admin/ChannelAuthSetting/index.js +1 -1
- 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/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/formItemChildrenWrap/index.d.ts +1 -0
- package/lib/components/booking/components/reloadResourceModal/index.d.ts +1 -0
- package/lib/components/booking/deposit/index.d.ts +0 -1
- 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/info/addServiceVariant/index.d.ts +0 -1
- package/lib/components/booking/info/clientVariant/hooks/useIsLowSpeedNetwork.d.ts +1 -0
- package/lib/components/booking/info/hooks/useInfoHolder.d.ts +0 -1
- package/lib/components/booking/info/index.d.ts +0 -1
- package/lib/components/booking/info/model.d.ts +10 -1
- package/lib/components/booking/info/service/Lists.d.ts +0 -1
- package/lib/components/booking/info/service/addService/index.d.ts +0 -1
- package/lib/components/booking/info/service/addTimeModal/index.d.ts +0 -1
- package/lib/components/booking/info/service/like/index.d.ts +1 -0
- package/lib/components/booking/info/service/serviceList/index.d.ts +0 -1
- package/lib/components/booking/info/service2/Lists.d.ts +0 -1
- package/lib/components/booking/info2/service/addTimeModal/index.d.ts +0 -1
- package/lib/components/booking/info2/service/serviceList/index.d.ts +0 -1
- package/lib/components/booking/materiels/contacts/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/ecocup/components/CupInfoCard/index.d.ts +1 -0
- package/lib/components/ecocup/components/CustomerCard/index.d.ts +1 -0
- package/lib/components/eftpos/deviceList/index.d.ts +1 -0
- package/lib/components/eftpos/form/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/pos.d.ts +1 -0
- package/lib/components/eftpos/receipt/index.d.ts +1 -0
- package/lib/components/eftposPay/app.d.ts +0 -1
- package/lib/components/eftposPay/component/alert/warn.d.ts +1 -0
- package/lib/components/eftposPay/component/fail/failCustom.d.ts +0 -1
- package/lib/components/eftposPay/component/fail/network.d.ts +1 -0
- package/lib/components/eftposPay/component/fail/unknow.d.ts +1 -0
- package/lib/components/eftposPay/component/header/titlebar.d.ts +1 -0
- package/lib/components/eftposPay/component/signature/index.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 +0 -1
- package/lib/components/eftposPay/index.d.ts +0 -1
- package/lib/components/eftposPay/linkly/index.d.ts +0 -1
- package/lib/components/eftposPay/pay.d.ts +0 -1
- package/lib/components/eftposPay/payo/config.d.ts +1 -0
- 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/Provider/Content/index.d.ts +0 -1
- package/lib/components/eventBooking/components/bookingAvailabilityCalendar/components/CalendarDate/CalenDateStatus/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/ProductItem/index.d.ts +1 -0
- package/lib/components/eventBooking/index.d.ts +0 -1
- package/lib/components/login/index.d.ts +1 -0
- package/lib/components/pay/toC/PaymentMethods/MWCreditCard/tds2.js +2 -0
- package/lib/components/pay/toC/PaymentMethods/StripePay/Stripe/StripeSDK/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/Add/PhoneField/index.d.ts +0 -1
- package/lib/components/pisellSelectCustomerModal/RightPanel/index.d.ts +0 -1
- package/lib/components/productExtension/fields/SelectProducts/ProductItemPreview/index.d.ts +1 -0
- package/lib/components/productExtension/index.d.ts +0 -1
- package/lib/components/ruleSetting/index.d.ts +0 -1
- package/lib/components/ruleSetting/ruleBorder/index.d.ts +1 -0
- package/lib/components/scanOrder/components/Cart/index.d.ts +2 -0
- package/lib/components/scanOrder/components/Cart/index.js +117 -28
- package/lib/components/scanOrder/components/Cart/index.less +72 -13
- package/lib/components/scanOrder/components/Check/index.js +109 -15
- package/lib/components/scanOrder/components/Check/index.less +30 -0
- package/lib/components/scanOrder/components/Content/index.js +175 -48
- package/lib/components/scanOrder/components/Footer/index.d.ts +2 -0
- package/lib/components/scanOrder/components/Footer/index.js +2 -2
- package/lib/components/scanOrder/components/Footer/index.less +16 -7
- package/lib/components/scanOrder/components/FulfillmentMode/index.d.ts +11 -0
- package/lib/components/scanOrder/components/FulfillmentMode/index.js +96 -0
- package/lib/components/scanOrder/components/FulfillmentMode/index.less +40 -0
- package/lib/components/scanOrder/components/ManualPickupRefModal/index.d.ts +16 -0
- package/lib/components/scanOrder/components/ManualPickupRefModal/index.js +116 -0
- package/lib/components/scanOrder/components/ManualPickupRefModal/index.less +61 -0
- package/lib/components/scanOrder/components/Menu/index.d.ts +11 -0
- package/lib/components/scanOrder/components/Menu/index.js +23 -36
- package/lib/components/scanOrder/components/Voucher/index.d.ts +8 -0
- package/lib/components/scanOrder/components/Voucher/index.js +162 -0
- package/lib/components/scanOrder/context.js +91 -2
- package/lib/components/scanOrder/hooks.js +4 -1
- package/lib/components/scanOrder/locales.d.ts +120 -0
- package/lib/components/scanOrder/locales.js +120 -0
- package/lib/components/scanOrder/types.d.ts +33 -0
- package/lib/components/scanOrder/utils/toShoppingCartProducts.d.ts +1 -0
- package/lib/components/scanOrder/utils/toShoppingCartProducts.js +88 -6
- package/lib/components/scanOrder/utils/transformProductDetail.js +10 -3
- 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/components/ScheduleList/index.d.ts +1 -0
- package/lib/components/schedules/model.d.ts +9 -1
- package/lib/components/schedules/products/ProductDetailDrawer/ProductDetail/MaxParticipantsModule/index.d.ts +1 -0
- package/lib/components/schedules/products/ProductDetailDrawer/ProductDetail/ResourcesModule/index.d.ts +1 -0
- package/lib/components/schedules/products/ProductDetailDrawer/ProductDetail/index.d.ts +1 -0
- package/lib/components/schedules/products/ProductDetailDrawer/ProductDetailByDate/index.d.ts +1 -0
- package/lib/components/schedules/products/ProductDetailDrawer/index.d.ts +1 -0
- package/lib/components/schedules/products/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/index.d.ts +1 -0
- package/lib/components/schedules/resources/list/index.d.ts +1 -0
- package/lib/components/schedules/resources/relationProduct/index.d.ts +1 -0
- package/lib/components/schedules/schedules/AllSchedules/index.d.ts +1 -0
- package/lib/components/schedules/schedules/ScheduleDetailDrawer/index.d.ts +1 -0
- package/lib/components/schedules/schedules/index.d.ts +1 -0
- package/lib/components/systemSettings/registry/components/GroupModal.js +71 -72
- package/lib/components/systemSettings/registry/components/ItemModal.js +2 -1
- package/lib/components/systemSettings/registry/index.js +3 -1
- package/lib/components/systemSettings/registry/services.d.ts +2 -0
- package/lib/components/systemSettings/registry/types.d.ts +3 -0
- package/lib/components/ticketBooking/components/addServiceVariant/index.d.ts +0 -1
- package/lib/components/venueBooking/components/Addons/index.js +15 -8
- package/lib/components/venueBooking/components/Cart/index.js +8 -2
- package/lib/components/venueBooking/components/VenueSelection/components/TimeGrid.js +118 -18
- package/lib/components/venueBooking/context.js +2 -1
- package/lib/components/venueBooking/hooks.d.ts +16 -3
- package/lib/components/venueBooking/hooks.js +8 -2
- package/lib/components/venueBooking/types.d.ts +19 -2
- package/lib/hooks/usePaymentLogger.d.ts +1 -0
- package/lib/index.d.ts +1 -1
- package/lib/index.js +2 -0
- package/lib/plus/clientName/index.d.ts +1 -0
- package/lib/plus/clinetSearch/Add/BirthdayField/index.d.ts +1 -0
- package/lib/plus/clinetSearch/Add/GenderField/index.d.ts +1 -0
- package/lib/plus/pisellReservation/floorRoomCard/views/RoomCardIcons.d.ts +1 -0
- package/lib/plus/pisellSalesManagement/hooks/useSalesGridData.d.ts +1 -0
- 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/skuOptionsSelection/components/NormalCard/index.d.ts +1 -0
- package/lib/plus/skuOptionsSelection/components/TitleExtra/index.d.ts +1 -0
- package/lib/plus/skuOptionsSelection/components/VariantCard/index.d.ts +1 -0
- package/lib/plus/walletEditor/components/relationProduct/index.d.ts +1 -0
- package/lib/pro/Selector/demo.d.ts +1 -0
- package/lowcode/admin-auth-channel-auth/meta.ts +116 -0
- package/lowcode/admin-auth-online-shop-auth/meta.ts +81 -5
- package/package.json +1 -1
|
@@ -821,6 +821,7 @@ var Registry = function Registry(_ref) {
|
|
|
821
821
|
section_code: currentSection.code,
|
|
822
822
|
code: formData.code,
|
|
823
823
|
title: formData.title,
|
|
824
|
+
description: formData === null || formData === void 0 ? void 0 : formData.description,
|
|
824
825
|
sort: newSort
|
|
825
826
|
});
|
|
826
827
|
case 10:
|
|
@@ -838,7 +839,8 @@ var Registry = function Registry(_ref) {
|
|
|
838
839
|
return handleUpdateGroup({
|
|
839
840
|
id: editingGroup.id,
|
|
840
841
|
code: formData.code,
|
|
841
|
-
title: formData.title
|
|
842
|
+
title: formData.title,
|
|
843
|
+
description: formData === null || formData === void 0 ? void 0 : formData.description
|
|
842
844
|
});
|
|
843
845
|
case 17:
|
|
844
846
|
// 只有在保存成功后才关闭模态框
|
|
@@ -4,11 +4,13 @@ export interface CreateGroupParams {
|
|
|
4
4
|
code: string;
|
|
5
5
|
title: MultiLanguageText;
|
|
6
6
|
sort: number;
|
|
7
|
+
description?: MultiLanguageText;
|
|
7
8
|
}
|
|
8
9
|
export interface UpdateGroupParams {
|
|
9
10
|
id: number;
|
|
10
11
|
code: string;
|
|
11
12
|
title: MultiLanguageText;
|
|
13
|
+
description?: MultiLanguageText;
|
|
12
14
|
}
|
|
13
15
|
export interface DeleteGroupParams {
|
|
14
16
|
id: number;
|
|
@@ -36,6 +36,8 @@ export interface SettingGroup extends BaseItem {
|
|
|
36
36
|
items: SettingItem[];
|
|
37
37
|
expanded?: boolean;
|
|
38
38
|
sort: number;
|
|
39
|
+
description?: MultiLanguageText;
|
|
40
|
+
title?: MultiLanguageText;
|
|
39
41
|
}
|
|
40
42
|
export interface Section extends BaseItem {
|
|
41
43
|
icon?: string;
|
|
@@ -90,6 +92,7 @@ export interface SettingsTableProps {
|
|
|
90
92
|
export interface GroupFormData {
|
|
91
93
|
title: MultiLanguageText;
|
|
92
94
|
code: string;
|
|
95
|
+
description?: MultiLanguageText;
|
|
93
96
|
}
|
|
94
97
|
export interface ItemFormData {
|
|
95
98
|
name: MultiLanguageText;
|
|
@@ -131,17 +131,19 @@ export default function Addons() {
|
|
|
131
131
|
// ── 从订单移除商品 ──
|
|
132
132
|
var removeOrderProduct = /*#__PURE__*/function () {
|
|
133
133
|
var _ref4 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee3(params) {
|
|
134
|
-
var product_id, product_variant_id, sourceData;
|
|
134
|
+
var product_id, product_variant_id, identity_key, sourceData;
|
|
135
135
|
return _regeneratorRuntime().wrap(function _callee3$(_context3) {
|
|
136
136
|
while (1) switch (_context3.prev = _context3.next) {
|
|
137
137
|
case 0:
|
|
138
|
-
product_id = params.product_id, product_variant_id = params.product_variant_id, sourceData = params.sourceData;
|
|
138
|
+
product_id = params.product_id, product_variant_id = params.product_variant_id, identity_key = params.identity_key, sourceData = params.sourceData;
|
|
139
139
|
_context3.prev = 1;
|
|
140
140
|
_context3.next = 4;
|
|
141
|
-
return runModuleAction('removeProductFromOrder', {
|
|
141
|
+
return runModuleAction('removeProductFromOrder', _objectSpread({
|
|
142
142
|
product_id: product_id,
|
|
143
143
|
product_variant_id: product_variant_id
|
|
144
|
-
}
|
|
144
|
+
}, identity_key ? {
|
|
145
|
+
identity_key: identity_key
|
|
146
|
+
} : {}));
|
|
145
147
|
case 4:
|
|
146
148
|
_context3.next = 6;
|
|
147
149
|
return refreshViewModel();
|
|
@@ -155,7 +157,8 @@ export default function Addons() {
|
|
|
155
157
|
error: _context3.t0,
|
|
156
158
|
sourceData: sourceData,
|
|
157
159
|
product_id: product_id,
|
|
158
|
-
product_variant_id: product_variant_id
|
|
160
|
+
product_variant_id: product_variant_id,
|
|
161
|
+
identity_key: identity_key
|
|
159
162
|
});
|
|
160
163
|
case 11:
|
|
161
164
|
case "end":
|
|
@@ -171,18 +174,21 @@ export default function Addons() {
|
|
|
171
174
|
// ── 更新订单中商品数量 ──
|
|
172
175
|
var updateOrderProduct = /*#__PURE__*/function () {
|
|
173
176
|
var _ref5 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee4(params) {
|
|
174
|
-
var product_id, product_variant_id, updates, sourceData;
|
|
177
|
+
var product_id, product_variant_id, identity_key, updates, sourceData;
|
|
175
178
|
return _regeneratorRuntime().wrap(function _callee4$(_context4) {
|
|
176
179
|
while (1) switch (_context4.prev = _context4.next) {
|
|
177
180
|
case 0:
|
|
178
|
-
product_id = params.product_id, product_variant_id = params.product_variant_id, updates = params.updates, sourceData = params.sourceData;
|
|
181
|
+
product_id = params.product_id, product_variant_id = params.product_variant_id, identity_key = params.identity_key, updates = params.updates, sourceData = params.sourceData;
|
|
179
182
|
_context4.prev = 1;
|
|
180
183
|
_context4.next = 4;
|
|
181
|
-
return runModuleAction('updateProductInOrder', {
|
|
184
|
+
return runModuleAction('updateProductInOrder', _objectSpread(_objectSpread({
|
|
182
185
|
product_id: product_id,
|
|
183
|
-
product_variant_id: product_variant_id
|
|
186
|
+
product_variant_id: product_variant_id
|
|
187
|
+
}, identity_key ? {
|
|
188
|
+
identity_key: identity_key
|
|
189
|
+
} : {}), {}, {
|
|
184
190
|
updates: updates
|
|
185
|
-
});
|
|
191
|
+
}));
|
|
186
192
|
case 4:
|
|
187
193
|
_context4.next = 6;
|
|
188
194
|
return refreshViewModel();
|
|
@@ -197,6 +203,7 @@ export default function Addons() {
|
|
|
197
203
|
sourceData: sourceData,
|
|
198
204
|
product_id: product_id,
|
|
199
205
|
product_variant_id: product_variant_id,
|
|
206
|
+
identity_key: identity_key,
|
|
200
207
|
updates: updates
|
|
201
208
|
});
|
|
202
209
|
case 11:
|
|
@@ -218,13 +225,13 @@ export default function Addons() {
|
|
|
218
225
|
*/
|
|
219
226
|
var handleSelectProduct = /*#__PURE__*/function () {
|
|
220
227
|
var _ref6 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee6(item, clickType, meta) {
|
|
221
|
-
var sourceItem, _item$option, _item$bundle, _item$price, _item$product_id, _ref7, _meta$quantity, _orderProduct$product, _orderProduct$product4, quantityData, orderProduct, nextQuantity, productVariantId, normalizedQuantity,
|
|
228
|
+
var sourceItem, _item$option, _item$bundle, _item$price, _item$product_id, _ref7, _meta$quantity, _orderProduct$product, _orderProduct$product4, quantityData, orderProduct, nextQuantity, productVariantId, normalizedQuantity, cartItems, existedCartItem, existedIdentityKey, _orderProduct$product3;
|
|
222
229
|
return _regeneratorRuntime().wrap(function _callee6$(_context6) {
|
|
223
230
|
while (1) switch (_context6.prev = _context6.next) {
|
|
224
231
|
case 0:
|
|
225
232
|
sourceItem = (meta === null || meta === void 0 ? void 0 : meta.product) || item;
|
|
226
233
|
if (!((meta === null || meta === void 0 ? void 0 : meta.intent) === 'quantity')) {
|
|
227
|
-
_context6.next =
|
|
234
|
+
_context6.next = 28;
|
|
228
235
|
break;
|
|
229
236
|
}
|
|
230
237
|
// ── 数量变更模式 ──
|
|
@@ -259,54 +266,56 @@ export default function Addons() {
|
|
|
259
266
|
});
|
|
260
267
|
return _context6.abrupt("return");
|
|
261
268
|
case 12:
|
|
262
|
-
normalizedQuantity = Number.isNaN(nextQuantity) ? 0 : Math.max(0, Math.floor(nextQuantity)); //
|
|
269
|
+
normalizedQuantity = Number.isNaN(nextQuantity) ? 0 : Math.max(0, Math.floor(nextQuantity)); // 检查购物车中是否已存在该商品(优先取 SDK 回灌的 identity_key 做精确删改)
|
|
270
|
+
cartItems = Array.isArray(viewModel === null || viewModel === void 0 ? void 0 : viewModel.cartItems) ? viewModel.cartItems : [];
|
|
271
|
+
existedCartItem = cartItems.find(function (cartItem) {
|
|
272
|
+
var _cartItem$product_id, _orderProduct$product2, _cartItem$product_var;
|
|
273
|
+
return String((_cartItem$product_id = cartItem === null || cartItem === void 0 ? void 0 : cartItem.product_id) !== null && _cartItem$product_id !== void 0 ? _cartItem$product_id : null) === String((_orderProduct$product2 = orderProduct === null || orderProduct === void 0 ? void 0 : orderProduct.product_id) !== null && _orderProduct$product2 !== void 0 ? _orderProduct$product2 : null) && Number((_cartItem$product_var = cartItem === null || cartItem === void 0 ? void 0 : cartItem.product_variant_id) !== null && _cartItem$product_var !== void 0 ? _cartItem$product_var : 0) === productVariantId;
|
|
274
|
+
});
|
|
275
|
+
existedIdentityKey = typeof (existedCartItem === null || existedCartItem === void 0 ? void 0 : existedCartItem.identity_key) === 'string' && existedCartItem.identity_key.length > 0 ? existedCartItem.identity_key : undefined; // 数量为 0 → 移除商品
|
|
263
276
|
if (!(normalizedQuantity <= 0)) {
|
|
264
|
-
_context6.next =
|
|
277
|
+
_context6.next = 20;
|
|
265
278
|
break;
|
|
266
279
|
}
|
|
267
|
-
_context6.next =
|
|
280
|
+
_context6.next = 19;
|
|
268
281
|
return removeOrderProduct({
|
|
269
|
-
product_id: (_orderProduct$
|
|
282
|
+
product_id: (_orderProduct$product3 = orderProduct === null || orderProduct === void 0 ? void 0 : orderProduct.product_id) !== null && _orderProduct$product3 !== void 0 ? _orderProduct$product3 : null,
|
|
270
283
|
product_variant_id: productVariantId,
|
|
284
|
+
identity_key: existedIdentityKey,
|
|
271
285
|
sourceData: quantityData
|
|
272
286
|
});
|
|
273
|
-
case
|
|
287
|
+
case 19:
|
|
274
288
|
return _context6.abrupt("return");
|
|
275
|
-
case
|
|
276
|
-
// 检查购物车中是否已存在该商品
|
|
277
|
-
cartItems = Array.isArray(viewModel === null || viewModel === void 0 ? void 0 : viewModel.cartItems) ? viewModel.cartItems : [];
|
|
278
|
-
existedCartItem = cartItems.find(function (cartItem) {
|
|
279
|
-
var _cartItem$product_id, _orderProduct$product3, _cartItem$product_var;
|
|
280
|
-
return String((_cartItem$product_id = cartItem === null || cartItem === void 0 ? void 0 : cartItem.product_id) !== null && _cartItem$product_id !== void 0 ? _cartItem$product_id : null) === String((_orderProduct$product3 = orderProduct === null || orderProduct === void 0 ? void 0 : orderProduct.product_id) !== null && _orderProduct$product3 !== void 0 ? _orderProduct$product3 : null) && Number((_cartItem$product_var = cartItem === null || cartItem === void 0 ? void 0 : cartItem.product_variant_id) !== null && _cartItem$product_var !== void 0 ? _cartItem$product_var : 0) === productVariantId;
|
|
281
|
-
}); // 不存在 → 新增;已存在 → 更新数量
|
|
289
|
+
case 20:
|
|
282
290
|
if (existedCartItem) {
|
|
283
|
-
_context6.next =
|
|
291
|
+
_context6.next = 24;
|
|
284
292
|
break;
|
|
285
293
|
}
|
|
286
|
-
_context6.next =
|
|
294
|
+
_context6.next = 23;
|
|
287
295
|
return addOrderProduct({
|
|
288
296
|
orderProduct: _objectSpread(_objectSpread({}, orderProduct), {}, {
|
|
289
297
|
num: normalizedQuantity
|
|
290
298
|
}),
|
|
291
299
|
sourceData: quantityData
|
|
292
300
|
});
|
|
293
|
-
case 22:
|
|
294
|
-
return _context6.abrupt("return");
|
|
295
301
|
case 23:
|
|
296
|
-
_context6.
|
|
302
|
+
return _context6.abrupt("return");
|
|
303
|
+
case 24:
|
|
304
|
+
_context6.next = 26;
|
|
297
305
|
return updateOrderProduct({
|
|
298
306
|
product_id: (_orderProduct$product4 = orderProduct === null || orderProduct === void 0 ? void 0 : orderProduct.product_id) !== null && _orderProduct$product4 !== void 0 ? _orderProduct$product4 : null,
|
|
299
307
|
product_variant_id: productVariantId,
|
|
308
|
+
identity_key: existedIdentityKey,
|
|
300
309
|
updates: {
|
|
301
310
|
num: normalizedQuantity,
|
|
302
311
|
_origin: orderProduct === null || orderProduct === void 0 ? void 0 : orderProduct._origin
|
|
303
312
|
},
|
|
304
313
|
sourceData: quantityData
|
|
305
314
|
});
|
|
306
|
-
case
|
|
307
|
-
_context6.next =
|
|
315
|
+
case 26:
|
|
316
|
+
_context6.next = 29;
|
|
308
317
|
break;
|
|
309
|
-
case
|
|
318
|
+
case 28:
|
|
310
319
|
// ── 打开商品详情弹窗 ──
|
|
311
320
|
utils === null || utils === void 0 || utils.action({
|
|
312
321
|
type: 'pisell1.productDetail',
|
|
@@ -362,7 +371,7 @@ export default function Addons() {
|
|
|
362
371
|
return callback;
|
|
363
372
|
}()
|
|
364
373
|
});
|
|
365
|
-
case
|
|
374
|
+
case 29:
|
|
366
375
|
case "end":
|
|
367
376
|
return _context6.stop();
|
|
368
377
|
}
|
|
@@ -147,7 +147,10 @@ export default function Cart(props) {
|
|
|
147
147
|
var isVenueBookingCartItem = function isVenueBookingCartItem(target) {
|
|
148
148
|
if (!target || _typeof(target) !== 'object') return false;
|
|
149
149
|
if (target !== null && target !== void 0 && target.start_date && target !== null && target !== void 0 && target.end_date) return true;
|
|
150
|
-
|
|
150
|
+
|
|
151
|
+
// 不透明 identity 契约下,venueBooking 行的 identity_key 形如 `venue:<resourceId>:<groupIndex>:<uuid>`,
|
|
152
|
+
// 仅依据 SDK 回灌的 identity_key 判断;不再回退 rowKey / _id。
|
|
153
|
+
var identity = String((target === null || target === void 0 ? void 0 : target.identity_key) || '');
|
|
151
154
|
if (identity.startsWith('venue:')) return true;
|
|
152
155
|
return false;
|
|
153
156
|
};
|
|
@@ -176,39 +179,48 @@ export default function Cart(props) {
|
|
|
176
179
|
return _context.abrupt("return");
|
|
177
180
|
case 6:
|
|
178
181
|
productId = (_ref6 = (_targetItem$product_i = targetItem === null || targetItem === void 0 ? void 0 : targetItem.product_id) !== null && _targetItem$product_i !== void 0 ? _targetItem$product_i : targetItem === null || targetItem === void 0 ? void 0 : targetItem.id) !== null && _ref6 !== void 0 ? _ref6 : null;
|
|
179
|
-
productVariantId = Number((_targetItem$product_v = targetItem === null || targetItem === void 0 ? void 0 : targetItem.product_variant_id) !== null && _targetItem$product_v !== void 0 ? _targetItem$product_v : 0);
|
|
180
|
-
identityKey =
|
|
182
|
+
productVariantId = Number((_targetItem$product_v = targetItem === null || targetItem === void 0 ? void 0 : targetItem.product_variant_id) !== null && _targetItem$product_v !== void 0 ? _targetItem$product_v : 0); // 不透明 identity 契约:删除只信任 SDK 回灌的 identity_key,禁用 rowKey 回退。
|
|
183
|
+
identityKey = targetItem === null || targetItem === void 0 ? void 0 : targetItem.identity_key;
|
|
181
184
|
if (!(productId === null && Number.isNaN(productVariantId))) {
|
|
182
185
|
_context.next = 11;
|
|
183
186
|
break;
|
|
184
187
|
}
|
|
185
188
|
return _context.abrupt("return");
|
|
186
189
|
case 11:
|
|
187
|
-
|
|
188
|
-
|
|
190
|
+
if (!(typeof identityKey !== 'string' || identityKey.length === 0)) {
|
|
191
|
+
_context.next = 14;
|
|
192
|
+
break;
|
|
193
|
+
}
|
|
194
|
+
console.error('[venueBooking] removeProductFromOrder skipped: missing identity_key', {
|
|
195
|
+
item: targetItem
|
|
196
|
+
});
|
|
197
|
+
return _context.abrupt("return");
|
|
198
|
+
case 14:
|
|
199
|
+
_context.prev = 14;
|
|
200
|
+
_context.next = 17;
|
|
189
201
|
return runModuleAction('removeProductFromOrder', {
|
|
190
202
|
product_id: productId,
|
|
191
203
|
product_variant_id: Number.isNaN(productVariantId) ? 0 : productVariantId,
|
|
192
204
|
identity_key: identityKey
|
|
193
205
|
});
|
|
194
|
-
case
|
|
195
|
-
_context.next =
|
|
206
|
+
case 17:
|
|
207
|
+
_context.next = 19;
|
|
196
208
|
return refreshViewModel();
|
|
197
|
-
case
|
|
198
|
-
_context.next =
|
|
209
|
+
case 19:
|
|
210
|
+
_context.next = 24;
|
|
199
211
|
break;
|
|
200
|
-
case
|
|
201
|
-
_context.prev =
|
|
202
|
-
_context.t0 = _context["catch"](
|
|
212
|
+
case 21:
|
|
213
|
+
_context.prev = 21;
|
|
214
|
+
_context.t0 = _context["catch"](14);
|
|
203
215
|
console.error('[venueBooking] removeProductFromOrder failed', {
|
|
204
216
|
error: _context.t0,
|
|
205
217
|
item: targetItem
|
|
206
218
|
});
|
|
207
|
-
case
|
|
219
|
+
case 24:
|
|
208
220
|
case "end":
|
|
209
221
|
return _context.stop();
|
|
210
222
|
}
|
|
211
|
-
}, _callee, null, [[
|
|
223
|
+
}, _callee, null, [[14, 21]]);
|
|
212
224
|
}));
|
|
213
225
|
return function handleCartChange(_x, _x2, _x3) {
|
|
214
226
|
return _ref5.apply(this, arguments);
|
|
@@ -4,6 +4,12 @@ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t =
|
|
|
4
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
5
|
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : String(i); }
|
|
6
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; }
|
|
7
13
|
/**
|
|
8
14
|
* 时段网格
|
|
9
15
|
* 核心交互组件:横轴为时间(每 30 分钟一格),纵轴为资源/场地
|
|
@@ -16,11 +22,11 @@ function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e
|
|
|
16
22
|
* 首个可用时段。
|
|
17
23
|
* - 同步方向单向:body.scrollLeft -> headerInner.style.transform。
|
|
18
24
|
*/
|
|
19
|
-
import React, { useEffect, useMemo, useRef, useCallback } from 'react';
|
|
25
|
+
import React, { useEffect, useMemo, useRef, useCallback, useState } from 'react';
|
|
20
26
|
import { Iconfont, PisellText } from '@pisell/materials';
|
|
21
27
|
import { locales, isIos } from '@pisell/utils';
|
|
22
28
|
import { useVenueBookingContext } from "../../../context";
|
|
23
|
-
import { isSlotSelected as checkSlotSelected, useVenueBookingSymbol } from "../../../hooks";
|
|
29
|
+
import { isSlotSelected as checkSlotSelected, isSlotDisabledBySelection, useVenueBookingSymbol } from "../../../hooks";
|
|
24
30
|
import { formatHourHeader, isHourBoundary, buildHourGroups, buildSlotPriceInfo, getPriceColor, getSlotTag, getColumnTag, getTimeMetaFromGrid, getResourceCourtMeta, getTableGridStyle, getFirstAvailableSlotIndex, FIRST_COLUMN_WIDTH } from "../../../utils";
|
|
25
31
|
export default function TimeGrid() {
|
|
26
32
|
var symbol = useVenueBookingSymbol();
|
|
@@ -206,13 +212,24 @@ export default function TimeGrid() {
|
|
|
206
212
|
return scroller.removeEventListener('wheel', onWheel);
|
|
207
213
|
};
|
|
208
214
|
}, []);
|
|
209
|
-
|
|
215
|
+
|
|
216
|
+
/** 记录哪些多商品资源是展开态(resourceId -> expanded) */
|
|
217
|
+
var _useState = useState({}),
|
|
218
|
+
_useState2 = _slicedToArray(_useState, 2),
|
|
219
|
+
expandedResources = _useState2[0],
|
|
220
|
+
setExpandedResources = _useState2[1];
|
|
221
|
+
var toggleExpanded = useCallback(function (resourceId) {
|
|
222
|
+
setExpandedResources(function (prev) {
|
|
223
|
+
return _objectSpread(_objectSpread({}, prev), {}, _defineProperty({}, String(resourceId), !prev[String(resourceId)]));
|
|
224
|
+
});
|
|
225
|
+
}, []);
|
|
226
|
+
function handleSlotClick(resourceId, productId, slot) {
|
|
210
227
|
if (dragStateRef.current.moved) {
|
|
211
228
|
dragStateRef.current.moved = false;
|
|
212
229
|
return;
|
|
213
230
|
}
|
|
214
231
|
if (slot.status !== 'available') return;
|
|
215
|
-
toggleSlot(resourceId, slot);
|
|
232
|
+
toggleSlot(resourceId, productId, slot);
|
|
216
233
|
}
|
|
217
234
|
|
|
218
235
|
// 网格加载中(周数据拉取 / 切换日期过渡 / 数据未就绪):渲染骨架屏
|
|
@@ -292,43 +309,79 @@ export default function TimeGrid() {
|
|
|
292
309
|
key: grid.date
|
|
293
310
|
}, visibleResources.map(function (resource) {
|
|
294
311
|
var courtMeta = getResourceCourtMeta(resource);
|
|
295
|
-
|
|
296
|
-
|
|
312
|
+
var isMultiProduct = !!resource.hasMultipleProducts && Array.isArray(resource.products);
|
|
313
|
+
var expanded = !!expandedResources[String(resource.resourceId)];
|
|
314
|
+
return /*#__PURE__*/React.createElement(React.Fragment, {
|
|
315
|
+
key: "".concat(resource.resourceId, "-").concat(grid.date)
|
|
316
|
+
}, /*#__PURE__*/React.createElement("div", {
|
|
297
317
|
className: "grid border-b border-black/6",
|
|
298
318
|
style: tableGridStyle
|
|
299
319
|
}, /*#__PURE__*/React.createElement("div", {
|
|
300
320
|
className: "sticky left-0 z-10 border-r border-black/6 px-2 py-2 shadow-[10px_0_16px_-14px_rgba(0,0,0,0.2)] md:px-4 ".concat(courtMeta.soldOut ? 'bg-zinc-50' : 'bg-white')
|
|
301
321
|
}, /*#__PURE__*/React.createElement("div", {
|
|
302
322
|
className: "flex items-start justify-between gap-2"
|
|
303
|
-
}, /*#__PURE__*/React.createElement("div",
|
|
323
|
+
}, /*#__PURE__*/React.createElement("div", {
|
|
324
|
+
className: "flex items-center gap-1.5"
|
|
325
|
+
}, isMultiProduct ? /*#__PURE__*/React.createElement("button", {
|
|
326
|
+
type: "button",
|
|
327
|
+
"data-cart-button": "true",
|
|
328
|
+
onClick: function onClick(e) {
|
|
329
|
+
e.stopPropagation();
|
|
330
|
+
toggleExpanded(resource.resourceId);
|
|
331
|
+
},
|
|
332
|
+
className: "flex h-5 w-5 items-center justify-center rounded text-zinc-500 hover:bg-black/5",
|
|
333
|
+
"aria-label": expanded ? 'collapse' : 'expand'
|
|
334
|
+
}, /*#__PURE__*/React.createElement(Iconfont, {
|
|
335
|
+
type: expanded ? 'pisell2-chevron-down' : 'pisell2-chevron-right',
|
|
336
|
+
style: {
|
|
337
|
+
fontSize: 12
|
|
338
|
+
}
|
|
339
|
+
})) : null, /*#__PURE__*/React.createElement("div", {
|
|
304
340
|
className: "text-[13px] font-extrabold leading-5 md:text-[15px] ".concat(courtMeta.soldOut ? 'text-zinc-400' : 'text-zinc-900')
|
|
305
341
|
}, resource.resourceName)))), resource.slots.map(function (slot, slotIndex) {
|
|
306
342
|
var isAvailable = slot.status === 'available';
|
|
307
|
-
// unavailable:该时段不提供服务(如非营业时段);occupied/past 同样不可选
|
|
308
343
|
var isUnavailable = slot.status === 'occupied' || slot.status === 'past' || slot.status === 'unavailable';
|
|
309
|
-
var
|
|
344
|
+
var timeLabel = timeLabels[slotIndex] || '';
|
|
310
345
|
var priceInfo = buildSlotPriceInfo(slot);
|
|
311
346
|
var priceClass = getPriceColor(_objectSpread(_objectSpread({}, priceInfo), {}, {
|
|
312
347
|
courtType: resource.productTitle
|
|
313
348
|
}));
|
|
314
|
-
var timeLabel = timeLabels[slotIndex] || '';
|
|
315
349
|
var tag = getSlotTag(priceInfo);
|
|
316
350
|
var tagText = (tag === null || tag === void 0 ? void 0 : tag.text) === 'pisell2.venue.label.promo' ? locales.getText('pisell2.venue.label.promo') || '促销' : (tag === null || tag === void 0 ? void 0 : tag.text) === 'pisell2.venue.label.off.peak' ? locales.getText('pisell2.venue.label.off.peak') || '非高峰' : null;
|
|
351
|
+
|
|
352
|
+
// 单商品:保持原选中/禁用判定;多商品:外层 slot 不可直接选,点击仅触发展开
|
|
353
|
+
var productIdForSingle = resource.productId;
|
|
354
|
+
var disabledBySelection = !isMultiProduct && !isUnavailable ? isSlotDisabledBySelection(venueBookingModule, {
|
|
355
|
+
resourceId: resource.resourceId,
|
|
356
|
+
productId: productIdForSingle,
|
|
357
|
+
startTime: slot.startTime
|
|
358
|
+
}) : false;
|
|
359
|
+
// 跨行互斥禁用视觉上与 unavailable 一致(灰底 + ×),用户能明确看到冲突
|
|
360
|
+
var isBlocked = isUnavailable || disabledBySelection;
|
|
361
|
+
var selected = !isMultiProduct && isAvailable && checkSlotSelected(venueBookingModule, resource.resourceId, slot.startTime, productIdForSingle);
|
|
362
|
+
var interactive = !isMultiProduct && !isBlocked;
|
|
363
|
+
var showPlusLabel = isMultiProduct && !isBlocked;
|
|
317
364
|
return /*#__PURE__*/React.createElement("button", {
|
|
318
365
|
"data-slot-button": "true",
|
|
319
|
-
key: "".concat(resource.resourceId, "-").concat(slot.startTime),
|
|
366
|
+
key: "".concat(resource.resourceId, "-outer-").concat(slot.startTime),
|
|
320
367
|
onClick: function onClick() {
|
|
321
|
-
|
|
368
|
+
if (isMultiProduct) {
|
|
369
|
+
if (isBlocked) return;
|
|
370
|
+
toggleExpanded(resource.resourceId);
|
|
371
|
+
return;
|
|
372
|
+
}
|
|
373
|
+
if (isBlocked) return;
|
|
374
|
+
handleSlotClick(resource.resourceId, productIdForSingle, slot);
|
|
322
375
|
},
|
|
323
|
-
disabled:
|
|
324
|
-
className: "px-1 py-2 text-center transition md:px-2 ".concat(
|
|
376
|
+
disabled: isBlocked,
|
|
377
|
+
className: "px-1 py-2 text-center transition md:px-2 ".concat(isBlocked ? 'cursor-not-allowed bg-zinc-100 text-zinc-400' : selected ? 'text-white' : 'bg-white hover:bg-[#fff6f6]'),
|
|
325
378
|
style: _objectSpread({
|
|
326
379
|
borderLeft: isHourBoundary(timeLabel) ? '1px solid rgba(0,0,0,0.08)' : '1px solid rgba(0,0,0,0.03)',
|
|
327
380
|
borderBottom: '1px solid rgba(0,0,0,0.04)'
|
|
328
|
-
}, selected &&
|
|
381
|
+
}, selected && interactive ? {
|
|
329
382
|
backgroundColor: 'var(--vb-primary)'
|
|
330
383
|
} : null)
|
|
331
|
-
},
|
|
384
|
+
}, isBlocked ? /*#__PURE__*/React.createElement("div", {
|
|
332
385
|
className: "flex flex-col items-center justify-center gap-1 text-zinc-400"
|
|
333
386
|
}, /*#__PURE__*/React.createElement("div", {
|
|
334
387
|
className: "text-lg font-bold leading-none"
|
|
@@ -342,6 +395,8 @@ export default function TimeGrid() {
|
|
|
342
395
|
className: "text-[13px] font-extrabold leading-4 text-white md:text-sm"
|
|
343
396
|
})) : /*#__PURE__*/React.createElement("div", {
|
|
344
397
|
className: "space-y-0.5"
|
|
398
|
+
}, /*#__PURE__*/React.createElement("div", {
|
|
399
|
+
className: "flex items-baseline justify-center gap-0.5"
|
|
345
400
|
}, /*#__PURE__*/React.createElement(PisellText.Amount, {
|
|
346
401
|
value: Number(slot.price || 0),
|
|
347
402
|
symbol: symbol,
|
|
@@ -349,9 +404,66 @@ export default function TimeGrid() {
|
|
|
349
404
|
showCurrencySymbol: true,
|
|
350
405
|
hideDecimalForWholeNumbers: true,
|
|
351
406
|
className: "text-[13px] font-normal leading-4 ".concat(priceClass, " md:text-sm")
|
|
352
|
-
}),
|
|
407
|
+
}), showPlusLabel ? /*#__PURE__*/React.createElement("span", {
|
|
408
|
+
className: "text-[13px] font-semibold leading-4 ".concat(priceClass, " md:text-sm")
|
|
409
|
+
}, "+") : null), tag ? /*#__PURE__*/React.createElement("div", {
|
|
353
410
|
className: "inline-flex rounded-full px-1.5 py-0 text-[8px] font-semibold leading-4 ring-1 md:text-[9px] ".concat(tag.className)
|
|
354
411
|
}, tagText) : null));
|
|
412
|
+
})), isMultiProduct && expanded && resource.products.map(function (subRow) {
|
|
413
|
+
return /*#__PURE__*/React.createElement("div", {
|
|
414
|
+
key: "".concat(resource.resourceId, "-sub-").concat(subRow.productId),
|
|
415
|
+
className: "grid border-b border-black/6 bg-zinc-50/60",
|
|
416
|
+
style: tableGridStyle
|
|
417
|
+
}, /*#__PURE__*/React.createElement("div", {
|
|
418
|
+
className: "sticky left-0 z-10 border-r border-black/6 bg-zinc-50/60 px-2 py-2 pl-8 shadow-[10px_0_16px_-14px_rgba(0,0,0,0.2)] md:px-4 md:pl-10"
|
|
419
|
+
}, /*#__PURE__*/React.createElement("div", {
|
|
420
|
+
className: "text-[12px] font-semibold leading-5 text-zinc-700 md:text-[13px]"
|
|
421
|
+
}, subRow.productTitle)), subRow.slots.map(function (slot, slotIndex) {
|
|
422
|
+
var isAvailable = slot.status === 'available';
|
|
423
|
+
var isUnavailable = slot.status === 'occupied' || slot.status === 'past' || slot.status === 'unavailable';
|
|
424
|
+
var timeLabel = timeLabels[slotIndex] || '';
|
|
425
|
+
var disabledBySelection = !isUnavailable && isSlotDisabledBySelection(venueBookingModule, {
|
|
426
|
+
resourceId: resource.resourceId,
|
|
427
|
+
productId: subRow.productId,
|
|
428
|
+
startTime: slot.startTime
|
|
429
|
+
});
|
|
430
|
+
var isBlocked = isUnavailable || disabledBySelection;
|
|
431
|
+
var selected = isAvailable && checkSlotSelected(venueBookingModule, resource.resourceId, slot.startTime, subRow.productId);
|
|
432
|
+
var interactive = !isBlocked;
|
|
433
|
+
var priceInfo = buildSlotPriceInfo(slot);
|
|
434
|
+
var priceClass = getPriceColor(_objectSpread(_objectSpread({}, priceInfo), {}, {
|
|
435
|
+
courtType: subRow.productTitle
|
|
436
|
+
}));
|
|
437
|
+
return /*#__PURE__*/React.createElement("button", {
|
|
438
|
+
"data-slot-button": "true",
|
|
439
|
+
key: "".concat(resource.resourceId, "-").concat(subRow.productId, "-").concat(slot.startTime),
|
|
440
|
+
onClick: function onClick() {
|
|
441
|
+
if (!interactive) return;
|
|
442
|
+
handleSlotClick(resource.resourceId, subRow.productId, slot);
|
|
443
|
+
},
|
|
444
|
+
disabled: !interactive,
|
|
445
|
+
className: "px-1 py-2 text-center transition md:px-2 ".concat(isBlocked ? 'cursor-not-allowed bg-zinc-100 text-zinc-400' : selected ? 'text-white' : 'bg-white hover:bg-[#fff6f6]'),
|
|
446
|
+
style: _objectSpread({
|
|
447
|
+
borderLeft: isHourBoundary(timeLabel) ? '1px solid rgba(0,0,0,0.08)' : '1px solid rgba(0,0,0,0.03)',
|
|
448
|
+
borderBottom: '1px solid rgba(0,0,0,0.04)'
|
|
449
|
+
}, selected && interactive ? {
|
|
450
|
+
backgroundColor: 'var(--vb-primary)'
|
|
451
|
+
} : null)
|
|
452
|
+
}, isBlocked ? /*#__PURE__*/React.createElement("div", {
|
|
453
|
+
className: "flex flex-col items-center justify-center gap-1 text-zinc-400"
|
|
454
|
+
}, /*#__PURE__*/React.createElement("div", {
|
|
455
|
+
className: "text-lg font-bold leading-none"
|
|
456
|
+
}, "\xD7")) : /*#__PURE__*/React.createElement("div", {
|
|
457
|
+
className: "space-y-0.5"
|
|
458
|
+
}, /*#__PURE__*/React.createElement(PisellText.Amount, {
|
|
459
|
+
value: Number(slot.price || 0),
|
|
460
|
+
symbol: symbol,
|
|
461
|
+
precision: 2,
|
|
462
|
+
showCurrencySymbol: true,
|
|
463
|
+
hideDecimalForWholeNumbers: true,
|
|
464
|
+
className: "text-[13px] leading-4 ".concat(selected ? 'font-extrabold text-white' : "font-normal ".concat(priceClass), " md:text-sm")
|
|
465
|
+
})));
|
|
466
|
+
}));
|
|
355
467
|
}));
|
|
356
468
|
}))));
|
|
357
469
|
}
|
|
@@ -548,7 +548,7 @@ export function VenueBookingProvider(_ref) {
|
|
|
548
548
|
* 调用 OS venueBooking.toggleSlot 后刷新 grid + 购物车
|
|
549
549
|
*/
|
|
550
550
|
var toggleSlot = useCallback( /*#__PURE__*/function () {
|
|
551
|
-
var _ref5 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee4(resourceId, slot) {
|
|
551
|
+
var _ref5 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee4(resourceId, productId, slot) {
|
|
552
552
|
return _regeneratorRuntime().wrap(function _callee4$(_context5) {
|
|
553
553
|
while (1) switch (_context5.prev = _context5.next) {
|
|
554
554
|
case 0:
|
|
@@ -562,12 +562,12 @@ export function VenueBookingProvider(_ref) {
|
|
|
562
562
|
_context5.next = 5;
|
|
563
563
|
return toggleSlotAction(venueBookingModule, {
|
|
564
564
|
resourceId: resourceId,
|
|
565
|
+
productId: productId,
|
|
565
566
|
startTime: slot.startTime,
|
|
566
567
|
endTime: slot.endTime,
|
|
567
568
|
price: slot.price
|
|
568
569
|
});
|
|
569
570
|
case 5:
|
|
570
|
-
// toggleSlot 后刷新 grid 获取最新选中状态
|
|
571
571
|
refreshTimeSlotGrid();
|
|
572
572
|
_context5.next = 8;
|
|
573
573
|
return refreshViewModel();
|
|
@@ -584,7 +584,7 @@ export function VenueBookingProvider(_ref) {
|
|
|
584
584
|
}
|
|
585
585
|
}, _callee4, null, [[2, 10]]);
|
|
586
586
|
}));
|
|
587
|
-
return function (_x5, _x6) {
|
|
587
|
+
return function (_x5, _x6, _x7) {
|
|
588
588
|
return _ref5.apply(this, arguments);
|
|
589
589
|
};
|
|
590
590
|
}(), [venueBookingModule, refreshTimeSlotGrid, refreshViewModel]);
|
|
@@ -606,7 +606,7 @@ export function VenueBookingProvider(_ref) {
|
|
|
606
606
|
}
|
|
607
607
|
}, _callee5);
|
|
608
608
|
}));
|
|
609
|
-
return function (
|
|
609
|
+
return function (_x8) {
|
|
610
610
|
return _ref6.apply(this, arguments);
|
|
611
611
|
};
|
|
612
612
|
}(), [venueBookingModule, refreshViewModel]);
|
|
@@ -631,7 +631,7 @@ export function VenueBookingProvider(_ref) {
|
|
|
631
631
|
}
|
|
632
632
|
}, _callee6);
|
|
633
633
|
}));
|
|
634
|
-
return function (
|
|
634
|
+
return function (_x9) {
|
|
635
635
|
return _ref7.apply(this, arguments);
|
|
636
636
|
};
|
|
637
637
|
}(), [venueBookingModule]);
|
|
@@ -936,7 +936,7 @@ export function VenueBookingProvider(_ref) {
|
|
|
936
936
|
}
|
|
937
937
|
}, _callee11);
|
|
938
938
|
}));
|
|
939
|
-
return function onGlobalLoginSuccess(
|
|
939
|
+
return function onGlobalLoginSuccess(_x10) {
|
|
940
940
|
return _ref12.apply(this, arguments);
|
|
941
941
|
};
|
|
942
942
|
}();
|
|
@@ -27,15 +27,28 @@ export declare function fetchResourceAvailability(module: any, startDate: string
|
|
|
27
27
|
export declare function getDateRangeSummary(module: any, startDate: string, endDate: string): VenueDateSummaryItem[];
|
|
28
28
|
/** 获取某天的时段网格(纯计算不发请求,切换日期时调用) */
|
|
29
29
|
export declare function getTimeSlotGrid(module: any, date: string): VenueTimeSlotGrid | null;
|
|
30
|
-
/**
|
|
30
|
+
/** 切换选中/取消一个时段(同一资源下多商品场景必须携带 productId) */
|
|
31
31
|
export declare function toggleSlotAction(module: any, params: {
|
|
32
32
|
resourceId: number;
|
|
33
|
+
productId: number;
|
|
33
34
|
startTime: string;
|
|
34
35
|
endTime: string;
|
|
35
36
|
price: string;
|
|
36
37
|
}): Promise<any>;
|
|
37
|
-
/**
|
|
38
|
-
|
|
38
|
+
/**
|
|
39
|
+
* 查询某个时段是否已被选中
|
|
40
|
+
* 不传 productId 时:该资源下任一商品选中即 true;传了则精确匹配
|
|
41
|
+
*/
|
|
42
|
+
export declare function isSlotSelected(module: any, resourceId: number, startTime: string, productId?: number): boolean;
|
|
43
|
+
/**
|
|
44
|
+
* 询问 OS:该 (resourceId, productId, startTime) 格子是否因其它已选项而应禁用
|
|
45
|
+
* 覆盖:同场地多商品互斥、组合资源 ↔ 子资源联动
|
|
46
|
+
*/
|
|
47
|
+
export declare function isSlotDisabledBySelection(module: any, params: {
|
|
48
|
+
resourceId: number;
|
|
49
|
+
productId: number;
|
|
50
|
+
startTime: string;
|
|
51
|
+
}): boolean;
|
|
39
52
|
/** 获取全部已选时段(按资源分组) */
|
|
40
53
|
export declare function getAllSelectedSlots(module: any): any[];
|
|
41
54
|
/** 查询 otherParams */
|