@pisell/private-materials 3.3.85 → 3.3.87

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 (261) 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 +1 -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 +11 -11
  9. package/build/lowcode/view.css +1 -1
  10. package/build/lowcode/view.js +11 -11
  11. package/es/businessModel/SalesModel/Sales/index.js +37 -4
  12. package/es/components/Sales/Cart/index.js +5 -1
  13. package/es/components/Sales/Cart/utils.d.ts +40 -0
  14. package/es/components/Sales/Cart/utils.js +167 -0
  15. package/es/components/Sales/Checkout/index.d.ts +4 -0
  16. package/es/components/Sales/Checkout/index.js +52 -8
  17. package/es/components/Sales/Checkout/serve.d.ts +13 -0
  18. package/es/components/Sales/Checkout/serve.js +16 -2
  19. package/es/components/Sales/Checkout/utils.js +7 -1
  20. package/es/components/Sales/Resource/index.js +2 -2
  21. package/es/components/Sales/Resource/serve.d.ts +7 -0
  22. package/es/components/Sales/Resource/serve.js +10 -0
  23. package/es/components/Sales/Summary/index.d.ts +10 -0
  24. package/es/components/Sales/Summary/index.js +17 -2
  25. package/es/components/Sales/Summary/serve.d.ts +1 -0
  26. package/es/components/Sales/Summary/serve.js +6 -0
  27. package/es/components/Sales/Summary/utils.d.ts +15 -0
  28. package/es/components/Sales/Summary/utils.js +43 -1
  29. package/es/components/appointmentBooking/components/Cart/Item/index.less +3 -3
  30. package/es/components/appointmentBooking/components/Content/index.less +1 -1
  31. package/es/components/appointmentBooking/components/Deposit/index.d.ts +6 -0
  32. package/es/components/appointmentBooking/components/Deposit/index.js +27 -7
  33. package/es/components/appointmentBooking/components/Header/index.d.ts +3 -0
  34. package/es/components/appointmentBooking/components/Services/index.js +23 -27
  35. package/es/components/appointmentBooking/deposit/components/PolicyModal/index.js +25 -20
  36. package/es/components/appointmentBooking/deposit/index.js +4 -2
  37. package/es/components/appointmentBooking/index.js +14 -0
  38. package/es/components/appointmentBooking/index.less +1 -1
  39. package/es/components/booking/components/footer/utils.d.ts +1 -0
  40. package/es/components/booking/components/footer/utils.js +5 -6
  41. package/es/components/booking/components/voucher/index.js +2 -2
  42. package/es/components/booking/editBookingModal/index.d.ts +5 -0
  43. package/es/components/booking/editBookingModal/index.js +386 -0
  44. package/es/components/booking/editBookingModal/index.less +8 -0
  45. package/es/components/booking/editBookingModal/locales.d.ts +21 -0
  46. package/es/components/booking/editBookingModal/locales.js +20 -0
  47. package/es/components/booking/editBookingModal/mock.d.ts +807 -0
  48. package/es/components/booking/editBookingModal/mock.js +2993 -0
  49. package/es/components/booking/editBookingModal/serve.d.ts +51 -0
  50. package/es/components/booking/editBookingModal/serve.js +288 -0
  51. package/es/components/booking/editBookingModal/type.d.ts +12 -0
  52. package/es/components/booking/editBookingModal/type.js +1 -0
  53. package/es/components/booking/editBookingModal/utils.d.ts +12 -0
  54. package/es/components/booking/editBookingModal/utils.js +157 -0
  55. package/es/components/booking/info/service/addService/index.js +3 -3
  56. package/es/components/booking/info/service2/utils.d.ts +1 -1
  57. package/es/components/booking/info/service2/utils.js +3 -2
  58. package/es/components/booking/info2/service/addService/utils.d.ts +10 -0
  59. package/es/components/booking/info2/service/addService/utils.js +44 -13
  60. package/es/components/booking/info2/service/editService/Resources/index.js +22 -8
  61. package/es/components/booking/info2/service/editService/Resources/index.less +6 -0
  62. package/es/components/booking/info2/service/editService/ResourcesV2/MaxLengthSelect/index.d.ts +7 -0
  63. package/es/components/booking/info2/service/editService/ResourcesV2/MaxLengthSelect/index.js +26 -0
  64. package/es/components/booking/info2/service/editService/ResourcesV2/index.d.ts +10 -0
  65. package/es/components/booking/info2/service/editService/ResourcesV2/index.js +308 -0
  66. package/es/components/booking/info2/service/editService/ResourcesV2/index.less +44 -0
  67. package/es/components/booking/info2/utilsByBooking.js +9 -0
  68. package/es/components/booking/locales.d.ts +3 -0
  69. package/es/components/booking/locales.js +3 -0
  70. package/es/components/booking/utils.d.ts +2 -2
  71. package/es/components/eftposPay/const.d.ts +4 -1
  72. package/es/components/eftposPay/const.js +3 -1
  73. package/es/components/eftposPay/hooks.d.ts +1 -1
  74. package/es/components/eftposPay/hooks.js +3 -1
  75. package/es/components/eftposPay/index.js +1 -1
  76. package/es/components/eftposPay/linkly/const.d.ts +23 -0
  77. package/es/components/eftposPay/linkly/const.js +82 -0
  78. package/es/components/eftposPay/linkly/hooks/index.d.ts +2 -0
  79. package/es/components/eftposPay/linkly/hooks/index.js +2 -0
  80. package/es/components/eftposPay/linkly/hooks/normal.d.ts +30 -0
  81. package/es/components/eftposPay/linkly/hooks/normal.js +318 -0
  82. package/es/components/eftposPay/linkly/hooks/useTimeQuery.d.ts +4 -0
  83. package/es/components/eftposPay/linkly/hooks/useTimeQuery.js +273 -0
  84. package/es/components/eftposPay/linkly/index.d.ts +2 -0
  85. package/es/components/eftposPay/linkly/index.js +197 -0
  86. package/es/components/eftposPay/linkly/service.d.ts +32 -0
  87. package/es/components/eftposPay/linkly/service.js +73 -0
  88. package/es/components/eftposPay/manufacturer.d.ts +1 -0
  89. package/es/components/eftposPay/manufacturer.js +4 -0
  90. package/es/components/eftposPay/pay.d.ts +1 -1
  91. package/es/components/eftposPay/pay.js +6 -2
  92. package/es/components/eftposPay/store/index.d.ts +1 -1
  93. package/es/components/eventBooking/components/Provider/Cart/ContinueButton/index.js +29 -17
  94. package/es/components/eventBooking/components/Provider/Cart/Deposit/index.d.ts +2 -0
  95. package/es/components/eventBooking/components/Provider/Cart/Deposit/index.js +17 -0
  96. package/es/components/eventBooking/components/Provider/Cart/Item/Total.js +10 -6
  97. package/es/components/eventBooking/components/Provider/Cart/Item/index.js +4 -2
  98. package/es/components/eventBooking/components/Provider/Event/index.js +13 -4
  99. package/es/components/eventBooking/components/bookingDetailModal/index.js +22 -4
  100. package/es/components/eventBooking/index.js +21 -7
  101. package/es/components/eventBooking/locales.d.ts +24 -0
  102. package/es/components/eventBooking/locales.js +30 -6
  103. package/es/components/index.d.ts +3 -1
  104. package/es/components/index.js +3 -1
  105. package/es/components/pay/toC/PaymentMethods/index.js +5 -4
  106. package/es/components/stepController/components/Content/index.d.ts +7 -0
  107. package/es/components/stepController/components/Content/index.js +9 -0
  108. package/es/components/stepController/components/Content/index.less +8 -0
  109. package/es/components/stepController/components/Footer/index.d.ts +8 -0
  110. package/es/components/stepController/components/Footer/index.js +15 -0
  111. package/es/components/stepController/components/Footer/index.less +39 -0
  112. package/es/components/stepController/components/Header/index.d.ts +20 -0
  113. package/es/components/stepController/components/Header/index.js +97 -0
  114. package/es/components/stepController/components/Header/index.less +21 -0
  115. package/es/components/stepController/index.d.ts +5 -0
  116. package/es/components/stepController/index.js +64 -0
  117. package/es/components/stepController/index.less +11 -0
  118. package/es/components/stepController/locales.d.ts +27 -0
  119. package/es/components/stepController/locales.js +32 -0
  120. package/es/components/stepController/types.d.ts +23 -0
  121. package/es/components/stepController/types.js +1 -0
  122. package/es/components/ticketBooking/components/addServiceVariant/addService.js +4 -5
  123. package/es/components/ticketBooking/components/ticketBooking/index.d.ts +1 -0
  124. package/es/components/ticketBooking/components/ticketBooking/index.js +257 -138
  125. package/es/components/ticketBooking/locales.d.ts +164 -146
  126. package/es/components/ticketBooking/locales.js +195 -147
  127. package/es/components/ticketBooking/utils/formatProductMessage.d.ts +2 -0
  128. package/es/components/ticketBooking/utils/formatProductMessage.js +62 -0
  129. package/es/components/ticketBooking/utils/formatTime.d.ts +31 -0
  130. package/es/components/ticketBooking/utils/formatTime.js +144 -0
  131. package/es/hooks/useWindowSize.d.ts +5 -0
  132. package/es/hooks/useWindowSize.js +26 -0
  133. package/es/index.d.ts +2 -0
  134. package/es/index.js +3 -1
  135. package/lib/businessModel/SalesModel/Sales/index.js +22 -8
  136. package/lib/components/Sales/Cart/index.js +1 -0
  137. package/lib/components/Sales/Cart/utils.d.ts +40 -0
  138. package/lib/components/Sales/Cart/utils.js +117 -0
  139. package/lib/components/Sales/Checkout/index.d.ts +4 -0
  140. package/lib/components/Sales/Checkout/index.js +39 -7
  141. package/lib/components/Sales/Checkout/serve.d.ts +13 -0
  142. package/lib/components/Sales/Checkout/serve.js +7 -2
  143. package/lib/components/Sales/Checkout/utils.js +2 -0
  144. package/lib/components/Sales/Resource/index.js +1 -1
  145. package/lib/components/Sales/Resource/serve.d.ts +7 -0
  146. package/lib/components/Sales/Resource/serve.js +9 -2
  147. package/lib/components/Sales/Summary/index.d.ts +10 -0
  148. package/lib/components/Sales/Summary/index.js +7 -1
  149. package/lib/components/Sales/Summary/serve.d.ts +1 -0
  150. package/lib/components/Sales/Summary/serve.js +32 -0
  151. package/lib/components/Sales/Summary/utils.d.ts +15 -0
  152. package/lib/components/Sales/Summary/utils.js +30 -1
  153. package/lib/components/appointmentBooking/components/Cart/Item/index.less +3 -3
  154. package/lib/components/appointmentBooking/components/Content/index.less +1 -1
  155. package/lib/components/appointmentBooking/components/Deposit/index.d.ts +6 -0
  156. package/lib/components/appointmentBooking/components/Deposit/index.js +36 -4
  157. package/lib/components/appointmentBooking/components/Header/index.d.ts +3 -0
  158. package/lib/components/appointmentBooking/components/Services/index.js +6 -11
  159. package/lib/components/appointmentBooking/deposit/components/PolicyModal/index.js +8 -4
  160. package/lib/components/appointmentBooking/deposit/index.js +4 -2
  161. package/lib/components/appointmentBooking/index.js +11 -0
  162. package/lib/components/appointmentBooking/index.less +1 -1
  163. package/lib/components/booking/components/footer/utils.d.ts +1 -0
  164. package/lib/components/booking/components/footer/utils.js +4 -5
  165. package/lib/components/booking/components/voucher/index.js +2 -2
  166. package/lib/components/booking/editBookingModal/index.d.ts +5 -0
  167. package/lib/components/booking/editBookingModal/index.js +363 -0
  168. package/lib/components/booking/editBookingModal/index.less +8 -0
  169. package/lib/components/booking/editBookingModal/locales.d.ts +21 -0
  170. package/lib/components/booking/editBookingModal/locales.js +44 -0
  171. package/lib/components/booking/editBookingModal/mock.d.ts +807 -0
  172. package/lib/components/booking/editBookingModal/mock.js +3314 -0
  173. package/lib/components/booking/editBookingModal/serve.d.ts +51 -0
  174. package/lib/components/booking/editBookingModal/serve.js +178 -0
  175. package/lib/components/booking/editBookingModal/type.d.ts +12 -0
  176. package/lib/components/booking/editBookingModal/type.js +17 -0
  177. package/lib/components/booking/editBookingModal/utils.d.ts +12 -0
  178. package/lib/components/booking/editBookingModal/utils.js +158 -0
  179. package/lib/components/booking/info/service/addService/index.js +1 -1
  180. package/lib/components/booking/info/service2/utils.d.ts +1 -1
  181. package/lib/components/booking/info/service2/utils.js +2 -2
  182. package/lib/components/booking/info2/service/addService/utils.d.ts +10 -0
  183. package/lib/components/booking/info2/service/addService/utils.js +27 -4
  184. package/lib/components/booking/info2/service/editService/Resources/index.js +54 -10
  185. package/lib/components/booking/info2/service/editService/Resources/index.less +6 -0
  186. package/lib/components/booking/info2/service/editService/ResourcesV2/MaxLengthSelect/index.d.ts +7 -0
  187. package/lib/components/booking/info2/service/editService/ResourcesV2/MaxLengthSelect/index.js +53 -0
  188. package/lib/components/booking/info2/service/editService/ResourcesV2/index.d.ts +10 -0
  189. package/lib/components/booking/info2/service/editService/ResourcesV2/index.js +311 -0
  190. package/lib/components/booking/info2/service/editService/ResourcesV2/index.less +44 -0
  191. package/lib/components/booking/info2/utilsByBooking.js +6 -0
  192. package/lib/components/booking/locales.d.ts +3 -0
  193. package/lib/components/booking/locales.js +3 -0
  194. package/lib/components/booking/utils.d.ts +2 -2
  195. package/lib/components/eftposPay/const.d.ts +4 -1
  196. package/lib/components/eftposPay/const.js +2 -0
  197. package/lib/components/eftposPay/hooks.d.ts +1 -1
  198. package/lib/components/eftposPay/hooks.js +11 -4
  199. package/lib/components/eftposPay/index.js +1 -1
  200. package/lib/components/eftposPay/linkly/const.d.ts +23 -0
  201. package/lib/components/eftposPay/linkly/const.js +102 -0
  202. package/lib/components/eftposPay/linkly/hooks/index.d.ts +2 -0
  203. package/lib/components/eftposPay/linkly/hooks/index.js +25 -0
  204. package/lib/components/eftposPay/linkly/hooks/normal.d.ts +30 -0
  205. package/lib/components/eftposPay/linkly/hooks/normal.js +239 -0
  206. package/lib/components/eftposPay/linkly/hooks/useTimeQuery.d.ts +4 -0
  207. package/lib/components/eftposPay/linkly/hooks/useTimeQuery.js +222 -0
  208. package/lib/components/eftposPay/linkly/index.d.ts +2 -0
  209. package/lib/components/eftposPay/linkly/index.js +208 -0
  210. package/lib/components/eftposPay/linkly/service.d.ts +32 -0
  211. package/lib/components/eftposPay/linkly/service.js +55 -0
  212. package/lib/components/eftposPay/manufacturer.d.ts +1 -0
  213. package/lib/components/eftposPay/manufacturer.js +6 -0
  214. package/lib/components/eftposPay/pay.d.ts +1 -1
  215. package/lib/components/eftposPay/pay.js +13 -2
  216. package/lib/components/eftposPay/store/index.d.ts +1 -1
  217. package/lib/components/eventBooking/components/Provider/Cart/ContinueButton/index.js +16 -3
  218. package/lib/components/eventBooking/components/Provider/Cart/Deposit/index.d.ts +2 -0
  219. package/lib/components/eventBooking/components/Provider/Cart/Deposit/index.js +55 -0
  220. package/lib/components/eventBooking/components/Provider/Cart/Item/Total.js +8 -5
  221. package/lib/components/eventBooking/components/Provider/Cart/Item/index.js +4 -2
  222. package/lib/components/eventBooking/components/Provider/Event/index.js +10 -3
  223. package/lib/components/eventBooking/components/bookingDetailModal/index.js +10 -4
  224. package/lib/components/eventBooking/index.js +11 -7
  225. package/lib/components/eventBooking/locales.d.ts +24 -0
  226. package/lib/components/eventBooking/locales.js +30 -6
  227. package/lib/components/index.d.ts +3 -1
  228. package/lib/components/index.js +6 -0
  229. package/lib/components/pay/toC/PaymentMethods/index.js +10 -9
  230. package/lib/components/stepController/components/Content/index.d.ts +7 -0
  231. package/lib/components/stepController/components/Content/index.js +40 -0
  232. package/lib/components/stepController/components/Content/index.less +8 -0
  233. package/lib/components/stepController/components/Footer/index.d.ts +8 -0
  234. package/lib/components/stepController/components/Footer/index.js +49 -0
  235. package/lib/components/stepController/components/Footer/index.less +39 -0
  236. package/lib/components/stepController/components/Header/index.d.ts +20 -0
  237. package/lib/components/stepController/components/Header/index.js +104 -0
  238. package/lib/components/stepController/components/Header/index.less +21 -0
  239. package/lib/components/stepController/index.d.ts +5 -0
  240. package/lib/components/stepController/index.js +89 -0
  241. package/lib/components/stepController/index.less +11 -0
  242. package/lib/components/stepController/locales.d.ts +27 -0
  243. package/lib/components/stepController/locales.js +50 -0
  244. package/lib/components/stepController/types.d.ts +23 -0
  245. package/lib/components/stepController/types.js +17 -0
  246. package/lib/components/ticketBooking/components/addServiceVariant/addService.js +6 -4
  247. package/lib/components/ticketBooking/components/ticketBooking/index.d.ts +1 -0
  248. package/lib/components/ticketBooking/components/ticketBooking/index.js +263 -139
  249. package/lib/components/ticketBooking/locales.d.ts +164 -146
  250. package/lib/components/ticketBooking/locales.js +22 -4
  251. package/lib/components/ticketBooking/utils/formatProductMessage.d.ts +2 -0
  252. package/lib/components/ticketBooking/utils/formatProductMessage.js +84 -0
  253. package/lib/components/ticketBooking/utils/formatTime.d.ts +31 -0
  254. package/lib/components/ticketBooking/utils/formatTime.js +139 -0
  255. package/lib/hooks/useWindowSize.d.ts +5 -0
  256. package/lib/hooks/useWindowSize.js +51 -0
  257. package/lib/index.d.ts +2 -0
  258. package/lib/index.js +6 -0
  259. package/lowcode/edit-booking-modal/meta.ts +53 -0
  260. package/lowcode/step-controller/meta.ts +88 -0
  261. package/package.json +4 -4
@@ -0,0 +1,26 @@
1
+ import { useEffect } from 'react';
2
+ export var useWindowSize = function useWindowSize() {
3
+ var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
4
+ var _options$debounceMs = options.debounceMs,
5
+ debounceMs = _options$debounceMs === void 0 ? 100 : _options$debounceMs;
6
+ useEffect(function () {
7
+ var timeoutId;
8
+ var setRealVH = function setRealVH() {
9
+ // window.innerHeight 会返回视口真实的高度(不包括工具栏)
10
+ var vh = window.innerHeight * 0.01;
11
+ document.documentElement.style.setProperty('--vh', "".concat(vh, "px"));
12
+ };
13
+ var debouncedHandleResize = function debouncedHandleResize() {
14
+ clearTimeout(timeoutId);
15
+ timeoutId = setTimeout(setRealVH, debounceMs);
16
+ };
17
+
18
+ // 页面加载和窗口大小变化时都重新计算
19
+ debouncedHandleResize();
20
+ window.addEventListener('resize', debouncedHandleResize);
21
+ return function () {
22
+ window.removeEventListener('resize', debouncedHandleResize);
23
+ clearTimeout(timeoutId);
24
+ };
25
+ }, [debounceMs]);
26
+ };
package/es/index.d.ts CHANGED
@@ -43,3 +43,5 @@ export { default as AppointmentBooking } from './components/appointmentBooking';
43
43
  export { default as AppointmentDeposit } from './components/appointmentBooking/deposit';
44
44
  export { default as TicketBooking } from './components/ticketBooking';
45
45
  export { default as SubTotal } from './components/subTotal';
46
+ export { default as StepController } from './components/stepController';
47
+ export { default as EditBookingModal } from './components/booking/editBookingModal';
package/es/index.js CHANGED
@@ -46,4 +46,6 @@ export { default as ShoppingCart } from "./components/shoppingCart";
46
46
  export { default as AppointmentBooking } from "./components/appointmentBooking";
47
47
  export { default as AppointmentDeposit } from "./components/appointmentBooking/deposit";
48
48
  export { default as TicketBooking } from "./components/ticketBooking";
49
- export { default as SubTotal } from "./components/subTotal";
49
+ export { default as SubTotal } from "./components/subTotal";
50
+ export { default as StepController } from "./components/stepController";
51
+ export { default as EditBookingModal } from "./components/booking/editBookingModal";
@@ -35,6 +35,7 @@ __export(Sales_exports, {
35
35
  });
36
36
  module.exports = __toCommonJS(Sales_exports);
37
37
  var import_react = __toESM(require("react"));
38
+ var import_useEngineContext = __toESM(require("../../../hooks/useEngineContext"));
38
39
  var defaultData = {};
39
40
  var SALES_MODEL_SESSION_STORAGE_KEY = "shop_h5_sales_model_data";
40
41
  var SalesContext = (0, import_react.createContext)(
@@ -45,14 +46,13 @@ var SalesProvider = (props) => {
45
46
  const dataRef = (0, import_react.useRef)({});
46
47
  const [data, setData] = (0, import_react.useState)(defaultData);
47
48
  const [hooks, setHooks] = (0, import_react.useState)(props.hooks);
49
+ const context = (0, import_useEngineContext.default)();
50
+ const utils = context.appHelper.utils || {};
48
51
  const _setData = (newData) => {
49
52
  dataRef.current = { ...dataRef.current, ...newData };
50
53
  console.log("sales_model_newData", dataRef.current);
51
54
  if (config == null ? void 0 : config.useSessionStorage) {
52
- sessionStorage.setItem(
53
- SALES_MODEL_SESSION_STORAGE_KEY,
54
- JSON.stringify(dataRef.current || {})
55
- );
55
+ setSessionStorage();
56
56
  }
57
57
  setData({ ...dataRef.current });
58
58
  };
@@ -60,14 +60,28 @@ var SalesProvider = (props) => {
60
60
  return dataRef.current;
61
61
  };
62
62
  const setSessionStorage = () => {
63
+ var _a, _b, _c;
64
+ const history = ((_a = utils == null ? void 0 : utils.getHistory) == null ? void 0 : _a.call(utils)) || {};
65
+ const cacheId = ((_c = (_b = history == null ? void 0 : history.location) == null ? void 0 : _b.query) == null ? void 0 : _c.cacheId) || "";
66
+ const sessionData = { ...dataRef.current || {}, cacheId };
63
67
  sessionStorage.setItem(
64
- SALES_MODEL_SESSION_STORAGE_KEY,
65
- JSON.stringify(dataRef.current || {})
68
+ `${SALES_MODEL_SESSION_STORAGE_KEY}`,
69
+ JSON.stringify(sessionData || {})
66
70
  );
67
71
  };
68
72
  const getSessionStorage = () => {
69
- const result = sessionStorage.getItem(SALES_MODEL_SESSION_STORAGE_KEY);
70
- return JSON.parse(result || "{}");
73
+ var _a, _b, _c;
74
+ const history = ((_a = utils == null ? void 0 : utils.getHistory) == null ? void 0 : _a.call(utils)) || {};
75
+ const strResult = sessionStorage.getItem(SALES_MODEL_SESSION_STORAGE_KEY);
76
+ const result = strResult ? JSON.parse(strResult || "{}") : {};
77
+ const cacheId = ((_c = (_b = history == null ? void 0 : history.location) == null ? void 0 : _b.query) == null ? void 0 : _c.cacheId) || "";
78
+ if (!cacheId && !(result == null ? void 0 : result.cacheId)) {
79
+ return result;
80
+ }
81
+ if (cacheId && (result == null ? void 0 : result.cacheId) === cacheId) {
82
+ return result;
83
+ }
84
+ return {};
71
85
  };
72
86
  const removeSessionStorage = () => {
73
87
  sessionStorage.removeItem(SALES_MODEL_SESSION_STORAGE_KEY);
@@ -291,6 +291,7 @@ var CartProvider = ({ children }) => {
291
291
  },
292
292
  _productDetail: eventDetail.productDetail
293
293
  };
294
+ newCartItem.deposit = (0, import_utils3.handleProductDeposit)(newCartItem, eventDetail, num);
294
295
  const originData = (0, import_utils3.handleCartItemOrigin)(newCartItem, eventDetail);
295
296
  newCartItem._originData = originData;
296
297
  if (holderItem == null ? void 0 : holderItem._originData) {
@@ -1,3 +1,4 @@
1
+ import Decimal from 'decimal.js';
1
2
  import { ICalculatePriceParams } from './types';
2
3
  export declare const handleProductInfo: (eventDetail: any, num: number) => {
3
4
  totalPrice: number;
@@ -21,3 +22,42 @@ export declare const getOriginTotalPrice: (params: ICalculatePriceParams) => num
21
22
  export declare const handleCartItemOrigin: (cartItem: any, eventDetail: any) => any;
22
23
  export declare const formatBundleToOrigin: (bundle: any) => any;
23
24
  export declare const formatOptionsToOrigin: (options: any) => any;
25
+ export declare const handleProductDeposit: (cartItem: any, eventDetail: any, num: number) => {
26
+ total: number;
27
+ protocols: any;
28
+ } | null;
29
+ /**
30
+ * 获取商品定金
31
+ * @description 定金基于商品售价来算,最终乘商品数量
32
+ * 1、如果套餐主商品有定金规则,则定金为:(套餐商品总售价 * 定金百分比 + 定金固定金额)* 商品数量
33
+ * 2、如果套餐主商品没有定金规则,子商品有定金规则,则定金为:(套餐子商品售价 * 套餐子商品定金百分比 + 套餐子商品定金固定金额)* 商品数量,最终将所有子商品定金相加
34
+ * 3、普通商品/单规格商品/组合规则商品,定金规则:(商品总售价 * 定金百分比 + 定金固定金额)* 商品数量
35
+ * @param params 参数
36
+ * @returns 商品定金
37
+ */
38
+ export declare const getProductDeposit: (params: {
39
+ cartItem: any;
40
+ product: any;
41
+ bundle?: any;
42
+ options?: any;
43
+ num?: number;
44
+ }) => {
45
+ total: number;
46
+ protocols: any;
47
+ } | null;
48
+ /**
49
+ * 计算商品定金
50
+ * @param params 参数
51
+ * @returns 商品定金
52
+ */
53
+ export declare const calculateProductDeposit: (params: {
54
+ depositData: {
55
+ deposit_fixed?: string;
56
+ deposit_percentage?: string;
57
+ };
58
+ total: string | number;
59
+ num: number;
60
+ }) => {
61
+ result: boolean;
62
+ depositTotal: Decimal;
63
+ };
@@ -1,6 +1,8 @@
1
+ var __create = Object.create;
1
2
  var __defProp = Object.defineProperty;
2
3
  var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
3
4
  var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __getProtoOf = Object.getPrototypeOf;
4
6
  var __hasOwnProp = Object.prototype.hasOwnProperty;
5
7
  var __export = (target, all) => {
6
8
  for (var name in all)
@@ -14,19 +16,31 @@ var __copyProps = (to, from, except, desc) => {
14
16
  }
15
17
  return to;
16
18
  };
19
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
20
+ // If the importer is in node compatibility mode or this is not an ESM
21
+ // file that has been converted to a CommonJS file using a Babel-
22
+ // compatible transform (i.e. "__esModule" has not been set), then set
23
+ // "default" to the CommonJS "module.exports" for node compatibility.
24
+ isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
25
+ mod
26
+ ));
17
27
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
18
28
 
19
29
  // src/components/Sales/Cart/utils.ts
20
30
  var utils_exports = {};
21
31
  __export(utils_exports, {
32
+ calculateProductDeposit: () => calculateProductDeposit,
22
33
  formatBundleToOrigin: () => formatBundleToOrigin,
23
34
  formatOptionsToOrigin: () => formatOptionsToOrigin,
24
35
  getOriginTotalPrice: () => getOriginTotalPrice,
36
+ getProductDeposit: () => getProductDeposit,
25
37
  getTotalPrice: () => getTotalPrice,
26
38
  handleCartItemOrigin: () => handleCartItemOrigin,
39
+ handleProductDeposit: () => handleProductDeposit,
27
40
  handleProductInfo: () => handleProductInfo
28
41
  });
29
42
  module.exports = __toCommonJS(utils_exports);
43
+ var import_decimal = __toESM(require("decimal.js"));
30
44
  var handleProductInfo = (eventDetail, num) => {
31
45
  var _a;
32
46
  const { productDetail, bookingOptionItem } = eventDetail;
@@ -138,12 +152,115 @@ var formatOptionsToOrigin = (options) => {
138
152
  };
139
153
  });
140
154
  };
155
+ var handleProductDeposit = (cartItem, eventDetail, num) => {
156
+ var _a;
157
+ const { productDetail } = eventDetail;
158
+ const { origin, bundle, options, product_variant_id } = productDetail;
159
+ let deposit = null;
160
+ const product = origin;
161
+ if (product_variant_id) {
162
+ product.product_variant_id = product_variant_id;
163
+ }
164
+ if (((_a = origin == null ? void 0 : origin.custom_deposit_data) == null ? void 0 : _a.has_deposit) == 1) {
165
+ deposit = getProductDeposit({ cartItem, product, bundle, options, num });
166
+ }
167
+ return deposit;
168
+ };
169
+ var getProductDeposit = (params) => {
170
+ var _a, _b;
171
+ const { cartItem, product, bundle, options } = params;
172
+ const num = (params == null ? void 0 : params.num) || 1;
173
+ if (((_a = product == null ? void 0 : product.custom_deposit_data) == null ? void 0 : _a.has_deposit) == 1) {
174
+ let total = new import_decimal.default(0);
175
+ const {
176
+ deposit_fixed,
177
+ deposit_percentage,
178
+ deposit_policy_data,
179
+ self_deposit_policy_ids
180
+ } = (product == null ? void 0 : product.custom_deposit_data) || {};
181
+ const allProtocols = deposit_policy_data || [];
182
+ let productHasDeposit = false;
183
+ const protocolIds = [];
184
+ if (typeof deposit_fixed === "string" && typeof deposit_percentage === "string") {
185
+ const { depositTotal, result } = calculateProductDeposit({
186
+ depositData: product == null ? void 0 : product.custom_deposit_data,
187
+ total: (cartItem == null ? void 0 : cartItem.total) || 0,
188
+ num
189
+ });
190
+ if (result) {
191
+ total = depositTotal;
192
+ protocolIds.push(...self_deposit_policy_ids || []);
193
+ productHasDeposit = true;
194
+ }
195
+ } else {
196
+ if (product == null ? void 0 : product.product_variant_id) {
197
+ const variantProduct = (_b = product == null ? void 0 : product.variant) == null ? void 0 : _b.find(
198
+ (item) => (item == null ? void 0 : item.id) === (product == null ? void 0 : product.product_variant_id)
199
+ );
200
+ if (variantProduct) {
201
+ const depositData = variantProduct == null ? void 0 : variantProduct.custom_deposit_data;
202
+ const { depositTotal, result } = calculateProductDeposit({
203
+ depositData,
204
+ total: (cartItem == null ? void 0 : cartItem.total) || 0,
205
+ num
206
+ });
207
+ if (result) {
208
+ total = depositTotal;
209
+ protocolIds.push(...(depositData == null ? void 0 : depositData.self_deposit_policy_ids) || []);
210
+ productHasDeposit = true;
211
+ }
212
+ }
213
+ }
214
+ if (bundle == null ? void 0 : bundle.length) {
215
+ total = bundle.reduce((accumulator, currBundleProduct) => {
216
+ const depositData = currBundleProduct == null ? void 0 : currBundleProduct.custom_deposit_data;
217
+ const { depositTotal, result } = calculateProductDeposit({
218
+ depositData,
219
+ total: currBundleProduct == null ? void 0 : currBundleProduct.price,
220
+ num: (currBundleProduct == null ? void 0 : currBundleProduct.num) || 1
221
+ });
222
+ if (result) {
223
+ protocolIds.push(...(depositData == null ? void 0 : depositData.self_deposit_policy_ids) || []);
224
+ productHasDeposit = true;
225
+ return accumulator.plus(depositTotal);
226
+ }
227
+ return accumulator;
228
+ }, new import_decimal.default(0));
229
+ }
230
+ }
231
+ if (productHasDeposit) {
232
+ const ids = new Set(protocolIds);
233
+ const protocols = allProtocols.filter((item) => ids.has(item.id));
234
+ return { total: total.toNumber(), protocols };
235
+ }
236
+ return null;
237
+ }
238
+ return null;
239
+ };
240
+ var calculateProductDeposit = (params) => {
241
+ const { depositData, total, num } = params;
242
+ if (!depositData) {
243
+ return { result: false, depositTotal: new import_decimal.default(0) };
244
+ }
245
+ const { deposit_fixed, deposit_percentage } = depositData || {};
246
+ if (typeof deposit_fixed === "string" && typeof deposit_percentage === "string") {
247
+ const depositFixed = new import_decimal.default(deposit_fixed || 0);
248
+ const depositPercent = new import_decimal.default(deposit_percentage || 0);
249
+ const productTotalPrice = new import_decimal.default(total || 0);
250
+ const deposit = depositFixed.plus(depositPercent.times(productTotalPrice));
251
+ return { depositTotal: deposit.times(num), result: true };
252
+ }
253
+ return { result: false, depositTotal: new import_decimal.default(0) };
254
+ };
141
255
  // Annotate the CommonJS export names for ESM import in node:
142
256
  0 && (module.exports = {
257
+ calculateProductDeposit,
143
258
  formatBundleToOrigin,
144
259
  formatOptionsToOrigin,
145
260
  getOriginTotalPrice,
261
+ getProductDeposit,
146
262
  getTotalPrice,
147
263
  handleCartItemOrigin,
264
+ handleProductDeposit,
148
265
  handleProductInfo
149
266
  });
@@ -5,6 +5,9 @@ interface PayProps {
5
5
  order_id: string;
6
6
  amount: number;
7
7
  sale_channel?: string;
8
+ is_deposit?: number;
9
+ deposit_amount?: number;
10
+ total_amount?: number;
8
11
  }
9
12
  interface CheckoutContextType {
10
13
  onCheckBeforeBooking: (data: any) => Promise<{
@@ -15,6 +18,7 @@ interface CheckoutContextType {
15
18
  onPay: (payProps: PayProps) => void;
16
19
  createBooking: any;
17
20
  checkBeforeBooking: any;
21
+ freePay: any;
18
22
  }
19
23
  interface CheckoutProviderProps {
20
24
  children: React.ReactNode;
@@ -41,6 +41,7 @@ var import_useEngineContext = __toESM(require("../../../hooks/useEngineContext")
41
41
  var import_ahooks = require("ahooks");
42
42
  var import_serve = require("./serve");
43
43
  var import_Cart = require("../Cart");
44
+ var import_utils = require("../../appointmentBooking/utils");
44
45
  var defaultState = {};
45
46
  var CheckoutContext = (0, import_react.createContext)(
46
47
  void 0
@@ -54,6 +55,7 @@ var CheckoutProvider = ({
54
55
  const { updateDisabledCartItem } = (0, import_Cart.useCart)();
55
56
  const checkoutCallback = (0, import_react.useRef)(null);
56
57
  const checkRef = (0, import_react.useRef)(null);
58
+ const payRef = (0, import_react.useRef)(null);
57
59
  const checkBeforeBooking = (0, import_ahooks.useRequest)(import_serve.checkBeforeBookingApi, {
58
60
  manual: true,
59
61
  onSuccess: (res) => {
@@ -76,6 +78,17 @@ var CheckoutProvider = ({
76
78
  checkoutCallback.current({ success: false, err });
77
79
  }
78
80
  });
81
+ const freePay = (0, import_ahooks.useRequest)(import_serve.freePayApi, {
82
+ manual: true,
83
+ onSuccess: (res) => {
84
+ var _a, _b;
85
+ if (res == null ? void 0 : res.status) {
86
+ goPaymentFinish((_a = payRef.current) == null ? void 0 : _a.order_id, (_b = payRef.current) == null ? void 0 : _b.total_amount);
87
+ } else {
88
+ (0, import_utils.Toast)(res == null ? void 0 : res.message);
89
+ }
90
+ }
91
+ });
79
92
  const onCheckBeforeBooking = (data2) => {
80
93
  return new Promise((resolve) => {
81
94
  checkRef.current = (res) => {
@@ -94,21 +107,40 @@ var CheckoutProvider = ({
94
107
  createBooking.runAsync(data2);
95
108
  });
96
109
  };
110
+ const goPaymentFinish = (order_id, amount) => {
111
+ var _a;
112
+ const url = `/payment-finish/success?order_id=${order_id}&amount=${Number(
113
+ amount
114
+ )}`;
115
+ (_a = utils == null ? void 0 : utils.history) == null ? void 0 : _a.replace(url);
116
+ };
97
117
  const onPay = (payProps) => {
98
- utils.action({
99
- type: "pisell1.payment",
100
- data: payProps,
101
- callback: (e) => {
102
- checkoutCallback.current && checkoutCallback.current(e);
118
+ payRef.current = payProps;
119
+ const { is_deposit, deposit_amount, total_amount } = payProps;
120
+ const _total = is_deposit ? deposit_amount || 0 : total_amount || 0;
121
+ if (_total > 0) {
122
+ utils.action({
123
+ type: "pisell1.payment",
124
+ data: { ...payProps, total_amount: _total },
125
+ callback: (e) => {
126
+ checkoutCallback.current && checkoutCallback.current(e);
127
+ }
128
+ });
129
+ } else {
130
+ if (is_deposit) {
131
+ goPaymentFinish(payProps.order_id, _total);
132
+ return;
103
133
  }
104
- });
134
+ freePay.runAsync(payProps.order_id);
135
+ }
105
136
  };
106
137
  const contextValue = {
107
138
  onCheckBeforeBooking,
108
139
  onCheckout,
109
140
  onPay,
110
141
  createBooking,
111
- checkBeforeBooking
142
+ checkBeforeBooking,
143
+ freePay
112
144
  };
113
145
  return /* @__PURE__ */ import_react.default.createElement(CheckoutContext.Provider, { value: contextValue }, children);
114
146
  };
@@ -1,2 +1,15 @@
1
+ /**
2
+ * @title: 下单前置校验接口
3
+ * @param {any} data
4
+ */
1
5
  export declare const checkBeforeBookingApi: (data: any) => Promise<any>;
6
+ /**
7
+ * @title: 创建订单
8
+ * @param {any} data
9
+ */
2
10
  export declare const createBookingApi: (data: any) => Promise<any>;
11
+ /**
12
+ * @title: 免费支付
13
+ * @param {string} orderId
14
+ */
15
+ export declare const freePayApi: (orderId: string) => Promise<any>;
@@ -20,7 +20,8 @@ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: tru
20
20
  var serve_exports = {};
21
21
  __export(serve_exports, {
22
22
  checkBeforeBookingApi: () => checkBeforeBookingApi,
23
- createBookingApi: () => createBookingApi
23
+ createBookingApi: () => createBookingApi,
24
+ freePayApi: () => freePayApi
24
25
  });
25
26
  module.exports = __toCommonJS(serve_exports);
26
27
  var import_utils = require("../../../utils");
@@ -30,8 +31,12 @@ var checkBeforeBookingApi = (data) => {
30
31
  var createBookingApi = (data) => {
31
32
  return import_utils.request.getRequest().post("/h5/eventbookingv2/order", data);
32
33
  };
34
+ var freePayApi = (orderId) => {
35
+ return import_utils.request.getRequest().post(`/h5/pay/order/free-pay/${orderId}`, {});
36
+ };
33
37
  // Annotate the CommonJS export names for ESM import in node:
34
38
  0 && (module.exports = {
35
39
  checkBeforeBookingApi,
36
- createBookingApi
40
+ createBookingApi,
41
+ freePayApi
37
42
  });
@@ -79,6 +79,8 @@ var formatValues = (state, excludeDisabled, otherValue) => {
79
79
  } else {
80
80
  data = state.cartData.cartItems;
81
81
  }
82
+ const is_deposit = data.find((v) => v.deposit) ? 1 : 0;
83
+ values.is_deposit = is_deposit;
82
84
  values.bookings = formatBookings(data);
83
85
  return values;
84
86
  };
@@ -90,7 +90,7 @@ var ResourceProvider = ({
90
90
  resourceMap.forEach((v) => renderData.push(v));
91
91
  return renderData;
92
92
  };
93
- const getResourceList = (0, import_ahooks.useRequest)(import_serve.getResourceListApi, {
93
+ const getResourceList = (0, import_ahooks.useRequest)(import_serve.getSpecialResourceListApi, {
94
94
  manual: true,
95
95
  onSuccess: (res) => {
96
96
  const formatData = formatResourceList(res);
@@ -3,3 +3,10 @@ export declare const getResourceListApi: (params: {
3
3
  shop_id: string;
4
4
  form_data_status: string;
5
5
  }) => Promise<any>;
6
+ /**
7
+ * @title: 获取特殊资源列表
8
+ * @Author: xiangfeng.xue
9
+ */
10
+ export declare const getSpecialResourceListApi: (params: {
11
+ event_item_ids?: string | number[];
12
+ }) => Promise<any>;
@@ -19,14 +19,21 @@ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: tru
19
19
  // src/components/Sales/Resource/serve.ts
20
20
  var serve_exports = {};
21
21
  __export(serve_exports, {
22
- getResourceListApi: () => getResourceListApi
22
+ getResourceListApi: () => getResourceListApi,
23
+ getSpecialResourceListApi: () => getSpecialResourceListApi
23
24
  });
24
25
  module.exports = __toCommonJS(serve_exports);
25
26
  var import_utils = require("../../../utils");
26
27
  var getResourceListApi = (params) => {
27
28
  return import_utils.request.getRequest().get("/h5/form/data/v1", params, { useCache: true });
28
29
  };
30
+ var getSpecialResourceListApi = (params) => {
31
+ return import_utils.request.getRequest().get("/h5/eventbookingv2/item/specify-resources", params, {
32
+ useCache: true
33
+ });
34
+ };
29
35
  // Annotate the CommonJS export names for ESM import in node:
30
36
  0 && (module.exports = {
31
- getResourceListApi
37
+ getResourceListApi,
38
+ getSpecialResourceListApi
32
39
  });
@@ -7,6 +7,16 @@ interface SummaryContextType {
7
7
  taxTitle?: string;
8
8
  totalTaxFee?: string;
9
9
  isPriceIncludeTax?: 0 | 1;
10
+ deposit?: {
11
+ total: string;
12
+ protocols: any[];
13
+ hasDeposit: boolean;
14
+ };
15
+ isAgreeDepositPolicy: boolean;
16
+ setIsAgreeDepositPolicy: (value: boolean) => void;
17
+ getDepositProtocol: (params: {
18
+ id: string;
19
+ }) => Promise<any>;
10
20
  }
11
21
  interface SummaryProviderProps {
12
22
  children: React.ReactNode;
@@ -39,6 +39,7 @@ var import_react = __toESM(require("react"));
39
39
  var import_Cart = require("../Cart");
40
40
  var import_utils = require("./utils");
41
41
  var import_Init = require("../Init");
42
+ var import_serve = require("./serve");
42
43
  var defaultState = {};
43
44
  var SummaryContext = (0, import_react.createContext)(
44
45
  void 0
@@ -48,6 +49,7 @@ var SummaryProvider = ({
48
49
  }) => {
49
50
  const { cartData } = (0, import_Cart.useCart)();
50
51
  const { initData } = (0, import_Init.useInit)();
52
+ const [isAgreeDepositPolicy, setIsAgreeDepositPolicy] = (0, import_react.useState)(false);
51
53
  const summaryData = (0, import_react.useMemo)(() => {
52
54
  return (0, import_utils.calculatePriceDetails)(
53
55
  (initData == null ? void 0 : initData.shop) || {},
@@ -61,7 +63,11 @@ var SummaryProvider = ({
61
63
  total: summaryData.total,
62
64
  taxTitle: summaryData.taxTitle,
63
65
  totalTaxFee: summaryData.totalTaxFee,
64
- isPriceIncludeTax: summaryData.isPriceIncludeTax
66
+ isPriceIncludeTax: summaryData.isPriceIncludeTax,
67
+ deposit: summaryData.deposit,
68
+ isAgreeDepositPolicy,
69
+ setIsAgreeDepositPolicy,
70
+ getDepositProtocol: import_serve.getDepositProtocolApi
65
71
  };
66
72
  return /* @__PURE__ */ import_react.default.createElement(SummaryContext.Provider, { value: contextValue }, children);
67
73
  };
@@ -0,0 +1 @@
1
+ export declare const getDepositProtocolApi: (id: string) => Promise<any>;
@@ -0,0 +1,32 @@
1
+ var __defProp = Object.defineProperty;
2
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
3
+ var __getOwnPropNames = Object.getOwnPropertyNames;
4
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
5
+ var __export = (target, all) => {
6
+ for (var name in all)
7
+ __defProp(target, name, { get: all[name], enumerable: true });
8
+ };
9
+ var __copyProps = (to, from, except, desc) => {
10
+ if (from && typeof from === "object" || typeof from === "function") {
11
+ for (let key of __getOwnPropNames(from))
12
+ if (!__hasOwnProp.call(to, key) && key !== except)
13
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
14
+ }
15
+ return to;
16
+ };
17
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
18
+
19
+ // src/components/Sales/Summary/serve.ts
20
+ var serve_exports = {};
21
+ __export(serve_exports, {
22
+ getDepositProtocolApi: () => getDepositProtocolApi
23
+ });
24
+ module.exports = __toCommonJS(serve_exports);
25
+ var import_utils = require("../../../utils");
26
+ var getDepositProtocolApi = (id) => {
27
+ return import_utils.request.getRequest().get(`/h5/shop-policy/${id}`, {});
28
+ };
29
+ // Annotate the CommonJS export names for ESM import in node:
30
+ 0 && (module.exports = {
31
+ getDepositProtocolApi
32
+ });
@@ -10,6 +10,11 @@ interface PriceDetail {
10
10
  taxTitle?: string;
11
11
  totalTaxFee?: string;
12
12
  isPriceIncludeTax?: 0 | 1;
13
+ deposit?: {
14
+ total: string;
15
+ protocols: any[];
16
+ hasDeposit: boolean;
17
+ };
13
18
  }
14
19
  /**
15
20
  * 计算商品小计(不含其他费用)
@@ -33,4 +38,14 @@ export declare const calculateTaxFee: (shopInfo: any, items: CartItem[]) => "0.0
33
38
  * @returns 价格明细对象
34
39
  */
35
40
  export declare const calculatePriceDetails: (shopInfo: any, items: CartItem[]) => PriceDetail;
41
+ /**
42
+ * @title: 计算定金
43
+ * @param items - 购物车商品数组
44
+ * @returns 定金字符串,保留2位小数
45
+ */
46
+ export declare const calculateDeposit: (items: CartItem[]) => {
47
+ total: string;
48
+ protocols: any[];
49
+ hasDeposit: never;
50
+ } | undefined;
36
51
  export {};