@pisell/private-materials 3.4.126 → 3.4.128
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/build/lowcode/assets-daily.json +11 -11
- package/build/lowcode/assets-dev.json +2 -2
- package/build/lowcode/assets-prod.json +11 -11
- package/build/lowcode/meta.js +1 -1
- package/build/lowcode/render/default/view.js +2 -2
- package/build/lowcode/view.js +2 -2
- package/es/components/appointmentBooking/components/Cart/Item/index.d.ts +0 -1
- package/es/components/appointmentBooking/components/Content/index.d.ts +1 -0
- package/es/components/appointmentBooking/components/Header/index.d.ts +1 -0
- package/es/components/appointmentBooking/components/TimeSlicing/components/SelectDateOS.d.ts +1 -0
- package/es/components/appointmentBooking/index.d.ts +1 -0
- package/es/components/booking/addons/model.d.ts +1 -10
- 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/editBookingModal/index.js +6 -2
- package/es/components/booking/forms/model.d.ts +1 -10
- package/es/components/booking/forms/table/index.d.ts +1 -0
- package/es/components/booking/info/clientVariant/hooks/useIsLowSpeedNetwork.d.ts +1 -0
- package/es/components/booking/info/model.d.ts +1 -10
- package/es/components/booking/info/service/like/index.d.ts +1 -0
- package/es/components/booking/materiels/contacts/index.d.ts +1 -0
- package/es/components/booking/materiels/duration/index.d.ts +1 -0
- package/es/components/booking/materiels/startTime/index.d.ts +1 -0
- package/es/components/booking/model.d.ts +1 -9
- package/es/components/booking/notes/NoteBlock/NoteItem/index.d.ts +1 -0
- package/es/components/booking/notes/addNote/index.d.ts +1 -0
- package/es/components/booking/notes/model.d.ts +1 -10
- package/es/components/booking/payments/model.d.ts +1 -10
- 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/SettlementModal/Action.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/hooks.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/eftpos/surcharge/index.d.ts +1 -0
- package/es/components/eftposPay/amount.d.ts +1 -1
- package/es/components/eftposPay/component/alert/warn.d.ts +1 -0
- package/es/components/eftposPay/component/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/manual/index.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 +1 -2
- 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/Header/index.d.ts +1 -0
- package/es/components/eventBooking/components/bookingAvailabilityCalendar/components/CalendarDate/CalenDateStatus/index.d.ts +1 -0
- package/es/components/eventBooking/components/bookingAvailabilityCalendar/components/CalendarDate/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/login/index.d.ts +1 -0
- package/es/components/pay/toC/PaymentMethods/StripePay/Stripe/Finish/index.d.ts +1 -0
- package/es/components/pay/toC/PaymentMethods/StripePay/Stripe/StripeSDK/SDK.d.ts +1 -0
- package/es/components/pay/toC/PaymentMethods/StripePay/Stripe/StripeSDK/index.d.ts +1 -0
- package/es/components/pay/toC/PaymentMethods/StripePay/Stripe/components/PageLoading/index.d.ts +1 -0
- package/es/components/pay/toC/PaymentMethods/StripePay/Stripe/components/SetupForm/PaymentRequestForm.d.ts +1 -0
- package/es/components/pay/toC/model.d.ts +1 -9
- 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/productExtension/fields/SelectProducts/ProductItemPreview/index.d.ts +1 -0
- package/es/components/ruleSetting/ruleBorder/index.d.ts +1 -0
- package/es/components/schedules/calendar/calendarItem.d.ts +1 -0
- package/es/components/schedules/calendar/index.d.ts +1 -0
- package/es/components/schedules/components/CurrentDay/index.d.ts +1 -0
- package/es/components/schedules/components/ScheduleDetailList/index.d.ts +1 -0
- package/es/components/schedules/components/ScheduleList/RenderScheduleItem/index.d.ts +1 -0
- package/es/components/schedules/components/ScheduleList/index.d.ts +1 -0
- package/es/components/schedules/model.d.ts +1 -9
- 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/SchedulesModule/AddSchedules/index.d.ts +1 -0
- package/es/components/schedules/products/ProductDetailDrawer/ProductDetail/SchedulesModule/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/taxSelect/index.d.ts +1 -0
- package/es/hooks/usePaymentLogger.d.ts +1 -0
- 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/PisellReservation.js +68 -19
- package/es/plus/pisellReservation/hooks/usePicoCodingOpenData.js +31 -16
- package/es/plus/pisellReservation/hooks/usePisellReservationBookingData.d.ts +11 -0
- package/es/plus/pisellReservation/hooks/usePisellReservationBookingData.js +73 -22
- package/es/plus/pisellSalesGrid/serve.d.ts +10 -0
- package/es/plus/pisellSalesGrid/serve.js +109 -33
- package/es/plus/pisellSalesManagement/hooks/useSalesGridData.js +6 -0
- package/es/plus/saasCreateOrganization/components/Header.d.ts +1 -0
- package/es/plus/saasCreateOrganization/index.d.ts +1 -0
- package/es/plus/saasDevice/devicePlanning/locales/en.d.ts +4 -0
- package/es/plus/saasDevice/devicePlanning/locales/en.js +4 -0
- package/es/plus/saasDevice/devicePlanning/locales/index.d.ts +20 -0
- package/es/plus/saasDevice/devicePlanning/locales/ja.d.ts +4 -0
- package/es/plus/saasDevice/devicePlanning/locales/ja.js +4 -0
- package/es/plus/saasDevice/devicePlanning/locales/pt.d.ts +4 -0
- package/es/plus/saasDevice/devicePlanning/locales/pt.js +4 -0
- package/es/plus/saasDevice/devicePlanning/locales/zhCN.d.ts +4 -0
- package/es/plus/saasDevice/devicePlanning/locales/zhCN.js +4 -0
- package/es/plus/saasDevice/devicePlanning/locales/zhHk.d.ts +4 -0
- package/es/plus/saasDevice/devicePlanning/locales/zhHk.js +4 -0
- package/es/plus/saasDevice/devicePlanning/modules/deviceDetail/components/DeviceInfoPanel.js +20 -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/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/es/pro/pisellPaymentList/example.d.ts +1 -0
- package/lib/components/appointmentBooking/components/Cart/Item/index.d.ts +0 -1
- package/lib/components/appointmentBooking/components/Content/index.d.ts +1 -0
- package/lib/components/appointmentBooking/components/Header/index.d.ts +1 -0
- package/lib/components/appointmentBooking/components/TimeSlicing/components/SelectDateOS.d.ts +1 -0
- package/lib/components/appointmentBooking/index.d.ts +1 -0
- package/lib/components/booking/addons/model.d.ts +1 -10
- 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/editBookingModal/index.js +4 -4
- package/lib/components/booking/forms/model.d.ts +1 -10
- package/lib/components/booking/forms/table/index.d.ts +1 -0
- package/lib/components/booking/info/clientVariant/hooks/useIsLowSpeedNetwork.d.ts +1 -0
- package/lib/components/booking/info/model.d.ts +1 -10
- package/lib/components/booking/info/service/like/index.d.ts +1 -0
- package/lib/components/booking/materiels/contacts/index.d.ts +1 -0
- package/lib/components/booking/materiels/duration/index.d.ts +1 -0
- package/lib/components/booking/materiels/startTime/index.d.ts +1 -0
- package/lib/components/booking/model.d.ts +1 -9
- package/lib/components/booking/notes/NoteBlock/NoteItem/index.d.ts +1 -0
- package/lib/components/booking/notes/addNote/index.d.ts +1 -0
- package/lib/components/booking/notes/model.d.ts +1 -10
- package/lib/components/booking/payments/model.d.ts +1 -10
- 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/SettlementModal/Action.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/hooks.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/eftpos/surcharge/index.d.ts +1 -0
- package/lib/components/eftposPay/amount.d.ts +1 -1
- package/lib/components/eftposPay/component/alert/warn.d.ts +1 -0
- package/lib/components/eftposPay/component/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/manual/index.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 +1 -2
- 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/Header/index.d.ts +1 -0
- package/lib/components/eventBooking/components/bookingAvailabilityCalendar/components/CalendarDate/CalenDateStatus/index.d.ts +1 -0
- package/lib/components/eventBooking/components/bookingAvailabilityCalendar/components/CalendarDate/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/login/index.d.ts +1 -0
- package/lib/components/pay/toC/PaymentMethods/StripePay/Stripe/Finish/index.d.ts +1 -0
- package/lib/components/pay/toC/PaymentMethods/StripePay/Stripe/StripeSDK/SDK.d.ts +1 -0
- package/lib/components/pay/toC/PaymentMethods/StripePay/Stripe/StripeSDK/index.d.ts +1 -0
- package/lib/components/pay/toC/PaymentMethods/StripePay/Stripe/components/PageLoading/index.d.ts +1 -0
- package/lib/components/pay/toC/PaymentMethods/StripePay/Stripe/components/SetupForm/PaymentRequestForm.d.ts +1 -0
- package/lib/components/pay/toC/model.d.ts +1 -9
- 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/productExtension/fields/SelectProducts/ProductItemPreview/index.d.ts +1 -0
- package/lib/components/ruleSetting/ruleBorder/index.d.ts +1 -0
- package/lib/components/schedules/calendar/calendarItem.d.ts +1 -0
- package/lib/components/schedules/calendar/index.d.ts +1 -0
- package/lib/components/schedules/components/CurrentDay/index.d.ts +1 -0
- package/lib/components/schedules/components/ScheduleDetailList/index.d.ts +1 -0
- package/lib/components/schedules/components/ScheduleList/RenderScheduleItem/index.d.ts +1 -0
- package/lib/components/schedules/components/ScheduleList/index.d.ts +1 -0
- package/lib/components/schedules/model.d.ts +1 -9
- 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/SchedulesModule/AddSchedules/index.d.ts +1 -0
- package/lib/components/schedules/products/ProductDetailDrawer/ProductDetail/SchedulesModule/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/taxSelect/index.d.ts +1 -0
- package/lib/hooks/usePaymentLogger.d.ts +1 -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/PisellReservation.js +63 -16
- package/lib/plus/pisellReservation/hooks/usePicoCodingOpenData.js +8 -2
- package/lib/plus/pisellReservation/hooks/usePisellReservationBookingData.d.ts +11 -0
- package/lib/plus/pisellReservation/hooks/usePisellReservationBookingData.js +64 -12
- package/lib/plus/pisellSalesGrid/serve.d.ts +10 -0
- package/lib/plus/pisellSalesGrid/serve.js +49 -7
- package/lib/plus/pisellSalesManagement/hooks/useSalesGridData.js +4 -0
- package/lib/plus/saasCreateOrganization/components/Header.d.ts +1 -0
- package/lib/plus/saasCreateOrganization/index.d.ts +1 -0
- package/lib/plus/saasDevice/devicePlanning/locales/en.d.ts +4 -0
- package/lib/plus/saasDevice/devicePlanning/locales/en.js +4 -0
- package/lib/plus/saasDevice/devicePlanning/locales/index.d.ts +20 -0
- package/lib/plus/saasDevice/devicePlanning/locales/ja.d.ts +4 -0
- package/lib/plus/saasDevice/devicePlanning/locales/ja.js +4 -0
- package/lib/plus/saasDevice/devicePlanning/locales/pt.d.ts +4 -0
- package/lib/plus/saasDevice/devicePlanning/locales/pt.js +4 -0
- package/lib/plus/saasDevice/devicePlanning/locales/zhCN.d.ts +4 -0
- package/lib/plus/saasDevice/devicePlanning/locales/zhCN.js +4 -0
- package/lib/plus/saasDevice/devicePlanning/locales/zhHk.d.ts +4 -0
- package/lib/plus/saasDevice/devicePlanning/locales/zhHk.js +4 -0
- package/lib/plus/saasDevice/devicePlanning/modules/deviceDetail/components/DeviceInfoPanel.js +15 -1
- 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/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/lib/pro/pisellPaymentList/example.d.ts +1 -0
- package/package.json +2 -2
|
@@ -87,7 +87,7 @@ var PREVIEW_HTTP_CLIENT = {
|
|
|
87
87
|
custom: async () => ({ data: {} })
|
|
88
88
|
};
|
|
89
89
|
var PisellReservationCore = (props) => {
|
|
90
|
-
var _a, _b, _c, _d, _e, _f, _g, _h, _i, _j, _k, _l, _m, _n;
|
|
90
|
+
var _a, _b, _c, _d, _e, _f, _g, _h, _i, _j, _k, _l, _m, _n, _o;
|
|
91
91
|
const {
|
|
92
92
|
gridDataSourceKey = import_reservationConstants.GRID_DS_KEY,
|
|
93
93
|
dataSources: dataSourcesProp,
|
|
@@ -156,6 +156,13 @@ var PisellReservationCore = (props) => {
|
|
|
156
156
|
const router = (_i = (_h = app == null ? void 0 : app.router) == null ? void 0 : _h.getRoutes) == null ? void 0 : _i.call(_h);
|
|
157
157
|
const params = (_k = (_j = app == null ? void 0 : app.history) == null ? void 0 : _j.useParams) == null ? void 0 : _k.call(_j);
|
|
158
158
|
const BIZ = reservationBizProp ?? (params == null ? void 0 : params.business_code);
|
|
159
|
+
const gridBookingRouteReady = (0, import_react.useMemo)(() => {
|
|
160
|
+
if (reservationBizProp != null && String(reservationBizProp).trim() !== "") {
|
|
161
|
+
return true;
|
|
162
|
+
}
|
|
163
|
+
if (params == null) return true;
|
|
164
|
+
return params.business_code != null && String(params.business_code).trim() !== "";
|
|
165
|
+
}, [reservationBizProp, params == null ? void 0 : params.business_code, params]);
|
|
159
166
|
const bookingListBusinessCodeExtra = (0, import_react.useMemo)(() => {
|
|
160
167
|
const s = BIZ != null && BIZ !== "" ? String(BIZ).trim() : "";
|
|
161
168
|
if (!s) return {};
|
|
@@ -254,18 +261,45 @@ var PisellReservationCore = (props) => {
|
|
|
254
261
|
),
|
|
255
262
|
[operatingDayBoundary, effectiveTimelineRange]
|
|
256
263
|
);
|
|
264
|
+
const [gridBookingBootstrapReady, setGridBookingBootstrapReady] = (0, import_react.useState)(false);
|
|
265
|
+
(0, import_react.useEffect)(() => {
|
|
266
|
+
if (!isInternalListData || !gridBookingRouteReady) {
|
|
267
|
+
setGridBookingBootstrapReady(false);
|
|
268
|
+
return;
|
|
269
|
+
}
|
|
270
|
+
const id = window.setTimeout(() => setGridBookingBootstrapReady(true), 0);
|
|
271
|
+
return () => {
|
|
272
|
+
window.clearTimeout(id);
|
|
273
|
+
setGridBookingBootstrapReady(false);
|
|
274
|
+
};
|
|
275
|
+
}, [
|
|
276
|
+
isInternalListData,
|
|
277
|
+
gridBookingRouteReady,
|
|
278
|
+
operatingDayBoundary,
|
|
279
|
+
effectiveTimelineRange
|
|
280
|
+
]);
|
|
257
281
|
const resourceBoardData = (0, import_usePisellReservationResourceTableData.usePisellReservationResourceTableData)(isInternalListData);
|
|
258
|
-
const gridBookingData = (0, import_usePisellReservationBookingData.usePisellReservationBookingData)(
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
|
|
282
|
+
const gridBookingData = (0, import_usePisellReservationBookingData.usePisellReservationBookingData)(
|
|
283
|
+
isInternalListData && gridBookingRouteReady && gridBookingBootstrapReady,
|
|
284
|
+
{
|
|
285
|
+
listPageSize: 50,
|
|
286
|
+
getInitialSearchParams: getGridBookingInitialSearchParams,
|
|
287
|
+
extraRequestParams: bookingListBusinessCodeExtra,
|
|
288
|
+
/**
|
|
289
|
+
* 必须为 false:与 `floorDayBookingData` 两路并发开 `osServer` 时,宿主侧常共用一个
|
|
290
|
+
* booking 订阅槽或同 URL 请求互 abort,平面图那路 HTTP/推送会被挤掉,表现为 floor map 无预约。
|
|
291
|
+
* 表格只信 HTTP;实时合并以 `floorDayBookingData`(带 form_record_ids)为准。
|
|
292
|
+
*/
|
|
293
|
+
subscribeRealtimePush: true,
|
|
294
|
+
/**
|
|
295
|
+
* 表格与平面图并发请求同一 `/shop/schedule/booking`,开启 `abort` 会被后发起的平面图请求
|
|
296
|
+
* 取消(表现为表格 `req.data` 一直为空、列表不展示)。表格这一路关闭 HTTP abort,
|
|
297
|
+
* 由 ahooks 自身按调用序丢弃过期响应即可,避免被平面图请求挤掉。
|
|
298
|
+
*/
|
|
299
|
+
httpAbort: false,
|
|
300
|
+
requestScopeKey: "grid-booking"
|
|
301
|
+
}
|
|
302
|
+
);
|
|
269
303
|
const [shellBodyView, setShellBodyView] = (0, import_react.useState)(
|
|
270
304
|
() => (0, import_reservationDataUtils.readBodyViewFromStorageKey)(bodyViewStorageKey)
|
|
271
305
|
);
|
|
@@ -349,12 +383,24 @@ var PisellReservationCore = (props) => {
|
|
|
349
383
|
),
|
|
350
384
|
[operatingDayBoundary, effectiveTimelineRange]
|
|
351
385
|
);
|
|
386
|
+
const floorDayBookingBindingsReady = (0, import_react.useMemo)(() => {
|
|
387
|
+
var _a2;
|
|
388
|
+
if (lockedBodyView === "grid") return false;
|
|
389
|
+
if (floorPlanRemoteId != null) return true;
|
|
390
|
+
const propScene = (_a2 = floorMapProp == null ? void 0 : floorMapProp.floorMapConfig) == null ? void 0 : _a2.sceneElements;
|
|
391
|
+
return Array.isArray(propScene) && propScene.length > 0;
|
|
392
|
+
}, [
|
|
393
|
+
lockedBodyView,
|
|
394
|
+
floorPlanRemoteId,
|
|
395
|
+
(_n = floorMapProp == null ? void 0 : floorMapProp.floorMapConfig) == null ? void 0 : _n.sceneElements
|
|
396
|
+
]);
|
|
352
397
|
const floorDayBookingData = (0, import_usePisellReservationBookingData.usePisellReservationBookingData)(
|
|
353
|
-
floorBookingResourceReady,
|
|
398
|
+
floorBookingResourceReady && floorDayBookingBindingsReady,
|
|
354
399
|
{
|
|
355
400
|
listPageSize: 9999,
|
|
356
401
|
extraRequestParams: floorBookingExtraParams,
|
|
357
|
-
getInitialSearchParams: getFloorDayBookingInitialSearchParams
|
|
402
|
+
getInitialSearchParams: getFloorDayBookingInitialSearchParams,
|
|
403
|
+
requestScopeKey: "floor-day-booking"
|
|
358
404
|
}
|
|
359
405
|
);
|
|
360
406
|
const _getRelationTables = (0, import_ahooks.useRequest)(import_serve.getRelationTables);
|
|
@@ -556,7 +602,7 @@ var PisellReservationCore = (props) => {
|
|
|
556
602
|
});
|
|
557
603
|
(0, import_react.useEffect)(() => {
|
|
558
604
|
var _a2;
|
|
559
|
-
if (isInternalListData && bodyViewRef.current !== "calendar") {
|
|
605
|
+
if (isInternalListData && floorDayBookingBindingsReady && bodyViewRef.current !== "calendar") {
|
|
560
606
|
const d = debouncedSchedule.date;
|
|
561
607
|
floorDayBookingData.patchSearchParams(
|
|
562
608
|
(prevParams) => (0, import_reservationDataUtils.mergeSearchParamsBookingWindow)(
|
|
@@ -578,6 +624,7 @@ var PisellReservationCore = (props) => {
|
|
|
578
624
|
}, [
|
|
579
625
|
debouncedSchedule,
|
|
580
626
|
isInternalListData,
|
|
627
|
+
floorDayBookingBindingsReady,
|
|
581
628
|
floorDayBookingData.patchSearchParams,
|
|
582
629
|
operatingDayBoundary,
|
|
583
630
|
effectiveTimelineRange
|
|
@@ -852,7 +899,7 @@ var PisellReservationCore = (props) => {
|
|
|
852
899
|
scroll: { ...scrollBase, autoCalc: true }
|
|
853
900
|
};
|
|
854
901
|
}, [hudDrawerMobileGrid]);
|
|
855
|
-
const fillHeight = ((
|
|
902
|
+
const fillHeight = ((_o = mobileRecordBoardGrid == null ? void 0 : mobileRecordBoardGrid.scroll) == null ? void 0 : _o.autoCalc) ?? true;
|
|
856
903
|
const reservationResourceWallSlotProps = (0, import_react.useMemo)(
|
|
857
904
|
() => ({
|
|
858
905
|
cards: venueWallCards,
|
|
@@ -49,9 +49,11 @@ async function loadPicoCodingOpenDataSnapshot(engineCtx, BIZ) {
|
|
|
49
49
|
reservationAssociatedMenuListIds: []
|
|
50
50
|
};
|
|
51
51
|
if (!engineCtx || !BIZ) return emptyResult;
|
|
52
|
+
const shopId = (_c = (_b = (_a = engineCtx == null ? void 0 : engineCtx.appHelper) == null ? void 0 : _a.utils) == null ? void 0 : _b.getData) == null ? void 0 : _c.call(_b, "shop_id");
|
|
53
|
+
if (shopId == null || String(shopId).trim() === "") return emptyResult;
|
|
52
54
|
const res = await (0, import_formResourcePage.getPicoCodingOpenData)(
|
|
53
55
|
{
|
|
54
|
-
shop_id: (
|
|
56
|
+
shop_id: String(shopId),
|
|
55
57
|
data: {
|
|
56
58
|
scope: SCOPE,
|
|
57
59
|
section_code: ["reservation", "fulfillment", "menu"],
|
|
@@ -91,13 +93,17 @@ async function loadPicoCodingOpenDataSnapshot(engineCtx, BIZ) {
|
|
|
91
93
|
};
|
|
92
94
|
}
|
|
93
95
|
function usePicoCodingOpenData(engineCtx, BIZ) {
|
|
96
|
+
var _a, _b, _c;
|
|
94
97
|
const [picoCodingOpenData, setPicoCodingOpenData] = (0, import_react.useState)(null);
|
|
95
98
|
const [reservationRuleProduct, setReservationRuleProduct] = (0, import_react.useState)(null);
|
|
96
99
|
const reservationAssociatedMenuListIds = (0, import_react.useMemo)(
|
|
97
100
|
() => (0, import_associatedMenuListIdsFromOpenData.mapAssociatedMenusToMenuListIds)(picoCodingOpenData),
|
|
98
101
|
[picoCodingOpenData]
|
|
99
102
|
);
|
|
103
|
+
const shopId = (_c = (_b = (_a = engineCtx == null ? void 0 : engineCtx.appHelper) == null ? void 0 : _a.utils) == null ? void 0 : _b.getData) == null ? void 0 : _c.call(_b, "shop_id");
|
|
104
|
+
const shopIdStr = shopId == null ? "" : String(shopId).trim();
|
|
100
105
|
(0, import_react.useEffect)(() => {
|
|
106
|
+
if (!shopIdStr) return;
|
|
101
107
|
let cancelled = false;
|
|
102
108
|
(async () => {
|
|
103
109
|
const snapshot = await loadPicoCodingOpenDataSnapshot(engineCtx, BIZ);
|
|
@@ -108,7 +114,7 @@ function usePicoCodingOpenData(engineCtx, BIZ) {
|
|
|
108
114
|
return () => {
|
|
109
115
|
cancelled = true;
|
|
110
116
|
};
|
|
111
|
-
}, []);
|
|
117
|
+
}, [shopIdStr, BIZ]);
|
|
112
118
|
return {
|
|
113
119
|
picoCodingOpenData,
|
|
114
120
|
reservationRuleProduct,
|
|
@@ -52,6 +52,17 @@ export interface UsePisellReservationBookingDataOptions {
|
|
|
52
52
|
* 平面图合并用 booking 请求可保持默认 `true`。
|
|
53
53
|
*/
|
|
54
54
|
subscribeRealtimePush?: boolean;
|
|
55
|
+
/**
|
|
56
|
+
* 是否启用 HTTP「同 URL 互 abort」。默认 true。
|
|
57
|
+
* 表格与平面图两路并发请求同一 `/shop/schedule/booking`,会因同 URL abort 互相取消
|
|
58
|
+
*(后发起者取消先发起者)。需对表格这一路传 false,保证其 HTTP 结果不被平面图请求挤掉。
|
|
59
|
+
*/
|
|
60
|
+
httpAbort?: boolean;
|
|
61
|
+
/**
|
|
62
|
+
* 同一页面多实例 effect 去重作用域(如 grid / floor-day 两路 booking)。
|
|
63
|
+
* 不传时按单实例处理。
|
|
64
|
+
*/
|
|
65
|
+
requestScopeKey?: string;
|
|
55
66
|
}
|
|
56
67
|
/** 内置列表数据 hook 返回结构(booking / resource 页共用) */
|
|
57
68
|
export interface UsePisellReservationBookingDataResult {
|
|
@@ -119,12 +119,25 @@ function getGridTableBookingSearchParams(operatingDayBoundary, timelineRange = i
|
|
|
119
119
|
timelineRange
|
|
120
120
|
);
|
|
121
121
|
}
|
|
122
|
+
var BOOKING_HOOK_EFFECT_DEDUP_MS = 500;
|
|
123
|
+
var BOOKING_HOOK_DEDUP_GLOBAL = "__pisellBookingHookEffectDedup_v1";
|
|
124
|
+
function getBookingHookEffectDedup() {
|
|
125
|
+
const g = globalThis;
|
|
126
|
+
if (!g[BOOKING_HOOK_DEDUP_GLOBAL]) {
|
|
127
|
+
g[BOOKING_HOOK_DEDUP_GLOBAL] = /* @__PURE__ */ new Map();
|
|
128
|
+
}
|
|
129
|
+
return g[BOOKING_HOOK_DEDUP_GLOBAL];
|
|
130
|
+
}
|
|
122
131
|
function usePisellReservationBookingData(enabled, options) {
|
|
123
132
|
var _a, _b;
|
|
124
133
|
const listPageSize = (options == null ? void 0 : options.listPageSize) ?? 50;
|
|
125
134
|
const getInitialSearchParams = (options == null ? void 0 : options.getInitialSearchParams) ?? (() => getDefaultMonitorSearchParams((0, import_dayjs.default)()));
|
|
126
135
|
const extraRequestParams = options == null ? void 0 : options.extraRequestParams;
|
|
127
136
|
const subscribeRealtimePush = (options == null ? void 0 : options.subscribeRealtimePush) ?? true;
|
|
137
|
+
const httpAbort = (options == null ? void 0 : options.httpAbort) ?? true;
|
|
138
|
+
const requestScopeKey = (options == null ? void 0 : options.requestScopeKey) ?? "booking-list";
|
|
139
|
+
const lastEffectRequestKeyRef = (0, import_react.useRef)(null);
|
|
140
|
+
const forceNextFetchRef = (0, import_react.useRef)(false);
|
|
128
141
|
const [pagination, setPagination] = (0, import_react.useState)({
|
|
129
142
|
pageNumber: 1,
|
|
130
143
|
pageSize: listPageSize
|
|
@@ -166,15 +179,27 @@ function usePisellReservationBookingData(enabled, options) {
|
|
|
166
179
|
pagination.pageSize,
|
|
167
180
|
extraRequestParams
|
|
168
181
|
]);
|
|
182
|
+
const requestParamsKey = (0, import_react.useMemo)(
|
|
183
|
+
() => (0, import_serve.getBookingListRequestCacheKey)(requestParams, {
|
|
184
|
+
abort: httpAbort,
|
|
185
|
+
osServer: true
|
|
186
|
+
}),
|
|
187
|
+
[requestParams, httpAbort]
|
|
188
|
+
);
|
|
169
189
|
const fetchBookingList = (0, import_ahooks.useMemoizedFn)(
|
|
170
190
|
async (params) => {
|
|
191
|
+
const skipRecentDedup = forceNextFetchRef.current;
|
|
192
|
+
forceNextFetchRef.current = false;
|
|
193
|
+
const listOptions = {
|
|
194
|
+
osServer: true,
|
|
195
|
+
abort: httpAbort,
|
|
196
|
+
skipRecentDedup
|
|
197
|
+
};
|
|
171
198
|
if (!subscribeRealtimePush) {
|
|
172
|
-
return (0, import_serve.getBookingList)(params,
|
|
173
|
-
osServer: true
|
|
174
|
-
});
|
|
199
|
+
return (0, import_serve.getBookingList)(params, listOptions);
|
|
175
200
|
}
|
|
176
201
|
return (0, import_serve.getBookingList)(params, {
|
|
177
|
-
|
|
202
|
+
...listOptions,
|
|
178
203
|
subscriberId: subscriberIdRef.current,
|
|
179
204
|
/**
|
|
180
205
|
* 订阅推送会多次进 callback;若 payload 没有与列表接口一致的 `list` 数组,
|
|
@@ -186,7 +211,6 @@ function usePisellReservationBookingData(enabled, options) {
|
|
|
186
211
|
* 合并成 1 次,显著降低推送密集时的卡顿与画布闪烁。
|
|
187
212
|
*/
|
|
188
213
|
callback: (res) => {
|
|
189
|
-
console.log(res, "res123454321");
|
|
190
214
|
const payload = (res == null ? void 0 : res.data) ?? res;
|
|
191
215
|
if (payload == null || !Array.isArray(payload.list)) return;
|
|
192
216
|
pendingPayloadRef.current = payload;
|
|
@@ -205,11 +229,27 @@ function usePisellReservationBookingData(enabled, options) {
|
|
|
205
229
|
}
|
|
206
230
|
);
|
|
207
231
|
const req = (0, import_ahooks.useRequest)(fetchBookingList, { manual: true });
|
|
232
|
+
const reqRunRef = (0, import_react.useRef)(req.run);
|
|
233
|
+
reqRunRef.current = req.run;
|
|
208
234
|
bookingMutateRef.current = req.mutate;
|
|
209
235
|
(0, import_react.useEffect)(() => {
|
|
210
|
-
if (!enabled)
|
|
211
|
-
|
|
212
|
-
|
|
236
|
+
if (!enabled) {
|
|
237
|
+
lastEffectRequestKeyRef.current = null;
|
|
238
|
+
return;
|
|
239
|
+
}
|
|
240
|
+
const now = Date.now();
|
|
241
|
+
const bookingHookEffectDedup = getBookingHookEffectDedup();
|
|
242
|
+
const crossMountDedup = bookingHookEffectDedup.get(requestScopeKey);
|
|
243
|
+
if (lastEffectRequestKeyRef.current === requestParamsKey || crossMountDedup && crossMountDedup.key === requestParamsKey && now - crossMountDedup.at < BOOKING_HOOK_EFFECT_DEDUP_MS) {
|
|
244
|
+
return;
|
|
245
|
+
}
|
|
246
|
+
lastEffectRequestKeyRef.current = requestParamsKey;
|
|
247
|
+
bookingHookEffectDedup.set(requestScopeKey, {
|
|
248
|
+
key: requestParamsKey,
|
|
249
|
+
at: now
|
|
250
|
+
});
|
|
251
|
+
void reqRunRef.current(requestParams);
|
|
252
|
+
}, [enabled, requestParamsKey, requestParams, requestScopeKey]);
|
|
213
253
|
const onPageChange = (0, import_react.useCallback)((pageNumber, pageSize) => {
|
|
214
254
|
if (pageNumber < 1 || pageSize < 1) return;
|
|
215
255
|
setPagination({ pageNumber, pageSize });
|
|
@@ -224,17 +264,29 @@ function usePisellReservationBookingData(enabled, options) {
|
|
|
224
264
|
}, [getInitialSearchParams]);
|
|
225
265
|
const patchSearchParams = (0, import_react.useCallback)(
|
|
226
266
|
(updater) => {
|
|
227
|
-
setSearchParams((prev) =>
|
|
228
|
-
|
|
267
|
+
setSearchParams((prev) => {
|
|
268
|
+
const next = updater({ ...prev });
|
|
269
|
+
if (next === prev) return prev;
|
|
270
|
+
setPagination(
|
|
271
|
+
(p) => p.pageNumber === 1 ? p : { ...p, pageNumber: 1 }
|
|
272
|
+
);
|
|
273
|
+
return next;
|
|
274
|
+
});
|
|
229
275
|
},
|
|
230
276
|
[]
|
|
231
277
|
);
|
|
232
278
|
const refresh = (0, import_react.useCallback)(() => {
|
|
279
|
+
lastEffectRequestKeyRef.current = null;
|
|
280
|
+
getBookingHookEffectDedup().delete(requestScopeKey);
|
|
281
|
+
forceNextFetchRef.current = true;
|
|
233
282
|
void req.run(requestParams);
|
|
234
|
-
}, [req, requestParams]);
|
|
283
|
+
}, [req, requestParams, requestScopeKey]);
|
|
235
284
|
const refreshAsync = (0, import_react.useCallback)(() => {
|
|
285
|
+
lastEffectRequestKeyRef.current = null;
|
|
286
|
+
getBookingHookEffectDedup().delete(requestScopeKey);
|
|
287
|
+
forceNextFetchRef.current = true;
|
|
236
288
|
return req.runAsync(requestParams);
|
|
237
|
-
}, [req, requestParams]);
|
|
289
|
+
}, [req, requestParams, requestScopeKey]);
|
|
238
290
|
const rawList = (_a = req.data) == null ? void 0 : _a.list;
|
|
239
291
|
const data = (0, import_react.useMemo)(() => {
|
|
240
292
|
if (!Array.isArray(rawList) || rawList.length === 0) {
|
|
@@ -3,6 +3,14 @@ export interface RequestOptions {
|
|
|
3
3
|
osServer?: boolean;
|
|
4
4
|
subscriberId?: string;
|
|
5
5
|
callback?: (res: any) => void;
|
|
6
|
+
/**
|
|
7
|
+
* 是否启用「同 URL 请求互相 abort」。默认 true。
|
|
8
|
+
* 同一页面有两路并发请求同一 booking URL(如表格 + 平面图)时,需对其中一路传 false,
|
|
9
|
+
* 避免后发起的请求把先发起的那路 abort 掉(表现为该路 `req.data` 永远为空、列表不展示)。
|
|
10
|
+
*/
|
|
11
|
+
abort?: boolean;
|
|
12
|
+
/** 为 true 时跳过后端短时去重缓存(用于手动 refresh) */
|
|
13
|
+
skipRecentDedup?: boolean;
|
|
6
14
|
}
|
|
7
15
|
/**
|
|
8
16
|
* 获取订单列表(支持 osServer 本地代理)。
|
|
@@ -33,6 +41,8 @@ export interface GetBookingListParams {
|
|
|
33
41
|
[key: string]: any;
|
|
34
42
|
}
|
|
35
43
|
export declare const formatBookingResult: (data: any) => any;
|
|
44
|
+
/** 与 HTTP 去重一致;供 hook effect 比对使用 */
|
|
45
|
+
export declare function getBookingListRequestCacheKey(params: Record<string, any>, options?: Pick<RequestOptions, 'abort' | 'osServer'>): string;
|
|
36
46
|
export declare const getBookingList: (params: Record<string, any>, options?: RequestOptions) => Promise<any>;
|
|
37
47
|
/** 取消订单列表订阅(组件卸载时调用,与 useProducts cleanup 一致) */
|
|
38
48
|
export declare const unsubscribeOrderQuery: (subscriberId: string) => Promise<void>;
|
|
@@ -31,12 +31,14 @@ var serve_exports = {};
|
|
|
31
31
|
__export(serve_exports, {
|
|
32
32
|
formatBookingResult: () => formatBookingResult,
|
|
33
33
|
getBookingList: () => getBookingList,
|
|
34
|
+
getBookingListRequestCacheKey: () => getBookingListRequestCacheKey,
|
|
34
35
|
getOrderList: () => getOrderList,
|
|
35
36
|
unsubscribeBookingQuery: () => unsubscribeBookingQuery,
|
|
36
37
|
unsubscribeOrderQuery: () => unsubscribeOrderQuery
|
|
37
38
|
});
|
|
38
39
|
module.exports = __toCommonJS(serve_exports);
|
|
39
40
|
var import_utils = require("../../utils");
|
|
41
|
+
var import_utils2 = require("@pisell/utils");
|
|
40
42
|
var import_dayjs = __toESM(require("dayjs"));
|
|
41
43
|
var formatParams = (params) => {
|
|
42
44
|
const { orderDate, total_amount, sort: sort_key, ...rest } = params;
|
|
@@ -172,16 +174,54 @@ var formatBookingResult = (data) => {
|
|
|
172
174
|
list: formatBookingData((data == null ? void 0 : data.list) || [])
|
|
173
175
|
};
|
|
174
176
|
};
|
|
175
|
-
var
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
177
|
+
var BOOKING_LIST_RECENT_DEDUP_MS = 500;
|
|
178
|
+
var BOOKING_LIST_CACHE_GLOBAL = "__pisellBookingListRecentCache_v1";
|
|
179
|
+
function getBookingListRecentCache() {
|
|
180
|
+
const g = globalThis;
|
|
181
|
+
if (!g[BOOKING_LIST_CACHE_GLOBAL]) {
|
|
182
|
+
g[BOOKING_LIST_CACHE_GLOBAL] = /* @__PURE__ */ new Map();
|
|
183
|
+
}
|
|
184
|
+
return g[BOOKING_LIST_CACHE_GLOBAL];
|
|
185
|
+
}
|
|
186
|
+
function getBookingListRequestCacheKey(params, options) {
|
|
187
|
+
return JSON.stringify({
|
|
188
|
+
query: formatBookingParams(params),
|
|
189
|
+
abort: (options == null ? void 0 : options.abort) ?? true,
|
|
190
|
+
osServer: Boolean(options == null ? void 0 : options.osServer)
|
|
181
191
|
});
|
|
182
|
-
|
|
192
|
+
}
|
|
193
|
+
function bookingListRequestCacheKey(params, options) {
|
|
194
|
+
return getBookingListRequestCacheKey(params, options);
|
|
195
|
+
}
|
|
196
|
+
var getBookingList = async (params, options) => {
|
|
197
|
+
const cacheKey = bookingListRequestCacheKey(params, options);
|
|
198
|
+
const now = Date.now();
|
|
199
|
+
const bookingListRecentCache = getBookingListRecentCache();
|
|
200
|
+
if (!(options == null ? void 0 : options.skipRecentDedup)) {
|
|
201
|
+
const cached = bookingListRecentCache.get(cacheKey);
|
|
202
|
+
if (cached && now - cached.at < BOOKING_LIST_RECENT_DEDUP_MS) {
|
|
203
|
+
return cached.promise;
|
|
204
|
+
}
|
|
205
|
+
}
|
|
206
|
+
const promise = (async () => {
|
|
207
|
+
const { data } = await import_utils.request.getRequest().get(`/shop/schedule/booking`, formatBookingParams(params), {
|
|
208
|
+
abort: true,
|
|
209
|
+
fullResult: true,
|
|
210
|
+
isShopApi: true,
|
|
211
|
+
...options
|
|
212
|
+
});
|
|
213
|
+
return formatBookingResult(normalizeListPayload(data));
|
|
214
|
+
})();
|
|
215
|
+
bookingListRecentCache.set(cacheKey, { promise, at: now });
|
|
216
|
+
try {
|
|
217
|
+
return await promise;
|
|
218
|
+
} catch (err) {
|
|
219
|
+
bookingListRecentCache.delete(cacheKey);
|
|
220
|
+
throw err;
|
|
221
|
+
}
|
|
183
222
|
};
|
|
184
223
|
var unsubscribeOrderQuery = async (subscriberId) => {
|
|
224
|
+
if (!(0, import_utils2.isWebposOsServerEnv)()) return;
|
|
185
225
|
await import_utils.request.getRequest().post(
|
|
186
226
|
"/shop/order/v2/list/unsubscribe",
|
|
187
227
|
{ subscriberId },
|
|
@@ -192,6 +232,7 @@ var unsubscribeOrderQuery = async (subscriberId) => {
|
|
|
192
232
|
);
|
|
193
233
|
};
|
|
194
234
|
var unsubscribeBookingQuery = async (subscriberId) => {
|
|
235
|
+
if (!(0, import_utils2.isWebposOsServerEnv)()) return;
|
|
195
236
|
await import_utils.request.getRequest().get(
|
|
196
237
|
"/shop/schedule/booking/unsubscribe",
|
|
197
238
|
{ subscriberId },
|
|
@@ -205,6 +246,7 @@ var unsubscribeBookingQuery = async (subscriberId) => {
|
|
|
205
246
|
0 && (module.exports = {
|
|
206
247
|
formatBookingResult,
|
|
207
248
|
getBookingList,
|
|
249
|
+
getBookingListRequestCacheKey,
|
|
208
250
|
getOrderList,
|
|
209
251
|
unsubscribeBookingQuery,
|
|
210
252
|
unsubscribeOrderQuery
|
|
@@ -82,6 +82,7 @@ function useSalesGridData(params) {
|
|
|
82
82
|
const [selectedRows, setSelectedRows] = (0, import_react.useState)([]);
|
|
83
83
|
const orderSubscriberIdRef = (0, import_react.useRef)((0, import_utils.getUniqueId)());
|
|
84
84
|
const bookingSubscriberIdRef = (0, import_react.useRef)((0, import_utils.getUniqueId)());
|
|
85
|
+
const prevPerspectiveRef = (0, import_react.useRef)(null);
|
|
85
86
|
const orderMutateRef = (0, import_react.useRef)(null);
|
|
86
87
|
const bookingMutateRef = (0, import_react.useRef)(null);
|
|
87
88
|
const requestParams = (0, import_react.useMemo)(() => {
|
|
@@ -183,6 +184,9 @@ function useSalesGridData(params) {
|
|
|
183
184
|
return _getOrderList.runAsync(runListParams);
|
|
184
185
|
}, [perspective, runListParams, _getBookingList, _getOrderList]);
|
|
185
186
|
(0, import_react.useEffect)(() => {
|
|
187
|
+
const prev = prevPerspectiveRef.current;
|
|
188
|
+
prevPerspectiveRef.current = perspective;
|
|
189
|
+
if (prev == null || prev === perspective) return;
|
|
186
190
|
if (perspective === "monitor") {
|
|
187
191
|
void (0, import_serve.unsubscribeOrderQuery)(orderSubscriberIdRef.current);
|
|
188
192
|
return;
|
|
@@ -166,6 +166,8 @@ declare const enText: {
|
|
|
166
166
|
'pisell2.saas.device-planning.detail.report.field.name': string;
|
|
167
167
|
'pisell2.saas.device-planning.detail.report.field.type': string;
|
|
168
168
|
'pisell2.saas.device-planning.detail.report.field.version': string;
|
|
169
|
+
'pisell2.saas.device-planning.detail.report.field.resource_type': string;
|
|
170
|
+
'pisell2.saas.device-planning.detail.report.field.resource_version': string;
|
|
169
171
|
'pisell2.saas.device-planning.detail.report.field.level': string;
|
|
170
172
|
'pisell2.saas.device-planning.detail.report.field.ssid': string;
|
|
171
173
|
'pisell2.saas.device-planning.detail.report.field.gateway': string;
|
|
@@ -176,6 +178,8 @@ declare const enText: {
|
|
|
176
178
|
'pisell2.saas.device-planning.detail.report.field.os_version': string;
|
|
177
179
|
'pisell2.saas.device-planning.detail.report.field.used': string;
|
|
178
180
|
'pisell2.saas.device-planning.detail.report.field.total': string;
|
|
181
|
+
'pisell2.saas.device-planning.detail.report.resource-type.builtin': string;
|
|
182
|
+
'pisell2.saas.device-planning.detail.report.resource-type.bundle': string;
|
|
179
183
|
'pisell2.saas.device-planning.detail.report.charging': string;
|
|
180
184
|
'pisell2.saas.device-planning.detail.report.not-charging': string;
|
|
181
185
|
'pisell2.saas.device-planning.edit.title': string;
|
|
@@ -190,6 +190,8 @@ var enText = {
|
|
|
190
190
|
"pisell2.saas.device-planning.detail.report.field.name": "Name",
|
|
191
191
|
"pisell2.saas.device-planning.detail.report.field.type": "Type",
|
|
192
192
|
"pisell2.saas.device-planning.detail.report.field.version": "Version",
|
|
193
|
+
"pisell2.saas.device-planning.detail.report.field.resource_type": "Resource Type",
|
|
194
|
+
"pisell2.saas.device-planning.detail.report.field.resource_version": "Resource Version",
|
|
193
195
|
"pisell2.saas.device-planning.detail.report.field.level": "Battery Level",
|
|
194
196
|
"pisell2.saas.device-planning.detail.report.field.ssid": "SSID",
|
|
195
197
|
"pisell2.saas.device-planning.detail.report.field.gateway": "Gateway",
|
|
@@ -200,6 +202,8 @@ var enText = {
|
|
|
200
202
|
"pisell2.saas.device-planning.detail.report.field.os_version": "OS Version",
|
|
201
203
|
"pisell2.saas.device-planning.detail.report.field.used": "Used",
|
|
202
204
|
"pisell2.saas.device-planning.detail.report.field.total": "Total",
|
|
205
|
+
"pisell2.saas.device-planning.detail.report.resource-type.builtin": "Built-in",
|
|
206
|
+
"pisell2.saas.device-planning.detail.report.resource-type.bundle": "Hot Update",
|
|
203
207
|
"pisell2.saas.device-planning.detail.report.charging": "Charging",
|
|
204
208
|
"pisell2.saas.device-planning.detail.report.not-charging": "Not Charging",
|
|
205
209
|
"pisell2.saas.device-planning.edit.title": "Edit Device",
|