@pisell/private-materials 3.4.55 → 3.4.56

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.
Files changed (134) hide show
  1. package/build/lowcode/assets-daily.json +11 -11
  2. package/build/lowcode/assets-dev.json +2 -2
  3. package/build/lowcode/assets-prod.json +11 -11
  4. package/build/lowcode/index.js +1 -1
  5. package/build/lowcode/meta.js +1 -1
  6. package/build/lowcode/preview.js +8 -8
  7. package/build/lowcode/render/default/view.css +1 -1
  8. package/build/lowcode/render/default/view.js +9 -9
  9. package/build/lowcode/view.css +1 -1
  10. package/build/lowcode/view.js +9 -9
  11. package/es/components/appointmentBooking/components/Voucher/index.js +2 -1
  12. package/es/components/booking/addons/index.js +20 -17
  13. package/es/components/booking/components/footer/utils.d.ts +6 -0
  14. package/es/components/booking/components/footer/utils.js +117 -53
  15. package/es/components/booking/components/formItemChildrenWrap/index.d.ts +1 -0
  16. package/es/components/booking/components/voucher/index.js +27 -12
  17. package/es/components/booking/info/clientVariant/hooks/useIsLowSpeedNetwork.d.ts +1 -0
  18. package/es/components/booking/info/service/like/index.d.ts +1 -0
  19. package/es/components/booking/info/service2/utils.d.ts +1 -1
  20. package/es/components/booking/info/service2/utils.js +1 -0
  21. package/es/components/booking/info2/service/addService/index.js +3 -3
  22. package/es/components/booking/utils.d.ts +3 -2
  23. package/es/components/booking/utils.js +16 -2
  24. package/es/components/eftpos/deviceList/index.d.ts +1 -0
  25. package/es/components/eftpos/form/index.d.ts +1 -0
  26. package/es/components/eftpos/group/index.d.ts +1 -0
  27. package/es/components/eftpos/hooks.d.ts +1 -0
  28. package/es/components/eftpos/icon/apiKey.d.ts +1 -0
  29. package/es/components/eftpos/icon/device.d.ts +1 -0
  30. package/es/components/eftpos/receipt/index.d.ts +1 -0
  31. package/es/components/eftposPay/amount.d.ts +1 -1
  32. package/es/components/eftposPay/component/alert/warn.d.ts +1 -0
  33. package/es/components/eftposPay/component/header/titlebar.d.ts +1 -0
  34. package/es/components/eftposPay/component/step/index.d.ts +1 -0
  35. package/es/components/eftposPay/component/step/step.d.ts +1 -0
  36. package/es/components/eftposPay/device.d.ts +1 -1
  37. package/es/components/eftposPay/hooks.d.ts +2 -2
  38. package/es/components/eftposPay/store/index.d.ts +6 -6
  39. package/es/components/eftposPay/tyro/hooks.d.ts +1 -0
  40. package/es/components/eventBooking/components/Provider/Cart/Deposit/index.d.ts +1 -0
  41. package/es/components/eventBooking/components/bookingAvailabilityCalendar/components/CalendarDate/Item/DayItem/index.d.ts +1 -0
  42. package/es/components/eventBooking/components/bookingAvailabilityCalendar/components/CalendarDate/Item/index.d.ts +1 -0
  43. package/es/components/pay/toC/PaymentMethods/StripePay/Stripe/StripeSDK/index.d.ts +1 -0
  44. package/es/components/pay/toC/PaymentMethods/StripePay/Stripe/index.d.ts +1 -0
  45. package/es/components/pay/toC/PaymentMethods/WalletPass/serve.d.ts +6 -0
  46. package/es/components/pay/toC/PaymentMethods/WalletPass/utils.js +4 -2
  47. package/es/components/schedules/resources/relationProduct/index.d.ts +1 -0
  48. package/es/components/systemSettings/registry/components/SectionList.js +5 -1
  49. package/es/components/ticketBooking/components/addServiceVariant/addService.js +3 -3
  50. package/es/components/ticketBooking/utils/index.js +23 -8
  51. package/es/components/wallet/Detail/index.js +34 -2
  52. package/es/components/wallet/Detail/index.less +11 -0
  53. package/es/components/wallet/Detail/locales.d.ts +6 -0
  54. package/es/components/wallet/Detail/locales.js +14 -2
  55. package/es/components/wallet/Voucher/index.js +11 -10
  56. package/es/components/wallet/components/WalletCard.js +5 -1
  57. package/es/components/wallet/index.js +4 -2
  58. package/es/components/wallet/serve.d.ts +7 -0
  59. package/es/components/wallet/utils.d.ts +48 -0
  60. package/es/components/wallet/utils.js +342 -0
  61. package/es/index.d.ts +1 -0
  62. package/es/index.js +1 -0
  63. package/es/plus/clientName/index.d.ts +1 -0
  64. package/es/plus/walletPassGallery/components/passDetail/index.d.ts +1 -0
  65. package/es/plus/walletPassGallery/components/passDetail/index.js +79 -30
  66. package/es/plus/walletPassGallery/index.js +4 -2
  67. package/es/plus/walletPassGallery/serve.d.ts +3 -0
  68. package/es/plus/walletPassGallery/serve.js +4 -2
  69. package/es/pro/Login2.0/AuthModal.js +12 -4
  70. package/es/pro/Login2.0/index.less +7 -7
  71. package/es/pro/pisellPaymentList/example.d.ts +1 -0
  72. package/lib/components/appointmentBooking/components/Voucher/index.js +2 -1
  73. package/lib/components/booking/addons/index.js +10 -7
  74. package/lib/components/booking/components/footer/utils.d.ts +6 -0
  75. package/lib/components/booking/components/footer/utils.js +86 -36
  76. package/lib/components/booking/components/formItemChildrenWrap/index.d.ts +1 -0
  77. package/lib/components/booking/components/voucher/index.js +23 -7
  78. package/lib/components/booking/info/clientVariant/hooks/useIsLowSpeedNetwork.d.ts +1 -0
  79. package/lib/components/booking/info/service/like/index.d.ts +1 -0
  80. package/lib/components/booking/info/service2/utils.d.ts +1 -1
  81. package/lib/components/booking/info/service2/utils.js +1 -0
  82. package/lib/components/booking/info2/service/addService/index.js +2 -2
  83. package/lib/components/booking/utils.d.ts +3 -2
  84. package/lib/components/booking/utils.js +12 -0
  85. package/lib/components/eftpos/deviceList/index.d.ts +1 -0
  86. package/lib/components/eftpos/form/index.d.ts +1 -0
  87. package/lib/components/eftpos/group/index.d.ts +1 -0
  88. package/lib/components/eftpos/hooks.d.ts +1 -0
  89. package/lib/components/eftpos/icon/apiKey.d.ts +1 -0
  90. package/lib/components/eftpos/icon/device.d.ts +1 -0
  91. package/lib/components/eftpos/receipt/index.d.ts +1 -0
  92. package/lib/components/eftposPay/amount.d.ts +1 -1
  93. package/lib/components/eftposPay/component/alert/warn.d.ts +1 -0
  94. package/lib/components/eftposPay/component/header/titlebar.d.ts +1 -0
  95. package/lib/components/eftposPay/component/step/index.d.ts +1 -0
  96. package/lib/components/eftposPay/component/step/step.d.ts +1 -0
  97. package/lib/components/eftposPay/device.d.ts +1 -1
  98. package/lib/components/eftposPay/hooks.d.ts +2 -2
  99. package/lib/components/eftposPay/store/index.d.ts +6 -6
  100. package/lib/components/eftposPay/tyro/hooks.d.ts +1 -0
  101. package/lib/components/eventBooking/components/Provider/Cart/Deposit/index.d.ts +1 -0
  102. package/lib/components/eventBooking/components/bookingAvailabilityCalendar/components/CalendarDate/Item/DayItem/index.d.ts +1 -0
  103. package/lib/components/eventBooking/components/bookingAvailabilityCalendar/components/CalendarDate/Item/index.d.ts +1 -0
  104. package/lib/components/pay/toC/PaymentMethods/StripePay/Stripe/StripeSDK/index.d.ts +1 -0
  105. package/lib/components/pay/toC/PaymentMethods/StripePay/Stripe/index.d.ts +1 -0
  106. package/lib/components/pay/toC/PaymentMethods/WalletPass/serve.d.ts +6 -0
  107. package/lib/components/pay/toC/PaymentMethods/WalletPass/utils.js +4 -2
  108. package/lib/components/schedules/resources/relationProduct/index.d.ts +1 -0
  109. package/lib/components/systemSettings/registry/components/SectionList.js +4 -1
  110. package/lib/components/ticketBooking/components/addServiceVariant/addService.js +1 -1
  111. package/lib/components/ticketBooking/utils/index.js +9 -4
  112. package/lib/components/wallet/Detail/index.js +31 -3
  113. package/lib/components/wallet/Detail/index.less +11 -0
  114. package/lib/components/wallet/Detail/locales.d.ts +6 -0
  115. package/lib/components/wallet/Detail/locales.js +14 -2
  116. package/lib/components/wallet/Voucher/index.js +8 -8
  117. package/lib/components/wallet/components/WalletCard.js +4 -0
  118. package/lib/components/wallet/index.js +2 -2
  119. package/lib/components/wallet/serve.d.ts +7 -0
  120. package/lib/components/wallet/utils.d.ts +48 -0
  121. package/lib/components/wallet/utils.js +287 -0
  122. package/lib/index.d.ts +1 -0
  123. package/lib/index.js +3 -0
  124. package/lib/plus/clientName/index.d.ts +1 -0
  125. package/lib/plus/walletPassGallery/components/passDetail/index.d.ts +1 -0
  126. package/lib/plus/walletPassGallery/components/passDetail/index.js +50 -14
  127. package/lib/plus/walletPassGallery/index.js +4 -2
  128. package/lib/plus/walletPassGallery/serve.d.ts +3 -0
  129. package/lib/plus/walletPassGallery/serve.js +3 -2
  130. package/lib/pro/Login2.0/AuthModal.js +15 -7
  131. package/lib/pro/Login2.0/index.less +7 -7
  132. package/lib/pro/pisellPaymentList/example.d.ts +1 -0
  133. package/lowcode/wallet-pass-detail/meta.ts +89 -0
  134. package/package.json +3 -3
@@ -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._bundleOrigin,
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) || []
@@ -125,6 +125,7 @@ var VoucherCard = function VoucherCard(props) {
125
125
  });
126
126
  pisellos.effects.on('appointmentBooking_cart:onAddItem', onCartChange);
127
127
  pisellos.effects.on('appointmentBooking_cart:onUpdateQuotationPrice', onCartChange);
128
+ pisellos.effects.on('appointmentBooking_cart:onUpdateBookingDate', onCartChange);
128
129
  pisellos.effects.on('appointmentBooking_cart:onUpdateCartItemNums', onCartChange);
129
130
  pisellos.effects.on('appointmentBooking_cart:onRemoveItem', onCartChange);
130
131
  pisellos.effects.on(ShopDiscountHooks.onDiscountListChange, function (discount) {
@@ -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: (item === null || item === void 0 ? void 0 : item.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$_extend = item._extend) === null || _item$_extend === void 0 ? void 0 : _item$_extend.bundle_edit,
60
- product_bundle: formatProductBundle((_item$_extend2 = item._extend) === null || _item$_extend2 === void 0 || (_item$_extend2 = _item$_extend2.other) === null || _item$_extend2 === void 0 ? void 0 : _item$_extend2.bundle),
61
- "product_option_item": formatProductOption((_item$_extend3 = item._extend) === null || _item$_extend3 === void 0 || (_item$_extend3 = _item$_extend3.other) === null || _item$_extend3 === void 0 ? void 0 : _item$_extend3.option),
62
- "product_variant_id": ((_item$_extend4 = item._extend) === null || _item$_extend4 === void 0 || (_item$_extend4 = _item$_extend4.other) === null || _item$_extend4 === void 0 ? void 0 : _item$_extend4.product_variant_id) || 0
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$_extend5;
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$_extend5 = _item._extend) === null || _item$_extend5 === void 0 ? void 0 : _item$_extend5.bundle_edit) !== undefined) {
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
  }
@@ -37,5 +42,6 @@ export declare const checkResourcesFormat: (resources: any[], service: any, isCh
37
42
  * @Date: 2024-12-23 12:05
38
43
  */
39
44
  export declare const formatProductPrice: (item: any) => number;
45
+ export declare const getMainProductSellingPrice: (item: any) => number | undefined;
40
46
  export declare const formatValues: (state: any) => any;
41
47
  export declare const checkHolderIsError: (state: any) => any;
@@ -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";
@@ -11,8 +17,9 @@ import { getSumCapacity } from "../../info2/utilsByBooking";
11
17
  import { getDays } from "../../utils";
12
18
  import { appointmentTypes } from "../../info/service2/status";
13
19
  import { isDaysBooking, formatDayTime, isEventBooking, isNormalProductByDurationSchedule } from "../../info/service2/utils";
14
- import { isArr, locales, sendWarningLog } from '@pisell/utils';
20
+ import { isArr, locales, sendWarningLog, isNumber } from '@pisell/utils';
15
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
- // "add_price": Number(d?.add_price),
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
- // "price": Number(d?.price),
110
- // "price_type": d?.price_type,
111
- option: formatProductOption(d.option)
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$_extend13, _item$_extend14, _item$variant2;
290
- var other = (_item$_extend13 = item._extend) === null || _item$_extend13 === void 0 ? void 0 : _item$_extend13.other;
291
- var price = Number((_item$_extend14 = item._extend) === null || _item$_extend14 === void 0 ? void 0 : _item$_extend14.price);
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) {
@@ -302,6 +344,25 @@ var getSourceProductPrice = function getSourceProductPrice(item) {
302
344
  return price;
303
345
  };
304
346
 
347
+ // 获取主商品价格 要增加option
348
+ export var getMainProductSellingPrice = function getMainProductSellingPrice(item) {
349
+ var _item$_extend17, _item$_extend$other, _item$_extend$other2, _item$_extend18;
350
+ if (!isNumber((_item$_extend17 = item._extend) === null || _item$_extend17 === void 0 ? void 0 : _item$_extend17.main_product_selling_price)) {
351
+ return undefined;
352
+ }
353
+ var optionPrice = new Decimal(0);
354
+ // 单规格
355
+ if ((_item$_extend$other = item._extend.other) !== null && _item$_extend$other !== void 0 && _item$_extend$other.option && Array.isArray((_item$_extend$other2 = item._extend.other) === null || _item$_extend$other2 === void 0 ? void 0 : _item$_extend$other2.option)) {
356
+ var _item$_extend$other3;
357
+ optionPrice = (_item$_extend$other3 = item._extend.other) === null || _item$_extend$other3 === void 0 ? void 0 : _item$_extend$other3.option.reduce(function (accumulator, currentValue) {
358
+ var currentPrice = new Decimal(currentValue.price || 0);
359
+ var currentNum = new Decimal(currentValue.num || 0);
360
+ return accumulator.add(currentPrice.mul(currentNum));
361
+ }, optionPrice);
362
+ }
363
+ return new Decimal((_item$_extend18 = item._extend) === null || _item$_extend18 === void 0 ? void 0 : _item$_extend18.main_product_selling_price).add(optionPrice).toNumber();
364
+ };
365
+
305
366
  /**
306
367
  * @title: 格式化商品数据
307
368
  * @description:
@@ -311,11 +372,13 @@ var getSourceProductPrice = function getSourceProductPrice(item) {
311
372
  * @Date: 2024-12-07 14:21
312
373
  */
313
374
  var formatProducts = function formatProducts(item, quantity) {
314
- var _item$_extend15, _item$_extend16, _item$_extend17;
375
+ var _item$_extend19, _getMainProductSellin, _item$_extend20, _item$_extend21, _item$_extend22;
315
376
  var total = Number(item._extend.total);
316
377
  var origin_total = Number(item._extend.origin_total);
317
378
  var discount_amount = origin_total - total;
318
- var discount_list = (item === null || item === void 0 ? void 0 : item.discount_list) || [];
379
+ var bundleDiscountList = getBundleDiscountList(((_item$_extend19 = item._extend) === null || _item$_extend19 === void 0 || (_item$_extend19 = _item$_extend19.other) === null || _item$_extend19 === void 0 ? void 0 : _item$_extend19.bundle) || []);
380
+ var discount_list = _toConsumableArray((item === null || item === void 0 ? void 0 : item.discount_list) || []);
381
+ discount_list.push.apply(discount_list, _toConsumableArray(bundleDiscountList));
319
382
 
320
383
  // 加价时type使用change_price
321
384
  var discount_type = discount_amount < 0 ? 'change_price' : 'discount';
@@ -325,23 +388,24 @@ var formatProducts = function formatProducts(item, quantity) {
325
388
  return item.type !== 'product';
326
389
  });
327
390
  return {
328
- num: quantity || item._extend.quantity,
329
- price: formatProductPrice(item),
330
- source_product_price: getSourceProductPrice(item),
331
- product_id: (item === null || item === void 0 ? void 0 : item.product_id) || item.id,
332
- discount_amount: notManualDiscount.length > 0 ? 0 : discount_amount,
333
- product_discount_reason: item._extend.discount_reason || '',
334
- is_charge_tax: item.is_charge_tax,
335
- note: (item === null || item === void 0 ? void 0 : item.note) || '',
336
- discountway: item._extend.discountway || 'num',
337
- discount_per: item._extend.discount_per,
338
- discount_type: item._extend.discount_type || discount_type,
339
- order_detail_id: item._extend.order_detail_id || 0,
340
- product_bundle: formatProductBundle((_item$_extend15 = item._extend) === null || _item$_extend15 === void 0 || (_item$_extend15 = _item$_extend15.other) === null || _item$_extend15 === void 0 ? void 0 : _item$_extend15.bundle),
341
- bundle_edit: item._extend.bundle_edit,
342
- product_option_item: formatProductOption((_item$_extend16 = item._extend) === null || _item$_extend16 === void 0 || (_item$_extend16 = _item$_extend16.other) === null || _item$_extend16 === void 0 ? void 0 : _item$_extend16.option),
343
- product_variant_id: ((_item$_extend17 = item._extend) === null || _item$_extend17 === void 0 || (_item$_extend17 = _item$_extend17.other) === null || _item$_extend17 === void 0 ? void 0 : _item$_extend17.product_variant_id) || 0,
344
- discount_list: notManualDiscount,
391
+ "num": quantity || item._extend.quantity,
392
+ "price": formatProductPrice(item),
393
+ "main_product_selling_price": (_getMainProductSellin = getMainProductSellingPrice(item)) !== null && _getMainProductSellin !== void 0 ? _getMainProductSellin : formatProductPrice(item),
394
+ "source_product_price": getSourceProductPrice(item),
395
+ "product_id": (item === null || item === void 0 ? void 0 : item.product_id) || item.id,
396
+ "discount_amount": notManualDiscount.length > 0 ? 0 : discount_amount,
397
+ "product_discount_reason": item._extend.discount_reason || '',
398
+ "is_charge_tax": item.is_charge_tax,
399
+ "note": (item === null || item === void 0 ? void 0 : item.note) || '',
400
+ "discountway": item._extend.discountway || "num",
401
+ "discount_per": item._extend.discount_per,
402
+ "discount_type": item._extend.discount_type || discount_type,
403
+ "order_detail_id": item._extend.order_detail_id || 0,
404
+ "product_bundle": formatProductBundle((_item$_extend20 = item._extend) === null || _item$_extend20 === void 0 || (_item$_extend20 = _item$_extend20.other) === null || _item$_extend20 === void 0 ? void 0 : _item$_extend20.bundle),
405
+ "bundle_edit": item._extend.bundle_edit || bundleDiscountList.length ? 1 : 0,
406
+ "product_option_item": formatProductOption((_item$_extend21 = item._extend) === null || _item$_extend21 === void 0 || (_item$_extend21 = _item$_extend21.other) === null || _item$_extend21 === void 0 ? void 0 : _item$_extend21.option),
407
+ "product_variant_id": ((_item$_extend22 = item._extend) === null || _item$_extend22 === void 0 || (_item$_extend22 = _item$_extend22.other) === null || _item$_extend22 === void 0 ? void 0 : _item$_extend22.product_variant_id) || 0,
408
+ "discount_list": notManualDiscount,
345
409
  metadata: formatMetaData(item, false)
346
410
  };
347
411
  };
@@ -360,8 +424,8 @@ var formatDayRelationProducts = function formatDayRelationProducts(data, booking
360
424
 
361
425
  // 过滤出卡片中的普通商品
362
426
  var relation_products = list === null || list === void 0 ? void 0 : list.filter(function (item) {
363
- var _item$_extend18;
364
- var holderId = (_item$_extend18 = item._extend) === null || _item$_extend18 === void 0 ? void 0 : _item$_extend18.holder_id;
427
+ var _item$_extend23;
428
+ var holderId = (_item$_extend23 = item._extend) === null || _item$_extend23 === void 0 ? void 0 : _item$_extend23.holder_id;
365
429
  var bookingHolderId = booking_item._extend.holder_id;
366
430
  var isDayBookingProduct = appointmentTypes.includes(item.extension_type);
367
431
  return holderId && holderId === bookingHolderId && !isDayBookingProduct;
@@ -387,15 +451,15 @@ var formatAppointmentProductLists = function formatAppointmentProductLists(data)
387
451
 
388
452
  // 找出预约商品
389
453
  list = list.filter(function (item) {
390
- var _item$_extend19;
391
- return ((_item$_extend19 = item._extend) === null || _item$_extend19 === void 0 ? void 0 : _item$_extend19.holder_id) && !isNormalProductByDurationSchedule(item);
454
+ var _item$_extend24;
455
+ return ((_item$_extend24 = item._extend) === null || _item$_extend24 === void 0 ? void 0 : _item$_extend24.holder_id) && !isNormalProductByDurationSchedule(item);
392
456
  });
393
457
 
394
458
  // 对预约商品列表根据holder_id进行分组
395
459
  var groupMap = new Map();
396
460
  list.forEach(function (item) {
397
- var _item$_extend20;
398
- var key = (_item$_extend20 = item._extend) === null || _item$_extend20 === void 0 ? void 0 : _item$_extend20.holder_id; // 分组键
461
+ var _item$_extend25;
462
+ var key = (_item$_extend25 = item._extend) === null || _item$_extend25 === void 0 ? void 0 : _item$_extend25.holder_id; // 分组键
399
463
  if (!groupMap.has(key)) {
400
464
  groupMap.set(key, []);
401
465
  }
@@ -456,7 +520,7 @@ var formatBookings = function formatBookings(data, values) {
456
520
  var bookings = [];
457
521
  var obj = {};
458
522
  list.forEach(function (item) {
459
- var _item$_extend25;
523
+ var _item$_extend30;
460
524
  var start_date = item._extend.startDate.format('YYYY-MM-DD');
461
525
  var end_date = item._extend.endDate.format('YYYY-MM-DD');
462
526
  var end_time = item._extend.endDate.format('HH:mm');
@@ -470,9 +534,9 @@ var formatBookings = function formatBookings(data, values) {
470
534
 
471
535
  // 跨日预约下的普通商品
472
536
  if (isDay) {
473
- var _item$_extend21, _item$_extend22, _item$_extend23, _item$_extend24;
474
- var startDate = ((_item$_extend21 = item._extend) === null || _item$_extend21 === void 0 ? void 0 : _item$_extend21.startDate) || ((_item$_extend22 = item._extend) === null || _item$_extend22 === void 0 ? void 0 : _item$_extend22.start_date);
475
- var endDate = ((_item$_extend23 = item._extend) === null || _item$_extend23 === void 0 ? void 0 : _item$_extend23.endDate) || ((_item$_extend24 = item._extend) === null || _item$_extend24 === void 0 ? void 0 : _item$_extend24.end_date);
537
+ var _item$_extend26, _item$_extend27, _item$_extend28, _item$_extend29;
538
+ var startDate = ((_item$_extend26 = item._extend) === null || _item$_extend26 === void 0 ? void 0 : _item$_extend26.startDate) || ((_item$_extend27 = item._extend) === null || _item$_extend27 === void 0 ? void 0 : _item$_extend27.start_date);
539
+ var endDate = ((_item$_extend28 = item._extend) === null || _item$_extend28 === void 0 ? void 0 : _item$_extend28.endDate) || ((_item$_extend29 = item._extend) === null || _item$_extend29 === void 0 ? void 0 : _item$_extend29.end_date);
476
540
  var _formatDayTime = formatDayTime({
477
541
  startDate: startDate,
478
542
  endDate: endDate
@@ -498,7 +562,7 @@ var formatBookings = function formatBookings(data, values) {
498
562
  // 跨日预约处理: 跨日预约所有数据都在list中, 每一组预约通过groupId进行分组
499
563
  // 通过obj 记录下每个GroupId第一次出现的时机, 第一次出现需要设置 metadata.multiDayPrices
500
564
  // 后续出现不需要设置 metadata.multiDayPrices. 节省体积
501
- var isSetGroupId = obj[item === null || item === void 0 || (_item$_extend25 = item._extend) === null || _item$_extend25 === void 0 ? void 0 : _item$_extend25.groupId];
565
+ var isSetGroupId = obj[item === null || item === void 0 || (_item$_extend30 = item._extend) === null || _item$_extend30 === void 0 ? void 0 : _item$_extend30.groupId];
502
566
  var booking = _objectSpread(_objectSpread({
503
567
  product: formatProducts(item),
504
568
  relation_products: formatRelationDetails(item._extend.relation_details),
@@ -556,10 +620,10 @@ var formatRelationProducts = function formatRelationProducts(data, type) {
556
620
  var list = ((_data$service = data.service) === null || _data$service === void 0 ? void 0 : _data$service.value) || [];
557
621
  // open items 下的商品
558
622
  list = list.filter(function (item) {
559
- var _item$_extend26;
623
+ var _item$_extend31;
560
624
  return (
561
625
  // 跨日预约把普通商品加在relationProducts 活动预约按之前逻辑
562
- type === 'day' ? isNormalProductByDurationSchedule(item) : ((_item$_extend26 = item._extend) === null || _item$_extend26 === void 0 ? void 0 : _item$_extend26.holder_id) && appointmentTypes.includes(item.extension_type)
626
+ type === 'day' ? isNormalProductByDurationSchedule(item) : ((_item$_extend31 = item._extend) === null || _item$_extend31 === void 0 ? void 0 : _item$_extend31.holder_id) && appointmentTypes.includes(item.extension_type)
563
627
  );
564
628
  });
565
629
  var relationProducts = [];
@@ -693,7 +757,7 @@ export var formatValues = function formatValues(state) {
693
757
  export var checkHolderIsError = function checkHolderIsError(state) {
694
758
  var _state$client;
695
759
  var holderError = state.service.value.some(function (item) {
696
- var _item$_extend27;
760
+ var _item$_extend32;
697
761
  // 普通商品不需要检测holder
698
762
  if (isNormalProductByDurationSchedule(item)) {
699
763
  return false;
@@ -701,7 +765,7 @@ export var checkHolderIsError = function checkHolderIsError(state) {
701
765
  if (item._extend.quantity === 1 && !item._extend.holder_id) {
702
766
  return true;
703
767
  }
704
- if (item._extend.quantity > 1 && ((_item$_extend27 = item._extend) === null || _item$_extend27 === void 0 || (_item$_extend27 = _item$_extend27.holder_id) === null || _item$_extend27 === void 0 ? void 0 : _item$_extend27.length) !== item._extend.quantity) {
768
+ if (item._extend.quantity > 1 && ((_item$_extend32 = item._extend) === null || _item$_extend32 === void 0 || (_item$_extend32 = _item$_extend32.holder_id) === null || _item$_extend32 === void 0 ? void 0 : _item$_extend32.length) !== item._extend.quantity) {
705
769
  return true;
706
770
  }
707
771
  return false;
@@ -1,2 +1,3 @@
1
+ /// <reference types="react" />
1
2
  declare const FormItemChildrenWrap: (props: any) => JSX.Element;
2
3
  export default FormItemChildrenWrap;
@@ -84,20 +84,27 @@ var VoucherCard = function VoucherCard(props) {
84
84
  var _ref;
85
85
  var val = (_ref = state.service.value || []) === null || _ref === void 0 ? void 0 : _ref.map(function (value) {
86
86
  var _value$_extend, _value$_extend2;
87
- return {
87
+ return _defineProperty({
88
88
  booking_id: value.booking_id,
89
89
  id: value.id,
90
90
  price: value.price,
91
91
  total: value === null || value === void 0 || (_value$_extend = value._extend) === null || _value$_extend === void 0 ? void 0 : _value$_extend.total,
92
92
  discount_list: value.discount_list,
93
- origin_total: value === null || value === void 0 || (_value$_extend2 = value._extend) === null || _value$_extend2 === void 0 ? void 0 : _value$_extend2.origin_total
94
- };
93
+ origin_total: value === null || value === void 0 || (_value$_extend2 = value._extend) === null || _value$_extend2 === void 0 ? void 0 : _value$_extend2.origin_total,
94
+ quantity: value._extend.quantity,
95
+ startDate: value._extend.startDate
96
+ }, "quantity", value._extend.quantity);
95
97
  });
96
98
  return val;
97
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]);
98
105
  var addonsMemo = useMemo(function () {
99
- var _ref2;
100
- var val = (_ref2 = state.addons.value || []) === null || _ref2 === void 0 ? void 0 : _ref2.map(function (value) {
106
+ var _ref3;
107
+ var val = (_ref3 = state.addons.value || []) === null || _ref3 === void 0 ? void 0 : _ref3.map(function (value) {
101
108
  var _value$_extend3, _value$_extend4;
102
109
  return {
103
110
  booking_id: value.booking_id,
@@ -181,6 +188,12 @@ var VoucherCard = function VoucherCard(props) {
181
188
  var _getServiceAddons = getServiceAddons(list),
182
189
  serviceList = _getServiceAddons.serviceList,
183
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
+ }
184
197
  serviceValueRef.current = serviceList;
185
198
  addonsValueRef.current = addonsList;
186
199
  var other = {};
@@ -195,17 +208,19 @@ var VoucherCard = function VoucherCard(props) {
195
208
  value: serviceList
196
209
  }, other)
197
210
  });
198
- dispatch({
199
- type: 'setAddons',
200
- payload: _objectSpread({
201
- value: addonsList
202
- }, other)
211
+ setTimeout(function () {
212
+ dispatch({
213
+ type: 'setAddons',
214
+ payload: _objectSpread({
215
+ value: addonsList
216
+ }, other)
217
+ });
203
218
  });
204
219
  });
205
220
 
206
221
  // apply code
207
222
  var onScanCode = /*#__PURE__*/function () {
208
- var _ref3 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee() {
223
+ var _ref4 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee() {
209
224
  var _state$client$value2;
210
225
  var customerId, val;
211
226
  return _regeneratorRuntime().wrap(function _callee$(_context) {
@@ -233,7 +248,7 @@ var VoucherCard = function VoucherCard(props) {
233
248
  }, _callee);
234
249
  }));
235
250
  return function onScanCode() {
236
- return _ref3.apply(this, arguments);
251
+ return _ref4.apply(this, arguments);
237
252
  };
238
253
  }();
239
254
  var availableData = useMemo(function () {
@@ -1,2 +1,3 @@
1
+ /// <reference types="react" />
1
2
  declare const useIsLowSpeedNetwork: () => import("react").MutableRefObject<boolean>;
2
3
  export default useIsLowSpeedNetwork;
@@ -1,3 +1,4 @@
1
+ /// <reference types="react" />
1
2
  import "./index.less";
2
3
  declare const Like: ({ status, onChange, className, style, }: {
3
4
  style?: any;
@@ -244,4 +244,4 @@ export declare const updateAppointmentServicePrice: (state: any, { start_date, e
244
244
  * @Author: WangHan
245
245
  * @Date: 2024-12-24 11:32
246
246
  */
247
- export declare const updateServicePrice: (state: any) => Promise<any> | never[];
247
+ export declare const updateServicePrice: (state: any) => never[] | Promise<any>;
@@ -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 { getIsShowNumber } from "../../../../ticketBooking/utils";
@@ -283,18 +283,18 @@ var Info = function Info(props) {
283
283
  _extend: {
284
284
  start_date: state.date.value,
285
285
  quantity: (e === null || e === void 0 ? void 0 : e.quantity) || 1,
286
- price: _detail.price,
287
286
  product_name: item.title,
288
287
  other: other
289
288
  },
290
289
  new: 1
291
290
  });
292
- console.log(cacheItem, 'cacheItem', e);
291
+ cacheItem._extend.price = getMainPrice(_detail, _detail.price);
293
292
  var _total = getProductTotalPrice(cacheItem);
294
293
  // 用于折扣 可修改
295
294
  cacheItem._extend.total = _total;
296
295
  // 用于储存原价
297
296
  cacheItem._extend.origin_total = _total;
297
+ debugger;
298
298
  var _isEdit = !!state.service.cacheItem;
299
299
  if (_isEdit) {
300
300
  var _state$service$cacheI;