@pisell/private-materials 3.4.8 → 3.4.10

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 (78) 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/meta.js +1 -1
  5. package/build/lowcode/render/default/view.js +4 -4
  6. package/build/lowcode/view.js +4 -4
  7. package/es/components/booking/components/customSelect/index.js +1 -0
  8. package/es/components/booking/forms/single/RenderValueById.js +2 -2
  9. package/es/components/booking/hooks/useClearCart.js +11 -8
  10. package/es/components/booking/hooks/useQuotation.js +1 -1
  11. package/es/components/booking/info/client/index.js +3 -2
  12. package/es/components/booking/info/dateRange/index.d.ts +1 -0
  13. package/es/components/booking/info/hooks/useInfoHolder.d.ts +1 -0
  14. package/es/components/booking/info/hooks/useInfoHolder.js +16 -9
  15. package/es/components/booking/info/service/Lists.d.ts +1 -0
  16. package/es/components/booking/info/service/Lists.js +36 -26
  17. package/es/components/booking/info/service/addService/utils.d.ts +1 -1
  18. package/es/components/booking/info/service/editService/BookingList/index.d.ts +1 -0
  19. package/es/components/booking/info/service2/Lists.d.ts +1 -0
  20. package/es/components/booking/info/service2/utils.js +20 -21
  21. package/es/components/booking/info/utils.js +1 -1
  22. package/es/components/booking/info2/index.js +1 -0
  23. package/es/components/booking/info2/service/addService/utils.d.ts +1 -1
  24. package/es/components/booking/info2/service/addService/utils.js +8 -4
  25. package/es/components/booking/info2/service/addTimeModal/index.js +3 -0
  26. package/es/components/booking/info2/service/editService/Resources/index.js +5 -0
  27. package/es/components/booking/info2/service/editService/index.js +266 -170
  28. package/es/components/booking/info2/service/index.js +19 -15
  29. package/es/components/booking/info2/utilsByBooking.js +3 -2
  30. package/es/components/booking/materiels/duration/index.js +9 -2
  31. package/es/components/booking/materiels/holder/index.d.ts +1 -0
  32. package/es/components/booking/materiels/startTime/index.d.ts +1 -0
  33. package/es/components/booking/materiels/startTime/index.js +2 -2
  34. package/es/components/booking/utils.js +3 -3
  35. package/es/components/schedules/components/CurrentDay/index.d.ts +1 -0
  36. package/es/components/schedules/products/index.d.ts +1 -0
  37. package/es/components/shoppingCart/components/Cart/Product.js +48 -41
  38. package/es/components/shoppingCart/components/Cart/index.js +21 -18
  39. package/es/components/ticketBooking/components/addServiceVariant/addService.js +249 -158
  40. package/es/components/ticketBooking/components/timeBar/index.js +78 -71
  41. package/es/components/ticketBooking/utils/index.d.ts +2 -0
  42. package/es/components/ticketBooking/utils/index.js +18 -1
  43. package/lib/components/booking/components/customSelect/index.js +1 -0
  44. package/lib/components/booking/forms/single/RenderValueById.js +6 -6
  45. package/lib/components/booking/hooks/useClearCart.js +16 -13
  46. package/lib/components/booking/hooks/useQuotation.js +1 -1
  47. package/lib/components/booking/info/client/index.js +5 -4
  48. package/lib/components/booking/info/dateRange/index.d.ts +1 -0
  49. package/lib/components/booking/info/hooks/useInfoHolder.d.ts +1 -0
  50. package/lib/components/booking/info/hooks/useInfoHolder.js +10 -9
  51. package/lib/components/booking/info/service/Lists.d.ts +1 -0
  52. package/lib/components/booking/info/service/Lists.js +35 -23
  53. package/lib/components/booking/info/service/addService/utils.d.ts +1 -1
  54. package/lib/components/booking/info/service/editService/BookingList/index.d.ts +1 -0
  55. package/lib/components/booking/info/service2/Lists.d.ts +1 -0
  56. package/lib/components/booking/info/service2/utils.js +17 -17
  57. package/lib/components/booking/info/utils.js +2 -1
  58. package/lib/components/booking/info2/service/addService/utils.d.ts +1 -1
  59. package/lib/components/booking/info2/service/addService/utils.js +7 -5
  60. package/lib/components/booking/info2/service/addTimeModal/index.js +3 -0
  61. package/lib/components/booking/info2/service/editService/Resources/index.js +2 -0
  62. package/lib/components/booking/info2/service/editService/index.js +139 -74
  63. package/lib/components/booking/info2/service/index.js +13 -9
  64. package/lib/components/booking/info2/utilsByBooking.js +4 -4
  65. package/lib/components/booking/materiels/duration/index.js +7 -2
  66. package/lib/components/booking/materiels/holder/index.d.ts +1 -0
  67. package/lib/components/booking/materiels/startTime/index.d.ts +1 -0
  68. package/lib/components/booking/materiels/startTime/index.js +1 -1
  69. package/lib/components/booking/utils.js +3 -3
  70. package/lib/components/schedules/components/CurrentDay/index.d.ts +1 -0
  71. package/lib/components/schedules/products/index.d.ts +1 -0
  72. package/lib/components/shoppingCart/components/Cart/Product.js +31 -21
  73. package/lib/components/shoppingCart/components/Cart/index.js +18 -15
  74. package/lib/components/ticketBooking/components/addServiceVariant/addService.js +196 -127
  75. package/lib/components/ticketBooking/components/timeBar/index.js +95 -88
  76. package/lib/components/ticketBooking/utils/index.d.ts +2 -0
  77. package/lib/components/ticketBooking/utils/index.js +22 -0
  78. package/package.json +4 -4
@@ -15,7 +15,7 @@ function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o =
15
15
  function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
16
16
  function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t.return && (u = t.return(), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }
17
17
  function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
18
- import React, { useContext, useEffect, useMemo, useImperativeHandle, forwardRef, useRef } from 'react';
18
+ import React, { useContext, useEffect, useMemo, useState, useImperativeHandle, forwardRef, useRef } from 'react';
19
19
  import Delete_wght300_24px from '@pisell/icon/es/Delete_wght300_24px';
20
20
  import Drawer from "../../../components/drawer";
21
21
  import { Context } from "../../../info/model";
@@ -27,7 +27,7 @@ import { Input, Button, Row, Col, Form, InputNumber } from 'antd';
27
27
  import "./index.less";
28
28
  import CollapsibleList from "../../../components/collapsibleList";
29
29
  import { renderBundles } from "../../../components/collapsibleList/utils";
30
- import { useUpdateEffect, useMemoizedFn } from 'ahooks';
30
+ import { useUpdateEffect, useMemoizedFn, useDebounceFn } from 'ahooks';
31
31
  // import SelectTime from "../../../../../../../materials/src/components/select-time";
32
32
  import { getServiceTimes, deleteCacheParams, getProductTotalPrice, isSessionProduct } from "../../../utils";
33
33
  import { getErrorList } from "../../utilsByBooking";
@@ -38,7 +38,7 @@ import { isNormalProductByDurationSchedule } from "../../../info/service2/utils"
38
38
  import { addService, genServiceKey, getIsShowNumber } from "../../../../ticketBooking/utils";
39
39
  var submitLock = false;
40
40
  var Info = function Info(_, ref) {
41
- var _state$service3, _state$bookingConfig2, _state$service$cacheI4, _state$service$cacheI5, _state$service6, _state$service8, _window$BaseMaterials, _state$service$cacheI6, _state$service9, _state$service$cacheI7, _state$service$cacheI8, _state$service$cacheI9, _state$service$cacheI10, _state$bookingConfig3, _state$service$resour;
41
+ var _state$service4, _state$bookingConfig2, _state$bookingConfig3, _state$service$cacheI4, _state$service$cacheI5, _state$service6, _window$BaseMaterials, _state$service8, _state$service$cacheI10, _state$bookingConfig5, _state$service$cacheI11, _state$service$cacheI12, _state$service9, _state$service$resour2, _state$service$cacheI13, _state$service$cacheI14;
42
42
  var _Form$useForm = Form.useForm(),
43
43
  _Form$useForm2 = _slicedToArray(_Form$useForm, 1),
44
44
  form = _Form$useForm2[0];
@@ -52,19 +52,22 @@ var Info = function Info(_, ref) {
52
52
  var resourcesRef = useRef(null);
53
53
  var isChangeTotal = useRef(false);
54
54
  var isNormalProduct = useMemo(function () {
55
- var _state$service, _state$service2;
56
- return (state === null || state === void 0 || (_state$service = state.service) === null || _state$service === void 0 ? void 0 : _state$service.cacheItem) && isNormalProductByDurationSchedule(state === null || state === void 0 || (_state$service2 = state.service) === null || _state$service2 === void 0 ? void 0 : _state$service2.cacheItem);
57
- }, [state === null || state === void 0 || (_state$service3 = state.service) === null || _state$service3 === void 0 ? void 0 : _state$service3.cacheItem]);
55
+ var _state$service, _state$service2, _state$service3;
56
+ if (!(state !== null && state !== void 0 && (_state$service = state.service) !== null && _state$service !== void 0 && _state$service.cacheItem)) {
57
+ return true;
58
+ }
59
+ return (state === null || state === void 0 || (_state$service2 = state.service) === null || _state$service2 === void 0 ? void 0 : _state$service2.cacheItem) && isNormalProductByDurationSchedule(state === null || state === void 0 || (_state$service3 = state.service) === null || _state$service3 === void 0 ? void 0 : _state$service3.cacheItem);
60
+ }, [state === null || state === void 0 || (_state$service4 = state.service) === null || _state$service4 === void 0 ? void 0 : _state$service4.cacheItem]);
58
61
 
59
62
  // 当前商品信息+ 表单信息
60
- var getCurrentCacheItem = function getCurrentCacheItem(_cacheItem) {
63
+ var getCurrentCacheItem = useMemoizedFn(function (_cacheItem) {
61
64
  // 获取当前表单数据
62
65
  var values = form.getFieldsValue();
63
66
  var _item = _cacheItem || state.service.cacheItem;
64
67
  return _objectSpread(_objectSpread({}, _item), {}, {
65
68
  _extend: _objectSpread(_objectSpread({}, _item === null || _item === void 0 ? void 0 : _item._extend), values)
66
69
  });
67
- };
70
+ });
68
71
 
69
72
  /**
70
73
  * @title: 当前的资源
@@ -78,7 +81,7 @@ var Info = function Info(_, ref) {
78
81
  // let item =
79
82
  // resources.find((d: any) => d.form_record_id == useResource) || {};
80
83
  return null;
81
- }, [useResource]);
84
+ }, []);
82
85
 
83
86
  /**
84
87
  * @title: 持续时长组件的props
@@ -91,13 +94,16 @@ var Info = function Info(_, ref) {
91
94
  var durationProps = useMemo(function () {
92
95
  var _state$bookingConfig;
93
96
  var _cacheItem = getCurrentCacheItem();
94
- return getDurationProps({
97
+ var val = getDurationProps({
95
98
  cacheItem: _cacheItem,
96
99
  useStartTime: useStartTime,
97
- currentResource: currentResource,
100
+ // currentResource,
98
101
  slice: (_state$bookingConfig = state.bookingConfig) === null || _state$bookingConfig === void 0 || (_state$bookingConfig = _state$bookingConfig.config) === null || _state$bookingConfig === void 0 || (_state$bookingConfig = _state$bookingConfig.basic) === null || _state$bookingConfig === void 0 ? void 0 : _state$bookingConfig.service_time
99
102
  });
100
- }, [currentResource, state.service.cacheItem, useStartTime, useResource, (_state$bookingConfig2 = state.bookingConfig) === null || _state$bookingConfig2 === void 0 || (_state$bookingConfig2 = _state$bookingConfig2.config) === null || _state$bookingConfig2 === void 0 || (_state$bookingConfig2 = _state$bookingConfig2.basic) === null || _state$bookingConfig2 === void 0 ? void 0 : _state$bookingConfig2.service_time]);
103
+ return val;
104
+ }, [
105
+ // currentResource,
106
+ state.service.cacheItem, useStartTime, useResource, (_state$bookingConfig2 = state.bookingConfig) === null || _state$bookingConfig2 === void 0 || (_state$bookingConfig2 = _state$bookingConfig2.config) === null || _state$bookingConfig2 === void 0 || (_state$bookingConfig2 = _state$bookingConfig2.basic) === null || _state$bookingConfig2 === void 0 ? void 0 : _state$bookingConfig2.service_time]);
101
107
 
102
108
  /**
103
109
  * @title: 灵活时长选项
@@ -108,9 +114,10 @@ var Info = function Info(_, ref) {
108
114
  * @Date: 2024-02-23 10:10
109
115
  */
110
116
  var flexibleOption = useMemo(function () {
111
- return getFlexibleOption({
117
+ var op = getFlexibleOption({
112
118
  durationProps: durationProps
113
119
  });
120
+ return op;
114
121
  }, [durationProps, locales.locale]);
115
122
 
116
123
  /**
@@ -121,14 +128,16 @@ var Info = function Info(_, ref) {
121
128
  * @Date: 2024-01-09 13:37
122
129
  */
123
130
  var timeObj = useMemo(function () {
124
- return getTimeObj({
131
+ var val = getTimeObj({
125
132
  durationProps: durationProps,
126
133
  useStartTime: useStartTime,
127
134
  currentResource: currentResource,
128
135
  state: state,
129
136
  useDuration: useDuration
130
137
  });
131
- }, [durationProps, useStartTime, currentResource, state, useDuration]);
138
+ return val;
139
+ }, [durationProps, useStartTime, currentResource, (_state$bookingConfig3 = state.bookingConfig) === null || _state$bookingConfig3 === void 0 || (_state$bookingConfig3 = _state$bookingConfig3.config) === null || _state$bookingConfig3 === void 0 || (_state$bookingConfig3 = _state$bookingConfig3.basic) === null || _state$bookingConfig3 === void 0 ? void 0 : _state$bookingConfig3.service_time, useDuration]);
140
+
132
141
  // 由于灵活时长的结束时间随时变动, 这里发现如果当前选择的值没有在列表内,则选择最新的灵活时长值
133
142
  useEffect(function () {
134
143
  try {
@@ -149,7 +158,7 @@ var Info = function Info(_, ref) {
149
158
  * @Author: zhiwei.Wang
150
159
  * @Date: 2024-01-09 13:59
151
160
  */
152
- var handleDeleteProduct = function handleDeleteProduct() {
161
+ var handleDeleteProduct = useMemoizedFn(function () {
153
162
  var _state$service$cacheI;
154
163
  if (state.channelDisabledEdit) {
155
164
  return;
@@ -168,7 +177,7 @@ var Info = function Info(_, ref) {
168
177
  cacheItem: null
169
178
  }
170
179
  });
171
- };
180
+ });
172
181
 
173
182
  /**
174
183
  * @title: 计算折扣
@@ -280,12 +289,51 @@ var Info = function Info(_, ref) {
280
289
  }
281
290
  });
282
291
  };
292
+ var _useDebounceFn = useDebounceFn(function () {
293
+ setEditData.apply(void 0, arguments);
294
+ }, {
295
+ wait: 50,
296
+ leading: true,
297
+ trailing: false
298
+ }),
299
+ setEditDataRun = _useDebounceFn.run;
283
300
  var setEditData = useMemoizedFn(function (_cacheItem, open, openProductDetail) {
284
- form.resetFields();
301
+ console.timeEnd('handleChange');
302
+ console.log('setEditDatasetEditData', _cacheItem, open);
285
303
  isChangeTotal.current = false;
286
304
  var cacheItem = _cacheItem || state.service.cacheItem;
287
305
  var values = cacheItem._extend;
306
+ var startTime = performance.now();
307
+ console.log(startTime, 'startTime');
308
+ form.resetFields();
288
309
  form.setFieldsValue(values);
310
+ // form.setFieldValue('resource', values.resource)
311
+
312
+ // values.resource[1117][0].times = [];
313
+ // values.resource[1117][0]._extend = {
314
+ // usableTime: {
315
+ // ...values.resource[1117][0]._extend.usableTime,
316
+ // event_list: []
317
+ // }
318
+ // };
319
+
320
+ // form.setFieldsValue({
321
+ // capacity: values.capacity,
322
+ // duration: values.duration,
323
+ // endDate: values.endDate,
324
+ // origin_total: values.origin_total,
325
+ // price: values.price,
326
+ // product_name: values.product_name,
327
+ // quantity: values.quantity,
328
+ // resource: values.resource,
329
+ // startDate: values.startDate,
330
+ // start_time: values.start_time,
331
+ // total: values.total,
332
+ // });
333
+ var endTime = performance.now();
334
+ console.log(endTime - window.pp1, '打开商品5');
335
+ console.log('执行时间', endTime - startTime, values);
336
+ setTimeout(function () {}, 20);
289
337
  if (openProductDetail) {
290
338
  setTimeout(function () {
291
339
  handleEdit({});
@@ -368,7 +416,7 @@ var Info = function Info(_, ref) {
368
416
  useEffect(function () {
369
417
  // 预约创建页面并且打开了编辑弹窗
370
418
  if (state.isBookingCreatePage && state.service.editModal) {
371
- setEditData(null);
419
+ setEditDataRun(null);
372
420
  }
373
421
  }, [state.service.editModal, state.isBookingCreatePage]);
374
422
 
@@ -382,17 +430,10 @@ var Info = function Info(_, ref) {
382
430
  useEffect(function () {
383
431
  getDiscount();
384
432
  }, [useTotal, (_state$service$cacheI5 = state.service.cacheItem) === null || _state$service$cacheI5 === void 0 || (_state$service$cacheI5 = _state$service$cacheI5._extend) === null || _state$service$cacheI5 === void 0 ? void 0 : _state$service$cacheI5.origin_total]);
385
- var isDiscount = useMemo(function () {
386
- var _state$service4, _state$service5;
387
- if (!((_state$service4 = state.service) !== null && _state$service4 !== void 0 && _state$service4.cacheItem)) {
388
- return false;
389
- }
390
- return useTotal != ((_state$service5 = state.service) === null || _state$service5 === void 0 || (_state$service5 = _state$service5.cacheItem) === null || _state$service5 === void 0 ? void 0 : _state$service5._extend.origin_total);
391
- }, [useTotal, (_state$service6 = state.service) === null || _state$service6 === void 0 || (_state$service6 = _state$service6.cacheItem) === null || _state$service6 === void 0 ? void 0 : _state$service6._extend.origin_total]);
392
433
  var bundles = useMemo(function () {
393
- var _state$service7;
394
- return ((_state$service7 = state.service) === null || _state$service7 === void 0 || (_state$service7 = _state$service7.cacheItem) === null || _state$service7 === void 0 || (_state$service7 = _state$service7._extend) === null || _state$service7 === void 0 || (_state$service7 = _state$service7.other) === null || _state$service7 === void 0 ? void 0 : _state$service7.bundle) || [];
395
- }, [(_state$service8 = state.service) === null || _state$service8 === void 0 || (_state$service8 = _state$service8.cacheItem) === null || _state$service8 === void 0 || (_state$service8 = _state$service8._extend) === null || _state$service8 === void 0 || (_state$service8 = _state$service8.other) === null || _state$service8 === void 0 ? void 0 : _state$service8.bundle]);
434
+ var _state$service5;
435
+ return ((_state$service5 = state.service) === null || _state$service5 === void 0 || (_state$service5 = _state$service5.cacheItem) === null || _state$service5 === void 0 || (_state$service5 = _state$service5._extend) === null || _state$service5 === void 0 || (_state$service5 = _state$service5.other) === null || _state$service5 === void 0 ? void 0 : _state$service5.bundle) || [];
436
+ }, [(_state$service6 = state.service) === null || _state$service6 === void 0 || (_state$service6 = _state$service6.cacheItem) === null || _state$service6 === void 0 || (_state$service6 = _state$service6._extend) === null || _state$service6 === void 0 || (_state$service6 = _state$service6.other) === null || _state$service6 === void 0 ? void 0 : _state$service6.bundle]);
396
437
 
397
438
  /**
398
439
  * @title: 编辑商品
@@ -402,7 +443,7 @@ var Info = function Info(_, ref) {
402
443
  * @Author: zhiwei.Wang
403
444
  * @Date: 2024-08-28 17:08
404
445
  */
405
- var handleEdit = function handleEdit(e) {
446
+ var handleEdit = useMemoizedFn(function (e) {
406
447
  var _state$client;
407
448
  // 当前商品
408
449
  var item = state.service.cacheItem;
@@ -498,7 +539,7 @@ var Info = function Info(_, ref) {
498
539
  });
499
540
  }
500
541
  });
501
- };
542
+ });
502
543
 
503
544
  /**
504
545
  * @title: 更换商品
@@ -508,7 +549,7 @@ var Info = function Info(_, ref) {
508
549
  * @Author: zhiwei.Wang
509
550
  * @Date: 2024-08-28 17:10
510
551
  */
511
- var handleChange = function handleChange(e) {
552
+ var handleChange = useMemoizedFn(function (e) {
512
553
  if (state.channelDisabledEdit) {
513
554
  return;
514
555
  }
@@ -523,10 +564,10 @@ var Info = function Info(_, ref) {
523
564
  // changeService: true,
524
565
  }
525
566
  });
526
- };
567
+ });
527
568
  useImperativeHandle(ref, function () {
528
569
  return {
529
- init: setEditData
570
+ init: setEditDataRun
530
571
  };
531
572
  });
532
573
  var handleTotalChange = function handleTotalChange(number) {
@@ -540,6 +581,195 @@ var Info = function Info(_, ref) {
540
581
  return false;
541
582
  }, [state.renderType, isNormalProduct]);
542
583
  var SelectTime = (_window$BaseMaterials = window.BaseMaterials) === null || _window$BaseMaterials === void 0 ? void 0 : _window$BaseMaterials.SelectTime;
584
+ console.log(isShowTimeAndResource, 'isShowTimeAndResource');
585
+ var productName = useMemo(function () {
586
+ var _state$service7;
587
+ return /*#__PURE__*/React.createElement(Col, {
588
+ span: 24
589
+ }, /*#__PURE__*/React.createElement(Form.Item, {
590
+ name: "product_name"
591
+ }, /*#__PURE__*/React.createElement("div", {
592
+ className: "current-service-info"
593
+ }, /*#__PURE__*/React.createElement("div", {
594
+ className: "current-service-info-name-wrap"
595
+ }, /*#__PURE__*/React.createElement("div", {
596
+ className: "current-service-info-name"
597
+ }, ((_state$service7 = state.service) === null || _state$service7 === void 0 || (_state$service7 = _state$service7.cacheItem) === null || _state$service7 === void 0 || (_state$service7 = _state$service7._extend) === null || _state$service7 === void 0 ? void 0 : _state$service7.product_name) || '-'), /*#__PURE__*/React.createElement(Button, {
598
+ onClick: handleEdit
599
+ }, locales.getText('pisell2.text.edit')), !state.isBookingCreatePage && /*#__PURE__*/React.createElement(Button, {
600
+ onClick: handleChange
601
+ }, locales.getText('pisell2.text.change'))), /*#__PURE__*/React.createElement(CollapsibleList, {
602
+ style: {
603
+ marginTop: bundles.length ? '8px' : 0
604
+ },
605
+ list: bundles,
606
+ renderItem: function renderItem(item) {
607
+ return renderBundles(item, state.amountSymbol);
608
+ }
609
+ }))));
610
+ }, [(_state$service8 = state.service) === null || _state$service8 === void 0 || (_state$service8 = _state$service8.cacheItem) === null || _state$service8 === void 0 || (_state$service8 = _state$service8._extend) === null || _state$service8 === void 0 ? void 0 : _state$service8.product_name, bundles, state.amountSymbol, state.isBookingCreatePage]);
611
+ var price = useMemo(function () {
612
+ var _state$service$cacheI6, _state$service$cacheI7, _state$service$cacheI8, _state$service$cacheI9;
613
+ return /*#__PURE__*/React.createElement(Col, {
614
+ span: 24
615
+ }, /*#__PURE__*/React.createElement(Form.Item, {
616
+ label: locales.getText('pisell2.text.price'),
617
+ name: "total",
618
+ rules: [{
619
+ required: true
620
+ }],
621
+ extra: useTotal !== ((_state$service$cacheI6 = state.service.cacheItem) === null || _state$service$cacheI6 === void 0 || (_state$service$cacheI6 = _state$service$cacheI6._extend) === null || _state$service$cacheI6 === void 0 ? void 0 : _state$service$cacheI6.origin_total) && locales.getText('page.booking.text.price-extra')(formatAmount((_state$service$cacheI7 = state.service.cacheItem) === null || _state$service$cacheI7 === void 0 || (_state$service$cacheI7 = _state$service$cacheI7._extend) === null || _state$service$cacheI7 === void 0 ? void 0 : _state$service$cacheI7.origin_total, 2, state.amountSymbol), formatAmount(useTotal, 2, state.amountSymbol))
622
+ }, /*#__PURE__*/React.createElement(PisellAdjustPriceInputNumber, {
623
+ style: {
624
+ width: '100%'
625
+ },
626
+ min: 0,
627
+ precision: 2,
628
+ prefix: state.amountSymbol,
629
+ onChange: handleTotalChange,
630
+ disabled: state.channelDisabledEdit,
631
+ originValue: ((_state$service$cacheI8 = state.service.cacheItem) === null || _state$service$cacheI8 === void 0 || (_state$service$cacheI8 = _state$service$cacheI8._extend) === null || _state$service$cacheI8 === void 0 ? void 0 : _state$service$cacheI8.origin_total) || 0,
632
+ placeholder: ((_state$service$cacheI9 = state.service.cacheItem) === null || _state$service$cacheI9 === void 0 || (_state$service$cacheI9 = _state$service$cacheI9._extend) === null || _state$service$cacheI9 === void 0 ? void 0 : _state$service$cacheI9.origin_total) || '0'
633
+ })));
634
+ }, [useTotal, (_state$service$cacheI10 = state.service.cacheItem) === null || _state$service$cacheI10 === void 0 || (_state$service$cacheI10 = _state$service$cacheI10._extend) === null || _state$service$cacheI10 === void 0 ? void 0 : _state$service$cacheI10.origin_total, state.amountSymbol, state.channelDisabledEdit]);
635
+ var reason = useMemo(function () {
636
+ return isReason ? /*#__PURE__*/React.createElement(Col, {
637
+ span: 24
638
+ }, /*#__PURE__*/React.createElement(Form.Item, {
639
+ label: locales.getText('pisell2.text.discount-reason'),
640
+ name: "discount_reason"
641
+ }, /*#__PURE__*/React.createElement(Input.TextArea, {
642
+ size: "large"
643
+ }))) : null;
644
+ }, [isReason]);
645
+ var startTime = useMemo(function () {
646
+ var _state$bookingConfig4;
647
+ return /*#__PURE__*/React.createElement(Col, {
648
+ span: 12
649
+ }, /*#__PURE__*/React.createElement(Form.Item, {
650
+ label: locales.getText('pisell2.text.start_time'),
651
+ name: "start_time",
652
+ rules: [{
653
+ required: true
654
+ }]
655
+ }, SelectTime ? /*#__PURE__*/React.createElement(SelectTime, {
656
+ slice: (_state$bookingConfig4 = state.bookingConfig) === null || _state$bookingConfig4 === void 0 || (_state$bookingConfig4 = _state$bookingConfig4.config) === null || _state$bookingConfig4 === void 0 || (_state$bookingConfig4 = _state$bookingConfig4.basic) === null || _state$bookingConfig4 === void 0 || (_state$bookingConfig4 = _state$bookingConfig4.service_time) === null || _state$bookingConfig4 === void 0 ? void 0 : _state$bookingConfig4.value,
657
+ timePickerProps: {
658
+ style: {
659
+ width: '100%'
660
+ }
661
+ },
662
+ timeProps: {
663
+ style: {
664
+ zoom: 0.8
665
+ }
666
+ }
667
+ }) : null));
668
+ }, [SelectTime, (_state$bookingConfig5 = state.bookingConfig) === null || _state$bookingConfig5 === void 0 || (_state$bookingConfig5 = _state$bookingConfig5.config) === null || _state$bookingConfig5 === void 0 || (_state$bookingConfig5 = _state$bookingConfig5.basic) === null || _state$bookingConfig5 === void 0 || (_state$bookingConfig5 = _state$bookingConfig5.service_time) === null || _state$bookingConfig5 === void 0 ? void 0 : _state$bookingConfig5.value]);
669
+ var duration = useMemo(function () {
670
+ console.log('render form duration');
671
+ return /*#__PURE__*/React.createElement(Col, {
672
+ span: 12
673
+ }, /*#__PURE__*/React.createElement(Form.Item, {
674
+ label: locales.getText('pisell2.text.duration'),
675
+ name: "duration",
676
+ rules: [{
677
+ required: true
678
+ }]
679
+ }, /*#__PURE__*/React.createElement(Duration, _extends({}, durationProps, {
680
+ timeObj: timeObj
681
+ }))));
682
+ }, [durationProps, timeObj]);
683
+ var resource = useMemo(function () {
684
+ console.log('render form resource');
685
+ return /*#__PURE__*/React.createElement(Form.Item, {
686
+ noStyle: true,
687
+ name: "resource"
688
+ }, /*#__PURE__*/React.createElement(Resources, {
689
+ ref: resourcesRef,
690
+ state: state,
691
+ cacheItem: state.service.cacheItem,
692
+ getCurrentCacheItem: getCurrentCacheItem
693
+ // 内部没有使用 useDuration useStartTime
694
+ // useDuration={useDuration}
695
+ // useStartTime={useStartTime}
696
+ }));
697
+ // 只监听内部使用值
698
+ }, [state.renderType, (_state$service$cacheI11 = state.service.cacheItem) === null || _state$service$cacheI11 === void 0 || (_state$service$cacheI11 = _state$service$cacheI11._data) === null || _state$service$cacheI11 === void 0 ? void 0 : _state$service$cacheI11.resources, (_state$service$cacheI12 = state.service.cacheItem) === null || _state$service$cacheI12 === void 0 || (_state$service$cacheI12 = _state$service$cacheI12._data) === null || _state$service$cacheI12 === void 0 ? void 0 : _state$service$cacheI12.resourceMaps]);
699
+ var capacity = useMemo(function () {
700
+ return /*#__PURE__*/React.createElement(Form.Item, {
701
+ noStyle: true,
702
+ name: "capacity"
703
+ }, /*#__PURE__*/React.createElement(Capacity, {
704
+ state: state,
705
+ cacheItem: state.service.cacheItem
706
+ }));
707
+ // 只监听Capacity 内部使用的 state.locale state.isTerminal, state.service?.cacheItem?._data?.capacitys
708
+ }, [state.locale, state.isTerminal, (_state$service9 = state.service) === null || _state$service9 === void 0 || (_state$service9 = _state$service9.cacheItem) === null || _state$service9 === void 0 || (_state$service9 = _state$service9._data) === null || _state$service9 === void 0 ? void 0 : _state$service9.capacitys]);
709
+ var hiddenQuantity = useMemo(function () {
710
+ return /*#__PURE__*/React.createElement(Form.Item, {
711
+ hidden: true,
712
+ name: "quantity"
713
+ }, /*#__PURE__*/React.createElement(InputNumber, null));
714
+ }, []);
715
+ var quantity = useMemo(function () {
716
+ return /*#__PURE__*/React.createElement(Col, {
717
+ span: 24
718
+ }, /*#__PURE__*/React.createElement(Form.Item, {
719
+ label: locales.getText('pisell2.text.quantity'),
720
+ name: "quantity",
721
+ rules: [{
722
+ required: true
723
+ }]
724
+ }, /*#__PURE__*/React.createElement(InputNumber, {
725
+ size: "large",
726
+ style: {
727
+ width: '100%'
728
+ },
729
+ min: 1,
730
+ max: 999999,
731
+ formatter: function formatter(value) {
732
+ if (value !== undefined) {
733
+ // 向下取整
734
+ return Math.floor(value);
735
+ }
736
+ return value;
737
+ }
738
+ })));
739
+ }, []);
740
+ var footer = useMemo(function () {
741
+ var _state$service$resour;
742
+ return /*#__PURE__*/React.createElement("div", {
743
+ className: "pisell-lowcode__booking-service-body-edit-footer"
744
+ }, /*#__PURE__*/React.createElement("div", {
745
+ className: "pisell-lowcode__booking-service-delete-wrap",
746
+ onClick: handleDeleteProduct
747
+ }, /*#__PURE__*/React.createElement(Delete_wght300_24px, {
748
+ className: "pisell-lowcode__booking-service-delete-icon"
749
+ })), /*#__PURE__*/React.createElement(Button, {
750
+ type: "primary",
751
+ className: "pisell-lowcode__booking-service-body-edit-footer-apple",
752
+ disabled: !isNormalProduct && !((_state$service$resour = state.service.resourcesOrigin) !== null && _state$service$resour !== void 0 && _state$service$resour.length),
753
+ onClick: function onClick() {
754
+ form.submit();
755
+ }
756
+ }, locales.getText('pisell2.text.apply')));
757
+ }, [(_state$service$resour2 = state.service.resourcesOrigin) === null || _state$service$resour2 === void 0 ? void 0 : _state$service$resour2.length, isNormalProduct]);
758
+ console.log('render edit');
759
+ console.log(state.service.editModal && !((_state$service$cacheI13 = state.service.cacheItem) !== null && _state$service$cacheI13 !== void 0 && _state$service$cacheI13.autoClose), performance.now() - window.pp1, '打开商品1');
760
+ var _useState = useState(false),
761
+ _useState2 = _slicedToArray(_useState, 2),
762
+ val = _useState2[0],
763
+ setVal = _useState2[1];
764
+ useEffect(function () {
765
+ if (isShowTimeAndResource) {
766
+ setTimeout(function () {
767
+ setVal(true);
768
+ }, 200);
769
+ } else {
770
+ setVal(false);
771
+ }
772
+ }, [isShowTimeAndResource]);
543
773
  return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(Drawer, {
544
774
  titleNoWrap: true
545
775
  //通过zIndex的方式控制 添加商品 和 编辑服务弹窗的上下层级
@@ -547,7 +777,7 @@ var Info = function Info(_, ref) {
547
777
  zIndex: state.service.changeService ? 999 : 1000,
548
778
  forceRender: true,
549
779
  mask: state.drawerMask,
550
- open: state.service.editModal && !((_state$service$cacheI6 = state.service.cacheItem) !== null && _state$service$cacheI6 !== void 0 && _state$service$cacheI6.autoClose),
780
+ open: state.service.editModal && !((_state$service$cacheI14 = state.service.cacheItem) !== null && _state$service$cacheI14 !== void 0 && _state$service$cacheI14.autoClose),
551
781
  title: locales.getText('pisell2.text.edit-service'),
552
782
  onClose: function onClose() {
553
783
  dispatch({
@@ -570,140 +800,6 @@ var Info = function Info(_, ref) {
570
800
  width: '100%'
571
801
  },
572
802
  gutter: [16, 0]
573
- }, /*#__PURE__*/React.createElement(Col, {
574
- span: 24
575
- }, /*#__PURE__*/React.createElement(Form.Item, {
576
- name: "product_name"
577
- }, /*#__PURE__*/React.createElement("div", {
578
- className: "current-service-info"
579
- }, /*#__PURE__*/React.createElement("div", {
580
- className: "current-service-info-name-wrap"
581
- }, /*#__PURE__*/React.createElement("div", {
582
- className: "current-service-info-name"
583
- }, ((_state$service9 = state.service) === null || _state$service9 === void 0 || (_state$service9 = _state$service9.cacheItem) === null || _state$service9 === void 0 || (_state$service9 = _state$service9._extend) === null || _state$service9 === void 0 ? void 0 : _state$service9.product_name) || '-'), /*#__PURE__*/React.createElement(Button, {
584
- onClick: handleEdit
585
- }, locales.getText('pisell2.text.edit')), !state.isBookingCreatePage && /*#__PURE__*/React.createElement(Button, {
586
- onClick: handleChange
587
- }, locales.getText('pisell2.text.change'))), /*#__PURE__*/React.createElement(CollapsibleList, {
588
- style: {
589
- marginTop: bundles.length ? '8px' : 0
590
- },
591
- list: bundles,
592
- renderItem: function renderItem(item) {
593
- return renderBundles(item, state.amountSymbol);
594
- }
595
- })))), /*#__PURE__*/React.createElement(Col, {
596
- span: 24
597
- }, /*#__PURE__*/React.createElement(Form.Item, {
598
- label: locales.getText('pisell2.text.price'),
599
- name: "total",
600
- rules: [{
601
- required: true
602
- }],
603
- extra: useTotal !== ((_state$service$cacheI7 = state.service.cacheItem) === null || _state$service$cacheI7 === void 0 || (_state$service$cacheI7 = _state$service$cacheI7._extend) === null || _state$service$cacheI7 === void 0 ? void 0 : _state$service$cacheI7.origin_total) && locales.getText('page.booking.text.price-extra')(formatAmount((_state$service$cacheI8 = state.service.cacheItem) === null || _state$service$cacheI8 === void 0 || (_state$service$cacheI8 = _state$service$cacheI8._extend) === null || _state$service$cacheI8 === void 0 ? void 0 : _state$service$cacheI8.origin_total, 2, state.amountSymbol), formatAmount(useTotal, 2, state.amountSymbol))
604
- }, /*#__PURE__*/React.createElement(PisellAdjustPriceInputNumber, {
605
- style: {
606
- width: '100%'
607
- },
608
- min: 0,
609
- precision: 2,
610
- prefix: state.amountSymbol,
611
- onChange: handleTotalChange,
612
- disabled: state.channelDisabledEdit,
613
- originValue: ((_state$service$cacheI9 = state.service.cacheItem) === null || _state$service$cacheI9 === void 0 || (_state$service$cacheI9 = _state$service$cacheI9._extend) === null || _state$service$cacheI9 === void 0 ? void 0 : _state$service$cacheI9.origin_total) || 0,
614
- placeholder: ((_state$service$cacheI10 = state.service.cacheItem) === null || _state$service$cacheI10 === void 0 || (_state$service$cacheI10 = _state$service$cacheI10._extend) === null || _state$service$cacheI10 === void 0 ? void 0 : _state$service$cacheI10.origin_total) || '0'
615
- }))), isReason ? /*#__PURE__*/React.createElement(Col, {
616
- span: 24
617
- }, /*#__PURE__*/React.createElement(Form.Item, {
618
- label: locales.getText('pisell2.text.discount-reason'),
619
- name: "discount_reason"
620
- }, /*#__PURE__*/React.createElement(Input.TextArea, {
621
- size: "large"
622
- }))) : null, isShowTimeAndResource && /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(Col, {
623
- span: 12
624
- }, /*#__PURE__*/React.createElement(Form.Item, {
625
- label: locales.getText('pisell2.text.start_time'),
626
- name: "start_time",
627
- rules: [{
628
- required: true
629
- }]
630
- }, SelectTime ? /*#__PURE__*/React.createElement(SelectTime, {
631
- slice: (_state$bookingConfig3 = state.bookingConfig) === null || _state$bookingConfig3 === void 0 || (_state$bookingConfig3 = _state$bookingConfig3.config) === null || _state$bookingConfig3 === void 0 || (_state$bookingConfig3 = _state$bookingConfig3.basic) === null || _state$bookingConfig3 === void 0 || (_state$bookingConfig3 = _state$bookingConfig3.service_time) === null || _state$bookingConfig3 === void 0 ? void 0 : _state$bookingConfig3.value,
632
- timePickerProps: {
633
- style: {
634
- width: '100%'
635
- }
636
- },
637
- timeProps: {
638
- style: {
639
- zoom: 0.8
640
- }
641
- }
642
- }) : null)), /*#__PURE__*/React.createElement(Col, {
643
- span: 12
644
- }, /*#__PURE__*/React.createElement(Form.Item, {
645
- label: locales.getText('pisell2.text.duration'),
646
- name: "duration",
647
- rules: [{
648
- required: true
649
- }]
650
- }, /*#__PURE__*/React.createElement(Duration, _extends({}, durationProps, {
651
- timeObj: timeObj
652
- })))), /*#__PURE__*/React.createElement(Form.Item, {
653
- noStyle: true,
654
- name: "resource"
655
- }, /*#__PURE__*/React.createElement(Resources, {
656
- ref: resourcesRef,
657
- state: state,
658
- cacheItem: state.service.cacheItem,
659
- getCurrentCacheItem: getCurrentCacheItem,
660
- useDuration: useDuration,
661
- useStartTime: useStartTime
662
- })), /*#__PURE__*/React.createElement(Form.Item, {
663
- noStyle: true,
664
- name: "capacity"
665
- }, /*#__PURE__*/React.createElement(Capacity, {
666
- state: state,
667
- cacheItem: state.service.cacheItem
668
- })), /*#__PURE__*/React.createElement(Form.Item, {
669
- hidden: true,
670
- name: "quantity"
671
- }, /*#__PURE__*/React.createElement(InputNumber, null))), isNormalProduct && /*#__PURE__*/React.createElement(Col, {
672
- span: 24
673
- }, /*#__PURE__*/React.createElement(Form.Item, {
674
- label: locales.getText('pisell2.text.quantity'),
675
- name: "quantity",
676
- rules: [{
677
- required: true
678
- }]
679
- }, /*#__PURE__*/React.createElement(InputNumber, {
680
- size: "large",
681
- style: {
682
- width: '100%'
683
- },
684
- min: 1,
685
- max: 999999,
686
- formatter: function formatter(value) {
687
- if (value !== undefined) {
688
- // 向下取整
689
- return Math.floor(value);
690
- }
691
- return value;
692
- }
693
- }))))), /*#__PURE__*/React.createElement("div", {
694
- className: "pisell-lowcode__booking-service-body-edit-footer"
695
- }, /*#__PURE__*/React.createElement("div", {
696
- className: "pisell-lowcode__booking-service-delete-wrap",
697
- onClick: handleDeleteProduct
698
- }, /*#__PURE__*/React.createElement(Delete_wght300_24px, {
699
- className: "pisell-lowcode__booking-service-delete-icon"
700
- })), /*#__PURE__*/React.createElement(Button, {
701
- type: "primary",
702
- className: "pisell-lowcode__booking-service-body-edit-footer-apple",
703
- disabled: !isNormalProduct && !((_state$service$resour = state.service.resourcesOrigin) !== null && _state$service$resour !== void 0 && _state$service$resour.length),
704
- onClick: function onClick() {
705
- form.submit();
706
- }
707
- }, locales.getText('pisell2.text.apply'))))));
803
+ }, productName, price, reason, val && isShowTimeAndResource && /*#__PURE__*/React.createElement(React.Fragment, null, startTime, duration, resource, capacity, hiddenQuantity), isNormalProduct && quantity)), footer)));
708
804
  };
709
805
  export default /*#__PURE__*/forwardRef(Info);
@@ -1,4 +1,4 @@
1
- import React, { useEffect, useContext } from 'react';
1
+ import React, { useEffect, useContext, useMemo } from 'react';
2
2
  import AddService from "./addService";
3
3
  import { Context } from "../../info/model";
4
4
  import EditService from "./editService";
@@ -24,19 +24,23 @@ var Service = function Service() {
24
24
  var clearCart = useClearCart(state, dispatch);
25
25
  var _useQuotation = useQuotation(state, dispatch),
26
26
  dom = _useQuotation.dom;
27
- return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement("div", {
28
- className: "pisell-lowcode__booking-service-wrap"
29
- }, clearCart, /*#__PURE__*/React.createElement(Lists, {
30
- isParallelResource: true,
31
- onEdit: handleEdit,
32
- onAction: handleAction,
33
- onChange: function onChange(e, type) {
34
- return dispatchService(type || 'setService', e);
35
- }
36
- }), !state.isBookingCreatePage ? /*#__PURE__*/React.createElement(AddService, {
37
- onEdit: handleEdit
38
- }) : null), /*#__PURE__*/React.createElement(EditService, {
39
- ref: detailRef
40
- }), showAddTimeModal && /*#__PURE__*/React.createElement(AddTimeModal, null), dom);
27
+ var renderMemo = useMemo(function () {
28
+ console.log('render info22222');
29
+ return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement("div", {
30
+ className: "pisell-lowcode__booking-service-wrap"
31
+ }, clearCart, /*#__PURE__*/React.createElement(Lists, {
32
+ isParallelResource: true,
33
+ onEdit: handleEdit,
34
+ onAction: handleAction,
35
+ onChange: function onChange(e, type) {
36
+ return dispatchService(type || 'setService', e);
37
+ }
38
+ }), !state.isBookingCreatePage ? /*#__PURE__*/React.createElement(AddService, {
39
+ onEdit: handleEdit
40
+ }) : null), /*#__PURE__*/React.createElement(EditService, {
41
+ ref: detailRef
42
+ }), showAddTimeModal && /*#__PURE__*/React.createElement(AddTimeModal, null), dom);
43
+ }, [clearCart, dom, showAddTimeModal, clearCart]);
44
+ return /*#__PURE__*/React.createElement(React.Fragment, null, renderMemo);
41
45
  };
42
46
  export default /*#__PURE__*/React.memo(Service);