@pisell/private-materials 3.0.199 → 3.0.200

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 (193) hide show
  1. package/build/lowcode/index.js +1 -1
  2. package/build/lowcode/meta.js +1 -1
  3. package/build/lowcode/preview.js +7 -7
  4. package/build/lowcode/render/default/view.css +1 -1
  5. package/build/lowcode/render/default/view.js +10 -10
  6. package/build/lowcode/view.css +1 -1
  7. package/build/lowcode/view.js +11 -11
  8. package/es/components/booking/components/customSelect/index.d.ts +1 -0
  9. package/es/components/booking/components/customSelect/index.js +6 -2
  10. package/es/components/booking/components/footer/AppointmentProductModal/index.d.ts +3 -0
  11. package/es/components/booking/components/footer/AppointmentProductModal/index.js +38 -0
  12. package/es/components/booking/components/footer/AppointmentProductModal/index.less +0 -0
  13. package/es/components/booking/components/footer/amount.js +45 -22
  14. package/es/components/booking/components/footer/index.js +84 -40
  15. package/es/components/booking/components/footer/utils.js +243 -32
  16. package/es/components/booking/info/addServiceVariant/index.js +8 -1
  17. package/es/components/booking/info/clientVariant/vertical/SelectDrawer.d.ts +1 -0
  18. package/es/components/booking/info/clientVariant/vertical/SelectDrawer.js +14 -13
  19. package/es/components/booking/info/clientVariant/vertical/index.js +33 -4
  20. package/es/components/booking/info/dateRange/index.d.ts +5 -0
  21. package/es/components/booking/info/dateRange/index.js +98 -0
  22. package/es/components/booking/info/dateRange/index.less +21 -0
  23. package/es/components/booking/info/main.js +20 -8
  24. package/es/components/booking/info/model.js +3 -0
  25. package/es/components/booking/info/pet/ChangePetModal/index.d.ts +4 -0
  26. package/es/components/booking/info/pet/ChangePetModal/index.js +119 -0
  27. package/es/components/booking/info/pet/ChangePetModal/index.less +4 -0
  28. package/es/components/booking/info/pet/index.js +54 -5
  29. package/es/components/booking/info/service/addService/index.js +142 -22
  30. package/es/components/booking/info/service/addService/index.less +13 -3
  31. package/es/components/booking/info/service/addService/utils.d.ts +11 -2
  32. package/es/components/booking/info/service/addService/utils.js +49 -24
  33. package/es/components/booking/info/service/editService/index.js +246 -44
  34. package/es/components/booking/info/service/editService/index.less +18 -13
  35. package/es/components/booking/info/service2/Lists.d.ts +3 -0
  36. package/es/components/booking/info/service2/Lists.js +158 -0
  37. package/es/components/booking/info/service2/hooks/useSelectPet.d.ts +6 -0
  38. package/es/components/booking/info/service2/hooks/useSelectPet.js +54 -0
  39. package/es/components/booking/info/service2/index.d.ts +3 -0
  40. package/es/components/booking/info/service2/index.js +58 -0
  41. package/es/components/booking/info/service2/status.d.ts +31 -0
  42. package/es/components/booking/info/service2/status.js +78 -0
  43. package/es/components/booking/info/service2/utils.d.ts +145 -0
  44. package/es/components/booking/info/service2/utils.js +438 -0
  45. package/es/components/booking/info/utils.d.ts +9 -0
  46. package/es/components/booking/info/utils.js +13 -0
  47. package/es/components/booking/locales.d.ts +60 -0
  48. package/es/components/booking/locales.js +75 -3
  49. package/es/components/booking/materiels/holder/index.d.ts +7 -0
  50. package/es/components/booking/materiels/holder/index.js +51 -0
  51. package/es/components/booking/model.d.ts +4 -1
  52. package/es/components/booking/model.js +4 -2
  53. package/es/components/booking/utils.d.ts +12 -3
  54. package/es/components/booking/utils.js +139 -23
  55. package/es/components/eftpos/form/index.js +6 -12
  56. package/es/components/eftpos/group/index.d.ts +2 -1
  57. package/es/components/eftpos/group/index.js +2 -1
  58. package/es/components/eftpos/index.js +2 -2
  59. package/es/components/eftposPay/helper.d.ts +0 -1
  60. package/es/components/eftposPay/helper.js +0 -14
  61. package/es/components/eftposPay/tyro/index.js +20 -51
  62. package/es/components/shoppingCart/Provider.d.ts +3 -0
  63. package/es/components/shoppingCart/Provider.js +86 -0
  64. package/es/components/shoppingCart/components/Cart/Product.d.ts +4 -0
  65. package/es/components/shoppingCart/components/Cart/Product.js +96 -0
  66. package/es/components/shoppingCart/components/Cart/index.d.ts +4 -0
  67. package/es/components/shoppingCart/components/Cart/index.js +72 -0
  68. package/es/components/shoppingCart/components/Cart/index.less +68 -0
  69. package/es/components/shoppingCart/components/Empty/index.d.ts +4 -0
  70. package/es/components/shoppingCart/components/Empty/index.js +14 -0
  71. package/es/components/shoppingCart/components/Empty/index.less +19 -0
  72. package/es/components/shoppingCart/components/Render/index.d.ts +4 -0
  73. package/es/components/shoppingCart/components/Render/index.js +68 -0
  74. package/es/components/shoppingCart/components/Render/index.less +2 -0
  75. package/es/components/shoppingCart/components/SelectHolderModal/index.d.ts +4 -0
  76. package/es/components/shoppingCart/components/SelectHolderModal/index.js +124 -0
  77. package/es/components/shoppingCart/components/SelectHolderModal/index.less +32 -0
  78. package/es/components/shoppingCart/hooks/useAddService.d.ts +3 -0
  79. package/es/components/shoppingCart/hooks/useAddService.js +23 -0
  80. package/es/components/shoppingCart/hooks/useClearCart.d.ts +3 -0
  81. package/es/components/shoppingCart/hooks/useClearCart.js +54 -0
  82. package/es/components/shoppingCart/hooks/useContext.d.ts +1 -0
  83. package/es/components/shoppingCart/hooks/useContext.js +5 -0
  84. package/es/components/shoppingCart/index.d.ts +4 -0
  85. package/es/components/shoppingCart/index.js +24 -0
  86. package/es/components/shoppingCart/locales.d.ts +33 -0
  87. package/es/components/shoppingCart/locales.js +38 -0
  88. package/es/components/shoppingCart/mock.d.ts +40 -0
  89. package/es/components/shoppingCart/mock.js +40 -0
  90. package/es/components/shoppingCart/status.d.ts +2 -0
  91. package/es/components/shoppingCart/status.js +22 -0
  92. package/es/components/shoppingCart/type.d.ts +39 -0
  93. package/es/components/shoppingCart/type.js +1 -0
  94. package/es/components/shoppingCart/utils.d.ts +63 -0
  95. package/es/components/shoppingCart/utils.js +119 -0
  96. package/es/index.d.ts +1 -0
  97. package/es/index.js +2 -1
  98. package/lib/components/booking/components/customSelect/index.d.ts +1 -0
  99. package/lib/components/booking/components/customSelect/index.js +6 -2
  100. package/lib/components/booking/components/footer/AppointmentProductModal/index.d.ts +3 -0
  101. package/lib/components/booking/components/footer/AppointmentProductModal/index.js +60 -0
  102. package/lib/components/booking/components/footer/AppointmentProductModal/index.less +0 -0
  103. package/lib/components/booking/components/footer/amount.js +26 -8
  104. package/lib/components/booking/components/footer/index.js +25 -4
  105. package/lib/components/booking/components/footer/utils.js +157 -31
  106. package/lib/components/booking/info/addServiceVariant/index.js +5 -0
  107. package/lib/components/booking/info/clientVariant/vertical/SelectDrawer.d.ts +1 -0
  108. package/lib/components/booking/info/clientVariant/vertical/SelectDrawer.js +8 -7
  109. package/lib/components/booking/info/clientVariant/vertical/index.js +36 -10
  110. package/lib/components/booking/info/dateRange/index.d.ts +5 -0
  111. package/lib/components/booking/info/dateRange/index.js +111 -0
  112. package/lib/components/booking/info/dateRange/index.less +21 -0
  113. package/lib/components/booking/info/main.js +11 -4
  114. package/lib/components/booking/info/model.js +3 -0
  115. package/lib/components/booking/info/pet/ChangePetModal/index.d.ts +4 -0
  116. package/lib/components/booking/info/pet/ChangePetModal/index.js +111 -0
  117. package/lib/components/booking/info/pet/ChangePetModal/index.less +4 -0
  118. package/lib/components/booking/info/pet/index.js +61 -25
  119. package/lib/components/booking/info/service/addService/index.js +107 -34
  120. package/lib/components/booking/info/service/addService/index.less +13 -3
  121. package/lib/components/booking/info/service/addService/utils.d.ts +11 -2
  122. package/lib/components/booking/info/service/addService/utils.js +31 -10
  123. package/lib/components/booking/info/service/editService/index.js +283 -125
  124. package/lib/components/booking/info/service/editService/index.less +18 -13
  125. package/lib/components/booking/info/service2/Lists.d.ts +3 -0
  126. package/lib/components/booking/info/service2/Lists.js +113 -0
  127. package/lib/components/booking/info/service2/hooks/useSelectPet.d.ts +6 -0
  128. package/lib/components/booking/info/service2/hooks/useSelectPet.js +50 -0
  129. package/lib/components/booking/info/service2/index.d.ts +3 -0
  130. package/lib/components/booking/info/service2/index.js +75 -0
  131. package/lib/components/booking/info/service2/status.d.ts +31 -0
  132. package/lib/components/booking/info/service2/status.js +81 -0
  133. package/lib/components/booking/info/service2/utils.d.ts +145 -0
  134. package/lib/components/booking/info/service2/utils.js +322 -0
  135. package/lib/components/booking/info/utils.d.ts +9 -0
  136. package/lib/components/booking/info/utils.js +6 -0
  137. package/lib/components/booking/locales.d.ts +60 -0
  138. package/lib/components/booking/locales.js +63 -3
  139. package/lib/components/booking/materiels/holder/index.d.ts +7 -0
  140. package/lib/components/booking/materiels/holder/index.js +65 -0
  141. package/lib/components/booking/model.d.ts +4 -1
  142. package/lib/components/booking/model.js +4 -2
  143. package/lib/components/booking/utils.d.ts +12 -3
  144. package/lib/components/booking/utils.js +87 -15
  145. package/lib/components/eftpos/form/index.js +6 -12
  146. package/lib/components/eftpos/group/index.d.ts +2 -1
  147. package/lib/components/eftpos/group/index.js +1 -0
  148. package/lib/components/eftpos/index.js +2 -2
  149. package/lib/components/eftposPay/helper.d.ts +0 -1
  150. package/lib/components/eftposPay/helper.js +0 -21
  151. package/lib/components/eftposPay/tyro/index.js +7 -36
  152. package/lib/components/shoppingCart/Provider.d.ts +3 -0
  153. package/lib/components/shoppingCart/Provider.js +110 -0
  154. package/lib/components/shoppingCart/components/Cart/Product.d.ts +4 -0
  155. package/lib/components/shoppingCart/components/Cart/Product.js +89 -0
  156. package/lib/components/shoppingCart/components/Cart/index.d.ts +4 -0
  157. package/lib/components/shoppingCart/components/Cart/index.js +77 -0
  158. package/lib/components/shoppingCart/components/Cart/index.less +68 -0
  159. package/lib/components/shoppingCart/components/Empty/index.d.ts +4 -0
  160. package/lib/components/shoppingCart/components/Empty/index.js +43 -0
  161. package/lib/components/shoppingCart/components/Empty/index.less +19 -0
  162. package/lib/components/shoppingCart/components/Render/index.d.ts +4 -0
  163. package/lib/components/shoppingCart/components/Render/index.js +79 -0
  164. package/lib/components/shoppingCart/components/Render/index.less +2 -0
  165. package/lib/components/shoppingCart/components/SelectHolderModal/index.d.ts +4 -0
  166. package/lib/components/shoppingCart/components/SelectHolderModal/index.js +116 -0
  167. package/lib/components/shoppingCart/components/SelectHolderModal/index.less +32 -0
  168. package/lib/components/shoppingCart/hooks/useAddService.d.ts +3 -0
  169. package/lib/components/shoppingCart/hooks/useAddService.js +55 -0
  170. package/lib/components/shoppingCart/hooks/useClearCart.d.ts +3 -0
  171. package/lib/components/shoppingCart/hooks/useClearCart.js +71 -0
  172. package/lib/components/shoppingCart/hooks/useContext.d.ts +1 -0
  173. package/lib/components/shoppingCart/hooks/useContext.js +31 -0
  174. package/lib/components/shoppingCart/index.d.ts +4 -0
  175. package/lib/components/shoppingCart/index.js +60 -0
  176. package/lib/components/shoppingCart/locales.d.ts +33 -0
  177. package/lib/components/shoppingCart/locales.js +56 -0
  178. package/lib/components/shoppingCart/mock.d.ts +40 -0
  179. package/lib/components/shoppingCart/mock.js +76 -0
  180. package/lib/components/shoppingCart/status.d.ts +2 -0
  181. package/lib/components/shoppingCart/status.js +60 -0
  182. package/lib/components/shoppingCart/type.d.ts +39 -0
  183. package/lib/components/shoppingCart/type.js +17 -0
  184. package/lib/components/shoppingCart/utils.d.ts +63 -0
  185. package/lib/components/shoppingCart/utils.js +92 -0
  186. package/lib/index.d.ts +1 -0
  187. package/lib/index.js +3 -0
  188. package/lowcode/shopping-cart/meta.ts +98 -0
  189. package/package.json +4 -4
  190. package/es/components/eftpos/receipt/index.d.ts +0 -24
  191. package/es/components/eftpos/receipt/index.js +0 -96
  192. package/lib/components/eftpos/receipt/index.d.ts +0 -24
  193. package/lib/components/eftpos/receipt/index.js +0 -88
@@ -24,20 +24,24 @@ import Drawer from "../../../components/drawer";
24
24
  import { Context } from "../../model";
25
25
  import { formatAmount, locales } from '@pisell/utils';
26
26
  import Duration from "../../../materiels/duration";
27
- import { Input, Button, Select, Row, Col, Form, Alert, InputNumber } from 'antd';
27
+ import Holder from "../../../materiels/holder";
28
+ import { Input, Button, Select, Row, Col, Form, Alert, InputNumber, DatePicker } from 'antd';
28
29
  import "./index.less";
29
30
  import CollapsibleList from "../../../components/collapsibleList";
30
31
  import { renderBundles } from "../../../components/collapsibleList/utils";
31
32
  import { useUpdateEffect, useMemoizedFn } from 'ahooks';
32
33
  // import SelectTime from "../../../../../../../materials/src/components/select-time";
33
- import { getErrorList, getServiceTimes, deleteCacheParams, getProductTotalPrice } from "../../../utils";
34
+ import { getErrorList, getServiceTimes, deleteCacheParams, getProductTotalPrice, getDays } from "../../../utils";
34
35
  import Like from "../like";
35
36
  import { getNoResource } from "../../../mock";
36
37
  import { formatResources, getDurationProps, getFlexibleOption, getTimeObj } from "../addService/utils";
37
38
  import { PisellAdjustPriceInputNumber, Page } from '@pisell/materials';
39
+ import dayjs from 'dayjs';
40
+ import useSelectPet from "../../service2/hooks/useSelectPet";
41
+ import { disabledDate as _disabledDate, isDayBooking, formatDayTime, isAppointment } from "../../service2/utils";
38
42
  var submitLock = false;
39
43
  var Info = function Info(_, ref) {
40
- var _state$bookingConfig2, _state$bookingConfig3, _state$bookingConfig4, _state$service$cacheI4, _state$service$cacheI5, _state$service$cacheI7, _state$service$cacheI8, _state$service$cacheI9, _state$service3, _state$service3$cache, _state$service5, _state$service5$cache, _state$service5$cache2, _state$service5$cache3, _state$date, _state$date$value, _state$date$value$for, _window$BaseMaterials, _state$service$cacheI19, _state$service7, _state$service7$cache, _state$service7$cache2, _state$service$cacheI20, _state$service$cacheI21, _state$bookingConfig9, _state$bookingConfig10, _state$bookingConfig11, _state$bookingConfig12;
44
+ var _state$bookingConfig2, _state$bookingConfig3, _state$bookingConfig4, _state$service$cacheI4, _state$service$cacheI5, _state$service$cacheI7, _state$service$cacheI8, _state$service$cacheI9, _state$service3, _state$service3$cache, _state$service5, _state$service5$cache, _state$service5$cache2, _state$service5$cache3, _state$date, _state$date$value, _state$date$value$for, _state$date2, _window$BaseMaterials, _state$service$cacheI19, _state$service7, _state$service7$cache, _state$service7$cache2, _state$service$cacheI20, _state$service$cacheI21, _state$bookingConfig9, _state$bookingConfig10, _state$bookingConfig11, _state$bookingConfig12;
41
45
  var _Form$useForm = Form.useForm(),
42
46
  _Form$useForm2 = _slicedToArray(_Form$useForm, 1),
43
47
  form = _Form$useForm2[0];
@@ -46,6 +50,8 @@ var Info = function Info(_, ref) {
46
50
  var useResource = Form.useWatch('resource', form);
47
51
  var useStartTime = Form.useWatch('start_time', form);
48
52
  var useDuration = Form.useWatch('duration', form);
53
+ var useStartDate = Form.useWatch('start_date', form);
54
+ var useEndDate = Form.useWatch('end_date', form);
49
55
  var _useState = useState(false),
50
56
  _useState2 = _slicedToArray(_useState, 2),
51
57
  resourceLoading = _useState2[0],
@@ -58,6 +64,11 @@ var Info = function Info(_, ref) {
58
64
  _useState4 = _slicedToArray(_useState3, 2),
59
65
  selectOpen = _useState4[0],
60
66
  setSelectOpen = _useState4[1];
67
+ var _useSelectPet = useSelectPet(state),
68
+ holderLists = _useSelectPet.holderLists;
69
+ var isDay = useMemo(function () {
70
+ return isDayBooking(state);
71
+ }, [state.renderType]);
61
72
 
62
73
  // 当前商品信息+ 表单信息
63
74
  var getCurrentCacheItem = function getCurrentCacheItem(_cacheItem) {
@@ -178,7 +189,8 @@ var Info = function Info(_, ref) {
178
189
  payload: {
179
190
  resources: formatResources({
180
191
  cacheItem: _cacheItem,
181
- resourcesOrigin: _list
192
+ resourcesOrigin: _list,
193
+ isDay: isDay
182
194
  })
183
195
  }
184
196
  });
@@ -289,8 +301,8 @@ var Info = function Info(_, ref) {
289
301
  return d.form_record_id == useResource;
290
302
  });
291
303
  if (item) {
292
- var _item$_extend$usableT;
293
- var isMaxLimitRange = (_item$_extend$usableT = item._extend.usableTime) === null || _item$_extend$usableT === void 0 ? void 0 : _item$_extend$usableT._extend.isMaxLimitRange;
304
+ var _item$_extend$usableT, _item$_extend$usableT2;
305
+ var isMaxLimitRange = (_item$_extend$usableT = item._extend.usableTime) === null || _item$_extend$usableT === void 0 ? void 0 : (_item$_extend$usableT2 = _item$_extend$usableT._extend) === null || _item$_extend$usableT2 === void 0 ? void 0 : _item$_extend$usableT2.isMaxLimitRange;
294
306
  // unknown 为未知是否可用, 需要掉后端接口确定
295
307
  if (isMaxLimitRange === 'unknown') {
296
308
  // 调接口
@@ -355,13 +367,24 @@ var Info = function Info(_, ref) {
355
367
  errorList: errorList
356
368
  });
357
369
  var _extend = _objectSpread(_objectSpread({}, _item._extend), values);
358
- var _getServiceTimes = getServiceTimes({
359
- _extend: _extend
360
- }),
361
- startDate = _getServiceTimes.startDate,
362
- endDate = _getServiceTimes.endDate;
363
- _extend.startDate = startDate;
364
- _extend.endDate = endDate;
370
+
371
+ // 跨日预约
372
+ if (isAppointment(state.service.cacheItem, state)) {
373
+ // _extend = formatDayTime(_extend);
374
+
375
+ // 更新商品数量和更新日期
376
+ _extend.quantity = useDuration || 1;
377
+ _extend.startDate = _extend === null || _extend === void 0 ? void 0 : _extend.start_date;
378
+ _extend.endDate = _extend === null || _extend === void 0 ? void 0 : _extend.end_date;
379
+ } else {
380
+ var _getServiceTimes = getServiceTimes({
381
+ _extend: _extend
382
+ }),
383
+ startDate = _getServiceTimes.startDate,
384
+ endDate = _getServiceTimes.endDate;
385
+ _extend.startDate = startDate;
386
+ _extend.endDate = endDate;
387
+ }
365
388
  var _ref2 = (currentResource === null || currentResource === void 0 ? void 0 : (_currentResource$_ext = currentResource._extend) === null || _currentResource$_ext === void 0 ? void 0 : _currentResource$_ext.usableTime) || {},
366
389
  relation_type = _ref2.relation_type,
367
390
  item_id = _ref2.item_id,
@@ -403,8 +426,14 @@ var Info = function Info(_, ref) {
403
426
  });
404
427
  });
405
428
  var setEditData = useMemoizedFn(function (_cacheItem, open) {
429
+ var _values;
406
430
  var cacheItem = _cacheItem || state.service.cacheItem;
407
431
  var values = cacheItem._extend;
432
+
433
+ // 没有折扣原因则清空
434
+ values = _objectSpread(_objectSpread({}, values), {}, {
435
+ discount_reason: ((_values = values) === null || _values === void 0 ? void 0 : _values.discount_reason) || ''
436
+ });
408
437
  form.setFieldsValue(values);
409
438
  if (state.renderType !== 'eventBooking') {
410
439
  // 获取资源列表
@@ -437,7 +466,7 @@ var Info = function Info(_, ref) {
437
466
  * @Date: 2024-01-09 14:06
438
467
  */
439
468
  var errorList = useMemo(function () {
440
- return getErrorList(currentResource, getCurrentCacheItem());
469
+ return getErrorList(currentResource, getCurrentCacheItem(), isDay);
441
470
  }, [currentResource, useDuration, useStartTime]);
442
471
 
443
472
  /**
@@ -456,12 +485,24 @@ var Info = function Info(_, ref) {
456
485
  }
457
486
  }
458
487
  }, [useStartTime, useDuration, state.renderType, state.service.resourcesOrigin, (_state$service$cacheI7 = state.service.cacheItem) === null || _state$service$cacheI7 === void 0 ? void 0 : _state$service$cacheI7.autoClose]);
488
+
489
+ /**
490
+ * @title: 是否在terminal上打开预约
491
+ * @description:
492
+ * @param {*} useMemo
493
+ * @return {*}
494
+ * @Author: WangHan
495
+ * @Date: 2024-12-04 19:02
496
+ */
497
+ var isTerminalBooking = useMemo(function () {
498
+ return state.isBookingCreatePage || state.isTerminalDayBookingPage;
499
+ }, [state.isBookingCreatePage, state.isTerminalDayBookingPage]);
459
500
  useEffect(function () {
460
501
  // 预约创建页面并且打开了编辑弹窗
461
- if (state.isBookingCreatePage && state.service.editModal) {
502
+ if (isTerminalBooking && state.service.editModal) {
462
503
  setEditData(null, true);
463
504
  }
464
- }, [state.service.editModal, state.isBookingCreatePage]);
505
+ }, [state.service.editModal, isTerminalBooking]);
465
506
 
466
507
  /**
467
508
  * @title: 资源 时间 发生变化时, 重新计算错误信息
@@ -472,7 +513,7 @@ var Info = function Info(_, ref) {
472
513
  */
473
514
  useEffect(function () {
474
515
  getErrorMsg();
475
- }, [useResource, useStartTime, useDuration]);
516
+ }, [useResource, useStartTime, useDuration, useStartDate, useEndDate]);
476
517
 
477
518
  /**
478
519
  * @title: 价格发生变化,重新计算折扣
@@ -514,23 +555,49 @@ var Info = function Info(_, ref) {
514
555
  */
515
556
  var getResourcesData = /*#__PURE__*/function () {
516
557
  var _ref3 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee2() {
517
- var data, _list;
558
+ var params, format, startDate, endDate, _formatDayTime, startDateTime, endDateTime, data, _list;
518
559
  return _regeneratorRuntime().wrap(function _callee2$(_context2) {
519
560
  while (1) switch (_context2.prev = _context2.next) {
520
561
  case 0:
521
562
  setResourceLoading(true);
522
563
  _context2.prev = 1;
523
- _context2.next = 4;
524
- return state.apis.getResources({
564
+ params = {};
565
+ if (!isDay) {
566
+ _context2.next = 13;
567
+ break;
568
+ }
569
+ format = 'YYYY-MM-DD HH:mm';
570
+ startDate = useStartDate || state.date.value;
571
+ endDate = useEndDate || state.date.end_date;
572
+ _formatDayTime = formatDayTime({
573
+ startDate: startDate,
574
+ endDate: endDate
575
+ }), startDateTime = _formatDayTime.startDateTime, endDateTime = _formatDayTime.endDateTime;
576
+ if (!dayjs(startDateTime).isAfter(dayjs(endDateTime))) {
577
+ _context2.next = 10;
578
+ break;
579
+ }
580
+ return _context2.abrupt("return");
581
+ case 10:
582
+ params.check_time = {
583
+ start_time: dayjs(startDateTime).format(format),
584
+ end_time: dayjs(endDateTime).format(format)
585
+ };
586
+ _context2.next = 14;
587
+ break;
588
+ case 13:
589
+ params.with_date_times = state.date.value.format('YYYY-MM-DD');
590
+ case 14:
591
+ _context2.next = 16;
592
+ return state.apis.getResources(_objectSpread({
525
593
  skip: 1,
526
594
  num: 1000,
527
- with_date_times: state.date.value.format('YYYY-MM-DD'),
528
595
  codes: ['resources', 'therapist', 'table'],
529
596
  _config: {
530
597
  abort: true
531
598
  }
532
- });
533
- case 4:
599
+ }, params));
600
+ case 16:
534
601
  data = _context2.sent;
535
602
  // 合并无资源
536
603
  _list = [getNoResource()].concat((data === null || data === void 0 ? void 0 : data.list) || []);
@@ -540,19 +607,19 @@ var Info = function Info(_, ref) {
540
607
  resourcesOrigin: _list
541
608
  }
542
609
  });
543
- _context2.next = 12;
610
+ _context2.next = 24;
544
611
  break;
545
- case 9:
546
- _context2.prev = 9;
612
+ case 21:
613
+ _context2.prev = 21;
547
614
  _context2.t0 = _context2["catch"](1);
548
615
  console.log(_context2.t0, 'err');
549
- case 12:
616
+ case 24:
550
617
  setResourceLoading(false);
551
- case 13:
618
+ case 25:
552
619
  case "end":
553
620
  return _context2.stop();
554
621
  }
555
- }, _callee2, null, [[1, 9]]);
622
+ }, _callee2, null, [[1, 21]]);
556
623
  }));
557
624
  return function getResourcesData() {
558
625
  return _ref3.apply(this, arguments);
@@ -562,7 +629,7 @@ var Info = function Info(_, ref) {
562
629
  setTimeout(function () {
563
630
  getResourcesData();
564
631
  }, 20);
565
- }, [(_state$date = state.date) === null || _state$date === void 0 ? void 0 : (_state$date$value = _state$date.value) === null || _state$date$value === void 0 ? void 0 : (_state$date$value$for = _state$date$value.format) === null || _state$date$value$for === void 0 ? void 0 : _state$date$value$for.call(_state$date$value, 'YYYY-MM-DD')]);
632
+ }, [(_state$date = state.date) === null || _state$date === void 0 ? void 0 : (_state$date$value = _state$date.value) === null || _state$date$value === void 0 ? void 0 : (_state$date$value$for = _state$date$value.format) === null || _state$date$value$for === void 0 ? void 0 : _state$date$value$for.call(_state$date$value, 'YYYY-MM-DD'), (_state$date2 = state.date) === null || _state$date2 === void 0 ? void 0 : _state$date2.end_date, useStartDate, useEndDate]);
566
633
 
567
634
  /**
568
635
  * @title: 编辑商品
@@ -573,6 +640,7 @@ var Info = function Info(_, ref) {
573
640
  * @Date: 2024-08-28 17:08
574
641
  */
575
642
  var handleEdit = useMemoizedFn(function (e) {
643
+ var _item$_extend, _item$_extend$other, _item$_extend2, _item$_extend2$other;
576
644
  // 当前商品
577
645
  var item = state.service.cacheItem;
578
646
 
@@ -586,14 +654,18 @@ var Info = function Info(_, ref) {
586
654
  id: item.id,
587
655
  date: state.date.value.format('YYYY-MM-DD'),
588
656
  showConfig: {
589
- option: false,
657
+ option: isDay ? true : false,
590
658
  session: false,
591
- variant: false,
659
+ variant: isDay ? true : false,
592
660
  package: true
593
661
  },
594
- value: item._extend.other
662
+ value: _objectSpread(_objectSpread({}, item._extend.other), {}, {
663
+ product_variant: ((_item$_extend = item._extend) === null || _item$_extend === void 0 ? void 0 : (_item$_extend$other = _item$_extend.other) === null || _item$_extend$other === void 0 ? void 0 : _item$_extend$other.product_variant_id) || 0,
664
+ product_option: ((_item$_extend2 = item._extend) === null || _item$_extend2 === void 0 ? void 0 : (_item$_extend2$other = _item$_extend2.other) === null || _item$_extend2$other === void 0 ? void 0 : _item$_extend2$other.option) || []
665
+ })
595
666
  },
596
667
  callback: function callback(e) {
668
+ var _cacheItem$_extend, _cacheItem$_extend$ot;
597
669
  // 重新生成商品
598
670
  var cacheItem = _objectSpread(_objectSpread({}, item), {}, {
599
671
  product_id: item.id,
@@ -609,6 +681,12 @@ var Info = function Info(_, ref) {
609
681
  // 获取商品总价
610
682
  var _total = getProductTotalPrice(cacheItem);
611
683
 
684
+ // 如果有多规格,则更新商品的单价
685
+ if (cacheItem !== null && cacheItem !== void 0 && (_cacheItem$_extend = cacheItem._extend) !== null && _cacheItem$_extend !== void 0 && (_cacheItem$_extend$ot = _cacheItem$_extend.other) !== null && _cacheItem$_extend$ot !== void 0 && _cacheItem$_extend$ot.product_variant_id) {
686
+ var _cacheItem$_extend2, _cacheItem$_extend2$o;
687
+ cacheItem._extend.price = Number((_cacheItem$_extend2 = cacheItem._extend) === null || _cacheItem$_extend2 === void 0 ? void 0 : (_cacheItem$_extend2$o = _cacheItem$_extend2.other) === null || _cacheItem$_extend2$o === void 0 ? void 0 : _cacheItem$_extend2$o.price);
688
+ }
689
+
612
690
  // 用于折扣 可修改
613
691
  cacheItem._extend.total = _total;
614
692
 
@@ -659,6 +737,89 @@ var Info = function Info(_, ref) {
659
737
  };
660
738
  });
661
739
  var SelectTime = (_window$BaseMaterials = window.BaseMaterials) === null || _window$BaseMaterials === void 0 ? void 0 : _window$BaseMaterials.SelectTime;
740
+
741
+ /**
742
+ * @title: 日期组件
743
+ * @description:
744
+ * @return {*}
745
+ * @Author: WangHan
746
+ * @Date: 2024-11-30 22:22
747
+ */
748
+ var DateCom = function DateCom(position) {
749
+ return /*#__PURE__*/React.createElement(DatePicker, {
750
+ className: "pisell-lowcode__booking-service-select-date",
751
+ disabledDate: function disabledDate(current) {
752
+ return _disabledDate(current, position, useStartDate);
753
+ },
754
+ size: "large",
755
+ style: {
756
+ width: '100%'
757
+ },
758
+ format: state.locale === 'en' ? 'DD/MM/YYYY' : 'YYYY-MM-DD'
759
+ });
760
+ };
761
+
762
+ /**
763
+ * @title: 表单更新
764
+ * @description:
765
+ * @param {any} changedValues
766
+ * @return {*}
767
+ * @Author: WangHan
768
+ * @Date: 2024-12-04 14:39
769
+ */
770
+ var onValuesChange = function onValuesChange(changedValues) {
771
+ // 跨日预约
772
+ if (isDay) {
773
+ // 根据时长更新结束时间
774
+ if (changedValues !== null && changedValues !== void 0 && changedValues.duration) {
775
+ return form.setFieldsValue({
776
+ end_date: dayjs(useStartDate).add(changedValues === null || changedValues === void 0 ? void 0 : changedValues.duration, 'day')
777
+ });
778
+ }
779
+
780
+ // 验证结束日期
781
+ if (changedValues !== null && changedValues !== void 0 && changedValues.start_date) {
782
+ var startDate = dayjs(changedValues === null || changedValues === void 0 ? void 0 : changedValues.start_date);
783
+ var endDate = dayjs(useEndDate);
784
+ // 如果开始日期大于结束日期,则清空数据
785
+ if (startDate.isAfter(endDate)) {
786
+ return form.setFieldsValue({
787
+ duration: undefined,
788
+ end_date: undefined
789
+ });
790
+ }
791
+ }
792
+
793
+ // 计算时长
794
+ if (changedValues !== null && changedValues !== void 0 && changedValues.start_date || changedValues !== null && changedValues !== void 0 && changedValues.end_date) {
795
+ var _cacheItem2 = getCurrentCacheItem();
796
+ var duration = getDays(_cacheItem2, 'days');
797
+ return form.setFieldsValue({
798
+ duration: duration
799
+ });
800
+ }
801
+ }
802
+ };
803
+
804
+ /**
805
+ * @title: 是否显示资源和时长
806
+ * @description:
807
+ * @param {*} useMemo
808
+ * @return {*}
809
+ * @Author: WangHan
810
+ * @Date: 2024-12-09 15:59
811
+ */
812
+ var showResource = useMemo(function () {
813
+ if (state.renderType === 'eventBooking') {
814
+ return false;
815
+ }
816
+
817
+ // 跨日预约
818
+ if (isDay) {
819
+ return isAppointment(state.service.cacheItem, state);
820
+ }
821
+ return true;
822
+ }, [state.service.cacheItem, state.renderType]);
662
823
  return useMemo(function () {
663
824
  var _state$service$cacheI10, _state$service6, _state$service6$cache, _state$service6$cache2, _state$service$cacheI11, _state$service$cacheI12, _state$service$cacheI13, _state$service$cacheI14, _state$service$cacheI15, _state$service$cacheI16, _state$service$cacheI17, _state$service$cacheI18, _state$bookingConfig5, _state$bookingConfig6, _state$bookingConfig7, _state$bookingConfig8;
664
825
  return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(Drawer
@@ -668,7 +829,7 @@ var Info = function Info(_, ref) {
668
829
  zIndex: state.service.changeService ? 999 : 1000,
669
830
  forceRender: true,
670
831
  open: state.service.editModal && !((_state$service$cacheI10 = state.service.cacheItem) !== null && _state$service$cacheI10 !== void 0 && _state$service$cacheI10.autoClose),
671
- title: locales.getText('pisell2.text.edit-service'),
832
+ title: isDay ? locales.getText('pisell2.text.edit-select-service') : locales.getText('pisell2.text.edit-service'),
672
833
  onClose: function onClose() {
673
834
  dispatch({
674
835
  type: 'setService',
@@ -684,7 +845,8 @@ var Info = function Info(_, ref) {
684
845
  }, /*#__PURE__*/React.createElement(Page, null, /*#__PURE__*/React.createElement(Form, {
685
846
  layout: "vertical",
686
847
  form: form,
687
- onFinish: onFinish
848
+ onFinish: onFinish,
849
+ onValuesChange: onValuesChange
688
850
  }, /*#__PURE__*/React.createElement(Row, {
689
851
  style: {
690
852
  width: '100%'
@@ -702,7 +864,7 @@ var Info = function Info(_, ref) {
702
864
  className: "current-service-info-name"
703
865
  }, ((_state$service6 = state.service) === null || _state$service6 === void 0 ? void 0 : (_state$service6$cache = _state$service6.cacheItem) === null || _state$service6$cache === void 0 ? void 0 : (_state$service6$cache2 = _state$service6$cache._extend) === null || _state$service6$cache2 === void 0 ? void 0 : _state$service6$cache2.product_name) || '-'), /*#__PURE__*/React.createElement(Button, {
704
866
  onClick: handleEdit
705
- }, locales.getText('pisell2.text.edit')), !state.isBookingCreatePage && /*#__PURE__*/React.createElement(Button, {
867
+ }, locales.getText('pisell2.text.edit')), !isTerminalBooking && /*#__PURE__*/React.createElement(Button, {
706
868
  onClick: handleChange
707
869
  }, locales.getText('pisell2.text.change'))), /*#__PURE__*/React.createElement(CollapsibleList, {
708
870
  style: {
@@ -738,15 +900,15 @@ var Info = function Info(_, ref) {
738
900
  name: "discount_reason"
739
901
  }, /*#__PURE__*/React.createElement(Input.TextArea, {
740
902
  size: "large"
741
- }))) : null, state.renderType !== 'eventBooking' && /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(Col, {
903
+ }))) : null, showResource && /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(Col, {
742
904
  span: 12
743
905
  }, /*#__PURE__*/React.createElement(Form.Item, {
744
- label: locales.getText('pisell2.text.start_time'),
745
- name: "start_time",
906
+ label: locales.getText(isDay ? 'pisell2.text.start_date' : 'pisell2.text.start_time'),
907
+ name: isDay ? 'start_date' : 'start_time',
746
908
  rules: [{
747
909
  required: true
748
910
  }]
749
- }, SelectTime ? /*#__PURE__*/React.createElement(SelectTime, {
911
+ }, isDay ? DateCom('start') : SelectTime ? /*#__PURE__*/React.createElement(SelectTime, {
750
912
  slice: (_state$bookingConfig5 = state.bookingConfig) === null || _state$bookingConfig5 === void 0 ? void 0 : (_state$bookingConfig6 = _state$bookingConfig5.config) === null || _state$bookingConfig6 === void 0 ? void 0 : (_state$bookingConfig7 = _state$bookingConfig6.basic) === null || _state$bookingConfig7 === void 0 ? void 0 : (_state$bookingConfig8 = _state$bookingConfig7.service_time) === null || _state$bookingConfig8 === void 0 ? void 0 : _state$bookingConfig8.value,
751
913
  timePickerProps: {
752
914
  style: {
@@ -758,7 +920,15 @@ var Info = function Info(_, ref) {
758
920
  zoom: 0.8
759
921
  }
760
922
  }
761
- }) : null)), /*#__PURE__*/React.createElement(Col, {
923
+ }) : null)), isDay ? /*#__PURE__*/React.createElement(Col, {
924
+ span: 12
925
+ }, /*#__PURE__*/React.createElement(Form.Item, {
926
+ label: locales.getText(isDay ? 'pisell2.text.end_date' : 'pisell2.text.end_time'),
927
+ name: "end_date",
928
+ rules: [{
929
+ required: true
930
+ }]
931
+ }, DateCom('end'))) : null, /*#__PURE__*/React.createElement(Col, {
762
932
  span: 12
763
933
  }, /*#__PURE__*/React.createElement(Form.Item, {
764
934
  label: locales.getText('pisell2.text.duration'),
@@ -768,7 +938,17 @@ var Info = function Info(_, ref) {
768
938
  }]
769
939
  }, /*#__PURE__*/React.createElement(Duration, _extends({}, durationProps, {
770
940
  timeObj: timeObj
771
- })))), /*#__PURE__*/React.createElement(Col, {
941
+ })))), isDay && (holderLists === null || holderLists === void 0 ? void 0 : holderLists.length) > 0 ? /*#__PURE__*/React.createElement(Col, {
942
+ span: 12
943
+ }, /*#__PURE__*/React.createElement(Form.Item, {
944
+ label: locales.getText('pisell2.text.holder'),
945
+ name: "holder_id",
946
+ rules: [{
947
+ required: true
948
+ }]
949
+ }, /*#__PURE__*/React.createElement(Holder, {
950
+ size: "large"
951
+ }))) : null, /*#__PURE__*/React.createElement(Col, {
772
952
  span: 24
773
953
  }, /*#__PURE__*/React.createElement(Form.Item, {
774
954
  required: true,
@@ -808,7 +988,29 @@ var Info = function Info(_, ref) {
808
988
  }, /*#__PURE__*/React.createElement(InputNumber, null)), /*#__PURE__*/React.createElement(Form.Item, {
809
989
  hidden: true,
810
990
  name: "like_status"
811
- }, /*#__PURE__*/React.createElement(Input, null)))))), state.renderType !== 'eventBooking' && errorList.map(function (d, i) {
991
+ }, /*#__PURE__*/React.createElement(Input, null))), isDay && !isAppointment(state.service.cacheItem, state) ? /*#__PURE__*/React.createElement(Col, {
992
+ span: 24
993
+ }, /*#__PURE__*/React.createElement(Form.Item, {
994
+ label: locales.getText('pisell2.text.quantity'),
995
+ name: "quantity",
996
+ rules: [{
997
+ required: true
998
+ }]
999
+ }, /*#__PURE__*/React.createElement(InputNumber, {
1000
+ size: "large",
1001
+ style: {
1002
+ width: '100%'
1003
+ },
1004
+ min: 1,
1005
+ max: 999999,
1006
+ formatter: function formatter(value) {
1007
+ if (value !== undefined) {
1008
+ // 向下取整
1009
+ return Math.floor(value);
1010
+ }
1011
+ return value;
1012
+ }
1013
+ }))) : null))), showResource && errorList.map(function (d, i) {
812
1014
  return /*#__PURE__*/React.createElement(Alert, {
813
1015
  key: d.type,
814
1016
  message: d.label,
@@ -833,6 +1035,6 @@ var Info = function Info(_, ref) {
833
1035
  form.submit();
834
1036
  }
835
1037
  }, locales.getText('pisell2.text.apply'))))));
836
- }, [state.service.changeService, state.service.editModal, (_state$service$cacheI19 = state.service.cacheItem) === null || _state$service$cacheI19 === void 0 ? void 0 : _state$service$cacheI19.autoClose, locales, (_state$service7 = state.service) === null || _state$service7 === void 0 ? void 0 : (_state$service7$cache = _state$service7.cacheItem) === null || _state$service7$cache === void 0 ? void 0 : (_state$service7$cache2 = _state$service7$cache._extend) === null || _state$service7$cache2 === void 0 ? void 0 : _state$service7$cache2.product_name, bundles, state.amountSymbol, state.channelDisabledEdit, (_state$service$cacheI20 = state.service.cacheItem) === null || _state$service$cacheI20 === void 0 ? void 0 : (_state$service$cacheI21 = _state$service$cacheI20._extend) === null || _state$service$cacheI21 === void 0 ? void 0 : _state$service$cacheI21.origin_total, isDiscount, isReason, state.renderType, (_state$bookingConfig9 = state.bookingConfig) === null || _state$bookingConfig9 === void 0 ? void 0 : (_state$bookingConfig10 = _state$bookingConfig9.config) === null || _state$bookingConfig10 === void 0 ? void 0 : (_state$bookingConfig11 = _state$bookingConfig10.basic) === null || _state$bookingConfig11 === void 0 ? void 0 : (_state$bookingConfig12 = _state$bookingConfig11.service_time) === null || _state$bookingConfig12 === void 0 ? void 0 : _state$bookingConfig12.value, SelectTime, durationProps, timeObj, useResource, useLikeStatus, resourceLoading, selectOpen, state.service.resources, errorList, useTotal]);
1038
+ }, [state.service.changeService, state.service.editModal, (_state$service$cacheI19 = state.service.cacheItem) === null || _state$service$cacheI19 === void 0 ? void 0 : _state$service$cacheI19.autoClose, locales, (_state$service7 = state.service) === null || _state$service7 === void 0 ? void 0 : (_state$service7$cache = _state$service7.cacheItem) === null || _state$service7$cache === void 0 ? void 0 : (_state$service7$cache2 = _state$service7$cache._extend) === null || _state$service7$cache2 === void 0 ? void 0 : _state$service7$cache2.product_name, bundles, state.amountSymbol, state.channelDisabledEdit, (_state$service$cacheI20 = state.service.cacheItem) === null || _state$service$cacheI20 === void 0 ? void 0 : (_state$service$cacheI21 = _state$service$cacheI20._extend) === null || _state$service$cacheI21 === void 0 ? void 0 : _state$service$cacheI21.origin_total, isDiscount, isReason, state.renderType, (_state$bookingConfig9 = state.bookingConfig) === null || _state$bookingConfig9 === void 0 ? void 0 : (_state$bookingConfig10 = _state$bookingConfig9.config) === null || _state$bookingConfig10 === void 0 ? void 0 : (_state$bookingConfig11 = _state$bookingConfig10.basic) === null || _state$bookingConfig11 === void 0 ? void 0 : (_state$bookingConfig12 = _state$bookingConfig11.service_time) === null || _state$bookingConfig12 === void 0 ? void 0 : _state$bookingConfig12.value, SelectTime, durationProps, timeObj, useResource, useLikeStatus, resourceLoading, selectOpen, state.service.resources, errorList, useTotal, useStartDate, useEndDate, showResource, holderLists]);
837
1039
  };
838
1040
  export default /*#__PURE__*/forwardRef(Info);
@@ -1,14 +1,20 @@
1
1
  .pisell-lowcode__booking-service-body-edit {
2
2
  padding: 24px 32px 100px !important;
3
- }
4
3
 
4
+ .pisell-lowcode__booking-service-select-date {
5
+ height: 40px;
6
+ .pisell-lowcode-picker-input > input {
7
+ font-size: 16px !important;
8
+ }
9
+ }
10
+ }
5
11
 
6
12
  .pisell-lowcode__booking-service-body-edit-footer {
7
13
  position: absolute;
8
14
  bottom: 0;
9
15
  left: 0;
10
16
  width: 100%;
11
- border-top: 1px solid #E7E8E9;
17
+ border-top: 1px solid #e7e8e9;
12
18
  padding: 20px 32px;
13
19
  display: flex;
14
20
  align-items: center;
@@ -20,8 +26,8 @@
20
26
  height: 48px;
21
27
  width: 48px;
22
28
  border-radius: 8px;
23
- border: 1px solid var(--gray-300, #D0D5DD);
24
- background: var(--base-white, #FFF);
29
+ border: 1px solid var(--gray-300, #d0d5dd);
30
+ background: var(--base-white, #fff);
25
31
  box-shadow: 0px 1px 2px 0px rgba(16, 24, 40, 0.05);
26
32
  cursor: pointer;
27
33
  display: flex;
@@ -29,7 +35,7 @@
29
35
  justify-content: center;
30
36
 
31
37
  .pisell-lowcode__booking-service-delete-icon {
32
- color: #B42318;
38
+ color: #b42318;
33
39
  font-size: 20px;
34
40
  }
35
41
  }
@@ -46,14 +52,12 @@
46
52
  .pisell-lowcode-select-selection-item {
47
53
  .resource-option {
48
54
  padding-left: 0;
49
-
50
55
  }
51
56
  }
52
57
 
53
58
  .pisell-lowcode-select-item-option-content {
54
59
  .resource-option {
55
60
  padding-left: 0;
56
-
57
61
  }
58
62
  }
59
63
 
@@ -63,7 +67,7 @@
63
67
  gap: 8px;
64
68
 
65
69
  .resource-option-alert-icon {
66
- color: #B42318;
70
+ color: #b42318;
67
71
  cursor: pointer;
68
72
  }
69
73
  }
@@ -82,16 +86,16 @@
82
86
  justify-content: center;
83
87
  padding: 0;
84
88
 
85
- .like-resource {}
89
+ .like-resource {
90
+ }
86
91
  }
87
-
88
92
  }
89
93
 
90
94
  .current-service-info {
91
95
  min-height: 40px;
92
96
  cursor: pointer;
93
97
  background-color: #ffffff;
94
- border: 1px solid #D0D5DD;
98
+ border: 1px solid #d0d5dd;
95
99
  border-radius: 10px;
96
100
  transition: all 0.2s cubic-bezier(0.645, 0.045, 0.355, 1);
97
101
  overflow: hidden;
@@ -109,10 +113,11 @@
109
113
  flex: 1;
110
114
  }
111
115
 
112
- .current-service-info-change-btn {}
116
+ .current-service-info-change-btn {
117
+ }
113
118
  }
114
119
 
115
120
  &:hover {
116
121
  border-color: #7f56d9;
117
122
  }
118
- }
123
+ }
@@ -0,0 +1,3 @@
1
+ import React from 'react';
2
+ declare const Lists: ({ onEdit, onChange }: any) => React.JSX.Element;
3
+ export default Lists;