@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.
- package/build/lowcode/assets-daily.json +11 -11
- package/build/lowcode/assets-dev.json +2 -2
- package/build/lowcode/assets-prod.json +11 -11
- package/build/lowcode/meta.js +1 -1
- package/build/lowcode/render/default/view.js +1 -1
- package/build/lowcode/view.js +1 -1
- package/es/components/booking/addons/model.d.ts +10 -1
- package/es/components/booking/components/footer/utils.d.ts +67 -0
- package/es/components/booking/components/footer/utils.js +0 -13
- package/es/components/booking/components/voucher/index.d.ts +3 -0
- package/es/components/booking/components/voucher/index.js +3 -42
- package/es/components/booking/dashboard/index.js +15 -14
- package/es/components/booking/forms/model.d.ts +10 -1
- package/es/components/booking/info/model.d.ts +10 -1
- package/es/components/booking/info2/service/editService/index.d.ts +8 -0
- package/es/components/booking/info2/service/editService/index.js +11 -31
- package/es/components/booking/info2/service/editService/utils.d.ts +41 -0
- package/es/components/booking/info2/service/editService/utils.js +19 -128
- package/es/components/booking/model.d.ts +9 -1
- package/es/components/booking/notes/model.d.ts +10 -1
- package/es/components/booking/payments/model.d.ts +10 -1
- package/es/components/booking/utils.d.ts +2 -2
- package/es/components/checkout/hooks/useWalletPass.d.ts +1 -1
- package/es/components/eftposPay/amount.d.ts +1 -1
- package/es/components/eftposPay/device.d.ts +1 -1
- package/es/components/eftposPay/hooks.d.ts +2 -2
- package/es/components/eftposPay/store/index.d.ts +5 -5
- package/es/components/pay/toC/model.d.ts +9 -1
- package/es/components/schedules/model.d.ts +9 -1
- package/es/components/ticketBooking/utils/index.d.ts +103 -0
- package/es/components/ticketBooking/utils/index.js +4 -4
- package/es/plus/clinetSearch/Add/index.d.ts +18 -0
- package/es/plus/clinetSearch/Add/index.js +4 -2
- package/es/plus/productSelect/ProductCard/SkuCard/components/Capacity/index.d.ts +1 -1
- package/es/plus/productSelect/ProductCard/SkuCard/components/CardMask/index.d.ts +1 -1
- package/es/plus/productSelect/ProductCard/SkuCard/components/Countdown/index.d.ts +1 -1
- package/es/plus/productSelect/ProductCard/SkuCard/components/Duration/index.d.ts +1 -1
- package/es/plus/productSelect/ProductCard/SkuCard/components/MemberPrice/index.d.ts +1 -1
- package/es/plus/productSelect/ProductCard/SkuCard/components/Resource/index.d.ts +1 -1
- package/es/plus/productSelect/ProductCard/SkuCard/components/Stock/index.d.ts +1 -1
- package/es/plus/productSelect/ProductCard/SkuCard/components/Time/index.d.ts +1 -1
- package/lib/components/booking/addons/model.d.ts +10 -1
- package/lib/components/booking/components/footer/utils.d.ts +67 -0
- package/lib/components/booking/components/footer/utils.js +1 -8
- package/lib/components/booking/components/voucher/index.d.ts +3 -0
- package/lib/components/booking/components/voucher/index.js +3 -43
- package/lib/components/booking/dashboard/index.js +14 -14
- package/lib/components/booking/forms/model.d.ts +10 -1
- package/lib/components/booking/info/model.d.ts +10 -1
- package/lib/components/booking/info2/service/editService/index.d.ts +8 -0
- package/lib/components/booking/info2/service/editService/index.js +12 -38
- package/lib/components/booking/info2/service/editService/utils.d.ts +41 -0
- package/lib/components/booking/info2/service/editService/utils.js +12 -94
- package/lib/components/booking/model.d.ts +9 -1
- package/lib/components/booking/notes/model.d.ts +10 -1
- package/lib/components/booking/payments/model.d.ts +10 -1
- package/lib/components/booking/utils.d.ts +2 -2
- package/lib/components/checkout/hooks/useWalletPass.d.ts +1 -1
- package/lib/components/eftposPay/amount.d.ts +1 -1
- package/lib/components/eftposPay/device.d.ts +1 -1
- package/lib/components/eftposPay/hooks.d.ts +2 -2
- package/lib/components/eftposPay/store/index.d.ts +5 -5
- package/lib/components/pay/toC/model.d.ts +9 -1
- package/lib/components/schedules/model.d.ts +9 -1
- package/lib/components/ticketBooking/utils/index.d.ts +103 -0
- package/lib/components/ticketBooking/utils/index.js +2 -2
- package/lib/plus/clinetSearch/Add/index.d.ts +18 -0
- package/lib/plus/clinetSearch/Add/index.js +1 -0
- package/lib/plus/productSelect/ProductCard/SkuCard/components/Capacity/index.d.ts +1 -1
- package/lib/plus/productSelect/ProductCard/SkuCard/components/CardMask/index.d.ts +1 -1
- package/lib/plus/productSelect/ProductCard/SkuCard/components/Countdown/index.d.ts +1 -1
- package/lib/plus/productSelect/ProductCard/SkuCard/components/Duration/index.d.ts +1 -1
- package/lib/plus/productSelect/ProductCard/SkuCard/components/MemberPrice/index.d.ts +1 -1
- package/lib/plus/productSelect/ProductCard/SkuCard/components/Resource/index.d.ts +1 -1
- package/lib/plus/productSelect/ProductCard/SkuCard/components/Stock/index.d.ts +1 -1
- package/lib/plus/productSelect/ProductCard/SkuCard/components/Time/index.d.ts +1 -1
- 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
|
|
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
|
|
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
|
-
|
|
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 = (
|
|
335
|
-
const 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 ?? ((
|
|
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.
|
|
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 (!!((
|
|
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
|
-
(
|
|
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
|
|
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
|
|
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,
|
|
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 (
|
|
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 (((
|
|
153
|
-
(
|
|
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 (((
|
|
161
|
-
(
|
|
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,
|
|
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:
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
}
|
|
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" | "
|
|
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" | "
|
|
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" | "
|
|
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<"
|
|
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?: "
|
|
302
|
+
mode?: "pay" | "refund" | "fullPay" | "query" | undefined;
|
|
303
303
|
order_id?: string | number | undefined;
|
|
304
|
-
eftpos?: "
|
|
305
|
-
action?: "
|
|
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?: "
|
|
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" | "
|
|
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:
|
|
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:
|
|
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) =>
|
|
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) =>
|
|
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;
|