@pisell/private-materials 6.4.81 → 6.4.82
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.css +1 -1
- package/build/lowcode/render/default/view.js +1 -1
- package/build/lowcode/view.css +1 -1
- package/build/lowcode/view.js +1 -1
- package/es/components/appointmentBooking/components/Cart/Item/Total.d.ts +1 -0
- package/es/components/appointmentBooking/components/Cart/Item/index.d.ts +1 -0
- package/es/components/appointmentBooking/components/Cart/index.d.ts +1 -0
- package/es/components/appointmentBooking/components/Deposit/index.d.ts +1 -0
- package/es/components/booking/addons/index.js +1 -1
- package/es/components/booking/components/TabProduct/productItem/index.d.ts +1 -0
- package/es/components/booking/components/TabProduct/selectProductItem/index.d.ts +1 -0
- package/es/components/booking/components/collapsibleList/utils.d.ts +1 -0
- package/es/components/booking/components/emptyBooking/index.d.ts +1 -0
- package/es/components/booking/components/footer/FooterMenus/index.d.ts +1 -0
- package/es/components/booking/components/footer/amount.js +48 -34
- package/es/components/booking/components/footer/utils.js +38 -38
- package/es/components/booking/components/voucher/index.js +3 -1
- package/es/components/booking/forms/footer.d.ts +1 -0
- package/es/components/booking/forms/sendModal/useSendModal.d.ts +1 -0
- package/es/components/booking/forms/single/index.d.ts +1 -0
- package/es/components/booking/hooks/useClearCart.d.ts +1 -0
- package/es/components/booking/hooks/useQuotation.js +4 -1
- package/es/components/booking/info/clientVariant/hooks/useClientFn.d.ts +1 -0
- package/es/components/booking/info/date/index.d.ts +1 -0
- package/es/components/booking/info/hooks/useInfoHolder.d.ts +0 -1
- package/es/components/booking/info/notes/index.d.ts +1 -0
- package/es/components/booking/info/service/actions/index.d.ts +1 -0
- package/es/components/booking/info/service/addService/utils.d.ts +1 -1
- package/es/components/booking/info2/service/actions/index.d.ts +1 -0
- package/es/components/booking/info2/service/addService/utils.d.ts +1 -1
- package/es/components/booking/info2/service/contactInfoMode/index.d.ts +1 -0
- package/es/components/booking/info2/service/editNormalService/index.js +6 -0
- package/es/components/booking/info2/service/editService/index.js +16 -6
- package/es/components/booking/info2/service/editService/utils.d.ts +15 -0
- package/es/components/booking/info2/service/editService/utils.js +66 -0
- package/es/components/booking/materiels/contacts/index.d.ts +1 -0
- package/es/components/booking/materiels/duration/index.d.ts +1 -0
- package/es/components/booking/materiels/startTime/index.d.ts +1 -0
- package/es/components/booking/notes/NoteBlock/NoteItem/index.d.ts +1 -0
- package/es/components/checkout/components/AmountSummary/index.less +4 -5
- package/es/components/eftpos/index.d.ts +1 -0
- package/es/components/eftpos/pos.d.ts +1 -0
- package/es/components/eftposPay/amount.d.ts +1 -0
- package/es/components/eftposPay/component/fail/failCustom.d.ts +1 -0
- package/es/components/eftposPay/component/fail/index.d.ts +1 -0
- package/es/components/eftposPay/component/fail/network.d.ts +1 -0
- package/es/components/eftposPay/component/fail/unknow.d.ts +1 -0
- package/es/components/eftposPay/component/manual/index.d.ts +1 -0
- package/es/components/eftposPay/component/signature/index.d.ts +1 -0
- package/es/components/eftposPay/pay.d.ts +1 -0
- package/es/components/eftposPay/payo/config.d.ts +1 -0
- package/es/components/eftposPay/tip.d.ts +1 -0
- package/es/components/eftposPay/windcave/receiptAction.d.ts +1 -0
- package/es/components/eftposPay/windcave/windcave.d.ts +1 -0
- package/es/components/eventBooking/components/Provider/Cart/Item/index.d.ts +1 -0
- package/es/components/eventBooking/components/Provider/Cart/index.d.ts +1 -0
- package/es/components/eventBooking/components/Provider/Content/index.d.ts +1 -0
- package/es/components/eventBooking/components/Provider/EmptyHolderModal/index.d.ts +1 -0
- package/es/components/eventBooking/components/Provider/Event/index.d.ts +1 -0
- package/es/components/eventBooking/components/Provider/Footer/index.d.ts +1 -0
- package/es/components/eventBooking/components/Provider/Header/index.d.ts +1 -0
- package/es/components/eventBooking/components/Provider/Information/index.d.ts +1 -0
- package/es/components/eventBooking/components/Provider/OrderProductModal/index.d.ts +1 -0
- package/es/components/eventBooking/components/Provider/RemoveOptionConfirmModal.d.ts +1 -0
- package/es/components/eventBooking/components/Provider/Resource/index.d.ts +1 -0
- package/es/components/eventBooking/components/Provider/SelectHolderModal.d.ts +1 -0
- package/es/components/eventBooking/components/bookingDetailModal/components/BookingOptions.d.ts +1 -0
- package/es/components/eventBooking/components/bookingDetailModal/components/Resource.d.ts +1 -0
- package/es/components/eventBooking/components/bookingDetailModal/components/Schedule.d.ts +1 -0
- package/es/components/eventBooking/components/scheduleCalendar/ProductItem/index.d.ts +1 -0
- package/es/components/eventBooking/components/scheduleCalendar/components/ScheduleTimeItem/index.d.ts +1 -0
- package/es/components/login/index.d.ts +1 -0
- package/es/components/pisellSelectCustomerModal/RightPanel/Add/BirthdayField/index.d.ts +1 -0
- package/es/components/pisellSelectCustomerModal/RightPanel/Add/GenderField/index.d.ts +1 -0
- package/es/components/pisellSelectCustomerModal/RightPanel/Add/index.d.ts +1 -0
- package/es/components/pisellSelectCustomerModal/RightPanel/List/index.d.ts +1 -0
- package/es/components/productExtension/fields/SelectProducts/ProductItem/index.d.ts +1 -0
- package/es/components/productExtension/fields/SelectProducts/ProductItemPreview/index.d.ts +1 -0
- package/es/components/productExtension/fields/SelectProducts/index.d.ts +1 -0
- package/es/components/productExtension/fields/SelectResourcesTable/index.d.ts +1 -0
- package/es/components/ruleSetting/ruleBorder/index.d.ts +1 -0
- package/es/components/schedules/calendar/index.d.ts +1 -0
- package/es/components/schedules/components/ScheduleDetailList/index.d.ts +1 -0
- package/es/components/schedules/components/ScheduleList/index.d.ts +1 -0
- package/es/components/schedules/products/ProductDetailDrawer/ProductDetail/MaxParticipantsModule/index.d.ts +1 -0
- package/es/components/schedules/products/ProductDetailDrawer/ProductDetail/ResourcesModule/index.d.ts +1 -0
- package/es/components/schedules/products/ProductDetailDrawer/index.d.ts +1 -0
- package/es/components/schedules/products/list/ProductItem/index.d.ts +1 -0
- package/es/components/schedules/products/list/index.d.ts +1 -0
- package/es/components/schedules/resources/index.d.ts +1 -0
- package/es/components/schedules/resources/list/index.d.ts +1 -0
- package/es/components/schedules/schedules/AllSchedules/index.d.ts +1 -0
- package/es/components/schedules/schedules/ScheduleDetailDrawer/index.d.ts +1 -0
- package/es/components/schedules/schedules/index.d.ts +1 -0
- package/es/components/shoppingCart/hooks/useAddService.d.ts +1 -0
- package/es/components/shoppingCart/hooks/useClearCart.d.ts +1 -0
- package/es/components/shoppingCart/index.d.ts +1 -0
- package/es/components/wallet/hooks/useWalletCard.d.ts +1 -0
- package/es/hooks/usePaymentLogger.d.ts +1 -0
- package/es/plus/saasCreateOrganization/components/Header.d.ts +1 -0
- package/es/plus/saasRegister/components/EntryEmail.d.ts +1 -0
- package/es/plus/saasRegister/components/EntryInfo.d.ts +1 -0
- package/es/plus/saasRegister/components/GoLogin.d.ts +1 -0
- package/es/plus/saasRegister/components/Header.d.ts +1 -0
- package/es/plus/saasRegister/components/VerifyError.d.ts +1 -0
- package/es/plus/saasRegister/components/VerifyingLink.d.ts +1 -0
- package/es/plus/saasRegister/components/VertifyEmail.d.ts +1 -0
- package/es/plus/walletEditor/components/relationProduct/index.d.ts +1 -0
- package/es/plus/walletPassGallery/components/passList/index.d.ts +1 -0
- package/es/plus/walletPassGallery/components/timelineSection/index.d.ts +1 -0
- package/es/pro/priceKeyboard/components/cashKeyboard/CashKeyboardIntact.js +35 -30
- package/lib/components/appointmentBooking/components/Cart/Item/Total.d.ts +1 -0
- package/lib/components/appointmentBooking/components/Cart/Item/index.d.ts +1 -0
- package/lib/components/appointmentBooking/components/Cart/index.d.ts +1 -0
- package/lib/components/appointmentBooking/components/Deposit/index.d.ts +1 -0
- package/lib/components/booking/components/TabProduct/productItem/index.d.ts +1 -0
- package/lib/components/booking/components/TabProduct/selectProductItem/index.d.ts +1 -0
- package/lib/components/booking/components/collapsibleList/utils.d.ts +1 -0
- package/lib/components/booking/components/emptyBooking/index.d.ts +1 -0
- package/lib/components/booking/components/footer/FooterMenus/index.d.ts +1 -0
- package/lib/components/booking/components/footer/amount.js +29 -15
- package/lib/components/booking/components/footer/utils.js +8 -8
- package/lib/components/booking/components/voucher/index.js +4 -2
- package/lib/components/booking/forms/footer.d.ts +1 -0
- package/lib/components/booking/forms/sendModal/useSendModal.d.ts +1 -0
- package/lib/components/booking/forms/single/index.d.ts +1 -0
- package/lib/components/booking/hooks/useClearCart.d.ts +1 -0
- package/lib/components/booking/hooks/useQuotation.js +2 -1
- package/lib/components/booking/info/clientVariant/hooks/useClientFn.d.ts +1 -0
- package/lib/components/booking/info/date/index.d.ts +1 -0
- package/lib/components/booking/info/hooks/useInfoHolder.d.ts +0 -1
- package/lib/components/booking/info/notes/index.d.ts +1 -0
- package/lib/components/booking/info/service/actions/index.d.ts +1 -0
- package/lib/components/booking/info/service/addService/utils.d.ts +1 -1
- package/lib/components/booking/info2/service/actions/index.d.ts +1 -0
- package/lib/components/booking/info2/service/addService/utils.d.ts +1 -1
- package/lib/components/booking/info2/service/contactInfoMode/index.d.ts +1 -0
- package/lib/components/booking/info2/service/editNormalService/index.js +6 -0
- package/lib/components/booking/info2/service/editService/index.js +12 -3
- package/lib/components/booking/info2/service/editService/utils.d.ts +15 -0
- package/lib/components/booking/info2/service/editService/utils.js +40 -3
- package/lib/components/booking/materiels/contacts/index.d.ts +1 -0
- package/lib/components/booking/materiels/duration/index.d.ts +1 -0
- package/lib/components/booking/materiels/startTime/index.d.ts +1 -0
- package/lib/components/booking/notes/NoteBlock/NoteItem/index.d.ts +1 -0
- package/lib/components/checkout/components/AmountSummary/index.less +4 -5
- package/lib/components/eftpos/index.d.ts +1 -0
- package/lib/components/eftpos/pos.d.ts +1 -0
- package/lib/components/eftposPay/amount.d.ts +1 -0
- package/lib/components/eftposPay/component/fail/failCustom.d.ts +1 -0
- package/lib/components/eftposPay/component/fail/index.d.ts +1 -0
- package/lib/components/eftposPay/component/fail/network.d.ts +1 -0
- package/lib/components/eftposPay/component/fail/unknow.d.ts +1 -0
- package/lib/components/eftposPay/component/manual/index.d.ts +1 -0
- package/lib/components/eftposPay/component/signature/index.d.ts +1 -0
- package/lib/components/eftposPay/pay.d.ts +1 -0
- package/lib/components/eftposPay/payo/config.d.ts +1 -0
- package/lib/components/eftposPay/tip.d.ts +1 -0
- package/lib/components/eftposPay/windcave/receiptAction.d.ts +1 -0
- package/lib/components/eftposPay/windcave/windcave.d.ts +1 -0
- package/lib/components/eventBooking/components/Provider/Cart/Item/index.d.ts +1 -0
- package/lib/components/eventBooking/components/Provider/Cart/index.d.ts +1 -0
- package/lib/components/eventBooking/components/Provider/Content/index.d.ts +1 -0
- package/lib/components/eventBooking/components/Provider/EmptyHolderModal/index.d.ts +1 -0
- package/lib/components/eventBooking/components/Provider/Event/index.d.ts +1 -0
- package/lib/components/eventBooking/components/Provider/Footer/index.d.ts +1 -0
- package/lib/components/eventBooking/components/Provider/Header/index.d.ts +1 -0
- package/lib/components/eventBooking/components/Provider/Information/index.d.ts +1 -0
- package/lib/components/eventBooking/components/Provider/OrderProductModal/index.d.ts +1 -0
- package/lib/components/eventBooking/components/Provider/RemoveOptionConfirmModal.d.ts +1 -0
- package/lib/components/eventBooking/components/Provider/Resource/index.d.ts +1 -0
- package/lib/components/eventBooking/components/Provider/SelectHolderModal.d.ts +1 -0
- package/lib/components/eventBooking/components/bookingDetailModal/components/BookingOptions.d.ts +1 -0
- package/lib/components/eventBooking/components/bookingDetailModal/components/Resource.d.ts +1 -0
- package/lib/components/eventBooking/components/bookingDetailModal/components/Schedule.d.ts +1 -0
- package/lib/components/eventBooking/components/scheduleCalendar/ProductItem/index.d.ts +1 -0
- package/lib/components/eventBooking/components/scheduleCalendar/components/ScheduleTimeItem/index.d.ts +1 -0
- package/lib/components/login/index.d.ts +1 -0
- package/lib/components/pisellSelectCustomerModal/RightPanel/Add/BirthdayField/index.d.ts +1 -0
- package/lib/components/pisellSelectCustomerModal/RightPanel/Add/GenderField/index.d.ts +1 -0
- package/lib/components/pisellSelectCustomerModal/RightPanel/Add/index.d.ts +1 -0
- package/lib/components/pisellSelectCustomerModal/RightPanel/List/index.d.ts +1 -0
- package/lib/components/productExtension/fields/SelectProducts/ProductItem/index.d.ts +1 -0
- package/lib/components/productExtension/fields/SelectProducts/ProductItemPreview/index.d.ts +1 -0
- package/lib/components/productExtension/fields/SelectProducts/index.d.ts +1 -0
- package/lib/components/productExtension/fields/SelectResourcesTable/index.d.ts +1 -0
- package/lib/components/ruleSetting/ruleBorder/index.d.ts +1 -0
- package/lib/components/schedules/calendar/index.d.ts +1 -0
- package/lib/components/schedules/components/ScheduleDetailList/index.d.ts +1 -0
- package/lib/components/schedules/components/ScheduleList/index.d.ts +1 -0
- package/lib/components/schedules/products/ProductDetailDrawer/ProductDetail/MaxParticipantsModule/index.d.ts +1 -0
- package/lib/components/schedules/products/ProductDetailDrawer/ProductDetail/ResourcesModule/index.d.ts +1 -0
- package/lib/components/schedules/products/ProductDetailDrawer/index.d.ts +1 -0
- package/lib/components/schedules/products/list/ProductItem/index.d.ts +1 -0
- package/lib/components/schedules/products/list/index.d.ts +1 -0
- package/lib/components/schedules/resources/index.d.ts +1 -0
- package/lib/components/schedules/resources/list/index.d.ts +1 -0
- package/lib/components/schedules/schedules/AllSchedules/index.d.ts +1 -0
- package/lib/components/schedules/schedules/ScheduleDetailDrawer/index.d.ts +1 -0
- package/lib/components/schedules/schedules/index.d.ts +1 -0
- package/lib/components/shoppingCart/hooks/useAddService.d.ts +1 -0
- package/lib/components/shoppingCart/hooks/useClearCart.d.ts +1 -0
- package/lib/components/shoppingCart/index.d.ts +1 -0
- package/lib/components/wallet/hooks/useWalletCard.d.ts +1 -0
- package/lib/hooks/usePaymentLogger.d.ts +1 -0
- package/lib/plus/saasCreateOrganization/components/Header.d.ts +1 -0
- package/lib/plus/saasRegister/components/EntryEmail.d.ts +1 -0
- package/lib/plus/saasRegister/components/EntryInfo.d.ts +1 -0
- package/lib/plus/saasRegister/components/GoLogin.d.ts +1 -0
- package/lib/plus/saasRegister/components/Header.d.ts +1 -0
- package/lib/plus/saasRegister/components/VerifyError.d.ts +1 -0
- package/lib/plus/saasRegister/components/VerifyingLink.d.ts +1 -0
- package/lib/plus/saasRegister/components/VertifyEmail.d.ts +1 -0
- package/lib/plus/walletEditor/components/relationProduct/index.d.ts +1 -0
- package/lib/plus/walletPassGallery/components/passList/index.d.ts +1 -0
- package/lib/plus/walletPassGallery/components/timelineSection/index.d.ts +1 -0
- package/lib/pro/priceKeyboard/components/cashKeyboard/CashKeyboardIntact.js +34 -39
- package/package.json +1 -1
|
@@ -37,6 +37,7 @@ import { editSessionProduct } from "../../../info/utils";
|
|
|
37
37
|
import { deleteCacheParams, getProductTotalPrice, getServiceTimes, isSessionProduct } from "../../../utils";
|
|
38
38
|
import { getErrorList, getIsNoSpecAndPackage } from "../../utilsByBooking";
|
|
39
39
|
import { formatResources, getDurationProps, getFlexibleOption, getTimeObj, setDefaultCapacitys } from "../addService/utils";
|
|
40
|
+
import { setProductPrice } from "./utils";
|
|
40
41
|
import NoteModal from "../../../../../plus/noteModal";
|
|
41
42
|
import { DiscountKeyboard } from "../../../../../pro/priceKeyboard";
|
|
42
43
|
var submitLock = false;
|
|
@@ -240,7 +241,7 @@ var Info = function Info(_, ref) {
|
|
|
240
241
|
* @Date: 2024-01-09 14:04
|
|
241
242
|
*/
|
|
242
243
|
var onFinish = function onFinish(values) {
|
|
243
|
-
var _resourcesRef$current, _item$_extend, _state$service$cacheI3, _window$closeBookingE2, _window2;
|
|
244
|
+
var _resourcesRef$current, _item$_extend, _item2, _item$_extend2, _state$service$cacheI3, _window$closeBookingE2, _window2;
|
|
244
245
|
var isSuccess = (_resourcesRef$current = resourcesRef.current) === null || _resourcesRef$current === void 0 ? void 0 : _resourcesRef$current.check();
|
|
245
246
|
if (isShowTimeAndResource && !isSuccess) {
|
|
246
247
|
return;
|
|
@@ -277,7 +278,11 @@ var Info = function Info(_, ref) {
|
|
|
277
278
|
_item._extend = _extend;
|
|
278
279
|
_item._time = new Date().getTime();
|
|
279
280
|
_item._serviceKey = genServiceKey(_item);
|
|
280
|
-
var _id = _item === null ||
|
|
281
|
+
var _id = (_item2 = _item) === null || _item2 === void 0 ? void 0 : _item2._id;
|
|
282
|
+
_item = setProductPrice(_item, {
|
|
283
|
+
newTotal: values.total,
|
|
284
|
+
origin_total: (_item$_extend2 = _item._extend) === null || _item$_extend2 === void 0 ? void 0 : _item$_extend2.origin_total
|
|
285
|
+
});
|
|
281
286
|
|
|
282
287
|
// 判断是新增还是编辑
|
|
283
288
|
if (!_list.some(function (d) {
|
|
@@ -288,7 +293,12 @@ var Info = function Info(_, ref) {
|
|
|
288
293
|
} else {
|
|
289
294
|
// 手动改价时移除优惠券使用
|
|
290
295
|
if (isChangeTotal.current) {
|
|
296
|
+
var _item$_extend3;
|
|
291
297
|
delete _item.discount_list;
|
|
298
|
+
_item = setProductPrice(_item, {
|
|
299
|
+
newTotal: values.total,
|
|
300
|
+
origin_total: (_item$_extend3 = _item._extend) === null || _item$_extend3 === void 0 ? void 0 : _item$_extend3.origin_total
|
|
301
|
+
});
|
|
292
302
|
}
|
|
293
303
|
_list = _list.map(function (d) {
|
|
294
304
|
return d._id === _id ? _objectSpread(_objectSpread({}, _item), {}, {
|
|
@@ -483,11 +493,11 @@ var Info = function Info(_, ref) {
|
|
|
483
493
|
var isSession = isSessionProduct(item);
|
|
484
494
|
var sessionValue = {};
|
|
485
495
|
if (isSession) {
|
|
486
|
-
var _item$
|
|
496
|
+
var _item$_extend4, _item$_extend5, _item$_extend6;
|
|
487
497
|
sessionValue.startEndTime = {
|
|
488
|
-
startDate: item === null || item === void 0 || (_item$
|
|
489
|
-
endDate: item === null || item === void 0 || (_item$
|
|
490
|
-
duration: item === null || item === void 0 || (_item$
|
|
498
|
+
startDate: item === null || item === void 0 || (_item$_extend4 = item._extend) === null || _item$_extend4 === void 0 ? void 0 : _item$_extend4.start_date,
|
|
499
|
+
endDate: item === null || item === void 0 || (_item$_extend5 = item._extend) === null || _item$_extend5 === void 0 ? void 0 : _item$_extend5.end_date,
|
|
500
|
+
duration: item === null || item === void 0 || (_item$_extend6 = item._extend) === null || _item$_extend6 === void 0 ? void 0 : _item$_extend6.duration
|
|
491
501
|
};
|
|
492
502
|
}
|
|
493
503
|
|
|
@@ -11,3 +11,18 @@ export declare const getAutoAllocationStorage: (id: string | number) => any;
|
|
|
11
11
|
export declare const setAutoAllocationStorage: (data: {
|
|
12
12
|
[key: string]: boolean;
|
|
13
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;
|
|
@@ -14,7 +14,9 @@ function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e
|
|
|
14
14
|
判断是否需要进入编辑服务页
|
|
15
15
|
*/
|
|
16
16
|
|
|
17
|
+
import { isArr } from "@pisell/utils";
|
|
17
18
|
import { isBoolean } from "@pisell/utils";
|
|
19
|
+
import Decimal from "decimal.js";
|
|
18
20
|
var isNewService = function isNewService(service) {
|
|
19
21
|
return !service.new && service._extend.endDate;
|
|
20
22
|
};
|
|
@@ -52,4 +54,68 @@ export var setAutoAllocationStorage = function setAutoAllocationStorage(data) {
|
|
|
52
54
|
} else {
|
|
53
55
|
localStorage.setItem('resource-auto-allocation', JSON.stringify(_objectSpread({}, data)));
|
|
54
56
|
}
|
|
57
|
+
};
|
|
58
|
+
|
|
59
|
+
/**
|
|
60
|
+
* 手动折扣后给商品价格和子商品价格重新计算
|
|
61
|
+
*
|
|
62
|
+
* 计算逻辑:
|
|
63
|
+
* 1. 子商品(bundle + option)按折扣比例计算,直接截取两位小数(不四舍五入)
|
|
64
|
+
* 2. 主商品价格 = newTotal - 所有子商品价格总和(确保总价精确等于 newTotal)
|
|
65
|
+
*
|
|
66
|
+
* @param cacheItem - 缓存的商品项
|
|
67
|
+
* @param newTotal - 折扣后的新总价
|
|
68
|
+
* @param origin_total - 原始总价
|
|
69
|
+
*/
|
|
70
|
+
export var setProductPrice = function setProductPrice(cacheItem, _ref2) {
|
|
71
|
+
var _cacheItem$_extend$ot, _cacheItem$_extend$ot2, _cacheItem$_extend$ot4, _cacheItem$_extend$ot5;
|
|
72
|
+
var newTotal = _ref2.newTotal,
|
|
73
|
+
origin_total = _ref2.origin_total;
|
|
74
|
+
// 计算折扣比例
|
|
75
|
+
var discountRatio = new Decimal(newTotal).div(new Decimal(origin_total));
|
|
76
|
+
|
|
77
|
+
// 用于累加子商品总价c
|
|
78
|
+
var subTotal = new Decimal(0);
|
|
79
|
+
|
|
80
|
+
// 处理 bundle 子商品
|
|
81
|
+
if ((_cacheItem$_extend$ot = cacheItem._extend.other) !== null && _cacheItem$_extend$ot !== void 0 && _cacheItem$_extend$ot.bundle && isArr((_cacheItem$_extend$ot2 = cacheItem._extend.other) === null || _cacheItem$_extend$ot2 === void 0 ? void 0 : _cacheItem$_extend$ot2.bundle)) {
|
|
82
|
+
var _cacheItem$_extend$ot3;
|
|
83
|
+
(_cacheItem$_extend$ot3 = cacheItem._extend.other) === null || _cacheItem$_extend$ot3 === void 0 || (_cacheItem$_extend$ot3 = _cacheItem$_extend$ot3.bundle) === null || _cacheItem$_extend$ot3 === void 0 || _cacheItem$_extend$ot3.forEach(function (bundle) {
|
|
84
|
+
var _ref3, _bundle$num;
|
|
85
|
+
// 计算新价格,直接截取两位小数(不四舍五入)
|
|
86
|
+
var newPrice = new Decimal(bundle.original_price || bundle.price).mul(discountRatio).toDecimalPlaces(2, Decimal.ROUND_DOWN).toNumber();
|
|
87
|
+
|
|
88
|
+
// 获取数量,优先取 num,再取 quantity,默认为 1
|
|
89
|
+
var quantity = (_ref3 = (_bundle$num = bundle.num) !== null && _bundle$num !== void 0 ? _bundle$num : bundle.quantity) !== null && _ref3 !== void 0 ? _ref3 : 1;
|
|
90
|
+
|
|
91
|
+
// 累加到子商品总价
|
|
92
|
+
subTotal = subTotal.add(new Decimal(newPrice).mul(quantity));
|
|
93
|
+
|
|
94
|
+
// 设置新价格
|
|
95
|
+
bundle.price = newPrice;
|
|
96
|
+
});
|
|
97
|
+
}
|
|
98
|
+
|
|
99
|
+
// 处理 option 子商品
|
|
100
|
+
if ((_cacheItem$_extend$ot4 = cacheItem._extend.other) !== null && _cacheItem$_extend$ot4 !== void 0 && _cacheItem$_extend$ot4.option && isArr((_cacheItem$_extend$ot5 = cacheItem._extend.other) === null || _cacheItem$_extend$ot5 === void 0 ? void 0 : _cacheItem$_extend$ot5.option)) {
|
|
101
|
+
var _cacheItem$_extend$ot6;
|
|
102
|
+
(_cacheItem$_extend$ot6 = cacheItem._extend.other) === null || _cacheItem$_extend$ot6 === void 0 || (_cacheItem$_extend$ot6 = _cacheItem$_extend$ot6.option) === null || _cacheItem$_extend$ot6 === void 0 || _cacheItem$_extend$ot6.forEach(function (option) {
|
|
103
|
+
var _ref4, _option$num;
|
|
104
|
+
// 计算新价格,直接截取两位小数(不四舍五入)
|
|
105
|
+
var newPrice = new Decimal(option.price).mul(discountRatio).toDecimalPlaces(2, Decimal.ROUND_DOWN).toNumber();
|
|
106
|
+
|
|
107
|
+
// 获取数量,优先取 num,再取 quantity,默认为 1
|
|
108
|
+
var quantity = (_ref4 = (_option$num = option.num) !== null && _option$num !== void 0 ? _option$num : option.quantity) !== null && _ref4 !== void 0 ? _ref4 : 1;
|
|
109
|
+
|
|
110
|
+
// 累加到子商品总价
|
|
111
|
+
subTotal = subTotal.add(new Decimal(newPrice).mul(quantity));
|
|
112
|
+
|
|
113
|
+
// 设置新价格
|
|
114
|
+
option.price = newPrice;
|
|
115
|
+
});
|
|
116
|
+
}
|
|
117
|
+
|
|
118
|
+
// 主商品价格 = newTotal - 子商品总价(让主商品吸收精度误差,确保总价精确)
|
|
119
|
+
cacheItem._extend.price = new Decimal(newTotal).sub(subTotal).toNumber();
|
|
120
|
+
return cacheItem;
|
|
55
121
|
};
|
|
@@ -248,7 +248,6 @@
|
|
|
248
248
|
|
|
249
249
|
.balance-due-label {
|
|
250
250
|
font-size: 16px;
|
|
251
|
-
color: #7f56da;
|
|
252
251
|
font-weight: 400;
|
|
253
252
|
line-height: 1.5;
|
|
254
253
|
margin-bottom: 4px;
|
|
@@ -256,7 +255,7 @@
|
|
|
256
255
|
|
|
257
256
|
.balance-due-amount {
|
|
258
257
|
font-size: 14px;
|
|
259
|
-
font-weight:
|
|
258
|
+
font-weight: 600;
|
|
260
259
|
color: #7f56da;
|
|
261
260
|
line-height: 0.75;
|
|
262
261
|
text-decoration: underline;
|
|
@@ -272,13 +271,13 @@
|
|
|
272
271
|
.pay-text {
|
|
273
272
|
font-size: 16px;
|
|
274
273
|
font-weight: 500;
|
|
275
|
-
color: #7f56da;
|
|
276
274
|
letter-spacing: 0.09375em;
|
|
275
|
+
margin-top: 12px;
|
|
277
276
|
}
|
|
278
277
|
|
|
279
278
|
.pay-amount {
|
|
280
|
-
font-size:
|
|
281
|
-
font-weight:
|
|
279
|
+
font-size: 36px;
|
|
280
|
+
font-weight: 600;
|
|
282
281
|
color: #1e1830;
|
|
283
282
|
line-height: 0.75;
|
|
284
283
|
}
|