@pisell/private-materials 3.0.195 → 3.0.197

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 (196) 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 +7 -7
  7. package/build/lowcode/render/default/view.css +1 -1
  8. package/build/lowcode/render/default/view.js +10 -10
  9. package/build/lowcode/view.css +1 -1
  10. package/build/lowcode/view.js +11 -11
  11. package/es/components/booking/components/customSelect/index.d.ts +1 -0
  12. package/es/components/booking/components/customSelect/index.js +6 -2
  13. package/es/components/booking/components/footer/AppointmentProductModal/index.d.ts +3 -0
  14. package/es/components/booking/components/footer/AppointmentProductModal/index.js +37 -0
  15. package/es/components/booking/components/footer/AppointmentProductModal/index.less +0 -0
  16. package/es/components/booking/components/footer/amount.js +45 -22
  17. package/es/components/booking/components/footer/index.js +84 -40
  18. package/es/components/booking/components/footer/utils.js +218 -32
  19. package/es/components/booking/info/addServiceVariant/index.js +8 -1
  20. package/es/components/booking/info/clientVariant/vertical/SelectDrawer.d.ts +1 -0
  21. package/es/components/booking/info/clientVariant/vertical/SelectDrawer.js +14 -13
  22. package/es/components/booking/info/clientVariant/vertical/index.js +33 -4
  23. package/es/components/booking/info/dateRange/index.d.ts +5 -0
  24. package/es/components/booking/info/dateRange/index.js +98 -0
  25. package/es/components/booking/info/dateRange/index.less +21 -0
  26. package/es/components/booking/info/main.js +20 -8
  27. package/es/components/booking/info/model.js +3 -0
  28. package/es/components/booking/info/pet/ChangePetModal/index.d.ts +4 -0
  29. package/es/components/booking/info/pet/ChangePetModal/index.js +118 -0
  30. package/es/components/booking/info/pet/ChangePetModal/index.less +4 -0
  31. package/es/components/booking/info/pet/index.js +54 -5
  32. package/es/components/booking/info/service/addService/index.js +127 -20
  33. package/es/components/booking/info/service/addService/index.less +13 -3
  34. package/es/components/booking/info/service/addService/utils.d.ts +11 -2
  35. package/es/components/booking/info/service/addService/utils.js +49 -24
  36. package/es/components/booking/info/service/editService/index.js +232 -41
  37. package/es/components/booking/info/service/editService/index.less +18 -13
  38. package/es/components/booking/info/service2/Lists.d.ts +3 -0
  39. package/es/components/booking/info/service2/Lists.js +158 -0
  40. package/es/components/booking/info/service2/hooks/useSelectPet.d.ts +6 -0
  41. package/es/components/booking/info/service2/hooks/useSelectPet.js +54 -0
  42. package/es/components/booking/info/service2/index.d.ts +3 -0
  43. package/es/components/booking/info/service2/index.js +58 -0
  44. package/es/components/booking/info/service2/status.d.ts +31 -0
  45. package/es/components/booking/info/service2/status.js +78 -0
  46. package/es/components/booking/info/service2/utils.d.ts +145 -0
  47. package/es/components/booking/info/service2/utils.js +436 -0
  48. package/es/components/booking/info/utils.d.ts +9 -0
  49. package/es/components/booking/info/utils.js +13 -0
  50. package/es/components/booking/locales.d.ts +60 -0
  51. package/es/components/booking/locales.js +75 -3
  52. package/es/components/booking/materiels/holder/index.d.ts +7 -0
  53. package/es/components/booking/materiels/holder/index.js +51 -0
  54. package/es/components/booking/model.d.ts +4 -1
  55. package/es/components/booking/model.js +4 -2
  56. package/es/components/booking/utils.d.ts +12 -3
  57. package/es/components/booking/utils.js +126 -22
  58. package/es/components/eftpos/form/index.js +6 -12
  59. package/es/components/eftpos/group/index.d.ts +2 -1
  60. package/es/components/eftpos/group/index.js +2 -1
  61. package/es/components/eftpos/index.js +2 -2
  62. package/es/components/eftposPay/helper.d.ts +0 -1
  63. package/es/components/eftposPay/helper.js +0 -14
  64. package/es/components/eftposPay/tyro/index.js +20 -51
  65. package/es/components/shoppingCart/Provider.d.ts +3 -0
  66. package/es/components/shoppingCart/Provider.js +86 -0
  67. package/es/components/shoppingCart/components/Cart/Product.d.ts +4 -0
  68. package/es/components/shoppingCart/components/Cart/Product.js +96 -0
  69. package/es/components/shoppingCart/components/Cart/index.d.ts +4 -0
  70. package/es/components/shoppingCart/components/Cart/index.js +72 -0
  71. package/es/components/shoppingCart/components/Cart/index.less +68 -0
  72. package/es/components/shoppingCart/components/Empty/index.d.ts +4 -0
  73. package/es/components/shoppingCart/components/Empty/index.js +14 -0
  74. package/es/components/shoppingCart/components/Empty/index.less +19 -0
  75. package/es/components/shoppingCart/components/Render/index.d.ts +4 -0
  76. package/es/components/shoppingCart/components/Render/index.js +68 -0
  77. package/es/components/shoppingCart/components/Render/index.less +2 -0
  78. package/es/components/shoppingCart/components/SelectHolderModal/index.d.ts +4 -0
  79. package/es/components/shoppingCart/components/SelectHolderModal/index.js +124 -0
  80. package/es/components/shoppingCart/components/SelectHolderModal/index.less +32 -0
  81. package/es/components/shoppingCart/hooks/useAddService.d.ts +3 -0
  82. package/es/components/shoppingCart/hooks/useAddService.js +23 -0
  83. package/es/components/shoppingCart/hooks/useClearCart.d.ts +3 -0
  84. package/es/components/shoppingCart/hooks/useClearCart.js +54 -0
  85. package/es/components/shoppingCart/hooks/useContext.d.ts +1 -0
  86. package/es/components/shoppingCart/hooks/useContext.js +5 -0
  87. package/es/components/shoppingCart/index.d.ts +4 -0
  88. package/es/components/shoppingCart/index.js +24 -0
  89. package/es/components/shoppingCart/locales.d.ts +33 -0
  90. package/es/components/shoppingCart/locales.js +38 -0
  91. package/es/components/shoppingCart/mock.d.ts +40 -0
  92. package/es/components/shoppingCart/mock.js +40 -0
  93. package/es/components/shoppingCart/status.d.ts +2 -0
  94. package/es/components/shoppingCart/status.js +22 -0
  95. package/es/components/shoppingCart/type.d.ts +39 -0
  96. package/es/components/shoppingCart/type.js +1 -0
  97. package/es/components/shoppingCart/utils.d.ts +63 -0
  98. package/es/components/shoppingCart/utils.js +119 -0
  99. package/es/index.d.ts +1 -0
  100. package/es/index.js +2 -1
  101. package/lib/components/booking/components/customSelect/index.d.ts +1 -0
  102. package/lib/components/booking/components/customSelect/index.js +6 -2
  103. package/lib/components/booking/components/footer/AppointmentProductModal/index.d.ts +3 -0
  104. package/lib/components/booking/components/footer/AppointmentProductModal/index.js +59 -0
  105. package/lib/components/booking/components/footer/AppointmentProductModal/index.less +0 -0
  106. package/lib/components/booking/components/footer/amount.js +26 -8
  107. package/lib/components/booking/components/footer/index.js +25 -4
  108. package/lib/components/booking/components/footer/utils.js +144 -31
  109. package/lib/components/booking/info/addServiceVariant/index.js +5 -0
  110. package/lib/components/booking/info/clientVariant/vertical/SelectDrawer.d.ts +1 -0
  111. package/lib/components/booking/info/clientVariant/vertical/SelectDrawer.js +8 -7
  112. package/lib/components/booking/info/clientVariant/vertical/index.js +36 -10
  113. package/lib/components/booking/info/dateRange/index.d.ts +5 -0
  114. package/lib/components/booking/info/dateRange/index.js +111 -0
  115. package/lib/components/booking/info/dateRange/index.less +21 -0
  116. package/lib/components/booking/info/main.js +11 -4
  117. package/lib/components/booking/info/model.js +3 -0
  118. package/lib/components/booking/info/pet/ChangePetModal/index.d.ts +4 -0
  119. package/lib/components/booking/info/pet/ChangePetModal/index.js +110 -0
  120. package/lib/components/booking/info/pet/ChangePetModal/index.less +4 -0
  121. package/lib/components/booking/info/pet/index.js +61 -25
  122. package/lib/components/booking/info/service/addService/index.js +95 -28
  123. package/lib/components/booking/info/service/addService/index.less +13 -3
  124. package/lib/components/booking/info/service/addService/utils.d.ts +11 -2
  125. package/lib/components/booking/info/service/addService/utils.js +31 -10
  126. package/lib/components/booking/info/service/editService/index.js +271 -122
  127. package/lib/components/booking/info/service/editService/index.less +18 -13
  128. package/lib/components/booking/info/service2/Lists.d.ts +3 -0
  129. package/lib/components/booking/info/service2/Lists.js +113 -0
  130. package/lib/components/booking/info/service2/hooks/useSelectPet.d.ts +6 -0
  131. package/lib/components/booking/info/service2/hooks/useSelectPet.js +50 -0
  132. package/lib/components/booking/info/service2/index.d.ts +3 -0
  133. package/lib/components/booking/info/service2/index.js +75 -0
  134. package/lib/components/booking/info/service2/status.d.ts +31 -0
  135. package/lib/components/booking/info/service2/status.js +81 -0
  136. package/lib/components/booking/info/service2/utils.d.ts +145 -0
  137. package/lib/components/booking/info/service2/utils.js +320 -0
  138. package/lib/components/booking/info/utils.d.ts +9 -0
  139. package/lib/components/booking/info/utils.js +6 -0
  140. package/lib/components/booking/locales.d.ts +60 -0
  141. package/lib/components/booking/locales.js +63 -3
  142. package/lib/components/booking/materiels/holder/index.d.ts +7 -0
  143. package/lib/components/booking/materiels/holder/index.js +65 -0
  144. package/lib/components/booking/model.d.ts +4 -1
  145. package/lib/components/booking/model.js +4 -2
  146. package/lib/components/booking/utils.d.ts +12 -3
  147. package/lib/components/booking/utils.js +79 -15
  148. package/lib/components/eftpos/form/index.js +6 -12
  149. package/lib/components/eftpos/group/index.d.ts +2 -1
  150. package/lib/components/eftpos/group/index.js +1 -0
  151. package/lib/components/eftpos/index.js +2 -2
  152. package/lib/components/eftposPay/helper.d.ts +0 -1
  153. package/lib/components/eftposPay/helper.js +0 -21
  154. package/lib/components/eftposPay/tyro/index.js +7 -36
  155. package/lib/components/shoppingCart/Provider.d.ts +3 -0
  156. package/lib/components/shoppingCart/Provider.js +110 -0
  157. package/lib/components/shoppingCart/components/Cart/Product.d.ts +4 -0
  158. package/lib/components/shoppingCart/components/Cart/Product.js +89 -0
  159. package/lib/components/shoppingCart/components/Cart/index.d.ts +4 -0
  160. package/lib/components/shoppingCart/components/Cart/index.js +77 -0
  161. package/lib/components/shoppingCart/components/Cart/index.less +68 -0
  162. package/lib/components/shoppingCart/components/Empty/index.d.ts +4 -0
  163. package/lib/components/shoppingCart/components/Empty/index.js +43 -0
  164. package/lib/components/shoppingCart/components/Empty/index.less +19 -0
  165. package/lib/components/shoppingCart/components/Render/index.d.ts +4 -0
  166. package/lib/components/shoppingCart/components/Render/index.js +79 -0
  167. package/lib/components/shoppingCart/components/Render/index.less +2 -0
  168. package/lib/components/shoppingCart/components/SelectHolderModal/index.d.ts +4 -0
  169. package/lib/components/shoppingCart/components/SelectHolderModal/index.js +116 -0
  170. package/lib/components/shoppingCart/components/SelectHolderModal/index.less +32 -0
  171. package/lib/components/shoppingCart/hooks/useAddService.d.ts +3 -0
  172. package/lib/components/shoppingCart/hooks/useAddService.js +55 -0
  173. package/lib/components/shoppingCart/hooks/useClearCart.d.ts +3 -0
  174. package/lib/components/shoppingCart/hooks/useClearCart.js +71 -0
  175. package/lib/components/shoppingCart/hooks/useContext.d.ts +1 -0
  176. package/lib/components/shoppingCart/hooks/useContext.js +31 -0
  177. package/lib/components/shoppingCart/index.d.ts +4 -0
  178. package/lib/components/shoppingCart/index.js +60 -0
  179. package/lib/components/shoppingCart/locales.d.ts +33 -0
  180. package/lib/components/shoppingCart/locales.js +56 -0
  181. package/lib/components/shoppingCart/mock.d.ts +40 -0
  182. package/lib/components/shoppingCart/mock.js +76 -0
  183. package/lib/components/shoppingCart/status.d.ts +2 -0
  184. package/lib/components/shoppingCart/status.js +60 -0
  185. package/lib/components/shoppingCart/type.d.ts +39 -0
  186. package/lib/components/shoppingCart/type.js +17 -0
  187. package/lib/components/shoppingCart/utils.d.ts +63 -0
  188. package/lib/components/shoppingCart/utils.js +92 -0
  189. package/lib/index.d.ts +1 -0
  190. package/lib/index.js +3 -0
  191. package/lowcode/shopping-cart/meta.ts +98 -0
  192. package/package.json +5 -5
  193. package/es/components/eftpos/receipt/index.d.ts +0 -24
  194. package/es/components/eftpos/receipt/index.js +0 -96
  195. package/lib/components/eftpos/receipt/index.d.ts +0 -24
  196. 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: 编辑商品
@@ -659,6 +726,89 @@ var Info = function Info(_, ref) {
659
726
  };
660
727
  });
661
728
  var SelectTime = (_window$BaseMaterials = window.BaseMaterials) === null || _window$BaseMaterials === void 0 ? void 0 : _window$BaseMaterials.SelectTime;
729
+
730
+ /**
731
+ * @title: 日期组件
732
+ * @description:
733
+ * @return {*}
734
+ * @Author: WangHan
735
+ * @Date: 2024-11-30 22:22
736
+ */
737
+ var DateCom = function DateCom(position) {
738
+ return /*#__PURE__*/React.createElement(DatePicker, {
739
+ className: "pisell-lowcode__booking-service-select-date",
740
+ disabledDate: function disabledDate(current) {
741
+ return _disabledDate(current, position, useStartDate);
742
+ },
743
+ size: "large",
744
+ style: {
745
+ width: '100%'
746
+ },
747
+ format: state.locale === 'en' ? 'DD/MM/YYYY' : 'YYYY-MM-DD'
748
+ });
749
+ };
750
+
751
+ /**
752
+ * @title: 表单更新
753
+ * @description:
754
+ * @param {any} changedValues
755
+ * @return {*}
756
+ * @Author: WangHan
757
+ * @Date: 2024-12-04 14:39
758
+ */
759
+ var onValuesChange = function onValuesChange(changedValues) {
760
+ // 跨日预约
761
+ if (isDay) {
762
+ // 根据时长更新结束时间
763
+ if (changedValues !== null && changedValues !== void 0 && changedValues.duration) {
764
+ return form.setFieldsValue({
765
+ end_date: dayjs(useStartDate).add(changedValues === null || changedValues === void 0 ? void 0 : changedValues.duration, 'day')
766
+ });
767
+ }
768
+
769
+ // 验证结束日期
770
+ if (changedValues !== null && changedValues !== void 0 && changedValues.start_date) {
771
+ var startDate = dayjs(changedValues === null || changedValues === void 0 ? void 0 : changedValues.start_date);
772
+ var endDate = dayjs(useEndDate);
773
+ // 如果开始日期大于结束日期,则清空数据
774
+ if (startDate.isAfter(endDate)) {
775
+ return form.setFieldsValue({
776
+ duration: undefined,
777
+ end_date: undefined
778
+ });
779
+ }
780
+ }
781
+
782
+ // 计算时长
783
+ if (changedValues !== null && changedValues !== void 0 && changedValues.start_date || changedValues !== null && changedValues !== void 0 && changedValues.end_date) {
784
+ var _cacheItem2 = getCurrentCacheItem();
785
+ var duration = getDays(_cacheItem2, 'days');
786
+ return form.setFieldsValue({
787
+ duration: duration
788
+ });
789
+ }
790
+ }
791
+ };
792
+
793
+ /**
794
+ * @title: 是否显示资源和时长
795
+ * @description:
796
+ * @param {*} useMemo
797
+ * @return {*}
798
+ * @Author: WangHan
799
+ * @Date: 2024-12-09 15:59
800
+ */
801
+ var showResource = useMemo(function () {
802
+ if (state.renderType === 'eventBooking') {
803
+ return false;
804
+ }
805
+
806
+ // 跨日预约
807
+ if (isDay) {
808
+ return isAppointment(state.service.cacheItem, state);
809
+ }
810
+ return true;
811
+ }, [state.service.cacheItem, state.renderType]);
662
812
  return useMemo(function () {
663
813
  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
814
  return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(Drawer
@@ -668,7 +818,7 @@ var Info = function Info(_, ref) {
668
818
  zIndex: state.service.changeService ? 999 : 1000,
669
819
  forceRender: true,
670
820
  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'),
821
+ title: isDay ? locales.getText('pisell2.text.edit-select-service') : locales.getText('pisell2.text.edit-service'),
672
822
  onClose: function onClose() {
673
823
  dispatch({
674
824
  type: 'setService',
@@ -684,7 +834,8 @@ var Info = function Info(_, ref) {
684
834
  }, /*#__PURE__*/React.createElement(Page, null, /*#__PURE__*/React.createElement(Form, {
685
835
  layout: "vertical",
686
836
  form: form,
687
- onFinish: onFinish
837
+ onFinish: onFinish,
838
+ onValuesChange: onValuesChange
688
839
  }, /*#__PURE__*/React.createElement(Row, {
689
840
  style: {
690
841
  width: '100%'
@@ -702,7 +853,7 @@ var Info = function Info(_, ref) {
702
853
  className: "current-service-info-name"
703
854
  }, ((_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
855
  onClick: handleEdit
705
- }, locales.getText('pisell2.text.edit')), !state.isBookingCreatePage && /*#__PURE__*/React.createElement(Button, {
856
+ }, locales.getText('pisell2.text.edit')), !isTerminalBooking && /*#__PURE__*/React.createElement(Button, {
706
857
  onClick: handleChange
707
858
  }, locales.getText('pisell2.text.change'))), /*#__PURE__*/React.createElement(CollapsibleList, {
708
859
  style: {
@@ -738,15 +889,15 @@ var Info = function Info(_, ref) {
738
889
  name: "discount_reason"
739
890
  }, /*#__PURE__*/React.createElement(Input.TextArea, {
740
891
  size: "large"
741
- }))) : null, state.renderType !== 'eventBooking' && /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(Col, {
892
+ }))) : null, showResource && /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(Col, {
742
893
  span: 12
743
894
  }, /*#__PURE__*/React.createElement(Form.Item, {
744
- label: locales.getText('pisell2.text.start_time'),
745
- name: "start_time",
895
+ label: locales.getText(isDay ? 'pisell2.text.start_date' : 'pisell2.text.start_time'),
896
+ name: isDay ? 'start_date' : 'start_time',
746
897
  rules: [{
747
898
  required: true
748
899
  }]
749
- }, SelectTime ? /*#__PURE__*/React.createElement(SelectTime, {
900
+ }, isDay ? DateCom('start') : SelectTime ? /*#__PURE__*/React.createElement(SelectTime, {
750
901
  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
902
  timePickerProps: {
752
903
  style: {
@@ -758,7 +909,15 @@ var Info = function Info(_, ref) {
758
909
  zoom: 0.8
759
910
  }
760
911
  }
761
- }) : null)), /*#__PURE__*/React.createElement(Col, {
912
+ }) : null)), isDay ? /*#__PURE__*/React.createElement(Col, {
913
+ span: 12
914
+ }, /*#__PURE__*/React.createElement(Form.Item, {
915
+ label: locales.getText(isDay ? 'pisell2.text.end_date' : 'pisell2.text.end_time'),
916
+ name: "end_date",
917
+ rules: [{
918
+ required: true
919
+ }]
920
+ }, DateCom('end'))) : null, /*#__PURE__*/React.createElement(Col, {
762
921
  span: 12
763
922
  }, /*#__PURE__*/React.createElement(Form.Item, {
764
923
  label: locales.getText('pisell2.text.duration'),
@@ -768,7 +927,17 @@ var Info = function Info(_, ref) {
768
927
  }]
769
928
  }, /*#__PURE__*/React.createElement(Duration, _extends({}, durationProps, {
770
929
  timeObj: timeObj
771
- })))), /*#__PURE__*/React.createElement(Col, {
930
+ })))), isDay && (holderLists === null || holderLists === void 0 ? void 0 : holderLists.length) > 0 ? /*#__PURE__*/React.createElement(Col, {
931
+ span: 12
932
+ }, /*#__PURE__*/React.createElement(Form.Item, {
933
+ label: locales.getText('pisell2.text.holder'),
934
+ name: "holder_id",
935
+ rules: [{
936
+ required: true
937
+ }]
938
+ }, /*#__PURE__*/React.createElement(Holder, {
939
+ size: "large"
940
+ }))) : null, /*#__PURE__*/React.createElement(Col, {
772
941
  span: 24
773
942
  }, /*#__PURE__*/React.createElement(Form.Item, {
774
943
  required: true,
@@ -808,7 +977,29 @@ var Info = function Info(_, ref) {
808
977
  }, /*#__PURE__*/React.createElement(InputNumber, null)), /*#__PURE__*/React.createElement(Form.Item, {
809
978
  hidden: true,
810
979
  name: "like_status"
811
- }, /*#__PURE__*/React.createElement(Input, null)))))), state.renderType !== 'eventBooking' && errorList.map(function (d, i) {
980
+ }, /*#__PURE__*/React.createElement(Input, null))), isDay && !isAppointment(state.service.cacheItem, state) ? /*#__PURE__*/React.createElement(Col, {
981
+ span: 24
982
+ }, /*#__PURE__*/React.createElement(Form.Item, {
983
+ label: locales.getText('pisell2.text.quantity'),
984
+ name: "quantity",
985
+ rules: [{
986
+ required: true
987
+ }]
988
+ }, /*#__PURE__*/React.createElement(InputNumber, {
989
+ size: "large",
990
+ style: {
991
+ width: '100%'
992
+ },
993
+ min: 1,
994
+ max: 999999,
995
+ formatter: function formatter(value) {
996
+ if (value !== undefined) {
997
+ // 向下取整
998
+ return Math.floor(value);
999
+ }
1000
+ return value;
1001
+ }
1002
+ }))) : null))), showResource && errorList.map(function (d, i) {
812
1003
  return /*#__PURE__*/React.createElement(Alert, {
813
1004
  key: d.type,
814
1005
  message: d.label,
@@ -833,6 +1024,6 @@ var Info = function Info(_, ref) {
833
1024
  form.submit();
834
1025
  }
835
1026
  }, 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]);
1027
+ }, [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
1028
  };
838
1029
  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;