@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.
Files changed (455) hide show
  1. package/dist/effects/index.d.ts +2 -2
  2. package/dist/model/strategy/adapter/dataVariant/type.d.ts +3 -3
  3. package/dist/model/strategy/adapter/itemRule/type.d.ts +6 -6
  4. package/dist/model/strategy/adapter/promotion/evaluator.js +3 -2
  5. package/dist/model/strategy/adapter/promotion/type.d.ts +5 -5
  6. package/dist/model/strategy/adapter/walletPass/utils.js +7 -4
  7. package/dist/model/strategy/type.d.ts +1 -1
  8. package/dist/modules/BaseModule.d.ts +2 -2
  9. package/dist/modules/BaseModule.js +4 -4
  10. package/dist/modules/BookingContext/index.d.ts +48 -0
  11. package/dist/modules/BookingContext/index.js +566 -0
  12. package/dist/modules/BookingContext/types.d.ts +102 -0
  13. package/dist/modules/BookingContext/types.js +51 -0
  14. package/dist/modules/BookingContext/utils/buildCacheItemFromOrderLine.d.ts +16 -0
  15. package/dist/modules/BookingContext/utils/buildCacheItemFromOrderLine.js +302 -0
  16. package/dist/modules/BookingContext/utils/buildNormalProductCacheItemFromOrderLine.d.ts +8 -0
  17. package/dist/modules/BookingContext/utils/buildNormalProductCacheItemFromOrderLine.js +149 -0
  18. package/dist/modules/BookingContext/utils/cacheItemToBookingInput.d.ts +76 -0
  19. package/dist/modules/BookingContext/utils/cacheItemToBookingInput.js +249 -0
  20. package/dist/modules/BookingContext/utils/flexible.d.ts +28 -0
  21. package/dist/modules/BookingContext/utils/flexible.js +56 -0
  22. package/dist/modules/BookingContext/utils/formatResourceList.d.ts +8 -0
  23. package/dist/modules/BookingContext/utils/formatResourceList.js +38 -0
  24. package/dist/modules/BookingContext/utils/index.d.ts +11 -0
  25. package/dist/modules/BookingContext/utils/index.js +11 -0
  26. package/dist/modules/BookingContext/utils/noResource.d.ts +13 -0
  27. package/dist/modules/BookingContext/utils/noResource.js +77 -0
  28. package/dist/modules/BookingContext/utils/orderLineDisplay.d.ts +1 -0
  29. package/dist/modules/BookingContext/utils/orderLineDisplay.js +36 -0
  30. package/dist/modules/BookingContext/utils/productExtend.d.ts +72 -0
  31. package/dist/modules/BookingContext/utils/productExtend.js +339 -0
  32. package/dist/modules/BookingContext/utils/resourceErrors.d.ts +41 -0
  33. package/dist/modules/BookingContext/utils/resourceErrors.js +74 -0
  34. package/dist/modules/BookingContext/utils/resourceSelection.d.ts +7 -0
  35. package/dist/modules/BookingContext/utils/resourceSelection.js +24 -0
  36. package/dist/modules/BookingContext/utils/resources.d.ts +80 -0
  37. package/dist/modules/BookingContext/utils/resources.js +486 -0
  38. package/dist/modules/BookingContext/utils/serviceTimes.d.ts +55 -0
  39. package/dist/modules/BookingContext/utils/serviceTimes.js +151 -0
  40. package/dist/modules/BookingContext/utils/timeSlices.d.ts +42 -0
  41. package/dist/modules/BookingContext/utils/timeSlices.js +100 -0
  42. package/dist/modules/Cart/utils/cartProduct.js +26 -5
  43. package/dist/modules/Cart/utils/changePrice.js +27 -20
  44. package/dist/modules/Customer/index.d.ts +20 -0
  45. package/dist/modules/Customer/index.js +172 -83
  46. package/dist/modules/Customer/types.d.ts +3 -1
  47. package/dist/modules/Discount/index.d.ts +2 -1
  48. package/dist/modules/Discount/index.js +37 -9
  49. package/dist/modules/Discount/types.d.ts +2 -1
  50. package/dist/modules/Holder/types.d.ts +1 -1
  51. package/dist/modules/OpenData/index.d.ts +8 -0
  52. package/dist/modules/OpenData/index.js +36 -16
  53. package/dist/modules/OpenData/types.d.ts +1 -1
  54. package/dist/modules/Order/index.d.ts +448 -23
  55. package/dist/modules/Order/index.js +5417 -561
  56. package/dist/modules/Order/types.d.ts +693 -88
  57. package/dist/modules/Order/types.js +68 -1
  58. package/dist/modules/Order/utils/bundleDiscountHydration.d.ts +5 -0
  59. package/dist/modules/Order/utils/bundleDiscountHydration.js +144 -0
  60. package/dist/modules/Order/utils/manualProductDiscount.d.ts +106 -0
  61. package/dist/modules/Order/utils/manualProductDiscount.js +210 -0
  62. package/dist/modules/Order/utils/orderCollectionIdentity.d.ts +53 -0
  63. package/dist/modules/Order/utils/orderCollectionIdentity.js +405 -0
  64. package/dist/modules/Order/utils.d.ts +167 -18
  65. package/dist/modules/Order/utils.js +960 -165
  66. package/dist/modules/Payment/index.d.ts +10 -9
  67. package/dist/modules/Payment/index.js +465 -703
  68. package/dist/modules/Payment/types.d.ts +47 -23
  69. package/dist/modules/Payment/utils.d.ts +1 -1
  70. package/dist/modules/Payment/utils.js +4 -3
  71. package/dist/modules/Payment/walletpass.js +44 -29
  72. package/dist/modules/Product/index.d.ts +1 -1
  73. package/dist/modules/Product/types.d.ts +29 -7
  74. package/dist/modules/ProductList/index.d.ts +17 -13
  75. package/dist/modules/ProductList/index.js +184 -74
  76. package/dist/modules/ProductList/types.d.ts +17 -0
  77. package/dist/modules/Quotation/index.d.ts +22 -2
  78. package/dist/modules/Quotation/index.js +108 -42
  79. package/dist/modules/Quotation/types.d.ts +19 -0
  80. package/dist/modules/ResourcePlanner/index.d.ts +24 -0
  81. package/dist/modules/ResourcePlanner/index.js +181 -0
  82. package/dist/modules/ResourcePlanner/planner.d.ts +14 -0
  83. package/dist/modules/ResourcePlanner/planner.js +1069 -0
  84. package/dist/modules/ResourcePlanner/types.d.ts +227 -0
  85. package/dist/modules/ResourcePlanner/types.js +1 -0
  86. package/dist/modules/Rules/index.d.ts +8 -10
  87. package/dist/modules/Rules/index.js +222 -109
  88. package/dist/modules/Rules/types.d.ts +15 -4
  89. package/dist/modules/SalesSummary/index.d.ts +23 -26
  90. package/dist/modules/SalesSummary/index.js +152 -46
  91. package/dist/modules/SalesSummary/types.d.ts +9 -1
  92. package/dist/modules/SalesSummary/utils.d.ts +3 -22
  93. package/dist/modules/SalesSummary/utils.js +803 -163
  94. package/dist/modules/ScanOrderLogger/types.d.ts +2 -2
  95. package/dist/modules/Schedule/getDateIsInSchedule.d.ts +1 -1
  96. package/dist/modules/Schedule/getDateIsInSchedule.js +14 -7
  97. package/dist/modules/Schedule/index.d.ts +18 -5
  98. package/dist/modules/Schedule/index.js +78 -24
  99. package/dist/modules/Schedule/type.d.ts +7 -7
  100. package/dist/modules/Schedule/types.d.ts +11 -9
  101. package/dist/modules/Summary/index.js +4 -3
  102. package/dist/modules/SurchargeList/index.d.ts +18 -0
  103. package/dist/modules/SurchargeList/index.js +185 -0
  104. package/dist/modules/SurchargeList/types.d.ts +15 -0
  105. package/dist/modules/SurchargeList/types.js +1 -0
  106. package/dist/modules/index.d.ts +3 -0
  107. package/dist/modules/index.js +4 -1
  108. package/dist/plugins/app.d.ts +2 -0
  109. package/dist/plugins/request.d.ts +3 -2
  110. package/dist/server/index.d.ts +462 -8
  111. package/dist/server/index.js +6112 -656
  112. package/dist/server/modules/floor-plan/index.d.ts +39 -0
  113. package/dist/server/modules/floor-plan/index.js +595 -0
  114. package/dist/server/modules/floor-plan/types.d.ts +43 -0
  115. package/dist/server/modules/floor-plan/types.js +13 -0
  116. package/dist/server/modules/index.d.ts +7 -2
  117. package/dist/server/modules/index.js +6 -0
  118. package/dist/server/modules/menu/types.d.ts +1 -1
  119. package/dist/server/modules/order/index.d.ts +207 -14
  120. package/dist/server/modules/order/index.js +2326 -379
  121. package/dist/server/modules/order/types.d.ts +91 -20
  122. package/dist/server/modules/order/types.js +14 -1
  123. package/dist/server/modules/order/utils/filterBookings.d.ts +7 -1
  124. package/dist/server/modules/order/utils/filterBookings.js +118 -11
  125. package/dist/server/modules/order/utils/filterOrders.js +242 -14
  126. package/dist/server/modules/payment/index.d.ts +28 -0
  127. package/dist/server/modules/payment/index.js +305 -0
  128. package/dist/server/modules/payment/types.d.ts +9 -0
  129. package/dist/server/modules/payment/types.js +1 -0
  130. package/dist/server/modules/products/index.d.ts +105 -14
  131. package/dist/server/modules/products/index.js +1393 -516
  132. package/dist/server/modules/products/types.d.ts +35 -2
  133. package/dist/server/modules/products/types.js +4 -0
  134. package/dist/server/modules/quotation/index.d.ts +39 -0
  135. package/dist/server/modules/quotation/index.js +278 -66
  136. package/dist/server/modules/resource/index.d.ts +2 -3
  137. package/dist/server/modules/resource/index.js +108 -86
  138. package/dist/server/modules/resource/types.d.ts +1 -1
  139. package/dist/server/modules/schedule/index.d.ts +6 -4
  140. package/dist/server/modules/schedule/index.js +116 -85
  141. package/dist/server/modules/schedule/utils.d.ts +1 -1
  142. package/dist/server/test.json +713 -0
  143. package/dist/server/types.d.ts +6 -4
  144. package/dist/server/utils/product.js +2 -2
  145. package/dist/server/utils/small-ticket.d.ts +71 -0
  146. package/dist/server/utils/small-ticket.js +963 -0
  147. package/dist/solution/BaseSales/index.d.ts +378 -0
  148. package/dist/solution/BaseSales/index.js +4006 -0
  149. package/dist/solution/BaseSales/types.d.ts +394 -0
  150. package/dist/solution/BaseSales/types.js +40 -0
  151. package/dist/solution/BaseSales/utils/cartPromotion.d.ts +287 -0
  152. package/dist/solution/BaseSales/utils/cartPromotion.js +1450 -0
  153. package/dist/solution/BaseSales/utils/parseSalesResponse.d.ts +144 -0
  154. package/dist/solution/BaseSales/utils/parseSalesResponse.js +157 -0
  155. package/dist/solution/BaseSales/utils/quotationPrice.d.ts +18 -0
  156. package/dist/solution/BaseSales/utils/quotationPrice.js +250 -0
  157. package/dist/solution/BaseSales/utils/transformBaseProductToOrderProduct.d.ts +63 -0
  158. package/dist/solution/BaseSales/utils/transformBaseProductToOrderProduct.js +218 -0
  159. package/dist/solution/BaseSales/utils.d.ts +40 -0
  160. package/dist/solution/BaseSales/utils.js +263 -0
  161. package/dist/solution/BookingByStep/index.d.ts +2 -2
  162. package/dist/solution/BookingByStep/utils/resources.d.ts +1 -1
  163. package/dist/solution/BookingTicket/index.d.ts +382 -25
  164. package/dist/solution/BookingTicket/index.js +2506 -443
  165. package/dist/solution/BookingTicket/types.d.ts +191 -6
  166. package/dist/solution/BookingTicket/types.js +83 -10
  167. package/dist/solution/BookingTicket/utils/addProductDecision.d.ts +117 -0
  168. package/dist/solution/BookingTicket/utils/addProductDecision.js +346 -0
  169. package/dist/solution/BookingTicket/utils/addTimeAvailability.d.ts +35 -0
  170. package/dist/solution/BookingTicket/utils/addTimeAvailability.js +95 -0
  171. package/dist/solution/BookingTicket/utils/bookingStatus.d.ts +77 -0
  172. package/dist/solution/BookingTicket/utils/bookingStatus.js +136 -0
  173. package/dist/solution/BookingTicket/utils/cartView.d.ts +29 -0
  174. package/dist/solution/BookingTicket/utils/cartView.js +209 -0
  175. package/dist/solution/BookingTicket/utils/exampleData.d.ts +123 -0
  176. package/dist/solution/BookingTicket/utils/exampleData.js +183 -0
  177. package/dist/solution/BookingTicket/utils/orderCustomer.d.ts +4 -0
  178. package/dist/solution/BookingTicket/utils/orderCustomer.js +31 -0
  179. package/dist/solution/BookingTicket/utils/resolveBestAddTimePlan.d.ts +185 -0
  180. package/dist/solution/BookingTicket/utils/resolveBestAddTimePlan.js +438 -0
  181. package/dist/solution/BookingTicket/utils/scan/applyGlobalScan.d.ts +36 -0
  182. package/dist/solution/BookingTicket/utils/scan/applyGlobalScan.js +400 -0
  183. package/dist/solution/BookingTicket/utils/scan/cloudSearch.d.ts +4 -0
  184. package/dist/solution/BookingTicket/utils/scan/cloudSearch.js +41 -1
  185. package/dist/solution/BookingTicket/utils/scan/formatGlobalScan.d.ts +32 -0
  186. package/dist/solution/BookingTicket/utils/scan/formatGlobalScan.js +56 -0
  187. package/dist/solution/BookingTicket/utils/scan/handleScan.d.ts +3 -1
  188. package/dist/solution/BookingTicket/utils/scan/handleScan.js +11 -3
  189. package/dist/solution/BookingTicket/utils/scan/index.d.ts +5 -0
  190. package/dist/solution/BookingTicket/utils/scan/index.js +20 -8
  191. package/dist/solution/BookingTicket/utils/scan/scanProductValues.d.ts +21 -0
  192. package/dist/solution/BookingTicket/utils/scan/scanProductValues.js +150 -0
  193. package/dist/solution/BookingTicket/utils/sessionCatalogStale.d.ts +23 -0
  194. package/dist/solution/BookingTicket/utils/sessionCatalogStale.js +78 -0
  195. package/dist/solution/Checkout/index.d.ts +1 -0
  196. package/dist/solution/Checkout/index.js +25 -34
  197. package/dist/solution/Checkout/utils/index.js +4 -4
  198. package/dist/solution/RegisterAndLogin/config.js +2 -10
  199. package/dist/solution/Sales/index.d.ts +50 -5
  200. package/dist/solution/Sales/index.js +484 -92
  201. package/dist/solution/Sales/types.d.ts +29 -5
  202. package/dist/solution/ScanOrder/index.d.ts +27 -21
  203. package/dist/solution/ScanOrder/index.js +499 -434
  204. package/dist/solution/ScanOrder/types.d.ts +38 -16
  205. package/dist/solution/ScanOrder/types.js +4 -5
  206. package/dist/solution/ScanOrder/utils.d.ts +4 -1
  207. package/dist/solution/ScanOrder/utils.js +109 -34
  208. package/dist/solution/ShopDiscount/index.js +4 -4
  209. package/dist/solution/ShopDiscount/types.d.ts +1 -1
  210. package/dist/solution/ShopDiscount/utils.d.ts +2 -2
  211. package/dist/solution/UnifiedBookingSales/index.d.ts +183 -0
  212. package/dist/solution/UnifiedBookingSales/index.js +1871 -0
  213. package/dist/solution/UnifiedBookingSales/types.d.ts +143 -0
  214. package/dist/solution/UnifiedBookingSales/types.js +11 -0
  215. package/dist/solution/VenueBooking/index.d.ts +29 -20
  216. package/dist/solution/VenueBooking/index.js +301 -213
  217. package/dist/solution/VenueBooking/sales-section-4-annotated.json +0 -2
  218. package/dist/solution/VenueBooking/types.d.ts +1 -1
  219. package/dist/solution/VenueBooking/utils/slotMerge.d.ts +6 -0
  220. package/dist/solution/VenueBooking/utils/slotMerge.js +9 -3
  221. package/dist/solution/index.d.ts +2 -0
  222. package/dist/solution/index.js +3 -1
  223. package/dist/types/index.d.ts +12 -2
  224. package/dist/utils/task.d.ts +2 -2
  225. package/dist/utils/watch.d.ts +2 -2
  226. package/lib/effects/index.d.ts +2 -2
  227. package/lib/model/strategy/adapter/dataVariant/type.d.ts +3 -3
  228. package/lib/model/strategy/adapter/itemRule/type.d.ts +6 -6
  229. package/lib/model/strategy/adapter/promotion/evaluator.js +3 -2
  230. package/lib/model/strategy/adapter/promotion/type.d.ts +5 -5
  231. package/lib/model/strategy/adapter/walletPass/utils.js +6 -4
  232. package/lib/model/strategy/type.d.ts +1 -1
  233. package/lib/modules/BaseModule.d.ts +2 -2
  234. package/lib/modules/BaseModule.js +4 -4
  235. package/lib/modules/BookingContext/index.d.ts +48 -0
  236. package/lib/modules/BookingContext/index.js +390 -0
  237. package/lib/modules/BookingContext/types.d.ts +102 -0
  238. package/lib/modules/BookingContext/types.js +48 -0
  239. package/lib/modules/BookingContext/utils/buildCacheItemFromOrderLine.d.ts +16 -0
  240. package/lib/modules/BookingContext/utils/buildCacheItemFromOrderLine.js +286 -0
  241. package/lib/modules/BookingContext/utils/buildNormalProductCacheItemFromOrderLine.d.ts +8 -0
  242. package/lib/modules/BookingContext/utils/buildNormalProductCacheItemFromOrderLine.js +148 -0
  243. package/lib/modules/BookingContext/utils/cacheItemToBookingInput.d.ts +76 -0
  244. package/lib/modules/BookingContext/utils/cacheItemToBookingInput.js +242 -0
  245. package/lib/modules/BookingContext/utils/flexible.d.ts +28 -0
  246. package/lib/modules/BookingContext/utils/flexible.js +63 -0
  247. package/lib/modules/BookingContext/utils/formatResourceList.d.ts +8 -0
  248. package/lib/modules/BookingContext/utils/formatResourceList.js +35 -0
  249. package/lib/modules/BookingContext/utils/index.d.ts +11 -0
  250. package/lib/modules/BookingContext/utils/index.js +126 -0
  251. package/lib/modules/BookingContext/utils/noResource.d.ts +13 -0
  252. package/lib/modules/BookingContext/utils/noResource.js +78 -0
  253. package/lib/modules/BookingContext/utils/orderLineDisplay.d.ts +1 -0
  254. package/lib/modules/BookingContext/utils/orderLineDisplay.js +29 -0
  255. package/lib/modules/BookingContext/utils/productExtend.d.ts +72 -0
  256. package/lib/modules/BookingContext/utils/productExtend.js +330 -0
  257. package/lib/modules/BookingContext/utils/resourceErrors.d.ts +41 -0
  258. package/lib/modules/BookingContext/utils/resourceErrors.js +80 -0
  259. package/lib/modules/BookingContext/utils/resourceSelection.d.ts +7 -0
  260. package/lib/modules/BookingContext/utils/resourceSelection.js +24 -0
  261. package/lib/modules/BookingContext/utils/resources.d.ts +80 -0
  262. package/lib/modules/BookingContext/utils/resources.js +419 -0
  263. package/lib/modules/BookingContext/utils/serviceTimes.d.ts +55 -0
  264. package/lib/modules/BookingContext/utils/serviceTimes.js +161 -0
  265. package/lib/modules/BookingContext/utils/timeSlices.d.ts +42 -0
  266. package/lib/modules/BookingContext/utils/timeSlices.js +114 -0
  267. package/lib/modules/Cart/utils/cartProduct.js +27 -5
  268. package/lib/modules/Cart/utils/changePrice.js +20 -14
  269. package/lib/modules/Customer/index.d.ts +20 -0
  270. package/lib/modules/Customer/index.js +63 -10
  271. package/lib/modules/Customer/types.d.ts +3 -1
  272. package/lib/modules/Discount/index.d.ts +2 -1
  273. package/lib/modules/Discount/index.js +18 -2
  274. package/lib/modules/Discount/types.d.ts +2 -1
  275. package/lib/modules/Holder/types.d.ts +1 -1
  276. package/lib/modules/OpenData/index.d.ts +8 -0
  277. package/lib/modules/OpenData/index.js +21 -3
  278. package/lib/modules/OpenData/types.d.ts +1 -1
  279. package/lib/modules/Order/index.d.ts +448 -23
  280. package/lib/modules/Order/index.js +3641 -308
  281. package/lib/modules/Order/types.d.ts +693 -88
  282. package/lib/modules/Order/types.js +55 -1
  283. package/lib/modules/Order/utils/bundleDiscountHydration.d.ts +5 -0
  284. package/lib/modules/Order/utils/bundleDiscountHydration.js +106 -0
  285. package/lib/modules/Order/utils/manualProductDiscount.d.ts +106 -0
  286. package/lib/modules/Order/utils/manualProductDiscount.js +207 -0
  287. package/lib/modules/Order/utils/orderCollectionIdentity.d.ts +53 -0
  288. package/lib/modules/Order/utils/orderCollectionIdentity.js +353 -0
  289. package/lib/modules/Order/utils.d.ts +167 -18
  290. package/lib/modules/Order/utils.js +974 -138
  291. package/lib/modules/Payment/index.d.ts +10 -9
  292. package/lib/modules/Payment/index.js +30 -124
  293. package/lib/modules/Payment/types.d.ts +47 -23
  294. package/lib/modules/Payment/utils.d.ts +1 -1
  295. package/lib/modules/Payment/utils.js +4 -3
  296. package/lib/modules/Payment/walletpass.js +16 -6
  297. package/lib/modules/Product/index.d.ts +1 -1
  298. package/lib/modules/Product/types.d.ts +29 -7
  299. package/lib/modules/ProductList/index.d.ts +17 -13
  300. package/lib/modules/ProductList/index.js +92 -51
  301. package/lib/modules/ProductList/types.d.ts +17 -0
  302. package/lib/modules/Quotation/index.d.ts +22 -2
  303. package/lib/modules/Quotation/index.js +76 -20
  304. package/lib/modules/Quotation/types.d.ts +19 -0
  305. package/lib/modules/ResourcePlanner/index.d.ts +24 -0
  306. package/lib/modules/ResourcePlanner/index.js +147 -0
  307. package/lib/modules/ResourcePlanner/planner.d.ts +14 -0
  308. package/lib/modules/ResourcePlanner/planner.js +895 -0
  309. package/lib/modules/ResourcePlanner/types.d.ts +227 -0
  310. package/lib/modules/ResourcePlanner/types.js +5 -0
  311. package/lib/modules/Rules/index.d.ts +8 -10
  312. package/lib/modules/Rules/index.js +153 -61
  313. package/lib/modules/Rules/types.d.ts +15 -4
  314. package/lib/modules/SalesSummary/index.d.ts +23 -26
  315. package/lib/modules/SalesSummary/index.js +84 -16
  316. package/lib/modules/SalesSummary/types.d.ts +9 -1
  317. package/lib/modules/SalesSummary/utils.d.ts +3 -22
  318. package/lib/modules/SalesSummary/utils.js +616 -111
  319. package/lib/modules/ScanOrderLogger/types.d.ts +2 -2
  320. package/lib/modules/Schedule/getDateIsInSchedule.d.ts +1 -1
  321. package/lib/modules/Schedule/getDateIsInSchedule.js +14 -7
  322. package/lib/modules/Schedule/index.d.ts +18 -5
  323. package/lib/modules/Schedule/index.js +49 -14
  324. package/lib/modules/Schedule/type.d.ts +7 -7
  325. package/lib/modules/Schedule/types.d.ts +11 -9
  326. package/lib/modules/Summary/index.js +2 -2
  327. package/lib/modules/SurchargeList/index.d.ts +18 -0
  328. package/lib/modules/SurchargeList/index.js +95 -0
  329. package/lib/modules/SurchargeList/types.d.ts +15 -0
  330. package/lib/modules/SurchargeList/types.js +5 -0
  331. package/lib/modules/index.d.ts +3 -0
  332. package/lib/modules/index.js +33 -0
  333. package/lib/plugins/app.d.ts +2 -0
  334. package/lib/plugins/request.d.ts +3 -2
  335. package/lib/server/index.d.ts +462 -8
  336. package/lib/server/index.js +3901 -205
  337. package/lib/server/modules/floor-plan/index.d.ts +39 -0
  338. package/lib/server/modules/floor-plan/index.js +306 -0
  339. package/lib/server/modules/floor-plan/types.d.ts +43 -0
  340. package/lib/server/modules/floor-plan/types.js +19 -0
  341. package/lib/server/modules/index.d.ts +7 -2
  342. package/lib/server/modules/index.js +21 -0
  343. package/lib/server/modules/menu/types.d.ts +1 -1
  344. package/lib/server/modules/order/index.d.ts +207 -14
  345. package/lib/server/modules/order/index.js +1324 -141
  346. package/lib/server/modules/order/types.d.ts +91 -20
  347. package/lib/server/modules/order/types.js +11 -1
  348. package/lib/server/modules/order/utils/filterBookings.d.ts +7 -1
  349. package/lib/server/modules/order/utils/filterBookings.js +119 -11
  350. package/lib/server/modules/order/utils/filterOrders.js +238 -13
  351. package/lib/server/modules/payment/index.d.ts +28 -0
  352. package/lib/server/modules/payment/index.js +168 -0
  353. package/lib/server/modules/payment/types.d.ts +9 -0
  354. package/lib/server/modules/payment/types.js +5 -0
  355. package/lib/server/modules/products/index.d.ts +105 -14
  356. package/lib/server/modules/products/index.js +588 -97
  357. package/lib/server/modules/products/types.d.ts +35 -2
  358. package/lib/server/modules/products/types.js +3 -0
  359. package/lib/server/modules/quotation/index.d.ts +39 -0
  360. package/lib/server/modules/quotation/index.js +145 -1
  361. package/lib/server/modules/resource/index.d.ts +2 -3
  362. package/lib/server/modules/resource/index.js +71 -45
  363. package/lib/server/modules/resource/types.d.ts +1 -1
  364. package/lib/server/modules/schedule/index.d.ts +6 -4
  365. package/lib/server/modules/schedule/index.js +55 -44
  366. package/lib/server/modules/schedule/utils.d.ts +1 -1
  367. package/lib/server/test.json +713 -0
  368. package/lib/server/types.d.ts +6 -4
  369. package/lib/server/utils/product.js +2 -2
  370. package/lib/server/utils/small-ticket.d.ts +71 -0
  371. package/lib/server/utils/small-ticket.js +926 -0
  372. package/lib/solution/BaseSales/index.d.ts +378 -0
  373. package/lib/solution/BaseSales/index.js +2367 -0
  374. package/lib/solution/BaseSales/types.d.ts +394 -0
  375. package/lib/solution/BaseSales/types.js +47 -0
  376. package/lib/solution/BaseSales/utils/cartPromotion.d.ts +287 -0
  377. package/lib/solution/BaseSales/utils/cartPromotion.js +1155 -0
  378. package/lib/solution/BaseSales/utils/parseSalesResponse.d.ts +144 -0
  379. package/lib/solution/BaseSales/utils/parseSalesResponse.js +140 -0
  380. package/lib/solution/BaseSales/utils/quotationPrice.d.ts +18 -0
  381. package/lib/solution/BaseSales/utils/quotationPrice.js +231 -0
  382. package/lib/solution/BaseSales/utils/transformBaseProductToOrderProduct.d.ts +63 -0
  383. package/lib/solution/BaseSales/utils/transformBaseProductToOrderProduct.js +215 -0
  384. package/lib/solution/BaseSales/utils.d.ts +40 -0
  385. package/lib/solution/BaseSales/utils.js +259 -0
  386. package/lib/solution/BookingByStep/index.d.ts +2 -2
  387. package/lib/solution/BookingByStep/utils/resources.d.ts +1 -1
  388. package/lib/solution/BookingTicket/index.d.ts +382 -25
  389. package/lib/solution/BookingTicket/index.js +1350 -76
  390. package/lib/solution/BookingTicket/types.d.ts +191 -6
  391. package/lib/solution/BookingTicket/types.js +71 -10
  392. package/lib/solution/BookingTicket/utils/addProductDecision.d.ts +117 -0
  393. package/lib/solution/BookingTicket/utils/addProductDecision.js +353 -0
  394. package/lib/solution/BookingTicket/utils/addTimeAvailability.d.ts +35 -0
  395. package/lib/solution/BookingTicket/utils/addTimeAvailability.js +94 -0
  396. package/lib/solution/BookingTicket/utils/bookingStatus.d.ts +77 -0
  397. package/lib/solution/BookingTicket/utils/bookingStatus.js +136 -0
  398. package/lib/solution/BookingTicket/utils/cartView.d.ts +29 -0
  399. package/lib/solution/BookingTicket/utils/cartView.js +200 -0
  400. package/lib/solution/BookingTicket/utils/exampleData.d.ts +123 -0
  401. package/lib/solution/BookingTicket/utils/exampleData.js +185 -0
  402. package/lib/solution/BookingTicket/utils/orderCustomer.d.ts +4 -0
  403. package/lib/solution/BookingTicket/utils/orderCustomer.js +35 -0
  404. package/lib/solution/BookingTicket/utils/resolveBestAddTimePlan.d.ts +185 -0
  405. package/lib/solution/BookingTicket/utils/resolveBestAddTimePlan.js +387 -0
  406. package/lib/solution/BookingTicket/utils/scan/applyGlobalScan.d.ts +36 -0
  407. package/lib/solution/BookingTicket/utils/scan/applyGlobalScan.js +220 -0
  408. package/lib/solution/BookingTicket/utils/scan/cloudSearch.d.ts +4 -0
  409. package/lib/solution/BookingTicket/utils/scan/cloudSearch.js +24 -3
  410. package/lib/solution/BookingTicket/utils/scan/formatGlobalScan.d.ts +32 -0
  411. package/lib/solution/BookingTicket/utils/scan/formatGlobalScan.js +64 -0
  412. package/lib/solution/BookingTicket/utils/scan/handleScan.d.ts +3 -1
  413. package/lib/solution/BookingTicket/utils/scan/handleScan.js +4 -2
  414. package/lib/solution/BookingTicket/utils/scan/index.d.ts +5 -0
  415. package/lib/solution/BookingTicket/utils/scan/index.js +14 -2
  416. package/lib/solution/BookingTicket/utils/scan/scanProductValues.d.ts +21 -0
  417. package/lib/solution/BookingTicket/utils/scan/scanProductValues.js +115 -0
  418. package/lib/solution/BookingTicket/utils/sessionCatalogStale.d.ts +23 -0
  419. package/lib/solution/BookingTicket/utils/sessionCatalogStale.js +83 -0
  420. package/lib/solution/Checkout/index.d.ts +1 -0
  421. package/lib/solution/Checkout/index.js +18 -19
  422. package/lib/solution/Checkout/utils/index.js +4 -4
  423. package/lib/solution/RegisterAndLogin/config.js +2 -10
  424. package/lib/solution/Sales/index.d.ts +50 -5
  425. package/lib/solution/Sales/index.js +296 -39
  426. package/lib/solution/Sales/types.d.ts +29 -5
  427. package/lib/solution/ScanOrder/index.d.ts +27 -21
  428. package/lib/solution/ScanOrder/index.js +144 -103
  429. package/lib/solution/ScanOrder/types.d.ts +38 -16
  430. package/lib/solution/ScanOrder/types.js +4 -5
  431. package/lib/solution/ScanOrder/utils.d.ts +4 -1
  432. package/lib/solution/ScanOrder/utils.js +98 -26
  433. package/lib/solution/ShopDiscount/index.js +3 -3
  434. package/lib/solution/ShopDiscount/types.d.ts +1 -1
  435. package/lib/solution/ShopDiscount/utils.d.ts +2 -2
  436. package/lib/solution/UnifiedBookingSales/index.d.ts +183 -0
  437. package/lib/solution/UnifiedBookingSales/index.js +1050 -0
  438. package/lib/solution/UnifiedBookingSales/types.d.ts +143 -0
  439. package/lib/solution/UnifiedBookingSales/types.js +14 -0
  440. package/lib/solution/VenueBooking/index.d.ts +29 -20
  441. package/lib/solution/VenueBooking/index.js +169 -94
  442. package/lib/solution/VenueBooking/sales-section-4-annotated.json +0 -2
  443. package/lib/solution/VenueBooking/types.d.ts +1 -1
  444. package/lib/solution/VenueBooking/utils/slotMerge.d.ts +6 -0
  445. package/lib/solution/VenueBooking/utils/slotMerge.js +9 -3
  446. package/lib/solution/index.d.ts +2 -0
  447. package/lib/solution/index.js +22 -0
  448. package/lib/types/index.d.ts +12 -2
  449. package/lib/utils/task.d.ts +2 -2
  450. package/lib/utils/watch.d.ts +2 -2
  451. package/package.json +18 -19
  452. package/dist/model/strategy/adapter/promotion/index.d.ts +0 -4
  453. package/dist/solution/Checkout/appointmentDemo.json +0 -1
  454. package/lib/model/strategy/adapter/promotion/index.d.ts +0 -4
  455. 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
- customer_id?: number;
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[]>;
@@ -6,6 +6,10 @@
6
6
  * 商品格式化后数据
7
7
  */
8
8
 
9
+ /**
10
+ * 商品轻量查询范围
11
+ */
12
+
9
13
  /**
10
14
  * 加载报价单商品价格参数
11
15
  */
@@ -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 _callee4() {
178
- return _regeneratorRuntime().wrap(function _callee4$(_context4) {
179
- while (1) switch (_context4.prev = _context4.next) {
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
- _context4.next = 10;
320
+ _context5.next = 10;
186
321
  break;
187
322
  }
188
- _context4.prev = 2;
189
- _context4.next = 5;
323
+ _context5.prev = 2;
324
+ _context5.next = 5;
190
325
  return this.dbManager.clear(INDEXDB_STORE_NAME);
191
326
  case 5:
192
- _context4.next = 10;
327
+ _context5.next = 10;
193
328
  break;
194
329
  case 7:
195
- _context4.prev = 7;
196
- _context4.t0 = _context4["catch"](2);
197
- console.error('[Quotation] 清空 IndexDB 缓存失败:', _context4.t0);
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 _context4.stop();
335
+ return _context5.stop();
201
336
  }
202
- }, _callee4, this, [[2, 7]]);
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 _callee5() {
429
+ var _loadQuotationFromIndexDB = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee6() {
218
430
  var quotationList;
219
- return _regeneratorRuntime().wrap(function _callee5$(_context5) {
220
- while (1) switch (_context5.prev = _context5.next) {
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
- _context5.next = 2;
435
+ _context6.next = 2;
224
436
  break;
225
437
  }
226
- return _context5.abrupt("return", []);
438
+ return _context6.abrupt("return", []);
227
439
  case 2:
228
- _context5.prev = 2;
229
- _context5.next = 5;
440
+ _context6.prev = 2;
441
+ _context6.next = 5;
230
442
  return this.dbManager.getAll(INDEXDB_STORE_NAME);
231
443
  case 5:
232
- quotationList = _context5.sent;
233
- return _context5.abrupt("return", quotationList || []);
444
+ quotationList = _context6.sent;
445
+ return _context6.abrupt("return", quotationList || []);
234
446
  case 9:
235
- _context5.prev = 9;
236
- _context5.t0 = _context5["catch"](2);
237
- console.error('[Quotation] 从 IndexDB 读取数据失败:', _context5.t0);
238
- return _context5.abrupt("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 _context5.stop();
453
+ return _context6.stop();
242
454
  }
243
- }, _callee5, this, [[2, 9]]);
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 _callee6(quotationList) {
259
- var _this2 = this;
470
+ var _saveQuotationToIndexDB = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee7(quotationList) {
471
+ var _this4 = this;
260
472
  var savePromises;
261
- return _regeneratorRuntime().wrap(function _callee6$(_context6) {
262
- while (1) switch (_context6.prev = _context6.next) {
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
- _context6.next = 2;
477
+ _context7.next = 2;
266
478
  break;
267
479
  }
268
- return _context6.abrupt("return");
480
+ return _context7.abrupt("return");
269
481
  case 2:
270
- _context6.prev = 2;
271
- _context6.next = 5;
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 _this2.dbManager.add(INDEXDB_STORE_NAME, quotation);
488
+ return _this4.dbManager.add(INDEXDB_STORE_NAME, quotation);
277
489
  });
278
- _context6.next = 8;
490
+ _context7.next = 8;
279
491
  return Promise.all(savePromises);
280
492
  case 8:
281
- _context6.next = 13;
493
+ _context7.next = 13;
282
494
  break;
283
495
  case 10:
284
- _context6.prev = 10;
285
- _context6.t0 = _context6["catch"](2);
286
- console.error('[Quotation] 保存数据到 IndexDB 失败:', _context6.t0);
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 _context6.stop();
501
+ return _context7.stop();
290
502
  }
291
- }, _callee6, this, [[2, 10]]);
503
+ }, _callee7, this, [[2, 10]]);
292
504
  }));
293
- function saveQuotationToIndexDB(_x4) {
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 _callee7() {
518
+ var _preload = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee8() {
307
519
  var cachedData, quotationList;
308
- return _regeneratorRuntime().wrap(function _callee7$(_context7) {
309
- while (1) switch (_context7.prev = _context7.next) {
520
+ return _regeneratorRuntime().wrap(function _callee8$(_context8) {
521
+ while (1) switch (_context8.prev = _context8.next) {
310
522
  case 0:
311
- _context7.prev = 0;
312
- _context7.next = 3;
523
+ _context8.prev = 0;
524
+ _context8.next = 3;
313
525
  return this.loadQuotationFromIndexDB();
314
526
  case 3:
315
- cachedData = _context7.sent;
527
+ cachedData = _context8.sent;
316
528
  if (!(cachedData && cachedData.length > 0)) {
317
- _context7.next = 8;
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 _context7.abrupt("return");
535
+ return _context8.abrupt("return");
324
536
  case 8:
325
- _context7.next = 13;
537
+ _context8.next = 13;
326
538
  break;
327
539
  case 10:
328
- _context7.prev = 10;
329
- _context7.t0 = _context7["catch"](0);
330
- console.warn('[Quotation] 从 IndexDB 加载数据失败:', _context7.t0);
540
+ _context8.prev = 10;
541
+ _context8.t0 = _context8["catch"](0);
542
+ console.warn('[Quotation] 从 IndexDB 加载数据失败:', _context8.t0);
331
543
  case 13:
332
- _context7.next = 15;
544
+ _context8.next = 15;
333
545
  return this.loadQuotationList();
334
546
  case 15:
335
- quotationList = _context7.sent;
547
+ quotationList = _context8.sent;
336
548
  if (!(quotationList && quotationList.length > 0)) {
337
- _context7.next = 21;
549
+ _context8.next = 21;
338
550
  break;
339
551
  }
340
- _context7.next = 19;
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 _context7.stop();
559
+ return _context8.stop();
348
560
  }
349
- }, _callee7, this, [[0, 10]]);
561
+ }, _callee8, this, [[0, 10]]);
350
562
  }));
351
563
  function preload() {
352
564
  return _preload.apply(this, arguments);