@pisell/private-materials 6.3.50 → 6.3.52
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/Sales/Summary/utils.d.ts +1 -1
- package/es/components/appointmentBooking/components/Footer/index.d.ts +0 -1
- package/es/components/appointmentBooking/components/Guest/components/InformationOptionsModal/index.d.ts +0 -1
- package/es/components/appointmentBooking/components/Voucher/index.js +1 -1
- package/es/components/booking/addons/index.js +20 -17
- 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/utils.d.ts +5 -0
- package/es/components/booking/components/footer/utils.js +85 -40
- package/es/components/booking/components/reloadResourceModal/index.d.ts +1 -0
- package/es/components/booking/components/voucher/index.js +18 -5
- 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/notes/index.d.ts +1 -0
- package/es/components/booking/info/service/actions/index.d.ts +1 -0
- package/es/components/booking/info/service2/utils.js +1 -0
- package/es/components/booking/info2/service/actions/index.d.ts +1 -0
- package/es/components/booking/info2/service/addService/index.js +2 -3
- package/es/components/booking/info2/service/contactInfoMode/index.d.ts +1 -0
- package/es/components/booking/materiels/duration/index.d.ts +1 -0
- package/es/components/booking/notes/NoteBlock/NoteItem/index.d.ts +1 -0
- package/es/components/booking/notes/NoteBlock/index.d.ts +1 -0
- package/es/components/booking/utils.d.ts +1 -0
- package/es/components/booking/utils.js +16 -2
- package/es/components/eftpos/form/index.d.ts +0 -1
- package/es/components/eftpos/hooks.d.ts +0 -1
- package/es/components/eftposPay/amount.d.ts +1 -0
- package/es/components/eftposPay/hooks.d.ts +1 -1
- package/es/components/eftposPay/payo/config.d.ts +1 -0
- package/es/components/eftposPay/store/index.d.ts +1 -1
- 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/ErrorTip/index.d.ts +0 -1
- package/es/components/eventBooking/components/Provider/Content/index.d.ts +1 -0
- package/es/components/eventBooking/components/Provider/InformationOptionsModal/index.d.ts +0 -1
- package/es/components/eventBooking/components/Provider/SelectHolderModal.d.ts +1 -0
- package/es/components/eventBooking/components/bookingAvailabilityCalendar/components/CalendarDate/CalenDateWeek/WeekItem/index.d.ts +0 -1
- package/es/components/eventBooking/components/bookingAvailabilityCalendar/components/CalendarDate/CalenDateWeek/index.d.ts +0 -1
- package/es/components/eventBooking/components/bookingDetailModal/components/Resource.d.ts +1 -0
- package/es/components/login/index.d.ts +1 -0
- package/es/components/pay/toC/PaymentMethods/StripePay/Stripe/StripeSDK/index.d.ts +0 -1
- package/es/components/pay/toC/PaymentMethods/StripePay/Stripe/components/SetupForm/index.d.ts +0 -1
- package/es/components/pay/toC/PaymentMethods/StripePay/Stripe/index.d.ts +0 -1
- package/es/components/pay/toC/WalletPassBlock/components/WalletUseList/index.d.ts +0 -1
- 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/productExtension/fields/Forms/index.d.ts +0 -1
- 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/products/ProductDetailDrawer/ProductDetail/ResourcesModule/index.d.ts +1 -0
- package/es/components/schedules/products/ProductDetailDrawer/ProductDetail/index.d.ts +0 -1
- package/es/components/schedules/products/index.d.ts +0 -1
- 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/list/index.d.ts +1 -0
- package/es/components/schedules/resources/relationProduct/index.d.ts +0 -1
- package/es/components/shoppingCart/index.d.ts +1 -0
- package/es/components/ticketBooking/components/addServiceVariant/addService.js +3 -3
- package/es/components/ticketBooking/utils/index.js +23 -8
- package/es/components/wallet/hooks/useWalletCard.d.ts +1 -0
- package/es/components/workSpaceList/components/Modal/index.d.ts +0 -1
- 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/walletPassGallery/components/footerButton/index.js +2 -4
- package/es/plus/walletPassGallery/components/footerButton/index.less +14 -59
- package/es/plus/walletPassGallery/components/passDetail/index.js +5 -1
- package/es/plus/walletPassGallery/components/passDetail/index.less +4 -0
- package/es/plus/walletPassGallery/components/recharge/index.js +19 -8
- package/es/plus/walletPassGallery/index.js +3 -1
- package/es/pro/Login2.0/index.less +15 -8
- package/lib/components/Sales/Summary/utils.d.ts +1 -1
- package/lib/components/appointmentBooking/components/Footer/index.d.ts +0 -1
- package/lib/components/appointmentBooking/components/Guest/components/InformationOptionsModal/index.d.ts +0 -1
- package/lib/components/appointmentBooking/components/Voucher/index.js +1 -1
- package/lib/components/booking/addons/index.js +10 -7
- 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/utils.d.ts +5 -0
- package/lib/components/booking/components/footer/utils.js +56 -23
- package/lib/components/booking/components/reloadResourceModal/index.d.ts +1 -0
- package/lib/components/booking/components/voucher/index.js +19 -6
- 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/notes/index.d.ts +1 -0
- package/lib/components/booking/info/service/actions/index.d.ts +1 -0
- package/lib/components/booking/info/service2/utils.js +1 -0
- package/lib/components/booking/info2/service/actions/index.d.ts +1 -0
- package/lib/components/booking/info2/service/addService/index.js +1 -2
- package/lib/components/booking/info2/service/contactInfoMode/index.d.ts +1 -0
- package/lib/components/booking/materiels/duration/index.d.ts +1 -0
- package/lib/components/booking/notes/NoteBlock/NoteItem/index.d.ts +1 -0
- package/lib/components/booking/notes/NoteBlock/index.d.ts +1 -0
- package/lib/components/booking/utils.d.ts +1 -0
- package/lib/components/booking/utils.js +12 -0
- package/lib/components/eftpos/form/index.d.ts +0 -1
- package/lib/components/eftpos/hooks.d.ts +0 -1
- package/lib/components/eftposPay/amount.d.ts +1 -0
- package/lib/components/eftposPay/hooks.d.ts +1 -1
- package/lib/components/eftposPay/payo/config.d.ts +1 -0
- package/lib/components/eftposPay/store/index.d.ts +1 -1
- 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/ErrorTip/index.d.ts +0 -1
- package/lib/components/eventBooking/components/Provider/Content/index.d.ts +1 -0
- package/lib/components/eventBooking/components/Provider/InformationOptionsModal/index.d.ts +0 -1
- package/lib/components/eventBooking/components/Provider/SelectHolderModal.d.ts +1 -0
- package/lib/components/eventBooking/components/bookingAvailabilityCalendar/components/CalendarDate/CalenDateWeek/WeekItem/index.d.ts +0 -1
- package/lib/components/eventBooking/components/bookingAvailabilityCalendar/components/CalendarDate/CalenDateWeek/index.d.ts +0 -1
- package/lib/components/eventBooking/components/bookingDetailModal/components/Resource.d.ts +1 -0
- package/lib/components/login/index.d.ts +1 -0
- package/lib/components/pay/toC/PaymentMethods/StripePay/Stripe/StripeSDK/index.d.ts +0 -1
- package/lib/components/pay/toC/PaymentMethods/StripePay/Stripe/components/SetupForm/index.d.ts +0 -1
- package/lib/components/pay/toC/PaymentMethods/StripePay/Stripe/index.d.ts +0 -1
- package/lib/components/pay/toC/WalletPassBlock/components/WalletUseList/index.d.ts +0 -1
- 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/productExtension/fields/Forms/index.d.ts +0 -1
- 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/products/ProductDetailDrawer/ProductDetail/ResourcesModule/index.d.ts +1 -0
- package/lib/components/schedules/products/ProductDetailDrawer/ProductDetail/index.d.ts +0 -1
- package/lib/components/schedules/products/index.d.ts +0 -1
- 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/list/index.d.ts +1 -0
- package/lib/components/schedules/resources/relationProduct/index.d.ts +0 -1
- package/lib/components/shoppingCart/index.d.ts +1 -0
- package/lib/components/ticketBooking/components/addServiceVariant/addService.js +1 -1
- package/lib/components/ticketBooking/utils/index.js +9 -4
- package/lib/components/wallet/hooks/useWalletCard.d.ts +1 -0
- package/lib/components/workSpaceList/components/Modal/index.d.ts +0 -1
- 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/walletPassGallery/components/footerButton/index.js +2 -2
- package/lib/plus/walletPassGallery/components/footerButton/index.less +14 -59
- package/lib/plus/walletPassGallery/components/passDetail/index.js +4 -1
- package/lib/plus/walletPassGallery/components/passDetail/index.less +4 -0
- package/lib/plus/walletPassGallery/components/recharge/index.js +7 -1
- package/lib/plus/walletPassGallery/index.js +3 -1
- package/lib/pro/Login2.0/index.less +15 -8
- package/package.json +3 -3
|
@@ -30,7 +30,7 @@ export declare const calculateSubtotal: (items: CartItem[]) => string;
|
|
|
30
30
|
* @return {*}
|
|
31
31
|
* @Author: xiangfeng.xue
|
|
32
32
|
*/
|
|
33
|
-
export declare const calculateTaxFee: (shopInfo: any, items: CartItem[]) => "0.00"
|
|
33
|
+
export declare const calculateTaxFee: (shopInfo: any, items: CartItem[]) => Decimal | "0.00";
|
|
34
34
|
/**
|
|
35
35
|
* 计算所有价格明细
|
|
36
36
|
* @param items - 购物车商品数组
|
|
@@ -102,7 +102,7 @@ var VoucherCard = function VoucherCard(props) {
|
|
|
102
102
|
return {
|
|
103
103
|
_id: item._id,
|
|
104
104
|
quantity: item.num,
|
|
105
|
-
bundle: item.
|
|
105
|
+
bundle: item.bundle,
|
|
106
106
|
options: item._optionsOrigin,
|
|
107
107
|
product: _objectSpread({}, item._productOrigin),
|
|
108
108
|
discounts: ((_item$_origin = item._origin) === null || _item$_origin === void 0 || (_item$_origin = _item$_origin.product) === null || _item$_origin === void 0 ? void 0 : _item$_origin.discount_list) || []
|
|
@@ -1,15 +1,9 @@
|
|
|
1
1
|
function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
|
|
2
|
-
function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }
|
|
3
|
-
function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
|
|
4
|
-
function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter); }
|
|
5
|
-
function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }
|
|
6
2
|
function _regeneratorRuntime() { "use strict"; /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/facebook/regenerator/blob/main/LICENSE */ _regeneratorRuntime = function _regeneratorRuntime() { return e; }; var t, e = {}, r = Object.prototype, n = r.hasOwnProperty, o = Object.defineProperty || function (t, e, r) { t[e] = r.value; }, i = "function" == typeof Symbol ? Symbol : {}, a = i.iterator || "@@iterator", c = i.asyncIterator || "@@asyncIterator", u = i.toStringTag || "@@toStringTag"; function define(t, e, r) { return Object.defineProperty(t, e, { value: r, enumerable: !0, configurable: !0, writable: !0 }), t[e]; } try { define({}, ""); } catch (t) { define = function define(t, e, r) { return t[e] = r; }; } function wrap(t, e, r, n) { var i = e && e.prototype instanceof Generator ? e : Generator, a = Object.create(i.prototype), c = new Context(n || []); return o(a, "_invoke", { value: makeInvokeMethod(t, r, c) }), a; } function tryCatch(t, e, r) { try { return { type: "normal", arg: t.call(e, r) }; } catch (t) { return { type: "throw", arg: t }; } } e.wrap = wrap; var h = "suspendedStart", l = "suspendedYield", f = "executing", s = "completed", y = {}; function Generator() {} function GeneratorFunction() {} function GeneratorFunctionPrototype() {} var p = {}; define(p, a, function () { return this; }); var d = Object.getPrototypeOf, v = d && d(d(values([]))); v && v !== r && n.call(v, a) && (p = v); var g = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(p); function defineIteratorMethods(t) { ["next", "throw", "return"].forEach(function (e) { define(t, e, function (t) { return this._invoke(e, t); }); }); } function AsyncIterator(t, e) { function invoke(r, o, i, a) { var c = tryCatch(t[r], t, o); if ("throw" !== c.type) { var u = c.arg, h = u.value; return h && "object" == _typeof(h) && n.call(h, "__await") ? e.resolve(h.__await).then(function (t) { invoke("next", t, i, a); }, function (t) { invoke("throw", t, i, a); }) : e.resolve(h).then(function (t) { u.value = t, i(u); }, function (t) { return invoke("throw", t, i, a); }); } a(c.arg); } var r; o(this, "_invoke", { value: function value(t, n) { function callInvokeWithMethodAndArg() { return new e(function (e, r) { invoke(t, n, e, r); }); } return r = r ? r.then(callInvokeWithMethodAndArg, callInvokeWithMethodAndArg) : callInvokeWithMethodAndArg(); } }); } function makeInvokeMethod(e, r, n) { var o = h; return function (i, a) { if (o === f) throw new Error("Generator is already running"); if (o === s) { if ("throw" === i) throw a; return { value: t, done: !0 }; } for (n.method = i, n.arg = a;;) { var c = n.delegate; if (c) { var u = maybeInvokeDelegate(c, n); if (u) { if (u === y) continue; return u; } } if ("next" === n.method) n.sent = n._sent = n.arg;else if ("throw" === n.method) { if (o === h) throw o = s, n.arg; n.dispatchException(n.arg); } else "return" === n.method && n.abrupt("return", n.arg); o = f; var p = tryCatch(e, r, n); if ("normal" === p.type) { if (o = n.done ? s : l, p.arg === y) continue; return { value: p.arg, done: n.done }; } "throw" === p.type && (o = s, n.method = "throw", n.arg = p.arg); } }; } function maybeInvokeDelegate(e, r) { var n = r.method, o = e.iterator[n]; if (o === t) return r.delegate = null, "throw" === n && e.iterator.return && (r.method = "return", r.arg = t, maybeInvokeDelegate(e, r), "throw" === r.method) || "return" !== n && (r.method = "throw", r.arg = new TypeError("The iterator does not provide a '" + n + "' method")), y; var i = tryCatch(o, e.iterator, r.arg); if ("throw" === i.type) return r.method = "throw", r.arg = i.arg, r.delegate = null, y; var a = i.arg; return a ? a.done ? (r[e.resultName] = a.value, r.next = e.nextLoc, "return" !== r.method && (r.method = "next", r.arg = t), r.delegate = null, y) : a : (r.method = "throw", r.arg = new TypeError("iterator result is not an object"), r.delegate = null, y); } function pushTryEntry(t) { var e = { tryLoc: t[0] }; 1 in t && (e.catchLoc = t[1]), 2 in t && (e.finallyLoc = t[2], e.afterLoc = t[3]), this.tryEntries.push(e); } function resetTryEntry(t) { var e = t.completion || {}; e.type = "normal", delete e.arg, t.completion = e; } function Context(t) { this.tryEntries = [{ tryLoc: "root" }], t.forEach(pushTryEntry, this), this.reset(!0); } function values(e) { if (e || "" === e) { var r = e[a]; if (r) return r.call(e); if ("function" == typeof e.next) return e; if (!isNaN(e.length)) { var o = -1, i = function next() { for (; ++o < e.length;) if (n.call(e, o)) return next.value = e[o], next.done = !1, next; return next.value = t, next.done = !0, next; }; return i.next = i; } } throw new TypeError(_typeof(e) + " is not iterable"); } return GeneratorFunction.prototype = GeneratorFunctionPrototype, o(g, "constructor", { value: GeneratorFunctionPrototype, configurable: !0 }), o(GeneratorFunctionPrototype, "constructor", { value: GeneratorFunction, configurable: !0 }), GeneratorFunction.displayName = define(GeneratorFunctionPrototype, u, "GeneratorFunction"), e.isGeneratorFunction = function (t) { var e = "function" == typeof t && t.constructor; return !!e && (e === GeneratorFunction || "GeneratorFunction" === (e.displayName || e.name)); }, e.mark = function (t) { return Object.setPrototypeOf ? Object.setPrototypeOf(t, GeneratorFunctionPrototype) : (t.__proto__ = GeneratorFunctionPrototype, define(t, u, "GeneratorFunction")), t.prototype = Object.create(g), t; }, e.awrap = function (t) { return { __await: t }; }, defineIteratorMethods(AsyncIterator.prototype), define(AsyncIterator.prototype, c, function () { return this; }), e.AsyncIterator = AsyncIterator, e.async = function (t, r, n, o, i) { void 0 === i && (i = Promise); var a = new AsyncIterator(wrap(t, r, n, o), i); return e.isGeneratorFunction(r) ? a : a.next().then(function (t) { return t.done ? t.value : a.next(); }); }, defineIteratorMethods(g), define(g, u, "Generator"), define(g, a, function () { return this; }), define(g, "toString", function () { return "[object Generator]"; }), e.keys = function (t) { var e = Object(t), r = []; for (var n in e) r.push(n); return r.reverse(), function next() { for (; r.length;) { var t = r.pop(); if (t in e) return next.value = t, next.done = !1, next; } return next.done = !0, next; }; }, e.values = values, Context.prototype = { constructor: Context, reset: function reset(e) { if (this.prev = 0, this.next = 0, this.sent = this._sent = t, this.done = !1, this.delegate = null, this.method = "next", this.arg = t, this.tryEntries.forEach(resetTryEntry), !e) for (var r in this) "t" === r.charAt(0) && n.call(this, r) && !isNaN(+r.slice(1)) && (this[r] = t); }, stop: function stop() { this.done = !0; var t = this.tryEntries[0].completion; if ("throw" === t.type) throw t.arg; return this.rval; }, dispatchException: function dispatchException(e) { if (this.done) throw e; var r = this; function handle(n, o) { return a.type = "throw", a.arg = e, r.next = n, o && (r.method = "next", r.arg = t), !!o; } for (var o = this.tryEntries.length - 1; o >= 0; --o) { var i = this.tryEntries[o], a = i.completion; if ("root" === i.tryLoc) return handle("end"); if (i.tryLoc <= this.prev) { var c = n.call(i, "catchLoc"), u = n.call(i, "finallyLoc"); if (c && u) { if (this.prev < i.catchLoc) return handle(i.catchLoc, !0); if (this.prev < i.finallyLoc) return handle(i.finallyLoc); } else if (c) { if (this.prev < i.catchLoc) return handle(i.catchLoc, !0); } else { if (!u) throw new Error("try statement without catch or finally"); if (this.prev < i.finallyLoc) return handle(i.finallyLoc); } } } }, abrupt: function abrupt(t, e) { for (var r = this.tryEntries.length - 1; r >= 0; --r) { var o = this.tryEntries[r]; if (o.tryLoc <= this.prev && n.call(o, "finallyLoc") && this.prev < o.finallyLoc) { var i = o; break; } } i && ("break" === t || "continue" === t) && i.tryLoc <= e && e <= i.finallyLoc && (i = null); var a = i ? i.completion : {}; return a.type = t, a.arg = e, i ? (this.method = "next", this.next = i.finallyLoc, y) : this.complete(a); }, complete: function complete(t, e) { if ("throw" === t.type) throw t.arg; return "break" === t.type || "continue" === t.type ? this.next = t.arg : "return" === t.type ? (this.rval = this.arg = t.arg, this.method = "return", this.next = "end") : "normal" === t.type && e && (this.next = e), y; }, finish: function finish(t) { for (var e = this.tryEntries.length - 1; e >= 0; --e) { var r = this.tryEntries[e]; if (r.finallyLoc === t) return this.complete(r.completion, r.afterLoc), resetTryEntry(r), y; } }, catch: function _catch(t) { for (var e = this.tryEntries.length - 1; e >= 0; --e) { var r = this.tryEntries[e]; if (r.tryLoc === t) { var n = r.completion; if ("throw" === n.type) { var o = n.arg; resetTryEntry(r); } return o; } } throw new Error("illegal catch attempt"); }, delegateYield: function delegateYield(e, r, n) { return this.delegate = { iterator: values(e), resultName: r, nextLoc: n }, "next" === this.method && (this.arg = t), y; } }, e; }
|
|
7
3
|
function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }
|
|
8
4
|
function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); } _next(undefined); }); }; }
|
|
9
5
|
function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
|
|
10
6
|
function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
|
|
11
|
-
function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
|
|
12
|
-
function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
|
|
13
7
|
function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t.return && (u = t.return(), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }
|
|
14
8
|
function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
|
|
15
9
|
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
@@ -17,6 +11,12 @@ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t =
|
|
|
17
11
|
function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
18
12
|
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : String(i); }
|
|
19
13
|
function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
|
|
14
|
+
function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }
|
|
15
|
+
function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
|
|
16
|
+
function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
|
|
17
|
+
function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter); }
|
|
18
|
+
function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }
|
|
19
|
+
function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
|
|
20
20
|
/**
|
|
21
21
|
* @title: 添加额外商品
|
|
22
22
|
* @description:
|
|
@@ -35,31 +35,34 @@ import ProductItem from "../components/TabProduct/selectProductItem";
|
|
|
35
35
|
import TabProduct from "../components/TabProduct";
|
|
36
36
|
import EmptyBooking from "../components/emptyBooking";
|
|
37
37
|
import Footer from "../components/footer";
|
|
38
|
-
import { formatProductBundle, formatProductOption, formatProductPrice } from "../components/footer/utils";
|
|
39
|
-
import { formatProductListByCategory, getIsEject, getIsOnlySession, getProductTotalPrice, isSessionProduct, request } from "../utils";
|
|
38
|
+
import { formatProductBundle, formatProductOption, formatProductPrice, getBundleDiscountList } from "../components/footer/utils";
|
|
39
|
+
import { formatProductListByCategory, getIsEject, getIsOnlySession, getMainPrice, getProductTotalPrice, isSessionProduct, request } from "../utils";
|
|
40
40
|
import { locales, getUniqueId } from '@pisell/utils';
|
|
41
41
|
import "./index.less";
|
|
42
42
|
import useEngineContext from "../../../hooks/useEngineContext";
|
|
43
43
|
export var formatProducts = function formatProducts(values) {
|
|
44
44
|
var arr = [];
|
|
45
45
|
arr = values.map(function (item) {
|
|
46
|
-
var _item$_extend, _item$_extend2, _item$_extend3, _item$_extend4;
|
|
46
|
+
var _item$_extend, _item$_extend2, _item$_extend3, _item$_extend4, _item$_extend5;
|
|
47
|
+
var bundleDiscountList = getBundleDiscountList(((_item$_extend = item._extend) === null || _item$_extend === void 0 || (_item$_extend = _item$_extend.other) === null || _item$_extend === void 0 ? void 0 : _item$_extend.bundle) || []);
|
|
48
|
+
var discount_list = _toConsumableArray((item === null || item === void 0 ? void 0 : item.discount_list) || []);
|
|
49
|
+
discount_list.push.apply(discount_list, _toConsumableArray(bundleDiscountList));
|
|
47
50
|
return {
|
|
48
51
|
order_detail_id: item.order_detail_id || 0,
|
|
49
52
|
num: item._extend.quantity,
|
|
50
53
|
price: formatProductPrice(item),
|
|
51
54
|
product_id: item.id,
|
|
52
|
-
discount_list:
|
|
55
|
+
discount_list: discount_list || [],
|
|
53
56
|
discount_amount: 0,
|
|
54
57
|
product_discount_reason: '',
|
|
55
58
|
is_charge_tax: item.is_charge_tax,
|
|
56
59
|
note: '',
|
|
57
60
|
discountway: 'num',
|
|
58
61
|
discount_type: 'discount',
|
|
59
|
-
bundle_edit: (_item$
|
|
60
|
-
product_bundle: formatProductBundle((_item$
|
|
61
|
-
"product_option_item": formatProductOption((_item$
|
|
62
|
-
"product_variant_id": ((_item$
|
|
62
|
+
bundle_edit: (_item$_extend2 = item._extend) === null || _item$_extend2 === void 0 ? void 0 : _item$_extend2.bundle_edit,
|
|
63
|
+
product_bundle: formatProductBundle((_item$_extend3 = item._extend) === null || _item$_extend3 === void 0 || (_item$_extend3 = _item$_extend3.other) === null || _item$_extend3 === void 0 ? void 0 : _item$_extend3.bundle),
|
|
64
|
+
"product_option_item": formatProductOption((_item$_extend4 = item._extend) === null || _item$_extend4 === void 0 || (_item$_extend4 = _item$_extend4.other) === null || _item$_extend4 === void 0 ? void 0 : _item$_extend4.option),
|
|
65
|
+
"product_variant_id": ((_item$_extend5 = item._extend) === null || _item$_extend5 === void 0 || (_item$_extend5 = _item$_extend5.other) === null || _item$_extend5 === void 0 ? void 0 : _item$_extend5.product_variant_id) || 0
|
|
63
66
|
};
|
|
64
67
|
});
|
|
65
68
|
return arr;
|
|
@@ -314,12 +317,12 @@ var Addons = Provider(function (props) {
|
|
|
314
317
|
isAddons: true,
|
|
315
318
|
_key: e.key,
|
|
316
319
|
_extend: {
|
|
317
|
-
price: _detail.price,
|
|
318
320
|
other: e,
|
|
319
321
|
quantity: (e === null || e === void 0 ? void 0 : e.quantity) || 1
|
|
320
322
|
},
|
|
321
323
|
quantity: (e === null || e === void 0 ? void 0 : e.quantity) || 1
|
|
322
324
|
});
|
|
325
|
+
product._extend.price = getMainPrice(product, _detail.price);
|
|
323
326
|
var _total = getProductTotalPrice(product);
|
|
324
327
|
product._extend.total = _total;
|
|
325
328
|
product._extend.origin_total = _total;
|
|
@@ -367,13 +370,13 @@ var Addons = Provider(function (props) {
|
|
|
367
370
|
return d._id !== item._id;
|
|
368
371
|
});
|
|
369
372
|
} else {
|
|
370
|
-
var _item$
|
|
373
|
+
var _item$_extend6;
|
|
371
374
|
var _item = _objectSpread(_objectSpread({}, item), {}, {
|
|
372
375
|
_extend: _objectSpread(_objectSpread({}, item._extend), {}, {
|
|
373
376
|
quantity: Number(e.target.value)
|
|
374
377
|
})
|
|
375
378
|
});
|
|
376
|
-
if (((_item$
|
|
379
|
+
if (((_item$_extend6 = _item._extend) === null || _item$_extend6 === void 0 ? void 0 : _item$_extend6.bundle_edit) !== undefined) {
|
|
377
380
|
_item._extend.bundle_edit = 1;
|
|
378
381
|
}
|
|
379
382
|
_list = _list.map(function (d) {
|
|
@@ -16,6 +16,11 @@ export declare const formatProductOption: (option: any) => any;
|
|
|
16
16
|
* @Date: 2024-02-19 09:26
|
|
17
17
|
*/
|
|
18
18
|
export declare const formatProductBundle: (bundle: any) => any;
|
|
19
|
+
/**
|
|
20
|
+
* 获取子商品折扣信息
|
|
21
|
+
* @param item
|
|
22
|
+
*/
|
|
23
|
+
export declare const getBundleDiscountList: (bundle: any[]) => any[];
|
|
19
24
|
export interface ResourceItem {
|
|
20
25
|
[key: string]: any;
|
|
21
26
|
}
|
|
@@ -4,6 +4,12 @@ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t =
|
|
|
4
4
|
function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
5
5
|
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : String(i); }
|
|
6
6
|
function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
|
|
7
|
+
function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }
|
|
8
|
+
function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
|
|
9
|
+
function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
|
|
10
|
+
function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter); }
|
|
11
|
+
function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }
|
|
12
|
+
function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
|
|
7
13
|
import dayjs from 'dayjs';
|
|
8
14
|
import { flexibleObj, isNowTime, getNowTime } from "../../utils";
|
|
9
15
|
import { isWalkIn } from "../../utils";
|
|
@@ -12,7 +18,8 @@ import { getDays } from "../../utils";
|
|
|
12
18
|
import { appointmentTypes } from "../../info/service2/status";
|
|
13
19
|
import { isDaysBooking, formatDayTime, isEventBooking, isNormalProductByDurationSchedule } from "../../info/service2/utils";
|
|
14
20
|
import { isArr, locales, sendWarningLog } from '@pisell/utils';
|
|
15
|
-
import { PisellToast } from
|
|
21
|
+
import { PisellToast } from "@pisell/materials";
|
|
22
|
+
import Decimal from 'decimal.js';
|
|
16
23
|
var formatNote = function formatNote(data) {
|
|
17
24
|
var _data$notes;
|
|
18
25
|
return ((_data$notes = data.notes) === null || _data$notes === void 0 ? void 0 : _data$notes.orderNote) || '';
|
|
@@ -46,10 +53,10 @@ export var formatProductOption = function formatProductOption(option) {
|
|
|
46
53
|
}
|
|
47
54
|
return option.map(function (d) {
|
|
48
55
|
return {
|
|
49
|
-
num: d.num,
|
|
50
|
-
option_group_item_id: d.product_option_item_id || d.option_group_item_id,
|
|
51
|
-
option_group_id: d.option_group_id
|
|
52
|
-
|
|
56
|
+
"num": d.num,
|
|
57
|
+
"option_group_item_id": d.product_option_item_id || d.option_group_item_id,
|
|
58
|
+
"option_group_id": d.option_group_id,
|
|
59
|
+
"custom_add_price": Number(d === null || d === void 0 ? void 0 : d.add_price)
|
|
53
60
|
};
|
|
54
61
|
});
|
|
55
62
|
};
|
|
@@ -98,20 +105,51 @@ export var formatProductBundle = function formatProductBundle(bundle) {
|
|
|
98
105
|
}
|
|
99
106
|
} catch (error) {}
|
|
100
107
|
return bundle.map(function (d) {
|
|
108
|
+
var option = formatProductOption(d.option);
|
|
109
|
+
var option_price = option.reduce(function (temp, item) {
|
|
110
|
+
return temp + Number(item.num) * item.custom_add_price;
|
|
111
|
+
}, 0);
|
|
101
112
|
return {
|
|
102
|
-
bundle_group_id: d.group_id,
|
|
103
|
-
bundle_id: d.id,
|
|
104
|
-
bundle_product_id: (d === null || d === void 0 ? void 0 : d._bundle_product_id) || (d === null || d === void 0 ? void 0 : d.product_id),
|
|
105
|
-
bundle_variant_id: d.bundle_variant_id,
|
|
106
|
-
num: d.num,
|
|
107
|
-
extension_id: d.extension_id,
|
|
108
|
-
extension_type: d.extension_type,
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
113
|
+
"bundle_group_id": d.group_id,
|
|
114
|
+
"bundle_id": d.id,
|
|
115
|
+
"bundle_product_id": (d === null || d === void 0 ? void 0 : d._bundle_product_id) || (d === null || d === void 0 ? void 0 : d.product_id),
|
|
116
|
+
"bundle_variant_id": d.bundle_variant_id,
|
|
117
|
+
"num": d.num,
|
|
118
|
+
"extension_id": d.extension_id,
|
|
119
|
+
"extension_type": d.extension_type,
|
|
120
|
+
"price": Number(d === null || d === void 0 ? void 0 : d.product_price),
|
|
121
|
+
"price_type": d === null || d === void 0 ? void 0 : d.price_type,
|
|
122
|
+
"price_type_ext": d === null || d === void 0 ? void 0 : d.price_type_ext,
|
|
123
|
+
"custom_price": (d === null || d === void 0 ? void 0 : d.custom_price) || Math.abs(new Decimal((d === null || d === void 0 ? void 0 : d.original_price) || (d === null || d === void 0 ? void 0 : d.product_price)).sub(option_price).toNumber()).toFixed(2),
|
|
124
|
+
"custom_price_type": d === null || d === void 0 ? void 0 : d.price_type,
|
|
125
|
+
"option": option,
|
|
126
|
+
"bundle_selling_price": d === null || d === void 0 ? void 0 : d.price,
|
|
127
|
+
"bundle_sum_price": (d === null || d === void 0 ? void 0 : d.original_price) || (d === null || d === void 0 ? void 0 : d.original_total),
|
|
128
|
+
metadata: {
|
|
129
|
+
custom_product_bundle_map_id: d._id
|
|
130
|
+
}
|
|
112
131
|
};
|
|
113
132
|
});
|
|
114
133
|
};
|
|
134
|
+
|
|
135
|
+
/**
|
|
136
|
+
* 获取子商品折扣信息
|
|
137
|
+
* @param item
|
|
138
|
+
*/
|
|
139
|
+
export var getBundleDiscountList = function getBundleDiscountList(bundle) {
|
|
140
|
+
if (!bundle) {
|
|
141
|
+
return [];
|
|
142
|
+
}
|
|
143
|
+
var discountList = [];
|
|
144
|
+
bundle.forEach(function (d) {
|
|
145
|
+
if (d.discount_list && isArr(d.discount_list)) {
|
|
146
|
+
discountList.push.apply(discountList, _toConsumableArray(d.discount_list.filter(function (item) {
|
|
147
|
+
return !item.id;
|
|
148
|
+
})));
|
|
149
|
+
}
|
|
150
|
+
});
|
|
151
|
+
return discountList;
|
|
152
|
+
};
|
|
115
153
|
var getSubType = function getSubType(item) {
|
|
116
154
|
var _item$duration;
|
|
117
155
|
var _type = (_item$duration = item.duration) === null || _item$duration === void 0 ? void 0 : _item$duration.type;
|
|
@@ -251,7 +289,7 @@ export var formatProductPrice = function formatProductPrice(item) {
|
|
|
251
289
|
return price;
|
|
252
290
|
};
|
|
253
291
|
var formatMetaData = function formatMetaData(item, isMultiDayPrices) {
|
|
254
|
-
var _item$_extend8, _item$_extend9, _item$_extend11;
|
|
292
|
+
var _item$_extend8, _item$_extend9, _item$_extend11, _item$_extend13;
|
|
255
293
|
var metadata = {};
|
|
256
294
|
if ((_item$_extend8 = item._extend) !== null && _item$_extend8 !== void 0 && _item$_extend8.capacity) {
|
|
257
295
|
metadata.capacity = item._extend.capacity;
|
|
@@ -267,6 +305,10 @@ var formatMetaData = function formatMetaData(item, isMultiDayPrices) {
|
|
|
267
305
|
var _item$_extend12;
|
|
268
306
|
metadata.multiDayPrices = (_item$_extend12 = item._extend) === null || _item$_extend12 === void 0 ? void 0 : _item$_extend12.multiDayPrices;
|
|
269
307
|
}
|
|
308
|
+
if ((_item$_extend13 = item._extend) !== null && _item$_extend13 !== void 0 && _item$_extend13.unique_identification_number) {
|
|
309
|
+
var _item$_extend14;
|
|
310
|
+
metadata.unique_identification_number = (_item$_extend14 = item._extend) === null || _item$_extend14 === void 0 ? void 0 : _item$_extend14.unique_identification_number;
|
|
311
|
+
}
|
|
270
312
|
return metadata;
|
|
271
313
|
};
|
|
272
314
|
|
|
@@ -286,9 +328,9 @@ var formatMetaData = function formatMetaData(item, isMultiDayPrices) {
|
|
|
286
328
|
|
|
287
329
|
// 获取商品价格 包含组合规格
|
|
288
330
|
var getSourceProductPrice = function getSourceProductPrice(item) {
|
|
289
|
-
var _item$
|
|
290
|
-
var other = (_item$
|
|
291
|
-
var price = Number((_item$
|
|
331
|
+
var _item$_extend15, _item$_extend16, _item$variant2;
|
|
332
|
+
var other = (_item$_extend15 = item._extend) === null || _item$_extend15 === void 0 ? void 0 : _item$_extend15.other;
|
|
333
|
+
var price = Number((_item$_extend16 = item._extend) === null || _item$_extend16 === void 0 ? void 0 : _item$_extend16.price);
|
|
292
334
|
|
|
293
335
|
// 组合规格: 根据当前选择的组合规格id 和商品的组合规格列表 获取当前商品的价格
|
|
294
336
|
if ((other === null || other === void 0 ? void 0 : other.product_variant_id) > 0 && (item === null || item === void 0 || (_item$variant2 = item.variant) === null || _item$variant2 === void 0 ? void 0 : _item$variant2.length) > 0) {
|
|
@@ -311,11 +353,13 @@ var getSourceProductPrice = function getSourceProductPrice(item) {
|
|
|
311
353
|
* @Date: 2024-12-07 14:21
|
|
312
354
|
*/
|
|
313
355
|
var formatProducts = function formatProducts(item, quantity) {
|
|
314
|
-
var _item$
|
|
356
|
+
var _item$_extend17, _item$_extend$main_pr, _item$_extend18, _item$_extend19, _item$_extend20;
|
|
315
357
|
var total = Number(item._extend.total);
|
|
316
358
|
var origin_total = Number(item._extend.origin_total);
|
|
317
359
|
var discount_amount = origin_total - total;
|
|
318
|
-
var
|
|
360
|
+
var bundleDiscountList = getBundleDiscountList(((_item$_extend17 = item._extend) === null || _item$_extend17 === void 0 || (_item$_extend17 = _item$_extend17.other) === null || _item$_extend17 === void 0 ? void 0 : _item$_extend17.bundle) || []);
|
|
361
|
+
var discount_list = _toConsumableArray((item === null || item === void 0 ? void 0 : item.discount_list) || []);
|
|
362
|
+
discount_list.push.apply(discount_list, _toConsumableArray(bundleDiscountList));
|
|
319
363
|
|
|
320
364
|
// 加价时type使用change_price
|
|
321
365
|
var discount_type = discount_amount < 0 ? 'change_price' : 'discount';
|
|
@@ -327,6 +371,7 @@ var formatProducts = function formatProducts(item, quantity) {
|
|
|
327
371
|
return {
|
|
328
372
|
"num": quantity || item._extend.quantity,
|
|
329
373
|
"price": formatProductPrice(item),
|
|
374
|
+
"main_product_selling_price": (_item$_extend$main_pr = item._extend.main_product_selling_price) !== null && _item$_extend$main_pr !== void 0 ? _item$_extend$main_pr : formatProductPrice(item),
|
|
330
375
|
"source_product_price": getSourceProductPrice(item),
|
|
331
376
|
"product_id": (item === null || item === void 0 ? void 0 : item.product_id) || item.id,
|
|
332
377
|
"discount_amount": notManualDiscount.length > 0 ? 0 : discount_amount,
|
|
@@ -337,10 +382,10 @@ var formatProducts = function formatProducts(item, quantity) {
|
|
|
337
382
|
"discount_per": item._extend.discount_per,
|
|
338
383
|
"discount_type": item._extend.discount_type || discount_type,
|
|
339
384
|
"order_detail_id": item._extend.order_detail_id || 0,
|
|
340
|
-
"product_bundle": formatProductBundle((_item$
|
|
341
|
-
"bundle_edit": item._extend.bundle_edit,
|
|
342
|
-
"product_option_item": formatProductOption((_item$
|
|
343
|
-
"product_variant_id": ((_item$
|
|
385
|
+
"product_bundle": formatProductBundle((_item$_extend18 = item._extend) === null || _item$_extend18 === void 0 || (_item$_extend18 = _item$_extend18.other) === null || _item$_extend18 === void 0 ? void 0 : _item$_extend18.bundle),
|
|
386
|
+
"bundle_edit": item._extend.bundle_edit || bundleDiscountList.length ? 1 : 0,
|
|
387
|
+
"product_option_item": formatProductOption((_item$_extend19 = item._extend) === null || _item$_extend19 === void 0 || (_item$_extend19 = _item$_extend19.other) === null || _item$_extend19 === void 0 ? void 0 : _item$_extend19.option),
|
|
388
|
+
"product_variant_id": ((_item$_extend20 = item._extend) === null || _item$_extend20 === void 0 || (_item$_extend20 = _item$_extend20.other) === null || _item$_extend20 === void 0 ? void 0 : _item$_extend20.product_variant_id) || 0,
|
|
344
389
|
"discount_list": notManualDiscount,
|
|
345
390
|
metadata: formatMetaData(item, false)
|
|
346
391
|
};
|
|
@@ -360,8 +405,8 @@ var formatDayRelationProducts = function formatDayRelationProducts(data, booking
|
|
|
360
405
|
|
|
361
406
|
// 过滤出卡片中的普通商品
|
|
362
407
|
var relation_products = list === null || list === void 0 ? void 0 : list.filter(function (item) {
|
|
363
|
-
var _item$
|
|
364
|
-
var holderId = (_item$
|
|
408
|
+
var _item$_extend21;
|
|
409
|
+
var holderId = (_item$_extend21 = item._extend) === null || _item$_extend21 === void 0 ? void 0 : _item$_extend21.holder_id;
|
|
365
410
|
var bookingHolderId = booking_item._extend.holder_id;
|
|
366
411
|
var isDayBookingProduct = appointmentTypes.includes(item.extension_type);
|
|
367
412
|
return holderId && holderId === bookingHolderId && !isDayBookingProduct;
|
|
@@ -387,15 +432,15 @@ var formatAppointmentProductLists = function formatAppointmentProductLists(data)
|
|
|
387
432
|
|
|
388
433
|
// 找出预约商品
|
|
389
434
|
list = list.filter(function (item) {
|
|
390
|
-
var _item$
|
|
391
|
-
return ((_item$
|
|
435
|
+
var _item$_extend22;
|
|
436
|
+
return ((_item$_extend22 = item._extend) === null || _item$_extend22 === void 0 ? void 0 : _item$_extend22.holder_id) && !isNormalProductByDurationSchedule(item);
|
|
392
437
|
});
|
|
393
438
|
|
|
394
439
|
// 对预约商品列表根据holder_id进行分组
|
|
395
440
|
var groupMap = new Map();
|
|
396
441
|
list.forEach(function (item) {
|
|
397
|
-
var _item$
|
|
398
|
-
var key = (_item$
|
|
442
|
+
var _item$_extend23;
|
|
443
|
+
var key = (_item$_extend23 = item._extend) === null || _item$_extend23 === void 0 ? void 0 : _item$_extend23.holder_id; // 分组键
|
|
399
444
|
if (!groupMap.has(key)) {
|
|
400
445
|
groupMap.set(key, []);
|
|
401
446
|
}
|
|
@@ -456,7 +501,7 @@ var formatBookings = function formatBookings(data, values) {
|
|
|
456
501
|
var bookings = [];
|
|
457
502
|
var obj = {};
|
|
458
503
|
list.forEach(function (item) {
|
|
459
|
-
var _item$
|
|
504
|
+
var _item$_extend28;
|
|
460
505
|
var start_date = item._extend.startDate.format('YYYY-MM-DD');
|
|
461
506
|
var end_date = item._extend.endDate.format('YYYY-MM-DD');
|
|
462
507
|
var end_time = item._extend.endDate.format('HH:mm');
|
|
@@ -470,9 +515,9 @@ var formatBookings = function formatBookings(data, values) {
|
|
|
470
515
|
|
|
471
516
|
// 跨日预约下的普通商品
|
|
472
517
|
if (isDay) {
|
|
473
|
-
var _item$
|
|
474
|
-
var startDate = ((_item$
|
|
475
|
-
var endDate = ((_item$
|
|
518
|
+
var _item$_extend24, _item$_extend25, _item$_extend26, _item$_extend27;
|
|
519
|
+
var startDate = ((_item$_extend24 = item._extend) === null || _item$_extend24 === void 0 ? void 0 : _item$_extend24.startDate) || ((_item$_extend25 = item._extend) === null || _item$_extend25 === void 0 ? void 0 : _item$_extend25.start_date);
|
|
520
|
+
var endDate = ((_item$_extend26 = item._extend) === null || _item$_extend26 === void 0 ? void 0 : _item$_extend26.endDate) || ((_item$_extend27 = item._extend) === null || _item$_extend27 === void 0 ? void 0 : _item$_extend27.end_date);
|
|
476
521
|
var _formatDayTime = formatDayTime({
|
|
477
522
|
startDate: startDate,
|
|
478
523
|
endDate: endDate
|
|
@@ -498,7 +543,7 @@ var formatBookings = function formatBookings(data, values) {
|
|
|
498
543
|
// 跨日预约处理: 跨日预约所有数据都在list中, 每一组预约通过groupId进行分组
|
|
499
544
|
// 通过obj 记录下每个GroupId第一次出现的时机, 第一次出现需要设置 metadata.multiDayPrices
|
|
500
545
|
// 后续出现不需要设置 metadata.multiDayPrices. 节省体积
|
|
501
|
-
var isSetGroupId = obj[item === null || item === void 0 || (_item$
|
|
546
|
+
var isSetGroupId = obj[item === null || item === void 0 || (_item$_extend28 = item._extend) === null || _item$_extend28 === void 0 ? void 0 : _item$_extend28.groupId];
|
|
502
547
|
var booking = _objectSpread(_objectSpread({
|
|
503
548
|
"product": formatProducts(item),
|
|
504
549
|
"relation_products": formatRelationDetails(item._extend.relation_details),
|
|
@@ -557,10 +602,10 @@ var formatRelationProducts = function formatRelationProducts(data, type) {
|
|
|
557
602
|
var list = ((_data$service = data.service) === null || _data$service === void 0 ? void 0 : _data$service.value) || [];
|
|
558
603
|
// open items 下的商品
|
|
559
604
|
list = list.filter(function (item) {
|
|
560
|
-
var _item$
|
|
605
|
+
var _item$_extend29;
|
|
561
606
|
return (
|
|
562
607
|
// 跨日预约把普通商品加在relationProducts 活动预约按之前逻辑
|
|
563
|
-
type === 'day' ? isNormalProductByDurationSchedule(item) : ((_item$
|
|
608
|
+
type === 'day' ? isNormalProductByDurationSchedule(item) : ((_item$_extend29 = item._extend) === null || _item$_extend29 === void 0 ? void 0 : _item$_extend29.holder_id) && appointmentTypes.includes(item.extension_type)
|
|
564
609
|
);
|
|
565
610
|
});
|
|
566
611
|
var relationProducts = [];
|
|
@@ -694,7 +739,7 @@ export var formatValues = function formatValues(state) {
|
|
|
694
739
|
export var checkHolderIsError = function checkHolderIsError(state) {
|
|
695
740
|
var _state$client;
|
|
696
741
|
var holderError = state.service.value.some(function (item) {
|
|
697
|
-
var _item$
|
|
742
|
+
var _item$_extend30;
|
|
698
743
|
// 普通商品不需要检测holder
|
|
699
744
|
if (isNormalProductByDurationSchedule(item)) {
|
|
700
745
|
return false;
|
|
@@ -702,7 +747,7 @@ export var checkHolderIsError = function checkHolderIsError(state) {
|
|
|
702
747
|
if (item._extend.quantity === 1 && !item._extend.holder_id) {
|
|
703
748
|
return true;
|
|
704
749
|
}
|
|
705
|
-
if (item._extend.quantity > 1 && ((_item$
|
|
750
|
+
if (item._extend.quantity > 1 && ((_item$_extend30 = item._extend) === null || _item$_extend30 === void 0 || (_item$_extend30 = _item$_extend30.holder_id) === null || _item$_extend30 === void 0 ? void 0 : _item$_extend30.length) !== item._extend.quantity) {
|
|
706
751
|
return true;
|
|
707
752
|
}
|
|
708
753
|
return false;
|
|
@@ -97,6 +97,11 @@ var VoucherCard = function VoucherCard(props) {
|
|
|
97
97
|
});
|
|
98
98
|
return val;
|
|
99
99
|
}, [state.service.value]);
|
|
100
|
+
var serviceTotal = useMemo(function () {
|
|
101
|
+
return serviceMemo.reduce(function (total, item) {
|
|
102
|
+
return total + (item.total || 0);
|
|
103
|
+
}, 0);
|
|
104
|
+
}, [serviceMemo]);
|
|
100
105
|
var addonsMemo = useMemo(function () {
|
|
101
106
|
var _ref2;
|
|
102
107
|
var val = (_ref2 = state.addons.value || []) === null || _ref2 === void 0 ? void 0 : _ref2.map(function (value) {
|
|
@@ -183,6 +188,12 @@ var VoucherCard = function VoucherCard(props) {
|
|
|
183
188
|
var _getServiceAddons = getServiceAddons(list),
|
|
184
189
|
serviceList = _getServiceAddons.serviceList,
|
|
185
190
|
addonsList = _getServiceAddons.addonsList;
|
|
191
|
+
var newTotal = serviceList.reduce(function (total, item) {
|
|
192
|
+
return total + (item._extend.total || 0);
|
|
193
|
+
}, 0);
|
|
194
|
+
if (newTotal !== serviceTotal) {
|
|
195
|
+
edit = true;
|
|
196
|
+
}
|
|
186
197
|
serviceValueRef.current = serviceList;
|
|
187
198
|
addonsValueRef.current = addonsList;
|
|
188
199
|
var other = {};
|
|
@@ -197,11 +208,13 @@ var VoucherCard = function VoucherCard(props) {
|
|
|
197
208
|
value: serviceList
|
|
198
209
|
}, other)
|
|
199
210
|
});
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
211
|
+
setTimeout(function () {
|
|
212
|
+
dispatch({
|
|
213
|
+
type: 'setAddons',
|
|
214
|
+
payload: _objectSpread({
|
|
215
|
+
value: addonsList
|
|
216
|
+
}, other)
|
|
217
|
+
});
|
|
205
218
|
});
|
|
206
219
|
});
|
|
207
220
|
|
|
@@ -432,6 +432,7 @@ var formatBundle = function formatBundle(bundle) {
|
|
|
432
432
|
num: item === null || item === void 0 ? void 0 : item.num,
|
|
433
433
|
price: item === null || item === void 0 ? void 0 : item.price,
|
|
434
434
|
total: item === null || item === void 0 ? void 0 : item.price,
|
|
435
|
+
origin_total: item.original_total,
|
|
435
436
|
price_type: item === null || item === void 0 ? void 0 : item.price_type,
|
|
436
437
|
bundle_sum_price: item === null || item === void 0 ? void 0 : item.bundle_sum_price,
|
|
437
438
|
bundle_sum_type: item === null || item === void 0 ? void 0 : item.bundle_sum_type,
|
|
@@ -30,7 +30,7 @@ import useEngineContext from "../../../../../hooks/useEngineContext";
|
|
|
30
30
|
import { getProductDetail } from "../../../info/service/serve";
|
|
31
31
|
import { getIsBundleOrCombination } from "../../../info/utils";
|
|
32
32
|
import { getProductExtend } from "./utils";
|
|
33
|
-
import { formatProductListByCategory, getIsEject, getIsOnlySession, getProductTotalPrice, isSessionProduct, request } from "../../../utils";
|
|
33
|
+
import { formatProductListByCategory, getIsEject, getIsOnlySession, getMainPrice, getProductTotalPrice, isSessionProduct, request } from "../../../utils";
|
|
34
34
|
import { locales, getUniqueId } from '@pisell/utils';
|
|
35
35
|
import { useUpdateEffect } from 'ahooks';
|
|
36
36
|
import { isNormalProductByDurationSchedule } from "../../../info/service2/utils";
|
|
@@ -296,13 +296,12 @@ var Info = function Info(props) {
|
|
|
296
296
|
_extend: {
|
|
297
297
|
start_date: state.date.value,
|
|
298
298
|
quantity: (e === null || e === void 0 ? void 0 : e.quantity) || 1,
|
|
299
|
-
price: _detail.price,
|
|
300
299
|
product_name: item.title,
|
|
301
300
|
other: other
|
|
302
301
|
},
|
|
303
302
|
new: 1
|
|
304
303
|
});
|
|
305
|
-
|
|
304
|
+
cacheItem._extend.price = getMainPrice(_detail, _detail.price);
|
|
306
305
|
var _total = getProductTotalPrice(cacheItem);
|
|
307
306
|
// 用于折扣 可修改
|
|
308
307
|
cacheItem._extend.total = _total;
|
|
@@ -153,6 +153,7 @@ export declare const getIsOnlySession: (item: any) => boolean;
|
|
|
153
153
|
* @Date: 2024-01-26 14:09
|
|
154
154
|
*/
|
|
155
155
|
export declare const getServerItemExtend: (state: any, cacheItem: any, timeObj: any) => any;
|
|
156
|
+
export declare const getMainPrice: (item: any, price?: number) => number;
|
|
156
157
|
export declare const getProductTotalPrice: (item: any) => number;
|
|
157
158
|
/**
|
|
158
159
|
* @title: 判断 duration
|