@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
@@ -33,7 +33,7 @@ import { getSumTotal, is_price_include_tax } from "./amount";
33
33
  import "./index.less";
34
34
  import { createEventBooking, editEventBooking } from "./serve";
35
35
  import { checkHolderIsError, formatValues } from "./utils";
36
- import VoucherCard from "../voucher";
36
+ import NoteModal from "../../../../plus/noteModal";
37
37
  import { SubTotal } from "../../../../index";
38
38
  import { useIsBooking4Shop } from "../../hooks/useIsBooking4Shop";
39
39
  import { sendWarningLog } from '@pisell/utils';
@@ -47,7 +47,7 @@ import dayjs from 'dayjs';
47
47
  * @Date: 2024-01-30 16:51
48
48
  */
49
49
  var Footer = function Footer(props) {
50
- var _context$appHelper, _state$bookingConfig2, _state$bookingConfig4, _state$addons2, _businessUtils$getApp, _businessUtils$getApp2, _state$bookingDetail8, _state$addons4, _state$bookingDetail16, _state$bookingDetail17;
50
+ var _context$appHelper, _state$bookingConfig2, _state$bookingConfig4, _state$addons2, _state$bookingDetail8, _state$addons4, _state$bookingDetail16, _state$bookingDetail17, _state$notes2;
51
51
  var state = props.state,
52
52
  buttons = props.buttons,
53
53
  dispatch = props.dispatch,
@@ -67,10 +67,15 @@ var Footer = function Footer(props) {
67
67
  _useState6 = _slicedToArray(_useState5, 2),
68
68
  checkoutLoading = _useState6[0],
69
69
  setCheckoutLoading = _useState6[1];
70
+ // note modal state
70
71
  var _useState7 = useState(false),
71
72
  _useState8 = _slicedToArray(_useState7, 2),
72
- isShowPaymentLink = _useState8[0],
73
- setIsShowPaymentLink = _useState8[1];
73
+ noteModalOpen = _useState8[0],
74
+ setNoteModalOpen = _useState8[1];
75
+ var _useState9 = useState(false),
76
+ _useState10 = _slicedToArray(_useState9, 2),
77
+ isShowPaymentLink = _useState10[0],
78
+ setIsShowPaymentLink = _useState10[1];
74
79
  var isBooking4Shop = useIsBooking4Shop(state);
75
80
  var appointmentProductRef = useRef(null);
76
81
  var context = useEngineContext();
@@ -237,11 +242,9 @@ var Footer = function Footer(props) {
237
242
 
238
243
  return false;
239
244
  }, [state, params]);
240
-
241
- // 是否安装商品券应用
242
- var hasGoodPassApp = !!(businessUtils !== null && businessUtils !== void 0 && (_businessUtils$getApp = businessUtils.getAppByModal) !== null && _businessUtils$getApp !== void 0 && _businessUtils$getApp.call(businessUtils, 'goodpass'));
243
- var hasDiscountCardApp = !!(businessUtils !== null && businessUtils !== void 0 && (_businessUtils$getApp2 = businessUtils.getAppByModal) !== null && _businessUtils$getApp2 !== void 0 && _businessUtils$getApp2.call(businessUtils, 'discountcard'));
244
- console.log('has goodpass app:', hasGoodPassApp);
245
+ var isDisabledCheckOutForNegativeOrder = useMemo(function () {
246
+ return total.expectAmount < 0 && state.isBookingTicket2;
247
+ }, [total, state.isBookingTicket2]);
245
248
 
246
249
  /**
247
250
  * @title: 跳转到 checkout页面
@@ -252,7 +255,7 @@ var Footer = function Footer(props) {
252
255
  * @Date: 2024-01-30 16:53
253
256
  */
254
257
  var goCheckout = /*#__PURE__*/function () {
255
- var _ref = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee(order_id) {
258
+ var _ref = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee(order_id, isNewOrder) {
256
259
  var _interaction$utils, _interaction$utils$po;
257
260
  return _regeneratorRuntime().wrap(function _callee$(_context) {
258
261
  while (1) switch (_context.prev = _context.next) {
@@ -272,7 +275,9 @@ var Footer = function Footer(props) {
272
275
  key: 'booking_checkout',
273
276
  data: {
274
277
  order_id: order_id,
275
- callbackType: 'pisell2'
278
+ callbackType: 'pisell2',
279
+ // 是新创建订单传递newOrder terminal内会执行弃单逻辑 编辑订单时不走弃单逻辑
280
+ newOrder: isNewOrder
276
281
  }
277
282
  }));
278
283
  case 4:
@@ -291,7 +296,7 @@ var Footer = function Footer(props) {
291
296
  }
292
297
  }, _callee);
293
298
  }));
294
- return function goCheckout(_x) {
299
+ return function goCheckout(_x, _x2) {
295
300
  return _ref.apply(this, arguments);
296
301
  };
297
302
  }();
@@ -305,37 +310,38 @@ var Footer = function Footer(props) {
305
310
  */
306
311
  var handleCheckout = /*#__PURE__*/function () {
307
312
  var _ref2 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee2() {
308
- var isHasDayProducts, res;
313
+ var isNewOrder, isHasDayProducts, res;
309
314
  return _regeneratorRuntime().wrap(function _callee2$(_context2) {
310
315
  while (1) switch (_context2.prev = _context2.next) {
311
316
  case 0:
317
+ isNewOrder = !state.bookingId; // 如果有编辑内容, 则先保存
312
318
  if (!isEdit) {
313
- _context2.next = 10;
319
+ _context2.next = 11;
314
320
  break;
315
321
  }
316
322
  if (!isDayBooking(state)) {
317
- _context2.next = 5;
323
+ _context2.next = 6;
318
324
  break;
319
325
  }
320
326
  isHasDayProducts = handleDaySubmit();
321
327
  if (!isHasDayProducts) {
322
- _context2.next = 5;
328
+ _context2.next = 6;
323
329
  break;
324
330
  }
325
331
  return _context2.abrupt("return");
326
- case 5:
327
- _context2.next = 7;
332
+ case 6:
333
+ _context2.next = 8;
328
334
  return handleSave({
329
335
  type: 'checkout',
330
336
  messageShow: !(isTerminal !== null && isTerminal !== void 0 && isTerminal())
331
337
  });
332
- case 7:
338
+ case 8:
333
339
  res = _context2.sent;
334
- goCheckout((res === null || res === void 0 ? void 0 : res.order_id) || state.bookingId);
340
+ goCheckout((res === null || res === void 0 ? void 0 : res.order_id) || state.bookingId, isNewOrder);
335
341
  return _context2.abrupt("return");
336
- case 10:
337
- return _context2.abrupt("return", goCheckout(state.bookingId));
338
342
  case 11:
343
+ return _context2.abrupt("return", goCheckout(state.bookingId, isNewOrder));
344
+ case 12:
339
345
  case "end":
340
346
  return _context2.stop();
341
347
  }
@@ -471,7 +477,7 @@ var Footer = function Footer(props) {
471
477
  case 20:
472
478
  _context4.prev = 20;
473
479
  callbackData = null; // 格式化提交的参数
474
- values = formatValues(_objectSpread(_objectSpread({}, state), saveOtherValue)); // 区分是新增还是编辑
480
+ values = formatValues(_objectSpread(_objectSpread({}, state), saveOtherValue), context); // 区分是新增还是编辑
475
481
  api = state.bookingId ? editApi : createApi; // 增加日志记录
476
482
  sendWarningLog({
477
483
  title: 'saveBooking',
@@ -552,7 +558,7 @@ var Footer = function Footer(props) {
552
558
  }
553
559
  }, _callee4, null, [[20, 38]]);
554
560
  }));
555
- return function handleSave(_x2) {
561
+ return function handleSave(_x3) {
556
562
  return _ref5.apply(this, arguments);
557
563
  };
558
564
  }();
@@ -592,7 +598,7 @@ var Footer = function Footer(props) {
592
598
  }
593
599
  }, _callee5);
594
600
  }));
595
- return function onSelect(_x3) {
601
+ return function onSelect(_x4) {
596
602
  return _ref6.apply(this, arguments);
597
603
  };
598
604
  }();
@@ -667,7 +673,7 @@ var Footer = function Footer(props) {
667
673
  onClick: function onClick() {
668
674
  handleCheckout();
669
675
  },
670
- disabled: isDisabled
676
+ disabled: isDisabled || isDisabledCheckOutForNegativeOrder
671
677
  }, locales.getText('pisell2.text.checkout')));
672
678
  }, [isEdit, checkoutLoading, isDisabled, state, source]);
673
679
  var handleMenuClick = /*#__PURE__*/function () {
@@ -723,7 +729,7 @@ var Footer = function Footer(props) {
723
729
  }
724
730
  }, _callee6);
725
731
  }));
726
- return function handleMenuClick(_x4) {
732
+ return function handleMenuClick(_x5) {
727
733
  return _ref7.apply(this, arguments);
728
734
  };
729
735
  }();
@@ -829,6 +835,38 @@ var Footer = function Footer(props) {
829
835
  loading: loading
830
836
  }, locales.getText('pisell2.text.save')));
831
837
  }, [loading, isDisabled, isEdit, infoEdit, addonsEdit, state]);
838
+ var handleNote = function handleNote() {
839
+ setNoteModalOpen(true);
840
+ };
841
+
842
+ // 备注弹窗确认回调
843
+ var handleNoteConfirm = function handleNoteConfirm(noteValue) {
844
+ dispatch({
845
+ type: 'setNotes',
846
+ payload: {
847
+ orderNote: noteValue,
848
+ edit: true
849
+ }
850
+ });
851
+ setNoteModalOpen(false);
852
+ };
853
+
854
+ // 备注弹窗删除回调
855
+ var handleNoteDelete = function handleNoteDelete() {
856
+ dispatch({
857
+ type: 'setNotes',
858
+ payload: {
859
+ orderNote: '',
860
+ edit: true
861
+ }
862
+ });
863
+ setNoteModalOpen(false);
864
+ };
865
+
866
+ // 备注弹窗取消回调
867
+ var handleNoteCancel = function handleNoteCancel() {
868
+ setNoteModalOpen(false);
869
+ };
832
870
 
833
871
  /**
834
872
  * @title: 完成按钮
@@ -904,6 +942,19 @@ var Footer = function Footer(props) {
904
942
  // style={{ backgroundColor: '#f04438', color: '#fff' }}
905
943
  }, locales.getText('pisell2.booking.info.text.clear-all')));
906
944
  }, []);
945
+ var noteButton = useMemo(function () {
946
+ return /*#__PURE__*/React.createElement(ConfigProvider, {
947
+ theme: {
948
+ token: {
949
+ colorPrimary: '#0d7fa9'
950
+ }
951
+ }
952
+ }, /*#__PURE__*/React.createElement(Button, {
953
+ className: "pisell-lowcode__booking-footer-buttons-item",
954
+ type: "primary",
955
+ onClick: handleNote
956
+ }, locales.getText('pisell2.ticket-booking.notes')));
957
+ }, []);
907
958
  var buttonMap = {
908
959
  checkout: checkoutButton,
909
960
  save: saveButton,
@@ -911,7 +962,8 @@ var Footer = function Footer(props) {
911
962
  refund: refundButton,
912
963
  paymentLink: paymentLinkButton,
913
964
  rebook: rebookButton,
914
- clearAll: clearAllButton
965
+ clearAll: clearAllButton,
966
+ note: noteButton
915
967
  };
916
968
  var isShowClearAll = useMemo(function () {
917
969
  // 目前新建状态时展示清除全部按钮
@@ -985,12 +1037,16 @@ var Footer = function Footer(props) {
985
1037
  // info
986
1038
  if (source === 'info') {
987
1039
  var _arr2 = [];
988
- if (isShowClearAll) {
989
- _arr2.push(buttonMap.clearAll);
990
- }
1040
+ // 注释掉清空按钮
1041
+ // if (isShowClearAll) {
1042
+ // arr.push(buttonMap.clearAll);
1043
+ // }
991
1044
  // if (state.bookingId && isShowPaymentLink) {
992
1045
  // arr.push(buttonMap.paymentLink);
993
1046
  // }
1047
+ if (state.isBookingTicket2) {
1048
+ _arr2.push(buttonMap.note);
1049
+ }
994
1050
  // 有未支付金额 展示checkout
995
1051
  if (isCheckout) {
996
1052
  // 有未支付金额 展示checkout
@@ -1254,16 +1310,24 @@ var Footer = function Footer(props) {
1254
1310
  title: state === null || state === void 0 || (_state$bookingDetail15 = state.bookingDetail) === null || _state$bookingDetail15 === void 0 ? void 0 : _state$bookingDetail15.tax_title
1255
1311
  }
1256
1312
  },
1257
- // 订单折扣
1313
+ // 订单折扣(优惠券等)
1258
1314
  {
1259
1315
  hidden: !state.bookingId,
1260
1316
  key: 'discount',
1261
1317
  value: total.shopDiscount
1262
1318
  },
1319
+ // 手动折扣
1320
+ {
1321
+ hidden: !state.shop_discount || !!state.bookingId,
1322
+ key: 'shop_discount',
1323
+ value: Number(state.shop_discount) || 0,
1324
+ label: locales.getText('pisell2.text.manual-price-adjustment')
1325
+ },
1263
1326
  // 总计
1264
1327
  {
1265
- key: 'total',
1266
- value: total.expectAmount
1328
+ key: 'expect_amount',
1329
+ value: total.expectAmount,
1330
+ label: locales.getText('pisell2.subtotal.total')
1267
1331
  },
1268
1332
  // 舍入金额
1269
1333
  {
@@ -1309,11 +1373,7 @@ var Footer = function Footer(props) {
1309
1373
  round: true,
1310
1374
  loading: showFooter,
1311
1375
  active: true
1312
- }, (hasGoodPassApp || hasDiscountCardApp) && ['addons', 'info'].includes(source) && !paymentRefundedStatus ? /*#__PURE__*/React.createElement(VoucherCard, {
1313
- state: state,
1314
- dispatch: dispatch,
1315
- source: source
1316
- }) : null, /*#__PURE__*/React.createElement("div", {
1376
+ }, /*#__PURE__*/React.createElement("div", {
1317
1377
  className: "pisell-lowcode__booking-footer-total"
1318
1378
  }, /*#__PURE__*/React.createElement("span", {
1319
1379
  className: "pisell-lowcode__booking-footer-left"
@@ -1377,6 +1437,13 @@ var Footer = function Footer(props) {
1377
1437
  className: "pisell-lowcode__booking-footer-buttons-item"
1378
1438
  }, actionMap.orderDetail.label)) : null, contextHolder, /*#__PURE__*/React.createElement(AppointmentProductModal, {
1379
1439
  ref: appointmentProductRef
1440
+ }), noteModalOpen && /*#__PURE__*/React.createElement(NoteModal, {
1441
+ open: noteModalOpen,
1442
+ title: locales.getText('pisell2.text.add-order-notes'),
1443
+ value: ((_state$notes2 = state.notes) === null || _state$notes2 === void 0 ? void 0 : _state$notes2.orderNote) || '',
1444
+ onConfirm: handleNoteConfirm,
1445
+ onDelete: handleNoteDelete,
1446
+ onCancel: handleNoteCancel
1380
1447
  }));
1381
1448
  };
1382
1449
  export default Footer;
@@ -10,7 +10,7 @@ import { isWalkIn } from "../../utils";
10
10
  import { getSumCapacity } from "../../info2/utilsByBooking";
11
11
  import { getDays } from "../../utils";
12
12
  import { appointmentTypes } from "../../info/service2/status";
13
- import { isDaysBooking, formatDayTime, isEventBooking, isNormalProductByDurationSchedule } from "../../info/service2/utils";
13
+ import { isDaysBooking, formatDayTime, isEventBooking, isNormalProductByDurationSchedule, genRowKey } from "../../info/service2/utils";
14
14
  import { isArr, locales, sendWarningLog } from '@pisell/utils';
15
15
  import { PisellToast } from "@pisell/materials";
16
16
  var formatNote = function formatNote(data) {
@@ -125,7 +125,7 @@ var formatRelationDetails = function formatRelationDetails(list) {
125
125
  return (list || []).map(function (item) {
126
126
  return {
127
127
  num: item.product_quantity,
128
- price: item.payment_price || 0,
128
+ price: item.original_price || 0,
129
129
  product_id: item.product_id,
130
130
  is_charge_tax: item.is_charge_tax,
131
131
  order_detail_id: item.order_detail_id
@@ -311,7 +311,7 @@ var getSourceProductPrice = function getSourceProductPrice(item) {
311
311
  * @Date: 2024-12-07 14:21
312
312
  */
313
313
  var formatProducts = function formatProducts(item, quantity) {
314
- var _item$_extend15, _item$_extend16, _item$_extend17;
314
+ var _item$_extend15, _item$_extend16, _item$_extend17, _item$_extend18;
315
315
  var total = Number(item._extend.total);
316
316
  var origin_total = Number(item._extend.origin_total);
317
317
  var discount_amount = origin_total - total;
@@ -324,23 +324,27 @@ var formatProducts = function formatProducts(item, quantity) {
324
324
  var notManualDiscount = discount_list.filter(function (item) {
325
325
  return item.type !== 'product';
326
326
  });
327
+ if (item.isCustomItem) {
328
+ item.product_id = 0;
329
+ }
327
330
  return {
331
+ "name": item.name,
328
332
  "num": quantity || item._extend.quantity,
329
333
  "price": formatProductPrice(item),
330
334
  "source_product_price": getSourceProductPrice(item),
331
- "product_id": (item === null || item === void 0 ? void 0 : item.product_id) || item.id,
335
+ "product_id": item !== null && item !== void 0 && item.product_id || item.product_id === 0 ? item.product_id : item.id,
332
336
  "discount_amount": notManualDiscount.length > 0 ? 0 : discount_amount,
333
337
  "product_discount_reason": item._extend.discount_reason || '',
334
338
  "is_charge_tax": item.is_charge_tax,
335
- "note": (item === null || item === void 0 ? void 0 : item.note) || '',
339
+ "note": ((_item$_extend15 = item._extend) === null || _item$_extend15 === void 0 ? void 0 : _item$_extend15.note) || '',
336
340
  "discountway": item._extend.discountway || "num",
337
341
  "discount_per": item._extend.discount_per,
338
342
  "discount_type": item._extend.discount_type || discount_type,
339
343
  "order_detail_id": item._extend.order_detail_id || 0,
340
- "product_bundle": formatProductBundle((_item$_extend15 = item._extend) === null || _item$_extend15 === void 0 || (_item$_extend15 = _item$_extend15.other) === null || _item$_extend15 === void 0 ? void 0 : _item$_extend15.bundle),
344
+ "product_bundle": formatProductBundle((_item$_extend16 = item._extend) === null || _item$_extend16 === void 0 || (_item$_extend16 = _item$_extend16.other) === null || _item$_extend16 === void 0 ? void 0 : _item$_extend16.bundle),
341
345
  "bundle_edit": item._extend.bundle_edit,
342
- "product_option_item": formatProductOption((_item$_extend16 = item._extend) === null || _item$_extend16 === void 0 || (_item$_extend16 = _item$_extend16.other) === null || _item$_extend16 === void 0 ? void 0 : _item$_extend16.option),
343
- "product_variant_id": ((_item$_extend17 = item._extend) === null || _item$_extend17 === void 0 || (_item$_extend17 = _item$_extend17.other) === null || _item$_extend17 === void 0 ? void 0 : _item$_extend17.product_variant_id) || 0,
346
+ "product_option_item": formatProductOption((_item$_extend17 = item._extend) === null || _item$_extend17 === void 0 || (_item$_extend17 = _item$_extend17.other) === null || _item$_extend17 === void 0 ? void 0 : _item$_extend17.option),
347
+ "product_variant_id": ((_item$_extend18 = item._extend) === null || _item$_extend18 === void 0 || (_item$_extend18 = _item$_extend18.other) === null || _item$_extend18 === void 0 ? void 0 : _item$_extend18.product_variant_id) || 0,
344
348
  "discount_list": notManualDiscount,
345
349
  metadata: formatMetaData(item)
346
350
  };
@@ -360,8 +364,8 @@ var formatDayRelationProducts = function formatDayRelationProducts(data, booking
360
364
 
361
365
  // 过滤出卡片中的普通商品
362
366
  var relation_products = list === null || list === void 0 ? void 0 : list.filter(function (item) {
363
- var _item$_extend18;
364
- var holderId = (_item$_extend18 = item._extend) === null || _item$_extend18 === void 0 ? void 0 : _item$_extend18.holder_id;
367
+ var _item$_extend19;
368
+ var holderId = (_item$_extend19 = item._extend) === null || _item$_extend19 === void 0 ? void 0 : _item$_extend19.holder_id;
365
369
  var bookingHolderId = booking_item._extend.holder_id;
366
370
  var isDayBookingProduct = appointmentTypes.includes(item.extension_type);
367
371
  return holderId && holderId === bookingHolderId && !isDayBookingProduct;
@@ -387,15 +391,15 @@ var formatAppointmentProductLists = function formatAppointmentProductLists(data)
387
391
 
388
392
  // 找出预约商品
389
393
  list = list.filter(function (item) {
390
- var _item$_extend19;
391
- return ((_item$_extend19 = item._extend) === null || _item$_extend19 === void 0 ? void 0 : _item$_extend19.holder_id) && !isNormalProductByDurationSchedule(item);
394
+ var _item$_extend20;
395
+ return ((_item$_extend20 = item._extend) === null || _item$_extend20 === void 0 ? void 0 : _item$_extend20.holder_id) && !isNormalProductByDurationSchedule(item);
392
396
  });
393
397
 
394
398
  // 对预约商品列表根据holder_id进行分组
395
399
  var groupMap = new Map();
396
400
  list.forEach(function (item) {
397
- var _item$_extend20;
398
- var key = (_item$_extend20 = item._extend) === null || _item$_extend20 === void 0 ? void 0 : _item$_extend20.holder_id; // 分组键
401
+ var _item$_extend21;
402
+ var key = (_item$_extend21 = item._extend) === null || _item$_extend21 === void 0 ? void 0 : _item$_extend21.holder_id; // 分组键
399
403
  if (!groupMap.has(key)) {
400
404
  groupMap.set(key, []);
401
405
  }
@@ -455,6 +459,13 @@ var formatBookings = function formatBookings(data, values) {
455
459
  var eventOtherParams = data.eventOtherParams;
456
460
  var bookings = [];
457
461
  list.forEach(function (item) {
462
+ // 自定义商品直接使用 _extend 中的数据,并将 id 转换为 0 提交给后端
463
+ if (item.isCustomItem) {
464
+ bookings.push(_objectSpread(_objectSpread({}, item._extend), {}, {
465
+ product_id: 0 // 确保后端接收到的 product_id 为 0
466
+ }));
467
+ return;
468
+ }
458
469
  var start_date = item._extend.startDate.format('YYYY-MM-DD');
459
470
  var end_date = item._extend.endDate.format('YYYY-MM-DD');
460
471
  var end_time = item._extend.endDate.format("HH:mm");
@@ -468,9 +479,9 @@ var formatBookings = function formatBookings(data, values) {
468
479
 
469
480
  // 跨日预约下的普通商品
470
481
  if (isDay) {
471
- var _item$_extend21, _item$_extend22, _item$_extend23, _item$_extend24;
472
- var startDate = ((_item$_extend21 = item._extend) === null || _item$_extend21 === void 0 ? void 0 : _item$_extend21.startDate) || ((_item$_extend22 = item._extend) === null || _item$_extend22 === void 0 ? void 0 : _item$_extend22.start_date);
473
- var endDate = ((_item$_extend23 = item._extend) === null || _item$_extend23 === void 0 ? void 0 : _item$_extend23.endDate) || ((_item$_extend24 = item._extend) === null || _item$_extend24 === void 0 ? void 0 : _item$_extend24.end_date);
482
+ var _item$_extend22, _item$_extend23, _item$_extend24, _item$_extend25;
483
+ var startDate = ((_item$_extend22 = item._extend) === null || _item$_extend22 === void 0 ? void 0 : _item$_extend22.startDate) || ((_item$_extend23 = item._extend) === null || _item$_extend23 === void 0 ? void 0 : _item$_extend23.start_date);
484
+ var endDate = ((_item$_extend24 = item._extend) === null || _item$_extend24 === void 0 ? void 0 : _item$_extend24.endDate) || ((_item$_extend25 = item._extend) === null || _item$_extend25 === void 0 ? void 0 : _item$_extend25.end_date);
474
485
  var _formatDayTime = formatDayTime({
475
486
  startDate: startDate,
476
487
  endDate: endDate
@@ -512,7 +523,8 @@ var formatBookings = function formatBookings(data, values) {
512
523
  cacheItem: item
513
524
  }) : item._extend.number || 1,
514
525
  "resources": formatResource(item),
515
- "metadata": formatMetaData(item)
526
+ "metadata": formatMetaData(item),
527
+ "note": item._extend.note
516
528
  }, eventOtherParams || {}), dayParams);
517
529
  if (isDay) {
518
530
  bookings.push(booking);
@@ -606,7 +618,7 @@ export var formatValues = function formatValues(state) {
606
618
  var _values, _values3;
607
619
  var values = {
608
620
  type: state.renderType === 'eventBooking' ? "event_booking_v2" : "appointment_booking",
609
- platform: "shop",
621
+ platform: state.isBookingTicket2 ? "pos" : "shop",
610
622
  sales_channel: "my_pisel",
611
623
  bookings: [],
612
624
  customer_id: 1,
@@ -621,9 +633,11 @@ export var formatValues = function formatValues(state) {
621
633
  // 备注
622
634
  values.shop_note = formatNote(state);
623
635
  }
624
- if (state.bookingId) {
625
- values.shop_discount = state.bookingDetail.shop_discount;
626
- values.shop_discount_reason = state.bookingDetail.shop_discount_reason;
636
+
637
+ // 提交手动价格调整(shop_discount
638
+ if (state.shop_discount && Number(state.shop_discount) > 0) {
639
+ values.shop_discount = state.shop_discount;
640
+ values.shop_discount_reason = '';
627
641
  }
628
642
  if (state.contacts) {
629
643
  var _state$contacts;
@@ -672,21 +686,35 @@ export var formatValues = function formatValues(state) {
672
686
  // 检测预约主体是否为空
673
687
  export var checkHolderIsError = function checkHolderIsError(state) {
674
688
  var _state$client;
689
+ var errorRowKey = "";
675
690
  var holderError = state.service.value.some(function (item) {
676
- var _item$_extend25;
691
+ var _item$_extend27;
677
692
  // 普通商品不需要检测holder
678
693
  if (isNormalProductByDurationSchedule(item)) {
679
694
  return false;
680
695
  }
681
696
  if (item._extend.quantity === 1 && !item._extend.holder_id) {
697
+ var _item$_extend26;
698
+ errorRowKey = genRowKey(item === null || item === void 0 || (_item$_extend26 = item._extend) === null || _item$_extend26 === void 0 || (_item$_extend26 = _item$_extend26.other) === null || _item$_extend26 === void 0 ? void 0 : _item$_extend26.rowKey);
682
699
  return true;
683
700
  }
684
- if (item._extend.quantity > 1 && ((_item$_extend25 = item._extend) === null || _item$_extend25 === void 0 || (_item$_extend25 = _item$_extend25.holder_id) === null || _item$_extend25 === void 0 ? void 0 : _item$_extend25.length) !== item._extend.quantity) {
701
+ if (item._extend.quantity > 1 && ((_item$_extend27 = item._extend) === null || _item$_extend27 === void 0 || (_item$_extend27 = _item$_extend27.holder_id) === null || _item$_extend27 === void 0 ? void 0 : _item$_extend27.length) !== item._extend.quantity) {
702
+ var _item$_extend28;
703
+ errorRowKey = genRowKey(item === null || item === void 0 || (_item$_extend28 = item._extend) === null || _item$_extend28 === void 0 || (_item$_extend28 = _item$_extend28.other) === null || _item$_extend28 === void 0 ? void 0 : _item$_extend28.rowKey);
685
704
  return true;
686
705
  }
687
706
  return false;
688
707
  });
689
708
  var clientId = (_state$client = state.client) === null || _state$client === void 0 || (_state$client = _state$client.value) === null || _state$client === void 0 ? void 0 : _state$client.id;
709
+ if (holderError) {
710
+ var dom = document.getElementById(errorRowKey);
711
+ if (dom) {
712
+ dom.scrollIntoView({
713
+ behavior: 'smooth',
714
+ block: 'start'
715
+ });
716
+ }
717
+ }
690
718
  if (holderError && (!clientId || clientId === 0 || clientId === 1)) {
691
719
  PisellToast({
692
720
  content: locales.getText('pisell2.text.please-select-the-customer-first')
@@ -1,15 +1,63 @@
1
- import React from "react";
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
+ import React, { useMemo } from "react";
2
8
  import AuthWrap from "../authWrap";
3
9
  import { Skeleton } from "antd";
4
10
  import "./index.less";
5
11
  import classNames from "classnames";
12
+ import useEngineContext from "../../../../hooks/useEngineContext";
13
+ import VoucherCard from "../voucher";
14
+ import ActionButtons from "../actionButtons";
6
15
  var TabPane = function TabPane(_ref) {
16
+ var _context$appHelper, _businessUtils$getApp, _businessUtils$getApp2, _state$service, _state$addons, _state$client, _state$service2, _state$addons2, _state$client2;
7
17
  var children = _ref.children,
8
18
  header = _ref.header,
9
19
  footer = _ref.footer,
10
20
  style = _ref.style,
11
21
  loading = _ref.loading,
12
- bodyClassName = _ref.bodyClassName;
22
+ bodyClassName = _ref.bodyClassName,
23
+ state = _ref.state,
24
+ dispatch = _ref.dispatch,
25
+ source = _ref.source;
26
+ var context = useEngineContext();
27
+ var _ref2 = ((_context$appHelper = context.appHelper) === null || _context$appHelper === void 0 ? void 0 : _context$appHelper.utils) || {},
28
+ businessUtils = _ref2.businessUtils;
29
+
30
+ // 是否安装商品券应用
31
+ var hasGoodPassApp = !!(businessUtils !== null && businessUtils !== void 0 && (_businessUtils$getApp = businessUtils.getAppByModal) !== null && _businessUtils$getApp !== void 0 && _businessUtils$getApp.call(businessUtils, 'goodpass'));
32
+ var hasDiscountCardApp = !!(businessUtils !== null && businessUtils !== void 0 && (_businessUtils$getApp2 = businessUtils.getAppByModal) !== null && _businessUtils$getApp2 !== void 0 && _businessUtils$getApp2.call(businessUtils, 'discountcard'));
33
+
34
+ // 支付退款状态
35
+ var paymentRefundedStatus = useMemo(function () {
36
+ var _state$bookingDetail;
37
+ return ['partially_refunded', 'refunded'].includes(state === null || state === void 0 || (_state$bookingDetail = state.bookingDetail) === null || _state$bookingDetail === void 0 ? void 0 : _state$bookingDetail.payment_status);
38
+ }, [state === null || state === void 0 ? void 0 : state.bookingDetail]);
39
+
40
+ // 是否显示 voucher 模块的基础条件
41
+ var voucherBaseCondition = (hasGoodPassApp || hasDiscountCardApp) && ['addons', 'info'].includes(source) && !paymentRefundedStatus;
42
+
43
+ // 票务预订显示独立的 voucher 模块
44
+ var shouldShowTerminalVoucher = voucherBaseCondition && (state === null || state === void 0 ? void 0 : state.isBookingTicket2);
45
+
46
+ // 非票务预订显示在 footer 中的 voucher 模块
47
+ var shouldShowFooterVoucher = voucherBaseCondition && !(state !== null && state !== void 0 && state.isBookingTicket2);
48
+
49
+ // 处理订单备注变更
50
+ var addNote = function addNote(noteValue) {
51
+ if (dispatch) {
52
+ dispatch({
53
+ type: 'setNotes',
54
+ payload: {
55
+ orderNote: noteValue,
56
+ edit: true
57
+ }
58
+ });
59
+ }
60
+ };
13
61
  return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement("div", {
14
62
  className: "pisell-lowcode__booking-tab-pane-wrap",
15
63
  style: style
@@ -25,11 +73,44 @@ var TabPane = function TabPane(_ref) {
25
73
  style: {
26
74
  padding: 20
27
75
  }
28
- }, children)), /*#__PURE__*/React.createElement(AuthWrap, {
29
- show: !!footer,
76
+ }, children)), shouldShowTerminalVoucher && state && dispatch && /*#__PURE__*/React.createElement("div", {
77
+ className: "pisell-lowcode__booking-tab-pane-voucher-section"
78
+ }, /*#__PURE__*/React.createElement(VoucherCard, {
79
+ state: _objectSpread(_objectSpread({}, state), {}, {
80
+ service: _objectSpread(_objectSpread({}, state.service || {}), {}, {
81
+ value: ((_state$service = state.service) === null || _state$service === void 0 ? void 0 : _state$service.value) || []
82
+ }),
83
+ addons: _objectSpread(_objectSpread({}, state.addons || {}), {}, {
84
+ value: ((_state$addons = state.addons) === null || _state$addons === void 0 ? void 0 : _state$addons.value) || []
85
+ }),
86
+ client: _objectSpread(_objectSpread({}, state.client || {}), {}, {
87
+ value: ((_state$client = state.client) === null || _state$client === void 0 ? void 0 : _state$client.value) || {}
88
+ })
89
+ }),
90
+ dispatch: dispatch,
91
+ source: source
92
+ }), /*#__PURE__*/React.createElement(ActionButtons, {
93
+ state: state,
94
+ dispatch: dispatch
95
+ })), /*#__PURE__*/React.createElement(AuthWrap, {
96
+ show: !!footer || shouldShowFooterVoucher,
30
97
  trueRender: /*#__PURE__*/React.createElement("div", {
31
98
  className: "pisell-lowcode__booking-tab-pane-footer"
32
- }, footer)
99
+ }, shouldShowFooterVoucher && state && dispatch && /*#__PURE__*/React.createElement(VoucherCard, {
100
+ state: _objectSpread(_objectSpread({}, state), {}, {
101
+ service: _objectSpread(_objectSpread({}, state.service || {}), {}, {
102
+ value: ((_state$service2 = state.service) === null || _state$service2 === void 0 ? void 0 : _state$service2.value) || []
103
+ }),
104
+ addons: _objectSpread(_objectSpread({}, state.addons || {}), {}, {
105
+ value: ((_state$addons2 = state.addons) === null || _state$addons2 === void 0 ? void 0 : _state$addons2.value) || []
106
+ }),
107
+ client: _objectSpread(_objectSpread({}, state.client || {}), {}, {
108
+ value: ((_state$client2 = state.client) === null || _state$client2 === void 0 ? void 0 : _state$client2.value) || {}
109
+ })
110
+ }),
111
+ dispatch: dispatch,
112
+ source: source
113
+ }), footer)
33
114
  })));
34
115
  };
35
116
  export default TabPane;