@pisell/private-materials 6.3.106 → 6.3.107
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/info/clientVariant/hooks/useIsLowSpeedNetwork.d.ts +0 -1
- package/es/components/eftpos/hooks.d.ts +0 -1
- package/es/components/eftposPay/tyro/hooks.d.ts +0 -1
- package/es/components/eventBooking/components/bookingAvailabilityCalendar/components/CalendarDate/CalenDateStatus/index.d.ts +0 -1
- package/es/components/eventBooking/components/bookingAvailabilityCalendar/components/CalendarDate/Item/DayItem/index.d.ts +0 -1
- package/es/components/eventBooking/components/bookingAvailabilityCalendar/components/CalendarDate/Item/index.d.ts +0 -1
- package/es/components/eventBooking/components/bookingAvailabilityCalendar/components/CalendarDate/Status/index.d.ts +0 -1
- package/es/components/pay/toC/PaymentMethods/StripePay/Stripe/StripeSDK/index.d.ts +0 -1
- package/es/components/pay/toC/PaymentMethods/WalletPass/index.d.ts +5 -0
- package/es/components/pay/toC/PaymentMethods/WalletPass/index.js +165 -142
- package/es/components/pay/toC/PaymentMethods/WalletPass/serve.d.ts +6 -0
- package/es/components/pay/toC/PaymentMethods/WalletPass/utils.js +3 -3
- package/es/components/pay/toC/WalletPassBlock/index.js +3 -1
- package/es/components/pay/toC/index.js +65 -31
- package/es/components/pay/toC/model.d.ts +1 -0
- package/es/components/pay/toC/serve.d.ts +18 -0
- package/es/components/pay/toC/serve.js +29 -1
- package/es/components/pay/toC/utils.d.ts +2 -2
- package/es/components/pay/toC/utils.js +4 -0
- package/es/components/shoppingCart/components/Empty/index.d.ts +0 -1
- package/lib/components/booking/info/clientVariant/hooks/useIsLowSpeedNetwork.d.ts +0 -1
- package/lib/components/eftpos/hooks.d.ts +0 -1
- package/lib/components/eftposPay/tyro/hooks.d.ts +0 -1
- package/lib/components/eventBooking/components/bookingAvailabilityCalendar/components/CalendarDate/CalenDateStatus/index.d.ts +0 -1
- package/lib/components/eventBooking/components/bookingAvailabilityCalendar/components/CalendarDate/Item/DayItem/index.d.ts +0 -1
- package/lib/components/eventBooking/components/bookingAvailabilityCalendar/components/CalendarDate/Item/index.d.ts +0 -1
- package/lib/components/eventBooking/components/bookingAvailabilityCalendar/components/CalendarDate/Status/index.d.ts +0 -1
- package/lib/components/pay/toC/PaymentMethods/StripePay/Stripe/StripeSDK/index.d.ts +0 -1
- package/lib/components/pay/toC/PaymentMethods/WalletPass/index.d.ts +5 -0
- package/lib/components/pay/toC/PaymentMethods/WalletPass/index.js +90 -100
- package/lib/components/pay/toC/PaymentMethods/WalletPass/serve.d.ts +6 -0
- package/lib/components/pay/toC/PaymentMethods/WalletPass/utils.js +2 -2
- package/lib/components/pay/toC/WalletPassBlock/index.js +3 -1
- package/lib/components/pay/toC/index.js +52 -19
- package/lib/components/pay/toC/model.d.ts +1 -0
- package/lib/components/pay/toC/serve.d.ts +18 -0
- package/lib/components/pay/toC/serve.js +6 -0
- package/lib/components/pay/toC/utils.d.ts +2 -2
- package/lib/components/pay/toC/utils.js +4 -0
- package/lib/components/shoppingCart/components/Empty/index.d.ts +0 -1
- package/lowcode/eco-cup-list/meta.ts +1 -1
- package/lowcode/eco-customer-list/meta.ts +1 -1
- package/package.json +4 -4
|
@@ -47,10 +47,14 @@ var import_index = require("./index.less");
|
|
|
47
47
|
var import_useEngineContext = __toESM(require("../../../../../hooks/useEngineContext"));
|
|
48
48
|
var { Amount } = import_materials.PisellText;
|
|
49
49
|
var WalletPass = (0, import_react.forwardRef)((props, ref) => {
|
|
50
|
-
var _a, _b, _c, _d, _e;
|
|
51
|
-
const { onWalletPassChange, walletPass, walletSetting } = props;
|
|
50
|
+
var _a, _b, _c, _d, _e, _f;
|
|
51
|
+
const { onWalletPassChange, walletPass, walletSetting, orderDetail, total_amount } = props;
|
|
52
52
|
const context = (0, import_useEngineContext.default)();
|
|
53
|
-
const
|
|
53
|
+
const { walletPassEvaluator } = ((_a = context == null ? void 0 : context.appHelper) == null ? void 0 : _a.utils) || {};
|
|
54
|
+
const { detail } = orderDetail;
|
|
55
|
+
const isWalletCode = (_e = (_d = (_c = (_b = context == null ? void 0 : context.appHelper) == null ? void 0 : _b.utils) == null ? void 0 : _c.businessUtils) == null ? void 0 : _d.getAppByModal) == null ? void 0 : _e.call(_d, "wallet");
|
|
56
|
+
const { cards: recommended, transformList, noApplicableVoucher } = walletPass;
|
|
57
|
+
const [selectedVoucherIds, setSelectedVoucherIds] = (0, import_react.useState)([]);
|
|
54
58
|
const [currentWalletPass, setCurrentWalletPass] = (0, import_react.useState)(walletPass);
|
|
55
59
|
const [loading, setLoading] = (0, import_react.useState)(false);
|
|
56
60
|
const [open, setOpen] = (0, import_react.useState)(false);
|
|
@@ -63,78 +67,69 @@ var WalletPass = (0, import_react.forwardRef)((props, ref) => {
|
|
|
63
67
|
details: []
|
|
64
68
|
});
|
|
65
69
|
const isAutoSelect = (0, import_react.useRef)(false);
|
|
66
|
-
const listRef = (0, import_react.useRef)(null);
|
|
67
70
|
const searchValRef = (0, import_react.useRef)(null);
|
|
68
71
|
const pinVerifyModalRef = (0, import_react.useRef)(null);
|
|
69
|
-
const
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
(
|
|
74
|
-
|
|
75
|
-
|
|
72
|
+
const allVouchersForCalculation = (0, import_react.useMemo)(() => {
|
|
73
|
+
return [...transformList || [], ...addList || []];
|
|
74
|
+
}, [transformList, addList]);
|
|
75
|
+
const selectedVouchers = (0, import_react.useMemo)(() => {
|
|
76
|
+
return selectedVoucherIds.map((id) => allVouchersForCalculation.find((v) => v.id === id)).filter(Boolean);
|
|
77
|
+
}, [selectedVoucherIds, allVouchersForCalculation]);
|
|
78
|
+
const { displayVouchers, displayOtherVouchers, selectedWithDetails, totalDeduction } = (0, import_react.useMemo)(() => {
|
|
79
|
+
if (!walletPassEvaluator || !allVouchersForCalculation.length || !(order == null ? void 0 : order.total_amount)) {
|
|
80
|
+
return {
|
|
81
|
+
displayVouchers: [...transformList || [], ...noApplicableVoucher || []],
|
|
82
|
+
displayOtherVouchers: addList || [],
|
|
83
|
+
selectedWithDetails: [],
|
|
84
|
+
totalDeduction: 0
|
|
85
|
+
};
|
|
86
|
+
}
|
|
87
|
+
if (selectedVouchers.length === 0) {
|
|
88
|
+
return {
|
|
89
|
+
displayVouchers: [...transformList || [], ...noApplicableVoucher || []],
|
|
90
|
+
displayOtherVouchers: addList || [],
|
|
91
|
+
selectedWithDetails: [],
|
|
92
|
+
totalDeduction: 0
|
|
93
|
+
};
|
|
94
|
+
}
|
|
95
|
+
const result = walletPassEvaluator.recalculateVouchers(
|
|
96
|
+
allVouchersForCalculation,
|
|
97
|
+
selectedVouchers,
|
|
98
|
+
order.total_amount,
|
|
99
|
+
detail || []
|
|
100
|
+
);
|
|
101
|
+
const currentCustomerVouchers = [];
|
|
102
|
+
const otherCustomerVouchers = [];
|
|
103
|
+
result.allWithUpdatedStatus.forEach((voucher) => {
|
|
104
|
+
if (voucher.customer_id === (order == null ? void 0 : order.customer_id)) {
|
|
105
|
+
currentCustomerVouchers.push(voucher);
|
|
76
106
|
} else {
|
|
77
|
-
|
|
107
|
+
otherCustomerVouchers.push(voucher);
|
|
78
108
|
}
|
|
79
109
|
});
|
|
80
|
-
return
|
|
81
|
-
|
|
110
|
+
return {
|
|
111
|
+
displayVouchers: [...currentCustomerVouchers, ...noApplicableVoucher || []],
|
|
112
|
+
displayOtherVouchers: otherCustomerVouchers,
|
|
113
|
+
selectedWithDetails: result.selectedWithDetails,
|
|
114
|
+
totalDeduction: result.selectedWithDetails.reduce((sum, v) => sum + (v.actualDeduction || 0), 0)
|
|
115
|
+
};
|
|
116
|
+
}, [selectedVouchers, allVouchersForCalculation, transformList, addList, noApplicableVoucher, order == null ? void 0 : order.total_amount, order == null ? void 0 : order.customer_id, detail, walletPassEvaluator]);
|
|
82
117
|
const prepare_payments = (0, import_react.useMemo)(() => {
|
|
83
118
|
return (0, import_utils3.formatWalletPassList2PreparePayments)(
|
|
84
119
|
(0, import_utils.uniqueByKey)(
|
|
85
|
-
(
|
|
120
|
+
(selectedWithDetails || []).concat(searchSelectData.details),
|
|
86
121
|
"id"
|
|
87
122
|
)
|
|
88
123
|
);
|
|
89
|
-
}, [
|
|
124
|
+
}, [selectedWithDetails, searchSelectData]);
|
|
90
125
|
const selectValue = (0, import_react.useMemo)(() => {
|
|
91
|
-
return
|
|
92
|
-
}, [
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
const other_exact_codes = (0, import_react.useMemo)(() => {
|
|
97
|
-
const codes = [];
|
|
98
|
-
addList.forEach((item) => {
|
|
99
|
-
if (!selectValue.includes(item.id)) {
|
|
100
|
-
codes.push(item.code);
|
|
101
|
-
}
|
|
102
|
-
});
|
|
103
|
-
return codes;
|
|
104
|
-
}, [addList, selectValue]);
|
|
105
|
-
const refreshList = (0, import_ahooks.useMemoizedFn)(() => {
|
|
106
|
-
var _a2, _b2;
|
|
107
|
-
if ((order == null ? void 0 : order.order_id) && (order == null ? void 0 : order.customer_id)) {
|
|
108
|
-
(_b2 = listRef.current) == null ? void 0 : _b2.init(
|
|
109
|
-
{
|
|
110
|
-
order_id: order.order_id,
|
|
111
|
-
available: 2,
|
|
112
|
-
prepare_payments,
|
|
113
|
-
filter_prepare_wallet_pass: 1,
|
|
114
|
-
sale_channel: ((_a2 = order._order) == null ? void 0 : _a2.sale_channel) || "online-store",
|
|
115
|
-
other_exact_codes
|
|
116
|
-
},
|
|
117
|
-
// 已选择的卡片接口中不会返回,所以追加进入列表
|
|
118
|
-
(val) => {
|
|
119
|
-
const idMap = val.reduce((pre, cur) => {
|
|
120
|
-
return {
|
|
121
|
-
...pre,
|
|
122
|
-
[cur.id]: cur
|
|
123
|
-
};
|
|
124
|
-
}, {});
|
|
125
|
-
setAddList((prevState) => {
|
|
126
|
-
return prevState.map((item) => {
|
|
127
|
-
if (idMap[item.id]) {
|
|
128
|
-
return idMap[item.id];
|
|
129
|
-
}
|
|
130
|
-
return item;
|
|
131
|
-
});
|
|
132
|
-
});
|
|
133
|
-
return [...currentCustomerWalletPass || [], ...val];
|
|
134
|
-
}
|
|
135
|
-
);
|
|
126
|
+
return selectedVoucherIds;
|
|
127
|
+
}, [selectedVoucherIds]);
|
|
128
|
+
(0, import_react.useEffect)(() => {
|
|
129
|
+
if (recommended && recommended.length > 0) {
|
|
130
|
+
setSelectedVoucherIds(recommended.map((v) => v.id));
|
|
136
131
|
}
|
|
137
|
-
});
|
|
132
|
+
}, [recommended]);
|
|
138
133
|
(0, import_react.useEffect)(() => {
|
|
139
134
|
if ((order == null ? void 0 : order.order_id) && searchValRef.current) {
|
|
140
135
|
searchList(searchValRef.current, true);
|
|
@@ -145,16 +140,16 @@ var WalletPass = (0, import_react.forwardRef)((props, ref) => {
|
|
|
145
140
|
setOrder(res);
|
|
146
141
|
setOpen(true);
|
|
147
142
|
setCurrentWalletPass(walletPass);
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
}
|
|
143
|
+
if (recommended && recommended.length > 0) {
|
|
144
|
+
setSelectedVoucherIds(recommended.map((v) => v.id));
|
|
145
|
+
}
|
|
151
146
|
};
|
|
152
147
|
const searchList = async ({ code, customer_pin_key }, isSelectChange) => {
|
|
153
148
|
var _a2;
|
|
154
149
|
if (!(order == null ? void 0 : order.order_id)) return;
|
|
155
150
|
setLoading(true);
|
|
156
151
|
try {
|
|
157
|
-
const
|
|
152
|
+
const baseResult = await (0, import_serve.searchMachineCodeList)({
|
|
158
153
|
order_id: order.order_id,
|
|
159
154
|
code,
|
|
160
155
|
prepare_payments,
|
|
@@ -162,7 +157,7 @@ var WalletPass = (0, import_react.forwardRef)((props, ref) => {
|
|
|
162
157
|
sale_channel: ((_a2 = order._order) == null ? void 0 : _a2.sale_channel) || "online-store",
|
|
163
158
|
customer_pin_key
|
|
164
159
|
});
|
|
165
|
-
if (!
|
|
160
|
+
if (!baseResult) {
|
|
166
161
|
if (!isSelectChange) {
|
|
167
162
|
(0, import_materials.PisellToast)({
|
|
168
163
|
content: import_utils.locales.getText("tocPay.text.walletSearchEmpty")
|
|
@@ -173,6 +168,11 @@ var WalletPass = (0, import_react.forwardRef)((props, ref) => {
|
|
|
173
168
|
if (isSelectChange && !searchValRef.current) {
|
|
174
169
|
return;
|
|
175
170
|
}
|
|
171
|
+
let result = walletPassEvaluator.searchVoucherFormat({
|
|
172
|
+
vouchers: baseResult,
|
|
173
|
+
orderTotalAmount: order.total_amount,
|
|
174
|
+
products: detail
|
|
175
|
+
});
|
|
176
176
|
setSearchData(
|
|
177
177
|
(0, import_utils2.formatMachineCodeServer2CardList)(
|
|
178
178
|
[...searchSelectData.details, ...result],
|
|
@@ -235,23 +235,23 @@ var WalletPass = (0, import_react.forwardRef)((props, ref) => {
|
|
|
235
235
|
});
|
|
236
236
|
};
|
|
237
237
|
const handleSelectOk = () => {
|
|
238
|
-
|
|
239
|
-
(0
|
|
240
|
-
[
|
|
241
|
-
...walletPassSelectCards || [],
|
|
242
|
-
...searchSelectData.details
|
|
243
|
-
],
|
|
244
|
-
"id"
|
|
245
|
-
)
|
|
238
|
+
const otherCustomerSearchVouchers = searchSelectData.details.filter(
|
|
239
|
+
(item) => item.customer_id !== (order == null ? void 0 : order.customer_id)
|
|
246
240
|
);
|
|
247
241
|
setAddList((prevState) => {
|
|
248
242
|
return (0, import_utils.uniqueByKey)(
|
|
249
|
-
[...prevState, ...
|
|
243
|
+
[...prevState, ...otherCustomerSearchVouchers],
|
|
250
244
|
"id"
|
|
251
|
-
).filter(
|
|
252
|
-
(item) => !(order == null ? void 0 : order.customer_id) || item.customer_id !== (order == null ? void 0 : order.customer_id)
|
|
253
245
|
);
|
|
254
246
|
});
|
|
247
|
+
const newSelectedIds = (0, import_utils.uniqueByKey)(
|
|
248
|
+
[
|
|
249
|
+
...selectedWithDetails || [],
|
|
250
|
+
...searchSelectData.details
|
|
251
|
+
],
|
|
252
|
+
"id"
|
|
253
|
+
).map((v) => v.id);
|
|
254
|
+
setSelectedVoucherIds(newSelectedIds);
|
|
255
255
|
handleSearchModalClose();
|
|
256
256
|
};
|
|
257
257
|
const handleAddChange = (0, import_ahooks.useMemoizedFn)(
|
|
@@ -263,26 +263,15 @@ var WalletPass = (0, import_react.forwardRef)((props, ref) => {
|
|
|
263
263
|
});
|
|
264
264
|
}
|
|
265
265
|
);
|
|
266
|
-
const changeWalletPass = (cards) => {
|
|
267
|
-
setCurrentWalletPass == null ? void 0 : setCurrentWalletPass({
|
|
268
|
-
cards,
|
|
269
|
-
amount: (0, import_utils3.calcWalletPassListAmount)(cards)
|
|
270
|
-
});
|
|
271
|
-
setTimeout(() => {
|
|
272
|
-
refreshList();
|
|
273
|
-
});
|
|
274
|
-
};
|
|
275
266
|
const handleSelectChange = (val, details, type) => {
|
|
276
|
-
|
|
277
|
-
if (type === "other") {
|
|
278
|
-
cards = currentCustomerWalletPass.concat(cards);
|
|
279
|
-
} else if (type === "current") {
|
|
280
|
-
cards = otherCustomerWalletPass.concat(cards);
|
|
281
|
-
}
|
|
282
|
-
changeWalletPass(cards);
|
|
267
|
+
setSelectedVoucherIds(val);
|
|
283
268
|
};
|
|
284
269
|
const handleRedeem = () => {
|
|
285
|
-
onWalletPassChange == null ? void 0 : onWalletPassChange(
|
|
270
|
+
onWalletPassChange == null ? void 0 : onWalletPassChange({
|
|
271
|
+
...currentWalletPass,
|
|
272
|
+
cards: selectedWithDetails,
|
|
273
|
+
amount: totalDeduction
|
|
274
|
+
});
|
|
286
275
|
setOpen(false);
|
|
287
276
|
};
|
|
288
277
|
const handleWalletClose = () => {
|
|
@@ -307,16 +296,16 @@ var WalletPass = (0, import_react.forwardRef)((props, ref) => {
|
|
|
307
296
|
onCancel: () => handleWalletClose(),
|
|
308
297
|
cancelVisible: false,
|
|
309
298
|
destroyOnClose: true,
|
|
310
|
-
okText: /* @__PURE__ */ import_react.default.createElement("div", null, import_utils.locales.getText("tocPay.text.redeem"), " ", /* @__PURE__ */ import_react.default.createElement(Amount, { value:
|
|
299
|
+
okText: /* @__PURE__ */ import_react.default.createElement("div", null, import_utils.locales.getText("tocPay.text.redeem"), " ", /* @__PURE__ */ import_react.default.createElement(Amount, { value: totalDeduction })),
|
|
311
300
|
onOk: handleRedeem
|
|
312
301
|
},
|
|
313
302
|
/* @__PURE__ */ import_react.default.createElement("div", { className: "", style: { marginTop: 24 } }, /* @__PURE__ */ import_react.default.createElement(import_MultiModeSearch.default, { onChange: handleSearch }), /* @__PURE__ */ import_react.default.createElement("div", { className: "wallet-pass-modal-multi-selection-available" }, /* @__PURE__ */ import_react.default.createElement("div", { className: "wallet-pass-modal-multi-selection-available-title" }, /* @__PURE__ */ import_react.default.createElement(import_icons.InfoCircleOutlined, { className: "wallet-pass-modal-multi-selection-available-title-icon" }), import_utils.locales.getText("tocPay.text.multipleSelectionAvailable")), /* @__PURE__ */ import_react.default.createElement("div", { className: "wallet-pass-modal-multi-selection-available-desc" }, import_utils.locales.getText(
|
|
314
303
|
"tocPay.text.youCanSelectMultipleWalletPassesToCombineForPayment"
|
|
315
|
-
)(walletSetting.name))),
|
|
304
|
+
)(walletSetting.name))), displayOtherVouchers.length > 0 && /* @__PURE__ */ import_react.default.createElement(
|
|
316
305
|
import_List.default,
|
|
317
306
|
{
|
|
318
307
|
walletSetting,
|
|
319
|
-
data:
|
|
308
|
+
data: (0, import_utils2.formatMachineCodeServer2CardList)(displayOtherVouchers, selectValue),
|
|
320
309
|
title: import_utils.locales.getText("tocPay.text.couponCodesAdded"),
|
|
321
310
|
onChange: handleOtherChange,
|
|
322
311
|
value: selectValue,
|
|
@@ -329,9 +318,10 @@ var WalletPass = (0, import_react.forwardRef)((props, ref) => {
|
|
|
329
318
|
walletSetting,
|
|
330
319
|
title: walletSetting.name,
|
|
331
320
|
onChange: handleCurrentChange,
|
|
332
|
-
|
|
321
|
+
data: (0, import_utils2.formatMachineCodeServer2CardList)(displayVouchers, selectValue),
|
|
333
322
|
value: selectValue,
|
|
334
323
|
onLoadingChange: setLoading,
|
|
324
|
+
loading,
|
|
335
325
|
customer_id: order == null ? void 0 : order.customer_id
|
|
336
326
|
}
|
|
337
327
|
))
|
|
@@ -347,7 +337,7 @@ var WalletPass = (0, import_react.forwardRef)((props, ref) => {
|
|
|
347
337
|
okText: import_utils.locales.getText("tocPay.text.select"),
|
|
348
338
|
onOk: handleSelectOk,
|
|
349
339
|
okButtonProps: {
|
|
350
|
-
disabled: ((
|
|
340
|
+
disabled: ((_f = searchSelectData.ids) == null ? void 0 : _f.length) === 0
|
|
351
341
|
}
|
|
352
342
|
},
|
|
353
343
|
/* @__PURE__ */ import_react.default.createElement("div", { className: "", style: { marginTop: 24 } }, /* @__PURE__ */ import_react.default.createElement(
|
|
@@ -56,6 +56,12 @@ export declare type WalletPassDataType = {
|
|
|
56
56
|
metadata?: {
|
|
57
57
|
validity_type: string;
|
|
58
58
|
};
|
|
59
|
+
/** 前端计算 可用最大金额 */
|
|
60
|
+
_available_max_amount?: number;
|
|
61
|
+
/** 前端计算 统一可用状态 */
|
|
62
|
+
_unified_available_status?: 0 | 1;
|
|
63
|
+
/** 前端计算 禁用原因 */
|
|
64
|
+
reason?: string;
|
|
59
65
|
};
|
|
60
66
|
declare type Shop = {
|
|
61
67
|
id: number;
|
|
@@ -53,8 +53,8 @@ var formatMachineCodeServer2CardList = (data, selectId = []) => {
|
|
|
53
53
|
showDetail: false,
|
|
54
54
|
showQrCode: false,
|
|
55
55
|
code: item.code,
|
|
56
|
-
disabled: !item.unified_available_status,
|
|
57
|
-
disabledReason: (_b = item.unified_messages) == null ? void 0 : _b.title,
|
|
56
|
+
disabled: (0, import_utils.isNumber)(item._unified_available_status) ? !item._unified_available_status : !item.unified_available_status,
|
|
57
|
+
disabledReason: (0, import_utils.isNumber)(item._unified_available_status) ? item.reason : (_b = item.unified_messages) == null ? void 0 : _b.title,
|
|
58
58
|
cover: (_c = item.product) == null ? void 0 : _c.cover,
|
|
59
59
|
qrCode: item.code,
|
|
60
60
|
validDate: voucherTime(item),
|
|
@@ -166,7 +166,9 @@ var WalletPassBlock = (props, ref) => {
|
|
|
166
166
|
ref: walletPassRef,
|
|
167
167
|
walletSetting,
|
|
168
168
|
onWalletPassChange,
|
|
169
|
-
walletPass: payGroup == null ? void 0 : payGroup.walletPass
|
|
169
|
+
walletPass: payGroup == null ? void 0 : payGroup.walletPass,
|
|
170
|
+
orderDetail: payGroup == null ? void 0 : payGroup.orderDetail,
|
|
171
|
+
total_amount: payGroup == null ? void 0 : payGroup.total_amount
|
|
170
172
|
}
|
|
171
173
|
), /* @__PURE__ */ import_react.default.createElement(
|
|
172
174
|
import_WalletAvailable.default,
|
|
@@ -49,6 +49,7 @@ var import_usePaymentLogger = __toESM(require("../../../hooks/usePaymentLogger")
|
|
|
49
49
|
var import_utils2 = require("../../../utils");
|
|
50
50
|
var import_payGroup = require("./payGroup");
|
|
51
51
|
var import_locales = __toESM(require("./locales"));
|
|
52
|
+
var import_serve2 = require("./PaymentMethods/WalletPass/serve");
|
|
52
53
|
var import_utils3 = require("./utils");
|
|
53
54
|
var import_status = require("./status");
|
|
54
55
|
var import_index = require("./index.less");
|
|
@@ -154,7 +155,7 @@ var ToCPay = (props, ref) => {
|
|
|
154
155
|
}
|
|
155
156
|
};
|
|
156
157
|
const _getPaymentsAndWalletPass = async (order) => {
|
|
157
|
-
var _a2, _b2;
|
|
158
|
+
var _a2, _b2, _c2;
|
|
158
159
|
paymentLogger.addLog({
|
|
159
160
|
key: "获取支付列表开始",
|
|
160
161
|
value: {
|
|
@@ -162,11 +163,22 @@ var ToCPay = (props, ref) => {
|
|
|
162
163
|
}
|
|
163
164
|
});
|
|
164
165
|
try {
|
|
165
|
-
const data = await
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
166
|
+
const [data, allList, orderBasicDetail] = await Promise.all([
|
|
167
|
+
(0, import_serve.getPaymentsAndWalletPass)({
|
|
168
|
+
order_id: order.order_id,
|
|
169
|
+
total_amount: order.amount,
|
|
170
|
+
sale_channel: order.sale_channel || "online-store"
|
|
171
|
+
}),
|
|
172
|
+
(0, import_serve2.getMachineCodeList)({
|
|
173
|
+
order_id: order.order_id,
|
|
174
|
+
available: 2,
|
|
175
|
+
prepare_payments: [],
|
|
176
|
+
filter_prepare_wallet_pass: 1,
|
|
177
|
+
sale_channel: ((_a2 = order._order) == null ? void 0 : _a2.sale_channel) || "online-store",
|
|
178
|
+
other_exact_codes: []
|
|
179
|
+
}),
|
|
180
|
+
(0, import_serve.getOrderBasicDetail)(order.order_id)
|
|
181
|
+
]);
|
|
170
182
|
const {
|
|
171
183
|
remain_amount = 0,
|
|
172
184
|
wallet_pass_recommend_list,
|
|
@@ -174,39 +186,60 @@ var ToCPay = (props, ref) => {
|
|
|
174
186
|
payment_list,
|
|
175
187
|
walletPass
|
|
176
188
|
} = data || {};
|
|
189
|
+
const products = (orderBasicDetail.detail || []).map((item) => {
|
|
190
|
+
var _a3;
|
|
191
|
+
return {
|
|
192
|
+
...item,
|
|
193
|
+
is_price_include_tax: orderBasicDetail.is_price_include_tax,
|
|
194
|
+
product_bundle: (_a3 = item.product_bundle || []) == null ? void 0 : _a3.map((bundle) => {
|
|
195
|
+
return {
|
|
196
|
+
...bundle,
|
|
197
|
+
is_price_include_tax: orderBasicDetail.is_price_include_tax
|
|
198
|
+
};
|
|
199
|
+
})
|
|
200
|
+
};
|
|
201
|
+
});
|
|
202
|
+
const res = utils.walletPassEvaluator.getRecommendedVouchers({
|
|
203
|
+
orderTotalAmount: Math.min(orderBasicDetail.product_unpaid_total_pay_amount, order.amount),
|
|
204
|
+
products,
|
|
205
|
+
vouchers: allList || []
|
|
206
|
+
});
|
|
207
|
+
const { recommended, transformList, noApplicableVoucher, recommendedAmount } = res;
|
|
177
208
|
paymentLogger.addLog({
|
|
178
209
|
key: "支付数据获取",
|
|
179
210
|
value: ""
|
|
180
211
|
});
|
|
181
|
-
const
|
|
182
|
-
(item) => {
|
|
183
|
-
return {
|
|
184
|
-
...item,
|
|
185
|
-
customer_id: customer_id || item.customer_id
|
|
186
|
-
};
|
|
187
|
-
}
|
|
188
|
-
);
|
|
212
|
+
const waitAmount2 = new import_decimal.Decimal((order == null ? void 0 : order.amount) || 0).minus(new import_decimal.Decimal(recommendedAmount)).toNumber();
|
|
189
213
|
dispatch({
|
|
190
214
|
type: "setPayGroup",
|
|
191
215
|
payload: {
|
|
192
216
|
// ...state.payGroup,
|
|
193
217
|
order_id: order == null ? void 0 : order.order_id,
|
|
194
218
|
// total_amount: order?.amount,
|
|
219
|
+
orderDetail: orderBasicDetail,
|
|
195
220
|
// 原订单信息
|
|
196
221
|
_order: order,
|
|
197
222
|
payment_group_id: order == null ? void 0 : order.payment_group_id,
|
|
198
223
|
// 支付方式没有walletPass时walletPass设置null
|
|
199
224
|
walletPass: walletPass ? {
|
|
200
|
-
...(
|
|
225
|
+
...(_b2 = state.payGroup) == null ? void 0 : _b2.walletPass,
|
|
201
226
|
...walletPass,
|
|
202
|
-
|
|
203
|
-
cards:
|
|
227
|
+
// 推荐钱包
|
|
228
|
+
cards: recommended,
|
|
229
|
+
// 推荐金额
|
|
230
|
+
amount: recommendedAmount,
|
|
231
|
+
// 不可用钱包
|
|
232
|
+
noApplicableVoucher,
|
|
233
|
+
// 转换列表
|
|
234
|
+
transformList
|
|
235
|
+
// amount: wallet_pass_amount,
|
|
236
|
+
// cards: wallet_pass_recommend_list,
|
|
204
237
|
} : null,
|
|
205
238
|
total_amount: order == null ? void 0 : order.amount,
|
|
206
|
-
wait_amount:
|
|
239
|
+
wait_amount: Math.max(0, waitAmount2)
|
|
207
240
|
}
|
|
208
241
|
});
|
|
209
|
-
await ((
|
|
242
|
+
await ((_c2 = paymentListRef.current) == null ? void 0 : _c2.init(payment_list, remain_amount || 0));
|
|
210
243
|
setTimeout(() => {
|
|
211
244
|
setLoading(false);
|
|
212
245
|
}, 100);
|
|
@@ -62,3 +62,21 @@ export declare const getWalletNameAndPopupStatus: (values: {
|
|
|
62
62
|
* @description: 获取支付结果
|
|
63
63
|
*/
|
|
64
64
|
export declare const getPaymentResult: (values: any) => Promise<any>;
|
|
65
|
+
declare type OrderBasicDetail = {
|
|
66
|
+
id: number;
|
|
67
|
+
status: string;
|
|
68
|
+
payment_status: string;
|
|
69
|
+
order_time: string;
|
|
70
|
+
detail: any[];
|
|
71
|
+
product_unpaid_total_pay_amount: number;
|
|
72
|
+
product_paid_total_pay_amount: number;
|
|
73
|
+
is_price_include_tax: 1 | 0;
|
|
74
|
+
};
|
|
75
|
+
/**
|
|
76
|
+
* @title: 查询订单基础信息和订单商品信息
|
|
77
|
+
* @description: 查询订单基础信息和订单商品信息
|
|
78
|
+
* @param {string} order_id
|
|
79
|
+
* @return {*}
|
|
80
|
+
*/
|
|
81
|
+
export declare const getOrderBasicDetail: (order_id: string) => Promise<OrderBasicDetail>;
|
|
82
|
+
export {};
|
|
@@ -19,6 +19,7 @@ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: tru
|
|
|
19
19
|
// src/components/pay/toC/serve.ts
|
|
20
20
|
var serve_exports = {};
|
|
21
21
|
__export(serve_exports, {
|
|
22
|
+
getOrderBasicDetail: () => getOrderBasicDetail,
|
|
22
23
|
getPaymentInit: () => getPaymentInit,
|
|
23
24
|
getPaymentList: () => getPaymentList,
|
|
24
25
|
getPaymentResult: () => getPaymentResult,
|
|
@@ -77,8 +78,13 @@ var getWalletNameAndPopupStatus = async (values) => {
|
|
|
77
78
|
return data;
|
|
78
79
|
};
|
|
79
80
|
var getPaymentResult = (values) => import_utils.request.getRequest().get(`/h5/pay/order/payment/result`, values);
|
|
81
|
+
var getOrderBasicDetail = async (order_id) => {
|
|
82
|
+
const { data } = await import_utils.request.getRequest().get(`/h5/order/order/${order_id}/basic-detail`, {});
|
|
83
|
+
return data;
|
|
84
|
+
};
|
|
80
85
|
// Annotate the CommonJS export names for ESM import in node:
|
|
81
86
|
0 && (module.exports = {
|
|
87
|
+
getOrderBasicDetail,
|
|
82
88
|
getPaymentInit,
|
|
83
89
|
getPaymentList,
|
|
84
90
|
getPaymentResult,
|
|
@@ -22,7 +22,7 @@ export declare const formatWalletPassParams: (payGroup: PayGroup) => {
|
|
|
22
22
|
order_id: string;
|
|
23
23
|
payment_group_id: number;
|
|
24
24
|
payments: {
|
|
25
|
-
amount: string;
|
|
25
|
+
amount: string | number;
|
|
26
26
|
wallet_pass_use_value: any;
|
|
27
27
|
voucher_id: any;
|
|
28
28
|
tag: any;
|
|
@@ -48,7 +48,7 @@ export declare const isFranchiseeShop: (path?: any, history?: any) => any;
|
|
|
48
48
|
*/
|
|
49
49
|
export declare const getFranchiseeShopId: (path?: any, history?: any) => number;
|
|
50
50
|
export declare const formatFranchiseeRoute: (url: string, history?: any) => string;
|
|
51
|
-
export declare const getAvailableMaxAmount: (data: WalletPassDataType) => string;
|
|
51
|
+
export declare const getAvailableMaxAmount: (data: WalletPassDataType) => string | number;
|
|
52
52
|
export declare const clientPayment: (params: {
|
|
53
53
|
order_id: number;
|
|
54
54
|
type: "aliPay" | "wxPay" | 'google_pay';
|
|
@@ -32,6 +32,7 @@ __export(utils_exports, {
|
|
|
32
32
|
module.exports = __toCommonJS(utils_exports);
|
|
33
33
|
var import_decimal = require("decimal.js");
|
|
34
34
|
var import_status = require("./status");
|
|
35
|
+
var import_utils = require("@pisell/utils");
|
|
35
36
|
var calcWalletPassListAmount = (list) => {
|
|
36
37
|
return list.reduce((pre, cur) => pre.add(new import_decimal.Decimal(String(getAvailableMaxAmount(cur) || 0))), new import_decimal.Decimal("0")).toNumber();
|
|
37
38
|
};
|
|
@@ -84,6 +85,9 @@ var formatFranchiseeRoute = (url, history) => {
|
|
|
84
85
|
return url;
|
|
85
86
|
};
|
|
86
87
|
var getAvailableMaxAmount = (data) => {
|
|
88
|
+
if ((0, import_utils.isNumber)(data._available_max_amount)) {
|
|
89
|
+
return data._available_max_amount;
|
|
90
|
+
}
|
|
87
91
|
return data.tag !== "point_card" ? data.available_max_amount : data == null ? void 0 : data.recommended_usage_amount;
|
|
88
92
|
};
|
|
89
93
|
var clientPayment = (params) => {
|
|
@@ -9,7 +9,7 @@ const EcoCustomerListMeta: ComponentMetadata = {
|
|
|
9
9
|
"devMode": "proCode",
|
|
10
10
|
"npm": {
|
|
11
11
|
"package": "@pisell/private-materials",
|
|
12
|
-
"version": "6.3.
|
|
12
|
+
"version": "6.3.106",
|
|
13
13
|
"exportName": "EcoCustomerList",
|
|
14
14
|
"main": "src/index.ts",
|
|
15
15
|
"destructuring": true,
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@pisell/private-materials",
|
|
3
|
-
"version": "6.3.
|
|
3
|
+
"version": "6.3.107",
|
|
4
4
|
"main": "./lib/index.js",
|
|
5
5
|
"module": "./es/index.js",
|
|
6
6
|
"types": "./lib/index.d.ts",
|
|
@@ -76,10 +76,10 @@
|
|
|
76
76
|
"react-infinite-scroll-component": "^6.1.0",
|
|
77
77
|
"react-resizable": "^3.0.5",
|
|
78
78
|
"styled-components": "^6.0.0-rc.3",
|
|
79
|
-
"@pisell/materials": "6.3.27",
|
|
80
79
|
"@pisell/utils": "3.0.5",
|
|
81
|
-
"@pisell/
|
|
82
|
-
"@pisell/icon": "0.0.11"
|
|
80
|
+
"@pisell/materials": "6.3.28",
|
|
81
|
+
"@pisell/icon": "0.0.11",
|
|
82
|
+
"@pisell/date-picker": "3.0.8"
|
|
83
83
|
},
|
|
84
84
|
"peerDependencies": {
|
|
85
85
|
"react": "^18.0.0",
|