@pisell/pisellos 0.0.568 → 0.0.570
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/dist/effects/index.d.ts +2 -2
- package/dist/model/strategy/adapter/dataVariant/type.d.ts +3 -3
- package/dist/model/strategy/adapter/itemRule/type.d.ts +6 -6
- package/dist/model/strategy/adapter/promotion/evaluator.js +3 -2
- package/dist/model/strategy/adapter/promotion/type.d.ts +5 -5
- package/dist/model/strategy/adapter/walletPass/utils.js +7 -4
- package/dist/model/strategy/type.d.ts +1 -1
- package/dist/modules/BaseModule.d.ts +2 -2
- package/dist/modules/BaseModule.js +4 -4
- package/dist/modules/BookingContext/index.d.ts +48 -0
- package/dist/modules/BookingContext/index.js +566 -0
- package/dist/modules/BookingContext/types.d.ts +102 -0
- package/dist/modules/BookingContext/types.js +51 -0
- package/dist/modules/BookingContext/utils/buildCacheItemFromOrderLine.d.ts +16 -0
- package/dist/modules/BookingContext/utils/buildCacheItemFromOrderLine.js +302 -0
- package/dist/modules/BookingContext/utils/buildNormalProductCacheItemFromOrderLine.d.ts +8 -0
- package/dist/modules/BookingContext/utils/buildNormalProductCacheItemFromOrderLine.js +149 -0
- package/dist/modules/BookingContext/utils/cacheItemToBookingInput.d.ts +76 -0
- package/dist/modules/BookingContext/utils/cacheItemToBookingInput.js +249 -0
- package/dist/modules/BookingContext/utils/flexible.d.ts +28 -0
- package/dist/modules/BookingContext/utils/flexible.js +56 -0
- package/dist/modules/BookingContext/utils/formatResourceList.d.ts +8 -0
- package/dist/modules/BookingContext/utils/formatResourceList.js +38 -0
- package/dist/modules/BookingContext/utils/index.d.ts +11 -0
- package/dist/modules/BookingContext/utils/index.js +11 -0
- package/dist/modules/BookingContext/utils/noResource.d.ts +13 -0
- package/dist/modules/BookingContext/utils/noResource.js +77 -0
- package/dist/modules/BookingContext/utils/orderLineDisplay.d.ts +1 -0
- package/dist/modules/BookingContext/utils/orderLineDisplay.js +36 -0
- package/dist/modules/BookingContext/utils/productExtend.d.ts +72 -0
- package/dist/modules/BookingContext/utils/productExtend.js +339 -0
- package/dist/modules/BookingContext/utils/resourceErrors.d.ts +41 -0
- package/dist/modules/BookingContext/utils/resourceErrors.js +74 -0
- package/dist/modules/BookingContext/utils/resourceSelection.d.ts +7 -0
- package/dist/modules/BookingContext/utils/resourceSelection.js +24 -0
- package/dist/modules/BookingContext/utils/resources.d.ts +80 -0
- package/dist/modules/BookingContext/utils/resources.js +486 -0
- package/dist/modules/BookingContext/utils/serviceTimes.d.ts +55 -0
- package/dist/modules/BookingContext/utils/serviceTimes.js +151 -0
- package/dist/modules/BookingContext/utils/timeSlices.d.ts +42 -0
- package/dist/modules/BookingContext/utils/timeSlices.js +100 -0
- package/dist/modules/Cart/utils/cartProduct.js +26 -5
- package/dist/modules/Cart/utils/changePrice.js +27 -20
- package/dist/modules/Customer/index.d.ts +20 -0
- package/dist/modules/Customer/index.js +172 -83
- package/dist/modules/Customer/types.d.ts +3 -1
- package/dist/modules/Discount/index.d.ts +2 -1
- package/dist/modules/Discount/index.js +37 -9
- package/dist/modules/Discount/types.d.ts +2 -1
- package/dist/modules/Holder/types.d.ts +1 -1
- package/dist/modules/OpenData/index.d.ts +8 -0
- package/dist/modules/OpenData/index.js +36 -16
- package/dist/modules/OpenData/types.d.ts +1 -1
- package/dist/modules/Order/index.d.ts +448 -23
- package/dist/modules/Order/index.js +5417 -561
- package/dist/modules/Order/types.d.ts +693 -88
- package/dist/modules/Order/types.js +68 -1
- package/dist/modules/Order/utils/bundleDiscountHydration.d.ts +5 -0
- package/dist/modules/Order/utils/bundleDiscountHydration.js +144 -0
- package/dist/modules/Order/utils/manualProductDiscount.d.ts +106 -0
- package/dist/modules/Order/utils/manualProductDiscount.js +210 -0
- package/dist/modules/Order/utils/orderCollectionIdentity.d.ts +53 -0
- package/dist/modules/Order/utils/orderCollectionIdentity.js +405 -0
- package/dist/modules/Order/utils.d.ts +167 -18
- package/dist/modules/Order/utils.js +960 -165
- package/dist/modules/Payment/index.d.ts +10 -9
- package/dist/modules/Payment/index.js +465 -703
- package/dist/modules/Payment/types.d.ts +47 -23
- package/dist/modules/Payment/utils.d.ts +1 -1
- package/dist/modules/Payment/utils.js +4 -3
- package/dist/modules/Payment/walletpass.js +44 -29
- package/dist/modules/Product/index.d.ts +1 -1
- package/dist/modules/Product/types.d.ts +29 -7
- package/dist/modules/ProductList/index.d.ts +17 -13
- package/dist/modules/ProductList/index.js +184 -74
- package/dist/modules/ProductList/types.d.ts +17 -0
- package/dist/modules/Quotation/index.d.ts +22 -2
- package/dist/modules/Quotation/index.js +108 -42
- package/dist/modules/Quotation/types.d.ts +19 -0
- package/dist/modules/ResourcePlanner/index.d.ts +24 -0
- package/dist/modules/ResourcePlanner/index.js +181 -0
- package/dist/modules/ResourcePlanner/planner.d.ts +14 -0
- package/dist/modules/ResourcePlanner/planner.js +1069 -0
- package/dist/modules/ResourcePlanner/types.d.ts +227 -0
- package/dist/modules/ResourcePlanner/types.js +1 -0
- package/dist/modules/Rules/index.d.ts +8 -10
- package/dist/modules/Rules/index.js +222 -109
- package/dist/modules/Rules/types.d.ts +15 -4
- package/dist/modules/SalesSummary/index.d.ts +23 -26
- package/dist/modules/SalesSummary/index.js +152 -46
- package/dist/modules/SalesSummary/types.d.ts +9 -1
- package/dist/modules/SalesSummary/utils.d.ts +3 -22
- package/dist/modules/SalesSummary/utils.js +803 -163
- package/dist/modules/ScanOrderLogger/types.d.ts +2 -2
- package/dist/modules/Schedule/getDateIsInSchedule.d.ts +1 -1
- package/dist/modules/Schedule/getDateIsInSchedule.js +14 -7
- package/dist/modules/Schedule/index.d.ts +18 -5
- package/dist/modules/Schedule/index.js +78 -24
- package/dist/modules/Schedule/type.d.ts +7 -7
- package/dist/modules/Schedule/types.d.ts +11 -9
- package/dist/modules/Summary/index.js +4 -3
- package/dist/modules/SurchargeList/index.d.ts +18 -0
- package/dist/modules/SurchargeList/index.js +185 -0
- package/dist/modules/SurchargeList/types.d.ts +15 -0
- package/dist/modules/SurchargeList/types.js +1 -0
- package/dist/modules/index.d.ts +3 -0
- package/dist/modules/index.js +4 -1
- package/dist/plugins/app.d.ts +2 -0
- package/dist/plugins/request.d.ts +3 -2
- package/dist/server/index.d.ts +462 -8
- package/dist/server/index.js +6112 -656
- package/dist/server/modules/floor-plan/index.d.ts +39 -0
- package/dist/server/modules/floor-plan/index.js +595 -0
- package/dist/server/modules/floor-plan/types.d.ts +43 -0
- package/dist/server/modules/floor-plan/types.js +13 -0
- package/dist/server/modules/index.d.ts +7 -2
- package/dist/server/modules/index.js +6 -0
- package/dist/server/modules/menu/types.d.ts +1 -1
- package/dist/server/modules/order/index.d.ts +207 -14
- package/dist/server/modules/order/index.js +2326 -379
- package/dist/server/modules/order/types.d.ts +91 -20
- package/dist/server/modules/order/types.js +14 -1
- package/dist/server/modules/order/utils/filterBookings.d.ts +7 -1
- package/dist/server/modules/order/utils/filterBookings.js +118 -11
- package/dist/server/modules/order/utils/filterOrders.js +242 -14
- package/dist/server/modules/payment/index.d.ts +28 -0
- package/dist/server/modules/payment/index.js +305 -0
- package/dist/server/modules/payment/types.d.ts +9 -0
- package/dist/server/modules/payment/types.js +1 -0
- package/dist/server/modules/products/index.d.ts +105 -14
- package/dist/server/modules/products/index.js +1393 -516
- package/dist/server/modules/products/types.d.ts +35 -2
- package/dist/server/modules/products/types.js +4 -0
- package/dist/server/modules/quotation/index.d.ts +39 -0
- package/dist/server/modules/quotation/index.js +278 -66
- package/dist/server/modules/resource/index.d.ts +2 -3
- package/dist/server/modules/resource/index.js +108 -86
- package/dist/server/modules/resource/types.d.ts +1 -1
- package/dist/server/modules/schedule/index.d.ts +6 -4
- package/dist/server/modules/schedule/index.js +116 -85
- package/dist/server/modules/schedule/utils.d.ts +1 -1
- package/dist/server/test.json +713 -0
- package/dist/server/types.d.ts +6 -4
- package/dist/server/utils/product.js +2 -2
- package/dist/server/utils/small-ticket.d.ts +71 -0
- package/dist/server/utils/small-ticket.js +963 -0
- package/dist/solution/BaseSales/index.d.ts +378 -0
- package/dist/solution/BaseSales/index.js +4006 -0
- package/dist/solution/BaseSales/types.d.ts +394 -0
- package/dist/solution/BaseSales/types.js +40 -0
- package/dist/solution/BaseSales/utils/cartPromotion.d.ts +287 -0
- package/dist/solution/BaseSales/utils/cartPromotion.js +1450 -0
- package/dist/solution/BaseSales/utils/parseSalesResponse.d.ts +144 -0
- package/dist/solution/BaseSales/utils/parseSalesResponse.js +157 -0
- package/dist/solution/BaseSales/utils/quotationPrice.d.ts +18 -0
- package/dist/solution/BaseSales/utils/quotationPrice.js +250 -0
- package/dist/solution/BaseSales/utils/transformBaseProductToOrderProduct.d.ts +63 -0
- package/dist/solution/BaseSales/utils/transformBaseProductToOrderProduct.js +218 -0
- package/dist/solution/BaseSales/utils.d.ts +40 -0
- package/dist/solution/BaseSales/utils.js +263 -0
- package/dist/solution/BookingByStep/index.d.ts +2 -2
- package/dist/solution/BookingByStep/utils/resources.d.ts +1 -1
- package/dist/solution/BookingTicket/index.d.ts +382 -25
- package/dist/solution/BookingTicket/index.js +2506 -443
- package/dist/solution/BookingTicket/types.d.ts +191 -6
- package/dist/solution/BookingTicket/types.js +83 -10
- package/dist/solution/BookingTicket/utils/addProductDecision.d.ts +117 -0
- package/dist/solution/BookingTicket/utils/addProductDecision.js +346 -0
- package/dist/solution/BookingTicket/utils/addTimeAvailability.d.ts +35 -0
- package/dist/solution/BookingTicket/utils/addTimeAvailability.js +95 -0
- package/dist/solution/BookingTicket/utils/bookingStatus.d.ts +77 -0
- package/dist/solution/BookingTicket/utils/bookingStatus.js +136 -0
- package/dist/solution/BookingTicket/utils/cartView.d.ts +29 -0
- package/dist/solution/BookingTicket/utils/cartView.js +209 -0
- package/dist/solution/BookingTicket/utils/exampleData.d.ts +123 -0
- package/dist/solution/BookingTicket/utils/exampleData.js +183 -0
- package/dist/solution/BookingTicket/utils/orderCustomer.d.ts +4 -0
- package/dist/solution/BookingTicket/utils/orderCustomer.js +31 -0
- package/dist/solution/BookingTicket/utils/resolveBestAddTimePlan.d.ts +185 -0
- package/dist/solution/BookingTicket/utils/resolveBestAddTimePlan.js +438 -0
- package/dist/solution/BookingTicket/utils/scan/applyGlobalScan.d.ts +36 -0
- package/dist/solution/BookingTicket/utils/scan/applyGlobalScan.js +400 -0
- package/dist/solution/BookingTicket/utils/scan/cloudSearch.d.ts +4 -0
- package/dist/solution/BookingTicket/utils/scan/cloudSearch.js +41 -1
- package/dist/solution/BookingTicket/utils/scan/formatGlobalScan.d.ts +32 -0
- package/dist/solution/BookingTicket/utils/scan/formatGlobalScan.js +56 -0
- package/dist/solution/BookingTicket/utils/scan/handleScan.d.ts +3 -1
- package/dist/solution/BookingTicket/utils/scan/handleScan.js +11 -3
- package/dist/solution/BookingTicket/utils/scan/index.d.ts +5 -0
- package/dist/solution/BookingTicket/utils/scan/index.js +20 -8
- package/dist/solution/BookingTicket/utils/scan/scanProductValues.d.ts +21 -0
- package/dist/solution/BookingTicket/utils/scan/scanProductValues.js +150 -0
- package/dist/solution/BookingTicket/utils/sessionCatalogStale.d.ts +23 -0
- package/dist/solution/BookingTicket/utils/sessionCatalogStale.js +78 -0
- package/dist/solution/Checkout/index.d.ts +1 -0
- package/dist/solution/Checkout/index.js +25 -34
- package/dist/solution/Checkout/utils/index.js +4 -4
- package/dist/solution/RegisterAndLogin/config.js +2 -10
- package/dist/solution/Sales/index.d.ts +50 -5
- package/dist/solution/Sales/index.js +484 -92
- package/dist/solution/Sales/types.d.ts +29 -5
- package/dist/solution/ScanOrder/index.d.ts +27 -21
- package/dist/solution/ScanOrder/index.js +499 -434
- package/dist/solution/ScanOrder/types.d.ts +38 -16
- package/dist/solution/ScanOrder/types.js +4 -5
- package/dist/solution/ScanOrder/utils.d.ts +4 -1
- package/dist/solution/ScanOrder/utils.js +109 -34
- package/dist/solution/ShopDiscount/index.js +4 -4
- package/dist/solution/ShopDiscount/types.d.ts +1 -1
- package/dist/solution/ShopDiscount/utils.d.ts +2 -2
- package/dist/solution/UnifiedBookingSales/index.d.ts +183 -0
- package/dist/solution/UnifiedBookingSales/index.js +1871 -0
- package/dist/solution/UnifiedBookingSales/types.d.ts +143 -0
- package/dist/solution/UnifiedBookingSales/types.js +11 -0
- package/dist/solution/VenueBooking/index.d.ts +29 -20
- package/dist/solution/VenueBooking/index.js +301 -213
- package/dist/solution/VenueBooking/sales-section-4-annotated.json +0 -2
- package/dist/solution/VenueBooking/types.d.ts +1 -1
- package/dist/solution/VenueBooking/utils/slotMerge.d.ts +6 -0
- package/dist/solution/VenueBooking/utils/slotMerge.js +9 -3
- package/dist/solution/index.d.ts +2 -0
- package/dist/solution/index.js +3 -1
- package/dist/types/index.d.ts +12 -2
- package/dist/utils/task.d.ts +2 -2
- package/dist/utils/watch.d.ts +2 -2
- package/lib/effects/index.d.ts +2 -2
- package/lib/model/strategy/adapter/dataVariant/type.d.ts +3 -3
- package/lib/model/strategy/adapter/itemRule/type.d.ts +6 -6
- package/lib/model/strategy/adapter/promotion/evaluator.js +3 -2
- package/lib/model/strategy/adapter/promotion/type.d.ts +5 -5
- package/lib/model/strategy/adapter/walletPass/utils.js +6 -4
- package/lib/model/strategy/type.d.ts +1 -1
- package/lib/modules/BaseModule.d.ts +2 -2
- package/lib/modules/BaseModule.js +4 -4
- package/lib/modules/BookingContext/index.d.ts +48 -0
- package/lib/modules/BookingContext/index.js +390 -0
- package/lib/modules/BookingContext/types.d.ts +102 -0
- package/lib/modules/BookingContext/types.js +48 -0
- package/lib/modules/BookingContext/utils/buildCacheItemFromOrderLine.d.ts +16 -0
- package/lib/modules/BookingContext/utils/buildCacheItemFromOrderLine.js +286 -0
- package/lib/modules/BookingContext/utils/buildNormalProductCacheItemFromOrderLine.d.ts +8 -0
- package/lib/modules/BookingContext/utils/buildNormalProductCacheItemFromOrderLine.js +148 -0
- package/lib/modules/BookingContext/utils/cacheItemToBookingInput.d.ts +76 -0
- package/lib/modules/BookingContext/utils/cacheItemToBookingInput.js +242 -0
- package/lib/modules/BookingContext/utils/flexible.d.ts +28 -0
- package/lib/modules/BookingContext/utils/flexible.js +63 -0
- package/lib/modules/BookingContext/utils/formatResourceList.d.ts +8 -0
- package/lib/modules/BookingContext/utils/formatResourceList.js +35 -0
- package/lib/modules/BookingContext/utils/index.d.ts +11 -0
- package/lib/modules/BookingContext/utils/index.js +126 -0
- package/lib/modules/BookingContext/utils/noResource.d.ts +13 -0
- package/lib/modules/BookingContext/utils/noResource.js +78 -0
- package/lib/modules/BookingContext/utils/orderLineDisplay.d.ts +1 -0
- package/lib/modules/BookingContext/utils/orderLineDisplay.js +29 -0
- package/lib/modules/BookingContext/utils/productExtend.d.ts +72 -0
- package/lib/modules/BookingContext/utils/productExtend.js +330 -0
- package/lib/modules/BookingContext/utils/resourceErrors.d.ts +41 -0
- package/lib/modules/BookingContext/utils/resourceErrors.js +80 -0
- package/lib/modules/BookingContext/utils/resourceSelection.d.ts +7 -0
- package/lib/modules/BookingContext/utils/resourceSelection.js +24 -0
- package/lib/modules/BookingContext/utils/resources.d.ts +80 -0
- package/lib/modules/BookingContext/utils/resources.js +419 -0
- package/lib/modules/BookingContext/utils/serviceTimes.d.ts +55 -0
- package/lib/modules/BookingContext/utils/serviceTimes.js +161 -0
- package/lib/modules/BookingContext/utils/timeSlices.d.ts +42 -0
- package/lib/modules/BookingContext/utils/timeSlices.js +114 -0
- package/lib/modules/Cart/utils/cartProduct.js +27 -5
- package/lib/modules/Cart/utils/changePrice.js +20 -14
- package/lib/modules/Customer/index.d.ts +20 -0
- package/lib/modules/Customer/index.js +63 -10
- package/lib/modules/Customer/types.d.ts +3 -1
- package/lib/modules/Discount/index.d.ts +2 -1
- package/lib/modules/Discount/index.js +18 -2
- package/lib/modules/Discount/types.d.ts +2 -1
- package/lib/modules/Holder/types.d.ts +1 -1
- package/lib/modules/OpenData/index.d.ts +8 -0
- package/lib/modules/OpenData/index.js +21 -3
- package/lib/modules/OpenData/types.d.ts +1 -1
- package/lib/modules/Order/index.d.ts +448 -23
- package/lib/modules/Order/index.js +3641 -308
- package/lib/modules/Order/types.d.ts +693 -88
- package/lib/modules/Order/types.js +55 -1
- package/lib/modules/Order/utils/bundleDiscountHydration.d.ts +5 -0
- package/lib/modules/Order/utils/bundleDiscountHydration.js +106 -0
- package/lib/modules/Order/utils/manualProductDiscount.d.ts +106 -0
- package/lib/modules/Order/utils/manualProductDiscount.js +207 -0
- package/lib/modules/Order/utils/orderCollectionIdentity.d.ts +53 -0
- package/lib/modules/Order/utils/orderCollectionIdentity.js +353 -0
- package/lib/modules/Order/utils.d.ts +167 -18
- package/lib/modules/Order/utils.js +974 -138
- package/lib/modules/Payment/index.d.ts +10 -9
- package/lib/modules/Payment/index.js +30 -124
- package/lib/modules/Payment/types.d.ts +47 -23
- package/lib/modules/Payment/utils.d.ts +1 -1
- package/lib/modules/Payment/utils.js +4 -3
- package/lib/modules/Payment/walletpass.js +16 -6
- package/lib/modules/Product/index.d.ts +1 -1
- package/lib/modules/Product/types.d.ts +29 -7
- package/lib/modules/ProductList/index.d.ts +17 -13
- package/lib/modules/ProductList/index.js +92 -51
- package/lib/modules/ProductList/types.d.ts +17 -0
- package/lib/modules/Quotation/index.d.ts +22 -2
- package/lib/modules/Quotation/index.js +76 -20
- package/lib/modules/Quotation/types.d.ts +19 -0
- package/lib/modules/ResourcePlanner/index.d.ts +24 -0
- package/lib/modules/ResourcePlanner/index.js +147 -0
- package/lib/modules/ResourcePlanner/planner.d.ts +14 -0
- package/lib/modules/ResourcePlanner/planner.js +895 -0
- package/lib/modules/ResourcePlanner/types.d.ts +227 -0
- package/lib/modules/ResourcePlanner/types.js +5 -0
- package/lib/modules/Rules/index.d.ts +8 -10
- package/lib/modules/Rules/index.js +153 -61
- package/lib/modules/Rules/types.d.ts +15 -4
- package/lib/modules/SalesSummary/index.d.ts +23 -26
- package/lib/modules/SalesSummary/index.js +84 -16
- package/lib/modules/SalesSummary/types.d.ts +9 -1
- package/lib/modules/SalesSummary/utils.d.ts +3 -22
- package/lib/modules/SalesSummary/utils.js +616 -111
- package/lib/modules/ScanOrderLogger/types.d.ts +2 -2
- package/lib/modules/Schedule/getDateIsInSchedule.d.ts +1 -1
- package/lib/modules/Schedule/getDateIsInSchedule.js +14 -7
- package/lib/modules/Schedule/index.d.ts +18 -5
- package/lib/modules/Schedule/index.js +49 -14
- package/lib/modules/Schedule/type.d.ts +7 -7
- package/lib/modules/Schedule/types.d.ts +11 -9
- package/lib/modules/Summary/index.js +2 -2
- package/lib/modules/SurchargeList/index.d.ts +18 -0
- package/lib/modules/SurchargeList/index.js +95 -0
- package/lib/modules/SurchargeList/types.d.ts +15 -0
- package/lib/modules/SurchargeList/types.js +5 -0
- package/lib/modules/index.d.ts +3 -0
- package/lib/modules/index.js +33 -0
- package/lib/plugins/app.d.ts +2 -0
- package/lib/plugins/request.d.ts +3 -2
- package/lib/server/index.d.ts +462 -8
- package/lib/server/index.js +3901 -205
- package/lib/server/modules/floor-plan/index.d.ts +39 -0
- package/lib/server/modules/floor-plan/index.js +306 -0
- package/lib/server/modules/floor-plan/types.d.ts +43 -0
- package/lib/server/modules/floor-plan/types.js +19 -0
- package/lib/server/modules/index.d.ts +7 -2
- package/lib/server/modules/index.js +21 -0
- package/lib/server/modules/menu/types.d.ts +1 -1
- package/lib/server/modules/order/index.d.ts +207 -14
- package/lib/server/modules/order/index.js +1324 -141
- package/lib/server/modules/order/types.d.ts +91 -20
- package/lib/server/modules/order/types.js +11 -1
- package/lib/server/modules/order/utils/filterBookings.d.ts +7 -1
- package/lib/server/modules/order/utils/filterBookings.js +119 -11
- package/lib/server/modules/order/utils/filterOrders.js +238 -13
- package/lib/server/modules/payment/index.d.ts +28 -0
- package/lib/server/modules/payment/index.js +168 -0
- package/lib/server/modules/payment/types.d.ts +9 -0
- package/lib/server/modules/payment/types.js +5 -0
- package/lib/server/modules/products/index.d.ts +105 -14
- package/lib/server/modules/products/index.js +588 -97
- package/lib/server/modules/products/types.d.ts +35 -2
- package/lib/server/modules/products/types.js +3 -0
- package/lib/server/modules/quotation/index.d.ts +39 -0
- package/lib/server/modules/quotation/index.js +145 -1
- package/lib/server/modules/resource/index.d.ts +2 -3
- package/lib/server/modules/resource/index.js +71 -45
- package/lib/server/modules/resource/types.d.ts +1 -1
- package/lib/server/modules/schedule/index.d.ts +6 -4
- package/lib/server/modules/schedule/index.js +55 -44
- package/lib/server/modules/schedule/utils.d.ts +1 -1
- package/lib/server/test.json +713 -0
- package/lib/server/types.d.ts +6 -4
- package/lib/server/utils/product.js +2 -2
- package/lib/server/utils/small-ticket.d.ts +71 -0
- package/lib/server/utils/small-ticket.js +926 -0
- package/lib/solution/BaseSales/index.d.ts +378 -0
- package/lib/solution/BaseSales/index.js +2367 -0
- package/lib/solution/BaseSales/types.d.ts +394 -0
- package/lib/solution/BaseSales/types.js +47 -0
- package/lib/solution/BaseSales/utils/cartPromotion.d.ts +287 -0
- package/lib/solution/BaseSales/utils/cartPromotion.js +1155 -0
- package/lib/solution/BaseSales/utils/parseSalesResponse.d.ts +144 -0
- package/lib/solution/BaseSales/utils/parseSalesResponse.js +140 -0
- package/lib/solution/BaseSales/utils/quotationPrice.d.ts +18 -0
- package/lib/solution/BaseSales/utils/quotationPrice.js +231 -0
- package/lib/solution/BaseSales/utils/transformBaseProductToOrderProduct.d.ts +63 -0
- package/lib/solution/BaseSales/utils/transformBaseProductToOrderProduct.js +215 -0
- package/lib/solution/BaseSales/utils.d.ts +40 -0
- package/lib/solution/BaseSales/utils.js +259 -0
- package/lib/solution/BookingByStep/index.d.ts +2 -2
- package/lib/solution/BookingByStep/utils/resources.d.ts +1 -1
- package/lib/solution/BookingTicket/index.d.ts +382 -25
- package/lib/solution/BookingTicket/index.js +1350 -76
- package/lib/solution/BookingTicket/types.d.ts +191 -6
- package/lib/solution/BookingTicket/types.js +71 -10
- package/lib/solution/BookingTicket/utils/addProductDecision.d.ts +117 -0
- package/lib/solution/BookingTicket/utils/addProductDecision.js +353 -0
- package/lib/solution/BookingTicket/utils/addTimeAvailability.d.ts +35 -0
- package/lib/solution/BookingTicket/utils/addTimeAvailability.js +94 -0
- package/lib/solution/BookingTicket/utils/bookingStatus.d.ts +77 -0
- package/lib/solution/BookingTicket/utils/bookingStatus.js +136 -0
- package/lib/solution/BookingTicket/utils/cartView.d.ts +29 -0
- package/lib/solution/BookingTicket/utils/cartView.js +200 -0
- package/lib/solution/BookingTicket/utils/exampleData.d.ts +123 -0
- package/lib/solution/BookingTicket/utils/exampleData.js +185 -0
- package/lib/solution/BookingTicket/utils/orderCustomer.d.ts +4 -0
- package/lib/solution/BookingTicket/utils/orderCustomer.js +35 -0
- package/lib/solution/BookingTicket/utils/resolveBestAddTimePlan.d.ts +185 -0
- package/lib/solution/BookingTicket/utils/resolveBestAddTimePlan.js +387 -0
- package/lib/solution/BookingTicket/utils/scan/applyGlobalScan.d.ts +36 -0
- package/lib/solution/BookingTicket/utils/scan/applyGlobalScan.js +220 -0
- package/lib/solution/BookingTicket/utils/scan/cloudSearch.d.ts +4 -0
- package/lib/solution/BookingTicket/utils/scan/cloudSearch.js +24 -3
- package/lib/solution/BookingTicket/utils/scan/formatGlobalScan.d.ts +32 -0
- package/lib/solution/BookingTicket/utils/scan/formatGlobalScan.js +64 -0
- package/lib/solution/BookingTicket/utils/scan/handleScan.d.ts +3 -1
- package/lib/solution/BookingTicket/utils/scan/handleScan.js +4 -2
- package/lib/solution/BookingTicket/utils/scan/index.d.ts +5 -0
- package/lib/solution/BookingTicket/utils/scan/index.js +14 -2
- package/lib/solution/BookingTicket/utils/scan/scanProductValues.d.ts +21 -0
- package/lib/solution/BookingTicket/utils/scan/scanProductValues.js +115 -0
- package/lib/solution/BookingTicket/utils/sessionCatalogStale.d.ts +23 -0
- package/lib/solution/BookingTicket/utils/sessionCatalogStale.js +83 -0
- package/lib/solution/Checkout/index.d.ts +1 -0
- package/lib/solution/Checkout/index.js +18 -19
- package/lib/solution/Checkout/utils/index.js +4 -4
- package/lib/solution/RegisterAndLogin/config.js +2 -10
- package/lib/solution/Sales/index.d.ts +50 -5
- package/lib/solution/Sales/index.js +296 -39
- package/lib/solution/Sales/types.d.ts +29 -5
- package/lib/solution/ScanOrder/index.d.ts +27 -21
- package/lib/solution/ScanOrder/index.js +144 -103
- package/lib/solution/ScanOrder/types.d.ts +38 -16
- package/lib/solution/ScanOrder/types.js +4 -5
- package/lib/solution/ScanOrder/utils.d.ts +4 -1
- package/lib/solution/ScanOrder/utils.js +98 -26
- package/lib/solution/ShopDiscount/index.js +3 -3
- package/lib/solution/ShopDiscount/types.d.ts +1 -1
- package/lib/solution/ShopDiscount/utils.d.ts +2 -2
- package/lib/solution/UnifiedBookingSales/index.d.ts +183 -0
- package/lib/solution/UnifiedBookingSales/index.js +1050 -0
- package/lib/solution/UnifiedBookingSales/types.d.ts +143 -0
- package/lib/solution/UnifiedBookingSales/types.js +14 -0
- package/lib/solution/VenueBooking/index.d.ts +29 -20
- package/lib/solution/VenueBooking/index.js +169 -94
- package/lib/solution/VenueBooking/sales-section-4-annotated.json +0 -2
- package/lib/solution/VenueBooking/types.d.ts +1 -1
- package/lib/solution/VenueBooking/utils/slotMerge.d.ts +6 -0
- package/lib/solution/VenueBooking/utils/slotMerge.js +9 -3
- package/lib/solution/index.d.ts +2 -0
- package/lib/solution/index.js +22 -0
- package/lib/types/index.d.ts +12 -2
- package/lib/utils/task.d.ts +2 -2
- package/lib/utils/watch.d.ts +2 -2
- package/package.json +18 -19
- package/dist/model/strategy/adapter/promotion/index.d.ts +0 -4
- package/dist/solution/Checkout/appointmentDemo.json +0 -1
- package/lib/model/strategy/adapter/promotion/index.d.ts +0 -4
- package/lib/solution/Checkout/appointmentDemo.json +0 -1
|
@@ -17,13 +17,29 @@ export interface FormattedProductData extends ProductData {
|
|
|
17
17
|
/** 购物车详情值 */
|
|
18
18
|
cartDetailValue?: any;
|
|
19
19
|
}
|
|
20
|
+
/**
|
|
21
|
+
* 商品轻量查询范围
|
|
22
|
+
*/
|
|
23
|
+
export interface ProductIdScope {
|
|
24
|
+
/** 是否返回全部商品 ID */
|
|
25
|
+
isAllProducts?: boolean;
|
|
26
|
+
/** 指定商品 ID */
|
|
27
|
+
productIds?: number[];
|
|
28
|
+
/** 指定商品集合 ID */
|
|
29
|
+
collectionIds?: number[];
|
|
30
|
+
}
|
|
31
|
+
export interface ProductSnapshot {
|
|
32
|
+
cover?: ProductData['cover'];
|
|
33
|
+
holder_config?: ProductData['holder_config'];
|
|
34
|
+
}
|
|
20
35
|
/**
|
|
21
36
|
* 加载报价单商品价格参数
|
|
22
37
|
*/
|
|
23
38
|
export interface LoadProductsPriceParams {
|
|
24
39
|
ids: number[];
|
|
25
40
|
schedule_date: string;
|
|
26
|
-
|
|
41
|
+
schedule_datetime?: string;
|
|
42
|
+
customer_id?: number | string;
|
|
27
43
|
}
|
|
28
44
|
/**
|
|
29
45
|
* 加载报价单商品价格返回数据
|
|
@@ -47,6 +63,7 @@ export interface LoadProductsPriceData {
|
|
|
47
63
|
bundle_product_id: number;
|
|
48
64
|
bundle_variant_id: number;
|
|
49
65
|
price: number;
|
|
66
|
+
base_price?: number | string;
|
|
50
67
|
price_type: string;
|
|
51
68
|
price_type_ext: string;
|
|
52
69
|
}[];
|
|
@@ -97,6 +114,8 @@ export interface ProductSyncMessage {
|
|
|
97
114
|
change_types?: string[];
|
|
98
115
|
/** 关联商品 ID(product_collection / product_category / product_quotation 变更时携带) */
|
|
99
116
|
relation_product_ids?: number[];
|
|
117
|
+
/** 关联商品 ID(product_data_variant 变更时携带) */
|
|
118
|
+
product_ids?: number[];
|
|
100
119
|
message_uuid?: string;
|
|
101
120
|
timestamp?: string;
|
|
102
121
|
/** 内部标记:来源频道 key */
|
|
@@ -107,12 +126,26 @@ export interface ProductSyncMessage {
|
|
|
107
126
|
*/
|
|
108
127
|
export interface ProductFormatterContext {
|
|
109
128
|
schedule_date: string;
|
|
129
|
+
schedule_datetime?: string;
|
|
130
|
+
customer_id?: number | string;
|
|
110
131
|
priceData?: LoadProductsPriceData[];
|
|
111
132
|
scheduleModule?: any;
|
|
133
|
+
/** 全量餐牌列表,供智能定价 menu_match 等条件判断使用 */
|
|
134
|
+
menuList?: any[];
|
|
135
|
+
/** 全量日程列表,供智能定价 schedule_match 等条件判断使用 */
|
|
136
|
+
scheduleList?: any[];
|
|
137
|
+
/** 外部传入的策略上下文,仅承载定价条件,不参与商品集合筛选 */
|
|
138
|
+
strategy_context?: Record<string, any>;
|
|
139
|
+
/** 智能定价评估器,由宿主统一注入到 PisellOS context */
|
|
140
|
+
dataVariantEvaluator?: {
|
|
141
|
+
resolveProducts: (businessData: any) => {
|
|
142
|
+
products: ProductData[];
|
|
143
|
+
};
|
|
144
|
+
};
|
|
112
145
|
locale?: string;
|
|
113
146
|
}
|
|
114
147
|
/**
|
|
115
148
|
* 商品格式化器类型
|
|
116
149
|
* 用于对商品数据进行处理和格式化(包括价格应用、字段扩展等)
|
|
117
150
|
*/
|
|
118
|
-
export type ProductFormatter = (products: ProductData[], context: ProductFormatterContext) => ProductData[] | Promise<ProductData[]>;
|
|
151
|
+
export declare type ProductFormatter = (products: ProductData[], context: ProductFormatterContext) => ProductData[] | Promise<ProductData[]>;
|
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
import { Module, PisellCore, ModuleOptions } from '../../../types';
|
|
2
2
|
import { BaseModule } from '../../../modules/BaseModule';
|
|
3
3
|
import { QuotationData } from './types';
|
|
4
|
+
import type { ScheduleItem } from '../../../modules/Schedule/types';
|
|
5
|
+
import type { QuotationCustomerScopeInfo } from '../../../modules/Quotation/types';
|
|
4
6
|
/**
|
|
5
7
|
* 报价单模块 - 用于管理报价单数据和计算商品价格
|
|
6
8
|
*/
|
|
@@ -10,6 +12,7 @@ export declare class QuotationModule extends BaseModule implements Module {
|
|
|
10
12
|
private request;
|
|
11
13
|
private store;
|
|
12
14
|
private dbManager;
|
|
15
|
+
private scheduleResolver?;
|
|
13
16
|
constructor(name?: string, version?: string);
|
|
14
17
|
initialize(core: PisellCore, options?: ModuleOptions): Promise<void>;
|
|
15
18
|
/**
|
|
@@ -25,10 +28,46 @@ export declare class QuotationModule extends BaseModule implements Module {
|
|
|
25
28
|
* 获取报价单列表
|
|
26
29
|
*/
|
|
27
30
|
getQuotationList(): QuotationData[];
|
|
31
|
+
loadQuotations(params?: {
|
|
32
|
+
channel?: string;
|
|
33
|
+
customer_id?: number | string;
|
|
34
|
+
}): Promise<void>;
|
|
35
|
+
setScheduleResolver(resolver: (id: number) => ScheduleItem | undefined): void;
|
|
36
|
+
getPriceForProduct(params: {
|
|
37
|
+
productId: number;
|
|
38
|
+
variantId?: number;
|
|
39
|
+
datetime: string;
|
|
40
|
+
channel?: string;
|
|
41
|
+
customer_id?: number | string;
|
|
42
|
+
}): string | null;
|
|
43
|
+
getQuotationMatchForProduct(params: {
|
|
44
|
+
productId: number;
|
|
45
|
+
variantId?: number;
|
|
46
|
+
datetime: string;
|
|
47
|
+
channel?: string;
|
|
48
|
+
customer_id?: number | string;
|
|
49
|
+
}): {
|
|
50
|
+
price: string | null;
|
|
51
|
+
quotationShelfId: number;
|
|
52
|
+
} | null;
|
|
53
|
+
getQuotationShelfId(params: {
|
|
54
|
+
productId: number;
|
|
55
|
+
variantId?: number;
|
|
56
|
+
datetime: string;
|
|
57
|
+
channel?: string;
|
|
58
|
+
customer_id?: number | string;
|
|
59
|
+
}): number;
|
|
60
|
+
getQuotationCustomerScopeInfo(): QuotationCustomerScopeInfo;
|
|
28
61
|
/**
|
|
29
62
|
* 清空缓存
|
|
30
63
|
*/
|
|
31
64
|
clear(): Promise<void>;
|
|
65
|
+
private normalizeCustomerId;
|
|
66
|
+
private hasValidCustomerId;
|
|
67
|
+
private isQuotationVisibleForCustomer;
|
|
68
|
+
private isQuotationVisibleForChannel;
|
|
69
|
+
private isQuotationActiveAt;
|
|
70
|
+
private findProductData;
|
|
32
71
|
/**
|
|
33
72
|
* 从 IndexDB 加载报价单数据
|
|
34
73
|
* @private
|
|
@@ -1,4 +1,6 @@
|
|
|
1
1
|
function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
|
|
2
|
+
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
3
|
+
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
2
4
|
function _regeneratorRuntime() { "use strict"; /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/facebook/regenerator/blob/main/LICENSE */ _regeneratorRuntime = function _regeneratorRuntime() { return e; }; var t, e = {}, r = Object.prototype, n = r.hasOwnProperty, o = Object.defineProperty || function (t, e, r) { t[e] = r.value; }, i = "function" == typeof Symbol ? Symbol : {}, a = i.iterator || "@@iterator", c = i.asyncIterator || "@@asyncIterator", u = i.toStringTag || "@@toStringTag"; function define(t, e, r) { return Object.defineProperty(t, e, { value: r, enumerable: !0, configurable: !0, writable: !0 }), t[e]; } try { define({}, ""); } catch (t) { define = function define(t, e, r) { return t[e] = r; }; } function wrap(t, e, r, n) { var i = e && e.prototype instanceof Generator ? e : Generator, a = Object.create(i.prototype), c = new Context(n || []); return o(a, "_invoke", { value: makeInvokeMethod(t, r, c) }), a; } function tryCatch(t, e, r) { try { return { type: "normal", arg: t.call(e, r) }; } catch (t) { return { type: "throw", arg: t }; } } e.wrap = wrap; var h = "suspendedStart", l = "suspendedYield", f = "executing", s = "completed", y = {}; function Generator() {} function GeneratorFunction() {} function GeneratorFunctionPrototype() {} var p = {}; define(p, a, function () { return this; }); var d = Object.getPrototypeOf, v = d && d(d(values([]))); v && v !== r && n.call(v, a) && (p = v); var g = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(p); function defineIteratorMethods(t) { ["next", "throw", "return"].forEach(function (e) { define(t, e, function (t) { return this._invoke(e, t); }); }); } function AsyncIterator(t, e) { function invoke(r, o, i, a) { var c = tryCatch(t[r], t, o); if ("throw" !== c.type) { var u = c.arg, h = u.value; return h && "object" == _typeof(h) && n.call(h, "__await") ? e.resolve(h.__await).then(function (t) { invoke("next", t, i, a); }, function (t) { invoke("throw", t, i, a); }) : e.resolve(h).then(function (t) { u.value = t, i(u); }, function (t) { return invoke("throw", t, i, a); }); } a(c.arg); } var r; o(this, "_invoke", { value: function value(t, n) { function callInvokeWithMethodAndArg() { return new e(function (e, r) { invoke(t, n, e, r); }); } return r = r ? r.then(callInvokeWithMethodAndArg, callInvokeWithMethodAndArg) : callInvokeWithMethodAndArg(); } }); } function makeInvokeMethod(e, r, n) { var o = h; return function (i, a) { if (o === f) throw new Error("Generator is already running"); if (o === s) { if ("throw" === i) throw a; return { value: t, done: !0 }; } for (n.method = i, n.arg = a;;) { var c = n.delegate; if (c) { var u = maybeInvokeDelegate(c, n); if (u) { if (u === y) continue; return u; } } if ("next" === n.method) n.sent = n._sent = n.arg;else if ("throw" === n.method) { if (o === h) throw o = s, n.arg; n.dispatchException(n.arg); } else "return" === n.method && n.abrupt("return", n.arg); o = f; var p = tryCatch(e, r, n); if ("normal" === p.type) { if (o = n.done ? s : l, p.arg === y) continue; return { value: p.arg, done: n.done }; } "throw" === p.type && (o = s, n.method = "throw", n.arg = p.arg); } }; } function maybeInvokeDelegate(e, r) { var n = r.method, o = e.iterator[n]; if (o === t) return r.delegate = null, "throw" === n && e.iterator.return && (r.method = "return", r.arg = t, maybeInvokeDelegate(e, r), "throw" === r.method) || "return" !== n && (r.method = "throw", r.arg = new TypeError("The iterator does not provide a '" + n + "' method")), y; var i = tryCatch(o, e.iterator, r.arg); if ("throw" === i.type) return r.method = "throw", r.arg = i.arg, r.delegate = null, y; var a = i.arg; return a ? a.done ? (r[e.resultName] = a.value, r.next = e.nextLoc, "return" !== r.method && (r.method = "next", r.arg = t), r.delegate = null, y) : a : (r.method = "throw", r.arg = new TypeError("iterator result is not an object"), r.delegate = null, y); } function pushTryEntry(t) { var e = { tryLoc: t[0] }; 1 in t && (e.catchLoc = t[1]), 2 in t && (e.finallyLoc = t[2], e.afterLoc = t[3]), this.tryEntries.push(e); } function resetTryEntry(t) { var e = t.completion || {}; e.type = "normal", delete e.arg, t.completion = e; } function Context(t) { this.tryEntries = [{ tryLoc: "root" }], t.forEach(pushTryEntry, this), this.reset(!0); } function values(e) { if (e || "" === e) { var r = e[a]; if (r) return r.call(e); if ("function" == typeof e.next) return e; if (!isNaN(e.length)) { var o = -1, i = function next() { for (; ++o < e.length;) if (n.call(e, o)) return next.value = e[o], next.done = !1, next; return next.value = t, next.done = !0, next; }; return i.next = i; } } throw new TypeError(_typeof(e) + " is not iterable"); } return GeneratorFunction.prototype = GeneratorFunctionPrototype, o(g, "constructor", { value: GeneratorFunctionPrototype, configurable: !0 }), o(GeneratorFunctionPrototype, "constructor", { value: GeneratorFunction, configurable: !0 }), GeneratorFunction.displayName = define(GeneratorFunctionPrototype, u, "GeneratorFunction"), e.isGeneratorFunction = function (t) { var e = "function" == typeof t && t.constructor; return !!e && (e === GeneratorFunction || "GeneratorFunction" === (e.displayName || e.name)); }, e.mark = function (t) { return Object.setPrototypeOf ? Object.setPrototypeOf(t, GeneratorFunctionPrototype) : (t.__proto__ = GeneratorFunctionPrototype, define(t, u, "GeneratorFunction")), t.prototype = Object.create(g), t; }, e.awrap = function (t) { return { __await: t }; }, defineIteratorMethods(AsyncIterator.prototype), define(AsyncIterator.prototype, c, function () { return this; }), e.AsyncIterator = AsyncIterator, e.async = function (t, r, n, o, i) { void 0 === i && (i = Promise); var a = new AsyncIterator(wrap(t, r, n, o), i); return e.isGeneratorFunction(r) ? a : a.next().then(function (t) { return t.done ? t.value : a.next(); }); }, defineIteratorMethods(g), define(g, u, "Generator"), define(g, a, function () { return this; }), define(g, "toString", function () { return "[object Generator]"; }), e.keys = function (t) { var e = Object(t), r = []; for (var n in e) r.push(n); return r.reverse(), function next() { for (; r.length;) { var t = r.pop(); if (t in e) return next.value = t, next.done = !1, next; } return next.done = !0, next; }; }, e.values = values, Context.prototype = { constructor: Context, reset: function reset(e) { if (this.prev = 0, this.next = 0, this.sent = this._sent = t, this.done = !1, this.delegate = null, this.method = "next", this.arg = t, this.tryEntries.forEach(resetTryEntry), !e) for (var r in this) "t" === r.charAt(0) && n.call(this, r) && !isNaN(+r.slice(1)) && (this[r] = t); }, stop: function stop() { this.done = !0; var t = this.tryEntries[0].completion; if ("throw" === t.type) throw t.arg; return this.rval; }, dispatchException: function dispatchException(e) { if (this.done) throw e; var r = this; function handle(n, o) { return a.type = "throw", a.arg = e, r.next = n, o && (r.method = "next", r.arg = t), !!o; } for (var o = this.tryEntries.length - 1; o >= 0; --o) { var i = this.tryEntries[o], a = i.completion; if ("root" === i.tryLoc) return handle("end"); if (i.tryLoc <= this.prev) { var c = n.call(i, "catchLoc"), u = n.call(i, "finallyLoc"); if (c && u) { if (this.prev < i.catchLoc) return handle(i.catchLoc, !0); if (this.prev < i.finallyLoc) return handle(i.finallyLoc); } else if (c) { if (this.prev < i.catchLoc) return handle(i.catchLoc, !0); } else { if (!u) throw new Error("try statement without catch or finally"); if (this.prev < i.finallyLoc) return handle(i.finallyLoc); } } } }, abrupt: function abrupt(t, e) { for (var r = this.tryEntries.length - 1; r >= 0; --r) { var o = this.tryEntries[r]; if (o.tryLoc <= this.prev && n.call(o, "finallyLoc") && this.prev < o.finallyLoc) { var i = o; break; } } i && ("break" === t || "continue" === t) && i.tryLoc <= e && e <= i.finallyLoc && (i = null); var a = i ? i.completion : {}; return a.type = t, a.arg = e, i ? (this.method = "next", this.next = i.finallyLoc, y) : this.complete(a); }, complete: function complete(t, e) { if ("throw" === t.type) throw t.arg; return "break" === t.type || "continue" === t.type ? this.next = t.arg : "return" === t.type ? (this.rval = this.arg = t.arg, this.method = "return", this.next = "end") : "normal" === t.type && e && (this.next = e), y; }, finish: function finish(t) { for (var e = this.tryEntries.length - 1; e >= 0; --e) { var r = this.tryEntries[e]; if (r.finallyLoc === t) return this.complete(r.completion, r.afterLoc), resetTryEntry(r), y; } }, catch: function _catch(t) { for (var e = this.tryEntries.length - 1; e >= 0; --e) { var r = this.tryEntries[e]; if (r.tryLoc === t) { var n = r.completion; if ("throw" === n.type) { var o = n.arg; resetTryEntry(r); } return o; } } throw new Error("illegal catch attempt"); }, delegateYield: function delegateYield(e, r, n) { return this.delegate = { iterator: values(e), resultName: r, nextLoc: n }, "next" === this.method && (this.arg = t), y; } }, e; }
|
|
3
5
|
function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }
|
|
4
6
|
function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); } _next(undefined); }); }; }
|
|
@@ -16,8 +18,14 @@ function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key i
|
|
|
16
18
|
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : String(i); }
|
|
17
19
|
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); }
|
|
18
20
|
import { cloneDeep } from 'lodash-es';
|
|
21
|
+
import dayjs from 'dayjs';
|
|
22
|
+
import isSameOrBefore from 'dayjs/plugin/isSameOrBefore';
|
|
23
|
+
import isSameOrAfter from 'dayjs/plugin/isSameOrAfter';
|
|
19
24
|
import { BaseModule } from "../../../modules/BaseModule";
|
|
20
25
|
import { QuotationHooks } from "./types";
|
|
26
|
+
import { getDateIsInSchedule } from "../../../modules/Schedule/getDateIsInSchedule";
|
|
27
|
+
dayjs.extend(isSameOrBefore);
|
|
28
|
+
dayjs.extend(isSameOrAfter);
|
|
21
29
|
|
|
22
30
|
/**
|
|
23
31
|
* IndexDB 存储名称
|
|
@@ -30,8 +38,6 @@ var INDEXDB_STORE_NAME = 'quotation';
|
|
|
30
38
|
export var QuotationModule = /*#__PURE__*/function (_BaseModule) {
|
|
31
39
|
_inherits(QuotationModule, _BaseModule);
|
|
32
40
|
var _super = _createSuper(QuotationModule);
|
|
33
|
-
// IndexDBManager 实例
|
|
34
|
-
|
|
35
41
|
function QuotationModule(name, version) {
|
|
36
42
|
var _this;
|
|
37
43
|
_classCallCheck(this, QuotationModule);
|
|
@@ -41,6 +47,8 @@ export var QuotationModule = /*#__PURE__*/function (_BaseModule) {
|
|
|
41
47
|
_defineProperty(_assertThisInitialized(_this), "request", void 0);
|
|
42
48
|
_defineProperty(_assertThisInitialized(_this), "store", void 0);
|
|
43
49
|
_defineProperty(_assertThisInitialized(_this), "dbManager", void 0);
|
|
50
|
+
// IndexDBManager 实例
|
|
51
|
+
_defineProperty(_assertThisInitialized(_this), "scheduleResolver", void 0);
|
|
44
52
|
return _this;
|
|
45
53
|
}
|
|
46
54
|
_createClass(QuotationModule, [{
|
|
@@ -168,79 +176,283 @@ export var QuotationModule = /*#__PURE__*/function (_BaseModule) {
|
|
|
168
176
|
value: function getQuotationList() {
|
|
169
177
|
return this.store.quotationList;
|
|
170
178
|
}
|
|
179
|
+
}, {
|
|
180
|
+
key: "loadQuotations",
|
|
181
|
+
value: function () {
|
|
182
|
+
var _loadQuotations = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee4(params) {
|
|
183
|
+
var _data;
|
|
184
|
+
var query, res, list;
|
|
185
|
+
return _regeneratorRuntime().wrap(function _callee4$(_context4) {
|
|
186
|
+
while (1) switch (_context4.prev = _context4.next) {
|
|
187
|
+
case 0:
|
|
188
|
+
if (!(Array.isArray(this.store.quotationList) && this.store.quotationList.length > 0)) {
|
|
189
|
+
_context4.next = 3;
|
|
190
|
+
break;
|
|
191
|
+
}
|
|
192
|
+
this.store.quotationList.sort(function (a, b) {
|
|
193
|
+
var _ref, _a$sort, _ref2, _b$sort;
|
|
194
|
+
return Number((_ref = (_a$sort = a.sort) !== null && _a$sort !== void 0 ? _a$sort : a.priority) !== null && _ref !== void 0 ? _ref : 0) - Number((_ref2 = (_b$sort = b.sort) !== null && _b$sort !== void 0 ? _b$sort : b.priority) !== null && _ref2 !== void 0 ? _ref2 : 0);
|
|
195
|
+
});
|
|
196
|
+
return _context4.abrupt("return");
|
|
197
|
+
case 3:
|
|
198
|
+
query = {};
|
|
199
|
+
if (params !== null && params !== void 0 && params.channel) query.channel = params.channel;
|
|
200
|
+
if ((params === null || params === void 0 ? void 0 : params.channel) === 'online_store') query.channel = 'online-store';
|
|
201
|
+
_context4.next = 8;
|
|
202
|
+
return this.request.get('/quotation/available', query, {
|
|
203
|
+
useCache: false,
|
|
204
|
+
osServer: true
|
|
205
|
+
});
|
|
206
|
+
case 8:
|
|
207
|
+
res = _context4.sent;
|
|
208
|
+
list = (res === null || res === void 0 || (_data = res.data) === null || _data === void 0 ? void 0 : _data.list) || (res === null || res === void 0 ? void 0 : res.list) || [];
|
|
209
|
+
list.sort(function (a, b) {
|
|
210
|
+
var _ref3, _a$sort2, _ref4, _b$sort2;
|
|
211
|
+
return Number((_ref3 = (_a$sort2 = a.sort) !== null && _a$sort2 !== void 0 ? _a$sort2 : a.priority) !== null && _ref3 !== void 0 ? _ref3 : 0) - Number((_ref4 = (_b$sort2 = b.sort) !== null && _b$sort2 !== void 0 ? _b$sort2 : b.priority) !== null && _ref4 !== void 0 ? _ref4 : 0);
|
|
212
|
+
});
|
|
213
|
+
this.store.quotationList = list;
|
|
214
|
+
_context4.next = 14;
|
|
215
|
+
return this.core.effects.emit(QuotationHooks.onQuotationLoaded, this.store.quotationList);
|
|
216
|
+
case 14:
|
|
217
|
+
case "end":
|
|
218
|
+
return _context4.stop();
|
|
219
|
+
}
|
|
220
|
+
}, _callee4, this);
|
|
221
|
+
}));
|
|
222
|
+
function loadQuotations(_x4) {
|
|
223
|
+
return _loadQuotations.apply(this, arguments);
|
|
224
|
+
}
|
|
225
|
+
return loadQuotations;
|
|
226
|
+
}()
|
|
227
|
+
}, {
|
|
228
|
+
key: "setScheduleResolver",
|
|
229
|
+
value: function setScheduleResolver(resolver) {
|
|
230
|
+
this.scheduleResolver = resolver;
|
|
231
|
+
}
|
|
232
|
+
}, {
|
|
233
|
+
key: "getPriceForProduct",
|
|
234
|
+
value: function getPriceForProduct(params) {
|
|
235
|
+
var _this$getQuotationMat, _this$getQuotationMat2;
|
|
236
|
+
return (_this$getQuotationMat = (_this$getQuotationMat2 = this.getQuotationMatchForProduct(params)) === null || _this$getQuotationMat2 === void 0 ? void 0 : _this$getQuotationMat2.price) !== null && _this$getQuotationMat !== void 0 ? _this$getQuotationMat : null;
|
|
237
|
+
}
|
|
238
|
+
}, {
|
|
239
|
+
key: "getQuotationMatchForProduct",
|
|
240
|
+
value: function getQuotationMatchForProduct(params) {
|
|
241
|
+
var productId = params.productId,
|
|
242
|
+
variantId = params.variantId,
|
|
243
|
+
datetime = params.datetime,
|
|
244
|
+
channel = params.channel,
|
|
245
|
+
customer_id = params.customer_id;
|
|
246
|
+
for (var _i = 0, _arr = this.store.quotationList; _i < _arr.length; _i++) {
|
|
247
|
+
var _ref5, _match$value;
|
|
248
|
+
var quotation = _arr[_i];
|
|
249
|
+
if (!this.isQuotationVisibleForChannel(quotation, channel)) continue;
|
|
250
|
+
if (!this.isQuotationVisibleForCustomer(quotation, customer_id)) continue;
|
|
251
|
+
if (!this.isQuotationActiveAt(quotation, datetime)) continue;
|
|
252
|
+
var match = this.findProductData(quotation, productId, variantId);
|
|
253
|
+
if (!match) continue;
|
|
254
|
+
var value = (_ref5 = (_match$value = match.value) !== null && _match$value !== void 0 ? _match$value : match.final_price) !== null && _ref5 !== void 0 ? _ref5 : match.discount_value;
|
|
255
|
+
if (Number(value) === 0) continue;
|
|
256
|
+
if (value === undefined || value === null || value === '') continue;
|
|
257
|
+
return {
|
|
258
|
+
price: String(value),
|
|
259
|
+
quotationShelfId: Number(quotation.id) || 0
|
|
260
|
+
};
|
|
261
|
+
}
|
|
262
|
+
return null;
|
|
263
|
+
}
|
|
264
|
+
}, {
|
|
265
|
+
key: "getQuotationShelfId",
|
|
266
|
+
value: function getQuotationShelfId(params) {
|
|
267
|
+
var _this$getQuotationMat3, _this$getQuotationMat4;
|
|
268
|
+
return (_this$getQuotationMat3 = (_this$getQuotationMat4 = this.getQuotationMatchForProduct(params)) === null || _this$getQuotationMat4 === void 0 ? void 0 : _this$getQuotationMat4.quotationShelfId) !== null && _this$getQuotationMat3 !== void 0 ? _this$getQuotationMat3 : 0;
|
|
269
|
+
}
|
|
270
|
+
}, {
|
|
271
|
+
key: "getQuotationCustomerScopeInfo",
|
|
272
|
+
value: function getQuotationCustomerScopeInfo() {
|
|
273
|
+
var _this2 = this;
|
|
274
|
+
var customerById = new Map();
|
|
275
|
+
var quotationScopes = this.store.quotationList.filter(function (quotation) {
|
|
276
|
+
return Array.isArray(quotation === null || quotation === void 0 ? void 0 : quotation.customer) && quotation.customer.length > 0;
|
|
277
|
+
}).map(function (quotation) {
|
|
278
|
+
var customerIds = [];
|
|
279
|
+
var customers = [];
|
|
280
|
+
var localSeen = new Set();
|
|
281
|
+
(quotation.customer || []).forEach(function (customer) {
|
|
282
|
+
var customerId = _this2.normalizeCustomerId(customer === null || customer === void 0 ? void 0 : customer.id);
|
|
283
|
+
if (!customerId || localSeen.has(customerId)) return;
|
|
284
|
+
localSeen.add(customerId);
|
|
285
|
+
customerIds.push(customerId);
|
|
286
|
+
customers.push(customer);
|
|
287
|
+
if (!customerById.has(customerId)) customerById.set(customerId, customer);
|
|
288
|
+
});
|
|
289
|
+
return {
|
|
290
|
+
quotationId: Number(quotation.id),
|
|
291
|
+
quotationName: String(quotation.name || ''),
|
|
292
|
+
customerIds: customerIds,
|
|
293
|
+
customers: customers
|
|
294
|
+
};
|
|
295
|
+
});
|
|
296
|
+
var result = {
|
|
297
|
+
quotationCount: this.store.quotationList.length,
|
|
298
|
+
hasCustomerScopedQuotations: quotationScopes.length > 0,
|
|
299
|
+
allQuotationsCustomerScoped: this.store.quotationList.length > 0 && quotationScopes.length === this.store.quotationList.length,
|
|
300
|
+
customerIds: Array.from(customerById.keys()),
|
|
301
|
+
customers: Array.from(customerById.values()),
|
|
302
|
+
quotationScopes: quotationScopes
|
|
303
|
+
};
|
|
304
|
+
return result;
|
|
305
|
+
}
|
|
171
306
|
/**
|
|
172
307
|
* 清空缓存
|
|
173
308
|
*/
|
|
174
309
|
}, {
|
|
175
310
|
key: "clear",
|
|
176
311
|
value: (function () {
|
|
177
|
-
var _clear = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function
|
|
178
|
-
return _regeneratorRuntime().wrap(function
|
|
179
|
-
while (1) switch (
|
|
312
|
+
var _clear = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee5() {
|
|
313
|
+
return _regeneratorRuntime().wrap(function _callee5$(_context5) {
|
|
314
|
+
while (1) switch (_context5.prev = _context5.next) {
|
|
180
315
|
case 0:
|
|
181
316
|
this.store.quotationList = [];
|
|
182
317
|
|
|
183
318
|
// 同时清空 IndexDB 中的数据
|
|
184
319
|
if (!this.dbManager) {
|
|
185
|
-
|
|
320
|
+
_context5.next = 10;
|
|
186
321
|
break;
|
|
187
322
|
}
|
|
188
|
-
|
|
189
|
-
|
|
323
|
+
_context5.prev = 2;
|
|
324
|
+
_context5.next = 5;
|
|
190
325
|
return this.dbManager.clear(INDEXDB_STORE_NAME);
|
|
191
326
|
case 5:
|
|
192
|
-
|
|
327
|
+
_context5.next = 10;
|
|
193
328
|
break;
|
|
194
329
|
case 7:
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
console.error('[Quotation] 清空 IndexDB 缓存失败:',
|
|
330
|
+
_context5.prev = 7;
|
|
331
|
+
_context5.t0 = _context5["catch"](2);
|
|
332
|
+
console.error('[Quotation] 清空 IndexDB 缓存失败:', _context5.t0);
|
|
198
333
|
case 10:
|
|
199
334
|
case "end":
|
|
200
|
-
return
|
|
335
|
+
return _context5.stop();
|
|
201
336
|
}
|
|
202
|
-
},
|
|
337
|
+
}, _callee5, this, [[2, 7]]);
|
|
203
338
|
}));
|
|
204
339
|
function clear() {
|
|
205
340
|
return _clear.apply(this, arguments);
|
|
206
341
|
}
|
|
207
342
|
return clear;
|
|
208
|
-
}()
|
|
343
|
+
}())
|
|
344
|
+
}, {
|
|
345
|
+
key: "normalizeCustomerId",
|
|
346
|
+
value: function normalizeCustomerId(customerId) {
|
|
347
|
+
if (customerId === undefined || customerId === null || customerId === '') return null;
|
|
348
|
+
return String(customerId);
|
|
349
|
+
}
|
|
350
|
+
}, {
|
|
351
|
+
key: "hasValidCustomerId",
|
|
352
|
+
value: function hasValidCustomerId(customerId) {
|
|
353
|
+
if (customerId === undefined || customerId === null || customerId === '') return false;
|
|
354
|
+
return Number(customerId) > 0;
|
|
355
|
+
}
|
|
356
|
+
}, {
|
|
357
|
+
key: "isQuotationVisibleForCustomer",
|
|
358
|
+
value: function isQuotationVisibleForCustomer(quotation, customerId) {
|
|
359
|
+
var customers = quotation.customer || [];
|
|
360
|
+
if (!Array.isArray(customers) || customers.length === 0) return true;
|
|
361
|
+
if (!this.hasValidCustomerId(customerId)) return false;
|
|
362
|
+
return customers.some(function (customer) {
|
|
363
|
+
return String(customer.id) === String(customerId);
|
|
364
|
+
});
|
|
365
|
+
}
|
|
366
|
+
}, {
|
|
367
|
+
key: "isQuotationVisibleForChannel",
|
|
368
|
+
value: function isQuotationVisibleForChannel(quotation, channel) {
|
|
369
|
+
if (!channel) return true;
|
|
370
|
+
var normalizedChannel = channel === 'online_store' ? 'online-store' : channel;
|
|
371
|
+
var channels = quotation.channel;
|
|
372
|
+
if (!Array.isArray(channels) || channels.length === 0) return true;
|
|
373
|
+
return channels.some(function (item) {
|
|
374
|
+
return String(item) === normalizedChannel;
|
|
375
|
+
});
|
|
376
|
+
}
|
|
377
|
+
}, {
|
|
378
|
+
key: "isQuotationActiveAt",
|
|
379
|
+
value: function isQuotationActiveAt(quotation, datetime) {
|
|
380
|
+
var _this3 = this;
|
|
381
|
+
var quotationSchedules = Array.isArray(quotation.schedule) ? quotation.schedule : [];
|
|
382
|
+
var scheduleIds = Array.isArray(quotation.schedule_ids) ? quotation.schedule_ids : [];
|
|
383
|
+
if (!quotationSchedules.length && !scheduleIds.length) return false;
|
|
384
|
+
var scheduleItems = [];
|
|
385
|
+
quotationSchedules.forEach(function (schedule) {
|
|
386
|
+
var _this3$scheduleResolv;
|
|
387
|
+
var full = (_this3$scheduleResolv = _this3.scheduleResolver) === null || _this3$scheduleResolv === void 0 ? void 0 : _this3$scheduleResolv.call(_this3, schedule.id);
|
|
388
|
+
if (full) {
|
|
389
|
+
scheduleItems.push(full);
|
|
390
|
+
return;
|
|
391
|
+
}
|
|
392
|
+
if (_this3.scheduleResolver) return;
|
|
393
|
+
scheduleItems.push(_objectSpread(_objectSpread({}, schedule), {}, {
|
|
394
|
+
repeat_type: schedule.repeat_type || 'none',
|
|
395
|
+
repeat_rule: schedule.repeat_rule || null,
|
|
396
|
+
time_slot: schedule.time_slot || []
|
|
397
|
+
}));
|
|
398
|
+
});
|
|
399
|
+
scheduleIds.forEach(function (id) {
|
|
400
|
+
var _this3$scheduleResolv2;
|
|
401
|
+
var full = (_this3$scheduleResolv2 = _this3.scheduleResolver) === null || _this3$scheduleResolv2 === void 0 ? void 0 : _this3$scheduleResolv2.call(_this3, id);
|
|
402
|
+
if (full) scheduleItems.push(full);
|
|
403
|
+
});
|
|
404
|
+
if (!scheduleItems.length) return false;
|
|
405
|
+
return getDateIsInSchedule(datetime, scheduleItems);
|
|
406
|
+
}
|
|
407
|
+
}, {
|
|
408
|
+
key: "findProductData",
|
|
409
|
+
value: function findProductData(quotation, productId, variantId) {
|
|
410
|
+
var productData = Array.isArray(quotation.product_data) ? quotation.product_data : Array.isArray(quotation.product_prices) ? quotation.product_prices : [];
|
|
411
|
+
if (variantId && variantId !== 0) {
|
|
412
|
+
var variantMatch = productData.find(function (item) {
|
|
413
|
+
return Number(item.product_id) === productId && Number(item.variant_id || 0) === variantId;
|
|
414
|
+
});
|
|
415
|
+
if (variantMatch) return variantMatch;
|
|
416
|
+
}
|
|
417
|
+
return productData.find(function (item) {
|
|
418
|
+
return Number(item.product_id) === productId && Number(item.variant_id || 0) === 0;
|
|
419
|
+
});
|
|
420
|
+
}
|
|
421
|
+
|
|
209
422
|
/**
|
|
210
423
|
* 从 IndexDB 加载报价单数据
|
|
211
424
|
* @private
|
|
212
425
|
*/
|
|
213
|
-
)
|
|
214
426
|
}, {
|
|
215
427
|
key: "loadQuotationFromIndexDB",
|
|
216
428
|
value: (function () {
|
|
217
|
-
var _loadQuotationFromIndexDB = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function
|
|
429
|
+
var _loadQuotationFromIndexDB = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee6() {
|
|
218
430
|
var quotationList;
|
|
219
|
-
return _regeneratorRuntime().wrap(function
|
|
220
|
-
while (1) switch (
|
|
431
|
+
return _regeneratorRuntime().wrap(function _callee6$(_context6) {
|
|
432
|
+
while (1) switch (_context6.prev = _context6.next) {
|
|
221
433
|
case 0:
|
|
222
434
|
if (this.dbManager) {
|
|
223
|
-
|
|
435
|
+
_context6.next = 2;
|
|
224
436
|
break;
|
|
225
437
|
}
|
|
226
|
-
return
|
|
438
|
+
return _context6.abrupt("return", []);
|
|
227
439
|
case 2:
|
|
228
|
-
|
|
229
|
-
|
|
440
|
+
_context6.prev = 2;
|
|
441
|
+
_context6.next = 5;
|
|
230
442
|
return this.dbManager.getAll(INDEXDB_STORE_NAME);
|
|
231
443
|
case 5:
|
|
232
|
-
quotationList =
|
|
233
|
-
return
|
|
444
|
+
quotationList = _context6.sent;
|
|
445
|
+
return _context6.abrupt("return", quotationList || []);
|
|
234
446
|
case 9:
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
console.error('[Quotation] 从 IndexDB 读取数据失败:',
|
|
238
|
-
return
|
|
447
|
+
_context6.prev = 9;
|
|
448
|
+
_context6.t0 = _context6["catch"](2);
|
|
449
|
+
console.error('[Quotation] 从 IndexDB 读取数据失败:', _context6.t0);
|
|
450
|
+
return _context6.abrupt("return", []);
|
|
239
451
|
case 13:
|
|
240
452
|
case "end":
|
|
241
|
-
return
|
|
453
|
+
return _context6.stop();
|
|
242
454
|
}
|
|
243
|
-
},
|
|
455
|
+
}, _callee6, this, [[2, 9]]);
|
|
244
456
|
}));
|
|
245
457
|
function loadQuotationFromIndexDB() {
|
|
246
458
|
return _loadQuotationFromIndexDB.apply(this, arguments);
|
|
@@ -255,42 +467,42 @@ export var QuotationModule = /*#__PURE__*/function (_BaseModule) {
|
|
|
255
467
|
}, {
|
|
256
468
|
key: "saveQuotationToIndexDB",
|
|
257
469
|
value: (function () {
|
|
258
|
-
var _saveQuotationToIndexDB = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function
|
|
259
|
-
var
|
|
470
|
+
var _saveQuotationToIndexDB = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee7(quotationList) {
|
|
471
|
+
var _this4 = this;
|
|
260
472
|
var savePromises;
|
|
261
|
-
return _regeneratorRuntime().wrap(function
|
|
262
|
-
while (1) switch (
|
|
473
|
+
return _regeneratorRuntime().wrap(function _callee7$(_context7) {
|
|
474
|
+
while (1) switch (_context7.prev = _context7.next) {
|
|
263
475
|
case 0:
|
|
264
476
|
if (this.dbManager) {
|
|
265
|
-
|
|
477
|
+
_context7.next = 2;
|
|
266
478
|
break;
|
|
267
479
|
}
|
|
268
|
-
return
|
|
480
|
+
return _context7.abrupt("return");
|
|
269
481
|
case 2:
|
|
270
|
-
|
|
271
|
-
|
|
482
|
+
_context7.prev = 2;
|
|
483
|
+
_context7.next = 5;
|
|
272
484
|
return this.dbManager.clear(INDEXDB_STORE_NAME);
|
|
273
485
|
case 5:
|
|
274
486
|
// 逐个保存报价单(每个报价单是独立的记录)
|
|
275
487
|
savePromises = quotationList.map(function (quotation) {
|
|
276
|
-
return
|
|
488
|
+
return _this4.dbManager.add(INDEXDB_STORE_NAME, quotation);
|
|
277
489
|
});
|
|
278
|
-
|
|
490
|
+
_context7.next = 8;
|
|
279
491
|
return Promise.all(savePromises);
|
|
280
492
|
case 8:
|
|
281
|
-
|
|
493
|
+
_context7.next = 13;
|
|
282
494
|
break;
|
|
283
495
|
case 10:
|
|
284
|
-
|
|
285
|
-
|
|
286
|
-
console.error('[Quotation] 保存数据到 IndexDB 失败:',
|
|
496
|
+
_context7.prev = 10;
|
|
497
|
+
_context7.t0 = _context7["catch"](2);
|
|
498
|
+
console.error('[Quotation] 保存数据到 IndexDB 失败:', _context7.t0);
|
|
287
499
|
case 13:
|
|
288
500
|
case "end":
|
|
289
|
-
return
|
|
501
|
+
return _context7.stop();
|
|
290
502
|
}
|
|
291
|
-
},
|
|
503
|
+
}, _callee7, this, [[2, 10]]);
|
|
292
504
|
}));
|
|
293
|
-
function saveQuotationToIndexDB(
|
|
505
|
+
function saveQuotationToIndexDB(_x5) {
|
|
294
506
|
return _saveQuotationToIndexDB.apply(this, arguments);
|
|
295
507
|
}
|
|
296
508
|
return saveQuotationToIndexDB;
|
|
@@ -303,50 +515,50 @@ export var QuotationModule = /*#__PURE__*/function (_BaseModule) {
|
|
|
303
515
|
}, {
|
|
304
516
|
key: "preload",
|
|
305
517
|
value: (function () {
|
|
306
|
-
var _preload = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function
|
|
518
|
+
var _preload = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee8() {
|
|
307
519
|
var cachedData, quotationList;
|
|
308
|
-
return _regeneratorRuntime().wrap(function
|
|
309
|
-
while (1) switch (
|
|
520
|
+
return _regeneratorRuntime().wrap(function _callee8$(_context8) {
|
|
521
|
+
while (1) switch (_context8.prev = _context8.next) {
|
|
310
522
|
case 0:
|
|
311
|
-
|
|
312
|
-
|
|
523
|
+
_context8.prev = 0;
|
|
524
|
+
_context8.next = 3;
|
|
313
525
|
return this.loadQuotationFromIndexDB();
|
|
314
526
|
case 3:
|
|
315
|
-
cachedData =
|
|
527
|
+
cachedData = _context8.sent;
|
|
316
528
|
if (!(cachedData && cachedData.length > 0)) {
|
|
317
|
-
|
|
529
|
+
_context8.next = 8;
|
|
318
530
|
break;
|
|
319
531
|
}
|
|
320
532
|
// 将缓存数据放入 store
|
|
321
533
|
this.store.quotationList = cloneDeep(cachedData);
|
|
322
534
|
this.core.effects.emit(QuotationHooks.onQuotationChanged, this.store.quotationList);
|
|
323
|
-
return
|
|
535
|
+
return _context8.abrupt("return");
|
|
324
536
|
case 8:
|
|
325
|
-
|
|
537
|
+
_context8.next = 13;
|
|
326
538
|
break;
|
|
327
539
|
case 10:
|
|
328
|
-
|
|
329
|
-
|
|
330
|
-
console.warn('[Quotation] 从 IndexDB 加载数据失败:',
|
|
540
|
+
_context8.prev = 10;
|
|
541
|
+
_context8.t0 = _context8["catch"](0);
|
|
542
|
+
console.warn('[Quotation] 从 IndexDB 加载数据失败:', _context8.t0);
|
|
331
543
|
case 13:
|
|
332
|
-
|
|
544
|
+
_context8.next = 15;
|
|
333
545
|
return this.loadQuotationList();
|
|
334
546
|
case 15:
|
|
335
|
-
quotationList =
|
|
547
|
+
quotationList = _context8.sent;
|
|
336
548
|
if (!(quotationList && quotationList.length > 0)) {
|
|
337
|
-
|
|
549
|
+
_context8.next = 21;
|
|
338
550
|
break;
|
|
339
551
|
}
|
|
340
|
-
|
|
552
|
+
_context8.next = 19;
|
|
341
553
|
return this.saveQuotationToIndexDB(quotationList);
|
|
342
554
|
case 19:
|
|
343
555
|
this.store.quotationList = cloneDeep(quotationList);
|
|
344
556
|
this.core.effects.emit(QuotationHooks.onQuotationChanged, this.store.quotationList);
|
|
345
557
|
case 21:
|
|
346
558
|
case "end":
|
|
347
|
-
return
|
|
559
|
+
return _context8.stop();
|
|
348
560
|
}
|
|
349
|
-
},
|
|
561
|
+
}, _callee8, this, [[0, 10]]);
|
|
350
562
|
}));
|
|
351
563
|
function preload() {
|
|
352
564
|
return _preload.apply(this, arguments);
|