@pisell/private-materials 6.6.94 → 6.6.96

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 (77) 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 +1 -1
  6. package/build/lowcode/view.js +1 -1
  7. package/es/components/booking/addons/model.d.ts +10 -1
  8. package/es/components/booking/components/footer/utils.d.ts +67 -0
  9. package/es/components/booking/components/footer/utils.js +0 -13
  10. package/es/components/booking/components/voucher/index.d.ts +3 -0
  11. package/es/components/booking/components/voucher/index.js +3 -42
  12. package/es/components/booking/dashboard/index.js +15 -14
  13. package/es/components/booking/forms/model.d.ts +10 -1
  14. package/es/components/booking/info/model.d.ts +10 -1
  15. package/es/components/booking/info2/service/editService/index.d.ts +8 -0
  16. package/es/components/booking/info2/service/editService/index.js +11 -31
  17. package/es/components/booking/info2/service/editService/utils.d.ts +41 -0
  18. package/es/components/booking/info2/service/editService/utils.js +19 -128
  19. package/es/components/booking/model.d.ts +9 -1
  20. package/es/components/booking/notes/model.d.ts +10 -1
  21. package/es/components/booking/payments/model.d.ts +10 -1
  22. package/es/components/booking/utils.d.ts +2 -2
  23. package/es/components/checkout/hooks/useWalletPass.d.ts +1 -1
  24. package/es/components/eftposPay/amount.d.ts +1 -1
  25. package/es/components/eftposPay/device.d.ts +1 -1
  26. package/es/components/eftposPay/hooks.d.ts +2 -2
  27. package/es/components/eftposPay/store/index.d.ts +5 -5
  28. package/es/components/pay/toC/model.d.ts +9 -1
  29. package/es/components/schedules/model.d.ts +9 -1
  30. package/es/components/ticketBooking/utils/index.d.ts +103 -0
  31. package/es/components/ticketBooking/utils/index.js +4 -4
  32. package/es/plus/clinetSearch/Add/index.d.ts +18 -0
  33. package/es/plus/clinetSearch/Add/index.js +4 -2
  34. package/es/plus/productSelect/ProductCard/SkuCard/components/Capacity/index.d.ts +1 -1
  35. package/es/plus/productSelect/ProductCard/SkuCard/components/CardMask/index.d.ts +1 -1
  36. package/es/plus/productSelect/ProductCard/SkuCard/components/Countdown/index.d.ts +1 -1
  37. package/es/plus/productSelect/ProductCard/SkuCard/components/Duration/index.d.ts +1 -1
  38. package/es/plus/productSelect/ProductCard/SkuCard/components/MemberPrice/index.d.ts +1 -1
  39. package/es/plus/productSelect/ProductCard/SkuCard/components/Resource/index.d.ts +1 -1
  40. package/es/plus/productSelect/ProductCard/SkuCard/components/Stock/index.d.ts +1 -1
  41. package/es/plus/productSelect/ProductCard/SkuCard/components/Time/index.d.ts +1 -1
  42. package/lib/components/booking/addons/model.d.ts +10 -1
  43. package/lib/components/booking/components/footer/utils.d.ts +67 -0
  44. package/lib/components/booking/components/footer/utils.js +1 -8
  45. package/lib/components/booking/components/voucher/index.d.ts +3 -0
  46. package/lib/components/booking/components/voucher/index.js +3 -43
  47. package/lib/components/booking/dashboard/index.js +14 -14
  48. package/lib/components/booking/forms/model.d.ts +10 -1
  49. package/lib/components/booking/info/model.d.ts +10 -1
  50. package/lib/components/booking/info2/service/editService/index.d.ts +8 -0
  51. package/lib/components/booking/info2/service/editService/index.js +12 -38
  52. package/lib/components/booking/info2/service/editService/utils.d.ts +41 -0
  53. package/lib/components/booking/info2/service/editService/utils.js +12 -94
  54. package/lib/components/booking/model.d.ts +9 -1
  55. package/lib/components/booking/notes/model.d.ts +10 -1
  56. package/lib/components/booking/payments/model.d.ts +10 -1
  57. package/lib/components/booking/utils.d.ts +2 -2
  58. package/lib/components/checkout/hooks/useWalletPass.d.ts +1 -1
  59. package/lib/components/eftposPay/amount.d.ts +1 -1
  60. package/lib/components/eftposPay/device.d.ts +1 -1
  61. package/lib/components/eftposPay/hooks.d.ts +2 -2
  62. package/lib/components/eftposPay/store/index.d.ts +5 -5
  63. package/lib/components/pay/toC/model.d.ts +9 -1
  64. package/lib/components/schedules/model.d.ts +9 -1
  65. package/lib/components/ticketBooking/utils/index.d.ts +103 -0
  66. package/lib/components/ticketBooking/utils/index.js +2 -2
  67. package/lib/plus/clinetSearch/Add/index.d.ts +18 -0
  68. package/lib/plus/clinetSearch/Add/index.js +1 -0
  69. package/lib/plus/productSelect/ProductCard/SkuCard/components/Capacity/index.d.ts +1 -1
  70. package/lib/plus/productSelect/ProductCard/SkuCard/components/CardMask/index.d.ts +1 -1
  71. package/lib/plus/productSelect/ProductCard/SkuCard/components/Countdown/index.d.ts +1 -1
  72. package/lib/plus/productSelect/ProductCard/SkuCard/components/Duration/index.d.ts +1 -1
  73. package/lib/plus/productSelect/ProductCard/SkuCard/components/MemberPrice/index.d.ts +1 -1
  74. package/lib/plus/productSelect/ProductCard/SkuCard/components/Resource/index.d.ts +1 -1
  75. package/lib/plus/productSelect/ProductCard/SkuCard/components/Stock/index.d.ts +1 -1
  76. package/lib/plus/productSelect/ProductCard/SkuCard/components/Time/index.d.ts +1 -1
  77. package/package.json +3 -3
@@ -92,9 +92,6 @@ var Info = (_, ref) => {
92
92
  const resourcesRef = (0, import_react.useRef)(null);
93
93
  const isChangeTotal = (0, import_react.useRef)(false);
94
94
  const shouldReallocateBundlePriceRef = (0, import_react.useRef)(false);
95
- const isEntitlementPrice = (0, import_utils8.hasEntitlementDiscount)(
96
- state.service.cacheItem
97
- );
98
95
  const [noteModalOpen, setNoteModalOpen] = (0, import_react.useState)(false);
99
96
  const [open, setOpen] = (0, import_react.useState)(false);
100
97
  const [currentTab, setCurrentTab] = (0, import_react.useState)("batch_edit");
@@ -250,7 +247,7 @@ var Info = (_, ref) => {
250
247
  }
251
248
  };
252
249
  const onFinish = (values, cacheItem) => {
253
- var _a2, _b2, _c2, _d2, _e2, _f2, _g2, _h2, _i2, _j2, _k2, _l2, _m2, _n2, _o2, _p2, _q2, _r2;
250
+ var _a2, _b2, _c2, _d2, _e2, _f2, _g2, _h2, _i2, _j2, _k2, _l2, _m2, _n2, _o2, _p2, _q2;
254
251
  let isSuccess = (_a2 = resourcesRef.current) == null ? void 0 : _a2.check();
255
252
  if (isShowTimeAndResource && !isSuccess) {
256
253
  return;
@@ -284,8 +281,7 @@ var Info = (_, ref) => {
284
281
  _extend.startDate = startDate;
285
282
  _extend.endDate = endDate;
286
283
  }
287
- const isManualPriceChange = isChangeTotal.current && !(0, import_utils8.hasEntitlementDiscount)(_item);
288
- const shouldReallocatePrice = isManualPriceChange || shouldReallocateBundlePriceRef.current;
284
+ const shouldReallocatePrice = isChangeTotal.current || shouldReallocateBundlePriceRef.current;
289
285
  if (shouldReallocatePrice) {
290
286
  const discountRatio = new import_decimal.default(values.total).div(_item._extend.origin_total);
291
287
  const bundles2 = ((_c2 = _extend == null ? void 0 : _extend.other) == null ? void 0 : _c2.bundle) || [];
@@ -310,9 +306,7 @@ var Info = (_, ref) => {
310
306
  _item._time = (/* @__PURE__ */ new Date()).getTime();
311
307
  _item._serviceKey = (0, import_utils3.genServiceKey)(_item);
312
308
  _item._holderKey = (0, import_utils3.genHolderKey)(_item);
313
- const previousItem = _list.find((item) => item._id === _item._id) ?? _list.find((item) => isSameBookingServiceItem(item, _item));
314
- const isEntitlementQuantityChange = (0, import_utils8.hasEntitlementDiscount)(previousItem) && Number(_item._extend.quantity || 1) !== Number(((_e2 = previousItem == null ? void 0 : previousItem._extend) == null ? void 0 : _e2.quantity) || 1);
315
- if (!isEntitlementQuantityChange && (((_g2 = (_f2 = _item._extend) == null ? void 0 : _f2.holder_id) == null ? void 0 : _g2.length) > 1 || ((_h2 = _item._extend) == null ? void 0 : _h2.quantity) > 1 && ((_j2 = (_i2 = _item._extend) == null ? void 0 : _i2.holder_id) == null ? void 0 : _j2.length) >= 1)) {
309
+ if (((_f2 = (_e2 = _item._extend) == null ? void 0 : _e2.holder_id) == null ? void 0 : _f2.length) > 1 || ((_g2 = _item._extend) == null ? void 0 : _g2.quantity) > 1 && ((_i2 = (_h2 = _item._extend) == null ? void 0 : _h2.holder_id) == null ? void 0 : _i2.length) >= 1) {
316
310
  let holder_ids = _item._extend.holder_id;
317
311
  _item._extend.holder_id = holder_ids[0];
318
312
  holder_ids = holder_ids.slice(1);
@@ -331,8 +325,8 @@ var Info = (_, ref) => {
331
325
  }
332
326
  }
333
327
  let _id = _item == null ? void 0 : _item._id;
334
- let groupId = (_k2 = _item == null ? void 0 : _item._extend) == null ? void 0 : _k2.groupId;
335
- const origin_total = (_o2 = (_n2 = (_m2 = (_l2 = _item._extend) == null ? void 0 : _l2.items) == null ? void 0 : _m2[0]) == null ? void 0 : _n2._extend) == null ? void 0 : _o2.origin_total;
328
+ let groupId = (_j2 = _item == null ? void 0 : _item._extend) == null ? void 0 : _j2.groupId;
329
+ const origin_total = (_n2 = (_m2 = (_l2 = (_k2 = _item._extend) == null ? void 0 : _k2.items) == null ? void 0 : _l2[0]) == null ? void 0 : _m2._extend) == null ? void 0 : _n2.origin_total;
336
330
  if (groupId) {
337
331
  if (shouldReallocatePrice) {
338
332
  _item = deleteDiscountList(_item, true);
@@ -345,7 +339,7 @@ var Info = (_, ref) => {
345
339
  } else {
346
340
  _item = (0, import_utils8.setProductPrice)(_item, {
347
341
  newTotal: values.total,
348
- origin_total: origin_total ?? ((_p2 = _item._extend) == null ? void 0 : _p2.origin_total)
342
+ origin_total: origin_total ?? ((_o2 = _item._extend) == null ? void 0 : _o2.origin_total)
349
343
  });
350
344
  const matchById = _list.some((d) => d._id === _id);
351
345
  const matchByBooking = !matchById && _list.some((d) => isSameBookingServiceItem(d, _item));
@@ -354,32 +348,13 @@ var Info = (_, ref) => {
354
348
  _item = deleteDiscountList(_item, true);
355
349
  }
356
350
  if (matchById) {
357
- _list = _list.flatMap((d) => {
358
- if (d._id !== _id) return [d];
359
- return (0, import_utils8.updateEntitlementQuantity)(
360
- d,
361
- { ..._item, new: 0 }
362
- ).map((item) => ({
363
- ...item,
364
- _serviceKey: (0, import_utils3.genServiceKey)(item),
365
- _holderKey: (0, import_utils3.genHolderKey)(item)
366
- }));
367
- });
351
+ _list = _list.map((d) => d._id === _id ? { ..._item, new: 0 } : d);
368
352
  } else {
369
353
  let replaced = false;
370
354
  _list = _list.reduce((acc, d) => {
371
355
  if (isSameBookingServiceItem(d, _item)) {
372
356
  if (!replaced) {
373
- acc.push(
374
- ...(0, import_utils8.updateEntitlementQuantity)(
375
- d,
376
- { ..._item, new: 0, _id: d._id }
377
- ).map((item) => ({
378
- ...item,
379
- _serviceKey: (0, import_utils3.genServiceKey)(item),
380
- _holderKey: (0, import_utils3.genHolderKey)(item)
381
- }))
382
- );
357
+ acc.push({ ..._item, new: 0, _id: d._id });
383
358
  replaced = true;
384
359
  }
385
360
  } else {
@@ -396,7 +371,7 @@ var Info = (_, ref) => {
396
371
  (0, import_utils6.deleteCacheParams)();
397
372
  console.log("_onFinish", _list);
398
373
  form.resetFields();
399
- if (!!((_q2 = state.service.cacheItem) == null ? void 0 : _q2.new)) {
374
+ if (!!((_p2 = state.service.cacheItem) == null ? void 0 : _p2.new)) {
400
375
  window.dispatchEvent(
401
376
  new CustomEvent("onAddNewService", {
402
377
  detail: {
@@ -405,7 +380,7 @@ var Info = (_, ref) => {
405
380
  })
406
381
  );
407
382
  }
408
- (_r2 = window.closeBookingEditModal) == null ? void 0 : _r2.call(window);
383
+ (_q2 = window.closeBookingEditModal) == null ? void 0 : _q2.call(window);
409
384
  _list.sort((a, b) => {
410
385
  var _a3, _b3;
411
386
  const aHasHolderId = ((_a3 = a._extend) == null ? void 0 : _a3.holder_id) && (Array.isArray(a._extend.holder_id) ? a._extend.holder_id.length > 0 : true);
@@ -775,7 +750,7 @@ var Info = (_, ref) => {
775
750
  precision: 2,
776
751
  prefix: state.amountSymbol,
777
752
  onChange: handleTotalChange,
778
- disabled: state.channelDisabledEdit || isEntitlementPrice,
753
+ disabled: state.channelDisabledEdit,
779
754
  originalValue: ((_f2 = (_e2 = state.service.cacheItem) == null ? void 0 : _e2._extend) == null ? void 0 : _f2.origin_total) || 0,
780
755
  placeholder: ((_h2 = (_g2 = state.service.cacheItem) == null ? void 0 : _g2._extend) == null ? void 0 : _h2.origin_total) || "0",
781
756
  size: "large",
@@ -792,8 +767,7 @@ var Info = (_, ref) => {
792
767
  useTotal,
793
768
  (_u = (_t = state.service.cacheItem) == null ? void 0 : _t._extend) == null ? void 0 : _u.origin_total,
794
769
  state.amountSymbol,
795
- state.channelDisabledEdit,
796
- isEntitlementPrice
770
+ state.channelDisabledEdit
797
771
  ]);
798
772
  const reason = (0, import_react.useMemo)(() => {
799
773
  return isReason ? /* @__PURE__ */ import_react.default.createElement(import_antd.Col, { span: 24 }, /* @__PURE__ */ import_react.default.createElement(
@@ -0,0 +1,41 @@
1
+ /**
2
+ 1. 在进入编辑服务前
3
+
4
+ 计算出各种需要的列表
5
+
6
+ 设置默认值
7
+
8
+ 判断是否需要进入编辑服务页
9
+ */
10
+ export declare const getAutoAllocationStorage: (id: string | number) => any;
11
+ export declare const setAutoAllocationStorage: (data: {
12
+ [key: string]: boolean;
13
+ }) => void;
14
+ /**
15
+ * 手动折扣后给商品价格和子商品价格重新计算
16
+ *
17
+ * 计算逻辑:
18
+ * 1. 子商品(bundle + option)按折扣比例计算,直接截取两位小数(不四舍五入)
19
+ * 2. 主商品价格 = newTotal - 所有子商品价格总和(确保总价精确等于 newTotal)
20
+ *
21
+ * @param cacheItem - 缓存的商品项
22
+ * @param newTotal - 折扣后的新总价
23
+ * @param origin_total - 原始总价
24
+ */
25
+ export declare const setProductPrice: (cacheItem: any, { newTotal, origin_total }: {
26
+ newTotal: number;
27
+ origin_total: number;
28
+ }) => any;
29
+ /**
30
+ * 获取商品所有折扣列表 包含子商品
31
+ * @param cacheItem - 缓存的商品项
32
+ * @returns 折扣列表
33
+ */
34
+ export declare const getProductAllDiscountList: (cacheItem: any) => any[];
35
+ /**
36
+ * 合并 bundle 数据,基于 id 和 product_id 匹配,price 优先使用 originalOther 中的值
37
+ * @param other - callback 返回的新数据
38
+ * @param originalOther - 编辑前的原始数据 (item._extend.other)
39
+ * @returns 合并后的 other
40
+ */
41
+ export declare const mergeBundleWithOriginalPrice: (other: any, originalOther: any) => any;
@@ -31,100 +31,20 @@ var utils_exports = {};
31
31
  __export(utils_exports, {
32
32
  getAutoAllocationStorage: () => getAutoAllocationStorage,
33
33
  getProductAllDiscountList: () => getProductAllDiscountList,
34
- hasEntitlementDiscount: () => hasEntitlementDiscount,
35
34
  mergeBundleWithOriginalPrice: () => mergeBundleWithOriginalPrice,
36
35
  setAutoAllocationStorage: () => setAutoAllocationStorage,
37
- setProductPrice: () => setProductPrice,
38
- updateEntitlementQuantity: () => updateEntitlementQuantity
36
+ setProductPrice: () => setProductPrice
39
37
  });
40
38
  module.exports = __toCommonJS(utils_exports);
41
39
  var import_utils = require("@pisell/utils");
40
+ var import_utils2 = require("@pisell/utils");
42
41
  var import_decimal = __toESM(require("decimal.js"));
43
- var import_lodash = require("lodash");
44
- var import_utils2 = require("../../../components/footer/utils");
45
- var import_utils3 = require("../../../utils");
46
- var isEntitlementDiscount = (discount) => ((discount == null ? void 0 : discount.tag) || (discount == null ? void 0 : discount.type)) === "entitlement_pass";
47
- var getServiceDiscounts = (item) => {
48
- var _a, _b;
49
- return [
50
- ...(item == null ? void 0 : item.discount_list) || [],
51
- ...(((_b = (_a = item == null ? void 0 : item._extend) == null ? void 0 : _a.other) == null ? void 0 : _b.bundle) || []).flatMap((bundle) => bundle.discount_list || [])
52
- ];
53
- };
54
- var hasEntitlementDiscount = (item) => getServiceDiscounts(item).some(isEntitlementDiscount);
55
- var updateEntitlementQuantity = (previous, next) => {
56
- var _a, _b, _c, _d;
57
- const discounts = getServiceDiscounts(previous);
58
- const persisted = [previous == null ? void 0 : previous.booking_id, previous == null ? void 0 : previous.order_detail_id, (_a = previous == null ? void 0 : previous._extend) == null ? void 0 : _a.order_detail_id].some((value) => Number(value) > 0) || discounts.some((discount) => isEntitlementDiscount(discount) && discount.id);
59
- const previousQuantity = Number(((_b = previous == null ? void 0 : previous._extend) == null ? void 0 : _b.quantity) || 1);
60
- const nextQuantity = Number(next._extend.quantity || 1);
61
- if (!persisted || !hasEntitlementDiscount(previous) || nextQuantity === previousQuantity) {
62
- return [next];
63
- }
64
- if (nextQuantity < previousQuantity) {
65
- return [{
66
- ...previous,
67
- _extend: {
68
- ...previous._extend,
69
- quantity: nextQuantity,
70
- ...Array.isArray(next._extend.holder_id) ? { holder_id: next._extend.holder_id.slice(0, nextQuantity) } : {},
71
- other: { ...previous._extend.other, quantity: nextQuantity }
72
- },
73
- discount_list: (previous.discount_list || []).map((discount) => {
74
- var _a2, _b2;
75
- if (!isEntitlementDiscount(discount) || ((_a2 = discount.metadata) == null ? void 0 : _a2.custom_product_bundle_map_id)) return discount;
76
- const num = Math.min(Number(((_b2 = discount.metadata) == null ? void 0 : _b2.num) ?? previousQuantity), nextQuantity);
77
- return { ...discount, _num: num, metadata: { ...discount.metadata, num } };
78
- })
79
- }];
80
- }
81
- const appended = (0, import_lodash.cloneDeep)(next);
82
- const uid = (0, import_utils.getUniqueId)();
83
- appended._id = uid;
84
- appended.booking_id = 0;
85
- appended.order_detail_id = 0;
86
- appended.new = 0;
87
- appended.discount_list = [];
88
- appended.discount_amount = 0;
89
- appended.metadata = { ...appended.metadata, unique_identification_number: uid };
90
- delete appended.metadata.entitlement_source_identity;
91
- delete appended.metadata.entitlement_source_product_uid;
92
- if (appended._origin) delete appended._origin.booking_id;
93
- const extend = appended._extend;
94
- extend.order_detail_id = 0;
95
- extend.unique_identification_number = uid;
96
- extend.quantity = nextQuantity - previousQuantity;
97
- if (Array.isArray(extend.holder_id)) {
98
- const holders = extend.holder_id.slice(previousQuantity, nextQuantity);
99
- extend.holder_id = holders.length ? holders : void 0;
100
- }
101
- extend.other = { ...extend.other, quantity: extend.quantity };
102
- extend.other.bundle = (extend.other.bundle || []).map((bundle) => {
103
- var _a2, _b2, _c2;
104
- const price = bundle.original_price ?? ((_c2 = (_b2 = (_a2 = bundle.discount_list) == null ? void 0 : _a2[0]) == null ? void 0 : _b2.discount) == null ? void 0 : _c2.original_amount) ?? bundle.product_price ?? bundle.price;
105
- const bundleUid = (0, import_utils.getUniqueId)();
106
- const metadata = { ...bundle.metadata, custom_product_bundle_map_id: bundleUid, unique_identification_number: bundleUid };
107
- delete metadata.entitlement_source_identity;
108
- return { ...bundle, _id: bundleUid, price, bundle_selling_price: price, discount_list: [], metadata };
109
- });
110
- const mainDiscount = (next.discount_list || []).find((discount) => {
111
- var _a2, _b2;
112
- return !((_a2 = discount.metadata) == null ? void 0 : _a2.custom_product_bundle_map_id) && ((_b2 = discount.discount) == null ? void 0 : _b2.original_amount) != null;
113
- });
114
- if (mainDiscount && ((_d = (_c = previous == null ? void 0 : previous._extend) == null ? void 0 : _c.other) == null ? void 0 : _d.product_variant_id) === extend.other.product_variant_id) {
115
- extend.price = Number(mainDiscount.discount.original_amount);
116
- if (extend.other.product_variant_id) extend.other.price = extend.price;
117
- }
118
- extend.main_product_selling_price = (0, import_utils3.getMainPrice)(appended);
119
- extend.total = (0, import_utils3.getProductTotalPrice)(appended);
120
- extend.origin_total = extend.total;
121
- return [previous, appended];
122
- };
42
+ var import_utils3 = require("../../../components/footer/utils");
123
43
  var getAutoAllocationStorage = (id) => {
124
44
  const value = localStorage.getItem("resource-auto-allocation");
125
45
  if (value) {
126
46
  const valueObj = JSON.parse(value);
127
- return (0, import_utils.isBoolean)(valueObj[id]) ? valueObj[id] : true;
47
+ return (0, import_utils2.isBoolean)(valueObj[id]) ? valueObj[id] : true;
128
48
  }
129
49
  return true;
130
50
  };
@@ -138,8 +58,8 @@ var setAutoAllocationStorage = (data) => {
138
58
  }
139
59
  };
140
60
  var setProductPrice = (cacheItem, { newTotal, origin_total }) => {
141
- var _a, _b, _c, _d, _e, _f, _g, _h;
142
- if (hasEntitlementDiscount(cacheItem) || ((cacheItem == null ? void 0 : cacheItem.discount_list) || []).some((item) => ["good_pass", "discount_card", "product_discount_card"].includes(
61
+ var _a, _b, _c, _d, _e, _f, _g, _h, _i;
62
+ if (((_a = cacheItem == null ? void 0 : cacheItem.discount_list) == null ? void 0 : _a.length) && ((cacheItem == null ? void 0 : cacheItem.discount_list) || []).some((item) => ["good_pass", "discount_card", "product_discount_card"].includes(
143
63
  item.type
144
64
  ))) {
145
65
  return cacheItem;
@@ -149,16 +69,16 @@ var setProductPrice = (cacheItem, { newTotal, origin_total }) => {
149
69
  }
150
70
  const discountRatio = new import_decimal.default(newTotal).div(new import_decimal.default(origin_total));
151
71
  let subTotal = new import_decimal.default(0);
152
- if (((_a = cacheItem._extend.other) == null ? void 0 : _a.bundle) && (0, import_utils.isArr)((_b = cacheItem._extend.other) == null ? void 0 : _b.bundle)) {
153
- (_d = (_c = cacheItem._extend.other) == null ? void 0 : _c.bundle) == null ? void 0 : _d.forEach((bundle) => {
72
+ if (((_b = cacheItem._extend.other) == null ? void 0 : _b.bundle) && (0, import_utils.isArr)((_c = cacheItem._extend.other) == null ? void 0 : _c.bundle)) {
73
+ (_e = (_d = cacheItem._extend.other) == null ? void 0 : _d.bundle) == null ? void 0 : _e.forEach((bundle) => {
154
74
  const newPrice = new import_decimal.default(bundle.original_price || bundle.price).mul(discountRatio).toDecimalPlaces(2, import_decimal.default.ROUND_DOWN).toNumber();
155
75
  const quantity = bundle.num ?? bundle.quantity ?? 1;
156
76
  subTotal = subTotal.add(new import_decimal.default(newPrice).mul(quantity));
157
77
  bundle.price = newPrice;
158
78
  });
159
79
  }
160
- if (((_e = cacheItem._extend.other) == null ? void 0 : _e.option) && (0, import_utils.isArr)((_f = cacheItem._extend.other) == null ? void 0 : _f.option)) {
161
- (_h = (_g = cacheItem._extend.other) == null ? void 0 : _g.option) == null ? void 0 : _h.forEach((option) => {
80
+ if (((_f = cacheItem._extend.other) == null ? void 0 : _f.option) && (0, import_utils.isArr)((_g = cacheItem._extend.other) == null ? void 0 : _g.option)) {
81
+ (_i = (_h = cacheItem._extend.other) == null ? void 0 : _h.option) == null ? void 0 : _i.forEach((option) => {
162
82
  const newPrice = new import_decimal.default(option.price).mul(discountRatio).toDecimalPlaces(2, import_decimal.default.ROUND_DOWN).toNumber();
163
83
  const quantity = option.num ?? option.quantity ?? 1;
164
84
  subTotal = subTotal.add(new import_decimal.default(newPrice).mul(quantity));
@@ -171,7 +91,7 @@ var setProductPrice = (cacheItem, { newTotal, origin_total }) => {
171
91
  var getProductAllDiscountList = (cacheItem) => {
172
92
  var _a, _b;
173
93
  const discountList = [...cacheItem.discount_list || []];
174
- const bundleDiscountList = (0, import_utils2.getBundleDiscountList)(((_b = (_a = cacheItem._extend) == null ? void 0 : _a.other) == null ? void 0 : _b.bundle) || []) || [];
94
+ const bundleDiscountList = (0, import_utils3.getBundleDiscountList)(((_b = (_a = cacheItem._extend) == null ? void 0 : _a.other) == null ? void 0 : _b.bundle) || []) || [];
175
95
  discountList.push(...bundleDiscountList);
176
96
  return discountList;
177
97
  };
@@ -193,9 +113,7 @@ var mergeBundleWithOriginalPrice = (other, originalOther) => {
193
113
  0 && (module.exports = {
194
114
  getAutoAllocationStorage,
195
115
  getProductAllDiscountList,
196
- hasEntitlementDiscount,
197
116
  mergeBundleWithOriginalPrice,
198
117
  setAutoAllocationStorage,
199
- setProductPrice,
200
- updateEntitlementQuantity
118
+ setProductPrice
201
119
  });
@@ -1,3 +1,4 @@
1
+ /// <reference types="react" />
1
2
  export interface FormState {
2
3
  amountSymbol: string;
3
4
  apis: {
@@ -109,4 +110,11 @@ export declare const walkInData: {
109
110
  id: number;
110
111
  nickname: string;
111
112
  };
112
- export declare const Provider: any, Context: any;
113
+ export declare const Provider: (ComponentUi: any) => any, Context: import("react").Context<{
114
+ state: FormState;
115
+ } & {
116
+ dispatch: (params: {
117
+ type: string;
118
+ payload: any;
119
+ }) => void;
120
+ }>;
@@ -1 +1,10 @@
1
- export declare const Provider: any, Context: any;
1
+ /// <reference types="react" />
2
+ import { FormState } from "../model";
3
+ export declare const Provider: (ComponentUi: any) => any, Context: import("react").Context<{
4
+ state: FormState;
5
+ } & {
6
+ dispatch: (params: {
7
+ type: string;
8
+ payload: any;
9
+ }) => void;
10
+ }>;
@@ -1 +1,10 @@
1
- export declare const Provider: any, Context: any;
1
+ /// <reference types="react" />
2
+ import { FormState } from "../model";
3
+ export declare const Provider: (ComponentUi: any) => any, Context: import("react").Context<{
4
+ state: FormState;
5
+ } & {
6
+ dispatch: (params: {
7
+ type: string;
8
+ payload: any;
9
+ }) => void;
10
+ }>;
@@ -175,10 +175,10 @@ export declare const getProductOriginTotalPrice: (item: any) => number;
175
175
  export declare const getDuration: (duration: number | {
176
176
  type: string;
177
177
  value: number;
178
- }) => number | {
178
+ }) => number | "flexible" | {
179
179
  type: string;
180
180
  value: number;
181
- } | "flexible";
181
+ };
182
182
  export declare const isWalkIn: (customer_id?: number | string) => boolean;
183
183
  export declare const getIsEdit: (state: any) => boolean;
184
184
  export {};
@@ -17,7 +17,7 @@ export declare const useWalletPass: (props: {
17
17
  cardData: any;
18
18
  handleSelectWallet: (value: number[]) => void;
19
19
  selectedWalletIds: any[];
20
- expiredWalletIds: any[];
20
+ expiredWalletIds: any;
21
21
  expiredWalletData: any;
22
22
  disabledWalletData: any[];
23
23
  clearAllSelectedWallet: () => void;
@@ -8,7 +8,7 @@ import { PosProps } from './const';
8
8
  */
9
9
  declare const _default: ({ className, onChange, onClose, formatAmount, isMobile, net, client }: {
10
10
  className?: string | undefined;
11
- onChange?: ((status: "page" | "success" | "fail" | "print" | "mark_tx_processed", params?: string | {
11
+ onChange?: ((status: "page" | "success" | "print" | "fail" | "mark_tx_processed", params?: string | {
12
12
  [keys: string]: unknown;
13
13
  } | undefined, other?: any) => void) | undefined;
14
14
  onClose: () => void;
@@ -11,7 +11,7 @@ import './device.less';
11
11
  declare const _default: ({ api, onChange, onClose, className, device_number, isMobile, net, client, formatAmount, containerStyle, }: {
12
12
  api: PayProps['api'];
13
13
  className?: string | undefined;
14
- onChange?: ((status: "page" | "success" | "fail" | "print" | "mark_tx_processed", params?: string | {
14
+ onChange?: ((status: "page" | "success" | "print" | "fail" | "mark_tx_processed", params?: string | {
15
15
  [keys: string]: unknown;
16
16
  } | undefined, other?: any) => void) | undefined;
17
17
  onClose: () => void;
@@ -15,11 +15,11 @@ export declare const useStoreRef: <T extends {
15
15
  readonly numRef: React.MutableRefObject<string | number | undefined>;
16
16
  readonly orderIdRef: React.MutableRefObject<string | number>;
17
17
  readonly modeRef: React.MutableRefObject<ModeEnum>;
18
- readonly statusRef: React.MutableRefObject<"loading" | "success" | "warn" | "fail" | "init" | "pedding" | "resove" | "reject" | "question">;
18
+ readonly statusRef: React.MutableRefObject<"loading" | "success" | "warn" | "init" | "fail" | "pedding" | "resove" | "reject" | "question">;
19
19
  readonly netRef: React.MutableRefObject<boolean | undefined>;
20
20
  readonly symbolRef: React.MutableRefObject<string>;
21
21
  readonly amountRef: React.MutableRefObject<string | number>;
22
- readonly eftposRef: React.MutableRefObject<"tyro" | "mx51" | "payo" | "windcave" | "stripe" | "linkly" | "huifu" | "adyenpos" | "adyenalipay" | "adyenwechat">;
22
+ readonly eftposRef: React.MutableRefObject<"stripe" | "tyro" | "mx51" | "payo" | "windcave" | "linkly" | "huifu" | "adyenpos" | "adyenalipay" | "adyenwechat">;
23
23
  readonly clientRef: React.MutableRefObject<ClientEnum>;
24
24
  readonly dataRef: React.MutableRefObject<import("./store").State>;
25
25
  };
@@ -299,20 +299,20 @@ export declare const backUpFree: (payload: Partial<State>) => {
299
299
  name?: string | undefined;
300
300
  symbol?: string | undefined;
301
301
  amount?: string | number | undefined;
302
- mode?: "refund" | "fullPay" | "pay" | "query" | undefined;
302
+ mode?: "pay" | "refund" | "fullPay" | "query" | undefined;
303
303
  order_id?: string | number | undefined;
304
- eftpos?: "tyro" | "mx51" | "payo" | "windcave" | "stripe" | "linkly" | "huifu" | "adyenpos" | "adyenalipay" | "adyenwechat" | undefined;
305
- action?: "amount" | "pay" | "deviceList" | undefined;
304
+ eftpos?: "stripe" | "tyro" | "mx51" | "payo" | "windcave" | "linkly" | "huifu" | "adyenpos" | "adyenalipay" | "adyenwechat" | undefined;
305
+ action?: "pay" | "amount" | "deviceList" | undefined;
306
306
  key?: number | undefined;
307
307
  step?: number | undefined;
308
308
  title?: string | undefined;
309
309
  subTitle?: string | undefined;
310
- type?: "step" | "unset" | undefined;
310
+ type?: "unset" | "step" | undefined;
311
311
  render?: boolean | undefined;
312
312
  net?: boolean | undefined;
313
313
  component?: string | undefined;
314
314
  form?: string | undefined;
315
- status?: "loading" | "success" | "warn" | "fail" | "init" | "pedding" | "resove" | "reject" | "question" | undefined;
315
+ status?: "loading" | "success" | "warn" | "init" | "fail" | "pedding" | "resove" | "reject" | "question" | undefined;
316
316
  warn?: string | undefined;
317
317
  steps?: {
318
318
  /** 用于重置当前步骤 */
@@ -1,3 +1,4 @@
1
+ /// <reference types="react" />
1
2
  export interface FormState {
2
3
  platform: 'pc' | 'h5' | '' | undefined;
3
4
  order: any;
@@ -29,4 +30,11 @@ export interface PayGroup {
29
30
  _order: any;
30
31
  front_order_uuid?: string;
31
32
  }
32
- export declare const Provider: any, Context: any;
33
+ export declare const Provider: (ComponentUi: any) => any, Context: import("react").Context<{
34
+ state: FormState;
35
+ } & {
36
+ dispatch: (params: {
37
+ type: string;
38
+ payload: any;
39
+ }) => void;
40
+ }>;
@@ -1,3 +1,4 @@
1
+ /// <reference types="react" />
1
2
  import { CalendarDataItem, ScheduleItem } from "./type";
2
3
  import dayjs from "dayjs";
3
4
  export interface FormState {
@@ -68,4 +69,11 @@ export interface FormState {
68
69
  };
69
70
  setGlobalState: Function | null;
70
71
  }
71
- export declare const Provider: any, Context: any;
72
+ export declare const Provider: (ComponentUi: any) => any, Context: import("react").Context<{
73
+ state: FormState;
74
+ } & {
75
+ dispatch: (params: {
76
+ type: string;
77
+ payload: any;
78
+ }) => void;
79
+ }>;
@@ -0,0 +1,103 @@
1
+ import type { Dayjs } from 'dayjs';
2
+ /** dayjs对象格式化为字符串时间 */
3
+ export declare const formatDateToStr: (date: Dayjs[]) => string | string[];
4
+ export declare const getDefaultStartParam: () => string | string[];
5
+ export declare const formatBookingList: (bookingList: any[]) => any[];
6
+ export declare const getNextTimeSlice: (sliceMinutes: number) => Dayjs;
7
+ export declare const getDisabledEdit: ({ shop_discount, bookings, payment_status }: any) => boolean;
8
+ export declare const formatOptions: (detail: any) => any;
9
+ export declare const formatHolder: (detail: any) => any;
10
+ export declare const restoreProductOtherData: (data: any) => {
11
+ product_id: any;
12
+ option: any;
13
+ bundle: any;
14
+ product_variant_id: any;
15
+ quantity: number;
16
+ } | undefined;
17
+ export declare const isSameProduct: (a: any, b: any) => boolean;
18
+ export declare const addService: (list: any[], addItem: any, state: any, isMultiDay?: boolean) => {
19
+ list: any[];
20
+ count: number;
21
+ quantity?: undefined;
22
+ } | {
23
+ list: any[];
24
+ quantity: any;
25
+ count?: undefined;
26
+ };
27
+ export declare const addServiceScroll: (rowKey: string, cacheItem: any) => void;
28
+ export declare const getCartProductOverlay: (state: any) => any;
29
+ export declare const getIsOverlayProduct: (item: any, state: any) => any;
30
+ export declare const getIsShowNumber: (item: any, state: any) => any;
31
+ export declare const genServiceKey: (item: any) => string;
32
+ export declare const genHolderKey: (item: any) => string;
33
+ export declare const getIsParallelResourcesBooking: (record: any) => boolean;
34
+ declare type ScanData = {
35
+ type: string;
36
+ status: 'success' | 'failed';
37
+ scanType: 'nfc' | 'scanner';
38
+ scanCode: string;
39
+ result: {
40
+ searchType: 'customer' | 'wallet' | 'walletPass' | 'product' | 'local_product';
41
+ response: {
42
+ status: boolean;
43
+ code: number;
44
+ message: string;
45
+ data: any;
46
+ };
47
+ };
48
+ };
49
+ export declare const formatScanCustomer: (data: ScanData) => {
50
+ searchType: "customer" | "product" | "wallet" | "walletPass" | "local_product";
51
+ data: any;
52
+ scanCode: string;
53
+ } | null;
54
+ export declare const formatScanGlobal: (data: ScanData) => {
55
+ searchType: "wallet";
56
+ data: any;
57
+ scanCode: string;
58
+ } | {
59
+ searchType: "walletPass";
60
+ data: any;
61
+ scanCode: string;
62
+ } | {
63
+ searchType: "product" | "local_product";
64
+ data: any;
65
+ scanCode: string;
66
+ } | null | undefined;
67
+ export declare const createSimpleCacheItem: (item: any, e: any, state: any) => any;
68
+ export declare const getBookingTicketKey: (osKey: string) => string;
69
+ export declare const getShopDiscountKey: (osKey: string) => string;
70
+ export declare const rulesHooks: {
71
+ getProduct(product: Record<string, any>): {
72
+ booking_id: any;
73
+ id: any;
74
+ _id: any;
75
+ price: any;
76
+ total: any;
77
+ discount_list: any;
78
+ origin_total: any;
79
+ num: any;
80
+ quantity: any;
81
+ vouchersApplicable: any;
82
+ holder_id: any;
83
+ isNormalProduct: any;
84
+ startDate: any;
85
+ bundle: any;
86
+ options: any;
87
+ main_product_selling_price: any;
88
+ };
89
+ setProduct(product: Record<string, any>, values: {
90
+ total: number;
91
+ discount_list: any[];
92
+ price: number;
93
+ quantity: number;
94
+ _id?: string;
95
+ }): {
96
+ _id: any;
97
+ discount_list: any[];
98
+ _extend: any;
99
+ };
100
+ };
101
+ export declare const clearCacheProductDetail: () => void;
102
+ export { getCache, setCache, clearCache, clearAllCache, clearAllCacheByOsKey, getProductCache, setProductCache, clearProductCache, clearAllProductCache, getBoardConfigCache, setBoardConfigCache, clearBoardConfigCache, } from './productCache';
103
+ export type { CacheType } from './productCache';
@@ -190,13 +190,13 @@ var addService = (list, addItem, state, isMultiDay) => {
190
190
  let isSetCount = false;
191
191
  value = list.map((item) => {
192
192
  var _a, _b, _c, _d, _e;
193
- const isGoodPassDiscountProduct = (item.discount_list || []).some((item2) => ["good_pass", "entitlement_pass"].includes(item2.tag || item2.type));
193
+ const isGoodPassDiscountProduct = (item.discount_list || []).some((item2) => item2.type === "good_pass");
194
194
  const isEdit = item == null ? void 0 : item.edit;
195
195
  const bundleDiscountList = [];
196
196
  (((_b = (_a = item == null ? void 0 : item._extend) == null ? void 0 : _a.other) == null ? void 0 : _b.bundle) || []).forEach((item2) => {
197
197
  bundleDiscountList.push(...(item2 == null ? void 0 : item2.discount_list) || []);
198
198
  });
199
- const isGoodPassBundleProduct = bundleDiscountList.some((item2) => ["good_pass", "entitlement_pass"].includes(item2.tag || item2.type));
199
+ const isGoodPassBundleProduct = bundleDiscountList.some((item2) => item2.type === "good_pass");
200
200
  if (isSameProduct(item, addItem) && !isSetCount && !isGoodPassDiscountProduct && !isEdit && !isGoodPassBundleProduct) {
201
201
  isNotSame = false;
202
202
  const quantity = (((_c = item == null ? void 0 : item._extend) == null ? void 0 : _c.quantity) || 1) + (((_d = addItem == null ? void 0 : addItem._extend) == null ? void 0 : _d.quantity) || 1);
@@ -0,0 +1,18 @@
1
+ import React from 'react';
2
+ import './index.less';
3
+ interface AddClientProps {
4
+ onChange: (value: any, isChecked: boolean) => void;
5
+ phone?: string;
6
+ containerProps: {
7
+ className?: string;
8
+ title?: string;
9
+ open?: boolean;
10
+ onCancel?: () => void;
11
+ width?: string | number;
12
+ };
13
+ }
14
+ export interface AddClientRef {
15
+ reset: () => void;
16
+ }
17
+ declare const AddClient: React.ForwardRefExoticComponent<AddClientProps & React.RefAttributes<unknown>>;
18
+ export default AddClient;
@@ -73,6 +73,7 @@ var AddClient = (0, import_react.forwardRef)((props, ref) => {
73
73
  return;
74
74
  }
75
75
  _addClient.run({
76
+ ...values.is_checked ? { sync_voucher_issuance: true } : {},
76
77
  customer: {
77
78
  accepts_marketing: 0,
78
79
  register_channel: "pos",