@pisell/private-materials 3.4.3 → 3.4.4
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/index.js +1 -1
- package/build/lowcode/meta.js +1 -1
- package/build/lowcode/preview.js +13 -13
- package/build/lowcode/render/default/view.css +1 -1
- package/build/lowcode/render/default/view.js +4 -4
- package/build/lowcode/view.css +1 -1
- package/build/lowcode/view.js +7 -7
- package/es/components/Sales/Cart/index.js +5 -1
- package/es/components/Sales/Cart/utils.d.ts +40 -0
- package/es/components/Sales/Cart/utils.js +187 -0
- package/es/components/Sales/Checkout/index.d.ts +4 -0
- package/es/components/Sales/Checkout/index.js +52 -8
- package/es/components/Sales/Checkout/serve.d.ts +13 -0
- package/es/components/Sales/Checkout/serve.js +16 -2
- package/es/components/Sales/Checkout/utils.d.ts +1 -0
- package/es/components/Sales/Checkout/utils.js +9 -2
- package/es/components/Sales/Customer/index.d.ts +25 -0
- package/es/components/Sales/Event/Detail.d.ts +1 -0
- package/es/components/Sales/Event/Detail.js +45 -11
- package/es/components/Sales/Event/serve.d.ts +10 -0
- package/es/components/Sales/Event/serve.js +25 -0
- package/es/components/Sales/Summary/index.d.ts +10 -0
- package/es/components/Sales/Summary/index.js +17 -2
- package/es/components/Sales/Summary/serve.d.ts +1 -0
- package/es/components/Sales/Summary/serve.js +6 -0
- package/es/components/Sales/Summary/utils.d.ts +16 -1
- package/es/components/Sales/Summary/utils.js +43 -1
- package/es/components/appointmentBooking/components/Content/index.js +15 -1
- package/es/components/appointmentBooking/components/Deposit/index.d.ts +6 -0
- package/es/components/appointmentBooking/components/Deposit/index.js +27 -7
- package/es/components/appointmentBooking/components/Form/index.d.ts +4 -0
- package/es/components/appointmentBooking/components/Form/utils.d.ts +8 -0
- package/es/components/appointmentBooking/deposit/components/PolicyModal/index.js +25 -20
- package/es/components/appointmentBooking/deposit/index.js +4 -2
- package/es/components/booking/components/TabProduct/tabs/index.js +1 -5
- package/es/components/booking/components/browserSelect/index.js +1 -1
- package/es/components/booking/components/footer/index.js +32 -24
- package/es/components/booking/forms/model.js +5 -5
- package/es/components/booking/info/service/Lists.d.ts +2 -0
- package/es/components/booking/info/service/addService/utils.d.ts +1 -1
- package/es/components/booking/info/service/like/index.js +1 -1
- package/es/components/booking/info/utils.js +1 -1
- package/es/components/booking/info2/service/addService/utils.d.ts +1 -1
- package/es/components/booking/info2/service/index.d.ts +4 -0
- package/es/components/booking/info2/utils.d.ts +4 -0
- package/es/components/booking/info2/utilsByBooking.js +9 -3
- package/es/components/booking/materiels/startTime/index.js +1 -1
- package/es/components/booking/notes/NoteBlock/NoteItem/index.js +1 -1
- package/es/components/booking/notes/NoteBlock/index.js +11 -11
- package/es/components/booking/notes/model.js +5 -5
- package/es/components/booking/payments/model.js +5 -5
- package/es/components/booking/utils.d.ts +2 -2
- 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/eventBooking/components/Provider/Cart/ContinueButton/index.js +29 -17
- package/es/components/eventBooking/components/Provider/Cart/Deposit/index.d.ts +2 -0
- package/es/components/eventBooking/components/Provider/Cart/Deposit/index.js +17 -0
- package/es/components/eventBooking/components/Provider/Cart/Item/Total.js +10 -6
- package/es/components/eventBooking/components/Provider/Cart/Item/index.js +4 -2
- package/es/components/eventBooking/components/bookingDetailModal/index.js +6 -3
- package/es/components/eventBooking/locales.d.ts +24 -0
- package/es/components/eventBooking/locales.js +27 -3
- package/es/components/listComponent/index.js +5 -5
- package/es/components/pay/toC/PaymentMethods/GlobePayAliPayH5/index.js +18 -3
- package/es/components/pay/toC/PaymentMethods/MWCreditCard/TDSPay/ThreedsLoading/index.d.ts +1 -1
- package/es/components/pay/toC/PaymentMethods/MWCreditCard/TDSPay/ThreedsLoading/index.js +7 -2
- package/es/components/pay/toC/PaymentMethods/MWCreditCard/TDSPay/ThreedsLoading/index.less +8 -0
- package/es/components/pay/toC/PaymentMethods/SuperPayAliPayH5/index.js +18 -3
- package/es/components/pay/toC/PaymentMethods/WalletPass/serve.d.ts +113 -0
- package/es/components/pay/toC/locales.d.ts +3 -0
- package/es/components/pay/toC/locales.js +3 -0
- package/es/components/pay/toC/utils.d.ts +57 -0
- package/es/components/productExtension/card/index.js +3 -3
- package/es/components/productExtension/fields/Actor/CutOffTime/index.js +1 -1
- package/es/components/productExtension/fields/Forms/index.js +12 -12
- package/es/components/productExtension/fields/SelectProducts/ProductItemPreview/index.js +1 -1
- package/es/components/productExtension/fields/SelectProducts/server.js +2 -2
- package/es/components/productExtension/fields/SelectResourcesTable/server.js +2 -2
- package/es/components/productExtension/server.js +2 -2
- package/es/components/ruleSetting/ruleBorder/index.js +1 -1
- package/es/components/schedules/calendar/index.js +4 -4
- package/es/components/schedules/calendar/serve.js +2 -2
- package/es/components/schedules/components/CurrentDay/index.js +5 -5
- package/es/components/schedules/components/CurrentDay/serve.js +2 -2
- package/es/components/schedules/components/DropdownSort/index.js +1 -1
- package/es/components/schedules/components/ResourceList/index.js +1 -1
- package/es/components/schedules/components/Search/index.js +5 -5
- package/es/components/schedules/model.js +5 -5
- package/es/components/schedules/openHours/index.js +1 -1
- package/es/components/schedules/openHours/serve.js +2 -2
- package/es/components/schedules/products/ProductDetailDrawer/ProductDetail/MaxParticipantsModule/index.js +1 -1
- package/es/components/schedules/products/ProductDetailDrawer/ProductDetail/ResourcesModule/index.js +5 -5
- package/es/components/schedules/products/ProductDetailDrawer/ProductDetail/SchedulesModule/index.js +4 -4
- package/es/components/schedules/products/ProductDetailDrawer/index.js +3 -3
- package/es/components/schedules/products/serve.js +2 -2
- package/es/components/schedules/products/utils.js +5 -5
- package/es/components/schedules/resources/detail/detailContent.js +2 -2
- package/es/components/schedules/resources/detail/index.js +10 -10
- package/es/components/schedules/resources/list/index.js +2 -2
- package/es/components/schedules/resources/relationProduct/index.js +1 -1
- package/es/components/schedules/resources/serve.js +2 -2
- package/es/components/schedules/schedules/ScheduleDetailDrawer/index.js +9 -9
- package/es/components/schedules/utils.d.ts +1 -1
- package/es/components/schedules/utils.js +4 -4
- package/es/components/selectModal/index.js +2 -2
- package/es/components/shoppingCart/components/Cart/Product.d.ts +3 -0
- package/es/components/ticketBooking/components/menuBar/index.js +38 -2
- package/es/components/ticketBooking/components/menuBar/index.less +8 -0
- package/es/components/ticketBooking/locales.d.ts +174 -0
- package/es/components/ticketBooking/locales.js +6 -3
- package/es/hooks/useComponents.js +1 -1
- package/es/utils/index.d.ts +1 -1
- package/lib/components/Sales/Cart/index.js +1 -0
- package/lib/components/Sales/Cart/utils.d.ts +40 -0
- package/lib/components/Sales/Cart/utils.js +129 -0
- package/lib/components/Sales/Checkout/index.d.ts +4 -0
- package/lib/components/Sales/Checkout/index.js +39 -7
- package/lib/components/Sales/Checkout/serve.d.ts +13 -0
- package/lib/components/Sales/Checkout/serve.js +7 -2
- package/lib/components/Sales/Checkout/utils.d.ts +1 -0
- package/lib/components/Sales/Checkout/utils.js +5 -2
- package/lib/components/Sales/Customer/index.d.ts +25 -0
- package/lib/components/Sales/Event/Detail.d.ts +1 -0
- package/lib/components/Sales/Event/Detail.js +37 -12
- package/lib/components/Sales/Event/serve.d.ts +10 -0
- package/lib/components/Sales/Event/serve.js +7 -0
- package/lib/components/Sales/Summary/index.d.ts +10 -0
- package/lib/components/Sales/Summary/index.js +7 -1
- package/lib/components/Sales/Summary/serve.d.ts +1 -0
- package/lib/components/Sales/Summary/serve.js +32 -0
- package/lib/components/Sales/Summary/utils.d.ts +16 -1
- package/lib/components/Sales/Summary/utils.js +30 -1
- package/lib/components/appointmentBooking/components/Content/index.js +6 -1
- package/lib/components/appointmentBooking/components/Deposit/index.d.ts +6 -0
- package/lib/components/appointmentBooking/components/Deposit/index.js +36 -4
- package/lib/components/appointmentBooking/components/Form/index.d.ts +4 -0
- package/lib/components/appointmentBooking/components/Form/utils.d.ts +8 -0
- package/lib/components/appointmentBooking/deposit/components/PolicyModal/index.js +8 -4
- package/lib/components/appointmentBooking/deposit/index.js +4 -2
- package/lib/components/booking/components/footer/index.js +24 -11
- package/lib/components/booking/info/service/Lists.d.ts +2 -0
- package/lib/components/booking/info/service/addService/utils.d.ts +1 -1
- package/lib/components/booking/info/utils.js +3 -1
- package/lib/components/booking/info2/service/addService/utils.d.ts +1 -1
- package/lib/components/booking/info2/service/index.d.ts +4 -0
- package/lib/components/booking/info2/utils.d.ts +4 -0
- package/lib/components/booking/info2/utilsByBooking.js +4 -1
- package/lib/components/booking/utils.d.ts +2 -2
- 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/eventBooking/components/Provider/Cart/ContinueButton/index.js +16 -4
- package/lib/components/eventBooking/components/Provider/Cart/Deposit/index.d.ts +2 -0
- package/lib/components/eventBooking/components/Provider/Cart/Deposit/index.js +55 -0
- package/lib/components/eventBooking/components/Provider/Cart/Item/Total.js +8 -5
- package/lib/components/eventBooking/components/Provider/Cart/Item/index.js +4 -2
- package/lib/components/eventBooking/components/bookingDetailModal/index.js +4 -3
- package/lib/components/eventBooking/locales.d.ts +24 -0
- package/lib/components/eventBooking/locales.js +27 -3
- package/lib/components/pay/toC/PaymentMethods/GlobePayAliPayH5/index.js +13 -1
- package/lib/components/pay/toC/PaymentMethods/MWCreditCard/TDSPay/ThreedsLoading/index.d.ts +1 -1
- package/lib/components/pay/toC/PaymentMethods/MWCreditCard/TDSPay/ThreedsLoading/index.js +2 -2
- package/lib/components/pay/toC/PaymentMethods/MWCreditCard/TDSPay/ThreedsLoading/index.less +8 -0
- package/lib/components/pay/toC/PaymentMethods/SuperPayAliPayH5/index.js +13 -1
- package/lib/components/pay/toC/PaymentMethods/WalletPass/serve.d.ts +113 -0
- package/lib/components/pay/toC/locales.d.ts +3 -0
- package/lib/components/pay/toC/locales.js +3 -0
- package/lib/components/pay/toC/utils.d.ts +57 -0
- package/lib/components/schedules/utils.d.ts +1 -1
- package/lib/components/schedules/utils.js +1 -1
- package/lib/components/shoppingCart/components/Cart/Product.d.ts +3 -0
- package/lib/components/ticketBooking/components/menuBar/index.js +42 -2
- package/lib/components/ticketBooking/components/menuBar/index.less +8 -0
- package/lib/components/ticketBooking/locales.d.ts +174 -0
- package/lib/components/ticketBooking/locales.js +6 -3
- package/lib/utils/index.d.ts +1 -1
- package/package.json +4 -4
|
@@ -1,6 +1,8 @@
|
|
|
1
|
+
var __create = Object.create;
|
|
1
2
|
var __defProp = Object.defineProperty;
|
|
2
3
|
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
3
4
|
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
+
var __getProtoOf = Object.getPrototypeOf;
|
|
4
6
|
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
5
7
|
var __export = (target, all) => {
|
|
6
8
|
for (var name in all)
|
|
@@ -14,19 +16,31 @@ var __copyProps = (to, from, except, desc) => {
|
|
|
14
16
|
}
|
|
15
17
|
return to;
|
|
16
18
|
};
|
|
19
|
+
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
|
|
20
|
+
// If the importer is in node compatibility mode or this is not an ESM
|
|
21
|
+
// file that has been converted to a CommonJS file using a Babel-
|
|
22
|
+
// compatible transform (i.e. "__esModule" has not been set), then set
|
|
23
|
+
// "default" to the CommonJS "module.exports" for node compatibility.
|
|
24
|
+
isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
|
|
25
|
+
mod
|
|
26
|
+
));
|
|
17
27
|
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
18
28
|
|
|
19
29
|
// src/components/Sales/Cart/utils.ts
|
|
20
30
|
var utils_exports = {};
|
|
21
31
|
__export(utils_exports, {
|
|
32
|
+
calculateProductDeposit: () => calculateProductDeposit,
|
|
22
33
|
formatBundleToOrigin: () => formatBundleToOrigin,
|
|
23
34
|
formatOptionsToOrigin: () => formatOptionsToOrigin,
|
|
24
35
|
getOriginTotalPrice: () => getOriginTotalPrice,
|
|
36
|
+
getProductDeposit: () => getProductDeposit,
|
|
25
37
|
getTotalPrice: () => getTotalPrice,
|
|
26
38
|
handleCartItemOrigin: () => handleCartItemOrigin,
|
|
39
|
+
handleProductDeposit: () => handleProductDeposit,
|
|
27
40
|
handleProductInfo: () => handleProductInfo
|
|
28
41
|
});
|
|
29
42
|
module.exports = __toCommonJS(utils_exports);
|
|
43
|
+
var import_decimal = __toESM(require("decimal.js"));
|
|
30
44
|
var handleProductInfo = (eventDetail, num) => {
|
|
31
45
|
var _a;
|
|
32
46
|
const { productDetail, bookingOptionItem } = eventDetail;
|
|
@@ -138,12 +152,127 @@ var formatOptionsToOrigin = (options) => {
|
|
|
138
152
|
};
|
|
139
153
|
});
|
|
140
154
|
};
|
|
155
|
+
var handleProductDeposit = (cartItem, eventDetail, num) => {
|
|
156
|
+
var _a;
|
|
157
|
+
const { productDetail, bookingOptionItem } = eventDetail;
|
|
158
|
+
const normalProduct = bookingOptionItem == null ? void 0 : bookingOptionItem._originData;
|
|
159
|
+
if (!productDetail && normalProduct) {
|
|
160
|
+
const { custom_deposit_data } = normalProduct;
|
|
161
|
+
if ((custom_deposit_data == null ? void 0 : custom_deposit_data.has_deposit) == 1) {
|
|
162
|
+
return getProductDeposit({ cartItem, product: normalProduct, num });
|
|
163
|
+
} else {
|
|
164
|
+
return null;
|
|
165
|
+
}
|
|
166
|
+
}
|
|
167
|
+
if (!productDetail) {
|
|
168
|
+
return null;
|
|
169
|
+
}
|
|
170
|
+
const { origin, bundle, options, product_variant_id } = productDetail || {};
|
|
171
|
+
let deposit = null;
|
|
172
|
+
const product = origin;
|
|
173
|
+
if (product_variant_id) {
|
|
174
|
+
product.product_variant_id = product_variant_id;
|
|
175
|
+
}
|
|
176
|
+
if (((_a = origin == null ? void 0 : origin.custom_deposit_data) == null ? void 0 : _a.has_deposit) == 1) {
|
|
177
|
+
deposit = getProductDeposit({ cartItem, product, bundle, options, num });
|
|
178
|
+
}
|
|
179
|
+
return deposit;
|
|
180
|
+
};
|
|
181
|
+
var getProductDeposit = (params) => {
|
|
182
|
+
var _a, _b;
|
|
183
|
+
const { cartItem, product, bundle, options } = params;
|
|
184
|
+
const num = (params == null ? void 0 : params.num) || 1;
|
|
185
|
+
if (((_a = product == null ? void 0 : product.custom_deposit_data) == null ? void 0 : _a.has_deposit) == 1) {
|
|
186
|
+
let total = new import_decimal.default(0);
|
|
187
|
+
const {
|
|
188
|
+
deposit_fixed,
|
|
189
|
+
deposit_percentage,
|
|
190
|
+
deposit_policy_data,
|
|
191
|
+
self_deposit_policy_ids
|
|
192
|
+
} = (product == null ? void 0 : product.custom_deposit_data) || {};
|
|
193
|
+
const allProtocols = deposit_policy_data || [];
|
|
194
|
+
let productHasDeposit = false;
|
|
195
|
+
const protocolIds = [];
|
|
196
|
+
if (typeof deposit_fixed === "string" && typeof deposit_percentage === "string") {
|
|
197
|
+
const { depositTotal, result } = calculateProductDeposit({
|
|
198
|
+
depositData: product == null ? void 0 : product.custom_deposit_data,
|
|
199
|
+
total: (cartItem == null ? void 0 : cartItem.total) || 0,
|
|
200
|
+
num
|
|
201
|
+
});
|
|
202
|
+
if (result) {
|
|
203
|
+
total = depositTotal;
|
|
204
|
+
protocolIds.push(...self_deposit_policy_ids || []);
|
|
205
|
+
productHasDeposit = true;
|
|
206
|
+
}
|
|
207
|
+
} else {
|
|
208
|
+
if (product == null ? void 0 : product.product_variant_id) {
|
|
209
|
+
const variantProduct = (_b = product == null ? void 0 : product.variant) == null ? void 0 : _b.find(
|
|
210
|
+
(item) => (item == null ? void 0 : item.id) === (product == null ? void 0 : product.product_variant_id)
|
|
211
|
+
);
|
|
212
|
+
if (variantProduct) {
|
|
213
|
+
const depositData = variantProduct == null ? void 0 : variantProduct.custom_deposit_data;
|
|
214
|
+
const { depositTotal, result } = calculateProductDeposit({
|
|
215
|
+
depositData,
|
|
216
|
+
total: (cartItem == null ? void 0 : cartItem.total) || 0,
|
|
217
|
+
num
|
|
218
|
+
});
|
|
219
|
+
if (result) {
|
|
220
|
+
total = depositTotal;
|
|
221
|
+
protocolIds.push(...(depositData == null ? void 0 : depositData.self_deposit_policy_ids) || []);
|
|
222
|
+
productHasDeposit = true;
|
|
223
|
+
}
|
|
224
|
+
}
|
|
225
|
+
}
|
|
226
|
+
if (bundle == null ? void 0 : bundle.length) {
|
|
227
|
+
total = bundle.reduce((accumulator, currBundleProduct) => {
|
|
228
|
+
const depositData = currBundleProduct == null ? void 0 : currBundleProduct.custom_deposit_data;
|
|
229
|
+
const { depositTotal, result } = calculateProductDeposit({
|
|
230
|
+
depositData,
|
|
231
|
+
total: currBundleProduct == null ? void 0 : currBundleProduct.price,
|
|
232
|
+
num: (currBundleProduct == null ? void 0 : currBundleProduct.num) || 1
|
|
233
|
+
});
|
|
234
|
+
if (result) {
|
|
235
|
+
protocolIds.push(...(depositData == null ? void 0 : depositData.self_deposit_policy_ids) || []);
|
|
236
|
+
productHasDeposit = true;
|
|
237
|
+
return accumulator.plus(depositTotal);
|
|
238
|
+
}
|
|
239
|
+
return accumulator;
|
|
240
|
+
}, new import_decimal.default(0));
|
|
241
|
+
}
|
|
242
|
+
}
|
|
243
|
+
if (productHasDeposit) {
|
|
244
|
+
const ids = new Set(protocolIds);
|
|
245
|
+
const protocols = allProtocols.filter((item) => ids.has(item.id));
|
|
246
|
+
return { total: total.toNumber(), protocols };
|
|
247
|
+
}
|
|
248
|
+
return null;
|
|
249
|
+
}
|
|
250
|
+
return null;
|
|
251
|
+
};
|
|
252
|
+
var calculateProductDeposit = (params) => {
|
|
253
|
+
const { depositData, total, num } = params;
|
|
254
|
+
if (!depositData) {
|
|
255
|
+
return { result: false, depositTotal: new import_decimal.default(0) };
|
|
256
|
+
}
|
|
257
|
+
const { deposit_fixed, deposit_percentage } = depositData || {};
|
|
258
|
+
if (typeof deposit_fixed === "string" && typeof deposit_percentage === "string") {
|
|
259
|
+
const depositFixed = new import_decimal.default(deposit_fixed || 0);
|
|
260
|
+
const depositPercent = new import_decimal.default(deposit_percentage || 0);
|
|
261
|
+
const productTotalPrice = new import_decimal.default(total || 0);
|
|
262
|
+
const deposit = depositFixed.plus(depositPercent.times(productTotalPrice));
|
|
263
|
+
return { depositTotal: deposit.times(num), result: true };
|
|
264
|
+
}
|
|
265
|
+
return { result: false, depositTotal: new import_decimal.default(0) };
|
|
266
|
+
};
|
|
141
267
|
// Annotate the CommonJS export names for ESM import in node:
|
|
142
268
|
0 && (module.exports = {
|
|
269
|
+
calculateProductDeposit,
|
|
143
270
|
formatBundleToOrigin,
|
|
144
271
|
formatOptionsToOrigin,
|
|
145
272
|
getOriginTotalPrice,
|
|
273
|
+
getProductDeposit,
|
|
146
274
|
getTotalPrice,
|
|
147
275
|
handleCartItemOrigin,
|
|
276
|
+
handleProductDeposit,
|
|
148
277
|
handleProductInfo
|
|
149
278
|
});
|
|
@@ -5,6 +5,9 @@ interface PayProps {
|
|
|
5
5
|
order_id: string;
|
|
6
6
|
amount: number;
|
|
7
7
|
sale_channel?: string;
|
|
8
|
+
is_deposit?: number;
|
|
9
|
+
deposit_amount?: number;
|
|
10
|
+
total_amount?: number;
|
|
8
11
|
}
|
|
9
12
|
interface CheckoutContextType {
|
|
10
13
|
onCheckBeforeBooking: (data: any) => Promise<{
|
|
@@ -15,6 +18,7 @@ interface CheckoutContextType {
|
|
|
15
18
|
onPay: (payProps: PayProps) => void;
|
|
16
19
|
createBooking: any;
|
|
17
20
|
checkBeforeBooking: any;
|
|
21
|
+
freePay: any;
|
|
18
22
|
}
|
|
19
23
|
interface CheckoutProviderProps {
|
|
20
24
|
children: React.ReactNode;
|
|
@@ -41,6 +41,7 @@ var import_useEngineContext = __toESM(require("../../../hooks/useEngineContext")
|
|
|
41
41
|
var import_ahooks = require("ahooks");
|
|
42
42
|
var import_serve = require("./serve");
|
|
43
43
|
var import_Cart = require("../Cart");
|
|
44
|
+
var import_utils = require("../../appointmentBooking/utils");
|
|
44
45
|
var defaultState = {};
|
|
45
46
|
var CheckoutContext = (0, import_react.createContext)(
|
|
46
47
|
void 0
|
|
@@ -54,6 +55,7 @@ var CheckoutProvider = ({
|
|
|
54
55
|
const { updateDisabledCartItem } = (0, import_Cart.useCart)();
|
|
55
56
|
const checkoutCallback = (0, import_react.useRef)(null);
|
|
56
57
|
const checkRef = (0, import_react.useRef)(null);
|
|
58
|
+
const payRef = (0, import_react.useRef)(null);
|
|
57
59
|
const checkBeforeBooking = (0, import_ahooks.useRequest)(import_serve.checkBeforeBookingApi, {
|
|
58
60
|
manual: true,
|
|
59
61
|
onSuccess: (res) => {
|
|
@@ -76,6 +78,17 @@ var CheckoutProvider = ({
|
|
|
76
78
|
checkoutCallback.current({ success: false, err });
|
|
77
79
|
}
|
|
78
80
|
});
|
|
81
|
+
const freePay = (0, import_ahooks.useRequest)(import_serve.freePayApi, {
|
|
82
|
+
manual: true,
|
|
83
|
+
onSuccess: (res) => {
|
|
84
|
+
var _a, _b;
|
|
85
|
+
if (res == null ? void 0 : res.status) {
|
|
86
|
+
goPaymentFinish((_a = payRef.current) == null ? void 0 : _a.order_id, (_b = payRef.current) == null ? void 0 : _b.total_amount);
|
|
87
|
+
} else {
|
|
88
|
+
(0, import_utils.Toast)(res == null ? void 0 : res.message);
|
|
89
|
+
}
|
|
90
|
+
}
|
|
91
|
+
});
|
|
79
92
|
const onCheckBeforeBooking = (data2) => {
|
|
80
93
|
return new Promise((resolve) => {
|
|
81
94
|
checkRef.current = (res) => {
|
|
@@ -94,21 +107,40 @@ var CheckoutProvider = ({
|
|
|
94
107
|
createBooking.runAsync(data2);
|
|
95
108
|
});
|
|
96
109
|
};
|
|
110
|
+
const goPaymentFinish = (order_id, amount) => {
|
|
111
|
+
var _a;
|
|
112
|
+
const url = `/payment-finish/success?order_id=${order_id}&amount=${Number(
|
|
113
|
+
amount
|
|
114
|
+
)}`;
|
|
115
|
+
(_a = utils == null ? void 0 : utils.history) == null ? void 0 : _a.replace(url);
|
|
116
|
+
};
|
|
97
117
|
const onPay = (payProps) => {
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
118
|
+
payRef.current = payProps;
|
|
119
|
+
const { is_deposit, deposit_amount, total_amount } = payProps;
|
|
120
|
+
const _total = is_deposit ? deposit_amount || 0 : total_amount || 0;
|
|
121
|
+
if (_total > 0) {
|
|
122
|
+
utils.action({
|
|
123
|
+
type: "pisell1.payment",
|
|
124
|
+
data: { ...payProps, total_amount: _total },
|
|
125
|
+
callback: (e) => {
|
|
126
|
+
checkoutCallback.current && checkoutCallback.current(e);
|
|
127
|
+
}
|
|
128
|
+
});
|
|
129
|
+
} else {
|
|
130
|
+
if (is_deposit) {
|
|
131
|
+
goPaymentFinish(payProps.order_id, _total);
|
|
132
|
+
return;
|
|
103
133
|
}
|
|
104
|
-
|
|
134
|
+
freePay.runAsync(payProps.order_id);
|
|
135
|
+
}
|
|
105
136
|
};
|
|
106
137
|
const contextValue = {
|
|
107
138
|
onCheckBeforeBooking,
|
|
108
139
|
onCheckout,
|
|
109
140
|
onPay,
|
|
110
141
|
createBooking,
|
|
111
|
-
checkBeforeBooking
|
|
142
|
+
checkBeforeBooking,
|
|
143
|
+
freePay
|
|
112
144
|
};
|
|
113
145
|
return /* @__PURE__ */ import_react.default.createElement(CheckoutContext.Provider, { value: contextValue }, children);
|
|
114
146
|
};
|
|
@@ -1,2 +1,15 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @title: 下单前置校验接口
|
|
3
|
+
* @param {any} data
|
|
4
|
+
*/
|
|
1
5
|
export declare const checkBeforeBookingApi: (data: any) => Promise<any>;
|
|
6
|
+
/**
|
|
7
|
+
* @title: 创建订单
|
|
8
|
+
* @param {any} data
|
|
9
|
+
*/
|
|
2
10
|
export declare const createBookingApi: (data: any) => Promise<any>;
|
|
11
|
+
/**
|
|
12
|
+
* @title: 免费支付
|
|
13
|
+
* @param {string} orderId
|
|
14
|
+
*/
|
|
15
|
+
export declare const freePayApi: (orderId: string) => Promise<any>;
|
|
@@ -20,7 +20,8 @@ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: tru
|
|
|
20
20
|
var serve_exports = {};
|
|
21
21
|
__export(serve_exports, {
|
|
22
22
|
checkBeforeBookingApi: () => checkBeforeBookingApi,
|
|
23
|
-
createBookingApi: () => createBookingApi
|
|
23
|
+
createBookingApi: () => createBookingApi,
|
|
24
|
+
freePayApi: () => freePayApi
|
|
24
25
|
});
|
|
25
26
|
module.exports = __toCommonJS(serve_exports);
|
|
26
27
|
var import_utils = require("../../../utils");
|
|
@@ -30,8 +31,12 @@ var checkBeforeBookingApi = (data) => {
|
|
|
30
31
|
var createBookingApi = (data) => {
|
|
31
32
|
return import_utils.request.getRequest().post("/h5/eventbookingv2/order", data);
|
|
32
33
|
};
|
|
34
|
+
var freePayApi = (orderId) => {
|
|
35
|
+
return import_utils.request.getRequest().post(`/h5/pay/order/free-pay/${orderId}`, {});
|
|
36
|
+
};
|
|
33
37
|
// Annotate the CommonJS export names for ESM import in node:
|
|
34
38
|
0 && (module.exports = {
|
|
35
39
|
checkBeforeBookingApi,
|
|
36
|
-
createBookingApi
|
|
40
|
+
createBookingApi,
|
|
41
|
+
freePayApi
|
|
37
42
|
});
|
|
@@ -63,7 +63,7 @@ var formatBookings = (list) => {
|
|
|
63
63
|
};
|
|
64
64
|
var formatValues = (params) => {
|
|
65
65
|
var _a, _b;
|
|
66
|
-
const { state, platform, excludeDisabled, extra } = params;
|
|
66
|
+
const { state, otherValue, platform, excludeDisabled, extra } = params;
|
|
67
67
|
let values = {
|
|
68
68
|
type: "event_booking_v2",
|
|
69
69
|
platform: platform === "pc" ? "PC" : "H5",
|
|
@@ -72,7 +72,8 @@ var formatValues = (params) => {
|
|
|
72
72
|
bookings: [],
|
|
73
73
|
shop_note: "",
|
|
74
74
|
schedule_date: "",
|
|
75
|
-
...extra || {}
|
|
75
|
+
...extra || {},
|
|
76
|
+
...otherValue || {}
|
|
76
77
|
};
|
|
77
78
|
console.log("values", values);
|
|
78
79
|
let data = [];
|
|
@@ -81,6 +82,8 @@ var formatValues = (params) => {
|
|
|
81
82
|
} else {
|
|
82
83
|
data = state.cartData.cartItems;
|
|
83
84
|
}
|
|
85
|
+
const is_deposit = data.find((v) => v.deposit) ? 1 : 0;
|
|
86
|
+
values.is_deposit = is_deposit;
|
|
84
87
|
values.bookings = formatBookings(data);
|
|
85
88
|
return values;
|
|
86
89
|
};
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
interface CustomerData {
|
|
3
|
+
}
|
|
4
|
+
interface CustomerContextType {
|
|
5
|
+
appContext: any;
|
|
6
|
+
appUtils: any;
|
|
7
|
+
isLogin: () => boolean;
|
|
8
|
+
openLoginModal: (params: any) => void;
|
|
9
|
+
getUserInfo: () => any;
|
|
10
|
+
}
|
|
11
|
+
interface CustomerProviderProps {
|
|
12
|
+
children: React.ReactNode;
|
|
13
|
+
}
|
|
14
|
+
export declare const CustomerContext: React.Context<CustomerContextType | undefined>;
|
|
15
|
+
export declare const CustomerProvider: React.FC<CustomerProviderProps>;
|
|
16
|
+
/**
|
|
17
|
+
* 使用步骤管理的Hook
|
|
18
|
+
* @throws {Error} 如果在StepProvider外部使用会抛出错误
|
|
19
|
+
* @returns {StepContextType} 步骤管理上下文
|
|
20
|
+
*/
|
|
21
|
+
export declare const useCustomer: () => CustomerContextType;
|
|
22
|
+
declare const _default: {
|
|
23
|
+
defaultState: CustomerData;
|
|
24
|
+
};
|
|
25
|
+
export default _default;
|
|
@@ -14,6 +14,7 @@ interface EventDetailContextType {
|
|
|
14
14
|
currentBookingOption: any;
|
|
15
15
|
selectEventDetailProductDetail: (productDetail: any) => void;
|
|
16
16
|
checkBeforeSelectEventDetail: () => boolean;
|
|
17
|
+
getProductDetailRequest: any;
|
|
17
18
|
}
|
|
18
19
|
interface EventDetailProviderProps {
|
|
19
20
|
children: React.ReactNode;
|
|
@@ -196,20 +196,44 @@ var EventDetailProvider = ({
|
|
|
196
196
|
}
|
|
197
197
|
}
|
|
198
198
|
);
|
|
199
|
+
const getProductDetailRequest = (0, import_ahooks.useRequest)(import_serve.getProductDetailApi, {
|
|
200
|
+
manual: true,
|
|
201
|
+
loadingDelay: 200
|
|
202
|
+
});
|
|
199
203
|
const selectEventDetailBookingOptions = (id) => {
|
|
200
|
-
var _a;
|
|
204
|
+
var _a, _b, _c;
|
|
201
205
|
const { introduction, bookingOptions } = detailRef.current || {};
|
|
202
206
|
const option = (_a = bookingOptions == null ? void 0 : bookingOptions.filter((v) => v.value === id)) == null ? void 0 : _a[0];
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
207
|
+
const setSelectedData = (data) => {
|
|
208
|
+
_setDetail({
|
|
209
|
+
introduction: {
|
|
210
|
+
...introduction,
|
|
211
|
+
price: data == null ? void 0 : data.price,
|
|
212
|
+
origin_price: data == null ? void 0 : data.original_price
|
|
213
|
+
},
|
|
214
|
+
selectedProduct: data
|
|
215
|
+
// 选中的活动关联的商品
|
|
216
|
+
});
|
|
217
|
+
_setCurrentBookingOption(id);
|
|
218
|
+
};
|
|
219
|
+
if (((_b = option == null ? void 0 : option._originData) == null ? void 0 : _b.is_eject) === 0) {
|
|
220
|
+
getProductDetailRequest.runAsync(id, {
|
|
221
|
+
open_deposit: 1,
|
|
222
|
+
front_end_cache_id: ((_c = introduction == null ? void 0 : introduction._originData) == null ? void 0 : _c.id) + "_" + id
|
|
223
|
+
}).then((res) => {
|
|
224
|
+
var _a2;
|
|
225
|
+
const custom_deposit_data = (_a2 = res == null ? void 0 : res.data) == null ? void 0 : _a2.custom_deposit_data;
|
|
226
|
+
const newOption = { ...option };
|
|
227
|
+
if (custom_deposit_data && newOption._originData) {
|
|
228
|
+
newOption._originData.custom_deposit_data = custom_deposit_data;
|
|
229
|
+
}
|
|
230
|
+
setSelectedData(newOption);
|
|
231
|
+
}).catch(() => {
|
|
232
|
+
setSelectedData(option);
|
|
233
|
+
});
|
|
234
|
+
} else {
|
|
235
|
+
setSelectedData(option);
|
|
236
|
+
}
|
|
213
237
|
};
|
|
214
238
|
const selectEventDetailProductDetail = (productDetail) => {
|
|
215
239
|
_setDetail({ productDetail });
|
|
@@ -233,7 +257,8 @@ var EventDetailProvider = ({
|
|
|
233
257
|
getEventDetailSelectDate,
|
|
234
258
|
currentBookingOption,
|
|
235
259
|
selectEventDetailProductDetail,
|
|
236
|
-
checkBeforeSelectEventDetail
|
|
260
|
+
checkBeforeSelectEventDetail,
|
|
261
|
+
getProductDetailRequest
|
|
237
262
|
};
|
|
238
263
|
return /* @__PURE__ */ import_react.default.createElement(EventDetailContext.Provider, { value: contextValue }, children);
|
|
239
264
|
};
|
|
@@ -37,3 +37,13 @@ export declare const getProductPrice: (params: {
|
|
|
37
37
|
customer_id: number;
|
|
38
38
|
schedule_date?: string;
|
|
39
39
|
}) => Promise<any>;
|
|
40
|
+
/**
|
|
41
|
+
* 获取商品详情
|
|
42
|
+
* @param id 商品id
|
|
43
|
+
* @param params 参数
|
|
44
|
+
* @returns
|
|
45
|
+
*/
|
|
46
|
+
export declare const getProductDetailApi: (id: number, params: {
|
|
47
|
+
open_deposit?: string | number;
|
|
48
|
+
front_end_cache_id?: string;
|
|
49
|
+
}) => Promise<any>;
|
|
@@ -24,6 +24,7 @@ __export(serve_exports, {
|
|
|
24
24
|
getEventDetailSelectDateApi: () => getEventDetailSelectDateApi,
|
|
25
25
|
getEventDetailTeacherApi: () => getEventDetailTeacherApi,
|
|
26
26
|
getEventListApi: () => getEventListApi,
|
|
27
|
+
getProductDetailApi: () => getProductDetailApi,
|
|
27
28
|
getProductPrice: () => getProductPrice
|
|
28
29
|
});
|
|
29
30
|
module.exports = __toCommonJS(serve_exports);
|
|
@@ -46,6 +47,11 @@ var getEventDetailSelectDateApi = (id, params) => {
|
|
|
46
47
|
});
|
|
47
48
|
};
|
|
48
49
|
var getProductPrice = async (params) => import_utils.request.getRequest().post(`/h5/product/query/price`, params);
|
|
50
|
+
var getProductDetailApi = async (id, params) => {
|
|
51
|
+
return import_utils.request.getRequest().get(`/h5/product/standard/show/${id}`, params, {
|
|
52
|
+
useCache: true
|
|
53
|
+
});
|
|
54
|
+
};
|
|
49
55
|
// Annotate the CommonJS export names for ESM import in node:
|
|
50
56
|
0 && (module.exports = {
|
|
51
57
|
getEventDetailBookingOptionsApi,
|
|
@@ -53,5 +59,6 @@ var getProductPrice = async (params) => import_utils.request.getRequest().post(`
|
|
|
53
59
|
getEventDetailSelectDateApi,
|
|
54
60
|
getEventDetailTeacherApi,
|
|
55
61
|
getEventListApi,
|
|
62
|
+
getProductDetailApi,
|
|
56
63
|
getProductPrice
|
|
57
64
|
});
|
|
@@ -7,6 +7,16 @@ interface SummaryContextType {
|
|
|
7
7
|
taxTitle?: string;
|
|
8
8
|
totalTaxFee?: string;
|
|
9
9
|
isPriceIncludeTax?: 0 | 1;
|
|
10
|
+
deposit?: {
|
|
11
|
+
total: string;
|
|
12
|
+
protocols: any[];
|
|
13
|
+
hasDeposit: boolean;
|
|
14
|
+
};
|
|
15
|
+
isAgreeDepositPolicy: boolean;
|
|
16
|
+
setIsAgreeDepositPolicy: (value: boolean) => void;
|
|
17
|
+
getDepositProtocol: (params: {
|
|
18
|
+
id: string;
|
|
19
|
+
}) => Promise<any>;
|
|
10
20
|
}
|
|
11
21
|
interface SummaryProviderProps {
|
|
12
22
|
children: React.ReactNode;
|
|
@@ -39,6 +39,7 @@ var import_react = __toESM(require("react"));
|
|
|
39
39
|
var import_Cart = require("../Cart");
|
|
40
40
|
var import_utils = require("./utils");
|
|
41
41
|
var import_Init = require("../Init");
|
|
42
|
+
var import_serve = require("./serve");
|
|
42
43
|
var defaultState = {};
|
|
43
44
|
var SummaryContext = (0, import_react.createContext)(
|
|
44
45
|
void 0
|
|
@@ -48,6 +49,7 @@ var SummaryProvider = ({
|
|
|
48
49
|
}) => {
|
|
49
50
|
const { cartData } = (0, import_Cart.useCart)();
|
|
50
51
|
const { initData } = (0, import_Init.useInit)();
|
|
52
|
+
const [isAgreeDepositPolicy, setIsAgreeDepositPolicy] = (0, import_react.useState)(false);
|
|
51
53
|
const summaryData = (0, import_react.useMemo)(() => {
|
|
52
54
|
return (0, import_utils.calculatePriceDetails)(
|
|
53
55
|
(initData == null ? void 0 : initData.shop) || {},
|
|
@@ -61,7 +63,11 @@ var SummaryProvider = ({
|
|
|
61
63
|
total: summaryData.total,
|
|
62
64
|
taxTitle: summaryData.taxTitle,
|
|
63
65
|
totalTaxFee: summaryData.totalTaxFee,
|
|
64
|
-
isPriceIncludeTax: summaryData.isPriceIncludeTax
|
|
66
|
+
isPriceIncludeTax: summaryData.isPriceIncludeTax,
|
|
67
|
+
deposit: summaryData.deposit,
|
|
68
|
+
isAgreeDepositPolicy,
|
|
69
|
+
setIsAgreeDepositPolicy,
|
|
70
|
+
getDepositProtocol: import_serve.getDepositProtocolApi
|
|
65
71
|
};
|
|
66
72
|
return /* @__PURE__ */ import_react.default.createElement(SummaryContext.Provider, { value: contextValue }, children);
|
|
67
73
|
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const getDepositProtocolApi: (id: string) => Promise<any>;
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
var __defProp = Object.defineProperty;
|
|
2
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
3
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
4
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
5
|
+
var __export = (target, all) => {
|
|
6
|
+
for (var name in all)
|
|
7
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
8
|
+
};
|
|
9
|
+
var __copyProps = (to, from, except, desc) => {
|
|
10
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
11
|
+
for (let key of __getOwnPropNames(from))
|
|
12
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
13
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
14
|
+
}
|
|
15
|
+
return to;
|
|
16
|
+
};
|
|
17
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
18
|
+
|
|
19
|
+
// src/components/Sales/Summary/serve.ts
|
|
20
|
+
var serve_exports = {};
|
|
21
|
+
__export(serve_exports, {
|
|
22
|
+
getDepositProtocolApi: () => getDepositProtocolApi
|
|
23
|
+
});
|
|
24
|
+
module.exports = __toCommonJS(serve_exports);
|
|
25
|
+
var import_utils = require("../../../utils");
|
|
26
|
+
var getDepositProtocolApi = (id) => {
|
|
27
|
+
return import_utils.request.getRequest().get(`/h5/shop-policy/${id}`, {});
|
|
28
|
+
};
|
|
29
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
30
|
+
0 && (module.exports = {
|
|
31
|
+
getDepositProtocolApi
|
|
32
|
+
});
|
|
@@ -10,6 +10,11 @@ interface PriceDetail {
|
|
|
10
10
|
taxTitle?: string;
|
|
11
11
|
totalTaxFee?: string;
|
|
12
12
|
isPriceIncludeTax?: 0 | 1;
|
|
13
|
+
deposit?: {
|
|
14
|
+
total: string;
|
|
15
|
+
protocols: any[];
|
|
16
|
+
hasDeposit: boolean;
|
|
17
|
+
};
|
|
13
18
|
}
|
|
14
19
|
/**
|
|
15
20
|
* 计算商品小计(不含其他费用)
|
|
@@ -25,7 +30,7 @@ export declare const calculateSubtotal: (items: CartItem[]) => string;
|
|
|
25
30
|
* @return {*}
|
|
26
31
|
* @Author: xiangfeng.xue
|
|
27
32
|
*/
|
|
28
|
-
export declare const calculateTaxFee: (shopInfo: any, items: CartItem[]) => "0.00"
|
|
33
|
+
export declare const calculateTaxFee: (shopInfo: any, items: CartItem[]) => Decimal | "0.00";
|
|
29
34
|
/**
|
|
30
35
|
* 计算所有价格明细
|
|
31
36
|
* @param items - 购物车商品数组
|
|
@@ -33,4 +38,14 @@ export declare const calculateTaxFee: (shopInfo: any, items: CartItem[]) => "0.0
|
|
|
33
38
|
* @returns 价格明细对象
|
|
34
39
|
*/
|
|
35
40
|
export declare const calculatePriceDetails: (shopInfo: any, items: CartItem[]) => PriceDetail;
|
|
41
|
+
/**
|
|
42
|
+
* @title: 计算定金
|
|
43
|
+
* @param items - 购物车商品数组
|
|
44
|
+
* @returns 定金字符串,保留2位小数
|
|
45
|
+
*/
|
|
46
|
+
export declare const calculateDeposit: (items: CartItem[]) => {
|
|
47
|
+
total: string;
|
|
48
|
+
protocols: any[];
|
|
49
|
+
hasDeposit: never;
|
|
50
|
+
} | undefined;
|
|
36
51
|
export {};
|
|
@@ -29,6 +29,7 @@ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: tru
|
|
|
29
29
|
// src/components/Sales/Summary/utils.ts
|
|
30
30
|
var utils_exports = {};
|
|
31
31
|
__export(utils_exports, {
|
|
32
|
+
calculateDeposit: () => calculateDeposit,
|
|
32
33
|
calculatePriceDetails: () => calculatePriceDetails,
|
|
33
34
|
calculateSubtotal: () => calculateSubtotal,
|
|
34
35
|
calculateTaxFee: () => calculateTaxFee
|
|
@@ -65,16 +66,44 @@ var calculatePriceDetails = (shopInfo, items) => {
|
|
|
65
66
|
const totalTaxFee = new import_decimal.default(calculateTaxFee(shopInfo, items));
|
|
66
67
|
console.log("totalTaxFee", totalTaxFee.toFixed(2));
|
|
67
68
|
const total = (shopInfo == null ? void 0 : shopInfo.is_price_include_tax) ? subtotal : subtotal.plus(totalTaxFee);
|
|
69
|
+
const deposit = calculateDeposit(items);
|
|
68
70
|
return {
|
|
69
71
|
subtotal: subtotal.toFixed(2),
|
|
70
72
|
total: total.toFixed(2),
|
|
71
73
|
taxTitle: shopInfo == null ? void 0 : shopInfo.tax_title,
|
|
72
74
|
totalTaxFee: totalTaxFee.toFixed(2),
|
|
73
|
-
isPriceIncludeTax: shopInfo == null ? void 0 : shopInfo.is_price_include_tax
|
|
75
|
+
isPriceIncludeTax: shopInfo == null ? void 0 : shopInfo.is_price_include_tax,
|
|
76
|
+
deposit
|
|
74
77
|
};
|
|
75
78
|
};
|
|
79
|
+
var calculateDeposit = (items) => {
|
|
80
|
+
if (!(items == null ? void 0 : items.length)) {
|
|
81
|
+
return void 0;
|
|
82
|
+
}
|
|
83
|
+
const protocols = [];
|
|
84
|
+
let hasDeposit = false;
|
|
85
|
+
const total = items.reduce((sum, item) => {
|
|
86
|
+
var _a, _b, _c;
|
|
87
|
+
if (item == null ? void 0 : item.deposit) {
|
|
88
|
+
hasDeposit = true;
|
|
89
|
+
const cartItemTotalPrice = new import_decimal.default(((_a = item == null ? void 0 : item.deposit) == null ? void 0 : _a.total) || 0);
|
|
90
|
+
(_c = (_b = item == null ? void 0 : item.deposit) == null ? void 0 : _b.protocols) == null ? void 0 : _c.forEach((protocol) => {
|
|
91
|
+
if (protocols.findIndex((p) => p.id === protocol.id) === -1) {
|
|
92
|
+
protocols.push(protocol);
|
|
93
|
+
}
|
|
94
|
+
});
|
|
95
|
+
return sum.plus(cartItemTotalPrice);
|
|
96
|
+
}
|
|
97
|
+
return sum;
|
|
98
|
+
}, new import_decimal.default(0));
|
|
99
|
+
if (hasDeposit) {
|
|
100
|
+
return { total: total.toFixed(2), protocols, hasDeposit };
|
|
101
|
+
}
|
|
102
|
+
return void 0;
|
|
103
|
+
};
|
|
76
104
|
// Annotate the CommonJS export names for ESM import in node:
|
|
77
105
|
0 && (module.exports = {
|
|
106
|
+
calculateDeposit,
|
|
78
107
|
calculatePriceDetails,
|
|
79
108
|
calculateSubtotal,
|
|
80
109
|
calculateTaxFee
|