@pisell/pisellos 0.0.569 → 0.10.1

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 (329) hide show
  1. package/dist/core/index.js +10 -6
  2. package/dist/index.d.ts +0 -1
  3. package/dist/index.js +0 -3
  4. package/dist/model/strategy/adapter/walletPass/evaluator.js +7 -5
  5. package/dist/model/strategy/adapter/walletPass/example.js +26 -3
  6. package/dist/model/strategy/adapter/walletPass/index.js +5 -5
  7. package/dist/model/strategy/adapter/walletPass/type.d.ts +0 -3
  8. package/dist/model/strategy/adapter/walletPass/utils.d.ts +0 -26
  9. package/dist/model/strategy/adapter/walletPass/utils.js +17 -92
  10. package/dist/model/strategy/strategy-example.js +19 -5
  11. package/dist/modules/BaseModule.d.ts +1 -1
  12. package/dist/modules/BaseModule.js +8 -10
  13. package/dist/modules/Cart/index.js +3 -0
  14. package/dist/modules/Cart/utils/cartProduct.js +1 -0
  15. package/dist/modules/Cart/utils/cartResource.js +0 -2
  16. package/dist/modules/Cart/utils/changePrice.js +9 -16
  17. package/dist/modules/Date/index.js +5 -1
  18. package/dist/modules/Discount/index.d.ts +0 -1
  19. package/dist/modules/Discount/index.js +7 -22
  20. package/dist/modules/Discount/types.d.ts +0 -1
  21. package/dist/modules/OpenData/index.js +2 -0
  22. package/dist/modules/Order/index.d.ts +1 -1
  23. package/dist/modules/Order/index.js +70 -40
  24. package/dist/modules/Payment/index.js +162 -97
  25. package/dist/modules/Payment/types.d.ts +4 -8
  26. package/dist/modules/Payment/walletpass.d.ts +0 -2
  27. package/dist/modules/Payment/walletpass.js +5 -4
  28. package/dist/modules/ProductList/index.d.ts +1 -1
  29. package/dist/modules/ProductList/index.js +3 -12
  30. package/dist/modules/ProductList/types.d.ts +0 -1
  31. package/dist/modules/Rules/index.js +126 -427
  32. package/dist/modules/SalesSummary/utils.js +1 -2
  33. package/dist/modules/Schedule/getDateIsInSchedule.js +0 -5
  34. package/dist/modules/Schedule/index.js +1 -0
  35. package/dist/modules/Schedule/utils.js +1 -0
  36. package/dist/modules/Step/index.js +1 -0
  37. package/dist/modules/Summary/utils.js +22 -43
  38. package/dist/plugins/request.js +4 -1
  39. package/dist/plugins/window.js +6 -2
  40. package/dist/server/index.js +129 -97
  41. package/dist/server/modules/menu/index.js +41 -32
  42. package/dist/server/modules/order/index.js +4 -2
  43. package/dist/server/modules/products/index.js +42 -24
  44. package/dist/server/modules/quotation/index.js +38 -29
  45. package/dist/server/modules/resource/index.js +4 -3
  46. package/dist/server/modules/schedule/index.js +35 -27
  47. package/dist/server/utils/product.js +1 -0
  48. package/dist/solution/BaseSales/index.js +41 -38
  49. package/dist/solution/BookingByStep/index.d.ts +1 -1
  50. package/dist/solution/BookingByStep/index.js +60 -11
  51. package/dist/solution/BookingByStep/utils/capacity.js +11 -1
  52. package/dist/solution/BookingByStep/utils/resources.js +3 -1
  53. package/dist/solution/BookingByStep/utils/timeslots.js +43 -2
  54. package/dist/solution/BookingTicket/index.d.ts +1 -1
  55. package/dist/solution/BookingTicket/index.js +2 -0
  56. package/dist/solution/BookingTicket/utils/scan/cloudSearch.js +7 -6
  57. package/dist/solution/BookingTicket/utils/scan/handleScan.js +31 -25
  58. package/dist/solution/BookingTicket/utils/scan/index.js +10 -6
  59. package/dist/solution/BuyTickets/index.js +12 -9
  60. package/dist/solution/Checkout/index.js +252 -177
  61. package/dist/solution/Checkout/utils/index.js +16 -4
  62. package/dist/solution/RegisterAndLogin/index.js +76 -30
  63. package/dist/solution/ScanOrder/index.js +60 -50
  64. package/dist/solution/ShopDiscount/index.js +14 -15
  65. package/dist/solution/ShopDiscount/types.d.ts +4 -5
  66. package/dist/solution/ShopDiscount/utils.d.ts +0 -9
  67. package/dist/solution/ShopDiscount/utils.js +0 -9
  68. package/dist/solution/VenueBooking/index.d.ts +3 -31
  69. package/dist/solution/VenueBooking/index.js +496 -651
  70. package/dist/solution/VenueBooking/types.d.ts +1 -3
  71. package/dist/solution/VenueBooking/types.js +0 -1
  72. package/dist/solution/VenueBooking/utils/dateSummary.d.ts +2 -2
  73. package/dist/solution/VenueBooking/utils/dateSummary.js +25 -12
  74. package/dist/solution/VenueBooking/utils/timeSlot.d.ts +0 -2
  75. package/dist/solution/VenueBooking/utils/timeSlot.js +4 -9
  76. package/dist/types/index.d.ts +1 -1
  77. package/dist/utils/task.js +18 -15
  78. package/dist/utils/watch.js +1 -0
  79. package/lib/apis/picoding.js +0 -2
  80. package/lib/core/index.js +132 -130
  81. package/lib/effects/index.js +57 -46
  82. package/lib/index.d.ts +0 -1
  83. package/lib/index.js +50 -92
  84. package/lib/model/index.js +21 -14
  85. package/lib/model/strategy/adapter/dataVariant/adapter.js +50 -38
  86. package/lib/model/strategy/adapter/dataVariant/evaluator.js +236 -162
  87. package/lib/model/strategy/adapter/dataVariant/examples.js +237 -229
  88. package/lib/model/strategy/adapter/dataVariant/index.js +34 -39
  89. package/lib/model/strategy/adapter/dataVariant/type.js +28 -57
  90. package/lib/model/strategy/adapter/index.js +64 -100
  91. package/lib/model/strategy/adapter/itemRule/adapter.js +144 -156
  92. package/lib/model/strategy/adapter/itemRule/evaluator.js +48 -36
  93. package/lib/model/strategy/adapter/itemRule/examples.js +225 -295
  94. package/lib/model/strategy/adapter/itemRule/index.js +57 -83
  95. package/lib/model/strategy/adapter/itemRule/type.js +36 -97
  96. package/lib/model/strategy/adapter/promotion/adapter.js +63 -84
  97. package/lib/model/strategy/adapter/promotion/evaluator.js +231 -381
  98. package/lib/model/strategy/adapter/promotion/examples.js +159 -139
  99. package/lib/model/strategy/adapter/promotion/index.js +0 -1
  100. package/lib/model/strategy/adapter/promotion/type.js +35 -199
  101. package/lib/model/strategy/adapter/type.js +16 -4
  102. package/lib/model/strategy/adapter/walletPass/evaluator.js +152 -180
  103. package/lib/model/strategy/adapter/walletPass/example.js +190 -217
  104. package/lib/model/strategy/adapter/walletPass/index.js +51 -75
  105. package/lib/model/strategy/adapter/walletPass/locales.js +58 -36
  106. package/lib/model/strategy/adapter/walletPass/type.d.ts +0 -3
  107. package/lib/model/strategy/adapter/walletPass/type.js +16 -4
  108. package/lib/model/strategy/adapter/walletPass/utils.d.ts +0 -26
  109. package/lib/model/strategy/adapter/walletPass/utils.js +383 -678
  110. package/lib/model/strategy/engine.js +168 -270
  111. package/lib/model/strategy/index.js +34 -49
  112. package/lib/model/strategy/strategy-example.js +239 -243
  113. package/lib/model/strategy/type.js +40 -100
  114. package/lib/modules/Account/index.js +53 -39
  115. package/lib/modules/Account/types.js +33 -20
  116. package/lib/modules/AccountList/index.js +154 -116
  117. package/lib/modules/AccountList/types.js +31 -30
  118. package/lib/modules/AccountList/utils.js +30 -18
  119. package/lib/modules/BaseModule.d.ts +1 -1
  120. package/lib/modules/BaseModule.js +46 -25
  121. package/lib/modules/BookingContext/index.js +136 -158
  122. package/lib/modules/BookingContext/types.js +32 -46
  123. package/lib/modules/BookingContext/utils/buildCacheItemFromOrderLine.js +143 -131
  124. package/lib/modules/BookingContext/utils/buildNormalProductCacheItemFromOrderLine.js +82 -75
  125. package/lib/modules/BookingContext/utils/cacheItemToBookingInput.js +150 -170
  126. package/lib/modules/BookingContext/utils/flexible.js +55 -38
  127. package/lib/modules/BookingContext/utils/formatResourceList.js +34 -19
  128. package/lib/modules/BookingContext/utils/index.js +41 -124
  129. package/lib/modules/BookingContext/utils/noResource.js +70 -58
  130. package/lib/modules/BookingContext/utils/orderLineDisplay.js +41 -14
  131. package/lib/modules/BookingContext/utils/productExtend.js +155 -202
  132. package/lib/modules/BookingContext/utils/resourceErrors.js +53 -53
  133. package/lib/modules/BookingContext/utils/resourceSelection.js +41 -19
  134. package/lib/modules/BookingContext/utils/resources.js +167 -209
  135. package/lib/modules/BookingContext/utils/serviceTimes.js +116 -115
  136. package/lib/modules/BookingContext/utils/timeSlices.js +80 -70
  137. package/lib/modules/Cart/index.js +124 -170
  138. package/lib/modules/Cart/types.js +51 -46
  139. package/lib/modules/Cart/utils/cartAccount.js +39 -40
  140. package/lib/modules/Cart/utils/cartDate.js +61 -56
  141. package/lib/modules/Cart/utils/cartDiscount.js +33 -28
  142. package/lib/modules/Cart/utils/cartNote.js +32 -27
  143. package/lib/modules/Cart/utils/cartProduct.js +251 -321
  144. package/lib/modules/Cart/utils/cartRelationForms.js +35 -29
  145. package/lib/modules/Cart/utils/cartResource.js +78 -72
  146. package/lib/modules/Cart/utils/changePrice.js +50 -28
  147. package/lib/modules/Cart/utils/index.js +48 -106
  148. package/lib/modules/Customer/constants.js +34 -13
  149. package/lib/modules/Customer/index.js +169 -232
  150. package/lib/modules/Customer/types.js +35 -38
  151. package/lib/modules/Date/index.js +115 -116
  152. package/lib/modules/Date/types.js +28 -16
  153. package/lib/modules/Date/utils.js +123 -174
  154. package/lib/modules/Discount/index.d.ts +0 -1
  155. package/lib/modules/Discount/index.js +128 -130
  156. package/lib/modules/Discount/types.d.ts +0 -1
  157. package/lib/modules/Discount/types.js +31 -9
  158. package/lib/modules/Guests/index.js +56 -30
  159. package/lib/modules/Guests/types.js +33 -23
  160. package/lib/modules/Holder/index.js +189 -209
  161. package/lib/modules/Holder/types.js +16 -4
  162. package/lib/modules/Holder/utils.js +49 -20
  163. package/lib/modules/OpenData/index.js +76 -69
  164. package/lib/modules/OpenData/types.js +16 -4
  165. package/lib/modules/OpenData/utils.js +78 -44
  166. package/lib/modules/Order/index.d.ts +1 -1
  167. package/lib/modules/Order/index.js +1909 -1572
  168. package/lib/modules/Order/types.js +35 -78
  169. package/lib/modules/Order/utils/bundleDiscountHydration.js +74 -41
  170. package/lib/modules/Order/utils/manualProductDiscount.js +123 -124
  171. package/lib/modules/Order/utils/orderCollectionIdentity.js +210 -148
  172. package/lib/modules/Order/utils.js +634 -799
  173. package/lib/modules/Payment/cash.js +33 -20
  174. package/lib/modules/Payment/cashRecommendationAlgorithm.js +76 -145
  175. package/lib/modules/Payment/eftpos.js +30 -16
  176. package/lib/modules/Payment/index.js +378 -518
  177. package/lib/modules/Payment/mx51.js +0 -1
  178. package/lib/modules/Payment/types.d.ts +4 -8
  179. package/lib/modules/Payment/types.js +107 -216
  180. package/lib/modules/Payment/utils.js +48 -51
  181. package/lib/modules/Payment/walletpass.d.ts +0 -2
  182. package/lib/modules/Payment/walletpass.js +211 -226
  183. package/lib/modules/Product/index.js +46 -51
  184. package/lib/modules/Product/types.js +16 -4
  185. package/lib/modules/Product/utils.js +33 -32
  186. package/lib/modules/ProductList/index.d.ts +1 -1
  187. package/lib/modules/ProductList/index.js +117 -117
  188. package/lib/modules/ProductList/types.d.ts +0 -1
  189. package/lib/modules/ProductList/types.js +31 -9
  190. package/lib/modules/Quotation/index.js +100 -66
  191. package/lib/modules/Quotation/types.js +16 -4
  192. package/lib/modules/Resource/index.js +59 -27
  193. package/lib/modules/Resource/types.js +32 -22
  194. package/lib/modules/Resource/utils.js +38 -30
  195. package/lib/modules/ResourcePlanner/index.js +61 -60
  196. package/lib/modules/ResourcePlanner/planner.js +384 -346
  197. package/lib/modules/ResourcePlanner/types.js +16 -4
  198. package/lib/modules/Rules/index.js +903 -1475
  199. package/lib/modules/Rules/types.js +40 -17
  200. package/lib/modules/SalesSummary/index.js +90 -85
  201. package/lib/modules/SalesSummary/types.js +16 -4
  202. package/lib/modules/SalesSummary/utils.js +427 -351
  203. package/lib/modules/ScanOrderLogger/index.js +79 -59
  204. package/lib/modules/ScanOrderLogger/providers/feishu.js +78 -54
  205. package/lib/modules/ScanOrderLogger/providers/grafana.js +36 -13
  206. package/lib/modules/ScanOrderLogger/types.js +16 -4
  207. package/lib/modules/Schedule/getDateIsInSchedule.js +163 -339
  208. package/lib/modules/Schedule/index.js +114 -100
  209. package/lib/modules/Schedule/type.js +16 -4
  210. package/lib/modules/Schedule/types.js +16 -4
  211. package/lib/modules/Schedule/utils.js +291 -433
  212. package/lib/modules/Step/index.js +52 -40
  213. package/lib/modules/Step/tyeps.js +16 -4
  214. package/lib/modules/Summary/index.js +71 -66
  215. package/lib/modules/Summary/types.js +16 -4
  216. package/lib/modules/Summary/utils.js +418 -791
  217. package/lib/modules/SurchargeList/index.js +60 -46
  218. package/lib/modules/SurchargeList/types.js +16 -4
  219. package/lib/modules/index.js +63 -245
  220. package/lib/plugins/app.js +16 -4
  221. package/lib/plugins/index.js +25 -36
  222. package/lib/plugins/request.js +126 -137
  223. package/lib/plugins/shopStore.js +16 -4
  224. package/lib/plugins/user.js +16 -4
  225. package/lib/plugins/window.js +179 -171
  226. package/lib/server/index.js +2337 -2675
  227. package/lib/server/modules/floor-plan/index.js +123 -102
  228. package/lib/server/modules/floor-plan/types.js +30 -15
  229. package/lib/server/modules/index.js +68 -106
  230. package/lib/server/modules/menu/index.js +122 -146
  231. package/lib/server/modules/menu/types.js +31 -18
  232. package/lib/server/modules/order/index.js +642 -567
  233. package/lib/server/modules/order/types.js +32 -117
  234. package/lib/server/modules/order/utils/filterBookings.js +194 -219
  235. package/lib/server/modules/order/utils/filterOrders.js +92 -118
  236. package/lib/server/modules/payment/index.js +83 -59
  237. package/lib/server/modules/payment/types.js +16 -4
  238. package/lib/server/modules/products/index.js +459 -575
  239. package/lib/server/modules/products/types.js +34 -44
  240. package/lib/server/modules/quotation/index.js +172 -137
  241. package/lib/server/modules/quotation/types.js +31 -21
  242. package/lib/server/modules/resource/index.js +184 -213
  243. package/lib/server/modules/resource/types.js +33 -42
  244. package/lib/server/modules/schedule/index.js +123 -135
  245. package/lib/server/modules/schedule/types.js +21 -14
  246. package/lib/server/modules/schedule/utils.js +163 -334
  247. package/lib/server/types.js +16 -4
  248. package/lib/server/utils/index.js +23 -25
  249. package/lib/server/utils/product.js +139 -196
  250. package/lib/server/utils/schedule.js +41 -34
  251. package/lib/server/utils/small-ticket.js +456 -478
  252. package/lib/server/utils/time.js +49 -40
  253. package/lib/solution/BaseSales/index.js +1016 -850
  254. package/lib/solution/BaseSales/types.js +37 -41
  255. package/lib/solution/BaseSales/utils/cartPromotion.js +460 -611
  256. package/lib/solution/BaseSales/utils/parseSalesResponse.js +105 -85
  257. package/lib/solution/BaseSales/utils/quotationPrice.js +114 -56
  258. package/lib/solution/BaseSales/utils/transformBaseProductToOrderProduct.js +143 -102
  259. package/lib/solution/BaseSales/utils.js +140 -155
  260. package/lib/solution/BookingByStep/index.d.ts +1 -1
  261. package/lib/solution/BookingByStep/index.js +1340 -1530
  262. package/lib/solution/BookingByStep/types.js +99 -40
  263. package/lib/solution/BookingByStep/utils/capacity.js +160 -192
  264. package/lib/solution/BookingByStep/utils/products.js +52 -42
  265. package/lib/solution/BookingByStep/utils/resources.js +330 -527
  266. package/lib/solution/BookingByStep/utils/stock.js +44 -65
  267. package/lib/solution/BookingByStep/utils/timeslots.js +131 -129
  268. package/lib/solution/BookingTicket/index.d.ts +1 -1
  269. package/lib/solution/BookingTicket/index.js +459 -543
  270. package/lib/solution/BookingTicket/types.js +77 -99
  271. package/lib/solution/BookingTicket/utils/addProductDecision.js +184 -219
  272. package/lib/solution/BookingTicket/utils/addTimeAvailability.js +89 -58
  273. package/lib/solution/BookingTicket/utils/bookingStatus.js +78 -107
  274. package/lib/solution/BookingTicket/utils/cartView.js +94 -110
  275. package/lib/solution/BookingTicket/utils/exampleData.js +0 -185
  276. package/lib/solution/BookingTicket/utils/orderCustomer.js +41 -18
  277. package/lib/solution/BookingTicket/utils/resolveBestAddTimePlan.js +86 -219
  278. package/lib/solution/BookingTicket/utils/scan/applyGlobalScan.js +93 -144
  279. package/lib/solution/BookingTicket/utils/scan/cloudSearch.js +91 -79
  280. package/lib/solution/BookingTicket/utils/scan/formatGlobalScan.js +41 -54
  281. package/lib/solution/BookingTicket/utils/scan/handleScan.js +81 -84
  282. package/lib/solution/BookingTicket/utils/scan/index.js +104 -98
  283. package/lib/solution/BookingTicket/utils/scan/scanCache.js +43 -90
  284. package/lib/solution/BookingTicket/utils/scan/scanProductValues.js +64 -52
  285. package/lib/solution/BookingTicket/utils/sessionCatalogStale.js +58 -56
  286. package/lib/solution/BuyTickets/index.js +70 -67
  287. package/lib/solution/BuyTickets/types.js +38 -22
  288. package/lib/solution/Checkout/index.js +1158 -1451
  289. package/lib/solution/Checkout/types.js +61 -91
  290. package/lib/solution/Checkout/utils/index.js +156 -228
  291. package/lib/solution/PlaceOrder/index.js +0 -55
  292. package/lib/solution/RegisterAndLogin/config.js +460 -493
  293. package/lib/solution/RegisterAndLogin/index.js +630 -633
  294. package/lib/solution/RegisterAndLogin/types.js +76 -189
  295. package/lib/solution/RegisterAndLogin/utils.js +125 -183
  296. package/lib/solution/Sales/index.js +320 -317
  297. package/lib/solution/Sales/types.js +33 -27
  298. package/lib/solution/ScanOrder/index.js +862 -831
  299. package/lib/solution/ScanOrder/types.js +34 -33
  300. package/lib/solution/ScanOrder/utils.js +371 -406
  301. package/lib/solution/ShopDiscount/index.js +233 -235
  302. package/lib/solution/ShopDiscount/types.d.ts +4 -5
  303. package/lib/solution/ShopDiscount/types.js +37 -15
  304. package/lib/solution/ShopDiscount/utils.d.ts +0 -9
  305. package/lib/solution/ShopDiscount/utils.js +172 -309
  306. package/lib/solution/UnifiedBookingSales/index.js +405 -379
  307. package/lib/solution/UnifiedBookingSales/types.js +31 -12
  308. package/lib/solution/VenueBooking/index.d.ts +3 -31
  309. package/lib/solution/VenueBooking/index.js +916 -967
  310. package/lib/solution/VenueBooking/types.d.ts +1 -3
  311. package/lib/solution/VenueBooking/types.js +39 -20
  312. package/lib/solution/VenueBooking/utils/dateSummary.d.ts +2 -2
  313. package/lib/solution/VenueBooking/utils/dateSummary.js +62 -25
  314. package/lib/solution/VenueBooking/utils/resource.js +54 -31
  315. package/lib/solution/VenueBooking/utils/slotMerge.js +107 -94
  316. package/lib/solution/VenueBooking/utils/timeSlot.d.ts +0 -2
  317. package/lib/solution/VenueBooking/utils/timeSlot.js +133 -138
  318. package/lib/solution/VenueBooking/utils.js +67 -130
  319. package/lib/solution/index.js +41 -124
  320. package/lib/store/createStore.js +29 -32
  321. package/lib/types/index.d.ts +1 -1
  322. package/lib/types/index.js +16 -4
  323. package/lib/utils/task.js +36 -36
  324. package/lib/utils/watch.js +47 -81
  325. package/package.json +2 -4
  326. package/dist/solution/VenueBooking/utils/smartPricing.d.ts +0 -70
  327. package/dist/solution/VenueBooking/utils/smartPricing.js +0 -233
  328. package/lib/solution/VenueBooking/utils/smartPricing.d.ts +0 -70
  329. package/lib/solution/VenueBooking/utils/smartPricing.js +0 -192
@@ -1,24 +1,46 @@
1
- "use strict";
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 __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
2
18
 
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
19
+ // src/modules/BookingContext/utils/resourceSelection.ts
20
+ var resourceSelection_exports = {};
21
+ __export(resourceSelection_exports, {
22
+ hasActualResourceSelection: () => hasActualResourceSelection,
23
+ productNeedsResourceExtend: () => productNeedsResourceExtend
5
24
  });
6
- exports.hasActualResourceSelection = hasActualResourceSelection;
7
- exports.productNeedsResourceExtend = productNeedsResourceExtend;
8
- /**
9
- * 预约商品资源是否「需要补齐 / 已选中」——供 getProductExtend 门禁与 getIsAutoClose 共用。
10
- */
11
-
12
- /** 商品是否挂了生效的资源表单(product_resource.resources status=1)。 */
25
+ module.exports = __toCommonJS(resourceSelection_exports);
13
26
  function productNeedsResourceExtend(cacheItem) {
14
- const forms = cacheItem?.product_resource?.resources;
15
- if (!Array.isArray(forms)) return false;
16
- return forms.some(d => Number(d?.status) === 1);
27
+ var _a;
28
+ const forms = (_a = cacheItem == null ? void 0 : cacheItem.product_resource) == null ? void 0 : _a.resources;
29
+ if (!Array.isArray(forms))
30
+ return false;
31
+ return forms.some((d) => Number(d == null ? void 0 : d.status) === 1);
17
32
  }
18
-
19
- /** `_extend.resource` 是否至少有一类表单选中了具体资源。 */
20
33
  function hasActualResourceSelection(cacheItem) {
21
- const resource = cacheItem?._extend?.resource;
22
- if (!resource || typeof resource !== 'object') return false;
23
- return Object.values(resource).some(rows => Array.isArray(rows) && rows.length > 0);
24
- }
34
+ var _a;
35
+ const resource = (_a = cacheItem == null ? void 0 : cacheItem._extend) == null ? void 0 : _a.resource;
36
+ if (!resource || typeof resource !== "object")
37
+ return false;
38
+ return Object.values(resource).some(
39
+ (rows) => Array.isArray(rows) && rows.length > 0
40
+ );
41
+ }
42
+ // Annotate the CommonJS export names for ESM import in node:
43
+ 0 && (module.exports = {
44
+ hasActualResourceSelection,
45
+ productNeedsResourceExtend
46
+ });
@@ -1,110 +1,117 @@
1
- "use strict";
1
+ var __create = Object.create;
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __getProtoOf = Object.getPrototypeOf;
6
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
7
+ var __export = (target, all) => {
8
+ for (var name in all)
9
+ __defProp(target, name, { get: all[name], enumerable: true });
10
+ };
11
+ var __copyProps = (to, from, except, desc) => {
12
+ if (from && typeof from === "object" || typeof from === "function") {
13
+ for (let key of __getOwnPropNames(from))
14
+ if (!__hasOwnProp.call(to, key) && key !== except)
15
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
16
+ }
17
+ return to;
18
+ };
19
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
20
+ // If the importer is in node compatibility mode or this is not an ESM
21
+ // file that has been converted to a CommonJS file using a Babel-
22
+ // compatible transform (i.e. "__esModule" has not been set), then set
23
+ // "default" to the CommonJS "module.exports" for node compatibility.
24
+ isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
25
+ mod
26
+ ));
27
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
2
28
 
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
29
+ // src/modules/BookingContext/utils/resources.ts
30
+ var resources_exports = {};
31
+ __export(resources_exports, {
32
+ formatResource: () => formatResource,
33
+ formatResources: () => formatResources,
34
+ formatTimes: () => formatTimes,
35
+ getResourceByIds: () => getResourceByIds,
36
+ getResourceTimeIsUsable: () => getResourceTimeIsUsable,
37
+ getSumCapacity: () => getSumCapacity,
38
+ getUsableTime: () => getUsableTime,
39
+ setDefaultCapacitys: () => setDefaultCapacitys,
40
+ setDefaultResource: () => setDefaultResource
5
41
  });
6
- exports.formatResource = formatResource;
7
- exports.formatResources = formatResources;
8
- exports.formatTimes = formatTimes;
9
- exports.getResourceByIds = getResourceByIds;
10
- exports.getResourceTimeIsUsable = getResourceTimeIsUsable;
11
- exports.getSumCapacity = getSumCapacity;
12
- exports.getUsableTime = getUsableTime;
13
- exports.setDefaultCapacitys = setDefaultCapacitys;
14
- exports.setDefaultResource = setDefaultResource;
15
- var _dayjs = _interopRequireDefault(require("dayjs"));
16
- var _lodashEs = require("lodash-es");
17
- var _flexible = require("./flexible");
18
- var _noResource = require("./noResource");
19
- var _serviceTimes = require("./serviceTimes");
20
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
21
- /**
22
- * 资源运行态计算 helper(搬自 info2 `utilsByBooking.ts` + `service/addService/utils.tsx`)。
23
- *
24
- * 本文件输入输出全部为 plain object,不依赖 React / locales / @pisell/icon / mini-redux。
25
- * 调用方传入:resource origin map(`/form/schedule` 返回) / cacheItem(含 `_extend.duration / _extend.start_date / _extend.start_time` 等)。
26
- *
27
- * 三个 info2 独有特性保留:
28
- * 1. `resource_display_scope='all'`:取全部资源
29
- * 2. `extraResources`:拖入未绑定资源时兼容渲染
30
- * 3. `getNoResource2()`:占位"无资源"行
31
- */
32
-
33
- /**
34
- * 从已选资源中取「最早结束」的 usableTime,供灵活时长计算上限。
35
- * 与 info2 `service/addService/utils.tsx#getUsableTime` 等价。
36
- */
42
+ module.exports = __toCommonJS(resources_exports);
43
+ var import_dayjs = __toESM(require("dayjs"));
44
+ var import_lodash_es = require("lodash-es");
45
+ var import_flexible = require("./flexible");
46
+ var import_noResource = require("./noResource");
47
+ var import_serviceTimes = require("./serviceTimes");
37
48
  function getUsableTime(cacheItem) {
49
+ var _a, _b, _c;
38
50
  try {
39
- const resourceByForm = cacheItem?._extend?.resource || {};
40
- const resourceMaps = cacheItem?._data?.resourceMaps || {};
51
+ const resourceByForm = ((_a = cacheItem == null ? void 0 : cacheItem._extend) == null ? void 0 : _a.resource) || {};
52
+ const resourceMaps = ((_b = cacheItem == null ? void 0 : cacheItem._data) == null ? void 0 : _b.resourceMaps) || {};
41
53
  let items = [];
42
54
  for (const formId of Object.keys(resourceByForm)) {
43
55
  const selected = resourceByForm[formId];
44
- const maps = resourceMaps[formId]?.renderListMaps;
45
- if (!Array.isArray(selected) || !maps) continue;
46
- items = items.concat(selected.map(d => maps[d.relation_id]).filter(Boolean));
56
+ const maps = (_c = resourceMaps[formId]) == null ? void 0 : _c.renderListMaps;
57
+ if (!Array.isArray(selected) || !maps)
58
+ continue;
59
+ items = items.concat(
60
+ selected.map((d) => maps[d.relation_id]).filter(Boolean)
61
+ );
47
62
  }
48
- if (!items.length) return null;
63
+ if (!items.length)
64
+ return null;
49
65
  return items.reduce((pre, event) => {
50
- const endAt = (0, _dayjs.default)(event._extend?.usableTime?.end_at);
51
- const preEnd = (0, _dayjs.default)(pre._extend?.usableTime?.end_at);
66
+ var _a2, _b2, _c2, _d;
67
+ const endAt = (0, import_dayjs.default)((_b2 = (_a2 = event._extend) == null ? void 0 : _a2.usableTime) == null ? void 0 : _b2.end_at);
68
+ const preEnd = (0, import_dayjs.default)((_d = (_c2 = pre._extend) == null ? void 0 : _c2.usableTime) == null ? void 0 : _d.end_at);
52
69
  return endAt.isBefore(preEnd) ? event : pre;
53
70
  }, items[0]);
54
71
  } catch {
55
72
  return null;
56
73
  }
57
74
  }
58
-
59
- /** Σ cacheItem._extend.capacity[].value × _extend.quantity。 */
60
75
  function getSumCapacity(cacheItem, isCalcQuantity = true) {
61
- const list = cacheItem?._extend?.capacity || [];
76
+ var _a, _b;
77
+ const list = ((_a = cacheItem == null ? void 0 : cacheItem._extend) == null ? void 0 : _a.capacity) || [];
62
78
  let sum = 0;
63
79
  for (const item of list) {
64
- sum += Number(item?.value || 0);
80
+ sum += Number((item == null ? void 0 : item.value) || 0);
65
81
  }
66
- return sum * (isCalcQuantity ? cacheItem?._extend?.quantity || 1 : 1);
82
+ return sum * (isCalcQuantity ? ((_b = cacheItem == null ? void 0 : cacheItem._extend) == null ? void 0 : _b.quantity) || 1 : 1);
67
83
  }
68
-
69
- /** 当前 time 剩余容量 = totalCapacity - Σ event.pax。 */
70
84
  function getUseableEventCount(eventList, current) {
71
- return (eventList || []).reduce((pre, event) => pre - (event?.pax || 0), current || 0);
85
+ return (eventList || []).reduce((pre, event) => pre - ((event == null ? void 0 : event.pax) || 0), current || 0);
72
86
  }
73
-
74
- /** 判断两个时间段是否有冲突。 */
75
87
  function isConflict(event, current) {
76
- const eventStart = (0, _dayjs.default)(event.start_at);
77
- const eventEnd = (0, _dayjs.default)(event.end_at);
78
- const currentStart = (0, _dayjs.default)(current.start_at);
88
+ const eventStart = (0, import_dayjs.default)(event.start_at);
89
+ const eventEnd = (0, import_dayjs.default)(event.end_at);
90
+ const currentStart = (0, import_dayjs.default)(current.start_at);
79
91
  const isBefore = currentStart.isBefore(eventEnd);
80
92
  let isAfter = true;
81
93
  if (current.end_at) {
82
- const currentEnd = (0, _dayjs.default)(current.end_at);
94
+ const currentEnd = (0, import_dayjs.default)(current.end_at);
83
95
  isAfter = currentEnd.isAfter(eventStart);
84
96
  }
85
97
  return isBefore && isAfter;
86
98
  }
87
-
88
- /**
89
- * 判断单个 time 是否可用,写回 `_extend` 标记位(isDateRange / isCountRange / isUsable / isMaxLimitRange)。
90
- * 与 info2 `utilsByBooking.ts#getResourceTimeIsUsable` 等价。
91
- */
92
99
  function getResourceTimeIsUsable(item, cacheItem, resourceItem) {
93
- const startDate = (0, _dayjs.default)(`${(0, _dayjs.default)(cacheItem._extend.start_date).format('YYYY-MM-DD')} ${(0, _serviceTimes.getServeStartTime)(cacheItem._extend.start_time)}`);
94
- const isFlexible = _flexible.flexibleObj.isFlexible(cacheItem._extend.duration);
100
+ const startDate = (0, import_dayjs.default)(
101
+ `${(0, import_dayjs.default)(cacheItem._extend.start_date).format("YYYY-MM-DD")} ${(0, import_serviceTimes.getServeStartTime)(cacheItem._extend.start_time)}`
102
+ );
103
+ const isFlexible = import_flexible.flexibleObj.isFlexible(cacheItem._extend.duration);
95
104
  let isMaxLimitRange = false;
96
105
  let isDateRange = false;
97
106
  let isCountRange = false;
98
- const time = {
99
- ...item
100
- };
101
- const timeStartDate = (0, _dayjs.default)(`${time.start_date} ${time.start_time}`).subtract(1, 'second');
102
- const timeEndDate = (0, _dayjs.default)(`${time.end_date} ${time.end_time}`).add(1, 'second');
107
+ const time = { ...item };
108
+ const timeStartDate = (0, import_dayjs.default)(`${time.start_date} ${time.start_time}`).subtract(1, "second");
109
+ const timeEndDate = (0, import_dayjs.default)(`${time.end_date} ${time.end_time}`).add(1, "second");
103
110
  const totalCount = getUseableEventCount(time.event_list, resourceItem.capacity);
104
111
  const currentCount = getSumCapacity(cacheItem);
105
112
  let eventList = time.event_list || [];
106
- if (cacheItem?.booking_id) {
107
- eventList = eventList.filter(event => event.id !== cacheItem.booking_id);
113
+ if (cacheItem == null ? void 0 : cacheItem.booking_id) {
114
+ eventList = eventList.filter((event) => event.id !== cacheItem.booking_id);
108
115
  }
109
116
  let endDate = null;
110
117
  let isCalcCount = true;
@@ -116,25 +123,20 @@ function getResourceTimeIsUsable(item, cacheItem, resourceItem) {
116
123
  isCountRange = false;
117
124
  }
118
125
  } else {
119
- endDate = startDate.add(_flexible.flexibleObj.getValue(cacheItem._extend.duration), 'minute');
126
+ endDate = startDate.add(import_flexible.flexibleObj.getValue(cacheItem._extend.duration), "minute");
120
127
  const isTimeRange = startDate.isAfter(timeStartDate) && endDate.isBefore(timeEndDate);
121
- if (isTimeRange) isDateRange = true;
128
+ if (isTimeRange)
129
+ isDateRange = true;
122
130
  }
123
131
  if (isCalcCount) {
124
- const conflict = (eventList || []).filter(d => isConflict({
125
- start_at: d.start_at,
126
- end_at: d.end_at
127
- }, {
128
- start_at: startDate,
129
- end_at: endDate
130
- }));
131
- if (resourceItem.resourceType === 'single') {
132
+ const conflict = (eventList || []).filter(
133
+ (d) => isConflict({ start_at: d.start_at, end_at: d.end_at }, { start_at: startDate, end_at: endDate })
134
+ );
135
+ if (resourceItem.resourceType === "single") {
132
136
  isCountRange = conflict.length === 0;
133
137
  } else {
134
138
  const conflictCount = getUseableEventCount(conflict, resourceItem.capacity);
135
139
  isCountRange = currentCount <= conflictCount;
136
- // totalCount 当前未直接参与判定,保留 reference 以与原版接近。
137
- void totalCount;
138
140
  }
139
141
  }
140
142
  const isUsable = isDateRange && isCountRange;
@@ -146,27 +148,22 @@ function getResourceTimeIsUsable(item, cacheItem, resourceItem) {
146
148
  };
147
149
  return time;
148
150
  }
149
-
150
- /**
151
- * 在 resource.times 中找到最佳可用 time,并写回 `_extend.usableTime`。
152
- * 与 info2 `utilsByBooking.ts#formatTimes` 等价。
153
- */
154
151
  function formatTimes(resourceItem, cacheItem) {
155
152
  const usableTimes = [];
156
- const _resourceItem = {
157
- ...resourceItem
158
- };
153
+ const _resourceItem = { ...resourceItem };
159
154
  const sum = getSumCapacity(cacheItem);
160
155
  if (_resourceItem.capacity >= sum) {
161
- _resourceItem.times = (_resourceItem.times || []).map(time => {
162
- const _time = getResourceTimeIsUsable(time, cacheItem, _resourceItem);
163
- if (_time?._extend?.isDateRange) usableTimes.push(_time);
164
- return _time;
156
+ _resourceItem.times = (_resourceItem.times || []).map((time) => {
157
+ var _a;
158
+ const _time2 = getResourceTimeIsUsable(time, cacheItem, _resourceItem);
159
+ if ((_a = _time2 == null ? void 0 : _time2._extend) == null ? void 0 : _a.isDateRange)
160
+ usableTimes.push(_time2);
161
+ return _time2;
165
162
  });
166
163
  }
167
164
  const _time = usableTimes.sort((a, b) => {
168
- const aEnd = (0, _dayjs.default)(`${a.end_date} ${a.end_time}`).valueOf();
169
- const bEnd = (0, _dayjs.default)(`${b.end_date} ${b.end_time}`).valueOf();
165
+ const aEnd = (0, import_dayjs.default)(`${a.end_date} ${a.end_time}`).valueOf();
166
+ const bEnd = (0, import_dayjs.default)(`${b.end_date} ${b.end_time}`).valueOf();
170
167
  return aEnd - bEnd;
171
168
  })[0];
172
169
  resourceItem._extend = {
@@ -175,81 +172,53 @@ function formatTimes(resourceItem, cacheItem) {
175
172
  };
176
173
  return resourceItem;
177
174
  }
178
-
179
- /**
180
- * 单个 resource 的整体可用性 + labelText 填充。
181
- * 与 info2 `utilsByBooking.ts#formatResource` 等价;不再接收 formatLabel 回调(OS 不渲染 JSX)。
182
- */
183
175
  function formatResource(resourceItem, cacheItem) {
184
- let _resourceItem = {
185
- ...resourceItem
186
- };
176
+ var _a, _b, _c;
177
+ let _resourceItem = { ...resourceItem };
187
178
  _resourceItem = formatTimes(_resourceItem, cacheItem);
188
179
  _resourceItem.labelText = _resourceItem.main_field;
189
- const usable = _resourceItem._extend?.usableTime?._extend?.isUsable;
180
+ const usable = (_c = (_b = (_a = _resourceItem._extend) == null ? void 0 : _a.usableTime) == null ? void 0 : _b._extend) == null ? void 0 : _c.isUsable;
190
181
  _resourceItem.usable = usable;
191
182
  return _resourceItem;
192
183
  }
193
-
194
- /**
195
- * 把单个 resource origin 类型(如「技师」)的 renderList 中每个资源跑一遍 formatResource,
196
- * 并维护 unbound 标记(拖入未绑定资源时 UI 用)。
197
- * 与 info2 `service/addService/utils.tsx#formatResources` 等价(剥 JSX)。
198
- */
199
184
  function formatResources(params) {
200
- const {
201
- cacheItem,
202
- resourcesOrigin
203
- } = params;
185
+ const { cacheItem, resourcesOrigin } = params;
204
186
  try {
205
187
  const maps = {};
206
- const list = resourcesOrigin.map(item => {
207
- const _item = (0, _lodashEs.cloneDeep)(item);
188
+ const list = resourcesOrigin.map((item) => {
189
+ const _item = (0, import_lodash_es.cloneDeep)(item);
208
190
  const renderListMaps = {};
209
- _item.renderList = _item.renderList.map(d => {
191
+ _item.renderList = _item.renderList.map((d) => {
210
192
  const res = formatResource(d, cacheItem);
211
193
  const unbound = !item.optional_resource.includes(res.id) && !item.default_resource.includes(res.id) && res.id !== 0;
212
- if (unbound) res.unbound = true;
194
+ if (unbound)
195
+ res.unbound = true;
213
196
  renderListMaps[res.id] = res;
214
197
  return res;
215
198
  }).sort((a, b) => b.usable ? 1 : -1);
216
- maps[_item.form_id] = {
217
- ..._item,
218
- renderListMaps
219
- };
199
+ maps[_item.form_id] = { ..._item, renderListMaps };
220
200
  return _item;
221
201
  });
222
- return {
223
- list,
224
- maps
225
- };
202
+ return { list, maps };
226
203
  } catch (err) {
227
- console.warn('[BookingContext] formatResources error', err);
228
- return {
229
- list: [],
230
- maps: {}
231
- };
204
+ console.warn("[BookingContext] formatResources error", err);
205
+ return { list: [], maps: {} };
232
206
  }
233
207
  }
234
-
235
- /** 取可用资源中"最大空闲时长"的那一个,作为自动分派候选。 */
236
208
  function getResourceMaxFreeTime(resource, isAutoAllocationOn) {
237
- const {
238
- renderList,
239
- form_id
240
- } = resource;
241
- if (!isAutoAllocationOn(form_id)) return [];
242
- const usableList = (renderList || []).filter(d => d.usable && d.id !== 0);
209
+ const { renderList, form_id } = resource;
210
+ if (!isAutoAllocationOn(form_id))
211
+ return [];
212
+ const usableList = (renderList || []).filter((d) => d.usable && d.id !== 0);
243
213
  let defaultResource = [];
244
214
  let maxFreeTime = 0;
245
- usableList.forEach(d => {
246
- const {
247
- times = []
248
- } = d;
215
+ usableList.forEach((d) => {
216
+ const { times = [] } = d;
249
217
  const currentMaxFreeTime = times.reduce((pre, cur) => {
250
- const start = cur.event_list?.[cur.event_list?.length - 1]?.end_at || cur.start_at;
218
+ var _a, _b, _c;
219
+ const start = ((_c = (_b = cur.event_list) == null ? void 0 : _b[((_a = cur.event_list) == null ? void 0 : _a.length) - 1]) == null ? void 0 : _c.end_at) || cur.start_at;
251
220
  const end = cur.end_at;
252
- const diff = (0, _dayjs.default)(end).diff((0, _dayjs.default)(start), 'minute');
221
+ const diff = (0, import_dayjs.default)(end).diff((0, import_dayjs.default)(start), "minute");
253
222
  return diff > pre ? diff : pre;
254
223
  }, 0);
255
224
  if (currentMaxFreeTime > maxFreeTime) {
@@ -259,19 +228,8 @@ function getResourceMaxFreeTime(resource, isAutoAllocationOn) {
259
228
  });
260
229
  return defaultResource;
261
230
  }
262
-
263
- /**
264
- * 计算每类资源的默认值(写入 cacheItem._extend.resource)。
265
- * 与 info2 `service/addService/utils.tsx#setDefaultResource` 等价;
266
- * `resourceIdFromCalendar` 替代原版 sessionStorage `serviceParams.resource_id` 读取。
267
- */
268
231
  function setDefaultResource(params) {
269
- const {
270
- cacheItem,
271
- resources,
272
- resourceIdFromCalendar,
273
- isAutoAllocationOn = () => true
274
- } = params;
232
+ const { cacheItem, resources, resourceIdFromCalendar, isAutoAllocationOn = () => true } = params;
275
233
  const obj = {};
276
234
  const resourceId = Number(resourceIdFromCalendar) || 0;
277
235
  for (const item of resources) {
@@ -280,8 +238,8 @@ function setDefaultResource(params) {
280
238
  optional_resource = [],
281
239
  default_resource = []
282
240
  } = item;
283
- const renderList = item.renderList.filter(d => {
284
- if (select_type?.type === 'single') {
241
+ const renderList = item.renderList.filter((d) => {
242
+ if ((select_type == null ? void 0 : select_type.type) === "single") {
285
243
  if (resourceId && (optional_resource.includes(resourceId) || default_resource.includes(resourceId))) {
286
244
  return d.id === resourceId;
287
245
  }
@@ -295,64 +253,46 @@ function setDefaultResource(params) {
295
253
  } else {
296
254
  defaultOriginalResource = renderList;
297
255
  }
298
- obj[item.form_id] = defaultOriginalResource.map(d => ({
256
+ obj[item.form_id] = defaultOriginalResource.map((d) => ({
299
257
  children: d.children,
300
258
  relation_type: d.relation_type,
301
259
  form_id: item.form_id,
302
260
  relation_id: d.id,
303
- like_status: 'common',
261
+ like_status: "common",
304
262
  metadata: {
305
263
  form_name: item.title,
306
264
  resource_name: d.main_field
307
265
  }
308
266
  }));
309
- // errors 字段由调用方在需要时通过 getResourceErrors 单独算,OS 这里不耦合。
310
267
  }
311
268
  return obj;
312
269
  }
313
-
314
- /**
315
- * 计算默认容量(与 info2 `setDefaultCapacitys` 等价)。
316
- * package:按 _extend.other.bundle 拆 quantity;custom:按 capacity.custom[].min;其他:[{id:0,value:1}]。
317
- */
318
270
  function setDefaultCapacitys(params) {
319
- const {
320
- capacitys,
321
- cacheItem
322
- } = params;
323
- if (capacitys?.type === 'package') {
324
- return (cacheItem?._extend?.other?.bundle || []).map(d => {
271
+ var _a, _b;
272
+ const { capacitys, cacheItem } = params;
273
+ if ((capacitys == null ? void 0 : capacitys.type) === "package") {
274
+ return (((_b = (_a = cacheItem == null ? void 0 : cacheItem._extend) == null ? void 0 : _a.other) == null ? void 0 : _b.bundle) || []).map((d) => {
325
275
  const id = d._bundle_product_id;
326
- const item = (capacitys?.package || []).find(p => p.product_id === id);
276
+ const item = ((capacitys == null ? void 0 : capacitys.package) || []).find((p) => p.product_id === id);
327
277
  return {
328
278
  id,
329
279
  value: item ? d.quantity || 0 : 0,
330
- name: item?.name || d?.title
280
+ name: (item == null ? void 0 : item.name) || (d == null ? void 0 : d.title)
331
281
  };
332
282
  });
333
283
  }
334
- if (capacitys?.type === 'custom') {
335
- return (capacitys?.custom || []).map(d => ({
284
+ if ((capacitys == null ? void 0 : capacitys.type) === "custom") {
285
+ return ((capacitys == null ? void 0 : capacitys.custom) || []).map((d) => ({
336
286
  id: d.id,
337
287
  value: d.min,
338
288
  name: d.name
339
289
  }));
340
290
  }
341
- return [{
342
- id: 0,
343
- value: 1,
344
- name: ''
345
- }];
291
+ return [{ id: 0, value: 1, name: "" }];
346
292
  }
347
-
348
- /**
349
- * 通过商品 `product_resource.resources[]` 关联的 form/resource id,从 resourcesOriginMap 还原资源数据。
350
- * 与 info2 `service/addService/utils.tsx#getResourceByIds` 等价(保留三特性)。
351
- */
352
293
  function getResourceByIds(resourcesOriginMap, cacheItem, extraParams) {
353
- const _resources = [...(cacheItem?.product_resource?.resources || [])].filter(d => Number(d?.status) === 1).map(item => ({
354
- ...item
355
- }));
294
+ var _a, _b;
295
+ const _resources = [...((_a = cacheItem == null ? void 0 : cacheItem.product_resource) == null ? void 0 : _a.resources) || []].filter((d) => Number(d == null ? void 0 : d.status) === 1).map((item) => ({ ...item }));
356
296
  const {
357
297
  extraResources = [],
358
298
  resourcesOrigin = [],
@@ -360,24 +300,29 @@ function getResourceByIds(resourcesOriginMap, cacheItem, extraParams) {
360
300
  } = extraParams || {};
361
301
  for (const item of _resources) {
362
302
  const form_id = item.id;
363
- const isAllResource = resourceTab?.[item.code]?.resource_display_scope === 'all';
303
+ const isAllResource = ((_b = resourceTab == null ? void 0 : resourceTab[item.code]) == null ? void 0 : _b.resource_display_scope) === "all";
364
304
  let extraResourceIds = [];
365
305
  if (isAllResource) {
366
- extraResourceIds = (resourcesOrigin || []).filter(d => d.form_code === item.code).map(d => d.id);
306
+ extraResourceIds = (resourcesOrigin || []).filter((d) => d.form_code === item.code).map((d) => d.id);
367
307
  } else {
368
- extraResourceIds = extraResources.filter(_extraItem => _extraItem.form_id === form_id && !!_extraItem.id && !item.optional_resource.includes(_extraItem.id) && !item.default_resource.includes(_extraItem.id)).map(_extraItem => _extraItem.id);
308
+ extraResourceIds = extraResources.filter(
309
+ (_extraItem) => _extraItem.form_id === form_id && !!_extraItem.id && !item.optional_resource.includes(_extraItem.id) && !item.default_resource.includes(_extraItem.id)
310
+ ).map((_extraItem) => _extraItem.id);
369
311
  }
370
312
  extraResourceIds = Array.from(new Set(extraResourceIds));
371
- item.optional_resource = (item.optional_resource || []).filter(d => item.default_resource.indexOf(d) === -1);
372
- const getChildrenMetadata = id => {
313
+ item.optional_resource = (item.optional_resource || []).filter(
314
+ (d) => item.default_resource.indexOf(d) === -1
315
+ );
316
+ const getChildrenMetadata = (id) => {
373
317
  const combiningResources = [];
374
318
  const origin = resourcesOriginMap[id];
375
- if (origin?.combined_resource && origin.combined_resource.status === 1) {
376
- (origin.combined_resource.resource_ids || []).forEach(cid => {
319
+ if ((origin == null ? void 0 : origin.combined_resource) && origin.combined_resource.status === 1) {
320
+ (origin.combined_resource.resource_ids || []).forEach((cid) => {
321
+ var _a2, _b2;
377
322
  if (resourcesOriginMap[cid]) {
378
323
  combiningResources.push({
379
324
  ...resourcesOriginMap[cid],
380
- relation_id: resourcesOriginMap[cid]?.relation_id || resourcesOriginMap[cid]?.id
325
+ relation_id: ((_a2 = resourcesOriginMap[cid]) == null ? void 0 : _a2.relation_id) || ((_b2 = resourcesOriginMap[cid]) == null ? void 0 : _b2.id)
381
326
  });
382
327
  }
383
328
  });
@@ -385,22 +330,23 @@ function getResourceByIds(resourcesOriginMap, cacheItem, extraParams) {
385
330
  return {
386
331
  children: combiningResources,
387
332
  metadata: {
388
- ...(origin?.metadata || {}),
389
- combined_resource: origin?.combined_resource
333
+ ...(origin == null ? void 0 : origin.metadata) || {},
334
+ combined_resource: origin == null ? void 0 : origin.combined_resource
390
335
  }
391
336
  };
392
337
  };
393
- const optional_resource = Array.from(new Set([...item.optional_resource, ...extraResourceIds])).map(d => {
394
- if (!resourcesOriginMap[d]) return null;
338
+ const optional_resource = Array.from(
339
+ /* @__PURE__ */ new Set([...item.optional_resource, ...extraResourceIds])
340
+ ).map((d) => {
341
+ if (!resourcesOriginMap[d])
342
+ return null;
395
343
  return Object.assign({}, resourcesOriginMap[d], {
396
344
  form_id,
397
345
  resourceType: item.type,
398
346
  ...getChildrenMetadata(d)
399
347
  });
400
- }).filter(d => d).concat((0, _noResource.getNoResource2)({
401
- form_id
402
- }));
403
- const default_resource = (item.default_resource || []).map(d => {
348
+ }).filter((d) => d).concat((0, import_noResource.getNoResource2)({ form_id }));
349
+ const default_resource = (item.default_resource || []).map((d) => {
404
350
  const origin = resourcesOriginMap[d];
405
351
  if (origin) {
406
352
  origin.is_default = 1;
@@ -411,9 +357,21 @@ function getResourceByIds(resourcesOriginMap, cacheItem, extraParams) {
411
357
  });
412
358
  }
413
359
  return null;
414
- }).filter(d => d);
360
+ }).filter((d) => d);
415
361
  item.renderList = optional_resource.concat(default_resource);
416
362
  item.form_id = form_id;
417
363
  }
418
364
  return _resources;
419
- }
365
+ }
366
+ // Annotate the CommonJS export names for ESM import in node:
367
+ 0 && (module.exports = {
368
+ formatResource,
369
+ formatResources,
370
+ formatTimes,
371
+ getResourceByIds,
372
+ getResourceTimeIsUsable,
373
+ getSumCapacity,
374
+ getUsableTime,
375
+ setDefaultCapacitys,
376
+ setDefaultResource
377
+ });