@pisell/private-materials 6.2.24 → 6.2.26

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 (433) hide show
  1. package/build/lowcode/assets-daily.json +11 -11
  2. package/build/lowcode/assets-dev.json +2 -2
  3. package/build/lowcode/assets-prod.json +11 -11
  4. package/build/lowcode/index.js +1 -1
  5. package/build/lowcode/meta.js +9 -1
  6. package/build/lowcode/preview.js +8 -8
  7. package/build/lowcode/render/default/view.css +1 -1
  8. package/build/lowcode/render/default/view.js +9 -9
  9. package/build/lowcode/view.css +1 -1
  10. package/build/lowcode/view.js +9 -9
  11. package/es/businessModel/SalesModel/index.d.ts +0 -1
  12. package/es/components/Sales/Cart/index.js +1 -0
  13. package/es/components/appointmentBooking/components/Footer/index.d.ts +0 -1
  14. package/es/components/appointmentBooking/components/Guest/components/InformationOptionsModal/index.d.ts +0 -1
  15. package/es/components/booking/addons/index.js +4 -1
  16. package/es/components/booking/components/TabProduct/index.d.ts +0 -1
  17. package/es/components/booking/components/TabProduct/tabs/index.js +5 -1
  18. package/es/components/booking/components/actionButtons/index.js +395 -0
  19. package/es/components/booking/components/actionButtons/index.less +148 -0
  20. package/es/components/booking/components/browserSelect/index.js +1 -1
  21. package/es/components/booking/components/clearCartModal/index.js +50 -0
  22. package/es/components/booking/components/clearCartModal/index.less +109 -0
  23. package/es/components/booking/components/customSelect/index.js +1 -0
  24. package/es/components/booking/components/customiseItemModal/index.js +294 -0
  25. package/es/components/booking/components/customiseItemModal/index.less +606 -0
  26. package/es/components/booking/components/footer/amount.d.ts +1 -0
  27. package/es/components/booking/components/footer/amount.js +15 -3
  28. package/es/components/booking/components/footer/index.js +106 -39
  29. package/es/components/booking/components/footer/utils.js +52 -24
  30. package/es/components/booking/components/tabPane/index.js +86 -5
  31. package/es/components/booking/components/tabPane/index.less +75 -1
  32. package/es/components/booking/components/voucher/index.js +19 -8
  33. package/es/components/booking/components/voucher/index.less +1 -1
  34. package/es/components/booking/dashboard/index.js +10 -3
  35. package/es/components/booking/forms/model.js +5 -5
  36. package/es/components/booking/hooks/useClearCart.js +11 -8
  37. package/es/components/booking/hooks/useQuotation.js +17 -7
  38. package/es/components/booking/info/client/index.js +3 -2
  39. package/es/components/booking/info/dateRange/index.d.ts +0 -1
  40. package/es/components/booking/info/hooks/useInfoHolder.d.ts +1 -0
  41. package/es/components/booking/info/hooks/useInfoHolder.js +15 -7
  42. package/es/components/booking/info/index.less +18 -2
  43. package/es/components/booking/info/main.js +14 -15
  44. package/es/components/booking/info/service/Lists.js +41 -28
  45. package/es/components/booking/info/service/editService/BookingList/index.d.ts +0 -1
  46. package/es/components/booking/info/service/editService/constants.d.ts +1 -0
  47. package/es/components/booking/info/service/editService/constants.js +3 -0
  48. package/es/components/booking/info/service/editService/index.js +15 -10
  49. package/es/components/booking/info/service/like/index.js +1 -1
  50. package/es/components/booking/info/service/serviceItem/index.js +2 -2
  51. package/es/components/booking/info/service2/Lists.d.ts +0 -1
  52. package/es/components/booking/info/service2/utils.d.ts +4 -0
  53. package/es/components/booking/info/service2/utils.js +32 -23
  54. package/es/components/booking/info2/cartClientCard/index.js +343 -0
  55. package/es/components/booking/info2/cartClientCard/index.less +6 -0
  56. package/es/components/booking/info2/cartClientCard/locales.js +26 -0
  57. package/es/components/booking/info2/cartClientCard/types.js +1 -0
  58. package/es/components/booking/info2/cartClientCard/utils.js +7 -0
  59. package/es/components/booking/info2/index.js +41 -18
  60. package/es/components/booking/info2/service/addService/utils.js +6 -3
  61. package/es/components/booking/info2/service/addTimeModal/index.js +5 -1
  62. package/es/components/booking/info2/service/editNormalService/index.js +67 -0
  63. package/es/components/booking/info2/service/editService/Resources/index.js +5 -0
  64. package/es/components/booking/info2/service/editService/index.js +267 -171
  65. package/es/components/booking/info2/service/index.js +27 -18
  66. package/es/components/booking/info2/service/serviceItem/index.js +2 -2
  67. package/es/components/booking/info2/utilsByBooking.d.ts +1 -0
  68. package/es/components/booking/info2/utilsByBooking.js +26 -3
  69. package/es/components/booking/locales.js +99 -3
  70. package/es/components/booking/materiels/duration/index.js +9 -2
  71. package/es/components/booking/materiels/holder/index.d.ts +0 -1
  72. package/es/components/booking/materiels/startTime/index.js +1 -1
  73. package/es/components/booking/notes/NoteBlock/NoteItem/index.js +1 -1
  74. package/es/components/booking/notes/NoteBlock/index.js +11 -11
  75. package/es/components/booking/notes/addNote/index.js +52 -32
  76. package/es/components/booking/notes/addNote/index.less +53 -0
  77. package/es/components/booking/notes/model.js +5 -5
  78. package/es/components/booking/payments/model.js +5 -5
  79. package/es/components/eftposPay/amount.d.ts +1 -1
  80. package/es/components/eftposPay/device.d.ts +1 -1
  81. package/es/components/eftposPay/hooks.d.ts +2 -2
  82. package/es/components/eftposPay/store/index.d.ts +3 -3
  83. package/es/components/eventBooking/components/ErrorTip/index.d.ts +0 -1
  84. package/es/components/eventBooking/components/Provider/Cart/Deposit/index.d.ts +0 -1
  85. package/es/components/eventBooking/components/Provider/InformationOptionsModal/index.d.ts +0 -1
  86. package/es/components/eventBooking/components/bookingAvailabilityCalendar/components/CalendarDate/CalenDateWeek/CallToBook/index.d.ts +0 -1
  87. package/es/components/eventBooking/components/bookingAvailabilityCalendar/components/CalendarDate/CalenDateWeek/WeekItem/index.d.ts +0 -1
  88. package/es/components/eventBooking/components/bookingAvailabilityCalendar/components/CalendarDate/CalenDateWeek/index.d.ts +0 -1
  89. package/es/components/eventBooking/components/scheduleCalendar/calendarItem.d.ts +0 -1
  90. package/es/components/listComponent/index.js +5 -5
  91. package/es/components/pay/toC/PaymentMethods/StripePay/Stripe/components/SetupForm/index.d.ts +0 -1
  92. package/es/components/pay/toC/PaymentMethods/StripePay/Stripe/index.d.ts +0 -1
  93. package/es/components/pay/toC/WalletPassBlock/components/WalletUseList/index.d.ts +0 -1
  94. package/es/components/pisellSelectCustomerModal/RightPanel/Add/PhoneField/index.d.ts +0 -1
  95. package/es/components/productExtension/card/index.js +3 -3
  96. package/es/components/productExtension/fields/Actor/CutOffTime/index.js +1 -1
  97. package/es/components/productExtension/fields/Actor/index.d.ts +0 -1
  98. package/es/components/productExtension/fields/Forms/index.js +12 -12
  99. package/es/components/productExtension/fields/SelectProducts/ProductItemPreview/index.js +1 -1
  100. package/es/components/productExtension/fields/SelectProducts/server.js +2 -2
  101. package/es/components/productExtension/fields/SelectResourcesTable/server.js +2 -2
  102. package/es/components/productExtension/server.js +2 -2
  103. package/es/components/ruleSetting/ruleBorder/index.js +1 -1
  104. package/es/components/schedules/calendar/index.js +4 -4
  105. package/es/components/schedules/calendar/serve.js +2 -2
  106. package/es/components/schedules/components/CurrentDay/index.js +5 -5
  107. package/es/components/schedules/components/CurrentDay/serve.js +2 -2
  108. package/es/components/schedules/components/DropdownSort/index.js +1 -1
  109. package/es/components/schedules/components/ResourceList/index.js +1 -1
  110. package/es/components/schedules/components/Search/index.js +5 -5
  111. package/es/components/schedules/model.js +5 -5
  112. package/es/components/schedules/openHours/index.js +1 -1
  113. package/es/components/schedules/openHours/serve.js +2 -2
  114. package/es/components/schedules/products/ProductDetailDrawer/ProductDetail/MaxParticipantsModule/index.js +1 -1
  115. package/es/components/schedules/products/ProductDetailDrawer/ProductDetail/ResourcesModule/index.js +5 -5
  116. package/es/components/schedules/products/ProductDetailDrawer/ProductDetail/SchedulesModule/index.js +4 -4
  117. package/es/components/schedules/products/ProductDetailDrawer/index.js +3 -3
  118. package/es/components/schedules/products/serve.js +2 -2
  119. package/es/components/schedules/products/utils.js +5 -5
  120. package/es/components/schedules/resources/detail/detailContent.js +2 -2
  121. package/es/components/schedules/resources/detail/index.js +10 -10
  122. package/es/components/schedules/resources/list/index.js +2 -2
  123. package/es/components/schedules/resources/relationProduct/index.js +1 -1
  124. package/es/components/schedules/resources/serve.js +2 -2
  125. package/es/components/schedules/schedules/ScheduleDetailDrawer/index.js +9 -9
  126. package/es/components/schedules/utils.js +4 -4
  127. package/es/components/selectModal/index.js +2 -2
  128. package/es/components/shoppingCart/components/Cart/Product.js +62 -41
  129. package/es/components/shoppingCart/components/Cart/index.js +21 -18
  130. package/es/components/shoppingCart/components/Empty/index.d.ts +0 -1
  131. package/es/components/shoppingCart/components/Render/index.d.ts +0 -1
  132. package/es/components/subTotal/index.less +1 -1
  133. package/es/components/ticketBooking/components/addServiceVariant/addService.js +309 -351
  134. package/es/components/ticketBooking/components/addServiceVariant/utils.js +190 -0
  135. package/es/components/ticketBooking/components/bookingDataPanel/bookingDashboard/index.js +33 -0
  136. package/es/components/ticketBooking/components/bookingDataPanel/bookingDashboard/index.less +5 -0
  137. package/es/components/ticketBooking/components/bookingDataPanel/bookingList/index.js +213 -0
  138. package/es/components/ticketBooking/components/bookingDataPanel/bookingList/index.less +69 -0
  139. package/es/components/ticketBooking/components/bookingDataPanel/bookingList/utils.js +79 -0
  140. package/es/components/ticketBooking/components/bookingDataPanel/constants.js +25 -0
  141. package/es/components/ticketBooking/components/bookingDataPanel/index.js +74 -0
  142. package/es/components/ticketBooking/components/bookingDataPanel/index.less +61 -0
  143. package/es/components/ticketBooking/components/bookingDataPanel/pisellFloatingPanel/index.js +71 -0
  144. package/es/components/ticketBooking/components/bookingDataPanel/serve.js +0 -0
  145. package/es/components/ticketBooking/components/floatButtons/index.js +19 -0
  146. package/es/components/ticketBooking/components/floatButtons/index.less +17 -0
  147. package/es/components/ticketBooking/components/ticketBooking/index.js +208 -33
  148. package/es/components/ticketBooking/components/ticketBooking/index.less +28 -0
  149. package/es/components/ticketBooking/components/timeBar/index.d.ts +1 -0
  150. package/es/components/ticketBooking/components/timeBar/index.js +79 -68
  151. package/es/components/ticketBooking/hooks/pisellos/bookingTicket.js +5 -0
  152. package/es/components/ticketBooking/hooks/pisellos/index.js +3 -0
  153. package/es/components/ticketBooking/hooks/pisellos/useCustomer.js +244 -0
  154. package/es/components/ticketBooking/hooks/pisellos/useProducts.js +52 -0
  155. package/es/components/ticketBooking/hooks/pisellos/useScanCustomer.d.ts +5 -0
  156. package/es/components/ticketBooking/hooks/pisellos/useScanCustomer.js +30 -0
  157. package/es/components/ticketBooking/hooks/pisellos/useScanGlobal.d.ts +5 -0
  158. package/es/components/ticketBooking/hooks/pisellos/useScanGlobal.js +29 -0
  159. package/es/components/ticketBooking/hooks/pisellos/useScanGlobalHandle.js +49 -0
  160. package/es/components/ticketBooking/index.js +21 -3
  161. package/es/components/ticketBooking/locales.js +6 -3
  162. package/es/components/ticketBooking/serve.js +11 -11
  163. package/es/components/ticketBooking/utils/index.d.ts +39 -2
  164. package/es/components/ticketBooking/utils/index.js +104 -11
  165. package/es/components/workSpaceList/components/Modal/index.d.ts +0 -1
  166. package/es/components/workSpaceList/components/SearchWorkspaceAndBase/index.d.ts +0 -1
  167. package/es/hooks/useComponents.js +1 -1
  168. package/es/hooks/useToast.js +9 -0
  169. package/es/hooks/useTranslationOriginal.js +10 -0
  170. package/es/index.js +5 -1
  171. package/es/plus/clientCard/index.js +452 -0
  172. package/es/plus/clientCard/index.less +539 -0
  173. package/es/plus/clientCard/line/index.js +157 -0
  174. package/es/plus/clientCard/line/index.less +142 -0
  175. package/es/plus/clientCard/locales.js +17 -0
  176. package/es/plus/clientCard/types.js +1 -0
  177. package/es/plus/clientCard/utils.js +59 -0
  178. package/es/plus/clientName/index.js +18 -0
  179. package/es/plus/clientName/index.less +10 -0
  180. package/es/plus/clientName/type.js +1 -0
  181. package/es/plus/clientName/utils.js +18 -0
  182. package/es/plus/clinetSearch/Add/BirthdayField/index.js +277 -0
  183. package/es/plus/clinetSearch/Add/GenderField/index.js +18 -0
  184. package/es/plus/clinetSearch/Add/PhoneField/index.js +52 -0
  185. package/es/plus/clinetSearch/Add/PhoneField/serve.js +166 -0
  186. package/es/plus/clinetSearch/Add/index.js +212 -0
  187. package/es/plus/clinetSearch/Add/index.less +30 -0
  188. package/es/plus/clinetSearch/InfiniteScroll/InfiniteScroll.js +265 -0
  189. package/es/plus/clinetSearch/InfiniteScroll/index.js +1 -0
  190. package/es/plus/clinetSearch/InfiniteScroll/types.js +1 -0
  191. package/es/plus/clinetSearch/index.js +214 -0
  192. package/es/plus/clinetSearch/index.less +91 -0
  193. package/es/plus/clinetSearch/locales.js +101 -0
  194. package/es/plus/clinetSearch/serve.js +31 -0
  195. package/es/plus/clinetSearch/types.js +1 -0
  196. package/es/plus/noteModal/AddTempModal.js +64 -0
  197. package/es/plus/noteModal/index.js +199 -0
  198. package/es/plus/noteModal/index.less +168 -0
  199. package/es/plus/noteModal/locales.js +32 -0
  200. package/es/plus/noteModal/types.js +1 -0
  201. package/es/pro/comprehensiveSearch/camera.svg +4 -0
  202. package/es/pro/comprehensiveSearch/hooks/useNativeScanner.js +24 -0
  203. package/es/pro/comprehensiveSearch/hooks/useTerminalPeripherals.js +44 -0
  204. package/es/pro/comprehensiveSearch/index.js +342 -0
  205. package/es/pro/comprehensiveSearch/index.less +323 -0
  206. package/es/pro/comprehensiveSearch/locales.js +17 -0
  207. package/es/pro/comprehensiveSearch/types.js +1 -0
  208. package/es/pro/numberKeyboard/index.js +155 -0
  209. package/es/pro/numberKeyboard/index.less +25 -0
  210. package/es/pro/numberKeyboard/locales.js +11 -0
  211. package/es/pro/pisellNumberSelector/example.js +68 -0
  212. package/es/pro/pisellNumberSelector/index.js +231 -0
  213. package/es/pro/pisellNumberSelector/index.less +193 -0
  214. package/es/pro/pisellPhoneKeyboard/index.js +211 -0
  215. package/es/pro/pisellPhoneKeyboard/index.less +157 -0
  216. package/es/pro/pisellPhoneKeyboard/locales.js +11 -0
  217. package/es/pro/pisellPriceKeyboardModal/PisellPriceKeyboardModal.js +158 -0
  218. package/es/pro/pisellPriceKeyboardModal/PisellPriceKeyboardModal.less +13 -0
  219. package/es/pro/pisellPriceKeyboardModal/index.js +1 -0
  220. package/es/pro/pisellPriceKeyboardModal/types.js +1 -0
  221. package/es/pro/pisellPriceRadio/index.js +113 -0
  222. package/es/pro/pisellPriceRadio/index.less +158 -0
  223. package/es/pro/skuDetailModal/index.js +352 -0
  224. package/es/pro/skuDetailModal/index.less +236 -0
  225. package/es/pro/skuDetailModal/locales.js +47 -0
  226. package/es/pro/skuDetailModal/types.js +1 -0
  227. package/lib/businessModel/SalesModel/index.d.ts +0 -1
  228. package/lib/components/Sales/Cart/index.js +1 -0
  229. package/lib/components/appointmentBooking/components/Footer/index.d.ts +0 -1
  230. package/lib/components/appointmentBooking/components/Guest/components/InformationOptionsModal/index.d.ts +0 -1
  231. package/lib/components/booking/addons/index.js +4 -1
  232. package/lib/components/booking/components/TabProduct/index.d.ts +0 -1
  233. package/lib/components/booking/components/actionButtons/index.js +325 -0
  234. package/lib/components/booking/components/actionButtons/index.less +148 -0
  235. package/lib/components/booking/components/clearCartModal/index.js +80 -0
  236. package/lib/components/booking/components/clearCartModal/index.less +109 -0
  237. package/lib/components/booking/components/customSelect/index.js +1 -0
  238. package/lib/components/booking/components/customiseItemModal/index.js +279 -0
  239. package/lib/components/booking/components/customiseItemModal/index.less +606 -0
  240. package/lib/components/booking/components/footer/amount.d.ts +1 -0
  241. package/lib/components/booking/components/footer/amount.js +5 -3
  242. package/lib/components/booking/components/footer/index.js +93 -23
  243. package/lib/components/booking/components/footer/utils.js +38 -13
  244. package/lib/components/booking/components/tabPane/index.js +78 -4
  245. package/lib/components/booking/components/tabPane/index.less +75 -1
  246. package/lib/components/booking/components/voucher/index.js +18 -7
  247. package/lib/components/booking/components/voucher/index.less +1 -1
  248. package/lib/components/booking/dashboard/index.js +7 -2
  249. package/lib/components/booking/hooks/useClearCart.js +16 -13
  250. package/lib/components/booking/hooks/useQuotation.js +3 -1
  251. package/lib/components/booking/info/client/index.js +5 -4
  252. package/lib/components/booking/info/dateRange/index.d.ts +0 -1
  253. package/lib/components/booking/info/hooks/useInfoHolder.d.ts +1 -0
  254. package/lib/components/booking/info/hooks/useInfoHolder.js +16 -9
  255. package/lib/components/booking/info/index.less +18 -2
  256. package/lib/components/booking/info/main.js +12 -5
  257. package/lib/components/booking/info/service/Lists.js +41 -25
  258. package/lib/components/booking/info/service/editService/BookingList/index.d.ts +0 -1
  259. package/lib/components/booking/info/service/editService/constants.d.ts +1 -0
  260. package/lib/components/booking/info/service/editService/constants.js +31 -0
  261. package/lib/components/booking/info/service/editService/index.js +7 -1
  262. package/lib/components/booking/info/service/serviceItem/index.js +2 -2
  263. package/lib/components/booking/info/service2/Lists.d.ts +0 -1
  264. package/lib/components/booking/info/service2/utils.d.ts +4 -0
  265. package/lib/components/booking/info/service2/utils.js +31 -19
  266. package/lib/components/booking/info2/cartClientCard/index.js +298 -0
  267. package/lib/components/booking/info2/cartClientCard/index.less +6 -0
  268. package/lib/components/booking/info2/cartClientCard/locales.js +50 -0
  269. package/lib/components/booking/info2/cartClientCard/types.js +17 -0
  270. package/lib/components/booking/info2/cartClientCard/utils.js +37 -0
  271. package/lib/components/booking/info2/index.js +30 -9
  272. package/lib/components/booking/info2/service/addService/utils.js +4 -2
  273. package/lib/components/booking/info2/service/addTimeModal/index.js +4 -0
  274. package/lib/components/booking/info2/service/editNormalService/index.js +100 -0
  275. package/lib/components/booking/info2/service/editService/Resources/index.js +2 -0
  276. package/lib/components/booking/info2/service/editService/index.js +139 -74
  277. package/lib/components/booking/info2/service/index.js +16 -12
  278. package/lib/components/booking/info2/service/serviceItem/index.js +2 -2
  279. package/lib/components/booking/info2/utilsByBooking.d.ts +1 -0
  280. package/lib/components/booking/info2/utilsByBooking.js +23 -4
  281. package/lib/components/booking/locales.js +93 -3
  282. package/lib/components/booking/materiels/duration/index.js +7 -2
  283. package/lib/components/booking/materiels/holder/index.d.ts +0 -1
  284. package/lib/components/booking/notes/addNote/index.js +41 -23
  285. package/lib/components/booking/notes/addNote/index.less +53 -0
  286. package/lib/components/eftposPay/amount.d.ts +1 -1
  287. package/lib/components/eftposPay/device.d.ts +1 -1
  288. package/lib/components/eftposPay/hooks.d.ts +2 -2
  289. package/lib/components/eftposPay/store/index.d.ts +3 -3
  290. package/lib/components/eventBooking/components/ErrorTip/index.d.ts +0 -1
  291. package/lib/components/eventBooking/components/Provider/Cart/Deposit/index.d.ts +0 -1
  292. package/lib/components/eventBooking/components/Provider/InformationOptionsModal/index.d.ts +0 -1
  293. package/lib/components/eventBooking/components/bookingAvailabilityCalendar/components/CalendarDate/CalenDateWeek/CallToBook/index.d.ts +0 -1
  294. package/lib/components/eventBooking/components/bookingAvailabilityCalendar/components/CalendarDate/CalenDateWeek/WeekItem/index.d.ts +0 -1
  295. package/lib/components/eventBooking/components/bookingAvailabilityCalendar/components/CalendarDate/CalenDateWeek/index.d.ts +0 -1
  296. package/lib/components/eventBooking/components/scheduleCalendar/calendarItem.d.ts +0 -1
  297. package/lib/components/pay/toC/PaymentMethods/StripePay/Stripe/components/SetupForm/index.d.ts +0 -1
  298. package/lib/components/pay/toC/PaymentMethods/StripePay/Stripe/index.d.ts +0 -1
  299. package/lib/components/pay/toC/WalletPassBlock/components/WalletUseList/index.d.ts +0 -1
  300. package/lib/components/pisellSelectCustomerModal/RightPanel/Add/PhoneField/index.d.ts +0 -1
  301. package/lib/components/productExtension/fields/Actor/index.d.ts +0 -1
  302. package/lib/components/schedules/utils.js +1 -1
  303. package/lib/components/shoppingCart/components/Cart/Product.js +42 -21
  304. package/lib/components/shoppingCart/components/Cart/index.js +18 -15
  305. package/lib/components/shoppingCart/components/Empty/index.d.ts +0 -1
  306. package/lib/components/shoppingCart/components/Render/index.d.ts +0 -1
  307. package/lib/components/subTotal/index.less +1 -1
  308. package/lib/components/ticketBooking/components/addServiceVariant/addService.js +176 -248
  309. package/lib/components/ticketBooking/components/addServiceVariant/utils.js +173 -0
  310. package/lib/components/ticketBooking/components/bookingDataPanel/bookingDashboard/index.js +75 -0
  311. package/lib/components/ticketBooking/components/bookingDataPanel/bookingDashboard/index.less +5 -0
  312. package/lib/components/ticketBooking/components/bookingDataPanel/bookingList/index.js +210 -0
  313. package/lib/components/ticketBooking/components/bookingDataPanel/bookingList/index.less +69 -0
  314. package/lib/components/ticketBooking/components/bookingDataPanel/bookingList/utils.js +105 -0
  315. package/lib/components/ticketBooking/components/bookingDataPanel/constants.js +57 -0
  316. package/lib/components/ticketBooking/components/bookingDataPanel/index.js +113 -0
  317. package/lib/components/ticketBooking/components/bookingDataPanel/index.less +61 -0
  318. package/lib/components/ticketBooking/components/bookingDataPanel/pisellFloatingPanel/index.js +84 -0
  319. package/lib/components/ticketBooking/components/bookingDataPanel/serve.js +0 -0
  320. package/lib/components/ticketBooking/components/floatButtons/index.js +52 -0
  321. package/lib/components/ticketBooking/components/floatButtons/index.less +17 -0
  322. package/lib/components/ticketBooking/components/ticketBooking/index.js +228 -80
  323. package/lib/components/ticketBooking/components/ticketBooking/index.less +28 -0
  324. package/lib/components/ticketBooking/components/timeBar/index.d.ts +1 -0
  325. package/lib/components/ticketBooking/components/timeBar/index.js +100 -86
  326. package/lib/components/ticketBooking/hooks/pisellos/bookingTicket.js +33 -0
  327. package/lib/components/ticketBooking/hooks/pisellos/index.js +27 -0
  328. package/lib/components/ticketBooking/hooks/pisellos/useCustomer.js +144 -0
  329. package/lib/components/ticketBooking/hooks/pisellos/useProducts.js +47 -0
  330. package/lib/components/ticketBooking/hooks/pisellos/useScanCustomer.d.ts +5 -0
  331. package/lib/components/ticketBooking/hooks/pisellos/useScanCustomer.js +64 -0
  332. package/lib/components/ticketBooking/hooks/pisellos/useScanGlobal.d.ts +5 -0
  333. package/lib/components/ticketBooking/hooks/pisellos/useScanGlobal.js +65 -0
  334. package/lib/components/ticketBooking/hooks/pisellos/useScanGlobalHandle.js +83 -0
  335. package/lib/components/ticketBooking/index.js +31 -4
  336. package/lib/components/ticketBooking/locales.js +6 -3
  337. package/lib/components/ticketBooking/serve.js +11 -11
  338. package/lib/components/ticketBooking/utils/index.d.ts +39 -2
  339. package/lib/components/ticketBooking/utils/index.js +71 -10
  340. package/lib/components/workSpaceList/components/Modal/index.d.ts +0 -1
  341. package/lib/components/workSpaceList/components/SearchWorkspaceAndBase/index.d.ts +0 -1
  342. package/lib/hooks/useToast.js +42 -0
  343. package/lib/hooks/useTranslationOriginal.js +42 -0
  344. package/lib/index.js +12 -0
  345. package/lib/plus/clientCard/index.js +442 -0
  346. package/lib/plus/clientCard/index.less +539 -0
  347. package/lib/plus/clientCard/line/index.js +153 -0
  348. package/lib/plus/clientCard/line/index.less +142 -0
  349. package/lib/plus/clientCard/locales.js +41 -0
  350. package/lib/plus/clientCard/types.js +17 -0
  351. package/lib/plus/clientCard/utils.js +75 -0
  352. package/lib/plus/clientName/index.js +53 -0
  353. package/lib/plus/clientName/index.less +10 -0
  354. package/lib/plus/clientName/type.js +17 -0
  355. package/lib/plus/clientName/utils.js +43 -0
  356. package/lib/plus/clinetSearch/Add/BirthdayField/index.js +256 -0
  357. package/lib/plus/clinetSearch/Add/GenderField/index.js +52 -0
  358. package/lib/plus/clinetSearch/Add/PhoneField/index.js +78 -0
  359. package/lib/plus/clinetSearch/Add/PhoneField/serve.js +193 -0
  360. package/lib/plus/clinetSearch/Add/index.js +243 -0
  361. package/lib/plus/clinetSearch/Add/index.less +30 -0
  362. package/lib/plus/clinetSearch/InfiniteScroll/InfiniteScroll.js +235 -0
  363. package/lib/plus/clinetSearch/InfiniteScroll/index.js +35 -0
  364. package/lib/plus/clinetSearch/InfiniteScroll/types.js +17 -0
  365. package/lib/plus/clinetSearch/index.js +205 -0
  366. package/lib/plus/clinetSearch/index.less +91 -0
  367. package/lib/plus/clinetSearch/locales.js +125 -0
  368. package/lib/plus/clinetSearch/serve.js +33 -0
  369. package/lib/plus/clinetSearch/types.js +17 -0
  370. package/lib/plus/noteModal/AddTempModal.js +95 -0
  371. package/lib/plus/noteModal/index.js +199 -0
  372. package/lib/plus/noteModal/index.less +168 -0
  373. package/lib/plus/noteModal/locales.js +56 -0
  374. package/lib/plus/noteModal/types.js +17 -0
  375. package/lib/pro/comprehensiveSearch/camera.svg +4 -0
  376. package/lib/pro/comprehensiveSearch/hooks/useNativeScanner.js +56 -0
  377. package/lib/pro/comprehensiveSearch/hooks/useTerminalPeripherals.js +70 -0
  378. package/lib/pro/comprehensiveSearch/index.js +259 -0
  379. package/lib/pro/comprehensiveSearch/index.less +323 -0
  380. package/lib/pro/comprehensiveSearch/locales.js +41 -0
  381. package/lib/pro/comprehensiveSearch/types.js +17 -0
  382. package/lib/pro/numberKeyboard/index.js +182 -0
  383. package/lib/pro/numberKeyboard/index.less +25 -0
  384. package/lib/pro/numberKeyboard/locales.js +35 -0
  385. package/lib/pro/pisellNumberSelector/example.js +93 -0
  386. package/lib/pro/pisellNumberSelector/index.js +260 -0
  387. package/lib/pro/pisellNumberSelector/index.less +193 -0
  388. package/lib/pro/pisellPhoneKeyboard/index.js +220 -0
  389. package/lib/pro/pisellPhoneKeyboard/index.less +157 -0
  390. package/lib/pro/pisellPhoneKeyboard/locales.js +35 -0
  391. package/lib/pro/pisellPriceKeyboardModal/PisellPriceKeyboardModal.js +158 -0
  392. package/lib/pro/pisellPriceKeyboardModal/PisellPriceKeyboardModal.less +13 -0
  393. package/lib/pro/pisellPriceKeyboardModal/index.js +35 -0
  394. package/lib/pro/pisellPriceKeyboardModal/types.js +17 -0
  395. package/lib/pro/pisellPriceRadio/index.js +130 -0
  396. package/lib/pro/pisellPriceRadio/index.less +158 -0
  397. package/lib/pro/skuDetailModal/index.js +311 -0
  398. package/lib/pro/skuDetailModal/index.less +236 -0
  399. package/lib/pro/skuDetailModal/locales.js +71 -0
  400. package/lib/pro/skuDetailModal/types.js +17 -0
  401. package/lowcode/client-card/fragments/cardStyle.ts +63 -0
  402. package/lowcode/client-card/fragments/nameStyle.ts +34 -0
  403. package/lowcode/client-card/fragments/pisellAvatar.ts +87 -0
  404. package/lowcode/client-card/fragments/tagConfig.ts +88 -0
  405. package/lowcode/client-card/meta.ts +337 -0
  406. package/lowcode/comprehensive-search/meta.ts +261 -0
  407. package/package.json +26 -26
  408. package/es/components/Sales/Cart/index.d.ts +0 -53
  409. package/es/components/booking/addons/index.d.ts +0 -17
  410. package/es/components/booking/components/tabPane/index.d.ts +0 -4
  411. package/es/components/booking/components/voucher/index.d.ts +0 -3
  412. package/es/components/booking/dashboard/index.d.ts +0 -20
  413. package/es/components/booking/info/service/serviceItem/index.d.ts +0 -3
  414. package/es/components/booking/info2/service/serviceItem/index.d.ts +0 -3
  415. package/es/components/booking/locales.d.ts +0 -828
  416. package/es/components/booking/notes/addNote/index.d.ts +0 -3
  417. package/es/components/shoppingCart/type.d.ts +0 -48
  418. package/es/components/ticketBooking/locales.d.ts +0 -174
  419. package/es/components/ticketBooking/serve.d.ts +0 -287
  420. package/es/index.d.ts +0 -47
  421. package/lib/components/Sales/Cart/index.d.ts +0 -53
  422. package/lib/components/booking/addons/index.d.ts +0 -17
  423. package/lib/components/booking/components/tabPane/index.d.ts +0 -4
  424. package/lib/components/booking/components/voucher/index.d.ts +0 -3
  425. package/lib/components/booking/dashboard/index.d.ts +0 -20
  426. package/lib/components/booking/info/service/serviceItem/index.d.ts +0 -3
  427. package/lib/components/booking/info2/service/serviceItem/index.d.ts +0 -3
  428. package/lib/components/booking/locales.d.ts +0 -828
  429. package/lib/components/booking/notes/addNote/index.d.ts +0 -3
  430. package/lib/components/shoppingCart/type.d.ts +0 -48
  431. package/lib/components/ticketBooking/locales.d.ts +0 -174
  432. package/lib/components/ticketBooking/serve.d.ts +0 -287
  433. package/lib/index.d.ts +0 -47
@@ -0,0 +1,265 @@
1
+ function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
2
+ function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
3
+ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
4
+ function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
5
+ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : String(i); }
6
+ function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
7
+ function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
8
+ function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
9
+ function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
10
+ function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
11
+ function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t.return && (u = t.return(), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }
12
+ function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
13
+ import React, { useRef, useEffect, useState, useCallback, useMemo } from 'react';
14
+ var InfiniteScroll = function InfiniteScroll(_ref) {
15
+ var dataLength = _ref.dataLength,
16
+ next = _ref.next,
17
+ hasMore = _ref.hasMore,
18
+ _ref$loader = _ref.loader,
19
+ loader = _ref$loader === void 0 ? /*#__PURE__*/React.createElement("div", null, "Loading...") : _ref$loader,
20
+ endMessage = _ref.endMessage,
21
+ height = _ref.height,
22
+ _ref$scrollThreshold = _ref.scrollThreshold,
23
+ scrollThreshold = _ref$scrollThreshold === void 0 ? 0.8 : _ref$scrollThreshold,
24
+ onScroll = _ref.onScroll,
25
+ style = _ref.style,
26
+ className = _ref.className,
27
+ scrollableTarget = _ref.scrollableTarget,
28
+ children = _ref.children,
29
+ _ref$inverse = _ref.inverse,
30
+ inverse = _ref$inverse === void 0 ? false : _ref$inverse;
31
+ var _useState = useState(false),
32
+ _useState2 = _slicedToArray(_useState, 2),
33
+ isLoading = _useState2[0],
34
+ setIsLoading = _useState2[1];
35
+ var containerRef = useRef(null);
36
+ var lastDataLength = useRef(dataLength);
37
+ var scrollTimeoutRef = useRef(null);
38
+ var isMountedRef = useRef(true);
39
+ var lastCallTimeRef = useRef(0);
40
+
41
+ // 节流函数
42
+ var throttle = useCallback(function (func, delay) {
43
+ return function () {
44
+ for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
45
+ args[_key] = arguments[_key];
46
+ }
47
+ if (scrollTimeoutRef.current) {
48
+ clearTimeout(scrollTimeoutRef.current);
49
+ }
50
+ scrollTimeoutRef.current = setTimeout(function () {
51
+ return func.apply(void 0, args);
52
+ }, delay);
53
+ };
54
+ }, []);
55
+
56
+ // 计算滚动阈值
57
+ var getScrollThreshold = useCallback(function () {
58
+ if (typeof scrollThreshold === 'string' && scrollThreshold.endsWith('px')) {
59
+ return parseInt(scrollThreshold.replace('px', ''), 10);
60
+ }
61
+ return typeof scrollThreshold === 'number' ? scrollThreshold : 0.8;
62
+ }, [scrollThreshold]);
63
+
64
+ // 检查是否需要加载更多
65
+ var checkScrollPosition = useCallback(function (element) {
66
+ if (!element || !hasMore || isLoading) return;
67
+ var threshold = getScrollThreshold();
68
+ var scrollTop = element.scrollTop,
69
+ scrollHeight = element.scrollHeight,
70
+ clientHeight = element.clientHeight;
71
+
72
+ // 防止无效的滚动值(但不直接返回,而是记录警告)
73
+ if (scrollHeight <= 0 || clientHeight <= 0) {
74
+ console.warn('InfiniteScroll: 检测到无效的滚动容器尺寸');
75
+ return;
76
+ }
77
+
78
+ // 防止scrollTop为负值(某些浏览器可能出现)
79
+ var normalizedScrollTop = Math.max(0, scrollTop);
80
+ var shouldLoadMore = false;
81
+ if (inverse) {
82
+ // 反向滚动模式:检查是否滚动到顶部
83
+ if (typeof threshold === 'number' && threshold < 1) {
84
+ // 百分比阈值
85
+ var scrollPercentage = normalizedScrollTop / scrollHeight;
86
+ shouldLoadMore = scrollPercentage <= 1 - threshold;
87
+ } else {
88
+ // 像素阈值
89
+ shouldLoadMore = normalizedScrollTop <= threshold;
90
+ }
91
+ } else {
92
+ // 正常滚动模式:检查是否滚动到底部
93
+ if (typeof threshold === 'number' && threshold < 1) {
94
+ // 百分比阈值
95
+ var _scrollPercentage = (normalizedScrollTop + clientHeight) / scrollHeight;
96
+ shouldLoadMore = _scrollPercentage >= threshold;
97
+ } else {
98
+ // 像素阈值
99
+ var remainingHeight = scrollHeight - normalizedScrollTop - clientHeight;
100
+ shouldLoadMore = remainingHeight <= threshold;
101
+ }
102
+ }
103
+ if (shouldLoadMore) {
104
+ var now = Date.now();
105
+ // 防重复调用机制:500ms内只允许一次调用
106
+ if (now - lastCallTimeRef.current < 500) {
107
+ return;
108
+ }
109
+ lastCallTimeRef.current = now;
110
+ setIsLoading(true);
111
+ try {
112
+ next();
113
+ } catch (error) {
114
+ console.error('InfiniteScroll: 加载更多数据时发生错误:', error);
115
+ if (isMountedRef.current) {
116
+ setIsLoading(false);
117
+ }
118
+ }
119
+ }
120
+ }, [hasMore, isLoading, next, getScrollThreshold, inverse]);
121
+
122
+ // 检查内容高度是否足够,如果不够则自动加载更多
123
+ var checkInitialLoad = useCallback(function () {
124
+ var element = scrollableTarget ? document.getElementById(scrollableTarget) : containerRef.current;
125
+ if (!element || !hasMore || isLoading) return;
126
+ var scrollHeight = element.scrollHeight,
127
+ clientHeight = element.clientHeight;
128
+
129
+ // 防止无效的容器尺寸
130
+ if (clientHeight <= 0) {
131
+ console.warn('InfiniteScroll: 容器高度无效,可能容器尚未渲染完成');
132
+ return;
133
+ }
134
+
135
+ // 如果内容高度不足以填满容器,或者没有任何内容,自动加载更多
136
+ var needsMoreContent = scrollHeight <= clientHeight || dataLength === 0;
137
+ if (needsMoreContent) {
138
+ var now = Date.now();
139
+ // 防重复调用机制:500ms内只允许一次调用
140
+ if (now - lastCallTimeRef.current < 500) {
141
+ return;
142
+ }
143
+ lastCallTimeRef.current = now;
144
+ setIsLoading(true);
145
+ try {
146
+ next();
147
+ } catch (error) {
148
+ console.error('InfiniteScroll: 初始加载时发生错误:', error);
149
+ if (isMountedRef.current) {
150
+ setIsLoading(false);
151
+ }
152
+ }
153
+ }
154
+ }, [hasMore, isLoading, next, scrollableTarget, dataLength]);
155
+
156
+ // 滚动事件处理(使用节流)
157
+ var handleScrollInternal = useCallback(function (event) {
158
+ try {
159
+ // 获取正确的滚动元素
160
+ var element = scrollableTarget ? document.getElementById(scrollableTarget) : event.target;
161
+
162
+ // 额外的安全检查
163
+ if (!element || typeof element.scrollTop === 'undefined') {
164
+ console.warn('InfiniteScroll: 无效的滚动目标元素');
165
+ return;
166
+ }
167
+ checkScrollPosition(element);
168
+ if (onScroll) {
169
+ onScroll(event);
170
+ }
171
+ } catch (error) {
172
+ console.error('InfiniteScroll: 滚动事件处理时发生错误:', error);
173
+ }
174
+ }, [checkScrollPosition, onScroll, scrollableTarget]);
175
+ var handleScroll = useMemo(function () {
176
+ return throttle(handleScrollInternal, 16);
177
+ },
178
+ // 约60fps
179
+ [throttle, handleScrollInternal]);
180
+
181
+ // 监听数据长度变化,重置加载状态
182
+ useEffect(function () {
183
+ if (dataLength !== lastDataLength.current) {
184
+ if (isMountedRef.current) {
185
+ setIsLoading(false);
186
+ }
187
+ lastDataLength.current = dataLength;
188
+ }
189
+ }, [dataLength]);
190
+
191
+ // 组件卸载时的清理
192
+ useEffect(function () {
193
+ return function () {
194
+ isMountedRef.current = false;
195
+ };
196
+ }, []);
197
+
198
+ // 清理定时器
199
+ useEffect(function () {
200
+ return function () {
201
+ if (scrollTimeoutRef.current) {
202
+ clearTimeout(scrollTimeoutRef.current);
203
+ }
204
+ };
205
+ }, []);
206
+
207
+ // 检查初始内容高度,确保首屏有足够内容
208
+ useEffect(function () {
209
+ // 使用setTimeout确保DOM已经渲染
210
+ var timeoutId = setTimeout(function () {
211
+ checkInitialLoad();
212
+ }, 100);
213
+ return function () {
214
+ return clearTimeout(timeoutId);
215
+ };
216
+ }, [checkInitialLoad, dataLength]);
217
+
218
+ // 当数据加载完成后,再次检查是否需要继续加载
219
+ useEffect(function () {
220
+ if (!isLoading && hasMore) {
221
+ var timeoutId = setTimeout(function () {
222
+ checkInitialLoad();
223
+ }, 100);
224
+ return function () {
225
+ return clearTimeout(timeoutId);
226
+ };
227
+ }
228
+ }, [isLoading, hasMore, checkInitialLoad]);
229
+
230
+ // 设置滚动监听
231
+ useEffect(function () {
232
+ var element = scrollableTarget ? document.getElementById(scrollableTarget) : containerRef.current;
233
+ if (!element) {
234
+ console.warn('InfiniteScroll: 无法找到滚动容器元素');
235
+ return;
236
+ }
237
+
238
+ // 使用类型安全的事件处理器
239
+ var scrollHandler = handleScroll;
240
+ element.addEventListener('scroll', scrollHandler, {
241
+ passive: true
242
+ });
243
+ return function () {
244
+ // 确保清理所有事件监听器
245
+ if (element) {
246
+ element.removeEventListener('scroll', scrollHandler);
247
+ }
248
+ };
249
+ }, [handleScroll, scrollableTarget]);
250
+ var containerStyle = useMemo(function () {
251
+ return _objectSpread(_objectSpread(_objectSpread({}, style), height && {
252
+ height: typeof height === 'number' ? "".concat(height, "px") : height,
253
+ overflowY: 'auto'
254
+ }), inverse && {
255
+ display: 'flex',
256
+ flexDirection: 'column-reverse'
257
+ });
258
+ }, [style, height, inverse]);
259
+ return /*#__PURE__*/React.createElement("div", {
260
+ ref: !scrollableTarget ? containerRef : undefined,
261
+ className: className,
262
+ style: containerStyle
263
+ }, inverse ? /*#__PURE__*/React.createElement(React.Fragment, null, isLoading && hasMore && loader, !hasMore && endMessage, children) : /*#__PURE__*/React.createElement(React.Fragment, null, children, isLoading && hasMore && loader, !hasMore && endMessage));
264
+ };
265
+ export default InfiniteScroll;
@@ -0,0 +1 @@
1
+ export { default } from "./InfiniteScroll";
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,214 @@
1
+ var _excluded = ["onRowClick", "resultProps", "onAddClient", "hasMore", "onLoadMore"];
2
+ function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
3
+ function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
4
+ function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
5
+ function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
6
+ function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
7
+ function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t.return && (u = t.return(), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }
8
+ function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
9
+ function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
10
+ function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
11
+ import React, { forwardRef, useImperativeHandle, useRef, useState } from 'react';
12
+ import { Tag, List } from 'antd';
13
+ // @ts-ignore
14
+ import { locales } from '@pisell/utils';
15
+ import dayjs from 'dayjs';
16
+ import InfiniteScroll from "./InfiniteScroll";
17
+ import ComprehensiveSearch from "../../pro/comprehensiveSearch";
18
+ import ClientName from "../clientName";
19
+ import AddClient from "./Add";
20
+ import localeTexts from "./locales";
21
+ import useEngineContext from "../../hooks/useEngineContext";
22
+ import useTranslationOriginal from "../../hooks/useTranslationOriginal";
23
+ import "./index.less";
24
+ var ClientSearch = /*#__PURE__*/forwardRef(function (_ref, ref) {
25
+ var _context$appHelper;
26
+ var onRowClick = _ref.onRowClick,
27
+ resultProps = _ref.resultProps,
28
+ onAddClient = _ref.onAddClient,
29
+ hasMore = _ref.hasMore,
30
+ onLoadMore = _ref.onLoadMore,
31
+ props = _objectWithoutProperties(_ref, _excluded);
32
+ var _useState = useState(false),
33
+ _useState2 = _slicedToArray(_useState, 2),
34
+ modalVisible = _useState2[0],
35
+ setModalVisible = _useState2[1];
36
+ var comprehensiveSearchRef = useRef(null);
37
+ var addClientRef = useRef(null);
38
+ var scrollContainerRef = useRef(null);
39
+ var translationOriginal = useTranslationOriginal();
40
+ var context = useEngineContext();
41
+ locales.init(localeTexts, ((_context$appHelper = context.appHelper) === null || _context$appHelper === void 0 || (_context$appHelper = _context$appHelper.utils) === null || _context$appHelper === void 0 || (_context$appHelper = _context$appHelper.storage) === null || _context$appHelper === void 0 ? void 0 : _context$appHelper.get('umi_locale')) || 'en');
42
+ var handleAdd = function handleAdd() {
43
+ setModalVisible(true);
44
+ };
45
+ var handleModalCancel = function handleModalCancel() {
46
+ var _addClientRef$current;
47
+ setModalVisible(false);
48
+ (_addClientRef$current = addClientRef.current) === null || _addClientRef$current === void 0 || _addClientRef$current.reset();
49
+ };
50
+
51
+ // 渲染列表头部
52
+ var renderListHeader = function renderListHeader() {
53
+ return /*#__PURE__*/React.createElement("div", {
54
+ className: "client-search-list-header"
55
+ }, /*#__PURE__*/React.createElement("div", {
56
+ className: "header-item",
57
+ style: {
58
+ width: 110
59
+ }
60
+ }, locales.getText('pisell2.text.client-search.name')), /*#__PURE__*/React.createElement("div", {
61
+ className: "header-item",
62
+ style: {
63
+ width: 110
64
+ }
65
+ }, locales.getText('pisell2.text.client-search.register-time')), /*#__PURE__*/React.createElement("div", {
66
+ className: "header-item",
67
+ style: {
68
+ width: 120
69
+ }
70
+ }, locales.getText('pisell2.text.client-search.phone')), /*#__PURE__*/React.createElement("div", {
71
+ className: "header-item",
72
+ style: {
73
+ width: 135
74
+ }
75
+ }, locales.getText('pisell2.text.client-search.email')), /*#__PURE__*/React.createElement("div", {
76
+ className: "header-item",
77
+ style: {
78
+ width: 120
79
+ }
80
+ }, locales.getText('pisell2.text.client-search.membership')));
81
+ };
82
+
83
+ // 自定义结果展示组件
84
+ var renderResults = function renderResults(searchResults) {
85
+ return /*#__PURE__*/React.createElement(React.Fragment, null, searchResults !== null && searchResults !== void 0 && searchResults.length ? renderListHeader() : null, /*#__PURE__*/React.createElement("div", {
86
+ ref: scrollContainerRef,
87
+ id: "client-search_infinite-scroll",
88
+ style: {
89
+ height: 'calc(100% - 40px)',
90
+ overflowY: 'auto',
91
+ overflowX: 'hidden',
92
+ display: 'flex'
93
+ }
94
+ }, /*#__PURE__*/React.createElement(InfiniteScroll, {
95
+ dataLength: searchResults.length,
96
+ next: onLoadMore || function () {},
97
+ hasMore: hasMore || false,
98
+ style: {
99
+ width: '100%'
100
+ },
101
+ loader: /*#__PURE__*/React.createElement("div", {
102
+ style: {
103
+ textAlign: 'center',
104
+ padding: '20px',
105
+ color: '#999'
106
+ }
107
+ }, locales.getText('pisell2.text.loading')),
108
+ endMessage: /*#__PURE__*/React.createElement("div", {
109
+ style: {
110
+ textAlign: 'center',
111
+ color: '#999'
112
+ }
113
+ }, searchResults !== null && searchResults !== void 0 && searchResults.length ? locales.getText('pisell2.text.no-more-data') : null),
114
+ scrollableTarget: "client-search_infinite-scroll"
115
+ }, /*#__PURE__*/React.createElement(List, {
116
+ dataSource: searchResults,
117
+ renderItem: function renderItem(item, index) {
118
+ var _latest_wallet_detail;
119
+ var membershipText = (_latest_wallet_detail = item.latest_wallet_detail) === null || _latest_wallet_detail === void 0 || (_latest_wallet_detail = _latest_wallet_detail.wallet) === null || _latest_wallet_detail === void 0 ? void 0 : _latest_wallet_detail.name;
120
+ return /*#__PURE__*/React.createElement(List.Item, {
121
+ key: item.id,
122
+ className: "client-search-list-item"
123
+ }, /*#__PURE__*/React.createElement("div", {
124
+ className: "list-item-content",
125
+ onClick: function onClick() {
126
+ return onRowClick === null || onRowClick === void 0 ? void 0 : onRowClick(item, index || 0);
127
+ },
128
+ style: {
129
+ cursor: 'pointer'
130
+ }
131
+ }, /*#__PURE__*/React.createElement("div", {
132
+ className: "item-cell",
133
+ style: {
134
+ width: 110
135
+ }
136
+ }, /*#__PURE__*/React.createElement(ClientName, {
137
+ dataSource: item
138
+ })), /*#__PURE__*/React.createElement("div", {
139
+ className: "item-cell",
140
+ style: {
141
+ width: 110
142
+ }
143
+ }, dayjs(item.created_at).format('YYYY-MM-DD') || '-'), /*#__PURE__*/React.createElement("div", {
144
+ className: "item-cell",
145
+ style: {
146
+ width: 120
147
+ }
148
+ }, item.phone || '-'), /*#__PURE__*/React.createElement("div", {
149
+ className: "item-cell",
150
+ style: {
151
+ width: 135
152
+ }
153
+ }, /*#__PURE__*/React.createElement("div", {
154
+ style: {
155
+ overflow: 'hidden',
156
+ textOverflow: 'ellipsis',
157
+ whiteSpace: 'nowrap'
158
+ }
159
+ }, item.email || '-')), /*#__PURE__*/React.createElement("div", {
160
+ className: "item-cell",
161
+ style: {
162
+ width: 120
163
+ }
164
+ }, membershipText && translationOriginal !== null && translationOriginal !== void 0 && translationOriginal(membershipText) ? /*#__PURE__*/React.createElement(Tag, {
165
+ color: "gold",
166
+ style: {
167
+ overflow: 'hidden',
168
+ whiteSpace: 'nowrap',
169
+ textOverflow: 'ellipsis',
170
+ width: 'auto',
171
+ maxWidth: '100%',
172
+ display: 'inline-block',
173
+ borderRadius: 16,
174
+ marginRight: 0
175
+ }
176
+ }, translationOriginal === null || translationOriginal === void 0 ? void 0 : translationOriginal(membershipText)) : '-')));
177
+ }
178
+ }))));
179
+ };
180
+ var handleAddClient = function handleAddClient(record, isChecked) {
181
+ onAddClient === null || onAddClient === void 0 || onAddClient(record, isChecked);
182
+ handleModalCancel();
183
+ };
184
+ useImperativeHandle(ref, function () {
185
+ return {
186
+ setSearchKeyword: function setSearchKeyword(keyword) {
187
+ var _comprehensiveSearchR, _comprehensiveSearchR2;
188
+ (_comprehensiveSearchR = comprehensiveSearchRef.current) === null || _comprehensiveSearchR === void 0 || (_comprehensiveSearchR2 = _comprehensiveSearchR.setSearchKeyword) === null || _comprehensiveSearchR2 === void 0 || _comprehensiveSearchR2.call(_comprehensiveSearchR, keyword);
189
+ },
190
+ resetScrollPosition: function resetScrollPosition() {
191
+ if (scrollContainerRef.current) {
192
+ scrollContainerRef.current.scrollTop = 0;
193
+ }
194
+ }
195
+ };
196
+ });
197
+ return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(ComprehensiveSearch, _extends({}, props, {
198
+ ref: comprehensiveSearchRef,
199
+ renderType: "modal",
200
+ onAdd: handleAdd,
201
+ resultDisplay: renderResults
202
+ })), /*#__PURE__*/React.createElement(AddClient, {
203
+ containerProps: {
204
+ className: 'pisell-client-search__new-client-modal',
205
+ title: locales.getText('pisell2.text.create-new-client'),
206
+ open: modalVisible,
207
+ onCancel: handleModalCancel,
208
+ width: 680
209
+ },
210
+ onChange: handleAddClient,
211
+ ref: addClientRef
212
+ }));
213
+ });
214
+ export default ClientSearch;
@@ -0,0 +1,91 @@
1
+ .client-search-table {
2
+ .pisell-lowcode-table-tbody > tr {
3
+ cursor: pointer;
4
+
5
+ &:hover {
6
+ background-color: #f5f5f5;
7
+ }
8
+ }
9
+
10
+ .pisell-lowcode-table-thead > tr > th {
11
+ background-color: #fafafa;
12
+ font-weight: 600;
13
+ }
14
+ }
15
+
16
+ // List样式
17
+ .client-search-list-header {
18
+ display: flex;
19
+ background-color: #fafafa;
20
+ border-bottom: 1px solid #d9d9d9;
21
+ padding: 12px 16px;
22
+ font-weight: 600;
23
+
24
+ .header-item {
25
+ flex-shrink: 0;
26
+ padding-right: 16px;
27
+ color: rgba(0, 0, 0, 0.85);
28
+ font-size: 14px;
29
+ }
30
+ }
31
+
32
+ .client-search-list-item {
33
+ cursor: pointer;
34
+ border-bottom: 1px solid #f0f0f0;
35
+ padding: 0 !important;
36
+
37
+ &:hover {
38
+ background-color: #f5f5f5;
39
+ }
40
+
41
+ &:last-child {
42
+ border-bottom: none;
43
+ }
44
+
45
+ .list-item-content {
46
+ display: flex;
47
+ width: 100%;
48
+ padding: 12px 16px;
49
+
50
+ .item-cell {
51
+ flex-shrink: 0;
52
+ padding-right: 16px;
53
+ color: rgba(0, 0, 0, 0.85);
54
+ font-size: 14px;
55
+ display: flex;
56
+ align-items: center;
57
+ overflow: hidden;
58
+ display: inline-block;
59
+ text-overflow: ellipsis;
60
+ white-space: nowrap;
61
+ }
62
+ }
63
+
64
+ // 添加点击事件处理
65
+ .ant-list-item-meta {
66
+ pointer-events: none;
67
+ }
68
+ }
69
+
70
+ .client-search-form {
71
+ padding: 16px 0;
72
+
73
+ .ant-form-item {
74
+ margin-bottom: 16px;
75
+ }
76
+
77
+ .ant-input {
78
+ height: 40px;
79
+ }
80
+ }
81
+
82
+ .comprehensive-search {
83
+ .comprehensive-search__results-container {
84
+ .client-search-table {
85
+ .pisell-lowcode-table {
86
+ border: 1px solid #d9d9d9;
87
+ border-radius: 6px;
88
+ }
89
+ }
90
+ }
91
+ }
@@ -0,0 +1,101 @@
1
+ export default {
2
+ en: {
3
+ 'pisell2.text.leave-empty-for-walk-in': 'Leave empty for Walk-In',
4
+ 'pisell2.text.date-year-text': 'YYYY',
5
+ 'pisell2.text.date-month-text': 'MM',
6
+ 'pisell2.text.date-day-text': 'DD',
7
+ 'pisell2.text.gender': 'Gender',
8
+ 'pisell2.text.gender.male': 'Male',
9
+ 'pisell2.text.gender.female': 'Female',
10
+ 'pisell2.text.birthday': 'Birthday',
11
+ 'pisell2.text.phone': 'Phone Number',
12
+ 'pisell2.text.email': 'Email',
13
+ 'pisell2.text.lastname': 'Last Name',
14
+ 'pisell2.text.firstname': 'First Name',
15
+ 'pisell2.text.email-error-message': 'Email format error',
16
+ 'pisell2.text.notes': 'Note',
17
+ 'pisell2.text.save': 'Save',
18
+ 'pisell2.text.save-and-select': 'Save and select',
19
+ 'pisell2.text.no-results-found': 'No results found.',
20
+ 'pisell2.text.create-new-client': 'Create new client',
21
+ 'pisell2.text.result-found': 'Result found',
22
+ 'pisell2.text.personnel-list': 'Personnel list',
23
+ 'pisell2.text.load-more': 'Load more',
24
+ 'pisell2.text.add-client.confirm': 'Fill in at least one name, phone number and email address',
25
+ 'pisell2.text.search-customer-by-phone-number': 'Search by phone number',
26
+ 'pisell2.text.create': 'Create',
27
+ 'pisell2.text.loading': 'Loading',
28
+ 'pisell2.text.no-more-data': 'No More Data',
29
+ 'pisell2.text.client-search.name': 'Name',
30
+ 'pisell2.text.client-search.register-time': 'Registration Time',
31
+ 'pisell2.text.client-search.phone': 'Phone Number',
32
+ 'pisell2.text.client-search.email': 'Email Address',
33
+ 'pisell2.text.client-search.membership': 'Membership'
34
+ },
35
+ 'zh-CN': {
36
+ 'pisell2.text.leave-empty-for-walk-in': '如未注册游客则留空',
37
+ 'pisell2.text.date-year-text': '年',
38
+ 'pisell2.text.date-month-text': '月',
39
+ 'pisell2.text.date-day-text': '日',
40
+ 'pisell2.text.gender': '性别',
41
+ 'pisell2.text.gender.male': '男',
42
+ 'pisell2.text.gender.female': '女',
43
+ 'pisell2.text.birthday': '生日',
44
+ 'pisell2.text.phone': '电话号码',
45
+ 'pisell2.text.email': '电子邮箱',
46
+ 'pisell2.text.lastname': '姓',
47
+ 'pisell2.text.firstname': '名',
48
+ 'pisell2.text.email-error-message': '电子邮件格式错误',
49
+ 'pisell2.text.notes': '备注',
50
+ 'pisell2.text.save': '保存',
51
+ 'pisell2.text.save-and-select': '保存并选中',
52
+ 'pisell2.text.no-results-found': '没有搜索到结果',
53
+ 'pisell2.text.create-new-client': '创建新客户',
54
+ 'pisell2.text.result-found': '搜索结果',
55
+ 'pisell2.text.personnel-list': '客户列表',
56
+ 'pisell2.text.add-client.confirm': '姓名,电话,邮箱至少填一个',
57
+ 'pisell2.text.load-more': '加载更多',
58
+ 'pisell2.text.search-customer-by-phone-number': '输入手机号搜索客户',
59
+ 'pisell2.text.create': '创建',
60
+ 'pisell2.text.loading': '加载中',
61
+ 'pisell2.text.no-more-data': '没有更多数据了',
62
+ 'pisell2.text.client-search.name': '姓名',
63
+ 'pisell2.text.client-search.register-time': '注册时间',
64
+ 'pisell2.text.client-search.phone': '电话号码',
65
+ 'pisell2.text.client-search.email': '邮箱',
66
+ 'pisell2.text.client-search.membership': '会员'
67
+ },
68
+ 'zh-HK': {
69
+ 'pisell2.text.leave-empty-for-walk-in': '如未註冊遊客則留空',
70
+ 'pisell2.text.date-year-text': '年',
71
+ 'pisell2.text.date-month-text': '月',
72
+ 'pisell2.text.date-day-text': '日',
73
+ 'pisell2.text.gender': '性别',
74
+ 'pisell2.text.gender.male': '男',
75
+ 'pisell2.text.gender.female': '女',
76
+ 'pisell2.text.birthday': '生日',
77
+ 'pisell2.text.phone': '電話號碼',
78
+ 'pisell2.text.email': '電子郵箱',
79
+ 'pisell2.text.lastname': '姓',
80
+ 'pisell2.text.firstname': '名',
81
+ 'pisell2.text.email-error-message': '電子郵件格式錯誤',
82
+ 'pisell2.text.notes': '備註',
83
+ 'pisell2.text.save': '保存',
84
+ 'pisell2.text.save-and-select': '保存並選中',
85
+ 'pisell2.text.no-results-found': '沒有搜索到客戶',
86
+ 'pisell2.text.create-new-client': '創建新客戶',
87
+ 'pisell2.text.result-found': '搜索結果',
88
+ 'pisell2.text.personnel-list': '客戶列表',
89
+ 'pisell2.text.add-client.confirm': '姓名,電話,郵箱至少填一個',
90
+ 'pisell2.text.load-more': '加載更多',
91
+ 'pisell2.text.search-customer-by-phone-number': '輸入手機號搜索客戶',
92
+ 'pisell2.text.create': '創建',
93
+ 'pisell2.text.loading': '載入中',
94
+ 'pisell2.text.no-more-data': '沒有更多資料了',
95
+ 'pisell2.text.client-search.name': '姓名',
96
+ 'pisell2.text.client-search.register-time': '註冊時間',
97
+ 'pisell2.text.client-search.phone': '電話號碼',
98
+ 'pisell2.text.client-search.email': '電郵地址',
99
+ 'pisell2.text.client-search.membership': '會員'
100
+ }
101
+ };