@pisell/pisellos 0.0.567 → 0.0.569

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 (557) hide show
  1. package/dist/core/index.js +6 -9
  2. package/dist/model/strategy/adapter/promotion/evaluator.js +3 -2
  3. package/dist/model/strategy/adapter/walletPass/evaluator.js +0 -2
  4. package/dist/model/strategy/adapter/walletPass/example.js +3 -26
  5. package/dist/model/strategy/adapter/walletPass/utils.js +7 -7
  6. package/dist/model/strategy/strategy-example.js +5 -19
  7. package/dist/modules/BaseModule.d.ts +2 -2
  8. package/dist/modules/BaseModule.js +4 -4
  9. package/dist/modules/BookingContext/index.d.ts +48 -0
  10. package/dist/modules/BookingContext/index.js +566 -0
  11. package/dist/modules/BookingContext/types.d.ts +102 -0
  12. package/dist/modules/BookingContext/types.js +51 -0
  13. package/dist/modules/BookingContext/utils/buildCacheItemFromOrderLine.d.ts +16 -0
  14. package/dist/modules/BookingContext/utils/buildCacheItemFromOrderLine.js +302 -0
  15. package/dist/modules/BookingContext/utils/buildNormalProductCacheItemFromOrderLine.d.ts +8 -0
  16. package/dist/modules/BookingContext/utils/buildNormalProductCacheItemFromOrderLine.js +149 -0
  17. package/dist/modules/BookingContext/utils/cacheItemToBookingInput.d.ts +76 -0
  18. package/dist/modules/BookingContext/utils/cacheItemToBookingInput.js +249 -0
  19. package/dist/modules/BookingContext/utils/flexible.d.ts +28 -0
  20. package/dist/modules/BookingContext/utils/flexible.js +56 -0
  21. package/dist/modules/BookingContext/utils/formatResourceList.d.ts +8 -0
  22. package/dist/modules/BookingContext/utils/formatResourceList.js +38 -0
  23. package/dist/modules/BookingContext/utils/index.d.ts +11 -0
  24. package/dist/modules/BookingContext/utils/index.js +11 -0
  25. package/dist/modules/BookingContext/utils/noResource.d.ts +13 -0
  26. package/dist/modules/BookingContext/utils/noResource.js +77 -0
  27. package/dist/modules/BookingContext/utils/orderLineDisplay.d.ts +1 -0
  28. package/dist/modules/BookingContext/utils/orderLineDisplay.js +36 -0
  29. package/dist/modules/BookingContext/utils/productExtend.d.ts +72 -0
  30. package/dist/modules/BookingContext/utils/productExtend.js +339 -0
  31. package/dist/modules/BookingContext/utils/resourceErrors.d.ts +41 -0
  32. package/dist/modules/BookingContext/utils/resourceErrors.js +74 -0
  33. package/dist/modules/BookingContext/utils/resourceSelection.d.ts +7 -0
  34. package/dist/modules/BookingContext/utils/resourceSelection.js +24 -0
  35. package/dist/modules/BookingContext/utils/resources.d.ts +80 -0
  36. package/dist/modules/BookingContext/utils/resources.js +486 -0
  37. package/dist/modules/BookingContext/utils/serviceTimes.d.ts +55 -0
  38. package/dist/modules/BookingContext/utils/serviceTimes.js +151 -0
  39. package/dist/modules/BookingContext/utils/timeSlices.d.ts +42 -0
  40. package/dist/modules/BookingContext/utils/timeSlices.js +100 -0
  41. package/dist/modules/Cart/index.js +0 -3
  42. package/dist/modules/Cart/utils/cartProduct.js +26 -6
  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 +2 -0
  47. package/dist/modules/Date/index.js +1 -5
  48. package/dist/modules/Discount/index.d.ts +2 -1
  49. package/dist/modules/Discount/index.js +37 -12
  50. package/dist/modules/Discount/types.d.ts +1 -0
  51. package/dist/modules/OpenData/index.d.ts +8 -0
  52. package/dist/modules/OpenData/index.js +35 -17
  53. package/dist/modules/Order/index.d.ts +449 -24
  54. package/dist/modules/Order/index.js +5437 -608
  55. package/dist/modules/Order/types.d.ts +693 -88
  56. package/dist/modules/Order/types.js +68 -1
  57. package/dist/modules/Order/utils/bundleDiscountHydration.d.ts +5 -0
  58. package/dist/modules/Order/utils/bundleDiscountHydration.js +144 -0
  59. package/dist/modules/Order/utils/manualProductDiscount.d.ts +106 -0
  60. package/dist/modules/Order/utils/manualProductDiscount.js +210 -0
  61. package/dist/modules/Order/utils/orderCollectionIdentity.d.ts +53 -0
  62. package/dist/modules/Order/utils/orderCollectionIdentity.js +405 -0
  63. package/dist/modules/Order/utils.d.ts +167 -18
  64. package/dist/modules/Order/utils.js +960 -165
  65. package/dist/modules/Payment/index.d.ts +10 -9
  66. package/dist/modules/Payment/index.js +508 -874
  67. package/dist/modules/Payment/types.d.ts +40 -16
  68. package/dist/modules/Payment/utils.d.ts +1 -1
  69. package/dist/modules/Payment/utils.js +4 -3
  70. package/dist/modules/Payment/walletpass.js +48 -34
  71. package/dist/modules/Product/types.d.ts +29 -7
  72. package/dist/modules/ProductList/index.d.ts +17 -13
  73. package/dist/modules/ProductList/index.js +184 -74
  74. package/dist/modules/ProductList/types.d.ts +17 -0
  75. package/dist/modules/Quotation/index.d.ts +22 -2
  76. package/dist/modules/Quotation/index.js +108 -42
  77. package/dist/modules/Quotation/types.d.ts +19 -0
  78. package/dist/modules/ResourcePlanner/index.d.ts +24 -0
  79. package/dist/modules/ResourcePlanner/index.js +181 -0
  80. package/dist/modules/ResourcePlanner/planner.d.ts +14 -0
  81. package/dist/modules/ResourcePlanner/planner.js +1069 -0
  82. package/dist/modules/ResourcePlanner/types.d.ts +227 -0
  83. package/dist/modules/ResourcePlanner/types.js +1 -0
  84. package/dist/modules/Rules/index.d.ts +8 -10
  85. package/dist/modules/Rules/index.js +219 -114
  86. package/dist/modules/Rules/types.d.ts +14 -3
  87. package/dist/modules/SalesSummary/index.d.ts +23 -26
  88. package/dist/modules/SalesSummary/index.js +152 -46
  89. package/dist/modules/SalesSummary/types.d.ts +9 -1
  90. package/dist/modules/SalesSummary/utils.d.ts +3 -22
  91. package/dist/modules/SalesSummary/utils.js +803 -163
  92. package/dist/modules/Schedule/getDateIsInSchedule.js +14 -7
  93. package/dist/modules/Schedule/index.d.ts +18 -5
  94. package/dist/modules/Schedule/index.js +78 -24
  95. package/dist/modules/Schedule/types.d.ts +2 -0
  96. package/dist/modules/Schedule/utils.js +0 -1
  97. package/dist/modules/Step/index.js +0 -1
  98. package/dist/modules/Summary/index.js +4 -3
  99. package/dist/modules/SurchargeList/index.d.ts +18 -0
  100. package/dist/modules/SurchargeList/index.js +185 -0
  101. package/dist/modules/SurchargeList/types.d.ts +15 -0
  102. package/dist/modules/SurchargeList/types.js +1 -0
  103. package/dist/modules/index.d.ts +3 -0
  104. package/dist/modules/index.js +4 -1
  105. package/dist/plugins/app.d.ts +2 -0
  106. package/dist/plugins/request.d.ts +1 -0
  107. package/dist/plugins/request.js +1 -4
  108. package/dist/plugins/window.js +2 -6
  109. package/dist/server/index.d.ts +462 -8
  110. package/dist/server/index.js +6137 -714
  111. package/dist/server/modules/floor-plan/index.d.ts +39 -0
  112. package/dist/server/modules/floor-plan/index.js +595 -0
  113. package/dist/server/modules/floor-plan/types.d.ts +43 -0
  114. package/dist/server/modules/floor-plan/types.js +13 -0
  115. package/dist/server/modules/index.d.ts +7 -2
  116. package/dist/server/modules/index.js +6 -0
  117. package/dist/server/modules/menu/index.js +32 -41
  118. package/dist/server/modules/order/index.d.ts +207 -14
  119. package/dist/server/modules/order/index.js +2326 -379
  120. package/dist/server/modules/order/types.d.ts +76 -5
  121. package/dist/server/modules/order/types.js +14 -1
  122. package/dist/server/modules/order/utils/filterBookings.d.ts +7 -1
  123. package/dist/server/modules/order/utils/filterBookings.js +118 -11
  124. package/dist/server/modules/order/utils/filterOrders.js +242 -14
  125. package/dist/server/modules/payment/index.d.ts +28 -0
  126. package/dist/server/modules/payment/index.js +305 -0
  127. package/dist/server/modules/payment/types.d.ts +9 -0
  128. package/dist/server/modules/payment/types.js +1 -0
  129. package/dist/server/modules/products/index.d.ts +105 -14
  130. package/dist/server/modules/products/index.js +1397 -540
  131. package/dist/server/modules/products/types.d.ts +34 -1
  132. package/dist/server/modules/products/types.js +4 -0
  133. package/dist/server/modules/quotation/index.d.ts +39 -0
  134. package/dist/server/modules/quotation/index.js +289 -86
  135. package/dist/server/modules/resource/index.d.ts +2 -3
  136. package/dist/server/modules/resource/index.js +105 -84
  137. package/dist/server/modules/schedule/index.d.ts +6 -4
  138. package/dist/server/modules/schedule/index.js +137 -114
  139. package/dist/server/test.json +713 -0
  140. package/dist/server/types.d.ts +2 -0
  141. package/dist/server/utils/product.js +2 -3
  142. package/dist/server/utils/small-ticket.d.ts +71 -0
  143. package/dist/server/utils/small-ticket.js +963 -0
  144. package/dist/solution/BaseSales/index.d.ts +378 -0
  145. package/dist/solution/BaseSales/index.js +4006 -0
  146. package/dist/solution/BaseSales/types.d.ts +394 -0
  147. package/dist/solution/BaseSales/types.js +40 -0
  148. package/dist/solution/BaseSales/utils/cartPromotion.d.ts +287 -0
  149. package/dist/solution/BaseSales/utils/cartPromotion.js +1450 -0
  150. package/dist/solution/BaseSales/utils/parseSalesResponse.d.ts +144 -0
  151. package/dist/solution/BaseSales/utils/parseSalesResponse.js +157 -0
  152. package/dist/solution/BaseSales/utils/quotationPrice.d.ts +18 -0
  153. package/dist/solution/BaseSales/utils/quotationPrice.js +250 -0
  154. package/dist/solution/BaseSales/utils/transformBaseProductToOrderProduct.d.ts +63 -0
  155. package/dist/solution/BaseSales/utils/transformBaseProductToOrderProduct.js +218 -0
  156. package/dist/solution/BaseSales/utils.d.ts +40 -0
  157. package/dist/solution/BaseSales/utils.js +263 -0
  158. package/dist/solution/BookingByStep/index.js +7 -59
  159. package/dist/solution/BookingByStep/utils/capacity.js +1 -11
  160. package/dist/solution/BookingByStep/utils/resources.js +1 -3
  161. package/dist/solution/BookingByStep/utils/timeslots.js +2 -43
  162. package/dist/solution/BookingTicket/index.d.ts +393 -24
  163. package/dist/solution/BookingTicket/index.js +2506 -445
  164. package/dist/solution/BookingTicket/types.d.ts +191 -6
  165. package/dist/solution/BookingTicket/types.js +83 -10
  166. package/dist/solution/BookingTicket/utils/addProductDecision.d.ts +117 -0
  167. package/dist/solution/BookingTicket/utils/addProductDecision.js +346 -0
  168. package/dist/solution/BookingTicket/utils/addTimeAvailability.d.ts +35 -0
  169. package/dist/solution/BookingTicket/utils/addTimeAvailability.js +95 -0
  170. package/dist/solution/BookingTicket/utils/bookingStatus.d.ts +77 -0
  171. package/dist/solution/BookingTicket/utils/bookingStatus.js +136 -0
  172. package/dist/solution/BookingTicket/utils/cartView.d.ts +29 -0
  173. package/dist/solution/BookingTicket/utils/cartView.js +209 -0
  174. package/dist/solution/BookingTicket/utils/exampleData.d.ts +123 -0
  175. package/dist/solution/BookingTicket/utils/exampleData.js +183 -0
  176. package/dist/solution/BookingTicket/utils/orderCustomer.d.ts +4 -0
  177. package/dist/solution/BookingTicket/utils/orderCustomer.js +31 -0
  178. package/dist/solution/BookingTicket/utils/resolveBestAddTimePlan.d.ts +185 -0
  179. package/dist/solution/BookingTicket/utils/resolveBestAddTimePlan.js +438 -0
  180. package/dist/solution/BookingTicket/utils/scan/applyGlobalScan.d.ts +36 -0
  181. package/dist/solution/BookingTicket/utils/scan/applyGlobalScan.js +400 -0
  182. package/dist/solution/BookingTicket/utils/scan/cloudSearch.d.ts +4 -0
  183. package/dist/solution/BookingTicket/utils/scan/cloudSearch.js +41 -1
  184. package/dist/solution/BookingTicket/utils/scan/formatGlobalScan.d.ts +32 -0
  185. package/dist/solution/BookingTicket/utils/scan/formatGlobalScan.js +56 -0
  186. package/dist/solution/BookingTicket/utils/scan/handleScan.d.ts +3 -1
  187. package/dist/solution/BookingTicket/utils/scan/handleScan.js +36 -34
  188. package/dist/solution/BookingTicket/utils/scan/index.d.ts +5 -0
  189. package/dist/solution/BookingTicket/utils/scan/index.js +26 -18
  190. package/dist/solution/BookingTicket/utils/scan/scanProductValues.d.ts +21 -0
  191. package/dist/solution/BookingTicket/utils/scan/scanProductValues.js +150 -0
  192. package/dist/solution/BookingTicket/utils/sessionCatalogStale.d.ts +23 -0
  193. package/dist/solution/BookingTicket/utils/sessionCatalogStale.js +78 -0
  194. package/dist/solution/BuyTickets/index.js +9 -12
  195. package/dist/solution/Checkout/index.d.ts +1 -0
  196. package/dist/solution/Checkout/index.js +199 -277
  197. package/dist/solution/Checkout/utils/index.js +8 -20
  198. package/dist/solution/RegisterAndLogin/config.js +2 -10
  199. package/dist/solution/RegisterAndLogin/index.js +30 -76
  200. package/dist/solution/Sales/index.d.ts +50 -5
  201. package/dist/solution/Sales/index.js +484 -92
  202. package/dist/solution/Sales/types.d.ts +26 -2
  203. package/dist/solution/ScanOrder/index.d.ts +27 -21
  204. package/dist/solution/ScanOrder/index.js +509 -454
  205. package/dist/solution/ScanOrder/types.d.ts +33 -11
  206. package/dist/solution/ScanOrder/types.js +4 -5
  207. package/dist/solution/ScanOrder/utils.d.ts +4 -1
  208. package/dist/solution/ScanOrder/utils.js +109 -34
  209. package/dist/solution/ShopDiscount/index.js +6 -11
  210. package/dist/solution/UnifiedBookingSales/index.d.ts +183 -0
  211. package/dist/solution/UnifiedBookingSales/index.js +1871 -0
  212. package/dist/solution/UnifiedBookingSales/types.d.ts +143 -0
  213. package/dist/solution/UnifiedBookingSales/types.js +11 -0
  214. package/dist/solution/VenueBooking/index.d.ts +34 -20
  215. package/dist/solution/VenueBooking/index.js +630 -505
  216. package/dist/solution/VenueBooking/sales-section-4-annotated.json +0 -2
  217. package/dist/solution/VenueBooking/utils/slotMerge.d.ts +6 -0
  218. package/dist/solution/VenueBooking/utils/slotMerge.js +9 -3
  219. package/dist/solution/index.d.ts +2 -0
  220. package/dist/solution/index.js +3 -1
  221. package/dist/types/index.d.ts +11 -1
  222. package/dist/utils/task.js +15 -18
  223. package/dist/utils/watch.js +0 -1
  224. package/lib/apis/picoding.js +2 -0
  225. package/lib/core/index.js +130 -131
  226. package/lib/effects/index.js +46 -57
  227. package/lib/index.js +92 -53
  228. package/lib/model/index.js +14 -21
  229. package/lib/model/strategy/adapter/dataVariant/adapter.js +38 -50
  230. package/lib/model/strategy/adapter/dataVariant/evaluator.js +162 -236
  231. package/lib/model/strategy/adapter/dataVariant/examples.js +229 -237
  232. package/lib/model/strategy/adapter/dataVariant/index.js +39 -34
  233. package/lib/model/strategy/adapter/dataVariant/type.js +57 -28
  234. package/lib/model/strategy/adapter/index.js +100 -64
  235. package/lib/model/strategy/adapter/itemRule/adapter.js +156 -144
  236. package/lib/model/strategy/adapter/itemRule/evaluator.js +36 -48
  237. package/lib/model/strategy/adapter/itemRule/examples.js +295 -225
  238. package/lib/model/strategy/adapter/itemRule/index.js +83 -57
  239. package/lib/model/strategy/adapter/itemRule/type.js +97 -36
  240. package/lib/model/strategy/adapter/promotion/adapter.js +84 -63
  241. package/lib/model/strategy/adapter/promotion/evaluator.js +383 -232
  242. package/lib/model/strategy/adapter/promotion/examples.js +139 -159
  243. package/lib/model/strategy/adapter/promotion/index.js +1 -49
  244. package/lib/model/strategy/adapter/promotion/type.js +199 -35
  245. package/lib/model/strategy/adapter/type.js +4 -16
  246. package/lib/model/strategy/adapter/walletPass/evaluator.js +180 -152
  247. package/lib/model/strategy/adapter/walletPass/example.js +217 -190
  248. package/lib/model/strategy/adapter/walletPass/index.js +75 -51
  249. package/lib/model/strategy/adapter/walletPass/locales.js +36 -58
  250. package/lib/model/strategy/adapter/walletPass/type.js +4 -16
  251. package/lib/model/strategy/adapter/walletPass/utils.js +654 -402
  252. package/lib/model/strategy/engine.js +270 -168
  253. package/lib/model/strategy/index.js +49 -34
  254. package/lib/model/strategy/strategy-example.js +243 -239
  255. package/lib/model/strategy/type.js +100 -40
  256. package/lib/modules/Account/index.js +39 -53
  257. package/lib/modules/Account/types.js +20 -33
  258. package/lib/modules/AccountList/index.js +116 -154
  259. package/lib/modules/AccountList/types.js +30 -31
  260. package/lib/modules/AccountList/utils.js +18 -30
  261. package/lib/modules/BaseModule.d.ts +2 -2
  262. package/lib/modules/BaseModule.js +26 -49
  263. package/lib/modules/BookingContext/index.d.ts +48 -0
  264. package/lib/modules/BookingContext/index.js +390 -0
  265. package/lib/modules/BookingContext/types.d.ts +102 -0
  266. package/lib/modules/BookingContext/types.js +48 -0
  267. package/lib/modules/BookingContext/utils/buildCacheItemFromOrderLine.d.ts +16 -0
  268. package/lib/modules/BookingContext/utils/buildCacheItemFromOrderLine.js +286 -0
  269. package/lib/modules/BookingContext/utils/buildNormalProductCacheItemFromOrderLine.d.ts +8 -0
  270. package/lib/modules/BookingContext/utils/buildNormalProductCacheItemFromOrderLine.js +148 -0
  271. package/lib/modules/BookingContext/utils/cacheItemToBookingInput.d.ts +76 -0
  272. package/lib/modules/BookingContext/utils/cacheItemToBookingInput.js +242 -0
  273. package/lib/modules/BookingContext/utils/flexible.d.ts +28 -0
  274. package/lib/modules/BookingContext/utils/flexible.js +63 -0
  275. package/lib/modules/BookingContext/utils/formatResourceList.d.ts +8 -0
  276. package/lib/modules/BookingContext/utils/formatResourceList.js +35 -0
  277. package/lib/modules/BookingContext/utils/index.d.ts +11 -0
  278. package/lib/modules/BookingContext/utils/index.js +126 -0
  279. package/lib/modules/BookingContext/utils/noResource.d.ts +13 -0
  280. package/lib/modules/BookingContext/utils/noResource.js +78 -0
  281. package/lib/modules/BookingContext/utils/orderLineDisplay.d.ts +1 -0
  282. package/lib/modules/BookingContext/utils/orderLineDisplay.js +29 -0
  283. package/lib/modules/BookingContext/utils/productExtend.d.ts +72 -0
  284. package/lib/modules/BookingContext/utils/productExtend.js +330 -0
  285. package/lib/modules/BookingContext/utils/resourceErrors.d.ts +41 -0
  286. package/lib/modules/BookingContext/utils/resourceErrors.js +80 -0
  287. package/lib/modules/BookingContext/utils/resourceSelection.d.ts +7 -0
  288. package/lib/modules/BookingContext/utils/resourceSelection.js +24 -0
  289. package/lib/modules/BookingContext/utils/resources.d.ts +80 -0
  290. package/lib/modules/BookingContext/utils/resources.js +419 -0
  291. package/lib/modules/BookingContext/utils/serviceTimes.d.ts +55 -0
  292. package/lib/modules/BookingContext/utils/serviceTimes.js +161 -0
  293. package/lib/modules/BookingContext/utils/timeSlices.d.ts +42 -0
  294. package/lib/modules/BookingContext/utils/timeSlices.js +114 -0
  295. package/lib/modules/Cart/index.js +170 -124
  296. package/lib/modules/Cart/types.js +46 -51
  297. package/lib/modules/Cart/utils/cartAccount.js +40 -39
  298. package/lib/modules/Cart/utils/cartDate.js +56 -61
  299. package/lib/modules/Cart/utils/cartDiscount.js +28 -33
  300. package/lib/modules/Cart/utils/cartNote.js +27 -32
  301. package/lib/modules/Cart/utils/cartProduct.js +331 -244
  302. package/lib/modules/Cart/utils/cartRelationForms.js +29 -35
  303. package/lib/modules/Cart/utils/cartResource.js +72 -78
  304. package/lib/modules/Cart/utils/changePrice.js +37 -67
  305. package/lib/modules/Cart/utils/index.js +106 -48
  306. package/lib/modules/Customer/constants.js +13 -34
  307. package/lib/modules/Customer/index.d.ts +20 -0
  308. package/lib/modules/Customer/index.js +270 -154
  309. package/lib/modules/Customer/types.d.ts +2 -0
  310. package/lib/modules/Customer/types.js +38 -35
  311. package/lib/modules/Date/index.js +116 -115
  312. package/lib/modules/Date/types.js +16 -28
  313. package/lib/modules/Date/utils.js +174 -123
  314. package/lib/modules/Discount/index.d.ts +2 -1
  315. package/lib/modules/Discount/index.js +133 -113
  316. package/lib/modules/Discount/types.d.ts +1 -0
  317. package/lib/modules/Discount/types.js +9 -31
  318. package/lib/modules/Guests/index.js +30 -56
  319. package/lib/modules/Guests/types.js +23 -33
  320. package/lib/modules/Holder/index.js +209 -189
  321. package/lib/modules/Holder/types.js +4 -16
  322. package/lib/modules/Holder/utils.js +20 -49
  323. package/lib/modules/OpenData/index.d.ts +8 -0
  324. package/lib/modules/OpenData/index.js +81 -74
  325. package/lib/modules/OpenData/types.js +4 -16
  326. package/lib/modules/OpenData/utils.js +44 -78
  327. package/lib/modules/Order/index.d.ts +449 -24
  328. package/lib/modules/Order/index.js +3834 -489
  329. package/lib/modules/Order/types.d.ts +693 -88
  330. package/lib/modules/Order/types.js +78 -33
  331. package/lib/modules/Order/utils/bundleDiscountHydration.d.ts +5 -0
  332. package/lib/modules/Order/utils/bundleDiscountHydration.js +106 -0
  333. package/lib/modules/Order/utils/manualProductDiscount.d.ts +106 -0
  334. package/lib/modules/Order/utils/manualProductDiscount.js +207 -0
  335. package/lib/modules/Order/utils/orderCollectionIdentity.d.ts +53 -0
  336. package/lib/modules/Order/utils/orderCollectionIdentity.js +353 -0
  337. package/lib/modules/Order/utils.d.ts +167 -18
  338. package/lib/modules/Order/utils.js +1247 -345
  339. package/lib/modules/Payment/cash.js +20 -33
  340. package/lib/modules/Payment/cashRecommendationAlgorithm.js +145 -76
  341. package/lib/modules/Payment/eftpos.js +16 -30
  342. package/lib/modules/Payment/index.d.ts +10 -9
  343. package/lib/modules/Payment/index.js +542 -502
  344. package/lib/modules/Payment/mx51.js +1 -0
  345. package/lib/modules/Payment/types.d.ts +40 -16
  346. package/lib/modules/Payment/types.js +216 -107
  347. package/lib/modules/Payment/utils.d.ts +1 -1
  348. package/lib/modules/Payment/utils.js +53 -49
  349. package/lib/modules/Payment/walletpass.js +231 -203
  350. package/lib/modules/Product/index.js +51 -46
  351. package/lib/modules/Product/types.d.ts +29 -7
  352. package/lib/modules/Product/types.js +4 -16
  353. package/lib/modules/Product/utils.js +32 -33
  354. package/lib/modules/ProductList/index.d.ts +17 -13
  355. package/lib/modules/ProductList/index.js +160 -118
  356. package/lib/modules/ProductList/types.d.ts +17 -0
  357. package/lib/modules/ProductList/types.js +9 -31
  358. package/lib/modules/Quotation/index.d.ts +22 -2
  359. package/lib/modules/Quotation/index.js +123 -89
  360. package/lib/modules/Quotation/types.d.ts +19 -0
  361. package/lib/modules/Quotation/types.js +4 -16
  362. package/lib/modules/Resource/index.js +27 -59
  363. package/lib/modules/Resource/types.js +22 -32
  364. package/lib/modules/Resource/utils.js +30 -38
  365. package/lib/modules/ResourcePlanner/index.d.ts +24 -0
  366. package/lib/modules/ResourcePlanner/index.js +147 -0
  367. package/lib/modules/ResourcePlanner/planner.d.ts +14 -0
  368. package/lib/modules/ResourcePlanner/planner.js +895 -0
  369. package/lib/modules/ResourcePlanner/types.d.ts +227 -0
  370. package/lib/modules/ResourcePlanner/types.js +5 -0
  371. package/lib/modules/Rules/index.d.ts +8 -10
  372. package/lib/modules/Rules/index.js +1286 -894
  373. package/lib/modules/Rules/types.d.ts +14 -3
  374. package/lib/modules/Rules/types.js +17 -40
  375. package/lib/modules/SalesSummary/index.d.ts +23 -26
  376. package/lib/modules/SalesSummary/index.js +130 -71
  377. package/lib/modules/SalesSummary/types.d.ts +9 -1
  378. package/lib/modules/SalesSummary/types.js +4 -16
  379. package/lib/modules/SalesSummary/utils.d.ts +3 -22
  380. package/lib/modules/SalesSummary/utils.js +738 -250
  381. package/lib/modules/ScanOrderLogger/index.js +59 -79
  382. package/lib/modules/ScanOrderLogger/providers/feishu.js +54 -78
  383. package/lib/modules/ScanOrderLogger/providers/grafana.js +13 -36
  384. package/lib/modules/ScanOrderLogger/types.js +4 -16
  385. package/lib/modules/Schedule/getDateIsInSchedule.js +345 -171
  386. package/lib/modules/Schedule/index.d.ts +18 -5
  387. package/lib/modules/Schedule/index.js +139 -114
  388. package/lib/modules/Schedule/type.js +4 -16
  389. package/lib/modules/Schedule/types.d.ts +2 -0
  390. package/lib/modules/Schedule/types.js +4 -16
  391. package/lib/modules/Schedule/utils.js +433 -291
  392. package/lib/modules/Step/index.js +40 -52
  393. package/lib/modules/Step/tyeps.js +4 -16
  394. package/lib/modules/Summary/index.js +66 -70
  395. package/lib/modules/Summary/types.js +4 -16
  396. package/lib/modules/Summary/utils.js +782 -429
  397. package/lib/modules/SurchargeList/index.d.ts +18 -0
  398. package/lib/modules/SurchargeList/index.js +95 -0
  399. package/lib/modules/SurchargeList/types.d.ts +15 -0
  400. package/lib/modules/SurchargeList/types.js +5 -0
  401. package/lib/modules/index.d.ts +3 -0
  402. package/lib/modules/index.js +245 -57
  403. package/lib/plugins/app.d.ts +2 -0
  404. package/lib/plugins/app.js +4 -16
  405. package/lib/plugins/index.js +36 -25
  406. package/lib/plugins/request.d.ts +1 -0
  407. package/lib/plugins/request.js +137 -126
  408. package/lib/plugins/shopStore.js +4 -16
  409. package/lib/plugins/user.js +4 -16
  410. package/lib/plugins/window.js +171 -179
  411. package/lib/server/index.d.ts +462 -8
  412. package/lib/server/index.js +4668 -713
  413. package/lib/server/modules/floor-plan/index.d.ts +39 -0
  414. package/lib/server/modules/floor-plan/index.js +306 -0
  415. package/lib/server/modules/floor-plan/types.d.ts +43 -0
  416. package/lib/server/modules/floor-plan/types.js +19 -0
  417. package/lib/server/modules/index.d.ts +7 -2
  418. package/lib/server/modules/index.js +106 -59
  419. package/lib/server/modules/menu/index.js +146 -122
  420. package/lib/server/modules/menu/types.js +18 -31
  421. package/lib/server/modules/order/index.d.ts +207 -14
  422. package/lib/server/modules/order/index.js +1463 -316
  423. package/lib/server/modules/order/types.d.ts +76 -5
  424. package/lib/server/modules/order/types.js +117 -32
  425. package/lib/server/modules/order/utils/filterBookings.d.ts +7 -1
  426. package/lib/server/modules/order/utils/filterBookings.js +288 -146
  427. package/lib/server/modules/order/utils/filterOrders.js +318 -64
  428. package/lib/server/modules/payment/index.d.ts +28 -0
  429. package/lib/server/modules/payment/index.js +168 -0
  430. package/lib/server/modules/payment/types.d.ts +9 -0
  431. package/lib/server/modules/payment/types.js +5 -0
  432. package/lib/server/modules/products/index.d.ts +105 -14
  433. package/lib/server/modules/products/index.js +969 -383
  434. package/lib/server/modules/products/types.d.ts +34 -1
  435. package/lib/server/modules/products/types.js +44 -34
  436. package/lib/server/modules/quotation/index.d.ts +39 -0
  437. package/lib/server/modules/quotation/index.js +220 -77
  438. package/lib/server/modules/quotation/types.js +21 -31
  439. package/lib/server/modules/resource/index.d.ts +2 -3
  440. package/lib/server/modules/resource/index.js +269 -214
  441. package/lib/server/modules/resource/types.js +42 -33
  442. package/lib/server/modules/schedule/index.d.ts +6 -4
  443. package/lib/server/modules/schedule/index.js +158 -132
  444. package/lib/server/modules/schedule/types.js +14 -21
  445. package/lib/server/modules/schedule/utils.js +334 -163
  446. package/lib/server/test.json +713 -0
  447. package/lib/server/types.d.ts +2 -0
  448. package/lib/server/types.js +4 -16
  449. package/lib/server/utils/index.js +25 -23
  450. package/lib/server/utils/product.js +197 -140
  451. package/lib/server/utils/schedule.js +34 -41
  452. package/lib/server/utils/small-ticket.d.ts +71 -0
  453. package/lib/server/utils/small-ticket.js +926 -0
  454. package/lib/server/utils/time.js +40 -49
  455. package/lib/solution/BaseSales/index.d.ts +378 -0
  456. package/lib/solution/BaseSales/index.js +2367 -0
  457. package/lib/solution/BaseSales/types.d.ts +394 -0
  458. package/lib/solution/BaseSales/types.js +47 -0
  459. package/lib/solution/BaseSales/utils/cartPromotion.d.ts +287 -0
  460. package/lib/solution/BaseSales/utils/cartPromotion.js +1155 -0
  461. package/lib/solution/BaseSales/utils/parseSalesResponse.d.ts +144 -0
  462. package/lib/solution/BaseSales/utils/parseSalesResponse.js +140 -0
  463. package/lib/solution/BaseSales/utils/quotationPrice.d.ts +18 -0
  464. package/lib/solution/BaseSales/utils/quotationPrice.js +231 -0
  465. package/lib/solution/BaseSales/utils/transformBaseProductToOrderProduct.d.ts +63 -0
  466. package/lib/solution/BaseSales/utils/transformBaseProductToOrderProduct.js +215 -0
  467. package/lib/solution/BaseSales/utils.d.ts +40 -0
  468. package/lib/solution/BaseSales/utils.js +259 -0
  469. package/lib/solution/BookingByStep/index.js +1530 -1343
  470. package/lib/solution/BookingByStep/types.js +40 -99
  471. package/lib/solution/BookingByStep/utils/capacity.js +192 -160
  472. package/lib/solution/BookingByStep/utils/products.js +42 -52
  473. package/lib/solution/BookingByStep/utils/resources.js +527 -330
  474. package/lib/solution/BookingByStep/utils/stock.js +65 -44
  475. package/lib/solution/BookingByStep/utils/timeslots.js +129 -131
  476. package/lib/solution/BookingTicket/index.d.ts +393 -24
  477. package/lib/solution/BookingTicket/index.js +1459 -160
  478. package/lib/solution/BookingTicket/types.d.ts +191 -6
  479. package/lib/solution/BookingTicket/types.js +101 -66
  480. package/lib/solution/BookingTicket/utils/addProductDecision.d.ts +117 -0
  481. package/lib/solution/BookingTicket/utils/addProductDecision.js +353 -0
  482. package/lib/solution/BookingTicket/utils/addTimeAvailability.d.ts +35 -0
  483. package/lib/solution/BookingTicket/utils/addTimeAvailability.js +94 -0
  484. package/lib/solution/BookingTicket/utils/bookingStatus.d.ts +77 -0
  485. package/lib/solution/BookingTicket/utils/bookingStatus.js +136 -0
  486. package/lib/solution/BookingTicket/utils/cartView.d.ts +29 -0
  487. package/lib/solution/BookingTicket/utils/cartView.js +200 -0
  488. package/lib/solution/BookingTicket/utils/exampleData.d.ts +123 -0
  489. package/lib/solution/BookingTicket/utils/exampleData.js +185 -0
  490. package/lib/solution/BookingTicket/utils/orderCustomer.d.ts +4 -0
  491. package/lib/solution/BookingTicket/utils/orderCustomer.js +35 -0
  492. package/lib/solution/BookingTicket/utils/resolveBestAddTimePlan.d.ts +185 -0
  493. package/lib/solution/BookingTicket/utils/resolveBestAddTimePlan.js +387 -0
  494. package/lib/solution/BookingTicket/utils/scan/applyGlobalScan.d.ts +36 -0
  495. package/lib/solution/BookingTicket/utils/scan/applyGlobalScan.js +220 -0
  496. package/lib/solution/BookingTicket/utils/scan/cloudSearch.d.ts +4 -0
  497. package/lib/solution/BookingTicket/utils/scan/cloudSearch.js +85 -80
  498. package/lib/solution/BookingTicket/utils/scan/formatGlobalScan.d.ts +32 -0
  499. package/lib/solution/BookingTicket/utils/scan/formatGlobalScan.js +64 -0
  500. package/lib/solution/BookingTicket/utils/scan/handleScan.d.ts +3 -1
  501. package/lib/solution/BookingTicket/utils/scan/handleScan.js +84 -80
  502. package/lib/solution/BookingTicket/utils/scan/index.d.ts +5 -0
  503. package/lib/solution/BookingTicket/utils/scan/index.js +103 -95
  504. package/lib/solution/BookingTicket/utils/scan/scanCache.js +90 -43
  505. package/lib/solution/BookingTicket/utils/scan/scanProductValues.d.ts +21 -0
  506. package/lib/solution/BookingTicket/utils/scan/scanProductValues.js +115 -0
  507. package/lib/solution/BookingTicket/utils/sessionCatalogStale.d.ts +23 -0
  508. package/lib/solution/BookingTicket/utils/sessionCatalogStale.js +83 -0
  509. package/lib/solution/BuyTickets/index.js +67 -70
  510. package/lib/solution/BuyTickets/types.js +22 -38
  511. package/lib/solution/Checkout/index.d.ts +1 -0
  512. package/lib/solution/Checkout/index.js +1461 -1169
  513. package/lib/solution/Checkout/types.js +91 -61
  514. package/lib/solution/Checkout/utils/index.js +228 -159
  515. package/lib/solution/PlaceOrder/index.js +55 -0
  516. package/lib/solution/RegisterAndLogin/config.js +495 -470
  517. package/lib/solution/RegisterAndLogin/index.js +633 -630
  518. package/lib/solution/RegisterAndLogin/types.js +189 -76
  519. package/lib/solution/RegisterAndLogin/utils.js +183 -125
  520. package/lib/solution/Sales/index.d.ts +50 -5
  521. package/lib/solution/Sales/index.js +495 -220
  522. package/lib/solution/Sales/types.d.ts +26 -2
  523. package/lib/solution/Sales/types.js +27 -33
  524. package/lib/solution/ScanOrder/index.d.ts +27 -21
  525. package/lib/solution/ScanOrder/index.js +908 -904
  526. package/lib/solution/ScanOrder/types.d.ts +33 -11
  527. package/lib/solution/ScanOrder/types.js +33 -34
  528. package/lib/solution/ScanOrder/utils.d.ts +4 -1
  529. package/lib/solution/ScanOrder/utils.js +457 -344
  530. package/lib/solution/ShopDiscount/index.js +230 -236
  531. package/lib/solution/ShopDiscount/types.js +15 -37
  532. package/lib/solution/ShopDiscount/utils.js +309 -172
  533. package/lib/solution/UnifiedBookingSales/index.d.ts +183 -0
  534. package/lib/solution/UnifiedBookingSales/index.js +1050 -0
  535. package/lib/solution/UnifiedBookingSales/types.d.ts +143 -0
  536. package/lib/solution/UnifiedBookingSales/types.js +14 -0
  537. package/lib/solution/VenueBooking/index.d.ts +34 -20
  538. package/lib/solution/VenueBooking/index.js +982 -950
  539. package/lib/solution/VenueBooking/sales-section-4-annotated.json +0 -2
  540. package/lib/solution/VenueBooking/types.js +20 -40
  541. package/lib/solution/VenueBooking/utils/dateSummary.js +22 -54
  542. package/lib/solution/VenueBooking/utils/resource.js +31 -54
  543. package/lib/solution/VenueBooking/utils/slotMerge.d.ts +6 -0
  544. package/lib/solution/VenueBooking/utils/slotMerge.js +96 -108
  545. package/lib/solution/VenueBooking/utils/smartPricing.js +112 -100
  546. package/lib/solution/VenueBooking/utils/timeSlot.js +133 -132
  547. package/lib/solution/VenueBooking/utils.js +130 -67
  548. package/lib/solution/index.d.ts +2 -0
  549. package/lib/solution/index.js +124 -37
  550. package/lib/store/createStore.js +32 -29
  551. package/lib/types/index.d.ts +11 -1
  552. package/lib/types/index.js +4 -16
  553. package/lib/utils/task.js +36 -36
  554. package/lib/utils/watch.js +81 -47
  555. package/package.json +2 -1
  556. package/dist/solution/Checkout/appointmentDemo.json +0 -1
  557. package/lib/solution/Checkout/appointmentDemo.json +0 -1
@@ -1,144 +1,188 @@
1
- var __defProp = Object.defineProperty;
2
- var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
3
- var __getOwnPropNames = Object.getOwnPropertyNames;
4
- var __hasOwnProp = Object.prototype.hasOwnProperty;
5
- var __export = (target, all) => {
6
- for (var name in all)
7
- __defProp(target, name, { get: all[name], enumerable: true });
8
- };
9
- var __copyProps = (to, from, except, desc) => {
10
- if (from && typeof from === "object" || typeof from === "function") {
11
- for (let key of __getOwnPropNames(from))
12
- if (!__hasOwnProp.call(to, key) && key !== except)
13
- __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
14
- }
15
- return to;
16
- };
17
- var __reExport = (target, mod, secondTarget) => (__copyProps(target, mod, "default"), secondTarget && __copyProps(secondTarget, mod, "default"));
18
- var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
1
+ "use strict";
19
2
 
20
- // src/modules/Customer/index.ts
21
- var Customer_exports = {};
22
- __export(Customer_exports, {
23
- CustomerModule: () => CustomerModule
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ var _exportNames = {
7
+ CustomerModule: true
8
+ };
9
+ exports.CustomerModule = void 0;
10
+ var _lodashEs = require("lodash-es");
11
+ var _BaseModule = require("../BaseModule");
12
+ var _plugins = require("../../plugins");
13
+ var _constants = require("./constants");
14
+ var _types = require("./types");
15
+ Object.keys(_types).forEach(function (key) {
16
+ if (key === "default" || key === "__esModule") return;
17
+ if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
18
+ if (key in exports && exports[key] === _types[key]) return;
19
+ Object.defineProperty(exports, key, {
20
+ enumerable: true,
21
+ get: function () {
22
+ return _types[key];
23
+ }
24
+ });
24
25
  });
25
- module.exports = __toCommonJS(Customer_exports);
26
- var import_lodash_es = require("lodash-es");
27
- var import_BaseModule = require("../BaseModule");
28
- var import_plugins = require("../../plugins");
29
- var import_constants = require("./constants");
30
- __reExport(Customer_exports, require("./types"), module.exports);
31
- var CustomerModule = class extends import_BaseModule.BaseModule {
26
+ class CustomerModule extends _BaseModule.BaseModule {
27
+ defaultName = 'customer';
28
+ defaultVersion = '1.0.0';
29
+ store = {
30
+ customerList: [],
31
+ selectedCustomer: null,
32
+ total: 0,
33
+ currentPage: 1,
34
+ pageSize: _constants.DEFAULT_PAGE_SIZE,
35
+ loading: false,
36
+ error: null,
37
+ hasMore: true,
38
+ loadingMore: false,
39
+ searchParams: {}
40
+ };
41
+ request;
42
+ cacheId;
43
+
44
+ /**
45
+ * 判断两份选中客户的核心展示字段是否一致,用于避免重复 clone / emit。
46
+ *
47
+ * @example
48
+ * this.isSameSelectedCustomer(currentCustomer, nextCustomer);
49
+ */
50
+ isSameSelectedCustomer(current, next) {
51
+ const normalizedNext = !next ? _constants.DEFAULT_CUSTOMER : next;
52
+ const normalizedCurrent = current || null;
53
+ if (!normalizedCurrent) return false;
54
+ // Walk-In 是默认客户,展示文案 / 默认区号可能来自不同入口;同为 id=1 时视为同一客户。
55
+ if (String(normalizedCurrent?.id ?? '') === '1' && String(normalizedNext?.id ?? '') === '1') {
56
+ return true;
57
+ }
58
+ const keys = ['id', 'name', 'phone', 'email', 'country_calling_code'];
59
+ return keys.every(key => String(normalizedCurrent?.[key] ?? '') === String(normalizedNext?.[key] ?? ''));
60
+ }
61
+ openCache = false;
62
+ fatherModule;
63
+ otherParams = {};
32
64
  constructor(name, version) {
33
65
  super(name, version);
34
- this.defaultName = "customer";
35
- this.defaultVersion = "1.0.0";
36
- this.store = {
37
- customerList: [],
38
- selectedCustomer: null,
39
- total: 0,
40
- currentPage: 1,
41
- pageSize: import_constants.DEFAULT_PAGE_SIZE,
42
- loading: false,
43
- error: null,
44
- hasMore: true,
45
- loadingMore: false,
46
- searchParams: {}
47
- };
48
- this.openCache = false;
49
- this.otherParams = {};
50
66
  }
51
67
  async initialize(core, options) {
52
- var _a, _b, _c, _d, _e, _f, _g, _h, _i, _j;
53
68
  this.core = core;
54
- this.store = options == null ? void 0 : options.store;
55
- this.request = this.core.getPlugin("request");
56
- this.otherParams = (options == null ? void 0 : options.otherParams) || {};
57
- if (Array.isArray((_a = options == null ? void 0 : options.initialState) == null ? void 0 : _a.customerList)) {
58
- const customerList = (0, import_lodash_es.cloneDeep)(options.initialState.customerList || []);
69
+ this.store = options?.store;
70
+ this.request = this.core.getPlugin('request');
71
+ this.otherParams = options?.otherParams || {};
72
+
73
+ // 初始化状态
74
+ if (Array.isArray(options?.initialState?.customerList)) {
75
+ const customerList = (0, _lodashEs.cloneDeep)(options.initialState.customerList || []);
59
76
  this.store.customerList = customerList;
60
77
  } else {
61
78
  this.store.customerList = [];
62
79
  }
63
- if ((_b = options == null ? void 0 : options.initialState) == null ? void 0 : _b.selectedCustomer) {
64
- this.store.selectedCustomer = (0, import_lodash_es.cloneDeep)(options.initialState.selectedCustomer);
80
+ if (options?.initialState?.selectedCustomer) {
81
+ this.store.selectedCustomer = (0, _lodashEs.cloneDeep)(options.initialState.selectedCustomer);
65
82
  } else {
66
83
  this.store.selectedCustomer = null;
67
84
  }
68
- if (typeof ((_c = options == null ? void 0 : options.initialState) == null ? void 0 : _c.total) === "number") {
85
+ if (typeof options?.initialState?.total === 'number') {
69
86
  this.store.total = options.initialState.total;
70
87
  } else {
71
88
  this.store.total = 0;
72
89
  }
73
- if (typeof ((_d = options == null ? void 0 : options.initialState) == null ? void 0 : _d.currentPage) === "number") {
90
+ if (typeof options?.initialState?.currentPage === 'number') {
74
91
  this.store.currentPage = options.initialState.currentPage;
75
92
  } else {
76
93
  this.store.currentPage = 1;
77
94
  }
78
- if (typeof ((_e = options == null ? void 0 : options.initialState) == null ? void 0 : _e.pageSize) === "number") {
95
+ if (typeof options?.initialState?.pageSize === 'number' && options.initialState.pageSize > 1) {
79
96
  this.store.pageSize = options.initialState.pageSize;
80
97
  } else {
81
- this.store.pageSize = import_constants.DEFAULT_PAGE_SIZE;
98
+ this.store.pageSize = _constants.DEFAULT_PAGE_SIZE;
82
99
  }
83
- this.store.hasMore = ((_f = options == null ? void 0 : options.initialState) == null ? void 0 : _f.hasMore) ?? true;
84
- this.store.loadingMore = ((_g = options == null ? void 0 : options.initialState) == null ? void 0 : _g.loadingMore) ?? false;
85
- this.store.searchParams = ((_h = options == null ? void 0 : options.initialState) == null ? void 0 : _h.searchParams) ?? {};
86
- if ((_i = options == null ? void 0 : options.otherParams) == null ? void 0 : _i.cacheId) {
100
+
101
+ // 初始化滚动加载相关状态
102
+ this.store.hasMore = options?.initialState?.hasMore ?? true;
103
+ this.store.loadingMore = options?.initialState?.loadingMore ?? false;
104
+ this.store.searchParams = options?.initialState?.searchParams ?? {};
105
+
106
+ // 缓存配置
107
+ if (options?.otherParams?.cacheId) {
87
108
  this.openCache = options.otherParams.openCache;
88
109
  this.cacheId = options.otherParams.cacheId;
89
110
  }
90
- if ((_j = options == null ? void 0 : options.otherParams) == null ? void 0 : _j.fatherModule) {
111
+ if (options?.otherParams?.fatherModule) {
91
112
  this.fatherModule = options.otherParams.fatherModule;
92
113
  }
93
114
  }
115
+
116
+ /**
117
+ * 更新父级解决方案透传的运行态参数,并刷新客户模块缓存配置。
118
+ *
119
+ * @example
120
+ * customerModule.updateOtherParams({ isFranchisee: true, cacheId: 'cache-2' });
121
+ */
122
+ updateOtherParams(params) {
123
+ this.otherParams = params || {};
124
+ this.openCache = this.otherParams.openCache ?? false;
125
+ this.cacheId = this.otherParams.cacheId;
126
+ this.fatherModule = this.otherParams.fatherModule;
127
+ }
128
+
94
129
  /**
95
130
  * 获取客户列表数据(内部方法)
96
131
  * @param params 查询参数
97
132
  * @returns API响应数据
98
133
  */
99
134
  async fetchCustomerListData(params = {}) {
100
- var _a, _b, _c, _d;
101
- let url = "/customer/select-list";
102
- if ((_a = this.otherParams) == null ? void 0 : _a.isFranchisee) {
103
- url = "/franchisee/customer/select-list";
135
+ let url = '/customer/select-list';
136
+ // 如果是加盟子店铺,则使用加盟商的客户列表接口
137
+ if (this.otherParams?.isFranchisee) {
138
+ url = '/franchisee/customer/select-list';
104
139
  }
105
- const { skip = 1, num = import_constants.DEFAULT_PAGE_SIZE, search, ..._otherParams } = params;
140
+ const {
141
+ skip = 1,
142
+ num = _constants.DEFAULT_PAGE_SIZE,
143
+ search,
144
+ ..._otherParams
145
+ } = params;
106
146
  const queryParams = {
107
147
  skip,
108
148
  num,
109
- sort_by: import_constants.SORT_BY,
110
- with: ["latestWalletDetail.wallet", "contactsInfo", "formRecord"],
149
+ sort_by: _constants.SORT_BY,
150
+ with: ['latestWalletDetail.wallet', 'contactsInfo', 'formRecord'],
111
151
  search_wallet_flag: 1,
112
152
  search_wallet_pass_flag: 1,
113
- ...search && { search },
153
+ ...(search && {
154
+ search
155
+ }),
114
156
  ..._otherParams
115
157
  };
116
158
  const res = await this.request.get(url, queryParams, {
117
159
  cache: {
118
- mode: import_plugins.RequestModeENUM.REMOTE_LOCAL,
160
+ mode: _plugins.RequestModeENUM.REMOTE_LOCAL,
119
161
  type: "memory"
120
162
  }
121
163
  });
122
- if ((res == null ? void 0 : res.code) !== 200) {
123
- throw new Error(res == null ? void 0 : res.message);
164
+ if (res?.code !== 200) {
165
+ throw new Error(res?.message);
124
166
  }
125
- let _customerList = ((_b = res == null ? void 0 : res.data) == null ? void 0 : _b.list) || [];
126
- if (((_c = this.otherParams) == null ? void 0 : _c.isFranchisee) && (_customerList == null ? void 0 : _customerList.length) > 0) {
127
- _customerList = _customerList == null ? void 0 : _customerList.map((item) => {
167
+
168
+ // 如果是加盟子店铺,查询的接口返回的数据都是总店的客户数据,需要加上标识
169
+ let _customerList = res?.data?.list || [];
170
+ if (this.otherParams?.isFranchisee && _customerList?.length > 0) {
171
+ _customerList = _customerList?.map(item => {
128
172
  return {
129
- ...item || {},
130
- is_franchisor_customer: 1
131
- // 标识是总店的客户
173
+ ...(item || {}),
174
+ is_franchisor_customer: 1 // 标识是总店的客户
132
175
  };
133
176
  });
134
177
  }
135
178
  return {
136
179
  customerList: _customerList,
137
- total: ((_d = res == null ? void 0 : res.data) == null ? void 0 : _d.count) || 0,
180
+ total: res?.data?.count || 0,
138
181
  page: skip,
139
182
  pageSize: num
140
183
  };
141
184
  }
185
+
142
186
  /**
143
187
  * 处理客户列表操作的错误(内部方法)
144
188
  * @param error 错误对象
@@ -147,11 +191,29 @@ var CustomerModule = class extends import_BaseModule.BaseModule {
147
191
  async handleCustomerListError(error, operation) {
148
192
  console.error(`Failed to ${operation}:`, error);
149
193
  this.store.error = error instanceof Error ? error.message : `Failed to ${operation}`;
150
- await this.core.effects.emit(
151
- `${this.name}:onCustomerListError`,
152
- this.store.error
153
- );
194
+ await this.core.effects.emit(`${this.name}:onCustomerListError`, this.store.error);
154
195
  }
196
+
197
+ /**
198
+ * 查询客户列表但不写入 customerList / pagination 状态。
199
+ *
200
+ * 用于按 ID 补齐客户等内部查询,避免把临时的 num/searchParams 污染到滚动列表。
201
+ */
202
+ async queryCustomerList(params = {}) {
203
+ const {
204
+ customerList,
205
+ total,
206
+ page,
207
+ pageSize
208
+ } = await this.fetchCustomerListData(params);
209
+ return {
210
+ list: customerList,
211
+ total,
212
+ page,
213
+ pageSize
214
+ };
215
+ }
216
+
155
217
  /**
156
218
  * 获取客户列表
157
219
  * @param params 查询参数
@@ -161,18 +223,33 @@ var CustomerModule = class extends import_BaseModule.BaseModule {
161
223
  try {
162
224
  this.store.loading = true;
163
225
  this.store.error = null;
164
- const { customerList, total, page, pageSize } = await this.fetchCustomerListData(params);
165
- const { skip, num, ...searchParams } = params;
166
- this.store.searchParams = (0, import_lodash_es.cloneDeep)(searchParams);
226
+ const {
227
+ customerList,
228
+ total,
229
+ page,
230
+ pageSize
231
+ } = await this.fetchCustomerListData(params);
232
+
233
+ // 保存搜索条件(排除skip和num)
234
+ const {
235
+ skip,
236
+ num,
237
+ ...searchParams
238
+ } = params;
239
+ this.store.searchParams = (0, _lodashEs.cloneDeep)(searchParams);
240
+
241
+ // 更新分页状态
167
242
  this.store.currentPage = page;
168
243
  this.store.pageSize = pageSize;
169
244
  this.store.total = total;
245
+
246
+ // 计算是否还有更多数据
170
247
  this.store.hasMore = page * pageSize < total;
171
- this.store.customerList = (0, import_lodash_es.cloneDeep)(customerList);
172
- await this.core.effects.emit(
173
- `${this.name}:onCustomerListUpdate`,
174
- this.store
175
- );
248
+
249
+ // 设置客户列表(替换模式)
250
+ this.store.customerList = (0, _lodashEs.cloneDeep)(customerList);
251
+
252
+ // 触发分页变化事件
176
253
  this.triggerPaginationChange({
177
254
  page,
178
255
  pageSize,
@@ -187,37 +264,41 @@ var CustomerModule = class extends import_BaseModule.BaseModule {
187
264
  };
188
265
  return response;
189
266
  } catch (error) {
190
- await this.handleCustomerListError(error, "fetch customer list");
267
+ await this.handleCustomerListError(error, 'fetch customer list');
191
268
  throw error;
192
269
  } finally {
193
270
  this.store.loading = false;
194
271
  this.storeChange();
272
+ await this.core.effects.emit(`${this.name}:onCustomerListUpdate`, this.store);
195
273
  }
196
274
  }
275
+
197
276
  /**
198
277
  * 设置客户列表
199
278
  * @param customers 客户列表
200
279
  * @param total 总数
201
280
  */
202
281
  setCustomerList(customers, total) {
203
- this.store.customerList = (0, import_lodash_es.cloneDeep)(customers);
204
- if (typeof total === "number") {
282
+ this.store.customerList = (0, _lodashEs.cloneDeep)(customers);
283
+ if (typeof total === 'number') {
205
284
  this.store.total = total;
206
285
  }
207
286
  this.storeChange();
208
287
  }
288
+
209
289
  /**
210
290
  * 设置当前选择的客户
211
291
  * @param customer 选择的客户
212
292
  */
213
293
  setSelectedCustomer(customer) {
214
- this.store.selectedCustomer = !customer ? import_constants.DEFAULT_CUSTOMER : (0, import_lodash_es.cloneDeep)(customer);
215
- this.core.effects.emit(
216
- `${this.name}:onCustomerSelected`,
217
- this.store.selectedCustomer
218
- );
294
+ if (this.isSameSelectedCustomer(this.store.selectedCustomer, customer)) {
295
+ return;
296
+ }
297
+ this.store.selectedCustomer = !customer ? _constants.DEFAULT_CUSTOMER : (0, _lodashEs.cloneDeep)(customer);
298
+ this.core.effects.emit(`${this.name}:onCustomerSelected`, this.store.selectedCustomer);
219
299
  this.storeChange();
220
300
  }
301
+
221
302
  /**
222
303
  * 获取当前选择的客户
223
304
  * @returns 当前选择的客户
@@ -225,6 +306,7 @@ var CustomerModule = class extends import_BaseModule.BaseModule {
225
306
  getSelectedCustomer() {
226
307
  return this.store.selectedCustomer;
227
308
  }
309
+
228
310
  /**
229
311
  * 获取客户列表
230
312
  * @returns 客户列表
@@ -232,14 +314,16 @@ var CustomerModule = class extends import_BaseModule.BaseModule {
232
314
  getCustomers() {
233
315
  return [...this.store.customerList];
234
316
  }
317
+
235
318
  /**
236
319
  * 根据ID查找客户
237
320
  * @param id 客户ID
238
321
  * @returns 客户信息
239
322
  */
240
323
  getCustomerById(id) {
241
- return this.store.customerList.find((customer) => customer.id === id) || null;
324
+ return this.store.customerList.find(customer => customer.id === id) || null;
242
325
  }
326
+
243
327
  /**
244
328
  * 清空客户列表
245
329
  */
@@ -248,37 +332,43 @@ var CustomerModule = class extends import_BaseModule.BaseModule {
248
332
  this.store.selectedCustomer = null;
249
333
  this.store.total = 0;
250
334
  this.store.currentPage = 1;
251
- this.store.pageSize = import_constants.DEFAULT_PAGE_SIZE;
335
+ this.store.pageSize = _constants.DEFAULT_PAGE_SIZE;
252
336
  this.store.hasMore = true;
253
337
  this.store.loadingMore = false;
254
338
  this.store.searchParams = {};
255
- this.core.effects.emit(
256
- `${this.name}:onCustomerListUpdate`,
257
- this.store
258
- );
339
+ this.core.effects.emit(`${this.name}:onCustomerListUpdate`, this.store);
259
340
  this.storeChange();
260
341
  }
342
+
261
343
  /**
262
344
  * 添加客户到列表第一位
263
345
  * @param customer 要添加的客户信息
264
346
  */
265
347
  addCustomerToFirst(customer) {
266
- const newCustomer = (0, import_lodash_es.cloneDeep)(customer);
348
+ // 深拷贝客户对象以避免引用问题
349
+ const newCustomer = (0, _lodashEs.cloneDeep)(customer);
350
+
351
+ // 将客户添加到列表第一位
267
352
  this.store.customerList = [newCustomer, ...this.store.customerList];
353
+
354
+ // 更新总数
268
355
  this.store.total += 1;
269
- this.core.effects.emit(
270
- `${this.name}:onCustomerListUpdate`,
271
- this.store
272
- );
356
+
357
+ // 触发客户列表更新事件
358
+ this.core.effects.emit(`${this.name}:onCustomerListUpdate`, this.store);
359
+
360
+ // 保存状态变化
273
361
  this.storeChange();
274
362
  }
363
+
275
364
  /**
276
365
  * 获取当前状态
277
366
  * @returns 当前状态
278
367
  */
279
368
  getState() {
280
- return (0, import_lodash_es.cloneDeep)(this.store);
369
+ return (0, _lodashEs.cloneDeep)(this.store);
281
370
  }
371
+
282
372
  /**
283
373
  * 获取分页信息
284
374
  * @returns 分页信息
@@ -291,16 +381,15 @@ var CustomerModule = class extends import_BaseModule.BaseModule {
291
381
  totalPages: Math.ceil(this.store.total / this.store.pageSize)
292
382
  };
293
383
  }
384
+
294
385
  /**
295
386
  * 触发分页变化事件
296
387
  * @param pagination 分页信息
297
388
  */
298
389
  triggerPaginationChange(pagination) {
299
- this.core.effects.emit(
300
- `${this.name}:onPaginationChange`,
301
- pagination
302
- );
390
+ this.core.effects.emit(`${this.name}:onPaginationChange`, pagination);
303
391
  }
392
+
304
393
  /**
305
394
  * 设置分页信息
306
395
  * @param page 页码
@@ -310,6 +399,8 @@ var CustomerModule = class extends import_BaseModule.BaseModule {
310
399
  this.store.currentPage = page;
311
400
  this.store.pageSize = pageSize;
312
401
  this.storeChange();
402
+
403
+ // 触发分页变化事件
313
404
  this.triggerPaginationChange({
314
405
  page,
315
406
  pageSize,
@@ -317,6 +408,7 @@ var CustomerModule = class extends import_BaseModule.BaseModule {
317
408
  totalPages: Math.ceil(this.store.total / pageSize)
318
409
  });
319
410
  }
411
+
320
412
  /**
321
413
  * 便捷方法:切换分页并自动获取数据
322
414
  * @param page 页码
@@ -325,21 +417,28 @@ var CustomerModule = class extends import_BaseModule.BaseModule {
325
417
  */
326
418
  async changeCustomerPage(page, pageSize) {
327
419
  const targetPageSize = pageSize || this.store.pageSize;
420
+
421
+ // 先更新分页状态
328
422
  this.setPaginationInfo(page, targetPageSize);
423
+
424
+ // skip直接使用page,num使用pageSize
329
425
  const skip = page;
330
426
  const num = targetPageSize;
427
+
428
+ // 自动调用获取客户列表,使用存储的搜索条件
331
429
  return await this.getCustomerList({
332
430
  skip,
333
431
  num,
334
- ...this.store.searchParams
335
- // 使用存储的搜索条件
432
+ ...this.store.searchParams // 使用存储的搜索条件
336
433
  });
337
434
  }
435
+
338
436
  /**
339
437
  * 滚动加载更多客户数据 - 数据会追加到现有列表中
340
438
  * @returns 客户列表响应
341
439
  */
342
440
  async loadMoreCustomers() {
441
+ // 如果没有更多数据或正在加载,直接返回
343
442
  if (!this.store.hasMore || this.store.loadingMore) {
344
443
  return {
345
444
  list: [],
@@ -348,34 +447,44 @@ var CustomerModule = class extends import_BaseModule.BaseModule {
348
447
  pageSize: this.store.pageSize
349
448
  };
350
449
  }
450
+
451
+ // 计算下一页
351
452
  const nextPage = this.store.currentPage + 1;
352
453
  try {
353
454
  this.store.loadingMore = true;
354
455
  this.store.error = null;
355
- const { customerList: newCustomers, total, page, pageSize } = await this.fetchCustomerListData({
456
+ const loadMoreParams = {
356
457
  skip: nextPage,
357
458
  num: this.store.pageSize,
358
- ...this.store.searchParams
359
- // 使用存储的搜索条件
360
- });
361
- const updatedCustomerList = [...this.store.customerList, ...(0, import_lodash_es.cloneDeep)(newCustomers)];
459
+ ...this.store.searchParams // 使用存储的搜索条件
460
+ };
461
+
462
+ // 使用公共方法获取数据,传入存储的搜索条件
463
+ const {
464
+ customerList: newCustomers,
465
+ total,
466
+ page,
467
+ pageSize
468
+ } = await this.fetchCustomerListData(loadMoreParams);
469
+
470
+ // 将新数据追加到现有列表(追加模式)
471
+ const updatedCustomerList = [...this.store.customerList, ...(0, _lodashEs.cloneDeep)(newCustomers)];
472
+
473
+ // 更新状态
362
474
  this.store.customerList = updatedCustomerList;
363
475
  this.store.currentPage = page;
364
476
  this.store.total = total;
365
477
  this.store.hasMore = page * pageSize < total;
366
- await this.core.effects.emit(
367
- `${this.name}:onScrollLoadMore`,
368
- {
369
- newCustomers,
370
- allCustomers: this.store.customerList,
371
- currentPage: page,
372
- hasMore: this.store.hasMore
373
- }
374
- );
375
- await this.core.effects.emit(
376
- `${this.name}:onCustomerListUpdate`,
377
- this.store
378
- );
478
+
479
+ // 触发滚动加载特定事件
480
+ await this.core.effects.emit(`${this.name}:onScrollLoadMore`, {
481
+ newCustomers,
482
+ allCustomers: this.store.customerList,
483
+ currentPage: page,
484
+ hasMore: this.store.hasMore
485
+ });
486
+
487
+ // 触发分页变化事件
379
488
  this.triggerPaginationChange({
380
489
  page,
381
490
  pageSize,
@@ -391,39 +500,46 @@ var CustomerModule = class extends import_BaseModule.BaseModule {
391
500
  };
392
501
  return response;
393
502
  } catch (error) {
394
- await this.handleCustomerListError(error, "load more customers");
503
+ await this.handleCustomerListError(error, 'load more customers');
395
504
  throw error;
396
505
  } finally {
397
506
  this.store.loadingMore = false;
398
507
  this.storeChange();
508
+ await this.core.effects.emit(`${this.name}:onCustomerListUpdate`, this.store);
399
509
  }
400
510
  }
511
+
401
512
  /**
402
513
  * 重置并重新开始滚动加载
403
514
  * @param params 查询参数
404
515
  * @returns 客户列表响应
405
516
  */
406
517
  async resetAndLoadCustomers(params = {}) {
518
+ // 重置状态
407
519
  this.store.customerList = [];
408
520
  this.store.currentPage = 1;
409
521
  this.store.hasMore = true;
410
522
  this.store.loadingMore = false;
523
+
524
+ // 使用第一页参数
411
525
  const resetParams = {
412
526
  ...params,
413
527
  skip: 1,
414
528
  num: params.num || this.store.pageSize
415
529
  };
530
+
531
+ // 调用普通的获取列表方法
416
532
  const response = await this.getCustomerList(resetParams);
417
- await this.core.effects.emit(
418
- `${this.name}:onScrollLoadComplete`,
419
- {
420
- customers: this.store.customerList,
421
- total: this.store.total,
422
- hasMore: this.store.hasMore
423
- }
424
- );
533
+
534
+ // 触发滚动加载完成事件
535
+ await this.core.effects.emit(`${this.name}:onScrollLoadComplete`, {
536
+ customers: this.store.customerList,
537
+ total: this.store.total,
538
+ hasMore: this.store.hasMore
539
+ });
425
540
  return response;
426
541
  }
542
+
427
543
  /**
428
544
  * 检查是否还有更多数据可以加载
429
545
  * @returns 是否还有更多数据
@@ -431,30 +547,30 @@ var CustomerModule = class extends import_BaseModule.BaseModule {
431
547
  hasMoreCustomers() {
432
548
  return this.store.hasMore && !this.store.loadingMore;
433
549
  }
550
+
434
551
  /**
435
552
  * 获取当前的搜索条件
436
553
  * @returns 当前搜索条件
437
554
  */
438
555
  getCurrentSearchParams() {
439
- return (0, import_lodash_es.cloneDeep)(this.store.searchParams);
556
+ return (0, _lodashEs.cloneDeep)(this.store.searchParams);
440
557
  }
558
+
441
559
  /**
442
560
  * 缓存状态变化
443
561
  */
444
562
  storeChange() {
445
563
  if (this.openCache) {
446
- const store = (0, import_lodash_es.cloneDeep)(this.store);
564
+ const store = (0, _lodashEs.cloneDeep)(this.store);
447
565
  this.checkSaveCache({
448
566
  cacheId: this.cacheId,
449
567
  fatherModule: this.fatherModule,
450
568
  store,
451
- cacheKey: ["customerList", "selectedCustomer", "total", "currentPage", "pageSize", "hasMore", "loadingMore", "searchParams"]
569
+ cacheKey: ['customerList', 'selectedCustomer', 'total', 'currentPage', 'pageSize', 'hasMore', 'loadingMore', 'searchParams']
452
570
  });
453
571
  }
454
572
  }
455
- };
456
- // Annotate the CommonJS export names for ESM import in node:
457
- 0 && (module.exports = {
458
- CustomerModule,
459
- ...require("./types")
460
- });
573
+ }
574
+
575
+ // 导出类型和模块
576
+ exports.CustomerModule = CustomerModule;